{"report_id":"c8183606-0838-47f5-82d6-171df0b91ba5","version":0,"status":"done","tags":[],"date":"2026-07-27T06:33:46Z","url":{"schema":"https","addr":"frxoptmarkt.com/","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":0,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"final":{"url":{"schema":"https","addr":"frxoptmarkt.com/","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"title":"Home Page - Bitcoin Investment, Bitcoin Trading, EFTs \u0026 Digital Options Trading - Forex Option Market","dom":{"size":41914,"mime_type":"text/html; charset=utf-8","magic":"HTML document, ASCII text, with very long lines (26399)","md5":"f9c80be5efe2f2e7908cbc6464a4baa1","sha1":"7c0e9f1f6a741316015e209aaccd4280bb8140e6","sha256":"3432aeb269181b7717693d00dee9e8cb7c65d8ca5f55cd8f256814ef3c1dfcc8","sha512":"21d456fda273365aef1226c05d8ece08a4ef27ce93be2cef19159c86b92fcf060e436cc20acfb22e4e9b1c3830c864d76efec26873cd4ef89d1a3e7202ec1a98","ssdeep":"768:0yJi2qbCmmWq38FTbfsTO+hDGq3t8UtN2v3k/SR+D/5km58:FJzqbCmmWq38FTbfsTO+hDZ3t8UtAk/C","tlshash":"a513a7276784452c9c53d278f399b54ea32af688ef6259eef7c23410c2d93ff088a455","dom_hash":"domhash5a2e7b986a359100c1311ce7180015d1","first_seen":"2026-07-07T22:08:47.685476Z","last_seen":"2026-08-04T06:10:26.760742Z","times_seen":842,"resource_available":false,"data":null}},"submit":{"url":{"schema":"https","addr":"frxoptmarkt.com/","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":0,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"tags":null,"meta":null},"settings":{"access":"public","device_type":"desktop","expires_at":"2027-08-31T06:33:46Z","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.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":261074,"sent_data":3413,"comment":"","tags":null,"fingerprints":null},{"fqdn":"api.coingecko.com","ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2014-03-26","domain_rank":442226,"first_seen":"2018-05-18T12:16:11Z","last_seen":"2026-07-21T20:24:11.162909Z","alert_count":0,"request_count":3,"received_data":67389,"sent_data":1658,"comment":"","tags":null,"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"]}]},{"fqdn":"coin-images.coingecko.com","ip":{"addr":"172.67.142.173","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2014-03-26","domain_rank":550283,"first_seen":"2024-05-30T15:11:00Z","last_seen":"2026-07-21T00:15:02.88318Z","alert_count":0,"request_count":5,"received_data":65922,"sent_data":2934,"comment":"","tags":null,"fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"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"]}]},{"fqdn":"www.smartsuppchat.com","ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2014-02-02","domain_rank":491650,"first_seen":"2017-01-30T05:24:57Z","last_seen":"2026-07-24T07:15:25.153212Z","alert_count":0,"request_count":1,"received_data":18547,"sent_data":462,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"translations.smartsuppcdn.com","ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":560346,"first_seen":"2022-11-04T22:28:35Z","last_seen":"2026-07-24T15:28:31.911258Z","alert_count":0,"request_count":1,"received_data":7731,"sent_data":515,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"widgets.cryptocompare.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2013-11-03","domain_rank":1460618,"first_seen":"2017-01-31T09:13:32Z","last_seen":"2026-07-23T13:35:03.953134Z","alert_count":0,"request_count":1,"received_data":0,"sent_data":536,"comment":"","tags":null,"fingerprints":null},{"fqdn":"bootstrap.smartsuppchat.com","ip":{"addr":"18.195.8.146","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2014-02-02","domain_rank":425291,"first_seen":"2018-01-29T06:10:36Z","last_seen":"2026-07-24T07:15:25.204838Z","alert_count":0,"request_count":1,"received_data":1576,"sent_data":533,"comment":"","tags":null,"fingerprints":null},{"fqdn":"widgets.coingecko.com","ip":{"addr":"104.18.5.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"domain_registered":"2014-03-26","domain_rank":3132971,"first_seen":"2018-07-05T11:10:42Z","last_seen":"2026-07-23T05:31:16.754918Z","alert_count":0,"request_count":1,"received_data":705287,"sent_data":484,"comment":"","tags":null,"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":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}]},{"fqdn":"frxoptmarkt.com","ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"domain_registered":"2025-04-29","domain_rank":0,"first_seen":"2026-07-27T05:16:51.165241Z","last_seen":"2026-07-27T05:16:51.165241Z","alert_count":0,"request_count":60,"received_data":4301721,"sent_data":29678,"comment":"","tags":null,"fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]},{"name":"YouTube","description":"YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.","website":"https://www.youtube.com","common_platform_enumeration":"","icon":"YouTube.png","categories":["Video players"]},{"name":"Bootstrap","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":"jQuery:2.2.4","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"jQuery UI","description":"jQuery UI is a collection of GUI widgets, animated visual effects, and themes implemented with jQuery, Cascading Style Sheets, and HTML.","website":"https://jqueryui.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery_ui:*:*:*:*:*:*:*:*","icon":"jQuery UI.svg","categories":["JavaScript libraries"]},{"name":"parallax.js","description":"Simple parallax scrolling effect.","website":"https://github.com/pixelcog/parallax.js","common_platform_enumeration":"","icon":"","categories":["JavaScript libraries"]}]},{"fqdn":"widget-v3.smartsuppcdn.com","ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"domain_registered":"2018-11-20","domain_rank":532262,"first_seen":"2022-10-03T13:48:45Z","last_seen":"2026-07-24T15:28:31.507831Z","alert_count":0,"request_count":4,"received_data":329031,"sent_data":1870,"comment":"","tags":null,"fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}]},{"fqdn":"cable.coingecko.com","ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"domain_registered":"2014-03-26","domain_rank":0,"first_seen":"2018-04-04T08:05:29Z","last_seen":"2026-07-22T11:32:05.977849Z","alert_count":0,"request_count":6,"received_data":0,"sent_data":3954,"comment":"","tags":null,"fingerprints":null},{"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":2,"received_data":24035,"sent_data":1053,"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":"websocket-visitors.smartsupp.com","ip":{"addr":"3.126.223.20","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"domain_registered":"2012-08-25","domain_rank":411464,"first_seen":"2021-07-12T07:42:32Z","last_seen":"2026-07-24T09:04:26.067381Z","alert_count":0,"request_count":1,"received_data":224,"sent_data":630,"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":"frxoptmarkt.com/js/revolution-slider/js/extensions/revolution.extension.layeranimation.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"c8447797a143c1450fc568df80d84644","sha1":"5a53d554a8bb9ed2806ca5c334908b23c9ad4bb0","sha256":"6867ff7eec8e29d555e5bfcadc9e19f04d1e3a34de99255647f9ca573536b7ef","sha512":"ce076a2702f1c93dff9a90dfc01bca938763e0b3fd331988a865553f5a90f865d8441a05e54110eaac359b8278ed11abad48a3b43a96c3717f911fd746825764","ssdeep":"384:/xzdbsv52ydfPEnYpF5BzJCP0bRjB6Y3tsq4dtS1YD2JQu/BDY8+wEGNc8zOluDk:jwpFDO+tsq4dtLsQEBDYHPGNm6GV+UfH","tlshash":"3543eac6ea102ce551ab8145d1bf44593220ffb8b10285f1fd56a49a1a4cf8621ebf7f","size":56000,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-08-04T06:10:37.638339Z","times_seen":1580,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/extensions/revolution.extension.navigation.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"020c9da0283aebff8fb8ea67e3331868","sha1":"d192e2e9538833c8f18f279e04cb1801450dd215","sha256":"6eec26458665f2ff755d8d9d752baf709166660fb8e5389c9fbe939df23ea2f1","sha512":"5448480d1be53db60d47d5fc75bfd56129e9083cacd3a3e0b912ed20f00c7bb2469be0066f8d9a2baff266729f12bf558260ff1431d31e79eca7fb71fa787b8e","ssdeep":"384:chOObjBeYJfz3zX3SWcN12H2DFQ9j6IDumFu7jaWIyUBj3RX2E:cIObR3zXpcN12H2DqZ9iA9QE","tlshash":"52c2a8a976903cab5473667bc16a40b532728a357307ae6078efa6f0057ccd913e7e4c","size":26101,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-08-04T06:10:37.627678Z","times_seen":1650,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"fdc569a03d1f3dee04b6194606e419c7","sha1":"605c94c2fd897ec625dea7b7f86fd256b4c2b27e","sha256":"36a17a00a521b5abf62fd5441d3c9e8164182e5a8adabfdf7d55aa50fcd02c6d","sha512":"3565af3c3644902e48534224f5426b37b2430e9b8dc48db6975c13574cf1e8419a2b972d515c476c4f558830a614cb5cbbbca53e664699ae7ebd54c5fa6c2d4c","ssdeep":"","tlshash":"b571c91a44b564a6496749268b1e0600d4b2801f6d1bbc20bf8c83a19f0e61fb2bb3dd","size":3642,"data":"","first_seen":"2026-07-27T04:38:43.587018Z","last_seen":"2026-07-27T06:37:47.060082Z","times_seen":5,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"b7806a1025e2e77a0922341c4808d657","sha1":"843787149ffee8c270c57d0428c7fa8c6a33a637","sha256":"4a8c4f98178af97e0cd583aa7d6c9b2c1ab00e80b3d947d24063e1d630d68c33","sha512":"a38c326090b0318ffa78d0471e5b19bd64e8c0fb42b221e91eb561c9155784f79e5f0f3925584948552893669a13ce336dd1014c741d63bd245338f0db679bde","ssdeep":"","tlshash":"dc01ac5e4c57a6b0a6a7000e8b7ba22431ca11ab6519c410fc8de84d0f71e8e5aadad8","size":690,"data":"","first_seen":"2026-07-06T15:48:40.568943Z","last_seen":"2026-07-27T06:37:47.060848Z","times_seen":6,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":true,"md5":"306d6e8ccf4d74a5977879a92ab8ef36","sha1":"311b527fcbdeb71384acb66b87c90c9a468db48e","sha256":"4eca32337a7ae2183a4e311009dbb30ff6a43ba1608e22d98ffa69198451ba32","sha512":"8db0c7d4a90f9da469edb223e02b178e407e97cb1275c71ae71d0fe076790999acd32d8c9c8d2934881fb5ac4e493a8fe00086eed12a21ee1cb5e3a4df92c8a8","ssdeep":"","tlshash":"49e0a2bc3c3082a0179300f885abe2383d1a70244050da6398aa883d2cf0feaae01988","size":416,"data":"","first_seen":"2026-07-27T05:16:56.370364Z","last_seen":"2026-07-27T06:33:54.058869Z","times_seen":2,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/jquery-ui.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"07f2c3c1cb8427c280769e2423325716","sha1":"e43ded0bda42a876cb09d09c16565a986fa16531","sha256":"b808bb431c90a624fe5516ffe635cb04efbc5b23e293ab0876f903eccc94ef24","sha512":"f43d837bdd067e383c72376c98890ca380d26d837ac63ad4da720206f45ce276b18a99d62049036b3b49f85118f854930ec37c254fc5c429f07f34b7568b42a9","ssdeep":"3072:gAVqGqpGuSD4fUSSDTWQJ+SuwsYI7SSDzOyAGkRsG:VVsnlUyQJXunYIpg","tlshash":"a534084db2413a3251ebe2a5103b2a0fa237555da605805cb43ccede9e7de0531bbf7a","size":240422,"data":"","first_seen":"2023-03-07T12:27:42Z","last_seen":"2026-08-03T03:48:47.524086Z","times_seen":594,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/coingecko-coin-price-marquee-widget.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"14a429f21cd3bb481b628673a2f76950","sha1":"890c8b20df87ce03ca2a9610c873f78f01504b54","sha256":"d687f27487a608932e79449022158c42806aa6aa209a9e5b9ad0864e6a6ac127","sha512":"2645d14fdf2ba44832d5fb35985152686e6a0f21c5c8b5d44ef1b865d9def44058a30eced3076edecfc60ea4dffc671542f4a1028a4dde2526996304185aa0a8","ssdeep":"1536:7cm6RDR/gSJBdOxmUjYdmkoFINa1dGPqym58cAFVJOsjQ245gpNd0pkSsP37xTM4:AmNRxxYjamCFWcAFOsYJk1LxRKHW/","tlshash":"321408cd76c1b06617f362b1102f640fb3ba1da8a84d8690f622e4e5ac7a55d5233f3d","size":199471,"data":"","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:33:53.984178Z","times_seen":10,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","size":18024,"data":"","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-04T11:43:18.628598Z","times_seen":7982,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","size":272133,"data":"","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/jquery-2.2.4.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"2f6b11a7e914718e0290410e85366fe9","sha1":"69bb69e25ca7d5ef0935317584e6153f3fd9a88c","sha256":"05b85d96f41fff14d8f608dad03ab71e2c1017c2da0914d7c59291bad7a54f8e","sha512":"0d40bccaa59fedecf7243d63b33c42592541d0330fefc78ec81a4c6b9689922d5b211011ca4be23ae22621cce4c658f52a1552c92d7ac3615241eb640f8514db","ssdeep":"1536:EYE1JVoiB9JqZdXXe2pD3PgoIiulrUndZ6a4tfOR7WpfWBZ2BJda4w9W3qG9a986:v4J+OlfOhWppCW6G9a98Hr2","tlshash":"1e83c6d9b2d6706297b734b850bf410bb17a98dab44c8c60f059d4e47eb4a8e507bf2c","size":85578,"data":"","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-08-04T12:24:07.151418Z","times_seen":293653,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/bootstrap.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"c5b5b2fa19bd66ff23211d9f844e0131","sha1":"791aa054a026bddc0de92bad6cf7a1c6e73713d5","sha256":"2979f9a6e32fc42c3e7406339ee9fe76b31d1b52059776a02b4a7fa6a4fd280a","sha512":"d9ef2aab411371f5912381c9073422037528c8593ab5b3721bea926880592f25bd5dfdec5991cdfe5c5ef5f4e1d54e390e93dfd3bca3f782ac5071d67b8624d4","ssdeep":"768:4UfYD27UwlNHMl9lqNuCPNjhqg8epm5CCJFXflA8Gf3ZTbQ:z/76whqKGvlm3ZXQ","tlshash":"47f29606b23031a147efb1e1525b020a7239696ee906907c78b9daf53db9c48717bf3d","size":36868,"data":"","first_seen":"2023-03-07T01:02:25Z","last_seen":"2026-08-04T10:58:54.250106Z","times_seen":21759,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/jquery-plugin-collection.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"43df0f1184c27f99fa4744b597449692","sha1":"90eb619a134d93609a1164d8ade3c2955b9aba7c","sha256":"f8af7ab9c5d9bf52b3663041d6d421b733576237baa3b8f46bc8abc659d6ba6a","sha512":"1e2309e6a9dc6c76d0fa9b917c0c4fe2a322ed1e47eec44ee27eb07453451a79c4f31ff2ba068008f4a7d6d08c2ed2c16ba536d8f71499f315a2dd6b8eefef37","ssdeep":"12288:NXRLjASMQzEy87Tpyxo3cVpU2d5k2MBxNie+iQI:/jASMQYy87TpM9JMLN3+iv","tlshash":"93054a487651752646a7a0f1a02f020bf237996ae80ac46cb5b9d8d97d7cd4c213ffbc","size":795362,"data":"","first_seen":"2023-03-08T16:17:52Z","last_seen":"2026-07-27T14:34:25.232493Z","times_seen":96,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/extensions/revolution.extension.parallax.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"aaf7e95e34f292b1a098887db6cf9ee3","sha1":"e00d5e9a3dca546921b83d15a0cb7a9261467027","sha256":"149d1060d155832cca22142423c095866d6b03277f372ebc1967ecdf579a435b","sha512":"824a519d23ccf5819ec06039fb8ab8b9a43679052bfd7d644b7c5c596b7a9ed5f51e1fbc82b2558db2c3314a2a4982c8f54154ea1bd0338bed5675a7dda76d16","ssdeep":"192:BcLK1q1e1XfU9dciEK5FKw0Vm7Wgput9mHJnGN82PbZ7:n1q1e1Xf4+KL6m7WgpAmHUNVPbZ7","tlshash":"7432d95a6e2028f640f3132cf9ad45d273228572e5068d41f9e6f9b9566ce9c037abcc","size":10931,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-08-04T06:10:37.700963Z","times_seen":1208,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/custom.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"4a076c8f3090486deb34733da93e279f","sha1":"b8284c092cf04c1bd7d0860a6ebfd84819acba00","sha256":"bd9f7aa992d540b8ce2e8a417e597010d71907c7b4441c52f98a9ae5b0928d6d","sha512":"08a9baa3ad202e080e7a385b7ada29597f8dc2c38792d51a0d864d84aedc2a5bc8cc82df97123b2e16cc0908ac09771f2500ea0a63d16a10b76ee0b87fa12775","ssdeep":"1536:Qp5SOsn+V5G0id0+/Vyus4us8RHueu/8m:Q+OU+V5G0iR","tlshash":"c6b37305bc91205294bbf33eaf3f6109fb75512b92019b657cbd46540f7260492aefec","size":108508,"data":"","first_seen":"2023-07-17T13:29:23Z","last_seen":"2026-07-27T14:34:25.22638Z","times_seen":37,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"introduction_type":"scriptElement","is_inline":false,"md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","size":16281,"data":"","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/jquery.themepunch.revolution.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"edd0a8f07cc892d86518ad62642dcab0","sha1":"e8ddc925c3ebaa77f120932e1acf3b680e84df51","sha256":"5bf19de4a1e69b7b3cce947da22702f074c0963192bf9eb3ea9210ac07c52f67","sha512":"e980a77cc13ada7ac28eaaa1db1a4c738aaf959cb7bfcaa68390e7e7500fd1218ef7bb4368102b69a8cb7bf4968d01207cd58ba6e5770599388d022fb656c1aa","ssdeep":"1536:gCnzw4tqc78qdVSrk8cheMxtWd9YidEQ8Mv3xVgnufnQuh2VLc7iKiFn2+9arAI+:gCnzXF7TdVSrk8VMmNsLciKB+9qOd","tlshash":"51530b64be10347694bb2265e03f8615b2b15c37eb02c4a0e5d7587c6be8d89236ff8c","size":64896,"data":"","first_seen":"2023-03-07T12:05:18Z","last_seen":"2026-08-02T23:47:20.168091Z","times_seen":2115,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widgets.coingecko.com/gecko-coin-price-chart-widget.js","fqdn":"widgets.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"104.18.5.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"introduction_type":"scriptElement","is_inline":false,"md5":"5b39b08ffac90fe7904ea4d53bf5f620","sha1":"243f022c973de8aff998bf958074b495db6750ac","sha256":"25eaa361b84444c605a6f9998113c8fd9363fc83d88e86201e7fd46bdc4437bf","sha512":"d7d018d8e41eb48b1e9b8d45b4f2cd56767306b1971184503e3e61894033f8b547865cc3478c9166eef01a1304c1c0f228e3d2fc3f6ca03c8ef3d815217b397d","ssdeep":"6144:k4iNTigEwPzmhIY6w9sGQV9lG8YOupgjLFTSANkuidkbyrdAjosETmsmY3m6z:B0emqhIPw9sYFOGgjxTZErdVhmQ","tlshash":"dee4298df250712546a373e0a01f160ba237687ca54981acf6a9e8f61c7d48d763bf7c","size":704402,"data":"","first_seen":"2026-07-27T05:09:21.349488Z","last_seen":"2026-07-27T13:28:19.773144Z","times_seen":11,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/jquery.themepunch.tools.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"a748a9e56b2c639013c770506f1fd529","sha1":"537edd9b364ac005df2d1c57be873945b2fecdf6","sha256":"6eabb193731278713f4208ea84b8c7334c3dfc98f01cb074778280e1df536e62","sha512":"ade8062894443994d5dc96497426dde1e238adfb9600aab7b3713ce804934aca5e12ae3267d961268ac8a146bd06754aa110006964af95e9394dfb1ea5b825b8","ssdeep":"1536:iQpnayKBPfF5aknBDU0KsIu5XOKvITONqvUejr3P99cN7H98rYx5s14/gCsBMXw7:iJfFYoDU0xVqvUejbs7dCYdInBwD0a+","tlshash":"96b329ca35517022859622a5517f0643723bdcbab4098d3cf548d9ed3e2cc8921bffba","size":110563,"data":"","first_seen":"2023-03-07T01:03:49Z","last_seen":"2026-08-04T02:13:08.63189Z","times_seen":5203,"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/extensions/revolution.extension.slideanims.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"introduction_type":"scriptElement","is_inline":false,"md5":"8cc105dfeffdc03367dcbe7ea3ef264a","sha1":"9aa2e656e163d9a3ea622b4897974884583e4cac","sha256":"80a9123891e91ebbb1c06a2d2c79533155a8f17c51ac09013efa57bc007f303a","sha512":"bd11bf18cac33ab7a76618c84aedbaf123d050b4f9bbeedf5ba560e81b514a7e169f95d89afeebe3a28227ed453ae0f8afd43d774be2d3e59b88c31b27cfe08a","ssdeep":"384:Ky1KpMxWR1zy40Islk/4EfoXdOM8w706DvCQ41b0zouFwhq1Tdo+2sb3AB8kNv1A:KsIslkQEfoXdOM8w7HvfzoiHRBm4","tlshash":"a8d2ebebaa265c6290532142c3a54d192168ce36fd32aeda33d6d0f506c305d37fafd6","size":29401,"data":"","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-08-04T06:10:37.764808Z","times_seen":1679,"alerts":{"ids":null,"analyzer":null,"urlquery":null}}],"eval":null,"write":null,"console":null},"http":[{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/fonts/revicons/revicons90c690c690c6.woff?5510888","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.806Z","timestamp":1785133990806,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/revolution-slider/fonts/revicons/revicons90c690c690c6.woff?5510888 HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/js/revolution-slider/css/settings.css\r\nSec-Fetch-Dest: font\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/3 200 \r\ncontent-type: font/woff\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 7536\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":7536,"size_decoded":7722,"mime_type":"font/woff","magic":"Web Open Font Format, TrueType, length 7536, version 1.0","md5":"04eb8fc57f27498e5ae37523e3bfb2c7","sha1":"d942ae11706c3f7e511e3c49b0e4574d7ad199c4","sha256":"f7b9c3065e55fa3b9e320093612e7b30dcb14355a44ec461247b495a3e729686","sha512":"fa6508c8a1a822794036174b0b9dbc6e91b5afc1fd340381b868ede6d928dd0f3e66b5a91308d2c0c4c4c64b27dab7761a904c0b6e6b3c0e3e736e5d6342f365","ssdeep":"192:340F/mM4Oa0wA2jPOf2X62xqpjjjaT64iSNizw:34sxBwCujqpj/aT6nSYzw","tlshash":"20f18e14fec0f56dfd8f52702780e6f6b2646de260560dc52d48e65c14e291ae27d47c","first_seen":"2023-04-05T13:50:09Z","last_seen":"2026-08-04T10:39:11.09713Z","times_seen":32165,"resource_available":false,"data":"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"}},"time_used":130,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":130,"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://frxoptmarkt.com/","date":"2026-07-27T06:33:10.965Z","timestamp":1785133990965,"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://frxoptmarkt.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: 408176\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-08-04T12:29:19.851905Z","times_seen":252464,"resource_available":false,"data":"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"}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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://frxoptmarkt.com/","date":"2026-07-27T06:33:11.244Z","timestamp":1785133991244,"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/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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://frxoptmarkt.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: 48320\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:19 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:19 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:30:41 GMT\r\ncontent-type: font/woff2\r\nage: 408172\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":48320,"size_decoded":49133,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48320, version 1.0","md5":"dcf31ebe107435bd68e0164d59e19b87","sha1":"b68160c9333af833fe483928b3ef7128c07a56a0","sha256":"d8e4fe0452aa2076429a9bb5d8757d00a994dd95986cf950e9a1a371b9a072a0","sha512":"130cd52c3cccc36a7029bf92b2ddb363b8b36d206454aacc246739919552fccec5cacbad615ba4ac3817da3e83239371fe51324bdadd08357e3495087f62cb08","ssdeep":"768:Jzqdwl5YV7FVmpudK5a8dF8D8Z7J78VGnNFZEKh02dmSTPe9UiallHcOEi2c0NC1:9q+SYuMaVwZ7oGRNh02dd6UialBcOEpE","tlshash":"1623f218f29471f7edecd4d500a18c72baa528d442f116ed07b8d53ca36ca817a729fb","first_seen":"2025-09-17T00:07:53.723302Z","last_seen":"2026-08-04T12:35:31.907874Z","times_seen":320992,"resource_available":false,"data":"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"}},"time_used":20,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":15,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/css-plugin-collections.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.583Z","timestamp":1785133989583,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/css-plugin-collections.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 38630\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":287339,"size_decoded":38861,"mime_type":"text/css","magic":"ASCII text, with very long lines (26549)","md5":"9fbc64833f9e3dda310ccbe5261c6916","sha1":"c85a38e2c22d066416978976d4a47b716399ee82","sha256":"eee955d6e661c143de967ffdd89d2e4511078e4bb018af72df3dd67135634df0","sha512":"968bd1412f0d9a0f83e6874de9078a1941d0773a47a30f9de2218b41985ed1a5dd73000394c3aaffcbd00d7c8e36c7ae40f50d846a9eb28ad6f9df8cda0d1396","ssdeep":"3072:dYNUBDX/E3sfrfjiClSjqbfaK8An5k/lMJIq:aNUBDX/7frfjiClSjqbfag","tlshash":"7e54b7654f4033499227c60297c8afa4df3dc167a6220ced7349650ecb47bae229fb57","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:33:53.969861Z","times_seen":7,"resource_available":false,"data":"LyoKQEF1dGhvcjogVGhlbWVNYXNjb3QKQFVSTDogaHR0cDovL1RoZW1lTWFzY290LmNvbQoKTmVjZXNzYXJ5IENTUyBDb2xsZWN0aW9uCiovCgovKioKICogVGFibGUgb2YgQ29udGVudHM6CiAqCQogKiAgT3dsIGNhcm91c2VsCiAqICBGbGV4U2xpZGVyCiAqICBpc290b3BlCiAqICBNYWduaWZpYyBQb3B1cAogKiAgbGlnaHRib3gKICogIE5pdm8gTGlnaHRib3gKICogIHl0cGxheWVyCiAqICBIb3Zlci5jc3MKICogIE1lbnV6b3JkLVJlc3BvbnNpdmUtTWVnYW1lbnUKICogIG1vZGVybml6cgogKiAgTWF4aW1hZ2Ugc2xpZGVyCiAqICBCeFNsaWRlcgogKiAgRnVsbENhbGVuZGFyCiAqICBib290c3RyYXAgY29kZSBjb2xvcmluZwogKiAgY29kZSBoaWdobGlnaHQKICogIHByZXR0eVBob3RvCiAqICBDbG9jazEgLSBUaGUgRmluYWwgQ291bnRkb3duCiAqICBDbG9jazIgLSBmbGlwY2xvY2sKICoJRGF0ZXBpY2tlciBmb3IgQm9vdHN0cmFwCiAqICBqcXVlcnktdGltZXBpY2tlcgogKiAgYm9vdHN0cmFwLWRhdGV0aW1lanMKICoJanF1ZXJ5IFR3ZW50eVR3ZW50eSBCZWZvcmUgQWZ0ZXIgU2xpZGVyCiAqICBzbGljayBzbGlkZXIKICogIAogKiAgCiAqICAKICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKi8KCi8qKgogKiBPd2wgQ2Fyb3VzZWwgdjIuMy4wCiAqIENvcHlyaWdodCAyMDEzLTIwMTcgRGF2aWQgRGV1dHNjaAogKiBMaWNlbnNlZCB1bmRlciAgKCkKICovCi5vd2wtY2Fyb3VzZWwsLm93bC1jYXJvdXNlbCAub3dsLWl0ZW17LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O3Bvc2l0aW9uOnJlbGF0aXZlfS5vd2wtY2Fyb3VzZWx7ZGlzcGxheTpub25lO3dpZHRoOjEwMCU7ei1pbmRleDoxfS5vd2wtY2Fyb3VzZWwgLm93bC1zdGFnZXtwb3NpdGlvbjpyZWxhdGl2ZTstbXMtdG91Y2gtYWN0aW9uOnBhbi1ZO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247LW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ub3dsLWNhcm91c2VsIC5vd2wtc3RhZ2U6YWZ0ZXJ7Y29udGVudDoiLiI7ZGlzcGxheTpibG9jaztjbGVhcjpib3RoO3Zpc2liaWxpdHk6aGlkZGVuO2xpbmUtaGVpZ2h0OjA7aGVpZ2h0OjB9Lm93bC1jYXJvdXNlbCAub3dsLXN0YWdlLW91dGVye3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCl9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0sLm93bC1jYXJvdXNlbCAub3dsLXdyYXBwZXJ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlM2QoMCwwLDApfS5vd2wtY2Fyb3VzZWwgLm93bC1pdGVte21pbi1oZWlnaHQ6MXB4O2Zsb2F0OmxlZnQ7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRvdWNoLWNhbGxvdXQ6bm9uZX0ub3dsLWNhcm91c2VsIC5vd2wtaXRlbSBpbWd7ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfS5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzLmRpc2FibGVkLC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYuZGlzYWJsZWR7ZGlzcGxheTpub25lfS5uby1qcyAub3dsLWNhcm91c2VsLC5vd2wtY2Fyb3VzZWwub3dsLWxvYWRlZHtkaXNwbGF5OmJsb2NrfS5vd2wtY2Fyb3VzZWwgLm93bC1kb3QsLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLW5leHQsLm93bC1jYXJvdXNlbCAub3dsLW5hdiAub3dsLXByZXZ7Y3Vyc29yOnBvaW50ZXI7Y3Vyc29yOmhhbmQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1raHRtbC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LC5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uLm93bC1wcmV2LC5vd2wtY2Fyb3VzZWwgYnV0dG9uLm93bC1kb3R7YmFja2dyb3VuZDowIDA7Y29sb3I6aW5oZXJpdDtib3JkZXI6bm9uZTtwYWRkaW5nOjAhaW1wb3J0YW50O2ZvbnQ6aW5oZXJpdH0ub3dsLWNhcm91c2VsLm93bC1sb2FkaW5ne29wYWNpdHk6MDtkaXNwbGF5OmJsb2NrfS5vd2wtY2Fyb3VzZWwub3dsLWhpZGRlbntvcGFjaXR5OjB9Lm93bC1jYXJvdXNlbC5vd2wtcmVmcmVzaCAub3dsLWl0ZW17dmlzaWJpbGl0eTpoaWRkZW59Lm93bC1jYXJvdXNlbC5vd2wtZHJhZyAub3dsLWl0ZW17LW1zLXRvdWNoLWFjdGlvbjpub25lO3RvdWNoLWFjdGlvbjpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ub3dsLWNhcm91c2VsLm93bC1ncmFie2N1cnNvcjptb3ZlO2N1cnNvcjpncmFifS5vd2wtY2Fyb3VzZWwub3dsLXJ0bHtkaXJlY3Rpb246cnRsfS5vd2wtY2Fyb3VzZWwub3dsLXJ0bCAub3dsLWl0ZW17ZmxvYXQ6cmlnaHR9Lm93bC1jYXJvdXNlbCAuYW5pbWF0ZWR7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTpib3RoO2FuaW1hdGlvbi1maWxsLW1vZGU6Ym90aH0ub3dsLWNhcm91c2VsIC5vd2wtYW5pbWF0ZWQtaW57ei1pbmRleDowfS5vd2wtY2Fyb3VzZWwgLm93bC1hbmltYXRlZC1vdXR7ei1pbmRleDoxfS5vd2wtY2Fyb3VzZWwgLmZhZGVPdXR7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpmYWRlT3V0O2FuaW1hdGlvbi1uYW1lOmZhZGVPdXR9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXR7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIGZhZGVPdXR7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowfX0ub3dsLWhlaWdodHt0cmFuc2l0aW9uOmhlaWdodCAuNXMgZWFzZS1pbi1vdXR9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLm93bC1sYXp5e29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2V9Lm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLm93bC1sYXp5ey13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO3RyYW5zZm9ybS1zdHlsZTpwcmVzZXJ2ZS0zZH0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8td3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MTAwJTtiYWNrZ3JvdW5kOiMwMDB9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLXBsYXktaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtoZWlnaHQ6ODBweDt3aWR0aDo4MHB4O2xlZnQ6NTAlO3RvcDo1MCU7bWFyZ2luLWxlZnQ6LTQwcHg7bWFyZ2luLXRvcDotNDBweDtiYWNrZ3JvdW5kOnVybChvd2wudmlkZW8ucGxheS5odG1sKSBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXI7ei1pbmRleDoxOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47dHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuMXMgZWFzZTt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuMXMgZWFzZX0ub3dsLWNhcm91c2VsIC5vd2wtdmlkZW8tcGxheS1pY29uOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMywxLjMpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4zLDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMywxLjMpfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tcGxheS1pY29uLC5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG57ZGlzcGxheTpub25lfS5vd2wtY2Fyb3VzZWwgLm93bC12aWRlby10bntvcGFjaXR5OjA7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtiYWNrZ3JvdW5kLXNpemU6Y29udGFpbjt0cmFuc2l0aW9uOm9wYWNpdHkgLjRzIGVhc2V9Lm93bC1jYXJvdXNlbCAub3dsLXZpZGVvLWZyYW1le3Bvc2l0aW9uOnJlbGF0aXZlO3otaW5kZXg6MTtoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlfQoKCi8qCiAqIAlGbGV4U2xpZGVyCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qKiBqUXVlcnkgRmxleFNsaWRlciB2Mi42LjAqIGh0dHA6Ly93d3cud29vdGhlbWVzLmNvbS9mbGV4c2xpZGVyLyoqIENvcHlyaWdodCAyMDEyIFdvb1RoZW1lcyogRnJlZSB0byB1c2UgdW5kZXIgdGhlIEdQTHYyIGFuZCBsYXRlciBsaWNlbnNlLiogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC0yLjAuaHRtbCoqIENvbnRyaWJ1dGluZyBhdXRob3I6IFR5bGVyIFNtaXRoIChAbWJtdWZmZmluKSoqLwovKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSogRk9OVC1GQUNFKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCkBmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiAnZmxleHNsaWRlci1pY29uJztzcmM6IHVybCgnZm9udHMvZmxleHNsaWRlci1pY29uLmh0bWwnKTtzcmM6IHVybCgnZm9udHMvZmxleHNsaWRlci1pY29uZDQxZGQ0MWRkNDFkLmh0bWw/I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLCB1cmwoJ2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi0yLmh0bWwnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCdmb250cy9mbGV4c2xpZGVyLWljb24tMy5odG1sJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJ2ZvbnRzL2ZsZXhzbGlkZXItaWNvbi00Lmh0bWwjZmxleHNsaWRlci1pY29uJykgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDogbm9ybWFsO2ZvbnQtc3R5bGU6IG5vcm1hbDt9LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qIFJFU0VUUyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLy5mbGV4LWNvbnRhaW5lciBhOmhvdmVyLC5mbGV4LXNsaWRlciBhOmhvdmVyIHtvdXRsaW5lOiBub25lO30uc2xpZGVzLC5zbGlkZXMgPiBsaSwuZmxleC1jb250cm9sLW5hdiwuZmxleC1kaXJlY3Rpb24tbmF2IHttYXJnaW46IDA7cGFkZGluZzogMDtsaXN0LXN0eWxlOiBub25lO30uZmxleC1wYXVzZXBsYXkgc3BhbiB7dGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7fS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KiBCQVNFIFNUWUxFUyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLy5mbGV4c2xpZGVyIHttYXJnaW46IDA7cGFkZGluZzogMDt9LmZsZXhzbGlkZXIgLnNsaWRlcyA+IGxpIHtkaXNwbGF5OiBub25lOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO30uZmxleHNsaWRlciAuc2xpZGVzIGltZyB7d2lkdGg6IDEwMCU7ZGlzcGxheTogYmxvY2s7fS5mbGV4c2xpZGVyIC5zbGlkZXM6YWZ0ZXIge2NvbnRlbnQ6ICJcMDAyMCI7ZGlzcGxheTogYmxvY2s7Y2xlYXI6IGJvdGg7dmlzaWJpbGl0eTogaGlkZGVuO2xpbmUtaGVpZ2h0OiAwO2hlaWdodDogMDt9aHRtbFt4bWxuc10gLmZsZXhzbGlkZXIgLnNsaWRlcyB7ZGlzcGxheTogYmxvY2s7fSogaHRtbCAuZmxleHNsaWRlciAuc2xpZGVzIHtoZWlnaHQ6IDElO30ubm8tanMgLmZsZXhzbGlkZXIgLnNsaWRlcyA+IGxpOmZpcnN0LWNoaWxkIHtkaXNwbGF5OiBibG9jazt9LyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qIERFRkFVTFQgVEhFTUUqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8uZmxleHNsaWRlciB7bWFyZ2luOiAwIDAgNjBweDtiYWNrZ3JvdW5kOiAjZmZmZmZmO2JvcmRlcjogNHB4IHNvbGlkICNmZmZmZmY7cG9zaXRpb246IHJlbGF0aXZlO3pvb206IDE7LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7LW1vei1ib3JkZXItcmFkaXVzOiA0cHg7Ym9yZGVyLXJhZGl1czogNHB4Oy13ZWJraXQtYm94LXNoYWRvdzogJycgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTstbW96LWJveC1zaGFkb3c6ICcnIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMik7LW8tYm94LXNoYWRvdzogJycgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtib3gtc2hhZG93OiAnJyAwIDFweCA0cHggcmdiYSgwLCAwLCAwLCAwLjIpO30uZmxleHNsaWRlciAuc2xpZGVzIHt6b29tOiAxO30uZmxleHNsaWRlciAuc2xpZGVzIGltZyB7aGVpZ2h0OiBhdXRvOy1tb3otdXNlci1zZWxlY3Q6IG5vbmU7fS5mbGV4LXZpZXdwb3J0IHttYXgtaGVpZ2h0OiAyMDAwcHg7LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTstbW96LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlOy1tcy10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTstby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTt0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTt9LmxvYWRpbmcgLmZsZXgtdmlld3BvcnQge21heC1oZWlnaHQ6IDMwMHB4O30uY2Fyb3VzZWwgbGkge21hcmdpbi1yaWdodDogNXB4O30uZmxleC1kaXJlY3Rpb24tbmF2IHsqaGVpZ2h0OiAwO30uZmxleC1kaXJlY3Rpb24tbmF2IGEge3RleHQtZGVjb3JhdGlvbjogbm9uZTtkaXNwbGF5OiBibG9jazt3aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7bWFyZ2luOiAtMjBweCAwIDA7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO3otaW5kZXg6IDEwO292ZXJmbG93OiBoaWRkZW47b3BhY2l0eTogMDtjdXJzb3I6IHBvaW50ZXI7Y29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTt0ZXh0LXNoYWRvdzogMXB4IDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTstd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O30uZmxleC1kaXJlY3Rpb24tbmF2IGE6YmVmb3JlIHtmb250LWZhbWlseTogImZsZXhzbGlkZXItaWNvbiI7Zm9udC1zaXplOiA0MHB4O2Rpc3BsYXk6IGlubGluZS1ibG9jaztjb250ZW50OiAnXGYwMDEnO2NvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7dGV4dC1zaGFkb3c6IDFweCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7fS5mbGV4LWRpcmVjdGlvbi1uYXYgYS5mbGV4LW5leHQ6YmVmb3JlIHtjb250ZW50OiAnXGYwMDInO30uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge2xlZnQ6IC01MHB4O30uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge3JpZ2h0OiAtNTBweDt0ZXh0LWFsaWduOiByaWdodDt9LmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2IHtvcGFjaXR5OiAwLjc7bGVmdDogMTBweDt9LmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1wcmV2OmhvdmVyIHtvcGFjaXR5OiAxO30uZmxleHNsaWRlcjpob3ZlciAuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LW5leHQge29wYWNpdHk6IDAuNztyaWdodDogMTBweDt9LmZsZXhzbGlkZXI6aG92ZXIgLmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0OmhvdmVyIHtvcGFjaXR5OiAxO30uZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LWRpc2FibGVkIHtvcGFjaXR5OiAwIWltcG9ydGFudDtmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7Y3Vyc29yOiBkZWZhdWx0O3otaW5kZXg6IC0xO30uZmxleC1wYXVzZXBsYXkgYSB7ZGlzcGxheTogYmxvY2s7d2lkdGg6IDIwcHg7aGVpZ2h0OiAyMHB4O3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3R0b206IDVweDtsZWZ0OiAxMHB4O29wYWNpdHk6IDAuODt6LWluZGV4OiAxMDtvdmVyZmxvdzogaGlkZGVuO2N1cnNvcjogcG9pbnRlcjtjb2xvcjogIzAwMDt9LmZsZXgtcGF1c2VwbGF5IGE6YmVmb3JlIHtmb250LWZhbWlseTogImZsZXhzbGlkZXItaWNvbiI7Zm9udC1zaXplOiAyMHB4O2Rpc3BsYXk6IGlubGluZS1ibG9jaztjb250ZW50OiAnXGYwMDQnO30uZmxleC1wYXVzZXBsYXkgYTpob3ZlciB7b3BhY2l0eTogMTt9LmZsZXgtcGF1c2VwbGF5IGEuZmxleC1wbGF5OmJlZm9yZSB7Y29udGVudDogJ1xmMDAzJzt9LmZsZXgtY29udHJvbC1uYXYge3dpZHRoOiAxMDAlO3Bvc2l0aW9uOiBhYnNvbHV0ZTtib3R0b206IC00MHB4O3RleHQtYWxpZ246IGNlbnRlcjt9LmZsZXgtY29udHJvbC1uYXYgbGkge21hcmdpbjogMCA2cHg7ZGlzcGxheTogaW5saW5lLWJsb2NrO3pvb206IDE7KmRpc3BsYXk6IGlubGluZTt9LmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYSB7d2lkdGg6IDExcHg7aGVpZ2h0OiAxMXB4O2Rpc3BsYXk6IGJsb2NrO2JhY2tncm91bmQ6ICM2NjY7YmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO2N1cnNvcjogcG9pbnRlcjt0ZXh0LWluZGVudDogLTk5OTlweDstd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjMpOy1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7LW8tYm94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7Ym94LXNoYWRvdzogaW5zZXQgMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMyk7LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAyMHB4Oy1tb3otYm9yZGVyLXJhZGl1czogMjBweDtib3JkZXItcmFkaXVzOiAyMHB4O30uZmxleC1jb250cm9sLXBhZ2luZyBsaSBhOmhvdmVyIHtiYWNrZ3JvdW5kOiAjMzMzO2JhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTt9LmZsZXgtY29udHJvbC1wYWdpbmcgbGkgYS5mbGV4LWFjdGl2ZSB7YmFja2dyb3VuZDogIzAwMDtiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7Y3Vyc29yOiBkZWZhdWx0O30uZmxleC1jb250cm9sLXRodW1icyB7bWFyZ2luOiA1cHggMCAwO3Bvc2l0aW9uOiBzdGF0aWM7b3ZlcmZsb3c6IGhpZGRlbjt9LmZsZXgtY29udHJvbC10aHVtYnMgbGkge3dpZHRoOiAyNSU7ZmxvYXQ6IGxlZnQ7bWFyZ2luOiAwO30uZmxleC1jb250cm9sLXRodW1icyBpbWcge3dpZHRoOiAxMDAlO2hlaWdodDogYXV0bztkaXNwbGF5OiBibG9jaztvcGFjaXR5OiAuNztjdXJzb3I6IHBvaW50ZXI7LW1vei11c2VyLXNlbGVjdDogbm9uZTstd2Via2l0LXRyYW5zaXRpb246IGFsbCAxcyBlYXNlOy1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2U7LW1zLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlOy1vLXRyYW5zaXRpb246IGFsbCAxcyBlYXNlO3RyYW5zaXRpb246IGFsbCAxcyBlYXNlO30uZmxleC1jb250cm9sLXRodW1icyBpbWc6aG92ZXIge29wYWNpdHk6IDE7fS5mbGV4LWNvbnRyb2wtdGh1bWJzIC5mbGV4LWFjdGl2ZSB7b3BhY2l0eTogMTtjdXJzb3I6IGRlZmF1bHQ7fS8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09KiBSRVNQT05TSVZFKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODYwcHgpIHsuZmxleC1kaXJlY3Rpb24tbmF2IC5mbGV4LXByZXYge29wYWNpdHk6IDE7bGVmdDogMTBweDt9LmZsZXgtZGlyZWN0aW9uLW5hdiAuZmxleC1uZXh0IHtvcGFjaXR5OiAxO3JpZ2h0OiAxMHB4O319CgoKLyoKICogCWlzb3RvcGUKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmlzb3RvcGUsLmlzb3RvcGUgLmlzb3RvcGUtaXRlbXstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjhzOy1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjouOHM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjouOHM7dHJhbnNpdGlvbi1kdXJhdGlvbjouOHN9Lmlzb3RvcGV7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCx3aWR0aDstbW96LXRyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHdpZHRoOy1vLXRyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHdpZHRoO3RyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHdpZHRofS5pc290b3BlIC5pc290b3BlLWl0ZW17LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5Oi13ZWJraXQtdHJhbnNmb3JtLG9wYWNpdHk7LW1vei10cmFuc2l0aW9uLXByb3BlcnR5Oi1tb3otdHJhbnNmb3JtLG9wYWNpdHk7LW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTp0b3AsbGVmdCxvcGFjaXR5O3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHl9Lmlzb3RvcGUgLmlzb3RvcGUtaXRlbS5uby10cmFuc2l0aW9uLC5pc290b3BlLm5vLXRyYW5zaXRpb24sLmlzb3RvcGUubm8tdHJhbnNpdGlvbiAuaXNvdG9wZS1pdGVtey13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjowczstbW96LXRyYW5zaXRpb24tZHVyYXRpb246MHM7LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjowczt0cmFuc2l0aW9uLWR1cmF0aW9uOjBzfS5pc290b3BlLmluZmluaXRlLXNjcm9sbGluZ3std2Via2l0LXRyYW5zaXRpb246bm9uZTstbW96LXRyYW5zaXRpb246bm9uZTstby10cmFuc2l0aW9uOm5vbmU7dHJhbnNpdGlvbjpub25lfS5pc290b3BlLWl0ZW17ei1pbmRleDoyfS5pc290b3BlLWhpZGRlbi5pc290b3BlLWl0ZW17cG9pbnRlci1ldmVudHM6bm9uZTt6LWluZGV4OjF9CgovKgogKiAJTWFnbmlmaWMgUG9wdXAKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovLm1mcC1iZyB7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO3otaW5kZXg6IDEwNDI7b3ZlcmZsb3c6IGhpZGRlbjtwb3NpdGlvbjogZml4ZWQ7YmFja2dyb3VuZDogIzBiMGIwYjtvcGFjaXR5OiAwLjg7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTsgfS5tZnAtd3JhcCB7dG9wOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO3otaW5kZXg6IDEwNDM7cG9zaXRpb246IGZpeGVkO291dGxpbmU6IG5vbmUgIWltcG9ydGFudDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfS5tZnAtY29udGFpbmVyIHt0ZXh0LWFsaWduOiBjZW50ZXI7cG9zaXRpb246IGFic29sdXRlO3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTtsZWZ0OiAwO3RvcDogMDtwYWRkaW5nOiAwIDhweDstd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O2JveC1zaXppbmc6IGJvcmRlci1ib3g7IH0ubWZwLWNvbnRhaW5lcjpiZWZvcmUge2NvbnRlbnQ6ICcnO2Rpc3BsYXk6IGlubGluZS1ibG9jaztoZWlnaHQ6IDEwMCU7dmVydGljYWwtYWxpZ246IG1pZGRsZTsgfS5tZnAtYWxpZ24tdG9wIC5tZnAtY29udGFpbmVyOmJlZm9yZSB7ZGlzcGxheTogbm9uZTsgfS5tZnAtY29udGVudCB7cG9zaXRpb246IHJlbGF0aXZlO2Rpc3BsYXk6IGlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO21hcmdpbjogMCBhdXRvO3RleHQtYWxpZ246IGxlZnQ7ei1pbmRleDogMTA0NTsgfS5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsLm1mcC1hamF4LWhvbGRlciAubWZwLWNvbnRlbnQge3dpZHRoOiAxMDAlO2N1cnNvcjogYXV0bzsgfS5tZnAtYWpheC1jdXIge2N1cnNvcjogcHJvZ3Jlc3M7IH0ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7Y3Vyc29yOiAtbW96LXpvb20tb3V0O2N1cnNvcjogLXdlYmtpdC16b29tLW91dDtjdXJzb3I6IHpvb20tb3V0OyB9Lm1mcC16b29tIHtjdXJzb3I6IHBvaW50ZXI7Y3Vyc29yOiAtd2Via2l0LXpvb20taW47Y3Vyc29yOiAtbW96LXpvb20taW47Y3Vyc29yOiB6b29tLWluOyB9Lm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge2N1cnNvcjogYXV0bzsgfS5tZnAtY2xvc2UsLm1mcC1hcnJvdywubWZwLXByZWxvYWRlciwubWZwLWNvdW50ZXIgey13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7LW1vei11c2VyLXNlbGVjdDogbm9uZTt1c2VyLXNlbGVjdDogbm9uZTsgfS5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHtkaXNwbGF5OiBub25lOyB9Lm1mcC1oaWRlIHtkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0ubWZwLXByZWxvYWRlciB7Y29sb3I6ICNDQ0M7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO3dpZHRoOiBhdXRvO3RleHQtYWxpZ246IGNlbnRlcjttYXJnaW4tdG9wOiAtMC44ZW07bGVmdDogOHB4O3JpZ2h0OiA4cHg7ei1pbmRleDogMTA0NDsgfS5tZnAtcHJlbG9hZGVyIGEge2NvbG9yOiAjQ0NDOyB9Lm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7Y29sb3I6ICNGRkY7IH0ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge2Rpc3BsYXk6IG5vbmU7IH0ubWZwLXMtZXJyb3IgLm1mcC1jb250ZW50IHtkaXNwbGF5OiBub25lOyB9YnV0dG9uLm1mcC1jbG9zZSxidXR0b24ubWZwLWFycm93IHtvdmVyZmxvdzogdmlzaWJsZTtjdXJzb3I6IHBvaW50ZXI7YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7Ym9yZGVyOiAwOy13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtkaXNwbGF5OiBibG9jaztvdXRsaW5lOiBub25lO3BhZGRpbmc6IDA7ei1pbmRleDogMTA0Njstd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7Ym94LXNoYWRvdzogbm9uZTsgfWJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7cGFkZGluZzogMDtib3JkZXI6IDA7IH0ubWZwLWNsb3NlIHt3aWR0aDogNDRweDtoZWlnaHQ6IDQ0cHg7bGluZS1oZWlnaHQ6IDQ0cHg7cG9zaXRpb246IGFic29sdXRlO3JpZ2h0OiAwO3RvcDogMDt0ZXh0LWRlY29yYXRpb246IG5vbmU7dGV4dC1hbGlnbjogY2VudGVyO29wYWNpdHk6IDAuNjU7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTY1KTtwYWRkaW5nOiAwIDAgMThweCAxMHB4O2NvbG9yOiAjRkZGO2ZvbnQtc3R5bGU6IG5vcm1hbDtmb250LXNpemU6IDI4cHg7Zm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9Lm1mcC1jbG9zZTpob3ZlciwubWZwLWNsb3NlOmZvY3VzIHtvcGFjaXR5OiAxO2ZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApOyB9Lm1mcC1jbG9zZTphY3RpdmUge3RvcDogMXB4OyB9Lm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7Y29sb3I6ICMzMzM7IH0ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtjb2xvcjogI0ZGRjtyaWdodDogLTZweDt0ZXh0LWFsaWduOiByaWdodDtwYWRkaW5nLXJpZ2h0OiA2cHg7d2lkdGg6IDEwMCU7IH0ubWZwLWNvdW50ZXIge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7cmlnaHQ6IDA7Y29sb3I6ICNDQ0M7Zm9udC1zaXplOiAxMnB4O2xpbmUtaGVpZ2h0OiAxOHB4O3doaXRlLXNwYWNlOiBub3dyYXA7IH0ubWZwLWFycm93IHtwb3NpdGlvbjogYWJzb2x1dGU7b3BhY2l0eTogMC42NTtmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NjUpO21hcmdpbjogMDt0b3A6IDUwJTttYXJnaW4tdG9wOiAtNTVweDtwYWRkaW5nOiAwO3dpZHRoOiA5MHB4O2hlaWdodDogMTEwcHg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfS5tZnAtYXJyb3c6YWN0aXZlIHttYXJnaW4tdG9wOiAtNTRweDsgfS5tZnAtYXJyb3c6aG92ZXIsLm1mcC1hcnJvdzpmb2N1cyB7b3BhY2l0eTogMTtmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsgfS5tZnAtYXJyb3c6YmVmb3JlLC5tZnAtYXJyb3c6YWZ0ZXIsLm1mcC1hcnJvdyAubWZwLWIsLm1mcC1hcnJvdyAubWZwLWEge2NvbnRlbnQ6ICcnO2Rpc3BsYXk6IGJsb2NrO3dpZHRoOiAwO2hlaWdodDogMDtwb3NpdGlvbjogYWJzb2x1dGU7bGVmdDogMDt0b3A6IDA7bWFyZ2luLXRvcDogMzVweDttYXJnaW4tbGVmdDogMzVweDtib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDsgfS5tZnAtYXJyb3c6YWZ0ZXIsLm1mcC1hcnJvdyAubWZwLWEge2JvcmRlci10b3Atd2lkdGg6IDEzcHg7Ym9yZGVyLWJvdHRvbS13aWR0aDogMTNweDt0b3A6IDhweDsgfS5tZnAtYXJyb3c6YmVmb3JlLC5tZnAtYXJyb3cgLm1mcC1iIHtib3JkZXItdG9wLXdpZHRoOiAyMXB4O2JvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7b3BhY2l0eTogMC43OyB9Lm1mcC1hcnJvdy1sZWZ0IHtsZWZ0OiAwOyB9Lm1mcC1hcnJvdy1sZWZ0OmFmdGVyLC5tZnAtYXJyb3ctbGVmdCAubWZwLWEge2JvcmRlci1yaWdodDogMTdweCBzb2xpZCAjRkZGO21hcmdpbi1sZWZ0OiAzMXB4OyB9Lm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSwubWZwLWFycm93LWxlZnQgLm1mcC1iIHttYXJnaW4tbGVmdDogMjVweDtib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfS5tZnAtYXJyb3ctcmlnaHQge3JpZ2h0OiAwOyB9Lm1mcC1hcnJvdy1yaWdodDphZnRlciwubWZwLWFycm93LXJpZ2h0IC5tZnAtYSB7Ym9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjttYXJnaW4tbGVmdDogMzlweDsgfS5tZnAtYXJyb3ctcmlnaHQ6YmVmb3JlLC5tZnAtYXJyb3ctcmlnaHQgLm1mcC1iIHtib3JkZXItbGVmdDogMjdweCBzb2xpZCAjM0YzRjNGOyB9Lm1mcC1pZnJhbWUtaG9sZGVyIHtwYWRkaW5nLXRvcDogNDBweDtwYWRkaW5nLWJvdHRvbTogNDBweDsgfS5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge2xpbmUtaGVpZ2h0OiAwO3dpZHRoOiAxMDAlO21heC13aWR0aDogOTAwcHg7IH0ubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7dG9wOiAtNDBweDsgfS5tZnAtaWZyYW1lLXNjYWxlciB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAwO292ZXJmbG93OiBoaWRkZW47cGFkZGluZy10b3A6IDU2LjI1JTsgfS5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge3Bvc2l0aW9uOiBhYnNvbHV0ZTtkaXNwbGF5OiBibG9jazt0b3A6IDA7bGVmdDogMDt3aWR0aDogMTAwJTtoZWlnaHQ6IDEwMCU7Ym94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7YmFja2dyb3VuZDogIzAwMDsgfS8qIE1haW4gaW1hZ2UgaW4gcG9wdXAgKi9pbWcubWZwLWltZyB7d2lkdGg6IGF1dG87bWF4LXdpZHRoOiAxMDAlO2hlaWdodDogYXV0bztkaXNwbGF5OiBibG9jaztsaW5lLWhlaWdodDogMDstd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O2JveC1zaXppbmc6IGJvcmRlci1ib3g7cGFkZGluZzogNDBweCAwIDQwcHg7bWFyZ2luOiAwIGF1dG87IH0vKiBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2UgKi8ubWZwLWZpZ3VyZSB7bGluZS1oZWlnaHQ6IDA7IH0ubWZwLWZpZ3VyZTphZnRlciB7Y29udGVudDogJyc7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IDA7dG9wOiA0MHB4O2JvdHRvbTogNDBweDtkaXNwbGF5OiBibG9jaztyaWdodDogMDt3aWR0aDogYXV0bztoZWlnaHQ6IGF1dG87ei1pbmRleDogLTE7Ym94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7YmFja2dyb3VuZDogIzQ0NDsgfS5tZnAtZmlndXJlIHNtYWxsIHtjb2xvcjogI0JEQkRCRDtkaXNwbGF5OiBibG9jaztmb250LXNpemU6IDEycHg7bGluZS1oZWlnaHQ6IDE0cHg7IH0ubWZwLWZpZ3VyZSBmaWd1cmUge21hcmdpbjogMDsgfS5tZnAtYm90dG9tLWJhciB7bWFyZ2luLXRvcDogLTM2cHg7cG9zaXRpb246IGFic29sdXRlO3RvcDogMTAwJTtsZWZ0OiAwO3dpZHRoOiAxMDAlO2N1cnNvcjogYXV0bzsgfS5tZnAtdGl0bGUge3RleHQtYWxpZ246IGxlZnQ7bGluZS1oZWlnaHQ6IDE4cHg7Y29sb3I6ICNGM0YzRjM7d29yZC13cmFwOiBicmVhay13b3JkO3BhZGRpbmctcmlnaHQ6IDM2cHg7IH0ubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQge21heC13aWR0aDogMTAwJTsgfS5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7Y3Vyc29yOiBwb2ludGVyOyB9QG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7LyoqKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuKi8ubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge3BhZGRpbmctbGVmdDogMDtwYWRkaW5nLXJpZ2h0OiAwOyB9Lm1mcC1pbWctbW9iaWxlIGltZy5tZnAtaW1nIHtwYWRkaW5nOiAwOyB9Lm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHt0b3A6IDA7Ym90dG9tOiAwOyB9Lm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHtkaXNwbGF5OiBpbmxpbmU7bWFyZ2luLWxlZnQ6IDVweDsgfS5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXIge2JhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtib3R0b206IDA7bWFyZ2luOiAwO3RvcDogYXV0bztwYWRkaW5nOiAzcHggNXB4O3Bvc2l0aW9uOiBmaXhlZDstd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O2JveC1zaXppbmc6IGJvcmRlci1ib3g7IH0ubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtwYWRkaW5nOiAwOyB9Lm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7cmlnaHQ6IDVweDt0b3A6IDNweDsgfS5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHt0b3A6IDA7cmlnaHQ6IDA7d2lkdGg6IDM1cHg7aGVpZ2h0OiAzNXB4O2xpbmUtaGVpZ2h0OiAzNXB4O2JhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtwb3NpdGlvbjogZml4ZWQ7dGV4dC1hbGlnbjogY2VudGVyO3BhZGRpbmc6IDA7IH0gfUBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7Lm1mcC1hcnJvdyB7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO3RyYW5zZm9ybTogc2NhbGUoMC43NSk7IH0ubWZwLWFycm93LWxlZnQgey13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDt0cmFuc2Zvcm0tb3JpZ2luOiAwOyB9Lm1mcC1hcnJvdy1yaWdodCB7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO3RyYW5zZm9ybS1vcmlnaW46IDEwMCU7IH0ubWZwLWNvbnRhaW5lciB7cGFkZGluZy1sZWZ0OiA2cHg7cGFkZGluZy1yaWdodDogNnB4OyB9IH0ubWZwLWllNyAubWZwLWltZyB7cGFkZGluZzogMDsgfS5tZnAtaWU3IC5tZnAtYm90dG9tLWJhciB7d2lkdGg6IDYwMHB4O2xlZnQ6IDUwJTttYXJnaW4tbGVmdDogLTMwMHB4O21hcmdpbi10b3A6IDVweDtwYWRkaW5nLWJvdHRvbTogNXB4OyB9Lm1mcC1pZTcgLm1mcC1jb250YWluZXIge3BhZGRpbmc6IDA7IH0ubWZwLWllNyAubWZwLWNvbnRlbnQge3BhZGRpbmctdG9wOiA0NHB4OyB9Lm1mcC1pZTcgLm1mcC1jbG9zZSB7dG9wOiAwO3JpZ2h0OiAwO3BhZGRpbmctdG9wOiAwOyB9CgovKgogKiAJbGlnaHRib3gKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogUHJlbG9hZCBpbWFnZXMgKi8KYm9keTphZnRlciB7Y29udGVudDogdXJsKGxpZ2h0Ym94L2Nsb3NlLnBuZykgdXJsKGxpZ2h0Ym94L2xvYWRpbmcuZ2lmKSB1cmwobGlnaHRib3gvcHJldi5wbmcpIHVybChsaWdodGJveC9uZXh0LnBuZyk7ZGlzcGxheTogbm9uZTt9LmxpZ2h0Ym94T3ZlcmxheSB7cG9zaXRpb246IGFic29sdXRlO3RvcDogMDtsZWZ0OiAwO3otaW5kZXg6IDk5OTk7YmFja2dyb3VuZC1jb2xvcjogYmxhY2s7ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT04MCk7b3BhY2l0eTogMC44O2Rpc3BsYXk6IG5vbmU7fS5saWdodGJveCB7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IDA7d2lkdGg6IDEwMCU7ei1pbmRleDogMTAwMDA7dGV4dC1hbGlnbjogY2VudGVyO2xpbmUtaGVpZ2h0OiAwO2ZvbnQtd2VpZ2h0OiBub3JtYWw7fS5saWdodGJveCAubGItaW1hZ2Uge2Rpc3BsYXk6IGJsb2NrO2hlaWdodDogYXV0bzttYXgtd2lkdGg6IGluaGVyaXQ7LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7LW1vei1ib3JkZXItcmFkaXVzOiAzcHg7LW1zLWJvcmRlci1yYWRpdXM6IDNweDstby1ib3JkZXItcmFkaXVzOiAzcHg7Ym9yZGVyLXJhZGl1czogM3B4O30ubGlnaHRib3ggYSBpbWcge2JvcmRlcjogbm9uZTt9LmxiLW91dGVyQ29udGFpbmVyIHtwb3NpdGlvbjogcmVsYXRpdmU7YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7Knpvb206IDE7d2lkdGg6IDI1MHB4O2hlaWdodDogMjUwcHg7bWFyZ2luOiAwIGF1dG87LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7LW1vei1ib3JkZXItcmFkaXVzOiA0cHg7LW1zLWJvcmRlci1yYWRpdXM6IDRweDstby1ib3JkZXItcmFkaXVzOiA0cHg7Ym9yZGVyLXJhZGl1czogNHB4O30ubGItb3V0ZXJDb250YWluZXI6YWZ0ZXIge2NvbnRlbnQ6ICIiO2Rpc3BsYXk6IHRhYmxlO2NsZWFyOiBib3RoO30ubGItY29udGFpbmVyIHtwYWRkaW5nOiA0cHg7fS5sYi1sb2FkZXIge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDQzJTtsZWZ0OiAwO2hlaWdodDogMjUlO3dpZHRoOiAxMDAlO3RleHQtYWxpZ246IGNlbnRlcjtsaW5lLWhlaWdodDogMDt9LmxiLWNhbmNlbCB7ZGlzcGxheTogYmxvY2s7d2lkdGg6IDMycHg7aGVpZ2h0OiAzMnB4O21hcmdpbjogMCBhdXRvO2JhY2tncm91bmQ6IHVybChsaWdodGJveC9sb2FkaW5nLmdpZikgbm8tcmVwZWF0O30ubGItbmF2IHtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7aGVpZ2h0OiAxMDAlO3dpZHRoOiAxMDAlO3otaW5kZXg6IDEwO30ubGItY29udGFpbmVyID4gLm5hdiB7bGVmdDogMDt9LmxiLW5hdiBhIHtvdXRsaW5lOiBub25lO2JhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoQVFBQkFQQUFBUC8vL3dBQUFDSDVCQUVBQUFBQUxBQUFBQUFCQUFFQUFBSUNSQUVBT3c9PScpO30ubGItcHJldiwgLmxiLW5leHQge2hlaWdodDogMTAwJTtjdXJzb3I6IHBvaW50ZXI7ZGlzcGxheTogYmxvY2s7fS5sYi1uYXYgYS5sYi1wcmV2IHt3aWR0aDogMzQlO2xlZnQ6IDA7ZmxvYXQ6IGxlZnQ7YmFja2dyb3VuZDogdXJsKGxpZ2h0Ym94L3ByZXYucG5nKSBsZWZ0IDQ4JSBuby1yZXBlYXQ7ZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT0wKTtvcGFjaXR5OiAwOy13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOy1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzOy1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC42czt0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7fS5sYi1uYXYgYS5sYi1wcmV2OmhvdmVyIHtmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7b3BhY2l0eTogMTt9LmxiLW5hdiBhLmxiLW5leHQge3dpZHRoOiA2NCU7cmlnaHQ6IDA7ZmxvYXQ6IHJpZ2h0O2JhY2tncm91bmQ6IHVybChsaWdodGJveC9uZXh0LnBuZykgcmlnaHQgNDglIG5vLXJlcGVhdDtmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTApO29wYWNpdHk6IDA7LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7LW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuNnM7LW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjZzO3RyYW5zaXRpb246IG9wYWNpdHkgMC42czt9LmxiLW5hdiBhLmxiLW5leHQ6aG92ZXIge2ZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9MTAwKTtvcGFjaXR5OiAxO30ubGItZGF0YUNvbnRhaW5lciB7bWFyZ2luOiAwIGF1dG87cGFkZGluZy10b3A6IDVweDsqem9vbTogMTt3aWR0aDogMTAwJTstbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogNHB4Oy13ZWJraXQtYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDRweDstbW96LWJvcmRlci1yYWRpdXMtYm90dG9tcmlnaHQ6IDRweDstd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDRweDt9LmxiLWRhdGFDb250YWluZXI6YWZ0ZXIge2NvbnRlbnQ6ICIiO2Rpc3BsYXk6IHRhYmxlO2NsZWFyOiBib3RoO30ubGItZGF0YSB7cGFkZGluZzogMCA0cHg7Y29sb3I6ICNjY2M7fS5sYi1kYXRhIC5sYi1kZXRhaWxzIHt3aWR0aDogODUlO2Zsb2F0OiBsZWZ0O3RleHQtYWxpZ246IGxlZnQ7bGluZS1oZWlnaHQ6IDEuMWVtO30ubGItZGF0YSAubGItY2FwdGlvbiB7Zm9udC1zaXplOiAxM3B4O2ZvbnQtd2VpZ2h0OiBib2xkO2xpbmUtaGVpZ2h0OiAxZW07fS5sYi1kYXRhIC5sYi1udW1iZXIge2Rpc3BsYXk6IGJsb2NrO2NsZWFyOiBsZWZ0O3BhZGRpbmctYm90dG9tOiAxZW07Zm9udC1zaXplOiAxMnB4O2NvbG9yOiAjOTk5OTk5O30ubGItZGF0YSAubGItY2xvc2Uge2Rpc3BsYXk6IGJsb2NrO2Zsb2F0OiByaWdodDt3aWR0aDogMzBweDtoZWlnaHQ6IDMwcHg7YmFja2dyb3VuZDogdXJsKGxpZ2h0Ym94L2Nsb3NlLnBuZykgdG9wIHJpZ2h0IG5vLXJlcGVhdDt0ZXh0LWFsaWduOiByaWdodDtvdXRsaW5lOiBub25lO2ZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKE9wYWNpdHk9NzApO29wYWNpdHk6IDAuNzstd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yczstbW96LXRyYW5zaXRpb246IG9wYWNpdHkgMC4yczstby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7dHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO30ubGItZGF0YSAubGItY2xvc2U6aG92ZXIge2N1cnNvcjogcG9pbnRlcjtmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTEwMCk7b3BhY2l0eTogMTt9CgovKgogKiAJTml2byBMaWdodGJveAogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoKLyoqIE5pdm8gTGlnaHRib3ggdjEuMi4wKiBodHRwOi8vZGV2N3N0dWRpb3MuY29tL25pdm8tbGlnaHRib3gqKiBDb3B5cmlnaHQgMjAxMywgRGV2N3N0dWRpb3MqIEZyZWUgdG8gdXNlIGFuZCBhYnVzZSB1bmRlciB0aGUgTUlUIGxpY2Vuc2UuKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocCovLm5pdm8tbGlnaHRib3gtb3ZlcmxheSB7cG9zaXRpb246IGZpeGVkO3RvcDogMDtsZWZ0OiAwO3otaW5kZXg6IDk5OTk4O3dpZHRoOiAxMDAlO2hlaWdodDogMTAwJTtvdmVyZmxvdzogaGlkZGVuO3Zpc2liaWxpdHk6IGhpZGRlbjtvcGFjaXR5OiAwOy13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDstbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7Ym94LXNpemluZzogYm9yZGVyLWJveDt9Lm5pdm8tbGlnaHRib3gtb3ZlcmxheS5uaXZvLWxpZ2h0Ym94LW9wZW4ge3Zpc2liaWxpdHk6IHZpc2libGU7b3BhY2l0eTogMTt9Lm5pdm8tbGlnaHRib3gtd3JhcCAge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDEwJTtib3R0b206IDEwJTtsZWZ0OiAxMCU7cmlnaHQ6IDEwJTt9Lm5pdm8tbGlnaHRib3gtY29udGVudCB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO30ubml2by1saWdodGJveC10aXRsZS13cmFwIHtwb3NpdGlvbjogYWJzb2x1dGU7Ym90dG9tOiAwO2xlZnQ6IDA7d2lkdGg6IDEwMCU7ei1pbmRleDogOTk5OTk7dGV4dC1hbGlnbjogY2VudGVyO30ubml2by1saWdodGJveC1uYXYgeyBkaXNwbGF5OiBub25lOyB9Lm5pdm8tbGlnaHRib3gtcHJldiB7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO2xlZnQ6IDA7fS5uaXZvLWxpZ2h0Ym94LW5leHQge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDUwJTtyaWdodDogMDt9Lm5pdm8tbGlnaHRib3gtY2xvc2Uge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDMlO3JpZ2h0OiAyJTt9Lm5pdm8tbGlnaHRib3gtaW1hZ2UgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0ubml2by1saWdodGJveC1pbWFnZSBpbWcge21heC13aWR0aDogMTAwJTttYXgtaGVpZ2h0OiAxMDAlO3dpZHRoOiBhdXRvO2hlaWdodDogYXV0bzt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO30ubml2by1saWdodGJveC1jb250ZW50IGlmcmFtZSB7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO30ubml2by1saWdodGJveC1pbmxpbmUsLm5pdm8tbGlnaHRib3gtYWpheCB7bWF4LWhlaWdodDogMTAwJTtvdmVyZmxvdzogYXV0bzstd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O2JveC1zaXppbmc6IGJvcmRlci1ib3g7LyogaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzA4ODAxICovfS5uaXZvLWxpZ2h0Ym94LWVycm9yIHtkaXNwbGF5OiB0YWJsZTt0ZXh0LWFsaWduOiBjZW50ZXI7d2lkdGg6IDEwMCU7aGVpZ2h0OiAxMDAlO2NvbG9yOiAjZmZmO3RleHQtc2hhZG93OiAwIDFweCAxcHggIzAwMDt9Lm5pdm8tbGlnaHRib3gtZXJyb3IgcCB7ZGlzcGxheTogdGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO30vKiBFZmZlY3RzKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8ubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWRlLC5uaXZvLWxpZ2h0Ym94LW5vdG91Y2ggLm5pdm8tbGlnaHRib3gtZWZmZWN0LWZhZGVTY2FsZSwubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZUxlZnQsLm5pdm8tbGlnaHRib3gtbm90b3VjaCAubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVSaWdodCwubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZVVwLC5uaXZvLWxpZ2h0Ym94LW5vdG91Y2ggLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlRG93biwubml2by1saWdodGJveC1ub3RvdWNoIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWxsIHstd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7LW1zLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O30vKiBmYWRlU2NhbGUgKi8ubml2by1saWdodGJveC1lZmZlY3QtZmFkZVNjYWxlIC5uaXZvLWxpZ2h0Ym94LXdyYXAgey13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7LW1vei10cmFuc2l0aW9uOiBhbGwgMC4zczstbXMtdHJhbnNpdGlvbjogYWxsIDAuM3M7LW8tdHJhbnNpdGlvbjogYWxsIDAuM3M7dHJhbnNpdGlvbjogYWxsIDAuM3M7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNyk7LW1vei10cmFuc2Zvcm06IHNjYWxlKDAuNyk7LW1zLXRyYW5zZm9ybTogc2NhbGUoMC43KTt0cmFuc2Zvcm06IHNjYWxlKDAuNyk7fS5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWRlU2NhbGUubml2by1saWdodGJveC1vcGVuIC5uaXZvLWxpZ2h0Ym94LXdyYXAgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTstbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7LW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7dHJhbnNmb3JtOiBzY2FsZSgxKTt9Lyogc2xpZGVMZWZ0IC8gc2xpZGVSaWdodCAvIHNsaWRlVXAgLyBzbGlkZURvd24gKi8ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVMZWZ0IC5uaXZvLWxpZ2h0Ym94LXdyYXAsLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlUmlnaHQgLm5pdm8tbGlnaHRib3gtd3JhcCwubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVVcCAubml2by1saWdodGJveC13cmFwLC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZURvd24gLm5pdm8tbGlnaHRib3gtd3JhcCB7LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC41LCAwLjUsIDAuOSk7LW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC41LCAwLjUsIDAuOSk7LW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjUsIDAuNSwgMC45KTstby10cmFuc2l0aW9uOiBhbGwgMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC41LCAwLjUsIDAuOSk7dHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNSwgMC41LCAwLjkpO30ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVMZWZ0IC5uaXZvLWxpZ2h0Ym94LXdyYXAgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpO30ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVSaWdodCAubml2by1saWdodGJveC13cmFwIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO3RyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpO30ubml2by1saWdodGJveC1lZmZlY3Qtc2xpZGVMZWZ0Lm5pdm8tbGlnaHRib3gtb3BlbiAubml2by1saWdodGJveC13cmFwLC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1zbGlkZVJpZ2h0Lm5pdm8tbGlnaHRib3gtb3BlbiAubml2by1saWdodGJveC13cmFwIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9Lm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlRG93biAubml2by1saWdodGJveC13cmFwIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMCUpO3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAlKTt9Lm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlVXAgLm5pdm8tbGlnaHRib3gtd3JhcCB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMCUpOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAlKTt9Lm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlVXAubml2by1saWdodGJveC1vcGVuIC5uaXZvLWxpZ2h0Ym94LXdyYXAsLm5pdm8tbGlnaHRib3gtZWZmZWN0LXNsaWRlRG93bi5uaXZvLWxpZ2h0Ym94LW9wZW4gLm5pdm8tbGlnaHRib3gtd3JhcCB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fS8qIGZhbGwgKi8ubml2by1saWdodGJveC1ib2R5LWVmZmVjdC1mYWxsIC5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWxsIHstd2Via2l0LXBlcnNwZWN0aXZlOiAxMDAwcHg7LW1vei1wZXJzcGVjdGl2ZTogMTAwMHB4O3BlcnNwZWN0aXZlOiAxMDAwcHg7fS5uaXZvLWxpZ2h0Ym94LWVmZmVjdC1mYWxsIC5uaXZvLWxpZ2h0Ym94LXdyYXAgey13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7LW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDstbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7LW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7dHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMzAwcHgpOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDMwMHB4KTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDMwMHB4KTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMzAwcHgpO30ubml2by1saWdodGJveC1lZmZlY3QtZmFsbC5uaXZvLWxpZ2h0Ym94LW9wZW4gLm5pdm8tbGlnaHRib3gtd3JhcCB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7fQovKiogTml2byBMaWdodGJveCBEZWZhdWx0IFRoZW1lIHYxLjAqIGh0dHA6Ly9kZXY3c3R1ZGlvcy5jb20vbml2by1saWdodGJveCoqIENvcHlyaWdodCAyMDEzLCBEZXY3c3R1ZGlvcyogRnJlZSB0byB1c2UgYW5kIGFidXNlIHVuZGVyIHRoZSBNSVQgbGljZW5zZS4qIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UucGhwKi8ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0Lm5pdm8tbGlnaHRib3gtb3ZlcmxheSB7IGJhY2tncm91bmQ6ICM2NjY7YmFja2dyb3VuZDogcmdiYSgwLDAsMCwwLjYpOyB9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1jb250ZW50Lm5pdm8tbGlnaHRib3gtbG9hZGluZyB7IGJhY2tncm91bmQ6IHVybChuaXZvbGlnaHRib3gtdGhlbWVzL2RlZmF1bHQvbG9hZGluZy5naWYpIG5vLXJlcGVhdCA1MCUgNTAlOyB9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1uYXYge3RvcDogMTAlO3dpZHRoOiA4JTtoZWlnaHQ6IDgwJTt0ZXh0LWluZGVudDogLTk5OTlweDtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O2JhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7b3BhY2l0eTogMC41O30ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LW5hdjpob3ZlciB7IG9wYWNpdHk6IDE7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsMC41KTt9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1wcmV2IHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKG5pdm9saWdodGJveC10aGVtZXMvZGVmYXVsdC9wcmV2LnBuZyk7IGJvcmRlci1yYWRpdXM6IDAgM3B4IDNweCAwO30ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LW5leHQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobml2b2xpZ2h0Ym94LXRoZW1lcy9kZWZhdWx0L25leHQucG5nKTsgYm9yZGVyLXJhZGl1czogM3B4IDAgMCAzcHg7fS5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtY2xvc2Uge2Rpc3BsYXk6IGJsb2NrO2JhY2tncm91bmQ6IHVybChuaXZvbGlnaHRib3gtdGhlbWVzL2RlZmF1bHQvY2xvc2UucG5nKSBuby1yZXBlYXQgNXB4IDVweDt3aWR0aDogNDBweDtoZWlnaHQ6IDQ1cHg7dGV4dC1pbmRlbnQ6IC05OTk5cHg7cGFkZGluZzogNXB4O29wYWNpdHk6IDAuNTt9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1jbG9zZTpob3ZlciB7IG9wYWNpdHk6IDE7IH0ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LXRpdGxlLXdyYXAgeyBib3R0b206IC03JTsgfS5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtdGl0bGUge2ZvbnQ6IDE0cHgvMjBweCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO2ZvbnQtc3R5bGU6IG5vcm1hbDtmb250LXdlaWdodDogbm9ybWFsO2JhY2tncm91bmQ6ICMwMDA7Y29sb3I6ICNmZmY7cGFkZGluZzogN3B4IDE1cHg7Ym9yZGVyLXJhZGl1czogMzBweDt9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1pbWFnZSBpbWcge2JhY2tncm91bmQ6ICNmZmY7LXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuNCk7LW1vei1ib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuNCk7Ym94LXNoYWRvdzogMHB4IDFweCAxcHggcmdiYSgwLDAsMCwwLjQpO30ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LWFqYXgsLm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1pbmxpbmUge2JhY2tncm91bmQ6ICNmZmY7cGFkZGluZzogNDBweDstd2Via2l0LWJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwwLDAsMC40KTstbW96LWJveC1zaGFkb3c6IDBweCAxcHggMXB4IHJnYmEoMCwwLDAsMC40KTtib3gtc2hhZG93OiAwcHggMXB4IDFweCByZ2JhKDAsMCwwLDAuNCk7fUBtZWRpYSAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjMpLCgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyLjYvMiksKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwobWluLWRldmljZS1waXhlbC1yYXRpbzogMS4zKSwobWluLXJlc29sdXRpb246IDEuM2RwcHgpIHsubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LWNvbnRlbnQubml2by1saWdodGJveC1sb2FkaW5nIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKG5pdm9saWdodGJveC10aGVtZXMvZGVmYXVsdC9sb2FkaW5nJTQwMnguZ2lmKTsgYmFja2dyb3VuZC1zaXplOiAzMnB4IDMycHg7fS5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtcHJldiB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChuaXZvbGlnaHRib3gtdGhlbWVzL2RlZmF1bHQvcHJldiU0MDJ4LnBuZyk7IGJhY2tncm91bmQtc2l6ZTogNDhweCA0OHB4O30ubml2by1saWdodGJveC10aGVtZS1kZWZhdWx0IC5uaXZvLWxpZ2h0Ym94LW5leHQgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwobml2b2xpZ2h0Ym94LXRoZW1lcy9kZWZhdWx0L25leHQlNDAyeC5wbmcpOyBiYWNrZ3JvdW5kLXNpemU6IDQ4cHggNDhweDt9Lm5pdm8tbGlnaHRib3gtdGhlbWUtZGVmYXVsdCAubml2by1saWdodGJveC1jbG9zZSB7IGJhY2tncm91bmQtaW1hZ2U6IHVybChuaXZvbGlnaHRib3gtdGhlbWVzL2RlZmF1bHQvY2xvc2UlNDAyeC5wbmcpOyBiYWNrZ3JvdW5kLXNpemU6IDE2cHggMTZweDt9fQovKgogKiAJeXRwbGF5ZXIKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLypqcXVlcnkubWIuWVRQbGF5ZXIgMTEtMDUtMjAxNwogXyBqcXVlcnkubWIuY29tcG9uZW50cyAKIF8gZW1haWw6IG1hdHRlb0BvcGVuLWxhYi5jb20gCiBfIENvcHlyaWdodCAoYykgMjAwMS0yMDE3LiBNYXR0ZW8gQmljb2NjaGkgKFB1cHVuemkpOyAKIF8gYmxvZzogaHR0cDovL3B1cHVuemkub3Blbi1sYWIuY29tIAogXyBPcGVuIExhYiBzLnIubC4sIEZsb3JlbmNlIC0gSXRhbHkgCiAqLwpAY2hhcnNldCJVVEYtOCI7Lm1iX1lUUEJhciwubWJfWVRQQmFyIHNwYW4ubWJfWVRQVXJsIGF7Y29sb3I6I2ZmZn1AZm9udC1mYWNle2ZvbnQtZmFtaWx5Onl0cHJlZ3VsYXI7c3JjOnVybChmb250L3l0cC1yZWd1bGFyLmh0bWwpfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6eXRwcmVndWxhcjtzcmM6dXJsKGRhdGE6YXBwbGljYXRpb24veC1mb250LXdvZmY7Y2hhcnNldD11dGYtODtiYXNlNjQsZDA5R1JnQUJBQUFBQUE1c0FCRUFBQUFBRkNBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUJHUmxSTkFBQUJnQUFBQUJ3QUFBQWNaOWl1TlVkRVJVWUFBQUdjQUFBQUhRQUFBQ0FBZEFBRVQxTXZNZ0FBQWJ3QUFBQkpBQUFBWUhVTVVyRmpiV0Z3QUFBQ0NBQUFBS2tBQUFHS241WHljV04yZENBQUFBSzBBQUFBTmdBQUFEWU5MUW9oWm5CbmJRQUFBdXdBQUFHeEFBQUNaVk8wTDZkbllYTndBQUFFb0FBQUFBZ0FBQUFJQUFBQUVHZHNlV1lBQUFTb0FBQUdWUUFBQjRqejg2ZFNhR1ZoWkFBQUN3QUFBQUF6QUFBQU5nYktPTnBvYUdWaEFBQUxOQUFBQUNBQUFBQWtFU1FMWEdodGRIZ0FBQXRVQUFBQVZBQUFBUnhPbXdWd2JHOWpZUUFBQzZnQUFBQWpBQUFBa0ZvRVhSUnRZWGh3QUFBTHpBQUFBQ0FBQUFBZ0FXb0I2MjVoYldVQUFBdnNBQUFBK3dBQUFlb2szRWIrY0c5emRBQUFET2dBQUFEQUFBQUJOOTl0djFsd2NtVndBQUFOcUFBQUFMa0FBQUZZM0k2aWtuZGxZbVlBQUE1a0FBQUFCZ0FBQUFiSE1sR25BQUFBQVFBQUFBRE1QYUxQQUFBQUFNM05rN1FBQUFBQXpjMTNzWGphWTJCa1lHRGdBMklKQmhCZ1ltQUVRamNnWmdIekdBQUhUQUI1QUFBQWVOcGpZR2Jad0RpQmdaV0JoZFdZNVN3REE4TXNDTTEwbGlHTktRM0lCMHJCQVNNREVnajFEdmRqY0dEZ2ZjREFsdllQcUpKVmxkRVpwb1pWa3VVWmtGSmdZQVFBVVVVTGV3QUFBSGphWTJCZ1lHYUFZQmtHUmdZUWFBSHlHTUY4Rm9ZTUlDM0dJQUFVWVFPeWVCa1VHS0lZcWhnV0tIQXA2Q3ZFUDJENC94K3NBeVR1eUpBSUZHZUFpelArLy9yLzhmL0QvL2Yrbi9IQThvSG8vV2NLYmxEenNRQkdvT2t3U1VZbUlNR0VyZ0RpUkx5QWhaV05uWU9UaTV1SGw0OWZRRkJJV0VSVVRGeENVa3BhUmhZaUx5ZXZvS2lrcktLcXBxNmhxYVd0bzZ1bmIyQm9aR3hpYW1iT1FGMWdRWll1QUlRbkg0SUFBQUFBQUFBQUFBQUJlZ0VuQUhFQXN3QzlBT0FBNVFEK0FSY0JJd0JkQUhJQnRnQmNBR0FBWmdCeUFJOEFvZ0VyQWJJQVV3QkVCUkVBQUhqYVhWRzdUbHRCRU4wTkR3T0J4TmdnT2RvVXM1bVF4bnVoQlFuRTFZMWlaRHVGNVFocE4zS1JpM0VCSDBDQlJBM2FyeG1nb2FSSW13WWhGMGg4UWo0aEVqTnJpS0kwT3p1emM4NlpNMHZLa2FwMzZXdlBVK2Nra01MZEJzMDIvVTVJdGJNQTk2VHI2NDJNdElNSFdteG05TXAxKy80TEJwdlJsRHRxQU9VOWJ5a1BHVTA3Z1ZxMHAvN1IvQXFHKy93Zjh6c1l0RFRUOU5RNkNla2hCT2FiY1V1RDd4bk51c3NQK29MVjRXSXdNS1NZcHVJdVA2WlMvcmMwNTJyTHNMV1IwYnlETXhINXlUUkFVMnR0QkpyKzFDSFY4M0VVUzVETHByRTJtSml5L2lRVHdZWEpkRlZUdGN6NDJzRmRzclBvWUlNcXpZRUgyTU5XZVF3ZURnOG1GTkszSk1vc0RSSDJZcXZFQ0JHVEhBbzU1ZHpKL3FSQStVZ1N4cnhKU2p2amhyVUd4cEhYd0tBMlQ3UC9QSnROYlc4ZHd2aFpITUYzdnhsTE92aklodG9ZRVdJN1lpbUFDVVJDUmxYNWhoclB2U3dHNUZMN3owQ1VnT1h4ajMrZENMVHUyRVE4bDdWMURqRldDSHArMjl6eXk0cTdWcm5PaTBKM2I2cHFxTklwemZ0ZXpyN0hBNTRlQzhOQlk4R2J6L3YrU29INlBDeXVOR2dPQkVONk4zci9vclhxaUt1OEZ6NnlKOU8vc1ZvQUFBQUFBUUFCLy84QUQzamFUWlZyYkJ4WEZjZnZ1Zk5lNzJObWR4Nzd0bWZITzJONzYxMTc3ODRPVHIxNTRZQWJSN1JRdVVRaHR0b1N1WFpLRlFWS0tZcWdpRkpBZ2twSWtWQ2xJbjhvcFNvbWpYWTNWSEhURmxkRUlZcGF5MWhSK0lENEJoYTI3Rm9JRVFHcGQ4SWR1NGxZN2M2ZU9mZWUvLzJmMyt6ZWl6QWFRd2lmNGlZUmd3UlViZ0dxakxZRk52Vnh0Y1Z6ZnhsdE01aUdxTVVFYVM1SXR3VSt2VFBhaGlCUEZGTXBtb281aG52OFhuakZuK1VtNy94bWpGMUdDTEhvUGYrZmdzVVZFWWNTS0ljR2tZYmFXWXhLTFozYmdHYTUwcXBBQ1EwTmV5WW9ZSUxhRFRxcHVyVUsyRlpCVVlsSlk4dWtFYzBlZ0xwYm8ra1k4Ty9CUWN4MmR2d1AyRmg2L1ErR2wxOWZ5cm91YkhtZXI3cnBqSGxsUFovTktCK3RwMi80L1R6eFN4MHpvLzc0dVVZMjl2SlpPRUhJZm5nNGx6ejdjanlYem4vakp3cUN3Q09MZGoyaVBTUDNGL2hVQUhGM3YrQ3ZpZWU1RElxaEpETFJBQ0xvUEdwSEVDcTFNN1NkNWlEWi9XNnpRVzhtdTlFY3FsN1NJNnhZYWlPcG54Q3lkd1BOV3FXSi90U1NqWTFtcXRxVTVaWU5wV2FsMnBKaUd5MFhTaTFiVnVLWDFGeWgxR3VNb0pZZVVlSnZ5L0dFVmJUcGZUT2pISlJWelVpbTB0bGN3ZWtiS0QxUXJnUjVNOTdPVjhuSXlNalFzS1BVRUtXR05FVkZGQndxRXMveUhNRVZGTU0xUEljNEZoaVdRVnhIY3hqRDB6elhFa2dibUhlNUcxZUE5VDk1NTQ1M3hkK0I5dGJwaTZ2ajEwK2Z2ajYrZXZIMEZqdTd2UERVNXN6Vlk4ZXV6bXcrdFhBQnY3a0Vvdi92MzNXT3Yrdi9DOExHOU0yeEQxOS9FcXV6Q3l1SFZ1WTZSMjVPYnozNStvZHc0TkRLd3V6V0hBSzg2cTl4MjF3S1lZUWtqRmVaM001Zi9UVW13NlFvMTJQKzM4V2YwekVacFZBQmxWQU5mUXUxb3dIWFhNRDFBZEl5UWh2Tmdlb3UyYjFMQXVoQWtWd3lFeFJwcy9wcEFFMjMwcXJUWDFNckVWWGlsNVc0cWxtOXRoTUFNcFIyTXRWSEFiWE1uQkp2WjhvVkdqZFo1WEs2dTZjd05FeHFkTko5ZG5tNEQrOGVJZVllTTdoSDBiM0g5YmNRdWN6ZGVINzVlZitUeFR2ZU8vNXR1REsyTXJzNWQrSG16UXR6bTdNcmJQNlpxeE1ycnoyK3ZmMzRheXNUVjUrNWlOOVloTWk1MVc5M1RpejUvd0ZwK3VqeS9NbnRHWHgrZGZyanFmbHJPNzg4T2I5ODlNYU1QNzE2K05yOEZPcENqYnZudzAzMkJVcm04MmdLZlFjMTBTSmFBd3daR0lOSEVVcmtzYUVuZEkzWENwcEJhdldhVTdOcmRhL3U3UWZQc25tQkYxUmVLNE5qQ3hia2dWUkpkVy9NZG1peWpIa2hDZ0t2R2tyTnErdUduZ1BMVURYVmlvSlRjR3hPTldndUVOT0lZbWtxMWxRcWFEdTJxMUFxS2k2cVJoNkNOMHVxaGxrbjFXSXd0MVozRlRxSDZsdDJrV0xrcVpwUTJGMUg0RDNYMUN6RlVrQ3AxUjhFVmFlS0dyM21nWHB5ZDNPS1pUY2dpb01pM3FJbXFBMkZhRlNZcmtIZDdCWUVTblNNZHFBeDFITmdnLzZwRzBCbzk1UkFHZWhxb05BdWFSSFI5MHdHZFh5SnRrQUoxRHhTRFZRQ2ZTOG9jdWkrRW9ocWFnTmpGcm9uaXlMQU9ZYkJndlNReHVYeGlVU0NHUVhSZUpCbmphZmhiZjZ4QnM4UDlaY2xMTEpkVEpmZEwzYkxSc2dkNTBOZjUyUDdKSVdqSW5ZcUZ1WmhVR0VydWNGMFFqL3pOSnRQR0FyRHo3RVlGaTBjaHZTcHc4Qy9tSlJnUlZMZmdyRWY3UnZvd2h5akozSlBmUGxYL2g4Ti82ZlpyeVg3YmgvcEpzUGo0UUxYOVJhODlOTDNRUWtsam1PcW5vZ25VNkhjeEtrb0kvSnNhSjhjRGNmQ3FaQU1DMmNmRmVTb0h1K1dGRW1XeklRcXg4UFZtQ1RoU0ZxUEtxTElzZ3hKeDBRWVp0MWlvY2pnZnJQYmpJb2lsdGtYeHp4VGxFNUZWVEwxemI3WW1UT1N6WEdpRUJVMFpnSHpYZXhqZDlIa2xEdFRjMlA3aVI0L1dtcWsvakdoZlpYalpXMWJZRlZwM3kwMUcrb2NyaC9LOVZTVDMrMDVPVXNhRW5BWUdLWlJmV0lwRFFhWFQyRWoyL3ZDbDFTNW5OZTdqSHE1ZUNBbE03ck9wRng4UFAxWmYvTnpDVWRrcFhqVWhIbWRmZGkvWHYzMUQ2V2NjUEFJRGpOTW1QbkJ6QytFckFpcFp6UGYrK0xrUXlHUmhUREVwQ05rYm1McHo4ODkyem1FMys4c3dxMVlPRElxZjJaN2xPOFJkSkhuN1JTOGtwWTZyMHFoQWc3eFhJSG5oVml1K3pCRGJoY3gxNlVPZkdWZ2FHa29YZTZMaHdTK2g3TmdTYSt2UjdFU1p2UHlxNlZVcU4rU0MwWlNUUG0zb0VUR294R0loL3A2MHczbmFJeUovR3l3ZjlDTW5uQWVtUjM1MjRoVDVERXJ4T3dCaFI1NUNPTXczZSt1MFQwdE9Fc1IwSk14K05CSGZ0RC9BSitEL2Y3di9UVys5dCtQK0JvOWUvN3ZOWXorQnk2RnNLa0FBQUI0Mm1OZ1pHQmdZR1J3Ykk4SVdoelBiL09WUVo2REFRVE9uaTNmQ0tQLysveDd5ck9CTlJUSTVXQmdBb2tDQUczbURiQUFlTnBqWUdSZ1lGWDl0NWVCZ2VmdGY1Ly9XVHdiR0lBaUtNQWRBSnljQnBoNDJtTjZ3K0RDd2NEQUFNSXNaOEQwSGhCTkxJYXA1MkQ0NzhmQndIUVJ5dmJCcFo3bkxZTXRLZVpqdDVPSmh4VDFUS3NZR0ZoREVUVGpjU0FHMGd5UG9SZ296aWdJcEwwaE5FaU9CY2dGQUVCb05DMTQybU5nWU5DQndqb2NjQUxEQkVZOVJoc2dQSU1NbVpjUmhIdEloa2NBOXBRc3BBQUFBUUFBQUVjQlZBQUxBQUFBQUFBQ0FBRUFBZ0FXQUFBQkFBQ1RBQUFBQUhqYWxaQ3hUZ0pCRkVYUEFwSm9ZWWdGOVZaVVNJQUZUZERDbm1pSWdzVEtzQVNRdUdpQ3UwWWFDcjRPZm9tS096c1RDSFJtTXpQbjNibHozOHNDRnl6SjR1WE9nYktXWlkrOEtzc1pMcWs3emtwOWNKeWpTT1Q0akQ5V2p2UFN0NDZ2S0hvRngydHh5ZkdHcW5mUE8xOGt5b2hTR2pCakpQcVJGbXFQbVdvbFdrWjlvMHVIWi9Fa2ZUTmdUbzBLVlgwMTd1alJwcytUeURxdlQ3eFc5VS9VVjFWejlacnlyUW44bzhRT0wxSnNkVkEvNUl3WnB2N2YvWXNLVFc1ME8xUHFwektOWnl3MVVuS292MmM5ZGJrRDdjMS96ZGhYRlNyTmRJejNIYnVhSkZIMUtNOUNaeUROM04zU29pRnVwZlA2Nm1iT1lBZDhrMEVHQUhqYWJjMDVUd0poSElUeFowQkJCYy9QNElrSTd5NHNoMGRCc29zSEtpcUhlTFVpaVRFMEZINTZYZGwvNlRTL1pJb1pVc3p6TSthZC8zSU9TaWxObW0xMjJHV1BmUTRvY0VpUkkwcVVjWGo0VktnU1VLTk9neWJIbkhES0dTRVI3WGpqZ2t1dTZIRE5EYmQwdWVPZUIzcjBHVERra1JGUFBQUENLMjlhMEtJeXltcEp5MXBSVG5tdGFrM3IydENtdGpManorL3BoNWVkZlUyY2MyRml5LzNweDRYcG1iNVpNYXRtWU5iTXV0a3dtMllyMFc4bkJuT2orT2NYVkRrMFBuamFSYzY3RG9KQUVBVlFGdVQ5ZnFzSkNTWjIrdzEyUWtOanJDQ3g5dytzYlN5MTlEc0dLLzlPYjNSWnVqazNrN256WnA4YnNidlNrWFhvUjhZZXc5Z2F2TjlRTkhTVUhURmNoNG9NZnVvVjB1cUdOTDRudjI1ZW1xM3lIenpBRHdWY3dPc0ZITUN0Qld6QVdRbFlnSjBJbUlBMXJSbUFlUmJRQVdNNnZRRDA0QTlHZ1hnbFJCbzRLaCsxOWdKR1lEZ3pCcU9uWkFMR084a1VUTGFTR1poV2tqbVlyU1VMTUE4a1M3Q1lpNVpnS1RsUXhyL1cxRjVhQUFBQUFBRlJwOGN4QUFBPSlmb3JtYXQoJ3dvZmYnKSx1cmwoZm9udC95dHAtcmVndWxhci50dGYpZm9ybWF0KCd0cnVldHlwZScpO2ZvbnQtd2VpZ2h0OjQwMDtmb250LXN0eWxlOm5vcm1hbH0ubWJfWVRQbGF5ZXI6Zm9jdXN7b3V0bGluZTowfS5ZVFBXcmFwcGVye2Rpc3BsYXk6YmxvY2s7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtLXN0eWxlOnByZXNlcnZlLTNkO3BlcnNwZWN0aXZlOjEwMDA7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtib3gtc2l6aW5nOmJvcmRlci1ib3h9Lm1iX1lUUGxheWVyIC5sb2FkaW5ne3Bvc2l0aW9uOmFic29sdXRlO3RvcDoxMHB4O3JpZ2h0OjEwcHg7Zm9udC1zaXplOjEycHg7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUxKTt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nOjJweCA0cHg7Ym9yZGVyLXJhZGl1czo1cHg7Zm9udC1mYW1pbHk6IkRyb2lkIFNhbnMiLHNhbnMtc2VyaWY7LXdlYmtpdC1hbmltYXRpb246ZmFkZSAuMXMgaW5maW5pdGUgYWx0ZXJuYXRlO2FuaW1hdGlvbjpmYWRlIC4xcyBpbmZpbml0ZSBhbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGZhZGV7MCV7b3BhY2l0eTouNX0xMDAle29wYWNpdHk6MX19QGtleWZyYW1lcyBmYWRlezAle29wYWNpdHk6LjV9MTAwJXtvcGFjaXR5OjF9fS5ZVFBGdWxsc2NyZWVue2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtoZWlnaHQ6MTAwJSFpbXBvcnRhbnQ7dG9wOjAhaW1wb3J0YW50O2xlZnQ6MCFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O2JvcmRlcjpub25lIWltcG9ydGFudDtvcGFjaXR5OjEhaW1wb3J0YW50O2JhY2tncm91bmQtY29sb3I6IzAwMH0ubWJZVFBfd3JhcHBlciBpZnJhbWV7bWF4LXdpZHRoOjQwMDBweCFpbXBvcnRhbnR9LmlubGluZV9ZVFBsYXllcnttYXJnaW4tYm90dG9tOjIwcHg7dmVydGljYWwtYWxpZ246dG9wO3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6MDtvdmVyZmxvdzpoaWRkZW47Ym9yZGVyLXJhZGl1czo0cHg7Ym94LXNoYWRvdzowIDAgNXB4IHJnYmEoMCwwLDAsLjcpO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNSl9LmlubGluZV9ZVFBsYXllciBpbWd7Ym9yZGVyOm5vbmUhaW1wb3J0YW50O21hcmdpbjowIWltcG9ydGFudDtwYWRkaW5nOjAhaW1wb3J0YW50O3RyYW5zZm9ybTpub25lIWltcG9ydGFudH0ubWJfWVRQQmFyLC5tYl9ZVFBCYXIgLmJ1dHRvbkJhcntib3gtc2l6aW5nOmJvcmRlci1ib3g7bGVmdDowO3BhZGRpbmc6NXB4O3dpZHRoOjEwMCV9Lm1iX1lUUEJhciAueXRwaWNvbntmb250LXNpemU6MjBweDtmb250LWZhbWlseTp5dHByZWd1bGFyfS5tYl9ZVFBCYXIgLm1iX1lUUFVybC55dHBpY29ue2ZvbnQtc2l6ZTozMHB4fS5tYl9ZVFBCYXJ7dHJhbnNpdGlvbjpvcGFjaXR5IC41cztkaXNwbGF5OmJsb2NrO2hlaWdodDoxMHB4O2JhY2tncm91bmQ6IzMzMztwb3NpdGlvbjpmaXhlZDtib3R0b206MDt0ZXh0LWFsaWduOmxlZnQ7ei1pbmRleDoxMDAwO2ZvbnQ6MTRweC8xNnB4IHNhbnMtc2VyaWY7b3BhY2l0eTouMX0ubWJfWVRQQmFyLnZpc2libGUsLm1iX1lUUEJhcjpob3ZlcntvcGFjaXR5OjF9Lm1iX1lUUEJhciAuYnV0dG9uQmFye3RyYW5zaXRpb246YWxsIC41cztiYWNrZ3JvdW5kOjAgMDtmb250OjEycHgvMTRweCBDYWxpYnJpO3Bvc2l0aW9uOmFic29sdXRlO3RvcDotMzBweDtoZWlnaHQ6NDBweH0ubWJfWVRQQmFyOmhvdmVyIC5idXR0b25CYXJ7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC40KX0ubWJfWVRQQmFyIHNwYW57ZGlzcGxheTppbmxpbmUtYmxvY2s7Zm9udDoxNnB4LzIwcHggQ2FsaWJyaSxzYW5zLXNlcmlmO3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjMwcHg7aGVpZ2h0OjI1cHg7dmVydGljYWwtYWxpZ246bWlkZGxlfS5tYl9ZVFBCYXIgc3Bhbi5tYl9ZVFBUaW1le3dpZHRoOjEzMHB4fS5tYl9ZVFBCYXIgc3Bhbi5tYl9Pbmx5WVQsLm1iX1lUUEJhciBzcGFuLm1iX1lUUFVybHtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDphdXRvO2Rpc3BsYXk6YmxvY2s7dG9wOjZweDtyaWdodDoxMHB4O2N1cnNvcjpwb2ludGVyfS5tYl9ZVFBCYXIgc3Bhbi5tYl9ZVFBVcmwgaW1ne3dpZHRoOjYwcHh9Lm1iX1lUUEJhciBzcGFuLm1iX09ubHlZVHtsZWZ0OjMwMHB4O3JpZ2h0OmF1dG99Lm1iX1lUUEJhciBzcGFuLm1iX09ubHlZVCBpbWd7d2lkdGg6MjVweH0ubWJfWVRQQmFyIC5tYl9ZVFBNdXRlVW5tdXRlLC5tYl9ZVFBCYXIgLm1iX1lUUFBsYXlwYXVzZSwubWJfWVRQbGF5ZXIgLm1iX1lUUEJhciAubWJfWVRQUGxheXBhdXNlIGltZ3tjdXJzb3I6cG9pbnRlcn0ubWJfWVRQQmFyIC5tYl9ZVFBQcm9ncmVzc3toZWlnaHQ6MTBweDt3aWR0aDoxMDAlO2JhY2tncm91bmQ6IzIyMjtib3R0b206MDtsZWZ0OjB9Lm1iX1lUUEJhciAubWJfWVRQTG9hZGVke2hlaWdodDoxMHB4O3dpZHRoOjA7YmFja2dyb3VuZDojNDQ0O2xlZnQ6MH0ubWJfWVRQQmFyIC5tYl9ZVFBzZWVrYmFye2hlaWdodDoxMHB4O3dpZHRoOjA7YmFja2dyb3VuZDojYmIxMTBlO2JvdHRvbTowO2xlZnQ6MDtib3gtc2hhZG93OnJnYmEoODIsODIsODIsLjQ3KTFweCAxcHggM3B4fS5tYl9ZVFBCYXIgLllUUE92ZXJsYXl7YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstd2Via2l0LXRyYW5zZm9ybS1zdHlsZToiZmxhdCI7Ym94LXNpemluZzpib3JkZXItYm94fS5ZVFBPdmVybGF5LnJhc3RlcntiYWNrZ3JvdW5kOnVybChpbWFnZXMvcmFzdGVyLnBuZyl9LllUUE92ZXJsYXkucmFzdGVyLnJldGluYXtiYWNrZ3JvdW5kOnVybChpbWFnZXMvcmFzdGVyQDJ4LnBuZyl9LllUUE92ZXJsYXkucmFzdGVyLWRvdHtiYWNrZ3JvdW5kOnVybChpbWFnZXMvcmFzdGVyX2RvdC5wbmcpfS5ZVFBPdmVybGF5LnJhc3Rlci1kb3QucmV0aW5he2JhY2tncm91bmQ6dXJsKGltYWdlcy9yYXN0ZXJfZG90QDJ4LnBuZyl9Lm1iX1lUUEJhciAuc2ltcGxlU2xpZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMHB4O2hlaWdodDoxMHB4O2JvcmRlcjoxcHggc29saWQgI2ZmZjtvdmVyZmxvdzpoaWRkZW47Ym94LXNpemluZzpib3JkZXItYm94O21hcmdpbi1yaWdodDoxMHB4O2N1cnNvcjpwb2ludGVyIWltcG9ydGFudDtib3JkZXItcmFkaXVzOjNweH0ubWJfWVRQQmFyLmNvbXBhY3QgLnNpbXBsZVNsaWRlcnt3aWR0aDo0MHB4fS5tYl9ZVFBCYXIgLnNpbXBsZVNsaWRlci5tdXRlZHtvcGFjaXR5Oi4zfS5tYl9ZVFBCYXIgLmxldmVse3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDtib3R0b206MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNpemluZzpib3JkZXItYm94fS5tYl9ZVFBCYXIgLmxldmVsLmhvcml6b250YWx7aGVpZ2h0OjEwMCU7d2lkdGg6MH0ubWJfWVRQQmFyIC5sZXZlbC52ZXJ0aWNhbHtoZWlnaHQ6YXV0bzt3aWR0aDoxMDAlfQoKCi8qCiAqIAlIb3Zlci5jc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyohCiAqIEhvdmVyLmNzcyAoaHR0cDovL2lhbmx1bm4uZ2l0aHViLmlvL0hvdmVyLykKICogVmVyc2lvbjogMi4wLjEKICogQXV0aG9yOiBJYW4gTHVubiBASWFuTHVubgogKiBBdXRob3IgVVJMOiBodHRwOi8vaWFubHVubi5jby51ay8KICogR2l0aHViOiBodHRwczovL2dpdGh1Yi5jb20vSWFuTHVubi9Ib3ZlcgoKICogTWFkZSBhdmFpbGFibGUgdW5kZXIgYSBNSVQgTGljZW5zZToKICogaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHAKCiAqIEhvdmVyLmNzcyBDb3B5cmlnaHQgSWFuIEx1bm4gMjAxNC4gR2VuZXJhdGVkIHdpdGggU2Fzcy4KICovCgogLmh2ci1ncm93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uaHZyLWdyb3c6YWN0aXZlLC5odnItZ3Jvdzpmb2N1cywuaHZyLWdyb3c6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKTt0cmFuc2Zvcm06c2NhbGUoMS4xKX0uaHZyLXNocmlua3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19Lmh2ci1zaHJpbms6YWN0aXZlLC5odnItc2hyaW5rOmZvY3VzLC5odnItc2hyaW5rOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuOSk7dHJhbnNmb3JtOnNjYWxlKDAuOSl9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1wdWxzZXsyNSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKTt0cmFuc2Zvcm06c2NhbGUoMS4xKX03NSV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC45KTt0cmFuc2Zvcm06c2NhbGUoMC45KX19QGtleWZyYW1lcyBodnItcHVsc2V7MjUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9NzUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuOSk7dHJhbnNmb3JtOnNjYWxlKDAuOSl9fS5odnItcHVsc2V7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci1wdWxzZTphY3RpdmUsLmh2ci1wdWxzZTpmb2N1cywuaHZyLXB1bHNlOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXB1bHNlO2FuaW1hdGlvbi1uYW1lOmh2ci1wdWxzZTstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXB1bHNlLWdyb3d7dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4xKTt0cmFuc2Zvcm06c2NhbGUoMS4xKX19QGtleWZyYW1lcyBodnItcHVsc2UtZ3Jvd3t0b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfX0uaHZyLXB1bHNlLWdyb3d7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci1wdWxzZS1ncm93OmFjdGl2ZSwuaHZyLXB1bHNlLWdyb3c6Zm9jdXMsLmh2ci1wdWxzZS1ncm93OmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXB1bHNlLWdyb3c7YW5pbWF0aW9uLW5hbWU6aHZyLXB1bHNlLWdyb3c7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjNzO2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246YWx0ZXJuYXRlO2FuaW1hdGlvbi1kaXJlY3Rpb246YWx0ZXJuYXRlfUAtd2Via2l0LWtleWZyYW1lcyBodnItcHVsc2Utc2hyaW5re3Rvey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuOSk7dHJhbnNmb3JtOnNjYWxlKDAuOSl9fUBrZXlmcmFtZXMgaHZyLXB1bHNlLXNocmlua3t0b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjkpO3RyYW5zZm9ybTpzY2FsZSgwLjkpfX0uaHZyLXB1bHNlLXNocmlua3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uaHZyLXB1bHNlLXNocmluazphY3RpdmUsLmh2ci1wdWxzZS1zaHJpbms6Zm9jdXMsLmh2ci1wdWxzZS1zaHJpbms6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItcHVsc2Utc2hyaW5rO2FuaW1hdGlvbi1uYW1lOmh2ci1wdWxzZS1zaHJpbms7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjNzO2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246YWx0ZXJuYXRlO2FuaW1hdGlvbi1kaXJlY3Rpb246YWx0ZXJuYXRlfUAtd2Via2l0LWtleWZyYW1lcyBodnItcHVzaHs1MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm06c2NhbGUoMC44KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19QGtleWZyYW1lcyBodnItcHVzaHs1MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm06c2NhbGUoMC44KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX19Lmh2ci1wdXNoe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5odnItcHVzaDphY3RpdmUsLmh2ci1wdXNoOmZvY3VzLC5odnItcHVzaDpob3Zlcnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1wdXNoO2FuaW1hdGlvbi1uYW1lOmh2ci1wdXNoOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4zczthbmltYXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxfUAtd2Via2l0LWtleWZyYW1lcyBodnItcG9wezUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjIpO3RyYW5zZm9ybTpzY2FsZSgxLjIpfX1Aa2V5ZnJhbWVzIGh2ci1wb3B7NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMik7dHJhbnNmb3JtOnNjYWxlKDEuMil9fS5odnItcG9we2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5odnItcG9wOmFjdGl2ZSwuaHZyLXBvcDpmb2N1cywuaHZyLXBvcDpob3Zlcnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1wb3A7YW5pbWF0aW9uLW5hbWU6aHZyLXBvcDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX0uaHZyLWJvdW5jZS1pbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzfS5odnItYm91bmNlLWluOmFjdGl2ZSwuaHZyLWJvdW5jZS1pbjpmb2N1cywuaHZyLWJvdW5jZS1pbjpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjIpO3RyYW5zZm9ybTpzY2FsZSgxLjIpOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNDcsMi4wMiwuMzEsLS4zNik7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNDcsMi4wMiwuMzEsLS4zNil9Lmh2ci1ib3VuY2Utb3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9Lmh2ci1ib3VuY2Utb3V0OmFjdGl2ZSwuaHZyLWJvdW5jZS1vdXQ6Zm9jdXMsLmh2ci1ib3VuY2Utb3V0OmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuOCk7dHJhbnNmb3JtOnNjYWxlKDAuOCk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC40NywyLjAyLC4zMSwtLjM2KTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC40NywyLjAyLC4zMSwtLjM2KX0uaHZyLXJvdGF0ZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19Lmh2ci1yb3RhdGU6YWN0aXZlLC5odnItcm90YXRlOmZvY3VzLC5odnItcm90YXRlOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDRkZWcpfS5odnItZ3Jvdy1yb3RhdGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5odnItZ3Jvdy1yb3RhdGU6YWN0aXZlLC5odnItZ3Jvdy1yb3RhdGU6Zm9jdXMsLmh2ci1ncm93LXJvdGF0ZTpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpIHJvdGF0ZSg0ZGVnKTt0cmFuc2Zvcm06c2NhbGUoMS4xKSByb3RhdGUoNGRlZyl9Lmh2ci1mbG9hdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWZsb2F0OmFjdGl2ZSwuaHZyLWZsb2F0OmZvY3VzLC5odnItZmxvYXQ6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KX0uaHZyLXNpbmt7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1zaW5rOmFjdGl2ZSwuaHZyLXNpbms6Zm9jdXMsLmh2ci1zaW5rOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpfUAtd2Via2l0LWtleWZyYW1lcyBodnItYm9iezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTRweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC04cHgpfX1Aa2V5ZnJhbWVzIGh2ci1ib2J7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLThweCl9fUAtd2Via2l0LWtleWZyYW1lcyBodnItYm9iLWZsb2F0ezEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KX19QGtleWZyYW1lcyBodnItYm9iLWZsb2F0ezEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtOHB4KX19Lmh2ci1ib2J7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci1ib2I6YWN0aXZlLC5odnItYm9iOmZvY3VzLC5odnItYm9iOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWJvYi1mbG9hdCxodnItYm9iO2FuaW1hdGlvbi1uYW1lOmh2ci1ib2ItZmxvYXQsaHZyLWJvYjstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouM3MsMS41czthbmltYXRpb24tZHVyYXRpb246LjNzLDEuNXM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MHMsLjNzO2FuaW1hdGlvbi1kZWxheTowcywuM3M7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0LGVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQsZWFzZS1pbi1vdXQ7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjEsaW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxLGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzOy13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWwsYWx0ZXJuYXRlO2FuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsLGFsdGVybmF0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWhhbmd7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCl9fUBrZXlmcmFtZXMgaHZyLWhhbmd7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCl9fUAtd2Via2l0LWtleWZyYW1lcyBodnItaGFuZy1zaW5rezEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCl9fUBrZXlmcmFtZXMgaHZyLWhhbmctc2lua3sxMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpfX0uaHZyLWhhbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci1oYW5nOmFjdGl2ZSwuaHZyLWhhbmc6Zm9jdXMsLmh2ci1oYW5nOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWhhbmctc2luayxodnItaGFuZzthbmltYXRpb24tbmFtZTpodnItaGFuZy1zaW5rLGh2ci1oYW5nOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4zcywxLjVzO2FuaW1hdGlvbi1kdXJhdGlvbjouM3MsMS41czstd2Via2l0LWFuaW1hdGlvbi1kZWxheTowcywuM3M7YW5pbWF0aW9uLWRlbGF5OjBzLC4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQsZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dCxlYXNlLWluLW91dDstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSxpbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjEsaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbCxhbHRlcm5hdGU7YW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWwsYWx0ZXJuYXRlfS5odnItc2tld3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19Lmh2ci1za2V3OmFjdGl2ZSwuaHZyLXNrZXc6Zm9jdXMsLmh2ci1za2V3OmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTEwZGVnKTt0cmFuc2Zvcm06c2tldygtMTBkZWcpfS5odnItc2tldy1mb3J3YXJke2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46MCAxMDAlO3RyYW5zZm9ybS1vcmlnaW46MCAxMDAlfS5odnItc2tldy1mb3J3YXJkOmFjdGl2ZSwuaHZyLXNrZXctZm9yd2FyZDpmb2N1cywuaHZyLXNrZXctZm9yd2FyZDpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0xMGRlZyk7dHJhbnNmb3JtOnNrZXcoLTEwZGVnKX0uaHZyLXNrZXctYmFja3dhcmR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowIDEwMCU7dHJhbnNmb3JtLW9yaWdpbjowIDEwMCV9Lmh2ci1za2V3LWJhY2t3YXJkOmFjdGl2ZSwuaHZyLXNrZXctYmFja3dhcmQ6Zm9jdXMsLmh2ci1za2V3LWJhY2t3YXJkOmhvdmVyey13ZWJraXQtdHJhbnNmb3JtOnNrZXcoMTBkZWcpO3RyYW5zZm9ybTpza2V3KDEwZGVnKX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS12ZXJ0aWNhbHsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDhweCl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMnB4KX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfX1Aa2V5ZnJhbWVzIGh2ci13b2JibGUtdmVydGljYWx7MTYuNjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg4cHgpfTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg0cHgpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCl9ODMuMjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19Lmh2ci13b2JibGUtdmVydGljYWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci13b2JibGUtdmVydGljYWw6YWN0aXZlLC5odnItd29iYmxlLXZlcnRpY2FsOmZvY3VzLC5odnItd29iYmxlLXZlcnRpY2FsOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXdvYmJsZS12ZXJ0aWNhbDthbmltYXRpb24tbmFtZTpodnItd29iYmxlLXZlcnRpY2FsOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjF9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci13b2JibGUtaG9yaXpvbnRhbHsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNnB4KX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDRweCl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX1Aa2V5ZnJhbWVzIGh2ci13b2JibGUtaG9yaXpvbnRhbHsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDhweCl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNnB4KX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDRweCl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX0uaHZyLXdvYmJsZS1ob3Jpem9udGFse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5odnItd29iYmxlLWhvcml6b250YWw6YWN0aXZlLC5odnItd29iYmxlLWhvcml6b250YWw6Zm9jdXMsLmh2ci13b2JibGUtaG9yaXpvbnRhbDpob3Zlcnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci13b2JibGUtaG9yaXpvbnRhbDthbmltYXRpb24tbmFtZTpodnItd29iYmxlLWhvcml6b250YWw7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHR7MTYuNjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4cHgsOHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDhweCw4cHgpfTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LC02cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTZweCwtNnB4KX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDRweCw0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoNHB4LDRweCl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsLTJweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtMnB4LC0ycHgpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX19QGtleWZyYW1lcyBodnItd29iYmxlLXRvLWJvdHRvbS1yaWdodHsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDhweCw4cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoOHB4LDhweCl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LC02cHgpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoNHB4LDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg0cHgsNHB4KX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwtMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsLTJweCl9ODMuMjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxcHgsMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDFweCwxcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfX0uaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9Lmh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0OmFjdGl2ZSwuaHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ6Zm9jdXMsLmh2ci13b2JibGUtdG8tYm90dG9tLXJpZ2h0OmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ7YW5pbWF0aW9uLW5hbWU6aHZyLXdvYmJsZS10by1ib3R0b20tcmlnaHQ7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS10by10b3AtcmlnaHR7MTYuNjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg4cHgsLThweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg4cHgsLThweCl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC02cHgsNnB4KX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDRweCwtNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDRweCwtNHB4KX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTJweCwycHgpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMXB4LC0xcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApfX1Aa2V5ZnJhbWVzIGh2ci13b2JibGUtdG8tdG9wLXJpZ2h0ezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoOHB4LC04cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoOHB4LC04cHgpfTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNnB4LDZweCl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg0cHgsLTRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg0cHgsLTRweCl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKC0ycHgsMnB4KX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDFweCwtMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDFweCwtMXB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX19Lmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5odnItd29iYmxlLXRvLXRvcC1yaWdodDphY3RpdmUsLmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0OmZvY3VzLC5odnItd29iYmxlLXRvLXRvcC1yaWdodDpob3Zlcnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0O2FuaW1hdGlvbi1uYW1lOmh2ci13b2JibGUtdG8tdG9wLXJpZ2h0Oy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjF9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci13b2JibGUtdG9wezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0xMmRlZyk7dHJhbnNmb3JtOnNrZXcoLTEyZGVnKX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDEwZGVnKTt0cmFuc2Zvcm06c2tldygxMGRlZyl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTZkZWcpO3RyYW5zZm9ybTpza2V3KC02ZGVnKX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDRkZWcpO3RyYW5zZm9ybTpza2V3KDRkZWcpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0yZGVnKTt0cmFuc2Zvcm06c2tldygtMmRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDApO3RyYW5zZm9ybTpza2V3KDApfX1Aa2V5ZnJhbWVzIGh2ci13b2JibGUtdG9wezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0xMmRlZyk7dHJhbnNmb3JtOnNrZXcoLTEyZGVnKX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDEwZGVnKTt0cmFuc2Zvcm06c2tldygxMGRlZyl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTZkZWcpO3RyYW5zZm9ybTpza2V3KC02ZGVnKX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDRkZWcpO3RyYW5zZm9ybTpza2V3KDRkZWcpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0yZGVnKTt0cmFuc2Zvcm06c2tldygtMmRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDApO3RyYW5zZm9ybTpza2V3KDApfX0uaHZyLXdvYmJsZS10b3B7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgMTAwJTt0cmFuc2Zvcm0tb3JpZ2luOjAgMTAwJX0uaHZyLXdvYmJsZS10b3A6YWN0aXZlLC5odnItd29iYmxlLXRvcDpmb2N1cywuaHZyLXdvYmJsZS10b3A6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItd29iYmxlLXRvcDthbmltYXRpb24tbmFtZTpodnItd29iYmxlLXRvcDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjE7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxfUAtd2Via2l0LWtleWZyYW1lcyBodnItd29iYmxlLWJvdHRvbXsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygtMTJkZWcpO3RyYW5zZm9ybTpza2V3KC0xMmRlZyl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygxMGRlZyk7dHJhbnNmb3JtOnNrZXcoMTBkZWcpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC02ZGVnKTt0cmFuc2Zvcm06c2tldygtNmRlZyl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06c2tldyg0ZGVnKTt0cmFuc2Zvcm06c2tldyg0ZGVnKX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygtMmRlZyk7dHJhbnNmb3JtOnNrZXcoLTJkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygwKTt0cmFuc2Zvcm06c2tldygwKX19QGtleWZyYW1lcyBodnItd29iYmxlLWJvdHRvbXsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygtMTJkZWcpO3RyYW5zZm9ybTpza2V3KC0xMmRlZyl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygxMGRlZyk7dHJhbnNmb3JtOnNrZXcoMTBkZWcpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC02ZGVnKTt0cmFuc2Zvcm06c2tldygtNmRlZyl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06c2tldyg0ZGVnKTt0cmFuc2Zvcm06c2tldyg0ZGVnKX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygtMmRlZyk7dHJhbnNmb3JtOnNrZXcoLTJkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygwKTt0cmFuc2Zvcm06c2tldygwKX19Lmh2ci13b2JibGUtYm90dG9te2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDA7dHJhbnNmb3JtLW9yaWdpbjoxMDAlIDB9Lmh2ci13b2JibGUtYm90dG9tOmFjdGl2ZSwuaHZyLXdvYmJsZS1ib3R0b206Zm9jdXMsLmh2ci13b2JibGUtYm90dG9tOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXdvYmJsZS1ib3R0b207YW5pbWF0aW9uLW5hbWU6aHZyLXdvYmJsZS1ib3R0b207LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLXdvYmJsZS1za2V3ezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0xMmRlZyk7dHJhbnNmb3JtOnNrZXcoLTEyZGVnKX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDEwZGVnKTt0cmFuc2Zvcm06c2tldygxMGRlZyl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnNrZXcoLTZkZWcpO3RyYW5zZm9ybTpza2V3KC02ZGVnKX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDRkZWcpO3RyYW5zZm9ybTpza2V3KDRkZWcpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC0yZGVnKTt0cmFuc2Zvcm06c2tldygtMmRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpza2V3KDApO3RyYW5zZm9ybTpza2V3KDApfX1Aa2V5ZnJhbWVzIGh2ci13b2JibGUtc2tld3sxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygtMTJkZWcpO3RyYW5zZm9ybTpza2V3KC0xMmRlZyl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygxMGRlZyk7dHJhbnNmb3JtOnNrZXcoMTBkZWcpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTpza2V3KC02ZGVnKTt0cmFuc2Zvcm06c2tldygtNmRlZyl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06c2tldyg0ZGVnKTt0cmFuc2Zvcm06c2tldyg0ZGVnKX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygtMmRlZyk7dHJhbnNmb3JtOnNrZXcoLTJkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06c2tldygwKTt0cmFuc2Zvcm06c2tldygwKX19Lmh2ci13b2JibGUtc2tld3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZX0uaHZyLXdvYmJsZS1za2V3OmFjdGl2ZSwuaHZyLXdvYmJsZS1za2V3OmZvY3VzLC5odnItd29iYmxlLXNrZXc6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItd29iYmxlLXNrZXc7YW5pbWF0aW9uLW5hbWU6aHZyLXdvYmJsZS1za2V3Oy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjFzO2FuaW1hdGlvbi1kdXJhdGlvbjoxczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjF9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1idXp6ezUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyl9fUBrZXlmcmFtZXMgaHZyLWJ1enp7NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKX19Lmh2ci1idXp6e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5odnItYnV6ejphY3RpdmUsLmh2ci1idXp6OmZvY3VzLC5odnItYnV6ejpob3Zlcnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1idXp6O2FuaW1hdGlvbi1uYW1lOmh2ci1idXp6Oy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4xNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi4xNXM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJ1enotb3V0ezEwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpfTIwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKX00MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyl9NjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpfTcwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpfTgwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKX05MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxcHgpIHJvdGF0ZSgwKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKX19QGtleWZyYW1lcyBodnItYnV6ei1vdXR7MTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyl9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpfTMwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpfTQwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApfX0uaHZyLWJ1enotb3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5odnItYnV6ei1vdXQ6YWN0aXZlLC5odnItYnV6ei1vdXQ6Zm9jdXMsLmh2ci1idXp6LW91dDpob3Zlcnstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1idXp6LW91dDthbmltYXRpb24tbmFtZTpodnItYnV6ei1vdXQ7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Ljc1czthbmltYXRpb24tZHVyYXRpb246Ljc1czstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX0uaHZyLWZhZGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7b3ZlcmZsb3c6aGlkZGVuOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yfS5odnItZmFkZTphY3RpdmUsLmh2ci1mYWRlOmZvY3VzLC5odnItZmFkZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMyMDk4ZDE7Y29sb3I6I2ZmZn1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWJhY2stcHVsc2V7NTAle2JhY2tncm91bmQtY29sb3I6cmdiYSgzMiwxNTIsMjA5LC43NSl9fUBrZXlmcmFtZXMgaHZyLWJhY2stcHVsc2V7NTAle2JhY2tncm91bmQtY29sb3I6cmdiYSgzMiwxNTIsMjA5LC43NSl9fS5odnItYmFjay1wdWxzZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3J9Lmh2ci1iYWNrLXB1bHNlOmFjdGl2ZSwuaHZyLWJhY2stcHVsc2U6Zm9jdXMsLmh2ci1iYWNrLXB1bHNlOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWJhY2stcHVsc2U7YW5pbWF0aW9uLW5hbWU6aHZyLWJhY2stcHVsc2U7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLWRlbGF5Oi41czthbmltYXRpb24tZGVsYXk6LjVzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YmFja2dyb3VuZC1jb2xvcjojMjA5OGQxO2JhY2tncm91bmQtY29sb3I6IzIwOThkMTtjb2xvcjojZmZmfS5odnItc3dlZXAtdG8tcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXN3ZWVwLXRvLXJpZ2h0OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7YmFja2dyb3VuZDojMjA5OGQxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowIDUwJTt0cmFuc2Zvcm0tb3JpZ2luOjAgNTAlOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItc3dlZXAtdG8tcmlnaHQ6YWN0aXZlLC5odnItc3dlZXAtdG8tcmlnaHQ6Zm9jdXMsLmh2ci1zd2VlcC10by1yaWdodDpob3Zlcntjb2xvcjojZmZmfS5odnItc3dlZXAtdG8tcmlnaHQ6YWN0aXZlOmJlZm9yZSwuaHZyLXN3ZWVwLXRvLXJpZ2h0OmZvY3VzOmJlZm9yZSwuaHZyLXN3ZWVwLXRvLXJpZ2h0OmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKX0uaHZyLXN3ZWVwLXRvLWxlZnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXN3ZWVwLXRvLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApO3RyYW5zZm9ybTpzY2FsZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjEwMCUgNTAlO3RyYW5zZm9ybS1vcmlnaW46MTAwJSA1MCU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1zd2VlcC10by1sZWZ0OmFjdGl2ZSwuaHZyLXN3ZWVwLXRvLWxlZnQ6Zm9jdXMsLmh2ci1zd2VlcC10by1sZWZ0OmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1zd2VlcC10by1sZWZ0OmFjdGl2ZTpiZWZvcmUsLmh2ci1zd2VlcC10by1sZWZ0OmZvY3VzOmJlZm9yZSwuaHZyLXN3ZWVwLXRvLWxlZnQ6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfS5odnItc3dlZXAtdG8tYm90dG9te2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1zd2VlcC10by1ib3R0b206YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDApO3RyYW5zZm9ybTpzY2FsZVkoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJSAwO3RyYW5zZm9ybS1vcmlnaW46NTAlIDA7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1zd2VlcC10by1ib3R0b206YWN0aXZlLC5odnItc3dlZXAtdG8tYm90dG9tOmZvY3VzLC5odnItc3dlZXAtdG8tYm90dG9tOmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1zd2VlcC10by1ib3R0b206YWN0aXZlOmJlZm9yZSwuaHZyLXN3ZWVwLXRvLWJvdHRvbTpmb2N1czpiZWZvcmUsLmh2ci1zd2VlcC10by1ib3R0b206aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfS5odnItc3dlZXAtdG8tdG9we2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1zd2VlcC10by10b3A6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDApO3RyYW5zZm9ybTpzY2FsZVkoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlO3RyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1zd2VlcC10by10b3A6YWN0aXZlLC5odnItc3dlZXAtdG8tdG9wOmZvY3VzLC5odnItc3dlZXAtdG8tdG9wOmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1zd2VlcC10by10b3A6YWN0aXZlOmJlZm9yZSwuaHZyLXN3ZWVwLXRvLXRvcDpmb2N1czpiZWZvcmUsLmh2ci1zd2VlcC10by10b3A6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfS5odnItYm91bmNlLXRvLXJpZ2h0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXN9Lmh2ci1ib3VuY2UtdG8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDApO3RyYW5zZm9ybTpzY2FsZVgoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAgNTAlO3RyYW5zZm9ybS1vcmlnaW46MCA1MCU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1ib3VuY2UtdG8tcmlnaHQ6YWN0aXZlLC5odnItYm91bmNlLXRvLXJpZ2h0OmZvY3VzLC5odnItYm91bmNlLXRvLXJpZ2h0OmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1ib3VuY2UtdG8tcmlnaHQ6YWN0aXZlOmJlZm9yZSwuaHZyLWJvdW5jZS10by1yaWdodDpmb2N1czpiZWZvcmUsLmh2ci1ib3VuY2UtdG8tcmlnaHQ6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTIsMS42NCwuMzcsLjY2KTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41MiwxLjY0LC4zNywuNjYpfS5odnItYm91bmNlLXRvLWxlZnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30uaHZyLWJvdW5jZS10by1sZWZ0OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7YmFja2dyb3VuZDojMjA5OGQxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTt0cmFuc2Zvcm0tb3JpZ2luOjEwMCUgNTAlOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItYm91bmNlLXRvLWxlZnQ6YWN0aXZlLC5odnItYm91bmNlLXRvLWxlZnQ6Zm9jdXMsLmh2ci1ib3VuY2UtdG8tbGVmdDpob3Zlcntjb2xvcjojZmZmfS5odnItYm91bmNlLXRvLWxlZnQ6YWN0aXZlOmJlZm9yZSwuaHZyLWJvdW5jZS10by1sZWZ0OmZvY3VzOmJlZm9yZSwuaHZyLWJvdW5jZS10by1sZWZ0OmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjUyLDEuNjQsLjM3LC42Nik7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTIsMS42NCwuMzcsLjY2KX0uaHZyLWJvdW5jZS10by1ib3R0b217ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi41czt0cmFuc2l0aW9uLWR1cmF0aW9uOi41c30uaHZyLWJvdW5jZS10by1ib3R0b206YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDApO3RyYW5zZm9ybTpzY2FsZVkoMCk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJSAwO3RyYW5zZm9ybS1vcmlnaW46NTAlIDA7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1ib3VuY2UtdG8tYm90dG9tOmFjdGl2ZSwuaHZyLWJvdW5jZS10by1ib3R0b206Zm9jdXMsLmh2ci1ib3VuY2UtdG8tYm90dG9tOmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1ib3VuY2UtdG8tYm90dG9tOmFjdGl2ZTpiZWZvcmUsLmh2ci1ib3VuY2UtdG8tYm90dG9tOmZvY3VzOmJlZm9yZSwuaHZyLWJvdW5jZS10by1ib3R0b206aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAuNTIsMS42NCwuMzcsLjY2KTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41MiwxLjY0LC4zNywuNjYpfS5odnItYm91bmNlLXRvLXRvcHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjVzO3RyYW5zaXRpb24tZHVyYXRpb246LjVzfS5odnItYm91bmNlLXRvLXRvcDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVkoMCk7dHJhbnNmb3JtOnNjYWxlWSgwKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7dHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWJvdW5jZS10by10b3A6YWN0aXZlLC5odnItYm91bmNlLXRvLXRvcDpmb2N1cywuaHZyLWJvdW5jZS10by10b3A6aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLWJvdW5jZS10by10b3A6YWN0aXZlOmJlZm9yZSwuaHZyLWJvdW5jZS10by10b3A6Zm9jdXM6YmVmb3JlLC5odnItYm91bmNlLXRvLXRvcDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEpO3RyYW5zZm9ybTpzY2FsZVkoMSk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41MiwxLjY0LC4zNywuNjYpO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjUyLDEuNjQsLjM3LC42Nil9Lmh2ci1yYWRpYWwtb3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiNlMWUxZTE7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXJhZGlhbC1vdXQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7Ym9yZGVyLXJhZGl1czoxMDAlOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDApO3RyYW5zZm9ybTpzY2FsZSgwKTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXJhZGlhbC1vdXQ6YWN0aXZlLC5odnItcmFkaWFsLW91dDpmb2N1cywuaHZyLXJhZGlhbC1vdXQ6aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLXJhZGlhbC1vdXQ6YWN0aXZlOmJlZm9yZSwuaHZyLXJhZGlhbC1vdXQ6Zm9jdXM6YmVmb3JlLC5odnItcmFkaWFsLW91dDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMik7dHJhbnNmb3JtOnNjYWxlKDIpfS5odnItcmFkaWFsLWlue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXJhZGlhbC1pbjpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6I2UxZTFlMTtib3JkZXItcmFkaXVzOjEwMCU7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMik7dHJhbnNmb3JtOnNjYWxlKDIpOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItcmFkaWFsLWluOmFjdGl2ZSwuaHZyLXJhZGlhbC1pbjpmb2N1cywuaHZyLXJhZGlhbC1pbjpob3Zlcntjb2xvcjojZmZmfS5odnItcmFkaWFsLWluOmFjdGl2ZTpiZWZvcmUsLmh2ci1yYWRpYWwtaW46Zm9jdXM6YmVmb3JlLC5odnItcmFkaWFsLWluOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9Lmh2ci1yZWN0YW5nbGUtaW57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDojMjA5OGQxOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1yZWN0YW5nbGUtaW46YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiNlMWUxZTE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7dHJhbnNmb3JtOnNjYWxlKDEpOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItcmVjdGFuZ2xlLWluOmFjdGl2ZSwuaHZyLXJlY3RhbmdsZS1pbjpmb2N1cywuaHZyLXJlY3RhbmdsZS1pbjpob3Zlcntjb2xvcjojZmZmfS5odnItcmVjdGFuZ2xlLWluOmFjdGl2ZTpiZWZvcmUsLmh2ci1yZWN0YW5nbGUtaW46Zm9jdXM6YmVmb3JlLC5odnItcmVjdGFuZ2xlLWluOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCl9Lmh2ci1yZWN0YW5nbGUtb3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO2JhY2tncm91bmQ6I2UxZTFlMTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItcmVjdGFuZ2xlLW91dDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTt0cmFuc2Zvcm06c2NhbGUoMCk7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1yZWN0YW5nbGUtb3V0OmFjdGl2ZSwuaHZyLXJlY3RhbmdsZS1vdXQ6Zm9jdXMsLmh2ci1yZWN0YW5nbGUtb3V0OmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1yZWN0YW5nbGUtb3V0OmFjdGl2ZTpiZWZvcmUsLmh2ci1yZWN0YW5nbGUtb3V0OmZvY3VzOmJlZm9yZSwuaHZyLXJlY3RhbmdsZS1vdXQ6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0uaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiIjtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO3RvcDowO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO2JhY2tncm91bmQ6I2UxZTFlMTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMSk7dHJhbnNmb3JtOnNjYWxlWCgxKTstd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46NTAlO3RyYW5zZm9ybS1vcmlnaW46NTAlOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmFjdGl2ZSwuaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDpmb2N1cywuaHZyLXNodXR0ZXItaW4taG9yaXpvbnRhbDpob3Zlcntjb2xvcjojZmZmfS5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmFjdGl2ZTpiZWZvcmUsLmh2ci1zaHV0dGVyLWluLWhvcml6b250YWw6Zm9jdXM6YmVmb3JlLC5odnItc2h1dHRlci1pbi1ob3Jpem9udGFsOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMCk7dHJhbnNmb3JtOnNjYWxlWCgwKX0uaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7YmFja2dyb3VuZDojZTFlMWUxOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcjt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZDojMjA5OGQxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgwKTt0cmFuc2Zvcm06c2NhbGVYKDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCU7dHJhbnNmb3JtLW9yaWdpbjo1MCU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmFjdGl2ZSwuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6Zm9jdXMsLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmFjdGl2ZTpiZWZvcmUsLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOmZvY3VzOmJlZm9yZSwuaHZyLXNodXR0ZXItb3V0LWhvcml6b250YWw6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgxKTt0cmFuc2Zvcm06c2NhbGVYKDEpfS5odnItc2h1dHRlci1pbi12ZXJ0aWNhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiMyMDk4ZDE7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXNodXR0ZXItaW4tdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6MDtib3R0b206MDtsZWZ0OjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOiNlMWUxZTE7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDEpO3RyYW5zZm9ybTpzY2FsZVkoMSk7LXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJTt0cmFuc2Zvcm0tb3JpZ2luOjUwJTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXNodXR0ZXItaW4tdmVydGljYWw6YWN0aXZlLC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpmb2N1cywuaHZyLXNodXR0ZXItaW4tdmVydGljYWw6aG92ZXJ7Y29sb3I6I2ZmZn0uaHZyLXNodXR0ZXItaW4tdmVydGljYWw6YWN0aXZlOmJlZm9yZSwuaHZyLXNodXR0ZXItaW4tdmVydGljYWw6Zm9jdXM6YmVmb3JlLC5odnItc2h1dHRlci1pbi12ZXJ0aWNhbDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGVZKDApO3RyYW5zZm9ybTpzY2FsZVkoMCl9Lmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kOiNlMWUxZTE7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3I7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3JpZ2h0OjA7YmFja2dyb3VuZDojMjA5OGQxOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgwKTt0cmFuc2Zvcm06c2NhbGVZKDApOy13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCU7dHJhbnNmb3JtLW9yaWdpbjo1MCU7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDphY3RpdmUsLmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDpmb2N1cywuaHZyLXNodXR0ZXItb3V0LXZlcnRpY2FsOmhvdmVye2NvbG9yOiNmZmZ9Lmh2ci1zaHV0dGVyLW91dC12ZXJ0aWNhbDphY3RpdmU6YmVmb3JlLC5odnItc2h1dHRlci1vdXQtdmVydGljYWw6Zm9jdXM6YmVmb3JlLC5odnItc2h1dHRlci1vdXQtdmVydGljYWw6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWSgxKTt0cmFuc2Zvcm06c2NhbGVZKDEpfS5odnItYm9yZGVyLWZhZGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXByb3BlcnR5OmJveC1zaGFkb3c7Ym94LXNoYWRvdzppbnNldCAwIDAgMCA0cHggI2UxZTFlMSwwIDAgMXB4IHJnYmEoMCwwLDAsMCl9Lmh2ci1ib3JkZXItZmFkZTphY3RpdmUsLmh2ci1ib3JkZXItZmFkZTpmb2N1cywuaHZyLWJvcmRlci1mYWRlOmhvdmVye2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgNHB4ICMyMDk4ZDEsMCAwIDFweCByZ2JhKDAsMCwwLDApfS5odnItaG9sbG93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmJhY2tncm91bmQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTpiYWNrZ3JvdW5kO2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgNHB4ICNlMWUxZTEsMCAwIDFweCByZ2JhKDAsMCwwLDApfS5odnItaG9sbG93OmFjdGl2ZSwuaHZyLWhvbGxvdzpmb2N1cywuaHZyLWhvbGxvdzpob3ZlcntiYWNrZ3JvdW5kOjAgMH0uaHZyLXRyaW17ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci10cmltOmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjojZmZmIHNvbGlkIDRweDt0b3A6NHB4O2xlZnQ6NHB4O3JpZ2h0OjRweDtib3R0b206NHB4O29wYWNpdHk6MDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eX0uaHZyLXRyaW06YWN0aXZlOmJlZm9yZSwuaHZyLXRyaW06Zm9jdXM6YmVmb3JlLC5odnItdHJpbTpob3ZlcjpiZWZvcmV7b3BhY2l0eToxfUAtd2Via2l0LWtleWZyYW1lcyBodnItcmlwcGxlLW91dHsxMDAle3RvcDotMTJweDtyaWdodDotMTJweDtib3R0b206LTEycHg7bGVmdDotMTJweDtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgaHZyLXJpcHBsZS1vdXR7MTAwJXt0b3A6LTEycHg7cmlnaHQ6LTEycHg7Ym90dG9tOi0xMnB4O2xlZnQ6LTEycHg7b3BhY2l0eTowfX0uaHZyLXJpcHBsZS1vdXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci1yaXBwbGUtb3V0OmJlZm9yZXtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjojZTFlMWUxIHNvbGlkIDZweDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXN9Lmh2ci1yaXBwbGUtb3V0OmFjdGl2ZTpiZWZvcmUsLmh2ci1yaXBwbGUtb3V0OmZvY3VzOmJlZm9yZSwuaHZyLXJpcHBsZS1vdXQ6aG92ZXI6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLXJpcHBsZS1vdXQ7YW5pbWF0aW9uLW5hbWU6aHZyLXJpcHBsZS1vdXR9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1yaXBwbGUtaW57MTAwJXt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgaHZyLXJpcHBsZS1pbnsxMDAle3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO29wYWNpdHk6MX19Lmh2ci1yaXBwbGUtaW57ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci1yaXBwbGUtaW46YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOiNlMWUxZTEgc29saWQgNHB4O3RvcDotMTJweDtyaWdodDotMTJweDtib3R0b206LTEycHg7bGVmdDotMTJweDtvcGFjaXR5OjA7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzfS5odnItcmlwcGxlLWluOmFjdGl2ZTpiZWZvcmUsLmh2ci1yaXBwbGUtaW46Zm9jdXM6YmVmb3JlLC5odnItcmlwcGxlLWluOmhvdmVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1yaXBwbGUtaW47YW5pbWF0aW9uLW5hbWU6aHZyLXJpcHBsZS1pbn0uaHZyLW91dGxpbmUtb3V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5odnItb3V0bGluZS1vdXQ6YmVmb3Jle2NvbnRlbnQ6Jyc7cG9zaXRpb246YWJzb2x1dGU7Ym9yZGVyOiNlMWUxZTEgc29saWQgNHB4O3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRvcCxyaWdodCxib3R0b20sbGVmdDt0cmFuc2l0aW9uLXByb3BlcnR5OnRvcCxyaWdodCxib3R0b20sbGVmdH0uaHZyLW91dGxpbmUtb3V0OmFjdGl2ZTpiZWZvcmUsLmh2ci1vdXRsaW5lLW91dDpmb2N1czpiZWZvcmUsLmh2ci1vdXRsaW5lLW91dDpob3ZlcjpiZWZvcmV7dG9wOi04cHg7cmlnaHQ6LThweDtib3R0b206LThweDtsZWZ0Oi04cHh9Lmh2ci1vdXRsaW5lLWlue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5odnItb3V0bGluZS1pbjpiZWZvcmV7cG9pbnRlci1ldmVudHM6bm9uZTtjb250ZW50OicnO3Bvc2l0aW9uOmFic29sdXRlO2JvcmRlcjojZTFlMWUxIHNvbGlkIDRweDt0b3A6LTE2cHg7cmlnaHQ6LTE2cHg7Ym90dG9tOi0xNnB4O2xlZnQ6LTE2cHg7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRvcCxyaWdodCxib3R0b20sbGVmdDt0cmFuc2l0aW9uLXByb3BlcnR5OnRvcCxyaWdodCxib3R0b20sbGVmdH0uaHZyLW91dGxpbmUtaW46YWN0aXZlOmJlZm9yZSwuaHZyLW91dGxpbmUtaW46Zm9jdXM6YmVmb3JlLC5odnItb3V0bGluZS1pbjpob3ZlcjpiZWZvcmV7dG9wOi04cHg7cmlnaHQ6LThweDtib3R0b206LThweDtsZWZ0Oi04cHg7b3BhY2l0eToxfS5odnItcm91bmQtY29ybmVyc3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpib3JkZXItcmFkaXVzO3RyYW5zaXRpb24tcHJvcGVydHk6Ym9yZGVyLXJhZGl1c30uaHZyLXJvdW5kLWNvcm5lcnM6YWN0aXZlLC5odnItcm91bmQtY29ybmVyczpmb2N1cywuaHZyLXJvdW5kLWNvcm5lcnM6aG92ZXJ7Ym9yZGVyLXJhZGl1czoxZW19Lmh2ci11bmRlcmxpbmUtZnJvbS1sZWZ0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtsZWZ0OjA7cmlnaHQ6MTAwJTtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7aGVpZ2h0OjRweDstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6cmlnaHQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTpyaWdodDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci11bmRlcmxpbmUtZnJvbS1sZWZ0OmFjdGl2ZTpiZWZvcmUsLmh2ci11bmRlcmxpbmUtZnJvbS1sZWZ0OmZvY3VzOmJlZm9yZSwuaHZyLXVuZGVybGluZS1mcm9tLWxlZnQ6aG92ZXI6YmVmb3Jle3JpZ2h0OjB9Lmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5odnItdW5kZXJsaW5lLWZyb20tY2VudGVyOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7bGVmdDo1MCU7cmlnaHQ6NTAlO2JvdHRvbTowO2JhY2tncm91bmQ6IzIwOThkMTtoZWlnaHQ6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpsZWZ0LHJpZ2h0O3RyYW5zaXRpb24tcHJvcGVydHk6bGVmdCxyaWdodDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXI6YWN0aXZlOmJlZm9yZSwuaHZyLXVuZGVybGluZS1mcm9tLWNlbnRlcjpmb2N1czpiZWZvcmUsLmh2ci11bmRlcmxpbmUtZnJvbS1jZW50ZXI6aG92ZXI6YmVmb3Jle2xlZnQ6MDtyaWdodDowfS5odnItdW5kZXJsaW5lLWZyb20tcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5odnItdW5kZXJsaW5lLWZyb20tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtsZWZ0OjEwMCU7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7aGVpZ2h0OjRweDstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6bGVmdDt0cmFuc2l0aW9uLXByb3BlcnR5OmxlZnQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItdW5kZXJsaW5lLWZyb20tcmlnaHQ6YWN0aXZlOmJlZm9yZSwuaHZyLXVuZGVybGluZS1mcm9tLXJpZ2h0OmZvY3VzOmJlZm9yZSwuaHZyLXVuZGVybGluZS1mcm9tLXJpZ2h0OmhvdmVyOmJlZm9yZXtsZWZ0OjB9Lmh2ci1vdmVybGluZS1mcm9tLWxlZnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5odnItb3ZlcmxpbmUtZnJvbS1sZWZ0OmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7bGVmdDowO3JpZ2h0OjEwMCU7dG9wOjA7YmFja2dyb3VuZDojMjA5OGQxO2hlaWdodDo0cHg7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnJpZ2h0O3RyYW5zaXRpb24tcHJvcGVydHk6cmlnaHQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItb3ZlcmxpbmUtZnJvbS1sZWZ0OmFjdGl2ZTpiZWZvcmUsLmh2ci1vdmVybGluZS1mcm9tLWxlZnQ6Zm9jdXM6YmVmb3JlLC5odnItb3ZlcmxpbmUtZnJvbS1sZWZ0OmhvdmVyOmJlZm9yZXtyaWdodDowfS5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5odnItb3ZlcmxpbmUtZnJvbS1jZW50ZXI6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtsZWZ0OjUwJTtyaWdodDo1MCU7dG9wOjA7YmFja2dyb3VuZDojMjA5OGQxO2hlaWdodDo0cHg7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmxlZnQscmlnaHQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTpsZWZ0LHJpZ2h0Oy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLW92ZXJsaW5lLWZyb20tY2VudGVyOmFjdGl2ZTpiZWZvcmUsLmh2ci1vdmVybGluZS1mcm9tLWNlbnRlcjpmb2N1czpiZWZvcmUsLmh2ci1vdmVybGluZS1mcm9tLWNlbnRlcjpob3ZlcjpiZWZvcmV7bGVmdDowO3JpZ2h0OjB9Lmh2ci1vdmVybGluZS1mcm9tLXJpZ2h0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uaHZyLW92ZXJsaW5lLWZyb20tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtsZWZ0OjEwMCU7cmlnaHQ6MDt0b3A6MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7aGVpZ2h0OjRweDstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6bGVmdDt0cmFuc2l0aW9uLXByb3BlcnR5OmxlZnQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItb3ZlcmxpbmUtZnJvbS1yaWdodDphY3RpdmU6YmVmb3JlLC5odnItb3ZlcmxpbmUtZnJvbS1yaWdodDpmb2N1czpiZWZvcmUsLmh2ci1vdmVybGluZS1mcm9tLXJpZ2h0OmhvdmVyOmJlZm9yZXtsZWZ0OjB9Lmh2ci1yZXZlYWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7b3ZlcmZsb3c6aGlkZGVufS5odnItcmV2ZWFsOmJlZm9yZXtjb250ZW50OiIiO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7bGVmdDowO3JpZ2h0OjA7dG9wOjA7Ym90dG9tOjA7Ym9yZGVyLWNvbG9yOiMyMDk4ZDE7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpib3JkZXItd2lkdGg7dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3JkZXItd2lkdGg7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItcmV2ZWFsOmFjdGl2ZTpiZWZvcmUsLmh2ci1yZXZlYWw6Zm9jdXM6YmVmb3JlLC5odnItcmV2ZWFsOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApO2JvcmRlci13aWR0aDo0cHh9Lmh2ci11bmRlcmxpbmUtcmV2ZWFse2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO292ZXJmbG93OmhpZGRlbn0uaHZyLXVuZGVybGluZS1yZXZlYWw6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7aGVpZ2h0OjRweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KTstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLXVuZGVybGluZS1yZXZlYWw6YWN0aXZlOmJlZm9yZSwuaHZyLXVuZGVybGluZS1yZXZlYWw6Zm9jdXM6YmVmb3JlLC5odnItdW5kZXJsaW5lLXJldmVhbDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0uaHZyLW92ZXJsaW5lLXJldmVhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzpoaWRkZW59Lmh2ci1vdmVybGluZS1yZXZlYWw6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtsZWZ0OjA7cmlnaHQ6MDt0b3A6MDtiYWNrZ3JvdW5kOiMyMDk4ZDE7aGVpZ2h0OjRweDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC00cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC00cHgpOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItb3ZlcmxpbmUtcmV2ZWFsOmFjdGl2ZTpiZWZvcmUsLmh2ci1vdmVybGluZS1yZXZlYWw6Zm9jdXM6YmVmb3JlLC5odnItb3ZlcmxpbmUtcmV2ZWFsOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5odnItZ2xvd3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93O3RyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvd30uaHZyLWdsb3c6YWN0aXZlLC5odnItZ2xvdzpmb2N1cywuaHZyLWdsb3c6aG92ZXJ7Ym94LXNoYWRvdzowIDAgOHB4IHJnYmEoMCwwLDAsLjYpfS5odnItc2hhZG93e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmJveC1zaGFkb3c7dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93fS5odnItc2hhZG93OmFjdGl2ZSwuaHZyLXNoYWRvdzpmb2N1cywuaHZyLXNoYWRvdzpob3Zlcntib3gtc2hhZG93OjAgMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwwLDAsLjUpfS5odnItZ3Jvdy1zaGFkb3d7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdyx0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93LHRyYW5zZm9ybX0uaHZyLWdyb3ctc2hhZG93OmFjdGl2ZSwuaHZyLWdyb3ctc2hhZG93OmZvY3VzLC5odnItZ3Jvdy1zaGFkb3c6aG92ZXJ7Ym94LXNoYWRvdzowIDEwcHggMTBweCAtMTBweCByZ2JhKDAsMCwwLC41KTstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfS5odnItYm94LXNoYWRvdy1vdXRzZXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6Ym94LXNoYWRvdzt0cmFuc2l0aW9uLXByb3BlcnR5OmJveC1zaGFkb3d9Lmh2ci1ib3gtc2hhZG93LW91dHNldDphY3RpdmUsLmh2ci1ib3gtc2hhZG93LW91dHNldDpmb2N1cywuaHZyLWJveC1zaGFkb3ctb3V0c2V0OmhvdmVye2JveC1zaGFkb3c6MnB4IDJweCAycHggcmdiYSgwLDAsMCwuNil9Lmh2ci1ib3gtc2hhZG93LWluc2V0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmJveC1zaGFkb3c7dHJhbnNpdGlvbi1wcm9wZXJ0eTpib3gtc2hhZG93O2JveC1zaGFkb3c6aW5zZXQgMCAwIDAgcmdiYSgwLDAsMCwuNiksMCAwIDFweCByZ2JhKDAsMCwwLDApfS5odnItYm94LXNoYWRvdy1pbnNldDphY3RpdmUsLmh2ci1ib3gtc2hhZG93LWluc2V0OmZvY3VzLC5odnItYm94LXNoYWRvdy1pbnNldDpob3Zlcntib3gtc2hhZG93Omluc2V0IDJweCAycHggMnB4IHJnYmEoMCwwLDAsLjYpLDAgMCAxcHggcmdiYSgwLDAsMCwwKX0uaHZyLWZsb2F0LXNoYWRvd3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19Lmh2ci1mbG9hdC1zaGFkb3c6YmVmb3Jle3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtjb250ZW50OicnO3RvcDoxMDAlO2xlZnQ6NSU7aGVpZ2h0OjEwcHg7d2lkdGg6OTAlO29wYWNpdHk6MDtiYWNrZ3JvdW5kOi13ZWJraXQtcmFkaWFsLWdyYWRpZW50KGNlbnRlcixlbGxpcHNlLHJnYmEoMCwwLDAsLjM1KSAwLHJnYmEoMCwwLDAsMCkgODAlKTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlcixyZ2JhKDAsMCwwLC4zNSkgMCxyZ2JhKDAsMCwwLDApIDgwJSk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtLG9wYWNpdHk7dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm0sb3BhY2l0eX0uaHZyLWZsb2F0LXNoYWRvdzphY3RpdmUsLmh2ci1mbG9hdC1zaGFkb3c6Zm9jdXMsLmh2ci1mbG9hdC1zaGFkb3c6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNXB4KX0uaHZyLWZsb2F0LXNoYWRvdzphY3RpdmU6YmVmb3JlLC5odnItZmxvYXQtc2hhZG93OmZvY3VzOmJlZm9yZSwuaHZyLWZsb2F0LXNoYWRvdzpob3ZlcjpiZWZvcmV7b3BhY2l0eToxOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg1cHgpfS5odnItc2hhZG93LXJhZGlhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uaHZyLXNoYWRvdy1yYWRpYWw6YWZ0ZXIsLmh2ci1zaGFkb3ctcmFkaWFsOmJlZm9yZXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6Jyc7bGVmdDowO3dpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94O2hlaWdodDo1cHg7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5Om9wYWNpdHk7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5fS5odnItc2hhZG93LXJhZGlhbDpiZWZvcmV7Ym90dG9tOjEwMCU7YmFja2dyb3VuZDotd2Via2l0LXJhZGlhbC1ncmFkaWVudCg1MCUgMTUwJSxlbGxpcHNlLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwwKSA4MCUpO2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgNTAlIDE1MCUscmdiYSgwLDAsMCwuNikgMCxyZ2JhKDAsMCwwLDApIDgwJSl9Lmh2ci1zaGFkb3ctcmFkaWFsOmFmdGVye3RvcDoxMDAlO2JhY2tncm91bmQ6LXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoNTAlIC01MCUsZWxsaXBzZSxyZ2JhKDAsMCwwLC42KSAwLHJnYmEoMCwwLDAsMCkgODAlKTtiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IDUwJSAtNTAlLHJnYmEoMCwwLDAsLjYpIDAscmdiYSgwLDAsMCwwKSA4MCUpfS5odnItc2hhZG93LXJhZGlhbDphY3RpdmU6YWZ0ZXIsLmh2ci1zaGFkb3ctcmFkaWFsOmFjdGl2ZTpiZWZvcmUsLmh2ci1zaGFkb3ctcmFkaWFsOmZvY3VzOmFmdGVyLC5odnItc2hhZG93LXJhZGlhbDpmb2N1czpiZWZvcmUsLmh2ci1zaGFkb3ctcmFkaWFsOmhvdmVyOmFmdGVyLC5odnItc2hhZG93LXJhZGlhbDpob3ZlcjpiZWZvcmV7b3BhY2l0eToxfS5odnItYnViYmxlLXRvcHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uaHZyLWJ1YmJsZS10b3A6YmVmb3Jle3BvaW50ZXItZXZlbnRzOm5vbmU7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtjb250ZW50OicnO2JvcmRlci1zdHlsZTpzb2xpZDstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07bGVmdDpjYWxjKDUwJSAtIDEwcHgpO3RvcDowO2JvcmRlci13aWR0aDowIDEwcHggMTBweDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2UxZTFlMX0uaHZyLWJ1YmJsZS10b3A6YWN0aXZlOmJlZm9yZSwuaHZyLWJ1YmJsZS10b3A6Zm9jdXM6YmVmb3JlLC5odnItYnViYmxlLXRvcDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpfS5odnItYnViYmxlLXJpZ2h0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5odnItYnViYmxlLXJpZ2h0OmJlZm9yZXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6LTE7Y29udGVudDonJztib3JkZXItc3R5bGU6c29saWQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RvcDpjYWxjKDUwJSAtIDEwcHgpO3JpZ2h0OjA7Ym9yZGVyLXdpZHRoOjEwcHggMCAxMHB4IDEwcHg7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNlMWUxZTF9Lmh2ci1idWJibGUtcmlnaHQ6YWN0aXZlOmJlZm9yZSwuaHZyLWJ1YmJsZS1yaWdodDpmb2N1czpiZWZvcmUsLmh2ci1idWJibGUtcmlnaHQ6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTBweCl9Lmh2ci1idWJibGUtYm90dG9te2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5odnItYnViYmxlLWJvdHRvbTpiZWZvcmV7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2NvbnRlbnQ6Jyc7Ym9yZGVyLXN0eWxlOnNvbGlkOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTtsZWZ0OmNhbGMoNTAlIC0gMTBweCk7Ym90dG9tOjA7Ym9yZGVyLXdpZHRoOjEwcHggMTBweCAwO2JvcmRlci1jb2xvcjojZTFlMWUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50fS5odnItYnViYmxlLWJvdHRvbTphY3RpdmU6YmVmb3JlLC5odnItYnViYmxlLWJvdHRvbTpmb2N1czpiZWZvcmUsLmh2ci1idWJibGUtYm90dG9tOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDEwcHgpfS5odnItYnViYmxlLWxlZnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci1idWJibGUtbGVmdDpiZWZvcmV7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2NvbnRlbnQ6Jyc7Ym9yZGVyLXN0eWxlOnNvbGlkOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0b3A6Y2FsYyg1MCUgLSAxMHB4KTtsZWZ0OjA7Ym9yZGVyLXdpZHRoOjEwcHggMTBweCAxMHB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICNlMWUxZTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnR9Lmh2ci1idWJibGUtbGVmdDphY3RpdmU6YmVmb3JlLC5odnItYnViYmxlLWxlZnQ6Zm9jdXM6YmVmb3JlLC5odnItYnViYmxlLWxlZnQ6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KX0uaHZyLWJ1YmJsZS1mbG9hdC10b3B7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5odnItYnViYmxlLWZsb2F0LXRvcDpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtjb250ZW50OicnO2xlZnQ6Y2FsYyg1MCUgLSAxMHB4KTt0b3A6MDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjAgMTBweCAxMHB4O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTFlMWUxOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uaHZyLWJ1YmJsZS1mbG9hdC10b3A6YWN0aXZlLC5odnItYnViYmxlLWZsb2F0LXRvcDpmb2N1cywuaHZyLWJ1YmJsZS1mbG9hdC10b3A6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgxMHB4KX0uaHZyLWJ1YmJsZS1mbG9hdC10b3A6YWN0aXZlOmJlZm9yZSwuaHZyLWJ1YmJsZS1mbG9hdC10b3A6Zm9jdXM6YmVmb3JlLC5odnItYnViYmxlLWZsb2F0LXRvcDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwcHgpfS5odnItYnViYmxlLWZsb2F0LXJpZ2h0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTt0b3A6Y2FsYyg1MCUgLSAxMHB4KTtyaWdodDowO2NvbnRlbnQ6Jyc7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDoxMHB4IDAgMTBweCAxMHB4O2JvcmRlci1jb2xvcjp0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZTFlMWUxOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybX0uaHZyLWJ1YmJsZS1mbG9hdC1yaWdodDphY3RpdmUsLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6Zm9jdXMsLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6aG92ZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTEwcHgpfS5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmFjdGl2ZTpiZWZvcmUsLmh2ci1idWJibGUtZmxvYXQtcmlnaHQ6Zm9jdXM6YmVmb3JlLC5odnItYnViYmxlLWZsb2F0LXJpZ2h0OmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpfS5odnItYnViYmxlLWZsb2F0LWJvdHRvbXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19Lmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmJlZm9yZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Oi0xO2NvbnRlbnQ6Jyc7bGVmdDpjYWxjKDUwJSAtIDEwcHgpO2JvdHRvbTowO2JvcmRlci1zdHlsZTpzb2xpZDtib3JkZXItd2lkdGg6MTBweCAxMHB4IDA7Ym9yZGVyLWNvbG9yOiNlMWUxZTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5odnItYnViYmxlLWZsb2F0LWJvdHRvbTphY3RpdmUsLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmZvY3VzLC5odnItYnViYmxlLWZsb2F0LWJvdHRvbTpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTBweCl9Lmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmFjdGl2ZTpiZWZvcmUsLmh2ci1idWJibGUtZmxvYXQtYm90dG9tOmZvY3VzOmJlZm9yZSwuaHZyLWJ1YmJsZS1mbG9hdC1ib3R0b206aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMTBweCl9Lmh2ci1idWJibGUtZmxvYXQtbGVmdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm19Lmh2ci1idWJibGUtZmxvYXQtbGVmdDpiZWZvcmV7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMTtjb250ZW50OicnO3RvcDpjYWxjKDUwJSAtIDEwcHgpO2xlZnQ6MDtib3JkZXItc3R5bGU6c29saWQ7Ym9yZGVyLXdpZHRoOjEwcHggMTBweCAxMHB4IDA7Ym9yZGVyLWNvbG9yOnRyYW5zcGFyZW50ICNlMWUxZTEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtfS5odnItYnViYmxlLWZsb2F0LWxlZnQ6YWN0aXZlLC5odnItYnViYmxlLWZsb2F0LWxlZnQ6Zm9jdXMsLmh2ci1idWJibGUtZmxvYXQtbGVmdDpob3Zlcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDEwcHgpfS5odnItYnViYmxlLWZsb2F0LWxlZnQ6YWN0aXZlOmJlZm9yZSwuaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmZvY3VzOmJlZm9yZSwuaHZyLWJ1YmJsZS1mbG9hdC1sZWZ0OmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xMHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTBweCl9Lmh2ci1pY29uLWJhY2t7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1sZWZ0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouMXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouMXN9Lmh2ci1pY29uLWJhY2s6YmVmb3Jle2NvbnRlbnQ6IlxmMTM3Ijtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4xczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1pY29uLWJhY2s6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tYmFjazpmb2N1czpiZWZvcmUsLmh2ci1pY29uLWJhY2s6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTRweCl9Lmh2ci1pY29uLWZvcndhcmR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjFzO3RyYW5zaXRpb24tZHVyYXRpb246LjFzfS5odnItaWNvbi1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjEzOCI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjFzO3RyYW5zaXRpb24tZHVyYXRpb246LjFzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tZm9yd2FyZDphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1mb3J3YXJkOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tZm9yd2FyZDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDRweCl9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWRvd257MCUsMTAwJSw1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0yNSUsNzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpfX1Aa2V5ZnJhbWVzIGh2ci1pY29uLWRvd257MCUsMTAwJSw1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0yNSUsNzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpfX0uaHZyLWljb24tZG93bntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtfS5odnItaWNvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZjAxYSI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uaHZyLWljb24tZG93bjphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1kb3duOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tZG93bjpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1kb3duO2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWRvd247LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Ljc1czthbmltYXRpb24tZHVyYXRpb246Ljc1czstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tdXB7MCUsMTAwJSw1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0yNSUsNzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCl9fUBrZXlmcmFtZXMgaHZyLWljb24tdXB7MCUsMTAwJSw1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0yNSUsNzUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCl9fS5odnItaWNvbi11cHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtfS5odnItaWNvbi11cDpiZWZvcmV7Y29udGVudDoiXGYwMWIiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lmh2ci1pY29uLXVwOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLXVwOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tdXA6aG92ZXI6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWljb24tdXA7YW5pbWF0aW9uLW5hbWU6aHZyLWljb24tdXA7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Ljc1czthbmltYXRpb24tZHVyYXRpb246Ljc1czstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tc3BpbntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtfS5odnItaWNvbi1zcGluOmJlZm9yZXtjb250ZW50OiJcZjAyMSI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOjFzO3RyYW5zaXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0fS5odnItaWNvbi1zcGluOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLXNwaW46Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1zcGluOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWRyb3B7MCV7b3BhY2l0eTowfTUwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfTEwMCUsNTEle29wYWNpdHk6MX19QGtleWZyYW1lcyBodnItaWNvbi1kcm9wezAle29wYWNpdHk6MH01MCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0xMDAlLDUxJXtvcGFjaXR5OjF9fS5odnItaWNvbi1kcm9we2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW19Lmh2ci1pY29uLWRyb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMDQxIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07b3BhY2l0eToxO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uaHZyLWljb24tZHJvcDphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1kcm9wOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tZHJvcDpob3ZlcjpiZWZvcmV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1kcm9wO2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWRyb3A7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNXM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6LjNzO2FuaW1hdGlvbi1kZWxheTouM3M7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllcigwLjUyLDEuNjQsLjM3LC42Nik7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC41MiwxLjY0LC4zNywuNjYpfS5odnItaWNvbi1mYWRle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW19Lmh2ci1pY29uLWZhZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDBjIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouNXM7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3J9Lmh2ci1pY29uLWZhZGU6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tZmFkZTpmb2N1czpiZWZvcmUsLmh2ci1pY29uLWZhZGU6aG92ZXI6YmVmb3Jle2NvbG9yOiMwRjlFNUV9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWZsb2F0LWF3YXl7MCV7b3BhY2l0eToxfTEwMCV7b3BhY2l0eTowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFlbSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTFlbSl9fUBrZXlmcmFtZXMgaHZyLWljb24tZmxvYXQtYXdheXswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMWVtKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMWVtKX19Lmh2ci1pY29uLWZsb2F0LWF3YXl7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbX0uaHZyLWljb24tZmxvYXQtYXdheTphZnRlciwuaHZyLWljb24tZmxvYXQtYXdheTpiZWZvcmV7Y29udGVudDoiXGYwNTUiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lfS5odnItaWNvbi1mbG9hdC1hd2F5OmFmdGVye29wYWNpdHk6MDstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouNXM7YW5pbWF0aW9uLWR1cmF0aW9uOi41czstd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7YW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkc30uaHZyLWljb24tZmxvYXQtYXdheTphY3RpdmU6YWZ0ZXIsLmh2ci1pY29uLWZsb2F0LWF3YXk6Zm9jdXM6YWZ0ZXIsLmh2ci1pY29uLWZsb2F0LWF3YXk6aG92ZXI6YWZ0ZXJ7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1mbG9hdC1hd2F5O2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWZsb2F0LWF3YXk7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXNpbmstYXdheXswJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgxZW0pO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDFlbSl9fUBrZXlmcmFtZXMgaHZyLWljb24tc2luay1hd2F5ezAle29wYWNpdHk6MX0xMDAle29wYWNpdHk6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFlbSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMWVtKX19Lmh2ci1pY29uLXNpbmstYXdheXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtfS5odnItaWNvbi1zaW5rLWF3YXk6YWZ0ZXIsLmh2ci1pY29uLXNpbmstYXdheTpiZWZvcmV7Y29udGVudDoiXGYwNTYiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lmh2ci1pY29uLXNpbmstYXdheTphZnRlcntvcGFjaXR5OjA7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjVzO2FuaW1hdGlvbi1kdXJhdGlvbjouNXM7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHN9Lmh2ci1pY29uLXNpbmstYXdheTphY3RpdmU6YWZ0ZXIsLmh2ci1pY29uLXNpbmstYXdheTpmb2N1czphZnRlciwuaHZyLWljb24tc2luay1hd2F5OmhvdmVyOmFmdGVyey13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWljb24tc2luay1hd2F5O2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXNpbmstYXdheTstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tZ3Jvd3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLWdyb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTE4Ijtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1ncm93OmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLWdyb3c6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1ncm93OmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMpIHRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnNjYWxlKDEuMykgdHJhbnNsYXRlWigwKX0uaHZyLWljb24tc2hyaW5re2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLWljb24tc2hyaW5rOmJlZm9yZXtjb250ZW50OiJcZjExOSI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tc2hyaW5rOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLXNocmluazpmb2N1czpiZWZvcmUsLmh2ci1pY29uLXNocmluazpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm06c2NhbGUoMC44KX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tcHVsc2V7MjUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9NzUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuOCk7dHJhbnNmb3JtOnNjYWxlKDAuOCl9fUBrZXlmcmFtZXMgaHZyLWljb24tcHVsc2V7MjUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMyk7dHJhbnNmb3JtOnNjYWxlKDEuMyl9NzUley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuOCk7dHJhbnNmb3JtOnNjYWxlKDAuOCl9fS5odnItaWNvbi1wdWxzZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtfS5odnItaWNvbi1wdWxzZTpiZWZvcmV7Y29udGVudDoiXGYwMTUiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tcHVsc2U6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tcHVsc2U6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1wdWxzZTpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1wdWxzZTthbmltYXRpb24tbmFtZTpodnItaWNvbi1wdWxzZTstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjoxczthbmltYXRpb24tZHVyYXRpb246MXM7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tcHVsc2UtZ3Jvd3t0b3std2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjMpO3RyYW5zZm9ybTpzY2FsZSgxLjMpfX1Aa2V5ZnJhbWVzIGh2ci1pY29uLXB1bHNlLWdyb3d7dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKTt0cmFuc2Zvcm06c2NhbGUoMS4zKX19Lmh2ci1pY29uLXB1bHNlLWdyb3d7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbX0uaHZyLWljb24tcHVsc2UtZ3JvdzpiZWZvcmV7Y29udGVudDoiXGYwMTUiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tcHVsc2UtZ3JvdzphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1wdWxzZS1ncm93OmZvY3VzOmJlZm9yZSwuaHZyLWljb24tcHVsc2UtZ3Jvdzpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1wdWxzZS1ncm93O2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXB1bHNlLWdyb3c7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjNzO2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTstd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246YWx0ZXJuYXRlO2FuaW1hdGlvbi1kaXJlY3Rpb246YWx0ZXJuYXRlfUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1wdWxzZS1zaHJpbmt7dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm06c2NhbGUoMC44KX19QGtleWZyYW1lcyBodnItaWNvbi1wdWxzZS1zaHJpbmt7dG97LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm06c2NhbGUoMC44KX19Lmh2ci1pY29uLXB1bHNlLXNocmlua3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtfS5odnItaWNvbi1wdWxzZS1zaHJpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMDE1Ijtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1pY29uLXB1bHNlLXNocmluazphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1wdWxzZS1zaHJpbms6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1wdWxzZS1zaHJpbms6aG92ZXI6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWljb24tcHVsc2Utc2hyaW5rO2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXB1bHNlLXNocmluazstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouM3M7YW5pbWF0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjphbHRlcm5hdGU7YW5pbWF0aW9uLWRpcmVjdGlvbjphbHRlcm5hdGV9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXB1c2h7NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuNSk7dHJhbnNmb3JtOnNjYWxlKDAuNSl9fUBrZXlmcmFtZXMgaHZyLWljb24tcHVzaHs1MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMC41KTt0cmFuc2Zvcm06c2NhbGUoMC41KX19Lmh2ci1pY29uLXB1c2h7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItaWNvbi1wdXNoOmJlZm9yZXtjb250ZW50OiJcZjAwNiI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tcHVzaDphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1wdXNoOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tcHVzaDpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1wdXNoO2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXB1c2g7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjNzO2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjF9QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLXBvcHs1MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS41KTt0cmFuc2Zvcm06c2NhbGUoMS41KX19QGtleWZyYW1lcyBodnItaWNvbi1wb3B7NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNSk7dHJhbnNmb3JtOnNjYWxlKDEuNSl9fS5odnItaWNvbi1wb3B7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItaWNvbi1wb3A6YmVmb3Jle2NvbnRlbnQ6IlxmMDA1Ijtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1wb3A6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tcG9wOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tcG9wOmhvdmVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXBvcDthbmltYXRpb24tbmFtZTpodnItaWNvbi1wb3A7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjNzO2FuaW1hdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjF9Lmh2ci1pY29uLWJvdW5jZXtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLWJvdW5jZTpiZWZvcmV7Y29udGVudDoiXGYwODciO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1pY29uLWJvdW5jZTphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1ib3VuY2U6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1ib3VuY2U6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNSk7dHJhbnNmb3JtOnNjYWxlKDEuNSk7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC40NywyLjAyLC4zMSwtLjM2KTt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoMC40NywyLjAyLC4zMSwtLjM2KX0uaHZyLWljb24tcm90YXRle2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmctcmlnaHQ6Mi4yZW07LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zc30uaHZyLWljb24tcm90YXRlOmJlZm9yZXtjb250ZW50OiJcZjBjNiI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tcm90YXRlOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLXJvdGF0ZTpmb2N1czpiZWZvcmUsLmh2ci1pY29uLXJvdGF0ZTpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDIwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDIwZGVnKX0uaHZyLWljb24tZ3Jvdy1yb3RhdGV7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItaWNvbi1ncm93LXJvdGF0ZTpiZWZvcmV7Y29udGVudDoiXGYwOTUiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtOy13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQ7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXR9Lmh2ci1pY29uLWdyb3ctcm90YXRlOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLWdyb3ctcm90YXRlOmZvY3VzOmJlZm9yZSwuaHZyLWljb24tZ3Jvdy1yb3RhdGU6aG92ZXI6YmVmb3Jley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuNSkgcm90YXRlKDEyZGVnKTt0cmFuc2Zvcm06c2NhbGUoMS41KSByb3RhdGUoMTJkZWcpfS5odnItaWNvbi1mbG9hdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLWZsb2F0OmJlZm9yZXtjb250ZW50OiJcZjAxYiI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07dHJhbnNpdGlvbi1wcm9wZXJ0eTp0cmFuc2Zvcm07LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dDt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dH0uaHZyLWljb24tZmxvYXQ6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24tZmxvYXQ6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1mbG9hdDpob3ZlcjpiZWZvcmV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNHB4KX0uaHZyLWljb24tc2lua3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLXNpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMDFhIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7LXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTstd2Via2l0LXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0O3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0fS5odnItaWNvbi1zaW5rOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLXNpbms6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1zaW5rOmhvdmVyOmJlZm9yZXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tYm9iezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTJweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX1Aa2V5ZnJhbWVzIGh2ci1pY29uLWJvYnswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KX19QC13ZWJraXQta2V5ZnJhbWVzIGh2ci1pY29uLWJvYi1mbG9hdHsxMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCl9fUBrZXlmcmFtZXMgaHZyLWljb24tYm9iLWZsb2F0ezEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KX19Lmh2ci1pY29uLWJvYntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjIuMmVtOy13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjouM3M7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9Lmh2ci1pY29uLWJvYjpiZWZvcmV7Y29udGVudDoiXGYwNzciO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lmh2ci1pY29uLWJvYjphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1ib2I6Zm9jdXM6YmVmb3JlLC5odnItaWNvbi1ib2I6aG92ZXI6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWljb24tYm9iLWZsb2F0LGh2ci1pY29uLWJvYjthbmltYXRpb24tbmFtZTpodnItaWNvbi1ib2ItZmxvYXQsaHZyLWljb24tYm9iOy13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOi4zcywxLjVzO2FuaW1hdGlvbi1kdXJhdGlvbjouM3MsMS41czstd2Via2l0LWFuaW1hdGlvbi1kZWxheTowcywuM3M7YW5pbWF0aW9uLWRlbGF5OjBzLC4zczstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQsZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLW91dCxlYXNlLWluLW91dDstd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MSxpbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjEsaW5maW5pdGU7LXdlYmtpdC1hbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzO2FuaW1hdGlvbi1maWxsLW1vZGU6Zm9yd2FyZHM7LXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbCxhbHRlcm5hdGU7YW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWwsYWx0ZXJuYXRlfUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1oYW5nezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDJweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpfX1Aa2V5ZnJhbWVzIGh2ci1pY29uLWhhbmd7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCl9NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgycHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSg2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCl9fUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1oYW5nLXNpbmt7MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KX19QGtleWZyYW1lcyBodnItaWNvbi1oYW5nLXNpbmt7MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KX19Lmh2ci1pY29uLWhhbmd7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItaWNvbi1oYW5nOmJlZm9yZXtjb250ZW50OiJcZjA3OCI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uaHZyLWljb24taGFuZzphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1oYW5nOmZvY3VzOmJlZm9yZSwuaHZyLWljb24taGFuZzpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1oYW5nLXNpbmssaHZyLWljb24taGFuZzthbmltYXRpb24tbmFtZTpodnItaWNvbi1oYW5nLXNpbmssaHZyLWljb24taGFuZzstd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjouM3MsMS41czthbmltYXRpb24tZHVyYXRpb246LjNzLDEuNXM7LXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MHMsLjNzO2FuaW1hdGlvbi1kZWxheTowcywuM3M7LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2Utb3V0LGVhc2UtaW4tb3V0O2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZS1vdXQsZWFzZS1pbi1vdXQ7LXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OjEsaW5maW5pdGU7YW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxLGluZmluaXRlOy13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTpmb3J3YXJkczthbmltYXRpb24tZmlsbC1tb2RlOmZvcndhcmRzOy13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWwsYWx0ZXJuYXRlO2FuaW1hdGlvbi1kaXJlY3Rpb246bm9ybWFsLGFsdGVybmF0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24td29iYmxlLWhvcml6b250YWx7MTYuNjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCg2cHgpfTMzLjMley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTVweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTVweCl9NDkuOTUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNHB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpfTY2LjYley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCl9ODMuMjUley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgxcHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwKX19QGtleWZyYW1lcyBodnItaWNvbi13b2JibGUtaG9yaXpvbnRhbHsxNi42NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg2cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDZweCl9MzMuMyV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNXB4KX00OS45NSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg0cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDRweCl9NjYuNiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KX04My4yNSV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgxcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDApfX0uaHZyLWljb24td29iYmxlLWhvcml6b250YWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItaWNvbi13b2JibGUtaG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGYwNjEiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lmh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsOmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLXdvYmJsZS1ob3Jpem9udGFsOmZvY3VzOmJlZm9yZSwuaHZyLWljb24td29iYmxlLWhvcml6b250YWw6aG92ZXI6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWljb24td29iYmxlLWhvcml6b250YWw7YW5pbWF0aW9uLW5hbWU6aHZyLWljb24td29iYmxlLWhvcml6b250YWw7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24td29iYmxlLXZlcnRpY2FsezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fUBrZXlmcmFtZXMgaHZyLWljb24td29iYmxlLXZlcnRpY2FsezE2LjY1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KX0zMy4zJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01cHgpfTQ5Ljk1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDRweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNHB4KX02Ni42JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0ycHgpfTgzLjI1JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDFweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMXB4KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9fS5odnItaWNvbi13b2JibGUtdmVydGljYWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItaWNvbi13b2JibGUtdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMDYyIjtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoxZW07cGFkZGluZzowIDFweDtmb250LWZhbWlseTpGb250QXdlc29tZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5odnItaWNvbi13b2JibGUtdmVydGljYWw6YWN0aXZlOmJlZm9yZSwuaHZyLWljb24td29iYmxlLXZlcnRpY2FsOmZvY3VzOmJlZm9yZSwuaHZyLWljb24td29iYmxlLXZlcnRpY2FsOmhvdmVyOmJlZm9yZXstd2Via2l0LWFuaW1hdGlvbi1uYW1lOmh2ci1pY29uLXdvYmJsZS12ZXJ0aWNhbDthbmltYXRpb24tbmFtZTpodnItaWNvbi13b2JibGUtdmVydGljYWw7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246MXM7YW5pbWF0aW9uLWR1cmF0aW9uOjFzOy13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlLWluLW91dDthbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2UtaW4tb3V0Oy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX1ALXdlYmtpdC1rZXlmcmFtZXMgaHZyLWljb24tYnV6ens1MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpfX1Aa2V5ZnJhbWVzIGh2ci1pY29uLWJ1enp7NTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKX19Lmh2ci1pY29uLWJ1enp7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItaWNvbi1idXp6OmJlZm9yZXtjb250ZW50OiJcZjAxNyI7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MWVtO3BhZGRpbmc6MCAxcHg7Zm9udC1mYW1pbHk6Rm9udEF3ZXNvbWU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0uaHZyLWljb24tYnV6ejphY3RpdmU6YmVmb3JlLC5odnItaWNvbi1idXp6OmZvY3VzOmJlZm9yZSwuaHZyLWljb24tYnV6ejpob3ZlcjpiZWZvcmV7LXdlYmtpdC1hbmltYXRpb24tbmFtZTpodnItaWNvbi1idXp6O2FuaW1hdGlvbi1uYW1lOmh2ci1pY29uLWJ1eno7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246LjE1czthbmltYXRpb24tZHVyYXRpb246LjE1czstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTthbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBodnItaWNvbi1idXp6LW91dHsxMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgzcHgpIHJvdGF0ZSgyZGVnKX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyl9MzAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyl9NDAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDJweCkgcm90YXRlKDFkZWcpfTYwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKX03MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKX04MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyl9OTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMXB4KSByb3RhdGUoMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xcHgpIHJvdGF0ZSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCl9fUBrZXlmcmFtZXMgaHZyLWljb24tYnV6ei1vdXR7MTAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoM3B4KSByb3RhdGUoMmRlZyl9MjAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtM3B4KSByb3RhdGUoLTJkZWcpfTMwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDNweCkgcm90YXRlKDJkZWcpfTQwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0zcHgpIHJvdGF0ZSgtMmRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTNweCkgcm90YXRlKC0yZGVnKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgycHgpIHJvdGF0ZSgxZGVnKX02MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC0ycHgpIHJvdGF0ZSgtMWRlZyl9NzAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMnB4KSByb3RhdGUoMWRlZyl9ODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTJweCkgcm90YXRlKC0xZGVnKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMnB4KSByb3RhdGUoLTFkZWcpfTkwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDFweCkgcm90YXRlKDApfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMXB4KSByb3RhdGUoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTFweCkgcm90YXRlKDApfX0uaHZyLWljb24tYnV6ei1vdXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZy1yaWdodDoyLjJlbTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzfS5odnItaWNvbi1idXp6LW91dDpiZWZvcmV7Y29udGVudDoiXGYwMjMiO3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjFlbTtwYWRkaW5nOjAgMXB4O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lmh2ci1pY29uLWJ1enotb3V0OmFjdGl2ZTpiZWZvcmUsLmh2ci1pY29uLWJ1enotb3V0OmZvY3VzOmJlZm9yZSwuaHZyLWljb24tYnV6ei1vdXQ6aG92ZXI6YmVmb3Jley13ZWJraXQtYW5pbWF0aW9uLW5hbWU6aHZyLWljb24tYnV6ei1vdXQ7YW5pbWF0aW9uLW5hbWU6aHZyLWljb24tYnV6ei1vdXQ7LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Ljc1czthbmltYXRpb24tZHVyYXRpb246Ljc1czstd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyO2FuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyOy13ZWJraXQtYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MX0uaHZyLWN1cmwtdG9wLWxlZnR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci1jdXJsLXRvcC1sZWZ0OmJlZm9yZXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6Jyc7aGVpZ2h0OjA7d2lkdGg6MDt0b3A6MDtsZWZ0OjA7YmFja2dyb3VuZDojZmZmO2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDEzNWRlZywjZmZmIDQ1JSwjYWFhIDUwJSwjY2NjIDU2JSwjZmZmIDgwJSk7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChHcmFkaWVudFR5cGU9MCwgc3RhcnRDb2xvcnN0cj0nI2ZmZmZmZicsIGVuZENvbG9yc3RyPScjMDAwMDAwJyk7ei1pbmRleDoxMDAwO2JveC1zaGFkb3c6MXB4IDFweCAxcHggcmdiYSgwLDAsMCwuNCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6d2lkdGgsaGVpZ2h0O3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGgsaGVpZ2h0fS5odnItY3VybC10b3AtbGVmdDphY3RpdmU6YmVmb3JlLC5odnItY3VybC10b3AtbGVmdDpmb2N1czpiZWZvcmUsLmh2ci1jdXJsLXRvcC1sZWZ0OmhvdmVyOmJlZm9yZXt3aWR0aDoyNXB4O2hlaWdodDoyNXB4fS5odnItY3VybC10b3AtcmlnaHR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVooMCk7Ym94LXNoYWRvdzowIDAgMXB4IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjtiYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbjstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGU7cG9zaXRpb246cmVsYXRpdmV9Lmh2ci1jdXJsLXRvcC1yaWdodDpiZWZvcmV7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OicnO2hlaWdodDowO3dpZHRoOjA7dG9wOjA7cmlnaHQ6MDtiYWNrZ3JvdW5kOiNmZmY7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoMjI1ZGVnLCNmZmYgNDUlLCNhYWEgNTAlLCNjY2MgNTYlLCNmZmYgODAlKTtib3gtc2hhZG93Oi0xcHggMXB4IDFweCByZ2JhKDAsMCwwLC40KTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxoZWlnaHQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxoZWlnaHR9Lmh2ci1jdXJsLXRvcC1yaWdodDphY3RpdmU6YmVmb3JlLC5odnItY3VybC10b3AtcmlnaHQ6Zm9jdXM6YmVmb3JlLC5odnItY3VybC10b3AtcmlnaHQ6aG92ZXI6YmVmb3Jle3dpZHRoOjI1cHg7aGVpZ2h0OjI1cHh9Lmh2ci1jdXJsLWJvdHRvbS1yaWdodHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWigwKTtib3gtc2hhZG93OjAgMCAxcHggcmdiYSgwLDAsMCwwKTstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy1tb3otb3N4LWZvbnQtc21vb3RoaW5nOmdyYXlzY2FsZTtwb3NpdGlvbjpyZWxhdGl2ZX0uaHZyLWN1cmwtYm90dG9tLXJpZ2h0OmJlZm9yZXtwb2ludGVyLWV2ZW50czpub25lO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6Jyc7aGVpZ2h0OjA7d2lkdGg6MDtib3R0b206MDtyaWdodDowO2JhY2tncm91bmQ6I2ZmZjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgzMTVkZWcsI2ZmZiA0NSUsI2FhYSA1MCUsI2NjYyA1NiUsI2ZmZiA4MCUpO2JveC1zaGFkb3c6LTFweCAtMXB4IDFweCByZ2JhKDAsMCwwLC40KTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjNzO3RyYW5zaXRpb24tZHVyYXRpb246LjNzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxoZWlnaHQ7dHJhbnNpdGlvbi1wcm9wZXJ0eTp3aWR0aCxoZWlnaHR9Lmh2ci1jdXJsLWJvdHRvbS1yaWdodDphY3RpdmU6YmVmb3JlLC5odnItY3VybC1ib3R0b20tcmlnaHQ6Zm9jdXM6YmVmb3JlLC5odnItY3VybC1ib3R0b20tcmlnaHQ6aG92ZXI6YmVmb3Jle3dpZHRoOjI1cHg7aGVpZ2h0OjI1cHh9Lmh2ci1jdXJsLWJvdHRvbS1sZWZ0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVaKDApO2JveC1zaGFkb3c6MCAwIDFweCByZ2JhKDAsMCwwLDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47YmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW47LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3Bvc2l0aW9uOnJlbGF0aXZlfS5odnItY3VybC1ib3R0b20tbGVmdDpiZWZvcmV7cG9pbnRlci1ldmVudHM6bm9uZTtwb3NpdGlvbjphYnNvbHV0ZTtjb250ZW50OicnO2hlaWdodDowO3dpZHRoOjA7Ym90dG9tOjA7bGVmdDowO2JhY2tncm91bmQ6I2ZmZjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCg0NWRlZywjZmZmIDQ1JSwjYWFhIDUwJSwjY2NjIDU2JSwjZmZmIDgwJSk7Ym94LXNoYWRvdzoxcHggLTFweCAxcHggcmdiYSgwLDAsMCwuNCk7LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOi4zczt0cmFuc2l0aW9uLWR1cmF0aW9uOi4zczstd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6d2lkdGgsaGVpZ2h0O3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGgsaGVpZ2h0fS5odnItY3VybC1ib3R0b20tbGVmdDphY3RpdmU6YmVmb3JlLC5odnItY3VybC1ib3R0b20tbGVmdDpmb2N1czpiZWZvcmUsLmh2ci1jdXJsLWJvdHRvbS1sZWZ0OmhvdmVyOmJlZm9yZXt3aWR0aDoyNXB4O2hlaWdodDoyNXB4fQoKCi8qCiAqIAltb2Rlcm5penIKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTW9kdWxlcyAtIHJldXNhYmxlIHBhcnRzIG9mIG91ciBkZXNpZ24tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLwouY2QtY29udGFpbmVyIHsvKiB0aGlzIGNsYXNzIGlzIHVzZWQgdG8gZ2l2ZSBhIG1heC13aWR0aCB0byB0aGUgZWxlbWVudCBpdCBpcyBhcHBsaWVkIHRvLCBhbmQgY2VudGVyIGl0IGhvcml6b250YWxseSB3aGVuIGl0IHJlYWNoZXMgdGhhdCBtYXgtd2lkdGggKi93aWR0aDogOTAlO21heC13aWR0aDogMTE3MHB4O21hcmdpbjogMCBhdXRvO30uY2QtY29udGFpbmVyOjphZnRlciB7LyogY2xlYXJmaXggKi9jb250ZW50OiAnJztkaXNwbGF5OiB0YWJsZTtjbGVhcjogYm90aDt9LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTWFpbiBjb21wb25lbnRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovI2NkLXRpbWVsaW5lIHtwb3NpdGlvbjogcmVsYXRpdmU7cGFkZGluZzogMmVtIDA7bWFyZ2luLXRvcDogMmVtO21hcmdpbi1ib3R0b206IDJlbTt9I2NkLXRpbWVsaW5lOjpiZWZvcmUgey8qIHRoaXMgaXMgdGhlIHZlcnRpY2FsIGxpbmUgKi9jb250ZW50OiAnJztwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDE4cHg7aGVpZ2h0OiAxMDAlO3dpZHRoOiA0cHg7YmFja2dyb3VuZDogI2Q3ZTRlZDt9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTcwcHgpIHsjY2QtdGltZWxpbmUge21hcmdpbi10b3A6IDNlbTttYXJnaW4tYm90dG9tOiAzZW07fSNjZC10aW1lbGluZTo6YmVmb3JlIHtsZWZ0OiA1MCU7bWFyZ2luLWxlZnQ6IC0ycHg7fX0uY2QtdGltZWxpbmUtYmxvY2sge3Bvc2l0aW9uOiByZWxhdGl2ZTttYXJnaW46IDJlbSAwO30uY2QtdGltZWxpbmUtYmxvY2s6YWZ0ZXIge2NvbnRlbnQ6ICIiO2Rpc3BsYXk6IHRhYmxlO2NsZWFyOiBib3RoO30uY2QtdGltZWxpbmUtYmxvY2s6Zmlyc3QtY2hpbGQge21hcmdpbi10b3A6IDA7fS5jZC10aW1lbGluZS1ibG9jazpsYXN0LWNoaWxkIHttYXJnaW4tYm90dG9tOiAwO31AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNzBweCkgey5jZC10aW1lbGluZS1ibG9jayB7bWFyZ2luOiA0ZW0gMDt9LmNkLXRpbWVsaW5lLWJsb2NrOmZpcnN0LWNoaWxkIHttYXJnaW4tdG9wOiAwO30uY2QtdGltZWxpbmUtYmxvY2s6bGFzdC1jaGlsZCB7bWFyZ2luLWJvdHRvbTogMDt9fS5jZC10aW1lbGluZS1pbWcge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDt3aWR0aDogNDBweDtoZWlnaHQ6IDQwcHg7Ym9yZGVyLXJhZGl1czogNTAlO2JveC1zaGFkb3c6IDAgMCAwIDRweCB3aGl0ZSwgaW5zZXQgMCAycHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDNweCAwIDRweCByZ2JhKDAsIDAsIDAsIDAuMDUpO30uY2QtdGltZWxpbmUtaW1nIGltZyB7ZGlzcGxheTogYmxvY2s7d2lkdGg6IDI0cHg7aGVpZ2h0OiAyNHB4O3Bvc2l0aW9uOiByZWxhdGl2ZTtsZWZ0OiA1MCU7dG9wOiA1MCU7bWFyZ2luLWxlZnQ6IC0xMnB4O21hcmdpbi10b3A6IC0xMnB4O30uY2QtdGltZWxpbmUtaW1nLmNkLXBpY3R1cmUge2JhY2tncm91bmQ6ICM3NWNlNjY7fS5jZC10aW1lbGluZS1pbWcuY2QtbW92aWUge2JhY2tncm91bmQ6ICNjMDNiNDQ7fS5jZC10aW1lbGluZS1pbWcuY2QtbG9jYXRpb24ge2JhY2tncm91bmQ6ICNmMGNhNDU7fUBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE3MHB4KSB7LmNkLXRpbWVsaW5lLWltZyB7d2lkdGg6IDYwcHg7aGVpZ2h0OiA2MHB4O2xlZnQ6IDUwJTttYXJnaW4tbGVmdDogLTMwcHg7LyogRm9yY2UgSGFyZHdhcmUgQWNjZWxlcmF0aW9uIGluIFdlYktpdCAqLy13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO30uY3NzYW5pbWF0aW9ucyAuY2QtdGltZWxpbmUtaW1nLmlzLWhpZGRlbiB7dmlzaWJpbGl0eTogaGlkZGVuO30uY3NzYW5pbWF0aW9ucyAuY2QtdGltZWxpbmUtaW1nLmJvdW5jZS1pbiB7dmlzaWJpbGl0eTogdmlzaWJsZTstd2Via2l0LWFuaW1hdGlvbjogY2QtYm91bmNlLTEgMC42czstbW96LWFuaW1hdGlvbjogY2QtYm91bmNlLTEgMC42czthbmltYXRpb246IGNkLWJvdW5jZS0xIDAuNnM7fX1ALXdlYmtpdC1rZXlmcmFtZXMgY2QtYm91bmNlLTEgezAlIHtvcGFjaXR5OiAwOy13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO302MCUge29wYWNpdHk6IDE7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7fTEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTt9fUAtbW96LWtleWZyYW1lcyBjZC1ib3VuY2UtMSB7MCUge29wYWNpdHk6IDA7LW1vei10cmFuc2Zvcm06IHNjYWxlKDAuNSk7fTYwJSB7b3BhY2l0eTogMTstbW96LXRyYW5zZm9ybTogc2NhbGUoMS4yKTt9MTAwJSB7LW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO319QGtleWZyYW1lcyBjZC1ib3VuY2UtMSB7MCUge29wYWNpdHk6IDA7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7LW1vei10cmFuc2Zvcm06IHNjYWxlKDAuNSk7LW1zLXRyYW5zZm9ybTogc2NhbGUoMC41KTstby10cmFuc2Zvcm06IHNjYWxlKDAuNSk7dHJhbnNmb3JtOiBzY2FsZSgwLjUpO302MCUge29wYWNpdHk6IDE7LXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMik7LW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMik7LW1zLXRyYW5zZm9ybTogc2NhbGUoMS4yKTstby10cmFuc2Zvcm06IHNjYWxlKDEuMik7dHJhbnNmb3JtOiBzY2FsZSgxLjIpO30xMDAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7LW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOy1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOy1vLXRyYW5zZm9ybTogc2NhbGUoMSk7dHJhbnNmb3JtOiBzY2FsZSgxKTt9fS5jZC10aW1lbGluZS1jb250ZW50IHtwb3NpdGlvbjogcmVsYXRpdmU7bWFyZ2luLWxlZnQ6IDYwcHg7YmFja2dyb3VuZDogd2hpdGU7Ym9yZGVyLXJhZGl1czogMC4yNWVtO3BhZGRpbmc6IDFlbTtib3gtc2hhZG93OiAwIDNweCAwICNkN2U0ZWQ7fS5jZC10aW1lbGluZS1jb250ZW50OmFmdGVyIHtjb250ZW50OiAiIjtkaXNwbGF5OiB0YWJsZTtjbGVhcjogYm90aDt9LmNkLXRpbWVsaW5lLWNvbnRlbnQgaDIge2NvbG9yOiAjMzAzZTQ5O30uY2QtdGltZWxpbmUtY29udGVudCBwLCAuY2QtdGltZWxpbmUtY29udGVudCAuY2QtcmVhZC1tb3JlLCAuY2QtdGltZWxpbmUtY29udGVudCAuY2QtZGF0ZSB7Zm9udC1zaXplOiAxM3B4O2ZvbnQtc2l6ZTogMC44MTI1cmVtO30uY2QtdGltZWxpbmUtY29udGVudCAuY2QtcmVhZC1tb3JlLCAuY2QtdGltZWxpbmUtY29udGVudCAuY2QtZGF0ZSB7ZGlzcGxheTogaW5saW5lLWJsb2NrO30uY2QtdGltZWxpbmUtY29udGVudCBwIHttYXJnaW46IDFlbSAwO2xpbmUtaGVpZ2h0OiAxLjY7fS5jZC10aW1lbGluZS1jb250ZW50IC5jZC1yZWFkLW1vcmUge2Zsb2F0OiByaWdodDtwYWRkaW5nOiAuOGVtIDFlbTtiYWNrZ3JvdW5kOiAjYWNiN2MwO2NvbG9yOiB3aGl0ZTtib3JkZXItcmFkaXVzOiAwLjI1ZW07fS5uby10b3VjaCAuY2QtdGltZWxpbmUtY29udGVudCAuY2QtcmVhZC1tb3JlOmhvdmVyIHtiYWNrZ3JvdW5kLWNvbG9yOiAjYmFjNGNiO30uY2QtdGltZWxpbmUtY29udGVudCAuY2QtZGF0ZSB7ZmxvYXQ6IGxlZnQ7cGFkZGluZzogLjhlbSAwO29wYWNpdHk6IC43O30uY2QtdGltZWxpbmUtY29udGVudDo6YmVmb3JlIHtjb250ZW50OiAnJztwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAxNnB4O3JpZ2h0OiAxMDAlO2hlaWdodDogMDt3aWR0aDogMDtib3JkZXI6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB3aGl0ZTt9QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkgey5jZC10aW1lbGluZS1jb250ZW50IGgyIHtmb250LXNpemU6IDIwcHg7Zm9udC1zaXplOiAxLjI1cmVtO30uY2QtdGltZWxpbmUtY29udGVudCBwIHtmb250LXNpemU6IDE2cHg7Zm9udC1zaXplOiAxcmVtO30uY2QtdGltZWxpbmUtY29udGVudCAuY2QtcmVhZC1tb3JlLCAuY2QtdGltZWxpbmUtY29udGVudCAuY2QtZGF0ZSB7Zm9udC1zaXplOiAxNHB4O2ZvbnQtc2l6ZTogMC44NzVyZW07fX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNzBweCkgey5jZC10aW1lbGluZS1jb250ZW50IHttYXJnaW4tbGVmdDogMDtwYWRkaW5nOiAxLjZlbTt3aWR0aDogNDUlO30uY2QtdGltZWxpbmUtY29udGVudDo6YmVmb3JlIHt0b3A6IDI0cHg7bGVmdDogMTAwJTtib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0LWNvbG9yOiB3aGl0ZTt9LmNkLXRpbWVsaW5lLWNvbnRlbnQgLmNkLXJlYWQtbW9yZSB7ZmxvYXQ6IGxlZnQ7fS5jZC10aW1lbGluZS1jb250ZW50IC5jZC1kYXRlIHtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6IDEwMCU7bGVmdDogMTIyJTt0b3A6IDZweDtmb250LXNpemU6IDE2cHg7Zm9udC1zaXplOiAxcmVtO30uY2QtdGltZWxpbmUtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIC5jZC10aW1lbGluZS1jb250ZW50IHtmbG9hdDogcmlnaHQ7fS5jZC10aW1lbGluZS1ibG9jazpudGgtY2hpbGQoZXZlbikgLmNkLXRpbWVsaW5lLWNvbnRlbnQ6OmJlZm9yZSB7dG9wOiAyNHB4O2xlZnQ6IGF1dG87cmlnaHQ6IDEwMCU7Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQtY29sb3I6IHdoaXRlO30uY2QtdGltZWxpbmUtYmxvY2s6bnRoLWNoaWxkKGV2ZW4pIC5jZC10aW1lbGluZS1jb250ZW50IC5jZC1yZWFkLW1vcmUge2Zsb2F0OiByaWdodDt9LmNkLXRpbWVsaW5lLWJsb2NrOm50aC1jaGlsZChldmVuKSAuY2QtdGltZWxpbmUtY29udGVudCAuY2QtZGF0ZSB7bGVmdDogYXV0bztyaWdodDogMTIyJTt0ZXh0LWFsaWduOiByaWdodDt9LmNzc2FuaW1hdGlvbnMgLmNkLXRpbWVsaW5lLWNvbnRlbnQuaXMtaGlkZGVuIHt2aXNpYmlsaXR5OiBoaWRkZW47fS5jc3NhbmltYXRpb25zIC5jZC10aW1lbGluZS1jb250ZW50LmJvdW5jZS1pbiB7dmlzaWJpbGl0eTogdmlzaWJsZTstd2Via2l0LWFuaW1hdGlvbjogY2QtYm91bmNlLTIgMC42czstbW96LWFuaW1hdGlvbjogY2QtYm91bmNlLTIgMC42czthbmltYXRpb246IGNkLWJvdW5jZS0yIDAuNnM7fX1AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExNzBweCkgey8qIGludmVyc2UgYm91bmNlIGVmZmVjdCBvbiBldmVuIGNvbnRlbnQgYmxvY2tzICovLmNzc2FuaW1hdGlvbnMgLmNkLXRpbWVsaW5lLWJsb2NrOm50aC1jaGlsZChldmVuKSAuY2QtdGltZWxpbmUtY29udGVudC5ib3VuY2UtaW4gey13ZWJraXQtYW5pbWF0aW9uOiBjZC1ib3VuY2UtMi1pbnZlcnNlIDAuNnM7LW1vei1hbmltYXRpb246IGNkLWJvdW5jZS0yLWludmVyc2UgMC42czthbmltYXRpb246IGNkLWJvdW5jZS0yLWludmVyc2UgMC42czt9fUAtd2Via2l0LWtleWZyYW1lcyBjZC1ib3VuY2UtMiB7MCUge29wYWNpdHk6IDA7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTt9NjAlIHtvcGFjaXR5OiAxOy13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO30xMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9fUAtbW96LWtleWZyYW1lcyBjZC1ib3VuY2UtMiB7MCUge29wYWNpdHk6IDA7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTt9NjAlIHtvcGFjaXR5OiAxOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpO30xMDAlIHstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9fUBrZXlmcmFtZXMgY2QtYm91bmNlLTIgezAlIHtvcGFjaXR5OiAwOy13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMHB4KTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7dHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDBweCk7fTYwJSB7b3BhY2l0eTogMTstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOy1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7fTEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9fUAtd2Via2l0LWtleWZyYW1lcyBjZC1ib3VuY2UtMi1pbnZlcnNlIHswJSB7b3BhY2l0eTogMDstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7fTYwJSB7b3BhY2l0eTogMTstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7fTEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO319QC1tb3ota2V5ZnJhbWVzIGNkLWJvdW5jZS0yLWludmVyc2UgezAlIHtvcGFjaXR5OiAwOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTt9NjAlIHtvcGFjaXR5OiAxOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTt9MTAwJSB7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7fX1Aa2V5ZnJhbWVzIGNkLWJvdW5jZS0yLWludmVyc2UgezAlIHtvcGFjaXR5OiAwOy13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7LW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDBweCk7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwcHgpO302MCUge29wYWNpdHk6IDE7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpO3RyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7fTEwMCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9fQoKLyoKICogCU1heGltYWdlIHNsaWRlcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiEgVmVyc2lvbjogMi4wLjczICgxMi1PY3QtMjAxMikgKi8KLm1jLWhpZGUtc2Nyb2xscyB7b3ZlcmZsb3c6IGhpZGRlbn1ib2R5IC5tYy1jeWNsZSB7aGVpZ2h0OiAxMDAlO2xlZnQ6IDA7b3ZlcmZsb3c6IGhpZGRlbjtwb3NpdGlvbjogZml4ZWQ7dG9wOiAwO3dpZHRoOiAxMDAlO3otaW5kZXg6IC0xfWRpdi5tYy1pbWFnZSB7LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UtaW4tb3V0Oy1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAxcyBlYXNlLWluLW91dDstby10cmFuc2l0aW9uOiBvcGFjaXR5IDFzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246IG9wYWNpdHkgMXMgZWFzZS1pbi1vdXQ7LXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyOy1tb3otYmFja2dyb3VuZC1zaXplOiBjb3Zlcjstby1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO2JhY2tncm91bmQtc2l6ZTogY292ZXI7YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O2hlaWdodDogMTAwJTtvdmVyZmxvdzogaGlkZGVuO3dpZHRoOiAxMDAlfS5tYy1vbGQtYnJvd3NlciAubWMtaW1hZ2Uge292ZXJmbG93OiBoaWRkZW59Lm1heGltYWdlLXNsaWRlciAjbWF4aW1hZ2Uge2JhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7ZGlzcGxheTogYmxvY2s7aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7b3ZlcmZsb3c6IGhpZGRlbjtwb3NpdGlvbjogYWJzb2x1dGU7d2lkdGg6IDEwMCUgIWltcG9ydGFudDt6LWluZGV4OiAwO30ubWF4aW1hZ2Utc2xpZGVyICNtYXhpbWFnZSAubWMtaW1hZ2Uge2hlaWdodDogMTAwJSAhaW1wb3J0YW50O30ubWF4aW1hZ2Utc2xpZGVyLnN0YXRpYyAjbWF4aW1hZ2Uge3Bvc2l0aW9uOiBmaXhlZDt9Lm1heGltYWdlLXNsaWRlciAuZnVsbHNjcmVlbi1jb250cm9scyB7bWFyZ2luLXRvcDogLTY0cHg7cG9zaXRpb246IGFic29sdXRlO3RvcDogNTAlO3dpZHRoOiAxMDAlO3otaW5kZXg6IDU7fS5tYXhpbWFnZS1zbGlkZXIgLmZ1bGxzY3JlZW4tY29udHJvbHMgLmltZy1wcmV2LCAgLm1heGltYWdlLXNsaWRlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLW5leHQge2NvbG9yOiAjZmZmZmZmO2ZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTtvcGFjaXR5OiAwO3Bvc2l0aW9uOiBhYnNvbHV0ZTt9Lm1heGltYWdlLXNsaWRlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLXByZXYgaSwgIC5tYXhpbWFnZS1zbGlkZXIgLmZ1bGxzY3JlZW4tY29udHJvbHMgLmltZy1uZXh0IGkge2ZvbnQtc2l6ZTogNjRweDt9Lm1heGltYWdlLXNsaWRlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLXByZXY6aG92ZXIsICAubWF4aW1hZ2Utc2xpZGVyIC5mdWxsc2NyZWVuLWNvbnRyb2xzIC5pbWctbmV4dDpob3ZlciB7Y3Vyc29yOiBwb2ludGVyO3RleHQtZGVjb3JhdGlvbjogbm9uZTt9Lm1heGltYWdlLXNsaWRlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLXByZXYge2xlZnQ6IDE1cHg7LXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIGxlZnQgMC4zczstby10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIGxlZnQgMC4zczt0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIGxlZnQgMC4zczt9Lm1heGltYWdlLXNsaWRlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLW5leHQge3JpZ2h0OiAxNXB4Oy13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzLCByaWdodCAwLjNzOy1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgcmlnaHQgMC4zczt0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHJpZ2h0IDAuM3M7fS5tYXhpbWFnZS1zbGlkZXI6aG92ZXIgLmZ1bGxzY3JlZW4tY29udHJvbHMgLmltZy1wcmV2LCAubWF4aW1hZ2Utc2xpZGVyOmhvdmVyIC5mdWxsc2NyZWVuLWNvbnRyb2xzIC5pbWctbmV4dCB7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7b3BhY2l0eTogMTt9Lm1heGltYWdlLXNsaWRlcjpob3ZlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLXByZXYge2xlZnQ6IDI1cHg7fS5tYXhpbWFnZS1zbGlkZXI6aG92ZXIgLmZ1bGxzY3JlZW4tY29udHJvbHMgLmltZy1uZXh0IHtyaWdodDogMjVweDt9CgovKgogKiAJQnhTbGlkZXIKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KCi8qKiogQnhTbGlkZXIgdjQuMS4yIC0gRnVsbHkgbG9hZGVkLCByZXNwb25zaXZlIGNvbnRlbnQgc2xpZGVyKiBodHRwOi8vYnhzbGlkZXIuY29tKiogV3JpdHRlbiBieTogU3RldmVuIFdhbmRlcnNraSwgMjAxNCogaHR0cDovL3N0ZXZlbndhbmRlcnNraS5jb20qICh3aGlsZSBkcmlua2luZyBCZWxnaWFuIGFsZXMgYW5kIGxpc3RlbmluZyB0byBqYXp6KSoqIENFTyBhbmQgZm91bmRlciBvZiBieENyZWF0aXZlLCBMVEQqIGh0dHA6Ly9ieGNyZWF0aXZlLmNvbSovLyoqIFJFU0VUIEFORCBMQVlPVVQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovCi5ieC13cmFwcGVyIHtwb3NpdGlvbjogcmVsYXRpdmU7bWFyZ2luOiAwIGF1dG8gNjBweDtwYWRkaW5nOiAwOyp6b29tOiAxO30uYngtd3JhcHBlciBpbWcge21heC13aWR0aDogMTAwJTtkaXNwbGF5OiBibG9jazt9LyoqIFRIRU1FPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLy5ieC13cmFwcGVyIC5ieC12aWV3cG9ydCB7LW1vei1ib3gtc2hhZG93OiAwIDAgNXB4ICNjY2M7LXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNXB4ICNjY2M7Ym94LXNoYWRvdzogMCAwIDVweCAjY2NjO2JvcmRlcjogIDVweCBzb2xpZCAjZmZmO2xlZnQ6IC01cHg7YmFja2dyb3VuZDogI2ZmZjsvKmZpeCBvdGhlciBlbGVtZW50cyBvbiB0aGUgcGFnZSBtb3ZpbmcgKG9uIENocm9tZSkqLy13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGV6KDApOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGV6KDApOy1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZXooMCk7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGV6KDApO3RyYW5zZm9ybTogdHJhbnNsYXRleigwKTt9LmJ4LXdyYXBwZXIgLmJ4LXBhZ2VyLC5ieC13cmFwcGVyIC5ieC1jb250cm9scy1hdXRvIHtwb3NpdGlvbjogYWJzb2x1dGU7Ym90dG9tOiAtMzBweDt3aWR0aDogMTAwJTt9LyogTE9BREVSICovLmJ4LXdyYXBwZXIgLmJ4LWxvYWRpbmcge21pbi1oZWlnaHQ6IDUwcHg7YmFja2dyb3VuZDogdXJsKGJ4c2xpZGVyL2ltYWdlcy9ieF9sb2FkZXIuZ2lmKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdCAjZmZmO2hlaWdodDogMTAwJTt3aWR0aDogMTAwJTtwb3NpdGlvbjogYWJzb2x1dGU7dG9wOiAwO2xlZnQ6IDA7ei1pbmRleDogMjAwMDt9LyogUEFHRVIgKi8uYngtd3JhcHBlciAuYngtcGFnZXIge3RleHQtYWxpZ246IGNlbnRlcjtmb250LXNpemU6IC44NWVtO2ZvbnQtZmFtaWx5OiBBcmlhbDtmb250LXdlaWdodDogYm9sZDtjb2xvcjogIzY2NjtwYWRkaW5nLXRvcDogMjBweDt9LmJ4LXdyYXBwZXIgLmJ4LXBhZ2VyIC5ieC1wYWdlci1pdGVtLC5ieC13cmFwcGVyIC5ieC1jb250cm9scy1hdXRvIC5ieC1jb250cm9scy1hdXRvLWl0ZW0ge2Rpc3BsYXk6IGlubGluZS1ibG9jazsqem9vbTogMTsqZGlzcGxheTogaW5saW5lO30uYngtd3JhcHBlciAuYngtcGFnZXIuYngtZGVmYXVsdC1wYWdlciBhIHtiYWNrZ3JvdW5kOiAjNjY2O3RleHQtaW5kZW50OiAtOTk5OXB4O2Rpc3BsYXk6IGJsb2NrO3dpZHRoOiAxMHB4O2hlaWdodDogMTBweDttYXJnaW46IDAgNXB4O291dGxpbmU6IDA7LW1vei1ib3JkZXItcmFkaXVzOiA1cHg7LXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7Ym9yZGVyLXJhZGl1czogNXB4O30uYngtd3JhcHBlciAuYngtcGFnZXIuYngtZGVmYXVsdC1wYWdlciBhOmhvdmVyLC5ieC13cmFwcGVyIC5ieC1wYWdlci5ieC1kZWZhdWx0LXBhZ2VyIGEuYWN0aXZlIHtiYWNrZ3JvdW5kOiAjMDAwO30vKiBESVJFQ1RJT04gQ09OVFJPTFMgKE5FWFQgLyBQUkVWKSAqLy5ieC13cmFwcGVyIC5ieC1wcmV2IHtsZWZ0OiAxMHB4O2JhY2tncm91bmQ6IHVybChieHNsaWRlci9pbWFnZXMvYXJyb3ctbGVmdC5odG1sKSBuby1yZXBlYXQgc2Nyb2xsIDAgMDt9LmJ4LXdyYXBwZXIgLmJ4LW5leHQge3JpZ2h0OiAxMHB4O2JhY2tncm91bmQ6IHVybChieHNsaWRlci9pbWFnZXMvYXJyb3ctcmlnaHQuaHRtbCkgbm8tcmVwZWF0IHNjcm9sbCAwIDA7fS5ieC13cmFwcGVyIC5ieC1wcmV2OmhvdmVyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7fS5ieC13cmFwcGVyIC5ieC1uZXh0OmhvdmVyIHtiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDNweCAwO30uYngtd3JhcHBlciAuYngtY29udHJvbHMtZGlyZWN0aW9uIGEge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDUwJTttYXJnaW4tdG9wOiAtMTZweDtvdXRsaW5lOiAwO3dpZHRoOiAzMnB4O2hlaWdodDogMzJweDt0ZXh0LWluZGVudDogLTk5OTlweDt6LWluZGV4OiA5OTk5O30uYngtd3JhcHBlciAuYngtY29udHJvbHMtZGlyZWN0aW9uIGEuZGlzYWJsZWQge2Rpc3BsYXk6IG5vbmU7fS8qIEFVVE8gQ09OVFJPTFMgKFNUQVJUIC8gU1RPUCkgKi8uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byB7dGV4dC1hbGlnbjogY2VudGVyO30uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RhcnQge2Rpc3BsYXk6IGJsb2NrO3RleHQtaW5kZW50OiAtOTk5OXB4O3dpZHRoOiAxMHB4O2hlaWdodDogMTFweDtvdXRsaW5lOiAwO2JhY2tncm91bmQ6IHVybChieHNsaWRlci9pbWFnZXMvYXJyb3ctbGVmdC5odG1sKSBuby1yZXBlYXQgc2Nyb2xsIDAgMDttYXJnaW46IDAgM3B4O30uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RhcnQ6aG92ZXIsLmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8gLmJ4LXN0YXJ0LmFjdGl2ZSB7YmFja2dyb3VuZC1wb3NpdGlvbjogLTg2cHggMDt9LmJ4LXdyYXBwZXIgLmJ4LWNvbnRyb2xzLWF1dG8gLmJ4LXN0b3Age2Rpc3BsYXk6IGJsb2NrO3RleHQtaW5kZW50OiAtOTk5OXB4O3dpZHRoOiA5cHg7aGVpZ2h0OiAxMXB4O291dGxpbmU6IDA7YmFja2dyb3VuZDogdXJsKGJ4c2xpZGVyL2ltYWdlcy9hcnJvdy1yaWdodC5odG1sKSBuby1yZXBlYXQgc2Nyb2xsIDAgMDttYXJnaW46IDAgM3B4O30uYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RvcDpob3ZlciwuYngtd3JhcHBlciAuYngtY29udHJvbHMtYXV0byAuYngtc3RvcC5hY3RpdmUge2JhY2tncm91bmQtcG9zaXRpb246IC04NnB4IC0zM3B4O30vKiBQQUdFUiBXSVRIIEFVVE8tQ09OVFJPTFMgSFlCUklEIExBWU9VVCAqLy5ieC13cmFwcGVyIC5ieC1jb250cm9scy5ieC1oYXMtY29udHJvbHMtYXV0by5ieC1oYXMtcGFnZXIgLmJ4LXBhZ2VyIHt0ZXh0LWFsaWduOiBsZWZ0O3dpZHRoOiA4MCU7fS5ieC13cmFwcGVyIC5ieC1jb250cm9scy5ieC1oYXMtY29udHJvbHMtYXV0by5ieC1oYXMtcGFnZXIgLmJ4LWNvbnRyb2xzLWF1dG8ge3JpZ2h0OiAwO3dpZHRoOiAzNXB4O30vKiBJTUFHRSBDQVBUSU9OUyAqLy5ieC13cmFwcGVyIC5ieC1jYXB0aW9uIHtwb3NpdGlvbjogYWJzb2x1dGU7Ym90dG9tOiAwO2xlZnQ6IDA7YmFja2dyb3VuZDogIzY2Nlw5O2JhY2tncm91bmQ6IHJnYmEoODAsIDgwLCA4MCwgMC43NSk7d2lkdGg6IDEwMCU7fS5ieC13cmFwcGVyIC5ieC1jYXB0aW9uIHNwYW4ge2NvbG9yOiAjZmZmO2ZvbnQtZmFtaWx5OiBBcmlhbDtkaXNwbGF5OiBibG9jaztmb250LXNpemU6IC44NWVtO3BhZGRpbmc6IDEwcHg7fQoKLyoKICogCUZ1bGxDYWxlbmRhcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiEqIEZ1bGxDYWxlbmRhciB2Mi42LjAgU3R5bGVzaGVldCogRG9jcyAmIExpY2Vuc2U6IGh0dHA6Ly9mdWxsY2FsZW5kYXIuaW8vKiAoYykgMjAxNSBBZGFtIFNoYXcqLy5mYyB7ZGlyZWN0aW9uOiBsdHI7dGV4dC1hbGlnbjogbGVmdDt9LmZjLXJ0bCB7dGV4dC1hbGlnbjogcmlnaHQ7fWJvZHkgLmZjIHsgLyogZXh0cmEgcHJlY2VkZW5jZSB0byBvdmVyY29tZSBqcXVpICovZm9udC1zaXplOiAxZW07fS8qIENvbG9ycy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtdW50aGVtZWQgdGgsLmZjLXVudGhlbWVkIHRkLC5mYy11bnRoZW1lZCB0aGVhZCwuZmMtdW50aGVtZWQgdGJvZHksLmZjLXVudGhlbWVkIC5mYy1kaXZpZGVyLC5mYy11bnRoZW1lZCAuZmMtcm93LC5mYy11bnRoZW1lZCAuZmMtcG9wb3ZlciB7Ym9yZGVyLWNvbG9yOiAjZGRkO30uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIge2JhY2tncm91bmQtY29sb3I6ICNmZmY7fS5mYy11bnRoZW1lZCAuZmMtZGl2aWRlciwuZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciB7YmFja2dyb3VuZDogI2VlZTt9LmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtjb2xvcjogIzY2Njt9LmZjLXVudGhlbWVkIC5mYy10b2RheSB7YmFja2dyb3VuZDogI2ZjZjhlMzt9LmZjLWhpZ2hsaWdodCB7IC8qIHdoZW4gdXNlciBpcyBzZWxlY3RpbmcgY2VsbHMgKi9iYWNrZ3JvdW5kOiAjYmNlOGYxO29wYWNpdHk6IC4zO2ZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7IC8qIGZvciBJRSAqL30uZmMtYmdldmVudCB7IC8qIGRlZmF1bHQgbG9vayBmb3IgYmFja2dyb3VuZCBldmVudHMgKi9iYWNrZ3JvdW5kOiByZ2IoMTQzLCAyMjMsIDEzMCk7b3BhY2l0eTogLjM7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTMwKTsgLyogZm9yIElFICovfS5mYy1ub25idXNpbmVzcyB7IC8qIGRlZmF1bHQgbG9vayBmb3Igbm9uLWJ1c2luZXNzLWhvdXJzIGFyZWFzICovLyogd2lsbCBpbmhlcml0IC5mYy1iZ2V2ZW50J3Mgc3R5bGVzICovYmFja2dyb3VuZDogI2Q3ZDdkNzt9LyogSWNvbnMgKGlubGluZSBlbGVtZW50cyB3aXRoIHN0eWxlZCB0ZXh0IHRoYXQgbW9jayBhcnJvdyBpY29ucyktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjLWljb24ge2Rpc3BsYXk6IGlubGluZS1ibG9jazt3aWR0aDogMWVtO2hlaWdodDogMWVtO2xpbmUtaGVpZ2h0OiAxZW07Zm9udC1zaXplOiAxZW07dGV4dC1hbGlnbjogY2VudGVyO292ZXJmbG93OiBoaWRkZW47Zm9udC1mYW1pbHk6ICJDb3VyaWVyIE5ldyIsIENvdXJpZXIsIG1vbm9zcGFjZTsvKiBkb24ndCBhbGxvdyBicm93c2VyIHRleHQtc2VsZWN0aW9uICovLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7LWtodG1sLXVzZXItc2VsZWN0OiBub25lOy1tb3otdXNlci1zZWxlY3Q6IG5vbmU7LW1zLXVzZXItc2VsZWN0OiBub25lO3VzZXItc2VsZWN0OiBub25lO30vKkFjY2VwdGFibGUgZm9udC1mYW1pbHkgb3ZlcnJpZGVzIGZvciBpbmRpdmlkdWFsIGljb25zOiJBcmlhbCIsIHNhbnMtc2VyaWYiVGltZXMgTmV3IFJvbWFuIiwgc2VyaWZOT1RFOiB1c2UgcGVyY2VudGFnZSBmb250IHNpemVzIG9yIGVsc2Ugb2xkIElFIGNob2tlcyovLmZjLWljb246YWZ0ZXIge3Bvc2l0aW9uOiByZWxhdGl2ZTttYXJnaW46IDAgLTFlbTsgLyogZW5zdXJlcyBjaGFyYWN0ZXIgd2lsbCBiZSBjZW50ZXJlZCwgcmVnYXJkbGVzcyBvZiB3aWR0aCAqL30uZmMtaWNvbi1sZWZ0LXNpbmdsZS1hcnJvdzphZnRlciB7Y29udGVudDogIlwwMjAzOSI7Zm9udC13ZWlnaHQ6IGJvbGQ7Zm9udC1zaXplOiAyMDAlO3RvcDogLTclO2xlZnQ6IDMlO30uZmMtaWNvbi1yaWdodC1zaW5nbGUtYXJyb3c6YWZ0ZXIge2NvbnRlbnQ6ICJcMDIwM0EiO2ZvbnQtd2VpZ2h0OiBib2xkO2ZvbnQtc2l6ZTogMjAwJTt0b3A6IC03JTtsZWZ0OiAtMyU7fS5mYy1pY29uLWxlZnQtZG91YmxlLWFycm93OmFmdGVyIHtjb250ZW50OiAiXDAwMEFCIjtmb250LXNpemU6IDE2MCU7dG9wOiAtNyU7fS5mYy1pY29uLXJpZ2h0LWRvdWJsZS1hcnJvdzphZnRlciB7Y29udGVudDogIlwwMDBCQiI7Zm9udC1zaXplOiAxNjAlO3RvcDogLTclO30uZmMtaWNvbi1sZWZ0LXRyaWFuZ2xlOmFmdGVyIHtjb250ZW50OiAiXDI1QzQiO2ZvbnQtc2l6ZTogMTI1JTt0b3A6IDMlO2xlZnQ6IC0yJTt9LmZjLWljb24tcmlnaHQtdHJpYW5nbGU6YWZ0ZXIge2NvbnRlbnQ6ICJcMjVCQSI7Zm9udC1zaXplOiAxMjUlO3RvcDogMyU7bGVmdDogMiU7fS5mYy1pY29uLWRvd24tdHJpYW5nbGU6YWZ0ZXIge2NvbnRlbnQ6ICJcMjVCQyI7Zm9udC1zaXplOiAxMjUlO3RvcDogMiU7fS5mYy1pY29uLXg6YWZ0ZXIge2NvbnRlbnQ6ICJcMDAwRDciO2ZvbnQtc2l6ZTogMjAwJTt0b3A6IDYlO30vKiBCdXR0b25zIChzdHlsZWQgPGJ1dHRvbj4gdGFncywgbm9ybWFsaXplZCB0byB3b3JrIGNyb3NzLWJyb3dzZXIpLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYyBidXR0b24gey8qIGZvcmNlIGhlaWdodCB0byBpbmNsdWRlIHRoZSBib3JkZXIgYW5kIHBhZGRpbmcgKi8tbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7LXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O2JveC1zaXppbmc6IGJvcmRlci1ib3g7LyogZGltZW5zaW9ucyAqL21hcmdpbjogMDtoZWlnaHQ6IDIuMWVtO3BhZGRpbmc6IDAgLjZlbTsvKiB0ZXh0ICYgY3Vyc29yICovZm9udC1zaXplOiAxZW07IC8qIG5vcm1hbGl6ZSAqL3doaXRlLXNwYWNlOiBub3dyYXA7Y3Vyc29yOiBwb2ludGVyO30vKiBGaXJlZm94IGhhcyBhbiBhbm5veWluZyBpbm5lciBib3JkZXIgKi8uZmMgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHsgbWFyZ2luOiAwOyBwYWRkaW5nOiAwOyB9LmZjLXN0YXRlLWRlZmF1bHQgeyAvKiBub24tdGhlbWUgKi9ib3JkZXI6IDFweCBzb2xpZDt9LmZjLXN0YXRlLWRlZmF1bHQuZmMtY29ybmVyLWxlZnQgeyAvKiBub24tdGhlbWUgKi9ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA0cHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNHB4O30uZmMtc3RhdGUtZGVmYXVsdC5mYy1jb3JuZXItcmlnaHQgeyAvKiBub24tdGhlbWUgKi9ib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogNHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA0cHg7fS8qIGljb25zIGluIGJ1dHRvbnMgKi8uZmMgYnV0dG9uIC5mYy1pY29uIHsgLyogbm9uLXRoZW1lICovcG9zaXRpb246IHJlbGF0aXZlO3RvcDogLTAuMDVlbTsgLyogc2VlbXMgdG8gYmUgYSBnb29kIGFkanVzdG1lbnQgYWNyb3NzIGJyb3dzZXJzICovbWFyZ2luOiAwIC4yZW07dmVydGljYWwtYWxpZ246IG1pZGRsZTt9LypidXR0b24gc3RhdGVzYm9ycm93ZWQgZnJvbSB0d2l0dGVyIGJvb3RzdHJhcCAoaHR0cDovL3R3aXR0ZXIuZ2l0aHViLmNvbS9ib290c3RyYXAvKSovLmZjLXN0YXRlLWRlZmF1bHQge2JhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7YmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAjZmZmZmZmLCAjZTZlNmU2KTtiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oI2ZmZmZmZiksIHRvKCNlNmU2ZTYpKTtiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYsICNlNmU2ZTYpO2JhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICNmZmZmZmYsICNlNmU2ZTYpO2JhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICNmZmZmZmYsICNlNmU2ZTYpO2JhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtib3JkZXItY29sb3I6ICNlNmU2ZTYgI2U2ZTZlNiAjYmZiZmJmO2JvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpIHJnYmEoMCwgMCwgMCwgMC4xKSByZ2JhKDAsIDAsIDAsIDAuMjUpO2NvbG9yOiAjMzMzO3RleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KTtib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSwgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7fS5mYy1zdGF0ZS1ob3ZlciwuZmMtc3RhdGUtZG93biwuZmMtc3RhdGUtYWN0aXZlLC5mYy1zdGF0ZS1kaXNhYmxlZCB7Y29sb3I6ICMzMzMzMzM7YmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjt9LmZjLXN0YXRlLWhvdmVyIHtjb2xvcjogIzMzMzMzMzt0ZXh0LWRlY29yYXRpb246IG5vbmU7YmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTVweDstd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7LW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLXBvc2l0aW9uIDAuMXMgbGluZWFyOy1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtcG9zaXRpb24gMC4xcyBsaW5lYXI7dHJhbnNpdGlvbjogYmFja2dyb3VuZC1wb3NpdGlvbiAwLjFzIGxpbmVhcjt9LmZjLXN0YXRlLWRvd24sLmZjLXN0YXRlLWFjdGl2ZSB7YmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztiYWNrZ3JvdW5kLWltYWdlOiBub25lO2JveC1zaGFkb3c6IGluc2V0IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMTUpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjA1KTt9LmZjLXN0YXRlLWRpc2FibGVkIHtjdXJzb3I6IGRlZmF1bHQ7YmFja2dyb3VuZC1pbWFnZTogbm9uZTtvcGFjaXR5OiAwLjY1O2ZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7Ym94LXNoYWRvdzogbm9uZTt9LyogQnV0dG9ucyBHcm91cHMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjLWJ1dHRvbi1ncm91cCB7ZGlzcGxheTogaW5saW5lLWJsb2NrO30vKmV2ZXJ5IGJ1dHRvbiB0aGF0IGlzIG5vdCBmaXJzdCBpbiBhIGJ1dHRvbiBncm91cCBzaG91bGQgc2Nvb3RjaCBvdmVyIG9uZSBwaXhlbCBhbmQgY292ZXIgdGhlcHJldmlvdXMgYnV0dG9uJ3MgYm9yZGVyLi4uKi8uZmMgLmZjLWJ1dHRvbi1ncm91cCA+ICogeyAvKiBleHRyYSBwcmVjZWRlbmNlIGIvYyBidXR0b25zIGhhdmUgbWFyZ2luIHNldCB0byB6ZXJvICovZmxvYXQ6IGxlZnQ7bWFyZ2luOiAwIDAgMCAtMXB4O30uZmMgLmZjLWJ1dHRvbi1ncm91cCA+IDpmaXJzdC1jaGlsZCB7IC8qIHNhbWUgKi9tYXJnaW4tbGVmdDogMDt9LyogUG9wb3Zlci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtcG9wb3ZlciB7cG9zaXRpb246IGFic29sdXRlO2JveC1zaGFkb3c6IDAgMnB4IDZweCByZ2JhKDAsMCwwLC4xNSk7fS5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgeyAvKiBUT0RPOiBiZSBtb3JlIGNvbnNpc3RlbnQgd2l0aCBmYy1oZWFkL2ZjLWJvZHkgKi9wYWRkaW5nOiAycHggNHB4O30uZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy10aXRsZSB7bWFyZ2luOiAwIDJweDt9LmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge2N1cnNvcjogcG9pbnRlcjt9LmZjLWx0ciAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy10aXRsZSwuZmMtcnRsIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtmbG9hdDogbGVmdDt9LmZjLXJ0bCAuZmMtcG9wb3ZlciAuZmMtaGVhZGVyIC5mYy10aXRsZSwuZmMtbHRyIC5mYy1wb3BvdmVyIC5mYy1oZWFkZXIgLmZjLWNsb3NlIHtmbG9hdDogcmlnaHQ7fS8qIHVudGhlbWVkICovLmZjLXVudGhlbWVkIC5mYy1wb3BvdmVyIHtib3JkZXItd2lkdGg6IDFweDtib3JkZXItc3R5bGU6IHNvbGlkO30uZmMtdW50aGVtZWQgLmZjLXBvcG92ZXIgLmZjLWhlYWRlciAuZmMtY2xvc2Uge2ZvbnQtc2l6ZTogLjllbTttYXJnaW4tdG9wOiAycHg7fS8qIGpxdWkgdGhlbWVkICovLmZjLXBvcG92ZXIgPiAudWktd2lkZ2V0LWhlYWRlciArIC51aS13aWRnZXQtY29udGVudCB7Ym9yZGVyLXRvcDogMDsgLyogd2hlcmUgdGhleSBtZWV0LCBsZXQgdGhlIGhlYWRlciBoYXZlIHRoZSBib3JkZXIgKi99LyogTWlzYyBSZXVzYWJsZSBDb21wb25lbnRzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy1kaXZpZGVyIHtib3JkZXItc3R5bGU6IHNvbGlkO2JvcmRlci13aWR0aDogMXB4O31oci5mYy1kaXZpZGVyIHtoZWlnaHQ6IDA7bWFyZ2luOiAwO3BhZGRpbmc6IDAgMCAycHg7IC8qIGhlaWdodCBpcyB1bnJlbGlhYmxlIGFjcm9zcyBicm93c2Vycywgc28gdXNlIHBhZGRpbmcgKi9ib3JkZXItd2lkdGg6IDFweCAwO30uZmMtY2xlYXIge2NsZWFyOiBib3RoO30uZmMtYmcsLmZjLWJnZXZlbnQtc2tlbGV0b24sLmZjLWhpZ2hsaWdodC1za2VsZXRvbiwuZmMtaGVscGVyLXNrZWxldG9uIHsvKiB0aGVzZSBlbGVtZW50IHNob3VsZCBhbHdheXMgY2xpbmcgdG8gdG9wLWxlZnQvcmlnaHQgY29ybmVycyAqL3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDtyaWdodDogMDt9LmZjLWJnIHtib3R0b206IDA7IC8qIHN0cmVjaCBiZyB0byBib3R0b20gZWRnZSAqL30uZmMtYmcgdGFibGUge2hlaWdodDogMTAwJTsgLyogc3RyZWNoIGJnIHRvIGJvdHRvbSBlZGdlICovfS8qIFRhYmxlcy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMgdGFibGUge3dpZHRoOiAxMDAlO3RhYmxlLWxheW91dDogZml4ZWQ7Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtib3JkZXItc3BhY2luZzogMDtmb250LXNpemU6IDFlbTsgLyogbm9ybWFsaXplIGNyb3NzLWJyb3dzZXIgKi99LmZjIHRoIHt0ZXh0LWFsaWduOiBjZW50ZXI7fS5mYyB0aCwuZmMgdGQge2JvcmRlci1zdHlsZTogc29saWQ7Ym9yZGVyLXdpZHRoOiAxcHg7cGFkZGluZzogMDt2ZXJ0aWNhbC1hbGlnbjogdG9wO30uZmMgdGQuZmMtdG9kYXkge2JvcmRlci1zdHlsZTogZG91YmxlOyAvKiBvdmVyY29tZSBuZWlnaGJvcmluZyBib3JkZXJzICovfS8qIEZha2UgVGFibGUgUm93cy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMgLmZjLXJvdyB7IC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gb3ZlcmNvbWUgdGhlbWVzIHcvIC51aS13aWRnZXQtY29udGVudCBmb3JjaW5nIGEgMXB4IGJvcmRlciAqLy8qIG5vIHZpc2libGUgYm9yZGVyIGJ5IGRlZmF1bHQuIGJ1dCBtYWtlIGF2YWlsYWJsZSBpZiBuZWVkIGJlIChzY3JvbGxiYXIgd2lkdGggY29tcGVuc2F0aW9uKSAqL2JvcmRlci1zdHlsZTogc29saWQ7Ym9yZGVyLXdpZHRoOiAwO30uZmMtcm93IHRhYmxlIHsvKiBkb24ndCBwdXQgbGVmdC9yaWdodCBib3JkZXIgb24gYW55dGhpbmcgd2l0aGluIGEgZmFrZSByb3cudGhlIG91dGVyIHRib2R5IHdpbGwgd29ycnkgYWJvdXQgdGhpcyAqL2JvcmRlci1sZWZ0OiAwIGhpZGRlbiB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6IDAgaGlkZGVuIHRyYW5zcGFyZW50Oy8qIG5vIGJvdHRvbSBib3JkZXJzIG9uIHJvd3MgKi9ib3JkZXItYm90dG9tOiAwIGhpZGRlbiB0cmFuc3BhcmVudDsgfS5mYy1yb3c6Zmlyc3QtY2hpbGQgdGFibGUge2JvcmRlci10b3A6IDAgaGlkZGVuIHRyYW5zcGFyZW50OyAvKiBubyB0b3AgYm9yZGVyIG9uIGZpcnN0IHJvdyAqL30vKiBEYXkgUm93ICh1c2VkIHdpdGhpbiB0aGUgaGVhZGVyIGFuZCB0aGUgRGF5R3JpZCktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjLXJvdyB7cG9zaXRpb246IHJlbGF0aXZlO30uZmMtcm93IC5mYy1iZyB7ei1pbmRleDogMTt9LyogaGlnaGxpZ2h0aW5nIGNlbGxzICYgYmFja2dyb3VuZCBldmVudCBza2VsZXRvbiAqLy5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24sLmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHtib3R0b206IDA7IC8qIHN0cmV0Y2ggc2tlbGV0b24gdG8gYm90dG9tIG9mIHJvdyAqL30uZmMtcm93IC5mYy1iZ2V2ZW50LXNrZWxldG9uIHRhYmxlLC5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB0YWJsZSB7aGVpZ2h0OiAxMDAlOyAvKiBzdHJldGNoIHNrZWxldG9uIHRvIGJvdHRvbSBvZiByb3cgKi99LmZjLXJvdyAuZmMtaGlnaGxpZ2h0LXNrZWxldG9uIHRkLC5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24gdGQge2JvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7fS5mYy1yb3cgLmZjLWJnZXZlbnQtc2tlbGV0b24ge3otaW5kZXg6IDI7fS5mYy1yb3cgLmZjLWhpZ2hsaWdodC1za2VsZXRvbiB7ei1pbmRleDogMzt9Lypyb3cgY29udGVudCAod2hpY2ggY29udGFpbnMgZGF5L3dlZWsgbnVtYmVycyBhbmQgZXZlbnRzKSBhcyB3ZWxsIGFzICJoZWxwZXIiICh3aGljaCBjb250YWluc3RlbXBvcmFyeSByZW5kZXJlZCBldmVudHMpLiovLmZjLXJvdyAuZmMtY29udGVudC1za2VsZXRvbiB7cG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDQ7cGFkZGluZy1ib3R0b206IDJweDsgLyogbWF0Y2hlcyB0aGUgc3BhY2UgYWJvdmUgdGhlIGV2ZW50cyAqL30uZmMtcm93IC5mYy1oZWxwZXItc2tlbGV0b24ge3otaW5kZXg6IDU7fS5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGQsLmZjLXJvdyAuZmMtaGVscGVyLXNrZWxldG9uIHRkIHsvKiBzZWUtdGhyb3VnaCB0byB0aGUgYmFja2dyb3VuZCBiZWxvdyAqL2JhY2tncm91bmQ6IG5vbmU7IC8qIGluIGNhc2UgPHRkPnMgYXJlIGdsb2JhbGx5IHN0eWxlZCAqL2JvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7LyogZG9uJ3QgcHV0IGEgYm9yZGVyIGJldHdlZW4gZXZlbnRzIGFuZC9vciB0aGUgZGF5IG51bWJlciAqL2JvcmRlci1ib3R0b206IDA7fS5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24gdGJvZHkgdGQsIC8qIGNlbGxzIHdpdGggZXZlbnRzIGluc2lkZSAoc28gTk9UIHRoZSBkYXkgbnVtYmVyIGNlbGwpICovLmZjLXJvdyAuZmMtaGVscGVyLXNrZWxldG9uIHRib2R5IHRkIHsvKiBkb24ndCBwdXQgYSBib3JkZXIgYmV0d2VlbiBldmVudCBjZWxscyAqL2JvcmRlci10b3A6IDA7fS8qIFNjcm9sbGluZyBDb250YWluZXItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLmZjLXNjcm9sbGVyIHsgLyogdGhpcyBjbGFzcyBnb2VzIG9uIGVsZW1lbnRzIGZvciBndWFyYW50ZWVkIHZlcnRpY2FsIHNjcm9sbGJhcnMgKi9vdmVyZmxvdy15OiBzY3JvbGw7b3ZlcmZsb3cteDogaGlkZGVuO30uZmMtc2Nyb2xsZXIgPiAqIHsgLyogd2UgZXhwZWN0IGFuIGltbWVkaWF0ZSBpbm5lciBlbGVtZW50ICovcG9zaXRpb246IHJlbGF0aXZlOyAvKiByZS1zY29wZSBhbGwgcG9zaXRpb25zICovd2lkdGg6IDEwMCU7IC8qIGhhY2sgdG8gZm9yY2UgcmUtc2l6aW5nIHRoaXMgaW5uZXIgZWxlbWVudCB3aGVuIHNjcm9sbGJhcnMgYXBwZWFyL2Rpc2FwcGVhciAqL292ZXJmbG93OiBoaWRkZW47IC8qIGRvbid0IGxldCBuZWdhdGl2ZSBtYXJnaW5zIG9yIGFic29sdXRlIHBvc2l0aW9uaW5nIGNyZWF0ZSBmdXJ0aGVyIHNjcm9sbCAqL30vKiBHbG9iYWwgRXZlbnQgU3R5bGVzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy1ldmVudCB7cG9zaXRpb246IHJlbGF0aXZlOyAvKiBmb3IgcmVzaXplIGhhbmRsZSBhbmQgb3RoZXIgaW5uZXIgcG9zaXRpb25pbmcgKi9kaXNwbGF5OiBibG9jazsgLyogbWFrZSB0aGUgPGE+IHRhZyBibG9jayAqL2ZvbnQtc2l6ZTogLjg1ZW07bGluZS1oZWlnaHQ6IDEuMztib3JkZXItcmFkaXVzOiAzcHg7Ym9yZGVyOiAxcHggc29saWQgIzNhODdhZDsgLyogZGVmYXVsdCBCT1JERVIgY29sb3IgKi9iYWNrZ3JvdW5kLWNvbG9yOiAjM2E4N2FkOyAvKiBkZWZhdWx0IEJBQ0tHUk9VTkQgY29sb3IgKi9mb250LXdlaWdodDogbm9ybWFsOyAvKiB1bmRvIGpxdWkncyB1aS13aWRnZXQtaGVhZGVyIGJvbGQgKi99Lyogb3ZlcnBvd2VyIHNvbWUgb2YgYm9vdHN0cmFwJ3MgYW5kIGpxdWkncyBzdHlsZXMgb24gPGE+IHRhZ3MgKi8uZmMtZXZlbnQsLmZjLWV2ZW50OmhvdmVyLC51aS13aWRnZXQgLmZjLWV2ZW50IHtjb2xvcjogI2ZmZjsgLyogZGVmYXVsdCBURVhUIGNvbG9yICovdGV4dC1kZWNvcmF0aW9uOiBub25lOyAvKiBpZiA8YT4gaGFzIGFuIGhyZWYgKi99LmZjLWV2ZW50W2hyZWZdLC5mYy1ldmVudC5mYy1kcmFnZ2FibGUge2N1cnNvcjogcG9pbnRlcjsgLyogZ2l2ZSBldmVudHMgd2l0aCBsaW5rcyBhbmQgZHJhZ2dhYmxlIGV2ZW50cyBhIGhhbmQgbW91c2UgcG9pbnRlciAqL30uZmMtbm90LWFsbG93ZWQsIC8qIGNhdXNlcyBhICJ3YXJuaW5nIiBjdXJzb3IuIGFwcGxpZWQgb24gYm9keSAqLy5mYy1ub3QtYWxsb3dlZCAuZmMtZXZlbnQgeyAvKiB0byBvdmVycmlkZSBhbiBldmVudCdzIGN1c3RvbSBjdXJzb3IgKi9jdXJzb3I6IG5vdC1hbGxvd2VkO30uZmMtZXZlbnQgLmZjLWJnIHsgLyogdGhlIGdlbmVyaWMgLmZjLWJnIGFscmVhZHkgZG9lcyBwb3NpdGlvbiAqL3otaW5kZXg6IDE7YmFja2dyb3VuZDogI2ZmZjtvcGFjaXR5OiAuMjU7ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTI1KTsgLyogZm9yIElFICovfS5mYy1ldmVudCAuZmMtY29udGVudCB7cG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDI7fS5mYy1ldmVudCAuZmMtcmVzaXplciB7cG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDM7fS8qIEhvcml6b250YWwgRXZlbnRzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy8qIGV2ZW50cyB0aGF0IGFyZSBjb250aW51aW5nIHRvL2Zyb20gYW5vdGhlciB3ZWVrLiBraWxsIHJvdW5kZWQgY29ybmVycyBhbmQgYnV0dCB1cCBhZ2FpbnN0IGVkZ2UgKi8uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLW5vdC1zdGFydCwuZmMtcnRsIC5mYy1oLWV2ZW50LmZjLW5vdC1lbmQge21hcmdpbi1sZWZ0OiAwO2JvcmRlci1sZWZ0LXdpZHRoOiAwO3BhZGRpbmctbGVmdDogMXB4OyAvKiByZXBsYWNlIHRoZSBib3JkZXIgd2l0aCBwYWRkaW5nICovYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO30uZmMtbHRyIC5mYy1oLWV2ZW50LmZjLW5vdC1lbmQsLmZjLXJ0bCAuZmMtaC1ldmVudC5mYy1ub3Qtc3RhcnQge21hcmdpbi1yaWdodDogMDtib3JkZXItcmlnaHQtd2lkdGg6IDA7cGFkZGluZy1yaWdodDogMXB4OyAvKiByZXBsYWNlIHRoZSBib3JkZXIgd2l0aCBwYWRkaW5nICovYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7fS8qIHJlc2l6ZXIgKi8uZmMtaC1ldmVudCAuZmMtcmVzaXplciB7IC8qIHBvc2l0aW9uZWQgaXQgdG8gb3ZlcmNvbWUgdGhlIGV2ZW50J3MgYm9yZGVycyAqL3RvcDogLTFweDtib3R0b206IC0xcHg7bGVmdDogLTFweDtyaWdodDogLTFweDt3aWR0aDogNXB4O30vKiBsZWZ0IHJlc2l6ZXIgICovLmZjLWx0ciAuZmMtaC1ldmVudCAuZmMtc3RhcnQtcmVzaXplciwuZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1zdGFydC1yZXNpemVyOmJlZm9yZSwuZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1zdGFydC1yZXNpemVyOmFmdGVyLC5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyLC5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyOmJlZm9yZSwuZmMtcnRsIC5mYy1oLWV2ZW50IC5mYy1lbmQtcmVzaXplcjphZnRlciB7cmlnaHQ6IGF1dG87IC8qIGlnbm9yZSB0aGUgcmlnaHQgYW5kIG9ubHkgdXNlIHRoZSBsZWZ0ICovY3Vyc29yOiB3LXJlc2l6ZTt9LyogcmlnaHQgcmVzaXplciAqLy5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyLC5mYy1sdHIgLmZjLWgtZXZlbnQgLmZjLWVuZC1yZXNpemVyOmJlZm9yZSwuZmMtbHRyIC5mYy1oLWV2ZW50IC5mYy1lbmQtcmVzaXplcjphZnRlciwuZmMtcnRsIC5mYy1oLWV2ZW50IC5mYy1zdGFydC1yZXNpemVyLC5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLXN0YXJ0LXJlc2l6ZXI6YmVmb3JlLC5mYy1ydGwgLmZjLWgtZXZlbnQgLmZjLXN0YXJ0LXJlc2l6ZXI6YWZ0ZXIge2xlZnQ6IGF1dG87IC8qIGlnbm9yZSB0aGUgbGVmdCBhbmQgb25seSB1c2UgdGhlIHJpZ2h0ICovY3Vyc29yOiBlLXJlc2l6ZTt9LyogRGF5R3JpZCBldmVudHMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tV2UgdXNlIHRoZSBmdWxsICJmYy1kYXktZ3JpZC1ldmVudCIgY2xhc3MgaW5zdGVhZCBvZiB1c2luZyBkZXNjZW5kYW50cyBiZWNhdXNlIHRoZSBldmVudCB3b24ndGJlIGEgZGVzY2VuZGFudCBvZiB0aGUgZ3JpZCB3aGVuIGl0IGlzIGJlaW5nIGRyYWdnZWQuKi8uZmMtZGF5LWdyaWQtZXZlbnQge21hcmdpbjogMXB4IDJweCAwOyAvKiBzcGFjaW5nIGJldHdlZW4gZXZlbnRzIGFuZCBlZGdlcyAqL3BhZGRpbmc6IDAgMXB4O30uZmMtZGF5LWdyaWQtZXZlbnQgLmZjLWNvbnRlbnQgeyAvKiBmb3JjZSBldmVudHMgdG8gYmUgb25lLWxpbmUgdGFsbCAqL3doaXRlLXNwYWNlOiBub3dyYXA7b3ZlcmZsb3c6IGhpZGRlbjt9LmZjLWRheS1ncmlkLWV2ZW50IC5mYy10aW1lIHtmb250LXdlaWdodDogYm9sZDt9LmZjLWRheS1ncmlkLWV2ZW50IC5mYy1yZXNpemVyIHsgLyogZW5sYXJnZSB0aGUgZGVmYXVsdCBoaXQgYXJlYSAqL2xlZnQ6IC0zcHg7cmlnaHQ6IC0zcHg7d2lkdGg6IDdweDt9LyogRXZlbnQgTGltaXRpbmctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLyogIm1vcmUiIGxpbmsgdGhhdCByZXByZXNlbnRzIGhpZGRlbiBldmVudHMgKi9hLmZjLW1vcmUge21hcmdpbjogMXB4IDNweDtmb250LXNpemU6IC44NWVtO2N1cnNvcjogcG9pbnRlcjt0ZXh0LWRlY29yYXRpb246IG5vbmU7fWEuZmMtbW9yZTpob3ZlciB7dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fS5mYy1saW1pdGVkIHsgLyogcm93cyBhbmQgY2VsbHMgdGhhdCBhcmUgaGlkZGVuIGJlY2F1c2Ugb2YgYSAibW9yZSIgbGluayAqL2Rpc3BsYXk6IG5vbmU7fS8qIHBvcG92ZXIgdGhhdCBhcHBlYXJzIHdoZW4gIm1vcmUiIGxpbmsgaXMgY2xpY2tlZCAqLy5mYy1kYXktZ3JpZCAuZmMtcm93IHt6LWluZGV4OiAxOyAvKiBtYWtlIHRoZSAibW9yZSIgcG9wb3ZlciBvbmUgaGlnaGVyIHRoYW4gdGhpcyAqL30uZmMtbW9yZS1wb3BvdmVyIHt6LWluZGV4OiAyO3dpZHRoOiAyMjBweDt9LmZjLW1vcmUtcG9wb3ZlciAuZmMtZXZlbnQtY29udGFpbmVyIHtwYWRkaW5nOiAxMHB4O30vKiBOb3cgSW5kaWNhdG9yLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy1ub3ctaW5kaWNhdG9yIHtwb3NpdGlvbjogYWJzb2x1dGU7Ym9yZGVyOiAwIHNvbGlkIHJlZDt9LyogVG9vbGJhci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtdG9vbGJhciB7dGV4dC1hbGlnbjogY2VudGVyO21hcmdpbi1ib3R0b206IDFlbTt9LmZjLXRvb2xiYXIgLmZjLWxlZnQge2Zsb2F0OiBsZWZ0O30uZmMtdG9vbGJhciAuZmMtcmlnaHQge2Zsb2F0OiByaWdodDt9LmZjLXRvb2xiYXIgLmZjLWNlbnRlciB7ZGlzcGxheTogaW5saW5lLWJsb2NrO30vKiB0aGUgdGhpbmdzIHdpdGhpbiBlYWNoIGxlZnQvcmlnaHQvY2VudGVyIHNlY3Rpb24gKi8uZmMgLmZjLXRvb2xiYXIgPiAqID4gKiB7IC8qIGV4dHJhIHByZWNlZGVuY2UgdG8gb3ZlcnJpZGUgYnV0dG9uIGJvcmRlciBtYXJnaW5zICovZmxvYXQ6IGxlZnQ7bWFyZ2luLWxlZnQ6IC43NWVtO30vKiB0aGUgZmlyc3QgdGhpbmcgd2l0aGluIGVhY2ggbGVmdC9jZW50ZXIvcmlnaHQgc2VjdGlvbiAqLy5mYyAuZmMtdG9vbGJhciA+ICogPiA6Zmlyc3QtY2hpbGQgeyAvKiBleHRyYSBwcmVjZWRlbmNlIHRvIG92ZXJyaWRlIGJ1dHRvbiBib3JkZXIgbWFyZ2lucyAqL21hcmdpbi1sZWZ0OiAwO30vKiB0aXRsZSB0ZXh0ICovLmZjLXRvb2xiYXIgaDIge21hcmdpbjogMDt9LyogYnV0dG9uIGxheWVyaW5nIChmb3IgYm9yZGVyIHByZWNlZGVuY2UpICovLmZjLXRvb2xiYXIgYnV0dG9uIHtwb3NpdGlvbjogcmVsYXRpdmU7fS5mYy10b29sYmFyIC5mYy1zdGF0ZS1ob3ZlciwuZmMtdG9vbGJhciAudWktc3RhdGUtaG92ZXIge3otaW5kZXg6IDI7fS5mYy10b29sYmFyIC5mYy1zdGF0ZS1kb3duIHt6LWluZGV4OiAzO30uZmMtdG9vbGJhciAuZmMtc3RhdGUtYWN0aXZlLC5mYy10b29sYmFyIC51aS1zdGF0ZS1hY3RpdmUge3otaW5kZXg6IDQ7fS5mYy10b29sYmFyIGJ1dHRvbjpmb2N1cyB7ei1pbmRleDogNTt9LyogVmlldyBTdHJ1Y3R1cmUtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLyogdW5kbyB0d2l0dGVyIGJvb3RzdHJhcCdzIGJveC1zaXppbmcgcnVsZXMuIG5vcm1hbGl6ZXMgcG9zaXRpb25pbmcgdGVjaG5pcXVlcyAqLy8qIGRvbid0IGRvIHRoaXMgZm9yIHRoZSB0b29sYmFyIGJlY2F1c2Ugd2UnbGwgd2FudCBib290c3RyYXAgdG8gc3R5bGUgdGhvc2UgYnV0dG9ucyBhcyBzb21lIHB0ICovLmZjLXZpZXctY29udGFpbmVyICosLmZjLXZpZXctY29udGFpbmVyICo6YmVmb3JlLC5mYy12aWV3LWNvbnRhaW5lciAqOmFmdGVyIHstd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7Ym94LXNpemluZzogY29udGVudC1ib3g7fS5mYy12aWV3LCAvKiBzY29wZSBwb3NpdGlvbmluZyBhbmQgei1pbmRleCdzIGZvciBldmVyeXRoaW5nIHdpdGhpbiB0aGUgdmlldyAqLy5mYy12aWV3ID4gdGFibGUgeyAvKiBzbyBkcmFnZ2VkIGVsZW1lbnRzIGNhbiBiZSBhYm92ZSB0aGUgdmlldydzIG1haW4gZWxlbWVudCAqL3Bvc2l0aW9uOiByZWxhdGl2ZTt6LWluZGV4OiAxO30vKiBCYXNpY1ZpZXctLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovLyogZGF5IHJvdyBzdHJ1Y3R1cmUgKi8uZmMtYmFzaWNXZWVrLXZpZXcgLmZjLWNvbnRlbnQtc2tlbGV0b24sLmZjLWJhc2ljRGF5LXZpZXcgLmZjLWNvbnRlbnQtc2tlbGV0b24gey8qIHdlIGFyZSBzdXJlIHRoZXJlIGFyZSBubyBkYXkgbnVtYmVycyBpbiB0aGVzZSB2aWV3cywgc28uLi4gKi9wYWRkaW5nLXRvcDogMXB4OyAvKiBhZGQgYSBwaXhlbCB0byBtYWtlIHN1cmUgdGhlcmUgYXJlIDJweCBwYWRkaW5nIGFib3ZlIGV2ZW50cyAqL3BhZGRpbmctYm90dG9tOiAxZW07IC8qIGVuc3VyZSBhIHNwYWNlIGF0IGJvdHRvbSBvZiBjZWxsIGZvciB1c2VyIHNlbGVjdGluZy9jbGlja2luZyAqL30uZmMtYmFzaWMtdmlldyAuZmMtYm9keSAuZmMtcm93IHttaW4taGVpZ2h0OiA0ZW07IC8qIGVuc3VyZSB0aGF0IGFsbCByb3dzIGFyZSBhdCBsZWFzdCB0aGlzIHRhbGwgKi99LyogYSAicmlnaWQiIHJvdyB3aWxsIHRha2UgdXAgYSBjb25zdGFudCBhbW91bnQgb2YgaGVpZ2h0IGJlY2F1c2UgY29udGVudC1za2VsZXRvbiBpcyBhYnNvbHV0ZSAqLy5mYy1yb3cuZmMtcmlnaWQge292ZXJmbG93OiBoaWRkZW47fS5mYy1yb3cuZmMtcmlnaWQgLmZjLWNvbnRlbnQtc2tlbGV0b24ge3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7bGVmdDogMDtyaWdodDogMDt9Lyogd2VlayBhbmQgZGF5IG51bWJlciBzdHlsaW5nICovLmZjLWJhc2ljLXZpZXcgLmZjLXdlZWstbnVtYmVyLC5mYy1iYXNpYy12aWV3IC5mYy1kYXktbnVtYmVyIHtwYWRkaW5nOiAwIDJweDt9LmZjLWJhc2ljLXZpZXcgdGQuZmMtd2Vlay1udW1iZXIgc3BhbiwuZmMtYmFzaWMtdmlldyB0ZC5mYy1kYXktbnVtYmVyIHtwYWRkaW5nLXRvcDogMnB4O3BhZGRpbmctYm90dG9tOiAycHg7fS5mYy1iYXNpYy12aWV3IC5mYy13ZWVrLW51bWJlciB7dGV4dC1hbGlnbjogY2VudGVyO30uZmMtYmFzaWMtdmlldyAuZmMtd2Vlay1udW1iZXIgc3BhbiB7Lyogd29yayBhcm91bmQgdGhlIHdheSB3ZSBkbyBjb2x1bW4gcmVzaXppbmcgYW5kIGVuc3VyZSBhIG1pbmltdW0gd2lkdGggKi9kaXNwbGF5OiBpbmxpbmUtYmxvY2s7bWluLXdpZHRoOiAxLjI1ZW07fS5mYy1sdHIgLmZjLWJhc2ljLXZpZXcgLmZjLWRheS1udW1iZXIge3RleHQtYWxpZ246IHJpZ2h0O30uZmMtcnRsIC5mYy1iYXNpYy12aWV3IC5mYy1kYXktbnVtYmVyIHt0ZXh0LWFsaWduOiBsZWZ0O30uZmMtZGF5LW51bWJlci5mYy1vdGhlci1tb250aCB7b3BhY2l0eTogMC4zO2ZpbHRlcjogYWxwaGEob3BhY2l0eT0zMCk7IC8qIGZvciBJRSAqLy8qIG9wYWNpdHkgd2l0aCBzbWFsbCBmb250IGNhbiBzb21ldGltZXMgbG9vayB0b28gZmFkZWRtaWdodCB3YW50IHRvIHNldCB0aGUgJ2NvbG9yJyBwcm9wZXJ0eSBpbnN0ZWFkbWFraW5nIGRheS1udW1iZXJzIGJvbGQgYWxzbyBmaXhlcyB0aGUgcHJvYmxlbSAqL30vKiBBZ2VuZGFWaWV3IGFsbC1kYXkgYXJlYS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtYWdlbmRhLXZpZXcgLmZjLWRheS1ncmlkIHtwb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogMjsgLyogc28gdGhlICJtb3JlLi4iIHBvcG92ZXIgd2lsbCBiZSBvdmVyIHRoZSB0aW1lIGdyaWQgKi99LmZjLWFnZW5kYS12aWV3IC5mYy1kYXktZ3JpZCAuZmMtcm93IHttaW4taGVpZ2h0OiAzZW07IC8qIGFsbC1kYXkgc2VjdGlvbiB3aWxsIG5ldmVyIGdldCBzaG9ydGVyIHRoYW4gdGhpcyAqL30uZmMtYWdlbmRhLXZpZXcgLmZjLWRheS1ncmlkIC5mYy1yb3cgLmZjLWNvbnRlbnQtc2tlbGV0b24ge3BhZGRpbmctdG9wOiAxcHg7IC8qIGFkZCBhIHBpeGVsIHRvIG1ha2Ugc3VyZSB0aGVyZSBhcmUgMnB4IHBhZGRpbmcgYWJvdmUgZXZlbnRzICovcGFkZGluZy1ib3R0b206IDFlbTsgLyogZ2l2ZSBzcGFjZSB1bmRlcm5lYXRoIGV2ZW50cyBmb3IgY2xpY2tpbmcvc2VsZWN0aW5nIGRheXMgKi99LyogVGltZUdyaWQgYXhpcyBydW5uaW5nIGRvd24gdGhlIHNpZGUgKGZvciBib3RoIHRoZSBhbGwtZGF5IGFyZWEgYW5kIHRoZSBzbG90IGFyZWEpLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYyAuZmMtYXhpcyB7IC8qIC5mYyB0byBvdmVyY29tZSBkZWZhdWx0IGNlbGwgc3R5bGVzICovdmVydGljYWwtYWxpZ246IG1pZGRsZTtwYWRkaW5nOiAwIDRweDt3aGl0ZS1zcGFjZTogbm93cmFwO30uZmMtbHRyIC5mYy1heGlzIHt0ZXh0LWFsaWduOiByaWdodDt9LmZjLXJ0bCAuZmMtYXhpcyB7dGV4dC1hbGlnbjogbGVmdDt9LnVpLXdpZGdldCB0ZC5mYy1heGlzIHtmb250LXdlaWdodDogbm9ybWFsOyAvKiBvdmVyY29tZSBqcXVpIHRoZW1lIG1ha2luZyBpdCBib2xkICovfS8qIFRpbWVHcmlkIFN0cnVjdHVyZS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtdGltZS1ncmlkLWNvbnRhaW5lciwgLyogc28gc2Nyb2xsIGNvbnRhaW5lcidzIHotaW5kZXggaXMgYmVsb3cgYWxsLWRheSAqLy5mYy10aW1lLWdyaWQgeyAvKiBzbyBzbGF0cy9iZy9jb250ZW50L2V0YyBwb3NpdGlvbnMgZ2V0IHNjb3BlZCB3aXRoaW4gaGVyZSAqL3Bvc2l0aW9uOiByZWxhdGl2ZTt6LWluZGV4OiAxO30uZmMtdGltZS1ncmlkIHttaW4taGVpZ2h0OiAxMDAlOyAvKiBzbyBpZiBoZWlnaHQgc2V0dGluZyBpcyAnYXV0bycsIC5mYy1iZyBzdHJldGNoZXMgdG8gZmlsbCBoZWlnaHQgKi99LmZjLXRpbWUtZ3JpZCB0YWJsZSB7IC8qIGRvbid0IHB1dCBvdXRlciBib3JkZXJzIG9uIHNsYXRzL2JnL2NvbnRlbnQvZXRjICovYm9yZGVyOiAwIGhpZGRlbiB0cmFuc3BhcmVudDt9LmZjLXRpbWUtZ3JpZCA+IC5mYy1iZyB7ei1pbmRleDogMTt9LmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMsLmZjLXRpbWUtZ3JpZCA+IGhyIHsgLyogdGhlIDxocj4gQWdlbmRhVmlldyBpbmplY3RzIHdoZW4gZ3JpZCBpcyBzaG9ydGVyIHRoYW4gc2Nyb2xsZXIgKi9wb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogMjt9LmZjLXRpbWUtZ3JpZCAuZmMtY29udGVudC1jb2wge3Bvc2l0aW9uOiByZWxhdGl2ZTsgLyogYmVjYXVzZSBub3ctaW5kaWNhdG9yIGxpdmVzIGRpcmVjdGx5IGluc2lkZSAqL30uZmMtdGltZS1ncmlkIC5mYy1jb250ZW50LXNrZWxldG9uIHtwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogMzt0b3A6IDA7bGVmdDogMDtyaWdodDogMDt9LyogZGl2cyB3aXRoaW4gYSBjZWxsIHdpdGhpbiB0aGUgZmMtY29udGVudC1za2VsZXRvbiAqLy5mYy10aW1lLWdyaWQgLmZjLWJ1c2luZXNzLWNvbnRhaW5lciB7cG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDE7fS5mYy10aW1lLWdyaWQgLmZjLWJnZXZlbnQtY29udGFpbmVyIHtwb3NpdGlvbjogcmVsYXRpdmU7ei1pbmRleDogMjt9LmZjLXRpbWUtZ3JpZCAuZmMtaGlnaGxpZ2h0LWNvbnRhaW5lciB7cG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDM7fS5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7cG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDQ7fS5mYy10aW1lLWdyaWQgLmZjLW5vdy1pbmRpY2F0b3ItbGluZSB7ei1pbmRleDogNTt9LmZjLXRpbWUtZ3JpZCAuZmMtaGVscGVyLWNvbnRhaW5lciB7IC8qIGFsc28gaXMgZmMtZXZlbnQtY29udGFpbmVyICovcG9zaXRpb246IHJlbGF0aXZlO3otaW5kZXg6IDY7fS8qIFRpbWVHcmlkIFNsYXRzIChsaW5lcyB0aGF0IHJ1biBob3Jpem9udGFsbHkpLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy10aW1lLWdyaWQgLmZjLXNsYXRzIHRkIHtoZWlnaHQ6IDEuNWVtO2JvcmRlci1ib3R0b206IDA7IC8qIGVhY2ggY2VsbCBpcyByZXNwb25zaWJsZSBmb3IgaXRzIHRvcCBib3JkZXIgKi99LmZjLXRpbWUtZ3JpZCAuZmMtc2xhdHMgLmZjLW1pbm9yIHRkIHtib3JkZXItdG9wLXN0eWxlOiBkb3R0ZWQ7fS5mYy10aW1lLWdyaWQgLmZjLXNsYXRzIC51aS13aWRnZXQtY29udGVudCB7IC8qIGZvciBqcXVpIHRoZW1lICovYmFja2dyb3VuZDogbm9uZTsgLyogc2VlIHRocm91Z2ggdG8gZmMtYmcgKi99LyogVGltZUdyaWQgSGlnaGxpZ2h0aW5nIFNsb3RzLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLy5mYy10aW1lLWdyaWQgLmZjLWhpZ2hsaWdodC1jb250YWluZXIgeyAvKiBhIGRpdiB3aXRoaW4gYSBjZWxsIHdpdGhpbiB0aGUgZmMtaGlnaGxpZ2h0LXNrZWxldG9uICovcG9zaXRpb246IHJlbGF0aXZlOyAvKiBzY29wZXMgdGhlIGxlZnQvcmlnaHQgb2YgdGhlIGZjLWhpZ2hsaWdodCB0byBiZSBpbiB0aGUgY29sdW1uICovfS5mYy10aW1lLWdyaWQgLmZjLWhpZ2hsaWdodCB7cG9zaXRpb246IGFic29sdXRlO2xlZnQ6IDA7cmlnaHQ6IDA7LyogdG9wIGFuZCBib3R0b20gd2lsbCBiZSBpbiBieSBKUyAqL30vKiBUaW1lR3JpZCBFdmVudCBDb250YWlubWVudC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtbHRyIC5mYy10aW1lLWdyaWQgLmZjLWV2ZW50LWNvbnRhaW5lciB7IC8qIHNwYWNlIG9uIHRoZSBzaWRlcyBvZiBldmVudHMgZm9yIExUUiAoZGVmYXVsdCkgKi9tYXJnaW46IDAgMi41JSAwIDJweDt9LmZjLXJ0bCAuZmMtdGltZS1ncmlkIC5mYy1ldmVudC1jb250YWluZXIgeyAvKiBzcGFjZSBvbiB0aGUgc2lkZXMgb2YgZXZlbnRzIGZvciBSVEwgKi9tYXJnaW46IDAgMnB4IDAgMi41JTt9LmZjLXRpbWUtZ3JpZCAuZmMtZXZlbnQsLmZjLXRpbWUtZ3JpZCAuZmMtYmdldmVudCB7cG9zaXRpb246IGFic29sdXRlO3otaW5kZXg6IDE7IC8qIHNjb3BlIGlubmVyIHotaW5kZXgncyAqL30uZmMtdGltZS1ncmlkIC5mYy1iZ2V2ZW50IHsvKiBiYWNrZ3JvdW5kIGV2ZW50cyBhbHdheXMgc3BhbiBmdWxsIHdpZHRoICovbGVmdDogMDtyaWdodDogMDt9LyogR2VuZXJpYyBWZXJ0aWNhbCBFdmVudC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtdi1ldmVudC5mYy1ub3Qtc3RhcnQgeyAvKiBldmVudHMgdGhhdCBhcmUgY29udGludWluZyBmcm9tIGFub3RoZXIgZGF5ICovLyogcmVwbGFjZSBzcGFjZSBtYWRlIGJ5IHRoZSB0b3AgYm9yZGVyIHdpdGggcGFkZGluZyAqL2JvcmRlci10b3Atd2lkdGg6IDA7cGFkZGluZy10b3A6IDFweDsvKiByZW1vdmUgdG9wIHJvdW5kZWQgY29ybmVycyAqL2JvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7fS5mYy12LWV2ZW50LmZjLW5vdC1lbmQgey8qIHJlcGxhY2Ugc3BhY2UgbWFkZSBieSB0aGUgdG9wIGJvcmRlciB3aXRoIHBhZGRpbmcgKi9ib3JkZXItYm90dG9tLXdpZHRoOiAwO3BhZGRpbmctYm90dG9tOiAxcHg7LyogcmVtb3ZlIGJvdHRvbSByb3VuZGVkIGNvcm5lcnMgKi9ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAwO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO30vKiBUaW1lR3JpZCBFdmVudCBTdHlsaW5nLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVdlIHVzZSB0aGUgZnVsbCAiZmMtdGltZS1ncmlkLWV2ZW50IiBjbGFzcyBpbnN0ZWFkIG9mIHVzaW5nIGRlc2NlbmRhbnRzIGJlY2F1c2UgdGhlIGV2ZW50IHdvbid0YmUgYSBkZXNjZW5kYW50IG9mIHRoZSBncmlkIHdoZW4gaXQgaXMgYmVpbmcgZHJhZ2dlZC4qLy5mYy10aW1lLWdyaWQtZXZlbnQge292ZXJmbG93OiBoaWRkZW47IC8qIGRvbid0IGxldCB0aGUgYmcgZmxvdyBvdmVyIHJvdW5kZWQgY29ybmVycyAqL30uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy10aW1lLC5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXRpdGxlIHtwYWRkaW5nOiAwIDFweDt9LmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGltZSB7Zm9udC1zaXplOiAuODVlbTt3aGl0ZS1zcGFjZTogbm93cmFwO30vKiBzaG9ydCBtb2RlLCB3aGVyZSB0aW1lIGFuZCB0aXRsZSBhcmUgb24gdGhlIHNhbWUgbGluZSAqLy5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLWNvbnRlbnQgey8qIGRvbid0IHdyYXAgdG8gc2Vjb25kIGxpbmUgKG5vdyB0aGF0IGNvbnRlbnRzIHdpbGwgYmUgaW5saW5lKSAqL3doaXRlLXNwYWNlOiBub3dyYXA7fS5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpbWUsLmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGl0bGUgey8qIHB1dCB0aGUgdGltZSBhbmQgdGl0bGUgb24gdGhlIHNhbWUgbGluZSAqL2Rpc3BsYXk6IGlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjogdG9wO30uZmMtdGltZS1ncmlkLWV2ZW50LmZjLXNob3J0IC5mYy10aW1lIHNwYW4ge2Rpc3BsYXk6IG5vbmU7IC8qIGRvbid0IGRpc3BsYXkgdGhlIGZ1bGwgdGltZSB0ZXh0Li4uICovfS5mYy10aW1lLWdyaWQtZXZlbnQuZmMtc2hvcnQgLmZjLXRpbWU6YmVmb3JlIHtjb250ZW50OiBhdHRyKGRhdGEtc3RhcnQpOyAvKiAuLi5pbnN0ZWFkLCBkaXNwbGF5IG9ubHkgdGhlIHN0YXJ0IHRpbWUgKi99LmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGltZTphZnRlciB7Y29udGVudDogIlwwMDBBMC1cMDAwQTAiOyAvKiBzZXBlcmF0ZSB3aXRoIGEgZGFzaCwgd3JhcHBlZCBpbiBuYnNwJ3MgKi99LmZjLXRpbWUtZ3JpZC1ldmVudC5mYy1zaG9ydCAuZmMtdGl0bGUge2ZvbnQtc2l6ZTogLjg1ZW07IC8qIG1ha2UgdGhlIHRpdGxlIHRleHQgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgdGltZSAqL3BhZGRpbmc6IDA7IC8qIHVuZG8gcGFkZGluZyBmcm9tIGFib3ZlICovfS8qIHJlc2l6ZXIgKi8uZmMtdGltZS1ncmlkLWV2ZW50IC5mYy1yZXNpemVyIHtsZWZ0OiAwO3JpZ2h0OiAwO2JvdHRvbTogMDtoZWlnaHQ6IDhweDtvdmVyZmxvdzogaGlkZGVuO2xpbmUtaGVpZ2h0OiA4cHg7Zm9udC1zaXplOiAxMXB4O2ZvbnQtZmFtaWx5OiBtb25vc3BhY2U7dGV4dC1hbGlnbjogY2VudGVyO2N1cnNvcjogcy1yZXNpemU7fS5mYy10aW1lLWdyaWQtZXZlbnQgLmZjLXJlc2l6ZXI6YWZ0ZXIge2NvbnRlbnQ6ICI9Ijt9LyogTm93IEluZGljYXRvci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8uZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWxpbmUge2JvcmRlci10b3Atd2lkdGg6IDFweDtsZWZ0OiAwO3JpZ2h0OiAwO30vKiBhcnJvdyBvbiBheGlzICovLmZjLXRpbWUtZ3JpZCAuZmMtbm93LWluZGljYXRvci1hcnJvdyB7bWFyZ2luLXRvcDogLTVweDsgLyogdmVydGljYWxseSBjZW50ZXIgb24gdG9wIGNvb3JkaW5hdGUgKi99LmZjLWx0ciAuZmMtdGltZS1ncmlkIC5mYy1ub3ctaW5kaWNhdG9yLWFycm93IHtsZWZ0OiAwOy8qIHRyaWFuZ2xlIHBvaW50aW5nIHJpZ2h0Li4uICovYm9yZGVyLXdpZHRoOiA1cHggMCA1cHggNnB4O2JvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O30uZmMtcnRsIC5mYy10aW1lLWdyaWQgLmZjLW5vdy1pbmRpY2F0b3ItYXJyb3cge3JpZ2h0OiAwOy8qIHRyaWFuZ2xlIHBvaW50aW5nIGxlZnQuLi4gKi9ib3JkZXItd2lkdGg6IDVweCA2cHggNXB4IDA7Ym9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7fQoKCi8qCiAqIAlib290c3RyYXAgY29kZSBjb2xvcmluZwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouaGxse2JhY2tncm91bmQtY29sb3I6I2ZmY30uY3tjb2xvcjojOTk5fS5lcnJ7Y29sb3I6I0EwMDtiYWNrZ3JvdW5kLWNvbG9yOiNGQUF9Lmt7Y29sb3I6IzA2OX0ub3tjb2xvcjojNTU1fS5jbXtjb2xvcjojOTk5fS5jcHtjb2xvcjojMDk5fS5jMXtjb2xvcjojOTk5fS5jc3tjb2xvcjojOTk5fS5nZHtiYWNrZ3JvdW5kLWNvbG9yOiNGQ0M7Ym9yZGVyOjFweCBzb2xpZCAjQzAwfS5nZXtmb250LXN0eWxlOml0YWxpY30uZ3J7Y29sb3I6cmVkfS5naHtjb2xvcjojMDMwfS5naXtiYWNrZ3JvdW5kLWNvbG9yOiNDRkM7Ym9yZGVyOjFweCBzb2xpZCAjMEMwfS5nb3tjb2xvcjojQUFBfS5ncHtjb2xvcjojMDA5fS5ndXtjb2xvcjojMDMwfS5ndHtjb2xvcjojOUM2fS5rY3tjb2xvcjojMDY5fS5rZHtjb2xvcjojMDY5fS5rbntjb2xvcjojMDY5fS5rcHtjb2xvcjojMDY5fS5rcntjb2xvcjojMDY5fS5rdHtjb2xvcjojMDc4fS5te2NvbG9yOiNGNjB9LnN7Y29sb3I6I2Q0NDk1MH0ubmF7Y29sb3I6IzRmOWZjZn0ubmJ7Y29sb3I6IzM2Nn0ubmN7Y29sb3I6IzBBOH0ubm97Y29sb3I6IzM2MH0ubmR7Y29sb3I6Izk5Rn0ubml7Y29sb3I6Izk5OX0ubmV7Y29sb3I6I0MwMH0ubmZ7Y29sb3I6I0MwRn0ubmx7Y29sb3I6Izk5Rn0ubm57Y29sb3I6IzBDRn0ubnR7Y29sb3I6IzJmNmY5Zn0ubnZ7Y29sb3I6IzAzM30ub3d7Y29sb3I6IzAwMH0ud3tjb2xvcjojYmJifS5tZntjb2xvcjojRjYwfS5taHtjb2xvcjojRjYwfS5taXtjb2xvcjojRjYwfS5tb3tjb2xvcjojRjYwfS5zYntjb2xvcjojQzMwfS5zY3tjb2xvcjojQzMwfS5zZHtjb2xvcjojQzMwO2ZvbnQtc3R5bGU6aXRhbGljfS5zMntjb2xvcjojQzMwfS5zZXtjb2xvcjojQzMwfS5zaHtjb2xvcjojQzMwfS5zaXtjb2xvcjojQTAwfS5zeHtjb2xvcjojQzMwfS5zcntjb2xvcjojM0FBfS5zMXtjb2xvcjojQzMwfS5zc3tjb2xvcjojRkMzfS5icHtjb2xvcjojMzY2fS52Y3tjb2xvcjojMDMzfS52Z3tjb2xvcjojMDMzfS52aXtjb2xvcjojMDMzfS5pbHtjb2xvcjojRjYwfS5jc3MgLm50Ky5udCwuY3NzIC5vLC5jc3MgLm8rLm50e2NvbG9yOiM5OTl9CgoKLyoKICogCWNvZGUgaGlnaGxpZ2h0CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCmNvZGVbY2xhc3MqPWxhbmd1YWdlLV0sIHByZVtjbGFzcyo9bGFuZ3VhZ2UtXSB7Y29sb3I6ICMwMDA7dGV4dC1zaGFkb3c6IDAgMXB4ICNmZmY7Zm9udC1mYW1pbHk6IENvbnNvbGFzLCBNb25hY28sIEFuZGFsZSBNb25vLCBtb25vc3BhY2U7ZGlyZWN0aW9uOiBsdHI7dGV4dC1hbGlnbjogbGVmdDt3aGl0ZS1zcGFjZTogcHJlO3dvcmQtc3BhY2luZzogbm9ybWFsO3dvcmQtYnJlYWs6IG5vcm1hbDtsaW5lLWhlaWdodDogMS41Oy1tb3otdGFiLXNpemU6IDQ7dGFiLXNpemU6IDQ7LXdlYmtpdC1oeXBoZW5zOiBub25lOy1tb3otaHlwaGVuczogbm9uZTstbXMtaHlwaGVuczogbm9uZTtoeXBoZW5zOiBub25lfWNvZGVbY2xhc3MqPWxhbmd1YWdlLV0gOjotbW96LXNlbGVjdGlvbiwgY29kZVtjbGFzcyo9bGFuZ3VhZ2UtXTo6LW1vei1zZWxlY3Rpb24sIHByZVtjbGFzcyo9bGFuZ3VhZ2UtXSA6Oi1tb3otc2VsZWN0aW9uLCBwcmVbY2xhc3MqPWxhbmd1YWdlLV06Oi1tb3otc2VsZWN0aW9uIHt0ZXh0LXNoYWRvdzpub25lO2JhY2tncm91bmQ6I2IzZDRmY31jb2RlW2NsYXNzKj1sYW5ndWFnZS1dIDo6c2VsZWN0aW9uLCBjb2RlW2NsYXNzKj1sYW5ndWFnZS1dOjpzZWxlY3Rpb24sIHByZVtjbGFzcyo9bGFuZ3VhZ2UtXSA6OnNlbGVjdGlvbiwgcHJlW2NsYXNzKj1sYW5ndWFnZS1dOjpzZWxlY3Rpb24ge3RleHQtc2hhZG93OiBub25lO2JhY2tncm91bmQ6ICNiM2Q0ZmN9QG1lZGlhIHByaW50IHtjb2RlW2NsYXNzKj1sYW5ndWFnZS1dLCBwcmVbY2xhc3MqPWxhbmd1YWdlLV0ge3RleHQtc2hhZG93OiBub25lfX1wcmVbY2xhc3MqPWxhbmd1YWdlLV0ge3BhZGRpbmc6IDFlbTttYXJnaW46IC41ZW0gMDtvdmVyZmxvdzogYXV0b306bm90KHByZSk+Y29kZVtjbGFzcyo9bGFuZ3VhZ2UtXSwgcHJlW2NsYXNzKj1sYW5ndWFnZS1dIHtiYWNrZ3JvdW5kOiAjZjVmMmYwfTpub3QocHJlKT5jb2RlW2NsYXNzKj1sYW5ndWFnZS1dIHtwYWRkaW5nOiAuMWVtO2JvcmRlci1yYWRpdXM6IC4zZW19LnRva2VuLmNkYXRhLCAudG9rZW4uY29tbWVudCwgLnRva2VuLmRvY3R5cGUsIC50b2tlbi5wcm9sb2cge2NvbG9yOiAjNzA4MDkwfS50b2tlbi5wdW5jdHVhdGlvbiB7Y29sb3I6ICM5OTl9Lm5hbWVzcGFjZSB7b3BhY2l0eTogLjd9LnRva2VuLmJvb2xlYW4sIC50b2tlbi5jb25zdGFudCwgLnRva2VuLmRlbGV0ZWQsIC50b2tlbi5udW1iZXIsIC50b2tlbi5wcm9wZXJ0eSwgLnRva2VuLnN5bWJvbCwgLnRva2VuLnRhZyB7Y29sb3I6ICM5MDV9LnRva2VuLmF0dHItbmFtZSwgLnRva2VuLmJ1aWx0aW4sIC50b2tlbi5jaGFyLCAudG9rZW4uaW5zZXJ0ZWQsIC50b2tlbi5zZWxlY3RvciwgLnRva2VuLnN0cmluZyB7Y29sb3I6ICM2OTB9Lmxhbmd1YWdlLWNzcyAudG9rZW4uc3RyaW5nLCAuc3R5bGUgLnRva2VuLnN0cmluZywgLnRva2VuLmVudGl0eSwgLnRva2VuLm9wZXJhdG9yLCAudG9rZW4udXJsIHtjb2xvcjogI2E2N2Y1OTtiYWNrZ3JvdW5kOiBoc2xhKDAsMCUsMTAwJSwuNSl9LnRva2VuLmF0cnVsZSwgLnRva2VuLmF0dHItdmFsdWUsIC50b2tlbi5rZXl3b3JkIHtjb2xvcjogIzA3YX0udG9rZW4uZnVuY3Rpb24ge2NvbG9yOiAjZGQ0YTY4fS50b2tlbi5pbXBvcnRhbnQsIC50b2tlbi5yZWdleCwgLnRva2VuLnZhcmlhYmxlIHtjb2xvcjogI2U5MH0udG9rZW4uYm9sZCwgLnRva2VuLmltcG9ydGFudCB7Zm9udC13ZWlnaHQ6IDcwMH0udG9rZW4uaXRhbGljIHtmb250LXN0eWxlOiBpdGFsaWN9LnRva2VuLmVudGl0eSB7Y3Vyc29yOiBoZWxwfXByZS5saW5lLW51bWJlcnMge3BhZGRpbmctbGVmdDogMy44ZW07Y291bnRlci1yZXNldDogYX1wcmUubGluZS1udW1iZXJzLCBwcmUubGluZS1udW1iZXJzPmNvZGUge3Bvc2l0aW9uOiByZWxhdGl2ZX0ubGluZS1udW1iZXJzIC5saW5lLW51bWJlcnMtcm93cyB7cG9zaXRpb246IGFic29sdXRlO3BvaW50ZXItZXZlbnRzOiBub25lO3RvcDogMDtmb250LXNpemU6IDEwMCU7bGVmdDogLTMuOGVtO3dpZHRoOiAzZW07bGV0dGVyLXNwYWNpbmc6IC0xcHg7Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzk5OTstd2Via2l0LXVzZXItc2VsZWN0OiBub25lOy1tb3otdXNlci1zZWxlY3Q6IG5vbmU7LW1zLXVzZXItc2VsZWN0OiBub25lO3VzZXItc2VsZWN0OiBub25lfS5saW5lLW51bWJlcnMtcm93cz5zcGFuIHtwb2ludGVyLWV2ZW50czogbm9uZTtkaXNwbGF5OiBibG9jaztjb3VudGVyLWluY3JlbWVudDogYX0ubGluZS1udW1iZXJzLXJvd3M+c3BhbjpiZWZvcmUge2NvbnRlbnQ6IGNvdW50ZXIoYSk7Y29sb3I6ICM5OTk7ZGlzcGxheTogYmxvY2s7cGFkZGluZy1yaWdodDogLjhlbTt0ZXh0LWFsaWduOiByaWdodH1wcmVbY2xhc3MqPWxhbmd1YWdlLV0ge3Bvc2l0aW9uOiByZWxhdGl2ZX1wcmVbY2xhc3MqPWxhbmd1YWdlLV1bZGF0YS1sYW5ndWFnZV06YmVmb3JlIHtjb250ZW50OiBhdHRyKGRhdGEtbGFuZ3VhZ2UpO2NvbG9yOiAjMDAwO2JhY2tncm91bmQtY29sb3I6ICNjZmNmY2Y7ZGlzcGxheTogaW5saW5lLWJsb2NrO3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDA7cmlnaHQ6IDA7Zm9udC1zaXplOiAuOWVtO2JvcmRlci1yYWRpdXM6IDAgMCAwIDVweDtwYWRkaW5nOiAwIC41ZW07dGV4dC1zaGFkb3c6IG5vbmV9CgoKLyoKICogCXByZXR0eVBob3RvCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCmRpdi5wcF9kZWZhdWx0IC5wcF90b3AsZGl2LnBwX2RlZmF1bHQgLnBwX3RvcCAucHBfbWlkZGxlLGRpdi5wcF9kZWZhdWx0IC5wcF90b3AgLnBwX2xlZnQsZGl2LnBwX2RlZmF1bHQgLnBwX3RvcCAucHBfcmlnaHQsZGl2LnBwX2RlZmF1bHQgLnBwX2JvdHRvbSxkaXYucHBfZGVmYXVsdCAucHBfYm90dG9tIC5wcF9sZWZ0LGRpdi5wcF9kZWZhdWx0IC5wcF9ib3R0b20gLnBwX21pZGRsZSxkaXYucHBfZGVmYXVsdCAucHBfYm90dG9tIC5wcF9yaWdodHtoZWlnaHQ6MTNweH1kaXYucHBfZGVmYXVsdCAucHBfdG9wIC5wcF9sZWZ0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlLnBuZykgLTc4cHggLTkzcHggbm8tcmVwZWF0fWRpdi5wcF9kZWZhdWx0IC5wcF90b3AgLnBwX21pZGRsZXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZV94LnBuZykgdG9wIGxlZnQgcmVwZWF0LXh9ZGl2LnBwX2RlZmF1bHQgLnBwX3RvcCAucHBfcmlnaHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGUucG5nKSAtMTEycHggLTkzcHggbm8tcmVwZWF0fWRpdi5wcF9kZWZhdWx0IC5wcF9jb250ZW50IC5wcHR7Y29sb3I6I2Y4ZjhmOH1kaXYucHBfZGVmYXVsdCAucHBfY29udGVudF9jb250YWluZXIgLnBwX2xlZnR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGVfeS5wbmcpIC03cHggMCByZXBlYXQteTtwYWRkaW5nLWxlZnQ6MTNweH1kaXYucHBfZGVmYXVsdCAucHBfY29udGVudF9jb250YWluZXIgLnBwX3JpZ2h0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlX3kucG5nKSB0b3AgcmlnaHQgcmVwZWF0LXk7cGFkZGluZy1yaWdodDoxM3B4fWRpdi5wcF9kZWZhdWx0IC5wcF9uZXh0OmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlX25leHQucG5nKSBjZW50ZXIgcmlnaHQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5wcF9kZWZhdWx0IC5wcF9wcmV2aW91czpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZV9wcmV2LnBuZykgY2VudGVyIGxlZnQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5wcF9kZWZhdWx0IC5wcF9leHBhbmR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGUucG5nKSAwIC0yOXB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcjt3aWR0aDoyOHB4O2hlaWdodDoyOHB4fWRpdi5wcF9kZWZhdWx0IC5wcF9leHBhbmQ6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGUucG5nKSAwIC01NnB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYucHBfZGVmYXVsdCAucHBfY29udHJhY3R7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGUucG5nKSAwIC04NHB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcjt3aWR0aDoyOHB4O2hlaWdodDoyOHB4fWRpdi5wcF9kZWZhdWx0IC5wcF9jb250cmFjdDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZS5wbmcpIDAgLTExM3B4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYucHBfZGVmYXVsdCAucHBfY2xvc2V7d2lkdGg6MzBweDtoZWlnaHQ6MzBweDtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZS5wbmcpIDJweCAxcHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5wcF9kZWZhdWx0IC5wcF9nYWxsZXJ5IHVsIGxpIGF7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9kZWZhdWx0X3RodW1iLnBuZykgY2VudGVyIGNlbnRlciAjZjhmOGY4O2JvcmRlcjoxcHggc29saWQgI2FhYX1kaXYucHBfZGVmYXVsdCAucHBfc29jaWFse21hcmdpbi10b3A6N3B4fWRpdi5wcF9kZWZhdWx0IC5wcF9nYWxsZXJ5IGEucHBfYXJyb3dfcHJldmlvdXMsZGl2LnBwX2RlZmF1bHQgLnBwX2dhbGxlcnkgYS5wcF9hcnJvd19uZXh0e3Bvc2l0aW9uOnN0YXRpYztsZWZ0OmF1dG99ZGl2LnBwX2RlZmF1bHQgLnBwX25hdiAucHBfcGxheSxkaXYucHBfZGVmYXVsdCAucHBfbmF2IC5wcF9wYXVzZXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kZWZhdWx0L3Nwcml0ZS5wbmcpIC01MXB4IDFweCBuby1yZXBlYXQ7aGVpZ2h0OjMwcHg7d2lkdGg6MzBweH1kaXYucHBfZGVmYXVsdCAucHBfbmF2IC5wcF9wYXVzZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi01MXB4IC0yOXB4fWRpdi5wcF9kZWZhdWx0IGEucHBfYXJyb3dfcHJldmlvdXMsZGl2LnBwX2RlZmF1bHQgYS5wcF9hcnJvd19uZXh0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlLnBuZykgLTMxcHggLTNweCBuby1yZXBlYXQ7aGVpZ2h0OjIwcHg7d2lkdGg6MjBweDttYXJnaW46NHB4IDAgMH1kaXYucHBfZGVmYXVsdCBhLnBwX2Fycm93X25leHR7bGVmdDo1MnB4O2JhY2tncm91bmQtcG9zaXRpb246LTgycHggLTNweH1kaXYucHBfZGVmYXVsdCAucHBfY29udGVudF9jb250YWluZXIgLnBwX2RldGFpbHN7bWFyZ2luLXRvcDo1cHh9ZGl2LnBwX2RlZmF1bHQgLnBwX25hdntjbGVhcjpub25lO2hlaWdodDozMHB4O3dpZHRoOjExMHB4O3Bvc2l0aW9uOnJlbGF0aXZlfWRpdi5wcF9kZWZhdWx0IC5wcF9uYXYgLmN1cnJlbnRUZXh0SG9sZGVye2ZvbnQtZmFtaWx5Okdlb3JnaWE7Zm9udC1zdHlsZTppdGFsaWM7Y29sb3I6Izk5OTtmb250LXNpemU6MTFweDtsZWZ0Ojc1cHg7bGluZS1oZWlnaHQ6MjVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O21hcmdpbjowO3BhZGRpbmc6MCAwIDAgMTBweH1kaXYucHBfZGVmYXVsdCAucHBfY2xvc2U6aG92ZXIsZGl2LnBwX2RlZmF1bHQgLnBwX25hdiAucHBfcGxheTpob3ZlcixkaXYucHBfZGVmYXVsdCAucHBfbmF2IC5wcF9wYXVzZTpob3ZlcixkaXYucHBfZGVmYXVsdCAucHBfYXJyb3dfbmV4dDpob3ZlcixkaXYucHBfZGVmYXVsdCAucHBfYXJyb3dfcHJldmlvdXM6aG92ZXJ7b3BhY2l0eTowLjd9ZGl2LnBwX2RlZmF1bHQgLnBwX2Rlc2NyaXB0aW9ue2ZvbnQtc2l6ZToxMXB4O2ZvbnQtd2VpZ2h0OjcwMDtsaW5lLWhlaWdodDoxNHB4O21hcmdpbjo1cHggNTBweCA1cHggMH1kaXYucHBfZGVmYXVsdCAucHBfYm90dG9tIC5wcF9sZWZ0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlLnBuZykgLTc4cHggLTEyN3B4IG5vLXJlcGVhdH1kaXYucHBfZGVmYXVsdCAucHBfYm90dG9tIC5wcF9taWRkbGV7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9zcHJpdGVfeC5wbmcpIGJvdHRvbSBsZWZ0IHJlcGVhdC14fWRpdi5wcF9kZWZhdWx0IC5wcF9ib3R0b20gLnBwX3JpZ2h0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2RlZmF1bHQvc3ByaXRlLnBuZykgLTExMnB4IC0xMjdweCBuby1yZXBlYXR9ZGl2LnBwX2RlZmF1bHQgLnBwX2xvYWRlckljb257YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGVmYXVsdC9sb2FkZXIuZ2lmKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdH1kaXYubGlnaHRfcm91bmRlZCAucHBfdG9wIC5wcF9sZWZ0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvc3ByaXRlLnBuZykgLTg4cHggLTUzcHggbm8tcmVwZWF0fWRpdi5saWdodF9yb3VuZGVkIC5wcF90b3AgLnBwX3JpZ2h0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvc3ByaXRlLnBuZykgLTExMHB4IC01M3B4IG5vLXJlcGVhdH1kaXYubGlnaHRfcm91bmRlZCAucHBfbmV4dDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL2J0bk5leHQucG5nKSBjZW50ZXIgcmlnaHQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9yb3VuZGVkIC5wcF9wcmV2aW91czpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL2J0blByZXZpb3VzLnBuZykgY2VudGVyIGxlZnQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9yb3VuZGVkIC5wcF9leHBhbmR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9zcHJpdGUucG5nKSAtMzFweCAtMjZweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2V4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL3Nwcml0ZS5wbmcpIC0zMXB4IC00N3B4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYubGlnaHRfcm91bmRlZCAucHBfY29udHJhY3R7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9zcHJpdGUucG5nKSAwIC0yNnB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYubGlnaHRfcm91bmRlZCAucHBfY29udHJhY3Q6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9zcHJpdGUucG5nKSAwIC00N3B4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYubGlnaHRfcm91bmRlZCAucHBfY2xvc2V7d2lkdGg6NzVweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL3Nwcml0ZS5wbmcpIC0xcHggLTFweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX25hdiAucHBfcGxheXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL3Nwcml0ZS5wbmcpIC0xcHggLTEwMHB4IG5vLXJlcGVhdDtoZWlnaHQ6MTVweDt3aWR0aDoxNHB4fWRpdi5saWdodF9yb3VuZGVkIC5wcF9uYXYgLnBwX3BhdXNle2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvc3ByaXRlLnBuZykgLTI0cHggLTEwMHB4IG5vLXJlcGVhdDtoZWlnaHQ6MTVweDt3aWR0aDoxNHB4fWRpdi5saWdodF9yb3VuZGVkIC5wcF9hcnJvd19wcmV2aW91c3tiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL3Nwcml0ZS5wbmcpIDAgLTcxcHggbm8tcmVwZWF0fWRpdi5saWdodF9yb3VuZGVkIC5wcF9hcnJvd19uZXh0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvc3ByaXRlLnBuZykgLTIycHggLTcxcHggbm8tcmVwZWF0fWRpdi5saWdodF9yb3VuZGVkIC5wcF9ib3R0b20gLnBwX2xlZnR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9zcHJpdGUucG5nKSAtODhweCAtODBweCBuby1yZXBlYXR9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2JvdHRvbSAucHBfcmlnaHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9zcHJpdGUucG5nKSAtMTEwcHggLTgwcHggbm8tcmVwZWF0fWRpdi5kYXJrX3JvdW5kZWQgLnBwX3RvcCAucHBfbGVmdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3JvdW5kZWQvc3ByaXRlLnBuZykgLTg4cHggLTUzcHggbm8tcmVwZWF0fWRpdi5kYXJrX3JvdW5kZWQgLnBwX3RvcCAucHBfcmlnaHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIC0xMTBweCAtNTNweCBuby1yZXBlYXR9ZGl2LmRhcmtfcm91bmRlZCAucHBfY29udGVudF9jb250YWluZXIgLnBwX2xlZnR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL2NvbnRlbnRQYXR0ZXJuLnBuZykgdG9wIGxlZnQgcmVwZWF0LXl9ZGl2LmRhcmtfcm91bmRlZCAucHBfY29udGVudF9jb250YWluZXIgLnBwX3JpZ2h0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9jb250ZW50UGF0dGVybi5wbmcpIHRvcCByaWdodCByZXBlYXQteX1kaXYuZGFya19yb3VuZGVkIC5wcF9uZXh0OmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9idG5OZXh0LnBuZykgY2VudGVyIHJpZ2h0IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZGFya19yb3VuZGVkIC5wcF9wcmV2aW91czpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3JvdW5kZWQvYnRuUHJldmlvdXMucG5nKSBjZW50ZXIgbGVmdCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmRhcmtfcm91bmRlZCAucHBfZXhwYW5ke2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9zcHJpdGUucG5nKSAtMzFweCAtMjZweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmRhcmtfcm91bmRlZCAucHBfZXhwYW5kOmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9zcHJpdGUucG5nKSAtMzFweCAtNDdweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmRhcmtfcm91bmRlZCAucHBfY29udHJhY3R7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIDAgLTI2cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5kYXJrX3JvdW5kZWQgLnBwX2NvbnRyYWN0OmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9zcHJpdGUucG5nKSAwIC00N3B4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZGFya19yb3VuZGVkIC5wcF9jbG9zZXt3aWR0aDo3NXB4O2hlaWdodDoyMnB4O2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9zcHJpdGUucG5nKSAtMXB4IC0xcHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5kYXJrX3JvdW5kZWQgLnBwX2Rlc2NyaXB0aW9ue21hcmdpbi1yaWdodDo4NXB4O2NvbG9yOiNmZmZ9ZGl2LmRhcmtfcm91bmRlZCAucHBfbmF2IC5wcF9wbGF5e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9zcHJpdGUucG5nKSAtMXB4IC0xMDBweCBuby1yZXBlYXQ7aGVpZ2h0OjE1cHg7d2lkdGg6MTRweH1kaXYuZGFya19yb3VuZGVkIC5wcF9uYXYgLnBwX3BhdXNle2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9zcHJpdGUucG5nKSAtMjRweCAtMTAwcHggbm8tcmVwZWF0O2hlaWdodDoxNXB4O3dpZHRoOjE0cHh9ZGl2LmRhcmtfcm91bmRlZCAucHBfYXJyb3dfcHJldmlvdXN7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIDAgLTcxcHggbm8tcmVwZWF0fWRpdi5kYXJrX3JvdW5kZWQgLnBwX2Fycm93X25leHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIC0yMnB4IC03MXB4IG5vLXJlcGVhdH1kaXYuZGFya19yb3VuZGVkIC5wcF9ib3R0b20gLnBwX2xlZnR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL3Nwcml0ZS5wbmcpIC04OHB4IC04MHB4IG5vLXJlcGVhdH1kaXYuZGFya19yb3VuZGVkIC5wcF9ib3R0b20gLnBwX3JpZ2h0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfcm91bmRlZC9zcHJpdGUucG5nKSAtMTEwcHggLTgwcHggbm8tcmVwZWF0fWRpdi5kYXJrX3JvdW5kZWQgLnBwX2xvYWRlckljb257YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19yb3VuZGVkL2xvYWRlci5naWYpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0fWRpdi5kYXJrX3NxdWFyZSAucHBfbGVmdCxkaXYuZGFya19zcXVhcmUgLnBwX21pZGRsZSxkaXYuZGFya19zcXVhcmUgLnBwX3JpZ2h0LGRpdi5kYXJrX3NxdWFyZSAucHBfY29udGVudHtiYWNrZ3JvdW5kOiMwMDB9ZGl2LmRhcmtfc3F1YXJlIC5wcF9kZXNjcmlwdGlvbntjb2xvcjojZmZmO21hcmdpbjowIDg1cHggMCAwfWRpdi5kYXJrX3NxdWFyZSAucHBfbG9hZGVySWNvbntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3NxdWFyZS9sb2FkZXIuZ2lmKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdH1kaXYuZGFya19zcXVhcmUgLnBwX2V4cGFuZHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3NxdWFyZS9zcHJpdGUucG5nKSAtMzFweCAtMjZweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmRhcmtfc3F1YXJlIC5wcF9leHBhbmQ6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19zcXVhcmUvc3ByaXRlLnBuZykgLTMxcHggLTQ3cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5kYXJrX3NxdWFyZSAucHBfY29udHJhY3R7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19zcXVhcmUvc3ByaXRlLnBuZykgMCAtMjZweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmRhcmtfc3F1YXJlIC5wcF9jb250cmFjdDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3NxdWFyZS9zcHJpdGUucG5nKSAwIC00N3B4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZGFya19zcXVhcmUgLnBwX2Nsb3Nle3dpZHRoOjc1cHg7aGVpZ2h0OjIycHg7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19zcXVhcmUvc3ByaXRlLnBuZykgLTFweCAtMXB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZGFya19zcXVhcmUgLnBwX25hdntjbGVhcjpub25lfWRpdi5kYXJrX3NxdWFyZSAucHBfbmF2IC5wcF9wbGF5e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfc3F1YXJlL3Nwcml0ZS5wbmcpIC0xcHggLTEwMHB4IG5vLXJlcGVhdDtoZWlnaHQ6MTVweDt3aWR0aDoxNHB4fWRpdi5kYXJrX3NxdWFyZSAucHBfbmF2IC5wcF9wYXVzZXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3NxdWFyZS9zcHJpdGUucG5nKSAtMjRweCAtMTAwcHggbm8tcmVwZWF0O2hlaWdodDoxNXB4O3dpZHRoOjE0cHh9ZGl2LmRhcmtfc3F1YXJlIC5wcF9hcnJvd19wcmV2aW91c3tiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3NxdWFyZS9zcHJpdGUucG5nKSAwIC03MXB4IG5vLXJlcGVhdH1kaXYuZGFya19zcXVhcmUgLnBwX2Fycm93X25leHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZGFya19zcXVhcmUvc3ByaXRlLnBuZykgLTIycHggLTcxcHggbm8tcmVwZWF0fWRpdi5kYXJrX3NxdWFyZSAucHBfbmV4dDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3NxdWFyZS9idG5OZXh0LnBuZykgY2VudGVyIHJpZ2h0IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZGFya19zcXVhcmUgLnBwX3ByZXZpb3VzOmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2Rhcmtfc3F1YXJlL2J0blByZXZpb3VzLnBuZykgY2VudGVyIGxlZnQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9zcXVhcmUgLnBwX2V4cGFuZHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9zcXVhcmUvc3ByaXRlLnBuZykgLTMxcHggLTI2cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9zcXVhcmUgLnBwX2V4cGFuZDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9zcXVhcmUvc3ByaXRlLnBuZykgLTMxcHggLTQ3cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9zcXVhcmUgLnBwX2NvbnRyYWN0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3NxdWFyZS9zcHJpdGUucG5nKSAwIC0yNnB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYubGlnaHRfc3F1YXJlIC5wcF9jb250cmFjdDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9zcXVhcmUvc3ByaXRlLnBuZykgMCAtNDdweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmxpZ2h0X3NxdWFyZSAucHBfY2xvc2V7d2lkdGg6NzVweDtoZWlnaHQ6MjJweDtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9zcXVhcmUvc3ByaXRlLnBuZykgLTFweCAtMXB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYubGlnaHRfc3F1YXJlIC5wcF9uYXYgLnBwX3BsYXl7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfc3F1YXJlL3Nwcml0ZS5wbmcpIC0xcHggLTEwMHB4IG5vLXJlcGVhdDtoZWlnaHQ6MTVweDt3aWR0aDoxNHB4fWRpdi5saWdodF9zcXVhcmUgLnBwX25hdiAucHBfcGF1c2V7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfc3F1YXJlL3Nwcml0ZS5wbmcpIC0yNHB4IC0xMDBweCBuby1yZXBlYXQ7aGVpZ2h0OjE1cHg7d2lkdGg6MTRweH1kaXYubGlnaHRfc3F1YXJlIC5wcF9hcnJvd19wcmV2aW91c3tiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9zcXVhcmUvc3ByaXRlLnBuZykgMCAtNzFweCBuby1yZXBlYXR9ZGl2LmxpZ2h0X3NxdWFyZSAucHBfYXJyb3dfbmV4dHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9zcXVhcmUvc3ByaXRlLnBuZykgLTIycHggLTcxcHggbm8tcmVwZWF0fWRpdi5saWdodF9zcXVhcmUgLnBwX25leHQ6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfc3F1YXJlL2J0bk5leHQucG5nKSBjZW50ZXIgcmlnaHQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5saWdodF9zcXVhcmUgLnBwX3ByZXZpb3VzOmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3NxdWFyZS9idG5QcmV2aW91cy5wbmcpIGNlbnRlciBsZWZ0IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZmFjZWJvb2sgLnBwX3RvcCAucHBfbGVmdHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9zcHJpdGUucG5nKSAtODhweCAtNTNweCBuby1yZXBlYXR9ZGl2LmZhY2Vib29rIC5wcF90b3AgLnBwX21pZGRsZXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9jb250ZW50UGF0dGVyblRvcC5wbmcpIHRvcCBsZWZ0IHJlcGVhdC14fWRpdi5mYWNlYm9vayAucHBfdG9wIC5wcF9yaWdodHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9zcHJpdGUucG5nKSAtMTEwcHggLTUzcHggbm8tcmVwZWF0fWRpdi5mYWNlYm9vayAucHBfY29udGVudF9jb250YWluZXIgLnBwX2xlZnR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svY29udGVudFBhdHRlcm5MZWZ0LnBuZykgdG9wIGxlZnQgcmVwZWF0LXl9ZGl2LmZhY2Vib29rIC5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfcmlnaHR7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svY29udGVudFBhdHRlcm5SaWdodC5wbmcpIHRvcCByaWdodCByZXBlYXQteX1kaXYuZmFjZWJvb2sgLnBwX2V4cGFuZHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9zcHJpdGUucG5nKSAtMzFweCAtMjZweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmZhY2Vib29rIC5wcF9leHBhbmQ6aG92ZXJ7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svc3ByaXRlLnBuZykgLTMxcHggLTQ3cHggbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5mYWNlYm9vayAucHBfY29udHJhY3R7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svc3ByaXRlLnBuZykgMCAtMjZweCBuby1yZXBlYXQ7Y3Vyc29yOnBvaW50ZXJ9ZGl2LmZhY2Vib29rIC5wcF9jb250cmFjdDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9zcHJpdGUucG5nKSAwIC00N3B4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZmFjZWJvb2sgLnBwX2Nsb3Nle3dpZHRoOjIycHg7aGVpZ2h0OjIycHg7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svc3ByaXRlLnBuZykgLTFweCAtMXB4IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZmFjZWJvb2sgLnBwX2Rlc2NyaXB0aW9ue21hcmdpbjowIDM3cHggMCAwfWRpdi5mYWNlYm9vayAucHBfbG9hZGVySWNvbntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9sb2FkZXIuZ2lmKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdH1kaXYuZmFjZWJvb2sgLnBwX2Fycm93X3ByZXZpb3Vze2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL3Nwcml0ZS5wbmcpIDAgLTcxcHggbm8tcmVwZWF0O2hlaWdodDoyMnB4O21hcmdpbi10b3A6MDt3aWR0aDoyMnB4fWRpdi5mYWNlYm9vayAucHBfYXJyb3dfcHJldmlvdXMuZGlzYWJsZWR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC05NnB4O2N1cnNvcjpkZWZhdWx0fWRpdi5mYWNlYm9vayAucHBfYXJyb3dfbmV4dHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9zcHJpdGUucG5nKSAtMzJweCAtNzFweCBuby1yZXBlYXQ7aGVpZ2h0OjIycHg7bWFyZ2luLXRvcDowO3dpZHRoOjIycHh9ZGl2LmZhY2Vib29rIC5wcF9hcnJvd19uZXh0LmRpc2FibGVke2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTk2cHg7Y3Vyc29yOmRlZmF1bHR9ZGl2LmZhY2Vib29rIC5wcF9uYXZ7bWFyZ2luLXRvcDowfWRpdi5mYWNlYm9vayAucHBfbmF2IHB7Zm9udC1zaXplOjE1cHg7cGFkZGluZzowIDNweCAwIDRweH1kaXYuZmFjZWJvb2sgLnBwX25hdiAucHBfcGxheXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9zcHJpdGUucG5nKSAtMXB4IC0xMjNweCBuby1yZXBlYXQ7aGVpZ2h0OjIycHg7d2lkdGg6MjJweH1kaXYuZmFjZWJvb2sgLnBwX25hdiAucHBfcGF1c2V7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svc3ByaXRlLnBuZykgLTMycHggLTEyM3B4IG5vLXJlcGVhdDtoZWlnaHQ6MjJweDt3aWR0aDoyMnB4fWRpdi5mYWNlYm9vayAucHBfbmV4dDpob3ZlcntiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9mYWNlYm9vay9idG5OZXh0LnBuZykgY2VudGVyIHJpZ2h0IG5vLXJlcGVhdDtjdXJzb3I6cG9pbnRlcn1kaXYuZmFjZWJvb2sgLnBwX3ByZXZpb3VzOmhvdmVye2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL2J0blByZXZpb3VzLnBuZykgY2VudGVyIGxlZnQgbm8tcmVwZWF0O2N1cnNvcjpwb2ludGVyfWRpdi5mYWNlYm9vayAucHBfYm90dG9tIC5wcF9sZWZ0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL3Nwcml0ZS5wbmcpIC04OHB4IC04MHB4IG5vLXJlcGVhdH1kaXYuZmFjZWJvb2sgLnBwX2JvdHRvbSAucHBfbWlkZGxle2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL2NvbnRlbnRQYXR0ZXJuQm90dG9tLnBuZykgdG9wIGxlZnQgcmVwZWF0LXh9ZGl2LmZhY2Vib29rIC5wcF9ib3R0b20gLnBwX3JpZ2h0e2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2ZhY2Vib29rL3Nwcml0ZS5wbmcpIC0xMTBweCAtODBweCBuby1yZXBlYXR9ZGl2LnBwX3BpY19ob2xkZXIgYTpmb2N1c3tvdXRsaW5lOm5vbmV9ZGl2LnBwX292ZXJsYXl7YmFja2dyb3VuZDojMDAwO2Rpc3BsYXk6bm9uZTtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4Ojk1MDB9ZGl2LnBwX3BpY19ob2xkZXJ7ZGlzcGxheTpub25lO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjEwMHB4O3otaW5kZXg6MTAwMDB9LnBwX2NvbnRlbnR7aGVpZ2h0OjQwcHg7bWluLXdpZHRoOjQwcHh9KiBodG1sIC5wcF9jb250ZW50e3dpZHRoOjQwcHh9LnBwX2NvbnRlbnRfY29udGFpbmVye3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdDt3aWR0aDoxMDAlfS5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfbGVmdHtwYWRkaW5nLWxlZnQ6MjBweH0ucHBfY29udGVudF9jb250YWluZXIgLnBwX3JpZ2h0e3BhZGRpbmctcmlnaHQ6MjBweH0ucHBfY29udGVudF9jb250YWluZXIgLnBwX2RldGFpbHN7ZmxvYXQ6bGVmdDttYXJnaW46MTBweCAwIDJweH0ucHBfZGVzY3JpcHRpb257ZGlzcGxheTpub25lO21hcmdpbjowfS5wcF9zb2NpYWx7ZmxvYXQ6bGVmdDttYXJnaW46MH0ucHBfc29jaWFsIC5mYWNlYm9va3tmbG9hdDpsZWZ0O21hcmdpbi1sZWZ0OjVweDt3aWR0aDo1NXB4O292ZXJmbG93OmhpZGRlbn0ucHBfc29jaWFsIC50d2l0dGVye2Zsb2F0OmxlZnR9LnBwX25hdntjbGVhcjpyaWdodDtmbG9hdDpsZWZ0O21hcmdpbjozcHggMTBweCAwIDB9LnBwX25hdiBwe2Zsb2F0OmxlZnQ7d2hpdGUtc3BhY2U6bm93cmFwO21hcmdpbjoycHggNHB4fS5wcF9uYXYgLnBwX3BsYXksLnBwX25hdiAucHBfcGF1c2V7ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6NHB4O3RleHQtaW5kZW50Oi0xMDAwMHB4fWEucHBfYXJyb3dfcHJldmlvdXMsYS5wcF9hcnJvd19uZXh0e2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDtoZWlnaHQ6MTVweDttYXJnaW4tdG9wOjNweDtvdmVyZmxvdzpoaWRkZW47dGV4dC1pbmRlbnQ6LTEwMDAwcHg7d2lkdGg6MTRweH0ucHBfaG92ZXJDb250YWluZXJ7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7d2lkdGg6MTAwJTt6LWluZGV4OjIwMDB9LnBwX2dhbGxlcnl7ZGlzcGxheTpub25lO2xlZnQ6NTAlO21hcmdpbi10b3A6LTUwcHg7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDAwMH0ucHBfZ2FsbGVyeSBkaXZ7ZmxvYXQ6bGVmdDtvdmVyZmxvdzpoaWRkZW47cG9zaXRpb246cmVsYXRpdmV9LnBwX2dhbGxlcnkgdWx7ZmxvYXQ6bGVmdDtoZWlnaHQ6MzVweDtwb3NpdGlvbjpyZWxhdGl2ZTt3aGl0ZS1zcGFjZTpub3dyYXA7bWFyZ2luOjAgMCAwIDVweDtwYWRkaW5nOjB9LnBwX2dhbGxlcnkgdWwgYXtib3JkZXI6MXB4IHJnYmEoMCwwLDAsMC41KSBzb2xpZDtkaXNwbGF5OmJsb2NrO2Zsb2F0OmxlZnQ7aGVpZ2h0OjMzcHg7b3ZlcmZsb3c6aGlkZGVufS5wcF9nYWxsZXJ5IHVsIGEgaW1ne2JvcmRlcjowfS5wcF9nYWxsZXJ5IGxpe2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6bGVmdDttYXJnaW46MCA1cHggMCAwO3BhZGRpbmc6MH0ucHBfZ2FsbGVyeSBsaS5kZWZhdWx0IGF7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vZmFjZWJvb2svZGVmYXVsdF90aHVtYm5haWwuZ2lmKSAwIDAgbm8tcmVwZWF0O2Rpc3BsYXk6YmxvY2s7aGVpZ2h0OjMzcHg7d2lkdGg6NTBweH0ucHBfZ2FsbGVyeSAucHBfYXJyb3dfcHJldmlvdXMsLnBwX2dhbGxlcnkgLnBwX2Fycm93X25leHR7bWFyZ2luLXRvcDo3cHghaW1wb3J0YW50fWEucHBfbmV4dHtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9saWdodF9yb3VuZGVkL2J0bk5leHQucG5nKSAxMDAwMHB4IDEwMDAwcHggbm8tcmVwZWF0O2Rpc3BsYXk6YmxvY2s7ZmxvYXQ6cmlnaHQ7aGVpZ2h0OjEwMCU7dGV4dC1pbmRlbnQ6LTEwMDAwcHg7d2lkdGg6NDklfWEucHBfcHJldmlvdXN7YmFja2dyb3VuZDp1cmwocHJldHR5UGhvdG8vbGlnaHRfcm91bmRlZC9idG5OZXh0LnBuZykgMTAwMDBweCAxMDAwMHB4IG5vLXJlcGVhdDtkaXNwbGF5OmJsb2NrO2Zsb2F0OmxlZnQ7aGVpZ2h0OjEwMCU7dGV4dC1pbmRlbnQ6LTEwMDAwcHg7d2lkdGg6NDklfWEucHBfZXhwYW5kLGEucHBfY29udHJhY3R7Y3Vyc29yOnBvaW50ZXI7ZGlzcGxheTpub25lO2hlaWdodDoyMHB4O3Bvc2l0aW9uOmFic29sdXRlO3JpZ2h0OjMwcHg7dGV4dC1pbmRlbnQ6LTEwMDAwcHg7dG9wOjEwcHg7d2lkdGg6MjBweDt6LWluZGV4OjIwMDAwfWEucHBfY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MDt0b3A6MDtkaXNwbGF5OmJsb2NrO2xpbmUtaGVpZ2h0OjIycHg7dGV4dC1pbmRlbnQ6LTEwMDAwcHh9LnBwX2xvYWRlckljb257ZGlzcGxheTpibG9jaztoZWlnaHQ6MjRweDtsZWZ0OjUwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjI0cHg7bWFyZ2luOi0xMnB4IDAgMCAtMTJweH0jcHBfZnVsbF9yZXN7bGluZS1oZWlnaHQ6MSFpbXBvcnRhbnR9I3BwX2Z1bGxfcmVzIC5wcF9pbmxpbmV7dGV4dC1hbGlnbjpsZWZ0fSNwcF9mdWxsX3JlcyAucHBfaW5saW5lIHB7bWFyZ2luOjAgMCAxNXB4fWRpdi5wcHR7Y29sb3I6I2ZmZjtkaXNwbGF5Om5vbmU7Zm9udC1zaXplOjE3cHg7ei1pbmRleDo5OTk5O21hcmdpbjowIDAgNXB4IDE1cHh9ZGl2LnBwX2RlZmF1bHQgLnBwX2NvbnRlbnQsZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2NvbnRlbnR7YmFja2dyb3VuZC1jb2xvcjojZmZmfWRpdi5wcF9kZWZhdWx0ICNwcF9mdWxsX3JlcyAucHBfaW5saW5lLGRpdi5saWdodF9yb3VuZGVkIC5wcF9jb250ZW50IC5wcHQsZGl2LmxpZ2h0X3JvdW5kZWQgI3BwX2Z1bGxfcmVzIC5wcF9pbmxpbmUsZGl2LmxpZ2h0X3NxdWFyZSAucHBfY29udGVudCAucHB0LGRpdi5saWdodF9zcXVhcmUgI3BwX2Z1bGxfcmVzIC5wcF9pbmxpbmUsZGl2LmZhY2Vib29rIC5wcF9jb250ZW50IC5wcHQsZGl2LmZhY2Vib29rICNwcF9mdWxsX3JlcyAucHBfaW5saW5le2NvbG9yOiMwMDB9ZGl2LnBwX2RlZmF1bHQgLnBwX2dhbGxlcnkgdWwgbGkgYTpob3ZlcixkaXYucHBfZGVmYXVsdCAucHBfZ2FsbGVyeSB1bCBsaS5zZWxlY3RlZCBhLC5wcF9nYWxsZXJ5IHVsIGE6aG92ZXIsLnBwX2dhbGxlcnkgbGkuc2VsZWN0ZWQgYXtib3JkZXItY29sb3I6I2ZmZn1kaXYucHBfZGVmYXVsdCAucHBfZGV0YWlscyxkaXYubGlnaHRfcm91bmRlZCAucHBfZGV0YWlscyxkaXYuZGFya19yb3VuZGVkIC5wcF9kZXRhaWxzLGRpdi5kYXJrX3NxdWFyZSAucHBfZGV0YWlscyxkaXYubGlnaHRfc3F1YXJlIC5wcF9kZXRhaWxzLGRpdi5mYWNlYm9vayAucHBfZGV0YWlsc3twb3NpdGlvbjpyZWxhdGl2ZX1kaXYubGlnaHRfcm91bmRlZCAucHBfdG9wIC5wcF9taWRkbGUsZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2NvbnRlbnRfY29udGFpbmVyIC5wcF9sZWZ0LGRpdi5saWdodF9yb3VuZGVkIC5wcF9jb250ZW50X2NvbnRhaW5lciAucHBfcmlnaHQsZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2JvdHRvbSAucHBfbWlkZGxlLGRpdi5saWdodF9zcXVhcmUgLnBwX2xlZnQsZGl2LmxpZ2h0X3NxdWFyZSAucHBfbWlkZGxlLGRpdi5saWdodF9zcXVhcmUgLnBwX3JpZ2h0LGRpdi5saWdodF9zcXVhcmUgLnBwX2NvbnRlbnQsZGl2LmZhY2Vib29rIC5wcF9jb250ZW50e2JhY2tncm91bmQ6I2ZmZn1kaXYubGlnaHRfcm91bmRlZCAucHBfZGVzY3JpcHRpb24sZGl2LmxpZ2h0X3NxdWFyZSAucHBfZGVzY3JpcHRpb257bWFyZ2luLXJpZ2h0Ojg1cHh9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2dhbGxlcnkgYS5wcF9hcnJvd19wcmV2aW91cyxkaXYubGlnaHRfcm91bmRlZCAucHBfZ2FsbGVyeSBhLnBwX2Fycm93X25leHQsZGl2LmRhcmtfcm91bmRlZCAucHBfZ2FsbGVyeSBhLnBwX2Fycm93X3ByZXZpb3VzLGRpdi5kYXJrX3JvdW5kZWQgLnBwX2dhbGxlcnkgYS5wcF9hcnJvd19uZXh0LGRpdi5kYXJrX3NxdWFyZSAucHBfZ2FsbGVyeSBhLnBwX2Fycm93X3ByZXZpb3VzLGRpdi5kYXJrX3NxdWFyZSAucHBfZ2FsbGVyeSBhLnBwX2Fycm93X25leHQsZGl2LmxpZ2h0X3NxdWFyZSAucHBfZ2FsbGVyeSBhLnBwX2Fycm93X3ByZXZpb3VzLGRpdi5saWdodF9zcXVhcmUgLnBwX2dhbGxlcnkgYS5wcF9hcnJvd19uZXh0e21hcmdpbi10b3A6MTJweCFpbXBvcnRhbnR9ZGl2LmxpZ2h0X3JvdW5kZWQgLnBwX2Fycm93X3ByZXZpb3VzLmRpc2FibGVkLGRpdi5kYXJrX3JvdW5kZWQgLnBwX2Fycm93X3ByZXZpb3VzLmRpc2FibGVkLGRpdi5kYXJrX3NxdWFyZSAucHBfYXJyb3dfcHJldmlvdXMuZGlzYWJsZWQsZGl2LmxpZ2h0X3NxdWFyZSAucHBfYXJyb3dfcHJldmlvdXMuZGlzYWJsZWR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC04N3B4O2N1cnNvcjpkZWZhdWx0fWRpdi5saWdodF9yb3VuZGVkIC5wcF9hcnJvd19uZXh0LmRpc2FibGVkLGRpdi5kYXJrX3JvdW5kZWQgLnBwX2Fycm93X25leHQuZGlzYWJsZWQsZGl2LmRhcmtfc3F1YXJlIC5wcF9hcnJvd19uZXh0LmRpc2FibGVkLGRpdi5saWdodF9zcXVhcmUgLnBwX2Fycm93X25leHQuZGlzYWJsZWR7YmFja2dyb3VuZC1wb3NpdGlvbjotMjJweCAtODdweDtjdXJzb3I6ZGVmYXVsdH1kaXYubGlnaHRfcm91bmRlZCAucHBfbG9hZGVySWNvbixkaXYubGlnaHRfc3F1YXJlIC5wcF9sb2FkZXJJY29ue2JhY2tncm91bmQ6dXJsKHByZXR0eVBob3RvL2xpZ2h0X3JvdW5kZWQvbG9hZGVyLmdpZikgY2VudGVyIGNlbnRlciBuby1yZXBlYXR9ZGl2LmRhcmtfcm91bmRlZCAucHBfdG9wIC5wcF9taWRkbGUsZGl2LmRhcmtfcm91bmRlZCAucHBfY29udGVudCxkaXYuZGFya19yb3VuZGVkIC5wcF9ib3R0b20gLnBwX21pZGRsZXtiYWNrZ3JvdW5kOnVybChwcmV0dHlQaG90by9kYXJrX3JvdW5kZWQvY29udGVudFBhdHRlcm4ucG5nKSB0b3AgbGVmdCByZXBlYXR9ZGl2LmRhcmtfcm91bmRlZCAuY3VycmVudFRleHRIb2xkZXIsZGl2LmRhcmtfc3F1YXJlIC5jdXJyZW50VGV4dEhvbGRlcntjb2xvcjojYzRjNGM0fWRpdi5kYXJrX3JvdW5kZWQgI3BwX2Z1bGxfcmVzIC5wcF9pbmxpbmUsZGl2LmRhcmtfc3F1YXJlICNwcF9mdWxsX3JlcyAucHBfaW5saW5le2NvbG9yOiNmZmZ9LnBwX3RvcCwucHBfYm90dG9te2hlaWdodDoyMHB4O3Bvc2l0aW9uOnJlbGF0aXZlfSogaHRtbCAucHBfdG9wLCogaHRtbCAucHBfYm90dG9te3BhZGRpbmc6MCAyMHB4fS5wcF90b3AgLnBwX2xlZnQsLnBwX2JvdHRvbSAucHBfbGVmdHtoZWlnaHQ6MjBweDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MjBweH0ucHBfdG9wIC5wcF9taWRkbGUsLnBwX2JvdHRvbSAucHBfbWlkZGxle2hlaWdodDoyMHB4O2xlZnQ6MjBweDtwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDoyMHB4fSogaHRtbCAucHBfdG9wIC5wcF9taWRkbGUsKiBodG1sIC5wcF9ib3R0b20gLnBwX21pZGRsZXtsZWZ0OjA7cG9zaXRpb246c3RhdGljfS5wcF90b3AgLnBwX3JpZ2h0LC5wcF9ib3R0b20gLnBwX3JpZ2h0e2hlaWdodDoyMHB4O2xlZnQ6YXV0bztwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDowO3RvcDowO3dpZHRoOjIwcHh9LnBwX2ZhZGUsLnBwX2dhbGxlcnkgbGkuZGVmYXVsdCBhIGltZ3tkaXNwbGF5Om5vbmV9CgovKgogKiAJQ2xvY2sxIC0gVGhlIEZpbmFsIENvdW50ZG93bgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiBubyBjc3MgbmVlZGVkICovCgovKgogKiAJQ2xvY2syIC0gZmxpcGNsb2NrCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qIEdldCB0aGUgYm91cmJvbiBtaXhpbiBmcm9tIGh0dHA6Ly9ib3VyYm9uLmlvICovLyogUmVzZXQgKi8KLmZsaXAtY2xvY2std3JhcHBlciAqIHsgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7ICAgIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAgICAtby1ib3gtc2l6aW5nOiBib3JkZXItYm94OyAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47ICAgIC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47ICAgIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO30uZmxpcC1jbG9jay13cmFwcGVyIGEgeyAgY3Vyc29yOiBwb2ludGVyOyAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyAgY29sb3I6ICNjY2M7IH0uZmxpcC1jbG9jay13cmFwcGVyIGE6aG92ZXIgeyAgY29sb3I6ICNmZmY7IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsIHsgIGxpc3Qtc3R5bGU6IG5vbmU7IH0uZmxpcC1jbG9jay13cmFwcGVyLmNsZWFyZml4OmJlZm9yZSwuZmxpcC1jbG9jay13cmFwcGVyLmNsZWFyZml4OmFmdGVyIHsgIGNvbnRlbnQ6ICIgIjsgIGRpc3BsYXk6IHRhYmxlOyB9LmZsaXAtY2xvY2std3JhcHBlci5jbGVhcmZpeDphZnRlciB7ICBjbGVhcjogYm90aDsgfS5mbGlwLWNsb2NrLXdyYXBwZXIuY2xlYXJmaXggeyAgKnpvb206IDE7IH0vKiBNYWluICovLmZsaXAtY2xvY2std3JhcHBlciB7ICBmb250OiBub3JtYWwgMTFweCAiSGVsdmV0aWNhIE5ldWUiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7ICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lOyB9LmZsaXAtY2xvY2stbWVyaWRpdW0geyAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50OyAgYm94LXNoYWRvdzogMCAwIDAgIWltcG9ydGFudDsgIGZvbnQtc2l6ZTogMzZweCAhaW1wb3J0YW50OyB9LmZsaXAtY2xvY2stbWVyaWRpdW0gYSB7IGNvbG9yOiAjMzEzMzMzOyB9LmZsaXAtY2xvY2std3JhcHBlciB7ICB0ZXh0LWFsaWduOiBjZW50ZXI7ICBwb3NpdGlvbjogcmVsYXRpdmU7ICB3aWR0aDogMTAwJTsgIG1hcmdpbjogMWVtO30uZmxpcC1jbG9jay13cmFwcGVyOmJlZm9yZSwuZmxpcC1jbG9jay13cmFwcGVyOmFmdGVyIHsgICAgY29udGVudDogIiAiOyAvKiAxICovICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAyICovfS5mbGlwLWNsb2NrLXdyYXBwZXI6YWZ0ZXIgeyAgICBjbGVhcjogYm90aDt9LyogU2tlbGV0b24gKi8uZmxpcC1jbG9jay13cmFwcGVyIHVsIHsgIHBvc2l0aW9uOiByZWxhdGl2ZTsgIGZsb2F0OiBsZWZ0OyAgbWFyZ2luOiA1cHg7ICB3aWR0aDogNjBweDsgIGhlaWdodDogOTBweDsgIGZvbnQtc2l6ZTogODBweDsgIGZvbnQtd2VpZ2h0OiBib2xkOyAgbGluZS1oZWlnaHQ6IDg3cHg7ICBib3JkZXItcmFkaXVzOiA2cHg7ICBiYWNrZ3JvdW5kOiAjMDAwO30uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpIHsgIHotaW5kZXg6IDE7ICBwb3NpdGlvbjogYWJzb2x1dGU7ICBsZWZ0OiAwOyAgdG9wOiAwOyAgd2lkdGg6IDEwMCU7ICBoZWlnaHQ6IDEwMCU7ICBsaW5lLWhlaWdodDogODdweDsgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O30uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpOmZpcnN0LWNoaWxkIHsgIHotaW5kZXg6IDI7IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpIGEgeyAgZGlzcGxheTogYmxvY2s7ICBoZWlnaHQ6IDEwMCU7ICAtd2Via2l0LXBlcnNwZWN0aXZlOiAyMDBweDsgIC1tb3otcGVyc3BlY3RpdmU6IDIwMHB4OyAgcGVyc3BlY3RpdmU6IDIwMHB4OyAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7ICBvdmVyZmxvdzogdmlzaWJsZSAhaW1wb3J0YW50OyAgY3Vyc29yOiBkZWZhdWx0ICFpbXBvcnRhbnQ7IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpIGEgZGl2IHsgIHotaW5kZXg6IDE7ICBwb3NpdGlvbjogYWJzb2x1dGU7ICBsZWZ0OiAwOyAgd2lkdGg6IDEwMCU7ICBoZWlnaHQ6IDUwJTsgIGZvbnQtc2l6ZTogODBweDsgIG92ZXJmbG93OiBoaWRkZW47ICAgb3V0bGluZTogMXB4IHNvbGlkIHRyYW5zcGFyZW50OyB9LmZsaXAtY2xvY2std3JhcHBlciB1bCBsaSBhIGRpdiAuc2hhZG93IHsgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIHdpZHRoOiAxMDAlOyAgaGVpZ2h0OiAxMDAlOyAgei1pbmRleDogMjsgfS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwgbGkgYSBkaXYudXAgeyAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7ICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDEwMCU7ICAtby10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMTAwJTsgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAxMDAlOyAgdG9wOiAwOyB9LmZsaXAtY2xvY2std3JhcHBlciB1bCBsaSBhIGRpdi51cDphZnRlciB7ICBjb250ZW50OiAiIjsgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIHRvcDogNDRweDsgIGxlZnQ6IDA7ICB6LWluZGV4OiA1OyAgd2lkdGg6IDEwMCU7ICBoZWlnaHQ6IDNweDsgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7ICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNCk7IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpIGEgZGl2LmRvd24geyAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7ICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogNTAlIDA7ICAtby10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSAwOyAgYm90dG9tOiAwOyAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogNnB4OyAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDZweDt9LmZsaXAtY2xvY2std3JhcHBlciB1bCBsaSBhIGRpdiBkaXYuaW5uIHsgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIGxlZnQ6IDA7ICB6LWluZGV4OiAxOyAgd2lkdGg6IDEwMCU7ICBoZWlnaHQ6IDIwMCU7ICBjb2xvcjogI2NjYzsgIHRleHQtc2hhZG93OiAwIDFweCAycHggIzAwMDsgIHRleHQtYWxpZ246IGNlbnRlcjsgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7ICBib3JkZXItcmFkaXVzOiA2cHg7ICBmb250LXNpemU6IDcwcHg7IH0uZmxpcC1jbG9jay13cmFwcGVyIHVsIGxpIGEgZGl2LnVwIGRpdi5pbm4geyAgdG9wOiAwOyB9LmZsaXAtY2xvY2std3JhcHBlciB1bCBsaSBhIGRpdi5kb3duIGRpdi5pbm4geyAgYm90dG9tOiAwOyB9LyogUExBWSAqLy5mbGlwLWNsb2NrLXdyYXBwZXIgdWwucGxheSBsaS5mbGlwLWNsb2NrLWJlZm9yZSB7ICB6LWluZGV4OiAzOyB9LmZsaXAtY2xvY2std3JhcHBlciAuZmxpcCB7ICAgYm94LXNoYWRvdzogMCAycHggNXB4IHJnYmEoMCwgMCwgMCwgMC43KTsgfS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwucGxheSBsaS5mbGlwLWNsb2NrLWFjdGl2ZSB7ICAtd2Via2l0LWFuaW1hdGlvbjogYXNkIDAuNXMgMC41cyBsaW5lYXIgYm90aDsgIC1tb3otYW5pbWF0aW9uOiBhc2QgMC41cyAwLjVzIGxpbmVhciBib3RoOyAgYW5pbWF0aW9uOiBhc2QgMC41cyAwLjVzIGxpbmVhciBib3RoOyAgei1pbmRleDogNTsgfS5mbGlwLWNsb2NrLWRpdmlkZXIgeyAgZmxvYXQ6IGxlZnQ7ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7ICBwb3NpdGlvbjogcmVsYXRpdmU7ICB3aWR0aDogMjBweDsgIGhlaWdodDogMTAwcHg7IH0uZmxpcC1jbG9jay1kaXZpZGVyOmZpcnN0LWNoaWxkIHsgIHdpZHRoOiAwOyB9LmZsaXAtY2xvY2stZG90IHsgIGRpc3BsYXk6IGJsb2NrOyAgYmFja2dyb3VuZDogIzMyMzQzNDsgIHdpZHRoOiAxMHB4OyAgaGVpZ2h0OiAxMHB4OyAgcG9zaXRpb246IGFic29sdXRlOyAgYm9yZGVyLXJhZGl1czogNTAlOyAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDAsIDAsIDAsIDAuNSk7ICBsZWZ0OiA1cHg7IH0uZmxpcC1jbG9jay1kaXZpZGVyIC5mbGlwLWNsb2NrLWxhYmVsIHsgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIHRvcDogLTEuNWVtOyAgcmlnaHQ6IC04NnB4OyAgY29sb3I6IGJsYWNrOyAgdGV4dC1zaGFkb3c6IG5vbmU7IH0uZmxpcC1jbG9jay1kaXZpZGVyLm1pbnV0ZXMgLmZsaXAtY2xvY2stbGFiZWwgeyAgcmlnaHQ6IC04OHB4OyB9LmZsaXAtY2xvY2stZGl2aWRlci5zZWNvbmRzIC5mbGlwLWNsb2NrLWxhYmVsIHsgIHJpZ2h0OiAtOTFweDsgfS5mbGlwLWNsb2NrLWRvdC50b3AgeyAgdG9wOiAzMHB4OyB9LmZsaXAtY2xvY2stZG90LmJvdHRvbSB7ICBib3R0b206IDMwcHg7IH1ALXdlYmtpdC1rZXlmcmFtZXMgYXNkIHsgIDAlIHsgICAgei1pbmRleDogMjsgfSAgMjAlIHsgICAgei1pbmRleDogNDsgfSAgMTAwJSB7ICAgIHotaW5kZXg6IDQ7IH0gfUAtbW96LWtleWZyYW1lcyBhc2QgeyAgMCUgeyAgICB6LWluZGV4OiAyOyB9ICAyMCUgeyAgICB6LWluZGV4OiA0OyB9ICAxMDAlIHsgICAgei1pbmRleDogNDsgfSB9QC1vLWtleWZyYW1lcyBhc2QgeyAgMCUgeyAgICB6LWluZGV4OiAyOyB9ICAyMCUgeyAgICB6LWluZGV4OiA0OyB9ICAxMDAlIHsgICAgei1pbmRleDogNDsgfSB9QGtleWZyYW1lcyBhc2QgeyAgMCUgeyAgICB6LWluZGV4OiAyOyB9ICAyMCUgeyAgICB6LWluZGV4OiA0OyB9ICAxMDAlIHsgICAgei1pbmRleDogNDsgfSB9LmZsaXAtY2xvY2std3JhcHBlciB1bC5wbGF5IGxpLmZsaXAtY2xvY2stYWN0aXZlIC5kb3duIHsgIHotaW5kZXg6IDI7ICAtd2Via2l0LWFuaW1hdGlvbjogdHVybiAwLjVzIDAuNXMgbGluZWFyIGJvdGg7ICAtbW96LWFuaW1hdGlvbjogdHVybiAwLjVzIDAuNXMgbGluZWFyIGJvdGg7ICBhbmltYXRpb246IHR1cm4gMC41cyAwLjVzIGxpbmVhciBib3RoOyB9QC13ZWJraXQta2V5ZnJhbWVzIHR1cm4geyAgMCUgeyAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7IH0gIDEwMCUgeyAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsgfSB9QC1tb3ota2V5ZnJhbWVzIHR1cm4geyAgMCUgeyAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlWCg5MGRlZyk7IH0gIDEwMCUgeyAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsgfSB9QC1vLWtleWZyYW1lcyB0dXJuIHsgIDAlIHsgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKTsgfSAgMTAwJSB7ICAgIC1vLXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsgfSB9QGtleWZyYW1lcyB0dXJuIHsgIDAlIHsgICAgdHJhbnNmb3JtOiByb3RhdGVYKDkwZGVnKTsgfSAgMTAwJSB7ICAgIHRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsgfSB9LmZsaXAtY2xvY2std3JhcHBlciB1bC5wbGF5IGxpLmZsaXAtY2xvY2stYmVmb3JlIC51cCB7ICB6LWluZGV4OiAyOyAgLXdlYmtpdC1hbmltYXRpb246IHR1cm4yIDAuNXMgbGluZWFyIGJvdGg7ICAtbW96LWFuaW1hdGlvbjogdHVybjIgMC41cyBsaW5lYXIgYm90aDsgIGFuaW1hdGlvbjogdHVybjIgMC41cyBsaW5lYXIgYm90aDsgfUAtd2Via2l0LWtleWZyYW1lcyB0dXJuMiB7ICAwJSB7ICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOyB9ICAxMDAlIHsgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKTsgfSB9QC1tb3ota2V5ZnJhbWVzIHR1cm4yIHsgIDAlIHsgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7IH0gIDEwMCUgeyAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlWCgtOTBkZWcpOyB9IH1ALW8ta2V5ZnJhbWVzIHR1cm4yIHsgIDAlIHsgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVYKDBkZWcpOyB9ICAxMDAlIHsgICAgLW8tdHJhbnNmb3JtOiByb3RhdGVYKC05MGRlZyk7IH0gfUBrZXlmcmFtZXMgdHVybjIgeyAgMCUgeyAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7IH0gIDEwMCUgeyAgICB0cmFuc2Zvcm06IHJvdGF0ZVgoLTkwZGVnKTsgfSB9LmZsaXAtY2xvY2std3JhcHBlciB1bCBsaS5mbGlwLWNsb2NrLWFjdGl2ZSB7ICB6LWluZGV4OiAzOyB9LyogU0hBRE9XICovLmZsaXAtY2xvY2std3JhcHBlciB1bC5wbGF5IGxpLmZsaXAtY2xvY2stYmVmb3JlIC51cCAuc2hhZG93IHsgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjEpIDAlLCBibGFjayAxMDAlKTsgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSksIGNvbG9yLXN0b3AoMTAwJSwgYmxhY2spKTsgIGJhY2tncm91bmQ6IGxpbmVhciwgdG9wLCByZ2JhKDAsIDAsIDAsIDAuMSkgMCUsIGJsYWNrIDEwMCU7ICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMSkgMCUsIGJsYWNrIDEwMCUpOyAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC4xKSAwJSwgYmxhY2sgMTAwJSk7ICBiYWNrZ3JvdW5kOiBsaW5lYXIsIHRvIGJvdHRvbSwgcmdiYSgwLCAwLCAwLCAwLjEpIDAlLCBibGFjayAxMDAlOyAgLXdlYmtpdC1hbmltYXRpb246IHNob3cgMC41cyBsaW5lYXIgYm90aDsgIC1tb3otYW5pbWF0aW9uOiBzaG93IDAuNXMgbGluZWFyIGJvdGg7ICBhbmltYXRpb246IHNob3cgMC41cyBsaW5lYXIgYm90aDsgfS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwucGxheSBsaS5mbGlwLWNsb2NrLWFjdGl2ZSAudXAgLnNoYWRvdyB7ICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC4xKSAwJSwgYmxhY2sgMTAwJSk7ICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkpLCBjb2xvci1zdG9wKDEwMCUsIGJsYWNrKSk7ICBiYWNrZ3JvdW5kOiBsaW5lYXIsIHRvcCwgcmdiYSgwLCAwLCAwLCAwLjEpIDAlLCBibGFjayAxMDAlOyAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgwLCAwLCAwLCAwLjEpIDAlLCBibGFjayAxMDAlKTsgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDAsIDAsIDAsIDAuMSkgMCUsIGJsYWNrIDEwMCUpOyAgYmFja2dyb3VuZDogbGluZWFyLCB0byBib3R0b20sIHJnYmEoMCwgMCwgMCwgMC4xKSAwJSwgYmxhY2sgMTAwJTsgIC13ZWJraXQtYW5pbWF0aW9uOiBoaWRlIDAuNXMgMC4zcyBsaW5lYXIgYm90aDsgIC1tb3otYW5pbWF0aW9uOiBoaWRlIDAuNXMgMC4zcyBsaW5lYXIgYm90aDsgIGFuaW1hdGlvbjogaGlkZSAwLjVzIDAuM3MgbGluZWFyIGJvdGg7IH0vKkRPV04qLy5mbGlwLWNsb2NrLXdyYXBwZXIgdWwucGxheSBsaS5mbGlwLWNsb2NrLWJlZm9yZSAuZG93biAuc2hhZG93IHsgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgYmxhY2sgMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSAxMDAlKTsgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIGJsYWNrKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkpKTsgIGJhY2tncm91bmQ6IGxpbmVhciwgdG9wLCBibGFjayAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDEwMCU7ICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBibGFjayAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDEwMCUpOyAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIGJsYWNrIDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMTAwJSk7ICBiYWNrZ3JvdW5kOiBsaW5lYXIsIHRvIGJvdHRvbSwgYmxhY2sgMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSAxMDAlOyAgLXdlYmtpdC1hbmltYXRpb246IHNob3cgMC41cyBsaW5lYXIgYm90aDsgIC1tb3otYW5pbWF0aW9uOiBzaG93IDAuNXMgbGluZWFyIGJvdGg7ICBhbmltYXRpb246IHNob3cgMC41cyBsaW5lYXIgYm90aDsgfS5mbGlwLWNsb2NrLXdyYXBwZXIgdWwucGxheSBsaS5mbGlwLWNsb2NrLWFjdGl2ZSAuZG93biAuc2hhZG93IHsgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgYmxhY2sgMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSAxMDAlKTsgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIGJsYWNrKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkpKTsgIGJhY2tncm91bmQ6IGxpbmVhciwgdG9wLCBibGFjayAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDEwMCU7ICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBibGFjayAwJSwgcmdiYSgwLCAwLCAwLCAwLjEpIDEwMCUpOyAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIGJsYWNrIDAlLCByZ2JhKDAsIDAsIDAsIDAuMSkgMTAwJSk7ICBiYWNrZ3JvdW5kOiBsaW5lYXIsIHRvIGJvdHRvbSwgYmxhY2sgMCUsIHJnYmEoMCwgMCwgMCwgMC4xKSAxMDAlOyAgLXdlYmtpdC1hbmltYXRpb246IGhpZGUgMC41cyAwLjNzIGxpbmVhciBib3RoOyAgLW1vei1hbmltYXRpb246IGhpZGUgMC41cyAwLjNzIGxpbmVhciBib3RoOyAgYW5pbWF0aW9uOiBoaWRlIDAuNXMgMC4ycyBsaW5lYXIgYm90aDsgfUAtd2Via2l0LWtleWZyYW1lcyBzaG93IHsgIDAlIHsgICAgb3BhY2l0eTogMDsgfSAgMTAwJSB7ICAgIG9wYWNpdHk6IDE7IH0gfUAtbW96LWtleWZyYW1lcyBzaG93IHsgIDAlIHsgICAgb3BhY2l0eTogMDsgfSAgMTAwJSB7ICAgIG9wYWNpdHk6IDE7IH0gfUAtby1rZXlmcmFtZXMgc2hvdyB7ICAwJSB7ICAgIG9wYWNpdHk6IDA7IH0gIDEwMCUgeyAgICBvcGFjaXR5OiAxOyB9IH1Aa2V5ZnJhbWVzIHNob3cgeyAgMCUgeyAgICBvcGFjaXR5OiAwOyB9ICAxMDAlIHsgICAgb3BhY2l0eTogMTsgfSB9QC13ZWJraXQta2V5ZnJhbWVzIGhpZGUgeyAgMCUgeyAgICBvcGFjaXR5OiAxOyB9ICAxMDAlIHsgICAgb3BhY2l0eTogMDsgfSB9QC1tb3ota2V5ZnJhbWVzIGhpZGUgeyAgMCUgeyAgICBvcGFjaXR5OiAxOyB9ICAxMDAlIHsgICAgb3BhY2l0eTogMDsgfSB9QC1vLWtleWZyYW1lcyBoaWRlIHsgIDAlIHsgICAgb3BhY2l0eTogMTsgfSAgMTAwJSB7ICAgIG9wYWNpdHk6IDA7IH0gfUBrZXlmcmFtZXMgaGlkZSB7ICAwJSB7ICAgIG9wYWNpdHk6IDE7IH0gIDEwMCUgeyAgICBvcGFjaXR5OiAwOyB9IH0KCgoKLyohCiAqIERhdGVwaWNrZXIgZm9yIEJvb3RzdHJhcCB2MS43LjAtZGV2IChodHRwczovL2dpdGh1Yi5jb20vZXRlcm5pY29kZS9ib290c3RyYXAtZGF0ZXBpY2tlcikKICoKICogQ29weXJpZ2h0IDIwMTIgU3RlZmFuIFBldHJlCiAqIEltcHJvdmVtZW50cyBieSBBbmRyZXcgUm93bHMKICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlIHYyLjAgKGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMCkKICovCgouZGF0ZXBpY2tlcntib3JkZXItcmFkaXVzOjRweDtkaXJlY3Rpb246bHRyfS5kYXRlcGlja2VyLWlubGluZXt3aWR0aDoyMjBweH0uZGF0ZXBpY2tlci5kYXRlcGlja2VyLXJ0bHtkaXJlY3Rpb246cnRsfS5kYXRlcGlja2VyLmRhdGVwaWNrZXItcnRsIHRhYmxlIHRyIHRkIHNwYW57ZmxvYXQ6cmlnaHR9LmRhdGVwaWNrZXItZHJvcGRvd257dG9wOjA7bGVmdDowO3BhZGRpbmc6NHB4fS5kYXRlcGlja2VyLWRyb3Bkb3duOmJlZm9yZXtjb250ZW50OicnO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1sZWZ0OjdweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206N3B4IHNvbGlkIHJnYmEoMCwwLDAsLjE1KTtib3JkZXItdG9wOjA7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4yKTtwb3NpdGlvbjphYnNvbHV0ZX0uZGF0ZXBpY2tlci1kcm9wZG93bjphZnRlcntjb250ZW50OicnO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlci1sZWZ0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6NnB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1ib3R0b206NnB4IHNvbGlkICNmZmY7Ym9yZGVyLXRvcDowO3Bvc2l0aW9uOmFic29sdXRlfS5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LWxlZnQ6YmVmb3Jle2xlZnQ6NnB4fS5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LWxlZnQ6YWZ0ZXJ7bGVmdDo3cHh9LmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQ6YmVmb3Jle3JpZ2h0OjZweH0uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC1yaWdodDphZnRlcntyaWdodDo3cHh9LmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtYm90dG9tOmJlZm9yZXt0b3A6LTdweH0uZGF0ZXBpY2tlci1kcm9wZG93bi5kYXRlcGlja2VyLW9yaWVudC1ib3R0b206YWZ0ZXJ7dG9wOi02cHh9LmRhdGVwaWNrZXItZHJvcGRvd24uZGF0ZXBpY2tlci1vcmllbnQtdG9wOmJlZm9yZXtib3R0b206LTdweDtib3JkZXItYm90dG9tOjA7Ym9yZGVyLXRvcDo3cHggc29saWQgcmdiYSgwLDAsMCwuMTUpfS5kYXRlcGlja2VyLWRyb3Bkb3duLmRhdGVwaWNrZXItb3JpZW50LXRvcDphZnRlcntib3R0b206LTZweDtib3JkZXItYm90dG9tOjA7Ym9yZGVyLXRvcDo2cHggc29saWQgI2ZmZn0uZGF0ZXBpY2tlcj5kaXZ7ZGlzcGxheTpub25lfS5kYXRlcGlja2VyIHRhYmxle21hcmdpbjowOy13ZWJraXQtdG91Y2gtY2FsbG91dDpub25lOy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTsta2h0bWwtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0aHt0ZXh0LWFsaWduOmNlbnRlcjt3aWR0aDozMHB4O2hlaWdodDozMHB4O2JvcmRlci1yYWRpdXM6NHB4O2JvcmRlcjpub25lfS50YWJsZS1zdHJpcGVkIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLC50YWJsZS1zdHJpcGVkIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRoe2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQubmV3LC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLm9sZHtjb2xvcjojNzc3fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmRheTpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5mb2N1c2Vke2JhY2tncm91bmQ6I2VlZTtjdXJzb3I6cG9pbnRlcn0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOjAgMDtjb2xvcjojNzc3O2N1cnNvcjpkZWZhdWx0fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVke2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZDllZGY3O2JvcmRlci1jb2xvcjojODVjNWU1O2JvcmRlci1yYWRpdXM6MH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZC5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZDpmb2N1c3tjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2FmZDllZTtib3JkZXItY29sb3I6IzI5OGZjMn0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZDpob3Zlcntjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2FmZDllZTtib3JkZXItY29sb3I6IzUyYWRkYn0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQ6YWN0aXZle2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojYWZkOWVlO2JvcmRlci1jb2xvcjojNTJhZGRifS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZC5hY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZDphY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQ6YWN0aXZlOmhvdmVye2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojOTFjYmU4O2JvcmRlci1jb2xvcjojMjk4ZmMyfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZFtkaXNhYmxlZF06Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWRbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZC5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuaGlnaGxpZ2h0ZWQ6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmhpZ2hsaWdodGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmNztib3JkZXItY29sb3I6Izg1YzVlNX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZC5mb2N1c2Vke2JhY2tncm91bmQ6I2FmZDllZX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZC5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5oaWdobGlnaHRlZC5kaXNhYmxlZDphY3RpdmV7YmFja2dyb3VuZDojZDllZGY3O2NvbG9yOiM3Nzd9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXl7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmRiOTk7Ym9yZGVyLWNvbG9yOiNmZmI3MzN9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6Zm9jdXN7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmM5NjY7Ym9yZGVyLWNvbG9yOiNiMzc0MDB9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6aG92ZXJ7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmM5NjY7Ym9yZGVyLWNvbG9yOiNmNTllMDB9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmFjdGl2ZXtjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2ZmYzk2Njtib3JkZXItY29sb3I6I2Y1OWUwMH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5hY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuYWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5LmFjdGl2ZTpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTphY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXk6YWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmFjdGl2ZTpob3Zlcntjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2ZmYmM0Mjtib3JkZXItY29sb3I6I2IzNzQwMH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZC5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheS5kaXNhYmxlZDpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheVtkaXNhYmxlZF0uZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXlbZGlzYWJsZWRdOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5W2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnRvZGF5OmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC50b2RheTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmRiOTk7Ym9yZGVyLWNvbG9yOiNmZmI3MzN9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZm9jdXNlZHtiYWNrZ3JvdW5kOiNmZmM5NjZ9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQudG9kYXkuZGlzYWJsZWQ6YWN0aXZle2JhY2tncm91bmQ6I2ZmZGI5OTtjb2xvcjojNzc3fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdle2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlci1jb2xvcjojYmJiO2JvcmRlci1yYWRpdXM6MH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZTpmb2N1c3tjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2Q1ZDVkNTtib3JkZXItY29sb3I6IzdjN2M3Y30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZTpob3Zlcntjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2Q1ZDVkNTtib3JkZXItY29sb3I6IzlkOWQ5ZH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2U6YWN0aXZle2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZDVkNWQ1O2JvcmRlci1jb2xvcjojOWQ5ZDlkfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5hY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZTphY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2U6YWN0aXZlOmhvdmVye2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojYzNjM2MzO2JvcmRlci1jb2xvcjojN2M3YzdjfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZVtkaXNhYmxlZF06Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2VbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2U6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXItY29sb3I6I2JiYn0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5mb2N1c2Vke2JhY2tncm91bmQ6I2Q1ZDVkNX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5kaXNhYmxlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5kaXNhYmxlZDphY3RpdmV7YmFja2dyb3VuZDojZWVlO2NvbG9yOiM3Nzd9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWR7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNlNGVlZjM7Ym9yZGVyLWNvbG9yOiM5ZGMxZDN9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQ6Zm9jdXN7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNjMWQ3ZTM7Ym9yZGVyLWNvbG9yOiM0Yjg4YTZ9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQ6aG92ZXJ7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNjMWQ3ZTM7Ym9yZGVyLWNvbG9yOiM3M2E2YzB9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkOmFjdGl2ZXtjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2MxZDdlMztib3JkZXItY29sb3I6IzczYTZjMH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5hY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQuYWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkLmFjdGl2ZTpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZDphY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQ6YWN0aXZlOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkOmFjdGl2ZTpob3Zlcntjb2xvcjojMDAwO2JhY2tncm91bmQtY29sb3I6I2E4YzhkODtib3JkZXItY29sb3I6IzRiODhhNn0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5kaXNhYmxlZC5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5kaXNhYmxlZDpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZC5kaXNhYmxlZDpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZFtkaXNhYmxlZF0uZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWRbZGlzYWJsZWRdOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLmhpZ2hsaWdodGVkOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS5oaWdobGlnaHRlZDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNlNGVlZjM7Ym9yZGVyLWNvbG9yOiM5ZGMxZDN9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQuZm9jdXNlZHtiYWNrZ3JvdW5kOiNjMWQ3ZTN9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQuZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UuaGlnaGxpZ2h0ZWQuZGlzYWJsZWQ6YWN0aXZle2JhY2tncm91bmQ6I2U0ZWVmMztjb2xvcjojNzc3fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5e2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZjdjYTc3O2JvcmRlci1jb2xvcjojZjFhNDE3fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmZvY3Vze2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZjRiNzQ3O2JvcmRlci1jb2xvcjojODE1NjA4fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmhvdmVye2NvbG9yOiMwMDA7YmFja2dyb3VuZC1jb2xvcjojZjRiNzQ3O2JvcmRlci1jb2xvcjojYmY4MDBjfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTphY3RpdmV7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmNGI3NDc7Ym9yZGVyLWNvbG9yOiNiZjgwMGN9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuYWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheS5hY3RpdmU6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6YWN0aXZlLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5OmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTphY3RpdmU6aG92ZXJ7Y29sb3I6IzAwMDtiYWNrZ3JvdW5kLWNvbG9yOiNmMmFhMjU7Ym9yZGVyLWNvbG9yOiM4MTU2MDh9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXkuZGlzYWJsZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXlbZGlzYWJsZWRdLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5W2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheVtkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5yYW5nZS50b2RheTpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQucmFuZ2UudG9kYXk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjdjYTc3O2JvcmRlci1jb2xvcjojZjFhNDE3fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnJhbmdlLnRvZGF5LmRpc2FibGVkOmFjdGl2ZXtiYWNrZ3JvdW5kOiNmN2NhNzc7Y29sb3I6Izc3N30uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZCwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZHtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6Izc3Nztib3JkZXItY29sb3I6IzU1NTt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLC4yNSl9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6Zm9jdXN7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1ZTVlNWU7Ym9yZGVyLWNvbG9yOiMxNjE2MTZ9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQ6aG92ZXIsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM1ZTVlNWU7Ym9yZGVyLWNvbG9yOiMzNzM3Mzd9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkLmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZDphY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6YWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNWU1ZTVlO2JvcmRlci1jb2xvcjojMzczNzM3fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5hY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZC5hY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZDphY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQ6YWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZDphY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6YWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNGM0YzRjO2JvcmRlci1jb2xvcjojMTYxNjE2fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkLmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZFtkaXNhYmxlZF06Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWRbZGlzYWJsZWRdOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZFtkaXNhYmxlZF06Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWRbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQuaGlnaGxpZ2h0ZWQuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkLmhpZ2hsaWdodGVkOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5zZWxlY3RlZC5oaWdobGlnaHRlZDpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuc2VsZWN0ZWQ6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLnNlbGVjdGVkOmhvdmVye2JhY2tncm91bmQtY29sb3I6Izc3Nztib3JkZXItY29sb3I6IzU1NX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVke2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMmU2ZGE0O3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZDpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6Zm9jdXN7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTA7Ym9yZGVyLWNvbG9yOiMxMjJiNDB9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4NjA5MDtib3JkZXItY29sb3I6IzIwNGQ3NH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZC5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6YWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwO2JvcmRlci1jb2xvcjojMjA0ZDc0fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5hY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZC5hY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZDphY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkOmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQ6YWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTphY3RpdmUuZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmU6YWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjA0ZDc0O2JvcmRlci1jb2xvcjojMTIyYjQwfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5kaXNhYmxlZC5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZC5kaXNhYmxlZC5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQuZGlzYWJsZWQ6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZFtkaXNhYmxlZF0uZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkW2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWRbZGlzYWJsZWRdOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZVtkaXNhYmxlZF0uZm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlW2Rpc2FibGVkXTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmVbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZS5oaWdobGlnaHRlZC5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlLmhpZ2hsaWdodGVkOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZC5hY3RpdmUuaGlnaGxpZ2h0ZWQ6aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLmFjdGl2ZTpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQuYWN0aXZlOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzJlNmRhNH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFue2Rpc3BsYXk6YmxvY2s7d2lkdGg6MjMlO2hlaWdodDo1NHB4O2xpbmUtaGVpZ2h0OjU0cHg7ZmxvYXQ6bGVmdDttYXJnaW46MSU7Y3Vyc29yOnBvaW50ZXI7Ym9yZGVyLXJhZGl1czo0cHh9LmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5mb2N1c2VkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW46aG92ZXJ7YmFja2dyb3VuZDojZWVlfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uZGlzYWJsZWQsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOjAgMDtjb2xvcjojNzc3O2N1cnNvcjpkZWZhdWx0fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2JvcmRlci1jb2xvcjojMmU2ZGE0O3RleHQtc2hhZG93OjAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KX0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcjpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpmb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlcjpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4NjA5MDtib3JkZXItY29sb3I6IzEyMmI0MH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlcjpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlciwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlcjpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4NjA5MDtib3JkZXItY29sb3I6IzIwNGQ3NH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuYWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmFjdGl2ZSwuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5hY3RpdmUsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZle2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwO2JvcmRlci1jb2xvcjojMjA0ZDc0fS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5hY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5hY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDphY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6YWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5hY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXIuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcjphY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6YWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTphY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6YWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5hY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXIuYWN0aXZlOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyOmFjdGl2ZS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcjphY3RpdmU6Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6YWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjA0ZDc0O2JvcmRlci1jb2xvcjojMTIyYjQwfS5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3ZlcltkaXNhYmxlZF06Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXJbZGlzYWJsZWRdOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZFtkaXNhYmxlZF06Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWRbZGlzYWJsZWRdOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmRpc2FibGVkLmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmRpc2FibGVkOmZvY3VzLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLmRpc2FibGVkOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3ZlcltkaXNhYmxlZF06Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXJbZGlzYWJsZWRdOmhvdmVyLC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlW2Rpc2FibGVkXS5mb2N1cywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZVtkaXNhYmxlZF06Zm9jdXMsLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmVbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZC5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5kaXNhYmxlZDpob3Zlci5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmUuZGlzYWJsZWQ6aG92ZXI6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlLmRpc2FibGVkOmhvdmVyOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZS5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLmFjdGl2ZTpob3Zlci5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQgc3Bhbi5hY3RpdmU6aG92ZXI6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4uYWN0aXZlOmhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzJlNmRhNH0uZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLm5ldywuZGF0ZXBpY2tlciB0YWJsZSB0ciB0ZCBzcGFuLm9sZHtjb2xvcjojNzc3fS5kYXRlcGlja2VyIC5kYXRlcGlja2VyLXN3aXRjaHt3aWR0aDoxNDVweH0uZGF0ZXBpY2tlciAuZGF0ZXBpY2tlci1zd2l0Y2gsLmRhdGVwaWNrZXIgLm5leHQsLmRhdGVwaWNrZXIgLnByZXYsLmRhdGVwaWNrZXIgdGZvb3QgdHIgdGh7Y3Vyc29yOnBvaW50ZXJ9LmRhdGVwaWNrZXIgLmRhdGVwaWNrZXItc3dpdGNoOmhvdmVyLC5kYXRlcGlja2VyIC5uZXh0OmhvdmVyLC5kYXRlcGlja2VyIC5wcmV2OmhvdmVyLC5kYXRlcGlja2VyIHRmb290IHRyIHRoOmhvdmVye2JhY2tncm91bmQ6I2VlZX0uZGF0ZXBpY2tlciAubmV4dC5kaXNhYmxlZCwuZGF0ZXBpY2tlciAucHJldi5kaXNhYmxlZHt2aXNpYmlsaXR5OmhpZGRlbn0uZGF0ZXBpY2tlciAuY3d7Zm9udC1zaXplOjEwcHg7d2lkdGg6MTJweDtwYWRkaW5nOjAgMnB4IDAgNXB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uaW5wdXQtZ3JvdXAuZGF0ZSAuaW5wdXQtZ3JvdXAtYWRkb257Y3Vyc29yOnBvaW50ZXJ9LmlucHV0LWRhdGVyYW5nZXt3aWR0aDoxMDAlfS5pbnB1dC1kYXRlcmFuZ2UgaW5wdXR7dGV4dC1hbGlnbjpjZW50ZXJ9LmlucHV0LWRhdGVyYW5nZSBpbnB1dDpmaXJzdC1jaGlsZHtib3JkZXItcmFkaXVzOjNweCAwIDAgM3B4fS5pbnB1dC1kYXRlcmFuZ2UgaW5wdXQ6bGFzdC1jaGlsZHtib3JkZXItcmFkaXVzOjAgM3B4IDNweCAwfS5pbnB1dC1kYXRlcmFuZ2UgLmlucHV0LWdyb3VwLWFkZG9ue3dpZHRoOmF1dG87bWluLXdpZHRoOjE2cHg7cGFkZGluZzo0cHggNXB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7dGV4dC1zaGFkb3c6MCAxcHggMCAjZmZmO2JvcmRlci13aWR0aDoxcHggMDttYXJnaW4tbGVmdDotNXB4O21hcmdpbi1yaWdodDotNXB4fQoKCgovKiEKICoganF1ZXJ5LXRpbWVwaWNrZXIgdjEuMTEuMSAtIEEgalF1ZXJ5IHRpbWVwaWNrZXIgcGx1Z2luIGluc3BpcmVkIGJ5IEdvb2dsZSBDYWxlbmRhci4gSXQgc3VwcG9ydHMgYm90aCBtb3VzZSBhbmQga2V5Ym9hcmQgbmF2aWdhdGlvbi4KICogQ29weXJpZ2h0IChjKSAyMDE2IEpvbiBUaG9ybnRvbiAtIGh0dHA6Ly9qb250aG9ybnRvbi5naXRodWIuY29tL2pxdWVyeS10aW1lcGlja2VyLwogKiBMaWNlbnNlOiBNSVQKICovCi51aS10aW1lcGlja2VyLXdyYXBwZXIgewlvdmVyZmxvdy15OiBhdXRvOwloZWlnaHQ6IDE1MHB4Owl3aWR0aDogNi41ZW07CWJhY2tncm91bmQ6ICNmZmY7CWJvcmRlcjogMXB4IHNvbGlkICNkZGQ7CS13ZWJraXQtYm94LXNoYWRvdzowIDVweCAxMHB4IHJnYmEoMCwwLDAsMC4yKTsJLW1vei1ib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwwLjIpOwlib3gtc2hhZG93OjAgNXB4IDEwcHggcmdiYSgwLDAsMCwwLjIpOwlvdXRsaW5lOiBub25lOwl6LWluZGV4OiAxMDAwMTsJbWFyZ2luOiAwO30udWktdGltZXBpY2tlci13cmFwcGVyLnVpLXRpbWVwaWNrZXItd2l0aC1kdXJhdGlvbiB7CXdpZHRoOiAxM2VtO30udWktdGltZXBpY2tlci13cmFwcGVyLnVpLXRpbWVwaWNrZXItd2l0aC1kdXJhdGlvbi51aS10aW1lcGlja2VyLXN0ZXAtMzAsLnVpLXRpbWVwaWNrZXItd3JhcHBlci51aS10aW1lcGlja2VyLXdpdGgtZHVyYXRpb24udWktdGltZXBpY2tlci1zdGVwLTYwIHsJd2lkdGg6IDExZW07fS51aS10aW1lcGlja2VyLWxpc3QgewltYXJnaW46IDA7CXBhZGRpbmc6IDA7CWxpc3Qtc3R5bGU6IG5vbmU7fS51aS10aW1lcGlja2VyLWR1cmF0aW9uIHsJbWFyZ2luLWxlZnQ6IDVweDsgY29sb3I6ICM4ODg7fS51aS10aW1lcGlja2VyLWxpc3Q6aG92ZXIgLnVpLXRpbWVwaWNrZXItZHVyYXRpb24gewljb2xvcjogIzg4ODt9LnVpLXRpbWVwaWNrZXItbGlzdCBsaSB7CXBhZGRpbmc6IDNweCAwIDNweCA1cHg7CWN1cnNvcjogcG9pbnRlcjsJd2hpdGUtc3BhY2U6IG5vd3JhcDsJY29sb3I6ICMwMDA7CWxpc3Qtc3R5bGU6IG5vbmU7CW1hcmdpbjogMDt9LnVpLXRpbWVwaWNrZXItbGlzdDpob3ZlciAudWktdGltZXBpY2tlci1zZWxlY3RlZCB7CWJhY2tncm91bmQ6ICNmZmY7IGNvbG9yOiAjMDAwO31saS51aS10aW1lcGlja2VyLXNlbGVjdGVkLC51aS10aW1lcGlja2VyLWxpc3QgbGk6aG92ZXIsLnVpLXRpbWVwaWNrZXItbGlzdCAudWktdGltZXBpY2tlci1zZWxlY3RlZDpob3ZlciB7CWJhY2tncm91bmQ6ICMxOTgwRUM7IGNvbG9yOiAjZmZmO31saS51aS10aW1lcGlja2VyLXNlbGVjdGVkIC51aS10aW1lcGlja2VyLWR1cmF0aW9uLC51aS10aW1lcGlja2VyLWxpc3QgbGk6aG92ZXIgLnVpLXRpbWVwaWNrZXItZHVyYXRpb24gewljb2xvcjogI2NjYzt9LnVpLXRpbWVwaWNrZXItbGlzdCBsaS51aS10aW1lcGlja2VyLWRpc2FibGVkLC51aS10aW1lcGlja2VyLWxpc3QgbGkudWktdGltZXBpY2tlci1kaXNhYmxlZDpob3ZlciwudWktdGltZXBpY2tlci1saXN0IGxpLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQudWktdGltZXBpY2tlci1kaXNhYmxlZCB7CWNvbG9yOiAjODg4OwljdXJzb3I6IGRlZmF1bHQ7fS51aS10aW1lcGlja2VyLWxpc3QgbGkudWktdGltZXBpY2tlci1kaXNhYmxlZDpob3ZlciwudWktdGltZXBpY2tlci1saXN0IGxpLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQudWktdGltZXBpY2tlci1kaXNhYmxlZCB7CWJhY2tncm91bmQ6ICNmMmYyZjI7fQoKCi8qIQogKiBib290c3RyYXAtZGF0ZXRpbWVqcwogKiBEYXRldGltZXBpY2tlciBmb3IgQm9vdHN0cmFwIDMKICogdmVyc2lvbiA6IDQuMTcuMzcKICogaHR0cHM6Ly9naXRodWIuY29tL0VvbmFzZGFuL2Jvb3RzdHJhcC1kYXRldGltZXBpY2tlci8KICovLmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXR7bGlzdC1zdHlsZTpub25lfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnV7bWFyZ2luOjJweCAwO3BhZGRpbmc6NHB4O3dpZHRoOjE5ZW19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnUudGltZXBpY2tlci1zYnN7d2lkdGg6MzhlbX19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnUudGltZXBpY2tlci1zYnN7d2lkdGg6MzhlbX19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsuYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldC5kcm9wZG93bi1tZW51LnRpbWVwaWNrZXItc2Jze3dpZHRoOjM4ZW19fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnU6YmVmb3JlLC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0LmRyb3Bkb3duLW1lbnU6YWZ0ZXJ7Y29udGVudDonJztkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZX0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldC5kcm9wZG93bi1tZW51LmJvdHRvbTpiZWZvcmV7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo3cHggc29saWQgI2NjYztib3JkZXItYm90dG9tLWNvbG9yOnJnYmEoMCwwLDAsMC4yKTt0b3A6LTdweDtsZWZ0OjdweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldC5kcm9wZG93bi1tZW51LmJvdHRvbTphZnRlcntib3JkZXItbGVmdDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjZweCBzb2xpZCB3aGl0ZTt0b3A6LTZweDtsZWZ0OjhweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldC5kcm9wZG93bi1tZW51LnRvcDpiZWZvcmV7Ym9yZGVyLWxlZnQ6N3B4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yaWdodDo3cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDo3cHggc29saWQgI2NjYztib3JkZXItdG9wLWNvbG9yOnJnYmEoMCwwLDAsMC4yKTtib3R0b206LTdweDtsZWZ0OjZweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldC5kcm9wZG93bi1tZW51LnRvcDphZnRlcntib3JkZXItbGVmdDo2cHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjZweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjZweCBzb2xpZCB3aGl0ZTtib3R0b206LTZweDtsZWZ0OjdweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldC5kcm9wZG93bi1tZW51LnB1bGwtcmlnaHQ6YmVmb3Jle2xlZnQ6YXV0bztyaWdodDo2cHh9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQuZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0OmFmdGVye2xlZnQ6YXV0bztyaWdodDo3cHh9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLmxpc3QtdW5zdHlsZWR7bWFyZ2luOjB9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgYVtkYXRhLWFjdGlvbl17cGFkZGluZzo2cHggMH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCBhW2RhdGEtYWN0aW9uXTphY3RpdmV7Ym94LXNoYWRvdzpub25lfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC50aW1lcGlja2VyLWhvdXIsLmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLnRpbWVwaWNrZXItbWludXRlLC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC50aW1lcGlja2VyLXNlY29uZHt3aWR0aDo1NHB4O2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zaXplOjEuMmVtO21hcmdpbjowfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IGJ1dHRvbltkYXRhLWFjdGlvbl17cGFkZGluZzo2cHh9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLmJ0bltkYXRhLWFjdGlvbj0iaW5jcmVtZW50SG91cnMiXTo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjA7Y29udGVudDoiSW5jcmVtZW50IEhvdXJzIn0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCAuYnRuW2RhdGEtYWN0aW9uPSJpbmNyZW1lbnRNaW51dGVzIl06OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowO2NvbnRlbnQ6IkluY3JlbWVudCBNaW51dGVzIn0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCAuYnRuW2RhdGEtYWN0aW9uPSJkZWNyZW1lbnRIb3VycyJdOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MDtjb250ZW50OiJEZWNyZW1lbnQgSG91cnMifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC5idG5bZGF0YS1hY3Rpb249ImRlY3JlbWVudE1pbnV0ZXMiXTo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjA7Y29udGVudDoiRGVjcmVtZW50IE1pbnV0ZXMifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC5idG5bZGF0YS1hY3Rpb249InNob3dIb3VycyJdOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MDtjb250ZW50OiJTaG93IEhvdXJzIn0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCAuYnRuW2RhdGEtYWN0aW9uPSJzaG93TWludXRlcyJdOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MDtjb250ZW50OiJTaG93IE1pbnV0ZXMifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC5idG5bZGF0YS1hY3Rpb249InRvZ2dsZVBlcmlvZCJdOjphZnRlcntwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MDtjb250ZW50OiJUb2dnbGUgQU0vUE0ifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC5idG5bZGF0YS1hY3Rpb249ImNsZWFyIl06OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowO2NvbnRlbnQ6IkNsZWFyIHRoZSBwaWNrZXIifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC5idG5bZGF0YS1hY3Rpb249InRvZGF5Il06OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowO2NvbnRlbnQ6IlNldCB0aGUgZGF0ZSB0byB0b2RheSJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLnBpY2tlci1zd2l0Y2h7dGV4dC1hbGlnbjpjZW50ZXJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLnBpY2tlci1zd2l0Y2g6OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowO2NvbnRlbnQ6IlRvZ2dsZSBEYXRlIGFuZCBUaW1lIFNjcmVlbnMifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC5waWNrZXItc3dpdGNoIHRke3BhZGRpbmc6MDttYXJnaW46MDtoZWlnaHQ6YXV0bzt3aWR0aDphdXRvO2xpbmUtaGVpZ2h0OmluaGVyaXR9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgLnBpY2tlci1zd2l0Y2ggdGQgc3BhbntsaW5lLWhlaWdodDoyLjU7aGVpZ2h0OjIuNWVtO3dpZHRoOjEwMCV9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGV7d2lkdGg6MTAwJTttYXJnaW46MH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZCwuYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0aHt0ZXh0LWFsaWduOmNlbnRlcjtib3JkZXItcmFkaXVzOjRweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0aHtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3dpZHRoOjIwcHh9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGgucGlja2VyLXN3aXRjaHt3aWR0aDoxNDVweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0aC5kaXNhYmxlZCwuYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0aC5kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6Izc3NztjdXJzb3I6bm90LWFsbG93ZWR9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGgucHJldjo6YWZ0ZXJ7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7bWFyZ2luOi0xcHg7cGFkZGluZzowO292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwgMCwgMCwgMCk7Ym9yZGVyOjA7Y29udGVudDoiUHJldmlvdXMgTW9udGgifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRoLm5leHQ6OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsIDAsIDAsIDApO2JvcmRlcjowO2NvbnRlbnQ6Ik5leHQgTW9udGgifS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoe2N1cnNvcjpwb2ludGVyfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmhvdmVye2JhY2tncm91bmQ6I2VlZX0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZHtoZWlnaHQ6NTRweDtsaW5lLWhlaWdodDo1NHB4O3dpZHRoOjU0cHh9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQuY3d7Zm9udC1zaXplOi44ZW07aGVpZ2h0OjIwcHg7bGluZS1oZWlnaHQ6MjBweDtjb2xvcjojNzc3fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLmRheXtoZWlnaHQ6MjBweDtsaW5lLWhlaWdodDoyMHB4O3dpZHRoOjIwcHh9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQuZGF5OmhvdmVyLC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLmhvdXI6aG92ZXIsLmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQubWludXRlOmhvdmVyLC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLnNlY29uZDpob3ZlcntiYWNrZ3JvdW5kOiNlZWU7Y3Vyc29yOnBvaW50ZXJ9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQub2xkLC5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLm5ld3tjb2xvcjojNzc3fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLnRvZGF5e3Bvc2l0aW9uOnJlbGF0aXZlfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLnRvZGF5OmJlZm9yZXtjb250ZW50OicnO2Rpc3BsYXk6aW5saW5lLWJsb2NrO2JvcmRlcjpzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItd2lkdGg6MCAwIDdweCA3cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMzM3YWI3O2JvcmRlci10b3AtY29sb3I6cmdiYSgwLDAsMCwwLjIpO3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTo0cHg7cmlnaHQ6NHB4fS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkLmFjdGl2ZSwuYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZC5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3O2NvbG9yOiNmZmY7dGV4dC1zaGFkb3c6MCAtMXB4IDAgcmdiYSgwLDAsMCwwLjI1KX0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZC5hY3RpdmUudG9kYXk6YmVmb3Jle2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZC5kaXNhYmxlZCwuYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZC5kaXNhYmxlZDpob3ZlcntiYWNrZ3JvdW5kOm5vbmU7Y29sb3I6Izc3NztjdXJzb3I6bm90LWFsbG93ZWR9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQgc3BhbntkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDo1NHB4O2hlaWdodDo1NHB4O2xpbmUtaGVpZ2h0OjU0cHg7bWFyZ2luOjJweCAxLjVweDtjdXJzb3I6cG9pbnRlcjtib3JkZXItcmFkaXVzOjRweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZCBzcGFuOmhvdmVye2JhY2tncm91bmQ6I2VlZX0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZCBzcGFuLmFjdGl2ZXtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIC0xcHggMCByZ2JhKDAsMCwwLDAuMjUpfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IHRhYmxlIHRkIHNwYW4ub2xke2NvbG9yOiM3Nzd9LmJvb3RzdHJhcC1kYXRldGltZXBpY2tlci13aWRnZXQgdGFibGUgdGQgc3Bhbi5kaXNhYmxlZCwuYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCB0YWJsZSB0ZCBzcGFuLmRpc2FibGVkOmhvdmVye2JhY2tncm91bmQ6bm9uZTtjb2xvcjojNzc3O2N1cnNvcjpub3QtYWxsb3dlZH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldC51c2V0d2VudHlmb3VyIHRkLmhvdXJ7aGVpZ2h0OjI3cHg7bGluZS1oZWlnaHQ6MjdweH0uYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldC53aWRlcnt3aWR0aDoyMWVtfS5ib290c3RyYXAtZGF0ZXRpbWVwaWNrZXItd2lkZ2V0IC5kYXRlcGlja2VyLWRlY2FkZXMgLmRlY2FkZXtsaW5lLWhlaWdodDoxLjhlbSAhaW1wb3J0YW50fS5pbnB1dC1ncm91cC5kYXRlIC5pbnB1dC1ncm91cC1hZGRvbntjdXJzb3I6cG9pbnRlcn0uc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDttYXJnaW46LTFweDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MH0KCgoKCi8qCiAqICBqcXVlcnkgVHdlbnR5VHdlbnR5IEJlZm9yZSBBZnRlciBTbGlkZXIKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnR3ZW50eXR3ZW50eS1ob3Jpem9udGFsIC50d2VudHl0d2VudHktaGFuZGxlOmJlZm9yZSwgLnR3ZW50eXR3ZW50eS1ob3Jpem9udGFsIC50d2VudHl0d2VudHktaGFuZGxlOmFmdGVyLCAudHdlbnR5dHdlbnR5LXZlcnRpY2FsIC50d2VudHl0d2VudHktaGFuZGxlOmJlZm9yZSwgLnR3ZW50eXR3ZW50eS12ZXJ0aWNhbCAudHdlbnR5dHdlbnR5LWhhbmRsZTphZnRlciB7ICBjb250ZW50OiAiICI7ICBkaXNwbGF5OiBibG9jazsgIGJhY2tncm91bmQ6IHdoaXRlOyAgcG9zaXRpb246IGFic29sdXRlOyAgei1pbmRleDogMzA7ICAtd2Via2l0LWJveC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7ICAtbW96LWJveC1zaGFkb3c6IDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7ICBib3gtc2hhZG93OiAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyB9LnR3ZW50eXR3ZW50eS1ob3Jpem9udGFsIC50d2VudHl0d2VudHktaGFuZGxlOmJlZm9yZSwgLnR3ZW50eXR3ZW50eS1ob3Jpem9udGFsIC50d2VudHl0d2VudHktaGFuZGxlOmFmdGVyIHsgIHdpZHRoOiAzcHg7ICBoZWlnaHQ6IDk5OTlweDsgIGxlZnQ6IDUwJTsgIG1hcmdpbi1sZWZ0OiAtMS41cHg7IH0udHdlbnR5dHdlbnR5LXZlcnRpY2FsIC50d2VudHl0d2VudHktaGFuZGxlOmJlZm9yZSwgLnR3ZW50eXR3ZW50eS12ZXJ0aWNhbCAudHdlbnR5dHdlbnR5LWhhbmRsZTphZnRlciB7ICB3aWR0aDogOTk5OXB4OyAgaGVpZ2h0OiAzcHg7ICB0b3A6IDUwJTsgIG1hcmdpbi10b3A6IC0xLjVweDsgfS50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsLCAudHdlbnR5dHdlbnR5LWFmdGVyLWxhYmVsLCAudHdlbnR5dHdlbnR5LW92ZXJsYXkgeyAgcG9zaXRpb246IGFic29sdXRlOyAgdG9wOiAwOyAgd2lkdGg6IDEwMCU7ICBoZWlnaHQ6IDEwMCU7IH0udHdlbnR5dHdlbnR5LWJlZm9yZS1sYWJlbCwgLnR3ZW50eXR3ZW50eS1hZnRlci1sYWJlbCwgLnR3ZW50eXR3ZW50eS1vdmVybGF5IHsgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC41czsgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuNXM7IH0udHdlbnR5dHdlbnR5LWJlZm9yZS1sYWJlbCwgLnR3ZW50eXR3ZW50eS1hZnRlci1sYWJlbCB7ICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7ICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7ICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9LnR3ZW50eXR3ZW50eS1iZWZvcmUtbGFiZWw6YmVmb3JlLCAudHdlbnR5dHdlbnR5LWFmdGVyLWxhYmVsOmJlZm9yZSB7ICBjb2xvcjogd2hpdGU7ICBmb250LXNpemU6IDEzcHg7ICBsZXR0ZXItc3BhY2luZzogMC4xZW07IH0udHdlbnR5dHdlbnR5LWJlZm9yZS1sYWJlbDpiZWZvcmUsIC50d2VudHl0d2VudHktYWZ0ZXItbGFiZWw6YmVmb3JlIHsgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgIGxpbmUtaGVpZ2h0OiAzOHB4OyAgcGFkZGluZzogMCAyMHB4OyAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAycHg7ICAtbW96LWJvcmRlci1yYWRpdXM6IDJweDsgIGJvcmRlci1yYWRpdXM6IDJweDsgfS50d2VudHl0d2VudHktaG9yaXpvbnRhbCAudHdlbnR5dHdlbnR5LWJlZm9yZS1sYWJlbDpiZWZvcmUsIC50d2VudHl0d2VudHktaG9yaXpvbnRhbCAudHdlbnR5dHdlbnR5LWFmdGVyLWxhYmVsOmJlZm9yZSB7ICB0b3A6IDUwJTsgIG1hcmdpbi10b3A6IC0xOXB4OyB9LnR3ZW50eXR3ZW50eS12ZXJ0aWNhbCAudHdlbnR5dHdlbnR5LWJlZm9yZS1sYWJlbDpiZWZvcmUsIC50d2VudHl0d2VudHktdmVydGljYWwgLnR3ZW50eXR3ZW50eS1hZnRlci1sYWJlbDpiZWZvcmUgeyAgbGVmdDogNTAlOyAgbWFyZ2luLWxlZnQ6IC00NXB4OyAgdGV4dC1hbGlnbjogY2VudGVyOyAgd2lkdGg6IDkwcHg7IH0udHdlbnR5dHdlbnR5LWxlZnQtYXJyb3csIC50d2VudHl0d2VudHktcmlnaHQtYXJyb3csIC50d2VudHl0d2VudHktdXAtYXJyb3csIC50d2VudHl0d2VudHktZG93bi1hcnJvdyB7ICB3aWR0aDogMDsgIGhlaWdodDogMDsgIGJvcmRlcjogNnB4IGluc2V0IHRyYW5zcGFyZW50OyAgcG9zaXRpb246IGFic29sdXRlOyB9LnR3ZW50eXR3ZW50eS1sZWZ0LWFycm93LCAudHdlbnR5dHdlbnR5LXJpZ2h0LWFycm93IHsgIHRvcDogNTAlOyAgbWFyZ2luLXRvcDogLTZweDsgfS50d2VudHl0d2VudHktdXAtYXJyb3csIC50d2VudHl0d2VudHktZG93bi1hcnJvdyB7ICBsZWZ0OiA1MCU7ICBtYXJnaW4tbGVmdDogLTZweDsgfS50d2VudHl0d2VudHktY29udGFpbmVyIHsgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7ICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAgYm94LXNpemluZzogY29udGVudC1ib3g7ICB6LWluZGV4OiAwOyAgb3ZlcmZsb3c6IGhpZGRlbjsgIHBvc2l0aW9uOiByZWxhdGl2ZTsgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7ICAtbW96LXVzZXItc2VsZWN0OiBub25lOyB9ICAudHdlbnR5dHdlbnR5LWNvbnRhaW5lciBpbWcgeyAgICBtYXgtd2lkdGg6IDEwMCU7ICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgICAgdG9wOiAwOyAgICBkaXNwbGF5OiBibG9jazsgfSAgLnR3ZW50eXR3ZW50eS1jb250YWluZXIuYWN0aXZlIC50d2VudHl0d2VudHktb3ZlcmxheSwgLnR3ZW50eXR3ZW50eS1jb250YWluZXIuYWN0aXZlIDpob3Zlci50d2VudHl0d2VudHktb3ZlcmxheSB7ICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7IH0gICAgLnR3ZW50eXR3ZW50eS1jb250YWluZXIuYWN0aXZlIC50d2VudHl0d2VudHktb3ZlcmxheSAudHdlbnR5dHdlbnR5LWJlZm9yZS1sYWJlbCwgICAgLnR3ZW50eXR3ZW50eS1jb250YWluZXIuYWN0aXZlIC50d2VudHl0d2VudHktb3ZlcmxheSAudHdlbnR5dHdlbnR5LWFmdGVyLWxhYmVsLCAudHdlbnR5dHdlbnR5LWNvbnRhaW5lci5hY3RpdmUgOmhvdmVyLnR3ZW50eXR3ZW50eS1vdmVybGF5IC50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsLCAgICAudHdlbnR5dHdlbnR5LWNvbnRhaW5lci5hY3RpdmUgOmhvdmVyLnR3ZW50eXR3ZW50eS1vdmVybGF5IC50d2VudHl0d2VudHktYWZ0ZXItbGFiZWwgeyAgICAgIG9wYWNpdHk6IDA7IH0gIC50d2VudHl0d2VudHktY29udGFpbmVyICogeyAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfS50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsIHsgIG9wYWNpdHk6IDA7IH0gIC50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsOmJlZm9yZSB7ICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1jb250ZW50KTsgfS50d2VudHl0d2VudHktYWZ0ZXItbGFiZWwgeyAgb3BhY2l0eTogMDsgfSAgLnR3ZW50eXR3ZW50eS1hZnRlci1sYWJlbDpiZWZvcmUgeyAgICBjb250ZW50OiBhdHRyKGRhdGEtY29udGVudCk7IH0udHdlbnR5dHdlbnR5LWhvcml6b250YWwgLnR3ZW50eXR3ZW50eS1iZWZvcmUtbGFiZWw6YmVmb3JlIHsgIGxlZnQ6IDEwcHg7IH0udHdlbnR5dHdlbnR5LWhvcml6b250YWwgLnR3ZW50eXR3ZW50eS1hZnRlci1sYWJlbDpiZWZvcmUgeyAgcmlnaHQ6IDEwcHg7IH0udHdlbnR5dHdlbnR5LXZlcnRpY2FsIC50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsOmJlZm9yZSB7ICB0b3A6IDEwcHg7IH0udHdlbnR5dHdlbnR5LXZlcnRpY2FsIC50d2VudHl0d2VudHktYWZ0ZXItbGFiZWw6YmVmb3JlIHsgIGJvdHRvbTogMTBweDsgfS50d2VudHl0d2VudHktb3ZlcmxheSB7ICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7ICAtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQ7ICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kOyAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTsgIHotaW5kZXg6IDI1OyB9ICAudHdlbnR5dHdlbnR5LW92ZXJsYXk6aG92ZXIgeyAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH0gICAgLnR3ZW50eXR3ZW50eS1vdmVybGF5OmhvdmVyIC50d2VudHl0d2VudHktYWZ0ZXItbGFiZWwgeyAgICAgIG9wYWNpdHk6IDE7IH0gICAgLnR3ZW50eXR3ZW50eS1vdmVybGF5OmhvdmVyIC50d2VudHl0d2VudHktYmVmb3JlLWxhYmVsIHsgICAgICBvcGFjaXR5OiAxOyB9LnR3ZW50eXR3ZW50eS1iZWZvcmUgeyAgei1pbmRleDogMjA7IH0udHdlbnR5dHdlbnR5LWFmdGVyIHsgIHotaW5kZXg6IDEwOyB9LnR3ZW50eXR3ZW50eS1oYW5kbGUgeyAgaGVpZ2h0OiAzOHB4OyAgd2lkdGg6IDM4cHg7ICBwb3NpdGlvbjogYWJzb2x1dGU7ICBsZWZ0OiA1MCU7ICB0b3A6IDUwJTsgIG1hcmdpbi1sZWZ0OiAtMjJweDsgIG1hcmdpbi10b3A6IC0yMnB4OyAgYm9yZGVyOiAzcHggc29saWQgd2hpdGU7ICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwMDBweDsgIC1tb3otYm9yZGVyLXJhZGl1czogMTAwMHB4OyAgYm9yZGVyLXJhZGl1czogMTAwMHB4OyAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyAgLW1vei1ib3gtc2hhZG93OiAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyAgYm94LXNoYWRvdzogMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgIHotaW5kZXg6IDQwOyAgY3Vyc29yOiBwb2ludGVyOyB9LnR3ZW50eXR3ZW50eS1ob3Jpem9udGFsIC50d2VudHl0d2VudHktaGFuZGxlOmJlZm9yZSB7ICBib3R0b206IDUwJTsgIG1hcmdpbi1ib3R0b206IDIycHg7ICAtd2Via2l0LWJveC1zaGFkb3c6IDAgM3B4IDAgd2hpdGUsIDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7ICAtbW96LWJveC1zaGFkb3c6IDAgM3B4IDAgd2hpdGUsIDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7ICBib3gtc2hhZG93OiAwIDNweCAwIHdoaXRlLCAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyB9LnR3ZW50eXR3ZW50eS1ob3Jpem9udGFsIC50d2VudHl0d2VudHktaGFuZGxlOmFmdGVyIHsgIHRvcDogNTAlOyAgbWFyZ2luLXRvcDogMjJweDsgIC13ZWJraXQtYm94LXNoYWRvdzogMCAtM3B4IDAgd2hpdGUsIDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7ICAtbW96LWJveC1zaGFkb3c6IDAgLTNweCAwIHdoaXRlLCAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyAgYm94LXNoYWRvdzogMCAtM3B4IDAgd2hpdGUsIDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7IH0udHdlbnR5dHdlbnR5LXZlcnRpY2FsIC50d2VudHl0d2VudHktaGFuZGxlOmJlZm9yZSB7ICBsZWZ0OiA1MCU7ICBtYXJnaW4tbGVmdDogMjJweDsgIC13ZWJraXQtYm94LXNoYWRvdzogM3B4IDAgMCB3aGl0ZSwgMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgIC1tb3otYm94LXNoYWRvdzogM3B4IDAgMCB3aGl0ZSwgMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgIGJveC1zaGFkb3c6IDNweCAwIDAgd2hpdGUsIDBweCAwcHggMTJweCByZ2JhKDUxLCA1MSwgNTEsIDAuNSk7IH0udHdlbnR5dHdlbnR5LXZlcnRpY2FsIC50d2VudHl0d2VudHktaGFuZGxlOmFmdGVyIHsgIHJpZ2h0OiA1MCU7ICBtYXJnaW4tcmlnaHQ6IDIycHg7ICAtd2Via2l0LWJveC1zaGFkb3c6IC0zcHggMCAwIHdoaXRlLCAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyAgLW1vei1ib3gtc2hhZG93OiAtM3B4IDAgMCB3aGl0ZSwgMHB4IDBweCAxMnB4IHJnYmEoNTEsIDUxLCA1MSwgMC41KTsgIGJveC1zaGFkb3c6IC0zcHggMCAwIHdoaXRlLCAwcHggMHB4IDEycHggcmdiYSg1MSwgNTEsIDUxLCAwLjUpOyB9LnR3ZW50eXR3ZW50eS1sZWZ0LWFycm93IHsgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHdoaXRlOyAgbGVmdDogNTAlOyAgbWFyZ2luLWxlZnQ6IC0xN3B4OyB9LnR3ZW50eXR3ZW50eS1yaWdodC1hcnJvdyB7ICBib3JkZXItbGVmdDogNnB4IHNvbGlkIHdoaXRlOyAgcmlnaHQ6IDUwJTsgIG1hcmdpbi1yaWdodDogLTE3cHg7IH0udHdlbnR5dHdlbnR5LXVwLWFycm93IHsgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCB3aGl0ZTsgIHRvcDogNTAlOyAgbWFyZ2luLXRvcDogLTE3cHg7IH0udHdlbnR5dHdlbnR5LWRvd24tYXJyb3cgeyAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIHdoaXRlOyAgYm90dG9tOiA1MCU7ICBtYXJnaW4tYm90dG9tOiAtMTdweDsgfQoKCgoKCgovKgogKiAgb2RvbWV0ZXIgMC40LjgKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogb2RvbWV0ZXItdGhlbWUtbWluaW1hbC5jc3MgKi8KLm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLW1pbmltYWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Bvc2l0aW9uOnJlbGF0aXZlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtbWluaW1hbCAub2RvbWV0ZXItZGlnaXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Bvc2l0aW9uOnJlbGF0aXZlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtc3BhY2VyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtc3BhY2Vye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTt2aXNpYmlsaXR5OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXJ7dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7b3ZlcmZsb3c6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9ue2Rpc3BsYXk6YmxvY2t9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLW1pbmltYWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24taW5uZXJ7ZGlzcGxheTpibG9jazstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLW1pbmltYWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZXtkaXNwbGF5OmJsb2NrOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVlLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZXtwb3NpdGlvbjphYnNvbHV0ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtbWluaW1hbC5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMnM7LW1vei10cmFuc2l0aW9uOi1tb3otdHJhbnNmb3JtIDJzOy1tcy10cmFuc2l0aW9uOi1tcy10cmFuc2Zvcm0gMnM7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gMnM7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMnN9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLXVwLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsLm9kb21ldGVyLWFuaW1hdGluZy11cC5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24gLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtbWluaW1hbC5vZG9tZXRlci1hbmltYXRpbmctZG93biAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtbWluaW1hbC5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gMnM7LW1vei10cmFuc2l0aW9uOi1tb3otdHJhbnNmb3JtIDJzOy1tcy10cmFuc2l0aW9uOi1tcy10cmFuc2Zvcm0gMnM7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gMnM7dHJhbnNpdGlvbjp0cmFuc2Zvcm0gMnM7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX0KLyogb2RvbWV0ZXItdGhlbWUtY2FyLmNzcyAqLwpAaW1wb3J0IHVybCgiaHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9QXJpbW8iKTsub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2Fye2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTtwb3NpdGlvbjpyZWxhdGl2ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhciAub2RvbWV0ZXItZGlnaXR7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Bvc2l0aW9uOnJlbGF0aXZlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtc3BhY2VyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1jYXIgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Zpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhciAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVye3RleHQtYWxpZ246bGVmdDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbiwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9ue2Rpc3BsYXk6YmxvY2t9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhciAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lcntkaXNwbGF5OmJsb2NrOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWV7ZGlzcGxheTpibG9jazstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZXtwb3NpdGlvbjphYnNvbHV0ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyc30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhci5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhci5vZG9tZXRlci1hbmltYXRpbmctZG93biAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyczstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1jYXJ7LW1vei1ib3JkZXItcmFkaXVzOi4zNGVtOy13ZWJraXQtYm9yZGVyLXJhZGl1czouMzRlbTtib3JkZXItcmFkaXVzOi4zNGVtO2ZvbnQtZmFtaWx5OiJBcmltbyIsbW9ub3NwYWNlO3BhZGRpbmc6LjE1ZW07YmFja2dyb3VuZDojMDAwO2NvbG9yOiNlZWUwZDN9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0LC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1jYXIgLm9kb21ldGVyLWRpZ2l0ey1tb3otYm94LXNoYWRvdzppbnNldCAwIDAgLjNlbSByZ2JhKDAsMCwwLDAuOCk7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMCAuM2VtIHJnYmEoMCwwLDAsMC44KTtib3gtc2hhZG93Omluc2V0IDAgMCAuM2VtIHJnYmEoMCwwLDAsMC44KTtiYWNrZ3JvdW5kLWltYWdlOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRnUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEdSbFpuTStQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKdlltcGxZM1JDYjNWdVpHbHVaMEp2ZUNJZ2VERTlJakF1TlNJZ2VURTlJakF1TUNJZ2VESTlJakF1TlNJZ2VUSTlJakV1TUNJK1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJek16TXpNek15SXZQanh6ZEc5d0lHOW1abk5sZEQwaU5EQWxJaUJ6ZEc5d0xXTnZiRzl5UFNJak16TXpNek16SWk4K1BITjBiM0FnYjJabWMyVjBQU0kyTUNVaUlITjBiM0F0WTI5c2IzSTlJaU14TURFd01UQWlMejQ4YzNSdmNDQnZabVp6WlhROUlqZ3dKU0lnYzNSdmNDMWpiMnh2Y2owaUl6TXpNek16TXlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTVRBd0pTSWdjM1J2Y0MxamIyeHZjajBpSXpNek16TXpNeUl2UGp3dmJHbHVaV0Z5UjNKaFpHbGxiblErUEM5a1pXWnpQanh5WldOMElIZzlJakFpSUhrOUlqQWlJSGRwWkhSb1BTSXhNREFsSWlCb1pXbG5hSFE5SWpFd01DVWlJR1pwYkd3OUluVnliQ2dqWjNKaFpDa2lJQzgrUEM5emRtYytJQT09Jyk7YmFja2dyb3VuZC1zaXplOjEwMCU7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhciw1MCUgMCw1MCUgMTAwJSxjb2xvci1zdG9wKDAlLCMzMzMpLGNvbG9yLXN0b3AoNDAlLCMzMzMpLGNvbG9yLXN0b3AoNjAlLCMxMDEwMTApLGNvbG9yLXN0b3AoODAlLCMzMzMpLGNvbG9yLXN0b3AoMTAwJSwjMzMzKSk7YmFja2dyb3VuZC1pbWFnZTotbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIzMzMyAwLCMzMzMgNDAlLCMxMDEwMTAgNjAlLCMzMzMgODAlLCMzMzMgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIzMzMyAwLCMzMzMgNDAlLCMxMDEwMTAgNjAlLCMzMzMgODAlLCMzMzMgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCMzMzMgMCwjMzMzIDQwJSwjMTAxMDEwIDYwJSwjMzMzIDgwJSwjMzMzIDEwMCUpO3BhZGRpbmc6MCAuMTVlbX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQ6Zmlyc3QtY2hpbGQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWNhciAub2RvbWV0ZXItZGlnaXQ6Zmlyc3QtY2hpbGR7LW1vei1ib3JkZXItcmFkaXVzOi4yZW0gMCAwIC4yZW07LXdlYmtpdC1ib3JkZXItcmFkaXVzOi4yZW07Ym9yZGVyLXJhZGl1czouMmVtIDAgMCAuMmVtfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdDpsYXN0LWNoaWxkLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1jYXIgLm9kb21ldGVyLWRpZ2l0Omxhc3QtY2hpbGR7LW1vei1ib3JkZXItcmFkaXVzOjAgLjJlbSAuMmVtIDA7LXdlYmtpdC1ib3JkZXItcmFkaXVzOjA7Ym9yZGVyLXJhZGl1czowIC4yZW0gLjJlbSAwO2JhY2tncm91bmQtaW1hZ2U6dXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NGdQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQR1JsWm5NK1BHeHBibVZoY2tkeVlXUnBaVzUwSUdsa1BTSm5jbUZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0p2WW1wbFkzUkNiM1Z1WkdsdVowSnZlQ0lnZURFOUlqQXVOU0lnZVRFOUlqQXVNQ0lnZURJOUlqQXVOU0lnZVRJOUlqRXVNQ0krUEhOMGIzQWdiMlptYzJWMFBTSXdKU0lnYzNSdmNDMWpiMnh2Y2owaUkyVmxaVEJrTXlJdlBqeHpkRzl3SUc5bVpuTmxkRDBpTkRBbElpQnpkRzl3TFdOdmJHOXlQU0lqWldWbE1HUXpJaTgrUEhOMGIzQWdiMlptYzJWMFBTSTJNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTmlZbUZoT1dFaUx6NDhjM1J2Y0NCdlptWnpaWFE5SWpnd0pTSWdjM1J2Y0MxamIyeHZjajBpSTJWbFpUQmtNeUl2UGp4emRHOXdJRzltWm5ObGREMGlNVEF3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMlZsWlRCa015SXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQQzlrWldaelBqeHlaV04wSUhnOUlqQWlJSGs5SWpBaUlIZHBaSFJvUFNJeE1EQWxJaUJvWldsbmFIUTlJakV3TUNVaUlHWnBiR3c5SW5WeWJDZ2paM0poWkNraUlDOCtQQzl6ZG1jK0lBPT0nKTtiYWNrZ3JvdW5kLXNpemU6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLDUwJSAwLDUwJSAxMDAlLGNvbG9yLXN0b3AoMCUsI2VlZTBkMyksY29sb3Itc3RvcCg0MCUsI2VlZTBkMyksY29sb3Itc3RvcCg2MCUsI2JiYWE5YSksY29sb3Itc3RvcCg4MCUsI2VlZTBkMyksY29sb3Itc3RvcCgxMDAlLCNlZWUwZDMpKTtiYWNrZ3JvdW5kLWltYWdlOi1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwjZWVlMGQzIDAsI2VlZTBkMyA0MCUsI2JiYWE5YSA2MCUsI2VlZTBkMyA4MCUsI2VlZTBkMyAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwjZWVlMGQzIDAsI2VlZTBkMyA0MCUsI2JiYWE5YSA2MCUsI2VlZTBkMyA4MCUsI2VlZTBkMyAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byBib3R0b20sI2VlZTBkMyAwLCNlZWUwZDMgNDAlLCNiYmFhOWEgNjAlLCNlZWUwZDMgODAlLCNlZWUwZDMgMTAwJSk7YmFja2dyb3VuZC1jb2xvcjojZWVlMGQzO2NvbG9yOiMwMDB9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXJ7bGVmdDouMTVlbX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93bi5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtY2FyLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1jYXIub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24ub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LW1vei10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7LW1zLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmxpbmVhcjstby10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpsaW5lYXI7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246bGluZWFyfQovKiBvZG9tZXRlci10aGVtZS1kZWZhdWx0LmNzcyAqLwoub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGVmYXVsdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0LC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0IC5vZG9tZXRlci1kaWdpdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Zpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lcnt0ZXh0LWFsaWduOmxlZnQ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtvdmVyZmxvdzpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24sLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib257ZGlzcGxheTpibG9ja30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGVmYXVsdCAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lcntkaXNwbGF5OmJsb2NrOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGVmYXVsdCAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVle2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLm9kb21ldGVyLWxhc3QtdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVle3Bvc2l0aW9uOmFic29sdXRlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0Lm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyc30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQub2RvbWV0ZXItYW5pbWF0aW5nLXVwLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93biAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0Lm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0Lm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyczstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kZWZhdWx0e2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsc2Fucy1zZXJpZjtsaW5lLWhlaWdodDoxLjFlbX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQgLm9kb21ldGVyLXZhbHVle3RleHQtYWxpZ246Y2VudGVyfQovKiBvZG9tZXRlci10aGVtZS1kaWdpdGFsLmNzcyAqLwpAaW1wb3J0IHVybCgiaHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9V2FsbHBvZXQiKTsub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGlnaXRhbHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0LC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kaWdpdGFsIC5vZG9tZXRlci1kaWdpdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRpZ2l0YWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Zpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRpZ2l0YWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lcnt0ZXh0LWFsaWduOmxlZnQ7ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7cmlnaHQ6MDtib3R0b206MDtvdmVyZmxvdzpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib24sLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRpZ2l0YWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib257ZGlzcGxheTpibG9ja30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGlnaXRhbCAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lcntkaXNwbGF5OmJsb2NrOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGlnaXRhbCAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVle2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLm9kb21ldGVyLWxhc3QtdmFsdWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRpZ2l0YWwgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVle3Bvc2l0aW9uOmFic29sdXRlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kaWdpdGFsLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyc30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRpZ2l0YWwub2RvbWV0ZXItYW5pbWF0aW5nLXVwLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctZG93biAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kaWdpdGFsLm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kaWdpdGFsLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyczstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1kaWdpdGFse2JhY2tncm91bmQtaW1hZ2U6dXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NGdQSE4yWnlCMlpYSnphVzl1UFNJeExqRWlJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQR1JsWm5NK1BISmhaR2xoYkVkeVlXUnBaVzUwSUdsa1BTSm5jbUZrSWlCbmNtRmthV1Z1ZEZWdWFYUnpQU0oxYzJWeVUzQmhZMlZQYmxWelpTSWdZM2c5SWpVd0pTSWdZM2s5SWpVd0pTSWdjajBpTVRBd0pTSStQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSXpoaVpqVmhOU0lnYzNSdmNDMXZjR0ZqYVhSNVBTSXdMalFpTHo0OGMzUnZjQ0J2Wm1aelpYUTlJakV3TUNVaUlITjBiM0F0WTI5c2IzSTlJaU13TURBd01EQWlMejQ4TDNKaFpHbGhiRWR5WVdScFpXNTBQand2WkdWbWN6NDhjbVZqZENCNFBTSXdJaUI1UFNJd0lpQjNhV1IwYUQwaU1UQXdKU0lnYUdWcFoyaDBQU0l4TURBbElpQm1hV3hzUFNKMWNtd29JMmR5WVdRcElpQXZQand2YzNablBpQT0nKTtiYWNrZ3JvdW5kLXNpemU6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi1tb3otcmFkaWFsLWdyYWRpZW50KHJnYmEoMTM5LDI0NSwxNjUsMC40KSwjMDAwKTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtcmFkaWFsLWdyYWRpZW50KHJnYmEoMTM5LDI0NSwxNjUsMC40KSwjMDAwKTtiYWNrZ3JvdW5kLWltYWdlOnJhZGlhbC1ncmFkaWVudChyZ2JhKDEzOSwyNDUsMTY1LDAuNCksIzAwMCk7YmFja2dyb3VuZC1jb2xvcjojMDAwO2ZvbnQtZmFtaWx5OiJXYWxscG9ldCIsbW9ub3NwYWNlO3BhZGRpbmc6MCAuMmVtO2xpbmUtaGVpZ2h0OjEuMWVtO2NvbG9yOiM4YmY1YTV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0Ky5vZG9tZXRlci1kaWdpdCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtZGlnaXRhbCAub2RvbWV0ZXItZGlnaXQrLm9kb21ldGVyLWRpZ2l0e21hcmdpbi1sZWZ0Oi4xZW19Ci8qIG9kb21ldGVyLXRoZW1lLXBsYXphLmNzcyAqLwoub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemF7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Bvc2l0aW9uOnJlbGF0aXZlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemEgLm9kb21ldGVyLWRpZ2l0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTtwb3NpdGlvbjpyZWxhdGl2ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LXNwYWNlciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemEgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXJ7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Zpc2liaWxpdHk6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXBsYXphIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXJ7dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7b3ZlcmZsb3c6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1wbGF6YSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbntkaXNwbGF5OmJsb2NrfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1wbGF6YSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lcntkaXNwbGF5OmJsb2NrOy13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemEgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZXtkaXNwbGF5OmJsb2NrOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVlLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1wbGF6YSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLm9kb21ldGVyLWxhc3QtdmFsdWV7cG9zaXRpb246YWJzb2x1dGV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLXVwIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXBsYXphLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyc30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZS5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXBsYXphLm9kb21ldGVyLWFuaW1hdGluZy11cC5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24gLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemEub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24gLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24ub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXBsYXphLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAyczstbW96LXRyYW5zaXRpb246LW1vei10cmFuc2Zvcm0gMnM7LW1zLXRyYW5zaXRpb246LW1zLXRyYW5zZm9ybSAyczstby10cmFuc2l0aW9uOi1vLXRyYW5zZm9ybSAyczt0cmFuc2l0aW9uOnRyYW5zZm9ybSAyczstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1wbGF6YXstbW96LWJvcmRlci1yYWRpdXM6LjE1ZW07LXdlYmtpdC1ib3JkZXItcmFkaXVzOi4xNWVtO2JvcmRlci1yYWRpdXM6LjE1ZW07YmFja2dyb3VuZC1jb2xvcjojZjBmOGZmO2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsc2Fucy1zZXJpZjtmb250LXdlaWdodDoxMDA7cGFkZGluZzowIC4xMmVtO2xpbmUtaGVpZ2h0OjEuMmVtO2ZvbnQtc2l6ZToxLjJlbTtiYWNrZ3JvdW5kLXNpemU6MTZweCAxNnB4fS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtcGxhemEgLm9kb21ldGVyLWRpZ2l0ey1tb3otYm9yZGVyLXJhZGl1czouMWVtOy13ZWJraXQtYm9yZGVyLXJhZGl1czouMWVtO2JvcmRlci1yYWRpdXM6LjFlbTtwYWRkaW5nOjAgLjAzZW07Y29sb3I6IzY0OGJhZn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1wbGF6YSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVye2xlZnQ6LjAzZW19Ci8qIG9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZS5jc3MgKi8KQGltcG9ydCB1cmwoImh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVJ5ZSIpOy5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmV7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlOyp2ZXJ0aWNhbC1hbGlnbjphdXRvOyp6b29tOjE7KmRpc3BsYXk6aW5saW5lO3Bvc2l0aW9uOnJlbGF0aXZlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lIC5vZG9tZXRlci1kaWdpdHtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7cG9zaXRpb246cmVsYXRpdmV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1zcGFjZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LXNwYWNlcntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7dmlzaWJpbGl0eTpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXJ7dGV4dC1hbGlnbjpsZWZ0O2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3JpZ2h0OjA7Ym90dG9tOjA7b3ZlcmZsb3c6aGlkZGVufS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1yaWJib257ZGlzcGxheTpibG9ja30ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLWlubmVye2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZXtkaXNwbGF5OmJsb2NrOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVooMCl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVlLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVle3Bvc2l0aW9uOmFic29sdXRlfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy11cCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUub2RvbWV0ZXItYW5pbWF0aW5nLXVwIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDJzOy1tb3otdHJhbnNpdGlvbjotbW96LXRyYW5zZm9ybSAyczstbXMtdHJhbnNpdGlvbjotbXMtdHJhbnNmb3JtIDJzOy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIDJzO3RyYW5zaXRpb246dHJhbnNmb3JtIDJzfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy11cC5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lLm9kb21ldGVyLWFuaW1hdGluZy11cC5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24gLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duLm9kb21ldGVyLWFuaW1hdGluZyAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24ub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDJzOy1tb3otdHJhbnNpdGlvbjotbW96LXRyYW5zZm9ybSAyczstbXMtdHJhbnNpdGlvbjotbXMtdHJhbnNmb3JtIDJzOy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIDJzO3RyYW5zaXRpb246dHJhbnNmb3JtIDJzOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZXstbW96LWJvcmRlci1yYWRpdXM6LjM0ZW07LXdlYmtpdC1ib3JkZXItcmFkaXVzOi4zNGVtO2JvcmRlci1yYWRpdXM6LjM0ZW07YmFja2dyb3VuZC1pbWFnZTp1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0Z1BITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK1BHUmxabk0rUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbmNtRmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSnZZbXBsWTNSQ2IzVnVaR2x1WjBKdmVDSWdlREU5SWpBdU5TSWdlVEU5SWpBdU1DSWdlREk5SWpBdU5TSWdlVEk5SWpFdU1DSStQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSTJabVptWXdNQ0l2UGp4emRHOXdJRzltWm5ObGREMGlNVEF3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMlptWVRVd01DSXZQand2YkdsdVpXRnlSM0poWkdsbGJuUStQQzlrWldaelBqeHlaV04wSUhnOUlqQWlJSGs5SWpBaUlIZHBaSFJvUFNJeE1EQWxJaUJvWldsbmFIUTlJakV3TUNVaUlHWnBiR3c5SW5WeWJDZ2paM0poWkNraUlDOCtQQzl6ZG1jK0lBPT0nKTtiYWNrZ3JvdW5kLXNpemU6MTAwJTtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtZ3JhZGllbnQobGluZWFyLDUwJSAwLDUwJSAxMDAlLGNvbG9yLXN0b3AoMCUsI2ZmMCksY29sb3Itc3RvcCgxMDAlLCNmZmE1MDApKTtiYWNrZ3JvdW5kLWltYWdlOi1tb3otbGluZWFyLWdyYWRpZW50KCNmZjAsI2ZmYTUwMCk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCgjZmYwLCNmZmE1MDApO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KCNmZjAsI2ZmYTUwMCk7YmFja2dyb3VuZC1jb2xvcjojZmMwO2ZvbnQtZmFtaWx5OiJSeWUiLG1vbm9zcGFjZTtwYWRkaW5nOi4xNWVtO2NvbG9yOiNmODAwMDA7bGluZS1oZWlnaHQ6MS4zNWVtO2JvcmRlcjouMDNlbSBzb2xpZCAjMDAwOy13ZWJraXQtdGV4dC1zdHJva2U6LjA1ZW0gIzAwMH0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZSAub2RvbWV0ZXItZGlnaXR7LW1vei1ib3gtc2hhZG93Omluc2V0IDAgMCAuMWVtIHJnYmEoMCwwLDAsMC41KSwwIDAgMCAuMDNlbSAjZmZmLDAgMCAwIC4wNWVtIHJnYmEoMCwwLDAsMC4yKTstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAwIC4xZW0gcmdiYSgwLDAsMCwwLjUpLDAgMCAwIC4wM2VtICNmZmYsMCAwIDAgLjA1ZW0gcmdiYSgwLDAsMCwwLjIpO2JveC1zaGFkb3c6aW5zZXQgMCAwIC4xZW0gcmdiYSgwLDAsMCwwLjUpLDAgMCAwIC4wM2VtICNmZmYsMCAwIDAgLjA1ZW0gcmdiYSgwLDAsMCwwLjIpOy1tb3otYm9yZGVyLXJhZGl1czouMmVtOy13ZWJraXQtYm9yZGVyLXJhZGl1czouMmVtO2JvcmRlci1yYWRpdXM6LjJlbTtiYWNrZ3JvdW5kLWltYWdlOnVybCgnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejRnUEhOMlp5QjJaWEp6YVc5dVBTSXhMakVpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEdSbFpuTStQR3hwYm1WaGNrZHlZV1JwWlc1MElHbGtQU0puY21Ga0lpQm5jbUZrYVdWdWRGVnVhWFJ6UFNKdlltcGxZM1JDYjNWdVpHbHVaMEp2ZUNJZ2VERTlJakF1TlNJZ2VURTlJakF1TUNJZ2VESTlJakF1TlNJZ2VUSTlJakV1TUNJK1BITjBiM0FnYjJabWMyVjBQU0l3SlNJZ2MzUnZjQzFqYjJ4dmNqMGlJMk5qWTJOall5SXZQanh6ZEc5d0lHOW1abk5sZEQwaU1qQWxJaUJ6ZEc5d0xXTnZiRzl5UFNJalptWm1abVptSWk4K1BITjBiM0FnYjJabWMyVjBQU0k0TUNVaUlITjBiM0F0WTI5c2IzSTlJaU5tWm1abVptWWlMejQ4YzNSdmNDQnZabVp6WlhROUlqRXdNQ1VpSUhOMGIzQXRZMjlzYjNJOUlpTmpZMk5qWTJNaUx6NDhMMnhwYm1WaGNrZHlZV1JwWlc1MFBqd3ZaR1ZtY3o0OGNtVmpkQ0I0UFNJd0lpQjVQU0l3SWlCM2FXUjBhRDBpTVRBd0pTSWdhR1ZwWjJoMFBTSXhNREFsSWlCbWFXeHNQU0oxY213b0kyZHlZV1FwSWlBdlBqd3ZjM1puUGlBPScpO2JhY2tncm91bmQtc2l6ZToxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsNTAlIDAsNTAlIDEwMCUsY29sb3Itc3RvcCgwJSwjY2NjKSxjb2xvci1zdG9wKDIwJSwjZmZmKSxjb2xvci1zdG9wKDgwJSwjZmZmKSxjb2xvci1zdG9wKDEwMCUsI2NjYykpO2JhY2tncm91bmQtaW1hZ2U6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCNjY2MgMCwjZmZmIDIwJSwjZmZmIDgwJSwjY2NjIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCNjY2MgMCwjZmZmIDIwJSwjZmZmIDgwJSwjY2NjIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjY2NjIDAsI2ZmZiAyMCUsI2ZmZiA4MCUsI2NjYyAxMDAlKTtib3JkZXI6LjAzZW0gc29saWQgIzQ0NDtwYWRkaW5nOi4xZW0gLjE1ZW0gMH0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQ6Zmlyc3QtY2hpbGQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZSAub2RvbWV0ZXItZGlnaXQ6Zmlyc3QtY2hpbGR7LW1vei1ib3gtc2hhZG93Omluc2V0IC4wNWVtIDAgLjFlbSByZ2JhKDAsMCwwLDAuNSksMCAwIDAgLjAzZW0gI2ZmZiwwIDAgMCAuMDVlbSByZ2JhKDAsMCwwLDAuMik7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IC4wNWVtIDAgLjFlbSByZ2JhKDAsMCwwLDAuNSksMCAwIDAgLjAzZW0gI2ZmZiwwIDAgMCAuMDVlbSByZ2JhKDAsMCwwLDAuMik7Ym94LXNoYWRvdzppbnNldCAuMDVlbSAwIC4xZW0gcmdiYSgwLDAsMCwwLjUpLDAgMCAwIC4wM2VtICNmZmYsMCAwIDAgLjA1ZW0gcmdiYSgwLDAsMCwwLjIpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdDpsYXN0LWNoaWxkLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUgLm9kb21ldGVyLWRpZ2l0Omxhc3QtY2hpbGR7LW1vei1ib3gtc2hhZG93Omluc2V0IC0wLjA1ZW0gMCAuMWVtIHJnYmEoMCwwLDAsMC41KSwwIDAgMCAuMDNlbSAjZmZmLDAgMCAwIC4wNWVtIHJnYmEoMCwwLDAsMC4yKTstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgLTAuMDVlbSAwIC4xZW0gcmdiYSgwLDAsMCwwLjUpLDAgMCAwIC4wM2VtICNmZmYsMCAwIDAgLjA1ZW0gcmdiYSgwLDAsMCwwLjIpO2JveC1zaGFkb3c6aW5zZXQgLTAuMDVlbSAwIC4xZW0gcmdiYSgwLDAsMCwwLjUpLDAgMCAwIC4wM2VtICNmZmYsMCAwIDAgLjA1ZW0gcmdiYSgwLDAsMCwwLjIpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCsub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZSAub2RvbWV0ZXItZGlnaXQrLm9kb21ldGVyLWRpZ2l0e21hcmdpbi1sZWZ0Oi4xNWVtfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXNsb3QtbWFjaGluZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVye3BhZGRpbmctdG9wOi4wOGVtfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItZGlnaXQtaW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci12YWx1ZS5vZG9tZXRlci1sYXN0LXZhbHVlLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1zbG90LW1hY2hpbmUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtc2xvdC1tYWNoaW5lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZXtsZWZ0OjA7cmlnaHQ6MDt0ZXh0LWFsaWduOmNlbnRlcn0KLyogb2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbi5jc3MgKi8KQGltcG9ydCB1cmwoImh0dHA6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PUVjb25vbWljYSIpOy5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS10cmFpbi1zdGF0aW9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTtwb3NpdGlvbjpyZWxhdGl2ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb24gLm9kb21ldGVyLWRpZ2l0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTtwb3NpdGlvbjpyZWxhdGl2ZX0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LXNwYWNlciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LXNwYWNlcntkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7KnZlcnRpY2FsLWFsaWduOmF1dG87Knpvb206MTsqZGlzcGxheTppbmxpbmU7dmlzaWJpbGl0eTpoaWRkZW59Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVye3RleHQtYWxpZ246bGVmdDtkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtyaWdodDowO2JvdHRvbTowO292ZXJmbG93OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbiwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXJpYmJvbntkaXNwbGF5OmJsb2NrfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLWlubmVyLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS10cmFpbi1zdGF0aW9uIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItcmliYm9uLWlubmVye2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OmhpZGRlbn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLC5vZG9tZXRlci5vZG9tZXRlci10aGVtZS10cmFpbi1zdGF0aW9uIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWV7ZGlzcGxheTpibG9jazstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVaKDApfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lIC5vZG9tZXRlci1kaWdpdCAub2RvbWV0ZXItdmFsdWUub2RvbWV0ZXItbGFzdC12YWx1ZSwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLXZhbHVlLm9kb21ldGVyLWxhc3QtdmFsdWV7cG9zaXRpb246YWJzb2x1dGV9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLXVwIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb24ub2RvbWV0ZXItYW5pbWF0aW5nLXVwIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDJzOy1tb3otdHJhbnNpdGlvbjotbW96LXRyYW5zZm9ybSAyczstbXMtdHJhbnNpdGlvbjotbXMtdHJhbnNmb3JtIDJzOy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIDJzO3RyYW5zaXRpb246dHJhbnNmb3JtIDJzfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy11cC5vZG9tZXRlci1hbmltYXRpbmcgLm9kb21ldGVyLXJpYmJvbi1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbi5vZG9tZXRlci1hbmltYXRpbmctdXAub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpfS5vZG9tZXRlci5vZG9tZXRlci1hdXRvLXRoZW1lLm9kb21ldGVyLWFuaW1hdGluZy1kb3duIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb24ub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24gLm9kb21ldGVyLXJpYmJvbi1pbm5lcnstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbW96LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTEwMCUpOy1vLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xMDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTAwJSl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24ub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXIsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb24ub2RvbWV0ZXItYW5pbWF0aW5nLWRvd24ub2RvbWV0ZXItYW5pbWF0aW5nIC5vZG9tZXRlci1yaWJib24taW5uZXJ7LXdlYmtpdC10cmFuc2l0aW9uOi13ZWJraXQtdHJhbnNmb3JtIDJzOy1tb3otdHJhbnNpdGlvbjotbW96LXRyYW5zZm9ybSAyczstbXMtdHJhbnNpdGlvbjotbXMtdHJhbnNmb3JtIDJzOy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIDJzO3RyYW5zaXRpb246dHJhbnNmb3JtIDJzOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1vei10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb257Zm9udC1mYW1pbHk6IkVjb25vbWljYSIsc2Fucy1zZXJpZn0ub2RvbWV0ZXIub2RvbWV0ZXItYXV0by10aGVtZSAub2RvbWV0ZXItZGlnaXQsLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLXRyYWluLXN0YXRpb24gLm9kb21ldGVyLWRpZ2l0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTsqdmVydGljYWwtYWxpZ246YXV0bzsqem9vbToxOypkaXNwbGF5OmlubGluZTstbW96LWJvcmRlci1yYWRpdXM6LjFlbTstd2Via2l0LWJvcmRlci1yYWRpdXM6LjFlbTtib3JkZXItcmFkaXVzOi4xZW07YmFja2dyb3VuZC1pbWFnZTp1cmwoJ2RhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0Z1BITjJaeUIyWlhKemFXOXVQU0l4TGpFaUlIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJK1BHUmxabk0rUEd4cGJtVmhja2R5WVdScFpXNTBJR2xrUFNKbmNtRmtJaUJuY21Ga2FXVnVkRlZ1YVhSelBTSnZZbXBsWTNSQ2IzVnVaR2x1WjBKdmVDSWdlREU5SWpBdU5TSWdlVEU5SWpBdU1DSWdlREk5SWpBdU5TSWdlVEk5SWpFdU1DSStQSE4wYjNBZ2IyWm1jMlYwUFNJd0pTSWdjM1J2Y0MxamIyeHZjajBpSXpFeE1URXhNU0l2UGp4emRHOXdJRzltWm5ObGREMGlNelVsSWlCemRHOXdMV052Ykc5eVBTSWpNVEV4TVRFeElpOCtQSE4wYjNBZ2IyWm1jMlYwUFNJMU5TVWlJSE4wYjNBdFkyOXNiM0k5SWlNek16TXpNek1pTHo0OGMzUnZjQ0J2Wm1aelpYUTlJalUxSlNJZ2MzUnZjQzFqYjJ4dmNqMGlJekV4TVRFeE1TSXZQanh6ZEc5d0lHOW1abk5sZEQwaU1UQXdKU0lnYzNSdmNDMWpiMnh2Y2owaUl6RXhNVEV4TVNJdlBqd3ZiR2x1WldGeVIzSmhaR2xsYm5RK1BDOWtaV1p6UGp4eVpXTjBJSGc5SWpBaUlIazlJakFpSUhkcFpIUm9QU0l4TURBbElpQm9aV2xuYUhROUlqRXdNQ1VpSUdacGJHdzlJblZ5YkNnalozSmhaQ2tpSUM4K1BDOXpkbWMrSUE9PScpO2JhY2tncm91bmQtc2l6ZToxMDAlO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1ncmFkaWVudChsaW5lYXIsNTAlIDAsNTAlIDEwMCUsY29sb3Itc3RvcCgwJSwjMTExKSxjb2xvci1zdG9wKDM1JSwjMTExKSxjb2xvci1zdG9wKDU1JSwjMzMzKSxjb2xvci1zdG9wKDU1JSwjMTExKSxjb2xvci1zdG9wKDEwMCUsIzExMSkpO2JhY2tncm91bmQtaW1hZ2U6LW1vei1saW5lYXItZ3JhZGllbnQodG9wLCMxMTEgMCwjMTExIDM1JSwjMzMzIDU1JSwjMTExIDU1JSwjMTExIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCMxMTEgMCwjMTExIDM1JSwjMzMzIDU1JSwjMTExIDU1JSwjMTExIDEwMCUpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMTExIDAsIzExMSAzNSUsIzMzMyA1NSUsIzExMSA1NSUsIzExMSAxMDAlKTtiYWNrZ3JvdW5kLWNvbG9yOiMyMjI7cGFkZGluZzowIC4xNWVtO2NvbG9yOiNmZmZ9Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0Ky5vZG9tZXRlci1kaWdpdCwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQrLm9kb21ldGVyLWRpZ2l0e21hcmdpbi1sZWZ0Oi4xZW19Lm9kb21ldGVyLm9kb21ldGVyLWF1dG8tdGhlbWUgLm9kb21ldGVyLWRpZ2l0IC5vZG9tZXRlci1kaWdpdC1pbm5lciwub2RvbWV0ZXIub2RvbWV0ZXItdGhlbWUtdHJhaW4tc3RhdGlvbiAub2RvbWV0ZXItZGlnaXQgLm9kb21ldGVyLWRpZ2l0LWlubmVye2xlZnQ6LjE1ZW19CgoKCi8qIQogVmVyc2lvbjogMS44LjAKICBBdXRob3I6IEtlbiBXaGVlbGVyCiAgICBSZXBvOiBodHRwOi8vZ2l0aHViLmNvbS9rZW53aGVlbGVyL3NsaWNrCiovCi5zbGljay1zbGlkZXIge3Bvc2l0aW9uOiByZWxhdGl2ZTtkaXNwbGF5OiBibG9jaztib3gtc2l6aW5nOiBib3JkZXItYm94Oy13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7LW1vei11c2VyLXNlbGVjdDogbm9uZTstbXMtdXNlci1zZWxlY3Q6IG5vbmU7dXNlci1zZWxlY3Q6IG5vbmU7LXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lOy1raHRtbC11c2VyLXNlbGVjdDogbm9uZTstbXMtdG91Y2gtYWN0aW9uOiBwYW4teTt0b3VjaC1hY3Rpb246IHBhbi15Oy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7fS5zbGljay1saXN0IHtwb3NpdGlvbjogcmVsYXRpdmU7ZGlzcGxheTogYmxvY2s7b3ZlcmZsb3c6IGhpZGRlbjttYXJnaW46IDA7cGFkZGluZzogMDt9LnNsaWNrLWxpc3Q6Zm9jdXMge291dGxpbmU6IG5vbmU7fS5zbGljay1saXN0LmRyYWdnaW5nIHtjdXJzb3I6IHBvaW50ZXI7Y3Vyc29yOiBoYW5kO30uc2xpY2stc2xpZGVyIC5zbGljay10cmFjaywgLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOy1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTstbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTstby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO3RyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7fS5zbGljay10cmFjayB7cG9zaXRpb246IHJlbGF0aXZlO3RvcDogMDtsZWZ0OiAwO2Rpc3BsYXk6IGJsb2NrO21hcmdpbi1sZWZ0OiBhdXRvO21hcmdpbi1yaWdodDogYXV0bzt9LnNsaWNrLXRyYWNrOmJlZm9yZSwgLnNsaWNrLXRyYWNrOmFmdGVyIHtkaXNwbGF5OiB0YWJsZTtjb250ZW50OiAnJzt9LnNsaWNrLXRyYWNrOmFmdGVyIHtjbGVhcjogYm90aDt9LnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHt2aXNpYmlsaXR5OiBoaWRkZW47fS5zbGljay1zbGlkZSB7ZGlzcGxheTogbm9uZTtmbG9hdDogbGVmdDtoZWlnaHQ6IDEwMCU7bWluLWhlaWdodDogMXB4O31bZGlyPSdydGwnXSAuc2xpY2stc2xpZGUge2Zsb2F0OiByaWdodDt9LnNsaWNrLXNsaWRlIGltZyB7ZGlzcGxheTogYmxvY2s7fS5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7ZGlzcGxheTogbm9uZTt9LnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7cG9pbnRlci1ldmVudHM6IG5vbmU7fS5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge2Rpc3BsYXk6IGJsb2NrO30uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge3Zpc2liaWxpdHk6IGhpZGRlbjt9LnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7ZGlzcGxheTogYmxvY2s7aGVpZ2h0OiBhdXRvO2JvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O30uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtkaXNwbGF5OiBub25lO30KLnNsaWNrLWxvYWRpbmcgLnNsaWNrLWxpc3Qge2JhY2tncm91bmQ6ICNmZmYgdXJsKCdzbGljay1zbGlkZXIvYWpheC1sb2FkZXIuZ2lmJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7fS8qIEljb25zICovQGZvbnQtZmFjZSB7CWZvbnQtZmFtaWx5OiAnc2xpY2snOwlmb250LXdlaWdodDogbm9ybWFsOwlmb250LXN0eWxlOiBub3JtYWw7CXNyYzogdXJsKCdzbGljay1zbGlkZXIvZm9udHMvc2xpY2suZW90Jyk7CXNyYzogdXJsKCdzbGljay1zbGlkZXIvZm9udHMvc2xpY2tkNDFkZDQxZGQ0MWQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwgdXJsKCdzbGljay1zbGlkZXIvZm9udHMvc2xpY2sud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJ3NsaWNrLXNsaWRlci9mb250cy9zbGljay50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnc2xpY2stc2xpZGVyL2ZvbnRzL3NsaWNrLnN2ZyNzbGljaycpIGZvcm1hdCgnc3ZnJyk7fS8qIEFycm93cyAqLy5zbGljay1wcmV2LCAuc2xpY2stbmV4dCB7CWZvbnQtc2l6ZTogMDsJbGluZS1oZWlnaHQ6IDA7CXBvc2l0aW9uOiBhYnNvbHV0ZTsJdG9wOiA1MCU7CWRpc3BsYXk6IGJsb2NrOwl3aWR0aDogMjBweDsJaGVpZ2h0OiAyMHB4OwlwYWRkaW5nOiAwOwktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7CXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpOwljdXJzb3I6IHBvaW50ZXI7CWNvbG9yOiB0cmFuc3BhcmVudDsJYm9yZGVyOiBub25lOwlvdXRsaW5lOiBub25lOwliYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDt9LnNsaWNrLXByZXY6aG92ZXIsIC5zbGljay1wcmV2OmZvY3VzLCAuc2xpY2stbmV4dDpob3ZlciwgLnNsaWNrLW5leHQ6Zm9jdXMgewljb2xvcjogdHJhbnNwYXJlbnQ7CW91dGxpbmU6IG5vbmU7CWJhY2tncm91bmQ6IHRyYW5zcGFyZW50O30uc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsIC5zbGljay1wcmV2OmZvY3VzOmJlZm9yZSwgLnNsaWNrLW5leHQ6aG92ZXI6YmVmb3JlLCAuc2xpY2stbmV4dDpmb2N1czpiZWZvcmUgewlvcGFjaXR5OiAxO30uc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsIC5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7CW9wYWNpdHk6IC4yNTt9LnNsaWNrLXByZXY6YmVmb3JlLCAuc2xpY2stbmV4dDpiZWZvcmUgewlmb250LWZhbWlseTogJ3NsaWNrJzsJZm9udC1zaXplOiAyMHB4OwlsaW5lLWhlaWdodDogMTsJb3BhY2l0eTogLjc1Owljb2xvcjogd2hpdGU7CS13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwktbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO30uc2xpY2stcHJldiB7CWxlZnQ6IC0yNXB4O31bZGlyPSdydGwnXSAuc2xpY2stcHJldiB7CXJpZ2h0OiAtMjVweDsJbGVmdDogYXV0bzt9LnNsaWNrLXByZXY6YmVmb3JlIHsJY29udGVudDogJ+KGkCc7fVtkaXI9J3J0bCddIC5zbGljay1wcmV2OmJlZm9yZSB7CWNvbnRlbnQ6ICfihpInO30uc2xpY2stbmV4dCB7CXJpZ2h0OiAtMjVweDt9W2Rpcj0ncnRsJ10gLnNsaWNrLW5leHQgewlyaWdodDogYXV0bzsJbGVmdDogLTI1cHg7fS5zbGljay1uZXh0OmJlZm9yZSB7CWNvbnRlbnQ6ICfihpInO31bZGlyPSdydGwnXSAuc2xpY2stbmV4dDpiZWZvcmUgewljb250ZW50OiAn4oaQJzt9LyogRG90cyAqLy5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHsJbWFyZ2luLWJvdHRvbTogMzBweDt9LnNsaWNrLWRvdHMgewlwb3NpdGlvbjogYWJzb2x1dGU7CWJvdHRvbTogLTI1cHg7CWRpc3BsYXk6IGJsb2NrOwl3aWR0aDogMTAwJTsJcGFkZGluZzogMDsJbWFyZ2luOiAwOwlsaXN0LXN0eWxlOiBub25lOwl0ZXh0LWFsaWduOiBjZW50ZXI7fS5zbGljay1kb3RzIGxpIHsJcG9zaXRpb246IHJlbGF0aXZlOwlkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CXdpZHRoOiAyMHB4OwloZWlnaHQ6IDIwcHg7CW1hcmdpbjogMCA1cHg7CXBhZGRpbmc6IDA7CWN1cnNvcjogcG9pbnRlcjt9LnNsaWNrLWRvdHMgbGkgYnV0dG9uIHsJZm9udC1zaXplOiAwOwlsaW5lLWhlaWdodDogMDsJZGlzcGxheTogYmxvY2s7CXdpZHRoOiAyMHB4OwloZWlnaHQ6IDIwcHg7CXBhZGRpbmc6IDVweDsJY3Vyc29yOiBwb2ludGVyOwljb2xvcjogdHJhbnNwYXJlbnQ7CWJvcmRlcjogMDsJb3V0bGluZTogbm9uZTsJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7fS5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlciwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHsJb3V0bGluZTogbm9uZTt9LnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOmJlZm9yZSwgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOmJlZm9yZSB7CW9wYWNpdHk6IDE7fS5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUgewlmb250LWZhbWlseTogJ3NsaWNrJzsJZm9udC1zaXplOiA2cHg7CWxpbmUtaGVpZ2h0OiAyMHB4Owlwb3NpdGlvbjogYWJzb2x1dGU7CXRvcDogMDsJbGVmdDogMDsJd2lkdGg6IDIwcHg7CWhlaWdodDogMjBweDsJY29udGVudDogJ+KAoic7CXRleHQtYWxpZ246IGNlbnRlcjsJb3BhY2l0eTogLjI1Owljb2xvcjogYmxhY2s7CS13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwktbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO30uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7CW9wYWNpdHk6IC43NTsJY29sb3I6IGJsYWNrO30="}},"time_used":279,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":261,"receive":18,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/font-awesome.min.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.906Z","timestamp":1785133989906,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/font-awesome.min.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/css/style-main.css\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6672\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":31071,"size_decoded":6902,"mime_type":"text/css","magic":"ASCII text, with very long lines (30908)","md5":"0f4e164188cb1ce562769cd74c08167b","sha1":"47026925ebc6df105a671fa5a4da7d211cb68ac9","sha256":"ec745a51080514a402061335a3ae898784284c65260b9ab3c2c38f3aea26dc5c","sha512":"f1130166f86e912fcd3717d8ec367cf8a7b7089a7426898ee27ff338a8f8c129d6954836b4e193437a9fe16c72b959c0b91e900e4533bb77a87d48f519cf7197","ssdeep":"384:rHu5yWeTUKW+KlkJ5de2UYDyVfwYUas2l8yQ/8dwmaU8G:rwlr+Klk3Yi+fwYUf2l8yQ/e9vf","tlshash":"36d242e8e54c01d66731c48bff81b36862b6fb3dd5854da9f01f290c29d22a512c5fb9","first_seen":"2023-04-19T12:13:20Z","last_seen":"2026-07-27T06:33:53.972072Z","times_seen":37,"resource_available":false,"data":"LyohCiAqICBGb250IEF3ZXNvbWUgNC43LjAgYnkgQGRhdmVnYW5keSAtIGh0dHA6Ly9mb250YXdlc29tZS5pbyAtIEBmb250YXdlc29tZQogKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSkKICovQGZvbnQtZmFjZXtmb250LWZhbWlseTonRm9udEF3ZXNvbWUnO3NyYzp1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQzZTZlM2U2ZTNlNmUuZW90P3Y9NC43LjAnKTtzcmM6dXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250ZDQxZGQ0MWRkNDFkLmVvdD8jaWVmaXgmdj00LjcuMCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQzZTZlM2U2ZTNlNmUuaHRtbD92PTQuNy4wJykgZm9ybWF0KCd3b2ZmMicpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udDNlNmUzZTZlM2U2ZS53b2ZmP3Y9NC43LjAnKSBmb3JtYXQoJ3dvZmYnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQzZTZlM2U2ZTNlNmUudHRmP3Y9NC43LjAnKSBmb3JtYXQoJ3RydWV0eXBlJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250M2U2ZTNlNmUzZTZlLnN2Zz92PTQuNy4wI2ZvbnRhd2Vzb21lcmVndWxhcicpIGZvcm1hdCgnc3ZnJyk7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc3R5bGU6bm9ybWFsfS5mYXtkaXNwbGF5OmlubGluZS1ibG9jaztmb250Om5vcm1hbCBub3JtYWwgbm9ybWFsIDE0cHgvMSBGb250QXdlc29tZTtmb250LXNpemU6aW5oZXJpdDt0ZXh0LXJlbmRlcmluZzphdXRvOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlfS5mYS1sZ3tmb250LXNpemU6MS4zMzMzMzMzM2VtO2xpbmUtaGVpZ2h0Oi43NWVtO3ZlcnRpY2FsLWFsaWduOi0xNSV9LmZhLTJ4e2ZvbnQtc2l6ZToyZW19LmZhLTN4e2ZvbnQtc2l6ZTozZW19LmZhLTR4e2ZvbnQtc2l6ZTo0ZW19LmZhLTV4e2ZvbnQtc2l6ZTo1ZW19LmZhLWZ3e3dpZHRoOjEuMjg1NzE0MjllbTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtdWx7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWxlZnQ6Mi4xNDI4NTcxNGVtO2xpc3Qtc3R5bGUtdHlwZTpub25lfS5mYS11bD5saXtwb3NpdGlvbjpyZWxhdGl2ZX0uZmEtbGl7cG9zaXRpb246YWJzb2x1dGU7bGVmdDotMi4xNDI4NTcxNGVtO3dpZHRoOjIuMTQyODU3MTRlbTt0b3A6LjE0Mjg1NzE0ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LmZhLWxpLmZhLWxne2xlZnQ6LTEuODU3MTQyODZlbX0uZmEtYm9yZGVye3BhZGRpbmc6LjJlbSAuMjVlbSAuMTVlbTtib3JkZXI6c29saWQgLjA4ZW0gI2VlZTtib3JkZXItcmFkaXVzOi4xZW19LmZhLXB1bGwtbGVmdHtmbG9hdDpsZWZ0fS5mYS1wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0fS5mYS5mYS1wdWxsLWxlZnR7bWFyZ2luLXJpZ2h0Oi4zZW19LmZhLmZhLXB1bGwtcmlnaHR7bWFyZ2luLWxlZnQ6LjNlbX0ucHVsbC1yaWdodHtmbG9hdDpyaWdodH0ucHVsbC1sZWZ0e2Zsb2F0OmxlZnR9LmZhLnB1bGwtbGVmdHttYXJnaW4tcmlnaHQ6LjNlbX0uZmEucHVsbC1yaWdodHttYXJnaW4tbGVmdDouM2VtfS5mYS1zcGluey13ZWJraXQtYW5pbWF0aW9uOmZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyO2FuaW1hdGlvbjpmYS1zcGluIDJzIGluZmluaXRlIGxpbmVhcn0uZmEtcHVsc2V7LXdlYmtpdC1hbmltYXRpb246ZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KTthbmltYXRpb246ZmEtc3BpbiAxcyBpbmZpbml0ZSBzdGVwcyg4KX1ALXdlYmtpdC1rZXlmcmFtZXMgZmEtc3BpbnswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19QGtleWZyYW1lcyBmYS1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM1OWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpfX0uZmEtcm90YXRlLTkwey1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpIjstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDkwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDkwZGVnKX0uZmEtcm90YXRlLTE4MHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKSI7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyl9LmZhLXJvdGF0ZS0yNzB7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MykiOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNzBkZWcpfS5mYS1mbGlwLWhvcml6b250YWx7LW1zLWZpbHRlcjoicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpIjstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgtMSwgMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgtMSwgMSk7dHJhbnNmb3JtOnNjYWxlKC0xLCAxKX0uZmEtZmxpcC12ZXJ0aWNhbHstbXMtZmlsdGVyOiJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSkiOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEsIC0xKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEsIC0xKTt0cmFuc2Zvcm06c2NhbGUoMSwgLTEpfTpyb290IC5mYS1yb3RhdGUtOTAsOnJvb3QgLmZhLXJvdGF0ZS0xODAsOnJvb3QgLmZhLXJvdGF0ZS0yNzAsOnJvb3QgLmZhLWZsaXAtaG9yaXpvbnRhbCw6cm9vdCAuZmEtZmxpcC12ZXJ0aWNhbHtmaWx0ZXI6bm9uZX0uZmEtc3RhY2t7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MmVtO2hlaWdodDoyZW07bGluZS1oZWlnaHQ6MmVtO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZmEtc3RhY2stMXgsLmZhLXN0YWNrLTJ4e3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6MDt3aWR0aDoxMDAlO3RleHQtYWxpZ246Y2VudGVyfS5mYS1zdGFjay0xeHtsaW5lLWhlaWdodDppbmhlcml0fS5mYS1zdGFjay0yeHtmb250LXNpemU6MmVtfS5mYS1pbnZlcnNle2NvbG9yOiNmZmZ9LmZhLWdsYXNzOmJlZm9yZXtjb250ZW50OiJcZjAwMCJ9LmZhLW11c2ljOmJlZm9yZXtjb250ZW50OiJcZjAwMSJ9LmZhLXNlYXJjaDpiZWZvcmV7Y29udGVudDoiXGYwMDIifS5mYS1lbnZlbG9wZS1vOmJlZm9yZXtjb250ZW50OiJcZjAwMyJ9LmZhLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZjAwNCJ9LmZhLXN0YXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDA1In0uZmEtc3Rhci1vOmJlZm9yZXtjb250ZW50OiJcZjAwNiJ9LmZhLXVzZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMDA3In0uZmEtZmlsbTpiZWZvcmV7Y29udGVudDoiXGYwMDgifS5mYS10aC1sYXJnZTpiZWZvcmV7Y29udGVudDoiXGYwMDkifS5mYS10aDpiZWZvcmV7Y29udGVudDoiXGYwMGEifS5mYS10aC1saXN0OmJlZm9yZXtjb250ZW50OiJcZjAwYiJ9LmZhLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZjAwYyJ9LmZhLXJlbW92ZTpiZWZvcmUsLmZhLWNsb3NlOmJlZm9yZSwuZmEtdGltZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDBkIn0uZmEtc2VhcmNoLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDBlIn0uZmEtc2VhcmNoLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjAxMCJ9LmZhLXBvd2VyLW9mZjpiZWZvcmV7Y29udGVudDoiXGYwMTEifS5mYS1zaWduYWw6YmVmb3Jle2NvbnRlbnQ6IlxmMDEyIn0uZmEtZ2VhcjpiZWZvcmUsLmZhLWNvZzpiZWZvcmV7Y29udGVudDoiXGYwMTMifS5mYS10cmFzaC1vOmJlZm9yZXtjb250ZW50OiJcZjAxNCJ9LmZhLWhvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMDE1In0uZmEtZmlsZS1vOmJlZm9yZXtjb250ZW50OiJcZjAxNiJ9LmZhLWNsb2NrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDE3In0uZmEtcm9hZDpiZWZvcmV7Y29udGVudDoiXGYwMTgifS5mYS1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGYwMTkifS5mYS1hcnJvdy1jaXJjbGUtby1kb3duOmJlZm9yZXtjb250ZW50OiJcZjAxYSJ9LmZhLWFycm93LWNpcmNsZS1vLXVwOmJlZm9yZXtjb250ZW50OiJcZjAxYiJ9LmZhLWluYm94OmJlZm9yZXtjb250ZW50OiJcZjAxYyJ9LmZhLXBsYXktY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDFkIn0uZmEtcm90YXRlLXJpZ2h0OmJlZm9yZSwuZmEtcmVwZWF0OmJlZm9yZXtjb250ZW50OiJcZjAxZSJ9LmZhLXJlZnJlc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMDIxIn0uZmEtbGlzdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDIyIn0uZmEtbG9jazpiZWZvcmV7Y29udGVudDoiXGYwMjMifS5mYS1mbGFnOmJlZm9yZXtjb250ZW50OiJcZjAyNCJ9LmZhLWhlYWRwaG9uZXM6YmVmb3Jle2NvbnRlbnQ6IlxmMDI1In0uZmEtdm9sdW1lLW9mZjpiZWZvcmV7Y29udGVudDoiXGYwMjYifS5mYS12b2x1bWUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwMjcifS5mYS12b2x1bWUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDI4In0uZmEtcXJjb2RlOmJlZm9yZXtjb250ZW50OiJcZjAyOSJ9LmZhLWJhcmNvZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDJhIn0uZmEtdGFnOmJlZm9yZXtjb250ZW50OiJcZjAyYiJ9LmZhLXRhZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDJjIn0uZmEtYm9vazpiZWZvcmV7Y29udGVudDoiXGYwMmQifS5mYS1ib29rbWFyazpiZWZvcmV7Y29udGVudDoiXGYwMmUifS5mYS1wcmludDpiZWZvcmV7Y29udGVudDoiXGYwMmYifS5mYS1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMDMwIn0uZmEtZm9udDpiZWZvcmV7Y29udGVudDoiXGYwMzEifS5mYS1ib2xkOmJlZm9yZXtjb250ZW50OiJcZjAzMiJ9LmZhLWl0YWxpYzpiZWZvcmV7Y29udGVudDoiXGYwMzMifS5mYS10ZXh0LWhlaWdodDpiZWZvcmV7Y29udGVudDoiXGYwMzQifS5mYS10ZXh0LXdpZHRoOmJlZm9yZXtjb250ZW50OiJcZjAzNSJ9LmZhLWFsaWduLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDM2In0uZmEtYWxpZ24tY2VudGVyOmJlZm9yZXtjb250ZW50OiJcZjAzNyJ9LmZhLWFsaWduLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjAzOCJ9LmZhLWFsaWduLWp1c3RpZnk6YmVmb3Jle2NvbnRlbnQ6IlxmMDM5In0uZmEtbGlzdDpiZWZvcmV7Y29udGVudDoiXGYwM2EifS5mYS1kZWRlbnQ6YmVmb3JlLC5mYS1vdXRkZW50OmJlZm9yZXtjb250ZW50OiJcZjAzYiJ9LmZhLWluZGVudDpiZWZvcmV7Y29udGVudDoiXGYwM2MifS5mYS12aWRlby1jYW1lcmE6YmVmb3Jle2NvbnRlbnQ6IlxmMDNkIn0uZmEtcGhvdG86YmVmb3JlLC5mYS1pbWFnZTpiZWZvcmUsLmZhLXBpY3R1cmUtbzpiZWZvcmV7Y29udGVudDoiXGYwM2UifS5mYS1wZW5jaWw6YmVmb3Jle2NvbnRlbnQ6IlxmMDQwIn0uZmEtbWFwLW1hcmtlcjpiZWZvcmV7Y29udGVudDoiXGYwNDEifS5mYS1hZGp1c3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMDQyIn0uZmEtdGludDpiZWZvcmV7Y29udGVudDoiXGYwNDMifS5mYS1lZGl0OmJlZm9yZSwuZmEtcGVuY2lsLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA0NCJ9LmZhLXNoYXJlLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA0NSJ9LmZhLWNoZWNrLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OiJcZjA0NiJ9LmZhLWFycm93czpiZWZvcmV7Y29udGVudDoiXGYwNDcifS5mYS1zdGVwLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA0OCJ9LmZhLWZhc3QtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDQ5In0uZmEtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDRhIn0uZmEtcGxheTpiZWZvcmV7Y29udGVudDoiXGYwNGIifS5mYS1wYXVzZTpiZWZvcmV7Y29udGVudDoiXGYwNGMifS5mYS1zdG9wOmJlZm9yZXtjb250ZW50OiJcZjA0ZCJ9LmZhLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDRlIn0uZmEtZmFzdC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZjA1MCJ9LmZhLXN0ZXAtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGYwNTEifS5mYS1lamVjdDpiZWZvcmV7Y29udGVudDoiXGYwNTIifS5mYS1jaGV2cm9uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDUzIn0uZmEtY2hldnJvbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwNTQifS5mYS1wbHVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTUifS5mYS1taW51cy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU2In0uZmEtdGltZXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OiJcZjA1NyJ9LmZhLWNoZWNrLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNTgifS5mYS1xdWVzdGlvbi1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDU5In0uZmEtaW5mby1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMDVhIn0uZmEtY3Jvc3NoYWlyczpiZWZvcmV7Y29udGVudDoiXGYwNWIifS5mYS10aW1lcy1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYwNWMifS5mYS1jaGVjay1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYwNWQifS5mYS1iYW46YmVmb3Jle2NvbnRlbnQ6IlxmMDVlIn0uZmEtYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwNjAifS5mYS1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYwNjEifS5mYS1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGYwNjIifS5mYS1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjA2MyJ9LmZhLW1haWwtZm9yd2FyZDpiZWZvcmUsLmZhLXNoYXJlOmJlZm9yZXtjb250ZW50OiJcZjA2NCJ9LmZhLWV4cGFuZDpiZWZvcmV7Y29udGVudDoiXGYwNjUifS5mYS1jb21wcmVzczpiZWZvcmV7Y29udGVudDoiXGYwNjYifS5mYS1wbHVzOmJlZm9yZXtjb250ZW50OiJcZjA2NyJ9LmZhLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcZjA2OCJ9LmZhLWFzdGVyaXNrOmJlZm9yZXtjb250ZW50OiJcZjA2OSJ9LmZhLWV4Y2xhbWF0aW9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYwNmEifS5mYS1naWZ0OmJlZm9yZXtjb250ZW50OiJcZjA2YiJ9LmZhLWxlYWY6YmVmb3Jle2NvbnRlbnQ6IlxmMDZjIn0uZmEtZmlyZTpiZWZvcmV7Y29udGVudDoiXGYwNmQifS5mYS1leWU6YmVmb3Jle2NvbnRlbnQ6IlxmMDZlIn0uZmEtZXllLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjA3MCJ9LmZhLXdhcm5pbmc6YmVmb3JlLC5mYS1leGNsYW1hdGlvbi10cmlhbmdsZTpiZWZvcmV7Y29udGVudDoiXGYwNzEifS5mYS1wbGFuZTpiZWZvcmV7Y29udGVudDoiXGYwNzIifS5mYS1jYWxlbmRhcjpiZWZvcmV7Y29udGVudDoiXGYwNzMifS5mYS1yYW5kb206YmVmb3Jle2NvbnRlbnQ6IlxmMDc0In0uZmEtY29tbWVudDpiZWZvcmV7Y29udGVudDoiXGYwNzUifS5mYS1tYWduZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMDc2In0uZmEtY2hldnJvbi11cDpiZWZvcmV7Y29udGVudDoiXGYwNzcifS5mYS1jaGV2cm9uLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxmMDc4In0uZmEtcmV0d2VldDpiZWZvcmV7Y29udGVudDoiXGYwNzkifS5mYS1zaG9wcGluZy1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZjA3YSJ9LmZhLWZvbGRlcjpiZWZvcmV7Y29udGVudDoiXGYwN2IifS5mYS1mb2xkZXItb3BlbjpiZWZvcmV7Y29udGVudDoiXGYwN2MifS5mYS1hcnJvd3MtdjpiZWZvcmV7Y29udGVudDoiXGYwN2QifS5mYS1hcnJvd3MtaDpiZWZvcmV7Y29udGVudDoiXGYwN2UifS5mYS1iYXItY2hhcnQtbzpiZWZvcmUsLmZhLWJhci1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYwODAifS5mYS10d2l0dGVyLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwODEifS5mYS1mYWNlYm9vay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDgyIn0uZmEtY2FtZXJhLXJldHJvOmJlZm9yZXtjb250ZW50OiJcZjA4MyJ9LmZhLWtleTpiZWZvcmV7Y29udGVudDoiXGYwODQifS5mYS1nZWFyczpiZWZvcmUsLmZhLWNvZ3M6YmVmb3Jle2NvbnRlbnQ6IlxmMDg1In0uZmEtY29tbWVudHM6YmVmb3Jle2NvbnRlbnQ6IlxmMDg2In0uZmEtdGh1bWJzLW8tdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMDg3In0uZmEtdGh1bWJzLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwODgifS5mYS1zdGFyLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMDg5In0uZmEtaGVhcnQtbzpiZWZvcmV7Y29udGVudDoiXGYwOGEifS5mYS1zaWduLW91dDpiZWZvcmV7Y29udGVudDoiXGYwOGIifS5mYS1saW5rZWRpbi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDhjIn0uZmEtdGh1bWItdGFjazpiZWZvcmV7Y29udGVudDoiXGYwOGQifS5mYS1leHRlcm5hbC1saW5rOmJlZm9yZXtjb250ZW50OiJcZjA4ZSJ9LmZhLXNpZ24taW46YmVmb3Jle2NvbnRlbnQ6IlxmMDkwIn0uZmEtdHJvcGh5OmJlZm9yZXtjb250ZW50OiJcZjA5MSJ9LmZhLWdpdGh1Yi1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDkyIn0uZmEtdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZjA5MyJ9LmZhLWxlbW9uLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDk0In0uZmEtcGhvbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDk1In0uZmEtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMDk2In0uZmEtYm9va21hcmstbzpiZWZvcmV7Y29udGVudDoiXGYwOTcifS5mYS1waG9uZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMDk4In0uZmEtdHdpdHRlcjpiZWZvcmV7Y29udGVudDoiXGYwOTkifS5mYS1mYWNlYm9vay1mOmJlZm9yZSwuZmEtZmFjZWJvb2s6YmVmb3Jle2NvbnRlbnQ6IlxmMDlhIn0uZmEtZ2l0aHViOmJlZm9yZXtjb250ZW50OiJcZjA5YiJ9LmZhLXVubG9jazpiZWZvcmV7Y29udGVudDoiXGYwOWMifS5mYS1jcmVkaXQtY2FyZDpiZWZvcmV7Y29udGVudDoiXGYwOWQifS5mYS1mZWVkOmJlZm9yZSwuZmEtcnNzOmJlZm9yZXtjb250ZW50OiJcZjA5ZSJ9LmZhLWhkZC1vOmJlZm9yZXtjb250ZW50OiJcZjBhMCJ9LmZhLWJ1bGxob3JuOmJlZm9yZXtjb250ZW50OiJcZjBhMSJ9LmZhLWJlbGw6YmVmb3Jle2NvbnRlbnQ6IlxmMGYzIn0uZmEtY2VydGlmaWNhdGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGEzIn0uZmEtaGFuZC1vLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBhNCJ9LmZhLWhhbmQtby1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjBhNSJ9LmZhLWhhbmQtby11cDpiZWZvcmV7Y29udGVudDoiXGYwYTYifS5mYS1oYW5kLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYwYTcifS5mYS1hcnJvdy1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYwYTgifS5mYS1hcnJvdy1jaXJjbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGE5In0uZmEtYXJyb3ctY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OiJcZjBhYSJ9LmZhLWFycm93LWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjBhYiJ9LmZhLWdsb2JlOmJlZm9yZXtjb250ZW50OiJcZjBhYyJ9LmZhLXdyZW5jaDpiZWZvcmV7Y29udGVudDoiXGYwYWQifS5mYS10YXNrczpiZWZvcmV7Y29udGVudDoiXGYwYWUifS5mYS1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMGIwIn0uZmEtYnJpZWZjYXNlOmJlZm9yZXtjb250ZW50OiJcZjBiMSJ9LmZhLWFycm93cy1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGIyIn0uZmEtZ3JvdXA6YmVmb3JlLC5mYS11c2VyczpiZWZvcmV7Y29udGVudDoiXGYwYzAifS5mYS1jaGFpbjpiZWZvcmUsLmZhLWxpbms6YmVmb3Jle2NvbnRlbnQ6IlxmMGMxIn0uZmEtY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGMyIn0uZmEtZmxhc2s6YmVmb3Jle2NvbnRlbnQ6IlxmMGMzIn0uZmEtY3V0OmJlZm9yZSwuZmEtc2Npc3NvcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGM0In0uZmEtY29weTpiZWZvcmUsLmZhLWZpbGVzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGM1In0uZmEtcGFwZXJjbGlwOmJlZm9yZXtjb250ZW50OiJcZjBjNiJ9LmZhLXNhdmU6YmVmb3JlLC5mYS1mbG9wcHktbzpiZWZvcmV7Y29udGVudDoiXGYwYzcifS5mYS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGM4In0uZmEtbmF2aWNvbjpiZWZvcmUsLmZhLXJlb3JkZXI6YmVmb3JlLC5mYS1iYXJzOmJlZm9yZXtjb250ZW50OiJcZjBjOSJ9LmZhLWxpc3QtdWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGNhIn0uZmEtbGlzdC1vbDpiZWZvcmV7Y29udGVudDoiXGYwY2IifS5mYS1zdHJpa2V0aHJvdWdoOmJlZm9yZXtjb250ZW50OiJcZjBjYyJ9LmZhLXVuZGVybGluZTpiZWZvcmV7Y29udGVudDoiXGYwY2QifS5mYS10YWJsZTpiZWZvcmV7Y29udGVudDoiXGYwY2UifS5mYS1tYWdpYzpiZWZvcmV7Y29udGVudDoiXGYwZDAifS5mYS10cnVjazpiZWZvcmV7Y29udGVudDoiXGYwZDEifS5mYS1waW50ZXJlc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMGQyIn0uZmEtcGludGVyZXN0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZDMifS5mYS1nb29nbGUtcGx1cy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ0In0uZmEtZ29vZ2xlLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ1In0uZmEtbW9uZXk6YmVmb3Jle2NvbnRlbnQ6IlxmMGQ2In0uZmEtY2FyZXQtZG93bjpiZWZvcmV7Y29udGVudDoiXGYwZDcifS5mYS1jYXJldC11cDpiZWZvcmV7Y29udGVudDoiXGYwZDgifS5mYS1jYXJldC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjBkOSJ9LmZhLWNhcmV0LXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjBkYSJ9LmZhLWNvbHVtbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMGRiIn0uZmEtdW5zb3J0ZWQ6YmVmb3JlLC5mYS1zb3J0OmJlZm9yZXtjb250ZW50OiJcZjBkYyJ9LmZhLXNvcnQtZG93bjpiZWZvcmUsLmZhLXNvcnQtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYwZGQifS5mYS1zb3J0LXVwOmJlZm9yZSwuZmEtc29ydC1hc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMGRlIn0uZmEtZW52ZWxvcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMGUwIn0uZmEtbGlua2VkaW46YmVmb3Jle2NvbnRlbnQ6IlxmMGUxIn0uZmEtcm90YXRlLWxlZnQ6YmVmb3JlLC5mYS11bmRvOmJlZm9yZXtjb250ZW50OiJcZjBlMiJ9LmZhLWxlZ2FsOmJlZm9yZSwuZmEtZ2F2ZWw6YmVmb3Jle2NvbnRlbnQ6IlxmMGUzIn0uZmEtZGFzaGJvYXJkOmJlZm9yZSwuZmEtdGFjaG9tZXRlcjpiZWZvcmV7Y29udGVudDoiXGYwZTQifS5mYS1jb21tZW50LW86YmVmb3Jle2NvbnRlbnQ6IlxmMGU1In0uZmEtY29tbWVudHMtbzpiZWZvcmV7Y29udGVudDoiXGYwZTYifS5mYS1mbGFzaDpiZWZvcmUsLmZhLWJvbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGU3In0uZmEtc2l0ZW1hcDpiZWZvcmV7Y29udGVudDoiXGYwZTgifS5mYS11bWJyZWxsYTpiZWZvcmV7Y29udGVudDoiXGYwZTkifS5mYS1wYXN0ZTpiZWZvcmUsLmZhLWNsaXBib2FyZDpiZWZvcmV7Y29udGVudDoiXGYwZWEifS5mYS1saWdodGJ1bGItbzpiZWZvcmV7Y29udGVudDoiXGYwZWIifS5mYS1leGNoYW5nZTpiZWZvcmV7Y29udGVudDoiXGYwZWMifS5mYS1jbG91ZC1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGYwZWQifS5mYS1jbG91ZC11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGVlIn0uZmEtdXNlci1tZDpiZWZvcmV7Y29udGVudDoiXGYwZjAifS5mYS1zdGV0aG9zY29wZTpiZWZvcmV7Y29udGVudDoiXGYwZjEifS5mYS1zdWl0Y2FzZTpiZWZvcmV7Y29udGVudDoiXGYwZjIifS5mYS1iZWxsLW86YmVmb3Jle2NvbnRlbnQ6IlxmMGEyIn0uZmEtY29mZmVlOmJlZm9yZXtjb250ZW50OiJcZjBmNCJ9LmZhLWN1dGxlcnk6YmVmb3Jle2NvbnRlbnQ6IlxmMGY1In0uZmEtZmlsZS10ZXh0LW86YmVmb3Jle2NvbnRlbnQ6IlxmMGY2In0uZmEtYnVpbGRpbmctbzpiZWZvcmV7Y29udGVudDoiXGYwZjcifS5mYS1ob3NwaXRhbC1vOmJlZm9yZXtjb250ZW50OiJcZjBmOCJ9LmZhLWFtYnVsYW5jZTpiZWZvcmV7Y29udGVudDoiXGYwZjkifS5mYS1tZWRraXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGZhIn0uZmEtZmlnaHRlci1qZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMGZiIn0uZmEtYmVlcjpiZWZvcmV7Y29udGVudDoiXGYwZmMifS5mYS1oLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZmQifS5mYS1wbHVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYwZmUifS5mYS1hbmdsZS1kb3VibGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMDAifS5mYS1hbmdsZS1kb3VibGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTAxIn0uZmEtYW5nbGUtZG91YmxlLXVwOmJlZm9yZXtjb250ZW50OiJcZjEwMiJ9LmZhLWFuZ2xlLWRvdWJsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjEwMyJ9LmZhLWFuZ2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTA0In0uZmEtYW5nbGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTA1In0uZmEtYW5nbGUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTA2In0uZmEtYW5nbGUtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxMDcifS5mYS1kZXNrdG9wOmJlZm9yZXtjb250ZW50OiJcZjEwOCJ9LmZhLWxhcHRvcDpiZWZvcmV7Y29udGVudDoiXGYxMDkifS5mYS10YWJsZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBhIn0uZmEtbW9iaWxlLXBob25lOmJlZm9yZSwuZmEtbW9iaWxlOmJlZm9yZXtjb250ZW50OiJcZjEwYiJ9LmZhLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjEwYyJ9LmZhLXF1b3RlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBkIn0uZmEtcXVvdGUtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTBlIn0uZmEtc3Bpbm5lcjpiZWZvcmV7Y29udGVudDoiXGYxMTAifS5mYS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTExIn0uZmEtbWFpbC1yZXBseTpiZWZvcmUsLmZhLXJlcGx5OmJlZm9yZXtjb250ZW50OiJcZjExMiJ9LmZhLWdpdGh1Yi1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTEzIn0uZmEtZm9sZGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTE0In0uZmEtZm9sZGVyLW9wZW4tbzpiZWZvcmV7Y29udGVudDoiXGYxMTUifS5mYS1zbWlsZS1vOmJlZm9yZXtjb250ZW50OiJcZjExOCJ9LmZhLWZyb3duLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTE5In0uZmEtbWVoLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTFhIn0uZmEtZ2FtZXBhZDpiZWZvcmV7Y29udGVudDoiXGYxMWIifS5mYS1rZXlib2FyZC1vOmJlZm9yZXtjb250ZW50OiJcZjExYyJ9LmZhLWZsYWctbzpiZWZvcmV7Y29udGVudDoiXGYxMWQifS5mYS1mbGFnLWNoZWNrZXJlZDpiZWZvcmV7Y29udGVudDoiXGYxMWUifS5mYS10ZXJtaW5hbDpiZWZvcmV7Y29udGVudDoiXGYxMjAifS5mYS1jb2RlOmJlZm9yZXtjb250ZW50OiJcZjEyMSJ9LmZhLW1haWwtcmVwbHktYWxsOmJlZm9yZSwuZmEtcmVwbHktYWxsOmJlZm9yZXtjb250ZW50OiJcZjEyMiJ9LmZhLXN0YXItaGFsZi1lbXB0eTpiZWZvcmUsLmZhLXN0YXItaGFsZi1mdWxsOmJlZm9yZSwuZmEtc3Rhci1oYWxmLW86YmVmb3Jle2NvbnRlbnQ6IlxmMTIzIn0uZmEtbG9jYXRpb24tYXJyb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTI0In0uZmEtY3JvcDpiZWZvcmV7Y29udGVudDoiXGYxMjUifS5mYS1jb2RlLWZvcms6YmVmb3Jle2NvbnRlbnQ6IlxmMTI2In0uZmEtdW5saW5rOmJlZm9yZSwuZmEtY2hhaW4tYnJva2VuOmJlZm9yZXtjb250ZW50OiJcZjEyNyJ9LmZhLXF1ZXN0aW9uOmJlZm9yZXtjb250ZW50OiJcZjEyOCJ9LmZhLWluZm86YmVmb3Jle2NvbnRlbnQ6IlxmMTI5In0uZmEtZXhjbGFtYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxmMTJhIn0uZmEtc3VwZXJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTJiIn0uZmEtc3Vic2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZjEyYyJ9LmZhLWVyYXNlcjpiZWZvcmV7Y29udGVudDoiXGYxMmQifS5mYS1wdXp6bGUtcGllY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMTJlIn0uZmEtbWljcm9waG9uZTpiZWZvcmV7Y29udGVudDoiXGYxMzAifS5mYS1taWNyb3Bob25lLXNsYXNoOmJlZm9yZXtjb250ZW50OiJcZjEzMSJ9LmZhLXNoaWVsZDpiZWZvcmV7Y29udGVudDoiXGYxMzIifS5mYS1jYWxlbmRhci1vOmJlZm9yZXtjb250ZW50OiJcZjEzMyJ9LmZhLWZpcmUtZXh0aW5ndWlzaGVyOmJlZm9yZXtjb250ZW50OiJcZjEzNCJ9LmZhLXJvY2tldDpiZWZvcmV7Y29udGVudDoiXGYxMzUifS5mYS1tYXhjZG46YmVmb3Jle2NvbnRlbnQ6IlxmMTM2In0uZmEtY2hldnJvbi1jaXJjbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGYxMzcifS5mYS1jaGV2cm9uLWNpcmNsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxMzgifS5mYS1jaGV2cm9uLWNpcmNsZS11cDpiZWZvcmV7Y29udGVudDoiXGYxMzkifS5mYS1jaGV2cm9uLWNpcmNsZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZjEzYSJ9LmZhLWh0bWw1OmJlZm9yZXtjb250ZW50OiJcZjEzYiJ9LmZhLWNzczM6YmVmb3Jle2NvbnRlbnQ6IlxmMTNjIn0uZmEtYW5jaG9yOmJlZm9yZXtjb250ZW50OiJcZjEzZCJ9LmZhLXVubG9jay1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTNlIn0uZmEtYnVsbHNleWU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQwIn0uZmEtZWxsaXBzaXMtaDpiZWZvcmV7Y29udGVudDoiXGYxNDEifS5mYS1lbGxpcHNpcy12OmJlZm9yZXtjb250ZW50OiJcZjE0MiJ9LmZhLXJzcy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQzIn0uZmEtcGxheS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTQ0In0uZmEtdGlja2V0OmJlZm9yZXtjb250ZW50OiJcZjE0NSJ9LmZhLW1pbnVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNDYifS5mYS1taW51cy1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYxNDcifS5mYS1sZXZlbC11cDpiZWZvcmV7Y29udGVudDoiXGYxNDgifS5mYS1sZXZlbC1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE0OSJ9LmZhLWNoZWNrLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGEifS5mYS1wZW5jaWwtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0YiJ9LmZhLWV4dGVybmFsLWxpbmstc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjE0YyJ9LmZhLXNoYXJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNGQifS5mYS1jb21wYXNzOmJlZm9yZXtjb250ZW50OiJcZjE0ZSJ9LmZhLXRvZ2dsZS1kb3duOmJlZm9yZSwuZmEtY2FyZXQtc3F1YXJlLW8tZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNTAifS5mYS10b2dnbGUtdXA6YmVmb3JlLC5mYS1jYXJldC1zcXVhcmUtby11cDpiZWZvcmV7Y29udGVudDoiXGYxNTEifS5mYS10b2dnbGUtcmlnaHQ6YmVmb3JlLC5mYS1jYXJldC1zcXVhcmUtby1yaWdodDpiZWZvcmV7Y29udGVudDoiXGYxNTIifS5mYS1ldXJvOmJlZm9yZSwuZmEtZXVyOmJlZm9yZXtjb250ZW50OiJcZjE1MyJ9LmZhLWdicDpiZWZvcmV7Y29udGVudDoiXGYxNTQifS5mYS1kb2xsYXI6YmVmb3JlLC5mYS11c2Q6YmVmb3Jle2NvbnRlbnQ6IlxmMTU1In0uZmEtcnVwZWU6YmVmb3JlLC5mYS1pbnI6YmVmb3Jle2NvbnRlbnQ6IlxmMTU2In0uZmEtY255OmJlZm9yZSwuZmEtcm1iOmJlZm9yZSwuZmEteWVuOmJlZm9yZSwuZmEtanB5OmJlZm9yZXtjb250ZW50OiJcZjE1NyJ9LmZhLXJ1YmxlOmJlZm9yZSwuZmEtcm91YmxlOmJlZm9yZSwuZmEtcnViOmJlZm9yZXtjb250ZW50OiJcZjE1OCJ9LmZhLXdvbjpiZWZvcmUsLmZhLWtydzpiZWZvcmV7Y29udGVudDoiXGYxNTkifS5mYS1iaXRjb2luOmJlZm9yZSwuZmEtYnRjOmJlZm9yZXtjb250ZW50OiJcZjE1YSJ9LmZhLWZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTViIn0uZmEtZmlsZS10ZXh0OmJlZm9yZXtjb250ZW50OiJcZjE1YyJ9LmZhLXNvcnQtYWxwaGEtYXNjOmJlZm9yZXtjb250ZW50OiJcZjE1ZCJ9LmZhLXNvcnQtYWxwaGEtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYxNWUifS5mYS1zb3J0LWFtb3VudC1hc2M6YmVmb3Jle2NvbnRlbnQ6IlxmMTYwIn0uZmEtc29ydC1hbW91bnQtZGVzYzpiZWZvcmV7Y29udGVudDoiXGYxNjEifS5mYS1zb3J0LW51bWVyaWMtYXNjOmJlZm9yZXtjb250ZW50OiJcZjE2MiJ9LmZhLXNvcnQtbnVtZXJpYy1kZXNjOmJlZm9yZXtjb250ZW50OiJcZjE2MyJ9LmZhLXRodW1icy11cDpiZWZvcmV7Y29udGVudDoiXGYxNjQifS5mYS10aHVtYnMtZG93bjpiZWZvcmV7Y29udGVudDoiXGYxNjUifS5mYS15b3V0dWJlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxNjYifS5mYS15b3V0dWJlOmJlZm9yZXtjb250ZW50OiJcZjE2NyJ9LmZhLXhpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMTY4In0uZmEteGluZy1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTY5In0uZmEteW91dHViZS1wbGF5OmJlZm9yZXtjb250ZW50OiJcZjE2YSJ9LmZhLWRyb3Bib3g6YmVmb3Jle2NvbnRlbnQ6IlxmMTZiIn0uZmEtc3RhY2stb3ZlcmZsb3c6YmVmb3Jle2NvbnRlbnQ6IlxmMTZjIn0uZmEtaW5zdGFncmFtOmJlZm9yZXtjb250ZW50OiJcZjE2ZCJ9LmZhLWZsaWNrcjpiZWZvcmV7Y29udGVudDoiXGYxNmUifS5mYS1hZG46YmVmb3Jle2NvbnRlbnQ6IlxmMTcwIn0uZmEtYml0YnVja2V0OmJlZm9yZXtjb250ZW50OiJcZjE3MSJ9LmZhLWJpdGJ1Y2tldC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTcyIn0uZmEtdHVtYmxyOmJlZm9yZXtjb250ZW50OiJcZjE3MyJ9LmZhLXR1bWJsci1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTc0In0uZmEtbG9uZy1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjE3NSJ9LmZhLWxvbmctYXJyb3ctdXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTc2In0uZmEtbG9uZy1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE3NyJ9LmZhLWxvbmctYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTc4In0uZmEtYXBwbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMTc5In0uZmEtd2luZG93czpiZWZvcmV7Y29udGVudDoiXGYxN2EifS5mYS1hbmRyb2lkOmJlZm9yZXtjb250ZW50OiJcZjE3YiJ9LmZhLWxpbnV4OmJlZm9yZXtjb250ZW50OiJcZjE3YyJ9LmZhLWRyaWJiYmxlOmJlZm9yZXtjb250ZW50OiJcZjE3ZCJ9LmZhLXNreXBlOmJlZm9yZXtjb250ZW50OiJcZjE3ZSJ9LmZhLWZvdXJzcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMTgwIn0uZmEtdHJlbGxvOmJlZm9yZXtjb250ZW50OiJcZjE4MSJ9LmZhLWZlbWFsZTpiZWZvcmV7Y29udGVudDoiXGYxODIifS5mYS1tYWxlOmJlZm9yZXtjb250ZW50OiJcZjE4MyJ9LmZhLWdpdHRpcDpiZWZvcmUsLmZhLWdyYXRpcGF5OmJlZm9yZXtjb250ZW50OiJcZjE4NCJ9LmZhLXN1bi1vOmJlZm9yZXtjb250ZW50OiJcZjE4NSJ9LmZhLW1vb24tbzpiZWZvcmV7Y29udGVudDoiXGYxODYifS5mYS1hcmNoaXZlOmJlZm9yZXtjb250ZW50OiJcZjE4NyJ9LmZhLWJ1ZzpiZWZvcmV7Y29udGVudDoiXGYxODgifS5mYS12azpiZWZvcmV7Y29udGVudDoiXGYxODkifS5mYS13ZWlibzpiZWZvcmV7Y29udGVudDoiXGYxOGEifS5mYS1yZW5yZW46YmVmb3Jle2NvbnRlbnQ6IlxmMThiIn0uZmEtcGFnZWxpbmVzOmJlZm9yZXtjb250ZW50OiJcZjE4YyJ9LmZhLXN0YWNrLWV4Y2hhbmdlOmJlZm9yZXtjb250ZW50OiJcZjE4ZCJ9LmZhLWFycm93LWNpcmNsZS1vLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjE4ZSJ9LmZhLWFycm93LWNpcmNsZS1vLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMTkwIn0uZmEtdG9nZ2xlLWxlZnQ6YmVmb3JlLC5mYS1jYXJldC1zcXVhcmUtby1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZjE5MSJ9LmZhLWRvdC1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYxOTIifS5mYS13aGVlbGNoYWlyOmJlZm9yZXtjb250ZW50OiJcZjE5MyJ9LmZhLXZpbWVvLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxOTQifS5mYS10dXJraXNoLWxpcmE6YmVmb3JlLC5mYS10cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMTk1In0uZmEtcGx1cy1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDoiXGYxOTYifS5mYS1zcGFjZS1zaHV0dGxlOmJlZm9yZXtjb250ZW50OiJcZjE5NyJ9LmZhLXNsYWNrOmJlZm9yZXtjb250ZW50OiJcZjE5OCJ9LmZhLWVudmVsb3BlLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxOTkifS5mYS13b3JkcHJlc3M6YmVmb3Jle2NvbnRlbnQ6IlxmMTlhIn0uZmEtb3BlbmlkOmJlZm9yZXtjb250ZW50OiJcZjE5YiJ9LmZhLWluc3RpdHV0aW9uOmJlZm9yZSwuZmEtYmFuazpiZWZvcmUsLmZhLXVuaXZlcnNpdHk6YmVmb3Jle2NvbnRlbnQ6IlxmMTljIn0uZmEtbW9ydGFyLWJvYXJkOmJlZm9yZSwuZmEtZ3JhZHVhdGlvbi1jYXA6YmVmb3Jle2NvbnRlbnQ6IlxmMTlkIn0uZmEteWFob286YmVmb3Jle2NvbnRlbnQ6IlxmMTllIn0uZmEtZ29vZ2xlOmJlZm9yZXtjb250ZW50OiJcZjFhMCJ9LmZhLXJlZGRpdDpiZWZvcmV7Y29udGVudDoiXGYxYTEifS5mYS1yZWRkaXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFhMiJ9LmZhLXN0dW1ibGV1cG9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYxYTMifS5mYS1zdHVtYmxldXBvbjpiZWZvcmV7Y29udGVudDoiXGYxYTQifS5mYS1kZWxpY2lvdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMWE1In0uZmEtZGlnZzpiZWZvcmV7Y29udGVudDoiXGYxYTYifS5mYS1waWVkLXBpcGVyLXBwOmJlZm9yZXtjb250ZW50OiJcZjFhNyJ9LmZhLXBpZWQtcGlwZXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjFhOCJ9LmZhLWRydXBhbDpiZWZvcmV7Y29udGVudDoiXGYxYTkifS5mYS1qb29tbGE6YmVmb3Jle2NvbnRlbnQ6IlxmMWFhIn0uZmEtbGFuZ3VhZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWFiIn0uZmEtZmF4OmJlZm9yZXtjb250ZW50OiJcZjFhYyJ9LmZhLWJ1aWxkaW5nOmJlZm9yZXtjb250ZW50OiJcZjFhZCJ9LmZhLWNoaWxkOmJlZm9yZXtjb250ZW50OiJcZjFhZSJ9LmZhLXBhdzpiZWZvcmV7Y29udGVudDoiXGYxYjAifS5mYS1zcG9vbjpiZWZvcmV7Y29udGVudDoiXGYxYjEifS5mYS1jdWJlOmJlZm9yZXtjb250ZW50OiJcZjFiMiJ9LmZhLWN1YmVzOmJlZm9yZXtjb250ZW50OiJcZjFiMyJ9LmZhLWJlaGFuY2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWI0In0uZmEtYmVoYW5jZS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWI1In0uZmEtc3RlYW06YmVmb3Jle2NvbnRlbnQ6IlxmMWI2In0uZmEtc3RlYW0tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjFiNyJ9LmZhLXJlY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWI4In0uZmEtYXV0b21vYmlsZTpiZWZvcmUsLmZhLWNhcjpiZWZvcmV7Y29udGVudDoiXGYxYjkifS5mYS1jYWI6YmVmb3JlLC5mYS10YXhpOmJlZm9yZXtjb250ZW50OiJcZjFiYSJ9LmZhLXRyZWU6YmVmb3Jle2NvbnRlbnQ6IlxmMWJiIn0uZmEtc3BvdGlmeTpiZWZvcmV7Y29udGVudDoiXGYxYmMifS5mYS1kZXZpYW50YXJ0OmJlZm9yZXtjb250ZW50OiJcZjFiZCJ9LmZhLXNvdW5kY2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWJlIn0uZmEtZGF0YWJhc2U6YmVmb3Jle2NvbnRlbnQ6IlxmMWMwIn0uZmEtZmlsZS1wZGYtbzpiZWZvcmV7Y29udGVudDoiXGYxYzEifS5mYS1maWxlLXdvcmQtbzpiZWZvcmV7Y29udGVudDoiXGYxYzIifS5mYS1maWxlLWV4Y2VsLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWMzIn0uZmEtZmlsZS1wb3dlcnBvaW50LW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM0In0uZmEtZmlsZS1waG90by1vOmJlZm9yZSwuZmEtZmlsZS1waWN0dXJlLW86YmVmb3JlLC5mYS1maWxlLWltYWdlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM1In0uZmEtZmlsZS16aXAtbzpiZWZvcmUsLmZhLWZpbGUtYXJjaGl2ZS1vOmJlZm9yZXtjb250ZW50OiJcZjFjNiJ9LmZhLWZpbGUtc291bmQtbzpiZWZvcmUsLmZhLWZpbGUtYXVkaW8tbzpiZWZvcmV7Y29udGVudDoiXGYxYzcifS5mYS1maWxlLW1vdmllLW86YmVmb3JlLC5mYS1maWxlLXZpZGVvLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM4In0uZmEtZmlsZS1jb2RlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWM5In0uZmEtdmluZTpiZWZvcmV7Y29udGVudDoiXGYxY2EifS5mYS1jb2RlcGVuOmJlZm9yZXtjb250ZW50OiJcZjFjYiJ9LmZhLWpzZmlkZGxlOmJlZm9yZXtjb250ZW50OiJcZjFjYyJ9LmZhLWxpZmUtYm91eTpiZWZvcmUsLmZhLWxpZmUtYnVveTpiZWZvcmUsLmZhLWxpZmUtc2F2ZXI6YmVmb3JlLC5mYS1zdXBwb3J0OmJlZm9yZSwuZmEtbGlmZS1yaW5nOmJlZm9yZXtjb250ZW50OiJcZjFjZCJ9LmZhLWNpcmNsZS1vLW5vdGNoOmJlZm9yZXtjb250ZW50OiJcZjFjZSJ9LmZhLXJhOmJlZm9yZSwuZmEtcmVzaXN0YW5jZTpiZWZvcmUsLmZhLXJlYmVsOmJlZm9yZXtjb250ZW50OiJcZjFkMCJ9LmZhLWdlOmJlZm9yZSwuZmEtZW1waXJlOmJlZm9yZXtjb250ZW50OiJcZjFkMSJ9LmZhLWdpdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWQyIn0uZmEtZ2l0OmJlZm9yZXtjb250ZW50OiJcZjFkMyJ9LmZhLXktY29tYmluYXRvci1zcXVhcmU6YmVmb3JlLC5mYS15Yy1zcXVhcmU6YmVmb3JlLC5mYS1oYWNrZXItbmV3czpiZWZvcmV7Y29udGVudDoiXGYxZDQifS5mYS10ZW5jZW50LXdlaWJvOmJlZm9yZXtjb250ZW50OiJcZjFkNSJ9LmZhLXFxOmJlZm9yZXtjb250ZW50OiJcZjFkNiJ9LmZhLXdlY2hhdDpiZWZvcmUsLmZhLXdlaXhpbjpiZWZvcmV7Y29udGVudDoiXGYxZDcifS5mYS1zZW5kOmJlZm9yZSwuZmEtcGFwZXItcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWQ4In0uZmEtc2VuZC1vOmJlZm9yZSwuZmEtcGFwZXItcGxhbmUtbzpiZWZvcmV7Y29udGVudDoiXGYxZDkifS5mYS1oaXN0b3J5OmJlZm9yZXtjb250ZW50OiJcZjFkYSJ9LmZhLWNpcmNsZS10aGluOmJlZm9yZXtjb250ZW50OiJcZjFkYiJ9LmZhLWhlYWRlcjpiZWZvcmV7Y29udGVudDoiXGYxZGMifS5mYS1wYXJhZ3JhcGg6YmVmb3Jle2NvbnRlbnQ6IlxmMWRkIn0uZmEtc2xpZGVyczpiZWZvcmV7Y29udGVudDoiXGYxZGUifS5mYS1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMWUwIn0uZmEtc2hhcmUtYWx0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYxZTEifS5mYS1ib21iOmJlZm9yZXtjb250ZW50OiJcZjFlMiJ9LmZhLXNvY2Nlci1iYWxsLW86YmVmb3JlLC5mYS1mdXRib2wtbzpiZWZvcmV7Y29udGVudDoiXGYxZTMifS5mYS10dHk6YmVmb3Jle2NvbnRlbnQ6IlxmMWU0In0uZmEtYmlub2N1bGFyczpiZWZvcmV7Y29udGVudDoiXGYxZTUifS5mYS1wbHVnOmJlZm9yZXtjb250ZW50OiJcZjFlNiJ9LmZhLXNsaWRlc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxmMWU3In0uZmEtdHdpdGNoOmJlZm9yZXtjb250ZW50OiJcZjFlOCJ9LmZhLXllbHA6YmVmb3Jle2NvbnRlbnQ6IlxmMWU5In0uZmEtbmV3c3BhcGVyLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWVhIn0uZmEtd2lmaTpiZWZvcmV7Y29udGVudDoiXGYxZWIifS5mYS1jYWxjdWxhdG9yOmJlZm9yZXtjb250ZW50OiJcZjFlYyJ9LmZhLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZWQifS5mYS1nb29nbGUtd2FsbGV0OmJlZm9yZXtjb250ZW50OiJcZjFlZSJ9LmZhLWNjLXZpc2E6YmVmb3Jle2NvbnRlbnQ6IlxmMWYwIn0uZmEtY2MtbWFzdGVyY2FyZDpiZWZvcmV7Y29udGVudDoiXGYxZjEifS5mYS1jYy1kaXNjb3ZlcjpiZWZvcmV7Y29udGVudDoiXGYxZjIifS5mYS1jYy1hbWV4OmJlZm9yZXtjb250ZW50OiJcZjFmMyJ9LmZhLWNjLXBheXBhbDpiZWZvcmV7Y29udGVudDoiXGYxZjQifS5mYS1jYy1zdHJpcGU6YmVmb3Jle2NvbnRlbnQ6IlxmMWY1In0uZmEtYmVsbC1zbGFzaDpiZWZvcmV7Y29udGVudDoiXGYxZjYifS5mYS1iZWxsLXNsYXNoLW86YmVmb3Jle2NvbnRlbnQ6IlxmMWY3In0uZmEtdHJhc2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWY4In0uZmEtY29weXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZjFmOSJ9LmZhLWF0OmJlZm9yZXtjb250ZW50OiJcZjFmYSJ9LmZhLWV5ZWRyb3BwZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMWZiIn0uZmEtcGFpbnQtYnJ1c2g6YmVmb3Jle2NvbnRlbnQ6IlxmMWZjIn0uZmEtYmlydGhkYXktY2FrZTpiZWZvcmV7Y29udGVudDoiXGYxZmQifS5mYS1hcmVhLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZjFmZSJ9LmZhLXBpZS1jaGFydDpiZWZvcmV7Y29udGVudDoiXGYyMDAifS5mYS1saW5lLWNoYXJ0OmJlZm9yZXtjb250ZW50OiJcZjIwMSJ9LmZhLWxhc3RmbTpiZWZvcmV7Y29udGVudDoiXGYyMDIifS5mYS1sYXN0Zm0tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjIwMyJ9LmZhLXRvZ2dsZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxmMjA0In0uZmEtdG9nZ2xlLW9uOmJlZm9yZXtjb250ZW50OiJcZjIwNSJ9LmZhLWJpY3ljbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjA2In0uZmEtYnVzOmJlZm9yZXtjb250ZW50OiJcZjIwNyJ9LmZhLWlveGhvc3Q6YmVmb3Jle2NvbnRlbnQ6IlxmMjA4In0uZmEtYW5nZWxsaXN0OmJlZm9yZXtjb250ZW50OiJcZjIwOSJ9LmZhLWNjOmJlZm9yZXtjb250ZW50OiJcZjIwYSJ9LmZhLXNoZWtlbDpiZWZvcmUsLmZhLXNoZXFlbDpiZWZvcmUsLmZhLWlsczpiZWZvcmV7Y29udGVudDoiXGYyMGIifS5mYS1tZWFucGF0aDpiZWZvcmV7Y29udGVudDoiXGYyMGMifS5mYS1idXlzZWxsYWRzOmJlZm9yZXtjb250ZW50OiJcZjIwZCJ9LmZhLWNvbm5lY3RkZXZlbG9wOmJlZm9yZXtjb250ZW50OiJcZjIwZSJ9LmZhLWRhc2hjdWJlOmJlZm9yZXtjb250ZW50OiJcZjIxMCJ9LmZhLWZvcnVtYmVlOmJlZm9yZXtjb250ZW50OiJcZjIxMSJ9LmZhLWxlYW5wdWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjEyIn0uZmEtc2VsbHN5OmJlZm9yZXtjb250ZW50OiJcZjIxMyJ9LmZhLXNoaXJ0c2luYnVsazpiZWZvcmV7Y29udGVudDoiXGYyMTQifS5mYS1zaW1wbHlidWlsdDpiZWZvcmV7Y29udGVudDoiXGYyMTUifS5mYS1za3lhdGxhczpiZWZvcmV7Y29udGVudDoiXGYyMTYifS5mYS1jYXJ0LXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjE3In0uZmEtY2FydC1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZjIxOCJ9LmZhLWRpYW1vbmQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjE5In0uZmEtc2hpcDpiZWZvcmV7Y29udGVudDoiXGYyMWEifS5mYS11c2VyLXNlY3JldDpiZWZvcmV7Y29udGVudDoiXGYyMWIifS5mYS1tb3RvcmN5Y2xlOmJlZm9yZXtjb250ZW50OiJcZjIxYyJ9LmZhLXN0cmVldC12aWV3OmJlZm9yZXtjb250ZW50OiJcZjIxZCJ9LmZhLWhlYXJ0YmVhdDpiZWZvcmV7Y29udGVudDoiXGYyMWUifS5mYS12ZW51czpiZWZvcmV7Y29udGVudDoiXGYyMjEifS5mYS1tYXJzOmJlZm9yZXtjb250ZW50OiJcZjIyMiJ9LmZhLW1lcmN1cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMjIzIn0uZmEtaW50ZXJzZXg6YmVmb3JlLC5mYS10cmFuc2dlbmRlcjpiZWZvcmV7Y29udGVudDoiXGYyMjQifS5mYS10cmFuc2dlbmRlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjI1In0uZmEtdmVudXMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNiJ9LmZhLW1hcnMtZG91YmxlOmJlZm9yZXtjb250ZW50OiJcZjIyNyJ9LmZhLXZlbnVzLW1hcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjI4In0uZmEtbWFycy1zdHJva2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjI5In0uZmEtbWFycy1zdHJva2UtdjpiZWZvcmV7Y29udGVudDoiXGYyMmEifS5mYS1tYXJzLXN0cm9rZS1oOmJlZm9yZXtjb250ZW50OiJcZjIyYiJ9LmZhLW5ldXRlcjpiZWZvcmV7Y29udGVudDoiXGYyMmMifS5mYS1nZW5kZXJsZXNzOmJlZm9yZXtjb250ZW50OiJcZjIyZCJ9LmZhLWZhY2Vib29rLW9mZmljaWFsOmJlZm9yZXtjb250ZW50OiJcZjIzMCJ9LmZhLXBpbnRlcmVzdC1wOmJlZm9yZXtjb250ZW50OiJcZjIzMSJ9LmZhLXdoYXRzYXBwOmJlZm9yZXtjb250ZW50OiJcZjIzMiJ9LmZhLXNlcnZlcjpiZWZvcmV7Y29udGVudDoiXGYyMzMifS5mYS11c2VyLXBsdXM6YmVmb3Jle2NvbnRlbnQ6IlxmMjM0In0uZmEtdXNlci10aW1lczpiZWZvcmV7Y29udGVudDoiXGYyMzUifS5mYS1ob3RlbDpiZWZvcmUsLmZhLWJlZDpiZWZvcmV7Y29udGVudDoiXGYyMzYifS5mYS12aWFjb2luOmJlZm9yZXtjb250ZW50OiJcZjIzNyJ9LmZhLXRyYWluOmJlZm9yZXtjb250ZW50OiJcZjIzOCJ9LmZhLXN1YndheTpiZWZvcmV7Y29udGVudDoiXGYyMzkifS5mYS1tZWRpdW06YmVmb3Jle2NvbnRlbnQ6IlxmMjNhIn0uZmEteWM6YmVmb3JlLC5mYS15LWNvbWJpbmF0b3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjNiIn0uZmEtb3B0aW4tbW9uc3RlcjpiZWZvcmV7Y29udGVudDoiXGYyM2MifS5mYS1vcGVuY2FydDpiZWZvcmV7Y29udGVudDoiXGYyM2QifS5mYS1leHBlZGl0ZWRzc2w6YmVmb3Jle2NvbnRlbnQ6IlxmMjNlIn0uZmEtYmF0dGVyeS00OmJlZm9yZSwuZmEtYmF0dGVyeTpiZWZvcmUsLmZhLWJhdHRlcnktZnVsbDpiZWZvcmV7Y29udGVudDoiXGYyNDAifS5mYS1iYXR0ZXJ5LTM6YmVmb3JlLC5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OiJcZjI0MSJ9LmZhLWJhdHRlcnktMjpiZWZvcmUsLmZhLWJhdHRlcnktaGFsZjpiZWZvcmV7Y29udGVudDoiXGYyNDIifS5mYS1iYXR0ZXJ5LTE6YmVmb3JlLC5mYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMjQzIn0uZmEtYmF0dGVyeS0wOmJlZm9yZSwuZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyNDQifS5mYS1tb3VzZS1wb2ludGVyOmJlZm9yZXtjb250ZW50OiJcZjI0NSJ9LmZhLWktY3Vyc29yOmJlZm9yZXtjb250ZW50OiJcZjI0NiJ9LmZhLW9iamVjdC1ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDcifS5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmV7Y29udGVudDoiXGYyNDgifS5mYS1zdGlja3ktbm90ZTpiZWZvcmV7Y29udGVudDoiXGYyNDkifS5mYS1zdGlja3ktbm90ZS1vOmJlZm9yZXtjb250ZW50OiJcZjI0YSJ9LmZhLWNjLWpjYjpiZWZvcmV7Y29udGVudDoiXGYyNGIifS5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmV7Y29udGVudDoiXGYyNGMifS5mYS1jbG9uZTpiZWZvcmV7Y29udGVudDoiXGYyNGQifS5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZXtjb250ZW50OiJcZjI0ZSJ9LmZhLWhvdXJnbGFzcy1vOmJlZm9yZXtjb250ZW50OiJcZjI1MCJ9LmZhLWhvdXJnbGFzcy0xOmJlZm9yZSwuZmEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZXtjb250ZW50OiJcZjI1MSJ9LmZhLWhvdXJnbGFzcy0yOmJlZm9yZSwuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3Jle2NvbnRlbnQ6IlxmMjUyIn0uZmEtaG91cmdsYXNzLTM6YmVmb3JlLC5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZXtjb250ZW50OiJcZjI1MyJ9LmZhLWhvdXJnbGFzczpiZWZvcmV7Y29udGVudDoiXGYyNTQifS5mYS1oYW5kLWdyYWItbzpiZWZvcmUsLmZhLWhhbmQtcm9jay1vOmJlZm9yZXtjb250ZW50OiJcZjI1NSJ9LmZhLWhhbmQtc3RvcC1vOmJlZm9yZSwuZmEtaGFuZC1wYXBlci1vOmJlZm9yZXtjb250ZW50OiJcZjI1NiJ9LmZhLWhhbmQtc2Npc3NvcnMtbzpiZWZvcmV7Y29udGVudDoiXGYyNTcifS5mYS1oYW5kLWxpemFyZC1vOmJlZm9yZXtjb250ZW50OiJcZjI1OCJ9LmZhLWhhbmQtc3BvY2stbzpiZWZvcmV7Y29udGVudDoiXGYyNTkifS5mYS1oYW5kLXBvaW50ZXItbzpiZWZvcmV7Y29udGVudDoiXGYyNWEifS5mYS1oYW5kLXBlYWNlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjViIn0uZmEtdHJhZGVtYXJrOmJlZm9yZXtjb250ZW50OiJcZjI1YyJ9LmZhLXJlZ2lzdGVyZWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjVkIn0uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmV7Y29udGVudDoiXGYyNWUifS5mYS1nZzpiZWZvcmV7Y29udGVudDoiXGYyNjAifS5mYS1nZy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMjYxIn0uZmEtdHJpcGFkdmlzb3I6YmVmb3Jle2NvbnRlbnQ6IlxmMjYyIn0uZmEtb2Rub2tsYXNzbmlraTpiZWZvcmV7Y29udGVudDoiXGYyNjMifS5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyNjQifS5mYS1nZXQtcG9ja2V0OmJlZm9yZXtjb250ZW50OiJcZjI2NSJ9LmZhLXdpa2lwZWRpYS13OmJlZm9yZXtjb250ZW50OiJcZjI2NiJ9LmZhLXNhZmFyaTpiZWZvcmV7Y29udGVudDoiXGYyNjcifS5mYS1jaHJvbWU6YmVmb3Jle2NvbnRlbnQ6IlxmMjY4In0uZmEtZmlyZWZveDpiZWZvcmV7Y29udGVudDoiXGYyNjkifS5mYS1vcGVyYTpiZWZvcmV7Y29udGVudDoiXGYyNmEifS5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmV7Y29udGVudDoiXGYyNmIifS5mYS10djpiZWZvcmUsLmZhLXRlbGV2aXNpb246YmVmb3Jle2NvbnRlbnQ6IlxmMjZjIn0uZmEtY29udGFvOmJlZm9yZXtjb250ZW50OiJcZjI2ZCJ9LmZhLTUwMHB4OmJlZm9yZXtjb250ZW50OiJcZjI2ZSJ9LmZhLWFtYXpvbjpiZWZvcmV7Y29udGVudDoiXGYyNzAifS5mYS1jYWxlbmRhci1wbHVzLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjcxIn0uZmEtY2FsZW5kYXItbWludXMtbzpiZWZvcmV7Y29udGVudDoiXGYyNzIifS5mYS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZXtjb250ZW50OiJcZjI3MyJ9LmZhLWNhbGVuZGFyLWNoZWNrLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjc0In0uZmEtaW5kdXN0cnk6YmVmb3Jle2NvbnRlbnQ6IlxmMjc1In0uZmEtbWFwLXBpbjpiZWZvcmV7Y29udGVudDoiXGYyNzYifS5mYS1tYXAtc2lnbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjc3In0uZmEtbWFwLW86YmVmb3Jle2NvbnRlbnQ6IlxmMjc4In0uZmEtbWFwOmJlZm9yZXtjb250ZW50OiJcZjI3OSJ9LmZhLWNvbW1lbnRpbmc6YmVmb3Jle2NvbnRlbnQ6IlxmMjdhIn0uZmEtY29tbWVudGluZy1vOmJlZm9yZXtjb250ZW50OiJcZjI3YiJ9LmZhLWhvdXp6OmJlZm9yZXtjb250ZW50OiJcZjI3YyJ9LmZhLXZpbWVvOmJlZm9yZXtjb250ZW50OiJcZjI3ZCJ9LmZhLWJsYWNrLXRpZTpiZWZvcmV7Y29udGVudDoiXGYyN2UifS5mYS1mb250aWNvbnM6YmVmb3Jle2NvbnRlbnQ6IlxmMjgwIn0uZmEtcmVkZGl0LWFsaWVuOmJlZm9yZXtjb250ZW50OiJcZjI4MSJ9LmZhLWVkZ2U6YmVmb3Jle2NvbnRlbnQ6IlxmMjgyIn0uZmEtY3JlZGl0LWNhcmQtYWx0OmJlZm9yZXtjb250ZW50OiJcZjI4MyJ9LmZhLWNvZGllcGllOmJlZm9yZXtjb250ZW50OiJcZjI4NCJ9LmZhLW1vZHg6YmVmb3Jle2NvbnRlbnQ6IlxmMjg1In0uZmEtZm9ydC1hd2Vzb21lOmJlZm9yZXtjb250ZW50OiJcZjI4NiJ9LmZhLXVzYjpiZWZvcmV7Y29udGVudDoiXGYyODcifS5mYS1wcm9kdWN0LWh1bnQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg4In0uZmEtbWl4Y2xvdWQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjg5In0uZmEtc2NyaWJkOmJlZm9yZXtjb250ZW50OiJcZjI4YSJ9LmZhLXBhdXNlLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyOGIifS5mYS1wYXVzZS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDoiXGYyOGMifS5mYS1zdG9wLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyOGQifS5mYS1zdG9wLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjI4ZSJ9LmZhLXNob3BwaW5nLWJhZzpiZWZvcmV7Y29udGVudDoiXGYyOTAifS5mYS1zaG9wcGluZy1iYXNrZXQ6YmVmb3Jle2NvbnRlbnQ6IlxmMjkxIn0uZmEtaGFzaHRhZzpiZWZvcmV7Y29udGVudDoiXGYyOTIifS5mYS1ibHVldG9vdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMjkzIn0uZmEtYmx1ZXRvb3RoLWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk0In0uZmEtcGVyY2VudDpiZWZvcmV7Y29udGVudDoiXGYyOTUifS5mYS1naXRsYWI6YmVmb3Jle2NvbnRlbnQ6IlxmMjk2In0uZmEtd3BiZWdpbm5lcjpiZWZvcmV7Y29udGVudDoiXGYyOTcifS5mYS13cGZvcm1zOmJlZm9yZXtjb250ZW50OiJcZjI5OCJ9LmZhLWVudmlyYTpiZWZvcmV7Y29udGVudDoiXGYyOTkifS5mYS11bml2ZXJzYWwtYWNjZXNzOmJlZm9yZXtjb250ZW50OiJcZjI5YSJ9LmZhLXdoZWVsY2hhaXItYWx0OmJlZm9yZXtjb250ZW50OiJcZjI5YiJ9LmZhLXF1ZXN0aW9uLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjI5YyJ9LmZhLWJsaW5kOmJlZm9yZXtjb250ZW50OiJcZjI5ZCJ9LmZhLWF1ZGlvLWRlc2NyaXB0aW9uOmJlZm9yZXtjb250ZW50OiJcZjI5ZSJ9LmZhLXZvbHVtZS1jb250cm9sLXBob25lOmJlZm9yZXtjb250ZW50OiJcZjJhMCJ9LmZhLWJyYWlsbGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmExIn0uZmEtYXNzaXN0aXZlLWxpc3RlbmluZy1zeXN0ZW1zOmJlZm9yZXtjb250ZW50OiJcZjJhMiJ9LmZhLWFzbC1pbnRlcnByZXRpbmc6YmVmb3JlLC5mYS1hbWVyaWNhbi1zaWduLWxhbmd1YWdlLWludGVycHJldGluZzpiZWZvcmV7Y29udGVudDoiXGYyYTMifS5mYS1kZWFmbmVzczpiZWZvcmUsLmZhLWhhcmQtb2YtaGVhcmluZzpiZWZvcmUsLmZhLWRlYWY6YmVmb3Jle2NvbnRlbnQ6IlxmMmE0In0uZmEtZ2xpZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmE1In0uZmEtZ2xpZGUtZzpiZWZvcmV7Y29udGVudDoiXGYyYTYifS5mYS1zaWduaW5nOmJlZm9yZSwuZmEtc2lnbi1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDoiXGYyYTcifS5mYS1sb3ctdmlzaW9uOmJlZm9yZXtjb250ZW50OiJcZjJhOCJ9LmZhLXZpYWRlbzpiZWZvcmV7Y29udGVudDoiXGYyYTkifS5mYS12aWFkZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OiJcZjJhYSJ9LmZhLXNuYXBjaGF0OmJlZm9yZXtjb250ZW50OiJcZjJhYiJ9LmZhLXNuYXBjaGF0LWdob3N0OmJlZm9yZXtjb250ZW50OiJcZjJhYyJ9LmZhLXNuYXBjaGF0LXNxdWFyZTpiZWZvcmV7Y29udGVudDoiXGYyYWQifS5mYS1waWVkLXBpcGVyOmJlZm9yZXtjb250ZW50OiJcZjJhZSJ9LmZhLWZpcnN0LW9yZGVyOmJlZm9yZXtjb250ZW50OiJcZjJiMCJ9LmZhLXlvYXN0OmJlZm9yZXtjb250ZW50OiJcZjJiMSJ9LmZhLXRoZW1laXNsZTpiZWZvcmV7Y29udGVudDoiXGYyYjIifS5mYS1nb29nbGUtcGx1cy1jaXJjbGU6YmVmb3JlLC5mYS1nb29nbGUtcGx1cy1vZmZpY2lhbDpiZWZvcmV7Y29udGVudDoiXGYyYjMifS5mYS1mYTpiZWZvcmUsLmZhLWZvbnQtYXdlc29tZTpiZWZvcmV7Y29udGVudDoiXGYyYjQifS5mYS1oYW5kc2hha2UtbzpiZWZvcmV7Y29udGVudDoiXGYyYjUifS5mYS1lbnZlbG9wZS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZjJiNiJ9LmZhLWVudmVsb3BlLW9wZW4tbzpiZWZvcmV7Y29udGVudDoiXGYyYjcifS5mYS1saW5vZGU6YmVmb3Jle2NvbnRlbnQ6IlxmMmI4In0uZmEtYWRkcmVzcy1ib29rOmJlZm9yZXtjb250ZW50OiJcZjJiOSJ9LmZhLWFkZHJlc3MtYm9vay1vOmJlZm9yZXtjb250ZW50OiJcZjJiYSJ9LmZhLXZjYXJkOmJlZm9yZSwuZmEtYWRkcmVzcy1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjJiYiJ9LmZhLXZjYXJkLW86YmVmb3JlLC5mYS1hZGRyZXNzLWNhcmQtbzpiZWZvcmV7Y29udGVudDoiXGYyYmMifS5mYS11c2VyLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGYyYmQifS5mYS11c2VyLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OiJcZjJiZSJ9LmZhLXVzZXItbzpiZWZvcmV7Y29udGVudDoiXGYyYzAifS5mYS1pZC1iYWRnZTpiZWZvcmV7Y29udGVudDoiXGYyYzEifS5mYS1kcml2ZXJzLWxpY2Vuc2U6YmVmb3JlLC5mYS1pZC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZjJjMiJ9LmZhLWRyaXZlcnMtbGljZW5zZS1vOmJlZm9yZSwuZmEtaWQtY2FyZC1vOmJlZm9yZXtjb250ZW50OiJcZjJjMyJ9LmZhLXF1b3JhOmJlZm9yZXtjb250ZW50OiJcZjJjNCJ9LmZhLWZyZWUtY29kZS1jYW1wOmJlZm9yZXtjb250ZW50OiJcZjJjNSJ9LmZhLXRlbGVncmFtOmJlZm9yZXtjb250ZW50OiJcZjJjNiJ9LmZhLXRoZXJtb21ldGVyLTQ6YmVmb3JlLC5mYS10aGVybW9tZXRlcjpiZWZvcmUsLmZhLXRoZXJtb21ldGVyLWZ1bGw6YmVmb3Jle2NvbnRlbnQ6IlxmMmM3In0uZmEtdGhlcm1vbWV0ZXItMzpiZWZvcmUsLmZhLXRoZXJtb21ldGVyLXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OiJcZjJjOCJ9LmZhLXRoZXJtb21ldGVyLTI6YmVmb3JlLC5mYS10aGVybW9tZXRlci1oYWxmOmJlZm9yZXtjb250ZW50OiJcZjJjOSJ9LmZhLXRoZXJtb21ldGVyLTE6YmVmb3JlLC5mYS10aGVybW9tZXRlci1xdWFydGVyOmJlZm9yZXtjb250ZW50OiJcZjJjYSJ9LmZhLXRoZXJtb21ldGVyLTA6YmVmb3JlLC5mYS10aGVybW9tZXRlci1lbXB0eTpiZWZvcmV7Y29udGVudDoiXGYyY2IifS5mYS1zaG93ZXI6YmVmb3Jle2NvbnRlbnQ6IlxmMmNjIn0uZmEtYmF0aHR1YjpiZWZvcmUsLmZhLXMxNTpiZWZvcmUsLmZhLWJhdGg6YmVmb3Jle2NvbnRlbnQ6IlxmMmNkIn0uZmEtcG9kY2FzdDpiZWZvcmV7Y29udGVudDoiXGYyY2UifS5mYS13aW5kb3ctbWF4aW1pemU6YmVmb3Jle2NvbnRlbnQ6IlxmMmQwIn0uZmEtd2luZG93LW1pbmltaXplOmJlZm9yZXtjb250ZW50OiJcZjJkMSJ9LmZhLXdpbmRvdy1yZXN0b3JlOmJlZm9yZXtjb250ZW50OiJcZjJkMiJ9LmZhLXRpbWVzLXJlY3RhbmdsZTpiZWZvcmUsLmZhLXdpbmRvdy1jbG9zZTpiZWZvcmV7Y29udGVudDoiXGYyZDMifS5mYS10aW1lcy1yZWN0YW5nbGUtbzpiZWZvcmUsLmZhLXdpbmRvdy1jbG9zZS1vOmJlZm9yZXtjb250ZW50OiJcZjJkNCJ9LmZhLWJhbmRjYW1wOmJlZm9yZXtjb250ZW50OiJcZjJkNSJ9LmZhLWdyYXY6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ2In0uZmEtZXRzeTpiZWZvcmV7Y29udGVudDoiXGYyZDcifS5mYS1pbWRiOmJlZm9yZXtjb250ZW50OiJcZjJkOCJ9LmZhLXJhdmVscnk6YmVmb3Jle2NvbnRlbnQ6IlxmMmQ5In0uZmEtZWVyY2FzdDpiZWZvcmV7Y29udGVudDoiXGYyZGEifS5mYS1taWNyb2NoaXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmRiIn0uZmEtc25vd2ZsYWtlLW86YmVmb3Jle2NvbnRlbnQ6IlxmMmRjIn0uZmEtc3VwZXJwb3dlcnM6YmVmb3Jle2NvbnRlbnQ6IlxmMmRkIn0uZmEtd3BleHBsb3JlcjpiZWZvcmV7Y29udGVudDoiXGYyZGUifS5mYS1tZWV0dXA6YmVmb3Jle2NvbnRlbnQ6IlxmMmUwIn0uc3Itb25seXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxcHg7aGVpZ2h0OjFweDtwYWRkaW5nOjA7bWFyZ2luOi0xcHg7b3ZlcmZsb3c6aGlkZGVuO2NsaXA6cmVjdCgwLCAwLCAwLCAwKTtib3JkZXI6MH0uc3Itb25seS1mb2N1c2FibGU6YWN0aXZlLC5zci1vbmx5LWZvY3VzYWJsZTpmb2N1c3twb3NpdGlvbjpzdGF0aWM7d2lkdGg6YXV0bztoZWlnaHQ6YXV0bzttYXJnaW46MDtvdmVyZmxvdzp2aXNpYmxlO2NsaXA6YXV0b30K"}},"time_used":522,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":130,"receive":392,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.coingecko.com/api/v3/coins/bitcoin/market_chart?days=1\u0026source=geckowidgets\u0026vs_currency=usd","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.723Z","timestamp":1785133990723,"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":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/coins/bitcoin/market_chart?days=1\u0026source=geckowidgets\u0026vs_currency=usd HTTP/1.1\r\nHost: api.coingecko.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://frxoptmarkt.com/\r\nOrigin: https://frxoptmarkt.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\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\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver: cloudflare\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST, PUT, DELETE, GET, OPTIONS\r\naccess-control-expose-headers: link, per-page, total\r\naccess-control-max-age: 7200\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nx-permitted-cross-domain-policies: none\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-data-source: 1.0\r\ncache-control: max-age=30, public, must-revalidate, s-maxage=30\r\naccess-control-request-method: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Authorization\r\nvary: Accept-Encoding, Origin\r\ncontent-encoding: gzip\r\netag: W/\"43ee6f392ecdc468dc3e7e9978940248\"\r\nx-request-id: 12b4295b-757f-479f-a348-5155b4072955\r\nx-runtime: 0.012017\r\ncontent-security-policy-report-only: script-src https://accounts.google.com/gsi/client; frame-src https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;\r\nstrict-transport-security: max-age=600\r\ncf-cache-status: EXPIRED\r\npriority: u=4,i=?0\r\ncf-ray: a2199c720deb49c5-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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":29914,"size_decoded":12890,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"06720f0910e99ef765886c890ae89e35","sha1":"87164e3640d0b914f45528b567bd1bf126644030","sha256":"91e70a989f6baf3b76a52c1f15626157e5de6c8ee54078cee39b537a5e298180","sha512":"09db17a1e07889dd455bc8a2c4492120919b03f9b4a1b26ef89d133e03ede828d58164f17eff302c1951f9d1e56603dc5546556fda3426bc31d176b563b4fd0c","ssdeep":"768:e5KCSJ44026oQ7CXAiKMr4TUmFguw0o9cy:/Cxn2XHXHFoLpwT9v","tlshash":"0cd295c8e27107d97c688ffd09d1ada8ecbe7c3badd605e8c44557fa18361e00479a1a","first_seen":"2026-07-27T06:33:53.974095Z","last_seen":"2026-07-27T06:33:53.974095Z","times_seen":1,"resource_available":false,"data":"eyJwcmljZXMiOltbMTc4NTA0NzY5NzQ1OCw2NDI1OS43NDU4ODA1NTk1M10sWzE3ODUwNDc5OTk3NTYsNjQzMDIuNjU4OTUwODk0NjldLFsxNzg1MDQ4Mjk3Nzk1LDY0MzEwLjU0ODg4MzMzNDg4XSxbMTc4NTA0ODU5OTU3NCw2NDMzMy44NjIzMzM3NjEzNl0sWzE3ODUwNDg4OTk5MjksNjQzNTAuOTg4OTg3MzQ4MDg2XSxbMTc4NTA0OTIwNDgyMiw2NDM3My4zNzI3MDMxNzYwOF0sWzE3ODUwNDk0OTk0MDUsNjQzODEuMjExNjEwNTc1MDI1XSxbMTc4NTA0OTc5OTUzOSw2NDM2Mi45MjI4NTU2NjYzNDRdLFsxNzg1MDUwMDk4NDA1LDY0MzQ0LjAzMzcyMjU4NzEyNl0sWzE3ODUwNTAzOTk2OTAsNjQzNjAuMTg0OTY5ODgxNzJdLFsxNzg1MDUwNjk2OTcxLDY0MzE0LjA0NjU5OTAwNjAyXSxbMTc4NTA1MDk5NzMyOCw2NDMwNy40MDI1Njk1Mzk0NDVdLFsxNzg1MDUxMjk5OTAxLDY0MzAyLjQ0ODE4MTM3NTc2XSxbMTc4NTA1MTU5NjQwMyw2NDI5Mi43MTg4NjgxMTkxN10sWzE3ODUwNTE4OTYzNzIsNjQzMDguMTYyMjA4Nzk5Njk1XSxbMTc4NTA1MjE5NjIxMyw2NDMwNy40NDUyMTM2OTg1Nl0sWzE3ODUwNTI0OTgzNzgsNjQzMDguODE1OTk4OTc0MDk2XSxbMTc4NTA1MjgwMTIzOCw2NDMwMC40NzMxNjM1MjczMl0sWzE3ODUwNTMwOTkwMzEsNjQyOTMuMDM2MjYxNzk2NjI0XSxbMTc4NTA1MzM5ODQzOSw2NDMwNS43NTMzNTUzNDA5NzRdLFsxNzg1MDUzNjk5NzY4LDY0MzI1LjE2OTA0MzcyODk5NF0sWzE3ODUwNTM5OTU3ODcsNjQzNDAuNzI3MTk0MTY2Nl0sWzE3ODUwNTQyOTU0MjQsNjQzMzcuMzAyMzQzMjA1NDFdLFsxNzg1MDU0NTk5MzE3LDY0MzM0LjM1ODIzNTg3NzU0XSxbMTc4NTA1NDg5ODYxOCw2NDMzNi41Njc0NTg0MDgxMDZdLFsxNzg1MDU1MjAwMTg2LDY0MzQxLjg2ODEwOTUxMDkzNV0sWzE3ODUwNTU0OTI0NzMsNjQzNjcuMzE2MDA2Nzg0NDQ0XSxbMTc4NTA1NTc5ODY4NCw2NDQwOC4wMjc5OTAwNjMxNF0sWzE3ODUwNTYwOTcwMjUsNjQ0MjkuMDI3NDQwNTAyMTM0XSxbMTc4NTA1NjM5NzgwOCw2NDQyOC43OTY1NTg0OTE0ODVdLFsxNzg1MDU2Njk5NTk0LDY0NDM5LjUxMTI0MDgwMDFdLFsxNzg1MDU2OTk5OTA5LDY0NDMwLjI5Njg5ODkwODQ4NF0sWzE3ODUwNTcyOTQ1MTMsNjQ0NDAuNDU2ODk5Nzg3ODVdLFsxNzg1MDU3NTk5ODM3LDY0NDc3Ljk1MDMyNzA3MjQ3NF0sWzE3ODUwNTc4OTc5MDgsNjQ0ODUuOTYxMzg1NzYyNzJdLFsxNzg1MDU4MTk3NTM0LDY0NDY5LjkxNTk5MTQzODQ0XSxbMTc4NTA1ODQ5OTE0MSw2NDQ1OC44ODQwMDYyNjc4NjVdLFsxNzg1MDU4Nzk5OTc2LDY0NDY3LjkzODEwMDM3Njk0NV0sWzE3ODUwNTkwOTg2ODEsNjQ0ODIuMzc3NjA0NzI3MDJdLFsxNzg1MDU5NDAwMTMwLDY0NDg3Ljk1Njg3MjQzMTQ5Nl0sWzE3ODUwNTk2OTgyOTUsNjQ0ODEuNDAwMDU0NzU0OTE1XSxbMTc4NTA1OTk5Nzg3NSw2NDQ3OC44NTUyMjIwMDQzOV0sWzE3ODUwNjAyOTY5NTIsNjQ0NTQuMTU0NzU1MDM3NjddLFsxNzg1MDYwNTk2MDM2LDY0NDU0LjIxOTc1NzY3ODQ2XSxbMTc4NTA2MDg5NDA3MSw2NDQ1MS40OTcxMTc3MjYyXSxbMTc4NTA2MTE5ODc1Myw2NDQzOS40MzEyMzk0NzM1NDZdLFsxNzg1MDYxNDk2ODA0LDY0NDcwLjE2OTUyNzUxODI4XSxbMTc4NTA2MTc5ODU3Nyw2NDQ2My42MDY0NjA1MjE1NF0sWzE3ODUwNjIwOTg2NTMsNjQ0NjYuMzEzODAwMDA5NzFdLFsxNzg1MDYyMzk1NzI5LDY0NDg0LjkwODY2NDM2MDk2XSxbMTc4NTA2MjY5OTY4OCw2NDQ4Ny45NjE5ODM5MzYzN10sWzE3ODUwNjI5OTkwMDIsNjQ0ODAuMzY3Mzc0ODI3NDhdLFsxNzg1MDYzMjk4OTg2LDY0NDYxLjMyMzU4OTEzODM5Nl0sWzE3ODUwNjM1OTgxMDIsNjQ0NTYuNzkyODg5NDY2OTZdLFsxNzg1MDYzODk5NDY2LDY0NDYwLjM5ODgyNzkzNzA3XSxbMTc4NTA2NDE5NjAzNiw2NDQ2Mi4zNDY2NDM0MzE3OV0sWzE3ODUwNjQ0OTk5NjMsNjQ0NTAuNTUzNDUzOTAwNzA2XSxbMTc4NTA2NDc5OTE5Niw2NDQ1NC44Njg2NjY3MDM2NzVdLFsxNzg1MDY1MDk3NzI0LDY0NDU0LjYxNTAzNzI3MDM1Nl0sWzE3ODUwNjUzOTk5MzYsNjQ0NDkuNDY2MzU3NTYyMzhdLFsxNzg1MDY1Njk2NDQ1LDY0NDQyLjA4NDQ4MzY2MzA2NF0sWzE3ODUwNjU5OTgxMDgsNjQ0MzkuMjI4MTIwMjE3MzFdLFsxNzg1MDY2Mjk4NDUzLDY0NDM4LjE2MTAzMjQ5ODg4XSxbMTc4NTA2NjU5NjE0OCw2NDQ1NC4yMjk1NTQ0Mzg0MjVdLFsxNzg1MDY2ODk3MTkxLDY0NDU0LjM2MTcyMjU2NTU4XSxbMTc4NTA2NzE5OTEzMSw2NDQ0Ny4yNzQ2MDU3NzAwMV0sWzE3ODUwNjc0OTk5NDIsNjQ0ODIuMzMxNDc5NTk1MTk2XSxbMTc4NTA2Nzc5ODcxOSw2NDU1OS4wMzgxMzI0NjIyOF0sWzE3ODUwNjgwOTY5NzgsNjQ1NDUuOTk3MjI4NzY0MzddLFsxNzg1MDY4Mzk1ODA3LDY0NTI0LjQ1NTM4OTQ4NDY1XSxbMTc4NTA2ODY5MTExOSw2NDUwMS4zNTY4MjkwNzU0Ml0sWzE3ODUwNjg5OTkwNzAsNjQ1MTUuODI0ODIzNDAxMl0sWzE3ODUwNjkyOTg0ODQsNjQ1MDAuNTQxNDA3NjU0MTA2XSxbMTc4NTA2OTU5NzM0Nyw2NDQ5NS44MTcwODEwNzI5MDZdLFsxNzg1MDY5ODk5NDg1LDY0NDQ4LjQzMTM1MTU4ODI3NV0sWzE3ODUwNzAxOTgzMDEsNjQ0MjEuNTY0OTEyMDE2MDc0XSxbMTc4NTA3MDQ5NjMyOCw2NDQxNy40MTQwNzI5MTY0Ml0sWzE3ODUwNzA3OTE1MjYsNjQ0MTcuMTY1MjA1ODkxNzc1XSxbMTc4NTA3MTA5OTMzOSw2NDM4NC4zNjM1NDY5ODc1MV0sWzE3ODUwNzEzOTg3MzksNjQzNjguNTU1NTY0OTQ4ODFdLFsxNzg1MDcxNjk1ODc0LDY0MzY2Ljc1MTIxOTA0MzkzXSxbMTc4NTA3MjAwMDM5MCw2NDQwMy44MTUzMTgzNDExM10sWzE3ODUwNzIyOTcxOTAsNjQ0NDguNjg1MTk0NTI0MjRdLFsxNzg1MDcyNjAwODEyLDY0NDE4LjAxMTEyNzQxNzc0XSxbMTc4NTA3Mjg5NjQ1NCw2NDQxNi45NjIwNDg0MTY5Ml0sWzE3ODUwNzMxOTc3ODcsNjQ0MzAuNzE3MzE5ODY5OTc1XSxbMTc4NTA3MzQ5NjgwNiw2NDQ4NS4zMTgyNTc0MDM5OF0sWzE3ODUwNzM3OTg4MzgsNjQ0ODYuNDY4MTM3NzQzMDldLFsxNzg1MDc0MDkzNTA4LDY0NDcwLjQ0ODgxOTY3MzU2XSxbMTc4NTA3NDM5NzE1Myw2NDQ1OC45MjQxMzUyNTk5NV0sWzE3ODUwNzQ2OTcxNzIsNjQ1MDAuNjQyMjMwNjMyMThdLFsxNzg1MDc0OTk2NjIwLDY0NjU0Ljc4ODAwNTc0MTYyNl0sWzE3ODUwNzUyOTkzMjYsNjQ2MjcuNzg2NDg2NTA5MDVdLFsxNzg1MDc1NTk4NzE3LDY0NjE4LjkwMzM4NjEwOTc1Nl0sWzE3ODUwNzU4OTg5NjIsNjQ2MDQuMTE1MjYzNTk3NzldLFsxNzg1MDc2MTkzMzkzLDY0NTgyLjYzNTI1Mzk4OTM4XSxbMTc4NTA3NjQ5ODQ1OCw2NDYwNS40MjI4NDEwMjU1Nl0sWzE3ODUwNzY3OTc5MDEsNjQ2MTUuNDY4ODY0NTEzMDc0XSxbMTc4NTA3NzA5OTEwMSw2NDYzMC4zOTEzMDE0NDE2OF0sWzE3ODUwNzczOTk5MDAsNjQ2NzEuOTk0NjY1OTI4OTldLFsxNzg1MDc3Njk3MTg1LDY0NjQxLjg3ODI0OTcyNDY3XSxbMTc4NTA3ODAwNDE4Myw2NDY0Ni44Njk2ODg5ODQ2OV0sWzE3ODUwNzgyOTk4NDIsNjQ2NTEuMzI3ODkxNDQ1NjJdLFsxNzg1MDc4NTk5Mjk4LDY0NjMyLjU3NDQ0NDA0OTc2XSxbMTc4NTA3ODg5Nzc1MCw2NDYxNi40NDI2MTk2NDk2Ml0sWzE3ODUwNzkxOTk3MjUsNjQ3MDEuOTE3ODcwMjI3ODddLFsxNzg1MDc5NDk5MzA0LDY0NzA2Ljc2OTI3NzUxNDk4NF0sWzE3ODUwNzk3OTkxNDAsNjQ2OTUuNDY4MDE3NTI2NTNdLFsxNzg1MDgwMDk0NjM2LDY0NjgzLjMxOTE0NDIwNTczNl0sWzE3ODUwODAzOTU5OTEsNjQ3NDcuMTczMzUzOTg1MTA1XSxbMTc4NTA4MDY5ODAwMyw2NDczNi40ODg2NTM1MDM5N10sWzE3ODUwODA5OTk2NDcsNjQ3MTIuMzE1NTU1NjQ5ODQ2XSxbMTc4NTA4MTI5NzQxNyw2NDY5Mi44MjIxMTQ4MTMxM10sWzE3ODUwODE2MDE0NzMsNjQ3MTEuMDkwMjI0NDc3MDI2XSxbMTc4NTA4MTg5OTAzMyw2NDY5NS41MTAxOTc2NDM5Ml0sWzE3ODUwODIxOTk1NzAsNjQ2NTguOTA2NTAyMTQ0MzJdLFsxNzg1MDgyNDk5Nzk0LDY0NjUzLjcxNjkxNjMyNTczNV0sWzE3ODUwODI3OTg4MzQsNjQ3MTIuNjcyMTM0OTY4MjNdLFsxNzg1MDgzMDk4OTg2LDY0NzAwLjkwMDMyOTc2OTQ3XSxbMTc4NTA4MzM5ODYxMSw2NDcyMy4zNjA2NzA1MTU3Nl0sWzE3ODUwODM2OTk0NTksNjQ4MTQuMDY0NjAyOTgzOTg1XSxbMTc4NTA4Mzk5NDAwMyw2NDc3MC42ODU2MTY4NjcxNl0sWzE3ODUwODQyOTg1MjUsNjQ3NjguODM2MzI5OTEwMDQ2XSxbMTc4NTA4NDU5NzMyNCw2NDc3MC41NDYyMTM4OTcxNl0sWzE3ODUwODQ4OTk3MDYsNjQ3MDguOTU3NTc1NTY5MTU1XSxbMTc4NTA4NTIwMDA0MSw2NDY4Ni4yMDIxODgwODE1MTVdLFsxNzg1MDg1NDk2OTYwLDY0NjU5LjAzMTE5MTA4Mjk2XSxbMTc4NTA4NTc5NzQ2NSw2NDY0Ni41NjQ1MjYzNjcwNV0sWzE3ODUwODYwOTk5OTEsNjQ2OTUuOTk4ODg0NDU1NzJdLFsxNzg1MDg2Mzk5OTk0LDY0NzA5LjkxMDQzMjk3ODEyNl0sWzE3ODUwODY2OTk3NzksNjQ2NzAuNTkwOTUyOTAyNDVdLFsxNzg1MDg2OTk3NDY2LDY0NjU2LjI4NzQyODM5OTMxXSxbMTc4NTA4NzI5OTEyMCw2NDY4NS45OTYxMDg5NTg2MTRdLFsxNzg1MDg3NTk1OTE5LDY0NjQyLjM1NjEwNTc4NDYyNF0sWzE3ODUwODc4OTU4NDIsNjQ2MjEuNTI3NDg1MjUxMjhdLFsxNzg1MDg4MTk5OTEyLDY0NjI3LjUzODMxMDM3NTc4XSxbMTc4NTA4ODQ5NzMxOCw2NDY0MC44NjU1NjkyOTk1NzRdLFsxNzg1MDg4ODAyMzU5LDY0NjE2Ljc0MzA4MjcyMDddLFsxNzg1MDg5MDk4MjQ1LDY0NjI2Ljk5NDAzMzI2Mzg0XSxbMTc4NTA4OTM5OTM4Nyw2NDYzNC4zMzMxNTM0NDddLFsxNzg1MDg5Njk5MjU0LDY0NjQ1LjA2MjQ0NTM3NDg3XSxbMTc4NTA4OTk5NjI4NCw2NDYxNi43MzI1OTQzMDI3Ml0sWzE3ODUwOTAyOTk1OTMsNjQ2MzcuNzA0NzQzMzEyODddLFsxNzg1MDkwNTk2MTAzLDY0NjMyLjI2MzAxMjk5MTU2XSxbMTc4NTA5MDg5OTYwMSw2NDYzOC4xMTg5NDQ4NDg4XSxbMTc4NTA5MTE5NzY0Niw2NDY0NC4zMjU5MDQ1ODE3NTRdLFsxNzg1MDkxNDk4ODYzLDY0NjQ1LjM4NTA2Mzg4ODAzXSxbMTc4NTA5MTc5NjQ1Myw2NDY1OC40ODY5NTQ5NzI5OV0sWzE3ODUwOTIxMDAwNjksNjQ2OTguOTk2MDIzNDEyOV0sWzE3ODUwOTIzOTU4OTIsNjQ2NzguNDA0NjM0NzA2OThdLFsxNzg1MDkyNjk4OTUxLDY0Njc2LjU4NjU4Nzc5MTRdLFsxNzg1MDkyOTk3ODE2LDY0NjUwLjUwMzQyNjQ2NDE5XSxbMTc4NTA5MzI5NjIzNiw2NDYxNi45NzI1MTA3Mjk0M10sWzE3ODUwOTM1OTUyMDEsNjQ2MjMuODU5MTI4MDU4Mjg0XSxbMTc4NTA5Mzg5NzMyNyw2NDY1Mi40NjI3ODM1Njc3M10sWzE3ODUwOTQyMDAxODAsNjQ2NDAuNzE5MjUyNzc4NzhdLFsxNzg1MDk0NDk5NTcxLDY0Njg2LjI3Mjg2MDA1NjQ2Nl0sWzE3ODUwOTQ3OTkwNjYsNjQ2NjMuNjEyNjY0NTk4MjNdLFsxNzg1MDk1MDk2NTUyLDY0NjYzLjI5NTY5MzQ1MzM3XSxbMTc4NTA5NTM5NjY0MCw2NDY1MC45NDk5MjYzMDY4NV0sWzE3ODUwOTU2OTYzNzksNjQ2NDUuMjgzNjUyOTkzMzM0XSxbMTc4NTA5NjAwMDc1MCw2NDYzOC42MDY0MDU3MzIwMV0sWzE3ODUwOTYzMDAzODUsNjQ2MzAuMzM2MTk2Mjk0NDhdLFsxNzg1MDk2NTk5NjQwLDY0NjQzLjE2MDI5MTEwMjY4XSxbMTc4NTA5Njg5NTczMCw2NDYzMi4wOTQ2NzQzMjg4NV0sWzE3ODUwOTcxOTY5MTcsNjQ2MDEuNTA3NzY5NjgwNzddLFsxNzg1MDk3NDk5NDI0LDY0NTg5LjQ3OTAwNDY5NzAyXSxbMTc4NTA5Nzc5ODgwMiw2NDU4NC4wNDI2NzEwNTk2NDRdLFsxNzg1MDk4MDk5NTQxLDY0NTk2LjUxOTI5NDI1OV0sWzE3ODUwOTgzOTU5MTgsNjQ1OTYuNjYzMDE0NTU4MV0sWzE3ODUwOTg2OTY4NjEsNjQ2MDMuNzE4OTYwMDY0OV0sWzE3ODUwOTg5OTQxNjAsNjQ2MDIuNzk4MTkwOTQ2MV0sWzE3ODUwOTkyOTk5NjcsNjQ1OTAuMDcxNjg0OTQ2NjFdLFsxNzg1MDk5NTk2NTc3LDY0NTkwLjM3MzcxNzc0OTYxNV0sWzE3ODUwOTk4OTU4NzcsNjQ2MjMuNzA5MjQ1Njc0NzJdLFsxNzg1MTAwMTk4NDQxLDY0NjAwLjg2MjYxNDA1NzA1Nl0sWzE3ODUxMDA0OTgyMTAsNjQ2MzguMTA0NzM1MjcyNDM0XSxbMTc4NTEwMDc5ODg2NCw2NDY2Ni4wNjcxNDQyODkxOF0sWzE3ODUxMDEwOTkyNTUsNjQ2OTguNjAyMTI3ODExMTJdLFsxNzg1MTAxMzk4NDg4LDY0NzYzLjY0NjM2NTc2Mzg3NF0sWzE3ODUxMDE2OTYxMzYsNjQ3NzAuMjA0NTYxMzY3NTNdLFsxNzg1MTAxOTk5NDU5LDY0NzU5LjE5NTE4ODM2MzE1XSxbMTc4NTEwMjI5NTEwNyw2NDc3MC4wNjk5NjM4NDExMjRdLFsxNzg1MTAyNTk2MjA3LDY0ODE2LjExNDI3NjQ0Mzg0XSxbMTc4NTEwMjg5OTA2NSw2NDgwOS4wNjA5NTU1MjQ1MV0sWzE3ODUxMDMxOTQ0ODgsNjQ4MDMuNTIwNzAwNzEzODZdLFsxNzg1MTAzNDkzMjMyLDY1MTAwLjcyMTA1MTMwMjRdLFsxNzg1MTAzNzk4Nzg2LDY1MTIxLjg4ODYyNzk5OTAwNF0sWzE3ODUxMDQwOTg4OTMsNjUxNTYuOTY4NjMwMDY4ODVdLFsxNzg1MTA0Mzk5NzY5LDY1MTUxLjAxMDUwNDcwNDUzNl0sWzE3ODUxMDQ2OTYyNTYsNjUxNjUuMDE1MDQ1MzM4NDNdLFsxNzg1MTA0OTk5MTc2LDY1MTcyLjgxMzc3MjgwNDU4XSxbMTc4NTEwNTI5ODEzNSw2NTMyMC40MTI4OTI4MzQzODVdLFsxNzg1MTA1NTk2Njk4LDY1MzcyLjIwNzQ1OTg0NDI4XSxbMTc4NTEwNTg5NTUwNSw2NTQxNS4wMTY0MzE5NTc5NTZdLFsxNzg1MTA2MTk4NjU4LDY1Mzg0LjkzMDUzMjI2ODA5Nl0sWzE3ODUxMDY0OTY2OTYsNjUzNjcuNzQ3MTgyNjY5MTU0XSxbMTc4NTEwNjc5ODgwNCw2NTMzOS40OTYyNzY3NDU4MzVdLFsxNzg1MTA3MDk5MTk4LDY1MzM4LjQ5NTI2MjE2MTU2XSxbMTc4NTEwNzM5ODcxMyw2NTQ2MS40NTkyMjc4MzQ0XSxbMTc4NTEwNzY5OTM0NSw2NTQwMS45NTM4NzA2MTIwNjZdLFsxNzg1MTA3OTk5NzkxLDY1MzQ3LjY3MDM0MzgzMTA4XSxbMTc4NTEwODI5OTY4OSw2NTMwOS4zNzg2NjI0NjY1XSxbMTc4NTEwODU5Mjc1Myw2NTI3MS45ODYxMTA3NzUxXSxbMTc4NTEwODg5NjYyNiw2NTI4NS44NDk3MTAxMjE4OV0sWzE3ODUxMDkxOTc5MDgsNjUyOTEuODA1NjE0MzQ0MjddLFsxNzg1MTA5NDk5Njk4LDY1MzM3LjI2MDM0MTIxNDkxXSxbMTc4NTEwOTc5ODUwMiw2NTM0NC43NDI3MDQxMzY5Nl0sWzE3ODUxMTAwOTc2ODgsNjUzNjQuNDI2MDg1MDY0OF0sWzE3ODUxMTAzOTY4NjQsNjUzMjkuNTM3NTY0Mzg4NzJdLFsxNzg1MTEwNjk5NTg5LDY1MjU4Ljc2NzI4NjE3Mzg3Nl0sWzE3ODUxMTA5OTU4OTcsNjUxNTkuNjYwMDI2NDQyMzhdLFsxNzg1MTExMjk4NTUyLDY1MTY4LjIzNDY1NTA5NTk2XSxbMTc4NTExMTU5OTI1OSw2NTA5OC43NDg2MDg4NDgyM10sWzE3ODUxMTE4OTc2OTMsNjUwODIuMDM5MzgyOTU3ODc1XSxbMTc4NTExMjE5Njg5NCw2NTE2OS44Mjg0MzA5OTE1OV0sWzE3ODUxMTI0OTcwMDksNjUxNDcuOTA3ODI5MDYzMV0sWzE3ODUxMTI3OTk4NjcsNjUwNzQuODUwNzUyMjM4Njg2XSxbMTc4NTExMzA5ODUxMiw2NTA5MS4wODI1ODM5ODQxOV0sWzE3ODUxMTMzOTc3MzUsNjUxMTIuODg1NjM4MTIyMjddLFsxNzg1MTEzNjk5MjU0LDY1MDY4Ljk2Mzc4NjI1NDQ4XSxbMTc4NTExMzk5NjU2Miw2NTA0OS4yNzI2NDQ1MzM0MV0sWzE3ODUxMTQyOTg0ODgsNjUxMTYuNDYzMTQ3ODAyMTU1XSxbMTc4NTExNDYwMDAxNCw2NTExNi43NTAzNjQ0MjAxXSxbMTc4NTExNDg5NDI4NCw2NTAxNC4zOTkwODg1ODAwNl0sWzE3ODUxMTUxOTk4MTMsNjUwMDMuMTU0MzI0NjA0MDI0XSxbMTc4NTExNTQ5ODY4Nyw2NTAwNC4yMzY0NTMxMTM2OF0sWzE3ODUxMTU3OTc3ODIsNjQ5NzMuNzkxNzg0NDIxNTldLFsxNzg1MTE2MDk3ODIyLDY0OTk4LjkyNDYwNDY3OTY2XSxbMTc4NTExNjM5OTgzMiw2NDk3OS42NjA3OTk4NzE3Nl0sWzE3ODUxMTY2OTk3MDAsNjUwMjkuMjQyMzM1NTY4MzJdLFsxNzg1MTE2OTk3Nzg2LDY1MDkzLjE5NTU0NjAyODM0XSxbMTc4NTExNzI5ODU5Niw2NTEwMC4xNTY3NDI4NDMxNDRdLFsxNzg1MTE3NTk5OTI3LDY1MTM5LjYyMTQ3ODYwMjA1XSxbMTc4NTExNzg5MDUyMSw2NTEyMS41NDM4NzA4NzIwNzZdLFsxNzg1MTE4MjAwMDA2LDY1MTE2LjcyOTgwODU4NzddLFsxNzg1MTE4NDk5MTkwLDY1MTQzLjY0NTUzNjc3MDk3XSxbMTc4NTExODc5NzA4Nyw2NTEyNy4yMTU0NDg0Njc0XSxbMTc4NTExOTA5MjUxNiw2NTExMy44ODAzMjU4NzIzNV0sWzE3ODUxMTkzOTg4MjYsNjUxMjkuOTQ2MTQ0NDA3ODVdLFsxNzg1MTE5NzAxOTE4LDY1MDcxLjM3MDI5MDY1MjE5NF0sWzE3ODUxMTk5OTczNzUsNjUxNjQuNzE5NTc4MjAzMDc2XSxbMTc4NTEyMDI5NzA1Miw2NTE5Ny45Nzc2OTM4OTM1OF0sWzE3ODUxMjA1OTY2ODksNjUxNjQuMzA5MTU2NDY0NDZdLFsxNzg1MTIwODk3MTQyLDY1MDg3LjU2MjY4MDk0OTc5XSxbMTc4NTEyMTE5MTk1NCw2NTExNi40Njk2MTgzMTM3M10sWzE3ODUxMjE0OTY3NjYsNjUxNTEuMTEzMjk2MzQwNzVdLFsxNzg1MTIxNzk2OTY4LDY1MTY4LjE2ODU1ODIzNDExXSxbMTc4NTEyMjA5OTYxMSw2NTE4NC4zMTg5Mzg3NDMxNV0sWzE3ODUxMjIzOTkzNjAsNjUyMjMuNzUyNTE1NjkxOTk1XSxbMTc4NTEyMjY5NzM2Miw2NTI1Mi4zNjkxMzI3NDMwNl0sWzE3ODUxMjMwMDE4OTAsNjUyNjEuMzc3OTEzMTgyMTE0XSxbMTc4NTEyMzI5OTg2Nyw2NTIwOS42ODE3MjY3MTk5OF0sWzE3ODUxMjM1OTU1NjcsNjUyNDUuODgzNzgwMTEyNDhdLFsxNzg1MTIzODk3NTI4LDY1Mjc5LjcxMzYzMTkyMjI0XSxbMTc4NTEyNDE5NjY4Miw2NTI3NS4wMDQ2OTQ3MDc3OF0sWzE3ODUxMjQ0OTcyMDEsNjUyNDcuMDY2OTIwODM4MTFdLFsxNzg1MTI0ODAwMDAyLDY1MjE4LjA5ODY2MjMyOTc3XSxbMTc4NTEyNTA5OTk3Niw2NTI2MS4xMzE1NjQ5ODU0M10sWzE3ODUxMjUzOTk1MDgsNjUyNjguMjk3MjM4MTAyNzY1XSxbMTc4NTEyNTY5NzAxOCw2NTIyMi41NjU3MTk0MzE2MTVdLFsxNzg1MTI1OTk5MTg1LDY1MzIwLjIxMzAwNDAxODA4NV0sWzE3ODUxMjYyOTk1OTMsNjUzODEuMjUyMzc1MjYzNjg0XSxbMTc4NTEyNjM1ODc5OSw2NTMzOS40MzMyODkyNzIyM10sWzE3ODUxMjcxOTcyODQsNjUyOTMuMTExMjk2MDcxMzddLFsxNzg1MTI3NDk2ODkzLDY1MzE3LjAzOTg5MzQ5ODM0XSxbMTc4NTEyNzc5NDEwNCw2NTI4My43MDI0MjkwODcxMV0sWzE3ODUxMjgxMDAxMDgsNjUyNTkuOTEyMzgwNjQwMDZdLFsxNzg1MTI4NDAxOTg2LDY1MjMyLjMzMTQ2MDk1NjE4XSxbMTc4NTEyODY5OTE5Myw2NTI0Ni45NzAxMDg0MDM4N10sWzE3ODUxMjg5OTYzMjUsNjUyNDQuMTE3NjI3MDEwMjZdLFsxNzg1MTI5Mjk5ODQwLDY1MzE3LjkyODgzOTM5OTQ5XSxbMTc4NTEyOTU5OTA4Myw2NTMxNy4xMzA1NzIzNTU3OF0sWzE3ODUxMjk4OTgzMjUsNjUzNDQuMjUyMTQzOTE4NzldLFsxNzg1MTMwMTk5NzgyLDY1MzQzLjE5Njk5ODM5MjkxXSxbMTc4NTEzMDQ5Njc3MCw2NTM0NS4zNjE2NTg0MDkwOF0sWzE3ODUxMzA3OTk5NDYsNjUzMzAuMTI3NzMwMTQ4MTVdLFsxNzg1MTMxMDk4OTIwLDY1MzMzLjMxODcxNjk3MzkxXSxbMTc4NTEzMTM5OTgwMSw2NTI5Mi40NDM4Mzk5MzE4NF0sWzE3ODUxMzE2OTg2MzMsNjUzMTYuMDI5NTc2NzU4MTldLFsxNzg1MTMxOTk4Nzc2LDY1NDAyLjA2ODg2MTMwMDQxXSxbMTc4NTEzMjI5ODcxNyw2NTQ0My4xNTgxNDY4OTg4NjZdLFsxNzg1MTMyNTk2MzQxLDY1NDk2LjQ3OTk4MTk2MTEzNl0sWzE3ODUxMzI4OTg2ODYsNjU1MzguNjYzNDkwNTE3NjhdLFsxNzg1MTMzMTk5NTQzLDY1NTEzLjc1NjgzNDg0MjU5XSxbMTc4NTEzMzQ5NjQwMSw2NTQ2OC43NDk2NDEzNjk4MjVdLFsxNzg1MTMzNzk3MzI5LDY1NDE4LjM4MjMwNTAxOTk2XSxbMTc4NTEzMzk2NzAwMCw2NTQyOS42NjgwNDc1Nzc3MjVdXSwibWFya2V0X2NhcHMiOltbMTc4NTA0NzY5NzQ1OCwxMjg5MDM1MjgxNzI2Ljc0MDVdLFsxNzg1MDQ3OTk5NzU2LDEyODk5MTI4NDczOTEuNDMxMl0sWzE3ODUwNDgyOTc3OTUsMTI5MDE1MDYyNTk2MS42NTcyXSxbMTc4NTA0ODU5OTU3NCwxMjkwNTk4MjgzMjI4LjkxMjhdLFsxNzg1MDQ4ODk5OTI5LDEyOTA5NzE2ODUzMzkuMzc2NV0sWzE3ODUwNDkyMDQ4MjIsMTI5MTQxMDg3ODExNS40MTE5XSxbMTc4NTA0OTQ5OTQwNSwxMjkxNjI2ODMwMzg4LjAzMTVdLFsxNzg1MDQ5Nzk5NTM5LDEyOTExNTc4NzY3MTcuNzQzMl0sWzE3ODUwNTAwOTg0MDUsMTI5MDcyNzAwNTM0NS4yMDU2XSxbMTc4NTA1MDM5OTY5MCwxMjkxMjEyNzgyODAxLjQwN10sWzE3ODUwNTA2OTY5NzEsMTI5MDE5ODM0MjQ5MS4xMTg0XSxbMTc4NTA1MDk5NzMyOCwxMjkwMDkyMjQ1MTA3LjAyNzhdLFsxNzg1MDUxMjk5OTAxLDEyODk5NzI1ODY5NTIuNzM3M10sWzE3ODUwNTE1OTY0MDMsMTI4OTgyOTI0NTg2Mi4xNjkyXSxbMTc4NTA1MTg5NjM3MiwxMjkwMDA1OTQ5MzI0LjA1MTNdLFsxNzg1MDUyMTk2MjEzLDEyOTAwMzE0MTI2NzkuMjMyMl0sWzE3ODUwNTI0OTgzNzgsMTI5MDA1OTcwMjM4OS45OTRdLFsxNzg1MDUyODAxMjM4LDEyODk5NDExNzU4MzcuMjQ1OF0sWzE3ODUwNTMwOTkwMzEsMTI4OTkxOTE3NTc1Mi43ODM0XSxbMTc4NTA1MzM5ODQzOSwxMjg5ODMyOTUzODM4LjkzNl0sWzE3ODUwNTM2OTk3NjgsMTI5MDM4MTg3MjQ5MS40MTA0XSxbMTc4NTA1Mzk5NTc4NywxMjkwODQwMTExNjUzLjE4MDRdLFsxNzg1MDU0Mjk1NDI0LDEyOTA3MDk1Mzk4MjQuMzg4Ml0sWzE3ODUwNTQ1OTkzMTcsMTI5MDU0NDI0MzcxMi4zNzNdLFsxNzg1MDU0ODk4NjE4LDEyOTA2NzkzMzQ0NTQuNjM0XSxbMTc4NTA1NTIwMDE4NiwxMjkwNzkzMDQ0OTEyLjAyOThdLFsxNzg1MDU1NDkyNDczLDEyOTEyNjEyMjgyMDkuMDk0NV0sWzE3ODUwNTU3OTg2ODQsMTI5MTg3MDIzMjM2Mi4xODddLFsxNzg1MDU2MDk3MDI1LDEyOTI1MjcxNDgyNTcuOTQzNF0sWzE3ODUwNTYzOTc4MDgsMTI5MjU5ODA0OTg1Mi4xNzZdLFsxNzg1MDU2Njk5NTk0LDEyOTI3MzU3OTAzODQuOTY1M10sWzE3ODUwNTY5OTk5MDksMTI5MjQ0OTA5NzY0Mi4zNzc3XSxbMTc4NTA1NzI5NDUxMywxMjkyNzY5NDI3MzAwLjUzNjZdLFsxNzg1MDU3NTk5ODM3LDEyOTM1MDM1MTEwNjQuNDIwN10sWzE3ODUwNTc4OTc5MDgsMTI5MzY3MTM0NTA1NS40ODI0XSxbMTc4NTA1ODE5NzUzNCwxMjkzMzgwOTQ0NDM4Ljc3NTFdLFsxNzg1MDU4NDk5MTQxLDEyOTMxMzQ2MTUxOTkuMTU4XSxbMTc4NTA1ODc5OTk3NiwxMjkzMjY4NTgxNDEzLjc0MjJdLFsxNzg1MDU5MDk4NjgxLDEyOTM2MTA0NzE5MjQuMjQxMl0sWzE3ODUwNTk0MDAxMzAsMTI5MzcxOTExMDQwOC43MzQ5XSxbMTc4NTA1OTY5ODI5NSwxMjkzNjAwMDMyMjMwLjI0OTVdLFsxNzg1MDU5OTk3ODc1LDEyOTM1Mzk3OTQyNjYuN10sWzE3ODUwNjAyOTY5NTIsMTI5MzA3NTk1NjE2NS4xODQ2XSxbMTc4NTA2MDU5NjAzNiwxMjkzMDQ3MTA1MDM4LjQ5MV0sWzE3ODUwNjA4OTQwNzEsMTI5MjkxMjIyMjQ4MS4yNzI1XSxbMTc4NTA2MTE5ODc1MywxMjkyNzUxNTAwNjg3LjAzN10sWzE3ODUwNjE0OTY4MDQsMTI5MzEwNDU0MTQyNC40ODQ5XSxbMTc4NTA2MTc5ODU3NywxMjkzMzEzNjQyNTIxLjExMDRdLFsxNzg1MDYyMDk4NjUzLDEyOTMyODg1ODI2OTUuNzI5NV0sWzE3ODUwNjIzOTU3MjksMTI5MzcyNzM4ODczNi43NTQyXSxbMTc4NTA2MjY5OTY4OCwxMjkzNzIyMjQxNzU2Ljg0OTZdLFsxNzg1MDYyOTk5MDAyLDEyOTM3MDUwNDE3MDcuOTI0Nl0sWzE3ODUwNjMyOTg5ODYsMTI5MzExNTIwNTk4MS45NDEyXSxbMTc4NTA2MzU5ODEwMiwxMjkzMTMzNjg5NzMwLjIyMV0sWzE3ODUwNjM4OTk0NjYsMTI5MzA1OTg4MzU4My4yMjE0XSxbMTc4NTA2NDE5NjAzNiwxMjkzMjU1NjY2OTYyLjI1NTldLFsxNzg1MDY0NDk5OTYzLDEyOTI5NzI0MjIzNDIuNzI5N10sWzE3ODUwNjQ3OTkxOTYsMTI5MzAxNTg1NDc0MC4zMzA2XSxbMTc4NTA2NTA5NzcyNCwxMjkzMDY4NDAyNzk0Ljk3MDJdLFsxNzg1MDY1Mzk5OTM2LDEyOTI5MzI0NDQ4ODAuNDczNl0sWzE3ODUwNjU2OTY0NDUsMTI5Mjc4NzE2NjczMC43NjFdLFsxNzg1MDY1OTk4MTA4LDEyOTI4MDExNjIwNzQuODMyOF0sWzE3ODUwNjYyOTg0NTMsMTI5MjcwODAwNTU3MS40NDI2XSxbMTc4NTA2NjU5NjE0OCwxMjkzMDIyMjk4MDc1LjgxNDddLFsxNzg1MDY2ODk3MTkxLDEyOTMwOTc4MTQyMTcuNjQwMV0sWzE3ODUwNjcxOTkxMzEsMTI5Mjg5NzAzMzk5Mi45MjddLFsxNzg1MDY3NDk5OTQyLDEyOTM1NjM3NjA1MDIuMjIyN10sWzE3ODUwNjc3OTg3MTksMTI5NTE3MTUwNTg1NC4xODEyXSxbMTc4NTA2ODA5Njk3OCwxMjk0Nzc1MzYxMjYwLjkxNjddLFsxNzg1MDY4Mzk1ODA3LDEyOTQ1NTU3NjIxNDkuNTA5NV0sWzE3ODUwNjg2OTExMTksMTI5Mzk4Nzk4NjMxMC43NjJdLFsxNzg1MDY4OTk5MDcwLDEyOTQyODUwNzg1MzcuMzc0OF0sWzE3ODUwNjkyOTg0ODQsMTI5NDAwMDA0ODQ2NS40NThdLFsxNzg1MDY5NTk3MzQ3LDEyOTM5NDgxNzU5NTcuNTIwNV0sWzE3ODUwNjk4OTk0ODUsMTI5Mjk5MDk5ODAzOS4zNjFdLFsxNzg1MDcwMTk4MzAxLDEyOTIzMTYyNDI5NjkuODQ5OV0sWzE3ODUwNzA0OTYzMjgsMTI5MjI4OTU2NjY2My4xMDU1XSxbMTc4NTA3MDc5MTUyNiwxMjkyMzIwMTk5NDAxLjUwMTddLFsxNzg1MDcxMDk5MzM5LDEyOTE3NjczNzE0ODUuNTc5OF0sWzE3ODUwNzEzOTg3MzksMTI5MTMzMTUzMDAxNy40NTg3XSxbMTc4NTA3MTY5NTg3NCwxMjkxMzMyNDYzNzY2LjY1NV0sWzE3ODUwNzIwMDAzOTAsMTI5MjAzNDkyODQ3My45MTI2XSxbMTc4NTA3MjI5NzE5MCwxMjkyOTU1MTYxMjI5LjcwM10sWzE3ODUwNzI2MDA4MTIsMTI5MjQ1ODk5MTM1MC41MDU0XSxbMTc4NTA3Mjg5NjQ1NCwxMjkyMzIzNjQ3MDMzLjQ5MDddLFsxNzg1MDczMTk3Nzg3LDEyOTI2MTc1NDc0MDUuNDgyMl0sWzE3ODUwNzM0OTY4MDYsMTI5MzY1MjQ4OTYyOS4yM10sWzE3ODUwNzM3OTg4MzgsMTI5Mzc5MDk5OTc1OC44NzQ4XSxbMTc4NTA3NDA5MzUwOCwxMjkzNDE2Mjc2MjAyLjc1NTRdLFsxNzg1MDc0Mzk3MTUzLDEyOTMxMTM0MDM2NDUuNDQ1M10sWzE3ODUwNzQ2OTcxNzIsMTI5Mzg0NDA0OTIxMC45MDcyXSxbMTc4NTA3NDk5NjYyMCwxMjk3MDc4MDE5NDg5LjQ5MzddLFsxNzg1MDc1Mjk5MzI2LDEyOTY2MDM0NDI1NjQuMzUwNl0sWzE3ODUwNzU1OTg3MTcsMTI5NjE5MDc0NTk0Mi4zNjMzXSxbMTc4NTA3NTg5ODk2MiwxMjk2MDU0NTMyNDcyLjA5NF0sWzE3ODUwNzYxOTMzOTMsMTI5NTYyNDAxMTY3Mi4xNTE2XSxbMTc4NTA3NjQ5ODQ1OCwxMjk2MjkyNzc2ODc5LjI4MjddLFsxNzg1MDc2Nzk3OTAxLDEyOTYxNjk5OTUwNzAuOTEyNl0sWzE3ODUwNzcwOTkxMDEsMTI5NjY0MzIwNTc1NS4wMzEyXSxbMTc4NTA3NzM5OTkwMCwxMjk3NjYyNTMyMDc0Ljc0NV0sWzE3ODUwNzc2OTcxODUsMTI5NjgxMzQ0Nzk4OC40NjEyXSxbMTc4NTA3ODAwNDE4MywxMjk2Njc5NDY1NzM1LjE3MTFdLFsxNzg1MDc4Mjk5ODQyLDEyOTcwNzA2MjMyOTEuMTM1M10sWzE3ODUwNzg1OTkyOTgsMTI5NjgyMzAyMDIyNy4zMzc0XSxbMTc4NTA3ODg5Nzc1MCwxMjk2MzcwMzU5OTUzLjkyMDddLFsxNzg1MDc5MTk5NzI1LDEyOTc4Mzg3OTczODUuNzMzNl0sWzE3ODUwNzk0OTkzMDQsMTI5ODIwMTYzMzMwMC4zMzY0XSxbMTc4NTA3OTc5OTE0MCwxMjk3OTk4ODg1MDEzLjM5MThdLFsxNzg1MDgwMDk0NjM2LDEyOTc2NzczMDUwNjkuNTc4MV0sWzE3ODUwODAzOTU5OTEsMTI5ODk2MDE1NTY3Mi4zMzk4XSxbMTc4NTA4MDY5ODAwMywxMjk4NzAzMjUzMTEzLjg2OF0sWzE3ODUwODA5OTk2NDcsMTI5ODI1MDE3MTQ0Ny4yNTM0XSxbMTc4NTA4MTI5NzQxNywxMjk3OTc2Mjk4OTc0LjIyNjZdLFsxNzg1MDgxNjAxNDczLDEyOTgxOTU0Mzc3MDEuNjA4Nl0sWzE3ODUwODE4OTkwMzMsMTI5ODI0OTgxMzI5OC4wOTRdLFsxNzg1MDgyMTk5NTcwLDEyOTcxNjU4NzcyODAuNTAxNV0sWzE3ODUwODI0OTk3OTQsMTI5NzA1NzE4MjE2My4yMzEyXSxbMTc4NTA4Mjc5ODgzNCwxMjk4MzM4ODc0NzI1LjY2NTVdLFsxNzg1MDgzMDk4OTg2LDEyOTgxMTc0NDkwOTUuODMyM10sWzE3ODUwODMzOTg2MTEsMTI5ODM0MjA2MjgwNC41MjFdLFsxNzg1MDgzNjk5NDU5LDEzMDA1MTkzMDUzNTkuMTM3Ml0sWzE3ODUwODM5OTQwMDMsMTI5OTQzMDc3ODAzMS4wMDY2XSxbMTc4NTA4NDI5ODUyNSwxMjk5NTYyMDIwMDk4LjQxODJdLFsxNzg1MDg0NTk3MzI0LDEyOTkzMzUxMzA2NDIuNzUwNV0sWzE3ODUwODQ4OTk3MDYsMTI5ODM0MDgyOTQ5My45ODldLFsxNzg1MDg1MjAwMDQxLDEyOTc3MzU4NzAxOTYuMTA3Ml0sWzE3ODUwODU0OTY5NjAsMTI5Njk5MTkxNzAyNy4zNDEzXSxbMTc4NTA4NTc5NzQ2NSwxMjk2ODg3NDg2NjQ1Ljk5NjZdLFsxNzg1MDg2MDk5OTkxLDEyOTc3NTI4MzY1ODMuNDI5N10sWzE3ODUwODYzOTk5OTQsMTI5ODI2Njk0NzM3Mi4yNzddLFsxNzg1MDg2Njk5Nzc5LDEyOTc0OTI5OTE5MDcuMjAyNl0sWzE3ODUwODY5OTc0NjYsMTI5NzEzODQwMzU2Ni4xODEyXSxbMTc4NTA4NzI5OTEyMCwxMjk3NzM1OTIyMjE3LjY3NjVdLFsxNzg1MDg3NTk1OTE5LDEyOTcwMDk3NTgzMDcuNjY4NV0sWzE3ODUwODc4OTU4NDIsMTI5NjM5MTEwNjg4NC4wMTddLFsxNzg1MDg4MTk5OTEyLDEyOTY1NDcyNjMxNjMuODQ0NV0sWzE3ODUwODg0OTczMTgsMTI5Njc4MDc3NTExNi41NTgzXSxbMTc4NTA4ODgwMjM1OSwxMjk2MzA5MjIxMjA0LjM3M10sWzE3ODUwODkwOTgyNDUsMTI5NjUxODY2NzYyMS44NzddLFsxNzg1MDg5Mzk5Mzg3LDEyOTY2MjQyMjMzNjMuNzU5XSxbMTc4NTA4OTY5OTI1NCwxMjk2ODczNTA4OTk1LjczMjRdLFsxNzg1MDg5OTk2Mjg0LDEyOTYzNDQwNjkxNjQuNTM2Nl0sWzE3ODUwOTAyOTk1OTMsMTI5NjcyMzk5OTQ0Ni40NzkyXSxbMTc4NTA5MDU5NjEwMywxMjk2NjQyNzExMzg0LjQwNTNdLFsxNzg1MDkwODk5NjAxLDEyOTY3Mzg0NzQ3MTguMzExXSxbMTc4NTA5MTE5NzY0NiwxMjk2NzI3NzAwODgxLjQ4Nl0sWzE3ODUwOTE0OTg4NjMsMTI5Njg5MjEwNjg2Ny43NjY4XSxbMTc4NTA5MTc5NjQ1MywxMjk3MTU1NzIyMjM5Ljk0NTZdLFsxNzg1MDkyMTAwMDY5LDEyOTgwMDI3MzUwNDcuNzE5XSxbMTc4NTA5MjM5NTg5MiwxMjk3NTU1MjcxNzIxLjUxMTddLFsxNzg1MDkyNjk4OTUxLDEyOTc0ODY1NTExOTUuOTg5XSxbMTc4NTA5Mjk5NzgxNiwxMjk3MDU0ODI3NDU4LjU2NjRdLFsxNzg1MDkzMjk2MjM2LDEyOTY0MTk1MTM4NzkuMjQyMl0sWzE3ODUwOTM1OTUyMDEsMTI5NjQ0MjQyNTgyNy45MTNdLFsxNzg1MDkzODk3MzI3LDEyOTcwNDY2NTMyOTkuMDQzXSxbMTc4NTA5NDIwMDE4MCwxMjk2NzczMzMwMjIzLjEyNzJdLFsxNzg1MDk0NDk5NTcxLDEyOTc2MjY2MjYxODguMTY5NF0sWzE3ODUwOTQ3OTkwNjYsMTI5NzMwMTkwODc1MS40NDE3XSxbMTc4NTA5NTA5NjU1MiwxMjk3MjU4MTY1Mjk3Ljc2NDJdLFsxNzg1MDk1Mzk2NjQwLDEyOTcwNTgzOTgyNzAuNjE5XSxbMTc4NTA5NTY5NjM3OSwxMjk2ODcxODEwMzIxLjA2NjRdLFsxNzg1MDk2MDAwNzUwLDEyOTY3NjA3NTk1ODUuNzM3M10sWzE3ODUwOTYzMDAzODUsMTI5NjU5MDY5NTkwMi4yODc2XSxbMTc4NTA5NjU5OTY0MCwxMjk2ODQ3MDg5Nzk1LjgxOThdLFsxNzg1MDk2ODk1NzMwLDEyOTY2Mjc4NzQwNzguMTUwNl0sWzE3ODUwOTcxOTY5MTcsMTI5NjE1ODUxNDY0Ny40ODU2XSxbMTc4NTA5NzQ5OTQyNCwxMjk1NzkwMzc4ODU1LjY5MTRdLFsxNzg1MDk3Nzk4ODAyLDEyOTU2NzM2MDMyNTYuMzMxM10sWzE3ODUwOTgwOTk1NDEsMTI5NTk2MDMxNjI5My4zNDg2XSxbMTc4NTA5ODM5NTkxOCwxMjk1ODcwNTYyMDI5LjEyMjNdLFsxNzg1MDk4Njk2ODYxLDEyOTYwNTg2ODg2MjEuMzU2NF0sWzE3ODUwOTg5OTQxNjAsMTI5NjA0OTI5MjUxMS41NDAzXSxbMTc4NTA5OTI5OTk2NywxMjk1ODA3NzY3NjgwLjgxN10sWzE3ODUwOTk1OTY1NzcsMTI5NTc4MzIxMjUxNC40OTM0XSxbMTc4NTA5OTg5NTg3NywxMjk2MzQ3ODg0ODQ0LjI3NjZdLFsxNzg1MTAwMTk4NDQxLDEyOTYwMDk2OTczMjIuODg5Nl0sWzE3ODUxMDA0OTgyMTAsMTI5NjQ1OTAzNzEyNS42MjFdLFsxNzg1MTAwNzk4ODY0LDEyOTY5NTE0NDIyNjcuODQ4MV0sWzE3ODUxMDEwOTkyNTUsMTI5Nzg1MzgzNzEyNS4zNTRdLFsxNzg1MTAxMzk4NDg4LDEyOTkzOTk1NzQwOTkuOTcxN10sWzE3ODUxMDE2OTYxMzYsMTI5OTA4Njc2MDEzMy42NDkyXSxbMTc4NTEwMTk5OTQ1OSwxMjk5MzA0ODA4NjgzLjQ4MzZdLFsxNzg1MTAyMjk1MTA3LDEyOTkyOTUxNTgwMzEuMTU3N10sWzE3ODUxMDI1OTYyMDcsMTMwMDE3MzAzMzcyMi4xNDddLFsxNzg1MTAyODk5MDY1LDEzMDAxNTM0MTM3NzEuNzI3M10sWzE3ODUxMDMxOTQ0ODgsMTMwMDEyNjI0OTQ4MS43MjddLFsxNzg1MTAzNDkzMjMyLDEzMDUwNTcyMjE1NjguMTg4Ml0sWzE3ODUxMDM3OTg3ODYsMTMwNjQxNTg3MzAyOS4xMTY3XSxbMTc4NTEwNDA5ODg5MywxMzA3MjA1MDU3ODcxLjAyMjJdLFsxNzg1MTA0Mzk5NzY5LDEzMDcwNTAzNzM5MTYuMzA3NF0sWzE3ODUxMDQ2OTYyNTYsMTMwNzI1MjkyNTE3OS4zNzE4XSxbMTc4NTEwNDk5OTE3NiwxMzA3MjgxMTgyMDM3Ljk0NDhdLFsxNzg1MTA1Mjk4MTM1LDEzMDk5MTI3MjM5ODMuNTIwM10sWzE3ODUxMDU1OTY2OTgsMTMxMTUyNzI0MTM0MS41Mjk1XSxbMTc4NTEwNTg5NTUwNSwxMzEyMzI4ODQzNDc5Ljg4NDVdLFsxNzg1MTA2MTk4NjU4LDEzMTE0NjM0MTkwNTIuODE4Nl0sWzE3ODUxMDY0OTY2OTYsMTMxMTM2NTAyNTI3MS41MzI3XSxbMTc4NTEwNjc5ODgwNCwxMzEwNzQ0NTcxODQwLjYxOTldLFsxNzg1MTA3MDk5MTk4LDEzMTEwNjA1Nzk1MTMuODkwNF0sWzE3ODUxMDczOTg3MTMsMTMxMzI2ODE0Mzg2Ni41NTc2XSxbMTc4NTEwNzY5OTM0NSwxMzEyNDg2OTIwNDA1Ljg5ODRdLFsxNzg1MTA3OTk5NzkxLDEzMTExMjEwMDA4OTYuMzQ2XSxbMTc4NTEwODI5OTY4OSwxMzEwMDcyMjIyMTE0LjQ5MjJdLFsxNzg1MTA4NTkyNzUzLDEzMDk0Njc3MTMzMTQuNTY1NF0sWzE3ODUxMDg4OTY2MjYsMTMwOTQyOTkxMTg3OC4yNDM0XSxbMTc4NTEwOTE5NzkwOCwxMzA5OTczMzI1NjA3LjU0Nl0sWzE3ODUxMDk0OTk2OTgsMTMxMDY5NDQ4MjU0My40NjE3XSxbMTc4NTEwOTc5ODUwMiwxMzEwOTcyNzI1ODI3LjgyODZdLFsxNzg1MTEwMDk3Njg4LDEzMTE1MTc1NTQ2MjYuNDQ5XSxbMTc4NTExMDM5Njg2NCwxMzEwMzQ0OTczNDcxLjQyOTJdLFsxNzg1MTEwNjk5NTg5LDEzMDkzODExMDYxNzAuNjYyXSxbMTc4NTExMDk5NTg5NywxMzA3MzQyNzU4MzYyLjAyNzZdLFsxNzg1MTExMjk4NTUyLDEzMDcxOTM0OTIyNDkuMzkwNl0sWzE3ODUxMTE1OTkyNTksMTMwNjU4MzY5ODQzNC4zXSxbMTc4NTExMTg5NzY5MywxMzA2MDQ0ODk2NjE1LjU0ODZdLFsxNzg1MTEyMTk2ODk0LDEzMDc0NDIwMTA3MDIuMDc5XSxbMTc4NTExMjQ5NzAwOSwxMzA2OTgwMDM2MDIwLjU1ODhdLFsxNzg1MTEyNzk5ODY3LDEzMDU1MDI4Nzk2ODIuNTZdLFsxNzg1MTEzMDk4NTEyLDEzMDU2NjYxMDY4MTEuMzU2NF0sWzE3ODUxMTMzOTc3MzUsMTMwNTk4ODA0MDI4Ny41NjddLFsxNzg1MTEzNjk5MjU0LDEzMDU5ODEwOTQxNzEuOTYyMl0sWzE3ODUxMTM5OTY1NjIsMTMwNDk0OTc5MjI4NC45OTA3XSxbMTc4NTExNDI5ODQ4OCwxMzA2MzQzMjcyMDMxLjA4NDVdLFsxNzg1MTE0NjAwMDE0LDEzMDYzNzY1OTAyOTYuNDUzNl0sWzE3ODUxMTQ4OTQyODQsMTMwNDY4MjA2ODAwOC4xNzNdLFsxNzg1MTE1MTk5ODEzLDEzMDM5NDU1NjI3OTQuMDE0Ml0sWzE3ODUxMTU0OTg2ODcsMTMwNDEyODIyMDkwMC4yNjM0XSxbMTc4NTExNTc5Nzc4MiwxMzAzNjk4NzYzMDQwLjc3MzRdLFsxNzg1MTE2MDk3ODIyLDEzMDQwODk5MTI4MjQuOTI3Ml0sWzE3ODUxMTYzOTk4MzIsMTMwMjc5NjAzMzcwOS4zNjA2XSxbMTc4NTExNjY5OTcwMCwxMzA0NjU5NTQ0NDA2LjQ3ODhdLFsxNzg1MTE2OTk3Nzg2LDEzMDU3NTk5NjgwNTkuMDM2MV0sWzE3ODUxMTcyOTg1OTYsMTMwNjAyOTMyMjYzNC4yMzgzXSxbMTc4NTExNzU5OTkyNywxMzA2ODc1NjYxOTU5LjA2OV0sWzE3ODUxMTc4OTA1MjEsMTMwNjQ2MjgxNzUxOS42Mzg3XSxbMTc4NTExODIwMDAwNiwxMzA2MzUzNzE5OTEyLjM4OF0sWzE3ODUxMTg0OTkxOTAsMTMwNjg0Mjk0MDg0MS43NzJdLFsxNzg1MTE4Nzk3MDg3LDEzMDY1NDAyOTYwNjguNDEzOF0sWzE3ODUxMTkwOTI1MTYsMTMwNjU3MzUzNjExNi40NTddLFsxNzg1MTE5Mzk4ODI2LDEzMDY3MjQ5MzAzMTAuMjY1OV0sWzE3ODUxMTk3MDE5MTgsMTMwNTQyMDM4NDU3NS4wMjNdLFsxNzg1MTE5OTk3Mzc1LDEzMDcyMjE5MDc2MTAuMDk3XSxbMTc4NTEyMDI5NzA1MiwxMzA4MDA1NDEyODEyLjUwODNdLFsxNzg1MTIwNTk2Njg5LDEzMDc2MzI0MDE2MTAuOTM5NV0sWzE3ODUxMjA4OTcxNDIsMTMwNTY5MjM5Mzg1Ni4wMjVdLFsxNzg1MTIxMTkxOTU0LDEzMDYzMzY5OTc2MzYuNjY3XSxbMTc4NTEyMTQ5Njc2NiwxMzA3NTg5MzA2MjE5LjQ3OV0sWzE3ODUxMjE3OTY5NjgsMTMwNzM4Mzg5OTM1Mi42NjY1XSxbMTc4NTEyMjA5OTYxMSwxMzA3MzcwMDMyNjUzLjQ5Ml0sWzE3ODUxMjIzOTkzNjAsMTMwODU4Mjk4MDYzMi45ODIyXSxbMTc4NTEyMjY5NzM2MiwxMzA4NzUyMTkwMDIwLjY3NTVdLFsxNzg1MTIzMDAxODkwLDEzMDkyNDcxNDkyODMuMjc3M10sWzE3ODUxMjMyOTk4NjcsMTMwODI2MzU4Mjk4NS41XSxbMTc4NTEyMzU5NTU2NywxMzA4NzUxMjA5MDE0LjIwOF0sWzE3ODUxMjM4OTc1MjgsMTMwOTUxNTIzMzMxOC43Njg2XSxbMTc4NTEyNDE5NjY4MiwxMzA5NzMzMTY4NDcyLjgwMDhdLFsxNzg1MTI0NDk3MjAxLDEzMDg5ODA3ODcwNzIuMDA0NF0sWzE3ODUxMjQ4MDAwMDIsMTMwODQ2MzY4MjcxOS45NjQ4XSxbMTc4NTEyNTA5OTk3NiwxMzA4OTk3NTk3OTc1LjQ2MV0sWzE3ODUxMjUzOTk1MDgsMTMwOTg4MTg4NzM0Ny41NDM3XSxbMTc4NTEyNTY5NzAxOCwxMzA4MTgxMzI3MTYzLjg0OTZdLFsxNzg1MTI1OTk5MTg1LDEzMDk4Nzk0NDY2NjAuMjg1Nl0sWzE3ODUxMjYyOTk1OTMsMTMxMTg2NzI3Mzg4Ny41Mzg2XSxbMTc4NTEyNjM1ODc5OSwxMzEwODI1NTk3MzMxLjc4OV0sWzE3ODUxMjcxOTcyODQsMTMwOTk2MzgwOTA2My42OTQ4XSxbMTc4NTEyNzQ5Njg5MywxMzEwNDMxMTc5NDE0LjM4NjJdLFsxNzg1MTI3Nzk0MTA0LDEzMDk4MTA0NDI1NDcuNTE1XSxbMTc4NTEyODEwMDEwOCwxMzA5MjQwMzg1MDg3LjAxNF0sWzE3ODUxMjg0MDE5ODYsMTMwODkxMDY3OTAyOS4zNjMzXSxbMTc4NTEyODY5OTE5MywxMzA4OTQ4NDM3NjMwLjI5ODNdLFsxNzg1MTI4OTk2MzI1LDEzMDg4OTk1MDg4NTYuMjE2XSxbMTc4NTEyOTI5OTg0MCwxMzEwMTI4NTM0MDg2LjkxODVdLFsxNzg1MTI5NTk5MDgzLDEzMTAyMDkwMTExODkuNDE0M10sWzE3ODUxMjk4OTgzMjUsMTMxMTE0MDQ5MDEzNi43MTldLFsxNzg1MTMwMTk5NzgyLDEzMTA4MTg0Mzk2ODkuMDg4MV0sWzE3ODUxMzA0OTY3NzAsMTMxMTExODg4MDY0My4wNDRdLFsxNzg1MTMwNzk5OTQ2LDEzMTA0NjYyNTI5MDIuODA3Nl0sWzE3ODUxMzEwOTg5MjAsMTMxMDYzOTk5NjAyMC40Nzc4XSxbMTc4NTEzMTM5OTgwMSwxMzA5ODk3Mzc5MTQ2LjM5OTRdLFsxNzg1MTMxNjk4NjMzLDEzMTAyNDI5ODk5OTUuMzkyNl0sWzE3ODUxMzE5OTg3NzYsMTMxMTg0NTg1ODA4OS4wMjk4XSxbMTc4NTEzMjI5ODcxNywxMzEyNjE1Mzc5ODk5LjE4Nl0sWzE3ODUxMzI1OTYzNDEsMTMxNDAxNTk5NDQ5OS40ODAyXSxbMTc4NTEzMjg5ODY4NiwxMzE0OTk4ODI0NDc1Ljc0Nl0sWzE3ODUxMzMxOTk1NDMsMTMxNDgwMTM4NzEyNS44NzQ4XSxbMTc4NTEzMzQ5NjQwMSwxMzEzNDM4NzUzNzQ0LjYyNjVdLFsxNzg1MTMzNzk3MzI5LDEzMTI0ODA3MjI1MDkuMDU3Nl0sWzE3ODUxMzM5NjcwMDAsMTMxMjU2ODM2NjgzOC45MDU1XV0sInRvdGFsX3ZvbHVtZXMiOltbMTc4NTA0NzY5NzQ1OCwxMzg0MDc5MDU0MS40NDg2MDhdLFsxNzg1MDQ3OTk5NzU2LDE0MDgzMTkwNjA0LjE5NjA1Nl0sWzE3ODUwNDgyOTc3OTUsMTM1NjMxNjk2ODIuMjI5MzU5XSxbMTc4NTA0ODU5OTU3NCwxMzY0ODAzNjU4OS4xNjM5OV0sWzE3ODUwNDg4OTk5MjksMTM2NzA1NDg5ODMuMzkzNDkyXSxbMTc4NTA0OTIwNDgyMiwxMzg1OTU1Mjc0Ny4yNjYxMTFdLFsxNzg1MDQ5NDk5NDA1LDEzOTg5NDIyMDQ4LjYxNTIwMl0sWzE3ODUwNDk3OTk1MzksMTM1OTY4NjM5MDIuOTIzNjc0XSxbMTc4NTA1MDA5ODQwNSwxMzY3MjM4NDkwMS43NjUzNl0sWzE3ODUwNTAzOTk2OTAsMTQwNzI0NTExNTkuODkzODA4XSxbMTc4NTA1MDY5Njk3MSwxMzk4NzgwMzY1My4zODM2NjNdLFsxNzg1MDUwOTk3MzI4LDEzODg2NTAzNDgyLjg2MDk1XSxbMTc4NTA1MTI5OTkwMSwxMzg1MTc4MjQ5Ni43OTY4MDZdLFsxNzg1MDUxNTk2NDAzLDEzODMyMzM2MzAwLjM3NjAzNF0sWzE3ODUwNTE4OTYzNzIsMTM2OTk4NDE5MTcuMzc0NDUzXSxbMTc4NTA1MjE5NjIxMywxMzg3NzY4MTk2Mi4wNjU5MDhdLFsxNzg1MDUyNDk4Mzc4LDEzNTQxNDg0OTI5LjIyNjI3Nl0sWzE3ODUwNTI4MDEyMzgsMTM2MDA5NDY5OTQuMjE0MzMzXSxbMTc4NTA1MzA5OTAzMSwxMzU4OTAwNjc3Mi4zNjk4NjVdLFsxNzg1MDUzMzk4NDM5LDEzNDc2OTI4NTk0LjIyMDQ5M10sWzE3ODUwNTM2OTk3NjgsMTM0MTY5OTQ0ODEuMjQ1ODU1XSxbMTc4NTA1Mzk5NTc4NywxMzcyMDE2MTMzOC42NTM0NTRdLFsxNzg1MDU0Mjk1NDI0LDEzNjg2MDk2MTA2LjEzMDk5MV0sWzE3ODUwNTQ1OTkzMTcsMTM1ODQ4MzYzMjIuMjQ1MTQ0XSxbMTc4NTA1NDg5ODYxOCwxMzU1OTkwNzU1Ny43MTUwOF0sWzE3ODUwNTUyMDAxODYsMTM5MTc1MTg4MzIuOTI3ODhdLFsxNzg1MDU1NDkyNDczLDEzODQyNzY3NjIzLjI1NDczNl0sWzE3ODUwNTU3OTg2ODQsMTM4Njk4NjUwMjkuNDEzOTYzXSxbMTc4NTA1NjA5NzAyNSwxMzQ0ODI3NzcxNS4xODAwODhdLFsxNzg1MDU2Mzk3ODA4LDEzMjY5NzkxMDE1LjI2NDIwNl0sWzE3ODUwNTY2OTk1OTQsMTMxOTI0NDg5MDUuNDk5ODY2XSxbMTc4NTA1Njk5OTkwOSwxMzEyODQ1MjMyMy41MzIxMjRdLFsxNzg1MDU3Mjk0NTEzLDEzMDA0ODQ5ODU2LjQwOTAzM10sWzE3ODUwNTc1OTk4MzcsMTI3OTI2MzkyNzQuMzgyNTIzXSxbMTc4NTA1Nzg5NzkwOCwxMjU1NzYwNjg4MS44MjUwNjhdLFsxNzg1MDU4MTk3NTM0LDEyNzQ0MTEwNTE1LjE4OTM1NF0sWzE3ODUwNTg0OTkxNDEsMTI1NTU5MjYyNTEuMTEyNjhdLFsxNzg1MDU4Nzk5OTc2LDEyNDY1NTk5ODMwLjI1MzE4MV0sWzE3ODUwNTkwOTg2ODEsMTIzNDE5OTYwODMuOTI4NzM4XSxbMTc4NTA1OTQwMDEzMCwxMjE1OTgwMTk1NC41NDg1NjVdLFsxNzg1MDU5Njk4Mjk1LDExNzg3MDQ2NjA2LjI3MTY0NV0sWzE3ODUwNTk5OTc4NzUsMTE3MzA5MTEyMDAuMjg4NDM3XSxbMTc4NTA2MDI5Njk1MiwxMTgyMjIxMTY5OS4xNjU4NjddLFsxNzg1MDYwNTk2MDM2LDExODM4MzYxNDYzLjMwMTg5NV0sWzE3ODUwNjA4OTQwNzEsMTE3NjAzNTI4OTIuODA2NDYxXSxbMTc4NTA2MTE5ODc1MywxMTc0NzUxMTE0Ny40NDY3Ml0sWzE3ODUwNjE0OTY4MDQsMTIwMTMwMzkyNDUuMjYxMjVdLFsxNzg1MDYxNzk4NTc3LDExNzUwNDU3NTg3LjYxMTQxXSxbMTc4NTA2MjA5ODY1MywxMTcyNTk4NjY1NS43NDMyNjddLFsxNzg1MDYyMzk1NzI5LDExODMzNDIwNjU3LjYyNDUyMV0sWzE3ODUwNjI2OTk2ODgsMTE4NDkwMDg0NDMuOTYwNDVdLFsxNzg1MDYyOTk5MDAyLDEyMjIwMTEwMjcwLjY2OTQ4XSxbMTc4NTA2MzI5ODk4NiwxMjE5ODU4MzQyNS4wMDQwOTVdLFsxNzg1MDYzNTk4MTAyLDExNzkxMDk0ODY4LjYxMTI2OV0sWzE3ODUwNjM4OTk0NjYsMTE4ODE2OTUyMTkuMTQ3NjczXSxbMTc4NTA2NDE5NjAzNiwxMjA2NjIzOTIwOS4zNjAzNjldLFsxNzg1MDY0NDk5OTYzLDExODAzMzA1NjkyLjMwNjEzOV0sWzE3ODUwNjQ3OTkxOTYsMTE3OTgyNjY2ODQuNzMwNTk1XSxbMTc4NTA2NTA5NzcyNCwxMTgwNDQ4NzUwMi43NjQ5Ml0sWzE3ODUwNjUzOTk5MzYsMTE3NjE4ODc5ODIuMzI4MDddLFsxNzg1MDY1Njk2NDQ1LDExNzczMjgyODY4LjY2NTVdLFsxNzg1MDY1OTk4MTA4LDExODAxNTA1ODc4LjE4NzIwNF0sWzE3ODUwNjYyOTg0NTMsMTE4MzYyNTAzNzIuNzE0NTk2XSxbMTc4NTA2NjU5NjE0OCwxMTg2OTMyNDI4NS44MjU3NzNdLFsxNzg1MDY2ODk3MTkxLDExODM2NDczNjEzLjUwMDIyN10sWzE3ODUwNjcxOTkxMzEsMTE4MzMxNjcyNzUuNTE2OTZdLFsxNzg1MDY3NDk5OTQyLDEyMDk0NDI4OTg4Ljk0MzU0XSxbMTc4NTA2Nzc5ODcxOSwxMjEwMzgyMzcxNS4zNjExOF0sWzE3ODUwNjgwOTY5NzgsMTIxNDUwMDgwOTQuODIzMzQ3XSxbMTc4NTA2ODM5NTgwNywxMjQzMzQyMjUxNS41Nzg2NDhdLFsxNzg1MDY4NjkxMTE5LDEyMDk3Mzk1OTk3LjkyNzExOF0sWzE3ODUwNjg5OTkwNzAsMTIyMTA4NjEyNzAuODUzNjYyXSxbMTc4NTA2OTI5ODQ4NCwxMjAyMzM4OTAyMi40MjA1NjVdLFsxNzg1MDY5NTk3MzQ3LDEyMjAxODcwNTUwLjc4OTA5M10sWzE3ODUwNjk4OTk0ODUsMTI0MDAxOTU4MDcuNDQxMDI3XSxbMTc4NTA3MDE5ODMwMSwxMjI1NDc1MDk2NC42MDczNjhdLFsxNzg1MDcwNDk2MzI4LDEyMTA4MzE2MTg0Ljc4MDM4Ml0sWzE3ODUwNzA3OTE1MjYsMTE5OTYwMzU4ODAuMDEzNjk5XSxbMTc4NTA3MTA5OTMzOSwxMjM5NDQ4Mzg1NC45NzQ0MDFdLFsxNzg1MDcxMzk4NzM5LDEyMTUwMDA1Mjk5LjM1NjEyN10sWzE3ODUwNzE2OTU4NzQsMTIxMzgwMzYyODIuNzMzMjczXSxbMTc4NTA3MjAwMDM5MCwxMjI5Nzg5MzAwMy41ODM4MzhdLFsxNzg1MDcyMjk3MTkwLDEyMTIwOTYyNzc4LjIyOTg5XSxbMTc4NTA3MjYwMDgxMiwxMjI4ODU3MzE1My4xNzYyNDldLFsxNzg1MDcyODk2NDU0LDEyMDkwNTA0NzY2LjUwNDUxNV0sWzE3ODUwNzMxOTc3ODcsMTE5OTEwOTY5ODMuNjMwMjI0XSxbMTc4NTA3MzQ5NjgwNiwxMjQ4NjU1MjcxMC41MzgzMTldLFsxNzg1MDczNzk4ODM4LDEyMTI3Mjc5NTI2LjIyMTI5Nl0sWzE3ODUwNzQwOTM1MDgsMTIyMDI1MjI4NzkuNTQ5OTk0XSxbMTc4NTA3NDM5NzE1MywxMjI2NTUwODk4MS4wNzQ1MThdLFsxNzg1MDc0Njk3MTcyLDEyMzg3MzU3MTQ1Ljc1MDE5OF0sWzE3ODUwNzQ5OTY2MjAsMTI2MjkzMDY5NzEuNjEwMTk3XSxbMTc4NTA3NTI5OTMyNiwxMjI2NjA1NzE5MC4wODc0OF0sWzE3ODUwNzU1OTg3MTcsMTIyNzY4ODYwOTQuMTM4NTA2XSxbMTc4NTA3NTg5ODk2MiwxMjI0MTQ0MDAzMy4yNDE5NjJdLFsxNzg1MDc2MTkzMzkzLDEyMzYwNDIwOTU3Ljg1MTUzNl0sWzE3ODUwNzY0OTg0NTgsMTIzNDU0MzM3NDQuOTg1NTg2XSxbMTc4NTA3Njc5NzkwMSwxMjM2MzA4MDg3NS45NTg1NzhdLFsxNzg1MDc3MDk5MTAxLDEyMzM5MTEwMjEyLjE4MDk4XSxbMTc4NTA3NzM5OTkwMCwxMjU4OTY2MTY0MC40NDM1MDZdLFsxNzg1MDc3Njk3MTg1LDEyMzA1Mjg1MDI2LjM4MTE3NF0sWzE3ODUwNzgwMDQxODMsMTIzODA0NDIzNjUuMDk3ODg1XSxbMTc4NTA3ODI5OTg0MiwxMjc1NjcxMDI5MC44NzQxNl0sWzE3ODUwNzg1OTkyOTgsMTI4NDYyMTUxNjIuMjgyMDg1XSxbMTc4NTA3ODg5Nzc1MCwxMjI5MzI5NzQyOS42Nzk5NjhdLFsxNzg1MDc5MTk5NzI1LDEyNTA5NDkwMDI2LjQ0NDA5Nl0sWzE3ODUwNzk0OTkzMDQsMTI1NzUxMDgwNzQuMzE4NDUzXSxbMTc4NTA3OTc5OTE0MCwxMjQxMDY0MzI4My4yMDg2NzVdLFsxNzg1MDgwMDk0NjM2LDEyNjA2NzU1NzU2LjY5MDM1N10sWzE3ODUwODAzOTU5OTEsMTI0NzA5MzI2MjUuMzMxMjgyXSxbMTc4NTA4MDY5ODAwMywxMjY3NjUxNjM1MC44NjM5NTZdLFsxNzg1MDgwOTk5NjQ3LDEyNzA3NjE2MTgzLjAxMDkzNV0sWzE3ODUwODEyOTc0MTcsMTI3Mjc4OTg3MTkuOTgxODI5XSxbMTc4NTA4MTYwMTQ3MywxMjcxOTQ5MzAxNi44OTYwMDZdLFsxNzg1MDgxODk5MDMzLDEyOTE2NDcwNDU4Ljg0NzA3Nl0sWzE3ODUwODIxOTk1NzAsMTI1ODEyMzEzNDguNTg4NjE1XSxbMTc4NTA4MjQ5OTc5NCwxMjYxNTYwNTcxOC43NTQ4MTJdLFsxNzg1MDgyNzk4ODM0LDEyNzY4Mjg3NjE4LjMyNTkyXSxbMTc4NTA4MzA5ODk4NiwxMjc1OTU0NjQxOS45OTUzOTRdLFsxNzg1MDgzMzk4NjExLDEyNzg2MDMzMzU1LjQ0NTEzXSxbMTc4NTA4MzY5OTQ1OSwxMzA3ODc0ODA3NS4zMjIwNzldLFsxNzg1MDgzOTk0MDAzLDEyOTQ4MDE1MTU2LjkwMjMzNl0sWzE3ODUwODQyOTg1MjUsMTI5NTkxMzIxMDUuMDEyOTgzXSxbMTc4NTA4NDU5NzMyNCwxMjg2MzE2NDU5OS4wMDQxNjhdLFsxNzg1MDg0ODk5NzA2LDEzMjMyNjg2Mzk0LjMzNDUzNF0sWzE3ODUwODUyMDAwNDEsMTI5NDk2NDQxNzYuODcxNzE2XSxbMTc4NTA4NTQ5Njk2MCwxMzI1MzQ4NjAzMy45Njk2OTRdLFsxNzg1MDg1Nzk3NDY1LDEyODUzNzI5ODM0LjY0NjU2NF0sWzE3ODUwODYwOTk5OTEsMTMzMjY4MDkxMDUuNjIyNTM0XSxbMTc4NTA4NjM5OTk5NCwxMzE1MTYyOTQ0MC43NzU1NTVdLFsxNzg1MDg2Njk5Nzc5LDEzMTc5OTEwNDUyLjM3ODgxXSxbMTc4NTA4Njk5NzQ2NiwxMjk1ODY3NjcyNC40MjIwNDldLFsxNzg1MDg3Mjk5MTIwLDEzMDIyOTEyNzk2LjQ3Mzk4XSxbMTc4NTA4NzU5NTkxOSwxMzM3NzU2OTAyOC4zNjM0MzZdLFsxNzg1MDg3ODk1ODQyLDEzMDUzMzc3MzE5LjE1MDA0N10sWzE3ODUwODgxOTk5MTIsMTMwNDIwMzcxMDAuMTQ4MzA2XSxbMTc4NTA4ODQ5NzMxOCwxMjk5NTE4NzYzNi44OTQ0NzJdLFsxNzg1MDg4ODAyMzU5LDEyOTkxNzkyMTgxLjU1MTY1MV0sWzE3ODUwODkwOTgyNDUsMTI4NDExMjAzMjguOTQxODddLFsxNzg1MDg5Mzk5Mzg3LDEyOTEyMzI3NzA5LjA4MTQ5NV0sWzE3ODUwODk2OTkyNTQsMTI4NjM5MTgyODEuMTcyODldLFsxNzg1MDg5OTk2Mjg0LDEyODU4Njg2NjI5Ljk4MzE4M10sWzE3ODUwOTAyOTk1OTMsMTI4ODgyMjg5NDUuMTE1MzQ3XSxbMTc4NTA5MDU5NjEwMywxMjg2Mzc3NzMxNC44ODczMjNdLFsxNzg1MDkwODk5NjAxLDEzMDM1MjgzOTI5LjY0NDU3OV0sWzE3ODUwOTExOTc2NDYsMTI3ODAyNTc5NjQuNzMxNDQ3XSxbMTc4NTA5MTQ5ODg2MywxMjY2OTgxNzc1NS42NzQ3ODZdLFsxNzg1MDkxNzk2NDUzLDEyNzQ5MTAyMTMzLjIyNzYxN10sWzE3ODUwOTIxMDAwNjksMTI5MzEyMDMyNTQuMzQzOTM1XSxbMTc4NTA5MjM5NTg5MiwxMjczNTgxODc1NS45ODExMTVdLFsxNzg1MDkyNjk4OTUxLDEyNjk2OTk1NTYyLjk0NzE3Nl0sWzE3ODUwOTI5OTc4MTYsMTI5MDkxNzg5OTkuMTk1MDA3XSxbMTc4NTA5MzI5NjIzNiwxMzA4MDU4NjkwNy42NTQ2MjVdLFsxNzg1MDkzNTk1MjAxLDEyNTY1Njk2MTgxLjk1MDAyXSxbMTc4NTA5Mzg5NzMyNywxMjc0NTA2MzgyOC41NjA1Ml0sWzE3ODUwOTQyMDAxODAsMTI3OTMyMzE5NDkuMTY5OThdLFsxNzg1MDk0NDk5NTcxLDEyNzY3NjcyNDY2LjA2MjYxOF0sWzE3ODUwOTQ3OTkwNjYsMTI5MDMwNjA1OTUuMzc4MzhdLFsxNzg1MDk1MDk2NTUyLDEyNzg0MzM2MjI4LjYwNjc0M10sWzE3ODUwOTUzOTY2NDAsMTMxNzM4ODQyNTMuNzc3ODc2XSxbMTc4NTA5NTY5NjM3OSwxMjczMTAyNTIxMi44MDE5M10sWzE3ODUwOTYwMDA3NTAsMTI4MjQ0NzYzMTguMzcwODUzXSxbMTc4NTA5NjMwMDM4NSwxMjg3NDA4MTY0OC41MDEwNF0sWzE3ODUwOTY1OTk2NDAsMTI2NjkxOTU5MTkuNTM1ODgxXSxbMTc4NTA5Njg5NTczMCwxMjY2NDgzNTM3Ni4yOTQ5MzVdLFsxNzg1MDk3MTk2OTE3LDEyOTUzMTEzNTc2Ljg5MzI5XSxbMTc4NTA5NzQ5OTQyNCwxMjYyMDU1MzAyMy42MTQzODRdLFsxNzg1MDk3Nzk4ODAyLDEyNzE4ODgxMDE3Ljk3MzE4NV0sWzE3ODUwOTgwOTk1NDEsMTI1OTQ4ODU1MzYuMzU4ODY4XSxbMTc4NTA5ODM5NTkxOCwxMjU5OTUxNDg5MC44OTEzNzVdLFsxNzg1MDk4Njk2ODYxLDEyNTAxMjE2NDQzLjE3MTkzOF0sWzE3ODUwOTg5OTQxNjAsMTI1NzgyMTA2MDAuMTQ0NTA1XSxbMTc4NTA5OTI5OTk2NywxMjgxODc4MTk0Ny44Nzg0MzldLFsxNzg1MDk5NTk2NTc3LDEyNzgwMTg3NjQ2LjQyNDY0M10sWzE3ODUwOTk4OTU4NzcsMTI3MjUyOTI1MzUuOTMzNjUzXSxbMTc4NTEwMDE5ODQ0MSwxMjg1ODE0MTMzOS43MzY4MzddLFsxNzg1MTAwNDk4MjEwLDEyNzkxNTU2MDg1Ljk3NTk0Nl0sWzE3ODUxMDA3OTg4NjQsMTI4MDE0NjA5NTIuNTYzNjYyXSxbMTc4NTEwMTA5OTI1NSwxMjgxMzcxMzg2MS42NzgzNjZdLFsxNzg1MTAxMzk4NDg4LDEyOTUxNDczNTg3Ljc1MDE3Ml0sWzE3ODUxMDE2OTYxMzYsMTI5MDc5Nzc5OTkuMzU1NTQ5XSxbMTc4NTEwMTk5OTQ1OSwxMjcyMTUzOTcwOC45MzE0MV0sWzE3ODUxMDIyOTUxMDcsMTI5MjI0ODc4MDIuNDIwMTAzXSxbMTc4NTEwMjU5NjIwNywxMzMwNDg4NTIxMi45NDgyNzddLFsxNzg1MTAyODk5MDY1LDEzMTY4NTQxMzMyLjAzODQyXSxbMTc4NTEwMzE5NDQ4OCwxMzI5ODg3OTExMy43MDMzOThdLFsxNzg1MTAzNDkzMjMyLDEzNTE4MzQyMjY5LjkzNjU5XSxbMTc4NTEwMzc5ODc4NiwxMzUyMjAzNzIxNy45MDU2NTNdLFsxNzg1MTA0MDk4ODkzLDEzNDIxMTcwNTczLjk1NjYwMl0sWzE3ODUxMDQzOTk3NjksMTM0MzI1MDA2OTguOTc4MTVdLFsxNzg1MTA0Njk2MjU2LDEzNDQ4MTIwODY2LjUyMjc4M10sWzE3ODUxMDQ5OTkxNzYsMTM1Nzc4MjEyMzYuOTkxNTY4XSxbMTc4NTEwNTI5ODEzNSwxMzk1MTE1NDk1MS4yMjU0OV0sWzE3ODUxMDU1OTY2OTgsMTM3MTY4NDIyNTguODM4NjE1XSxbMTc4NTEwNTg5NTUwNSwxMzc0NzY1OTUxNS42NjQ4NTZdLFsxNzg1MTA2MTk4NjU4LDE0MDQ1NzAyOTg5LjE0MTA3MV0sWzE3ODUxMDY0OTY2OTYsMTQwMTQ1MjI1NzguMTI0NjQ1XSxbMTc4NTEwNjc5ODgwNCwxNDA3NzcyOTM0Ni4yNDA4NjhdLFsxNzg1MTA3MDk5MTk4LDE0MTY0NTc1MDI1LjgzMjYwN10sWzE3ODUxMDczOTg3MTMsMTQzMDY1NzA2MTAuMzgyODM1XSxbMTc4NTEwNzY5OTM0NSwxNDQ5ODg5MzEyOS45NzgyOTJdLFsxNzg1MTA3OTk5NzkxLDE0NTUzNTk2OTA3LjE2NjAyN10sWzE3ODUxMDgyOTk2ODksMTQ1MTI3NTExMzQuMDcxMjQzXSxbMTc4NTEwODU5Mjc1MywxNDMxNzc5MjY3NS4zMTcxNzldLFsxNzg1MTA4ODk2NjI2LDE0NjM0MzAzMzA3LjA3NDY4Nl0sWzE3ODUxMDkxOTc5MDgsMTQ2MjcyNDcwOTMuNzcxMzk1XSxbMTc4NTEwOTQ5OTY5OCwxNDUzNjczNTYxNC45NjUyNzddLFsxNzg1MTA5Nzk4NTAyLDE0NjMxNjkzMTY3Ljk5MzU1M10sWzE3ODUxMTAwOTc2ODgsMTQzNzgzMjQxNzIuOTA1NDddLFsxNzg1MTEwMzk2ODY0LDE0NjE3ODEyNDg4LjQxODFdLFsxNzg1MTEwNjk5NTg5LDE0ODAyMjcwMTYzLjI2OTU5Ml0sWzE3ODUxMTA5OTU4OTcsMTQ3NjYxMDQwNTEuOTA2ODM0XSxbMTc4NTExMTI5ODU1MiwxNDcxNTAwNDIzMC41ODc0NzNdLFsxNzg1MTExNTk5MjU5LDE0ODM3MDcwMTYxLjk4NTJdLFsxNzg1MTExODk3NjkzLDE0OTk5NzI4ODIwLjY3MjczXSxbMTc4NTExMjE5Njg5NCwxNDUwMDU1OTU5NC44NzA5NDNdLFsxNzg1MTEyNDk3MDA5LDE0NjIxOTgyNjE3LjQzMDk2Ml0sWzE3ODUxMTI3OTk4NjcsMTQ5MTE4MjU2OTEuOTg0NzRdLFsxNzg1MTEzMDk4NTEyLDE0NjY0OTkzNjUwLjAxOTQxXSxbMTc4NTExMzM5NzczNSwxNDcxMTMzMTY1OS44MjAyNjFdLFsxNzg1MTEzNjk5MjU0LDE1MDQwNTc2NTMyLjEwOTAwN10sWzE3ODUxMTM5OTY1NjIsMTQ2NjUzMzAxNzIuNTU4MzldLFsxNzg1MTE0Mjk4NDg4LDE1MDIwMzg3MTQxLjE2MTUxNl0sWzE3ODUxMTQ2MDAwMTQsMTUxMDE5MDU2MDkuMjcyMDI4XSxbMTc4NTExNDg5NDI4NCwxNTI2NzI0MTgyNy4wODE0Nl0sWzE3ODUxMTUxOTk4MTMsMTQ4ODMzMTI1MzAuMjUwNzI1XSxbMTc4NTExNTQ5ODY4NywxNDkxNzA0MDgxNi4xMzg5MDNdLFsxNzg1MTE1Nzk3NzgyLDE1MjM3Njk1NjczLjQ1ODE0NV0sWzE3ODUxMTYwOTc4MjIsMTQ5NTg5MzM4MzguNTg4MTQ2XSxbMTc4NTExNjM5OTgzMiwxNTUxNzk1NDY4NC41NzE2NDRdLFsxNzg1MTE2Njk5NzAwLDE1MTQ1NDIyOTA3LjQzNjY4XSxbMTc4NTExNjk5Nzc4NiwxNTI2MDY1MDk3OS41OTU3NjhdLFsxNzg1MTE3Mjk4NTk2LDE0OTU3NTgwMTczLjg2NDQ2XSxbMTc4NTExNzU5OTkyNywxNDk3NjEyMjU2My45ODMxXSxbMTc4NTExNzg5MDUyMSwxNTE2MDU3OTExNi4yNzMwN10sWzE3ODUxMTgyMDAwMDYsMTUxODE4ODUxNjkuNTgxMDgzXSxbMTc4NTExODQ5OTE5MCwxNTEzODIxOTQ1My4zMDMyMzRdLFsxNzg1MTE4Nzk3MDg3LDE1NDg0OTQ0NDIyLjQ4ODI2Ml0sWzE3ODUxMTkwOTI1MTYsMTUyODM5ODc0OTIuMzUzODkxXSxbMTc4NTExOTM5ODgyNiwxNTMwNTAyNjc1OS40MTQ0MTJdLFsxNzg1MTE5NzAxOTE4LDE1MjI0MzQyNDA0LjQzNDAxN10sWzE3ODUxMTk5OTczNzUsMTUwNDI3MDU3MTEuMzY0ODYyXSxbMTc4NTEyMDI5NzA1MiwxNTMxMDcxOTk1MC4yMTA2NTldLFsxNzg1MTIwNTk2Njg5LDE1ODQyMzQ2MzY3LjUyMDQyOF0sWzE3ODUxMjA4OTcxNDIsMTU1NDg3NTUwNzguMTQzNDA4XSxbMTc4NTEyMTE5MTk1NCwxNTUyMzU2MDMzNC45MTgyODddLFsxNzg1MTIxNDk2NzY2LDE1ODk5NTA3NjE2Ljk0ODE2NF0sWzE3ODUxMjE3OTY5NjgsMTYxNzA4NjU2MzUuNzY0MzIyXSxbMTc4NTEyMjA5OTYxMSwxNTcyMDYxOTc3My44MTAzNjJdLFsxNzg1MTIyMzk5MzYwLDE1NzMxODE4OTk1LjUwNTUxOF0sWzE3ODUxMjI2OTczNjIsMTYxNjUwNzAzNDUuNzg0MjQ4XSxbMTc4NTEyMzAwMTg5MCwxNTc3NTQxODMzMy4yOTc0NTNdLFsxNzg1MTIzMjk5ODY3LDE1NzE1MzI4MTc3LjgzMzY0M10sWzE3ODUxMjM1OTU1NjcsMTU3NzQyMjQ1NzAuMjkyMTZdLFsxNzg1MTIzODk3NTI4LDE1ODAzNTcxNDM4LjgzMTM2Ml0sWzE3ODUxMjQxOTY2ODIsMTU4MDI4NjU3NTMuMDU1NDYyXSxbMTc4NTEyNDQ5NzIwMSwxNTgyNzU2NTU4OC4wMjc3Nl0sWzE3ODUxMjQ4MDAwMDIsMTU4Mjg0Mzg4MDguOTM5NV0sWzE3ODUxMjUwOTk5NzYsMTYwODI4MzYyMDQuNDUxOTIzXSxbMTc4NTEyNTM5OTUwOCwxNjExNjI1ODA2NS45MTI1NDhdLFsxNzg1MTI1Njk3MDE4LDE1ODI1Mzg1NzA5LjQ2NzAxNl0sWzE3ODUxMjU5OTkxODUsMTYxOTk3MTg4NTkuMTQ0NDQ3XSxbMTc4NTEyNjI5OTU5MywxNjI2NzYxNTExMC4yMTE5NzddLFsxNzg1MTI2MzU4Nzk5LDE2Mjg1OTExMjEzLjg2NzE4OF0sWzE3ODUxMjcxOTcyODQsMTYyMzA0OTA2NjMuNjczNjc2XSxbMTc4NTEyNzQ5Njg5MywxNjM3NDEwMTAwOC40Njg1MTNdLFsxNzg1MTI3Nzk0MTA0LDE2MDY3MzE4MjA2LjQwMzQzXSxbMTc4NTEyODEwMDEwOCwxNjQ0MDc1ODYyNy44Mjk1MDZdLFsxNzg1MTI4NDAxOTg2LDE2MTM3NjI2NjA3LjQwMjU2M10sWzE3ODUxMjg2OTkxOTMsMTU5NTAxMTM0NzkuOTQyNDQyXSxbMTc4NTEyODk5NjMyNSwxNTk4MDIxMjU1Ni42OTc5NzldLFsxNzg1MTI5Mjk5ODQwLDE2MjY2NDM4MTA4Ljc0NzU5MV0sWzE3ODUxMjk1OTkwODMsMTYwMjM3NzE5MzkuODQyNjk3XSxbMTc4NTEyOTg5ODMyNSwxNjQyMzIzNzkwMC4yNTcyN10sWzE3ODUxMzAxOTk3ODIsMTYwNDA4MzgxOTMuOTg2ODYyXSxbMTc4NTEzMDQ5Njc3MCwxNjE1MDA4OTA1MS41Nzg0MTldLFsxNzg1MTMwNzk5OTQ2LDE2MDU5MDg0OTI2LjgxMTYyXSxbMTc4NTEzMTA5ODkyMCwxNjExNjQ1ODU0MC4xMzg3MjNdLFsxNzg1MTMxMzk5ODAxLDE2MTYwNzkzMTU4LjM0NTM1XSxbMTc4NTEzMTY5ODYzMywxNjE0MzM2NDcxMy41NTI3NjFdLFsxNzg1MTMxOTk4Nzc2LDE2NTU0ODQ5NzAxLjY1MjQ2Nl0sWzE3ODUxMzIyOTg3MTcsMTY1MjIwNTIxODQuNjE2Njg4XSxbMTc4NTEzMjU5NjM0MSwxNjc0MjIxOTk0MC40Njk2M10sWzE3ODUxMzI4OTg2ODYsMTY4NTk0MjU1NzMuMTE5MjZdLFsxNzg1MTMzMTk5NTQzLDE2OTQyNjg1MDMxLjEyMjAxXSxbMTc4NTEzMzQ5NjQwMSwxNjU4MjEyMDMzNS41NTkwN10sWzE3ODUxMzM3OTczMjksMTY5ODUyMzkyNDUuMTMyNTk5XSxbMTc4NTEzMzk2NzAwMCwxNjU4NDg4MzA0My41NzkxN11dfQ=="}},"time_used":160,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":157,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coin-images.coingecko.com/coins/images/44/large/xrp-symbol-white-128.png?1696501442","fqdn":"coin-images.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.67.142.173","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.869Z","timestamp":1785133990869,"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":"coin-images.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 11 Jun 2026 22:42:48 GMT","end":"Wed, 09 Sep 2026 23:41:15 GMT"},"fingerprint":{"sha1":"7A:6C:D0:D5:FD:4F:F2:F6:0E:21:8F:DB:FC:C2:6A:FB:03:26:BA:A8","sha256":"8F:4C:5D:49:64:66:ED:34:00:50:8C:D4:D9:03:C8:38:40:42:53:9D:67:B3:CD:AA:9E:0E:D5:41:02:8E:46:BA"}}},"request":{"raw":"GET /coins/images/44/large/xrp-symbol-white-128.png?1696501442 HTTP/1.1\r\nHost: coin-images.coingecko.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\nx-amz-id-2: LhtraOG7O4UusfqU2hQ4IeHSHd5E+50CaXu/khwf7tzERv9LBjLjPZMC3vkJWnsQMXox5GWSzdFtfdy5sDGIo5d7Zgu9A1rp\r\nx-amz-request-id: 5X2HY92B73H4G8W0\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nx-amz-replication-status: COMPLETED\r\nlast-modified: Wed, 29 May 2024 02:58:49 GMT\r\netag: \"8c9a8c477f324c88cead49db9a5fc1a2\"\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: dvTdjQhaHPc3d2gEiPjuvrzI.pMVPEqU\r\naccept-ranges: bytes\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\nserver: cloudflare\r\nage: 3198\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=Kpdv3RVBXuOKTYy8275HEhmU0KXy9KWwa1fi9VXooE2y0tddQWF19FPkZEZZcMQR0STcWu4dNOwpuMgMo2pUZiNgXHt6OtkuL3zPSWb%2FwrfFUjkzEOAnVh1cV9qwxiIM799FcSGO8t%2FSlJAr\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a2199c730e725699-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 12328\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"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":12328,"size_decoded":13297,"mime_type":"image/png","magic":"PNG image data, 250 x 250, 8-bit/color RGBA, non-interlaced","md5":"8c9a8c477f324c88cead49db9a5fc1a2","sha1":"8a8a7c615c7f00893e4c3374ad134581a053c8ce","sha256":"3672b3785d85e582ef497a6588dbe75cef4c60f982f678549f309fe784400a2b","sha512":"849e4018007f9b5406d4910a2da39689fcf847bce6f8586c7db389066af1efaf9ae8ae5bd374401b285d988a16fc2480be1e813a6ae3e2af78f485efa523fab4","ssdeep":"384:BFv36FCrffjNiI0gXcwWIzS3qJ+GmJQauo:jIqaGK3qJGbuo","tlshash":"56429d3b1465c94a4b535f7ec1ed4bb386f31224cdf224e69d781a02db0e61a2f390da","first_seen":"2024-07-06T20:02:44Z","last_seen":"2026-08-04T06:10:33.325577Z","times_seen":1680,"resource_available":false,"data":"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"}},"time_used":30,"timings":{"blocked":11,"dns":0,"connect":0,"send":0,"wait":11,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/favicon.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:11.186Z","timestamp":1785133991186,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/favicon.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/png\r\nlast-modified: Sat, 04 May 2024 14:26:42 GMT\r\naccept-ranges: bytes\r\ncontent-length: 14783\r\ndate: Mon, 27 Jul 2026 06:33:11 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":14783,"size_decoded":14970,"mime_type":"image/png","magic":"PNG image data, 132 x 117, 8-bit/color RGBA, non-interlaced","md5":"93097fb9a753cfffc191d9465c559a7f","sha1":"6dbd86b8b8b544a66d06c03f0b6e1a78a20fecff","sha256":"95bec8780ff0404ff65424d6ea11293136af9d89cbbd0b8687eda69a32250e71","sha512":"5e8be6e05c890b385639d05d3beb52a0372d6a2b82a718a581cc232fa1d9e45c9fc32aa30cfa7267abcdec897a42c99421b6b949add77393a2edcb64518fc87e","ssdeep":"384:SKnFn1xH3twtiR1zDoZnfz0vlTrFTVIrys7eCqgV:N3xHdmqBDopz0dBVIgCnV","tlshash":"8862d132e1cb9f885e51f793a362d0a4a2f70a913f4438385cd92532fe485594899c71","first_seen":"2026-07-27T05:16:56.358184Z","last_seen":"2026-07-27T06:33:53.978591Z","times_seen":2,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAIQAAAB1CAYAAACPikkbAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACHDwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKL2lDQ1BJQ0MgUHJvZmlsZQAASMedlndUVNcWh8+9d3qhzTDSGXqTLjCA9C4gHQRRGGYGGMoAwwxNbIioQEQREQFFkKCAAaOhSKyIYiEoqGAPSBBQYjCKqKhkRtZKfHl57+Xl98e939pn73P32XuftS4AJE8fLi8FlgIgmSfgB3o401eFR9Cx/QAGeIABpgAwWempvkHuwUAkLzcXerrICfyL3gwBSPy+ZejpT6eD/0/SrFS+AADIX8TmbE46S8T5Ik7KFKSK7TMipsYkihlGiZkvSlDEcmKOW+Sln30W2VHM7GQeW8TinFPZyWwx94h4e4aQI2LER8QFGVxOpohvi1gzSZjMFfFbcWwyh5kOAIoktgs4rHgRm4iYxA8OdBHxcgBwpLgvOOYLFnCyBOJDuaSkZvO5cfECui5Lj25qbc2ge3IykzgCgaE/k5XI5LPpLinJqUxeNgCLZ/4sGXFt6aIiW5paW1oamhmZflGo/7r4NyXu7SK9CvjcM4jW94ftr/xS6gBgzIpqs+sPW8x+ADq2AiB3/w+b5iEAJEV9a7/xxXlo4nmJFwhSbYyNMzMzjbgclpG4oL/rfzr8DX3xPSPxdr+Xh+7KiWUKkwR0cd1YKUkpQj49PZXJ4tAN/zzE/zjwr/NYGsiJ5fA5PFFEqGjKuLw4Ubt5bK6Am8Kjc3n/qYn/MOxPWpxrkSj1nwA1yghI3aAC5Oc+gKIQARJ5UNz13/vmgw8F4psXpjqxOPefBf37rnCJ+JHOjfsc5xIYTGcJ+RmLa+JrCdCAACQBFcgDFaABdIEhMANWwBY4AjewAviBYBAO1gIWiAfJgA8yQS7YDApAEdgF9oJKUAPqQSNoASdABzgNLoDL4Dq4Ce6AB2AEjIPnYAa8AfMQBGEhMkSB5CFVSAsygMwgBmQPuUE+UCAUDkVDcRAPEkK50BaoCCqFKqFaqBH6FjoFXYCuQgPQPWgUmoJ+hd7DCEyCqbAyrA0bwwzYCfaGg+E1cBycBufA+fBOuAKug4/B7fAF+Dp8Bx6Bn8OzCECICA1RQwwRBuKC+CERSCzCRzYghUg5Uoe0IF1IL3ILGUGmkXcoDIqCoqMMUbYoT1QIioVKQ21AFaMqUUdR7age1C3UKGoG9QlNRiuhDdA2aC/0KnQcOhNdgC5HN6Db0JfQd9Dj6DcYDIaG0cFYYTwx4ZgEzDpMMeYAphVzHjOAGcPMYrFYeawB1g7rh2ViBdgC7H7sMew57CB2HPsWR8Sp4sxw7rgIHA+XhyvHNeHO4gZxE7h5vBReC2+D98Oz8dn4Enw9vgt/Az+OnydIE3QIdoRgQgJhM6GC0EK4RHhIeEUkEtWJ1sQAIpe4iVhBPE68QhwlviPJkPRJLqRIkpC0k3SEdJ50j/SKTCZrkx3JEWQBeSe5kXyR/Jj8VoIiYSThJcGW2ChRJdEuMSjxQhIvqSXpJLlWMkeyXPKk5A3JaSm8lLaUixRTaoNUldQpqWGpWWmKtKm0n3SydLF0k/RV6UkZrIy2jJsMWyZf5rDMRZkxCkLRoLhQWJQtlHrKJco4FUPVoXpRE6hF1G+o/dQZWRnZZbKhslmyVbJnZEdoCE2b5kVLopXQTtCGaO+XKC9xWsJZsmNJy5LBJXNyinKOchy5QrlWuTty7+Xp8m7yifK75TvkHymgFPQVAhQyFQ4qXFKYVqQq2iqyFAsVTyjeV4KV9JUCldYpHVbqU5pVVlH2UE5V3q98UXlahabiqJKgUqZyVmVKlaJqr8pVLVM9p/qMLkt3oifRK+g99Bk1JTVPNaFarVq/2ry6jnqIep56q/ojDYIGQyNWo0yjW2NGU1XTVzNXs1nzvhZei6EVr7VPq1drTltHO0x7m3aH9qSOnI6XTo5Os85DXbKug26abp3ubT2MHkMvUe+A3k19WN9CP16/Sv+GAWxgacA1OGAwsBS91Hopb2nd0mFDkqGTYYZhs+GoEc3IxyjPqMPohbGmcYTxbuNe408mFiZJJvUmD0xlTFeY5pl2mf5qpm/GMqsyu21ONnc332jeaf5ymcEyzrKDy+5aUCx8LbZZdFt8tLSy5Fu2WE5ZaVpFW1VbDTOoDH9GMeOKNdra2Xqj9WnrdzaWNgKbEza/2BraJto22U4u11nOWV6/fMxO3Y5pV2s3Yk+3j7Y/ZD/ioObAdKhzeOKo4ch2bHCccNJzSnA65vTC2cSZ79zmPOdi47Le5bwr4urhWuja7ybjFuJW6fbYXd09zr3ZfcbDwmOdx3lPtKe3527PYS9lL5ZXo9fMCqsV61f0eJO8g7wrvZ/46Pvwfbp8Yd8Vvnt8H67UWslb2eEH/Lz89vg98tfxT/P/PgAT4B9QFfA00DQwN7A3iBIUFdQU9CbYObgk+EGIbogwpDtUMjQytDF0Lsw1rDRsZJXxqvWrrocrhHPDOyOwEaERDRGzq91W7109HmkRWRA5tEZnTdaaq2sV1iatPRMlGcWMOhmNjg6Lbor+wPRj1jFnY7xiqmNmWC6sfaznbEd2GXuKY8cp5UzE2sWWxk7G2cXtiZuKd4gvj5/munAruS8TPBNqEuYS/RKPJC4khSW1JuOSo5NP8WR4ibyeFJWUrJSBVIPUgtSRNJu0vWkzfG9+QzqUvia9U0AV/Uz1CXWFW4WjGfYZVRlvM0MzT2ZJZ/Gy+rL1s3dkT+S453y9DrWOta47Vy13c+7oeqf1tRugDTEbujdqbMzfOL7JY9PRzYTNiZt/yDPJK817vSVsS1e+cv6m/LGtHlubCyQK+AXD22y31WxHbedu799hvmP/jk+F7MJrRSZF5UUfilnF174y/ariq4WdsTv7SyxLDu7C7OLtGtrtsPtoqXRpTunYHt897WX0ssKy13uj9l4tX1Zes4+wT7hvpMKnonO/5v5d+z9UxlfeqXKuaq1Wqt5RPXeAfWDwoOPBlhrlmqKa94e4h+7WetS212nXlR/GHM44/LQ+tL73a8bXjQ0KDUUNH4/wjowcDTza02jV2Nik1FTSDDcLm6eORR67+Y3rN50thi21rbTWouPguPD4s2+jvx064X2i+yTjZMt3Wt9Vt1HaCtuh9uz2mY74jpHO8M6BUytOdXfZdrV9b/T9kdNqp6vOyJ4pOUs4m3924VzOudnzqeenL8RdGOuO6n5wcdXF2z0BPf2XvC9duex++WKvU++5K3ZXTl+1uXrqGuNax3XL6+19Fn1tP1j80NZv2d9+w+pG503rm10DywfODjoMXrjleuvyba/b1++svDMwFDJ0dzhyeOQu++7kvaR7L+9n3J9/sOkh+mHhI6lH5Y+VHtf9qPdj64jlyJlR19G+J0FPHoyxxp7/lP7Th/H8p+Sn5ROqE42TZpOnp9ynbj5b/Wz8eerz+emCn6V/rn6h++K7Xxx/6ZtZNTP+kv9y4dfiV/Kvjrxe9rp71n/28ZvkN/NzhW/l3x59x3jX+z7s/cR85gfsh4qPeh+7Pnl/eriQvLDwG/eE8/s3BCkeAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAIXRFWHRDcmVhdGlvbiBUaW1lADIwMjM6MTA6MDkgMTc6NDQ6NTAjVa8JAAAuzUlEQVR4XuWdCWBVxdn+59ybm4SwhF3cqqVqXUrrUvt9rbX1jxKEYJdPIICKO2otxdJau7vVvfrpV+seEGRpQkAQwiJUq23ViqB1q1oVxbpBWBOS3OWc83+ed2ZOzg1JSELuNQkvvJnlbDPz/s47M2e7ju/7al+Xu58vvhvB2z/8WuWdOmfflX0aiNJ/jNgv6eQ8nPIjJ7m+qveS6lUnFT/niv+35kOzyj4n+yQQDy47sSC634A/pFTkuwBhgOs7CqHvJZTjJp0qN+WvisR3Xnbld/5abTbZZ2SfAiISiTgz1o64xlORK1DtngAhChAAQwiIBOIp5QOMHV5KPfCKW/nLsrGea3bR7WWfAWL2C6dP8SPqj6iu5ysnF38QgfGxjECkvMBDKDeJPIQAIgk4PD/lX3XNxGV36T11b+n2QMx+YeR3nIgzn7WEFrC6AEIx9JBnvINK+Y7vWiASARCirqvqfFflpHx11o1nL10gO+6m0m2BKFt/6n8lVawC0d4wfCHzWFNbXfEQAKOhy3D8VFJhTAkQGjwEuw8Nhudwg52+p+JJ3x13y3mVT+k9dS/pdkDMfXH4Yb6fW4boIRgWDNC5WsQzMDRVJggEA96BcPjJFDwEgAAY8BKAxMIAhYdAn4L16FZ8tRX6iecmx9900YrX9N66h3QbIOY8+83BTn7PmYh+DVUaqHN3FwECYBAExjmOQFcgHiLpOQ7GESpFGKgEwwIBENwUvATWNVBQq/D3Za8ufs7Nl6/6CPEuL10eiIrnTuqRyOt5F4z8P0gOsNVxYLvmhOtwNXYZBMN2GQkAQQA0EMhnt2GhoIcIeQk5DvcDxaEAhr/Sc7b/4Obzu/ZUtcsCwSnk7BdO+63jONOR7IlqRMMQ2KjuJNLFdh0WBh1G/CQWwEsodhviHRp1G4TCjCWagsLDfnZGfP/+d1ZX/qqsrGtOVbskEH9aX3Sx6zj3Iuqi+LkWhMYQNM63InbEHz2oDLwEgHAcTD9Vyg1BwVmHAYIeQkAwnkL2gbTeIf4zVApbYde+f+VNFy39g+R0IelSQMxbP2KM70T+xDiK3bMlEBrymG6oow8AKLQjxw8CA9ZCHGMIzDKQJ8ouAx6CIEjXQQgIhFEBgnBQuXuGCCSuD1cLzUH0rJsvfIyznS4hXQKIWS8UnZgTdRYi2hvF7bsnEEQNBHadsHBJAANCCwS8g8O4eAku5xSUQIiH0HHdbWAfAgXjGgzuNACDcXsgpXZA6+Eyxt1y4dK/Sk4nlk4NBKeQyo/Nh40+j2IOaC0IDct3F4w5kO+oiBMRKJKgIi4AqAAIe21CjG+7DAJAKJhnVIBAyGI0HluQx0ZgbMEaHye9xLjbLl75huR0QumUQFS89O1BcT+/FA34ddhroAWBwmhrQGi8TRQA9Irlq8E9+ql+ef0lf3P9TrWpdofalqhXda6LWQaAwK5h08CD6LFDAwi629Dp8JhCwkbdiDStUQam2JuhL0W91Lm/u3j5x5LTiaRTATHrqeH5sd6xO2GLsUimXVQSI7cDhPxoVA0p6K+GDTpG5cSOkPxk4j312pZ31MaaKrUDMNSDAto3BQo40KQEZ7cxsJz9AMF6hTAUzHMRBh6idWDwGsay6kTN1Lsve6JGcjqBdBog5q4v+g2seSWivN8QTCGtfQlDYxB0vk1LUoTRHjkxNbT3/uqIQV+HezgGlqpSm3Y+r9Zvfkt9XLcLHsFHdwHbGKNCfLh92Uuwr4g+phVpqpCxCYH1HuIlqHafWFeHZn2mub1RxrFrOqFqxO++9cNlv/Wu5tafrXzmQMx7segCNPuDiCZRlDxrAGuHxiBQrFcQtZkQRgnC4YUHqS8MOAUgHA6r/Uut/ehp9cb2T9VODBKSmBTKhSeEHCiK0bQZ2BAOehbZUSRK9SVknuQbQKTJmgEjgIPLzL6pMsbAdnpbiQaAYEmCUSyYftOFy/4o0c9IPjMg5qwbOToSUbznwNOkV3Mg6LjRlkBA1zC0z8HwCN8GCENh9bVq5YZn1MZdNaoO44BELSDArCGJ6SQvT/MydGA4GgVJKP+pKCaLAkQO4jEb4tjIiwISRTis0NimKxEw7MCT+2UYgqJJMBjnfvAHS2oRRNFxTbj5gmWLmZ1tyToQc9aO/KqToypQ+UKA0OQUsiUQKOHlubDcob33U8fsBxAiQ1V93XNqxcbn0S3Uq3i9IyAkEKbqjGeQS9LGUFRTfQEiggDGFgCgEcBAIAhDNFdhDIJ4LmDBMofew4BhjdskGAaIMBh2RiIwmG0lLjvjH7UTuguZY2+6aOkzkpMlyRoQM18oGhqLOvPRFENxyDbNHKiU8DYxWONADBaP3/+bsNLhqrb2BbV841r1SV1CxQFBfBe8ASAgEAJDnEDQM/i7wUDB7mBh9AwChBMAoSGA5iEOGHIYJxwhMKQ7gdDYFgwLg0ASxPU6DFnd1kxVEf4n5ScmZGuqmnEgHlk7YkA0xylFs30DhxrEvPAZ3hIIFJ3WcUoOEoN7FKr/PvBEWGYYvMDLqvK959RHAKGe3qCGMAAEAJGoBQT1GJzEMYugV6AGBvG1EcwBYFQ/goDdArsLAQKakws4DBQ5gELAyPNVjHFAIcvQxcDrBeUUTyAA7A6GHm+Y5VzPjEU0IAjYHEYZmObZjCZ50U36595y2dJPJCdDkjEgZArZJ3Y7ohNwhP5B40OsfQkD88QmVJ4iNi5pSYrAWKp/bi/1X0O+ovLyT0Dr/VsteecZ9Z/aOlVH4xMETN7iCBMEos7XMHDMkAQQ9uJSuNEp2K+UgUCwyxAgAAFDMTaUnsKAQSjCYEjagBFB10KYMLHQZ7sBw7VeQsqgIQmAsKEBw5avGTA4VV3qbk9MvfUnK1HLjpeMADHnxZG/ghf9OfbcA7tvcQqp01DjFXScuVoYLczNV8cOPEr1740ppPcpBotPqndrMFhk11CtQahHmEBIENhVsHugZxAjiCG0R2hScBB2GU4EQwgYVA8ekYeuQ7wEvQXhsGAYb6HVeIswGLyDge1l14hqAAACjK0vdLHr0pAQgMBrYF0dGjiYZpmNmvJjDVWD9B9u+XDZ1R09Ve1QIOasH3kejDkD0Th2m98cCDpuNAQCJby8AB340f2GqoP7Y5zg16unN/5Z/WvHVrULIBAA8QgMqzlW8AEDxwoAAuMFuVPJJ19aXz2uKWMIBx6CIMhMg3CExhQChYSOANEAh/EWBgzZvjkwEIqagad4CSohYJohtKWpKv5jzqQinudPu+Xipbzz2yHSIUDMfbHodOyqHAV02jOFpISX8+riF/ochCkkQFB5at1HT6gXt36kqtEFxHdGAIMGoZ4eoUaDkKxHF8GBI7oHnoXtEDaELgX+0kNYMKy30KEGg14jascXAoGBgWBIXM9M7PgimKoaYxMMdmMahgZILBwWiibBYJz7kj+cjaio63kTbp2ybInk7IXsFRDzXzz1BE/l8CnkvthNv6ZAkBAZzBNtBgRKLk7Pg3sOUl8Z8g004CD15qa/qWc2vaN24KyP79ReQTwDPQJAiBMEjhVkBqFnD+0UFjRUEghSARQEAUovwbR4C6YBgwBDb0HjEwQLA+AIBp7Io7fgNo3BsBfH2jJVlU6CJYYKHFAs3YHlu1yVGnvrlOXPyjHaIe0ComLtKZ9P5OTNQ/QwbB08v2hbtCUQKDqt45QcjOiGFBSqrx3wNTTYUPXh9rXqyY9eU1vibgCChOwi6BEwe7DdA3UvQKBsRYv+GSVe7zjOz5DuC5XSyTUJTj0MEA2q86zHsANP8SIGjBjByNcw2G5E1gkNPEWs4eElLBgWksZwsFlltmLACLyFUdPsW5Tnf5By/ZLf/2DZW5LTBmkTEIsxhazLifAy8zdRFj2F5B8jbQWBo80Beb3U14Ycp3LzjlY7d72uVnywTn1anzRjA+MVdgKAXfAIMnvQ3YMLj0CXuxdShar/zfMSFy18ePUWZpSUFBX6PXPuQyFPQ3IgCyxjCkBBIwoYkkYY8hwWDj3O0B7EgmFhYKjTBgzrMXAMaTUanwYOeYmWpqoBIEgzJCQSmjw0+2bkvZBM1Z3/vz9a/SkP0RppFRArV34xb8eQz92OKkzA+gMaTMz66O2toRmIokTpaUmKcApZGOuhjh/0JVXY6zj0+++rZRuexRSyXtVjCqkhsINGDUOCU0iOExDKYLH9QuO/HU+5E5fMWrlBZ6XL9y8cdXCOisxBMY8GAAMJBI2uPYYOtRpQBBCtgdcAGAyDrsR0H83NSNg8Uitj+OamqgEcMDq7EYljwzQvQjigJr8K+Ytrt3887b6r1/IprhZlj0CUv1TE6eOvEc3DgBFV1BI2sI0ybMkjMNoLLfKl/oer/fv+Fwq9Ra1676/q3epqVWumkPQG4h0AQz1AkKuNZpzgYsC4F7KdmvLcsYtmrlyns1qWceeN/nIk1ylHtzEYRu8nEKAS4dB6EMlj2oAhSjDYjcDwAkUAh71+oeNcLwyGGFUMnz7Y5FTVxsP54jEIgM1n3KQlz1Mu0rsQ/u/dVy271uPjwM1Is0AAhMkIZqHifFwgn3kh2wbCvMbegNIYBN6FPLLvIerQ/hgwqpT62wd/Ua9tr1K1MHgdZg70BMGAkd1DowHjXgjQQhO7bkn5wytX6Ky2yaTLik/F+KIcFYnB6L1ZIXo5hgEghIL5ITDs2EOPMeAxGoERCwafgALLcngDjacctqewWbXRQzMSA4Uea5g8gmPikg/V+UaD9fwEwIikUt4P7r+mkl3/brIbEGX/PK3I8SPliEawpLfO1cI2kNAAQAnyqDZhhElOIYf2OUB9kVNIp0C99PFf1LqqD9ROTiGrMYWER7AgxOkROGA0U0heWDI9UnsEe1Bodu/C8tIVfIFnr+WsH46e6DjoShyVQOX0SYJKSr2hhIEJAYL5ISg0GMZbhMEw3Ucw8ESeHXiGZyRiZDu+gIGtt5AuxaaDONfVoc3jhTkdiu4CGA7cxoQZN1UuNUcRCYD407qi41D4CjDaD3lpU0gTFRCCuA1D64UlLxpRn+u1n/rSft/CwiHqvS1/UU998obaDiNzfCBjhBAIcYBAj8CLSpw50OW1U1BlBf/i31Jeuvx3Oqtj5ZxpxT+B2a9Hy8VQf+lGLRQMdTzUjVAtGNKNMNQzErnIZaEAYtp7GDDMwFP2BxEojLcQw5rnPe19GvvKQEPaxDHmkrgFSEOBNva3A7Ya13fPnHPXiud5DOdP60872fUjN2MadDjYGCQV4gKcmg1xqIFBx3WoJXwKOwaEwQABA/XoEaqu9km1eMM/1Kb6lAHADhrhCcwUkt1DCl4hia6Brm0vZCtKU7bFr5v+xIwn4IMyJ5deemKsNn+/WxA9D9owVTWNpEN0EwYKaTMCQTgIBeONZiRU6UYQ2kFoMCPBdtyvHhs0QCGvCsDYvFRvH/yRW/xG2d1KHtcPoNBTddkXGgzKu6rvY+EVzsPrRj4OW38DQPSUColq44vbQ5xhxACh8ygaBMYZy0OJD+FzCUPOQG1Owun+pFr69hL1/q5aVccbTwIBYSAIgKDWDBg5hYRHYIH3QjiFfDYRr7tgydwneAMoa1JyaVFhXn7uA2iH4WgHuSYjMEhEx+34IuwxCIedkdjb7RYK231oKAwYXA/ry1NbOJCdeYhXEMND444ec1FxOmhI0LYMCYO5ihvyEBYIiF8PQ74uXcbMdaPiCHFoUwETyiMC4RAlEVDNOkSB1xIG5vdS3zhoBKg4G0d9Uz37/j3qn9s2qV2YQmoQ0scJclGJHgEF38uZwxZs/a7rqYmLZla+Y/I+E5n0w1EHx3Kic9EwR6FJWw2G7UYY2oFn8AyGwAEwTJwP6kgXgu3EiNAACAHBwdSc03N2v0ybNrZgEAYBoukuuby0Eh0B9vzQ2qKRnsqZjyP0Yx1YaAuBjUcZGiCst+CyfrkF6uQDT0QlhqpXPv2ren7zRhkw1vOeA0GQsYKeOcgVRjNgZAHbL/4OHH27SqXGls9a9YLJ7BRy3o9HfxmtxDe1BqJpg7GYOYOM6w8NPBGGB556jGFmJITDgmHGFXr8IbsQ0V5CA5Gs1w8FaQUMBEOAQJtjHT4GINcodhO0p68uLp+xfEEwqLzn+dEvIzaMxxHFHwtFNNRd2LgeY2AexlpgAr094apqjHTlEvMOdg2MwyPYS830COLGcJT2s8BnAFjikgWllct1VueUs6eNOi0aiXK2loMC9w6Dwbik8ScAgzCE4TBgyBjCgGGnpgIE1uE+eKbzrOf4gU+Gsa0Jg76QRyDYJQOKli/mbYB3GMpIAMRdT40+1M91nscxBgWFRr71CgRBCm7yuBnfYeArb3H0Z0l0D3UCge4i4tUNMwcWjuOEpulslcDpqRzH86eUzVxeqrO6hpw7vfgs5TuPIJr2SEBTYAgcRgUMQiGh8RgCCZZBbdfBKSkHiuIljGdgewfdMk7APQzUN6MIp5SVVr7ORAAE5Y4nxzyM1NlQeahF1DwzKMq0WZdbSSHMg6wyPuB4wY4Tgu5BD2TaKaxKHei7Fe7sep3VNWXyFcU/hUe9FtFcNDmfBNRi2pl/dHeC/wjTwLBKMEyc+VZkkAhb0Bvo8YMeOxCIkHmbEpp/yYIZld836XQgrq0Ylpvf65Ctvu/0DC4+BQU2IYRnOq+YcbDC/ooPtMrMgbekjVcIuof2yxaUt6LKr78i01PIbIlMVQsG3+b4zjlIpj1W2BIYQUgQbNxsxxa2QNinxGQ8gXDPXbO/o6qm/qAnyhreHEsDgnLD4jGXwyfcglyZhlohH1yVyjOeV8bkwPQE6Nk5jZT+i14Buhfdg0wh0T1dCDfG9yAzLhPvGnUFnPaB86Yt55tjGZezL/9Wv2hun/sRPQV1TXvwOAwGQwGAaQMB07IO14WIPQiEjCPQ9jLjQOYeBdNMpa4rL11+k05r2Q0IyrXlZ2xDNh96wXY8KIaQjJv+Si5wkEbpq+ANOJixXqFVhWlSeBdyQyLpTVw8e8XbOiuzUnLnST2UU3in46lJAD6KSi4YUBC/PFvvWp4zdcwhGCfwuZIj0L5NT1WZxh8dypJgHdpEBpWYRsoVStikDdP4BAaSeSYeSJNA/Gr2mJMiTmQJzvIBch2dBwYIVHtgcU8ctBgo6C3aeU1hO/ZcjWOcWTFj+VqTl3Ep+b9Rv434zk9R/QJAH0XDosOVf9UYvN5zVP2qX1+dpXctL5g+8ljXj/HJM34jq5/ObTB8YxAoYjaodN/2JG39YwHbPN+bVDFjxUqTDqRJICi/nPGdZ3Cgr/OA+k4ZlDCIdwAIhAIwSJ8FMNpxpdE8Ru5NKC9dsUzHMy9n3TP6Ihj/flQ7iTCPwLNhEbIpHKbRKEmigVnU9PJfLM/au5bn/njMCATlODZfGOytc9OF5iIXcgObMAgQbR64vwrvMMzE06RZIK6694whaJBXcKCBhEHunsEDyMzCegiBoU1kUrAlKuyryzC6bfIWbCak5L7RxRFXldHQOHYvgcA0qgkDIKS1ESJdS+NEPW/S/KtXLcKSrMjkHxdPxsBzFo6P1tV3VaW4psxBaGGAfdogVSnfP3HRjOXvmXSaNAsEZfofzvg/lXIuTSVVzN4x0x/1RAgY2njpmcXm+4p3VDy88rqWHtLoSJl47+gTle9U4Li9Ye9+qHDQoKIhIKAAwiwXMLAIcYwvdkDrUr43tuLaVX/HkqzI5GnFV6HMv0E0D+XIEQioLJdom2HgRes5C0qX84Zck9IiEJFrI5GpBWPqYfSYdBUGCMKgvQRLZ1ZuWThgfNSp2f6jsrK/YwiaeZn0YPEX4N3mRzz/82izgUE5Gdq4NThCGNwHo45Db8jlyBNlQkKoo7agwT7yXGf8ghuy865lScmw3Lwhn7vd9Z1JKKdMVcUzWBhYrtbLrl2fqAGVlZU4lZuWFoGgTL15zDlu0vkjvEJvAsErX+IheF18z/3WZux9rZdyz184a+Umk5dROevB4QN9N78UM6Ov4wySKZ3U0FYTIaN2Gk0YJIOOQT4shXiamg3s+ohCq3Dmrndy4ueWXf1ERt+1tMKpqq/6sIv9NkAYSCDa+KgA39/4RfmMyhY/lbhHICiXXjPmIzfh7K+7C3gHeomWvQM9wkasWbKgdNW/dVZm5YJZw/Pr6nrcgSKNh+Xki7Y0upUgygiUgSw3hoeRffTHGgg2tAWCO5JQR8P7JBiu4yytiftTV96amXctG8ukH4w+1PMi81TKPwJMpH12qWXxd5SXLudzGy1Kq4C45NdnHItZxGp4h4HSdcBDND2QlLuQ1Vg6trx05T9MZsZl4n2jfw2PcBUs1ANeIXRRN13EKzDCP2E1QNBD0B1Lt2GBsB6CcYrdhgFCTAWJTw22v/vo2OO/zdZUddzFxcfBu/GuKr+gtidDb3Fd/3sLH17+N5NuVloFBOWCn52xEmOJkdZLNBrM1PIP3NjEipnLH5OcLMjE+0ad7/uRUhglgWPvdpGlObHdhTUu4xGOIew3CQMYjGIFAcWsa71EuOkiKIMkI/708utWZW2qOv784iIcsxyl4onQS+c2Fv9ZeAc+3bxHaTUQ7MMisT7veEnVT8YPGghOISNorMsXzKx8QHKyIOc8dPqoZCJaBvOx/M00Qkhw+oqEqmqNKwamsRkNAdHgIaBcSUKtsg3jTJrQHgKyCwne8p6AgWfWPgsEMCariJqFEmGq6shU1UiVl/S/XDG7dZ9AbDUQlMnTxlzvuupnOEAUXcgubHnnwpkrrsnWFHLSAyO/6ns5dJOFOGTzbhLWCRkoTaSgtrQMjaFhYAGCU7kABAuBhCafaWgYCoqkTVzEkfdA6pKOM/bR61dk7bNA4y4Y/XPHcfgeDaFgbe5fUFo5VRa2QtoEBOXsqWO2AohHd328aeqSJXt+E6gjZNx9RUOjKjY/4vtDcQI3+1sYjUHAEDFNwme1XAY2BjbdgQaC66AZZfYB1Wm9niSCOJQSitumTDusr6pwrA9VNFVSdt2aN01uRqW4uDivYIi6HeWYUl5amWuyWyVtBoIPlW5OpOLZuCV95j0jBuRGc0sdz/8GQJApZJOCmlsjNIbACnoXFY3wgZOIys3JUTno9HmVL5FwMWtyedPO91IYVKI5+E0DaRaJG0NTw2DYPEahclimGZgwXBRAsRnL18Ud97zFv2v9u5btlWElw3KPVvv3KCt7nN/abrW0GYhsSPHK4ry+G/07XM8pQesGP4qym7QChAgsEYs6qqAgTw3sXaj269FP5UfzVG2qXm2q36G2b9upanfFVSLp+pg5OZhpBAYNG313xZ9GecxqBRhVaPMl8dytP1rSinctsy2dDogJ9xX/Eg34C5yM+XDdOSY7XbCCbeSWQMiNRVTfvr3UEX0OVEf2+5wqzOutquq2q7e2f6g2bvsEMNSoeH0K3oE3MpSPqZk8FxS0iDWozbMLGFpvwT+NuhEBw8QpTYDhoni8jH/ngptWZ20M1hrpNEAAhHPhxR+GXeoxgwmPkhuklSDk5UbUgH591Jf7DVXHDTpCFcQK1Fvb3lPrqt5WH370qaqpiesrrWasIAbkIx9Imt00SPiYwR/kIZSmC5QZoTQDhBYMWRcSHIDL9FSVj6heXnbjyqzN0lqSzxyICQ+NHumk9OeIXM/vbbLTJWQUSlMwWI8wqH8fdWz/w9Txg49UUUzNX9j0hlr34RuqatNOlYh7Mm6QM9oqLSPGYVOYPctf/DFPJwUHt6EVbsfNoQKBKDNCaUooLpBIRJJa4C2wnwh2NqHshlVZu47TlHxmQEx+cPTxSddZgMbpBxCCh0LSBAvDNmgOhFhORPXv3wsgfEGdMPgo5XqeevaTV9XL77+tdmyv05fZaXxeO7FAsNohpYdANt8s0Ae1KlAgwpBKQZKLKNxctoc2BYYAYPMoNs/EJTDLkbcd4S7P8cdW3LzqOb00u5J1ICbdP/pQtPp8eOvDMOcfGBydEdvKkKDBQ3lhoeU4WOxb2FN9acChAOFIDDk89czHr6lXN7yraqoT8mKKQJDiAAHbwOJyQ4hdNo8XHByiRw+cjOiDo/+yzy8KCLwOGAYDUS5i+WRLxPmnOTAaaxgKiTOUNPsth+9abvQTfsmCO7NzL8hK1oAouXNU/0iB8yBa8GTP9wfJWdOC7AaCTWO7GKaOfXr3UEcOOFidMOiLsF1EPfPpa+r1dzeoXQIC1uOdWAsCZw4CQoMG9WZAoxog5AvoYRCg/NBYAALB4FOvdh2rVrg/aDoYTCDksU2+XZ4e8o/ZButit5vB+Fov7py/8J7s3C3OOBAlFcNyI1sP/j3a+izUtH+bxtONGjoHhuldkK8OG3iAgMDp4z8+/Zd69d13VTVA4O8sEgINAzZhXDwEFAeWy9E8vtWwyKto8i8wvvQfAoBJWzCCPJNGwFXTIA4fhyrHRsTELQRMmwtjCPnHrmtUx/khsUWRzbumZfp5kowCMek+PvGjfuNh4O9gCtmc+xdpYVkUDd+rR676/ID91YkAoTCvjwwW17/7lqreHtddA71ByDMIEBwvEAjTTUhVrYZFDIqmoH+gZVkWA4E1vNw6YhxQiAcJ0gyxAePcjmrEnv0igZHxh3GTFkihOHoQD9YlIIgbYOxnge5Y/NCajD1xlhEgJt9bPBk2mqUimEJ6DV9aoQRQmDDUfrsJPwnYU0DYT/334KPVkJ6D1LpNb6pn33lVbd1SqzwOFml4AiEwoFEJBEGwoWnQAASrVlgArWkeQsprDW003HVIvCkoqNyWygDHksPZ47IsxtANaUQZ2gGvaCNAoPQgYDahb/E7ly2c8XiHP5PaoUBwwOgl1EtomwjqJt9iCjcOQ0YFinC8kfCyckF+rvoCPMIpBxyrDupziHqt6nW16u3n1Scf79DvflgAGAIIAcF0EYFnCBoTaf6HNhYxvChMFwLCGpav8Nu0eAZR5AUw6OWBB7HLEMj2CCjBsW2ZmBEqY1qZrUcLlhs4uA8bYjbCMOklj3tszl86bODJKnScJFQxChxNuYDBFt6qroQEIkGkQfhCaW94hGEHHqJ+dMKZ6qyjL1MDCwaoB19bqB75+xr1n/e3qxTvsdZp9a3WIw31AQpVbsrDe9BzcBzBxmyOe+Y3nIlI2HhgHOQZY9FAWrlfLKM22V3p9WUbRNOObUAJiyw3qsuC/XF7xOVYZl9asZLWnlgeyfFjwXuZHSEd3mVMuHP0FtSnv9TZVj6kPCPpFWwoeQhyMHPoP6CXOnX/Y9Xx+xdhYVxVvrNEPffG66q2Bq1tPAFDPXhEKI1vQttg9mxqo7AMbAndVVBNwXj2N5En+TbPpCUv1K1oT2HSFG7Lg7B8bHeUl8aWJ7RoZNZFjK3zLYiyvoE13VxO/aK5q3uYRIeILWqHieO7xag0RsVIUKViqIhJByErhlBuM4OM3JyoGpLfH/mOWvLv+eq6x29RT65/WdXuAAH0CPQAxhsEGvYIIW/QFkFHwdfh/4byPMi4ZLJsVkNlTXtWwhjNQmlVeyWTFq/B5VB7ZnMf3CH3gUCujTBPDK9DgcTul/nYTo6FLCvo27b6rnuGSXaYZGRQOeG20U95vv8tObOgMreXEEmTl6YQziT4s0l8zyPFS8xmwCiGNt7Begbrku1Z1B6PAKnCoTeg+hMXzVsjnyP6bknR56Ixfw5a5SjMNgbK6RIqp9QBeWkzEbOMcclnXprqvODahhUDlvUMrBNBkjqZ+lkQmhbnJXiH40yiwyQjQJx5++mDo6nI60B6QNBgDBBqKPjHxLmARYDKKJqN0ggE6SbMGdPQPbQPBBxvG45S7XqpsUvmP9nku6TfmXzqV2JOZAFW5m+D9WM5paAhDaAIqzU6IODiAArEOTiV/RiR2Yf1DKZeAQysf8v1q3JTkROWlD2+0aQ7TDICBKXkxlF8Ymcq6hQzWQEQ0kAIBAg2DIvAyocaxE4lw14h8AgM2yg4VA2tiMl8yeK5f6402S3K988rOi3q+OUwKj88LLOmoNyM4I/EubKkjVoIuJKFJKysL9V6iBAUtg2aMwurgG1nLZy7+kKT1aGSMSAikYgz7tqR/HFWDq10Q1gJx6Vh8IeNYwwfAGEbifkWBq7fJnHiMFvMU84lj85d/ZDJbJOceeGIs2GJ2bBvHAXIt2e6QGEjNk4AKEyHlKuw66Tok4B/kLAASP1MvIU6Yg+1G9/a0Xft2rX0nx0uGQOCUnLtqEkI7oVr7BM+ijSLzWAo3gENIQAgbqEIYMAyrtMG0WeSX4vY73E2XWey90rOnFJ0JYx5DYDIRenk4R1tYoilw2YwtEqxIYV1NvUOdxt7Ah67qMF2Vy6ct+Y+k9XhklEgKON/e/oHqPhBJikVlrZBKEZmhjk7Gg+wdH7LjdRYZN+OswX7XvipW3vF3zv42j+fVTyicMhtGCWcjWQ/lDpsah5bgqAroYTXsHWxXlFOBlP3PdQTu9m6cO6aNryt1XaxDi5j4ntuMaZWVXSJNLLceaTBpUuAhmcQmD4y1Bd5zHp7aKSw6GmjX1mfTBy1aN7qSzoaBsorZa8kFj6welq8tv4wHGshAEj/7BELDOWDutroUBrbqHgE1ksgwPrGM+wRBkDuel6xSWZMMu4hKON/fvoyVLg46DfFM+C/nB2I8ExB48jc25wt0litFDYWGv5918WAseyJrHyOyMrYi087xIlG5qJqXwQIDc93UEIJGTcwwj9U1l20ldD7zl8B+bdMKmOSFSBKflFU6KUiG1D5fjwcG0caQoDQSgjsFbvWwgAXuh00VKfc1JnNTSGzJSWXDD/W5Q/S+WoAatDPwpAGAoV1lvpTWweDeAdfHbN4buYf388KEJTxPz39GrjLnwOCPDZEcIYIEAaCVsKABuITyyrlOROWzF+dtc8RtUbOnDJiBEDV71p6/EgJhH/C2hYY2Kk6zt0L56yebrIyKlkDgjLuipEpQIGGQsLAEIyyLRAtFsdJYArJaexlGFxl7XNE7ZGxU4omw/izoPVo4/wABAlRT8ZbIQAi9ej8J3Kz9ah+xgeVaeK733d8hz/aIY0jMJo4SWgOBjSKC92JFW5E48Q6OwyUigcen13x4OOYjPjXoOy7aFhZwDq22rTOTrTRudl8byOrHoIy7ocj/4VxwpECge0ibLxRUdCI+IMBo/IXfZKsm5aJWUM2hFPVL/bc73bfcyahrv1b3134/1k4988Hm2RWJLseApKMJ89Ao2wmiGwUMXoTjcMpJLKX76qrO3rhnDVTMgnD3c9/vc99/zh9lEl2uHCqWjFjzdTautrDkVyEeu3xR15Yf1dFMj7NbCxZ9xCUsZcUzQMUJThT+G0J4yGgQggfQfc3JhOpkscWdNyTQE1JRUUkuuOQopvQ8Be5OKbvO09v/uCDn1499hXeUM+Y/M+k4YdizMnfJzkMJ8Rub7Pz0S38Xb5o7pp9A4iSkpN6uH16fiqj8AYg+JZyjeu6YxfPfyLjL6nMeGHUNAQ3u74TBYsxGdv6Tsr1VNxL+tdN/9byW/WamZPvThxxfA5/+I4/tKLSvnexrToV+fzjbXxzuyPkMwGCMu7iEdM937keUKDvQNflexMXPvznvf51+z3J7PVF43G4uTh2AhAU2O+MYQrLYYx8Wc9POfVuSuX7Kf/cn51eOVtvmTn5/oRTR0aijvlpTCcGD3nzonlrrtFLsyufGRCUsRcVVaHyv6ooXc0vw2dU5rww8tvojhbwxhQMX0iPwO+UEgJCIWCADPmVO0DBTzVjwFvtuY7nuv6433xv2Wqzq4zJ984acW5U+Q9gFtXq72V1tHymQGRD/vTPU4/x3Wi57zj7wfjyu+WEgbUWCBDhrwIJFOg75Lcwk9pT8AfO+C0tdGvbMPPb6qX8cddOqHxR77l7SrcFouKfpx2IMetsVznDUMVBrCWrSq9g4+lAIM1uw/72JWEAFIG3gPeAYnak/p1KumfdeG7T34ru6tLtgHjsmZN7Jwp63AP7jYQOstWjZ2DUQhH2EoSBUMg4It4AhPUUovQeWC7XTXy1Cft52q/3p9x46dJt3H93kW4DBKeQkSOG34Cp4yUwfh8YWa6x2Nqxmk1BYT2EVYHBQMFfutNdB4HQMHCcwRD78LGTbfAaczZ8suHKsqszO1XNlnQLIBa+fNpURzm3oSoR2Eue4bTf/qDYGtoQMwyJ2y6DYRKawsYpGJ4/iCo/bWi8ROAp+Gu6pvvgeIMhoEgCkgSmzdfefsVjt8kBurB0aSAefWnEWD+i5sH0SRi2oKWa2GUEhXHxDvASQZeB7oBQJBHylwb5tf+G7sPAEe4+DBjiNaDYWR3fY0257jn3/LJyrhysC0qXBGLhKyNOdny5oJOH0hcyr8EfaLGPOIbFVpUBvYQMJOkZJK6BSMg4AoQJFIgDDIGDcQMEAeHTXwJGoOhDEAKSnUi78CDjH7px6Rp9xK4jXQqI8hdPOcp18sojyt8fyQG0uX5HV4tON8S1NK5fg4fQ3kEDwe5CAxFBl2GAgIfQP5VMOBhqGAIoAEGa1yAQDOk5OE111Rbfc8fNvmvFP/WxO790CSBmPjPygEi+Mwu2/wrsOYg/QU3D21BAoBo4dFyHYSAcZPJhilg0qnIjMfESNamUqkliEAAjJtD/0EMk6wBAPdKEAqGMKegpZFxhoEj6CpuKpxAosD1/dUigYFygwMF8VYXwX148cXbZwx3/Yk1HS6cG4t6nhveKFuT9MeKo0SjmQL4Vx/M7gMCEjQHh9CIMB4Vfse2Zk6sOLzxIHTpguFI534SxtqnamsVqzX/WqU31cVUnA0oNAqHQv7CPEFDIIFO6D/17IdZTyE9PGQ8hIEiI7oNApDct794+6fp1lyya8QS/g90ppdMC8YfnRv8CAFwFA/MxNJlCWgNrEBoM3hwowTr8A4kh0jOWpwbn91V9cgvV9kSN2lizVW1NJFU9jCoQCAw6Lr86aJS/Xa5/OMbC0ABC8ENoe25KrsGfpbyjvHT573RW55JOC8Sdfx99IVz8H2HDKAZowRdtrXFpacbh9XeHwMQpQYgIq8raUtld0K3L+ABnvx0vhEGQECDQO9hfEQp7Bm7fRsGW6Jk89eNs/pxEW6RTdxm82LSh36gbHN+5FMXsAwPQ3iLBdYZw8U0Wu4s0YX5oO+vatWFp6IYxgv4Rdcb5FjrS4hEMCAjbAYGVbehIHnmj5oMr+cCMyet00iUGlbc9dnLvhN/3HhjydBhkoPTPVBYdKnAgIR1EYHgdUoSHUH4ABBWGpusPxgcEwMQZCgw8r9svfDrqL3Xx6ilL5zzd6S9zdwkgrPx85sgDYtHYI64X+TKMOtBcQg7gYJgGhFHJYmjSPMsFCjMrECAIhukWxGvwDTIs2wvhD9G96SXikyoeWfO+zur80qWAsPKTe0Yd43ixchhsCAzaX9y4MbiGg5FQHjeycQODAGG8BH9QTgaI4i30DGEvBF7A3+L47riyGateMnldRrokEFYuv7n4244XWQAD5kH78GKTEiAQWgAaxUUFBu0d5EKSgWIvQaiGuq7vjl84Y2XGH6bJlHRpIKxccvWY8b7rzIXheaOphzW8BYF/rBex3YWGAiHB2CsQzI+eeerc8pmZf9wu09ItgLBy3lVjpjmeczMAiMLIsTTPQAhsSBh48QhA7IVwqIl5iLq+vLTyFsnpBtKtgKCUlESi+QeMvglAXAwgClE91LEBBF5FtN5iL2QrNp/3Rs3Gn3TmKWR7pNsBYeWcc4r7+H2ce1G7IoBgpqqAgdVtf5UxhfSfrq7xL15RtmKryetW0m2BsDJ2SvFBOY6aAwiOgWcY2E4YqtBMb7vKn7hoRvd8ltJKtwfCSskFRcN8J8Z3HwZD+XvZrRHehNrmKX9sReny9Tqre8s+A4SVMy88fXhURQkGH7XrI5m7Sw2Uw87xC0qXr9JZ+4bsc0BYGX9B8QTFrkS+bKXs96I5a+BTWOctKK2cpbP2LdlngbAy7oLR0x1H3YCmeBPji/LyGZU3mkX7pOzzQFCGDx+e0//QHl+tmFH5mfwSXucRpf4/IX9kOYeg4yEAAAAASUVORK5CYII="}},"time_used":130,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":130,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/main-t6WxLABA.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:14.256Z","timestamp":1785133994256,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/main-t6WxLABA.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.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\nOrigin: https://frxoptmarkt.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:33:14 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-3f99\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k6DW9mNOx4JeaMJCnSYnoFcSc9Wa0FojuLMLKo7FUidfeHpYiZf/Lf0moUXC4xifJ0ptcwA\r\nx-77-nzt-ray: e2f75420e9f098feaafb666ae025470f\r\nx-77-cache: HIT\r\nx-77-age: 1720956\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":16281,"size_decoded":6837,"mime_type":"application/javascript","magic":"Java source, ASCII text, with very long lines (15873)","md5":"9253d4d9d6ea32e484f0be9a0320a7a7","sha1":"762fb8fdf15626507c1c26a66aa7fe399d39e803","sha256":"1fb0b8e426f707feea50785bc24016fe14a76fb763d5eca3bc9b1d265bf77fa2","sha512":"5a1592fc87a402c636315def22f3c60dd7eeda34701b08005a192ae060acbe7ed8ae8aa709cc1664c3d9489c641e1ada60e79c66f13073ab61e6ba5bd86f524d","ssdeep":"384:9rgi5RFMkSjJOE/0BW2rkZZ795P6zrnBOVmPCRkXQbpaIF2K:9EizlSjJOEiWYoR5P6nnBOVmycQbpaId","tlshash":"0272d7742700783f711f489e16ade546b232c29dd693892d9b6fec0976c5cc0a8b37b9","first_seen":"2026-07-07T11:50:17.711459Z","last_seen":"2026-07-27T07:27:47.896741Z","times_seen":1890,"resource_available":true,"data":"Y29uc3QgX192aXRlX19tYXBEZXBzPShpLG09X192aXRlX19tYXBEZXBzLGQ9KG0uZnx8KG0uZj1bd2luZG93LnBhcmVudC5zbWFydHN1cHAuZ2V0QXNzZXRVcmwoImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL3NoYXJlZC1DZ01DQWZvci5qcyIpLHdpbmRvdy5wYXJlbnQuc21hcnRzdXBwLmdldEFzc2V0VXJsKCJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiKSx3aW5kb3cucGFyZW50LnNtYXJ0c3VwcC5nZXRBc3NldFVybCgiYXNzZXRzL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzIildKSkpPT5pLm1hcChpPT5kW2ldKTsKaW1wb3J0e0EgYXMgZSxBaSBhcyB0LEFyIGFzIG4sQXQgYXMgcixCIGFzIGksQmkgYXMgYSxDIGFzIG8sQ2kgYXMgcyxEIGFzIGMsRGkgYXMgbCxFIGFzIHUsRWkgYXMgZCxHaSBhcyBmLEdyIGFzIHAsSGkgYXMgbSxIbiBhcyBoLEhyIGFzIGcsSSBhcyBfLElpIGFzIHYsSiBhcyB5LEppIGFzIGIsS2kgYXMgeCxLciBhcyBTLExpIGFzIEMsTSBhcyBlZSxOIGFzIHRlLE5pIGFzIHcsTyBhcyBuZSxPciBhcyByZSxQaSBhcyBpZSxQciBhcyBhZSxQdCBhcyBvZSxSIGFzIHNlLFMgYXMgY2UsU2kgYXMgbGUsVCBhcyB1ZSxUaSBhcyBULFVpIGFzIGRlLFVyIGFzIEUsVmkgYXMgRCxXaSBhcyBmZSxXbiBhcyBwZSxXdCBhcyBtZSxYaSBhcyBPLFhyIGFzIGssWHQgYXMgaGUsWSBhcyBnZSxZaSBhcyBBLFluIGFzIGosWXIgYXMgX2UsWmkgYXMgTSxaciBhcyB2ZSxfIGFzIHllLGEgYXMgYmUsYWEgYXMgTixiIGFzIHhlLGJpIGFzIFAsY2EgYXMgRixkIGFzIFNlLGRpIGFzIENlLGR0IGFzIHdlLGVhIGFzIFRlLGVpIGFzIEksZiBhcyBFZSxmaSBhcyBMLGggYXMgRGUsaGkgYXMgUixpIGFzIHosaWEgYXMgQixqIGFzIE9lLGppIGFzIFYsam4gYXMga2Usa2kgYXMgQWUsa3IgYXMgamUsbCBhcyBNZSxsYSBhcyBOZSxsaSBhcyBILG0gYXMgUGUsbWkgYXMgRmUsbiBhcyBJZSxuYSBhcyBMZSxvIGFzIFUsb2kgYXMgVyxvciBhcyBHLHBpIGFzIEsscSBhcyBSZSxxbiBhcyB6ZSxyIGFzIHEscyBhcyBCZSx0IGFzIFZlLHRhIGFzIEhlLHRpIGFzIEosdSBhcyBVZSx1aSBhcyBZLHcgYXMgWCx3aSBhcyBaLHggYXMgV2UseGkgYXMgR2UseSBhcyBLZSx5aSBhcyBxZX1mcm9tIi4vc2hhcmVkLUNnTUNBZm9yLmpzIjt2YXIgSmU9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBZZShlLHQpe04odCwhMCk7bGV0IG49eChudWxsKSxyPWAke1MoKS5TTUFSVFNVUFBfQVVUT0NSRUFURT09PSExP2cod2luZG93KS5pZDpgc21hcnRzdXBwYH0td2lkZ2V0LWNvbnRhaW5lcmA7aygoKT0+e3cobikmJnAoKS5ib2R5LmFwcGVuZENoaWxkKHcobikpfSksX2UoKCk9PntwKCkuZ2V0RWxlbWVudEJ5SWQocik/LnJlbW92ZSgpfSk7dmFyIGk9SmUoKTtSKGEoaSksKCk9PnQuY2hpbGRyZW4/P05lKSxGKGkpLEooaSxlPT5mKG4sZSksKCk9PncobikpLHYoKCk9PlcoaSxgaWRgLHIpKSxaKGUsaSksQigpfXZhciBYZT1kKGA8aWZyYW1lIGFsbG93ZnVsbHNjcmVlbj0iIiBzY3JvbGxpbmc9Im5vIj48L2lmcmFtZT5gKTtmdW5jdGlvbiBRKGUsdCl7Tih0LCEwKTtsZXQgbj0oKT0+TShjLGAkdGhlbWVDb2xvcmAsciksW3IsaV09TygpLGE9eCh2b2lkIDApLG89eChudWxsKSxsO0MoKCk9Pnt3KG8pJiZ1KHcobykpfSksQygoKT0+e3cobykmJmQobigpKX0pO2xldCB1PWFzeW5jIGU9PntsJiZhd2FpdCBzKGwpLGUmJnQuY29tcG9uZW50JiYobD1HZSh0LmNvbXBvbmVudCx7dGFyZ2V0OmUuYm9keX0pKX0sZD1lPT57dyhvKSYmbmUodyhvKSxlKX0scD1lPT57aWYoIXcobykpcmV0dXJuO2xldCB0PXcobykuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtyZXR1cm4gdC50ZXh0Q29udGVudD1lLHcobykuaGVhZC5hcHBlbmRDaGlsZCh0KSx0fSxtPSgpPT57Zm9yKGxldCBlIG9mIHdpbmRvdy5kb2N1bWVudC5zdHlsZVNoZWV0cyl7bGV0IHQ9YGA7dHJ5e3Q9Wy4uLmUuY3NzUnVsZXNdLm1hcChlPT5lLmNzc1RleHQpLmpvaW4oYGApfWNhdGNoe2NvbnRpbnVlfWlmKCFwKHQpKXJldHVybn19LGg9KCk9PnshdyhhKXx8IXcoYSkuY29udGVudERvY3VtZW50fHwoZihvLHcoYSkuY29udGVudERvY3VtZW50LCEwKSxtKCkpfTtrKGFzeW5jKCk9Pnthd2FpdCBpZSgpLHcoYSk/LmNvbnRlbnREb2N1bWVudCYmdyhhKS5jb250ZW50RG9jdW1lbnQucmVhZHlTdGF0ZT09PWBjb21wbGV0ZWAmJncoYSkuY29udGVudERvY3VtZW50LmRlZmF1bHRWaWV3P2goKTp3KGEpPy5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxoKX0pLF9lKGFzeW5jKCk9Pnt3KGEpJiZ3KGEpLnJlbW92ZUV2ZW50TGlzdGVuZXIoYGxvYWRgLGgpLGwmJmF3YWl0IHMobCl9KTt2YXIgZz1YZSgpO0ooZyxlPT5mKGEsZSksKCk9PncoYSkpLHYoKCk9PntXKGcsYGlkYCx0LmlkKSxXKGcsYHRpdGxlYCx0LnRpdGxlKSxIKGcsdC5mcmFtZVN0eWxlKX0pLFooZSxnKSxCKCksaSgpfXZhciBaZT1sKGA8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDY0IDY0IiBmaWxsPSJjdXJyZW50Q29sb3IiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIG1lZXQiPjxwYXRoIGQ9Ik02My4xMTMsMTguNTF2LS4xNkM2MC4zMjMsNy4wNSw0NC41ODIsMywzMS45NzIsM1MzLjU4Miw3LC43OTIsMTguNWE2Ni4yMiw2Ni4yMiwwLDAsMCwwLDIwLjQ2YzEuMTgsNC43NCw1LjA1LDguNjMsMTEuMzYsMTEuNDFsLTQsNUEzLjQ3LDMuNDcsMCwwLDAsMTAuODgyLDYxYTMuMzksMy4zOSwwLDAsMCwxLjQ0LS4zMUwyNi44NjIsNTRjMS43OS4xOCwzLjQ5LjI3LDUuMDcuMjcsMTEuMDQuMDQsMjguNDEtNC4wNCwzMS4xOC0xNS40M2E2MC4zMyw2MC4zMywwLDAsMCwwLTIwLjMzWiI+PC9wYXRoPjwvc3ZnPmApO2Z1bmN0aW9uIFFlKGUsdCl7bGV0IG49dmUodCxgaWNvblNpemVgLDMsMTYpO3ZhciByPVplKCk7digoKT0+e1cocixgd2lkdGhgLG4oKSksVyhyLGBoZWlnaHRgLG4oKSl9KSxaKGUscil9ZnVuY3Rpb24gJGUoZSx0KXtOKHQsITApO2xldCBuPXgoITEpO2soKCk9PntmKG4sITApfSk7dmFyIHI9VCgpLGk9RChyKSxhPWU9Pnt2YXIgbj1UKCk7UihEKG4pLCgpPT50LmNoaWxkcmVuPz9OZSksWihlLG4pfTtQKGksZT0+e3cobikmJmUoYSl9KSxaKGUsciksQigpfXZhciBldD1kKGA8ZGl2IGNsYXNzPSJ0cmFuc2Zvcm0gdHJhbnNpdGlvbi10cmFuc2Zvcm0gZHVyYXRpb24tMzAwIGdyb3VwLWhvdmVyOnNjYWxlLTExNSI+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gdHQoZSl7JGUoZSx7Y2hpbGRyZW46KGUsdCk9Pnt2YXIgbj1ldCgpO1FlKGEobikse2ljb25TaXplOjI0fSksRihuKSxLKDMsbiwoKT0+QmUsKCk9Pih7ZGVsYXk6MjAwLGR1cmF0aW9uOjMwMCxzdGFydDouNixvcGFjaXR5Oi44fSkpLFooZSxuKX0sJCRzbG90czp7ZGVmYXVsdDohMH19KX12YXIgbnQ9ZChgPGRpdiBjbGFzcz0icC0xIj48ZGl2IGNsYXNzPSJmbGV4LWNlbnRlciB3LTEyIGgtMTIgYmctd2hpdGUgYmctb3BhY2l0eS0xMCByb3VuZGVkLWZ1bGwiPjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIHJ0KGUpe3ZhciB0PW50KCksbj1hKHQpO3R0KGEobikse30pLEYobiksRih0KSxaKGUsdCl9dmFyIGl0PWQoYDxkaXYgY2xhc3M9ImZsZXgiPjxkaXYgY2xhc3M9ImZsZXgtY2VudGVyIHdoaXRlc3BhY2Utbm93cmFwIHBsLTQgcHItMSI+IDwvZGl2PiA8IT48L2Rpdj5gKTtmdW5jdGlvbiBhdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oaixgJHRgLHIpLFtyLGldPU8oKSxvPWZlKCk7aygoKT0+e2xldCBlPU1hdGguY2VpbCh3KG8pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoKTtVZS5zZXQoZSl9KSxJKCk7dmFyIHM9aXQoKSxjPWEocyksbD1hKGMsITApO0YoYykscnQobShjLDIpLHt9KSxGKHMpLEoocyxlPT5mKG8sZSksKCk9PncobykpLHYoZT0+e1coYyxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0QnV0dG9uVGV4dCksbGUobCxlKX0sWygpPT5uKCkoYGJ1dHRvbi5ncmVldGluZ2ApXSksWihlLHMpLEIoKSxpKCl9dmFyIG90PWQoYDxkaXYgaWQ9IndpZGdldC1vbmxpbmUtYmFkZ2UiIGNsYXNzPSJhYnNvbHV0ZSBsZWZ0LTAgYm90dG9tLTAgdy0yIGgtMiBwLTEuNSBiZy1ncmVlbi00MDAgcm91bmRlZC1mdWxsIGJvcmRlci0yIGJvcmRlci13aGl0ZSI+PC9kaXY+YCk7ZnVuY3Rpb24gc3QoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGtlLGAkaXNXaWRnZXRPbmxpbmVgLHIpLFtyLGldPU8oKTtJKCk7dmFyIGE9VCgpLG89RChhKSxzPWU9Pnt2YXIgdD1vdCgpO3YoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0T25saW5lQmFkZ2UpKSxLKDMsdCwoKT0+QmUpLFooZSx0KX07UChvLGU9PntuKCkmJmUocyl9KSxaKGUsYSksQigpLGkoKX12YXIgY3Q9ZChgPGRpdiBpZD0id2lkZ2V0LXVucmVhZC1tZXNzYWdlcy1iYWRnZSIgY2xhc3M9ImFic29sdXRlIHJpZ2h0LTAgdG9wLTAgbWluLXctNSBoLTUgZmxleC1jZW50ZXIgcHgtMSB0ZXh0LXdoaXRlIGJnLXJlZC02MDAgdGV4dC14cyByb3VuZGVkLWZ1bGwgc2hhZG93Ij4gPC9kaXY+YCk7ZnVuY3Rpb24gbHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKGhlLGAkdW5yZWFkTWVzc2FnZXNDb3VudGAsciksW3IsaV09TygpLG89QSgoKT0+bigpPjApO3ZhciBzPVQoKSxjPUQocyksbD1lPT57dmFyIHQ9Y3QoKSxyPWEodCwhMCk7Rih0KSx2KCgpPT57Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRVbnJlYWRNZXNzYWdlc0JhZGdlKSxsZShyLG4oKT45OT9gOTkrYDpuKCkpfSksSygzLHQsKCk9PkJlKSxaKGUsdCl9O1AoYyxlPT57dyhvKSYmZShsKX0pLFooZSxzKSxCKCksaSgpfXZhciB1dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgdy1mdWxsIGZpeGVkIGZsZXgganVzdGlmeS1lbmQgYm9yZGVyLXJvdW5kZWQtZnVsbCI+PGRpdiByb2xlPSJidXR0b24iIGNsYXNzPSJncm91cCBmbGV4LWNlbnRlciB3LWZ1bGwgYmctcHJpbWFyeS1ncmFkaWVudCBiZy1wcmltYXJ5LWdyYWRpZW50LWhvdmVyIHRleHQtcHJpbWFyeS1jb250ZW50IHJvdW5kZWQtZnVsbCBvdmVyZmxvdy1oaWRkZW4gY3Vyc29yLXBvaW50ZXIgY29udGVudC1mb2N1cy1zZWNvbmRhcnkiPjwhPiA8IT48L2Rpdj4gPCE+PC9kaXY+YCk7ZnVuY3Rpb24gZHQoZSxuKXtOKG4sITEpO2xldCBpPSgpPT5NKGosYCR0YCxzKSxvPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLFtzLGNdPU8oKTtJKCk7dmFyIGw9dXQoKSx1PWEobCk7Vyh1LGB0YWJpbmRleGAsMCk7dmFyIGQ9YSh1KSxmPWU9Pnt0dChlLHt9KX0scD1lPT57YXQoZSx7fSl9O1AoZCxlPT57bygpP2UoZik6ZShwLC0xKX0pLHN0KG0oZCwyKSx7fSksRih1KSxsdChtKHUsMikse30pLEYobCksdihlPT57Vyh1LGBhcmlhLWxhYmVsYCxlKSxXKHUsYGRhdGEtdGVzdGlkYCxHLndpZGdldEJ1dHRvbil9LFsoKT0+aSgpKGBhcmlhTGFiZWwub3BlbkNoYXRgKV0pLHQoYGNsaWNrYCx1LCgpPT5zZSgpKSxWKGBrZXlwcmVzc2AsdSxlPT5lLmtleT09PXIuRW50ZXImJnNlKCkpLFooZSxsKSxCKCksYygpfUFlKFtgY2xpY2tgXSk7dmFyIGZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gcHQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKFNlLGAkYnV0dG9uRnJhbWVXaWR0aGAscykscj0oKT0+TSh0ZSxgJHNob3VsZFJlbmRlckJ1dHRvbkZyYW1lYCxzKSxpPSgpPT5NKERlLGAkaXNXaWRnZXRCdXR0b25CdWJibGVgLHMpLG89KCk9Pk0oaixgJHRgLHMpLFtzLGNdPU8oKSxsPXgodm9pZCAwKSxkPWU9Pnt3KGwpJiYodyhsKS5zdHlsZS53aWR0aD1gJHtlfXB4YCl9LHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6cH09RS5nZXRPcHRpb25zKCk7QygoKT0+e3cobCkmJmQobigpKX0pO3ZhciBtPVQoKSxoPUQobSksZz1lPT57dmFyIHQ9ZnQoKTtsZXQgbjtxZShhKHQpLCgpPT5pKCl8fG8oKSxlPT57e2xldCB0PUEoWCk7UShlLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIGR0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRCdXR0b25GcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgYnV0dG9uYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KHQpfX0pfX0pLEYodCksSih0LGU9PmYobCxlKSwoKT0+dyhsKSksTCh0LGU9PktlPy4oZSkpLHYoZT0+e249SCh0LGBib3JkZXItcmFkaXVzOiA5OTk5cHg7IGJveC1zaGFkb3c6IHJnYigwIDAgMCAvIDYlKSAwcHggMXB4IDZweCwgcmdiKDAgMCAwIC8gJHtwPy5saW1pdFNoYWRvdz9gMjAlKSAwcHggMnB4IDEycHhgOmAxMiUpIDBweCAycHggMzJweGB9OyBjb2xvci1zY2hlbWU6IG5vcm1hbDtgLG4sZSksVyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRCdXR0b25GcmFtZSl9LFsoKT0+KHtoZWlnaHQ6dSg1Nil9KV0pLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZGVsYXk6MTUwLGR1cmF0aW9uOjMwMH0pKSxLKDIsdCwoKT0+YmUsKCk9Pih7ZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChoLGU9PntyKCkmJmUoZyl9KSxaKGUsbSksQigpLGMoKX12YXIgJD1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkluaXRpYWxpemVkPTBdPWBJbml0aWFsaXplZGAsZVtlLkxvYWRpbmc9MV09YExvYWRpbmdgLGVbZS5TdWNjZXNzPTJdPWBTdWNjZXNzYCxlW2UuRXJyb3I9M109YEVycm9yYCxlfSh7fSksbXQ9bmV3IE1hcCxodD1hc3luYyBlPT57bGV0IHQ9KGF3YWl0IGUoKSkuZGVmYXVsdDtyZXR1cm4gbXQuc2V0KGUsdCksdH07ZnVuY3Rpb24gZ3QoZSx0KXtOKHQsITApO2xldCBuPXZlKHQsYGRlbGF5YCwzLDIwMCkscj14KGRlKCQuSW5pdGlhbGl6ZWQpKSxpPXgodm9pZCAwKSxhPXgodm9pZCAwKSxvPXgodm9pZCAwKSxzPUEoKCk9PncoaSkpLGM9KCk9Pnt3aW5kb3cuY2xlYXJUaW1lb3V0KHcobykpfSxsPWFzeW5jKCk9PntjKCksZihhLHZvaWQgMCksZihpLHZvaWQgMCksbigpPjA/KGYociwkLkluaXRpYWxpemVkLCEwKSxmKG8sd2luZG93LnNldFRpbWVvdXQoKCk9PntmKHIsJC5Mb2FkaW5nLCEwKX0sbigpKSwhMCkpOmYociwkLkxvYWRpbmcsITApO3RyeXtmKGksYXdhaXQgaHQodC5sb2FkZXIpLCEwKSxmKHIsJC5TdWNjZXNzLCEwKX1jYXRjaChlKXtpZihmKHIsJC5FcnJvciwhMCksZSBpbnN0YW5jZW9mIEVycm9yKWYoYSxlLCEwKTtlbHNlIHRocm93IGV9YygpfTttdC5oYXModC5sb2FkZXIpPyhmKHIsJC5TdWNjZXNzLCEwKSxmKGksbXQuZ2V0KHQubG9hZGVyKSwhMCkpOmsoKCk9PntsKCl9KTt2YXIgdT1UKCksZD1EKHUpLHA9ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQuZXJyb3IsKCk9Pih7ZXJyb3I6dyhhKX0pKSxaKGUsbil9LG09ZT0+e3ZhciBuPVQoKTtSKEQobiksKCk9PnQubG9hZGluZyksWihlLG4pfSxoPWU9Pnt2YXIgdD1UKCk7RmUoRCh0KSwoKT0+dyhzKSwoZSx0KT0+e3QoZSx7fSl9KSxaKGUsdCl9O1AoZCxlPT57dyhyKT09PSQuRXJyb3ImJnQuZXJyb3I/ZShwKTp3KHIpPT09JC5Mb2FkaW5nP2UobSwxKTp3KHIpPT09JC5TdWNjZXNzJiZlKGgsMil9KSxaKGUsdSksQigpfXZhciBfdD0oKT0+YWUoKCk9PmltcG9ydChgLi9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanNgKSxfX3ZpdGVfX21hcERlcHMoWzAsMSwyXSksaW1wb3J0Lm1ldGEudXJsKSx2dD1lPT57dmFyIHQ9YnQoKSxuPWEodCkscj1hKG4pO3EoYShyKSx7c2l6ZTozMn0pLEYocik7dmFyIGk9bShyLDIpLG89YShpKTtxKG8se3NpemU6MzJ9KTt2YXIgcz1tKG8sMik7cShzLHtzaXplOjMyfSkscShtKHMsMikse3NpemU6MzJ9KSxGKGkpLEYobik7dmFyIGM9bShuLDIpLGw9YShjKTtxKGEobCkse3NpemU6NDR9KSxGKGwpO3ZhciB1PW0obCwyKSxkPWEodSk7eihkLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSkseihtKGQsMikse2hlaWdodDoyMCx3aWR0aDoxMjJ9KSxGKHUpLEYoYyk7dmFyIGY9bShjLDIpLHA9YShmKTtxKGEocCkse3NpemU6Mjh9KSxGKHApO3ZhciBoPW0ocCwyKTt6KGEoaCkse2hlaWdodDoxMTIsd2lkdGg6Mjk1LHJvdW5kZWRTdHlsZTpgcm91bmRlZC02YH0pLEYoaCksRihmKTt2YXIgZz1tKGYsMiksXz1hKGcpO3ooXyx7aGVpZ2h0OjMyLHdpZHRoOjI5NX0pO3ZhciB2PW0oXywyKTt6KHYse2hlaWdodDozMix3aWR0aDoxNDh9KSx6KG0odiwyKSx7aGVpZ2h0OjMyLHdpZHRoOjIyNH0pLEYoZyksRih0KSxaKGUsdCl9LHl0PShlLHQpPT57bGV0IG49KCk9PnQ/LigpLmVycm9yO3ZhciByPXh0KCksaT1tKGEociksMiksbz1hKGksITApO0YoaSksRihyKSx2KCgpPT5sZShvLG4oKSkpLFooZSxyKX0sYnQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSIgaWQ9IlRPRE8gdGVzdCI+PGRpdiBjbGFzcz0iZmxleCBqdXN0aWZ5LWJldHdlZW4iPjxkaXYgY2xhc3M9ImZsZXgiPjwhPjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IHNwYWNlLXgtMiI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBtdC0yIj48ZGl2IGNsYXNzPSJmbGV4IG1sLTEgbXItMiI+PCE+PC9kaXY+IDxkaXYgY2xhc3M9ImZsZXgtYm90dG9tIHNwYWNlLXktMiI+PCE+IDwhPjwvZGl2PjwvZGl2PiA8ZGl2IGNsYXNzPSJmbGV4IGl0ZW1zLWJhc2VsaW5lIG10LTgiPjxkaXYgY2xhc3M9ImZsZXggbWwtMSBtci0yIj48IT48L2Rpdj4gPGRpdiBjbGFzcz0ic3BhY2UteS0yIj48IT48L2Rpdj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleCBmbGV4LWNvbCBpdGVtcy1lbmQgc3BhY2UteS01IG10LTggbXItMSI+PCE+IDwhPiA8IT48L2Rpdj48L2Rpdj5gKSx4dD1kKGA8ZGl2IGNsYXNzPSJoLWZ1bGwgcC00IGJnLXdoaXRlIHRleHQtcmVkLTUwMCI+PGRpdiBjbGFzcz0idGV4dC1sZyBmb250LWJvbGQiPkZhaWxlZCB0byBsb2FkIHdpZGdldDwvZGl2PiA8ZGl2IGNsYXNzPSJ0ZXh0LXhzIj4gPC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gU3QoZSl7Z3QoZSx7Z2V0IGxvYWRlcigpe3JldHVybiBfdH0sZGVsYXk6MCxnZXQgZXJyb3IoKXtyZXR1cm4geXR9LGdldCBsb2FkaW5nKCl7cmV0dXJuIHZ0fX0pfXZhciBDdD1kKGA8ZGl2PjwhPjwvZGl2PmApO2Z1bmN0aW9uIHd0KGUsdCl7Tih0LCEwKTtsZXQgcj0oKT0+TShqZSxgJGlzRnVsbFNjcmVlbkVuYWJsZWRgLGwpLG89KCk9Pk0oUGUsYCRpc01lc3NlbmdlckZyYW1lRXhwYW5kZWRgLGwpLHM9KCk9Pk0obixgJGlzTW9iaWxlRGV2aWNlYCxsKSxjPSgpPT5NKGksYCRzaG91bGRSZW5kZXJNZXNzZW5nZXJGcmFtZWAsbCksW2wsZF09TygpLG09eCh2b2lkIDApLGc9YE1vYmlsZVdpZGdldE1lc3Nlbmdlck9wZW5gLF89KGUsdCk9PntpZighdyhtKSlyZXR1cm47bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1FLmdldE9wdGlvbnMoKSx7d2lkdGg6cixoZWlnaHQ6aX09dWUoZSx0KTt3KG0pLnN0eWxlLm1heEhlaWdodD1oKGkpP2k6dShpKSx3KG0pLnN0eWxlLndpZHRoPWgocik/cjp1KHIpLHcobSkuc3R5bGUuaGVpZ2h0PWV8fG4/LmhlYWRsZXNzTW9kZT9gMTAwJWA6YGNhbGMoMTAwJSAtIDQwcHgpYH07QygoKT0+e3cobSkmJl8ocigpLG8oKSl9KTtsZXQgeT14KCExKTtDKCgpPT57aWYocygpKXtpZihjKCkmJiF3KHkpKXtsZXQgZT1wKCkuY3JlYXRlRWxlbWVudChgc3R5bGVgKTtlLnRleHRDb250ZW50PWAqIHtvdmVyZmxvdzogaGlkZGVufWAsZS5jbGFzc05hbWU9ZyxwKCkuaGVhZC5hcHBlbmRDaGlsZChlKSxmKHksITApfWlmKCFjKCkmJncoeSkpe2xldCBlPXAoKS5oZWFkLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoZyk7Zm9yKGxldCB0PTA7dDxlLmxlbmd0aDt0KyspcCgpLmhlYWQucmVtb3ZlQ2hpbGQoZVt0XSk7Zih5LCExKX19fSk7dmFyIGI9VCgpLFM9RChiKSxlZT1lPT57dmFyIHQ9Q3QoKTtIKHQsYGAse30se3RyYW5zaXRpb246YG1heC1oZWlnaHQgMjUwbXMgZWFzZS1pbi1vdXQsIHdpZHRoIDI1MG1zIGVhc2UtaW4tb3V0YCxvdmVyZmxvdzpgaGlkZGVuYH0pO3ZhciBuPWEodCk7e2xldCBlPUEoWCk7UShuLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIFN0fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRNZXNzZW5nZXJGcmFtZX0sdGl0bGU6YFNtYXJ0c3VwcCB3aWRnZXQgbWVzc2VuZ2VyYCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LChlLHQpPT54ZT8uKGUsdCksciksSih0LGU9PmYobSxlKSwoKT0+dyhtKSksdigoKT0+Vyh0LGBkYXRhLXRlc3RpZGAsRy53aWRnZXRNZXNzZW5nZXJGcmFtZSkpLEsoMSx0LCgpPT5VLCgpPT4oe3k6MjAsZHVyYXRpb246MjAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MTUwfSkpLFooZSx0KX07UChTLGU9PntjKCkmJmUoZWUpfSksWihlLGIpLEIoKSxkKCl9dmFyIFR0PSgpPT5hZSgoKT0+aW1wb3J0KGAuL1dpZGdldFBvcHVwLXFldXdrY0JuLmpzYCksX192aXRlX19tYXBEZXBzKFszLDEsMl0pLGltcG9ydC5tZXRhLnVybCksRXQ9ZT0+e3ZhciB0PUR0KCksbj1hKHQpO3Eobix7c2l6ZTo0NH0pO3ZhciByPW0obiwyKSxpPWEocik7eihpLHtoZWlnaHQ6MjAsd2lkdGg6MjcwfSk7dmFyIG89bShpLDIpO3oobyx7aGVpZ2h0OjIwLHdpZHRoOjI3MH0pLHoobShvLDIpLHtoZWlnaHQ6MjAsd2lkdGg6MTIyfSksRihyKSxGKHQpLFooZSx0KX0sRHQ9ZChgPGRpdiBjbGFzcz0iaC1mdWxsIHAtMiBiZy13aGl0ZSI+PCE+IDxkaXYgY2xhc3M9Im10LTQgc3BhY2UteS0yIj48IT4gPCE+IDwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIE90KGUpe2d0KGUse2dldCBsb2FkZXIoKXtyZXR1cm4gVHR9LGRlbGF5OjAsZ2V0IGxvYWRpbmcoKXtyZXR1cm4gRXR9fSl9dmFyIGt0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gQXQoZSx0KXtOKHQsITApO2xldCBuPSgpPT5NKHllLGAkcG9wdXBGcmFtZUhlaWdodGAsbykscj0oKT0+TShFZSxgJGhhc1BvcHVwRnJhbWVIb3ZlcmAsbyksaT0oKT0+TShPZSxgJHNob3VsZFJlbmRlclBvcHVwRnJhbWVgLG8pLFtvLHNdPU8oKSxjPXgodm9pZCAwKSxsPWU9Pnt3KGMpJiYodyhjKS5zdHlsZS5tYXhIZWlnaHQ9YCR7ZX1weGApfSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOmR9PUUuZ2V0T3B0aW9ucygpO0MoKCk9Pnt3KGMpJiZsKG4oKSl9KTtsZXQgcD1BKCgpPT5yKCk/LjI4Oi4xNik7dmFyIG09VCgpLGg9RChtKSxnPWU9Pnt2YXIgdD1rdCgpO2xldCBuO3ZhciByPWEodCk7e2xldCBlPUEoWCk7UShyLHtnZXQgY29tcG9uZW50KCl7cmV0dXJuIE90fSxnZXQgaWQoKXtyZXR1cm4gRy53aWRnZXRQb3B1cEZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBwb3B1cGAsZ2V0IGZyYW1lU3R5bGUoKXtyZXR1cm4gdyhlKX19KX1GKHQpLEoodCxlPT5mKGMsZSksKCk9PncoYykpLEwodCxlPT5jZT8uKGUpKSx2KGU9PntuPUgodCxgaGVpZ2h0OiBjYWxjKDEwMCUgLSA0MHB4KTsgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UtaW4tb3V0LCBtYXgtaGVpZ2h0IDI1MG1zIGVhc2UtaW4tb3V0YCxuLGUpLFcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0UG9wdXBGcmFtZSl9LFsoKT0+KHt3aWR0aDp1KDMwMCksImJvcmRlci1yYWRpdXMiOnUoMjApLG92ZXJmbG93OmBoaWRkZW5gLCJib3gtc2hhZG93IjpgcmdiYSgwLCAwLCAwLCAke2Q/LmxpbWl0U2hhZG93P2AwLjIpIDBweCAzcHggMTJweGA6YCR7dyhwKX0pIDBweCAzcHggMTZweGB9YH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246NDAwfSkpLFooZSx0KX07UChoLGU9PntpKCkmJmUoZyl9KSxaKGUsbSksQigpLHMoKX12YXIganQ9ZChgPGRpdiBjbGFzcz0iZmxleCBwLTIiPjxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+IDxkaXY+PC9kaXY+PC9kaXY+YCk7ZnVuY3Rpb24gTXQoZSx0KXtsZXQgbj12ZSh0LGBzaXplYCwzLGBtZGApLHI9dmUodCxgY29sb3JgLDMsYGJsYWNrYCksaT1BKCgpPT50Lml0ZXJhdGlvbnM/P2BpbmZpbml0ZWApO3ZhciBvPWp0KCkscz1hKG8pO2xldCBjO3ZhciBsPW0ocywyKTtsZXQgdTt2YXIgZD1tKGwsMik7bGV0IGY7RihvKSx2KCgpPT57WShzLDEsYHR5cGluZy1pbmRpY2F0b3IgJHtuKCl9IGluZGljYXRvci1jb2xvci0ke3IoKX0gYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksYz1IKHMsYGAsYyx7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KSxZKGwsMSxgdHlwaW5nLWluZGljYXRvciAke24oKX0gaW5kaWNhdG9yLWNvbG9yLSR7cigpfSB0eXBpbmctaW5kaWNhdG9yLXNlY29uZCBhbmltYXRlLXR5cGluZ2AsYHN2ZWx0ZS1zNDB4Z2tgKSx1PUgobCxgYCx1LHsiYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudCI6dyhpKX0pLFkoZCwxLGB0eXBpbmctaW5kaWNhdG9yICR7bigpfSBpbmRpY2F0b3ItY29sb3ItJHtyKCl9IHR5cGluZy1pbmRpY2F0b3ItdGhpcmQgYW5pbWF0ZS10eXBpbmdgLGBzdmVsdGUtczQweGdrYCksZj1IKGQsYGAsZix7ImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQiOncoaSl9KX0pLFooZSxvKX12YXIgTnQ9ZChgPGRpdiBjbGFzcz0iZmxleC1jZW50ZXIgaC1mdWxsIGJnLXdoaXRlIHJvdW5kZWQtbGciPjwhPjwvZGl2PmApO2Z1bmN0aW9uIFB0KGUpe3ZhciB0PU50KCk7TXQoYSh0KSx7aXRlcmF0aW9uczoyfSksRih0KSxaKGUsdCl9dmFyIEZ0PWQoYDxkaXY+PCE+PC9kaXY+YCk7ZnVuY3Rpb24gSXQoZSx0KXtOKHQsITEpO2xldCBuPSgpPT5NKGVlLGAkc2hvdWxkUmVuZGVyVHlwaW5nRnJhbWVgLHIpLFtyLGldPU8oKSx7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnN9PUUuZ2V0T3B0aW9ucygpO0koKTt2YXIgYz1UKCksbD1EKGMpLGQ9ZT0+e3ZhciB0PUZ0KCk7bGV0IG47dmFyIHI9YSh0KTt7bGV0IGU9YihYKTtRKHIse2dldCBjb21wb25lbnQoKXtyZXR1cm4gUHR9LGdldCBpZCgpe3JldHVybiBHLndpZGdldFR5cGluZ0ZyYW1lfSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCB0eXBpbmdgLGdldCBmcmFtZVN0eWxlKCl7cmV0dXJuIHcoZSl9fSl9Rih0KSxMKHQsZT0+bz8uKGUpKSx2KGU9PntuPUgodCxgYm94LXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjIpICR7cz8ubGltaXRTaGFkb3c/YDBweCAzcHggMTJweGA6YDBweCAzcHggMTZweGB9OyBib3JkZXItcmFkaXVzOiAyNHB4O2AsbixlKSxXKHQsYGRhdGEtdGVzdGlkYCxHLndpZGdldFR5cGluZ0ZyYW1lKX0sWygpPT4oe2hlaWdodDp1KDQwKSx3aWR0aDp1KDcwKSxvdmVyZmxvdzpgaGlkZGVuYH0pXSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheTozMDAsZHVyYXRpb246NDAwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChsLGU9PntuKCkmJmUoZCl9KSxaKGUsYyksQigpLGkoKX12YXIgTHQ9TGUobnVsbCksUnQ9VGUoW0x0XSwoW2VdKT0+ISFlKSx6dD1kKGA8aW1nIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIHNlbGVjdC1ub25lIGJnLWJsYWNrIiB3aWR0aD0iYXV0byIgaGVpZ2h0PSJhdXRvIi8+YCksQnQ9ZChgPHZpZGVvIGNvbnRyb2xzPSIiIGNsYXNzPSJtLWF1dG8gbWF4LWgtZnVsbCBtYXgtdy1mdWxsIGJnLWJsYWNrIG9iamVjdC1jb250YWluIj48dHJhY2sga2luZD0iY2FwdGlvbnMiLz4gPHNvdXJjZS8+PC92aWRlbz5gLDIpLFZ0PWQoYDxkaXYgY2xhc3M9InctZnVsbCBoLWZ1bGwgZmxleCBmbGV4LWNvbCI+PGRpdiBjbGFzcz0iZmxleC1zaHJpbmsgZmxleCBmbGV4LXJvdyB3LWZ1bGwgYmctYmxhY2sgdGV4dC13aGl0ZSI+PGRpdiBjbGFzcz0iZmxleC1ncm93IGZsZXggaXRlbXMtY2VudGVyIHRleHQtbWQgcHgtNCBvdmVyZmxvdy1oaWRkZW4iPjxzcGFuIGNsYXNzPSJ3aGl0ZXNwYWNlLW5vd3JhcCB0ZXh0LWVsbGlwc2lzIG92ZXJmbG93LWhpZGRlbiI+IDwvc3Bhbj48L2Rpdj4gPGRpdiBjbGFzcz0iZmxleC1zaHJpbmsiPjwhPjwvZGl2PjwvZGl2PiA8ZGl2PjwhPjwvZGl2PjwvZGl2PmApO2Z1bmN0aW9uIEh0KGUsbil7TihuLCEwKTtsZXQgcj0oKT0+TShyZSxgJGlzRGVza3RvcGAscyksaT0oKT0+TShMdCxgJHByZXZpZXdlZE1lZGlhYCxzKSxvPSgpPT5NKGosYCR0YCxzKSxbcyxjXT1PKCksbD1BKHIpLHU9ZT0+e2U9PT1gb3ZlcmxheWAmJiF3KGwpfHxMdC5zZXQobnVsbCl9O3ZhciBkPVZ0KCksZj1hKGQpLHA9YShmKSxoPWEocCksZz1hKGgsITApO0YoaCksRihwKTt2YXIgXz1tKHAsMikseT1hKF8pO3tsZXQgZT1BKCgpPT5vKCkoYHRvb2x0aXAuY2xvc2VgKSk7VmUoeSx7b25DbGljazooKT0+dShgYnV0dG9uYCksZ2V0IGljb24oKXtyZXR1cm4gSWV9LGdldCBpY29uRGVzY3JpcHRpb24oKXtyZXR1cm4gdyhlKX0saWNvblNjYWxlOiEwLHNpemU6YHhsYH0pfUYoXyksRihmKTt2YXIgYj1tKGYsMikseD1hKGIpLFM9ZT0+e3ZhciBuPXp0KCk7digoKT0+e1cobixgc3JjYCxpKCk/LmF0dGFjaG1lbnQudXJsKSxXKG4sYGFsdGAsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKX0pLHQoYGNsaWNrYCxuLGU9PmUuc3RvcFByb3BhZ2F0aW9uKCkpLFYoYGtleXByZXNzYCxuLCgpPT57fSksWihlLG4pfSxDPWU9Pnt2YXIgbj1CdCgpO24uYXV0b3BsYXk9ITAsbi5sb29wPSEwO3ZhciByPW0oYShuKSwyKTtGKG4pLHYoKCk9Plcocixgc3JjYCxpKCkuYXR0YWNobWVudC51cmwpKSx0KGBjbGlja2AsbixlPT5lLnN0b3BQcm9wYWdhdGlvbigpKSxWKGBrZXlwcmVzc2AsbiwoKT0+e30pLFooZSxuKX07UCh4LGU9PntpKCk/LnR5cGU9PT13ZS5JbWFnZT9lKFMpOmkoKT8udHlwZT09PXdlLlZpZGVvJiZlKEMsMSl9KSxGKGIpLEYoZCksdigoKT0+e2xlKGcsaSgpPy5hdHRhY2htZW50LmZpbGVOYW1lKSxZKGIsMSxDZShbYHJlbGF0aXZlIG92ZXJmbG93LWhpZGRlbiBmbGV4LWdyb3cgZmxleCBpdGVtcy1jZW50ZXIgYmctYmxhY2svODAgei0xMGAscigpP2BwLThgOmBwLTRgXSkpfSksdChgY2xpY2tgLGIsKCk9PnUoYG92ZXJsYXlgKSksVihga2V5cHJlc3NgLGIsKCk9Pnt9KSxLKDEsZCwoKT0+VSwoKT0+KHt5OjIwLGRlbGF5OjMwMCxkdXJhdGlvbjo0MDB9KSksSygyLGQsKCk9PlUsKCk9Pih7eToxMCxkdXJhdGlvbjoyNTB9KSksWihlLGQpLEIoKSxjKCl9QWUoW2BjbGlja2BdKTt2YXIgVXQ9ZChgPGRpdj48IT48L2Rpdj5gKTtmdW5jdGlvbiBXdChlLHQpe04odCwhMSk7bGV0IG49KCk9Pk0oUnQsYCRzaG91bGRSZW5kZXJNZWRpYVByZXZpZXdgLHIpLFtyLGldPU8oKTtJKCk7dmFyIG89VCgpLHM9RChvKSxjPWU9Pnt2YXIgdD1VdCgpO0godCxgYCx7fSx7dHJhbnNpdGlvbjpgbWF4LWhlaWdodCAyNTBtcyBlYXNlLWluLW91dCwgd2lkdGggMjUwbXMgZWFzZS1pbi1vdXRgfSk7dmFyIG49YSh0KTt7bGV0IGU9YigoKT0+WChlPT57ZS5zdHlsZS5wb3NpdGlvbj1gZml4ZWRgfSkpO1Eobix7Z2V0IGNvbXBvbmVudCgpe3JldHVybiBIdH0sZ2V0IGlkKCl7cmV0dXJuIEcud2lkZ2V0SW1hZ2VQcmV2aWV3fSx0aXRsZTpgU21hcnRzdXBwIHdpZGdldCBpbWFnZSBwcmV2aWV3YCxnZXQgZnJhbWVTdHlsZSgpe3JldHVybiB3KGUpfX0pfUYodCksTCh0LGU9PldlPy4oZSkpLHYoKCk9PlcodCxgZGF0YS10ZXN0aWRgLEcud2lkZ2V0SW1hZ2VQcmV2aWV3KSksSygxLHQsKCk9PlUsKCk9Pih7eToyMCxkZWxheToxMDAsZHVyYXRpb246MjUwfSkpLEsoMix0LCgpPT5VLCgpPT4oe3k6MTAsZHVyYXRpb246MjUwfSkpLFooZSx0KX07UChzLGU9PntuKCkmJmUoYyl9KSxaKGUsbyksQigpLGkoKX12YXIgR3Q9ZChgPCE+IDwhPiA8IT4gPCE+IDwhPmAsMSk7ZnVuY3Rpb24gS3QodCxyKXtOKHIsITApO2xldCBpPSgpPT5NKG1lLGAkbGFzdFVucmVhZE1lc3NhZ2VgLG8pLGE9KCk9Pk0oXyxgJGlzTWVzc2VuZ2VyRnJhbWVPcGVuYCxvKSxbbyxzXT1PKCk7aygoKT0+eyhhc3luYygpPT57YXdhaXQgemUoKSxhd2FpdCBwZS5pbml0Q2xpZW50KCl9KSgpfSksQygoKT0+e2koKSYmIWEoKSYmZSgpfSksZ2UoUygpKSxIZShuKSYmeShTKCkpLFllKHQse2NoaWxkcmVuOihlLHQpPT57dmFyIG49R3QoKSxyPUQobik7SXQocix7fSk7dmFyIGk9bShyLDIpO0F0KGkse30pO3ZhciBhPW0oaSwyKTtwdChhLHt9KTt2YXIgbz1tKGEsMik7d3Qobyx7fSksV3QobShvLDIpLHt9KSxaKGUsbil9LCQkc2xvdHM6e2RlZmF1bHQ6ITB9fSksQigpLHMoKX12YXIgcXQ9Zyh3aW5kb3cpO0UuaW5pdChxdC5vcHRpb25zKSxxdC5pbnN0YWxsQXBpKE1lKSxjLnNldFRoZW1lQ29sb3IocXQub3B0aW9ucyksUmUoKSxvZSgpLEdlKEt0LHt0YXJnZXQ6ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoYGFwcGApfSk7ZXhwb3J0e010IGFzIG4sTHQgYXMgdH07Ci8vIyBzb3VyY2VNYXBwaW5nVVJMPW1haW4tdDZXeExBQkEuanMubWFw"}},"time_used":9,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":9,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/jquery.themepunch.revolution.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.606Z","timestamp":1785133989606,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/revolution-slider/js/jquery.themepunch.revolution.min.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 17282\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":64896,"size_decoded":17520,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (64561), with CRLF line terminators","md5":"edd0a8f07cc892d86518ad62642dcab0","sha1":"e8ddc925c3ebaa77f120932e1acf3b680e84df51","sha256":"5bf19de4a1e69b7b3cce947da22702f074c0963192bf9eb3ea9210ac07c52f67","sha512":"e980a77cc13ada7ac28eaaa1db1a4c738aaf959cb7bfcaa68390e7e7500fd1218ef7bb4368102b69a8cb7bf4968d01207cd58ba6e5770599388d022fb656c1aa","ssdeep":"1536:gCnzw4tqc78qdVSrk8cheMxtWd9YidEQ8Mv3xVgnufnQuh2VLc7iKiFn2+9arAI+:gCnzXF7TdVSrk8VMmNsLciKB+9qOd","tlshash":"51530b64be10347694bb2265e03f8615b2b15c37eb02c4a0e5d7587c6be8d89236ff8c","first_seen":"2023-03-07T12:05:18Z","last_seen":"2026-08-02T23:47:20.168091Z","times_seen":2115,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLmpzIC0galF1ZXJ5IFBsdWdpbiBmb3IgUmV2b2x1dGlvbiBTbGlkZXINCiAqIEB2ZXJzaW9uOiA1LjQuNSAoMTcuMDUuMjAxNykNCiAqIEByZXF1aXJlcyBqUXVlcnkgdjEuNyBvciBsYXRlciAodGVzdGVkIG9uIDEuOSkNCiAqIEBhdXRob3IgVGhlbWVQdW5jaA0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oalF1ZXJ5LHVuZGVmaW5lZCl7InVzZSBzdHJpY3QiO3ZhciB2ZXJzaW9uPXtjb3JlOiI1LjQuNSIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy5hY3Rpb25zLm1pbi5qcyI6IjIuMS4wIiwicmV2b2x1dGlvbi5leHRlbnNpb25zLmNhcm91c2VsLm1pbi5qcyI6IjEuMi4xIiwicmV2b2x1dGlvbi5leHRlbnNpb25zLmtlbmJ1cm4ubWluLmpzIjoiMS4zLjEiLCJyZXZvbHV0aW9uLmV4dGVuc2lvbnMubGF5ZXJhbmltYXRpb24ubWluLmpzIjoiMy42LjEiLCJyZXZvbHV0aW9uLmV4dGVuc2lvbnMubmF2aWdhdGlvbi5taW4uanMiOiIxLjMuMyIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy5wYXJhbGxheC5taW4uanMiOiIyLjIuMCIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy5zbGlkZWFuaW1zLm1pbi5qcyI6IjEuNyIsInJldm9sdXRpb24uZXh0ZW5zaW9ucy52aWRlby5taW4uanMiOiIyLjEuMSJ9O2pRdWVyeS5mbi5leHRlbmQoe3Jldm9sdXRpb246ZnVuY3Rpb24oYSl7dmFyIGI9e2RlbGF5OjllMyxyZXNwb25zaXZlTGV2ZWxzOjQwNjQsdmlzaWJpbGl0eUxldmVsczpbMjA0OCwxMDI0LDc3OCw0ODBdLGdyaWR3aWR0aDo5NjAsZ3JpZGhlaWdodDo1MDAsbWluSGVpZ2h0OjAsYXV0b0hlaWdodDoib2ZmIixzbGlkZXJUeXBlOiJzdGFuZGFyZCIsc2xpZGVyTGF5b3V0OiJhdXRvIixmdWxsU2NyZWVuQXV0b1dpZHRoOiJvZmYiLGZ1bGxTY3JlZW5BbGlnbkZvcmNlOiJvZmYiLGZ1bGxTY3JlZW5PZmZzZXRDb250YWluZXI6IiIsZnVsbFNjcmVlbk9mZnNldDoiMCIsaGlkZUNhcHRpb25BdExpbWl0OjAsaGlkZUFsbENhcHRpb25BdExpbWl0OjAsaGlkZVNsaWRlckF0TGltaXQ6MCxkaXNhYmxlUHJvZ3Jlc3NCYXI6Im9mZiIsc3RvcEF0U2xpZGU6LTEsc3RvcEFmdGVyTG9vcHM6LTEsc2hhZG93OjAsZG90dGVkT3ZlcmxheToibm9uZSIsc3RhcnREZWxheTowLGxhenlUeXBlOiJzbWFydCIsc3Bpbm5lcjoic3Bpbm5lcjAiLHNodWZmbGU6Im9mZiIsdmlld1BvcnQ6e2VuYWJsZTohMSxvdXRvZjoid2FpdCIsdmlzaWJsZV9hcmVhOiI2MCUiLHByZXNpemU6ITF9LGZhbGxiYWNrczp7aXNKb29tbGE6ITEscGFuWm9vbURpc2FibGVPbk1vYmlsZToib2ZmIixzaW1wbGlmeUFsbDoib24iLG5leHRTbGlkZU9uV2luZG93Rm9jdXM6Im9mZiIsZGlzYWJsZUZvY3VzTGlzdGVuZXI6ITAsaWdub3JlSGVpZ2h0Q2hhbmdlczoib2ZmIixpZ25vcmVIZWlnaHRDaGFuZ2VzU2l6ZTowLGFsbG93SFRNTDVBdXRvUGxheU9uQW5kcm9pZDohMH0scGFyYWxsYXg6e3R5cGU6Im9mZiIsbGV2ZWxzOlsxMCwxNSwyMCwyNSwzMCwzNSw0MCw0NSw1MCw1NSw2MCw2NSw3MCw3NSw4MCw4NV0sb3JpZ286ImVudGVycG9pbnQiLHNwZWVkOjQwMCxiZ3BhcmFsbGF4OiJvZmYiLG9wYWNpdHk6Im9uIixkaXNhYmxlX29ubW9iaWxlOiJvZmYiLGRkZF9zaGFkb3c6Im9uIixkZGRfYmdmcmVlemU6Im9mZiIsZGRkX292ZXJmbG93OiJ2aXNpYmxlIixkZGRfbGF5ZXJfb3ZlcmZsb3c6InZpc2libGUiLGRkZF96X2NvcnJlY3Rpb246NjUsZGRkX3BhdGg6Im1vdXNlIn0sc2Nyb2xsZWZmZWN0OntmYWRlOiJvZmYiLGJsdXI6Im9mZiIsc2NhbGU6Im9mZiIsZ3JheXNjYWxlOiJvZmYiLG1heGJsdXI6MTAsb25fbGF5ZXJzOiJvZmYiLG9uX3NsaWRlYmc6Im9mZiIsb25fc3RhdGljX2xheWVyczoib2ZmIixvbl9wYXJhbGxheF9sYXllcnM6Im9mZiIsb25fcGFyYWxsYXhfc3RhdGljX2xheWVyczoib2ZmIixkaXJlY3Rpb246ImJvdGgiLG11bHRpcGxpY2F0b3I6MS4zNSxtdWx0aXBsaWNhdG9yX2xheWVyczouNSx0aWx0OjMwLGRpc2FibGVfb25fbW9iaWxlOiJvbiJ9LGNhcm91c2VsOntlYXNpbmc6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0LHNwZWVkOjgwMCxzaG93TGF5ZXJzQWxsVGltZToib2ZmIixob3Jpem9udGFsX2FsaWduOiJjZW50ZXIiLHZlcnRpY2FsX2FsaWduOiJjZW50ZXIiLGluZmluaXR5OiJvbiIsc3BhY2U6MCxtYXhWaXNpYmxlSXRlbXM6MyxzdHJldGNoOiJvZmYiLGZhZGVvdXQ6Im9uIixtYXhSb3RhdGlvbjowLG1pblNjYWxlOjAsdmFyeV9mYWRlOiJvZmYiLHZhcnlfcm90YXRpb246Im9uIix2YXJ5X3NjYWxlOiJvZmYiLGJvcmRlcl9yYWRpdXM6IjBweCIscGFkZGluZ190b3A6MCxwYWRkaW5nX2JvdHRvbTowfSxuYXZpZ2F0aW9uOntrZXlib2FyZE5hdmlnYXRpb246Im9mZiIsa2V5Ym9hcmRfZGlyZWN0aW9uOiJob3Jpem9udGFsIixtb3VzZVNjcm9sbE5hdmlnYXRpb246Im9mZiIsb25Ib3ZlclN0b3A6Im9uIix0b3VjaDp7dG91Y2hlbmFibGVkOiJvZmYiLHRvdWNoT25EZXNrdG9wOiJvZmYiLHN3aXBlX3RyZXNob2xkOjc1LHN3aXBlX21pbl90b3VjaGVzOjEsZHJhZ19ibG9ja192ZXJ0aWNhbDohMSxzd2lwZV9kaXJlY3Rpb246Imhvcml6b250YWwifSxhcnJvd3M6e3N0eWxlOiIiLGVuYWJsZTohMSxoaWRlX29ubW9iaWxlOiExLGhpZGVfb25sZWF2ZTohMCxoaWRlX2RlbGF5OjIwMCxoaWRlX2RlbGF5X21vYmlsZToxMjAwLGhpZGVfdW5kZXI6MCxoaWRlX292ZXI6OTk5OSx0bXA6IiIscnRsOiExLGxlZnQ6e2hfYWxpZ246ImxlZnQiLHZfYWxpZ246ImNlbnRlciIsaF9vZmZzZXQ6MjAsdl9vZmZzZXQ6MCxjb250YWluZXI6InNsaWRlciJ9LHJpZ2h0OntoX2FsaWduOiJyaWdodCIsdl9hbGlnbjoiY2VudGVyIixoX29mZnNldDoyMCx2X29mZnNldDowLGNvbnRhaW5lcjoic2xpZGVyIn19LGJ1bGxldHM6e2NvbnRhaW5lcjoic2xpZGVyIixydGw6ITEsc3R5bGU6IiIsZW5hYmxlOiExLGhpZGVfb25tb2JpbGU6ITEsaGlkZV9vbmxlYXZlOiEwLGhpZGVfZGVsYXk6MjAwLGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsaGlkZV91bmRlcjowLGhpZGVfb3Zlcjo5OTk5LGRpcmVjdGlvbjoiaG9yaXpvbnRhbCIsaF9hbGlnbjoibGVmdCIsdl9hbGlnbjoiY2VudGVyIixzcGFjZTowLGhfb2Zmc2V0OjIwLHZfb2Zmc2V0OjAsdG1wOic8c3BhbiBjbGFzcz0idHAtYnVsbGV0LWltYWdlIj48L3NwYW4+PHNwYW4gY2xhc3M9InRwLWJ1bGxldC10aXRsZSI+PC9zcGFuPid9LHRodW1ibmFpbHM6e2NvbnRhaW5lcjoic2xpZGVyIixydGw6ITEsc3R5bGU6IiIsZW5hYmxlOiExLHdpZHRoOjEwMCxoZWlnaHQ6NTAsbWluX3dpZHRoOjEwMCx3cmFwcGVyX3BhZGRpbmc6Mix3cmFwcGVyX2NvbG9yOiIjZjVmNWY1Iix3cmFwcGVyX29wYWNpdHk6MSx0bXA6JzxzcGFuIGNsYXNzPSJ0cC10aHVtYi1pbWFnZSI+PC9zcGFuPjxzcGFuIGNsYXNzPSJ0cC10aHVtYi10aXRsZSI+PC9zcGFuPicsdmlzaWJsZUFtb3VudDo1LGhpZGVfb25tb2JpbGU6ITEsaGlkZV9vbmxlYXZlOiEwLGhpZGVfZGVsYXk6MjAwLGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsaGlkZV91bmRlcjowLGhpZGVfb3Zlcjo5OTk5LGRpcmVjdGlvbjoiaG9yaXpvbnRhbCIsc3BhbjohMSxwb3NpdGlvbjoiaW5uZXIiLHNwYWNlOjIsaF9hbGlnbjoibGVmdCIsdl9hbGlnbjoiY2VudGVyIixoX29mZnNldDoyMCx2X29mZnNldDowfSx0YWJzOntjb250YWluZXI6InNsaWRlciIscnRsOiExLHN0eWxlOiIiLGVuYWJsZTohMSx3aWR0aDoxMDAsbWluX3dpZHRoOjEwMCxoZWlnaHQ6NTAsd3JhcHBlcl9wYWRkaW5nOjEwLHdyYXBwZXJfY29sb3I6IiNmNWY1ZjUiLHdyYXBwZXJfb3BhY2l0eToxLHRtcDonPHNwYW4gY2xhc3M9InRwLXRhYi1pbWFnZSI+PC9zcGFuPicsdmlzaWJsZUFtb3VudDo1LGhpZGVfb25tb2JpbGU6ITEsaGlkZV9vbmxlYXZlOiEwLGhpZGVfZGVsYXk6MjAwLGhpZGVfZGVsYXlfbW9iaWxlOjEyMDAsaGlkZV91bmRlcjowLGhpZGVfb3Zlcjo5OTk5LGRpcmVjdGlvbjoiaG9yaXpvbnRhbCIsc3BhbjohMSxzcGFjZTowLHBvc2l0aW9uOiJpbm5lciIsaF9hbGlnbjoibGVmdCIsdl9hbGlnbjoiY2VudGVyIixoX29mZnNldDoyMCx2X29mZnNldDowfX0sZXh0ZW5zaW9uczoiZXh0ZW5zaW9ucy8iLGV4dGVuc2lvbnNfc3VmZml4OiIubWluLmpzIixkZWJ1Z01vZGU6ITF9O3JldHVybiBhPWpRdWVyeS5leHRlbmQoITAse30sYixhKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1qUXVlcnkodGhpcyk7YS5taW5IZWlnaHQ9YS5taW5IZWlnaHQhPXVuZGVmaW5lZD9wYXJzZUludChhLm1pbkhlaWdodCwwKTphLm1pbkhlaWdodCxhLnNjcm9sbGVmZmVjdC5vbj0ib24iPT09YS5zY3JvbGxlZmZlY3QuZmFkZXx8Im9uIj09PWEuc2Nyb2xsZWZmZWN0LnNjYWxlfHwib24iPT09YS5zY3JvbGxlZmZlY3QuYmx1cnx8Im9uIj09PWEuc2Nyb2xsZWZmZWN0LmdyYXlzY2FsZSwiaGVybyI9PWEuc2xpZGVyVHlwZSYmYi5maW5kKCI+dWw+bGkiKS5lYWNoKGZ1bmN0aW9uKGEpe2E+MCYmalF1ZXJ5KHRoaXMpLnJlbW92ZSgpfSksYS5qc0ZpbGVMb2NhdGlvbj1hLmpzRmlsZUxvY2F0aW9ufHxnZXRTY3JpcHRMb2NhdGlvbigidGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcyIpLGEuanNGaWxlTG9jYXRpb249YS5qc0ZpbGVMb2NhdGlvbithLmV4dGVuc2lvbnMsYS5zY3JpcHRzbmVlZGVkPWdldE5lZWRlZFNjcmlwdHMoYSxiKSxhLmN1cldpblJhbmdlPTAsYS5ydGw9ITAsYS5uYXZpZ2F0aW9uIT11bmRlZmluZWQmJmEubmF2aWdhdGlvbi50b3VjaCE9dW5kZWZpbmVkJiYoYS5uYXZpZ2F0aW9uLnRvdWNoLnN3aXBlX21pbl90b3VjaGVzPWEubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9taW5fdG91Y2hlcz41PzE6YS5uYXZpZ2F0aW9uLnRvdWNoLnN3aXBlX21pbl90b3VjaGVzKSxqUXVlcnkodGhpcykub24oInNjcmlwdHNsb2FkZWQiLGZ1bmN0aW9uKCl7aWYoYS5tb2R1bGVzZmFpbGluZylyZXR1cm4gYi5odG1sKCc8ZGl2IHN0eWxlPSJtYXJnaW46YXV0bztsaW5lLWhlaWdodDo0MHB4O2ZvbnQtc2l6ZToxNHB4O2NvbG9yOiNmZmY7cGFkZGluZzoxNXB4O2JhY2tncm91bmQ6I2U3NGMzYzttYXJnaW46MjBweCAwcHg7Ij4hISBFcnJvciBhdCBsb2FkaW5nIFNsaWRlciBSZXZvbHV0aW9uIDUuMCBFeHRyZW5zaW9ucy4nK2EuZXJyb3JtKyI8L2Rpdj4iKS5zaG93KCksITE7X1IubWlncmF0aW9uIT11bmRlZmluZWQmJihhPV9SLm1pZ3JhdGlvbihiLGEpKSxwdW5jaGdzLmZvcmNlM0Q9ITAsIm9uIiE9PWEuc2ltcGxpZnlBbGwmJnB1bmNoZ3MuVHdlZW5MaXRlLmxhZ1Ntb290aGluZygxZTMsMTYpLHByZXBhcmVPcHRpb25zKGIsYSksaW5pdFNsaWRlcihiLGEpfSksYlswXS5vcHQ9YSx3YWl0Rm9yU2NyaXB0cyhiLGEpfSl9LGdldFJTVmVyc2lvbjpmdW5jdGlvbihhKXtpZighMD09PWEpcmV0dXJuIGpRdWVyeSgiYm9keSIpLmRhdGEoInRwX3JzX3ZlcnNpb24iKTt2YXIgYj1qUXVlcnkoImJvZHkiKS5kYXRhKCJ0cF9yc192ZXJzaW9uIiksYz0iIjtjKz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iLGMrPSIgICAgQ3VycmVudGx5IExvYWRlZCBTbGlkZXIgUmV2b2x1dGlvbiAmIFNSIE1vZHVsZXMgOlxuIixjKz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iO2Zvcih2YXIgZCBpbiBiKWMrPWJbZF0uYWxpYXMrIjogIitiW2RdLnZlcisiXG4iO3JldHVybiBjKz0iLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ifSxyZXZyZW1vdmVzbGlkZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9YlswXS5vcHQ7aWYoIShhPDB8fGE+Yy5zbGlkZWFtb3VudCkmJmIhPXVuZGVmaW5lZCYmYi5sZW5ndGg+MCYmalF1ZXJ5KCJib2R5IikuZmluZCgiIyIrYi5hdHRyKCJpZCIpKS5sZW5ndGg+MCYmYyYmYy5saS5sZW5ndGg+MCYmKGE+MHx8YTw9Yy5saS5sZW5ndGgpKXt2YXIgZD1qUXVlcnkoYy5saVthXSksZT1kLmRhdGEoImluZGV4IiksZj0hMTtjLnNsaWRlYW1vdW50PWMuc2xpZGVhbW91bnQtMSxjLnJlYWxzbGlkZWFtb3VudD1jLnJlYWxzbGlkZWFtb3VudC0xLHJlbW92ZU5hdldpdGhMaXJlZigiLnRwLWJ1bGxldCIsZSxjKSxyZW1vdmVOYXZXaXRoTGlyZWYoIi50cC10YWIiLGUsYykscmVtb3ZlTmF2V2l0aExpcmVmKCIudHAtdGh1bWIiLGUsYyksZC5oYXNDbGFzcygiYWN0aXZlLXJldnNsaWRlIikmJihmPSEwKSxkLnJlbW92ZSgpLGMubGk9cmVtb3ZlQXJyYXkoYy5saSxhKSxjLmNhcm91c2VsJiZjLmNhcm91c2VsLnNsaWRlcyYmKGMuY2Fyb3VzZWwuc2xpZGVzPXJlbW92ZUFycmF5KGMuY2Fyb3VzZWwuc2xpZGVzLGEpKSxjLnRodW1icz1yZW1vdmVBcnJheShjLnRodW1icyxhKSxfUi51cGRhdGVOYXZJbmRleGVzJiZfUi51cGRhdGVOYXZJbmRleGVzKGMpLGYmJmIucmV2bmV4dCgpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLmxpLHttaW5XaWR0aDoiOTklIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLmxpLHttaW5XaWR0aDoiMTAwJSJ9KX19KX0scmV2YWRkY2FsbGJhY2s6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3RoaXMub3B0JiYodGhpcy5vcHQuY2FsbEJhY2tBcnJheT09PXVuZGVmaW5lZCYmKHRoaXMub3B0LmNhbGxCYWNrQXJyYXk9bmV3IEFycmF5KSx0aGlzLm9wdC5jYWxsQmFja0FycmF5LnB1c2goYSkpfSl9LHJldmdldHBhcmFsbGF4cHJvYzpmdW5jdGlvbigpe3JldHVybiBqUXVlcnkodGhpcylbMF0ub3B0LnNjcm9sbHByb2N9LHJldmRlYnVnbW9kZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YVswXS5vcHQuZGVidWdNb2RlPSEwLGNvbnRhaW5lclJlc2l6ZWQoYSxhWzBdLm9wdCl9KX0scmV2c2Nyb2xsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1qUXVlcnkodGhpcyk7alF1ZXJ5KCJib2R5LGh0bWwiKS5hbmltYXRlKHtzY3JvbGxUb3A6Yi5vZmZzZXQoKS50b3ArYi5oZWlnaHQoKS1hKyJweCJ9LHtkdXJhdGlvbjo0MDB9KX0pfSxyZXZyZWRyYXc6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtjb250YWluZXJSZXNpemVkKGEsYVswXS5vcHQpfSl9LHJldmtpbGw6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPWpRdWVyeSh0aGlzKTtpZihwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsRGVsYXllZENhbGxzVG8oX1Iuc2hvd0hpZGVOYXZFbGVtZW50cyksYyE9dW5kZWZpbmVkJiZjLmxlbmd0aD4wJiZqUXVlcnkoImJvZHkiKS5maW5kKCIjIitjLmF0dHIoImlkIikpLmxlbmd0aD4wKXtjLmRhdGEoImNvbnRob3ZlciIsMSksYy5kYXRhKCJjb250aG92ZXItY2hhbmdlZCIsMSksYy50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9ucGF1c2UiKTt2YXIgZD1jLnBhcmVudCgpLmZpbmQoIi50cC1iYW5uZXJ0aW1lciIpLGU9Y1swXS5vcHQ7ZS50b25wYXVzZT0hMCxjLnRyaWdnZXIoInN0b3B0aW1lciIpO3ZhciBmPSJyZXNpemUucmV2c2xpZGVyLSIrYy5hdHRyKCJpZCIpO2pRdWVyeSh3aW5kb3cpLnVuYmluZChmKSxwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsVHdlZW5zT2YoYy5maW5kKCIqIiksITEpLHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxUd2VlbnNPZihjLCExKSxjLnVuYmluZCgiaG92ZXIsIG1vdXNlb3ZlciwgbW91c2VlbnRlcixtb3VzZWxlYXZlLCByZXNpemUiKTt2YXIgZj0icmVzaXplLnJldnNsaWRlci0iK2MuYXR0cigiaWQiKTtqUXVlcnkod2luZG93KS5vZmYoZiksYy5maW5kKCIqIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthLnVuYmluZCgib24sIGhvdmVyLCBtb3VzZWVudGVyLG1vdXNlbGVhdmUsbW91c2VvdmVyLCByZXNpemUscmVzdGFydHRpbWVyLCBzdG9wdGltZXIiKSxhLm9mZigib24sIGhvdmVyLCBtb3VzZWVudGVyLG1vdXNlbGVhdmUsbW91c2VvdmVyLCByZXNpemUiKSxhLmRhdGEoIm15U3BsaXRUZXh0IixudWxsKSxhLmRhdGEoImN0bCIsbnVsbCksYS5kYXRhKCJ0d2VlbiIpIT11bmRlZmluZWQmJmEuZGF0YSgidHdlZW4iKS5raWxsKCksYS5kYXRhKCJrZW5idXJuIikhPXVuZGVmaW5lZCYmYS5kYXRhKCJrZW5idXJuIikua2lsbCgpLGEuZGF0YSgidGltZWxpbmVfb3V0IikhPXVuZGVmaW5lZCYmYS5kYXRhKCJ0aW1lbGluZV9vdXQiKS5raWxsKCksYS5kYXRhKCJ0aW1lbGluZSIpIT11bmRlZmluZWQmJmEuZGF0YSgidGltZWxpbmUiKS5raWxsKCksYS5yZW1vdmUoKSxhLmVtcHR5KCksYT1udWxsfSkscHVuY2hncy5Ud2VlbkxpdGUua2lsbFR3ZWVuc09mKGMuZmluZCgiKiIpLCExKSxwdW5jaGdzLlR3ZWVuTGl0ZS5raWxsVHdlZW5zT2YoYywhMSksZC5yZW1vdmUoKTt0cnl7Yy5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKS5yZW1vdmUoKX1jYXRjaChhKXt9dHJ5e2MuY2xvc2VzdCgiLnJldl9zbGlkZXJfd3JhcHBlciIpLnJlbW92ZSgpfWNhdGNoKGEpe310cnl7Yy5yZW1vdmUoKX1jYXRjaChhKXt9cmV0dXJuIGMuZW1wdHkoKSxjLmh0bWwoKSxjPW51bGwsZT1udWxsLGRlbGV0ZSBiLmMsZGVsZXRlIGIub3B0LGRlbGV0ZSBiLmNvbnRhaW5lciwhMH1yZXR1cm4hMX0scmV2cGF1c2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5KCJib2R5IikuZmluZCgiIyIrYS5hdHRyKCJpZCIpKS5sZW5ndGg+MCYmKGEuZGF0YSgiY29udGhvdmVyIiwxKSxhLmRhdGEoImNvbnRob3Zlci1jaGFuZ2VkIiwxKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25wYXVzZSIpLGFbMF0ub3B0LnRvbnBhdXNlPSEwLGEudHJpZ2dlcigic3RvcHRpbWVyIikpfSl9LHJldnJlc3VtZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YSE9dW5kZWZpbmVkJiZhLmxlbmd0aD4wJiZqUXVlcnkoImJvZHkiKS5maW5kKCIjIithLmF0dHIoImlkIikpLmxlbmd0aD4wJiYoYS5kYXRhKCJjb250aG92ZXIiLDApLGEuZGF0YSgiY29udGhvdmVyLWNoYW5nZWQiLDEpLGEudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbnJlc3VtZSIpLGFbMF0ub3B0LnRvbnBhdXNlPSExLGEudHJpZ2dlcigic3RhcnR0aW1lciIpKX0pfSxyZXZzdGFydDpmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtpZihhIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2EuYXR0cigiaWQiKSkubGVuZ3RoPjAmJmFbMF0ub3B0IT09dW5kZWZpbmVkKXJldHVybiBhWzBdLm9wdC5zbGlkZXJpc3J1bm5pbmc/KGNvbnNvbGUubG9nKCJTbGlkZXIgSXMgUnVubmluZyBBbHJlYWR5IiksITEpOihydW5TbGlkZXIoYSxhWzBdLm9wdCksITApfSxyZXZuZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2EuYXR0cigiaWQiKSkubGVuZ3RoPjAmJl9SLmNhbGxpbmdOZXdTbGlkZShhLDEpfSl9LHJldnByZXY6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5KCJib2R5IikuZmluZCgiIyIrYS5hdHRyKCJpZCIpKS5sZW5ndGg+MCYmX1IuY2FsbGluZ05ld1NsaWRlKGEsLTEpfSl9LHJldm1heHNsaWRlOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeSh0aGlzKS5maW5kKCIudHAtcmV2c2xpZGVyLW1haW51bCA+bGkiKS5sZW5ndGh9LHJldmN1cnJlbnRzbGlkZTpmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtpZihhIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2EuYXR0cigiaWQiKSkubGVuZ3RoPjApcmV0dXJuIHBhcnNlSW50KGFbMF0ub3B0LmFjdCwwKSsxfSxyZXZsYXN0c2xpZGU6ZnVuY3Rpb24oKXtyZXR1cm4galF1ZXJ5KHRoaXMpLmZpbmQoIi50cC1yZXZzbGlkZXItbWFpbnVsID5saSIpLmxlbmd0aH0scmV2c2hvd3NsaWRlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1qUXVlcnkodGhpcyk7YiE9dW5kZWZpbmVkJiZiLmxlbmd0aD4wJiZqUXVlcnkoImJvZHkiKS5maW5kKCIjIitiLmF0dHIoImlkIikpLmxlbmd0aD4wJiZfUi5jYWxsaW5nTmV3U2xpZGUoYiwidG8iKyhhLTEpKX0pfSxyZXZjYWxsc2xpZGV3aXRoaWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWpRdWVyeSh0aGlzKTtiIT11bmRlZmluZWQmJmIubGVuZ3RoPjAmJmpRdWVyeSgiYm9keSIpLmZpbmQoIiMiK2IuYXR0cigiaWQiKSkubGVuZ3RoPjAmJl9SLmNhbGxpbmdOZXdTbGlkZShiLGEpfSl9fSk7dmFyIF9SPWpRdWVyeS5mbi5yZXZvbHV0aW9uO2pRdWVyeS5leHRlbmQoITAsX1Ise2dldHZlcnNpb246ZnVuY3Rpb24oKXtyZXR1cm4gdmVyc2lvbn0sY29tcGFyZV92ZXJzaW9uOmZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSgiYm9keSIpLmRhdGEoInRwX3JzX3ZlcnNpb24iKTtyZXR1cm4gYj1iPT09dW5kZWZpbmVkP25ldyBPYmplY3Q6YixiLkNvcmU9PT11bmRlZmluZWQmJihiLkNvcmU9bmV3IE9iamVjdCxiLkNvcmUuYWxpYXM9IlNsaWRlciBSZXZvbHV0aW9uIENvcmUiLGIuQ29yZS5uYW1lPSJqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcyIsYi5Db3JlLnZlcj1fUi5nZXR2ZXJzaW9uKCkuY29yZSksInN0b3AiIT1hLmNoZWNrJiYoX1IuZ2V0dmVyc2lvbigpLmNvcmU8YS5taW5fY29yZT8oYS5jaGVjaz09PXVuZGVmaW5lZCYmKGNvbnNvbGUubG9nKCIlY1NsaWRlciBSZXZvbHV0aW9uIFdhcm5pbmcgKENvcmU6IitfUi5nZXR2ZXJzaW9uKCkuY29yZSsiKSIsImNvbG9yOiNjMDM5MmI7Zm9udC13ZWlnaHQ6Ym9sZDsiKSxjb25zb2xlLmxvZygiJWMgICAgIENvcmUgaXMgb2xkZXIgdGhhbiBleHBlY3RlZCAoIithLm1pbl9jb3JlKyIpIGZyb20gIithLmFsaWFzLCJjb2xvcjojMzMzIiksY29uc29sZS5sb2coIiVjICAgICBQbGVhc2UgdXBkYXRlIFNsaWRlciBSZXZvbHV0aW9uIHRvIHRoZSBsYXRlc3QgdmVyc2lvbi4iLCJjb2xvcjojMzMzIiksY29uc29sZS5sb2coIiVjICAgICBJdCBtaWdodCBiZSByZXF1aXJlZCB0byBwdXJnZSBhbmQgY2xlYXIgU2VydmVyL0NsaWVudCBzaWRlIENhY2hlcy4iLCJjb2xvcjojMzMzIikpLGEuY2hlY2s9InN0b3AiKTpfUi5nZXR2ZXJzaW9uKClbYS5uYW1lXSE9dW5kZWZpbmVkJiZhLnZlcnNpb248X1IuZ2V0dmVyc2lvbigpW2EubmFtZV0mJihhLmNoZWNrPT09dW5kZWZpbmVkJiYoY29uc29sZS5sb2coIiVjU2xpZGVyIFJldm9sdXRpb24gV2FybmluZyAoQ29yZToiK19SLmdldHZlcnNpb24oKS5jb3JlKyIpIiwiY29sb3I6I2MwMzkyYjtmb250LXdlaWdodDpib2xkOyIpLGNvbnNvbGUubG9nKCIlYyAgICAgIithLmFsaWFzKyIgKCIrYS52ZXJzaW9uKyIpIGlzIG9sZGVyIHRoYW4gcmVxdWllcmVkICgiK19SLmdldHZlcnNpb24oKVthLm5hbWVdKyIpIiwiY29sb3I6IzMzMyIpLGNvbnNvbGUubG9nKCIlYyAgICAgUGxlYXNlIHVwZGF0ZSBTbGlkZXIgUmV2b2x1dGlvbiB0byB0aGUgbGF0ZXN0IHZlcnNpb24uIiwiY29sb3I6IzMzMyIpLGNvbnNvbGUubG9nKCIlYyAgICAgSXQgbWlnaHQgYmUgcmVxdWlyZWQgdG8gcHVyZ2UgYW5kIGNsZWFyIFNlcnZlci9DbGllbnQgc2lkZSBDYWNoZXMuIiwiY29sb3I6IzMzMyIpKSxhLmNoZWNrPSJzdG9wIikpLGJbYS5hbGlhc109PT11bmRlZmluZWQmJihiW2EuYWxpYXNdPW5ldyBPYmplY3QsYlthLmFsaWFzXS5hbGlhcz1hLmFsaWFzLGJbYS5hbGlhc10udmVyPWEudmVyc2lvbixiW2EuYWxpYXNdLm5hbWU9YS5uYW1lKSxqUXVlcnkoImJvZHkiKS5kYXRhKCJ0cF9yc192ZXJzaW9uIixiKSxhfSxjdXJyZW50U2xpZGVJbmRleDpmdW5jdGlvbihhKXt2YXIgYj1hLmMuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLmluZGV4KCk7cmV0dXJuIGI9LTE9PWI/MDpifSxzaW1wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZD1NYXRoLmFicyhhKS1NYXRoLmZsb29yKE1hdGguYWJzKGEvYikpKmI7cmV0dXJuIGM/ZDphPDA/LTEqZDpkfSxpT1NWZXJzaW9uOmZ1bmN0aW9uKCl7dmFyIGE9ITE7cmV0dXJuIG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL2lQaG9uZS9pKXx8bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBvZC9pKXx8bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvaVBhZC9pKT9uYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9PUyA0X1xkIGxpa2UgTWFjIE9TIFgvaSkmJihhPSEwKTphPSExLGF9LGlzSUU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1qUXVlcnkoJzxkaXYgc3R5bGU9ImRpc3BsYXk6bm9uZTsiLz4nKS5hcHBlbmRUbyhqUXVlcnkoImJvZHkiKSk7Yy5odG1sKCJceDNjIS0tW2lmICIrKGJ8fCIiKSsiIElFICIrKGF8fCIiKSsiXT48YT4mbmJzcDs8L2E+PCFbZW5kaWZdLS1ceDNlIik7dmFyIGQ9Yy5maW5kKCJhIikubGVuZ3RoO3JldHVybiBjLnJlbW92ZSgpLGR9LGlzX21vYmlsZTpmdW5jdGlvbigpe3ZhciBhPVsiYW5kcm9pZCIsIndlYm9zIiwiaXBob25lIiwiaXBhZCIsImJsYWNrYmVycnkiLCJBbmRyb2lkIiwid2Vib3MiLCwiaVBvZCIsImlQaG9uZSIsImlQYWQiLCJCbGFja2JlcnJ5IiwiQmxhY2tCZXJyeSJdLGI9ITE7Zm9yKHZhciBjIGluIGEpbmF2aWdhdG9yLnVzZXJBZ2VudC5zcGxpdChhW2NdKS5sZW5ndGg+MSYmKGI9ITApO3JldHVybiBifSxpc19hbmRyb2lkOmZ1bmN0aW9uKCl7dmFyIGE9WyJhbmRyb2lkIiwiQW5kcm9pZCJdLGI9ITE7Zm9yKHZhciBjIGluIGEpbmF2aWdhdG9yLnVzZXJBZ2VudC5zcGxpdChhW2NdKS5sZW5ndGg+MSYmKGI9ITApO3JldHVybiBifSxjYWxsQmFja0hhbmRsaW5nOmZ1bmN0aW9uKGEsYixjKXt0cnl7YS5jYWxsQmFja0FycmF5JiZqUXVlcnkuZWFjaChhLmNhbGxCYWNrQXJyYXksZnVuY3Rpb24oYSxkKXtkJiZkLmlubW9kdWxlJiZkLmlubW9kdWxlPT09YiYmZC5hdHBvc2l0aW9uJiZkLmF0cG9zaXRpb249PT1jJiZkLmNhbGxiYWNrJiZkLmNhbGxiYWNrLmNhbGwoKX0pfWNhdGNoKGEpe2NvbnNvbGUubG9nKCJDYWxsIEJhY2sgRmFpbGVkIil9fSxnZXRfYnJvd3NlcjpmdW5jdGlvbigpe3ZhciBjLGE9bmF2aWdhdG9yLmFwcE5hbWUsYj1uYXZpZ2F0b3IudXNlckFnZW50LGQ9Yi5tYXRjaCgvKG9wZXJhfGNocm9tZXxzYWZhcml8ZmlyZWZveHxtc2llKVwvP1xzKihcLj9cZCsoXC5cZCspKikvaSk7cmV0dXJuIGQmJm51bGwhPShjPWIubWF0Y2goL3ZlcnNpb25cLyhbXC5cZF0rKS9pKSkmJihkWzJdPWNbMV0pLGQ9ZD9bZFsxXSxkWzJdXTpbYSxuYXZpZ2F0b3IuYXBwVmVyc2lvbiwiLT8iXSxkWzBdfSxnZXRfYnJvd3Nlcl92ZXJzaW9uOmZ1bmN0aW9uKCl7dmFyIGMsYT1uYXZpZ2F0b3IuYXBwTmFtZSxiPW5hdmlnYXRvci51c2VyQWdlbnQsZD1iLm1hdGNoKC8ob3BlcmF8Y2hyb21lfHNhZmFyaXxmaXJlZm94fG1zaWUpXC8/XHMqKFwuP1xkKyhcLlxkKykqKS9pKTtyZXR1cm4gZCYmbnVsbCE9KGM9Yi5tYXRjaCgvdmVyc2lvblwvKFtcLlxkXSspL2kpKSYmKGRbMl09Y1sxXSksZD1kP1tkWzFdLGRbMl1dOlthLG5hdmlnYXRvci5hcHBWZXJzaW9uLCItPyJdLGRbMV19LGdldEhvcml6b250YWxPZmZzZXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz1nV2lkZXJPdXQoYSwiLm91dGVyLWxlZnQiKSxkPWdXaWRlck91dChhLCIub3V0ZXItcmlnaHQiKTtzd2l0Y2goYil7Y2FzZSJsZWZ0IjpyZXR1cm4gYztjYXNlInJpZ2h0IjpyZXR1cm4gZDtjYXNlImJvdGgiOnJldHVybiBjK2R9fSxjYWxsaW5nTmV3U2xpZGU6ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmZpbmQoIi5uZXh0LXJldnNsaWRlIikubGVuZ3RoPjA/YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLmluZGV4KCk6YS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLmxlbmd0aD4wP2EuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUiKS5pbmRleCgpOmEuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLmluZGV4KCksZD0wLGU9YVswXS5vcHQ7YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIiksYS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuaGFzQ2xhc3MoInRwLWludmlzaWJsZS1zbGlkZSIpJiYoYz1lLmxhc3Rfc2hvd25fc2xpZGUpLGImJmpRdWVyeS5pc051bWVyaWMoYil8fGIubWF0Y2goL3RvL2cpPygxPT09Ynx8LTE9PT1iPyhkPWMrYixkPWQ8MD9lLnNsaWRlYW1vdW50LTE6ZD49ZS5zbGlkZWFtb3VudD8wOmQpOihiPWpRdWVyeS5pc051bWVyaWMoYik/YjpwYXJzZUludChiLnNwbGl0KCJ0byIpWzFdLDApLGQ9YjwwPzA6Yj5lLnNsaWRlYW1vdW50LTE/ZS5zbGlkZWFtb3VudC0xOmIpLGEuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaTplcSgiK2QrIikiKS5hZGRDbGFzcygibmV4dC1yZXZzbGlkZSIpKTpiJiZhLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgiaW5kZXgiKT09PWImJmEuYWRkQ2xhc3MoIm5leHQtcmV2c2xpZGUiKX0pLGQ9YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLmluZGV4KCksYS50cmlnZ2VyKCJyZXZvbHV0aW9uLm5leHRzbGlkZS53YWl0aW5nIiksYz09PWQmJmM9PT1lLmxhc3Rfc2hvd25fc2xpZGV8fGQhPT1jJiYtMSE9ZD9zd2FwU2xpZGUoYSk6YS5maW5kKCIubmV4dC1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJuZXh0LXJldnNsaWRlIil9LHNsb3RTaXplOmZ1bmN0aW9uKGEsYil7Yi5zbG90dz1NYXRoLmNlaWwoYi53aWR0aC9iLnNsb3RzKSwiZnVsbHNjcmVlbiI9PWIuc2xpZGVyTGF5b3V0P2Iuc2xvdGg9TWF0aC5jZWlsKGpRdWVyeSh3aW5kb3cpLmhlaWdodCgpL2Iuc2xvdHMpOmIuc2xvdGg9TWF0aC5jZWlsKGIuaGVpZ2h0L2Iuc2xvdHMpLCJvbiI9PWIuYXV0b0hlaWdodCYmYSE9PXVuZGVmaW5lZCYmIiIhPT1hJiYoYi5zbG90aD1NYXRoLmNlaWwoYS5oZWlnaHQoKS9iLnNsb3RzKSl9LHNldFNpemU6ZnVuY3Rpb24oYSl7dmFyIGI9KGEudG9wX291dGVyfHwwKSsoYS5ib3R0b21fb3V0ZXJ8fDApLGM9cGFyc2VJbnQoYS5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxkPXBhcnNlSW50KGEuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksZT1hLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0sZj0wLGc9LTE9PT1hLm5leHRTbGlkZXx8YS5uZXh0U2xpZGU9PT11bmRlZmluZWQ/MDphLm5leHRTbGlkZTtpZihhLnBhZGRpbmdzPWEucGFkZGluZ3M9PT11bmRlZmluZWQ/e3RvcDpwYXJzZUludChhLmMucGFyZW50KCkuY3NzKCJwYWRkaW5nVG9wIiksMCl8fDAsYm90dG9tOnBhcnNlSW50KGEuYy5wYXJlbnQoKS5jc3MoInBhZGRpbmdCb3R0b20iKSwwKXx8MH06YS5wYWRkaW5ncyxhLnJvd3pvbmVzJiZhLnJvd3pvbmVzLmxlbmd0aD4wKWZvcih2YXIgaD0wO2g8YS5yb3d6b25lc1tnXS5sZW5ndGg7aCsrKWYrPWEucm93em9uZXNbZ11baF1bMF0ub2Zmc2V0SGVpZ2h0O2lmKGU9ZTxhLm1pbkhlaWdodD9hLm1pbkhlaWdodDplLGU9ZTxmP2Y6ZSwiZnVsbHdpZHRoIj09YS5zbGlkZXJMYXlvdXQmJiJvZmYiPT1hLmF1dG9IZWlnaHQmJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLmMse21heEhlaWdodDplKyJweCJ9KSxhLmMuY3NzKHttYXJnaW5Ub3A6YyxtYXJnaW5Cb3R0b206ZH0pLGEud2lkdGg9YS51bC53aWR0aCgpLGEuaGVpZ2h0PWEudWwuaGVpZ2h0KCksc2V0U2NhbGUoYSksYS5oZWlnaHQ9TWF0aC5yb3VuZChhLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0qKGEud2lkdGgvYS5ncmlkd2lkdGhbYS5jdXJXaW5SYW5nZV0pKSxhLmhlaWdodD5hLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0mJiJvbiIhPWEuYXV0b0hlaWdodCYmKGEuaGVpZ2h0PWEuZ3JpZGhlaWdodFthLmN1cldpblJhbmdlXSksImZ1bGxzY3JlZW4iPT1hLnNsaWRlckxheW91dHx8YS5pbmZ1bGxzY3JlZW5tb2RlKXthLmhlaWdodD1hLmJ3KmEuZ3JpZGhlaWdodFthLmN1cldpblJhbmdlXTt2YXIgaj0oYS5jLnBhcmVudCgpLndpZHRoKCksalF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkpO2lmKGEuZnVsbFNjcmVlbk9mZnNldENvbnRhaW5lciE9dW5kZWZpbmVkKXt0cnl7dmFyIGs9YS5mdWxsU2NyZWVuT2Zmc2V0Q29udGFpbmVyLnNwbGl0KCIsIik7ayYmalF1ZXJ5LmVhY2goayxmdW5jdGlvbihhLGIpe2o9alF1ZXJ5KGIpLmxlbmd0aD4wP2otalF1ZXJ5KGIpLm91dGVySGVpZ2h0KCEwKTpqfSl9Y2F0Y2goYSl7fXRyeXthLmZ1bGxTY3JlZW5PZmZzZXQuc3BsaXQoIiUiKS5sZW5ndGg+MSYmYS5mdWxsU2NyZWVuT2Zmc2V0IT11bmRlZmluZWQmJmEuZnVsbFNjcmVlbk9mZnNldC5sZW5ndGg+MD9qLT1qUXVlcnkod2luZG93KS5oZWlnaHQoKSpwYXJzZUludChhLmZ1bGxTY3JlZW5PZmZzZXQsMCkvMTAwOmEuZnVsbFNjcmVlbk9mZnNldCE9dW5kZWZpbmVkJiZhLmZ1bGxTY3JlZW5PZmZzZXQubGVuZ3RoPjAmJihqLT1wYXJzZUludChhLmZ1bGxTY3JlZW5PZmZzZXQsMCkpfWNhdGNoKGEpe319aj1qPGEubWluSGVpZ2h0P2EubWluSGVpZ2h0Omosai09YixhLmMucGFyZW50KCkuaGVpZ2h0KGopLGEuYy5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikuaGVpZ2h0KGopLGEuYy5jc3Moe2hlaWdodDoiMTAwJSJ9KSxhLmhlaWdodD1qLGEubWluSGVpZ2h0IT11bmRlZmluZWQmJmEuaGVpZ2h0PGEubWluSGVpZ2h0JiYoYS5oZWlnaHQ9YS5taW5IZWlnaHQpLGEuaGVpZ2h0PXBhcnNlSW50KGYsMCk+cGFyc2VJbnQoYS5oZWlnaHQsMCk/ZjphLmhlaWdodH1lbHNlIGEubWluSGVpZ2h0IT11bmRlZmluZWQmJmEuaGVpZ2h0PGEubWluSGVpZ2h0JiYoYS5oZWlnaHQ9YS5taW5IZWlnaHQpLGEuaGVpZ2h0PXBhcnNlSW50KGYsMCk+cGFyc2VJbnQoYS5oZWlnaHQsMCk/ZjphLmhlaWdodCxhLmMuaGVpZ2h0KGEuaGVpZ2h0KTt2YXIgbD17aGVpZ2h0OmMrZCtiK2EuaGVpZ2h0K2EucGFkZGluZ3MudG9wK2EucGFkZGluZ3MuYm90dG9tfTthLmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikuZmluZCgiLnRwLWZ1bGx3aWR0aC1mb3JjZXIiKS5jc3MobCksYS5jLmNsb3Nlc3QoIi5yZXZfc2xpZGVyX3dyYXBwZXIiKS5jc3MobCksc2V0U2NhbGUoYSl9LGVudGVySW5WaWV3UG9ydDpmdW5jdGlvbihhKXthLndhaXRGb3JDb3VudERvd24mJihjb3VudERvd24oYS5jLGEpLGEud2FpdEZvckNvdW50RG93bj0hMSksYS53YWl0Rm9yRmlyc3RTbGlkZSYmKHN3YXBTbGlkZShhLmMpLGEud2FpdEZvckZpcnN0U2xpZGU9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe2EuYy5yZW1vdmVDbGFzcygidHAtd2FpdGZvcmZpcnN0c3RhcnQiKX0sNTAwKSksInBsYXlpbmciIT1hLnNsaWRlcmxhc3RzdGF0dXMmJmEuc2xpZGVybGFzdHN0YXR1cyE9dW5kZWZpbmVkfHxhLmMudHJpZ2dlcigic3RhcnR0aW1lciIpLGEubGFzdHBsYXllZHZpZGVvcyE9dW5kZWZpbmVkJiZhLmxhc3RwbGF5ZWR2aWRlb3MubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKGEubGFzdHBsYXllZHZpZGVvcyxmdW5jdGlvbihiLGMpe19SLnBsYXlWaWRlbyhjLGEpfSl9LGxlYXZlVmlld1BvcnQ6ZnVuY3Rpb24oYSl7YS5zbGlkZXJsYXN0c3RhdHVzPWEuc2xpZGVyc3RhdHVzLGEuYy50cmlnZ2VyKCJzdG9wdGltZXIiKSxhLnBsYXlpbmd2aWRlb3MhPXVuZGVmaW5lZCYmYS5wbGF5aW5ndmlkZW9zLmxlbmd0aD4wJiYoYS5sYXN0cGxheWVkdmlkZW9zPWpRdWVyeS5leHRlbmQoITAsW10sYS5wbGF5aW5ndmlkZW9zKSxhLnBsYXlpbmd2aWRlb3MmJmpRdWVyeS5lYWNoKGEucGxheWluZ3ZpZGVvcyxmdW5jdGlvbihiLGMpe2EubGVhdmVWaWV3UG9ydEJhc2VkU3RvcD0hMCxfUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyhjLGEpfSkpfSx1blRvZ2dsZVN0YXRlOmZ1bmN0aW9uKGEpe2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYSxmdW5jdGlvbihhLGIpe2IucmVtb3ZlQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpfSl9LHRvZ2dsZVN0YXRlOmZ1bmN0aW9uKGEpe2EhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYSxmdW5jdGlvbihhLGIpe2IuYWRkQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpfSl9LHN3YXB0b2dnbGVTdGF0ZTpmdW5jdGlvbihhKXthIT11bmRlZmluZWQmJmEubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKGEsZnVuY3Rpb24oYSxiKXtqUXVlcnkoYikuaGFzQ2xhc3MoInJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZSIpP2pRdWVyeShiKS5yZW1vdmVDbGFzcygicnMtdG9nZ2xlLWNvbnRlbnQtYWN0aXZlIik6alF1ZXJ5KGIpLmFkZENsYXNzKCJycy10b2dnbGUtY29udGVudC1hY3RpdmUiKX0pfSxsYXN0VG9nZ2xlU3RhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9MDtyZXR1cm4gYSE9dW5kZWZpbmVkJiZhLmxlbmd0aD4wJiZqUXVlcnkuZWFjaChhLGZ1bmN0aW9uKGEsYyl7Yj1jLmhhc0NsYXNzKCJycy10b2dnbGUtY29udGVudC1hY3RpdmUiKX0pLGJ9fSk7dmFyIF9JU009X1IuaXNfbW9iaWxlKCksX0FORFJPSUQ9X1IuaXNfYW5kcm9pZCgpLGNoZWNrSURTPWZ1bmN0aW9uKGEsYil7aWYoYS5hbnlpZD1hLmFueWlkPT09dW5kZWZpbmVkP1tdOmEuYW55aWQsLTEhPWpRdWVyeS5pbkFycmF5KGIuYXR0cigiaWQiKSxhLmFueWlkKSl7dmFyIGQ9Yi5hdHRyKCJpZCIpKyJfIitNYXRoLnJvdW5kKDk5OTkqTWF0aC5yYW5kb20oKSk7Yi5hdHRyKCJpZCIsZCl9YS5hbnlpZC5wdXNoKGIuYXR0cigiaWQiKSl9LHJlbW92ZUFycmF5PWZ1bmN0aW9uKGEsYil7dmFyIGM9W107cmV0dXJuIGpRdWVyeS5lYWNoKGEsZnVuY3Rpb24oYSxkKXthIT1iJiZjLnB1c2goZCl9KSxjfSxyZW1vdmVOYXZXaXRoTGlyZWY9ZnVuY3Rpb24oYSxiLGMpe2MuYy5maW5kKGEpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5kYXRhKCJsaXJlZiIpPT09YiYmYS5yZW1vdmUoKX0pfSxsQWpheD1mdW5jdGlvbihhLGIpe3JldHVybiFqUXVlcnkoImJvZHkiKS5kYXRhKGEpJiYoYi5maWxlc3lzdGVtPyhiLmVycm9ybT09PXVuZGVmaW5lZCYmKGIuZXJyb3JtPSI8YnI+TG9jYWwgRmlsZXN5c3RlbSBEZXRlY3RlZCAhPGJyPlB1dCB0aGlzIHRvIHlvdXIgaGVhZGVyOiIpLGNvbnNvbGUud2FybigiTG9jYWwgRmlsZXN5c3RlbSBkZXRlY3RlZCAhIiksYi5lcnJvcm09Yi5lcnJvcm0rJzxicj4mbHQ7c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSInK2IuanNGaWxlTG9jYXRpb24rYStiLmV4dGVuc2lvbnNfc3VmZml4KyciJmd0OyZsdDsvc2NyaXB0Jmd0OycsY29uc29sZS53YXJuKGIuanNGaWxlTG9jYXRpb24rYStiLmV4dGVuc2lvbnNfc3VmZml4KyIgY291bGQgbm90IGJlIGxvYWRlZCAhIiksY29uc29sZS53YXJuKCJQbGVhc2UgdXNlIGEgbG9jYWwgU2VydmVyIG9yIHdvcmsgb25saW5lIG9yIG1ha2Ugc3VyZSB0aGF0IHlvdSBsb2FkIGFsbCBuZWVkZWQgTGlicmFyaWVzIG1hbnVhbGx5IGluIHlvdXIgRG9jdW1lbnQuIiksY29uc29sZS5sb2coIiAiKSxiLm1vZHVsZXNmYWlsaW5nPSEwLCExKTooalF1ZXJ5LmFqYXgoe3VybDpiLmpzRmlsZUxvY2F0aW9uK2ErYi5leHRlbnNpb25zX3N1ZmZpeCsiP3ZlcnNpb249Iit2ZXJzaW9uLmNvcmUsZGF0YVR5cGU6InNjcmlwdCIsY2FjaGU6ITAsZXJyb3I6ZnVuY3Rpb24oYyl7Y29uc29sZS53YXJuKCJTbGlkZXIgUmV2b2x1dGlvbiA1LjAgRXJyb3IgISIpLGNvbnNvbGUuZXJyb3IoIkZhaWx1cmUgYXQgTG9hZGluZzoiK2ErYi5leHRlbnNpb25zX3N1ZmZpeCsiIG9uIFBhdGg6IitiLmpzRmlsZUxvY2F0aW9uKSxjb25zb2xlLmluZm8oYyl9fSksdm9pZCBqUXVlcnkoImJvZHkiKS5kYXRhKGEsITApKSl9LGdldE5lZWRlZFNjcmlwdHM9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgT2JqZWN0LGQ9YS5uYXZpZ2F0aW9uO3JldHVybiBjLmtlbmJ1cm5zPSExLGMucGFyYWxsYXg9ITEsYy5jYXJvdXNlbD0hMSxjLm5hdmlnYXRpb249ITEsYy52aWRlb3M9ITEsYy5hY3Rpb25zPSExLGMubGF5ZXJhbmltPSExLGMubWlncmF0aW9uPSExLGIuZGF0YSgidmVyc2lvbiIpJiZiLmRhdGEoInZlcnNpb24iKS50b1N0cmluZygpLm1hdGNoKC81Li9naSk/KGIuZmluZCgiaW1nIikuZWFjaChmdW5jdGlvbigpeyJvbiI9PWpRdWVyeSh0aGlzKS5kYXRhKCJrZW5idXJucyIpJiYoYy5rZW5idXJucz0hMCl9KSwoImNhcm91c2VsIj09YS5zbGlkZXJUeXBlfHwib24iPT1kLmtleWJvYXJkTmF2aWdhdGlvbnx8Im9uIj09ZC5tb3VzZVNjcm9sbE5hdmlnYXRpb258fCJvbiI9PWQudG91Y2gudG91Y2hlbmFibGVkfHxkLmFycm93cy5lbmFibGV8fGQuYnVsbGV0cy5lbmFibGV8fGQudGh1bWJuYWlscy5lbmFibGV8fGQudGFicy5lbmFibGUpJiYoYy5uYXZpZ2F0aW9uPSEwKSxiLmZpbmQoIi50cC1jYXB0aW9uLCAudHAtc3RhdGljLWxheWVyLCAucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7KGEuZGF0YSgieXRpZCIpIT11bmRlZmluZWR8fGEuZmluZCgiaWZyYW1lIikubGVuZ3RoPjAmJmEuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ5b3V0dWJlIik+MCkmJihjLnZpZGVvcz0hMCksKGEuZGF0YSgidmltZW9pZCIpIT11bmRlZmluZWR8fGEuZmluZCgiaWZyYW1lIikubGVuZ3RoPjAmJmEuZmluZCgiaWZyYW1lIikuYXR0cigic3JjIikudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJ2aW1lbyIpPjApJiYoYy52aWRlb3M9ITApLGEuZGF0YSgiYWN0aW9ucyIpIT09dW5kZWZpbmVkJiYoYy5hY3Rpb25zPSEwKSxjLmxheWVyYW5pbT0hMH0pLGIuZmluZCgibGkiKS5lYWNoKGZ1bmN0aW9uKCl7alF1ZXJ5KHRoaXMpLmRhdGEoImxpbmsiKSYmalF1ZXJ5KHRoaXMpLmRhdGEoImxpbmsiKSE9dW5kZWZpbmVkJiYoYy5sYXllcmFuaW09ITAsYy5hY3Rpb25zPSEwKX0pLCFjLnZpZGVvcyYmKGIuZmluZCgiLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKS5sZW5ndGg+MHx8Yi5maW5kKCIudHAtdmlkZW9sYXllciIpLmxlbmd0aD4wfHxiLmZpbmQoIi50cC1hdWRpb2xheWVyIikubGVuZ3RoPjB8fGIuZmluZCgiaWZyYW1lIikubGVuZ3RoPjB8fGIuZmluZCgidmlkZW8iKS5sZW5ndGg+MCkmJihjLnZpZGVvcz0hMCksImNhcm91c2VsIj09YS5zbGlkZXJUeXBlJiYoYy5jYXJvdXNlbD0hMCksKCJvZmYiIT09YS5wYXJhbGxheC50eXBlfHxhLnZpZXdQb3J0LmVuYWJsZXx8InRydWUiPT1hLnZpZXdQb3J0LmVuYWJsZXx8InRydWUiPT09YS5zY3JvbGxlZmZlY3Qub258fGEuc2Nyb2xsZWZmZWN0Lm9uKSYmKGMucGFyYWxsYXg9ITApKTooYy5rZW5idXJucz0hMCxjLnBhcmFsbGF4PSEwLGMuY2Fyb3VzZWw9ITEsYy5uYXZpZ2F0aW9uPSEwLGMudmlkZW9zPSEwLGMuYWN0aW9ucz0hMCxjLmxheWVyYW5pbT0hMCxjLm1pZ3JhdGlvbj0hMCksImhlcm8iPT1hLnNsaWRlclR5cGUmJihjLmNhcm91c2VsPSExLGMubmF2aWdhdGlvbj0hMSksd2luZG93LmxvY2F0aW9uLmhyZWYubWF0Y2goL2ZpbGU6L2dpKSYmKGMuZmlsZXN5c3RlbT0hMCxhLmZpbGVzeXN0ZW09ITApLGMudmlkZW9zJiZ2b2lkIDA9PT1fUi5pc1ZpZGVvUGxheWluZyYmbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLnZpZGVvIixhKSxjLmNhcm91c2VsJiZ2b2lkIDA9PT1fUi5wcmVwYXJlQ2Fyb3VzZWwmJmxBamF4KCJyZXZvbHV0aW9uLmV4dGVuc2lvbi5jYXJvdXNlbCIsYSksYy5jYXJvdXNlbHx8dm9pZCAwIT09X1IuYW5pbWF0ZVNsaWRlfHxsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24uc2xpZGVhbmltcyIsYSksYy5hY3Rpb25zJiZ2b2lkIDA9PT1fUi5jaGVja0FjdGlvbnMmJmxBamF4KCJyZXZvbHV0aW9uLmV4dGVuc2lvbi5hY3Rpb25zIixhKSxjLmxheWVyYW5pbSYmdm9pZCAwPT09X1IuaGFuZGxlU3RhdGljTGF5ZXJzJiZsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24ubGF5ZXJhbmltYXRpb24iLGEpLGMua2VuYnVybnMmJnZvaWQgMD09PV9SLnN0b3BLZW5CdXJuJiZsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24ua2VuYnVybiIsYSksYy5uYXZpZ2F0aW9uJiZ2b2lkIDA9PT1fUi5jcmVhdGVOYXZpZ2F0aW9uJiZsQWpheCgicmV2b2x1dGlvbi5leHRlbnNpb24ubmF2aWdhdGlvbiIsYSksYy5taWdyYXRpb24mJnZvaWQgMD09PV9SLm1pZ3JhdGlvbiYmbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLm1pZ3JhdGlvbiIsYSksYy5wYXJhbGxheCYmdm9pZCAwPT09X1IuY2hlY2tGb3JQYXJhbGxheCYmbEFqYXgoInJldm9sdXRpb24uZXh0ZW5zaW9uLnBhcmFsbGF4IixhKSxhLmFkZG9ucyE9dW5kZWZpbmVkJiZhLmFkZG9ucy5sZW5ndGg+MCYmalF1ZXJ5LmVhY2goYS5hZGRvbnMsZnVuY3Rpb24oYixjKXsib2JqZWN0Ij09dHlwZW9mIGMmJmMuZmlsZXByZWZpeCE9dW5kZWZpbmVkJiZsQWpheChjLmZpbGVwcmVmaXgsYSl9KSxjfSx3YWl0Rm9yU2NyaXB0cz1mdW5jdGlvbihhLGIpe3ZhciBjPSEwLGQ9Yi5zY3JpcHRzbmVlZGVkO2IuYWRkb25zIT11bmRlZmluZWQmJmIuYWRkb25zLmxlbmd0aD4wJiZqUXVlcnkuZWFjaChiLmFkZG9ucyxmdW5jdGlvbihhLGIpeyJvYmplY3QiPT10eXBlb2YgYiYmYi5pbml0IT11bmRlZmluZWQmJl9SW2IuaW5pdF09PT11bmRlZmluZWQmJihjPSExKX0pLGQuZmlsZXN5c3RlbXx8InVuZGVmaW5lZCIhPXR5cGVvZiBwdW5jaGdzJiZjJiYoIWQua2VuYnVybnN8fGQua2VuYnVybnMmJnZvaWQgMCE9PV9SLnN0b3BLZW5CdXJuKSYmKCFkLm5hdmlnYXRpb258fGQubmF2aWdhdGlvbiYmdm9pZCAwIT09X1IuY3JlYXRlTmF2aWdhdGlvbikmJighZC5jYXJvdXNlbHx8ZC5jYXJvdXNlbCYmdm9pZCAwIT09X1IucHJlcGFyZUNhcm91c2VsKSYmKCFkLnZpZGVvc3x8ZC52aWRlb3MmJnZvaWQgMCE9PV9SLnJlc2V0VmlkZW8pJiYoIWQuYWN0aW9uc3x8ZC5hY3Rpb25zJiZ2b2lkIDAhPT1fUi5jaGVja0FjdGlvbnMpJiYoIWQubGF5ZXJhbmltfHxkLmxheWVyYW5pbSYmdm9pZCAwIT09X1IuaGFuZGxlU3RhdGljTGF5ZXJzKSYmKCFkLm1pZ3JhdGlvbnx8ZC5taWdyYXRpb24mJnZvaWQgMCE9PV9SLm1pZ3JhdGlvbikmJighZC5wYXJhbGxheHx8ZC5wYXJhbGxheCYmdm9pZCAwIT09X1IuY2hlY2tGb3JQYXJhbGxheCkmJihkLmNhcm91c2VsfHwhZC5jYXJvdXNlbCYmdm9pZCAwIT09X1IuYW5pbWF0ZVNsaWRlKT9hLnRyaWdnZXIoInNjcmlwdHNsb2FkZWQiKTpzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7d2FpdEZvclNjcmlwdHMoYSxiKX0sNTApfSxnZXRTY3JpcHRMb2NhdGlvbj1mdW5jdGlvbihhKXt2YXIgYj1uZXcgUmVnRXhwKCJ0aGVtZXB1bmNoLnJldm9sdXRpb24ubWluLmpzIiwiZ2kiKSxjPSIiO3JldHVybiBqUXVlcnkoInNjcmlwdCIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcykuYXR0cigic3JjIik7YSYmYS5tYXRjaChiKSYmKGM9YSl9KSxjPWMucmVwbGFjZSgianF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5taW4uanMiLCIiKSxjPWMucmVwbGFjZSgianF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcyIsIiIpLGM9Yy5zcGxpdCgiPyIpWzBdfSxzZXRDdXJXaW5SYW5nZT1mdW5jdGlvbihhLGIpe3ZhciBkPTk5OTksZT0wLGY9MCxnPTAsaD1qUXVlcnkod2luZG93KS53aWR0aCgpLGk9YiYmOTk5OT09YS5yZXNwb25zaXZlTGV2ZWxzP2EudmlzaWJpbGl0eUxldmVsczphLnJlc3BvbnNpdmVMZXZlbHM7aSYmaS5sZW5ndGgmJmpRdWVyeS5lYWNoKGksZnVuY3Rpb24oYSxiKXtoPGImJigwPT1lfHxlPmIpJiYoZD1iLGc9YSxlPWIpLGg+YiYmZTxiJiYoZT1iLGY9YSl9KSxlPGQmJihnPWYpLGI/YS5mb3JjZWRXaW5SYW5nZT1nOmEuY3VyV2luUmFuZ2U9Z30scHJlcGFyZU9wdGlvbnM9ZnVuY3Rpb24oYSxiKXtiLmNhcm91c2VsLm1heFZpc2libGVJdGVtcz1iLmNhcm91c2VsLm1heFZpc2libGVJdGVtczwxPzk5OTpiLmNhcm91c2VsLm1heFZpc2libGVJdGVtcyxiLmNhcm91c2VsLnZlcnRpY2FsX2FsaWduPSJ0b3AiPT09Yi5jYXJvdXNlbC52ZXJ0aWNhbF9hbGlnbj8iMCUiOiJib3R0b20iPT09Yi5jYXJvdXNlbC52ZXJ0aWNhbF9hbGlnbj8iMTAwJSI6IjUwJSJ9LGdXaWRlck91dD1mdW5jdGlvbihhLGIpe3ZhciBjPTA7cmV0dXJuIGEuZmluZChiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpOyFhLmhhc0NsYXNzKCJ0cC1mb3JjZW5vdHZpc2libGUiKSYmYzxhLm91dGVyV2lkdGgoKSYmKGM9YS5vdXRlcldpZHRoKCkpfSksY30saW5pdFNsaWRlcj1mdW5jdGlvbihjb250YWluZXIsb3B0KXtpZihjb250YWluZXI9PXVuZGVmaW5lZClyZXR1cm4hMTtjb250YWluZXIuZGF0YSgiYWltZyIpIT11bmRlZmluZWQmJigiZW5hYmxlZCI9PWNvbnRhaW5lci5kYXRhKCJhaWU4IikmJl9SLmlzSUUoOCl8fCJlbmFibGVkIj09Y29udGFpbmVyLmRhdGEoImFtb2JpbGUiKSYmX0lTTSkmJmNvbnRhaW5lci5odG1sKCc8aW1nIGNsYXNzPSJ0cC1zbGlkZXItYWx0ZXJuYXRpdmUtaW1hZ2UiIHNyYz0iJytjb250YWluZXIuZGF0YSgiYWltZyIpKyciPicpLGNvbnRhaW5lci5maW5kKCI+dWwiKS5hZGRDbGFzcygidHAtcmV2c2xpZGVyLW1haW51bCIpLG9wdC5jPWNvbnRhaW5lcixvcHQudWw9Y29udGFpbmVyLmZpbmQoIi50cC1yZXZzbGlkZXItbWFpbnVsIiksb3B0LnVsLmZpbmQoIj5saSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpOyJvbiI9PWIuZGF0YSgiaGlkZXNsaWRlb25tb2JpbGUiKSYmX0lTTSYmYi5yZW1vdmUoKSwoYi5kYXRhKCJpbnZpc2libGUiKXx8ITA9PT1iLmRhdGEoImludmlzaWJsZSIpKSYmKGIuYWRkQ2xhc3MoInRwLWludmlzaWJsZS1zbGlkZSIpLGIuYXBwZW5kVG8ob3B0LnVsKSl9KSxvcHQuYWRkb25zIT11bmRlZmluZWQmJm9wdC5hZGRvbnMubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKG9wdC5hZGRvbnMsZnVuY3Rpb24oaSxvYmopeyJvYmplY3QiPT10eXBlb2Ygb2JqJiZvYmouaW5pdCE9dW5kZWZpbmVkJiZfUltvYmouaW5pdF0oZXZhbChvYmoucGFyYW1zKSl9KSxvcHQuY2lkPWNvbnRhaW5lci5hdHRyKCJpZCIpLG9wdC51bC5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSksb3B0LnNsaWRlYW1vdW50PW9wdC51bC5maW5kKCI+bGkiKS5ub3QoIi50cC1pbnZpc2libGUtc2xpZGUiKS5sZW5ndGgsb3B0LnJlYWxzbGlkZWFtb3VudD1vcHQudWwuZmluZCgiPmxpIikubGVuZ3RoLG9wdC5zbGF5ZXJzPWNvbnRhaW5lci5maW5kKCIudHAtc3RhdGljLWxheWVycyIpLG9wdC5zbGF5ZXJzLmRhdGEoImluZGV4Iiwic3RhdGljbGF5ZXJzIiksMSE9b3B0LndhaXRGb3JJbml0JiYoY29udGFpbmVyWzBdLm9wdD1vcHQscnVuU2xpZGVyKGNvbnRhaW5lcixvcHQpKX0sb25GdWxsU2NyZWVuQ2hhbmdlPWZ1bmN0aW9uKCl7alF1ZXJ5KCJib2R5IikuZGF0YSgicnMtZnVsbFNjcmVlbk1vZGUiLCFqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIpKSxqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7alF1ZXJ5KHdpbmRvdykudHJpZ2dlcigicmVzaXplIil9LDIwMCl9LHJ1blNsaWRlcj1mdW5jdGlvbihhLGIpe2lmKGIuc2xpZGVyaXNydW5uaW5nPSEwLGIudWwuZmluZCgiPmxpIikuZWFjaChmdW5jdGlvbihhKXtqUXVlcnkodGhpcykuZGF0YSgib3JpZ2luYWxpbmRleCIsYSl9KSxiLmFsbGxpPWIudWwuZmluZCgiPmxpIiksalF1ZXJ5LmVhY2goYi5hbGxsaSxmdW5jdGlvbihhLGIpe3ZhciBiPWpRdWVyeShiKTtiLmRhdGEoIm9yaWdpbmRleCIsYi5pbmRleCgpKX0pLGIubGk9Yi51bC5maW5kKCI+bGkiKS5ub3QoIi50cC1pbnZpc2libGUtc2xpZGUiKSwib24iPT1iLnNodWZmbGUpe3ZhciBjPW5ldyBPYmplY3QsZD1iLnVsLmZpbmQoIj5saTpmaXJzdC1jaGlsZCIpO2MuZnN0cmFuc2l0aW9uPWQuZGF0YSgiZnN0cmFuc2l0aW9uIiksYy5mc21hc3RlcnNwZWVkPWQuZGF0YSgiZnNtYXN0ZXJzcGVlZCIpLGMuZnNzbG90YW1vdW50PWQuZGF0YSgiZnNzbG90YW1vdW50Iik7Zm9yKHZhciBlPTA7ZTxiLnNsaWRlYW1vdW50O2UrKyl7dmFyIGY9TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKmIuc2xpZGVhbW91bnQpO2IudWwuZmluZCgiPmxpOmVxKCIrZisiKSIpLnByZXBlbmRUbyhiLnVsKX12YXIgZz1iLnVsLmZpbmQoIj5saTpmaXJzdC1jaGlsZCIpO2cuZGF0YSgiZnN0cmFuc2l0aW9uIixjLmZzdHJhbnNpdGlvbiksZy5kYXRhKCJmc21hc3RlcnNwZWVkIixjLmZzbWFzdGVyc3BlZWQpLGcuZGF0YSgiZnNzbG90YW1vdW50IixjLmZzc2xvdGFtb3VudCksYi5hbGxsaT1iLnVsLmZpbmQoIj5saSIpLGIubGk9Yi51bC5maW5kKCI+bGkiKS5ub3QoIi50cC1pbnZpc2libGUtc2xpZGUiKX1pZihiLmlubGk9Yi51bC5maW5kKCI+bGkudHAtaW52aXNpYmxlLXNsaWRlIiksYi50aHVtYnM9bmV3IEFycmF5LGIuc2xvdHM9NCxiLmFjdD0tMSxiLmZpcnN0c3RhcnQ9MSxiLmxvYWRxdWV1ZT1uZXcgQXJyYXksYi5zeW5jbG9hZD0wLGIuY29udz1hLndpZHRoKCksYi5jb25oPWEuaGVpZ2h0KCksYi5yZXNwb25zaXZlTGV2ZWxzLmxlbmd0aD4xP2IucmVzcG9uc2l2ZUxldmVsc1swXT05OTk5OmIucmVzcG9uc2l2ZUxldmVscz05OTk5LGpRdWVyeS5lYWNoKGIuYWxsbGksZnVuY3Rpb24oYSxjKXt2YXIgYz1qUXVlcnkoYyksZD1jLmZpbmQoIi5yZXYtc2xpZGViZyIpfHxjLmZpbmQoImltZyIpLmZpcnN0KCksZT0wO2MuYWRkQ2xhc3MoInRwLXJldnNsaWRlci1zbGlkZXNsaSIpLGMuZGF0YSgiaW5kZXgiKT09PXVuZGVmaW5lZCYmYy5kYXRhKCJpbmRleCIsInJzLSIrTWF0aC5yb3VuZCg5OTk5OTkqTWF0aC5yYW5kb20oKSkpO3ZhciBmPW5ldyBPYmplY3Q7Zi5wYXJhbXM9bmV3IEFycmF5LGYuaWQ9Yy5kYXRhKCJpbmRleCIpLGYuc3JjPWMuZGF0YSgidGh1bWIiKSE9PXVuZGVmaW5lZD9jLmRhdGEoInRodW1iIik6ZC5kYXRhKCJsYXp5bG9hZCIpIT09dW5kZWZpbmVkP2QuZGF0YSgibGF6eWxvYWQiKTpkLmF0dHIoInNyYyIpLGMuZGF0YSgidGl0bGUiKSE9PXVuZGVmaW5lZCYmZi5wYXJhbXMucHVzaCh7ZnJvbTpSZWdFeHAoIlxce1xce3RpdGxlXFx9XFx9IiwiZyIpLHRvOmMuZGF0YSgidGl0bGUiKX0pLGMuZGF0YSgiZGVzY3JpcHRpb24iKSE9PXVuZGVmaW5lZCYmZi5wYXJhbXMucHVzaCh7ZnJvbTpSZWdFeHAoIlxce1xce2Rlc2NyaXB0aW9uXFx9XFx9IiwiZyIpLHRvOmMuZGF0YSgiZGVzY3JpcHRpb24iKX0pO2Zvcih2YXIgZT0xO2U8PTEwO2UrKyljLmRhdGEoInBhcmFtIitlKSE9PXVuZGVmaW5lZCYmZi5wYXJhbXMucHVzaCh7ZnJvbTpSZWdFeHAoIlxce1xce3BhcmFtIitlKyJcXH1cXH0iLCJnIiksdG86Yy5kYXRhKCJwYXJhbSIrZSl9KTtpZihiLnRodW1icy5wdXNoKGYpLGMuZGF0YSgibGluayIpIT11bmRlZmluZWQpe3ZhciBnPWMuZGF0YSgibGluayIpLGg9Yy5kYXRhKCJ0YXJnZXQiKXx8Il9zZWxmIixpPSJiYWNrIj09PWMuZGF0YSgic2xpZGVpbmRleCIpPzA6NjAsaj1jLmRhdGEoImxpbmt0b3NsaWRlIiksaz1qO2ohPXVuZGVmaW5lZCYmIm5leHQiIT1qJiYicHJldiIhPWomJmIuYWxsbGkuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthLmRhdGEoIm9yaWdpbmRleCIpKzE9PWsmJihqPWEuZGF0YSgiaW5kZXgiKSl9KSwic2xpZGUiIT1nJiYoaj0ibm8iKTt2YXIgbD0nPGRpdiBjbGFzcz0idHAtY2FwdGlvbiBzbGlkZWxpbmsiIHN0eWxlPSJjdXJzb3I6cG9pbnRlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6JytpKyc7IiBkYXRhLXg9ImNlbnRlciIgZGF0YS15PSJjZW50ZXIiIGRhdGEtYmFzZWFsaWduPSJzbGlkZSIgJyxtPSJzY3JvbGxfdW5kZXIiPT09aj8nW3siZXZlbnQiOiJjbGljayIsImFjdGlvbiI6InNjcm9sbGJlbG93Iiwib2Zmc2V0IjoiMTAwcHgiLCJkZWxheSI6IjAifV0nOiJwcmV2Ij09PWo/J1t7ImV2ZW50IjoiY2xpY2siLCJhY3Rpb24iOiJqdW1wdG9zbGlkZSIsInNsaWRlIjoicHJldiIsImRlbGF5IjoiMC4yIn1dJzoibmV4dCI9PT1qPydbeyJldmVudCI6ImNsaWNrIiwiYWN0aW9uIjoianVtcHRvc2xpZGUiLCJzbGlkZSI6Im5leHQiLCJkZWxheSI6IjAuMiJ9XSc6J1t7ImV2ZW50IjoiY2xpY2siLCJhY3Rpb24iOiJqdW1wdG9zbGlkZSIsInNsaWRlIjoiJytqKyciLCJkZWxheSI6IjAuMiJ9XScsbj0nIGRhdGEtZnJhbWVzPVwnW3siZGVsYXkiOjAsInNwZWVkIjoxMDAsImZyYW1lIjoiMCIsImZyb20iOiJvcGFjaXR5OjA7IiwidG8iOiJvOjE7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifSx7ImRlbGF5Ijoid2FpdCIsInNwZWVkIjozMDAsImZyYW1lIjoiOTk5IiwidG8iOiJvcGFjaXR5OjA7IiwiZWFzZSI6IlBvd2VyMy5lYXNlSW5PdXQifV1cJyc7bD0ibm8iPT1qP2wrbisiID4iOmwrImRhdGEtYWN0aW9ucz0nIittKyInIituKyIgPiIsbCs9JzxhIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2siJyxsPSJzbGlkZSIhPWc/bCsnIHRhcmdldD0iJytoKyciIGhyZWY9IicrZysnIic6bCxsKz0nPjxzcGFuIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2siPjwvc3Bhbj48L2E+PC9kaXY+JyxjLmFwcGVuZChsKX19KSxiLnJsZT1iLnJlc3BvbnNpdmVMZXZlbHMubGVuZ3RofHwxLGIuZ3JpZHdpZHRoPWNBcnJheShiLmdyaWR3aWR0aCxiLnJsZSksYi5ncmlkaGVpZ2h0PWNBcnJheShiLmdyaWRoZWlnaHQsYi5ybGUpLCJvbiI9PWIuc2ltcGxpZnlBbGwmJihfUi5pc0lFKDgpfHxfUi5pT1NWZXJzaW9uKCkpJiYoYS5maW5kKCIudHAtY2FwdGlvbiIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5yZW1vdmVDbGFzcygiY3VzdG9taW4gY3VzdG9tb3V0IikuYWRkQ2xhc3MoImZhZGVpbiBmYWRlb3V0IiksYS5kYXRhKCJzcGxpdGluIiwiIiksYS5kYXRhKCJzcGVlZCIsNDAwKX0pLGIuYWxsbGkuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTthLmRhdGEoInRyYW5zaXRpb24iLCJmYWRlIiksYS5kYXRhKCJtYXN0ZXJzcGVlZCIsNTAwKSxhLmRhdGEoInNsb3RhbW91bnQiLDEpLChhLmZpbmQoIi5yZXYtc2xpZGViZyIpfHxhLmZpbmQoIj5pbWciKS5maXJzdCgpKS5kYXRhKCJrZW5idXJucyIsIm9mZiIpfSkpLGIuZGVza3RvcD0hbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvKGlQaG9uZXxpUG9kfGlQYWR8QW5kcm9pZHxCbGFja0JlcnJ5fEJCMTB8bW9iaXx0YWJsZXR8b3BlcmEgbWluaXxuZXh1cyA3KS9pKSxiLmF1dG9IZWlnaHQ9ImZ1bGxzY3JlZW4iPT1iLnNsaWRlckxheW91dD8ib24iOmIuYXV0b0hlaWdodCwiZnVsbHdpZHRoIj09Yi5zbGlkZXJMYXlvdXQmJiJvZmYiPT1iLmF1dG9IZWlnaHQmJmEuY3NzKHttYXhIZWlnaHQ6Yi5ncmlkaGVpZ2h0W2IuY3VyV2luUmFuZ2VdKyJweCJ9KSwiYXV0byIhPWIuc2xpZGVyTGF5b3V0JiYwPT1hLmNsb3Nlc3QoIi5mb3JjZWZ1bGx3aWR0aF93cmFwcGVyX3RwX2Jhbm5lciIpLmxlbmd0aCYmKCJmdWxsc2NyZWVuIiE9PWIuc2xpZGVyTGF5b3V0fHwib24iIT1iLmZ1bGxTY3JlZW5BdXRvV2lkdGgpKXt2YXIgaD1hLnBhcmVudCgpLGk9aC5jc3MoIm1hcmdpbkJvdHRvbSIpLGo9aC5jc3MoIm1hcmdpblRvcCIpLGs9YS5hdHRyKCJpZCIpKyJfZm9yY2VmdWxsd2lkdGgiO2k9aT09PXVuZGVmaW5lZD8wOmksaj1qPT09dW5kZWZpbmVkPzA6aixoLndyYXAoJzxkaXYgY2xhc3M9ImZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIiBpZD0iJytrKyciIHN0eWxlPSJwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDoxMDAlO2hlaWdodDphdXRvO21hcmdpbi10b3A6JytqKyI7bWFyZ2luLWJvdHRvbToiK2krJyI+PC9kaXY+JyksYS5jbG9zZXN0KCIuZm9yY2VmdWxsd2lkdGhfd3JhcHBlcl90cF9iYW5uZXIiKS5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLWZ1bGx3aWR0aC1mb3JjZXIiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDonK2EuaGVpZ2h0KCkrJ3B4Ij48L2Rpdj4nKSxhLnBhcmVudCgpLmNzcyh7bWFyZ2luVG9wOiIwcHgiLG1hcmdpbkJvdHRvbToiMHB4In0pLGEucGFyZW50KCkuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUifSl9aWYoYi5zaGFkb3chPT11bmRlZmluZWQmJmIuc2hhZG93PjAmJihhLnBhcmVudCgpLmFkZENsYXNzKCJ0cC1zaGFkb3ciK2Iuc2hhZG93KSxhLnBhcmVudCgpLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtc2hhZG93Y292ZXIiPjwvZGl2PicpLGEucGFyZW50KCkuZmluZCgiLnRwLXNoYWRvd2NvdmVyIikuY3NzKHtiYWNrZ3JvdW5kQ29sb3I6YS5wYXJlbnQoKS5jc3MoImJhY2tncm91bmRDb2xvciIpLGJhY2tncm91bmRJbWFnZTphLnBhcmVudCgpLmNzcygiYmFja2dyb3VuZEltYWdlIil9KSksc2V0Q3VyV2luUmFuZ2UoYiksc2V0Q3VyV2luUmFuZ2UoYiwhMCksIWEuaGFzQ2xhc3MoInJldnNsaWRlci1pbml0aWFsaXNlZCIpKXthLmFkZENsYXNzKCJyZXZzbGlkZXItaW5pdGlhbGlzZWQiKSxhLmFkZENsYXNzKCJ0cC1zaW1wbGVyZXNwb25zaXZlIiksYS5hdHRyKCJpZCIpPT11bmRlZmluZWQmJmEuYXR0cigiaWQiLCJyZXZzbGlkZXItIitNYXRoLnJvdW5kKDFlMypNYXRoLnJhbmRvbSgpKzUpKSxjaGVja0lEUyhiLGEpLGIuZmlyZWZveDEzPSExLGIuaWU9IWpRdWVyeS5zdXBwb3J0Lm9wYWNpdHksYi5pZTk9OT09ZG9jdW1lbnQuZG9jdW1lbnRNb2RlLGIub3JpZ2NkPWIuZGVsYXk7dmFyIGw9alF1ZXJ5LmZuLmpxdWVyeS5zcGxpdCgiLiIpLG09cGFyc2VGbG9hdChsWzBdKSxuPXBhcnNlRmxvYXQobFsxXSk7cGFyc2VGbG9hdChsWzJdfHwiMCIpOzE9PW0mJm48NyYmYS5odG1sKCc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzo0MHB4IDBweDsgZm9udC1zaXplOjIwcHg7IGNvbG9yOiM5OTIyMjI7Ij4gVGhlIEN1cnJlbnQgVmVyc2lvbiBvZiBqUXVlcnk6JytsKyIgPGJyPlBsZWFzZSB1cGRhdGUgeW91ciBqUXVlcnkgVmVyc2lvbiB0byBtaW4uIDEuNyBpbiBDYXNlIHlvdSB3aXNoIHRvIHVzZSB0aGUgUmV2b2x1dGlvbiBTbGlkZXIgUGx1Z2luPC9kaXY+IiksbT4xJiYoYi5pZT0hMSk7dmFyIHA9bmV3IE9iamVjdDtwLmFkZGVkeXQ9MCxwLmFkZGVkdmltPTAscC5hZGRlZHZpZD0wLGIuc2Nyb2xsZWZmZWN0Lm9uJiYoYi5zY3JvbGxlZmZlY3QubGF5ZXJzPW5ldyBBcnJheSksYS5maW5kKCIudHAtY2FwdGlvbiwgLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBjPWpRdWVyeSh0aGlzKSxkPWMuZGF0YSgpLGU9ZC5hdXRvcGxheW9ubHlmaXJzdHRpbWUsZj1kLmF1dG9wbGF5LGc9ZC52aWRlb21wNCE9PXVuZGVmaW5lZHx8ZC52aWRlb3dlYm0hPT11bmRlZmluZWR8fGQudmlkZW9vZ3YhPT11bmRlZmluZWQsaD1jLmhhc0NsYXNzKCJ0cC1hdWRpb2xheWVyIiksaT1kLnZpZGVvbG9vcCxqPSEwLGs9ITE7ZC5zdGFydGNsYXNzZXM9Yy5hdHRyKCJjbGFzcyIpLGQuaXNwYXJhbGxheGxheWVyPWQuc3RhcnRjbGFzc2VzLmluZGV4T2YoInJzLXBhcmFsbGF4Iik+PTAsYy5oYXNDbGFzcygidHAtc3RhdGljLWxheWVyIikmJl9SLmhhbmRsZVN0YXRpY0xheWVycyYmKF9SLmhhbmRsZVN0YXRpY0xheWVycyhjLGIpLGIuc2Nyb2xsZWZmZWN0Lm9uJiYoIm9uIj09PWIuc2Nyb2xsZWZmZWN0Lm9uX3BhcmFsbGF4X3N0YXRpY19sYXllcnMmJmQuaXNwYXJhbGxheGxheWVyfHwib24iPT09Yi5zY3JvbGxlZmZlY3Qub25fc3RhdGljX2xheWVycyYmIWQuaXNwYXJhbGxheGxheWVyKSYmKGs9ITApLGo9ITEpO3ZhciBsPWMuZGF0YSgibm9wb3N0ZXJvbm1vYmlsZSIpfHxjLmRhdGEoIm5vUG9zdGVyT25Nb2JpbGUiKXx8Yy5kYXRhKCJwb3N0ZXJvbm1vYmlsZSIpfHxjLmRhdGEoInBvc3Rlck9uTW9iaWxlIil8fGMuZGF0YSgicG9zdGVyT25NT2JpbGUiKTtjLmRhdGEoIm5vcG9zdGVyb25tb2JpbGUiLGwpO3ZhciBtPTA7aWYoYy5maW5kKCJpZnJhbWUiKS5lYWNoKGZ1bmN0aW9uKCl7cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGpRdWVyeSh0aGlzKSx7YXV0b0FscGhhOjB9KSxtKyt9KSxtPjAmJmMuZGF0YSgiaWZyYW1lcyIsITApLGMuaGFzQ2xhc3MoInRwLWNhcHRpb24iKSl7dmFyIG49Yy5oYXNDbGFzcygic2xpZGVsaW5rIik/IndpZHRoOjEwMCUgIWltcG9ydGFudDtoZWlnaHQ6MTAwJSAhaW1wb3J0YW50OyI6IiIsbz1jLmRhdGEoKSxxPSIiLHI9by50eXBlLHM9InJvdyI9PT1yfHwiY29sdW1uIj09PXI/InJlbGF0aXZlIjoiYWJzb2x1dGUiLHQ9IiI7InJvdyI9PT1yPyhjLmFkZENsYXNzKCJyZXZfcm93IikucmVtb3ZlQ2xhc3MoInRwLXJlc2l6ZW1lIiksdD0icmV2X3Jvd193cmFwIik6ImNvbHVtbiI9PT1yPyhxPW8udmVydGljYWxhbGlnbj09PXVuZGVmaW5lZD8iIHZlcnRpY2FsLWFsaWduOmJvdHRvbTsiOiIgdmVydGljYWwtYWxpZ246IitvLnZlcnRpY2FsYWxpZ24rIjsiLHQ9InJldl9jb2x1bW4iLGMuYWRkQ2xhc3MoInJldl9jb2x1bW5faW5uZXIiKS5yZW1vdmVDbGFzcygidHAtcmVzaXplbWUiKSxjLmRhdGEoIndpZHRoIiwiYXV0byIpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHt3aWR0aDoiYXV0byJ9KSk6Imdyb3VwIj09PXImJmMucmVtb3ZlQ2xhc3MoInRwLXJlc2l6ZW1lIik7dmFyIHU9IiIsdj0iIjsicm93IiE9PXImJiJncm91cCIhPT1yJiYiY29sdW1uIiE9PXI/KHU9ImRpc3BsYXk6IitjLmNzcygiZGlzcGxheSIpKyI7IixjLmNsb3Nlc3QoIi5yZXZfY29sdW1uIikubGVuZ3RoPjA/KGMuYWRkQ2xhc3MoInJldl9sYXllcl9pbl9jb2x1bW4iKSxqPSExKTpjLmNsb3Nlc3QoIi5yZXZfZ3JvdXAiKS5sZW5ndGg+MCYmKGMuYWRkQ2xhc3MoInJldl9sYXllcl9pbl9ncm91cCIpLGo9ITEpKToiY29sdW1uIj09PXImJihqPSExKSxvLndyYXBwZXJfY2xhc3MhPT11bmRlZmluZWQmJih0PXQrIiAiK28ud3JhcHBlcl9jbGFzcyksby53cmFwcGVyX2lkIT09dW5kZWZpbmVkJiYodj0naWQ9Iicrby53cmFwcGVyX2lkKyciJyksYy53cmFwKCI8ZGl2ICIrdisnIGNsYXNzPSJ0cC1wYXJhbGxheC13cmFwICcrdCsnIiBzdHlsZT0iJytxKyIgIituKyJwb3NpdGlvbjoiK3MrIjsiK3UrJzt2aXNpYmlsaXR5OmhpZGRlbiI+PGRpdiBjbGFzcz0idHAtbG9vcC13cmFwIiBzdHlsZT0iJytuKyJwb3NpdGlvbjoiK3MrIjsiK3UrJzsiPjxkaXYgY2xhc3M9InRwLW1hc2std3JhcCIgc3R5bGU9IicrbisicG9zaXRpb246IitzKyI7Iit1Kyc7IiA+PC9kaXY+PC9kaXY+PC9kaXY+JyksaiYmYi5zY3JvbGxlZmZlY3Qub24mJigib24iPT09Yi5zY3JvbGxlZmZlY3Qub25fcGFyYWxsYXhfbGF5ZXJzJiZkLmlzcGFyYWxsYXhsYXllcnx8Im9uIj09PWIuc2Nyb2xsZWZmZWN0Lm9uX2xheWVycyYmIWQuaXNwYXJhbGxheGxheWVyKSYmYi5zY3JvbGxlZmZlY3QubGF5ZXJzLnB1c2goYy5wYXJlbnQoKSksayYmYi5zY3JvbGxlZmZlY3QubGF5ZXJzLnB1c2goYy5wYXJlbnQoKSksImNvbHVtbiI9PT1yJiYoYy5hcHBlbmQoJzxkaXYgY2xhc3M9InJldl9jb2x1bW5fYmcgcmV2X2NvbHVtbl9iZ19tYW5fc2l6ZWQiIHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+PC9kaXY+JyksYy5jbG9zZXN0KCIudHAtcGFyYWxsYXgtd3JhcCIpLmFwcGVuZCgnPGRpdiBjbGFzcz0icmV2X2NvbHVtbl9iZyByZXZfY29sdW1uX2JnX2F1dG9fc2l6ZWQiPjwvZGl2PicpKTt2YXIgdz1bInBlbmR1bHVtIiwicm90YXRlIiwic2xpZGVsb29wIiwicHVsc2UiLCJ3YXZlIl0seD1jLmNsb3Nlc3QoIi50cC1sb29wLXdyYXAiKTtqUXVlcnkuZWFjaCh3LGZ1bmN0aW9uKGEsYil7dmFyIGQ9Yy5maW5kKCIucnMtIitiKSxlPWQuZGF0YSgpfHwiIjsiIiE9ZSYmKHguZGF0YShlKSx4LmFkZENsYXNzKCJycy0iK2IpLGQuY2hpbGRyZW4oMCkudW53cmFwKCksYy5kYXRhKCJsb29wYW5pbWF0aW9uIiwib24iKSl9KSxjLmF0dHIoImlkIik9PT11bmRlZmluZWQmJmMuYXR0cigiaWQiLCJsYXllci0iK01hdGgucm91bmQoOTk5OTk5OTk5Kk1hdGgucmFuZG9tKCkpKSxjaGVja0lEUyhiLGMpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHt2aXNpYmlsaXR5OiJoaWRkZW4ifSl9dmFyIHk9Yy5kYXRhKCJhY3Rpb25zIik7eSE9PXVuZGVmaW5lZCYmX1IuY2hlY2tBY3Rpb25zKGMsYix5KSxjaGVja0hvdmVyRGVwZW5kZW5jaWVzKGMsYiksX1IuY2hlY2tWaWRlb0FwaXMmJihwPV9SLmNoZWNrVmlkZW9BcGlzKGMsYixwKSksIV9JU018fGIuZmFsbGJhY2tzLmFsbG93SFRNTDVBdXRvUGxheU9uQW5kcm9pZCYmZ3x8KDEhPWUmJiJ0cnVlIiE9ZXx8KGQuYXV0b3BsYXlvbmx5Zmlyc3R0aW1lPSExLGU9ITEpLDEhPWYmJiJ0cnVlIiE9ZiYmIm9uIiE9ZiYmIjFzdHRpbWUiIT1mfHwoZC5hdXRvcGxheT0ib2ZmIixmPSJvZmYiKSksaHx8MSE9ZSYmInRydWUiIT1lJiYiMXN0dGltZSIhPWZ8fCJsb29wYW5kbm9zbGlkZXN0b3AiPT1pfHxjLmNsb3Nlc3QoImxpLnRwLXJldnNsaWRlci1zbGlkZXNsaSIpLmFkZENsYXNzKCJycy1wYXVzZS10aW1lci1vbmNlIiksaHx8MSE9ZiYmInRydWUiIT1mJiYib24iIT1mJiYibm8xc3R0aW1lIiE9Znx8Imxvb3BhbmRub3NsaWRlc3RvcCI9PWl8fGMuY2xvc2VzdCgibGkudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikuYWRkQ2xhc3MoInJzLXBhdXNlLXRpbWVyLWFsd2F5cyIpfSksYVswXS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWVudGVyIixmdW5jdGlvbigpe2EudHJpZ2dlcigidHAtbW91c2VlbnRlciIpLGIub3ZlcmNvbnRhaW5lcj0hMH0se3Bhc3NpdmU6ITB9KSxhWzBdLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlb3ZlciIsZnVuY3Rpb24oKXthLnRyaWdnZXIoInRwLW1vdXNlb3ZlciIpLGIub3ZlcmNvbnRhaW5lcj0hMH0se3Bhc3NpdmU6ITB9KSxhWzBdLmFkZEV2ZW50TGlzdGVuZXIoIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7YS50cmlnZ2VyKCJ0cC1tb3VzZWxlZnQiKSxiLm92ZXJjb250YWluZXI9ITF9LHtwYXNzaXZlOiEwfSksYS5maW5kKCIudHAtY2FwdGlvbiB2aWRlbyIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO2IucmVtb3ZlQ2xhc3MoInZpZGVvLWpzIHZqcy1kZWZhdWx0LXNraW4iKSxiLmF0dHIoInByZWxvYWQiLCIiKSxiLmNzcyh7ZGlzcGxheToibm9uZSJ9KX0pLCJzdGFuZGFyZCIhPT1iLnNsaWRlclR5cGUmJihiLmxhenlUeXBlPSJhbGwiKSxsb2FkSW1hZ2VzKGEuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSxiLDAsITApLHdhaXRGb3JDdXJyZW50SW1hZ2VzKGEuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSxiLGZ1bmN0aW9uKCl7YS5maW5kKCIudHAtc3RhdGljLWxheWVycyBpbWciKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGM9YS5kYXRhKCJsYXp5bG9hZCIpIT11bmRlZmluZWQ/YS5kYXRhKCJsYXp5bG9hZCIpOmEuYXR0cigic3JjIiksZD1nZXRMb2FkT2JqKGIsYyk7YS5hdHRyKCJzcmMiLGQuc3JjKX0pfSksYi5yb3d6b25lcz1bXSxiLmFsbGxpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGM9alF1ZXJ5KHRoaXMpO2Iucm93em9uZXNbYV09W10sYy5maW5kKCIucmV2X3Jvd196b25lIikuZWFjaChmdW5jdGlvbigpe2Iucm93em9uZXNbYV0ucHVzaChqUXVlcnkodGhpcykpfSksImFsbCIhPWIubGF6eVR5cGUmJigic21hcnQiIT1iLmxhenlUeXBlfHwwIT1hJiYxIT1hJiZhIT1iLnNsaWRlYW1vdW50JiZhIT1iLnNsaWRlYW1vdW50LTEpfHwobG9hZEltYWdlcyhjLGIsYSksd2FpdEZvckN1cnJlbnRJbWFnZXMoYyxiLGZ1bmN0aW9uKCl7fSkpfSk7dmFyIHE9Z2V0VXJsVmFycygiIyIpWzBdO2lmKHEubGVuZ3RoPDkmJnEuc3BsaXQoInNsaWRlIikubGVuZ3RoPjEpe3ZhciByPXBhcnNlSW50KHEuc3BsaXQoInNsaWRlIilbMV0sMCk7cjwxJiYocj0xKSxyPmIuc2xpZGVhbW91bnQmJihyPWIuc2xpZGVhbW91bnQpLGIuc3RhcnRXaXRoU2xpZGU9ci0xfWEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1sb2FkZXIgJytiLnNwaW5uZXIrJyI+PGRpdiBjbGFzcz0iZG90MSI+PC9kaXY+PGRpdiBjbGFzcz0iZG90MiI+PC9kaXY+PGRpdiBjbGFzcz0iYm91bmNlMSI+PC9kaXY+PGRpdiBjbGFzcz0iYm91bmNlMiI+PC9kaXY+PGRpdiBjbGFzcz0iYm91bmNlMyI+PC9kaXY+PC9kaXY+JyksYi5sb2FkZXI9YS5maW5kKCIudHAtbG9hZGVyIiksMD09PWEuZmluZCgiLnRwLWJhbm5lcnRpbWVyIikubGVuZ3RoJiZhLmFwcGVuZCgnPGRpdiBjbGFzcz0idHAtYmFubmVydGltZXIiIHN0eWxlPSJ2aXNpYmlsaXR5OmhpZGRlbiI+PC9kaXY+JyksYS5maW5kKCIudHAtYmFubmVydGltZXIiKS5jc3Moe3dpZHRoOiIwJSJ9KSxiLnVsLmNzcyh7ZGlzcGxheToiYmxvY2sifSkscHJlcGFyZVNsaWRlcyhhLGIpLCgib2ZmIiE9PWIucGFyYWxsYXgudHlwZXx8Yi5zY3JvbGxlZmZlY3Qub24pJiZfUi5jaGVja0ZvclBhcmFsbGF4JiZfUi5jaGVja0ZvclBhcmFsbGF4KGEsYiksX1Iuc2V0U2l6ZShiKSwiaGVybyIhPT1iLnNsaWRlclR5cGUmJl9SLmNyZWF0ZU5hdmlnYXRpb24mJl9SLmNyZWF0ZU5hdmlnYXRpb24oYSxiKSxfUi5yZXNpemVUaHVtYnNUYWJzJiZfUi5yZXNpemVUaHVtYnNUYWJzJiZfUi5yZXNpemVUaHVtYnNUYWJzKGIpLGNvbnRXaWR0aE1hbmFnZXIoYik7dmFyIHM9Yi52aWV3UG9ydDtiLmludmlld3BvcnQ9ITEscyE9dW5kZWZpbmVkJiZzLmVuYWJsZSYmKGpRdWVyeS5pc051bWVyaWMocy52aXNpYmxlX2FyZWEpfHwtMSE9PXMudmlzaWJsZV9hcmVhLmluZGV4T2YoIiUiKSYmKHMudmlzaWJsZV9hcmVhPXBhcnNlSW50KHMudmlzaWJsZV9hcmVhKS8xMDApLF9SLnNjcm9sbFRpY2tlciYmX1Iuc2Nyb2xsVGlja2VyKGIsYSkpLCJjYXJvdXNlbCI9PT1iLnNsaWRlclR5cGUmJl9SLnByZXBhcmVDYXJvdXNlbCYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChiLnVsLHtvcGFjaXR5OjB9KSxfUi5wcmVwYXJlQ2Fyb3VzZWwoYixuZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsdW5kZWZpbmVkLDApLGIub25seVByZXBhcmVkU2xpZGU9ITApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtpZighcy5lbmFibGV8fHMuZW5hYmxlJiZiLmludmlld3BvcnR8fHMuZW5hYmxlJiYhYi5pbnZpZXdwb3J0JiYid2FpdCI9PSFzLm91dG9mKXN3YXBTbGlkZShhKTtlbHNlIGlmKGIuYy5hZGRDbGFzcygidHAtd2FpdGZvcmZpcnN0c3RhcnQiKSxiLndhaXRGb3JGaXJzdFNsaWRlPSEwLHMucHJlc2l6ZSl7dmFyIGM9alF1ZXJ5KGIubGlbMF0pO2xvYWRJbWFnZXMoYyxiLDAsITApLHdhaXRGb3JDdXJyZW50SW1hZ2VzKGMuZmluZCgiLnRwLWxheWVycyIpLGIsZnVuY3Rpb24oKXtfUi5hbmltYXRlVGhlQ2FwdGlvbnMoe3NsaWRlOmMsb3B0OmIscHJlc2V0OiEwfSl9KX1fUi5tYW5hZ2VOYXZpZ2F0aW9uJiZfUi5tYW5hZ2VOYXZpZ2F0aW9uKGIpLGIuc2xpZGVhbW91bnQ+MSYmKCFzLmVuYWJsZXx8cy5lbmFibGUmJmIuaW52aWV3cG9ydD9jb3VudERvd24oYSxiKTpiLndhaXRGb3JDb3VudERvd249ITApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXthLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25sb2FkZWQiKX0sMTAwKX0sYi5zdGFydERlbGF5KSxiLnN0YXJ0RGVsYXk9MCxqUXVlcnkoImJvZHkiKS5kYXRhKCJycy1mdWxsU2NyZWVuTW9kZSIsITEpLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJmdWxsc2NyZWVuY2hhbmdlIixvbkZ1bGxTY3JlZW5DaGFuZ2Use3Bhc3NpdmU6ITB9KSx3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibW96ZnVsbHNjcmVlbmNoYW5nZSIsb25GdWxsU2NyZWVuQ2hhbmdlLHtwYXNzaXZlOiEwfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoIndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiLG9uRnVsbFNjcmVlbkNoYW5nZSx7cGFzc2l2ZTohMH0pO3ZhciB0PSJyZXNpemUucmV2c2xpZGVyLSIrYS5hdHRyKCJpZCIpO2pRdWVyeSh3aW5kb3cpLm9uKHQsZnVuY3Rpb24oKXtpZihhPT11bmRlZmluZWQpcmV0dXJuITE7MCE9alF1ZXJ5KCJib2R5IikuZmluZChhKSYmY29udFdpZHRoTWFuYWdlcihiKTt2YXIgYz0hMTtpZigiZnVsbHNjcmVlbiI9PWIuc2xpZGVyTGF5b3V0KXt2YXIgZD1qUXVlcnkod2luZG93KS5oZWlnaHQoKTsibW9iaWxlIj09Yi5mYWxsYmFja3MuaWdub3JlSGVpZ2h0Q2hhbmdlcyYmX0lTTXx8ImFsd2F5cyI9PWIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXM/KGIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXNTaXplPWIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXNTaXplPT11bmRlZmluZWQ/MDpiLmZhbGxiYWNrcy5pZ25vcmVIZWlnaHRDaGFuZ2VzU2l6ZSxjPWQhPWIubGFzdHdpbmRvd2hlaWdodCYmTWF0aC5hYnMoZC1iLmxhc3R3aW5kb3doZWlnaHQpPmIuZmFsbGJhY2tzLmlnbm9yZUhlaWdodENoYW5nZXNTaXplKTpjPWQhPWIubGFzdHdpbmRvd2hlaWdodH0oYS5vdXRlcldpZHRoKCEwKSE9Yi53aWR0aHx8YS5pcygiOmhpZGRlbiIpfHxjKSYmKGIubGFzdHdpbmRvd2hlaWdodD1qUXVlcnkod2luZG93KS5oZWlnaHQoKSxjb250YWluZXJSZXNpemVkKGEsYikpfSksaGlkZVNsaWRlclVuZGVyKGEsYiksY29udFdpZHRoTWFuYWdlcihiKSxiLmZhbGxiYWNrcy5kaXNhYmxlRm9jdXNMaXN0ZW5lcnx8InRydWUiPT1iLmZhbGxiYWNrcy5kaXNhYmxlRm9jdXNMaXN0ZW5lcnx8ITA9PT1iLmZhbGxiYWNrcy5kaXNhYmxlRm9jdXNMaXN0ZW5lcnx8KGEuYWRkQ2xhc3MoInJldl9yZWRyYXdfb25fYmx1cmZvY3VzIiksdGFiQmx1cnJpbmdDaGVjaygpKX19LGNBcnJheT1mdW5jdGlvbihhLGIpe2lmKCFqUXVlcnkuaXNBcnJheShhKSl7dmFyIGM9YTthPW5ldyBBcnJheSxhLnB1c2goYyl9aWYoYS5sZW5ndGg8Yilmb3IodmFyIGM9YVthLmxlbmd0aC0xXSxkPTA7ZDxiLWEubGVuZ3RoKzI7ZCsrKWEucHVzaChjKTtyZXR1cm4gYX0sY2hlY2tIb3ZlckRlcGVuZGVuY2llcz1mdW5jdGlvbihhLGIpe3ZhciBjPWEuZGF0YSgpOygic2xpZGVyZW50ZXIiPT09Yy5zdGFydHx8Yy5mcmFtZXMhPT11bmRlZmluZWQmJmMuZnJhbWVzWzBdIT11bmRlZmluZWQmJiJzbGlkZXJlbnRlciI9PT1jLmZyYW1lc1swXS5kZWxheSkmJihiLmxheWVyc29uaG92ZXI9PT11bmRlZmluZWQmJihiLmMub24oInRwLW1vdXNlZW50ZXIiLGZ1bmN0aW9uKCl7Yi5sYXllcnNvbmhvdmVyJiZqUXVlcnkuZWFjaChiLmxheWVyc29uaG92ZXIsZnVuY3Rpb24oYSxjKXt2YXIgZD1jLmRhdGEoImNsb3Nlc3RsaSIpfHxjLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKSxlPWMuZGF0YSgic3RhdGljbGkiKXx8Yy5jbG9zZXN0KCIudHAtc3RhdGljLWxheWVycyIpO2MuZGF0YSgiY2xvc2VzdGxpIik9PT11bmRlZmluZWQmJihjLmRhdGEoImNsb3Nlc3RsaSIsZCksYy5kYXRhKCJzdGF0aWNsaSIsZSkpLChkLmxlbmd0aD4wJiZkLmhhc0NsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKXx8ZC5oYXNDbGFzcygicHJvY2Vzc2luZy1yZXZzbGlkZSIpfHxlLmxlbmd0aD4wKSYmKGMuZGF0YSgiYW5pbWRpcmVjdGlvbiIsImluIiksX1IucGxheUFuaW1hdGlvbkZyYW1lJiZfUi5wbGF5QW5pbWF0aW9uRnJhbWUoe2NhcHRpb246YyxvcHQ6YixmcmFtZToiZnJhbWVfMCIsdHJpZ2dlcmRpcmVjdGlvbjoiaW4iLHRyaWdnZXJmcmFtZWluOiJmcmFtZV8wIix0cmlnZ2VyZnJhbWVvdXQ6ImZyYW1lXzk5OSJ9KSxjLmRhdGEoInRyaWdnZXJzdGF0ZSIsIm9uIikpfSl9KSxiLmMub24oInRwLW1vdXNlbGVmdCIsZnVuY3Rpb24oKXtiLmxheWVyc29uaG92ZXImJmpRdWVyeS5lYWNoKGIubGF5ZXJzb25ob3ZlcixmdW5jdGlvbihhLGMpe2MuZGF0YSgiYW5pbWRpcmVjdGlvbiIsIm91dCIpLGMuZGF0YSgidHJpZ2dlcmVkIiwhMCksYy5kYXRhKCJ0cmlnZ2Vyc3RhdGUiLCJvZmYiKSxfUi5zdG9wVmlkZW8mJl9SLnN0b3BWaWRlbyhjLGIpLF9SLnBsYXlBbmltYXRpb25GcmFtZSYmX1IucGxheUFuaW1hdGlvbkZyYW1lKHtjYXB0aW9uOmMsb3B0OmIsZnJhbWU6ImZyYW1lXzk5OSIsdHJpZ2dlcmRpcmVjdGlvbjoib3V0Iix0cmlnZ2VyZnJhbWVpbjoiZnJhbWVfMCIsdHJpZ2dlcmZyYW1lb3V0OiJmcmFtZV85OTkifSl9KX0pLGIubGF5ZXJzb25ob3Zlcj1uZXcgQXJyYXkpLGIubGF5ZXJzb25ob3Zlci5wdXNoKGEpKX0sY29udFdpZHRoTWFuYWdlcj1mdW5jdGlvbihhKXt2YXIgYj1fUi5nZXRIb3Jpem9udGFsT2Zmc2V0KGEuYywibGVmdCIpO2lmKCJhdXRvIj09YS5zbGlkZXJMYXlvdXR8fCJmdWxsc2NyZWVuIj09PWEuc2xpZGVyTGF5b3V0JiYib24iPT1hLmZ1bGxTY3JlZW5BdXRvV2lkdGgpImZ1bGxzY3JlZW4iPT1hLnNsaWRlckxheW91dCYmIm9uIj09YS5mdWxsU2NyZWVuQXV0b1dpZHRoP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChhLnVsLHtsZWZ0OjAsd2lkdGg6YS5jLndpZHRoKCl9KTpwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS51bCx7bGVmdDpiLHdpZHRoOmEuYy53aWR0aCgpLV9SLmdldEhvcml6b250YWxPZmZzZXQoYS5jLCJib3RoIil9KTtlbHNle3ZhciBjPU1hdGguY2VpbChhLmMuY2xvc2VzdCgiLmZvcmNlZnVsbHdpZHRoX3dyYXBwZXJfdHBfYmFubmVyIikub2Zmc2V0KCkubGVmdC1iKTtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5jLnBhcmVudCgpLHtsZWZ0OjAtYysicHgiLHdpZHRoOmpRdWVyeSh3aW5kb3cpLndpZHRoKCktX1IuZ2V0SG9yaXpvbnRhbE9mZnNldChhLmMsImJvdGgiKX0pfWEuc2xheWVycyYmImZ1bGx3aWR0aCIhPWEuc2xpZGVyTGF5b3V0JiYiZnVsbHNjcmVlbiIhPWEuc2xpZGVyTGF5b3V0JiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5zbGF5ZXJzLHtsZWZ0OmJ9KX0sY3Y9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT09PXVuZGVmaW5lZD9iOmF9LGhpZGVTbGlkZXJVbmRlcj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5wYXJlbnQoKTtqUXVlcnkod2luZG93KS53aWR0aCgpPGIuaGlkZVNsaWRlckF0TGltaXQ/KGEudHJpZ2dlcigic3RvcHRpbWVyIiksIm5vbmUiIT1kLmNzcygiZGlzcGxheSIpJiZkLmRhdGEoIm9sZGRpc3BsYXkiLGQuY3NzKCJkaXNwbGF5IikpLGQuY3NzKHtkaXNwbGF5OiJub25lIn0pKTphLmlzKCI6aGlkZGVuIikmJmMmJihkLmRhdGEoIm9sZGRpc3BsYXkiKSE9dW5kZWZpbmVkJiYidW5kZWZpbmVkIiE9ZC5kYXRhKCJvbGRkaXNwbGF5IikmJiJub25lIiE9ZC5kYXRhKCJvbGRkaXNwbGF5Iik/ZC5jc3Moe2Rpc3BsYXk6ZC5kYXRhKCJvbGRkaXNwbGF5Iil9KTpkLmNzcyh7ZGlzcGxheToiYmxvY2sifSksYS50cmlnZ2VyKCJyZXN0YXJ0dGltZXIiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Y29udGFpbmVyUmVzaXplZChhLGIpfSwxNTApKSxfUi5oaWRlVW5IaWRlTmF2JiZfUi5oaWRlVW5IaWRlTmF2KGIpfSxjb250YWluZXJSZXNpemVkPWZ1bmN0aW9uKGEsYil7aWYoYS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLmJlZm9yZXJlZHJhdyIpLDE9PWIuaW5mdWxsc2NyZWVubW9kZSYmKGIubWluSGVpZ2h0PWpRdWVyeSh3aW5kb3cpLmhlaWdodCgpKSxzZXRDdXJXaW5SYW5nZShiKSxzZXRDdXJXaW5SYW5nZShiLCEwKSwhX1IucmVzaXplVGh1bWJzVGFic3x8ITA9PT1fUi5yZXNpemVUaHVtYnNUYWJzKGIpKXtpZihoaWRlU2xpZGVyVW5kZXIoYSxiLCEwKSxjb250V2lkdGhNYW5hZ2VyKGIpLCJjYXJvdXNlbCI9PWIuc2xpZGVyVHlwZSYmX1IucHJlcGFyZUNhcm91c2VsKGIsITApLGE9PT11bmRlZmluZWQpcmV0dXJuITE7X1Iuc2V0U2l6ZShiKSxiLmNvbnc9Yi5jLndpZHRoKCksYi5jb25oPWIuaW5mdWxsc2NyZWVubW9kZT9iLm1pbkhlaWdodDpiLmMuaGVpZ2h0KCk7dmFyIGM9YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIC5zbG90aG9sZGVyIiksZD1hLmZpbmQoIi5wcm9jZXNzaW5nLXJldnNsaWRlIC5zbG90aG9sZGVyIik7cmVtb3ZlU2xvdHMoYSxiLGEsMiksInN0YW5kYXJkIj09PWIuc2xpZGVyVHlwZSYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChkLmZpbmQoIi5kZWZhdWx0aW1nIikse29wYWNpdHk6MH0pLGMuZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MX0pKSwiY2Fyb3VzZWwiPT09Yi5zbGlkZXJUeXBlJiZiLmxhc3Rjb253IT1iLmNvbncmJihjbGVhclRpbWVvdXQoYi5wY2FydGltZXIpLGIucGNhcnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtfUi5wcmVwYXJlQ2Fyb3VzZWwoYiwhMCksImNhcm91c2VsIj09Yi5zbGlkZXJUeXBlJiYib24iPT09Yi5jYXJvdXNlbC5zaG93TGF5ZXJzQWxsVGltZSYmalF1ZXJ5LmVhY2goYi5saSxmdW5jdGlvbihhKXtfUi5hbmltYXRlVGhlQ2FwdGlvbnMoe3NsaWRlOmpRdWVyeShiLmxpW2FdKSxvcHQ6YixyZWNhbGw6ITB9KX0pfSwxMDApLGIubGFzdGNvbnc9Yi5jb253KSxfUi5tYW5hZ2VOYXZpZ2F0aW9uJiZfUi5tYW5hZ2VOYXZpZ2F0aW9uKGIpLF9SLmFuaW1hdGVUaGVDYXB0aW9ucyYmYS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikubGVuZ3RoPjAmJl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksb3B0OmIscmVjYWxsOiEwfSksIm9uIj09ZC5kYXRhKCJrZW5idXJucyIpJiZfUi5zdGFydEtlbkJ1cm4oZCxiLGQuZGF0YSgia2J0bCIpIT09dW5kZWZpbmVkP2QuZGF0YSgia2J0bCIpLnByb2dyZXNzKCk6MCksIm9uIj09Yy5kYXRhKCJrZW5idXJucyIpJiZfUi5zdGFydEtlbkJ1cm4oYyxiLGMuZGF0YSgia2J0bCIpIT09dW5kZWZpbmVkP2MuZGF0YSgia2J0bCIpLnByb2dyZXNzKCk6MCksX1IuYW5pbWF0ZVRoZUNhcHRpb25zJiZhLmZpbmQoIi5wcm9jZXNzaW5nLXJldnNsaWRlIikubGVuZ3RoPjAmJl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6YS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLG9wdDpiLHJlY2FsbDohMH0pLF9SLm1hbmFnZU5hdmlnYXRpb24mJl9SLm1hbmFnZU5hdmlnYXRpb24oYil9YS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLmFmdGVyZHJhdyIpfSxzZXRTY2FsZT1mdW5jdGlvbihhKXthLmJ3PWEud2lkdGgvYS5ncmlkd2lkdGhbYS5jdXJXaW5SYW5nZV0sYS5iaD1hLmhlaWdodC9hLmdyaWRoZWlnaHRbYS5jdXJXaW5SYW5nZV0sYS5iaD5hLmJ3P2EuYmg9YS5idzphLmJ3PWEuYmgsKGEuYmg+MXx8YS5idz4xKSYmKGEuYnc9MSxhLmJoPTEpfSxwcmVwYXJlU2xpZGVzPWZ1bmN0aW9uKGEsYil7aWYoYS5maW5kKCIudHAtY2FwdGlvbiIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5kYXRhKCJ0cmFuc2l0aW9uIikhPT11bmRlZmluZWQmJmEuYWRkQ2xhc3MoYS5kYXRhKCJ0cmFuc2l0aW9uIikpfSksYi51bC5jc3Moe292ZXJmbG93OiJoaWRkZW4iLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG1heEhlaWdodDphLnBhcmVudCgpLmNzcygibWF4SGVpZ2h0Iil9KSwib24iPT1iLmF1dG9IZWlnaHQmJihiLnVsLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiIsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsbWF4SGVpZ2h0OiJub25lIn0pLGEuY3NzKHttYXhIZWlnaHQ6Im5vbmUifSksYS5wYXJlbnQoKS5jc3Moe21heEhlaWdodDoibm9uZSJ9KSksYi5hbGxsaS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBjPWpRdWVyeSh0aGlzKSxkPWMuZGF0YSgib3JpZ2luYWxpbmRleCIpOyhiLnN0YXJ0V2l0aFNsaWRlIT11bmRlZmluZWQmJmQ9PWIuc3RhcnRXaXRoU2xpZGV8fGIuc3RhcnRXaXRoU2xpZGU9PT11bmRlZmluZWQmJjA9PWEpJiZjLmFkZENsYXNzKCJuZXh0LXJldnNsaWRlIiksYy5jc3Moe3dpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4ifSl9KSwiY2Fyb3VzZWwiPT09Yi5zbGlkZXJUeXBlKXtiLnVsLmNzcyh7b3ZlcmZsb3c6InZpc2libGUifSkud3JhcCgnPGRpdiBjbGFzcz0idHAtY2Fyb3VzZWwtd3JhcHBlciIgc3R5bGU9IndpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDtvdmVyZmxvdzpoaWRkZW47Ij48L2Rpdj4nKTt2YXIgYz0nPGRpdiBzdHlsZT0iY2xlYXI6Ym90aDtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjFweDtwb3NpdGlvbjpyZWxhdGl2ZTttYXJnaW4tYm90dG9tOi0xcHgiPjwvZGl2Pic7Yi5jLnBhcmVudCgpLnByZXBlbmQoYyksYi5jLnBhcmVudCgpLmFwcGVuZChjKSxfUi5wcmVwYXJlQ2Fyb3VzZWwoYil9YS5wYXJlbnQoKS5jc3Moe292ZXJmbG93OiJ2aXNpYmxlIn0pLGIuYWxsbGkuZmluZCgiPmltZyIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGM9alF1ZXJ5KHRoaXMpLGQ9Yy5jbG9zZXN0KCJsaSIpLGU9ZC5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpO2UuYWRkQ2xhc3MoImRlZmF1bHR2aWQiKS5jc3Moe3pJbmRleDozMH0pLGMuYWRkQ2xhc3MoImRlZmF1bHRpbWciKSwib24iPT1iLmZhbGxiYWNrcy5wYW5ab29tRGlzYWJsZU9uTW9iaWxlJiZfSVNNJiYoYy5kYXRhKCJrZW5idXJucyIsIm9mZiIpLGMuZGF0YSgiYmdmaXQiLCJjb3ZlciIpKTt2YXIgZj1kLmRhdGEoIm1lZGlhZmlsdGVyIik7Zj0ibm9uZSI9PT1mfHxmPT09dW5kZWZpbmVkPyIiOmYsYy53cmFwKCc8ZGl2IGNsYXNzPSJzbG90aG9sZGVyIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7IHRvcDowcHg7IGxlZnQ6MHB4OyB6LWluZGV4OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsiPjwvZGl2PicpLGUuYXBwZW5kVG8oZC5maW5kKCIuc2xvdGhvbGRlciIpKTt2YXIgZz1jLmRhdGEoKTtjLmNsb3Nlc3QoIi5zbG90aG9sZGVyIikuZGF0YShnKSxlLmxlbmd0aD4wJiZnLmJncGFyYWxsYXghPXVuZGVmaW5lZCYmKGUuZGF0YSgiYmdwYXJhbGxheCIsZy5iZ3BhcmFsbGF4KSxlLmRhdGEoInNob3djb3Zlcm9ucGF1c2UiLCJvbiIpKSwibm9uZSIhPWIuZG90dGVkT3ZlcmxheSYmYi5kb3R0ZWRPdmVybGF5IT11bmRlZmluZWQmJmMuY2xvc2VzdCgiLnNsb3Rob2xkZXIiKS5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLWRvdHRlZG92ZXJsYXkgJytiLmRvdHRlZE92ZXJsYXkrJyI+PC9kaXY+Jyk7dmFyIGg9Yy5hdHRyKCJzcmMiKTtnLnNyYz1oLGcuYmdmaXQ9Zy5iZ2ZpdHx8ImNvdmVyIixnLmJncmVwZWF0PWcuYmdyZXBlYXR8fCJuby1yZXBlYXQiLGcuYmdwb3NpdGlvbj1nLmJncG9zaXRpb258fCJjZW50ZXIgY2VudGVyIjt2YXIgaj0oYy5jbG9zZXN0KCIuc2xvdGhvbGRlciIpLGMuZGF0YSgiYmdjb2xvciIpKSxrPSIiO2s9aiE9PXVuZGVmaW5lZCYmai5pbmRleE9mKCJncmFkaWVudCIpPj0wPyciYmFja2dyb3VuZDonK2orJzt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOyInOiciYmFja2dyb3VuZC1jb2xvcjonK2orIjtiYWNrZ3JvdW5kLXJlcGVhdDoiK2cuYmdyZXBlYXQrIjtiYWNrZ3JvdW5kLWltYWdlOnVybCgiK2grIik7YmFja2dyb3VuZC1zaXplOiIrZy5iZ2ZpdCsiO2JhY2tncm91bmQtcG9zaXRpb246IitnLmJncG9zaXRpb24rJzt3aWR0aDoxMDAlO2hlaWdodDoxMDAlOyInLGMuZGF0YSgibWVkaWFmaWx0ZXIiLGYpLGY9Im9uIj09PWMuZGF0YSgia2VuYnVybnMiKT8iIjpmO3ZhciBsPWpRdWVyeSgnPGRpdiBjbGFzcz0idHAtYmdpbWcgZGVmYXVsdGltZyAnK2YrJyIgZGF0YS1iZ2NvbG9yPSInK2orJyIgc3R5bGU9JytrKyI+PC9kaXY+Iik7Yy5wYXJlbnQoKS5hcHBlbmQobCk7dmFyIG09ZG9jdW1lbnQuY3JlYXRlQ29tbWVudCgiUnVudGltZSBNb2RpZmljYXRpb24gLSBJbWcgdGFnIGlzIFN0aWxsIEF2YWlsYWJsZSBmb3IgU0VPIEdvYWxzIGluIFNvdXJjZSAtICIrYy5nZXQoMCkub3V0ZXJIVE1MKTtjLnJlcGxhY2VXaXRoKG0pLGwuZGF0YShnKSxsLmF0dHIoInNyYyIsaCksInN0YW5kYXJkIiE9PWIuc2xpZGVyVHlwZSYmInVuZGVmaW5lZCIhPT1iLnNsaWRlclR5cGV8fGwuY3NzKHtvcGFjaXR5OjB9KX0pLGIuc2Nyb2xsZWZmZWN0Lm9uJiYib24iPT09Yi5zY3JvbGxlZmZlY3Qub25fc2xpZGViZyYmKGIuYWxsc2xvdGhvbGRlcj1uZXcgQXJyYXksYi5hbGxsaS5maW5kKCIuc2xvdGhvbGRlciIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykud3JhcCgnPGRpdiBzdHlsZT0iZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCUiIGNsYXNzPSJzbG90aG9sZGVyX2ZhZGVvdXR3cmFwIj48L2Rpdj4nKX0pLGIuYWxsc2xvdGhvbGRlcj1iLmMuZmluZCgiLnNsb3Rob2xkZXJfZmFkZW91dHdyYXAiKSl9LHJlbW92ZVNsb3RzPWZ1bmN0aW9uKGEsYixjLGQpe2IucmVtb3ZlUHJlcGFyZT1iLnJlbW92ZVByZXBhcmUrZCxjLmZpbmQoIi5zbG90LCAuc2xvdC1jaXJjbGUtd3JhcHBlciIpLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykucmVtb3ZlKCl9KSxiLnRyYW5zaXRpb249MCxiLnJlbW92ZVByZXBhcmU9MH0sY3V0UGFyYW1zPWZ1bmN0aW9uKGEpe3ZhciBiPWE7cmV0dXJuIGEhPXVuZGVmaW5lZCYmYS5sZW5ndGg+MCYmKGI9YS5zcGxpdCgiPyIpWzBdKSxifSxyZWxhdGl2ZVJlZGlyPWZ1bmN0aW9uKGEpe3JldHVybiBsb2NhdGlvbi5wYXRobmFtZS5yZXBsYWNlKC8oLiopXC9bXlwvXSovLCIkMS8iK2EpfSxhYnN0b3JlbD1mdW5jdGlvbihhLGIpe3ZhciBjPWEuc3BsaXQoIi8iKSxkPWIuc3BsaXQoIi8iKTtjLnBvcCgpO2Zvcih2YXIgZT0wO2U8ZC5sZW5ndGg7ZSsrKSIuIiE9ZFtlXSYmKCIuLiI9PWRbZV0/Yy5wb3AoKTpjLnB1c2goZFtlXSkpO3JldHVybiBjLmpvaW4oIi8iKX0saW1nTG9hZGVkPWZ1bmN0aW9uKGEsYixjKXtiLnN5bmNsb2FkLS0sYi5sb2FkcXVldWUmJmpRdWVyeS5lYWNoKGIubG9hZHF1ZXVlLGZ1bmN0aW9uKGIsZCl7dmFyIGU9ZC5zcmMucmVwbGFjZSgvXC5cLlwvXC5cLlwvL2dpLCIiKSxmPXNlbGYubG9jYXRpb24uaHJlZixnPWRvY3VtZW50LmxvY2F0aW9uLm9yaWdpbixoPWYuc3Vic3RyaW5nKDAsZi5sZW5ndGgtMSkrIi8iK2UsaT1nKyIvIitlLGo9YWJzdG9yZWwoc2VsZi5sb2NhdGlvbi5ocmVmLGQuc3JjKTtmPWYuc3Vic3RyaW5nKDAsZi5sZW5ndGgtMSkrZSxnKz1lLChjdXRQYXJhbXMoZyk9PT1jdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGEuc3JjKSl8fGN1dFBhcmFtcyhmKT09PWN1dFBhcmFtcyhkZWNvZGVVUklDb21wb25lbnQoYS5zcmMpKXx8Y3V0UGFyYW1zKGopPT09Y3V0UGFyYW1zKGRlY29kZVVSSUNvbXBvbmVudChhLnNyYykpfHxjdXRQYXJhbXMoaSk9PT1jdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGEuc3JjKSl8fGN1dFBhcmFtcyhoKT09PWN1dFBhcmFtcyhkZWNvZGVVUklDb21wb25lbnQoYS5zcmMpKXx8Y3V0UGFyYW1zKGQuc3JjKT09PWN1dFBhcmFtcyhkZWNvZGVVUklDb21wb25lbnQoYS5zcmMpKXx8Y3V0UGFyYW1zKGQuc3JjKS5yZXBsYWNlKC9eLipcL1wvW15cL10rLywiIik9PT1jdXRQYXJhbXMoZGVjb2RlVVJJQ29tcG9uZW50KGEuc3JjKSkucmVwbGFjZSgvXi4qXC9cL1teXC9dKy8sIiIpfHwiZmlsZTovLyI9PT13aW5kb3cubG9jYXRpb24ub3JpZ2luJiZjdXRQYXJhbXMoYS5zcmMpLm1hdGNoKG5ldyBSZWdFeHAoZSkpKSYmKGQucHJvZ3Jlc3M9YyxkLndpZHRoPWEud2lkdGgsZC5oZWlnaHQ9YS5oZWlnaHQpfSkscHJvZ3Jlc3NJbWFnZUxvYWQoYil9LHByb2dyZXNzSW1hZ2VMb2FkPWZ1bmN0aW9uKGEpezMhPWEuc3luY2xvYWQmJmEubG9hZHF1ZXVlJiZqUXVlcnkuZWFjaChhLmxvYWRxdWV1ZSxmdW5jdGlvbihiLGMpe2lmKGMucHJvZ3Jlc3MubWF0Y2goL3ByZXBhcmVkL2cpJiZhLnN5bmNsb2FkPD0zKXtpZihhLnN5bmNsb2FkKyssImltZyI9PWMudHlwZSl7dmFyIGQ9bmV3IEltYWdlO2Qub25sb2FkPWZ1bmN0aW9uKCl7aW1nTG9hZGVkKHRoaXMsYSwibG9hZGVkIiksYy5lcnJvcj0hMX0sZC5vbmVycm9yPWZ1bmN0aW9uKCl7aW1nTG9hZGVkKHRoaXMsYSwiZmFpbGVkIiksYy5lcnJvcj0hMH0sZC5zcmM9Yy5zcmN9ZWxzZSBqUXVlcnkuZ2V0KGMuc3JjLGZ1bmN0aW9uKGIpe2MuaW5uZXJIVE1MPShuZXcgWE1MU2VyaWFsaXplcikuc2VyaWFsaXplVG9TdHJpbmcoYi5kb2N1bWVudEVsZW1lbnQpLGMucHJvZ3Jlc3M9ImxvYWRlZCIsYS5zeW5jbG9hZC0tLHByb2dyZXNzSW1hZ2VMb2FkKGEpfSkuZmFpbChmdW5jdGlvbigpe2MucHJvZ3Jlc3M9ImZhaWxlZCIsYS5zeW5jbG9hZC0tLHByb2dyZXNzSW1hZ2VMb2FkKGEpfSk7Yy5wcm9ncmVzcz0iaW5sb2FkIn19KX0sYWRkVG9Mb2FkUXVldWU9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0hMTtpZihiLmxvYWRxdWV1ZSYmalF1ZXJ5LmVhY2goYi5sb2FkcXVldWUsZnVuY3Rpb24oYixjKXtjLnNyYz09PWEmJihmPSEwKX0pLCFmKXt2YXIgZz1uZXcgT2JqZWN0O2cuc3JjPWEsZy5zdGFydHRvbG9hZD1qUXVlcnkubm93KCksZy50eXBlPWR8fCJpbWciLGcucHJpbz1jLGcucHJvZ3Jlc3M9InByZXBhcmVkIixnLnN0YXRpYz1lLGIubG9hZHF1ZXVlLnB1c2goZyl9fSxsb2FkSW1hZ2VzPWZ1bmN0aW9uKGEsYixjLGQpe2EuZmluZCgiaW1nLC5kZWZhdWx0aW1nLCAudHAtc3ZnLWxheWVyIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKSxlPWEuZGF0YSgibGF6eWxvYWQiKSE9PXVuZGVmaW5lZCYmInVuZGVmaW5lZCIhPT1hLmRhdGEoImxhenlsb2FkIik/YS5kYXRhKCJsYXp5bG9hZCIpOmEuZGF0YSgic3ZnX3NyYyIpIT11bmRlZmluZWQ/YS5kYXRhKCJzdmdfc3JjIik6YS5hdHRyKCJzcmMiKSxmPWEuZGF0YSgic3ZnX3NyYyIpIT11bmRlZmluZWQ/InN2ZyI6ImltZyI7YS5kYXRhKCJzdGFydC10by1sb2FkIixqUXVlcnkubm93KCkpLGFkZFRvTG9hZFF1ZXVlKGUsYixjLGYsZCl9KSxwcm9ncmVzc0ltYWdlTG9hZChiKX0sZ2V0TG9hZE9iaj1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBPYmplY3Q7cmV0dXJuIGEubG9hZHF1ZXVlJiZqUXVlcnkuZWFjaChhLmxvYWRxdWV1ZSxmdW5jdGlvbihhLGQpe2Quc3JjPT1iJiYoYz1kKX0pLGN9LHdhaXRGb3JDdXJyZW50SW1hZ2VzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD0hMTthLmZpbmQoImltZywuZGVmYXVsdGltZywgLnRwLXN2Zy1sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1qUXVlcnkodGhpcyksZT1jLmRhdGEoImxhenlsb2FkIikhPXVuZGVmaW5lZD9jLmRhdGEoImxhenlsb2FkIik6Yy5kYXRhKCJzdmdfc3JjIikhPXVuZGVmaW5lZD9jLmRhdGEoInN2Z19zcmMiKTpjLmF0dHIoInNyYyIpLGY9Z2V0TG9hZE9iaihiLGUpO2lmKGMuZGF0YSgibG9hZGVkIik9PT11bmRlZmluZWQmJmYhPT11bmRlZmluZWQmJmYucHJvZ3Jlc3MmJmYucHJvZ3Jlc3MubWF0Y2goL2xvYWRlZC9nKSl7aWYoYy5hdHRyKCJzcmMiLGYuc3JjKSwiaW1nIj09Zi50eXBlKWlmKGMuaGFzQ2xhc3MoImRlZmF1bHRpbWciKSlfUi5pc0lFKDgpP2RlZmltZy5hdHRyKCJzcmMiLGYuc3JjKTotMT09Zi5zcmMuaW5kZXhPZigiaW1hZ2VzL3RyYW5zcGFyZW50LnBuZyIpJiYtMT09Zi5zcmMuaW5kZXhPZigiYXNzZXRzL3RyYW5zcGFyZW50LnBuZyIpfHxjLmRhdGEoImJnY29sb3IiKT09PXVuZGVmaW5lZD9jLmNzcyh7YmFja2dyb3VuZEltYWdlOid1cmwoIicrZi5zcmMrJyIpJ30pOmMuZGF0YSgiYmdjb2xvciIpIT09dW5kZWZpbmVkJiZjLmNzcyh7YmFja2dyb3VuZDpjLmRhdGEoImJnY29sb3IiKX0pLGEuZGF0YSgib3dpZHRoIixmLndpZHRoKSxhLmRhdGEoIm9oZWlnaHQiLGYuaGVpZ2h0KSxhLmZpbmQoIi5zbG90aG9sZGVyIikuZGF0YSgib3dpZHRoIixmLndpZHRoKSxhLmZpbmQoIi5zbG90aG9sZGVyIikuZGF0YSgib2hlaWdodCIsZi5oZWlnaHQpO2Vsc2V7dmFyIGc9Yy5kYXRhKCJ3dyIpLGg9Yy5kYXRhKCJoaCIpO2MuZGF0YSgib3dpZHRoIixmLndpZHRoKSxjLmRhdGEoIm9oZWlnaHQiLGYuaGVpZ2h0KSxnPWc9PXVuZGVmaW5lZHx8ImF1dG8iPT1nfHwiIj09Zz9mLndpZHRoOmcsaD1oPT11bmRlZmluZWR8fCJhdXRvIj09aHx8IiI9PWg/Zi5oZWlnaHQ6aCwhalF1ZXJ5LmlzTnVtZXJpYyhnKSYmZy5pbmRleE9mKCIlIik+MCYmKGg9ZyksYy5kYXRhKCJ3dyIsZyksYy5kYXRhKCJoaCIsaCl9ZWxzZSJzdmciPT1mLnR5cGUmJiJsb2FkZWQiPT1mLnByb2dyZXNzJiYoYy5hcHBlbmQoJzxkaXYgY2xhc3M9InRwLXN2Zy1pbm5lcmNvbnRhaW5lciI+PC9kaXY+JyksYy5maW5kKCIudHAtc3ZnLWlubmVyY29udGFpbmVyIikuYXBwZW5kKGYuaW5uZXJIVE1MKSk7Yy5kYXRhKCJsb2FkZWQiLCEwKX1pZihmJiZmLnByb2dyZXNzJiZmLnByb2dyZXNzLm1hdGNoKC9pbnByb2dyZXNzfGlubG9hZHxwcmVwYXJlZC9nKSYmKCFmLmVycm9yJiZqUXVlcnkubm93KCktYy5kYXRhKCJzdGFydC10by1sb2FkIik8NWUzP2Q9ITA6KGYucHJvZ3Jlc3M9ImZhaWxlZCIsZi5yZXBvcnRlZF9pbWd8fChmLnJlcG9ydGVkX2ltZz0hMCxjb25zb2xlLndhcm4oZSsiICBDb3VsZCBub3QgYmUgbG9hZGVkICEiKSkpKSwxPT1iLnlvdXR1YmVhcGluZWVkZWQmJighd2luZG93LllUfHxZVC5QbGF5ZXI9PXVuZGVmaW5lZCkmJihkPSEwLGpRdWVyeS5ub3coKS1iLnlvdXR1YmVzdGFydHRpbWU+NWUzJiYxIT1iLnlvdXR1YmV3YXJuaW5nKSl7Yi55b3V0dWJld2FybmluZz0hMDt2YXIgaT0iWW91VHViZSBBcGkgQ291bGQgbm90IGJlIGxvYWRlZCAhIjsiaHR0cHM6Ij09PWxvY2F0aW9uLnByb3RvY29sJiYoaSs9IiBQbGVhc2UgQ2hlY2sgYW5kIFJlbmV3IFNTTCBDZXJ0aWZpY2F0ZSAhIiksY29uc29sZS5lcnJvcihpKSxiLmMuYXBwZW5kKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7Y29sb3I6I2U3NGMzYzsgIGZvbnQtc2l6ZToxNnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzoxNXB4O2JhY2tncm91bmQ6IzAwMDsgZGlzcGxheTpibG9jazsiPjxzdHJvbmc+JytpKyI8L3N0cm9uZz48L2Rpdj4iKX1pZigxPT1iLnZpbWVvYXBpbmVlZGVkJiYhd2luZG93LkZyb29nYWxvb3AmJihkPSEwLGpRdWVyeS5ub3coKS1iLnZpbWVvc3RhcnR0aW1lPjVlMyYmMSE9Yi52aW1lb3dhcm5pbmcpKXtiLnZpbWVvd2FybmluZz0hMDt2YXIgaT0iVmltZW8gRnJvb2dhbG9vcCBBcGkgQ291bGQgbm90IGJlIGxvYWRlZCAhIjsiaHR0cHM6Ij09PWxvY2F0aW9uLnByb3RvY29sJiYoaSs9IiBQbGVhc2UgQ2hlY2sgYW5kIFJlbmV3IFNTTCBDZXJ0aWZpY2F0ZSAhIiksY29uc29sZS5lcnJvcihpKSxiLmMuYXBwZW5kKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO3dpZHRoOjEwMCU7Y29sb3I6I2U3NGMzYzsgIGZvbnQtc2l6ZToxNnB4OyB0ZXh0LWFsaWduOmNlbnRlcjsgcGFkZGluZzoxNXB4O2JhY2tncm91bmQ6IzAwMDsgZGlzcGxheTpibG9jazsiPjxzdHJvbmc+JytpKyI8L3N0cm9uZz48L2Rpdj4iKX19KSwhX0lTTSYmYi5hdWRpb3F1ZXVlJiZiLmF1ZGlvcXVldWUubGVuZ3RoPjAmJmpRdWVyeS5lYWNoKGIuYXVkaW9xdWV1ZSxmdW5jdGlvbihhLGIpe2Iuc3RhdHVzJiYicHJlcGFyZWQiPT09Yi5zdGF0dXMmJmpRdWVyeS5ub3coKS1iLnN0YXJ0PGIud2FpdHRpbWUmJihkPSEwKX0pLGpRdWVyeS5lYWNoKGIubG9hZHF1ZXVlLGZ1bmN0aW9uKGEsYil7ITAhPT1iLnN0YXRpY3x8ImxvYWRlZCI9PWIucHJvZ3Jlc3MmJiJmYWlsZWQiIT09Yi5wcm9ncmVzc3x8KCJmYWlsZWQiPT1iLnByb2dyZXNzP2IucmVwb3J0ZWR8fChiLnJlcG9ydGVkPSEwLGNvbnNvbGUud2FybigiU3RhdGljIEltYWdlICIrYi5zcmMrIiAgQ291bGQgbm90IGJlIGxvYWRlZCBpbiB0aW1lLiBFcnJvciBFeGlzdHM6IitiLmVycm9yKSk6IWIuZXJyb3ImJmpRdWVyeS5ub3coKS1iLnN0YXJ0dG9sb2FkPDVlMz9kPSEwOmIucmVwb3J0ZWR8fChiLnJlcG9ydGVkPSEwLGNvbnNvbGUud2FybigiU3RhdGljIEltYWdlICIrYi5zcmMrIiAgQ291bGQgbm90IGJlIGxvYWRlZCB3aXRoaW4gNXMhIEVycm9yIEV4aXN0czoiK2IuZXJyb3IpKSl9KSxkP3B1bmNoZ3MuVHdlZW5MaXRlLmRlbGF5ZWRDYWxsKC4xOCx3YWl0Rm9yQ3VycmVudEltYWdlcyxbYSxiLGNdKTpwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbCguMTgsYyl9LHN3YXBTbGlkZT1mdW5jdGlvbihhKXt2YXIgYj1hWzBdLm9wdDtpZihjbGVhclRpbWVvdXQoYi53YWl0V2l0aFN3YXBTbGlkZSksYS5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLmxlbmd0aD4wKXJldHVybiBiLndhaXRXaXRoU3dhcFNsaWRlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtzd2FwU2xpZGUoYSl9LDE1MCksITE7dmFyIGM9YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksZD1hLmZpbmQoIi5uZXh0LXJldnNsaWRlIiksZT1kLmZpbmQoIi5kZWZhdWx0aW1nIik7aWYoImNhcm91c2VsIiE9PWIuc2xpZGVyVHlwZXx8Yi5jYXJvdXNlbC5mYWRlaW58fChwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLnVsLDEse29wYWNpdHk6MX0pLGIuY2Fyb3VzZWwuZmFkZWluPSEwKSxkLmluZGV4KCk9PT1jLmluZGV4KCkmJiEwIT09Yi5vbmx5UHJlcGFyZWRTbGlkZSlyZXR1cm4gZC5yZW1vdmVDbGFzcygibmV4dC1yZXZzbGlkZSIpLCExOyEwPT09Yi5vbmx5UHJlcGFyZWRTbGlkZSYmKGIub25seVByZXBhcmVkU2xpZGU9ITEsalF1ZXJ5KGIubGlbMF0pLmFkZENsYXNzKCJwcm9jZXNzaW5nLXJldnNsaWRlIikpLGQucmVtb3ZlQ2xhc3MoIm5leHQtcmV2c2xpZGUiKS5hZGRDbGFzcygicHJvY2Vzc2luZy1yZXZzbGlkZSIpLC0xPT09ZC5pbmRleCgpJiYiY2Fyb3VzZWwiPT09Yi5zbGlkZXJUeXBlJiYoZD1qUXVlcnkoYi5saVswXSkpLGQuZGF0YSgic2xpZGVfb25fZm9jdXNfYW1vdW50IixkLmRhdGEoInNsaWRlX29uX2ZvY3VzX2Ftb3VudCIpKzF8fDEpLCJvbiI9PWIuc3RvcExvb3AmJmQuaW5kZXgoKT09Yi5sYXN0c2xpZGV0b3Nob3ctMSYmKGEuZmluZCgiLnRwLWJhbm5lcnRpbWVyIikuY3NzKHt2aXNpYmlsaXR5OiJoaWRkZW4ifSksYS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9uc3RvcCIpLGIubm9sb29wYW55bW9yZT0xKSxkLmluZGV4KCk9PT1iLnNsaWRlYW1vdW50LTEmJihiLmxvb3B0b2dvPWIubG9vcHRvZ28tMSxiLmxvb3B0b2dvPD0wJiYoYi5zdG9wTG9vcD0ib24iKSksYi50b25wYXVzZT0hMCxhLnRyaWdnZXIoInN0b3B0aW1lciIpLGIuY2Q9MCwib2ZmIj09PWIuc3Bpbm5lciYmKGIubG9hZGVyIT09dW5kZWZpbmVkP2IubG9hZGVyLmNzcyh7ZGlzcGxheToibm9uZSJ9KTpiLmxvYWRlcnRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmxvYWRlciE9PXVuZGVmaW5lZCYmYi5sb2FkZXIuY3NzKHtkaXNwbGF5OiJibG9jayJ9KX0sNTApKSxsb2FkSW1hZ2VzKGQsYiwxKSxfUi5wcmVMb2FkQXVkaW8mJl9SLnByZUxvYWRBdWRpbyhkLGIsMSksd2FpdEZvckN1cnJlbnRJbWFnZXMoZCxiLGZ1bmN0aW9uKCl7ZC5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7YS5oYXNDbGFzcygiSGFzTGlzdGVuZXIiKXx8KGEuZGF0YSgiYmd2aWRlbyIsMSksX1IubWFuYWdlVmlkZW9MYXllciYmX1IubWFuYWdlVmlkZW9MYXllcihhLGIpKSwwPT1hLmZpbmQoIi5ycy1mdWxsdmlkZW8tY292ZXIiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJycy1mdWxsdmlkZW8tY292ZXIiPjwvZGl2PicpfSksc3dhcFNsaWRlUHJvZ3Jlc3MoZSxhKX0pfSxzd2FwU2xpZGVQcm9ncmVzcz1mdW5jdGlvbihhLGIpe3ZhciBjPWIuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLGQ9Yi5maW5kKCIucHJvY2Vzc2luZy1yZXZzbGlkZSIpLGU9Yy5maW5kKCIuc2xvdGhvbGRlciIpLGY9ZC5maW5kKCIuc2xvdGhvbGRlciIpLGc9YlswXS5vcHQ7Zy50b25wYXVzZT0hMSxnLmNkPTAsY2xlYXJUaW1lb3V0KGcubG9hZGVydGltZXIpLGcubG9hZGVyIT09dW5kZWZpbmVkJiZnLmxvYWRlci5jc3Moe2Rpc3BsYXk6Im5vbmUifSksX1Iuc2V0U2l6ZShnKSxfUi5zbG90U2l6ZShhLGcpLF9SLm1hbmFnZU5hdmlnYXRpb24mJl9SLm1hbmFnZU5hdmlnYXRpb24oZyk7dmFyIGg9e307aC5uZXh0c2xpZGU9ZCxoLmN1cnJlbnRzbGlkZT1jLGIudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbmJlZm9yZXN3YXAiLGgpLGcudHJhbnNpdGlvbj0xLGcudmlkZW9wbGF5aW5nPSExLGQuZGF0YSgiZGVsYXkiKSE9dW5kZWZpbmVkPyhnLmNkPTAsZy5kZWxheT1kLmRhdGEoImRlbGF5IikpOmcuZGVsYXk9Zy5vcmlnY2QsInRydWUiPT1kLmRhdGEoInNzb3AiKXx8ITA9PT1kLmRhdGEoInNzb3AiKT9nLnNzb3A9ITA6Zy5zc29wPSExLGIudHJpZ2dlcigibnVsbHRpbWVyIik7dmFyIGk9Yy5pbmRleCgpLGo9ZC5pbmRleCgpO2cuc2Rpcj1qPGk/MTowLCJhcnJvdyI9PWcuc2NfaW5kaWNhdG9yJiYoMD09aSYmaj09Zy5zbGlkZWFtb3VudC0xJiYoZy5zZGlyPTEpLGk9PWcuc2xpZGVhbW91bnQtMSYmMD09aiYmKGcuc2Rpcj0wKSksZy5sc2Rpcj1nLmxzZGlyPT09dW5kZWZpbmVkP2cuc2RpcjpnLmxzZGlyLGcuZGlyYz1nLmxzZGlyIT1nLnNkaXIsZy5sc2Rpcj1nLnNkaXIsYy5pbmRleCgpIT1kLmluZGV4KCkmJjEhPWcuZmlyc3RzdGFydCYmX1IucmVtb3ZlVGhlQ2FwdGlvbnMmJl9SLnJlbW92ZVRoZUNhcHRpb25zKGMsZyksZC5oYXNDbGFzcygicnMtcGF1c2UtdGltZXItb25jZSIpfHxkLmhhc0NsYXNzKCJycy1wYXVzZS10aW1lci1hbHdheXMiKT9nLnZpZGVvcGxheWluZz0hMDpiLnRyaWdnZXIoInJlc3RhcnR0aW1lciIpLGQucmVtb3ZlQ2xhc3MoInJzLXBhdXNlLXRpbWVyLW9uY2UiKTt2YXIgayxtO2lmKGcuY3VycmVudFNsaWRlPWMuaW5kZXgoKSxnLm5leHRTbGlkZT1kLmluZGV4KCksImNhcm91c2VsIj09Zy5zbGlkZXJUeXBlKW09bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlLF9SLnByZXBhcmVDYXJvdXNlbChnLG0pLGxldEl0RnJlZShiLGYsZSxkLGMsbSksZy50cmFuc2l0aW9uPTAsZy5maXJzdHN0YXJ0PTA7ZWxzZXttPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7b25Db21wbGV0ZTpmdW5jdGlvbigpe2xldEl0RnJlZShiLGYsZSxkLGMsbSl9fSksbS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGYuZmluZCgiLmRlZmF1bHRpbWciKSx7b3BhY2l0eTowfSkpLG0ucGF1c2UoKSxfUi5hbmltYXRlVGhlQ2FwdGlvbnMmJl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6ZCxvcHQ6ZyxwcmVzZXQ6ITB9KSwxPT1nLmZpcnN0c3RhcnQmJihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7YXV0b0FscGhhOjB9KSxnLmZpcnN0c3RhcnQ9MCkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3pJbmRleDoxOH0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChkLHthdXRvQWxwaGE6MCx6SW5kZXg6MjB9KSwicHJlcGFyZWQiPT1kLmRhdGEoImRpZmZlcmVudGlzc3BsYXllZCIpJiYoZC5kYXRhKCJkaWZmZXJlbnRpc3NwbGF5ZWQiLCJkb25lIiksZC5kYXRhKCJ0cmFuc2l0aW9uIixkLmRhdGEoInNhdmVkdHJhbnNpdGlvbiIpKSxkLmRhdGEoInNsb3RhbW91bnQiLGQuZGF0YSgic2F2ZWRzbG90YW1vdW50IikpLGQuZGF0YSgibWFzdGVyc3BlZWQiLGQuZGF0YSgic2F2ZWRtYXN0ZXJzcGVlZCIpKSksZC5kYXRhKCJmc3RyYW5zaXRpb24iKSE9dW5kZWZpbmVkJiYiZG9uZSIhPWQuZGF0YSgiZGlmZmVyZW50aXNzcGxheWVkIikmJihkLmRhdGEoInNhdmVkdHJhbnNpdGlvbiIsZC5kYXRhKCJ0cmFuc2l0aW9uIikpLGQuZGF0YSgic2F2ZWRzbG90YW1vdW50IixkLmRhdGEoInNsb3RhbW91bnQiKSksZC5kYXRhKCJzYXZlZG1hc3RlcnNwZWVkIixkLmRhdGEoIm1hc3RlcnNwZWVkIikpLGQuZGF0YSgidHJhbnNpdGlvbiIsZC5kYXRhKCJmc3RyYW5zaXRpb24iKSksZC5kYXRhKCJzbG90YW1vdW50IixkLmRhdGEoImZzc2xvdGFtb3VudCIpKSxkLmRhdGEoIm1hc3RlcnNwZWVkIixkLmRhdGEoImZzbWFzdGVyc3BlZWQiKSksZC5kYXRhKCJkaWZmZXJlbnRpc3NwbGF5ZWQiLCJwcmVwYXJlZCIpKSxkLmRhdGEoInRyYW5zaXRpb24iKT09dW5kZWZpbmVkJiZkLmRhdGEoInRyYW5zaXRpb24iLCJyYW5kb20iKSxrPTA7dmFyIG49ZC5kYXRhKCJ0cmFuc2l0aW9uIikhPT11bmRlZmluZWQ/ZC5kYXRhKCJ0cmFuc2l0aW9uIikuc3BsaXQoIiwiKToiZmFkZSIsbz1kLmRhdGEoIm5leHR0cmFuc2lkIik9PXVuZGVmaW5lZD8tMTpkLmRhdGEoIm5leHR0cmFuc2lkIik7Im9uIj09ZC5kYXRhKCJyYW5kb210cmFuc2l0aW9uIik/bz1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqbi5sZW5ndGgpOm8rPTEsbz09bi5sZW5ndGgmJihvPTApLGQuZGF0YSgibmV4dHRyYW5zaWQiLG8pO3ZhciBwPW5bb107Zy5pZSYmKCJib3hmYWRlIj09cCYmKHA9ImJveHNsaWRlIiksInNsb3RmYWRlLXZlcnRpY2FsIj09cCYmKHA9InNsb3R6b29tLXZlcnRpY2FsIiksInNsb3RmYWRlLWhvcml6b250YWwiPT1wJiYocD0ic2xvdHpvb20taG9yaXpvbnRhbCIpKSxfUi5pc0lFKDgpJiYocD0xMSksbT1fUi5hbmltYXRlU2xpZGUoayxwLGIsZCxjLGYsZSxtKSwib24iPT1mLmRhdGEoImtlbmJ1cm5zIikmJihfUi5zdGFydEtlbkJ1cm4oZixnKSxtLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZix7YXV0b0FscGhhOjB9KSkpLG0ucGF1c2UoKX1fUi5zY3JvbGxIYW5kbGluZyYmKF9SLnNjcm9sbEhhbmRsaW5nKGcsITAsMCksbS5ldmVudENhbGxiYWNrKCJvblVwZGF0ZSIsZnVuY3Rpb24oKXtfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApfSkpLCJvZmYiIT1nLnBhcmFsbGF4LnR5cGUmJmcucGFyYWxsYXguZmlyc3Rnbz09dW5kZWZpbmVkJiZfUi5zY3JvbGxIYW5kbGluZyYmKGcucGFyYWxsYXguZmlyc3Rnbz0hMCxnLmxhc3RzY3JvbGx0b3A9LTk5OSxfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtnLmxhc3RzY3JvbGx0b3A9LTk5OSxfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApfSwyMTApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtnLmxhc3RzY3JvbGx0b3A9LTk5OSxfUi5zY3JvbGxIYW5kbGluZyhnLCEwLDApfSw0MjApKSxfUi5hbmltYXRlVGhlQ2FwdGlvbnM/ImNhcm91c2VsIj09PWcuc2xpZGVyVHlwZSYmIm9uIj09PWcuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWU/KGpRdWVyeS5lYWNoKGcubGksZnVuY3Rpb24oYSl7Zy5jYXJvdXNlbC5hbGxMYXllcnNTdGFydGVkP19SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6alF1ZXJ5KGcubGlbYV0pLG9wdDpnLHJlY2FsbDohMH0pOmcubGlbYV09PT1kP19SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6alF1ZXJ5KGcubGlbYV0pLG1haW50aW1lbGluZTptLG9wdDpnLHN0YXJ0c2xpZGVhbmltYXQ6MH0pOl9SLmFuaW1hdGVUaGVDYXB0aW9ucyh7c2xpZGU6alF1ZXJ5KGcubGlbYV0pLG9wdDpnLHN0YXJ0c2xpZGVhbmltYXQ6MH0pfSksZy5jYXJvdXNlbC5hbGxMYXllcnNTdGFydGVkPSEwKTpfUi5hbmltYXRlVGhlQ2FwdGlvbnMoe3NsaWRlOmQsb3B0OmcsbWFpbnRpbWVsaW5lOm0sc3RhcnRzbGlkZWFuaW1hdDowfSk6bSE9dW5kZWZpbmVkJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bS5yZXN1bWUoKX0sMzApLHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGQsLjAwMSx7YXV0b0FscGhhOjF9KX0sbGV0SXRGcmVlPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1hWzBdLm9wdDsiY2Fyb3VzZWwiPT09Zy5zbGlkZXJUeXBlfHwoZy5yZW1vdmVQcmVwYXJlPTAscHVuY2hncy5Ud2VlbkxpdGUudG8oYi5maW5kKCIuZGVmYXVsdGltZyIpLC4wMDEse3pJbmRleDoyMCxhdXRvQWxwaGE6MSxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7cmVtb3ZlU2xvdHMoYSxnLGQsMSl9fSksZC5pbmRleCgpIT1lLmluZGV4KCkmJnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGUsLjIse3pJbmRleDoxOCxhdXRvQWxwaGE6MCxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7cmVtb3ZlU2xvdHMoYSxnLGUsMSl9fSkpLGEuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKSxhLmZpbmQoIi5wcm9jZXNzaW5nLXJldnNsaWRlIikucmVtb3ZlQ2xhc3MoInByb2Nlc3NpbmctcmV2c2xpZGUiKS5hZGRDbGFzcygiYWN0aXZlLXJldnNsaWRlIiksZy5hY3Q9ZC5pbmRleCgpLGcuYy5hdHRyKCJkYXRhLXNsaWRlYWN0aXZlIixhLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKS5kYXRhKCJpbmRleCIpKSwic2Nyb2xsIiE9Zy5wYXJhbGxheC50eXBlJiYic2Nyb2xsK21vdXNlIiE9Zy5wYXJhbGxheC50eXBlJiYibW91c2Urc2Nyb2xsIiE9Zy5wYXJhbGxheC50eXBlfHwoZy5sYXN0c2Nyb2xsdG9wPS05OTksX1Iuc2Nyb2xsSGFuZGxpbmcoZykpLGYuY2xlYXIoKSxjLmRhdGEoImtidGwiKSE9dW5kZWZpbmVkJiYoYy5kYXRhKCJrYnRsIikucmV2ZXJzZSgpLGMuZGF0YSgia2J0bCIpLnRpbWVTY2FsZSgyNSkpLCJvbiI9PWIuZGF0YSgia2VuYnVybnMiKSYmKGIuZGF0YSgia2J0bCIpIT11bmRlZmluZWQ/KGIuZGF0YSgia2J0bCIpLnRpbWVTY2FsZSgxKSxiLmRhdGEoImtidGwiKS5wbGF5KCkpOl9SLnN0YXJ0S2VuQnVybihiLGcpKSxkLmZpbmQoIi5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIikuZWFjaChmdW5jdGlvbihhKXtpZihfSVNNJiYhZy5mYWxsYmFja3MuYWxsb3dIVE1MNUF1dG9QbGF5T25BbmRyb2lkKXJldHVybiExO3ZhciBiPWpRdWVyeSh0aGlzKTtfUi5yZXNldFZpZGVvKGIsZykscHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsMSx7YXV0b0FscGhhOjB9LHthdXRvQWxwaGE6MSxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dCxkZWxheTouMixvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7X1IuYW5pbWNvbXBsZXRlZCYmX1IuYW5pbWNvbXBsZXRlZChiLGcpfX0pfSksZS5maW5kKCIucnMtYmFja2dyb3VuZC12aWRlby1sYXllciIpLmVhY2goZnVuY3Rpb24oYSl7aWYoX0lTTSlyZXR1cm4hMTt2YXIgYj1qUXVlcnkodGhpcyk7X1Iuc3RvcFZpZGVvJiYoX1IucmVzZXRWaWRlbyhiLGcpLF9SLnN0b3BWaWRlbyhiLGcpKSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLDEse2F1dG9BbHBoYTowLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0LGRlbGF5Oi4yfSl9KTt2YXIgaD17fTtpZihoLnNsaWRlSW5kZXg9ZC5pbmRleCgpKzEsaC5zbGlkZUxJSW5kZXg9ZC5pbmRleCgpLGguc2xpZGU9ZCxoLmN1cnJlbnRzbGlkZT1kLGgucHJldnNsaWRlPWUsZy5sYXN0X3Nob3duX3NsaWRlPWUuaW5kZXgoKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25jaGFuZ2UiLGgpLGEudHJpZ2dlcigicmV2b2x1dGlvbi5zbGlkZS5vbmFmdGVyc3dhcCIsaCksZy5zdGFydFdpdGhTbGlkZSE9PXVuZGVmaW5lZCYmImRvbmUiIT09Zy5zdGFydFdpdGhTbGlkZSYmImNhcm91c2VsIj09PWcuc2xpZGVyVHlwZSl7Zm9yKHZhciBpPWcuc3RhcnRXaXRoU2xpZGUsaj0wO2o8PWcubGkubGVuZ3RoLTE7aisrKXtqUXVlcnkoZy5saVtqXSkuZGF0YSgib3JpZ2luYWxpbmRleCIpPT09Zy5zdGFydFdpdGhTbGlkZSYmKGk9ail9MCE9PWkmJl9SLmNhbGxpbmdOZXdTbGlkZShnLmMsaSksZy5zdGFydFdpdGhTbGlkZT0iZG9uZSJ9Zy5kdXJpbmdzbGlkZWNoYW5nZT0hMTt2YXIgbD1lLmRhdGEoInNsaWRlX29uX2ZvY3VzX2Ftb3VudCIpLG09ZS5kYXRhKCJoaWRlYWZ0ZXJsb29wIik7MCE9bSYmbTw9bCYmZy5jLnJldnJlbW92ZXNsaWRlKGUuaW5kZXgoKSk7dmFyIG49LTE9PT1nLm5leHRTbGlkZXx8Zy5uZXh0U2xpZGU9PT11bmRlZmluZWQ/MDpnLm5leHRTbGlkZTtnLnJvd3pvbmVzIT11bmRlZmluZWQmJihuPW4+Zy5yb3d6b25lcy5sZW5ndGg/Zy5yb3d6b25lcy5sZW5ndGg6biksZy5yb3d6b25lcyE9dW5kZWZpbmVkJiZnLnJvd3pvbmVzLmxlbmd0aD4wJiZnLnJvd3pvbmVzW25dIT11bmRlZmluZWQmJm4+PTAmJm48PWcucm93em9uZXMubGVuZ3RoJiZnLnJvd3pvbmVzW25dLmxlbmd0aD4wJiZfUi5zZXRTaXplKGcpfSxyZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oYSxiKXthLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpe3RyeXtqUXVlcnkodGhpcykuZGllKCJjbGljayIpfWNhdGNoKGEpe310cnl7alF1ZXJ5KHRoaXMpLmRpZSgibW91c2VlbnRlciIpfWNhdGNoKGEpe310cnl7alF1ZXJ5KHRoaXMpLmRpZSgibW91c2VsZWF2ZSIpfWNhdGNoKGEpe310cnl7alF1ZXJ5KHRoaXMpLnVuYmluZCgiaG92ZXIiKX1jYXRjaChhKXt9fSk7dHJ5e2EuZGllKCJjbGljayIsIm1vdXNlZW50ZXIiLCJtb3VzZWxlYXZlIil9Y2F0Y2goYSl7fWNsZWFySW50ZXJ2YWwoYi5jZGludCksYT1udWxsfSxjb3VudERvd249ZnVuY3Rpb24oYSxiKXtiLmNkPTAsYi5sb29wPTAsYi5zdG9wQWZ0ZXJMb29wcyE9dW5kZWZpbmVkJiZiLnN0b3BBZnRlckxvb3BzPi0xP2IubG9vcHRvZ289Yi5zdG9wQWZ0ZXJMb29wczpiLmxvb3B0b2dvPTk5OTk5OTksYi5zdG9wQXRTbGlkZSE9dW5kZWZpbmVkJiZiLnN0b3BBdFNsaWRlPi0xP2IubGFzdHNsaWRldG9zaG93PWIuc3RvcEF0U2xpZGU6Yi5sYXN0c2xpZGV0b3Nob3c9OTk5LGIuc3RvcExvb3A9Im9mZiIsMD09Yi5sb29wdG9nbyYmKGIuc3RvcExvb3A9Im9uIik7dmFyIGM9YS5maW5kKCIudHAtYmFubmVydGltZXIiKTthLm9uKCJzdG9wdGltZXIiLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLmZpbmQoIi50cC1iYW5uZXJ0aW1lciIpO2FbMF0udHdlZW4ucGF1c2UoKSwib24iPT1iLmRpc2FibGVQcm9ncmVzc0JhciYmYS5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxiLnNsaWRlcnN0YXR1cz0icGF1c2VkIixfUi51blRvZ2dsZVN0YXRlKGIuc2xpZGVydG9nZ2xlZGJ5KX0pLGEub24oInN0YXJ0dGltZXIiLGZ1bmN0aW9uKCl7Yi5mb3JjZXBhdXNlX3ZpYXRvZ2dsZXx8KDEhPWIuY29udGhvdmVyJiYxIT1iLnZpZGVvcGxheWluZyYmYi53aWR0aD5iLmhpZGVTbGlkZXJBdExpbWl0JiYxIT1iLnRvbnBhdXNlJiYxIT1iLm92ZXJuYXYmJjEhPWIuc3NvcCYmKDE9PT1iLm5vbG9vcGFueW1vcmV8fGIudmlld1BvcnQuZW5hYmxlJiYhYi5pbnZpZXdwb3J0fHwoYy5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSksY1swXS50d2Vlbi5yZXN1bWUoKSxiLnNsaWRlcnN0YXR1cz0icGxheWluZyIpKSwib24iPT1iLmRpc2FibGVQcm9ncmVzc0JhciYmYy5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxfUi50b2dnbGVTdGF0ZShiLnNsaWRlcnRvZ2dsZWRieSkpfSksYS5vbigicmVzdGFydHRpbWVyIixmdW5jdGlvbigpe2lmKCFiLmZvcmNlcGF1c2VfdmlhdG9nZ2xlKXt2YXIgYT1qUXVlcnkodGhpcykuZmluZCgiLnRwLWJhbm5lcnRpbWVyIik7aWYoYi5tb3VzZW9uY29udGFpbmVyJiYib24iPT1iLm5hdmlnYXRpb24ub25Ib3ZlclN0b3AmJiFfSVNNKXJldHVybiExOzE9PT1iLm5vbG9vcGFueW1vcmV8fGIudmlld1BvcnQuZW5hYmxlJiYhYi5pbnZpZXdwb3J0fHwxPT1iLnNzb3B8fChhLmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSJ9KSxhWzBdLnR3ZWVuLmtpbGwoKSxhWzBdLnR3ZWVuPXB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGIuZGVsYXkvMWUzLHt3aWR0aDoiMCUifSx7Zm9yY2UzRDoiYXV0byIsd2lkdGg6IjEwMCUiLGVhc2U6cHVuY2hncy5MaW5lYXIuZWFzZU5vbmUsb25Db21wbGV0ZTpkLGRlbGF5OjF9KSxiLnNsaWRlcnN0YXR1cz0icGxheWluZyIpLCJvbiI9PWIuZGlzYWJsZVByb2dyZXNzQmFyJiZhLmNzcyh7dmlzaWJpbGl0eToiaGlkZGVuIn0pLF9SLnRvZ2dsZVN0YXRlKGIuc2xpZGVydG9nZ2xlZGJ5KX19KSxhLm9uKCJudWxsdGltZXIiLGZ1bmN0aW9uKCl7Y1swXS50d2Vlbi5raWxsKCksY1swXS50d2Vlbj1wdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYyxiLmRlbGF5LzFlMyx7d2lkdGg6IjAlIn0se2ZvcmNlM0Q6ImF1dG8iLHdpZHRoOiIxMDAlIixlYXNlOnB1bmNoZ3MuTGluZWFyLmVhc2VOb25lLG9uQ29tcGxldGU6ZCxkZWxheToxfSksY1swXS50d2Vlbi5wYXVzZSgwKSwib24iPT1iLmRpc2FibGVQcm9ncmVzc0JhciYmYy5jc3Moe3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxiLnNsaWRlcnN0YXR1cz0icGF1c2VkIn0pO3ZhciBkPWZ1bmN0aW9uKCl7MD09alF1ZXJ5KCJib2R5IikuZmluZChhKS5sZW5ndGgmJihyZW1vdmVBbGxMaXN0ZW5lcnMoYSxiKSxjbGVhckludGVydmFsKGIuY2RpbnQpKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUuc2xpZGVhdGVuZCIpLDE9PWEuZGF0YSgiY29udGhvdmVyLWNoYW5nZWQiKSYmKGIuY29udGhvdmVyPWEuZGF0YSgiY29udGhvdmVyIiksYS5kYXRhKCJjb250aG92ZXItY2hhbmdlZCIsMCkpLF9SLmNhbGxpbmdOZXdTbGlkZShhLDEpfTtjWzBdLnR3ZWVuPXB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhjLGIuZGVsYXkvMWUzLHt3aWR0aDoiMCUifSx7Zm9yY2UzRDoiYXV0byIsd2lkdGg6IjEwMCUiLGVhc2U6cHVuY2hncy5MaW5lYXIuZWFzZU5vbmUsb25Db21wbGV0ZTpkLGRlbGF5OjF9KSxiLnNsaWRlYW1vdW50PjEmJigwIT1iLnN0b3BBZnRlckxvb3BzfHwxIT1iLnN0b3BBdFNsaWRlKT9hLnRyaWdnZXIoInN0YXJ0dGltZXIiKTooYi5ub2xvb3Bhbnltb3JlPTEsYS50cmlnZ2VyKCJudWxsdGltZXIiKSksYS5vbigidHAtbW91c2VlbnRlciIsZnVuY3Rpb24oKXtiLm1vdXNlb25jb250YWluZXI9ITAsIm9uIiE9Yi5uYXZpZ2F0aW9uLm9uSG92ZXJTdG9wfHxfSVNNfHwoYS50cmlnZ2VyKCJzdG9wdGltZXIiKSxhLnRyaWdnZXIoInJldm9sdXRpb24uc2xpZGUub25wYXVzZSIpKX0pLGEub24oInRwLW1vdXNlbGVmdCIsZnVuY3Rpb24oKXtiLm1vdXNlb25jb250YWluZXI9ITEsMSE9YS5kYXRhKCJjb250aG92ZXIiKSYmIm9uIj09Yi5uYXZpZ2F0aW9uLm9uSG92ZXJTdG9wJiYoMT09Yi52aWV3UG9ydC5lbmFibGUmJmIuaW52aWV3cG9ydHx8MD09Yi52aWV3UG9ydC5lbmFibGUpJiYoYS50cmlnZ2VyKCJyZXZvbHV0aW9uLnNsaWRlLm9ucmVzdW1lIiksYS50cmlnZ2VyKCJzdGFydHRpbWVyIikpfSl9LHZpcz1mdW5jdGlvbigpe3ZhciBhLGIsYz17aGlkZGVuOiJ2aXNpYmlsaXR5Y2hhbmdlIix3ZWJraXRIaWRkZW46IndlYmtpdHZpc2liaWxpdHljaGFuZ2UiLG1vekhpZGRlbjoibW96dmlzaWJpbGl0eWNoYW5nZSIsbXNIaWRkZW46Im1zdmlzaWJpbGl0eWNoYW5nZSJ9O2ZvcihhIGluIGMpaWYoYSBpbiBkb2N1bWVudCl7Yj1jW2FdO2JyZWFrfXJldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gYyYmZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihiLGMse3Bhc2l2ZTohMH0pLCFkb2N1bWVudFthXX19KCkscmVzdGFydE9uRm9jdXM9ZnVuY3Rpb24oKXtqUXVlcnkoIi5yZXZfcmVkcmF3X29uX2JsdXJmb2N1cyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcylbMF0ub3B0O2lmKGE9PXVuZGVmaW5lZHx8YS5jPT11bmRlZmluZWR8fDA9PT1hLmMubGVuZ3RoKXJldHVybiExOzEhPWEud2luZG93Zm9jdXNlZCYmKGEud2luZG93Zm9jdXNlZD0hMCxwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbCguMyxmdW5jdGlvbigpeyJvbiI9PWEuZmFsbGJhY2tzLm5leHRTbGlkZU9uV2luZG93Rm9jdXMmJmEuYy5yZXZuZXh0KCksYS5jLnJldnJlZHJhdygpLCJwbGF5aW5nIj09YS5sYXN0c2xpZGVyc3RhdHVzJiZhLmMucmV2cmVzdW1lKCl9KSl9KX0sbGFzdFN0YXRCbHVyPWZ1bmN0aW9uKCl7alF1ZXJ5KCIucmV2X3JlZHJhd19vbl9ibHVyZm9jdXMiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpWzBdLm9wdDthLndpbmRvd2ZvY3VzZWQ9ITEsYS5sYXN0c2xpZGVyc3RhdHVzPWEuc2xpZGVyc3RhdHVzLGEuYy5yZXZwYXVzZSgpO3ZhciBiPWEuYy5maW5kKCIuYWN0aXZlLXJldnNsaWRlIC5zbG90aG9sZGVyIiksYz1hLmMuZmluZCgiLnByb2Nlc3NpbmctcmV2c2xpZGUgLnNsb3Rob2xkZXIiKTsib24iPT1jLmRhdGEoImtlbmJ1cm5zIikmJl9SLnN0b3BLZW5CdXJuKGMsYSksIm9uIj09Yi5kYXRhKCJrZW5idXJucyIpJiZfUi5zdG9wS2VuQnVybihiLGEpfSl9LHRhYkJsdXJyaW5nQ2hlY2s9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5kb2N1bWVudE1vZGU9PT11bmRlZmluZWQsYj13aW5kb3cuY2hyb21lOzEhPT1qUXVlcnkoImJvZHkiKS5kYXRhKCJyZXZzbGlkZXJfZm9jdXNfYmx1cl9saXN0ZW5lciIpJiYoalF1ZXJ5KCJib2R5IikuZGF0YSgicmV2c2xpZGVyX2ZvY3VzX2JsdXJfbGlzdGVuZXIiLDEpLGEmJiFiP2pRdWVyeSh3aW5kb3cpLm9uKCJmb2N1c2luIixmdW5jdGlvbigpe3Jlc3RhcnRPbkZvY3VzKCl9KS5vbigiZm9jdXNvdXQiLGZ1bmN0aW9uKCl7bGFzdFN0YXRCbHVyKCl9KTp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj8od2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImZvY3VzIixmdW5jdGlvbihhKXtyZXN0YXJ0T25Gb2N1cygpfSx7Y2FwdHVyZTohMSxwYXNzaXZlOiEwfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJsdXIiLGZ1bmN0aW9uKGEpe2xhc3RTdGF0Qmx1cigpfSx7Y2FwdHVyZTohMSxwYXNzaXZlOiEwfSkpOih3aW5kb3cuYXR0YWNoRXZlbnQoImZvY3VzIixmdW5jdGlvbihhKXtyZXN0YXJ0T25Gb2N1cygpfSksd2luZG93LmF0dGFjaEV2ZW50KCJibHVyIixmdW5jdGlvbihhKXtsYXN0U3RhdEJsdXIoKX0pKSl9LGdldFVybFZhcnM9ZnVuY3Rpb24oYSl7Zm9yKHZhciBjLGI9W10sZD13aW5kb3cubG9jYXRpb24uaHJlZi5zbGljZSh3aW5kb3cubG9jYXRpb24uaHJlZi5pbmRleE9mKGEpKzEpLnNwbGl0KCJfIiksZT0wO2U8ZC5sZW5ndGg7ZSsrKWRbZV09ZFtlXS5yZXBsYWNlKCIlM0QiLCI9IiksYz1kW2VdLnNwbGl0KCI9IiksYi5wdXNoKGNbMF0pLGJbY1swXV09Y1sxXTtyZXR1cm4gYn19KGpRdWVyeSk7"}},"time_used":611,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":605,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/coingecko-coin-price-marquee-widget.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.613Z","timestamp":1785133989613,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/coingecko-coin-price-marquee-widget.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Wed, 18 Dec 2019 09:13:24 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 60912\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":199471,"size_decoded":61150,"mime_type":"text/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (39262)","md5":"14a429f21cd3bb481b628673a2f76950","sha1":"890c8b20df87ce03ca2a9610c873f78f01504b54","sha256":"d687f27487a608932e79449022158c42806aa6aa209a9e5b9ad0864e6a6ac127","sha512":"2645d14fdf2ba44832d5fb35985152686e6a0f21c5c8b5d44ef1b865d9def44058a30eced3076edecfc60ea4dffc671542f4a1028a4dde2526996304185aa0a8","ssdeep":"1536:7cm6RDR/gSJBdOxmUjYdmkoFINa1dGPqym58cAFVJOsjQ245gpNd0pkSsP37xTM4:AmNRxxYjamCFWcAFOsYJk1LxRKHW/","tlshash":"321408cd76c1b06617f362b1102f640fb3ba1da8a84d8690f622e4e5ac7a55d5233f3d","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:33:53.984178Z","times_seen":10,"resource_available":true,"data":"KGZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Z1bmN0aW9uIG4ocil7aWYodFtyXSlyZXR1cm4gdFtyXS5leHBvcnRzO3ZhciBvPXRbcl09e2k6cixsOiExLGV4cG9ydHM6e319O3JldHVybiBlW3JdLmNhbGwoby5leHBvcnRzLG8sby5leHBvcnRzLG4pLG8ubD0hMCxvLmV4cG9ydHN9bi5tPWUsbi5jPXQsbi5kPWZ1bmN0aW9uKGUsdCxyKXtuLm8oZSx0KXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7ZW51bWVyYWJsZTohMCxnZXQ6cn0pfSxuLnI9ZnVuY3Rpb24oZSl7InVuZGVmaW5lZCIhPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LG4udD1mdW5jdGlvbihlLHQpe2lmKDEmdCYmKGU9bihlKSksOCZ0KXJldHVybiBlO2lmKDQmdCYmIm9iamVjdCI9PT10eXBlb2YgZSYmZSYmZS5fX2VzTW9kdWxlKXJldHVybiBlO3ZhciByPU9iamVjdC5jcmVhdGUobnVsbCk7aWYobi5yKHIpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShyLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTplfSksMiZ0JiYic3RyaW5nIiE9dHlwZW9mIGUpZm9yKHZhciBvIGluIGUpbi5kKHIsbyxmdW5jdGlvbih0KXtyZXR1cm4gZVt0XX0uYmluZChudWxsLG8pKTtyZXR1cm4gcn0sbi5uPWZ1bmN0aW9uKGUpe3ZhciB0PWUmJmUuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiBlWyJkZWZhdWx0Il19OmZ1bmN0aW9uKCl7cmV0dXJuIGV9O3JldHVybiBuLmQodCwiYSIsdCksdH0sbi5vPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLHQpfSxuLnA9Ii8iLG4obi5zPTEwKX0pKHsiMDAyOSI6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ImNvbnN0cnVjdG9yLGhhc093blByb3BlcnR5LGlzUHJvdG90eXBlT2YscHJvcGVydHlJc0VudW1lcmFibGUsdG9Mb2NhbGVTdHJpbmcsdG9TdHJpbmcsdmFsdWVPZiIuc3BsaXQoIiwiKX0sIjAxODUiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJlNWZhIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QocihlKSl9fSwiMDFmOSI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIyZDAwIiksbz1uKCI1Y2ExIiksaT1uKCIyYWJhIiksYT1uKCIzMmU5IiksYz1uKCI4NGYyIikscz1uKCI0MWEwIiksdT1uKCI3ZjIwIiksZj1uKCIzOGZkIiksbD1uKCIyYjRjIikoIml0ZXJhdG9yIikscD0hKFtdLmtleXMmJiJuZXh0ImluW10ua2V5cygpKSxkPSJAQGl0ZXJhdG9yIixoPSJrZXlzIix2PSJ2YWx1ZXMiLG09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuLHksXyxnLGIpe3Mobix0LHkpO3ZhciB3LHgsQyxTPWZ1bmN0aW9uKGUpe2lmKCFwJiZlIGluIFApcmV0dXJuIFBbZV07c3dpdGNoKGUpe2Nhc2UgaDpyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4odGhpcyxlKX07Y2FzZSB2OnJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgbih0aGlzLGUpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4odGhpcyxlKX19LEE9dCsiIEl0ZXJhdG9yIixrPV89PXYsTz0hMSxQPWUucHJvdG90eXBlLCQ9UFtsXXx8UFtkXXx8XyYmUFtfXSxqPSR8fFMoXyksRT1fP2s/UygiZW50cmllcyIpOmo6dm9pZCAwLFQ9IkFycmF5Ij09dCYmUC5lbnRyaWVzfHwkO2lmKFQmJihDPWYoVC5jYWxsKG5ldyBlKSksQyE9PU9iamVjdC5wcm90b3R5cGUmJkMubmV4dCYmKHUoQyxBLCEwKSxyfHwiZnVuY3Rpb24iPT10eXBlb2YgQ1tsXXx8YShDLGwsbSkpKSxrJiYkJiYkLm5hbWUhPT12JiYoTz0hMCxqPWZ1bmN0aW9uKCl7cmV0dXJuICQuY2FsbCh0aGlzKX0pLHImJiFifHwhcCYmIU8mJlBbbF18fGEoUCxsLGopLGNbdF09aixjW0FdPW0sXylpZih3PXt2YWx1ZXM6az9qOlModiksa2V5czpnP2o6UyhoKSxlbnRyaWVzOkV9LGIpZm9yKHggaW4gdyl4IGluIFB8fGkoUCx4LHdbeF0pO2Vsc2UgbyhvLlArby5GKihwfHxPKSx0LHcpO3JldHVybiB3fX0sIjAyZjQiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI0NTg4Iiksbz1uKCJiZTEzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0LG4pe3ZhciBpLGEsYz1TdHJpbmcobyh0KSkscz1yKG4pLHU9Yy5sZW5ndGg7cmV0dXJuIHM8MHx8cz49dT9lPyIiOnZvaWQgMDooaT1jLmNoYXJDb2RlQXQocyksaTw1NTI5Nnx8aT41NjMxOXx8cysxPT09dXx8KGE9Yy5jaGFyQ29kZUF0KHMrMSkpPDU2MzIwfHxhPjU3MzQzP2U/Yy5jaGFyQXQocyk6aTplP2Muc2xpY2UocyxzKzIpOmEtNTYzMjArKGktNTUyOTY8PDEwKSs2NTUzNil9fX0sIjAzOTAiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMDJmNCIpKCEwKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0KyhuP3IoZSx0KS5sZW5ndGg6MSl9fSwiMDNjYSI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJmMmZlIik7ZnVuY3Rpb24gbyhlKXt2YXIgdCxuO3RoaXMucHJvbWlzZT1uZXcgZShmdW5jdGlvbihlLHIpe2lmKHZvaWQgMCE9PXR8fHZvaWQgMCE9PW4pdGhyb3cgVHlwZUVycm9yKCJCYWQgUHJvbWlzZSBjb25zdHJ1Y3RvciIpO3Q9ZSxuPXJ9KSx0aGlzLnJlc29sdmU9cih0KSx0aGlzLnJlamVjdD1yKG4pfWUuZXhwb3J0cy5mPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgbyhlKX19LCIwNDIzIjpmdW5jdGlvbihlKXtlLmV4cG9ydHM9e2NvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldDp7cG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9wcmljZV9jaGFydF93aWRnZXQ6eyIyNGhfaGlnaCI6IjI0SOacgOmrmOWApCIsIjI0aF9sb3ciOiIyNEjmnIDlronlgKQiLHZpZXdfcHJpY2VfY2hhcnQ6IuS+oeagvOODgeODo+ODvOODiOOCkuihqOekuiIscG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldDp7cG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9saXN0X3dpZGdldDp7cG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sYmVhbV93aWRnZXQ6e3Bvd2VyZWRfYnk6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fdGlja2VyX3dpZGdldDp7IjI0aF9oaWdoIjoiMjRI5pyA6auY5YCkIiwiMjRoX2xvdyI6IjI0SOacgOWuieWApCIsdmlld19wcmljZV9jaGFydDoi5L6h5qC844OB44Oj44O844OI44KS6KGo56S6Iixwb3dlcmVkX2J5OiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2NvbnZlcnRlcl93aWRnZXQ6e3ZpZXdfcHJpY2VfY2hhcnQ6IuS+oeagvOODgeODo+ODvOODiOOCkuihqOekuiIscG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9oZWF0bWFwX3dpZGdldDp7dGl0bGU6IuS7ruaDs+mAmuiyqOODh+ODvOOCv+S4gOimpyIsc3VidGl0bGU6IijmmYLkvqHnt4/poY3jg4jjg4Pjg5cle3RvcH0pIixwb3dlcmVkX2J5OiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2RhaWx5X3ByaWNlX3dpZGdldDp7dGl0bGU6IkNvaW5HZWNrb+S+oeagvOOCouODg+ODl+ODh+ODvOODiCIsdG90YWxfbWNhcDoi5ZCI6KiI5pmC5L6h57eP6aGNIiwiMjRoX3ZvbCI6IjI0aCDlj5blvJXpq5giLGRvbToi44K344Kn44KiIn19fSwiMDU2YyI6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPXtjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IuatpOacjeWLmeaYr+eUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOeCuuaCqOaPkOS+myJ9LGNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0OnsiMjRoX2hpZ2giOiIyNCDlsI/mmYLpq5jlg7kiLCIyNGhfbG93IjoiMjQg5bCP5pmC5L2O5YO5Iix2aWV3X3ByaWNlX2NoYXJ0OiLmn6XnnIvljK/njofotbDli6LlnJYiLHBvd2VyZWRfYnk6IuatpOacjeWLmeaYr+eUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOeCuuaCqOaPkOS+myJ9LGNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IuatpOacjeWLmeaYr+eUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOeCuuaCqOaPkOS+myJ9LGNvaW5fbGlzdF93aWRnZXQ6e3Bvd2VyZWRfYnk6IuatpOacjeWLmeaYr+eUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOeCuuaCqOaPkOS+myJ9LGJlYW1fd2lkZ2V0Ontwb3dlcmVkX2J5OiLmraTmnI3li5nmmK/nlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDngrrmgqjmj5DkvpsifSxjb2luX3RpY2tlcl93aWRnZXQ6eyIyNGhfaGlnaCI6IjI0IOWwj+aZgumrmOWDuSIsIjI0aF9sb3ciOiIyNCDlsI/mmYLkvY7lg7kiLHZpZXdfcHJpY2VfY2hhcnQ6Iuafpeeci+WMr+eOh+i1sOWLouWcliIscG93ZXJlZF9ieToi5q2k5pyN5YuZ5piv55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g54K65oKo5o+Q5L6bIn0sY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ont2aWV3X3ByaWNlX2NoYXJ0OiLmn6XnnIvljK/njofotbDli6LlnJYiLHBvd2VyZWRfYnk6IuatpOacjeWLmeaYr+eUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOeCuuaCqOaPkOS+myJ9LGNvaW5faGVhdG1hcF93aWRnZXQ6e3RpdGxlOiLliqDlr4bosqjluaPmqLnni4DlnJYiLHN1YnRpdGxlOiIo57i95biC5YC85YmNICV7dG9wfSDlkI0pIixwb3dlcmVkX2J5OiLmraTmnI3li5nmmK/nlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDngrrmgqjmj5DkvpsifX19LCIwODI1IjpmdW5jdGlvbihlKXtlLmV4cG9ydHM9e2NvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldDp7cG93ZXJlZF9ieToiT2ZmZXJ0byBkYSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9wcmljZV9jaGFydF93aWRnZXQ6eyIyNGhfaGlnaCI6Ik1hc3NpbW8gaW4gMjQgb3JlIiwiMjRoX2xvdyI6Ik1pbmltbyBpbiAyNCBvcmUiLHZpZXdfcHJpY2VfY2hhcnQ6IlZlZGkgaWwgZ3JhZmljbyBkZWkgcHJlenppIixwb3dlcmVkX2J5OiJPZmZlcnRvIGRhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ontwb3dlcmVkX2J5OiJPZmZlcnRvIGRhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2xpc3Rfd2lkZ2V0Ontwb3dlcmVkX2J5OiJPZmZlcnRvIGRhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxiZWFtX3dpZGdldDp7cG93ZXJlZF9ieToiT2ZmZXJ0byBkYSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl90aWNrZXJfd2lkZ2V0OnsiMjRoX2hpZ2giOiJNYXNzaW1vIGluIDI0IG9yZSIsIjI0aF9sb3ciOiJNaW5pbW8gaW4gMjQgb3JlIix2aWV3X3ByaWNlX2NoYXJ0OiJWZWRpIGlsIGdyYWZpY28gZGVpIHByZXp6aSIscG93ZXJlZF9ieToiT2ZmZXJ0byBkYSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ont2aWV3X3ByaWNlX2NoYXJ0OiJWZWRpIGlsIGdyYWZpY28gZGVpIHByZXp6aSIscG93ZXJlZF9ieToiT2ZmZXJ0byBkYSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9oZWF0bWFwX3dpZGdldDp7dGl0bGU6Ik1hcHBhIGFkIGFsYmVybyBkZWxsZSBjcmlwdG92YWx1dGUiLHN1YnRpdGxlOiIocHJpbWUgJXt0b3B9IHBlciBjYXBpdGFsaXp6YXppb25lIGRpIG1lcmNhdG8pIixwb3dlcmVkX2J5OiJPZmZlcnRvIGRhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifX19LCIwOTY1IjpmdW5jdGlvbihlLHQsbil7bigiMzg0ZiIpLGUuZXhwb3J0cz1uKCJhN2QzIikucGFyc2VGbG9hdH0sIjA5N2QiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNWNhMSIpLG89bigiODM3OCIpLGk9bigiNzcyNiIpLGE9bigiZWJkNiIpLGM9bigiYmNhYSIpO3Ioci5QK3IuUiwiUHJvbWlzZSIse2ZpbmFsbHk6ZnVuY3Rpb24oZSl7dmFyIHQ9YSh0aGlzLG8uUHJvbWlzZXx8aS5Qcm9taXNlKSxuPSJmdW5jdGlvbiI9PXR5cGVvZiBlO3JldHVybiB0aGlzLnRoZW4obj9mdW5jdGlvbihuKXtyZXR1cm4gYyh0LGUoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9OmUsbj9mdW5jdGlvbihuKXtyZXR1cm4gYyh0LGUoKSkudGhlbihmdW5jdGlvbigpe3Rocm93IG59KX06ZSl9fSl9LCIwYTBhIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiZGEzYyIpLG89bigiYTdkMyIpLGk9bigiYjQ1NyIpLGE9bigiZmRhMSIpLGM9bigiM2FkYyIpLmY7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PW8uU3ltYm9sfHwoby5TeW1ib2w9aT97fTpyLlN5bWJvbHx8e30pOyJfIj09ZS5jaGFyQXQoMCl8fGUgaW4gdHx8Yyh0LGUse3ZhbHVlOmEuZihlKX0pfX0sIjBhNDkiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI5YjQzIiksbz1uKCI2MjZhIiksaT1uKCI0YmY4IiksYT1uKCI5ZGVmIiksYz1uKCJjZDFjIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIG49MT09ZSxzPTI9PWUsdT0zPT1lLGY9ND09ZSxsPTY9PWUscD01PT1lfHxsLGQ9dHx8YztyZXR1cm4gZnVuY3Rpb24odCxjLGgpe2Zvcih2YXIgdixtLHk9aSh0KSxfPW8oeSksZz1yKGMsaCwzKSxiPWEoXy5sZW5ndGgpLHc9MCx4PW4/ZCh0LGIpOnM/ZCh0LDApOnZvaWQgMDtiPnc7dysrKWlmKChwfHx3IGluIF8pJiYodj1fW3ddLG09Zyh2LHcseSksZSkpaWYobil4W3ddPW07ZWxzZSBpZihtKXN3aXRjaChlKXtjYXNlIDM6cmV0dXJuITA7Y2FzZSA1OnJldHVybiB2O2Nhc2UgNjpyZXR1cm4gdztjYXNlIDI6eC5wdXNoKHYpfWVsc2UgaWYoZilyZXR1cm4hMTtyZXR1cm4gbD8tMTp1fHxmP2Y6eH19fSwiMGJmYiI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJjYjdjIik7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIGU9cih0aGlzKSx0PSIiO3JldHVybiBlLmdsb2JhbCYmKHQrPSJnIiksZS5pZ25vcmVDYXNlJiYodCs9ImkiKSxlLm11bHRpbGluZSYmKHQrPSJtIiksZS51bmljb2RlJiYodCs9InUiKSxlLnN0aWNreSYmKHQrPSJ5IiksdH19LCIwZDU4IjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiY2UxMCIpLG89bigiZTExZSIpO2UuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7cmV0dXJuIHIoZSxvKX19LCIwZjAxIjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImU5YWMiKSxvPXIoIiVPYmplY3QlIiksaT1yKCIlVHlwZUVycm9yJSIpLGE9cigiJVN0cmluZyUiKSxjPW4oImM0NmQiKSxzPW4oIjIwNTciKSx1PW4oImM2MTIiKSxmPW4oIjU5NzUiKSxsPW4oImJiNTMiKSxwPW4oIjIxZDAiKSxkPW4oIjJmMTciKSxoPW4oImEwZDMiKSx2PXtUb1ByaW1pdGl2ZTpkLFRvQm9vbGVhbjpmdW5jdGlvbihlKXtyZXR1cm4hIWV9LFRvTnVtYmVyOmZ1bmN0aW9uKGUpe3JldHVybitlfSxUb0ludGVnZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5Ub051bWJlcihlKTtyZXR1cm4gcyh0KT8wOjAhPT10JiZ1KHQpP2YodCkqTWF0aC5mbG9vcihNYXRoLmFicyh0KSk6dH0sVG9JbnQzMjpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5Ub051bWJlcihlKT4+MH0sVG9VaW50MzI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuVG9OdW1iZXIoZSk+Pj4wfSxUb1VpbnQxNjpmdW5jdGlvbihlKXt2YXIgdD10aGlzLlRvTnVtYmVyKGUpO2lmKHModCl8fDA9PT10fHwhdSh0KSlyZXR1cm4gMDt2YXIgbj1mKHQpKk1hdGguZmxvb3IoTWF0aC5hYnModCkpO3JldHVybiBsKG4sNjU1MzYpfSxUb1N0cmluZzpmdW5jdGlvbihlKXtyZXR1cm4gYShlKX0sVG9PYmplY3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuQ2hlY2tPYmplY3RDb2VyY2libGUoZSksbyhlKX0sQ2hlY2tPYmplY3RDb2VyY2libGU6ZnVuY3Rpb24oZSx0KXtpZihudWxsPT1lKXRocm93IG5ldyBpKHR8fCJDYW5ub3QgY2FsbCBtZXRob2Qgb24gIitlKTtyZXR1cm4gZX0sSXNDYWxsYWJsZTpwLFNhbWVWYWx1ZTpmdW5jdGlvbihlLHQpe3JldHVybiBlPT09dD8wIT09ZXx8MS9lPT09MS90OnMoZSkmJnModCl9LFR5cGU6ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lPyJOdWxsIjoidW5kZWZpbmVkIj09PXR5cGVvZiBlPyJVbmRlZmluZWQiOiJmdW5jdGlvbiI9PT10eXBlb2YgZXx8Im9iamVjdCI9PT10eXBlb2YgZT8iT2JqZWN0IjoibnVtYmVyIj09PXR5cGVvZiBlPyJOdW1iZXIiOiJib29sZWFuIj09PXR5cGVvZiBlPyJCb29sZWFuIjoic3RyaW5nIj09PXR5cGVvZiBlPyJTdHJpbmciOnZvaWQgMH0sSXNQcm9wZXJ0eURlc2NyaXB0b3I6ZnVuY3Rpb24oZSl7aWYoIk9iamVjdCIhPT10aGlzLlR5cGUoZSkpcmV0dXJuITE7dmFyIHQ9eyJbW0NvbmZpZ3VyYWJsZV1dIjohMCwiW1tFbnVtZXJhYmxlXV0iOiEwLCJbW0dldF1dIjohMCwiW1tTZXRdXSI6ITAsIltbVmFsdWVdXSI6ITAsIltbV3JpdGFibGVdXSI6ITB9O2Zvcih2YXIgbiBpbiBlKWlmKGgoZSxuKSYmIXRbbl0pcmV0dXJuITE7dmFyIHI9aChlLCJbW1ZhbHVlXV0iKSxvPWgoZSwiW1tHZXRdXSIpfHxoKGUsIltbU2V0XV0iKTtpZihyJiZvKXRocm93IG5ldyBpKCJQcm9wZXJ0eSBEZXNjcmlwdG9ycyBtYXkgbm90IGJlIGJvdGggYWNjZXNzb3IgYW5kIGRhdGEgZGVzY3JpcHRvcnMiKTtyZXR1cm4hMH0sSXNBY2Nlc3NvckRlc2NyaXB0b3I6ZnVuY3Rpb24oZSl7cmV0dXJuInVuZGVmaW5lZCIhPT10eXBlb2YgZSYmKGModGhpcywiUHJvcGVydHkgRGVzY3JpcHRvciIsIkRlc2MiLGUpLCEoIWgoZSwiW1tHZXRdXSIpJiYhaChlLCJbW1NldF1dIikpKX0sSXNEYXRhRGVzY3JpcHRvcjpmdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9PXR5cGVvZiBlJiYoYyh0aGlzLCJQcm9wZXJ0eSBEZXNjcmlwdG9yIiwiRGVzYyIsZSksISghaChlLCJbW1ZhbHVlXV0iKSYmIWgoZSwiW1tXcml0YWJsZV1dIikpKX0sSXNHZW5lcmljRGVzY3JpcHRvcjpmdW5jdGlvbihlKXtyZXR1cm4idW5kZWZpbmVkIiE9PXR5cGVvZiBlJiYoYyh0aGlzLCJQcm9wZXJ0eSBEZXNjcmlwdG9yIiwiRGVzYyIsZSksIXRoaXMuSXNBY2Nlc3NvckRlc2NyaXB0b3IoZSkmJiF0aGlzLklzRGF0YURlc2NyaXB0b3IoZSkpfSxGcm9tUHJvcGVydHlEZXNjcmlwdG9yOmZ1bmN0aW9uKGUpe2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIGUpcmV0dXJuIGU7aWYoYyh0aGlzLCJQcm9wZXJ0eSBEZXNjcmlwdG9yIiwiRGVzYyIsZSksdGhpcy5Jc0RhdGFEZXNjcmlwdG9yKGUpKXJldHVybnt2YWx1ZTplWyJbW1ZhbHVlXV0iXSx3cml0YWJsZTohIWVbIltbV3JpdGFibGVdXSJdLGVudW1lcmFibGU6ISFlWyJbW0VudW1lcmFibGVdXSJdLGNvbmZpZ3VyYWJsZTohIWVbIltbQ29uZmlndXJhYmxlXV0iXX07aWYodGhpcy5Jc0FjY2Vzc29yRGVzY3JpcHRvcihlKSlyZXR1cm57Z2V0OmVbIltbR2V0XV0iXSxzZXQ6ZVsiW1tTZXRdXSJdLGVudW1lcmFibGU6ISFlWyJbW0VudW1lcmFibGVdXSJdLGNvbmZpZ3VyYWJsZTohIWVbIltbQ29uZmlndXJhYmxlXV0iXX07dGhyb3cgbmV3IGkoIkZyb21Qcm9wZXJ0eURlc2NyaXB0b3IgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIGZ1bGx5IHBvcHVsYXRlZCBQcm9wZXJ0eSBEZXNjcmlwdG9yIil9LFRvUHJvcGVydHlEZXNjcmlwdG9yOmZ1bmN0aW9uKGUpe2lmKCJPYmplY3QiIT09dGhpcy5UeXBlKGUpKXRocm93IG5ldyBpKCJUb1Byb3BlcnR5RGVzY3JpcHRvciByZXF1aXJlcyBhbiBvYmplY3QiKTt2YXIgdD17fTtpZihoKGUsImVudW1lcmFibGUiKSYmKHRbIltbRW51bWVyYWJsZV1dIl09dGhpcy5Ub0Jvb2xlYW4oZS5lbnVtZXJhYmxlKSksaChlLCJjb25maWd1cmFibGUiKSYmKHRbIltbQ29uZmlndXJhYmxlXV0iXT10aGlzLlRvQm9vbGVhbihlLmNvbmZpZ3VyYWJsZSkpLGgoZSwidmFsdWUiKSYmKHRbIltbVmFsdWVdXSJdPWUudmFsdWUpLGgoZSwid3JpdGFibGUiKSYmKHRbIltbV3JpdGFibGVdXSJdPXRoaXMuVG9Cb29sZWFuKGUud3JpdGFibGUpKSxoKGUsImdldCIpKXt2YXIgbj1lLmdldDtpZigidW5kZWZpbmVkIiE9PXR5cGVvZiBuJiYhdGhpcy5Jc0NhbGxhYmxlKG4pKXRocm93IG5ldyBUeXBlRXJyb3IoImdldHRlciBtdXN0IGJlIGEgZnVuY3Rpb24iKTt0WyJbW0dldF1dIl09bn1pZihoKGUsInNldCIpKXt2YXIgcj1lLnNldDtpZigidW5kZWZpbmVkIiE9PXR5cGVvZiByJiYhdGhpcy5Jc0NhbGxhYmxlKHIpKXRocm93IG5ldyBpKCJzZXR0ZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dFsiW1tTZXRdXSJdPXJ9aWYoKGgodCwiW1tHZXRdXSIpfHxoKHQsIltbU2V0XV0iKSkmJihoKHQsIltbVmFsdWVdXSIpfHxoKHQsIltbV3JpdGFibGVdXSIpKSl0aHJvdyBuZXcgaSgiSW52YWxpZCBwcm9wZXJ0eSBkZXNjcmlwdG9yLiBDYW5ub3QgYm90aCBzcGVjaWZ5IGFjY2Vzc29ycyBhbmQgYSB2YWx1ZSBvciB3cml0YWJsZSBhdHRyaWJ1dGUiKTtyZXR1cm4gdH19O2UuZXhwb3J0cz12fSwiMGY3YyI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI2ODhlIik7ZS5leHBvcnRzPUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kfHxyfSwiMGY4OSI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjZmOGEiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoIXIoZSkpdGhyb3cgVHlwZUVycm9yKGUrIiBpcyBub3QgYW4gb2JqZWN0ISIpO3JldHVybiBlfX0sMTA6ZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1uKCJjZTcwIil9LCIxMDNhIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiZGEzYyIpLmRvY3VtZW50O2UuZXhwb3J0cz1yJiZyLmRvY3VtZW50RWxlbWVudH0sMTE2OTpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiMmQ5NSIpO2UuZXhwb3J0cz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4iQXJyYXkiPT1yKGUpfX0sIjExZTkiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI1MmE3Iiksbz1uKCI0NjMwIiksaT1uKCI2ODIxIiksYT1uKCI2YTk5IiksYz1uKCI2OWE4Iikscz1uKCJjNjlhIiksdT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO3QuZj1uKCI5ZTFlIik/dTpmdW5jdGlvbihlLHQpe2lmKGU9aShlKSx0PWEodCwhMCkscyl0cnl7cmV0dXJuIHUoZSx0KX1jYXRjaChuKXt9aWYoYyhlLHQpKXJldHVybiBvKCFyLmYuY2FsbChlLHQpLGVbdF0pfX0sIjExZmYiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJkYTNjIikucGFyc2VGbG9hdCxvPW4oIjYzM2EiKS50cmltO2UuZXhwb3J0cz0xL3IobigiNzAyYSIpKyItMCIpIT09LTEvMD9mdW5jdGlvbihlKXt2YXIgdD1vKFN0cmluZyhlKSwzKSxuPXIodCk7cmV0dXJuIDA9PT1uJiYiLSI9PXQuY2hhckF0KDApPy0wOm59OnJ9LCIxMmZkIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiNmY4YSIpLG89bigiZGEzYyIpLmRvY3VtZW50LGk9cihvKSYmcihvLmNyZWF0ZUVsZW1lbnQpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gaT9vLmNyZWF0ZUVsZW1lbnQoZSk6e319fSwiMTJmZDkiOmZ1bmN0aW9uKGUsdCl7fSwxNDk1OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI4NmNjIiksbz1uKCJjYjdjIiksaT1uKCIwZDU4Iik7ZS5leHBvcnRzPW4oIjllMWUiKT9PYmplY3QuZGVmaW5lUHJvcGVydGllczpmdW5jdGlvbihlLHQpe28oZSk7dmFyIG4sYT1pKHQpLGM9YS5sZW5ndGgscz0wO3doaWxlKGM+cylyLmYoZSxuPWFbcysrXSx0W25dKTtyZXR1cm4gZX19LCIxOTZjIjpmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbil7dmFyIHI9dm9pZCAwPT09bjtzd2l0Y2godC5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gcj9lKCk6ZS5jYWxsKG4pO2Nhc2UgMTpyZXR1cm4gcj9lKHRbMF0pOmUuY2FsbChuLHRbMF0pO2Nhc2UgMjpyZXR1cm4gcj9lKHRbMF0sdFsxXSk6ZS5jYWxsKG4sdFswXSx0WzFdKTtjYXNlIDM6cmV0dXJuIHI/ZSh0WzBdLHRbMV0sdFsyXSk6ZS5jYWxsKG4sdFswXSx0WzFdLHRbMl0pO2Nhc2UgNDpyZXR1cm4gcj9lKHRbMF0sdFsxXSx0WzJdLHRbM10pOmUuY2FsbChuLHRbMF0sdFsxXSx0WzJdLHRbM10pfXJldHVybiBlLmFwcGx5KG4sdCl9fSwxOTkxOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcixvLGksYT1uKCI5YjQzIiksYz1uKCIzMWY0Iikscz1uKCJmYWIyIiksdT1uKCIyMzBlIiksZj1uKCI3NzI2IiksbD1mLnByb2Nlc3MscD1mLnNldEltbWVkaWF0ZSxkPWYuY2xlYXJJbW1lZGlhdGUsaD1mLk1lc3NhZ2VDaGFubmVsLHY9Zi5EaXNwYXRjaCxtPTAseT17fSxfPSJvbnJlYWR5c3RhdGVjaGFuZ2UiLGc9ZnVuY3Rpb24oKXt2YXIgZT0rdGhpcztpZih5Lmhhc093blByb3BlcnR5KGUpKXt2YXIgdD15W2VdO2RlbGV0ZSB5W2VdLHQoKX19LGI9ZnVuY3Rpb24oZSl7Zy5jYWxsKGUuZGF0YSl9O3AmJmR8fChwPWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49MTt3aGlsZShhcmd1bWVudHMubGVuZ3RoPm4pdC5wdXNoKGFyZ3VtZW50c1tuKytdKTtyZXR1cm4geVsrK21dPWZ1bmN0aW9uKCl7YygiZnVuY3Rpb24iPT10eXBlb2YgZT9lOkZ1bmN0aW9uKGUpLHQpfSxyKG0pLG19LGQ9ZnVuY3Rpb24oZSl7ZGVsZXRlIHlbZV19LCJwcm9jZXNzIj09bigiMmQ5NSIpKGwpP3I9ZnVuY3Rpb24oZSl7bC5uZXh0VGljayhhKGcsZSwxKSl9OnYmJnYubm93P3I9ZnVuY3Rpb24oZSl7di5ub3coYShnLGUsMSkpfTpoPyhvPW5ldyBoLGk9by5wb3J0MixvLnBvcnQxLm9ubWVzc2FnZT1iLHI9YShpLnBvc3RNZXNzYWdlLGksMSkpOmYuYWRkRXZlbnRMaXN0ZW5lciYmImZ1bmN0aW9uIj09dHlwZW9mIHBvc3RNZXNzYWdlJiYhZi5pbXBvcnRTY3JpcHRzPyhyPWZ1bmN0aW9uKGUpe2YucG9zdE1lc3NhZ2UoZSsiIiwiKiIpfSxmLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGIsITEpKTpyPV8gaW4gdSgic2NyaXB0Iik/ZnVuY3Rpb24oZSl7cy5hcHBlbmRDaGlsZCh1KCJzY3JpcHQiKSlbX109ZnVuY3Rpb24oKXtzLnJlbW92ZUNoaWxkKHRoaXMpLGcuY2FsbChlKX19OmZ1bmN0aW9uKGUpe3NldFRpbWVvdXQoYShnLGUsMSksMCl9KSxlLmV4cG9ydHM9e3NldDpwLGNsZWFyOmR9fSwiMWI1NSI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjc3NzIiKSgid2tzIiksbz1uKCI3YjAwIiksaT1uKCJkYTNjIikuU3ltYm9sLGE9ImZ1bmN0aW9uIj09dHlwZW9mIGksYz1lLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHJbZV18fChyW2VdPWEmJmlbZV18fChhP2k6bykoIlN5bWJvbC4iK2UpKX07Yy5zdG9yZT1yfSwiMWI3ZiI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI1NjJlIiksbz0i4oCLIjtlLmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltJiZvLnRyaW0oKT09PW8/U3RyaW5nLnByb3RvdHlwZS50cmltOnJ9fSwiMWI4ZiI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImE4MTIiKSxvPU1hdGgubWF4LGk9TWF0aC5taW47ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9cihlKSxlPDA/byhlK3QsMCk6aShlLHQpfX0sIjFiZTQiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiZGEzYyIpLG89bigiYTdkMyIpLGk9bigiM2FkYyIpLGE9bigiN2Q5NSIpLGM9bigiMWI1NSIpKCJzcGVjaWVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PSJmdW5jdGlvbiI9PXR5cGVvZiBvW2VdP29bZV06cltlXTthJiZ0JiYhdFtjXSYmaS5mKHQsYyx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzfX0pfX0sIjFmYTgiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJjYjdjIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuLG8pe3RyeXtyZXR1cm4gbz90KHIobilbMF0sblsxXSk6dChuKX1jYXRjaChhKXt2YXIgaT1lWyJyZXR1cm4iXTt0aHJvdyB2b2lkIDAhPT1pJiZyKGkuY2FsbChlKSksYX19fSwyMDU3OmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT1lfX0sIjIxMGMiOmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17Y29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ontwb3dlcmVkX2J5OiJEaWR1a3VuZyBvbGVoICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3ByaWNlX2NoYXJ0X3dpZGdldDp7IjI0aF9oaWdoIjoiMjRKIFRpbmdnaSIsIjI0aF9sb3ciOiIyNEogUmVuZGFoIix2aWV3X3ByaWNlX2NoYXJ0OiJMaWhhdCBHcmFmaWsgSGFyZ2EiLHBvd2VyZWRfYnk6IkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fbGlzdF93aWRnZXQ6e3Bvd2VyZWRfYnk6IkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGJlYW1fd2lkZ2V0Ontwb3dlcmVkX2J5OiJEaWR1a3VuZyBvbGVoICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3RpY2tlcl93aWRnZXQ6eyIyNGhfaGlnaCI6IjI0SiBUaW5nZ2kiLCIyNGhfbG93IjoiMjRKIFJlbmRhaCIsdmlld19wcmljZV9jaGFydDoiTGloYXQgR3JhZmlrIEhhcmdhIixwb3dlcmVkX2J5OiJEaWR1a3VuZyBvbGVoICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2NvbnZlcnRlcl93aWRnZXQ6e3ZpZXdfcHJpY2VfY2hhcnQ6IkxpaGF0IEdyYWZpayBIYXJnYSIscG93ZXJlZF9ieToiRGlkdWt1bmcgb2xlaCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9oZWF0bWFwX3dpZGdldDp7dGl0bGU6IlBldGEgUG9ob24gQ3J5cHRvY3VycmVuY3kiLHN1YnRpdGxlOiIoJXt0b3B9IEJlc2FyIEJlcmRhc2Fya2FuIEthcGl0YWxpc2FzaSBQYXNhcikiLHBvd2VyZWRfYnk6IkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9fX0sIjIxNGYiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiYjBjNSIpO3ZhciByPW4oIjJhYmEiKSxvPW4oIjMyZTkiKSxpPW4oIjc5ZTUiKSxhPW4oImJlMTMiKSxjPW4oIjJiNGMiKSxzPW4oIjUyMGEiKSx1PWMoInNwZWNpZXMiKSxmPSFpKGZ1bmN0aW9uKCl7dmFyIGU9Ly4vO3JldHVybiBlLmV4ZWM9ZnVuY3Rpb24oKXt2YXIgZT1bXTtyZXR1cm4gZS5ncm91cHM9e2E6IjcifSxlfSwiNyIhPT0iIi5yZXBsYWNlKGUsIiQ8YT4iKX0pLGw9ZnVuY3Rpb24oKXt2YXIgZT0vKD86KS8sdD1lLmV4ZWM7ZS5leGVjPWZ1bmN0aW9uKCl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfTt2YXIgbj0iYWIiLnNwbGl0KGUpO3JldHVybiAyPT09bi5sZW5ndGgmJiJhIj09PW5bMF0mJiJiIj09PW5bMV19KCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcD1jKGUpLGQ9IWkoZnVuY3Rpb24oKXt2YXIgdD17fTtyZXR1cm4gdFtwXT1mdW5jdGlvbigpe3JldHVybiA3fSw3IT0iIltlXSh0KX0pLGg9ZD8haShmdW5jdGlvbigpe3ZhciB0PSExLG49L2EvO3JldHVybiBuLmV4ZWM9ZnVuY3Rpb24oKXtyZXR1cm4gdD0hMCxudWxsfSwic3BsaXQiPT09ZSYmKG4uY29uc3RydWN0b3I9e30sbi5jb25zdHJ1Y3Rvclt1XT1mdW5jdGlvbigpe3JldHVybiBufSksbltwXSgiIiksIXR9KTp2b2lkIDA7aWYoIWR8fCFofHwicmVwbGFjZSI9PT1lJiYhZnx8InNwbGl0Ij09PWUmJiFsKXt2YXIgdj0vLi9bcF0sbT1uKGEscCwiIltlXSxmdW5jdGlvbihlLHQsbixyLG8pe3JldHVybiB0LmV4ZWM9PT1zP2QmJiFvP3tkb25lOiEwLHZhbHVlOnYuY2FsbCh0LG4scil9Ontkb25lOiEwLHZhbHVlOmUuY2FsbChuLHQscil9Ontkb25lOiExfX0pLHk9bVswXSxfPW1bMV07cihTdHJpbmcucHJvdG90eXBlLGUseSksbyhSZWdFeHAucHJvdG90eXBlLHAsMj09dD9mdW5jdGlvbihlLHQpe3JldHVybiBfLmNhbGwoZSx0aGlzLHQpfTpmdW5jdGlvbihlKXtyZXR1cm4gXy5jYWxsKGUsdGhpcyl9KX19fSwiMjFkMCI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcsbz0vXlxzKmNsYXNzXGIvLGk9ZnVuY3Rpb24oZSl7dHJ5e3ZhciB0PXIuY2FsbChlKTtyZXR1cm4gby50ZXN0KHQpfWNhdGNoKG4pe3JldHVybiExfX0sYT1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIWkoZSkmJihyLmNhbGwoZSksITApfWNhdGNoKHQpe3JldHVybiExfX0sYz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLHM9IltvYmplY3QgRnVuY3Rpb25dIix1PSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsZj0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT10eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtpZighZSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iIT09dHlwZW9mIGUmJiJvYmplY3QiIT09dHlwZW9mIGUpcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBlJiYhZS5wcm90b3R5cGUpcmV0dXJuITA7aWYoZilyZXR1cm4gYShlKTtpZihpKGUpKXJldHVybiExO3ZhciB0PWMuY2FsbChlKTtyZXR1cm4gdD09PXN8fHQ9PT11fX0sIjIzMGUiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJkM2Y0Iiksbz1uKCI3NzI2IikuZG9jdW1lbnQsaT1yKG8pJiZyKG8uY3JlYXRlRWxlbWVudCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBpP28uY3JlYXRlRWxlbWVudChlKTp7fX19LDIzMTI6ZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1uKCI4Y2UwIil9LDIzNTA6ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBuKGUsdCl7dmFyIG49ZVsxXXx8IiIsbz1lWzNdO2lmKCFvKXJldHVybiBuO2lmKHQmJiJmdW5jdGlvbiI9PT10eXBlb2YgYnRvYSl7dmFyIGk9cihvKSxhPW8uc291cmNlcy5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIi8qIyBzb3VyY2VVUkw9IitvLnNvdXJjZVJvb3QrZSsiICovIn0pO3JldHVybltuXS5jb25jYXQoYSkuY29uY2F0KFtpXSkuam9pbigiXG4iKX1yZXR1cm5bbl0uam9pbigiXG4iKX1mdW5jdGlvbiByKGUpe3ZhciB0PWJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGUpKSkpLG49InNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCIrdDtyZXR1cm4iLyojICIrbisiICovIn1lLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9W107cmV0dXJuIHQudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24odCl7dmFyIHI9bih0LGUpO3JldHVybiB0WzJdPyJAbWVkaWEgIit0WzJdKyJ7IityKyJ9IjpyfSkuam9pbigiIil9LHQuaT1mdW5jdGlvbihlLG4peyJzdHJpbmciPT09dHlwZW9mIGUmJihlPVtbbnVsbCxlLCIiXV0pO2Zvcih2YXIgcj17fSxvPTA7bzx0aGlzLmxlbmd0aDtvKyspe3ZhciBpPXRoaXNbb11bMF07Im51bWJlciI9PT10eXBlb2YgaSYmKHJbaV09ITApfWZvcihvPTA7bzxlLmxlbmd0aDtvKyspe3ZhciBhPWVbb107Im51bWJlciI9PT10eXBlb2YgYVswXSYmclthWzBdXXx8KG4mJiFhWzJdP2FbMl09bjpuJiYoYVsyXT0iKCIrYVsyXSsiKSBhbmQgKCIrbisiKSIpLHQucHVzaChhKSl9fSx0fX0sIjIzYzYiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCIyZDk1Iiksbz1uKCIyYjRjIikoInRvU3RyaW5nVGFnIiksaT0iQXJndW1lbnRzIj09cihmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpLGE9ZnVuY3Rpb24oZSx0KXt0cnl7cmV0dXJuIGVbdF19Y2F0Y2gobil7fX07ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0LG4sYztyZXR1cm4gdm9pZCAwPT09ZT8iVW5kZWZpbmVkIjpudWxsPT09ZT8iTnVsbCI6InN0cmluZyI9PXR5cGVvZihuPWEodD1PYmplY3QoZSksbykpP246aT9yKHQpOiJPYmplY3QiPT0oYz1yKHQpKSYmImZ1bmN0aW9uIj09dHlwZW9mIHQuY2FsbGVlPyJBcmd1bWVudHMiOmN9fSwyNDE4OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI2YTliIiksbz1uKCJhNWFiIiksaT1uKCIxYjhmIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0LG4sYSl7dmFyIGMscz1yKHQpLHU9byhzLmxlbmd0aCksZj1pKGEsdSk7aWYoZSYmbiE9bil7d2hpbGUodT5mKWlmKGM9c1tmKytdLGMhPWMpcmV0dXJuITB9ZWxzZSBmb3IoO3U+ZjtmKyspaWYoKGV8fGYgaW4gcykmJnNbZl09PT1uKXJldHVybiBlfHxmfHwwO3JldHVybiFlJiYtMX19fSwiMjQ1YiI6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm57dmFsdWU6dCxkb25lOiEhZX19fSwyNjk1OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI0M2M4Iiksbz1uKCI2YTliIiksaT1uKCIyNDE4IikoITEpLGE9bigiNWQ4ZiIpKCJJRV9QUk9UTyIpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuLGM9byhlKSxzPTAsdT1bXTtmb3IobiBpbiBjKW4hPWEmJnIoYyxuKSYmdS5wdXNoKG4pO3doaWxlKHQubGVuZ3RoPnMpcihjLG49dFtzKytdKSYmKH5pKHUsbil8fHUucHVzaChuKSk7cmV0dXJuIHV9fSwiMjdlZSI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjIzYzYiKSxvPW4oIjJiNGMiKSgiaXRlcmF0b3IiKSxpPW4oIjg0ZjIiKTtlLmV4cG9ydHM9bigiODM3OCIpLmdldEl0ZXJhdG9yTWV0aG9kPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMCE9ZSlyZXR1cm4gZVtvXXx8ZVsiQEBpdGVyYXRvciJdfHxpW3IoZSldfX0sMjg3NzpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHIoZSx0LG4scixvLGksYSxjKXt2YXIgcyx1PSJmdW5jdGlvbiI9PT10eXBlb2YgZT9lLm9wdGlvbnM6ZTtpZih0JiYodS5yZW5kZXI9dCx1LnN0YXRpY1JlbmRlckZucz1uLHUuX2NvbXBpbGVkPSEwKSxyJiYodS5mdW5jdGlvbmFsPSEwKSxpJiYodS5fc2NvcGVJZD0iZGF0YS12LSIraSksYT8ocz1mdW5jdGlvbihlKXtlPWV8fHRoaXMuJHZub2RlJiZ0aGlzLiR2bm9kZS5zc3JDb250ZXh0fHx0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQuJHZub2RlJiZ0aGlzLnBhcmVudC4kdm5vZGUuc3NyQ29udGV4dCxlfHwidW5kZWZpbmVkIj09PXR5cGVvZiBfX1ZVRV9TU1JfQ09OVEVYVF9ffHwoZT1fX1ZVRV9TU1JfQ09OVEVYVF9fKSxvJiZvLmNhbGwodGhpcyxlKSxlJiZlLl9yZWdpc3RlcmVkQ29tcG9uZW50cyYmZS5fcmVnaXN0ZXJlZENvbXBvbmVudHMuYWRkKGEpfSx1Ll9zc3JSZWdpc3Rlcj1zKTpvJiYocz1jP2Z1bmN0aW9uKCl7by5jYWxsKHRoaXMsdGhpcy4kcm9vdC4kb3B0aW9ucy5zaGFkb3dSb290KX06bykscylpZih1LmZ1bmN0aW9uYWwpe3UuX2luamVjdFN0eWxlcz1zO3ZhciBmPXUucmVuZGVyO3UucmVuZGVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHMuY2FsbCh0KSxmKGUsdCl9fWVsc2V7dmFyIGw9dS5iZWZvcmVDcmVhdGU7dS5iZWZvcmVDcmVhdGU9bD9bXS5jb25jYXQobCxzKTpbc119cmV0dXJue2V4cG9ydHM6ZSxvcHRpb25zOnV9fW4uZCh0LCJhIixmdW5jdGlvbigpe3JldHVybiByfSl9LCIyODhhIjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImQwMjQiKSxvPW4oImZhNGUiKSxpPW4oImEwZDMiKSxhPW4oImNhOWYiKSxjPWZ1bmN0aW9uKGUpe28oITEsZSl9LHM9U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLHU9U3RyaW5nLnByb3RvdHlwZS5zcGxpdCxmPSJ8fHx8IixsPWZ1bmN0aW9uKGUpe3ZhciB0PWUlMTA7cmV0dXJuIDExIT09ZSYmMT09PXQ/MDoyPD10JiZ0PD00JiYhKGU+PTEyJiZlPD0xNCk/MToyfSxwPXthcmFiaWM6ZnVuY3Rpb24oZSl7aWYoZTwzKXJldHVybiBlO3ZhciB0PWUlMTAwO3JldHVybiB0Pj0zJiZ0PD0xMD8zOnQ+PTExPzQ6NX0sYm9zbmlhbl9zZXJiaWFuOmwsY2hpbmVzZTpmdW5jdGlvbigpe3JldHVybiAwfSxjcm9hdGlhbjpsLGZyZW5jaDpmdW5jdGlvbihlKXtyZXR1cm4gZT4xPzE6MH0sZ2VybWFuOmZ1bmN0aW9uKGUpe3JldHVybiAxIT09ZT8xOjB9LHJ1c3NpYW46bCxsaXRodWFuaWFuOmZ1bmN0aW9uKGUpe3JldHVybiBlJTEwPT09MSYmZSUxMDAhPT0xMT8wOmUlMTA+PTImJmUlMTA8PTkmJihlJTEwMDwxMXx8ZSUxMDA+MTkpPzE6Mn0sY3plY2g6ZnVuY3Rpb24oZSl7cmV0dXJuIDE9PT1lPzA6ZT49MiYmZTw9ND8xOjJ9LHBvbGlzaDpmdW5jdGlvbihlKXtpZigxPT09ZSlyZXR1cm4gMDt2YXIgdD1lJTEwO3JldHVybiAyPD10JiZ0PD00JiYoZSUxMDA8MTB8fGUlMTAwPj0yMCk/MToyfSxpY2VsYW5kaWM6ZnVuY3Rpb24oZSl7cmV0dXJuIGUlMTAhPT0xfHxlJTEwMD09PTExPzE6MH0sc2xvdmVuaWFuOmZ1bmN0aW9uKGUpe3ZhciB0PWUlMTAwO3JldHVybiAxPT09dD8wOjI9PT10PzE6Mz09PXR8fDQ9PT10PzI6M319LGQ9e2FyYWJpYzpbImFyIl0sYm9zbmlhbl9zZXJiaWFuOlsiYnMtTGF0bi1CQSIsImJzLUN5cmwtQkEiLCJzcmwtUlMiLCJzci1SUyJdLGNoaW5lc2U6WyJpZCIsImlkLUlEIiwiamEiLCJrbyIsImtvLUtSIiwibG8iLCJtcyIsInRoIiwidGgtVEgiLCJ6aCJdLGNyb2F0aWFuOlsiaHIiLCJoci1IUiJdLGdlcm1hbjpbImZhIiwiZGEiLCJkZSIsImVuIiwiZXMiLCJmaSIsImVsIiwiaGUiLCJoaS1JTiIsImh1IiwiaHUtSFUiLCJpdCIsIm5sIiwibm8iLCJwdCIsInN2IiwidHIiXSxmcmVuY2g6WyJmciIsInRsIiwicHQtYnIiXSxydXNzaWFuOlsicnUiLCJydS1SVSJdLGxpdGh1YW5pYW46WyJsdCJdLGN6ZWNoOlsiY3MiLCJjcy1DWiIsInNrIl0scG9saXNoOlsicGwiXSxpY2VsYW5kaWM6WyJpcyJdLHNsb3ZlbmlhbjpbInNsLVNMIl19O2Z1bmN0aW9uIGgoZSl7dmFyIHQ9e307cmV0dXJuIHIoZSxmdW5jdGlvbihlLG4pe3IoZSxmdW5jdGlvbihlKXt0W2VdPW59KX0pLHR9ZnVuY3Rpb24gdihlKXt2YXIgdD1oKGQpO3JldHVybiB0W2VdfHx0W3UuY2FsbChlLC8tLywxKVswXV18fHQuZW59ZnVuY3Rpb24gbShlLHQpe3JldHVybiBwW3YoZSldKHQpfWZ1bmN0aW9uIHkoZSl7cmV0dXJuIGUucmVwbGFjZSgvWy4qKz9eJHt9KCl8W1xdXFxdL2csIlxcJCYiKX1mdW5jdGlvbiBfKGUpe3ZhciB0PWUmJmUucHJlZml4fHwiJXsiLG49ZSYmZS5zdWZmaXh8fCJ9IjtpZih0PT09Znx8bj09PWYpdGhyb3cgbmV3IFJhbmdlRXJyb3IoJyInK2YrJyIgdG9rZW4gaXMgcmVzZXJ2ZWQgZm9yIHBsdXJhbGl6YXRpb24nKTtyZXR1cm4gbmV3IFJlZ0V4cCh5KHQpKyIoLio/KSIreShuKSwiZyIpfXZhciBnPS9cJC9nLGI9IiQkIix3PS8lXHsoLio/KVx9L2c7ZnVuY3Rpb24geChlLHQsbixyKXtpZigic3RyaW5nIiE9PXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoIlBvbHlnbG90LnRyYW5zZm9ybVBocmFzZSBleHBlY3RzIGFyZ3VtZW50ICMxIHRvIGJlIHN0cmluZyIpO2lmKG51bGw9PXQpcmV0dXJuIGU7dmFyIG89ZSxjPXJ8fHcsbD0ibnVtYmVyIj09PXR5cGVvZiB0P3tzbWFydF9jb3VudDp0fTp0O2lmKG51bGwhPWwuc21hcnRfY291bnQmJm8pe3ZhciBwPXUuY2FsbChvLGYpO289YShwW20obnx8ImVuIixsLnNtYXJ0X2NvdW50KV18fHBbMF0pfXJldHVybiBvPXMuY2FsbChvLGMsZnVuY3Rpb24oZSx0KXtyZXR1cm4gaShsLHQpJiZudWxsIT1sW3RdP3MuY2FsbChsW3RdLGcsYik6ZX0pLG99ZnVuY3Rpb24gQyhlKXt2YXIgdD1lfHx7fTt0aGlzLnBocmFzZXM9e30sdGhpcy5leHRlbmQodC5waHJhc2VzfHx7fSksdGhpcy5jdXJyZW50TG9jYWxlPXQubG9jYWxlfHwiZW4iO3ZhciBuPXQuYWxsb3dNaXNzaW5nP3g6bnVsbDt0aGlzLm9uTWlzc2luZ0tleT0iZnVuY3Rpb24iPT09dHlwZW9mIHQub25NaXNzaW5nS2V5P3Qub25NaXNzaW5nS2V5Om4sdGhpcy53YXJuPXQud2Fybnx8Yyx0aGlzLnRva2VuUmVnZXg9Xyh0LmludGVycG9sYXRpb24pfUMucHJvdG90eXBlLmxvY2FsZT1mdW5jdGlvbihlKXtyZXR1cm4gZSYmKHRoaXMuY3VycmVudExvY2FsZT1lKSx0aGlzLmN1cnJlbnRMb2NhbGV9LEMucHJvdG90eXBlLmV4dGVuZD1mdW5jdGlvbihlLHQpe3IoZSxmdW5jdGlvbihlLG4pe3ZhciByPXQ/dCsiLiIrbjpuOyJvYmplY3QiPT09dHlwZW9mIGU/dGhpcy5leHRlbmQoZSxyKTp0aGlzLnBocmFzZXNbcl09ZX0sdGhpcyl9LEMucHJvdG90eXBlLnVuc2V0PWZ1bmN0aW9uKGUsdCl7InN0cmluZyI9PT10eXBlb2YgZT9kZWxldGUgdGhpcy5waHJhc2VzW2VdOnIoZSxmdW5jdGlvbihlLG4pe3ZhciByPXQ/dCsiLiIrbjpuOyJvYmplY3QiPT09dHlwZW9mIGU/dGhpcy51bnNldChlLHIpOmRlbGV0ZSB0aGlzLnBocmFzZXNbcl19LHRoaXMpfSxDLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMucGhyYXNlcz17fX0sQy5wcm90b3R5cGUucmVwbGFjZT1mdW5jdGlvbihlKXt0aGlzLmNsZWFyKCksdGhpcy5leHRlbmQoZSl9LEMucHJvdG90eXBlLnQ9ZnVuY3Rpb24oZSx0KXt2YXIgbixyLG89bnVsbD09dD97fTp0O2lmKCJzdHJpbmciPT09dHlwZW9mIHRoaXMucGhyYXNlc1tlXSluPXRoaXMucGhyYXNlc1tlXTtlbHNlIGlmKCJzdHJpbmciPT09dHlwZW9mIG8uXyluPW8uXztlbHNlIGlmKHRoaXMub25NaXNzaW5nS2V5KXt2YXIgaT10aGlzLm9uTWlzc2luZ0tleTtyPWkoZSxvLHRoaXMuY3VycmVudExvY2FsZSx0aGlzLnRva2VuUmVnZXgpfWVsc2UgdGhpcy53YXJuKCdNaXNzaW5nIHRyYW5zbGF0aW9uIGZvciBrZXk6ICInK2UrJyInKSxyPWU7cmV0dXJuInN0cmluZyI9PT10eXBlb2YgbiYmKHI9eChuLG8sdGhpcy5jdXJyZW50TG9jYWxlLHRoaXMudG9rZW5SZWdleCkpLHJ9LEMucHJvdG90eXBlLmhhcz1mdW5jdGlvbihlKXtyZXR1cm4gaSh0aGlzLnBocmFzZXMsZSl9LEMudHJhbnNmb3JtUGhyYXNlPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4geChlLHQsbil9LGUuZXhwb3J0cz1DfSwiMjhhNSI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJhYWUzIiksbz1uKCJjYjdjIiksaT1uKCJlYmQ2IiksYT1uKCIwMzkwIiksYz1uKCI5ZGVmIikscz1uKCI1ZjFiIiksdT1uKCI1MjBhIiksZj1uKCI3OWU1IiksbD1NYXRoLm1pbixwPVtdLnB1c2gsZD0ic3BsaXQiLGg9Imxlbmd0aCIsdj0ibGFzdEluZGV4IixtPTQyOTQ5NjcyOTUseT0hZihmdW5jdGlvbigpe1JlZ0V4cChtLCJ5Iil9KTtuKCIyMTRmIikoInNwbGl0IiwyLGZ1bmN0aW9uKGUsdCxuLGYpe3ZhciBfO3JldHVybiBfPSJjIj09ImFiYmMiW2RdKC8oYikqLylbMV18fDQhPSJ0ZXN0IltkXSgvKD86KS8sLTEpW2hdfHwyIT0iYWIiW2RdKC8oPzphYikqLylbaF18fDQhPSIuIltkXSgvKC4/KSguPykvKVtoXXx8Ii4iW2RdKC8oKSgpLylbaF0+MXx8IiJbZF0oLy4/LylbaF0/ZnVuY3Rpb24oZSx0KXt2YXIgbz1TdHJpbmcodGhpcyk7aWYodm9pZCAwPT09ZSYmMD09PXQpcmV0dXJuW107aWYoIXIoZSkpcmV0dXJuIG4uY2FsbChvLGUsdCk7dmFyIGksYSxjLHM9W10sZj0oZS5pZ25vcmVDYXNlPyJpIjoiIikrKGUubXVsdGlsaW5lPyJtIjoiIikrKGUudW5pY29kZT8idSI6IiIpKyhlLnN0aWNreT8ieSI6IiIpLGw9MCxkPXZvaWQgMD09PXQ/bTp0Pj4+MCx5PW5ldyBSZWdFeHAoZS5zb3VyY2UsZisiZyIpO3doaWxlKGk9dS5jYWxsKHksbykpe2lmKGE9eVt2XSxhPmwmJihzLnB1c2goby5zbGljZShsLGkuaW5kZXgpKSxpW2hdPjEmJmkuaW5kZXg8b1toXSYmcC5hcHBseShzLGkuc2xpY2UoMSkpLGM9aVswXVtoXSxsPWEsc1toXT49ZCkpYnJlYWs7eVt2XT09PWkuaW5kZXgmJnlbdl0rK31yZXR1cm4gbD09PW9baF0/IWMmJnkudGVzdCgiIil8fHMucHVzaCgiIik6cy5wdXNoKG8uc2xpY2UobCkpLHNbaF0+ZD9zLnNsaWNlKDAsZCk6c306IjAiW2RdKHZvaWQgMCwwKVtoXT9mdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDA9PT1lJiYwPT09dD9bXTpuLmNhbGwodGhpcyxlLHQpfTpuLFtmdW5jdGlvbihuLHIpe3ZhciBvPWUodGhpcyksaT12b2lkIDA9PW4/dm9pZCAwOm5bdF07cmV0dXJuIHZvaWQgMCE9PWk/aS5jYWxsKG4sbyxyKTpfLmNhbGwoU3RyaW5nKG8pLG4scil9LGZ1bmN0aW9uKGUsdCl7dmFyIHI9ZihfLGUsdGhpcyx0LF8hPT1uKTtpZihyLmRvbmUpcmV0dXJuIHIudmFsdWU7dmFyIHU9byhlKSxwPVN0cmluZyh0aGlzKSxkPWkodSxSZWdFeHApLGg9dS51bmljb2RlLHY9KHUuaWdub3JlQ2FzZT8iaSI6IiIpKyh1Lm11bHRpbGluZT8ibSI6IiIpKyh1LnVuaWNvZGU/InUiOiIiKSsoeT8ieSI6ImciKSxnPW5ldyBkKHk/dToiXig/OiIrdS5zb3VyY2UrIikiLHYpLGI9dm9pZCAwPT09dD9tOnQ+Pj4wO2lmKDA9PT1iKXJldHVybltdO2lmKDA9PT1wLmxlbmd0aClyZXR1cm4gbnVsbD09PXMoZyxwKT9bcF06W107dmFyIHc9MCx4PTAsQz1bXTt3aGlsZSh4PHAubGVuZ3RoKXtnLmxhc3RJbmRleD15P3g6MDt2YXIgUyxBPXMoZyx5P3A6cC5zbGljZSh4KSk7aWYobnVsbD09PUF8fChTPWwoYyhnLmxhc3RJbmRleCsoeT8wOngpKSxwLmxlbmd0aCkpPT09dyl4PWEocCx4LGgpO2Vsc2V7aWYoQy5wdXNoKHAuc2xpY2Uodyx4KSksQy5sZW5ndGg9PT1iKXJldHVybiBDO2Zvcih2YXIgaz0xO2s8PUEubGVuZ3RoLTE7aysrKWlmKEMucHVzaChBW2tdKSxDLmxlbmd0aD09PWIpcmV0dXJuIEM7eD13PVN9fXJldHVybiBDLnB1c2gocC5zbGljZSh3KSksQ31dfSl9LCIyOWEzIjpmdW5jdGlvbihlLHQsbil7bigiZjQ2YSIpLGUuZXhwb3J0cz1uKCJhN2QzIikuTnVtYmVyLnBhcnNlRmxvYXR9LCIyYTRlIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiYTgxMiIpLG89bigiZTVmYSIpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24odCxuKXt2YXIgaSxhLGM9U3RyaW5nKG8odCkpLHM9cihuKSx1PWMubGVuZ3RoO3JldHVybiBzPDB8fHM+PXU/ZT8iIjp2b2lkIDA6KGk9Yy5jaGFyQ29kZUF0KHMpLGk8NTUyOTZ8fGk+NTYzMTl8fHMrMT09PXV8fChhPWMuY2hhckNvZGVBdChzKzEpKTw1NjMyMHx8YT41NzM0Mz9lP2MuY2hhckF0KHMpOmk6ZT9jLnNsaWNlKHMscysyKTphLTU2MzIwKyhpLTU1Mjk2PDwxMCkrNjU1MzYpfX19LCIyYWJhIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiNzcyNiIpLG89bigiMzJlOSIpLGk9bigiNjlhOCIpLGE9bigiY2E1YSIpKCJzcmMiKSxjPW4oImZhNWIiKSxzPSJ0b1N0cmluZyIsdT0oIiIrYykuc3BsaXQocyk7bigiODM3OCIpLmluc3BlY3RTb3VyY2U9ZnVuY3Rpb24oZSl7cmV0dXJuIGMuY2FsbChlKX0sKGUuZXhwb3J0cz1mdW5jdGlvbihlLHQsbixjKXt2YXIgcz0iZnVuY3Rpb24iPT10eXBlb2YgbjtzJiYoaShuLCJuYW1lIil8fG8obiwibmFtZSIsdCkpLGVbdF0hPT1uJiYocyYmKGkobixhKXx8byhuLGEsZVt0XT8iIitlW3RdOnUuam9pbihTdHJpbmcodCkpKSksZT09PXI/ZVt0XT1uOmM/ZVt0XT9lW3RdPW46byhlLHQsbik6KGRlbGV0ZSBlW3RdLG8oZSx0LG4pKSl9KShGdW5jdGlvbi5wcm90b3R5cGUscyxmdW5jdGlvbigpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzJiZ0aGlzW2FdfHxjLmNhbGwodGhpcyl9KX0sIjJhZWIiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJjYjdjIiksbz1uKCIxNDk1IiksaT1uKCJlMTFlIiksYT1uKCI2MTNiIikoIklFX1BST1RPIiksYz1mdW5jdGlvbigpe30scz0icHJvdG90eXBlIix1PWZ1bmN0aW9uKCl7dmFyIGUsdD1uKCIyMzBlIikoImlmcmFtZSIpLHI9aS5sZW5ndGgsbz0iPCIsYT0iPiI7dC5zdHlsZS5kaXNwbGF5PSJub25lIixuKCJmYWIyIikuYXBwZW5kQ2hpbGQodCksdC5zcmM9ImphdmFzY3JpcHQ6IixlPXQuY29udGVudFdpbmRvdy5kb2N1bWVudCxlLm9wZW4oKSxlLndyaXRlKG8rInNjcmlwdCIrYSsiZG9jdW1lbnQuRj1PYmplY3QiK28rIi9zY3JpcHQiK2EpLGUuY2xvc2UoKSx1PWUuRjt3aGlsZShyLS0pZGVsZXRlIHVbc11baVtyXV07cmV0dXJuIHUoKX07ZS5leHBvcnRzPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKGUsdCl7dmFyIG47cmV0dXJuIG51bGwhPT1lPyhjW3NdPXIoZSksbj1uZXcgYyxjW3NdPW51bGwsblthXT1lKTpuPXUoKSx2b2lkIDA9PT10P246byhuLHQpfX0sIjJiMGUiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKGUpey8qIQoqIFZ1ZS5qcyB2Mi41LjIxCiogKGMpIDIwMTQtMjAxOCBFdmFuIFlvdQoqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgTGljZW5zZS4KKi92YXIgbj1PYmplY3QuZnJlZXplKHt9KTtmdW5jdGlvbiByKGUpe3JldHVybiB2b2lkIDA9PT1lfHxudWxsPT09ZX1mdW5jdGlvbiBvKGUpe3JldHVybiB2b2lkIDAhPT1lJiZudWxsIT09ZX1mdW5jdGlvbiBpKGUpe3JldHVybiEwPT09ZX1mdW5jdGlvbiBhKGUpe3JldHVybiExPT09ZX1mdW5jdGlvbiBjKGUpe3JldHVybiJzdHJpbmciPT09dHlwZW9mIGV8fCJudW1iZXIiPT09dHlwZW9mIGV8fCJzeW1ib2wiPT09dHlwZW9mIGV8fCJib29sZWFuIj09PXR5cGVvZiBlfWZ1bmN0aW9uIHMoZSl7cmV0dXJuIG51bGwhPT1lJiYib2JqZWN0Ij09PXR5cGVvZiBlfXZhciB1PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gZihlKXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PXUuY2FsbChlKX1mdW5jdGlvbiBsKGUpe3JldHVybiJbb2JqZWN0IFJlZ0V4cF0iPT09dS5jYWxsKGUpfWZ1bmN0aW9uIHAoZSl7dmFyIHQ9cGFyc2VGbG9hdChTdHJpbmcoZSkpO3JldHVybiB0Pj0wJiZNYXRoLmZsb29yKHQpPT09dCYmaXNGaW5pdGUoZSl9ZnVuY3Rpb24gZChlKXtyZXR1cm4gbnVsbD09ZT8iIjoib2JqZWN0Ij09PXR5cGVvZiBlP0pTT04uc3RyaW5naWZ5KGUsbnVsbCwyKTpTdHJpbmcoZSl9ZnVuY3Rpb24gaChlKXt2YXIgdD1wYXJzZUZsb2F0KGUpO3JldHVybiBpc05hTih0KT9lOnR9ZnVuY3Rpb24gdihlLHQpe2Zvcih2YXIgbj1PYmplY3QuY3JlYXRlKG51bGwpLHI9ZS5zcGxpdCgiLCIpLG89MDtvPHIubGVuZ3RoO28rKyluW3Jbb11dPSEwO3JldHVybiB0P2Z1bmN0aW9uKGUpe3JldHVybiBuW2UudG9Mb3dlckNhc2UoKV19OmZ1bmN0aW9uKGUpe3JldHVybiBuW2VdfX12KCJzbG90LGNvbXBvbmVudCIsITApO3ZhciBtPXYoImtleSxyZWYsc2xvdCxzbG90LXNjb3BlLGlzIik7ZnVuY3Rpb24geShlLHQpe2lmKGUubGVuZ3RoKXt2YXIgbj1lLmluZGV4T2YodCk7aWYobj4tMSlyZXR1cm4gZS5zcGxpY2UobiwxKX19dmFyIF89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBnKGUsdCl7cmV0dXJuIF8uY2FsbChlLHQpfWZ1bmN0aW9uIGIoZSl7dmFyIHQ9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gZnVuY3Rpb24obil7dmFyIHI9dFtuXTtyZXR1cm4gcnx8KHRbbl09ZShuKSl9fXZhciB3PS8tKFx3KS9nLHg9YihmdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKHcsZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD90LnRvVXBwZXJDYXNlKCk6IiJ9KX0pLEM9YihmdW5jdGlvbihlKXtyZXR1cm4gZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpfSksUz0vXEIoW0EtWl0pL2csQT1iKGZ1bmN0aW9uKGUpe3JldHVybiBlLnJlcGxhY2UoUywiLSQxIikudG9Mb3dlckNhc2UoKX0pO2Z1bmN0aW9uIGsoZSx0KXtmdW5jdGlvbiBuKG4pe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg7cmV0dXJuIHI/cj4xP2UuYXBwbHkodCxhcmd1bWVudHMpOmUuY2FsbCh0LG4pOmUuY2FsbCh0KX1yZXR1cm4gbi5fbGVuZ3RoPWUubGVuZ3RoLG59ZnVuY3Rpb24gTyhlLHQpe3JldHVybiBlLmJpbmQodCl9dmFyIFA9RnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ/TzprO2Z1bmN0aW9uICQoZSx0KXt0PXR8fDA7dmFyIG49ZS5sZW5ndGgtdCxyPW5ldyBBcnJheShuKTt3aGlsZShuLS0pcltuXT1lW24rdF07cmV0dXJuIHJ9ZnVuY3Rpb24gaihlLHQpe2Zvcih2YXIgbiBpbiB0KWVbbl09dFtuXTtyZXR1cm4gZX1mdW5jdGlvbiBFKGUpe2Zvcih2YXIgdD17fSxuPTA7bjxlLmxlbmd0aDtuKyspZVtuXSYmaih0LGVbbl0pO3JldHVybiB0fWZ1bmN0aW9uIFQoZSx0LG4pe312YXIgST1mdW5jdGlvbihlLHQsbil7cmV0dXJuITF9LE09ZnVuY3Rpb24oZSl7cmV0dXJuIGV9O2Z1bmN0aW9uIEQoZSx0KXtpZihlPT09dClyZXR1cm4hMDt2YXIgbj1zKGUpLHI9cyh0KTtpZighbnx8IXIpcmV0dXJuIW4mJiFyJiZTdHJpbmcoZSk9PT1TdHJpbmcodCk7dHJ5e3ZhciBvPUFycmF5LmlzQXJyYXkoZSksaT1BcnJheS5pc0FycmF5KHQpO2lmKG8mJmkpcmV0dXJuIGUubGVuZ3RoPT09dC5sZW5ndGgmJmUuZXZlcnkoZnVuY3Rpb24oZSxuKXtyZXR1cm4gRChlLHRbbl0pfSk7aWYoZSBpbnN0YW5jZW9mIERhdGUmJnQgaW5zdGFuY2VvZiBEYXRlKXJldHVybiBlLmdldFRpbWUoKT09PXQuZ2V0VGltZSgpO2lmKG98fGkpcmV0dXJuITE7dmFyIGE9T2JqZWN0LmtleXMoZSksYz1PYmplY3Qua2V5cyh0KTtyZXR1cm4gYS5sZW5ndGg9PT1jLmxlbmd0aCYmYS5ldmVyeShmdW5jdGlvbihuKXtyZXR1cm4gRChlW25dLHRbbl0pfSl9Y2F0Y2godSl7cmV0dXJuITF9fWZ1bmN0aW9uIEwoZSx0KXtmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKylpZihEKGVbbl0sdCkpcmV0dXJuIG47cmV0dXJuLTF9ZnVuY3Rpb24gRihlKXt2YXIgdD0hMTtyZXR1cm4gZnVuY3Rpb24oKXt0fHwodD0hMCxlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciBOPSJkYXRhLXNlcnZlci1yZW5kZXJlZCIsUj1bImNvbXBvbmVudCIsImRpcmVjdGl2ZSIsImZpbHRlciJdLFU9WyJiZWZvcmVDcmVhdGUiLCJjcmVhdGVkIiwiYmVmb3JlTW91bnQiLCJtb3VudGVkIiwiYmVmb3JlVXBkYXRlIiwidXBkYXRlZCIsImJlZm9yZURlc3Ryb3kiLCJkZXN0cm95ZWQiLCJhY3RpdmF0ZWQiLCJkZWFjdGl2YXRlZCIsImVycm9yQ2FwdHVyZWQiXSxIPXtvcHRpb25NZXJnZVN0cmF0ZWdpZXM6T2JqZWN0LmNyZWF0ZShudWxsKSxzaWxlbnQ6ITEscHJvZHVjdGlvblRpcDohMSxkZXZ0b29sczohMSxwZXJmb3JtYW5jZTohMSxlcnJvckhhbmRsZXI6bnVsbCx3YXJuSGFuZGxlcjpudWxsLGlnbm9yZWRFbGVtZW50czpbXSxrZXlDb2RlczpPYmplY3QuY3JlYXRlKG51bGwpLGlzUmVzZXJ2ZWRUYWc6SSxpc1Jlc2VydmVkQXR0cjpJLGlzVW5rbm93bkVsZW1lbnQ6SSxnZXRUYWdOYW1lc3BhY2U6VCxwYXJzZVBsYXRmb3JtVGFnTmFtZTpNLG11c3RVc2VQcm9wOkksYXN5bmM6ITAsX2xpZmVjeWNsZUhvb2tzOlV9O2Z1bmN0aW9uIHooZSl7dmFyIHQ9KGUrIiIpLmNoYXJDb2RlQXQoMCk7cmV0dXJuIDM2PT09dHx8OTU9PT10fWZ1bmN0aW9uIFYoZSx0LG4scil7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7dmFsdWU6bixlbnVtZXJhYmxlOiEhcix3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KX12YXIgQj0vW15cdy4kXS87ZnVuY3Rpb24gVyhlKXtpZighQi50ZXN0KGUpKXt2YXIgdD1lLnNwbGl0KCIuIik7cmV0dXJuIGZ1bmN0aW9uKGUpe2Zvcih2YXIgbj0wO248dC5sZW5ndGg7bisrKXtpZighZSlyZXR1cm47ZT1lW3Rbbl1dfXJldHVybiBlfX19dmFyIEcscT0iX19wcm90b19fImlue30sSz0idW5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3csWD0idW5kZWZpbmVkIiE9PXR5cGVvZiBXWEVudmlyb25tZW50JiYhIVdYRW52aXJvbm1lbnQucGxhdGZvcm0sSj1YJiZXWEVudmlyb25tZW50LnBsYXRmb3JtLnRvTG93ZXJDYXNlKCksWT1LJiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLFo9WSYmL21zaWV8dHJpZGVudC8udGVzdChZKSxRPVkmJlkuaW5kZXhPZigibXNpZSA5LjAiKT4wLGVlPVkmJlkuaW5kZXhPZigiZWRnZS8iKT4wLHRlPShZJiZZLmluZGV4T2YoImFuZHJvaWQiKSxZJiYvaXBob25lfGlwYWR8aXBvZHxpb3MvLnRlc3QoWSl8fCJpb3MiPT09SiksbmU9KFkmJi9jaHJvbWVcL1xkKy8udGVzdChZKSx7fS53YXRjaCkscmU9ITE7aWYoSyl0cnl7dmFyIG9lPXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShvZSwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe3JlPSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0LXBhc3NpdmUiLG51bGwsb2UpfWNhdGNoKGNhKXt9dmFyIGllPWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PUcmJihHPSFLJiYhWCYmInVuZGVmaW5lZCIhPT10eXBlb2YgZSYmKGVbInByb2Nlc3MiXSYmInNlcnZlciI9PT1lWyJwcm9jZXNzIl0uZW52LlZVRV9FTlYpKSxHfSxhZT1LJiZ3aW5kb3cuX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztmdW5jdGlvbiBjZShlKXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIGUmJi9uYXRpdmUgY29kZS8udGVzdChlLnRvU3RyaW5nKCkpfXZhciBzZSx1ZT0idW5kZWZpbmVkIiE9PXR5cGVvZiBTeW1ib2wmJmNlKFN5bWJvbCkmJiJ1bmRlZmluZWQiIT09dHlwZW9mIFJlZmxlY3QmJmNlKFJlZmxlY3Qub3duS2V5cyk7c2U9InVuZGVmaW5lZCIhPT10eXBlb2YgU2V0JiZjZShTZXQpP1NldDpmdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt0aGlzLnNldD1PYmplY3QuY3JlYXRlKG51bGwpfXJldHVybiBlLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24oZSl7cmV0dXJuITA9PT10aGlzLnNldFtlXX0sZS5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGUpe3RoaXMuc2V0W2VdPSEwfSxlLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuc2V0PU9iamVjdC5jcmVhdGUobnVsbCl9LGV9KCk7dmFyIGZlPVQsbGU9MCxwZT1mdW5jdGlvbigpe3RoaXMuaWQ9bGUrKyx0aGlzLnN1YnM9W119O3BlLnByb3RvdHlwZS5hZGRTdWI9ZnVuY3Rpb24oZSl7dGhpcy5zdWJzLnB1c2goZSl9LHBlLnByb3RvdHlwZS5yZW1vdmVTdWI9ZnVuY3Rpb24oZSl7eSh0aGlzLnN1YnMsZSl9LHBlLnByb3RvdHlwZS5kZXBlbmQ9ZnVuY3Rpb24oKXtwZS50YXJnZXQmJnBlLnRhcmdldC5hZGREZXAodGhpcyl9LHBlLnByb3RvdHlwZS5ub3RpZnk9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnN1YnMuc2xpY2UoKTtmb3IodmFyIHQ9MCxuPWUubGVuZ3RoO3Q8bjt0KyspZVt0XS51cGRhdGUoKX0scGUudGFyZ2V0PW51bGw7dmFyIGRlPVtdO2Z1bmN0aW9uIGhlKGUpe2RlLnB1c2goZSkscGUudGFyZ2V0PWV9ZnVuY3Rpb24gdmUoKXtkZS5wb3AoKSxwZS50YXJnZXQ9ZGVbZGUubGVuZ3RoLTFdfXZhciBtZT1mdW5jdGlvbihlLHQsbixyLG8saSxhLGMpe3RoaXMudGFnPWUsdGhpcy5kYXRhPXQsdGhpcy5jaGlsZHJlbj1uLHRoaXMudGV4dD1yLHRoaXMuZWxtPW8sdGhpcy5ucz12b2lkIDAsdGhpcy5jb250ZXh0PWksdGhpcy5mbkNvbnRleHQ9dm9pZCAwLHRoaXMuZm5PcHRpb25zPXZvaWQgMCx0aGlzLmZuU2NvcGVJZD12b2lkIDAsdGhpcy5rZXk9dCYmdC5rZXksdGhpcy5jb21wb25lbnRPcHRpb25zPWEsdGhpcy5jb21wb25lbnRJbnN0YW5jZT12b2lkIDAsdGhpcy5wYXJlbnQ9dm9pZCAwLHRoaXMucmF3PSExLHRoaXMuaXNTdGF0aWM9ITEsdGhpcy5pc1Jvb3RJbnNlcnQ9ITAsdGhpcy5pc0NvbW1lbnQ9ITEsdGhpcy5pc0Nsb25lZD0hMSx0aGlzLmlzT25jZT0hMSx0aGlzLmFzeW5jRmFjdG9yeT1jLHRoaXMuYXN5bmNNZXRhPXZvaWQgMCx0aGlzLmlzQXN5bmNQbGFjZWhvbGRlcj0hMX0seWU9e2NoaWxkOntjb25maWd1cmFibGU6ITB9fTt5ZS5jaGlsZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb21wb25lbnRJbnN0YW5jZX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMobWUucHJvdG90eXBlLHllKTt2YXIgX2U9ZnVuY3Rpb24oZSl7dm9pZCAwPT09ZSYmKGU9IiIpO3ZhciB0PW5ldyBtZTtyZXR1cm4gdC50ZXh0PWUsdC5pc0NvbW1lbnQ9ITAsdH07ZnVuY3Rpb24gZ2UoZSl7cmV0dXJuIG5ldyBtZSh2b2lkIDAsdm9pZCAwLHZvaWQgMCxTdHJpbmcoZSkpfWZ1bmN0aW9uIGJlKGUpe3ZhciB0PW5ldyBtZShlLnRhZyxlLmRhdGEsZS5jaGlsZHJlbiYmZS5jaGlsZHJlbi5zbGljZSgpLGUudGV4dCxlLmVsbSxlLmNvbnRleHQsZS5jb21wb25lbnRPcHRpb25zLGUuYXN5bmNGYWN0b3J5KTtyZXR1cm4gdC5ucz1lLm5zLHQuaXNTdGF0aWM9ZS5pc1N0YXRpYyx0LmtleT1lLmtleSx0LmlzQ29tbWVudD1lLmlzQ29tbWVudCx0LmZuQ29udGV4dD1lLmZuQ29udGV4dCx0LmZuT3B0aW9ucz1lLmZuT3B0aW9ucyx0LmZuU2NvcGVJZD1lLmZuU2NvcGVJZCx0LmFzeW5jTWV0YT1lLmFzeW5jTWV0YSx0LmlzQ2xvbmVkPSEwLHR9dmFyIHdlPUFycmF5LnByb3RvdHlwZSx4ZT1PYmplY3QuY3JlYXRlKHdlKSxDZT1bInB1c2giLCJwb3AiLCJzaGlmdCIsInVuc2hpZnQiLCJzcGxpY2UiLCJzb3J0IiwicmV2ZXJzZSJdO0NlLmZvckVhY2goZnVuY3Rpb24oZSl7dmFyIHQ9d2VbZV07Vih4ZSxlLGZ1bmN0aW9uKCl7dmFyIG49W10scj1hcmd1bWVudHMubGVuZ3RoO3doaWxlKHItLSluW3JdPWFyZ3VtZW50c1tyXTt2YXIgbyxpPXQuYXBwbHkodGhpcyxuKSxhPXRoaXMuX19vYl9fO3N3aXRjaChlKXtjYXNlInB1c2giOmNhc2UidW5zaGlmdCI6bz1uO2JyZWFrO2Nhc2Uic3BsaWNlIjpvPW4uc2xpY2UoMik7YnJlYWt9cmV0dXJuIG8mJmEub2JzZXJ2ZUFycmF5KG8pLGEuZGVwLm5vdGlmeSgpLGl9KX0pO3ZhciBTZT1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh4ZSksQWU9ITA7ZnVuY3Rpb24ga2UoZSl7QWU9ZX12YXIgT2U9ZnVuY3Rpb24oZSl7dGhpcy52YWx1ZT1lLHRoaXMuZGVwPW5ldyBwZSx0aGlzLnZtQ291bnQ9MCxWKGUsIl9fb2JfXyIsdGhpcyksQXJyYXkuaXNBcnJheShlKT8ocT9QZShlLHhlKTokZShlLHhlLFNlKSx0aGlzLm9ic2VydmVBcnJheShlKSk6dGhpcy53YWxrKGUpfTtmdW5jdGlvbiBQZShlLHQpe2UuX19wcm90b19fPXR9ZnVuY3Rpb24gJGUoZSx0LG4pe2Zvcih2YXIgcj0wLG89bi5sZW5ndGg7cjxvO3IrKyl7dmFyIGk9bltyXTtWKGUsaSx0W2ldKX19ZnVuY3Rpb24gamUoZSx0KXt2YXIgbjtpZihzKGUpJiYhKGUgaW5zdGFuY2VvZiBtZSkpcmV0dXJuIGcoZSwiX19vYl9fIikmJmUuX19vYl9fIGluc3RhbmNlb2YgT2U/bj1lLl9fb2JfXzpBZSYmIWllKCkmJihBcnJheS5pc0FycmF5KGUpfHxmKGUpKSYmT2JqZWN0LmlzRXh0ZW5zaWJsZShlKSYmIWUuX2lzVnVlJiYobj1uZXcgT2UoZSkpLHQmJm4mJm4udm1Db3VudCsrLG59ZnVuY3Rpb24gRWUoZSx0LG4scixvKXt2YXIgaT1uZXcgcGUsYT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7aWYoIWF8fCExIT09YS5jb25maWd1cmFibGUpe3ZhciBjPWEmJmEuZ2V0LHM9YSYmYS5zZXQ7YyYmIXN8fDIhPT1hcmd1bWVudHMubGVuZ3RofHwobj1lW3RdKTt2YXIgdT0hbyYmamUobik7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7dmFyIHQ9Yz9jLmNhbGwoZSk6bjtyZXR1cm4gcGUudGFyZ2V0JiYoaS5kZXBlbmQoKSx1JiYodS5kZXAuZGVwZW5kKCksQXJyYXkuaXNBcnJheSh0KSYmTWUodCkpKSx0fSxzZXQ6ZnVuY3Rpb24odCl7dmFyIHI9Yz9jLmNhbGwoZSk6bjt0PT09cnx8dCE9PXQmJnIhPT1yfHxjJiYhc3x8KHM/cy5jYWxsKGUsdCk6bj10LHU9IW8mJmplKHQpLGkubm90aWZ5KCkpfX0pfX1mdW5jdGlvbiBUZShlLHQsbil7aWYoQXJyYXkuaXNBcnJheShlKSYmcCh0KSlyZXR1cm4gZS5sZW5ndGg9TWF0aC5tYXgoZS5sZW5ndGgsdCksZS5zcGxpY2UodCwxLG4pLG47aWYodCBpbiBlJiYhKHQgaW4gT2JqZWN0LnByb3RvdHlwZSkpcmV0dXJuIGVbdF09bixuO3ZhciByPWUuX19vYl9fO3JldHVybiBlLl9pc1Z1ZXx8ciYmci52bUNvdW50P246cj8oRWUoci52YWx1ZSx0LG4pLHIuZGVwLm5vdGlmeSgpLG4pOihlW3RdPW4sbil9ZnVuY3Rpb24gSWUoZSx0KXtpZihBcnJheS5pc0FycmF5KGUpJiZwKHQpKWUuc3BsaWNlKHQsMSk7ZWxzZXt2YXIgbj1lLl9fb2JfXztlLl9pc1Z1ZXx8biYmbi52bUNvdW50fHxnKGUsdCkmJihkZWxldGUgZVt0XSxuJiZuLmRlcC5ub3RpZnkoKSl9fWZ1bmN0aW9uIE1lKGUpe2Zvcih2YXIgdD12b2lkIDAsbj0wLHI9ZS5sZW5ndGg7bjxyO24rKyl0PWVbbl0sdCYmdC5fX29iX18mJnQuX19vYl9fLmRlcC5kZXBlbmQoKSxBcnJheS5pc0FycmF5KHQpJiZNZSh0KX1PZS5wcm90b3R5cGUud2Fsaz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9T2JqZWN0LmtleXMoZSksbj0wO248dC5sZW5ndGg7bisrKUVlKGUsdFtuXSl9LE9lLnByb3RvdHlwZS5vYnNlcnZlQXJyYXk9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsbj1lLmxlbmd0aDt0PG47dCsrKWplKGVbdF0pfTt2YXIgRGU9SC5vcHRpb25NZXJnZVN0cmF0ZWdpZXM7ZnVuY3Rpb24gTGUoZSx0KXtpZighdClyZXR1cm4gZTtmb3IodmFyIG4scixvLGk9T2JqZWN0LmtleXModCksYT0wO2E8aS5sZW5ndGg7YSsrKW49aVthXSxyPWVbbl0sbz10W25dLGcoZSxuKT9yIT09byYmZihyKSYmZihvKSYmTGUocixvKTpUZShlLG4sbyk7cmV0dXJuIGV9ZnVuY3Rpb24gRmUoZSx0LG4pe3JldHVybiBuP2Z1bmN0aW9uKCl7dmFyIHI9ImZ1bmN0aW9uIj09PXR5cGVvZiB0P3QuY2FsbChuLG4pOnQsbz0iZnVuY3Rpb24iPT09dHlwZW9mIGU/ZS5jYWxsKG4sbik6ZTtyZXR1cm4gcj9MZShyLG8pOm99OnQ/ZT9mdW5jdGlvbigpe3JldHVybiBMZSgiZnVuY3Rpb24iPT09dHlwZW9mIHQ/dC5jYWxsKHRoaXMsdGhpcyk6dCwiZnVuY3Rpb24iPT09dHlwZW9mIGU/ZS5jYWxsKHRoaXMsdGhpcyk6ZSl9OnQ6ZX1mdW5jdGlvbiBOZShlLHQpe3JldHVybiB0P2U/ZS5jb25jYXQodCk6QXJyYXkuaXNBcnJheSh0KT90Olt0XTplfWZ1bmN0aW9uIFJlKGUsdCxuLHIpe3ZhciBvPU9iamVjdC5jcmVhdGUoZXx8bnVsbCk7cmV0dXJuIHQ/aihvLHQpOm99RGUuZGF0YT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG4/RmUoZSx0LG4pOnQmJiJmdW5jdGlvbiIhPT10eXBlb2YgdD9lOkZlKGUsdCl9LFUuZm9yRWFjaChmdW5jdGlvbihlKXtEZVtlXT1OZX0pLFIuZm9yRWFjaChmdW5jdGlvbihlKXtEZVtlKyJzIl09UmV9KSxEZS53YXRjaD1mdW5jdGlvbihlLHQsbixyKXtpZihlPT09bmUmJihlPXZvaWQgMCksdD09PW5lJiYodD12b2lkIDApLCF0KXJldHVybiBPYmplY3QuY3JlYXRlKGV8fG51bGwpO2lmKCFlKXJldHVybiB0O3ZhciBvPXt9O2Zvcih2YXIgaSBpbiBqKG8sZSksdCl7dmFyIGE9b1tpXSxjPXRbaV07YSYmIUFycmF5LmlzQXJyYXkoYSkmJihhPVthXSksb1tpXT1hP2EuY29uY2F0KGMpOkFycmF5LmlzQXJyYXkoYyk/YzpbY119cmV0dXJuIG99LERlLnByb3BzPURlLm1ldGhvZHM9RGUuaW5qZWN0PURlLmNvbXB1dGVkPWZ1bmN0aW9uKGUsdCxuLHIpe2lmKCFlKXJldHVybiB0O3ZhciBvPU9iamVjdC5jcmVhdGUobnVsbCk7cmV0dXJuIGoobyxlKSx0JiZqKG8sdCksb30sRGUucHJvdmlkZT1GZTt2YXIgVWU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdm9pZCAwPT09dD9lOnR9O2Z1bmN0aW9uIEhlKGUsdCl7dmFyIG49ZS5wcm9wcztpZihuKXt2YXIgcixvLGksYT17fTtpZihBcnJheS5pc0FycmF5KG4pKXtyPW4ubGVuZ3RoO3doaWxlKHItLSlvPW5bcl0sInN0cmluZyI9PT10eXBlb2YgbyYmKGk9eChvKSxhW2ldPXt0eXBlOm51bGx9KX1lbHNlIGlmKGYobikpZm9yKHZhciBjIGluIG4pbz1uW2NdLGk9eChjKSxhW2ldPWYobyk/bzp7dHlwZTpvfTtlbHNlIDA7ZS5wcm9wcz1hfX1mdW5jdGlvbiB6ZShlLHQpe3ZhciBuPWUuaW5qZWN0O2lmKG4pe3ZhciByPWUuaW5qZWN0PXt9O2lmKEFycmF5LmlzQXJyYXkobikpZm9yKHZhciBvPTA7bzxuLmxlbmd0aDtvKyspcltuW29dXT17ZnJvbTpuW29dfTtlbHNlIGlmKGYobikpZm9yKHZhciBpIGluIG4pe3ZhciBhPW5baV07cltpXT1mKGEpP2ooe2Zyb206aX0sYSk6e2Zyb206YX19ZWxzZSAwfX1mdW5jdGlvbiBWZShlKXt2YXIgdD1lLmRpcmVjdGl2ZXM7aWYodClmb3IodmFyIG4gaW4gdCl7dmFyIHI9dFtuXTsiZnVuY3Rpb24iPT09dHlwZW9mIHImJih0W25dPXtiaW5kOnIsdXBkYXRlOnJ9KX19ZnVuY3Rpb24gQmUoZSx0LG4pe2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgdCYmKHQ9dC5vcHRpb25zKSxIZSh0LG4pLHplKHQsbiksVmUodCksIXQuX2Jhc2UmJih0LmV4dGVuZHMmJihlPUJlKGUsdC5leHRlbmRzLG4pKSx0Lm1peGlucykpZm9yKHZhciByPTAsbz10Lm1peGlucy5sZW5ndGg7cjxvO3IrKyllPUJlKGUsdC5taXhpbnNbcl0sbik7dmFyIGksYT17fTtmb3IoaSBpbiBlKWMoaSk7Zm9yKGkgaW4gdClnKGUsaSl8fGMoaSk7ZnVuY3Rpb24gYyhyKXt2YXIgbz1EZVtyXXx8VWU7YVtyXT1vKGVbcl0sdFtyXSxuLHIpfXJldHVybiBhfWZ1bmN0aW9uIFdlKGUsdCxuLHIpe2lmKCJzdHJpbmciPT09dHlwZW9mIG4pe3ZhciBvPWVbdF07aWYoZyhvLG4pKXJldHVybiBvW25dO3ZhciBpPXgobik7aWYoZyhvLGkpKXJldHVybiBvW2ldO3ZhciBhPUMoaSk7aWYoZyhvLGEpKXJldHVybiBvW2FdO3ZhciBjPW9bbl18fG9baV18fG9bYV07cmV0dXJuIGN9fWZ1bmN0aW9uIEdlKGUsdCxuLHIpe3ZhciBvPXRbZV0saT0hZyhuLGUpLGE9bltlXSxjPUplKEJvb2xlYW4sby50eXBlKTtpZihjPi0xKWlmKGkmJiFnKG8sImRlZmF1bHQiKSlhPSExO2Vsc2UgaWYoIiI9PT1hfHxhPT09QShlKSl7dmFyIHM9SmUoU3RyaW5nLG8udHlwZSk7KHM8MHx8YzxzKSYmKGE9ITApfWlmKHZvaWQgMD09PWEpe2E9cWUocixvLGUpO3ZhciB1PUFlO2tlKCEwKSxqZShhKSxrZSh1KX1yZXR1cm4gYX1mdW5jdGlvbiBxZShlLHQsbil7aWYoZyh0LCJkZWZhdWx0Iikpe3ZhciByPXQuZGVmYXVsdDtyZXR1cm4gZSYmZS4kb3B0aW9ucy5wcm9wc0RhdGEmJnZvaWQgMD09PWUuJG9wdGlvbnMucHJvcHNEYXRhW25dJiZ2b2lkIDAhPT1lLl9wcm9wc1tuXT9lLl9wcm9wc1tuXToiZnVuY3Rpb24iPT09dHlwZW9mIHImJiJGdW5jdGlvbiIhPT1LZSh0LnR5cGUpP3IuY2FsbChlKTpyfX1mdW5jdGlvbiBLZShlKXt2YXIgdD1lJiZlLnRvU3RyaW5nKCkubWF0Y2goL15ccypmdW5jdGlvbiAoXHcrKS8pO3JldHVybiB0P3RbMV06IiJ9ZnVuY3Rpb24gWGUoZSx0KXtyZXR1cm4gS2UoZSk9PT1LZSh0KX1mdW5jdGlvbiBKZShlLHQpe2lmKCFBcnJheS5pc0FycmF5KHQpKXJldHVybiBYZSh0LGUpPzA6LTE7Zm9yKHZhciBuPTAscj10Lmxlbmd0aDtuPHI7bisrKWlmKFhlKHRbbl0sZSkpcmV0dXJuIG47cmV0dXJuLTF9ZnVuY3Rpb24gWWUoZSx0LG4pe2lmKHQpe3ZhciByPXQ7d2hpbGUocj1yLiRwYXJlbnQpe3ZhciBvPXIuJG9wdGlvbnMuZXJyb3JDYXB0dXJlZDtpZihvKWZvcih2YXIgaT0wO2k8by5sZW5ndGg7aSsrKXRyeXt2YXIgYT0hMT09PW9baV0uY2FsbChyLGUsdCxuKTtpZihhKXJldHVybn1jYXRjaChjYSl7WmUoY2EsciwiZXJyb3JDYXB0dXJlZCBob29rIil9fX1aZShlLHQsbil9ZnVuY3Rpb24gWmUoZSx0LG4pe2lmKEguZXJyb3JIYW5kbGVyKXRyeXtyZXR1cm4gSC5lcnJvckhhbmRsZXIuY2FsbChudWxsLGUsdCxuKX1jYXRjaChjYSl7UWUoY2EsbnVsbCwiY29uZmlnLmVycm9ySGFuZGxlciIpfVFlKGUsdCxuKX1mdW5jdGlvbiBRZShlLHQsbil7aWYoIUsmJiFYfHwidW5kZWZpbmVkIj09PXR5cGVvZiBjb25zb2xlKXRocm93IGU7Y29uc29sZS5lcnJvcihlKX12YXIgZXQsdHQsbnQ9W10scnQ9ITE7ZnVuY3Rpb24gb3QoKXtydD0hMTt2YXIgZT1udC5zbGljZSgwKTtudC5sZW5ndGg9MDtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdKCl9dmFyIGl0PSExO2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIHNldEltbWVkaWF0ZSYmY2Uoc2V0SW1tZWRpYXRlKSl0dD1mdW5jdGlvbigpe3NldEltbWVkaWF0ZShvdCl9O2Vsc2UgaWYoInVuZGVmaW5lZCI9PT10eXBlb2YgTWVzc2FnZUNoYW5uZWx8fCFjZShNZXNzYWdlQ2hhbm5lbCkmJiJbb2JqZWN0IE1lc3NhZ2VDaGFubmVsQ29uc3RydWN0b3JdIiE9PU1lc3NhZ2VDaGFubmVsLnRvU3RyaW5nKCkpdHQ9ZnVuY3Rpb24oKXtzZXRUaW1lb3V0KG90LDApfTtlbHNle3ZhciBhdD1uZXcgTWVzc2FnZUNoYW5uZWwsY3Q9YXQucG9ydDI7YXQucG9ydDEub25tZXNzYWdlPW90LHR0PWZ1bmN0aW9uKCl7Y3QucG9zdE1lc3NhZ2UoMSl9fWlmKCJ1bmRlZmluZWQiIT09dHlwZW9mIFByb21pc2UmJmNlKFByb21pc2UpKXt2YXIgc3Q9UHJvbWlzZS5yZXNvbHZlKCk7ZXQ9ZnVuY3Rpb24oKXtzdC50aGVuKG90KSx0ZSYmc2V0VGltZW91dChUKX19ZWxzZSBldD10dDtmdW5jdGlvbiB1dChlKXtyZXR1cm4gZS5fd2l0aFRhc2t8fChlLl93aXRoVGFzaz1mdW5jdGlvbigpe2l0PSEwO3RyeXtyZXR1cm4gZS5hcHBseShudWxsLGFyZ3VtZW50cyl9ZmluYWxseXtpdD0hMX19KX1mdW5jdGlvbiBmdChlLHQpe3ZhciBuO2lmKG50LnB1c2goZnVuY3Rpb24oKXtpZihlKXRyeXtlLmNhbGwodCl9Y2F0Y2goY2Epe1llKGNhLHQsIm5leHRUaWNrIil9ZWxzZSBuJiZuKHQpfSkscnR8fChydD0hMCxpdD90dCgpOmV0KCkpLCFlJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBQcm9taXNlKXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtuPWV9KX12YXIgbHQ9bmV3IHNlO2Z1bmN0aW9uIHB0KGUpe2R0KGUsbHQpLGx0LmNsZWFyKCl9ZnVuY3Rpb24gZHQoZSx0KXt2YXIgbixyLG89QXJyYXkuaXNBcnJheShlKTtpZighKCFvJiYhcyhlKXx8T2JqZWN0LmlzRnJvemVuKGUpfHxlIGluc3RhbmNlb2YgbWUpKXtpZihlLl9fb2JfXyl7dmFyIGk9ZS5fX29iX18uZGVwLmlkO2lmKHQuaGFzKGkpKXJldHVybjt0LmFkZChpKX1pZihvKXtuPWUubGVuZ3RoO3doaWxlKG4tLSlkdChlW25dLHQpfWVsc2V7cj1PYmplY3Qua2V5cyhlKSxuPXIubGVuZ3RoO3doaWxlKG4tLSlkdChlW3Jbbl1dLHQpfX19dmFyIGh0LHZ0PWIoZnVuY3Rpb24oZSl7dmFyIHQ9IiYiPT09ZS5jaGFyQXQoMCk7ZT10P2Uuc2xpY2UoMSk6ZTt2YXIgbj0ifiI9PT1lLmNoYXJBdCgwKTtlPW4/ZS5zbGljZSgxKTplO3ZhciByPSIhIj09PWUuY2hhckF0KDApO3JldHVybiBlPXI/ZS5zbGljZSgxKTplLHtuYW1lOmUsb25jZTpuLGNhcHR1cmU6cixwYXNzaXZlOnR9fSk7ZnVuY3Rpb24gbXQoZSl7ZnVuY3Rpb24gdCgpe3ZhciBlPWFyZ3VtZW50cyxuPXQuZm5zO2lmKCFBcnJheS5pc0FycmF5KG4pKXJldHVybiBuLmFwcGx5KG51bGwsYXJndW1lbnRzKTtmb3IodmFyIHI9bi5zbGljZSgpLG89MDtvPHIubGVuZ3RoO28rKylyW29dLmFwcGx5KG51bGwsZSl9cmV0dXJuIHQuZm5zPWUsdH1mdW5jdGlvbiB5dChlLHQsbixvLGEsYyl7dmFyIHMsdSxmLGw7Zm9yKHMgaW4gZSl1PWVbc10sZj10W3NdLGw9dnQocykscih1KXx8KHIoZik/KHIodS5mbnMpJiYodT1lW3NdPW10KHUpKSxpKGwub25jZSkmJih1PWVbc109YShsLm5hbWUsdSxsLmNhcHR1cmUpKSxuKGwubmFtZSx1LGwuY2FwdHVyZSxsLnBhc3NpdmUsbC5wYXJhbXMpKTp1IT09ZiYmKGYuZm5zPXUsZVtzXT1mKSk7Zm9yKHMgaW4gdClyKGVbc10pJiYobD12dChzKSxvKGwubmFtZSx0W3NdLGwuY2FwdHVyZSkpfWZ1bmN0aW9uIF90KGUsdCxuKXt2YXIgYTtlIGluc3RhbmNlb2YgbWUmJihlPWUuZGF0YS5ob29rfHwoZS5kYXRhLmhvb2s9e30pKTt2YXIgYz1lW3RdO2Z1bmN0aW9uIHMoKXtuLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx5KGEuZm5zLHMpfXIoYyk/YT1tdChbc10pOm8oYy5mbnMpJiZpKGMubWVyZ2VkKT8oYT1jLGEuZm5zLnB1c2gocykpOmE9bXQoW2Msc10pLGEubWVyZ2VkPSEwLGVbdF09YX1mdW5jdGlvbiBndChlLHQsbil7dmFyIGk9dC5vcHRpb25zLnByb3BzO2lmKCFyKGkpKXt2YXIgYT17fSxjPWUuYXR0cnMscz1lLnByb3BzO2lmKG8oYyl8fG8ocykpZm9yKHZhciB1IGluIGkpe3ZhciBmPUEodSk7YnQoYSxzLHUsZiwhMCl8fGJ0KGEsYyx1LGYsITEpfXJldHVybiBhfX1mdW5jdGlvbiBidChlLHQsbixyLGkpe2lmKG8odCkpe2lmKGcodCxuKSlyZXR1cm4gZVtuXT10W25dLGl8fGRlbGV0ZSB0W25dLCEwO2lmKGcodCxyKSlyZXR1cm4gZVtuXT10W3JdLGl8fGRlbGV0ZSB0W3JdLCEwfXJldHVybiExfWZ1bmN0aW9uIHd0KGUpe2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKEFycmF5LmlzQXJyYXkoZVt0XSkpcmV0dXJuIEFycmF5LnByb3RvdHlwZS5jb25jYXQuYXBwbHkoW10sZSk7cmV0dXJuIGV9ZnVuY3Rpb24geHQoZSl7cmV0dXJuIGMoZSk/W2dlKGUpXTpBcnJheS5pc0FycmF5KGUpP1N0KGUpOnZvaWQgMH1mdW5jdGlvbiBDdChlKXtyZXR1cm4gbyhlKSYmbyhlLnRleHQpJiZhKGUuaXNDb21tZW50KX1mdW5jdGlvbiBTdChlLHQpe3ZhciBuLGEscyx1LGY9W107Zm9yKG49MDtuPGUubGVuZ3RoO24rKylhPWVbbl0scihhKXx8ImJvb2xlYW4iPT09dHlwZW9mIGF8fChzPWYubGVuZ3RoLTEsdT1mW3NdLEFycmF5LmlzQXJyYXkoYSk/YS5sZW5ndGg+MCYmKGE9U3QoYSwodHx8IiIpKyJfIituKSxDdChhWzBdKSYmQ3QodSkmJihmW3NdPWdlKHUudGV4dCthWzBdLnRleHQpLGEuc2hpZnQoKSksZi5wdXNoLmFwcGx5KGYsYSkpOmMoYSk/Q3QodSk/ZltzXT1nZSh1LnRleHQrYSk6IiIhPT1hJiZmLnB1c2goZ2UoYSkpOkN0KGEpJiZDdCh1KT9mW3NdPWdlKHUudGV4dCthLnRleHQpOihpKGUuX2lzVkxpc3QpJiZvKGEudGFnKSYmcihhLmtleSkmJm8odCkmJihhLmtleT0iX192bGlzdCIrdCsiXyIrbisiX18iKSxmLnB1c2goYSkpKTtyZXR1cm4gZn1mdW5jdGlvbiBBdChlLHQpe3JldHVybihlLl9fZXNNb2R1bGV8fHVlJiYiTW9kdWxlIj09PWVbU3ltYm9sLnRvU3RyaW5nVGFnXSkmJihlPWUuZGVmYXVsdCkscyhlKT90LmV4dGVuZChlKTplfWZ1bmN0aW9uIGt0KGUsdCxuLHIsbyl7dmFyIGk9X2UoKTtyZXR1cm4gaS5hc3luY0ZhY3Rvcnk9ZSxpLmFzeW5jTWV0YT17ZGF0YTp0LGNvbnRleHQ6bixjaGlsZHJlbjpyLHRhZzpvfSxpfWZ1bmN0aW9uIE90KGUsdCxuKXtpZihpKGUuZXJyb3IpJiZvKGUuZXJyb3JDb21wKSlyZXR1cm4gZS5lcnJvckNvbXA7aWYobyhlLnJlc29sdmVkKSlyZXR1cm4gZS5yZXNvbHZlZDtpZihpKGUubG9hZGluZykmJm8oZS5sb2FkaW5nQ29tcCkpcmV0dXJuIGUubG9hZGluZ0NvbXA7aWYoIW8oZS5jb250ZXh0cykpe3ZhciBhPWUuY29udGV4dHM9W25dLGM9ITAsdT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxuPWEubGVuZ3RoO3Q8bjt0KyspYVt0XS4kZm9yY2VVcGRhdGUoKTtlJiYoYS5sZW5ndGg9MCl9LGY9RihmdW5jdGlvbihuKXtlLnJlc29sdmVkPUF0KG4sdCksY3x8dSghMCl9KSxsPUYoZnVuY3Rpb24odCl7byhlLmVycm9yQ29tcCkmJihlLmVycm9yPSEwLHUoITApKX0pLHA9ZShmLGwpO3JldHVybiBzKHApJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBwLnRoZW4/cihlLnJlc29sdmVkKSYmcC50aGVuKGYsbCk6byhwLmNvbXBvbmVudCkmJiJmdW5jdGlvbiI9PT10eXBlb2YgcC5jb21wb25lbnQudGhlbiYmKHAuY29tcG9uZW50LnRoZW4oZixsKSxvKHAuZXJyb3IpJiYoZS5lcnJvckNvbXA9QXQocC5lcnJvcix0KSksbyhwLmxvYWRpbmcpJiYoZS5sb2FkaW5nQ29tcD1BdChwLmxvYWRpbmcsdCksMD09PXAuZGVsYXk/ZS5sb2FkaW5nPSEwOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyKGUucmVzb2x2ZWQpJiZyKGUuZXJyb3IpJiYoZS5sb2FkaW5nPSEwLHUoITEpKX0scC5kZWxheXx8MjAwKSksbyhwLnRpbWVvdXQpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cihlLnJlc29sdmVkKSYmbChudWxsKX0scC50aW1lb3V0KSkpLGM9ITEsZS5sb2FkaW5nP2UubG9hZGluZ0NvbXA6ZS5yZXNvbHZlZH1lLmNvbnRleHRzLnB1c2gobil9ZnVuY3Rpb24gUHQoZSl7cmV0dXJuIGUuaXNDb21tZW50JiZlLmFzeW5jRmFjdG9yeX1mdW5jdGlvbiAkdChlKXtpZihBcnJheS5pc0FycmF5KGUpKWZvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKXt2YXIgbj1lW3RdO2lmKG8obikmJihvKG4uY29tcG9uZW50T3B0aW9ucyl8fFB0KG4pKSlyZXR1cm4gbn19ZnVuY3Rpb24ganQoZSl7ZS5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksZS5faGFzSG9va0V2ZW50PSExO3ZhciB0PWUuJG9wdGlvbnMuX3BhcmVudExpc3RlbmVyczt0JiZNdChlLHQpfWZ1bmN0aW9uIEV0KGUsdCl7aHQuJG9uKGUsdCl9ZnVuY3Rpb24gVHQoZSx0KXtodC4kb2ZmKGUsdCl9ZnVuY3Rpb24gSXQoZSx0KXt2YXIgbj1odDtyZXR1cm4gZnVuY3Rpb24gcigpe3ZhciBvPXQuYXBwbHkobnVsbCxhcmd1bWVudHMpO251bGwhPT1vJiZuLiRvZmYoZSxyKX19ZnVuY3Rpb24gTXQoZSx0LG4pe2h0PWUseXQodCxufHx7fSxFdCxUdCxJdCxlKSxodD12b2lkIDB9ZnVuY3Rpb24gRHQoZSl7dmFyIHQ9L15ob29rOi87ZS5wcm90b3R5cGUuJG9uPWZ1bmN0aW9uKGUsbil7dmFyIHI9dGhpcztpZihBcnJheS5pc0FycmF5KGUpKWZvcih2YXIgbz0wLGk9ZS5sZW5ndGg7bzxpO28rKylyLiRvbihlW29dLG4pO2Vsc2Uoci5fZXZlbnRzW2VdfHwoci5fZXZlbnRzW2VdPVtdKSkucHVzaChuKSx0LnRlc3QoZSkmJihyLl9oYXNIb29rRXZlbnQ9ITApO3JldHVybiByfSxlLnByb3RvdHlwZS4kb25jZT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7ZnVuY3Rpb24gcigpe24uJG9mZihlLHIpLHQuYXBwbHkobixhcmd1bWVudHMpfXJldHVybiByLmZuPXQsbi4kb24oZSxyKSxufSxlLnByb3RvdHlwZS4kb2ZmPWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gbi5fZXZlbnRzPU9iamVjdC5jcmVhdGUobnVsbCksbjtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IodmFyIHI9MCxvPWUubGVuZ3RoO3I8bztyKyspbi4kb2ZmKGVbcl0sdCk7cmV0dXJuIG59dmFyIGk9bi5fZXZlbnRzW2VdO2lmKCFpKXJldHVybiBuO2lmKCF0KXJldHVybiBuLl9ldmVudHNbZV09bnVsbCxuO2lmKHQpe3ZhciBhLGM9aS5sZW5ndGg7d2hpbGUoYy0tKWlmKGE9aVtjXSxhPT09dHx8YS5mbj09PXQpe2kuc3BsaWNlKGMsMSk7YnJlYWt9fXJldHVybiBufSxlLnByb3RvdHlwZS4kZW1pdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLG49dC5fZXZlbnRzW2VdO2lmKG4pe249bi5sZW5ndGg+MT8kKG4pOm47Zm9yKHZhciByPSQoYXJndW1lbnRzLDEpLG89MCxpPW4ubGVuZ3RoO288aTtvKyspdHJ5e25bb10uYXBwbHkodCxyKX1jYXRjaChjYSl7WWUoY2EsdCwnZXZlbnQgaGFuZGxlciBmb3IgIicrZSsnIicpfX1yZXR1cm4gdH19ZnVuY3Rpb24gTHQoZSx0KXt2YXIgbj17fTtpZighZSlyZXR1cm4gbjtmb3IodmFyIHI9MCxvPWUubGVuZ3RoO3I8bztyKyspe3ZhciBpPWVbcl0sYT1pLmRhdGE7aWYoYSYmYS5hdHRycyYmYS5hdHRycy5zbG90JiZkZWxldGUgYS5hdHRycy5zbG90LGkuY29udGV4dCE9PXQmJmkuZm5Db250ZXh0IT09dHx8IWF8fG51bGw9PWEuc2xvdCkobi5kZWZhdWx0fHwobi5kZWZhdWx0PVtdKSkucHVzaChpKTtlbHNle3ZhciBjPWEuc2xvdCxzPW5bY118fChuW2NdPVtdKTsidGVtcGxhdGUiPT09aS50YWc/cy5wdXNoLmFwcGx5KHMsaS5jaGlsZHJlbnx8W10pOnMucHVzaChpKX19Zm9yKHZhciB1IGluIG4pblt1XS5ldmVyeShGdCkmJmRlbGV0ZSBuW3VdO3JldHVybiBufWZ1bmN0aW9uIEZ0KGUpe3JldHVybiBlLmlzQ29tbWVudCYmIWUuYXN5bmNGYWN0b3J5fHwiICI9PT1lLnRleHR9ZnVuY3Rpb24gTnQoZSx0KXt0PXR8fHt9O2Zvcih2YXIgbj0wO248ZS5sZW5ndGg7bisrKUFycmF5LmlzQXJyYXkoZVtuXSk/TnQoZVtuXSx0KTp0W2Vbbl0ua2V5XT1lW25dLmZuO3JldHVybiB0fXZhciBSdD1udWxsO2Z1bmN0aW9uIFV0KGUpe3ZhciB0PVJ0O3JldHVybiBSdD1lLGZ1bmN0aW9uKCl7UnQ9dH19ZnVuY3Rpb24gSHQoZSl7dmFyIHQ9ZS4kb3B0aW9ucyxuPXQucGFyZW50O2lmKG4mJiF0LmFic3RyYWN0KXt3aGlsZShuLiRvcHRpb25zLmFic3RyYWN0JiZuLiRwYXJlbnQpbj1uLiRwYXJlbnQ7bi4kY2hpbGRyZW4ucHVzaChlKX1lLiRwYXJlbnQ9bixlLiRyb290PW4/bi4kcm9vdDplLGUuJGNoaWxkcmVuPVtdLGUuJHJlZnM9e30sZS5fd2F0Y2hlcj1udWxsLGUuX2luYWN0aXZlPW51bGwsZS5fZGlyZWN0SW5hY3RpdmU9ITEsZS5faXNNb3VudGVkPSExLGUuX2lzRGVzdHJveWVkPSExLGUuX2lzQmVpbmdEZXN0cm95ZWQ9ITF9ZnVuY3Rpb24genQoZSl7ZS5wcm90b3R5cGUuX3VwZGF0ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMscj1uLiRlbCxvPW4uX3Zub2RlLGk9VXQobik7bi5fdm5vZGU9ZSxuLiRlbD1vP24uX19wYXRjaF9fKG8sZSk6bi5fX3BhdGNoX18obi4kZWwsZSx0LCExKSxpKCksciYmKHIuX192dWVfXz1udWxsKSxuLiRlbCYmKG4uJGVsLl9fdnVlX189biksbi4kdm5vZGUmJm4uJHBhcmVudCYmbi4kdm5vZGU9PT1uLiRwYXJlbnQuX3Zub2RlJiYobi4kcGFyZW50LiRlbD1uLiRlbCl9LGUucHJvdG90eXBlLiRmb3JjZVVwZGF0ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5fd2F0Y2hlciYmZS5fd2F0Y2hlci51cGRhdGUoKX0sZS5wcm90b3R5cGUuJGRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2lmKCFlLl9pc0JlaW5nRGVzdHJveWVkKXtLdChlLCJiZWZvcmVEZXN0cm95IiksZS5faXNCZWluZ0Rlc3Ryb3llZD0hMDt2YXIgdD1lLiRwYXJlbnQ7IXR8fHQuX2lzQmVpbmdEZXN0cm95ZWR8fGUuJG9wdGlvbnMuYWJzdHJhY3R8fHkodC4kY2hpbGRyZW4sZSksZS5fd2F0Y2hlciYmZS5fd2F0Y2hlci50ZWFyZG93bigpO3ZhciBuPWUuX3dhdGNoZXJzLmxlbmd0aDt3aGlsZShuLS0pZS5fd2F0Y2hlcnNbbl0udGVhcmRvd24oKTtlLl9kYXRhLl9fb2JfXyYmZS5fZGF0YS5fX29iX18udm1Db3VudC0tLGUuX2lzRGVzdHJveWVkPSEwLGUuX19wYXRjaF9fKGUuX3Zub2RlLG51bGwpLEt0KGUsImRlc3Ryb3llZCIpLGUuJG9mZigpLGUuJGVsJiYoZS4kZWwuX192dWVfXz1udWxsKSxlLiR2bm9kZSYmKGUuJHZub2RlLnBhcmVudD1udWxsKX19fWZ1bmN0aW9uIFZ0KGUsdCxuKXt2YXIgcjtyZXR1cm4gZS4kZWw9dCxlLiRvcHRpb25zLnJlbmRlcnx8KGUuJG9wdGlvbnMucmVuZGVyPV9lKSxLdChlLCJiZWZvcmVNb3VudCIpLHI9ZnVuY3Rpb24oKXtlLl91cGRhdGUoZS5fcmVuZGVyKCksbil9LG5ldyB1bihlLHIsVCx7YmVmb3JlOmZ1bmN0aW9uKCl7ZS5faXNNb3VudGVkJiYhZS5faXNEZXN0cm95ZWQmJkt0KGUsImJlZm9yZVVwZGF0ZSIpfX0sITApLG49ITEsbnVsbD09ZS4kdm5vZGUmJihlLl9pc01vdW50ZWQ9ITAsS3QoZSwibW91bnRlZCIpKSxlfWZ1bmN0aW9uIEJ0KGUsdCxyLG8saSl7dmFyIGE9ISEoaXx8ZS4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW58fG8uZGF0YS5zY29wZWRTbG90c3x8ZS4kc2NvcGVkU2xvdHMhPT1uKTtpZihlLiRvcHRpb25zLl9wYXJlbnRWbm9kZT1vLGUuJHZub2RlPW8sZS5fdm5vZGUmJihlLl92bm9kZS5wYXJlbnQ9byksZS4kb3B0aW9ucy5fcmVuZGVyQ2hpbGRyZW49aSxlLiRhdHRycz1vLmRhdGEuYXR0cnN8fG4sZS4kbGlzdGVuZXJzPXJ8fG4sdCYmZS4kb3B0aW9ucy5wcm9wcyl7a2UoITEpO2Zvcih2YXIgYz1lLl9wcm9wcyxzPWUuJG9wdGlvbnMuX3Byb3BLZXlzfHxbXSx1PTA7dTxzLmxlbmd0aDt1Kyspe3ZhciBmPXNbdV0sbD1lLiRvcHRpb25zLnByb3BzO2NbZl09R2UoZixsLHQsZSl9a2UoITApLGUuJG9wdGlvbnMucHJvcHNEYXRhPXR9cj1yfHxuO3ZhciBwPWUuJG9wdGlvbnMuX3BhcmVudExpc3RlbmVycztlLiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM9cixNdChlLHIscCksYSYmKGUuJHNsb3RzPUx0KGksby5jb250ZXh0KSxlLiRmb3JjZVVwZGF0ZSgpKX1mdW5jdGlvbiBXdChlKXt3aGlsZShlJiYoZT1lLiRwYXJlbnQpKWlmKGUuX2luYWN0aXZlKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIEd0KGUsdCl7aWYodCl7aWYoZS5fZGlyZWN0SW5hY3RpdmU9ITEsV3QoZSkpcmV0dXJufWVsc2UgaWYoZS5fZGlyZWN0SW5hY3RpdmUpcmV0dXJuO2lmKGUuX2luYWN0aXZlfHxudWxsPT09ZS5faW5hY3RpdmUpe2UuX2luYWN0aXZlPSExO2Zvcih2YXIgbj0wO248ZS4kY2hpbGRyZW4ubGVuZ3RoO24rKylHdChlLiRjaGlsZHJlbltuXSk7S3QoZSwiYWN0aXZhdGVkIil9fWZ1bmN0aW9uIHF0KGUsdCl7aWYoKCF0fHwoZS5fZGlyZWN0SW5hY3RpdmU9ITAsIVd0KGUpKSkmJiFlLl9pbmFjdGl2ZSl7ZS5faW5hY3RpdmU9ITA7Zm9yKHZhciBuPTA7bjxlLiRjaGlsZHJlbi5sZW5ndGg7bisrKXF0KGUuJGNoaWxkcmVuW25dKTtLdChlLCJkZWFjdGl2YXRlZCIpfX1mdW5jdGlvbiBLdChlLHQpe2hlKCk7dmFyIG49ZS4kb3B0aW9uc1t0XTtpZihuKWZvcih2YXIgcj0wLG89bi5sZW5ndGg7cjxvO3IrKyl0cnl7bltyXS5jYWxsKGUpfWNhdGNoKGNhKXtZZShjYSxlLHQrIiBob29rIil9ZS5faGFzSG9va0V2ZW50JiZlLiRlbWl0KCJob29rOiIrdCksdmUoKX12YXIgWHQ9W10sSnQ9W10sWXQ9e30sWnQ9ITEsUXQ9ITEsZW49MDtmdW5jdGlvbiB0bigpe2VuPVh0Lmxlbmd0aD1KdC5sZW5ndGg9MCxZdD17fSxadD1RdD0hMX1mdW5jdGlvbiBubigpe3ZhciBlLHQ7Zm9yKFF0PSEwLFh0LnNvcnQoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5pZC10LmlkfSksZW49MDtlbjxYdC5sZW5ndGg7ZW4rKyllPVh0W2VuXSxlLmJlZm9yZSYmZS5iZWZvcmUoKSx0PWUuaWQsWXRbdF09bnVsbCxlLnJ1bigpO3ZhciBuPUp0LnNsaWNlKCkscj1YdC5zbGljZSgpO3RuKCksYW4obikscm4ociksYWUmJkguZGV2dG9vbHMmJmFlLmVtaXQoImZsdXNoIil9ZnVuY3Rpb24gcm4oZSl7dmFyIHQ9ZS5sZW5ndGg7d2hpbGUodC0tKXt2YXIgbj1lW3RdLHI9bi52bTtyLl93YXRjaGVyPT09biYmci5faXNNb3VudGVkJiYhci5faXNEZXN0cm95ZWQmJkt0KHIsInVwZGF0ZWQiKX19ZnVuY3Rpb24gb24oZSl7ZS5faW5hY3RpdmU9ITEsSnQucHVzaChlKX1mdW5jdGlvbiBhbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoO3QrKyllW3RdLl9pbmFjdGl2ZT0hMCxHdChlW3RdLCEwKX1mdW5jdGlvbiBjbihlKXt2YXIgdD1lLmlkO2lmKG51bGw9PVl0W3RdKXtpZihZdFt0XT0hMCxRdCl7dmFyIG49WHQubGVuZ3RoLTE7d2hpbGUobj5lbiYmWHRbbl0uaWQ+ZS5pZCluLS07WHQuc3BsaWNlKG4rMSwwLGUpfWVsc2UgWHQucHVzaChlKTtadHx8KFp0PSEwLGZ0KG5uKSl9fXZhciBzbj0wLHVuPWZ1bmN0aW9uKGUsdCxuLHIsbyl7dGhpcy52bT1lLG8mJihlLl93YXRjaGVyPXRoaXMpLGUuX3dhdGNoZXJzLnB1c2godGhpcykscj8odGhpcy5kZWVwPSEhci5kZWVwLHRoaXMudXNlcj0hIXIudXNlcix0aGlzLmxhenk9ISFyLmxhenksdGhpcy5zeW5jPSEhci5zeW5jLHRoaXMuYmVmb3JlPXIuYmVmb3JlKTp0aGlzLmRlZXA9dGhpcy51c2VyPXRoaXMubGF6eT10aGlzLnN5bmM9ITEsdGhpcy5jYj1uLHRoaXMuaWQ9Kytzbix0aGlzLmFjdGl2ZT0hMCx0aGlzLmRpcnR5PXRoaXMubGF6eSx0aGlzLmRlcHM9W10sdGhpcy5uZXdEZXBzPVtdLHRoaXMuZGVwSWRzPW5ldyBzZSx0aGlzLm5ld0RlcElkcz1uZXcgc2UsdGhpcy5leHByZXNzaW9uPSIiLCJmdW5jdGlvbiI9PT10eXBlb2YgdD90aGlzLmdldHRlcj10Oih0aGlzLmdldHRlcj1XKHQpLHRoaXMuZ2V0dGVyfHwodGhpcy5nZXR0ZXI9VCkpLHRoaXMudmFsdWU9dGhpcy5sYXp5P3ZvaWQgMDp0aGlzLmdldCgpfTt1bi5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7dmFyIGU7aGUodGhpcyk7dmFyIHQ9dGhpcy52bTt0cnl7ZT10aGlzLmdldHRlci5jYWxsKHQsdCl9Y2F0Y2goY2Epe2lmKCF0aGlzLnVzZXIpdGhyb3cgY2E7WWUoY2EsdCwnZ2V0dGVyIGZvciB3YXRjaGVyICInK3RoaXMuZXhwcmVzc2lvbisnIicpfWZpbmFsbHl7dGhpcy5kZWVwJiZwdChlKSx2ZSgpLHRoaXMuY2xlYW51cERlcHMoKX1yZXR1cm4gZX0sdW4ucHJvdG90eXBlLmFkZERlcD1mdW5jdGlvbihlKXt2YXIgdD1lLmlkO3RoaXMubmV3RGVwSWRzLmhhcyh0KXx8KHRoaXMubmV3RGVwSWRzLmFkZCh0KSx0aGlzLm5ld0RlcHMucHVzaChlKSx0aGlzLmRlcElkcy5oYXModCl8fGUuYWRkU3ViKHRoaXMpKX0sdW4ucHJvdG90eXBlLmNsZWFudXBEZXBzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5kZXBzLmxlbmd0aDt3aGlsZShlLS0pe3ZhciB0PXRoaXMuZGVwc1tlXTt0aGlzLm5ld0RlcElkcy5oYXModC5pZCl8fHQucmVtb3ZlU3ViKHRoaXMpfXZhciBuPXRoaXMuZGVwSWRzO3RoaXMuZGVwSWRzPXRoaXMubmV3RGVwSWRzLHRoaXMubmV3RGVwSWRzPW4sdGhpcy5uZXdEZXBJZHMuY2xlYXIoKSxuPXRoaXMuZGVwcyx0aGlzLmRlcHM9dGhpcy5uZXdEZXBzLHRoaXMubmV3RGVwcz1uLHRoaXMubmV3RGVwcy5sZW5ndGg9MH0sdW4ucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMubGF6eT90aGlzLmRpcnR5PSEwOnRoaXMuc3luYz90aGlzLnJ1bigpOmNuKHRoaXMpfSx1bi5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7aWYodGhpcy5hY3RpdmUpe3ZhciBlPXRoaXMuZ2V0KCk7aWYoZSE9PXRoaXMudmFsdWV8fHMoZSl8fHRoaXMuZGVlcCl7dmFyIHQ9dGhpcy52YWx1ZTtpZih0aGlzLnZhbHVlPWUsdGhpcy51c2VyKXRyeXt0aGlzLmNiLmNhbGwodGhpcy52bSxlLHQpfWNhdGNoKGNhKXtZZShjYSx0aGlzLnZtLCdjYWxsYmFjayBmb3Igd2F0Y2hlciAiJyt0aGlzLmV4cHJlc3Npb24rJyInKX1lbHNlIHRoaXMuY2IuY2FsbCh0aGlzLnZtLGUsdCl9fX0sdW4ucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLmdldCgpLHRoaXMuZGlydHk9ITF9LHVuLnByb3RvdHlwZS5kZXBlbmQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmRlcHMubGVuZ3RoO3doaWxlKGUtLSl0aGlzLmRlcHNbZV0uZGVwZW5kKCl9LHVuLnByb3RvdHlwZS50ZWFyZG93bj1mdW5jdGlvbigpe2lmKHRoaXMuYWN0aXZlKXt0aGlzLnZtLl9pc0JlaW5nRGVzdHJveWVkfHx5KHRoaXMudm0uX3dhdGNoZXJzLHRoaXMpO3ZhciBlPXRoaXMuZGVwcy5sZW5ndGg7d2hpbGUoZS0tKXRoaXMuZGVwc1tlXS5yZW1vdmVTdWIodGhpcyk7dGhpcy5hY3RpdmU9ITF9fTt2YXIgZm49e2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpULHNldDpUfTtmdW5jdGlvbiBsbihlLHQsbil7Zm4uZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbdF1bbl19LGZuLnNldD1mdW5jdGlvbihlKXt0aGlzW3RdW25dPWV9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4sZm4pfWZ1bmN0aW9uIHBuKGUpe2UuX3dhdGNoZXJzPVtdO3ZhciB0PWUuJG9wdGlvbnM7dC5wcm9wcyYmZG4oZSx0LnByb3BzKSx0Lm1ldGhvZHMmJnduKGUsdC5tZXRob2RzKSx0LmRhdGE/aG4oZSk6amUoZS5fZGF0YT17fSwhMCksdC5jb21wdXRlZCYmeW4oZSx0LmNvbXB1dGVkKSx0LndhdGNoJiZ0LndhdGNoIT09bmUmJnhuKGUsdC53YXRjaCl9ZnVuY3Rpb24gZG4oZSx0KXt2YXIgbj1lLiRvcHRpb25zLnByb3BzRGF0YXx8e30scj1lLl9wcm9wcz17fSxvPWUuJG9wdGlvbnMuX3Byb3BLZXlzPVtdLGk9IWUuJHBhcmVudDtpfHxrZSghMSk7dmFyIGE9ZnVuY3Rpb24oaSl7by5wdXNoKGkpO3ZhciBhPUdlKGksdCxuLGUpO0VlKHIsaSxhKSxpIGluIGV8fGxuKGUsIl9wcm9wcyIsaSl9O2Zvcih2YXIgYyBpbiB0KWEoYyk7a2UoITApfWZ1bmN0aW9uIGhuKGUpe3ZhciB0PWUuJG9wdGlvbnMuZGF0YTt0PWUuX2RhdGE9ImZ1bmN0aW9uIj09PXR5cGVvZiB0P3ZuKHQsZSk6dHx8e30sZih0KXx8KHQ9e30pO3ZhciBuPU9iamVjdC5rZXlzKHQpLHI9ZS4kb3B0aW9ucy5wcm9wcyxvPShlLiRvcHRpb25zLm1ldGhvZHMsbi5sZW5ndGgpO3doaWxlKG8tLSl7dmFyIGk9bltvXTswLHImJmcocixpKXx8eihpKXx8bG4oZSwiX2RhdGEiLGkpfWplKHQsITApfWZ1bmN0aW9uIHZuKGUsdCl7aGUoKTt0cnl7cmV0dXJuIGUuY2FsbCh0LHQpfWNhdGNoKGNhKXtyZXR1cm4gWWUoY2EsdCwiZGF0YSgpIikse319ZmluYWxseXt2ZSgpfX12YXIgbW49e2xhenk6ITB9O2Z1bmN0aW9uIHluKGUsdCl7dmFyIG49ZS5fY29tcHV0ZWRXYXRjaGVycz1PYmplY3QuY3JlYXRlKG51bGwpLHI9aWUoKTtmb3IodmFyIG8gaW4gdCl7dmFyIGk9dFtvXSxhPSJmdW5jdGlvbiI9PT10eXBlb2YgaT9pOmkuZ2V0OzAscnx8KG5bb109bmV3IHVuKGUsYXx8VCxULG1uKSksbyBpbiBlfHxfbihlLG8saSl9fWZ1bmN0aW9uIF9uKGUsdCxuKXt2YXIgcj0haWUoKTsiZnVuY3Rpb24iPT09dHlwZW9mIG4/KGZuLmdldD1yP2duKHQpOmJuKG4pLGZuLnNldD1UKTooZm4uZ2V0PW4uZ2V0P3ImJiExIT09bi5jYWNoZT9nbih0KTpibihuLmdldCk6VCxmbi5zZXQ9bi5zZXR8fFQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHQsZm4pfWZ1bmN0aW9uIGduKGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXRoaXMuX2NvbXB1dGVkV2F0Y2hlcnMmJnRoaXMuX2NvbXB1dGVkV2F0Y2hlcnNbZV07aWYodClyZXR1cm4gdC5kaXJ0eSYmdC5ldmFsdWF0ZSgpLHBlLnRhcmdldCYmdC5kZXBlbmQoKSx0LnZhbHVlfX1mdW5jdGlvbiBibihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMsdGhpcyl9fWZ1bmN0aW9uIHduKGUsdCl7ZS4kb3B0aW9ucy5wcm9wcztmb3IodmFyIG4gaW4gdCllW25dPSJmdW5jdGlvbiIhPT10eXBlb2YgdFtuXT9UOlAodFtuXSxlKX1mdW5jdGlvbiB4bihlLHQpe2Zvcih2YXIgbiBpbiB0KXt2YXIgcj10W25dO2lmKEFycmF5LmlzQXJyYXkocikpZm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspQ24oZSxuLHJbb10pO2Vsc2UgQ24oZSxuLHIpfX1mdW5jdGlvbiBDbihlLHQsbixyKXtyZXR1cm4gZihuKSYmKHI9bixuPW4uaGFuZGxlciksInN0cmluZyI9PT10eXBlb2YgbiYmKG49ZVtuXSksZS4kd2F0Y2godCxuLHIpfWZ1bmN0aW9uIFNuKGUpe3ZhciB0PXtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGF0YX19LG49e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcm9wc319O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiJGRhdGEiLHQpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSwiJHByb3BzIixuKSxlLnByb3RvdHlwZS4kc2V0PVRlLGUucHJvdG90eXBlLiRkZWxldGU9SWUsZS5wcm90b3R5cGUuJHdhdGNoPWZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10aGlzO2lmKGYodCkpcmV0dXJuIENuKHIsZSx0LG4pO249bnx8e30sbi51c2VyPSEwO3ZhciBvPW5ldyB1bihyLGUsdCxuKTtpZihuLmltbWVkaWF0ZSl0cnl7dC5jYWxsKHIsby52YWx1ZSl9Y2F0Y2goaSl7WWUoaSxyLCdjYWxsYmFjayBmb3IgaW1tZWRpYXRlIHdhdGNoZXIgIicrby5leHByZXNzaW9uKyciJyl9cmV0dXJuIGZ1bmN0aW9uKCl7by50ZWFyZG93bigpfX19ZnVuY3Rpb24gQW4oZSl7dmFyIHQ9ZS4kb3B0aW9ucy5wcm92aWRlO3QmJihlLl9wcm92aWRlZD0iZnVuY3Rpb24iPT09dHlwZW9mIHQ/dC5jYWxsKGUpOnQpfWZ1bmN0aW9uIGtuKGUpe3ZhciB0PU9uKGUuJG9wdGlvbnMuaW5qZWN0LGUpO3QmJihrZSghMSksT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXtFZShlLG4sdFtuXSl9KSxrZSghMCkpfWZ1bmN0aW9uIE9uKGUsdCl7aWYoZSl7Zm9yKHZhciBuPU9iamVjdC5jcmVhdGUobnVsbCkscj11ZT9SZWZsZWN0Lm93bktleXMoZSkuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCkuZW51bWVyYWJsZX0pOk9iamVjdC5rZXlzKGUpLG89MDtvPHIubGVuZ3RoO28rKyl7dmFyIGk9cltvXSxhPWVbaV0uZnJvbSxjPXQ7d2hpbGUoYyl7aWYoYy5fcHJvdmlkZWQmJmcoYy5fcHJvdmlkZWQsYSkpe25baV09Yy5fcHJvdmlkZWRbYV07YnJlYWt9Yz1jLiRwYXJlbnR9aWYoIWMpaWYoImRlZmF1bHQiaW4gZVtpXSl7dmFyIHM9ZVtpXS5kZWZhdWx0O25baV09ImZ1bmN0aW9uIj09PXR5cGVvZiBzP3MuY2FsbCh0KTpzfWVsc2UgMH1yZXR1cm4gbn19ZnVuY3Rpb24gUG4oZSx0KXt2YXIgbixyLGksYSxjO2lmKEFycmF5LmlzQXJyYXkoZSl8fCJzdHJpbmciPT09dHlwZW9mIGUpZm9yKG49bmV3IEFycmF5KGUubGVuZ3RoKSxyPTAsaT1lLmxlbmd0aDtyPGk7cisrKW5bcl09dChlW3JdLHIpO2Vsc2UgaWYoIm51bWJlciI9PT10eXBlb2YgZSlmb3Iobj1uZXcgQXJyYXkoZSkscj0wO3I8ZTtyKyspbltyXT10KHIrMSxyKTtlbHNlIGlmKHMoZSkpZm9yKGE9T2JqZWN0LmtleXMoZSksbj1uZXcgQXJyYXkoYS5sZW5ndGgpLHI9MCxpPWEubGVuZ3RoO3I8aTtyKyspYz1hW3JdLG5bcl09dChlW2NdLGMscik7cmV0dXJuIG8obil8fChuPVtdKSxuLl9pc1ZMaXN0PSEwLG59ZnVuY3Rpb24gJG4oZSx0LG4scil7dmFyIG8saT10aGlzLiRzY29wZWRTbG90c1tlXTtpPyhuPW58fHt9LHImJihuPWooaih7fSxyKSxuKSksbz1pKG4pfHx0KTpvPXRoaXMuJHNsb3RzW2VdfHx0O3ZhciBhPW4mJm4uc2xvdDtyZXR1cm4gYT90aGlzLiRjcmVhdGVFbGVtZW50KCJ0ZW1wbGF0ZSIse3Nsb3Q6YX0sbyk6b31mdW5jdGlvbiBqbihlKXtyZXR1cm4gV2UodGhpcy4kb3B0aW9ucywiZmlsdGVycyIsZSwhMCl8fE19ZnVuY3Rpb24gRW4oZSx0KXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKT8tMT09PWUuaW5kZXhPZih0KTplIT09dH1mdW5jdGlvbiBUbihlLHQsbixyLG8pe3ZhciBpPUgua2V5Q29kZXNbdF18fG47cmV0dXJuIG8mJnImJiFILmtleUNvZGVzW3RdP0VuKG8scik6aT9FbihpLGUpOnI/QShyKSE9PXQ6dm9pZCAwfWZ1bmN0aW9uIEluKGUsdCxuLHIsbyl7aWYobilpZihzKG4pKXt2YXIgaTtBcnJheS5pc0FycmF5KG4pJiYobj1FKG4pKTt2YXIgYT1mdW5jdGlvbihhKXtpZigiY2xhc3MiPT09YXx8InN0eWxlIj09PWF8fG0oYSkpaT1lO2Vsc2V7dmFyIGM9ZS5hdHRycyYmZS5hdHRycy50eXBlO2k9cnx8SC5tdXN0VXNlUHJvcCh0LGMsYSk/ZS5kb21Qcm9wc3x8KGUuZG9tUHJvcHM9e30pOmUuYXR0cnN8fChlLmF0dHJzPXt9KX12YXIgcz14KGEpO2lmKCEoYSBpbiBpKSYmIShzIGluIGkpJiYoaVthXT1uW2FdLG8pKXt2YXIgdT1lLm9ufHwoZS5vbj17fSk7dVsidXBkYXRlOiIrc109ZnVuY3Rpb24oZSl7blthXT1lfX19O2Zvcih2YXIgYyBpbiBuKWEoYyl9ZWxzZTtyZXR1cm4gZX1mdW5jdGlvbiBNbihlLHQpe3ZhciBuPXRoaXMuX3N0YXRpY1RyZWVzfHwodGhpcy5fc3RhdGljVHJlZXM9W10pLHI9bltlXTtyZXR1cm4gciYmIXQ/cjoocj1uW2VdPXRoaXMuJG9wdGlvbnMuc3RhdGljUmVuZGVyRm5zW2VdLmNhbGwodGhpcy5fcmVuZGVyUHJveHksbnVsbCx0aGlzKSxMbihyLCJfX3N0YXRpY19fIitlLCExKSxyKX1mdW5jdGlvbiBEbihlLHQsbil7cmV0dXJuIExuKGUsIl9fb25jZV9fIit0KyhuPyJfIituOiIiKSwhMCksZX1mdW5jdGlvbiBMbihlLHQsbil7aWYoQXJyYXkuaXNBcnJheShlKSlmb3IodmFyIHI9MDtyPGUubGVuZ3RoO3IrKyllW3JdJiYic3RyaW5nIiE9PXR5cGVvZiBlW3JdJiZGbihlW3JdLHQrIl8iK3Isbik7ZWxzZSBGbihlLHQsbil9ZnVuY3Rpb24gRm4oZSx0LG4pe2UuaXNTdGF0aWM9ITAsZS5rZXk9dCxlLmlzT25jZT1ufWZ1bmN0aW9uIE5uKGUsdCl7aWYodClpZihmKHQpKXt2YXIgbj1lLm9uPWUub24/aih7fSxlLm9uKTp7fTtmb3IodmFyIHIgaW4gdCl7dmFyIG89bltyXSxpPXRbcl07bltyXT1vP1tdLmNvbmNhdChvLGkpOml9fWVsc2U7cmV0dXJuIGV9ZnVuY3Rpb24gUm4oZSl7ZS5fbz1EbixlLl9uPWgsZS5fcz1kLGUuX2w9UG4sZS5fdD0kbixlLl9xPUQsZS5faT1MLGUuX209TW4sZS5fZj1qbixlLl9rPVRuLGUuX2I9SW4sZS5fdj1nZSxlLl9lPV9lLGUuX3U9TnQsZS5fZz1Obn1mdW5jdGlvbiBVbihlLHQscixvLGEpe3ZhciBjLHM9YS5vcHRpb25zO2cobywiX3VpZCIpPyhjPU9iamVjdC5jcmVhdGUobyksYy5fb3JpZ2luYWw9byk6KGM9byxvPW8uX29yaWdpbmFsKTt2YXIgdT1pKHMuX2NvbXBpbGVkKSxmPSF1O3RoaXMuZGF0YT1lLHRoaXMucHJvcHM9dCx0aGlzLmNoaWxkcmVuPXIsdGhpcy5wYXJlbnQ9byx0aGlzLmxpc3RlbmVycz1lLm9ufHxuLHRoaXMuaW5qZWN0aW9ucz1PbihzLmluamVjdCxvKSx0aGlzLnNsb3RzPWZ1bmN0aW9uKCl7cmV0dXJuIEx0KHIsbyl9LHUmJih0aGlzLiRvcHRpb25zPXMsdGhpcy4kc2xvdHM9dGhpcy5zbG90cygpLHRoaXMuJHNjb3BlZFNsb3RzPWUuc2NvcGVkU2xvdHN8fG4pLHMuX3Njb3BlSWQ/dGhpcy5fYz1mdW5jdGlvbihlLHQsbixyKXt2YXIgaT1RbihjLGUsdCxuLHIsZik7cmV0dXJuIGkmJiFBcnJheS5pc0FycmF5KGkpJiYoaS5mblNjb3BlSWQ9cy5fc2NvcGVJZCxpLmZuQ29udGV4dD1vKSxpfTp0aGlzLl9jPWZ1bmN0aW9uKGUsdCxuLHIpe3JldHVybiBRbihjLGUsdCxuLHIsZil9fWZ1bmN0aW9uIEhuKGUsdCxyLGksYSl7dmFyIGM9ZS5vcHRpb25zLHM9e30sdT1jLnByb3BzO2lmKG8odSkpZm9yKHZhciBmIGluIHUpc1tmXT1HZShmLHUsdHx8bik7ZWxzZSBvKHIuYXR0cnMpJiZWbihzLHIuYXR0cnMpLG8oci5wcm9wcykmJlZuKHMsci5wcm9wcyk7dmFyIGw9bmV3IFVuKHIscyxhLGksZSkscD1jLnJlbmRlci5jYWxsKG51bGwsbC5fYyxsKTtpZihwIGluc3RhbmNlb2YgbWUpcmV0dXJuIHpuKHAscixsLnBhcmVudCxjLGwpO2lmKEFycmF5LmlzQXJyYXkocCkpe2Zvcih2YXIgZD14dChwKXx8W10saD1uZXcgQXJyYXkoZC5sZW5ndGgpLHY9MDt2PGQubGVuZ3RoO3YrKyloW3ZdPXpuKGRbdl0scixsLnBhcmVudCxjLGwpO3JldHVybiBofX1mdW5jdGlvbiB6bihlLHQsbixyLG8pe3ZhciBpPWJlKGUpO3JldHVybiBpLmZuQ29udGV4dD1uLGkuZm5PcHRpb25zPXIsdC5zbG90JiYoKGkuZGF0YXx8KGkuZGF0YT17fSkpLnNsb3Q9dC5zbG90KSxpfWZ1bmN0aW9uIFZuKGUsdCl7Zm9yKHZhciBuIGluIHQpZVt4KG4pXT10W25dfVJuKFVuLnByb3RvdHlwZSk7dmFyIEJuPXtpbml0OmZ1bmN0aW9uKGUsdCl7aWYoZS5jb21wb25lbnRJbnN0YW5jZSYmIWUuY29tcG9uZW50SW5zdGFuY2UuX2lzRGVzdHJveWVkJiZlLmRhdGEua2VlcEFsaXZlKXt2YXIgbj1lO0JuLnByZXBhdGNoKG4sbil9ZWxzZXt2YXIgcj1lLmNvbXBvbmVudEluc3RhbmNlPXFuKGUsUnQpO3IuJG1vdW50KHQ/ZS5lbG06dm9pZCAwLHQpfX0scHJlcGF0Y2g6ZnVuY3Rpb24oZSx0KXt2YXIgbj10LmNvbXBvbmVudE9wdGlvbnMscj10LmNvbXBvbmVudEluc3RhbmNlPWUuY29tcG9uZW50SW5zdGFuY2U7QnQocixuLnByb3BzRGF0YSxuLmxpc3RlbmVycyx0LG4uY2hpbGRyZW4pfSxpbnNlcnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jb250ZXh0LG49ZS5jb21wb25lbnRJbnN0YW5jZTtuLl9pc01vdW50ZWR8fChuLl9pc01vdW50ZWQ9ITAsS3QobiwibW91bnRlZCIpKSxlLmRhdGEua2VlcEFsaXZlJiYodC5faXNNb3VudGVkP29uKG4pOkd0KG4sITApKX0sZGVzdHJveTpmdW5jdGlvbihlKXt2YXIgdD1lLmNvbXBvbmVudEluc3RhbmNlO3QuX2lzRGVzdHJveWVkfHwoZS5kYXRhLmtlZXBBbGl2ZT9xdCh0LCEwKTp0LiRkZXN0cm95KCkpfX0sV249T2JqZWN0LmtleXMoQm4pO2Z1bmN0aW9uIEduKGUsdCxuLGEsYyl7aWYoIXIoZSkpe3ZhciB1PW4uJG9wdGlvbnMuX2Jhc2U7aWYocyhlKSYmKGU9dS5leHRlbmQoZSkpLCJmdW5jdGlvbiI9PT10eXBlb2YgZSl7dmFyIGY7aWYocihlLmNpZCkmJihmPWUsZT1PdChmLHUsbiksdm9pZCAwPT09ZSkpcmV0dXJuIGt0KGYsdCxuLGEsYyk7dD10fHx7fSxzcihlKSxvKHQubW9kZWwpJiZKbihlLm9wdGlvbnMsdCk7dmFyIGw9Z3QodCxlLGMpO2lmKGkoZS5vcHRpb25zLmZ1bmN0aW9uYWwpKXJldHVybiBIbihlLGwsdCxuLGEpO3ZhciBwPXQub247aWYodC5vbj10Lm5hdGl2ZU9uLGkoZS5vcHRpb25zLmFic3RyYWN0KSl7dmFyIGQ9dC5zbG90O3Q9e30sZCYmKHQuc2xvdD1kKX1Lbih0KTt2YXIgaD1lLm9wdGlvbnMubmFtZXx8Yyx2PW5ldyBtZSgidnVlLWNvbXBvbmVudC0iK2UuY2lkKyhoPyItIitoOiIiKSx0LHZvaWQgMCx2b2lkIDAsdm9pZCAwLG4se0N0b3I6ZSxwcm9wc0RhdGE6bCxsaXN0ZW5lcnM6cCx0YWc6YyxjaGlsZHJlbjphfSxmKTtyZXR1cm4gdn19fWZ1bmN0aW9uIHFuKGUsdCl7dmFyIG49e19pc0NvbXBvbmVudDohMCxfcGFyZW50Vm5vZGU6ZSxwYXJlbnQ6dH0scj1lLmRhdGEuaW5saW5lVGVtcGxhdGU7cmV0dXJuIG8ocikmJihuLnJlbmRlcj1yLnJlbmRlcixuLnN0YXRpY1JlbmRlckZucz1yLnN0YXRpY1JlbmRlckZucyksbmV3IGUuY29tcG9uZW50T3B0aW9ucy5DdG9yKG4pfWZ1bmN0aW9uIEtuKGUpe2Zvcih2YXIgdD1lLmhvb2t8fChlLmhvb2s9e30pLG49MDtuPFduLmxlbmd0aDtuKyspe3ZhciByPVduW25dLG89dFtyXSxpPUJuW3JdO289PT1pfHxvJiZvLl9tZXJnZWR8fCh0W3JdPW8/WG4oaSxvKTppKX19ZnVuY3Rpb24gWG4oZSx0KXt2YXIgbj1mdW5jdGlvbihuLHIpe2UobixyKSx0KG4scil9O3JldHVybiBuLl9tZXJnZWQ9ITAsbn1mdW5jdGlvbiBKbihlLHQpe3ZhciBuPWUubW9kZWwmJmUubW9kZWwucHJvcHx8InZhbHVlIixyPWUubW9kZWwmJmUubW9kZWwuZXZlbnR8fCJpbnB1dCI7KHQucHJvcHN8fCh0LnByb3BzPXt9KSlbbl09dC5tb2RlbC52YWx1ZTt2YXIgaT10Lm9ufHwodC5vbj17fSksYT1pW3JdLGM9dC5tb2RlbC5jYWxsYmFjaztvKGEpPyhBcnJheS5pc0FycmF5KGEpPy0xPT09YS5pbmRleE9mKGMpOmEhPT1jKSYmKGlbcl09W2NdLmNvbmNhdChhKSk6aVtyXT1jfXZhciBZbj0xLFpuPTI7ZnVuY3Rpb24gUW4oZSx0LG4scixvLGEpe3JldHVybihBcnJheS5pc0FycmF5KG4pfHxjKG4pKSYmKG89cixyPW4sbj12b2lkIDApLGkoYSkmJihvPVpuKSxlcihlLHQsbixyLG8pfWZ1bmN0aW9uIGVyKGUsdCxuLHIsaSl7aWYobyhuKSYmbyhuLl9fb2JfXykpcmV0dXJuIF9lKCk7aWYobyhuKSYmbyhuLmlzKSYmKHQ9bi5pcyksIXQpcmV0dXJuIF9lKCk7dmFyIGEsYyxzOyhBcnJheS5pc0FycmF5KHIpJiYiZnVuY3Rpb24iPT09dHlwZW9mIHJbMF0mJihuPW58fHt9LG4uc2NvcGVkU2xvdHM9e2RlZmF1bHQ6clswXX0sci5sZW5ndGg9MCksaT09PVpuP3I9eHQocik6aT09PVluJiYocj13dChyKSksInN0cmluZyI9PT10eXBlb2YgdCk/KGM9ZS4kdm5vZGUmJmUuJHZub2RlLm5zfHxILmdldFRhZ05hbWVzcGFjZSh0KSxhPUguaXNSZXNlcnZlZFRhZyh0KT9uZXcgbWUoSC5wYXJzZVBsYXRmb3JtVGFnTmFtZSh0KSxuLHIsdm9pZCAwLHZvaWQgMCxlKTpuJiZuLnByZXx8IW8ocz1XZShlLiRvcHRpb25zLCJjb21wb25lbnRzIix0KSk/bmV3IG1lKHQsbixyLHZvaWQgMCx2b2lkIDAsZSk6R24ocyxuLGUscix0KSk6YT1Hbih0LG4sZSxyKTtyZXR1cm4gQXJyYXkuaXNBcnJheShhKT9hOm8oYSk/KG8oYykmJnRyKGEsYyksbyhuKSYmbnIobiksYSk6X2UoKX1mdW5jdGlvbiB0cihlLHQsbil7aWYoZS5ucz10LCJmb3JlaWduT2JqZWN0Ij09PWUudGFnJiYodD12b2lkIDAsbj0hMCksbyhlLmNoaWxkcmVuKSlmb3IodmFyIGE9MCxjPWUuY2hpbGRyZW4ubGVuZ3RoO2E8YzthKyspe3ZhciBzPWUuY2hpbGRyZW5bYV07byhzLnRhZykmJihyKHMubnMpfHxpKG4pJiYic3ZnIiE9PXMudGFnKSYmdHIocyx0LG4pfX1mdW5jdGlvbiBucihlKXtzKGUuc3R5bGUpJiZwdChlLnN0eWxlKSxzKGUuY2xhc3MpJiZwdChlLmNsYXNzKX1mdW5jdGlvbiBycihlKXtlLl92bm9kZT1udWxsLGUuX3N0YXRpY1RyZWVzPW51bGw7dmFyIHQ9ZS4kb3B0aW9ucyxyPWUuJHZub2RlPXQuX3BhcmVudFZub2RlLG89ciYmci5jb250ZXh0O2UuJHNsb3RzPUx0KHQuX3JlbmRlckNoaWxkcmVuLG8pLGUuJHNjb3BlZFNsb3RzPW4sZS5fYz1mdW5jdGlvbih0LG4scixvKXtyZXR1cm4gUW4oZSx0LG4scixvLCExKX0sZS4kY3JlYXRlRWxlbWVudD1mdW5jdGlvbih0LG4scixvKXtyZXR1cm4gUW4oZSx0LG4scixvLCEwKX07dmFyIGk9ciYmci5kYXRhO0VlKGUsIiRhdHRycyIsaSYmaS5hdHRyc3x8bixudWxsLCEwKSxFZShlLCIkbGlzdGVuZXJzIix0Ll9wYXJlbnRMaXN0ZW5lcnN8fG4sbnVsbCwhMCl9ZnVuY3Rpb24gb3IoZSl7Um4oZS5wcm90b3R5cGUpLGUucHJvdG90eXBlLiRuZXh0VGljaz1mdW5jdGlvbihlKXtyZXR1cm4gZnQoZSx0aGlzKX0sZS5wcm90b3R5cGUuX3JlbmRlcj1mdW5jdGlvbigpe3ZhciBlLHQ9dGhpcyxyPXQuJG9wdGlvbnMsbz1yLnJlbmRlcixpPXIuX3BhcmVudFZub2RlO2kmJih0LiRzY29wZWRTbG90cz1pLmRhdGEuc2NvcGVkU2xvdHN8fG4pLHQuJHZub2RlPWk7dHJ5e2U9by5jYWxsKHQuX3JlbmRlclByb3h5LHQuJGNyZWF0ZUVsZW1lbnQpfWNhdGNoKGNhKXtZZShjYSx0LCJyZW5kZXIiKSxlPXQuX3Zub2RlfXJldHVybiBlIGluc3RhbmNlb2YgbWV8fChlPV9lKCkpLGUucGFyZW50PWksZX19dmFyIGlyPTA7ZnVuY3Rpb24gYXIoZSl7ZS5wcm90b3R5cGUuX2luaXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0Ll91aWQ9aXIrKyx0Ll9pc1Z1ZT0hMCxlJiZlLl9pc0NvbXBvbmVudD9jcih0LGUpOnQuJG9wdGlvbnM9QmUoc3IodC5jb25zdHJ1Y3RvciksZXx8e30sdCksdC5fcmVuZGVyUHJveHk9dCx0Ll9zZWxmPXQsSHQodCksanQodCkscnIodCksS3QodCwiYmVmb3JlQ3JlYXRlIiksa24odCkscG4odCksQW4odCksS3QodCwiY3JlYXRlZCIpLHQuJG9wdGlvbnMuZWwmJnQuJG1vdW50KHQuJG9wdGlvbnMuZWwpfX1mdW5jdGlvbiBjcihlLHQpe3ZhciBuPWUuJG9wdGlvbnM9T2JqZWN0LmNyZWF0ZShlLmNvbnN0cnVjdG9yLm9wdGlvbnMpLHI9dC5fcGFyZW50Vm5vZGU7bi5wYXJlbnQ9dC5wYXJlbnQsbi5fcGFyZW50Vm5vZGU9cjt2YXIgbz1yLmNvbXBvbmVudE9wdGlvbnM7bi5wcm9wc0RhdGE9by5wcm9wc0RhdGEsbi5fcGFyZW50TGlzdGVuZXJzPW8ubGlzdGVuZXJzLG4uX3JlbmRlckNoaWxkcmVuPW8uY2hpbGRyZW4sbi5fY29tcG9uZW50VGFnPW8udGFnLHQucmVuZGVyJiYobi5yZW5kZXI9dC5yZW5kZXIsbi5zdGF0aWNSZW5kZXJGbnM9dC5zdGF0aWNSZW5kZXJGbnMpfWZ1bmN0aW9uIHNyKGUpe3ZhciB0PWUub3B0aW9ucztpZihlLnN1cGVyKXt2YXIgbj1zcihlLnN1cGVyKSxyPWUuc3VwZXJPcHRpb25zO2lmKG4hPT1yKXtlLnN1cGVyT3B0aW9ucz1uO3ZhciBvPXVyKGUpO28mJmooZS5leHRlbmRPcHRpb25zLG8pLHQ9ZS5vcHRpb25zPUJlKG4sZS5leHRlbmRPcHRpb25zKSx0Lm5hbWUmJih0LmNvbXBvbmVudHNbdC5uYW1lXT1lKX19cmV0dXJuIHR9ZnVuY3Rpb24gdXIoZSl7dmFyIHQsbj1lLm9wdGlvbnMscj1lLmV4dGVuZE9wdGlvbnMsbz1lLnNlYWxlZE9wdGlvbnM7Zm9yKHZhciBpIGluIG4pbltpXSE9PW9baV0mJih0fHwodD17fSksdFtpXT1mcihuW2ldLHJbaV0sb1tpXSkpO3JldHVybiB0fWZ1bmN0aW9uIGZyKGUsdCxuKXtpZihBcnJheS5pc0FycmF5KGUpKXt2YXIgcj1bXTtuPUFycmF5LmlzQXJyYXkobik/bjpbbl0sdD1BcnJheS5pc0FycmF5KHQpP3Q6W3RdO2Zvcih2YXIgbz0wO288ZS5sZW5ndGg7bysrKSh0LmluZGV4T2YoZVtvXSk+PTB8fG4uaW5kZXhPZihlW29dKTwwKSYmci5wdXNoKGVbb10pO3JldHVybiByfXJldHVybiBlfWZ1bmN0aW9uIGxyKGUpe3RoaXMuX2luaXQoZSl9ZnVuY3Rpb24gcHIoZSl7ZS51c2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5faW5zdGFsbGVkUGx1Z2luc3x8KHRoaXMuX2luc3RhbGxlZFBsdWdpbnM9W10pO2lmKHQuaW5kZXhPZihlKT4tMSlyZXR1cm4gdGhpczt2YXIgbj0kKGFyZ3VtZW50cywxKTtyZXR1cm4gbi51bnNoaWZ0KHRoaXMpLCJmdW5jdGlvbiI9PT10eXBlb2YgZS5pbnN0YWxsP2UuaW5zdGFsbC5hcHBseShlLG4pOiJmdW5jdGlvbiI9PT10eXBlb2YgZSYmZS5hcHBseShudWxsLG4pLHQucHVzaChlKSx0aGlzfX1mdW5jdGlvbiBkcihlKXtlLm1peGluPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9wdGlvbnM9QmUodGhpcy5vcHRpb25zLGUpLHRoaXN9fWZ1bmN0aW9uIGhyKGUpe2UuY2lkPTA7dmFyIHQ9MTtlLmV4dGVuZD1mdW5jdGlvbihlKXtlPWV8fHt9O3ZhciBuPXRoaXMscj1uLmNpZCxvPWUuX0N0b3J8fChlLl9DdG9yPXt9KTtpZihvW3JdKXJldHVybiBvW3JdO3ZhciBpPWUubmFtZXx8bi5vcHRpb25zLm5hbWU7dmFyIGE9ZnVuY3Rpb24oZSl7dGhpcy5faW5pdChlKX07cmV0dXJuIGEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobi5wcm90b3R5cGUpLGEucHJvdG90eXBlLmNvbnN0cnVjdG9yPWEsYS5jaWQ9dCsrLGEub3B0aW9ucz1CZShuLm9wdGlvbnMsZSksYVsic3VwZXIiXT1uLGEub3B0aW9ucy5wcm9wcyYmdnIoYSksYS5vcHRpb25zLmNvbXB1dGVkJiZtcihhKSxhLmV4dGVuZD1uLmV4dGVuZCxhLm1peGluPW4ubWl4aW4sYS51c2U9bi51c2UsUi5mb3JFYWNoKGZ1bmN0aW9uKGUpe2FbZV09bltlXX0pLGkmJihhLm9wdGlvbnMuY29tcG9uZW50c1tpXT1hKSxhLnN1cGVyT3B0aW9ucz1uLm9wdGlvbnMsYS5leHRlbmRPcHRpb25zPWUsYS5zZWFsZWRPcHRpb25zPWooe30sYS5vcHRpb25zKSxvW3JdPWEsYX19ZnVuY3Rpb24gdnIoZSl7dmFyIHQ9ZS5vcHRpb25zLnByb3BzO2Zvcih2YXIgbiBpbiB0KWxuKGUucHJvdG90eXBlLCJfcHJvcHMiLG4pfWZ1bmN0aW9uIG1yKGUpe3ZhciB0PWUub3B0aW9ucy5jb21wdXRlZDtmb3IodmFyIG4gaW4gdClfbihlLnByb3RvdHlwZSxuLHRbbl0pfWZ1bmN0aW9uIHlyKGUpe1IuZm9yRWFjaChmdW5jdGlvbih0KXtlW3RdPWZ1bmN0aW9uKGUsbil7cmV0dXJuIG4/KCJjb21wb25lbnQiPT09dCYmZihuKSYmKG4ubmFtZT1uLm5hbWV8fGUsbj10aGlzLm9wdGlvbnMuX2Jhc2UuZXh0ZW5kKG4pKSwiZGlyZWN0aXZlIj09PXQmJiJmdW5jdGlvbiI9PT10eXBlb2YgbiYmKG49e2JpbmQ6bix1cGRhdGU6bn0pLHRoaXMub3B0aW9uc1t0KyJzIl1bZV09bixuKTp0aGlzLm9wdGlvbnNbdCsicyJdW2VdfX0pfWZ1bmN0aW9uIF9yKGUpe3JldHVybiBlJiYoZS5DdG9yLm9wdGlvbnMubmFtZXx8ZS50YWcpfWZ1bmN0aW9uIGdyKGUsdCl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/ZS5pbmRleE9mKHQpPi0xOiJzdHJpbmciPT09dHlwZW9mIGU/ZS5zcGxpdCgiLCIpLmluZGV4T2YodCk+LTE6ISFsKGUpJiZlLnRlc3QodCl9ZnVuY3Rpb24gYnIoZSx0KXt2YXIgbj1lLmNhY2hlLHI9ZS5rZXlzLG89ZS5fdm5vZGU7Zm9yKHZhciBpIGluIG4pe3ZhciBhPW5baV07aWYoYSl7dmFyIGM9X3IoYS5jb21wb25lbnRPcHRpb25zKTtjJiYhdChjKSYmd3IobixpLHIsbyl9fX1mdW5jdGlvbiB3cihlLHQsbixyKXt2YXIgbz1lW3RdOyFvfHxyJiZvLnRhZz09PXIudGFnfHxvLmNvbXBvbmVudEluc3RhbmNlLiRkZXN0cm95KCksZVt0XT1udWxsLHkobix0KX1hcihsciksU24obHIpLER0KGxyKSx6dChsciksb3IobHIpO3ZhciB4cj1bU3RyaW5nLFJlZ0V4cCxBcnJheV0sQ3I9e25hbWU6ImtlZXAtYWxpdmUiLGFic3RyYWN0OiEwLHByb3BzOntpbmNsdWRlOnhyLGV4Y2x1ZGU6eHIsbWF4OltTdHJpbmcsTnVtYmVyXX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuY2FjaGU9T2JqZWN0LmNyZWF0ZShudWxsKSx0aGlzLmtleXM9W119LGRlc3Ryb3llZDpmdW5jdGlvbigpe2Zvcih2YXIgZSBpbiB0aGlzLmNhY2hlKXdyKHRoaXMuY2FjaGUsZSx0aGlzLmtleXMpfSxtb3VudGVkOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLiR3YXRjaCgiaW5jbHVkZSIsZnVuY3Rpb24odCl7YnIoZSxmdW5jdGlvbihlKXtyZXR1cm4gZ3IodCxlKX0pfSksdGhpcy4kd2F0Y2goImV4Y2x1ZGUiLGZ1bmN0aW9uKHQpe2JyKGUsZnVuY3Rpb24oZSl7cmV0dXJuIWdyKHQsZSl9KX0pfSxyZW5kZXI6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLiRzbG90cy5kZWZhdWx0LHQ9JHQoZSksbj10JiZ0LmNvbXBvbmVudE9wdGlvbnM7aWYobil7dmFyIHI9X3Iobiksbz10aGlzLGk9by5pbmNsdWRlLGE9by5leGNsdWRlO2lmKGkmJighcnx8IWdyKGkscikpfHxhJiZyJiZncihhLHIpKXJldHVybiB0O3ZhciBjPXRoaXMscz1jLmNhY2hlLHU9Yy5rZXlzLGY9bnVsbD09dC5rZXk/bi5DdG9yLmNpZCsobi50YWc/Ijo6IituLnRhZzoiIik6dC5rZXk7c1tmXT8odC5jb21wb25lbnRJbnN0YW5jZT1zW2ZdLmNvbXBvbmVudEluc3RhbmNlLHkodSxmKSx1LnB1c2goZikpOihzW2ZdPXQsdS5wdXNoKGYpLHRoaXMubWF4JiZ1Lmxlbmd0aD5wYXJzZUludCh0aGlzLm1heCkmJndyKHMsdVswXSx1LHRoaXMuX3Zub2RlKSksdC5kYXRhLmtlZXBBbGl2ZT0hMH1yZXR1cm4gdHx8ZSYmZVswXX19LFNyPXtLZWVwQWxpdmU6Q3J9O2Z1bmN0aW9uIEFyKGUpe3ZhciB0PXtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gSH19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJjb25maWciLHQpLGUudXRpbD17d2FybjpmZSxleHRlbmQ6aixtZXJnZU9wdGlvbnM6QmUsZGVmaW5lUmVhY3RpdmU6RWV9LGUuc2V0PVRlLGUuZGVsZXRlPUllLGUubmV4dFRpY2s9ZnQsZS5vcHRpb25zPU9iamVjdC5jcmVhdGUobnVsbCksUi5mb3JFYWNoKGZ1bmN0aW9uKHQpe2Uub3B0aW9uc1t0KyJzIl09T2JqZWN0LmNyZWF0ZShudWxsKX0pLGUub3B0aW9ucy5fYmFzZT1lLGooZS5vcHRpb25zLmNvbXBvbmVudHMsU3IpLHByKGUpLGRyKGUpLGhyKGUpLHlyKGUpfUFyKGxyKSxPYmplY3QuZGVmaW5lUHJvcGVydHkobHIucHJvdG90eXBlLCIkaXNTZXJ2ZXIiLHtnZXQ6aWV9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobHIucHJvdG90eXBlLCIkc3NyQ29udGV4dCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiR2bm9kZSYmdGhpcy4kdm5vZGUuc3NyQ29udGV4dH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkobHIsIkZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0Iix7dmFsdWU6VW59KSxsci52ZXJzaW9uPSIyLjUuMjEiO3ZhciBrcj12KCJzdHlsZSxjbGFzcyIpLE9yPXYoImlucHV0LHRleHRhcmVhLG9wdGlvbixzZWxlY3QscHJvZ3Jlc3MiKSxQcj1mdW5jdGlvbihlLHQsbil7cmV0dXJuInZhbHVlIj09PW4mJk9yKGUpJiYiYnV0dG9uIiE9PXR8fCJzZWxlY3RlZCI9PT1uJiYib3B0aW9uIj09PWV8fCJjaGVja2VkIj09PW4mJiJpbnB1dCI9PT1lfHwibXV0ZWQiPT09biYmInZpZGVvIj09PWV9LCRyPXYoImNvbnRlbnRlZGl0YWJsZSxkcmFnZ2FibGUsc3BlbGxjaGVjayIpLGpyPXYoImFsbG93ZnVsbHNjcmVlbixhc3luYyxhdXRvZm9jdXMsYXV0b3BsYXksY2hlY2tlZCxjb21wYWN0LGNvbnRyb2xzLGRlY2xhcmUsZGVmYXVsdCxkZWZhdWx0Y2hlY2tlZCxkZWZhdWx0bXV0ZWQsZGVmYXVsdHNlbGVjdGVkLGRlZmVyLGRpc2FibGVkLGVuYWJsZWQsZm9ybW5vdmFsaWRhdGUsaGlkZGVuLGluZGV0ZXJtaW5hdGUsaW5lcnQsaXNtYXAsaXRlbXNjb3BlLGxvb3AsbXVsdGlwbGUsbXV0ZWQsbm9ocmVmLG5vcmVzaXplLG5vc2hhZGUsbm92YWxpZGF0ZSxub3dyYXAsb3BlbixwYXVzZW9uZXhpdCxyZWFkb25seSxyZXF1aXJlZCxyZXZlcnNlZCxzY29wZWQsc2VhbWxlc3Msc2VsZWN0ZWQsc29ydGFibGUsdHJhbnNsYXRlLHRydWVzcGVlZCx0eXBlbXVzdG1hdGNoLHZpc2libGUiKSxFcj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsVHI9ZnVuY3Rpb24oZSl7cmV0dXJuIjoiPT09ZS5jaGFyQXQoNSkmJiJ4bGluayI9PT1lLnNsaWNlKDAsNSl9LElyPWZ1bmN0aW9uKGUpe3JldHVybiBUcihlKT9lLnNsaWNlKDYsZS5sZW5ndGgpOiIifSxNcj1mdW5jdGlvbihlKXtyZXR1cm4gbnVsbD09ZXx8ITE9PT1lfTtmdW5jdGlvbiBEcihlKXt2YXIgdD1lLmRhdGEsbj1lLHI9ZTt3aGlsZShvKHIuY29tcG9uZW50SW5zdGFuY2UpKXI9ci5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUsciYmci5kYXRhJiYodD1McihyLmRhdGEsdCkpO3doaWxlKG8obj1uLnBhcmVudCkpbiYmbi5kYXRhJiYodD1Mcih0LG4uZGF0YSkpO3JldHVybiBGcih0LnN0YXRpY0NsYXNzLHQuY2xhc3MpfWZ1bmN0aW9uIExyKGUsdCl7cmV0dXJue3N0YXRpY0NsYXNzOk5yKGUuc3RhdGljQ2xhc3MsdC5zdGF0aWNDbGFzcyksY2xhc3M6byhlLmNsYXNzKT9bZS5jbGFzcyx0LmNsYXNzXTp0LmNsYXNzfX1mdW5jdGlvbiBGcihlLHQpe3JldHVybiBvKGUpfHxvKHQpP05yKGUsUnIodCkpOiIifWZ1bmN0aW9uIE5yKGUsdCl7cmV0dXJuIGU/dD9lKyIgIit0OmU6dHx8IiJ9ZnVuY3Rpb24gUnIoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSk/VXIoZSk6cyhlKT9IcihlKToic3RyaW5nIj09PXR5cGVvZiBlP2U6IiJ9ZnVuY3Rpb24gVXIoZSl7Zm9yKHZhciB0LG49IiIscj0wLGk9ZS5sZW5ndGg7cjxpO3IrKylvKHQ9UnIoZVtyXSkpJiYiIiE9PXQmJihuJiYobis9IiAiKSxuKz10KTtyZXR1cm4gbn1mdW5jdGlvbiBIcihlKXt2YXIgdD0iIjtmb3IodmFyIG4gaW4gZSllW25dJiYodCYmKHQrPSIgIiksdCs9bik7cmV0dXJuIHR9dmFyIHpyPXtzdmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixtYXRoOiJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIn0sVnI9digiaHRtbCxib2R5LGJhc2UsaGVhZCxsaW5rLG1ldGEsc3R5bGUsdGl0bGUsYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGZvb3RlcixoZWFkZXIsaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLG5hdixzZWN0aW9uLGRpdixkZCxkbCxkdCxmaWdjYXB0aW9uLGZpZ3VyZSxwaWN0dXJlLGhyLGltZyxsaSxtYWluLG9sLHAscHJlLHVsLGEsYixhYmJyLGJkaSxiZG8sYnIsY2l0ZSxjb2RlLGRhdGEsZGZuLGVtLGksa2JkLG1hcmsscSxycCxydCxydGMscnVieSxzLHNhbXAsc21hbGwsc3BhbixzdHJvbmcsc3ViLHN1cCx0aW1lLHUsdmFyLHdicixhcmVhLGF1ZGlvLG1hcCx0cmFjayx2aWRlbyxlbWJlZCxvYmplY3QscGFyYW0sc291cmNlLGNhbnZhcyxzY3JpcHQsbm9zY3JpcHQsZGVsLGlucyxjYXB0aW9uLGNvbCxjb2xncm91cCx0YWJsZSx0aGVhZCx0Ym9keSx0ZCx0aCx0cixidXR0b24sZGF0YWxpc3QsZmllbGRzZXQsZm9ybSxpbnB1dCxsYWJlbCxsZWdlbmQsbWV0ZXIsb3B0Z3JvdXAsb3B0aW9uLG91dHB1dCxwcm9ncmVzcyxzZWxlY3QsdGV4dGFyZWEsZGV0YWlscyxkaWFsb2csbWVudSxtZW51aXRlbSxzdW1tYXJ5LGNvbnRlbnQsZWxlbWVudCxzaGFkb3csdGVtcGxhdGUsYmxvY2txdW90ZSxpZnJhbWUsdGZvb3QiKSxCcj12KCJzdmcsYW5pbWF0ZSxjaXJjbGUsY2xpcHBhdGgsY3Vyc29yLGRlZnMsZGVzYyxlbGxpcHNlLGZpbHRlcixmb250LWZhY2UsZm9yZWlnbk9iamVjdCxnLGdseXBoLGltYWdlLGxpbmUsbWFya2VyLG1hc2ssbWlzc2luZy1nbHlwaCxwYXRoLHBhdHRlcm4scG9seWdvbixwb2x5bGluZSxyZWN0LHN3aXRjaCxzeW1ib2wsdGV4dCx0ZXh0cGF0aCx0c3Bhbix1c2UsdmlldyIsITApLFdyPWZ1bmN0aW9uKGUpe3JldHVybiBWcihlKXx8QnIoZSl9O2Z1bmN0aW9uIEdyKGUpe3JldHVybiBCcihlKT8ic3ZnIjoibWF0aCI9PT1lPyJtYXRoIjp2b2lkIDB9dmFyIHFyPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gS3IoZSl7aWYoIUspcmV0dXJuITA7aWYoV3IoZSkpcmV0dXJuITE7aWYoZT1lLnRvTG93ZXJDYXNlKCksbnVsbCE9cXJbZV0pcmV0dXJuIHFyW2VdO3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuIGUuaW5kZXhPZigiLSIpPi0xP3FyW2VdPXQuY29uc3RydWN0b3I9PT13aW5kb3cuSFRNTFVua25vd25FbGVtZW50fHx0LmNvbnN0cnVjdG9yPT09d2luZG93LkhUTUxFbGVtZW50OnFyW2VdPS9IVE1MVW5rbm93bkVsZW1lbnQvLnRlc3QodC50b1N0cmluZygpKX12YXIgWHI9digidGV4dCxudW1iZXIscGFzc3dvcmQsc2VhcmNoLGVtYWlsLHRlbCx1cmwiKTtmdW5jdGlvbiBKcihlKXtpZigic3RyaW5nIj09PXR5cGVvZiBlKXt2YXIgdD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKGUpO3JldHVybiB0fHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKX1yZXR1cm4gZX1mdW5jdGlvbiBZcihlLHQpe3ZhciBuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoZSk7cmV0dXJuInNlbGVjdCIhPT1lP246KHQuZGF0YSYmdC5kYXRhLmF0dHJzJiZ2b2lkIDAhPT10LmRhdGEuYXR0cnMubXVsdGlwbGUmJm4uc2V0QXR0cmlidXRlKCJtdWx0aXBsZSIsIm11bHRpcGxlIiksbil9ZnVuY3Rpb24gWnIoZSx0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKHpyW2VdLHQpfWZ1bmN0aW9uIFFyKGUpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShlKX1mdW5jdGlvbiBlbyhlKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudChlKX1mdW5jdGlvbiB0byhlLHQsbil7ZS5pbnNlcnRCZWZvcmUodCxuKX1mdW5jdGlvbiBubyhlLHQpe2UucmVtb3ZlQ2hpbGQodCl9ZnVuY3Rpb24gcm8oZSx0KXtlLmFwcGVuZENoaWxkKHQpfWZ1bmN0aW9uIG9vKGUpe3JldHVybiBlLnBhcmVudE5vZGV9ZnVuY3Rpb24gaW8oZSl7cmV0dXJuIGUubmV4dFNpYmxpbmd9ZnVuY3Rpb24gYW8oZSl7cmV0dXJuIGUudGFnTmFtZX1mdW5jdGlvbiBjbyhlLHQpe2UudGV4dENvbnRlbnQ9dH1mdW5jdGlvbiBzbyhlLHQpe2Uuc2V0QXR0cmlidXRlKHQsIiIpfXZhciB1bz1PYmplY3QuZnJlZXplKHtjcmVhdGVFbGVtZW50OllyLGNyZWF0ZUVsZW1lbnROUzpacixjcmVhdGVUZXh0Tm9kZTpRcixjcmVhdGVDb21tZW50OmVvLGluc2VydEJlZm9yZTp0byxyZW1vdmVDaGlsZDpubyxhcHBlbmRDaGlsZDpybyxwYXJlbnROb2RlOm9vLG5leHRTaWJsaW5nOmlvLHRhZ05hbWU6YW8sc2V0VGV4dENvbnRlbnQ6Y28sc2V0U3R5bGVTY29wZTpzb30pLGZvPXtjcmVhdGU6ZnVuY3Rpb24oZSx0KXtsbyh0KX0sdXBkYXRlOmZ1bmN0aW9uKGUsdCl7ZS5kYXRhLnJlZiE9PXQuZGF0YS5yZWYmJihsbyhlLCEwKSxsbyh0KSl9LGRlc3Ryb3k6ZnVuY3Rpb24oZSl7bG8oZSwhMCl9fTtmdW5jdGlvbiBsbyhlLHQpe3ZhciBuPWUuZGF0YS5yZWY7aWYobyhuKSl7dmFyIHI9ZS5jb250ZXh0LGk9ZS5jb21wb25lbnRJbnN0YW5jZXx8ZS5lbG0sYT1yLiRyZWZzO3Q/QXJyYXkuaXNBcnJheShhW25dKT95KGFbbl0saSk6YVtuXT09PWkmJihhW25dPXZvaWQgMCk6ZS5kYXRhLnJlZkluRm9yP0FycmF5LmlzQXJyYXkoYVtuXSk/YVtuXS5pbmRleE9mKGkpPDAmJmFbbl0ucHVzaChpKTphW25dPVtpXTphW25dPWl9fXZhciBwbz1uZXcgbWUoIiIse30sW10pLGhvPVsiY3JlYXRlIiwiYWN0aXZhdGUiLCJ1cGRhdGUiLCJyZW1vdmUiLCJkZXN0cm95Il07ZnVuY3Rpb24gdm8oZSx0KXtyZXR1cm4gZS5rZXk9PT10LmtleSYmKGUudGFnPT09dC50YWcmJmUuaXNDb21tZW50PT09dC5pc0NvbW1lbnQmJm8oZS5kYXRhKT09PW8odC5kYXRhKSYmbW8oZSx0KXx8aShlLmlzQXN5bmNQbGFjZWhvbGRlcikmJmUuYXN5bmNGYWN0b3J5PT09dC5hc3luY0ZhY3RvcnkmJnIodC5hc3luY0ZhY3RvcnkuZXJyb3IpKX1mdW5jdGlvbiBtbyhlLHQpe2lmKCJpbnB1dCIhPT1lLnRhZylyZXR1cm4hMDt2YXIgbixyPW8obj1lLmRhdGEpJiZvKG49bi5hdHRycykmJm4udHlwZSxpPW8obj10LmRhdGEpJiZvKG49bi5hdHRycykmJm4udHlwZTtyZXR1cm4gcj09PWl8fFhyKHIpJiZYcihpKX1mdW5jdGlvbiB5byhlLHQsbil7dmFyIHIsaSxhPXt9O2ZvcihyPXQ7cjw9bjsrK3IpaT1lW3JdLmtleSxvKGkpJiYoYVtpXT1yKTtyZXR1cm4gYX1mdW5jdGlvbiBfbyhlKXt2YXIgdCxuLGE9e30scz1lLm1vZHVsZXMsdT1lLm5vZGVPcHM7Zm9yKHQ9MDt0PGhvLmxlbmd0aDsrK3QpZm9yKGFbaG9bdF1dPVtdLG49MDtuPHMubGVuZ3RoOysrbilvKHNbbl1baG9bdF1dKSYmYVtob1t0XV0ucHVzaChzW25dW2hvW3RdXSk7ZnVuY3Rpb24gZihlKXtyZXR1cm4gbmV3IG1lKHUudGFnTmFtZShlKS50b0xvd2VyQ2FzZSgpLHt9LFtdLHZvaWQgMCxlKX1mdW5jdGlvbiBsKGUsdCl7ZnVuY3Rpb24gbigpezA9PT0tLW4ubGlzdGVuZXJzJiZwKGUpfXJldHVybiBuLmxpc3RlbmVycz10LG59ZnVuY3Rpb24gcChlKXt2YXIgdD11LnBhcmVudE5vZGUoZSk7byh0KSYmdS5yZW1vdmVDaGlsZCh0LGUpfWZ1bmN0aW9uIGQoZSx0LG4scixhLGMscyl7aWYobyhlLmVsbSkmJm8oYykmJihlPWNbc109YmUoZSkpLGUuaXNSb290SW5zZXJ0PSFhLCFoKGUsdCxuLHIpKXt2YXIgZj1lLmRhdGEsbD1lLmNoaWxkcmVuLHA9ZS50YWc7byhwKT8oZS5lbG09ZS5ucz91LmNyZWF0ZUVsZW1lbnROUyhlLm5zLHApOnUuY3JlYXRlRWxlbWVudChwLGUpLHgoZSksZyhlLGwsdCksbyhmKSYmdyhlLHQpLF8obixlLmVsbSxyKSk6aShlLmlzQ29tbWVudCk/KGUuZWxtPXUuY3JlYXRlQ29tbWVudChlLnRleHQpLF8obixlLmVsbSxyKSk6KGUuZWxtPXUuY3JlYXRlVGV4dE5vZGUoZS50ZXh0KSxfKG4sZS5lbG0scikpfX1mdW5jdGlvbiBoKGUsdCxuLHIpe3ZhciBhPWUuZGF0YTtpZihvKGEpKXt2YXIgYz1vKGUuY29tcG9uZW50SW5zdGFuY2UpJiZhLmtlZXBBbGl2ZTtpZihvKGE9YS5ob29rKSYmbyhhPWEuaW5pdCkmJmEoZSwhMSksbyhlLmNvbXBvbmVudEluc3RhbmNlKSlyZXR1cm4gbShlLHQpLF8obixlLmVsbSxyKSxpKGMpJiZ5KGUsdCxuLHIpLCEwfX1mdW5jdGlvbiBtKGUsdCl7byhlLmRhdGEucGVuZGluZ0luc2VydCkmJih0LnB1c2guYXBwbHkodCxlLmRhdGEucGVuZGluZ0luc2VydCksZS5kYXRhLnBlbmRpbmdJbnNlcnQ9bnVsbCksZS5lbG09ZS5jb21wb25lbnRJbnN0YW5jZS4kZWwsYihlKT8odyhlLHQpLHgoZSkpOihsbyhlKSx0LnB1c2goZSkpfWZ1bmN0aW9uIHkoZSx0LG4scil7dmFyIGksYz1lO3doaWxlKGMuY29tcG9uZW50SW5zdGFuY2UpaWYoYz1jLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSxvKGk9Yy5kYXRhKSYmbyhpPWkudHJhbnNpdGlvbikpe2ZvcihpPTA7aTxhLmFjdGl2YXRlLmxlbmd0aDsrK2kpYS5hY3RpdmF0ZVtpXShwbyxjKTt0LnB1c2goYyk7YnJlYWt9XyhuLGUuZWxtLHIpfWZ1bmN0aW9uIF8oZSx0LG4pe28oZSkmJihvKG4pP3UucGFyZW50Tm9kZShuKT09PWUmJnUuaW5zZXJ0QmVmb3JlKGUsdCxuKTp1LmFwcGVuZENoaWxkKGUsdCkpfWZ1bmN0aW9uIGcoZSx0LG4pe2lmKEFycmF5LmlzQXJyYXkodCkpezA7Zm9yKHZhciByPTA7cjx0Lmxlbmd0aDsrK3IpZCh0W3JdLG4sZS5lbG0sbnVsbCwhMCx0LHIpfWVsc2UgYyhlLnRleHQpJiZ1LmFwcGVuZENoaWxkKGUuZWxtLHUuY3JlYXRlVGV4dE5vZGUoU3RyaW5nKGUudGV4dCkpKX1mdW5jdGlvbiBiKGUpe3doaWxlKGUuY29tcG9uZW50SW5zdGFuY2UpZT1lLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtyZXR1cm4gbyhlLnRhZyl9ZnVuY3Rpb24gdyhlLG4pe2Zvcih2YXIgcj0wO3I8YS5jcmVhdGUubGVuZ3RoOysrcilhLmNyZWF0ZVtyXShwbyxlKTt0PWUuZGF0YS5ob29rLG8odCkmJihvKHQuY3JlYXRlKSYmdC5jcmVhdGUocG8sZSksbyh0Lmluc2VydCkmJm4ucHVzaChlKSl9ZnVuY3Rpb24geChlKXt2YXIgdDtpZihvKHQ9ZS5mblNjb3BlSWQpKXUuc2V0U3R5bGVTY29wZShlLmVsbSx0KTtlbHNle3ZhciBuPWU7d2hpbGUobilvKHQ9bi5jb250ZXh0KSYmbyh0PXQuJG9wdGlvbnMuX3Njb3BlSWQpJiZ1LnNldFN0eWxlU2NvcGUoZS5lbG0sdCksbj1uLnBhcmVudH1vKHQ9UnQpJiZ0IT09ZS5jb250ZXh0JiZ0IT09ZS5mbkNvbnRleHQmJm8odD10LiRvcHRpb25zLl9zY29wZUlkKSYmdS5zZXRTdHlsZVNjb3BlKGUuZWxtLHQpfWZ1bmN0aW9uIEMoZSx0LG4scixvLGkpe2Zvcig7cjw9bzsrK3IpZChuW3JdLGksZSx0LCExLG4scil9ZnVuY3Rpb24gUyhlKXt2YXIgdCxuLHI9ZS5kYXRhO2lmKG8ocikpZm9yKG8odD1yLmhvb2spJiZvKHQ9dC5kZXN0cm95KSYmdChlKSx0PTA7dDxhLmRlc3Ryb3kubGVuZ3RoOysrdClhLmRlc3Ryb3lbdF0oZSk7aWYobyh0PWUuY2hpbGRyZW4pKWZvcihuPTA7bjxlLmNoaWxkcmVuLmxlbmd0aDsrK24pUyhlLmNoaWxkcmVuW25dKX1mdW5jdGlvbiBBKGUsdCxuLHIpe2Zvcig7bjw9cjsrK24pe3ZhciBpPXRbbl07byhpKSYmKG8oaS50YWcpPyhrKGkpLFMoaSkpOnAoaS5lbG0pKX19ZnVuY3Rpb24gayhlLHQpe2lmKG8odCl8fG8oZS5kYXRhKSl7dmFyIG4scj1hLnJlbW92ZS5sZW5ndGgrMTtmb3Iobyh0KT90Lmxpc3RlbmVycys9cjp0PWwoZS5lbG0sciksbyhuPWUuY29tcG9uZW50SW5zdGFuY2UpJiZvKG49bi5fdm5vZGUpJiZvKG4uZGF0YSkmJmsobix0KSxuPTA7bjxhLnJlbW92ZS5sZW5ndGg7KytuKWEucmVtb3ZlW25dKGUsdCk7byhuPWUuZGF0YS5ob29rKSYmbyhuPW4ucmVtb3ZlKT9uKGUsdCk6dCgpfWVsc2UgcChlLmVsbSl9ZnVuY3Rpb24gTyhlLHQsbixpLGEpe3ZhciBjLHMsZixsLHA9MCxoPTAsdj10Lmxlbmd0aC0xLG09dFswXSx5PXRbdl0sXz1uLmxlbmd0aC0xLGc9blswXSxiPW5bX10sdz0hYTt3aGlsZShwPD12JiZoPD1fKXIobSk/bT10WysrcF06cih5KT95PXRbLS12XTp2byhtLGcpPygkKG0sZyxpLG4saCksbT10WysrcF0sZz1uWysraF0pOnZvKHksYik/KCQoeSxiLGksbixfKSx5PXRbLS12XSxiPW5bLS1fXSk6dm8obSxiKT8oJChtLGIsaSxuLF8pLHcmJnUuaW5zZXJ0QmVmb3JlKGUsbS5lbG0sdS5uZXh0U2libGluZyh5LmVsbSkpLG09dFsrK3BdLGI9blstLV9dKTp2byh5LGcpPygkKHksZyxpLG4saCksdyYmdS5pbnNlcnRCZWZvcmUoZSx5LmVsbSxtLmVsbSkseT10Wy0tdl0sZz1uWysraF0pOihyKGMpJiYoYz15byh0LHAsdikpLHM9byhnLmtleSk/Y1tnLmtleV06UChnLHQscCx2KSxyKHMpP2QoZyxpLGUsbS5lbG0sITEsbixoKTooZj10W3NdLHZvKGYsZyk/KCQoZixnLGksbixoKSx0W3NdPXZvaWQgMCx3JiZ1Lmluc2VydEJlZm9yZShlLGYuZWxtLG0uZWxtKSk6ZChnLGksZSxtLmVsbSwhMSxuLGgpKSxnPW5bKytoXSk7cD52PyhsPXIobltfKzFdKT9udWxsOm5bXysxXS5lbG0sQyhlLGwsbixoLF8saSkpOmg+XyYmQShlLHQscCx2KX1mdW5jdGlvbiBQKGUsdCxuLHIpe2Zvcih2YXIgaT1uO2k8cjtpKyspe3ZhciBhPXRbaV07aWYobyhhKSYmdm8oZSxhKSlyZXR1cm4gaX19ZnVuY3Rpb24gJChlLHQsbixjLHMsZil7aWYoZSE9PXQpe28odC5lbG0pJiZvKGMpJiYodD1jW3NdPWJlKHQpKTt2YXIgbD10LmVsbT1lLmVsbTtpZihpKGUuaXNBc3luY1BsYWNlaG9sZGVyKSlvKHQuYXN5bmNGYWN0b3J5LnJlc29sdmVkKT9UKGUuZWxtLHQsbik6dC5pc0FzeW5jUGxhY2Vob2xkZXI9ITA7ZWxzZSBpZihpKHQuaXNTdGF0aWMpJiZpKGUuaXNTdGF0aWMpJiZ0LmtleT09PWUua2V5JiYoaSh0LmlzQ2xvbmVkKXx8aSh0LmlzT25jZSkpKXQuY29tcG9uZW50SW5zdGFuY2U9ZS5jb21wb25lbnRJbnN0YW5jZTtlbHNle3ZhciBwLGQ9dC5kYXRhO28oZCkmJm8ocD1kLmhvb2spJiZvKHA9cC5wcmVwYXRjaCkmJnAoZSx0KTt2YXIgaD1lLmNoaWxkcmVuLHY9dC5jaGlsZHJlbjtpZihvKGQpJiZiKHQpKXtmb3IocD0wO3A8YS51cGRhdGUubGVuZ3RoOysrcClhLnVwZGF0ZVtwXShlLHQpO28ocD1kLmhvb2spJiZvKHA9cC51cGRhdGUpJiZwKGUsdCl9cih0LnRleHQpP28oaCkmJm8odik/aCE9PXYmJk8obCxoLHYsbixmKTpvKHYpPyhvKGUudGV4dCkmJnUuc2V0VGV4dENvbnRlbnQobCwiIiksQyhsLG51bGwsdiwwLHYubGVuZ3RoLTEsbikpOm8oaCk/QShsLGgsMCxoLmxlbmd0aC0xKTpvKGUudGV4dCkmJnUuc2V0VGV4dENvbnRlbnQobCwiIik6ZS50ZXh0IT09dC50ZXh0JiZ1LnNldFRleHRDb250ZW50KGwsdC50ZXh0KSxvKGQpJiZvKHA9ZC5ob29rKSYmbyhwPXAucG9zdHBhdGNoKSYmcChlLHQpfX19ZnVuY3Rpb24gaihlLHQsbil7aWYoaShuKSYmbyhlLnBhcmVudCkpZS5wYXJlbnQuZGF0YS5wZW5kaW5nSW5zZXJ0PXQ7ZWxzZSBmb3IodmFyIHI9MDtyPHQubGVuZ3RoOysrcil0W3JdLmRhdGEuaG9vay5pbnNlcnQodFtyXSl9dmFyIEU9digiYXR0cnMsY2xhc3Msc3RhdGljQ2xhc3Msc3RhdGljU3R5bGUsa2V5Iik7ZnVuY3Rpb24gVChlLHQsbixyKXt2YXIgYSxjPXQudGFnLHM9dC5kYXRhLHU9dC5jaGlsZHJlbjtpZihyPXJ8fHMmJnMucHJlLHQuZWxtPWUsaSh0LmlzQ29tbWVudCkmJm8odC5hc3luY0ZhY3RvcnkpKXJldHVybiB0LmlzQXN5bmNQbGFjZWhvbGRlcj0hMCwhMDtpZihvKHMpJiYobyhhPXMuaG9vaykmJm8oYT1hLmluaXQpJiZhKHQsITApLG8oYT10LmNvbXBvbmVudEluc3RhbmNlKSkpcmV0dXJuIG0odCxuKSwhMDtpZihvKGMpKXtpZihvKHUpKWlmKGUuaGFzQ2hpbGROb2RlcygpKWlmKG8oYT1zKSYmbyhhPWEuZG9tUHJvcHMpJiZvKGE9YS5pbm5lckhUTUwpKXtpZihhIT09ZS5pbm5lckhUTUwpcmV0dXJuITF9ZWxzZXtmb3IodmFyIGY9ITAsbD1lLmZpcnN0Q2hpbGQscD0wO3A8dS5sZW5ndGg7cCsrKXtpZighbHx8IVQobCx1W3BdLG4scikpe2Y9ITE7YnJlYWt9bD1sLm5leHRTaWJsaW5nfWlmKCFmfHxsKXJldHVybiExfWVsc2UgZyh0LHUsbik7aWYobyhzKSl7dmFyIGQ9ITE7Zm9yKHZhciBoIGluIHMpaWYoIUUoaCkpe2Q9ITAsdyh0LG4pO2JyZWFrfSFkJiZzWyJjbGFzcyJdJiZwdChzWyJjbGFzcyJdKX19ZWxzZSBlLmRhdGEhPT10LnRleHQmJihlLmRhdGE9dC50ZXh0KTtyZXR1cm4hMH1yZXR1cm4gZnVuY3Rpb24oZSx0LG4sYyl7aWYoIXIodCkpe3ZhciBzPSExLGw9W107aWYocihlKSlzPSEwLGQodCxsKTtlbHNle3ZhciBwPW8oZS5ub2RlVHlwZSk7aWYoIXAmJnZvKGUsdCkpJChlLHQsbCxudWxsLG51bGwsYyk7ZWxzZXtpZihwKXtpZigxPT09ZS5ub2RlVHlwZSYmZS5oYXNBdHRyaWJ1dGUoTikmJihlLnJlbW92ZUF0dHJpYnV0ZShOKSxuPSEwKSxpKG4pJiZUKGUsdCxsKSlyZXR1cm4gaih0LGwsITApLGU7ZT1mKGUpfXZhciBoPWUuZWxtLHY9dS5wYXJlbnROb2RlKGgpO2lmKGQodCxsLGguX2xlYXZlQ2I/bnVsbDp2LHUubmV4dFNpYmxpbmcoaCkpLG8odC5wYXJlbnQpKXt2YXIgbT10LnBhcmVudCx5PWIodCk7d2hpbGUobSl7Zm9yKHZhciBfPTA7XzxhLmRlc3Ryb3kubGVuZ3RoOysrXylhLmRlc3Ryb3lbX10obSk7aWYobS5lbG09dC5lbG0seSl7Zm9yKHZhciBnPTA7ZzxhLmNyZWF0ZS5sZW5ndGg7KytnKWEuY3JlYXRlW2ddKHBvLG0pO3ZhciB3PW0uZGF0YS5ob29rLmluc2VydDtpZih3Lm1lcmdlZClmb3IodmFyIHg9MTt4PHcuZm5zLmxlbmd0aDt4Kyspdy5mbnNbeF0oKX1lbHNlIGxvKG0pO209bS5wYXJlbnR9fW8odik/QSh2LFtlXSwwLDApOm8oZS50YWcpJiZTKGUpfX1yZXR1cm4gaih0LGwscyksdC5lbG19byhlKSYmUyhlKX19dmFyIGdvPXtjcmVhdGU6Ym8sdXBkYXRlOmJvLGRlc3Ryb3k6ZnVuY3Rpb24oZSl7Ym8oZSxwbyl9fTtmdW5jdGlvbiBibyhlLHQpeyhlLmRhdGEuZGlyZWN0aXZlc3x8dC5kYXRhLmRpcmVjdGl2ZXMpJiZ3byhlLHQpfWZ1bmN0aW9uIHdvKGUsdCl7dmFyIG4scixvLGk9ZT09PXBvLGE9dD09PXBvLGM9Q28oZS5kYXRhLmRpcmVjdGl2ZXMsZS5jb250ZXh0KSxzPUNvKHQuZGF0YS5kaXJlY3RpdmVzLHQuY29udGV4dCksdT1bXSxmPVtdO2ZvcihuIGluIHMpcj1jW25dLG89c1tuXSxyPyhvLm9sZFZhbHVlPXIudmFsdWUsQW8obywidXBkYXRlIix0LGUpLG8uZGVmJiZvLmRlZi5jb21wb25lbnRVcGRhdGVkJiZmLnB1c2gobykpOihBbyhvLCJiaW5kIix0LGUpLG8uZGVmJiZvLmRlZi5pbnNlcnRlZCYmdS5wdXNoKG8pKTtpZih1Lmxlbmd0aCl7dmFyIGw9ZnVuY3Rpb24oKXtmb3IodmFyIG49MDtuPHUubGVuZ3RoO24rKylBbyh1W25dLCJpbnNlcnRlZCIsdCxlKX07aT9fdCh0LCJpbnNlcnQiLGwpOmwoKX1pZihmLmxlbmd0aCYmX3QodCwicG9zdHBhdGNoIixmdW5jdGlvbigpe2Zvcih2YXIgbj0wO248Zi5sZW5ndGg7bisrKUFvKGZbbl0sImNvbXBvbmVudFVwZGF0ZWQiLHQsZSl9KSwhaSlmb3IobiBpbiBjKXNbbl18fEFvKGNbbl0sInVuYmluZCIsZSxlLGEpfXZhciB4bz1PYmplY3QuY3JlYXRlKG51bGwpO2Z1bmN0aW9uIENvKGUsdCl7dmFyIG4scixvPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoIWUpcmV0dXJuIG87Zm9yKG49MDtuPGUubGVuZ3RoO24rKylyPWVbbl0sci5tb2RpZmllcnN8fChyLm1vZGlmaWVycz14byksb1tTbyhyKV09cixyLmRlZj1XZSh0LiRvcHRpb25zLCJkaXJlY3RpdmVzIixyLm5hbWUsITApO3JldHVybiBvfWZ1bmN0aW9uIFNvKGUpe3JldHVybiBlLnJhd05hbWV8fGUubmFtZSsiLiIrT2JqZWN0LmtleXMoZS5tb2RpZmllcnN8fHt9KS5qb2luKCIuIil9ZnVuY3Rpb24gQW8oZSx0LG4scixvKXt2YXIgaT1lLmRlZiYmZS5kZWZbdF07aWYoaSl0cnl7aShuLmVsbSxlLG4scixvKX1jYXRjaChjYSl7WWUoY2Esbi5jb250ZXh0LCJkaXJlY3RpdmUgIitlLm5hbWUrIiAiK3QrIiBob29rIil9fXZhciBrbz1bZm8sZ29dO2Z1bmN0aW9uIE9vKGUsdCl7dmFyIG49dC5jb21wb25lbnRPcHRpb25zO2lmKCghbyhuKXx8ITEhPT1uLkN0b3Iub3B0aW9ucy5pbmhlcml0QXR0cnMpJiYoIXIoZS5kYXRhLmF0dHJzKXx8IXIodC5kYXRhLmF0dHJzKSkpe3ZhciBpLGEsYyxzPXQuZWxtLHU9ZS5kYXRhLmF0dHJzfHx7fSxmPXQuZGF0YS5hdHRyc3x8e307Zm9yKGkgaW4gbyhmLl9fb2JfXykmJihmPXQuZGF0YS5hdHRycz1qKHt9LGYpKSxmKWE9ZltpXSxjPXVbaV0sYyE9PWEmJlBvKHMsaSxhKTtmb3IoaSBpbihafHxlZSkmJmYudmFsdWUhPT11LnZhbHVlJiZQbyhzLCJ2YWx1ZSIsZi52YWx1ZSksdSlyKGZbaV0pJiYoVHIoaSk/cy5yZW1vdmVBdHRyaWJ1dGVOUyhFcixJcihpKSk6JHIoaSl8fHMucmVtb3ZlQXR0cmlidXRlKGkpKX19ZnVuY3Rpb24gUG8oZSx0LG4pe2UudGFnTmFtZS5pbmRleE9mKCItIik+LTE/JG8oZSx0LG4pOmpyKHQpP01yKG4pP2UucmVtb3ZlQXR0cmlidXRlKHQpOihuPSJhbGxvd2Z1bGxzY3JlZW4iPT09dCYmIkVNQkVEIj09PWUudGFnTmFtZT8idHJ1ZSI6dCxlLnNldEF0dHJpYnV0ZSh0LG4pKTokcih0KT9lLnNldEF0dHJpYnV0ZSh0LE1yKG4pfHwiZmFsc2UiPT09bj8iZmFsc2UiOiJ0cnVlIik6VHIodCk/TXIobik/ZS5yZW1vdmVBdHRyaWJ1dGVOUyhFcixJcih0KSk6ZS5zZXRBdHRyaWJ1dGVOUyhFcix0LG4pOiRvKGUsdCxuKX1mdW5jdGlvbiAkbyhlLHQsbil7aWYoTXIobikpZS5yZW1vdmVBdHRyaWJ1dGUodCk7ZWxzZXtpZihaJiYhUSYmKCJURVhUQVJFQSI9PT1lLnRhZ05hbWV8fCJJTlBVVCI9PT1lLnRhZ05hbWUpJiYicGxhY2Vob2xkZXIiPT09dCYmIWUuX19pZXBoKXt2YXIgcj1mdW5jdGlvbih0KXt0LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcigiaW5wdXQiLHIpfTtlLmFkZEV2ZW50TGlzdGVuZXIoImlucHV0IixyKSxlLl9faWVwaD0hMH1lLnNldEF0dHJpYnV0ZSh0LG4pfX12YXIgam89e2NyZWF0ZTpPbyx1cGRhdGU6T299O2Z1bmN0aW9uIEVvKGUsdCl7dmFyIG49dC5lbG0saT10LmRhdGEsYT1lLmRhdGE7aWYoIShyKGkuc3RhdGljQ2xhc3MpJiZyKGkuY2xhc3MpJiYocihhKXx8cihhLnN0YXRpY0NsYXNzKSYmcihhLmNsYXNzKSkpKXt2YXIgYz1Ecih0KSxzPW4uX3RyYW5zaXRpb25DbGFzc2VzO28ocykmJihjPU5yKGMsUnIocykpKSxjIT09bi5fcHJldkNsYXNzJiYobi5zZXRBdHRyaWJ1dGUoImNsYXNzIixjKSxuLl9wcmV2Q2xhc3M9Yyl9fXZhciBUbyxJbz17Y3JlYXRlOkVvLHVwZGF0ZTpFb30sTW89Il9fciIsRG89Il9fYyI7ZnVuY3Rpb24gTG8oZSl7aWYobyhlW01vXSkpe3ZhciB0PVo/ImNoYW5nZSI6ImlucHV0IjtlW3RdPVtdLmNvbmNhdChlW01vXSxlW3RdfHxbXSksZGVsZXRlIGVbTW9dfW8oZVtEb10pJiYoZS5jaGFuZ2U9W10uY29uY2F0KGVbRG9dLGUuY2hhbmdlfHxbXSksZGVsZXRlIGVbRG9dKX1mdW5jdGlvbiBGbyhlLHQsbil7dmFyIHI9VG87cmV0dXJuIGZ1bmN0aW9uIG8oKXt2YXIgaT10LmFwcGx5KG51bGwsYXJndW1lbnRzKTtudWxsIT09aSYmUm8oZSxvLG4scil9fWZ1bmN0aW9uIE5vKGUsdCxuLHIpe3Q9dXQodCksVG8uYWRkRXZlbnRMaXN0ZW5lcihlLHQscmU/e2NhcHR1cmU6bixwYXNzaXZlOnJ9Om4pfWZ1bmN0aW9uIFJvKGUsdCxuLHIpeyhyfHxUbykucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHQuX3dpdGhUYXNrfHx0LG4pfWZ1bmN0aW9uIFVvKGUsdCl7aWYoIXIoZS5kYXRhLm9uKXx8IXIodC5kYXRhLm9uKSl7dmFyIG49dC5kYXRhLm9ufHx7fSxvPWUuZGF0YS5vbnx8e307VG89dC5lbG0sTG8obikseXQobixvLE5vLFJvLEZvLHQuY29udGV4dCksVG89dm9pZCAwfX12YXIgSG89e2NyZWF0ZTpVbyx1cGRhdGU6VW99O2Z1bmN0aW9uIHpvKGUsdCl7aWYoIXIoZS5kYXRhLmRvbVByb3BzKXx8IXIodC5kYXRhLmRvbVByb3BzKSl7dmFyIG4saSxhPXQuZWxtLGM9ZS5kYXRhLmRvbVByb3BzfHx7fSxzPXQuZGF0YS5kb21Qcm9wc3x8e307Zm9yKG4gaW4gbyhzLl9fb2JfXykmJihzPXQuZGF0YS5kb21Qcm9wcz1qKHt9LHMpKSxjKXIoc1tuXSkmJihhW25dPSIiKTtmb3IobiBpbiBzKXtpZihpPXNbbl0sInRleHRDb250ZW50Ij09PW58fCJpbm5lckhUTUwiPT09bil7aWYodC5jaGlsZHJlbiYmKHQuY2hpbGRyZW4ubGVuZ3RoPTApLGk9PT1jW25dKWNvbnRpbnVlOzE9PT1hLmNoaWxkTm9kZXMubGVuZ3RoJiZhLnJlbW92ZUNoaWxkKGEuY2hpbGROb2Rlc1swXSl9aWYoInZhbHVlIj09PW4pe2EuX3ZhbHVlPWk7dmFyIHU9cihpKT8iIjpTdHJpbmcoaSk7Vm8oYSx1KSYmKGEudmFsdWU9dSl9ZWxzZSBhW25dPWl9fX1mdW5jdGlvbiBWbyhlLHQpe3JldHVybiFlLmNvbXBvc2luZyYmKCJPUFRJT04iPT09ZS50YWdOYW1lfHxCbyhlLHQpfHxXbyhlLHQpKX1mdW5jdGlvbiBCbyhlLHQpe3ZhciBuPSEwO3RyeXtuPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQhPT1lfWNhdGNoKGNhKXt9cmV0dXJuIG4mJmUudmFsdWUhPT10fWZ1bmN0aW9uIFdvKGUsdCl7dmFyIG49ZS52YWx1ZSxyPWUuX3ZNb2RpZmllcnM7aWYobyhyKSl7aWYoci5sYXp5KXJldHVybiExO2lmKHIubnVtYmVyKXJldHVybiBoKG4pIT09aCh0KTtpZihyLnRyaW0pcmV0dXJuIG4udHJpbSgpIT09dC50cmltKCl9cmV0dXJuIG4hPT10fXZhciBHbz17Y3JlYXRlOnpvLHVwZGF0ZTp6b30scW89YihmdW5jdGlvbihlKXt2YXIgdD17fSxuPS87KD8hW14oXSpcKSkvZyxyPS86KC4rKS87cmV0dXJuIGUuc3BsaXQobikuZm9yRWFjaChmdW5jdGlvbihlKXtpZihlKXt2YXIgbj1lLnNwbGl0KHIpO24ubGVuZ3RoPjEmJih0W25bMF0udHJpbSgpXT1uWzFdLnRyaW0oKSl9fSksdH0pO2Z1bmN0aW9uIEtvKGUpe3ZhciB0PVhvKGUuc3R5bGUpO3JldHVybiBlLnN0YXRpY1N0eWxlP2ooZS5zdGF0aWNTdHlsZSx0KTp0fWZ1bmN0aW9uIFhvKGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpP0UoZSk6InN0cmluZyI9PT10eXBlb2YgZT9xbyhlKTplfWZ1bmN0aW9uIEpvKGUsdCl7dmFyIG4scj17fTtpZih0KXt2YXIgbz1lO3doaWxlKG8uY29tcG9uZW50SW5zdGFuY2Upbz1vLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSxvJiZvLmRhdGEmJihuPUtvKG8uZGF0YSkpJiZqKHIsbil9KG49S28oZS5kYXRhKSkmJmoocixuKTt2YXIgaT1lO3doaWxlKGk9aS5wYXJlbnQpaS5kYXRhJiYobj1LbyhpLmRhdGEpKSYmaihyLG4pO3JldHVybiByfXZhciBZbyxabz0vXi0tLyxRbz0vXHMqIWltcG9ydGFudCQvLGVpPWZ1bmN0aW9uKGUsdCxuKXtpZihaby50ZXN0KHQpKWUuc3R5bGUuc2V0UHJvcGVydHkodCxuKTtlbHNlIGlmKFFvLnRlc3QobikpZS5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4ucmVwbGFjZShRbywiIiksImltcG9ydGFudCIpO2Vsc2V7dmFyIHI9bmkodCk7aWYoQXJyYXkuaXNBcnJheShuKSlmb3IodmFyIG89MCxpPW4ubGVuZ3RoO288aTtvKyspZS5zdHlsZVtyXT1uW29dO2Vsc2UgZS5zdHlsZVtyXT1ufX0sdGk9WyJXZWJraXQiLCJNb3oiLCJtcyJdLG5pPWIoZnVuY3Rpb24oZSl7aWYoWW89WW98fGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlLGU9eChlKSwiZmlsdGVyIiE9PWUmJmUgaW4gWW8pcmV0dXJuIGU7Zm9yKHZhciB0PWUuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSxuPTA7bjx0aS5sZW5ndGg7bisrKXt2YXIgcj10aVtuXSt0O2lmKHIgaW4gWW8pcmV0dXJuIHJ9fSk7ZnVuY3Rpb24gcmkoZSx0KXt2YXIgbj10LmRhdGEsaT1lLmRhdGE7aWYoIShyKG4uc3RhdGljU3R5bGUpJiZyKG4uc3R5bGUpJiZyKGkuc3RhdGljU3R5bGUpJiZyKGkuc3R5bGUpKSl7dmFyIGEsYyxzPXQuZWxtLHU9aS5zdGF0aWNTdHlsZSxmPWkubm9ybWFsaXplZFN0eWxlfHxpLnN0eWxlfHx7fSxsPXV8fGYscD1Ybyh0LmRhdGEuc3R5bGUpfHx7fTt0LmRhdGEubm9ybWFsaXplZFN0eWxlPW8ocC5fX29iX18pP2ooe30scCk6cDt2YXIgZD1Kbyh0LCEwKTtmb3IoYyBpbiBsKXIoZFtjXSkmJmVpKHMsYywiIik7Zm9yKGMgaW4gZClhPWRbY10sYSE9PWxbY10mJmVpKHMsYyxudWxsPT1hPyIiOmEpfX12YXIgb2k9e2NyZWF0ZTpyaSx1cGRhdGU6cml9LGlpPS9ccysvO2Z1bmN0aW9uIGFpKGUsdCl7aWYodCYmKHQ9dC50cmltKCkpKWlmKGUuY2xhc3NMaXN0KXQuaW5kZXhPZigiICIpPi0xP3Quc3BsaXQoaWkpLmZvckVhY2goZnVuY3Rpb24odCl7cmV0dXJuIGUuY2xhc3NMaXN0LmFkZCh0KX0pOmUuY2xhc3NMaXN0LmFkZCh0KTtlbHNle3ZhciBuPSIgIisoZS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKSsiICI7bi5pbmRleE9mKCIgIit0KyIgIik8MCYmZS5zZXRBdHRyaWJ1dGUoImNsYXNzIiwobit0KS50cmltKCkpfX1mdW5jdGlvbiBjaShlLHQpe2lmKHQmJih0PXQudHJpbSgpKSlpZihlLmNsYXNzTGlzdCl0LmluZGV4T2YoIiAiKT4tMT90LnNwbGl0KGlpKS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3JldHVybiBlLmNsYXNzTGlzdC5yZW1vdmUodCl9KTplLmNsYXNzTGlzdC5yZW1vdmUodCksZS5jbGFzc0xpc3QubGVuZ3RofHxlLnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKTtlbHNle3ZhciBuPSIgIisoZS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKSsiICIscj0iICIrdCsiICI7d2hpbGUobi5pbmRleE9mKHIpPj0wKW49bi5yZXBsYWNlKHIsIiAiKTtuPW4udHJpbSgpLG4/ZS5zZXRBdHRyaWJ1dGUoImNsYXNzIixuKTplLnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKX19ZnVuY3Rpb24gc2koZSl7aWYoZSl7aWYoIm9iamVjdCI9PT10eXBlb2YgZSl7dmFyIHQ9e307cmV0dXJuITEhPT1lLmNzcyYmaih0LHVpKGUubmFtZXx8InYiKSksaih0LGUpLHR9cmV0dXJuInN0cmluZyI9PT10eXBlb2YgZT91aShlKTp2b2lkIDB9fXZhciB1aT1iKGZ1bmN0aW9uKGUpe3JldHVybntlbnRlckNsYXNzOmUrIi1lbnRlciIsZW50ZXJUb0NsYXNzOmUrIi1lbnRlci10byIsZW50ZXJBY3RpdmVDbGFzczplKyItZW50ZXItYWN0aXZlIixsZWF2ZUNsYXNzOmUrIi1sZWF2ZSIsbGVhdmVUb0NsYXNzOmUrIi1sZWF2ZS10byIsbGVhdmVBY3RpdmVDbGFzczplKyItbGVhdmUtYWN0aXZlIn19KSxmaT1LJiYhUSxsaT0idHJhbnNpdGlvbiIscGk9ImFuaW1hdGlvbiIsZGk9InRyYW5zaXRpb24iLGhpPSJ0cmFuc2l0aW9uZW5kIix2aT0iYW5pbWF0aW9uIixtaT0iYW5pbWF0aW9uZW5kIjtmaSYmKHZvaWQgMD09PXdpbmRvdy5vbnRyYW5zaXRpb25lbmQmJnZvaWQgMCE9PXdpbmRvdy5vbndlYmtpdHRyYW5zaXRpb25lbmQmJihkaT0iV2Via2l0VHJhbnNpdGlvbiIsaGk9IndlYmtpdFRyYW5zaXRpb25FbmQiKSx2b2lkIDA9PT13aW5kb3cub25hbmltYXRpb25lbmQmJnZvaWQgMCE9PXdpbmRvdy5vbndlYmtpdGFuaW1hdGlvbmVuZCYmKHZpPSJXZWJraXRBbmltYXRpb24iLG1pPSJ3ZWJraXRBbmltYXRpb25FbmQiKSk7dmFyIHlpPUs/d2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZT93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lLmJpbmQod2luZG93KTpzZXRUaW1lb3V0OmZ1bmN0aW9uKGUpe3JldHVybiBlKCl9O2Z1bmN0aW9uIF9pKGUpe3lpKGZ1bmN0aW9uKCl7eWkoZSl9KX1mdW5jdGlvbiBnaShlLHQpe3ZhciBuPWUuX3RyYW5zaXRpb25DbGFzc2VzfHwoZS5fdHJhbnNpdGlvbkNsYXNzZXM9W10pO24uaW5kZXhPZih0KTwwJiYobi5wdXNoKHQpLGFpKGUsdCkpfWZ1bmN0aW9uIGJpKGUsdCl7ZS5fdHJhbnNpdGlvbkNsYXNzZXMmJnkoZS5fdHJhbnNpdGlvbkNsYXNzZXMsdCksY2koZSx0KX1mdW5jdGlvbiB3aShlLHQsbil7dmFyIHI9Q2koZSx0KSxvPXIudHlwZSxpPXIudGltZW91dCxhPXIucHJvcENvdW50O2lmKCFvKXJldHVybiBuKCk7dmFyIGM9bz09PWxpP2hpOm1pLHM9MCx1PWZ1bmN0aW9uKCl7ZS5yZW1vdmVFdmVudExpc3RlbmVyKGMsZiksbigpfSxmPWZ1bmN0aW9uKHQpe3QudGFyZ2V0PT09ZSYmKytzPj1hJiZ1KCl9O3NldFRpbWVvdXQoZnVuY3Rpb24oKXtzPGEmJnUoKX0saSsxKSxlLmFkZEV2ZW50TGlzdGVuZXIoYyxmKX12YXIgeGk9L1xiKHRyYW5zZm9ybXxhbGwpKCx8JCkvO2Z1bmN0aW9uIENpKGUsdCl7dmFyIG4scj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZShlKSxvPShyW2RpKyJEZWxheSJdfHwiIikuc3BsaXQoIiwgIiksaT0ocltkaSsiRHVyYXRpb24iXXx8IiIpLnNwbGl0KCIsICIpLGE9U2kobyxpKSxjPShyW3ZpKyJEZWxheSJdfHwiIikuc3BsaXQoIiwgIikscz0oclt2aSsiRHVyYXRpb24iXXx8IiIpLnNwbGl0KCIsICIpLHU9U2koYyxzKSxmPTAsbD0wO3Q9PT1saT9hPjAmJihuPWxpLGY9YSxsPWkubGVuZ3RoKTp0PT09cGk/dT4wJiYobj1waSxmPXUsbD1zLmxlbmd0aCk6KGY9TWF0aC5tYXgoYSx1KSxuPWY+MD9hPnU/bGk6cGk6bnVsbCxsPW4/bj09PWxpP2kubGVuZ3RoOnMubGVuZ3RoOjApO3ZhciBwPW49PT1saSYmeGkudGVzdChyW2RpKyJQcm9wZXJ0eSJdKTtyZXR1cm57dHlwZTpuLHRpbWVvdXQ6Zixwcm9wQ291bnQ6bCxoYXNUcmFuc2Zvcm06cH19ZnVuY3Rpb24gU2koZSx0KXt3aGlsZShlLmxlbmd0aDx0Lmxlbmd0aCllPWUuY29uY2F0KGUpO3JldHVybiBNYXRoLm1heC5hcHBseShudWxsLHQubWFwKGZ1bmN0aW9uKHQsbil7cmV0dXJuIEFpKHQpK0FpKGVbbl0pfSkpfWZ1bmN0aW9uIEFpKGUpe3JldHVybiAxZTMqTnVtYmVyKGUuc2xpY2UoMCwtMSkucmVwbGFjZSgiLCIsIi4iKSl9ZnVuY3Rpb24ga2koZSx0KXt2YXIgbj1lLmVsbTtvKG4uX2xlYXZlQ2IpJiYobi5fbGVhdmVDYi5jYW5jZWxsZWQ9ITAsbi5fbGVhdmVDYigpKTt2YXIgaT1zaShlLmRhdGEudHJhbnNpdGlvbik7aWYoIXIoaSkmJiFvKG4uX2VudGVyQ2IpJiYxPT09bi5ub2RlVHlwZSl7dmFyIGE9aS5jc3MsYz1pLnR5cGUsdT1pLmVudGVyQ2xhc3MsZj1pLmVudGVyVG9DbGFzcyxsPWkuZW50ZXJBY3RpdmVDbGFzcyxwPWkuYXBwZWFyQ2xhc3MsZD1pLmFwcGVhclRvQ2xhc3Msdj1pLmFwcGVhckFjdGl2ZUNsYXNzLG09aS5iZWZvcmVFbnRlcix5PWkuZW50ZXIsXz1pLmFmdGVyRW50ZXIsZz1pLmVudGVyQ2FuY2VsbGVkLGI9aS5iZWZvcmVBcHBlYXIsdz1pLmFwcGVhcix4PWkuYWZ0ZXJBcHBlYXIsQz1pLmFwcGVhckNhbmNlbGxlZCxTPWkuZHVyYXRpb24sQT1SdCxrPVJ0LiR2bm9kZTt3aGlsZShrJiZrLnBhcmVudClrPWsucGFyZW50LEE9ay5jb250ZXh0O3ZhciBPPSFBLl9pc01vdW50ZWR8fCFlLmlzUm9vdEluc2VydDtpZighT3x8d3x8IiI9PT13KXt2YXIgUD1PJiZwP3A6dSwkPU8mJnY/djpsLGo9TyYmZD9kOmYsRT1PJiZifHxtLFQ9TyYmImZ1bmN0aW9uIj09PXR5cGVvZiB3P3c6eSxJPU8mJnh8fF8sTT1PJiZDfHxnLEQ9aChzKFMpP1MuZW50ZXI6Uyk7MDt2YXIgTD0hMSE9PWEmJiFRLE49JGkoVCksUj1uLl9lbnRlckNiPUYoZnVuY3Rpb24oKXtMJiYoYmkobixqKSxiaShuLCQpKSxSLmNhbmNlbGxlZD8oTCYmYmkobixQKSxNJiZNKG4pKTpJJiZJKG4pLG4uX2VudGVyQ2I9bnVsbH0pO2UuZGF0YS5zaG93fHxfdChlLCJpbnNlcnQiLGZ1bmN0aW9uKCl7dmFyIHQ9bi5wYXJlbnROb2RlLHI9dCYmdC5fcGVuZGluZyYmdC5fcGVuZGluZ1tlLmtleV07ciYmci50YWc9PT1lLnRhZyYmci5lbG0uX2xlYXZlQ2ImJnIuZWxtLl9sZWF2ZUNiKCksVCYmVChuLFIpfSksRSYmRShuKSxMJiYoZ2kobixQKSxnaShuLCQpLF9pKGZ1bmN0aW9uKCl7YmkobixQKSxSLmNhbmNlbGxlZHx8KGdpKG4saiksTnx8KFBpKEQpP3NldFRpbWVvdXQoUixEKTp3aShuLGMsUikpKX0pKSxlLmRhdGEuc2hvdyYmKHQmJnQoKSxUJiZUKG4sUikpLEx8fE58fFIoKX19fWZ1bmN0aW9uIE9pKGUsdCl7dmFyIG49ZS5lbG07byhuLl9lbnRlckNiKSYmKG4uX2VudGVyQ2IuY2FuY2VsbGVkPSEwLG4uX2VudGVyQ2IoKSk7dmFyIGk9c2koZS5kYXRhLnRyYW5zaXRpb24pO2lmKHIoaSl8fDEhPT1uLm5vZGVUeXBlKXJldHVybiB0KCk7aWYoIW8obi5fbGVhdmVDYikpe3ZhciBhPWkuY3NzLGM9aS50eXBlLHU9aS5sZWF2ZUNsYXNzLGY9aS5sZWF2ZVRvQ2xhc3MsbD1pLmxlYXZlQWN0aXZlQ2xhc3MscD1pLmJlZm9yZUxlYXZlLGQ9aS5sZWF2ZSx2PWkuYWZ0ZXJMZWF2ZSxtPWkubGVhdmVDYW5jZWxsZWQseT1pLmRlbGF5TGVhdmUsXz1pLmR1cmF0aW9uLGc9ITEhPT1hJiYhUSxiPSRpKGQpLHc9aChzKF8pP18ubGVhdmU6Xyk7MDt2YXIgeD1uLl9sZWF2ZUNiPUYoZnVuY3Rpb24oKXtuLnBhcmVudE5vZGUmJm4ucGFyZW50Tm9kZS5fcGVuZGluZyYmKG4ucGFyZW50Tm9kZS5fcGVuZGluZ1tlLmtleV09bnVsbCksZyYmKGJpKG4sZiksYmkobixsKSkseC5jYW5jZWxsZWQ/KGcmJmJpKG4sdSksbSYmbShuKSk6KHQoKSx2JiZ2KG4pKSxuLl9sZWF2ZUNiPW51bGx9KTt5P3koQyk6QygpfWZ1bmN0aW9uIEMoKXt4LmNhbmNlbGxlZHx8KCFlLmRhdGEuc2hvdyYmbi5wYXJlbnROb2RlJiYoKG4ucGFyZW50Tm9kZS5fcGVuZGluZ3x8KG4ucGFyZW50Tm9kZS5fcGVuZGluZz17fSkpW2Uua2V5XT1lKSxwJiZwKG4pLGcmJihnaShuLHUpLGdpKG4sbCksX2koZnVuY3Rpb24oKXtiaShuLHUpLHguY2FuY2VsbGVkfHwoZ2kobixmKSxifHwoUGkodyk/c2V0VGltZW91dCh4LHcpOndpKG4sYyx4KSkpfSkpLGQmJmQobix4KSxnfHxifHx4KCkpfX1mdW5jdGlvbiBQaShlKXtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiBlJiYhaXNOYU4oZSl9ZnVuY3Rpb24gJGkoZSl7aWYocihlKSlyZXR1cm4hMTt2YXIgdD1lLmZucztyZXR1cm4gbyh0KT8kaShBcnJheS5pc0FycmF5KHQpP3RbMF06dCk6KGUuX2xlbmd0aHx8ZS5sZW5ndGgpPjF9ZnVuY3Rpb24gamkoZSx0KXshMCE9PXQuZGF0YS5zaG93JiZraSh0KX12YXIgRWk9Sz97Y3JlYXRlOmppLGFjdGl2YXRlOmppLHJlbW92ZTpmdW5jdGlvbihlLHQpeyEwIT09ZS5kYXRhLnNob3c/T2koZSx0KTp0KCl9fTp7fSxUaT1bam8sSW8sSG8sR28sb2ksRWldLElpPVRpLmNvbmNhdChrbyksTWk9X28oe25vZGVPcHM6dW8sbW9kdWxlczpJaX0pO1EmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O2UmJmUudm1vZGVsJiZ6aShlLCJpbnB1dCIpfSk7dmFyIERpPXtpbnNlcnRlZDpmdW5jdGlvbihlLHQsbixyKXsic2VsZWN0Ij09PW4udGFnPyhyLmVsbSYmIXIuZWxtLl92T3B0aW9ucz9fdChuLCJwb3N0cGF0Y2giLGZ1bmN0aW9uKCl7RGkuY29tcG9uZW50VXBkYXRlZChlLHQsbil9KTpMaShlLHQsbi5jb250ZXh0KSxlLl92T3B0aW9ucz1bXS5tYXAuY2FsbChlLm9wdGlvbnMsUmkpKTooInRleHRhcmVhIj09PW4udGFnfHxYcihlLnR5cGUpKSYmKGUuX3ZNb2RpZmllcnM9dC5tb2RpZmllcnMsdC5tb2RpZmllcnMubGF6eXx8KGUuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25zdGFydCIsVWkpLGUuYWRkRXZlbnRMaXN0ZW5lcigiY29tcG9zaXRpb25lbmQiLEhpKSxlLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsSGkpLFEmJihlLnZtb2RlbD0hMCkpKX0sY29tcG9uZW50VXBkYXRlZDpmdW5jdGlvbihlLHQsbil7aWYoInNlbGVjdCI9PT1uLnRhZyl7TGkoZSx0LG4uY29udGV4dCk7dmFyIHI9ZS5fdk9wdGlvbnMsbz1lLl92T3B0aW9ucz1bXS5tYXAuY2FsbChlLm9wdGlvbnMsUmkpO2lmKG8uc29tZShmdW5jdGlvbihlLHQpe3JldHVybiFEKGUsclt0XSl9KSl7dmFyIGk9ZS5tdWx0aXBsZT90LnZhbHVlLnNvbWUoZnVuY3Rpb24oZSl7cmV0dXJuIE5pKGUsbyl9KTp0LnZhbHVlIT09dC5vbGRWYWx1ZSYmTmkodC52YWx1ZSxvKTtpJiZ6aShlLCJjaGFuZ2UiKX19fX07ZnVuY3Rpb24gTGkoZSx0LG4pe0ZpKGUsdCxuKSwoWnx8ZWUpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7RmkoZSx0LG4pfSwwKX1mdW5jdGlvbiBGaShlLHQsbil7dmFyIHI9dC52YWx1ZSxvPWUubXVsdGlwbGU7aWYoIW98fEFycmF5LmlzQXJyYXkocikpe2Zvcih2YXIgaSxhLGM9MCxzPWUub3B0aW9ucy5sZW5ndGg7YzxzO2MrKylpZihhPWUub3B0aW9uc1tjXSxvKWk9TChyLFJpKGEpKT4tMSxhLnNlbGVjdGVkIT09aSYmKGEuc2VsZWN0ZWQ9aSk7ZWxzZSBpZihEKFJpKGEpLHIpKXJldHVybiB2b2lkKGUuc2VsZWN0ZWRJbmRleCE9PWMmJihlLnNlbGVjdGVkSW5kZXg9YykpO298fChlLnNlbGVjdGVkSW5kZXg9LTEpfX1mdW5jdGlvbiBOaShlLHQpe3JldHVybiB0LmV2ZXJ5KGZ1bmN0aW9uKHQpe3JldHVybiFEKHQsZSl9KX1mdW5jdGlvbiBSaShlKXtyZXR1cm4iX3ZhbHVlImluIGU/ZS5fdmFsdWU6ZS52YWx1ZX1mdW5jdGlvbiBVaShlKXtlLnRhcmdldC5jb21wb3Npbmc9ITB9ZnVuY3Rpb24gSGkoZSl7ZS50YXJnZXQuY29tcG9zaW5nJiYoZS50YXJnZXQuY29tcG9zaW5nPSExLHppKGUudGFyZ2V0LCJpbnB1dCIpKX1mdW5jdGlvbiB6aShlLHQpe3ZhciBuPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJIVE1MRXZlbnRzIik7bi5pbml0RXZlbnQodCwhMCwhMCksZS5kaXNwYXRjaEV2ZW50KG4pfWZ1bmN0aW9uIFZpKGUpe3JldHVybiFlLmNvbXBvbmVudEluc3RhbmNlfHxlLmRhdGEmJmUuZGF0YS50cmFuc2l0aW9uP2U6VmkoZS5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUpfXZhciBCaT17YmluZDpmdW5jdGlvbihlLHQsbil7dmFyIHI9dC52YWx1ZTtuPVZpKG4pO3ZhciBvPW4uZGF0YSYmbi5kYXRhLnRyYW5zaXRpb24saT1lLl9fdk9yaWdpbmFsRGlzcGxheT0ibm9uZSI9PT1lLnN0eWxlLmRpc3BsYXk/IiI6ZS5zdHlsZS5kaXNwbGF5O3ImJm8/KG4uZGF0YS5zaG93PSEwLGtpKG4sZnVuY3Rpb24oKXtlLnN0eWxlLmRpc3BsYXk9aX0pKTplLnN0eWxlLmRpc3BsYXk9cj9pOiJub25lIn0sdXBkYXRlOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj10LnZhbHVlLG89dC5vbGRWYWx1ZTtpZighciE9PSFvKXtuPVZpKG4pO3ZhciBpPW4uZGF0YSYmbi5kYXRhLnRyYW5zaXRpb247aT8obi5kYXRhLnNob3c9ITAscj9raShuLGZ1bmN0aW9uKCl7ZS5zdHlsZS5kaXNwbGF5PWUuX192T3JpZ2luYWxEaXNwbGF5fSk6T2kobixmdW5jdGlvbigpe2Uuc3R5bGUuZGlzcGxheT0ibm9uZSJ9KSk6ZS5zdHlsZS5kaXNwbGF5PXI/ZS5fX3ZPcmlnaW5hbERpc3BsYXk6Im5vbmUifX0sdW5iaW5kOmZ1bmN0aW9uKGUsdCxuLHIsbyl7b3x8KGUuc3R5bGUuZGlzcGxheT1lLl9fdk9yaWdpbmFsRGlzcGxheSl9fSxXaT17bW9kZWw6RGksc2hvdzpCaX0sR2k9e25hbWU6U3RyaW5nLGFwcGVhcjpCb29sZWFuLGNzczpCb29sZWFuLG1vZGU6U3RyaW5nLHR5cGU6U3RyaW5nLGVudGVyQ2xhc3M6U3RyaW5nLGxlYXZlQ2xhc3M6U3RyaW5nLGVudGVyVG9DbGFzczpTdHJpbmcsbGVhdmVUb0NsYXNzOlN0cmluZyxlbnRlckFjdGl2ZUNsYXNzOlN0cmluZyxsZWF2ZUFjdGl2ZUNsYXNzOlN0cmluZyxhcHBlYXJDbGFzczpTdHJpbmcsYXBwZWFyQWN0aXZlQ2xhc3M6U3RyaW5nLGFwcGVhclRvQ2xhc3M6U3RyaW5nLGR1cmF0aW9uOltOdW1iZXIsU3RyaW5nLE9iamVjdF19O2Z1bmN0aW9uIHFpKGUpe3ZhciB0PWUmJmUuY29tcG9uZW50T3B0aW9ucztyZXR1cm4gdCYmdC5DdG9yLm9wdGlvbnMuYWJzdHJhY3Q/cWkoJHQodC5jaGlsZHJlbikpOmV9ZnVuY3Rpb24gS2koZSl7dmFyIHQ9e30sbj1lLiRvcHRpb25zO2Zvcih2YXIgciBpbiBuLnByb3BzRGF0YSl0W3JdPWVbcl07dmFyIG89bi5fcGFyZW50TGlzdGVuZXJzO2Zvcih2YXIgaSBpbiBvKXRbeChpKV09b1tpXTtyZXR1cm4gdH1mdW5jdGlvbiBYaShlLHQpe2lmKC9cZC1rZWVwLWFsaXZlJC8udGVzdCh0LnRhZykpcmV0dXJuIGUoImtlZXAtYWxpdmUiLHtwcm9wczp0LmNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhfSl9ZnVuY3Rpb24gSmkoZSl7d2hpbGUoZT1lLnBhcmVudClpZihlLmRhdGEudHJhbnNpdGlvbilyZXR1cm4hMH1mdW5jdGlvbiBZaShlLHQpe3JldHVybiB0LmtleT09PWUua2V5JiZ0LnRhZz09PWUudGFnfXZhciBaaT1mdW5jdGlvbihlKXtyZXR1cm4gZS50YWd8fFB0KGUpfSxRaT1mdW5jdGlvbihlKXtyZXR1cm4ic2hvdyI9PT1lLm5hbWV9LGVhPXtuYW1lOiJ0cmFuc2l0aW9uIixwcm9wczpHaSxhYnN0cmFjdDohMCxyZW5kZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPXRoaXMuJHNsb3RzLmRlZmF1bHQ7aWYobiYmKG49bi5maWx0ZXIoWmkpLG4ubGVuZ3RoKSl7MDt2YXIgcj10aGlzLm1vZGU7MDt2YXIgbz1uWzBdO2lmKEppKHRoaXMuJHZub2RlKSlyZXR1cm4gbzt2YXIgaT1xaShvKTtpZighaSlyZXR1cm4gbztpZih0aGlzLl9sZWF2aW5nKXJldHVybiBYaShlLG8pO3ZhciBhPSJfX3RyYW5zaXRpb24tIit0aGlzLl91aWQrIi0iO2kua2V5PW51bGw9PWkua2V5P2kuaXNDb21tZW50P2ErImNvbW1lbnQiOmEraS50YWc6YyhpLmtleSk/MD09PVN0cmluZyhpLmtleSkuaW5kZXhPZihhKT9pLmtleTphK2kua2V5Omkua2V5O3ZhciBzPShpLmRhdGF8fChpLmRhdGE9e30pKS50cmFuc2l0aW9uPUtpKHRoaXMpLHU9dGhpcy5fdm5vZGUsZj1xaSh1KTtpZihpLmRhdGEuZGlyZWN0aXZlcyYmaS5kYXRhLmRpcmVjdGl2ZXMuc29tZShRaSkmJihpLmRhdGEuc2hvdz0hMCksZiYmZi5kYXRhJiYhWWkoaSxmKSYmIVB0KGYpJiYoIWYuY29tcG9uZW50SW5zdGFuY2V8fCFmLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZS5pc0NvbW1lbnQpKXt2YXIgbD1mLmRhdGEudHJhbnNpdGlvbj1qKHt9LHMpO2lmKCJvdXQtaW4iPT09cilyZXR1cm4gdGhpcy5fbGVhdmluZz0hMCxfdChsLCJhZnRlckxlYXZlIixmdW5jdGlvbigpe3QuX2xlYXZpbmc9ITEsdC4kZm9yY2VVcGRhdGUoKX0pLFhpKGUsbyk7aWYoImluLW91dCI9PT1yKXtpZihQdChpKSlyZXR1cm4gdTt2YXIgcCxkPWZ1bmN0aW9uKCl7cCgpfTtfdChzLCJhZnRlckVudGVyIixkKSxfdChzLCJlbnRlckNhbmNlbGxlZCIsZCksX3QobCwiZGVsYXlMZWF2ZSIsZnVuY3Rpb24oZSl7cD1lfSl9fXJldHVybiBvfX19LHRhPWooe3RhZzpTdHJpbmcsbW92ZUNsYXNzOlN0cmluZ30sR2kpO2RlbGV0ZSB0YS5tb2RlO3ZhciBuYT17cHJvcHM6dGEsYmVmb3JlTW91bnQ6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9dGhpcy5fdXBkYXRlO3RoaXMuX3VwZGF0ZT1mdW5jdGlvbihuLHIpe3ZhciBvPVV0KGUpO2UuX19wYXRjaF9fKGUuX3Zub2RlLGUua2VwdCwhMSwhMCksZS5fdm5vZGU9ZS5rZXB0LG8oKSx0LmNhbGwoZSxuLHIpfX0scmVuZGVyOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdD10aGlzLnRhZ3x8dGhpcy4kdm5vZGUuZGF0YS50YWd8fCJzcGFuIixuPU9iamVjdC5jcmVhdGUobnVsbCkscj10aGlzLnByZXZDaGlsZHJlbj10aGlzLmNoaWxkcmVuLG89dGhpcy4kc2xvdHMuZGVmYXVsdHx8W10saT10aGlzLmNoaWxkcmVuPVtdLGE9S2kodGhpcyksYz0wO2M8by5sZW5ndGg7YysrKXt2YXIgcz1vW2NdO2lmKHMudGFnKWlmKG51bGwhPXMua2V5JiYwIT09U3RyaW5nKHMua2V5KS5pbmRleE9mKCJfX3ZsaXN0IikpaS5wdXNoKHMpLG5bcy5rZXldPXMsKHMuZGF0YXx8KHMuZGF0YT17fSkpLnRyYW5zaXRpb249YTtlbHNlO31pZihyKXtmb3IodmFyIHU9W10sZj1bXSxsPTA7bDxyLmxlbmd0aDtsKyspe3ZhciBwPXJbbF07cC5kYXRhLnRyYW5zaXRpb249YSxwLmRhdGEucG9zPXAuZWxtLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLG5bcC5rZXldP3UucHVzaChwKTpmLnB1c2gocCl9dGhpcy5rZXB0PWUodCxudWxsLHUpLHRoaXMucmVtb3ZlZD1mfXJldHVybiBlKHQsbnVsbCxpKX0sdXBkYXRlZDpmdW5jdGlvbigpe3ZhciBlPXRoaXMucHJldkNoaWxkcmVuLHQ9dGhpcy5tb3ZlQ2xhc3N8fCh0aGlzLm5hbWV8fCJ2IikrIi1tb3ZlIjtlLmxlbmd0aCYmdGhpcy5oYXNNb3ZlKGVbMF0uZWxtLHQpJiYoZS5mb3JFYWNoKHJhKSxlLmZvckVhY2gob2EpLGUuZm9yRWFjaChpYSksdGhpcy5fcmVmbG93PWRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0LGUuZm9yRWFjaChmdW5jdGlvbihlKXtpZihlLmRhdGEubW92ZWQpe3ZhciBuPWUuZWxtLHI9bi5zdHlsZTtnaShuLHQpLHIudHJhbnNmb3JtPXIuV2Via2l0VHJhbnNmb3JtPXIudHJhbnNpdGlvbkR1cmF0aW9uPSIiLG4uYWRkRXZlbnRMaXN0ZW5lcihoaSxuLl9tb3ZlQ2I9ZnVuY3Rpb24gZShyKXtyJiZyLnRhcmdldCE9PW58fHImJiEvdHJhbnNmb3JtJC8udGVzdChyLnByb3BlcnR5TmFtZSl8fChuLnJlbW92ZUV2ZW50TGlzdGVuZXIoaGksZSksbi5fbW92ZUNiPW51bGwsYmkobix0KSl9KX19KSl9LG1ldGhvZHM6e2hhc01vdmU6ZnVuY3Rpb24oZSx0KXtpZighZmkpcmV0dXJuITE7aWYodGhpcy5faGFzTW92ZSlyZXR1cm4gdGhpcy5faGFzTW92ZTt2YXIgbj1lLmNsb25lTm9kZSgpO2UuX3RyYW5zaXRpb25DbGFzc2VzJiZlLl90cmFuc2l0aW9uQ2xhc3Nlcy5mb3JFYWNoKGZ1bmN0aW9uKGUpe2NpKG4sZSl9KSxhaShuLHQpLG4uc3R5bGUuZGlzcGxheT0ibm9uZSIsdGhpcy4kZWwuYXBwZW5kQ2hpbGQobik7dmFyIHI9Q2kobik7cmV0dXJuIHRoaXMuJGVsLnJlbW92ZUNoaWxkKG4pLHRoaXMuX2hhc01vdmU9ci5oYXNUcmFuc2Zvcm19fX07ZnVuY3Rpb24gcmEoZSl7ZS5lbG0uX21vdmVDYiYmZS5lbG0uX21vdmVDYigpLGUuZWxtLl9lbnRlckNiJiZlLmVsbS5fZW50ZXJDYigpfWZ1bmN0aW9uIG9hKGUpe2UuZGF0YS5uZXdQb3M9ZS5lbG0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCl9ZnVuY3Rpb24gaWEoZSl7dmFyIHQ9ZS5kYXRhLnBvcyxuPWUuZGF0YS5uZXdQb3Mscj10LmxlZnQtbi5sZWZ0LG89dC50b3Atbi50b3A7aWYocnx8byl7ZS5kYXRhLm1vdmVkPSEwO3ZhciBpPWUuZWxtLnN0eWxlO2kudHJhbnNmb3JtPWkuV2Via2l0VHJhbnNmb3JtPSJ0cmFuc2xhdGUoIityKyJweCwiK28rInB4KSIsaS50cmFuc2l0aW9uRHVyYXRpb249IjBzIn19dmFyIGFhPXtUcmFuc2l0aW9uOmVhLFRyYW5zaXRpb25Hcm91cDpuYX07bHIuY29uZmlnLm11c3RVc2VQcm9wPVByLGxyLmNvbmZpZy5pc1Jlc2VydmVkVGFnPVdyLGxyLmNvbmZpZy5pc1Jlc2VydmVkQXR0cj1rcixsci5jb25maWcuZ2V0VGFnTmFtZXNwYWNlPUdyLGxyLmNvbmZpZy5pc1Vua25vd25FbGVtZW50PUtyLGoobHIub3B0aW9ucy5kaXJlY3RpdmVzLFdpKSxqKGxyLm9wdGlvbnMuY29tcG9uZW50cyxhYSksbHIucHJvdG90eXBlLl9fcGF0Y2hfXz1LP01pOlQsbHIucHJvdG90eXBlLiRtb3VudD1mdW5jdGlvbihlLHQpe3JldHVybiBlPWUmJks/SnIoZSk6dm9pZCAwLFZ0KHRoaXMsZSx0KX0sSyYmc2V0VGltZW91dChmdW5jdGlvbigpe0guZGV2dG9vbHMmJmFlJiZhZS5lbWl0KCJpbml0Iixscil9LDApLHRbImEiXT1scn0pLmNhbGwodGhpcyxuKCJjOGJhIikpfSwiMmI0YyI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjU1MzciKSgid2tzIiksbz1uKCJjYTVhIiksaT1uKCI3NzI2IikuU3ltYm9sLGE9ImZ1bmN0aW9uIj09dHlwZW9mIGksYz1lLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHJbZV18fChyW2VdPWEmJmlbZV18fChhP2k6bykoIlN5bWJvbC4iK2UpKX07Yy5zdG9yZT1yfSwiMmQwMCI6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ITF9LCIyZDk1IjpmdW5jdGlvbihlLHQpe3ZhciBuPXt9LnRvU3RyaW5nO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gbi5jYWxsKGUpLnNsaWNlKDgsLTEpfX0sIjJlYTEiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI2ZjhhIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYoIXIoZSkpcmV0dXJuIGU7dmFyIG4sbztpZih0JiYiZnVuY3Rpb24iPT10eXBlb2Yobj1lLnRvU3RyaW5nKSYmIXIobz1uLmNhbGwoZSkpKXJldHVybiBvO2lmKCJmdW5jdGlvbiI9PXR5cGVvZihuPWUudmFsdWVPZikmJiFyKG89bi5jYWxsKGUpKSlyZXR1cm4gbztpZighdCYmImZ1bmN0aW9uIj09dHlwZW9mKG49ZS50b1N0cmluZykmJiFyKG89bi5jYWxsKGUpKSlyZXR1cm4gbzt0aHJvdyBUeXBlRXJyb3IoIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZSIpfX0sIjJmMTciOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxvPW4oIjRkZTgiKSxpPW4oIjIxZDAiKSxhPXsiW1tEZWZhdWx0VmFsdWVdXSI6ZnVuY3Rpb24oZSl7dmFyIHQ7aWYodD1hcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOiJbb2JqZWN0IERhdGVdIj09PXIuY2FsbChlKT9TdHJpbmc6TnVtYmVyLHQ9PT1TdHJpbmd8fHQ9PT1OdW1iZXIpe3ZhciBuLGEsYz10PT09U3RyaW5nP1sidG9TdHJpbmciLCJ2YWx1ZU9mIl06WyJ2YWx1ZU9mIiwidG9TdHJpbmciXTtmb3IoYT0wO2E8Yy5sZW5ndGg7KythKWlmKGkoZVtjW2FdXSkmJihuPWVbY1thXV0oKSxvKG4pKSlyZXR1cm4gbjt0aHJvdyBuZXcgVHlwZUVycm9yKCJObyBkZWZhdWx0IHZhbHVlIil9dGhyb3cgbmV3IFR5cGVFcnJvcigiaW52YWxpZCBbW0RlZmF1bHRWYWx1ZV1dIGhpbnQgc3VwcGxpZWQiKX19O2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gbyhlKT9lOmFyZ3VtZW50cy5sZW5ndGg+MT9hWyJbW0RlZmF1bHRWYWx1ZV1dIl0oZSxhcmd1bWVudHNbMV0pOmFbIltbRGVmYXVsdFZhbHVlXV0iXShlKX19LCIzMDJmIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiMGY4OSIpLG89bigiZjJmZSIpLGk9bigiMWI1NSIpKCJzcGVjaWVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIG4sYT1yKGUpLmNvbnN0cnVjdG9yO3JldHVybiB2b2lkIDA9PT1hfHx2b2lkIDA9PShuPXIoYSlbaV0pP3Q6byhuKX19LCIzMWMyIjpmdW5jdGlvbihlLHQpe3QuZj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzfSwiMzFmNCI6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPXZvaWQgMD09PW47c3dpdGNoKHQubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIHI/ZSgpOmUuY2FsbChuKTtjYXNlIDE6cmV0dXJuIHI/ZSh0WzBdKTplLmNhbGwobix0WzBdKTtjYXNlIDI6cmV0dXJuIHI/ZSh0WzBdLHRbMV0pOmUuY2FsbChuLHRbMF0sdFsxXSk7Y2FzZSAzOnJldHVybiByP2UodFswXSx0WzFdLHRbMl0pOmUuY2FsbChuLHRbMF0sdFsxXSx0WzJdKTtjYXNlIDQ6cmV0dXJuIHI/ZSh0WzBdLHRbMV0sdFsyXSx0WzNdKTplLmNhbGwobix0WzBdLHRbMV0sdFsyXSx0WzNdKX1yZXR1cm4gZS5hcHBseShuLHQpfX0sIjMyZTkiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI4NmNjIiksbz1uKCI0NjMwIik7ZS5leHBvcnRzPW4oIjllMWUiKT9mdW5jdGlvbihlLHQsbil7cmV0dXJuIHIuZihlLHQsbygxLG4pKX06ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlW3RdPW4sZX19LCIzM2E0IjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiODRmMiIpLG89bigiMmI0YyIpKCJpdGVyYXRvciIpLGk9QXJyYXkucHJvdG90eXBlO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwIT09ZSYmKHIuQXJyYXk9PT1lfHxpW29dPT09ZSl9fSwzNTA0OmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17Y29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ontwb3dlcmVkX2J5OiLnlLEle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR95o6o5YqoIn0sY29pbl9wcmljZV9jaGFydF93aWRnZXQ6eyIyNGhfaGlnaCI6IjI05bCP5pe26auYIiwiMjRoX2xvdyI6IjI05bCP5pe25L2OIix2aWV3X3ByaWNlX2NoYXJ0OiLmtY/op4jku7fmoLzotbDlir/lm74iLHBvd2VyZWRfYnk6IueUsSV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH3mjqjliqgifSxjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ontwb3dlcmVkX2J5OiLnlLEle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR95o6o5YqoIn0sY29pbl9saXN0X3dpZGdldDp7cG93ZXJlZF9ieToi55SxJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfeaOqOWKqCJ9LGJlYW1fd2lkZ2V0Ontwb3dlcmVkX2J5OiLnlLEle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR95o6o5YqoIn0sY29pbl90aWNrZXJfd2lkZ2V0OnsiMjRoX2hpZ2giOiIyNOWwj+aXtumrmCIsIjI0aF9sb3ciOiIyNOWwj+aXtuS9jiIsdmlld19wcmljZV9jaGFydDoi5rWP6KeI5Lu35qC86LWw5Yq/5Zu+Iixwb3dlcmVkX2J5OiLnlLEle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR95o6o5YqoIn0sY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ont2aWV3X3ByaWNlX2NoYXJ0OiLmtY/op4jku7fmoLzotbDlir/lm74iLHBvd2VyZWRfYnk6IueUsSV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH3mjqjliqgifSxjb2luX2hlYXRtYXBfd2lkZ2V0Ont0aXRsZToi5Yqg5a+G6LSn5biB5qCR5Zu+IixzdWJ0aXRsZToi77yI5biC5YC85o6S5ZCN5YmNJXt0b3B977yJIixwb3dlcmVkX2J5OiLnlLEle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR95o6o5YqoIn19fSwiMzZkYyI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImRhM2MiKSxvPW4oImRmMGEiKS5zZXQsaT1yLk11dGF0aW9uT2JzZXJ2ZXJ8fHIuV2ViS2l0TXV0YXRpb25PYnNlcnZlcixhPXIucHJvY2VzcyxjPXIuUHJvbWlzZSxzPSJwcm9jZXNzIj09bigiNmUxZiIpKGEpO2UuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciBlLHQsbix1PWZ1bmN0aW9uKCl7dmFyIHIsbztzJiYocj1hLmRvbWFpbikmJnIuZXhpdCgpO3doaWxlKGUpe289ZS5mbixlPWUubmV4dDt0cnl7bygpfWNhdGNoKGkpe3Rocm93IGU/bigpOnQ9dm9pZCAwLGl9fXQ9dm9pZCAwLHImJnIuZW50ZXIoKX07aWYocyluPWZ1bmN0aW9uKCl7YS5uZXh0VGljayh1KX07ZWxzZSBpZighaXx8ci5uYXZpZ2F0b3ImJnIubmF2aWdhdG9yLnN0YW5kYWxvbmUpaWYoYyYmYy5yZXNvbHZlKXt2YXIgZj1jLnJlc29sdmUodm9pZCAwKTtuPWZ1bmN0aW9uKCl7Zi50aGVuKHUpfX1lbHNlIG49ZnVuY3Rpb24oKXtvLmNhbGwocix1KX07ZWxzZXt2YXIgbD0hMCxwPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKTtuZXcgaSh1KS5vYnNlcnZlKHAse2NoYXJhY3RlckRhdGE6ITB9KSxuPWZ1bmN0aW9uKCl7cC5kYXRhPWw9IWx9fXJldHVybiBmdW5jdGlvbihyKXt2YXIgbz17Zm46cixuZXh0OnZvaWQgMH07dCYmKHQubmV4dD1vKSxlfHwoZT1vLG4oKSksdD1vfX19LDM4NDY6ZnVuY3Rpb24oZSx0LG4pe24oIjllMWUiKSYmImciIT0vLi9nLmZsYWdzJiZuKCI4NmNjIikuZihSZWdFeHAucHJvdG90eXBlLCJmbGFncyIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6bigiMGJmYiIpfSl9LCIzODRmIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiZDEzZiIpLG89bigiMTFmZiIpO3Ioci5HK3IuRioocGFyc2VGbG9hdCE9bykse3BhcnNlRmxvYXQ6b30pfSwiMzhmZCI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjY5YTgiKSxvPW4oIjRiZjgiKSxpPW4oIjYxM2IiKSgiSUVfUFJPVE8iKSxhPU9iamVjdC5wcm90b3R5cGU7ZS5leHBvcnRzPU9iamVjdC5nZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGU9byhlKSxyKGUsaSk/ZVtpXToiZnVuY3Rpb24iPT10eXBlb2YgZS5jb25zdHJ1Y3RvciYmZSBpbnN0YW5jZW9mIGUuY29uc3RydWN0b3I/ZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGU6ZSBpbnN0YW5jZW9mIE9iamVjdD9hOm51bGx9fSwzOTA0OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI4Y2UwIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIG8gaW4gdCluJiZlW29dP2Vbb109dFtvXTpyKGUsbyx0W29dKTtyZXR1cm4gZX19LCIzYWRjIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiMGY4OSIpLG89bigiYTQ3ZiIpLGk9bigiMmVhMSIpLGE9T2JqZWN0LmRlZmluZVByb3BlcnR5O3QuZj1uKCI3ZDk1Iik/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKGUsdCxuKXtpZihyKGUpLHQ9aSh0LCEwKSxyKG4pLG8pdHJ5e3JldHVybiBhKGUsdCxuKX1jYXRjaChjKXt9aWYoImdldCJpbiBufHwic2V0ImluIG4pdGhyb3cgVHlwZUVycm9yKCJBY2Nlc3NvcnMgbm90IHN1cHBvcnRlZCEiKTtyZXR1cm4idmFsdWUiaW4gbiYmKGVbdF09bi52YWx1ZSksZX19LCI0MWEwIjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjJhZWIiKSxvPW4oIjQ2MzAiKSxpPW4oIjdmMjAiKSxhPXt9O24oIjMyZTkiKShhLG4oIjJiNGMiKSgiaXRlcmF0b3IiKSxmdW5jdGlvbigpe3JldHVybiB0aGlzfSksZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXtlLnByb3RvdHlwZT1yKGEse25leHQ6bygxLG4pfSksaShlLHQrIiBJdGVyYXRvciIpfX0sIjQzNmMiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCIxYjU1IikoIml0ZXJhdG9yIiksbz0hMTt0cnl7dmFyIGk9WzddW3JdKCk7aVsicmV0dXJuIl09ZnVuY3Rpb24oKXtvPSEwfSxBcnJheS5mcm9tKGksZnVuY3Rpb24oKXt0aHJvdyAyfSl9Y2F0Y2goYSl7fWUuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKCF0JiYhbylyZXR1cm4hMTt2YXIgbj0hMTt0cnl7dmFyIGk9WzddLGM9aVtyXSgpO2MubmV4dD1mdW5jdGlvbigpe3JldHVybntkb25lOm49ITB9fSxpW3JdPWZ1bmN0aW9uKCl7cmV0dXJuIGN9LGUoaSl9Y2F0Y2goYSl7fXJldHVybiBufX0sIjQzYzgiOmZ1bmN0aW9uKGUsdCl7dmFyIG49e30uaGFzT3duUHJvcGVydHk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4uY2FsbChlLHQpfX0sNDU4ODpmdW5jdGlvbihlLHQpe3ZhciBuPU1hdGguY2VpbCxyPU1hdGguZmxvb3I7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBpc05hTihlPStlKT8wOihlPjA/cjpuKShlKX19LDQ2MzA6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm57ZW51bWVyYWJsZTohKDEmZSksY29uZmlndXJhYmxlOiEoMiZlKSx3cml0YWJsZTohKDQmZSksdmFsdWU6dH19fSwiNGE1OSI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjliNDMiKSxvPW4oIjFmYTgiKSxpPW4oIjMzYTQiKSxhPW4oImNiN2MiKSxjPW4oIjlkZWYiKSxzPW4oIjI3ZWUiKSx1PXt9LGY9e307dD1lLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4sbCxwKXt2YXIgZCxoLHYsbSx5PXA/ZnVuY3Rpb24oKXtyZXR1cm4gZX06cyhlKSxfPXIobixsLHQ/MjoxKSxnPTA7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHkpdGhyb3cgVHlwZUVycm9yKGUrIiBpcyBub3QgaXRlcmFibGUhIik7aWYoaSh5KSl7Zm9yKGQ9YyhlLmxlbmd0aCk7ZD5nO2crKylpZihtPXQ/XyhhKGg9ZVtnXSlbMF0saFsxXSk6XyhlW2ddKSxtPT09dXx8bT09PWYpcmV0dXJuIG19ZWxzZSBmb3Iodj15LmNhbGwoZSk7IShoPXYubmV4dCgpKS5kb25lOylpZihtPW8odixfLGgudmFsdWUsdCksbT09PXV8fG09PT1mKXJldHVybiBtfTt0LkJSRUFLPXUsdC5SRVRVUk49Zn0sIjRiZjgiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJiZTEzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QocihlKSl9fSwiNGRlOCI6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIG51bGw9PT1lfHwiZnVuY3Rpb24iIT09dHlwZW9mIGUmJiJvYmplY3QiIT09dHlwZW9mIGV9fSw1MTc2OmZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9bigiODFlZSIpfSwiNTFlMyI6ZnVuY3Rpb24oZSx0LG4pe3Q9ZS5leHBvcnRzPW4oIjIzNTAiKSghMSksdC5wdXNoKFtlLmksIi5jZy1kZWZhdWx0IHtcbiAgZm9udC1mYW1pbHk6IC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgc2Vnb2UgdWksIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsXG4gICAgYXBwbGUgY29sb3IgZW1vamksIHNlZ29lIHVpIGVtb2ppLCBzZWdvZSB1aSBzeW1ib2w7XG59XG4uY2ctYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG4uY2ctY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuLmNnLXByaW1hcnktY29sb3Ige1xuICBjb2xvcjogIzhkYzY0NyAhaW1wb3J0YW50O1xufVxuLmNnLXByaW1hcnktY29sb3ItZGFyayB7XG4gIGNvbG9yOiAjNGI4ODAwICFpbXBvcnRhbnQ7XG59XG4uY2ctcmVkLWNvbG9yLWRhcmsge1xuICBjb2xvcjogI2MyMjIwZCAhaW1wb3J0YW50O1xufVxuLmNnLXJlZC1jb2xvciB7XG4gIGNvbG9yOiAjZmY2MTRkICFpbXBvcnRhbnQ7XG59XG4uY2ctMnhzIHtcbiAgZm9udC1zaXplOiA4LjhweDsgLyogMC41NXJlbTsgKi9cbn1cbi5jZy14cyB7XG4gIGZvbnQtc2l6ZTogMTAuNHB4OyAvKiAwLjY1cmVtICovXG59XG4uY2ctc20ge1xuICBmb250LXNpemU6IDEyLjhweDsgLyogMC44cmVtICovXG59XG4uY2ctbm9ybWFsIHtcbiAgZm9udC1zaXplOiAxMy42cHg7IC8qIDAuODVyZW0gKi9cbn1cbi5jZy1iYXNlIHtcbiAgZm9udC1zaXplOiAxNnB4OyAvKiAxNnB4ICovXG59XG4uY2ctbWVkaXVtIHtcbiAgZm9udC1zaXplOiAxOS4ycHg7IC8qIDEuMnJlbSAqL1xufVxuLmNnLWxnIHtcbiAgZm9udC1zaXplOiAyNHB4OyAvKiAxLjVyZW0gKi9cbn1cbi5jZy14bCB7XG4gIGZvbnQtc2l6ZTogMzAuNHB4OyAvKiAxLjlyZW0gKi9cbn1cbi5jZy1jYXAge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cbi5jZy1uby11bmRlcmxpbmUge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG4uY2ctbm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLmNnLW0tMCB7XG4gIG1hcmdpbjogMDtcbn1cbi5jZy1tLTEge1xuICBtYXJnaW46IDRweDtcbn1cbi5jZy1tLTIge1xuICBtYXJnaW46IDhweDtcbn1cbi5jZy1tdC0xIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuLmNnLW1iLTEge1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG4uY2ctbWwtMSB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG59XG4uY2ctbXItMSB7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xufVxuLmNnLW10LTIge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG4uY2ctbWwtMiB7XG4gIG1hcmdpbi1sZWZ0OiA4cHg7XG59XG4uY2ctbXItMiB7XG4gIG1hcmdpbi1yaWdodDogOHB4O1xufVxuLmNnLW1iLTIge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG4uY2ctbXgtMSB7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xufVxuLmNnLW15LTEge1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cbi5jZy1teC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDhweDtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG59XG4uY2ctbXktMiB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuLmNnLW15LTUge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uY2ctcC0xIHtcbiAgcGFkZGluZzogNHB4O1xufVxuLmNnLXAtMiB7XG4gIHBhZGRpbmc6IDhweDtcbn1cbi5jZy1wLTMge1xuICBwYWRkaW5nOiAxMnB4O1xufVxuLmNnLXAtNCB7XG4gIHBhZGRpbmc6IDE2cHg7XG59XG4uY2ctcC01IHtcbiAgcGFkZGluZzogMjBweDtcbn1cbi5jZy1wdC0xIHtcbiAgcGFkZGluZy10b3A6IDRweDtcbn1cbi5jZy1wYi0xIHtcbiAgcGFkZGluZy1ib3R0b206IDRweDtcbn1cbi5jZy1wdC0yIHtcbiAgcGFkZGluZy10b3A6IDhweDtcbn1cbi5jZy1wYi0yIHtcbiAgcGFkZGluZy1ib3R0b206IDhweDtcbn1cbi5jZy1wdC0zIHtcbiAgcGFkZGluZy10b3A6IDEycHg7XG59XG4uY2ctcGItMyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xufVxuLmNnLXB5LTEge1xuICBwYWRkaW5nLXRvcDogNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogNHB4O1xufVxuLmNnLXB4LTEge1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xufVxuLmNnLXB5LTIge1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xufVxuLmNnLXB4LTIge1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgcGFkZGluZy1yaWdodDogOHB4O1xufVxuLmNnLXB5LTMge1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG59XG4uY2ctcHgtMyB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDtcbn1cbi5jZy1weC00IHtcbiAgcGFkZGluZy1sZWZ0OiAxNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xufVxuLmNnLXB5LTQge1xuICBwYWRkaW5nLXRvcDogMTZweDtcbiAgcGFkZGluZy1ib3R0b206IDE2cHg7XG59XG4uY2ctcHktNSB7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbn1cbi5jZy1wci0xIHtcbiAgcGFkZGluZy1yaWdodDogNHB4O1xufVxuLmNnLXByLTIge1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG5cbi5jZy1mbGV4IHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuLmNnLWZsZXgtcm93IHtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5jZy1mbGV4LWNvbHVtbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jZy1pdGVtcy1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RyZXRjaDtcbn1cbi5jZy1pdGVtcy1zdGFydCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuLmNnLWl0ZW1zLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uY2ctaXRlbXMtZW5kIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuLmNnLWl0ZW1zLWJhc2VsaW5lIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xufVxuXG4uY2ctanVzdGlmeS1zdGFydCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cbi5jZy1qdXN0aWZ5LWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuLmNnLWp1c3RpZnktZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cbi5jZy1qdXN0aWZ5LWJldHdlZW4ge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4uY2ctanVzdGlmeS1hcm91bmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLmNnLXNlbGYtYXV0byB7XG4gIGFsaWduLXNlbGY6IGF1dG87XG59XG4uY2ctc2VsZi1zdGFydCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG59XG4uY2ctc2VsZi1jZW50ZXIge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG59XG4uY2ctc2VsZi1lbmQge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbn1cbi5jZy1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4uY2ctcmVsYXRpdmUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uY2ctYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG4uY2ctYmxvY2sge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIiJdKX0sIjUyMGEiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiMGJmYiIpLG89UmVnRXhwLnByb3RvdHlwZS5leGVjLGk9U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLGE9byxjPSJsYXN0SW5kZXgiLHM9ZnVuY3Rpb24oKXt2YXIgZT0vYS8sdD0vYiovZztyZXR1cm4gby5jYWxsKGUsImEiKSxvLmNhbGwodCwiYSIpLDAhPT1lW2NdfHwwIT09dFtjXX0oKSx1PXZvaWQgMCE9PS8oKT8/Ly5leGVjKCIiKVsxXSxmPXN8fHU7ZiYmKGE9ZnVuY3Rpb24oZSl7dmFyIHQsbixhLGYsbD10aGlzO3JldHVybiB1JiYobj1uZXcgUmVnRXhwKCJeIitsLnNvdXJjZSsiJCg/IVxccykiLHIuY2FsbChsKSkpLHMmJih0PWxbY10pLGE9by5jYWxsKGwsZSkscyYmYSYmKGxbY109bC5nbG9iYWw/YS5pbmRleCthWzBdLmxlbmd0aDp0KSx1JiZhJiZhLmxlbmd0aD4xJiZpLmNhbGwoYVswXSxuLGZ1bmN0aW9uKCl7Zm9yKGY9MTtmPGFyZ3VtZW50cy5sZW5ndGgtMjtmKyspdm9pZCAwPT09YXJndW1lbnRzW2ZdJiYoYVtmXT12b2lkIDApfSksYX0pLGUuZXhwb3J0cz1hfSwiNTJhNyI6ZnVuY3Rpb24oZSx0KXt0LmY9e30ucHJvcGVydHlJc0VudW1lcmFibGV9LDUzMDk6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCwiYSIsZnVuY3Rpb24oKXtyZXR1cm4gcn0pO3ZhciByPXtjdXN0b21FbGVtZW50OntzcmM6Imh0dHBzOi8vY2RuanMuY2xvdWRmbGFyZS5jb20vYWpheC9saWJzL2RvY3VtZW50LXJlZ2lzdGVyLWVsZW1lbnQvMS4xMS4xL2RvY3VtZW50LXJlZ2lzdGVyLWVsZW1lbnQuanMiLGludGVncml0eToic2hhMzg0LXpBNlY0Y2hZRkdnc2V6aDF5QVF6dXMyVk5VY3lUeUdJM05PN0w1cEVpRThBT1h2M0VDK09TMkMvLzcyVlU2TWcifSxmZXRjaDp7c3JjOiJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9mZXRjaC8yLjAuNC9mZXRjaC5taW4uanMiLGludGVncml0eToic2hhMzg0LTJra3Vxd1NDRnplMXk3VWNBZWpVSDZ3dDJNcFE0bmFhKyt6V1AwU3h5VUMvam53cTkxU0FmZTE0UkFydVh0blYifSxjc3N2YXI6e3NyYzoiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jc3MtdmFycy1wb255ZmlsbEAxLjE2LjIiLGludGVncml0eToic2hhMzg0LTRzVlZzdEdBWDVFRUhRenhzZmYwNUNlZFk0NlVWalhPTWNVNWVsdTk0dnp0RzViTzJWU0FxNjlEMVpQR1BMNUUifX19LCI1NTFjIjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByLG8saSxhLGM9bigiMmQwMCIpLHM9bigiNzcyNiIpLHU9bigiOWI0MyIpLGY9bigiMjNjNiIpLGw9bigiNWNhMSIpLHA9bigiZDNmNCIpLGQ9bigiZDhlOCIpLGg9bigiZjYwNSIpLHY9bigiNGE1OSIpLG09bigiZWJkNiIpLHk9bigiMTk5MSIpLnNldCxfPW4oIjgwNzkiKSgpLGc9bigiYTViOCIpLGI9bigiOWM4MCIpLHc9bigiYTI1ZiIpLHg9bigiYmNhYSIpLEM9IlByb21pc2UiLFM9cy5UeXBlRXJyb3IsQT1zLnByb2Nlc3Msaz1BJiZBLnZlcnNpb25zLE89ayYmay52OHx8IiIsUD1zW0NdLCQ9InByb2Nlc3MiPT1mKEEpLGo9ZnVuY3Rpb24oKXt9LEU9bz1nLmYsVD0hIWZ1bmN0aW9uKCl7dHJ5e3ZhciBlPVAucmVzb2x2ZSgxKSx0PShlLmNvbnN0cnVjdG9yPXt9KVtuKCIyYjRjIikoInNwZWNpZXMiKV09ZnVuY3Rpb24oZSl7ZShqLGopfTtyZXR1cm4oJHx8ImZ1bmN0aW9uIj09dHlwZW9mIFByb21pc2VSZWplY3Rpb25FdmVudCkmJmUudGhlbihqKWluc3RhbmNlb2YgdCYmMCE9PU8uaW5kZXhPZigiNi42IikmJi0xPT09dy5pbmRleE9mKCJDaHJvbWUvNjYiKX1jYXRjaChyKXt9fSgpLEk9ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuISghcChlKXx8ImZ1bmN0aW9uIiE9dHlwZW9mKHQ9ZS50aGVuKSkmJnR9LE09ZnVuY3Rpb24oZSx0KXtpZighZS5fbil7ZS5fbj0hMDt2YXIgbj1lLl9jO18oZnVuY3Rpb24oKXt2YXIgcj1lLl92LG89MT09ZS5fcyxpPTAsYT1mdW5jdGlvbih0KXt2YXIgbixpLGEsYz1vP3Qub2s6dC5mYWlsLHM9dC5yZXNvbHZlLHU9dC5yZWplY3QsZj10LmRvbWFpbjt0cnl7Yz8ob3x8KDI9PWUuX2gmJkYoZSksZS5faD0xKSwhMD09PWM/bj1yOihmJiZmLmVudGVyKCksbj1jKHIpLGYmJihmLmV4aXQoKSxhPSEwKSksbj09PXQucHJvbWlzZT91KFMoIlByb21pc2UtY2hhaW4gY3ljbGUiKSk6KGk9SShuKSk/aS5jYWxsKG4scyx1KTpzKG4pKTp1KHIpfWNhdGNoKGwpe2YmJiFhJiZmLmV4aXQoKSx1KGwpfX07d2hpbGUobi5sZW5ndGg+aSlhKG5baSsrXSk7ZS5fYz1bXSxlLl9uPSExLHQmJiFlLl9oJiZEKGUpfSl9fSxEPWZ1bmN0aW9uKGUpe3kuY2FsbChzLGZ1bmN0aW9uKCl7dmFyIHQsbixyLG89ZS5fdixpPUwoZSk7aWYoaSYmKHQ9YihmdW5jdGlvbigpeyQ/QS5lbWl0KCJ1bmhhbmRsZWRSZWplY3Rpb24iLG8sZSk6KG49cy5vbnVuaGFuZGxlZHJlamVjdGlvbik/bih7cHJvbWlzZTplLHJlYXNvbjpvfSk6KHI9cy5jb25zb2xlKSYmci5lcnJvciYmci5lcnJvcigiVW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uIixvKX0pLGUuX2g9JHx8TChlKT8yOjEpLGUuX2E9dm9pZCAwLGkmJnQuZSl0aHJvdyB0LnZ9KX0sTD1mdW5jdGlvbihlKXtyZXR1cm4gMSE9PWUuX2gmJjA9PT0oZS5fYXx8ZS5fYykubGVuZ3RofSxGPWZ1bmN0aW9uKGUpe3kuY2FsbChzLGZ1bmN0aW9uKCl7dmFyIHQ7JD9BLmVtaXQoInJlamVjdGlvbkhhbmRsZWQiLGUpOih0PXMub25yZWplY3Rpb25oYW5kbGVkKSYmdCh7cHJvbWlzZTplLHJlYXNvbjplLl92fSl9KX0sTj1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3QuX2R8fCh0Ll9kPSEwLHQ9dC5fd3x8dCx0Ll92PWUsdC5fcz0yLHQuX2F8fCh0Ll9hPXQuX2Muc2xpY2UoKSksTSh0LCEwKSl9LFI9ZnVuY3Rpb24oZSl7dmFyIHQsbj10aGlzO2lmKCFuLl9kKXtuLl9kPSEwLG49bi5fd3x8bjt0cnl7aWYobj09PWUpdGhyb3cgUygiUHJvbWlzZSBjYW4ndCBiZSByZXNvbHZlZCBpdHNlbGYiKTsodD1JKGUpKT9fKGZ1bmN0aW9uKCl7dmFyIHI9e193Om4sX2Q6ITF9O3RyeXt0LmNhbGwoZSx1KFIsciwxKSx1KE4sciwxKSl9Y2F0Y2gobyl7Ti5jYWxsKHIsbyl9fSk6KG4uX3Y9ZSxuLl9zPTEsTShuLCExKSl9Y2F0Y2gocil7Ti5jYWxsKHtfdzpuLF9kOiExfSxyKX19fTtUfHwoUD1mdW5jdGlvbihlKXtoKHRoaXMsUCxDLCJfaCIpLGQoZSksci5jYWxsKHRoaXMpO3RyeXtlKHUoUix0aGlzLDEpLHUoTix0aGlzLDEpKX1jYXRjaCh0KXtOLmNhbGwodGhpcyx0KX19LHI9ZnVuY3Rpb24oZSl7dGhpcy5fYz1bXSx0aGlzLl9hPXZvaWQgMCx0aGlzLl9zPTAsdGhpcy5fZD0hMSx0aGlzLl92PXZvaWQgMCx0aGlzLl9oPTAsdGhpcy5fbj0hMX0sci5wcm90b3R5cGU9bigiZGNiYyIpKFAucHJvdG90eXBlLHt0aGVuOmZ1bmN0aW9uKGUsdCl7dmFyIG49RShtKHRoaXMsUCkpO3JldHVybiBuLm9rPSJmdW5jdGlvbiIhPXR5cGVvZiBlfHxlLG4uZmFpbD0iZnVuY3Rpb24iPT10eXBlb2YgdCYmdCxuLmRvbWFpbj0kP0EuZG9tYWluOnZvaWQgMCx0aGlzLl9jLnB1c2gobiksdGhpcy5fYSYmdGhpcy5fYS5wdXNoKG4pLHRoaXMuX3MmJk0odGhpcywhMSksbi5wcm9taXNlfSxjYXRjaDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy50aGVuKHZvaWQgMCxlKX19KSxpPWZ1bmN0aW9uKCl7dmFyIGU9bmV3IHI7dGhpcy5wcm9taXNlPWUsdGhpcy5yZXNvbHZlPXUoUixlLDEpLHRoaXMucmVqZWN0PXUoTixlLDEpfSxnLmY9RT1mdW5jdGlvbihlKXtyZXR1cm4gZT09PVB8fGU9PT1hP25ldyBpKGUpOm8oZSl9KSxsKGwuRytsLlcrbC5GKiFULHtQcm9taXNlOlB9KSxuKCI3ZjIwIikoUCxDKSxuKCI3YTU2IikoQyksYT1uKCI4Mzc4IilbQ10sbChsLlMrbC5GKiFULEMse3JlamVjdDpmdW5jdGlvbihlKXt2YXIgdD1FKHRoaXMpLG49dC5yZWplY3Q7cmV0dXJuIG4oZSksdC5wcm9taXNlfX0pLGwobC5TK2wuRiooY3x8IVQpLEMse3Jlc29sdmU6ZnVuY3Rpb24oZSl7cmV0dXJuIHgoYyYmdGhpcz09PWE/UDp0aGlzLGUpfX0pLGwobC5TK2wuRiohKFQmJm4oIjVjYzUiKShmdW5jdGlvbihlKXtQLmFsbChlKVsiY2F0Y2giXShqKX0pKSxDLHthbGw6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPUUodCkscj1uLnJlc29sdmUsbz1uLnJlamVjdCxpPWIoZnVuY3Rpb24oKXt2YXIgbj1bXSxpPTAsYT0xO3YoZSwhMSxmdW5jdGlvbihlKXt2YXIgYz1pKysscz0hMTtuLnB1c2godm9pZCAwKSxhKyssdC5yZXNvbHZlKGUpLnRoZW4oZnVuY3Rpb24oZSl7c3x8KHM9ITAsbltjXT1lLC0tYXx8cihuKSl9LG8pfSksLS1hfHxyKG4pfSk7cmV0dXJuIGkuZSYmbyhpLnYpLG4ucHJvbWlzZX0scmFjZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLG49RSh0KSxyPW4ucmVqZWN0LG89YihmdW5jdGlvbigpe3YoZSwhMSxmdW5jdGlvbihlKXt0LnJlc29sdmUoZSkudGhlbihuLnJlc29sdmUscil9KX0pO3JldHVybiBvLmUmJnIoby52KSxuLnByb21pc2V9fSl9LDU1Mzc6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjgzNzgiKSxvPW4oIjc3MjYiKSxpPSJfX2NvcmUtanNfc2hhcmVkX18iLGE9b1tpXXx8KG9baV09e30pOyhlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYVtlXXx8KGFbZV09dm9pZCAwIT09dD90Ont9KX0pKCJ2ZXJzaW9ucyIsW10pLnB1c2goe3ZlcnNpb246ci52ZXJzaW9uLG1vZGU6bigiMmQwMCIpPyJwdXJlIjoiZ2xvYmFsIixjb3B5cmlnaHQ6IsKpIDIwMTkgRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSkifSl9LCI1NjBiIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiYmMyNSIpLG89bigiOWM5MyIpLGk9bigiYzIyNyIpLGE9bigiMGY4OSIpLGM9bigiYTVhYiIpLHM9bigiZjE1OSIpLHU9e30sZj17fTt0PWUuZXhwb3J0cz1mdW5jdGlvbihlLHQsbixsLHApe3ZhciBkLGgsdixtLHk9cD9mdW5jdGlvbigpe3JldHVybiBlfTpzKGUpLF89cihuLGwsdD8yOjEpLGc9MDtpZigiZnVuY3Rpb24iIT10eXBlb2YgeSl0aHJvdyBUeXBlRXJyb3IoZSsiIGlzIG5vdCBpdGVyYWJsZSEiKTtpZihpKHkpKXtmb3IoZD1jKGUubGVuZ3RoKTtkPmc7ZysrKWlmKG09dD9fKGEoaD1lW2ddKVswXSxoWzFdKTpfKGVbZ10pLG09PT11fHxtPT09ZilyZXR1cm4gbX1lbHNlIGZvcih2PXkuY2FsbChlKTshKGg9di5uZXh0KCkpLmRvbmU7KWlmKG09byh2LF8saC52YWx1ZSx0KSxtPT09dXx8bT09PWYpcmV0dXJuIG19O3QuQlJFQUs9dSx0LlJFVFVSTj1mfSwiNTYyZSI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIwZjdjIiksbz1uKCIwZjAxIiksaT1yLmNhbGwoRnVuY3Rpb24uY2FsbCxTdHJpbmcucHJvdG90eXBlLnJlcGxhY2UpLGE9L15bXHgwOVx4MEFceDBCXHgwQ1x4MERceDIwXHhBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMFx1MjAyOFx1MjAyOVx1RkVGRl0rLyxjPS9bXHgwOVx4MEFceDBCXHgwQ1x4MERceDIwXHhBMFx1MTY4MFx1MTgwRVx1MjAwMFx1MjAwMVx1MjAwMlx1MjAwM1x1MjAwNFx1MjAwNVx1MjAwNlx1MjAwN1x1MjAwOFx1MjAwOVx1MjAwQVx1MjAyRlx1MjA1Rlx1MzAwMFx1MjAyOFx1MjAyOVx1RkVGRl0rJC87ZS5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIGU9by5Ub1N0cmluZyhvLkNoZWNrT2JqZWN0Q29lcmNpYmxlKHRoaXMpKTtyZXR1cm4gaShpKGUsYSwiIiksYywiIil9fSwiNTY1ZCI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjZhOWIiKSxvPW4oImQ4NzYiKS5mLGk9e30udG9TdHJpbmcsYT0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93JiZPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcz9PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3aW5kb3cpOltdLGM9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBvKGUpfWNhdGNoKHQpe3JldHVybiBhLnNsaWNlKCl9fTtlLmV4cG9ydHMuZj1mdW5jdGlvbihlKXtyZXR1cm4gYSYmIltvYmplY3QgV2luZG93XSI9PWkuY2FsbChlKT9jKGUpOm8ocihlKSl9fSw1OTI3OmZ1bmN0aW9uKGUsdCxuKXtuKCI5M2M0IiksbigiYjQyYyIpLGUuZXhwb3J0cz1uKCJmZGExIikuZigiaXRlcmF0b3IiKX0sNTk3NTpmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gZT49MD8xOi0xfX0sIjU5YWQiOmZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9bigiMDk2NSIpfSwiNWI1ZiI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcixvLGksYSxjPW4oImI0NTciKSxzPW4oImRhM2MiKSx1PW4oImJjMjUiKSxmPW4oIjdkOGEiKSxsPW4oImQxM2YiKSxwPW4oIjZmOGEiKSxkPW4oImYyZmUiKSxoPW4oImIwYmMiKSx2PW4oIjU2MGIiKSxtPW4oIjMwMmYiKSx5PW4oImRmMGEiKS5zZXQsXz1uKCIzNmRjIikoKSxnPW4oIjAzY2EiKSxiPW4oIjc1YzkiKSx3PW4oIjhhMTIiKSx4PW4oImRlY2YiKSxDPSJQcm9taXNlIixTPXMuVHlwZUVycm9yLEE9cy5wcm9jZXNzLGs9QSYmQS52ZXJzaW9ucyxPPWsmJmsudjh8fCIiLFA9c1tDXSwkPSJwcm9jZXNzIj09ZihBKSxqPWZ1bmN0aW9uKCl7fSxFPW89Zy5mLFQ9ISFmdW5jdGlvbigpe3RyeXt2YXIgZT1QLnJlc29sdmUoMSksdD0oZS5jb25zdHJ1Y3Rvcj17fSlbbigiMWI1NSIpKCJzcGVjaWVzIildPWZ1bmN0aW9uKGUpe2UoaixqKX07cmV0dXJuKCR8fCJmdW5jdGlvbiI9PXR5cGVvZiBQcm9taXNlUmVqZWN0aW9uRXZlbnQpJiZlLnRoZW4oailpbnN0YW5jZW9mIHQmJjAhPT1PLmluZGV4T2YoIjYuNiIpJiYtMT09PXcuaW5kZXhPZigiQ2hyb21lLzY2Iil9Y2F0Y2gocil7fX0oKSxJPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiEoIXAoZSl8fCJmdW5jdGlvbiIhPXR5cGVvZih0PWUudGhlbikpJiZ0fSxNPWZ1bmN0aW9uKGUsdCl7aWYoIWUuX24pe2UuX249ITA7dmFyIG49ZS5fYztfKGZ1bmN0aW9uKCl7dmFyIHI9ZS5fdixvPTE9PWUuX3MsaT0wLGE9ZnVuY3Rpb24odCl7dmFyIG4saSxhLGM9bz90Lm9rOnQuZmFpbCxzPXQucmVzb2x2ZSx1PXQucmVqZWN0LGY9dC5kb21haW47dHJ5e2M/KG98fCgyPT1lLl9oJiZGKGUpLGUuX2g9MSksITA9PT1jP249cjooZiYmZi5lbnRlcigpLG49YyhyKSxmJiYoZi5leGl0KCksYT0hMCkpLG49PT10LnByb21pc2U/dShTKCJQcm9taXNlLWNoYWluIGN5Y2xlIikpOihpPUkobikpP2kuY2FsbChuLHMsdSk6cyhuKSk6dShyKX1jYXRjaChsKXtmJiYhYSYmZi5leGl0KCksdShsKX19O3doaWxlKG4ubGVuZ3RoPmkpYShuW2krK10pO2UuX2M9W10sZS5fbj0hMSx0JiYhZS5faCYmRChlKX0pfX0sRD1mdW5jdGlvbihlKXt5LmNhbGwocyxmdW5jdGlvbigpe3ZhciB0LG4scixvPWUuX3YsaT1MKGUpO2lmKGkmJih0PWIoZnVuY3Rpb24oKXskP0EuZW1pdCgidW5oYW5kbGVkUmVqZWN0aW9uIixvLGUpOihuPXMub251bmhhbmRsZWRyZWplY3Rpb24pP24oe3Byb21pc2U6ZSxyZWFzb246b30pOihyPXMuY29uc29sZSkmJnIuZXJyb3ImJnIuZXJyb3IoIlVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbiIsbyl9KSxlLl9oPSR8fEwoZSk/MjoxKSxlLl9hPXZvaWQgMCxpJiZ0LmUpdGhyb3cgdC52fSl9LEw9ZnVuY3Rpb24oZSl7cmV0dXJuIDEhPT1lLl9oJiYwPT09KGUuX2F8fGUuX2MpLmxlbmd0aH0sRj1mdW5jdGlvbihlKXt5LmNhbGwocyxmdW5jdGlvbigpe3ZhciB0OyQ/QS5lbWl0KCJyZWplY3Rpb25IYW5kbGVkIixlKToodD1zLm9ucmVqZWN0aW9uaGFuZGxlZCkmJnQoe3Byb21pc2U6ZSxyZWFzb246ZS5fdn0pfSl9LE49ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0Ll9kfHwodC5fZD0hMCx0PXQuX3d8fHQsdC5fdj1lLHQuX3M9Mix0Ll9hfHwodC5fYT10Ll9jLnNsaWNlKCkpLE0odCwhMCkpfSxSPWZ1bmN0aW9uKGUpe3ZhciB0LG49dGhpcztpZighbi5fZCl7bi5fZD0hMCxuPW4uX3d8fG47dHJ5e2lmKG49PT1lKXRocm93IFMoIlByb21pc2UgY2FuJ3QgYmUgcmVzb2x2ZWQgaXRzZWxmIik7KHQ9SShlKSk/XyhmdW5jdGlvbigpe3ZhciByPXtfdzpuLF9kOiExfTt0cnl7dC5jYWxsKGUsdShSLHIsMSksdShOLHIsMSkpfWNhdGNoKG8pe04uY2FsbChyLG8pfX0pOihuLl92PWUsbi5fcz0xLE0obiwhMSkpfWNhdGNoKHIpe04uY2FsbCh7X3c6bixfZDohMX0scil9fX07VHx8KFA9ZnVuY3Rpb24oZSl7aCh0aGlzLFAsQywiX2giKSxkKGUpLHIuY2FsbCh0aGlzKTt0cnl7ZSh1KFIsdGhpcywxKSx1KE4sdGhpcywxKSl9Y2F0Y2godCl7Ti5jYWxsKHRoaXMsdCl9fSxyPWZ1bmN0aW9uKGUpe3RoaXMuX2M9W10sdGhpcy5fYT12b2lkIDAsdGhpcy5fcz0wLHRoaXMuX2Q9ITEsdGhpcy5fdj12b2lkIDAsdGhpcy5faD0wLHRoaXMuX249ITF9LHIucHJvdG90eXBlPW4oIjM5MDQiKShQLnByb3RvdHlwZSx7dGhlbjpmdW5jdGlvbihlLHQpe3ZhciBuPUUobSh0aGlzLFApKTtyZXR1cm4gbi5vaz0iZnVuY3Rpb24iIT10eXBlb2YgZXx8ZSxuLmZhaWw9ImZ1bmN0aW9uIj09dHlwZW9mIHQmJnQsbi5kb21haW49JD9BLmRvbWFpbjp2b2lkIDAsdGhpcy5fYy5wdXNoKG4pLHRoaXMuX2EmJnRoaXMuX2EucHVzaChuKSx0aGlzLl9zJiZNKHRoaXMsITEpLG4ucHJvbWlzZX0sY2F0Y2g6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAsZSl9fSksaT1mdW5jdGlvbigpe3ZhciBlPW5ldyByO3RoaXMucHJvbWlzZT1lLHRoaXMucmVzb2x2ZT11KFIsZSwxKSx0aGlzLnJlamVjdD11KE4sZSwxKX0sZy5mPUU9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9PT1QfHxlPT09YT9uZXcgaShlKTpvKGUpfSksbChsLkcrbC5XK2wuRiohVCx7UHJvbWlzZTpQfSksbigiYzBkOCIpKFAsQyksbigiMWJlNCIpKEMpLGE9bigiYTdkMyIpW0NdLGwobC5TK2wuRiohVCxDLHtyZWplY3Q6ZnVuY3Rpb24oZSl7dmFyIHQ9RSh0aGlzKSxuPXQucmVqZWN0O3JldHVybiBuKGUpLHQucHJvbWlzZX19KSxsKGwuUytsLkYqKGN8fCFUKSxDLHtyZXNvbHZlOmZ1bmN0aW9uKGUpe3JldHVybiB4KGMmJnRoaXM9PT1hP1A6dGhpcyxlKX19KSxsKGwuUytsLkYqIShUJiZuKCI0MzZjIikoZnVuY3Rpb24oZSl7UC5hbGwoZSlbImNhdGNoIl0oail9KSksQyx7YWxsOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMsbj1FKHQpLHI9bi5yZXNvbHZlLG89bi5yZWplY3QsaT1iKGZ1bmN0aW9uKCl7dmFyIG49W10saT0wLGE9MTt2KGUsITEsZnVuY3Rpb24oZSl7dmFyIGM9aSsrLHM9ITE7bi5wdXNoKHZvaWQgMCksYSsrLHQucmVzb2x2ZShlKS50aGVuKGZ1bmN0aW9uKGUpe3N8fChzPSEwLG5bY109ZSwtLWF8fHIobikpfSxvKX0pLC0tYXx8cihuKX0pO3JldHVybiBpLmUmJm8oaS52KSxuLnByb21pc2V9LHJhY2U6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPUUodCkscj1uLnJlamVjdCxvPWIoZnVuY3Rpb24oKXt2KGUsITEsZnVuY3Rpb24oZSl7dC5yZXNvbHZlKGUpLnRoZW4obi5yZXNvbHZlLHIpfSl9KTtyZXR1cm4gby5lJiZyKG8udiksbi5wcm9taXNlfX0pfSwiNWNhMSI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjc3MjYiKSxvPW4oIjgzNzgiKSxpPW4oIjMyZTkiKSxhPW4oIjJhYmEiKSxjPW4oIjliNDMiKSxzPSJwcm90b3R5cGUiLHU9ZnVuY3Rpb24oZSx0LG4pe3ZhciBmLGwscCxkLGg9ZSZ1LkYsdj1lJnUuRyxtPWUmdS5TLHk9ZSZ1LlAsXz1lJnUuQixnPXY/cjptP3JbdF18fChyW3RdPXt9KTooclt0XXx8e30pW3NdLGI9dj9vOm9bdF18fChvW3RdPXt9KSx3PWJbc118fChiW3NdPXt9KTtmb3IoZiBpbiB2JiYobj10KSxuKWw9IWgmJmcmJnZvaWQgMCE9PWdbZl0scD0obD9nOm4pW2ZdLGQ9XyYmbD9jKHAscik6eSYmImZ1bmN0aW9uIj09dHlwZW9mIHA/YyhGdW5jdGlvbi5jYWxsLHApOnAsZyYmYShnLGYscCxlJnUuVSksYltmXSE9cCYmaShiLGYsZCkseSYmd1tmXSE9cCYmKHdbZl09cCl9O3IuY29yZT1vLHUuRj0xLHUuRz0yLHUuUz00LHUuUD04LHUuQj0xNix1Llc9MzIsdS5VPTY0LHUuUj0xMjgsZS5leHBvcnRzPXV9LCI1Y2M1IjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiMmI0YyIpKCJpdGVyYXRvciIpLG89ITE7dHJ5e3ZhciBpPVs3XVtyXSgpO2lbInJldHVybiJdPWZ1bmN0aW9uKCl7bz0hMH0sQXJyYXkuZnJvbShpLGZ1bmN0aW9uKCl7dGhyb3cgMn0pfWNhdGNoKGEpe31lLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtpZighdCYmIW8pcmV0dXJuITE7dmFyIG49ITE7dHJ5e3ZhciBpPVs3XSxjPWlbcl0oKTtjLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm57ZG9uZTpuPSEwfX0saVtyXT1mdW5jdGlvbigpe3JldHVybiBjfSxlKGkpfWNhdGNoKGEpe31yZXR1cm4gbn19LCI1Y2U3IjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjcxMDgiKSxvPW4oImY4NDUiKSxpPW4oImMwZDgiKSxhPXt9O24oIjhjZTAiKShhLG4oIjFiNTUiKSgiaXRlcmF0b3IiKSxmdW5jdGlvbigpe3JldHVybiB0aGlzfSksZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXtlLnByb3RvdHlwZT1yKGEse25leHQ6bygxLG4pfSksaShlLHQrIiBJdGVyYXRvciIpfX0sIjVkNTgiOmZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9bigiNTkyNyIpfSwiNWQ2NyI6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPXtjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IkZvcm5lY2lkbyBwb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0OnsiMjRoX2hpZ2giOiJBbHRhIGRlIDI0aCIsIjI0aF9sb3ciOiJCYWl4YSBkZSAyNGgiLHZpZXdfcHJpY2VfY2hhcnQ6IlZlciB0YWJlbGEgZGUgcHJlw6dvcyIscG93ZXJlZF9ieToiRm9ybmVjaWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldDp7cG93ZXJlZF9ieToiRm9ybmVjaWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9saXN0X3dpZGdldDp7cG93ZXJlZF9ieToiRm9ybmVjaWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sYmVhbV93aWRnZXQ6e3Bvd2VyZWRfYnk6IkZvcm5lY2lkbyBwb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fdGlja2VyX3dpZGdldDp7IjI0aF9oaWdoIjoiQWx0YSBkZSAyNGgiLCIyNGhfbG93IjoiQmFpeGEgZGUgMjRoIix2aWV3X3ByaWNlX2NoYXJ0OiJWZXIgdGFiZWxhIGRlIHByZcOnb3MiLHBvd2VyZWRfYnk6IkZvcm5lY2lkbyBwb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fY29udmVydGVyX3dpZGdldDp7dmlld19wcmljZV9jaGFydDoiVmVyIHRhYmVsYSBkZSBwcmXDp29zIixwb3dlcmVkX2J5OiJGb3JuZWNpZG8gcG9yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2hlYXRtYXBfd2lkZ2V0Ont0aXRsZToiTWFwYSBkZSDDoXJ2b3JlIGRlIGNyaXB0b21vZWRhcyIsc3VidGl0bGU6IihUb3AgJXt0b3B9IHBvciBjYXBpdGFsaXphw6fDo28gZGUgbWVyY2FkbykiLHBvd2VyZWRfYnk6IkZvcm5lY2lkbyBwb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9fX0sIjVkOGYiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI3NzcyIikoImtleXMiKSxvPW4oIjdiMDAiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHJbZV18fChyW2VdPW8oZSkpfX0sIjVkYmMiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJkM2Y0Iiksbz1uKCI4Yjk3Iikuc2V0O2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbil7dmFyIGksYT10LmNvbnN0cnVjdG9yO3JldHVybiBhIT09biYmImZ1bmN0aW9uIj09dHlwZW9mIGEmJihpPWEucHJvdG90eXBlKSE9PW4ucHJvdG90eXBlJiZyKGkpJiZvJiZvKGUsaSksZX19LCI1ZGYzIjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjAyZjQiKSghMCk7bigiMDFmOSIpKFN0cmluZywiU3RyaW5nIixmdW5jdGlvbihlKXt0aGlzLl90PVN0cmluZyhlKSx0aGlzLl9pPTB9LGZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLl90LG49dGhpcy5faTtyZXR1cm4gbj49dC5sZW5ndGg/e3ZhbHVlOnZvaWQgMCxkb25lOiEwfTooZT1yKHQsbiksdGhpcy5faSs9ZS5sZW5ndGgse3ZhbHVlOmUsZG9uZTohMX0pfSl9LCI1ZjFiIjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjIzYzYiKSxvPVJlZ0V4cC5wcm90b3R5cGUuZXhlYztlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmV4ZWM7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBuKXt2YXIgaT1uLmNhbGwoZSx0KTtpZigib2JqZWN0IiE9PXR5cGVvZiBpKXRocm93IG5ldyBUeXBlRXJyb3IoIlJlZ0V4cCBleGVjIG1ldGhvZCByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBPYmplY3Qgb3IgbnVsbCIpO3JldHVybiBpfWlmKCJSZWdFeHAiIT09cihlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJSZWdFeHAjZXhlYyBjYWxsZWQgb24gaW5jb21wYXRpYmxlIHJlY2VpdmVyIik7cmV0dXJuIG8uY2FsbChlLHQpfX0sIjYxM2IiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI1NTM3IikoImtleXMiKSxvPW4oImNhNWEiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIHJbZV18fChyW2VdPW8oZSkpfX0sIjYyNmEiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCIyZDk1Iik7ZS5leHBvcnRzPU9iamVjdCgieiIpLnByb3BlcnR5SXNFbnVtZXJhYmxlKDApP09iamVjdDpmdW5jdGlvbihlKXtyZXR1cm4iU3RyaW5nIj09cihlKT9lLnNwbGl0KCIiKTpPYmplY3QoZSl9fSwiNjI2ZSI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImQ3NGUiKSxvPW4oImY4NDUiKSxpPW4oIjZhOWIiKSxhPW4oIjJlYTEiKSxjPW4oIjQzYzgiKSxzPW4oImE0N2YiKSx1PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7dC5mPW4oIjdkOTUiKT91OmZ1bmN0aW9uKGUsdCl7aWYoZT1pKGUpLHQ9YSh0LCEwKSxzKXRyeXtyZXR1cm4gdShlLHQpfWNhdGNoKG4pe31pZihjKGUsdCkpcmV0dXJuIG8oIXIuZi5jYWxsKGUsdCksZVt0XSl9fSw2Mjc3OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI3YjAwIikoIm1ldGEiKSxvPW4oIjZmOGEiKSxpPW4oIjQzYzgiKSxhPW4oIjNhZGMiKS5mLGM9MCxzPU9iamVjdC5pc0V4dGVuc2libGV8fGZ1bmN0aW9uKCl7cmV0dXJuITB9LHU9IW4oImQ3ODIiKShmdW5jdGlvbigpe3JldHVybiBzKE9iamVjdC5wcmV2ZW50RXh0ZW5zaW9ucyh7fSkpfSksZj1mdW5jdGlvbihlKXthKGUscix7dmFsdWU6e2k6Ik8iKyArK2Msdzp7fX19KX0sbD1mdW5jdGlvbihlLHQpe2lmKCFvKGUpKXJldHVybiJzeW1ib2wiPT10eXBlb2YgZT9lOigic3RyaW5nIj09dHlwZW9mIGU/IlMiOiJQIikrZTtpZighaShlLHIpKXtpZighcyhlKSlyZXR1cm4iRiI7aWYoIXQpcmV0dXJuIkUiO2YoZSl9cmV0dXJuIGVbcl0uaX0scD1mdW5jdGlvbihlLHQpe2lmKCFpKGUscikpe2lmKCFzKGUpKXJldHVybiEwO2lmKCF0KXJldHVybiExO2YoZSl9cmV0dXJuIGVbcl0ud30sZD1mdW5jdGlvbihlKXtyZXR1cm4gdSYmaC5ORUVEJiZzKGUpJiYhaShlLHIpJiZmKGUpLGV9LGg9ZS5leHBvcnRzPXtLRVk6cixORUVEOiExLGZhc3RLZXk6bCxnZXRXZWFrOnAsb25GcmVlemU6ZH19LCI2MzNhIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiZDEzZiIpLG89bigiZTVmYSIpLGk9bigiZDc4MiIpLGE9bigiNzAyYSIpLGM9IlsiK2ErIl0iLHM9IuKAi8KFIix1PVJlZ0V4cCgiXiIrYytjKyIqIiksZj1SZWdFeHAoYytjKyIqJCIpLGw9ZnVuY3Rpb24oZSx0LG4pe3ZhciBvPXt9LGM9aShmdW5jdGlvbigpe3JldHVybiEhYVtlXSgpfHxzW2VdKCkhPXN9KSx1PW9bZV09Yz90KHApOmFbZV07biYmKG9bbl09dSkscihyLlArci5GKmMsIlN0cmluZyIsbyl9LHA9bC50cmltPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIGU9U3RyaW5nKG8oZSkpLDEmdCYmKGU9ZS5yZXBsYWNlKHUsIiIpKSwyJnQmJihlPWUucmVwbGFjZShmLCIiKSksZX07ZS5leHBvcnRzPWx9LCI2N2JiIjpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4oImIyNTgiKX0sNjgyMTpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiNjI2YSIpLG89bigiYmUxMyIpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gcihvKGUpKX19LCI2ODhlIjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPSJGdW5jdGlvbi5wcm90b3R5cGUuYmluZCBjYWxsZWQgb24gaW5jb21wYXRpYmxlICIsbz1BcnJheS5wcm90b3R5cGUuc2xpY2UsaT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGE9IltvYmplY3QgRnVuY3Rpb25dIjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcztpZigiZnVuY3Rpb24iIT09dHlwZW9mIHR8fGkuY2FsbCh0KSE9PWEpdGhyb3cgbmV3IFR5cGVFcnJvcihyK3QpO2Zvcih2YXIgbixjPW8uY2FsbChhcmd1bWVudHMsMSkscz1mdW5jdGlvbigpe2lmKHRoaXMgaW5zdGFuY2VvZiBuKXt2YXIgcj10LmFwcGx5KHRoaXMsYy5jb25jYXQoby5jYWxsKGFyZ3VtZW50cykpKTtyZXR1cm4gT2JqZWN0KHIpPT09cj9yOnRoaXN9cmV0dXJuIHQuYXBwbHkoZSxjLmNvbmNhdChvLmNhbGwoYXJndW1lbnRzKSkpfSx1PU1hdGgubWF4KDAsdC5sZW5ndGgtYy5sZW5ndGgpLGY9W10sbD0wO2w8dTtsKyspZi5wdXNoKCIkIitsKTtpZihuPUZ1bmN0aW9uKCJiaW5kZXIiLCJyZXR1cm4gZnVuY3Rpb24gKCIrZi5qb2luKCIsIikrIil7IHJldHVybiBiaW5kZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpOyB9IikocyksdC5wcm90b3R5cGUpe3ZhciBwPWZ1bmN0aW9uKCl7fTtwLnByb3RvdHlwZT10LnByb3RvdHlwZSxuLnByb3RvdHlwZT1uZXcgcCxwLnByb3RvdHlwZT1udWxsfXJldHVybiBufX0sIjY5YTgiOmZ1bmN0aW9uKGUsdCl7dmFyIG49e30uaGFzT3duUHJvcGVydHk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4uY2FsbChlLHQpfX0sIjZhOTkiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJkM2Y0Iik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYoIXIoZSkpcmV0dXJuIGU7dmFyIG4sbztpZih0JiYiZnVuY3Rpb24iPT10eXBlb2Yobj1lLnRvU3RyaW5nKSYmIXIobz1uLmNhbGwoZSkpKXJldHVybiBvO2lmKCJmdW5jdGlvbiI9PXR5cGVvZihuPWUudmFsdWVPZikmJiFyKG89bi5jYWxsKGUpKSlyZXR1cm4gbztpZighdCYmImZ1bmN0aW9uIj09dHlwZW9mKG49ZS50b1N0cmluZykmJiFyKG89bi5jYWxsKGUpKSlyZXR1cm4gbzt0aHJvdyBUeXBlRXJyb3IoIkNhbid0IGNvbnZlcnQgb2JqZWN0IHRvIHByaW1pdGl2ZSB2YWx1ZSIpfX0sIjZhOWIiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI4YmFiIiksbz1uKCJlNWZhIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiByKG8oZSkpfX0sIjZiNTQiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bigiMzg0NiIpO3ZhciByPW4oImNiN2MiKSxvPW4oIjBiZmIiKSxpPW4oIjllMWUiKSxhPSJ0b1N0cmluZyIsYz0vLi9bYV0scz1mdW5jdGlvbihlKXtuKCIyYWJhIikoUmVnRXhwLnByb3RvdHlwZSxhLGUsITApfTtuKCI3OWU1IikoZnVuY3Rpb24oKXtyZXR1cm4iL2EvYiIhPWMuY2FsbCh7c291cmNlOiJhIixmbGFnczoiYiJ9KX0pP3MoZnVuY3Rpb24oKXt2YXIgZT1yKHRoaXMpO3JldHVybiIvIi5jb25jYXQoZS5zb3VyY2UsIi8iLCJmbGFncyJpbiBlP2UuZmxhZ3M6IWkmJmUgaW5zdGFuY2VvZiBSZWdFeHA/by5jYWxsKGUpOnZvaWQgMCl9KTpjLm5hbWUhPWEmJnMoZnVuY3Rpb24oKXtyZXR1cm4gYy5jYWxsKHRoaXMpfSl9LCI2Y2UyIjpmdW5jdGlvbihlKXtlLmV4cG9ydHM9e2NvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldDp7cG93ZXJlZF9ieToiUHLDpHNlbnRpZXJ0IHZvbiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9wcmljZV9jaGFydF93aWRnZXQ6eyIyNGhfaGlnaCI6IjI0aCBIb2NoIiwiMjRoX2xvdyI6IjI0aCBUaWVmIix2aWV3X3ByaWNlX2NoYXJ0OiJQcmVpc8O8YmVyc2ljaHQgYW56ZWlnZW4iLHBvd2VyZWRfYnk6IlByw6RzZW50aWVydCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IlByw6RzZW50aWVydCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fbGlzdF93aWRnZXQ6e3Bvd2VyZWRfYnk6IlByw6RzZW50aWVydCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGJlYW1fd2lkZ2V0Ontwb3dlcmVkX2J5OiJQcsOkc2VudGllcnQgdm9uICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3RpY2tlcl93aWRnZXQ6eyIyNGhfaGlnaCI6IjI0aCBIb2NoIiwiMjRoX2xvdyI6IjI0aCBUaWVmIix2aWV3X3ByaWNlX2NoYXJ0OiJQcmVpc8O8YmVyc2ljaHQgYW56ZWlnZW4iLHBvd2VyZWRfYnk6IlByw6RzZW50aWVydCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fY29udmVydGVyX3dpZGdldDp7dmlld19wcmljZV9jaGFydDoiUHJlaXPDvGJlcnNpY2h0IGFuemVpZ2VuIixwb3dlcmVkX2J5OiJQcsOkc2VudGllcnQgdm9uICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2hlYXRtYXBfd2lkZ2V0Ont0aXRsZToiS3J5cHRvd8OkaHJ1bmdzLVRyZWUtTWFwIixzdWJ0aXRsZToiKFRvcCAle3RvcH0gbmFjaCBNYXJrdGthcGl0YWxpc2llcnVuZykiLHBvd2VyZWRfYnk6IlByw6RzZW50aWVydCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9fX0sIjZlMWYiOmZ1bmN0aW9uKGUsdCl7dmFyIG49e30udG9TdHJpbmc7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBuLmNhbGwoZSkuc2xpY2UoOCwtMSl9fSwiNmY4YSI6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIm9iamVjdCI9PT10eXBlb2YgZT9udWxsIT09ZToiZnVuY3Rpb24iPT09dHlwZW9mIGV9fSwiNzAyYSI6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9Ilx0XG5cdlxmXHIgwqDhmoDhoI7igIDigIHigILigIPigITigIXigIbigIfigIjigInigIrigK/igZ/jgIBcdTIwMjhcdTIwMjlcdWZlZmYifSw3MTA4OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCIwZjg5Iiksbz1uKCJmNTY4IiksaT1uKCIwMDI5IiksYT1uKCI1ZDhmIikoIklFX1BST1RPIiksYz1mdW5jdGlvbigpe30scz0icHJvdG90eXBlIix1PWZ1bmN0aW9uKCl7dmFyIGUsdD1uKCIxMmZkIikoImlmcmFtZSIpLHI9aS5sZW5ndGgsbz0iPCIsYT0iPiI7dC5zdHlsZS5kaXNwbGF5PSJub25lIixuKCIxMDNhIikuYXBwZW5kQ2hpbGQodCksdC5zcmM9ImphdmFzY3JpcHQ6IixlPXQuY29udGVudFdpbmRvdy5kb2N1bWVudCxlLm9wZW4oKSxlLndyaXRlKG8rInNjcmlwdCIrYSsiZG9jdW1lbnQuRj1PYmplY3QiK28rIi9zY3JpcHQiK2EpLGUuY2xvc2UoKSx1PWUuRjt3aGlsZShyLS0pZGVsZXRlIHVbc11baVtyXV07cmV0dXJuIHUoKX07ZS5leHBvcnRzPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKGUsdCl7dmFyIG47cmV0dXJuIG51bGwhPT1lPyhjW3NdPXIoZSksbj1uZXcgYyxjW3NdPW51bGwsblthXT1lKTpuPXUoKSx2b2lkIDA9PT10P246byhuLHQpfX0sNzUxNDpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjVjYTEiKSxvPW4oIjBhNDkiKSg1KSxpPSJmaW5kIixhPSEwO2kgaW5bXSYmQXJyYXkoMSlbaV0oZnVuY3Rpb24oKXthPSExfSkscihyLlArci5GKmEsIkFycmF5Iix7ZmluZDpmdW5jdGlvbihlKXtyZXR1cm4gbyh0aGlzLGUsYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDApfX0pLG4oIjljNmMiKShpKX0sIjc1YzkiOmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm57ZTohMSx2OmUoKX19Y2F0Y2godCl7cmV0dXJue2U6ITAsdjp0fX19fSw3NjE4OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQsImEiLGZ1bmN0aW9uKCl7cmV0dXJuIHN9KTt2YXIgcj1uKCI1ZDU4Iiksbz1uLm4ociksaT1uKCI2N2JiIiksYT1uLm4oaSk7ZnVuY3Rpb24gYyhlKXtyZXR1cm4gYz0iZnVuY3Rpb24iPT09dHlwZW9mIGEuYSYmInN5bWJvbCI9PT10eXBlb2Ygby5hP2Z1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PT10eXBlb2YgYS5hJiZlLmNvbnN0cnVjdG9yPT09YS5hJiZlIT09YS5hLnByb3RvdHlwZT8ic3ltYm9sIjp0eXBlb2YgZX0sYyhlKX1mdW5jdGlvbiBzKGUpe3JldHVybiBzPSJmdW5jdGlvbiI9PT10eXBlb2YgYS5hJiYic3ltYm9sIj09PWMoby5hKT9mdW5jdGlvbihlKXtyZXR1cm4gYyhlKX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJiJmdW5jdGlvbiI9PT10eXBlb2YgYS5hJiZlLmNvbnN0cnVjdG9yPT09YS5hJiZlIT09YS5hLnByb3RvdHlwZT8ic3ltYm9sIjpjKGUpfSxzKGUpfX0sNzYzMzpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiMjY5NSIpLG89bigiMDAyOSIpO2UuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7cmV0dXJuIHIoZSxvKX19LDc3MDQ6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPXtjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQ6e3Bvd2VyZWRfYnk6ItCe0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0OnsiMjRoX2hpZ2giOiLQnNCw0LrRgS4g0LfQsCAyNMKg0YfQsNGB0LAiLCIyNGhfbG93Ijoi0JzQuNC9LiDQt9CwIDI0wqDRh9Cw0YHQsCIsdmlld19wcmljZV9jaGFydDoi0J/QvtC60LDQt9Cw0YLRjCDQs9GA0LDRhNC40Log0LjQt9C80LXQvdC10L3QuNGPINC60YPRgNGB0LAiLHBvd2VyZWRfYnk6ItCe0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQ6e3Bvd2VyZWRfYnk6ItCe0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fbGlzdF93aWRnZXQ6e3Bvd2VyZWRfYnk6ItCe0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGJlYW1fd2lkZ2V0Ontwb3dlcmVkX2J5OiLQntGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3RpY2tlcl93aWRnZXQ6eyIyNGhfaGlnaCI6ItCc0LDQutGBLiDQt9CwIDI0wqDRh9Cw0YHQsCIsIjI0aF9sb3ciOiLQnNC40L0uINC30LAgMjTCoNGH0LDRgdCwIix2aWV3X3ByaWNlX2NoYXJ0OiLQn9C+0LrQsNC30LDRgtGMINCz0YDQsNGE0LjQuiDQuNC30LzQtdC90LXQvdC40Y8g0LrRg9GA0YHQsCIscG93ZXJlZF9ieToi0J7RgiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ont2aWV3X3ByaWNlX2NoYXJ0OiLQn9C+0LrQsNC30LDRgtGMINCz0YDQsNGE0LjQuiDQuNC30LzQtdC90LXQvdC40Y8g0LrRg9GA0YHQsCIscG93ZXJlZF9ieToi0J7RgiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9oZWF0bWFwX3dpZGdldDp7dGl0bGU6ItCa0LDRgNGC0LAg0LTQtdGA0LXQstCwINC60YDQuNC/0YLQvtCy0LDQu9GO0YIiLHN1YnRpdGxlOiIo0YLQvtC/ICV7dG9wfSDQv9C+INGA0YvQvdC+0YfQvdC+0Lkg0LrQsNC/0LjRgtCw0LvQuNC30LDRhtC40LgpIixwb3dlcmVkX2J5OiLQntGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifX19LDc3MjY6ZnVuY3Rpb24oZSx0KXt2YXIgbj1lLmV4cG9ydHM9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5NYXRoPT1NYXRoP3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJnNlbGYuTWF0aD09TWF0aD9zZWxmOkZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCk7Im51bWJlciI9PXR5cGVvZiBfX2cmJihfX2c9bil9LDc3NzI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImE3ZDMiKSxvPW4oImRhM2MiKSxpPSJfX2NvcmUtanNfc2hhcmVkX18iLGE9b1tpXXx8KG9baV09e30pOyhlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gYVtlXXx8KGFbZV09dm9pZCAwIT09dD90Ont9KX0pKCJ2ZXJzaW9ucyIsW10pLnB1c2goe3ZlcnNpb246ci52ZXJzaW9uLG1vZGU6bigiYjQ1NyIpPyJwdXJlIjoiZ2xvYmFsIixjb3B5cmlnaHQ6IsKpIDIwMTggRGVuaXMgUHVzaGthcmV2ICh6bG9pcm9jay5ydSkifSl9LCI3N2YxIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiNDU4OCIpLG89TWF0aC5tYXgsaT1NYXRoLm1pbjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1yKGUpLGU8MD9vKGUrdCwwKTppKGUsdCl9fSwiNzk1YiI6ZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1uKCJkZDA0Iil9LCI3OWU1IjpmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlKXt0cnl7cmV0dXJuISFlKCl9Y2F0Y2godCl7cmV0dXJuITB9fX0sIjdhNTYiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiNzcyNiIpLG89bigiODZjYyIpLGk9bigiOWUxZSIpLGE9bigiMmI0YyIpKCJzcGVjaWVzIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PXJbZV07aSYmdCYmIXRbYV0mJm8uZih0LGEse2NvbmZpZ3VyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc319KX19LCI3YjAwIjpmdW5jdGlvbihlLHQpe3ZhciBuPTAscj1NYXRoLnJhbmRvbSgpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4iU3ltYm9sKCIuY29uY2F0KHZvaWQgMD09PWU/IiI6ZSwiKV8iLCgrK24rcikudG9TdHJpbmcoMzYpKX19LCI3ZDhhIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiNmUxZiIpLG89bigiMWI1NSIpKCJ0b1N0cmluZ1RhZyIpLGk9IkFyZ3VtZW50cyI9PXIoZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKSxhPWZ1bmN0aW9uKGUsdCl7dHJ5e3JldHVybiBlW3RdfWNhdGNoKG4pe319O2UuZXhwb3J0cz1mdW5jdGlvbihlKXt2YXIgdCxuLGM7cmV0dXJuIHZvaWQgMD09PWU/IlVuZGVmaW5lZCI6bnVsbD09PWU/Ik51bGwiOiJzdHJpbmciPT10eXBlb2Yobj1hKHQ9T2JqZWN0KGUpLG8pKT9uOmk/cih0KToiT2JqZWN0Ij09KGM9cih0KSkmJiJmdW5jdGlvbiI9PXR5cGVvZiB0LmNhbGxlZT8iQXJndW1lbnRzIjpjfX0sIjdkOTUiOmZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9IW4oImQ3ODIiKShmdW5jdGlvbigpe3JldHVybiA3IT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sImEiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gN319KS5hfSl9LCI3ZGFiIjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO24uZCh0LCJhIixmdW5jdGlvbigpe3JldHVybiBhfSk7dmFyIHI9bigiYTRiYiIpLG89bi5uKHIpLGk9e0JUQzohMCxFVEg6ITAsVVNEOiEwLEFFRDohMCxBUlM6ITAsQVVEOiEwLEJSTDohMCxDQUQ6ITAsQ0hGOiEwLENMUDohMCxDTlk6ITAsQ1pLOiEwLERLSzohMCxFVVI6ITAsR0JQOiEwLEhLRDohMCxIVUY6ITAsSURSOiEwLElMUzohMCxJTlI6ITAsSlBZOiEwLEtSVzohMCxLV0Q6ITAsTEtSOiEwLE1YTjohMCxNWVI6ITAsTk9LOiEwLE5aRDohMCxQSFA6ITAsUEtSOiEwLFBMTjohMCxSVUI6ITAsU0FSOiEwLFNFSzohMCxTR0Q6ITAsVEhCOiEwLFRSWTohMCxUV0Q6ITAsWkFSOiEwfTtmdW5jdGlvbiBhKCl7cmV0dXJuIG8oKShpKX19LCI3ZjIwIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiODZjYyIpLmYsbz1uKCI2OWE4IiksaT1uKCIyYjRjIikoInRvU3RyaW5nVGFnIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXtlJiYhbyhlPW4/ZTplLnByb3RvdHlwZSxpKSYmcihlLGkse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTp0fSl9fSw4MDc5OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI3NzI2Iiksbz1uKCIxOTkxIikuc2V0LGk9ci5NdXRhdGlvbk9ic2VydmVyfHxyLldlYktpdE11dGF0aW9uT2JzZXJ2ZXIsYT1yLnByb2Nlc3MsYz1yLlByb21pc2Uscz0icHJvY2VzcyI9PW4oIjJkOTUiKShhKTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgZSx0LG4sdT1mdW5jdGlvbigpe3ZhciByLG87cyYmKHI9YS5kb21haW4pJiZyLmV4aXQoKTt3aGlsZShlKXtvPWUuZm4sZT1lLm5leHQ7dHJ5e28oKX1jYXRjaChpKXt0aHJvdyBlP24oKTp0PXZvaWQgMCxpfX10PXZvaWQgMCxyJiZyLmVudGVyKCl9O2lmKHMpbj1mdW5jdGlvbigpe2EubmV4dFRpY2sodSl9O2Vsc2UgaWYoIWl8fHIubmF2aWdhdG9yJiZyLm5hdmlnYXRvci5zdGFuZGFsb25lKWlmKGMmJmMucmVzb2x2ZSl7dmFyIGY9Yy5yZXNvbHZlKHZvaWQgMCk7bj1mdW5jdGlvbigpe2YudGhlbih1KX19ZWxzZSBuPWZ1bmN0aW9uKCl7by5jYWxsKHIsdSl9O2Vsc2V7dmFyIGw9ITAscD1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSgiIik7bmV3IGkodSkub2JzZXJ2ZShwLHtjaGFyYWN0ZXJEYXRhOiEwfSksbj1mdW5jdGlvbigpe3AuZGF0YT1sPSFsfX1yZXR1cm4gZnVuY3Rpb24ocil7dmFyIG89e2ZuOnIsbmV4dDp2b2lkIDB9O3QmJih0Lm5leHQ9byksZXx8KGU9byxuKCkpLHQ9b319fSwiODFlZSI6ZnVuY3Rpb24oZSx0LG4pe24oIjlhNTEiKSxlLmV4cG9ydHM9bigiYTdkMyIpLk9iamVjdC5hc3NpZ259LCI4MmEzIjpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPW4oIjI5YTMiKX0sODM3ODpmdW5jdGlvbihlLHQpe3ZhciBuPWUuZXhwb3J0cz17dmVyc2lvbjoiMi42LjUifTsibnVtYmVyIj09dHlwZW9mIF9fZSYmKF9fZT1uKX0sIjg0ZjIiOmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPXt9fSw4NTk4OmZ1bmN0aW9uKGUsdCxuKXt0PWUuZXhwb3J0cz1uKCIyMzUwIikoITEpLHQuaShuKCI1MWUzIiksIiIpLHQucHVzaChbZS5pLCIuY2ctY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcblxuICBjb2xvcjogIzRjNGM0YztcbiAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIGZvbnQtc2l6ZTogMTJweDtcblxuICBtaW4td2lkdGg6IDMwMHB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmNnLWNvbnRhaW5lcltkYXRhLWxvYWRpbmddIC5jZy13aWRnZXQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY2ctY29pbi1yb3c6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE0MSwgMTk4LCA3MSwgMC4yKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuLmNnLWV2ZW4tcm93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmZmODtcbn1cbi5jZy1hcnJvdy11cCB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjNGI4ODAwO1xufVxuXG4uY2ctYXJyb3ctZG93biB7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXG4gIGJvcmRlci10b3A6IDZweCBzb2xpZCAjYTExYjBhO1xufVxuXG4uY2ctZm9vdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDE0MSwgMTk4LCA3MSwgMC4xKTtcbn1cblxuLmNnLXdpZGdldCBzZWxlY3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLWNvbG9yOiByZ2IoMTQxLCAxOTgsIDcxKTtcbn1cbi5jZy13aWRnZXQgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6ICM0YzRjNGM7XG59XG4uY2ctd2lkZ2V0IGE6aG92ZXIge1xuICBjb2xvcjogIzRjNGM0Yztcbn1cblxuLmNnLWNvaW4tcm93IGltZyB7XG4gIHdpZHRoOiAyMnB4O1xufVxuXG4uY2ctbWFycXVlZSB7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jZy1tYXJxdWVlLWNvbnRlbnQtMSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwJTsgLyogc2hvdyB0aGUgbWFycXVlZSBqdXN0IG91dHNpZGUgdGhlIHBhcmFncmFwaCAqL1xuICBhbmltYXRpb246IG1hcnF1ZWUgMzBzIGxpbmVhciBpbmZpbml0ZTtcbn1cbi5jZy1tYXJxdWVlLWNvbnRlbnQtbG9uZyB7XG4gIGFuaW1hdGlvbjogbWFycXVlZSAxMDBzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLmNnLW1hcnF1ZWUtY29udGVudC0yIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDAlOyAvKiBzaG93IHRoZSBtYXJxdWVlIGp1c3Qgb3V0c2lkZSB0aGUgcGFyYWdyYXBoICovXG4gIGFuaW1hdGlvbjogbWFycXVlZTIgMzBzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBtYXJxdWVlIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIG1hcnF1ZWUyIHtcbiAgZnJvbSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgfVxufVxuIiwiIl0pfSw4NjgwOmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17Y29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ontwb3dlcmVkX2J5OiLguILguLHguJrguYDguITguKXguLfguYjguK3guJnguJTguYnguKfguKIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0OnsiMjRoX2hpZ2giOiLguKrguLnguIcgMjQg4LiK4Lix4LmI4Lin4LmC4Lih4LiHIiwiMjRoX2xvdyI6IuC4leC5iOC4syAyNCDguIrguLHguYjguKfguYLguKHguIciLHZpZXdfcHJpY2VfY2hhcnQ6IuC4lOC4ueC4geC4o+C4suC4n+C4o+C4suC4hOC4siIscG93ZXJlZF9ieToi4LiC4Lix4Lia4LmA4LiE4Lil4Li34LmI4Lit4LiZ4LiU4LmJ4Lin4LiiICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ontwb3dlcmVkX2J5OiLguILguLHguJrguYDguITguKXguLfguYjguK3guJnguJTguYnguKfguKIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fbGlzdF93aWRnZXQ6e3Bvd2VyZWRfYnk6IuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC4lOC5ieC4p+C4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sYmVhbV93aWRnZXQ6e3Bvd2VyZWRfYnk6IuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC4lOC5ieC4p+C4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl90aWNrZXJfd2lkZ2V0OnsiMjRoX2hpZ2giOiLguKrguLnguIcgMjQg4LiK4Lix4LmI4Lin4LmC4Lih4LiHIiwiMjRoX2xvdyI6IuC4leC5iOC4syAyNCDguIrguLHguYjguKfguYLguKHguIciLHZpZXdfcHJpY2VfY2hhcnQ6IuC4lOC4ueC4geC4o+C4suC4n+C4o+C4suC4hOC4siIscG93ZXJlZF9ieToi4LiC4Lix4Lia4LmA4LiE4Lil4Li34LmI4Lit4LiZ4LiU4LmJ4Lin4LiiICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2NvbnZlcnRlcl93aWRnZXQ6e3ZpZXdfcHJpY2VfY2hhcnQ6IuC4lOC4ueC4geC4o+C4suC4n+C4o+C4suC4hOC4siIscG93ZXJlZF9ieToi4LiC4Lix4Lia4LmA4LiE4Lil4Li34LmI4Lit4LiZ4LiU4LmJ4Lin4LiiICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2hlYXRtYXBfd2lkZ2V0Ont0aXRsZToi4LmB4Lic4LiZ4LiX4Li14LmI4Lij4Li54Lib4LiV4LmJ4LiZ4LmE4Lir4LihIENyeXB0b2N1cnJlbmN5IixzdWJ0aXRsZToiKCV7dG9wfSDguKPguLLguKLguIHguLLguKPguKrguLnguIfguKrguLjguJTguJXguLLguKHguKHguLnguKXguITguYjguLLguJXguLLguKHguKPguLLguITguLLguJXguKXguLLguJQpIixwb3dlcmVkX2J5OiLguILguLHguJrguYDguITguKXguLfguYjguK3guJnguJTguYnguKfguKIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9fX0sIjg2Y2MiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJjYjdjIiksbz1uKCJjNjlhIiksaT1uKCI2YTk5IiksYT1PYmplY3QuZGVmaW5lUHJvcGVydHk7dC5mPW4oIjllMWUiKT9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24oZSx0LG4pe2lmKHIoZSksdD1pKHQsITApLHIobiksbyl0cnl7cmV0dXJuIGEoZSx0LG4pfWNhdGNoKGMpe31pZigiZ2V0ImluIG58fCJzZXQiaW4gbil0aHJvdyBUeXBlRXJyb3IoIkFjY2Vzc29ycyBub3Qgc3VwcG9ydGVkISIpO3JldHVybiJ2YWx1ZSJpbiBuJiYoZVt0XT1uLnZhbHVlKSxlfX0sIjg5YjIiOmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17Y29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ontwb3dlcmVkX2J5OiJUcmXFm8SHIGRvc3RhcmN6b25hIHByemV6ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3ByaWNlX2NoYXJ0X3dpZGdldDp7IjI0aF9oaWdoIjoiMjQgZ29kei4g4oCTIG1ha3MuIiwiMjRoX2xvdyI6IjI0IGdvZHouIOKAkyBtaW4uIix2aWV3X3ByaWNlX2NoYXJ0OiJXecWbd2lldGwgd3lrcmVzIGNlbnkiLHBvd2VyZWRfYnk6IlRyZcWbxIcgZG9zdGFyY3pvbmEgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IlRyZcWbxIcgZG9zdGFyY3pvbmEgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fbGlzdF93aWRnZXQ6e3Bvd2VyZWRfYnk6IlRyZcWbxIcgZG9zdGFyY3pvbmEgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGJlYW1fd2lkZ2V0Ontwb3dlcmVkX2J5OiJUcmXFm8SHIGRvc3RhcmN6b25hIHByemV6ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3RpY2tlcl93aWRnZXQ6eyIyNGhfaGlnaCI6IjI0IGdvZHouIOKAkyBtYWtzLiIsIjI0aF9sb3ciOiIyNCBnb2R6LiDigJMgbWluLiIsdmlld19wcmljZV9jaGFydDoiV3nFm3dpZXRsIHd5a3JlcyBjZW55Iixwb3dlcmVkX2J5OiJUcmXFm8SHIGRvc3RhcmN6b25hIHByemV6ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2NvbnZlcnRlcl93aWRnZXQ6e3ZpZXdfcHJpY2VfY2hhcnQ6Ild5xZt3aWV0bCB3eWtyZXMgY2VueSIscG93ZXJlZF9ieToiVHJlxZvEhyBkb3N0YXJjem9uYSBwcnpleiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9oZWF0bWFwX3dpZGdldDp7dGl0bGU6IkRyemV3byBrcnlwdG93YWx1dCIsc3VidGl0bGU6IihMaXN0YSAle3RvcH0gbyBuYWp3acSZa3N6ZWoga2FwaXRhbGl6YWNqaSBuYSByeW5rdSkiLHBvd2VyZWRfYnk6IlRyZcWbxIcgZG9zdGFyY3pvbmEgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9fX0sIjhhMTIiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJkYTNjIiksbz1yLm5hdmlnYXRvcjtlLmV4cG9ydHM9byYmby51c2VyQWdlbnR8fCIifSwiOGI5NyI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImQzZjQiKSxvPW4oImNiN2MiKSxpPWZ1bmN0aW9uKGUsdCl7aWYobyhlKSwhcih0KSYmbnVsbCE9PXQpdGhyb3cgVHlwZUVycm9yKHQrIjogY2FuJ3Qgc2V0IGFzIHByb3RvdHlwZSEiKX07ZS5leHBvcnRzPXtzZXQ6T2JqZWN0LnNldFByb3RvdHlwZU9mfHwoIl9fcHJvdG9fXyJpbnt9P2Z1bmN0aW9uKGUsdCxyKXt0cnl7cj1uKCI5YjQzIikoRnVuY3Rpb24uY2FsbCxuKCIxMWU5IikuZihPYmplY3QucHJvdG90eXBlLCJfX3Byb3RvX18iKS5zZXQsMikscihlLFtdKSx0PSEoZSBpbnN0YW5jZW9mIEFycmF5KX1jYXRjaChvKXt0PSEwfXJldHVybiBmdW5jdGlvbihlLG4pe3JldHVybiBpKGUsbiksdD9lLl9fcHJvdG9fXz1uOnIoZSxuKSxlfX0oe30sITEpOnZvaWQgMCksY2hlY2s6aX19LCI4YmFiIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiNmUxZiIpO2UuZXhwb3J0cz1PYmplY3QoInoiKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKT9PYmplY3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIlN0cmluZyI9PXIoZSk/ZS5zcGxpdCgiIik6T2JqZWN0KGUpfX0sIjhjZTAiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCIzYWRjIiksbz1uKCJmODQ1Iik7ZS5leHBvcnRzPW4oIjdkOTUiKT9mdW5jdGlvbihlLHQsbil7cmV0dXJuIHIuZihlLHQsbygxLG4pKX06ZnVuY3Rpb24oZSx0LG4pe3JldHVybiBlW3RdPW4sZX19LDkwOTM6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImNlMTAiKSxvPW4oImUxMWUiKS5jb25jYXQoImxlbmd0aCIsInByb3RvdHlwZSIpO3QuZj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lc3x8ZnVuY3Rpb24oZSl7cmV0dXJuIHIoZSxvKX19LCI5M2M0IjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjJhNGUiKSghMCk7bigiZTRhOSIpKFN0cmluZywiU3RyaW5nIixmdW5jdGlvbihlKXt0aGlzLl90PVN0cmluZyhlKSx0aGlzLl9pPTB9LGZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzLl90LG49dGhpcy5faTtyZXR1cm4gbj49dC5sZW5ndGg/e3ZhbHVlOnZvaWQgMCxkb25lOiEwfTooZT1yKHQsbiksdGhpcy5faSs9ZS5sZW5ndGgse3ZhbHVlOmUsZG9uZTohMX0pfSl9LCI5YTUxIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiZDEzZiIpO3Ioci5TK3IuRiwiT2JqZWN0Iix7YXNzaWduOm4oIjllNDQiKX0pfSwiOWI0MyI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImQ4ZTgiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe2lmKHIoZSksdm9pZCAwPT09dClyZXR1cm4gZTtzd2l0Y2gobil7Y2FzZSAxOnJldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZS5jYWxsKHQsbil9O2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24obixyKXtyZXR1cm4gZS5jYWxsKHQsbixyKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihuLHIsbyl7cmV0dXJuIGUuY2FsbCh0LG4scixvKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodCxhcmd1bWVudHMpfX19LCI5YzZjIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiMmI0YyIpKCJ1bnNjb3BhYmxlcyIpLG89QXJyYXkucHJvdG90eXBlO3ZvaWQgMD09b1tyXSYmbigiMzJlOSIpKG8scix7fSksZS5leHBvcnRzPWZ1bmN0aW9uKGUpe29bcl1bZV09ITB9fSwiOWM4MCI6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybntlOiExLHY6ZSgpfX1jYXRjaCh0KXtyZXR1cm57ZTohMCx2OnR9fX19LCI5YzkzIjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiMGY4OSIpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbixvKXt0cnl7cmV0dXJuIG8/dChyKG4pWzBdLG5bMV0pOnQobil9Y2F0Y2goYSl7dmFyIGk9ZVsicmV0dXJuIl07dGhyb3cgdm9pZCAwIT09aSYmcihpLmNhbGwoZSkpLGF9fX0sIjlkZWYiOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI0NTg4Iiksbz1NYXRoLm1pbjtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU+MD9vKHIoZSksOTAwNzE5OTI1NDc0MDk5MSk6MH19LCI5ZTFlIjpmdW5jdGlvbihlLHQsbil7ZS5leHBvcnRzPSFuKCI3OWU1IikoZnVuY3Rpb24oKXtyZXR1cm4gNyE9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJhIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSkuYX0pfSwiOWU0NCI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI3NjMzIiksbz1uKCIzMWMyIiksaT1uKCJkNzRlIiksYT1uKCIwMTg1IiksYz1uKCI4YmFiIikscz1PYmplY3QuYXNzaWduO2UuZXhwb3J0cz0hc3x8bigiZDc4MiIpKGZ1bmN0aW9uKCl7dmFyIGU9e30sdD17fSxuPVN5bWJvbCgpLHI9ImFiY2RlZmdoaWprbG1ub3BxcnN0IjtyZXR1cm4gZVtuXT03LHIuc3BsaXQoIiIpLmZvckVhY2goZnVuY3Rpb24oZSl7dFtlXT1lfSksNyE9cyh7fSxlKVtuXXx8T2JqZWN0LmtleXMocyh7fSx0KSkuam9pbigiIikhPXJ9KT9mdW5jdGlvbihlLHQpe3ZhciBuPWEoZSkscz1hcmd1bWVudHMubGVuZ3RoLHU9MSxmPW8uZixsPWkuZjt3aGlsZShzPnUpe3ZhciBwLGQ9Yyhhcmd1bWVudHNbdSsrXSksaD1mP3IoZCkuY29uY2F0KGYoZCkpOnIoZCksdj1oLmxlbmd0aCxtPTA7d2hpbGUodj5tKWwuY2FsbChkLHA9aFttKytdKSYmKG5bcF09ZFtwXSl9cmV0dXJuIG59OnN9LGEwZDM6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIwZjdjIik7ZS5leHBvcnRzPXIuY2FsbChGdW5jdGlvbi5jYWxsLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpfSxhMjVmOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI3NzI2Iiksbz1yLm5hdmlnYXRvcjtlLmV4cG9ydHM9byYmby51c2VyQWdlbnR8fCIifSxhMzA2OmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17Y29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ontwb3dlcmVkX2J5OiJDb24gdGVjbm9sb2fDrWEgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0OnsiMjRoX2hpZ2giOiJNw6F4aW1vIGVuIDI0IGgiLCIyNGhfbG93IjoiTcOtbmltbyBlbiAyNCBoIix2aWV3X3ByaWNlX2NoYXJ0OiJWZXIgdGFibGEgZGUgcHJlY2lvcyIscG93ZXJlZF9ieToiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ontwb3dlcmVkX2J5OiJDb24gdGVjbm9sb2fDrWEgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fbGlzdF93aWRnZXQ6e3Bvd2VyZWRfYnk6IkNvbiB0ZWNub2xvZ8OtYSBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sYmVhbV93aWRnZXQ6e3Bvd2VyZWRfYnk6IkNvbiB0ZWNub2xvZ8OtYSBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl90aWNrZXJfd2lkZ2V0OnsiMjRoX2hpZ2giOiJNw6F4aW1vIGVuIDI0IGgiLCIyNGhfbG93IjoiTcOtbmltbyBlbiAyNCBoIix2aWV3X3ByaWNlX2NoYXJ0OiJWZXIgdGFibGEgZGUgcHJlY2lvcyIscG93ZXJlZF9ieToiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2NvbnZlcnRlcl93aWRnZXQ6e3ZpZXdfcHJpY2VfY2hhcnQ6IlZlciB0YWJsYSBkZSBwcmVjaW9zIixwb3dlcmVkX2J5OiJDb24gdGVjbm9sb2fDrWEgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5faGVhdG1hcF93aWRnZXQ6e3RpdGxlOiJNYXBhIGRlIMOhcmJvbCBkZSBjcmlwdG9tb25lZGFzIixzdWJ0aXRsZToiKGxhcyAle3RvcH0gcHJpbmNpcGFsZXMgc2Vnw7puIGxhIGNhcGl0YWxpemFjacOzbiBkZSBtZXJjYWRvKSIscG93ZXJlZF9ieToiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifX19LGE0N2Y6ZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz0hbigiN2Q5NSIpJiYhbigiZDc4MiIpKGZ1bmN0aW9uKCl7cmV0dXJuIDchPU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuKCIxMmZkIikoImRpdiIpLCJhIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSkuYX0pfSxhNDgxOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiY2I3YyIpLG89bigiNGJmOCIpLGk9bigiOWRlZiIpLGE9bigiNDU4OCIpLGM9bigiMDM5MCIpLHM9bigiNWYxYiIpLHU9TWF0aC5tYXgsZj1NYXRoLm1pbixsPU1hdGguZmxvb3IscD0vXCQoWyQmYCddfFxkXGQ/fDxbXj5dKj4pL2csZD0vXCQoWyQmYCddfFxkXGQ/KS9nLGg9ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWU/ZTpTdHJpbmcoZSl9O24oIjIxNGYiKSgicmVwbGFjZSIsMixmdW5jdGlvbihlLHQsbix2KXtyZXR1cm5bZnVuY3Rpb24ocixvKXt2YXIgaT1lKHRoaXMpLGE9dm9pZCAwPT1yP3ZvaWQgMDpyW3RdO3JldHVybiB2b2lkIDAhPT1hP2EuY2FsbChyLGksbyk6bi5jYWxsKFN0cmluZyhpKSxyLG8pfSxmdW5jdGlvbihlLHQpe3ZhciBvPXYobixlLHRoaXMsdCk7aWYoby5kb25lKXJldHVybiBvLnZhbHVlO3ZhciBsPXIoZSkscD1TdHJpbmcodGhpcyksZD0iZnVuY3Rpb24iPT09dHlwZW9mIHQ7ZHx8KHQ9U3RyaW5nKHQpKTt2YXIgeT1sLmdsb2JhbDtpZih5KXt2YXIgXz1sLnVuaWNvZGU7bC5sYXN0SW5kZXg9MH12YXIgZz1bXTt3aGlsZSgxKXt2YXIgYj1zKGwscCk7aWYobnVsbD09PWIpYnJlYWs7aWYoZy5wdXNoKGIpLCF5KWJyZWFrO3ZhciB3PVN0cmluZyhiWzBdKTsiIj09PXcmJihsLmxhc3RJbmRleD1jKHAsaShsLmxhc3RJbmRleCksXykpfWZvcih2YXIgeD0iIixDPTAsUz0wO1M8Zy5sZW5ndGg7UysrKXtiPWdbU107Zm9yKHZhciBBPVN0cmluZyhiWzBdKSxrPXUoZihhKGIuaW5kZXgpLHAubGVuZ3RoKSwwKSxPPVtdLFA9MTtQPGIubGVuZ3RoO1ArKylPLnB1c2goaChiW1BdKSk7dmFyICQ9Yi5ncm91cHM7aWYoZCl7dmFyIGo9W0FdLmNvbmNhdChPLGsscCk7dm9pZCAwIT09JCYmai5wdXNoKCQpO3ZhciBFPVN0cmluZyh0LmFwcGx5KHZvaWQgMCxqKSl9ZWxzZSBFPW0oQSxwLGssTywkLHQpO2s+PUMmJih4Kz1wLnNsaWNlKEMsaykrRSxDPWsrQS5sZW5ndGgpfXJldHVybiB4K3Auc2xpY2UoQyl9XTtmdW5jdGlvbiBtKGUsdCxyLGksYSxjKXt2YXIgcz1yK2UubGVuZ3RoLHU9aS5sZW5ndGgsZj1kO3JldHVybiB2b2lkIDAhPT1hJiYoYT1vKGEpLGY9cCksbi5jYWxsKGMsZixmdW5jdGlvbihuLG8pe3ZhciBjO3N3aXRjaChvLmNoYXJBdCgwKSl7Y2FzZSIkIjpyZXR1cm4iJCI7Y2FzZSImIjpyZXR1cm4gZTtjYXNlImAiOnJldHVybiB0LnNsaWNlKDAscik7Y2FzZSInIjpyZXR1cm4gdC5zbGljZShzKTtjYXNlIjwiOmM9YVtvLnNsaWNlKDEsLTEpXTticmVhaztkZWZhdWx0OnZhciBmPStvO2lmKDA9PT1mKXJldHVybiBuO2lmKGY+dSl7dmFyIHA9bChmLzEwKTtyZXR1cm4gMD09PXA/bjpwPD11P3ZvaWQgMD09PWlbcC0xXT9vLmNoYXJBdCgxKTppW3AtMV0rby5jaGFyQXQoMSk6bn1jPWlbZi0xXX1yZXR1cm4gdm9pZCAwPT09Yz8iIjpjfSl9fSl9LGE0YmI6ZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz1uKCJmZGE2Iil9LGE1YWI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImE4MTIiKSxvPU1hdGgubWluO2UuZXhwb3J0cz1mdW5jdGlvbihlKXtyZXR1cm4gZT4wP28ocihlKSw5MDA3MTk5MjU0NzQwOTkxKTowfX0sYTViODpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImQ4ZTgiKTtmdW5jdGlvbiBvKGUpe3ZhciB0LG47dGhpcy5wcm9taXNlPW5ldyBlKGZ1bmN0aW9uKGUscil7aWYodm9pZCAwIT09dHx8dm9pZCAwIT09bil0aHJvdyBUeXBlRXJyb3IoIkJhZCBQcm9taXNlIGNvbnN0cnVjdG9yIik7dD1lLG49cn0pLHRoaXMucmVzb2x2ZT1yKHQpLHRoaXMucmVqZWN0PXIobil9ZS5leHBvcnRzLmY9ZnVuY3Rpb24oZSl7cmV0dXJuIG5ldyBvKGUpfX0sYTdkMzpmdW5jdGlvbihlLHQpe3ZhciBuPWUuZXhwb3J0cz17dmVyc2lvbjoiMi42LjEifTsibnVtYmVyIj09dHlwZW9mIF9fZSYmKF9fZT1uKX0sYTgxMjpmdW5jdGlvbihlLHQpe3ZhciBuPU1hdGguY2VpbCxyPU1hdGguZmxvb3I7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiBpc05hTihlPStlKT8wOihlPjA/cjpuKShlKX19LGFhNzc6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjVjYTEiKSxvPW4oImJlMTMiKSxpPW4oIjc5ZTUiKSxhPW4oImZkZWYiKSxjPSJbIithKyJdIixzPSLigIvChSIsdT1SZWdFeHAoIl4iK2MrYysiKiIpLGY9UmVnRXhwKGMrYysiKiQiKSxsPWZ1bmN0aW9uKGUsdCxuKXt2YXIgbz17fSxjPWkoZnVuY3Rpb24oKXtyZXR1cm4hIWFbZV0oKXx8c1tlXSgpIT1zfSksdT1vW2VdPWM/dChwKTphW2VdO24mJihvW25dPXUpLHIoci5QK3IuRipjLCJTdHJpbmciLG8pfSxwPWwudHJpbT1mdW5jdGlvbihlLHQpe3JldHVybiBlPVN0cmluZyhvKGUpKSwxJnQmJihlPWUucmVwbGFjZSh1LCIiKSksMiZ0JiYoZT1lLnJlcGxhY2UoZiwiIikpLGV9O2UuZXhwb3J0cz1sfSxhYWUzOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJkM2Y0Iiksbz1uKCIyZDk1IiksaT1uKCIyYjRjIikoIm1hdGNoIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiByKGUpJiYodm9pZCAwIT09KHQ9ZVtpXSk/ISF0OiJSZWdFeHAiPT1vKGUpKX19LGFjNmE6ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj1uKCJjYWRmIiksbz1uKCIwZDU4IiksaT1uKCIyYWJhIiksYT1uKCI3NzI2IiksYz1uKCIzMmU5Iikscz1uKCI4NGYyIiksdT1uKCIyYjRjIiksZj11KCJpdGVyYXRvciIpLGw9dSgidG9TdHJpbmdUYWciKSxwPXMuQXJyYXksZD17Q1NTUnVsZUxpc3Q6ITAsQ1NTU3R5bGVEZWNsYXJhdGlvbjohMSxDU1NWYWx1ZUxpc3Q6ITEsQ2xpZW50UmVjdExpc3Q6ITEsRE9NUmVjdExpc3Q6ITEsRE9NU3RyaW5nTGlzdDohMSxET01Ub2tlbkxpc3Q6ITAsRGF0YVRyYW5zZmVySXRlbUxpc3Q6ITEsRmlsZUxpc3Q6ITEsSFRNTEFsbENvbGxlY3Rpb246ITEsSFRNTENvbGxlY3Rpb246ITEsSFRNTEZvcm1FbGVtZW50OiExLEhUTUxTZWxlY3RFbGVtZW50OiExLE1lZGlhTGlzdDohMCxNaW1lVHlwZUFycmF5OiExLE5hbWVkTm9kZU1hcDohMSxOb2RlTGlzdDohMCxQYWludFJlcXVlc3RMaXN0OiExLFBsdWdpbjohMSxQbHVnaW5BcnJheTohMSxTVkdMZW5ndGhMaXN0OiExLFNWR051bWJlckxpc3Q6ITEsU1ZHUGF0aFNlZ0xpc3Q6ITEsU1ZHUG9pbnRMaXN0OiExLFNWR1N0cmluZ0xpc3Q6ITEsU1ZHVHJhbnNmb3JtTGlzdDohMSxTb3VyY2VCdWZmZXJMaXN0OiExLFN0eWxlU2hlZXRMaXN0OiEwLFRleHRUcmFja0N1ZUxpc3Q6ITEsVGV4dFRyYWNrTGlzdDohMSxUb3VjaExpc3Q6ITF9LGg9byhkKSx2PTA7djxoLmxlbmd0aDt2Kyspe3ZhciBtLHk9aFt2XSxfPWRbeV0sZz1hW3ldLGI9ZyYmZy5wcm90b3R5cGU7aWYoYiYmKGJbZl18fGMoYixmLHApLGJbbF18fGMoYixsLHkpLHNbeV09cCxfKSlmb3IobSBpbiByKWJbbV18fGkoYixtLHJbbV0sITApfX0sYWNlZDpmdW5jdGlvbihlKXtlLmV4cG9ydHM9e2NvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldDp7cG93ZXJlZF9ieToixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9wcmljZV9jaGFydF93aWRnZXQ6eyIyNGhfaGlnaCI6IkNhbyB0cm9uZyAyNEgiLCIyNGhfbG93IjoiVGjhuqVwIHRyb25nIDI0SCIsdmlld19wcmljZV9jaGFydDoiWGVtIGJp4buDdSDEkeG7kyBnacOhIixwb3dlcmVkX2J5OiLEkMaw4bujYyBo4buXIHRy4bujIGLhu59pICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ontwb3dlcmVkX2J5OiLEkMaw4bujYyBo4buXIHRy4bujIGLhu59pICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2xpc3Rfd2lkZ2V0Ontwb3dlcmVkX2J5OiLEkMaw4bujYyBo4buXIHRy4bujIGLhu59pICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxiZWFtX3dpZGdldDp7cG93ZXJlZF9ieToixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl90aWNrZXJfd2lkZ2V0OnsiMjRoX2hpZ2giOiJDYW8gdHJvbmcgMjRIIiwiMjRoX2xvdyI6IlRo4bqlcCB0cm9uZyAyNEgiLHZpZXdfcHJpY2VfY2hhcnQ6IlhlbSBiaeG7g3UgxJHhu5MgZ2nDoSIscG93ZXJlZF9ieToixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ont2aWV3X3ByaWNlX2NoYXJ0OiJYZW0gYmnhu4N1IMSR4buTIGdpw6EiLHBvd2VyZWRfYnk6IsSQxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5faGVhdG1hcF93aWRnZXQ6e3RpdGxlOiJTxqEgxJHhu5MgY8OieSBUaeG7gW4gbcOjIGjDs2EiLHN1YnRpdGxlOiIoVG9wICV7dG9wfSB0aGVvIHbhu5FuIGjDs2EpIixwb3dlcmVkX2J5OiLEkMaw4bujYyBo4buXIHRy4bujIGLhu59pICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifX19LGFmMDg6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPXtjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQ6e3Bvd2VyZWRfYnk6Itio2LHYudin2YrYqSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9wcmljZV9jaGFydF93aWRnZXQ6eyIyNGhfaGlnaCI6Itin2LHYqtmB2KfYuSDYudmE2Ykg2YXYr9in2LEgMjQg2LPYp9i52KkiLCIyNGhfbG93Ijoi2KfZhtiu2YHYp9i2INi52YTZiSDZhdiv2KfYsSAyNCDYs9in2LnYqSIsdmlld19wcmljZV9jaGFydDoi2LnYsdi2INmF2K7Yt9i3INin2YTYs9i52LEiLHBvd2VyZWRfYnk6Itio2LHYudin2YrYqSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldDp7cG93ZXJlZF9ieToi2KjYsdi52KfZitipICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2xpc3Rfd2lkZ2V0Ontwb3dlcmVkX2J5OiLYqNix2LnYp9mK2KkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGJlYW1fd2lkZ2V0Ontwb3dlcmVkX2J5OiLYqNix2LnYp9mK2KkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fdGlja2VyX3dpZGdldDp7IjI0aF9oaWdoIjoi2KfYsdiq2YHYp9i5INi52YTZiSDZhdiv2KfYsSAyNCDYs9in2LnYqSIsIjI0aF9sb3ciOiLYp9mG2K7Zgdin2LYg2LnZhNmJINmF2K/Yp9ixIDI0INiz2KfYudipIix2aWV3X3ByaWNlX2NoYXJ0OiLYudix2LYg2YXYrti32Lcg2KfZhNiz2LnYsSIscG93ZXJlZF9ieToi2KjYsdi52KfZitipICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2NvbnZlcnRlcl93aWRnZXQ6e3ZpZXdfcHJpY2VfY2hhcnQ6Iti52LHYtiDZhdiu2LfYtyDYp9mE2LPYudixIixwb3dlcmVkX2J5OiLYqNix2LnYp9mK2KkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5faGVhdG1hcF93aWRnZXQ6e3RpdGxlOiIg2K7YsdmK2LfYqSDYtNis2LHYqSDYp9mE2LnZhdmE2KfYqiDYp9mE2YXYtNmB2LHYqSIscG93ZXJlZF9ieToi2KjYsdi52KfZitipICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifX19LGFmMTQ6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0IjtuLmQodCwiYSIsZnVuY3Rpb24oKXtyZXR1cm4gcn0pO24oIjc2MTgiKTtmdW5jdGlvbiByKCl7cmV0dXJuIG51bGwhPWRvY3VtZW50LmhlYWQuYXR0YWNoU2hhZG93JiZudWxsIT13aW5kb3cuY3VzdG9tRWxlbWVudHMmJm51bGwhPXdpbmRvdy5mZXRjaH19LGIwYmM6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4scil7aWYoIShlIGluc3RhbmNlb2YgdCl8fHZvaWQgMCE9PXImJnIgaW4gZSl0aHJvdyBUeXBlRXJyb3IobisiOiBpbmNvcnJlY3QgaW52b2NhdGlvbiEiKTtyZXR1cm4gZX19LGIwYzU6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI1MjBhIik7bigiNWNhMSIpKHt0YXJnZXQ6IlJlZ0V4cCIscHJvdG86ITAsZm9yY2VkOnIhPT0vLi8uZXhlY30se2V4ZWM6cn0pfSxiMjJhOmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPXt9fSxiMjU4OmZ1bmN0aW9uKGUsdCxuKXtuKCJkMjU2IiksbigiMTJmZDkiKSxuKCJkMTI3IiksbigiZDI0ZiIpLGUuZXhwb3J0cz1uKCJhN2QzIikuU3ltYm9sfSxiM2U3OmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKCl7fX0sYjNmZDpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImYzNjciKSxvPW4oIjFiN2YiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgZT1vKCk7cmV0dXJuIHIoU3RyaW5nLnByb3RvdHlwZSx7dHJpbTplfSx7dHJpbTpmdW5jdGlvbigpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0hPT1lfX0pLGV9fSxiNDJjOmZ1bmN0aW9uKGUsdCxuKXtuKCJmYTU0Iik7Zm9yKHZhciByPW4oImRhM2MiKSxvPW4oIjhjZTAiKSxpPW4oImIyMmEiKSxhPW4oIjFiNTUiKSgidG9TdHJpbmdUYWciKSxjPSJDU1NSdWxlTGlzdCxDU1NTdHlsZURlY2xhcmF0aW9uLENTU1ZhbHVlTGlzdCxDbGllbnRSZWN0TGlzdCxET01SZWN0TGlzdCxET01TdHJpbmdMaXN0LERPTVRva2VuTGlzdCxEYXRhVHJhbnNmZXJJdGVtTGlzdCxGaWxlTGlzdCxIVE1MQWxsQ29sbGVjdGlvbixIVE1MQ29sbGVjdGlvbixIVE1MRm9ybUVsZW1lbnQsSFRNTFNlbGVjdEVsZW1lbnQsTWVkaWFMaXN0LE1pbWVUeXBlQXJyYXksTmFtZWROb2RlTWFwLE5vZGVMaXN0LFBhaW50UmVxdWVzdExpc3QsUGx1Z2luLFBsdWdpbkFycmF5LFNWR0xlbmd0aExpc3QsU1ZHTnVtYmVyTGlzdCxTVkdQYXRoU2VnTGlzdCxTVkdQb2ludExpc3QsU1ZHU3RyaW5nTGlzdCxTVkdUcmFuc2Zvcm1MaXN0LFNvdXJjZUJ1ZmZlckxpc3QsU3R5bGVTaGVldExpc3QsVGV4dFRyYWNrQ3VlTGlzdCxUZXh0VHJhY2tMaXN0LFRvdWNoTGlzdCIuc3BsaXQoIiwiKSxzPTA7czxjLmxlbmd0aDtzKyspe3ZhciB1PWNbc10sZj1yW3VdLGw9ZiYmZi5wcm90b3R5cGU7bCYmIWxbYV0mJm8obCxhLHUpLGlbdV09aS5BcnJheX19LGI0NTc6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ITB9LGI1YWE6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjZlMWYiKTtlLmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24oZSl7cmV0dXJuIkFycmF5Ij09cihlKX19LGI2MDQ6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJkMTNmIiksbz1uKCJhN2QzIiksaT1uKCJkYTNjIiksYT1uKCIzMDJmIiksYz1uKCJkZWNmIik7cihyLlArci5SLCJQcm9taXNlIix7ZmluYWxseTpmdW5jdGlvbihlKXt2YXIgdD1hKHRoaXMsby5Qcm9taXNlfHxpLlByb21pc2UpLG49ImZ1bmN0aW9uIj09dHlwZW9mIGU7cmV0dXJuIHRoaXMudGhlbihuP2Z1bmN0aW9uKG4pe3JldHVybiBjKHQsZSgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIG59KX06ZSxuP2Z1bmN0aW9uKG4pe3JldHVybiBjKHQsZSgpKS50aGVuKGZ1bmN0aW9uKCl7dGhyb3cgbn0pfTplKX19KX0sYmI1MzpmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuPWUldDtyZXR1cm4gTWF0aC5mbG9vcihuPj0wP246bit0KX19LGJjMjU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImYyZmUiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe2lmKHIoZSksdm9pZCAwPT09dClyZXR1cm4gZTtzd2l0Y2gobil7Y2FzZSAxOnJldHVybiBmdW5jdGlvbihuKXtyZXR1cm4gZS5jYWxsKHQsbil9O2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24obixyKXtyZXR1cm4gZS5jYWxsKHQsbixyKX07Y2FzZSAzOnJldHVybiBmdW5jdGlvbihuLHIsbyl7cmV0dXJuIGUuY2FsbCh0LG4scixvKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGUuYXBwbHkodCxhcmd1bWVudHMpfX19LGJjYWE6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImNiN2MiKSxvPW4oImQzZjQiKSxpPW4oImE1YjgiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtpZihyKGUpLG8odCkmJnQuY29uc3RydWN0b3I9PT1lKXJldHVybiB0O3ZhciBuPWkuZihlKSxhPW4ucmVzb2x2ZTtyZXR1cm4gYSh0KSxuLnByb21pc2V9fSxiZTEzOmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKHZvaWQgMD09ZSl0aHJvdyBUeXBlRXJyb3IoIkNhbid0IGNhbGwgbWV0aG9kIG9uICAiK2UpO3JldHVybiBlfX0sYzBkODpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiM2FkYyIpLmYsbz1uKCI0M2M4IiksaT1uKCIxYjU1IikoInRvU3RyaW5nVGFnIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXtlJiYhbyhlPW4/ZTplLnByb3RvdHlwZSxpKSYmcihlLGkse2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTp0fSl9fSxjMTY1OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJkMTNmIiksbz1uKCJhN2QzIiksaT1uKCJkNzgyIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7dmFyIG49KG8uT2JqZWN0fHx7fSlbZV18fE9iamVjdFtlXSxhPXt9O2FbZV09dChuKSxyKHIuUytyLkYqaShmdW5jdGlvbigpe24oMSl9KSwiT2JqZWN0IixhKX19LGMxZTI6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIyYjBlIiksbz1uKCIyODhhIiksaT1uLm4obyksYT1uKCI3NjE4IiksYz1uKCI1MTc2Iikscz1uLm4oYyksdT1uKCJhZjA4IiksZj1uKCI2Y2UyIiksbD1uKCJlZGQ0IikscD1uKCJhMzA2IiksZD1uKCJmNjkzIiksaD1uKCIyMTBjIiksdj1uKCIwODI1IiksbT1uKCIwNDIzIikseT1uKCJkZDExIiksXz1uKCI4OWIyIiksZz1uKCI1ZDY3IiksYj1uKCI3NzA0Iiksdz1uKCI4NjgwIikseD1uKCJmZmViIiksQz1uKCJhY2VkIiksUz1uKCIwNTZjIiksQT1uKCIzNTA0Iiksaz17YXI6dSxkZTpmLGVuOmwsZXM6cCxmcjpkLGlkOmgsaXQ6dixqYTptLGtvOnkscGw6XyxwdDpnLHJ1OmIsdGg6dyx0cjp4LHZpOkMsInpoLXR3IjpTLHpoOkF9LE89aztmdW5jdGlvbiBQKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToiZW4iO3JldHVybiAkKGtbZV0sa1t0XSl9ZnVuY3Rpb24gJChlLHQpe3ZhciBuPXMoKSh7fSx0KTtmb3IodmFyIHIgaW4gbil7dmFyIG89ZVtyXSxpPW5bcl07aWYobyYmaSlpZigib2JqZWN0Ij09PU9iamVjdChhWyJhIl0pKG8pJiYib2JqZWN0Ij09PU9iamVjdChhWyJhIl0pKGkpKWZvcih2YXIgYyBpbiBlW3JdKW5bcl1bY109ZVtyXVtjXTtlbHNlIG5bcl09ZVtyXX1yZXR1cm4gbn12YXIgaj1mdW5jdGlvbigpe3JldHVybiByWyJhIl0ubWl4aW4oe2RhdGE6ZnVuY3Rpb24oKXtyZXR1cm57cG9seWdsb3Q6bmV3IGkuYSh7cGhyYXNlczpQKCJlbiIpfSl9fSxtZXRob2RzOntyZWxvYWRMb2NhbGU6ZnVuY3Rpb24oKXtpZih2b2lkIDAhPT10aGlzLmxvY2FsZSl7aWYoIU9bdGhpcy5sb2NhbGVdKXRocm93IG5ldyBFcnJvcigiTG9jYWxlIG5vdCBzdXBwb3J0ZWQgYnkgd2lkZ2V0LiBDb250YWN0IHN1cHBvcnRAY29pbmdlY2tvLmNvbSBmb3IgaGVscC4iKTt0aGlzLnBvbHlnbG90PW5ldyBpLmEoe3BocmFzZXM6UCh0aGlzLmxvY2FsZSwiZW4iKX0pfX19LHdhdGNoOntsb2NhbGU6ZnVuY3Rpb24oKXt0aGlzLnJlbG9hZExvY2FsZSgpfX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMucmVsb2FkTG9jYWxlKCl9fSl9O3RbImEiXT1qfSxjMjI3OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJiMjJhIiksbz1uKCIxYjU1IikoIml0ZXJhdG9yIiksaT1BcnJheS5wcm90b3R5cGU7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiB2b2lkIDAhPT1lJiYoci5BcnJheT09PWV8fGlbb109PT1lKX19LGMzNjY6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjY4MjEiKSxvPW4oIjlkZWYiKSxpPW4oIjc3ZjEiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbixhKXt2YXIgYyxzPXIodCksdT1vKHMubGVuZ3RoKSxmPWkoYSx1KTtpZihlJiZuIT1uKXt3aGlsZSh1PmYpaWYoYz1zW2YrK10sYyE9YylyZXR1cm4hMH1lbHNlIGZvcig7dT5mO2YrKylpZigoZXx8ZiBpbiBzKSYmc1tmXT09PW4pcmV0dXJuIGV8fGZ8fDA7cmV0dXJuIWUmJi0xfX19LGM0NmQ6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJlOWFjIiksbz1yKCIlVHlwZUVycm9yJSIpLGk9cigiJVN5bnRheEVycm9yJSIpLGE9bigiYTBkMyIpLGM9eyJQcm9wZXJ0eSBEZXNjcmlwdG9yIjpmdW5jdGlvbihlLHQpe2lmKCJPYmplY3QiIT09ZS5UeXBlKHQpKXJldHVybiExO3ZhciBuPXsiW1tDb25maWd1cmFibGVdXSI6ITAsIltbRW51bWVyYWJsZV1dIjohMCwiW1tHZXRdXSI6ITAsIltbU2V0XV0iOiEwLCJbW1ZhbHVlXV0iOiEwLCJbW1dyaXRhYmxlXV0iOiEwfTtmb3IodmFyIHIgaW4gdClpZihhKHQscikmJiFuW3JdKXJldHVybiExO3ZhciBpPWEodCwiW1tWYWx1ZV1dIiksYz1hKHQsIltbR2V0XV0iKXx8YSh0LCJbW1NldF1dIik7aWYoaSYmYyl0aHJvdyBuZXcgbygiUHJvcGVydHkgRGVzY3JpcHRvcnMgbWF5IG5vdCBiZSBib3RoIGFjY2Vzc29yIGFuZCBkYXRhIGRlc2NyaXB0b3JzIik7cmV0dXJuITB9fTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4scil7dmFyIGE9Y1t0XTtpZigiZnVuY3Rpb24iIT09dHlwZW9mIGEpdGhyb3cgbmV3IGkoInVua25vd24gcmVjb3JkIHR5cGU6ICIrdCk7aWYoIWEoZSxyKSl0aHJvdyBuZXcgbyhuKyIgbXVzdCBiZSBhICIrdCk7Y29uc29sZS5sb2coYShlLHIpLHIpfX0sYzVmNjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjc3MjYiKSxvPW4oIjY5YTgiKSxpPW4oIjJkOTUiKSxhPW4oIjVkYmMiKSxjPW4oIjZhOTkiKSxzPW4oIjc5ZTUiKSx1PW4oIjkwOTMiKS5mLGY9bigiMTFlOSIpLmYsbD1uKCI4NmNjIikuZixwPW4oImFhNzciKS50cmltLGQ9Ik51bWJlciIsaD1yW2RdLHY9aCxtPWgucHJvdG90eXBlLHk9aShuKCIyYWViIikobSkpPT1kLF89InRyaW0iaW4gU3RyaW5nLnByb3RvdHlwZSxnPWZ1bmN0aW9uKGUpe3ZhciB0PWMoZSwhMSk7aWYoInN0cmluZyI9PXR5cGVvZiB0JiZ0Lmxlbmd0aD4yKXt0PV8/dC50cmltKCk6cCh0LDMpO3ZhciBuLHIsbyxpPXQuY2hhckNvZGVBdCgwKTtpZig0Mz09PWl8fDQ1PT09aSl7aWYobj10LmNoYXJDb2RlQXQoMiksODg9PT1ufHwxMjA9PT1uKXJldHVybiBOYU59ZWxzZSBpZig0OD09PWkpe3N3aXRjaCh0LmNoYXJDb2RlQXQoMSkpe2Nhc2UgNjY6Y2FzZSA5ODpyPTIsbz00OTticmVhaztjYXNlIDc5OmNhc2UgMTExOnI9OCxvPTU1O2JyZWFrO2RlZmF1bHQ6cmV0dXJuK3R9Zm9yKHZhciBhLHM9dC5zbGljZSgyKSx1PTAsZj1zLmxlbmd0aDt1PGY7dSsrKWlmKGE9cy5jaGFyQ29kZUF0KHUpLGE8NDh8fGE+bylyZXR1cm4gTmFOO3JldHVybiBwYXJzZUludChzLHIpfX1yZXR1cm4rdH07aWYoIWgoIiAwbzEiKXx8IWgoIjBiMSIpfHxoKCIrMHgxIikpe2g9ZnVuY3Rpb24oZSl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aDwxPzA6ZSxuPXRoaXM7cmV0dXJuIG4gaW5zdGFuY2VvZiBoJiYoeT9zKGZ1bmN0aW9uKCl7bS52YWx1ZU9mLmNhbGwobil9KTppKG4pIT1kKT9hKG5ldyB2KGcodCkpLG4saCk6Zyh0KX07Zm9yKHZhciBiLHc9bigiOWUxZSIpP3Uodik6Ik1BWF9WQUxVRSxNSU5fVkFMVUUsTmFOLE5FR0FUSVZFX0lORklOSVRZLFBPU0lUSVZFX0lORklOSVRZLEVQU0lMT04saXNGaW5pdGUsaXNJbnRlZ2VyLGlzTmFOLGlzU2FmZUludGVnZXIsTUFYX1NBRkVfSU5URUdFUixNSU5fU0FGRV9JTlRFR0VSLHBhcnNlRmxvYXQscGFyc2VJbnQsaXNJbnRlZ2VyIi5zcGxpdCgiLCIpLHg9MDt3Lmxlbmd0aD54O3grKylvKHYsYj13W3hdKSYmIW8oaCxiKSYmbChoLGIsZih2LGIpKTtoLnByb3RvdHlwZT1tLG0uY29uc3RydWN0b3I9aCxuKCIyYWJhIikocixkLGgpfX0sYzYwOTpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oImQxM2YiKSxvPW4oIjAzY2EiKSxpPW4oIjc1YzkiKTtyKHIuUywiUHJvbWlzZSIse3RyeTpmdW5jdGlvbihlKXt2YXIgdD1vLmYodGhpcyksbj1pKGUpO3JldHVybihuLmU/dC5yZWplY3Q6dC5yZXNvbHZlKShuLnYpLHQucHJvbWlzZX19KX0sYzYxMjpmdW5jdGlvbihlLHQpe3ZhciBuPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPT1lfTtlLmV4cG9ydHM9TnVtYmVyLmlzRmluaXRlfHxmdW5jdGlvbihlKXtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiBlJiYhbihlKSYmZSE9PTEvMCYmZSE9PS0xLzB9fSxjNjQ5OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQsImMiLGZ1bmN0aW9uKCl7cmV0dXJuIGl9KSxuLmQodCwiYiIsZnVuY3Rpb24oKXtyZXR1cm4gY30pLG4uZCh0LCJhIixmdW5jdGlvbigpe3JldHVybiBzfSk7bigiYTQ4MSIpLG4oIjVkZjMiKTt2YXIgcj1uKCI3OTViIiksbz1uLm4ocik7bigiYWM2YSIpO2Z1bmN0aW9uIGkoZSl7dmFyIHQ9W107cmV0dXJuIGUuZm9yRWFjaChmdW5jdGlvbihlKXt0LnB1c2gobmV3IG8uYShmdW5jdGlvbih0LG4pe2EoZSx0LG4pfSkpfSksby5hLmFsbCh0KX1mdW5jdGlvbiBhKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTpmdW5jdGlvbigpe30sbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06ZnVuY3Rpb24oKXt9LHI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7ci5zcmM9ZS5zcmMsci5jcm9zc09yaWdpbj0iYW5vbnltb3VzIixyLmludGVncml0eT1lLmludGVncml0eSxyLm9ubG9hZD10LHIub25lcnJvcj1mdW5jdGlvbigpe24obmV3IEVycm9yKCJGYWlsZWQgdG8gbG9hZCBzY3JpcHQgIitlLnNyYykpfSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKHIpfWZ1bmN0aW9uIGMoZSx0LG4pe3ZhciByO3JldHVybiBmdW5jdGlvbigpe3ZhciBvPXRoaXMsaT1hcmd1bWVudHMsYT1mdW5jdGlvbigpe3I9bnVsbCxufHxlLmFwcGx5KG8saSl9LGM9biYmIXI7Y2xlYXJUaW1lb3V0KHIpLHI9c2V0VGltZW91dChhLHQpLGMmJmUuYXBwbHkobyxpKX19ZnVuY3Rpb24gcyhlKXt2YXIgdD1bXS5zbGljZSxuPTE8PWFyZ3VtZW50cy5sZW5ndGg/dC5jYWxsKGFyZ3VtZW50cywwKTpbXSxyPS8oXnxbXHNcbl18PFtBLVphLXpdKlwvPz4pKCg/Omh0dHBzP3xmdHApOlwvXC9bXC1BLVowLTkrXHUwMDI2XHUyMDE5QCNcLyU/PSgpfl98ITosLjtdKltcLUEtWjAtOStcdTAwMjZAI1wvJT1+KClffF0pL2dpO3JldHVybiBuLmxlbmd0aD4wP2UucmVwbGFjZShyLGZ1bmN0aW9uKGUsdCxuKXt2YXIgcj0nPGEgaHJlZj0iJytuKyciIGNsYXNzPSJjZy1wcmltYXJ5LWNvbG9yLWRhcmsgY2ctbm8tdW5kZXJsaW5lIiB0YXJnZXQ9Il9ibGFuayI+JytuKyI8L2E+IjtyZXR1cm4iIit0K3J9KTplLnJlcGxhY2UociwnJDE8YSBjbGFzcz0iY2ctcHJpbWFyeS1jb2xvci1kYXJrIGNnLW5vLXVuZGVybGluZSIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9IiQyIj4kMjwvYT4nKX19LGM2OWE6ZnVuY3Rpb24oZSx0LG4pe2UuZXhwb3J0cz0hbigiOWUxZSIpJiYhbigiNzllNSIpKGZ1bmN0aW9uKCl7cmV0dXJuIDchPU9iamVjdC5kZWZpbmVQcm9wZXJ0eShuKCIyMzBlIikoImRpdiIpLCJhIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSkuYX0pfSxjODk0OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlLHQpe3JldHVybiBlLl9fcHJvdG9fXz10LGV9T2JqZWN0LnNldFByb3RvdHlwZU9mPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8cjtyLmJpbmQoT2JqZWN0KTtmdW5jdGlvbiBvKCl7cmV0dXJuInVuZGVmaW5lZCIhPT10eXBlb2YgU3ltYm9sJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBSZWZsZWN0JiYidW5kZWZpbmVkIiE9PXR5cGVvZiBQcm94eSYmIU9iamVjdC5pc1NlYWxlZChQcm94eSl9dmFyIGk9bygpLGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUsdCl7Zm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspe3ZhciByPXRbbl07ci5lbnVtZXJhYmxlPXIuZW51bWVyYWJsZXx8ITEsci5jb25maWd1cmFibGU9ITAsInZhbHVlImluIHImJihyLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLmtleSxyKX19cmV0dXJuIGZ1bmN0aW9uKHQsbixyKXtyZXR1cm4gbiYmZSh0LnByb3RvdHlwZSxuKSxyJiZlKHQsciksdH19KCk7ZnVuY3Rpb24gYyhlLHQpe2lmKCEoZSBpbnN0YW5jZW9mIHQpKXRocm93IG5ldyBUeXBlRXJyb3IoIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvbiIpfWZ1bmN0aW9uIHMoZSx0KXtpZighZSl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZCIpO3JldHVybiF0fHwib2JqZWN0IiE9PXR5cGVvZiB0JiYiZnVuY3Rpb24iIT09dHlwZW9mIHQ/ZTp0fWZ1bmN0aW9uIHUoZSx0KXtpZigiZnVuY3Rpb24iIT09dHlwZW9mIHQmJm51bGwhPT10KXRocm93IG5ldyBUeXBlRXJyb3IoIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgIit0eXBlb2YgdCk7ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0JiZ0LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOmUsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksdCYmKE9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YoZSx0KTplLl9fcHJvdG9fXz10KX1mdW5jdGlvbiBmKCl7cmV0dXJuIFJlZmxlY3QuY29uc3RydWN0KEhUTUxFbGVtZW50LFtdLHRoaXMuX19wcm90b19fLmNvbnN0cnVjdG9yKX1mdW5jdGlvbiBsKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTp7fTtpZigidW5kZWZpbmVkIiE9PXR5cGVvZiBjdXN0b21FbGVtZW50cyl7aWYoaSl7dmFyIG49ZnVuY3Rpb24oZSl7ZnVuY3Rpb24gbihlKXt2YXIgdDtjKHRoaXMsbik7dmFyIHI9cyh0aGlzLChuLl9fcHJvdG9fX3x8T2JqZWN0LmdldFByb3RvdHlwZU9mKG4pKS5jYWxsKHRoaXMpKSxpPWU/SFRNTEVsZW1lbnQuY2FsbChlKTpyO3JldHVybiBvLmNhbGwoaSksdD1pLHMocix0KX1yZXR1cm4gdShuLGUpLGEobixudWxsLFt7a2V5OiJvYnNlcnZlZEF0dHJpYnV0ZXMiLGdldDpmdW5jdGlvbigpe3JldHVybiB0Lm9ic2VydmVkQXR0cmlidXRlc3x8W119fV0pLG59KGYpO3JldHVybiBuLnByb3RvdHlwZS5jb25uZWN0ZWRDYWxsYmFjaz1sLG4ucHJvdG90eXBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrPXAsbi5wcm90b3R5cGUuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrPWQsaChlLG4pLG59dmFyIHI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZT9IVE1MRWxlbWVudC5jYWxsKGUpOnRoaXM7cmV0dXJuIG8uY2FsbCh0KSx0fTtyZXR1cm4gci5vYnNlcnZlZEF0dHJpYnV0ZXM9dC5vYnNlcnZlZEF0dHJpYnV0ZXN8fFtdLHIucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoSFRNTEVsZW1lbnQucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOnJ9fSksci5wcm90b3R5cGUuY29ubmVjdGVkQ2FsbGJhY2s9bCxyLnByb3RvdHlwZS5kaXNjb25uZWN0ZWRDYWxsYmFjaz1wLHIucHJvdG90eXBlLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaz1kLGgoZSxyKSxyfWZ1bmN0aW9uIG8oKXshMD09PXQuc2hhZG93JiZIVE1MRWxlbWVudC5wcm90b3R5cGUuYXR0YWNoU2hhZG93JiZ0aGlzLmF0dGFjaFNoYWRvdyh7bW9kZToib3BlbiJ9KSwiZnVuY3Rpb24iPT09dHlwZW9mIHQuY29uc3RydWN0b3JDYWxsYmFjayYmdC5jb25zdHJ1Y3RvckNhbGxiYWNrLmNhbGwodGhpcyl9ZnVuY3Rpb24gbCgpeyJmdW5jdGlvbiI9PT10eXBlb2YgdC5jb25uZWN0ZWRDYWxsYmFjayYmdC5jb25uZWN0ZWRDYWxsYmFjay5jYWxsKHRoaXMpfWZ1bmN0aW9uIHAoKXsiZnVuY3Rpb24iPT09dHlwZW9mIHQuZGlzY29ubmVjdGVkQ2FsbGJhY2smJnQuZGlzY29ubmVjdGVkQ2FsbGJhY2suY2FsbCh0aGlzKX1mdW5jdGlvbiBkKGUsbixyKXsiZnVuY3Rpb24iPT09dHlwZW9mIHQuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrJiZ0LmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjay5jYWxsKHRoaXMsZSxuLHIpfWZ1bmN0aW9uIGgoZSx0KXt2YXIgbj1jdXN0b21FbGVtZW50cy5nZXQoZSk7cmV0dXJuInVuZGVmaW5lZCIhPT10eXBlb2Ygbj9uOmN1c3RvbUVsZW1lbnRzLmRlZmluZShlLHQpfX1PYmplY3Quc2V0UHJvdG90eXBlT2YoZi5wcm90b3R5cGUsSFRNTEVsZW1lbnQucHJvdG90eXBlKSxPYmplY3Quc2V0UHJvdG90eXBlT2YoZixIVE1MRWxlbWVudCk7dmFyIHA9Ly0oXHcpL2csZD1mdW5jdGlvbihlKXtyZXR1cm4gZS5yZXBsYWNlKHAsZnVuY3Rpb24oZSx0KXtyZXR1cm4gdD90LnRvVXBwZXJDYXNlKCk6IiJ9KX0saD0vKFteLV0pKFtBLVpdKS9nLHY9ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZShoLCIkMS0kMiIpLnJlcGxhY2UoaCwiJDEtJDIiKS50b0xvd2VyQ2FzZSgpfTtmdW5jdGlvbiBtKGUpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowLG49ZS5sZW5ndGgtdCxyPW5ldyBBcnJheShuKTt3aGlsZShuLS0pcltuXT1lW24rdF07cmV0dXJuIHJ9dmFyIHk9ImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbihlKXtyZXR1cm4gdHlwZW9mIGV9OmZ1bmN0aW9uKGUpe3JldHVybiBlJiYiZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmZS5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmZSE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIGV9O2Z1bmN0aW9uIF8oZSx0KXt2YXIgbj1lLHI9WyJ0cnVlIiwiZmFsc2UiXS5pbmRleE9mKGUpPi0xLG89cGFyc2VGbG9hdChuLDEwKSxpPSFpc05hTihvKSYmaXNGaW5pdGUobikmJiJzdHJpbmciPT09dHlwZW9mIG4mJiFuLm1hdGNoKC9eMCtbXi5dXGQqJC9nKTtyZXR1cm4gdCYmdCE9PUJvb2xlYW4mJigidW5kZWZpbmVkIj09PXR5cGVvZiBuPyJ1bmRlZmluZWQiOnkobikpIT09dD9uPXQoZSk6cnx8dD09PUJvb2xlYW4/bj0iIj09PW58fCJ0cnVlIj09PW46aSYmKG49byksbn1mdW5jdGlvbiBnKGUsdCl7aWYoZSYmZS5sZW5ndGgpZS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3ZhciBuPWQoZSk7LTE9PT10LmNhbWVsQ2FzZS5pbmRleE9mKG4pJiZ0LmNhbWVsQ2FzZS5wdXNoKG4pfSk7ZWxzZSBpZihlJiYib2JqZWN0Ij09PSgidW5kZWZpbmVkIj09PXR5cGVvZiBlPyJ1bmRlZmluZWQiOnkoZSkpKWZvcih2YXIgbiBpbiBlKXt2YXIgcj1kKG4pOy0xPT09dC5jYW1lbENhc2UuaW5kZXhPZihyKSYmdC5jYW1lbENhc2UucHVzaChyKSxlW3JdJiZlW3JdLnR5cGUmJih0LnR5cGVzW25dPVtdLmNvbmNhdChlW3JdLnR5cGUpWzBdKX19ZnVuY3Rpb24gYigpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSx0PXtjYW1lbENhc2U6W10saHlwaGVuYXRlOltdLHR5cGVzOnt9fTtpZihlLm1peGlucyYmZS5taXhpbnMuZm9yRWFjaChmdW5jdGlvbihlKXtnKGUucHJvcHMsdCl9KSxlLmV4dGVuZHMmJmUuZXh0ZW5kcy5wcm9wcyl7dmFyIG49ZS5leHRlbmRzLnByb3BzO2cobix0KX1yZXR1cm4gZyhlLnByb3BzLHQpLHQuY2FtZWxDYXNlLmZvckVhY2goZnVuY3Rpb24oZSl7dC5oeXBoZW5hdGUucHVzaCh2KGUpKX0pLHR9ZnVuY3Rpb24gdyhlLHQpe3QuY2FtZWxDYXNlLmZvckVhY2goZnVuY3Rpb24obixyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fW25dfSxzZXQ6ZnVuY3Rpb24oZSl7aWYoIm9iamVjdCIhPT0oInVuZGVmaW5lZCI9PT10eXBlb2YgZT8idW5kZWZpbmVkIjp5KGUpKSYmImZ1bmN0aW9uIiE9PXR5cGVvZiBlfHwhdGhpcy5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fKXt2YXIgbj10LnR5cGVzW3QuY2FtZWxDYXNlW3JdXTt0aGlzLnNldEF0dHJpYnV0ZSh0Lmh5cGhlbmF0ZVtyXSxfKGUsbikpfWVsc2V7dmFyIG89dC5jYW1lbENhc2Vbcl07dGhpcy5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fW29dPWV9fX0pfSl9ZnVuY3Rpb24geChlLHQsbil7dmFyIHI9dC5wcm9wc0RhdGF8fHt9O3JldHVybiBuLmh5cGhlbmF0ZS5mb3JFYWNoKGZ1bmN0aW9uKHQsbyl7dmFyIGk9bi5jYW1lbENhc2Vbb10sYT1lLmF0dHJpYnV0ZXNbdF18fGVbaV0sYz1udWxsO24udHlwZXNbaV0mJihjPW4udHlwZXNbaV0pLGEgaW5zdGFuY2VvZiBBdHRyP3JbaV09XyhhLnZhbHVlLGMpOiJ1bmRlZmluZWQiIT09dHlwZW9mIGEmJihyW2ldPWEpfSkscn1mdW5jdGlvbiBDKGUpe3ZhciB0PXt9O3JldHVybiBtKGUuYXR0cmlidXRlcykuZm9yRWFjaChmdW5jdGlvbihlKXt0WyJ2dWUtc2xvdCI9PT1lLm5vZGVOYW1lPyJzbG90IjplLm5vZGVOYW1lXT1lLm5vZGVWYWx1ZX0pLHR9ZnVuY3Rpb24gUyhlKXtpZihlLmNoaWxkTm9kZXMubGVuZ3RoKXJldHVybiBlLmNoaWxkTm9kZXM7aWYoZS5jb250ZW50JiZlLmNvbnRlbnQuY2hpbGROb2RlcyYmZS5jb250ZW50LmNoaWxkTm9kZXMubGVuZ3RoKXJldHVybiBlLmNvbnRlbnQuY2hpbGROb2Rlczt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gdC5pbm5lckhUTUw9ZS5pbm5lckhUTUwsdC5jaGlsZE5vZGVzfWZ1bmN0aW9uIEEoZSx0LG4pe3ZhciByPVModCksbz1tKHIpLm1hcChmdW5jdGlvbih0KXtyZXR1cm4iI3RleHQiPT09dC5ub2RlTmFtZT90Lm5vZGVWYWx1ZTplKHQudGFnTmFtZSx7YXR0cnM6Qyh0KSxkb21Qcm9wczp7aW5uZXJIVE1MOnQuaW5uZXJIVE1MfX0pfSk7cmV0dXJuIG4uc2xvdD10LmlkLGUoInRlbXBsYXRlIixuLG8pfWZ1bmN0aW9uIGsoKXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjAmJnZvaWQgMCE9PWFyZ3VtZW50c1swXT9hcmd1bWVudHNbMF06W10sdD1hcmd1bWVudHNbMV0sbj1bXTtyZXR1cm4gbShlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe2lmKCIjdGV4dCI9PT1lLm5vZGVOYW1lKWUubm9kZVZhbHVlLnRyaW0oKSYmbi5wdXNoKHQoInNwYW4iLGUubm9kZVZhbHVlKSk7ZWxzZSBpZigiI2NvbW1lbnQiIT09ZS5ub2RlTmFtZSl7dmFyIHI9QyhlKSxvPXthdHRyczpyLGRvbVByb3BzOntpbm5lckhUTUw6IiI9PT1lLmlubmVySFRNTD9lLmlubmVyVGV4dDplLmlubmVySFRNTH19O3Iuc2xvdCYmKG8uc2xvdD1yLnNsb3Qsci5zbG90PXZvaWQgMCk7dmFyIGk9IlRFTVBMQVRFIj09PWUudGFnTmFtZT9BKHQsZSxvKTp0KGUudGFnTmFtZSxvKTtuLnB1c2goaSl9fSksbn1mdW5jdGlvbiBPKGUsdCl7dmFyIG49e2J1YmJsZXM6ITEsY2FuY2VsYWJsZTohMSxkZXRhaWw6dH0scj12b2lkIDA7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZiB3aW5kb3cuQ3VzdG9tRXZlbnQ/cj1uZXcgQ3VzdG9tRXZlbnQoZSxuKToocj1kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxyLmluaXRDdXN0b21FdmVudChlLG4uYnViYmxlcyxuLmNhbmNlbGFibGUsbi5kZXRhaWwpKSxyfWZ1bmN0aW9uIFAoZSx0KXtmb3IodmFyIG49YXJndW1lbnRzLmxlbmd0aCxyPUFycmF5KG4+Mj9uLTI6MCksbz0yO288bjtvKyspcltvLTJdPWFyZ3VtZW50c1tvXTt2YXIgaT1PKHQsW10uY29uY2F0KHIpKTtlLmRpc3BhdGNoRXZlbnQoaSl9ZnVuY3Rpb24gJChlLHQsbixyLG8pe2lmKCFlLl9fdnVlX2N1c3RvbV9lbGVtZW50X18pe3ZhciBpPWZ1bmN0aW9uKCl7dGhpcy4kZW1pdD1mdW5jdGlvbigpe2Zvcih2YXIgdCxuPWFyZ3VtZW50cy5sZW5ndGgscj1BcnJheShuKSxvPTA7bzxuO28rKylyW29dPWFyZ3VtZW50c1tvXTtQLmFwcGx5KHZvaWQgMCxbZV0uY29uY2F0KHIpKSx0aGlzLl9fcHJvdG9fXyYmKHQ9dGhpcy5fX3Byb3RvX18uJGVtaXQpLmNhbGwuYXBwbHkodCxbdGhpc10uY29uY2F0KHIpKX19LGE9dC51dGlsLmV4dGVuZCh7fSxuKSxjPXgoZSxhLHIpLHM9dC52ZXJzaW9uJiZwYXJzZUludCh0LnZlcnNpb24uc3BsaXQoIi4iKVswXSwxMCl8fDA7aWYoYS5iZWZvcmVDcmVhdGU9W10uY29uY2F0KGEuYmVmb3JlQ3JlYXRlfHxbXSxpKSxhLl9jb21waWxlZCl7dmFyIHU9e307YS5fQ3RvciYmKHU9T2JqZWN0LnZhbHVlcyhhLl9DdG9yKVswXS5vcHRpb25zKSx1LmJlZm9yZUNyZWF0ZT1hLmJlZm9yZUNyZWF0ZX12YXIgZj12b2lkIDA7aWYocz49Mil7dmFyIGw9ZS5jbG9uZU5vZGUoITApLmNoaWxkTm9kZXM7Zj17cHJvcHNEYXRhOmMscHJvcHM6ci5jYW1lbENhc2UsY29tcHV0ZWQ6e3JlYWN0aXZlUHJvcHM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9e307cmV0dXJuIHIuY2FtZWxDYXNlLmZvckVhY2goZnVuY3Rpb24obil7InVuZGVmaW5lZCIhPT10eXBlb2YgZVtuXSYmKHRbbl09ZVtuXSl9KSx0fX0scmVuZGVyOmZ1bmN0aW9uKGUpe3ZhciB0PXtwcm9wczp0aGlzLnJlYWN0aXZlUHJvcHN9O3JldHVybiBlKGEsdCxrKGwsZSkpfX19ZWxzZSBpZigxPT09cylmPWEsZi5wcm9wc0RhdGE9YztlbHNle2Y9YTt2YXIgcD17fTtPYmplY3Qua2V5cyhjKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3BbZV09e2RlZmF1bHQ6Y1tlXX19KSxmLnByb3BzPXB9dmFyIGQ9cz49Mj8iPGRpdj48L2Rpdj4iOigiPGRpdj4iK2UuaW5uZXJIVE1MKyI8L2Rpdj4iKS5yZXBsYWNlKC92dWUtc2xvdD0vZywic2xvdD0iKTtpZihvLnNoYWRvdyYmZS5zaGFkb3dSb290PyhlLnNoYWRvd1Jvb3QuaW5uZXJIVE1MPWQsZi5lbD1lLnNoYWRvd1Jvb3QuY2hpbGRyZW5bMF0pOihlLmlubmVySFRNTD1kLGYuZWw9ZS5jaGlsZHJlblswXSksdyhlLHIpLCJmdW5jdGlvbiI9PT10eXBlb2Ygby5iZWZvcmVDcmVhdGVWdWVJbnN0YW5jZSYmKGY9by5iZWZvcmVDcmVhdGVWdWVJbnN0YW5jZShmKXx8ZiksZS5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fPW5ldyB0KGYpLGUuX192dWVfY3VzdG9tX2VsZW1lbnRfcHJvcHNfXz1yLGUuZ2V0VnVlSW5zdGFuY2U9ZnVuY3Rpb24oKXtyZXR1cm4gZS5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fLiRjaGlsZHJlblswXX0sby5zaGFkb3cmJm8uc2hhZG93Q3NzJiZlLnNoYWRvd1Jvb3Qpe3ZhciBoPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInN0eWxlIik7aC50eXBlPSJ0ZXh0L2NzcyIsaC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShvLnNoYWRvd0NzcykpLGUuc2hhZG93Um9vdC5hcHBlbmRDaGlsZChoKX1lLnJlbW92ZUF0dHJpYnV0ZSgidmNlLWNsb2FrIiksZS5zZXRBdHRyaWJ1dGUoInZjZS1yZWFkeSIsIiIpLFAoZSwidmNlLXJlYWR5Iil9fWZ1bmN0aW9uIGooZSl7ZS5jdXN0b21FbGVtZW50PWZ1bmN0aW9uKHQsbil7dmFyIHI9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOnt9LG89ImZ1bmN0aW9uIj09PXR5cGVvZiBuLGk9byYme3Byb3BzOnIucHJvcHN8fFtdfSxhPWIobz9pOm4pLGM9bCh0LHtjb25zdHJ1Y3RvckNhbGxiYWNrOmZ1bmN0aW9uKCl7ImZ1bmN0aW9uIj09PXR5cGVvZiByLmNvbnN0cnVjdG9yQ2FsbGJhY2smJnIuY29uc3RydWN0b3JDYWxsYmFjay5jYWxsKHRoaXMpfSxjb25uZWN0ZWRDYWxsYmFjazpmdW5jdGlvbigpe3ZhciBpPXRoaXMsYz1vJiZuKCkscz1jJiZjLnRoZW4mJiJmdW5jdGlvbiI9PT10eXBlb2YgYy50aGVuO2lmKCJmdW5jdGlvbiI9PT10eXBlb2Ygci5jb25uZWN0ZWRDYWxsYmFjayYmci5jb25uZWN0ZWRDYWxsYmFjay5jYWxsKHRoaXMpLG8mJiFzKXRocm93IG5ldyBFcnJvcigiQXN5bmMgY29tcG9uZW50ICIrdCsiIGRvIG5vdCByZXR1cm5zIFByb21pc2UiKTt0aGlzLl9fZGV0YWNoZWRfX3x8KHM/Yy50aGVuKGZ1bmN0aW9uKHQpe3ZhciBuPWIodCk7JChpLGUsdCxuLHIpLCJmdW5jdGlvbiI9PT10eXBlb2Ygci52dWVJbnN0YW5jZUNyZWF0ZWRDYWxsYmFjayYmci52dWVJbnN0YW5jZUNyZWF0ZWRDYWxsYmFjay5jYWxsKGkpfSk6KCQodGhpcyxlLG4sYSxyKSwiZnVuY3Rpb24iPT09dHlwZW9mIHIudnVlSW5zdGFuY2VDcmVhdGVkQ2FsbGJhY2smJnIudnVlSW5zdGFuY2VDcmVhdGVkQ2FsbGJhY2suY2FsbCh0aGlzKSkpLHRoaXMuX19kZXRhY2hlZF9fPSExfSxkaXNjb25uZWN0ZWRDYWxsYmFjazpmdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5fX2RldGFjaGVkX189ITAsImZ1bmN0aW9uIj09PXR5cGVvZiByLmRpc2Nvbm5lY3RlZENhbGxiYWNrJiZyLmRpc2Nvbm5lY3RlZENhbGxiYWNrLmNhbGwodGhpcyksc2V0VGltZW91dChmdW5jdGlvbigpe2UuX19kZXRhY2hlZF9fJiZlLl9fdnVlX2N1c3RvbV9lbGVtZW50X18mJihlLl9fdnVlX2N1c3RvbV9lbGVtZW50X18uJGRlc3Ryb3koITApLGRlbGV0ZSBlLl9fdnVlX2N1c3RvbV9lbGVtZW50X18sZGVsZXRlIGUuX192dWVfY3VzdG9tX2VsZW1lbnRfcHJvcHNfXyl9LHIuZGVzdHJveVRpbWVvdXR8fDNlMyl9LGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjazpmdW5jdGlvbihlLHQsbil7aWYodGhpcy5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBuKXt2YXIgbz1kKGUpOyJmdW5jdGlvbiI9PT10eXBlb2Ygci5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2smJnIuYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrLmNhbGwodGhpcyxlLHQsbik7dmFyIGk9dGhpcy5fX3Z1ZV9jdXN0b21fZWxlbWVudF9wcm9wc19fLnR5cGVzW29dO3RoaXMuX192dWVfY3VzdG9tX2VsZW1lbnRfX1tvXT1fKG4saSl9fSxvYnNlcnZlZEF0dHJpYnV0ZXM6YS5oeXBoZW5hdGUsc2hhZG93OiEhci5zaGFkb3cmJiEhSFRNTEVsZW1lbnQucHJvdG90eXBlLmF0dGFjaFNoYWRvd30pO3JldHVybiBjfX0idW5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy5WdWUmJih3aW5kb3cuVnVlLnVzZShqKSxqLmluc3RhbGxlZCYmKGouaW5zdGFsbGVkPSExKSksdFsiYSJdPWp9LGM4YmE6ZnVuY3Rpb24oZSx0KXt2YXIgbjtuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCk7dHJ5e249bnx8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2gocil7Im9iamVjdCI9PT10eXBlb2Ygd2luZG93JiYobj13aW5kb3cpfWUuZXhwb3J0cz1ufSxjYTVhOmZ1bmN0aW9uKGUsdCl7dmFyIG49MCxyPU1hdGgucmFuZG9tKCk7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3JldHVybiJTeW1ib2woIi5jb25jYXQodm9pZCAwPT09ZT8iIjplLCIpXyIsKCsrbityKS50b1N0cmluZygzNikpfX0sY2E5ZjpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByPW4oIjBmN2MiKSxvPW4oImYzNjciKSxpPW4oIjU2MmUiKSxhPW4oIjFiN2YiKSxjPW4oImIzZmQiKSxzPXIuY2FsbChGdW5jdGlvbi5jYWxsLGEoKSk7byhzLHtnZXRQb2x5ZmlsbDphLGltcGxlbWVudGF0aW9uOmksc2hpbTpjfSksZS5leHBvcnRzPXN9LGNhZGY6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCI5YzZjIiksbz1uKCJkNTNiIiksaT1uKCI4NGYyIiksYT1uKCI2ODIxIik7ZS5leHBvcnRzPW4oIjAxZjkiKShBcnJheSwiQXJyYXkiLGZ1bmN0aW9uKGUsdCl7dGhpcy5fdD1hKGUpLHRoaXMuX2k9MCx0aGlzLl9rPXR9LGZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fdCx0PXRoaXMuX2ssbj10aGlzLl9pKys7cmV0dXJuIWV8fG4+PWUubGVuZ3RoPyh0aGlzLl90PXZvaWQgMCxvKDEpKTpvKDAsImtleXMiPT10P246InZhbHVlcyI9PXQ/ZVtuXTpbbixlW25dXSl9LCJ2YWx1ZXMiKSxpLkFyZ3VtZW50cz1pLkFycmF5LHIoImtleXMiKSxyKCJ2YWx1ZXMiKSxyKCJlbnRyaWVzIil9LGNiN2M6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImQzZjQiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoIXIoZSkpdGhyb3cgVHlwZUVycm9yKGUrIiBpcyBub3QgYW4gb2JqZWN0ISIpO3JldHVybiBlfX0sY2QxYzpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiZTg1MyIpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybiBuZXcocihlKSkodCl9fSxjZTEwOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI2OWE4Iiksbz1uKCI2ODIxIiksaT1uKCJjMzY2IikoITEpLGE9bigiNjEzYiIpKCJJRV9QUk9UTyIpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuLGM9byhlKSxzPTAsdT1bXTtmb3IobiBpbiBjKW4hPWEmJnIoYyxuKSYmdS5wdXNoKG4pO3doaWxlKHQubGVuZ3RoPnMpcihjLG49dFtzKytdKSYmKH5pKHUsbil8fHUucHVzaChuKSk7cmV0dXJuIHV9fSxjZTcwOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5yKHQpO24oIjZiNTQiKSxuKCJjYWRmIiksbigiNTUxYyIpLG4oIjA5N2QiKTt2YXIgcj1uKCIyYjBlIiksbz1uKCJjODk0IiksaT1uKCI1MzA5IiksYT1uKCJhZjE0IiksYz1uKCJjNjQ5Iikscz1uKCJkYTY4IiksdT1uKCI4NTk4IiksZj1uLm4odSk7clsiYSJdLnVzZShvWyJhIl0pO3ZhciBsPWZ1bmN0aW9uKCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOntzaGFkb3c6ITF9O3JbImEiXS5jdXN0b21FbGVtZW50KCJjb2luZ2Vja28tY29pbi1wcmljZS1tYXJxdWVlLXdpZGdldCIsc1siYSJdLHtzaGFkb3c6ZS5zaGFkb3csc2hhZG93Q3NzOmYuYS50b1N0cmluZygpLGNvbm5lY3RlZENhbGxiYWNrOmZ1bmN0aW9uKCl7aWYoIWUuc2hhZG93KXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3QuaW5uZXJIVE1MPWYuYS50b1N0cmluZygpLGRvY3VtZW50LmhlYWQuYXBwZW5kKHQpfX19KX07T2JqZWN0KGFbImEiXSkoKT9sKHtzaGFkb3c6ITB9KTpPYmplY3QoY1siYyJdKShbaVsiYSJdLmN1c3RvbUVsZW1lbnQsaVsiYSJdLmZldGNoLGlbImEiXS5jc3N2YXJdKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGwoe3NoYWRvdzohMX0pfSl9LGQwMjQ6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCIyMWQwIiksbz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxhPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHI9MCxvPWUubGVuZ3RoO3I8bztyKyspaS5jYWxsKGUscikmJihudWxsPT1uP3QoZVtyXSxyLGUpOnQuY2FsbChuLGVbcl0scixlKSl9LGM9ZnVuY3Rpb24oZSx0LG4pe2Zvcih2YXIgcj0wLG89ZS5sZW5ndGg7cjxvO3IrKyludWxsPT1uP3QoZS5jaGFyQXQocikscixlKTp0LmNhbGwobixlLmNoYXJBdChyKSxyLGUpfSxzPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIHIgaW4gZSlpLmNhbGwoZSxyKSYmKG51bGw9PW4/dChlW3JdLHIsZSk6dC5jYWxsKG4sZVtyXSxyLGUpKX0sdT1mdW5jdGlvbihlLHQsbil7aWYoIXIodCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiaXRlcmF0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dmFyIGk7YXJndW1lbnRzLmxlbmd0aD49MyYmKGk9biksIltvYmplY3QgQXJyYXldIj09PW8uY2FsbChlKT9hKGUsdCxpKToic3RyaW5nIj09PXR5cGVvZiBlP2MoZSx0LGkpOnMoZSx0LGkpfTtlLmV4cG9ydHM9dX0sZDEyNzpmdW5jdGlvbihlLHQsbil7bigiMGEwYSIpKCJhc3luY0l0ZXJhdG9yIil9LGQxM2Y6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImRhM2MiKSxvPW4oImE3ZDMiKSxpPW4oImJjMjUiKSxhPW4oIjhjZTAiKSxjPW4oIjQzYzgiKSxzPSJwcm90b3R5cGUiLHU9ZnVuY3Rpb24oZSx0LG4pe3ZhciBmLGwscCxkPWUmdS5GLGg9ZSZ1Lkcsdj1lJnUuUyxtPWUmdS5QLHk9ZSZ1LkIsXz1lJnUuVyxnPWg/bzpvW3RdfHwob1t0XT17fSksYj1nW3NdLHc9aD9yOnY/clt0XTooclt0XXx8e30pW3NdO2ZvcihmIGluIGgmJihuPXQpLG4pbD0hZCYmdyYmdm9pZCAwIT09d1tmXSxsJiZjKGcsZil8fChwPWw/d1tmXTpuW2ZdLGdbZl09aCYmImZ1bmN0aW9uIiE9dHlwZW9mIHdbZl0/bltmXTp5JiZsP2kocCxyKTpfJiZ3W2ZdPT1wP2Z1bmN0aW9uKGUpe3ZhciB0PWZ1bmN0aW9uKHQsbixyKXtpZih0aGlzIGluc3RhbmNlb2YgZSl7c3dpdGNoKGFyZ3VtZW50cy5sZW5ndGgpe2Nhc2UgMDpyZXR1cm4gbmV3IGU7Y2FzZSAxOnJldHVybiBuZXcgZSh0KTtjYXNlIDI6cmV0dXJuIG5ldyBlKHQsbil9cmV0dXJuIG5ldyBlKHQsbixyKX1yZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3JldHVybiB0W3NdPWVbc10sdH0ocCk6bSYmImZ1bmN0aW9uIj09dHlwZW9mIHA/aShGdW5jdGlvbi5jYWxsLHApOnAsbSYmKChnLnZpcnR1YWx8fChnLnZpcnR1YWw9e30pKVtmXT1wLGUmdS5SJiZiJiYhYltmXSYmYShiLGYscCkpKX07dS5GPTEsdS5HPTIsdS5TPTQsdS5QPTgsdS5CPTE2LHUuVz0zMix1LlU9NjQsdS5SPTEyOCxlLmV4cG9ydHM9dX0sZDI0ZjpmdW5jdGlvbihlLHQsbil7bigiMGEwYSIpKCJvYnNlcnZhYmxlIil9LGQyNTY6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJkYTNjIiksbz1uKCI0M2M4IiksaT1uKCI3ZDk1IiksYT1uKCJkMTNmIiksYz1uKCIyMzEyIikscz1uKCI2Mjc3IikuS0VZLHU9bigiZDc4MiIpLGY9bigiNzc3MiIpLGw9bigiYzBkOCIpLHA9bigiN2IwMCIpLGQ9bigiMWI1NSIpLGg9bigiZmRhMSIpLHY9bigiMGEwYSIpLG09bigiZDJkNiIpLHk9bigiYjVhYSIpLF89bigiMGY4OSIpLGc9bigiNmY4YSIpLGI9bigiNmE5YiIpLHc9bigiMmVhMSIpLHg9bigiZjg0NSIpLEM9bigiNzEwOCIpLFM9bigiNTY1ZCIpLEE9bigiNjI2ZSIpLGs9bigiM2FkYyIpLE89bigiNzYzMyIpLFA9QS5mLCQ9ay5mLGo9Uy5mLEU9ci5TeW1ib2wsVD1yLkpTT04sST1UJiZULnN0cmluZ2lmeSxNPSJwcm90b3R5cGUiLEQ9ZCgiX2hpZGRlbiIpLEw9ZCgidG9QcmltaXRpdmUiKSxGPXt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLE49Zigic3ltYm9sLXJlZ2lzdHJ5IiksUj1mKCJzeW1ib2xzIiksVT1mKCJvcC1zeW1ib2xzIiksSD1PYmplY3RbTV0sej0iZnVuY3Rpb24iPT10eXBlb2YgRSxWPXIuUU9iamVjdCxCPSFWfHwhVltNXXx8IVZbTV0uZmluZENoaWxkLFc9aSYmdShmdW5jdGlvbigpe3JldHVybiA3IT1DKCQoe30sImEiLHtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gJCh0aGlzLCJhIix7dmFsdWU6N30pLmF9fSkpLmF9KT9mdW5jdGlvbihlLHQsbil7dmFyIHI9UChILHQpO3ImJmRlbGV0ZSBIW3RdLCQoZSx0LG4pLHImJmUhPT1IJiYkKEgsdCxyKX06JCxHPWZ1bmN0aW9uKGUpe3ZhciB0PVJbZV09QyhFW01dKTtyZXR1cm4gdC5faz1lLHR9LHE9eiYmInN5bWJvbCI9PXR5cGVvZiBFLml0ZXJhdG9yP2Z1bmN0aW9uKGUpe3JldHVybiJzeW1ib2wiPT10eXBlb2YgZX06ZnVuY3Rpb24oZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFfSxLPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gZT09PUgmJksoVSx0LG4pLF8oZSksdD13KHQsITApLF8obiksbyhSLHQpPyhuLmVudW1lcmFibGU/KG8oZSxEKSYmZVtEXVt0XSYmKGVbRF1bdF09ITEpLG49QyhuLHtlbnVtZXJhYmxlOngoMCwhMSl9KSk6KG8oZSxEKXx8JChlLEQseCgxLHt9KSksZVtEXVt0XT0hMCksVyhlLHQsbikpOiQoZSx0LG4pfSxYPWZ1bmN0aW9uKGUsdCl7XyhlKTt2YXIgbixyPW0odD1iKHQpKSxvPTAsaT1yLmxlbmd0aDt3aGlsZShpPm8pSyhlLG49cltvKytdLHRbbl0pO3JldHVybiBlfSxKPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHZvaWQgMD09PXQ/QyhlKTpYKEMoZSksdCl9LFk9ZnVuY3Rpb24oZSl7dmFyIHQ9Ri5jYWxsKHRoaXMsZT13KGUsITApKTtyZXR1cm4hKHRoaXM9PT1IJiZvKFIsZSkmJiFvKFUsZSkpJiYoISh0fHwhbyh0aGlzLGUpfHwhbyhSLGUpfHxvKHRoaXMsRCkmJnRoaXNbRF1bZV0pfHx0KX0sWj1mdW5jdGlvbihlLHQpe2lmKGU9YihlKSx0PXcodCwhMCksZSE9PUh8fCFvKFIsdCl8fG8oVSx0KSl7dmFyIG49UChlLHQpO3JldHVybiFufHwhbyhSLHQpfHxvKGUsRCkmJmVbRF1bdF18fChuLmVudW1lcmFibGU9ITApLG59fSxRPWZ1bmN0aW9uKGUpe3ZhciB0LG49aihiKGUpKSxyPVtdLGk9MDt3aGlsZShuLmxlbmd0aD5pKW8oUix0PW5baSsrXSl8fHQ9PUR8fHQ9PXN8fHIucHVzaCh0KTtyZXR1cm4gcn0sZWU9ZnVuY3Rpb24oZSl7dmFyIHQsbj1lPT09SCxyPWoobj9VOmIoZSkpLGk9W10sYT0wO3doaWxlKHIubGVuZ3RoPmEpIW8oUix0PXJbYSsrXSl8fG4mJiFvKEgsdCl8fGkucHVzaChSW3RdKTtyZXR1cm4gaX07enx8KEU9ZnVuY3Rpb24oKXtpZih0aGlzIGluc3RhbmNlb2YgRSl0aHJvdyBUeXBlRXJyb3IoIlN5bWJvbCBpcyBub3QgYSBjb25zdHJ1Y3RvciEiKTt2YXIgZT1wKGFyZ3VtZW50cy5sZW5ndGg+MD9hcmd1bWVudHNbMF06dm9pZCAwKSx0PWZ1bmN0aW9uKG4pe3RoaXM9PT1IJiZ0LmNhbGwoVSxuKSxvKHRoaXMsRCkmJm8odGhpc1tEXSxlKSYmKHRoaXNbRF1bZV09ITEpLFcodGhpcyxlLHgoMSxuKSl9O3JldHVybiBpJiZCJiZXKEgsZSx7Y29uZmlndXJhYmxlOiEwLHNldDp0fSksRyhlKX0sYyhFW01dLCJ0b1N0cmluZyIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fa30pLEEuZj1aLGsuZj1LLG4oImQ4NzYiKS5mPVMuZj1RLG4oImQ3NGUiKS5mPVksbigiMzFjMiIpLmY9ZWUsaSYmIW4oImI0NTciKSYmYyhILCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsWSwhMCksaC5mPWZ1bmN0aW9uKGUpe3JldHVybiBHKGQoZSkpfSksYShhLkcrYS5XK2EuRioheix7U3ltYm9sOkV9KTtmb3IodmFyIHRlPSJoYXNJbnN0YW5jZSxpc0NvbmNhdFNwcmVhZGFibGUsaXRlcmF0b3IsbWF0Y2gscmVwbGFjZSxzZWFyY2gsc3BlY2llcyxzcGxpdCx0b1ByaW1pdGl2ZSx0b1N0cmluZ1RhZyx1bnNjb3BhYmxlcyIuc3BsaXQoIiwiKSxuZT0wO3RlLmxlbmd0aD5uZTspZCh0ZVtuZSsrXSk7Zm9yKHZhciByZT1PKGQuc3RvcmUpLG9lPTA7cmUubGVuZ3RoPm9lOyl2KHJlW29lKytdKTthKGEuUythLkYqIXosIlN5bWJvbCIse2ZvcjpmdW5jdGlvbihlKXtyZXR1cm4gbyhOLGUrPSIiKT9OW2VdOk5bZV09RShlKX0sa2V5Rm9yOmZ1bmN0aW9uKGUpe2lmKCFxKGUpKXRocm93IFR5cGVFcnJvcihlKyIgaXMgbm90IGEgc3ltYm9sISIpO2Zvcih2YXIgdCBpbiBOKWlmKE5bdF09PT1lKXJldHVybiB0fSx1c2VTZXR0ZXI6ZnVuY3Rpb24oKXtCPSEwfSx1c2VTaW1wbGU6ZnVuY3Rpb24oKXtCPSExfX0pLGEoYS5TK2EuRioheiwiT2JqZWN0Iix7Y3JlYXRlOkosZGVmaW5lUHJvcGVydHk6SyxkZWZpbmVQcm9wZXJ0aWVzOlgsZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOlosZ2V0T3duUHJvcGVydHlOYW1lczpRLGdldE93blByb3BlcnR5U3ltYm9sczplZX0pLFQmJmEoYS5TK2EuRiooIXp8fHUoZnVuY3Rpb24oKXt2YXIgZT1FKCk7cmV0dXJuIltudWxsXSIhPUkoW2VdKXx8Int9IiE9SSh7YTplfSl8fCJ7fSIhPUkoT2JqZWN0KGUpKX0pKSwiSlNPTiIse3N0cmluZ2lmeTpmdW5jdGlvbihlKXt2YXIgdCxuLHI9W2VdLG89MTt3aGlsZShhcmd1bWVudHMubGVuZ3RoPm8pci5wdXNoKGFyZ3VtZW50c1tvKytdKTtpZihuPXQ9clsxXSwoZyh0KXx8dm9pZCAwIT09ZSkmJiFxKGUpKXJldHVybiB5KHQpfHwodD1mdW5jdGlvbihlLHQpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBuJiYodD1uLmNhbGwodGhpcyxlLHQpKSwhcSh0KSlyZXR1cm4gdH0pLHJbMV09dCxJLmFwcGx5KFQscil9fSksRVtNXVtMXXx8bigiOGNlMCIpKEVbTV0sTCxFW01dLnZhbHVlT2YpLGwoRSwiU3ltYm9sIiksbChNYXRoLCJNYXRoIiwhMCksbChyLkpTT04sIkpTT04iLCEwKX0sZDJkNjpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiNzYzMyIpLG89bigiMzFjMiIpLGk9bigiZDc0ZSIpO2UuZXhwb3J0cz1mdW5jdGlvbihlKXt2YXIgdD1yKGUpLG49by5mO2lmKG4pe3ZhciBhLGM9bihlKSxzPWkuZix1PTA7d2hpbGUoYy5sZW5ndGg+dSlzLmNhbGwoZSxhPWNbdSsrXSkmJnQucHVzaChhKX1yZXR1cm4gdH19LGQzZjQ6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIm9iamVjdCI9PT10eXBlb2YgZT9udWxsIT09ZToiZnVuY3Rpb24iPT09dHlwZW9mIGV9fSxkNGFiOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZztlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ci5jYWxsKGUpLG49IltvYmplY3QgQXJndW1lbnRzXSI9PT10O3JldHVybiBufHwobj0iW29iamVjdCBBcnJheV0iIT09dCYmbnVsbCE9PWUmJiJvYmplY3QiPT09dHlwZW9mIGUmJiJudW1iZXIiPT09dHlwZW9mIGUubGVuZ3RoJiZlLmxlbmd0aD49MCYmIltvYmplY3QgRnVuY3Rpb25dIj09PXIuY2FsbChlLmNhbGxlZSkpLG59fSxkNTI1OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7bi5kKHQsImEiLGZ1bmN0aW9uKCl7cmV0dXJuIGl9KTtuKCJhYzZhIik7dmFyIHI9bigiZjVlZSIpLG89bi5uKHIpO2Z1bmN0aW9uIGkoZSx0KXt2YXIgbj1vLmEuY3JlYXRlQ29uc3VtZXIoIndzczovL2NhYmxlLmNvaW5nZWNrby5jb20vY2FibGUiKSxyPVtdO3JldHVybiBlLmZvckVhY2goZnVuY3Rpb24oZSl7ci5wdXNoKG4uc3Vic2NyaXB0aW9ucy5jcmVhdGUoe2NoYW5uZWw6IkFDaGFubmVsIixtOmV9LHtyZWNlaXZlZDpmdW5jdGlvbihlKXt0KGUpfX0pKX0pLHt1bnN1YnNjcmliZTpmdW5jdGlvbigpe3IuZm9yRWFjaChmdW5jdGlvbihlKXtlLnVuc3Vic2NyaWJlKCl9KX19fX0sZDUzYjpmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3JldHVybnt2YWx1ZTp0LGRvbmU6ISFlfX19LGQ2Yzc6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LG89T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxpPUFycmF5LnByb3RvdHlwZS5zbGljZSxhPW4oImQ0YWIiKSxjPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUscz0hYy5jYWxsKHt0b1N0cmluZzpudWxsfSwidG9TdHJpbmciKSx1PWMuY2FsbChmdW5jdGlvbigpe30sInByb3RvdHlwZSIpLGY9WyJ0b1N0cmluZyIsInRvTG9jYWxlU3RyaW5nIiwidmFsdWVPZiIsImhhc093blByb3BlcnR5IiwiaXNQcm90b3R5cGVPZiIsInByb3BlcnR5SXNFbnVtZXJhYmxlIiwiY29uc3RydWN0b3IiXSxsPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY29uc3RydWN0b3I7cmV0dXJuIHQmJnQucHJvdG90eXBlPT09ZX0scD17JGFwcGxpY2F0aW9uQ2FjaGU6ITAsJGNvbnNvbGU6ITAsJGV4dGVybmFsOiEwLCRmcmFtZTohMCwkZnJhbWVFbGVtZW50OiEwLCRmcmFtZXM6ITAsJGlubmVySGVpZ2h0OiEwLCRpbm5lcldpZHRoOiEwLCRvdXRlckhlaWdodDohMCwkb3V0ZXJXaWR0aDohMCwkcGFnZVhPZmZzZXQ6ITAsJHBhZ2VZT2Zmc2V0OiEwLCRwYXJlbnQ6ITAsJHNjcm9sbExlZnQ6ITAsJHNjcm9sbFRvcDohMCwkc2Nyb2xsWDohMCwkc2Nyb2xsWTohMCwkc2VsZjohMCwkd2Via2l0SW5kZXhlZERCOiEwLCR3ZWJraXRTdG9yYWdlSW5mbzohMCwkd2luZG93OiEwfSxkPWZ1bmN0aW9uKCl7aWYoInVuZGVmaW5lZCI9PT10eXBlb2Ygd2luZG93KXJldHVybiExO2Zvcih2YXIgZSBpbiB3aW5kb3cpdHJ5e2lmKCFwWyIkIitlXSYmci5jYWxsKHdpbmRvdyxlKSYmbnVsbCE9PXdpbmRvd1tlXSYmIm9iamVjdCI9PT10eXBlb2Ygd2luZG93W2VdKXRyeXtsKHdpbmRvd1tlXSl9Y2F0Y2godCl7cmV0dXJuITB9fWNhdGNoKHQpe3JldHVybiEwfXJldHVybiExfSgpLGg9ZnVuY3Rpb24oZSl7aWYoInVuZGVmaW5lZCI9PT10eXBlb2Ygd2luZG93fHwhZClyZXR1cm4gbChlKTt0cnl7cmV0dXJuIGwoZSl9Y2F0Y2godCl7cmV0dXJuITF9fSx2PWZ1bmN0aW9uKGUpe3ZhciB0PW51bGwhPT1lJiYib2JqZWN0Ij09PXR5cGVvZiBlLG49IltvYmplY3QgRnVuY3Rpb25dIj09PW8uY2FsbChlKSxpPWEoZSksYz10JiYiW29iamVjdCBTdHJpbmddIj09PW8uY2FsbChlKSxsPVtdO2lmKCF0JiYhbiYmIWkpdGhyb3cgbmV3IFR5cGVFcnJvcigiT2JqZWN0LmtleXMgY2FsbGVkIG9uIGEgbm9uLW9iamVjdCIpO3ZhciBwPXUmJm47aWYoYyYmZS5sZW5ndGg+MCYmIXIuY2FsbChlLDApKWZvcih2YXIgZD0wO2Q8ZS5sZW5ndGg7KytkKWwucHVzaChTdHJpbmcoZCkpO2lmKGkmJmUubGVuZ3RoPjApZm9yKHZhciB2PTA7djxlLmxlbmd0aDsrK3YpbC5wdXNoKFN0cmluZyh2KSk7ZWxzZSBmb3IodmFyIG0gaW4gZSlwJiYicHJvdG90eXBlIj09PW18fCFyLmNhbGwoZSxtKXx8bC5wdXNoKFN0cmluZyhtKSk7aWYocylmb3IodmFyIHk9aChlKSxfPTA7XzxmLmxlbmd0aDsrK18peSYmImNvbnN0cnVjdG9yIj09PWZbX118fCFyLmNhbGwoZSxmW19dKXx8bC5wdXNoKGZbX10pO3JldHVybiBsfTt2LnNoaW09ZnVuY3Rpb24oKXtpZihPYmplY3Qua2V5cyl7dmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4gMj09PShPYmplY3Qua2V5cyhhcmd1bWVudHMpfHwiIikubGVuZ3RofSgxLDIpO2lmKCFlKXt2YXIgdD1PYmplY3Qua2V5cztPYmplY3Qua2V5cz1mdW5jdGlvbihlKXtyZXR1cm4gYShlKT90KGkuY2FsbChlKSk6dChlKX19fWVsc2UgT2JqZWN0LmtleXM9djtyZXR1cm4gT2JqZWN0LmtleXN8fHZ9LGUuZXhwb3J0cz12fSxkNzRlOmZ1bmN0aW9uKGUsdCl7dC5mPXt9LnByb3BlcnR5SXNFbnVtZXJhYmxlfSxkNzgyOmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4hIWUoKX1jYXRjaCh0KXtyZXR1cm4hMH19fSxkODc2OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCIyNjk1Iiksbz1uKCIwMDI5IikuY29uY2F0KCJsZW5ndGgiLCJwcm90b3R5cGUiKTt0LmY9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXN8fGZ1bmN0aW9uKGUpe3JldHVybiByKGUsbyl9fSxkOGU4OmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPWZ1bmN0aW9uKGUpe2lmKCJmdW5jdGlvbiIhPXR5cGVvZiBlKXRocm93IFR5cGVFcnJvcihlKyIgaXMgbm90IGEgZnVuY3Rpb24hIik7cmV0dXJuIGV9fSxkYTMwOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gcihlKXtyZXR1cm4gZS5wYXJlbnRFbGVtZW50fHxlLmdldFJvb3ROb2RlKCkuaG9zdH1uLmQodCwiYSIsZnVuY3Rpb24oKXtyZXR1cm4gcn0pfSxkYTNjOmZ1bmN0aW9uKGUsdCl7dmFyIG49ZS5leHBvcnRzPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93JiZ3aW5kb3cuTWF0aD09TWF0aD93aW5kb3c6InVuZGVmaW5lZCIhPXR5cGVvZiBzZWxmJiZzZWxmLk1hdGg9PU1hdGg/c2VsZjpGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpOyJudW1iZXIiPT10eXBlb2YgX19nJiYoX19nPW4pfSxkYTY4OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZS4kY3JlYXRlRWxlbWVudCxuPWUuX3NlbGYuX2N8fHQ7cmV0dXJuIG4oImRpdiIse3N0YXRpY0NsYXNzOiJjZy1jb250YWluZXIiLGNsYXNzOmUuY29udGFpbmVyQ2xhc3Msc3R5bGU6ZS5jb250YWluZXJTdHlsZSxhdHRyczp7ImRhdGEtbG9hZGluZyI6ZS5sb2FkaW5nfX0sW2UubG9hZGluZz9uKCJkaXYiLHtzdGF0aWNDbGFzczoiY2ctcC0zIGNnLWJhc2UifSxbZS5fdigiTG9hZGluZyB3aWRnZXQuLi4iKV0pOm4oImRpdiIse3N0YXRpY0NsYXNzOiJjZy13aWRnZXQifSxbbigiZGl2Iix7c3RhdGljQ2xhc3M6ImNnLW1hcnF1ZWUiLHN0eWxlOntiYWNrZ3JvdW5kQ29sb3I6ZS5iYWNrZ3JvdW5kQ29sb3J9fSxlLl9sKDIsZnVuY3Rpb24odCl7cmV0dXJuIG4oInNwYW4iLHtrZXk6dCxjbGFzczpbImNnLW1hcnF1ZWUtY29udGVudC0iK3QsZS5jb2lucy5sZW5ndGg+MjU/ImNnLW1hcnF1ZWUtY29udGVudC1sb25nIjoiIl19LFtuKCJkaXYiLHtzdGF0aWNDbGFzczoiY2ctZmxleCBjZy1mbGV4LXJvdyJ9LFtlLl9sKGUuY29pbnMsZnVuY3Rpb24odCl7cmV0dXJuIG4oImEiLHtrZXk6dC5pZCxzdGF0aWNDbGFzczoiY2ctcHktMiBjZy1weC0zIGNnLWZsZXggY2ctY29pbi1yb3cgY2ctc20iLHN0eWxlOntjb2xvcjplLmZvbnRDb2xvcn0sYXR0cnM6e2hyZWY6ZS5saW5rVG9Db2luT3ZlcnZpZXcodC5pZCksdGFyZ2V0OiJfYmxhbmsifX0sW24oImRpdiIse3N0YXRpY0NsYXNzOiJjZy1mbGV4IGNnLWl0ZW1zLWNlbnRlciJ9LFtuKCJpbWciLHtzdGF0aWNDbGFzczoiY2ctbXItMiIsYXR0cnM6e3NyYzp0LmltYWdlfX0pLG4oInNwYW4iLFtuKCJzcGFuIix7c3RhdGljQ2xhc3M6ImNnLWJvbGQifSxbZS5fdihlLl9zKHQubmFtZSkpXSksZS5fdigiICgiK2UuX3ModC5zeW1ib2wudG9VcHBlckNhc2UoKSkrIilcbiAgICAgICAgICAgICAgIildKV0pLGUubG9hZGluZ1ByaWNlP2UuX2UoKTpuKCJkaXYiLHtzdGF0aWNDbGFzczoiY2ctbWwtMiBjZy1mbGV4IGNnLWp1c3RpZnktZW5kIGNnLWl0ZW1zLWNlbnRlciIsY2xhc3M6ZS5pc05lZ2F0aXZlKHQucHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoKT8iY2ctcmVkLWNvbG9yLWRhcmsiOiJjZy1wcmltYXJ5LWNvbG9yLWRhcmsifSxbbigiZGl2Iixbbigic3BhbiIse3N0YXRpY0NsYXNzOiJjZy1ib2xkIixjbGFzczplLnByaWNpbmdIaWdobGlnaHRDbGFzc2VzW3QuaWRdfSxbZS5fdigiXG4gICAgICAgICAgICAgICAgICAiK2UuX3MoZS5mb3JtYXRDdXJyZW5jeSh0LmN1cnJlbnRfcHJpY2UpKSsiXG4gICAgICAgICAgICAgICAgIildKSxuKCJzcGFuIixbZS5fdigiKCIrZS5fcyhlLmZvcm1hdFBlcmNlbnRhZ2UodC5wcmljZV9jaGFuZ2VfcGVyY2VudGFnZV8yNGgpKSsiKSIpXSldKSxuKCJkaXYiLHtzdGF0aWNDbGFzczoiY2ctbWwtMiIsY2xhc3M6ZS5pc05lZ2F0aXZlKHQucHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoKT8iY2ctYXJyb3ctZG93biI6ImNnLWFycm93LXVwIn0pXSldKX0pLG4oImRpdiIse3N0YXRpY0NsYXNzOiJjZy1mbGV4IGNnLWl0ZW1zLWNlbnRlciJ9LFtuKCJhIix7c3RhdGljQ2xhc3M6ImNnLWJvbGQgY2ctc20gY2ctcHgtMyIsZG9tUHJvcHM6e2lubmVySFRNTDplLl9zKGUucG93ZXJlZEJ5Q29pbkdlY2tvKX19KV0pXSwyKV0pfSksMCldKV0pfSxvPVtdLGk9bigiNTlhZCIpLGE9bi5uKGkpLGM9KG4oIjc1MTQiKSxuKCI4MmEzIikpLHM9bi5uKGMpLHU9KG4oImFjNmEiKSxuKCIyOGE1IiksbigiYzVmNiIpLG4oIjJiMGUiKSksZj1uKCI3ZGFiIiksbD1uKCJkYTMwIikscD1uKCJlOGJhIiksZD1uKCJkNTI1IiksaD1uKCJjMWUyIiksdj17bmFtZToiQ29pbmdlY2tvQ29pblByaWNlTWFycXVlZVdpZGdldCIsbWl4aW5zOltPYmplY3QoaFsiYSJdKSgpXSxwcm9wczp7Y29pbklkczp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiYml0Y29pbixldGhlcmV1bSxlb3MscmlwcGxlLGxpdGVjb2luLHRyb24sbmVvLG1vbmVybyJ9LGN1cnJlbmN5Ont0eXBlOlN0cmluZyxkZWZhdWx0OiJ1c2QifSxsb2NhbGU6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6ImVuIn0sd2lkdGg6e3R5cGU6TnVtYmVyLGRlZmF1bHQ6MH0sYmFja2dyb3VuZENvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIjZmZmZmZmIn0sZm9udENvbG9yOnt0eXBlOlN0cmluZyxkZWZhdWx0OiIjNGM0YzRjIn19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57bG9hZGluZzohMCxwb2x5Z2xvdDp7fSxhcGlEYXRhOltdLGNvbnRhaW5lckNsYXNzOiJsYXJnZSIsbG9hZGluZ1ByaWNlOiExLHByaWNpbmdIaWdobGlnaHRDbGFzc2VzOnt9fX0sY29tcHV0ZWQ6e21hcnF1ZWVDbGFzczpmdW5jdGlvbigpe3JldHVybnthY3RpdmU6ITAsInRleHQtZGFuZ2VyIjohMX19LGN1cnJlbmN5Q29kZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbmN5LnRvTG93ZXJDYXNlKCl9LHNhbml0aXplZENvaW5JZHM6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmNvaW5JZHMuc3BsaXQoIiwiKS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJpbSgpfSksdD1bXSxuPXt9O3JldHVybiBlLmZvckVhY2goZnVuY3Rpb24oZSl7bltlXXx8dC5wdXNoKGUpLG5bZV09ZX0pLHR9LGNvaW5zOmZ1bmN0aW9uKCl7aWYoISh0aGlzLmFwaURhdGEubGVuZ3RoPjApKXJldHVybltdO3ZhciBlPXt9O3JldHVybiB0aGlzLmFwaURhdGEuZm9yRWFjaChmdW5jdGlvbih0KXtlW3QuaWRdPXR9KSx0aGlzLnNhbml0aXplZENvaW5JZHMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiBlW3RdfSl9LHBvd2VyZWRCeUNvaW5HZWNrbzpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBvbHlnbG90LnQoImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQucG93ZXJlZF9ieSIse25hbWU6IkNvaW5HZWNrbyIsbmFtZV9zdGFydDonPGEgY2xhc3M9ImNnLXByaW1hcnktY29sb3ItZGFyayBjZy1uby11bmRlcmxpbmUiIGhyZWY9Imh0dHBzOi8vd3d3LmNvaW5nZWNrby5jb20vJy5jb25jYXQodGhpcy5sb2NhbGUsIj8iKS5jb25jYXQodGhpcy51dG1QYXJhbXModGhpcy5zYW5pdGl6ZWRDb2luSWRzLmpvaW4oKSksJyIgdGFyZ2V0PSJfYmxhbmsiPicpLG5hbWVfZW5kOiI8L2E+In0pfSxjb250YWluZXJTdHlsZTpmdW5jdGlvbigpe3JldHVybnt3aWR0aDowPT09dGhpcy53aWR0aD8iMTAwJSI6IiIuY29uY2F0KHRoaXMud2lkdGgsInB4IiksYmFja2dyb3VuZENvbG9yOnRoaXMuYmFja2dyb3VuZENvbG9yfX19LG1ldGhvZHM6e2N1cnJlbmN5Q2hhbmdlZDpmdW5jdGlvbihlKXtPYmplY3QobFsiYSJdKSh0aGlzLiRlbCkuc2V0QXR0cmlidXRlKCJjdXJyZW5jeSIsZS50YXJnZXQudmFsdWUudG9Mb3dlckNhc2UoKSl9LGZvcm1hdEN1cnJlbmN5OmZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QocFsiZm9ybWF0Q3VycmVuY3kiXSkoZSx0aGlzLmN1cnJlbmN5Q29kZSx0aGlzLmxvY2FsZSl9LGZvcm1hdFBlcmNlbnRhZ2U6ZnVuY3Rpb24oZSl7dmFyIHQ9cygpKGUpO3JldHVybiIiLmNvbmNhdCh0LnRvRml4ZWQoMiksIiUiKX0sZmV0Y2hEYXRhOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7fSxuPXQuY29pblJlbG9hZCxyPXZvaWQgMCE9PW4mJm4sbz10LmN1cnJlbmN5UmVsb2FkLGk9dm9pZCAwIT09byYmbztyP3RoaXMubG9hZGluZz0hMDppJiYodGhpcy5sb2FkaW5nUHJpY2U9ITApLGZldGNoKCJodHRwczovL2FwaS5jb2luZ2Vja28uY29tL2FwaS92My9jb2lucy9tYXJrZXRzP3ZzX2N1cnJlbmN5PSIuY29uY2F0KHRoaXMuY3VycmVuY3lDb2RlLCImaWRzPSIpLmNvbmNhdCh0aGlzLnNhbml0aXplZENvaW5JZHMuam9pbigiLCIpLCImbG9jYWxlPSIpLmNvbmNhdCh0aGlzLmxvY2FsZSkpLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGUuanNvbigpfSkudGhlbihmdW5jdGlvbih0KXt0JiYoZS5hcGlEYXRhPXQsZS5sb2FkaW5nPSExLGUubG9hZGluZ1ByaWNlPSExKX0pfSxpc05lZ2F0aXZlOmZ1bmN0aW9uKGUpe3JldHVybiBzKCkoZSk8MH0sbGlua1RvQ29pbk92ZXJ2aWV3OmZ1bmN0aW9uKGUpe3JldHVybiJodHRwczovL3d3dy5jb2luZ2Vja28uY29tL3Jlc291cmNlX3JlZGlyZWN0P2xvY2FsZT0iLmNvbmNhdCh0aGlzLmxvY2FsZSwiJnJvdXRlPWNvaW5zLyIpLmNvbmNhdChlLCImIikuY29uY2F0KHRoaXMudXRtUGFyYW1zKGUpKX0sdXRtUGFyYW1zOmZ1bmN0aW9uKGUpe3JldHVybiJ1dG1fc291cmNlPSIuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5ob3N0LCImdXRtX21lZGl1bT1jb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0JnV0bV9jb250ZW50PSIpLmNvbmNhdChlKX0sbGlzdGVuRm9yUHJpY2VDaGFuZ2VzOmZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLmNvaW5EYXRhTGlzdGVuZXImJnRoaXMuY29pbkRhdGFMaXN0ZW5lci51bnN1YnNjcmliZSgpLHRoaXMuY29pbkRhdGFMaXN0ZW5lcj1PYmplY3QoZFsiYSJdKSh0aGlzLnNhbml0aXplZENvaW5JZHMsZnVuY3Rpb24odCl7dmFyIG49ZS5hcGlEYXRhLmZpbmQoZnVuY3Rpb24oZSl7cmV0dXJuIGUuaWQ9PT10LmN9KTtpZihuKXt2YXIgcj1uLmN1cnJlbnRfcHJpY2Usbz10LnBbZS5jdXJyZW5jeUNvZGVdO2UuZm9ybWF0Q3VycmVuY3kocikhPT1lLmZvcm1hdEN1cnJlbmN5KG8pJiYoYSgpKHIpPD1hKCkobyk/ZS5oaWdobGlnaHRQcmljaW5nKG4uaWQsImNnLXByaW1hcnktY29sb3IiKTplLmhpZ2hsaWdodFByaWNpbmcobi5pZCwiY2ctcmVkLWNvbG9yIikpLG4uY3VycmVudF9wcmljZT10LnBbZS5jdXJyZW5jeUNvZGVdLG4ucHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfMjRoPXQuZVtlLmN1cnJlbmN5Q29kZV19fSl9LGhpZ2hsaWdodFByaWNpbmc6ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO3VbImEiXS5zZXQodGhpcy5wcmljaW5nSGlnaGxpZ2h0Q2xhc3NlcyxlLHQpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt1WyJhIl0uc2V0KG4ucHJpY2luZ0hpZ2hsaWdodENsYXNzZXMsZSxudWxsKX0sMWUzKX0sc3VwcG9ydGVkQ3VycmVuY2llczpmWyJhIl19LHdhdGNoOntjb2luSWRzOmZ1bmN0aW9uKCl7dGhpcy5mZXRjaERhdGEoe2NvaW5SZWxvYWQ6ITB9KSx0aGlzLmxpc3RlbkZvclByaWNlQ2hhbmdlcygpLHRoaXMucHJpY2luZ0hpZ2hsaWdodENsYXNzZXM9e319LGN1cnJlbmN5OmZ1bmN0aW9uKCl7dGhpcy5mZXRjaERhdGEoe2N1cnJlbmN5UmVsb2FkOiEwfSl9LGxvY2FsZTpmdW5jdGlvbigpe3RoaXMuZmV0Y2hEYXRhKCl9fSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5mZXRjaERhdGEoKSx0aGlzLmxpc3RlbkZvclByaWNlQ2hhbmdlcygpfSxtb3VudGVkOmZ1bmN0aW9uKCl7fSxkZXN0cm95ZWQ6ZnVuY3Rpb24oKXt0aGlzLmNvaW5EYXRhTGlzdGVuZXImJnRoaXMuY29pbkRhdGFMaXN0ZW5lci51bnN1YnNjcmliZSgpfX0sbT12LHk9bigiMjg3NyIpLF89T2JqZWN0KHlbImEiXSkobSxyLG8sITEsbnVsbCxudWxsLG51bGwpO18ub3B0aW9ucy5fX2ZpbGU9IkNvaW5nZWNrb0NvaW5QcmljZU1hcnF1ZWVXaWRnZXQudnVlIjt0WyJhIl09Xy5leHBvcnRzfSxkY2JjOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCIyYWJhIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCxuKXtmb3IodmFyIG8gaW4gdClyKGUsbyx0W29dLG4pO3JldHVybiBlfX0sZGQwNDpmdW5jdGlvbihlLHQsbil7bigiMTJmZDkiKSxuKCI5M2M0IiksbigiYjQyYyIpLG4oIjViNWYiKSxuKCJiNjA0IiksbigiYzYwOSIpLGUuZXhwb3J0cz1uKCJhN2QzIikuUHJvbWlzZX0sZGQxMTpmdW5jdGlvbihlKXtlLmV4cG9ydHM9e2NvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldDp7cG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9wcmljZV9jaGFydF93aWRnZXQ6eyIyNGhfaGlnaCI6IuqzoOqwgCAoMjTsi5zqsIQpIiwiMjRoX2xvdyI6IuyggOqwgCAoMjTsi5zqsIQpIix2aWV3X3ByaWNlX2NoYXJ0OiLssKjtirgg67O06riwIixwb3dlcmVkX2J5OiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ontwb3dlcmVkX2J5OiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2xpc3Rfd2lkZ2V0Ontwb3dlcmVkX2J5OiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxiZWFtX3dpZGdldDp7cG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl90aWNrZXJfd2lkZ2V0OnsiMjRoX2hpZ2giOiLqs6DqsIAgKDI07Iuc6rCEKSIsIjI0aF9sb3ciOiLsoIDqsIAgKDI07Iuc6rCEKSIsdmlld19wcmljZV9jaGFydDoi7LCo7Yq4IOuztOq4sCIscG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ont2aWV3X3ByaWNlX2NoYXJ0OiLssKjtirgg67O06riwIixwb3dlcmVkX2J5OiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2hlYXRtYXBfd2lkZ2V0Ont0aXRsZToi7JWU7Zi47ZmU7Y+QIFRyZWUgTWFwIixzdWJ0aXRsZToiKOyLnOqwgOy0neyVoSDsg4HsnIQgJXt0b3B9KSIscG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In19fSxkZWNmOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCIwZjg5Iiksbz1uKCI2ZjhhIiksaT1uKCIwM2NhIik7ZS5leHBvcnRzPWZ1bmN0aW9uKGUsdCl7aWYocihlKSxvKHQpJiZ0LmNvbnN0cnVjdG9yPT09ZSlyZXR1cm4gdDt2YXIgbj1pLmYoZSksYT1uLnJlc29sdmU7cmV0dXJuIGEodCksbi5wcm9taXNlfX0sZGYwYTpmdW5jdGlvbihlLHQsbil7dmFyIHIsbyxpLGE9bigiYmMyNSIpLGM9bigiMTk2YyIpLHM9bigiMTAzYSIpLHU9bigiMTJmZCIpLGY9bigiZGEzYyIpLGw9Zi5wcm9jZXNzLHA9Zi5zZXRJbW1lZGlhdGUsZD1mLmNsZWFySW1tZWRpYXRlLGg9Zi5NZXNzYWdlQ2hhbm5lbCx2PWYuRGlzcGF0Y2gsbT0wLHk9e30sXz0ib25yZWFkeXN0YXRlY2hhbmdlIixnPWZ1bmN0aW9uKCl7dmFyIGU9K3RoaXM7aWYoeS5oYXNPd25Qcm9wZXJ0eShlKSl7dmFyIHQ9eVtlXTtkZWxldGUgeVtlXSx0KCl9fSxiPWZ1bmN0aW9uKGUpe2cuY2FsbChlLmRhdGEpfTtwJiZkfHwocD1mdW5jdGlvbihlKXt2YXIgdD1bXSxuPTE7d2hpbGUoYXJndW1lbnRzLmxlbmd0aD5uKXQucHVzaChhcmd1bWVudHNbbisrXSk7cmV0dXJuIHlbKyttXT1mdW5jdGlvbigpe2MoImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpGdW5jdGlvbihlKSx0KX0scihtKSxtfSxkPWZ1bmN0aW9uKGUpe2RlbGV0ZSB5W2VdfSwicHJvY2VzcyI9PW4oIjZlMWYiKShsKT9yPWZ1bmN0aW9uKGUpe2wubmV4dFRpY2soYShnLGUsMSkpfTp2JiZ2Lm5vdz9yPWZ1bmN0aW9uKGUpe3Yubm93KGEoZyxlLDEpKX06aD8obz1uZXcgaCxpPW8ucG9ydDIsby5wb3J0MS5vbm1lc3NhZ2U9YixyPWEoaS5wb3N0TWVzc2FnZSxpLDEpKTpmLmFkZEV2ZW50TGlzdGVuZXImJiJmdW5jdGlvbiI9PXR5cGVvZiBwb3N0TWVzc2FnZSYmIWYuaW1wb3J0U2NyaXB0cz8ocj1mdW5jdGlvbihlKXtmLnBvc3RNZXNzYWdlKGUrIiIsIioiKX0sZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixiLCExKSk6cj1fIGluIHUoInNjcmlwdCIpP2Z1bmN0aW9uKGUpe3MuYXBwZW5kQ2hpbGQodSgic2NyaXB0IikpW19dPWZ1bmN0aW9uKCl7cy5yZW1vdmVDaGlsZCh0aGlzKSxnLmNhbGwoZSl9fTpmdW5jdGlvbihlKXtzZXRUaW1lb3V0KGEoZyxlLDEpLDApfSksZS5leHBvcnRzPXtzZXQ6cCxjbGVhcjpkfX0sZTExZTpmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz0iY29uc3RydWN0b3IsaGFzT3duUHJvcGVydHksaXNQcm90b3R5cGVPZixwcm9wZXJ0eUlzRW51bWVyYWJsZSx0b0xvY2FsZVN0cmluZyx0b1N0cmluZyx2YWx1ZU9mIi5zcGxpdCgiLCIpfSxlNGE5OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYjQ1NyIpLG89bigiZDEzZiIpLGk9bigiMjMxMiIpLGE9bigiOGNlMCIpLGM9bigiYjIyYSIpLHM9bigiNWNlNyIpLHU9bigiYzBkOCIpLGY9bigiZmYwYyIpLGw9bigiMWI1NSIpKCJpdGVyYXRvciIpLHA9IShbXS5rZXlzJiYibmV4dCJpbltdLmtleXMoKSksZD0iQEBpdGVyYXRvciIsaD0ia2V5cyIsdj0idmFsdWVzIixtPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbix5LF8sZyxiKXtzKG4sdCx5KTt2YXIgdyx4LEMsUz1mdW5jdGlvbihlKXtpZighcCYmZSBpbiBQKXJldHVybiBQW2VdO3N3aXRjaChlKXtjYXNlIGg6cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBuKHRoaXMsZSl9O2Nhc2UgdjpyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IG4odGhpcyxlKX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBuKHRoaXMsZSl9fSxBPXQrIiBJdGVyYXRvciIsaz1fPT12LE89ITEsUD1lLnByb3RvdHlwZSwkPVBbbF18fFBbZF18fF8mJlBbX10saj0kfHxTKF8pLEU9Xz9rP1MoImVudHJpZXMiKTpqOnZvaWQgMCxUPSJBcnJheSI9PXQmJlAuZW50cmllc3x8JDtpZihUJiYoQz1mKFQuY2FsbChuZXcgZSkpLEMhPT1PYmplY3QucHJvdG90eXBlJiZDLm5leHQmJih1KEMsQSwhMCkscnx8ImZ1bmN0aW9uIj09dHlwZW9mIENbbF18fGEoQyxsLG0pKSksayYmJCYmJC5uYW1lIT09diYmKE89ITAsaj1mdW5jdGlvbigpe3JldHVybiAkLmNhbGwodGhpcyl9KSxyJiYhYnx8IXAmJiFPJiZQW2xdfHxhKFAsbCxqKSxjW3RdPWosY1tBXT1tLF8paWYodz17dmFsdWVzOms/ajpTKHYpLGtleXM6Zz9qOlMoaCksZW50cmllczpFfSxiKWZvcih4IGluIHcpeCBpbiBQfHxpKFAseCx3W3hdKTtlbHNlIG8oby5QK28uRioocHx8TyksdCx3KTtyZXR1cm4gd319LGU1ZmE6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYodm9pZCAwPT1lKXRocm93IFR5cGVFcnJvcigiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gICIrZSk7cmV0dXJuIGV9fSxlODUzOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJkM2Y0Iiksbz1uKCIxMTY5IiksaT1uKCIyYjRjIikoInNwZWNpZXMiKTtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIG8oZSkmJih0PWUuY29uc3RydWN0b3IsImZ1bmN0aW9uIiE9dHlwZW9mIHR8fHQhPT1BcnJheSYmIW8odC5wcm90b3R5cGUpfHwodD12b2lkIDApLHIodCkmJih0PXRbaV0sbnVsbD09PXQmJih0PXZvaWQgMCkpKSx2b2lkIDA9PT10P0FycmF5OnR9fSxlOGJhOmZ1bmN0aW9uKGUsdCxuKXsoZnVuY3Rpb24oZSxuKXtuKHQpfSkoMCxmdW5jdGlvbihlKXsidXNlIHN0cmljdCI7Y29uc3QgdD17QlRDOiLJgyIsRVRIOiLOniIsVVNEOiIkIixDQUQ6IkMkIixHQlA6IsKjIixFVVI6IuKCrCIsQ0hGOiJGci4iLFNFSzoia3IiLEpQWToiwqUiLENOWToiwqUiLElOUjoi4oK5IixSVUI6IuKCvSIsQVVEOiJBJCIsSEtEOiJISyQiLFNHRDoiUyQiLFRXRDoiTlQkIixCUkw6IlIkIixLUlc6IuKCqSIsWkFSOiJSIixNWVI6IlJNIixJRFI6IlJwIixOWkQ6Ik5aJCIsTVhOOiJNWCQiLFBIUDoi4oKxIixES0s6ImtyLiIsUExOOiJ6xYIiLEFFRDoiREgiLEFSUzoiJCIsQ0xQOiJDTFAiLENaSzoiS8SNIixIVUY6IkZ0IixJTFM6IuKCqiIsS1dEOiJLRCIsTEtSOiJScyIsTk9LOiJrciIsUEtSOiLigqgiLFNBUjoiU1IiLFRIQjoi4Li/IixUUlk6IuKCuiIsWEFVOiJYQVUiLFhBRzoiWEFHIixYRFI6IlhEUiJ9LG49e01ZUjp7bG9jYXRpb246e3N0YXJ0OiEwfSxmb3JMb2NhbGVzOntlbjohMH19LFNHRDp7bG9jYXRpb246e3N0YXJ0OiEwfSxmb3JMb2NhbGVzOntlbjohMH19LFBIUDp7bG9jYXRpb246e3N0YXJ0OiEwfSxmb3JMb2NhbGVzOntlbjohMH19LEJUQzp7bG9jYXRpb246e3N0YXJ0OiEwfSxmb3JMb2NhbGVzOntlbjohMH19LEVUSDp7bG9jYXRpb246e3N0YXJ0OiEwfSxmb3JMb2NhbGVzOntlbjohMH19fTtmdW5jdGlvbiByKCl7cmV0dXJuISgib2JqZWN0IiE9dHlwZW9mIEludGx8fCFJbnRsfHwiZnVuY3Rpb24iIT10eXBlb2YgSW50bC5OdW1iZXJGb3JtYXQpfWZ1bmN0aW9uIG8oZSl7cmV0dXJuIkJUQyI9PT1lfHwiRVRIIj09PWV9ZnVuY3Rpb24gaShlKXtyZXR1cm4gbyhlKXx8bnVsbD09dFtlXX1mdW5jdGlvbiBhKGUscj0iZW4iKXtjb25zdCBvPWUubWF0Y2goL15bQS1aXXszfVxzPy8pO2lmKG51bGwhPW8pe2NvbnN0IGk9b1swXS50cmltKCksYT1uW2ldO3JldHVybiBhJiZhLmxvY2F0aW9uLnN0YXJ0JiZhLmZvckxvY2FsZXNbcl0/ZS5yZXBsYWNlKG9bMF0sdFtpXSk6ZX1jb25zdCBpPWUubWF0Y2goL1tBLVpdezN9JC8pO2lmKG51bGwhPWkpe2NvbnN0IG89aVswXSxhPW5bb107cmV0dXJuIGEmJmEubG9jYXRpb24uZW5kJiZhLmZvckxvY2FsZXNbcl0/ZS5yZXBsYWNlKG8sdFtvXSk6ZX1yZXR1cm4gZX1mdW5jdGlvbiBjKGUsdCxuKXtsZXQgcjt0cnl7cj1uZXcgSW50bC5OdW1iZXJGb3JtYXQodCx7c3R5bGU6ImN1cnJlbmN5IixjdXJyZW5jeTplLGN1cnJlbmN5RGlzcGxheToic3ltYm9sIixtaW5pbXVtRnJhY3Rpb25EaWdpdHM6bixtYXhpbXVtRnJhY3Rpb25EaWdpdHM6bn0pfWNhdGNoKG8pe3JldHVybiBzKGUsdCxuKX1yZXR1cm4gcn1mdW5jdGlvbiBzKGUsdCxuPTIpe3JldHVybiBlPWUudG9VcHBlckNhc2UoKSxuPjI/e2Zvcm1hdDp0PT57cmV0dXJuIGkoZSk/YCR7dC50b0ZpeGVkKG4pfSAke2V9YDpgJHtlfSAke3QudG9GaXhlZChuKX1gfX06e2Zvcm1hdDpuPT57cmV0dXJuIGkoZSk/YCR7bi50b0xvY2FsZVN0cmluZyh0KX0gJHtlfWA6YCR7ZX0gJHtuLnRvTG9jYWxlU3RyaW5nKHQpfWB9fX1mdW5jdGlvbiB1KGUsdCxuKXtjb25zdCBhPXIoKSx1PWEmJighaShlKXx8byhlKSk7cmV0dXJuIHU/YyhlLHQsbik6cyhlLHQsbil9bGV0IGYsbCxwLGQsaCx2LG0seT17fTtmdW5jdGlvbiBfKCl7eT17fX1mdW5jdGlvbiBnKGUsdCl7Y29uc3Qgbj1gJHtlfS0ke3R9YCxyPXlbbl07cD1yP3IuY3VycmVuY3lGb3JtYXR0ZXJOb3JtYWw6dShlLHQpLGQ9cj9yLmN1cnJlbmN5Rm9ybWF0dGVyTm9EZWNpbWFsOnUoZSx0LDApLGg9cj9yLmN1cnJlbmN5Rm9ybWF0dGVyTWVkaXVtOnUoZSx0LDMpLHY9cj9yLmN1cnJlbmN5Rm9ybWF0dGVyU21hbGw6dShlLHQsNiksbT1yP3IuY3VycmVuY3lGb3JtYXR0ZXJWZXJ5U21hbGw6dShlLHQsOCksbnVsbD09ciYmKHlbbl09e30seVtuXS5jdXJyZW5jeUZvcm1hdHRlck5vcm1hbD1wLHlbbl0uY3VycmVuY3lGb3JtYXR0ZXJOb0RlY2ltYWw9ZCx5W25dLmN1cnJlbmN5Rm9ybWF0dGVyTWVkaXVtPWgseVtuXS5jdXJyZW5jeUZvcm1hdHRlclNtYWxsPXYseVtuXS5jdXJyZW5jeUZvcm1hdHRlclZlcnlTbWFsbD1tKX1jb25zdCBiPTUwLHc9MWUzO2Z1bmN0aW9uIHgoZSx0LG49ImVuIixyPSExKXtpZih0PXQudG9VcHBlckNhc2UoKSxmPT09dCYmbD09bnx8KGY9dCxsPW4sZyh0LG4pKSxpKHQpKXtsZXQgdD1wYXJzZUZsb2F0KGUpO3JldHVybiByPzA9PT1lP3QudG9GaXhlZCgyKTp0LnRvUHJlY2lzaW9uKDgpOmEoMD09PWU/cC5mb3JtYXQoZSk6dD49dz9kLmZvcm1hdChlKTp0Pj1iJiZ0PHc/aC5mb3JtYXQoZSk6dD49MSYmdDxiP3YuZm9ybWF0KGUpOm0uZm9ybWF0KGUpLG4pfXJldHVybiByP2U8LjAwMT9lLnRvRml4ZWQoOCk6ZTwxP2UudG9GaXhlZCg2KTplLnRvRml4ZWQoMik6YSgwPT09ZT9wLmZvcm1hdChlKTplPC4wNT9tLmZvcm1hdChlKTplPDE/di5mb3JtYXQoZSk6ZT4yZTQ/ZC5mb3JtYXQoZSk6cC5mb3JtYXQoZSksbil9ZS5pc0NyeXB0bz1pLGUuY2xlYXJDYWNoZT1fLGUuZm9ybWF0Q3VycmVuY3k9eCxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9KX0sZTlhYzpmdW5jdGlvbihlLHQsbil7InVzZSBzdHJpY3QiO3ZhciByLG8saSxhLGM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcj9mdW5jdGlvbigpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGFyZ3VtZW50cywiY2FsbGVlIikuZ2V0fSgpOmZ1bmN0aW9uKCl7dGhyb3cgbmV3IFR5cGVFcnJvcn0scz0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT10eXBlb2YgU3ltYm9sLml0ZXJhdG9yLHU9T2JqZWN0LmdldFByb3RvdHlwZU9mfHxmdW5jdGlvbihlKXtyZXR1cm4gZS5fX3Byb3RvX199LGY9bz91KG8pOnIsbD1pP2kuY29uc3RydWN0b3I6cixwPWE/dShhKTpyLGQ9YT9hKCk6cixoPSJ1bmRlZmluZWQiPT09dHlwZW9mIFVpbnQ4QXJyYXk/cjp1KFVpbnQ4QXJyYXkpLHY9eyIkICVBcnJheSUiOkFycmF5LCIkICVBcnJheUJ1ZmZlciUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIEFycmF5QnVmZmVyP3I6QXJyYXlCdWZmZXIsIiQgJUFycmF5QnVmZmVyUHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgQXJyYXlCdWZmZXI/cjpBcnJheUJ1ZmZlci5wcm90b3R5cGUsIiQgJUFycmF5SXRlcmF0b3JQcm90b3R5cGUlIjpzP3UoW11bU3ltYm9sLml0ZXJhdG9yXSgpKTpyLCIkICVBcnJheVByb3RvdHlwZSUiOkFycmF5LnByb3RvdHlwZSwiJCAlQXJyYXlQcm90b19lbnRyaWVzJSI6QXJyYXkucHJvdG90eXBlLmVudHJpZXMsIiQgJUFycmF5UHJvdG9fZm9yRWFjaCUiOkFycmF5LnByb3RvdHlwZS5mb3JFYWNoLCIkICVBcnJheVByb3RvX2tleXMlIjpBcnJheS5wcm90b3R5cGUua2V5cywiJCAlQXJyYXlQcm90b192YWx1ZXMlIjpBcnJheS5wcm90b3R5cGUudmFsdWVzLCIkICVBc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUlIjpyLCIkICVBc3luY0Z1bmN0aW9uJSI6bCwiJCAlQXN5bmNGdW5jdGlvblByb3RvdHlwZSUiOmw/bC5wcm90b3R5cGU6ciwiJCAlQXN5bmNHZW5lcmF0b3IlIjphP3UoZCk6ciwiJCAlQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiUiOnAsIiQgJUFzeW5jR2VuZXJhdG9yUHJvdG90eXBlJSI6cD9wLnByb3RvdHlwZTpyLCIkICVBc3luY0l0ZXJhdG9yUHJvdG90eXBlJSI6ZCYmcyYmU3ltYm9sLmFzeW5jSXRlcmF0b3I/ZFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKTpyLCIkICVBdG9taWNzJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgQXRvbWljcz9yOkF0b21pY3MsIiQgJUJvb2xlYW4lIjpCb29sZWFuLCIkICVCb29sZWFuUHJvdG90eXBlJSI6Qm9vbGVhbi5wcm90b3R5cGUsIiQgJURhdGFWaWV3JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgRGF0YVZpZXc/cjpEYXRhVmlldywiJCAlRGF0YVZpZXdQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBEYXRhVmlldz9yOkRhdGFWaWV3LnByb3RvdHlwZSwiJCAlRGF0ZSUiOkRhdGUsIiQgJURhdGVQcm90b3R5cGUlIjpEYXRlLnByb3RvdHlwZSwiJCAlZGVjb2RlVVJJJSI6ZGVjb2RlVVJJLCIkICVkZWNvZGVVUklDb21wb25lbnQlIjpkZWNvZGVVUklDb21wb25lbnQsIiQgJWVuY29kZVVSSSUiOmVuY29kZVVSSSwiJCAlZW5jb2RlVVJJQ29tcG9uZW50JSI6ZW5jb2RlVVJJQ29tcG9uZW50LCIkICVFcnJvciUiOkVycm9yLCIkICVFcnJvclByb3RvdHlwZSUiOkVycm9yLnByb3RvdHlwZSwiJCAlZXZhbCUiOmV2YWwsIiQgJUV2YWxFcnJvciUiOkV2YWxFcnJvciwiJCAlRXZhbEVycm9yUHJvdG90eXBlJSI6RXZhbEVycm9yLnByb3RvdHlwZSwiJCAlRmxvYXQzMkFycmF5JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgRmxvYXQzMkFycmF5P3I6RmxvYXQzMkFycmF5LCIkICVGbG9hdDMyQXJyYXlQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBGbG9hdDMyQXJyYXk/cjpGbG9hdDMyQXJyYXkucHJvdG90eXBlLCIkICVGbG9hdDY0QXJyYXklIjoidW5kZWZpbmVkIj09PXR5cGVvZiBGbG9hdDY0QXJyYXk/cjpGbG9hdDY0QXJyYXksIiQgJUZsb2F0NjRBcnJheVByb3RvdHlwZSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIEZsb2F0NjRBcnJheT9yOkZsb2F0NjRBcnJheS5wcm90b3R5cGUsIiQgJUZ1bmN0aW9uJSI6RnVuY3Rpb24sIiQgJUZ1bmN0aW9uUHJvdG90eXBlJSI6RnVuY3Rpb24ucHJvdG90eXBlLCIkICVHZW5lcmF0b3IlIjpvP3UobygpKTpyLCIkICVHZW5lcmF0b3JGdW5jdGlvbiUiOmYsIiQgJUdlbmVyYXRvclByb3RvdHlwZSUiOmY/Zi5wcm90b3R5cGU6ciwiJCAlSW50OEFycmF5JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgSW50OEFycmF5P3I6SW50OEFycmF5LCIkICVJbnQ4QXJyYXlQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBJbnQ4QXJyYXk/cjpJbnQ4QXJyYXkucHJvdG90eXBlLCIkICVJbnQxNkFycmF5JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgSW50MTZBcnJheT9yOkludDE2QXJyYXksIiQgJUludDE2QXJyYXlQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBJbnQxNkFycmF5P3I6SW50OEFycmF5LnByb3RvdHlwZSwiJCAlSW50MzJBcnJheSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIEludDMyQXJyYXk/cjpJbnQzMkFycmF5LCIkICVJbnQzMkFycmF5UHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgSW50MzJBcnJheT9yOkludDMyQXJyYXkucHJvdG90eXBlLCIkICVpc0Zpbml0ZSUiOmlzRmluaXRlLCIkICVpc05hTiUiOmlzTmFOLCIkICVJdGVyYXRvclByb3RvdHlwZSUiOnM/dSh1KFtdW1N5bWJvbC5pdGVyYXRvcl0oKSkpOnIsIiQgJUpTT04lIjpKU09OLCIkICVKU09OUGFyc2UlIjpKU09OLnBhcnNlLCIkICVNYXAlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBNYXA/cjpNYXAsIiQgJU1hcEl0ZXJhdG9yUHJvdG90eXBlJSI6InVuZGVmaW5lZCIhPT10eXBlb2YgTWFwJiZzP3UoKG5ldyBNYXApW1N5bWJvbC5pdGVyYXRvcl0oKSk6ciwiJCAlTWFwUHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgTWFwP3I6TWFwLnByb3RvdHlwZSwiJCAlTWF0aCUiOk1hdGgsIiQgJU51bWJlciUiOk51bWJlciwiJCAlTnVtYmVyUHJvdG90eXBlJSI6TnVtYmVyLnByb3RvdHlwZSwiJCAlT2JqZWN0JSI6T2JqZWN0LCIkICVPYmplY3RQcm90b3R5cGUlIjpPYmplY3QucHJvdG90eXBlLCIkICVPYmpQcm90b190b1N0cmluZyUiOk9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsIiQgJU9ialByb3RvX3ZhbHVlT2YlIjpPYmplY3QucHJvdG90eXBlLnZhbHVlT2YsIiQgJXBhcnNlRmxvYXQlIjpwYXJzZUZsb2F0LCIkICVwYXJzZUludCUiOnBhcnNlSW50LCIkICVQcm9taXNlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgUHJvbWlzZT9yOlByb21pc2UsIiQgJVByb21pc2VQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBQcm9taXNlP3I6UHJvbWlzZS5wcm90b3R5cGUsIiQgJVByb21pc2VQcm90b190aGVuJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgUHJvbWlzZT9yOlByb21pc2UucHJvdG90eXBlLnRoZW4sIiQgJVByb21pc2VfYWxsJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgUHJvbWlzZT9yOlByb21pc2UuYWxsLCIkICVQcm9taXNlX3JlamVjdCUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFByb21pc2U/cjpQcm9taXNlLnJlamVjdCwiJCAlUHJvbWlzZV9yZXNvbHZlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgUHJvbWlzZT9yOlByb21pc2UucmVzb2x2ZSwiJCAlUHJveHklIjoidW5kZWZpbmVkIj09PXR5cGVvZiBQcm94eT9yOlByb3h5LCIkICVSYW5nZUVycm9yJSI6UmFuZ2VFcnJvciwiJCAlUmFuZ2VFcnJvclByb3RvdHlwZSUiOlJhbmdlRXJyb3IucHJvdG90eXBlLCIkICVSZWZlcmVuY2VFcnJvciUiOlJlZmVyZW5jZUVycm9yLCIkICVSZWZlcmVuY2VFcnJvclByb3RvdHlwZSUiOlJlZmVyZW5jZUVycm9yLnByb3RvdHlwZSwiJCAlUmVmbGVjdCUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFJlZmxlY3Q/cjpSZWZsZWN0LCIkICVSZWdFeHAlIjpSZWdFeHAsIiQgJVJlZ0V4cFByb3RvdHlwZSUiOlJlZ0V4cC5wcm90b3R5cGUsIiQgJVNldCUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFNldD9yOlNldCwiJCAlU2V0SXRlcmF0b3JQcm90b3R5cGUlIjoidW5kZWZpbmVkIiE9PXR5cGVvZiBTZXQmJnM/dSgobmV3IFNldClbU3ltYm9sLml0ZXJhdG9yXSgpKTpyLCIkICVTZXRQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBTZXQ/cjpTZXQucHJvdG90eXBlLCIkICVTaGFyZWRBcnJheUJ1ZmZlciUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFNoYXJlZEFycmF5QnVmZmVyP3I6U2hhcmVkQXJyYXlCdWZmZXIsIiQgJVNoYXJlZEFycmF5QnVmZmVyUHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgU2hhcmVkQXJyYXlCdWZmZXI/cjpTaGFyZWRBcnJheUJ1ZmZlci5wcm90b3R5cGUsIiQgJVN0cmluZyUiOlN0cmluZywiJCAlU3RyaW5nSXRlcmF0b3JQcm90b3R5cGUlIjpzP3UoIiJbU3ltYm9sLml0ZXJhdG9yXSgpKTpyLCIkICVTdHJpbmdQcm90b3R5cGUlIjpTdHJpbmcucHJvdG90eXBlLCIkICVTeW1ib2wlIjpzP1N5bWJvbDpyLCIkICVTeW1ib2xQcm90b3R5cGUlIjpzP1N5bWJvbC5wcm90b3R5cGU6ciwiJCAlU3ludGF4RXJyb3IlIjpTeW50YXhFcnJvciwiJCAlU3ludGF4RXJyb3JQcm90b3R5cGUlIjpTeW50YXhFcnJvci5wcm90b3R5cGUsIiQgJVRocm93VHlwZUVycm9yJSI6YywiJCAlVHlwZWRBcnJheSUiOmgsIiQgJVR5cGVkQXJyYXlQcm90b3R5cGUlIjpoP2gucHJvdG90eXBlOnIsIiQgJVR5cGVFcnJvciUiOlR5cGVFcnJvciwiJCAlVHlwZUVycm9yUHJvdG90eXBlJSI6VHlwZUVycm9yLnByb3RvdHlwZSwiJCAlVWludDhBcnJheSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFVpbnQ4QXJyYXk/cjpVaW50OEFycmF5LCIkICVVaW50OEFycmF5UHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgVWludDhBcnJheT9yOlVpbnQ4QXJyYXkucHJvdG90eXBlLCIkICVVaW50OENsYW1wZWRBcnJheSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFVpbnQ4Q2xhbXBlZEFycmF5P3I6VWludDhDbGFtcGVkQXJyYXksIiQgJVVpbnQ4Q2xhbXBlZEFycmF5UHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgVWludDhDbGFtcGVkQXJyYXk/cjpVaW50OENsYW1wZWRBcnJheS5wcm90b3R5cGUsIiQgJVVpbnQxNkFycmF5JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgVWludDE2QXJyYXk/cjpVaW50MTZBcnJheSwiJCAlVWludDE2QXJyYXlQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBVaW50MTZBcnJheT9yOlVpbnQxNkFycmF5LnByb3RvdHlwZSwiJCAlVWludDMyQXJyYXklIjoidW5kZWZpbmVkIj09PXR5cGVvZiBVaW50MzJBcnJheT9yOlVpbnQzMkFycmF5LCIkICVVaW50MzJBcnJheVByb3RvdHlwZSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFVpbnQzMkFycmF5P3I6VWludDMyQXJyYXkucHJvdG90eXBlLCIkICVVUklFcnJvciUiOlVSSUVycm9yLCIkICVVUklFcnJvclByb3RvdHlwZSUiOlVSSUVycm9yLnByb3RvdHlwZSwiJCAlV2Vha01hcCUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFdlYWtNYXA/cjpXZWFrTWFwLCIkICVXZWFrTWFwUHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgV2Vha01hcD9yOldlYWtNYXAucHJvdG90eXBlLCIkICVXZWFrU2V0JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgV2Vha1NldD9yOldlYWtTZXQsIiQgJVdlYWtTZXRQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBXZWFrU2V0P3I6V2Vha1NldC5wcm90b3R5cGV9O2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKGFyZ3VtZW50cy5sZW5ndGg+MSYmImJvb2xlYW4iIT09dHlwZW9mIHQpdGhyb3cgbmV3IFR5cGVFcnJvcignImFsbG93TWlzc2luZyIgYXJndW1lbnQgbXVzdCBiZSBhIGJvb2xlYW4nKTt2YXIgbj0iJCAiK2U7aWYoIShuIGluIHYpKXRocm93IG5ldyBTeW50YXhFcnJvcigiaW50cmluc2ljICIrZSsiIGRvZXMgbm90IGV4aXN0ISIpO2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIHZbbl0mJiF0KXRocm93IG5ldyBUeXBlRXJyb3IoImludHJpbnNpYyAiK2UrIiBleGlzdHMsIGJ1dCBpcyBub3QgYXZhaWxhYmxlLiBQbGVhc2UgZmlsZSBhbiBpc3N1ZSEiKTtyZXR1cm4gdltuXX19LGViZDY6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oImNiN2MiKSxvPW4oImQ4ZTgiKSxpPW4oIjJiNGMiKSgic3BlY2llcyIpO2UuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuLGE9cihlKS5jb25zdHJ1Y3RvcjtyZXR1cm4gdm9pZCAwPT09YXx8dm9pZCAwPT0obj1yKGEpW2ldKT90Om8obil9fSxlZGQ0OmZ1bmN0aW9uKGUpe2UuZXhwb3J0cz17Y29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldDp7cG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IixjcnlwdG9fcHJpY2VfY29tcGFyaXNvbjoiQ3J5cHRvIFByaWNlIENvbXBhcmlzb24iLGNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb246IkNyeXB0byBNYXJrZXQgQ2FwIENvbXBhcmlzb24ifSxjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0OnsiMjRoX2hpZ2giOiIyNEggSGlnaCIsIjI0aF9sb3ciOiIyNEggTG93Iix2aWV3X3ByaWNlX2NoYXJ0OiJWaWV3ICV7Y29pbn0gUHJpY2UgQ2hhcnQiLHBvd2VyZWRfYnk6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fbGlzdF93aWRnZXQ6e3Bvd2VyZWRfYnk6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGJlYW1fd2lkZ2V0Ontwb3dlcmVkX2J5OiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3RpY2tlcl93aWRnZXQ6eyIyNGhfaGlnaCI6IjI0SCBIaWdoIiwiMjRoX2xvdyI6IjI0SCBMb3ciLHZpZXdfcHJpY2VfY2hhcnQ6IlZpZXcgJXtjb2lufSBQcmljZSBDaGFydCIscG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ont2aWV3X3ByaWNlX2NoYXJ0OiJWaWV3ICV7Y29pbn0gUHJpY2UgQ2hhcnQiLHBvd2VyZWRfYnk6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5faGVhdG1hcF93aWRnZXQ6e3RpdGxlOiJDcnlwdG9jdXJyZW5jaWVzIFRyZWUgTWFwIixzdWJ0aXRsZToiKFRvcCAle3RvcH0gYnkgTWFya2V0IENhcCkiLHBvd2VyZWRfYnk6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LHJhbmRvbV9jb2luX3dpZGdldDp7ZGlzY2xhaW1lcjoiRGlzY2xhaW1lcjogVGhpcyB0b29scyBzZXJ2ZSBhcyBhbiBlbnRlcnRhaW5tZW50IGFuZCBkb2VzIG5vdCBjb25zdGl0dXRlIGZpbmFuY2lhbCBhZHZpY2UuIixzcGluOiJTcGluIn0sY29pbl9kYWlseV9wcmljZV93aWRnZXQ6e3RpdGxlOiJDb2luR2Vja28gUHJpY2UgVXBkYXRlIix0b3RhbF9tY2FwOiJUb3RhbCBNIGNhcCIsIjI0aF92b2wiOiIyNGggVm9sdW1lIixkb206IkRvbSJ9LGNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldDp7IjI0aF9oaWdoIjoiMjRIIEhpZ2giLCIyNGhfbG93IjoiMjRIIExvdyIsdmlld19wcmljZV9jaGFydDoiVmlldyBQcmljZSBDaGFydCIscG93ZXJlZF9ieToiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9Iix2aWV3X2FsbDoiVklFVyBBTEwgJXtjb2lufSBNQVJLRVRTIn19fSxmMTU5OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCI3ZDhhIiksbz1uKCIxYjU1IikoIml0ZXJhdG9yIiksaT1uKCJiMjJhIik7ZS5leHBvcnRzPW4oImE3ZDMiKS5nZXRJdGVyYXRvck1ldGhvZD1mdW5jdGlvbihlKXtpZih2b2lkIDAhPWUpcmV0dXJuIGVbb118fGVbIkBAaXRlcmF0b3IiXXx8aVtyKGUpXX19LGYyZmU6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIGUpdGhyb3cgVHlwZUVycm9yKGUrIiBpcyBub3QgYSBmdW5jdGlvbiEiKTtyZXR1cm4gZX19LGYzNjc6ZnVuY3Rpb24oZSx0LG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1uKCJkNmM3Iiksbz0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT10eXBlb2YgU3ltYm9sKCJmb28iKSxpPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsYT1BcnJheS5wcm90b3R5cGUuY29uY2F0LGM9T2JqZWN0LmRlZmluZVByb3BlcnR5LHM9ZnVuY3Rpb24oZSl7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZiBlJiYiW29iamVjdCBGdW5jdGlvbl0iPT09aS5jYWxsKGUpfSx1PWZ1bmN0aW9uKCl7dmFyIGU9e307dHJ5e2Zvcih2YXIgdCBpbiBjKGUsIngiLHtlbnVtZXJhYmxlOiExLHZhbHVlOmV9KSxlKXJldHVybiExO3JldHVybiBlLng9PT1lfWNhdGNoKG4pe3JldHVybiExfX0sZj1jJiZ1KCksbD1mdW5jdGlvbihlLHQsbixyKXsoISh0IGluIGUpfHxzKHIpJiZyKCkpJiYoZj9jKGUsdCx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITEsdmFsdWU6bix3cml0YWJsZTohMH0pOmVbdF09bil9LHA9ZnVuY3Rpb24oZSx0KXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjI/YXJndW1lbnRzWzJdOnt9LGk9cih0KTtvJiYoaT1hLmNhbGwoaSxPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpKSk7Zm9yKHZhciBjPTA7YzxpLmxlbmd0aDtjKz0xKWwoZSxpW2NdLHRbaVtjXV0sbltpW2NdXSl9O3Auc3VwcG9ydHNEZXNjcmlwdG9ycz0hIWYsZS5leHBvcnRzPXB9LGYzZTA6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjAxODUiKSxvPW4oIjc2MzMiKTtuKCJjMTY1IikoImtleXMiLGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBvKHIoZSkpfX0pfSxmNDZhOmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCJkMTNmIiksbz1uKCIxMWZmIik7cihyLlMrci5GKihOdW1iZXIucGFyc2VGbG9hdCE9byksIk51bWJlciIse3BhcnNlRmxvYXQ6b30pfSxmNTY4OmZ1bmN0aW9uKGUsdCxuKXt2YXIgcj1uKCIzYWRjIiksbz1uKCIwZjg5IiksaT1uKCI3NjMzIik7ZS5leHBvcnRzPW4oIjdkOTUiKT9PYmplY3QuZGVmaW5lUHJvcGVydGllczpmdW5jdGlvbihlLHQpe28oZSk7dmFyIG4sYT1pKHQpLGM9YS5sZW5ndGgscz0wO3doaWxlKGM+cylyLmYoZSxuPWFbcysrXSx0W25dKTtyZXR1cm4gZX19LGY1ZWU6ZnVuY3Rpb24oZSx0LG4pe3ZhciByLG87KGZ1bmN0aW9uKCl7dmFyIGk9dGhpczsoZnVuY3Rpb24oKXsoZnVuY3Rpb24oKXt2YXIgZT1bXS5zbGljZTt0aGlzLkFjdGlvbkNhYmxlPXtJTlRFUk5BTDp7bWVzc2FnZV90eXBlczp7d2VsY29tZToid2VsY29tZSIscGluZzoicGluZyIsY29uZmlybWF0aW9uOiJjb25maXJtX3N1YnNjcmlwdGlvbiIscmVqZWN0aW9uOiJyZWplY3Rfc3Vic2NyaXB0aW9uIn0sZGVmYXVsdF9tb3VudF9wYXRoOiIvY2FibGUiLHByb3RvY29sczpbImFjdGlvbmNhYmxlLXYxLWpzb24iLCJhY3Rpb25jYWJsZS11bnN1cHBvcnRlZCJdfSxXZWJTb2NrZXQ6d2luZG93LldlYlNvY2tldCxsb2dnZXI6d2luZG93LmNvbnNvbGUsY3JlYXRlQ29uc3VtZXI6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIG51bGw9PWUmJihlPW51bGwhPSh0PXRoaXMuZ2V0Q29uZmlnKCJ1cmwiKSk/dDp0aGlzLklOVEVSTkFMLmRlZmF1bHRfbW91bnRfcGF0aCksbmV3IGEuQ29uc3VtZXIodGhpcy5jcmVhdGVXZWJTb2NrZXRVUkwoZSkpfSxnZXRDb25maWc6ZnVuY3Rpb24oZSl7dmFyIHQ7cmV0dXJuIHQ9ZG9jdW1lbnQuaGVhZC5xdWVyeVNlbGVjdG9yKCJtZXRhW25hbWU9J2FjdGlvbi1jYWJsZS0iK2UrIiddIiksbnVsbCE9dD90LmdldEF0dHJpYnV0ZSgiY29udGVudCIpOnZvaWQgMH0sY3JlYXRlV2ViU29ja2V0VVJMOmZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlJiYhL153c3M/Oi9pLnRlc3QoZSk/KHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpLHQuaHJlZj1lLHQuaHJlZj10LmhyZWYsdC5wcm90b2NvbD10LnByb3RvY29sLnJlcGxhY2UoImh0dHAiLCJ3cyIpLHQuaHJlZik6ZX0sc3RhcnREZWJ1Z2dpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWJ1Z2dpbmc9ITB9LHN0b3BEZWJ1Z2dpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kZWJ1Z2dpbmc9bnVsbH0sbG9nOmZ1bmN0aW9uKCl7dmFyIHQsbjtpZih0PTE8PWFyZ3VtZW50cy5sZW5ndGg/ZS5jYWxsKGFyZ3VtZW50cywwKTpbXSx0aGlzLmRlYnVnZ2luZylyZXR1cm4gdC5wdXNoKERhdGUubm93KCkpLChuPXRoaXMubG9nZ2VyKS5sb2cuYXBwbHkobixbIltBY3Rpb25DYWJsZV0iXS5jb25jYXQoZS5jYWxsKHQpKSl9fX0pLmNhbGwodGhpcyl9KS5jYWxsKGkpO3ZhciBhPWkuQWN0aW9uQ2FibGU7KGZ1bmN0aW9uKCl7KGZ1bmN0aW9uKCl7dmFyIGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0LGFyZ3VtZW50cyl9fTthLkNvbm5lY3Rpb25Nb25pdG9yPWZ1bmN0aW9uKCl7dmFyIHQsbixyO2Z1bmN0aW9uIG8odCl7dGhpcy5jb25uZWN0aW9uPXQsdGhpcy52aXNpYmlsaXR5RGlkQ2hhbmdlPWUodGhpcy52aXNpYmlsaXR5RGlkQ2hhbmdlLHRoaXMpLHRoaXMucmVjb25uZWN0QXR0ZW1wdHM9MH1yZXR1cm4gby5wb2xsSW50ZXJ2YWw9e21pbjozLG1heDozMH0sby5zdGFsZVRocmVzaG9sZD02LG8ucHJvdG90eXBlLnN0YXJ0PWZ1bmN0aW9uKCl7aWYoIXRoaXMuaXNSdW5uaW5nKCkpcmV0dXJuIHRoaXMuc3RhcnRlZEF0PW4oKSxkZWxldGUgdGhpcy5zdG9wcGVkQXQsdGhpcy5zdGFydFBvbGxpbmcoKSxkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLnZpc2liaWxpdHlEaWRDaGFuZ2UpLGEubG9nKCJDb25uZWN0aW9uTW9uaXRvciBzdGFydGVkLiBwb2xsSW50ZXJ2YWwgPSAiK3RoaXMuZ2V0UG9sbEludGVydmFsKCkrIiBtcyIpfSxvLnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKCl7aWYodGhpcy5pc1J1bm5pbmcoKSlyZXR1cm4gdGhpcy5zdG9wcGVkQXQ9bigpLHRoaXMuc3RvcFBvbGxpbmcoKSxkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJ2aXNpYmlsaXR5Y2hhbmdlIix0aGlzLnZpc2liaWxpdHlEaWRDaGFuZ2UpLGEubG9nKCJDb25uZWN0aW9uTW9uaXRvciBzdG9wcGVkIil9LG8ucHJvdG90eXBlLmlzUnVubmluZz1mdW5jdGlvbigpe3JldHVybiBudWxsIT10aGlzLnN0YXJ0ZWRBdCYmbnVsbD09dGhpcy5zdG9wcGVkQXR9LG8ucHJvdG90eXBlLnJlY29yZFBpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5waW5nZWRBdD1uKCl9LG8ucHJvdG90eXBlLnJlY29yZENvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yZWNvbm5lY3RBdHRlbXB0cz0wLHRoaXMucmVjb3JkUGluZygpLGRlbGV0ZSB0aGlzLmRpc2Nvbm5lY3RlZEF0LGEubG9nKCJDb25uZWN0aW9uTW9uaXRvciByZWNvcmRlZCBjb25uZWN0Iil9LG8ucHJvdG90eXBlLnJlY29yZERpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNjb25uZWN0ZWRBdD1uKCksYS5sb2coIkNvbm5lY3Rpb25Nb25pdG9yIHJlY29yZGVkIGRpc2Nvbm5lY3QiKX0sby5wcm90b3R5cGUuc3RhcnRQb2xsaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RvcFBvbGxpbmcoKSx0aGlzLnBvbGwoKX0sby5wcm90b3R5cGUuc3RvcFBvbGxpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gY2xlYXJUaW1lb3V0KHRoaXMucG9sbFRpbWVvdXQpfSxvLnByb3RvdHlwZS5wb2xsPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucG9sbFRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5yZWNvbm5lY3RJZlN0YWxlKCksZS5wb2xsKCl9fSh0aGlzKSx0aGlzLmdldFBvbGxJbnRlcnZhbCgpKX0sby5wcm90b3R5cGUuZ2V0UG9sbEludGVydmFsPWZ1bmN0aW9uKCl7dmFyIGUsbixyLG87cmV0dXJuIG89dGhpcy5jb25zdHJ1Y3Rvci5wb2xsSW50ZXJ2YWwscj1vLm1pbixuPW8ubWF4LGU9NSpNYXRoLmxvZyh0aGlzLnJlY29ubmVjdEF0dGVtcHRzKzEpLE1hdGgucm91bmQoMWUzKnQoZSxyLG4pKX0sby5wcm90b3R5cGUucmVjb25uZWN0SWZTdGFsZT1mdW5jdGlvbigpe2lmKHRoaXMuY29ubmVjdGlvbklzU3RhbGUoKSlyZXR1cm4gYS5sb2coIkNvbm5lY3Rpb25Nb25pdG9yIGRldGVjdGVkIHN0YWxlIGNvbm5lY3Rpb24uIHJlY29ubmVjdEF0dGVtcHRzID0gIit0aGlzLnJlY29ubmVjdEF0dGVtcHRzKyIsIHBvbGxJbnRlcnZhbCA9ICIrdGhpcy5nZXRQb2xsSW50ZXJ2YWwoKSsiIG1zLCB0aW1lIGRpc2Nvbm5lY3RlZCA9ICIrcih0aGlzLmRpc2Nvbm5lY3RlZEF0KSsiIHMsIHN0YWxlIHRocmVzaG9sZCA9ICIrdGhpcy5jb25zdHJ1Y3Rvci5zdGFsZVRocmVzaG9sZCsiIHMiKSx0aGlzLnJlY29ubmVjdEF0dGVtcHRzKyssdGhpcy5kaXNjb25uZWN0ZWRSZWNlbnRseSgpP2EubG9nKCJDb25uZWN0aW9uTW9uaXRvciBza2lwcGluZyByZW9wZW5pbmcgcmVjZW50IGRpc2Nvbm5lY3QiKTooYS5sb2coIkNvbm5lY3Rpb25Nb25pdG9yIHJlb3BlbmluZyIpLHRoaXMuY29ubmVjdGlvbi5yZW9wZW4oKSl9LG8ucHJvdG90eXBlLmNvbm5lY3Rpb25Jc1N0YWxlPWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIHIobnVsbCE9KGU9dGhpcy5waW5nZWRBdCk/ZTp0aGlzLnN0YXJ0ZWRBdCk+dGhpcy5jb25zdHJ1Y3Rvci5zdGFsZVRocmVzaG9sZH0sby5wcm90b3R5cGUuZGlzY29ubmVjdGVkUmVjZW50bHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kaXNjb25uZWN0ZWRBdCYmcih0aGlzLmRpc2Nvbm5lY3RlZEF0KTx0aGlzLmNvbnN0cnVjdG9yLnN0YWxlVGhyZXNob2xkfSxvLnByb3RvdHlwZS52aXNpYmlsaXR5RGlkQ2hhbmdlPWZ1bmN0aW9uKCl7aWYoInZpc2libGUiPT09ZG9jdW1lbnQudmlzaWJpbGl0eVN0YXRlKXJldHVybiBzZXRUaW1lb3V0KGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbigpe2lmKGUuY29ubmVjdGlvbklzU3RhbGUoKXx8IWUuY29ubmVjdGlvbi5pc09wZW4oKSlyZXR1cm4gYS5sb2coIkNvbm5lY3Rpb25Nb25pdG9yIHJlb3BlbmluZyBzdGFsZSBjb25uZWN0aW9uIG9uIHZpc2liaWxpdHljaGFuZ2UuIHZpc2JpbGl0eVN0YXRlID0gIitkb2N1bWVudC52aXNpYmlsaXR5U3RhdGUpLGUuY29ubmVjdGlvbi5yZW9wZW4oKX19KHRoaXMpLDIwMCl9LG49ZnVuY3Rpb24oKXtyZXR1cm4obmV3IERhdGUpLmdldFRpbWUoKX0scj1mdW5jdGlvbihlKXtyZXR1cm4obigpLWUpLzFlM30sdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIE1hdGgubWF4KHQsTWF0aC5taW4obixlKSl9LG99KCl9KS5jYWxsKHRoaXMpLGZ1bmN0aW9uKCl7dmFyIGUsdCxuLHIsbyxpPVtdLnNsaWNlLGM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0LGFyZ3VtZW50cyl9fSxzPVtdLmluZGV4T2Z8fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdD0wLG49dGhpcy5sZW5ndGg7dDxuO3QrKylpZih0IGluIHRoaXMmJnRoaXNbdF09PT1lKXJldHVybiB0O3JldHVybi0xfTtyPWEuSU5URVJOQUwsdD1yLm1lc3NhZ2VfdHlwZXMsbj1yLnByb3RvY29scyxvPTI8PW4ubGVuZ3RoP2kuY2FsbChuLDAsZT1uLmxlbmd0aC0xKTooZT0wLFtdKSxuW2UrK10sYS5Db25uZWN0aW9uPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXt0aGlzLmNvbnN1bWVyPWUsdGhpcy5vcGVuPWModGhpcy5vcGVuLHRoaXMpLHRoaXMuc3Vic2NyaXB0aW9ucz10aGlzLmNvbnN1bWVyLnN1YnNjcmlwdGlvbnMsdGhpcy5tb25pdG9yPW5ldyBhLkNvbm5lY3Rpb25Nb25pdG9yKHRoaXMpLHRoaXMuZGlzY29ubmVjdGVkPSEwfXJldHVybiBlLnJlb3BlbkRlbGF5PTUwMCxlLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUpe3JldHVybiEhdGhpcy5pc09wZW4oKSYmKHRoaXMud2ViU29ja2V0LnNlbmQoSlNPTi5zdHJpbmdpZnkoZSkpLCEwKX0sZS5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzQWN0aXZlKCk/KGEubG9nKCJBdHRlbXB0ZWQgdG8gb3BlbiBXZWJTb2NrZXQsIGJ1dCBleGlzdGluZyBzb2NrZXQgaXMgIit0aGlzLmdldFN0YXRlKCkpLCExKTooYS5sb2coIk9wZW5pbmcgV2ViU29ja2V0LCBjdXJyZW50IHN0YXRlIGlzICIrdGhpcy5nZXRTdGF0ZSgpKyIsIHN1YnByb3RvY29sczogIituKSxudWxsIT10aGlzLndlYlNvY2tldCYmdGhpcy51bmluc3RhbGxFdmVudEhhbmRsZXJzKCksdGhpcy53ZWJTb2NrZXQ9bmV3IGEuV2ViU29ja2V0KHRoaXMuY29uc3VtZXIudXJsLG4pLHRoaXMuaW5zdGFsbEV2ZW50SGFuZGxlcnMoKSx0aGlzLm1vbml0b3Iuc3RhcnQoKSwhMCl9LGUucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKGUpe3ZhciB0LG47aWYodD0obnVsbCE9ZT9lOnthbGxvd1JlY29ubmVjdDohMH0pLmFsbG93UmVjb25uZWN0LHR8fHRoaXMubW9uaXRvci5zdG9wKCksdGhpcy5pc0FjdGl2ZSgpKXJldHVybiBudWxsIT0obj10aGlzLndlYlNvY2tldCk/bi5jbG9zZSgpOnZvaWQgMH0sZS5wcm90b3R5cGUucmVvcGVuPWZ1bmN0aW9uKCl7dmFyIGU7aWYoYS5sb2coIlJlb3BlbmluZyBXZWJTb2NrZXQsIGN1cnJlbnQgc3RhdGUgaXMgIit0aGlzLmdldFN0YXRlKCkpLCF0aGlzLmlzQWN0aXZlKCkpcmV0dXJuIHRoaXMub3BlbigpO3RyeXtyZXR1cm4gdGhpcy5jbG9zZSgpfWNhdGNoKHQpe3JldHVybiBlPXQsYS5sb2coIkZhaWxlZCB0byByZW9wZW4gV2ViU29ja2V0IixlKX1maW5hbGx5e2EubG9nKCJSZW9wZW5pbmcgV2ViU29ja2V0IGluICIrdGhpcy5jb25zdHJ1Y3Rvci5yZW9wZW5EZWxheSsibXMiKSxzZXRUaW1lb3V0KHRoaXMub3Blbix0aGlzLmNvbnN0cnVjdG9yLnJlb3BlbkRlbGF5KX19LGUucHJvdG90eXBlLmdldFByb3RvY29sPWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIG51bGwhPShlPXRoaXMud2ViU29ja2V0KT9lLnByb3RvY29sOnZvaWQgMH0sZS5wcm90b3R5cGUuaXNPcGVuPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNTdGF0ZSgib3BlbiIpfSxlLnByb3RvdHlwZS5pc0FjdGl2ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlzU3RhdGUoIm9wZW4iLCJjb25uZWN0aW5nIil9LGUucHJvdG90eXBlLmlzUHJvdG9jb2xTdXBwb3J0ZWQ9ZnVuY3Rpb24oKXt2YXIgZTtyZXR1cm4gZT10aGlzLmdldFByb3RvY29sKCkscy5jYWxsKG8sZSk+PTB9LGUucHJvdG90eXBlLmlzU3RhdGU9ZnVuY3Rpb24oKXt2YXIgZSx0O3JldHVybiB0PTE8PWFyZ3VtZW50cy5sZW5ndGg/aS5jYWxsKGFyZ3VtZW50cywwKTpbXSxlPXRoaXMuZ2V0U3RhdGUoKSxzLmNhbGwodCxlKT49MH0sZS5wcm90b3R5cGUuZ2V0U3RhdGU9ZnVuY3Rpb24oKXt2YXIgZSx0LG47Zm9yKHQgaW4gV2ViU29ja2V0KWlmKG49V2ViU29ja2V0W3RdLG49PT0obnVsbCE9KGU9dGhpcy53ZWJTb2NrZXQpP2UucmVhZHlTdGF0ZTp2b2lkIDApKXJldHVybiB0LnRvTG93ZXJDYXNlKCk7cmV0dXJuIG51bGx9LGUucHJvdG90eXBlLmluc3RhbGxFdmVudEhhbmRsZXJzPWZ1bmN0aW9uKCl7dmFyIGUsdDtmb3IoZSBpbiB0aGlzLmV2ZW50cyl0PXRoaXMuZXZlbnRzW2VdLmJpbmQodGhpcyksdGhpcy53ZWJTb2NrZXRbIm9uIitlXT10fSxlLnByb3RvdHlwZS51bmluc3RhbGxFdmVudEhhbmRsZXJzPWZ1bmN0aW9uKCl7dmFyIGU7Zm9yKGUgaW4gdGhpcy5ldmVudHMpdGhpcy53ZWJTb2NrZXRbIm9uIitlXT1mdW5jdGlvbigpe319LGUucHJvdG90eXBlLmV2ZW50cz17bWVzc2FnZTpmdW5jdGlvbihlKXt2YXIgbixyLG8saTtpZih0aGlzLmlzUHJvdG9jb2xTdXBwb3J0ZWQoKSlzd2l0Y2gobz1KU09OLnBhcnNlKGUuZGF0YSksbj1vLmlkZW50aWZpZXIscj1vLm1lc3NhZ2UsaT1vLnR5cGUsaSl7Y2FzZSB0LndlbGNvbWU6cmV0dXJuIHRoaXMubW9uaXRvci5yZWNvcmRDb25uZWN0KCksdGhpcy5zdWJzY3JpcHRpb25zLnJlbG9hZCgpO2Nhc2UgdC5waW5nOnJldHVybiB0aGlzLm1vbml0b3IucmVjb3JkUGluZygpO2Nhc2UgdC5jb25maXJtYXRpb246cmV0dXJuIHRoaXMuc3Vic2NyaXB0aW9ucy5ub3RpZnkobiwiY29ubmVjdGVkIik7Y2FzZSB0LnJlamVjdGlvbjpyZXR1cm4gdGhpcy5zdWJzY3JpcHRpb25zLnJlamVjdChuKTtkZWZhdWx0OnJldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMubm90aWZ5KG4sInJlY2VpdmVkIixyKX19LG9wZW46ZnVuY3Rpb24oKXtpZihhLmxvZygiV2ViU29ja2V0IG9ub3BlbiBldmVudCwgdXNpbmcgJyIrdGhpcy5nZXRQcm90b2NvbCgpKyInIHN1YnByb3RvY29sIiksdGhpcy5kaXNjb25uZWN0ZWQ9ITEsIXRoaXMuaXNQcm90b2NvbFN1cHBvcnRlZCgpKXJldHVybiBhLmxvZygiUHJvdG9jb2wgaXMgdW5zdXBwb3J0ZWQuIFN0b3BwaW5nIG1vbml0b3IgYW5kIGRpc2Nvbm5lY3RpbmcuIiksdGhpcy5jbG9zZSh7YWxsb3dSZWNvbm5lY3Q6ITF9KX0sY2xvc2U6ZnVuY3Rpb24oZSl7aWYoYS5sb2coIldlYlNvY2tldCBvbmNsb3NlIGV2ZW50IiksIXRoaXMuZGlzY29ubmVjdGVkKXJldHVybiB0aGlzLmRpc2Nvbm5lY3RlZD0hMCx0aGlzLm1vbml0b3IucmVjb3JkRGlzY29ubmVjdCgpLHRoaXMuc3Vic2NyaXB0aW9ucy5ub3RpZnlBbGwoImRpc2Nvbm5lY3RlZCIse3dpbGxBdHRlbXB0UmVjb25uZWN0OnRoaXMubW9uaXRvci5pc1J1bm5pbmcoKX0pfSxlcnJvcjpmdW5jdGlvbigpe3JldHVybiBhLmxvZygiV2ViU29ja2V0IG9uZXJyb3IgZXZlbnQiKX19LGV9KCl9LmNhbGwodGhpcyksZnVuY3Rpb24oKXt2YXIgZT1bXS5zbGljZTthLlN1YnNjcmlwdGlvbnM9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3RoaXMuY29uc3VtZXI9ZSx0aGlzLnN1YnNjcmlwdGlvbnM9W119cmV0dXJuIHQucHJvdG90eXBlLmNyZWF0ZT1mdW5jdGlvbihlLHQpe3ZhciBuLHIsbztyZXR1cm4gbj1lLHI9Im9iamVjdCI9PT10eXBlb2Ygbj9uOntjaGFubmVsOm59LG89bmV3IGEuU3Vic2NyaXB0aW9uKHRoaXMuY29uc3VtZXIscix0KSx0aGlzLmFkZChvKX0sdC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnN1YnNjcmlwdGlvbnMucHVzaChlKSx0aGlzLmNvbnN1bWVyLmVuc3VyZUFjdGl2ZUNvbm5lY3Rpb24oKSx0aGlzLm5vdGlmeShlLCJpbml0aWFsaXplZCIpLHRoaXMuc2VuZENvbW1hbmQoZSwic3Vic2NyaWJlIiksZX0sdC5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmZvcmdldChlKSx0aGlzLmZpbmRBbGwoZS5pZGVudGlmaWVyKS5sZW5ndGh8fHRoaXMuc2VuZENvbW1hbmQoZSwidW5zdWJzY3JpYmUiKSxlfSx0LnByb3RvdHlwZS5yZWplY3Q9ZnVuY3Rpb24oZSl7dmFyIHQsbixyLG8saTtmb3Iocj10aGlzLmZpbmRBbGwoZSksbz1bXSx0PTAsbj1yLmxlbmd0aDt0PG47dCsrKWk9clt0XSx0aGlzLmZvcmdldChpKSx0aGlzLm5vdGlmeShpLCJyZWplY3RlZCIpLG8ucHVzaChpKTtyZXR1cm4gb30sdC5wcm90b3R5cGUuZm9yZ2V0PWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiB0aGlzLnN1YnNjcmlwdGlvbnM9ZnVuY3Rpb24oKXt2YXIgbixyLG8saTtmb3Iobz10aGlzLnN1YnNjcmlwdGlvbnMsaT1bXSxuPTAscj1vLmxlbmd0aDtuPHI7bisrKXQ9b1tuXSx0IT09ZSYmaS5wdXNoKHQpO3JldHVybiBpfS5jYWxsKHRoaXMpLGV9LHQucHJvdG90eXBlLmZpbmRBbGw9ZnVuY3Rpb24oZSl7dmFyIHQsbixyLG8saTtmb3Iocj10aGlzLnN1YnNjcmlwdGlvbnMsbz1bXSx0PTAsbj1yLmxlbmd0aDt0PG47dCsrKWk9clt0XSxpLmlkZW50aWZpZXI9PT1lJiZvLnB1c2goaSk7cmV0dXJuIG99LHQucHJvdG90eXBlLnJlbG9hZD1mdW5jdGlvbigpe3ZhciBlLHQsbixyLG87Zm9yKG49dGhpcy5zdWJzY3JpcHRpb25zLHI9W10sZT0wLHQ9bi5sZW5ndGg7ZTx0O2UrKylvPW5bZV0sci5wdXNoKHRoaXMuc2VuZENvbW1hbmQobywic3Vic2NyaWJlIikpO3JldHVybiByfSx0LnByb3RvdHlwZS5ub3RpZnlBbGw9ZnVuY3Rpb24oKXt2YXIgdCxuLHIsbyxpLGEsYztmb3Iobj1hcmd1bWVudHNbMF0sdD0yPD1hcmd1bWVudHMubGVuZ3RoP2UuY2FsbChhcmd1bWVudHMsMSk6W10saT10aGlzLnN1YnNjcmlwdGlvbnMsYT1bXSxyPTAsbz1pLmxlbmd0aDtyPG87cisrKWM9aVtyXSxhLnB1c2godGhpcy5ub3RpZnkuYXBwbHkodGhpcyxbYyxuXS5jb25jYXQoZS5jYWxsKHQpKSkpO3JldHVybiBhfSx0LnByb3RvdHlwZS5ub3RpZnk9ZnVuY3Rpb24oKXt2YXIgdCxuLHIsbyxpLGEsYztmb3IoYT1hcmd1bWVudHNbMF0sbj1hcmd1bWVudHNbMV0sdD0zPD1hcmd1bWVudHMubGVuZ3RoP2UuY2FsbChhcmd1bWVudHMsMik6W10sYz0ic3RyaW5nIj09PXR5cGVvZiBhP3RoaXMuZmluZEFsbChhKTpbYV0saT1bXSxyPTAsbz1jLmxlbmd0aDtyPG87cisrKWE9Y1tyXSxpLnB1c2goImZ1bmN0aW9uIj09PXR5cGVvZiBhW25dP2Fbbl0uYXBwbHkoYSx0KTp2b2lkIDApO3JldHVybiBpfSx0LnByb3RvdHlwZS5zZW5kQ29tbWFuZD1mdW5jdGlvbihlLHQpe3ZhciBuO3JldHVybiBuPWUuaWRlbnRpZmllcix0aGlzLmNvbnN1bWVyLnNlbmQoe2NvbW1hbmQ6dCxpZGVudGlmaWVyOm59KX0sdH0oKX0uY2FsbCh0aGlzKSxmdW5jdGlvbigpe2EuU3Vic2NyaXB0aW9uPWZ1bmN0aW9uKCl7dmFyIGU7ZnVuY3Rpb24gdCh0LG4scil7dGhpcy5jb25zdW1lcj10LG51bGw9PW4mJihuPXt9KSx0aGlzLmlkZW50aWZpZXI9SlNPTi5zdHJpbmdpZnkobiksZSh0aGlzLHIpfXJldHVybiB0LnByb3RvdHlwZS5wZXJmb3JtPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PXQmJih0PXt9KSx0LmFjdGlvbj1lLHRoaXMuc2VuZCh0KX0sdC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jb25zdW1lci5zZW5kKHtjb21tYW5kOiJtZXNzYWdlIixpZGVudGlmaWVyOnRoaXMuaWRlbnRpZmllcixkYXRhOkpTT04uc3RyaW5naWZ5KGUpfSl9LHQucHJvdG90eXBlLnVuc3Vic2NyaWJlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29uc3VtZXIuc3Vic2NyaXB0aW9ucy5yZW1vdmUodGhpcyl9LGU9ZnVuY3Rpb24oZSx0KXt2YXIgbixyO2lmKG51bGwhPXQpZm9yKG4gaW4gdClyPXRbbl0sZVtuXT1yO3JldHVybiBlfSx0fSgpfS5jYWxsKHRoaXMpLGZ1bmN0aW9uKCl7YS5Db25zdW1lcj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSl7dGhpcy51cmw9ZSx0aGlzLnN1YnNjcmlwdGlvbnM9bmV3IGEuU3Vic2NyaXB0aW9ucyh0aGlzKSx0aGlzLmNvbm5lY3Rpb249bmV3IGEuQ29ubmVjdGlvbih0aGlzKX1yZXR1cm4gZS5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5jb25uZWN0aW9uLnNlbmQoZSl9LGUucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0aW9uLm9wZW4oKX0sZS5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3Rpb24uY2xvc2Uoe2FsbG93UmVjb25uZWN0OiExfSl9LGUucHJvdG90eXBlLmVuc3VyZUFjdGl2ZUNvbm5lY3Rpb249ZnVuY3Rpb24oKXtpZighdGhpcy5jb25uZWN0aW9uLmlzQWN0aXZlKCkpcmV0dXJuIHRoaXMuY29ubmVjdGlvbi5vcGVuKCl9LGV9KCl9LmNhbGwodGhpcyl9KS5jYWxsKHRoaXMpLGUuZXhwb3J0cz9lLmV4cG9ydHM9YToocj1hLG89ImZ1bmN0aW9uIj09PXR5cGVvZiByP3IuY2FsbCh0LG4sdCxlKTpyLHZvaWQgMD09PW98fChlLmV4cG9ydHM9bykpfSkuY2FsbCh0aGlzKX0sZjYwNTpmdW5jdGlvbihlLHQpe2UuZXhwb3J0cz1mdW5jdGlvbihlLHQsbixyKXtpZighKGUgaW5zdGFuY2VvZiB0KXx8dm9pZCAwIT09ciYmciBpbiBlKXRocm93IFR5cGVFcnJvcihuKyI6IGluY29ycmVjdCBpbnZvY2F0aW9uISIpO3JldHVybiBlfX0sZjY5MzpmdW5jdGlvbihlKXtlLmV4cG9ydHM9e2NvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldDp7cG93ZXJlZF9ieToiRm91cm5pIHBhciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sY29pbl9wcmljZV9jaGFydF93aWRnZXQ6eyIyNGhfaGlnaCI6Ik1heC4gc3VyIDI0wqBoIiwiMjRoX2xvdyI6Ik1pbi4gc3VyIDI0wqBoIix2aWV3X3ByaWNlX2NoYXJ0OiJWb2lyIGxlIGdyYXBoaXF1ZSBkZXMgY291cnMiLHBvd2VyZWRfYnk6IkZvdXJuaSBwYXIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IkZvdXJuaSBwYXIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fbGlzdF93aWRnZXQ6e3Bvd2VyZWRfYnk6IkZvdXJuaSBwYXIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGJlYW1fd2lkZ2V0Ontwb3dlcmVkX2J5OiJGb3VybmkgcGFyICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX3RpY2tlcl93aWRnZXQ6eyIyNGhfaGlnaCI6Ik1heC4gc3VyIDI0wqBoIiwiMjRoX2xvdyI6Ik1pbi4gc3VyIDI0wqBoIix2aWV3X3ByaWNlX2NoYXJ0OiJWb2lyIGxlIGdyYXBoaXF1ZSBkZXMgY291cnMiLHBvd2VyZWRfYnk6IkZvdXJuaSBwYXIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LGNvaW5fY29udmVydGVyX3dpZGdldDp7dmlld19wcmljZV9jaGFydDoiVm9pciBsZSBncmFwaGlxdWUgZGVzIGNvdXJzIixwb3dlcmVkX2J5OiJGb3VybmkgcGFyICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSxjb2luX2hlYXRtYXBfd2lkZ2V0Ont0aXRsZToiQXJib3Jlc2NlbmNlIGRlcyBjcnlwdG8tbW9ubmFpZXMiLHN1YnRpdGxlOiIoJXt0b3B9IHByaW5jaXBhbGVzIHNlbG9uIGxhIGNhcGl0YWxpc2F0aW9uIGRlIG1hcmNow6kpIixwb3dlcmVkX2J5OiJGb3VybmkgcGFyICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifX19LGY4NDU6ZnVuY3Rpb24oZSx0KXtlLmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm57ZW51bWVyYWJsZTohKDEmZSksY29uZmlndXJhYmxlOiEoMiZlKSx3cml0YWJsZTohKDQmZSksdmFsdWU6dH19fSxmYTRlOmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9ITEsbz1mdW5jdGlvbigpe307aWYocil7dmFyIGk9ZnVuY3Rpb24oZSx0KXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoO3Q9bmV3IEFycmF5KG4+Mj9uLTI6MCk7Zm9yKHZhciByPTI7cjxuO3IrKyl0W3ItMl09YXJndW1lbnRzW3JdO3ZhciBvPTAsaT0iV2FybmluZzogIitlLnJlcGxhY2UoLyVzL2csZnVuY3Rpb24oKXtyZXR1cm4gdFtvKytdfSk7InVuZGVmaW5lZCIhPT10eXBlb2YgY29uc29sZSYmY29uc29sZS5lcnJvcihpKTt0cnl7dGhyb3cgbmV3IEVycm9yKGkpfWNhdGNoKGEpe319O289ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWFyZ3VtZW50cy5sZW5ndGg7bj1uZXcgQXJyYXkocj4yP3ItMjowKTtmb3IodmFyIG89MjtvPHI7bysrKW5bby0yXT1hcmd1bWVudHNbb107aWYodm9pZCAwPT09dCl0aHJvdyBuZXcgRXJyb3IoImB3YXJuaW5nKGNvbmRpdGlvbiwgZm9ybWF0LCAuLi5hcmdzKWAgcmVxdWlyZXMgYSB3YXJuaW5nIG1lc3NhZ2UgYXJndW1lbnQiKTtlfHxpLmFwcGx5KG51bGwsW3RdLmNvbmNhdChuKSl9fWUuZXhwb3J0cz1vfSxmYTU0OmZ1bmN0aW9uKGUsdCxuKXsidXNlIHN0cmljdCI7dmFyIHI9bigiYjNlNyIpLG89bigiMjQ1YiIpLGk9bigiYjIyYSIpLGE9bigiNmE5YiIpO2UuZXhwb3J0cz1uKCJlNGE5IikoQXJyYXksIkFycmF5IixmdW5jdGlvbihlLHQpe3RoaXMuX3Q9YShlKSx0aGlzLl9pPTAsdGhpcy5faz10fSxmdW5jdGlvbigpe3ZhciBlPXRoaXMuX3QsdD10aGlzLl9rLG49dGhpcy5faSsrO3JldHVybiFlfHxuPj1lLmxlbmd0aD8odGhpcy5fdD12b2lkIDAsbygxKSk6bygwLCJrZXlzIj09dD9uOiJ2YWx1ZXMiPT10P2Vbbl06W24sZVtuXV0pfSwidmFsdWVzIiksaS5Bcmd1bWVudHM9aS5BcnJheSxyKCJrZXlzIikscigidmFsdWVzIikscigiZW50cmllcyIpfSxmYTViOmZ1bmN0aW9uKGUsdCxuKXtlLmV4cG9ydHM9bigiNTUzNyIpKCJuYXRpdmUtZnVuY3Rpb24tdG8tc3RyaW5nIixGdW5jdGlvbi50b1N0cmluZyl9LGZhYjI6ZnVuY3Rpb24oZSx0LG4pe3ZhciByPW4oIjc3MjYiKS5kb2N1bWVudDtlLmV4cG9ydHM9ciYmci5kb2N1bWVudEVsZW1lbnR9LGZkYTE6ZnVuY3Rpb24oZSx0LG4pe3QuZj1uKCIxYjU1Iil9LGZkYTY6ZnVuY3Rpb24oZSx0LG4pe24oImYzZTAiKSxlLmV4cG9ydHM9bigiYTdkMyIpLk9iamVjdC5rZXlzfSxmZGVmOmZ1bmN0aW9uKGUsdCl7ZS5leHBvcnRzPSJcdFxuXHZcZlxyIMKg4ZqA4aCO4oCA4oCB4oCC4oCD4oCE4oCF4oCG4oCH4oCI4oCJ4oCK4oCv4oGf44CAXHUyMDI4XHUyMDI5XHVmZWZmIn0sZmYwYzpmdW5jdGlvbihlLHQsbil7dmFyIHI9bigiNDNjOCIpLG89bigiMDE4NSIpLGk9bigiNWQ4ZiIpKCJJRV9QUk9UTyIpLGE9T2JqZWN0LnByb3RvdHlwZTtlLmV4cG9ydHM9T2JqZWN0LmdldFByb3RvdHlwZU9mfHxmdW5jdGlvbihlKXtyZXR1cm4gZT1vKGUpLHIoZSxpKT9lW2ldOiJmdW5jdGlvbiI9PXR5cGVvZiBlLmNvbnN0cnVjdG9yJiZlIGluc3RhbmNlb2YgZS5jb25zdHJ1Y3Rvcj9lLmNvbnN0cnVjdG9yLnByb3RvdHlwZTplIGluc3RhbmNlb2YgT2JqZWN0P2E6bnVsbH19LGZmZWI6ZnVuY3Rpb24oZSl7ZS5leHBvcnRzPXtjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gdGFyYWbEsW5kYW4gZGVzdGVrbGVubWVrdGVkaXIifSxjb2luX3ByaWNlX2NoYXJ0X3dpZGdldDp7IjI0aF9oaWdoIjoiMjRTIFnDvGtzZWsiLCIyNGhfbG93IjoiMjRTIETDvMWfw7xrIix2aWV3X3ByaWNlX2NoYXJ0OiJGaXlhdCBUYWJsb3N1bnUgR8O2ciIscG93ZXJlZF9ieToiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSB0YXJhZsSxbmRhbiBkZXN0ZWtsZW5tZWt0ZWRpciJ9LGNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQ6e3Bvd2VyZWRfYnk6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gdGFyYWbEsW5kYW4gZGVzdGVrbGVubWVrdGVkaXIifSxjb2luX2xpc3Rfd2lkZ2V0Ontwb3dlcmVkX2J5OiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IHRhcmFmxLFuZGFuIGRlc3Rla2xlbm1la3RlZGlyIn0sYmVhbV93aWRnZXQ6e3Bvd2VyZWRfYnk6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gdGFyYWbEsW5kYW4gZGVzdGVrbGVubWVrdGVkaXIifSxjb2luX3RpY2tlcl93aWRnZXQ6eyIyNGhfaGlnaCI6IjI0UyBZw7xrc2VrIiwiMjRoX2xvdyI6IjI0UyBEw7zFn8O8ayIsdmlld19wcmljZV9jaGFydDoiRml5YXQgVGFibG9zdW51IEfDtnIiLHBvd2VyZWRfYnk6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gdGFyYWbEsW5kYW4gZGVzdGVrbGVubWVrdGVkaXIifSxjb2luX2NvbnZlcnRlcl93aWRnZXQ6e3ZpZXdfcHJpY2VfY2hhcnQ6IkZpeWF0IFRhYmxvc3VudSBHw7ZyIixwb3dlcmVkX2J5OiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IHRhcmFmxLFuZGFuIGRlc3Rla2xlbm1la3RlZGlyIn0sY29pbl9oZWF0bWFwX3dpZGdldDp7dGl0bGU6IktyaXB0byBQYXJhIEHEn2FjxLEgSGFyaXRhc8SxIixzdWJ0aXRsZToiKFBpeWFzYSBEZcSfZXJpbmUgR8O2cmUgxLBsayAle3RvcH0pIixwb3dlcmVkX2J5OiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IHRhcmFmxLFuZGFuIGRlc3Rla2xlbm1la3RlZGlyIn19fX0pOw=="}},"time_used":637,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":613,"receive":24,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/flaticon-png/small/f4.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.830Z","timestamp":1785133989830,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/flaticon-png/small/f4.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/png\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 9451\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":9451,"size_decoded":9637,"mime_type":"image/png","magic":"PNG image data, 90 x 90, 8-bit/color RGBA, non-interlaced","md5":"f6a1a4a64d1dbed3b22bc4b27db78b36","sha1":"8fa7940fcef0771dbb0ff25c2bddeab2c7d62692","sha256":"f1e903eb99cbd28cccfab60563b79f2d7cfb501575fff2c518c57326cc78204c","sha512":"758ff8ab002d71e7103eea71cfaeb6eb369dc847035c77c27672d4eb4bc92059cfa3335380115f854409b2cc3244921ddfbbe88ca35264e7c250d6a13162d0fb","ssdeep":"192:qkn5VR8V8wdooLZPpNISGiggQZ3XfTqThQ02ft8hUiHg+cy1RGwKxPbT:5nLRE8wuyRNIXi0NXrqQUUi1cy1R2T","tlshash":"8b12c093d3b02c632697587288d6d1d3cbc3350284c352766cebd5a786a2463bc1fae7","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T14:34:25.240112Z","times_seen":44,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+tpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTAxLTAxVDE4OjE5OjU0KzA2OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0wMS0wMVQxODoyNzoyNCswNjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0wMS0wMVQxODoyNzoyNCswNjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUYwMDVCRDRFRUVGMTFFN0JENTZGOTI2NEYxQzAwM0YiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUYwMDVCRDVFRUVGMTFFN0JENTZGOTI2NEYxQzAwM0YiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDoxRjAwNUJEMkVFRUYxMUU3QkQ1NkY5MjY0RjFDMDAzRiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDoxRjAwNUJEM0VFRUYxMUU3QkQ1NkY5MjY0RjFDMDAzRiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsGMDTcAACCWSURBVHja3F0HYFTVEj2bkN5IJZWQQEijhR5AmqFLFcQCxgIqig1pFvyg2EVEseOXIuAHRPCDoBA6oQoBJBACIYX0QnrIptw/897LZneTTYEA4V8dkn376ty5Z87MnXejEkKgqqlUKtxDzYikN0kQiSdJCIkHiSOJPYmaJFuRaJIYkiSSI8rP2960dSt9qJJ7oJmTjCbZqihL3IRUkESRfKh00m1VtEa394ii/UmWkqTdpHLrkgMk4bdb0apmDh3uJPNIXqprJwtLc7T3cYOXhwusTFrAwtwUFRWVKFKXoaiwGOdik5CakQtRUVHXaS6RLCJZdzugozkr+nWSN0msauAHKXLC6PvQp3M79OkeCH9vV1i2I5huwfDMz2BCUqmgRCmQkYyUxHScj0nAn8fO4whJ5PFoQ9fdTfIWybH/d0V7kfxIMkT/i25d/PDkQ/dj0vBQuISwH2xJcgMoS0RxTCKSU7NRXKpGyQ01jI2NYGVhBlsbS3i2cSM36U37tpKVXxaHvdsOY+P2w1i1ZieKyfJraTNJvvp/dYZ9SfL0cbSDv7dY/fUcIdQH6TazSC6I3DNrxH++mSvmvvCg6BzkIwguDOJwK6eWYtzQXmLpO8+IyF8/ECJ3F50jjSRepJ9eLZ5/6gFDx67/f3SGj+s/KI0v8dHCaULk7VYUfEz8d/XbYtLY/sLW1uqmHWBggLd46+XJIvnET3TOayRx4tz+r8UDg7rVtv+x2uDrXlX0k/oP2MXPS5zd+xXdVipJtPjrl3fFkAEhTco4LMxMxVxSeGHsRrpGBskp8e68qbXtG6Nw83uadUwk2ai9YfLw3vhlM9Fci464EbcP4bOWYcPWA7VHLS2McF8HZwwMcYF7S3PYWpjA0sQIFfRchaUVyC4uw8WkAvx5PAXxKYW1nqOVkx3ef/NJPPXKdPpkh8jf12Hg2Lkoq8lK/O9VZ3ifwmM17dXHR+CzVe9Kjmv/b2vx1MwliEvJrHHghEGt8WA/L/Tv6ATPEFegtS2QVQJkFhP7oKDRjUa7iTGQS86ygILE1EJEXc3Db0dTsGlvAqLjcmti18RBWPXtfIotQ3D+4GYMGTcHqTkF2rvsIxl0rym6Bcl1EuuqDdMnDMD3v34jBYArPl6C6fNqOv1HwtrgrSc7ISiklTyqiV3kRKXjxKXr6NfRGZbOlkTwBE7+nY7cIjXCerjJiufHtKfA0sZU6owNu+Ix94uTSOCO0WpdA7yx94+lsPXpj2sntqJt6HSoKyq1d2ErePteYh07tXFwTP8uEkYKkSC+efeZGjjp7WAudi8fKsTFZ4Q497QQOx8SInKqSNo4Tthamkj7+LhaCfHP0+LQsjDNcVPC2gjx9xNC7HpYVO6gY7ZPEmLfo0JceY5IzBTxxpTgmtdybikK4zZLuH16+6e1YXa/xmK00V1yfuNIhmkw0t4Wm9exobhi9WefYsaC73V2Ht/bHWc3jsf9o9oCV2nIZ5AVOlgAgY44808m8otlNL2aVgTk3MDpC9maY387lETjhuDDvIX88EZk7yXlEBeyYGJqhPcW98evHw6EnZmx5piEzFyEhs2EOvUkuox8DCs/eFb//n+9mQzY3Wg/6IRiaxfA2KMPLu7ehPDXvtTZ8dnhvti8ZjRsHS0gTqfLw5+UFU/KjD+RiisZukM/OjobaXk3NJ9tLQkqzEjJPnZQ8bEVQrZJghzBmB6TgwlTgvE3XcPJ0kRz3Lm4FIwZP5t+y0T4/HmYOqqP9mVcFAhpcLsbGL1IG+Nemzocn65eAfW1KLTu9AjSr1c7n5kjfPHl8qFAehFETglUxCrSs0swbt4+HL2Y3TBLomcKJcsf3scDM8b6wbEdsTRyioK1zc/LPyrpH38HpJzPQvAjW5FLFl/VPp71MOYs+RilccdgF/goSnWjSCclDdvsMNpITj5UR2wia6cUMEyf0F8HB4d2diE8ni7E0cdF5baJMr7GzxDzxvndNG92sDUVEZ+HCRH7rKj84yFZdiiyjbD76gxx8rvhNY5LifyW7jFbrFw8Xf+7T5srRr9CYlr1YcGzBNWOPZBwYDt+2FzN8qwJT/9cFgbcqIBgVmCs3CZh7fC+XpKV3kzLyVfj/ld2Y/fvl6Fiy67UMi5jwu7oLHQb3Q5fPxuic9zDL35O/15D+KtT4O6iE7fMaK7QkaykPmFpYYa8mHVo4RWAsNDJiDj6j2anjfN6Y+JzIRA0lFkBmkaKUQU54atPjmHm16c0m+dMCoBvW3tU5JfqPIugwCWRIGfDH1cQz3hcpVNW+o6HYEtUUGQUyRAC2UZVloTntL3zqI04G5+nOWb/6jfRf+psfLtwNmYs+lH7mZ7R9zl3m0f31E49vhQ+EstW/oirEb/AN+xVzU79Kcrbv2k8dUk+RGmlnPWsvnOofFsiYksswubvq7bUTeNgP8yXjK5A94rcSabGpMxiTHpxF349llKtnaE++O6LIQApUwc2yVmytV/Yk4Cg5//UbB7cuwMijmzEjUunYeH/qPZVjpP0qk/RdxI6xmt/mB0+XPq5dNVfOjt9FN5BHsYEG9DvdzYEUkQOR3pa7TKH1pevQ7DStOUyUUEaFSqCok3Lh8DHVRMbYSUpUh2bA1iZ1OwcOjZwmA9G93LXbN5DIy775CGYtw/F05Pu1zcg5+ZE7wZU/RLs5wWvft1QlhSJFRsjNDv4edig931eQFK+ROFuuakU3pyYJ8HBIqJxVU1dXokTRO2IQNe0RI4ESWaNb6+z/fv1e+hfG0waXsOA+zUXRfOkahcNPPQIAkzaInJvlJSk14TXA1tT9GIFaNGrJmnsTPNK0SfIUWfzNaKKMDGqjRMCqUUY2N0VzlodsWbrQeqFOAwMDYaluan2EUObi6K7k1hour9HoGRufx45r7PTYwNaS0kgYdTEvoKDFApGEvSCG0uOBisN0FqONmmEDevmqtl0NSkdJRdiYBbYFn4+7tp7ezYXReuMtU7+pFDkIza+2jl5u1ihfXsHUnRp016ZmQonkqjz3vvlgs5XvZniFZYZ4MCyZU/q76XZdoOClUPHLkqpAn9dRQc2F0W301yQbt7DmTlsFuLIQqrx2Vp2TOWVjT65O4XnbH0qV6tqIQhSuVlDxZ3X3h5ffXQUe6Kqr9cnwBHOHcmHaYXr+viOQjUCvWx1NsclZ0mDs09XndR0WxKf+lKVd6JpYMPa0gL2rejhU9MRl1j94MHedvQlKTqruNEn3xOVgY7ESCqyq7kydyijfyop69fdCfh511WdY76Y2U3Od3DHGqK16krYUeebEBMpq5AhJjuXKWQl2rVx1d+b4ePq3Va0edUv9nbk7GytUErWXFBcbU0ebJX84Ddx8sc/aVxlwJuTA9GN6BtTQtQVOxDzsCVst7UyRbYSDBUUcWdWwMbKQn9v6+bCOqRmZ23BXgjF6nJoa9WY+Wvl7c+3TOznicVfDwNSCojGiXqdqDk5TFvLanvMK+ARp4aZqYn+3mbNQdEaD1dYXMpeBWYmxjqRqBRF3YHk4ZGL2fjv91GAoyXqDYQJfsrKKlFSWl3hxLUiDATqshoUVN0cMFoDnjl5FMWRVVjamMOElF2ulGnlFpVpfFBj7fr9JzsigJybWouxGJOSKlqocDYhH+u2X0G8MmWVnFWCMa/vQ2agI5x4njGt0DB80PEFxOmvazETW2tLcCVUUXENJ1rUHBStuSvGuIKM67AJ8oGvVyucj5UraM8nUPRWXC4HC42EkOkjfOFkINcx2bQFFr/QFc++vh8/7I7XfPXSkuNY9+0wqNgvGLoeGQLPO5aWVVu0g521BARXkzL0905pDtCRqIE9cjDX0in0NXWBH5dqKS02uVAOElo0/pakKay4XAq183UljjrvQhZUpLDvlwxGO6KAVe2XQ9dQconuw9rUQDIZUpBzTW/y1t2Fy9DKEHkqRifI5JRLc1C0Di2Ivsz31RKt3Z2qE0Ok6HxyUAYf/FZyHWzpFLQsfryDjk+I5Fka29qvJ6EJjYjNh5O14MgI93Vj/pyGi3HJ2rufqw/x7qSiNQB64ES0pIX7e1bXgd+g4bnuAMGIk4USljVlrkMl1XZ093PQ2ZyZrzY8gjg8J06/9Ui1Qj1dCde7BaAyLg4xcTpIkdxcIkMuEdLEv0dOX5LQJGxQZ52d1u0jhCkpk3CzqcNwhoG4NN1KJXuORGujeNzRLla4eC4T8enVPm7UwK7UMX44fCRa4dOatq85pUk1N3Pi7GVknzgNy8C+eGhE9ezyQXqwq8dS5QyeaDol86Qut4U/6yaxerOFF5TWGn1zlLr0d13YffXxIRJC/Lr7hMFnaw6K/l37w1c/75JwetbjuhnG9zZclFKXKmOVQdw100tt1pnrINrH3332/hFERmdpjhnSpRXsiOJBbxJBsn5Xa+SfSse//4zTbPb39UC7Qf0hUo7hu/U6kxXnGwIdLe6govdCLgGTZjeXrtyOt/91HL0eHIm2Xl/jikKX1u1LwIrUIrkWo0Qvs8Z5CRsziSM3KNdBnXUppRDrd8Zhx/FUnWOWv9xNsk79XIeKMdveHE88/xdx/OphtWjGWGJKQfjl51W4UapzX/9ukF++w5Oz75G8UfVhw5IXMWnWQkRu+g59J8mbwwe7YuWSkZIjEnqZPIaAuKu5GDl3L2L0OXMj2sdPd8Kcub2BK7lSEbZ2R6o6ueDQhgu4b85ezWYvcoKJ53+lAWiDAL/R2o6Qb9DWULByN4scraVEtAKD/IJPzLl1FNdaY/fqbUgmiwzvTrxVfZUeyllK6oC2Cd6d/w9ywmsv/IXPtl2+6RtY9FQnvP16qDRdxqVhmikzVnIbOxQQJ/eZsBnZWpByaO3b6Pvoa9j53TsY8dwS7dP9RPKUoWvd7WpSLhd9rurDh688hHlLFxC/o+DB3I4oKsHdte2IJgpoZ2sDj/YO0iw2UzQVUb+zZzLQa8ZfEh1sTBvb1xPzwjsglBP5BCc1lMxpWtJFlwc24QzPWVZlBkeFYtW2NdThcbD3HY/cfB3j9agrIrzbiuahxoBpWbUh6diP8OR5xEsUIrdth4/eWor5H62DOUV0m9+9DyOG+UBw9MelAK0skXAhGycoqjNqaYYDFOEt2xKrOfmq2b0QEZWG1bsTpM8utM/RpWHw6ekmj6OEfDnkNqoqB6NR09Yegjj16Od2Yvvp6hy5dyt7xF/cRKMrEHOeeAqfrtqp/Rxcy/FMXQ96t8oNqhqby8vaG8ImvUnhDA1VH08gLwtvf75FE8QsW3OKHtRCNgKO8tKL4U1MYuIjQZjwSg+M6u6mm5ue6I9+QdWz/+pyAR+eZSEoEFLNnZyVkzqNg5KOLkghrO7+0BYdJXORzZ7NH9O1uyNi1XJ9JZfVp+S7Se+02wqSk1UfYhLTMO0Rgg9TGr6OTpj91HDN7T07pRcNzlQphObiGVXbltQp5VLtBYhtuGnlL6oiOjdnzWBBEE9FmdJjcnZQSVip6CefC0QD1686hyDC5FMJebqh7PbP4NtnPPH6TRg57SP9+3+o0dmAu1jxzzQvQ5tiLpgxHu98/T7Rugzs3RgBFzdXBPfwIXawE+kxMVgZkQJ7Unj4CF+YcbDBdI4Uu23zJeyKSsejg7zRi0sWCtX4+KdzSM0pwRtk+c6sbK6R5qky7gSy5jO0/8LvorDloO779zamJtix6X30HT0N+Zcj0L57ONLzihoFGc0Fo7UbVy9t1t6wZN4UzPrwDXl05qbLmWxzFUJCwxEVI/sdD1LWzIkBmExK9fGlUeDvKOcz8kplS+eic57sbaFYssIgygjn95Iz/XJzDLYdulbjZnw9nAkuPoR3z/EoTNhPnTYD0fFp2rs06oWh5vbmLFeYLtXZ8PRoLF3xFmmGFJSWTUPeBCrP8bVOYgzs6ooQP3t0JSjwdbdGS7JwE1Iw+7uSskpkkiUfv3wd54lJHCAlJ6fXnp+f+fQYLPtgBoyceyHmyCYMHTMHiVk6cMIOnNN/OTej6ObynuFi6NUkjxncTWTF/0a3dVaI8kix9stZwsrSvKlXNhA9uwWIffw2rUiW3qTd8N18YVJzP3bg7Rr7UM31zdnZ+kpwtLYQK754jW7tiPSG6/Xo9eKDt54UnQN9blnB40f1FdtWLqDzniDJFdkxG8S0R4bWti8nPLxv5oGa83odT9emlNH39xCHty2R3gEX4roQBXvEzrWLxOxnxolunf2Ei3PLehXr6ekiwvqHiM+ooy5ELKfzXJSq+EXmDrHsw+eFY+2vPB9UeD9uVdHNcXUDLh+jUAx++l88OLofpj02DMOH0i72nRRdJAJXk3HqTCyi45IJg3OQXyBPP3Gxe4CvBzoH+6BdsC8xjjaQ3/PJQua5E1j3+0F8vHwTUtJqfQ2FX3KceSsPci+s19FCSUDNre3Ltm3cMGpIT/TpFoAB3fzh2p1L3zhIMVcONdIySrU875CThOOHz+DImcv482AUIvadhrr25SM47cnrhGy91Ye4VxZGkXLzTK9JRta1U8/uAWjj4QJHOytYm5lKJbXlvALNDbVUFpCcnYcLlxJxNSGtrtNcV/IwbzbVzd+Li1fxNMx/0PTrKbGw9mdBXmWlSdu9uHiVZqID8hpLEUq+4WaVyxmnVZzUg1YB5u1UdHOCDr44l75yWb6VklTniCHTQCrSTQkgBpLwdAkXLNsoWUEGa86jclzJnjFbieoiFam3POD/DTrYa/HKM+sVK6vN+rjIjWdD+d3lHg04p6mWwo3vpuU0BXSw9fELMq8pzMC8kffQleSjOpRbl/DrZvy+nFdzx7mbVTRXtfMLdltk8qrz8P9toKXxajOHmsiJlSvXHX4vKLoujG6j0Kv+kFfv6lTPee2UnIB+4/d9wxUle9R2oIOdLQaF9kS/Lh3hbt8SdhbmKK+sRE5RMWKTkrHj6AmcjDpX17U5TP6N5BftPHdzULQhjDZVcg7HbsLCxmhdg6u0H4a8WJ/hhE6nYPHJ/FdF3rHdQqTHCpGXKETGZSHSYuXP2VeFyE0QIvEfEbVxlZjx6CTh4daqvvvYr4Ty9s3ZorcolMdgM7Mzh2tXN9i3dcDZladRWV0S8A7Jt0ra8zFD1mtGAcXYsIF4ZcpkhPYgqHahiC6VqGwez+XVfJ9ExfdnYiLvZ2MNdXwidh6IxPKNv2HXwSN13SqPru1KKH34blu0vqI556rzFoypjRkc2zvCo7cnnIJdJCU7BjjBzNYc3wcvR9YFzcJSxYqXr/UVg+6dOyB81DA8eP8AuHUKkiuCUtIgbtzgapeG3LVco2BDhKIVKV2tRuzpM9iy5yDW7ozAmfMX6jqaRxavb3qhuSia8fhrM1uzYL+xAXAOdIb3/b6w9bCBub25ZL3FWSUoK1TD3s8B25/eivPrDWMnW++DQwZh2oNjMGjwAIq9CMaziNJm58ivAd/si5usdGPqU2cn+ZzXc7F/3yGs+u9O/BaxD7l5tbkKKekRgDrenLqTioaVixWm7n/yAwd/p/ms0OKsYqjpZ2WZ7koD9u0cELXiFHbP2lkzQdGpAx56YBgmk5LdOwSS9dKxyakQpaUNs97GKp06FK40EE1NkHvpMrYTtGz4ay9+J6XrtSTFyVc24R3wq9dByjnPaI8ag4r27NMaoXP7ou0Iv86Z5zKiDBYacjTgbIXsi5lYN2R1Nb3wb4eP3piNIf16yZianilbrxCA6hatlzuovNxwOMf78TXYwtnSacScPHocL7++CJH/6CAGz2BvbAIFM4uaBq1FuJTGC1v9i7OABhX9csocCR6K0gpMjUyMc+vKA/AKihZOltgwei3S/pYLCLu0b4fTJ/aSgjMgSMG3bL3lFVBZWsiYzFhua8vvZgAZ1IFE/YShzmOl87VDOqHs5Gk4DxmHvELNXOF/FEZ0M81cCdLCa8uXazW27q6k2zPaIbCmlWQXS0JKZjzbUNcVK9QVsCRFew+sfjM3ioZt7E7yOxYWTQIRKuLTMDXFG2+8g8GTnsBCss6/tmyXC8UD2kPl2wYqR3vJ4lXanJVXn+HPpGST4AAM691DPzHV2MbzhR8o+L64HiVX6XW7foK9uht0qzf3oI4l2bkIRV2ghnOwi657P3UGfkMHNw36eXngt5/W4oOV8iLle/+OAn5YBf82rTGwT08M7R6CXuQPPGgkwdYaqvwCCaqgLpOpIjOUG6WIT03Tp30Nbbwqw3RFagyfFtTBD48ZgQn0vBXUue9+8gXOXtH4Wg+DitZrB+q7C7b+Vl1cYUYUsFSpnD9w+ixmKFSsKdJUtaFDDHFplu/WbYIxceywnt0QSjAxafB9COoYTKEmWbkZjQYrS6xZsBjHz1/UPjyyAZcdBblsbUitIbCtDWaFP4onxo1E65DOche0bInx3brAa8REpGZJU2MFevFAtTqmna6x6NUVEt+6rNrGwxYbx67HtUj5DTdXRwck/LGJ+LcVREHhrSnZpAWvM48PV6zGf3bsQtSFS/Ue0ykoAGE9QuDr749jx45jzdY/tL/mh+chWNuSBvyc/Bcxpipp15rnJriaNnEspowaCvtgYlM5OZLD59GjakEOO9Afg/qPxL5TEjQXkG5tG2LRVUTfYPkTv0ttYmmCdiP9NIpOo6G7L/IYhk6dTJe6NUULGvYq+m/+W3Mwf3o4LlyOw57I49gQsR8nz0WjuKSkxjFnoy9KYqAdUoa0jSLeShayF7RWyNFvoV07Y/6Tj2HMyKGAk6Pk7EEBkuSMefSSHwEFZOl0X1GXrtR6jvoUfaguRfOQKc0vhUvnVjqbj12MwVAOm2+F1nEjDBRlZVCRk2XLDuwUjMB+oXjh2SeRGRcv+YMDx//Ght37yLiuN+SMvCRxg6vYJ48cguenTEb/Pr2k8B/JKRLjEYqjl2int5fk+H//cQ2eI6edW6gxLpvGQIenkjM2SCFamLeAEfHtdcPWIC9eXpOZs3AHt6wlx3QdoryJ10diC2JIYUfH1kWfC2JicSo6BtuPnsDhv88gMursTb+r6OHaChOGDca00SPQqV9vgK+VcK062KpKBZCj5hzMYbLi9779CTv2H9I/VRTpNqShiubG4dWAum7O0d8JW6f+ipjNcmBgYWaG/IitaEGBg8jNu50xrhykkHOCfUu6MDnAzGxcJYjZf+IUtu49iLP0e1JKGsoMdLgVUVEfT3d0DfDDo6OHY1DXLjBtR3DNvJvYimQoVVS1rBwqDzfJ2cad+Bvzl3yFjTt21XZapjmBXALVUOiogo8BVSGlsYmxFKyUc41ypQwfXEHv1s1Do+gS6v1N+w7h4RlPA7dT0cyXJcJWIInEpQkvfdq3hQ8xkSeeeEzKraSmpeM80a78oiIUE+4bqYxgSZ3ibG+HwDbecCArhpODrFDqKJDTlV4ikorfFSVToKRyd0V2SioWvrUYX63dYIhVcckC/x2X3MZgNDfusjeZY5vZmklSSvzZxt0WBSn5kkNUE04zzdM56NjfeHjmM01G8xpk4KwYwnRJWRlZxATo8cxM4ebXFm5E/ySlVfkM5tkcZbLlslNNvFadpq0l2aWiEZOTmYUuYx/FtaxaK5uY3vC03vmbcYZQZixKTa1Nzdhy/3jmd+TE5iD4kY7o/FRXOZq8XgKnICcJQrJj5JcmD/KMSNI1yYlJ4fOdbmztrMjiElmycxp0TFUnSJDU2lO+f1IwCA7jiE3VomQ2xPeUCYc6Q8X6GicJDtq2tkPMbxcQu+2SpMwDC/ci9+p1mDtYoPxGucSnfYa01RwUS0pOJmYgYScPaWYP5LlVhH+StHImp2aiGzo3l8ZKJpjY8vMGLJi9AHnJqcQugnMD2vq+YaRSVRXO86q1PIc6tD4lN9SiuZ2oUFeEWTha6gQrJlYmUtjOv5cVl5FV6y7Ruef0ubSpY8Y4IyHJmBVbSPzzm2/+La1HNKxvL/hzFEfMQcUePS1DGsLCyOgu6VbmxNztKi9P7NiyDePnyuuJ/7xjl1j26buhg1t7XWxJbCcnP59TrfGNOn8DWAe3jqTMs2Z2ZlIOmqEjYEIgPEK9UMLLp6nkKa7izCKsHbxSUjq3ljbWn0f8uPzDrpPGPoj8woH3DRg56ZDWJGtIh0A8QLx4QPcQ3M9UiqxIGubMiSnYEbfKwxvCWvgarVxk5sK/M1cmRf9rzgK88++fdYzS18O9IuP6dRQWl9xa4r8ORbPTSzYyMXJnCOHeZ2UWJOcThzaS32olLm3tZoON49YjOVLzAs5FM5UqMProbvyxfhNe/PwbBnDH2s4fEtgeA3r3wNi+vdGLAhML3zbyF+TUQEFAbfOJTaJgGlEJBw7jmw1bYGdthdfnvizg3WHP4RVfftlv+kuPK+E4F+8sabIZlroUzSMI8qSrvAi2kP8oASvYgnCap7ocrJ2wfcFWHFqsA1n9bY2ND+bLi1RxkvxHGJi4rWqtXJwxrE9PDCfFjw8bCHMODjjMZYd2KxMJ7OQ4YnV3k7J92VH/4P0fV2PZ6l+IgMhv4g7v23vdwoVvPmaZmY4uj01H5S34EIOKfubcC3UdNF2Ui+9ZsaZE8cwJKjgqZMtOj0pF+pl0ZJxJQ9KhRMlJarV3lBmHqsalCFwnMlbh5yF13awLWdzAHl0lTB/eqzvcKeoE0zamZZxLKSmW3xlXLFVoyINKE8aDJw84kiTl8jEnjxzHLzt2YwWNsryaMMDW+5I/hdaXk5Lp1JVNr+iXk2cbpicmxs6mNqZXy4rKrK5fzpZw+tqRJGRfyETiwUR5srX2thLyHx2rK//ACh9Tn9LNiGKNHtQPfTt3RP+unRHg6QFLjtTMzWSFVvFkUSnPsrOVltxA/rUUxBAL2n/mH/x1+Ch2HTpq6BJRyhTVlaZBKAOK9uhleHVednYO7RzjsmMyfVJPpkjJpAa0eEWB5xoxk8E54PGGcsHazYlC4U5EFT2I0bS0soIVBSemBA38JzyK1WrkELYnE5s5HXsFeXn59d3nIsUomtDXNr6alCuYTqP+aiWeAuNp8Q8VSzW5hftsp2QO1yvh7O0oQudg7MVbvM86Fd3YIke7Om6WQ84fFOLuepuIGFfjj4A8sZp4i8rluSZeZ6PPbU8J3GQh+icK1rKnO6gITwvF3OnYQlES4zl5RgQrlJFnM6reFmIKUazMqDClPKsYBE993LHyMG3d/k+AAQBXQhXlf0uN+QAAAABJRU5ErkJggg=="}},"time_used":572,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":569,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/elegant-icons.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.911Z","timestamp":1785133989911,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/elegant-icons.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/css/style-main.css\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 4389\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":25264,"size_decoded":4619,"mime_type":"text/css","magic":"ASCII text, with very long lines (6610)","md5":"14cc3ee443ca0358b245ce447f263c25","sha1":"ed23a2c81df30dc1ba91b6092ac6c715268fa1ec","sha256":"29d14ba15cf342470d6cde66710479dd4b0e357be9ff0877a6c27b2703e2660e","sha512":"40915bff4d3425866c7651625b98eb0f237ebc0f42f3117bf5990906669a555c442bd149bc831c8cce445f3324b65dcbd4d9ed54e981e063f30946b4df38f988","ssdeep":"384:h7IgcCLjhLGI29ooNSfV0TzfTr78BRB1P0pfeazzDwpgKTXEn+/TVhrhmKLHFiB:6I29lTzxfVzzxn+/NrLHFiB","tlshash":"75b2a3a89e4cbc975781e8c17a147b709f1db3388e9a6d0ae413b82cb3e575294d53cc","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:33:53.986371Z","times_seen":24,"resource_available":false,"data":"QGZvbnQtZmFjZSB7Cglmb250LWZhbWlseTogJ0VsZWdhbnRJY29ucyc7CglzcmM6dXJsKCcuLi9mb250cy9FbGVnYW50SWNvbnMuZW90Jyk7CglzcmM6dXJsKCcuLi9mb250cy9FbGVnYW50SWNvbnNkNDFkZDQxZGQ0MWQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSwKCQl1cmwoJy4uL2ZvbnRzL0VsZWdhbnRJY29ucy53b2ZmJykgZm9ybWF0KCd3b2ZmJyksCgkJdXJsKCcuLi9mb250cy9FbGVnYW50SWNvbnMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLAoJCXVybCgnLi4vZm9udHMvRWxlZ2FudEljb25zLnN2ZyNFbGVnYW50SWNvbnMnKSBmb3JtYXQoJ3N2ZycpOwoJZm9udC13ZWlnaHQ6IG5vcm1hbDsKCWZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKLyogVXNlIHRoZSBmb2xsb3dpbmcgQ1NTIGNvZGUgaWYgeW91IHdhbnQgdG8gdXNlIGRhdGEgYXR0cmlidXRlcyBmb3IgaW5zZXJ0aW5nIHlvdXIgaWNvbnMgKi8KW2RhdGEtaWNvbl06YmVmb3JlIHsKCWZvbnQtZmFtaWx5OiAnRWxlZ2FudEljb25zJzsKCWNvbnRlbnQ6IGF0dHIoZGF0YS1pY29uKTsKCXNwZWFrOiBub25lOwoJZm9udC13ZWlnaHQ6IG5vcm1hbDsKCWZvbnQtdmFyaWFudDogbm9ybWFsOwoJdGV4dC10cmFuc2Zvcm06IG5vbmU7CglsaW5lLWhlaWdodDogMTsKCS13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOwoJLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsKfQoKLyogVXNlIHRoZSBmb2xsb3dpbmcgQ1NTIGNvZGUgaWYgeW91IHdhbnQgdG8gaGF2ZSBhIGNsYXNzIHBlciBpY29uICovCi8qCkluc3RlYWQgb2YgYSBsaXN0IG9mIGFsbCBjbGFzcyBzZWxlY3RvcnMsCnlvdSBjYW4gdXNlIHRoZSBnZW5lcmljIHNlbGVjdG9yIGJlbG93LCBidXQgaXQncyBzbG93ZXI6CltjbGFzcyo9InlvdXItY2xhc3MtcHJlZml4Il0gewoqLwouYXJyb3dfdXAsIC5hcnJvd19kb3duLCAuYXJyb3dfbGVmdCwgLmFycm93X3JpZ2h0LCAuYXJyb3dfbGVmdC11cCwgLmFycm93X3JpZ2h0LXVwLCAuYXJyb3dfcmlnaHQtZG93biwgLmFycm93X2xlZnQtZG93biwgLmFycm93LXVwLWRvd24sIC5hcnJvd191cC1kb3duX2FsdCwgLmFycm93X2xlZnQtcmlnaHRfYWx0LCAuYXJyb3dfbGVmdC1yaWdodCwgLmFycm93X2V4cGFuZF9hbHQyLCAuYXJyb3dfZXhwYW5kX2FsdCwgLmFycm93X2NvbmRlbnNlLCAuYXJyb3dfZXhwYW5kLCAuYXJyb3dfbW92ZSwgLmFycm93X2NhcnJvdC11cCwgLmFycm93X2NhcnJvdC1kb3duLCAuYXJyb3dfY2Fycm90LWxlZnQsIC5hcnJvd19jYXJyb3QtcmlnaHQsIC5hcnJvd19jYXJyb3QtMnVwLCAuYXJyb3dfY2Fycm90LTJkb3duLCAuYXJyb3dfY2Fycm90LTJsZWZ0LCAuYXJyb3dfY2Fycm90LTJyaWdodCwgLmFycm93X2NhcnJvdC11cF9hbHQyLCAuYXJyb3dfY2Fycm90LWRvd25fYWx0MiwgLmFycm93X2NhcnJvdC1sZWZ0X2FsdDIsIC5hcnJvd19jYXJyb3QtcmlnaHRfYWx0MiwgLmFycm93X2NhcnJvdC0ydXBfYWx0MiwgLmFycm93X2NhcnJvdC0yZG93bl9hbHQyLCAuYXJyb3dfY2Fycm90LTJsZWZ0X2FsdDIsIC5hcnJvd19jYXJyb3QtMnJpZ2h0X2FsdDIsIC5hcnJvd190cmlhbmdsZS11cCwgLmFycm93X3RyaWFuZ2xlLWRvd24sIC5hcnJvd190cmlhbmdsZS1sZWZ0LCAuYXJyb3dfdHJpYW5nbGUtcmlnaHQsIC5hcnJvd190cmlhbmdsZS11cF9hbHQyLCAuYXJyb3dfdHJpYW5nbGUtZG93bl9hbHQyLCAuYXJyb3dfdHJpYW5nbGUtbGVmdF9hbHQyLCAuYXJyb3dfdHJpYW5nbGUtcmlnaHRfYWx0MiwgLmFycm93X2JhY2ssIC5pY29uX21pbnVzLTA2LCAuaWNvbl9wbHVzLCAuaWNvbl9jbG9zZSwgLmljb25fY2hlY2ssIC5pY29uX21pbnVzX2FsdDIsIC5pY29uX3BsdXNfYWx0MiwgLmljb25fY2xvc2VfYWx0MiwgLmljb25fY2hlY2tfYWx0MiwgLmljb25fem9vbS1vdXRfYWx0LCAuaWNvbl96b29tLWluX2FsdCwgLmljb25fc2VhcmNoLCAuaWNvbl9ib3gtZW1wdHksIC5pY29uX2JveC1zZWxlY3RlZCwgLmljb25fbWludXMtYm94LCAuaWNvbl9wbHVzLWJveCwgLmljb25fYm94LWNoZWNrZWQsIC5pY29uX2NpcmNsZS1lbXB0eSwgLmljb25fY2lyY2xlLXNsZWxlY3RlZCwgLmljb25fc3RvcF9hbHQyLCAuaWNvbl9zdG9wLCAuaWNvbl9wYXVzZV9hbHQyLCAuaWNvbl9wYXVzZSwgLmljb25fbWVudSwgLmljb25fbWVudS1zcXVhcmVfYWx0MiwgLmljb25fbWVudS1jaXJjbGVfYWx0MiwgLmljb25fdWwsIC5pY29uX29sLCAuaWNvbl9hZGp1c3QtaG9yaXosIC5pY29uX2FkanVzdC12ZXJ0LCAuaWNvbl9kb2N1bWVudF9hbHQsIC5pY29uX2RvY3VtZW50c19hbHQsIC5pY29uX3BlbmNpbCwgLmljb25fcGVuY2lsLWVkaXRfYWx0LCAuaWNvbl9wZW5jaWwtZWRpdCwgLmljb25fZm9sZGVyLWFsdCwgLmljb25fZm9sZGVyLW9wZW5fYWx0LCAuaWNvbl9mb2xkZXItYWRkX2FsdCwgLmljb25faW5mb19hbHQsIC5pY29uX2Vycm9yLW9jdF9hbHQsIC5pY29uX2Vycm9yLWNpcmNsZV9hbHQsIC5pY29uX2Vycm9yLXRyaWFuZ2xlX2FsdCwgLmljb25fcXVlc3Rpb25fYWx0MiwgLmljb25fcXVlc3Rpb24sIC5pY29uX2NvbW1lbnRfYWx0LCAuaWNvbl9jaGF0X2FsdCwgLmljb25fdm9sLW11dGVfYWx0LCAuaWNvbl92b2x1bWUtbG93X2FsdCwgLmljb25fdm9sdW1lLWhpZ2hfYWx0LCAuaWNvbl9xdW90YXRpb25zLCAuaWNvbl9xdW90YXRpb25zX2FsdDIsIC5pY29uX2Nsb2NrX2FsdCwgLmljb25fbG9ja19hbHQsIC5pY29uX2xvY2stb3Blbl9hbHQsIC5pY29uX2tleV9hbHQsIC5pY29uX2Nsb3VkX2FsdCwgLmljb25fY2xvdWQtdXBsb2FkX2FsdCwgLmljb25fY2xvdWQtZG93bmxvYWRfYWx0LCAuaWNvbl9pbWFnZSwgLmljb25faW1hZ2VzLCAuaWNvbl9saWdodGJ1bGJfYWx0LCAuaWNvbl9naWZ0X2FsdCwgLmljb25faG91c2VfYWx0LCAuaWNvbl9nZW5pdXMsIC5pY29uX21vYmlsZSwgLmljb25fdGFibGV0LCAuaWNvbl9sYXB0b3AsIC5pY29uX2Rlc2t0b3AsIC5pY29uX2NhbWVyYV9hbHQsIC5pY29uX21haWxfYWx0LCAuaWNvbl9jb25lX2FsdCwgLmljb25fcmliYm9uX2FsdCwgLmljb25fYmFnX2FsdCwgLmljb25fY3JlZGl0Y2FyZCwgLmljb25fY2FydF9hbHQsIC5pY29uX3BhcGVyY2xpcCwgLmljb25fdGFnX2FsdCwgLmljb25fdGFnc19hbHQsIC5pY29uX3RyYXNoX2FsdCwgLmljb25fY3Vyc29yX2FsdCwgLmljb25fbWljX2FsdCwgLmljb25fY29tcGFzc19hbHQsIC5pY29uX3Bpbl9hbHQsIC5pY29uX3B1c2hwaW5fYWx0LCAuaWNvbl9tYXBfYWx0LCAuaWNvbl9kcmF3ZXJfYWx0LCAuaWNvbl90b29sYm94X2FsdCwgLmljb25fYm9va19hbHQsIC5pY29uX2NhbGVuZGFyLCAuaWNvbl9maWxtLCAuaWNvbl90YWJsZSwgLmljb25fY29udGFjdHNfYWx0LCAuaWNvbl9oZWFkcGhvbmVzLCAuaWNvbl9saWZlc2F2ZXIsIC5pY29uX3BpZWNoYXJ0LCAuaWNvbl9yZWZyZXNoLCAuaWNvbl9saW5rX2FsdCwgLmljb25fbGluaywgLmljb25fbG9hZGluZywgLmljb25fYmxvY2tlZCwgLmljb25fYXJjaGl2ZV9hbHQsIC5pY29uX2hlYXJ0X2FsdCwgLmljb25fc3Rhcl9hbHQsIC5pY29uX3N0YXItaGFsZl9hbHQsIC5pY29uX3N0YXIsIC5pY29uX3N0YXItaGFsZiwgLmljb25fdG9vbHMsIC5pY29uX3Rvb2wsIC5pY29uX2NvZywgLmljb25fY29ncywgLmFycm93X3VwX2FsdCwgLmFycm93X2Rvd25fYWx0LCAuYXJyb3dfbGVmdF9hbHQsIC5hcnJvd19yaWdodF9hbHQsIC5hcnJvd19sZWZ0LXVwX2FsdCwgLmFycm93X3JpZ2h0LXVwX2FsdCwgLmFycm93X3JpZ2h0LWRvd25fYWx0LCAuYXJyb3dfbGVmdC1kb3duX2FsdCwgLmFycm93X2NvbmRlbnNlX2FsdCwgLmFycm93X2V4cGFuZF9hbHQzLCAuYXJyb3dfY2Fycm90X3VwX2FsdCwgLmFycm93X2NhcnJvdC1kb3duX2FsdCwgLmFycm93X2NhcnJvdC1sZWZ0X2FsdCwgLmFycm93X2NhcnJvdC1yaWdodF9hbHQsIC5hcnJvd19jYXJyb3QtMnVwX2FsdCwgLmFycm93X2NhcnJvdC0yZHdubl9hbHQsIC5hcnJvd19jYXJyb3QtMmxlZnRfYWx0LCAuYXJyb3dfY2Fycm90LTJyaWdodF9hbHQsIC5hcnJvd190cmlhbmdsZS11cF9hbHQsIC5hcnJvd190cmlhbmdsZS1kb3duX2FsdCwgLmFycm93X3RyaWFuZ2xlLWxlZnRfYWx0LCAuYXJyb3dfdHJpYW5nbGUtcmlnaHRfYWx0LCAuaWNvbl9taW51c19hbHQsIC5pY29uX3BsdXNfYWx0LCAuaWNvbl9jbG9zZV9hbHQsIC5pY29uX2NoZWNrX2FsdCwgLmljb25fem9vbS1vdXQsIC5pY29uX3pvb20taW4sIC5pY29uX3N0b3BfYWx0LCAuaWNvbl9tZW51LXNxdWFyZV9hbHQsIC5pY29uX21lbnUtY2lyY2xlX2FsdCwgLmljb25fZG9jdW1lbnQsIC5pY29uX2RvY3VtZW50cywgLmljb25fcGVuY2lsX2FsdCwgLmljb25fZm9sZGVyLCAuaWNvbl9mb2xkZXItb3BlbiwgLmljb25fZm9sZGVyLWFkZCwgLmljb25fZm9sZGVyX3VwbG9hZCwgLmljb25fZm9sZGVyX2Rvd25sb2FkLCAuaWNvbl9pbmZvLCAuaWNvbl9lcnJvci1jaXJjbGUsIC5pY29uX2Vycm9yLW9jdCwgLmljb25fZXJyb3ItdHJpYW5nbGUsIC5pY29uX3F1ZXN0aW9uX2FsdCwgLmljb25fY29tbWVudCwgLmljb25fY2hhdCwgLmljb25fdm9sLW11dGUsIC5pY29uX3ZvbHVtZS1sb3csIC5pY29uX3ZvbHVtZS1oaWdoLCAuaWNvbl9xdW90YXRpb25zX2FsdCwgLmljb25fY2xvY2ssIC5pY29uX2xvY2ssIC5pY29uX2xvY2stb3BlbiwgLmljb25fa2V5LCAuaWNvbl9jbG91ZCwgLmljb25fY2xvdWQtdXBsb2FkLCAuaWNvbl9jbG91ZC1kb3dubG9hZCwgLmljb25fbGlnaHRidWxiLCAuaWNvbl9naWZ0LCAuaWNvbl9ob3VzZSwgLmljb25fY2FtZXJhLCAuaWNvbl9tYWlsLCAuaWNvbl9jb25lLCAuaWNvbl9yaWJib24sIC5pY29uX2JhZywgLmljb25fY2FydCwgLmljb25fdGFnLCAuaWNvbl90YWdzLCAuaWNvbl90cmFzaCwgLmljb25fY3Vyc29yLCAuaWNvbl9taWMsIC5pY29uX2NvbXBhc3MsIC5pY29uX3BpbiwgLmljb25fcHVzaHBpbiwgLmljb25fbWFwLCAuaWNvbl9kcmF3ZXIsIC5pY29uX3Rvb2xib3gsIC5pY29uX2Jvb2ssIC5pY29uX2NvbnRhY3RzLCAuaWNvbl9hcmNoaXZlLCAuaWNvbl9oZWFydCwgLmljb25fcHJvZmlsZSwgLmljb25fZ3JvdXAsIC5pY29uX2dyaWQtMngyLCAuaWNvbl9ncmlkLTN4MywgLmljb25fbXVzaWMsIC5pY29uX3BhdXNlX2FsdCwgLmljb25fcGhvbmUsIC5pY29uX3VwbG9hZCwgLmljb25fZG93bmxvYWQsIC5zb2NpYWxfZmFjZWJvb2ssIC5zb2NpYWxfdHdpdHRlciwgLnNvY2lhbF9waW50ZXJlc3QsIC5zb2NpYWxfZ29vZ2xlcGx1cywgLnNvY2lhbF90dW1ibHIsIC5zb2NpYWxfdHVtYmxldXBvbiwgLnNvY2lhbF93b3JkcHJlc3MsIC5zb2NpYWxfaW5zdGFncmFtLCAuc29jaWFsX2RyaWJiYmxlLCAuc29jaWFsX3ZpbWVvLCAuc29jaWFsX2xpbmtlZGluLCAuc29jaWFsX3JzcywgLnNvY2lhbF9kZXZpYW50YXJ0LCAuc29jaWFsX3NoYXJlLCAuc29jaWFsX215c3BhY2UsIC5zb2NpYWxfc2t5cGUsIC5zb2NpYWxfeW91dHViZSwgLnNvY2lhbF9waWNhc3NhLCAuc29jaWFsX2dvb2dsZWRyaXZlLCAuc29jaWFsX2ZsaWNrciwgLnNvY2lhbF9ibG9nZ2VyLCAuc29jaWFsX3Nwb3RpZnksIC5zb2NpYWxfZGVsaWNpb3VzLCAuc29jaWFsX2ZhY2Vib29rX2NpcmNsZSwgLnNvY2lhbF90d2l0dGVyX2NpcmNsZSwgLnNvY2lhbF9waW50ZXJlc3RfY2lyY2xlLCAuc29jaWFsX2dvb2dsZXBsdXNfY2lyY2xlLCAuc29jaWFsX3R1bWJscl9jaXJjbGUsIC5zb2NpYWxfc3R1bWJsZXVwb25fY2lyY2xlLCAuc29jaWFsX3dvcmRwcmVzc19jaXJjbGUsIC5zb2NpYWxfaW5zdGFncmFtX2NpcmNsZSwgLnNvY2lhbF9kcmliYmJsZV9jaXJjbGUsIC5zb2NpYWxfdmltZW9fY2lyY2xlLCAuc29jaWFsX2xpbmtlZGluX2NpcmNsZSwgLnNvY2lhbF9yc3NfY2lyY2xlLCAuc29jaWFsX2RldmlhbnRhcnRfY2lyY2xlLCAuc29jaWFsX3NoYXJlX2NpcmNsZSwgLnNvY2lhbF9teXNwYWNlX2NpcmNsZSwgLnNvY2lhbF9za3lwZV9jaXJjbGUsIC5zb2NpYWxfeW91dHViZV9jaXJjbGUsIC5zb2NpYWxfcGljYXNzYV9jaXJjbGUsIC5zb2NpYWxfZ29vZ2xlZHJpdmVfYWx0MiwgLnNvY2lhbF9mbGlja3JfY2lyY2xlLCAuc29jaWFsX2Jsb2dnZXJfY2lyY2xlLCAuc29jaWFsX3Nwb3RpZnlfY2lyY2xlLCAuc29jaWFsX2RlbGljaW91c19jaXJjbGUsIC5zb2NpYWxfZmFjZWJvb2tfc3F1YXJlLCAuc29jaWFsX3R3aXR0ZXJfc3F1YXJlLCAuc29jaWFsX3BpbnRlcmVzdF9zcXVhcmUsIC5zb2NpYWxfZ29vZ2xlcGx1c19zcXVhcmUsIC5zb2NpYWxfdHVtYmxyX3NxdWFyZSwgLnNvY2lhbF9zdHVtYmxldXBvbl9zcXVhcmUsIC5zb2NpYWxfd29yZHByZXNzX3NxdWFyZSwgLnNvY2lhbF9pbnN0YWdyYW1fc3F1YXJlLCAuc29jaWFsX2RyaWJiYmxlX3NxdWFyZSwgLnNvY2lhbF92aW1lb19zcXVhcmUsIC5zb2NpYWxfbGlua2VkaW5fc3F1YXJlLCAuc29jaWFsX3Jzc19zcXVhcmUsIC5zb2NpYWxfZGV2aWFudGFydF9zcXVhcmUsIC5zb2NpYWxfc2hhcmVfc3F1YXJlLCAuc29jaWFsX215c3BhY2Vfc3F1YXJlLCAuc29jaWFsX3NreXBlX3NxdWFyZSwgLnNvY2lhbF95b3V0dWJlX3NxdWFyZSwgLnNvY2lhbF9waWNhc3NhX3NxdWFyZSwgLnNvY2lhbF9nb29nbGVkcml2ZV9zcXVhcmUsIC5zb2NpYWxfZmxpY2tyX3NxdWFyZSwgLnNvY2lhbF9ibG9nZ2VyX3NxdWFyZSwgLnNvY2lhbF9zcG90aWZ5X3NxdWFyZSwgLnNvY2lhbF9kZWxpY2lvdXNfc3F1YXJlLCAuaWNvbl9wcmludGVyLCAuaWNvbl9jYWx1bGF0b3IsIC5pY29uX2J1aWxkaW5nLCAuaWNvbl9mbG9wcHksIC5pY29uX2RyaXZlLCAuaWNvbl9zZWFyY2gtMiwgLmljb25faWQsIC5pY29uX2lkLTIsIC5pY29uX3B1enpsZSwgLmljb25fbGlrZSwgLmljb25fZGlzbGlrZSwgLmljb25fbXVnLCAuaWNvbl9jdXJyZW5jeSwgLmljb25fd2FsbGV0LCAuaWNvbl9wZW5zLCAuaWNvbl9lYXNlbCwgLmljb25fZmxvd2NoYXJ0LCAuaWNvbl9kYXRhcmVwb3J0LCAuaWNvbl9icmllZmNhc2UsIC5pY29uX3NoaWVsZCwgLmljb25fcGVyY2VudCwgLmljb25fZ2xvYmUsIC5pY29uX2dsb2JlLTIsIC5pY29uX3RhcmdldCwgLmljb25faG91cmdsYXNzLCAuaWNvbl9iYWxhbmNlLCAuaWNvbl9yb29rLCAuaWNvbl9wcmludGVyLWFsdCwgLmljb25fY2FsY3VsYXRvcl9hbHQsIC5pY29uX2J1aWxkaW5nX2FsdCwgLmljb25fZmxvcHB5X2FsdCwgLmljb25fZHJpdmVfYWx0LCAuaWNvbl9zZWFyY2hfYWx0LCAuaWNvbl9pZF9hbHQsIC5pY29uX2lkLTJfYWx0LCAuaWNvbl9wdXp6bGVfYWx0LCAuaWNvbl9saWtlX2FsdCwgLmljb25fZGlzbGlrZV9hbHQsIC5pY29uX211Z19hbHQsIC5pY29uX2N1cnJlbmN5X2FsdCwgLmljb25fd2FsbGV0X2FsdCwgLmljb25fcGVuc19hbHQsIC5pY29uX2Vhc2VsX2FsdCwgLmljb25fZmxvd2NoYXJ0X2FsdCwgLmljb25fZGF0YXJlcG9ydF9hbHQsIC5pY29uX2JyaWVmY2FzZV9hbHQsIC5pY29uX3NoaWVsZF9hbHQsIC5pY29uX3BlcmNlbnRfYWx0LCAuaWNvbl9nbG9iZV9hbHQsIC5pY29uX2NsaXBib2FyZCB7Cglmb250LWZhbWlseTogJ0VsZWdhbnRJY29ucyc7CglzcGVhazogbm9uZTsKCWZvbnQtc3R5bGU6IG5vcm1hbDsKCWZvbnQtd2VpZ2h0OiBub3JtYWw7Cglmb250LXZhcmlhbnQ6IG5vcm1hbDsKCXRleHQtdHJhbnNmb3JtOiBub25lOwoJbGluZS1oZWlnaHQ6IDE7Cgktd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKfQouYXJyb3dfdXA6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMjEiOwp9Ci5hcnJvd19kb3duOmJlZm9yZSB7Cgljb250ZW50OiAiXDIyIjsKfQouYXJyb3dfbGVmdDpiZWZvcmUgewoJY29udGVudDogIlwyMyI7Cn0KLmFycm93X3JpZ2h0OmJlZm9yZSB7Cgljb250ZW50OiAiXDI0IjsKfQouYXJyb3dfbGVmdC11cDpiZWZvcmUgewoJY29udGVudDogIlwyNSI7Cn0KLmFycm93X3JpZ2h0LXVwOmJlZm9yZSB7Cgljb250ZW50OiAiXDI2IjsKfQouYXJyb3dfcmlnaHQtZG93bjpiZWZvcmUgewoJY29udGVudDogIlwyNyI7Cn0KLmFycm93X2xlZnQtZG93bjpiZWZvcmUgewoJY29udGVudDogIlwyOCI7Cn0KLmFycm93LXVwLWRvd246YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMjkiOwp9Ci5hcnJvd191cC1kb3duX2FsdDpiZWZvcmUgewoJY29udGVudDogIlwyYSI7Cn0KLmFycm93X2xlZnQtcmlnaHRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDJiIjsKfQouYXJyb3dfbGVmdC1yaWdodDpiZWZvcmUgewoJY29udGVudDogIlwyYyI7Cn0KLmFycm93X2V4cGFuZF9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDJkIjsKfQouYXJyb3dfZXhwYW5kX2FsdDpiZWZvcmUgewoJY29udGVudDogIlwyZSI7Cn0KLmFycm93X2NvbmRlbnNlOmJlZm9yZSB7Cgljb250ZW50OiAiXDJmIjsKfQouYXJyb3dfZXhwYW5kOmJlZm9yZSB7Cgljb250ZW50OiAiXDMwIjsKfQouYXJyb3dfbW92ZTpiZWZvcmUgewoJY29udGVudDogIlwzMSI7Cn0KLmFycm93X2NhcnJvdC11cDpiZWZvcmUgewoJY29udGVudDogIlwzMiI7Cn0KLmFycm93X2NhcnJvdC1kb3duOmJlZm9yZSB7Cgljb250ZW50OiAiXDMzIjsKfQouYXJyb3dfY2Fycm90LWxlZnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMzQiOwp9Ci5hcnJvd19jYXJyb3QtcmlnaHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcMzUiOwp9Ci5hcnJvd19jYXJyb3QtMnVwOmJlZm9yZSB7Cgljb250ZW50OiAiXDM2IjsKfQouYXJyb3dfY2Fycm90LTJkb3duOmJlZm9yZSB7Cgljb250ZW50OiAiXDM3IjsKfQouYXJyb3dfY2Fycm90LTJsZWZ0OmJlZm9yZSB7Cgljb250ZW50OiAiXDM4IjsKfQouYXJyb3dfY2Fycm90LTJyaWdodDpiZWZvcmUgewoJY29udGVudDogIlwzOSI7Cn0KLmFycm93X2NhcnJvdC11cF9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDNhIjsKfQouYXJyb3dfY2Fycm90LWRvd25fYWx0MjpiZWZvcmUgewoJY29udGVudDogIlwzYiI7Cn0KLmFycm93X2NhcnJvdC1sZWZ0X2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcM2MiOwp9Ci5hcnJvd19jYXJyb3QtcmlnaHRfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlwzZCI7Cn0KLmFycm93X2NhcnJvdC0ydXBfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlwzZSI7Cn0KLmFycm93X2NhcnJvdC0yZG93bl9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDNmIjsKfQouYXJyb3dfY2Fycm90LTJsZWZ0X2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNDAiOwp9Ci5hcnJvd19jYXJyb3QtMnJpZ2h0X2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNDEiOwp9Ci5hcnJvd190cmlhbmdsZS11cDpiZWZvcmUgewoJY29udGVudDogIlw0MiI7Cn0KLmFycm93X3RyaWFuZ2xlLWRvd246YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNDMiOwp9Ci5hcnJvd190cmlhbmdsZS1sZWZ0OmJlZm9yZSB7Cgljb250ZW50OiAiXDQ0IjsKfQouYXJyb3dfdHJpYW5nbGUtcmlnaHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNDUiOwp9Ci5hcnJvd190cmlhbmdsZS11cF9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDQ2IjsKfQouYXJyb3dfdHJpYW5nbGUtZG93bl9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDQ3IjsKfQouYXJyb3dfdHJpYW5nbGUtbGVmdF9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDQ4IjsKfQouYXJyb3dfdHJpYW5nbGUtcmlnaHRfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw0OSI7Cn0KLmFycm93X2JhY2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNGEiOwp9Ci5pY29uX21pbnVzLTA2OmJlZm9yZSB7Cgljb250ZW50OiAiXDRiIjsKfQouaWNvbl9wbHVzOmJlZm9yZSB7Cgljb250ZW50OiAiXDRjIjsKfQouaWNvbl9jbG9zZTpiZWZvcmUgewoJY29udGVudDogIlw0ZCI7Cn0KLmljb25fY2hlY2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNGUiOwp9Ci5pY29uX21pbnVzX2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNGYiOwp9Ci5pY29uX3BsdXNfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw1MCI7Cn0KLmljb25fY2xvc2VfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw1MSI7Cn0KLmljb25fY2hlY2tfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw1MiI7Cn0KLmljb25fem9vbS1vdXRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDUzIjsKfQouaWNvbl96b29tLWluX2FsdDpiZWZvcmUgewoJY29udGVudDogIlw1NCI7Cn0KLmljb25fc2VhcmNoOmJlZm9yZSB7Cgljb250ZW50OiAiXDU1IjsKfQouaWNvbl9ib3gtZW1wdHk6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNTYiOwp9Ci5pY29uX2JveC1zZWxlY3RlZDpiZWZvcmUgewoJY29udGVudDogIlw1NyI7Cn0KLmljb25fbWludXMtYm94OmJlZm9yZSB7Cgljb250ZW50OiAiXDU4IjsKfQouaWNvbl9wbHVzLWJveDpiZWZvcmUgewoJY29udGVudDogIlw1OSI7Cn0KLmljb25fYm94LWNoZWNrZWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNWEiOwp9Ci5pY29uX2NpcmNsZS1lbXB0eTpiZWZvcmUgewoJY29udGVudDogIlw1YiI7Cn0KLmljb25fY2lyY2xlLXNsZWxlY3RlZDpiZWZvcmUgewoJY29udGVudDogIlw1YyI7Cn0KLmljb25fc3RvcF9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDVkIjsKfQouaWNvbl9zdG9wOmJlZm9yZSB7Cgljb250ZW50OiAiXDVlIjsKfQouaWNvbl9wYXVzZV9hbHQyOmJlZm9yZSB7Cgljb250ZW50OiAiXDVmIjsKfQouaWNvbl9wYXVzZTpiZWZvcmUgewoJY29udGVudDogIlw2MCI7Cn0KLmljb25fbWVudTpiZWZvcmUgewoJY29udGVudDogIlw2MSI7Cn0KLmljb25fbWVudS1zcXVhcmVfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw2MiI7Cn0KLmljb25fbWVudS1jaXJjbGVfYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw2MyI7Cn0KLmljb25fdWw6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNjQiOwp9Ci5pY29uX29sOmJlZm9yZSB7Cgljb250ZW50OiAiXDY1IjsKfQouaWNvbl9hZGp1c3QtaG9yaXo6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNjYiOwp9Ci5pY29uX2FkanVzdC12ZXJ0OmJlZm9yZSB7Cgljb250ZW50OiAiXDY3IjsKfQouaWNvbl9kb2N1bWVudF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNjgiOwp9Ci5pY29uX2RvY3VtZW50c19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNjkiOwp9Ci5pY29uX3BlbmNpbDpiZWZvcmUgewoJY29udGVudDogIlw2YSI7Cn0KLmljb25fcGVuY2lsLWVkaXRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDZiIjsKfQouaWNvbl9wZW5jaWwtZWRpdDpiZWZvcmUgewoJY29udGVudDogIlw2YyI7Cn0KLmljb25fZm9sZGVyLWFsdDpiZWZvcmUgewoJY29udGVudDogIlw2ZCI7Cn0KLmljb25fZm9sZGVyLW9wZW5fYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDZlIjsKfQouaWNvbl9mb2xkZXItYWRkX2FsdDpiZWZvcmUgewoJY29udGVudDogIlw2ZiI7Cn0KLmljb25faW5mb19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNzAiOwp9Ci5pY29uX2Vycm9yLW9jdF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNzEiOwp9Ci5pY29uX2Vycm9yLWNpcmNsZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNzIiOwp9Ci5pY29uX2Vycm9yLXRyaWFuZ2xlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlw3MyI7Cn0KLmljb25fcXVlc3Rpb25fYWx0MjpiZWZvcmUgewoJY29udGVudDogIlw3NCI7Cn0KLmljb25fcXVlc3Rpb246YmVmb3JlIHsKCWNvbnRlbnQ6ICJcNzUiOwp9Ci5pY29uX2NvbW1lbnRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDc2IjsKfQouaWNvbl9jaGF0X2FsdDpiZWZvcmUgewoJY29udGVudDogIlw3NyI7Cn0KLmljb25fdm9sLW11dGVfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDc4IjsKfQouaWNvbl92b2x1bWUtbG93X2FsdDpiZWZvcmUgewoJY29udGVudDogIlw3OSI7Cn0KLmljb25fdm9sdW1lLWhpZ2hfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXDdhIjsKfQouaWNvbl9xdW90YXRpb25zOmJlZm9yZSB7Cgljb250ZW50OiAiXDdiIjsKfQouaWNvbl9xdW90YXRpb25zX2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcN2MiOwp9Ci5pY29uX2Nsb2NrX2FsdDpiZWZvcmUgewoJY29udGVudDogIlw3ZCI7Cn0KLmljb25fbG9ja19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcN2UiOwp9Ci5pY29uX2xvY2stb3Blbl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwMCI7Cn0KLmljb25fa2V5X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDAxIjsKfQouaWNvbl9jbG91ZF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwMiI7Cn0KLmljb25fY2xvdWQtdXBsb2FkX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDAzIjsKfQouaWNvbl9jbG91ZC1kb3dubG9hZF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwNCI7Cn0KLmljb25faW1hZ2U6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwNSI7Cn0KLmljb25faW1hZ2VzOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMDYiOwp9Ci5pY29uX2xpZ2h0YnVsYl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwNyI7Cn0KLmljb25fZ2lmdF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwOCI7Cn0KLmljb25faG91c2VfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMDkiOwp9Ci5pY29uX2dlbml1czpiZWZvcmUgewoJY29udGVudDogIlxlMDBhIjsKfQouaWNvbl9tb2JpbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwYiI7Cn0KLmljb25fdGFibGV0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMGMiOwp9Ci5pY29uX2xhcHRvcDpiZWZvcmUgewoJY29udGVudDogIlxlMDBkIjsKfQouaWNvbl9kZXNrdG9wOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMGUiOwp9Ci5pY29uX2NhbWVyYV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAwZiI7Cn0KLmljb25fbWFpbF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxMCI7Cn0KLmljb25fY29uZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxMSI7Cn0KLmljb25fcmliYm9uX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDEyIjsKfQouaWNvbl9iYWdfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMTMiOwp9Ci5pY29uX2NyZWRpdGNhcmQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxNCI7Cn0KLmljb25fY2FydF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxNSI7Cn0KLmljb25fcGFwZXJjbGlwOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMTYiOwp9Ci5pY29uX3RhZ19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxNyI7Cn0KLmljb25fdGFnc19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxOCI7Cn0KLmljb25fdHJhc2hfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMTkiOwp9Ci5pY29uX2N1cnNvcl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxYSI7Cn0KLmljb25fbWljX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDFiIjsKfQouaWNvbl9jb21wYXNzX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDFjIjsKfQouaWNvbl9waW5fYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMWQiOwp9Ci5pY29uX3B1c2hwaW5fYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMWUiOwp9Ci5pY29uX21hcF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAxZiI7Cn0KLmljb25fZHJhd2VyX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDIwIjsKfQouaWNvbl90b29sYm94X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDIxIjsKfQouaWNvbl9ib29rX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDIyIjsKfQouaWNvbl9jYWxlbmRhcjpiZWZvcmUgewoJY29udGVudDogIlxlMDIzIjsKfQouaWNvbl9maWxtOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMjQiOwp9Ci5pY29uX3RhYmxlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMjUiOwp9Ci5pY29uX2NvbnRhY3RzX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDI2IjsKfQouaWNvbl9oZWFkcGhvbmVzOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMjciOwp9Ci5pY29uX2xpZmVzYXZlcjpiZWZvcmUgewoJY29udGVudDogIlxlMDI4IjsKfQouaWNvbl9waWVjaGFydDpiZWZvcmUgewoJY29udGVudDogIlxlMDI5IjsKfQouaWNvbl9yZWZyZXNoOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMmEiOwp9Ci5pY29uX2xpbmtfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMmIiOwp9Ci5pY29uX2xpbms6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAyYyI7Cn0KLmljb25fbG9hZGluZzpiZWZvcmUgewoJY29udGVudDogIlxlMDJkIjsKfQouaWNvbl9ibG9ja2VkOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMmUiOwp9Ci5pY29uX2FyY2hpdmVfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMmYiOwp9Ci5pY29uX2hlYXJ0X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDMwIjsKfQouaWNvbl9zdGFyX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDMxIjsKfQouaWNvbl9zdGFyLWhhbGZfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMzIiOwp9Ci5pY29uX3N0YXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzMyI7Cn0KLmljb25fc3Rhci1oYWxmOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMzQiOwp9Ci5pY29uX3Rvb2xzOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMzUiOwp9Ci5pY29uX3Rvb2w6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzNiI7Cn0KLmljb25fY29nOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwMzciOwp9Ci5pY29uX2NvZ3M6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzOCI7Cn0KLmFycm93X3VwX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDM5IjsKfQouYXJyb3dfZG93bl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzYSI7Cn0KLmFycm93X2xlZnRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwM2IiOwp9Ci5hcnJvd19yaWdodF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzYyI7Cn0KLmFycm93X2xlZnQtdXBfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwM2QiOwp9Ci5hcnJvd19yaWdodC11cF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTAzZSI7Cn0KLmFycm93X3JpZ2h0LWRvd25fYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwM2YiOwp9Ci5hcnJvd19sZWZ0LWRvd25fYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNDAiOwp9Ci5hcnJvd19jb25kZW5zZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0MSI7Cn0KLmFycm93X2V4cGFuZF9hbHQzOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNDIiOwp9Ci5hcnJvd19jYXJyb3RfdXBfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNDMiOwp9Ci5hcnJvd19jYXJyb3QtZG93bl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0NCI7Cn0KLmFycm93X2NhcnJvdC1sZWZ0X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDQ1IjsKfQouYXJyb3dfY2Fycm90LXJpZ2h0X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDQ2IjsKfQouYXJyb3dfY2Fycm90LTJ1cF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0NyI7Cn0KLmFycm93X2NhcnJvdC0yZHdubl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0OCI7Cn0KLmFycm93X2NhcnJvdC0ybGVmdF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0OSI7Cn0KLmFycm93X2NhcnJvdC0ycmlnaHRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNGEiOwp9Ci5hcnJvd190cmlhbmdsZS11cF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA0YiI7Cn0KLmFycm93X3RyaWFuZ2xlLWRvd25fYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNGMiOwp9Ci5hcnJvd190cmlhbmdsZS1sZWZ0X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDRkIjsKfQouYXJyb3dfdHJpYW5nbGUtcmlnaHRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNGUiOwp9Ci5pY29uX21pbnVzX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDRmIjsKfQouaWNvbl9wbHVzX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDUwIjsKfQouaWNvbl9jbG9zZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA1MSI7Cn0KLmljb25fY2hlY2tfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNTIiOwp9Ci5pY29uX3pvb20tb3V0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNTMiOwp9Ci5pY29uX3pvb20taW46YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA1NCI7Cn0KLmljb25fc3RvcF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA1NSI7Cn0KLmljb25fbWVudS1zcXVhcmVfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNTYiOwp9Ci5pY29uX21lbnUtY2lyY2xlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDU3IjsKfQouaWNvbl9kb2N1bWVudDpiZWZvcmUgewoJY29udGVudDogIlxlMDU4IjsKfQouaWNvbl9kb2N1bWVudHM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA1OSI7Cn0KLmljb25fcGVuY2lsX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMDVhIjsKfQouaWNvbl9mb2xkZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA1YiI7Cn0KLmljb25fZm9sZGVyLW9wZW46YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA1YyI7Cn0KLmljb25fZm9sZGVyLWFkZDpiZWZvcmUgewoJY29udGVudDogIlxlMDVkIjsKfQouaWNvbl9mb2xkZXJfdXBsb2FkOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNWUiOwp9Ci5pY29uX2ZvbGRlcl9kb3dubG9hZDpiZWZvcmUgewoJY29udGVudDogIlxlMDVmIjsKfQouaWNvbl9pbmZvOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNjAiOwp9Ci5pY29uX2Vycm9yLWNpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMDYxIjsKfQouaWNvbl9lcnJvci1vY3Q6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2MiI7Cn0KLmljb25fZXJyb3ItdHJpYW5nbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2MyI7Cn0KLmljb25fcXVlc3Rpb25fYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNjQiOwp9Ci5pY29uX2NvbW1lbnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2NSI7Cn0KLmljb25fY2hhdDpiZWZvcmUgewoJY29udGVudDogIlxlMDY2IjsKfQouaWNvbl92b2wtbXV0ZTpiZWZvcmUgewoJY29udGVudDogIlxlMDY3IjsKfQouaWNvbl92b2x1bWUtbG93OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNjgiOwp9Ci5pY29uX3ZvbHVtZS1oaWdoOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNjkiOwp9Ci5pY29uX3F1b3RhdGlvbnNfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNmEiOwp9Ci5pY29uX2Nsb2NrOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNmIiOwp9Ci5pY29uX2xvY2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA2YyI7Cn0KLmljb25fbG9jay1vcGVuOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNmQiOwp9Ci5pY29uX2tleTpiZWZvcmUgewoJY29udGVudDogIlxlMDZlIjsKfQouaWNvbl9jbG91ZDpiZWZvcmUgewoJY29udGVudDogIlxlMDZmIjsKfQouaWNvbl9jbG91ZC11cGxvYWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3MCI7Cn0KLmljb25fY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3MSI7Cn0KLmljb25fbGlnaHRidWxiOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNzIiOwp9Ci5pY29uX2dpZnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3MyI7Cn0KLmljb25faG91c2U6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3NCI7Cn0KLmljb25fY2FtZXJhOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNzUiOwp9Ci5pY29uX21haWw6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3NiI7Cn0KLmljb25fY29uZTpiZWZvcmUgewoJY29udGVudDogIlxlMDc3IjsKfQouaWNvbl9yaWJib246YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3OCI7Cn0KLmljb25fYmFnOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwNzkiOwp9Ci5pY29uX2NhcnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3YSI7Cn0KLmljb25fdGFnOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwN2IiOwp9Ci5pY29uX3RhZ3M6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3YyI7Cn0KLmljb25fdHJhc2g6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA3ZCI7Cn0KLmljb25fY3Vyc29yOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwN2UiOwp9Ci5pY29uX21pYzpiZWZvcmUgewoJY29udGVudDogIlxlMDdmIjsKfQouaWNvbl9jb21wYXNzOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwODAiOwp9Ci5pY29uX3BpbjpiZWZvcmUgewoJY29udGVudDogIlxlMDgxIjsKfQouaWNvbl9wdXNocGluOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwODIiOwp9Ci5pY29uX21hcDpiZWZvcmUgewoJY29udGVudDogIlxlMDgzIjsKfQouaWNvbl9kcmF3ZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA4NCI7Cn0KLmljb25fdG9vbGJveDpiZWZvcmUgewoJY29udGVudDogIlxlMDg1IjsKfQouaWNvbl9ib29rOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwODYiOwp9Ci5pY29uX2NvbnRhY3RzOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwODciOwp9Ci5pY29uX2FyY2hpdmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA4OCI7Cn0KLmljb25faGVhcnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA4OSI7Cn0KLmljb25fcHJvZmlsZTpiZWZvcmUgewoJY29udGVudDogIlxlMDhhIjsKfQouaWNvbl9ncm91cDpiZWZvcmUgewoJY29udGVudDogIlxlMDhiIjsKfQouaWNvbl9ncmlkLTJ4MjpiZWZvcmUgewoJY29udGVudDogIlxlMDhjIjsKfQouaWNvbl9ncmlkLTN4MzpiZWZvcmUgewoJY29udGVudDogIlxlMDhkIjsKfQouaWNvbl9tdXNpYzpiZWZvcmUgewoJY29udGVudDogIlxlMDhlIjsKfQouaWNvbl9wYXVzZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA4ZiI7Cn0KLmljb25fcGhvbmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5MCI7Cn0KLmljb25fdXBsb2FkOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOTEiOwp9Ci5pY29uX2Rvd25sb2FkOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOTIiOwp9Ci5zb2NpYWxfZmFjZWJvb2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5MyI7Cn0KLnNvY2lhbF90d2l0dGVyOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOTQiOwp9Ci5zb2NpYWxfcGludGVyZXN0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOTUiOwp9Ci5zb2NpYWxfZ29vZ2xlcGx1czpiZWZvcmUgewoJY29udGVudDogIlxlMDk2IjsKfQouc29jaWFsX3R1bWJscjpiZWZvcmUgewoJY29udGVudDogIlxlMDk3IjsKfQouc29jaWFsX3R1bWJsZXVwb246YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5OCI7Cn0KLnNvY2lhbF93b3JkcHJlc3M6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5OSI7Cn0KLnNvY2lhbF9pbnN0YWdyYW06YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5YSI7Cn0KLnNvY2lhbF9kcmliYmJsZTpiZWZvcmUgewoJY29udGVudDogIlxlMDliIjsKfQouc29jaWFsX3ZpbWVvOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOWMiOwp9Ci5zb2NpYWxfbGlua2VkaW46YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5ZCI7Cn0KLnNvY2lhbF9yc3M6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTA5ZSI7Cn0KLnNvY2lhbF9kZXZpYW50YXJ0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwOWYiOwp9Ci5zb2NpYWxfc2hhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhMCI7Cn0KLnNvY2lhbF9teXNwYWNlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYTEiOwp9Ci5zb2NpYWxfc2t5cGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhMiI7Cn0KLnNvY2lhbF95b3V0dWJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYTMiOwp9Ci5zb2NpYWxfcGljYXNzYTpiZWZvcmUgewoJY29udGVudDogIlxlMGE0IjsKfQouc29jaWFsX2dvb2dsZWRyaXZlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYTUiOwp9Ci5zb2NpYWxfZmxpY2tyOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYTYiOwp9Ci5zb2NpYWxfYmxvZ2dlcjpiZWZvcmUgewoJY29udGVudDogIlxlMGE3IjsKfQouc29jaWFsX3Nwb3RpZnk6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhOCI7Cn0KLnNvY2lhbF9kZWxpY2lvdXM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhOSI7Cn0KLnNvY2lhbF9mYWNlYm9va19jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhYSI7Cn0KLnNvY2lhbF90d2l0dGVyX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGFiIjsKfQouc29jaWFsX3BpbnRlcmVzdF9jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhYyI7Cn0KLnNvY2lhbF9nb29nbGVwbHVzX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGFkIjsKfQouc29jaWFsX3R1bWJscl9jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhZSI7Cn0KLnNvY2lhbF9zdHVtYmxldXBvbl9jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBhZiI7Cn0KLnNvY2lhbF93b3JkcHJlc3NfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYjAiOwp9Ci5zb2NpYWxfaW5zdGFncmFtX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGIxIjsKfQouc29jaWFsX2RyaWJiYmxlX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGIyIjsKfQouc29jaWFsX3ZpbWVvX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGIzIjsKfQouc29jaWFsX2xpbmtlZGluX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGI0IjsKfQouc29jaWFsX3Jzc19jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBiNSI7Cn0KLnNvY2lhbF9kZXZpYW50YXJ0X2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGI2IjsKfQouc29jaWFsX3NoYXJlX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGI3IjsKfQouc29jaWFsX215c3BhY2VfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYjgiOwp9Ci5zb2NpYWxfc2t5cGVfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYjkiOwp9Ci5zb2NpYWxfeW91dHViZV9jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBiYSI7Cn0KLnNvY2lhbF9waWNhc3NhX2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGJiIjsKfQouc29jaWFsX2dvb2dsZWRyaXZlX2FsdDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBiYyI7Cn0KLnNvY2lhbF9mbGlja3JfY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYmQiOwp9Ci5zb2NpYWxfYmxvZ2dlcl9jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBiZSI7Cn0KLnNvY2lhbF9zcG90aWZ5X2NpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlMGJmIjsKfQouc29jaWFsX2RlbGljaW91c19jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBjMCI7Cn0KLnNvY2lhbF9mYWNlYm9va19zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBjMSI7Cn0KLnNvY2lhbF90d2l0dGVyX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGMyIjsKfQouc29jaWFsX3BpbnRlcmVzdF9zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBjMyI7Cn0KLnNvY2lhbF9nb29nbGVwbHVzX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGM0IjsKfQouc29jaWFsX3R1bWJscl9zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBjNSI7Cn0KLnNvY2lhbF9zdHVtYmxldXBvbl9zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBjNiI7Cn0KLnNvY2lhbF93b3JkcHJlc3Nfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwYzciOwp9Ci5zb2NpYWxfaW5zdGFncmFtX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGM4IjsKfQouc29jaWFsX2RyaWJiYmxlX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGM5IjsKfQouc29jaWFsX3ZpbWVvX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGNhIjsKfQouc29jaWFsX2xpbmtlZGluX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGNiIjsKfQouc29jaWFsX3Jzc19zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBjYyI7Cn0KLnNvY2lhbF9kZXZpYW50YXJ0X3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGNkIjsKfQouc29jaWFsX3NoYXJlX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGNlIjsKfQouc29jaWFsX215c3BhY2Vfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwY2YiOwp9Ci5zb2NpYWxfc2t5cGVfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZDAiOwp9Ci5zb2NpYWxfeW91dHViZV9zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBkMSI7Cn0KLnNvY2lhbF9waWNhc3NhX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGQyIjsKfQouc29jaWFsX2dvb2dsZWRyaXZlX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGQzIjsKfQouc29jaWFsX2ZsaWNrcl9zcXVhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBkNCI7Cn0KLnNvY2lhbF9ibG9nZ2VyX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGQ1IjsKfQouc29jaWFsX3Nwb3RpZnlfc3F1YXJlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZDYiOwp9Ci5zb2NpYWxfZGVsaWNpb3VzX3NxdWFyZTpiZWZvcmUgewoJY29udGVudDogIlxlMGQ3IjsKfQouaWNvbl9wcmludGVyOmJlZm9yZSB7Cgljb250ZW50OiAiXGUxMDMiOwp9Ci5pY29uX2NhbHVsYXRvcjpiZWZvcmUgewoJY29udGVudDogIlxlMGVlIjsKfQouaWNvbl9idWlsZGluZzpiZWZvcmUgewoJY29udGVudDogIlxlMGVmIjsKfQouaWNvbl9mbG9wcHk6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBlOCI7Cn0KLmljb25fZHJpdmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBlYSI7Cn0KLmljb25fc2VhcmNoLTI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTEwMSI7Cn0KLmljb25faWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTEwNyI7Cn0KLmljb25faWQtMjpiZWZvcmUgewoJY29udGVudDogIlxlMTA4IjsKfQouaWNvbl9wdXp6bGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTEwMiI7Cn0KLmljb25fbGlrZTpiZWZvcmUgewoJY29udGVudDogIlxlMTA2IjsKfQouaWNvbl9kaXNsaWtlOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZWIiOwp9Ci5pY29uX211ZzpiZWZvcmUgewoJY29udGVudDogIlxlMTA1IjsKfQouaWNvbl9jdXJyZW5jeTpiZWZvcmUgewoJY29udGVudDogIlxlMGVkIjsKfQouaWNvbl93YWxsZXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTEwMCI7Cn0KLmljb25fcGVuczpiZWZvcmUgewoJY29udGVudDogIlxlMTA0IjsKfQouaWNvbl9lYXNlbDpiZWZvcmUgewoJY29udGVudDogIlxlMGU5IjsKfQouaWNvbl9mbG93Y2hhcnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTEwOSI7Cn0KLmljb25fZGF0YXJlcG9ydDpiZWZvcmUgewoJY29udGVudDogIlxlMGVjIjsKfQouaWNvbl9icmllZmNhc2U6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBmZSI7Cn0KLmljb25fc2hpZWxkOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZjYiOwp9Ci5pY29uX3BlcmNlbnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBmYiI7Cn0KLmljb25fZ2xvYmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBlMiI7Cn0KLmljb25fZ2xvYmUtMjpiZWZvcmUgewoJY29udGVudDogIlxlMGUzIjsKfQouaWNvbl90YXJnZXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBmNSI7Cn0KLmljb25faG91cmdsYXNzOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZTEiOwp9Ci5pY29uX2JhbGFuY2U6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBmZiI7Cn0KLmljb25fcm9vazpiZWZvcmUgewoJY29udGVudDogIlxlMGY4IjsKfQouaWNvbl9wcmludGVyLWFsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGZhIjsKfQouaWNvbl9jYWxjdWxhdG9yX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGU3IjsKfQouaWNvbl9idWlsZGluZ19hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBmZCI7Cn0KLmljb25fZmxvcHB5X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGU0IjsKfQouaWNvbl9kcml2ZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBlNSI7Cn0KLmljb25fc2VhcmNoX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGY3IjsKfQouaWNvbl9pZF9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBlMCI7Cn0KLmljb25faWQtMl9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBmYyI7Cn0KLmljb25fcHV6emxlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGY5IjsKfQouaWNvbl9saWtlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGRkIjsKfQouaWNvbl9kaXNsaWtlX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGYxIjsKfQouaWNvbl9tdWdfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZGMiOwp9Ci5pY29uX2N1cnJlbmN5X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGYzIjsKfQouaWNvbl93YWxsZXRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZDgiOwp9Ci5pY29uX3BlbnNfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZGIiOwp9Ci5pY29uX2Vhc2VsX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGYwIjsKfQouaWNvbl9mbG93Y2hhcnRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZGYiOwp9Ci5pY29uX2RhdGFyZXBvcnRfYWx0OmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZjIiOwp9Ci5pY29uX2JyaWVmY2FzZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBmNCI7Cn0KLmljb25fc2hpZWxkX2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGQ5IjsKfQouaWNvbl9wZXJjZW50X2FsdDpiZWZvcmUgewoJY29udGVudDogIlxlMGRhIjsKfQouaWNvbl9nbG9iZV9hbHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTBkZSI7Cn0KLmljb25fY2xpcGJvYXJkOmJlZm9yZSB7Cgljb250ZW50OiAiXGUwZTYiOwp9CgoKCS5nbHlwaCB7CgkJZmxvYXQ6IGxlZnQ7CgkJdGV4dC1hbGlnbjogY2VudGVyOwoJCXBhZGRpbmc6IC43NWVtOwoJCW1hcmdpbjogLjRlbSAxLjVlbSAuNzVlbSAwOwoJCXdpZHRoOiA2ZW07CnRleHQtc2hhZG93OiBub25lOwoJfQogICAgICAgIC5nbHlwaF9iaWcgewogICAgICAgIGZvbnQtc2l6ZTogMTI4cHg7CiAgICAgICAgY29sb3I6ICM1OWM1ZGM7CiAgICAgICAgZmxvYXQ6IGxlZnQ7CiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4OwogICAgICAgIH0KCiAgICAgICAgLmdseXBoIGRpdiB7IHBhZGRpbmctYm90dG9tOiAxMHB4O30KCgkuZ2x5cGggaW5wdXQgewoJCWZvbnQtZmFtaWx5OiBjb25zb2xhcywgbW9ub3NwYWNlOwoJCWZvbnQtc2l6ZTogMTJweDsKCQl3aWR0aDogMTAwJTsKCQl0ZXh0LWFsaWduOiBjZW50ZXI7CgkJYm9yZGVyOiAwOwoJCWJveC1zaGFkb3c6IDAgMCAwIDFweCAjY2NjOwoJCXBhZGRpbmc6IC4yZW07CiAgICAgICAgICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDsKICAgICAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogNXB4OwoJfQoJLmNlbnRlcmVkIHsKCQltYXJnaW4tbGVmdDogYXV0bzsKCQltYXJnaW4tcmlnaHQ6IGF1dG87Cgl9CgkuZ2x5cGggLmZzMSB7CgkJZm9udC1zaXplOiAyZW07Cgl9CgoJCg=="}},"time_used":517,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":135,"receive":382,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://cable.coingecko.com/cable","fqdn":"cable.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:25.607Z","timestamp":1785134005607,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /cable HTTP/1.1\r\nHost: cable.coingecko.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\nSec-WebSocket-Version: 13\r\nOrigin: https://frxoptmarkt.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: 7MHVFuy3X7AcFnRM9l/ZhQ==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T12:30:22.34111Z","times_seen":17708041,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/custom-bootstrap-margin-padding.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.590Z","timestamp":1785133989590,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/custom-bootstrap-margin-padding.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 4422\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":64599,"size_decoded":4652,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"e1f7549a1395df8b3b0a801701dd20d7","sha1":"ccaf9d9d03320bd6d6cc49557b94165b6d709aea","sha256":"af96d87cecc4a3eab015f7668b825ef96c008a1b074f24ff712c91bbf5fd4ddd","sha512":"d4bb38934122b16f58e47a71ba2daaa64236e5a5c41a1c82912f00abd14c754df16b112f61eb64cc8e3765627cdd2e177e2d6cdc33c2c4f0a3d6ac33ac3d5e72","ssdeep":"768:2neprLVLbhcesASwmgCw+UwIk0Yw0UgqeD:2nepNLzeD","tlshash":"18533ee7bdd316da802bd193809676f8fefd24438242e9f394617b61cb426e7086e41d","first_seen":"2023-04-06T17:05:23Z","last_seen":"2026-07-27T14:34:25.25395Z","times_seen":154,"resource_available":false,"data":"LyogDQogKiBDdXN0b20gQm9vdHN0cmFwIE1hcmdpbiBQYWRkaW5nDQogKiBBdXRob3IgLSBNZCBJc21haWwgSG9zc2Fpbg0KICogR2l0ICAgIC0gaHR0cHM6Ly9naXRodWIuY29tL2lzbWFpbGNzZWt1L0N1c3RvbS1Cb290c3RyYXAtTWFyZ2luLVBhZGRpbmcNCiAqIFdlYiAgICAtIGh0dHA6Ly9pc21haWwtaG9zc2Fpbi5tZS8NCiAqIEVtYWlsICAtIGlzbWFpbGNzZWt1QGdtYWlsLmNvbQ0KICovDQoNCg0KLyoqDQogKiBUYWJsZSBvZiBDb250ZW50czoNCiAqDQogKiAxICAgLT4gQmFzaWMgbWFyZ2luIHBhZGRpbmcNCiAqIDEuMSAtPiBCYXNpYyBNYXJnaW4NCiAqIDEuMiAtPiBCYXNpYyBQYWRkaW5nDQogKiAxLjMgLT4gTWFyZ2luIHRvcA0KICogMS40IC0+IE1hcmdpbiByaWdodA0KICogMS41IC0+IE1hcmdpbiBib3R0b20NCiAqIDEuNiAtPiBNYXJnaW4gbGVmdA0KICogMS43IC0+IFBhZGRpbmcgdG9wDQogKiAxLjggLT4gUGFkZGluZyByaWdodA0KICogMS45IC0+IFBhZGRpbmcgYm90dG9tDQogKiAxLjEwIC0+IFBhZGRpbmcgbGVmdA0KICogMiAtPiBsZzogbWluLXdpZHRoOjEyMDBweA0KICogMyAtPiBtZDogbWF4LXdpZHRoOjExOTlweA0KICogNCAtPiBzbTogbWF4LXdpZHRoOjk5MXB4DQogKiA1IC0+IHhzOiBtYXgtd2lkdGggNzY3cHgNCiAqIDYgLT4geHhzOiBtYXgtd2lkdGggNDc5cHgNCiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQogKi8NCi8qIG1pbiBldmVuLCBtYXggb2RkKi8NCg0KLyoNCiAqIDEuMSAtPiBCYXNpYyBNYXJnaW4NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm0tMCB7bWFyZ2luOiAwcHggIWltcG9ydGFudH0NCi5tLTUge21hcmdpbjogNXB4ICFpbXBvcnRhbnR9DQoubS0xMCB7bWFyZ2luOiAxMHB4ICFpbXBvcnRhbnR9DQoubS0xNSB7bWFyZ2luOiAxNXB4ICFpbXBvcnRhbnR9DQoubS0yMCB7bWFyZ2luOiAyMHB4ICFpbXBvcnRhbnR9DQoubS0zMCB7bWFyZ2luOiAzMHB4ICFpbXBvcnRhbnR9DQoubS00MCB7bWFyZ2luOiA0MHB4ICFpbXBvcnRhbnR9DQoubS01MCB7bWFyZ2luOiA1MHB4ICFpbXBvcnRhbnR9DQoubS02MCB7bWFyZ2luOiA2MHB4ICFpbXBvcnRhbnR9DQoubS03MCB7bWFyZ2luOiA3MHB4ICFpbXBvcnRhbnR9DQoubS04MCB7bWFyZ2luOiA4MHB4ICFpbXBvcnRhbnR9DQoubS05MCB7bWFyZ2luOiA5MHB4ICFpbXBvcnRhbnR9DQoubS0xMDAge21hcmdpbjogMTAwcHggIWltcG9ydGFudH0NCi5tLTExMCB7bWFyZ2luOiAxMTBweCAhaW1wb3J0YW50fQ0KLm0tMTIwIHttYXJnaW46IDEyMHB4ICFpbXBvcnRhbnR9DQoubS0xMzAge21hcmdpbjogMTMwcHggIWltcG9ydGFudH0NCi5tLTE0MCB7bWFyZ2luOiAxNDBweCAhaW1wb3J0YW50fQ0KLm0tMTUwIHttYXJnaW46IDE1MHB4ICFpbXBvcnRhbnR9DQoubS0xNjAge21hcmdpbjogMTYwcHggIWltcG9ydGFudH0NCi5tLTE3MCB7bWFyZ2luOiAxNzBweCAhaW1wb3J0YW50fQ0KLm0tMTgwIHttYXJnaW46IDE4MHB4ICFpbXBvcnRhbnR9DQoubS0xOTAge21hcmdpbjogMTkwcHggIWltcG9ydGFudH0NCi5tLTIwMCB7bWFyZ2luOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMS4yIC0+IEJhc2ljIFBhZGRpbmcNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnAtMCB7cGFkZGluZzogMCFpbXBvcnRhbnQ7fQ0KLnAtNSB7cGFkZGluZzogNXB4ICFpbXBvcnRhbnR9DQoucC0xMCB7cGFkZGluZzogMTBweCAhaW1wb3J0YW50fQ0KLnAtMTUge3BhZGRpbmc6IDE1cHggIWltcG9ydGFudH0NCi5wLTIwIHtwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnR9DQoucC0zMCB7cGFkZGluZzogMzBweCAhaW1wb3J0YW50fQ0KLnAtNDAge3BhZGRpbmc6IDQwcHggIWltcG9ydGFudH0NCi5wLTUwIHtwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnR9DQoucC02MCB7cGFkZGluZzogNjBweCAhaW1wb3J0YW50fQ0KLnAtNzAge3BhZGRpbmc6IDcwcHggIWltcG9ydGFudH0NCi5wLTgwIHtwYWRkaW5nOiA4MHB4ICFpbXBvcnRhbnR9DQoucC05MCB7cGFkZGluZzogOTBweCAhaW1wb3J0YW50fQ0KLnAtMTAwIHtwYWRkaW5nOiAxMDBweCAhaW1wb3J0YW50fQ0KLnAtMTEwIHtwYWRkaW5nOiAxMTBweCAhaW1wb3J0YW50fQ0KLnAtMTIwIHtwYWRkaW5nOiAxMjBweCAhaW1wb3J0YW50fQ0KLnAtMTMwIHtwYWRkaW5nOiAxMzBweCAhaW1wb3J0YW50fQ0KLnAtMTQwIHtwYWRkaW5nOiAxNDBweCAhaW1wb3J0YW50fQ0KLnAtMTUwIHtwYWRkaW5nOiAxNTBweCAhaW1wb3J0YW50fQ0KLnAtMTYwIHtwYWRkaW5nOiAxNjBweCAhaW1wb3J0YW50fQ0KLnAtMTcwIHtwYWRkaW5nOiAxNzBweCAhaW1wb3J0YW50fQ0KLnAtMTgwIHtwYWRkaW5nOiAxODBweCAhaW1wb3J0YW50fQ0KLnAtMTkwIHtwYWRkaW5nOiAxOTBweCAhaW1wb3J0YW50fQ0KLnAtMjAwIHtwYWRkaW5nOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMS4zIC0+IE1hcmdpbiB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm10LTAge21hcmdpbi10b3A6IDAhaW1wb3J0YW50O30NCi5tdC01IHttYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudH0NCi5tdC0xMCB7bWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLm10LTE1IHttYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoubXQtMjAge21hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudH0NCi5tdC0zMCB7bWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLm10LTQwIHttYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoubXQtNTAge21hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudH0NCi5tdC02MCB7bWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLm10LTcwIHttYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoubXQtODAge21hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudH0NCi5tdC05MCB7bWFyZ2luLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLm10LTEwMCB7bWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5tdC0xMTAge21hcmdpbi10b3A6IDExMHB4ICFpbXBvcnRhbnR9DQoubXQtMTIwIHttYXJnaW4tdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLm10LTEzMCB7bWFyZ2luLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5tdC0xNDAge21hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnR9DQoubXQtMTUwIHttYXJnaW4tdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLm10LTE2MCB7bWFyZ2luLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5tdC0xNzAge21hcmdpbi10b3A6IDE3MHB4ICFpbXBvcnRhbnR9DQoubXQtMTgwIHttYXJnaW4tdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLm10LTE5MCB7bWFyZ2luLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5tdC0yMDAge21hcmdpbi10b3A6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAxLjQgLT4gTWFyZ2luIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tci0wIHttYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O30NCi5tci01IHttYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50fQ0KLm1yLTEwIHttYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5tci0xNSB7bWFyZ2luLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnR9DQoubXItMjAge21hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50fQ0KLm1yLTMwIHttYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5tci00MCB7bWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnR9DQoubXItNTAge21hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50fQ0KLm1yLTYwIHttYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5tci03MCB7bWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnR9DQoubXItODAge21hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50fQ0KLm1yLTkwIHttYXJnaW4tcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5tci0xMDAge21hcmdpbi1yaWdodDogMTAwcHggIWltcG9ydGFudH0NCi5tci0xMTAge21hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudH0NCi5tci0xMjAge21hcmdpbi1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5tci0xMzAge21hcmdpbi1yaWdodDogMTMwcHggIWltcG9ydGFudH0NCi5tci0xNDAge21hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudH0NCi5tci0xNTAge21hcmdpbi1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5tci0xNjAge21hcmdpbi1yaWdodDogMTYwcHggIWltcG9ydGFudH0NCi5tci0xNzAge21hcmdpbi1yaWdodDogMTcwcHggIWltcG9ydGFudH0NCi5tci0xODAge21hcmdpbi1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5tci0xOTAge21hcmdpbi1yaWdodDogMTkwcHggIWltcG9ydGFudH0NCi5tci0yMDAge21hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDEuNSAtPiBNYXJnaW4gYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tYi0wIHttYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDt9DQoubWItNSB7bWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnR9DQoubWItMTAge21hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5tYi0xNSB7bWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50fQ0KLm1iLTIwIHttYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnR9DQoubWItMzAge21hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5tYi00MCB7bWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50fQ0KLm1iLTUwIHttYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnR9DQoubWItNjAge21hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5tYi03MCB7bWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50fQ0KLm1iLTgwIHttYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnR9DQoubWItOTAge21hcmdpbi1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5tYi0xMDAge21hcmdpbi1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnR9DQoubWItMTEwIHttYXJnaW4tYm90dG9tOiAxMTBweCAhaW1wb3J0YW50fQ0KLm1iLTEyMCB7bWFyZ2luLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5tYi0xMzAge21hcmdpbi1ib3R0b206IDEzMHB4ICFpbXBvcnRhbnR9DQoubWItMTQwIHttYXJnaW4tYm90dG9tOiAxNDBweCAhaW1wb3J0YW50fQ0KLm1iLTE1MCB7bWFyZ2luLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5tYi0xNjAge21hcmdpbi1ib3R0b206IDE2MHB4ICFpbXBvcnRhbnR9DQoubWItMTcwIHttYXJnaW4tYm90dG9tOiAxNzBweCAhaW1wb3J0YW50fQ0KLm1iLTE4MCB7bWFyZ2luLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5tYi0xOTAge21hcmdpbi1ib3R0b206IDE5MHB4ICFpbXBvcnRhbnR9DQoubWItMjAwIHttYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMS42IC0+IE1hcmdpbiBsZWZ0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tbC0wIHttYXJnaW4tbGVmdDogMCFpbXBvcnRhbnQ7fQ0KLm1sLTUge21hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5tbC0xMCB7bWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudH0NCi5tbC0xNSB7bWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudH0NCi5tbC0yMCB7bWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5tbC0zMCB7bWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudH0NCi5tbC00MCB7bWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudH0NCi5tbC01MCB7bWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5tbC02MCB7bWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudH0NCi5tbC03MCB7bWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudH0NCi5tbC04MCB7bWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5tbC05MCB7bWFyZ2luLWxlZnQ6IDkwcHggIWltcG9ydGFudH0NCi5tbC0xMDAge21hcmdpbi1sZWZ0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1sLTExMCB7bWFyZ2luLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoubWwtMTIwIHttYXJnaW4tbGVmdDogMTIwcHggIWltcG9ydGFudH0NCi5tbC0xMzAge21hcmdpbi1sZWZ0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1sLTE0MCB7bWFyZ2luLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoubWwtMTUwIHttYXJnaW4tbGVmdDogMTUwcHggIWltcG9ydGFudH0NCi5tbC0xNjAge21hcmdpbi1sZWZ0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1sLTE3MCB7bWFyZ2luLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoubWwtMTgwIHttYXJnaW4tbGVmdDogMTgwcHggIWltcG9ydGFudH0NCi5tbC0xOTAge21hcmdpbi1sZWZ0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1sLTIwMCB7bWFyZ2luLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAxLjcgLT4gUGFkZGluZyB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnB0LTAge3BhZGRpbmctdG9wOiAwIWltcG9ydGFudDt9DQoucHQtNSB7cGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50fQ0KLnB0LTEwIHtwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLnB0LTE1IHtwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50fQ0KLnB0LTIwIHtwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50fQ0KLnB0LTMwIHtwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLnB0LTQwIHtwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50fQ0KLnB0LTUwIHtwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50fQ0KLnB0LTYwIHtwYWRkaW5nLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLnB0LTcwIHtwYWRkaW5nLXRvcDogNzBweCAhaW1wb3J0YW50fQ0KLnB0LTgwIHtwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50fQ0KLnB0LTkwIHtwYWRkaW5nLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLnB0LTEwMCB7cGFkZGluZy10b3A6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHQtMTEwIHtwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudH0NCi5wdC0xMjAge3BhZGRpbmctdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLnB0LTEzMCB7cGFkZGluZy10b3A6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHQtMTQwIHtwYWRkaW5nLXRvcDogMTQwcHggIWltcG9ydGFudH0NCi5wdC0xNTAge3BhZGRpbmctdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLnB0LTE2MCB7cGFkZGluZy10b3A6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHQtMTcwIHtwYWRkaW5nLXRvcDogMTcwcHggIWltcG9ydGFudH0NCi5wdC0xODAge3BhZGRpbmctdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLnB0LTE5MCB7cGFkZGluZy10b3A6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHQtMjAwIHtwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDEuOCAtPiBQYWRkaW5nIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wci0wIHtwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDt9DQoucHItNSB7cGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnR9DQoucHItMTAge3BhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5wci0xNSB7cGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50fQ0KLnByLTIwIHtwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnR9DQoucHItMzAge3BhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5wci00MCB7cGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50fQ0KLnByLTUwIHtwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnR9DQoucHItNjAge3BhZGRpbmctcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5wci03MCB7cGFkZGluZy1yaWdodDogNzBweCAhaW1wb3J0YW50fQ0KLnByLTgwIHtwYWRkaW5nLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnR9DQoucHItOTAge3BhZGRpbmctcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5wci0xMDAge3BhZGRpbmctcmlnaHQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHItMTEwIHtwYWRkaW5nLXJpZ2h0OiAxMTBweCAhaW1wb3J0YW50fQ0KLnByLTEyMCB7cGFkZGluZy1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5wci0xMzAge3BhZGRpbmctcmlnaHQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHItMTQwIHtwYWRkaW5nLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50fQ0KLnByLTE1MCB7cGFkZGluZy1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5wci0xNjAge3BhZGRpbmctcmlnaHQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHItMTcwIHtwYWRkaW5nLXJpZ2h0OiAxNzBweCAhaW1wb3J0YW50fQ0KLnByLTE4MCB7cGFkZGluZy1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5wci0xOTAge3BhZGRpbmctcmlnaHQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHItMjAwIHtwYWRkaW5nLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMS45IC0+IFBhZGRpbmcgYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wYi0wIHtwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLnBiLTUge3BhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudH0NCi5wYi0xMCB7cGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5wYi0xNSB7cGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5wYi0yMCB7cGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudH0NCi5wYi0zMCB7cGFkZGluZy1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5wYi00MCB7cGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5wYi01MCB7cGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudH0NCi5wYi02MCB7cGFkZGluZy1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5wYi03MCB7cGFkZGluZy1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5wYi04MCB7cGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudH0NCi5wYi05MCB7cGFkZGluZy1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5wYi0xMDAge3BhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLnBiLTExMCB7cGFkZGluZy1ib3R0b206IDExMHB4ICFpbXBvcnRhbnR9DQoucGItMTIwIHtwYWRkaW5nLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5wYi0xMzAge3BhZGRpbmctYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLnBiLTE0MCB7cGFkZGluZy1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnR9DQoucGItMTUwIHtwYWRkaW5nLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5wYi0xNjAge3BhZGRpbmctYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLnBiLTE3MCB7cGFkZGluZy1ib3R0b206IDE3MHB4ICFpbXBvcnRhbnR9DQoucGItMTgwIHtwYWRkaW5nLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5wYi0xOTAge3BhZGRpbmctYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLnBiLTIwMCB7cGFkZGluZy1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAxLjEwIC0+IFBhZGRpbmcgbGVmdA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucGwtMCB7cGFkZGluZy1sZWZ0OiAwIWltcG9ydGFudDt9DQoucGwtNSB7cGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5wbC0xMCB7cGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnR9DQoucGwtMTUge3BhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50fQ0KLnBsLTIwIHtwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5wbC0zMCB7cGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnR9DQoucGwtNDAge3BhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50fQ0KLnBsLTUwIHtwYWRkaW5nLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5wbC02MCB7cGFkZGluZy1sZWZ0OiA2MHB4ICFpbXBvcnRhbnR9DQoucGwtNzAge3BhZGRpbmctbGVmdDogNzBweCAhaW1wb3J0YW50fQ0KLnBsLTgwIHtwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5wbC05MCB7cGFkZGluZy1sZWZ0OiA5MHB4ICFpbXBvcnRhbnR9DQoucGwtMTAwIHtwYWRkaW5nLWxlZnQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucGwtMTEwIHtwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucGwtMTIwIHtwYWRkaW5nLWxlZnQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoucGwtMTMwIHtwYWRkaW5nLWxlZnQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucGwtMTQwIHtwYWRkaW5nLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucGwtMTUwIHtwYWRkaW5nLWxlZnQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoucGwtMTYwIHtwYWRkaW5nLWxlZnQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucGwtMTcwIHtwYWRkaW5nLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucGwtMTgwIHtwYWRkaW5nLWxlZnQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoucGwtMTkwIHtwYWRkaW5nLWxlZnQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucGwtMjAwIHtwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAyIC0+IGxnOiBtaW4td2lkdGg6MTIwMHB4DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCkBtZWRpYSAobWluLXdpZHRoOjEyMDBweCkgew0KLyoNCiAqIDIuMSAtPiBCYXNpYyBNYXJnaW4NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm0tbGctMCB7bWFyZ2luOiAwcHggIWltcG9ydGFudH0NCi5tLWxnLTUge21hcmdpbjogNXB4ICFpbXBvcnRhbnR9DQoubS1sZy0xMCB7bWFyZ2luOiAxMHB4ICFpbXBvcnRhbnR9DQoubS1sZy0xNSB7bWFyZ2luOiAxNXB4ICFpbXBvcnRhbnR9DQoubS1sZy0yMCB7bWFyZ2luOiAyMHB4ICFpbXBvcnRhbnR9DQoubS1sZy0zMCB7bWFyZ2luOiAzMHB4ICFpbXBvcnRhbnR9DQoubS1sZy00MCB7bWFyZ2luOiA0MHB4ICFpbXBvcnRhbnR9DQoubS1sZy01MCB7bWFyZ2luOiA1MHB4ICFpbXBvcnRhbnR9DQoubS1sZy02MCB7bWFyZ2luOiA2MHB4ICFpbXBvcnRhbnR9DQoubS1sZy03MCB7bWFyZ2luOiA3MHB4ICFpbXBvcnRhbnR9DQoubS1sZy04MCB7bWFyZ2luOiA4MHB4ICFpbXBvcnRhbnR9DQoubS1sZy05MCB7bWFyZ2luOiA5MHB4ICFpbXBvcnRhbnR9DQoubS1sZy0xMDAge21hcmdpbjogMTAwcHggIWltcG9ydGFudH0NCi5tLWxnLTExMCB7bWFyZ2luOiAxMTBweCAhaW1wb3J0YW50fQ0KLm0tbGctMTIwIHttYXJnaW46IDEyMHB4ICFpbXBvcnRhbnR9DQoubS1sZy0xMzAge21hcmdpbjogMTMwcHggIWltcG9ydGFudH0NCi5tLWxnLTE0MCB7bWFyZ2luOiAxNDBweCAhaW1wb3J0YW50fQ0KLm0tbGctMTUwIHttYXJnaW46IDE1MHB4ICFpbXBvcnRhbnR9DQoubS1sZy0xNjAge21hcmdpbjogMTYwcHggIWltcG9ydGFudH0NCi5tLWxnLTE3MCB7bWFyZ2luOiAxNzBweCAhaW1wb3J0YW50fQ0KLm0tbGctMTgwIHttYXJnaW46IDE4MHB4ICFpbXBvcnRhbnR9DQoubS1sZy0xOTAge21hcmdpbjogMTkwcHggIWltcG9ydGFudH0NCi5tLWxnLTIwMCB7bWFyZ2luOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMi4yIC0+IEJhc2ljIFBhZGRpbmcNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnAtbGctMCB7cGFkZGluZzogMCFpbXBvcnRhbnQ7fQ0KLnAtbGctNSB7cGFkZGluZzogNXB4ICFpbXBvcnRhbnR9DQoucC1sZy0xMCB7cGFkZGluZzogMTBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTUge3BhZGRpbmc6IDE1cHggIWltcG9ydGFudH0NCi5wLWxnLTIwIHtwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnR9DQoucC1sZy0zMCB7cGFkZGluZzogMzBweCAhaW1wb3J0YW50fQ0KLnAtbGctNDAge3BhZGRpbmc6IDQwcHggIWltcG9ydGFudH0NCi5wLWxnLTUwIHtwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnR9DQoucC1sZy02MCB7cGFkZGluZzogNjBweCAhaW1wb3J0YW50fQ0KLnAtbGctNzAge3BhZGRpbmc6IDcwcHggIWltcG9ydGFudH0NCi5wLWxnLTgwIHtwYWRkaW5nOiA4MHB4ICFpbXBvcnRhbnR9DQoucC1sZy05MCB7cGFkZGluZzogOTBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTAwIHtwYWRkaW5nOiAxMDBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTEwIHtwYWRkaW5nOiAxMTBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTIwIHtwYWRkaW5nOiAxMjBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTMwIHtwYWRkaW5nOiAxMzBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTQwIHtwYWRkaW5nOiAxNDBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTUwIHtwYWRkaW5nOiAxNTBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTYwIHtwYWRkaW5nOiAxNjBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTcwIHtwYWRkaW5nOiAxNzBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTgwIHtwYWRkaW5nOiAxODBweCAhaW1wb3J0YW50fQ0KLnAtbGctMTkwIHtwYWRkaW5nOiAxOTBweCAhaW1wb3J0YW50fQ0KLnAtbGctMjAwIHtwYWRkaW5nOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMi4zIC0+IE1hcmdpbiB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm10LWxnLTAge21hcmdpbi10b3A6IDAhaW1wb3J0YW50O30NCi5tdC1sZy01IHttYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudH0NCi5tdC1sZy0xMCB7bWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTE1IHttYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoubXQtbGctMjAge21hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudH0NCi5tdC1sZy0zMCB7bWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTQwIHttYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoubXQtbGctNTAge21hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudH0NCi5tdC1sZy02MCB7bWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTcwIHttYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoubXQtbGctODAge21hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudH0NCi5tdC1sZy05MCB7bWFyZ2luLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTEwMCB7bWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5tdC1sZy0xMTAge21hcmdpbi10b3A6IDExMHB4ICFpbXBvcnRhbnR9DQoubXQtbGctMTIwIHttYXJnaW4tdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTEzMCB7bWFyZ2luLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5tdC1sZy0xNDAge21hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnR9DQoubXQtbGctMTUwIHttYXJnaW4tdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTE2MCB7bWFyZ2luLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5tdC1sZy0xNzAge21hcmdpbi10b3A6IDE3MHB4ICFpbXBvcnRhbnR9DQoubXQtbGctMTgwIHttYXJnaW4tdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLm10LWxnLTE5MCB7bWFyZ2luLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5tdC1sZy0yMDAge21hcmdpbi10b3A6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAyLjQgLT4gTWFyZ2luIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tci1sZy0wIHttYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O30NCi5tci1sZy01IHttYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50fQ0KLm1yLWxnLTEwIHttYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5tci1sZy0xNSB7bWFyZ2luLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnR9DQoubXItbGctMjAge21hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50fQ0KLm1yLWxnLTMwIHttYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5tci1sZy00MCB7bWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnR9DQoubXItbGctNTAge21hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50fQ0KLm1yLWxnLTYwIHttYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5tci1sZy03MCB7bWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnR9DQoubXItbGctODAge21hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50fQ0KLm1yLWxnLTkwIHttYXJnaW4tcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5tci1sZy0xMDAge21hcmdpbi1yaWdodDogMTAwcHggIWltcG9ydGFudH0NCi5tci1sZy0xMTAge21hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudH0NCi5tci1sZy0xMjAge21hcmdpbi1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5tci1sZy0xMzAge21hcmdpbi1yaWdodDogMTMwcHggIWltcG9ydGFudH0NCi5tci1sZy0xNDAge21hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudH0NCi5tci1sZy0xNTAge21hcmdpbi1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5tci1sZy0xNjAge21hcmdpbi1yaWdodDogMTYwcHggIWltcG9ydGFudH0NCi5tci1sZy0xNzAge21hcmdpbi1yaWdodDogMTcwcHggIWltcG9ydGFudH0NCi5tci1sZy0xODAge21hcmdpbi1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5tci1sZy0xOTAge21hcmdpbi1yaWdodDogMTkwcHggIWltcG9ydGFudH0NCi5tci1sZy0yMDAge21hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDIuNSAtPiBNYXJnaW4gYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tYi1sZy0wIHttYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDt9DQoubWItbGctNSB7bWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnR9DQoubWItbGctMTAge21hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5tYi1sZy0xNSB7bWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTIwIHttYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnR9DQoubWItbGctMzAge21hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5tYi1sZy00MCB7bWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTUwIHttYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnR9DQoubWItbGctNjAge21hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5tYi1sZy03MCB7bWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTgwIHttYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnR9DQoubWItbGctOTAge21hcmdpbi1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5tYi1sZy0xMDAge21hcmdpbi1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnR9DQoubWItbGctMTEwIHttYXJnaW4tYm90dG9tOiAxMTBweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTEyMCB7bWFyZ2luLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5tYi1sZy0xMzAge21hcmdpbi1ib3R0b206IDEzMHB4ICFpbXBvcnRhbnR9DQoubWItbGctMTQwIHttYXJnaW4tYm90dG9tOiAxNDBweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTE1MCB7bWFyZ2luLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5tYi1sZy0xNjAge21hcmdpbi1ib3R0b206IDE2MHB4ICFpbXBvcnRhbnR9DQoubWItbGctMTcwIHttYXJnaW4tYm90dG9tOiAxNzBweCAhaW1wb3J0YW50fQ0KLm1iLWxnLTE4MCB7bWFyZ2luLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5tYi1sZy0xOTAge21hcmdpbi1ib3R0b206IDE5MHB4ICFpbXBvcnRhbnR9DQoubWItbGctMjAwIHttYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMi42IC0+IE1hcmdpbiBsZWZ0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tbC1sZy0wIHttYXJnaW4tbGVmdDogMCFpbXBvcnRhbnQ7fQ0KLm1sLWxnLTUge21hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5tbC1sZy0xMCB7bWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudH0NCi5tbC1sZy0xNSB7bWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudH0NCi5tbC1sZy0yMCB7bWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5tbC1sZy0zMCB7bWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudH0NCi5tbC1sZy00MCB7bWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudH0NCi5tbC1sZy01MCB7bWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5tbC1sZy02MCB7bWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudH0NCi5tbC1sZy03MCB7bWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudH0NCi5tbC1sZy04MCB7bWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5tbC1sZy05MCB7bWFyZ2luLWxlZnQ6IDkwcHggIWltcG9ydGFudH0NCi5tbC1sZy0xMDAge21hcmdpbi1sZWZ0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1sLWxnLTExMCB7bWFyZ2luLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoubWwtbGctMTIwIHttYXJnaW4tbGVmdDogMTIwcHggIWltcG9ydGFudH0NCi5tbC1sZy0xMzAge21hcmdpbi1sZWZ0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1sLWxnLTE0MCB7bWFyZ2luLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoubWwtbGctMTUwIHttYXJnaW4tbGVmdDogMTUwcHggIWltcG9ydGFudH0NCi5tbC1sZy0xNjAge21hcmdpbi1sZWZ0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1sLWxnLTE3MCB7bWFyZ2luLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoubWwtbGctMTgwIHttYXJnaW4tbGVmdDogMTgwcHggIWltcG9ydGFudH0NCi5tbC1sZy0xOTAge21hcmdpbi1sZWZ0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1sLWxnLTIwMCB7bWFyZ2luLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAyLjcgLT4gUGFkZGluZyB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnB0LWxnLTAge3BhZGRpbmctdG9wOiAwIWltcG9ydGFudDt9DQoucHQtbGctNSB7cGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTEwIHtwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTE1IHtwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTIwIHtwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTMwIHtwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTQwIHtwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTUwIHtwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTYwIHtwYWRkaW5nLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTcwIHtwYWRkaW5nLXRvcDogNzBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTgwIHtwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTkwIHtwYWRkaW5nLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTEwMCB7cGFkZGluZy10b3A6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHQtbGctMTEwIHtwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudH0NCi5wdC1sZy0xMjAge3BhZGRpbmctdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTEzMCB7cGFkZGluZy10b3A6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHQtbGctMTQwIHtwYWRkaW5nLXRvcDogMTQwcHggIWltcG9ydGFudH0NCi5wdC1sZy0xNTAge3BhZGRpbmctdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTE2MCB7cGFkZGluZy10b3A6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHQtbGctMTcwIHtwYWRkaW5nLXRvcDogMTcwcHggIWltcG9ydGFudH0NCi5wdC1sZy0xODAge3BhZGRpbmctdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLnB0LWxnLTE5MCB7cGFkZGluZy10b3A6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHQtbGctMjAwIHtwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDIuOCAtPiBQYWRkaW5nIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wci1sZy0wIHtwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDt9DQoucHItbGctNSB7cGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnR9DQoucHItbGctMTAge3BhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5wci1sZy0xNSB7cGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50fQ0KLnByLWxnLTIwIHtwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnR9DQoucHItbGctMzAge3BhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5wci1sZy00MCB7cGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50fQ0KLnByLWxnLTUwIHtwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnR9DQoucHItbGctNjAge3BhZGRpbmctcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5wci1sZy03MCB7cGFkZGluZy1yaWdodDogNzBweCAhaW1wb3J0YW50fQ0KLnByLWxnLTgwIHtwYWRkaW5nLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnR9DQoucHItbGctOTAge3BhZGRpbmctcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5wci1sZy0xMDAge3BhZGRpbmctcmlnaHQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHItbGctMTEwIHtwYWRkaW5nLXJpZ2h0OiAxMTBweCAhaW1wb3J0YW50fQ0KLnByLWxnLTEyMCB7cGFkZGluZy1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5wci1sZy0xMzAge3BhZGRpbmctcmlnaHQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHItbGctMTQwIHtwYWRkaW5nLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50fQ0KLnByLWxnLTE1MCB7cGFkZGluZy1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5wci1sZy0xNjAge3BhZGRpbmctcmlnaHQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHItbGctMTcwIHtwYWRkaW5nLXJpZ2h0OiAxNzBweCAhaW1wb3J0YW50fQ0KLnByLWxnLTE4MCB7cGFkZGluZy1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5wci1sZy0xOTAge3BhZGRpbmctcmlnaHQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHItbGctMjAwIHtwYWRkaW5nLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMi45IC0+IFBhZGRpbmcgYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wYi1sZy0wIHtwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLnBiLWxnLTUge3BhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudH0NCi5wYi1sZy0xMCB7cGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5wYi1sZy0xNSB7cGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5wYi1sZy0yMCB7cGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudH0NCi5wYi1sZy0zMCB7cGFkZGluZy1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5wYi1sZy00MCB7cGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5wYi1sZy01MCB7cGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudH0NCi5wYi1sZy02MCB7cGFkZGluZy1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5wYi1sZy03MCB7cGFkZGluZy1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5wYi1sZy04MCB7cGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudH0NCi5wYi1sZy05MCB7cGFkZGluZy1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5wYi1sZy0xMDAge3BhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLnBiLWxnLTExMCB7cGFkZGluZy1ib3R0b206IDExMHB4ICFpbXBvcnRhbnR9DQoucGItbGctMTIwIHtwYWRkaW5nLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5wYi1sZy0xMzAge3BhZGRpbmctYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLnBiLWxnLTE0MCB7cGFkZGluZy1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnR9DQoucGItbGctMTUwIHtwYWRkaW5nLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5wYi1sZy0xNjAge3BhZGRpbmctYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLnBiLWxnLTE3MCB7cGFkZGluZy1ib3R0b206IDE3MHB4ICFpbXBvcnRhbnR9DQoucGItbGctMTgwIHtwYWRkaW5nLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5wYi1sZy0xOTAge3BhZGRpbmctYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLnBiLWxnLTIwMCB7cGFkZGluZy1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAyLjEwIC0+IFBhZGRpbmcgbGVmdA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucGwtbGctMCB7cGFkZGluZy1sZWZ0OiAwIWltcG9ydGFudDt9DQoucGwtbGctNSB7cGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5wbC1sZy0xMCB7cGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTUge3BhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50fQ0KLnBsLWxnLTIwIHtwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5wbC1sZy0zMCB7cGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctNDAge3BhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50fQ0KLnBsLWxnLTUwIHtwYWRkaW5nLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5wbC1sZy02MCB7cGFkZGluZy1sZWZ0OiA2MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctNzAge3BhZGRpbmctbGVmdDogNzBweCAhaW1wb3J0YW50fQ0KLnBsLWxnLTgwIHtwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5wbC1sZy05MCB7cGFkZGluZy1sZWZ0OiA5MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTAwIHtwYWRkaW5nLWxlZnQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTEwIHtwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTIwIHtwYWRkaW5nLWxlZnQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTMwIHtwYWRkaW5nLWxlZnQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTQwIHtwYWRkaW5nLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTUwIHtwYWRkaW5nLWxlZnQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTYwIHtwYWRkaW5nLWxlZnQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTcwIHtwYWRkaW5nLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTgwIHtwYWRkaW5nLWxlZnQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMTkwIHtwYWRkaW5nLWxlZnQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucGwtbGctMjAwIHtwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQp9DQoNCi8qDQogKiAzIC0+IG1kOiBtYXgtd2lkdGg6MTE5OXB4DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCkBtZWRpYSAobWF4LXdpZHRoOjExOTlweCkgew0KLyoNCiAqIDMuMSAtPiBCYXNpYyBNYXJnaW4NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm0tbWQtMCB7bWFyZ2luOiAwcHggIWltcG9ydGFudH0NCi5tLW1kLTUge21hcmdpbjogNXB4ICFpbXBvcnRhbnR9DQoubS1tZC0xMCB7bWFyZ2luOiAxMHB4ICFpbXBvcnRhbnR9DQoubS1tZC0xNSB7bWFyZ2luOiAxNXB4ICFpbXBvcnRhbnR9DQoubS1tZC0yMCB7bWFyZ2luOiAyMHB4ICFpbXBvcnRhbnR9DQoubS1tZC0zMCB7bWFyZ2luOiAzMHB4ICFpbXBvcnRhbnR9DQoubS1tZC00MCB7bWFyZ2luOiA0MHB4ICFpbXBvcnRhbnR9DQoubS1tZC01MCB7bWFyZ2luOiA1MHB4ICFpbXBvcnRhbnR9DQoubS1tZC02MCB7bWFyZ2luOiA2MHB4ICFpbXBvcnRhbnR9DQoubS1tZC03MCB7bWFyZ2luOiA3MHB4ICFpbXBvcnRhbnR9DQoubS1tZC04MCB7bWFyZ2luOiA4MHB4ICFpbXBvcnRhbnR9DQoubS1tZC05MCB7bWFyZ2luOiA5MHB4ICFpbXBvcnRhbnR9DQoubS1tZC0xMDAge21hcmdpbjogMTAwcHggIWltcG9ydGFudH0NCi5tLW1kLTExMCB7bWFyZ2luOiAxMTBweCAhaW1wb3J0YW50fQ0KLm0tbWQtMTIwIHttYXJnaW46IDEyMHB4ICFpbXBvcnRhbnR9DQoubS1tZC0xMzAge21hcmdpbjogMTMwcHggIWltcG9ydGFudH0NCi5tLW1kLTE0MCB7bWFyZ2luOiAxNDBweCAhaW1wb3J0YW50fQ0KLm0tbWQtMTUwIHttYXJnaW46IDE1MHB4ICFpbXBvcnRhbnR9DQoubS1tZC0xNjAge21hcmdpbjogMTYwcHggIWltcG9ydGFudH0NCi5tLW1kLTE3MCB7bWFyZ2luOiAxNzBweCAhaW1wb3J0YW50fQ0KLm0tbWQtMTgwIHttYXJnaW46IDE4MHB4ICFpbXBvcnRhbnR9DQoubS1tZC0xOTAge21hcmdpbjogMTkwcHggIWltcG9ydGFudH0NCi5tLW1kLTIwMCB7bWFyZ2luOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMy4yIC0+IEJhc2ljIFBhZGRpbmcNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnAtbWQtMCB7cGFkZGluZzogMCFpbXBvcnRhbnQ7fQ0KLnAtbWQtNSB7cGFkZGluZzogNXB4ICFpbXBvcnRhbnR9DQoucC1tZC0xMCB7cGFkZGluZzogMTBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTUge3BhZGRpbmc6IDE1cHggIWltcG9ydGFudH0NCi5wLW1kLTIwIHtwYWRkaW5nOiAyMHB4ICFpbXBvcnRhbnR9DQoucC1tZC0zMCB7cGFkZGluZzogMzBweCAhaW1wb3J0YW50fQ0KLnAtbWQtNDAge3BhZGRpbmc6IDQwcHggIWltcG9ydGFudH0NCi5wLW1kLTUwIHtwYWRkaW5nOiA1MHB4ICFpbXBvcnRhbnR9DQoucC1tZC02MCB7cGFkZGluZzogNjBweCAhaW1wb3J0YW50fQ0KLnAtbWQtNzAge3BhZGRpbmc6IDcwcHggIWltcG9ydGFudH0NCi5wLW1kLTgwIHtwYWRkaW5nOiA4MHB4ICFpbXBvcnRhbnR9DQoucC1tZC05MCB7cGFkZGluZzogOTBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTAwIHtwYWRkaW5nOiAxMDBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTEwIHtwYWRkaW5nOiAxMTBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTIwIHtwYWRkaW5nOiAxMjBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTMwIHtwYWRkaW5nOiAxMzBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTQwIHtwYWRkaW5nOiAxNDBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTUwIHtwYWRkaW5nOiAxNTBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTYwIHtwYWRkaW5nOiAxNjBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTcwIHtwYWRkaW5nOiAxNzBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTgwIHtwYWRkaW5nOiAxODBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMTkwIHtwYWRkaW5nOiAxOTBweCAhaW1wb3J0YW50fQ0KLnAtbWQtMjAwIHtwYWRkaW5nOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMy4zIC0+IE1hcmdpbiB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm10LW1kLTAge21hcmdpbi10b3A6IDAhaW1wb3J0YW50O30NCi5tdC1tZC01IHttYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudH0NCi5tdC1tZC0xMCB7bWFyZ2luLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTE1IHttYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoubXQtbWQtMjAge21hcmdpbi10b3A6IDIwcHggIWltcG9ydGFudH0NCi5tdC1tZC0zMCB7bWFyZ2luLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTQwIHttYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoubXQtbWQtNTAge21hcmdpbi10b3A6IDUwcHggIWltcG9ydGFudH0NCi5tdC1tZC02MCB7bWFyZ2luLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTcwIHttYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoubXQtbWQtODAge21hcmdpbi10b3A6IDgwcHggIWltcG9ydGFudH0NCi5tdC1tZC05MCB7bWFyZ2luLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTEwMCB7bWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5tdC1tZC0xMTAge21hcmdpbi10b3A6IDExMHB4ICFpbXBvcnRhbnR9DQoubXQtbWQtMTIwIHttYXJnaW4tdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTEzMCB7bWFyZ2luLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5tdC1tZC0xNDAge21hcmdpbi10b3A6IDE0MHB4ICFpbXBvcnRhbnR9DQoubXQtbWQtMTUwIHttYXJnaW4tdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTE2MCB7bWFyZ2luLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5tdC1tZC0xNzAge21hcmdpbi10b3A6IDE3MHB4ICFpbXBvcnRhbnR9DQoubXQtbWQtMTgwIHttYXJnaW4tdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLm10LW1kLTE5MCB7bWFyZ2luLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5tdC1tZC0yMDAge21hcmdpbi10b3A6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAzLjQgLT4gTWFyZ2luIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tci1tZC0wIHttYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O30NCi5tci1tZC01IHttYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50fQ0KLm1yLW1kLTEwIHttYXJnaW4tcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5tci1tZC0xNSB7bWFyZ2luLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnR9DQoubXItbWQtMjAge21hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50fQ0KLm1yLW1kLTMwIHttYXJnaW4tcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5tci1tZC00MCB7bWFyZ2luLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnR9DQoubXItbWQtNTAge21hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50fQ0KLm1yLW1kLTYwIHttYXJnaW4tcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5tci1tZC03MCB7bWFyZ2luLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnR9DQoubXItbWQtODAge21hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50fQ0KLm1yLW1kLTkwIHttYXJnaW4tcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5tci1tZC0xMDAge21hcmdpbi1yaWdodDogMTAwcHggIWltcG9ydGFudH0NCi5tci1tZC0xMTAge21hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudH0NCi5tci1tZC0xMjAge21hcmdpbi1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5tci1tZC0xMzAge21hcmdpbi1yaWdodDogMTMwcHggIWltcG9ydGFudH0NCi5tci1tZC0xNDAge21hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudH0NCi5tci1tZC0xNTAge21hcmdpbi1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5tci1tZC0xNjAge21hcmdpbi1yaWdodDogMTYwcHggIWltcG9ydGFudH0NCi5tci1tZC0xNzAge21hcmdpbi1yaWdodDogMTcwcHggIWltcG9ydGFudH0NCi5tci1tZC0xODAge21hcmdpbi1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5tci1tZC0xOTAge21hcmdpbi1yaWdodDogMTkwcHggIWltcG9ydGFudH0NCi5tci1tZC0yMDAge21hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDMuNSAtPiBNYXJnaW4gYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tYi1tZC0wIHttYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDt9DQoubWItbWQtNSB7bWFyZ2luLWJvdHRvbTogNXB4ICFpbXBvcnRhbnR9DQoubWItbWQtMTAge21hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5tYi1tZC0xNSB7bWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTIwIHttYXJnaW4tYm90dG9tOiAyMHB4ICFpbXBvcnRhbnR9DQoubWItbWQtMzAge21hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5tYi1tZC00MCB7bWFyZ2luLWJvdHRvbTogNDBweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTUwIHttYXJnaW4tYm90dG9tOiA1MHB4ICFpbXBvcnRhbnR9DQoubWItbWQtNjAge21hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5tYi1tZC03MCB7bWFyZ2luLWJvdHRvbTogNzBweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTgwIHttYXJnaW4tYm90dG9tOiA4MHB4ICFpbXBvcnRhbnR9DQoubWItbWQtOTAge21hcmdpbi1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5tYi1tZC0xMDAge21hcmdpbi1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnR9DQoubWItbWQtMTEwIHttYXJnaW4tYm90dG9tOiAxMTBweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTEyMCB7bWFyZ2luLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5tYi1tZC0xMzAge21hcmdpbi1ib3R0b206IDEzMHB4ICFpbXBvcnRhbnR9DQoubWItbWQtMTQwIHttYXJnaW4tYm90dG9tOiAxNDBweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTE1MCB7bWFyZ2luLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5tYi1tZC0xNjAge21hcmdpbi1ib3R0b206IDE2MHB4ICFpbXBvcnRhbnR9DQoubWItbWQtMTcwIHttYXJnaW4tYm90dG9tOiAxNzBweCAhaW1wb3J0YW50fQ0KLm1iLW1kLTE4MCB7bWFyZ2luLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5tYi1tZC0xOTAge21hcmdpbi1ib3R0b206IDE5MHB4ICFpbXBvcnRhbnR9DQoubWItbWQtMjAwIHttYXJnaW4tYm90dG9tOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMy42IC0+IE1hcmdpbiBsZWZ0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tbC1tZC0wIHttYXJnaW4tbGVmdDogMCFpbXBvcnRhbnQ7fQ0KLm1sLW1kLTUge21hcmdpbi1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5tbC1tZC0xMCB7bWFyZ2luLWxlZnQ6IDEwcHggIWltcG9ydGFudH0NCi5tbC1tZC0xNSB7bWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudH0NCi5tbC1tZC0yMCB7bWFyZ2luLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5tbC1tZC0zMCB7bWFyZ2luLWxlZnQ6IDMwcHggIWltcG9ydGFudH0NCi5tbC1tZC00MCB7bWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudH0NCi5tbC1tZC01MCB7bWFyZ2luLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5tbC1tZC02MCB7bWFyZ2luLWxlZnQ6IDYwcHggIWltcG9ydGFudH0NCi5tbC1tZC03MCB7bWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudH0NCi5tbC1tZC04MCB7bWFyZ2luLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5tbC1tZC05MCB7bWFyZ2luLWxlZnQ6IDkwcHggIWltcG9ydGFudH0NCi5tbC1tZC0xMDAge21hcmdpbi1sZWZ0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1sLW1kLTExMCB7bWFyZ2luLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoubWwtbWQtMTIwIHttYXJnaW4tbGVmdDogMTIwcHggIWltcG9ydGFudH0NCi5tbC1tZC0xMzAge21hcmdpbi1sZWZ0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1sLW1kLTE0MCB7bWFyZ2luLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoubWwtbWQtMTUwIHttYXJnaW4tbGVmdDogMTUwcHggIWltcG9ydGFudH0NCi5tbC1tZC0xNjAge21hcmdpbi1sZWZ0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1sLW1kLTE3MCB7bWFyZ2luLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoubWwtbWQtMTgwIHttYXJnaW4tbGVmdDogMTgwcHggIWltcG9ydGFudH0NCi5tbC1tZC0xOTAge21hcmdpbi1sZWZ0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1sLW1kLTIwMCB7bWFyZ2luLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAzLjcgLT4gUGFkZGluZyB0b3ANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnB0LW1kLTAge3BhZGRpbmctdG9wOiAwIWltcG9ydGFudDt9DQoucHQtbWQtNSB7cGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTEwIHtwYWRkaW5nLXRvcDogMTBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTE1IHtwYWRkaW5nLXRvcDogMTVweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTIwIHtwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTMwIHtwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTQwIHtwYWRkaW5nLXRvcDogNDBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTUwIHtwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTYwIHtwYWRkaW5nLXRvcDogNjBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTcwIHtwYWRkaW5nLXRvcDogNzBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTgwIHtwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTkwIHtwYWRkaW5nLXRvcDogOTBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTEwMCB7cGFkZGluZy10b3A6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHQtbWQtMTEwIHtwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudH0NCi5wdC1tZC0xMjAge3BhZGRpbmctdG9wOiAxMjBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTEzMCB7cGFkZGluZy10b3A6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHQtbWQtMTQwIHtwYWRkaW5nLXRvcDogMTQwcHggIWltcG9ydGFudH0NCi5wdC1tZC0xNTAge3BhZGRpbmctdG9wOiAxNTBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTE2MCB7cGFkZGluZy10b3A6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHQtbWQtMTcwIHtwYWRkaW5nLXRvcDogMTcwcHggIWltcG9ydGFudH0NCi5wdC1tZC0xODAge3BhZGRpbmctdG9wOiAxODBweCAhaW1wb3J0YW50fQ0KLnB0LW1kLTE5MCB7cGFkZGluZy10b3A6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHQtbWQtMjAwIHtwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDMuOCAtPiBQYWRkaW5nIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wci1tZC0wIHtwYWRkaW5nLXJpZ2h0OiAwIWltcG9ydGFudDt9DQoucHItbWQtNSB7cGFkZGluZy1yaWdodDogNXB4ICFpbXBvcnRhbnR9DQoucHItbWQtMTAge3BhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5wci1tZC0xNSB7cGFkZGluZy1yaWdodDogMTVweCAhaW1wb3J0YW50fQ0KLnByLW1kLTIwIHtwYWRkaW5nLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnR9DQoucHItbWQtMzAge3BhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5wci1tZC00MCB7cGFkZGluZy1yaWdodDogNDBweCAhaW1wb3J0YW50fQ0KLnByLW1kLTUwIHtwYWRkaW5nLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnR9DQoucHItbWQtNjAge3BhZGRpbmctcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5wci1tZC03MCB7cGFkZGluZy1yaWdodDogNzBweCAhaW1wb3J0YW50fQ0KLnByLW1kLTgwIHtwYWRkaW5nLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnR9DQoucHItbWQtOTAge3BhZGRpbmctcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5wci1tZC0xMDAge3BhZGRpbmctcmlnaHQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucHItbWQtMTEwIHtwYWRkaW5nLXJpZ2h0OiAxMTBweCAhaW1wb3J0YW50fQ0KLnByLW1kLTEyMCB7cGFkZGluZy1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5wci1tZC0xMzAge3BhZGRpbmctcmlnaHQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucHItbWQtMTQwIHtwYWRkaW5nLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50fQ0KLnByLW1kLTE1MCB7cGFkZGluZy1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5wci1tZC0xNjAge3BhZGRpbmctcmlnaHQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucHItbWQtMTcwIHtwYWRkaW5nLXJpZ2h0OiAxNzBweCAhaW1wb3J0YW50fQ0KLnByLW1kLTE4MCB7cGFkZGluZy1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5wci1tZC0xOTAge3BhZGRpbmctcmlnaHQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucHItbWQtMjAwIHtwYWRkaW5nLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogMy45IC0+IFBhZGRpbmcgYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wYi1tZC0wIHtwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLnBiLW1kLTUge3BhZGRpbmctYm90dG9tOiA1cHggIWltcG9ydGFudH0NCi5wYi1tZC0xMCB7cGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5wYi1tZC0xNSB7cGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5wYi1tZC0yMCB7cGFkZGluZy1ib3R0b206IDIwcHggIWltcG9ydGFudH0NCi5wYi1tZC0zMCB7cGFkZGluZy1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5wYi1tZC00MCB7cGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5wYi1tZC01MCB7cGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudH0NCi5wYi1tZC02MCB7cGFkZGluZy1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5wYi1tZC03MCB7cGFkZGluZy1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5wYi1tZC04MCB7cGFkZGluZy1ib3R0b206IDgwcHggIWltcG9ydGFudH0NCi5wYi1tZC05MCB7cGFkZGluZy1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5wYi1tZC0xMDAge3BhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLnBiLW1kLTExMCB7cGFkZGluZy1ib3R0b206IDExMHB4ICFpbXBvcnRhbnR9DQoucGItbWQtMTIwIHtwYWRkaW5nLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5wYi1tZC0xMzAge3BhZGRpbmctYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLnBiLW1kLTE0MCB7cGFkZGluZy1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnR9DQoucGItbWQtMTUwIHtwYWRkaW5nLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5wYi1tZC0xNjAge3BhZGRpbmctYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLnBiLW1kLTE3MCB7cGFkZGluZy1ib3R0b206IDE3MHB4ICFpbXBvcnRhbnR9DQoucGItbWQtMTgwIHtwYWRkaW5nLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5wYi1tZC0xOTAge3BhZGRpbmctYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLnBiLW1kLTIwMCB7cGFkZGluZy1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiAzLjEwIC0+IFBhZGRpbmcgbGVmdA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucGwtbWQtMCB7cGFkZGluZy1sZWZ0OiAwIWltcG9ydGFudDt9DQoucGwtbWQtNSB7cGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5wbC1tZC0xMCB7cGFkZGluZy1sZWZ0OiAxMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTUge3BhZGRpbmctbGVmdDogMTVweCAhaW1wb3J0YW50fQ0KLnBsLW1kLTIwIHtwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5wbC1tZC0zMCB7cGFkZGluZy1sZWZ0OiAzMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtNDAge3BhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50fQ0KLnBsLW1kLTUwIHtwYWRkaW5nLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5wbC1tZC02MCB7cGFkZGluZy1sZWZ0OiA2MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtNzAge3BhZGRpbmctbGVmdDogNzBweCAhaW1wb3J0YW50fQ0KLnBsLW1kLTgwIHtwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5wbC1tZC05MCB7cGFkZGluZy1sZWZ0OiA5MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTAwIHtwYWRkaW5nLWxlZnQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTEwIHtwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTIwIHtwYWRkaW5nLWxlZnQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTMwIHtwYWRkaW5nLWxlZnQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTQwIHtwYWRkaW5nLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTUwIHtwYWRkaW5nLWxlZnQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTYwIHtwYWRkaW5nLWxlZnQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTcwIHtwYWRkaW5nLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTgwIHtwYWRkaW5nLWxlZnQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMTkwIHtwYWRkaW5nLWxlZnQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoucGwtbWQtMjAwIHtwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQp9DQoNCi8qDQogKiA0IC0+IHNtOiBtYXgtd2lkdGg6OTkxcHgNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KQG1lZGlhIChtYXgtd2lkdGg6OTkxcHgpIHsNCi8qDQogKiA0LjEgLT4gQmFzaWMgTWFyZ2luDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tLXNtLTAge21hcmdpbjogMHB4ICFpbXBvcnRhbnR9DQoubS1zbS01IHttYXJnaW46IDVweCAhaW1wb3J0YW50fQ0KLm0tc20tMTAge21hcmdpbjogMTBweCAhaW1wb3J0YW50fQ0KLm0tc20tMTUge21hcmdpbjogMTVweCAhaW1wb3J0YW50fQ0KLm0tc20tMjAge21hcmdpbjogMjBweCAhaW1wb3J0YW50fQ0KLm0tc20tMzAge21hcmdpbjogMzBweCAhaW1wb3J0YW50fQ0KLm0tc20tNDAge21hcmdpbjogNDBweCAhaW1wb3J0YW50fQ0KLm0tc20tNTAge21hcmdpbjogNTBweCAhaW1wb3J0YW50fQ0KLm0tc20tNjAge21hcmdpbjogNjBweCAhaW1wb3J0YW50fQ0KLm0tc20tNzAge21hcmdpbjogNzBweCAhaW1wb3J0YW50fQ0KLm0tc20tODAge21hcmdpbjogODBweCAhaW1wb3J0YW50fQ0KLm0tc20tOTAge21hcmdpbjogOTBweCAhaW1wb3J0YW50fQ0KLm0tc20tMTAwIHttYXJnaW46IDEwMHB4ICFpbXBvcnRhbnR9DQoubS1zbS0xMTAge21hcmdpbjogMTEwcHggIWltcG9ydGFudH0NCi5tLXNtLTEyMCB7bWFyZ2luOiAxMjBweCAhaW1wb3J0YW50fQ0KLm0tc20tMTMwIHttYXJnaW46IDEzMHB4ICFpbXBvcnRhbnR9DQoubS1zbS0xNDAge21hcmdpbjogMTQwcHggIWltcG9ydGFudH0NCi5tLXNtLTE1MCB7bWFyZ2luOiAxNTBweCAhaW1wb3J0YW50fQ0KLm0tc20tMTYwIHttYXJnaW46IDE2MHB4ICFpbXBvcnRhbnR9DQoubS1zbS0xNzAge21hcmdpbjogMTcwcHggIWltcG9ydGFudH0NCi5tLXNtLTE4MCB7bWFyZ2luOiAxODBweCAhaW1wb3J0YW50fQ0KLm0tc20tMTkwIHttYXJnaW46IDE5MHB4ICFpbXBvcnRhbnR9DQoubS1zbS0yMDAge21hcmdpbjogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDQuMiAtPiBCYXNpYyBQYWRkaW5nDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wLXNtLTAge3BhZGRpbmc6IDAhaW1wb3J0YW50O30NCi5wLXNtLTUge3BhZGRpbmc6IDVweCAhaW1wb3J0YW50fQ0KLnAtc20tMTAge3BhZGRpbmc6IDEwcHggIWltcG9ydGFudH0NCi5wLXNtLTE1IHtwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnR9DQoucC1zbS0yMCB7cGFkZGluZzogMjBweCAhaW1wb3J0YW50fQ0KLnAtc20tMzAge3BhZGRpbmc6IDMwcHggIWltcG9ydGFudH0NCi5wLXNtLTQwIHtwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnR9DQoucC1zbS01MCB7cGFkZGluZzogNTBweCAhaW1wb3J0YW50fQ0KLnAtc20tNjAge3BhZGRpbmc6IDYwcHggIWltcG9ydGFudH0NCi5wLXNtLTcwIHtwYWRkaW5nOiA3MHB4ICFpbXBvcnRhbnR9DQoucC1zbS04MCB7cGFkZGluZzogODBweCAhaW1wb3J0YW50fQ0KLnAtc20tOTAge3BhZGRpbmc6IDkwcHggIWltcG9ydGFudH0NCi5wLXNtLTEwMCB7cGFkZGluZzogMTAwcHggIWltcG9ydGFudH0NCi5wLXNtLTExMCB7cGFkZGluZzogMTEwcHggIWltcG9ydGFudH0NCi5wLXNtLTEyMCB7cGFkZGluZzogMTIwcHggIWltcG9ydGFudH0NCi5wLXNtLTEzMCB7cGFkZGluZzogMTMwcHggIWltcG9ydGFudH0NCi5wLXNtLTE0MCB7cGFkZGluZzogMTQwcHggIWltcG9ydGFudH0NCi5wLXNtLTE1MCB7cGFkZGluZzogMTUwcHggIWltcG9ydGFudH0NCi5wLXNtLTE2MCB7cGFkZGluZzogMTYwcHggIWltcG9ydGFudH0NCi5wLXNtLTE3MCB7cGFkZGluZzogMTcwcHggIWltcG9ydGFudH0NCi5wLXNtLTE4MCB7cGFkZGluZzogMTgwcHggIWltcG9ydGFudH0NCi5wLXNtLTE5MCB7cGFkZGluZzogMTkwcHggIWltcG9ydGFudH0NCi5wLXNtLTIwMCB7cGFkZGluZzogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDQuMyAtPiBNYXJnaW4gdG9wDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tdC1zbS0wIHttYXJnaW4tdG9wOiAwIWltcG9ydGFudDt9DQoubXQtc20tNSB7bWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnR9DQoubXQtc20tMTAge21hcmdpbi10b3A6IDEwcHggIWltcG9ydGFudH0NCi5tdC1zbS0xNSB7bWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50fQ0KLm10LXNtLTIwIHttYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnR9DQoubXQtc20tMzAge21hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudH0NCi5tdC1zbS00MCB7bWFyZ2luLXRvcDogNDBweCAhaW1wb3J0YW50fQ0KLm10LXNtLTUwIHttYXJnaW4tdG9wOiA1MHB4ICFpbXBvcnRhbnR9DQoubXQtc20tNjAge21hcmdpbi10b3A6IDYwcHggIWltcG9ydGFudH0NCi5tdC1zbS03MCB7bWFyZ2luLXRvcDogNzBweCAhaW1wb3J0YW50fQ0KLm10LXNtLTgwIHttYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnR9DQoubXQtc20tOTAge21hcmdpbi10b3A6IDkwcHggIWltcG9ydGFudH0NCi5tdC1zbS0xMDAge21hcmdpbi10b3A6IDEwMHB4ICFpbXBvcnRhbnR9DQoubXQtc20tMTEwIHttYXJnaW4tdG9wOiAxMTBweCAhaW1wb3J0YW50fQ0KLm10LXNtLTEyMCB7bWFyZ2luLXRvcDogMTIwcHggIWltcG9ydGFudH0NCi5tdC1zbS0xMzAge21hcmdpbi10b3A6IDEzMHB4ICFpbXBvcnRhbnR9DQoubXQtc20tMTQwIHttYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50fQ0KLm10LXNtLTE1MCB7bWFyZ2luLXRvcDogMTUwcHggIWltcG9ydGFudH0NCi5tdC1zbS0xNjAge21hcmdpbi10b3A6IDE2MHB4ICFpbXBvcnRhbnR9DQoubXQtc20tMTcwIHttYXJnaW4tdG9wOiAxNzBweCAhaW1wb3J0YW50fQ0KLm10LXNtLTE4MCB7bWFyZ2luLXRvcDogMTgwcHggIWltcG9ydGFudH0NCi5tdC1zbS0xOTAge21hcmdpbi10b3A6IDE5MHB4ICFpbXBvcnRhbnR9DQoubXQtc20tMjAwIHttYXJnaW4tdG9wOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNC40IC0+IE1hcmdpbiByaWdodA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubXItc20tMCB7bWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDt9DQoubXItc20tNSB7bWFyZ2luLXJpZ2h0OiA1cHggIWltcG9ydGFudH0NCi5tci1zbS0xMCB7bWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTUge21hcmdpbi1yaWdodDogMTVweCAhaW1wb3J0YW50fQ0KLm1yLXNtLTIwIHttYXJnaW4tcmlnaHQ6IDIwcHggIWltcG9ydGFudH0NCi5tci1zbS0zMCB7bWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnR9DQoubXItc20tNDAge21hcmdpbi1yaWdodDogNDBweCAhaW1wb3J0YW50fQ0KLm1yLXNtLTUwIHttYXJnaW4tcmlnaHQ6IDUwcHggIWltcG9ydGFudH0NCi5tci1zbS02MCB7bWFyZ2luLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnR9DQoubXItc20tNzAge21hcmdpbi1yaWdodDogNzBweCAhaW1wb3J0YW50fQ0KLm1yLXNtLTgwIHttYXJnaW4tcmlnaHQ6IDgwcHggIWltcG9ydGFudH0NCi5tci1zbS05MCB7bWFyZ2luLXJpZ2h0OiA5MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTAwIHttYXJnaW4tcmlnaHQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTEwIHttYXJnaW4tcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTIwIHttYXJnaW4tcmlnaHQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTMwIHttYXJnaW4tcmlnaHQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTQwIHttYXJnaW4tcmlnaHQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTUwIHttYXJnaW4tcmlnaHQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTYwIHttYXJnaW4tcmlnaHQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTcwIHttYXJnaW4tcmlnaHQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTgwIHttYXJnaW4tcmlnaHQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMTkwIHttYXJnaW4tcmlnaHQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoubXItc20tMjAwIHttYXJnaW4tcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA0LjUgLT4gTWFyZ2luIGJvdHRvbQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubWItc20tMCB7bWFyZ2luLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLm1iLXNtLTUge21hcmdpbi1ib3R0b206IDVweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTEwIHttYXJnaW4tYm90dG9tOiAxMHB4ICFpbXBvcnRhbnR9DQoubWItc20tMTUge21hcmdpbi1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5tYi1zbS0yMCB7bWFyZ2luLWJvdHRvbTogMjBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTMwIHttYXJnaW4tYm90dG9tOiAzMHB4ICFpbXBvcnRhbnR9DQoubWItc20tNDAge21hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5tYi1zbS01MCB7bWFyZ2luLWJvdHRvbTogNTBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTYwIHttYXJnaW4tYm90dG9tOiA2MHB4ICFpbXBvcnRhbnR9DQoubWItc20tNzAge21hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5tYi1zbS04MCB7bWFyZ2luLWJvdHRvbTogODBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTkwIHttYXJnaW4tYm90dG9tOiA5MHB4ICFpbXBvcnRhbnR9DQoubWItc20tMTAwIHttYXJnaW4tYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTExMCB7bWFyZ2luLWJvdHRvbTogMTEwcHggIWltcG9ydGFudH0NCi5tYi1zbS0xMjAge21hcmdpbi1ib3R0b206IDEyMHB4ICFpbXBvcnRhbnR9DQoubWItc20tMTMwIHttYXJnaW4tYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTE0MCB7bWFyZ2luLWJvdHRvbTogMTQwcHggIWltcG9ydGFudH0NCi5tYi1zbS0xNTAge21hcmdpbi1ib3R0b206IDE1MHB4ICFpbXBvcnRhbnR9DQoubWItc20tMTYwIHttYXJnaW4tYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTE3MCB7bWFyZ2luLWJvdHRvbTogMTcwcHggIWltcG9ydGFudH0NCi5tYi1zbS0xODAge21hcmdpbi1ib3R0b206IDE4MHB4ICFpbXBvcnRhbnR9DQoubWItc20tMTkwIHttYXJnaW4tYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLm1iLXNtLTIwMCB7bWFyZ2luLWJvdHRvbTogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDQuNiAtPiBNYXJnaW4gbGVmdA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubWwtc20tMCB7bWFyZ2luLWxlZnQ6IDAhaW1wb3J0YW50O30NCi5tbC1zbS01IHttYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTAge21hcmdpbi1sZWZ0OiAxMHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTUge21hcmdpbi1sZWZ0OiAxNXB4ICFpbXBvcnRhbnR9DQoubWwtc20tMjAge21hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMzAge21hcmdpbi1sZWZ0OiAzMHB4ICFpbXBvcnRhbnR9DQoubWwtc20tNDAge21hcmdpbi1sZWZ0OiA0MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tNTAge21hcmdpbi1sZWZ0OiA1MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tNjAge21hcmdpbi1sZWZ0OiA2MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tNzAge21hcmdpbi1sZWZ0OiA3MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tODAge21hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tOTAge21hcmdpbi1sZWZ0OiA5MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTAwIHttYXJnaW4tbGVmdDogMTAwcHggIWltcG9ydGFudH0NCi5tbC1zbS0xMTAge21hcmdpbi1sZWZ0OiAxMTBweCAhaW1wb3J0YW50fQ0KLm1sLXNtLTEyMCB7bWFyZ2luLWxlZnQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTMwIHttYXJnaW4tbGVmdDogMTMwcHggIWltcG9ydGFudH0NCi5tbC1zbS0xNDAge21hcmdpbi1sZWZ0OiAxNDBweCAhaW1wb3J0YW50fQ0KLm1sLXNtLTE1MCB7bWFyZ2luLWxlZnQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTYwIHttYXJnaW4tbGVmdDogMTYwcHggIWltcG9ydGFudH0NCi5tbC1zbS0xNzAge21hcmdpbi1sZWZ0OiAxNzBweCAhaW1wb3J0YW50fQ0KLm1sLXNtLTE4MCB7bWFyZ2luLWxlZnQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoubWwtc20tMTkwIHttYXJnaW4tbGVmdDogMTkwcHggIWltcG9ydGFudH0NCi5tbC1zbS0yMDAge21hcmdpbi1sZWZ0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNC43IC0+IFBhZGRpbmcgdG9wDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wdC1zbS0wIHtwYWRkaW5nLXRvcDogMCFpbXBvcnRhbnQ7fQ0KLnB0LXNtLTUge3BhZGRpbmctdG9wOiA1cHggIWltcG9ydGFudH0NCi5wdC1zbS0xMCB7cGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudH0NCi5wdC1zbS0xNSB7cGFkZGluZy10b3A6IDE1cHggIWltcG9ydGFudH0NCi5wdC1zbS0yMCB7cGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudH0NCi5wdC1zbS0zMCB7cGFkZGluZy10b3A6IDMwcHggIWltcG9ydGFudH0NCi5wdC1zbS00MCB7cGFkZGluZy10b3A6IDQwcHggIWltcG9ydGFudH0NCi5wdC1zbS01MCB7cGFkZGluZy10b3A6IDUwcHggIWltcG9ydGFudH0NCi5wdC1zbS02MCB7cGFkZGluZy10b3A6IDYwcHggIWltcG9ydGFudH0NCi5wdC1zbS03MCB7cGFkZGluZy10b3A6IDcwcHggIWltcG9ydGFudH0NCi5wdC1zbS04MCB7cGFkZGluZy10b3A6IDgwcHggIWltcG9ydGFudH0NCi5wdC1zbS05MCB7cGFkZGluZy10b3A6IDkwcHggIWltcG9ydGFudH0NCi5wdC1zbS0xMDAge3BhZGRpbmctdG9wOiAxMDBweCAhaW1wb3J0YW50fQ0KLnB0LXNtLTExMCB7cGFkZGluZy10b3A6IDExMHB4ICFpbXBvcnRhbnR9DQoucHQtc20tMTIwIHtwYWRkaW5nLXRvcDogMTIwcHggIWltcG9ydGFudH0NCi5wdC1zbS0xMzAge3BhZGRpbmctdG9wOiAxMzBweCAhaW1wb3J0YW50fQ0KLnB0LXNtLTE0MCB7cGFkZGluZy10b3A6IDE0MHB4ICFpbXBvcnRhbnR9DQoucHQtc20tMTUwIHtwYWRkaW5nLXRvcDogMTUwcHggIWltcG9ydGFudH0NCi5wdC1zbS0xNjAge3BhZGRpbmctdG9wOiAxNjBweCAhaW1wb3J0YW50fQ0KLnB0LXNtLTE3MCB7cGFkZGluZy10b3A6IDE3MHB4ICFpbXBvcnRhbnR9DQoucHQtc20tMTgwIHtwYWRkaW5nLXRvcDogMTgwcHggIWltcG9ydGFudH0NCi5wdC1zbS0xOTAge3BhZGRpbmctdG9wOiAxOTBweCAhaW1wb3J0YW50fQ0KLnB0LXNtLTIwMCB7cGFkZGluZy10b3A6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA0LjggLT4gUGFkZGluZyByaWdodA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucHItc20tMCB7cGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7fQ0KLnByLXNtLTUge3BhZGRpbmctcmlnaHQ6IDVweCAhaW1wb3J0YW50fQ0KLnByLXNtLTEwIHtwYWRkaW5nLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnR9DQoucHItc20tMTUge3BhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudH0NCi5wci1zbS0yMCB7cGFkZGluZy1yaWdodDogMjBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTMwIHtwYWRkaW5nLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnR9DQoucHItc20tNDAge3BhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudH0NCi5wci1zbS01MCB7cGFkZGluZy1yaWdodDogNTBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTYwIHtwYWRkaW5nLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnR9DQoucHItc20tNzAge3BhZGRpbmctcmlnaHQ6IDcwcHggIWltcG9ydGFudH0NCi5wci1zbS04MCB7cGFkZGluZy1yaWdodDogODBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTkwIHtwYWRkaW5nLXJpZ2h0OiA5MHB4ICFpbXBvcnRhbnR9DQoucHItc20tMTAwIHtwYWRkaW5nLXJpZ2h0OiAxMDBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTExMCB7cGFkZGluZy1yaWdodDogMTEwcHggIWltcG9ydGFudH0NCi5wci1zbS0xMjAge3BhZGRpbmctcmlnaHQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoucHItc20tMTMwIHtwYWRkaW5nLXJpZ2h0OiAxMzBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTE0MCB7cGFkZGluZy1yaWdodDogMTQwcHggIWltcG9ydGFudH0NCi5wci1zbS0xNTAge3BhZGRpbmctcmlnaHQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoucHItc20tMTYwIHtwYWRkaW5nLXJpZ2h0OiAxNjBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTE3MCB7cGFkZGluZy1yaWdodDogMTcwcHggIWltcG9ydGFudH0NCi5wci1zbS0xODAge3BhZGRpbmctcmlnaHQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoucHItc20tMTkwIHtwYWRkaW5nLXJpZ2h0OiAxOTBweCAhaW1wb3J0YW50fQ0KLnByLXNtLTIwMCB7cGFkZGluZy1yaWdodDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDQuOSAtPiBQYWRkaW5nIGJvdHRvbQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucGItc20tMCB7cGFkZGluZy1ib3R0b206IDAhaW1wb3J0YW50O30NCi5wYi1zbS01IHtwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnR9DQoucGItc20tMTAge3BhZGRpbmctYm90dG9tOiAxMHB4ICFpbXBvcnRhbnR9DQoucGItc20tMTUge3BhZGRpbmctYm90dG9tOiAxNXB4ICFpbXBvcnRhbnR9DQoucGItc20tMjAge3BhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnR9DQoucGItc20tMzAge3BhZGRpbmctYm90dG9tOiAzMHB4ICFpbXBvcnRhbnR9DQoucGItc20tNDAge3BhZGRpbmctYm90dG9tOiA0MHB4ICFpbXBvcnRhbnR9DQoucGItc20tNTAge3BhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnR9DQoucGItc20tNjAge3BhZGRpbmctYm90dG9tOiA2MHB4ICFpbXBvcnRhbnR9DQoucGItc20tNzAge3BhZGRpbmctYm90dG9tOiA3MHB4ICFpbXBvcnRhbnR9DQoucGItc20tODAge3BhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnR9DQoucGItc20tOTAge3BhZGRpbmctYm90dG9tOiA5MHB4ICFpbXBvcnRhbnR9DQoucGItc20tMTAwIHtwYWRkaW5nLWJvdHRvbTogMTAwcHggIWltcG9ydGFudH0NCi5wYi1zbS0xMTAge3BhZGRpbmctYm90dG9tOiAxMTBweCAhaW1wb3J0YW50fQ0KLnBiLXNtLTEyMCB7cGFkZGluZy1ib3R0b206IDEyMHB4ICFpbXBvcnRhbnR9DQoucGItc20tMTMwIHtwYWRkaW5nLWJvdHRvbTogMTMwcHggIWltcG9ydGFudH0NCi5wYi1zbS0xNDAge3BhZGRpbmctYm90dG9tOiAxNDBweCAhaW1wb3J0YW50fQ0KLnBiLXNtLTE1MCB7cGFkZGluZy1ib3R0b206IDE1MHB4ICFpbXBvcnRhbnR9DQoucGItc20tMTYwIHtwYWRkaW5nLWJvdHRvbTogMTYwcHggIWltcG9ydGFudH0NCi5wYi1zbS0xNzAge3BhZGRpbmctYm90dG9tOiAxNzBweCAhaW1wb3J0YW50fQ0KLnBiLXNtLTE4MCB7cGFkZGluZy1ib3R0b206IDE4MHB4ICFpbXBvcnRhbnR9DQoucGItc20tMTkwIHtwYWRkaW5nLWJvdHRvbTogMTkwcHggIWltcG9ydGFudH0NCi5wYi1zbS0yMDAge3BhZGRpbmctYm90dG9tOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNC4xMCAtPiBQYWRkaW5nIGxlZnQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnBsLXNtLTAge3BhZGRpbmctbGVmdDogMCFpbXBvcnRhbnQ7fQ0KLnBsLXNtLTUge3BhZGRpbmctbGVmdDogNXB4ICFpbXBvcnRhbnR9DQoucGwtc20tMTAge3BhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE1IHtwYWRkaW5nLWxlZnQ6IDE1cHggIWltcG9ydGFudH0NCi5wbC1zbS0yMCB7cGFkZGluZy1sZWZ0OiAyMHB4ICFpbXBvcnRhbnR9DQoucGwtc20tMzAge3BhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTQwIHtwYWRkaW5nLWxlZnQ6IDQwcHggIWltcG9ydGFudH0NCi5wbC1zbS01MCB7cGFkZGluZy1sZWZ0OiA1MHB4ICFpbXBvcnRhbnR9DQoucGwtc20tNjAge3BhZGRpbmctbGVmdDogNjBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTcwIHtwYWRkaW5nLWxlZnQ6IDcwcHggIWltcG9ydGFudH0NCi5wbC1zbS04MCB7cGFkZGluZy1sZWZ0OiA4MHB4ICFpbXBvcnRhbnR9DQoucGwtc20tOTAge3BhZGRpbmctbGVmdDogOTBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTEwMCB7cGFkZGluZy1sZWZ0OiAxMDBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTExMCB7cGFkZGluZy1sZWZ0OiAxMTBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTEyMCB7cGFkZGluZy1sZWZ0OiAxMjBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTEzMCB7cGFkZGluZy1sZWZ0OiAxMzBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE0MCB7cGFkZGluZy1sZWZ0OiAxNDBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE1MCB7cGFkZGluZy1sZWZ0OiAxNTBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE2MCB7cGFkZGluZy1sZWZ0OiAxNjBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE3MCB7cGFkZGluZy1sZWZ0OiAxNzBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE4MCB7cGFkZGluZy1sZWZ0OiAxODBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTE5MCB7cGFkZGluZy1sZWZ0OiAxOTBweCAhaW1wb3J0YW50fQ0KLnBsLXNtLTIwMCB7cGFkZGluZy1sZWZ0OiAyMDBweCAhaW1wb3J0YW50fQ0KfQ0KDQovKg0KICogNSAtPiB4czogbWF4LXdpZHRoIDc2N3B4DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCkBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KSB7DQovKg0KICogNS4xIC0+IEJhc2ljIE1hcmdpbg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubS14cy0wIHttYXJnaW46IDBweCAhaW1wb3J0YW50fQ0KLm0teHMtNSB7bWFyZ2luOiA1cHggIWltcG9ydGFudH0NCi5tLXhzLTEwIHttYXJnaW46IDEwcHggIWltcG9ydGFudH0NCi5tLXhzLTE1IHttYXJnaW46IDE1cHggIWltcG9ydGFudH0NCi5tLXhzLTIwIHttYXJnaW46IDIwcHggIWltcG9ydGFudH0NCi5tLXhzLTMwIHttYXJnaW46IDMwcHggIWltcG9ydGFudH0NCi5tLXhzLTQwIHttYXJnaW46IDQwcHggIWltcG9ydGFudH0NCi5tLXhzLTUwIHttYXJnaW46IDUwcHggIWltcG9ydGFudH0NCi5tLXhzLTYwIHttYXJnaW46IDYwcHggIWltcG9ydGFudH0NCi5tLXhzLTcwIHttYXJnaW46IDcwcHggIWltcG9ydGFudH0NCi5tLXhzLTgwIHttYXJnaW46IDgwcHggIWltcG9ydGFudH0NCi5tLXhzLTkwIHttYXJnaW46IDkwcHggIWltcG9ydGFudH0NCi5tLXhzLTEwMCB7bWFyZ2luOiAxMDBweCAhaW1wb3J0YW50fQ0KLm0teHMtMTEwIHttYXJnaW46IDExMHB4ICFpbXBvcnRhbnR9DQoubS14cy0xMjAge21hcmdpbjogMTIwcHggIWltcG9ydGFudH0NCi5tLXhzLTEzMCB7bWFyZ2luOiAxMzBweCAhaW1wb3J0YW50fQ0KLm0teHMtMTQwIHttYXJnaW46IDE0MHB4ICFpbXBvcnRhbnR9DQoubS14cy0xNTAge21hcmdpbjogMTUwcHggIWltcG9ydGFudH0NCi5tLXhzLTE2MCB7bWFyZ2luOiAxNjBweCAhaW1wb3J0YW50fQ0KLm0teHMtMTcwIHttYXJnaW46IDE3MHB4ICFpbXBvcnRhbnR9DQoubS14cy0xODAge21hcmdpbjogMTgwcHggIWltcG9ydGFudH0NCi5tLXhzLTE5MCB7bWFyZ2luOiAxOTBweCAhaW1wb3J0YW50fQ0KLm0teHMtMjAwIHttYXJnaW46IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA1LjIgLT4gQmFzaWMgUGFkZGluZw0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucC14cy0wIHtwYWRkaW5nOiAwIWltcG9ydGFudDt9DQoucC14cy01IHtwYWRkaW5nOiA1cHggIWltcG9ydGFudH0NCi5wLXhzLTEwIHtwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnR9DQoucC14cy0xNSB7cGFkZGluZzogMTVweCAhaW1wb3J0YW50fQ0KLnAteHMtMjAge3BhZGRpbmc6IDIwcHggIWltcG9ydGFudH0NCi5wLXhzLTMwIHtwYWRkaW5nOiAzMHB4ICFpbXBvcnRhbnR9DQoucC14cy00MCB7cGFkZGluZzogNDBweCAhaW1wb3J0YW50fQ0KLnAteHMtNTAge3BhZGRpbmc6IDUwcHggIWltcG9ydGFudH0NCi5wLXhzLTYwIHtwYWRkaW5nOiA2MHB4ICFpbXBvcnRhbnR9DQoucC14cy03MCB7cGFkZGluZzogNzBweCAhaW1wb3J0YW50fQ0KLnAteHMtODAge3BhZGRpbmc6IDgwcHggIWltcG9ydGFudH0NCi5wLXhzLTkwIHtwYWRkaW5nOiA5MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xMDAge3BhZGRpbmc6IDEwMHB4ICFpbXBvcnRhbnR9DQoucC14cy0xMTAge3BhZGRpbmc6IDExMHB4ICFpbXBvcnRhbnR9DQoucC14cy0xMjAge3BhZGRpbmc6IDEyMHB4ICFpbXBvcnRhbnR9DQoucC14cy0xMzAge3BhZGRpbmc6IDEzMHB4ICFpbXBvcnRhbnR9DQoucC14cy0xNDAge3BhZGRpbmc6IDE0MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xNTAge3BhZGRpbmc6IDE1MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xNjAge3BhZGRpbmc6IDE2MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xNzAge3BhZGRpbmc6IDE3MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xODAge3BhZGRpbmc6IDE4MHB4ICFpbXBvcnRhbnR9DQoucC14cy0xOTAge3BhZGRpbmc6IDE5MHB4ICFpbXBvcnRhbnR9DQoucC14cy0yMDAge3BhZGRpbmc6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA1LjMgLT4gTWFyZ2luIHRvcA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubXQteHMtMCB7bWFyZ2luLXRvcDogMCFpbXBvcnRhbnQ7fQ0KLm10LXhzLTUge21hcmdpbi10b3A6IDVweCAhaW1wb3J0YW50fQ0KLm10LXhzLTEwIHttYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnR9DQoubXQteHMtMTUge21hcmdpbi10b3A6IDE1cHggIWltcG9ydGFudH0NCi5tdC14cy0yMCB7bWFyZ2luLXRvcDogMjBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTMwIHttYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnR9DQoubXQteHMtNDAge21hcmdpbi10b3A6IDQwcHggIWltcG9ydGFudH0NCi5tdC14cy01MCB7bWFyZ2luLXRvcDogNTBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTYwIHttYXJnaW4tdG9wOiA2MHB4ICFpbXBvcnRhbnR9DQoubXQteHMtNzAge21hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudH0NCi5tdC14cy04MCB7bWFyZ2luLXRvcDogODBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTkwIHttYXJnaW4tdG9wOiA5MHB4ICFpbXBvcnRhbnR9DQoubXQteHMtMTAwIHttYXJnaW4tdG9wOiAxMDBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTExMCB7bWFyZ2luLXRvcDogMTEwcHggIWltcG9ydGFudH0NCi5tdC14cy0xMjAge21hcmdpbi10b3A6IDEyMHB4ICFpbXBvcnRhbnR9DQoubXQteHMtMTMwIHttYXJnaW4tdG9wOiAxMzBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTE0MCB7bWFyZ2luLXRvcDogMTQwcHggIWltcG9ydGFudH0NCi5tdC14cy0xNTAge21hcmdpbi10b3A6IDE1MHB4ICFpbXBvcnRhbnR9DQoubXQteHMtMTYwIHttYXJnaW4tdG9wOiAxNjBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTE3MCB7bWFyZ2luLXRvcDogMTcwcHggIWltcG9ydGFudH0NCi5tdC14cy0xODAge21hcmdpbi10b3A6IDE4MHB4ICFpbXBvcnRhbnR9DQoubXQteHMtMTkwIHttYXJnaW4tdG9wOiAxOTBweCAhaW1wb3J0YW50fQ0KLm10LXhzLTIwMCB7bWFyZ2luLXRvcDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDUuNCAtPiBNYXJnaW4gcmlnaHQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm1yLXhzLTAge21hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7fQ0KLm1yLXhzLTUge21hcmdpbi1yaWdodDogNXB4ICFpbXBvcnRhbnR9DQoubXIteHMtMTAge21hcmdpbi1yaWdodDogMTBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE1IHttYXJnaW4tcmlnaHQ6IDE1cHggIWltcG9ydGFudH0NCi5tci14cy0yMCB7bWFyZ2luLXJpZ2h0OiAyMHB4ICFpbXBvcnRhbnR9DQoubXIteHMtMzAge21hcmdpbi1yaWdodDogMzBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTQwIHttYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudH0NCi5tci14cy01MCB7bWFyZ2luLXJpZ2h0OiA1MHB4ICFpbXBvcnRhbnR9DQoubXIteHMtNjAge21hcmdpbi1yaWdodDogNjBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTcwIHttYXJnaW4tcmlnaHQ6IDcwcHggIWltcG9ydGFudH0NCi5tci14cy04MCB7bWFyZ2luLXJpZ2h0OiA4MHB4ICFpbXBvcnRhbnR9DQoubXIteHMtOTAge21hcmdpbi1yaWdodDogOTBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTEwMCB7bWFyZ2luLXJpZ2h0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTExMCB7bWFyZ2luLXJpZ2h0OiAxMTBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTEyMCB7bWFyZ2luLXJpZ2h0OiAxMjBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTEzMCB7bWFyZ2luLXJpZ2h0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE0MCB7bWFyZ2luLXJpZ2h0OiAxNDBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE1MCB7bWFyZ2luLXJpZ2h0OiAxNTBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE2MCB7bWFyZ2luLXJpZ2h0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE3MCB7bWFyZ2luLXJpZ2h0OiAxNzBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE4MCB7bWFyZ2luLXJpZ2h0OiAxODBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTE5MCB7bWFyZ2luLXJpZ2h0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1yLXhzLTIwMCB7bWFyZ2luLXJpZ2h0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNS41IC0+IE1hcmdpbiBib3R0b20NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm1iLXhzLTAge21hcmdpbi1ib3R0b206IDAhaW1wb3J0YW50O30NCi5tYi14cy01IHttYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudH0NCi5tYi14cy0xMCB7bWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTE1IHttYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnR9DQoubWIteHMtMjAge21hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudH0NCi5tYi14cy0zMCB7bWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTQwIHttYXJnaW4tYm90dG9tOiA0MHB4ICFpbXBvcnRhbnR9DQoubWIteHMtNTAge21hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudH0NCi5tYi14cy02MCB7bWFyZ2luLWJvdHRvbTogNjBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTcwIHttYXJnaW4tYm90dG9tOiA3MHB4ICFpbXBvcnRhbnR9DQoubWIteHMtODAge21hcmdpbi1ib3R0b206IDgwcHggIWltcG9ydGFudH0NCi5tYi14cy05MCB7bWFyZ2luLWJvdHRvbTogOTBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTEwMCB7bWFyZ2luLWJvdHRvbTogMTAwcHggIWltcG9ydGFudH0NCi5tYi14cy0xMTAge21hcmdpbi1ib3R0b206IDExMHB4ICFpbXBvcnRhbnR9DQoubWIteHMtMTIwIHttYXJnaW4tYm90dG9tOiAxMjBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTEzMCB7bWFyZ2luLWJvdHRvbTogMTMwcHggIWltcG9ydGFudH0NCi5tYi14cy0xNDAge21hcmdpbi1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnR9DQoubWIteHMtMTUwIHttYXJnaW4tYm90dG9tOiAxNTBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTE2MCB7bWFyZ2luLWJvdHRvbTogMTYwcHggIWltcG9ydGFudH0NCi5tYi14cy0xNzAge21hcmdpbi1ib3R0b206IDE3MHB4ICFpbXBvcnRhbnR9DQoubWIteHMtMTgwIHttYXJnaW4tYm90dG9tOiAxODBweCAhaW1wb3J0YW50fQ0KLm1iLXhzLTE5MCB7bWFyZ2luLWJvdHRvbTogMTkwcHggIWltcG9ydGFudH0NCi5tYi14cy0yMDAge21hcmdpbi1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA1LjYgLT4gTWFyZ2luIGxlZnQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm1sLXhzLTAge21hcmdpbi1sZWZ0OiAwIWltcG9ydGFudDt9DQoubWwteHMtNSB7bWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTEwIHttYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTE1IHttYXJnaW4tbGVmdDogMTVweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTIwIHttYXJnaW4tbGVmdDogMjBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTMwIHttYXJnaW4tbGVmdDogMzBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTQwIHttYXJnaW4tbGVmdDogNDBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTUwIHttYXJnaW4tbGVmdDogNTBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTYwIHttYXJnaW4tbGVmdDogNjBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTcwIHttYXJnaW4tbGVmdDogNzBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTgwIHttYXJnaW4tbGVmdDogODBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTkwIHttYXJnaW4tbGVmdDogOTBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTEwMCB7bWFyZ2luLWxlZnQ6IDEwMHB4ICFpbXBvcnRhbnR9DQoubWwteHMtMTEwIHttYXJnaW4tbGVmdDogMTEwcHggIWltcG9ydGFudH0NCi5tbC14cy0xMjAge21hcmdpbi1sZWZ0OiAxMjBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTEzMCB7bWFyZ2luLWxlZnQ6IDEzMHB4ICFpbXBvcnRhbnR9DQoubWwteHMtMTQwIHttYXJnaW4tbGVmdDogMTQwcHggIWltcG9ydGFudH0NCi5tbC14cy0xNTAge21hcmdpbi1sZWZ0OiAxNTBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTE2MCB7bWFyZ2luLWxlZnQ6IDE2MHB4ICFpbXBvcnRhbnR9DQoubWwteHMtMTcwIHttYXJnaW4tbGVmdDogMTcwcHggIWltcG9ydGFudH0NCi5tbC14cy0xODAge21hcmdpbi1sZWZ0OiAxODBweCAhaW1wb3J0YW50fQ0KLm1sLXhzLTE5MCB7bWFyZ2luLWxlZnQ6IDE5MHB4ICFpbXBvcnRhbnR9DQoubWwteHMtMjAwIHttYXJnaW4tbGVmdDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDUuNyAtPiBQYWRkaW5nIHRvcA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoucHQteHMtMCB7cGFkZGluZy10b3A6IDAhaW1wb3J0YW50O30NCi5wdC14cy01IHtwYWRkaW5nLXRvcDogNXB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTAge3BhZGRpbmctdG9wOiAxMHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTUge3BhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoucHQteHMtMjAge3BhZGRpbmctdG9wOiAyMHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMzAge3BhZGRpbmctdG9wOiAzMHB4ICFpbXBvcnRhbnR9DQoucHQteHMtNDAge3BhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtNTAge3BhZGRpbmctdG9wOiA1MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtNjAge3BhZGRpbmctdG9wOiA2MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtNzAge3BhZGRpbmctdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtODAge3BhZGRpbmctdG9wOiA4MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtOTAge3BhZGRpbmctdG9wOiA5MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTAwIHtwYWRkaW5nLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5wdC14cy0xMTAge3BhZGRpbmctdG9wOiAxMTBweCAhaW1wb3J0YW50fQ0KLnB0LXhzLTEyMCB7cGFkZGluZy10b3A6IDEyMHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTMwIHtwYWRkaW5nLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5wdC14cy0xNDAge3BhZGRpbmctdG9wOiAxNDBweCAhaW1wb3J0YW50fQ0KLnB0LXhzLTE1MCB7cGFkZGluZy10b3A6IDE1MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTYwIHtwYWRkaW5nLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5wdC14cy0xNzAge3BhZGRpbmctdG9wOiAxNzBweCAhaW1wb3J0YW50fQ0KLnB0LXhzLTE4MCB7cGFkZGluZy10b3A6IDE4MHB4ICFpbXBvcnRhbnR9DQoucHQteHMtMTkwIHtwYWRkaW5nLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5wdC14cy0yMDAge3BhZGRpbmctdG9wOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNS44IC0+IFBhZGRpbmcgcmlnaHQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnByLXhzLTAge3BhZGRpbmctcmlnaHQ6IDAhaW1wb3J0YW50O30NCi5wci14cy01IHtwYWRkaW5nLXJpZ2h0OiA1cHggIWltcG9ydGFudH0NCi5wci14cy0xMCB7cGFkZGluZy1yaWdodDogMTBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTE1IHtwYWRkaW5nLXJpZ2h0OiAxNXB4ICFpbXBvcnRhbnR9DQoucHIteHMtMjAge3BhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudH0NCi5wci14cy0zMCB7cGFkZGluZy1yaWdodDogMzBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTQwIHtwYWRkaW5nLXJpZ2h0OiA0MHB4ICFpbXBvcnRhbnR9DQoucHIteHMtNTAge3BhZGRpbmctcmlnaHQ6IDUwcHggIWltcG9ydGFudH0NCi5wci14cy02MCB7cGFkZGluZy1yaWdodDogNjBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTcwIHtwYWRkaW5nLXJpZ2h0OiA3MHB4ICFpbXBvcnRhbnR9DQoucHIteHMtODAge3BhZGRpbmctcmlnaHQ6IDgwcHggIWltcG9ydGFudH0NCi5wci14cy05MCB7cGFkZGluZy1yaWdodDogOTBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTEwMCB7cGFkZGluZy1yaWdodDogMTAwcHggIWltcG9ydGFudH0NCi5wci14cy0xMTAge3BhZGRpbmctcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucHIteHMtMTIwIHtwYWRkaW5nLXJpZ2h0OiAxMjBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTEzMCB7cGFkZGluZy1yaWdodDogMTMwcHggIWltcG9ydGFudH0NCi5wci14cy0xNDAge3BhZGRpbmctcmlnaHQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucHIteHMtMTUwIHtwYWRkaW5nLXJpZ2h0OiAxNTBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTE2MCB7cGFkZGluZy1yaWdodDogMTYwcHggIWltcG9ydGFudH0NCi5wci14cy0xNzAge3BhZGRpbmctcmlnaHQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucHIteHMtMTgwIHtwYWRkaW5nLXJpZ2h0OiAxODBweCAhaW1wb3J0YW50fQ0KLnByLXhzLTE5MCB7cGFkZGluZy1yaWdodDogMTkwcHggIWltcG9ydGFudH0NCi5wci14cy0yMDAge3BhZGRpbmctcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA1LjkgLT4gUGFkZGluZyBib3R0b20NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnBiLXhzLTAge3BhZGRpbmctYm90dG9tOiAwIWltcG9ydGFudDt9DQoucGIteHMtNSB7cGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTEwIHtwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTE1IHtwYWRkaW5nLWJvdHRvbTogMTVweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTIwIHtwYWRkaW5nLWJvdHRvbTogMjBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTMwIHtwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTQwIHtwYWRkaW5nLWJvdHRvbTogNDBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTUwIHtwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTYwIHtwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTcwIHtwYWRkaW5nLWJvdHRvbTogNzBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTgwIHtwYWRkaW5nLWJvdHRvbTogODBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTkwIHtwYWRkaW5nLWJvdHRvbTogOTBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTEwMCB7cGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnR9DQoucGIteHMtMTEwIHtwYWRkaW5nLWJvdHRvbTogMTEwcHggIWltcG9ydGFudH0NCi5wYi14cy0xMjAge3BhZGRpbmctYm90dG9tOiAxMjBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTEzMCB7cGFkZGluZy1ib3R0b206IDEzMHB4ICFpbXBvcnRhbnR9DQoucGIteHMtMTQwIHtwYWRkaW5nLWJvdHRvbTogMTQwcHggIWltcG9ydGFudH0NCi5wYi14cy0xNTAge3BhZGRpbmctYm90dG9tOiAxNTBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTE2MCB7cGFkZGluZy1ib3R0b206IDE2MHB4ICFpbXBvcnRhbnR9DQoucGIteHMtMTcwIHtwYWRkaW5nLWJvdHRvbTogMTcwcHggIWltcG9ydGFudH0NCi5wYi14cy0xODAge3BhZGRpbmctYm90dG9tOiAxODBweCAhaW1wb3J0YW50fQ0KLnBiLXhzLTE5MCB7cGFkZGluZy1ib3R0b206IDE5MHB4ICFpbXBvcnRhbnR9DQoucGIteHMtMjAwIHtwYWRkaW5nLWJvdHRvbTogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDUuMTAgLT4gUGFkZGluZyBsZWZ0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wbC14cy0wIHtwYWRkaW5nLWxlZnQ6IDAhaW1wb3J0YW50O30NCi5wbC14cy01IHtwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50fQ0KLnBsLXhzLTEwIHtwYWRkaW5nLWxlZnQ6IDEwcHggIWltcG9ydGFudH0NCi5wbC14cy0xNSB7cGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnR9DQoucGwteHMtMjAge3BhZGRpbmctbGVmdDogMjBweCAhaW1wb3J0YW50fQ0KLnBsLXhzLTMwIHtwYWRkaW5nLWxlZnQ6IDMwcHggIWltcG9ydGFudH0NCi5wbC14cy00MCB7cGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnR9DQoucGwteHMtNTAge3BhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50fQ0KLnBsLXhzLTYwIHtwYWRkaW5nLWxlZnQ6IDYwcHggIWltcG9ydGFudH0NCi5wbC14cy03MCB7cGFkZGluZy1sZWZ0OiA3MHB4ICFpbXBvcnRhbnR9DQoucGwteHMtODAge3BhZGRpbmctbGVmdDogODBweCAhaW1wb3J0YW50fQ0KLnBsLXhzLTkwIHtwYWRkaW5nLWxlZnQ6IDkwcHggIWltcG9ydGFudH0NCi5wbC14cy0xMDAge3BhZGRpbmctbGVmdDogMTAwcHggIWltcG9ydGFudH0NCi5wbC14cy0xMTAge3BhZGRpbmctbGVmdDogMTEwcHggIWltcG9ydGFudH0NCi5wbC14cy0xMjAge3BhZGRpbmctbGVmdDogMTIwcHggIWltcG9ydGFudH0NCi5wbC14cy0xMzAge3BhZGRpbmctbGVmdDogMTMwcHggIWltcG9ydGFudH0NCi5wbC14cy0xNDAge3BhZGRpbmctbGVmdDogMTQwcHggIWltcG9ydGFudH0NCi5wbC14cy0xNTAge3BhZGRpbmctbGVmdDogMTUwcHggIWltcG9ydGFudH0NCi5wbC14cy0xNjAge3BhZGRpbmctbGVmdDogMTYwcHggIWltcG9ydGFudH0NCi5wbC14cy0xNzAge3BhZGRpbmctbGVmdDogMTcwcHggIWltcG9ydGFudH0NCi5wbC14cy0xODAge3BhZGRpbmctbGVmdDogMTgwcHggIWltcG9ydGFudH0NCi5wbC14cy0xOTAge3BhZGRpbmctbGVmdDogMTkwcHggIWltcG9ydGFudH0NCi5wbC14cy0yMDAge3BhZGRpbmctbGVmdDogMjAwcHggIWltcG9ydGFudH0NCn0NCg0KLyoNCiAqIDYgLT4geHhzOiBtYXgtd2lkdGggNDc5cHgNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KQG1lZGlhIChtYXgtd2lkdGg6NDc5cHgpIHsNCi8qDQogKiA2LjEgLT4gQmFzaWMgTWFyZ2luDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tLXh4cy0wIHttYXJnaW46IDBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTUge21hcmdpbjogNXB4ICFpbXBvcnRhbnR9DQoubS14eHMtMTAge21hcmdpbjogMTBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE1IHttYXJnaW46IDE1cHggIWltcG9ydGFudH0NCi5tLXh4cy0yMCB7bWFyZ2luOiAyMHB4ICFpbXBvcnRhbnR9DQoubS14eHMtMzAge21hcmdpbjogMzBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTQwIHttYXJnaW46IDQwcHggIWltcG9ydGFudH0NCi5tLXh4cy01MCB7bWFyZ2luOiA1MHB4ICFpbXBvcnRhbnR9DQoubS14eHMtNjAge21hcmdpbjogNjBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTcwIHttYXJnaW46IDcwcHggIWltcG9ydGFudH0NCi5tLXh4cy04MCB7bWFyZ2luOiA4MHB4ICFpbXBvcnRhbnR9DQoubS14eHMtOTAge21hcmdpbjogOTBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTEwMCB7bWFyZ2luOiAxMDBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTExMCB7bWFyZ2luOiAxMTBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTEyMCB7bWFyZ2luOiAxMjBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTEzMCB7bWFyZ2luOiAxMzBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE0MCB7bWFyZ2luOiAxNDBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE1MCB7bWFyZ2luOiAxNTBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE2MCB7bWFyZ2luOiAxNjBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE3MCB7bWFyZ2luOiAxNzBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE4MCB7bWFyZ2luOiAxODBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTE5MCB7bWFyZ2luOiAxOTBweCAhaW1wb3J0YW50fQ0KLm0teHhzLTIwMCB7bWFyZ2luOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNi4yIC0+IEJhc2ljIFBhZGRpbmcNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnAteHhzLTAge3BhZGRpbmc6IDAhaW1wb3J0YW50O30NCi5wLXh4cy01IHtwYWRkaW5nOiA1cHggIWltcG9ydGFudH0NCi5wLXh4cy0xMCB7cGFkZGluZzogMTBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTE1IHtwYWRkaW5nOiAxNXB4ICFpbXBvcnRhbnR9DQoucC14eHMtMjAge3BhZGRpbmc6IDIwcHggIWltcG9ydGFudH0NCi5wLXh4cy0zMCB7cGFkZGluZzogMzBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTQwIHtwYWRkaW5nOiA0MHB4ICFpbXBvcnRhbnR9DQoucC14eHMtNTAge3BhZGRpbmc6IDUwcHggIWltcG9ydGFudH0NCi5wLXh4cy02MCB7cGFkZGluZzogNjBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTcwIHtwYWRkaW5nOiA3MHB4ICFpbXBvcnRhbnR9DQoucC14eHMtODAge3BhZGRpbmc6IDgwcHggIWltcG9ydGFudH0NCi5wLXh4cy05MCB7cGFkZGluZzogOTBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTEwMCB7cGFkZGluZzogMTAwcHggIWltcG9ydGFudH0NCi5wLXh4cy0xMTAge3BhZGRpbmc6IDExMHB4ICFpbXBvcnRhbnR9DQoucC14eHMtMTIwIHtwYWRkaW5nOiAxMjBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTEzMCB7cGFkZGluZzogMTMwcHggIWltcG9ydGFudH0NCi5wLXh4cy0xNDAge3BhZGRpbmc6IDE0MHB4ICFpbXBvcnRhbnR9DQoucC14eHMtMTUwIHtwYWRkaW5nOiAxNTBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTE2MCB7cGFkZGluZzogMTYwcHggIWltcG9ydGFudH0NCi5wLXh4cy0xNzAge3BhZGRpbmc6IDE3MHB4ICFpbXBvcnRhbnR9DQoucC14eHMtMTgwIHtwYWRkaW5nOiAxODBweCAhaW1wb3J0YW50fQ0KLnAteHhzLTE5MCB7cGFkZGluZzogMTkwcHggIWltcG9ydGFudH0NCi5wLXh4cy0yMDAge3BhZGRpbmc6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA2LjMgLT4gTWFyZ2luIHRvcA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubXQteHhzLTAge21hcmdpbi10b3A6IDAhaW1wb3J0YW50O30NCi5tdC14eHMtNSB7bWFyZ2luLXRvcDogNXB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTEwIHttYXJnaW4tdG9wOiAxMHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTE1IHttYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTIwIHttYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTMwIHttYXJnaW4tdG9wOiAzMHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTQwIHttYXJnaW4tdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTUwIHttYXJnaW4tdG9wOiA1MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTYwIHttYXJnaW4tdG9wOiA2MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTcwIHttYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTgwIHttYXJnaW4tdG9wOiA4MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTkwIHttYXJnaW4tdG9wOiA5MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTEwMCB7bWFyZ2luLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5tdC14eHMtMTEwIHttYXJnaW4tdG9wOiAxMTBweCAhaW1wb3J0YW50fQ0KLm10LXh4cy0xMjAge21hcmdpbi10b3A6IDEyMHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTEzMCB7bWFyZ2luLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5tdC14eHMtMTQwIHttYXJnaW4tdG9wOiAxNDBweCAhaW1wb3J0YW50fQ0KLm10LXh4cy0xNTAge21hcmdpbi10b3A6IDE1MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTE2MCB7bWFyZ2luLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5tdC14eHMtMTcwIHttYXJnaW4tdG9wOiAxNzBweCAhaW1wb3J0YW50fQ0KLm10LXh4cy0xODAge21hcmdpbi10b3A6IDE4MHB4ICFpbXBvcnRhbnR9DQoubXQteHhzLTE5MCB7bWFyZ2luLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5tdC14eHMtMjAwIHttYXJnaW4tdG9wOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNi40IC0+IE1hcmdpbiByaWdodA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQoubXIteHhzLTAge21hcmdpbi1yaWdodDogMCFpbXBvcnRhbnQ7fQ0KLm1yLXh4cy01IHttYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0xMCB7bWFyZ2luLXJpZ2h0OiAxMHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTE1IHttYXJnaW4tcmlnaHQ6IDE1cHggIWltcG9ydGFudH0NCi5tci14eHMtMjAge21hcmdpbi1yaWdodDogMjBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0zMCB7bWFyZ2luLXJpZ2h0OiAzMHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTQwIHttYXJnaW4tcmlnaHQ6IDQwcHggIWltcG9ydGFudH0NCi5tci14eHMtNTAge21hcmdpbi1yaWdodDogNTBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy02MCB7bWFyZ2luLXJpZ2h0OiA2MHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTcwIHttYXJnaW4tcmlnaHQ6IDcwcHggIWltcG9ydGFudH0NCi5tci14eHMtODAge21hcmdpbi1yaWdodDogODBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy05MCB7bWFyZ2luLXJpZ2h0OiA5MHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTEwMCB7bWFyZ2luLXJpZ2h0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0xMTAge21hcmdpbi1yaWdodDogMTEwcHggIWltcG9ydGFudH0NCi5tci14eHMtMTIwIHttYXJnaW4tcmlnaHQ6IDEyMHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTEzMCB7bWFyZ2luLXJpZ2h0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0xNDAge21hcmdpbi1yaWdodDogMTQwcHggIWltcG9ydGFudH0NCi5tci14eHMtMTUwIHttYXJnaW4tcmlnaHQ6IDE1MHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTE2MCB7bWFyZ2luLXJpZ2h0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0xNzAge21hcmdpbi1yaWdodDogMTcwcHggIWltcG9ydGFudH0NCi5tci14eHMtMTgwIHttYXJnaW4tcmlnaHQ6IDE4MHB4ICFpbXBvcnRhbnR9DQoubXIteHhzLTE5MCB7bWFyZ2luLXJpZ2h0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1yLXh4cy0yMDAge21hcmdpbi1yaWdodDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDYuNSAtPiBNYXJnaW4gYm90dG9tDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5tYi14eHMtMCB7bWFyZ2luLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLm1iLXh4cy01IHttYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudH0NCi5tYi14eHMtMTAge21hcmdpbi1ib3R0b206IDEwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMTUge21hcmdpbi1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5tYi14eHMtMjAge21hcmdpbi1ib3R0b206IDIwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMzAge21hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudH0NCi5tYi14eHMtNDAge21hcmdpbi1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5tYi14eHMtNTAge21hcmdpbi1ib3R0b206IDUwcHggIWltcG9ydGFudH0NCi5tYi14eHMtNjAge21hcmdpbi1ib3R0b206IDYwcHggIWltcG9ydGFudH0NCi5tYi14eHMtNzAge21hcmdpbi1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5tYi14eHMtODAge21hcmdpbi1ib3R0b206IDgwcHggIWltcG9ydGFudH0NCi5tYi14eHMtOTAge21hcmdpbi1ib3R0b206IDkwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMTAwIHttYXJnaW4tYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLm1iLXh4cy0xMTAge21hcmdpbi1ib3R0b206IDExMHB4ICFpbXBvcnRhbnR9DQoubWIteHhzLTEyMCB7bWFyZ2luLWJvdHRvbTogMTIwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMTMwIHttYXJnaW4tYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLm1iLXh4cy0xNDAge21hcmdpbi1ib3R0b206IDE0MHB4ICFpbXBvcnRhbnR9DQoubWIteHhzLTE1MCB7bWFyZ2luLWJvdHRvbTogMTUwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMTYwIHttYXJnaW4tYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLm1iLXh4cy0xNzAge21hcmdpbi1ib3R0b206IDE3MHB4ICFpbXBvcnRhbnR9DQoubWIteHhzLTE4MCB7bWFyZ2luLWJvdHRvbTogMTgwcHggIWltcG9ydGFudH0NCi5tYi14eHMtMTkwIHttYXJnaW4tYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLm1iLXh4cy0yMDAge21hcmdpbi1ib3R0b206IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA2LjYgLT4gTWFyZ2luIGxlZnQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLm1sLXh4cy0wIHttYXJnaW4tbGVmdDogMCFpbXBvcnRhbnQ7fQ0KLm1sLXh4cy01IHttYXJnaW4tbGVmdDogNXB4ICFpbXBvcnRhbnR9DQoubWwteHhzLTEwIHttYXJnaW4tbGVmdDogMTBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xNSB7bWFyZ2luLWxlZnQ6IDE1cHggIWltcG9ydGFudH0NCi5tbC14eHMtMjAge21hcmdpbi1sZWZ0OiAyMHB4ICFpbXBvcnRhbnR9DQoubWwteHhzLTMwIHttYXJnaW4tbGVmdDogMzBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy00MCB7bWFyZ2luLWxlZnQ6IDQwcHggIWltcG9ydGFudH0NCi5tbC14eHMtNTAge21hcmdpbi1sZWZ0OiA1MHB4ICFpbXBvcnRhbnR9DQoubWwteHhzLTYwIHttYXJnaW4tbGVmdDogNjBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy03MCB7bWFyZ2luLWxlZnQ6IDcwcHggIWltcG9ydGFudH0NCi5tbC14eHMtODAge21hcmdpbi1sZWZ0OiA4MHB4ICFpbXBvcnRhbnR9DQoubWwteHhzLTkwIHttYXJnaW4tbGVmdDogOTBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xMDAge21hcmdpbi1sZWZ0OiAxMDBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xMTAge21hcmdpbi1sZWZ0OiAxMTBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xMjAge21hcmdpbi1sZWZ0OiAxMjBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xMzAge21hcmdpbi1sZWZ0OiAxMzBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xNDAge21hcmdpbi1sZWZ0OiAxNDBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xNTAge21hcmdpbi1sZWZ0OiAxNTBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xNjAge21hcmdpbi1sZWZ0OiAxNjBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xNzAge21hcmdpbi1sZWZ0OiAxNzBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xODAge21hcmdpbi1sZWZ0OiAxODBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0xOTAge21hcmdpbi1sZWZ0OiAxOTBweCAhaW1wb3J0YW50fQ0KLm1sLXh4cy0yMDAge21hcmdpbi1sZWZ0OiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNi43IC0+IFBhZGRpbmcgdG9wDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wdC14eHMtMCB7cGFkZGluZy10b3A6IDAhaW1wb3J0YW50O30NCi5wdC14eHMtNSB7cGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50fQ0KLnB0LXh4cy0xMCB7cGFkZGluZy10b3A6IDEwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTUge3BhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnR9DQoucHQteHhzLTIwIHtwYWRkaW5nLXRvcDogMjBweCAhaW1wb3J0YW50fQ0KLnB0LXh4cy0zMCB7cGFkZGluZy10b3A6IDMwcHggIWltcG9ydGFudH0NCi5wdC14eHMtNDAge3BhZGRpbmctdG9wOiA0MHB4ICFpbXBvcnRhbnR9DQoucHQteHhzLTUwIHtwYWRkaW5nLXRvcDogNTBweCAhaW1wb3J0YW50fQ0KLnB0LXh4cy02MCB7cGFkZGluZy10b3A6IDYwcHggIWltcG9ydGFudH0NCi5wdC14eHMtNzAge3BhZGRpbmctdG9wOiA3MHB4ICFpbXBvcnRhbnR9DQoucHQteHhzLTgwIHtwYWRkaW5nLXRvcDogODBweCAhaW1wb3J0YW50fQ0KLnB0LXh4cy05MCB7cGFkZGluZy10b3A6IDkwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTAwIHtwYWRkaW5nLXRvcDogMTAwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTEwIHtwYWRkaW5nLXRvcDogMTEwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTIwIHtwYWRkaW5nLXRvcDogMTIwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTMwIHtwYWRkaW5nLXRvcDogMTMwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTQwIHtwYWRkaW5nLXRvcDogMTQwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTUwIHtwYWRkaW5nLXRvcDogMTUwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTYwIHtwYWRkaW5nLXRvcDogMTYwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTcwIHtwYWRkaW5nLXRvcDogMTcwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTgwIHtwYWRkaW5nLXRvcDogMTgwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMTkwIHtwYWRkaW5nLXRvcDogMTkwcHggIWltcG9ydGFudH0NCi5wdC14eHMtMjAwIHtwYWRkaW5nLXRvcDogMjAwcHggIWltcG9ydGFudH0NCg0KLyoNCiAqIDYuOCAtPiBQYWRkaW5nIHJpZ2h0DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi5wci14eHMtMCB7cGFkZGluZy1yaWdodDogMCFpbXBvcnRhbnQ7fQ0KLnByLXh4cy01IHtwYWRkaW5nLXJpZ2h0OiA1cHggIWltcG9ydGFudH0NCi5wci14eHMtMTAge3BhZGRpbmctcmlnaHQ6IDEwcHggIWltcG9ydGFudH0NCi5wci14eHMtMTUge3BhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudH0NCi5wci14eHMtMjAge3BhZGRpbmctcmlnaHQ6IDIwcHggIWltcG9ydGFudH0NCi5wci14eHMtMzAge3BhZGRpbmctcmlnaHQ6IDMwcHggIWltcG9ydGFudH0NCi5wci14eHMtNDAge3BhZGRpbmctcmlnaHQ6IDQwcHggIWltcG9ydGFudH0NCi5wci14eHMtNTAge3BhZGRpbmctcmlnaHQ6IDUwcHggIWltcG9ydGFudH0NCi5wci14eHMtNjAge3BhZGRpbmctcmlnaHQ6IDYwcHggIWltcG9ydGFudH0NCi5wci14eHMtNzAge3BhZGRpbmctcmlnaHQ6IDcwcHggIWltcG9ydGFudH0NCi5wci14eHMtODAge3BhZGRpbmctcmlnaHQ6IDgwcHggIWltcG9ydGFudH0NCi5wci14eHMtOTAge3BhZGRpbmctcmlnaHQ6IDkwcHggIWltcG9ydGFudH0NCi5wci14eHMtMTAwIHtwYWRkaW5nLXJpZ2h0OiAxMDBweCAhaW1wb3J0YW50fQ0KLnByLXh4cy0xMTAge3BhZGRpbmctcmlnaHQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucHIteHhzLTEyMCB7cGFkZGluZy1yaWdodDogMTIwcHggIWltcG9ydGFudH0NCi5wci14eHMtMTMwIHtwYWRkaW5nLXJpZ2h0OiAxMzBweCAhaW1wb3J0YW50fQ0KLnByLXh4cy0xNDAge3BhZGRpbmctcmlnaHQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucHIteHhzLTE1MCB7cGFkZGluZy1yaWdodDogMTUwcHggIWltcG9ydGFudH0NCi5wci14eHMtMTYwIHtwYWRkaW5nLXJpZ2h0OiAxNjBweCAhaW1wb3J0YW50fQ0KLnByLXh4cy0xNzAge3BhZGRpbmctcmlnaHQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucHIteHhzLTE4MCB7cGFkZGluZy1yaWdodDogMTgwcHggIWltcG9ydGFudH0NCi5wci14eHMtMTkwIHtwYWRkaW5nLXJpZ2h0OiAxOTBweCAhaW1wb3J0YW50fQ0KLnByLXh4cy0yMDAge3BhZGRpbmctcmlnaHQ6IDIwMHB4ICFpbXBvcnRhbnR9DQoNCi8qDQogKiA2LjkgLT4gUGFkZGluZyBib3R0b20NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnBiLXh4cy0wIHtwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7fQ0KLnBiLXh4cy01IHtwYWRkaW5nLWJvdHRvbTogNXB4ICFpbXBvcnRhbnR9DQoucGIteHhzLTEwIHtwYWRkaW5nLWJvdHRvbTogMTBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xNSB7cGFkZGluZy1ib3R0b206IDE1cHggIWltcG9ydGFudH0NCi5wYi14eHMtMjAge3BhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnR9DQoucGIteHhzLTMwIHtwYWRkaW5nLWJvdHRvbTogMzBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy00MCB7cGFkZGluZy1ib3R0b206IDQwcHggIWltcG9ydGFudH0NCi5wYi14eHMtNTAge3BhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnR9DQoucGIteHhzLTYwIHtwYWRkaW5nLWJvdHRvbTogNjBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy03MCB7cGFkZGluZy1ib3R0b206IDcwcHggIWltcG9ydGFudH0NCi5wYi14eHMtODAge3BhZGRpbmctYm90dG9tOiA4MHB4ICFpbXBvcnRhbnR9DQoucGIteHhzLTkwIHtwYWRkaW5nLWJvdHRvbTogOTBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xMDAge3BhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xMTAge3BhZGRpbmctYm90dG9tOiAxMTBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xMjAge3BhZGRpbmctYm90dG9tOiAxMjBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xMzAge3BhZGRpbmctYm90dG9tOiAxMzBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xNDAge3BhZGRpbmctYm90dG9tOiAxNDBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xNTAge3BhZGRpbmctYm90dG9tOiAxNTBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xNjAge3BhZGRpbmctYm90dG9tOiAxNjBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xNzAge3BhZGRpbmctYm90dG9tOiAxNzBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xODAge3BhZGRpbmctYm90dG9tOiAxODBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0xOTAge3BhZGRpbmctYm90dG9tOiAxOTBweCAhaW1wb3J0YW50fQ0KLnBiLXh4cy0yMDAge3BhZGRpbmctYm90dG9tOiAyMDBweCAhaW1wb3J0YW50fQ0KDQovKg0KICogNi4xMCAtPiBQYWRkaW5nIGxlZnQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLnBsLXh4cy0wIHtwYWRkaW5nLWxlZnQ6IDAhaW1wb3J0YW50O30NCi5wbC14eHMtNSB7cGFkZGluZy1sZWZ0OiA1cHggIWltcG9ydGFudH0NCi5wbC14eHMtMTAge3BhZGRpbmctbGVmdDogMTBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy0xNSB7cGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTIwIHtwYWRkaW5nLWxlZnQ6IDIwcHggIWltcG9ydGFudH0NCi5wbC14eHMtMzAge3BhZGRpbmctbGVmdDogMzBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy00MCB7cGFkZGluZy1sZWZ0OiA0MHB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTUwIHtwYWRkaW5nLWxlZnQ6IDUwcHggIWltcG9ydGFudH0NCi5wbC14eHMtNjAge3BhZGRpbmctbGVmdDogNjBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy03MCB7cGFkZGluZy1sZWZ0OiA3MHB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTgwIHtwYWRkaW5nLWxlZnQ6IDgwcHggIWltcG9ydGFudH0NCi5wbC14eHMtOTAge3BhZGRpbmctbGVmdDogOTBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy0xMDAge3BhZGRpbmctbGVmdDogMTAwcHggIWltcG9ydGFudH0NCi5wbC14eHMtMTEwIHtwYWRkaW5nLWxlZnQ6IDExMHB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTEyMCB7cGFkZGluZy1sZWZ0OiAxMjBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy0xMzAge3BhZGRpbmctbGVmdDogMTMwcHggIWltcG9ydGFudH0NCi5wbC14eHMtMTQwIHtwYWRkaW5nLWxlZnQ6IDE0MHB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTE1MCB7cGFkZGluZy1sZWZ0OiAxNTBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy0xNjAge3BhZGRpbmctbGVmdDogMTYwcHggIWltcG9ydGFudH0NCi5wbC14eHMtMTcwIHtwYWRkaW5nLWxlZnQ6IDE3MHB4ICFpbXBvcnRhbnR9DQoucGwteHhzLTE4MCB7cGFkZGluZy1sZWZ0OiAxODBweCAhaW1wb3J0YW50fQ0KLnBsLXh4cy0xOTAge3BhZGRpbmctbGVmdDogMTkwcHggIWltcG9ydGFudH0NCi5wbC14eHMtMjAwIHtwYWRkaW5nLWxlZnQ6IDIwMHB4ICFpbXBvcnRhbnR9DQp9"}},"time_used":317,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":308,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/jquery.themepunch.tools.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.605Z","timestamp":1785133989605,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/revolution-slider/js/jquery.themepunch.tools.min.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 37077\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":110563,"size_decoded":37315,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (27287), with CRLF line terminators","md5":"a748a9e56b2c639013c770506f1fd529","sha1":"537edd9b364ac005df2d1c57be873945b2fecdf6","sha256":"6eabb193731278713f4208ea84b8c7334c3dfc98f01cb074778280e1df536e62","sha512":"ade8062894443994d5dc96497426dde1e238adfb9600aab7b3713ce804934aca5e12ae3267d961268ac8a146bd06754aa110006964af95e9394dfb1ea5b825b8","ssdeep":"1536:iQpnayKBPfF5aknBDU0KsIu5XOKvITONqvUejr3P99cN7H98rYx5s14/gCsBMXw7:iJfFYoDU0xVqvUejbs7dCYdInBwD0a+","tlshash":"96b329ca35517022859622a5517f0643723bdcbab4098d3cf548d9ed3e2cc8921bffba","first_seen":"2023-03-07T01:03:49Z","last_seen":"2026-08-04T02:13:08.63189Z","times_seen":5203,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQoJLQlUSEVNRVBVTkNIIFRPT0xTIFZlci4gMS4wICAgICAtDQoJIExhc3QgVXBkYXRlIG9mIFRvb2xzIDI3LjAyLjIwMTUNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCg0KDQovKg0KKiBAZmlsZU92ZXJ2aWV3IFRvdWNoU3dpcGUgLSBqUXVlcnkgUGx1Z2luDQoqIEB2ZXJzaW9uIDEuNi45DQoqDQoqIEBhdXRob3IgTWF0dCBCcnlzb24gaHR0cDovL3d3dy5naXRodWIuY29tL21hdHRicnlzb24NCiogQHNlZSBodHRwczovL2dpdGh1Yi5jb20vbWF0dGJyeXNvbi9Ub3VjaFN3aXBlLUpxdWVyeS1QbHVnaW4NCiogQHNlZSBodHRwOi8vbGFicy5za2lua2Vycy5jb20vdG91Y2hTd2lwZS8NCiogQHNlZSBodHRwOi8vcGx1Z2lucy5qcXVlcnkuY29tL3Byb2plY3QvdG91Y2hTd2lwZQ0KKg0KKiBDb3B5cmlnaHQgKGMpIDIwMTAgTWF0dCBCcnlzb24NCiogRHVhbCBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIG9yIEdQTCBWZXJzaW9uIDIgbGljZW5zZXMuDQoqDQoqLw0KDQoNCg0KKGZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkZWZpbmU9PT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kJiZkZWZpbmUuYW1kLmpRdWVyeSl7ZGVmaW5lKFsianF1ZXJ5Il0sYSl9ZWxzZXthKGpRdWVyeSl9fShmdW5jdGlvbihmKXt2YXIgeT0iMS42LjkiLHA9ImxlZnQiLG89InJpZ2h0IixlPSJ1cCIseD0iZG93biIsYz0iaW4iLEE9Im91dCIsbT0ibm9uZSIscz0iYXV0byIsbD0ic3dpcGUiLHQ9InBpbmNoIixCPSJ0YXAiLGo9ImRvdWJsZXRhcCIsYj0ibG9uZ3RhcCIsej0iaG9sZCIsRT0iaG9yaXpvbnRhbCIsdT0idmVydGljYWwiLGk9ImFsbCIscj0xMCxnPSJzdGFydCIsaz0ibW92ZSIsaD0iZW5kIixxPSJjYW5jZWwiLGE9Im9udG91Y2hzdGFydCIgaW4gd2luZG93LHY9d2luZG93Lm5hdmlnYXRvci5tc1BvaW50ZXJFbmFibGVkJiYhd2luZG93Lm5hdmlnYXRvci5wb2ludGVyRW5hYmxlZCxkPXdpbmRvdy5uYXZpZ2F0b3IucG9pbnRlckVuYWJsZWR8fHdpbmRvdy5uYXZpZ2F0b3IubXNQb2ludGVyRW5hYmxlZCxDPSJUb3VjaFN3aXBlIjt2YXIgbj17ZmluZ2VyczoxLHRocmVzaG9sZDo3NSxjYW5jZWxUaHJlc2hvbGQ6bnVsbCxwaW5jaFRocmVzaG9sZDoyMCxtYXhUaW1lVGhyZXNob2xkOm51bGwsZmluZ2VyUmVsZWFzZVRocmVzaG9sZDoyNTAsbG9uZ1RhcFRocmVzaG9sZDo1MDAsZG91YmxlVGFwVGhyZXNob2xkOjIwMCxzd2lwZTpudWxsLHN3aXBlTGVmdDpudWxsLHN3aXBlUmlnaHQ6bnVsbCxzd2lwZVVwOm51bGwsc3dpcGVEb3duOm51bGwsc3dpcGVTdGF0dXM6bnVsbCxwaW5jaEluOm51bGwscGluY2hPdXQ6bnVsbCxwaW5jaFN0YXR1czpudWxsLGNsaWNrOm51bGwsdGFwOm51bGwsZG91YmxlVGFwOm51bGwsbG9uZ1RhcDpudWxsLGhvbGQ6bnVsbCx0cmlnZ2VyT25Ub3VjaEVuZDp0cnVlLHRyaWdnZXJPblRvdWNoTGVhdmU6ZmFsc2UsYWxsb3dQYWdlU2Nyb2xsOiJhdXRvIixmYWxsYmFja1RvTW91c2VFdmVudHM6dHJ1ZSxleGNsdWRlZEVsZW1lbnRzOiJsYWJlbCwgYnV0dG9uLCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSwgYSwgLm5vU3dpcGUiLHByZXZlbnREZWZhdWx0RXZlbnRzOnRydWV9O2YuZm4uc3dpcGV0cD1mdW5jdGlvbihIKXt2YXIgRz1mKHRoaXMpLEY9Ry5kYXRhKEMpO2lmKEYmJnR5cGVvZiBIPT09InN0cmluZyIpe2lmKEZbSF0pe3JldHVybiBGW0hdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKX1lbHNle2YuZXJyb3IoIk1ldGhvZCAiK0grIiBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc3dpcGV0cCIpfX1lbHNle2lmKCFGJiYodHlwZW9mIEg9PT0ib2JqZWN0Inx8IUgpKXtyZXR1cm4gdy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fXJldHVybiBHfTtmLmZuLnN3aXBldHAudmVyc2lvbj15O2YuZm4uc3dpcGV0cC5kZWZhdWx0cz1uO2YuZm4uc3dpcGV0cC5waGFzZXM9e1BIQVNFX1NUQVJUOmcsUEhBU0VfTU9WRTprLFBIQVNFX0VORDpoLFBIQVNFX0NBTkNFTDpxfTtmLmZuLnN3aXBldHAuZGlyZWN0aW9ucz17TEVGVDpwLFJJR0hUOm8sVVA6ZSxET1dOOngsSU46YyxPVVQ6QX07Zi5mbi5zd2lwZXRwLnBhZ2VTY3JvbGw9e05PTkU6bSxIT1JJWk9OVEFMOkUsVkVSVElDQUw6dSxBVVRPOnN9O2YuZm4uc3dpcGV0cC5maW5nZXJzPXtPTkU6MSxUV086MixUSFJFRTozLEFMTDppfTtmdW5jdGlvbiB3KEYpe2lmKEYmJihGLmFsbG93UGFnZVNjcm9sbD09PXVuZGVmaW5lZCYmKEYuc3dpcGUhPT11bmRlZmluZWR8fEYuc3dpcGVTdGF0dXMhPT11bmRlZmluZWQpKSl7Ri5hbGxvd1BhZ2VTY3JvbGw9bX1pZihGLmNsaWNrIT09dW5kZWZpbmVkJiZGLnRhcD09PXVuZGVmaW5lZCl7Ri50YXA9Ri5jbGlja31pZighRil7Rj17fX1GPWYuZXh0ZW5kKHt9LGYuZm4uc3dpcGV0cC5kZWZhdWx0cyxGKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIEg9Zih0aGlzKTt2YXIgRz1ILmRhdGEoQyk7aWYoIUcpe0c9bmV3IEQodGhpcyxGKTtILmRhdGEoQyxHKX19KX1mdW5jdGlvbiBEKGE1LGF3KXt2YXIgYUE9KGF8fGR8fCFhdy5mYWxsYmFja1RvTW91c2VFdmVudHMpLEs9YUE/KGQ/KHY/Ik1TUG9pbnRlckRvd24iOiJwb2ludGVyZG93biIpOiJ0b3VjaHN0YXJ0Iik6Im1vdXNlZG93biIsYXo9YUE/KGQ/KHY/Ik1TUG9pbnRlck1vdmUiOiJwb2ludGVybW92ZSIpOiJ0b3VjaG1vdmUiKToibW91c2Vtb3ZlIixWPWFBPyhkPyh2PyJNU1BvaW50ZXJVcCI6InBvaW50ZXJ1cCIpOiJ0b3VjaGVuZCIpOiJtb3VzZXVwIixUPWFBP251bGw6Im1vdXNlbGVhdmUiLGFFPShkPyh2PyJNU1BvaW50ZXJDYW5jZWwiOiJwb2ludGVyY2FuY2VsIik6InRvdWNoY2FuY2VsIik7dmFyIGFoPTAsYVE9bnVsbCxhYz0wLGEyPTAsYTA9MCxIPTEsYXI9MCxhSz0wLE49bnVsbDt2YXIgYVM9ZihhNSk7dmFyIGFhPSJzdGFydCI7dmFyIFg9MDt2YXIgYVI9bnVsbDt2YXIgVT0wLGEzPTAsYTY9MCxhZT0wLE89MDt2YXIgYVg9bnVsbCxhZz1udWxsO3RyeXthUy5iaW5kKEssYU8pO2FTLmJpbmQoYUUsYmEpfWNhdGNoKGFsKXtmLmVycm9yKCJldmVudHMgbm90IHN1cHBvcnRlZCAiK0srIiwiK2FFKyIgb24galF1ZXJ5LnN3aXBldHAiKX10aGlzLmVuYWJsZT1mdW5jdGlvbigpe2FTLmJpbmQoSyxhTyk7YVMuYmluZChhRSxiYSk7cmV0dXJuIGFTfTt0aGlzLmRpc2FibGU9ZnVuY3Rpb24oKXthTCgpO3JldHVybiBhU307dGhpcy5kZXN0cm95PWZ1bmN0aW9uKCl7YUwoKTthUy5kYXRhKEMsbnVsbCk7YVM9bnVsbH07dGhpcy5vcHRpb249ZnVuY3Rpb24oYmQsYmMpe2lmKGF3W2JkXSE9PXVuZGVmaW5lZCl7aWYoYmM9PT11bmRlZmluZWQpe3JldHVybiBhd1tiZF19ZWxzZXthd1tiZF09YmN9fWVsc2V7Zi5lcnJvcigiT3B0aW9uICIrYmQrIiBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc3dpcGV0cC5vcHRpb25zIil9cmV0dXJuIG51bGx9O2Z1bmN0aW9uIGFPKGJlKXtpZihhQygpKXtyZXR1cm59aWYoZihiZS50YXJnZXQpLmNsb3Nlc3QoYXcuZXhjbHVkZWRFbGVtZW50cyxhUykubGVuZ3RoPjApe3JldHVybn12YXIgYmY9YmUub3JpZ2luYWxFdmVudD9iZS5vcmlnaW5hbEV2ZW50OmJlO3ZhciBiZCxiZz1iZi50b3VjaGVzLGJjPWJnP2JnWzBdOmJmO2FhPWc7aWYoYmcpe1g9YmcubGVuZ3RofWVsc2V7YmUucHJldmVudERlZmF1bHQoKX1haD0wO2FRPW51bGw7YUs9bnVsbDthYz0wO2EyPTA7YTA9MDtIPTE7YXI9MDthUj1haygpO049YWIoKTtTKCk7aWYoIWJnfHwoWD09PWF3LmZpbmdlcnN8fGF3LmZpbmdlcnM9PT1pKXx8YVkoKSl7YWooMCxiYyk7VT1hdSgpO2lmKFg9PTIpe2FqKDEsYmdbMV0pO2EyPWEwPWF2KGFSWzBdLnN0YXJ0LGFSWzFdLnN0YXJ0KX1pZihhdy5zd2lwZVN0YXR1c3x8YXcucGluY2hTdGF0dXMpe2JkPVAoYmYsYWEpfX1lbHNle2JkPWZhbHNlfWlmKGJkPT09ZmFsc2Upe2FhPXE7UChiZixhYSk7cmV0dXJuIGJkfWVsc2V7aWYoYXcuaG9sZCl7YWc9c2V0VGltZW91dChmLnByb3h5KGZ1bmN0aW9uKCl7YVMudHJpZ2dlcigiaG9sZCIsW2JmLnRhcmdldF0pO2lmKGF3LmhvbGQpe2JkPWF3LmhvbGQuY2FsbChhUyxiZixiZi50YXJnZXQpfX0sdGhpcyksYXcubG9uZ1RhcFRocmVzaG9sZCl9YXAodHJ1ZSl9cmV0dXJuIG51bGx9ZnVuY3Rpb24gYTQoYmYpe3ZhciBiaT1iZi5vcmlnaW5hbEV2ZW50P2JmLm9yaWdpbmFsRXZlbnQ6YmY7aWYoYWE9PT1ofHxhYT09PXF8fGFuKCkpe3JldHVybn12YXIgYmUsYmo9YmkudG91Y2hlcyxiZD1iaj9ialswXTpiaTt2YXIgYmc9YUkoYmQpO2EzPWF1KCk7aWYoYmope1g9YmoubGVuZ3RofWlmKGF3LmhvbGQpe2NsZWFyVGltZW91dChhZyl9YWE9aztpZihYPT0yKXtpZihhMj09MCl7YWooMSxialsxXSk7YTI9YTA9YXYoYVJbMF0uc3RhcnQsYVJbMV0uc3RhcnQpfWVsc2V7YUkoYmpbMV0pO2EwPWF2KGFSWzBdLmVuZCxhUlsxXS5lbmQpO2FLPWF0KGFSWzBdLmVuZCxhUlsxXS5lbmQpfUg9YTgoYTIsYTApO2FyPU1hdGguYWJzKGEyLWEwKX1pZigoWD09PWF3LmZpbmdlcnN8fGF3LmZpbmdlcnM9PT1pKXx8IWJqfHxhWSgpKXthUT1hTShiZy5zdGFydCxiZy5lbmQpO2FtKGJmLGFRKTthaD1hVChiZy5zdGFydCxiZy5lbmQpO2FjPWFOKCk7YUooYVEsYWgpO2lmKGF3LnN3aXBlU3RhdHVzfHxhdy5waW5jaFN0YXR1cyl7YmU9UChiaSxhYSl9aWYoIWF3LnRyaWdnZXJPblRvdWNoRW5kfHxhdy50cmlnZ2VyT25Ub3VjaExlYXZlKXt2YXIgYmM9dHJ1ZTtpZihhdy50cmlnZ2VyT25Ub3VjaExlYXZlKXt2YXIgYmg9YVoodGhpcyk7YmM9RihiZy5lbmQsYmgpfWlmKCFhdy50cmlnZ2VyT25Ub3VjaEVuZCYmYmMpe2FhPWFEKGspfWVsc2V7aWYoYXcudHJpZ2dlck9uVG91Y2hMZWF2ZSYmIWJjKXthYT1hRChoKX19aWYoYWE9PXF8fGFhPT1oKXtQKGJpLGFhKX19fWVsc2V7YWE9cTtQKGJpLGFhKX1pZihiZT09PWZhbHNlKXthYT1xO1AoYmksYWEpfX1mdW5jdGlvbiBNKGJjKXt2YXIgYmQ9YmMub3JpZ2luYWxFdmVudD9iYy5vcmlnaW5hbEV2ZW50OmJjLGJlPWJkLnRvdWNoZXM7aWYoYmUpe2lmKGJlLmxlbmd0aCl7RygpO3JldHVybiB0cnVlfX1pZihhbigpKXtYPWFlfWEzPWF1KCk7YWM9YU4oKTtpZihiYigpfHwhYW8oKSl7YWE9cTtQKGJkLGFhKX1lbHNle2lmKGF3LnRyaWdnZXJPblRvdWNoRW5kfHwoYXcudHJpZ2dlck9uVG91Y2hFbmQ9PWZhbHNlJiZhYT09PWspKXtiYy5wcmV2ZW50RGVmYXVsdCgpO2FhPWg7UChiZCxhYSl9ZWxzZXtpZighYXcudHJpZ2dlck9uVG91Y2hFbmQmJmE3KCkpe2FhPWg7YUcoYmQsYWEsQil9ZWxzZXtpZihhYT09PWspe2FhPXE7UChiZCxhYSl9fX19YXAoZmFsc2UpO3JldHVybiBudWxsfWZ1bmN0aW9uIGJhKCl7WD0wO2EzPTA7VT0wO2EyPTA7YTA9MDtIPTE7UygpO2FwKGZhbHNlKX1mdW5jdGlvbiBMKGJjKXt2YXIgYmQ9YmMub3JpZ2luYWxFdmVudD9iYy5vcmlnaW5hbEV2ZW50OmJjO2lmKGF3LnRyaWdnZXJPblRvdWNoTGVhdmUpe2FhPWFEKGgpO1AoYmQsYWEpfX1mdW5jdGlvbiBhTCgpe2FTLnVuYmluZChLLGFPKTthUy51bmJpbmQoYUUsYmEpO2FTLnVuYmluZChheixhNCk7YVMudW5iaW5kKFYsTSk7aWYoVCl7YVMudW5iaW5kKFQsTCl9YXAoZmFsc2UpfWZ1bmN0aW9uIGFEKGJnKXt2YXIgYmY9Ymc7dmFyIGJlPWFCKCk7dmFyIGJkPWFvKCk7dmFyIGJjPWJiKCk7aWYoIWJlfHxiYyl7YmY9cX1lbHNle2lmKGJkJiZiZz09ayYmKCFhdy50cmlnZ2VyT25Ub3VjaEVuZHx8YXcudHJpZ2dlck9uVG91Y2hMZWF2ZSkpe2JmPWh9ZWxzZXtpZighYmQmJmJnPT1oJiZhdy50cmlnZ2VyT25Ub3VjaExlYXZlKXtiZj1xfX19cmV0dXJuIGJmfWZ1bmN0aW9uIFAoYmUsYmMpe3ZhciBiZCxiZj1iZS50b3VjaGVzO2lmKChKKCl8fFcoKSl8fChRKCl8fGFZKCkpKXtpZihKKCl8fFcoKSl7YmQ9YUcoYmUsYmMsbCl9aWYoKFEoKXx8YVkoKSkmJmJkIT09ZmFsc2Upe2JkPWFHKGJlLGJjLHQpfX1lbHNle2lmKGFIKCkmJmJkIT09ZmFsc2Upe2JkPWFHKGJlLGJjLGopfWVsc2V7aWYoYXEoKSYmYmQhPT1mYWxzZSl7YmQ9YUcoYmUsYmMsYil9ZWxzZXtpZihhaSgpJiZiZCE9PWZhbHNlKXtiZD1hRyhiZSxiYyxCKX19fX1pZihiYz09PXEpe2JhKGJlKX1pZihiYz09PWgpe2lmKGJmKXtpZighYmYubGVuZ3RoKXtiYShiZSl9fWVsc2V7YmEoYmUpfX1yZXR1cm4gYmR9ZnVuY3Rpb24gYUcoYmYsYmMsYmUpe3ZhciBiZDtpZihiZT09bCl7YVMudHJpZ2dlcigic3dpcGVTdGF0dXMiLFtiYyxhUXx8bnVsbCxhaHx8MCxhY3x8MCxYLGFSXSk7aWYoYXcuc3dpcGVTdGF0dXMpe2JkPWF3LnN3aXBlU3RhdHVzLmNhbGwoYVMsYmYsYmMsYVF8fG51bGwsYWh8fDAsYWN8fDAsWCxhUik7aWYoYmQ9PT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1pZihiYz09aCYmYVcoKSl7YVMudHJpZ2dlcigic3dpcGUiLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGUpe2JkPWF3LnN3aXBlLmNhbGwoYVMsYmYsYVEsYWgsYWMsWCxhUik7aWYoYmQ9PT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1zd2l0Y2goYVEpe2Nhc2UgcDphUy50cmlnZ2VyKCJzd2lwZUxlZnQiLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGVMZWZ0KXtiZD1hdy5zd2lwZUxlZnQuY2FsbChhUyxiZixhUSxhaCxhYyxYLGFSKX1icmVhaztjYXNlIG86YVMudHJpZ2dlcigic3dpcGVSaWdodCIsW2FRLGFoLGFjLFgsYVJdKTtpZihhdy5zd2lwZVJpZ2h0KXtiZD1hdy5zd2lwZVJpZ2h0LmNhbGwoYVMsYmYsYVEsYWgsYWMsWCxhUil9YnJlYWs7Y2FzZSBlOmFTLnRyaWdnZXIoInN3aXBlVXAiLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGVVcCl7YmQ9YXcuc3dpcGVVcC5jYWxsKGFTLGJmLGFRLGFoLGFjLFgsYVIpfWJyZWFrO2Nhc2UgeDphUy50cmlnZ2VyKCJzd2lwZURvd24iLFthUSxhaCxhYyxYLGFSXSk7aWYoYXcuc3dpcGVEb3duKXtiZD1hdy5zd2lwZURvd24uY2FsbChhUyxiZixhUSxhaCxhYyxYLGFSKX1icmVha319fWlmKGJlPT10KXthUy50cmlnZ2VyKCJwaW5jaFN0YXR1cyIsW2JjLGFLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUl0pO2lmKGF3LnBpbmNoU3RhdHVzKXtiZD1hdy5waW5jaFN0YXR1cy5jYWxsKGFTLGJmLGJjLGFLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUik7aWYoYmQ9PT1mYWxzZSl7cmV0dXJuIGZhbHNlfX1pZihiYz09aCYmYTkoKSl7c3dpdGNoKGFLKXtjYXNlIGM6YVMudHJpZ2dlcigicGluY2hJbiIsW2FLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUl0pO2lmKGF3LnBpbmNoSW4pe2JkPWF3LnBpbmNoSW4uY2FsbChhUyxiZixhS3x8bnVsbCxhcnx8MCxhY3x8MCxYLEgsYVIpfWJyZWFrO2Nhc2UgQTphUy50cmlnZ2VyKCJwaW5jaE91dCIsW2FLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUl0pO2lmKGF3LnBpbmNoT3V0KXtiZD1hdy5waW5jaE91dC5jYWxsKGFTLGJmLGFLfHxudWxsLGFyfHwwLGFjfHwwLFgsSCxhUil9YnJlYWt9fX1pZihiZT09Qil7aWYoYmM9PT1xfHxiYz09PWgpe2NsZWFyVGltZW91dChhWCk7Y2xlYXJUaW1lb3V0KGFnKTtpZihaKCkmJiFJKCkpe089YXUoKTthWD1zZXRUaW1lb3V0KGYucHJveHkoZnVuY3Rpb24oKXtPPW51bGw7YVMudHJpZ2dlcigidGFwIixbYmYudGFyZ2V0XSk7aWYoYXcudGFwKXtiZD1hdy50YXAuY2FsbChhUyxiZixiZi50YXJnZXQpfX0sdGhpcyksYXcuZG91YmxlVGFwVGhyZXNob2xkKX1lbHNle089bnVsbDthUy50cmlnZ2VyKCJ0YXAiLFtiZi50YXJnZXRdKTtpZihhdy50YXApe2JkPWF3LnRhcC5jYWxsKGFTLGJmLGJmLnRhcmdldCl9fX19ZWxzZXtpZihiZT09ail7aWYoYmM9PT1xfHxiYz09PWgpe2NsZWFyVGltZW91dChhWCk7Tz1udWxsO2FTLnRyaWdnZXIoImRvdWJsZXRhcCIsW2JmLnRhcmdldF0pO2lmKGF3LmRvdWJsZVRhcCl7YmQ9YXcuZG91YmxlVGFwLmNhbGwoYVMsYmYsYmYudGFyZ2V0KX19fWVsc2V7aWYoYmU9PWIpe2lmKGJjPT09cXx8YmM9PT1oKXtjbGVhclRpbWVvdXQoYVgpO089bnVsbDthUy50cmlnZ2VyKCJsb25ndGFwIixbYmYudGFyZ2V0XSk7aWYoYXcubG9uZ1RhcCl7YmQ9YXcubG9uZ1RhcC5jYWxsKGFTLGJmLGJmLnRhcmdldCl9fX19fXJldHVybiBiZH1mdW5jdGlvbiBhbygpe3ZhciBiYz10cnVlO2lmKGF3LnRocmVzaG9sZCE9PW51bGwpe2JjPWFoPj1hdy50aHJlc2hvbGR9cmV0dXJuIGJjfWZ1bmN0aW9uIGJiKCl7dmFyIGJjPWZhbHNlO2lmKGF3LmNhbmNlbFRocmVzaG9sZCE9PW51bGwmJmFRIT09bnVsbCl7YmM9KGFVKGFRKS1haCk+PWF3LmNhbmNlbFRocmVzaG9sZH1yZXR1cm4gYmN9ZnVuY3Rpb24gYWYoKXtpZihhdy5waW5jaFRocmVzaG9sZCE9PW51bGwpe3JldHVybiBhcj49YXcucGluY2hUaHJlc2hvbGR9cmV0dXJuIHRydWV9ZnVuY3Rpb24gYUIoKXt2YXIgYmM7aWYoYXcubWF4VGltZVRocmVzaG9sZCl7aWYoYWM+PWF3Lm1heFRpbWVUaHJlc2hvbGQpe2JjPWZhbHNlfWVsc2V7YmM9dHJ1ZX19ZWxzZXtiYz10cnVlfXJldHVybiBiY31mdW5jdGlvbiBhbShiYyxiZCl7aWYoYXcucHJldmVudERlZmF1bHRFdmVudHM9PT1mYWxzZSl7cmV0dXJufWlmKGF3LmFsbG93UGFnZVNjcm9sbD09PW0pe2JjLnByZXZlbnREZWZhdWx0KCl9ZWxzZXt2YXIgYmU9YXcuYWxsb3dQYWdlU2Nyb2xsPT09cztzd2l0Y2goYmQpe2Nhc2UgcDppZigoYXcuc3dpcGVMZWZ0JiZiZSl8fCghYmUmJmF3LmFsbG93UGFnZVNjcm9sbCE9RSkpe2JjLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSBvOmlmKChhdy5zd2lwZVJpZ2h0JiZiZSl8fCghYmUmJmF3LmFsbG93UGFnZVNjcm9sbCE9RSkpe2JjLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSBlOmlmKChhdy5zd2lwZVVwJiZiZSl8fCghYmUmJmF3LmFsbG93UGFnZVNjcm9sbCE9dSkpe2JjLnByZXZlbnREZWZhdWx0KCl9YnJlYWs7Y2FzZSB4OmlmKChhdy5zd2lwZURvd24mJmJlKXx8KCFiZSYmYXcuYWxsb3dQYWdlU2Nyb2xsIT11KSl7YmMucHJldmVudERlZmF1bHQoKX1icmVha319fWZ1bmN0aW9uIGE5KCl7dmFyIGJkPWFQKCk7dmFyIGJjPVkoKTt2YXIgYmU9YWYoKTtyZXR1cm4gYmQmJmJjJiZiZX1mdW5jdGlvbiBhWSgpe3JldHVybiAhIShhdy5waW5jaFN0YXR1c3x8YXcucGluY2hJbnx8YXcucGluY2hPdXQpfWZ1bmN0aW9uIFEoKXtyZXR1cm4gISEoYTkoKSYmYVkoKSl9ZnVuY3Rpb24gYVcoKXt2YXIgYmY9YUIoKTt2YXIgYmg9YW8oKTt2YXIgYmU9YVAoKTt2YXIgYmM9WSgpO3ZhciBiZD1iYigpO3ZhciBiZz0hYmQmJmJjJiZiZSYmYmgmJmJmO3JldHVybiBiZ31mdW5jdGlvbiBXKCl7cmV0dXJuICEhKGF3LnN3aXBlfHxhdy5zd2lwZVN0YXR1c3x8YXcuc3dpcGVMZWZ0fHxhdy5zd2lwZVJpZ2h0fHxhdy5zd2lwZVVwfHxhdy5zd2lwZURvd24pfWZ1bmN0aW9uIEooKXtyZXR1cm4gISEoYVcoKSYmVygpKX1mdW5jdGlvbiBhUCgpe3JldHVybigoWD09PWF3LmZpbmdlcnN8fGF3LmZpbmdlcnM9PT1pKXx8IWEpfWZ1bmN0aW9uIFkoKXtyZXR1cm4gYVJbMF0uZW5kLnghPT0wfWZ1bmN0aW9uIGE3KCl7cmV0dXJuICEhKGF3LnRhcCl9ZnVuY3Rpb24gWigpe3JldHVybiAhIShhdy5kb3VibGVUYXApfWZ1bmN0aW9uIGFWKCl7cmV0dXJuICEhKGF3LmxvbmdUYXApfWZ1bmN0aW9uIFIoKXtpZihPPT1udWxsKXtyZXR1cm4gZmFsc2V9dmFyIGJjPWF1KCk7cmV0dXJuKFooKSYmKChiYy1PKTw9YXcuZG91YmxlVGFwVGhyZXNob2xkKSl9ZnVuY3Rpb24gSSgpe3JldHVybiBSKCl9ZnVuY3Rpb24gYXkoKXtyZXR1cm4oKFg9PT0xfHwhYSkmJihpc05hTihhaCl8fGFoPGF3LnRocmVzaG9sZCkpfWZ1bmN0aW9uIGExKCl7cmV0dXJuKChhYz5hdy5sb25nVGFwVGhyZXNob2xkKSYmKGFoPHIpKX1mdW5jdGlvbiBhaSgpe3JldHVybiAhIShheSgpJiZhNygpKX1mdW5jdGlvbiBhSCgpe3JldHVybiAhIShSKCkmJlooKSl9ZnVuY3Rpb24gYXEoKXtyZXR1cm4gISEoYTEoKSYmYVYoKSl9ZnVuY3Rpb24gRygpe2E2PWF1KCk7YWU9ZXZlbnQudG91Y2hlcy5sZW5ndGgrMX1mdW5jdGlvbiBTKCl7YTY9MDthZT0wfWZ1bmN0aW9uIGFuKCl7dmFyIGJjPWZhbHNlO2lmKGE2KXt2YXIgYmQ9YXUoKS1hNjtpZihiZDw9YXcuZmluZ2VyUmVsZWFzZVRocmVzaG9sZCl7YmM9dHJ1ZX19cmV0dXJuIGJjfWZ1bmN0aW9uIGFDKCl7cmV0dXJuICEhKGFTLmRhdGEoQysiX2ludG91Y2giKT09PXRydWUpfWZ1bmN0aW9uIGFwKGJjKXtpZihiYz09PXRydWUpe2FTLmJpbmQoYXosYTQpO2FTLmJpbmQoVixNKTtpZihUKXthUy5iaW5kKFQsTCl9fWVsc2V7YVMudW5iaW5kKGF6LGE0LGZhbHNlKTthUy51bmJpbmQoVixNLGZhbHNlKTtpZihUKXthUy51bmJpbmQoVCxMLGZhbHNlKX19YVMuZGF0YShDKyJfaW50b3VjaCIsYmM9PT10cnVlKX1mdW5jdGlvbiBhaihiZCxiYyl7dmFyIGJlPWJjLmlkZW50aWZpZXIhPT11bmRlZmluZWQ/YmMuaWRlbnRpZmllcjowO2FSW2JkXS5pZGVudGlmaWVyPWJlO2FSW2JkXS5zdGFydC54PWFSW2JkXS5lbmQueD1iYy5wYWdlWHx8YmMuY2xpZW50WDthUltiZF0uc3RhcnQueT1hUltiZF0uZW5kLnk9YmMucGFnZVl8fGJjLmNsaWVudFk7cmV0dXJuIGFSW2JkXX1mdW5jdGlvbiBhSShiYyl7dmFyIGJlPWJjLmlkZW50aWZpZXIhPT11bmRlZmluZWQ/YmMuaWRlbnRpZmllcjowO3ZhciBiZD1hZChiZSk7YmQuZW5kLng9YmMucGFnZVh8fGJjLmNsaWVudFg7YmQuZW5kLnk9YmMucGFnZVl8fGJjLmNsaWVudFk7cmV0dXJuIGJkfWZ1bmN0aW9uIGFkKGJkKXtmb3IodmFyIGJjPTA7YmM8YVIubGVuZ3RoO2JjKyspe2lmKGFSW2JjXS5pZGVudGlmaWVyPT1iZCl7cmV0dXJuIGFSW2JjXX19fWZ1bmN0aW9uIGFrKCl7dmFyIGJjPVtdO2Zvcih2YXIgYmQ9MDtiZDw9NTtiZCsrKXtiYy5wdXNoKHtzdGFydDp7eDowLHk6MH0sZW5kOnt4OjAseTowfSxpZGVudGlmaWVyOjB9KX1yZXR1cm4gYmN9ZnVuY3Rpb24gYUooYmMsYmQpe2JkPU1hdGgubWF4KGJkLGFVKGJjKSk7TltiY10uZGlzdGFuY2U9YmR9ZnVuY3Rpb24gYVUoYmMpe2lmKE5bYmNdKXtyZXR1cm4gTltiY10uZGlzdGFuY2V9cmV0dXJuIHVuZGVmaW5lZH1mdW5jdGlvbiBhYigpe3ZhciBiYz17fTtiY1twXT1heChwKTtiY1tvXT1heChvKTtiY1tlXT1heChlKTtiY1t4XT1heCh4KTtyZXR1cm4gYmN9ZnVuY3Rpb24gYXgoYmMpe3JldHVybntkaXJlY3Rpb246YmMsZGlzdGFuY2U6MH19ZnVuY3Rpb24gYU4oKXtyZXR1cm4gYTMtVX1mdW5jdGlvbiBhdihiZixiZSl7dmFyIGJkPU1hdGguYWJzKGJmLngtYmUueCk7dmFyIGJjPU1hdGguYWJzKGJmLnktYmUueSk7cmV0dXJuIE1hdGgucm91bmQoTWF0aC5zcXJ0KGJkKmJkK2JjKmJjKSl9ZnVuY3Rpb24gYTgoYmMsYmQpe3ZhciBiZT0oYmQvYmMpKjE7cmV0dXJuIGJlLnRvRml4ZWQoMil9ZnVuY3Rpb24gYXQoKXtpZihIPDEpe3JldHVybiBBfWVsc2V7cmV0dXJuIGN9fWZ1bmN0aW9uIGFUKGJkLGJjKXtyZXR1cm4gTWF0aC5yb3VuZChNYXRoLnNxcnQoTWF0aC5wb3coYmMueC1iZC54LDIpK01hdGgucG93KGJjLnktYmQueSwyKSkpfWZ1bmN0aW9uIGFGKGJmLGJkKXt2YXIgYmM9YmYueC1iZC54O3ZhciBiaD1iZC55LWJmLnk7dmFyIGJlPU1hdGguYXRhbjIoYmgsYmMpO3ZhciBiZz1NYXRoLnJvdW5kKGJlKjE4MC9NYXRoLlBJKTtpZihiZzwwKXtiZz0zNjAtTWF0aC5hYnMoYmcpfXJldHVybiBiZ31mdW5jdGlvbiBhTShiZCxiYyl7dmFyIGJlPWFGKGJkLGJjKTtpZigoYmU8PTQ1KSYmKGJlPj0wKSl7cmV0dXJuIHB9ZWxzZXtpZigoYmU8PTM2MCkmJihiZT49MzE1KSl7cmV0dXJuIHB9ZWxzZXtpZigoYmU+PTEzNSkmJihiZTw9MjI1KSl7cmV0dXJuIG99ZWxzZXtpZigoYmU+NDUpJiYoYmU8MTM1KSl7cmV0dXJuIHh9ZWxzZXtyZXR1cm4gZX19fX19ZnVuY3Rpb24gYXUoKXt2YXIgYmM9bmV3IERhdGUoKTtyZXR1cm4gYmMuZ2V0VGltZSgpfWZ1bmN0aW9uIGFaKGJjKXtiYz1mKGJjKTt2YXIgYmU9YmMub2Zmc2V0KCk7dmFyIGJkPXtsZWZ0OmJlLmxlZnQscmlnaHQ6YmUubGVmdCtiYy5vdXRlcldpZHRoKCksdG9wOmJlLnRvcCxib3R0b206YmUudG9wK2JjLm91dGVySGVpZ2h0KCl9O3JldHVybiBiZH1mdW5jdGlvbiBGKGJjLGJkKXtyZXR1cm4oYmMueD5iZC5sZWZ0JiZiYy54PGJkLnJpZ2h0JiZiYy55PmJkLnRvcCYmYmMueTxiZC5ib3R0b20pfX19KSk7DQoNCmlmKHR5cGVvZihjb25zb2xlKSA9PT0gJ3VuZGVmaW5lZCcpIHsNCiAgICB2YXIgY29uc29sZSA9IHt9Ow0KICAgIGNvbnNvbGUubG9nID0gY29uc29sZS5lcnJvciA9IGNvbnNvbGUuaW5mbyA9IGNvbnNvbGUuZGVidWcgPSBjb25zb2xlLndhcm4gPSBjb25zb2xlLnRyYWNlID0gY29uc29sZS5kaXIgPSBjb25zb2xlLmRpcnhtbCA9IGNvbnNvbGUuZ3JvdXAgPSBjb25zb2xlLmdyb3VwRW5kID0gY29uc29sZS50aW1lID0gY29uc29sZS50aW1lRW5kID0gY29uc29sZS5hc3NlcnQgPSBjb25zb2xlLnByb2ZpbGUgPSBjb25zb2xlLmdyb3VwQ29sbGFwc2VkID0gZnVuY3Rpb24oKSB7fTsNCn0NCg0KaWYgKHdpbmRvdy50cGxvZ3M9PXRydWUpDQoJdHJ5IHsNCgkJY29uc29sZS5ncm91cENvbGxhcHNlZCgiVGhlbWVQdW5jaCBHcmVlblNvY2tzIExvZ3MiKTsNCgl9IGNhdGNoKGUpIHsgfQ0KDQoNCnZhciBvbGRncyA9IHdpbmRvdy5HcmVlblNvY2tHbG9iYWxzOw0KCW9sZGdzX3F1ZXVlID0gd2luZG93Ll9nc1F1ZXVlOw0KCQ0KdmFyIHB1bmNoZ3MgPSB3aW5kb3cuR3JlZW5Tb2NrR2xvYmFscyA9IHt9Ow0KDQppZiAod2luZG93LnRwbG9ncz09dHJ1ZSkNCgl0cnkgew0KCQljb25zb2xlLmluZm8oIkJ1aWxkIEdyZWVuU29jayBTYW5kQm94IGZvciBUaGVtZVB1bmNoIFBsdWdpbnMiKTsNCgkJY29uc29sZS5pbmZvKCJHcmVlblNvY2sgVHdlZW5MaXRlIEVuZ2luZSBJbml0YWxpc2VkIGJ5IFRoZW1lUHVuY2ggUGx1Z2luIik7DQoJfSBjYXRjaChlKSB7fQ0KDQoNCi8qIFRXRUVOIExJVEUgKi8NCi8qIQ0KICogVkVSU0lPTjogMS4xOS4xDQogKiBEQVRFOiAyMDE3LTAxLTE3DQogKiBVUERBVEVTIEFORCBET0NTIEFUOiBodHRwOi8vZ3JlZW5zb2NrLmNvbQ0KICoNCiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwOC0yMDE3LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQogKiBUaGlzIHdvcmsgaXMgc3ViamVjdCB0byB0aGUgdGVybXMgYXQgaHR0cDovL2dyZWVuc29jay5jb20vc3RhbmRhcmQtbGljZW5zZSBvciBmb3INCiAqIENsdWIgR3JlZW5Tb2NrIG1lbWJlcnMsIHRoZSBzb2Z0d2FyZSBhZ3JlZW1lbnQgdGhhdCB3YXMgaXNzdWVkIHdpdGggeW91ciBtZW1iZXJzaGlwLg0KICogDQogKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb20NCiAqLw0KIWZ1bmN0aW9uKGEsYil7InVzZSBzdHJpY3QiO3ZhciBjPXt9LGQ9YS5kb2N1bWVudCxlPWEuR3JlZW5Tb2NrR2xvYmFscz1hLkdyZWVuU29ja0dsb2JhbHN8fGE7aWYoIWUuVHdlZW5MaXRlKXt2YXIgZixnLGgsaSxqLGs9ZnVuY3Rpb24oYSl7dmFyIGIsYz1hLnNwbGl0KCIuIiksZD1lO2ZvcihiPTA7YjxjLmxlbmd0aDtiKyspZFtjW2JdXT1kPWRbY1tiXV18fHt9O3JldHVybiBkfSxsPWsoImNvbS5ncmVlbnNvY2siKSxtPTFlLTEwLG49ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXSxkPWEubGVuZ3RoO2ZvcihiPTA7YiE9PWQ7Yy5wdXNoKGFbYisrXSkpO3JldHVybiBjfSxvPWZ1bmN0aW9uKCl7fSxwPWZ1bmN0aW9uKCl7dmFyIGE9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxiPWEuY2FsbChbXSk7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBudWxsIT1jJiYoYyBpbnN0YW5jZW9mIEFycmF5fHwib2JqZWN0Ij09dHlwZW9mIGMmJiEhYy5wdXNoJiZhLmNhbGwoYyk9PT1iKX19KCkscT17fSxyPWZ1bmN0aW9uKGQsZixnLGgpe3RoaXMuc2M9cVtkXT9xW2RdLnNjOltdLHFbZF09dGhpcyx0aGlzLmdzQ2xhc3M9bnVsbCx0aGlzLmZ1bmM9Zzt2YXIgaT1bXTt0aGlzLmNoZWNrPWZ1bmN0aW9uKGope2Zvcih2YXIgbCxtLG4sbyxwLHM9Zi5sZW5ndGgsdD1zOy0tcz4tMTspKGw9cVtmW3NdXXx8bmV3IHIoZltzXSxbXSkpLmdzQ2xhc3M/KGlbc109bC5nc0NsYXNzLHQtLSk6aiYmbC5zYy5wdXNoKHRoaXMpO2lmKDA9PT10JiZnKXtpZihtPSgiY29tLmdyZWVuc29jay4iK2QpLnNwbGl0KCIuIiksbj1tLnBvcCgpLG89ayhtLmpvaW4oIi4iKSlbbl09dGhpcy5nc0NsYXNzPWcuYXBwbHkoZyxpKSxoKWlmKGVbbl09Y1tuXT1vLHA9InVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzLCFwJiYiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kKWRlZmluZSgoYS5HcmVlblNvY2tBTURQYXRoP2EuR3JlZW5Tb2NrQU1EUGF0aCsiLyI6IiIpK2Quc3BsaXQoIi4iKS5wb3AoKSxbXSxmdW5jdGlvbigpe3JldHVybiBvfSk7ZWxzZSBpZihwKWlmKGQ9PT1iKXttb2R1bGUuZXhwb3J0cz1jW2JdPW87Zm9yKHMgaW4gYylvW3NdPWNbc119ZWxzZSBjW2JdJiYoY1tiXVtuXT1vKTtmb3Iocz0wO3M8dGhpcy5zYy5sZW5ndGg7cysrKXRoaXMuc2Nbc10uY2hlY2soKX19LHRoaXMuY2hlY2soITApfSxzPWEuX2dzRGVmaW5lPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBuZXcgcihhLGIsYyxkKX0sdD1sLl9jbGFzcz1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGI9Ynx8ZnVuY3Rpb24oKXt9LHMoYSxbXSxmdW5jdGlvbigpe3JldHVybiBifSxjKSxifTtzLmdsb2JhbHM9ZTt2YXIgdT1bMCwwLDEsMV0sdj10KCJlYXNpbmcuRWFzZSIsZnVuY3Rpb24oYSxiLGMsZCl7dGhpcy5fZnVuYz1hLHRoaXMuX3R5cGU9Y3x8MCx0aGlzLl9wb3dlcj1kfHwwLHRoaXMuX3BhcmFtcz1iP3UuY29uY2F0KGIpOnV9LCEwKSx3PXYubWFwPXt9LHg9di5yZWdpc3Rlcj1mdW5jdGlvbihhLGIsYyxkKXtmb3IodmFyIGUsZixnLGgsaT1iLnNwbGl0KCIsIiksaj1pLmxlbmd0aCxrPShjfHwiZWFzZUluLGVhc2VPdXQsZWFzZUluT3V0Iikuc3BsaXQoIiwiKTstLWo+LTE7KWZvcihmPWlbal0sZT1kP3QoImVhc2luZy4iK2YsbnVsbCwhMCk6bC5lYXNpbmdbZl18fHt9LGc9ay5sZW5ndGg7LS1nPi0xOyloPWtbZ10sd1tmKyIuIitoXT13W2grZl09ZVtoXT1hLmdldFJhdGlvP2E6YVtoXXx8bmV3IGF9O2ZvcihoPXYucHJvdG90eXBlLGguX2NhbGNFbmQ9ITEsaC5nZXRSYXRpbz1mdW5jdGlvbihhKXtpZih0aGlzLl9mdW5jKXJldHVybiB0aGlzLl9wYXJhbXNbMF09YSx0aGlzLl9mdW5jLmFwcGx5KG51bGwsdGhpcy5fcGFyYW1zKTt2YXIgYj10aGlzLl90eXBlLGM9dGhpcy5fcG93ZXIsZD0xPT09Yj8xLWE6Mj09PWI/YTouNT5hPzIqYToyKigxLWEpO3JldHVybiAxPT09Yz9kKj1kOjI9PT1jP2QqPWQqZDozPT09Yz9kKj1kKmQqZDo0PT09YyYmKGQqPWQqZCpkKmQpLDE9PT1iPzEtZDoyPT09Yj9kOi41PmE/ZC8yOjEtZC8yfSxmPVsiTGluZWFyIiwiUXVhZCIsIkN1YmljIiwiUXVhcnQiLCJRdWludCxTdHJvbmciXSxnPWYubGVuZ3RoOy0tZz4tMTspaD1mW2ddKyIsUG93ZXIiK2cseChuZXcgdihudWxsLG51bGwsMSxnKSxoLCJlYXNlT3V0IiwhMCkseChuZXcgdihudWxsLG51bGwsMixnKSxoLCJlYXNlSW4iKygwPT09Zz8iLGVhc2VOb25lIjoiIikpLHgobmV3IHYobnVsbCxudWxsLDMsZyksaCwiZWFzZUluT3V0Iik7dy5saW5lYXI9bC5lYXNpbmcuTGluZWFyLmVhc2VJbix3LnN3aW5nPWwuZWFzaW5nLlF1YWQuZWFzZUluT3V0O3ZhciB5PXQoImV2ZW50cy5FdmVudERpc3BhdGNoZXIiLGZ1bmN0aW9uKGEpe3RoaXMuX2xpc3RlbmVycz17fSx0aGlzLl9ldmVudFRhcmdldD1hfHx0aGlzfSk7aD15LnByb3RvdHlwZSxoLmFkZEV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtlPWV8fDA7dmFyIGYsZyxoPXRoaXMuX2xpc3RlbmVyc1thXSxrPTA7Zm9yKHRoaXMhPT1pfHxqfHxpLndha2UoKSxudWxsPT1oJiYodGhpcy5fbGlzdGVuZXJzW2FdPWg9W10pLGc9aC5sZW5ndGg7LS1nPi0xOylmPWhbZ10sZi5jPT09YiYmZi5zPT09Yz9oLnNwbGljZShnLDEpOjA9PT1rJiZmLnByPGUmJihrPWcrMSk7aC5zcGxpY2UoaywwLHtjOmIsczpjLHVwOmQscHI6ZX0pfSxoLnJlbW92ZUV2ZW50TGlzdGVuZXI9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPXRoaXMuX2xpc3RlbmVyc1thXTtpZihkKWZvcihjPWQubGVuZ3RoOy0tYz4tMTspaWYoZFtjXS5jPT09YilyZXR1cm4gdm9pZCBkLnNwbGljZShjLDEpfSxoLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU9dGhpcy5fbGlzdGVuZXJzW2FdO2lmKGUpZm9yKGI9ZS5sZW5ndGgsYj4xJiYoZT1lLnNsaWNlKDApKSxjPXRoaXMuX2V2ZW50VGFyZ2V0Oy0tYj4tMTspZD1lW2JdLGQmJihkLnVwP2QuYy5jYWxsKGQuc3x8Yyx7dHlwZTphLHRhcmdldDpjfSk6ZC5jLmNhbGwoZC5zfHxjKSl9O3ZhciB6PWEucmVxdWVzdEFuaW1hdGlvbkZyYW1lLEE9YS5jYW5jZWxBbmltYXRpb25GcmFtZSxCPURhdGUubm93fHxmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0VGltZSgpfSxDPUIoKTtmb3IoZj1bIm1zIiwibW96Iiwid2Via2l0IiwibyJdLGc9Zi5sZW5ndGg7LS1nPi0xJiYhejspej1hW2ZbZ10rIlJlcXVlc3RBbmltYXRpb25GcmFtZSJdLEE9YVtmW2ddKyJDYW5jZWxBbmltYXRpb25GcmFtZSJdfHxhW2ZbZ10rIkNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZSJdO3QoIlRpY2tlciIsZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZyxoLGs9dGhpcyxsPUIoKSxuPWIhPT0hMSYmej8iYXV0byI6ITEscD01MDAscT0zMyxyPSJ0aWNrIixzPWZ1bmN0aW9uKGEpe3ZhciBiLGQsaT1CKCktQztpPnAmJihsKz1pLXEpLEMrPWksay50aW1lPShDLWwpLzFlMyxiPWsudGltZS1oLCghY3x8Yj4wfHxhPT09ITApJiYoay5mcmFtZSsrLGgrPWIrKGI+PWc/LjAwNDpnLWIpLGQ9ITApLGEhPT0hMCYmKGY9ZShzKSksZCYmay5kaXNwYXRjaEV2ZW50KHIpfTt5LmNhbGwoayksay50aW1lPWsuZnJhbWU9MCxrLnRpY2s9ZnVuY3Rpb24oKXtzKCEwKX0say5sYWdTbW9vdGhpbmc9ZnVuY3Rpb24oYSxiKXtwPWF8fDEvbSxxPU1hdGgubWluKGIscCwwKX0say5zbGVlcD1mdW5jdGlvbigpe251bGwhPWYmJihuJiZBP0EoZik6Y2xlYXJUaW1lb3V0KGYpLGU9byxmPW51bGwsaz09PWkmJihqPSExKSl9LGsud2FrZT1mdW5jdGlvbihhKXtudWxsIT09Zj9rLnNsZWVwKCk6YT9sKz0tQysoQz1CKCkpOmsuZnJhbWU+MTAmJihDPUIoKS1wKzUpLGU9MD09PWM/bzpuJiZ6P3o6ZnVuY3Rpb24oYSl7cmV0dXJuIHNldFRpbWVvdXQoYSwxZTMqKGgtay50aW1lKSsxfDApfSxrPT09aSYmKGo9ITApLHMoMil9LGsuZnBzPWZ1bmN0aW9uKGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyhjPWEsZz0xLyhjfHw2MCksaD10aGlzLnRpbWUrZyx2b2lkIGsud2FrZSgpKTpjfSxrLnVzZVJBRj1mdW5jdGlvbihhKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oay5zbGVlcCgpLG49YSx2b2lkIGsuZnBzKGMpKTpufSxrLmZwcyhhKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ImF1dG8iPT09biYmay5mcmFtZTw1JiYiaGlkZGVuIiE9PWQudmlzaWJpbGl0eVN0YXRlJiZrLnVzZVJBRighMSl9LDE1MDApfSksaD1sLlRpY2tlci5wcm90b3R5cGU9bmV3IGwuZXZlbnRzLkV2ZW50RGlzcGF0Y2hlcixoLmNvbnN0cnVjdG9yPWwuVGlja2VyO3ZhciBEPXQoImNvcmUuQW5pbWF0aW9uIixmdW5jdGlvbihhLGIpe2lmKHRoaXMudmFycz1iPWJ8fHt9LHRoaXMuX2R1cmF0aW9uPXRoaXMuX3RvdGFsRHVyYXRpb249YXx8MCx0aGlzLl9kZWxheT1OdW1iZXIoYi5kZWxheSl8fDAsdGhpcy5fdGltZVNjYWxlPTEsdGhpcy5fYWN0aXZlPWIuaW1tZWRpYXRlUmVuZGVyPT09ITAsdGhpcy5kYXRhPWIuZGF0YSx0aGlzLl9yZXZlcnNlZD1iLnJldmVyc2VkPT09ITAsVyl7anx8aS53YWtlKCk7dmFyIGM9dGhpcy52YXJzLnVzZUZyYW1lcz9WOlc7Yy5hZGQodGhpcyxjLl90aW1lKSx0aGlzLnZhcnMucGF1c2VkJiZ0aGlzLnBhdXNlZCghMCl9fSk7aT1ELnRpY2tlcj1uZXcgbC5UaWNrZXIsaD1ELnByb3RvdHlwZSxoLl9kaXJ0eT1oLl9nYz1oLl9pbml0dGVkPWguX3BhdXNlZD0hMSxoLl90b3RhbFRpbWU9aC5fdGltZT0wLGguX3Jhd1ByZXZUaW1lPS0xLGguX25leHQ9aC5fbGFzdD1oLl9vblVwZGF0ZT1oLl90aW1lbGluZT1oLnRpbWVsaW5lPW51bGwsaC5fcGF1c2VkPSExO3ZhciBFPWZ1bmN0aW9uKCl7aiYmQigpLUM+MmUzJiZpLndha2UoKSxzZXRUaW1lb3V0KEUsMmUzKX07RSgpLGgucGxheT1mdW5jdGlvbihhLGIpe3JldHVybiBudWxsIT1hJiZ0aGlzLnNlZWsoYSxiKSx0aGlzLnJldmVyc2VkKCExKS5wYXVzZWQoITEpfSxoLnBhdXNlPWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGwhPWEmJnRoaXMuc2VlayhhLGIpLHRoaXMucGF1c2VkKCEwKX0saC5yZXN1bWU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbCE9YSYmdGhpcy5zZWVrKGEsYiksdGhpcy5wYXVzZWQoITEpfSxoLnNlZWs9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy50b3RhbFRpbWUoTnVtYmVyKGEpLGIhPT0hMSl9LGgucmVzdGFydD1mdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLnJldmVyc2VkKCExKS5wYXVzZWQoITEpLnRvdGFsVGltZShhPy10aGlzLl9kZWxheTowLGIhPT0hMSwhMCl9LGgucmV2ZXJzZT1mdW5jdGlvbihhLGIpe3JldHVybiBudWxsIT1hJiZ0aGlzLnNlZWsoYXx8dGhpcy50b3RhbER1cmF0aW9uKCksYiksdGhpcy5yZXZlcnNlZCghMCkucGF1c2VkKCExKX0saC5yZW5kZXI9ZnVuY3Rpb24oYSxiLGMpe30saC5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3RpbWU9dGhpcy5fdG90YWxUaW1lPTAsdGhpcy5faW5pdHRlZD10aGlzLl9nYz0hMSx0aGlzLl9yYXdQcmV2VGltZT0tMSwodGhpcy5fZ2N8fCF0aGlzLnRpbWVsaW5lKSYmdGhpcy5fZW5hYmxlZCghMCksdGhpc30saC5pc0FjdGl2ZT1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy5fdGltZWxpbmUsYz10aGlzLl9zdGFydFRpbWU7cmV0dXJuIWJ8fCF0aGlzLl9nYyYmIXRoaXMuX3BhdXNlZCYmYi5pc0FjdGl2ZSgpJiYoYT1iLnJhd1RpbWUoITApKT49YyYmYTxjK3RoaXMudG90YWxEdXJhdGlvbigpL3RoaXMuX3RpbWVTY2FsZX0saC5fZW5hYmxlZD1mdW5jdGlvbihhLGIpe3JldHVybiBqfHxpLndha2UoKSx0aGlzLl9nYz0hYSx0aGlzLl9hY3RpdmU9dGhpcy5pc0FjdGl2ZSgpLGIhPT0hMCYmKGEmJiF0aGlzLnRpbWVsaW5lP3RoaXMuX3RpbWVsaW5lLmFkZCh0aGlzLHRoaXMuX3N0YXJ0VGltZS10aGlzLl9kZWxheSk6IWEmJnRoaXMudGltZWxpbmUmJnRoaXMuX3RpbWVsaW5lLl9yZW1vdmUodGhpcywhMCkpLCExfSxoLl9raWxsPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuX2VuYWJsZWQoITEsITEpfSxoLmtpbGw9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5fa2lsbChhLGIpLHRoaXN9LGguX3VuY2FjaGU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWE/dGhpczp0aGlzLnRpbWVsaW5lO2I7KWIuX2RpcnR5PSEwLGI9Yi50aW1lbGluZTtyZXR1cm4gdGhpc30saC5fc3dhcFNlbGZJblBhcmFtcz1mdW5jdGlvbihhKXtmb3IodmFyIGI9YS5sZW5ndGgsYz1hLmNvbmNhdCgpOy0tYj4tMTspIntzZWxmfSI9PT1hW2JdJiYoY1tiXT10aGlzKTtyZXR1cm4gY30saC5fY2FsbGJhY2s9ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy52YXJzLGM9YlthXSxkPWJbYSsiUGFyYW1zIl0sZT1iW2ErIlNjb3BlIl18fGIuY2FsbGJhY2tTY29wZXx8dGhpcyxmPWQ/ZC5sZW5ndGg6MDtzd2l0Y2goZil7Y2FzZSAwOmMuY2FsbChlKTticmVhaztjYXNlIDE6Yy5jYWxsKGUsZFswXSk7YnJlYWs7Y2FzZSAyOmMuY2FsbChlLGRbMF0sZFsxXSk7YnJlYWs7ZGVmYXVsdDpjLmFwcGx5KGUsZCl9fSxoLmV2ZW50Q2FsbGJhY2s9ZnVuY3Rpb24oYSxiLGMsZCl7aWYoIm9uIj09PShhfHwiIikuc3Vic3RyKDAsMikpe3ZhciBlPXRoaXMudmFycztpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZVthXTtudWxsPT1iP2RlbGV0ZSBlW2FdOihlW2FdPWIsZVthKyJQYXJhbXMiXT1wKGMpJiYtMSE9PWMuam9pbigiIikuaW5kZXhPZigie3NlbGZ9Iik/dGhpcy5fc3dhcFNlbGZJblBhcmFtcyhjKTpjLGVbYSsiU2NvcGUiXT1kKSwib25VcGRhdGUiPT09YSYmKHRoaXMuX29uVXBkYXRlPWIpfXJldHVybiB0aGlzfSxoLmRlbGF5PWZ1bmN0aW9uKGEpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyYmdGhpcy5zdGFydFRpbWUodGhpcy5fc3RhcnRUaW1lK2EtdGhpcy5fZGVsYXkpLHRoaXMuX2RlbGF5PWEsdGhpcyk6dGhpcy5fZGVsYXl9LGguZHVyYXRpb249ZnVuY3Rpb24oYSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2R1cmF0aW9uPXRoaXMuX3RvdGFsRHVyYXRpb249YSx0aGlzLl91bmNhY2hlKCEwKSx0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyYmdGhpcy5fdGltZT4wJiZ0aGlzLl90aW1lPHRoaXMuX2R1cmF0aW9uJiYwIT09YSYmdGhpcy50b3RhbFRpbWUodGhpcy5fdG90YWxUaW1lKihhL3RoaXMuX2R1cmF0aW9uKSwhMCksdGhpcyk6KHRoaXMuX2RpcnR5PSExLHRoaXMuX2R1cmF0aW9uKX0saC50b3RhbER1cmF0aW9uPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9kaXJ0eT0hMSxhcmd1bWVudHMubGVuZ3RoP3RoaXMuZHVyYXRpb24oYSk6dGhpcy5fdG90YWxEdXJhdGlvbn0saC50aW1lPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX2RpcnR5JiZ0aGlzLnRvdGFsRHVyYXRpb24oKSx0aGlzLnRvdGFsVGltZShhPnRoaXMuX2R1cmF0aW9uP3RoaXMuX2R1cmF0aW9uOmEsYikpOnRoaXMuX3RpbWV9LGgudG90YWxUaW1lPWZ1bmN0aW9uKGEsYixjKXtpZihqfHxpLndha2UoKSwhYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5fdG90YWxUaW1lO2lmKHRoaXMuX3RpbWVsaW5lKXtpZigwPmEmJiFjJiYoYSs9dGhpcy50b3RhbER1cmF0aW9uKCkpLHRoaXMuX3RpbWVsaW5lLnNtb290aENoaWxkVGltaW5nKXt0aGlzLl9kaXJ0eSYmdGhpcy50b3RhbER1cmF0aW9uKCk7dmFyIGQ9dGhpcy5fdG90YWxEdXJhdGlvbixlPXRoaXMuX3RpbWVsaW5lO2lmKGE+ZCYmIWMmJihhPWQpLHRoaXMuX3N0YXJ0VGltZT0odGhpcy5fcGF1c2VkP3RoaXMuX3BhdXNlVGltZTplLl90aW1lKS0odGhpcy5fcmV2ZXJzZWQ/ZC1hOmEpL3RoaXMuX3RpbWVTY2FsZSxlLl9kaXJ0eXx8dGhpcy5fdW5jYWNoZSghMSksZS5fdGltZWxpbmUpZm9yKDtlLl90aW1lbGluZTspZS5fdGltZWxpbmUuX3RpbWUhPT0oZS5fc3RhcnRUaW1lK2UuX3RvdGFsVGltZSkvZS5fdGltZVNjYWxlJiZlLnRvdGFsVGltZShlLl90b3RhbFRpbWUsITApLGU9ZS5fdGltZWxpbmV9dGhpcy5fZ2MmJnRoaXMuX2VuYWJsZWQoITAsITEpLCh0aGlzLl90b3RhbFRpbWUhPT1hfHwwPT09dGhpcy5fZHVyYXRpb24pJiYoSi5sZW5ndGgmJlkoKSx0aGlzLnJlbmRlcihhLGIsITEpLEoubGVuZ3RoJiZZKCkpfXJldHVybiB0aGlzfSxoLnByb2dyZXNzPWgudG90YWxQcm9ncmVzcz1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZHVyYXRpb24oKTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD90aGlzLnRvdGFsVGltZShjKmEsYik6Yz90aGlzLl90aW1lL2M6dGhpcy5yYXRpb30saC5zdGFydFRpbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KGEhPT10aGlzLl9zdGFydFRpbWUmJih0aGlzLl9zdGFydFRpbWU9YSx0aGlzLnRpbWVsaW5lJiZ0aGlzLnRpbWVsaW5lLl9zb3J0Q2hpbGRyZW4mJnRoaXMudGltZWxpbmUuYWRkKHRoaXMsYS10aGlzLl9kZWxheSkpLHRoaXMpOnRoaXMuX3N0YXJ0VGltZX0saC5lbmRUaW1lPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9zdGFydFRpbWUrKDAhPWE/dGhpcy50b3RhbER1cmF0aW9uKCk6dGhpcy5kdXJhdGlvbigpKS90aGlzLl90aW1lU2NhbGV9LGgudGltZVNjYWxlPWZ1bmN0aW9uKGEpe2lmKCFhcmd1bWVudHMubGVuZ3RoKXJldHVybiB0aGlzLl90aW1lU2NhbGU7aWYoYT1hfHxtLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyl7dmFyIGI9dGhpcy5fcGF1c2VUaW1lLGM9Ynx8MD09PWI/Yjp0aGlzLl90aW1lbGluZS50b3RhbFRpbWUoKTt0aGlzLl9zdGFydFRpbWU9Yy0oYy10aGlzLl9zdGFydFRpbWUpKnRoaXMuX3RpbWVTY2FsZS9hfXJldHVybiB0aGlzLl90aW1lU2NhbGU9YSx0aGlzLl91bmNhY2hlKCExKX0saC5yZXZlcnNlZD1mdW5jdGlvbihhKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYSE9dGhpcy5fcmV2ZXJzZWQmJih0aGlzLl9yZXZlcnNlZD1hLHRoaXMudG90YWxUaW1lKHRoaXMuX3RpbWVsaW5lJiYhdGhpcy5fdGltZWxpbmUuc21vb3RoQ2hpbGRUaW1pbmc/dGhpcy50b3RhbER1cmF0aW9uKCktdGhpcy5fdG90YWxUaW1lOnRoaXMuX3RvdGFsVGltZSwhMCkpLHRoaXMpOnRoaXMuX3JldmVyc2VkfSxoLnBhdXNlZD1mdW5jdGlvbihhKXtpZighYXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdGhpcy5fcGF1c2VkO3ZhciBiLGMsZD10aGlzLl90aW1lbGluZTtyZXR1cm4gYSE9dGhpcy5fcGF1c2VkJiZkJiYoanx8YXx8aS53YWtlKCksYj1kLnJhd1RpbWUoKSxjPWItdGhpcy5fcGF1c2VUaW1lLCFhJiZkLnNtb290aENoaWxkVGltaW5nJiYodGhpcy5fc3RhcnRUaW1lKz1jLHRoaXMuX3VuY2FjaGUoITEpKSx0aGlzLl9wYXVzZVRpbWU9YT9iOm51bGwsdGhpcy5fcGF1c2VkPWEsdGhpcy5fYWN0aXZlPXRoaXMuaXNBY3RpdmUoKSwhYSYmMCE9PWMmJnRoaXMuX2luaXR0ZWQmJnRoaXMuZHVyYXRpb24oKSYmKGI9ZC5zbW9vdGhDaGlsZFRpbWluZz90aGlzLl90b3RhbFRpbWU6KGItdGhpcy5fc3RhcnRUaW1lKS90aGlzLl90aW1lU2NhbGUsdGhpcy5yZW5kZXIoYixiPT09dGhpcy5fdG90YWxUaW1lLCEwKSkpLHRoaXMuX2djJiYhYSYmdGhpcy5fZW5hYmxlZCghMCwhMSksdGhpc307dmFyIEY9dCgiY29yZS5TaW1wbGVUaW1lbGluZSIsZnVuY3Rpb24oYSl7RC5jYWxsKHRoaXMsMCxhKSx0aGlzLmF1dG9SZW1vdmVDaGlsZHJlbj10aGlzLnNtb290aENoaWxkVGltaW5nPSEwfSk7aD1GLnByb3RvdHlwZT1uZXcgRCxoLmNvbnN0cnVjdG9yPUYsaC5raWxsKCkuX2djPSExLGguX2ZpcnN0PWguX2xhc3Q9aC5fcmVjZW50PW51bGwsaC5fc29ydENoaWxkcmVuPSExLGguYWRkPWguaW5zZXJ0PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGY7aWYoYS5fc3RhcnRUaW1lPU51bWJlcihifHwwKSthLl9kZWxheSxhLl9wYXVzZWQmJnRoaXMhPT1hLl90aW1lbGluZSYmKGEuX3BhdXNlVGltZT1hLl9zdGFydFRpbWUrKHRoaXMucmF3VGltZSgpLWEuX3N0YXJ0VGltZSkvYS5fdGltZVNjYWxlKSxhLnRpbWVsaW5lJiZhLnRpbWVsaW5lLl9yZW1vdmUoYSwhMCksYS50aW1lbGluZT1hLl90aW1lbGluZT10aGlzLGEuX2djJiZhLl9lbmFibGVkKCEwLCEwKSxlPXRoaXMuX2xhc3QsdGhpcy5fc29ydENoaWxkcmVuKWZvcihmPWEuX3N0YXJ0VGltZTtlJiZlLl9zdGFydFRpbWU+ZjspZT1lLl9wcmV2O3JldHVybiBlPyhhLl9uZXh0PWUuX25leHQsZS5fbmV4dD1hKTooYS5fbmV4dD10aGlzLl9maXJzdCx0aGlzLl9maXJzdD1hKSxhLl9uZXh0P2EuX25leHQuX3ByZXY9YTp0aGlzLl9sYXN0PWEsYS5fcHJldj1lLHRoaXMuX3JlY2VudD1hLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl91bmNhY2hlKCEwKSx0aGlzfSxoLl9yZW1vdmU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS50aW1lbGluZT09PXRoaXMmJihifHxhLl9lbmFibGVkKCExLCEwKSxhLl9wcmV2P2EuX3ByZXYuX25leHQ9YS5fbmV4dDp0aGlzLl9maXJzdD09PWEmJih0aGlzLl9maXJzdD1hLl9uZXh0KSxhLl9uZXh0P2EuX25leHQuX3ByZXY9YS5fcHJldjp0aGlzLl9sYXN0PT09YSYmKHRoaXMuX2xhc3Q9YS5fcHJldiksYS5fbmV4dD1hLl9wcmV2PWEudGltZWxpbmU9bnVsbCxhPT09dGhpcy5fcmVjZW50JiYodGhpcy5fcmVjZW50PXRoaXMuX2xhc3QpLHRoaXMuX3RpbWVsaW5lJiZ0aGlzLl91bmNhY2hlKCEwKSksdGhpc30saC5yZW5kZXI9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9dGhpcy5fZmlyc3Q7Zm9yKHRoaXMuX3RvdGFsVGltZT10aGlzLl90aW1lPXRoaXMuX3Jhd1ByZXZUaW1lPWE7ZTspZD1lLl9uZXh0LChlLl9hY3RpdmV8fGE+PWUuX3N0YXJ0VGltZSYmIWUuX3BhdXNlZCkmJihlLl9yZXZlcnNlZD9lLnJlbmRlcigoZS5fZGlydHk/ZS50b3RhbER1cmF0aW9uKCk6ZS5fdG90YWxEdXJhdGlvbiktKGEtZS5fc3RhcnRUaW1lKSplLl90aW1lU2NhbGUsYixjKTplLnJlbmRlcigoYS1lLl9zdGFydFRpbWUpKmUuX3RpbWVTY2FsZSxiLGMpKSxlPWR9LGgucmF3VGltZT1mdW5jdGlvbigpe3JldHVybiBqfHxpLndha2UoKSx0aGlzLl90b3RhbFRpbWV9O3ZhciBHPXQoIlR3ZWVuTGl0ZSIsZnVuY3Rpb24oYixjLGQpe2lmKEQuY2FsbCh0aGlzLGMsZCksdGhpcy5yZW5kZXI9Ry5wcm90b3R5cGUucmVuZGVyLG51bGw9PWIpdGhyb3ciQ2Fubm90IHR3ZWVuIGEgbnVsbCB0YXJnZXQuIjt0aGlzLnRhcmdldD1iPSJzdHJpbmciIT10eXBlb2YgYj9iOkcuc2VsZWN0b3IoYil8fGI7dmFyIGUsZixnLGg9Yi5qcXVlcnl8fGIubGVuZ3RoJiZiIT09YSYmYlswXSYmKGJbMF09PT1hfHxiWzBdLm5vZGVUeXBlJiZiWzBdLnN0eWxlJiYhYi5ub2RlVHlwZSksaT10aGlzLnZhcnMub3ZlcndyaXRlO2lmKHRoaXMuX292ZXJ3cml0ZT1pPW51bGw9PWk/VVtHLmRlZmF1bHRPdmVyd3JpdGVdOiJudW1iZXIiPT10eXBlb2YgaT9pPj4wOlVbaV0sKGh8fGIgaW5zdGFuY2VvZiBBcnJheXx8Yi5wdXNoJiZwKGIpKSYmIm51bWJlciIhPXR5cGVvZiBiWzBdKWZvcih0aGlzLl90YXJnZXRzPWc9bihiKSx0aGlzLl9wcm9wTG9va3VwPVtdLHRoaXMuX3NpYmxpbmdzPVtdLGU9MDtlPGcubGVuZ3RoO2UrKylmPWdbZV0sZj8ic3RyaW5nIiE9dHlwZW9mIGY/Zi5sZW5ndGgmJmYhPT1hJiZmWzBdJiYoZlswXT09PWF8fGZbMF0ubm9kZVR5cGUmJmZbMF0uc3R5bGUmJiFmLm5vZGVUeXBlKT8oZy5zcGxpY2UoZS0tLDEpLHRoaXMuX3RhcmdldHM9Zz1nLmNvbmNhdChuKGYpKSk6KHRoaXMuX3NpYmxpbmdzW2VdPVooZix0aGlzLCExKSwxPT09aSYmdGhpcy5fc2libGluZ3NbZV0ubGVuZ3RoPjEmJl8oZix0aGlzLG51bGwsMSx0aGlzLl9zaWJsaW5nc1tlXSkpOihmPWdbZS0tXT1HLnNlbGVjdG9yKGYpLCJzdHJpbmciPT10eXBlb2YgZiYmZy5zcGxpY2UoZSsxLDEpKTpnLnNwbGljZShlLS0sMSk7ZWxzZSB0aGlzLl9wcm9wTG9va3VwPXt9LHRoaXMuX3NpYmxpbmdzPVooYix0aGlzLCExKSwxPT09aSYmdGhpcy5fc2libGluZ3MubGVuZ3RoPjEmJl8oYix0aGlzLG51bGwsMSx0aGlzLl9zaWJsaW5ncyk7KHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXJ8fDA9PT1jJiYwPT09dGhpcy5fZGVsYXkmJnRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXIhPT0hMSkmJih0aGlzLl90aW1lPS1tLHRoaXMucmVuZGVyKE1hdGgubWluKDAsLXRoaXMuX2RlbGF5KSkpfSwhMCksSD1mdW5jdGlvbihiKXtyZXR1cm4gYiYmYi5sZW5ndGgmJmIhPT1hJiZiWzBdJiYoYlswXT09PWF8fGJbMF0ubm9kZVR5cGUmJmJbMF0uc3R5bGUmJiFiLm5vZGVUeXBlKX0sST1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9e307Zm9yKGMgaW4gYSlUW2NdfHxjIGluIGImJiJ0cmFuc2Zvcm0iIT09YyYmIngiIT09YyYmInkiIT09YyYmIndpZHRoIiE9PWMmJiJoZWlnaHQiIT09YyYmImNsYXNzTmFtZSIhPT1jJiYiYm9yZGVyIiE9PWN8fCEoIVFbY118fFFbY10mJlFbY10uX2F1dG9DU1MpfHwoZFtjXT1hW2NdLGRlbGV0ZSBhW2NdKTthLmNzcz1kfTtoPUcucHJvdG90eXBlPW5ldyBELGguY29uc3RydWN0b3I9RyxoLmtpbGwoKS5fZ2M9ITEsaC5yYXRpbz0wLGguX2ZpcnN0UFQ9aC5fdGFyZ2V0cz1oLl9vdmVyd3JpdHRlblByb3BzPWguX3N0YXJ0QXQ9bnVsbCxoLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkPWguX2xhenk9ITEsRy52ZXJzaW9uPSIxLjE5LjEiLEcuZGVmYXVsdEVhc2U9aC5fZWFzZT1uZXcgdihudWxsLG51bGwsMSwxKSxHLmRlZmF1bHRPdmVyd3JpdGU9ImF1dG8iLEcudGlja2VyPWksRy5hdXRvU2xlZXA9MTIwLEcubGFnU21vb3RoaW5nPWZ1bmN0aW9uKGEsYil7aS5sYWdTbW9vdGhpbmcoYSxiKX0sRy5zZWxlY3Rvcj1hLiR8fGEualF1ZXJ5fHxmdW5jdGlvbihiKXt2YXIgYz1hLiR8fGEualF1ZXJ5O3JldHVybiBjPyhHLnNlbGVjdG9yPWMsYyhiKSk6InVuZGVmaW5lZCI9PXR5cGVvZiBkP2I6ZC5xdWVyeVNlbGVjdG9yQWxsP2QucXVlcnlTZWxlY3RvckFsbChiKTpkLmdldEVsZW1lbnRCeUlkKCIjIj09PWIuY2hhckF0KDApP2Iuc3Vic3RyKDEpOmIpfTt2YXIgSj1bXSxLPXt9LEw9Lyg/OigtfC09fFwrPSk/XGQqXC4/XGQqKD86ZVtcLStdP1xkKyk/KVswLTldL2dpLE09ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGM9dGhpcy5fZmlyc3RQVCxkPTFlLTY7YzspYj1jLmJsb2I/MT09PWE/dGhpcy5lbmQ6YT90aGlzLmpvaW4oIiIpOnRoaXMuc3RhcnQ6Yy5jKmErYy5zLGMubT9iPWMubShiLHRoaXMuX3RhcmdldHx8Yy50KTpkPmImJmI+LWQmJiFjLmJsb2ImJihiPTApLGMuZj9jLmZwP2MudFtjLnBdKGMuZnAsYik6Yy50W2MucF0oYik6Yy50W2MucF09YixjPWMuX25leHR9LE49ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqLGssbD1bXSxtPTAsbj0iIixvPTA7Zm9yKGwuc3RhcnQ9YSxsLmVuZD1iLGE9bFswXT1hKyIiLGI9bFsxXT1iKyIiLGMmJihjKGwpLGE9bFswXSxiPWxbMV0pLGwubGVuZ3RoPTAsZT1hLm1hdGNoKEwpfHxbXSxmPWIubWF0Y2goTCl8fFtdLGQmJihkLl9uZXh0PW51bGwsZC5ibG9iPTEsbC5fZmlyc3RQVD1sLl9hcHBseVBUPWQpLGk9Zi5sZW5ndGgsaD0wO2k+aDtoKyspaz1mW2hdLGo9Yi5zdWJzdHIobSxiLmluZGV4T2YoayxtKS1tKSxuKz1qfHwhaD9qOiIsIixtKz1qLmxlbmd0aCxvP289KG8rMSklNToicmdiYSgiPT09ai5zdWJzdHIoLTUpJiYobz0xKSxrPT09ZVtoXXx8ZS5sZW5ndGg8PWg/bis9azoobiYmKGwucHVzaChuKSxuPSIiKSxnPXBhcnNlRmxvYXQoZVtoXSksbC5wdXNoKGcpLGwuX2ZpcnN0UFQ9e19uZXh0OmwuX2ZpcnN0UFQsdDpsLHA6bC5sZW5ndGgtMSxzOmcsYzooIj0iPT09ay5jaGFyQXQoMSk/cGFyc2VJbnQoay5jaGFyQXQoMCkrIjEiLDEwKSpwYXJzZUZsb2F0KGsuc3Vic3RyKDIpKTpwYXJzZUZsb2F0KGspLWcpfHwwLGY6MCxtOm8mJjQ+bz9NYXRoLnJvdW5kOjB9KSxtKz1rLmxlbmd0aDtyZXR1cm4gbis9Yi5zdWJzdHIobSksbiYmbC5wdXNoKG4pLGwuc2V0UmF0aW89TSxsfSxPPWZ1bmN0aW9uKGEsYixjLGQsZSxmLGcsaCxpKXsiZnVuY3Rpb24iPT10eXBlb2YgZCYmKGQ9ZChpfHwwLGEpKTt2YXIgaixrPXR5cGVvZiBhW2JdLGw9ImZ1bmN0aW9uIiE9PWs/IiI6Yi5pbmRleE9mKCJzZXQiKXx8ImZ1bmN0aW9uIiE9dHlwZW9mIGFbImdldCIrYi5zdWJzdHIoMyldP2I6ImdldCIrYi5zdWJzdHIoMyksbT0iZ2V0IiE9PWM/YzpsP2c/YVtsXShnKTphW2xdKCk6YVtiXSxuPSJzdHJpbmciPT10eXBlb2YgZCYmIj0iPT09ZC5jaGFyQXQoMSksbz17dDphLHA6YixzOm0sZjoiZnVuY3Rpb24iPT09ayxwZzowLG46ZXx8YixtOmY/ImZ1bmN0aW9uIj09dHlwZW9mIGY/ZjpNYXRoLnJvdW5kOjAscHI6MCxjOm4/cGFyc2VJbnQoZC5jaGFyQXQoMCkrIjEiLDEwKSpwYXJzZUZsb2F0KGQuc3Vic3RyKDIpKTpwYXJzZUZsb2F0KGQpLW18fDB9O3JldHVybigibnVtYmVyIiE9dHlwZW9mIG18fCJudW1iZXIiIT10eXBlb2YgZCYmIW4pJiYoZ3x8aXNOYU4obSl8fCFuJiZpc05hTihkKXx8ImJvb2xlYW4iPT10eXBlb2YgbXx8ImJvb2xlYW4iPT10eXBlb2YgZD8oby5mcD1nLGo9TihtLG4/by5zK28uYzpkLGh8fEcuZGVmYXVsdFN0cmluZ0ZpbHRlcixvKSxvPXt0OmoscDoic2V0UmF0aW8iLHM6MCxjOjEsZjoyLHBnOjAsbjplfHxiLHByOjAsbTowfSk6KG8ucz1wYXJzZUZsb2F0KG0pLG58fChvLmM9cGFyc2VGbG9hdChkKS1vLnN8fDApKSksby5jPygoby5fbmV4dD10aGlzLl9maXJzdFBUKSYmKG8uX25leHQuX3ByZXY9byksdGhpcy5fZmlyc3RQVD1vLG8pOnZvaWQgMH0sUD1HLl9pbnRlcm5hbHM9e2lzQXJyYXk6cCxpc1NlbGVjdG9yOkgsbGF6eVR3ZWVuczpKLGJsb2JEaWY6Tn0sUT1HLl9wbHVnaW5zPXt9LFI9UC50d2Vlbkxvb2t1cD17fSxTPTAsVD1QLnJlc2VydmVkUHJvcHM9e2Vhc2U6MSxkZWxheToxLG92ZXJ3cml0ZToxLG9uQ29tcGxldGU6MSxvbkNvbXBsZXRlUGFyYW1zOjEsb25Db21wbGV0ZVNjb3BlOjEsdXNlRnJhbWVzOjEscnVuQmFja3dhcmRzOjEsc3RhcnRBdDoxLG9uVXBkYXRlOjEsb25VcGRhdGVQYXJhbXM6MSxvblVwZGF0ZVNjb3BlOjEsb25TdGFydDoxLG9uU3RhcnRQYXJhbXM6MSxvblN0YXJ0U2NvcGU6MSxvblJldmVyc2VDb21wbGV0ZToxLG9uUmV2ZXJzZUNvbXBsZXRlUGFyYW1zOjEsb25SZXZlcnNlQ29tcGxldGVTY29wZToxLG9uUmVwZWF0OjEsb25SZXBlYXRQYXJhbXM6MSxvblJlcGVhdFNjb3BlOjEsZWFzZVBhcmFtczoxLHlveW86MSxpbW1lZGlhdGVSZW5kZXI6MSxyZXBlYXQ6MSxyZXBlYXREZWxheToxLGRhdGE6MSxwYXVzZWQ6MSxyZXZlcnNlZDoxLGF1dG9DU1M6MSxsYXp5OjEsb25PdmVyd3JpdGU6MSxjYWxsYmFja1Njb3BlOjEsc3RyaW5nRmlsdGVyOjEsaWQ6MX0sVT17bm9uZTowLGFsbDoxLGF1dG86Mixjb25jdXJyZW50OjMsYWxsT25TdGFydDo0LHByZWV4aXN0aW5nOjUsInRydWUiOjEsImZhbHNlIjowfSxWPUQuX3Jvb3RGcmFtZXNUaW1lbGluZT1uZXcgRixXPUQuX3Jvb3RUaW1lbGluZT1uZXcgRixYPTMwLFk9UC5sYXp5UmVuZGVyPWZ1bmN0aW9uKCl7dmFyIGEsYj1KLmxlbmd0aDtmb3IoSz17fTstLWI+LTE7KWE9SltiXSxhJiZhLl9sYXp5IT09ITEmJihhLnJlbmRlcihhLl9sYXp5WzBdLGEuX2xhenlbMV0sITApLGEuX2xhenk9ITEpO0oubGVuZ3RoPTB9O1cuX3N0YXJ0VGltZT1pLnRpbWUsVi5fc3RhcnRUaW1lPWkuZnJhbWUsVy5fYWN0aXZlPVYuX2FjdGl2ZT0hMCxzZXRUaW1lb3V0KFksMSksRC5fdXBkYXRlUm9vdD1HLnJlbmRlcj1mdW5jdGlvbigpe3ZhciBhLGIsYztpZihKLmxlbmd0aCYmWSgpLFcucmVuZGVyKChpLnRpbWUtVy5fc3RhcnRUaW1lKSpXLl90aW1lU2NhbGUsITEsITEpLFYucmVuZGVyKChpLmZyYW1lLVYuX3N0YXJ0VGltZSkqVi5fdGltZVNjYWxlLCExLCExKSxKLmxlbmd0aCYmWSgpLGkuZnJhbWU+PVgpe1g9aS5mcmFtZSsocGFyc2VJbnQoRy5hdXRvU2xlZXAsMTApfHwxMjApO2ZvcihjIGluIFIpe2ZvcihiPVJbY10udHdlZW5zLGE9Yi5sZW5ndGg7LS1hPi0xOyliW2FdLl9nYyYmYi5zcGxpY2UoYSwxKTswPT09Yi5sZW5ndGgmJmRlbGV0ZSBSW2NdfWlmKGM9Vy5fZmlyc3QsKCFjfHxjLl9wYXVzZWQpJiZHLmF1dG9TbGVlcCYmIVYuX2ZpcnN0JiYxPT09aS5fbGlzdGVuZXJzLnRpY2subGVuZ3RoKXtmb3IoO2MmJmMuX3BhdXNlZDspYz1jLl9uZXh0O2N8fGkuc2xlZXAoKX19fSxpLmFkZEV2ZW50TGlzdGVuZXIoInRpY2siLEQuX3VwZGF0ZVJvb3QpO3ZhciBaPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9YS5fZ3NUd2VlbklEO2lmKFJbZnx8KGEuX2dzVHdlZW5JRD1mPSJ0IitTKyspXXx8KFJbZl09e3RhcmdldDphLHR3ZWVuczpbXX0pLGImJihkPVJbZl0udHdlZW5zLGRbZT1kLmxlbmd0aF09YixjKSlmb3IoOy0tZT4tMTspZFtlXT09PWImJmQuc3BsaWNlKGUsMSk7cmV0dXJuIFJbZl0udHdlZW5zfSwkPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz1hLnZhcnMub25PdmVyd3JpdGU7cmV0dXJuIGcmJihlPWcoYSxiLGMsZCkpLGc9Ry5vbk92ZXJ3cml0ZSxnJiYoZj1nKGEsYixjLGQpKSxlIT09ITEmJmYhPT0hMX0sXz1mdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpO2lmKDE9PT1kfHxkPj00KXtmb3IoaT1lLmxlbmd0aCxmPTA7aT5mO2YrKylpZigoaD1lW2ZdKSE9PWIpaC5fZ2N8fGguX2tpbGwobnVsbCxhLGIpJiYoZz0hMCk7ZWxzZSBpZig1PT09ZClicmVhaztyZXR1cm4gZ312YXIgaixrPWIuX3N0YXJ0VGltZSttLGw9W10sbj0wLG89MD09PWIuX2R1cmF0aW9uO2ZvcihmPWUubGVuZ3RoOy0tZj4tMTspKGg9ZVtmXSk9PT1ifHxoLl9nY3x8aC5fcGF1c2VkfHwoaC5fdGltZWxpbmUhPT1iLl90aW1lbGluZT8oaj1qfHxhYShiLDAsbyksMD09PWFhKGgsaixvKSYmKGxbbisrXT1oKSk6aC5fc3RhcnRUaW1lPD1rJiZoLl9zdGFydFRpbWUraC50b3RhbER1cmF0aW9uKCkvaC5fdGltZVNjYWxlPmsmJigob3x8IWguX2luaXR0ZWQpJiZrLWguX3N0YXJ0VGltZTw9MmUtMTB8fChsW24rK109aCkpKTtmb3IoZj1uOy0tZj4tMTspaWYoaD1sW2ZdLDI9PT1kJiZoLl9raWxsKGMsYSxiKSYmKGc9ITApLDIhPT1kfHwhaC5fZmlyc3RQVCYmaC5faW5pdHRlZCl7aWYoMiE9PWQmJiEkKGgsYikpY29udGludWU7aC5fZW5hYmxlZCghMSwhMSkmJihnPSEwKX1yZXR1cm4gZ30sYWE9ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZD1hLl90aW1lbGluZSxlPWQuX3RpbWVTY2FsZSxmPWEuX3N0YXJ0VGltZTtkLl90aW1lbGluZTspe2lmKGYrPWQuX3N0YXJ0VGltZSxlKj1kLl90aW1lU2NhbGUsZC5fcGF1c2VkKXJldHVybi0xMDA7ZD1kLl90aW1lbGluZX1yZXR1cm4gZi89ZSxmPmI/Zi1iOmMmJmY9PT1ifHwhYS5faW5pdHRlZCYmMiptPmYtYj9tOihmKz1hLnRvdGFsRHVyYXRpb24oKS9hLl90aW1lU2NhbGUvZSk+YittPzA6Zi1iLW19O2guX2luaXQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz10aGlzLnZhcnMsaD10aGlzLl9vdmVyd3JpdHRlblByb3BzLGk9dGhpcy5fZHVyYXRpb24saj0hIWcuaW1tZWRpYXRlUmVuZGVyLGs9Zy5lYXNlO2lmKGcuc3RhcnRBdCl7dGhpcy5fc3RhcnRBdCYmKHRoaXMuX3N0YXJ0QXQucmVuZGVyKC0xLCEwKSx0aGlzLl9zdGFydEF0LmtpbGwoKSksZT17fTtmb3IoZCBpbiBnLnN0YXJ0QXQpZVtkXT1nLnN0YXJ0QXRbZF07aWYoZS5vdmVyd3JpdGU9ITEsZS5pbW1lZGlhdGVSZW5kZXI9ITAsZS5sYXp5PWomJmcubGF6eSE9PSExLGUuc3RhcnRBdD1lLmRlbGF5PW51bGwsdGhpcy5fc3RhcnRBdD1HLnRvKHRoaXMudGFyZ2V0LDAsZSksailpZih0aGlzLl90aW1lPjApdGhpcy5fc3RhcnRBdD1udWxsO2Vsc2UgaWYoMCE9PWkpcmV0dXJufWVsc2UgaWYoZy5ydW5CYWNrd2FyZHMmJjAhPT1pKWlmKHRoaXMuX3N0YXJ0QXQpdGhpcy5fc3RhcnRBdC5yZW5kZXIoLTEsITApLHRoaXMuX3N0YXJ0QXQua2lsbCgpLHRoaXMuX3N0YXJ0QXQ9bnVsbDtlbHNlezAhPT10aGlzLl90aW1lJiYoaj0hMSksYz17fTtmb3IoZCBpbiBnKVRbZF0mJiJhdXRvQ1NTIiE9PWR8fChjW2RdPWdbZF0pO2lmKGMub3ZlcndyaXRlPTAsYy5kYXRhPSJpc0Zyb21TdGFydCIsYy5sYXp5PWomJmcubGF6eSE9PSExLGMuaW1tZWRpYXRlUmVuZGVyPWosdGhpcy5fc3RhcnRBdD1HLnRvKHRoaXMudGFyZ2V0LDAsYyksail7aWYoMD09PXRoaXMuX3RpbWUpcmV0dXJufWVsc2UgdGhpcy5fc3RhcnRBdC5faW5pdCgpLHRoaXMuX3N0YXJ0QXQuX2VuYWJsZWQoITEpLHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXImJih0aGlzLl9zdGFydEF0PW51bGwpfWlmKHRoaXMuX2Vhc2U9az1rP2sgaW5zdGFuY2VvZiB2P2s6ImZ1bmN0aW9uIj09dHlwZW9mIGs/bmV3IHYoayxnLmVhc2VQYXJhbXMpOndba118fEcuZGVmYXVsdEVhc2U6Ry5kZWZhdWx0RWFzZSxnLmVhc2VQYXJhbXMgaW5zdGFuY2VvZiBBcnJheSYmay5jb25maWcmJih0aGlzLl9lYXNlPWsuY29uZmlnLmFwcGx5KGssZy5lYXNlUGFyYW1zKSksdGhpcy5fZWFzZVR5cGU9dGhpcy5fZWFzZS5fdHlwZSx0aGlzLl9lYXNlUG93ZXI9dGhpcy5fZWFzZS5fcG93ZXIsdGhpcy5fZmlyc3RQVD1udWxsLHRoaXMuX3RhcmdldHMpZm9yKGY9dGhpcy5fdGFyZ2V0cy5sZW5ndGgsYT0wO2Y+YTthKyspdGhpcy5faW5pdFByb3BzKHRoaXMuX3RhcmdldHNbYV0sdGhpcy5fcHJvcExvb2t1cFthXT17fSx0aGlzLl9zaWJsaW5nc1thXSxoP2hbYV06bnVsbCxhKSYmKGI9ITApO2Vsc2UgYj10aGlzLl9pbml0UHJvcHModGhpcy50YXJnZXQsdGhpcy5fcHJvcExvb2t1cCx0aGlzLl9zaWJsaW5ncyxoLDApO2lmKGImJkcuX29uUGx1Z2luRXZlbnQoIl9vbkluaXRBbGxQcm9wcyIsdGhpcyksaCYmKHRoaXMuX2ZpcnN0UFR8fCJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzLnRhcmdldCYmdGhpcy5fZW5hYmxlZCghMSwhMSkpLGcucnVuQmFja3dhcmRzKWZvcihjPXRoaXMuX2ZpcnN0UFQ7YzspYy5zKz1jLmMsYy5jPS1jLmMsYz1jLl9uZXh0O3RoaXMuX29uVXBkYXRlPWcub25VcGRhdGUsdGhpcy5faW5pdHRlZD0hMH0saC5faW5pdFByb3BzPWZ1bmN0aW9uKGIsYyxkLGUsZil7dmFyIGcsaCxpLGosayxsO2lmKG51bGw9PWIpcmV0dXJuITE7S1tiLl9nc1R3ZWVuSURdJiZZKCksdGhpcy52YXJzLmNzc3x8Yi5zdHlsZSYmYiE9PWEmJmIubm9kZVR5cGUmJlEuY3NzJiZ0aGlzLnZhcnMuYXV0b0NTUyE9PSExJiZJKHRoaXMudmFycyxiKTtmb3IoZyBpbiB0aGlzLnZhcnMpaWYobD10aGlzLnZhcnNbZ10sVFtnXSlsJiYobCBpbnN0YW5jZW9mIEFycmF5fHxsLnB1c2gmJnAobCkpJiYtMSE9PWwuam9pbigiIikuaW5kZXhPZigie3NlbGZ9IikmJih0aGlzLnZhcnNbZ109bD10aGlzLl9zd2FwU2VsZkluUGFyYW1zKGwsdGhpcykpO2Vsc2UgaWYoUVtnXSYmKGo9bmV3IFFbZ10pLl9vbkluaXRUd2VlbihiLHRoaXMudmFyc1tnXSx0aGlzLGYpKXtmb3IodGhpcy5fZmlyc3RQVD1rPXtfbmV4dDp0aGlzLl9maXJzdFBULHQ6aixwOiJzZXRSYXRpbyIsczowLGM6MSxmOjEsbjpnLHBnOjEscHI6ai5fcHJpb3JpdHksbTowfSxoPWouX292ZXJ3cml0ZVByb3BzLmxlbmd0aDstLWg+LTE7KWNbai5fb3ZlcndyaXRlUHJvcHNbaF1dPXRoaXMuX2ZpcnN0UFQ7KGouX3ByaW9yaXR5fHxqLl9vbkluaXRBbGxQcm9wcykmJihpPSEwKSwoai5fb25EaXNhYmxlfHxqLl9vbkVuYWJsZSkmJih0aGlzLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkPSEwKSxrLl9uZXh0JiYoay5fbmV4dC5fcHJldj1rKX1lbHNlIGNbZ109Ty5jYWxsKHRoaXMsYixnLCJnZXQiLGwsZywwLG51bGwsdGhpcy52YXJzLnN0cmluZ0ZpbHRlcixmKTtyZXR1cm4gZSYmdGhpcy5fa2lsbChlLGIpP3RoaXMuX2luaXRQcm9wcyhiLGMsZCxlLGYpOnRoaXMuX292ZXJ3cml0ZT4xJiZ0aGlzLl9maXJzdFBUJiZkLmxlbmd0aD4xJiZfKGIsdGhpcyxjLHRoaXMuX292ZXJ3cml0ZSxkKT8odGhpcy5fa2lsbChjLGIpLHRoaXMuX2luaXRQcm9wcyhiLGMsZCxlLGYpKToodGhpcy5fZmlyc3RQVCYmKHRoaXMudmFycy5sYXp5IT09ITEmJnRoaXMuX2R1cmF0aW9ufHx0aGlzLnZhcnMubGF6eSYmIXRoaXMuX2R1cmF0aW9uKSYmKEtbYi5fZ3NUd2VlbklEXT0hMCksaSl9LGgucmVuZGVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGYsZyxoPXRoaXMuX3RpbWUsaT10aGlzLl9kdXJhdGlvbixqPXRoaXMuX3Jhd1ByZXZUaW1lO2lmKGE+PWktMWUtNyYmYT49MCl0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT1pLHRoaXMucmF0aW89dGhpcy5fZWFzZS5fY2FsY0VuZD90aGlzLl9lYXNlLmdldFJhdGlvKDEpOjEsdGhpcy5fcmV2ZXJzZWR8fChkPSEwLGU9Im9uQ29tcGxldGUiLGM9Y3x8dGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuKSwwPT09aSYmKHRoaXMuX2luaXR0ZWR8fCF0aGlzLnZhcnMubGF6eXx8YykmJih0aGlzLl9zdGFydFRpbWU9PT10aGlzLl90aW1lbGluZS5fZHVyYXRpb24mJihhPTApLCgwPmp8fDA+PWEmJmE+PS0xZS03fHxqPT09bSYmImlzUGF1c2UiIT09dGhpcy5kYXRhKSYmaiE9PWEmJihjPSEwLGo+bSYmKGU9Im9uUmV2ZXJzZUNvbXBsZXRlIikpLHRoaXMuX3Jhd1ByZXZUaW1lPWc9IWJ8fGF8fGo9PT1hP2E6bSk7ZWxzZSBpZigxZS03PmEpdGhpcy5fdG90YWxUaW1lPXRoaXMuX3RpbWU9MCx0aGlzLnJhdGlvPXRoaXMuX2Vhc2UuX2NhbGNFbmQ/dGhpcy5fZWFzZS5nZXRSYXRpbygwKTowLCgwIT09aHx8MD09PWkmJmo+MCkmJihlPSJvblJldmVyc2VDb21wbGV0ZSIsZD10aGlzLl9yZXZlcnNlZCksMD5hJiYodGhpcy5fYWN0aXZlPSExLDA9PT1pJiYodGhpcy5faW5pdHRlZHx8IXRoaXMudmFycy5sYXp5fHxjKSYmKGo+PTAmJihqIT09bXx8ImlzUGF1c2UiIT09dGhpcy5kYXRhKSYmKGM9ITApLHRoaXMuX3Jhd1ByZXZUaW1lPWc9IWJ8fGF8fGo9PT1hP2E6bSkpLHRoaXMuX2luaXR0ZWR8fChjPSEwKTtlbHNlIGlmKHRoaXMuX3RvdGFsVGltZT10aGlzLl90aW1lPWEsdGhpcy5fZWFzZVR5cGUpe3ZhciBrPWEvaSxsPXRoaXMuX2Vhc2VUeXBlLG49dGhpcy5fZWFzZVBvd2VyOygxPT09bHx8Mz09PWwmJms+PS41KSYmKGs9MS1rKSwzPT09bCYmKGsqPTIpLDE9PT1uP2sqPWs6Mj09PW4/ayo9ayprOjM9PT1uP2sqPWsqayprOjQ9PT1uJiYoayo9ayprKmsqayksMT09PWw/dGhpcy5yYXRpbz0xLWs6Mj09PWw/dGhpcy5yYXRpbz1rOi41PmEvaT90aGlzLnJhdGlvPWsvMjp0aGlzLnJhdGlvPTEtay8yfWVsc2UgdGhpcy5yYXRpbz10aGlzLl9lYXNlLmdldFJhdGlvKGEvaSk7aWYodGhpcy5fdGltZSE9PWh8fGMpe2lmKCF0aGlzLl9pbml0dGVkKXtpZih0aGlzLl9pbml0KCksIXRoaXMuX2luaXR0ZWR8fHRoaXMuX2djKXJldHVybjtpZighYyYmdGhpcy5fZmlyc3RQVCYmKHRoaXMudmFycy5sYXp5IT09ITEmJnRoaXMuX2R1cmF0aW9ufHx0aGlzLnZhcnMubGF6eSYmIXRoaXMuX2R1cmF0aW9uKSlyZXR1cm4gdGhpcy5fdGltZT10aGlzLl90b3RhbFRpbWU9aCx0aGlzLl9yYXdQcmV2VGltZT1qLEoucHVzaCh0aGlzKSx2b2lkKHRoaXMuX2xhenk9W2EsYl0pO3RoaXMuX3RpbWUmJiFkP3RoaXMucmF0aW89dGhpcy5fZWFzZS5nZXRSYXRpbyh0aGlzLl90aW1lL2kpOmQmJnRoaXMuX2Vhc2UuX2NhbGNFbmQmJih0aGlzLnJhdGlvPXRoaXMuX2Vhc2UuZ2V0UmF0aW8oMD09PXRoaXMuX3RpbWU/MDoxKSl9Zm9yKHRoaXMuX2xhenkhPT0hMSYmKHRoaXMuX2xhenk9ITEpLHRoaXMuX2FjdGl2ZXx8IXRoaXMuX3BhdXNlZCYmdGhpcy5fdGltZSE9PWgmJmE+PTAmJih0aGlzLl9hY3RpdmU9ITApLDA9PT1oJiYodGhpcy5fc3RhcnRBdCYmKGE+PTA/dGhpcy5fc3RhcnRBdC5yZW5kZXIoYSxiLGMpOmV8fChlPSJfZHVtbXlHUyIpKSx0aGlzLnZhcnMub25TdGFydCYmKDAhPT10aGlzLl90aW1lfHwwPT09aSkmJihifHx0aGlzLl9jYWxsYmFjaygib25TdGFydCIpKSksZj10aGlzLl9maXJzdFBUO2Y7KWYuZj9mLnRbZi5wXShmLmMqdGhpcy5yYXRpbytmLnMpOmYudFtmLnBdPWYuYyp0aGlzLnJhdGlvK2YucyxmPWYuX25leHQ7dGhpcy5fb25VcGRhdGUmJigwPmEmJnRoaXMuX3N0YXJ0QXQmJmEhPT0tMWUtNCYmdGhpcy5fc3RhcnRBdC5yZW5kZXIoYSxiLGMpLGJ8fCh0aGlzLl90aW1lIT09aHx8ZHx8YykmJnRoaXMuX2NhbGxiYWNrKCJvblVwZGF0ZSIpKSxlJiYoIXRoaXMuX2djfHxjKSYmKDA+YSYmdGhpcy5fc3RhcnRBdCYmIXRoaXMuX29uVXBkYXRlJiZhIT09LTFlLTQmJnRoaXMuX3N0YXJ0QXQucmVuZGVyKGEsYixjKSxkJiYodGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuJiZ0aGlzLl9lbmFibGVkKCExLCExKSx0aGlzLl9hY3RpdmU9ITEpLCFiJiZ0aGlzLnZhcnNbZV0mJnRoaXMuX2NhbGxiYWNrKGUpLDA9PT1pJiZ0aGlzLl9yYXdQcmV2VGltZT09PW0mJmchPT1tJiYodGhpcy5fcmF3UHJldlRpbWU9MCkpfX0saC5fa2lsbD1mdW5jdGlvbihhLGIsYyl7aWYoImFsbCI9PT1hJiYoYT1udWxsKSxudWxsPT1hJiYobnVsbD09Ynx8Yj09PXRoaXMudGFyZ2V0KSlyZXR1cm4gdGhpcy5fbGF6eT0hMSx0aGlzLl9lbmFibGVkKCExLCExKTtiPSJzdHJpbmciIT10eXBlb2YgYj9ifHx0aGlzLl90YXJnZXRzfHx0aGlzLnRhcmdldDpHLnNlbGVjdG9yKGIpfHxiO3ZhciBkLGUsZixnLGgsaSxqLGssbCxtPWMmJnRoaXMuX3RpbWUmJmMuX3N0YXJ0VGltZT09PXRoaXMuX3N0YXJ0VGltZSYmdGhpcy5fdGltZWxpbmU9PT1jLl90aW1lbGluZTtpZigocChiKXx8SChiKSkmJiJudW1iZXIiIT10eXBlb2YgYlswXSlmb3IoZD1iLmxlbmd0aDstLWQ+LTE7KXRoaXMuX2tpbGwoYSxiW2RdLGMpJiYoaT0hMCk7ZWxzZXtpZih0aGlzLl90YXJnZXRzKXtmb3IoZD10aGlzLl90YXJnZXRzLmxlbmd0aDstLWQ+LTE7KWlmKGI9PT10aGlzLl90YXJnZXRzW2RdKXtoPXRoaXMuX3Byb3BMb29rdXBbZF18fHt9LHRoaXMuX292ZXJ3cml0dGVuUHJvcHM9dGhpcy5fb3ZlcndyaXR0ZW5Qcm9wc3x8W10sZT10aGlzLl9vdmVyd3JpdHRlblByb3BzW2RdPWE/dGhpcy5fb3ZlcndyaXR0ZW5Qcm9wc1tkXXx8e306ImFsbCI7YnJlYWt9fWVsc2V7aWYoYiE9PXRoaXMudGFyZ2V0KXJldHVybiExO2g9dGhpcy5fcHJvcExvb2t1cCxlPXRoaXMuX292ZXJ3cml0dGVuUHJvcHM9YT90aGlzLl9vdmVyd3JpdHRlblByb3BzfHx7fToiYWxsIn1pZihoKXtpZihqPWF8fGgsaz1hIT09ZSYmImFsbCIhPT1lJiZhIT09aCYmKCJvYmplY3QiIT10eXBlb2YgYXx8IWEuX3RlbXBLaWxsKSxjJiYoRy5vbk92ZXJ3cml0ZXx8dGhpcy52YXJzLm9uT3ZlcndyaXRlKSl7Zm9yKGYgaW4gailoW2ZdJiYobHx8KGw9W10pLGwucHVzaChmKSk7aWYoKGx8fCFhKSYmISQodGhpcyxjLGIsbCkpcmV0dXJuITF9Zm9yKGYgaW4gaikoZz1oW2ZdKSYmKG0mJihnLmY/Zy50W2cucF0oZy5zKTpnLnRbZy5wXT1nLnMsaT0hMCksZy5wZyYmZy50Ll9raWxsKGopJiYoaT0hMCksZy5wZyYmMCE9PWcudC5fb3ZlcndyaXRlUHJvcHMubGVuZ3RofHwoZy5fcHJldj9nLl9wcmV2Ll9uZXh0PWcuX25leHQ6Zz09PXRoaXMuX2ZpcnN0UFQmJih0aGlzLl9maXJzdFBUPWcuX25leHQpLGcuX25leHQmJihnLl9uZXh0Ll9wcmV2PWcuX3ByZXYpLGcuX25leHQ9Zy5fcHJldj1udWxsKSxkZWxldGUgaFtmXSksayYmKGVbZl09MSk7IXRoaXMuX2ZpcnN0UFQmJnRoaXMuX2luaXR0ZWQmJnRoaXMuX2VuYWJsZWQoITEsITEpfX1yZXR1cm4gaX0saC5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX25vdGlmeVBsdWdpbnNPZkVuYWJsZWQmJkcuX29uUGx1Z2luRXZlbnQoIl9vbkRpc2FibGUiLHRoaXMpLHRoaXMuX2ZpcnN0UFQ9dGhpcy5fb3ZlcndyaXR0ZW5Qcm9wcz10aGlzLl9zdGFydEF0PXRoaXMuX29uVXBkYXRlPW51bGwsdGhpcy5fbm90aWZ5UGx1Z2luc09mRW5hYmxlZD10aGlzLl9hY3RpdmU9dGhpcy5fbGF6eT0hMSx0aGlzLl9wcm9wTG9va3VwPXRoaXMuX3RhcmdldHM/e306W10sRC5wcm90b3R5cGUuaW52YWxpZGF0ZS5jYWxsKHRoaXMpLHRoaXMudmFycy5pbW1lZGlhdGVSZW5kZXImJih0aGlzLl90aW1lPS1tLHRoaXMucmVuZGVyKE1hdGgubWluKDAsLXRoaXMuX2RlbGF5KSkpLHRoaXN9LGguX2VuYWJsZWQ9ZnVuY3Rpb24oYSxiKXtpZihqfHxpLndha2UoKSxhJiZ0aGlzLl9nYyl7dmFyIGMsZD10aGlzLl90YXJnZXRzO2lmKGQpZm9yKGM9ZC5sZW5ndGg7LS1jPi0xOyl0aGlzLl9zaWJsaW5nc1tjXT1aKGRbY10sdGhpcywhMCk7ZWxzZSB0aGlzLl9zaWJsaW5ncz1aKHRoaXMudGFyZ2V0LHRoaXMsITApfXJldHVybiBELnByb3RvdHlwZS5fZW5hYmxlZC5jYWxsKHRoaXMsYSxiKSx0aGlzLl9ub3RpZnlQbHVnaW5zT2ZFbmFibGVkJiZ0aGlzLl9maXJzdFBUP0cuX29uUGx1Z2luRXZlbnQoYT8iX29uRW5hYmxlIjoiX29uRGlzYWJsZSIsdGhpcyk6ITF9LEcudG89ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuZXcgRyhhLGIsYyl9LEcuZnJvbT1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGMucnVuQmFja3dhcmRzPSEwLGMuaW1tZWRpYXRlUmVuZGVyPTAhPWMuaW1tZWRpYXRlUmVuZGVyLG5ldyBHKGEsYixjKX0sRy5mcm9tVG89ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGQuc3RhcnRBdD1jLGQuaW1tZWRpYXRlUmVuZGVyPTAhPWQuaW1tZWRpYXRlUmVuZGVyJiYwIT1jLmltbWVkaWF0ZVJlbmRlcixuZXcgRyhhLGIsZCl9LEcuZGVsYXllZENhbGw9ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gbmV3IEcoYiwwLHtkZWxheTphLG9uQ29tcGxldGU6YixvbkNvbXBsZXRlUGFyYW1zOmMsY2FsbGJhY2tTY29wZTpkLG9uUmV2ZXJzZUNvbXBsZXRlOmIsb25SZXZlcnNlQ29tcGxldGVQYXJhbXM6YyxpbW1lZGlhdGVSZW5kZXI6ITEsbGF6eTohMSx1c2VGcmFtZXM6ZSxvdmVyd3JpdGU6MH0pfSxHLnNldD1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgRyhhLDAsYil9LEcuZ2V0VHdlZW5zT2Y9ZnVuY3Rpb24oYSxiKXtpZihudWxsPT1hKXJldHVybltdO2E9InN0cmluZyIhPXR5cGVvZiBhP2E6Ry5zZWxlY3RvcihhKXx8YTt2YXIgYyxkLGUsZjtpZigocChhKXx8SChhKSkmJiJudW1iZXIiIT10eXBlb2YgYVswXSl7Zm9yKGM9YS5sZW5ndGgsZD1bXTstLWM+LTE7KWQ9ZC5jb25jYXQoRy5nZXRUd2VlbnNPZihhW2NdLGIpKTtmb3IoYz1kLmxlbmd0aDstLWM+LTE7KWZvcihmPWRbY10sZT1jOy0tZT4tMTspZj09PWRbZV0mJmQuc3BsaWNlKGMsMSl9ZWxzZSBmb3IoZD1aKGEpLmNvbmNhdCgpLGM9ZC5sZW5ndGg7LS1jPi0xOykoZFtjXS5fZ2N8fGImJiFkW2NdLmlzQWN0aXZlKCkpJiZkLnNwbGljZShjLDEpO3JldHVybiBkfSxHLmtpbGxUd2VlbnNPZj1HLmtpbGxEZWxheWVkQ2FsbHNUbz1mdW5jdGlvbihhLGIsYyl7Im9iamVjdCI9PXR5cGVvZiBiJiYoYz1iLGI9ITEpO2Zvcih2YXIgZD1HLmdldFR3ZWVuc09mKGEsYiksZT1kLmxlbmd0aDstLWU+LTE7KWRbZV0uX2tpbGwoYyxhKX07dmFyIGJhPXQoInBsdWdpbnMuVHdlZW5QbHVnaW4iLGZ1bmN0aW9uKGEsYil7dGhpcy5fb3ZlcndyaXRlUHJvcHM9KGF8fCIiKS5zcGxpdCgiLCIpLHRoaXMuX3Byb3BOYW1lPXRoaXMuX292ZXJ3cml0ZVByb3BzWzBdLHRoaXMuX3ByaW9yaXR5PWJ8fDAsdGhpcy5fc3VwZXI9YmEucHJvdG90eXBlfSwhMCk7aWYoaD1iYS5wcm90b3R5cGUsYmEudmVyc2lvbj0iMS4xOS4wIixiYS5BUEk9MixoLl9maXJzdFBUPW51bGwsaC5fYWRkVHdlZW49TyxoLnNldFJhdGlvPU0saC5fa2lsbD1mdW5jdGlvbihhKXt2YXIgYixjPXRoaXMuX292ZXJ3cml0ZVByb3BzLGQ9dGhpcy5fZmlyc3RQVDtpZihudWxsIT1hW3RoaXMuX3Byb3BOYW1lXSl0aGlzLl9vdmVyd3JpdGVQcm9wcz1bXTtlbHNlIGZvcihiPWMubGVuZ3RoOy0tYj4tMTspbnVsbCE9YVtjW2JdXSYmYy5zcGxpY2UoYiwxKTtmb3IoO2Q7KW51bGwhPWFbZC5uXSYmKGQuX25leHQmJihkLl9uZXh0Ll9wcmV2PWQuX3ByZXYpLGQuX3ByZXY/KGQuX3ByZXYuX25leHQ9ZC5fbmV4dCxkLl9wcmV2PW51bGwpOnRoaXMuX2ZpcnN0UFQ9PT1kJiYodGhpcy5fZmlyc3RQVD1kLl9uZXh0KSksZD1kLl9uZXh0O3JldHVybiExfSxoLl9tb2Q9aC5fcm91bmRQcm9wcz1mdW5jdGlvbihhKXtmb3IodmFyIGIsYz10aGlzLl9maXJzdFBUO2M7KWI9YVt0aGlzLl9wcm9wTmFtZV18fG51bGwhPWMubiYmYVtjLm4uc3BsaXQodGhpcy5fcHJvcE5hbWUrIl8iKS5qb2luKCIiKV0sYiYmImZ1bmN0aW9uIj09dHlwZW9mIGImJigyPT09Yy5mP2MudC5fYXBwbHlQVC5tPWI6Yy5tPWIpLGM9Yy5fbmV4dH0sRy5fb25QbHVnaW5FdmVudD1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaD1iLl9maXJzdFBUO2lmKCJfb25Jbml0QWxsUHJvcHMiPT09YSl7Zm9yKDtoOyl7Zm9yKGc9aC5fbmV4dCxkPWU7ZCYmZC5wcj5oLnByOylkPWQuX25leHQ7KGguX3ByZXY9ZD9kLl9wcmV2OmYpP2guX3ByZXYuX25leHQ9aDplPWgsKGguX25leHQ9ZCk/ZC5fcHJldj1oOmY9aCxoPWd9aD1iLl9maXJzdFBUPWV9Zm9yKDtoOyloLnBnJiYiZnVuY3Rpb24iPT10eXBlb2YgaC50W2FdJiZoLnRbYV0oKSYmKGM9ITApLGg9aC5fbmV4dDtyZXR1cm4gY30sYmEuYWN0aXZhdGU9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPWEubGVuZ3RoOy0tYj4tMTspYVtiXS5BUEk9PT1iYS5BUEkmJihRWyhuZXcgYVtiXSkuX3Byb3BOYW1lXT1hW2JdKTtyZXR1cm4hMH0scy5wbHVnaW49ZnVuY3Rpb24oYSl7aWYoIShhJiZhLnByb3BOYW1lJiZhLmluaXQmJmEuQVBJKSl0aHJvdyJpbGxlZ2FsIHBsdWdpbiBkZWZpbml0aW9uLiI7dmFyIGIsYz1hLnByb3BOYW1lLGQ9YS5wcmlvcml0eXx8MCxlPWEub3ZlcndyaXRlUHJvcHMsZj17aW5pdDoiX29uSW5pdFR3ZWVuIixzZXQ6InNldFJhdGlvIixraWxsOiJfa2lsbCIscm91bmQ6Il9tb2QiLG1vZDoiX21vZCIsaW5pdEFsbDoiX29uSW5pdEFsbFByb3BzIn0sZz10KCJwbHVnaW5zLiIrYy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStjLnN1YnN0cigxKSsiUGx1Z2luIixmdW5jdGlvbigpe2JhLmNhbGwodGhpcyxjLGQpLHRoaXMuX292ZXJ3cml0ZVByb3BzPWV8fFtdfSxhLmdsb2JhbD09PSEwKSxoPWcucHJvdG90eXBlPW5ldyBiYShjKTtoLmNvbnN0cnVjdG9yPWcsZy5BUEk9YS5BUEk7Zm9yKGIgaW4gZikiZnVuY3Rpb24iPT10eXBlb2YgYVtiXSYmKGhbZltiXV09YVtiXSk7cmV0dXJuIGcudmVyc2lvbj1hLnZlcnNpb24sYmEuYWN0aXZhdGUoW2ddKSxnfSxmPWEuX2dzUXVldWUpe2ZvcihnPTA7ZzxmLmxlbmd0aDtnKyspZltnXSgpO2ZvcihoIGluIHEpcVtoXS5mdW5jfHxhLmNvbnNvbGUubG9nKCJHU0FQIGVuY291bnRlcmVkIG1pc3NpbmcgZGVwZW5kZW5jeTogIitoKX1qPSExfX0oInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6dGhpc3x8d2luZG93LCJUd2VlbkxpdGUiKTsNCi8qIFRJTUUgTElORSBMSVRFICovDQovKiENCiAqIFZFUlNJT046IDEuMTcuMA0KICogREFURTogMjAxNS0wNS0yNw0KICogVVBEQVRFUyBBTkQgRE9DUyBBVDogaHR0cDovL2dyZWVuc29jay5jb20NCiAqDQogKiBAbGljZW5zZSBDb3B5cmlnaHQgKGMpIDIwMDgtMjAxNSwgR3JlZW5Tb2NrLiBBbGwgcmlnaHRzIHJlc2VydmVkLg0KICogVGhpcyB3b3JrIGlzIHN1YmplY3QgdG8gdGhlIHRlcm1zIGF0IGh0dHA6Ly9ncmVlbnNvY2suY29tL3N0YW5kYXJkLWxpY2Vuc2Ugb3IgZm9yDQogKiBDbHViIEdyZWVuU29jayBtZW1iZXJzLCB0aGUgc29mdHdhcmUgYWdyZWVtZW50IHRoYXQgd2FzIGlzc3VlZCB3aXRoIHlvdXIgbWVtYmVyc2hpcC4NCiAqIA0KICogQGF1dGhvcjogSmFjayBEb3lsZSwgamFja0BncmVlbnNvY2suY29tDQogKi8NCnZhciBfZ3NTY29wZT0idW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgZ2xvYmFsP2dsb2JhbDp0aGlzfHx3aW5kb3c7KF9nc1Njb3BlLl9nc1F1ZXVlfHwoX2dzU2NvcGUuX2dzUXVldWU9W10pKS5wdXNoKGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO19nc1Njb3BlLl9nc0RlZmluZSgiVGltZWxpbmVMaXRlIixbImNvcmUuQW5pbWF0aW9uIiwiY29yZS5TaW1wbGVUaW1lbGluZSIsIlR3ZWVuTGl0ZSJdLGZ1bmN0aW9uKHQsZSxpKXt2YXIgcz1mdW5jdGlvbih0KXtlLmNhbGwodGhpcyx0KSx0aGlzLl9sYWJlbHM9e30sdGhpcy5hdXRvUmVtb3ZlQ2hpbGRyZW49dGhpcy52YXJzLmF1dG9SZW1vdmVDaGlsZHJlbj09PSEwLHRoaXMuc21vb3RoQ2hpbGRUaW1pbmc9dGhpcy52YXJzLnNtb290aENoaWxkVGltaW5nPT09ITAsdGhpcy5fc29ydENoaWxkcmVuPSEwLHRoaXMuX29uVXBkYXRlPXRoaXMudmFycy5vblVwZGF0ZTt2YXIgaSxzLHI9dGhpcy52YXJzO2ZvcihzIGluIHIpaT1yW3NdLGgoaSkmJi0xIT09aS5qb2luKCIiKS5pbmRleE9mKCJ7c2VsZn0iKSYmKHJbc109dGhpcy5fc3dhcFNlbGZJblBhcmFtcyhpKSk7aChyLnR3ZWVucykmJnRoaXMuYWRkKHIudHdlZW5zLDAsci5hbGlnbixyLnN0YWdnZXIpfSxyPTFlLTEwLG49aS5faW50ZXJuYWxzLGE9cy5faW50ZXJuYWxzPXt9LG89bi5pc1NlbGVjdG9yLGg9bi5pc0FycmF5LGw9bi5sYXp5VHdlZW5zLF89bi5sYXp5UmVuZGVyLHU9W10sZj1fZ3NTY29wZS5fZ3NEZWZpbmUuZ2xvYmFscyxjPWZ1bmN0aW9uKHQpe3ZhciBlLGk9e307Zm9yKGUgaW4gdClpW2VdPXRbZV07cmV0dXJuIGl9LHA9YS5wYXVzZUNhbGxiYWNrPWZ1bmN0aW9uKHQsZSxpLHMpe3ZhciBuLGE9dC5fdGltZWxpbmUsbz1hLl90b3RhbFRpbWUsaD10Ll9zdGFydFRpbWUsbD0wPnQuX3Jhd1ByZXZUaW1lfHwwPT09dC5fcmF3UHJldlRpbWUmJmEuX3JldmVyc2VkLF89bD8wOnIsZj1sP3I6MDtpZihlfHwhdGhpcy5fZm9yY2luZ1BsYXloZWFkKXtmb3IoYS5wYXVzZShoKSxuPXQuX3ByZXY7biYmbi5fc3RhcnRUaW1lPT09aDspbi5fcmF3UHJldlRpbWU9ZixuPW4uX3ByZXY7Zm9yKG49dC5fbmV4dDtuJiZuLl9zdGFydFRpbWU9PT1oOyluLl9yYXdQcmV2VGltZT1fLG49bi5fbmV4dDtlJiZlLmFwcGx5KHN8fGEudmFycy5jYWxsYmFja1Njb3BlfHxhLGl8fHUpLCh0aGlzLl9mb3JjaW5nUGxheWhlYWR8fCFhLl9wYXVzZWQpJiZhLnNlZWsobyl9fSxtPWZ1bmN0aW9uKHQpe3ZhciBlLGk9W10scz10Lmxlbmd0aDtmb3IoZT0wO2UhPT1zO2kucHVzaCh0W2UrK10pKTtyZXR1cm4gaX0sZD1zLnByb3RvdHlwZT1uZXcgZTtyZXR1cm4gcy52ZXJzaW9uPSIxLjE3LjAiLGQuY29uc3RydWN0b3I9cyxkLmtpbGwoKS5fZ2M9ZC5fZm9yY2luZ1BsYXloZWFkPSExLGQudG89ZnVuY3Rpb24odCxlLHMscil7dmFyIG49cy5yZXBlYXQmJmYuVHdlZW5NYXh8fGk7cmV0dXJuIGU/dGhpcy5hZGQobmV3IG4odCxlLHMpLHIpOnRoaXMuc2V0KHQscyxyKX0sZC5mcm9tPWZ1bmN0aW9uKHQsZSxzLHIpe3JldHVybiB0aGlzLmFkZCgocy5yZXBlYXQmJmYuVHdlZW5NYXh8fGkpLmZyb20odCxlLHMpLHIpfSxkLmZyb21Ubz1mdW5jdGlvbih0LGUscyxyLG4pe3ZhciBhPXIucmVwZWF0JiZmLlR3ZWVuTWF4fHxpO3JldHVybiBlP3RoaXMuYWRkKGEuZnJvbVRvKHQsZSxzLHIpLG4pOnRoaXMuc2V0KHQscixuKX0sZC5zdGFnZ2VyVG89ZnVuY3Rpb24odCxlLHIsbixhLGgsbCxfKXt2YXIgdSxmPW5ldyBzKHtvbkNvbXBsZXRlOmgsb25Db21wbGV0ZVBhcmFtczpsLGNhbGxiYWNrU2NvcGU6XyxzbW9vdGhDaGlsZFRpbWluZzp0aGlzLnNtb290aENoaWxkVGltaW5nfSk7Zm9yKCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9aS5zZWxlY3Rvcih0KXx8dCksdD10fHxbXSxvKHQpJiYodD1tKHQpKSxuPW58fDAsMD5uJiYodD1tKHQpLHQucmV2ZXJzZSgpLG4qPS0xKSx1PTA7dC5sZW5ndGg+dTt1Kyspci5zdGFydEF0JiYoci5zdGFydEF0PWMoci5zdGFydEF0KSksZi50byh0W3VdLGUsYyhyKSx1Km4pO3JldHVybiB0aGlzLmFkZChmLGEpfSxkLnN0YWdnZXJGcm9tPWZ1bmN0aW9uKHQsZSxpLHMscixuLGEsbyl7cmV0dXJuIGkuaW1tZWRpYXRlUmVuZGVyPTAhPWkuaW1tZWRpYXRlUmVuZGVyLGkucnVuQmFja3dhcmRzPSEwLHRoaXMuc3RhZ2dlclRvKHQsZSxpLHMscixuLGEsbyl9LGQuc3RhZ2dlckZyb21Ubz1mdW5jdGlvbih0LGUsaSxzLHIsbixhLG8saCl7cmV0dXJuIHMuc3RhcnRBdD1pLHMuaW1tZWRpYXRlUmVuZGVyPTAhPXMuaW1tZWRpYXRlUmVuZGVyJiYwIT1pLmltbWVkaWF0ZVJlbmRlcix0aGlzLnN0YWdnZXJUbyh0LGUscyxyLG4sYSxvLGgpfSxkLmNhbGw9ZnVuY3Rpb24odCxlLHMscil7cmV0dXJuIHRoaXMuYWRkKGkuZGVsYXllZENhbGwoMCx0LGUscykscil9LGQuc2V0PWZ1bmN0aW9uKHQsZSxzKXtyZXR1cm4gcz10aGlzLl9wYXJzZVRpbWVPckxhYmVsKHMsMCwhMCksbnVsbD09ZS5pbW1lZGlhdGVSZW5kZXImJihlLmltbWVkaWF0ZVJlbmRlcj1zPT09dGhpcy5fdGltZSYmIXRoaXMuX3BhdXNlZCksdGhpcy5hZGQobmV3IGkodCwwLGUpLHMpfSxzLmV4cG9ydFJvb3Q9ZnVuY3Rpb24odCxlKXt0PXR8fHt9LG51bGw9PXQuc21vb3RoQ2hpbGRUaW1pbmcmJih0LnNtb290aENoaWxkVGltaW5nPSEwKTt2YXIgcixuLGE9bmV3IHModCksbz1hLl90aW1lbGluZTtmb3IobnVsbD09ZSYmKGU9ITApLG8uX3JlbW92ZShhLCEwKSxhLl9zdGFydFRpbWU9MCxhLl9yYXdQcmV2VGltZT1hLl90aW1lPWEuX3RvdGFsVGltZT1vLl90aW1lLHI9by5fZmlyc3Q7cjspbj1yLl9uZXh0LGUmJnIgaW5zdGFuY2VvZiBpJiZyLnRhcmdldD09PXIudmFycy5vbkNvbXBsZXRlfHxhLmFkZChyLHIuX3N0YXJ0VGltZS1yLl9kZWxheSkscj1uO3JldHVybiBvLmFkZChhLDApLGF9LGQuYWRkPWZ1bmN0aW9uKHIsbixhLG8pe3ZhciBsLF8sdSxmLGMscDtpZigibnVtYmVyIiE9dHlwZW9mIG4mJihuPXRoaXMuX3BhcnNlVGltZU9yTGFiZWwobiwwLCEwLHIpKSwhKHIgaW5zdGFuY2VvZiB0KSl7aWYociBpbnN0YW5jZW9mIEFycmF5fHxyJiZyLnB1c2gmJmgocikpe2ZvcihhPWF8fCJub3JtYWwiLG89b3x8MCxsPW4sXz1yLmxlbmd0aCx1PTA7Xz51O3UrKyloKGY9clt1XSkmJihmPW5ldyBzKHt0d2VlbnM6Zn0pKSx0aGlzLmFkZChmLGwpLCJzdHJpbmciIT10eXBlb2YgZiYmImZ1bmN0aW9uIiE9dHlwZW9mIGYmJigic2VxdWVuY2UiPT09YT9sPWYuX3N0YXJ0VGltZStmLnRvdGFsRHVyYXRpb24oKS9mLl90aW1lU2NhbGU6InN0YXJ0Ij09PWEmJihmLl9zdGFydFRpbWUtPWYuZGVsYXkoKSkpLGwrPW87cmV0dXJuIHRoaXMuX3VuY2FjaGUoITApfWlmKCJzdHJpbmciPT10eXBlb2YgcilyZXR1cm4gdGhpcy5hZGRMYWJlbChyLG4pO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiByKXRocm93IkNhbm5vdCBhZGQgIityKyIgaW50byB0aGUgdGltZWxpbmU7IGl0IGlzIG5vdCBhIHR3ZWVuLCB0aW1lbGluZSwgZnVuY3Rpb24sIG9yIHN0cmluZy4iO3I9aS5kZWxheWVkQ2FsbCgwLHIpfWlmKGUucHJvdG90eXBlLmFkZC5jYWxsKHRoaXMscixuKSwodGhpcy5fZ2N8fHRoaXMuX3RpbWU9PT10aGlzLl9kdXJhdGlvbikmJiF0aGlzLl9wYXVzZWQmJnRoaXMuX2R1cmF0aW9uPHRoaXMuZHVyYXRpb24oKSlmb3IoYz10aGlzLHA9Yy5yYXdUaW1lKCk+ci5fc3RhcnRUaW1lO2MuX3RpbWVsaW5lOylwJiZjLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZz9jLnRvdGFsVGltZShjLl90b3RhbFRpbWUsITApOmMuX2djJiZjLl9lbmFibGVkKCEwLCExKSxjPWMuX3RpbWVsaW5lO3JldHVybiB0aGlzfSxkLnJlbW92ZT1mdW5jdGlvbihlKXtpZihlIGluc3RhbmNlb2YgdClyZXR1cm4gdGhpcy5fcmVtb3ZlKGUsITEpO2lmKGUgaW5zdGFuY2VvZiBBcnJheXx8ZSYmZS5wdXNoJiZoKGUpKXtmb3IodmFyIGk9ZS5sZW5ndGg7LS1pPi0xOyl0aGlzLnJlbW92ZShlW2ldKTtyZXR1cm4gdGhpc31yZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/dGhpcy5yZW1vdmVMYWJlbChlKTp0aGlzLmtpbGwobnVsbCxlKX0sZC5fcmVtb3ZlPWZ1bmN0aW9uKHQsaSl7ZS5wcm90b3R5cGUuX3JlbW92ZS5jYWxsKHRoaXMsdCxpKTt2YXIgcz10aGlzLl9sYXN0O3JldHVybiBzP3RoaXMuX3RpbWU+cy5fc3RhcnRUaW1lK3MuX3RvdGFsRHVyYXRpb24vcy5fdGltZVNjYWxlJiYodGhpcy5fdGltZT10aGlzLmR1cmF0aW9uKCksdGhpcy5fdG90YWxUaW1lPXRoaXMuX3RvdGFsRHVyYXRpb24pOnRoaXMuX3RpbWU9dGhpcy5fdG90YWxUaW1lPXRoaXMuX2R1cmF0aW9uPXRoaXMuX3RvdGFsRHVyYXRpb249MCx0aGlzfSxkLmFwcGVuZD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLmFkZCh0LHRoaXMuX3BhcnNlVGltZU9yTGFiZWwobnVsbCxlLCEwLHQpKX0sZC5pbnNlcnQ9ZC5pbnNlcnRNdWx0aXBsZT1mdW5jdGlvbih0LGUsaSxzKXtyZXR1cm4gdGhpcy5hZGQodCxlfHwwLGkscyl9LGQuYXBwZW5kTXVsdGlwbGU9ZnVuY3Rpb24odCxlLGkscyl7cmV0dXJuIHRoaXMuYWRkKHQsdGhpcy5fcGFyc2VUaW1lT3JMYWJlbChudWxsLGUsITAsdCksaSxzKX0sZC5hZGRMYWJlbD1mdW5jdGlvbih0LGUpe3JldHVybiB0aGlzLl9sYWJlbHNbdF09dGhpcy5fcGFyc2VUaW1lT3JMYWJlbChlKSx0aGlzfSxkLmFkZFBhdXNlPWZ1bmN0aW9uKHQsZSxzLHIpe3ZhciBuPWkuZGVsYXllZENhbGwoMCxwLFsie3NlbGZ9IixlLHMscl0sdGhpcyk7cmV0dXJuIG4uZGF0YT0iaXNQYXVzZSIsdGhpcy5hZGQobix0KX0sZC5yZW1vdmVMYWJlbD1mdW5jdGlvbih0KXtyZXR1cm4gZGVsZXRlIHRoaXMuX2xhYmVsc1t0XSx0aGlzfSxkLmdldExhYmVsVGltZT1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbCE9dGhpcy5fbGFiZWxzW3RdP3RoaXMuX2xhYmVsc1t0XTotMX0sZC5fcGFyc2VUaW1lT3JMYWJlbD1mdW5jdGlvbihlLGkscyxyKXt2YXIgbjtpZihyIGluc3RhbmNlb2YgdCYmci50aW1lbGluZT09PXRoaXMpdGhpcy5yZW1vdmUocik7ZWxzZSBpZihyJiYociBpbnN0YW5jZW9mIEFycmF5fHxyLnB1c2gmJmgocikpKWZvcihuPXIubGVuZ3RoOy0tbj4tMTspcltuXWluc3RhbmNlb2YgdCYmcltuXS50aW1lbGluZT09PXRoaXMmJnRoaXMucmVtb3ZlKHJbbl0pO2lmKCJzdHJpbmciPT10eXBlb2YgaSlyZXR1cm4gdGhpcy5fcGFyc2VUaW1lT3JMYWJlbChpLHMmJiJudW1iZXIiPT10eXBlb2YgZSYmbnVsbD09dGhpcy5fbGFiZWxzW2ldP2UtdGhpcy5kdXJhdGlvbigpOjAscyk7aWYoaT1pfHwwLCJzdHJpbmciIT10eXBlb2YgZXx8IWlzTmFOKGUpJiZudWxsPT10aGlzLl9sYWJlbHNbZV0pbnVsbD09ZSYmKGU9dGhpcy5kdXJhdGlvbigpKTtlbHNle2lmKG49ZS5pbmRleE9mKCI9IiksLTE9PT1uKXJldHVybiBudWxsPT10aGlzLl9sYWJlbHNbZV0/cz90aGlzLl9sYWJlbHNbZV09dGhpcy5kdXJhdGlvbigpK2k6aTp0aGlzLl9sYWJlbHNbZV0raTtpPXBhcnNlSW50KGUuY2hhckF0KG4tMSkrIjEiLDEwKSpOdW1iZXIoZS5zdWJzdHIobisxKSksZT1uPjE/dGhpcy5fcGFyc2VUaW1lT3JMYWJlbChlLnN1YnN0cigwLG4tMSksMCxzKTp0aGlzLmR1cmF0aW9uKCl9cmV0dXJuIE51bWJlcihlKStpfSxkLnNlZWs9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50b3RhbFRpbWUoIm51bWJlciI9PXR5cGVvZiB0P3Q6dGhpcy5fcGFyc2VUaW1lT3JMYWJlbCh0KSxlIT09ITEpfSxkLnN0b3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXVzZWQoITApfSxkLmdvdG9BbmRQbGF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucGxheSh0LGUpfSxkLmdvdG9BbmRTdG9wPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMucGF1c2UodCxlKX0sZC5yZW5kZXI9ZnVuY3Rpb24odCxlLGkpe3RoaXMuX2djJiZ0aGlzLl9lbmFibGVkKCEwLCExKTt2YXIgcyxuLGEsbyxoLHU9dGhpcy5fZGlydHk/dGhpcy50b3RhbER1cmF0aW9uKCk6dGhpcy5fdG90YWxEdXJhdGlvbixmPXRoaXMuX3RpbWUsYz10aGlzLl9zdGFydFRpbWUscD10aGlzLl90aW1lU2NhbGUsbT10aGlzLl9wYXVzZWQ7aWYodD49dSl0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT11LHRoaXMuX3JldmVyc2VkfHx0aGlzLl9oYXNQYXVzZWRDaGlsZCgpfHwobj0hMCxvPSJvbkNvbXBsZXRlIixoPSEhdGhpcy5fdGltZWxpbmUuYXV0b1JlbW92ZUNoaWxkcmVuLDA9PT10aGlzLl9kdXJhdGlvbiYmKDA9PT10fHwwPnRoaXMuX3Jhd1ByZXZUaW1lfHx0aGlzLl9yYXdQcmV2VGltZT09PXIpJiZ0aGlzLl9yYXdQcmV2VGltZSE9PXQmJnRoaXMuX2ZpcnN0JiYoaD0hMCx0aGlzLl9yYXdQcmV2VGltZT5yJiYobz0ib25SZXZlcnNlQ29tcGxldGUiKSkpLHRoaXMuX3Jhd1ByZXZUaW1lPXRoaXMuX2R1cmF0aW9ufHwhZXx8dHx8dGhpcy5fcmF3UHJldlRpbWU9PT10P3Q6cix0PXUrMWUtNDtlbHNlIGlmKDFlLTc+dClpZih0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT0wLCgwIT09Znx8MD09PXRoaXMuX2R1cmF0aW9uJiZ0aGlzLl9yYXdQcmV2VGltZSE9PXImJih0aGlzLl9yYXdQcmV2VGltZT4wfHwwPnQmJnRoaXMuX3Jhd1ByZXZUaW1lPj0wKSkmJihvPSJvblJldmVyc2VDb21wbGV0ZSIsbj10aGlzLl9yZXZlcnNlZCksMD50KXRoaXMuX2FjdGl2ZT0hMSx0aGlzLl90aW1lbGluZS5hdXRvUmVtb3ZlQ2hpbGRyZW4mJnRoaXMuX3JldmVyc2VkPyhoPW49ITAsbz0ib25SZXZlcnNlQ29tcGxldGUiKTp0aGlzLl9yYXdQcmV2VGltZT49MCYmdGhpcy5fZmlyc3QmJihoPSEwKSx0aGlzLl9yYXdQcmV2VGltZT10O2Vsc2V7aWYodGhpcy5fcmF3UHJldlRpbWU9dGhpcy5fZHVyYXRpb258fCFlfHx0fHx0aGlzLl9yYXdQcmV2VGltZT09PXQ/dDpyLDA9PT10JiZuKWZvcihzPXRoaXMuX2ZpcnN0O3MmJjA9PT1zLl9zdGFydFRpbWU7KXMuX2R1cmF0aW9ufHwobj0hMSkscz1zLl9uZXh0O3Q9MCx0aGlzLl9pbml0dGVkfHwoaD0hMCl9ZWxzZSB0aGlzLl90b3RhbFRpbWU9dGhpcy5fdGltZT10aGlzLl9yYXdQcmV2VGltZT10O2lmKHRoaXMuX3RpbWUhPT1mJiZ0aGlzLl9maXJzdHx8aXx8aCl7aWYodGhpcy5faW5pdHRlZHx8KHRoaXMuX2luaXR0ZWQ9ITApLHRoaXMuX2FjdGl2ZXx8IXRoaXMuX3BhdXNlZCYmdGhpcy5fdGltZSE9PWYmJnQ+MCYmKHRoaXMuX2FjdGl2ZT0hMCksMD09PWYmJnRoaXMudmFycy5vblN0YXJ0JiYwIT09dGhpcy5fdGltZSYmKGV8fHRoaXMuX2NhbGxiYWNrKCJvblN0YXJ0IikpLHRoaXMuX3RpbWU+PWYpZm9yKHM9dGhpcy5fZmlyc3Q7cyYmKGE9cy5fbmV4dCwhdGhpcy5fcGF1c2VkfHxtKTspKHMuX2FjdGl2ZXx8cy5fc3RhcnRUaW1lPD10aGlzLl90aW1lJiYhcy5fcGF1c2VkJiYhcy5fZ2MpJiYocy5fcmV2ZXJzZWQ/cy5yZW5kZXIoKHMuX2RpcnR5P3MudG90YWxEdXJhdGlvbigpOnMuX3RvdGFsRHVyYXRpb24pLSh0LXMuX3N0YXJ0VGltZSkqcy5fdGltZVNjYWxlLGUsaSk6cy5yZW5kZXIoKHQtcy5fc3RhcnRUaW1lKSpzLl90aW1lU2NhbGUsZSxpKSkscz1hO2Vsc2UgZm9yKHM9dGhpcy5fbGFzdDtzJiYoYT1zLl9wcmV2LCF0aGlzLl9wYXVzZWR8fG0pOykocy5fYWN0aXZlfHxmPj1zLl9zdGFydFRpbWUmJiFzLl9wYXVzZWQmJiFzLl9nYykmJihzLl9yZXZlcnNlZD9zLnJlbmRlcigocy5fZGlydHk/cy50b3RhbER1cmF0aW9uKCk6cy5fdG90YWxEdXJhdGlvbiktKHQtcy5fc3RhcnRUaW1lKSpzLl90aW1lU2NhbGUsZSxpKTpzLnJlbmRlcigodC1zLl9zdGFydFRpbWUpKnMuX3RpbWVTY2FsZSxlLGkpKSxzPWE7dGhpcy5fb25VcGRhdGUmJihlfHwobC5sZW5ndGgmJl8oKSx0aGlzLl9jYWxsYmFjaygib25VcGRhdGUiKSkpLG8mJih0aGlzLl9nY3x8KGM9PT10aGlzLl9zdGFydFRpbWV8fHAhPT10aGlzLl90aW1lU2NhbGUpJiYoMD09PXRoaXMuX3RpbWV8fHU+PXRoaXMudG90YWxEdXJhdGlvbigpKSYmKG4mJihsLmxlbmd0aCYmXygpLHRoaXMuX3RpbWVsaW5lLmF1dG9SZW1vdmVDaGlsZHJlbiYmdGhpcy5fZW5hYmxlZCghMSwhMSksdGhpcy5fYWN0aXZlPSExKSwhZSYmdGhpcy52YXJzW29dJiZ0aGlzLl9jYWxsYmFjayhvKSkpfX0sZC5faGFzUGF1c2VkQ2hpbGQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9dGhpcy5fZmlyc3Q7dDspe2lmKHQuX3BhdXNlZHx8dCBpbnN0YW5jZW9mIHMmJnQuX2hhc1BhdXNlZENoaWxkKCkpcmV0dXJuITA7dD10Ll9uZXh0fXJldHVybiExfSxkLmdldENoaWxkcmVuPWZ1bmN0aW9uKHQsZSxzLHIpe3I9cnx8LTk5OTk5OTk5OTk7Zm9yKHZhciBuPVtdLGE9dGhpcy5fZmlyc3Qsbz0wO2E7KXI+YS5fc3RhcnRUaW1lfHwoYSBpbnN0YW5jZW9mIGk/ZSE9PSExJiYobltvKytdPWEpOihzIT09ITEmJihuW28rK109YSksdCE9PSExJiYobj1uLmNvbmNhdChhLmdldENoaWxkcmVuKCEwLGUscykpLG89bi5sZW5ndGgpKSksYT1hLl9uZXh0O3JldHVybiBufSxkLmdldFR3ZWVuc09mPWZ1bmN0aW9uKHQsZSl7dmFyIHMscixuPXRoaXMuX2djLGE9W10sbz0wO2ZvcihuJiZ0aGlzLl9lbmFibGVkKCEwLCEwKSxzPWkuZ2V0VHdlZW5zT2YodCkscj1zLmxlbmd0aDstLXI+LTE7KShzW3JdLnRpbWVsaW5lPT09dGhpc3x8ZSYmdGhpcy5fY29udGFpbnMoc1tyXSkpJiYoYVtvKytdPXNbcl0pO3JldHVybiBuJiZ0aGlzLl9lbmFibGVkKCExLCEwKSxhfSxkLnJlY2VudD1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWNlbnR9LGQuX2NvbnRhaW5zPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT10LnRpbWVsaW5lO2U7KXtpZihlPT09dGhpcylyZXR1cm4hMDtlPWUudGltZWxpbmV9cmV0dXJuITF9LGQuc2hpZnRDaGlsZHJlbj1mdW5jdGlvbih0LGUsaSl7aT1pfHwwO2Zvcih2YXIgcyxyPXRoaXMuX2ZpcnN0LG49dGhpcy5fbGFiZWxzO3I7KXIuX3N0YXJ0VGltZT49aSYmKHIuX3N0YXJ0VGltZSs9dCkscj1yLl9uZXh0O2lmKGUpZm9yKHMgaW4gbiluW3NdPj1pJiYobltzXSs9dCk7cmV0dXJuIHRoaXMuX3VuY2FjaGUoITApfSxkLl9raWxsPWZ1bmN0aW9uKHQsZSl7aWYoIXQmJiFlKXJldHVybiB0aGlzLl9lbmFibGVkKCExLCExKTtmb3IodmFyIGk9ZT90aGlzLmdldFR3ZWVuc09mKGUpOnRoaXMuZ2V0Q2hpbGRyZW4oITAsITAsITEpLHM9aS5sZW5ndGgscj0hMTstLXM+LTE7KWlbc10uX2tpbGwodCxlKSYmKHI9ITApO3JldHVybiByfSxkLmNsZWFyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0Q2hpbGRyZW4oITEsITAsITApLGk9ZS5sZW5ndGg7Zm9yKHRoaXMuX3RpbWU9dGhpcy5fdG90YWxUaW1lPTA7LS1pPi0xOyllW2ldLl9lbmFibGVkKCExLCExKTtyZXR1cm4gdCE9PSExJiYodGhpcy5fbGFiZWxzPXt9KSx0aGlzLl91bmNhY2hlKCEwKX0sZC5pbnZhbGlkYXRlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuX2ZpcnN0O2U7KWUuaW52YWxpZGF0ZSgpLGU9ZS5fbmV4dDtyZXR1cm4gdC5wcm90b3R5cGUuaW52YWxpZGF0ZS5jYWxsKHRoaXMpfSxkLl9lbmFibGVkPWZ1bmN0aW9uKHQsaSl7aWYodD09PXRoaXMuX2djKWZvcih2YXIgcz10aGlzLl9maXJzdDtzOylzLl9lbmFibGVkKHQsITApLHM9cy5fbmV4dDtyZXR1cm4gZS5wcm90b3R5cGUuX2VuYWJsZWQuY2FsbCh0aGlzLHQsaSl9LGQudG90YWxUaW1lPWZ1bmN0aW9uKCl7dGhpcy5fZm9yY2luZ1BsYXloZWFkPSEwO3ZhciBlPXQucHJvdG90eXBlLnRvdGFsVGltZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXMuX2ZvcmNpbmdQbGF5aGVhZD0hMSxlfSxkLmR1cmF0aW9uPWZ1bmN0aW9uKHQpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPygwIT09dGhpcy5kdXJhdGlvbigpJiYwIT09dCYmdGhpcy50aW1lU2NhbGUodGhpcy5fZHVyYXRpb24vdCksdGhpcyk6KHRoaXMuX2RpcnR5JiZ0aGlzLnRvdGFsRHVyYXRpb24oKSx0aGlzLl9kdXJhdGlvbil9LGQudG90YWxEdXJhdGlvbj1mdW5jdGlvbih0KXtpZighYXJndW1lbnRzLmxlbmd0aCl7aWYodGhpcy5fZGlydHkpe2Zvcih2YXIgZSxpLHM9MCxyPXRoaXMuX2xhc3Qsbj05OTk5OTk5OTk5OTk7cjspZT1yLl9wcmV2LHIuX2RpcnR5JiZyLnRvdGFsRHVyYXRpb24oKSxyLl9zdGFydFRpbWU+biYmdGhpcy5fc29ydENoaWxkcmVuJiYhci5fcGF1c2VkP3RoaXMuYWRkKHIsci5fc3RhcnRUaW1lLXIuX2RlbGF5KTpuPXIuX3N0YXJ0VGltZSwwPnIuX3N0YXJ0VGltZSYmIXIuX3BhdXNlZCYmKHMtPXIuX3N0YXJ0VGltZSx0aGlzLl90aW1lbGluZS5zbW9vdGhDaGlsZFRpbWluZyYmKHRoaXMuX3N0YXJ0VGltZSs9ci5fc3RhcnRUaW1lL3RoaXMuX3RpbWVTY2FsZSksdGhpcy5zaGlmdENoaWxkcmVuKC1yLl9zdGFydFRpbWUsITEsLTk5OTk5OTk5OTkpLG49MCksaT1yLl9zdGFydFRpbWUrci5fdG90YWxEdXJhdGlvbi9yLl90aW1lU2NhbGUsaT5zJiYocz1pKSxyPWU7dGhpcy5fZHVyYXRpb249dGhpcy5fdG90YWxEdXJhdGlvbj1zLHRoaXMuX2RpcnR5PSExfXJldHVybiB0aGlzLl90b3RhbER1cmF0aW9ufXJldHVybiAwIT09dGhpcy50b3RhbER1cmF0aW9uKCkmJjAhPT10JiZ0aGlzLnRpbWVTY2FsZSh0aGlzLl90b3RhbER1cmF0aW9uL3QpLHRoaXN9LGQucGF1c2VkPWZ1bmN0aW9uKGUpe2lmKCFlKWZvcih2YXIgaT10aGlzLl9maXJzdCxzPXRoaXMuX3RpbWU7aTspaS5fc3RhcnRUaW1lPT09cyYmImlzUGF1c2UiPT09aS5kYXRhJiYoaS5fcmF3UHJldlRpbWU9MCksaT1pLl9uZXh0O3JldHVybiB0LnByb3RvdHlwZS5wYXVzZWQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxkLnVzZXNGcmFtZXM9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5fdGltZWxpbmU7ZS5fdGltZWxpbmU7KWU9ZS5fdGltZWxpbmU7cmV0dXJuIGU9PT10Ll9yb290RnJhbWVzVGltZWxpbmV9LGQucmF3VGltZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9wYXVzZWQ/dGhpcy5fdG90YWxUaW1lOih0aGlzLl90aW1lbGluZS5yYXdUaW1lKCktdGhpcy5fc3RhcnRUaW1lKSp0aGlzLl90aW1lU2NhbGV9LHN9LCEwKX0pLF9nc1Njb3BlLl9nc0RlZmluZSYmX2dzU2NvcGUuX2dzUXVldWUucG9wKCkoKSxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIGU9ZnVuY3Rpb24oKXtyZXR1cm4oX2dzU2NvcGUuR3JlZW5Tb2NrR2xvYmFsc3x8X2dzU2NvcGUpW3RdfTsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbIlR3ZWVuTGl0ZSJdLGUpOiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmKHJlcXVpcmUoIi4vVHdlZW5MaXRlLmpzIiksbW9kdWxlLmV4cG9ydHM9ZSgpKX0oIlRpbWVsaW5lTGl0ZSIpOw0KDQoNCi8qIEVBU0lORyBQTFVHSU4qLw0KLyohDQogKiBWRVJTSU9OOiAxLjE1LjUNCiAqIERBVEU6IDIwMTYtMDctMDgNCiAqIFVQREFURVMgQU5EIERPQ1MgQVQ6IGh0dHA6Ly9ncmVlbnNvY2suY29tDQogKg0KICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDA4LTIwMTYsIEdyZWVuU29jay4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhdCBodHRwOi8vZ3JlZW5zb2NrLmNvbS9zdGFuZGFyZC1saWNlbnNlIG9yIGZvcg0KICogQ2x1YiBHcmVlblNvY2sgbWVtYmVycywgdGhlIHNvZnR3YXJlIGFncmVlbWVudCB0aGF0IHdhcyBpc3N1ZWQgd2l0aCB5b3VyIG1lbWJlcnNoaXAuDQogKiANCiAqIEBhdXRob3I6IEphY2sgRG95bGUsIGphY2tAZ3JlZW5zb2NrLmNvbQ0KICoqLw0KdmFyIF9nc1Njb3BlPSJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOnRoaXN8fHdpbmRvdzsoX2dzU2NvcGUuX2dzUXVldWV8fChfZ3NTY29wZS5fZ3NRdWV1ZT1bXSkpLnB1c2goZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7X2dzU2NvcGUuX2dzRGVmaW5lKCJlYXNpbmcuQmFjayIsWyJlYXNpbmcuRWFzZSJdLGZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPV9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHN8fF9nc1Njb3BlLGY9ZS5jb20uZ3JlZW5zb2NrLGc9MipNYXRoLlBJLGg9TWF0aC5QSS8yLGk9Zi5fY2xhc3Msaj1mdW5jdGlvbihiLGMpe3ZhciBkPWkoImVhc2luZy4iK2IsZnVuY3Rpb24oKXt9LCEwKSxlPWQucHJvdG90eXBlPW5ldyBhO3JldHVybiBlLmNvbnN0cnVjdG9yPWQsZS5nZXRSYXRpbz1jLGR9LGs9YS5yZWdpc3Rlcnx8ZnVuY3Rpb24oKXt9LGw9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1pKCJlYXNpbmcuIithLHtlYXNlT3V0Om5ldyBiLGVhc2VJbjpuZXcgYyxlYXNlSW5PdXQ6bmV3IGR9LCEwKTtyZXR1cm4gayhmLGEpLGZ9LG09ZnVuY3Rpb24oYSxiLGMpe3RoaXMudD1hLHRoaXMudj1iLGMmJih0aGlzLm5leHQ9YyxjLnByZXY9dGhpcyx0aGlzLmM9Yy52LWIsdGhpcy5nYXA9Yy50LWEpfSxuPWZ1bmN0aW9uKGIsYyl7dmFyIGQ9aSgiZWFzaW5nLiIrYixmdW5jdGlvbihhKXt0aGlzLl9wMT1hfHwwPT09YT9hOjEuNzAxNTgsdGhpcy5fcDI9MS41MjUqdGhpcy5fcDF9LCEwKSxlPWQucHJvdG90eXBlPW5ldyBhO3JldHVybiBlLmNvbnN0cnVjdG9yPWQsZS5nZXRSYXRpbz1jLGUuY29uZmlnPWZ1bmN0aW9uKGEpe3JldHVybiBuZXcgZChhKX0sZH0sbz1sKCJCYWNrIixuKCJCYWNrT3V0IixmdW5jdGlvbihhKXtyZXR1cm4oYS09MSkqYSooKHRoaXMuX3AxKzEpKmErdGhpcy5fcDEpKzF9KSxuKCJCYWNrSW4iLGZ1bmN0aW9uKGEpe3JldHVybiBhKmEqKCh0aGlzLl9wMSsxKSphLXRoaXMuX3AxKX0pLG4oIkJhY2tJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LjUqYSphKigodGhpcy5fcDIrMSkqYS10aGlzLl9wMik6LjUqKChhLT0yKSphKigodGhpcy5fcDIrMSkqYSt0aGlzLl9wMikrMil9KSkscD1pKCJlYXNpbmcuU2xvd01vIixmdW5jdGlvbihhLGIsYyl7Yj1ifHwwPT09Yj9iOi43LG51bGw9PWE/YT0uNzphPjEmJihhPTEpLHRoaXMuX3A9MSE9PWE/YjowLHRoaXMuX3AxPSgxLWEpLzIsdGhpcy5fcDI9YSx0aGlzLl9wMz10aGlzLl9wMSt0aGlzLl9wMix0aGlzLl9jYWxjRW5kPWM9PT0hMH0sITApLHE9cC5wcm90b3R5cGU9bmV3IGE7cmV0dXJuIHEuY29uc3RydWN0b3I9cCxxLmdldFJhdGlvPWZ1bmN0aW9uKGEpe3ZhciBiPWErKC41LWEpKnRoaXMuX3A7cmV0dXJuIGE8dGhpcy5fcDE/dGhpcy5fY2FsY0VuZD8xLShhPTEtYS90aGlzLl9wMSkqYTpiLShhPTEtYS90aGlzLl9wMSkqYSphKmEqYjphPnRoaXMuX3AzP3RoaXMuX2NhbGNFbmQ/MS0oYT0oYS10aGlzLl9wMykvdGhpcy5fcDEpKmE6YisoYS1iKSooYT0oYS10aGlzLl9wMykvdGhpcy5fcDEpKmEqYSphOnRoaXMuX2NhbGNFbmQ/MTpifSxwLmVhc2U9bmV3IHAoLjcsLjcpLHEuY29uZmlnPXAuY29uZmlnPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbmV3IHAoYSxiLGMpfSxiPWkoImVhc2luZy5TdGVwcGVkRWFzZSIsZnVuY3Rpb24oYSl7YT1hfHwxLHRoaXMuX3AxPTEvYSx0aGlzLl9wMj1hKzF9LCEwKSxxPWIucHJvdG90eXBlPW5ldyBhLHEuY29uc3RydWN0b3I9YixxLmdldFJhdGlvPWZ1bmN0aW9uKGEpe3JldHVybiAwPmE/YT0wOmE+PTEmJihhPS45OTk5OTk5OTkpLCh0aGlzLl9wMiphPj4wKSp0aGlzLl9wMX0scS5jb25maWc9Yi5jb25maWc9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ldyBiKGEpfSxjPWkoImVhc2luZy5Sb3VnaEVhc2UiLGZ1bmN0aW9uKGIpe2I9Ynx8e307Zm9yKHZhciBjLGQsZSxmLGcsaCxpPWIudGFwZXJ8fCJub25lIixqPVtdLGs9MCxsPTB8KGIucG9pbnRzfHwyMCksbj1sLG89Yi5yYW5kb21pemUhPT0hMSxwPWIuY2xhbXA9PT0hMCxxPWIudGVtcGxhdGUgaW5zdGFuY2VvZiBhP2IudGVtcGxhdGU6bnVsbCxyPSJudW1iZXIiPT10eXBlb2YgYi5zdHJlbmd0aD8uNCpiLnN0cmVuZ3RoOi40Oy0tbj4tMTspYz1vP01hdGgucmFuZG9tKCk6MS9sKm4sZD1xP3EuZ2V0UmF0aW8oYyk6Yywibm9uZSI9PT1pP2U9cjoib3V0Ij09PWk/KGY9MS1jLGU9ZipmKnIpOiJpbiI9PT1pP2U9YypjKnI6LjU+Yz8oZj0yKmMsZT1mKmYqLjUqcik6KGY9MiooMS1jKSxlPWYqZiouNSpyKSxvP2QrPU1hdGgucmFuZG9tKCkqZS0uNSplOm4lMj9kKz0uNSplOmQtPS41KmUscCYmKGQ+MT9kPTE6MD5kJiYoZD0wKSksaltrKytdPXt4OmMseTpkfTtmb3Ioai5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGEueC1iLnh9KSxoPW5ldyBtKDEsMSxudWxsKSxuPWw7LS1uPi0xOylnPWpbbl0saD1uZXcgbShnLngsZy55LGgpO3RoaXMuX3ByZXY9bmV3IG0oMCwwLDAhPT1oLnQ/aDpoLm5leHQpfSwhMCkscT1jLnByb3RvdHlwZT1uZXcgYSxxLmNvbnN0cnVjdG9yPWMscS5nZXRSYXRpbz1mdW5jdGlvbihhKXt2YXIgYj10aGlzLl9wcmV2O2lmKGE+Yi50KXtmb3IoO2IubmV4dCYmYT49Yi50OyliPWIubmV4dDtiPWIucHJldn1lbHNlIGZvcig7Yi5wcmV2JiZhPD1iLnQ7KWI9Yi5wcmV2O3JldHVybiB0aGlzLl9wcmV2PWIsYi52KyhhLWIudCkvYi5nYXAqYi5jfSxxLmNvbmZpZz1mdW5jdGlvbihhKXtyZXR1cm4gbmV3IGMoYSl9LGMuZWFzZT1uZXcgYyxsKCJCb3VuY2UiLGooIkJvdW5jZU91dCIsZnVuY3Rpb24oYSl7cmV0dXJuIDEvMi43NT5hPzcuNTYyNSphKmE6Mi8yLjc1PmE/Ny41NjI1KihhLT0xLjUvMi43NSkqYSsuNzU6Mi41LzIuNzU+YT83LjU2MjUqKGEtPTIuMjUvMi43NSkqYSsuOTM3NTo3LjU2MjUqKGEtPTIuNjI1LzIuNzUpKmErLjk4NDM3NX0pLGooIkJvdW5jZUluIixmdW5jdGlvbihhKXtyZXR1cm4oYT0xLWEpPDEvMi43NT8xLTcuNTYyNSphKmE6Mi8yLjc1PmE/MS0oNy41NjI1KihhLT0xLjUvMi43NSkqYSsuNzUpOjIuNS8yLjc1PmE/MS0oNy41NjI1KihhLT0yLjI1LzIuNzUpKmErLjkzNzUpOjEtKDcuNTYyNSooYS09Mi42MjUvMi43NSkqYSsuOTg0Mzc1KX0pLGooIkJvdW5jZUluT3V0IixmdW5jdGlvbihhKXt2YXIgYj0uNT5hO3JldHVybiBhPWI/MS0yKmE6MiphLTEsYT0xLzIuNzU+YT83LjU2MjUqYSphOjIvMi43NT5hPzcuNTYyNSooYS09MS41LzIuNzUpKmErLjc1OjIuNS8yLjc1PmE/Ny41NjI1KihhLT0yLjI1LzIuNzUpKmErLjkzNzU6Ny41NjI1KihhLT0yLjYyNS8yLjc1KSphKy45ODQzNzUsYj8uNSooMS1hKTouNSphKy41fSkpLGwoIkNpcmMiLGooIkNpcmNPdXQiLGZ1bmN0aW9uKGEpe3JldHVybiBNYXRoLnNxcnQoMS0oYS09MSkqYSl9KSxqKCJDaXJjSW4iLGZ1bmN0aW9uKGEpe3JldHVybi0oTWF0aC5zcXJ0KDEtYSphKS0xKX0pLGooIkNpcmNJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LS41KihNYXRoLnNxcnQoMS1hKmEpLTEpOi41KihNYXRoLnNxcnQoMS0oYS09MikqYSkrMSl9KSksZD1mdW5jdGlvbihiLGMsZCl7dmFyIGU9aSgiZWFzaW5nLiIrYixmdW5jdGlvbihhLGIpe3RoaXMuX3AxPWE+PTE/YToxLHRoaXMuX3AyPShifHxkKS8oMT5hP2E6MSksdGhpcy5fcDM9dGhpcy5fcDIvZyooTWF0aC5hc2luKDEvdGhpcy5fcDEpfHwwKSx0aGlzLl9wMj1nL3RoaXMuX3AyfSwhMCksZj1lLnByb3RvdHlwZT1uZXcgYTtyZXR1cm4gZi5jb25zdHJ1Y3Rvcj1lLGYuZ2V0UmF0aW89YyxmLmNvbmZpZz1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgZShhLGIpfSxlfSxsKCJFbGFzdGljIixkKCJFbGFzdGljT3V0IixmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcDEqTWF0aC5wb3coMiwtMTAqYSkqTWF0aC5zaW4oKGEtdGhpcy5fcDMpKnRoaXMuX3AyKSsxfSwuMyksZCgiRWxhc3RpY0luIixmdW5jdGlvbihhKXtyZXR1cm4tKHRoaXMuX3AxKk1hdGgucG93KDIsMTAqKGEtPTEpKSpNYXRoLnNpbigoYS10aGlzLl9wMykqdGhpcy5fcDIpKX0sLjMpLGQoIkVsYXN0aWNJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LS41Kih0aGlzLl9wMSpNYXRoLnBvdygyLDEwKihhLT0xKSkqTWF0aC5zaW4oKGEtdGhpcy5fcDMpKnRoaXMuX3AyKSk6dGhpcy5fcDEqTWF0aC5wb3coMiwtMTAqKGEtPTEpKSpNYXRoLnNpbigoYS10aGlzLl9wMykqdGhpcy5fcDIpKi41KzF9LC40NSkpLGwoIkV4cG8iLGooIkV4cG9PdXQiLGZ1bmN0aW9uKGEpe3JldHVybiAxLU1hdGgucG93KDIsLTEwKmEpfSksaigiRXhwb0luIixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5wb3coMiwxMCooYS0xKSktLjAwMX0pLGooIkV4cG9Jbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuKGEqPTIpPDE/LjUqTWF0aC5wb3coMiwxMCooYS0xKSk6LjUqKDItTWF0aC5wb3coMiwtMTAqKGEtMSkpKX0pKSxsKCJTaW5lIixqKCJTaW5lT3V0IixmdW5jdGlvbihhKXtyZXR1cm4gTWF0aC5zaW4oYSpoKX0pLGooIlNpbmVJbiIsZnVuY3Rpb24oYSl7cmV0dXJuLU1hdGguY29zKGEqaCkrMX0pLGooIlNpbmVJbk91dCIsZnVuY3Rpb24oYSl7cmV0dXJuLS41KihNYXRoLmNvcyhNYXRoLlBJKmEpLTEpfSkpLGkoImVhc2luZy5FYXNlTG9va3VwIix7ZmluZDpmdW5jdGlvbihiKXtyZXR1cm4gYS5tYXBbYl19fSwhMCksayhlLlNsb3dNbywiU2xvd01vIiwiZWFzZSwiKSxrKGMsIlJvdWdoRWFzZSIsImVhc2UsIiksayhiLCJTdGVwcGVkRWFzZSIsImVhc2UsIiksb30sITApfSksX2dzU2NvcGUuX2dzRGVmaW5lJiZfZ3NTY29wZS5fZ3NRdWV1ZS5wb3AoKSgpLGZ1bmN0aW9uKCl7InVzZSBzdHJpY3QiO3ZhciBhPWZ1bmN0aW9uKCl7cmV0dXJuIF9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHN8fF9nc1Njb3BlfTsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbIlR3ZWVuTGl0ZSJdLGEpOiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmKHJlcXVpcmUoIi4uL1R3ZWVuTGl0ZS5qcyIpLG1vZHVsZS5leHBvcnRzPWEoKSl9KCk7DQoNCg0KLyogQ1NTIFBMVUdJTiAqLw0KLyohDQogKiBWRVJTSU9OOiAxLjE5LjENCiAqIERBVEU6IDIwMTctMDEtMTcNCiAqIFVQREFURVMgQU5EIERPQ1MgQVQ6IGh0dHA6Ly9ncmVlbnNvY2suY29tDQogKg0KICogQGxpY2Vuc2UgQ29weXJpZ2h0IChjKSAyMDA4LTIwMTcsIEdyZWVuU29jay4gQWxsIHJpZ2h0cyByZXNlcnZlZC4NCiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSB0ZXJtcyBhdCBodHRwOi8vZ3JlZW5zb2NrLmNvbS9zdGFuZGFyZC1saWNlbnNlIG9yIGZvcg0KICogQ2x1YiBHcmVlblNvY2sgbWVtYmVycywgdGhlIHNvZnR3YXJlIGFncmVlbWVudCB0aGF0IHdhcyBpc3N1ZWQgd2l0aCB5b3VyIG1lbWJlcnNoaXAuDQogKiANCiAqIEBhdXRob3I6IEphY2sgRG95bGUsIGphY2tAZ3JlZW5zb2NrLmNvbQ0KICovDQp2YXIgX2dzU2NvcGU9InVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzJiYidW5kZWZpbmVkIiE9dHlwZW9mIGdsb2JhbD9nbG9iYWw6dGhpc3x8d2luZG93OyhfZ3NTY29wZS5fZ3NRdWV1ZXx8KF9nc1Njb3BlLl9nc1F1ZXVlPVtdKSkucHVzaChmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtfZ3NTY29wZS5fZ3NEZWZpbmUoInBsdWdpbnMuQ1NTUGx1Z2luIixbInBsdWdpbnMuVHdlZW5QbHVnaW4iLCJUd2VlbkxpdGUiXSxmdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGc9ZnVuY3Rpb24oKXthLmNhbGwodGhpcywiY3NzIiksdGhpcy5fb3ZlcndyaXRlUHJvcHMubGVuZ3RoPTAsdGhpcy5zZXRSYXRpbz1nLnByb3RvdHlwZS5zZXRSYXRpb30saD1fZ3NTY29wZS5fZ3NEZWZpbmUuZ2xvYmFscyxpPXt9LGo9Zy5wcm90b3R5cGU9bmV3IGEoImNzcyIpO2ouY29uc3RydWN0b3I9ZyxnLnZlcnNpb249IjEuMTkuMSIsZy5BUEk9MixnLmRlZmF1bHRUcmFuc2Zvcm1QZXJzcGVjdGl2ZT0wLGcuZGVmYXVsdFNrZXdUeXBlPSJjb21wZW5zYXRlZCIsZy5kZWZhdWx0U21vb3RoT3JpZ2luPSEwLGo9InB4IixnLnN1ZmZpeE1hcD17dG9wOmoscmlnaHQ6aixib3R0b206aixsZWZ0Omosd2lkdGg6aixoZWlnaHQ6aixmb250U2l6ZTpqLHBhZGRpbmc6aixtYXJnaW46aixwZXJzcGVjdGl2ZTpqLGxpbmVIZWlnaHQ6IiJ9O3ZhciBrLGwsbSxuLG8scCxxLHIscz0vKD86XC18XC58XGIpKFxkfFwufGVcLSkrL2csdD0vKD86XGR8XC1cZHxcLlxkfFwtXC5cZHxcKz1cZHxcLT1cZHxcKz0uXGR8XC09XC5cZCkrL2csdT0vKD86XCs9fFwtPXxcLXxcYilbXGRcLVwuXStbYS16QS1aMC05XSooPzolfFxiKS9naSx2PS8oPyFbKy1dP1xkKlwuP1xkK3xbKy1dfGVbKy1dXGQrKVteMC05XS9nLHc9Lyg/OlxkfFwtfFwrfD18I3xcLikqL2cseD0vb3BhY2l0eSAqPSAqKFteKV0qKS9pLHk9L29wYWNpdHk6KFteO10qKS9pLHo9L2FscGhhXChvcGFjaXR5ICo9Lis/XCkvaSxBPS9eKHJnYnxoc2wpLyxCPS8oW0EtWl0pL2csQz0vLShbYS16XSkvZ2ksRD0vKF4oPzp1cmxcKFwifHVybFwoKSl8KD86KFwiXCkpJHxcKSQpL2dpLEU9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfSxGPS8oPzpMZWZ0fFJpZ2h0fFdpZHRoKS9pLEc9LyhNMTF8TTEyfE0yMXxNMjIpPVtcZFwtXC5lXSsvZ2ksSD0vcHJvZ2lkXDpEWEltYWdlVHJhbnNmb3JtXC5NaWNyb3NvZnRcLk1hdHJpeFwoLis/XCkvaSxJPS8sKD89W15cKV0qKD86XCh8JCkpL2dpLEo9L1tccyxcKF0vaSxLPU1hdGguUEkvMTgwLEw9MTgwL01hdGguUEksTT17fSxOPXtzdHlsZTp7fX0sTz1fZ3NTY29wZS5kb2N1bWVudHx8e2NyZWF0ZUVsZW1lbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gTn19LFA9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gTy5jcmVhdGVFbGVtZW50TlM/Ty5jcmVhdGVFbGVtZW50TlMoYnx8Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWwiLGEpOk8uY3JlYXRlRWxlbWVudChhKX0sUT1QKCJkaXYiKSxSPVAoImltZyIpLFM9Zy5faW50ZXJuYWxzPXtfc3BlY2lhbFByb3BzOml9LFQ9KF9nc1Njb3BlLm5hdmlnYXRvcnx8e30pLnVzZXJBZ2VudHx8IiIsVT1mdW5jdGlvbigpe3ZhciBhPVQuaW5kZXhPZigiQW5kcm9pZCIpLGI9UCgiYSIpO3JldHVybiBtPS0xIT09VC5pbmRleE9mKCJTYWZhcmkiKSYmLTE9PT1ULmluZGV4T2YoIkNocm9tZSIpJiYoLTE9PT1hfHxwYXJzZUZsb2F0KFQuc3Vic3RyKGErOCwyKSk+Myksbz1tJiZwYXJzZUZsb2F0KFQuc3Vic3RyKFQuaW5kZXhPZigiVmVyc2lvbi8iKSs4LDIpKTw2LG49LTEhPT1ULmluZGV4T2YoIkZpcmVmb3giKSwoL01TSUUgKFswLTldezEsfVtcLjAtOV17MCx9KS8uZXhlYyhUKXx8L1RyaWRlbnRcLy4qcnY6KFswLTldezEsfVtcLjAtOV17MCx9KS8uZXhlYyhUKSkmJihwPXBhcnNlRmxvYXQoUmVnRXhwLiQxKSksYj8oYi5zdHlsZS5jc3NUZXh0PSJ0b3A6MXB4O29wYWNpdHk6LjU1OyIsL14wLjU1Ly50ZXN0KGIuc3R5bGUub3BhY2l0eSkpOiExfSgpLFY9ZnVuY3Rpb24oYSl7cmV0dXJuIHgudGVzdCgic3RyaW5nIj09dHlwZW9mIGE/YTooYS5jdXJyZW50U3R5bGU/YS5jdXJyZW50U3R5bGUuZmlsdGVyOmEuc3R5bGUuZmlsdGVyKXx8IiIpP3BhcnNlRmxvYXQoUmVnRXhwLiQxKS8xMDA6MX0sVz1mdW5jdGlvbihhKXtfZ3NTY29wZS5jb25zb2xlJiZjb25zb2xlLmxvZyhhKX0sWD0iIixZPSIiLFo9ZnVuY3Rpb24oYSxiKXtiPWJ8fFE7dmFyIGMsZCxlPWIuc3R5bGU7aWYodm9pZCAwIT09ZVthXSlyZXR1cm4gYTtmb3IoYT1hLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Euc3Vic3RyKDEpLGM9WyJPIiwiTW96IiwibXMiLCJNcyIsIldlYmtpdCJdLGQ9NTstLWQ+LTEmJnZvaWQgMD09PWVbY1tkXSthXTspO3JldHVybiBkPj0wPyhZPTM9PT1kPyJtcyI6Y1tkXSxYPSItIitZLnRvTG93ZXJDYXNlKCkrIi0iLFkrYSk6bnVsbH0sJD1PLmRlZmF1bHRWaWV3P08uZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZTpmdW5jdGlvbigpe30sXz1nLmdldFN0eWxlPWZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY7cmV0dXJuIFV8fCJvcGFjaXR5IiE9PWI/KCFkJiZhLnN0eWxlW2JdP2Y9YS5zdHlsZVtiXTooYz1jfHwkKGEpKT9mPWNbYl18fGMuZ2V0UHJvcGVydHlWYWx1ZShiKXx8Yy5nZXRQcm9wZXJ0eVZhbHVlKGIucmVwbGFjZShCLCItJDEiKS50b0xvd2VyQ2FzZSgpKTphLmN1cnJlbnRTdHlsZSYmKGY9YS5jdXJyZW50U3R5bGVbYl0pLG51bGw9PWV8fGYmJiJub25lIiE9PWYmJiJhdXRvIiE9PWYmJiJhdXRvIGF1dG8iIT09Zj9mOmUpOlYoYSl9LGFhPVMuY29udmVydFRvUGl4ZWxzPWZ1bmN0aW9uKGEsYyxkLGUsZil7aWYoInB4Ij09PWV8fCFlKXJldHVybiBkO2lmKCJhdXRvIj09PWV8fCFkKXJldHVybiAwO3ZhciBoLGksaixrPUYudGVzdChjKSxsPWEsbT1RLnN0eWxlLG49MD5kLG89MT09PWQ7aWYobiYmKGQ9LWQpLG8mJihkKj0xMDApLCIlIj09PWUmJi0xIT09Yy5pbmRleE9mKCJib3JkZXIiKSloPWQvMTAwKihrP2EuY2xpZW50V2lkdGg6YS5jbGllbnRIZWlnaHQpO2Vsc2V7aWYobS5jc3NUZXh0PSJib3JkZXI6MCBzb2xpZCByZWQ7cG9zaXRpb246IitfKGEsInBvc2l0aW9uIikrIjtsaW5lLWhlaWdodDowOyIsIiUiIT09ZSYmbC5hcHBlbmRDaGlsZCYmInYiIT09ZS5jaGFyQXQoMCkmJiJyZW0iIT09ZSltW2s/ImJvcmRlckxlZnRXaWR0aCI6ImJvcmRlclRvcFdpZHRoIl09ZCtlO2Vsc2V7aWYobD1hLnBhcmVudE5vZGV8fE8uYm9keSxpPWwuX2dzQ2FjaGUsaj1iLnRpY2tlci5mcmFtZSxpJiZrJiZpLnRpbWU9PT1qKXJldHVybiBpLndpZHRoKmQvMTAwO21baz8id2lkdGgiOiJoZWlnaHQiXT1kK2V9bC5hcHBlbmRDaGlsZChRKSxoPXBhcnNlRmxvYXQoUVtrPyJvZmZzZXRXaWR0aCI6Im9mZnNldEhlaWdodCJdKSxsLnJlbW92ZUNoaWxkKFEpLGsmJiIlIj09PWUmJmcuY2FjaGVXaWR0aHMhPT0hMSYmKGk9bC5fZ3NDYWNoZT1sLl9nc0NhY2hlfHx7fSxpLnRpbWU9aixpLndpZHRoPWgvZCoxMDApLDAhPT1ofHxmfHwoaD1hYShhLGMsZCxlLCEwKSl9cmV0dXJuIG8mJihoLz0xMDApLG4/LWg6aH0sYmE9Uy5jYWxjdWxhdGVPZmZzZXQ9ZnVuY3Rpb24oYSxiLGMpe2lmKCJhYnNvbHV0ZSIhPT1fKGEsInBvc2l0aW9uIixjKSlyZXR1cm4gMDt2YXIgZD0ibGVmdCI9PT1iPyJMZWZ0IjoiVG9wIixlPV8oYSwibWFyZ2luIitkLGMpO3JldHVybiBhWyJvZmZzZXQiK2RdLShhYShhLGIscGFyc2VGbG9hdChlKSxlLnJlcGxhY2UodywiIikpfHwwKX0sY2E9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj17fTtpZihiPWJ8fCQoYSxudWxsKSlpZihjPWIubGVuZ3RoKWZvcig7LS1jPi0xOyllPWJbY10sKC0xPT09ZS5pbmRleE9mKCItdHJhbnNmb3JtIil8fERhPT09ZSkmJihmW2UucmVwbGFjZShDLEUpXT1iLmdldFByb3BlcnR5VmFsdWUoZSkpO2Vsc2UgZm9yKGMgaW4gYikoLTE9PT1jLmluZGV4T2YoIlRyYW5zZm9ybSIpfHxDYT09PWMpJiYoZltjXT1iW2NdKTtlbHNlIGlmKGI9YS5jdXJyZW50U3R5bGV8fGEuc3R5bGUpZm9yKGMgaW4gYikic3RyaW5nIj09dHlwZW9mIGMmJnZvaWQgMD09PWZbY10mJihmW2MucmVwbGFjZShDLEUpXT1iW2NdKTtyZXR1cm4gVXx8KGYub3BhY2l0eT1WKGEpKSxkPVJhKGEsYiwhMSksZi5yb3RhdGlvbj1kLnJvdGF0aW9uLGYuc2tld1g9ZC5za2V3WCxmLnNjYWxlWD1kLnNjYWxlWCxmLnNjYWxlWT1kLnNjYWxlWSxmLng9ZC54LGYueT1kLnksRmEmJihmLno9ZC56LGYucm90YXRpb25YPWQucm90YXRpb25YLGYucm90YXRpb25ZPWQucm90YXRpb25ZLGYuc2NhbGVaPWQuc2NhbGVaKSxmLmZpbHRlcnMmJmRlbGV0ZSBmLmZpbHRlcnMsZn0sZGE9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaT17fSxqPWEuc3R5bGU7Zm9yKGcgaW4gYykiY3NzVGV4dCIhPT1nJiYibGVuZ3RoIiE9PWcmJmlzTmFOKGcpJiYoYltnXSE9PShmPWNbZ10pfHxlJiZlW2ddKSYmLTE9PT1nLmluZGV4T2YoIk9yaWdpbiIpJiYoIm51bWJlciI9PXR5cGVvZiBmfHwic3RyaW5nIj09dHlwZW9mIGYpJiYoaVtnXT0iYXV0byIhPT1mfHwibGVmdCIhPT1nJiYidG9wIiE9PWc/IiIhPT1mJiYiYXV0byIhPT1mJiYibm9uZSIhPT1mfHwic3RyaW5nIiE9dHlwZW9mIGJbZ118fCIiPT09YltnXS5yZXBsYWNlKHYsIiIpP2Y6MDpiYShhLGcpLHZvaWQgMCE9PWpbZ10mJihoPW5ldyBzYShqLGcsaltnXSxoKSkpO2lmKGQpZm9yKGcgaW4gZCkiY2xhc3NOYW1lIiE9PWcmJihpW2ddPWRbZ10pO3JldHVybntkaWZzOmksZmlyc3RNUFQ6aH19LGVhPXt3aWR0aDpbIkxlZnQiLCJSaWdodCJdLGhlaWdodDpbIlRvcCIsIkJvdHRvbSJdfSxmYT1bIm1hcmdpbkxlZnQiLCJtYXJnaW5SaWdodCIsIm1hcmdpblRvcCIsIm1hcmdpbkJvdHRvbSJdLGdhPWZ1bmN0aW9uKGEsYixjKXtpZigic3ZnIj09PShhLm5vZGVOYW1lKyIiKS50b0xvd2VyQ2FzZSgpKXJldHVybihjfHwkKGEpKVtiXXx8MDtpZihhLmdldENUTSYmT2EoYSkpcmV0dXJuIGEuZ2V0QkJveCgpW2JdfHwwO3ZhciBkPXBhcnNlRmxvYXQoIndpZHRoIj09PWI/YS5vZmZzZXRXaWR0aDphLm9mZnNldEhlaWdodCksZT1lYVtiXSxmPWUubGVuZ3RoO2ZvcihjPWN8fCQoYSxudWxsKTstLWY+LTE7KWQtPXBhcnNlRmxvYXQoXyhhLCJwYWRkaW5nIitlW2ZdLGMsITApKXx8MCxkLT1wYXJzZUZsb2F0KF8oYSwiYm9yZGVyIitlW2ZdKyJXaWR0aCIsYywhMCkpfHwwO3JldHVybiBkfSxoYT1mdW5jdGlvbihhLGIpe2lmKCJjb250YWluIj09PWF8fCJhdXRvIj09PWF8fCJhdXRvIGF1dG8iPT09YSlyZXR1cm4gYSsiICI7KG51bGw9PWF8fCIiPT09YSkmJihhPSIwIDAiKTt2YXIgYyxkPWEuc3BsaXQoIiAiKSxlPS0xIT09YS5pbmRleE9mKCJsZWZ0Iik/IjAlIjotMSE9PWEuaW5kZXhPZigicmlnaHQiKT8iMTAwJSI6ZFswXSxmPS0xIT09YS5pbmRleE9mKCJ0b3AiKT8iMCUiOi0xIT09YS5pbmRleE9mKCJib3R0b20iKT8iMTAwJSI6ZFsxXTtpZihkLmxlbmd0aD4zJiYhYil7Zm9yKGQ9YS5zcGxpdCgiLCAiKS5qb2luKCIsIikuc3BsaXQoIiwiKSxhPVtdLGM9MDtjPGQubGVuZ3RoO2MrKylhLnB1c2goaGEoZFtjXSkpO3JldHVybiBhLmpvaW4oIiwiKX1yZXR1cm4gbnVsbD09Zj9mPSJjZW50ZXIiPT09ZT8iNTAlIjoiMCI6ImNlbnRlciI9PT1mJiYoZj0iNTAlIiksKCJjZW50ZXIiPT09ZXx8aXNOYU4ocGFyc2VGbG9hdChlKSkmJi0xPT09KGUrIiIpLmluZGV4T2YoIj0iKSkmJihlPSI1MCUiKSxhPWUrIiAiK2YrKGQubGVuZ3RoPjI/IiAiK2RbMl06IiIpLGImJihiLm94cD0tMSE9PWUuaW5kZXhPZigiJSIpLGIub3lwPS0xIT09Zi5pbmRleE9mKCIlIiksYi5veHI9Ij0iPT09ZS5jaGFyQXQoMSksYi5veXI9Ij0iPT09Zi5jaGFyQXQoMSksYi5veD1wYXJzZUZsb2F0KGUucmVwbGFjZSh2LCIiKSksYi5veT1wYXJzZUZsb2F0KGYucmVwbGFjZSh2LCIiKSksYi52PWEpLGJ8fGF9LGlhPWZ1bmN0aW9uKGEsYil7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGEmJihhPWEocixxKSksInN0cmluZyI9PXR5cGVvZiBhJiYiPSI9PT1hLmNoYXJBdCgxKT9wYXJzZUludChhLmNoYXJBdCgwKSsiMSIsMTApKnBhcnNlRmxvYXQoYS5zdWJzdHIoMikpOnBhcnNlRmxvYXQoYSktcGFyc2VGbG9hdChiKXx8MH0samE9ZnVuY3Rpb24oYSxiKXtyZXR1cm4iZnVuY3Rpb24iPT10eXBlb2YgYSYmKGE9YShyLHEpKSxudWxsPT1hP2I6InN0cmluZyI9PXR5cGVvZiBhJiYiPSI9PT1hLmNoYXJBdCgxKT9wYXJzZUludChhLmNoYXJBdCgwKSsiMSIsMTApKnBhcnNlRmxvYXQoYS5zdWJzdHIoMikpK2I6cGFyc2VGbG9hdChhKXx8MH0sa2E9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPTFlLTY7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGEmJihhPWEocixxKSksbnVsbD09YT9oPWI6Im51bWJlciI9PXR5cGVvZiBhP2g9YTooZT0zNjAsZj1hLnNwbGl0KCJfIiksaT0iPSI9PT1hLmNoYXJBdCgxKSxnPShpP3BhcnNlSW50KGEuY2hhckF0KDApKyIxIiwxMCkqcGFyc2VGbG9hdChmWzBdLnN1YnN0cigyKSk6cGFyc2VGbG9hdChmWzBdKSkqKC0xPT09YS5pbmRleE9mKCJyYWQiKT8xOkwpLShpPzA6YiksZi5sZW5ndGgmJihkJiYoZFtjXT1iK2cpLC0xIT09YS5pbmRleE9mKCJzaG9ydCIpJiYoZyU9ZSxnIT09ZyUoZS8yKSYmKGc9MD5nP2crZTpnLWUpKSwtMSE9PWEuaW5kZXhPZigiX2N3IikmJjA+Zz9nPShnKzk5OTk5OTk5OTkqZSklZS0oZy9lfDApKmU6LTEhPT1hLmluZGV4T2YoImNjdyIpJiZnPjAmJihnPShnLTk5OTk5OTk5OTkqZSklZS0oZy9lfDApKmUpKSxoPWIrZyksaj5oJiZoPi1qJiYoaD0wKSxofSxsYT17YXF1YTpbMCwyNTUsMjU1XSxsaW1lOlswLDI1NSwwXSxzaWx2ZXI6WzE5MiwxOTIsMTkyXSxibGFjazpbMCwwLDBdLG1hcm9vbjpbMTI4LDAsMF0sdGVhbDpbMCwxMjgsMTI4XSxibHVlOlswLDAsMjU1XSxuYXZ5OlswLDAsMTI4XSx3aGl0ZTpbMjU1LDI1NSwyNTVdLGZ1Y2hzaWE6WzI1NSwwLDI1NV0sb2xpdmU6WzEyOCwxMjgsMF0seWVsbG93OlsyNTUsMjU1LDBdLG9yYW5nZTpbMjU1LDE2NSwwXSxncmF5OlsxMjgsMTI4LDEyOF0scHVycGxlOlsxMjgsMCwxMjhdLGdyZWVuOlswLDEyOCwwXSxyZWQ6WzI1NSwwLDBdLHBpbms6WzI1NSwxOTIsMjAzXSxjeWFuOlswLDI1NSwyNTVdLHRyYW5zcGFyZW50OlsyNTUsMjU1LDI1NSwwXX0sbWE9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBhPTA+YT9hKzE6YT4xP2EtMTphLDI1NSooMT42KmE/YisoYy1iKSphKjY6LjU+YT9jOjI+MyphP2IrKGMtYikqKDIvMy1hKSo2OmIpKy41fDB9LG5hPWcucGFyc2VDb2xvcj1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxpLGosayxsLG07aWYoYSlpZigibnVtYmVyIj09dHlwZW9mIGEpYz1bYT4+MTYsYT4+OCYyNTUsMjU1JmFdO2Vsc2V7aWYoIiwiPT09YS5jaGFyQXQoYS5sZW5ndGgtMSkmJihhPWEuc3Vic3RyKDAsYS5sZW5ndGgtMSkpLGxhW2FdKWM9bGFbYV07ZWxzZSBpZigiIyI9PT1hLmNoYXJBdCgwKSk0PT09YS5sZW5ndGgmJihkPWEuY2hhckF0KDEpLGU9YS5jaGFyQXQoMiksZj1hLmNoYXJBdCgzKSxhPSIjIitkK2QrZStlK2YrZiksYT1wYXJzZUludChhLnN1YnN0cigxKSwxNiksYz1bYT4+MTYsYT4+OCYyNTUsMjU1JmFdO2Vsc2UgaWYoImhzbCI9PT1hLnN1YnN0cigwLDMpKWlmKGM9bT1hLm1hdGNoKHMpLGIpe2lmKC0xIT09YS5pbmRleE9mKCI9IikpcmV0dXJuIGEubWF0Y2godCl9ZWxzZSBnPU51bWJlcihjWzBdKSUzNjAvMzYwLGg9TnVtYmVyKGNbMV0pLzEwMCxpPU51bWJlcihjWzJdKS8xMDAsZT0uNT49aT9pKihoKzEpOmkraC1pKmgsZD0yKmktZSxjLmxlbmd0aD4zJiYoY1szXT1OdW1iZXIoYVszXSkpLGNbMF09bWEoZysxLzMsZCxlKSxjWzFdPW1hKGcsZCxlKSxjWzJdPW1hKGctMS8zLGQsZSk7ZWxzZSBjPWEubWF0Y2gocyl8fGxhLnRyYW5zcGFyZW50O2NbMF09TnVtYmVyKGNbMF0pLGNbMV09TnVtYmVyKGNbMV0pLGNbMl09TnVtYmVyKGNbMl0pLGMubGVuZ3RoPjMmJihjWzNdPU51bWJlcihjWzNdKSl9ZWxzZSBjPWxhLmJsYWNrO3JldHVybiBiJiYhbSYmKGQ9Y1swXS8yNTUsZT1jWzFdLzI1NSxmPWNbMl0vMjU1LGo9TWF0aC5tYXgoZCxlLGYpLGs9TWF0aC5taW4oZCxlLGYpLGk9KGoraykvMixqPT09az9nPWg9MDoobD1qLWssaD1pPi41P2wvKDItai1rKTpsLyhqK2spLGc9aj09PWQ/KGUtZikvbCsoZj5lPzY6MCk6aj09PWU/KGYtZCkvbCsyOihkLWUpL2wrNCxnKj02MCksY1swXT1nKy41fDAsY1sxXT0xMDAqaCsuNXwwLGNbMl09MTAwKmkrLjV8MCksY30sb2E9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1hLm1hdGNoKHBhKXx8W10sZz0wLGg9Zi5sZW5ndGg/IiI6YTtmb3IoYz0wO2M8Zi5sZW5ndGg7YysrKWQ9ZltjXSxlPWEuc3Vic3RyKGcsYS5pbmRleE9mKGQsZyktZyksZys9ZS5sZW5ndGgrZC5sZW5ndGgsZD1uYShkLGIpLDM9PT1kLmxlbmd0aCYmZC5wdXNoKDEpLGgrPWUrKGI/ImhzbGEoIitkWzBdKyIsIitkWzFdKyIlLCIrZFsyXSsiJSwiK2RbM106InJnYmEoIitkLmpvaW4oIiwiKSkrIikiO3JldHVybiBoK2Euc3Vic3RyKGcpfSxwYT0iKD86XFxiKD86KD86cmdifHJnYmF8aHNsfGhzbGEpXFwoLis/XFwpKXxcXEIjKD86WzAtOWEtZl17M30pezEsMn1cXGIiO2ZvcihqIGluIGxhKXBhKz0ifCIraisiXFxiIjtwYT1uZXcgUmVnRXhwKHBhKyIpIiwiZ2kiKSxnLmNvbG9yU3RyaW5nRmlsdGVyPWZ1bmN0aW9uKGEpe3ZhciBiLGM9YVswXSthWzFdO3BhLnRlc3QoYykmJihiPS0xIT09Yy5pbmRleE9mKCJoc2woIil8fC0xIT09Yy5pbmRleE9mKCJoc2xhKCIpLGFbMF09b2EoYVswXSxiKSxhWzFdPW9hKGFbMV0sYikpLHBhLmxhc3RJbmRleD0wfSxiLmRlZmF1bHRTdHJpbmdGaWx0ZXJ8fChiLmRlZmF1bHRTdHJpbmdGaWx0ZXI9Zy5jb2xvclN0cmluZ0ZpbHRlcik7dmFyIHFhPWZ1bmN0aW9uKGEsYixjLGQpe2lmKG51bGw9PWEpcmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBhfTt2YXIgZSxmPWI/KGEubWF0Y2gocGEpfHxbIiJdKVswXToiIixnPWEuc3BsaXQoZikuam9pbigiIikubWF0Y2godSl8fFtdLGg9YS5zdWJzdHIoMCxhLmluZGV4T2YoZ1swXSkpLGk9IikiPT09YS5jaGFyQXQoYS5sZW5ndGgtMSk/IikiOiIiLGo9LTEhPT1hLmluZGV4T2YoIiAiKT8iICI6IiwiLGs9Zy5sZW5ndGgsbD1rPjA/Z1swXS5yZXBsYWNlKHMsIiIpOiIiO3JldHVybiBrP2U9Yj9mdW5jdGlvbihhKXt2YXIgYixtLG4sbztpZigibnVtYmVyIj09dHlwZW9mIGEpYSs9bDtlbHNlIGlmKGQmJkkudGVzdChhKSl7Zm9yKG89YS5yZXBsYWNlKEksInwiKS5zcGxpdCgifCIpLG49MDtuPG8ubGVuZ3RoO24rKylvW25dPWUob1tuXSk7cmV0dXJuIG8uam9pbigiLCIpfWlmKGI9KGEubWF0Y2gocGEpfHxbZl0pWzBdLG09YS5zcGxpdChiKS5qb2luKCIiKS5tYXRjaCh1KXx8W10sbj1tLmxlbmd0aCxrPm4tLSlmb3IoOysrbjxrOyltW25dPWM/bVsobi0xKS8yfDBdOmdbbl07cmV0dXJuIGgrbS5qb2luKGopK2orYitpKygtMSE9PWEuaW5kZXhPZigiaW5zZXQiKT8iIGluc2V0IjoiIil9OmZ1bmN0aW9uKGEpe3ZhciBiLGYsbTtpZigibnVtYmVyIj09dHlwZW9mIGEpYSs9bDtlbHNlIGlmKGQmJkkudGVzdChhKSl7Zm9yKGY9YS5yZXBsYWNlKEksInwiKS5zcGxpdCgifCIpLG09MDttPGYubGVuZ3RoO20rKylmW21dPWUoZlttXSk7cmV0dXJuIGYuam9pbigiLCIpfWlmKGI9YS5tYXRjaCh1KXx8W10sbT1iLmxlbmd0aCxrPm0tLSlmb3IoOysrbTxrOyliW21dPWM/YlsobS0xKS8yfDBdOmdbbV07cmV0dXJuIGgrYi5qb2luKGopK2l9OmZ1bmN0aW9uKGEpe3JldHVybiBhfX0scmE9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9YS5zcGxpdCgiLCIpLGZ1bmN0aW9uKGIsYyxkLGUsZixnLGgpe3ZhciBpLGo9KGMrIiIpLnNwbGl0KCIgIik7Zm9yKGg9e30saT0wOzQ+aTtpKyspaFthW2ldXT1qW2ldPWpbaV18fGpbKGktMSkvMj4+MF07cmV0dXJuIGUucGFyc2UoYixoLGYsZyl9fSxzYT0oUy5fc2V0UGx1Z2luUmF0aW89ZnVuY3Rpb24oYSl7dGhpcy5wbHVnaW4uc2V0UmF0aW8oYSk7Zm9yKHZhciBiLGMsZCxlLGYsZz10aGlzLmRhdGEsaD1nLnByb3h5LGk9Zy5maXJzdE1QVCxqPTFlLTY7aTspYj1oW2kudl0saS5yP2I9TWF0aC5yb3VuZChiKTpqPmImJmI+LWomJihiPTApLGkudFtpLnBdPWIsaT1pLl9uZXh0O2lmKGcuYXV0b1JvdGF0ZSYmKGcuYXV0b1JvdGF0ZS5yb3RhdGlvbj1nLm1vZD9nLm1vZChoLnJvdGF0aW9uLHRoaXMudCk6aC5yb3RhdGlvbiksMT09PWF8fDA9PT1hKWZvcihpPWcuZmlyc3RNUFQsZj0xPT09YT8iZSI6ImIiO2k7KXtpZihjPWkudCxjLnR5cGUpe2lmKDE9PT1jLnR5cGUpe2ZvcihlPWMueHMwK2MucytjLnhzMSxkPTE7ZDxjLmw7ZCsrKWUrPWNbInhuIitkXStjWyJ4cyIrKGQrMSldO2NbZl09ZX19ZWxzZSBjW2ZdPWMucytjLnhzMDtpPWkuX25leHR9fSxmdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMudD1hLHRoaXMucD1iLHRoaXMudj1jLHRoaXMucj1lLGQmJihkLl9wcmV2PXRoaXMsdGhpcy5fbmV4dD1kKX0pLHRhPShTLl9wYXJzZVRvUHJveHk9ZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3ZhciBnLGgsaSxqLGssbD1kLG09e30sbj17fSxvPWMuX3RyYW5zZm9ybSxwPU07Zm9yKGMuX3RyYW5zZm9ybT1udWxsLE09YixkPWs9Yy5wYXJzZShhLGIsZCxlKSxNPXAsZiYmKGMuX3RyYW5zZm9ybT1vLGwmJihsLl9wcmV2PW51bGwsbC5fcHJldiYmKGwuX3ByZXYuX25leHQ9bnVsbCkpKTtkJiZkIT09bDspe2lmKGQudHlwZTw9MSYmKGg9ZC5wLG5baF09ZC5zK2QuYyxtW2hdPWQucyxmfHwoaj1uZXcgc2EoZCwicyIsaCxqLGQuciksZC5jPTApLDE9PT1kLnR5cGUpKWZvcihnPWQubDstLWc+MDspaT0ieG4iK2csaD1kLnArIl8iK2ksbltoXT1kLmRhdGFbaV0sbVtoXT1kW2ldLGZ8fChqPW5ldyBzYShkLGksaCxqLGQucnhwW2ldKSk7ZD1kLl9uZXh0fXJldHVybntwcm94eTptLGVuZDpuLGZpcnN0TVBUOmoscHQ6a319LFMuQ1NTUHJvcFR3ZWVuPWZ1bmN0aW9uKGEsYixkLGUsZyxoLGksaixrLGwsbSl7dGhpcy50PWEsdGhpcy5wPWIsdGhpcy5zPWQsdGhpcy5jPWUsdGhpcy5uPWl8fGIsYSBpbnN0YW5jZW9mIHRhfHxmLnB1c2godGhpcy5uKSx0aGlzLnI9aix0aGlzLnR5cGU9aHx8MCxrJiYodGhpcy5wcj1rLGM9ITApLHRoaXMuYj12b2lkIDA9PT1sP2Q6bCx0aGlzLmU9dm9pZCAwPT09bT9kK2U6bSxnJiYodGhpcy5fbmV4dD1nLGcuX3ByZXY9dGhpcyl9KSx1YT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9bmV3IHRhKGEsYixjLGQtYyxlLC0xLGYpO3JldHVybiBnLmI9YyxnLmU9Zy54czA9ZCxnfSx2YT1nLnBhcnNlQ29tcGxleD1mdW5jdGlvbihhLGIsYyxkLGUsZixoLGksaixsKXtjPWN8fGZ8fCIiLCJmdW5jdGlvbiI9PXR5cGVvZiBkJiYoZD1kKHIscSkpLGg9bmV3IHRhKGEsYiwwLDAsaCxsPzI6MSxudWxsLCExLGksYyxkKSxkKz0iIixlJiZwYS50ZXN0KGQrYykmJihkPVtjLGRdLGcuY29sb3JTdHJpbmdGaWx0ZXIoZCksYz1kWzBdLGQ9ZFsxXSk7dmFyIG0sbixvLHAsdSx2LHcseCx5LHosQSxCLEMsRD1jLnNwbGl0KCIsICIpLmpvaW4oIiwiKS5zcGxpdCgiICIpLEU9ZC5zcGxpdCgiLCAiKS5qb2luKCIsIikuc3BsaXQoIiAiKSxGPUQubGVuZ3RoLEc9ayE9PSExO2ZvcigoLTEhPT1kLmluZGV4T2YoIiwiKXx8LTEhPT1jLmluZGV4T2YoIiwiKSkmJihEPUQuam9pbigiICIpLnJlcGxhY2UoSSwiLCAiKS5zcGxpdCgiICIpLEU9RS5qb2luKCIgIikucmVwbGFjZShJLCIsICIpLnNwbGl0KCIgIiksRj1ELmxlbmd0aCksRiE9PUUubGVuZ3RoJiYoRD0oZnx8IiIpLnNwbGl0KCIgIiksRj1ELmxlbmd0aCksaC5wbHVnaW49aixoLnNldFJhdGlvPWwscGEubGFzdEluZGV4PTAsbT0wO0Y+bTttKyspaWYocD1EW21dLHU9RVttXSx4PXBhcnNlRmxvYXQocCkseHx8MD09PXgpaC5hcHBlbmRYdHJhKCIiLHgsaWEodSx4KSx1LnJlcGxhY2UodCwiIiksRyYmLTEhPT11LmluZGV4T2YoInB4IiksITApO2Vsc2UgaWYoZSYmcGEudGVzdChwKSlCPXUuaW5kZXhPZigiKSIpKzEsQj0iKSIrKEI/dS5zdWJzdHIoQik6IiIpLEM9LTEhPT11LmluZGV4T2YoImhzbCIpJiZVLHA9bmEocCxDKSx1PW5hKHUsQykseT1wLmxlbmd0aCt1Lmxlbmd0aD42LHkmJiFVJiYwPT09dVszXT8oaFsieHMiK2gubF0rPWgubD8iIHRyYW5zcGFyZW50IjoidHJhbnNwYXJlbnQiLGguZT1oLmUuc3BsaXQoRVttXSkuam9pbigidHJhbnNwYXJlbnQiKSk6KFV8fCh5PSExKSxDP2guYXBwZW5kWHRyYSh5PyJoc2xhKCI6ImhzbCgiLHBbMF0saWEodVswXSxwWzBdKSwiLCIsITEsITApLmFwcGVuZFh0cmEoIiIscFsxXSxpYSh1WzFdLHBbMV0pLCIlLCIsITEpLmFwcGVuZFh0cmEoIiIscFsyXSxpYSh1WzJdLHBbMl0pLHk/IiUsIjoiJSIrQiwhMSk6aC5hcHBlbmRYdHJhKHk/InJnYmEoIjoicmdiKCIscFswXSx1WzBdLXBbMF0sIiwiLCEwLCEwKS5hcHBlbmRYdHJhKCIiLHBbMV0sdVsxXS1wWzFdLCIsIiwhMCkuYXBwZW5kWHRyYSgiIixwWzJdLHVbMl0tcFsyXSx5PyIsIjpCLCEwKSx5JiYocD1wLmxlbmd0aDw0PzE6cFszXSxoLmFwcGVuZFh0cmEoIiIscCwodS5sZW5ndGg8ND8xOnVbM10pLXAsQiwhMSkpKSxwYS5sYXN0SW5kZXg9MDtlbHNlIGlmKHY9cC5tYXRjaChzKSl7aWYodz11Lm1hdGNoKHQpLCF3fHx3Lmxlbmd0aCE9PXYubGVuZ3RoKXJldHVybiBoO2ZvcihvPTAsbj0wO248di5sZW5ndGg7bisrKUE9dltuXSx6PXAuaW5kZXhPZihBLG8pLGguYXBwZW5kWHRyYShwLnN1YnN0cihvLHotbyksTnVtYmVyKEEpLGlhKHdbbl0sQSksIiIsRyYmInB4Ij09PXAuc3Vic3RyKHorQS5sZW5ndGgsMiksMD09PW4pLG89eitBLmxlbmd0aDtoWyJ4cyIraC5sXSs9cC5zdWJzdHIobyl9ZWxzZSBoWyJ4cyIraC5sXSs9aC5sfHxoWyJ4cyIraC5sXT8iICIrdTp1O2lmKC0xIT09ZC5pbmRleE9mKCI9IikmJmguZGF0YSl7Zm9yKEI9aC54czAraC5kYXRhLnMsbT0xO208aC5sO20rKylCKz1oWyJ4cyIrbV0raC5kYXRhWyJ4biIrbV07aC5lPUIraFsieHMiK21dfXJldHVybiBoLmx8fChoLnR5cGU9LTEsaC54czA9aC5lKSxoLnhmaXJzdHx8aH0sd2E9OTtmb3Ioaj10YS5wcm90b3R5cGUsai5sPWoucHI9MDstLXdhPjA7KWpbInhuIit3YV09MCxqWyJ4cyIrd2FdPSIiO2oueHMwPSIiLGouX25leHQ9ai5fcHJldj1qLnhmaXJzdD1qLmRhdGE9ai5wbHVnaW49ai5zZXRSYXRpbz1qLnJ4cD1udWxsLGouYXBwZW5kWHRyYT1mdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9dGhpcyxoPWcubDtyZXR1cm4gZ1sieHMiK2hdKz1mJiYoaHx8Z1sieHMiK2hdKT8iICIrYTphfHwiIixjfHwwPT09aHx8Zy5wbHVnaW4/KGcubCsrLGcudHlwZT1nLnNldFJhdGlvPzI6MSxnWyJ4cyIrZy5sXT1kfHwiIixoPjA/KGcuZGF0YVsieG4iK2hdPWIrYyxnLnJ4cFsieG4iK2hdPWUsZ1sieG4iK2hdPWIsZy5wbHVnaW58fChnLnhmaXJzdD1uZXcgdGEoZywieG4iK2gsYixjLGcueGZpcnN0fHxnLDAsZy5uLGUsZy5wciksZy54Zmlyc3QueHMwPTApLGcpOihnLmRhdGE9e3M6YitjfSxnLnJ4cD17fSxnLnM9YixnLmM9YyxnLnI9ZSxnKSk6KGdbInhzIitoXSs9YisoZHx8IiIpLGcpfTt2YXIgeGE9ZnVuY3Rpb24oYSxiKXtiPWJ8fHt9LHRoaXMucD1iLnByZWZpeD9aKGEpfHxhOmEsaVthXT1pW3RoaXMucF09dGhpcyx0aGlzLmZvcm1hdD1iLmZvcm1hdHRlcnx8cWEoYi5kZWZhdWx0VmFsdWUsYi5jb2xvcixiLmNvbGxhcHNpYmxlLGIubXVsdGkpLGIucGFyc2VyJiYodGhpcy5wYXJzZT1iLnBhcnNlciksdGhpcy5jbHJzPWIuY29sb3IsdGhpcy5tdWx0aT1iLm11bHRpLHRoaXMua2V5d29yZD1iLmtleXdvcmQsdGhpcy5kZmx0PWIuZGVmYXVsdFZhbHVlLHRoaXMucHI9Yi5wcmlvcml0eXx8MH0seWE9Uy5fcmVnaXN0ZXJDb21wbGV4U3BlY2lhbFByb3A9ZnVuY3Rpb24oYSxiLGMpeyJvYmplY3QiIT10eXBlb2YgYiYmKGI9e3BhcnNlcjpjfSk7dmFyIGQsZSxmPWEuc3BsaXQoIiwiKSxnPWIuZGVmYXVsdFZhbHVlO2ZvcihjPWN8fFtnXSxkPTA7ZDxmLmxlbmd0aDtkKyspYi5wcmVmaXg9MD09PWQmJmIucHJlZml4LGIuZGVmYXVsdFZhbHVlPWNbZF18fGcsZT1uZXcgeGEoZltkXSxiKX0semE9Uy5fcmVnaXN0ZXJQbHVnaW5Qcm9wPWZ1bmN0aW9uKGEpe2lmKCFpW2FdKXt2YXIgYj1hLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Euc3Vic3RyKDEpKyJQbHVnaW4iO3lhKGEse3BhcnNlcjpmdW5jdGlvbihhLGMsZCxlLGYsZyxqKXt2YXIgaz1oLmNvbS5ncmVlbnNvY2sucGx1Z2luc1tiXTtyZXR1cm4gaz8oay5fY3NzUmVnaXN0ZXIoKSxpW2RdLnBhcnNlKGEsYyxkLGUsZixnLGopKTooVygiRXJyb3I6ICIrYisiIGpzIGZpbGUgbm90IGxvYWRlZC4iKSxmKX19KX19O2o9eGEucHJvdG90eXBlLGoucGFyc2VDb21wbGV4PWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZyxoLGksaixrLGwsbT10aGlzLmtleXdvcmQ7aWYodGhpcy5tdWx0aSYmKEkudGVzdChjKXx8SS50ZXN0KGIpPyhoPWIucmVwbGFjZShJLCJ8Iikuc3BsaXQoInwiKSxpPWMucmVwbGFjZShJLCJ8Iikuc3BsaXQoInwiKSk6bSYmKGg9W2JdLGk9W2NdKSksaSl7Zm9yKGo9aS5sZW5ndGg+aC5sZW5ndGg/aS5sZW5ndGg6aC5sZW5ndGgsZz0wO2o+ZztnKyspYj1oW2ddPWhbZ118fHRoaXMuZGZsdCxjPWlbZ109aVtnXXx8dGhpcy5kZmx0LG0mJihrPWIuaW5kZXhPZihtKSxsPWMuaW5kZXhPZihtKSxrIT09bCYmKC0xPT09bD9oW2ddPWhbZ10uc3BsaXQobSkuam9pbigiIik6LTE9PT1rJiYoaFtnXSs9IiAiK20pKSk7Yj1oLmpvaW4oIiwgIiksYz1pLmpvaW4oIiwgIil9cmV0dXJuIHZhKGEsdGhpcy5wLGIsYyx0aGlzLmNscnMsdGhpcy5kZmx0LGQsdGhpcy5wcixlLGYpfSxqLnBhcnNlPWZ1bmN0aW9uKGEsYixjLGQsZixnLGgpe3JldHVybiB0aGlzLnBhcnNlQ29tcGxleChhLnN0eWxlLHRoaXMuZm9ybWF0KF8oYSx0aGlzLnAsZSwhMSx0aGlzLmRmbHQpKSx0aGlzLmZvcm1hdChiKSxmLGcpfSxnLnJlZ2lzdGVyU3BlY2lhbFByb3A9ZnVuY3Rpb24oYSxiLGMpe3lhKGEse3BhcnNlcjpmdW5jdGlvbihhLGQsZSxmLGcsaCxpKXt2YXIgaj1uZXcgdGEoYSxlLDAsMCxnLDIsZSwhMSxjKTtyZXR1cm4gai5wbHVnaW49aCxqLnNldFJhdGlvPWIoYSxkLGYuX3R3ZWVuLGUpLGp9LHByaW9yaXR5OmN9KX0sZy51c2VTVkdUcmFuc2Zvcm1BdHRyPSEwO3ZhciBBYSxCYT0ic2NhbGVYLHNjYWxlWSxzY2FsZVoseCx5LHosc2tld1gsc2tld1kscm90YXRpb24scm90YXRpb25YLHJvdGF0aW9uWSxwZXJzcGVjdGl2ZSx4UGVyY2VudCx5UGVyY2VudCIuc3BsaXQoIiwiKSxDYT1aKCJ0cmFuc2Zvcm0iKSxEYT1YKyJ0cmFuc2Zvcm0iLEVhPVooInRyYW5zZm9ybU9yaWdpbiIpLEZhPW51bGwhPT1aKCJwZXJzcGVjdGl2ZSIpLEdhPVMuVHJhbnNmb3JtPWZ1bmN0aW9uKCl7dGhpcy5wZXJzcGVjdGl2ZT1wYXJzZUZsb2F0KGcuZGVmYXVsdFRyYW5zZm9ybVBlcnNwZWN0aXZlKXx8MCx0aGlzLmZvcmNlM0Q9Zy5kZWZhdWx0Rm9yY2UzRCE9PSExJiZGYT9nLmRlZmF1bHRGb3JjZTNEfHwiYXV0byI6ITF9LEhhPV9nc1Njb3BlLlNWR0VsZW1lbnQsSWE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9Ty5jcmVhdGVFbGVtZW50TlMoImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixhKSxmPS8oW2Etel0pKFtBLVpdKS9nO2ZvcihkIGluIGMpZS5zZXRBdHRyaWJ1dGVOUyhudWxsLGQucmVwbGFjZShmLCIkMS0kMiIpLnRvTG93ZXJDYXNlKCksY1tkXSk7cmV0dXJuIGIuYXBwZW5kQ2hpbGQoZSksZX0sSmE9Ty5kb2N1bWVudEVsZW1lbnR8fHt9LEthPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ9cHx8L0FuZHJvaWQvaS50ZXN0KFQpJiYhX2dzU2NvcGUuY2hyb21lO3JldHVybiBPLmNyZWF0ZUVsZW1lbnROUyYmIWQmJihhPUlhKCJzdmciLEphKSxiPUlhKCJyZWN0IixhLHt3aWR0aDoxMDAsaGVpZ2h0OjUwLHg6MTAwfSksYz1iLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLndpZHRoLGIuc3R5bGVbRWFdPSI1MCUgNTAlIixiLnN0eWxlW0NhXT0ic2NhbGVYKDAuNSkiLGQ9Yz09PWIuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkud2lkdGgmJiEobiYmRmEpLEphLnJlbW92ZUNoaWxkKGEpKSxkfSgpLExhPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1LHY9YS5fZ3NUcmFuc2Zvcm0sdz1RYShhLCEwKTt2JiYodD12LnhPcmlnaW4sdT12LnlPcmlnaW4pLCghZHx8KGg9ZC5zcGxpdCgiICIpKS5sZW5ndGg8MikmJihuPWEuZ2V0QkJveCgpLDA9PT1uLngmJjA9PT1uLnkmJm4ud2lkdGgrbi5oZWlnaHQ9PT0wJiYobj17eDpwYXJzZUZsb2F0KGEuaGFzQXR0cmlidXRlKCJ4Iik/YS5nZXRBdHRyaWJ1dGUoIngiKTphLmhhc0F0dHJpYnV0ZSgiY3giKT9hLmdldEF0dHJpYnV0ZSgiY3giKTowKXx8MCx5OnBhcnNlRmxvYXQoYS5oYXNBdHRyaWJ1dGUoInkiKT9hLmdldEF0dHJpYnV0ZSgieSIpOmEuaGFzQXR0cmlidXRlKCJjeSIpP2EuZ2V0QXR0cmlidXRlKCJjeSIpOjApfHwwLHdpZHRoOjAsaGVpZ2h0OjB9KSxiPWhhKGIpLnNwbGl0KCIgIiksaD1bKC0xIT09YlswXS5pbmRleE9mKCIlIik/cGFyc2VGbG9hdChiWzBdKS8xMDAqbi53aWR0aDpwYXJzZUZsb2F0KGJbMF0pKStuLngsKC0xIT09YlsxXS5pbmRleE9mKCIlIik/cGFyc2VGbG9hdChiWzFdKS8xMDAqbi5oZWlnaHQ6cGFyc2VGbG9hdChiWzFdKSkrbi55XSksYy54T3JpZ2luPWs9cGFyc2VGbG9hdChoWzBdKSxjLnlPcmlnaW49bD1wYXJzZUZsb2F0KGhbMV0pLGQmJnchPT1QYSYmKG09d1swXSxuPXdbMV0sbz13WzJdLHA9d1szXSxxPXdbNF0scj13WzVdLHM9bSpwLW4qbyxzJiYoaT1rKihwL3MpK2wqKC1vL3MpKyhvKnItcCpxKS9zLGo9ayooLW4vcykrbCoobS9zKS0obSpyLW4qcSkvcyxrPWMueE9yaWdpbj1oWzBdPWksbD1jLnlPcmlnaW49aFsxXT1qKSksdiYmKGYmJihjLnhPZmZzZXQ9di54T2Zmc2V0LGMueU9mZnNldD12LnlPZmZzZXQsdj1jKSxlfHxlIT09ITEmJmcuZGVmYXVsdFNtb290aE9yaWdpbiE9PSExPyhpPWstdCxqPWwtdSx2LnhPZmZzZXQrPWkqd1swXStqKndbMl0taSx2LnlPZmZzZXQrPWkqd1sxXStqKndbM10taik6di54T2Zmc2V0PXYueU9mZnNldD0wKSxmfHxhLnNldEF0dHJpYnV0ZSgiZGF0YS1zdmctb3JpZ2luIixoLmpvaW4oIiAiKSl9LE1hPWZ1bmN0aW9uKGEpe3ZhciBiLGM9UCgic3ZnIix0aGlzLm93bmVyU1ZHRWxlbWVudC5nZXRBdHRyaWJ1dGUoInhtbG5zIil8fCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIpLGQ9dGhpcy5wYXJlbnROb2RlLGU9dGhpcy5uZXh0U2libGluZyxmPXRoaXMuc3R5bGUuY3NzVGV4dDtpZihKYS5hcHBlbmRDaGlsZChjKSxjLmFwcGVuZENoaWxkKHRoaXMpLHRoaXMuc3R5bGUuZGlzcGxheT0iYmxvY2siLGEpdHJ5e2I9dGhpcy5nZXRCQm94KCksdGhpcy5fb3JpZ2luYWxHZXRCQm94PXRoaXMuZ2V0QkJveCx0aGlzLmdldEJCb3g9TWF9Y2F0Y2goZyl7fWVsc2UgdGhpcy5fb3JpZ2luYWxHZXRCQm94JiYoYj10aGlzLl9vcmlnaW5hbEdldEJCb3goKSk7cmV0dXJuIGU/ZC5pbnNlcnRCZWZvcmUodGhpcyxlKTpkLmFwcGVuZENoaWxkKHRoaXMpLEphLnJlbW92ZUNoaWxkKGMpLHRoaXMuc3R5bGUuY3NzVGV4dD1mLGJ9LE5hPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gYS5nZXRCQm94KCl9Y2F0Y2goYil7cmV0dXJuIE1hLmNhbGwoYSwhMCl9fSxPYT1mdW5jdGlvbihhKXtyZXR1cm4hKCEoSGEmJmEuZ2V0Q1RNJiZOYShhKSl8fGEucGFyZW50Tm9kZSYmIWEub3duZXJTVkdFbGVtZW50KX0sUGE9WzEsMCwwLDEsMCwwXSxRYT1mdW5jdGlvbihhLGIpe3ZhciBjLGQsZSxmLGcsaCxpPWEuX2dzVHJhbnNmb3JtfHxuZXcgR2Esaj0xZTUsaz1hLnN0eWxlO2lmKENhP2Q9XyhhLERhLG51bGwsITApOmEuY3VycmVudFN0eWxlJiYoZD1hLmN1cnJlbnRTdHlsZS5maWx0ZXIubWF0Y2goRyksZD1kJiY0PT09ZC5sZW5ndGg/W2RbMF0uc3Vic3RyKDQpLE51bWJlcihkWzJdLnN1YnN0cig0KSksTnVtYmVyKGRbMV0uc3Vic3RyKDQpKSxkWzNdLnN1YnN0cig0KSxpLnh8fDAsaS55fHwwXS5qb2luKCIsIik6IiIpLGM9IWR8fCJub25lIj09PWR8fCJtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCkiPT09ZCxjJiZDYSYmKChoPSJub25lIj09PSQoYSkuZGlzcGxheSl8fCFhLnBhcmVudE5vZGUpJiYoaCYmKGY9ay5kaXNwbGF5LGsuZGlzcGxheT0iYmxvY2siKSxhLnBhcmVudE5vZGV8fChnPTEsSmEuYXBwZW5kQ2hpbGQoYSkpLGQ9XyhhLERhLG51bGwsITApLGM9IWR8fCJub25lIj09PWR8fCJtYXRyaXgoMSwgMCwgMCwgMSwgMCwgMCkiPT09ZCxmP2suZGlzcGxheT1mOmgmJlZhKGssImRpc3BsYXkiKSxnJiZKYS5yZW1vdmVDaGlsZChhKSksKGkuc3ZnfHxhLmdldENUTSYmT2EoYSkpJiYoYyYmLTEhPT0oa1tDYV0rIiIpLmluZGV4T2YoIm1hdHJpeCIpJiYoZD1rW0NhXSxjPTApLGU9YS5nZXRBdHRyaWJ1dGUoInRyYW5zZm9ybSIpLGMmJmUmJigtMSE9PWUuaW5kZXhPZigibWF0cml4Iik/KGQ9ZSxjPTApOi0xIT09ZS5pbmRleE9mKCJ0cmFuc2xhdGUiKSYmKGQ9Im1hdHJpeCgxLDAsMCwxLCIrZS5tYXRjaCgvKD86XC18XGIpW1xkXC1cLmVdK1xiL2dpKS5qb2luKCIsIikrIikiLGM9MCkpKSxjKXJldHVybiBQYTtmb3IoZT0oZHx8IiIpLm1hdGNoKHMpfHxbXSx3YT1lLmxlbmd0aDstLXdhPi0xOylmPU51bWJlcihlW3dhXSksZVt3YV09KGc9Zi0oZnw9MCkpPyhnKmorKDA+Zz8tLjU6LjUpfDApL2orZjpmO3JldHVybiBiJiZlLmxlbmd0aD42P1tlWzBdLGVbMV0sZVs0XSxlWzVdLGVbMTJdLGVbMTNdXTplfSxSYT1TLmdldFRyYW5zZm9ybT1mdW5jdGlvbihhLGMsZCxlKXtpZihhLl9nc1RyYW5zZm9ybSYmZCYmIWUpcmV0dXJuIGEuX2dzVHJhbnNmb3JtO3ZhciBmLGgsaSxqLGssbCxtPWQ/YS5fZ3NUcmFuc2Zvcm18fG5ldyBHYTpuZXcgR2Esbj1tLnNjYWxlWDwwLG89MmUtNSxwPTFlNSxxPUZhP3BhcnNlRmxvYXQoXyhhLEVhLGMsITEsIjAgMCAwIikuc3BsaXQoIiAiKVsyXSl8fG0uek9yaWdpbnx8MDowLHI9cGFyc2VGbG9hdChnLmRlZmF1bHRUcmFuc2Zvcm1QZXJzcGVjdGl2ZSl8fDA7aWYobS5zdmc9ISghYS5nZXRDVE18fCFPYShhKSksbS5zdmcmJihMYShhLF8oYSxFYSxjLCExLCI1MCUgNTAlIikrIiIsbSxhLmdldEF0dHJpYnV0ZSgiZGF0YS1zdmctb3JpZ2luIikpLEFhPWcudXNlU1ZHVHJhbnNmb3JtQXR0cnx8S2EpLGY9UWEoYSksZiE9PVBhKXtpZigxNj09PWYubGVuZ3RoKXt2YXIgcyx0LHUsdix3LHg9ZlswXSx5PWZbMV0sej1mWzJdLEE9ZlszXSxCPWZbNF0sQz1mWzVdLEQ9Zls2XSxFPWZbN10sRj1mWzhdLEc9Zls5XSxIPWZbMTBdLEk9ZlsxMl0sSj1mWzEzXSxLPWZbMTRdLE09ZlsxMV0sTj1NYXRoLmF0YW4yKEQsSCk7bS56T3JpZ2luJiYoSz0tbS56T3JpZ2luLEk9RipLLWZbMTJdLEo9RypLLWZbMTNdLEs9SCpLK20uek9yaWdpbi1mWzE0XSksbS5yb3RhdGlvblg9TipMLE4mJih2PU1hdGguY29zKC1OKSx3PU1hdGguc2luKC1OKSxzPUIqditGKncsdD1DKnYrRyp3LHU9RCp2K0gqdyxGPUIqLXcrRip2LEc9QyotdytHKnYsSD1EKi13K0gqdixNPUUqLXcrTSp2LEI9cyxDPXQsRD11KSxOPU1hdGguYXRhbjIoLXosSCksbS5yb3RhdGlvblk9TipMLE4mJih2PU1hdGguY29zKC1OKSx3PU1hdGguc2luKC1OKSxzPXgqdi1GKncsdD15KnYtRyp3LHU9eip2LUgqdyxHPXkqdytHKnYsSD16KncrSCp2LE09QSp3K00qdix4PXMseT10LHo9dSksTj1NYXRoLmF0YW4yKHkseCksbS5yb3RhdGlvbj1OKkwsTiYmKHY9TWF0aC5jb3MoLU4pLHc9TWF0aC5zaW4oLU4pLHg9eCp2K0Iqdyx0PXkqditDKncsQz15Ki13K0MqdixEPXoqLXcrRCp2LHk9dCksbS5yb3RhdGlvblgmJk1hdGguYWJzKG0ucm90YXRpb25YKStNYXRoLmFicyhtLnJvdGF0aW9uKT4zNTkuOSYmKG0ucm90YXRpb25YPW0ucm90YXRpb249MCxtLnJvdGF0aW9uWT0xODAtbS5yb3RhdGlvblkpLG0uc2NhbGVYPShNYXRoLnNxcnQoeCp4K3kqeSkqcCsuNXwwKS9wLG0uc2NhbGVZPShNYXRoLnNxcnQoQypDK0cqRykqcCsuNXwwKS9wLG0uc2NhbGVaPShNYXRoLnNxcnQoRCpEK0gqSCkqcCsuNXwwKS9wLG0ucm90YXRpb25YfHxtLnJvdGF0aW9uWT9tLnNrZXdYPTA6KG0uc2tld1g9Qnx8Qz9NYXRoLmF0YW4yKEIsQykqTCttLnJvdGF0aW9uOm0uc2tld1h8fDAsTWF0aC5hYnMobS5za2V3WCk+OTAmJk1hdGguYWJzKG0uc2tld1gpPDI3MCYmKG4/KG0uc2NhbGVYKj0tMSxtLnNrZXdYKz1tLnJvdGF0aW9uPD0wPzE4MDotMTgwLG0ucm90YXRpb24rPW0ucm90YXRpb248PTA/MTgwOi0xODApOihtLnNjYWxlWSo9LTEsbS5za2V3WCs9bS5za2V3WDw9MD8xODA6LTE4MCkpKSxtLnBlcnNwZWN0aXZlPU0/MS8oMD5NPy1NOk0pOjAsbS54PUksbS55PUosbS56PUssbS5zdmcmJihtLngtPW0ueE9yaWdpbi0obS54T3JpZ2luKngtbS55T3JpZ2luKkIpLG0ueS09bS55T3JpZ2luLShtLnlPcmlnaW4qeS1tLnhPcmlnaW4qQykpfWVsc2UgaWYoIUZhfHxlfHwhZi5sZW5ndGh8fG0ueCE9PWZbNF18fG0ueSE9PWZbNV18fCFtLnJvdGF0aW9uWCYmIW0ucm90YXRpb25ZKXt2YXIgTz1mLmxlbmd0aD49NixQPU8/ZlswXToxLFE9ZlsxXXx8MCxSPWZbMl18fDAsUz1PP2ZbM106MTttLng9Zls0XXx8MCxtLnk9Zls1XXx8MCxpPU1hdGguc3FydChQKlArUSpRKSxqPU1hdGguc3FydChTKlMrUipSKSxrPVB8fFE/TWF0aC5hdGFuMihRLFApKkw6bS5yb3RhdGlvbnx8MCxsPVJ8fFM/TWF0aC5hdGFuMihSLFMpKkwrazptLnNrZXdYfHwwLE1hdGguYWJzKGwpPjkwJiZNYXRoLmFicyhsKTwyNzAmJihuPyhpKj0tMSxsKz0wPj1rPzE4MDotMTgwLGsrPTA+PWs/MTgwOi0xODApOihqKj0tMSxsKz0wPj1sPzE4MDotMTgwKSksbS5zY2FsZVg9aSxtLnNjYWxlWT1qLG0ucm90YXRpb249ayxtLnNrZXdYPWwsRmEmJihtLnJvdGF0aW9uWD1tLnJvdGF0aW9uWT1tLno9MCxtLnBlcnNwZWN0aXZlPXIsbS5zY2FsZVo9MSksbS5zdmcmJihtLngtPW0ueE9yaWdpbi0obS54T3JpZ2luKlArbS55T3JpZ2luKlIpLG0ueS09bS55T3JpZ2luLShtLnhPcmlnaW4qUSttLnlPcmlnaW4qUykpfW0uek9yaWdpbj1xO2ZvcihoIGluIG0pbVtoXTxvJiZtW2hdPi1vJiYobVtoXT0wKX1yZXR1cm4gZCYmKGEuX2dzVHJhbnNmb3JtPW0sbS5zdmcmJihBYSYmYS5zdHlsZVtDYV0/Yi5kZWxheWVkQ2FsbCguMDAxLGZ1bmN0aW9uKCl7VmEoYS5zdHlsZSxDYSl9KTohQWEmJmEuZ2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSYmYi5kZWxheWVkQ2FsbCguMDAxLGZ1bmN0aW9uKCl7YS5yZW1vdmVBdHRyaWJ1dGUoInRyYW5zZm9ybSIpfSkpKSxtfSxTYT1mdW5jdGlvbihhKXt2YXIgYixjLGQ9dGhpcy5kYXRhLGU9LWQucm90YXRpb24qSyxmPWUrZC5za2V3WCpLLGc9MWU1LGg9KE1hdGguY29zKGUpKmQuc2NhbGVYKmd8MCkvZyxpPShNYXRoLnNpbihlKSpkLnNjYWxlWCpnfDApL2csaj0oTWF0aC5zaW4oZikqLWQuc2NhbGVZKmd8MCkvZyxrPShNYXRoLmNvcyhmKSpkLnNjYWxlWSpnfDApL2csbD10aGlzLnQuc3R5bGUsbT10aGlzLnQuY3VycmVudFN0eWxlO2lmKG0pe2M9aSxpPS1qLGo9LWMsYj1tLmZpbHRlcixsLmZpbHRlcj0iIjt2YXIgbixvLHE9dGhpcy50Lm9mZnNldFdpZHRoLHI9dGhpcy50Lm9mZnNldEhlaWdodCxzPSJhYnNvbHV0ZSIhPT1tLnBvc2l0aW9uLHQ9InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5NYXRyaXgoTTExPSIraCsiLCBNMTI9IitpKyIsIE0yMT0iK2orIiwgTTIyPSIrayx1PWQueCtxKmQueFBlcmNlbnQvMTAwLHY9ZC55K3IqZC55UGVyY2VudC8xMDA7aWYobnVsbCE9ZC5veCYmKG49KGQub3hwP3EqZC5veCouMDE6ZC5veCktcS8yLG89KGQub3lwP3IqZC5veSouMDE6ZC5veSktci8yLHUrPW4tKG4qaCtvKmkpLHYrPW8tKG4qaitvKmspKSxzPyhuPXEvMixvPXIvMix0Kz0iLCBEeD0iKyhuLShuKmgrbyppKSt1KSsiLCBEeT0iKyhvLShuKmorbyprKSt2KSsiKSIpOnQrPSIsIHNpemluZ01ldGhvZD0nYXV0byBleHBhbmQnKSIsLTEhPT1iLmluZGV4T2YoIkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0Lk1hdHJpeCgiKT9sLmZpbHRlcj1iLnJlcGxhY2UoSCx0KTpsLmZpbHRlcj10KyIgIitiLCgwPT09YXx8MT09PWEpJiYxPT09aCYmMD09PWkmJjA9PT1qJiYxPT09ayYmKHMmJi0xPT09dC5pbmRleE9mKCJEeD0wLCBEeT0wIil8fHgudGVzdChiKSYmMTAwIT09cGFyc2VGbG9hdChSZWdFeHAuJDEpfHwtMT09PWIuaW5kZXhPZihiLmluZGV4T2YoIkFscGhhIikpJiZsLnJlbW92ZUF0dHJpYnV0ZSgiZmlsdGVyIikpLCFzKXt2YXIgeSx6LEEsQj04PnA/MTotMTtmb3Iobj1kLmllT2Zmc2V0WHx8MCxvPWQuaWVPZmZzZXRZfHwwLGQuaWVPZmZzZXRYPU1hdGgucm91bmQoKHEtKCgwPmg/LWg6aCkqcSsoMD5pPy1pOmkpKnIpKS8yK3UpLGQuaWVPZmZzZXRZPU1hdGgucm91bmQoKHItKCgwPms/LWs6aykqcisoMD5qPy1qOmopKnEpKS8yK3YpLHdhPTA7ND53YTt3YSsrKXo9ZmFbd2FdLHk9bVt6XSxjPS0xIT09eS5pbmRleE9mKCJweCIpP3BhcnNlRmxvYXQoeSk6YWEodGhpcy50LHoscGFyc2VGbG9hdCh5KSx5LnJlcGxhY2UodywiIikpfHwwLEE9YyE9PWRbel0/Mj53YT8tZC5pZU9mZnNldFg6LWQuaWVPZmZzZXRZOjI+d2E/bi1kLmllT2Zmc2V0WDpvLWQuaWVPZmZzZXRZLGxbel09KGRbel09TWF0aC5yb3VuZChjLUEqKDA9PT13YXx8Mj09PXdhPzE6QikpKSsicHgifX19LFRhPVMuc2V0M0RUcmFuc2Zvcm1SYXRpbz1TLnNldFRyYW5zZm9ybVJhdGlvPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGksaixrLGwsbSxvLHAscSxyLHMsdCx1LHYsdyx4LHksej10aGlzLmRhdGEsQT10aGlzLnQuc3R5bGUsQj16LnJvdGF0aW9uLEM9ei5yb3RhdGlvblgsRD16LnJvdGF0aW9uWSxFPXouc2NhbGVYLEY9ei5zY2FsZVksRz16LnNjYWxlWixIPXoueCxJPXoueSxKPXoueixMPXouc3ZnLE09ei5wZXJzcGVjdGl2ZSxOPXouZm9yY2UzRCxPPXouc2tld1ksUD16LnNrZXdYO2lmKE8mJihQKz1PLEIrPU8pLCgoMT09PWF8fDA9PT1hKSYmImF1dG8iPT09TiYmKHRoaXMudHdlZW4uX3RvdGFsVGltZT09PXRoaXMudHdlZW4uX3RvdGFsRHVyYXRpb258fCF0aGlzLnR3ZWVuLl90b3RhbFRpbWUpfHwhTikmJiFKJiYhTSYmIUQmJiFDJiYxPT09R3x8QWEmJkx8fCFGYSlyZXR1cm4gdm9pZChCfHxQfHxMPyhCKj1LLHg9UCpLLHk9MWU1LGM9TWF0aC5jb3MoQikqRSxmPU1hdGguc2luKEIpKkUsZD1NYXRoLnNpbihCLXgpKi1GLGc9TWF0aC5jb3MoQi14KSpGLHgmJiJzaW1wbGUiPT09ei5za2V3VHlwZSYmKGI9TWF0aC50YW4oeC1PKkspLGI9TWF0aC5zcXJ0KDErYipiKSxkKj1iLGcqPWIsTyYmKGI9TWF0aC50YW4oTypLKSxiPU1hdGguc3FydCgxK2IqYiksYyo9YixmKj1iKSksTCYmKEgrPXoueE9yaWdpbi0oei54T3JpZ2luKmMrei55T3JpZ2luKmQpK3oueE9mZnNldCxJKz16LnlPcmlnaW4tKHoueE9yaWdpbipmK3oueU9yaWdpbipnKSt6LnlPZmZzZXQsQWEmJih6LnhQZXJjZW50fHx6LnlQZXJjZW50KSYmKHE9dGhpcy50LmdldEJCb3goKSxIKz0uMDEqei54UGVyY2VudCpxLndpZHRoLEkrPS4wMSp6LnlQZXJjZW50KnEuaGVpZ2h0KSxxPTFlLTYscT5IJiZIPi1xJiYoSD0wKSxxPkkmJkk+LXEmJihJPTApKSx1PShjKnl8MCkveSsiLCIrKGYqeXwwKS95KyIsIisoZCp5fDApL3krIiwiKyhnKnl8MCkveSsiLCIrSCsiLCIrSSsiKSIsTCYmQWE/dGhpcy50LnNldEF0dHJpYnV0ZSgidHJhbnNmb3JtIiwibWF0cml4KCIrdSk6QVtDYV09KHoueFBlcmNlbnR8fHoueVBlcmNlbnQ/InRyYW5zbGF0ZSgiK3oueFBlcmNlbnQrIiUsIit6LnlQZXJjZW50KyIlKSBtYXRyaXgoIjoibWF0cml4KCIpK3UpOkFbQ2FdPSh6LnhQZXJjZW50fHx6LnlQZXJjZW50PyJ0cmFuc2xhdGUoIit6LnhQZXJjZW50KyIlLCIrei55UGVyY2VudCsiJSkgbWF0cml4KCI6Im1hdHJpeCgiKStFKyIsMCwwLCIrRisiLCIrSCsiLCIrSSsiKSIpO2lmKG4mJihxPTFlLTQscT5FJiZFPi1xJiYoRT1HPTJlLTUpLHE+RiYmRj4tcSYmKEY9Rz0yZS01KSwhTXx8ei56fHx6LnJvdGF0aW9uWHx8ei5yb3RhdGlvbll8fChNPTApKSxCfHxQKUIqPUsscj1jPU1hdGguY29zKEIpLHM9Zj1NYXRoLnNpbihCKSxQJiYoQi09UCpLLHI9TWF0aC5jb3MoQikscz1NYXRoLnNpbihCKSwic2ltcGxlIj09PXouc2tld1R5cGUmJihiPU1hdGgudGFuKChQLU8pKkspLGI9TWF0aC5zcXJ0KDErYipiKSxyKj1iLHMqPWIsei5za2V3WSYmKGI9TWF0aC50YW4oTypLKSxiPU1hdGguc3FydCgxK2IqYiksYyo9YixmKj1iKSkpLGQ9LXMsZz1yO2Vsc2V7aWYoIShEfHxDfHwxIT09R3x8TXx8TCkpcmV0dXJuIHZvaWQoQVtDYV09KHoueFBlcmNlbnR8fHoueVBlcmNlbnQ/InRyYW5zbGF0ZSgiK3oueFBlcmNlbnQrIiUsIit6LnlQZXJjZW50KyIlKSB0cmFuc2xhdGUzZCgiOiJ0cmFuc2xhdGUzZCgiKStIKyJweCwiK0krInB4LCIrSisicHgpIisoMSE9PUV8fDEhPT1GPyIgc2NhbGUoIitFKyIsIitGKyIpIjoiIikpO2M9Zz0xLGQ9Zj0wfWs9MSxlPWg9aT1qPWw9bT0wLG89TT8tMS9NOjAscD16LnpPcmlnaW4scT0xZS02LHY9IiwiLHc9IjAiLEI9RCpLLEImJihyPU1hdGguY29zKEIpLHM9TWF0aC5zaW4oQiksaT0tcyxsPW8qLXMsZT1jKnMsaD1mKnMsaz1yLG8qPXIsYyo9cixmKj1yKSxCPUMqSyxCJiYocj1NYXRoLmNvcyhCKSxzPU1hdGguc2luKEIpLGI9ZCpyK2Uqcyx0PWcqcitoKnMsaj1rKnMsbT1vKnMsZT1kKi1zK2UqcixoPWcqLXMraCpyLGsqPXIsbyo9cixkPWIsZz10KSwxIT09RyYmKGUqPUcsaCo9RyxrKj1HLG8qPUcpLDEhPT1GJiYoZCo9RixnKj1GLGoqPUYsbSo9RiksMSE9PUUmJihjKj1FLGYqPUUsaSo9RSxsKj1FKSwocHx8TCkmJihwJiYoSCs9ZSotcCxJKz1oKi1wLEorPWsqLXArcCksTCYmKEgrPXoueE9yaWdpbi0oei54T3JpZ2luKmMrei55T3JpZ2luKmQpK3oueE9mZnNldCxJKz16LnlPcmlnaW4tKHoueE9yaWdpbipmK3oueU9yaWdpbipnKSt6LnlPZmZzZXQpLHE+SCYmSD4tcSYmKEg9dykscT5JJiZJPi1xJiYoST13KSxxPkomJko+LXEmJihKPTApKSx1PXoueFBlcmNlbnR8fHoueVBlcmNlbnQ/InRyYW5zbGF0ZSgiK3oueFBlcmNlbnQrIiUsIit6LnlQZXJjZW50KyIlKSBtYXRyaXgzZCgiOiJtYXRyaXgzZCgiLHUrPShxPmMmJmM+LXE/dzpjKSt2KyhxPmYmJmY+LXE/dzpmKSt2KyhxPmkmJmk+LXE/dzppKSx1Kz12KyhxPmwmJmw+LXE/dzpsKSt2KyhxPmQmJmQ+LXE/dzpkKSt2KyhxPmcmJmc+LXE/dzpnKSxDfHxEfHwxIT09Rz8odSs9disocT5qJiZqPi1xP3c6aikrdisocT5tJiZtPi1xP3c6bSkrdisocT5lJiZlPi1xP3c6ZSksdSs9disocT5oJiZoPi1xP3c6aCkrdisocT5rJiZrPi1xP3c6aykrdisocT5vJiZvPi1xP3c6bykrdik6dSs9IiwwLDAsMCwwLDEsMCwiLHUrPUgrditJK3YrSit2KyhNPzErLUovTToxKSsiKSIsQVtDYV09dX07aj1HYS5wcm90b3R5cGUsai54PWoueT1qLno9ai5za2V3WD1qLnNrZXdZPWoucm90YXRpb249ai5yb3RhdGlvblg9ai5yb3RhdGlvblk9ai56T3JpZ2luPWoueFBlcmNlbnQ9ai55UGVyY2VudD1qLnhPZmZzZXQ9ai55T2Zmc2V0PTAsai5zY2FsZVg9ai5zY2FsZVk9ai5zY2FsZVo9MSx5YSgidHJhbnNmb3JtLHNjYWxlLHNjYWxlWCxzY2FsZVksc2NhbGVaLHgseSx6LHJvdGF0aW9uLHJvdGF0aW9uWCxyb3RhdGlvblkscm90YXRpb25aLHNrZXdYLHNrZXdZLHNob3J0Um90YXRpb24sc2hvcnRSb3RhdGlvblgsc2hvcnRSb3RhdGlvblksc2hvcnRSb3RhdGlvblosdHJhbnNmb3JtT3JpZ2luLHN2Z09yaWdpbix0cmFuc2Zvcm1QZXJzcGVjdGl2ZSxkaXJlY3Rpb25hbFJvdGF0aW9uLHBhcnNlVHJhbnNmb3JtLGZvcmNlM0Qsc2tld1R5cGUseFBlcmNlbnQseVBlcmNlbnQsc21vb3RoT3JpZ2luIix7cGFyc2VyOmZ1bmN0aW9uKGEsYixjLGQsZixoLGkpe2lmKGQuX2xhc3RQYXJzZWRUcmFuc2Zvcm09PT1pKXJldHVybiBmO2QuX2xhc3RQYXJzZWRUcmFuc2Zvcm09aTt2YXIgaixrPWkuc2NhbGUmJiJmdW5jdGlvbiI9PXR5cGVvZiBpLnNjYWxlP2kuc2NhbGU6MDsiZnVuY3Rpb24iPT10eXBlb2YgaVtjXSYmKGo9aVtjXSxpW2NdPWIpLGsmJihpLnNjYWxlPWsocixhKSk7dmFyIGwsbSxuLG8scCxzLHQsdSx2LHc9YS5fZ3NUcmFuc2Zvcm0seD1hLnN0eWxlLHk9MWUtNix6PUJhLmxlbmd0aCxBPWksQj17fSxDPSJ0cmFuc2Zvcm1PcmlnaW4iLEQ9UmEoYSxlLCEwLEEucGFyc2VUcmFuc2Zvcm0pLEU9QS50cmFuc2Zvcm0mJigiZnVuY3Rpb24iPT10eXBlb2YgQS50cmFuc2Zvcm0/QS50cmFuc2Zvcm0ocixxKTpBLnRyYW5zZm9ybSk7aWYoZC5fdHJhbnNmb3JtPUQsRSYmInN0cmluZyI9PXR5cGVvZiBFJiZDYSltPVEuc3R5bGUsbVtDYV09RSxtLmRpc3BsYXk9ImJsb2NrIixtLnBvc2l0aW9uPSJhYnNvbHV0ZSIsTy5ib2R5LmFwcGVuZENoaWxkKFEpLGw9UmEoUSxudWxsLCExKSxELnN2ZyYmKHM9RC54T3JpZ2luLHQ9RC55T3JpZ2luLGwueC09RC54T2Zmc2V0LGwueS09RC55T2Zmc2V0LChBLnRyYW5zZm9ybU9yaWdpbnx8QS5zdmdPcmlnaW4pJiYoRT17fSxMYShhLGhhKEEudHJhbnNmb3JtT3JpZ2luKSxFLEEuc3ZnT3JpZ2luLEEuc21vb3RoT3JpZ2luLCEwKSxzPUUueE9yaWdpbix0PUUueU9yaWdpbixsLngtPUUueE9mZnNldC1ELnhPZmZzZXQsbC55LT1FLnlPZmZzZXQtRC55T2Zmc2V0KSwoc3x8dCkmJih1PVFhKFEsITApLGwueC09cy0ocyp1WzBdK3QqdVsyXSksbC55LT10LShzKnVbMV0rdCp1WzNdKSkpLE8uYm9keS5yZW1vdmVDaGlsZChRKSxsLnBlcnNwZWN0aXZlfHwobC5wZXJzcGVjdGl2ZT1ELnBlcnNwZWN0aXZlKSxudWxsIT1BLnhQZXJjZW50JiYobC54UGVyY2VudD1qYShBLnhQZXJjZW50LEQueFBlcmNlbnQpKSxudWxsIT1BLnlQZXJjZW50JiYobC55UGVyY2VudD1qYShBLnlQZXJjZW50LEQueVBlcmNlbnQpKTtlbHNlIGlmKCJvYmplY3QiPT10eXBlb2YgQSl7aWYobD17c2NhbGVYOmphKG51bGwhPUEuc2NhbGVYP0Euc2NhbGVYOkEuc2NhbGUsRC5zY2FsZVgpLHNjYWxlWTpqYShudWxsIT1BLnNjYWxlWT9BLnNjYWxlWTpBLnNjYWxlLEQuc2NhbGVZKSxzY2FsZVo6amEoQS5zY2FsZVosRC5zY2FsZVopLHg6amEoQS54LEQueCkseTpqYShBLnksRC55KSx6OmphKEEueixELnopLHhQZXJjZW50OmphKEEueFBlcmNlbnQsRC54UGVyY2VudCkseVBlcmNlbnQ6amEoQS55UGVyY2VudCxELnlQZXJjZW50KSxwZXJzcGVjdGl2ZTpqYShBLnRyYW5zZm9ybVBlcnNwZWN0aXZlLEQucGVyc3BlY3RpdmUpfSxwPUEuZGlyZWN0aW9uYWxSb3RhdGlvbixudWxsIT1wKWlmKCJvYmplY3QiPT10eXBlb2YgcClmb3IobSBpbiBwKUFbbV09cFttXTtlbHNlIEEucm90YXRpb249cDsic3RyaW5nIj09dHlwZW9mIEEueCYmLTEhPT1BLnguaW5kZXhPZigiJSIpJiYobC54PTAsbC54UGVyY2VudD1qYShBLngsRC54UGVyY2VudCkpLCJzdHJpbmciPT10eXBlb2YgQS55JiYtMSE9PUEueS5pbmRleE9mKCIlIikmJihsLnk9MCxsLnlQZXJjZW50PWphKEEueSxELnlQZXJjZW50KSksbC5yb3RhdGlvbj1rYSgicm90YXRpb24iaW4gQT9BLnJvdGF0aW9uOiJzaG9ydFJvdGF0aW9uImluIEE/QS5zaG9ydFJvdGF0aW9uKyJfc2hvcnQiOiJyb3RhdGlvbloiaW4gQT9BLnJvdGF0aW9uWjpELnJvdGF0aW9uLEQucm90YXRpb24sInJvdGF0aW9uIixCKSxGYSYmKGwucm90YXRpb25YPWthKCJyb3RhdGlvblgiaW4gQT9BLnJvdGF0aW9uWDoic2hvcnRSb3RhdGlvblgiaW4gQT9BLnNob3J0Um90YXRpb25YKyJfc2hvcnQiOkQucm90YXRpb25YfHwwLEQucm90YXRpb25YLCJyb3RhdGlvblgiLEIpLGwucm90YXRpb25ZPWthKCJyb3RhdGlvblkiaW4gQT9BLnJvdGF0aW9uWToic2hvcnRSb3RhdGlvblkiaW4gQT9BLnNob3J0Um90YXRpb25ZKyJfc2hvcnQiOkQucm90YXRpb25ZfHwwLEQucm90YXRpb25ZLCJyb3RhdGlvblkiLEIpKSxsLnNrZXdYPWthKEEuc2tld1gsRC5za2V3WCksbC5za2V3WT1rYShBLnNrZXdZLEQuc2tld1kpfWZvcihGYSYmbnVsbCE9QS5mb3JjZTNEJiYoRC5mb3JjZTNEPUEuZm9yY2UzRCxvPSEwKSxELnNrZXdUeXBlPUEuc2tld1R5cGV8fEQuc2tld1R5cGV8fGcuZGVmYXVsdFNrZXdUeXBlLG49RC5mb3JjZTNEfHxELnp8fEQucm90YXRpb25YfHxELnJvdGF0aW9uWXx8bC56fHxsLnJvdGF0aW9uWHx8bC5yb3RhdGlvbll8fGwucGVyc3BlY3RpdmUsbnx8bnVsbD09QS5zY2FsZXx8KGwuc2NhbGVaPTEpOy0tej4tMTspdj1CYVt6XSxFPWxbdl0tRFt2XSwoRT55fHwteT5FfHxudWxsIT1BW3ZdfHxudWxsIT1NW3ZdKSYmKG89ITAsZj1uZXcgdGEoRCx2LERbdl0sRSxmKSx2IGluIEImJihmLmU9Qlt2XSksZi54czA9MCxmLnBsdWdpbj1oLGQuX292ZXJ3cml0ZVByb3BzLnB1c2goZi5uKSk7cmV0dXJuIEU9QS50cmFuc2Zvcm1PcmlnaW4sRC5zdmcmJihFfHxBLnN2Z09yaWdpbikmJihzPUQueE9mZnNldCx0PUQueU9mZnNldCxMYShhLGhhKEUpLGwsQS5zdmdPcmlnaW4sQS5zbW9vdGhPcmlnaW4pLGY9dWEoRCwieE9yaWdpbiIsKHc/RDpsKS54T3JpZ2luLGwueE9yaWdpbixmLEMpLGY9dWEoRCwieU9yaWdpbiIsKHc/RDpsKS55T3JpZ2luLGwueU9yaWdpbixmLEMpLChzIT09RC54T2Zmc2V0fHx0IT09RC55T2Zmc2V0KSYmKGY9dWEoRCwieE9mZnNldCIsdz9zOkQueE9mZnNldCxELnhPZmZzZXQsZixDKSxmPXVhKEQsInlPZmZzZXQiLHc/dDpELnlPZmZzZXQsRC55T2Zmc2V0LGYsQykpLEU9IjBweCAwcHgiKSwoRXx8RmEmJm4mJkQuek9yaWdpbikmJihDYT8obz0hMCx2PUVhLEU9KEV8fF8oYSx2LGUsITEsIjUwJSA1MCUiKSkrIiIsZj1uZXcgdGEoeCx2LDAsMCxmLC0xLEMpLGYuYj14W3ZdLGYucGx1Z2luPWgsRmE/KG09RC56T3JpZ2luLEU9RS5zcGxpdCgiICIpLEQuek9yaWdpbj0oRS5sZW5ndGg+MiYmKDA9PT1tfHwiMHB4IiE9PUVbMl0pP3BhcnNlRmxvYXQoRVsyXSk6bSl8fDAsZi54czA9Zi5lPUVbMF0rIiAiKyhFWzFdfHwiNTAlIikrIiAwcHgiLGY9bmV3IHRhKEQsInpPcmlnaW4iLDAsMCxmLC0xLGYubiksZi5iPW0sZi54czA9Zi5lPUQuek9yaWdpbik6Zi54czA9Zi5lPUUpOmhhKEUrIiIsRCkpLG8mJihkLl90cmFuc2Zvcm1UeXBlPUQuc3ZnJiZBYXx8IW4mJjMhPT10aGlzLl90cmFuc2Zvcm1UeXBlPzI6MyksaiYmKGlbY109aiksayYmKGkuc2NhbGU9ayksZn0scHJlZml4OiEwfSkseWEoImJveFNoYWRvdyIse2RlZmF1bHRWYWx1ZToiMHB4IDBweCAwcHggMHB4ICM5OTkiLHByZWZpeDohMCxjb2xvcjohMCxtdWx0aTohMCxrZXl3b3JkOiJpbnNldCJ9KSx5YSgiYm9yZGVyUmFkaXVzIix7ZGVmYXVsdFZhbHVlOiIwcHgiLHBhcnNlcjpmdW5jdGlvbihhLGIsYyxmLGcsaCl7Yj10aGlzLmZvcm1hdChiKTt2YXIgaSxqLGssbCxtLG4sbyxwLHEscixzLHQsdSx2LHcseCx5PVsiYm9yZGVyVG9wTGVmdFJhZGl1cyIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiLCJib3JkZXJCb3R0b21MZWZ0UmFkaXVzIl0sej1hLnN0eWxlO2ZvcihxPXBhcnNlRmxvYXQoYS5vZmZzZXRXaWR0aCkscj1wYXJzZUZsb2F0KGEub2Zmc2V0SGVpZ2h0KSxpPWIuc3BsaXQoIiAiKSxqPTA7ajx5Lmxlbmd0aDtqKyspdGhpcy5wLmluZGV4T2YoImJvcmRlciIpJiYoeVtqXT1aKHlbal0pKSxtPWw9XyhhLHlbal0sZSwhMSwiMHB4IiksLTEhPT1tLmluZGV4T2YoIiAiKSYmKGw9bS5zcGxpdCgiICIpLG09bFswXSxsPWxbMV0pLG49az1pW2pdLG89cGFyc2VGbG9hdChtKSx0PW0uc3Vic3RyKChvKyIiKS5sZW5ndGgpLHU9Ij0iPT09bi5jaGFyQXQoMSksdT8ocD1wYXJzZUludChuLmNoYXJBdCgwKSsiMSIsMTApLG49bi5zdWJzdHIoMikscCo9cGFyc2VGbG9hdChuKSxzPW4uc3Vic3RyKChwKyIiKS5sZW5ndGgtKDA+cD8xOjApKXx8IiIpOihwPXBhcnNlRmxvYXQobikscz1uLnN1YnN0cigocCsiIikubGVuZ3RoKSksIiI9PT1zJiYocz1kW2NdfHx0KSxzIT09dCYmKHY9YWEoYSwiYm9yZGVyTGVmdCIsbyx0KSx3PWFhKGEsImJvcmRlclRvcCIsbyx0KSwiJSI9PT1zPyhtPXYvcSoxMDArIiUiLGw9dy9yKjEwMCsiJSIpOiJlbSI9PT1zPyh4PWFhKGEsImJvcmRlckxlZnQiLDEsImVtIiksbT12L3grImVtIixsPXcveCsiZW0iKToobT12KyJweCIsbD13KyJweCIpLHUmJihuPXBhcnNlRmxvYXQobSkrcCtzLGs9cGFyc2VGbG9hdChsKStwK3MpKSxnPXZhKHoseVtqXSxtKyIgIitsLG4rIiAiK2ssITEsIjBweCIsZyk7cmV0dXJuIGd9LHByZWZpeDohMCxmb3JtYXR0ZXI6cWEoIjBweCAwcHggMHB4IDBweCIsITEsITApfSkseWEoImJvcmRlckJvdHRvbUxlZnRSYWRpdXMsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMsYm9yZGVyVG9wTGVmdFJhZGl1cyxib3JkZXJUb3BSaWdodFJhZGl1cyIse2RlZmF1bHRWYWx1ZToiMHB4IixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3JldHVybiB2YShhLnN0eWxlLGMsdGhpcy5mb3JtYXQoXyhhLGMsZSwhMSwiMHB4IDBweCIpKSx0aGlzLmZvcm1hdChiKSwhMSwiMHB4IixmKX0scHJlZml4OiEwLGZvcm1hdHRlcjpxYSgiMHB4IDBweCIsITEsITApfSkseWEoImJhY2tncm91bmRQb3NpdGlvbiIse2RlZmF1bHRWYWx1ZToiMCAwIixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3ZhciBoLGksaixrLGwsbSxuPSJiYWNrZ3JvdW5kLXBvc2l0aW9uIixvPWV8fCQoYSxudWxsKSxxPXRoaXMuZm9ybWF0KChvP3A/by5nZXRQcm9wZXJ0eVZhbHVlKG4rIi14IikrIiAiK28uZ2V0UHJvcGVydHlWYWx1ZShuKyIteSIpOm8uZ2V0UHJvcGVydHlWYWx1ZShuKTphLmN1cnJlbnRTdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb25YKyIgIithLmN1cnJlbnRTdHlsZS5iYWNrZ3JvdW5kUG9zaXRpb25ZKXx8IjAgMCIpLHI9dGhpcy5mb3JtYXQoYik7aWYoLTEhPT1xLmluZGV4T2YoIiUiKSE9KC0xIT09ci5pbmRleE9mKCIlIikpJiZyLnNwbGl0KCIsIikubGVuZ3RoPDImJihtPV8oYSwiYmFja2dyb3VuZEltYWdlIikucmVwbGFjZShELCIiKSxtJiYibm9uZSIhPT1tKSl7Zm9yKGg9cS5zcGxpdCgiICIpLGk9ci5zcGxpdCgiICIpLFIuc2V0QXR0cmlidXRlKCJzcmMiLG0pLGo9MjstLWo+LTE7KXE9aFtqXSxrPS0xIT09cS5pbmRleE9mKCIlIiksayE9PSgtMSE9PWlbal0uaW5kZXhPZigiJSIpKSYmKGw9MD09PWo/YS5vZmZzZXRXaWR0aC1SLndpZHRoOmEub2Zmc2V0SGVpZ2h0LVIuaGVpZ2h0LGhbal09az9wYXJzZUZsb2F0KHEpLzEwMCpsKyJweCI6cGFyc2VGbG9hdChxKS9sKjEwMCsiJSIpO3E9aC5qb2luKCIgIil9cmV0dXJuIHRoaXMucGFyc2VDb21wbGV4KGEuc3R5bGUscSxyLGYsZyl9LGZvcm1hdHRlcjpoYX0pLHlhKCJiYWNrZ3JvdW5kU2l6ZSIse2RlZmF1bHRWYWx1ZToiMCAwIixmb3JtYXR0ZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGErPSIiLGhhKC0xPT09YS5pbmRleE9mKCIgIik/YSsiICIrYTphKX19KSx5YSgicGVyc3BlY3RpdmUiLHtkZWZhdWx0VmFsdWU6IjBweCIscHJlZml4OiEwfSkseWEoInBlcnNwZWN0aXZlT3JpZ2luIix7ZGVmYXVsdFZhbHVlOiI1MCUgNTAlIixwcmVmaXg6ITB9KSx5YSgidHJhbnNmb3JtU3R5bGUiLHtwcmVmaXg6ITB9KSx5YSgiYmFja2ZhY2VWaXNpYmlsaXR5Iix7cHJlZml4OiEwfSkseWEoInVzZXJTZWxlY3QiLHtwcmVmaXg6ITB9KSx5YSgibWFyZ2luIix7cGFyc2VyOnJhKCJtYXJnaW5Ub3AsbWFyZ2luUmlnaHQsbWFyZ2luQm90dG9tLG1hcmdpbkxlZnQiKX0pLHlhKCJwYWRkaW5nIix7cGFyc2VyOnJhKCJwYWRkaW5nVG9wLHBhZGRpbmdSaWdodCxwYWRkaW5nQm90dG9tLHBhZGRpbmdMZWZ0Iil9KSx5YSgiY2xpcCIse2RlZmF1bHRWYWx1ZToicmVjdCgwcHgsMHB4LDBweCwwcHgpIixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3ZhciBoLGksajtyZXR1cm4gOT5wPyhpPWEuY3VycmVudFN0eWxlLGo9OD5wPyIgIjoiLCIsaD0icmVjdCgiK2kuY2xpcFRvcCtqK2kuY2xpcFJpZ2h0K2oraS5jbGlwQm90dG9tK2oraS5jbGlwTGVmdCsiKSIsDQpiPXRoaXMuZm9ybWF0KGIpLnNwbGl0KCIsIikuam9pbihqKSk6KGg9dGhpcy5mb3JtYXQoXyhhLHRoaXMucCxlLCExLHRoaXMuZGZsdCkpLGI9dGhpcy5mb3JtYXQoYikpLHRoaXMucGFyc2VDb21wbGV4KGEuc3R5bGUsaCxiLGYsZyl9fSkseWEoInRleHRTaGFkb3ciLHtkZWZhdWx0VmFsdWU6IjBweCAwcHggMHB4ICM5OTkiLGNvbG9yOiEwLG11bHRpOiEwfSkseWEoImF1dG9Sb3VuZCxzdHJpY3RVbml0cyIse3BhcnNlcjpmdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBlfX0pLHlhKCJib3JkZXIiLHtkZWZhdWx0VmFsdWU6IjBweCBzb2xpZCAjMDAwIixwYXJzZXI6ZnVuY3Rpb24oYSxiLGMsZCxmLGcpe3ZhciBoPV8oYSwiYm9yZGVyVG9wV2lkdGgiLGUsITEsIjBweCIpLGk9dGhpcy5mb3JtYXQoYikuc3BsaXQoIiAiKSxqPWlbMF0ucmVwbGFjZSh3LCIiKTtyZXR1cm4icHgiIT09aiYmKGg9cGFyc2VGbG9hdChoKS9hYShhLCJib3JkZXJUb3BXaWR0aCIsMSxqKStqKSx0aGlzLnBhcnNlQ29tcGxleChhLnN0eWxlLHRoaXMuZm9ybWF0KGgrIiAiK18oYSwiYm9yZGVyVG9wU3R5bGUiLGUsITEsInNvbGlkIikrIiAiK18oYSwiYm9yZGVyVG9wQ29sb3IiLGUsITEsIiMwMDAiKSksaS5qb2luKCIgIiksZixnKX0sY29sb3I6ITAsZm9ybWF0dGVyOmZ1bmN0aW9uKGEpe3ZhciBiPWEuc3BsaXQoIiAiKTtyZXR1cm4gYlswXSsiICIrKGJbMV18fCJzb2xpZCIpKyIgIisoYS5tYXRjaChwYSl8fFsiIzAwMCJdKVswXX19KSx5YSgiYm9yZGVyV2lkdGgiLHtwYXJzZXI6cmEoImJvcmRlclRvcFdpZHRoLGJvcmRlclJpZ2h0V2lkdGgsYm9yZGVyQm90dG9tV2lkdGgsYm9yZGVyTGVmdFdpZHRoIil9KSx5YSgiZmxvYXQsY3NzRmxvYXQsc3R5bGVGbG9hdCIse3BhcnNlcjpmdW5jdGlvbihhLGIsYyxkLGUsZil7dmFyIGc9YS5zdHlsZSxoPSJjc3NGbG9hdCJpbiBnPyJjc3NGbG9hdCI6InN0eWxlRmxvYXQiO3JldHVybiBuZXcgdGEoZyxoLDAsMCxlLC0xLGMsITEsMCxnW2hdLGIpfX0pO3ZhciBVYT1mdW5jdGlvbihhKXt2YXIgYixjPXRoaXMudCxkPWMuZmlsdGVyfHxfKHRoaXMuZGF0YSwiZmlsdGVyIil8fCIiLGU9dGhpcy5zK3RoaXMuYyphfDA7MTAwPT09ZSYmKC0xPT09ZC5pbmRleE9mKCJhdHJpeCgiKSYmLTE9PT1kLmluZGV4T2YoInJhZGllbnQoIikmJi0xPT09ZC5pbmRleE9mKCJvYWRlcigiKT8oYy5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpLGI9IV8odGhpcy5kYXRhLCJmaWx0ZXIiKSk6KGMuZmlsdGVyPWQucmVwbGFjZSh6LCIiKSxiPSEwKSksYnx8KHRoaXMueG4xJiYoYy5maWx0ZXI9ZD1kfHwiYWxwaGEob3BhY2l0eT0iK2UrIikiKSwtMT09PWQuaW5kZXhPZigicGFjaXR5Iik/MD09PWUmJnRoaXMueG4xfHwoYy5maWx0ZXI9ZCsiIGFscGhhKG9wYWNpdHk9IitlKyIpIik6Yy5maWx0ZXI9ZC5yZXBsYWNlKHgsIm9wYWNpdHk9IitlKSl9O3lhKCJvcGFjaXR5LGFscGhhLGF1dG9BbHBoYSIse2RlZmF1bHRWYWx1ZToiMSIscGFyc2VyOmZ1bmN0aW9uKGEsYixjLGQsZixnKXt2YXIgaD1wYXJzZUZsb2F0KF8oYSwib3BhY2l0eSIsZSwhMSwiMSIpKSxpPWEuc3R5bGUsaj0iYXV0b0FscGhhIj09PWM7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBiJiYiPSI9PT1iLmNoYXJBdCgxKSYmKGI9KCItIj09PWIuY2hhckF0KDApPy0xOjEpKnBhcnNlRmxvYXQoYi5zdWJzdHIoMikpK2gpLGomJjE9PT1oJiYiaGlkZGVuIj09PV8oYSwidmlzaWJpbGl0eSIsZSkmJjAhPT1iJiYoaD0wKSxVP2Y9bmV3IHRhKGksIm9wYWNpdHkiLGgsYi1oLGYpOihmPW5ldyB0YShpLCJvcGFjaXR5IiwxMDAqaCwxMDAqKGItaCksZiksZi54bjE9aj8xOjAsaS56b29tPTEsZi50eXBlPTIsZi5iPSJhbHBoYShvcGFjaXR5PSIrZi5zKyIpIixmLmU9ImFscGhhKG9wYWNpdHk9IisoZi5zK2YuYykrIikiLGYuZGF0YT1hLGYucGx1Z2luPWcsZi5zZXRSYXRpbz1VYSksaiYmKGY9bmV3IHRhKGksInZpc2liaWxpdHkiLDAsMCxmLC0xLG51bGwsITEsMCwwIT09aD8iaW5oZXJpdCI6ImhpZGRlbiIsMD09PWI/ImhpZGRlbiI6ImluaGVyaXQiKSxmLnhzMD0iaW5oZXJpdCIsZC5fb3ZlcndyaXRlUHJvcHMucHVzaChmLm4pLGQuX292ZXJ3cml0ZVByb3BzLnB1c2goYykpLGZ9fSk7dmFyIFZhPWZ1bmN0aW9uKGEsYil7YiYmKGEucmVtb3ZlUHJvcGVydHk/KCgibXMiPT09Yi5zdWJzdHIoMCwyKXx8IndlYmtpdCI9PT1iLnN1YnN0cigwLDYpKSYmKGI9Ii0iK2IpLGEucmVtb3ZlUHJvcGVydHkoYi5yZXBsYWNlKEIsIi0kMSIpLnRvTG93ZXJDYXNlKCkpKTphLnJlbW92ZUF0dHJpYnV0ZShiKSl9LFdhPWZ1bmN0aW9uKGEpe2lmKHRoaXMudC5fZ3NDbGFzc1BUPXRoaXMsMT09PWF8fDA9PT1hKXt0aGlzLnQuc2V0QXR0cmlidXRlKCJjbGFzcyIsMD09PWE/dGhpcy5iOnRoaXMuZSk7Zm9yKHZhciBiPXRoaXMuZGF0YSxjPXRoaXMudC5zdHlsZTtiOyliLnY/Y1tiLnBdPWIudjpWYShjLGIucCksYj1iLl9uZXh0OzE9PT1hJiZ0aGlzLnQuX2dzQ2xhc3NQVD09PXRoaXMmJih0aGlzLnQuX2dzQ2xhc3NQVD1udWxsKX1lbHNlIHRoaXMudC5nZXRBdHRyaWJ1dGUoImNsYXNzIikhPT10aGlzLmUmJnRoaXMudC5zZXRBdHRyaWJ1dGUoImNsYXNzIix0aGlzLmUpfTt5YSgiY2xhc3NOYW1lIix7cGFyc2VyOmZ1bmN0aW9uKGEsYixkLGYsZyxoLGkpe3ZhciBqLGssbCxtLG4sbz1hLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIscD1hLnN0eWxlLmNzc1RleHQ7aWYoZz1mLl9jbGFzc05hbWVQVD1uZXcgdGEoYSxkLDAsMCxnLDIpLGcuc2V0UmF0aW89V2EsZy5wcj0tMTEsYz0hMCxnLmI9byxrPWNhKGEsZSksbD1hLl9nc0NsYXNzUFQpe2ZvcihtPXt9LG49bC5kYXRhO247KW1bbi5wXT0xLG49bi5fbmV4dDtsLnNldFJhdGlvKDEpfXJldHVybiBhLl9nc0NsYXNzUFQ9ZyxnLmU9Ij0iIT09Yi5jaGFyQXQoMSk/YjpvLnJlcGxhY2UobmV3IFJlZ0V4cCgiKD86XFxzfF4pIitiLnN1YnN0cigyKSsiKD8hW1xcdy1dKSIpLCIiKSsoIisiPT09Yi5jaGFyQXQoMCk/IiAiK2Iuc3Vic3RyKDIpOiIiKSxhLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGcuZSksaj1kYShhLGssY2EoYSksaSxtKSxhLnNldEF0dHJpYnV0ZSgiY2xhc3MiLG8pLGcuZGF0YT1qLmZpcnN0TVBULGEuc3R5bGUuY3NzVGV4dD1wLGc9Zy54Zmlyc3Q9Zi5wYXJzZShhLGouZGlmcyxnLGgpfX0pO3ZhciBYYT1mdW5jdGlvbihhKXtpZigoMT09PWF8fDA9PT1hKSYmdGhpcy5kYXRhLl90b3RhbFRpbWU9PT10aGlzLmRhdGEuX3RvdGFsRHVyYXRpb24mJiJpc0Zyb21TdGFydCIhPT10aGlzLmRhdGEuZGF0YSl7dmFyIGIsYyxkLGUsZixnPXRoaXMudC5zdHlsZSxoPWkudHJhbnNmb3JtLnBhcnNlO2lmKCJhbGwiPT09dGhpcy5lKWcuY3NzVGV4dD0iIixlPSEwO2Vsc2UgZm9yKGI9dGhpcy5lLnNwbGl0KCIgIikuam9pbigiIikuc3BsaXQoIiwiKSxkPWIubGVuZ3RoOy0tZD4tMTspYz1iW2RdLGlbY10mJihpW2NdLnBhcnNlPT09aD9lPSEwOmM9InRyYW5zZm9ybU9yaWdpbiI9PT1jP0VhOmlbY10ucCksVmEoZyxjKTtlJiYoVmEoZyxDYSksZj10aGlzLnQuX2dzVHJhbnNmb3JtLGYmJihmLnN2ZyYmKHRoaXMudC5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtc3ZnLW9yaWdpbiIpLHRoaXMudC5yZW1vdmVBdHRyaWJ1dGUoInRyYW5zZm9ybSIpKSxkZWxldGUgdGhpcy50Ll9nc1RyYW5zZm9ybSkpfX07Zm9yKHlhKCJjbGVhclByb3BzIix7cGFyc2VyOmZ1bmN0aW9uKGEsYixkLGUsZil7cmV0dXJuIGY9bmV3IHRhKGEsZCwwLDAsZiwyKSxmLnNldFJhdGlvPVhhLGYuZT1iLGYucHI9LTEwLGYuZGF0YT1lLl90d2VlbixjPSEwLGZ9fSksaj0iYmV6aWVyLHRocm93UHJvcHMscGh5c2ljc1Byb3BzLHBoeXNpY3MyRCIuc3BsaXQoIiwiKSx3YT1qLmxlbmd0aDt3YS0tOyl6YShqW3dhXSk7aj1nLnByb3RvdHlwZSxqLl9maXJzdFBUPWouX2xhc3RQYXJzZWRUcmFuc2Zvcm09ai5fdHJhbnNmb3JtPW51bGwsai5fb25Jbml0VHdlZW49ZnVuY3Rpb24oYSxiLGgsail7aWYoIWEubm9kZVR5cGUpcmV0dXJuITE7dGhpcy5fdGFyZ2V0PXE9YSx0aGlzLl90d2Vlbj1oLHRoaXMuX3ZhcnM9YixyPWosaz1iLmF1dG9Sb3VuZCxjPSExLGQ9Yi5zdWZmaXhNYXB8fGcuc3VmZml4TWFwLGU9JChhLCIiKSxmPXRoaXMuX292ZXJ3cml0ZVByb3BzO3ZhciBuLHAscyx0LHUsdix3LHgseixBPWEuc3R5bGU7aWYobCYmIiI9PT1BLnpJbmRleCYmKG49XyhhLCJ6SW5kZXgiLGUpLCgiYXV0byI9PT1ufHwiIj09PW4pJiZ0aGlzLl9hZGRMYXp5U2V0KEEsInpJbmRleCIsMCkpLCJzdHJpbmciPT10eXBlb2YgYiYmKHQ9QS5jc3NUZXh0LG49Y2EoYSxlKSxBLmNzc1RleHQ9dCsiOyIrYixuPWRhKGEsbixjYShhKSkuZGlmcywhVSYmeS50ZXN0KGIpJiYobi5vcGFjaXR5PXBhcnNlRmxvYXQoUmVnRXhwLiQxKSksYj1uLEEuY3NzVGV4dD10KSxiLmNsYXNzTmFtZT90aGlzLl9maXJzdFBUPXA9aS5jbGFzc05hbWUucGFyc2UoYSxiLmNsYXNzTmFtZSwiY2xhc3NOYW1lIix0aGlzLG51bGwsbnVsbCxiKTp0aGlzLl9maXJzdFBUPXA9dGhpcy5wYXJzZShhLGIsbnVsbCksdGhpcy5fdHJhbnNmb3JtVHlwZSl7Zm9yKHo9Mz09PXRoaXMuX3RyYW5zZm9ybVR5cGUsQ2E/bSYmKGw9ITAsIiI9PT1BLnpJbmRleCYmKHc9XyhhLCJ6SW5kZXgiLGUpLCgiYXV0byI9PT13fHwiIj09PXcpJiZ0aGlzLl9hZGRMYXp5U2V0KEEsInpJbmRleCIsMCkpLG8mJnRoaXMuX2FkZExhenlTZXQoQSwiV2Via2l0QmFja2ZhY2VWaXNpYmlsaXR5Iix0aGlzLl92YXJzLldlYmtpdEJhY2tmYWNlVmlzaWJpbGl0eXx8KHo/InZpc2libGUiOiJoaWRkZW4iKSkpOkEuem9vbT0xLHM9cDtzJiZzLl9uZXh0OylzPXMuX25leHQ7eD1uZXcgdGEoYSwidHJhbnNmb3JtIiwwLDAsbnVsbCwyKSx0aGlzLl9saW5rQ1NTUCh4LG51bGwscykseC5zZXRSYXRpbz1DYT9UYTpTYSx4LmRhdGE9dGhpcy5fdHJhbnNmb3JtfHxSYShhLGUsITApLHgudHdlZW49aCx4LnByPS0xLGYucG9wKCl9aWYoYyl7Zm9yKDtwOyl7Zm9yKHY9cC5fbmV4dCxzPXQ7cyYmcy5wcj5wLnByOylzPXMuX25leHQ7KHAuX3ByZXY9cz9zLl9wcmV2OnUpP3AuX3ByZXYuX25leHQ9cDp0PXAsKHAuX25leHQ9cyk/cy5fcHJldj1wOnU9cCxwPXZ9dGhpcy5fZmlyc3RQVD10fXJldHVybiEwfSxqLnBhcnNlPWZ1bmN0aW9uKGEsYixjLGYpe3ZhciBnLGgsaixsLG0sbixvLHAscyx0LHU9YS5zdHlsZTtmb3IoZyBpbiBiKW49YltnXSwiZnVuY3Rpb24iPT10eXBlb2YgbiYmKG49bihyLHEpKSxoPWlbZ10saD9jPWgucGFyc2UoYSxuLGcsdGhpcyxjLGYsYik6KG09XyhhLGcsZSkrIiIscz0ic3RyaW5nIj09dHlwZW9mIG4sImNvbG9yIj09PWd8fCJmaWxsIj09PWd8fCJzdHJva2UiPT09Z3x8LTEhPT1nLmluZGV4T2YoIkNvbG9yIil8fHMmJkEudGVzdChuKT8oc3x8KG49bmEobiksbj0obi5sZW5ndGg+Mz8icmdiYSgiOiJyZ2IoIikrbi5qb2luKCIsIikrIikiKSxjPXZhKHUsZyxtLG4sITAsInRyYW5zcGFyZW50IixjLDAsZikpOnMmJkoudGVzdChuKT9jPXZhKHUsZyxtLG4sITAsbnVsbCxjLDAsZik6KGo9cGFyc2VGbG9hdChtKSxvPWp8fDA9PT1qP20uc3Vic3RyKChqKyIiKS5sZW5ndGgpOiIiLCgiIj09PW18fCJhdXRvIj09PW0pJiYoIndpZHRoIj09PWd8fCJoZWlnaHQiPT09Zz8oaj1nYShhLGcsZSksbz0icHgiKToibGVmdCI9PT1nfHwidG9wIj09PWc/KGo9YmEoYSxnLGUpLG89InB4Iik6KGo9Im9wYWNpdHkiIT09Zz8wOjEsbz0iIikpLHQ9cyYmIj0iPT09bi5jaGFyQXQoMSksdD8obD1wYXJzZUludChuLmNoYXJBdCgwKSsiMSIsMTApLG49bi5zdWJzdHIoMiksbCo9cGFyc2VGbG9hdChuKSxwPW4ucmVwbGFjZSh3LCIiKSk6KGw9cGFyc2VGbG9hdChuKSxwPXM/bi5yZXBsYWNlKHcsIiIpOiIiKSwiIj09PXAmJihwPWcgaW4gZD9kW2ddOm8pLG49bHx8MD09PWw/KHQ/bCtqOmwpK3A6YltnXSxvIT09cCYmIiIhPT1wJiYobHx8MD09PWwpJiZqJiYoaj1hYShhLGcsaixvKSwiJSI9PT1wPyhqLz1hYShhLGcsMTAwLCIlIikvMTAwLGIuc3RyaWN0VW5pdHMhPT0hMCYmKG09aisiJSIpKToiZW0iPT09cHx8InJlbSI9PT1wfHwidnciPT09cHx8InZoIj09PXA/ai89YWEoYSxnLDEscCk6InB4IiE9PXAmJihsPWFhKGEsZyxsLHApLHA9InB4IiksdCYmKGx8fDA9PT1sKSYmKG49bCtqK3ApKSx0JiYobCs9aiksIWomJjAhPT1qfHwhbCYmMCE9PWw/dm9pZCAwIT09dVtnXSYmKG58fG4rIiIhPSJOYU4iJiZudWxsIT1uKT8oYz1uZXcgdGEodSxnLGx8fGp8fDAsMCxjLC0xLGcsITEsMCxtLG4pLGMueHMwPSJub25lIiE9PW58fCJkaXNwbGF5IiE9PWcmJi0xPT09Zy5pbmRleE9mKCJTdHlsZSIpP246bSk6VygiaW52YWxpZCAiK2crIiB0d2VlbiB2YWx1ZTogIitiW2ddKTooYz1uZXcgdGEodSxnLGosbC1qLGMsMCxnLGshPT0hMSYmKCJweCI9PT1wfHwiekluZGV4Ij09PWcpLDAsbSxuKSxjLnhzMD1wKSkpLGYmJmMmJiFjLnBsdWdpbiYmKGMucGx1Z2luPWYpO3JldHVybiBjfSxqLnNldFJhdGlvPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXMuX2ZpcnN0UFQsZj0xZS02O2lmKDEhPT1hfHx0aGlzLl90d2Vlbi5fdGltZSE9PXRoaXMuX3R3ZWVuLl9kdXJhdGlvbiYmMCE9PXRoaXMuX3R3ZWVuLl90aW1lKWlmKGF8fHRoaXMuX3R3ZWVuLl90aW1lIT09dGhpcy5fdHdlZW4uX2R1cmF0aW9uJiYwIT09dGhpcy5fdHdlZW4uX3RpbWV8fHRoaXMuX3R3ZWVuLl9yYXdQcmV2VGltZT09PS0xZS02KWZvcig7ZTspe2lmKGI9ZS5jKmErZS5zLGUucj9iPU1hdGgucm91bmQoYik6Zj5iJiZiPi1mJiYoYj0wKSxlLnR5cGUpaWYoMT09PWUudHlwZSlpZihkPWUubCwyPT09ZCllLnRbZS5wXT1lLnhzMCtiK2UueHMxK2UueG4xK2UueHMyO2Vsc2UgaWYoMz09PWQpZS50W2UucF09ZS54czArYitlLnhzMStlLnhuMStlLnhzMitlLnhuMitlLnhzMztlbHNlIGlmKDQ9PT1kKWUudFtlLnBdPWUueHMwK2IrZS54czErZS54bjErZS54czIrZS54bjIrZS54czMrZS54bjMrZS54czQ7ZWxzZSBpZig1PT09ZCllLnRbZS5wXT1lLnhzMCtiK2UueHMxK2UueG4xK2UueHMyK2UueG4yK2UueHMzK2UueG4zK2UueHM0K2UueG40K2UueHM1O2Vsc2V7Zm9yKGM9ZS54czArYitlLnhzMSxkPTE7ZDxlLmw7ZCsrKWMrPWVbInhuIitkXStlWyJ4cyIrKGQrMSldO2UudFtlLnBdPWN9ZWxzZS0xPT09ZS50eXBlP2UudFtlLnBdPWUueHMwOmUuc2V0UmF0aW8mJmUuc2V0UmF0aW8oYSk7ZWxzZSBlLnRbZS5wXT1iK2UueHMwO2U9ZS5fbmV4dH1lbHNlIGZvcig7ZTspMiE9PWUudHlwZT9lLnRbZS5wXT1lLmI6ZS5zZXRSYXRpbyhhKSxlPWUuX25leHQ7ZWxzZSBmb3IoO2U7KXtpZigyIT09ZS50eXBlKWlmKGUuciYmLTEhPT1lLnR5cGUpaWYoYj1NYXRoLnJvdW5kKGUucytlLmMpLGUudHlwZSl7aWYoMT09PWUudHlwZSl7Zm9yKGQ9ZS5sLGM9ZS54czArYitlLnhzMSxkPTE7ZDxlLmw7ZCsrKWMrPWVbInhuIitkXStlWyJ4cyIrKGQrMSldO2UudFtlLnBdPWN9fWVsc2UgZS50W2UucF09YitlLnhzMDtlbHNlIGUudFtlLnBdPWUuZTtlbHNlIGUuc2V0UmF0aW8oYSk7ZT1lLl9uZXh0fX0sai5fZW5hYmxlVHJhbnNmb3Jtcz1mdW5jdGlvbihhKXt0aGlzLl90cmFuc2Zvcm09dGhpcy5fdHJhbnNmb3JtfHxSYSh0aGlzLl90YXJnZXQsZSwhMCksdGhpcy5fdHJhbnNmb3JtVHlwZT10aGlzLl90cmFuc2Zvcm0uc3ZnJiZBYXx8IWEmJjMhPT10aGlzLl90cmFuc2Zvcm1UeXBlPzI6M307dmFyIFlhPWZ1bmN0aW9uKGEpe3RoaXMudFt0aGlzLnBdPXRoaXMuZSx0aGlzLmRhdGEuX2xpbmtDU1NQKHRoaXMsdGhpcy5fbmV4dCxudWxsLCEwKX07ai5fYWRkTGF6eVNldD1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcy5fZmlyc3RQVD1uZXcgdGEoYSxiLDAsMCx0aGlzLl9maXJzdFBULDIpO2QuZT1jLGQuc2V0UmF0aW89WWEsZC5kYXRhPXRoaXN9LGouX2xpbmtDU1NQPWZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBhJiYoYiYmKGIuX3ByZXY9YSksYS5fbmV4dCYmKGEuX25leHQuX3ByZXY9YS5fcHJldiksYS5fcHJldj9hLl9wcmV2Ll9uZXh0PWEuX25leHQ6dGhpcy5fZmlyc3RQVD09PWEmJih0aGlzLl9maXJzdFBUPWEuX25leHQsZD0hMCksYz9jLl9uZXh0PWE6ZHx8bnVsbCE9PXRoaXMuX2ZpcnN0UFR8fCh0aGlzLl9maXJzdFBUPWEpLGEuX25leHQ9YixhLl9wcmV2PWMpLGF9LGouX21vZD1mdW5jdGlvbihhKXtmb3IodmFyIGI9dGhpcy5fZmlyc3RQVDtiOykiZnVuY3Rpb24iPT10eXBlb2YgYVtiLnBdJiZhW2IucF09PT1NYXRoLnJvdW5kJiYoYi5yPTEpLGI9Yi5fbmV4dH0sai5fa2lsbD1mdW5jdGlvbihiKXt2YXIgYyxkLGUsZj1iO2lmKGIuYXV0b0FscGhhfHxiLmFscGhhKXtmPXt9O2ZvcihkIGluIGIpZltkXT1iW2RdO2Yub3BhY2l0eT0xLGYuYXV0b0FscGhhJiYoZi52aXNpYmlsaXR5PTEpfWZvcihiLmNsYXNzTmFtZSYmKGM9dGhpcy5fY2xhc3NOYW1lUFQpJiYoZT1jLnhmaXJzdCxlJiZlLl9wcmV2P3RoaXMuX2xpbmtDU1NQKGUuX3ByZXYsYy5fbmV4dCxlLl9wcmV2Ll9wcmV2KTplPT09dGhpcy5fZmlyc3RQVCYmKHRoaXMuX2ZpcnN0UFQ9Yy5fbmV4dCksYy5fbmV4dCYmdGhpcy5fbGlua0NTU1AoYy5fbmV4dCxjLl9uZXh0Ll9uZXh0LGUuX3ByZXYpLHRoaXMuX2NsYXNzTmFtZVBUPW51bGwpLGM9dGhpcy5fZmlyc3RQVDtjOyljLnBsdWdpbiYmYy5wbHVnaW4hPT1kJiZjLnBsdWdpbi5fa2lsbCYmKGMucGx1Z2luLl9raWxsKGIpLGQ9Yy5wbHVnaW4pLGM9Yy5fbmV4dDtyZXR1cm4gYS5wcm90b3R5cGUuX2tpbGwuY2FsbCh0aGlzLGYpfTt2YXIgWmE9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnO2lmKGEuc2xpY2UpZm9yKGU9YS5sZW5ndGg7LS1lPi0xOylaYShhW2VdLGIsYyk7ZWxzZSBmb3IoZD1hLmNoaWxkTm9kZXMsZT1kLmxlbmd0aDstLWU+LTE7KWY9ZFtlXSxnPWYudHlwZSxmLnN0eWxlJiYoYi5wdXNoKGNhKGYpKSxjJiZjLnB1c2goZikpLDEhPT1nJiY5IT09ZyYmMTEhPT1nfHwhZi5jaGlsZE5vZGVzLmxlbmd0aHx8WmEoZixiLGMpfTtyZXR1cm4gZy5jYXNjYWRlVG89ZnVuY3Rpb24oYSxjLGQpe3ZhciBlLGYsZyxoLGk9Yi50byhhLGMsZCksaj1baV0saz1bXSxsPVtdLG09W10sbj1iLl9pbnRlcm5hbHMucmVzZXJ2ZWRQcm9wcztmb3IoYT1pLl90YXJnZXRzfHxpLnRhcmdldCxaYShhLGssbSksaS5yZW5kZXIoYywhMCwhMCksWmEoYSxsKSxpLnJlbmRlcigwLCEwLCEwKSxpLl9lbmFibGVkKCEwKSxlPW0ubGVuZ3RoOy0tZT4tMTspaWYoZj1kYShtW2VdLGtbZV0sbFtlXSksZi5maXJzdE1QVCl7Zj1mLmRpZnM7Zm9yKGcgaW4gZCluW2ddJiYoZltnXT1kW2ddKTtoPXt9O2ZvcihnIGluIGYpaFtnXT1rW2VdW2ddO2oucHVzaChiLmZyb21UbyhtW2VdLGMsaCxmKSl9cmV0dXJuIGp9LGEuYWN0aXZhdGUoW2ddKSxnfSwhMCl9KSxfZ3NTY29wZS5fZ3NEZWZpbmUmJl9nc1Njb3BlLl9nc1F1ZXVlLnBvcCgpKCksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWZ1bmN0aW9uKCl7cmV0dXJuKF9nc1Njb3BlLkdyZWVuU29ja0dsb2JhbHN8fF9nc1Njb3BlKVthXX07ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJUd2VlbkxpdGUiXSxiKToidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMmJihyZXF1aXJlKCIuLi9Ud2VlbkxpdGUuanMiKSxtb2R1bGUuZXhwb3J0cz1iKCkpfSgiQ1NTUGx1Z2luIik7DQoNCg0KLyogU1BMSVQgVEVYVCBVVElMICovDQovKiENCiAqIFZFUlNJT046IDAuNS42DQogKiBEQVRFOiAyMDE3LTAxLTE3DQogKiBVUERBVEVTIEFORCBET0NTIEFUOiBodHRwOi8vZ3JlZW5zb2NrLmNvbQ0KICoNCiAqIEBsaWNlbnNlIENvcHlyaWdodCAoYykgMjAwOC0yMDE3LCBHcmVlblNvY2suIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQogKiBTcGxpdFRleHQgaXMgYSBDbHViIEdyZWVuU29jayBtZW1iZXJzaGlwIGJlbmVmaXQ7IFlvdSBtdXN0IGhhdmUgYSB2YWxpZCBtZW1iZXJzaGlwIHRvIHVzZQ0KICogdGhpcyBjb2RlIHdpdGhvdXQgdmlvbGF0aW5nIHRoZSB0ZXJtcyBvZiB1c2UuIFZpc2l0IGh0dHA6Ly9ncmVlbnNvY2suY29tL2NsdWIvIHRvIHNpZ24gdXAgb3IgZ2V0IG1vcmUgZGV0YWlscy4NCiAqIFRoaXMgd29yayBpcyBzdWJqZWN0IHRvIHRoZSBzb2Z0d2FyZSBhZ3JlZW1lbnQgdGhhdCB3YXMgaXNzdWVkIHdpdGggeW91ciBtZW1iZXJzaGlwLg0KICogDQogKiBAYXV0aG9yOiBKYWNrIERveWxlLCBqYWNrQGdyZWVuc29jay5jb20NCiAqLw0KdmFyIF9nc1Njb3BlPSJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cyYmInVuZGVmaW5lZCIhPXR5cGVvZiBnbG9iYWw/Z2xvYmFsOnRoaXN8fHdpbmRvdzshZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWEuR3JlZW5Tb2NrR2xvYmFsc3x8YSxjPWZ1bmN0aW9uKGEpe3ZhciBjLGQ9YS5zcGxpdCgiLiIpLGU9Yjtmb3IoYz0wO2M8ZC5sZW5ndGg7YysrKWVbZFtjXV09ZT1lW2RbY11dfHx7fTtyZXR1cm4gZX0sZD1jKCJjb20uZ3JlZW5zb2NrLnV0aWxzIiksZT1mdW5jdGlvbihhKXt2YXIgYj1hLm5vZGVUeXBlLGM9IiI7aWYoMT09PWJ8fDk9PT1ifHwxMT09PWIpe2lmKCJzdHJpbmciPT10eXBlb2YgYS50ZXh0Q29udGVudClyZXR1cm4gYS50ZXh0Q29udGVudDtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpYys9ZShhKX1lbHNlIGlmKDM9PT1ifHw0PT09YilyZXR1cm4gYS5ub2RlVmFsdWU7cmV0dXJuIGN9LGY9ZG9jdW1lbnQsZz1mLmRlZmF1bHRWaWV3P2YuZGVmYXVsdFZpZXcuZ2V0Q29tcHV0ZWRTdHlsZTpmdW5jdGlvbigpe30saD0vKFtBLVpdKS9nLGk9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU7cmV0dXJuKGM9Y3x8ZyhhLG51bGwpKT8oYT1jLmdldFByb3BlcnR5VmFsdWUoYi5yZXBsYWNlKGgsIi0kMSIpLnRvTG93ZXJDYXNlKCkpLGU9YXx8Yy5sZW5ndGg/YTpjW2JdKTphLmN1cnJlbnRTdHlsZSYmKGM9YS5jdXJyZW50U3R5bGUsZT1jW2JdKSxkP2U6cGFyc2VJbnQoZSwxMCl8fDB9LGo9ZnVuY3Rpb24oYSl7cmV0dXJuIGEubGVuZ3RoJiZhWzBdJiYoYVswXS5ub2RlVHlwZSYmYVswXS5zdHlsZSYmIWEubm9kZVR5cGV8fGFbMF0ubGVuZ3RoJiZhWzBdWzBdKT8hMDohMX0saz1mdW5jdGlvbihhKXt2YXIgYixjLGQsZT1bXSxmPWEubGVuZ3RoO2ZvcihiPTA7Zj5iO2IrKylpZihjPWFbYl0saihjKSlmb3IoZD1jLmxlbmd0aCxkPTA7ZDxjLmxlbmd0aDtkKyspZS5wdXNoKGNbZF0pO2Vsc2UgZS5wdXNoKGMpO3JldHVybiBlfSxsPS8oPzpccnxcbnxcdFx0KS9nLG09Lyg/OlxzXHMrKS9nLG49NTUyOTYsbz01NjMxOSxwPTU2MzIwLHE9MTI3NDYyLHI9MTI3NDg3LHM9MTI3OTk1LHQ9MTI3OTk5LHU9ZnVuY3Rpb24oYSl7cmV0dXJuKGEuY2hhckNvZGVBdCgwKS1uPDwxMCkrKGEuY2hhckNvZGVBdCgxKS1wKSs2NTUzNn0sdj1mLmFsbCYmIWYuYWRkRXZlbnRMaXN0ZW5lcix3PSIgc3R5bGU9J3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrOyIrKHY/IipkaXNwbGF5OmlubGluZTsqem9vbToxOyciOiInIikseD1mdW5jdGlvbihhLGIpe2E9YXx8IiI7dmFyIGM9LTEhPT1hLmluZGV4T2YoIisrIiksZD0xO3JldHVybiBjJiYoYT1hLnNwbGl0KCIrKyIpLmpvaW4oIiIpKSxmdW5jdGlvbigpe3JldHVybiI8IitiK3crKGE/IiBjbGFzcz0nIithKyhjP2QrKzoiIikrIic+IjoiPiIpfX0seT1kLlNwbGl0VGV4dD1iLlNwbGl0VGV4dD1mdW5jdGlvbihhLGIpe2lmKCJzdHJpbmciPT10eXBlb2YgYSYmKGE9eS5zZWxlY3RvcihhKSksIWEpdGhyb3ciY2Fubm90IHNwbGl0IGEgbnVsbCBlbGVtZW50LiI7dGhpcy5lbGVtZW50cz1qKGEpP2soYSk6W2FdLHRoaXMuY2hhcnM9W10sdGhpcy53b3Jkcz1bXSx0aGlzLmxpbmVzPVtdLHRoaXMuX29yaWdpbmFscz1bXSx0aGlzLnZhcnM9Ynx8e30sdGhpcy5zcGxpdChiKX0sej1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5ub2RlVHlwZTtpZigxPT09ZHx8OT09PWR8fDExPT09ZClmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpeihhLGIsYyk7ZWxzZSgzPT09ZHx8ND09PWQpJiYoYS5ub2RlVmFsdWU9YS5ub2RlVmFsdWUuc3BsaXQoYikuam9pbihjKSl9LEE9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9Yi5sZW5ndGg7LS1jPi0xOylhLnB1c2goYltjXSl9LEI9ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXSxkPWEubGVuZ3RoO2ZvcihiPTA7YiE9PWQ7Yy5wdXNoKGFbYisrXSkpO3JldHVybiBjfSxDPWZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ7YSYmYSE9PWI7KXtpZihkPWEuX25leHR8fGEubmV4dFNpYmxpbmcpcmV0dXJuIGQudGV4dENvbnRlbnQuY2hhckF0KDApPT09YzthPWEucGFyZW50Tm9kZXx8YS5fcGFyZW50fXJldHVybiExfSxEPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1CKGEuY2hpbGROb2RlcyksZT1kLmxlbmd0aDtmb3IoYj0wO2U+YjtiKyspYz1kW2JdLGMuX2lzU3BsaXQ/RChjKTooYiYmMz09PWMucHJldmlvdXNTaWJsaW5nLm5vZGVUeXBlP2MucHJldmlvdXNTaWJsaW5nLm5vZGVWYWx1ZSs9Mz09PWMubm9kZVR5cGU/Yy5ub2RlVmFsdWU6Yy5maXJzdENoaWxkLm5vZGVWYWx1ZTozIT09Yy5ub2RlVHlwZSYmYS5pbnNlcnRCZWZvcmUoYy5maXJzdENoaWxkLGMpLGEucmVtb3ZlQ2hpbGQoYykpfSxFPWZ1bmN0aW9uKGEsYixjLGQsZSxoLGope3ZhciBrLGwsbSxuLG8scCxxLHIscyx0LHUsdix3PWcoYSkseD1pKGEsInBhZGRpbmdMZWZ0Iix3KSx5PS05OTksQj1pKGEsImJvcmRlckJvdHRvbVdpZHRoIix3KStpKGEsImJvcmRlclRvcFdpZHRoIix3KSxFPWkoYSwiYm9yZGVyTGVmdFdpZHRoIix3KStpKGEsImJvcmRlclJpZ2h0V2lkdGgiLHcpLEY9aShhLCJwYWRkaW5nVG9wIix3KStpKGEsInBhZGRpbmdCb3R0b20iLHcpLEc9aShhLCJwYWRkaW5nTGVmdCIsdykraShhLCJwYWRkaW5nUmlnaHQiLHcpLEg9LjIqaShhLCJmb250U2l6ZSIpLEk9aShhLCJ0ZXh0QWxpZ24iLHcsITApLEo9W10sSz1bXSxMPVtdLE09Yi53b3JkRGVsaW1pdGVyfHwiICIsTj1iLnNwYW4/InNwYW4iOiJkaXYiLE89Yi50eXBlfHxiLnNwbGl0fHwiY2hhcnMsd29yZHMsbGluZXMiLFA9ZSYmLTEhPT1PLmluZGV4T2YoImxpbmVzIik/W106bnVsbCxRPS0xIT09Ty5pbmRleE9mKCJ3b3JkcyIpLFI9LTEhPT1PLmluZGV4T2YoImNoYXJzIiksUz0iYWJzb2x1dGUiPT09Yi5wb3NpdGlvbnx8Yi5hYnNvbHV0ZT09PSEwLFQ9Yi5saW5lc0NsYXNzLFU9LTEhPT0oVHx8IiIpLmluZGV4T2YoIisrIiksVj1bXTtmb3IoUCYmMT09PWEuY2hpbGRyZW4ubGVuZ3RoJiZhLmNoaWxkcmVuWzBdLl9pc1NwbGl0JiYoYT1hLmNoaWxkcmVuWzBdKSxVJiYoVD1ULnNwbGl0KCIrKyIpLmpvaW4oIiIpKSxsPWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKSxtPWwubGVuZ3RoLG89W10saz0wO20+aztrKyspb1trXT1sW2tdO2lmKFB8fFMpZm9yKGs9MDttPms7aysrKW49b1trXSxwPW4ucGFyZW50Tm9kZT09PWEsKHB8fFN8fFImJiFRKSYmKHY9bi5vZmZzZXRUb3AsUCYmcCYmTWF0aC5hYnModi15KT5IJiYiQlIiIT09bi5ub2RlTmFtZSYmKHE9W10sUC5wdXNoKHEpLHk9diksUyYmKG4uX3g9bi5vZmZzZXRMZWZ0LG4uX3k9dixuLl93PW4ub2Zmc2V0V2lkdGgsbi5faD1uLm9mZnNldEhlaWdodCksUCYmKChuLl9pc1NwbGl0JiZwfHwhUiYmcHx8USYmcHx8IVEmJm4ucGFyZW50Tm9kZS5wYXJlbnROb2RlPT09YSYmIW4ucGFyZW50Tm9kZS5faXNTcGxpdCkmJihxLnB1c2gobiksbi5feC09eCxDKG4sYSxNKSYmKG4uX3dvcmRFbmQ9ITApKSwiQlIiPT09bi5ub2RlTmFtZSYmbi5uZXh0U2libGluZyYmIkJSIj09PW4ubmV4dFNpYmxpbmcubm9kZU5hbWUmJlAucHVzaChbXSkpKTtmb3Ioaz0wO20+aztrKyspbj1vW2tdLHA9bi5wYXJlbnROb2RlPT09YSwiQlIiIT09bi5ub2RlTmFtZT8oUyYmKHM9bi5zdHlsZSxRfHxwfHwobi5feCs9bi5wYXJlbnROb2RlLl94LG4uX3krPW4ucGFyZW50Tm9kZS5feSkscy5sZWZ0PW4uX3grInB4IixzLnRvcD1uLl95KyJweCIscy5wb3NpdGlvbj0iYWJzb2x1dGUiLHMuZGlzcGxheT0iYmxvY2siLHMud2lkdGg9bi5fdysxKyJweCIscy5oZWlnaHQ9bi5faCsicHgiKSwhUSYmUj9uLl9pc1NwbGl0PyhuLl9uZXh0PW4ubmV4dFNpYmxpbmcsbi5wYXJlbnROb2RlLmFwcGVuZENoaWxkKG4pKTpuLnBhcmVudE5vZGUuX2lzU3BsaXQ/KG4uX3BhcmVudD1uLnBhcmVudE5vZGUsIW4ucHJldmlvdXNTaWJsaW5nJiZuLmZpcnN0Q2hpbGQmJihuLmZpcnN0Q2hpbGQuX2lzRmlyc3Q9ITApLG4ubmV4dFNpYmxpbmcmJiIgIj09PW4ubmV4dFNpYmxpbmcudGV4dENvbnRlbnQmJiFuLm5leHRTaWJsaW5nLm5leHRTaWJsaW5nJiZWLnB1c2gobi5uZXh0U2libGluZyksbi5fbmV4dD1uLm5leHRTaWJsaW5nJiZuLm5leHRTaWJsaW5nLl9pc0ZpcnN0P251bGw6bi5uZXh0U2libGluZyxuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksby5zcGxpY2Uoay0tLDEpLG0tLSk6cHx8KHY9IW4ubmV4dFNpYmxpbmcmJkMobi5wYXJlbnROb2RlLGEsTSksbi5wYXJlbnROb2RlLl9wYXJlbnQmJm4ucGFyZW50Tm9kZS5fcGFyZW50LmFwcGVuZENoaWxkKG4pLHYmJm4ucGFyZW50Tm9kZS5hcHBlbmRDaGlsZChmLmNyZWF0ZVRleHROb2RlKCIgIikpLGIuc3BhbiYmKG4uc3R5bGUuZGlzcGxheT0iaW5saW5lIiksSi5wdXNoKG4pKTpuLnBhcmVudE5vZGUuX2lzU3BsaXQmJiFuLl9pc1NwbGl0JiYiIiE9PW4uaW5uZXJIVE1MP0sucHVzaChuKTpSJiYhbi5faXNTcGxpdCYmKGIuc3BhbiYmKG4uc3R5bGUuZGlzcGxheT0iaW5saW5lIiksSi5wdXNoKG4pKSk6UHx8Uz8obi5wYXJlbnROb2RlJiZuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobiksby5zcGxpY2Uoay0tLDEpLG0tLSk6UXx8YS5hcHBlbmRDaGlsZChuKTtmb3Ioaz1WLmxlbmd0aDstLWs+LTE7KVZba10ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChWW2tdKTtpZihQKXtmb3IoUyYmKHQ9Zi5jcmVhdGVFbGVtZW50KE4pLGEuYXBwZW5kQ2hpbGQodCksdT10Lm9mZnNldFdpZHRoKyJweCIsdj10Lm9mZnNldFBhcmVudD09PWE/MDphLm9mZnNldExlZnQsYS5yZW1vdmVDaGlsZCh0KSkscz1hLnN0eWxlLmNzc1RleHQsYS5zdHlsZS5jc3NUZXh0PSJkaXNwbGF5Om5vbmU7IjthLmZpcnN0Q2hpbGQ7KWEucmVtb3ZlQ2hpbGQoYS5maXJzdENoaWxkKTtmb3Iocj0iICI9PT1NJiYoIVN8fCFRJiYhUiksaz0wO2s8UC5sZW5ndGg7aysrKXtmb3IocT1QW2tdLHQ9Zi5jcmVhdGVFbGVtZW50KE4pLHQuc3R5bGUuY3NzVGV4dD0iZGlzcGxheTpibG9jazt0ZXh0LWFsaWduOiIrSSsiO3Bvc2l0aW9uOiIrKFM/ImFic29sdXRlOyI6InJlbGF0aXZlOyIpLFQmJih0LmNsYXNzTmFtZT1UKyhVP2srMToiIikpLEwucHVzaCh0KSxtPXEubGVuZ3RoLGw9MDttPmw7bCsrKSJCUiIhPT1xW2xdLm5vZGVOYW1lJiYobj1xW2xdLHQuYXBwZW5kQ2hpbGQobiksciYmbi5fd29yZEVuZCYmdC5hcHBlbmRDaGlsZChmLmNyZWF0ZVRleHROb2RlKCIgIikpLFMmJigwPT09bCYmKHQuc3R5bGUudG9wPW4uX3krInB4Iix0LnN0eWxlLmxlZnQ9eCt2KyJweCIpLG4uc3R5bGUudG9wPSIwcHgiLHYmJihuLnN0eWxlLmxlZnQ9bi5feC12KyJweCIpKSk7MD09PW0/dC5pbm5lckhUTUw9IiZuYnNwOyI6UXx8Unx8KEQodCkseih0LFN0cmluZy5mcm9tQ2hhckNvZGUoMTYwKSwiICIpKSxTJiYodC5zdHlsZS53aWR0aD11LHQuc3R5bGUuaGVpZ2h0PW4uX2grInB4IiksYS5hcHBlbmRDaGlsZCh0KX1hLnN0eWxlLmNzc1RleHQ9c31TJiYoaj5hLmNsaWVudEhlaWdodCYmKGEuc3R5bGUuaGVpZ2h0PWotRisicHgiLGEuY2xpZW50SGVpZ2h0PGomJihhLnN0eWxlLmhlaWdodD1qK0IrInB4IikpLGg+YS5jbGllbnRXaWR0aCYmKGEuc3R5bGUud2lkdGg9aC1HKyJweCIsYS5jbGllbnRXaWR0aDxoJiYoYS5zdHlsZS53aWR0aD1oK0UrInB4IikpKSxBKGMsSiksQShkLEspLEEoZSxMKX0sRj1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZyxoLGksaixrLHAsdix3LHgseT1iLnNwYW4/InNwYW4iOiJkaXYiLEE9Yi50eXBlfHxiLnNwbGl0fHwiY2hhcnMsd29yZHMsbGluZXMiLEI9KC0xIT09QS5pbmRleE9mKCJ3b3JkcyIpLC0xIT09QS5pbmRleE9mKCJjaGFycyIpKSxDPSJhYnNvbHV0ZSI9PT1iLnBvc2l0aW9ufHxiLmFic29sdXRlPT09ITAsRD1iLndvcmREZWxpbWl0ZXJ8fCIgIixFPSIgIiE9PUQ/IiI6Qz8iJiMxNzM7ICI6IiAiLEY9Yi5zcGFuPyI8L3NwYW4+IjoiPC9kaXY+IixHPSEwLEg9Zi5jcmVhdGVFbGVtZW50KCJkaXYiKSxJPWEucGFyZW50Tm9kZTtmb3IoSS5pbnNlcnRCZWZvcmUoSCxhKSxILnRleHRDb250ZW50PWEubm9kZVZhbHVlLEkucmVtb3ZlQ2hpbGQoYSksYT1ILGc9ZShhKSx2PS0xIT09Zy5pbmRleE9mKCI8IiksYi5yZWR1Y2VXaGl0ZVNwYWNlIT09ITEmJihnPWcucmVwbGFjZShtLCIgIikucmVwbGFjZShsLCIiKSksdiYmKGc9Zy5zcGxpdCgiPCIpLmpvaW4oInt7TFR9fSIpKSxrPWcubGVuZ3RoLGg9KCIgIj09PWcuY2hhckF0KDApP0U6IiIpK2MoKSxpPTA7az5pO2krKylpZihwPWcuY2hhckF0KGkpLHA9PT1EJiZnLmNoYXJBdChpLTEpIT09RCYmaSl7Zm9yKGgrPUc/RjoiIixHPSExO2cuY2hhckF0KGkrMSk9PT1EOyloKz1FLGkrKztpPT09ay0xP2grPUU6IikiIT09Zy5jaGFyQXQoaSsxKSYmKGgrPUUrYygpLEc9ITApfWVsc2UieyI9PT1wJiYie3tMVH19Ij09PWcuc3Vic3RyKGksNik/KGgrPUI/ZCgpKyJ7e0xUfX08LyIreSsiPiI6Int7TFR9fSIsaSs9NSk6cC5jaGFyQ29kZUF0KDApPj1uJiZwLmNoYXJDb2RlQXQoMCk8PW98fGcuY2hhckNvZGVBdChpKzEpPj02NTAyNCYmZy5jaGFyQ29kZUF0KGkrMSk8PTY1MDM5Pyh3PXUoZy5zdWJzdHIoaSwyKSkseD11KGcuc3Vic3RyKGkrMiwyKSksaj13Pj1xJiZyPj13JiZ4Pj1xJiZyPj14fHx4Pj1zJiZ0Pj14PzQ6MixoKz1CJiYiICIhPT1wP2QoKStnLnN1YnN0cihpLGopKyI8LyIreSsiPiI6Zy5zdWJzdHIoaSxqKSxpKz1qLTEpOmgrPUImJiIgIiE9PXA/ZCgpK3ArIjwvIit5KyI+IjpwO2Eub3V0ZXJIVE1MPWgrKEc/RjoiIiksdiYmeihJLCJ7e0xUfX0iLCI8Iil9LEc9ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnPUIoYS5jaGlsZE5vZGVzKSxoPWcubGVuZ3RoLGo9ImFic29sdXRlIj09PWIucG9zaXRpb258fGIuYWJzb2x1dGU9PT0hMDtpZigzIT09YS5ub2RlVHlwZXx8aD4xKXtmb3IoYi5hYnNvbHV0ZT0hMSxlPTA7aD5lO2UrKylmPWdbZV0sKDMhPT1mLm5vZGVUeXBlfHwvXFMrLy50ZXN0KGYubm9kZVZhbHVlKSkmJihqJiYzIT09Zi5ub2RlVHlwZSYmImlubGluZSI9PT1pKGYsImRpc3BsYXkiLG51bGwsITApJiYoZi5zdHlsZS5kaXNwbGF5PSJpbmxpbmUtYmxvY2siLGYuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksZi5faXNTcGxpdD0hMCxHKGYsYixjLGQpKTtyZXR1cm4gYi5hYnNvbHV0ZT1qLHZvaWQoYS5faXNTcGxpdD0hMCl9RihhLGIsYyxkKX0sSD15LnByb3RvdHlwZTtILnNwbGl0PWZ1bmN0aW9uKGEpe3RoaXMuaXNTcGxpdCYmdGhpcy5yZXZlcnQoKSx0aGlzLnZhcnM9YT1hfHx0aGlzLnZhcnMsdGhpcy5fb3JpZ2luYWxzLmxlbmd0aD10aGlzLmNoYXJzLmxlbmd0aD10aGlzLndvcmRzLmxlbmd0aD10aGlzLmxpbmVzLmxlbmd0aD0wO2Zvcih2YXIgYixjLGQsZT10aGlzLmVsZW1lbnRzLmxlbmd0aCxmPWEuc3Bhbj8ic3BhbiI6ImRpdiIsZz0oImFic29sdXRlIj09PWEucG9zaXRpb258fGEuYWJzb2x1dGU9PT0hMCx4KGEud29yZHNDbGFzcyxmKSksaD14KGEuY2hhcnNDbGFzcyxmKTstLWU+LTE7KWQ9dGhpcy5lbGVtZW50c1tlXSx0aGlzLl9vcmlnaW5hbHNbZV09ZC5pbm5lckhUTUwsYj1kLmNsaWVudEhlaWdodCxjPWQuY2xpZW50V2lkdGgsRyhkLGEsZyxoKSxFKGQsYSx0aGlzLmNoYXJzLHRoaXMud29yZHMsdGhpcy5saW5lcyxjLGIpO3JldHVybiB0aGlzLmNoYXJzLnJldmVyc2UoKSx0aGlzLndvcmRzLnJldmVyc2UoKSx0aGlzLmxpbmVzLnJldmVyc2UoKSx0aGlzLmlzU3BsaXQ9ITAsdGhpc30sSC5yZXZlcnQ9ZnVuY3Rpb24oKXtpZighdGhpcy5fb3JpZ2luYWxzKXRocm93InJldmVydCgpIGNhbGwgd2Fzbid0IHNjb3BlZCBwcm9wZXJseS4iO2Zvcih2YXIgYT10aGlzLl9vcmlnaW5hbHMubGVuZ3RoOy0tYT4tMTspdGhpcy5lbGVtZW50c1thXS5pbm5lckhUTUw9dGhpcy5fb3JpZ2luYWxzW2FdO3JldHVybiB0aGlzLmNoYXJzPVtdLHRoaXMud29yZHM9W10sdGhpcy5saW5lcz1bXSx0aGlzLmlzU3BsaXQ9ITEsdGhpc30seS5zZWxlY3Rvcj1hLiR8fGEualF1ZXJ5fHxmdW5jdGlvbihiKXt2YXIgYz1hLiR8fGEualF1ZXJ5O3JldHVybiBjPyh5LnNlbGVjdG9yPWMsYyhiKSk6InVuZGVmaW5lZCI9PXR5cGVvZiBkb2N1bWVudD9iOmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGw/ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbChiKTpkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiIyI9PT1iLmNoYXJBdCgwKT9iLnN1YnN0cigxKTpiKX0seS52ZXJzaW9uPSIwLjUuNiJ9KF9nc1Njb3BlKSxmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7dmFyIGI9ZnVuY3Rpb24oKXtyZXR1cm4oX2dzU2NvcGUuR3JlZW5Tb2NrR2xvYmFsc3x8X2dzU2NvcGUpW2FdfTsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxiKToidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHMmJihtb2R1bGUuZXhwb3J0cz1iKCkpfSgiU3BsaXRUZXh0Iik7DQoNCg0KdHJ5ew0KCXdpbmRvdy5HcmVlblNvY2tHbG9iYWxzID0gbnVsbDsNCgl3aW5kb3cuX2dzUXVldWUgPSBudWxsOw0KCXdpbmRvdy5fZ3NEZWZpbmUgPSBudWxsOw0KDQoJZGVsZXRlKHdpbmRvdy5HcmVlblNvY2tHbG9iYWxzKTsNCglkZWxldGUod2luZG93Ll9nc1F1ZXVlKTsNCglkZWxldGUod2luZG93Ll9nc0RlZmluZSk7CQ0KICAgfSBjYXRjaChlKSB7fQ0KDQp0cnl7DQoJd2luZG93LkdyZWVuU29ja0dsb2JhbHMgPSBvbGRnczsNCgl3aW5kb3cuX2dzUXVldWUgPSBvbGRnc19xdWV1ZTsNCgl9IGNhdGNoKGUpIHt9DQoNCmlmICh3aW5kb3cudHBsb2dzPT10cnVlKQ0KCXRyeSB7DQoJCWNvbnNvbGUuZ3JvdXBFbmQoKTsNCgl9IGNhdGNoKGUpIHt9DQoNCihmdW5jdGlvbihlLHQpew0KCQllLndhaXRGb3JJbWFnZXM9e2hhc0ltYWdlUHJvcGVydGllczpbImJhY2tncm91bmRJbWFnZSIsImxpc3RTdHlsZUltYWdlIiwiYm9yZGVySW1hZ2UiLCJib3JkZXJDb3JuZXJJbWFnZSJdfTtlLmV4cHJbIjoiXS51bmNhY2hlZD1mdW5jdGlvbih0KXt2YXIgbj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtuLnNyYz10LnNyYztyZXR1cm4gZSh0KS5pcygnaW1nW3NyYyE9IiJdJykmJiFuLmNvbXBsZXRlfTtlLmZuLndhaXRGb3JJbWFnZXM9ZnVuY3Rpb24odCxuLHIpe2lmKGUuaXNQbGFpbk9iamVjdChhcmd1bWVudHNbMF0pKXtuPXQuZWFjaDtyPXQud2FpdEZvckFsbDt0PXQuZmluaXNoZWR9dD10fHxlLm5vb3A7bj1ufHxlLm5vb3A7cj0hIXI7aWYoIWUuaXNGdW5jdGlvbih0KXx8IWUuaXNGdW5jdGlvbihuKSl7dGhyb3cgbmV3IFR5cGVFcnJvcigiQW4gaW52YWxpZCBjYWxsYmFjayB3YXMgc3VwcGxpZWQuIil9cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBpPWUodGhpcykscz1bXTtpZihyKXt2YXIgbz1lLndhaXRGb3JJbWFnZXMuaGFzSW1hZ2VQcm9wZXJ0aWVzfHxbXSx1PS91cmxcKChbJyJdPykoLio/KVwxXCkvZztpLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtpZih0LmlzKCJpbWc6dW5jYWNoZWQiKSl7cy5wdXNoKHtzcmM6dC5hdHRyKCJzcmMiKSxlbGVtZW50OnRbMF19KX1lLmVhY2gobyxmdW5jdGlvbihlLG4pe3ZhciByPXQuY3NzKG4pO2lmKCFyKXtyZXR1cm4gdHJ1ZX12YXIgaTt3aGlsZShpPXUuZXhlYyhyKSl7cy5wdXNoKHtzcmM6aVsyXSxlbGVtZW50OnRbMF19KX19KX0pfWVsc2V7aS5maW5kKCJpbWc6dW5jYWNoZWQiKS5lYWNoKGZ1bmN0aW9uKCl7cy5wdXNoKHtzcmM6dGhpcy5zcmMsZWxlbWVudDp0aGlzfSl9KX12YXIgZj1zLmxlbmd0aCxsPTA7aWYoZj09MCl7dC5jYWxsKGlbMF0pfWUuZWFjaChzLGZ1bmN0aW9uKHIscyl7dmFyIG89bmV3IEltYWdlO2UobykuYmluZCgibG9hZCBlcnJvciIsZnVuY3Rpb24oZSl7bCsrO24uY2FsbChzLmVsZW1lbnQsbCxmLGUudHlwZT09ImxvYWQiKTtpZihsPT1mKXt0LmNhbGwoaVswXSk7cmV0dXJuIGZhbHNlfX0pO28uc3JjPXMuc3JjfSl9KX07CQkNCn0pKGpRdWVyeSkNCg=="}},"time_used":610,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":592,"receive":18,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/extensions/revolution.extension.layeranimation.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.608Z","timestamp":1785133989608,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.layeranimation.min.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Wed, 08 Jan 2020 01:17:30 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 13832\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":56000,"size_decoded":14070,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (55747), with CRLF line terminators","md5":"c8447797a143c1450fc568df80d84644","sha1":"5a53d554a8bb9ed2806ca5c334908b23c9ad4bb0","sha256":"6867ff7eec8e29d555e5bfcadc9e19f04d1e3a34de99255647f9ca573536b7ef","sha512":"ce076a2702f1c93dff9a90dfc01bca938763e0b3fd331988a865553f5a90f865d8441a05e54110eaac359b8278ed11abad48a3b43a96c3717f911fd746825764","ssdeep":"384:/xzdbsv52ydfPEnYpF5BzJCP0bRjB6Y3tsq4dtS1YD2JQu/BDY8+wEGNc8zOluDk:jwpFDO+tsq4dtLsQEBDYHPGNm6GV+UfH","tlshash":"3543eac6ea102ce551ab8145d1bf44593220ffb8b10285f1fd56a49a1a4cf8621ebf7f","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-08-04T06:10:37.638339Z","times_seen":1580,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICogUkVWT0xVVElPTiA1LjQuMiBFWFRFTlNJT04gLSBMQVlFUiBBTklNQVRJT04NCiAqIEB2ZXJzaW9uOiAzLjYuMyAoMTcuMDUuMjAxNykNCiAqIEByZXF1aXJlcyBqcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLmpzDQogKiBAYXV0aG9yIFRoZW1lUHVuY2gNCioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8NCiFmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gdyhhLGIsYyxkLGUsZixnKXt2YXIgaD1hLmZpbmQoYik7aC5jc3MoImJvcmRlcldpZHRoIixmKyJweCIpLGguY3NzKGMsMC1mKyJweCIpLGguY3NzKGQsIjBweCBzb2xpZCB0cmFuc3BhcmVudCIpLGguY3NzKGUsZyl9dmFyIGI9alF1ZXJ5LmZuLnJldm9sdXRpb24sZT0oYi5pc19tb2JpbGUoKSxiLmlzX2FuZHJvaWQoKSx7YWxpYXM6IkxheWVyQW5pbWF0aW9uIE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLmxheWVyYW5pbWF0aW9uLm1pbi5qcyIsbWluX2NvcmU6IjUuNC41Iix2ZXJzaW9uOiIzLjYuMyJ9KTtqUXVlcnkuZXh0ZW5kKCEwLGIse3VwZGF0ZU1hcmt1cDpmdW5jdGlvbihhLGIpe3ZhciBjPWpRdWVyeShhKS5kYXRhKCk7aWYodm9pZCAwIT09Yy5zdGFydCYmIWMuZnJhbWVzX2FkZGVkJiZ2b2lkIDA9PT1jLmZyYW1lcyl7dmFyIGQ9bmV3IEFycmF5LGU9dChtKCksYy50cmFuc2Zvcm1faW4sdm9pZCAwLCExKSxmPXQobSgpLGMudHJhbnNmb3JtX291dCx2b2lkIDAsITEpLGc9dChtKCksYy50cmFuc2Zvcm1faG92ZXIsdm9pZCAwLCExKTtqUXVlcnkuaXNOdW1lcmljKGMuZW5kKSYmalF1ZXJ5LmlzTnVtZXJpYyhjLnN0YXJ0KSYmalF1ZXJ5LmlzTnVtZXJpYyhlLnNwZWVkKSYmKGMuZW5kPXBhcnNlSW50KGMuZW5kLDApLShwYXJzZUludChjLnN0YXJ0LDApK3BhcnNlRmxvYXQoZS5zcGVlZCwwKSkpLGQucHVzaCh7ZnJhbWU6IjAiLGRlbGF5OmMuc3RhcnQsZnJvbTpjLnRyYW5zZm9ybV9pbix0bzpjLnRyYW5zZm9ybV9pZGxlLHNwbGl0OmMuc3BsaXRpbixzcGVlZDplLnNwZWVkLGVhc2U6ZS5hbmltLmVhc2UsbWFzazpjLm1hc2tfaW4sc3BsaXRkZWxheTpjLmVsZW1lbnRkZWxheX0pLGQucHVzaCh7ZnJhbWU6IjUiLGRlbGF5OmMuZW5kLHRvOmMudHJhbnNmb3JtX291dCxzcGxpdDpjLnNwbGl0b3V0LHNwZWVkOmYuc3BlZWQsZWFzZTpmLmFuaW0uZWFzZSxtYXNrOmMubWFza19vdXQsc3BsaXRkZWxheTpjLmVsZW1lbnRkZWxheX0pLGMudHJhbnNmb3JtX2hvdmVyJiZkLnB1c2goe2ZyYW1lOiJob3ZlciIsdG86Yy50cmFuc2Zvcm1faG92ZXIsc3R5bGU6Yy5zdHlsZV9ob3ZlcixzcGVlZDpnLnNwZWVkLGVhc2U6Zy5hbmltLmVhc2Usc3BsaXRkZWxheTpjLmVsZW1lbnRkZWxheX0pLGMuZnJhbWVzPWR9aWYoIWMuZnJhbWVzX2FkZGVkKXtpZihjLmluZnJhbWVpbmRleD0wLGMub3V0ZnJhbWVpbmRleD0tMSxjLmhvdmVyZnJhbWVpbmRleD0tMSx2b2lkIDAhPT1jLmZyYW1lcylmb3IodmFyIGg9MDtoPGMuZnJhbWVzLmxlbmd0aDtoKyspdm9pZCAwIT09Yy5mcmFtZXNbaF0uc2Z4X2VmZmVjdCYmYy5mcmFtZXNbaF0uc2Z4X2VmZmVjdC5pbmRleE9mKCJibG9jayIpPj0wJiYoMD09PWg/KGMuZnJhbWVzW2hdLmZyb209Im86MCIsYy5mcmFtZXNbaF0udG89Im86MSIpOmMuZnJhbWVzW2hdLnRvPSJvOjAiLGMuX3NmeD0iYmxvY2siKSx2b2lkIDA9PT1jLmZyYW1lc1swXS5mcm9tJiYoYy5mcmFtZXNbMF0uZnJvbT0ibzppbmhlcml0IiksMD09PWMuZnJhbWVzWzBdLmRlbGF5JiYoYy5mcmFtZXNbMF0uZGVsYXk9MjApLCJob3ZlciI9PT1jLmZyYW1lc1toXS5mcmFtZT9jLmhvdmVyZnJhbWVpbmRleD1oOiJmcmFtZV85OTkiIT09Yy5mcmFtZXNbaF0uZnJhbWUmJiJmcmFtZV9vdXQiIT09Yy5mcmFtZXNbaF0uZnJhbWUmJiJsYXN0IiE9PWMuZnJhbWVzW2hdLmZyYW1lJiYiZW5kIiE9PWMuZnJhbWVzW2hdLmZyYW1lfHwoYy5vdXRmcmFtZWluZGV4PWgpLHZvaWQgMCE9PWMuZnJhbWVzW2hdLnNwbGl0JiZjLmZyYW1lc1toXS5zcGxpdC5tYXRjaCgvY2hhcnN8d29yZHN8bGluZXMvZykmJihjLnNwbGl0dGV4dD0hMCk7Yy5vdXRmcmFtZWluZGV4PS0xPT09Yy5vdXRmcmFtZWluZGV4Py0xPT09Yy5ob3ZlcmZyYW1laW5kZXg/Yy5mcmFtZXMubGVuZ3RoLTE6Yy5mcmFtZXMubGVuZ3RoLTI6Yy5vdXRmcmFtZWluZGV4LGMuZnJhbWVzX2FkZGVkPSEwfX0sYW5pbWNvbXBsZXRlZDpmdW5jdGlvbihhLGMpe3ZhciBkPWEuZGF0YSgpLGU9ZC52aWRlb3R5cGUsZj1kLmF1dG9wbGF5LGc9ZC5hdXRvcGxheW9ubHlmaXJzdHRpbWU7dm9pZCAwIT1lJiYibm9uZSIhPWUmJigxPT1mfHwidHJ1ZSI9PWZ8fCJvbiI9PWZ8fCIxc3R0aW1lIj09Znx8Zz8oKCJjYXJvdXNlbCIhPT1jLnNsaWRlclR5cGV8fCJjYXJvdXNlbCI9PT1jLnNsaWRlclR5cGUmJiJvbiI9PT1jLmNhcm91c2VsLnNob3dMYXllcnNBbGxUaW1lJiZhLmNsb3Nlc3QoImxpIikuaGFzQ2xhc3MoImFjdGl2ZS1yZXZzbGlkZSIpfHwiY2Fyb3VzZWwiPT09Yy5zbGlkZXJUeXBlJiYib24iIT09Yy5jYXJvdXNlbC5zaG93TGF5ZXJzQWxsVGltZSYmYS5jbG9zZXN0KCJsaSIpLmhhc0NsYXNzKCJhY3RpdmUtcmV2c2xpZGUiKSkmJmIucGxheVZpZGVvKGEsYyksYi50b2dnbGVTdGF0ZShhLmRhdGEoInZpZGVvdG9nZ2xlZGJ5IikpLChnfHwiMXN0dGltZSI9PWYpJiYoZC5hdXRvcGxheW9ubHlmaXJzdHRpbWU9ITEsZC5hdXRvcGxheT0ib2ZmIikpOigibm8xc3R0aW1lIj09ZiYmKGQuZGF0YXNldGF1dG9wbGF5PSJvbiIpLGIudW5Ub2dnbGVTdGF0ZShhLmRhdGEoInZpZGVvdG9nZ2xlZGJ5IikpKSl9LGhhbmRsZVN0YXRpY0xheWVyczpmdW5jdGlvbihhLGIpe3ZhciBjPXBhcnNlSW50KGEuZGF0YSgic3RhcnRzbGlkZSIpLDApLGQ9cGFyc2VJbnQoYS5kYXRhKCJlbmRzbGlkZSIpLDApO2M8MCYmKGM9MCksZDwwJiYoZD1iLnJlYWxzbGlkZWFtb3VudCksMD09PWMmJmQ9PT1iLnJlYWxzbGlkZWFtb3VudC0xJiYoZD1iLnJlYWxzbGlkZWFtb3VudCsxKSxhLmRhdGEoInN0YXJ0c2xpZGUiLGMpLGEuZGF0YSgiZW5kc2xpZGUiLGQpfSxhbmltYXRlVGhlQ2FwdGlvbnM6ZnVuY3Rpb24oYSl7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZSkuY2hlY2spcmV0dXJuITE7dmFyIGM9YS5vcHQsZD1hLnNsaWRlLGY9YS5yZWNhbGwsZz1hLm1haW50aW1lbGluZSxoPWEucHJlc2V0LGk9YS5zdGFydHNsaWRlYW5pbWF0LGo9ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZT8wOmMud2lkdGgvMi1jLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSpjLmJ3LzIsaz0wLGw9ZC5kYXRhKCJpbmRleCIpO2lmKGMubGF5ZXJzPWMubGF5ZXJzfHxuZXcgT2JqZWN0LGMubGF5ZXJzW2xdPWMubGF5ZXJzW2xdfHxkLmZpbmQoIi50cC1jYXB0aW9uIiksYy5sYXllcnMuc3RhdGljPWMubGF5ZXJzLnN0YXRpY3x8Yy5jLmZpbmQoIi50cC1zdGF0aWMtbGF5ZXJzIikuZmluZCgiLnRwLWNhcHRpb24iKSx2b2lkIDA9PT1jLnRpbWVsaW5lcyYmYi5jcmVhdGVUaW1lbGluZVN0cnVjdHVyZShjKSxjLmNvbmg9Yy5jLmhlaWdodCgpLGMuY29udz1jLmMud2lkdGgoKSxjLnVsdz1jLnVsLndpZHRoKCksYy51bGg9Yy51bC5oZWlnaHQoKSxjLmRlYnVnTW9kZSl7ZC5hZGRDbGFzcygiaW5kZWJ1Z21vZGUiKSxkLmZpbmQoIi5oZWxwZ3JpZCIpLnJlbW92ZSgpLGMuYy5maW5kKCIuaGdsYXllcmluZm8iKS5yZW1vdmUoKSxkLmFwcGVuZCgnPGRpdiBjbGFzcz0iaGVscGdyaWQiIHN0eWxlPSJ3aWR0aDonK2MuZ3JpZHdpZHRoW2MuY3VyV2luUmFuZ2VdKmMuYncrInB4O2hlaWdodDoiK2MuZ3JpZGhlaWdodFtjLmN1cldpblJhbmdlXSpjLmJ3KydweDsiPjwvZGl2PicpO3ZhciBtPWQuZmluZCgiLmhlbHBncmlkIik7bS5hcHBlbmQoJzxkaXYgY2xhc3M9ImhnaW5mbyI+Wm9vbTonK01hdGgucm91bmQoMTAwKmMuYncpKyIlICZuYnNwOyZuYnNwOyZuYnNwOyBEZXZpY2UgTGV2ZWw6IitjLmN1cldpblJhbmdlKyImbmJzcDsmbmJzcDsmbmJzcDsgR3JpZCBQcmVzZXQ6IitjLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSsieCIrYy5ncmlkaGVpZ2h0W2MuY3VyV2luUmFuZ2VdKyI8L2Rpdj4iKSxjLmMuYXBwZW5kKCc8ZGl2IGNsYXNzPSJoZ2xheWVyaW5mbyI+PC9kaXY+JyksbS5hcHBlbmQoJzxkaXYgY2xhc3M9InRsaGciPjwvZGl2PicpfXZvaWQgMCE9PWwmJmMubGF5ZXJzW2xdJiZqUXVlcnkuZWFjaChjLmxheWVyc1tsXSxmdW5jdGlvbihhLGQpe3ZhciBlPWpRdWVyeSh0aGlzKTtiLnVwZGF0ZU1hcmt1cCh0aGlzLGMpLGIucHJlcGFyZVNpbmdsZUNhcHRpb24oe2NhcHRpb246ZSxvcHQ6YyxvZmZzZXR4Omosb2Zmc2V0eTprLGluZGV4OmEscmVjYWxsOmYscHJlc2V0Omh9KSxoJiYwIT09aXx8Yi5idWlsZEZ1bGxUaW1lTGluZSh7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aCxyZWdlbmVyYXRlOjA9PT1pfSksZiYmImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZSYmIm9uIj09PWMuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWUmJmIuYW5pbWNvbXBsZXRlZChlLGMpfSksYy5sYXllcnMuc3RhdGljJiZqUXVlcnkuZWFjaChjLmxheWVycy5zdGF0aWMsZnVuY3Rpb24oYSxkKXt2YXIgZT1qUXVlcnkodGhpcyksZz1lLmRhdGEoKTshMCE9PWcuaG92ZXJlZHN0YXR1cyYmITAhPT1nLmluaG92ZXJvdXRhbmltYXRpb24/KGIudXBkYXRlTWFya3VwKHRoaXMsYyksYi5wcmVwYXJlU2luZ2xlQ2FwdGlvbih7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aH0pLGgmJjAhPT1pfHwhMD09PWcudmVyeWZpcnN0c3RzdGljfHwoYi5idWlsZEZ1bGxUaW1lTGluZSh7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aCxyZWdlbmVyYXRlOjA9PT1pfSksZy52ZXJ5Zmlyc3RzdHN0aWM9ITApLGYmJiJjYXJvdXNlbCI9PT1jLnNsaWRlclR5cGUmJiJvbiI9PT1jLmNhcm91c2VsLnNob3dMYXllcnNBbGxUaW1lJiZiLmFuaW1jb21wbGV0ZWQoZSxjKSk6Yi5wcmVwYXJlU2luZ2xlQ2FwdGlvbih7Y2FwdGlvbjplLG9wdDpjLG9mZnNldHg6aixvZmZzZXR5OmssaW5kZXg6YSxyZWNhbGw6ZixwcmVzZXQ6aH0pfSk7dmFyIG49LTE9PT1jLm5leHRTbGlkZXx8dm9pZCAwPT09Yy5uZXh0U2xpZGU/MDpjLm5leHRTbGlkZTt2b2lkIDAhPT1jLnJvd3pvbmVzJiYobj1uPmMucm93em9uZXMubGVuZ3RoP2Mucm93em9uZXMubGVuZ3RoOm4pLHZvaWQgMCE9Yy5yb3d6b25lcyYmYy5yb3d6b25lcy5sZW5ndGg+MCYmdm9pZCAwIT1jLnJvd3pvbmVzW25dJiZuPj0wJiZuPD1jLnJvd3pvbmVzLmxlbmd0aCYmYy5yb3d6b25lc1tuXS5sZW5ndGg+MCYmYi5zZXRTaXplKGMpLGh8fHZvaWQgMCE9PWkmJih2b2lkIDAhPT1sJiZqUXVlcnkuZWFjaChjLnRpbWVsaW5lc1tsXS5sYXllcnMsZnVuY3Rpb24oYSxkKXt2YXIgZT1kLmxheWVyLmRhdGEoKTsibm9uZSIhPT1kLndyYXBwZXImJnZvaWQgMCE9PWQud3JhcHBlcnx8KCJrZWVwIj09ZC50cmlnZ2Vyc3RhdGUmJiJvbiI9PT1lLnRyaWdnZXJzdGF0ZT9iLnBsYXlBbmltYXRpb25GcmFtZSh7Y2FwdGlvbjpkLmxheWVyLG9wdDpjLGZyYW1lOiJmcmFtZV8wIix0cmlnZ2VyZGlyZWN0aW9uOiJpbiIsdHJpZ2dlcmZyYW1laW46ImZyYW1lXzAiLHRyaWdnZXJmcmFtZW91dDoiZnJhbWVfOTk5In0pOmQudGltZWxpbmUucmVzdGFydCgpKX0pLGMudGltZWxpbmVzLnN0YXRpY2xheWVycyYmalF1ZXJ5LmVhY2goYy50aW1lbGluZXMuc3RhdGljbGF5ZXJzLmxheWVycyxmdW5jdGlvbihhLGQpe3ZhciBlPWQubGF5ZXIuZGF0YSgpLGY9bj49ZC5maXJzdHNsaWRlJiZuPD1kLmxhc3RzbGlkZSxnPW48ZC5maXJzdHNsaWRlfHxuPmQubGFzdHNsaWRlLGg9ZC50aW1lbGluZS5nZXRMYWJlbFRpbWUoInNsaWRlXyIrZC5maXJzdHNsaWRlKSxpPWQudGltZWxpbmUuZ2V0TGFiZWxUaW1lKCJzbGlkZV8iK2QubGFzdHNsaWRlKSxqPWUuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWUsaz0iaW4iPT09ZS5hbmltZGlyZWN0aW9ufHwib3V0IiE9PWUuYW5pbWRpcmVjdGlvbiYmdm9pZCAwLGw9ImJ5dHJpZ2dlciI9PT1lLmZyYW1lc1swXS5kZWxheSxvPShlLmZyYW1lc1tlLmZyYW1lcy5sZW5ndGgtMV0uZGVsYXksZS50cmlnZ2VyZWRfc3RhcnRzdGF0dXMpLHA9ZS5sYXN0dHJpZ2dlcnN0YXRlOyEwIT09ZS5ob3ZlcmVkc3RhdHVzJiYxIT1lLmluaG92ZXJvdXRhbmltYXRpb24mJih2b2lkIDAhPT1qJiZrJiYoImtlZXAiPT1wPyhiLnBsYXlBbmltYXRpb25GcmFtZSh7Y2FwdGlvbjpkLmxheWVyLG9wdDpjLGZyYW1lOiJmcmFtZV8wIix0cmlnZ2VyZGlyZWN0aW9uOiJpbiIsdHJpZ2dlcmZyYW1laW46ImZyYW1lXzAiLHRyaWdnZXJmcmFtZW91dDoiZnJhbWVfOTk5In0pLGUudHJpZ2dlcmVkdGltZWxpbmUudGltZShqKSk6ITAhPT1lLmhvdmVyZWRzdGF0dXMmJmQudGltZWxpbmUudGltZShqKSksInJlc2V0Ij09PXAmJiJoaWRkZW4iPT09byYmKGQudGltZWxpbmUudGltZSgwKSxlLmFuaW1kaXJlY3Rpb249Im91dCIpLGY/az9uPT09ZC5sYXN0c2xpZGUmJihkLnRpbWVsaW5lLnBsYXkoaSksZS5hbmltZGlyZWN0aW9uPSJpbiIpOihsfHwiaW4iPT09ZS5hbmltZGlyZWN0aW9ufHxkLnRpbWVsaW5lLnBsYXkoaCksKCJ2aXNpYmxlIj09byYmImtlZXAiIT09cHx8ImtlZXAiPT09cCYmITA9PT1rfHwidmlzaWJsZSI9PW8mJnZvaWQgMD09PWspJiYoZC50aW1lbGluZS5wbGF5KGgrLjAxKSxlLmFuaW1kaXJlY3Rpb249ImluIikpOmcmJmsmJmQudGltZWxpbmUucGxheSgiZnJhbWVfOTk5IikpfSkpLHZvaWQgMCE9ZyYmc2V0VGltZW91dChmdW5jdGlvbigpe2cucmVzdW1lKCl9LDMwKX0scHJlcGFyZVNpbmdsZUNhcHRpb246ZnVuY3Rpb24oYSl7dmFyIGM9YS5jYXB0aW9uLGQ9Yy5kYXRhKCksZT1hLm9wdCxmPWEucmVjYWxsLGc9YS5yZWNhbGwsaT0oYS5wcmVzZXQsalF1ZXJ5KCJib2R5IikuaGFzQ2xhc3MoInJ0bCIpKTtpZihkLl9wdz12b2lkIDA9PT1kLl9wdz9jLmNsb3Nlc3QoIi50cC1wYXJhbGxheC13cmFwIik6ZC5fcHcsZC5fbHc9dm9pZCAwPT09ZC5fbHc/Yy5jbG9zZXN0KCIudHAtbG9vcC13cmFwIik6ZC5fbHcsZC5fbXc9dm9pZCAwPT09ZC5fbXc/Yy5jbG9zZXN0KCIudHAtbWFzay13cmFwIik6ZC5fbXcsZC5fcmVzcG9uc2l2ZT1kLnJlc3BvbnNpdmV8fCJvbiIsZC5fcmVzcG9mZnNldD1kLnJlc3BvbnNpdmVfb2Zmc2V0fHwib24iLGQuX2JhPWQuYmFzZWFsaWdufHwiZ3JpZCIsZC5fZ3c9ImdyaWQiPT09ZC5fYmE/ZS53aWR0aDplLnVsdyxkLl9naD0iZ3JpZCI9PT1kLl9iYT9lLmhlaWdodDplLnVsaCxkLl9saWc9dm9pZCAwPT09ZC5fbGlnP2MuaGFzQ2xhc3MoInJldl9sYXllcl9pbl9ncm91cCIpP2MuY2xvc2VzdCgiLnJldl9ncm91cCIpOmMuaGFzQ2xhc3MoInJldl9sYXllcl9pbl9jb2x1bW4iKT9jLmNsb3Nlc3QoIi5yZXZfY29sdW1uX2lubmVyIik6Yy5oYXNDbGFzcygicmV2X2NvbHVtbl9pbm5lciIpP2MuY2xvc2VzdCgiLnJldl9yb3ciKToibm9uZSI6ZC5fbGlnLGQuX2NvbHVtbj12b2lkIDA9PT1kLl9jb2x1bW4/Yy5oYXNDbGFzcygicmV2X2NvbHVtbl9pbm5lciIpP2MuY2xvc2VzdCgiLnJldl9jb2x1bW4iKToibm9uZSI6ZC5fY29sdW1uLGQuX3Jvdz12b2lkIDA9PT1kLl9yb3c/Yy5oYXNDbGFzcygicmV2X2NvbHVtbl9pbm5lciIpP2MuY2xvc2VzdCgiLnJldl9yb3ciKToibm9uZSI6ZC5fcm93LGQuX2luZ3JvdXA9dm9pZCAwPT09ZC5faW5ncm91cD8hKGMuaGFzQ2xhc3MoInJldl9ncm91cCIpfHwhYy5jbG9zZXN0KCIucmV2X2dyb3VwIikpOmQuX2luZ3JvdXAsZC5faXNncm91cD12b2lkIDA9PT1kLl9pc2dyb3VwPyEhYy5oYXNDbGFzcygicmV2X2dyb3VwIik6ZC5faXNncm91cCxkLl9uY3R5cGU9ZC50eXBlfHwibm9uZSIsZC5fY2JnY19hdXRvPXZvaWQgMD09PWQuX2NiZ2NfYXV0bz8iY29sdW1uIj09PWQuX25jdHlwZSYmZC5fcHcuZmluZCgiLnJldl9jb2x1bW5fYmdfYXV0b19zaXplZCIpOmQuX2NiZ2NfYXV0byxkLl9jYmdjX21hbj12b2lkIDA9PT1kLl9jYmdjX21hbj8iY29sdW1uIj09PWQuX25jdHlwZSYmZC5fcHcuZmluZCgiLnJldl9jb2x1bW5fYmdfbWFuX3NpemVkIik6ZC5fY2JnY19tYW4sZC5fc2xpZGVpZD1kLl9zbGlkZWlkfHxjLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkiKS5kYXRhKCJpbmRleCIpLGQuX2lkPXZvaWQgMD09PWQuX2lkP2MuZGF0YSgiaWQiKXx8Yy5hdHRyKCJpZCIpOmQuX2lkLGQuX3NsaWRlbGluaz12b2lkIDA9PT1kLl9zbGlkZWxpbms/dm9pZCAwIT09Yy5oYXNDbGFzcygic2xpZGVsaW5rIikmJmMuaGFzQ2xhc3MoInNsaWRlbGluayIpOmQuX3NsaWRlbGluayx2b2lkIDA9PT1kLl9saSYmKGMuaGFzQ2xhc3MoInRwLXN0YXRpYy1sYXllciIpPyhkLl9pc3N0YXRpYz0hMCxkLl9saT1jLmNsb3Nlc3QoIi50cC1zdGF0aWMtbGF5ZXJzIiksZC5fc2xpZGVpZD0ic3RhdGljbGF5ZXJzIik6ZC5fbGk9Yy5jbG9zZXN0KCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikpLGQuX3Jvdz12b2lkIDA9PT1kLl9yb3c/ImNvbHVtbiI9PT1kLl9uY3R5cGUmJmQuX3B3LmNsb3Nlc3QoIi5yZXZfcm93Iik6ZC5fcm93LHZvaWQgMD09PWQuX3RvZ2dsZWxpc3RlbmVycyYmYy5maW5kKCIucnMtdG9nZ2xlZC1jb250ZW50Iik/KGQuX3RvZ2dsZWxpc3RlbmVycz0hMCx2b2lkIDA9PT1kLmFjdGlvbnMmJmMuY2xpY2soZnVuY3Rpb24oKXtiLnN3YXB0b2dnbGVTdGF0ZShjKX0pKTpkLl90b2dnbGVsaXN0ZW5lcnM9ITEsImZ1bGxzY3JlZW4iPT1lLnNsaWRlckxheW91dCYmKGEub2Zmc2V0eT1kLl9naC8yLWUuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXSplLmJoLzIpLCgib24iPT1lLmF1dG9IZWlnaHR8fHZvaWQgMCE9ZS5taW5IZWlnaHQmJmUubWluSGVpZ2h0PjApJiYoYS5vZmZzZXR5PWUuY29uaC8yLWUuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXSplLmJoLzIpLGEub2Zmc2V0eTwwJiYoYS5vZmZzZXR5PTApLGUuZGVidWdNb2RlKXtjLmNsb3Nlc3QoImxpIikuZmluZCgiLmhlbHBncmlkIikuY3NzKHt0b3A6YS5vZmZzZXR5KyJweCIsbGVmdDphLm9mZnNldHgrInB4In0pO3ZhciBrPWUuYy5maW5kKCIuaGdsYXllcmluZm8iKTtjLm9uKCJob3ZlciwgbW91c2VlbnRlciIsZnVuY3Rpb24oKXt2YXIgYT0iIjtjLmRhdGEoKSYmalF1ZXJ5LmVhY2goYy5kYXRhKCksZnVuY3Rpb24oYixjKXsib2JqZWN0IiE9dHlwZW9mIGMmJihhPWErJzxzcGFuIHN0eWxlPSJ3aGl0ZS1zcGFjZTpub3dyYXAiPjxzcGFuIHN0eWxlPSJjb2xvcjojMjdhZTYwIj4nK2IrIjo8L3NwYW4+IitjKyI8L3NwYW4+Jm5ic3A7ICZuYnNwOyAiKX0pLGsuaHRtbChhKX0pfWlmKCJvZmYiPT09KHZvaWQgMD09PWQudmlzaWJpbGl0eT8ib29uIjp2KGQudmlzaWJpbGl0eSxlKVtlLmZvcmNlZFdpblJhbmdlXXx8dihkLnZpc2liaWxpdHksZSl8fCJvb29uIil8fGQuX2d3PGUuaGlkZUNhcHRpb25BdExpbWl0JiYib24iPT1kLmNhcHRpb25oaWRkZW58fGQuX2d3PGUuaGlkZUFsbENhcHRpb25BdExpbWl0P2QuX3B3LmFkZENsYXNzKCJ0cC1oaWRkZW4tY2FwdGlvbiIpOmQuX3B3LnJlbW92ZUNsYXNzKCJ0cC1oaWRkZW4tY2FwdGlvbiIpLGQubGF5ZXJ0eXBlPSJodG1sIixhLm9mZnNldHg8MCYmKGEub2Zmc2V0eD0wKSx2b2lkIDAhPWQudGh1bWJpbWFnZSYmdm9pZCAwPT1kLnZpZGVvcG9zdGVyJiYoZC52aWRlb3Bvc3Rlcj1kLnRodW1iaW1hZ2UpLGMuZmluZCgiaW1nIikubGVuZ3RoPjApe3ZhciBuPWMuZmluZCgiaW1nIik7ZC5sYXllcnR5cGU9ImltYWdlIiwwPT1uLndpZHRoKCkmJm4uY3NzKHt3aWR0aDoiYXV0byJ9KSwwPT1uLmhlaWdodCgpJiZuLmNzcyh7aGVpZ2h0OiJhdXRvIn0pLHZvaWQgMD09bi5kYXRhKCJ3dyIpJiZuLndpZHRoKCk+MCYmbi5kYXRhKCJ3dyIsbi53aWR0aCgpKSx2b2lkIDA9PW4uZGF0YSgiaGgiKSYmbi5oZWlnaHQoKT4wJiZuLmRhdGEoImhoIixuLmhlaWdodCgpKTt2YXIgbz1uLmRhdGEoInd3IikscD1uLmRhdGEoImhoIikscT0ic2xpZGUiPT1kLl9iYT9lLnVsdzplLmdyaWR3aWR0aFtlLmN1cldpblJhbmdlXSxyPSJzbGlkZSI9PWQuX2JhP2UudWxoOmUuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXTtvPXYobi5kYXRhKCJ3dyIpLGUpW2UuY3VyV2luUmFuZ2VdfHx2KG4uZGF0YSgid3ciKSxlKXx8ImF1dG8iLHA9dihuLmRhdGEoImhoIiksZSlbZS5jdXJXaW5SYW5nZV18fHYobi5kYXRhKCJoaCIpLGUpfHwiYXV0byI7dmFyIHM9ImZ1bGwiPT09b3x8ImZ1bGwtcHJvcG9ydGlvbmFsIj09PW8sdD0iZnVsbCI9PT1wfHwiZnVsbC1wcm9wb3J0aW9uYWwiPT09cDtpZigiZnVsbC1wcm9wb3J0aW9uYWwiPT09byl7dmFyIHU9bi5kYXRhKCJvd2lkdGgiKSx4PW4uZGF0YSgib2hlaWdodCIpO3UvcTx4L3I/KG89cSxwPXgqKHEvdSkpOihwPXIsbz11KihyL3gpKX1lbHNlIG89cz9xOiFqUXVlcnkuaXNOdW1lcmljKG8pJiZvLmluZGV4T2YoIiUiKT4wP286cGFyc2VGbG9hdChvKSxwPXQ/cjohalF1ZXJ5LmlzTnVtZXJpYyhwKSYmcC5pbmRleE9mKCIlIik+MD9wOnBhcnNlRmxvYXQocCk7bz12b2lkIDA9PT1vPzA6byxwPXZvaWQgMD09PXA/MDpwLCJvZmYiIT09ZC5fcmVzcG9uc2l2ZT8oImdyaWQiIT1kLl9iYSYmcz9qUXVlcnkuaXNOdW1lcmljKG8pP24uY3NzKHt3aWR0aDpvKyJweCJ9KTpuLmNzcyh7d2lkdGg6b30pOmpRdWVyeS5pc051bWVyaWMobyk/bi5jc3Moe3dpZHRoOm8qZS5idysicHgifSk6bi5jc3Moe3dpZHRoOm99KSwiZ3JpZCIhPWQuX2JhJiZ0P2pRdWVyeS5pc051bWVyaWMocCk/bi5jc3Moe2hlaWdodDpwKyJweCJ9KTpuLmNzcyh7aGVpZ2h0OnB9KTpqUXVlcnkuaXNOdW1lcmljKHApP24uY3NzKHtoZWlnaHQ6cCplLmJoKyJweCJ9KTpuLmNzcyh7aGVpZ2h0OnB9KSk6bi5jc3Moe3dpZHRoOm8saGVpZ2h0OnB9KSxkLl9pbmdyb3VwJiYicm93IiE9PWQuX25jdHlwZSYmKHZvaWQgMCE9PW8mJiFqUXVlcnkuaXNOdW1lcmljKG8pJiYic3RyaW5nIj09PWpRdWVyeS50eXBlKG8pJiZvLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluV2lkdGg6b30pLHZvaWQgMCE9PXAmJiFqUXVlcnkuaXNOdW1lcmljKHApJiYic3RyaW5nIj09PWpRdWVyeS50eXBlKHApJiZwLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluSGVpZ2h0OnB9KSl9aWYoInNsaWRlIj09PWQuX2JhKWEub2Zmc2V0eD0wLGEub2Zmc2V0eT0wO2Vsc2UgaWYoZC5faXNzdGF0aWMmJnZvaWQgMCE9PWUuY2Fyb3VzZWwmJnZvaWQgMCE9PWUuY2Fyb3VzZWwuaG9yaXpvbnRhbF9hbGlnbiYmImNhcm91c2VsIj09PWUuc2xpZGVyVHlwZSl7c3dpdGNoKGUuY2Fyb3VzZWwuaG9yaXpvbnRhbF9hbGlnbil7Y2FzZSJjZW50ZXIiOmEub2Zmc2V0eD0wKyhlLnVsdy1lLmdyaWR3aWR0aFtlLmN1cldpblJhbmdlXSplLmJ3KS8yO2JyZWFrO2Nhc2UibGVmdCI6YnJlYWs7Y2FzZSJyaWdodCI6YS5vZmZzZXR4PWUudWx3LWUuZ3JpZHdpZHRoW2UuY3VyV2luUmFuZ2VdKmUuYnd9YS5vZmZzZXR4PWEub2Zmc2V0eDwwPzA6YS5vZmZzZXR4fXZhciBBPSJodG1sNSI9PWQuYXVkaW8/ImF1ZGlvIjoidmlkZW8iO2lmKGMuaGFzQ2xhc3MoInRwLXZpZGVvbGF5ZXIiKXx8Yy5oYXNDbGFzcygidHAtYXVkaW9sYXllciIpfHxjLmZpbmQoImlmcmFtZSIpLmxlbmd0aD4wfHxjLmZpbmQoQSkubGVuZ3RoPjApe2lmKGQubGF5ZXJ0eXBlPSJ2aWRlbyIsYi5tYW5hZ2VWaWRlb0xheWVyJiZiLm1hbmFnZVZpZGVvTGF5ZXIoYyxlLGYsZyksIWYmJiFnKXtkLnZpZGVvdHlwZTtiLnJlc2V0VmlkZW8mJmIucmVzZXRWaWRlbyhjLGUsYS5wcmVzZXQpfXZhciBEPWQuYXNwZWN0cmF0aW87dm9pZCAwIT1EJiZELnNwbGl0KCI6IikubGVuZ3RoPjEmJmIucHJlcGFyZUNvdmVyZWRWaWRlbyhELGUsYyk7dmFyIG49Yy5maW5kKCJpZnJhbWUiKT9jLmZpbmQoImlmcmFtZSIpOm49Yy5maW5kKEEpLEU9IWMuZmluZCgiaWZyYW1lIiksRj1jLmhhc0NsYXNzKCJjb3ZlcnNjcmVlbnZpZGVvIik7bi5jc3Moe2Rpc3BsYXk6ImJsb2NrIn0pLHZvaWQgMD09Yy5kYXRhKCJ2aWRlb3dpZHRoIikmJihjLmRhdGEoInZpZGVvd2lkdGgiLG4ud2lkdGgoKSksYy5kYXRhKCJ2aWRlb2hlaWdodCIsbi5oZWlnaHQoKSkpO3ZhciBvPXYoYy5kYXRhKCJ2aWRlb3dpZHRoIiksZSlbZS5jdXJXaW5SYW5nZV18fHYoYy5kYXRhKCJ2aWRlb3dpZHRoIiksZSl8fCJhdXRvIixwPXYoYy5kYXRhKCJ2aWRlb2hlaWdodCIpLGUpW2UuY3VyV2luUmFuZ2VdfHx2KGMuZGF0YSgidmlkZW9oZWlnaHQiKSxlKXx8ImF1dG8iO289ImF1dG8iPT09b3x8IWpRdWVyeS5pc051bWVyaWMobykmJm8uaW5kZXhPZigiJSIpPjA/ImF1dG8iPT09bz8iYXV0byI6ImdyaWQiPT09ZC5fYmE/ZS5ncmlkd2lkdGhbZS5jdXJXaW5SYW5nZV0qZS5idzpkLl9ndzpwYXJzZUZsb2F0KG8pKmUuYncrInB4IixwPSJhdXRvIj09PXB8fCFqUXVlcnkuaXNOdW1lcmljKHApJiZwLmluZGV4T2YoIiUiKT4wPyJhdXRvIj09PXA/ImF1dG8iOiJncmlkIj09PWQuX2JhP2UuZ3JpZGhlaWdodFtlLmN1cldpblJhbmdlXSplLmJ3OmQuX2doOnBhcnNlRmxvYXQocCkqZS5iaCsicHgiLGQuY3Nzb2JqPXZvaWQgMD09PWQuY3Nzb2JqP3koYywwKTpkLmNzc29iajt2YXIgRz16KGQuY3Nzb2JqLGUpO2lmKCJhdXRvIj09Ry5saW5lSGVpZ2h0JiYoRy5saW5lSGVpZ2h0PUcuZm9udFNpemUrNCksYy5oYXNDbGFzcygiZnVsbHNjcmVlbnZpZGVvIil8fEYpe2Eub2Zmc2V0eD0wLGEub2Zmc2V0eT0wLGMuZGF0YSgieCIsMCksYy5kYXRhKCJ5IiwwKTt2YXIgSD1kLl9naDsib24iPT1lLmF1dG9IZWlnaHQmJihIPWUuY29uaCksYy5jc3Moe3dpZHRoOmQuX2d3LGhlaWdodDpIfSl9ZWxzZSBwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7cGFkZGluZ1RvcDpNYXRoLnJvdW5kKEcucGFkZGluZ1RvcCplLmJoKSsicHgiLHBhZGRpbmdCb3R0b206TWF0aC5yb3VuZChHLnBhZGRpbmdCb3R0b20qZS5iaCkrInB4IixwYWRkaW5nTGVmdDpNYXRoLnJvdW5kKEcucGFkZGluZ0xlZnQqZS5idykrInB4IixwYWRkaW5nUmlnaHQ6TWF0aC5yb3VuZChHLnBhZGRpbmdSaWdodCplLmJ3KSsicHgiLG1hcmdpblRvcDpHLm1hcmdpblRvcCplLmJoKyJweCIsbWFyZ2luQm90dG9tOkcubWFyZ2luQm90dG9tKmUuYmgrInB4IixtYXJnaW5MZWZ0OkcubWFyZ2luTGVmdCplLmJ3KyJweCIsbWFyZ2luUmlnaHQ6Ry5tYXJnaW5SaWdodCplLmJ3KyJweCIsYm9yZGVyVG9wV2lkdGg6TWF0aC5yb3VuZChHLmJvcmRlclRvcFdpZHRoKmUuYmgpKyJweCIsYm9yZGVyQm90dG9tV2lkdGg6TWF0aC5yb3VuZChHLmJvcmRlckJvdHRvbVdpZHRoKmUuYmgpKyJweCIsYm9yZGVyTGVmdFdpZHRoOk1hdGgucm91bmQoRy5ib3JkZXJMZWZ0V2lkdGgqZS5idykrInB4Iixib3JkZXJSaWdodFdpZHRoOk1hdGgucm91bmQoRy5ib3JkZXJSaWdodFdpZHRoKmUuYncpKyJweCIsd2lkdGg6byxoZWlnaHQ6cH0pOygwPT1FJiYhRnx8MSE9ZC5mb3JjZWNvdmVyJiYhYy5oYXNDbGFzcygiZnVsbHNjcmVlbnZpZGVvIikmJiFGKSYmKG4ud2lkdGgobyksbi5oZWlnaHQocCkpLGQuX2luZ3JvdXAmJm51bGwhPT1kLnZpZGVvd2lkdGgmJnZvaWQgMCE9PWQudmlkZW93aWR0aCYmIWpRdWVyeS5pc051bWVyaWMoZC52aWRlb3dpZHRoKSYmZC52aWRlb3dpZHRoLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluV2lkdGg6ZC52aWRlb3dpZHRofSl9QihjLGUsMCxkLl9yZXNwb25zaXZlKSxjLmhhc0NsYXNzKCJ0cC1yZXNpemVtZSIpJiZjLmZpbmQoIioiKS5lYWNoKGZ1bmN0aW9uKCl7QihqUXVlcnkodGhpcyksZSwicmVrdXJzaXZlIixkLl9yZXNwb25zaXZlKX0pO3ZhciBJPWMub3V0ZXJIZWlnaHQoKSxKPWMuY3NzKCJiYWNrZ3JvdW5kQ29sb3IiKTt3KGMsIi5mcm9udGNvcm5lciIsImxlZnQiLCJib3JkZXJSaWdodCIsImJvcmRlclRvcENvbG9yIixJLEopLHcoYywiLmZyb250Y29ybmVydG9wIiwibGVmdCIsImJvcmRlclJpZ2h0IiwiYm9yZGVyQm90dG9tQ29sb3IiLEksSiksdyhjLCIuYmFja2Nvcm5lciIsInJpZ2h0IiwiYm9yZGVyTGVmdCIsImJvcmRlckJvdHRvbUNvbG9yIixJLEopLHcoYywiLmJhY2tjb3JuZXJ0b3AiLCJyaWdodCIsImJvcmRlckxlZnQiLCJib3JkZXJUb3BDb2xvciIsSSxKKSwib24iPT1lLmZ1bGxTY3JlZW5BbGlnbkZvcmNlJiYoYS5vZmZzZXR4PTAsYS5vZmZzZXR5PTApLCJibG9jayI9PT1kLl9zZngmJnZvaWQgMD09PWQuX2JtYXNrJiYoZC5fYm1hc2s9alF1ZXJ5KCc8ZGl2IGNsYXNzPSJ0cC1ibG9ja21hc2siPjwvZGl2PicpLGQuX213LmFwcGVuZChkLl9ibWFzaykpLGQuYXJyb2JqPW5ldyBPYmplY3QsZC5hcnJvYmoudm9hPXYoZC52b2Zmc2V0LGUpW2UuY3VyV2luUmFuZ2VdfHx2KGQudm9mZnNldCxlKVswXSxkLmFycm9iai5ob2E9dihkLmhvZmZzZXQsZSlbZS5jdXJXaW5SYW5nZV18fHYoZC5ob2Zmc2V0LGUpWzBdLGQuYXJyb2JqLmVseD12KGQueCxlKVtlLmN1cldpblJhbmdlXXx8dihkLngsZSlbMF0sZC5hcnJvYmouZWx5PXYoZC55LGUpW2UuY3VyV2luUmFuZ2VdfHx2KGQueSxlKVswXTt2YXIgSz0wPT1kLmFycm9iai52b2EubGVuZ3RoPzA6ZC5hcnJvYmoudm9hLEw9MD09ZC5hcnJvYmouaG9hLmxlbmd0aD8wOmQuYXJyb2JqLmhvYSxNPTA9PWQuYXJyb2JqLmVseC5sZW5ndGg/MDpkLmFycm9iai5lbHgsTj0wPT1kLmFycm9iai5lbHkubGVuZ3RoPzA6ZC5hcnJvYmouZWx5O2QuZW93PWMub3V0ZXJXaWR0aCghMCksZC5lb2g9Yy5vdXRlckhlaWdodCghMCksMD09ZC5lb3cmJjA9PWQuZW9oJiYoZC5lb3c9ZS51bHcsZC5lb2g9ZS51bGgpO3ZhciBPPSJvZmYiIT09ZC5fcmVzcG9mZnNldD9wYXJzZUludChLLDApKmUuYnc6cGFyc2VJbnQoSywwKSxQPSJvZmYiIT09ZC5fcmVzcG9mZnNldD9wYXJzZUludChMLDApKmUuYnc6cGFyc2VJbnQoTCwwKSxRPSJncmlkIj09PWQuX2JhP2UuZ3JpZHdpZHRoW2UuY3VyV2luUmFuZ2VdKmUuYnc6ZC5fZ3csUj0iZ3JpZCI9PT1kLl9iYT9lLmdyaWRoZWlnaHRbZS5jdXJXaW5SYW5nZV0qZS5idzpkLl9naDsib24iPT1lLmZ1bGxTY3JlZW5BbGlnbkZvcmNlJiYoUT1lLnVsdyxSPWUudWxoKSwibm9uZSIhPT1kLl9saWcmJnZvaWQgMCE9ZC5fbGlnJiYoUT1kLl9saWcud2lkdGgoKSxSPWQuX2xpZy5oZWlnaHQoKSxhLm9mZnNldHg9MCxhLm9mZnNldHk9MCksTT0iY2VudGVyIj09PU18fCJtaWRkbGUiPT09TT9RLzItZC5lb3cvMitQOiJsZWZ0Ij09PU0/UDoicmlnaHQiPT09TT9RLWQuZW93LVA6Im9mZiIhPT1kLl9yZXNwb2Zmc2V0P00qZS5idzpNLE49ImNlbnRlciI9PU58fCJtaWRkbGUiPT1OP1IvMi1kLmVvaC8yK086InRvcCI9PU4/TzoiYm90dG9tIj09Tj9SLWQuZW9oLU86Im9mZiIhPT1kLl9yZXNwb2Zmc2V0P04qZS5idzpOLGkmJiFkLl9zbGlkZWxpbmsmJihNKz1kLmVvdyksZC5fc2xpZGVsaW5rJiYoTT0wKSxkLmNhbGN4PXBhcnNlSW50KE0sMCkrYS5vZmZzZXR4LGQuY2FsY3k9cGFyc2VJbnQoTiwwKSthLm9mZnNldHk7dmFyIFM9Yy5jc3MoInotSW5kZXgiKTtpZigicm93IiE9PWQuX25jdHlwZSYmImNvbHVtbiIhPT1kLl9uY3R5cGUpcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGQuX3B3LHt6SW5kZXg6Uyx0b3A6ZC5jYWxjeSxsZWZ0OmQuY2FsY3gsb3ZlcndyaXRlOiJhdXRvIn0pO2Vsc2UgaWYoInJvdyIhPT1kLl9uY3R5cGUpcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGQuX3B3LHt6SW5kZXg6Uyx3aWR0aDpkLmNvbHVtbndpZHRoLHRvcDowLGxlZnQ6MCxvdmVyd3JpdGU6ImF1dG8ifSk7ZWxzZSBpZigicm93Ij09PWQuX25jdHlwZSl7dmFyIFQ9ImdyaWQiPT09ZC5fYmE/USsicHgiOiIxMDAlIjtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZC5fcHcse3pJbmRleDpTLHdpZHRoOlQsdG9wOjAsbGVmdDphLm9mZnNldHgsb3ZlcndyaXRlOiJhdXRvIn0pfWlmKHZvaWQgMCE9PWQuYmxlbmRtb2RlJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZC5fcHcse21peEJsZW5kTW9kZTpkLmJsZW5kbW9kZX0pLCJyb3ciPT09ZC5fbmN0eXBlJiYoZC5jb2x1bW5icmVhazw9ZS5jdXJXaW5SYW5nZT9jLmFkZENsYXNzKCJyZXZfYnJlYWtfY29sdW1ucyIpOmMucmVtb3ZlQ2xhc3MoInJldl9icmVha19jb2x1bW5zIikpLCJvbiI9PWQubG9vcGFuaW1hdGlvbiYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGQuX2x3LHttaW5XaWR0aDpkLmVvdyxtaW5IZWlnaHQ6ZC5lb2h9KSwiY29sdW1uIj09PWQuX25jdHlwZSl7dmFyIFU9dm9pZCAwIT09Y1swXS5fZ3NUcmFuc2Zvcm0/Y1swXS5fZ3NUcmFuc2Zvcm0ueTowLFY9cGFyc2VJbnQoZC5fY29sdW1uWzBdLnN0eWxlLnBhZGRpbmdUb3AsMCk7cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3k6MH0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChkLl9jYmdjX21hbix7eTpwYXJzZUludChWK2QuX2NvbHVtbi5vZmZzZXQoKS50b3AtYy5vZmZzZXQoKS50b3AsMCl9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7eTpVfSl9ZC5faW5ncm91cCYmInJvdyIhPT1kLl9uY3R5cGUmJih2b2lkIDAhPT1kLl9ncm91cHcmJiFqUXVlcnkuaXNOdW1lcmljKGQuX2dyb3VwdykmJmQuX2dyb3Vwdy5pbmRleE9mKCIlIik+MCYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KFtkLl9sdyxkLl9wdyxkLl9td10se21pbldpZHRoOmQuX2dyb3Vwd30pLHZvaWQgMCE9PWQuX2dyb3VwaCYmIWpRdWVyeS5pc051bWVyaWMoZC5fZ3JvdXBoKSYmZC5fZ3JvdXBoLmluZGV4T2YoIiUiKT4wJiZwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoW2QuX2x3LGQuX3B3LGQuX213XSx7bWluSGVpZ2h0OmQuX2dyb3VwaH0pKX0sY3JlYXRlVGltZWxpbmVTdHJ1Y3R1cmU6ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihhLGIsYyxkKXt2YXIgZixlPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7cGF1c2VkOiEwfSk7Yz1jfHxuZXcgT2JqZWN0LGNbYS5hdHRyKCJpZCIpXT1jW2EuYXR0cigiaWQiKV18fG5ldyBPYmplY3QsInN0YXRpY2xheWVycyI9PT1kJiYoY1thLmF0dHIoImlkIildLmZpcnN0c2xpZGU9YS5kYXRhKCJzdGFydHNsaWRlIiksY1thLmF0dHIoImlkIildLmxhc3RzbGlkZT1hLmRhdGEoImVuZHNsaWRlIikpLGEuZGF0YSgic2xpZGVpZCIsZCksY1thLmF0dHIoImlkIildLmRlZmNsYXNzZXM9Zj1hWzBdLmNsYXNzTmFtZSxjW2EuYXR0cigiaWQiKV0ud3JhcHBlcj1mLmluZGV4T2YoInJldl9sYXllcl9pbl9jb2x1bW4iKT49MD9hLmNsb3Nlc3QoIi5yZXZfY29sdW1uX2lubmVyIik6Zi5pbmRleE9mKCJyZXZfY29sdW1uX2lubmVyIik+PTA/YS5jbG9zZXN0KCIucmV2X3JvdyIpOmYuaW5kZXhPZigicmV2X2xheWVyX2luX2dyb3VwIik+PTA/YS5jbG9zZXN0KCIucmV2X2dyb3VwIik6Im5vbmUiLGNbYS5hdHRyKCJpZCIpXS50aW1lbGluZT1lLGNbYS5hdHRyKCJpZCIpXS5sYXllcj1hLGNbYS5hdHRyKCJpZCIpXS50cmlnZ2Vyc3RhdGU9YS5kYXRhKCJsYXN0dHJpZ2dlcnN0YXRlIiksY1thLmF0dHIoImlkIildLmRjaGlsZHJlbj1mLmluZGV4T2YoInJldl9yb3ciKT49MD9hWzBdLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInJldl9jb2x1bW5faW5uZXIiKTpmLmluZGV4T2YoInJldl9jb2x1bW5faW5uZXIiKT49MD9hWzBdLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoInRwLWNhcHRpb24iKTpmLmluZGV4T2YoInJldl9ncm91cCIpPj0wP2FbMF0uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgicmV2X2xheWVyX2luX2dyb3VwIik6Im5vbmUiLGEuZGF0YSgidGltZWxpbmUiLGUpfWEudGltZWxpbmVzPWEudGltZWxpbmVzfHxuZXcgT2JqZWN0LGEuYy5maW5kKCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpLCAudHAtc3RhdGljLWxheWVycyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1qUXVlcnkodGhpcyksZD1jLmRhdGEoImluZGV4Iik7YS50aW1lbGluZXNbZF09YS50aW1lbGluZXNbZF18fHt9LGEudGltZWxpbmVzW2RdLmxheWVycz1hLnRpbWVsaW5lc1tkXS5sYXllcnN8fG5ldyBPYmplY3QsYy5maW5kKCIudHAtY2FwdGlvbiIpLmVhY2goZnVuY3Rpb24oYyl7YihqUXVlcnkodGhpcyksYSxhLnRpbWVsaW5lc1tkXS5sYXllcnMsZCl9KX0pfSxidWlsZEZ1bGxUaW1lTGluZTpmdW5jdGlvbihhKXt2YXIgZyxoLGM9YS5jYXB0aW9uLGQ9Yy5kYXRhKCksZT1hLm9wdCxmPXt9LGo9cSgpO2lmKGc9ZS50aW1lbGluZXNbZC5fc2xpZGVpZF0ubGF5ZXJzW2QuX2lkXSwhZy5nZW5lcmF0ZWR8fCEwPT09YS5yZWdlbmVyYXRlKXtpZihoPWcudGltZWxpbmUsZy5nZW5lcmF0ZWQ9ITAsdm9pZCAwIT09ZC5jdXJyZW50X3RpbWVsaW5lJiYhMCE9PWEucmVnZW5lcmF0ZT8oZC5jdXJyZW50X3RpbWVsaW5lX3BhdXNlPWQuY3VycmVudF90aW1lbGluZS5wYXVzZWQoKSxkLmN1cnJlbnRfdGltZWxpbmVfdGltZT1kLmN1cnJlbnRfdGltZWxpbmUudGltZSgpLGQuY3VycmVudF9pc19uY190aW1lbGluZT1oPT09ZC5jdXJyZW50X3RpbWVsaW5lLGQuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWU9ZC5jdXJyZW50X3RpbWVsaW5lX3RpbWUpOihkLnN0YXRpY19sYXllcl90aW1lbGluZV90aW1lPWQuY3VycmVudF90aW1lbGluZV90aW1lLGQuY3VycmVudF90aW1lbGluZV90aW1lPTAsZC5jdXJyZW50X3RpbWVsaW5lJiZkLmN1cnJlbnRfdGltZWxpbmUuY2xlYXIoKSksaC5jbGVhcigpLGYuc3ZnPXZvaWQgMCE9ZC5zdmdfc3JjJiZjLmZpbmQoInN2ZyIpLGYuc3ZnJiYoZC5pZGxlc3ZnPW8oZC5zdmdfaWRsZSxuKCkpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChmLnN2ZyxkLmlkbGVzdmcuYW5pbSkpLC0xIT09ZC5ob3ZlcmZyYW1laW5kZXgmJnZvaWQgMCE9PWQuaG92ZXJmcmFtZWluZGV4JiYhYy5oYXNDbGFzcygicnMtaG92ZXItcmVhZHkiKSl7aWYoYy5hZGRDbGFzcygicnMtaG92ZXItcmVhZHkiKSxkLmhvdmVydGltZWxpbmVzPXt9LGQuaG92ZXJhbmltPXQoaixkLmZyYW1lc1tkLmhvdmVyZnJhbWVpbmRleF0udG8pLGQuaG92ZXJhbmltPXgoZC5ob3ZlcmFuaW0sZC5mcmFtZXNbZC5ob3ZlcmZyYW1laW5kZXhdLnN0eWxlKSxmLnN2Zyl7dmFyIGw9byhkLnN2Z19ob3ZlcixuKCkpO3ZvaWQgMCE9ZC5ob3ZlcmFuaW0uYW5pbS5jb2xvciYmKGwuYW5pbS5maWxsPWQuaG92ZXJhbmltLmFuaW0uY29sb3IsZC5pZGxlc3ZnLmFuaW0uY3NzLmZpbGw9Zi5zdmcuY3NzKCJmaWxsIikpLGQuaG92ZXJzdmc9bH1jLmhvdmVyKGZ1bmN0aW9uKGEpe3ZhciBiPXtjYXB0aW9uOmpRdWVyeShhLmN1cnJlbnRUYXJnZXQpLG9wdDplLGZpcnN0ZnJhbWU6ImZyYW1lXzAiLGxhc3RmcmFtZToiZnJhbWVfOTk5In0sZD0oaShiKSxiLmNhcHRpb24pLGc9ZC5kYXRhKCksaD1nLmZyYW1lc1tnLmhvdmVyZnJhbWVpbmRleF07Zy5mb3JjZWhvdmVyPWguZm9yY2UsZy5ob3ZlcnRpbWVsaW5lcy5pdGVtPXB1bmNoZ3MuVHdlZW5MaXRlLnRvKGQsaC5zcGVlZC8xZTMsZy5ob3ZlcmFuaW0uYW5pbSksKGcuaG92ZXJ6SW5kZXh8fGcuaG92ZXJhbmltLmFuaW0mJmcuaG92ZXJhbmltLmFuaW0uekluZGV4KSYmKGcuYmFzaWN6aW5kZXg9dm9pZCAwPT09Zy5iYXNpY3ppbmRleD9nLmNzc29iai56SW5kZXg6Zy5iYXNpY3ppbmRleCxnLmhvdmVyekluZGV4PXZvaWQgMD09PWcuaG92ZXJ6SW5kZXg/Zy5ob3ZlcmFuaW0uYW5pbS56SW5kZXg6Zy5ob3ZlcnpJbmRleCxnLmluaG92ZXJpbmFuaW1hdGlvbj0hMCwwPT09aC5zcGVlZCYmKGcuaW5ob3ZlcmluYW5pbWF0aW9uPSExKSxnLmhvdmVydGltZWxpbmVzLnB3aG92ZXJhbmltPXB1bmNoZ3MuVHdlZW5MaXRlLnRvKGcuX3B3LGguc3BlZWQvMWUzLHtvdmVyd3JpdGU6ImF1dG8iLHpJbmRleDpnLmhvdmVyekluZGV4fSksZy5ob3ZlcnRpbWVsaW5lcy5wd2hvdmVyYW5pbS5ldmVudENhbGxiYWNrKCJvbkNvbXBsZXRlIixmdW5jdGlvbihhKXthLmluaG92ZXJpbmFuaW1hdGlvbj0hMX0sW2ddKSksZi5zdmcmJihnLmhvdmVydGltZWxpbmVzLnN2Z2hvdmVyYW5pbT1wdW5jaGdzLlR3ZWVuTGl0ZS50byhbZi5zdmcsZi5zdmcuZmluZCgicGF0aCIpXSxoLnNwZWVkLzFlMyxnLmhvdmVyc3ZnLmFuaW0pKSxnLmhvdmVyZWRzdGF0dXM9ITB9LGZ1bmN0aW9uKGEpe3ZhciBiPXtjYXB0aW9uOmpRdWVyeShhLmN1cnJlbnRUYXJnZXQpLG9wdDplLGZpcnN0ZnJhbWU6ImZyYW1lXzAiLGxhc3RmcmFtZToiZnJhbWVfOTk5In0sZD0oaShiKSxiLmNhcHRpb24pLGc9ZC5kYXRhKCksaD1nLmZyYW1lc1tnLmhvdmVyZnJhbWVpbmRleF07Zy5ob3ZlcmVkc3RhdHVzPSExLGcuaW5ob3Zlcm91dGFuaW1hdGlvbj0hMCxnLmhvdmVydGltZWxpbmVzLml0ZW0ucGF1c2UoKSxnLmhvdmVydGltZWxpbmVzLml0ZW09cHVuY2hncy5Ud2VlbkxpdGUudG8oZCxoLnNwZWVkLzFlMyxqUXVlcnkuZXh0ZW5kKCEwLHt9LGcuX2dzVHJhbnNmb3JtVG8pKSwwPT1oLnNwZWVkJiYoZy5pbmhvdmVyb3V0YW5pbWF0aW9uPSExKSxnLmhvdmVydGltZWxpbmVzLml0ZW0uZXZlbnRDYWxsYmFjaygib25Db21wbGV0ZSIsZnVuY3Rpb24oYSl7YS5pbmhvdmVyb3V0YW5pbWF0aW9uPSExfSxbZ10pLHZvaWQgMCE9PWcuaG92ZXJ0aW1lbGluZXMucHdob3ZlcmFuaW0mJihnLmhvdmVydGltZWxpbmVzLnB3aG92ZXJhbmltPXB1bmNoZ3MuVHdlZW5MaXRlLnRvKGcuX3B3LGguc3BlZWQvMWUzLHtvdmVyd3JpdGU6ImF1dG8iLHpJbmRleDpnLmJhc2ljemluZGV4fSkpLGYuc3ZnJiZwdW5jaGdzLlR3ZWVuTGl0ZS50byhbZi5zdmcsZi5zdmcuZmluZCgicGF0aCIpXSxoLnNwZWVkLzFlMyxnLmlkbGVzdmcuYW5pbSl9KX1mb3IodmFyIG09MDttPGQuZnJhbWVzLmxlbmd0aDttKyspaWYobSE9PWQuaG92ZXJmcmFtZWluZGV4KXt2YXIgcD1tPT09ZC5pbmZyYW1laW5kZXg/ImZyYW1lXzAiOm09PT1kLm91dGZyYW1laW5kZXh8fCJmcmFtZV85OTkiPT09ZC5mcmFtZXNbbV0uZnJhbWU/ImZyYW1lXzk5OSI6ImZyYW1lXyIrbTtkLmZyYW1lc1ttXS5mcmFtZW5hbWU9cCxnW3BdPXt9LGdbcF0udGltZWxpbmU9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlKHthbGlnbjoibm9ybWFsIn0pO3ZhciByPWQuZnJhbWVzW21dLmRlbGF5LHU9KGQudHJpZ2dlcmVkX3N0YXJ0c3RhdHVzLHZvaWQgMCE9PXI/alF1ZXJ5LmluQXJyYXkocixbInNsaWRlZW50ZXIiLCJieXRyaWdnZXIiLCJ3YWl0Il0pPj0wP3I6cGFyc2VJbnQociwwKS8xZTM6IndhaXQiKTt2b2lkIDAhPT1nLmZpcnN0c2xpZGUmJiJmcmFtZV8wIj09PXAmJihoLmFkZExhYmVsKCJzbGlkZV8iK2cuZmlyc3RzbGlkZSsiX3BhdXNlIiwwKSxoLmFkZFBhdXNlKCJzbGlkZV8iK2cuZmlyc3RzbGlkZSsiX3BhdXNlIiksaC5hZGRMYWJlbCgic2xpZGVfIitnLmZpcnN0c2xpZGUsIis9MC4wMDUiKSksdm9pZCAwIT09Zy5sYXN0c2xpZGUmJiJmcmFtZV85OTkiPT09cCYmKGguYWRkTGFiZWwoInNsaWRlXyIrZy5sYXN0c2xpZGUrIl9wYXVzZSIsIis9MC4wMSIpLGguYWRkUGF1c2UoInNsaWRlXyIrZy5sYXN0c2xpZGUrIl9wYXVzZSIpLGguYWRkTGFiZWwoInNsaWRlXyIrZy5sYXN0c2xpZGUsIis9MC4wMDUiKSksalF1ZXJ5LmlzTnVtZXJpYyh1KT9oLmFkZExhYmVsKHAsIis9Iit1KTooaC5hZGRMYWJlbCgicGF1c2VfIittLCIrPTAuMDEiKSxoLmFkZFBhdXNlKCJwYXVzZV8iK20pLGguYWRkTGFiZWwocCwiKz0wLjAxIikpLGg9Yi5jcmVhdGVGcmFtZU9uVGltZWxpbmUoe2NhcHRpb246YS5jYXB0aW9uLHRpbWVsaW5lOmgsbGFiZWw6cCxmcmFtZWluZGV4Om0sb3B0OmV9KX1hLnJlZ2VuZXJhdGV8fChkLmN1cnJlbnRfaXNfbmNfdGltZWxpbmUmJihkLmN1cnJlbnRfdGltZWxpbmU9aCksZC5jdXJyZW50X3RpbWVsaW5lX3BhdXNlP2gucGF1c2UoZC5jdXJyZW50X3RpbWVsaW5lX3RpbWUpOmgudGltZShkLmN1cnJlbnRfdGltZWxpbmVfdGltZSkpfX0sY3JlYXRlRnJhbWVPblRpbWVsaW5lOmZ1bmN0aW9uKGEpe3ZhciBiPWEuY2FwdGlvbixjPWIuZGF0YSgpLGQ9YS5sYWJlbCxlPWEudGltZWxpbmUsaT1hLmZyYW1laW5kZXgsaj1hLm9wdCxuPWIsbz17fSxxPWoudGltZWxpbmVzW2MuX3NsaWRlaWRdLmxheWVyc1tjLl9pZF0scj1jLmZyYW1lcy5sZW5ndGgtMSx2PWMuZnJhbWVzW2ldLnNwbGl0LHc9Yy5mcmFtZXNbaV0uc3BsaXRfZGlyZWN0aW9uLHg9Yy5mcmFtZXNbaV0uc2Z4X2VmZmVjdCx5PSExO2lmKHc9dm9pZCAwPT09dz8iZm9yd2FyZCI6dywtMSE9PWMuaG92ZXJmcmFtZWluZGV4JiZjLmhvdmVyZnJhbWVpbmRleD09ciYmKHItPTEpLG8uY29udGVudD1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUoe2FsaWduOiJub3JtYWwifSksby5tYXNrPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZSh7YWxpZ246Im5vcm1hbCJ9KSx2b2lkIDA9PT1lLnZhcnMuaWQmJihlLnZhcnMuaWQ9TWF0aC5yb3VuZCgxZTUqTWF0aC5yYW5kb20oKSkpLCJjb2x1bW4iPT09Yy5fbmN0eXBlJiYoZS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMuX2NiZ2NfbWFuLHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLGQpLGUuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLl9jYmdjX2F1dG8se3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxkKSksYy5zcGxpdHRleHQmJjA9PT1pKXt2b2lkIDAhPT1jLm15U3BsaXRUZXh0JiZjLm15U3BsaXRUZXh0LnJldmVydCgpO3ZhciB6PWIuZmluZCgiYSIpLmxlbmd0aD4wP2IuZmluZCgiYSIpOmI7Yy5teVNwbGl0VGV4dD1uZXcgcHVuY2hncy5TcGxpdFRleHQoeix7dHlwZToiY2hhcnMsd29yZHMsbGluZXMiLGNoYXJzQ2xhc3M6InRwLXNwbGl0dGVkIHRwLWNoYXJzcGxpdCIsd29yZHNDbGFzczoidHAtc3BsaXR0ZWQgdHAtd29yZHNwbGl0IixsaW5lc0NsYXNzOiJ0cC1zcGxpdHRlZCB0cC1saW5lc3BsaXQifSksYi5hZGRDbGFzcygic3BsaXR0ZWQiKX12b2lkIDAhPT1jLm15U3BsaXRUZXh0JiZ2JiZ2Lm1hdGNoKC9jaGFyc3x3b3Jkc3xsaW5lcy9nKSYmKG49Yy5teVNwbGl0VGV4dFt2XSx5PSEwKTt2YXIgRCxFLEE9aSE9PWMub3V0ZnJhbWVpbmRleD90KG0oKSxjLmZyYW1lc1tpXS50byx2b2lkIDAseSxuLmxlbmd0aC0xKTp2b2lkIDAhPT1jLmZyYW1lc1tpXS50byYmbnVsbD09PWMuZnJhbWVzW2ldLnRvLm1hdGNoKC9hdXRvOmF1dG8vZyk/dChwKCksYy5mcmFtZXNbaV0udG8sMT09ai5zZGlyLHksbi5sZW5ndGgtMSk6dChwKCksYy5mcmFtZXNbYy5pbmZyYW1laW5kZXhdLmZyb20sMD09ai5zZGlyLHksbi5sZW5ndGgtMSksQj12b2lkIDAhPT1jLmZyYW1lc1tpXS5mcm9tP3QoQSxjLmZyYW1lc1tjLmluZnJhbWVpbmRleF0uZnJvbSwxPT1qLnNkaXIseSxuLmxlbmd0aC0xKTp2b2lkIDAsQz1jLmZyYW1lc1tpXS5zcGxpdGRlbGF5O2lmKDAhPT1pfHxhLmZyb21jdXJyZW50c3RhdGU/RT11KGMuZnJhbWVzW2ldLm1hc2spOkQ9dShjLmZyYW1lc1tpXS5tYXNrKSxBLmFuaW0uZWFzZT12b2lkIDA9PT1jLmZyYW1lc1tpXS5lYXNlP3B1bmNoZ3MuUG93ZXIxLmVhc2VJbk91dDpjLmZyYW1lc1tpXS5lYXNlLHZvaWQgMCE9PUImJihCLmFuaW0uZWFzZT12b2lkIDA9PT1jLmZyYW1lc1tpXS5lYXNlP3B1bmNoZ3MuUG93ZXIxLmVhc2VJbk91dDpjLmZyYW1lc1tpXS5lYXNlLEIuc3BlZWQ9dm9pZCAwPT09Yy5mcmFtZXNbaV0uc3BlZWQ/Qi5zcGVlZDpjLmZyYW1lc1tpXS5zcGVlZCxCLmFuaW0ueD1CLmFuaW0ueCpqLmJ3fHxzKEIuYW5pbS54LGosYy5lb3csYy5lb2gsYy5jYWxjeSxjLmNhbGN4LCJob3Jpem9udGFsIiksQi5hbmltLnk9Qi5hbmltLnkqai5id3x8cyhCLmFuaW0ueSxqLGMuZW93LGMuZW9oLGMuY2FsY3ksYy5jYWxjeCwidmVydGljYWwiKSksdm9pZCAwIT09QSYmKEEuYW5pbS5lYXNlPXZvaWQgMD09PWMuZnJhbWVzW2ldLmVhc2U/cHVuY2hncy5Qb3dlcjEuZWFzZUluT3V0OmMuZnJhbWVzW2ldLmVhc2UsQS5zcGVlZD12b2lkIDA9PT1jLmZyYW1lc1tpXS5zcGVlZD9BLnNwZWVkOmMuZnJhbWVzW2ldLnNwZWVkLEEuYW5pbS54PUEuYW5pbS54KmouYnd8fHMoQS5hbmltLngsaixjLmVvdyxjLmVvaCxjLmNhbGN5LGMuY2FsY3gsImhvcml6b250YWwiKSxBLmFuaW0ueT1BLmFuaW0ueSpqLmJ3fHxzKEEuYW5pbS55LGosYy5lb3csYy5lb2gsYy5jYWxjeSxjLmNhbGN4LCJ2ZXJ0aWNhbCIpKSxiLmRhdGEoImlmcmFtZXMiKSYmZS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGIuZmluZCgiaWZyYW1lIikse2F1dG9BbHBoYToxfSksZCsiKz0wLjAwMSIpLGk9PT1jLm91dGZyYW1laW5kZXgmJihjLmZyYW1lc1tpXS50byYmYy5mcmFtZXNbaV0udG8ubWF0Y2goL2F1dG86YXV0by9nKSxBLnNwZWVkPXZvaWQgMD09PWMuZnJhbWVzW2ldLnNwZWVkfHwiaW5oZXJpdCI9PT1jLmZyYW1lc1tpXS5zcGVlZD9jLmZyYW1lc1tjLmluZnJhbWVpbmRleF0uc3BlZWQ6Yy5mcmFtZXNbaV0uc3BlZWQsQS5hbmltLmVhc2U9dm9pZCAwPT09Yy5mcmFtZXNbaV0uZWFzZXx8ImluaGVyaXQiPT09Yy5mcmFtZXNbaV0uZWFzZT9jLmZyYW1lc1tjLmluZnJhbWVpbmRleF0uZWFzZTpjLmZyYW1lc1tpXS5lYXNlLEEuYW5pbS5vdmVyd3JpdGU9ImF1dG8iKSwwIT09aXx8YS5mcm9tY3VycmVudHN0YXRlKTA9PT1pJiZhLmZyb21jdXJyZW50c3RhdGUmJihBLnNwZWVkPUIuc3BlZWQpO2Vsc2V7aWYobiE9Yil7dmFyIEY9alF1ZXJ5LmV4dGVuZCh7fSxBLmFuaW0sITApO2UuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChiLEEuYW5pbSksZCksQT1tKCksQS5lYXNlPUYuZWFzZSx2b2lkIDAhPT1GLmZpbHRlciYmKEEuYW5pbS5maWx0ZXI9Ri5maWx0ZXIpLHZvaWQgMCE9PUZbIi13ZWJraXQtZmlsdGVyIl0mJihBLmFuaW1bIi13ZWJraXQtZmlsdGVyIl09RlsiLXdlYmtpdC1maWx0ZXIiXSl9Qi5hbmltLnZpc2liaWxpdHk9ImhpZGRlbiIsQi5hbmltLmltbWVkaWF0ZVJlbmRlcj0hMCxBLmFuaW0udmlzaWJpbGl0eT0idmlzaWJsZSJ9YS5mcm9tY3VycmVudHN0YXRlJiYoQS5hbmltLmltbWVkaWF0ZVJlbmRlcj0hMCk7dmFyIEc9LTE7aWYoMD09PWkmJiFhLmZyb21jdXJyZW50c3RhdGUmJnZvaWQgMCE9PWMuX2JtYXNrJiZ2b2lkIDAhPT14JiZ4LmluZGV4T2YoImJsb2NrIik+PTB8fGk9PT1jLm91dGZyYW1laW5kZXgmJiFhLmZyb21jdXJyZW50c3RhdGUmJnZvaWQgMCE9PWMuX2JtYXNrJiZ2b2lkIDAhPT14JiZ4LmluZGV4T2YoImJsb2NrIik+PTApe3ZhciBIPTA9PT1pP0Iuc3BlZWQvMWUzLzI6QS5zcGVlZC8xZTMvMixJPVt7c2NhbGVZOjEsc2NhbGVYOjAsdHJhbnNmb3JtT3JpZ2luOiIwJSA1MCUifSx7c2NhbGVZOjEsc2NhbGVYOjEsZWFzZTpBLmFuaW0uZWFzZX1dLEo9e3NjYWxlWToxLHNjYWxlWDowLHRyYW5zZm9ybU9yaWdpbjoiMTAwJSA1MCUiLGVhc2U6QS5hbmltLmVhc2V9O3N3aXRjaChHPXZvaWQgMD09PUM/SDpDK0gseCl7Y2FzZSJibG9ja3RvbGVmdCI6Y2FzZSJibG9ja2Zyb21yaWdodCI6SVswXS50cmFuc2Zvcm1PcmlnaW49IjEwMCUgNTAlIixKLnRyYW5zZm9ybU9yaWdpbj0iMCUgNTAlIjticmVhaztjYXNlImJsb2NrZnJvbXRvcCI6Y2FzZSJibG9ja3RvYm90dG9tIjpJPVt7c2NhbGVYOjEsc2NhbGVZOjAsdHJhbnNmb3JtT3JpZ2luOiI1MCUgMCUifSx7c2NhbGVYOjEsc2NhbGVZOjEsZWFzZTpBLmFuaW0uZWFzZX1dLEo9e3NjYWxlWDoxLHNjYWxlWTowLHRyYW5zZm9ybU9yaWdpbjoiNTAlIDEwMCUiLGVhc2U6QS5hbmltLmVhc2V9O2JyZWFrO2Nhc2UiYmxvY2t0b3RvcCI6Y2FzZSJibG9ja2Zyb21ib3R0b20iOkk9W3tzY2FsZVg6MSxzY2FsZVk6MCx0cmFuc2Zvcm1PcmlnaW46IjUwJSAxMDAlIn0se3NjYWxlWDoxLHNjYWxlWToxLGVhc2U6QS5hbmltLmVhc2V9XSxKPXtzY2FsZVg6MSxzY2FsZVk6MCx0cmFuc2Zvcm1PcmlnaW46IjUwJSAwJSIsZWFzZTpBLmFuaW0uZWFzZX19SVswXS5iYWNrZ3JvdW5kPWMuZnJhbWVzW2ldLnNmeGNvbG9yLGUuYWRkKG8ubWFzay5mcm9tVG8oYy5fYm1hc2ssSCxJWzBdLElbMV0sQyksZCksZS5hZGQoby5tYXNrLnRvKGMuX2JtYXNrLEgsSixHKSxkKX1pZih5KXZhciBLPWsobi5sZW5ndGgtMSx3KTtpZigwIT09aXx8YS5mcm9tY3VycmVudHN0YXRlKWlmKCJibG9jayI9PT1jLl9zZnhfb3V0JiZpPT09Yy5vdXRmcmFtZWluZGV4KWUuYWRkKG8uY29udGVudC5zdGFnZ2VyVG8obiwuMDAxLHthdXRvQWxwaGE6MCxkZWxheTpHfSksZCksZS5hZGQoby5jb250ZW50LnN0YWdnZXJUbyhuLEEuc3BlZWQvMWUzLzItLjAwMSx7eDowLGRlbGF5Okd9KSxkKyIrPTAuMDAxIik7ZWxzZSBpZih5JiZ2b2lkIDAhPT1LKXt2YXIgTD17dG86bChBLmFuaW0pfTtmb3IodmFyIE0gaW4gbil7dmFyIE89alF1ZXJ5LmV4dGVuZCh7fSxBLmFuaW0pO2Zvcih2YXIgUCBpbiBMLnRvKU9bUF09cGFyc2VJbnQoTC50b1tQXS52YWx1ZXNbTC50b1tQXS5pbmRleF0sMCksTC50b1tQXS5pbmRleD1MLnRvW1BdLmluZGV4PEwudG9bUF0ubGVuP0wudG9bUF0uaW5kZXgrMTowO3ZvaWQgMCE9PWMuZnJhbWVzW2ldLmNvbG9yJiYoTy5jb2xvcj1jLmZyYW1lc1tpXS5jb2xvciksdm9pZCAwIT09Yy5mcmFtZXNbaV0uYmdjb2xvciYmKE8uYmFja2dyb3VuZENvbG9yPWMuZnJhbWVzW2ldLmJnY29sb3IpLGUuYWRkKG8uY29udGVudC50byhuW0tbTV1dLEEuc3BlZWQvMWUzLE8sQypNKSxkKX19ZWxzZSB2b2lkIDAhPT1jLmZyYW1lc1tpXS5jb2xvciYmKEEuYW5pbS5jb2xvcj1jLmZyYW1lc1tpXS5jb2xvciksdm9pZCAwIT09Yy5mcmFtZXNbaV0uYmdjb2xvciYmKEEuYW5pbS5iYWNrZ3JvdW5kQ29sb3I9Yy5mcmFtZXNbaV0uYmdjb2xvciksZS5hZGQoby5jb250ZW50LnN0YWdnZXJUbyhuLEEuc3BlZWQvMWUzLEEuYW5pbSxDKSxkKTtlbHNlIGlmKCJibG9jayI9PT1jLl9zZnhfaW4pZS5hZGQoby5jb250ZW50LnN0YWdnZXJGcm9tVG8obiwuMDUse3g6MCx5OjAsYXV0b0FscGhhOjB9LHt4OjAseTowLGF1dG9BbHBoYToxLGRlbGF5Okd9KSxkKTtlbHNlIGlmKHkmJnZvaWQgMCE9PUspe3ZhciBMPXtmcm9tOmwoQi5hbmltKSx0bzpsKEEuYW5pbSl9O2Zvcih2YXIgTSBpbiBuKXt2YXIgTj1qUXVlcnkuZXh0ZW5kKHt9LEIuYW5pbSksTz1qUXVlcnkuZXh0ZW5kKHt9LEEuYW5pbSk7Zm9yKHZhciBQIGluIEwuZnJvbSlOW1BdPXBhcnNlSW50KEwuZnJvbVtQXS52YWx1ZXNbTC5mcm9tW1BdLmluZGV4XSwwKSxMLmZyb21bUF0uaW5kZXg9TC5mcm9tW1BdLmluZGV4PEwuZnJvbVtQXS5sZW4/TC5mcm9tW1BdLmluZGV4KzE6MDtPLmVhc2U9Ti5lYXNlLHZvaWQgMCE9PWMuZnJhbWVzW2ldLmNvbG9yJiYoTi5jb2xvcj1jLmZyYW1lc1tpXS5jb2xvcixPLmNvbG9yPWMuY3Nzb2JqLnN0eWxlUHJvcHMuY29sb3IpLHZvaWQgMCE9PWMuZnJhbWVzW2ldLmJnY29sb3ImJihOLmJhY2tncm91bmRDb2xvcj1jLmZyYW1lc1tpXS5iZ2NvbG9yLE8uYmFja2dyb3VuZENvbG9yPWMuY3Nzb2JqLnN0eWxlUHJvcHNbImJhY2tncm91bmQtY29sb3IiXSksZS5hZGQoby5jb250ZW50LmZyb21UbyhuW0tbTV1dLEIuc3BlZWQvMWUzLE4sTyxDKk0pLGQpfX1lbHNlIHZvaWQgMCE9PWMuZnJhbWVzW2ldLmNvbG9yJiYoQi5hbmltLmNvbG9yPWMuZnJhbWVzW2ldLmNvbG9yLEEuYW5pbS5jb2xvcj1jLmNzc29iai5zdHlsZVByb3BzLmNvbG9yKSx2b2lkIDAhPT1jLmZyYW1lc1tpXS5iZ2NvbG9yJiYoQi5hbmltLmJhY2tncm91bmRDb2xvcj1jLmZyYW1lc1tpXS5iZ2NvbG9yLEEuYW5pbS5iYWNrZ3JvdW5kQ29sb3I9Yy5jc3NvYmouc3R5bGVQcm9wc1siYmFja2dyb3VuZC1jb2xvciJdKSxlLmFkZChvLmNvbnRlbnQuc3RhZ2dlckZyb21UbyhuLEIuc3BlZWQvMWUzLEIuYW5pbSxBLmFuaW0sQyksZCk7cmV0dXJuIHZvaWQgMD09PUV8fCExPT09RXx8MD09PWkmJmEuaWdub3JlZmlyc3RmcmFtZXx8KEUuYW5pbS5lYXNlPXZvaWQgMD09PUUuYW5pbS5lYXNlfHwiaW5oZXJpdCI9PT1FLmFuaW0uZWFzZT9jLmZyYW1lc1swXS5lYXNlOkUuYW5pbS5lYXNlLEUuYW5pbS5vdmVyZmxvdz0iaGlkZGVuIixFLmFuaW0ueD1FLmFuaW0ueCpqLmJ3fHxzKEUuYW5pbS54LGosYy5lb3csYy5lb2gsYy5jYWxjeSxjLmNhbGN4LCJob3Jpem9udGFsIiksRS5hbmltLnk9RS5hbmltLnkqai5id3x8cyhFLmFuaW0ueSxqLGMuZW93LGMuZW9oLGMuY2FsY3ksYy5jYWxjeCwidmVydGljYWwiKSksMD09PWkmJkQmJiExIT09RCYmIWEuZnJvbWN1cnJlbnRzdGF0ZXx8MD09PWkmJmEuaWdub3JlZmlyc3RmcmFtZT8oRT1uZXcgT2JqZWN0LEUuYW5pbT1uZXcgT2JqZWN0LEUuYW5pbS5vdmVyd3JpdGU9ImF1dG8iLEUuYW5pbS5lYXNlPUEuYW5pbS5lYXNlLEUuYW5pbS54PUUuYW5pbS55PTAsRCYmITEhPT1EJiYoRC5hbmltLng9RC5hbmltLngqai5id3x8cyhELmFuaW0ueCxqLGMuZW93LGMuZW9oLGMuY2FsY3ksYy5jYWxjeCwiaG9yaXpvbnRhbCIpLEQuYW5pbS55PUQuYW5pbS55KmouYnd8fHMoRC5hbmltLnksaixjLmVvdyxjLmVvaCxjLmNhbGN5LGMuY2FsY3gsInZlcnRpY2FsIiksRC5hbmltLm92ZXJmbG93PSJoaWRkZW4iKSk6MD09PWkmJmUuYWRkKG8ubWFzay5zZXQoYy5fbXcse292ZXJmbG93OiJ2aXNpYmxlIn0pLGQpLHZvaWQgMCE9PUQmJnZvaWQgMCE9PUUmJiExIT09RCYmITEhPT1FP2UuYWRkKG8ubWFzay5mcm9tVG8oYy5fbXcsQi5zcGVlZC8xZTMsRC5hbmltLEUuYW5pbSxDKSxkKTp2b2lkIDAhPT1FJiYhMSE9PUUmJmUuYWRkKG8ubWFzay50byhjLl9tdyxBLnNwZWVkLzFlMyxFLmFuaW0sQyksZCksZS5hZGRMYWJlbChkKyJfZW5kIiksYy5fZ3NUcmFuc2Zvcm1UbyYmaT09PXImJmMuaG92ZXJlZHN0YXR1cyYmKGMuaG92ZXJ0aW1lbGluZXMuaXRlbT1wdW5jaGdzLlR3ZWVuTGl0ZS50byhiLDAsYy5fZ3NUcmFuc2Zvcm1UbykpLGMuX2dzVHJhbnNmb3JtVG89ITEsby5jb250ZW50LmV2ZW50Q2FsbGJhY2soIm9uU3RhcnQiLGYsW2kscSxjLl9wdyxjLGUsQS5hbmltLGIsYS51cGRhdGVTdGF0aWNUaW1lbGluZSxqXSksby5jb250ZW50LmV2ZW50Q2FsbGJhY2soIm9uVXBkYXRlIixnLFtkLGMuX2lkLGMuX3B3LGMsZSxpLGpRdWVyeS5leHRlbmQoITAse30sQS5hbmltKSxhLnVwZGF0ZVN0YXRpY1RpbWVsaW5lLGIsal0pLG8uY29udGVudC5ldmVudENhbGxiYWNrKCJvbkNvbXBsZXRlIixoLFtpLGMuZnJhbWVzLmxlbmd0aCxyLGMuX3B3LGMsZSxhLnVwZGF0ZVN0YXRpY1RpbWVsaW5lLGIsal0pLGV9LGVuZE1vdmVDYXB0aW9uOmZ1bmN0aW9uKGEpe2EuZmlyc3RmcmFtZT0iZnJhbWVfMCIsYS5sYXN0ZnJhbWU9ImZyYW1lXzk5OSI7dmFyIGM9aShhKSxkPWEuY2FwdGlvbi5kYXRhKCk7aWYodm9pZCAwIT09YS5mcmFtZT9jLnRpbWVsaW5lLnBsYXkoYS5mcmFtZSk6KCFjLnN0YXRpY3x8YS5jdXJyZW50c2xpZGU+PWMucmVtb3Zlb25zbGlkZXx8YS5jdXJyZW50c2xpZGU8Yy5zaG93b25zbGlkZSkmJihjLm91dG5vdz1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsYy50aW1lbGluZS5wYXVzZSgpLCEwPT09ZC52aXNpYmxlZWxlbWVudCYmYi5jcmVhdGVGcmFtZU9uVGltZWxpbmUoe2NhcHRpb246YS5jYXB0aW9uLHRpbWVsaW5lOmMub3V0bm93LGxhYmVsOiJvdXRub3ciLGZyYW1laW5kZXg6YS5jYXB0aW9uLmRhdGEoIm91dGZyYW1laW5kZXgiKSxvcHQ6YS5vcHQsZnJvbWN1cnJlbnRzdGF0ZTohMH0pLnBsYXkoKSksYS5jaGVja2NoaWxkcmVucyYmYy50aW1lbGluZV9vYmomJmMudGltZWxpbmVfb2JqLmRjaGlsZHJlbiYmIm5vbmUiIT09Yy50aW1lbGluZV9vYmouZGNoaWxkcmVuJiZjLnRpbWVsaW5lX29iai5kY2hpbGRyZW4ubGVuZ3RoPjApZm9yKHZhciBlPTA7ZTxjLnRpbWVsaW5lX29iai5kY2hpbGRyZW4ubGVuZ3RoO2UrKyliLmVuZE1vdmVDYXB0aW9uKHtjYXB0aW9uOmpRdWVyeShjLnRpbWVsaW5lX29iai5kY2hpbGRyZW5bZV0pLG9wdDphLm9wdH0pfSxwbGF5QW5pbWF0aW9uRnJhbWU6ZnVuY3Rpb24oYSl7YS5maXJzdGZyYW1lPWEudHJpZ2dlcmZyYW1laW4sYS5sYXN0ZnJhbWU9YS50cmlnZ2VyZnJhbWVvdXQ7dmFyIGUsYz1pKGEpLGQ9YS5jYXB0aW9uLmRhdGEoKSxmPTA7Zm9yKHZhciBnIGluIGQuZnJhbWVzKWQuZnJhbWVzW2ddLmZyYW1lbmFtZT09PWEuZnJhbWUmJihlPWYpLGYrKzt2b2lkIDAhPT1kLnRyaWdnZXJlZHRpbWVsaW5lJiZkLnRyaWdnZXJlZHRpbWVsaW5lLnBhdXNlKCksZC50cmlnZ2VyZWR0aW1lbGluZT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsYy50aW1lbGluZS5wYXVzZSgpO3ZhciBoPSEwPT09ZC52aXNpYmxlZWxlbWVudDtkLnRyaWdnZXJlZHRpbWVsaW5lPWIuY3JlYXRlRnJhbWVPblRpbWVsaW5lKHtjYXB0aW9uOmEuY2FwdGlvbix0aW1lbGluZTpkLnRyaWdnZXJlZHRpbWVsaW5lLGxhYmVsOiJ0cmlnZ2VyZWQiLGZyYW1laW5kZXg6ZSx1cGRhdGVTdGF0aWNUaW1lbGluZTohMCxvcHQ6YS5vcHQsaWdub3JlZmlyc3RmcmFtZTohMCxmcm9tY3VycmVudHN0YXRlOmh9KS5wbGF5KCl9LHJlbW92ZVRoZUNhcHRpb25zOmZ1bmN0aW9uKGEsYyl7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZSkuY2hlY2spcmV0dXJuITE7dmFyIGY9YS5kYXRhKCJpbmRleCIpLGc9bmV3IEFycmF5O2MubGF5ZXJzW2ZdJiZqUXVlcnkuZWFjaChjLmxheWVyc1tmXSxmdW5jdGlvbihhLGIpe2cucHVzaChiKX0pO3ZhciBoPWIuY3VycmVudFNsaWRlSW5kZXgoYyk7ZyYmalF1ZXJ5LmVhY2goZyxmdW5jdGlvbihhKXt2YXIgZD1qUXVlcnkodGhpcyk7ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZSYmIm9uIj09PWMuY2Fyb3VzZWwuc2hvd0xheWVyc0FsbFRpbWU/KGNsZWFyVGltZW91dChkLmRhdGEoInZpZGVvcGxheXdhaXQiKSksYi5zdG9wVmlkZW8mJmIuc3RvcFZpZGVvKGQsYyksYi5yZW1vdmVNZWRpYUZyb21MaXN0JiZiLnJlbW92ZU1lZGlhRnJvbUxpc3QoZCxjKSxjLmxhc3RwbGF5ZWR2aWRlb3M9W10pOihFKGQpLGNsZWFyVGltZW91dChkLmRhdGEoInZpZGVvcGxheXdhaXQiKSksYi5lbmRNb3ZlQ2FwdGlvbih7Y2FwdGlvbjpkLG9wdDpjLGN1cnJlbnRzbGlkZTpofSksYi5yZW1vdmVNZWRpYUZyb21MaXN0JiZiLnJlbW92ZU1lZGlhRnJvbUxpc3QoZCxjKSxjLmxhc3RwbGF5ZWR2aWRlb3M9W10pfSl9fSk7dmFyIGY9ZnVuY3Rpb24oYSxjLGQsZSxmLGcsaCxpLGope3ZhciBrPXt9O2lmKGsubGF5ZXI9aCxrLmV2ZW50dHlwZT0wPT09YT8iZW50ZXJzdGFnZSI6YT09PWUub3V0ZnJhbWVpbmRleD8ibGVhdmVzdGFnZSI6ImZyYW1lc3RhcnRlZCIsay5sYXllcnR5cGU9aC5kYXRhKCJsYXllcnR5cGUiKSxlLmFjdGl2ZT0hMCxrLmZyYW1lX2luZGV4PWEsay5sYXllcnNldHRpbmdzPWguZGF0YSgpLGouYy50cmlnZ2VyKCJyZXZvbHV0aW9uLmxheWVyYWN0aW9uIixba10pLCJvbiI9PWUubG9vcGFuaW1hdGlvbiYmRChlLl9sdyxqLmJ3KSwiZW50ZXJzdGFnZSI9PT1rLmV2ZW50dHlwZSYmKGUuYW5pbWRpcmVjdGlvbj0iaW4iLGUudmlzaWJsZWVsZW1lbnQ9ITAsYi50b2dnbGVTdGF0ZShlLmxheWVydG9nZ2xlZGJ5KSksIm5vbmUiIT09Yy5kY2hpbGRyZW4mJnZvaWQgMCE9PWMuZGNoaWxkcmVuJiZjLmRjaGlsZHJlbi5sZW5ndGg+MClpZigwPT09YSlmb3IodmFyIGw9MDtsPGMuZGNoaWxkcmVuLmxlbmd0aDtsKyspalF1ZXJ5KGMuZGNoaWxkcmVuW2xdKS5kYXRhKCJ0aW1lbGluZSIpLnBsYXkoMCk7ZWxzZSBpZihhPT09ZS5vdXRmcmFtZWluZGV4KWZvcih2YXIgbD0wO2w8Yy5kY2hpbGRyZW4ubGVuZ3RoO2wrKyliLmVuZE1vdmVDYXB0aW9uKHtjYXB0aW9uOmpRdWVyeShjLmRjaGlsZHJlbltsXSksb3B0OmosY2hlY2tjaGlsZHJlbnM6ITB9KTtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZCx7dmlzaWJpbGl0eToidmlzaWJsZSJ9KSxlLmN1cnJlbnRfZnJhbWU9YSxlLmN1cnJlbnRfdGltZWxpbmU9ZixlLmN1cnJlbnRfdGltZWxpbmVfdGltZT1mLnRpbWUoKSxpJiYoZS5zdGF0aWNfbGF5ZXJfdGltZWxpbmVfdGltZT1lLmN1cnJlbnRfdGltZWxpbmVfdGltZSksZS5sYXN0X2ZyYW1lX3N0YXJ0ZWQ9YX0sZz1mdW5jdGlvbihhLGIsYyxkLGUsZixnLGgsaSxqKXsiY29sdW1uIj09PWQuX25jdHlwZSYmQyhpLGopLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLGQuY3VycmVudF9mcmFtZT1mLGQuY3VycmVudF90aW1lbGluZT1lLGQuY3VycmVudF90aW1lbGluZV90aW1lPWUudGltZSgpLGgmJihkLnN0YXRpY19sYXllcl90aW1lbGluZV90aW1lPWQuY3VycmVudF90aW1lbGluZV90aW1lKSx2b2lkIDAhPT1kLmhvdmVyYW5pbSYmITE9PT1kLl9nc1RyYW5zZm9ybVRvJiYoZC5fZ3NUcmFuc2Zvcm1Ubz1nLGQuX2dzVHJhbnNmb3JtVG8mJmQuX2dzVHJhbnNmb3JtVG8uc3RhcnRBdCYmZGVsZXRlIGQuX2dzVHJhbnNmb3JtVG8uc3RhcnRBdCx2b2lkIDA9PT1kLmNzc29iai5zdHlsZVByb3BzLmNzcz9kLl9nc1RyYW5zZm9ybVRvPWpRdWVyeS5leHRlbmQoITAse30sZC5jc3NvYmouc3R5bGVQcm9wcyxkLl9nc1RyYW5zZm9ybVRvKTpkLl9nc1RyYW5zZm9ybVRvPWpRdWVyeS5leHRlbmQoITAse30sZC5jc3NvYmouc3R5bGVQcm9wcy5jc3MsZC5fZ3NUcmFuc2Zvcm1UbykpLGQudmlzaWJsZWVsZW1lbnQ9ITB9LGg9ZnVuY3Rpb24oYSxjLGQsZSxmLGcsaCxpLGope3ZhciBrPXt9O2subGF5ZXI9aSxrLmV2ZW50dHlwZT0wPT09YT8iZW50ZXJlZHN0YWdlIjphPT09Yy0xfHxhPT09ZD8ibGVmdHN0YWdlIjoiZnJhbWVlbmRlZCIsay5sYXllcnR5cGU9aS5kYXRhKCJsYXllcnR5cGUiKSxrLmxheWVyc2V0dGluZ3M9aS5kYXRhKCksai5jLnRyaWdnZXIoInJldm9sdXRpb24ubGF5ZXJhY3Rpb24iLFtrXSksImxlZnRzdGFnZSIhPT1rLmV2ZW50dHlwZSYmYi5hbmltY29tcGxldGVkKGksaiksImxlZnRzdGFnZSI9PT1rLmV2ZW50dHlwZSYmYi5zdG9wVmlkZW8mJmIuc3RvcFZpZGVvKGksaiksImNvbHVtbiI9PT1mLl9uY3R5cGUmJihwdW5jaGdzLlR3ZWVuTGl0ZS50byhmLl9jYmdjX21hbiwuMDEse3Zpc2liaWxpdHk6ImhpZGRlbiJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS50byhmLl9jYmdjX2F1dG8sLjAxLHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pKSwibGVmdHN0YWdlIj09PWsuZXZlbnR0eXBlJiYoZi5hY3RpdmU9ITEscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUse3Zpc2liaWxpdHk6ImhpZGRlbiIsb3ZlcndyaXRlOiJhdXRvIn0pLGYuYW5pbWRpcmVjdGlvbj0ib3V0IixmLnZpc2libGVlbGVtZW50PSExLGIudW5Ub2dnbGVTdGF0ZShmLmxheWVydG9nZ2xlZGJ5KSksZi5jdXJyZW50X2ZyYW1lPWEsZi5jdXJyZW50X3RpbWVsaW5lPWcsZi5jdXJyZW50X3RpbWVsaW5lX3RpbWU9Zy50aW1lKCksaCYmKGYuc3RhdGljX2xheWVyX3RpbWVsaW5lX3RpbWU9Zi5jdXJyZW50X3RpbWVsaW5lX3RpbWUpfSxpPWZ1bmN0aW9uKGEpe3ZhciBiPXt9O3JldHVybiBhLmZpcnN0ZnJhbWU9dm9pZCAwPT09YS5maXJzdGZyYW1lPyJmcmFtZV8wIjphLmZpcnN0ZnJhbWUsYS5sYXN0ZnJhbWU9dm9pZCAwPT09YS5sYXN0ZnJhbWU/ImZyYW1lXzk5OSI6YS5sYXN0ZnJhbWUsYi5pZD1hLmNhcHRpb24uZGF0YSgiaWQiKXx8YS5jYXB0aW9uLmF0dHIoImlkIiksYi5zbGlkZWlkPWEuY2FwdGlvbi5kYXRhKCJzbGlkZWlkIil8fGEuY2FwdGlvbi5jbG9zZXN0KCIudHAtcmV2c2xpZGVyLXNsaWRlc2xpIikuZGF0YSgiaW5kZXgiKSxiLnRpbWVsaW5lX29iaj1hLm9wdC50aW1lbGluZXNbYi5zbGlkZWlkXS5sYXllcnNbYi5pZF0sYi50aW1lbGluZT1iLnRpbWVsaW5lX29iai50aW1lbGluZSxiLmZmcz1iLnRpbWVsaW5lLmdldExhYmVsVGltZShhLmZpcnN0ZnJhbWUpLGIuZmZlPWIudGltZWxpbmUuZ2V0TGFiZWxUaW1lKGEuZmlyc3RmcmFtZSsiX2VuZCIpLGIubGZzPWIudGltZWxpbmUuZ2V0TGFiZWxUaW1lKGEubGFzdGZyYW1lKSxiLmxmZT1iLnRpbWVsaW5lLmdldExhYmVsVGltZShhLmxhc3RmcmFtZSsiX2VuZCIpLGIuY3Q9Yi50aW1lbGluZS50aW1lKCksYi5zdGF0aWM9dm9pZCAwIT1iLnRpbWVsaW5lX29iai5maXJzdHNsaWRlfHx2b2lkIDAhPWIudGltZWxpbmVfb2JqLmxhc3RzbGlkZSxiLnN0YXRpYyYmKGIuc2hvd29uc2xpZGU9Yi50aW1lbGluZV9vYmouZmlyc3RzbGlkZSxiLnJlbW92ZW9uc2xpZGU9Yi50aW1lbGluZV9vYmoubGFzdHNsaWRlKSxifSxqPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkLGI9YS5sZW5ndGg7MCE9PWI7KWQ9TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKmIpLGItPTEsYz1hW2JdLGFbYl09YVtkXSxhW2RdPWM7cmV0dXJuIGF9LGs9ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgQXJyYXk7c3dpdGNoKGIpe2Nhc2UiZm9yd2FyZCI6Y2FzZSJyYW5kb20iOmZvcih2YXIgZD0wO2Q8PWE7ZCsrKWMucHVzaChkKTsicmFuZG9tIj09PWImJihjPWooYykpO2JyZWFrO2Nhc2UiYmFja3dhcmQiOmZvcih2YXIgZD0wO2Q8PWE7ZCsrKWMucHVzaChhLWQpO2JyZWFrO2Nhc2UibWlkZGxldG9lZGdlIjp2YXIgZT1NYXRoLmNlaWwoYS8yKSxmPWUtMSxnPWUrMTtjLnB1c2goZSk7Zm9yKHZhciBkPTA7ZDxlO2QrKylmPj0wJiZjLnB1c2goZiksZzw9YSYmYy5wdXNoKGcpLGYtLSxnKys7YnJlYWs7Y2FzZSJlZGdldG9taWRkbGUiOmZvcih2YXIgZj1hLGc9MCxkPTA7ZDw9TWF0aC5mbG9vcihhLzIpO2QrKyljLnB1c2goZiksZzxmJiZjLnB1c2goZyksZi0tLGcrK31yZXR1cm4gY30sbD1mdW5jdGlvbihhKXt2YXIgYj17fTtmb3IodmFyIGMgaW4gYSkic3RyaW5nIj09dHlwZW9mIGFbY10mJmFbY10uaW5kZXhPZigifCIpPj0wJiYodm9pZCAwPT09YltjXSYmKGJbY109e2luZGV4OjB9KSxiW2NdLnZhbHVlcz1hW2NdLnJlcGxhY2UoIlsiLCIiKS5yZXBsYWNlKCJdIiwiIikuc3BsaXQoInwiKSxiW2NdLmxlbj1iW2NdLnZhbHVlcy5sZW5ndGgtMSk7cmV0dXJuIGJ9LG09ZnVuY3Rpb24oYSl7cmV0dXJuIGE9dm9pZCAwPT09YT9uZXcgT2JqZWN0OmEsYS5hbmltPXZvaWQgMD09PWEuYW5pbT9uZXcgT2JqZWN0OmEuYW5pbSxhLmFuaW0ueD12b2lkIDA9PT1hLmFuaW0ueD8wOmEuYW5pbS54LGEuYW5pbS55PXZvaWQgMD09PWEuYW5pbS55PzA6YS5hbmltLnksYS5hbmltLno9dm9pZCAwPT09YS5hbmltLno/MDphLmFuaW0ueixhLmFuaW0ucm90YXRpb25YPXZvaWQgMD09PWEuYW5pbS5yb3RhdGlvblg/MDphLmFuaW0ucm90YXRpb25YLGEuYW5pbS5yb3RhdGlvblk9dm9pZCAwPT09YS5hbmltLnJvdGF0aW9uWT8wOmEuYW5pbS5yb3RhdGlvblksYS5hbmltLnJvdGF0aW9uWj12b2lkIDA9PT1hLmFuaW0ucm90YXRpb25aPzA6YS5hbmltLnJvdGF0aW9uWixhLmFuaW0uc2NhbGVYPXZvaWQgMD09PWEuYW5pbS5zY2FsZVg/MTphLmFuaW0uc2NhbGVYLGEuYW5pbS5zY2FsZVk9dm9pZCAwPT09YS5hbmltLnNjYWxlWT8xOmEuYW5pbS5zY2FsZVksYS5hbmltLnNrZXdYPXZvaWQgMD09PWEuYW5pbS5za2V3WD8wOmEuYW5pbS5za2V3WCxhLmFuaW0uc2tld1k9dm9pZCAwPT09YS5hbmltLnNrZXdZPzA6YS5hbmltLnNrZXdZLGEuYW5pbS5vcGFjaXR5PXZvaWQgMD09PWEuYW5pbS5vcGFjaXR5PzE6YS5hbmltLm9wYWNpdHksYS5hbmltLnRyYW5zZm9ybU9yaWdpbj12b2lkIDA9PT1hLmFuaW0udHJhbnNmb3JtT3JpZ2luPyI1MCUgNTAlIjphLmFuaW0udHJhbnNmb3JtT3JpZ2luLGEuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZT12b2lkIDA9PT1hLmFuaW0udHJhbnNmb3JtUGVyc3BlY3RpdmU/NjAwOmEuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZSxhLmFuaW0ucm90YXRpb249dm9pZCAwPT09YS5hbmltLnJvdGF0aW9uPzA6YS5hbmltLnJvdGF0aW9uLGEuYW5pbS5mb3JjZTNEPXZvaWQgMD09PWEuYW5pbS5mb3JjZTNEPyJhdXRvIjphLmFuaW0uZm9yY2UzRCxhLmFuaW0uYXV0b0FscGhhPXZvaWQgMD09PWEuYW5pbS5hdXRvQWxwaGE/MTphLmFuaW0uYXV0b0FscGhhLGEuYW5pbS52aXNpYmlsaXR5PXZvaWQgMD09PWEuYW5pbS52aXNpYmlsaXR5PyJ2aXNpYmxlIjphLmFuaW0udmlzaWJpbGl0eSxhLmFuaW0ub3ZlcndyaXRlPXZvaWQgMD09PWEuYW5pbS5vdmVyd3JpdGU/ImF1dG8iOmEuYW5pbS5vdmVyd3JpdGUsYS5zcGVlZD12b2lkIDA9PT1hLnNwZWVkPy4zOmEuc3BlZWQsYS5maWx0ZXI9dm9pZCAwPT09YS5maWx0ZXI/ImJsdXIoMHB4KSBncmF5c2NhbGUoMCUpIGJyaWdodG5lc3MoMTAwJSkiOmEuZmlsdGVyLGFbIi13ZWJraXQtZmlsdGVyIl09dm9pZCAwPT09YVsiLXdlYmtpdC1maWx0ZXIiXT8iYmx1cigwcHgpIGdyYXlzY2FsZSgwJSkgYnJpZ2h0bmVzcygxMDAlKSI6YVsiLXdlYmtpdC1maWx0ZXIiXSxhfSxuPWZ1bmN0aW9uKCl7dmFyIGE9bmV3IE9iamVjdDtyZXR1cm4gYS5hbmltPW5ldyBPYmplY3QsYS5hbmltLnN0cm9rZT0ibm9uZSIsYS5hbmltLnN0cm9rZVdpZHRoPTAsYS5hbmltLnN0cm9rZURhc2hhcnJheT0ibm9uZSIsYS5hbmltLnN0cm9rZURhc2hvZmZzZXQ9IjAiLGF9LG89ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLnNwbGl0KCI7Iik7cmV0dXJuIGMmJmpRdWVyeS5lYWNoKGMsZnVuY3Rpb24oYSxjKXt2YXIgZD1jLnNwbGl0KCI6IiksZT1kWzBdLGY9ZFsxXTsic2MiPT1lJiYoYi5hbmltLnN0cm9rZT1mKSwic3ciPT1lJiYoYi5hbmltLnN0cm9rZVdpZHRoPWYpLCJzZGEiPT1lJiYoYi5hbmltLnN0cm9rZURhc2hhcnJheT1mKSwic2RvIj09ZSYmKGIuYW5pbS5zdHJva2VEYXNob2Zmc2V0PWYpfSksYn0scD1mdW5jdGlvbigpe3ZhciBhPW5ldyBPYmplY3Q7cmV0dXJuIGEuYW5pbT1uZXcgT2JqZWN0LGEuYW5pbS54PTAsYS5hbmltLnk9MCxhLmFuaW0uej0wLGF9LHE9ZnVuY3Rpb24oKXt2YXIgYT1uZXcgT2JqZWN0O3JldHVybiBhLmFuaW09bmV3IE9iamVjdCxhLnNwZWVkPS4yLGF9LHI9ZnVuY3Rpb24oYSxiLGMsZCxlKXtpZihlPXZvaWQgMD09PWU/IiI6ZSxqUXVlcnkuaXNOdW1lcmljKHBhcnNlRmxvYXQoYSkpKXJldHVybiBwYXJzZUZsb2F0KGEpK2U7aWYodm9pZCAwPT09YXx8ImluaGVyaXQiPT09YSlyZXR1cm4gYisiZXh0IjtpZihhLnNwbGl0KCJ7IikubGVuZ3RoPjEpe3ZhciBmPWEuc3BsaXQoIiwiKSxnPXBhcnNlRmxvYXQoZlsxXS5zcGxpdCgifSIpWzBdKTtpZihmPXBhcnNlRmxvYXQoZlswXS5zcGxpdCgieyIpWzFdKSx2b2lkIDAhPT1jJiZ2b2lkIDAhPT1kKXtwYXJzZUludChNYXRoLnJhbmRvbSgpKihnLWYpLDApLHBhcnNlSW50KGYsMCk7Zm9yKHZhciBoPTA7aDxkO2grKylhPWErInwiKyhwYXJzZUludChNYXRoLnJhbmRvbSgpKihnLWYpLDApK3BhcnNlSW50KGYsMCkpK2U7YSs9Il0ifWVsc2UgYT1NYXRoLnJhbmRvbSgpKihnLWYpK2Z9cmV0dXJuIGF9LHM9ZnVuY3Rpb24oYSxiLGMsZCxlLGYsZyl7cmV0dXJuIWpRdWVyeS5pc051bWVyaWMoYSkmJmEubWF0Y2goLyVdL2cpPyhhPWEuc3BsaXQoIlsiKVsxXS5zcGxpdCgiXSIpWzBdLCJob3Jpem9udGFsIj09Zz9hPShjKzIpKnBhcnNlSW50KGEsMCkvMTAwOiJ2ZXJ0aWNhbCI9PWcmJihhPShkKzIpKnBhcnNlSW50KGEsMCkvMTAwKSk6KGE9ImxheWVyX2xlZnQiPT09YT8wLWM6ImxheWVyX3JpZ2h0Ij09PWE/YzphLGE9ImxheWVyX3RvcCI9PT1hPzAtZDoibGF5ZXJfYm90dG9tIj09PWE/ZDphLGE9ImxlZnQiPT09YXx8InN0YWdlX2xlZnQiPT09YT8wLWMtZjoicmlnaHQiPT09YXx8InN0YWdlX3JpZ2h0Ij09PWE/Yi5jb253LWY6ImNlbnRlciI9PT1hfHwic3RhZ2VfY2VudGVyIj09PWE/Yi5jb253LzItYy8yLWY6YSxhPSJ0b3AiPT09YXx8InN0YWdlX3RvcCI9PT1hPzAtZC1lOiJib3R0b20iPT09YXx8InN0YWdlX2JvdHRvbSI9PT1hP2IuY29uaC1lOiJtaWRkbGUiPT09YXx8InN0YWdlX21pZGRsZSI9PT1hP2IuY29uaC8yLWQvMi1lOmEpLGF9LHQ9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj1uZXcgT2JqZWN0O2lmKGY9alF1ZXJ5LmV4dGVuZCghMCx7fSxmLGEpLHZvaWQgMD09PWIpcmV0dXJuIGY7dmFyIGc9Yi5zcGxpdCgiOyIpLGg9IiI7cmV0dXJuIGcmJmpRdWVyeS5lYWNoKGcsZnVuY3Rpb24oYSxiKXt2YXIgZz1iLnNwbGl0KCI6IiksaT1nWzBdLGo9Z1sxXTtjJiYibm9uZSIhPT1jJiZ2b2lkIDAhPWomJmoubGVuZ3RoPjAmJmoubWF0Y2goL1woUlwpLykmJihqPWoucmVwbGFjZSgiKFIpIiwiIiksaj0icmlnaHQiPT09aj8ibGVmdCI6ImxlZnQiPT09aj8icmlnaHQiOiJ0b3AiPT09aj8iYm90dG9tIjoiYm90dG9tIj09PWo/InRvcCI6aiwiWyI9PT1qWzBdJiYiLSI9PT1qWzFdP2o9ai5yZXBsYWNlKCJbLSIsIlsiKToiWyI9PT1qWzBdJiYiLSIhPT1qWzFdP2o9ai5yZXBsYWNlKCJbIiwiWy0iKToiLSI9PT1qWzBdP2o9ai5yZXBsYWNlKCItIiwiIik6alswXS5tYXRjaCgvWzEtOV0vKSYmKGo9Ii0iK2opKSx2b2lkIDAhPWomJihqPWoucmVwbGFjZSgvXChSXCkvLCIiKSwicm90YXRpb25YIiE9aSYmInJYIiE9aXx8KGYuYW5pbS5yb3RhdGlvblg9cihqLGYuYW5pbS5yb3RhdGlvblgsZCxlLCJkZWciKSksInJvdGF0aW9uWSIhPWkmJiJyWSIhPWl8fChmLmFuaW0ucm90YXRpb25ZPXIoaixmLmFuaW0ucm90YXRpb25ZLGQsZSwiZGVnIikpLCJyb3RhdGlvbloiIT1pJiYicloiIT1pfHwoZi5hbmltLnJvdGF0aW9uPXIoaixmLmFuaW0ucm90YXRpb25aLGQsZSwiZGVnIikpLCJzY2FsZVgiIT1pJiYic1giIT1pfHwoZi5hbmltLnNjYWxlWD1yKGosZi5hbmltLnNjYWxlWCxkLGUpKSwic2NhbGVZIiE9aSYmInNZIiE9aXx8KGYuYW5pbS5zY2FsZVk9cihqLGYuYW5pbS5zY2FsZVksZCxlKSksIm9wYWNpdHkiIT1pJiYibyIhPWl8fChmLmFuaW0ub3BhY2l0eT1yKGosZi5hbmltLm9wYWNpdHksZCxlKSksImZiIj09aSYmKGg9IiI9PT1oPyJibHVyKCIrcGFyc2VJbnQoaiwwKSsicHgpIjpoKyIgYmx1cigiK3BhcnNlSW50KGosMCkrInB4KSIpLCJmZyI9PWkmJihoPSIiPT09aD8iZ3JheXNjYWxlKCIrcGFyc2VJbnQoaiwwKSsiJSkiOmgrIiBncmF5c2NhbGUoIitwYXJzZUludChqLDApKyIlKSIpLCJmYnIiPT1pJiYoaD0iIj09PWg/ImJyaWdodG5lc3MoIitwYXJzZUludChqLDApKyIlKSI6aCsiIGJyaWdodG5lc3MoIitwYXJzZUludChqLDApKyIlKSIpLDA9PT1mLmFuaW0ub3BhY2l0eSYmKGYuYW5pbS5hdXRvQWxwaGE9MCksZi5hbmltLm9wYWNpdHk9MD09Zi5hbmltLm9wYWNpdHk/MWUtNDpmLmFuaW0ub3BhY2l0eSwic2tld1giIT1pJiYic2tYIiE9aXx8KGYuYW5pbS5za2V3WD1yKGosZi5hbmltLnNrZXdYLGQsZSkpLCJza2V3WSIhPWkmJiJza1kiIT1pfHwoZi5hbmltLnNrZXdZPXIoaixmLmFuaW0uc2tld1ksZCxlKSksIngiPT1pJiYoZi5hbmltLng9cihqLGYuYW5pbS54LGQsZSkpLCJ5Ij09aSYmKGYuYW5pbS55PXIoaixmLmFuaW0ueSxkLGUpKSwieiI9PWkmJihmLmFuaW0uej1yKGosZi5hbmltLnosZCxlKSksInRyYW5zZm9ybU9yaWdpbiIhPWkmJiJ0TyIhPWl8fChmLmFuaW0udHJhbnNmb3JtT3JpZ2luPWoudG9TdHJpbmcoKSksInRyYW5zZm9ybVBlcnNwZWN0aXZlIiE9aSYmInRQIiE9aXx8KGYuYW5pbS50cmFuc2Zvcm1QZXJzcGVjdGl2ZT1wYXJzZUludChqLDApKSwic3BlZWQiIT1pJiYicyIhPWl8fChmLnNwZWVkPXBhcnNlRmxvYXQoaikpKX0pLCIiIT09aCYmKGYuYW5pbVsiLXdlYmtpdC1maWx0ZXIiXT1oLGYuYW5pbS5maWx0ZXI9aCksZn0sdT1mdW5jdGlvbihhKXtpZih2b2lkIDA9PT1hKXJldHVybiExO3ZhciBiPW5ldyBPYmplY3Q7Yi5hbmltPW5ldyBPYmplY3Q7dmFyIGM9YS5zcGxpdCgiOyIpO3JldHVybiBjJiZqUXVlcnkuZWFjaChjLGZ1bmN0aW9uKGEsYyl7Yz1jLnNwbGl0KCI6Iik7dmFyIGQ9Y1swXSxlPWNbMV07IngiPT1kJiYoYi5hbmltLng9ZSksInkiPT1kJiYoYi5hbmltLnk9ZSksInMiPT1kJiYoYi5zcGVlZD1wYXJzZUZsb2F0KGUpKSwiZSIhPWQmJiJlYXNlIiE9ZHx8KGIuYW5pbS5lYXNlPWUpfSksYn0sdj1mdW5jdGlvbihhLGIsYyl7aWYodm9pZCAwPT1hJiYoYT0wKSwhalF1ZXJ5LmlzQXJyYXkoYSkmJiJzdHJpbmciPT09alF1ZXJ5LnR5cGUoYSkmJihhLnNwbGl0KCIsIikubGVuZ3RoPjF8fGEuc3BsaXQoIlsiKS5sZW5ndGg+MSkpe2E9YS5yZXBsYWNlKCJbIiwiIiksYT1hLnJlcGxhY2UoIl0iLCIiKTt2YXIgZD1hLm1hdGNoKC8nL2cpP2Euc3BsaXQoIicsIik6YS5zcGxpdCgiLCIpO2E9bmV3IEFycmF5LGQmJmpRdWVyeS5lYWNoKGQsZnVuY3Rpb24oYixjKXtjPWMucmVwbGFjZSgiJyIsIiIpLGM9Yy5yZXBsYWNlKCInIiwiIiksYS5wdXNoKGMpfSl9ZWxzZXt2YXIgZT1hO2pRdWVyeS5pc0FycmF5KGEpfHwoYT1uZXcgQXJyYXksYS5wdXNoKGUpKX12YXIgZT1hW2EubGVuZ3RoLTFdO2lmKGEubGVuZ3RoPGIucmxlKWZvcih2YXIgZj0xO2Y8PWIuY3VyV2luUmFuZ2U7ZisrKWEucHVzaChlKTtyZXR1cm4gYX0seD1mdW5jdGlvbihhLGIpe2lmKHZvaWQgMD09PWIpcmV0dXJuIGE7Yj1iLnJlcGxhY2UoImM6IiwiY29sb3I6IiksYj1iLnJlcGxhY2UoImJnOiIsImJhY2tncm91bmQtY29sb3I6IiksYj1iLnJlcGxhY2UoImJ3OiIsImJvcmRlci13aWR0aDoiKSxiPWIucmVwbGFjZSgiYmM6IiwiYm9yZGVyLWNvbG9yOiIpLGI9Yi5yZXBsYWNlKCJicjoiLCJib3JkZXJSYWRpdXM6IiksYj1iLnJlcGxhY2UoImJzOiIsImJvcmRlci1zdHlsZToiKSxiPWIucmVwbGFjZSgidGQ6IiwidGV4dC1kZWNvcmF0aW9uOiIpLGI9Yi5yZXBsYWNlKCJ6aToiLCJ6SW5kZXg6Iik7dmFyIGM9Yi5zcGxpdCgiOyIpO3JldHVybiBjJiZqUXVlcnkuZWFjaChjLGZ1bmN0aW9uKGIsYyl7dmFyIGQ9Yy5zcGxpdCgiOiIpO2RbMF0ubGVuZ3RoPjAmJigiYmFja2dyb3VuZC1jb2xvciI9PT1kWzBdJiZkWzFdLmluZGV4T2YoImdyYWRpZW50Iik+PTAmJihkWzBdPSJiYWNrZ3JvdW5kIiksYS5hbmltW2RbMF1dPWRbMV0pfSksYX0seT1mdW5jdGlvbihhLGIpe3ZhciBlLGM9bmV3IE9iamVjdCxkPSExO2lmKCJyZWt1cnNpdmUiPT1iJiYoZT1hLmNsb3Nlc3QoIi50cC1jYXB0aW9uIikpJiZhLmNzcygiZm9udFNpemUiKT09PWUuY3NzKCJmb250U2l6ZSIpJiZhLmNzcygiZm9udFdlaWdodCIpPT09ZS5jc3MoImZvbnRXZWlnaHQiKSYmYS5jc3MoImxpbmVIZWlnaHQiKT09PWUuY3NzKCJsaW5lSGVpZ2h0IikmJihkPSEwKSxjLmJhc2VhbGlnbj1hLmRhdGEoImJhc2VhbGlnbiIpfHwiZ3JpZCIsYy5mb250U2l6ZT1kP3ZvaWQgMD09PWUuZGF0YSgiZm9udHNpemUiKT9wYXJzZUludChlLmNzcygiZm9udFNpemUiKSwwKXx8MDplLmRhdGEoImZvbnRzaXplIik6dm9pZCAwPT09YS5kYXRhKCJmb250c2l6ZSIpP3BhcnNlSW50KGEuY3NzKCJmb250U2l6ZSIpLDApfHwwOmEuZGF0YSgiZm9udHNpemUiKSxjLmZvbnRXZWlnaHQ9ZD92b2lkIDA9PT1lLmRhdGEoImZvbnR3ZWlnaHQiKT9wYXJzZUludChlLmNzcygiZm9udFdlaWdodCIpLDApfHwwOmUuZGF0YSgiZm9udHdlaWdodCIpOnZvaWQgMD09PWEuZGF0YSgiZm9udHdlaWdodCIpP3BhcnNlSW50KGEuY3NzKCJmb250V2VpZ2h0IiksMCl8fDA6YS5kYXRhKCJmb250d2VpZ2h0IiksYy53aGl0ZVNwYWNlPWQ/dm9pZCAwPT09ZS5kYXRhKCJ3aGl0ZXNwYWNlIik/ZS5jc3MoIndoaXRlc3BhY2UiKXx8Im5vcm1hbCI6ZS5kYXRhKCJ3aGl0ZXNwYWNlIik6dm9pZCAwPT09YS5kYXRhKCJ3aGl0ZXNwYWNlIik/YS5jc3MoIndoaXRlc3BhY2UiKXx8Im5vcm1hbCI6YS5kYXRhKCJ3aGl0ZXNwYWNlIiksYy50ZXh0QWxpZ249ZD92b2lkIDA9PT1lLmRhdGEoInRleHRhbGlnbiIpP2UuY3NzKCJ0ZXh0YWxpZ24iKXx8ImluaGVyaXQiOmUuZGF0YSgidGV4dGFsaWduIik6dm9pZCAwPT09YS5kYXRhKCJ0ZXh0YWxpZ24iKT9hLmNzcygidGV4dGFsaWduIil8fCJpbmhlcml0IjphLmRhdGEoInRleHRhbGlnbiIpLGMuekluZGV4PWQ/dm9pZCAwPT09ZS5kYXRhKCJ6SW5kZXgiKT9lLmNzcygiekluZGV4Iil8fCJpbmhlcml0IjplLmRhdGEoInpJbmRleCIpOnZvaWQgMD09PWEuZGF0YSgiekluZGV4Iik/YS5jc3MoInpJbmRleCIpfHwiaW5oZXJpdCI6YS5kYXRhKCJ6SW5kZXgiKSwtMSE9PWpRdWVyeS5pbkFycmF5KGEuZGF0YSgibGF5ZXJ0eXBlIiksWyJ2aWRlbyIsImltYWdlIiwiYXVkaW8iXSl8fGEuaXMoImltZyIpP2MubGluZUhlaWdodD0wOmMubGluZUhlaWdodD1kP3ZvaWQgMD09PWUuZGF0YSgibGluZWhlaWdodCIpP3BhcnNlSW50KGUuY3NzKCJsaW5lSGVpZ2h0IiksMCl8fDA6ZS5kYXRhKCJsaW5laGVpZ2h0Iik6dm9pZCAwPT09YS5kYXRhKCJsaW5laGVpZ2h0Iik/cGFyc2VJbnQoYS5jc3MoImxpbmVIZWlnaHQiKSwwKXx8MDphLmRhdGEoImxpbmVoZWlnaHQiKSxjLmxldHRlclNwYWNpbmc9ZD92b2lkIDA9PT1lLmRhdGEoImxldHRlcnNwYWNpbmciKT9wYXJzZUZsb2F0KGUuY3NzKCJsZXR0ZXJTcGFjaW5nIiksMCl8fDA6ZS5kYXRhKCJsZXR0ZXJzcGFjaW5nIik6dm9pZCAwPT09YS5kYXRhKCJsZXR0ZXJzcGFjaW5nIik/cGFyc2VGbG9hdChhLmNzcygibGV0dGVyU3BhY2luZyIpKXx8MDphLmRhdGEoImxldHRlcnNwYWNpbmciKSxjLnBhZGRpbmdUb3A9dm9pZCAwPT09YS5kYXRhKCJwYWRkaW5ndG9wIik/cGFyc2VJbnQoYS5jc3MoInBhZGRpbmdUb3AiKSwwKXx8MDphLmRhdGEoInBhZGRpbmd0b3AiKSxjLnBhZGRpbmdCb3R0b209dm9pZCAwPT09YS5kYXRhKCJwYWRkaW5nYm90dG9tIik/cGFyc2VJbnQoYS5jc3MoInBhZGRpbmdCb3R0b20iKSwwKXx8MDphLmRhdGEoInBhZGRpbmdib3R0b20iKSxjLnBhZGRpbmdMZWZ0PXZvaWQgMD09PWEuZGF0YSgicGFkZGluZ2xlZnQiKT9wYXJzZUludChhLmNzcygicGFkZGluZ0xlZnQiKSwwKXx8MDphLmRhdGEoInBhZGRpbmdsZWZ0IiksYy5wYWRkaW5nUmlnaHQ9dm9pZCAwPT09YS5kYXRhKCJwYWRkaW5ncmlnaHQiKT9wYXJzZUludChhLmNzcygicGFkZGluZ1JpZ2h0IiksMCl8fDA6YS5kYXRhKCJwYWRkaW5ncmlnaHQiKSxjLm1hcmdpblRvcD12b2lkIDA9PT1hLmRhdGEoIm1hcmdpbnRvcCIpP3BhcnNlSW50KGEuY3NzKCJtYXJnaW5Ub3AiKSwwKXx8MDphLmRhdGEoIm1hcmdpbnRvcCIpLGMubWFyZ2luQm90dG9tPXZvaWQgMD09PWEuZGF0YSgibWFyZ2luYm90dG9tIik/cGFyc2VJbnQoYS5jc3MoIm1hcmdpbkJvdHRvbSIpLDApfHwwOmEuZGF0YSgibWFyZ2luYm90dG9tIiksYy5tYXJnaW5MZWZ0PXZvaWQgMD09PWEuZGF0YSgibWFyZ2lubGVmdCIpP3BhcnNlSW50KGEuY3NzKCJtYXJnaW5MZWZ0IiksMCl8fDA6YS5kYXRhKCJtYXJnaW5sZWZ0IiksYy5tYXJnaW5SaWdodD12b2lkIDA9PT1hLmRhdGEoIm1hcmdpbnJpZ2h0Iik/cGFyc2VJbnQoYS5jc3MoIm1hcmdpblJpZ2h0IiksMCl8fDA6YS5kYXRhKCJtYXJnaW5yaWdodCIpLGMuYm9yZGVyVG9wV2lkdGg9dm9pZCAwPT09YS5kYXRhKCJib3JkZXJ0b3B3aWR0aCIpP3BhcnNlSW50KGEuY3NzKCJib3JkZXJUb3BXaWR0aCIpLDApfHwwOmEuZGF0YSgiYm9yZGVydG9wd2lkdGgiKSxjLmJvcmRlckJvdHRvbVdpZHRoPXZvaWQgMD09PWEuZGF0YSgiYm9yZGVyYm90dG9td2lkdGgiKT9wYXJzZUludChhLmNzcygiYm9yZGVyQm90dG9tV2lkdGgiKSwwKXx8MDphLmRhdGEoImJvcmRlcmJvdHRvbXdpZHRoIiksYy5ib3JkZXJMZWZ0V2lkdGg9dm9pZCAwPT09YS5kYXRhKCJib3JkZXJsZWZ0d2lkdGgiKT9wYXJzZUludChhLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMCl8fDA6YS5kYXRhKCJib3JkZXJsZWZ0d2lkdGgiKSxjLmJvcmRlclJpZ2h0V2lkdGg9dm9pZCAwPT09YS5kYXRhKCJib3JkZXJyaWdodHdpZHRoIik/cGFyc2VJbnQoYS5jc3MoImJvcmRlclJpZ2h0V2lkdGgiKSwwKXx8MDphLmRhdGEoImJvcmRlcnJpZ2h0d2lkdGgiKSwicmVrdXJzaXZlIiE9Yil7aWYoYy5jb2xvcj12b2lkIDA9PT1hLmRhdGEoImNvbG9yIik/Im5vcHJlZGVmaW5lZGNvbG9yIjphLmRhdGEoImNvbG9yIiksYy53aGl0ZVNwYWNlPWQ/dm9pZCAwPT09ZS5kYXRhKCJ3aGl0ZXNwYWNlIik/ZS5jc3MoIndoaXRlU3BhY2UiKXx8Im5vd3JhcCI6ZS5kYXRhKCJ3aGl0ZXNwYWNlIik6dm9pZCAwPT09YS5kYXRhKCJ3aGl0ZXNwYWNlIik/YS5jc3MoIndoaXRlU3BhY2UiKXx8Im5vd3JhcCI6YS5kYXRhKCJ3aGl0ZXNwYWNlIiksYy50ZXh0QWxpZ249ZD92b2lkIDA9PT1lLmRhdGEoInRleHRhbGlnbiIpP2UuY3NzKCJ0ZXh0YWxpZ24iKXx8ImluaGVyaXQiOmUuZGF0YSgidGV4dGFsaWduIik6dm9pZCAwPT09YS5kYXRhKCJ0ZXh0YWxpZ24iKT9hLmNzcygidGV4dGFsaWduIil8fCJpbmhlcml0IjphLmRhdGEoInRleHRhbGlnbiIpLGMuZm9udFdlaWdodD1kP3ZvaWQgMD09PWUuZGF0YSgiZm9udHdlaWdodCIpP3BhcnNlSW50KGUuY3NzKCJmb250V2VpZ2h0IiksMCl8fDA6ZS5kYXRhKCJmb250d2VpZ2h0Iik6dm9pZCAwPT09YS5kYXRhKCJmb250d2VpZ2h0Iik/cGFyc2VJbnQoYS5jc3MoImZvbnRXZWlnaHQiKSwwKXx8MDphLmRhdGEoImZvbnR3ZWlnaHQiKSxjLm1pbldpZHRoPXZvaWQgMD09PWEuZGF0YSgid2lkdGgiKT9wYXJzZUludChhLmNzcygibWluV2lkdGgiKSwwKXx8MDphLmRhdGEoIndpZHRoIiksYy5taW5IZWlnaHQ9dm9pZCAwPT09YS5kYXRhKCJoZWlnaHQiKT9wYXJzZUludChhLmNzcygibWluSGVpZ2h0IiksMCl8fDA6YS5kYXRhKCJoZWlnaHQiKSx2b2lkIDAhPWEuZGF0YSgidmlkZW93aWR0aCIpJiZ2b2lkIDAhPWEuZGF0YSgidmlkZW9oZWlnaHQiKSl7dmFyIGY9YS5kYXRhKCJ2aWRlb3dpZHRoIiksZz1hLmRhdGEoInZpZGVvaGVpZ2h0Iik7Zj0iMTAwJSI9PT1mPyJub25lIjpmLGc9IjEwMCUiPT09Zz8ibm9uZSI6ZyxhLmRhdGEoIndpZHRoIixmKSxhLmRhdGEoImhlaWdodCIsZyl9Yy5tYXhXaWR0aD12b2lkIDA9PT1hLmRhdGEoIndpZHRoIik/cGFyc2VJbnQoYS5jc3MoIm1heFdpZHRoIiksMCl8fCJub25lIjphLmRhdGEoIndpZHRoIiksYy5tYXhIZWlnaHQ9LTEhPT1qUXVlcnkuaW5BcnJheShhLmRhdGEoInR5cGUiKSxbImNvbHVtbiIsInJvdyJdKT8ibm9uZSI6dm9pZCAwPT09YS5kYXRhKCJoZWlnaHQiKT9wYXJzZUludChhLmNzcygibWF4SGVpZ2h0IiksMCl8fCJub25lIjphLmRhdGEoImhlaWdodCIpLGMud2FuPXZvaWQgMD09PWEuZGF0YSgid2FuIik/cGFyc2VJbnQoYS5jc3MoIi13ZWJraXQtdHJhbnNpdGlvbiIpLDApfHwibm9uZSI6YS5kYXRhKCJ3YW4iKSxjLm1vYW49dm9pZCAwPT09YS5kYXRhKCJtb2FuIik/cGFyc2VJbnQoYS5jc3MoIi1tb3otYW5pbWF0aW9uLXRyYW5zaXRpb24iKSwwKXx8Im5vbmUiOmEuZGF0YSgibW9hbiIpLGMubWFuPXZvaWQgMD09PWEuZGF0YSgibWFuIik/cGFyc2VJbnQoYS5jc3MoIi1tcy1hbmltYXRpb24tdHJhbnNpdGlvbiIpLDApfHwibm9uZSI6YS5kYXRhKCJtYW4iKSxjLmFuaT12b2lkIDA9PT1hLmRhdGEoImFuaSIpP3BhcnNlSW50KGEuY3NzKCJ0cmFuc2l0aW9uIiksMCl8fCJub25lIjphLmRhdGEoImFuaSIpfXJldHVybiBjLnN0eWxlUHJvcHM9e2JvcmRlclRvcExlZnRSYWRpdXM6YVswXS5zdHlsZS5ib3JkZXJUb3BMZWZ0UmFkaXVzLGJvcmRlclRvcFJpZ2h0UmFkaXVzOmFbMF0uc3R5bGUuYm9yZGVyVG9wUmlnaHRSYWRpdXMsYm9yZGVyQm90dG9tUmlnaHRSYWRpdXM6YVswXS5zdHlsZS5ib3JkZXJCb3R0b21SaWdodFJhZGl1cyxib3JkZXJCb3R0b21MZWZ0UmFkaXVzOmFbMF0uc3R5bGUuYm9yZGVyQm90dG9tTGVmdFJhZGl1cyxiYWNrZ3JvdW5kOmFbMF0uc3R5bGUuYmFja2dyb3VuZCxib3hTaGFkb3c6YVswXS5zdHlsZS5ib3hTaGFkb3csImJhY2tncm91bmQtY29sb3IiOmFbMF0uc3R5bGVbImJhY2tncm91bmQtY29sb3IiXSwiYm9yZGVyLXRvcC1jb2xvciI6YVswXS5zdHlsZVsiYm9yZGVyLXRvcC1jb2xvciJdLCJib3JkZXItYm90dG9tLWNvbG9yIjphWzBdLnN0eWxlWyJib3JkZXItYm90dG9tLWNvbG9yIl0sImJvcmRlci1yaWdodC1jb2xvciI6YVswXS5zdHlsZVsiYm9yZGVyLXJpZ2h0LWNvbG9yIl0sImJvcmRlci1sZWZ0LWNvbG9yIjphWzBdLnN0eWxlWyJib3JkZXItbGVmdC1jb2xvciJdLCJib3JkZXItdG9wLXN0eWxlIjphWzBdLnN0eWxlWyJib3JkZXItdG9wLXN0eWxlIl0sImJvcmRlci1ib3R0b20tc3R5bGUiOmFbMF0uc3R5bGVbImJvcmRlci1ib3R0b20tc3R5bGUiXSwiYm9yZGVyLWxlZnQtc3R5bGUiOmFbMF0uc3R5bGVbImJvcmRlci1sZWZ0LXN0eWxlIl0sImJvcmRlci1yaWdodC1zdHlsZSI6YVswXS5zdHlsZVsiYm9yZGVyLXJpZ2h0LXN0eWxlIl0sImJvcmRlci1sZWZ0LXdpZHRoIjphWzBdLnN0eWxlWyJib3JkZXItbGVmdC13aWR0aCJdLCJib3JkZXItcmlnaHQtd2lkdGgiOmFbMF0uc3R5bGVbImJvcmRlci1yaWdodC13aWR0aCJdLCJib3JkZXItYm90dG9tLXdpZHRoIjphWzBdLnN0eWxlWyJib3JkZXItYm90dG9tLXdpZHRoIl0sImJvcmRlci10b3Atd2lkdGgiOmFbMF0uc3R5bGVbImJvcmRlci10b3Atd2lkdGgiXSxjb2xvcjphWzBdLnN0eWxlLmNvbG9yLCJ0ZXh0LWRlY29yYXRpb24iOmFbMF0uc3R5bGVbInRleHQtZGVjb3JhdGlvbiJdLCJmb250LXN0eWxlIjphWzBdLnN0eWxlWyJmb250LXN0eWxlIl19LCIiIT09Yy5zdHlsZVByb3BzLmJhY2tncm91bmQmJnZvaWQgMCE9PWMuc3R5bGVQcm9wcy5iYWNrZ3JvdW5kJiZjLnN0eWxlUHJvcHMuYmFja2dyb3VuZCE9PWMuc3R5bGVQcm9wc1siYmFja2dyb3VuZC1jb2xvciJdfHxkZWxldGUgYy5zdHlsZVByb3BzLmJhY2tncm91bmQsIiI9PWMuc3R5bGVQcm9wcy5jb2xvciYmKGMuc3R5bGVQcm9wcy5jb2xvcj1hLmNzcygiY29sb3IiKSksY30sej1mdW5jdGlvbihhLGIpe3ZhciBjPW5ldyBPYmplY3Q7cmV0dXJuIGEmJmpRdWVyeS5lYWNoKGEsZnVuY3Rpb24oZCxlKXt2YXIgZj12KGUsYilbYi5jdXJXaW5SYW5nZV07Y1tkXT12b2lkIDAhPT1mP2Y6YVtkXX0pLGN9LEE9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGE9alF1ZXJ5LmlzTnVtZXJpYyhhKT9hKmIrInB4IjphLGE9ImZ1bGwiPT09YT9kOiJhdXRvIj09PWF8fCJub25lIj09PWE/YzphfSxCPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWEuZGF0YSgpO2U9dm9pZCAwPT09ZT97fTplO3RyeXtpZigiQlIiPT1hWzBdLm5vZGVOYW1lfHwiYnIiPT1hWzBdLnRhZ05hbWUpcmV0dXJuITF9Y2F0Y2goYSl7fWUuY3Nzb2JqPXZvaWQgMD09PWUuY3Nzb2JqP3koYSxjKTplLmNzc29iajt2YXIgZj16KGUuY3Nzb2JqLGIpLGc9Yi5idyxoPWIuYmg7Im9mZiI9PT1kJiYoZz0xLGg9MSksImF1dG8iPT1mLmxpbmVIZWlnaHQmJihmLmxpbmVIZWlnaHQ9Zi5mb250U2l6ZSs0KTt2YXIgaT17VG9wOmYubWFyZ2luVG9wLEJvdHRvbTpmLm1hcmdpbkJvdHRvbSxMZWZ0OmYubWFyZ2luTGVmdCxSaWdodDpmLm1hcmdpblJpZ2h0fTtpZigiY29sdW1uIj09PWUuX25jdHlwZSYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLl9jb2x1bW4se3BhZGRpbmdUb3A6TWF0aC5yb3VuZChmLm1hcmdpblRvcCpoKSsicHgiLHBhZGRpbmdCb3R0b206TWF0aC5yb3VuZChmLm1hcmdpbkJvdHRvbSpoKSsicHgiLHBhZGRpbmdMZWZ0Ok1hdGgucm91bmQoZi5tYXJnaW5MZWZ0KmcpKyJweCIscGFkZGluZ1JpZ2h0Ok1hdGgucm91bmQoZi5tYXJnaW5SaWdodCpnKSsicHgifSksaT17VG9wOjAsQm90dG9tOjAsTGVmdDowLFJpZ2h0OjB9KSwhYS5oYXNDbGFzcygidHAtc3BsaXR0ZWQiKSl7YS5jc3MoIi13ZWJraXQtdHJhbnNpdGlvbiIsIm5vbmUiKSxhLmNzcygiLW1vei10cmFuc2l0aW9uIiwibm9uZSIpLGEuY3NzKCItbXMtdHJhbnNpdGlvbiIsIm5vbmUiKSxhLmNzcygidHJhbnNpdGlvbiIsIm5vbmUiKTtpZigodm9pZCAwIT09YS5kYXRhKCJ0cmFuc2Zvcm1faG92ZXIiKXx8dm9pZCAwIT09YS5kYXRhKCJzdHlsZV9ob3ZlciIpKSYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEsZi5zdHlsZVByb3BzKSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYSx7Zm9udFNpemU6TWF0aC5yb3VuZChmLmZvbnRTaXplKmcpKyJweCIsZm9udFdlaWdodDpmLmZvbnRXZWlnaHQsbGV0dGVyU3BhY2luZzpNYXRoLmZsb29yKGYubGV0dGVyU3BhY2luZypnKSsicHgiLHBhZGRpbmdUb3A6TWF0aC5yb3VuZChmLnBhZGRpbmdUb3AqaCkrInB4IixwYWRkaW5nQm90dG9tOk1hdGgucm91bmQoZi5wYWRkaW5nQm90dG9tKmgpKyJweCIscGFkZGluZ0xlZnQ6TWF0aC5yb3VuZChmLnBhZGRpbmdMZWZ0KmcpKyJweCIscGFkZGluZ1JpZ2h0Ok1hdGgucm91bmQoZi5wYWRkaW5nUmlnaHQqZykrInB4IixtYXJnaW5Ub3A6aS5Ub3AqaCsicHgiLG1hcmdpbkJvdHRvbTppLkJvdHRvbSpoKyJweCIsbWFyZ2luTGVmdDppLkxlZnQqZysicHgiLG1hcmdpblJpZ2h0OmkuUmlnaHQqZysicHgiLGJvcmRlclRvcFdpZHRoOk1hdGgucm91bmQoZi5ib3JkZXJUb3BXaWR0aCpoKSsicHgiLGJvcmRlckJvdHRvbVdpZHRoOk1hdGgucm91bmQoZi5ib3JkZXJCb3R0b21XaWR0aCpoKSsicHgiLGJvcmRlckxlZnRXaWR0aDpNYXRoLnJvdW5kKGYuYm9yZGVyTGVmdFdpZHRoKmcpKyJweCIsYm9yZGVyUmlnaHRXaWR0aDpNYXRoLnJvdW5kKGYuYm9yZGVyUmlnaHRXaWR0aCpnKSsicHgiLGxpbmVIZWlnaHQ6TWF0aC5yb3VuZChmLmxpbmVIZWlnaHQqaCkrInB4Iix0ZXh0QWxpZ246Zi50ZXh0QWxpZ24sb3ZlcndyaXRlOiJhdXRvIn0pLCJyZWt1cnNpdmUiIT1jKXt2YXIgaz0ic2xpZGUiPT1mLmJhc2VhbGlnbj9iLnVsdzpiLmdyaWR3aWR0aFtiLmN1cldpblJhbmdlXSxsPSJzbGlkZSI9PWYuYmFzZWFsaWduP2IudWxoOmIuZ3JpZGhlaWdodFtiLmN1cldpblJhbmdlXSxtPUEoZi5tYXhXaWR0aCxnLCJub25lIixrKSxuPUEoZi5tYXhIZWlnaHQsaCwibm9uZSIsbCksbz1BKGYubWluV2lkdGgsZywiMHB4IixrKSxwPUEoZi5taW5IZWlnaHQsaCwiMHB4IixsKTtpZihvPXZvaWQgMD09PW8/MDpvLHA9dm9pZCAwPT09cD8wOnAsbT12b2lkIDA9PT1tPyJub25lIjptLG49dm9pZCAwPT09bj8ibm9uZSI6bixlLl9pc2dyb3VwJiYoIiMxLzEjIj09PW8mJihvPW09ayksIiMxLzIjIj09PW8mJihvPW09ay8yKSwiIzEvMyMiPT09byYmKG89bT1rLzMpLCIjMS80IyI9PT1vJiYobz1tPWsvNCksIiMxLzUjIj09PW8mJihvPW09ay81KSwiIzEvNiMiPT09byYmKG89bT1rLzYpLCIjMi8zIyI9PT1vJiYobz1tPWsvMyoyKSwiIzMvNCMiPT09byYmKG89bT1rLzQqMyksIiMyLzUjIj09PW8mJihvPW09ay81KjIpLCIjMy81IyI9PT1vJiYobz1tPWsvNSozKSwiIzQvNSMiPT09byYmKG89bT1rLzUqNCksIiMzLzYjIj09PW8mJihvPW09ay82KjMpLCIjNC82IyI9PT1vJiYobz1tPWsvNio0KSwiIzUvNiMiPT09byYmKG89bT1rLzYqNSkpLGUuX2luZ3JvdXAmJihlLl9ncm91cHc9byxlLl9ncm91cGg9cCkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heFdpZHRoOm0sbWF4SGVpZ2h0Om4sbWluV2lkdGg6byxtaW5IZWlnaHQ6cCx3aGl0ZVNwYWNlOmYud2hpdGVTcGFjZSx0ZXh0QWxpZ246Zi50ZXh0QWxpZ24sb3ZlcndyaXRlOiJhdXRvIn0pLCJub3ByZWRlZmluZWRjb2xvciIhPWYuY29sb3ImJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHtjb2xvcjpmLmNvbG9yLG92ZXJ3cml0ZToiYXV0byJ9KSx2b2lkIDAhPWUuc3ZnX3NyYyl7dmFyIHE9Im5vcHJlZGVmaW5lZGNvbG9yIiE9Zi5jb2xvciYmdm9pZCAwIT1mLmNvbG9yP2YuY29sb3I6dm9pZCAwIT1mLmNzcyYmIm5vcHJlZGVmaW5lZGNvbG9yIiE9Zi5jc3MuY29sb3ImJnZvaWQgMCE9Zi5jc3MuY29sb3I/Zi5jc3MuY29sb3I6dm9pZCAwIT1mLnN0eWxlUHJvcHMuY29sb3I/Zi5zdHlsZVByb3BzLmNvbG9yOnZvaWQgMCE9Zi5zdHlsZVByb3BzLmNzcyYmdm9pZCAwIT1mLnN0eWxlUHJvcHMuY3NzLmNvbG9yJiZmLnN0eWxlUHJvcHMuY3NzLmNvbG9yOzAhPXEmJihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5maW5kKCJzdmciKSx7ZmlsbDpxLG92ZXJ3cml0ZToiYXV0byJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYS5maW5kKCJzdmcgcGF0aCIpLHtmaWxsOnEsb3ZlcndyaXRlOiJhdXRvIn0pKX19ImNvbHVtbiI9PT1lLl9uY3R5cGUmJih2b2lkIDA9PT1lLl9jb2x1bW5fYmdfc2V0JiYoZS5fY29sdW1uX2JnX3NldD1hLmNzcygiYmFja2dyb3VuZENvbG9yIiksZS5fY29sdW1uX2JnX2ltYWdlPWEuY3NzKCJiYWNrZ3JvdW5kSW1hZ2UiKSxlLl9jb2x1bW5fYmdfaW1hZ2VfcmVwZWF0PWEuY3NzKCJiYWNrZ3JvdW5kUmVwZWF0IiksZS5fY29sdW1uX2JnX2ltYWdlX3Bvc2l0aW9uPWEuY3NzKCJiYWNrZ3JvdW5kUG9zaXRpb24iKSxlLl9jb2x1bW5fYmdfaW1hZ2Vfc2l6ZT1hLmNzcygiYmFja2dyb3VuZFNpemUiKSxlLl9jb2x1bW5fYmdfb3BhY2l0eT1hLmRhdGEoImJnb3BhY2l0eSIpLGUuX2NvbHVtbl9iZ19vcGFjaXR5PXZvaWQgMD09PWUuX2NvbHVtbl9iZ19vcGFjaXR5PzE6ZS5fY29sdW1uX2JnX29wYWNpdHkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQiLGJhY2tncm91bmRJbWFnZToiIn0pKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7QyhhLGIpfSwxKSxlLl9jYmdjX2F1dG8mJmUuX2NiZ2NfYXV0by5sZW5ndGg+MCYmKGUuX2NiZ2NfYXV0b1swXS5zdHlsZS5iYWNrZ3JvdW5kU2l6ZT1lLl9jb2x1bW5fYmdfaW1hZ2Vfc2l6ZSxqUXVlcnkuaXNBcnJheShmLm1hcmdpbkxlZnQpP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChlLl9jYmdjX2F1dG8se2JvcmRlclRvcFdpZHRoOmYubWFyZ2luVG9wW2IuY3VyV2luUmFuZ2VdKmgrInB4Iixib3JkZXJMZWZ0V2lkdGg6Zi5tYXJnaW5MZWZ0W2IuY3VyV2luUmFuZ2VdKmcrInB4Iixib3JkZXJSaWdodFdpZHRoOmYubWFyZ2luUmlnaHRbYi5jdXJXaW5SYW5nZV0qZysicHgiLGJvcmRlckJvdHRvbVdpZHRoOmYubWFyZ2luQm90dG9tW2IuY3VyV2luUmFuZ2VdKmgrInB4IixiYWNrZ3JvdW5kQ29sb3I6ZS5fY29sdW1uX2JnX3NldCxiYWNrZ3JvdW5kSW1hZ2U6ZS5fY29sdW1uX2JnX2ltYWdlLGJhY2tncm91bmRSZXBlYXQ6ZS5fY29sdW1uX2JnX2ltYWdlX3JlcGVhdCxiYWNrZ3JvdW5kUG9zaXRpb246ZS5fY29sdW1uX2JnX2ltYWdlX3Bvc2l0aW9uLG9wYWNpdHk6ZS5fY29sdW1uX2JnX29wYWNpdHl9KTpwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5fY2JnY19hdXRvLHtib3JkZXJUb3BXaWR0aDpmLm1hcmdpblRvcCpoKyJweCIsYm9yZGVyTGVmdFdpZHRoOmYubWFyZ2luTGVmdCpnKyJweCIsYm9yZGVyUmlnaHRXaWR0aDpmLm1hcmdpblJpZ2h0KmcrInB4Iixib3JkZXJCb3R0b21XaWR0aDpmLm1hcmdpbkJvdHRvbSpoKyJweCIsYmFja2dyb3VuZENvbG9yOmUuX2NvbHVtbl9iZ19zZXQsYmFja2dyb3VuZEltYWdlOmUuX2NvbHVtbl9iZ19pbWFnZSxiYWNrZ3JvdW5kUmVwZWF0OmUuX2NvbHVtbl9iZ19pbWFnZV9yZXBlYXQsYmFja2dyb3VuZFBvc2l0aW9uOmUuX2NvbHVtbl9iZ19pbWFnZV9wb3NpdGlvbixvcGFjaXR5OmUuX2NvbHVtbl9iZ19vcGFjaXR5fSkpKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5jc3MoIi13ZWJraXQtdHJhbnNpdGlvbiIsYS5kYXRhKCJ3YW4iKSksYS5jc3MoIi1tb3otdHJhbnNpdGlvbiIsYS5kYXRhKCJtb2FuIikpLGEuY3NzKCItbXMtdHJhbnNpdGlvbiIsYS5kYXRhKCJtYW4iKSksYS5jc3MoInRyYW5zaXRpb24iLGEuZGF0YSgiYW5pIikpfSwzMCl9fSxDPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5kYXRhKCk7aWYoYy5fY2JnY19tYW4mJmMuX2NiZ2NfbWFuLmxlbmd0aD4wKXt2YXIgZSxmLGg7alF1ZXJ5LmlzQXJyYXkoYy5jc3NvYmoubWFyZ2luTGVmdCk/KGMuY3Nzb2JqLm1hcmdpbkxlZnRbYi5jdXJXaW5SYW5nZV0qYi5idyxlPWMuY3Nzb2JqLm1hcmdpblRvcFtiLmN1cldpblJhbmdlXSpiLmJoLGY9Yy5jc3NvYmoubWFyZ2luQm90dG9tW2IuY3VyV2luUmFuZ2VdKmIuYmgsYy5jc3NvYmoubWFyZ2luUmlnaHRbYi5jdXJXaW5SYW5nZV0qYi5idyk6KGMuY3Nzb2JqLm1hcmdpbkxlZnQqYi5idyxlPWMuY3Nzb2JqLm1hcmdpblRvcCpiLmJoLGY9Yy5jc3NvYmoubWFyZ2luQm90dG9tKmIuYmgsYy5jc3NvYmoubWFyZ2luUmlnaHQqYi5idyksaD1jLl9yb3cuaGFzQ2xhc3MoInJldl9icmVha19jb2x1bW5zIik/IjEwMCUiOmMuX3Jvdy5oZWlnaHQoKS0oZStmKSsicHgiLGMuX2NiZ2NfbWFuWzBdLnN0eWxlLmJhY2tncm91bmRTaXplPWMuX2NvbHVtbl9iZ19pbWFnZV9zaXplLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLl9jYmdjX21hbix7d2lkdGg6IjEwMCUiLGhlaWdodDpoLGJhY2tncm91bmRDb2xvcjpjLl9jb2x1bW5fYmdfc2V0LGJhY2tncm91bmRJbWFnZTpjLl9jb2x1bW5fYmdfaW1hZ2UsYmFja2dyb3VuZFJlcGVhdDpjLl9jb2x1bW5fYmdfaW1hZ2VfcmVwZWF0LGJhY2tncm91bmRQb3NpdGlvbjpjLl9jb2x1bW5fYmdfaW1hZ2VfcG9zaXRpb24sb3ZlcndyaXRlOiJhdXRvIixvcGFjaXR5OmMuX2NvbHVtbl9iZ19vcGFjaXR5fSl9fSxEPWZ1bmN0aW9uKGEsYil7dmFyIGM9YS5kYXRhKCk7aWYoYS5oYXNDbGFzcygicnMtcGVuZHVsdW0iKSYmdm9pZCAwPT1jLl9sb29wX3RpbWVsaW5lKXtjLl9sb29wX3RpbWVsaW5lPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZTt2YXIgZD12b2lkIDA9PWEuZGF0YSgic3RhcnRkZWciKT8tMjA6YS5kYXRhKCJzdGFydGRlZyIpLGU9dm9pZCAwPT1hLmRhdGEoImVuZGRlZyIpPzIwOmEuZGF0YSgiZW5kZGVnIiksZj12b2lkIDA9PWEuZGF0YSgic3BlZWQiKT8yOmEuZGF0YSgic3BlZWQiKSxnPXZvaWQgMD09YS5kYXRhKCJvcmlnaW4iKT8iNTAlIDUwJSI6YS5kYXRhKCJvcmlnaW4iKSxoPXZvaWQgMD09YS5kYXRhKCJlYXNpbmciKT9wdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQ6YS5kYXRhKCJlYXNpbmciKTtkKj1iLGUqPWIsYy5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGYse2ZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOmQsdHJhbnNmb3JtT3JpZ2luOmd9LHtyb3RhdGlvbjplLGVhc2U6aH0pKSxjLl9sb29wX3RpbWVsaW5lLmFwcGVuZChuZXcgcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGEsZix7Zm9yY2UzRDoiYXV0byIscm90YXRpb246ZSx0cmFuc2Zvcm1PcmlnaW46Z30se3JvdGF0aW9uOmQsZWFzZTpoLG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtjLl9sb29wX3RpbWVsaW5lLnJlc3RhcnQoKX19KSl9aWYoYS5oYXNDbGFzcygicnMtcm90YXRlIikmJnZvaWQgMD09Yy5fbG9vcF90aW1lbGluZSl7Yy5fbG9vcF90aW1lbGluZT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7dmFyIGQ9dm9pZCAwPT1hLmRhdGEoInN0YXJ0ZGVnIik/MDphLmRhdGEoInN0YXJ0ZGVnIiksZT12b2lkIDA9PWEuZGF0YSgiZW5kZGVnIik/MzYwOmEuZGF0YSgiZW5kZGVnIiksZj12b2lkIDA9PWEuZGF0YSgic3BlZWQiKT8yOmEuZGF0YSgic3BlZWQiKSxnPXZvaWQgMD09YS5kYXRhKCJvcmlnaW4iKT8iNTAlIDUwJSI6YS5kYXRhKCJvcmlnaW4iKSxoPXZvaWQgMD09YS5kYXRhKCJlYXNpbmciKT9wdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQ6YS5kYXRhKCJlYXNpbmciKTtkKj1iLGUqPWIsYy5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGYse2ZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOmQsdHJhbnNmb3JtT3JpZ2luOmd9LHtyb3RhdGlvbjplLGVhc2U6aCxvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7Yy5fbG9vcF90aW1lbGluZS5yZXN0YXJ0KCl9fSkpfWlmKGEuaGFzQ2xhc3MoInJzLXNsaWRlbG9vcCIpJiZ2b2lkIDA9PWMuX2xvb3BfdGltZWxpbmUpe2MuX2xvb3BfdGltZWxpbmU9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO3ZhciBpPXZvaWQgMD09YS5kYXRhKCJ4cyIpPzA6YS5kYXRhKCJ4cyIpLGo9dm9pZCAwPT1hLmRhdGEoInlzIik/MDphLmRhdGEoInlzIiksaz12b2lkIDA9PWEuZGF0YSgieGUiKT8wOmEuZGF0YSgieGUiKSxsPXZvaWQgMD09YS5kYXRhKCJ5ZSIpPzA6YS5kYXRhKCJ5ZSIpLGY9dm9pZCAwPT1hLmRhdGEoInNwZWVkIik/MjphLmRhdGEoInNwZWVkIiksaD12b2lkIDA9PWEuZGF0YSgiZWFzaW5nIik/cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0OmEuZGF0YSgiZWFzaW5nIik7aSo9YixqKj1iLGsqPWIsbCo9YixjLl9sb29wX3RpbWVsaW5lLmFwcGVuZChuZXcgcHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGEsZix7Zm9yY2UzRDoiYXV0byIseDppLHk6an0se3g6ayx5OmwsZWFzZTpofSkpLGMuX2xvb3BfdGltZWxpbmUuYXBwZW5kKG5ldyBwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYSxmLHtmb3JjZTNEOiJhdXRvIix4OmsseTpsfSx7eDppLHk6aixvbkNvbXBsZXRlOmZ1bmN0aW9uKCl7Yy5fbG9vcF90aW1lbGluZS5yZXN0YXJ0KCl9fSkpfWlmKGEuaGFzQ2xhc3MoInJzLXB1bHNlIikmJnZvaWQgMD09Yy5fbG9vcF90aW1lbGluZSl7Yy5fbG9vcF90aW1lbGluZT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7dmFyIG09dm9pZCAwPT1hLmRhdGEoInpvb21zdGFydCIpPzA6YS5kYXRhKCJ6b29tc3RhcnQiKSxuPXZvaWQgMD09YS5kYXRhKCJ6b29tZW5kIik/MDphLmRhdGEoInpvb21lbmQiKSxmPXZvaWQgMD09YS5kYXRhKCJzcGVlZCIpPzI6YS5kYXRhKCJzcGVlZCIpLGg9dm9pZCAwPT1hLmRhdGEoImVhc2luZyIpP3B1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dDphLmRhdGEoImVhc2luZyIpO2MuX2xvb3BfdGltZWxpbmUuYXBwZW5kKG5ldyBwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYSxmLHtmb3JjZTNEOiJhdXRvIixzY2FsZTptfSx7c2NhbGU6bixlYXNlOmh9KSksYy5fbG9vcF90aW1lbGluZS5hcHBlbmQobmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhhLGYse2ZvcmNlM0Q6ImF1dG8iLHNjYWxlOm59LHtzY2FsZTptLG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtjLl9sb29wX3RpbWVsaW5lLnJlc3RhcnQoKX19KSl9aWYoYS5oYXNDbGFzcygicnMtd2F2ZSIpJiZ2b2lkIDA9PWMuX2xvb3BfdGltZWxpbmUpe2MuX2xvb3BfdGltZWxpbmU9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO3ZhciBvPXZvaWQgMD09YS5kYXRhKCJhbmdsZSIpPzEwOnBhcnNlSW50KGEuZGF0YSgiYW5nbGUiKSwwKSxwPXZvaWQgMD09YS5kYXRhKCJyYWRpdXMiKT8xMDpwYXJzZUludChhLmRhdGEoInJhZGl1cyIpLDApLGY9dm9pZCAwPT1hLmRhdGEoInNwZWVkIik/LTIwOmEuZGF0YSgic3BlZWQiKSxnPXZvaWQgMD09YS5kYXRhKCJvcmlnaW4iKT8iNTAlIDUwJSI6YS5kYXRhKCJvcmlnaW4iKSxxPWcuc3BsaXQoIiAiKSxyPW5ldyBPYmplY3Q7cS5sZW5ndGg+PTE/KHIueD1xWzBdLHIueT1xWzFdKTooci54PSI1MCUiLHIueT0iNTAlIikscCo9Yjt2YXIgcz0ocGFyc2VJbnQoci54LDApLzEwMC0uNSkqYS53aWR0aCgpLHQ9KHBhcnNlSW50KHIueSwwKS8xMDAtLjUpKmEuaGVpZ2h0KCksdT0tMSpwK3Qsdj0wK3Msdz17YTowLGFuZzpvLGVsZW1lbnQ6YSx1bml0OnAseG9mZnNldDp2LHlvZmZzZXQ6dX0seD1wYXJzZUludChvLDApLHk9bmV3IHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21Ubyh3LGYse2E6MCt4fSx7YTozNjAreCxmb3JjZTNEOiJhdXRvIixlYXNlOnB1bmNoZ3MuTGluZWFyLmVhc2VOb25lfSk7eS5ldmVudENhbGxiYWNrKCJvblVwZGF0ZSIsZnVuY3Rpb24oYSl7dmFyIGI9YS5hKihNYXRoLlBJLzE4MCksYz1hLnlvZmZzZXQrYS51bml0KigxLU1hdGguc2luKGIpKSxkPWEueG9mZnNldCtNYXRoLmNvcyhiKSphLnVuaXQ7cHVuY2hncy5Ud2VlbkxpdGUudG8oYS5lbGVtZW50LC4xLHtmb3JjZTNEOiJhdXRvIix4OmQseTpjfSl9LFt3XSkseS5ldmVudENhbGxiYWNrKCJvbkNvbXBsZXRlIixmdW5jdGlvbihhKXthLl9sb29wX3RpbWVsaW5lLnJlc3RhcnQoKX0sW2NdKSxjLl9sb29wX3RpbWVsaW5lLmFwcGVuZCh5KX19LEU9ZnVuY3Rpb24oYSl7YS5jbG9zZXN0KCIucnMtcGVuZHVsdW0sIC5ycy1zbGlkZWxvb3AsIC5ycy1wdWxzZSwgLnJzLXdhdmUiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9dGhpczt2b2lkIDAhPWEuX2xvb3BfdGltZWxpbmUmJihhLl9sb29wX3RpbWVsaW5lLnBhdXNlKCksYS5fbG9vcF90aW1lbGluZT1udWxsKX0pfX0oalF1ZXJ5KTs="}},"time_used":615,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":609,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/custom.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.811Z","timestamp":1785133989811,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/custom.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 13418\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":108508,"size_decoded":13656,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with CRLF line terminators","md5":"4a076c8f3090486deb34733da93e279f","sha1":"b8284c092cf04c1bd7d0860a6ebfd84819acba00","sha256":"bd9f7aa992d540b8ce2e8a417e597010d71907c7b4441c52f98a9ae5b0928d6d","sha512":"08a9baa3ad202e080e7a385b7ada29597f8dc2c38792d51a0d864d84aedc2a5bc8cc82df97123b2e16cc0908ac09771f2500ea0a63d16a10b76ee0b87fa12775","ssdeep":"1536:Qp5SOsn+V5G0id0+/Vyus4us8RHueu/8m:Q+OU+V5G0iR","tlshash":"c6b37305bc91205294bbf33eaf3f6109fb75512b92019b657cbd46540f7260492aefec","first_seen":"2023-07-17T13:29:23Z","last_seen":"2026-07-27T14:34:25.22638Z","times_seen":37,"resource_available":true,"data":"dmFyIFRIRU1FTUFTQ09UID0ge307DQoNCihmdW5jdGlvbigkKSB7DQogICAgInVzZSBzdHJpY3QiOw0KDQogICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIERlY2xhcmUgVmFyaWFibGVzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgdmFyICRkb2N1bWVudCA9ICQoZG9jdW1lbnQpOw0KICAgIHZhciAkZG9jdW1lbnRfYm9keSA9ICQoZG9jdW1lbnQuYm9keSk7DQogICAgdmFyICR3aW5kb3cgPSAkKHdpbmRvdyk7DQogICAgdmFyICRodG1sID0gJCgnaHRtbCcpOw0KICAgIHZhciAkYm9keSA9ICQoJ2JvZHknKTsNCiAgICB2YXIgJHdyYXBwZXIgPSAkKCcjd3JhcHBlcicpOw0KICAgIHZhciAkaGVhZGVyID0gJCgnI2hlYWRlcicpOw0KICAgIHZhciAkZm9vdGVyID0gJCgnI2Zvb3RlcicpOw0KICAgIHZhciAkc2VjdGlvbnMgPSAkKCdzZWN0aW9uJyk7DQogICAgdmFyICRwb3J0Zm9saW9fZ2FsbGVyeSA9ICQoIi5nYWxsZXJ5LWlzb3RvcGUiKTsNCiAgICB2YXIgcG9ydGZvbGlvX2ZpbHRlciA9ICIucG9ydGZvbGlvLWZpbHRlciBhIjsNCiAgICB2YXIgJHBvcnRmb2xpb19maWx0ZXJfZmlyc3RfY2hpbGQgPSAkKCIucG9ydGZvbGlvLWZpbHRlciBhOmVxKDApIik7DQogICAgdmFyICRwb3J0Zm9saW9fZmxleF9zbGlkZXIgPSAkKCIucG9ydGZvbGlvLXNsaWRlciIpOw0KDQoNCiAgICBUSEVNRU1BU0NPVC5pc01vYmlsZSA9IHsNCiAgICAgICAgQW5kcm9pZDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQW5kcm9pZC9pKTsNCiAgICAgICAgfSwNCiAgICAgICAgQmxhY2tCZXJyeTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvQmxhY2tCZXJyeS9pKTsNCiAgICAgICAgfSwNCiAgICAgICAgaU9TOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9pUGhvbmV8aVBhZHxpUG9kL2kpOw0KICAgICAgICB9LA0KICAgICAgICBPcGVyYTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvT3BlcmEgTWluaS9pKTsNCiAgICAgICAgfSwNCiAgICAgICAgV2luZG93czogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvSUVNb2JpbGUvaSk7DQogICAgICAgIH0sDQogICAgICAgIGFueTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICByZXR1cm4gKFRIRU1FTUFTQ09ULmlzTW9iaWxlLkFuZHJvaWQoKSB8fCBUSEVNRU1BU0NPVC5pc01vYmlsZS5CbGFja0JlcnJ5KCkgfHwgVEhFTUVNQVNDT1QuaXNNb2JpbGUuaU9TKCkgfHwgVEhFTUVNQVNDT1QuaXNNb2JpbGUuT3BlcmEoKSB8fCBUSEVNRU1BU0NPVC5pc01vYmlsZS5XaW5kb3dzKCkpOw0KICAgICAgICB9DQogICAgfTsNCg0KICAgIFRIRU1FTUFTQ09ULmlzUlRMID0gew0KICAgICAgICBjaGVjazogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiggJCggImh0bWwiICkuYXR0cigiZGlyIikgPT09ICJydGwiICkgew0KICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9DQogICAgICAgIH0NCiAgICB9Ow0KDQogICAgVEhFTUVNQVNDT1QudXJsUGFyYW1ldGVyID0gew0KICAgICAgICBnZXQ6IGZ1bmN0aW9uKHNQYXJhbSkgew0KICAgICAgICAgICAgdmFyIHNQYWdlVVJMID0gZGVjb2RlVVJJQ29tcG9uZW50KHdpbmRvdy5sb2NhdGlvbi5zZWFyY2guc3Vic3RyaW5nKDEpKSwNCiAgICAgICAgICAgICAgICBzVVJMVmFyaWFibGVzID0gc1BhZ2VVUkwuc3BsaXQoJyYnKSwNCiAgICAgICAgICAgICAgICBzUGFyYW1ldGVyTmFtZSwNCiAgICAgICAgICAgICAgICBpOw0KDQogICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgc1VSTFZhcmlhYmxlcy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgICAgIHNQYXJhbWV0ZXJOYW1lID0gc1VSTFZhcmlhYmxlc1tpXS5zcGxpdCgnPScpOw0KDQogICAgICAgICAgICAgICAgaWYgKHNQYXJhbWV0ZXJOYW1lWzBdID09PSBzUGFyYW0pIHsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNQYXJhbWV0ZXJOYW1lWzFdID09PSB1bmRlZmluZWQgPyB0cnVlIDogc1BhcmFtZXRlck5hbWVbMV07DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfTsNCg0KDQogICAgVEhFTUVNQVNDT1QuYm1pQ2FsY3VsYXRvciA9IHsNCiAgICAgICAgbWFnaWM6IGZ1bmN0aW9uKGJtaSkgew0KICAgICAgICAgICAgdmFyIG91dHB1dCA9ICcnOw0KICAgICAgICAgICAgdmFyIGluZm8gPSAnJzsNCiAgICAgICAgICAgIGlmIChibWkpIHsNCiAgICAgICAgICAgICAgICBpZiAoYm1pIDwgMTUpIHsNCiAgICAgICAgICAgICAgICAgICAgaW5mbyA9ICJ2ZXJ5IHNldmVyZWx5IHVuZGVyd2VpZ2h0IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKChibWkgPj0gMTUpJiYoYm1pIDwgMTYpKSB7DQogICAgICAgICAgICAgICAgICAgIGluZm8gPSAic2V2ZXJlbHkgdW5kZXJ3ZWlnaHQiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoKGJtaSA+PSAxNikmJihibWkgPCAxOC41KSkgew0KICAgICAgICAgICAgICAgICAgICBpbmZvID0gInVuZGVyd2VpZ2h0IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKChibWkgPj0gMTguNSkmJihibWkgPCAyNSkpIHsNCiAgICAgICAgICAgICAgICAgICAgaW5mbyA9ICJub3JtYWwiOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICBpZiAoKGJtaSA+PSAyNSkmJihibWkgPCAzMCkpIHsNCiAgICAgICAgICAgICAgICAgICAgaW5mbyA9ICJvdmVyd2VpZ2h0IjsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgaWYgKChibWkgPj0gMzApJiYoYm1pIDwgMzUpKSB7DQogICAgICAgICAgICAgICAgICAgIGluZm8gPSAibW9kZXJhdGVseSBvYmVzZSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmICgoYm1pID49IDM1KSYmKGJtaSA8PSA0MCkpIHsNCiAgICAgICAgICAgICAgICAgICAgaW5mbyA9ICJzZXZlcmVseSBvYmVzZSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIGlmIChibWkgPjQwKSB7DQogICAgICAgICAgICAgICAgICAgIGluZm8gPSAidmVyeSBzZXZlcmVseSBvYmVzZSI7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIG91dHB1dCA9ICJZb3VyIEJNSSBpcyA8c3Bhbj4iICArIGJtaSArICI8L3NwYW4+PGJyIC8+IiArIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiWW91IGFyZSA8c3Bhbj4iICArIGluZm8gKyAiPC9zcGFuPi4iOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICBvdXRwdXQgPSAiWW91IGJyb2tlIGl0ISI7DQogICAgICAgICAgICB9Ow0KICAgICAgICAgICAgcmV0dXJuIG91dHB1dDsNCiAgICAgICAgfSwNCiAgICAgICAgDQogICAgICAgIGNhbGN1bGF0ZVN0YW5kYXJkOiBmdW5jdGlvbiAoYm1pX2Zvcm0pIHsNCiAgICAgICAgICAgIHZhciB3ZWlnaHRfbGJzID0gYm1pX2Zvcm0uZmluZCgnaW5wdXRbbmFtZT0iYm1pX3N0YW5kYXJkX3dlaWdodF9sYnMiXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGhlaWdodF9mdCA9IGJtaV9mb3JtLmZpbmQoJ2lucHV0W25hbWU9ImJtaV9zdGFuZGFyZF9oZWlnaHRfZnQiXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGhlaWdodF9pbiA9IGJtaV9mb3JtLmZpbmQoJ2lucHV0W25hbWU9ImJtaV9zdGFuZGFyZF9oZWlnaHRfaW4iXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGFnZSA9IGJtaV9mb3JtLmZpbmQoJ2lucHV0W25hbWU9ImJtaV9zdGFuZGFyZF9hZ2UiXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGdlbmRlciA9IGJtaV9mb3JtLmZpbmQoJ3JhZGlvW25hbWU9ImJtaV9zdGFuZGFyZF9nZW5kZXIiXScpLnZhbCgpOw0KDQogICAgICAgICAgICB2YXIgdG90YWxfaGVpZ2h0X2luYyA9ICggcGFyc2VJbnQoaGVpZ2h0X2Z0LCAxMCkgKiAxMiApICsgcGFyc2VJbnQoaGVpZ2h0X2luLCAxMCk7DQogICAgICAgICAgICB2YXIgYm1pID0gKCBwYXJzZUZsb2F0KHdlaWdodF9sYnMpIC8gKHRvdGFsX2hlaWdodF9pbmMgKiB0b3RhbF9oZWlnaHRfaW5jKSApICogNzAzOw0KICAgICAgICAgICAgdmFyIG91dHB1dCA9IFRIRU1FTUFTQ09ULmJtaUNhbGN1bGF0b3IubWFnaWMoYm1pKTsNCg0KICAgICAgICAgICAgYm1pX2Zvcm0uZmluZCgnI2JtaV9zdGFuZGFyZF9jYWxjdWxhdG9yX2Zvcm1fcmVzdWx0JykuaHRtbChvdXRwdXQpLmZhZGVJbignc2xvdycpOw0KICAgICAgICB9LA0KICAgICAgICANCiAgICAgICAgY2FsY3VsYXRlTWV0cmljOiBmdW5jdGlvbiAoYm1pX2Zvcm0pIHsNCiAgICAgICAgICAgIHZhciB3ZWlnaHRfa2cgPSBibWlfZm9ybS5maW5kKCdpbnB1dFtuYW1lPSJibWlfbWV0cmljX3dlaWdodF9rZyJdJykudmFsKCk7DQogICAgICAgICAgICB2YXIgaGVpZ2h0X2NtID0gYm1pX2Zvcm0uZmluZCgnaW5wdXRbbmFtZT0iYm1pX21ldHJpY19oZWlnaHRfY20iXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGFnZSA9IGJtaV9mb3JtLmZpbmQoJ2lucHV0W25hbWU9ImJtaV9zdGFuZGFyZF9hZ2UiXScpLnZhbCgpOw0KICAgICAgICAgICAgdmFyIGdlbmRlciA9IGJtaV9mb3JtLmZpbmQoJ3JhZGlvW25hbWU9ImJtaV9zdGFuZGFyZF9nZW5kZXIiXScpLnZhbCgpOw0KDQogICAgICAgICAgICB2YXIgdG90YWxfd2VpZ2h0X2tnID0gcGFyc2VGbG9hdCh3ZWlnaHRfa2cpIDsNCiAgICAgICAgICAgIHZhciB0b3RhbF9oZWlnaHRfbSA9IHBhcnNlRmxvYXQoaGVpZ2h0X2NtKSAqIDAuMDE7DQogICAgICAgICAgICB2YXIgYm1pID0gKCB0b3RhbF93ZWlnaHRfa2cgLyAodG90YWxfaGVpZ2h0X20gKiB0b3RhbF9oZWlnaHRfbSkgKTsNCiAgICAgICAgICAgIHZhciBvdXRwdXQgPSBUSEVNRU1BU0NPVC5ibWlDYWxjdWxhdG9yLm1hZ2ljKGJtaSk7DQoNCiAgICAgICAgICAgIGJtaV9mb3JtLmZpbmQoJyNibWlfbWV0cmljX2NhbGN1bGF0b3JfZm9ybV9yZXN1bHQnKS5odG1sKG91dHB1dCkuZmFkZUluKCdzbG93Jyk7DQogICAgICAgIH0sDQogICAgICAgIA0KICAgICAgICBpbml0OiBmdW5jdGlvbiAoKSB7DQogICAgICAgICAgICB2YXIgYm1pX1N0YW5kYXJkX0Zvcm0gPSAkKCcjZm9ybV9ibWlfc3RhbmRhcmRfY2FsY3VsYXRvcicpOw0KICAgICAgICAgICAgYm1pX1N0YW5kYXJkX0Zvcm0ub24oJ3N1Ym1pdCcsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuYm1pQ2FsY3VsYXRvci5jYWxjdWxhdGVTdGFuZGFyZChibWlfU3RhbmRhcmRfRm9ybSk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgICAgIHZhciBibWlfTWV0cmljX0Zvcm0gPSAkKCcjZm9ybV9ibWlfbWV0cmljX2NhbGN1bGF0b3InKTsNCiAgICAgICAgICAgIGJtaV9NZXRyaWNfRm9ybS5vbignc3VibWl0JywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIGUucHJldmVudERlZmF1bHQoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5ibWlDYWxjdWxhdG9yLmNhbGN1bGF0ZU1ldHJpYyhibWlfTWV0cmljX0Zvcm0pOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQoNCiAgICB9Ow0KDQogICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZSA9IHsNCg0KICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULmJtaUNhbGN1bGF0b3IuaW5pdCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV90b2dnbGVOYXZTZWFyY2hJY29uKCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX2ZpeGVkRm9vdGVyKCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX2RhdGVQaWNrZXIoKTsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fZGRzbGljaygpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9zbGlkZXJSYW5nZSgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9sb2FkQlNQYXJlbnRNb2RhbCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9kZW1vU3dpdGNoZXIoKTsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fcGxhdGZvcm1EZXRlY3QoKTsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fb25Mb2FkUG9wdXBQcm9tb0JveCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9jdXN0b21EYXRhQXR0cmlidXRlcygpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9wYXJhbGxheEJnSW5pdCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9yZXNpemVGdWxsc2NyZWVuKCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX3ByZXR0eVBob3RvX2xpZ2h0Ym94KCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX25pdm9saWdodGJveCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9maXRWaWRzKCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX1lUUGxheWVyKCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX2VxdWFsSGVpZ2h0RGl2cygpOw0KICAgICAgICB9LA0KICAgICAgICANCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVG9nZ2xlIE5hdiBTZWFyY2ggSWNvbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fdG9nZ2xlTmF2U2VhcmNoSWNvbjogZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgIC8qIGlubGluZSBmdWxsd2lkdGggc2VhcmNoIGZvcm0gKi8NCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICcjaW5saW5lLWZ1bGx3aWR0aC1zZWFyY2gtYnRuJywgZnVuY3Rpb24oZSkgew0KDQogICAgICAgICAgICAgICAgaWYoICQoJyNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtJykuaGFzQ2xhc3MoJ2Ryb3Bkb3duLXNlYXJjaC1mb3JtJykgKSB7DQogICAgICAgICAgICAgICAgICAgICQoJyNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtJykuc3RvcCh0cnVlLHRydWUpLnRvZ2dsZSgzMDApLmZpbmQoJ2lucHV0W3R5cGU9dGV4dF0nKS5mb2N1cygpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgICQoJyNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtJykuc3RvcCh0cnVlLHRydWUpLmZhZGVJbigxMDApLmZpbmQoJ2lucHV0W3R5cGU9dGV4dF0nKS5mb2N1cygpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICcjY2xvc2Utc2VhcmNoLWJ0bicsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICBpZiggJCgnI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0nKS5oYXNDbGFzcygnZHJvcGRvd24tc2VhcmNoLWZvcm0nKSApIHsNCiAgICAgICAgICAgICAgICAgICAgJCgnI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0nKS5zdG9wKHRydWUsdHJ1ZSkudG9nZ2xlKDMwMCk7DQogICAgICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAgICAgJCgnI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0nKS5zdG9wKHRydWUsdHJ1ZSkuZmFkZU91dCgxMDApOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCg0KDQoNCiAgICAgICAgICAgIC8qIGZ1bGxzY3JlZW4gc2VhcmNoIGZvcm0gKi8NCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICdhW2hyZWY9IiNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtIl0nLCBmdW5jdGlvbihldmVudCkgew0KICAgICAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgICAgICAgICAgJCgiI2Z1bGxzY3JlZW4tc2VhcmNoLWZvcm0iKS5hZGRDbGFzcygib3BlbiIpOw0KICAgICAgICAgICAgICAgICQoJyNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtID4gZm9ybSA+IGlucHV0W3R5cGU9InNlYXJjaCJdJykuZm9jdXMoKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2NsaWNrIGtleXVwJywgJyNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtLCAjZnVsbHNjcmVlbi1zZWFyY2gtZm9ybSBidXR0b24uY2xvc2UnLCBmdW5jdGlvbihldmVudCkgew0KICAgICAgICAgICAgICAgIGlmICgNCiAgICAgICAgICAgICAgICAgICAgZXZlbnQudGFyZ2V0ID09PSB0aGlzIHx8DQogICAgICAgICAgICAgICAgICAgIGV2ZW50LnRhcmdldC5jbGFzc05hbWUgPT09ICJjbG9zZSIgfHwNCiAgICAgICAgICAgICAgICAgICAgZXZlbnQua2V5Q29kZSA9PT0gMjcNCiAgICAgICAgICAgICAgICApIHsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5yZW1vdmVDbGFzcygib3BlbiIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KDQoNCiAgICAgICAgICAgIC8qIHB1c2hkb3duIGZyb20gdG9wIHNlYXJjaCBmb3JtICovDQogICAgICAgICAgICAkZG9jdW1lbnRfYm9keS5vbignY2xpY2snLCAnLnRvcC1wdXNoZG93bi1zZWFyY2gtYnRuJywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgIGlmKCAhJCgnLnRvcC1wdXNoZG93bi1zZWFyY2hiYXIuY29sbGFwc2UnKS5oYXNDbGFzcygnaW4nKSApIHsNCiAgICAgICAgICAgICAgICAgICAgJCgnaHRtbCwgYm9keScpLmFuaW1hdGUoew0KICAgICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiAwDQogICAgICAgICAgICAgICAgICAgIH0sIDgwMCwgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIC8vIEFuaW1hdGlvbiBjb21wbGV0ZS4NCiAgICAgICAgICAgICAgICAgICAgJCgnI3RvcC1wdXNoZG93bi1zZWFyY2hiYXIgZm9ybScpLmZpbmQoJ2lucHV0W3R5cGU9InNlYXJjaCJdJykuZm9jdXMoKTsNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQoNCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGaXhlZCBGb290ZXIgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9maXhlZEZvb3RlcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJGZpeGVkX2Zvb3RlciA9ICQoJy5maXhlZC1mb290ZXInKTsNCg0KICAgICAgICAgICAgaWYoICRmaXhlZF9mb290ZXIubGVuZ3RoID4gMCApew0KICAgICAgICAgICAgICAgICQoJ2JvZHkuaGFzLWZpeGVkLWZvb3RlciAubWFpbi1jb250ZW50JykuY3NzKCdtYXJnaW4tYm90dG9tJywgJGZpeGVkX2Zvb3Rlci5oZWlnaHQoKSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQogICAgICAgIA0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBEYXRlIFBpY2tlciAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9kYXRlUGlja2VyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICQoICIuZGF0ZS1waWNrZXIiICkuZGF0ZXBpY2tlcigpOw0KICAgICAgICAgICAgJCggIi50aW1lLXBpY2tlciIgKS50aW1lcGlja2VyKCk7DQogICAgICAgICAgICAkKCAiLmRhdGV0aW1lLXBpY2tlciIgKS5kYXRldGltZXBpY2tlcigpOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZGRzbGljayAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2Rkc2xpY2s6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRkZHNsaWNrID0gJCgic2VsZWN0LmRkc2xpY2siKTsNCiAgICAgICAgICAgIGlmKCAkZGRzbGljay5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRkZHNsaWNrLmVhY2goZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG5hbWUgPSAgJCh0aGlzKS5hdHRyKCduYW1lJyk7DQogICAgICAgICAgICAgICAgICAgIHZhciBpZCA9ICQodGhpcykuYXR0cignaWQnKTsNCiAgICAgICAgICAgICAgICAgICAgJCgiIyIraWQpLmRkc2xpY2soew0KICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlUG9zaXRpb246ICJsZWZ0IiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG9uU2VsZWN0ZWQ6IGZ1bmN0aW9uKHNlbGVjdGVkRGF0YSl7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJCgiIyIraWQrICIgLmRkLXNlbGVjdGVkLXZhbHVlIikucHJvcCAoJ25hbWUnLCBuYW1lKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICB9ICANCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBzbGlkZXIgcmFuZ2UgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fc2xpZGVyUmFuZ2U6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRzbGlkZXJfcmFuZ2UgPSAkKCIuc2xpZGVyLXJhbmdlIik7DQogICAgICAgICAgICBpZiggJHNsaWRlcl9yYW5nZS5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRzbGlkZXJfcmFuZ2UuZWFjaChmdW5jdGlvbigpew0KICAgICAgICAgICAgICAgICAgICB2YXIgaWQgPSAkKHRoaXMpLmF0dHIoJ2lkJyk7DQogICAgICAgICAgICAgICAgICAgIHZhciB0YXJnZXRfaWQgPSAkKHRoaXMpLmRhdGEoJ3RhcmdldCcpOw0KICAgICAgICAgICAgICAgICAgICAkKCAiIyIgKyB0YXJnZXRfaWQgKS5zbGlkZXIoew0KICAgICAgICAgICAgICAgICAgICAgIHJhbmdlOiAibWF4IiwNCiAgICAgICAgICAgICAgICAgICAgICBtaW46IDIwMDEsDQogICAgICAgICAgICAgICAgICAgICAgbWF4OiAyMDE2LA0KICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiAyMDEwLA0KICAgICAgICAgICAgICAgICAgICAgIHNsaWRlOiBmdW5jdGlvbiggZXZlbnQsIHVpICkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJCggIiMiICsgaWQgKS52YWwoIHVpLnZhbHVlICk7DQogICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgJCggIiMiICsgaWQgKS52YWwoICQoICIjIiArIHRhcmdldF9pZCApLnNsaWRlciggInZhbHVlIiApICk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQm9vdHN0cmFwIFBhcmVudCBNb2RhbCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fbG9hZEJTUGFyZW50TW9kYWw6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIGFqYXhMb2FkQ29udGVudCA9IHRydWU7DQogICAgICAgICAgICBpZiggYWpheExvYWRDb250ZW50ICkgew0KICAgICAgICAgICAgICAgICQuYWpheCh7DQogICAgICAgICAgICAgICAgICAgIHVybDogImFqYXgtbG9hZC9ib290c3RyYXAtcGFyZW50LW1vZGFsLmh0bWwiLA0KICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSkgeyAkYm9keS5hcHBlbmQoZGF0YSk7IH0sDQogICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnaHRtbCcNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBEZW1vIFN3aXRjaGVyICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9kZW1vU3dpdGNoZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHNob3dTd2l0Y2hlciA9IHRydWU7DQogICAgICAgICAgICB2YXIgJHN0eWxlX3N3aXRjaGVyID0gJCgnI3N0eWxlLXN3aXRjaGVyJyk7DQogICAgICAgICAgICBpZiggISRzdHlsZV9zd2l0Y2hlci5sZW5ndGggJiYgc2hvd1N3aXRjaGVyICkgew0KICAgICAgICAgICAgICAgICQuYWpheCh7DQogICAgICAgICAgICAgICAgICAgIHVybDogImNvbG9yLXN3aXRjaGVyL3N0eWxlLXN3aXRjaGVyLmh0bWwiLA0KICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbiAoZGF0YSkgeyAkYm9keS5hcHBlbmQoZGF0YSk7IH0sDQogICAgICAgICAgICAgICAgICAgIGRhdGFUeXBlOiAnaHRtbCcNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBQcmVsb2FkZXIgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9wcmVMb2FkZXJDbGlja0Rpc2FibGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRwcmVsb2FkZXIgPSAkKCcjcHJlbG9hZGVyJyk7DQogICAgICAgICAgICAkcHJlbG9hZGVyLmNoaWxkcmVuKCcjZGlzYWJsZS1wcmVsb2FkZXInKS5vbignY2xpY2snLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgJHByZWxvYWRlci5mYWRlT3V0KCk7DQogICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0sDQoNCiAgICAgICAgVE1fcHJlTG9hZGVyT25Mb2FkOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkcHJlbG9hZGVyID0gJCgnI3ByZWxvYWRlcicpOw0KICAgICAgICAgICAgaWYoICRwcmVsb2FkZXIubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkcHJlbG9hZGVyLmRlbGF5KDIwMCkuZmFkZU91dCgnc2xvdycpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFBsYXRmb3JtIGRldGVjdCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fcGxhdGZvcm1EZXRlY3Q6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKFRIRU1FTUFTQ09ULmlzTW9iaWxlLmFueSgpKSB7DQogICAgICAgICAgICAgICAgJGh0bWwuYWRkQ2xhc3MoIm1vYmlsZSIpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkaHRtbC5hZGRDbGFzcygibm8tbW9iaWxlIik7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gUG9wdXAgUHJvbW8gQm94ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fb25Mb2FkUG9wdXBQcm9tb0JveDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJG1vZGFsID0gJCgnLm9uLXBhZ2Vsb2FkLXBvcHVwLXByb21vYm94Jyk7DQogICAgICAgICAgICBpZiggJG1vZGFsLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1vZGFsLmVhY2goIGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgICAgIHZhciAkY3VycmVudF9pdGVtICAgICAgID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHRhcmdldCAgICAgICAgICAgICAgPSAkY3VycmVudF9pdGVtLmRhdGEoJ3RhcmdldCcpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgdGltZW91dCAgICAgICAgICAgICA9ICRjdXJyZW50X2l0ZW0uZGF0YSgndGltZW91dCcpOw0KDQogICAgICAgICAgICAgICAgICAgIHZhciBkZWxheSAgICAgICAgICAgICAgID0gJGN1cnJlbnRfaXRlbS5kYXRhKCdkZWxheScpOw0KICAgICAgICAgICAgICAgICAgICBkZWxheSA9ICggIWRlbGF5ICkgPyAyNTAwIDogTnVtYmVyKGRlbGF5KSArIDI1MDA7DQoNCiAgICAgICAgICAgICAgICAgICAgaWYoICRjdXJyZW50X2l0ZW0uaGFzQ2xhc3MoJ2Nvb2tpZS1lbmFibGVkJykgKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgZWxlbWVudENvb2tpZSA9ICQuY29va2llKCB0YXJnZXQgKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggISFlbGVtZW50Q29va2llICYmIGVsZW1lbnRDb29raWUgPT09ICdlbmFibGVkJyApew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgJC5yZW1vdmVDb29raWUoIHRhcmdldCApOw0KICAgICAgICAgICAgICAgICAgICB9DQoNCiAgICAgICAgICAgICAgICAgICAgdmFyIHRfZW5hYmxlcG9wdXAgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgJC5tYWduaWZpY1BvcHVwLm9wZW4oew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiB7IHNyYzogdGFyZ2V0IH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lubGluZScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbWZwLW5vLW1hcmdpbnMgbWZwLWZhZGUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXhlZENvbnRlbnRQb3M6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZhbERlbGF5OiA1MDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGJhY2tzOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyQ2xvc2U6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoICRjdXJyZW50X2l0ZW0uaGFzQ2xhc3MoJ2Nvb2tpZS1lbmFibGVkJykgKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJC5jb29raWUoIHRhcmdldCwgJ2VuYWJsZWQnICk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9LCAwKTsNCiAgICAgICAgICAgICAgICAgICAgfSwgTnVtYmVyKGRlbGF5KSApOw0KDQogICAgICAgICAgICAgICAgICAgIGlmKCB0aW1lb3V0ICE9PSAnJyApIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0X2Nsb3NlcG9wdXAgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICQubWFnbmlmaWNQb3B1cC5jbG9zZSgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgTnVtYmVyKGRlbGF5KSArIE51bWJlcih0aW1lb3V0KSApOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gSGFzaCBGb3J3YXJkaW5nICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1faGFzaEZvcndhcmRpbmc6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5oYXNoKSB7DQogICAgICAgICAgICAgICAgdmFyIGhhc2hfb2Zmc2V0ID0gJCh3aW5kb3cubG9jYXRpb24uaGFzaCkub2Zmc2V0KCkudG9wOw0KICAgICAgICAgICAgICAgICQoImh0bWwsIGJvZHkiKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiBoYXNoX29mZnNldA0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCYWNrZ3JvdW5kIGltYWdlLCBjb2xvciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fY3VzdG9tRGF0YUF0dHJpYnV0ZXM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJCgnW2RhdGEtYmctY29sb3JdJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygiY3NzVGV4dCIsICJiYWNrZ3JvdW5kOiAiICsgJCh0aGlzKS5kYXRhKCJiZy1jb2xvciIpICsgIiAhaW1wb3J0YW50OyIpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCdbZGF0YS1iZy1pbWddJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnYmFja2dyb3VuZC1pbWFnZScsICd1cmwoJyArICQodGhpcykuZGF0YSgiYmctaW1nIikgKyAnKScpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCdbZGF0YS10ZXh0LWNvbG9yXScpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoJ2NvbG9yJywgJCh0aGlzKS5kYXRhKCJ0ZXh0LWNvbG9yIikpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCdbZGF0YS1mb250LXNpemVdJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnZm9udC1zaXplJywgJCh0aGlzKS5kYXRhKCJmb250LXNpemUiKSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICQoJ1tkYXRhLWhlaWdodF0nKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICQodGhpcykuY3NzKCdoZWlnaHQnLCAkKHRoaXMpLmRhdGEoImhlaWdodCIpKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgJCgnW2RhdGEtd2lkdGhdJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnd2lkdGgnLCAkKHRoaXMpLmRhdGEoIndpZHRoIikpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCdbZGF0YS1ib3JkZXJdJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnYm9yZGVyJywgJCh0aGlzKS5kYXRhKCJib3JkZXIiKSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICQoJ1tkYXRhLW1hcmdpbi10b3BdJykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNzcygnbWFyZ2luLXRvcCcsICQodGhpcykuZGF0YSgibWFyZ2luLXRvcCIpKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgJCgnW2RhdGEtbWFyZ2luLXJpZ2h0XScpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoJ21hcmdpbi1yaWdodCcsICQodGhpcykuZGF0YSgibWFyZ2luLXJpZ2h0IikpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCdbZGF0YS1tYXJnaW4tYm90dG9tXScpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoJ21hcmdpbi1ib3R0b20nLCAkKHRoaXMpLmRhdGEoIm1hcmdpbi1ib3R0b20iKSk7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICQoJ1tkYXRhLW1hcmdpbi1sZWZ0XScpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5jc3MoJ21hcmdpbi1sZWZ0JywgJCh0aGlzKS5kYXRhKCJtYXJnaW4tbGVmdCIpKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9LA0KDQoNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEJhY2tncm91bmQgUGFyYWxsYXggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9wYXJhbGxheEJnSW5pdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiAoIVRIRU1FTUFTQ09ULmlzTW9iaWxlLmFueSgpICYmICR3aW5kb3cud2lkdGgoKSA+PSA4MDAgKSB7DQogICAgICAgICAgICAgICAgJCgnLnBhcmFsbGF4JykuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfcGFyYWxsYXhfcmF0aW8gPSAoICQodGhpcykuZGF0YSgicGFyYWxsYXgtcmF0aW8iKSA9PT0gdW5kZWZpbmVkICkgPyAnMC41JzogJCh0aGlzKS5kYXRhKCJwYXJhbGxheC1yYXRpbyIpOw0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmFsbGF4KCI1MCUiLCBkYXRhX3BhcmFsbGF4X3JhdGlvKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJCgnLnBhcmFsbGF4JykuYWRkQ2xhc3MoIm1vYmlsZS1wYXJhbGxheCIpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEhvbWUgUmVzaXplIEZ1bGxzY3JlZW4gLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3Jlc2l6ZUZ1bGxzY3JlZW46IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHdpbmRvd0hlaWdodCA9ICR3aW5kb3cuaGVpZ2h0KCk7DQogICAgICAgICAgICAkKCcuZnVsbHNjcmVlbiwgLnJldnNsaWRlci1mdWxsc2NyZWVuJykuaGVpZ2h0KHdpbmRvd0hlaWdodCk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNYWduaWZpYyBQb3B1cCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fbWFnbmlmaWNQb3B1cF9saWdodGJveDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICANCiAgICAgICAgICAgIHZhciAkaW1hZ2VfcG9wdXBfbGlnaHRib3ggPSAkKCcuaW1hZ2UtcG9wdXAtbGlnaHRib3gnKTsNCiAgICAgICAgICAgIGlmKCAkaW1hZ2VfcG9wdXBfbGlnaHRib3gubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkaW1hZ2VfcG9wdXBfbGlnaHRib3gubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlT25Db250ZW50Q2xpY2s6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgZml4ZWRDb250ZW50UG9zOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBtYWluQ2xhc3M6ICdtZnAtbm8tbWFyZ2lucyBtZnAtZmFkZScsIC8vIGNsYXNzIHRvIHJlbW92ZSBkZWZhdWx0IG1hcmdpbiBmcm9tIGxlZnQgYW5kIHJpZ2h0IHNpZGUNCiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsRml0OiB0cnVlDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRpbWFnZV9wb3B1cF92ZXJ0aWNhbF9maXQgPSAkKCcuaW1hZ2UtcG9wdXAtdmVydGljYWwtZml0Jyk7DQogICAgICAgICAgICBpZiggJGltYWdlX3BvcHVwX3ZlcnRpY2FsX2ZpdC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRpbWFnZV9wb3B1cF92ZXJ0aWNhbF9maXQubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlT25Db250ZW50Q2xpY2s6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIG1haW5DbGFzczogJ21mcC1pbWctbW9iaWxlJywNCiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsRml0OiB0cnVlDQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRpbWFnZV9wb3B1cF9maXRfd2lkdGggPSAkKCcuaW1hZ2UtcG9wdXAtZml0LXdpZHRoJyk7DQogICAgICAgICAgICBpZiggJGltYWdlX3BvcHVwX2ZpdF93aWR0aC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRpbWFnZV9wb3B1cF9maXRfd2lkdGgubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlT25Db250ZW50Q2xpY2s6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIGltYWdlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbEZpdDogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJGltYWdlX3BvcHVwX25vX21hcmdpbnMgPSAkKCcuaW1hZ2UtcG9wdXAtbm8tbWFyZ2lucycpOw0KICAgICAgICAgICAgaWYoICRpbWFnZV9wb3B1cF9ub19tYXJnaW5zLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGltYWdlX3BvcHVwX25vX21hcmdpbnMubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlT25Db250ZW50Q2xpY2s6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgZml4ZWRDb250ZW50UG9zOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICBtYWluQ2xhc3M6ICdtZnAtbm8tbWFyZ2lucyBtZnAtd2l0aC16b29tJywgLy8gY2xhc3MgdG8gcmVtb3ZlIGRlZmF1bHQgbWFyZ2luIGZyb20gbGVmdCBhbmQgcmlnaHQgc2lkZQ0KICAgICAgICAgICAgICAgICAgICBpbWFnZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxGaXQ6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgem9vbTogew0KICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAgLy8gZG9uJ3QgZm9nZXQgdG8gY2hhbmdlIHRoZSBkdXJhdGlvbiBhbHNvIGluIENTUw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkcG9wdXBfZ2FsbGVyeSA9ICQoJy5wb3B1cC1nYWxsZXJ5Jyk7DQogICAgICAgICAgICBpZiggJHBvcHVwX2dhbGxlcnkubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkcG9wdXBfZ2FsbGVyeS5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgICAgICAgICAgICAgZGVsZWdhdGU6ICdhJywNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltYWdlJywNCiAgICAgICAgICAgICAgICAgICAgdExvYWRpbmc6ICdMb2FkaW5nIGltYWdlICMlY3VyciUuLi4nLA0KICAgICAgICAgICAgICAgICAgICBtYWluQ2xhc3M6ICdtZnAtaW1nLW1vYmlsZScsDQogICAgICAgICAgICAgICAgICAgIGdhbGxlcnk6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0ZUJ5SW1nQ2xpY2s6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBwcmVsb2FkOiBbMCwxXSAvLyBXaWxsIHByZWxvYWQgMCAtIGJlZm9yZSBjdXJyZW50LCBhbmQgMSBhZnRlciB0aGUgY3VycmVudCBpbWFnZQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICBpbWFnZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgdEVycm9yOiAnPGEgaHJlZj0iJXVybCUiPlRoZSBpbWFnZSAjJWN1cnIlPC9hPiBjb3VsZCBub3QgYmUgbG9hZGVkLicsDQogICAgICAgICAgICAgICAgICAgICAgICB0aXRsZVNyYzogZnVuY3Rpb24oaXRlbSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpdGVtLmVsLmF0dHIoJ3RpdGxlJykgKyAnPHNtYWxsPmJ5IE1hcnNlbCBWYW4gT29zdGVuPC9zbWFsbD4nOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkem9vbV9nYWxsZXJ5ID0gJCgnLnpvb20tZ2FsbGVyeScpOw0KICAgICAgICAgICAgaWYoICR6b29tX2dhbGxlcnkubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkem9vbV9nYWxsZXJ5Lm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICBkZWxlZ2F0ZTogJ2EnLA0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaW1hZ2UnLA0KICAgICAgICAgICAgICAgICAgICBjbG9zZU9uQ29udGVudENsaWNrOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgY2xvc2VCdG5JbnNpZGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBtYWluQ2xhc3M6ICdtZnAtd2l0aC16b29tIG1mcC1pbWctbW9iaWxlJywNCiAgICAgICAgICAgICAgICAgICAgaW1hZ2U6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsRml0OiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgdGl0bGVTcmM6IGZ1bmN0aW9uKGl0ZW0pIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gaXRlbS5lbC5hdHRyKCd0aXRsZScpICsgJyAmbWlkZG90OyA8YSBjbGFzcz0iaW1hZ2Utc291cmNlLWxpbmsiIGhyZWY9IicraXRlbS5lbC5hdHRyKCdkYXRhLXNvdXJjZScpKyciIHRhcmdldD0iX2JsYW5rIj5pbWFnZSBzb3VyY2U8L2E+JzsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgZ2FsbGVyeTogew0KICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICB6b29tOiB7DQogICAgICAgICAgICAgICAgICAgICAgICBlbmFibGVkOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDMwMCwgLy8gZG9uJ3QgZm9nZXQgdG8gY2hhbmdlIHRoZSBkdXJhdGlvbiBhbHNvIGluIENTUw0KICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVyOiBmdW5jdGlvbihlbGVtZW50KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQuZmluZCgnaW1nJyk7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIHZhciAkcG9wdXBfeXRfdmltZW9fZ21hcCA9ICQoJy5wb3B1cC15b3V0dWJlLCAucG9wdXAtdmltZW8sIC5wb3B1cC1nbWFwcycpOw0KICAgICAgICAgICAgaWYoICRwb3B1cF95dF92aW1lb19nbWFwLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHBvcHVwX3l0X3ZpbWVvX2dtYXAubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIGRpc2FibGVPbjogNzAwLA0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaWZyYW1lJywNCiAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbWZwLWZhZGUnLA0KICAgICAgICAgICAgICAgICAgICByZW1vdmFsRGVsYXk6IDE2MCwNCiAgICAgICAgICAgICAgICAgICAgcHJlbG9hZGVyOiBmYWxzZSwNCg0KICAgICAgICAgICAgICAgICAgICBmaXhlZENvbnRlbnRQb3M6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkcG9wdXBfd2l0aF96b29tX2FuaW0gPSAkKCcucG9wdXAtd2l0aC16b29tLWFuaW0nKTsNCiAgICAgICAgICAgIGlmKCAkcG9wdXBfd2l0aF96b29tX2FuaW0ubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkcG9wdXBfd2l0aF96b29tX2FuaW0ubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbmxpbmUnLA0KDQogICAgICAgICAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgIGZpeGVkQmdQb3M6IHRydWUsDQoNCiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsDQoNCiAgICAgICAgICAgICAgICAgICAgY2xvc2VCdG5JbnNpZGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIHByZWxvYWRlcjogZmFsc2UsDQoNCiAgICAgICAgICAgICAgICAgICAgbWlkQ2xpY2s6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIHJlbW92YWxEZWxheTogMzAwLA0KICAgICAgICAgICAgICAgICAgICBtYWluQ2xhc3M6ICdteS1tZnAtem9vbS1pbicNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRwb3B1cF93aXRoX21vdmVfYW5pbSA9ICQoJy5wb3B1cC13aXRoLW1vdmUtYW5pbScpOw0KICAgICAgICAgICAgaWYoICRwb3B1cF93aXRoX21vdmVfYW5pbS5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRwb3B1cF93aXRoX21vdmVfYW5pbS5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2lubGluZScsDQoNCiAgICAgICAgICAgICAgICAgICAgZml4ZWRDb250ZW50UG9zOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgZml4ZWRCZ1BvczogdHJ1ZSwNCg0KICAgICAgICAgICAgICAgICAgICBvdmVyZmxvd1k6ICdhdXRvJywNCg0KICAgICAgICAgICAgICAgICAgICBjbG9zZUJ0bkluc2lkZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgcHJlbG9hZGVyOiBmYWxzZSwNCg0KICAgICAgICAgICAgICAgICAgICBtaWRDbGljazogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgcmVtb3ZhbERlbGF5OiAzMDAsDQogICAgICAgICAgICAgICAgICAgIG1haW5DbGFzczogJ215LW1mcC1zbGlkZS1ib3R0b20nDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIHZhciAkYWpheGxvYWRfcG9wdXAgPSAkKCcuYWpheGxvYWQtcG9wdXAnKTsNCiAgICAgICAgICAgIGlmKCAkYWpheGxvYWRfcG9wdXAubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkYWpheGxvYWRfcG9wdXAubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICB0eXBlOiAnYWpheCcsDQogICAgICAgICAgICAgICAgICBhbGlnblRvcDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgIG92ZXJmbG93WTogJ3Njcm9sbCcsIC8vIGFzIHdlIGtub3cgdGhhdCBwb3B1cCBjb250ZW50IGlzIHRhbGwgd2Ugc2V0IHNjcm9sbCBvdmVyZmxvdyBieSBkZWZhdWx0IHRvIGF2b2lkIGp1bXANCiAgICAgICAgICAgICAgICAgIGNhbGxiYWNrczogew0KICAgICAgICAgICAgICAgICAgICBwYXJzZUFqYXg6IGZ1bmN0aW9uKG1mcFJlc3BvbnNlKSB7DQogICAgICAgICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9kYXRlUGlja2VyKCk7DQogICAgICAgICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9zbGlkZXJSYW5nZSgpOw0KICAgICAgICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fZGRzbGljaygpOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkZm9ybV9hamF4X2xvYWQgPSAkKCcuZm9ybS1hamF4LWxvYWQnKTsNCiAgICAgICAgICAgIGlmKCAkZm9ybV9hamF4X2xvYWQubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkZm9ybV9hamF4X2xvYWQubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICB0eXBlOiAnYWpheCcNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KICAgICAgICAgICAgdmFyICRwb3B1cF93aXRoX2Zvcm0gPSAkKCcucG9wdXAtd2l0aC1mb3JtJyk7DQogICAgICAgICAgICBpZiggJHBvcHVwX3dpdGhfZm9ybS5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRwb3B1cF93aXRoX2Zvcm0ubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbmxpbmUnLA0KICAgICAgICAgICAgICAgICAgICBwcmVsb2FkZXI6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBmb2N1czogJyNuYW1lJywNCg0KICAgICAgICAgICAgICAgICAgICBtYWluQ2xhc3M6ICdtZnAtbm8tbWFyZ2lucyBtZnAtZmFkZScsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgZml4ZWRDb250ZW50UG9zOiB0cnVlLA0KDQogICAgICAgICAgICAgICAgICAgIC8vIFdoZW4gZWxlbWVuZWQgaXMgZm9jdXNlZCwgc29tZSBtb2JpbGUgYnJvd3NlcnMgaW4gc29tZSBjYXNlcyB6b29tIGluDQogICAgICAgICAgICAgICAgICAgIC8vIEl0IGxvb2tzIG5vdCBuaWNlLCBzbyB3ZSBkaXNhYmxlIGl0Og0KICAgICAgICAgICAgICAgICAgICBjYWxsYmFja3M6IHsNCiAgICAgICAgICAgICAgICAgICAgICBiZWZvcmVPcGVuOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmKCR3aW5kb3cud2lkdGgoKSA8IDcwMCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0LmZvY3VzID0gZmFsc2U7DQogICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0LmZvY3VzID0gJyNuYW1lJzsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRtZnBMaWdodGJveEFqYXggPSAkKCdbZGF0YS1saWdodGJveD0iYWpheCJdJyk7DQogICAgICAgICAgICBpZiggJG1mcExpZ2h0Ym94QWpheC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRtZnBMaWdodGJveEFqYXgubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdhamF4JywNCiAgICAgICAgICAgICAgICAgICAgY2xvc2VCdG5JbnNpZGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBjYWxsYmFja3M6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGFqYXhDb250ZW50QWRkZWQ6IGZ1bmN0aW9uKG1mcFJlc3BvbnNlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgb3BlbjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2U6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vbGlnaHRib3ggaW1hZ2UNCiAgICAgICAgICAgIHZhciAkbWZwTGlnaHRib3hJbWFnZSA9ICQoJ1tkYXRhLWxpZ2h0Ym94PSJpbWFnZSJdJyk7DQogICAgICAgICAgICBpZiggJG1mcExpZ2h0Ym94SW1hZ2UubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbWZwTGlnaHRib3hJbWFnZS5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2ltYWdlJywNCiAgICAgICAgICAgICAgICAgICAgY2xvc2VPbkNvbnRlbnRDbGljazogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgY2xvc2VCdG5JbnNpZGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBmaXhlZENvbnRlbnRQb3M6IHRydWUsDQogICAgICAgICAgICAgICAgICAgIG1haW5DbGFzczogJ21mcC1uby1tYXJnaW5zIG1mcC13aXRoLXpvb20nLCAvLyBjbGFzcyB0byByZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBsZWZ0IGFuZCByaWdodCBzaWRlDQogICAgICAgICAgICAgICAgICAgIGltYWdlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICB2ZXJ0aWNhbEZpdDogdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vbGlnaHRib3ggZ2FsbGVyeQ0KICAgICAgICAgICAgdmFyICRtZnBMaWdodGJveEdhbGxlcnkgPSAkKCdbZGF0YS1saWdodGJveD0iZ2FsbGVyeSJdJyk7DQogICAgICAgICAgICBpZiggJG1mcExpZ2h0Ym94R2FsbGVyeS5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRtZnBMaWdodGJveEdhbGxlcnkuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGVsZW1lbnQgPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICBlbGVtZW50Lm1hZ25pZmljUG9wdXAoew0KICAgICAgICAgICAgICAgICAgICAgICAgZGVsZWdhdGU6ICdhW2RhdGEtbGlnaHRib3g9ImdhbGxlcnktaXRlbSJdJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsDQogICAgICAgICAgICAgICAgICAgICAgICBjbG9zZU9uQ29udGVudENsaWNrOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VCdG5JbnNpZGU6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgZml4ZWRDb250ZW50UG9zOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWFpbkNsYXNzOiAnbWZwLW5vLW1hcmdpbnMgbWZwLXdpdGgtem9vbScsIC8vIGNsYXNzIHRvIHJlbW92ZSBkZWZhdWx0IG1hcmdpbiBmcm9tIGxlZnQgYW5kIHJpZ2h0IHNpZGUNCiAgICAgICAgICAgICAgICAgICAgICAgIGltYWdlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVydGljYWxGaXQ6IHRydWUNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBnYWxsZXJ5OiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXZpZ2F0ZUJ5SW1nQ2xpY2s6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJlbG9hZDogWzAsMV0gLy8gV2lsbCBwcmVsb2FkIDAgLSBiZWZvcmUgY3VycmVudCwgYW5kIDEgYWZ0ZXIgdGhlIGN1cnJlbnQgaW1hZ2UNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICB6b29tOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgIGVuYWJsZWQ6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgIGR1cmF0aW9uOiAzMDAsIC8vIGRvbid0IGZvZ2V0IHRvIGNoYW5nZSB0aGUgZHVyYXRpb24gYWxzbyBpbiBDU1MNCiAgICAgICAgICAgICAgICAgICAgICAgICAgb3BlbmVyOiBmdW5jdGlvbihlbGVtZW50KSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGVsZW1lbnQuZmluZCgnaW1nJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy9saWdodGJveCBpZnJhbWUNCiAgICAgICAgICAgIHZhciAkbWZwTGlnaHRib3hJZnJhbWUgPSAkKCdbZGF0YS1saWdodGJveD0iaWZyYW1lIl0nKTsNCiAgICAgICAgICAgIGlmKCAkbWZwTGlnaHRib3hJZnJhbWUubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbWZwTGlnaHRib3hJZnJhbWUubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIGRpc2FibGVPbjogNjAwLA0KICAgICAgICAgICAgICAgICAgICB0eXBlOiAnaWZyYW1lJywNCiAgICAgICAgICAgICAgICAgICAgcmVtb3ZhbERlbGF5OiAxNjAsDQogICAgICAgICAgICAgICAgICAgIHByZWxvYWRlcjogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgIGZpeGVkQ29udGVudFBvczogZmFsc2UNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLy9saWdodGJveCBpbmxpbmUNCiAgICAgICAgICAgIHZhciAkbWZwTGlnaHRib3hJbmxpbmUgPSAkKCdbZGF0YS1saWdodGJveD0iaW5saW5lIl0nKTsNCiAgICAgICAgICAgIGlmKCAkbWZwTGlnaHRib3hJbmxpbmUubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbWZwTGlnaHRib3hJbmxpbmUubWFnbmlmaWNQb3B1cCh7DQogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbmxpbmUnLA0KICAgICAgICAgICAgICAgICAgICBtYWluQ2xhc3M6ICdtZnAtbm8tbWFyZ2lucyBtZnAtem9vbS1pbicsDQogICAgICAgICAgICAgICAgICAgIGNsb3NlQnRuSW5zaWRlOiBmYWxzZSwNCiAgICAgICAgICAgICAgICAgICAgZml4ZWRDb250ZW50UG9zOiB0cnVlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBsaWdodGJveCBwb3B1cCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fcHJldHR5UGhvdG9fbGlnaHRib3g6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgLy9wcmV0dHlQaG90byBsaWdodGJveA0KICAgICAgICAgICAgdmFyICRwcmV0dHlfcGhvdG9fbGlnaHRib3ggPSAkKCJhW2RhdGEtcmVsXj0ncHJldHR5UGhvdG8nXSIpOw0KICAgICAgICAgICAgaWYoICRwcmV0dHlfcGhvdG9fbGlnaHRib3gubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkcHJldHR5X3Bob3RvX2xpZ2h0Ym94LnByZXR0eVBob3RvKHsNCiAgICAgICAgICAgICAgICAgICAgaG9vazogJ2RhdGEtcmVsJywNCiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uX3NwZWVkOidub3JtYWwnLA0KICAgICAgICAgICAgICAgICAgICB0aGVtZTonbGlnaHRfc3F1YXJlJywNCiAgICAgICAgICAgICAgICAgICAgc2xpZGVzaG93OjMwMDAsIA0KICAgICAgICAgICAgICAgICAgICBhdXRvcGxheV9zbGlkZXNob3c6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICBzb2NpYWxfdG9vbHM6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gTml2byBMaWdodGJveCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fbml2b2xpZ2h0Ym94OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkbml2b19saWdodGJveCA9ICQoJ2FbZGF0YS1saWdodGJveC1nYWxsZXJ5XScpOw0KICAgICAgICAgICAgaWYoICRuaXZvX2xpZ2h0Ym94Lmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG5pdm9fbGlnaHRib3gubml2b0xpZ2h0Ym94KHsNCiAgICAgICAgICAgICAgICAgICAgZWZmZWN0OiAnZmFkZVNjYWxlJywNCiAgICAgICAgICAgICAgICAgICAgYWZ0ZXJTaG93TGlnaHRib3g6IGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgJG5pdm9faWZyYW1lID0gJCgnLm5pdm8tbGlnaHRib3gtY29udGVudCA+IGlmcmFtZScpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYoICRuaXZvX2lmcmFtZS5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzcmMgPSAkbml2b19pZnJhbWUuYXR0cignc3JjJyk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJG5pdm9faWZyYW1lLmF0dHIoJ3NyYycsIHNyYyArICc/YXV0b3BsYXk9MScpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCg0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBXb3cgaW5pdGlhbGl6ZSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3dvdzogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgd293ID0gbmV3IFdPVyh7DQogICAgICAgICAgICAgICAgbW9iaWxlOiBmYWxzZSAvLyB0cmlnZ2VyIGFuaW1hdGlvbnMgb24gbW9iaWxlIGRldmljZXMgKGRlZmF1bHQgaXMgdHJ1ZSkNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgd293LmluaXQoKTsNCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZpdCBWaWRzIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9maXRWaWRzOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICRib2R5LmZpdFZpZHMoKTsNCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFlUIFBsYXllciBmb3IgVmlkZW8gLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9ZVFBsYXllcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJHl0dWJlX3BsYXllciA9ICQoIi5wbGF5ZXIiKTsNCiAgICAgICAgICAgIGlmKCAkeXR1YmVfcGxheWVyLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHl0dWJlX3BsYXllci5tYl9ZVFBsYXllcigpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBlcXVhbEhlaWdodHMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2VxdWFsSGVpZ2h0RGl2czogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAvKiBlcXVhbCBoZWlnaCAqLw0KICAgICAgICAgICAgdmFyICRlcXVhbF9oZWlnaHQgPSAkKCcuZXF1YWwtaGVpZ2h0Jyk7DQogICAgICAgICAgICBpZiggJGVxdWFsX2hlaWdodC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRlcXVhbF9oZWlnaHQuY2hpbGRyZW4oJ2RpdicpLmNzcygnbWluLWhlaWdodCcsICdhdXRvJyk7DQogICAgICAgICAgICAgICAgJGVxdWFsX2hlaWdodC5lcXVhbEhlaWdodHMoKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgLyogZXF1YWwgaGVpZ2ggaW5uZXIgZGl2ICovDQogICAgICAgICAgICB2YXIgJGVxdWFsX2hlaWdodF9pbm5lciA9ICQoJy5lcXVhbC1oZWlnaHQtaW5uZXInKTsNCiAgICAgICAgICAgIGlmKCAkZXF1YWxfaGVpZ2h0X2lubmVyLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGVxdWFsX2hlaWdodF9pbm5lci5jaGlsZHJlbignZGl2JykuY3NzKCdtaW4taGVpZ2h0JywgJ2F1dG8nKTsNCiAgICAgICAgICAgICAgICAkZXF1YWxfaGVpZ2h0X2lubmVyLmNoaWxkcmVuKCdkaXYnKS5jaGlsZHJlbignZGl2JykuY3NzKCdtaW4taGVpZ2h0JywgJ2F1dG8nKTsNCiAgICAgICAgICAgICAgICAkZXF1YWxfaGVpZ2h0X2lubmVyLmVxdWFsSGVpZ2h0cygpOw0KICAgICAgICAgICAgICAgICRlcXVhbF9oZWlnaHRfaW5uZXIuY2hpbGRyZW4oJ2RpdicpLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykuY2hpbGRyZW4oJ2RpdicpLmNzcygnbWluLWhlaWdodCcsICQodGhpcykuY3NzKCdtaW4taGVpZ2h0JykpOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAvKiBwcmljaW5nLXRhYmxlIGVxdWFsIGhlaWdoKi8NCiAgICAgICAgICAgIHZhciAkZXF1YWxfaGVpZ2h0X3ByaWNpbmdfdGFibGUgPSAkKCcuZXF1YWwtaGVpZ2h0LXByaWNpbmctdGFibGUnKTsNCiAgICAgICAgICAgIGlmKCAkZXF1YWxfaGVpZ2h0X3ByaWNpbmdfdGFibGUubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkZXF1YWxfaGVpZ2h0X3ByaWNpbmdfdGFibGUuY2hpbGRyZW4oJ2RpdicpLmNzcygnbWluLWhlaWdodCcsICdhdXRvJyk7DQogICAgICAgICAgICAgICAgJGVxdWFsX2hlaWdodF9wcmljaW5nX3RhYmxlLmNoaWxkcmVuKCdkaXYnKS5jaGlsZHJlbignZGl2JykuY3NzKCdtaW4taGVpZ2h0JywgJ2F1dG8nKTsNCiAgICAgICAgICAgICAgICAkZXF1YWxfaGVpZ2h0X3ByaWNpbmdfdGFibGUuZXF1YWxIZWlnaHRzKCk7DQogICAgICAgICAgICAgICAgJGVxdWFsX2hlaWdodF9wcmljaW5nX3RhYmxlLmNoaWxkcmVuKCdkaXYnKS5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmNoaWxkcmVuKCdkaXYnKS5jc3MoJ21pbi1oZWlnaHQnLCAkKHRoaXMpLmNzcygnbWluLWhlaWdodCcpKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgIH07DQoNCg0KICAgIFRIRU1FTUFTQ09ULmhlYWRlciA9IHsNCg0KICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsNCg0KICAgICAgICAgICAgdmFyIHQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmhlYWRlci5UTV9mdWxsc2NyZWVuTWVudSgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmhlYWRlci5UTV9zaWRlUGFuZWxSZXZlYWwoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fc2lkZVB1c2hQYW5lbENvbnRlbnQoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fc2Nyb29sVG9Ub3BPbkNsaWNrKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX3Njcm9sbFRvRml4ZWQoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fc3RpY2t5KCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX3RvcG5hdkFuaW1hdGUoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fc2Nyb2xsdG9UYXJnZXQoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fbmF2TG9jYWxTY29ybGwoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fbWVudUNvbGxhcHNlT25DbGljaygpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmhlYWRlci5UTV9ob21lUGFyYWxsYXhGYWRlRWZmZWN0KCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX3RvcHNlYXJjaF90b2dnbGUoKTsNCiAgICAgICAgICAgIH0sIDApOw0KDQogICAgICAgIH0sDQoNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbWVudWZ1bGxwYWdlIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9mdWxsc2NyZWVuTWVudTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJG1lbnVmdWxscGFnZSA9ICQoJy5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZScpOw0KICAgICAgICAgICAgaWYoICRtZW51ZnVsbHBhZ2UubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbWVudWZ1bGxwYWdlLm1lbnVmdWxscGFnZSgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFNpZGUgUHVzaCBQYW5lbCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fc2lkZVBhbmVsUmV2ZWFsOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsICcuc2lkZS1wYW5lbC10cmlnZ2VyJywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICRib2R5LnRvZ2dsZUNsYXNzKCJzaWRlLXBhbmVsLW9wZW4iKTsNCiAgICAgICAgICAgICAgICBpZiAoIFRIRU1FTUFTQ09ULmlzTW9iaWxlLmFueSgpICkgew0KICAgICAgICAgICAgICAgICAgICAkYm9keS50b2dnbGVDbGFzcygib3ZlcmZsb3ctaGlkZGVuIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAvLyQoJy5oYXMtc2lkZS1wYW5lbCAuYm9keS1vdmVybGF5Jykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2NsaWNrJywgJy5ib2R5LW92ZXJsYXknLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgJGJvZHkudG9nZ2xlQ2xhc3MoInNpZGUtcGFuZWwtb3BlbiIpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAvL3NpdGViYXIgdHJlZQ0KICAgICAgICAgICAgLy8kKCcuc2lkZS1wYW5lbC1uYXYgLm5hdiAudHJlZS10b2dnbGVyLCAuc2lkZS1wYW5lbC13aWRnZXQgLm5hdiAudHJlZS10b2dnbGVyJykub24oJ2NsaWNrJywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2NsaWNrJywgJy5zaWRlLXBhbmVsLW5hdiAubmF2IC50cmVlLXRvZ2dsZXIsIC5zaWRlLXBhbmVsLXdpZGdldCAubmF2IC50cmVlLXRvZ2dsZXInLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5jaGlsZHJlbigndWwudHJlZScpLnRvZ2dsZSgzMDApOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRGVtbyBTd2l0Y2hlciAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fc2lkZVB1c2hQYW5lbENvbnRlbnQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYoICRib2R5Lmhhc0NsYXNzKCdoYXMtc2lkZS1wYW5lbCcpICkgew0KICAgICAgICAgICAgICAgICQuYWpheCh7DQogICAgICAgICAgICAgICAgICAgIHVybDogImFqYXgtbG9hZC9zaWRlLXB1c2gtcGFuZWwtY29udGVudC5odG1sIiwNCiAgICAgICAgICAgICAgICAgICAgc3VjY2VzczogZnVuY3Rpb24gKGRhdGEpIHsgJGJvZHkuYXBwZW5kKGRhdGEpOyB9LA0KICAgICAgICAgICAgICAgICAgICBkYXRhVHlwZTogJ2h0bWwnDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHNjcm9sbFRvVG9wICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fc2Nyb29sVG9Ub3A6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgaWYgKCR3aW5kb3cuc2Nyb2xsVG9wKCkgPiA2MDApIHsNCiAgICAgICAgICAgICAgICAkKCcuc2Nyb2xsVG9Ub3AnKS5mYWRlSW4oKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJCgnLnNjcm9sbFRvVG9wJykuZmFkZU91dCgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIFRNX3Njcm9vbFRvVG9wT25DbGljazogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkZG9jdW1lbnRfYm9keS5vbignY2xpY2snLCAnLnNjcm9sbFRvVG9wJywgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICQoJ2h0bWwsIGJvZHknKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiAwDQogICAgICAgICAgICAgICAgfSwgODAwKTsNCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSwNCg0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE9uZSBQYWdlIE5hdiBjbG9zZSBvbiBjbGljayAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX21lbnVDb2xsYXBzZU9uQ2xpY2s6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJGRvY3VtZW50Lm9uKCdjbGljaycsICcub25lcGFnZS1uYXYgYScsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAkKCcuc2hvd2hpZGUnKS50cmlnZ2VyKCdjbGljaycpOw0KICAgICAgICAgICAgICAgIC8vcmV0dXJuIGZhbHNlOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLSBBY3RpdmUgTWVudSBJdGVtIG9uIFJlYWNoaW5nIERpZmZlcmVudCBTZWN0aW9ucyAtLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fYWN0aXZhdGVNZW51SXRlbU9uUmVhY2g6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRvbmVwYWdlX25hdiA9ICQoJy5vbmVwYWdlLW5hdicpOw0KICAgICAgICAgICAgdmFyIGN1cl9wb3MgPSAkd2luZG93LnNjcm9sbFRvcCgpICsgMjsNCiAgICAgICAgICAgIHZhciBuYXZfaGVpZ2h0ID0gJG9uZXBhZ2VfbmF2Lm91dGVySGVpZ2h0KCk7DQogICAgICAgICAgICAkc2VjdGlvbnMuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICB2YXIgdG9wID0gJCh0aGlzKS5vZmZzZXQoKS50b3AgLSBuYXZfaGVpZ2h0IC0gODAsDQogICAgICAgICAgICAgICAgICAgIGJvdHRvbSA9IHRvcCArICQodGhpcykub3V0ZXJIZWlnaHQoKTsNCg0KICAgICAgICAgICAgICAgIGlmIChjdXJfcG9zID49IHRvcCAmJiBjdXJfcG9zIDw9IGJvdHRvbSkgew0KICAgICAgICAgICAgICAgICAgICAkb25lcGFnZV9uYXYuZmluZCgnYScpLnBhcmVudCgpLnJlbW92ZUNsYXNzKCdjdXJyZW50JykucmVtb3ZlQ2xhc3MoJ2FjdGl2ZScpOw0KICAgICAgICAgICAgICAgICAgICAkc2VjdGlvbnMucmVtb3ZlQ2xhc3MoJ2N1cnJlbnQnKS5yZW1vdmVDbGFzcygnYWN0aXZlJyk7DQoNCiAgICAgICAgICAgICAgICAgICAgLy8kKHRoaXMpLmFkZENsYXNzKCdjdXJyZW50JykuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KICAgICAgICAgICAgICAgICAgICAkb25lcGFnZV9uYXYuZmluZCgnYVtocmVmPSIjJyArICQodGhpcykuYXR0cignaWQnKSArICciXScpLnBhcmVudCgpLmFkZENsYXNzKCdjdXJyZW50JykuYWRkQ2xhc3MoJ2FjdGl2ZScpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLSBvbiBjbGljayBzY3Jvb2wgdG8gdGFyZ2V0IHdpdGggc21vb3RobmVzcyAtLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3Njcm9sbHRvVGFyZ2V0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIC8valF1ZXJ5IGZvciBwYWdlIHNjcm9sbGluZyBmZWF0dXJlIC0gcmVxdWlyZXMgalF1ZXJ5IEVhc2luZyBwbHVnaW4NCiAgICAgICAgICAgICQoJy5zbW9vdGgtc2Nyb2xsLXRvLXRhcmdldCwgLmZ1bGxzY3JlZW4tb25lcGFnZS1uYXYgYScpLm9uKCdjbGljaycsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQoNCiAgICAgICAgICAgICAgICB2YXIgJGFuY2hvciA9ICQodGhpcyk7DQogICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgdmFyICRoZWFyZGVyX3RvcCA9ICQoJy5oZWFkZXIgLmhlYWRlci1uYXYnKTsNCiAgICAgICAgICAgICAgICB2YXIgaGVhcmRlcl90b3Bfb2Zmc2V0ID0gMDsNCiAgICAgICAgICAgICAgICBpZiAoJGhlYXJkZXJfdG9wWzBdKXsNCiAgICAgICAgICAgICAgICAgICAgaGVhcmRlcl90b3Bfb2Zmc2V0ID0gJGhlYXJkZXJfdG9wLm91dGVySGVpZ2h0KHRydWUpOw0KICAgICAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgICAgIGhlYXJkZXJfdG9wX29mZnNldCA9IDA7DQogICAgICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICAgICAgLy9mb3IgdmVydGljYWwgbmF2LCBvZmZzZXQgMA0KICAgICAgICAgICAgICAgIGlmICgkYm9keS5oYXNDbGFzcygidmVydGljYWwtbmF2Iikpew0KICAgICAgICAgICAgICAgICAgICBoZWFyZGVyX3RvcF9vZmZzZXQgPSAwOw0KICAgICAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgICAgIHZhciB0b3AgPSAkKCRhbmNob3IuYXR0cignaHJlZicpKS5vZmZzZXQoKS50b3AgLSBoZWFyZGVyX3RvcF9vZmZzZXQ7DQogICAgICAgICAgICAgICAgJCgnaHRtbCwgYm9keScpLnN0b3AoKS5hbmltYXRlKHsNCiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsVG9wOiB0b3ANCiAgICAgICAgICAgICAgICB9LCAxNTAwLCAnZWFzZUluT3V0RXhwbycpOw0KDQogICAgICAgICAgICB9KTsNCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFNjcm9sbCBuYXZpZ2F0aW9uIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9uYXZMb2NhbFNjb3JsbDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgZGF0YV9vZmZzZXQgPSAtNjA7DQogICAgICAgICAgICB2YXIgJGxvY2FsX3Njcm9sbCA9ICQoIiNtZW51em9yZCAubWVudXpvcmQtbWVudSwgI21lbnV6b3JkLXJpZ2h0IC5tZW51em9yZC1tZW51Iik7DQogICAgICAgICAgICBpZiggJGxvY2FsX3Njcm9sbC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRsb2NhbF9zY3JvbGwubG9jYWxTY3JvbGwoew0KICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6ICJib2R5IiwNCiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDgwMCwNCiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiBkYXRhX29mZnNldCwNCiAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiAiZWFzZUluT3V0RXhwbyINCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRsb2NhbF9zY3JvbGxfb3RoZXIgPSAkKCIjbWVudXpvcmQtc2lkZS1wYW5lbCAubWVudXpvcmQtbWVudSwgI21lbnV6b3JkLXZlcnRpY2FsbmF2IC5tZW51em9yZC1tZW51LCAjZnVsbHBhZ2UtbmF2Iik7DQogICAgICAgICAgICBpZiggJGxvY2FsX3Njcm9sbF9vdGhlci5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRsb2NhbF9zY3JvbGxfb3RoZXIubG9jYWxTY3JvbGwoew0KICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6ICJib2R5IiwNCiAgICAgICAgICAgICAgICAgICAgZHVyYXRpb246IDgwMCwNCiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiAwLA0KICAgICAgICAgICAgICAgICAgICBlYXNpbmc6ICJlYXNlSW5PdXRFeHBvIg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNvbGxhcHNlZCBtZW51IGNsb3NlIG9uIGNsaWNrIC0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3Njcm9sbFRvRml4ZWQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJCgnLm5hdmJhci1zY3JvbGx0b2ZpeGVkJykuc2Nyb2xsVG9GaXhlZCh7ekluZGV4OiA5OTl9KTsNCiAgICAgICAgICAgICQoJy5zY3JvbGx0b2ZpeGVkJykuc2Nyb2xsVG9GaXhlZCh7DQogICAgICAgICAgICAgICAgbWFyZ2luVG9wOiAkKCcuaGVhZGVyIC5oZWFkZXItbmF2Jykub3V0ZXJIZWlnaHQodHJ1ZSkgKyAxMCwNCiAgICAgICAgICAgICAgICBsaW1pdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBsaW1pdCA9ICQoJyNmb290ZXInKS5vZmZzZXQoKS50b3AgLSAkKHRoaXMpLm91dGVySGVpZ2h0KHRydWUpOw0KICAgICAgICAgICAgICAgICAgICByZXR1cm4gbGltaXQ7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAkKCcjc2lkZWJhcicpLnNjcm9sbFRvRml4ZWQoew0KICAgICAgICAgICAgICAgIG1hcmdpblRvcDogJCgnLmhlYWRlciAuaGVhZGVyLW5hdicpLm91dGVySGVpZ2h0KCkgKyAyMCwNCiAgICAgICAgICAgICAgICBsaW1pdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBsaW1pdCA9ICQoJyNmb290ZXInKS5vZmZzZXQoKS50b3AgLSAkKCcjc2lkZWJhcicpLm91dGVySGVpZ2h0KCkgLSAyMDsNCiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGxpbWl0Ow0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFN0aWNreSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3N0aWNreTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkKCIubmF2YmFyLXN0aWNreSIpLnN0aWNreSh7dG9wU3BhY2luZzowfSk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gV2F5cG9pbnQgVG9wIE5hdiBTdGlja3kgLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fdG9wbmF2QW5pbWF0ZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAvKmlmICgkd2luZG93LnNjcm9sbFRvcCgpID4gKDUwKSkgew0KICAgICAgICAgICAgICAgICQoIi5uYXZiYXItc3RpY2t5LWFuaW1hdGVkIikucmVtb3ZlQ2xhc3MoImFuaW1hdGVkLWFjdGl2ZSIpOw0KICAgICAgICAgICAgfSBlbHNlIHsNCiAgICAgICAgICAgICAgICAkKCIubmF2YmFyLXN0aWNreS1hbmltYXRlZCIpLmFkZENsYXNzKCJhbmltYXRlZC1hY3RpdmUiKTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYgKCR3aW5kb3cuc2Nyb2xsVG9wKCkgPiAoNTApKSB7DQogICAgICAgICAgICAgICAgJCgiLm5hdmJhci1zdGlja3ktYW5pbWF0ZWQgLmhlYWRlci1uYXYtd3JhcHBlciAuY29udGFpbmVyLCAubmF2YmFyLXN0aWNreS1hbmltYXRlZCAuaGVhZGVyLW5hdi13cmFwcGVyIC5jb250YWluZXItZmx1aWQiKS5yZW1vdmVDbGFzcygiYWRkLXBhZGRpbmciKTsNCiAgICAgICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICAgICAgJCgiLm5hdmJhci1zdGlja3ktYW5pbWF0ZWQgLmhlYWRlci1uYXYtd3JhcHBlciAuY29udGFpbmVyLCAubmF2YmFyLXN0aWNreS1hbmltYXRlZCAuaGVhZGVyLW5hdi13cmFwcGVyIC5jb250YWluZXItZmx1aWQiKS5hZGRDbGFzcygiYWRkLXBhZGRpbmciKTsNCiAgICAgICAgICAgIH0qLw0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBNZW51em9yZCAtIFJlc3BvbnNpdmUgTWVnYW1lbnUgLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX21lbnV6b3JkOiBmdW5jdGlvbigpIHsNCg0KICAgICAgICAgICAgdmFyICRtZW51em9yZCA9ICQoIiNtZW51em9yZCIpOw0KICAgICAgICAgICAgaWYoICRtZW51em9yZC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRtZW51em9yZC5tZW51em9yZCh7DQogICAgICAgICAgICAgICAgICAgIGFsaWduOiAibGVmdCIsDQogICAgICAgICAgICAgICAgICAgIGVmZmVjdDogInNsaWRlIiwNCiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAibm9uZSIsDQogICAgICAgICAgICAgICAgICAgIGluZGljYXRvckZpcnN0TGV2ZWw6ICI8aSBjbGFzcz0nZmEgZmEtYW5nbGUtZG93bic+PC9pPiIsDQogICAgICAgICAgICAgICAgICAgIGluZGljYXRvclNlY29uZExldmVsOiAiPGkgY2xhc3M9J2ZhIGZhLWFuZ2xlLXJpZ2h0Jz48L2k+Ig0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJG1lbnV6b3JkX3J0bCA9ICQoIiNtZW51em9yZC1ydGwiKTsNCiAgICAgICAgICAgIGlmKCAkbWVudXpvcmRfcnRsLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1lbnV6b3JkX3J0bC5tZW51em9yZCh7DQogICAgICAgICAgICAgICAgICAgIGFsaWduOiAibGVmdCIsDQogICAgICAgICAgICAgICAgICAgIGVmZmVjdDogInNsaWRlIiwNCiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAibm9uZSIsDQogICAgICAgICAgICAgICAgICAgIGluZGljYXRvckZpcnN0TGV2ZWw6ICI8aSBjbGFzcz0nZmEgZmEtYW5nbGUtZG93bic+PC9pPiIsDQogICAgICAgICAgICAgICAgICAgIGluZGljYXRvclNlY29uZExldmVsOiAiPGkgY2xhc3M9J2ZhIGZhLWFuZ2xlLXJpZ2h0Jz48L2k+Ig0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJG1lbnV6b3JkX3JpZ2h0ID0gJCgiI21lbnV6b3JkLXJpZ2h0Iik7DQogICAgICAgICAgICBpZiggJG1lbnV6b3JkX3JpZ2h0Lmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1lbnV6b3JkX3JpZ2h0Lm1lbnV6b3JkKHsNCiAgICAgICAgICAgICAgICAgICAgYWxpZ246ICJyaWdodCIsDQogICAgICAgICAgICAgICAgICAgIGVmZmVjdDogInNsaWRlIiwNCiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAibm9uZSIsDQogICAgICAgICAgICAgICAgICAgIGluZGljYXRvckZpcnN0TGV2ZWw6ICI8aSBjbGFzcz0nZmEgZmEtYW5nbGUtZG93bic+PC9pPiIsDQogICAgICAgICAgICAgICAgICAgIGluZGljYXRvclNlY29uZExldmVsOiAiPGkgY2xhc3M9J2ZhIGZhLWFuZ2xlLXJpZ2h0Jz48L2k+Ig0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJG1lbnV6b3JkX3JpZ2h0X3J0bCA9ICQoIiNtZW51em9yZC1yaWdodC1ydGwiKTsNCiAgICAgICAgICAgIGlmKCAkbWVudXpvcmRfcmlnaHRfcnRsLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1lbnV6b3JkX3JpZ2h0X3J0bC5tZW51em9yZCh7DQogICAgICAgICAgICAgICAgICAgIGFsaWduOiAicmlnaHQiLA0KICAgICAgICAgICAgICAgICAgICBlZmZlY3Q6ICJzbGlkZSIsDQogICAgICAgICAgICAgICAgICAgIGFuaW1hdGlvbjogIm5vbmUiLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JGaXJzdExldmVsOiAiPGkgY2xhc3M9J2ZhIGZhLWFuZ2xlLWRvd24nPjwvaT4iLA0KICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3JTZWNvbmRMZXZlbDogIjxpIGNsYXNzPSdmYSBmYS1hbmdsZS1sZWZ0Jz48L2k+Ig0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJG1lbnV6b3JkX3NpZGVfcGFuZWwgPSAkKCIjbWVudXpvcmQtc2lkZS1wYW5lbCIpOw0KICAgICAgICAgICAgaWYoICRtZW51em9yZF9zaWRlX3BhbmVsLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJG1lbnV6b3JkX3NpZGVfcGFuZWwubWVudXpvcmQoew0KICAgICAgICAgICAgICAgICAgICBhbGlnbjogInJpZ2h0IiwNCiAgICAgICAgICAgICAgICAgICAgZWZmZWN0OiAic2xpZGUiLA0KICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246ICJub25lIiwNCiAgICAgICAgICAgICAgICAgICAgaW5kaWNhdG9yRmlyc3RMZXZlbDogIiIsDQogICAgICAgICAgICAgICAgICAgIGluZGljYXRvclNlY29uZExldmVsOiAiPGkgY2xhc3M9J2ZhIGZhLWFuZ2xlLXJpZ2h0Jz48L2k+Ig0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgDQogICAgICAgICAgICB2YXIgJG1lbnV6b3JkX3ZlcnRpY2FsX25hdiA9ICQoIiNtZW51em9yZC12ZXJ0aWNhbG5hdiIpOw0KICAgICAgICAgICAgaWYoICRtZW51em9yZF92ZXJ0aWNhbF9uYXYubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbWVudXpvcmRfdmVydGljYWxfbmF2Lm1lbnV6b3JkKHsNCiAgICAgICAgICAgICAgICAgICAgYWxpZ246ICJyaWdodCIsDQogICAgICAgICAgICAgICAgICAgIGVmZmVjdDogInNsaWRlIiwNCiAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAibm9uZSIsDQogICAgICAgICAgICAgICAgICAgIGluZGljYXRvckZpcnN0TGV2ZWw6ICI8aSBjbGFzcz0nZmEgZmEtYW5nbGUtZG93bic+PC9pPiIsDQogICAgICAgICAgICAgICAgICAgIGluZGljYXRvclNlY29uZExldmVsOiAiPGkgY2xhc3M9J2ZhIGZhLWFuZ2xlLXJpZ2h0Jz48L2k+Ig0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tIGhvbWUgc2VjdGlvbiBvbiBzY3JvbGwgcGFyYWxsYXggJiBmYWRlIC0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1faG9tZVBhcmFsbGF4RmFkZUVmZmVjdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiAoJHdpbmRvdy53aWR0aCgpID49IDEyMDApIHsNCiAgICAgICAgICAgICAgICB2YXIgc2Nyb2xsZWQgPSAkd2luZG93LnNjcm9sbFRvcCgpOw0KICAgICAgICAgICAgICAgICQoJy5jb250ZW50LWZhZGUtZWZmZWN0IC5ob21lLWNvbnRlbnQgLmhvbWUtdGV4dCcpLmNzcygncGFkZGluZy10b3AnLCAoc2Nyb2xsZWQgKiAwLjA2MTApICsgJyUnKS5jc3MoJ29wYWNpdHknLCAxIC0gKHNjcm9sbGVkICogMC4wMDEyMCkpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFRvcCBzZWFyY2ggdG9nZ2xlICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3RvcHNlYXJjaF90b2dnbGU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2NsaWNrJywgJyN0b3Atc2VhcmNoLXRvZ2dsZScsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7DQogICAgICAgICAgICAgICAgJCgnLnNlYXJjaC1mb3JtLXdyYXBwZXIudG9nZ2xlJykudG9nZ2xlQ2xhc3MoJ2FjdGl2ZScpOw0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9DQoNCiAgICB9Ow0KDQogICAgVEhFTUVNQVNDT1Qud2lkZ2V0ID0gew0KDQogICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkgew0KDQogICAgICAgICAgICB2YXIgdCA9IHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Qud2lkZ2V0LlRNX3Nob3BDbGlja0V2ZW50cygpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV9mY0NhbGVuZGVyKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Qud2lkZ2V0LlRNX3ZlcnRpY2FsVGltZWxpbmUoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC53aWRnZXQuVE1fdmVydGljYWxNYXNvbnJ5VGltZWxpbmUoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC53aWRnZXQuVE1fbWFzb25yeUlzb3RvcCgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV9waWVDaGFydCgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV9wcm9ncmVzc0JhcigpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV9mdW5mYWN0KCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Qud2lkZ2V0LlRNX29kb21ldGVyRnVuZmFjdCgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV9pbnN0YWdyYW1GZWVkKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Qud2lkZ2V0LlRNX2pmbGlja3JmZWVkKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Qud2lkZ2V0LlRNX2FjY29yZGlvbl90b2dnbGVzKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Qud2lkZ2V0LlRNX3Rvb2x0aXAoKTsNCiAgICAgICAgICAgICAgICAvL1RIRU1FTUFTQ09ULndpZGdldC5UTV9jb3VudERvd25UaW1lcigpOw0KICAgICAgICAgICAgfSwgMCk7DQoNCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBTaG9wIFBsdXMgTWludXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9zaG9wQ2xpY2tFdmVudHM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2NsaWNrJywgJy5xdWFudGl0eSAucGx1cycsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgY3VycmVudFZhbCA9IHBhcnNlSW50KCQodGhpcykucGFyZW50KCkuY2hpbGRyZW4oIi5xdHkiKS52YWwoKSwgMTApOw0KICAgICAgICAgICAgICAgIGlmICghaXNOYU4oY3VycmVudFZhbCkpIHsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5jaGlsZHJlbigiLnF0eSIpLnZhbChjdXJyZW50VmFsICsgMSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAkZG9jdW1lbnRfYm9keS5vbignY2xpY2snLCAnLnF1YW50aXR5IC5taW51cycsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICB2YXIgY3VycmVudFZhbCA9IHBhcnNlSW50KCQodGhpcykucGFyZW50KCkuY2hpbGRyZW4oIi5xdHkiKS52YWwoKSwgMTApOw0KICAgICAgICAgICAgICAgIGlmICghaXNOYU4oY3VycmVudFZhbCkgJiYgY3VycmVudFZhbCA+IDApIHsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5wYXJlbnQoKS5jaGlsZHJlbigiLnF0eSIpLnZhbChjdXJyZW50VmFsIC0gMSk7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsNCiAgICAgICAgICAgIH0pOw0KDQogICAgICAgICAgICAkZG9jdW1lbnRfYm9keS5vbignY2xpY2snLCAnI2NoZWNrYm94LXNoaXAtdG8tZGlmZmVyZW50LWFkZHJlc3MnLCBmdW5jdGlvbihlKSB7DQogICAgICAgICAgICAgICAgJCgiI2NoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MiKS50b2dnbGUodGhpcy5jaGVja2VkKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICB9LA0KDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gRXZlbnQgQ2FsZW5kYXIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fZmNDYWxlbmRlcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiAodHlwZW9mIGNhbGVuZGFyRXZlbnRzICE9PSAidW5kZWZpbmVkIiApIHsNCiAgICAgICAgICAgICAgICB2YXIgJGZ1bGxfZXZlbnRfY2FsZW5kYXIgPSAkKCcjZnVsbC1ldmVudC1jYWxlbmRhcicpOw0KICAgICAgICAgICAgICAgIGlmKCAkZnVsbF9ldmVudF9jYWxlbmRhci5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICAgICAkZnVsbF9ldmVudF9jYWxlbmRhci5mdWxsQ2FsZW5kYXIoew0KICAgICAgICAgICAgICAgICAgICAgICAgaGVhZGVyOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogJ3ByZXYsbmV4dCB0b2RheScsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiAndGl0bGUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAnbW9udGgsYWdlbmRhV2VlayxhZ2VuZGFEYXknDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdERhdGU6ICcyMDE4LTAxLTEyJywNCiAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdGFibGU6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RIZWxwZXI6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3Q6IGZ1bmN0aW9uKHN0YXJ0LCBlbmQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdGl0bGUgPSBwcm9tcHQoJ0V2ZW50IFRpdGxlOicpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBldmVudERhdGE7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRpdGxlKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50RGF0YSA9IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRpdGxlOiB0aXRsZSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFydCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZDogZW5kDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNjYWxlbmRhcicpLmZ1bGxDYWxlbmRhcigncmVuZGVyRXZlbnQnLCBldmVudERhdGEsIHRydWUpOyAvLyBzdGljaz8gPSB0cnVlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICQoJyNjYWxlbmRhcicpLmZ1bGxDYWxlbmRhcigndW5zZWxlY3QnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBlZGl0YWJsZTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50TGltaXQ6IHRydWUsIC8vIGFsbG93ICJtb3JlIiBsaW5rIHdoZW4gdG9vIG1hbnkgZXZlbnRzDQogICAgICAgICAgICAgICAgICAgICAgICBldmVudHM6IGNhbGVuZGFyRXZlbnRzDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUaW1lbGluZSBCbG9jayAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV92ZXJ0aWNhbFRpbWVsaW5lOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0aW1lbGluZUJsb2NrcyA9ICQoJy5jZC10aW1lbGluZS1ibG9jaycpLA0KICAgICAgICAgICAgICBvZmZzZXQgPSAwLjg7DQoNCiAgICAgICAgICAgIGlmKCB0aW1lbGluZUJsb2Nrcy5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgIC8vaGlkZSB0aW1lbGluZSBibG9ja3Mgd2hpY2ggYXJlIG91dHNpZGUgdGhlIHZpZXdwb3J0DQogICAgICAgICAgICAgICAgaGlkZUJsb2Nrcyh0aW1lbGluZUJsb2Nrcywgb2Zmc2V0KTsNCiAgICAgICAgICAgICAgICAvL29uIHNjb2xsaW5nLCBzaG93L2FuaW1hdGUgdGltZWxpbmUgYmxvY2tzIHdoZW4gZW50ZXIgdGhlIHZpZXdwb3J0DQogICAgICAgICAgICAgICAgJHdpbmRvdy5vbignc2Nyb2xsJywgZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAgICghd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSkgID8gc2V0VGltZW91dChmdW5jdGlvbigpeyBzaG93QmxvY2tzKHRpbWVsaW5lQmxvY2tzLCBvZmZzZXQpOyB9LCAxMDApIDogd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShmdW5jdGlvbigpeyBzaG93QmxvY2tzKHRpbWVsaW5lQmxvY2tzLCBvZmZzZXQpOyB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgZnVuY3Rpb24gaGlkZUJsb2NrcyhibG9ja3MsIG9mZnNldCkgew0KICAgICAgICAgICAgICBibG9ja3MuZWFjaChmdW5jdGlvbigpew0KICAgICAgICAgICAgICAgICggJCh0aGlzKS5vZmZzZXQoKS50b3AgPiAkd2luZG93LnNjcm9sbFRvcCgpKyR3aW5kb3cuaGVpZ2h0KCkqb2Zmc2V0ICkgJiYgJCh0aGlzKS5maW5kKCcuY2QtdGltZWxpbmUtaW1nLCAuY2QtdGltZWxpbmUtY29udGVudCcpLmFkZENsYXNzKCdpcy1oaWRkZW4nKTsNCiAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIGZ1bmN0aW9uIHNob3dCbG9ja3MoYmxvY2tzLCBvZmZzZXQpIHsNCiAgICAgICAgICAgICAgYmxvY2tzLmVhY2goZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAoICQodGhpcykub2Zmc2V0KCkudG9wIDw9ICR3aW5kb3cuc2Nyb2xsVG9wKCkrJHdpbmRvdy5oZWlnaHQoKSpvZmZzZXQgJiYgJCh0aGlzKS5maW5kKCcuY2QtdGltZWxpbmUtaW1nJykuaGFzQ2xhc3MoJ2lzLWhpZGRlbicpICkgJiYgJCh0aGlzKS5maW5kKCcuY2QtdGltZWxpbmUtaW1nLCAuY2QtdGltZWxpbmUtY29udGVudCcpLnJlbW92ZUNsYXNzKCdpcy1oaWRkZW4nKS5hZGRDbGFzcygnYm91bmNlLWluJyk7DQogICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVmVydGljYWwgTWFzb25yeSBUaW1lbGluZSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3ZlcnRpY2FsTWFzb25yeVRpbWVsaW5lOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkbWFzb25yeV90aW1lbGluZSA9ICQoJy52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lJyk7DQogICAgICAgICAgICBpZiggJG1hc29ucnlfdGltZWxpbmUubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkbWFzb25yeV90aW1lbGluZS5pc290b3BlKHsNCiAgICAgICAgICAgICAgICAgICAgaXRlbVNlbGVjdG9yIDogJy5lYWNoLW1hc29ucnktaXRlbScsDQogICAgICAgICAgICAgICAgICAgIHNvcnRCeTogJ29yaWdpbmFsLW9yZGVyJywNCiAgICAgICAgICAgICAgICAgICAgbGF5b3V0TW9kZTogJ21hc29ucnknLA0KICAgICAgICAgICAgICAgICAgICByZXNpemFibGU6IGZhbHNlDQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIC8vPT09PT0+IFRpbWVsaW5lIFBvc2l0aW9ucw0KICAgICAgICAgICAgZnVuY3Rpb24gIHRpbWVsaW5lX29uX2xlZnRfYW5kX3JpZ2h0KCl7DQogICAgICAgICAgICAgICAgJG1hc29ucnlfdGltZWxpbmUuY2hpbGRyZW4oJy5lYWNoLW1hc29ucnktaXRlbScpLmVhY2goZnVuY3Rpb24oaW5kZXgsIGVsZW1lbnQpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGxhc3RfY2hpbGQgPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgcHJldl9sYXN0ICA9ICQodGhpcykucHJldigpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgbGFzdF9jaGlsZF9vZmZzZXQgPSBwYXJzZUludChsYXN0X2NoaWxkLmNzcygndG9wJyksIDEwKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHByZXZfbGFzdF9vZmZzZXQgID0gcGFyc2VJbnQocHJldl9sYXN0LmNzcygndG9wJyksIDEwKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIG9mZnNldF9pY29uICAgICAgID0gbGFzdF9jaGlsZF9vZmZzZXQgLSBwcmV2X2xhc3Rfb2Zmc2V0Ow0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgdmFyIGdvX3RvcF90byA9IDA7DQogICAgICAgICAgICAgICAgICAgIGlmKG9mZnNldF9pY29uKXsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICggb2Zmc2V0X2ljb24gPD0gODcgKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb190b3BfdG8gPSA4NyAtIG9mZnNldF9pY29uOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RfY2hpbGQuZmluZCgnLnRpbWVsaW5lLXBvc3QtZm9ybWF0JykuYW5pbWF0ZSh7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvcDogZ29fdG9wX3RvDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwgMzAwKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgaWYoICQodGhpcykucG9zaXRpb24oKS5sZWZ0ID09PSAwICl7DQogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdpdGVtLXJpZ2h0Jyk7DQogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCdpdGVtLWxlZnQnKTsNCiAgICAgICAgICAgICAgICAgICAgfWVsc2V7DQogICAgICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnJlbW92ZUNsYXNzKCdpdGVtLWxlZnQnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICQodGhpcykuYWRkQ2xhc3MoJ2l0ZW0tcmlnaHQnKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICBpZiggJG1hc29ucnlfdGltZWxpbmUubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICB0aW1lbGluZV9vbl9sZWZ0X2FuZF9yaWdodCgpOw0KICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICR3aW5kb3cub24oJ3Jlc2l6ZScsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAgICAgdGltZWxpbmVfb25fbGVmdF9hbmRfcmlnaHQoKTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE1hc29ucnkgSXNvdG9wZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9tYXNvbnJ5SXNvdG9wOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIC8vaXNvdG9wZSBmaXJzdHRpbWUgbG9hZGluZw0KICAgICAgICAgICAgaWYoICRwb3J0Zm9saW9fZ2FsbGVyeS5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRwb3J0Zm9saW9fZ2FsbGVyeS5pbWFnZXNMb2FkZWQoZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAgICAgaWYgKCRwb3J0Zm9saW9fZ2FsbGVyeS5oYXNDbGFzcygibWFzb25yeSIpKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0Zm9saW9fZ2FsbGVyeS5pc290b3BlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtU2VsZWN0b3I6ICcuZ2FsbGVyeS1pdGVtJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXRNb2RlOiAibWFzb25yeSIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFzb25yeTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aDogJy5nYWxsZXJ5LWl0ZW0tc2l6ZXInDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6ICIqIg0KICAgICAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIH0gZWxzZXsNCiAgICAgICAgICAgICAgICAgICAgICAgICRwb3J0Zm9saW9fZ2FsbGVyeS5pc290b3BlKHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtU2VsZWN0b3I6ICcuZ2FsbGVyeS1pdGVtJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXlvdXRNb2RlOiAiZml0Um93cyIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiAiKiINCiAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgICAgIC8vaXNvdG9wZSBmaWx0ZXINCiAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdjbGljaycsIHBvcnRmb2xpb19maWx0ZXIsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAkKHBvcnRmb2xpb19maWx0ZXIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKTsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmFkZENsYXNzKCJhY3RpdmUiKTsNCiAgICAgICAgICAgICAgICB2YXIgZnNlbGVjdG9yID0gJCh0aGlzKS5kYXRhKCdmaWx0ZXInKTsNCiAgICAgICAgICAgICAgICBpZiAoJHBvcnRmb2xpb19nYWxsZXJ5Lmhhc0NsYXNzKCJtYXNvbnJ5Iikpew0KICAgICAgICAgICAgICAgICAgICAkcG9ydGZvbGlvX2dhbGxlcnkuaXNvdG9wZSh7DQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtU2VsZWN0b3I6ICcuZ2FsbGVyeS1pdGVtJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dE1vZGU6ICJtYXNvbnJ5IiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1hc29ucnk6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW5XaWR0aDogJy5nYWxsZXJ5LWl0ZW0tc2l6ZXInDQogICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiBmc2VsZWN0b3INCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSBlbHNlew0KICAgICAgICAgICAgICAgICAgICAkcG9ydGZvbGlvX2dhbGxlcnkuaXNvdG9wZSh7DQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtU2VsZWN0b3I6ICcuZ2FsbGVyeS1pdGVtJywNCiAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dE1vZGU6ICJmaXRSb3dzIiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlcjogZnNlbGVjdG9yDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgVEhFTUVNQVNDT1Quc2xpZGVyLlRNX2ZsZXhzbGlkZXIoKTsNCg0KICAgICAgICB9LA0KDQogICAgICAgIFRNX3BvcnRmb2xpb0ZsZXhTbGlkZXJHYWxsZXJ5UG9wVXBJbml0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkZmxleFNsaWRlcnMgPSAkcG9ydGZvbGlvX2dhbGxlcnkuZmluZCgnLnNsaWRlcycpOw0KICAgICAgICAgICAgaWYoICRmbGV4U2xpZGVycy5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRmbGV4U2xpZGVycy5lYWNoKGZ1bmN0aW9uICgpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIF9pdGVtcyA9ICQodGhpcykuZmluZCgibGkgPiBhIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBpdGVtcyA9IFtdOw0KICAgICAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IF9pdGVtcy5sZW5ndGg7IGkrKykgew0KICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXMucHVzaCh7c3JjOiAkKF9pdGVtc1tpXSkuYXR0cigiaHJlZiIpLCB0aXRsZTogJChfaXRlbXNbaV0pLmF0dHIoInRpdGxlIil9KTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLnBhcmVudCgpLnBhcmVudCgpLnBhcmVudCgpLmZpbmQoIi5pY29ucy1ob2xkZXIiKS5tYWduaWZpY1BvcHVwKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBpdGVtcywNCiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdpbWFnZScsDQogICAgICAgICAgICAgICAgICAgICAgICBnYWxsZXJ5OiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgZW5hYmxlZDogdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICBUTV9pc290b3BlR3JpZFJlYXJyYW5nZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBpZiAoJHBvcnRmb2xpb19nYWxsZXJ5Lmhhc0NsYXNzKCJtYXNvbnJ5Iikpew0KICAgICAgICAgICAgICAgICRwb3J0Zm9saW9fZ2FsbGVyeS5pc290b3BlKHsNCiAgICAgICAgICAgICAgICAgICAgaXRlbVNlbGVjdG9yOiAnLmdhbGxlcnktaXRlbScsDQogICAgICAgICAgICAgICAgICAgIGxheW91dE1vZGU6ICJtYXNvbnJ5Ig0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfSBlbHNlew0KICAgICAgICAgICAgICAgICRwb3J0Zm9saW9fZ2FsbGVyeS5pc290b3BlKHsNCiAgICAgICAgICAgICAgICAgICAgaXRlbVNlbGVjdG9yOiAnLmdhbGxlcnktaXRlbScsDQogICAgICAgICAgICAgICAgICAgIGxheW91dE1vZGU6ICJmaXRSb3dzIg0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIFRNX2lzb3RvcGVHcmlkU2h1ZmZsZTogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkcG9ydGZvbGlvX2dhbGxlcnkuaXNvdG9wZSgnc2h1ZmZsZScpOw0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gQ291bnREb3duIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2NvdW50RG93blRpbWVyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkY2xvY2sgPSAkKCcjY2xvY2stY291bnQtZG93bicpOw0KICAgICAgICAgICAgdmFyIGVuZGluZ2RhdGUgPSAkY2xvY2suZGF0YSgiZW5kaW5nZGF0ZSIpOw0KICAgICAgICAgICAgaWYoICRjbG9jay5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRjbG9jay5jb3VudGRvd24oZW5kaW5nZGF0ZSwgZnVuY3Rpb24oZXZlbnQpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGNvdW50ZG93bl90ZXh0ID0gJycgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzx1bCBjbGFzcz0iY291bnRkb3duLXRpbWVyIj4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8bGk+JUQgPHNwYW4+RGF5czwvc3Bhbj48L2xpPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxsaT4lSCA8c3Bhbj5Ib3Vyczwvc3Bhbj48L2xpPicgKw0KICAgICAgICAgICAgICAgICAgICAgICAgJzxsaT4lTSA8c3Bhbj5NaW51dGVzPC9zcGFuPjwvbGk+JyArDQogICAgICAgICAgICAgICAgICAgICAgICAnPGxpPiVTIDxzcGFuPlNlY29uZHM8L3NwYW4+PC9saT4nICsNCiAgICAgICAgICAgICAgICAgICAgICAgICc8L3VsPic7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykuaHRtbChldmVudC5zdHJmdGltZShjb3VudGRvd25fdGV4dCkpOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIA0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHBpZSBjaGFydCAvIGNpcmNsZSBza2lsbCBiYXIgLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9waWVDaGFydDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJHBpZWNoYXJ0ID0gJCgnLnBpZWNoYXJ0Jyk7DQogICAgICAgICAgICBpZiggJHBpZWNoYXJ0Lmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHBpZWNoYXJ0LmFwcGVhcigpOw0KICAgICAgICAgICAgICAgICRkb2N1bWVudF9ib2R5Lm9uKCdhcHBlYXInLCAnLnBpZWNoYXJ0JywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50X2l0ZW0gPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRfaXRlbS5oYXNDbGFzcygnYXBwZWFyZWQnKSkgew0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBiYXJjb2xvciA9ICggY3VycmVudF9pdGVtLmRhdGEoImJhcmNvbG9yIikgPT09IHVuZGVmaW5lZCApID8gJyNlZjFlMjUnOiBjdXJyZW50X2l0ZW0uZGF0YSgiYmFyY29sb3IiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciB0cmFja2NvbG9yID0gKCBjdXJyZW50X2l0ZW0uZGF0YSgidHJhY2tjb2xvciIpID09PSB1bmRlZmluZWQgKSA/ICcjZjlmOWY5JzogY3VycmVudF9pdGVtLmRhdGEoInRyYWNrY29sb3IiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzY2FsZWNvbG9yID0gKCBjdXJyZW50X2l0ZW0uZGF0YSgic2NhbGVjb2xvciIpID09PSB1bmRlZmluZWQgKSA/ICcjZGZlMGUwJzogY3VycmVudF9pdGVtLmRhdGEoInNjYWxlY29sb3IiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBsaW5ld2lkdGggPSAoIGN1cnJlbnRfaXRlbS5kYXRhKCJsaW5ld2lkdGgiKSA9PT0gdW5kZWZpbmVkICkgPyAnMyc6IGN1cnJlbnRfaXRlbS5kYXRhKCJsaW5ld2lkdGgiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzaXplID0gKCBjdXJyZW50X2l0ZW0uZGF0YSgic2l6ZSIpID09PSB1bmRlZmluZWQgKSA/ICcxMTAnOiBjdXJyZW50X2l0ZW0uZGF0YSgic2l6ZSIpOw0KDQoNCiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfaXRlbS5jc3MoIndpZHRoIiwgc2l6ZSkuY3NzKCJoZWlnaHQiLCBzaXplKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfaXRlbS5jaGlsZHJlbignLnBlcmNlbnQnKS5jc3MoImxpbmUtaGVpZ2h0Iiwgc2l6ZSsncHgnKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfaXRlbS5lYXN5UGllQ2hhcnQoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuaW1hdGU6IDMwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFyQ29sb3I6IGJhcmNvbG9yLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYWNrQ29sb3I6IHRyYWNrY29sb3IsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbGVDb2xvcjogc2NhbGVjb2xvciwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlYXNpbmc6ICdlYXNlT3V0Qm91bmNlJywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lV2lkdGg6IGxpbmV3aWR0aCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplOiBzaXplLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVDYXA6ICdzcXVhcmUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uU3RlcDogZnVuY3Rpb24oZnJvbSwgdG8sIHBlcmNlbnQpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJCh0aGlzLmVsKS5maW5kKCdzcGFuJykudGV4dChNYXRoLnJvdW5kKHBlcmNlbnQpKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfaXRlbS5hZGRDbGFzcygnYXBwZWFyZWQnKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KICAgICAgICANCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tIHByb2dyZXNzIGJhciAvIGhvcml6b250YWwgc2tpbGwgYmFyIC0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fcHJvZ3Jlc3NCYXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRwcm9ncmVzc19iYXIgPSAkKCcucHJvZ3Jlc3MtYmFyJyk7DQogICAgICAgICAgICBpZiggJHByb2dyZXNzX2Jhci5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRwcm9ncmVzc19iYXIuYXBwZWFyKCk7DQogICAgICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2FwcGVhcicsICcucHJvZ3Jlc3MtYmFyJywgZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50X2l0ZW0gPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICBpZiAoIWN1cnJlbnRfaXRlbS5oYXNDbGFzcygnYXBwZWFyZWQnKSkgew0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBlcmNlbnQgPSBjdXJyZW50X2l0ZW0uZGF0YSgncGVyY2VudCcpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVuaXQgPSAoIGN1cnJlbnRfaXRlbS5kYXRhKCJ1bml0IikgPT09IHVuZGVmaW5lZCApID8gIiUiIDogY3VycmVudF9pdGVtLmRhdGEoInVuaXQiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBiYXJjb2xvciA9IGN1cnJlbnRfaXRlbS5kYXRhKCdiYXJjb2xvcicpOw0KICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9pdGVtLmFwcGVuZCgnPHNwYW4gY2xhc3M9InBlcmNlbnQiPicgKyBwZXJjZW50ICsgdW5pdCArICc8L3NwYW4+JykuY3NzKCdiYWNrZ3JvdW5kLWNvbG9yJywgYmFyY29sb3IpLmNzcygnd2lkdGgnLCBwZXJjZW50ICsgJyUnKS5hZGRDbGFzcygnYXBwZWFyZWQnKTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBGdW5mYWN0IE51bWJlciBDb3VudGVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9mdW5mYWN0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkYW5pbWF0ZV9udW1iZXIgPSAkKCcuYW5pbWF0ZS1udW1iZXInKTsNCiAgICAgICAgICAgIGlmKCAkYW5pbWF0ZV9udW1iZXIubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkYW5pbWF0ZV9udW1iZXIuYXBwZWFyKCk7DQogICAgICAgICAgICAgICAgJGRvY3VtZW50X2JvZHkub24oJ2FwcGVhcicsICcuYW5pbWF0ZS1udW1iZXInLCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgJGFuaW1hdGVfbnVtYmVyLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgICAgICB2YXIgY3VycmVudF9pdGVtID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgICAgIGlmICghY3VycmVudF9pdGVtLmhhc0NsYXNzKCdhcHBlYXJlZCcpKSB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9pdGVtLmFuaW1hdGVOdW1iZXJzKGN1cnJlbnRfaXRlbS5hdHRyKCJkYXRhLXZhbHVlIiksIHRydWUsIHBhcnNlSW50KGN1cnJlbnRfaXRlbS5hdHRyKCJkYXRhLWFuaW1hdGlvbi1kdXJhdGlvbiIpLCAxMCkpLmFkZENsYXNzKCdhcHBlYXJlZCcpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0gT2RvbWV0ZXIgRnVuZmFjdCBOdW1iZXIgQ291bnRlciAtLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9vZG9tZXRlckZ1bmZhY3Q6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRhbmltYXRlX251bWJlciA9ICQoJy5vZG9tZXRlci1hbmltYXRlLW51bWJlcicpOw0KICAgICAgICAgICAgaWYoICRhbmltYXRlX251bWJlci5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRhbmltYXRlX251bWJlci5hcHBlYXIoKTsNCiAgICAgICAgICAgICAgICAkZG9jdW1lbnRfYm9keS5vbignYXBwZWFyJywgJy5vZG9tZXRlci1hbmltYXRlLW51bWJlcicsIGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICAkYW5pbWF0ZV9udW1iZXIuZWFjaChmdW5jdGlvbigpew0KICAgICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50X2l0ZW0gPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICAgIHZhciB2ID0gY3VycmVudF9pdGVtLmRhdGEoJ3ZhbHVlJyk7DQogICAgICAgICAgICAgICAgICAgICAgdmFyIG8gPSBuZXcgT2RvbWV0ZXIoew0KICAgICAgICAgICAgICAgICAgICAgICAgICBlbDogdGhpcywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW1lOiAoIGN1cnJlbnRfaXRlbS5kYXRhKCJ0aGVtZSIpID09PSB1bmRlZmluZWQgKSA/ICdtaW5pbWFsJzogY3VycmVudF9pdGVtLmRhdGEoInRoZW1lIikNCiAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICBvLnJlbmRlcigpOw0KICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpew0KICAgICAgICAgICAgICAgICAgICAgICAgby51cGRhdGUodik7DQogICAgICAgICAgICAgICAgICAgICAgICB9LCA1MDApOw0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAvKiAkYW5pbWF0ZV9udW1iZXIuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50X2l0ZW0gPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHYgPSBjdXJyZW50X2l0ZW0uYXR0cigiZGF0YS12YWx1ZSIpOw0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFjdXJyZW50X2l0ZW0uaGFzQ2xhc3MoJ2FwcGVhcmVkJykpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciBzdGFyc09kb21ldGVyID0gbmV3IE9kb21ldGVyKHsgZWw6IHRoaXMsIHRoZW1lOiAnbWluaW1hbCcsIHZhbHVlOiAnMCcgfSk7DQogICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFyc09kb21ldGVyLnJlbmRlcigpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnNPZG9tZXRlci51cGRhdGUodik7DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7DQogICAgICAgICAgICAgICAgICAgICAgICBvLnVwZGF0ZSh2KyspOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwgNTAwKTsNCiAgICAgICAgICAgICAgICAgICAgfSk7Ki8NCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEluc3RhZ3JhbSBGZWVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9pbnN0YWdyYW1GZWVkOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkaW5zdGFncmFtX2ZlZWQgPSAkKCcuaW5zdGFncmFtLWZlZWQnKTsNCiAgICAgICAgICAgIGlmKCAkaW5zdGFncmFtX2ZlZWQubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkaW5zdGFncmFtX2ZlZWQuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRfZGl2ID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGluc3RhZ3JhbUZlZWQgPSBuZXcgSW5zdGFmZWVkKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogY3VycmVudF9kaXYuYXR0cignaWQnKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGdldDogJ3VzZXInLA0KICAgICAgICAgICAgICAgICAgICAgICAgdXNlcklkOiBjdXJyZW50X2Rpdi5kYXRhKCd1c2VyaWQnKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc1Rva2VuOiBjdXJyZW50X2Rpdi5kYXRhKCdhY2Nlc3N0b2tlbicpLA0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbjogY3VycmVudF9kaXYuZGF0YSgncmVzb2x1dGlvbicpLA0KICAgICAgICAgICAgICAgICAgICAgICAgbGltaXQ6IGN1cnJlbnRfZGl2LmRhdGEoJ2xpbWl0JyksDQogICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogJzxkaXYgY2xhc3M9Iml0ZW0iPjxmaWd1cmU+PGltZyBzcmM9Int7aW1hZ2V9fSIgLz48YSBocmVmPSJ7e2xpbmt9fSIgY2xhc3M9Imxpbmstb3V0IiB0YXJnZXQ9Il9ibGFuayI+PGkgY2xhc3M9ImZhIGZhLWxpbmsiPjwvaT48L2E+PC9maWd1cmU+PC9kaXY+JywNCiAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIGluc3RhZ3JhbUZlZWQucnVuKCk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkaW5zdGFncmFtX2ZlZWRfY2Fyb3VzZWwgPSAkKCcuaW5zdGFncmFtLWZlZWQtY2Fyb3VzZWwnKTsNCiAgICAgICAgICAgIGlmKCAkaW5zdGFncmFtX2ZlZWRfY2Fyb3VzZWwubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkaW5zdGFncmFtX2ZlZWRfY2Fyb3VzZWwuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGN1cnJlbnRfZGl2ID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGluc3RhZ3JhbUZlZWQgPSBuZXcgSW5zdGFmZWVkKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogY3VycmVudF9kaXYuYXR0cignaWQnKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGdldDogJ3VzZXInLA0KICAgICAgICAgICAgICAgICAgICAgICAgdXNlcklkOiBjdXJyZW50X2Rpdi5kYXRhKCd1c2VyaWQnKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGFjY2Vzc1Rva2VuOiBjdXJyZW50X2Rpdi5kYXRhKCdhY2Nlc3N0b2tlbicpLA0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzb2x1dGlvbjogY3VycmVudF9kaXYuZGF0YSgncmVzb2x1dGlvbicpLA0KICAgICAgICAgICAgICAgICAgICAgICAgbGltaXQ6IGN1cnJlbnRfZGl2LmRhdGEoJ2xpbWl0JyksDQogICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZTogJzxkaXYgY2xhc3M9Iml0ZW0iPjxmaWd1cmU+PGltZyBzcmM9Int7aW1hZ2V9fSIgLz48YSBocmVmPSJ7e2xpbmt9fSIgY2xhc3M9Imxpbmstb3V0IiB0YXJnZXQ9Il9ibGFuayI+PGkgY2xhc3M9ImZhIGZhLWxpbmsiPjwvaT48L2E+PC9maWd1cmU+PC9kaXY+JywNCiAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZighY3VycmVudF9kaXYuaGFzQ2xhc3MoIm93bC1jYXJvdXNlbCIpKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9kaXYuYWRkQ2xhc3MoIm93bC1jYXJvdXNlbCBvd2wtdGhlbWUiKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudF9kaXYub3dsQ2Fyb3VzZWwoew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydGw6IFRIRU1FTUFTQ09ULmlzUlRMLmNoZWNrKCksDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5OiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheVRpbWVvdXQ6IDQwMDAsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxvb3A6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvdHM6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hdjogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc2ODogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgICAgIGluc3RhZ3JhbUZlZWQucnVuKCk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIEZsaWNrciBGZWVkIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1famZsaWNrcmZlZWQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRqZmxpY2tyZmVlZCA9ICQoIi5mbGlja3Itd2lkZ2V0IC5mbGlja3ItZmVlZCwgLmpmbGlja3JmZWVkIik7DQogICAgICAgICAgICBpZiggJGpmbGlja3JmZWVkLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGpmbGlja3JmZWVkLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBjdXJyZW50X2RpdiA9ICQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfZGl2LmpmbGlja3JmZWVkKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIGxpbWl0OiA5LA0KICAgICAgICAgICAgICAgICAgICAgICAgcXN0cmluZ3M6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogY3VycmVudF9kaXYuZGF0YSgndXNlcmlkJykNCiAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtVGVtcGxhdGU6ICc8YSBocmVmPSJ7e2xpbmt9fSIgdGl0bGU9Int7dGl0bGV9fSIgdGFyZ2V0PSJfYmxhbmsiPjxpbWcgc3JjPSJ7e2ltYWdlX219fSIgYWx0PSJ7e3RpdGxlfX0iPiAgPC9hPicNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGFjY29yZGlvbiAmIHRvZ2dsZXMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fYWNjb3JkaW9uX3RvZ2dsZXM6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRwYW5lbF9ncm91cF9jb2xsYXBzZSA9ICQoJy5wYW5lbC1ncm91cCAuY29sbGFwc2UnKTsNCiAgICAgICAgICAgICRwYW5lbF9ncm91cF9jb2xsYXBzZS5vbigic2hvdy5icy5jb2xsYXBzZSIsIGZ1bmN0aW9uKGUpIHsNCiAgICAgICAgICAgICAgICAkKHRoaXMpLmNsb3Nlc3QoIi5wYW5lbC1ncm91cCIpLmZpbmQoIltocmVmPScjIiArICQodGhpcykuYXR0cigiaWQiKSArICInXSIpLmFkZENsYXNzKCJhY3RpdmUiKTsNCiAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgJHBhbmVsX2dyb3VwX2NvbGxhcHNlLm9uKCJoaWRlLmJzLmNvbGxhcHNlIiwgZnVuY3Rpb24oZSkgew0KICAgICAgICAgICAgICAgICQodGhpcykuY2xvc2VzdCgiLnBhbmVsLWdyb3VwIikuZmluZCgiW2hyZWY9JyMiICsgJCh0aGlzKS5hdHRyKCJpZCIpICsgIiddIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0sDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHRvb2x0aXAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fdG9vbHRpcDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJHRvb2x0aXAgPSAkKCdbZGF0YS10b2dnbGU9InRvb2x0aXAiXScpOw0KICAgICAgICAgICAgaWYoICR0b29sdGlwLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHRvb2x0aXAudG9vbHRpcCgpOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUd2l0dGVyIEZlZWQgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3R3aXR0aWU6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICR0d2l0dGVyX2ZlZWQgPSAkKCcudHdpdHRlci1mZWVkJyk7DQogICAgICAgICAgICB2YXIgJHR3aXR0ZXJfZmVlZF9jYXJvdXNlbCA9ICQoJy50d2l0dGVyLWZlZWQtY2Fyb3VzZWwnKTsNCiAgICAgICAgICAgIA0KICAgICAgICAgICAgaWYoICR0d2l0dGVyX2ZlZWQubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkdHdpdHRlcl9mZWVkLnR3aXR0aWUoew0KICAgICAgICAgICAgICAgICAgICB1c2VybmFtZTogJHR3aXR0ZXJfZmVlZC5kYXRhKCd1c2VybmFtZScpLA0KICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0OiAnJWIuICVkLCAlWScsDQogICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlOiAne3t0d2VldH19IDxkaXYgY2xhc3M9ImRhdGUiPnt7ZGF0ZX19PC9kaXY+JywNCiAgICAgICAgICAgICAgICAgICAgY291bnQ6ICggJHR3aXR0ZXJfZmVlZC5kYXRhKCJjb3VudCIpID09PSB1bmRlZmluZWQgKSA/IDQ6ICR0d2l0dGVyX2ZlZWQuZGF0YSgiY291bnQiKSwNCiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1RleHQ6ICdMb2FkaW5nIScNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgaWYoICR0d2l0dGVyX2ZlZWRfY2Fyb3VzZWwubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICAkdHdpdHRlcl9mZWVkX2Nhcm91c2VsLnR3aXR0aWUoew0KICAgICAgICAgICAgICAgICAgICB1c2VybmFtZTogJHR3aXR0ZXJfZmVlZF9jYXJvdXNlbC5kYXRhKCd1c2VybmFtZScpLA0KICAgICAgICAgICAgICAgICAgICBkYXRlRm9ybWF0OiAnJWIuICVkLCAlWScsDQogICAgICAgICAgICAgICAgICAgIHRlbXBsYXRlOiAne3t0d2VldH19IDxkaXYgY2xhc3M9ImRhdGUiPnt7ZGF0ZX19PC9kaXY+JywNCiAgICAgICAgICAgICAgICAgICAgY291bnQ6ICggJHR3aXR0ZXJfZmVlZF9jYXJvdXNlbC5kYXRhKCJjb3VudCIpID09PSB1bmRlZmluZWQgKSA/IDQ6ICR0d2l0dGVyX2ZlZWRfY2Fyb3VzZWwuZGF0YSgiY291bnQiKSwNCiAgICAgICAgICAgICAgICAgICAgbG9hZGluZ1RleHQ6ICdMb2FkaW5nIScNCiAgICAgICAgICAgICAgICB9LCBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyICR0aGlzX2Nhcm91c2VsID0gJHR3aXR0ZXJfZmVlZF9jYXJvdXNlbC5maW5kKCd1bCcpOw0KICAgICAgICAgICAgICAgICAgICBpZighJHRoaXNfY2Fyb3VzZWwuaGFzQ2xhc3MoIm93bC1jYXJvdXNlbCIpKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzX2Nhcm91c2VsLmFkZENsYXNzKCJvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIik7DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZG90cyA9ICggJHRoaXNfY2Fyb3VzZWwuZGF0YSgiZG90cyIpID09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkdGhpc19jYXJvdXNlbC5kYXRhKCJkb3RzIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX25hdiA9ICggJHRoaXNfY2Fyb3VzZWwuZGF0YSgibmF2Iik9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJHRoaXNfY2Fyb3VzZWwuZGF0YSgibmF2Iik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2R1cmF0aW9uID0gKCAkdGhpc19jYXJvdXNlbC5kYXRhKCJkdXJhdGlvbiIpID09PSB1bmRlZmluZWQgKSA/IDQwMDA6ICR0aGlzX2Nhcm91c2VsLmRhdGEoImR1cmF0aW9uIik7DQoNCiAgICAgICAgICAgICAgICAgICAgJHRoaXNfY2Fyb3VzZWwub3dsQ2Fyb3VzZWwoew0KICAgICAgICAgICAgICAgICAgICAgICAgcnRsOiBUSEVNRU1BU0NPVC5pc1JUTC5jaGVjaygpLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXk6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheVRpbWVvdXQ6IGRhdGFfZHVyYXRpb24sDQogICAgICAgICAgICAgICAgICAgICAgICBsb29wOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGRvdHM6IGRhdGFfZG90cywNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hdjogZGF0YV9uYXYsDQogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaXZlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzY4OiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfQ0KICAgIH07DQoNCiAgICBUSEVNRU1BU0NPVC5zbGlkZXIgPSB7DQoNCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7DQoNCiAgICAgICAgICAgIHZhciB0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5zbGlkZXIuVE1fdHlwZWRBbmltYXRpb24oKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5zbGlkZXIuVE1fZmxleHNsaWRlcigpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULnNsaWRlci5UTV9vd2xDYXJvdXNlbCgpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULnNsaWRlci5UTV9tYXhpbWFnZVNsaWRlcigpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULnNsaWRlci5UTV9ieHNsaWRlcigpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULnNsaWRlci5UTV9iZWZvcmVBZnRlclNsaWRlcigpOw0KICAgICAgICAgICAgfSwgMCk7DQoNCiAgICAgICAgfSwNCg0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gVHlwZWQgVGV4dCBDYXJvdXNlbCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX3R5cGVkQW5pbWF0aW9uOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkdHlwZWRfdGV4dF9jYXJvdXNlbCA9ICQoJy50eXBlZC10ZXh0LWNhcm91c2VsJyk7DQogICAgICAgICAgICBpZiAoICR0eXBlZF90ZXh0X2Nhcm91c2VsLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJHR5cGVkX3RleHRfY2Fyb3VzZWwuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIHN0cmluZ18xID0gJCh0aGlzKS5maW5kKCdzcGFuOmZpcnN0LWNoaWxkJykudGV4dCgpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgc3RyaW5nXzIgPSAkKHRoaXMpLmZpbmQoJ3NwYW46bnRoLWNoaWxkKDIpJykudGV4dCgpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgc3RyaW5nXzMgPSAkKHRoaXMpLmZpbmQoJ3NwYW46bnRoLWNoaWxkKDMpJykudGV4dCgpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgc3RyID0gJyc7DQogICAgICAgICAgICAgICAgICAgIHZhciAkdGhpcyA9ICQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgIGlmICghc3RyaW5nXzIudHJpbSgpIHx8ICFzdHJpbmdfMy50cmltKCkpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHN0ciA9IFtzdHJpbmdfMV07DQogICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgaWYgKCFzdHJpbmdfMy50cmltKCkgJiYgc3RyaW5nXzIubGVuZ3RoKSB7DQogICAgICAgICAgICAgICAgICAgICAgICBzdHIgPSBbc3RyaW5nXzEsIHN0cmluZ18yXTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICBpZiAoc3RyaW5nXzEubGVuZ3RoICYmIHN0cmluZ18yLmxlbmd0aCAmJiBzdHJpbmdfMy5sZW5ndGgpIHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHN0ciA9IFtzdHJpbmdfMSwgc3RyaW5nXzIsIHN0cmluZ18zXTsNCiAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB2YXIgc3BlZWQgPSAkKHRoaXMpLmRhdGEoJ3NwZWVkJyk7DQogICAgICAgICAgICAgICAgICAgIHZhciBiYWNrX2RlbGF5ID0gJCh0aGlzKS5kYXRhKCdiYWNrX2RlbGF5Jyk7DQogICAgICAgICAgICAgICAgICAgIHZhciBsb29wID0gJCh0aGlzKS5kYXRhKCdsb29wJyk7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykudHlwZWQoew0KICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nczogc3RyLA0KICAgICAgICAgICAgICAgICAgICAgICAgdHlwZVNwZWVkOiBzcGVlZCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tTcGVlZDogMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tEZWxheTogYmFja19kZWxheSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGN1cnNvckNoYXI6ICJ8IiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGxvb3A6IGxvb3AsDQogICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50VHlwZTogJ3RleHQnLA0KICAgICAgICAgICAgICAgICAgICAgICAgbG9vcENvdW50OiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZmxleHNsaWRlciAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX2ZsZXhzbGlkZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRlYWNoX2ZsZXhfc2xpZGVyID0gJCgnLmZsZXhzbGlkZXItd3JhcHBlcicpLmZpbmQoJy5mbGV4c2xpZGVyJyk7DQogICAgICAgICAgICBpZiAoICRlYWNoX2ZsZXhfc2xpZGVyLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1Qud2lkZ2V0LlRNX3BvcnRmb2xpb0ZsZXhTbGlkZXJHYWxsZXJ5UG9wVXBJbml0KCk7DQogICAgICAgICAgICAgICAgJGVhY2hfZmxleF9zbGlkZXIuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyICRmbGV4X3NsaWRlciA9ICQodGhpcyk7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2RpcmVjdGlvbiA9ICggJGZsZXhfc2xpZGVyLnBhcmVudCgpLmRhdGEoImRpcmVjdGlvbiIpID09PSB1bmRlZmluZWQgKSA/ICdob3Jpem9udGFsJzogJGZsZXhfc2xpZGVyLnBhcmVudCgpLmRhdGEoImRpcmVjdGlvbiIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9jb250cm9sTmF2ID0gKCAkZmxleF9zbGlkZXIucGFyZW50KCkuZGF0YSgiY29udHJvbG5hdiIpID09PSB1bmRlZmluZWQgKSA/IHRydWU6ICRmbGV4X3NsaWRlci5wYXJlbnQoKS5kYXRhKCJjb250cm9sbmF2Iik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2RpcmVjdGlvbm5hdiA9ICggJGZsZXhfc2xpZGVyLnBhcmVudCgpLmRhdGEoImRpcmVjdGlvbm5hdiIpID09PSB1bmRlZmluZWQgKSA/IHRydWU6ICRmbGV4X3NsaWRlci5wYXJlbnQoKS5kYXRhKCJkaXJlY3Rpb25uYXYiKTsNCiAgICAgICAgICAgICAgICAgICAgJGZsZXhfc2xpZGVyLmZsZXhzbGlkZXIoew0KICAgICAgICAgICAgICAgICAgICAgICAgcnRsOiBUSEVNRU1BU0NPVC5pc1JUTC5jaGVjaygpLA0KICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6ICIuc2xpZGVzID4gbGkiLA0KICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uOiAic2xpZGUiLA0KICAgICAgICAgICAgICAgICAgICAgICAgZWFzaW5nOiAic3dpbmciLA0KICAgICAgICAgICAgICAgICAgICAgICAgZGlyZWN0aW9uOiBkYXRhX2RpcmVjdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc2hvdzogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHNsaWRlc2hvd1NwZWVkOiA3MDAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgYW5pbWF0aW9uU3BlZWQ6IDYwMCwNCiAgICAgICAgICAgICAgICAgICAgICAgIHBhdXNlT25Ib3ZlcjogZmFsc2UsDQogICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sTmF2OiBkYXRhX2NvbnRyb2xOYXYsDQogICAgICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb25OYXY6IGRhdGFfZGlyZWN0aW9ubmF2LA0KICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGZ1bmN0aW9uKHNsaWRlcil7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW1hZ2VzTG9hZGVkKCRwb3J0Zm9saW9fZ2FsbGVyeSwgZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBvcnRmb2xpb19maWx0ZXJfZmlyc3RfY2hpbGQudHJpZ2dlcigiY2xpY2siKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSw1MDApOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fbWFnbmlmaWNQb3B1cF9saWdodGJveCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fcHJldHR5UGhvdG9fbGlnaHRib3goKTsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX25pdm9saWdodGJveCgpOw0KICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGFmdGVyOiBmdW5jdGlvbigpew0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgfSwNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIE93bCBDYXJvdXNlbCAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9vd2xDYXJvdXNlbDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJG93bF9jYXJvdXNlbF8xY29sID0gJCgnLm93bC1jYXJvdXNlbC0xY29sLCAudGV4dC1jYXJvdXNlbCwgLmltYWdlLWNhcm91c2VsLCAuZnVsbHdpZHRoLWNhcm91c2VsJyk7DQogICAgICAgICAgICBpZiAoICRvd2xfY2Fyb3VzZWxfMWNvbC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgIGlmKCEkb3dsX2Nhcm91c2VsXzFjb2wuaGFzQ2xhc3MoIm93bC1jYXJvdXNlbCIpKXsNCiAgICAgICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF8xY29sLmFkZENsYXNzKCJvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfMWNvbC5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kb3RzID0gKCAkKHRoaXMpLmRhdGEoImRvdHMiKSA9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJkb3RzIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX25hdiA9ICggJCh0aGlzKS5kYXRhKCJuYXYiKSA9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJuYXYiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZHVyYXRpb24gPSAoICQodGhpcykuZGF0YSgiZHVyYXRpb24iKSA9PT0gdW5kZWZpbmVkICkgPyA0MDAwOiAkKHRoaXMpLmRhdGEoImR1cmF0aW9uIik7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykub3dsQ2Fyb3VzZWwoew0KICAgICAgICAgICAgICAgICAgICAgICAgcnRsOiBUSEVNRU1BU0NPVC5pc1JUTC5jaGVjaygpLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXk6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheVRpbWVvdXQ6IGRhdGFfZHVyYXRpb24sDQogICAgICAgICAgICAgICAgICAgICAgICBsb29wOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICBkb3RzOiBkYXRhX2RvdHMsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXY6IGRhdGFfbmF2LA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2VGV4dDogWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1sZWZ0Ij48L2k+JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tcmlnaHQiPjwvaT4nDQogICAgICAgICAgICAgICAgICAgICAgICBdDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJG93bF9jYXJvdXNlbF8yY29sID0gJCgnLm93bC1jYXJvdXNlbC0yY29sJyk7DQogICAgICAgICAgICBpZiAoICRvd2xfY2Fyb3VzZWxfMmNvbC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgIGlmKCEkb3dsX2Nhcm91c2VsXzJjb2wuaGFzQ2xhc3MoIm93bC1jYXJvdXNlbCIpKXsNCiAgICAgICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF8yY29sLmFkZENsYXNzKCJvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfMmNvbC5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kb3RzID0gKCAkKHRoaXMpLmRhdGEoImRvdHMiKSA9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJkb3RzIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX25hdiA9ICggJCh0aGlzKS5kYXRhKCJuYXYiKT09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkKHRoaXMpLmRhdGEoIm5hdiIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kdXJhdGlvbiA9ICggJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpID09PSB1bmRlZmluZWQgKSA/IDQwMDA6ICQodGhpcykuZGF0YSgiZHVyYXRpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vd2xDYXJvdXNlbCh7DQogICAgICAgICAgICAgICAgICAgICAgICBydGw6IFRIRU1FTUFTQ09ULmlzUlRMLmNoZWNrKCksDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5VGltZW91dDogZGF0YV9kdXJhdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGxvb3A6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTUsDQogICAgICAgICAgICAgICAgICAgICAgICBkb3RzOiBkYXRhX2RvdHMsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXY6IGRhdGFfbmF2LA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2VGV4dDogWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1sZWZ0Ij48L2k+JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tcmlnaHQiPjwvaT4nDQogICAgICAgICAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ4MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NTA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDIsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTE3MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkb3dsX2Nhcm91c2VsXzNjb2wgPSAkKCcub3dsLWNhcm91c2VsLTNjb2wnKTsNCiAgICAgICAgICAgIGlmICggJG93bF9jYXJvdXNlbF8zY29sLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgaWYoISRvd2xfY2Fyb3VzZWxfM2NvbC5oYXNDbGFzcygib3dsLWNhcm91c2VsIikpew0KICAgICAgICAgICAgICAgICAgICAkb3dsX2Nhcm91c2VsXzNjb2wuYWRkQ2xhc3MoIm93bC1jYXJvdXNlbCBvd2wtdGhlbWUiKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF8zY29sLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2RvdHMgPSAoICQodGhpcykuZGF0YSgiZG90cyIpID09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkKHRoaXMpLmRhdGEoImRvdHMiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfbmF2ID0gKCAkKHRoaXMpLmRhdGEoIm5hdiIpPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICQodGhpcykuZGF0YSgibmF2Iik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2R1cmF0aW9uID0gKCAkKHRoaXMpLmRhdGEoImR1cmF0aW9uIikgPT09IHVuZGVmaW5lZCApID8gNDAwMDogJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpOw0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm93bENhcm91c2VsKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogVEhFTUVNQVNDT1QuaXNSVEwuY2hlY2soKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5OiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OiBkYXRhX2R1cmF0aW9uLA0KICAgICAgICAgICAgICAgICAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGRvdHM6IGRhdGFfZG90cywNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hdjogZGF0YV9uYXYsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXZUZXh0OiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLWxlZnQiPjwvaT4nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1yaWdodCI+PC9pPicNCiAgICAgICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaXZlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDgwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc1MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOTYwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAyDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTcwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMzAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIA0KDQogICAgICAgICAgICB2YXIgJG93bF9jYXJvdXNlbF80Y29sID0gJCgnLm93bC1jYXJvdXNlbC00Y29sJyk7DQogICAgICAgICAgICBpZiAoICRvd2xfY2Fyb3VzZWxfNGNvbC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgIGlmKCEkb3dsX2Nhcm91c2VsXzRjb2wuaGFzQ2xhc3MoIm93bC1jYXJvdXNlbCIpKXsNCiAgICAgICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF80Y29sLmFkZENsYXNzKCJvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfNGNvbC5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kb3RzID0gKCAkKHRoaXMpLmRhdGEoImRvdHMiKSA9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJkb3RzIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX25hdiA9ICggJCh0aGlzKS5kYXRhKCJuYXYiKT09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkKHRoaXMpLmRhdGEoIm5hdiIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kdXJhdGlvbiA9ICggJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpID09PSB1bmRlZmluZWQgKSA/IDQwMDA6ICQodGhpcykuZGF0YSgiZHVyYXRpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vd2xDYXJvdXNlbCh7DQogICAgICAgICAgICAgICAgICAgICAgICBydGw6IFRIRU1FTUFTQ09ULmlzUlRMLmNoZWNrKCksDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5VGltZW91dDogZGF0YV9kdXJhdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGxvb3A6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNCwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTUsDQogICAgICAgICAgICAgICAgICAgICAgICBkb3RzOiBkYXRhX2RvdHMsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXY6IGRhdGFfbmF2LA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2VGV4dDogWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1sZWZ0Ij48L2k+JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tcmlnaHQiPjwvaT4nDQogICAgICAgICAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogdHJ1ZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNDgwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc1MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgOTYwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMTcwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiA0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMzAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiA0DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgICAgICB9KTsNCiAgICAgICAgICAgIH0NCg0KICAgICAgICAgICAgdmFyICRvd2xfY2Fyb3VzZWxfNWNvbCA9ICQoJy5vd2wtY2Fyb3VzZWwtNWNvbCcpOw0KICAgICAgICAgICAgaWYgKCAkb3dsX2Nhcm91c2VsXzVjb2wubGVuZ3RoID4gMCApIHsNCiAgICAgICAgICAgICAgICBpZighJG93bF9jYXJvdXNlbF81Y29sLmhhc0NsYXNzKCJvd2wtY2Fyb3VzZWwiKSl7DQogICAgICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfNWNvbC5hZGRDbGFzcygib3dsLWNhcm91c2VsIG93bC10aGVtZSIpOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAkb3dsX2Nhcm91c2VsXzVjb2wuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZG90cyA9ICggJCh0aGlzKS5kYXRhKCJkb3RzIikgPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICQodGhpcykuZGF0YSgiZG90cyIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9uYXYgPSAoICQodGhpcykuZGF0YSgibmF2Iik9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJuYXYiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfZHVyYXRpb24gPSAoICQodGhpcykuZGF0YSgiZHVyYXRpb24iKSA9PT0gdW5kZWZpbmVkICkgPyA0MDAwOiAkKHRoaXMpLmRhdGEoImR1cmF0aW9uIik7DQogICAgICAgICAgICAgICAgICAgICQodGhpcykub3dsQ2Fyb3VzZWwoew0KICAgICAgICAgICAgICAgICAgICAgICAgcnRsOiBUSEVNRU1BU0NPVC5pc1JUTC5jaGVjaygpLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXk6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheVRpbWVvdXQ6IGRhdGFfZHVyYXRpb24sDQogICAgICAgICAgICAgICAgICAgICAgICBsb29wOiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDUsDQogICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1LA0KICAgICAgICAgICAgICAgICAgICAgICAgZG90czogZGF0YV9kb3RzLA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2OiBkYXRhX25hdiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hdlRleHQ6IFsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tbGVmdCI+PC9pPicsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLXJpZ2h0Ij48L2k+Jw0KICAgICAgICAgICAgICAgICAgICAgICAgXSwNCiAgICAgICAgICAgICAgICAgICAgICAgIHJlc3BvbnNpdmU6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAxLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ODA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMiwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNzUwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAzLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA5NjA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDQNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDExNzA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzMDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDUNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KDQogICAgICAgICAgICB2YXIgJG93bF9jYXJvdXNlbF82Y29sID0gJCgnLm93bC1jYXJvdXNlbC02Y29sJyk7DQogICAgICAgICAgICBpZiAoICRvd2xfY2Fyb3VzZWxfNmNvbC5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgIGlmKCEkb3dsX2Nhcm91c2VsXzZjb2wuaGFzQ2xhc3MoIm93bC1jYXJvdXNlbCIpKXsNCiAgICAgICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF82Y29sLmFkZENsYXNzKCJvd2wtY2Fyb3VzZWwgb3dsLXRoZW1lIik7DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgICAgICRvd2xfY2Fyb3VzZWxfNmNvbC5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kb3RzID0gKCAkKHRoaXMpLmRhdGEoImRvdHMiKSA9PT0gdW5kZWZpbmVkICkgPyBmYWxzZTogJCh0aGlzKS5kYXRhKCJkb3RzIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX25hdiA9ICggJCh0aGlzKS5kYXRhKCJuYXYiKT09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkKHRoaXMpLmRhdGEoIm5hdiIpOw0KICAgICAgICAgICAgICAgICAgICB2YXIgZGF0YV9kdXJhdGlvbiA9ICggJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpID09PSB1bmRlZmluZWQgKSA/IDQwMDA6ICQodGhpcykuZGF0YSgiZHVyYXRpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5vd2xDYXJvdXNlbCh7DQogICAgICAgICAgICAgICAgICAgICAgICBydGw6IFRIRU1FTUFTQ09ULmlzUlRMLmNoZWNrKCksDQogICAgICAgICAgICAgICAgICAgICAgICBhdXRvcGxheTogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5VGltZW91dDogZGF0YV9kdXJhdGlvbiwNCiAgICAgICAgICAgICAgICAgICAgICAgIGxvb3A6IHRydWUsDQogICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNiwNCiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTUsDQogICAgICAgICAgICAgICAgICAgICAgICBkb3RzOiBkYXRhX2RvdHMsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXY6IGRhdGFfbmF2LA0KICAgICAgICAgICAgICAgICAgICAgICAgbmF2VGV4dDogWw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1sZWZ0Ij48L2k+JywNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGkgY2xhc3M9ImZhIGZhLWNoZXZyb24tcmlnaHQiPjwvaT4nDQogICAgICAgICAgICAgICAgICAgICAgICBdLA0KICAgICAgICAgICAgICAgICAgICAgICAgcmVzcG9uc2l2ZTogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ4MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NTA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTE3MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkb3dsX2Nhcm91c2VsXzdjb2wgPSAkKCcub3dsLWNhcm91c2VsLTdjb2wnKTsNCiAgICAgICAgICAgIGlmICggJG93bF9jYXJvdXNlbF83Y29sLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgaWYoISRvd2xfY2Fyb3VzZWxfN2NvbC5oYXNDbGFzcygib3dsLWNhcm91c2VsIikpew0KICAgICAgICAgICAgICAgICAgICAkb3dsX2Nhcm91c2VsXzdjb2wuYWRkQ2xhc3MoIm93bC1jYXJvdXNlbCBvd2wtdGhlbWUiKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF83Y29sLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2RvdHMgPSAoICQodGhpcykuZGF0YSgiZG90cyIpID09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkKHRoaXMpLmRhdGEoImRvdHMiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfbmF2ID0gKCAkKHRoaXMpLmRhdGEoIm5hdiIpPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICQodGhpcykuZGF0YSgibmF2Iik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2R1cmF0aW9uID0gKCAkKHRoaXMpLmRhdGEoImR1cmF0aW9uIikgPT09IHVuZGVmaW5lZCApID8gNDAwMDogJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpOw0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm93bENhcm91c2VsKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogVEhFTUVNQVNDT1QuaXNSVEwuY2hlY2soKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5OiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OiBkYXRhX2R1cmF0aW9uLA0KICAgICAgICAgICAgICAgICAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiA3LA0KICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGRvdHM6IGRhdGFfZG90cywNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hdjogZGF0YV9uYXYsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXZUZXh0OiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLWxlZnQiPjwvaT4nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1yaWdodCI+PC9pPicNCiAgICAgICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaXZlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NTA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTE3MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQoNCiAgICAgICAgICAgIHZhciAkb3dsX2Nhcm91c2VsXzhjb2wgPSAkKCcub3dsLWNhcm91c2VsLThjb2wnKTsNCiAgICAgICAgICAgIGlmICggJG93bF9jYXJvdXNlbF84Y29sLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgaWYoISRvd2xfY2Fyb3VzZWxfOGNvbC5oYXNDbGFzcygib3dsLWNhcm91c2VsIikpew0KICAgICAgICAgICAgICAgICAgICAkb3dsX2Nhcm91c2VsXzhjb2wuYWRkQ2xhc3MoIm93bC1jYXJvdXNlbCBvd2wtdGhlbWUiKTsNCiAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgJG93bF9jYXJvdXNlbF84Y29sLmVhY2goZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2RvdHMgPSAoICQodGhpcykuZGF0YSgiZG90cyIpID09PSB1bmRlZmluZWQgKSA/IGZhbHNlOiAkKHRoaXMpLmRhdGEoImRvdHMiKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfbmF2ID0gKCAkKHRoaXMpLmRhdGEoIm5hdiIpPT09IHVuZGVmaW5lZCApID8gZmFsc2U6ICQodGhpcykuZGF0YSgibmF2Iik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2R1cmF0aW9uID0gKCAkKHRoaXMpLmRhdGEoImR1cmF0aW9uIikgPT09IHVuZGVmaW5lZCApID8gNDAwMDogJCh0aGlzKS5kYXRhKCJkdXJhdGlvbiIpOw0KICAgICAgICAgICAgICAgICAgICAkKHRoaXMpLm93bENhcm91c2VsKHsNCiAgICAgICAgICAgICAgICAgICAgICAgIHJ0bDogVEhFTUVNQVNDT1QuaXNSVEwuY2hlY2soKSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGF1dG9wbGF5OiB0cnVlLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXV0b3BsYXlUaW1lb3V0OiBkYXRhX2R1cmF0aW9uLA0KICAgICAgICAgICAgICAgICAgICAgICAgbG9vcDogdHJ1ZSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiA4LA0KICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxNSwNCiAgICAgICAgICAgICAgICAgICAgICAgIGRvdHM6IGRhdGFfZG90cywNCiAgICAgICAgICAgICAgICAgICAgICAgIG5hdjogZGF0YV9uYXYsDQogICAgICAgICAgICAgICAgICAgICAgICBuYXZUZXh0OiBbDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgJzxpIGNsYXNzPSJmYSBmYS1jaGV2cm9uLWxlZnQiPjwvaT4nLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICc8aSBjbGFzcz0iZmEgZmEtY2hldnJvbi1yaWdodCI+PC9pPicNCiAgICAgICAgICAgICAgICAgICAgICAgIF0sDQogICAgICAgICAgICAgICAgICAgICAgICByZXNwb25zaXZlOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogMSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBmYWxzZQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgNjAwOiB7DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiAyLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGZhbHNlDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NTA6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IDMsDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNlbnRlcjogZmFsc2UNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk2MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogNQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTE3MDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogOA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0sDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMwMDogew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogOA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgICAgICANCiAgICAgICAgfSwNCg0KDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLSBtYXhpbWFnZSBGdWxsc2NyZWVuIFBhcmFsbGF4IEJhY2tncm91bmQgU2xpZGVyICAtLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIFRNX21heGltYWdlU2xpZGVyOiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciAkbWF4aW1hZ2Vfc2xpZGVyID0gJCgnI21heGltYWdlJyk7DQogICAgICAgICAgICBpZiggJG1heGltYWdlX3NsaWRlci5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRtYXhpbWFnZV9zbGlkZXIuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgJCh0aGlzKS5tYXhpbWFnZSh7DQogICAgICAgICAgICAgICAgICAgICAgICBjeWNsZU9wdGlvbnM6IHsNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmeDogJ2ZhZGUnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWVkOiAxNTAwLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXY6ICcuaW1nLXByZXYnLA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5leHQ6ICcuaW1nLW5leHQnDQogICAgICAgICAgICAgICAgICAgICAgICB9DQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9LA0KDQoNCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCeFNsaWRlciAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgVE1fYnhzbGlkZXI6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyICRieHNsaWRlciA9ICQoJy5ieHNsaWRlcicpOw0KICAgICAgICAgICAgaWYoICRieHNsaWRlci5sZW5ndGggPiAwICkgew0KICAgICAgICAgICAgICAgICRieHNsaWRlci5lYWNoKGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgICAgICB2YXIgJHRoaXMgPSAkKHRoaXMpOw0KICAgICAgICAgICAgICAgICAgICAkdGhpcy5ieFNsaWRlcih7DQogICAgICAgICAgICAgICAgICAgICAgICBtb2RlOiAndmVydGljYWwnLA0KICAgICAgICAgICAgICAgICAgICAgICAgbWluU2xpZGVzOiAoICR0aGlzLmRhdGEoIm1pbnNsaWRlcyIpID09PSB1bmRlZmluZWQgKSA/IDI6ICR0aGlzLmRhdGEoIm1pbnNsaWRlcyIpLA0KICAgICAgICAgICAgICAgICAgICAgICAgc2xpZGVNYXJnaW46IDIwLA0KICAgICAgICAgICAgICAgICAgICAgICAgcGFnZXI6IGZhbHNlLA0KICAgICAgICAgICAgICAgICAgICAgICAgcHJldlRleHQ6ICc8aSBjbGFzcz0iZmEgZmEtYW5nbGUtbGVmdCI+PC9pPicsDQogICAgICAgICAgICAgICAgICAgICAgICBuZXh0VGV4dDogJzxpIGNsYXNzPSJmYSBmYS1hbmdsZS1yaWdodCI+PC9pPicNCiAgICAgICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICAgICAgfSk7DQogICAgICAgICAgICB9DQogICAgICAgIH0sDQoNCg0KICAgICAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBCZWZvcmUgQWZ0ZXIgU2xpZGVyICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAgICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgICAgICBUTV9iZWZvcmVBZnRlclNsaWRlcjogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICB2YXIgJGJlZm9yZV9hZnRlcl9zbGlkZXIgPSAkKCcudHdlbnR5dHdlbnR5LWNvbnRhaW5lcicpOw0KICAgICAgICAgICAgaWYoICRiZWZvcmVfYWZ0ZXJfc2xpZGVyLmxlbmd0aCA+IDAgKSB7DQogICAgICAgICAgICAgICAgJGJlZm9yZV9hZnRlcl9zbGlkZXIuZWFjaChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICAgICAgdmFyICR0aGlzID0gJCh0aGlzKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfb2Zmc2V0X3BjdCA9ICggJHRoaXMuZGF0YSgib2Zmc2V0LXBlcmNlbnQiKSA9PT0gdW5kZWZpbmVkICkgPyAwLjU6ICR0aGlzLmRhdGEoIm9mZnNldC1wZXJjZW50Iik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX29yaWVudGF0aW9uID0gKCAkdGhpcy5kYXRhKCJvcmllbnRhdGlvbiIpID09PSB1bmRlZmluZWQgKSA/ICdob3Jpem9udGFsJzogJHRoaXMuZGF0YSgib3JpZW50YXRpb24iKTsNCiAgICAgICAgICAgICAgICAgICAgdmFyIGRhdGFfYmVmb3JlX2xhYmVsID0gKCAkdGhpcy5kYXRhKCJiZWZvcmUtbGFiZWwiKSA9PT0gdW5kZWZpbmVkICkgPyAnQmVmb3JlJzogJHRoaXMuZGF0YSgiYmVmb3JlLWxhYmVsIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX2FmdGVyX2xhYmVsID0gKCAkdGhpcy5kYXRhKCJhZnRlci1sYWJlbCIpID09PSB1bmRlZmluZWQgKSA/ICdBZnRlcic6ICR0aGlzLmRhdGEoImFmdGVyLWxhYmVsIik7DQogICAgICAgICAgICAgICAgICAgIHZhciBkYXRhX25vX292ZXJsYXkgPSAoICR0aGlzLmRhdGEoIm5vLW92ZXJsYXkiKSA9PT0gdW5kZWZpbmVkICkgPyB0cnVlOiAkdGhpcy5kYXRhKCJuby1vdmVybGF5Iik7DQogICAgICAgICAgICAgICAgICAgICR0aGlzLnR3ZW50eXR3ZW50eSh7DQogICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0X29mZnNldF9wY3Q6IGRhdGFfb2Zmc2V0X3BjdCwgLy8gSG93IG11Y2ggb2YgdGhlIGJlZm9yZSBpbWFnZSBpcyB2aXNpYmxlIHdoZW4gdGhlIHBhZ2UgbG9hZHMNCiAgICAgICAgICAgICAgICAgICAgICAgIG9yaWVudGF0aW9uOiBkYXRhX29yaWVudGF0aW9uLCAvLyBPcmllbnRhdGlvbiBvZiB0aGUgYmVmb3JlIGFuZCBhZnRlciBpbWFnZXMgKCdob3Jpem9udGFsJyBvciAndmVydGljYWwnKQ0KICAgICAgICAgICAgICAgICAgICAgICAgYmVmb3JlX2xhYmVsOiBkYXRhX2JlZm9yZV9sYWJlbCwgLy8gU2V0IGEgY3VzdG9tIGJlZm9yZSBsYWJlbA0KICAgICAgICAgICAgICAgICAgICAgICAgYWZ0ZXJfbGFiZWw6IGRhdGFfYWZ0ZXJfbGFiZWwsIC8vIFNldCBhIGN1c3RvbSBhZnRlciBsYWJlbA0KICAgICAgICAgICAgICAgICAgICAgICAgbm9fb3ZlcmxheTogZGF0YV9ub19vdmVybGF5IC8vRG8gbm90IHNob3cgdGhlIG92ZXJsYXkgd2l0aCBiZWZvcmUgYW5kIGFmdGVyDQogICAgICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgICAgIH0pOw0KICAgICAgICAgICAgfQ0KICAgICAgICB9DQogICAgfTsNCg0KDQogICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgIC8qIC0tLS0tLS0tLS0gZG9jdW1lbnQgcmVhZHksIHdpbmRvdyBsb2FkLCBzY3JvbGwgYW5kIHJlc2l6ZSAtLS0tLS0tLS0tLS0gKi8NCiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgLy9kb2N1bWVudCByZWFkeQ0KICAgIFRIRU1FTUFTQ09ULmRvY3VtZW50T25SZWFkeSA9IHsNCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLmluaXQoKTsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULmhlYWRlci5pbml0KCk7DQogICAgICAgICAgICBUSEVNRU1BU0NPVC5zbGlkZXIuaW5pdCgpOw0KICAgICAgICAgICAgVEhFTUVNQVNDT1Qud2lkZ2V0LmluaXQoKTsNCiAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpbmRvd09uc2Nyb2xsLmluaXQoKTsNCiAgICAgICAgfQ0KICAgIH07DQoNCiAgICAvL3dpbmRvdyBvbiBsb2FkDQogICAgVEhFTUVNQVNDT1Qud2luZG93T25Mb2FkID0gew0KICAgICAgICBpbml0OiBmdW5jdGlvbigpIHsNCiAgICAgICAgICAgIHZhciB0ID0gc2V0VGltZW91dChmdW5jdGlvbigpIHsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX3dvdygpOw0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULndpZGdldC5UTV90d2l0dGllKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9tYWduaWZpY1BvcHVwX2xpZ2h0Ym94KCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9wcmVMb2FkZXJPbkxvYWQoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX2hhc2hGb3J3YXJkaW5nKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9wYXJhbGxheEJnSW5pdCgpOw0KICAgICAgICAgICAgfSwgMCk7DQogICAgICAgICAgICAkd2luZG93LnRyaWdnZXIoInNjcm9sbCIpOw0KICAgICAgICAgICAgJHdpbmRvdy50cmlnZ2VyKCJyZXNpemUiKTsNCiAgICAgICAgfQ0KICAgIH07DQoNCiAgICAvL3dpbmRvdyBvbiBzY3JvbGwNCiAgICBUSEVNRU1BU0NPVC53aW5kb3dPbnNjcm9sbCA9IHsNCiAgICAgICAgaW5pdDogZnVuY3Rpb24oKSB7DQogICAgICAgICAgICAkd2luZG93Lm9uKCAnc2Nyb2xsJywgZnVuY3Rpb24oKXsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fc2Nyb29sVG9Ub3AoKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fYWN0aXZhdGVNZW51SXRlbU9uUmVhY2goKTsNCiAgICAgICAgICAgICAgICBUSEVNRU1BU0NPVC5oZWFkZXIuVE1fdG9wbmF2QW5pbWF0ZSgpOw0KICAgICAgICAgICAgfSk7DQogICAgICAgIH0NCiAgICB9Ow0KDQogICAgLy93aW5kb3cgb24gcmVzaXplDQogICAgVEhFTUVNQVNDT1Qud2luZG93T25SZXNpemUgPSB7DQogICAgICAgIGluaXQ6IGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgdmFyIHQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgew0KICAgICAgICAgICAgICAgIFRIRU1FTUFTQ09ULmluaXRpYWxpemUuVE1fZXF1YWxIZWlnaHREaXZzKCk7DQogICAgICAgICAgICAgICAgVEhFTUVNQVNDT1QuaW5pdGlhbGl6ZS5UTV9yZXNpemVGdWxsc2NyZWVuKCk7DQogICAgICAgICAgICB9LCA0MDApOw0KICAgICAgICB9DQogICAgfTsNCg0KDQogICAgVEhFTUVNQVNDT1QuaGVhZGVyLlRNX21lbnV6b3JkKCk7DQoNCiAgICAvKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovDQogICAgLyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBDYWxsIEZ1bmN0aW9ucyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KICAgIC8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi8NCiAgICAkZG9jdW1lbnQucmVhZHkoDQogICAgICAgIFRIRU1FTUFTQ09ULmRvY3VtZW50T25SZWFkeS5pbml0DQogICAgKTsNCiAgICAkd2luZG93Lm9uKCdsb2FkJywNCiAgICAgICAgVEhFTUVNQVNDT1Qud2luZG93T25Mb2FkLmluaXQNCiAgICApOw0KICAgICR3aW5kb3cub24oJ3Jlc2l6ZScsIA0KICAgICAgICBUSEVNRU1BU0NPVC53aW5kb3dPblJlc2l6ZS5pbml0DQogICAgKTsNCg0KICAgIC8vY2FsbCBmdW5jdGlvbiBiZWZvcmUgZG9jdW1lbnQgcmVhZHkNCiAgICBUSEVNRU1BU0NPVC5pbml0aWFsaXplLlRNX3ByZUxvYWRlckNsaWNrRGlzYWJsZSgpOw0KDQp9KShqUXVlcnkpOw=="}},"time_used":437,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":160,"receive":277,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/bg/bg17.jpg","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.823Z","timestamp":1785133989823,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/bg/bg17.jpg HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/jpeg\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 124363\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":124363,"size_decoded":124552,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=6, xresolution=86, yresolution=94, resolutionunit=2, software=Adobe Photoshop CC 2017 Windows, datetime=2018-01-09T01:17:26-18:00], baseline, precision 8, 1920x1080, components 3","md5":"5b3edd99764a910bc62f1f4f6456ebda","sha1":"08898aa0f944a7c31909ca196d0520f95518df33","sha256":"7af51c85a409af7dc41094884cd3796407e433cca90ac4c2e4f920b32cafdce6","sha512":"3c2acebf7d2eccddd1fe999652b89909572530196754c5728a3a36b5235e482c1c9aa9a6b156978f169ac4cd941c461da74131f29395fc879b1a101269b1c4bf","ssdeep":"3072:9sTPL4jpKuIe6K5sYGUvCFRPgwH0tI/c4ec6k75:9sTPL4jp2K5I8CFd9Uu/Ac/75","tlshash":"dcc312cacf0b0f69cc1fc17838fb28913e695029665ac7d16ff9e3d6a5431618eb0658","first_seen":"2023-07-17T13:29:23Z","last_seen":"2026-07-27T14:34:25.234451Z","times_seen":55,"resource_available":false,"data":"/9j/4QDYRXhpZgAASUkqAAgAAAAGABoBBQABAAAAVgAAABsBBQABAAAAXgAAACgBAwABAAAAAgAAADEBAgAgAAAAZgAAADIBAgAaAAAAhgAAAGmHBAABAAAAoAAAAAAAAABIAAAAAQAAAEgAAAABAAAAQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgV2luZG93cwAyMDE4LTAxLTA5VDAxOjE3OjI2LTE4OjAwAAMAAJAHAAQAAAAwMjIwAqAEAAEAAACABwAAA6AEAAEAAAA4BAAAAAAAADgEAAAAAP/sABFEdWNreQABAAQAAAAKAAD/4QPzaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjYtYzEzOCA3OS4xNTk4MjQsIDIwMTYvMDkvMTQtMDE6MDk6MDEgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6OEZBQjgxMkJGNEE4MTFFNzhFNkZFQUE1OUVBQ0U0NEYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OEZBQjgxMkFGNEE4MTFFNzhFNkZFQUE1OUVBQ0U0NEYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgV2luZG93cyIgeG1wOkNy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"}},"time_used":470,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":436,"receive":34,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/bg/bg14.jpg","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.825Z","timestamp":1785133989825,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/bg/bg14.jpg HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/jpeg\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 77652\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":77652,"size_decoded":77840,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, progressive, precision 8, 1920x1080, components 3","md5":"7f74ed7bbb694bb329be970152de680a","sha1":"8268aa7bb9d6201b9061907579dbb08f409bf26d","sha256":"ad558e6c99190ad25eae8cd45fb2edf32ddf2ffc565f8f1afcae23af004125e1","sha512":"5c854884339578459c8d861f5011727afe9bd67ff2bb880b7ce9478b3e93bdb87dc432356755d71ea7a042be7818f8dcd25612b3a582ae027a0a948844794b0a","ssdeep":"1536:nKsdOugeW0QzFO3wdOifcIgRCEKL4gOKKutKcky8oZ7mi4LJfn:PY0QzFO3wdORCv4njSKcX8GL4FP","tlshash":"7c7302a68389c356d017897eb18250153a3508931a8876a5faf778e3757e7c1fe0ecc7","first_seen":"2023-07-21T08:48:13Z","last_seen":"2026-07-27T14:34:25.239573Z","times_seen":42,"resource_available":false,"data":"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"}},"time_used":571,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":554,"receive":17,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/manifest.json","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:14.205Z","timestamp":1785133994205,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /manifest.json HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.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\nContent-Type: text/plain\r\nOrigin: https://frxoptmarkt.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:33:14 GMT\r\ncontent-type: application/json\r\naccess-control-allow-origin: *\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a4cb803-891\"\r\nexpires: Tue, 07 Jul 2026 08:35:15 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: kw49FE3eMM9FJ0nbQekLlrhqKxIB7ZOF4CTpEhq04REKpz5IQnq/bfoM6gOWyoKvFRL3q/8\r\nx-77-nzt-ray: e2f75420e9f098feaafb666ab323d50d\r\nx-77-cache: HIT\r\nx-77-age: 41\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":2193,"size_decoded":1034,"mime_type":"application/json","magic":"JSON text data","md5":"88bd6816d4679ef7a63e1e6b61490804","sha1":"a592c82f8688d81c4ff12ddda0f42d842dbcf079","sha256":"1147d96bffe9abe8aa663c63cca281edbff049e2211f810da089a1dd90051df8","sha512":"e583bebb86335657d7cca5065967a4e281280f0b4ab1fe0457de1dee47f12f84922daf5fe938c39bfb8f03e086d706f2b0fd1d86a6e79c4cce053f0943dcb762","ssdeep":"","tlshash":"d9414593c0b80e5317cc262bb89545515d5083c7e88a3d0d366d9a7f2f4cea920e6b7e","first_seen":"2026-07-07T11:50:17.724469Z","last_seen":"2026-07-27T07:27:47.909394Z","times_seen":1802,"resource_available":false,"data":"ewogICJfV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvV2lkZ2V0TWVzc2VuZ2VySW5wdXQtQzBYSFB4ZXYuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VySW5wdXQiLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIgogICAgXSwKICAgICJkeW5hbWljSW1wb3J0cyI6IFsKICAgICAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIgogICAgXQogIH0sCiAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiOiB7CiAgICAiZmlsZSI6ICJhc3NldHMvc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICJuYW1lIjogIkljb25CdXR0b24iLAogICAgImR5bmFtaWNJbXBvcnRzIjogWwogICAgICAibm9kZV9tb2R1bGVzLy5wbnBtL0B0aHVtYm1hcmtqcyt0aHVtYm1hcmtqc0AxLjkuMC9ub2RlX21vZHVsZXMvQHRodW1ibWFya2pzL3RodW1ibWFya2pzL2Rpc3QvdGh1bWJtYXJrLmVzbS5qcyIKICAgIF0KICB9LAogICJub2RlX21vZHVsZXMvLnBucG0vQHRodW1ibWFya2pzK3RodW1ibWFya2pzQDEuOS4wL25vZGVfbW9kdWxlcy9AdGh1bWJtYXJranMvdGh1bWJtYXJranMvZGlzdC90aHVtYm1hcmsuZXNtLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL3RodW1ibWFyay5lc20tQ1A0Q1UweUwuanMiLAogICAgIm5hbWUiOiAidGh1bWJtYXJrLmVzbSIsCiAgICAic3JjIjogIm5vZGVfbW9kdWxlcy8ucG5wbS9AdGh1bWJtYXJranMrdGh1bWJtYXJranNAMS45LjAvbm9kZV9tb2R1bGVzL0B0aHVtYm1hcmtqcy90aHVtYm1hcmtqcy9kaXN0L3RodW1ibWFyay5lc20uanMiLAogICAgImlzRHluYW1pY0VudHJ5IjogdHJ1ZQogIH0sCiAgIm5vZGVfbW9kdWxlcy8ucG5wbS9lbW9qaS1tYXJ0QDUuNi4wL25vZGVfbW9kdWxlcy9lbW9qaS1tYXJ0L2Rpc3QvbW9kdWxlLmpzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21vZHVsZS1ERDVudlZEMy5qcyIsCiAgICAibmFtZSI6ICJtb2R1bGUiLAogICAgInNyYyI6ICJub2RlX21vZHVsZXMvLnBucG0vZW1vamktbWFydEA1LjYuMC9ub2RlX21vZHVsZXMvZW1vamktbWFydC9kaXN0L21vZHVsZS5qcyIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlCiAgfSwKICAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRNZXNzZW5nZXItREQ3T3l5VDUuanMiLAogICAgIm5hbWUiOiAiV2lkZ2V0TWVzc2VuZ2VyIiwKICAgICJzcmMiOiAic3JjL2ZyYW1lcy9tZXNzZW5nZXIvV2lkZ2V0TWVzc2VuZ2VyLnN2ZWx0ZSIsCiAgICAiaXNEeW5hbWljRW50cnkiOiB0cnVlLAogICAgImltcG9ydHMiOiBbCiAgICAgICJfc2hhcmVkLUNnTUNBZm9yLmpzIiwKICAgICAgIl9XaWRnZXRNZXNzZW5nZXJJbnB1dC1DMFhIUHhldi5qcyIsCiAgICAgICJzcmMvbWFpbi50cyIKICAgIF0KICB9LAogICJzcmMvZnJhbWVzL3BvcHVwL1dpZGdldFBvcHVwLnN2ZWx0ZSI6IHsKICAgICJmaWxlIjogImFzc2V0cy9XaWRnZXRQb3B1cC1xZXV3a2NCbi5qcyIsCiAgICAibmFtZSI6ICJXaWRnZXRQb3B1cCIsCiAgICAic3JjIjogInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIiwKICAgICJpc0R5bmFtaWNFbnRyeSI6IHRydWUsCiAgICAiaW1wb3J0cyI6IFsKICAgICAgIl9zaGFyZWQtQ2dNQ0Fmb3IuanMiLAogICAgICAiX1dpZGdldE1lc3NlbmdlcklucHV0LUMwWEhQeGV2LmpzIgogICAgXQogIH0sCiAgInNyYy9tYWluLnRzIjogewogICAgImZpbGUiOiAiYXNzZXRzL21haW4tdDZXeExBQkEuanMiLAogICAgIm5hbWUiOiAibWFpbiIsCiAgICAic3JjIjogInNyYy9tYWluLnRzIiwKICAgICJpc0VudHJ5IjogdHJ1ZSwKICAgICJpbXBvcnRzIjogWwogICAgICAiX3NoYXJlZC1DZ01DQWZvci5qcyIKICAgIF0sCiAgICAiZHluYW1pY0ltcG9ydHMiOiBbCiAgICAgICJzcmMvZnJhbWVzL21lc3Nlbmdlci9XaWRnZXRNZXNzZW5nZXIuc3ZlbHRlIiwKICAgICAgInNyYy9mcmFtZXMvcG9wdXAvV2lkZ2V0UG9wdXAuc3ZlbHRlIgogICAgXQogIH0sCiAgInN0eWxlLmNzcyI6IHsKICAgICJmaWxlIjogImFzc2V0cy9zdHlsZS1DbGlKd1VUUi5jc3MiLAogICAgInNyYyI6ICJzdHlsZS5jc3MiCiAgfQp9"}},"time_used":36,"timings":{"blocked":0,"dns":3,"connect":9,"send":0,"wait":8,"receive":0,"ssl":15},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/sweetalert2/dist/sweetalert2.min.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.599Z","timestamp":1785133989599,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /sweetalert2/dist/sweetalert2.min.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sat, 26 Oct 1985 18:15:00 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 4032\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":24621,"size_decoded":4262,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (24620), with no line terminators","md5":"a79634c5f34c37a1aa920dc6d54d51c9","sha1":"33d294edd3f78a22e85d88a84ca9697528cb85c0","sha256":"65e26e51295fa2e0da5de9c9b0a52b615d23845d1851e1033cbb00cd4ddbc698","sha512":"21cf7c771f2c21f49c68dbd1f15033ea13143d51e55a45c188f857ebbc506311e0c2bf2d51356a78bf86f987f501862d2a49dc03addb0964bba1f301d8493d75","ssdeep":"192:1sHYU/CCsd8IzIcJEWyeYNlP+vckonO75zoWpBhLb:1sHYU/CCI8IzIVfRNlP+Ul2jpBhLb","tlshash":"59b252428a80260bfa2b8a3a5dd0f60c25d4e507fd730e5ef164d1548f9bf8f29b5399","first_seen":"2023-07-07T08:25:35Z","last_seen":"2026-07-27T13:51:57.527168Z","times_seen":101,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjtALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItc2hvd3swJXt0cmFuc2Zvcm06c2NhbGUoLjcpfTQ1JXt0cmFuc2Zvcm06c2NhbGUoMS4wNSl9ODAle3RyYW5zZm9ybTpzY2FsZSguOTUpfTEwMCV7dHJhbnNmb3JtOnNjYWxlKDEpfX1Aa2V5ZnJhbWVzIHN3YWwyLXNob3d7MCV7dHJhbnNmb3JtOnNjYWxlKC43KX00NSV7dHJhbnNmb3JtOnNjYWxlKDEuMDUpfTgwJXt0cmFuc2Zvcm06c2NhbGUoLjk1KX0xMDAle3RyYW5zZm9ybTpzY2FsZSgxKX19QC13ZWJraXQta2V5ZnJhbWVzIHN3YWwyLWhpZGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX0xMDAle3RyYW5zZm9ybTpzY2FsZSguNSk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHN3YWwyLWhpZGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpO29wYWNpdHk6MX0xMDAle3RyYW5zZm9ybTpzY2FsZSguNSk7b3BhY2l0eTowfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwezAle3RvcDoxLjE4NzVlbTtsZWZ0Oi4wNjI1ZW07d2lkdGg6MH01NCV7dG9wOjEuMDYyNWVtO2xlZnQ6LjEyNWVtO3dpZHRoOjB9NzAle3RvcDoyLjE4NzVlbTtsZWZ0Oi0uMzc1ZW07d2lkdGg6My4xMjVlbX04NCV7dG9wOjNlbTtsZWZ0OjEuMzEyNWVtO3dpZHRoOjEuMDYyNWVtfTEwMCV7dG9wOjIuODEyNWVtO2xlZnQ6Ljg3NWVtO3dpZHRoOjEuNTYyNWVtfX1Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcHswJXt0b3A6MS4xODc1ZW07bGVmdDouMDYyNWVtO3dpZHRoOjB9NTQle3RvcDoxLjA2MjVlbTtsZWZ0Oi4xMjVlbTt3aWR0aDowfTcwJXt0b3A6Mi4xODc1ZW07bGVmdDotLjM3NWVtO3dpZHRoOjMuMTI1ZW19ODQle3RvcDozZW07bGVmdDoxLjMxMjVlbTt3aWR0aDoxLjA2MjVlbX0xMDAle3RvcDoyLjgxMjVlbTtsZWZ0Oi44NzVlbTt3aWR0aDoxLjU2MjVlbX19QC13ZWJraXQta2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLWxvbmd7MCV7dG9wOjMuMzc1ZW07cmlnaHQ6Mi44NzVlbTt3aWR0aDowfTY1JXt0b3A6My4zNzVlbTtyaWdodDoyLjg3NWVtO3dpZHRoOjB9ODQle3RvcDoyLjE4NzVlbTtyaWdodDowO3dpZHRoOjMuNDM3NWVtfTEwMCV7dG9wOjIuMzc1ZW07cmlnaHQ6LjVlbTt3aWR0aDoyLjkzNzVlbX19QGtleWZyYW1lcyBzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nezAle3RvcDozLjM3NWVtO3JpZ2h0OjIuODc1ZW07d2lkdGg6MH02NSV7dG9wOjMuMzc1ZW07cmlnaHQ6Mi44NzVlbTt3aWR0aDowfTg0JXt0b3A6Mi4xODc1ZW07cmlnaHQ6MDt3aWR0aDozLjQzNzVlbX0xMDAle3RvcDoyLjM3NWVtO3JpZ2h0Oi41ZW07d2lkdGg6Mi45Mzc1ZW19fUAtd2Via2l0LWtleWZyYW1lcyBzd2FsMi1yb3RhdGUtc3VjY2Vzcy1jaXJjdWxhci1saW5lezAle3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX01JXt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9MTIle3RyYW5zZm9ybTpyb3RhdGUoLTQwNWRlZyl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKC00MDVkZWcpfX1Aa2V5ZnJhbWVzIHN3YWwyLXJvdGF0ZS1zdWNjZXNzLWNpcmN1bGFyLWxpbmV7MCV7dHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpfTUle3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0xMiV7dHJhbnNmb3JtOnJvdGF0ZSgtNDA1ZGVnKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoLTQwNWRlZyl9fUAtd2Via2l0LWtleWZyYW1lcyBzd2FsMi1hbmltYXRlLWVycm9yLXgtbWFya3swJXttYXJnaW4tdG9wOjEuNjI1ZW07dHJhbnNmb3JtOnNjYWxlKC40KTtvcGFjaXR5OjB9NTAle21hcmdpbi10b3A6MS42MjVlbTt0cmFuc2Zvcm06c2NhbGUoLjQpO29wYWNpdHk6MH04MCV7bWFyZ2luLXRvcDotLjM3NWVtO3RyYW5zZm9ybTpzY2FsZSgxLjE1KX0xMDAle21hcmdpbi10b3A6MDt0cmFuc2Zvcm06c2NhbGUoMSk7b3BhY2l0eToxfX1Aa2V5ZnJhbWVzIHN3YWwyLWFuaW1hdGUtZXJyb3IteC1tYXJrezAle21hcmdpbi10b3A6MS42MjVlbTt0cmFuc2Zvcm06c2NhbGUoLjQpO29wYWNpdHk6MH01MCV7bWFyZ2luLXRvcDoxLjYyNWVtO3RyYW5zZm9ybTpzY2FsZSguNCk7b3BhY2l0eTowfTgwJXttYXJnaW4tdG9wOi0uMzc1ZW07dHJhbnNmb3JtOnNjYWxlKDEuMTUpfTEwMCV7bWFyZ2luLXRvcDowO3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjF9fUAtd2Via2l0LWtleWZyYW1lcyBzd2FsMi1hbmltYXRlLWVycm9yLWljb257MCV7dHJhbnNmb3JtOnJvdGF0ZVgoMTAwZGVnKTtvcGFjaXR5OjB9MTAwJXt0cmFuc2Zvcm06cm90YXRlWCgwKTtvcGFjaXR5OjF9fUBrZXlmcmFtZXMgc3dhbDItYW5pbWF0ZS1lcnJvci1pY29uezAle3RyYW5zZm9ybTpyb3RhdGVYKDEwMGRlZyk7b3BhY2l0eTowfTEwMCV7dHJhbnNmb3JtOnJvdGF0ZVgoMCk7b3BhY2l0eToxfX1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXJ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItc2hvd257YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9we3RvcDowO3JpZ2h0OmF1dG87Ym90dG9tOmF1dG87bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSl9Ym9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1lbmQsYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1yaWdodHt0b3A6MDtyaWdodDowO2JvdHRvbTphdXRvO2xlZnQ6YXV0b31ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLWxlZnQsYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1zdGFydHt0b3A6MDtyaWdodDphdXRvO2JvdHRvbTphdXRvO2xlZnQ6MH1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLWxlZnQsYm9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1zdGFydHt0b3A6NTAlO3JpZ2h0OmF1dG87Ym90dG9tOmF1dG87bGVmdDowO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpfWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXJ7dG9wOjUwJTtyaWdodDphdXRvO2JvdHRvbTphdXRvO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGUoLTUwJSwtNTAlKX1ib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLWVuZCxib2R5LnN3YWwyLXRvYXN0LXNob3duIC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLXJpZ2h0e3RvcDo1MCU7cmlnaHQ6MDtib3R0b206YXV0bztsZWZ0OmF1dG87dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9Ym9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1sZWZ0LGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tc3RhcnR7dG9wOmF1dG87cmlnaHQ6YXV0bztib3R0b206MDtsZWZ0OjB9Ym9keS5zd2FsMi10b2FzdC1zaG93biAuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbXt0b3A6YXV0bztyaWdodDphdXRvO2JvdHRvbTowO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfWJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tZW5kLGJvZHkuc3dhbDItdG9hc3Qtc2hvd24gLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tcmlnaHR7dG9wOmF1dG87cmlnaHQ6MDtib3R0b206MDtsZWZ0OmF1dG99Ym9keS5zd2FsMi10b2FzdC1jb2x1bW4gLnN3YWwyLXRvYXN0e2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjthbGlnbi1pdGVtczpzdHJldGNofWJvZHkuc3dhbDItdG9hc3QtY29sdW1uIC5zd2FsMi10b2FzdCAuc3dhbDItYWN0aW9uc3tmbGV4OjE7YWxpZ24tc2VsZjpzdHJldGNoO2hlaWdodDoyLjJlbTttYXJnaW4tdG9wOi4zMTI1ZW19Ym9keS5zd2FsMi10b2FzdC1jb2x1bW4gLnN3YWwyLXRvYXN0IC5zd2FsMi1sb2FkaW5ne2p1c3RpZnktY29udGVudDpjZW50ZXJ9Ym9keS5zd2FsMi10b2FzdC1jb2x1bW4gLnN3YWwyLXRvYXN0IC5zd2FsMi1pbnB1dHtoZWlnaHQ6MmVtO21hcmdpbjouMzEyNWVtIGF1dG87Zm9udC1zaXplOjFlbX1ib2R5LnN3YWwyLXRvYXN0LWNvbHVtbiAuc3dhbDItdG9hc3QgLnN3YWwyLXZhbGlkYXRpb24tbWVzc2FnZXtmb250LXNpemU6MWVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdHtmbGV4LWRpcmVjdGlvbjpyb3c7YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOmF1dG87cGFkZGluZzouNjI1ZW07b3ZlcmZsb3cteTpoaWRkZW47Ym94LXNoYWRvdzowIDAgLjYyNWVtICNkOWQ5ZDl9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1oZWFkZXJ7ZmxleC1kaXJlY3Rpb246cm93fS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItdGl0bGV7ZmxleC1ncm93OjE7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnQ7bWFyZ2luOjAgLjZlbTtmb250LXNpemU6MWVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItZm9vdGVye21hcmdpbjouNWVtIDAgMDtwYWRkaW5nOi41ZW0gMCAwO2ZvbnQtc2l6ZTouOGVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItY2xvc2V7cG9zaXRpb246c3RhdGljO3dpZHRoOi44ZW07aGVpZ2h0Oi44ZW07bGluZS1oZWlnaHQ6Ljh9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1jb250ZW50e2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0O2ZvbnQtc2l6ZToxZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pY29ue3dpZHRoOjJlbTttaW4td2lkdGg6MmVtO2hlaWdodDoyZW07bWFyZ2luOjB9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pY29uOjpiZWZvcmV7ZGlzcGxheTpmbGV4O2FsaWduLWl0ZW1zOmNlbnRlcjtmb250LXNpemU6MmVtO2ZvbnQtd2VpZ2h0OjcwMH1AbWVkaWEgYWxsIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6bm9uZSksKC1tcy1oaWdoLWNvbnRyYXN0OmFjdGl2ZSl7LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pY29uOjpiZWZvcmV7Zm9udC1zaXplOi4yNWVtfX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyAuc3dhbDItc3VjY2Vzcy1yaW5ne3dpZHRoOjJlbTtoZWlnaHQ6MmVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItaWNvbi5zd2FsMi1lcnJvciBbY2xhc3NePXN3YWwyLXgtbWFyay1saW5lXXt0b3A6Ljg3NWVtO3dpZHRoOjEuMzc1ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149c3dhbDIteC1tYXJrLWxpbmVdW2NsYXNzJD1sZWZ0XXtsZWZ0Oi4zMTI1ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149c3dhbDIteC1tYXJrLWxpbmVdW2NsYXNzJD1yaWdodF17cmlnaHQ6LjMxMjVlbX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLWFjdGlvbnN7ZmxleC1iYXNpczphdXRvIWltcG9ydGFudDt3aWR0aDphdXRvO2hlaWdodDphdXRvO21hcmdpbjowIC4zMTI1ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdHlsZWR7bWFyZ2luOjAgLjMxMjVlbTtwYWRkaW5nOi4zMTI1ZW0gLjYyNWVtO2ZvbnQtc2l6ZToxZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdHlsZWQ6Zm9jdXN7Ym94LXNoYWRvdzowIDAgMCAuMDYyNWVtICNmZmYsMCAwIDAgLjEyNWVtIHJnYmEoNTAsMTAwLDE1MCwuNCl9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNze2JvcmRlci1jb2xvcjojYTVkYzg2fS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZV17cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MS42ZW07aGVpZ2h0OjNlbTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtib3JkZXItcmFkaXVzOjUwJX0uc3dhbDItcG9wdXAuc3dhbDItdG9hc3QgLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWNpcmN1bGFyLWxpbmVdW2NsYXNzJD1sZWZ0XXt0b3A6LS44ZW07bGVmdDotLjVlbTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyk7dHJhbnNmb3JtLW9yaWdpbjoyZW0gMmVtO2JvcmRlci1yYWRpdXM6NGVtIDAgMCA0ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lXVtjbGFzcyQ9cmlnaHRde3RvcDotLjI1ZW07bGVmdDouOTM3NWVtO3RyYW5zZm9ybS1vcmlnaW46MCAxLjVlbTtib3JkZXItcmFkaXVzOjAgNGVtIDRlbSAwfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyAuc3dhbDItc3VjY2Vzcy1yaW5ne3dpZHRoOjJlbTtoZWlnaHQ6MmVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyAuc3dhbDItc3VjY2Vzcy1maXh7dG9wOjA7bGVmdDouNDM3NWVtO3dpZHRoOi40Mzc1ZW07aGVpZ2h0OjIuNjg3NWVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdCAuc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtbGluZV17aGVpZ2h0Oi4zMTI1ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1saW5lXVtjbGFzcyQ9dGlwXXt0b3A6MS4xMjVlbTtsZWZ0Oi4xODc1ZW07d2lkdGg6Ljc1ZW19LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1saW5lXVtjbGFzcyQ9bG9uZ117dG9wOi45Mzc1ZW07cmlnaHQ6LjE4NzVlbTt3aWR0aDoxLjM3NWVtfS5zd2FsMi1wb3B1cC5zd2FsMi10b2FzdC5zd2FsMi1zaG93ey13ZWJraXQtYW5pbWF0aW9uOnN3YWwyLXRvYXN0LXNob3cgLjVzO2FuaW1hdGlvbjpzd2FsMi10b2FzdC1zaG93IC41c30uc3dhbDItcG9wdXAuc3dhbDItdG9hc3Quc3dhbDItaGlkZXstd2Via2l0LWFuaW1hdGlvbjpzd2FsMi10b2FzdC1oaWRlIC4xcyBmb3J3YXJkczthbmltYXRpb246c3dhbDItdG9hc3QtaGlkZSAuMXMgZm9yd2FyZHN9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1hbmltYXRlLXN1Y2Nlc3MtaWNvbiAuc3dhbDItc3VjY2Vzcy1saW5lLXRpcHstd2Via2l0LWFuaW1hdGlvbjpzd2FsMi10b2FzdC1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXAgLjc1czthbmltYXRpb246c3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwIC43NXN9LnN3YWwyLXBvcHVwLnN3YWwyLXRvYXN0IC5zd2FsMi1hbmltYXRlLXN1Y2Nlc3MtaWNvbiAuc3dhbDItc3VjY2Vzcy1saW5lLWxvbmd7LXdlYmtpdC1hbmltYXRpb246c3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZyAuNzVzO2FuaW1hdGlvbjpzd2FsMi10b2FzdC1hbmltYXRlLXN1Y2Nlc3MtbGluZS1sb25nIC43NXN9QC13ZWJraXQta2V5ZnJhbWVzIHN3YWwyLXRvYXN0LXNob3d7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLS42MjVlbSkgcm90YXRlWigyZGVnKX0zMyV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgcm90YXRlWigtMmRlZyl9NjYle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC4zMTI1ZW0pIHJvdGF0ZVooMmRlZyl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSByb3RhdGVaKDApfX1Aa2V5ZnJhbWVzIHN3YWwyLXRvYXN0LXNob3d7MCV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLS42MjVlbSkgcm90YXRlWigyZGVnKX0zMyV7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCkgcm90YXRlWigtMmRlZyl9NjYle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC4zMTI1ZW0pIHJvdGF0ZVooMmRlZyl9MTAwJXt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKSByb3RhdGVaKDApfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItdG9hc3QtaGlkZXsxMDAle3RyYW5zZm9ybTpyb3RhdGVaKDFkZWcpO29wYWNpdHk6MH19QGtleWZyYW1lcyBzd2FsMi10b2FzdC1oaWRlezEwMCV7dHJhbnNmb3JtOnJvdGF0ZVooMWRlZyk7b3BhY2l0eTowfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtdGlwezAle3RvcDouNTYyNWVtO2xlZnQ6LjA2MjVlbTt3aWR0aDowfTU0JXt0b3A6LjEyNWVtO2xlZnQ6LjEyNWVtO3dpZHRoOjB9NzAle3RvcDouNjI1ZW07bGVmdDotLjI1ZW07d2lkdGg6MS42MjVlbX04NCV7dG9wOjEuMDYyNWVtO2xlZnQ6Ljc1ZW07d2lkdGg6LjVlbX0xMDAle3RvcDoxLjEyNWVtO2xlZnQ6LjE4NzVlbTt3aWR0aDouNzVlbX19QGtleWZyYW1lcyBzd2FsMi10b2FzdC1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXB7MCV7dG9wOi41NjI1ZW07bGVmdDouMDYyNWVtO3dpZHRoOjB9NTQle3RvcDouMTI1ZW07bGVmdDouMTI1ZW07d2lkdGg6MH03MCV7dG9wOi42MjVlbTtsZWZ0Oi0uMjVlbTt3aWR0aDoxLjYyNWVtfTg0JXt0b3A6MS4wNjI1ZW07bGVmdDouNzVlbTt3aWR0aDouNWVtfTEwMCV7dG9wOjEuMTI1ZW07bGVmdDouMTg3NWVtO3dpZHRoOi43NWVtfX1ALXdlYmtpdC1rZXlmcmFtZXMgc3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZ3swJXt0b3A6MS42MjVlbTtyaWdodDoxLjM3NWVtO3dpZHRoOjB9NjUle3RvcDoxLjI1ZW07cmlnaHQ6LjkzNzVlbTt3aWR0aDowfTg0JXt0b3A6LjkzNzVlbTtyaWdodDowO3dpZHRoOjEuMTI1ZW19MTAwJXt0b3A6LjkzNzVlbTtyaWdodDouMTg3NWVtO3dpZHRoOjEuMzc1ZW19fUBrZXlmcmFtZXMgc3dhbDItdG9hc3QtYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZ3swJXt0b3A6MS42MjVlbTtyaWdodDoxLjM3NWVtO3dpZHRoOjB9NjUle3RvcDoxLjI1ZW07cmlnaHQ6LjkzNzVlbTt3aWR0aDowfTg0JXt0b3A6LjkzNzVlbTtyaWdodDowO3dpZHRoOjEuMTI1ZW19MTAwJXt0b3A6LjkzNzVlbTtyaWdodDouMTg3NWVtO3dpZHRoOjEuMzc1ZW19fWJvZHkuc3dhbDItc2hvd246bm90KC5zd2FsMi1uby1iYWNrZHJvcCk6bm90KC5zd2FsMi10b2FzdC1zaG93bil7b3ZlcmZsb3c6aGlkZGVufWJvZHkuc3dhbDItaGVpZ2h0LWF1dG97aGVpZ2h0OmF1dG8haW1wb3J0YW50fWJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLXNob3due3RvcDphdXRvO3JpZ2h0OmF1dG87Ym90dG9tOmF1dG87bGVmdDphdXRvO21heC13aWR0aDpjYWxjKDEwMCUgLSAuNjI1ZW0gKiAyKTtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLXNob3duPi5zd2FsMi1tb2RhbHtib3gtc2hhZG93OjAgMCAxMHB4IHJnYmEoMCwwLDAsLjQpfWJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLXNob3duLnN3YWwyLXRvcHt0b3A6MDtsZWZ0OjUwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKX1ib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1zaG93bi5zd2FsMi10b3AtbGVmdCxib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1zaG93bi5zd2FsMi10b3Atc3RhcnR7dG9wOjA7bGVmdDowfWJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLXNob3duLnN3YWwyLXRvcC1lbmQsYm9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItc2hvd24uc3dhbDItdG9wLXJpZ2h0e3RvcDowO3JpZ2h0OjB9Ym9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItc2hvd24uc3dhbDItY2VudGVye3RvcDo1MCU7bGVmdDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZSgtNTAlLC01MCUpfWJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLXNob3duLnN3YWwyLWNlbnRlci1sZWZ0LGJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLXNob3duLnN3YWwyLWNlbnRlci1zdGFydHt0b3A6NTAlO2xlZnQ6MDt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKX1ib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1zaG93bi5zd2FsMi1jZW50ZXItZW5kLGJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLXNob3duLnN3YWwyLWNlbnRlci1yaWdodHt0b3A6NTAlO3JpZ2h0OjA7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9Ym9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItc2hvd24uc3dhbDItYm90dG9te2JvdHRvbTowO2xlZnQ6NTAlO3RyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpfWJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLXNob3duLnN3YWwyLWJvdHRvbS1sZWZ0LGJvZHkuc3dhbDItbm8tYmFja2Ryb3AgLnN3YWwyLXNob3duLnN3YWwyLWJvdHRvbS1zdGFydHtib3R0b206MDtsZWZ0OjB9Ym9keS5zd2FsMi1uby1iYWNrZHJvcCAuc3dhbDItc2hvd24uc3dhbDItYm90dG9tLWVuZCxib2R5LnN3YWwyLW5vLWJhY2tkcm9wIC5zd2FsMi1zaG93bi5zd2FsMi1ib3R0b20tcmlnaHR7cmlnaHQ6MDtib3R0b206MH0uc3dhbDItY29udGFpbmVye2Rpc3BsYXk6ZmxleDtwb3NpdGlvbjpmaXhlZDt6LWluZGV4OjEwNjA7dG9wOjA7cmlnaHQ6MDtib3R0b206MDtsZWZ0OjA7ZmxleC1kaXJlY3Rpb246cm93O2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6LjYyNWVtO292ZXJmbG93LXg6aGlkZGVuO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2h9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3B7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uc3dhbDItY29udGFpbmVyLnN3YWwyLXRvcC1sZWZ0LC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtc3RhcnR9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi10b3AtZW5kLC5zd2FsMi1jb250YWluZXIuc3dhbDItdG9wLXJpZ2h0e2FsaWduLWl0ZW1zOmZsZXgtc3RhcnQ7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVye2FsaWduLWl0ZW1zOmNlbnRlcn0uc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1sZWZ0LC5zd2FsMi1jb250YWluZXIuc3dhbDItY2VudGVyLXN0YXJ0e2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uc3dhbDItY29udGFpbmVyLnN3YWwyLWNlbnRlci1lbmQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1jZW50ZXItcmlnaHR7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpmbGV4LWVuZH0uc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbXthbGlnbi1pdGVtczpmbGV4LWVuZH0uc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1sZWZ0LC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLXN0YXJ0e2FsaWduLWl0ZW1zOmZsZXgtZW5kO2p1c3RpZnktY29udGVudDpmbGV4LXN0YXJ0fS5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tLWVuZCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1yaWdodHthbGlnbi1pdGVtczpmbGV4LWVuZDtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1lbmR9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tZW5kPjpmaXJzdC1jaGlsZCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1sZWZ0PjpmaXJzdC1jaGlsZCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWJvdHRvbS1yaWdodD46Zmlyc3QtY2hpbGQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ib3R0b20tc3RhcnQ+OmZpcnN0LWNoaWxkLC5zd2FsMi1jb250YWluZXIuc3dhbDItYm90dG9tPjpmaXJzdC1jaGlsZHttYXJnaW4tdG9wOmF1dG99LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWZ1bGxzY3JlZW4+LnN3YWwyLW1vZGFse2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7ZmxleDoxO2FsaWduLXNlbGY6c3RyZXRjaDtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1yb3c+LnN3YWwyLW1vZGFse2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7ZmxleDoxO2FsaWduLWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbntmbGV4OjE7ZmxleC1kaXJlY3Rpb246Y29sdW1ufS5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItYm90dG9tLC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItY2VudGVyLC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItdG9we2FsaWduLWl0ZW1zOmNlbnRlcn0uc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWJvdHRvbS1sZWZ0LC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItYm90dG9tLXN0YXJ0LC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItY2VudGVyLWxlZnQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi1jZW50ZXItc3RhcnQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi10b3AtbGVmdCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLXRvcC1zdGFydHthbGlnbi1pdGVtczpmbGV4LXN0YXJ0fS5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItYm90dG9tLWVuZCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWJvdHRvbS1yaWdodCwuc3dhbDItY29udGFpbmVyLnN3YWwyLWdyb3ctY29sdW1uLnN3YWwyLWNlbnRlci1lbmQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi1jZW50ZXItcmlnaHQsLnN3YWwyLWNvbnRhaW5lci5zd2FsMi1ncm93LWNvbHVtbi5zd2FsMi10b3AtZW5kLC5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4uc3dhbDItdG9wLXJpZ2h0e2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5zd2FsMi1jb250YWluZXIuc3dhbDItZ3Jvdy1jb2x1bW4+LnN3YWwyLW1vZGFse2Rpc3BsYXk6ZmxleCFpbXBvcnRhbnQ7ZmxleDoxO2FsaWduLWNvbnRlbnQ6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXJ9LnN3YWwyLWNvbnRhaW5lcjpub3QoLnN3YWwyLXRvcCk6bm90KC5zd2FsMi10b3Atc3RhcnQpOm5vdCguc3dhbDItdG9wLWVuZCk6bm90KC5zd2FsMi10b3AtbGVmdCk6bm90KC5zd2FsMi10b3AtcmlnaHQpOm5vdCguc3dhbDItY2VudGVyLXN0YXJ0KTpub3QoLnN3YWwyLWNlbnRlci1lbmQpOm5vdCguc3dhbDItY2VudGVyLWxlZnQpOm5vdCguc3dhbDItY2VudGVyLXJpZ2h0KTpub3QoLnN3YWwyLWJvdHRvbSk6bm90KC5zd2FsMi1ib3R0b20tc3RhcnQpOm5vdCguc3dhbDItYm90dG9tLWVuZCk6bm90KC5zd2FsMi1ib3R0b20tbGVmdCk6bm90KC5zd2FsMi1ib3R0b20tcmlnaHQpOm5vdCguc3dhbDItZ3Jvdy1mdWxsc2NyZWVuKT4uc3dhbDItbW9kYWx7bWFyZ2luOmF1dG99QG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpLCgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5zd2FsMi1jb250YWluZXIgLnN3YWwyLW1vZGFse21hcmdpbjowIWltcG9ydGFudH19LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1mYWRle3RyYW5zaXRpb246YmFja2dyb3VuZC1jb2xvciAuMXN9LnN3YWwyLWNvbnRhaW5lci5zd2FsMi1zaG93bntiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsLjQpfS5zd2FsMi1wb3B1cHtkaXNwbGF5Om5vbmU7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNpemluZzpib3JkZXItYm94O2ZsZXgtZGlyZWN0aW9uOmNvbHVtbjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3dpZHRoOjMyZW07bWF4LXdpZHRoOjEwMCU7cGFkZGluZzoxLjI1ZW07Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czouMzEyNWVtO2JhY2tncm91bmQ6I2ZmZjtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxcmVtfS5zd2FsMi1wb3B1cDpmb2N1c3tvdXRsaW5lOjB9LnN3YWwyLXBvcHVwLnN3YWwyLWxvYWRpbmd7b3ZlcmZsb3cteTpoaWRkZW59LnN3YWwyLWhlYWRlcntkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2FsaWduLWl0ZW1zOmNlbnRlcn0uc3dhbDItdGl0bGV7cG9zaXRpb246cmVsYXRpdmU7bWF4LXdpZHRoOjEwMCU7bWFyZ2luOjAgMCAuNGVtO3BhZGRpbmc6MDtjb2xvcjojNTk1OTU5O2ZvbnQtc2l6ZToxLjg3NWVtO2ZvbnQtd2VpZ2h0OjYwMDt0ZXh0LWFsaWduOmNlbnRlcjt0ZXh0LXRyYW5zZm9ybTpub25lO3dvcmQtd3JhcDpicmVhay13b3JkfS5zd2FsMi1hY3Rpb25ze2Rpc3BsYXk6ZmxleDt6LWluZGV4OjE7ZmxleC13cmFwOndyYXA7YWxpZ24taXRlbXM6Y2VudGVyO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MTAwJTttYXJnaW46MS4yNWVtIGF1dG8gMH0uc3dhbDItYWN0aW9uczpub3QoLnN3YWwyLWxvYWRpbmcpIC5zd2FsMi1zdHlsZWRbZGlzYWJsZWRde29wYWNpdHk6LjR9LnN3YWwyLWFjdGlvbnM6bm90KC5zd2FsMi1sb2FkaW5nKSAuc3dhbDItc3R5bGVkOmhvdmVye2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjEpLHJnYmEoMCwwLDAsLjEpKX0uc3dhbDItYWN0aW9uczpub3QoLnN3YWwyLWxvYWRpbmcpIC5zd2FsMi1zdHlsZWQ6YWN0aXZle2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHJnYmEoMCwwLDAsLjIpLHJnYmEoMCwwLDAsLjIpKX0uc3dhbDItYWN0aW9ucy5zd2FsMi1sb2FkaW5nIC5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybXtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6Mi41ZW07aGVpZ2h0OjIuNWVtO21hcmdpbjouNDY4NzVlbTtwYWRkaW5nOjA7LXdlYmtpdC1hbmltYXRpb246c3dhbDItcm90YXRlLWxvYWRpbmcgMS41cyBsaW5lYXIgMHMgaW5maW5pdGUgbm9ybWFsO2FuaW1hdGlvbjpzd2FsMi1yb3RhdGUtbG9hZGluZyAxLjVzIGxpbmVhciAwcyBpbmZpbml0ZSBub3JtYWw7Ym9yZGVyOi4yNWVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6MTAwJTtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCFpbXBvcnRhbnQ7Y29sb3I6dHJhbnNwYXJlbnQ7Y3Vyc29yOmRlZmF1bHQ7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lfS5zd2FsMi1hY3Rpb25zLnN3YWwyLWxvYWRpbmcgLnN3YWwyLXN0eWxlZC5zd2FsMi1jYW5jZWx7bWFyZ2luLXJpZ2h0OjMwcHg7bWFyZ2luLWxlZnQ6MzBweH0uc3dhbDItYWN0aW9ucy5zd2FsMi1sb2FkaW5nIDpub3QoLnN3YWwyLXN0eWxlZCkuc3dhbDItY29uZmlybTo6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxNXB4O2hlaWdodDoxNXB4O21hcmdpbi1sZWZ0OjVweDstd2Via2l0LWFuaW1hdGlvbjpzd2FsMi1yb3RhdGUtbG9hZGluZyAxLjVzIGxpbmVhciAwcyBpbmZpbml0ZSBub3JtYWw7YW5pbWF0aW9uOnN3YWwyLXJvdGF0ZS1sb2FkaW5nIDEuNXMgbGluZWFyIDBzIGluZmluaXRlIG5vcm1hbDtib3JkZXI6M3B4IHNvbGlkICM5OTk7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyLXJpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2JveC1zaGFkb3c6MXB4IDFweCAxcHggI2ZmZn0uc3dhbDItc3R5bGVke21hcmdpbjouMzEyNWVtO3BhZGRpbmc6LjYyNWVtIDJlbTtib3gtc2hhZG93Om5vbmU7Zm9udC13ZWlnaHQ6NTAwfS5zd2FsMi1zdHlsZWQ6bm90KFtkaXNhYmxlZF0pe2N1cnNvcjpwb2ludGVyfS5zd2FsMi1zdHlsZWQuc3dhbDItY29uZmlybXtib3JkZXI6MDtib3JkZXItcmFkaXVzOi4yNWVtO2JhY2tncm91bmQ6aW5pdGlhbDtiYWNrZ3JvdW5kLWNvbG9yOiMzMDg1ZDY7Y29sb3I6I2ZmZjtmb250LXNpemU6MS4wNjI1ZW19LnN3YWwyLXN0eWxlZC5zd2FsMi1jYW5jZWx7Ym9yZGVyOjA7Ym9yZGVyLXJhZGl1czouMjVlbTtiYWNrZ3JvdW5kOmluaXRpYWw7YmFja2dyb3VuZC1jb2xvcjojYWFhO2NvbG9yOiNmZmY7Zm9udC1zaXplOjEuMDYyNWVtfS5zd2FsMi1zdHlsZWQ6Zm9jdXN7b3V0bGluZTowO2JveC1zaGFkb3c6MCAwIDAgMnB4ICNmZmYsMCAwIDAgNHB4IHJnYmEoNTAsMTAwLDE1MCwuNCl9LnN3YWwyLXN0eWxlZDo6LW1vei1mb2N1cy1pbm5lcntib3JkZXI6MH0uc3dhbDItZm9vdGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjEuMjVlbSAwIDA7cGFkZGluZzoxZW0gMCAwO2JvcmRlci10b3A6MXB4IHNvbGlkICNlZWU7Y29sb3I6IzU0NTQ1NDtmb250LXNpemU6MWVtfS5zd2FsMi1pbWFnZXttYXgtd2lkdGg6MTAwJTttYXJnaW46MS4yNWVtIGF1dG99LnN3YWwyLWNsb3Nle3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mjt0b3A6MDtyaWdodDowO2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6MS4yZW07aGVpZ2h0OjEuMmVtO3BhZGRpbmc6MDtvdmVyZmxvdzpoaWRkZW47dHJhbnNpdGlvbjpjb2xvciAuMXMgZWFzZS1vdXQ7Ym9yZGVyOm5vbmU7Ym9yZGVyLXJhZGl1czowO291dGxpbmU6aW5pdGlhbDtiYWNrZ3JvdW5kOjAgMDtjb2xvcjojY2NjO2ZvbnQtZmFtaWx5OnNlcmlmO2ZvbnQtc2l6ZToyLjVlbTtsaW5lLWhlaWdodDoxLjI7Y3Vyc29yOnBvaW50ZXJ9LnN3YWwyLWNsb3NlOmhvdmVye3RyYW5zZm9ybTpub25lO2JhY2tncm91bmQ6MCAwO2NvbG9yOiNmMjc0NzR9LnN3YWwyLWNvbnRlbnR7ei1pbmRleDoxO2p1c3RpZnktY29udGVudDpjZW50ZXI7bWFyZ2luOjA7cGFkZGluZzowO2NvbG9yOiM1NDU0NTQ7Zm9udC1zaXplOjEuMTI1ZW07Zm9udC13ZWlnaHQ6MzAwO2xpbmUtaGVpZ2h0Om5vcm1hbDt0ZXh0LWFsaWduOmNlbnRlcjt3b3JkLXdyYXA6YnJlYWstd29yZH0uc3dhbDItY2hlY2tib3gsLnN3YWwyLWZpbGUsLnN3YWwyLWlucHV0LC5zd2FsMi1yYWRpbywuc3dhbDItc2VsZWN0LC5zd2FsMi10ZXh0YXJlYXttYXJnaW46MWVtIGF1dG99LnN3YWwyLWZpbGUsLnN3YWwyLWlucHV0LC5zd2FsMi10ZXh0YXJlYXtib3gtc2l6aW5nOmJvcmRlci1ib3g7d2lkdGg6MTAwJTt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciAuM3MsYm94LXNoYWRvdyAuM3M7Ym9yZGVyOjFweCBzb2xpZCAjZDlkOWQ5O2JvcmRlci1yYWRpdXM6LjE4NzVlbTtiYWNrZ3JvdW5kOmluaGVyaXQ7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDYpO2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOjEuMTI1ZW19LnN3YWwyLWZpbGUuc3dhbDItaW5wdXRlcnJvciwuc3dhbDItaW5wdXQuc3dhbDItaW5wdXRlcnJvciwuc3dhbDItdGV4dGFyZWEuc3dhbDItaW5wdXRlcnJvcntib3JkZXItY29sb3I6I2YyNzQ3NCFpbXBvcnRhbnQ7Ym94LXNoYWRvdzowIDAgMnB4ICNmMjc0NzQhaW1wb3J0YW50fS5zd2FsMi1maWxlOmZvY3VzLC5zd2FsMi1pbnB1dDpmb2N1cywuc3dhbDItdGV4dGFyZWE6Zm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjYjRkYmVkO291dGxpbmU6MDtib3gtc2hhZG93OjAgMCAzcHggI2M0ZTZmNX0uc3dhbDItZmlsZTo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciwuc3dhbDItaW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsLnN3YWwyLXRleHRhcmVhOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNjY2N9LnN3YWwyLWZpbGU6Oi1tb3otcGxhY2Vob2xkZXIsLnN3YWwyLWlucHV0OjotbW96LXBsYWNlaG9sZGVyLC5zd2FsMi10ZXh0YXJlYTo6LW1vei1wbGFjZWhvbGRlcntjb2xvcjojY2NjfS5zd2FsMi1maWxlOi1tcy1pbnB1dC1wbGFjZWhvbGRlciwuc3dhbDItaW5wdXQ6LW1zLWlucHV0LXBsYWNlaG9sZGVyLC5zd2FsMi10ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXJ7Y29sb3I6I2NjY30uc3dhbDItZmlsZTo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLC5zd2FsMi1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyLC5zd2FsMi10ZXh0YXJlYTo6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiNjY2N9LnN3YWwyLWZpbGU6OnBsYWNlaG9sZGVyLC5zd2FsMi1pbnB1dDo6cGxhY2Vob2xkZXIsLnN3YWwyLXRleHRhcmVhOjpwbGFjZWhvbGRlcntjb2xvcjojY2NjfS5zd2FsMi1yYW5nZXttYXJnaW46MWVtIGF1dG87YmFja2dyb3VuZDppbmhlcml0fS5zd2FsMi1yYW5nZSBpbnB1dHt3aWR0aDo4MCV9LnN3YWwyLXJhbmdlIG91dHB1dHt3aWR0aDoyMCU7Y29sb3I6aW5oZXJpdDtmb250LXdlaWdodDo2MDA7dGV4dC1hbGlnbjpjZW50ZXJ9LnN3YWwyLXJhbmdlIGlucHV0LC5zd2FsMi1yYW5nZSBvdXRwdXR7aGVpZ2h0OjIuNjI1ZW07cGFkZGluZzowO2ZvbnQtc2l6ZToxLjEyNWVtO2xpbmUtaGVpZ2h0OjIuNjI1ZW19LnN3YWwyLWlucHV0e2hlaWdodDoyLjYyNWVtO3BhZGRpbmc6MCAuNzVlbX0uc3dhbDItaW5wdXRbdHlwZT1udW1iZXJde21heC13aWR0aDoxMGVtfS5zd2FsMi1maWxle2JhY2tncm91bmQ6aW5oZXJpdDtmb250LXNpemU6MS4xMjVlbX0uc3dhbDItdGV4dGFyZWF7aGVpZ2h0OjYuNzVlbTtwYWRkaW5nOi43NWVtfS5zd2FsMi1zZWxlY3R7bWluLXdpZHRoOjUwJTttYXgtd2lkdGg6MTAwJTtwYWRkaW5nOi4zNzVlbSAuNjI1ZW07YmFja2dyb3VuZDppbmhlcml0O2NvbG9yOmluaGVyaXQ7Zm9udC1zaXplOjEuMTI1ZW19LnN3YWwyLWNoZWNrYm94LC5zd2FsMi1yYWRpb3thbGlnbi1pdGVtczpjZW50ZXI7anVzdGlmeS1jb250ZW50OmNlbnRlcjtiYWNrZ3JvdW5kOmluaGVyaXQ7Y29sb3I6aW5oZXJpdH0uc3dhbDItY2hlY2tib3ggbGFiZWwsLnN3YWwyLXJhZGlvIGxhYmVse21hcmdpbjowIC42ZW07Zm9udC1zaXplOjEuMTI1ZW19LnN3YWwyLWNoZWNrYm94IGlucHV0LC5zd2FsMi1yYWRpbyBpbnB1dHttYXJnaW46MCAuNGVtfS5zd2FsMi12YWxpZGF0aW9uLW1lc3NhZ2V7ZGlzcGxheTpub25lO2FsaWduLWl0ZW1zOmNlbnRlcjtqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO3BhZGRpbmc6LjYyNWVtO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kOiNmMGYwZjA7Y29sb3I6IzY2Njtmb250LXNpemU6MWVtO2ZvbnQtd2VpZ2h0OjMwMH0uc3dhbDItdmFsaWRhdGlvbi1tZXNzYWdlOjpiZWZvcmV7Y29udGVudDoiISI7ZGlzcGxheTppbmxpbmUtYmxvY2s7d2lkdGg6MS41ZW07bWluLXdpZHRoOjEuNWVtO2hlaWdodDoxLjVlbTttYXJnaW46MCAuNjI1ZW07em9vbTpub3JtYWw7Ym9yZGVyLXJhZGl1czo1MCU7YmFja2dyb3VuZC1jb2xvcjojZjI3NDc0O2NvbG9yOiNmZmY7Zm9udC13ZWlnaHQ6NjAwO2xpbmUtaGVpZ2h0OjEuNWVtO3RleHQtYWxpZ246Y2VudGVyfUBzdXBwb3J0cyAoLW1zLWFjY2VsZXJhdG9yOnRydWUpey5zd2FsMi1yYW5nZSBpbnB1dHt3aWR0aDoxMDAlIWltcG9ydGFudH0uc3dhbDItcmFuZ2Ugb3V0cHV0e2Rpc3BsYXk6bm9uZX19QG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0Om5vbmUpLCgtbXMtaGlnaC1jb250cmFzdDphY3RpdmUpey5zd2FsMi1yYW5nZSBpbnB1dHt3aWR0aDoxMDAlIWltcG9ydGFudH0uc3dhbDItcmFuZ2Ugb3V0cHV0e2Rpc3BsYXk6bm9uZX19QC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpey5zd2FsMi1jbG9zZTpmb2N1c3tvdXRsaW5lOjJweCBzb2xpZCByZ2JhKDUwLDEwMCwxNTAsLjQpfX0uc3dhbDItaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2p1c3RpZnktY29udGVudDpjZW50ZXI7d2lkdGg6NWVtO2hlaWdodDo1ZW07bWFyZ2luOjEuMjVlbSBhdXRvIDEuODc1ZW07em9vbTpub3JtYWw7Ym9yZGVyOi4yNWVtIHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NTAlO2ZvbnQtZmFtaWx5OmluaGVyaXQ7bGluZS1oZWlnaHQ6NWVtO2N1cnNvcjpkZWZhdWx0Oy13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTstbW96LXVzZXItc2VsZWN0Om5vbmU7LW1zLXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0uc3dhbDItaWNvbjo6YmVmb3Jle2Rpc3BsYXk6ZmxleDthbGlnbi1pdGVtczpjZW50ZXI7aGVpZ2h0OjkyJTtmb250LXNpemU6My43NWVtfS5zd2FsMi1pY29uLnN3YWwyLWVycm9ye2JvcmRlci1jb2xvcjojZjI3NDc0fS5zd2FsMi1pY29uLnN3YWwyLWVycm9yIC5zd2FsMi14LW1hcmt7cG9zaXRpb246cmVsYXRpdmU7ZmxleC1ncm93OjF9LnN3YWwyLWljb24uc3dhbDItZXJyb3IgW2NsYXNzXj1zd2FsMi14LW1hcmstbGluZV17ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6Mi4zMTI1ZW07d2lkdGg6Mi45Mzc1ZW07aGVpZ2h0Oi4zMTI1ZW07Ym9yZGVyLXJhZGl1czouMTI1ZW07YmFja2dyb3VuZC1jb2xvcjojZjI3NDc0fS5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149c3dhbDIteC1tYXJrLWxpbmVdW2NsYXNzJD1sZWZ0XXtsZWZ0OjEuMDYyNWVtO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5zd2FsMi1pY29uLnN3YWwyLWVycm9yIFtjbGFzc149c3dhbDIteC1tYXJrLWxpbmVdW2NsYXNzJD1yaWdodF17cmlnaHQ6MWVtO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0uc3dhbDItaWNvbi5zd2FsMi13YXJuaW5ne2JvcmRlci1jb2xvcjojZmFjZWE4O2NvbG9yOiNmOGJiODZ9LnN3YWwyLWljb24uc3dhbDItd2FybmluZzo6YmVmb3Jle2NvbnRlbnQ6IiEifS5zd2FsMi1pY29uLnN3YWwyLWluZm97Ym9yZGVyLWNvbG9yOiM5ZGUwZjY7Y29sb3I6IzNmYzNlZX0uc3dhbDItaWNvbi5zd2FsMi1pbmZvOjpiZWZvcmV7Y29udGVudDoiaSJ9LnN3YWwyLWljb24uc3dhbDItcXVlc3Rpb257Ym9yZGVyLWNvbG9yOiNjOWRhZTE7Y29sb3I6Izg3YWRiZH0uc3dhbDItaWNvbi5zd2FsMi1xdWVzdGlvbjo6YmVmb3Jle2NvbnRlbnQ6Ij8ifS5zd2FsMi1pY29uLnN3YWwyLXF1ZXN0aW9uLnN3YWwyLWFyYWJpYy1xdWVzdGlvbi1tYXJrOjpiZWZvcmV7Y29udGVudDoi2J8ifS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3N7Ym9yZGVyLWNvbG9yOiNhNWRjODZ9LnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZV17cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6My43NWVtO2hlaWdodDo3LjVlbTt0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtib3JkZXItcmFkaXVzOjUwJX0uc3dhbDItaWNvbi5zd2FsMi1zdWNjZXNzIFtjbGFzc149c3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lXVtjbGFzcyQ9bGVmdF17dG9wOi0uNDM3NWVtO2xlZnQ6LTIuMDYzNWVtO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOjMuNzVlbSAzLjc1ZW07Ym9yZGVyLXJhZGl1czo3LjVlbSAwIDAgNy41ZW19LnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtY2lyY3VsYXItbGluZV1bY2xhc3MkPXJpZ2h0XXt0b3A6LS42ODc1ZW07bGVmdDoxLjg3NWVtO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTt0cmFuc2Zvcm0tb3JpZ2luOjAgMy43NWVtO2JvcmRlci1yYWRpdXM6MCA3LjVlbSA3LjVlbSAwfS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgLnN3YWwyLXN1Y2Nlc3MtcmluZ3twb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7dG9wOi0uMjVlbTtsZWZ0Oi0uMjVlbTtib3gtc2l6aW5nOmNvbnRlbnQtYm94O3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7Ym9yZGVyOi4yNWVtIHNvbGlkIHJnYmEoMTY1LDIyMCwxMzQsLjMpO2JvcmRlci1yYWRpdXM6NTAlfS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgLnN3YWwyLXN1Y2Nlc3MtZml4e3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTt0b3A6LjVlbTtsZWZ0OjEuNjI1ZW07d2lkdGg6LjQzNzVlbTtoZWlnaHQ6NS42MjVlbTt0cmFuc2Zvcm06cm90YXRlKC00NWRlZyl9LnN3YWwyLWljb24uc3dhbDItc3VjY2VzcyBbY2xhc3NePXN3YWwyLXN1Y2Nlc3MtbGluZV17ZGlzcGxheTpibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjI7aGVpZ2h0Oi4zMTI1ZW07Ym9yZGVyLXJhZGl1czouMTI1ZW07YmFja2dyb3VuZC1jb2xvcjojYTVkYzg2fS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVdW2NsYXNzJD10aXBde3RvcDoyLjg3NWVtO2xlZnQ6Ljg3NWVtO3dpZHRoOjEuNTYyNWVtO3RyYW5zZm9ybTpyb3RhdGUoNDVkZWcpfS5zd2FsMi1pY29uLnN3YWwyLXN1Y2Nlc3MgW2NsYXNzXj1zd2FsMi1zdWNjZXNzLWxpbmVdW2NsYXNzJD1sb25nXXt0b3A6Mi4zNzVlbTtyaWdodDouNWVtO3dpZHRoOjIuOTM3NWVtO3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKX0uc3dhbDItcHJvZ3Jlc3Mtc3RlcHN7YWxpZ24taXRlbXM6Y2VudGVyO21hcmdpbjowIDAgMS4yNWVtO3BhZGRpbmc6MDtiYWNrZ3JvdW5kOmluaGVyaXQ7Zm9udC13ZWlnaHQ6NjAwfS5zd2FsMi1wcm9ncmVzcy1zdGVwcyBsaXtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uc3dhbDItcHJvZ3Jlc3Mtc3RlcHMgLnN3YWwyLXByb2dyZXNzLXN0ZXB7ei1pbmRleDoyMDt3aWR0aDoyZW07aGVpZ2h0OjJlbTtib3JkZXItcmFkaXVzOjJlbTtiYWNrZ3JvdW5kOiMzMDg1ZDY7Y29sb3I6I2ZmZjtsaW5lLWhlaWdodDoyZW07dGV4dC1hbGlnbjpjZW50ZXJ9LnN3YWwyLXByb2dyZXNzLXN0ZXBzIC5zd2FsMi1wcm9ncmVzcy1zdGVwLnN3YWwyLWFjdGl2ZS1wcm9ncmVzcy1zdGVwe2JhY2tncm91bmQ6IzMwODVkNn0uc3dhbDItcHJvZ3Jlc3Mtc3RlcHMgLnN3YWwyLXByb2dyZXNzLXN0ZXAuc3dhbDItYWN0aXZlLXByb2dyZXNzLXN0ZXB+LnN3YWwyLXByb2dyZXNzLXN0ZXB7YmFja2dyb3VuZDojYWRkOGU2O2NvbG9yOiNmZmZ9LnN3YWwyLXByb2dyZXNzLXN0ZXBzIC5zd2FsMi1wcm9ncmVzcy1zdGVwLnN3YWwyLWFjdGl2ZS1wcm9ncmVzcy1zdGVwfi5zd2FsMi1wcm9ncmVzcy1zdGVwLWxpbmV7YmFja2dyb3VuZDojYWRkOGU2fS5zd2FsMi1wcm9ncmVzcy1zdGVwcyAuc3dhbDItcHJvZ3Jlc3Mtc3RlcC1saW5le3otaW5kZXg6MTA7d2lkdGg6Mi41ZW07aGVpZ2h0Oi40ZW07bWFyZ2luOjAgLTFweDtiYWNrZ3JvdW5kOiMzMDg1ZDZ9W2NsYXNzXj1zd2FsMl17LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50fS5zd2FsMi1zaG93ey13ZWJraXQtYW5pbWF0aW9uOnN3YWwyLXNob3cgLjNzO2FuaW1hdGlvbjpzd2FsMi1zaG93IC4zc30uc3dhbDItc2hvdy5zd2FsMi1ub2FuaW1hdGlvbnstd2Via2l0LWFuaW1hdGlvbjpub25lO2FuaW1hdGlvbjpub25lfS5zd2FsMi1oaWRley13ZWJraXQtYW5pbWF0aW9uOnN3YWwyLWhpZGUgLjE1cyBmb3J3YXJkczthbmltYXRpb246c3dhbDItaGlkZSAuMTVzIGZvcndhcmRzfS5zd2FsMi1oaWRlLnN3YWwyLW5vYW5pbWF0aW9uey13ZWJraXQtYW5pbWF0aW9uOm5vbmU7YW5pbWF0aW9uOm5vbmV9LnN3YWwyLXJ0bCAuc3dhbDItY2xvc2V7cmlnaHQ6YXV0bztsZWZ0OjB9LnN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1pY29uIC5zd2FsMi1zdWNjZXNzLWxpbmUtdGlwey13ZWJraXQtYW5pbWF0aW9uOnN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLXRpcCAuNzVzO2FuaW1hdGlvbjpzd2FsMi1hbmltYXRlLXN1Y2Nlc3MtbGluZS10aXAgLjc1c30uc3dhbDItYW5pbWF0ZS1zdWNjZXNzLWljb24gLnN3YWwyLXN1Y2Nlc3MtbGluZS1sb25ney13ZWJraXQtYW5pbWF0aW9uOnN3YWwyLWFuaW1hdGUtc3VjY2Vzcy1saW5lLWxvbmcgLjc1czthbmltYXRpb246c3dhbDItYW5pbWF0ZS1zdWNjZXNzLWxpbmUtbG9uZyAuNzVzfS5zd2FsMi1hbmltYXRlLXN1Y2Nlc3MtaWNvbiAuc3dhbDItc3VjY2Vzcy1jaXJjdWxhci1saW5lLXJpZ2h0ey13ZWJraXQtYW5pbWF0aW9uOnN3YWwyLXJvdGF0ZS1zdWNjZXNzLWNpcmN1bGFyLWxpbmUgNC4yNXMgZWFzZS1pbjthbmltYXRpb246c3dhbDItcm90YXRlLXN1Y2Nlc3MtY2lyY3VsYXItbGluZSA0LjI1cyBlYXNlLWlufS5zd2FsMi1hbmltYXRlLWVycm9yLWljb257LXdlYmtpdC1hbmltYXRpb246c3dhbDItYW5pbWF0ZS1lcnJvci1pY29uIC41czthbmltYXRpb246c3dhbDItYW5pbWF0ZS1lcnJvci1pY29uIC41c30uc3dhbDItYW5pbWF0ZS1lcnJvci1pY29uIC5zd2FsMi14LW1hcmt7LXdlYmtpdC1hbmltYXRpb246c3dhbDItYW5pbWF0ZS1lcnJvci14LW1hcmsgLjVzO2FuaW1hdGlvbjpzd2FsMi1hbmltYXRlLWVycm9yLXgtbWFyayAuNXN9QC13ZWJraXQta2V5ZnJhbWVzIHN3YWwyLXJvdGF0ZS1sb2FkaW5nezAle3RyYW5zZm9ybTpyb3RhdGUoMCl9MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgc3dhbDItcm90YXRlLWxvYWRpbmd7MCV7dHJhbnNmb3JtOnJvdGF0ZSgwKX0xMDAle3RyYW5zZm9ybTpyb3RhdGUoMzYwZGVnKX19QG1lZGlhIHByaW50e2JvZHkuc3dhbDItc2hvd246bm90KC5zd2FsMi1uby1iYWNrZHJvcCk6bm90KC5zd2FsMi10b2FzdC1zaG93bil7b3ZlcmZsb3cteTpzY3JvbGwhaW1wb3J0YW50fWJvZHkuc3dhbDItc2hvd246bm90KC5zd2FsMi1uby1iYWNrZHJvcCk6bm90KC5zd2FsMi10b2FzdC1zaG93bik+W2FyaWEtaGlkZGVuPXRydWVde2Rpc3BsYXk6bm9uZX1ib2R5LnN3YWwyLXNob3duOm5vdCguc3dhbDItbm8tYmFja2Ryb3ApOm5vdCguc3dhbDItdG9hc3Qtc2hvd24pIC5zd2FsMi1jb250YWluZXJ7cG9zaXRpb246c3RhdGljIWltcG9ydGFudH19"}},"time_used":394,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":376,"receive":18,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/jquery-ui.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.602Z","timestamp":1785133989602,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/jquery-ui.min.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 61574\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":240422,"size_decoded":61812,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (33392)","md5":"07f2c3c1cb8427c280769e2423325716","sha1":"e43ded0bda42a876cb09d09c16565a986fa16531","sha256":"b808bb431c90a624fe5516ffe635cb04efbc5b23e293ab0876f903eccc94ef24","sha512":"f43d837bdd067e383c72376c98890ca380d26d837ac63ad4da720206f45ce276b18a99d62049036b3b49f85118f854930ec37c254fc5c429f07f34b7568b42a9","ssdeep":"3072:gAVqGqpGuSD4fUSSDTWQJ+SuwsYI7SSDzOyAGkRsG:VVsnlUyQJXunYIpg","tlshash":"a534084db2413a3251ebe2a5103b2a0fa237555da605805cb43ccede9e7de0531bbf7a","first_seen":"2023-03-07T12:27:42Z","last_seen":"2026-08-03T03:48:47.524086Z","times_seen":594,"resource_available":true,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjExLjQgLSAyMDE1LTEyLTA2CiogaHR0cDovL2pxdWVyeXVpLmNvbQoqIEluY2x1ZGVzOiBjb3JlLmpzLCB3aWRnZXQuanMsIG1vdXNlLmpzLCBwb3NpdGlvbi5qcywgZHJhZ2dhYmxlLmpzLCBkcm9wcGFibGUuanMsIHJlc2l6YWJsZS5qcywgc2VsZWN0YWJsZS5qcywgc29ydGFibGUuanMsIGFjY29yZGlvbi5qcywgYXV0b2NvbXBsZXRlLmpzLCBidXR0b24uanMsIGRhdGVwaWNrZXIuanMsIGRpYWxvZy5qcywgbWVudS5qcywgcHJvZ3Jlc3NiYXIuanMsIHNlbGVjdG1lbnUuanMsIHNsaWRlci5qcywgc3Bpbm5lci5qcywgdGFicy5qcywgdG9vbHRpcC5qcywgZWZmZWN0LmpzLCBlZmZlY3QtYmxpbmQuanMsIGVmZmVjdC1ib3VuY2UuanMsIGVmZmVjdC1jbGlwLmpzLCBlZmZlY3QtZHJvcC5qcywgZWZmZWN0LWV4cGxvZGUuanMsIGVmZmVjdC1mYWRlLmpzLCBlZmZlY3QtZm9sZC5qcywgZWZmZWN0LWhpZ2hsaWdodC5qcywgZWZmZWN0LXB1ZmYuanMsIGVmZmVjdC1wdWxzYXRlLmpzLCBlZmZlY3Qtc2NhbGUuanMsIGVmZmVjdC1zaGFrZS5qcywgZWZmZWN0LXNpemUuanMsIGVmZmVjdC1zbGlkZS5qcywgZWZmZWN0LXRyYW5zZmVyLmpzCiogQ29weXJpZ2h0IGpRdWVyeSBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnM7IExpY2Vuc2VkIE1JVCAqLwoKKGZ1bmN0aW9uKGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sZSk6ZShqUXVlcnkpfSkoZnVuY3Rpb24oZSl7ZnVuY3Rpb24gdCh0LHMpe3ZhciBuLGEsbyxyPXQubm9kZU5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4iYXJlYSI9PT1yPyhuPXQucGFyZW50Tm9kZSxhPW4ubmFtZSx0LmhyZWYmJmEmJiJtYXAiPT09bi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPyhvPWUoImltZ1t1c2VtYXA9JyMiK2ErIiddIilbMF0sISFvJiZpKG8pKTohMSk6KC9eKGlucHV0fHNlbGVjdHx0ZXh0YXJlYXxidXR0b258b2JqZWN0KSQvLnRlc3Qocik/IXQuZGlzYWJsZWQ6ImEiPT09cj90LmhyZWZ8fHM6cykmJmkodCl9ZnVuY3Rpb24gaSh0KXtyZXR1cm4gZS5leHByLmZpbHRlcnMudmlzaWJsZSh0KSYmIWUodCkucGFyZW50cygpLmFkZEJhY2soKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4iaGlkZGVuIj09PWUuY3NzKHRoaXMsInZpc2liaWxpdHkiKX0pLmxlbmd0aH1mdW5jdGlvbiBzKGUpe2Zvcih2YXIgdCxpO2UubGVuZ3RoJiZlWzBdIT09ZG9jdW1lbnQ7KXtpZih0PWUuY3NzKCJwb3NpdGlvbiIpLCgiYWJzb2x1dGUiPT09dHx8InJlbGF0aXZlIj09PXR8fCJmaXhlZCI9PT10KSYmKGk9cGFyc2VJbnQoZS5jc3MoInpJbmRleCIpLDEwKSwhaXNOYU4oaSkmJjAhPT1pKSlyZXR1cm4gaTtlPWUucGFyZW50KCl9cmV0dXJuIDB9ZnVuY3Rpb24gbigpe3RoaXMuX2N1ckluc3Q9bnVsbCx0aGlzLl9rZXlFdmVudD0hMSx0aGlzLl9kaXNhYmxlZElucHV0cz1bXSx0aGlzLl9kYXRlcGlja2VyU2hvd2luZz0hMSx0aGlzLl9pbkRpYWxvZz0hMSx0aGlzLl9tYWluRGl2SWQ9InVpLWRhdGVwaWNrZXItZGl2Iix0aGlzLl9pbmxpbmVDbGFzcz0idWktZGF0ZXBpY2tlci1pbmxpbmUiLHRoaXMuX2FwcGVuZENsYXNzPSJ1aS1kYXRlcGlja2VyLWFwcGVuZCIsdGhpcy5fdHJpZ2dlckNsYXNzPSJ1aS1kYXRlcGlja2VyLXRyaWdnZXIiLHRoaXMuX2RpYWxvZ0NsYXNzPSJ1aS1kYXRlcGlja2VyLWRpYWxvZyIsdGhpcy5fZGlzYWJsZUNsYXNzPSJ1aS1kYXRlcGlja2VyLWRpc2FibGVkIix0aGlzLl91bnNlbGVjdGFibGVDbGFzcz0idWktZGF0ZXBpY2tlci11bnNlbGVjdGFibGUiLHRoaXMuX2N1cnJlbnRDbGFzcz0idWktZGF0ZXBpY2tlci1jdXJyZW50LWRheSIsdGhpcy5fZGF5T3ZlckNsYXNzPSJ1aS1kYXRlcGlja2VyLWRheXMtY2VsbC1vdmVyIix0aGlzLnJlZ2lvbmFsPVtdLHRoaXMucmVnaW9uYWxbIiJdPXtjbG9zZVRleHQ6IkRvbmUiLHByZXZUZXh0OiJQcmV2IixuZXh0VGV4dDoiTmV4dCIsY3VycmVudFRleHQ6IlRvZGF5Iixtb250aE5hbWVzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aE5hbWVzU2hvcnQ6WyJKYW4iLCJGZWIiLCJNYXIiLCJBcHIiLCJNYXkiLCJKdW4iLCJKdWwiLCJBdWciLCJTZXAiLCJPY3QiLCJOb3YiLCJEZWMiXSxkYXlOYW1lczpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5TmFtZXNTaG9ydDpbIlN1biIsIk1vbiIsIlR1ZSIsIldlZCIsIlRodSIsIkZyaSIsIlNhdCJdLGRheU5hbWVzTWluOlsiU3UiLCJNbyIsIlR1IiwiV2UiLCJUaCIsIkZyIiwiU2EiXSx3ZWVrSGVhZGVyOiJXayIsZGF0ZUZvcm1hdDoibW0vZGQveXkiLGZpcnN0RGF5OjAsaXNSVEw6ITEsc2hvd01vbnRoQWZ0ZXJZZWFyOiExLHllYXJTdWZmaXg6IiJ9LHRoaXMuX2RlZmF1bHRzPXtzaG93T246ImZvY3VzIixzaG93QW5pbToiZmFkZUluIixzaG93T3B0aW9uczp7fSxkZWZhdWx0RGF0ZTpudWxsLGFwcGVuZFRleHQ6IiIsYnV0dG9uVGV4dDoiLi4uIixidXR0b25JbWFnZToiIixidXR0b25JbWFnZU9ubHk6ITEsaGlkZUlmTm9QcmV2TmV4dDohMSxuYXZpZ2F0aW9uQXNEYXRlRm9ybWF0OiExLGdvdG9DdXJyZW50OiExLGNoYW5nZU1vbnRoOiExLGNoYW5nZVllYXI6ITEseWVhclJhbmdlOiJjLTEwOmMrMTAiLHNob3dPdGhlck1vbnRoczohMSxzZWxlY3RPdGhlck1vbnRoczohMSxzaG93V2VlazohMSxjYWxjdWxhdGVXZWVrOnRoaXMuaXNvODYwMVdlZWssc2hvcnRZZWFyQ3V0b2ZmOiIrMTAiLG1pbkRhdGU6bnVsbCxtYXhEYXRlOm51bGwsZHVyYXRpb246ImZhc3QiLGJlZm9yZVNob3dEYXk6bnVsbCxiZWZvcmVTaG93Om51bGwsb25TZWxlY3Q6bnVsbCxvbkNoYW5nZU1vbnRoWWVhcjpudWxsLG9uQ2xvc2U6bnVsbCxudW1iZXJPZk1vbnRoczoxLHNob3dDdXJyZW50QXRQb3M6MCxzdGVwTW9udGhzOjEsc3RlcEJpZ01vbnRoczoxMixhbHRGaWVsZDoiIixhbHRGb3JtYXQ6IiIsY29uc3RyYWluSW5wdXQ6ITAsc2hvd0J1dHRvblBhbmVsOiExLGF1dG9TaXplOiExLGRpc2FibGVkOiExfSxlLmV4dGVuZCh0aGlzLl9kZWZhdWx0cyx0aGlzLnJlZ2lvbmFsWyIiXSksdGhpcy5yZWdpb25hbC5lbj1lLmV4dGVuZCghMCx7fSx0aGlzLnJlZ2lvbmFsWyIiXSksdGhpcy5yZWdpb25hbFsiZW4tVVMiXT1lLmV4dGVuZCghMCx7fSx0aGlzLnJlZ2lvbmFsLmVuKSx0aGlzLmRwRGl2PWEoZSgiPGRpdiBpZD0nIit0aGlzLl9tYWluRGl2SWQrIicgY2xhc3M9J3VpLWRhdGVwaWNrZXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsJz48L2Rpdj4iKSl9ZnVuY3Rpb24gYSh0KXt2YXIgaT0iYnV0dG9uLCAudWktZGF0ZXBpY2tlci1wcmV2LCAudWktZGF0ZXBpY2tlci1uZXh0LCAudWktZGF0ZXBpY2tlci1jYWxlbmRhciB0ZCBhIjtyZXR1cm4gdC5kZWxlZ2F0ZShpLCJtb3VzZW91dCIsZnVuY3Rpb24oKXtlKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLC0xIT09dGhpcy5jbGFzc05hbWUuaW5kZXhPZigidWktZGF0ZXBpY2tlci1wcmV2IikmJmUodGhpcykucmVtb3ZlQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciIpLC0xIT09dGhpcy5jbGFzc05hbWUuaW5kZXhPZigidWktZGF0ZXBpY2tlci1uZXh0IikmJmUodGhpcykucmVtb3ZlQ2xhc3MoInVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpfSkuZGVsZWdhdGUoaSwibW91c2VvdmVyIixvKX1mdW5jdGlvbiBvKCl7ZS5kYXRlcGlja2VyLl9pc0Rpc2FibGVkRGF0ZXBpY2tlcih2LmlubGluZT92LmRwRGl2LnBhcmVudCgpWzBdOnYuaW5wdXRbMF0pfHwoZSh0aGlzKS5wYXJlbnRzKCIudWktZGF0ZXBpY2tlci1jYWxlbmRhciIpLmZpbmQoImEiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKSxlKHRoaXMpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLC0xIT09dGhpcy5jbGFzc05hbWUuaW5kZXhPZigidWktZGF0ZXBpY2tlci1wcmV2IikmJmUodGhpcykuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItcHJldi1ob3ZlciIpLC0xIT09dGhpcy5jbGFzc05hbWUuaW5kZXhPZigidWktZGF0ZXBpY2tlci1uZXh0IikmJmUodGhpcykuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlciIpKX1mdW5jdGlvbiByKHQsaSl7ZS5leHRlbmQodCxpKTtmb3IodmFyIHMgaW4gaSludWxsPT1pW3NdJiYodFtzXT1pW3NdKTtyZXR1cm4gdH1mdW5jdGlvbiBoKGUpe3JldHVybiBmdW5jdGlvbigpe3ZhciB0PXRoaXMuZWxlbWVudC52YWwoKTtlLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9yZWZyZXNoKCksdCE9PXRoaXMuZWxlbWVudC52YWwoKSYmdGhpcy5fdHJpZ2dlcigiY2hhbmdlIil9fWUudWk9ZS51aXx8e30sZS5leHRlbmQoZS51aSx7dmVyc2lvbjoiMS4xMS40IixrZXlDb2RlOntCQUNLU1BBQ0U6OCxDT01NQToxODgsREVMRVRFOjQ2LERPV046NDAsRU5EOjM1LEVOVEVSOjEzLEVTQ0FQRToyNyxIT01FOjM2LExFRlQ6MzcsUEFHRV9ET1dOOjM0LFBBR0VfVVA6MzMsUEVSSU9EOjE5MCxSSUdIVDozOSxTUEFDRTozMixUQUI6OSxVUDozOH19KSxlLmZuLmV4dGVuZCh7c2Nyb2xsUGFyZW50OmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuY3NzKCJwb3NpdGlvbiIpLHM9ImFic29sdXRlIj09PWksbj10Py8oYXV0b3xzY3JvbGx8aGlkZGVuKS86LyhhdXRvfHNjcm9sbCkvLGE9dGhpcy5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtyZXR1cm4gcyYmInN0YXRpYyI9PT10LmNzcygicG9zaXRpb24iKT8hMTpuLnRlc3QodC5jc3MoIm92ZXJmbG93IikrdC5jc3MoIm92ZXJmbG93LXkiKSt0LmNzcygib3ZlcmZsb3cteCIpKX0pLmVxKDApO3JldHVybiJmaXhlZCIhPT1pJiZhLmxlbmd0aD9hOmUodGhpc1swXS5vd25lckRvY3VtZW50fHxkb2N1bWVudCl9LHVuaXF1ZUlkOmZ1bmN0aW9uKCl7dmFyIGU9MDtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dGhpcy5pZHx8KHRoaXMuaWQ9InVpLWlkLSIrICsrZSl9KX19KCkscmVtb3ZlVW5pcXVlSWQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7L151aS1pZC1cZCskLy50ZXN0KHRoaXMuaWQpJiZlKHRoaXMpLnJlbW92ZUF0dHIoImlkIil9KX19KSxlLmV4dGVuZChlLmV4cHJbIjoiXSx7ZGF0YTplLmV4cHIuY3JlYXRlUHNldWRvP2UuZXhwci5jcmVhdGVQc2V1ZG8oZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGkpe3JldHVybiEhZS5kYXRhKGksdCl9fSk6ZnVuY3Rpb24odCxpLHMpe3JldHVybiEhZS5kYXRhKHQsc1szXSl9LGZvY3VzYWJsZTpmdW5jdGlvbihpKXtyZXR1cm4gdChpLCFpc05hTihlLmF0dHIoaSwidGFiaW5kZXgiKSkpfSx0YWJiYWJsZTpmdW5jdGlvbihpKXt2YXIgcz1lLmF0dHIoaSwidGFiaW5kZXgiKSxuPWlzTmFOKHMpO3JldHVybihufHxzPj0wKSYmdChpLCFuKX19KSxlKCI8YT4iKS5vdXRlcldpZHRoKDEpLmpxdWVyeXx8ZS5lYWNoKFsiV2lkdGgiLCJIZWlnaHQiXSxmdW5jdGlvbih0LGkpe2Z1bmN0aW9uIHModCxpLHMsYSl7cmV0dXJuIGUuZWFjaChuLGZ1bmN0aW9uKCl7aS09cGFyc2VGbG9hdChlLmNzcyh0LCJwYWRkaW5nIit0aGlzKSl8fDAscyYmKGktPXBhcnNlRmxvYXQoZS5jc3ModCwiYm9yZGVyIit0aGlzKyJXaWR0aCIpKXx8MCksYSYmKGktPXBhcnNlRmxvYXQoZS5jc3ModCwibWFyZ2luIit0aGlzKSl8fDApfSksaX12YXIgbj0iV2lkdGgiPT09aT9bIkxlZnQiLCJSaWdodCJdOlsiVG9wIiwiQm90dG9tIl0sYT1pLnRvTG93ZXJDYXNlKCksbz17aW5uZXJXaWR0aDplLmZuLmlubmVyV2lkdGgsaW5uZXJIZWlnaHQ6ZS5mbi5pbm5lckhlaWdodCxvdXRlcldpZHRoOmUuZm4ub3V0ZXJXaWR0aCxvdXRlckhlaWdodDplLmZuLm91dGVySGVpZ2h0fTtlLmZuWyJpbm5lciIraV09ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQ/b1siaW5uZXIiK2ldLmNhbGwodGhpcyk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5jc3MoYSxzKHRoaXMsdCkrInB4Iil9KX0sZS5mblsib3V0ZXIiK2ldPWZ1bmN0aW9uKHQsbil7cmV0dXJuIm51bWJlciIhPXR5cGVvZiB0P29bIm91dGVyIitpXS5jYWxsKHRoaXMsdCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5jc3MoYSxzKHRoaXMsdCwhMCxuKSsicHgiKX0pfX0pLGUuZm4uYWRkQmFja3x8KGUuZm4uYWRkQmFjaz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihlKSl9KSxlKCI8YT4iKS5kYXRhKCJhLWIiLCJhIikucmVtb3ZlRGF0YSgiYS1iIikuZGF0YSgiYS1iIikmJihlLmZuLnJlbW92ZURhdGE9ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGkpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoP3QuY2FsbCh0aGlzLGUuY2FtZWxDYXNlKGkpKTp0LmNhbGwodGhpcyl9fShlLmZuLnJlbW92ZURhdGEpKSxlLnVpLmllPSEhL21zaWUgW1x3Ll0rLy5leGVjKG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKSksZS5mbi5leHRlbmQoe2ZvY3VzOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihpLHMpe3JldHVybiJudW1iZXIiPT10eXBlb2YgaT90aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtlKHQpLmZvY3VzKCkscyYmcy5jYWxsKHQpfSxpKX0pOnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oZS5mbi5mb2N1cyksZGlzYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3ZhciBlPSJvbnNlbGVjdHN0YXJ0ImluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpPyJzZWxlY3RzdGFydCI6Im1vdXNlZG93biI7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYmluZChlKyIudWktZGlzYWJsZVNlbGVjdGlvbiIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpfSl9fSgpLGVuYWJsZVNlbGVjdGlvbjpmdW5jdGlvbigpe3JldHVybiB0aGlzLnVuYmluZCgiLnVpLWRpc2FibGVTZWxlY3Rpb24iKX0sekluZGV4OmZ1bmN0aW9uKHQpe2lmKHZvaWQgMCE9PXQpcmV0dXJuIHRoaXMuY3NzKCJ6SW5kZXgiLHQpO2lmKHRoaXMubGVuZ3RoKWZvcih2YXIgaSxzLG49ZSh0aGlzWzBdKTtuLmxlbmd0aCYmblswXSE9PWRvY3VtZW50Oyl7aWYoaT1uLmNzcygicG9zaXRpb24iKSwoImFic29sdXRlIj09PWl8fCJyZWxhdGl2ZSI9PT1pfHwiZml4ZWQiPT09aSkmJihzPXBhcnNlSW50KG4uY3NzKCJ6SW5kZXgiKSwxMCksIWlzTmFOKHMpJiYwIT09cykpcmV0dXJuIHM7bj1uLnBhcmVudCgpfXJldHVybiAwfX0pLGUudWkucGx1Z2luPXthZGQ6ZnVuY3Rpb24odCxpLHMpe3ZhciBuLGE9ZS51aVt0XS5wcm90b3R5cGU7Zm9yKG4gaW4gcylhLnBsdWdpbnNbbl09YS5wbHVnaW5zW25dfHxbXSxhLnBsdWdpbnNbbl0ucHVzaChbaSxzW25dXSl9LGNhbGw6ZnVuY3Rpb24oZSx0LGkscyl7dmFyIG4sYT1lLnBsdWdpbnNbdF07aWYoYSYmKHN8fGUuZWxlbWVudFswXS5wYXJlbnROb2RlJiYxMSE9PWUuZWxlbWVudFswXS5wYXJlbnROb2RlLm5vZGVUeXBlKSlmb3Iobj0wO2EubGVuZ3RoPm47bisrKWUub3B0aW9uc1thW25dWzBdXSYmYVtuXVsxXS5hcHBseShlLmVsZW1lbnQsaSl9fTt2YXIgbD0wLHU9QXJyYXkucHJvdG90eXBlLnNsaWNlO2UuY2xlYW5EYXRhPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihpKXt2YXIgcyxuLGE7Zm9yKGE9MDtudWxsIT0obj1pW2FdKTthKyspdHJ5e3M9ZS5fZGF0YShuLCJldmVudHMiKSxzJiZzLnJlbW92ZSYmZShuKS50cmlnZ2VySGFuZGxlcigicmVtb3ZlIil9Y2F0Y2gobyl7fXQoaSl9fShlLmNsZWFuRGF0YSksZS53aWRnZXQ9ZnVuY3Rpb24odCxpLHMpe3ZhciBuLGEsbyxyLGg9e30sbD10LnNwbGl0KCIuIilbMF07cmV0dXJuIHQ9dC5zcGxpdCgiLiIpWzFdLG49bCsiLSIrdCxzfHwocz1pLGk9ZS5XaWRnZXQpLGUuZXhwclsiOiJdW24udG9Mb3dlckNhc2UoKV09ZnVuY3Rpb24odCl7cmV0dXJuISFlLmRhdGEodCxuKX0sZVtsXT1lW2xdfHx7fSxhPWVbbF1bdF0sbz1lW2xdW3RdPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX2NyZWF0ZVdpZGdldD8oYXJndW1lbnRzLmxlbmd0aCYmdGhpcy5fY3JlYXRlV2lkZ2V0KGUsdCksdm9pZCAwKTpuZXcgbyhlLHQpfSxlLmV4dGVuZChvLGEse3ZlcnNpb246cy52ZXJzaW9uLF9wcm90bzplLmV4dGVuZCh7fSxzKSxfY2hpbGRDb25zdHJ1Y3RvcnM6W119KSxyPW5ldyBpLHIub3B0aW9ucz1lLndpZGdldC5leHRlbmQoe30sci5vcHRpb25zKSxlLmVhY2gocyxmdW5jdGlvbih0LHMpe3JldHVybiBlLmlzRnVuY3Rpb24ocyk/KGhbdF09ZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbigpe3JldHVybiBpLnByb3RvdHlwZVt0XS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LG49ZnVuY3Rpb24oZSl7cmV0dXJuIGkucHJvdG90eXBlW3RdLmFwcGx5KHRoaXMsZSl9O3JldHVybiBmdW5jdGlvbigpe3ZhciB0LGk9dGhpcy5fc3VwZXIsYT10aGlzLl9zdXBlckFwcGx5O3JldHVybiB0aGlzLl9zdXBlcj1lLHRoaXMuX3N1cGVyQXBwbHk9bix0PXMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX3N1cGVyPWksdGhpcy5fc3VwZXJBcHBseT1hLHR9fSgpLHZvaWQgMCk6KGhbdF09cyx2b2lkIDApfSksby5wcm90b3R5cGU9ZS53aWRnZXQuZXh0ZW5kKHIse3dpZGdldEV2ZW50UHJlZml4OmE/ci53aWRnZXRFdmVudFByZWZpeHx8dDp0fSxoLHtjb25zdHJ1Y3RvcjpvLG5hbWVzcGFjZTpsLHdpZGdldE5hbWU6dCx3aWRnZXRGdWxsTmFtZTpufSksYT8oZS5lYWNoKGEuX2NoaWxkQ29uc3RydWN0b3JzLGZ1bmN0aW9uKHQsaSl7dmFyIHM9aS5wcm90b3R5cGU7ZS53aWRnZXQocy5uYW1lc3BhY2UrIi4iK3Mud2lkZ2V0TmFtZSxvLGkuX3Byb3RvKX0pLGRlbGV0ZSBhLl9jaGlsZENvbnN0cnVjdG9ycyk6aS5fY2hpbGRDb25zdHJ1Y3RvcnMucHVzaChvKSxlLndpZGdldC5icmlkZ2UodCxvKSxvfSxlLndpZGdldC5leHRlbmQ9ZnVuY3Rpb24odCl7Zm9yKHZhciBpLHMsbj11LmNhbGwoYXJndW1lbnRzLDEpLGE9MCxvPW4ubGVuZ3RoO28+YTthKyspZm9yKGkgaW4gblthXSlzPW5bYV1baV0sblthXS5oYXNPd25Qcm9wZXJ0eShpKSYmdm9pZCAwIT09cyYmKHRbaV09ZS5pc1BsYWluT2JqZWN0KHMpP2UuaXNQbGFpbk9iamVjdCh0W2ldKT9lLndpZGdldC5leHRlbmQoe30sdFtpXSxzKTplLndpZGdldC5leHRlbmQoe30scyk6cyk7cmV0dXJuIHR9LGUud2lkZ2V0LmJyaWRnZT1mdW5jdGlvbih0LGkpe3ZhciBzPWkucHJvdG90eXBlLndpZGdldEZ1bGxOYW1lfHx0O2UuZm5bdF09ZnVuY3Rpb24obil7dmFyIGE9InN0cmluZyI9PXR5cGVvZiBuLG89dS5jYWxsKGFyZ3VtZW50cywxKSxyPXRoaXM7cmV0dXJuIGE/dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGksYT1lLmRhdGEodGhpcyxzKTtyZXR1cm4iaW5zdGFuY2UiPT09bj8ocj1hLCExKTphP2UuaXNGdW5jdGlvbihhW25dKSYmIl8iIT09bi5jaGFyQXQoMCk/KGk9YVtuXS5hcHBseShhLG8pLGkhPT1hJiZ2b2lkIDAhPT1pPyhyPWkmJmkuanF1ZXJ5P3IucHVzaFN0YWNrKGkuZ2V0KCkpOmksITEpOnZvaWQgMCk6ZS5lcnJvcigibm8gc3VjaCBtZXRob2QgJyIrbisiJyBmb3IgIit0KyIgd2lkZ2V0IGluc3RhbmNlIik6ZS5lcnJvcigiY2Fubm90IGNhbGwgbWV0aG9kcyBvbiAiK3QrIiBwcmlvciB0byBpbml0aWFsaXphdGlvbjsgIisiYXR0ZW1wdGVkIHRvIGNhbGwgbWV0aG9kICciK24rIiciKX0pOihvLmxlbmd0aCYmKG49ZS53aWRnZXQuZXh0ZW5kLmFwcGx5KG51bGwsW25dLmNvbmNhdChvKSkpLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUuZGF0YSh0aGlzLHMpO3Q/KHQub3B0aW9uKG58fHt9KSx0Ll9pbml0JiZ0Ll9pbml0KCkpOmUuZGF0YSh0aGlzLHMsbmV3IGkobix0aGlzKSl9KSkscn19LGUuV2lkZ2V0PWZ1bmN0aW9uKCl7fSxlLldpZGdldC5fY2hpbGRDb25zdHJ1Y3RvcnM9W10sZS5XaWRnZXQucHJvdG90eXBlPXt3aWRnZXROYW1lOiJ3aWRnZXQiLHdpZGdldEV2ZW50UHJlZml4OiIiLGRlZmF1bHRFbGVtZW50OiI8ZGl2PiIsb3B0aW9uczp7ZGlzYWJsZWQ6ITEsY3JlYXRlOm51bGx9LF9jcmVhdGVXaWRnZXQ6ZnVuY3Rpb24odCxpKXtpPWUoaXx8dGhpcy5kZWZhdWx0RWxlbWVudHx8dGhpcylbMF0sdGhpcy5lbGVtZW50PWUoaSksdGhpcy51dWlkPWwrKyx0aGlzLmV2ZW50TmFtZXNwYWNlPSIuIit0aGlzLndpZGdldE5hbWUrdGhpcy51dWlkLHRoaXMuYmluZGluZ3M9ZSgpLHRoaXMuaG92ZXJhYmxlPWUoKSx0aGlzLmZvY3VzYWJsZT1lKCksaSE9PXRoaXMmJihlLmRhdGEoaSx0aGlzLndpZGdldEZ1bGxOYW1lLHRoaXMpLHRoaXMuX29uKCEwLHRoaXMuZWxlbWVudCx7cmVtb3ZlOmZ1bmN0aW9uKGUpe2UudGFyZ2V0PT09aSYmdGhpcy5kZXN0cm95KCl9fSksdGhpcy5kb2N1bWVudD1lKGkuc3R5bGU/aS5vd25lckRvY3VtZW50OmkuZG9jdW1lbnR8fGkpLHRoaXMud2luZG93PWUodGhpcy5kb2N1bWVudFswXS5kZWZhdWx0Vmlld3x8dGhpcy5kb2N1bWVudFswXS5wYXJlbnRXaW5kb3cpKSx0aGlzLm9wdGlvbnM9ZS53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyx0aGlzLl9nZXRDcmVhdGVPcHRpb25zKCksdCksdGhpcy5fY3JlYXRlKCksdGhpcy5fdHJpZ2dlcigiY3JlYXRlIixudWxsLHRoaXMuX2dldENyZWF0ZUV2ZW50RGF0YSgpKSx0aGlzLl9pbml0KCl9LF9nZXRDcmVhdGVPcHRpb25zOmUubm9vcCxfZ2V0Q3JlYXRlRXZlbnREYXRhOmUubm9vcCxfY3JlYXRlOmUubm9vcCxfaW5pdDplLm5vb3AsZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuX2Rlc3Ryb3koKSx0aGlzLmVsZW1lbnQudW5iaW5kKHRoaXMuZXZlbnROYW1lc3BhY2UpLnJlbW92ZURhdGEodGhpcy53aWRnZXRGdWxsTmFtZSkucmVtb3ZlRGF0YShlLmNhbWVsQ2FzZSh0aGlzLndpZGdldEZ1bGxOYW1lKSksdGhpcy53aWRnZXQoKS51bmJpbmQodGhpcy5ldmVudE5hbWVzcGFjZSkucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKHRoaXMud2lkZ2V0RnVsbE5hbWUrIi1kaXNhYmxlZCAiKyJ1aS1zdGF0ZS1kaXNhYmxlZCIpLHRoaXMuYmluZGluZ3MudW5iaW5kKHRoaXMuZXZlbnROYW1lc3BhY2UpLHRoaXMuaG92ZXJhYmxlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLHRoaXMuZm9jdXNhYmxlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSxfZGVzdHJveTplLm5vb3Asd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWxlbWVudH0sb3B0aW9uOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhLG89dDtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZS53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyk7aWYoInN0cmluZyI9PXR5cGVvZiB0KWlmKG89e30scz10LnNwbGl0KCIuIiksdD1zLnNoaWZ0KCkscy5sZW5ndGgpe2ZvcihuPW9bdF09ZS53aWRnZXQuZXh0ZW5kKHt9LHRoaXMub3B0aW9uc1t0XSksYT0wO3MubGVuZ3RoLTE+YTthKyspbltzW2FdXT1uW3NbYV1dfHx7fSxuPW5bc1thXV07aWYodD1zLnBvcCgpLDE9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1uW3RdP251bGw6blt0XTtuW3RdPWl9ZWxzZXtpZigxPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gdm9pZCAwPT09dGhpcy5vcHRpb25zW3RdP251bGw6dGhpcy5vcHRpb25zW3RdO29bdF09aX1yZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyhvKSx0aGlzfSxfc2V0T3B0aW9uczpmdW5jdGlvbihlKXt2YXIgdDtmb3IodCBpbiBlKXRoaXMuX3NldE9wdGlvbih0LGVbdF0pO3JldHVybiB0aGlzfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub3B0aW9uc1tlXT10LCJkaXNhYmxlZCI9PT1lJiYodGhpcy53aWRnZXQoKS50b2dnbGVDbGFzcyh0aGlzLndpZGdldEZ1bGxOYW1lKyItZGlzYWJsZWQiLCEhdCksdCYmKHRoaXMuaG92ZXJhYmxlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLHRoaXMuZm9jdXNhYmxlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpKSksdGhpc30sZW5hYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3NldE9wdGlvbnMoe2Rpc2FibGVkOiExfSl9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc2V0T3B0aW9ucyh7ZGlzYWJsZWQ6ITB9KX0sX29uOmZ1bmN0aW9uKHQsaSxzKXt2YXIgbixhPXRoaXM7ImJvb2xlYW4iIT10eXBlb2YgdCYmKHM9aSxpPXQsdD0hMSkscz8oaT1uPWUoaSksdGhpcy5iaW5kaW5ncz10aGlzLmJpbmRpbmdzLmFkZChpKSk6KHM9aSxpPXRoaXMuZWxlbWVudCxuPXRoaXMud2lkZ2V0KCkpLGUuZWFjaChzLGZ1bmN0aW9uKHMsbyl7ZnVuY3Rpb24gcigpe3JldHVybiB0fHxhLm9wdGlvbnMuZGlzYWJsZWQhPT0hMCYmIWUodGhpcykuaGFzQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIik/KCJzdHJpbmciPT10eXBlb2Ygbz9hW29dOm8pLmFwcGx5KGEsYXJndW1lbnRzKTp2b2lkIDB9InN0cmluZyIhPXR5cGVvZiBvJiYoci5ndWlkPW8uZ3VpZD1vLmd1aWR8fHIuZ3VpZHx8ZS5ndWlkKyspO3ZhciBoPXMubWF0Y2goL14oW1x3Oi1dKilccyooLiopJC8pLGw9aFsxXSthLmV2ZW50TmFtZXNwYWNlLHU9aFsyXTt1P24uZGVsZWdhdGUodSxsLHIpOmkuYmluZChsLHIpfSl9LF9vZmY6ZnVuY3Rpb24odCxpKXtpPShpfHwiIikuc3BsaXQoIiAiKS5qb2luKHRoaXMuZXZlbnROYW1lc3BhY2UrIiAiKSt0aGlzLmV2ZW50TmFtZXNwYWNlLHQudW5iaW5kKGkpLnVuZGVsZWdhdGUoaSksdGhpcy5iaW5kaW5ncz1lKHRoaXMuYmluZGluZ3Mubm90KHQpLmdldCgpKSx0aGlzLmZvY3VzYWJsZT1lKHRoaXMuZm9jdXNhYmxlLm5vdCh0KS5nZXQoKSksdGhpcy5ob3ZlcmFibGU9ZSh0aGlzLmhvdmVyYWJsZS5ub3QodCkuZ2V0KCkpfSxfZGVsYXk6ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBpKCl7cmV0dXJuKCJzdHJpbmciPT10eXBlb2YgZT9zW2VdOmUpLmFwcGx5KHMsYXJndW1lbnRzKX12YXIgcz10aGlzO3JldHVybiBzZXRUaW1lb3V0KGksdHx8MCl9LF9ob3ZlcmFibGU6ZnVuY3Rpb24odCl7dGhpcy5ob3ZlcmFibGU9dGhpcy5ob3ZlcmFibGUuYWRkKHQpLHRoaXMuX29uKHQse21vdXNlZW50ZXI6ZnVuY3Rpb24odCl7ZSh0LmN1cnJlbnRUYXJnZXQpLmFkZENsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpfSxtb3VzZWxlYXZlOmZ1bmN0aW9uKHQpe2UodC5jdXJyZW50VGFyZ2V0KS5yZW1vdmVDbGFzcygidWktc3RhdGUtaG92ZXIiKX19KX0sX2ZvY3VzYWJsZTpmdW5jdGlvbih0KXt0aGlzLmZvY3VzYWJsZT10aGlzLmZvY3VzYWJsZS5hZGQodCksdGhpcy5fb24odCx7Zm9jdXNpbjpmdW5jdGlvbih0KXtlKHQuY3VycmVudFRhcmdldCkuYWRkQ2xhc3MoInVpLXN0YXRlLWZvY3VzIil9LGZvY3Vzb3V0OmZ1bmN0aW9uKHQpe2UodC5jdXJyZW50VGFyZ2V0KS5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKX19KX0sX3RyaWdnZXI6ZnVuY3Rpb24odCxpLHMpe3ZhciBuLGEsbz10aGlzLm9wdGlvbnNbdF07aWYocz1zfHx7fSxpPWUuRXZlbnQoaSksaS50eXBlPSh0PT09dGhpcy53aWRnZXRFdmVudFByZWZpeD90OnRoaXMud2lkZ2V0RXZlbnRQcmVmaXgrdCkudG9Mb3dlckNhc2UoKSxpLnRhcmdldD10aGlzLmVsZW1lbnRbMF0sYT1pLm9yaWdpbmFsRXZlbnQpZm9yKG4gaW4gYSluIGluIGl8fChpW25dPWFbbl0pO3JldHVybiB0aGlzLmVsZW1lbnQudHJpZ2dlcihpLHMpLCEoZS5pc0Z1bmN0aW9uKG8pJiZvLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbaV0uY29uY2F0KHMpKT09PSExfHxpLmlzRGVmYXVsdFByZXZlbnRlZCgpKX19LGUuZWFjaCh7c2hvdzoiZmFkZUluIixoaWRlOiJmYWRlT3V0In0sZnVuY3Rpb24odCxpKXtlLldpZGdldC5wcm90b3R5cGVbIl8iK3RdPWZ1bmN0aW9uKHMsbixhKXsic3RyaW5nIj09dHlwZW9mIG4mJihuPXtlZmZlY3Q6bn0pO3ZhciBvLHI9bj9uPT09ITB8fCJudW1iZXIiPT10eXBlb2Ygbj9pOm4uZWZmZWN0fHxpOnQ7bj1ufHx7fSwibnVtYmVyIj09dHlwZW9mIG4mJihuPXtkdXJhdGlvbjpufSksbz0hZS5pc0VtcHR5T2JqZWN0KG4pLG4uY29tcGxldGU9YSxuLmRlbGF5JiZzLmRlbGF5KG4uZGVsYXkpLG8mJmUuZWZmZWN0cyYmZS5lZmZlY3RzLmVmZmVjdFtyXT9zW3RdKG4pOnIhPT10JiZzW3JdP3Nbcl0obi5kdXJhdGlvbixuLmVhc2luZyxhKTpzLnF1ZXVlKGZ1bmN0aW9uKGkpe2UodGhpcylbdF0oKSxhJiZhLmNhbGwoc1swXSksaSgpfSl9fSksZS53aWRnZXQ7dmFyIGQ9ITE7ZShkb2N1bWVudCkubW91c2V1cChmdW5jdGlvbigpe2Q9ITF9KSxlLndpZGdldCgidWkubW91c2UiLHt2ZXJzaW9uOiIxLjExLjQiLG9wdGlvbnM6e2NhbmNlbDoiaW5wdXQsdGV4dGFyZWEsYnV0dG9uLHNlbGVjdCxvcHRpb24iLGRpc3RhbmNlOjEsZGVsYXk6MH0sX21vdXNlSW5pdDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5lbGVtZW50LmJpbmQoIm1vdXNlZG93bi4iK3RoaXMud2lkZ2V0TmFtZSxmdW5jdGlvbihlKXtyZXR1cm4gdC5fbW91c2VEb3duKGUpfSkuYmluZCgiY2xpY2suIit0aGlzLndpZGdldE5hbWUsZnVuY3Rpb24oaSl7cmV0dXJuITA9PT1lLmRhdGEoaS50YXJnZXQsdC53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKT8oZS5yZW1vdmVEYXRhKGkudGFyZ2V0LHQud2lkZ2V0TmFtZSsiLnByZXZlbnRDbGlja0V2ZW50IiksaS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSwhMSk6dm9pZCAwfSksdGhpcy5zdGFydGVkPSExfSxfbW91c2VEZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnVuYmluZCgiLiIrdGhpcy53aWRnZXROYW1lKSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSYmdGhpcy5kb2N1bWVudC51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSl9LF9tb3VzZURvd246ZnVuY3Rpb24odCl7aWYoIWQpe3RoaXMuX21vdXNlTW92ZWQ9ITEsdGhpcy5fbW91c2VTdGFydGVkJiZ0aGlzLl9tb3VzZVVwKHQpLHRoaXMuX21vdXNlRG93bkV2ZW50PXQ7dmFyIGk9dGhpcyxzPTE9PT10LndoaWNoLG49InN0cmluZyI9PXR5cGVvZiB0aGlzLm9wdGlvbnMuY2FuY2VsJiZ0LnRhcmdldC5ub2RlTmFtZT9lKHQudGFyZ2V0KS5jbG9zZXN0KHRoaXMub3B0aW9ucy5jYW5jZWwpLmxlbmd0aDohMTtyZXR1cm4gcyYmIW4mJnRoaXMuX21vdXNlQ2FwdHVyZSh0KT8odGhpcy5tb3VzZURlbGF5TWV0PSF0aGlzLm9wdGlvbnMuZGVsYXksdGhpcy5tb3VzZURlbGF5TWV0fHwodGhpcy5fbW91c2VEZWxheVRpbWVyPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtpLm1vdXNlRGVsYXlNZXQ9ITB9LHRoaXMub3B0aW9ucy5kZWxheSkpLHRoaXMuX21vdXNlRGlzdGFuY2VNZXQodCkmJnRoaXMuX21vdXNlRGVsYXlNZXQodCkmJih0aGlzLl9tb3VzZVN0YXJ0ZWQ9dGhpcy5fbW91c2VTdGFydCh0KSE9PSExLCF0aGlzLl9tb3VzZVN0YXJ0ZWQpPyh0LnByZXZlbnREZWZhdWx0KCksITApOighMD09PWUuZGF0YSh0LnRhcmdldCx0aGlzLndpZGdldE5hbWUrIi5wcmV2ZW50Q2xpY2tFdmVudCIpJiZlLnJlbW92ZURhdGEodC50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiKSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZT1mdW5jdGlvbihlKXtyZXR1cm4gaS5fbW91c2VNb3ZlKGUpfSx0aGlzLl9tb3VzZVVwRGVsZWdhdGU9ZnVuY3Rpb24oZSl7cmV0dXJuIGkuX21vdXNlVXAoZSl9LHRoaXMuZG9jdW1lbnQuYmluZCgibW91c2Vtb3ZlLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlTW92ZURlbGVnYXRlKS5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSksdC5wcmV2ZW50RGVmYXVsdCgpLGQ9ITAsITApKTohMH19LF9tb3VzZU1vdmU6ZnVuY3Rpb24odCl7aWYodGhpcy5fbW91c2VNb3ZlZCl7aWYoZS51aS5pZSYmKCFkb2N1bWVudC5kb2N1bWVudE1vZGV8fDk+ZG9jdW1lbnQuZG9jdW1lbnRNb2RlKSYmIXQuYnV0dG9uKXJldHVybiB0aGlzLl9tb3VzZVVwKHQpO2lmKCF0LndoaWNoKXJldHVybiB0aGlzLl9tb3VzZVVwKHQpfXJldHVybih0LndoaWNofHx0LmJ1dHRvbikmJih0aGlzLl9tb3VzZU1vdmVkPSEwKSx0aGlzLl9tb3VzZVN0YXJ0ZWQ/KHRoaXMuX21vdXNlRHJhZyh0KSx0LnByZXZlbnREZWZhdWx0KCkpOih0aGlzLl9tb3VzZURpc3RhbmNlTWV0KHQpJiZ0aGlzLl9tb3VzZURlbGF5TWV0KHQpJiYodGhpcy5fbW91c2VTdGFydGVkPXRoaXMuX21vdXNlU3RhcnQodGhpcy5fbW91c2VEb3duRXZlbnQsdCkhPT0hMSx0aGlzLl9tb3VzZVN0YXJ0ZWQ/dGhpcy5fbW91c2VEcmFnKHQpOnRoaXMuX21vdXNlVXAodCkpLCF0aGlzLl9tb3VzZVN0YXJ0ZWQpfSxfbW91c2VVcDpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5kb2N1bWVudC51bmJpbmQoIm1vdXNlbW92ZS4iK3RoaXMud2lkZ2V0TmFtZSx0aGlzLl9tb3VzZU1vdmVEZWxlZ2F0ZSkudW5iaW5kKCJtb3VzZXVwLiIrdGhpcy53aWRnZXROYW1lLHRoaXMuX21vdXNlVXBEZWxlZ2F0ZSksdGhpcy5fbW91c2VTdGFydGVkJiYodGhpcy5fbW91c2VTdGFydGVkPSExLHQudGFyZ2V0PT09dGhpcy5fbW91c2VEb3duRXZlbnQudGFyZ2V0JiZlLmRhdGEodC50YXJnZXQsdGhpcy53aWRnZXROYW1lKyIucHJldmVudENsaWNrRXZlbnQiLCEwKSx0aGlzLl9tb3VzZVN0b3AodCkpLGQ9ITEsITF9LF9tb3VzZURpc3RhbmNlTWV0OmZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLm1heChNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWC1lLnBhZ2VYKSxNYXRoLmFicyh0aGlzLl9tb3VzZURvd25FdmVudC5wYWdlWS1lLnBhZ2VZKSk+PXRoaXMub3B0aW9ucy5kaXN0YW5jZX0sX21vdXNlRGVsYXlNZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb3VzZURlbGF5TWV0fSxfbW91c2VTdGFydDpmdW5jdGlvbigpe30sX21vdXNlRHJhZzpmdW5jdGlvbigpe30sX21vdXNlU3RvcDpmdW5jdGlvbigpe30sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbigpe3JldHVybiEwfX0pLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLHQsaSl7cmV0dXJuW3BhcnNlRmxvYXQoZVswXSkqKHAudGVzdChlWzBdKT90LzEwMDoxKSxwYXJzZUZsb2F0KGVbMV0pKihwLnRlc3QoZVsxXSk/aS8xMDA6MSldfWZ1bmN0aW9uIGkodCxpKXtyZXR1cm4gcGFyc2VJbnQoZS5jc3ModCxpKSwxMCl8fDB9ZnVuY3Rpb24gcyh0KXt2YXIgaT10WzBdO3JldHVybiA5PT09aS5ub2RlVHlwZT97d2lkdGg6dC53aWR0aCgpLGhlaWdodDp0LmhlaWdodCgpLG9mZnNldDp7dG9wOjAsbGVmdDowfX06ZS5pc1dpbmRvdyhpKT97d2lkdGg6dC53aWR0aCgpLGhlaWdodDp0LmhlaWdodCgpLG9mZnNldDp7dG9wOnQuc2Nyb2xsVG9wKCksbGVmdDp0LnNjcm9sbExlZnQoKX19OmkucHJldmVudERlZmF1bHQ/e3dpZHRoOjAsaGVpZ2h0OjAsb2Zmc2V0Ont0b3A6aS5wYWdlWSxsZWZ0OmkucGFnZVh9fTp7d2lkdGg6dC5vdXRlcldpZHRoKCksaGVpZ2h0OnQub3V0ZXJIZWlnaHQoKSxvZmZzZXQ6dC5vZmZzZXQoKX19ZS51aT1lLnVpfHx7fTt2YXIgbixhLG89TWF0aC5tYXgscj1NYXRoLmFicyxoPU1hdGgucm91bmQsbD0vbGVmdHxjZW50ZXJ8cmlnaHQvLHU9L3RvcHxjZW50ZXJ8Ym90dG9tLyxkPS9bXCtcLV1cZCsoXC5bXGRdKyk/JT8vLGM9L15cdysvLHA9LyUkLyxmPWUuZm4ucG9zaXRpb247ZS5wb3NpdGlvbj17c2Nyb2xsYmFyV2lkdGg6ZnVuY3Rpb24oKXtpZih2b2lkIDAhPT1uKXJldHVybiBuO3ZhciB0LGkscz1lKCI8ZGl2IHN0eWxlPSdkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjUwcHg7aGVpZ2h0OjUwcHg7b3ZlcmZsb3c6aGlkZGVuOyc+PGRpdiBzdHlsZT0naGVpZ2h0OjEwMHB4O3dpZHRoOmF1dG87Jz48L2Rpdj48L2Rpdj4iKSxhPXMuY2hpbGRyZW4oKVswXTtyZXR1cm4gZSgiYm9keSIpLmFwcGVuZChzKSx0PWEub2Zmc2V0V2lkdGgscy5jc3MoIm92ZXJmbG93Iiwic2Nyb2xsIiksaT1hLm9mZnNldFdpZHRoLHQ9PT1pJiYoaT1zWzBdLmNsaWVudFdpZHRoKSxzLnJlbW92ZSgpLG49dC1pfSxnZXRTY3JvbGxJbmZvOmZ1bmN0aW9uKHQpe3ZhciBpPXQuaXNXaW5kb3d8fHQuaXNEb2N1bWVudD8iIjp0LmVsZW1lbnQuY3NzKCJvdmVyZmxvdy14Iikscz10LmlzV2luZG93fHx0LmlzRG9jdW1lbnQ/IiI6dC5lbGVtZW50LmNzcygib3ZlcmZsb3cteSIpLG49InNjcm9sbCI9PT1pfHwiYXV0byI9PT1pJiZ0LndpZHRoPHQuZWxlbWVudFswXS5zY3JvbGxXaWR0aCxhPSJzY3JvbGwiPT09c3x8ImF1dG8iPT09cyYmdC5oZWlnaHQ8dC5lbGVtZW50WzBdLnNjcm9sbEhlaWdodDtyZXR1cm57d2lkdGg6YT9lLnBvc2l0aW9uLnNjcm9sbGJhcldpZHRoKCk6MCxoZWlnaHQ6bj9lLnBvc2l0aW9uLnNjcm9sbGJhcldpZHRoKCk6MH19LGdldFdpdGhpbkluZm86ZnVuY3Rpb24odCl7dmFyIGk9ZSh0fHx3aW5kb3cpLHM9ZS5pc1dpbmRvdyhpWzBdKSxuPSEhaVswXSYmOT09PWlbMF0ubm9kZVR5cGU7cmV0dXJue2VsZW1lbnQ6aSxpc1dpbmRvdzpzLGlzRG9jdW1lbnQ6bixvZmZzZXQ6aS5vZmZzZXQoKXx8e2xlZnQ6MCx0b3A6MH0sc2Nyb2xsTGVmdDppLnNjcm9sbExlZnQoKSxzY3JvbGxUb3A6aS5zY3JvbGxUb3AoKSx3aWR0aDpzfHxuP2kud2lkdGgoKTppLm91dGVyV2lkdGgoKSxoZWlnaHQ6c3x8bj9pLmhlaWdodCgpOmkub3V0ZXJIZWlnaHQoKX19fSxlLmZuLnBvc2l0aW9uPWZ1bmN0aW9uKG4pe2lmKCFufHwhbi5vZilyZXR1cm4gZi5hcHBseSh0aGlzLGFyZ3VtZW50cyk7bj1lLmV4dGVuZCh7fSxuKTt2YXIgcCxtLGcsdix5LGIsXz1lKG4ub2YpLHg9ZS5wb3NpdGlvbi5nZXRXaXRoaW5JbmZvKG4ud2l0aGluKSxrPWUucG9zaXRpb24uZ2V0U2Nyb2xsSW5mbyh4KSx3PShuLmNvbGxpc2lvbnx8ImZsaXAiKS5zcGxpdCgiICIpLFQ9e307cmV0dXJuIGI9cyhfKSxfWzBdLnByZXZlbnREZWZhdWx0JiYobi5hdD0ibGVmdCB0b3AiKSxtPWIud2lkdGgsZz1iLmhlaWdodCx2PWIub2Zmc2V0LHk9ZS5leHRlbmQoe30sdiksZS5lYWNoKFsibXkiLCJhdCJdLGZ1bmN0aW9uKCl7dmFyIGUsdCxpPShuW3RoaXNdfHwiIikuc3BsaXQoIiAiKTsxPT09aS5sZW5ndGgmJihpPWwudGVzdChpWzBdKT9pLmNvbmNhdChbImNlbnRlciJdKTp1LnRlc3QoaVswXSk/WyJjZW50ZXIiXS5jb25jYXQoaSk6WyJjZW50ZXIiLCJjZW50ZXIiXSksaVswXT1sLnRlc3QoaVswXSk/aVswXToiY2VudGVyIixpWzFdPXUudGVzdChpWzFdKT9pWzFdOiJjZW50ZXIiLGU9ZC5leGVjKGlbMF0pLHQ9ZC5leGVjKGlbMV0pLFRbdGhpc109W2U/ZVswXTowLHQ/dFswXTowXSxuW3RoaXNdPVtjLmV4ZWMoaVswXSlbMF0sYy5leGVjKGlbMV0pWzBdXX0pLDE9PT13Lmxlbmd0aCYmKHdbMV09d1swXSksInJpZ2h0Ij09PW4uYXRbMF0/eS5sZWZ0Kz1tOiJjZW50ZXIiPT09bi5hdFswXSYmKHkubGVmdCs9bS8yKSwiYm90dG9tIj09PW4uYXRbMV0/eS50b3ArPWc6ImNlbnRlciI9PT1uLmF0WzFdJiYoeS50b3ArPWcvMikscD10KFQuYXQsbSxnKSx5LmxlZnQrPXBbMF0seS50b3ArPXBbMV0sdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHMsbCx1PWUodGhpcyksZD11Lm91dGVyV2lkdGgoKSxjPXUub3V0ZXJIZWlnaHQoKSxmPWkodGhpcywibWFyZ2luTGVmdCIpLGI9aSh0aGlzLCJtYXJnaW5Ub3AiKSxEPWQrZitpKHRoaXMsIm1hcmdpblJpZ2h0Iikray53aWR0aCxTPWMrYitpKHRoaXMsIm1hcmdpbkJvdHRvbSIpK2suaGVpZ2h0LE09ZS5leHRlbmQoe30seSksTj10KFQubXksdS5vdXRlcldpZHRoKCksdS5vdXRlckhlaWdodCgpKTsicmlnaHQiPT09bi5teVswXT9NLmxlZnQtPWQ6ImNlbnRlciI9PT1uLm15WzBdJiYoTS5sZWZ0LT1kLzIpLCJib3R0b20iPT09bi5teVsxXT9NLnRvcC09YzoiY2VudGVyIj09PW4ubXlbMV0mJihNLnRvcC09Yy8yKSxNLmxlZnQrPU5bMF0sTS50b3ArPU5bMV0sYXx8KE0ubGVmdD1oKE0ubGVmdCksTS50b3A9aChNLnRvcCkpLHM9e21hcmdpbkxlZnQ6ZixtYXJnaW5Ub3A6Yn0sZS5lYWNoKFsibGVmdCIsInRvcCJdLGZ1bmN0aW9uKHQsaSl7ZS51aS5wb3NpdGlvblt3W3RdXSYmZS51aS5wb3NpdGlvblt3W3RdXVtpXShNLHt0YXJnZXRXaWR0aDptLHRhcmdldEhlaWdodDpnLGVsZW1XaWR0aDpkLGVsZW1IZWlnaHQ6Yyxjb2xsaXNpb25Qb3NpdGlvbjpzLGNvbGxpc2lvbldpZHRoOkQsY29sbGlzaW9uSGVpZ2h0OlMsb2Zmc2V0OltwWzBdK05bMF0scFsxXStOWzFdXSxteTpuLm15LGF0Om4uYXQsd2l0aGluOngsZWxlbTp1fSl9KSxuLnVzaW5nJiYobD1mdW5jdGlvbihlKXt2YXIgdD12LmxlZnQtTS5sZWZ0LGk9dCttLWQscz12LnRvcC1NLnRvcCxhPXMrZy1jLGg9e3RhcmdldDp7ZWxlbWVudDpfLGxlZnQ6di5sZWZ0LHRvcDp2LnRvcCx3aWR0aDptLGhlaWdodDpnfSxlbGVtZW50OntlbGVtZW50OnUsbGVmdDpNLmxlZnQsdG9wOk0udG9wLHdpZHRoOmQsaGVpZ2h0OmN9LGhvcml6b250YWw6MD5pPyJsZWZ0Ijp0PjA/InJpZ2h0IjoiY2VudGVyIix2ZXJ0aWNhbDowPmE/InRvcCI6cz4wPyJib3R0b20iOiJtaWRkbGUifTtkPm0mJm0+cih0K2kpJiYoaC5ob3Jpem9udGFsPSJjZW50ZXIiKSxjPmcmJmc+cihzK2EpJiYoaC52ZXJ0aWNhbD0ibWlkZGxlIiksaC5pbXBvcnRhbnQ9byhyKHQpLHIoaSkpPm8ocihzKSxyKGEpKT8iaG9yaXpvbnRhbCI6InZlcnRpY2FsIixuLnVzaW5nLmNhbGwodGhpcyxlLGgpfSksdS5vZmZzZXQoZS5leHRlbmQoTSx7dXNpbmc6bH0pKX0pfSxlLnVpLnBvc2l0aW9uPXtmaXQ6e2xlZnQ6ZnVuY3Rpb24oZSx0KXt2YXIgaSxzPXQud2l0aGluLG49cy5pc1dpbmRvdz9zLnNjcm9sbExlZnQ6cy5vZmZzZXQubGVmdCxhPXMud2lkdGgscj1lLmxlZnQtdC5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0LGg9bi1yLGw9cit0LmNvbGxpc2lvbldpZHRoLWEtbjt0LmNvbGxpc2lvbldpZHRoPmE/aD4wJiYwPj1sPyhpPWUubGVmdCtoK3QuY29sbGlzaW9uV2lkdGgtYS1uLGUubGVmdCs9aC1pKTplLmxlZnQ9bD4wJiYwPj1oP246aD5sP24rYS10LmNvbGxpc2lvbldpZHRoOm46aD4wP2UubGVmdCs9aDpsPjA/ZS5sZWZ0LT1sOmUubGVmdD1vKGUubGVmdC1yLGUubGVmdCl9LHRvcDpmdW5jdGlvbihlLHQpe3ZhciBpLHM9dC53aXRoaW4sbj1zLmlzV2luZG93P3Muc2Nyb2xsVG9wOnMub2Zmc2V0LnRvcCxhPXQud2l0aGluLmhlaWdodCxyPWUudG9wLXQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLGg9bi1yLGw9cit0LmNvbGxpc2lvbkhlaWdodC1hLW47dC5jb2xsaXNpb25IZWlnaHQ+YT9oPjAmJjA+PWw/KGk9ZS50b3AraCt0LmNvbGxpc2lvbkhlaWdodC1hLW4sZS50b3ArPWgtaSk6ZS50b3A9bD4wJiYwPj1oP246aD5sP24rYS10LmNvbGxpc2lvbkhlaWdodDpuOmg+MD9lLnRvcCs9aDpsPjA/ZS50b3AtPWw6ZS50b3A9byhlLnRvcC1yLGUudG9wKX19LGZsaXA6e2xlZnQ6ZnVuY3Rpb24oZSx0KXt2YXIgaSxzLG49dC53aXRoaW4sYT1uLm9mZnNldC5sZWZ0K24uc2Nyb2xsTGVmdCxvPW4ud2lkdGgsaD1uLmlzV2luZG93P24uc2Nyb2xsTGVmdDpuLm9mZnNldC5sZWZ0LGw9ZS5sZWZ0LXQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luTGVmdCx1PWwtaCxkPWwrdC5jb2xsaXNpb25XaWR0aC1vLWgsYz0ibGVmdCI9PT10Lm15WzBdPy10LmVsZW1XaWR0aDoicmlnaHQiPT09dC5teVswXT90LmVsZW1XaWR0aDowLHA9ImxlZnQiPT09dC5hdFswXT90LnRhcmdldFdpZHRoOiJyaWdodCI9PT10LmF0WzBdPy10LnRhcmdldFdpZHRoOjAsZj0tMip0Lm9mZnNldFswXTswPnU/KGk9ZS5sZWZ0K2MrcCtmK3QuY29sbGlzaW9uV2lkdGgtby1hLCgwPml8fHIodSk+aSkmJihlLmxlZnQrPWMrcCtmKSk6ZD4wJiYocz1lLmxlZnQtdC5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5MZWZ0K2MrcCtmLWgsKHM+MHx8ZD5yKHMpKSYmKGUubGVmdCs9YytwK2YpKX0sdG9wOmZ1bmN0aW9uKGUsdCl7dmFyIGkscyxuPXQud2l0aGluLGE9bi5vZmZzZXQudG9wK24uc2Nyb2xsVG9wLG89bi5oZWlnaHQsaD1uLmlzV2luZG93P24uc2Nyb2xsVG9wOm4ub2Zmc2V0LnRvcCxsPWUudG9wLXQuY29sbGlzaW9uUG9zaXRpb24ubWFyZ2luVG9wLHU9bC1oLGQ9bCt0LmNvbGxpc2lvbkhlaWdodC1vLWgsYz0idG9wIj09PXQubXlbMV0scD1jPy10LmVsZW1IZWlnaHQ6ImJvdHRvbSI9PT10Lm15WzFdP3QuZWxlbUhlaWdodDowLGY9InRvcCI9PT10LmF0WzFdP3QudGFyZ2V0SGVpZ2h0OiJib3R0b20iPT09dC5hdFsxXT8tdC50YXJnZXRIZWlnaHQ6MCxtPS0yKnQub2Zmc2V0WzFdOzA+dT8ocz1lLnRvcCtwK2YrbSt0LmNvbGxpc2lvbkhlaWdodC1vLWEsKDA+c3x8cih1KT5zKSYmKGUudG9wKz1wK2YrbSkpOmQ+MCYmKGk9ZS50b3AtdC5jb2xsaXNpb25Qb3NpdGlvbi5tYXJnaW5Ub3ArcCtmK20taCwoaT4wfHxkPnIoaSkpJiYoZS50b3ArPXArZittKSl9fSxmbGlwZml0OntsZWZ0OmZ1bmN0aW9uKCl7ZS51aS5wb3NpdGlvbi5mbGlwLmxlZnQuYXBwbHkodGhpcyxhcmd1bWVudHMpLGUudWkucG9zaXRpb24uZml0LmxlZnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx0b3A6ZnVuY3Rpb24oKXtlLnVpLnBvc2l0aW9uLmZsaXAudG9wLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxlLnVpLnBvc2l0aW9uLmZpdC50b3AuYXBwbHkodGhpcyxhcmd1bWVudHMpfX19LGZ1bmN0aW9uKCl7dmFyIHQsaSxzLG4sbyxyPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJib2R5IilbMF0saD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQocj8iZGl2IjoiYm9keSIpLHM9e3Zpc2liaWxpdHk6ImhpZGRlbiIsd2lkdGg6MCxoZWlnaHQ6MCxib3JkZXI6MCxtYXJnaW46MCxiYWNrZ3JvdW5kOiJub25lIn0sciYmZS5leHRlbmQocyx7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiItMTAwMHB4Iix0b3A6Ii0xMDAwcHgifSk7Zm9yKG8gaW4gcyl0LnN0eWxlW29dPXNbb107dC5hcHBlbmRDaGlsZChoKSxpPXJ8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxpLmluc2VydEJlZm9yZSh0LGkuZmlyc3RDaGlsZCksaC5zdHlsZS5jc3NUZXh0PSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDEwLjc0MzIyMjJweDsiLG49ZShoKS5vZmZzZXQoKS5sZWZ0LGE9bj4xMCYmMTE+bix0LmlubmVySFRNTD0iIixpLnJlbW92ZUNoaWxkKHQpfSgpfSgpLGUudWkucG9zaXRpb24sZS53aWRnZXQoInVpLmRyYWdnYWJsZSIsZS51aS5tb3VzZSx7dmVyc2lvbjoiMS4xMS40Iix3aWRnZXRFdmVudFByZWZpeDoiZHJhZyIsb3B0aW9uczp7YWRkQ2xhc3NlczohMCxhcHBlbmRUbzoicGFyZW50IixheGlzOiExLGNvbm5lY3RUb1NvcnRhYmxlOiExLGNvbnRhaW5tZW50OiExLGN1cnNvcjoiYXV0byIsY3Vyc29yQXQ6ITEsZ3JpZDohMSxoYW5kbGU6ITEsaGVscGVyOiJvcmlnaW5hbCIsaWZyYW1lRml4OiExLG9wYWNpdHk6ITEscmVmcmVzaFBvc2l0aW9uczohMSxyZXZlcnQ6ITEscmV2ZXJ0RHVyYXRpb246NTAwLHNjb3BlOiJkZWZhdWx0IixzY3JvbGw6ITAsc2Nyb2xsU2Vuc2l0aXZpdHk6MjAsc2Nyb2xsU3BlZWQ6MjAsc25hcDohMSxzbmFwTW9kZToiYm90aCIsc25hcFRvbGVyYW5jZToyMCxzdGFjazohMSx6SW5kZXg6ITEsZHJhZzpudWxsLHN0YXJ0Om51bGwsc3RvcDpudWxsfSxfY3JlYXRlOmZ1bmN0aW9uKCl7Im9yaWdpbmFsIj09PXRoaXMub3B0aW9ucy5oZWxwZXImJnRoaXMuX3NldFBvc2l0aW9uUmVsYXRpdmUoKSx0aGlzLm9wdGlvbnMuYWRkQ2xhc3NlcyYmdGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1kcmFnZ2FibGUiKSx0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktZHJhZ2dhYmxlLWRpc2FibGVkIiksdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCksdGhpcy5fbW91c2VJbml0KCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXt0aGlzLl9zdXBlcihlLHQpLCJoYW5kbGUiPT09ZSYmKHRoaXMuX3JlbW92ZUhhbmRsZUNsYXNzTmFtZSgpLHRoaXMuX3NldEhhbmRsZUNsYXNzTmFtZSgpKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5oZWxwZXJ8fHRoaXMuZWxlbWVudCkuaXMoIi51aS1kcmFnZ2FibGUtZHJhZ2dpbmciKT8odGhpcy5kZXN0cm95T25DbGVhcj0hMCx2b2lkIDApOih0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWRyYWdnYWJsZSB1aS1kcmFnZ2FibGUtZHJhZ2dpbmcgdWktZHJhZ2dhYmxlLWRpc2FibGVkIiksdGhpcy5fcmVtb3ZlSGFuZGxlQ2xhc3NOYW1lKCksdGhpcy5fbW91c2VEZXN0cm95KCksdm9pZCAwKX0sX21vdXNlQ2FwdHVyZTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLm9wdGlvbnM7cmV0dXJuIHRoaXMuX2JsdXJBY3RpdmVFbGVtZW50KHQpLHRoaXMuaGVscGVyfHxpLmRpc2FibGVkfHxlKHQudGFyZ2V0KS5jbG9zZXN0KCIudWktcmVzaXphYmxlLWhhbmRsZSIpLmxlbmd0aD4wPyExOih0aGlzLmhhbmRsZT10aGlzLl9nZXRIYW5kbGUodCksdGhpcy5oYW5kbGU/KHRoaXMuX2Jsb2NrRnJhbWVzKGkuaWZyYW1lRml4PT09ITA/ImlmcmFtZSI6aS5pZnJhbWVGaXgpLCEwKTohMSl9LF9ibG9ja0ZyYW1lczpmdW5jdGlvbih0KXt0aGlzLmlmcmFtZUJsb2Nrcz10aGlzLmRvY3VtZW50LmZpbmQodCkubWFwKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtyZXR1cm4gZSgiPGRpdj4iKS5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKS5hcHBlbmRUbyh0LnBhcmVudCgpKS5vdXRlcldpZHRoKHQub3V0ZXJXaWR0aCgpKS5vdXRlckhlaWdodCh0Lm91dGVySGVpZ2h0KCkpLm9mZnNldCh0Lm9mZnNldCgpKVswXX0pfSxfdW5ibG9ja0ZyYW1lczpmdW5jdGlvbigpe3RoaXMuaWZyYW1lQmxvY2tzJiYodGhpcy5pZnJhbWVCbG9ja3MucmVtb3ZlKCksZGVsZXRlIHRoaXMuaWZyYW1lQmxvY2tzKX0sX2JsdXJBY3RpdmVFbGVtZW50OmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuZG9jdW1lbnRbMF07aWYodGhpcy5oYW5kbGVFbGVtZW50LmlzKHQudGFyZ2V0KSl0cnl7aS5hY3RpdmVFbGVtZW50JiYiYm9keSIhPT1pLmFjdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmZShpLmFjdGl2ZUVsZW1lbnQpLmJsdXIoKX1jYXRjaChzKXt9fSxfbW91c2VTdGFydDpmdW5jdGlvbih0KXt2YXIgaT10aGlzLm9wdGlvbnM7cmV0dXJuIHRoaXMuaGVscGVyPXRoaXMuX2NyZWF0ZUhlbHBlcih0KSx0aGlzLmhlbHBlci5hZGRDbGFzcygidWktZHJhZ2dhYmxlLWRyYWdnaW5nIiksdGhpcy5fY2FjaGVIZWxwZXJQcm9wb3J0aW9ucygpLGUudWkuZGRtYW5hZ2VyJiYoZS51aS5kZG1hbmFnZXIuY3VycmVudD10aGlzKSx0aGlzLl9jYWNoZU1hcmdpbnMoKSx0aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iKSx0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoITApLHRoaXMub2Zmc2V0UGFyZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpLHRoaXMuaGFzRml4ZWRBbmNlc3Rvcj10aGlzLmhlbHBlci5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuImZpeGVkIj09PWUodGhpcykuY3NzKCJwb3NpdGlvbiIpfSkubGVuZ3RoPjAsdGhpcy5wb3NpdGlvbkFicz10aGlzLmVsZW1lbnQub2Zmc2V0KCksdGhpcy5fcmVmcmVzaE9mZnNldHModCksdGhpcy5vcmlnaW5hbFBvc2l0aW9uPXRoaXMucG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbih0LCExKSx0aGlzLm9yaWdpbmFsUGFnZVg9dC5wYWdlWCx0aGlzLm9yaWdpbmFsUGFnZVk9dC5wYWdlWSxpLmN1cnNvckF0JiZ0aGlzLl9hZGp1c3RPZmZzZXRGcm9tSGVscGVyKGkuY3Vyc29yQXQpLHRoaXMuX3NldENvbnRhaW5tZW50KCksdGhpcy5fdHJpZ2dlcigic3RhcnQiLHQpPT09ITE/KHRoaXMuX2NsZWFyKCksITEpOih0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCksZS51aS5kZG1hbmFnZXImJiFpLmRyb3BCZWhhdmlvdXImJmUudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsdCksdGhpcy5fbm9ybWFsaXplUmlnaHRCb3R0b20oKSx0aGlzLl9tb3VzZURyYWcodCwhMCksZS51aS5kZG1hbmFnZXImJmUudWkuZGRtYW5hZ2VyLmRyYWdTdGFydCh0aGlzLHQpLCEwKX0sX3JlZnJlc2hPZmZzZXRzOmZ1bmN0aW9uKGUpe3RoaXMub2Zmc2V0PXt0b3A6dGhpcy5wb3NpdGlvbkFicy50b3AtdGhpcy5tYXJnaW5zLnRvcCxsZWZ0OnRoaXMucG9zaXRpb25BYnMubGVmdC10aGlzLm1hcmdpbnMubGVmdCxzY3JvbGw6ITEscGFyZW50OnRoaXMuX2dldFBhcmVudE9mZnNldCgpLHJlbGF0aXZlOnRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCl9LHRoaXMub2Zmc2V0LmNsaWNrPXtsZWZ0OmUucGFnZVgtdGhpcy5vZmZzZXQubGVmdCx0b3A6ZS5wYWdlWS10aGlzLm9mZnNldC50b3B9fSxfbW91c2VEcmFnOmZ1bmN0aW9uKHQsaSl7aWYodGhpcy5oYXNGaXhlZEFuY2VzdG9yJiYodGhpcy5vZmZzZXQucGFyZW50PXRoaXMuX2dldFBhcmVudE9mZnNldCgpKSx0aGlzLnBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24odCwhMCksdGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKSwhaSl7dmFyIHM9dGhpcy5fdWlIYXNoKCk7aWYodGhpcy5fdHJpZ2dlcigiZHJhZyIsdCxzKT09PSExKXJldHVybiB0aGlzLl9tb3VzZVVwKHt9KSwhMTt0aGlzLnBvc2l0aW9uPXMucG9zaXRpb259cmV0dXJuIHRoaXMuaGVscGVyWzBdLnN0eWxlLmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIsdGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCIsZS51aS5kZG1hbmFnZXImJmUudWkuZGRtYW5hZ2VyLmRyYWcodGhpcyx0KSwhMX0sX21vdXNlU3RvcDpmdW5jdGlvbih0KXt2YXIgaT10aGlzLHM9ITE7cmV0dXJuIGUudWkuZGRtYW5hZ2VyJiYhdGhpcy5vcHRpb25zLmRyb3BCZWhhdmlvdXImJihzPWUudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyx0KSksdGhpcy5kcm9wcGVkJiYocz10aGlzLmRyb3BwZWQsdGhpcy5kcm9wcGVkPSExKSwiaW52YWxpZCI9PT10aGlzLm9wdGlvbnMucmV2ZXJ0JiYhc3x8InZhbGlkIj09PXRoaXMub3B0aW9ucy5yZXZlcnQmJnN8fHRoaXMub3B0aW9ucy5yZXZlcnQ9PT0hMHx8ZS5pc0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5yZXZlcnQpJiZ0aGlzLm9wdGlvbnMucmV2ZXJ0LmNhbGwodGhpcy5lbGVtZW50LHMpP2UodGhpcy5oZWxwZXIpLmFuaW1hdGUodGhpcy5vcmlnaW5hbFBvc2l0aW9uLHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnREdXJhdGlvbiwxMCksZnVuY3Rpb24oKXtpLl90cmlnZ2VyKCJzdG9wIix0KSE9PSExJiZpLl9jbGVhcigpfSk6dGhpcy5fdHJpZ2dlcigic3RvcCIsdCkhPT0hMSYmdGhpcy5fY2xlYXIoKSwhMX0sX21vdXNlVXA6ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX3VuYmxvY2tGcmFtZXMoKSxlLnVpLmRkbWFuYWdlciYmZS51aS5kZG1hbmFnZXIuZHJhZ1N0b3AodGhpcyx0KSx0aGlzLmhhbmRsZUVsZW1lbnQuaXModC50YXJnZXQpJiZ0aGlzLmVsZW1lbnQuZm9jdXMoKSxlLnVpLm1vdXNlLnByb3RvdHlwZS5fbW91c2VVcC5jYWxsKHRoaXMsdCl9LGNhbmNlbDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhlbHBlci5pcygiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpP3RoaXMuX21vdXNlVXAoe30pOnRoaXMuX2NsZWFyKCksdGhpc30sX2dldEhhbmRsZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zLmhhbmRsZT8hIWUodC50YXJnZXQpLmNsb3Nlc3QodGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLmhhbmRsZSkpLmxlbmd0aDohMH0sX3NldEhhbmRsZUNsYXNzTmFtZTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlRWxlbWVudD10aGlzLm9wdGlvbnMuaGFuZGxlP3RoaXMuZWxlbWVudC5maW5kKHRoaXMub3B0aW9ucy5oYW5kbGUpOnRoaXMuZWxlbWVudCx0aGlzLmhhbmRsZUVsZW1lbnQuYWRkQ2xhc3MoInVpLWRyYWdnYWJsZS1oYW5kbGUiKX0sX3JlbW92ZUhhbmRsZUNsYXNzTmFtZTpmdW5jdGlvbigpe3RoaXMuaGFuZGxlRWxlbWVudC5yZW1vdmVDbGFzcygidWktZHJhZ2dhYmxlLWhhbmRsZSIpfSxfY3JlYXRlSGVscGVyOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucyxzPWUuaXNGdW5jdGlvbihpLmhlbHBlciksbj1zP2UoaS5oZWxwZXIuYXBwbHkodGhpcy5lbGVtZW50WzBdLFt0XSkpOiJjbG9uZSI9PT1pLmhlbHBlcj90aGlzLmVsZW1lbnQuY2xvbmUoKS5yZW1vdmVBdHRyKCJpZCIpOnRoaXMuZWxlbWVudDtyZXR1cm4gbi5wYXJlbnRzKCJib2R5IikubGVuZ3RofHxuLmFwcGVuZFRvKCJwYXJlbnQiPT09aS5hcHBlbmRUbz90aGlzLmVsZW1lbnRbMF0ucGFyZW50Tm9kZTppLmFwcGVuZFRvKSxzJiZuWzBdPT09dGhpcy5lbGVtZW50WzBdJiZ0aGlzLl9zZXRQb3NpdGlvblJlbGF0aXZlKCksblswXT09PXRoaXMuZWxlbWVudFswXXx8LyhmaXhlZHxhYnNvbHV0ZSkvLnRlc3Qobi5jc3MoInBvc2l0aW9uIikpfHxuLmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpLG59LF9zZXRQb3NpdGlvblJlbGF0aXZlOmZ1bmN0aW9uKCl7L14oPzpyfGF8ZikvLnRlc3QodGhpcy5lbGVtZW50LmNzcygicG9zaXRpb24iKSl8fCh0aGlzLmVsZW1lbnRbMF0uc3R5bGUucG9zaXRpb249InJlbGF0aXZlIil9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKHQpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dC5zcGxpdCgiICIpKSxlLmlzQXJyYXkodCkmJih0PXtsZWZ0Oit0WzBdLHRvcDordFsxXXx8MH0pLCJsZWZ0ImluIHQmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PXQubGVmdCt0aGlzLm1hcmdpbnMubGVmdCksInJpZ2h0ImluIHQmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdC5yaWdodCt0aGlzLm1hcmdpbnMubGVmdCksInRvcCJpbiB0JiYodGhpcy5vZmZzZXQuY2xpY2sudG9wPXQudG9wK3RoaXMubWFyZ2lucy50b3ApLCJib3R0b20iaW4gdCYmKHRoaXMub2Zmc2V0LmNsaWNrLnRvcD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10LmJvdHRvbSt0aGlzLm1hcmdpbnMudG9wKX0sX2lzUm9vdE5vZGU6ZnVuY3Rpb24oZSl7cmV0dXJuLyhodG1sfGJvZHkpL2kudGVzdChlLnRhZ05hbWUpfHxlPT09dGhpcy5kb2N1bWVudFswXX0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3ZhciB0PXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpLGk9dGhpcy5kb2N1bWVudFswXTtyZXR1cm4iYWJzb2x1dGUiPT09dGhpcy5jc3NQb3NpdGlvbiYmdGhpcy5zY3JvbGxQYXJlbnRbMF0hPT1pJiZlLmNvbnRhaW5zKHRoaXMuc2Nyb2xsUGFyZW50WzBdLHRoaXMub2Zmc2V0UGFyZW50WzBdKSYmKHQubGVmdCs9dGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpLHQudG9wKz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSksdGhpcy5faXNSb290Tm9kZSh0aGlzLm9mZnNldFBhcmVudFswXSkmJih0PXt0b3A6MCxsZWZ0OjB9KSx7dG9wOnQudG9wKyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OnQubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApfX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYoInJlbGF0aXZlIiE9PXRoaXMuY3NzUG9zaXRpb24pcmV0dXJue3RvcDowLGxlZnQ6MH07dmFyIGU9dGhpcy5lbGVtZW50LnBvc2l0aW9uKCksdD10aGlzLl9pc1Jvb3ROb2RlKHRoaXMuc2Nyb2xsUGFyZW50WzBdKTtyZXR1cm57dG9wOmUudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkrKHQ/MDp0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSksbGVmdDplLmxlZnQtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygibGVmdCIpLDEwKXx8MCkrKHQ/MDp0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCkpfX0sX2NhY2hlTWFyZ2luczpmdW5jdGlvbigpe3RoaXMubWFyZ2lucz17bGVmdDpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5MZWZ0IiksMTApfHwwLHRvcDpwYXJzZUludCh0aGlzLmVsZW1lbnQuY3NzKCJtYXJnaW5Ub3AiKSwxMCl8fDAscmlnaHQ6cGFyc2VJbnQodGhpcy5lbGVtZW50LmNzcygibWFyZ2luUmlnaHQiKSwxMCl8fDAsYm90dG9tOnBhcnNlSW50KHRoaXMuZWxlbWVudC5jc3MoIm1hcmdpbkJvdHRvbSIpLDEwKXx8MH19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0aW9uKCl7dmFyIHQsaSxzLG49dGhpcy5vcHRpb25zLGE9dGhpcy5kb2N1bWVudFswXTtyZXR1cm4gdGhpcy5yZWxhdGl2ZUNvbnRhaW5lcj1udWxsLG4uY29udGFpbm1lbnQ/IndpbmRvdyI9PT1uLmNvbnRhaW5tZW50Pyh0aGlzLmNvbnRhaW5tZW50PVtlKHdpbmRvdykuc2Nyb2xsTGVmdCgpLXRoaXMub2Zmc2V0LnJlbGF0aXZlLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQsZSh3aW5kb3cpLnNjcm9sbFRvcCgpLXRoaXMub2Zmc2V0LnJlbGF0aXZlLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLGUod2luZG93KS5zY3JvbGxMZWZ0KCkrZSh3aW5kb3cpLndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCxlKHdpbmRvdykuc2Nyb2xsVG9wKCkrKGUod2luZG93KS5oZWlnaHQoKXx8YS5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0KS10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10aGlzLm1hcmdpbnMudG9wXSx2b2lkIDApOiJkb2N1bWVudCI9PT1uLmNvbnRhaW5tZW50Pyh0aGlzLmNvbnRhaW5tZW50PVswLDAsZShhKS53aWR0aCgpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQsKGUoYSkuaGVpZ2h0KCl8fGEuYm9keS5wYXJlbnROb2RlLnNjcm9sbEhlaWdodCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQtdGhpcy5tYXJnaW5zLnRvcF0sdm9pZCAwKTpuLmNvbnRhaW5tZW50LmNvbnN0cnVjdG9yPT09QXJyYXk/KHRoaXMuY29udGFpbm1lbnQ9bi5jb250YWlubWVudCx2b2lkIDApOigicGFyZW50Ij09PW4uY29udGFpbm1lbnQmJihuLmNvbnRhaW5tZW50PXRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGUpLGk9ZShuLmNvbnRhaW5tZW50KSxzPWlbMF0scyYmKHQ9LyhzY3JvbGx8YXV0bykvLnRlc3QoaS5jc3MoIm92ZXJmbG93IikpLHRoaXMuY29udGFpbm1lbnQ9WyhwYXJzZUludChpLmNzcygiYm9yZGVyTGVmdFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoaS5jc3MoInBhZGRpbmdMZWZ0IiksMTApfHwwKSwocGFyc2VJbnQoaS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoaS5jc3MoInBhZGRpbmdUb3AiKSwxMCl8fDApLCh0P01hdGgubWF4KHMuc2Nyb2xsV2lkdGgscy5vZmZzZXRXaWR0aCk6cy5vZmZzZXRXaWR0aCktKHBhcnNlSW50KGkuY3NzKCJib3JkZXJSaWdodFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoaS5jc3MoInBhZGRpbmdSaWdodCIpLDEwKXx8MCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdC10aGlzLm1hcmdpbnMucmlnaHQsKHQ/TWF0aC5tYXgocy5zY3JvbGxIZWlnaHQscy5vZmZzZXRIZWlnaHQpOnMub2Zmc2V0SGVpZ2h0KS0ocGFyc2VJbnQoaS5jc3MoImJvcmRlckJvdHRvbVdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoaS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3AtdGhpcy5tYXJnaW5zLmJvdHRvbV0sdGhpcy5yZWxhdGl2ZUNvbnRhaW5lcj1pKSx2b2lkIDApOih0aGlzLmNvbnRhaW5tZW50PW51bGwsdm9pZCAwKX0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0aW9uKGUsdCl7dHx8KHQ9dGhpcy5wb3NpdGlvbik7dmFyIGk9ImFic29sdXRlIj09PWU/MTotMSxzPXRoaXMuX2lzUm9vdE5vZGUodGhpcy5zY3JvbGxQYXJlbnRbMF0pO3JldHVybnt0b3A6dC50b3ArdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wKmkrdGhpcy5vZmZzZXQucGFyZW50LnRvcCppLSgiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5vZmZzZXQuc2Nyb2xsLnRvcDpzPzA6dGhpcy5vZmZzZXQuc2Nyb2xsLnRvcCkqaSxsZWZ0OnQubGVmdCt0aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0KmkrdGhpcy5vZmZzZXQucGFyZW50LmxlZnQqaS0oImZpeGVkIj09PXRoaXMuY3NzUG9zaXRpb24/LXRoaXMub2Zmc2V0LnNjcm9sbC5sZWZ0OnM/MDp0aGlzLm9mZnNldC5zY3JvbGwubGVmdCkqaX19LF9nZW5lcmF0ZVBvc2l0aW9uOmZ1bmN0aW9uKGUsdCl7dmFyIGkscyxuLGEsbz10aGlzLm9wdGlvbnMscj10aGlzLl9pc1Jvb3ROb2RlKHRoaXMuc2Nyb2xsUGFyZW50WzBdKSxoPWUucGFnZVgsbD1lLnBhZ2VZO3JldHVybiByJiZ0aGlzLm9mZnNldC5zY3JvbGx8fCh0aGlzLm9mZnNldC5zY3JvbGw9e3RvcDp0aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxUb3AoKSxsZWZ0OnRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbExlZnQoKX0pLHQmJih0aGlzLmNvbnRhaW5tZW50JiYodGhpcy5yZWxhdGl2ZUNvbnRhaW5lcj8ocz10aGlzLnJlbGF0aXZlQ29udGFpbmVyLm9mZnNldCgpLGk9W3RoaXMuY29udGFpbm1lbnRbMF0rcy5sZWZ0LHRoaXMuY29udGFpbm1lbnRbMV0rcy50b3AsdGhpcy5jb250YWlubWVudFsyXStzLmxlZnQsdGhpcy5jb250YWlubWVudFszXStzLnRvcF0pOmk9dGhpcy5jb250YWlubWVudCxlLnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8aVswXSYmKGg9aVswXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0KSxlLnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDxpWzFdJiYobD1pWzFdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCksZS5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PmlbMl0mJihoPWlbMl0rdGhpcy5vZmZzZXQuY2xpY2subGVmdCksZS5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A+aVszXSYmKGw9aVszXSt0aGlzLm9mZnNldC5jbGljay50b3ApKSxvLmdyaWQmJihuPW8uZ3JpZFsxXT90aGlzLm9yaWdpbmFsUGFnZVkrTWF0aC5yb3VuZCgobC10aGlzLm9yaWdpbmFsUGFnZVkpL28uZ3JpZFsxXSkqby5ncmlkWzFdOnRoaXMub3JpZ2luYWxQYWdlWSxsPWk/bi10aGlzLm9mZnNldC5jbGljay50b3A+PWlbMV18fG4tdGhpcy5vZmZzZXQuY2xpY2sudG9wPmlbM10/bjpuLXRoaXMub2Zmc2V0LmNsaWNrLnRvcD49aVsxXT9uLW8uZ3JpZFsxXTpuK28uZ3JpZFsxXTpuLGE9by5ncmlkWzBdP3RoaXMub3JpZ2luYWxQYWdlWCtNYXRoLnJvdW5kKChoLXRoaXMub3JpZ2luYWxQYWdlWCkvby5ncmlkWzBdKSpvLmdyaWRbMF06dGhpcy5vcmlnaW5hbFBhZ2VYLGg9aT9hLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+PWlbMF18fGEtdGhpcy5vZmZzZXQuY2xpY2subGVmdD5pWzJdP2E6YS10aGlzLm9mZnNldC5jbGljay5sZWZ0Pj1pWzBdP2Etby5ncmlkWzBdOmErby5ncmlkWzBdOmEpLCJ5Ij09PW8uYXhpcyYmKGg9dGhpcy5vcmlnaW5hbFBhZ2VYKSwieCI9PT1vLmF4aXMmJihsPXRoaXMub3JpZ2luYWxQYWdlWSkpLHt0b3A6bC10aGlzLm9mZnNldC5jbGljay50b3AtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3ArKCJmaXhlZCI9PT10aGlzLmNzc1Bvc2l0aW9uPy10aGlzLm9mZnNldC5zY3JvbGwudG9wOnI/MDp0aGlzLm9mZnNldC5zY3JvbGwudG9wKSxsZWZ0OmgtdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KygiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5vZmZzZXQuc2Nyb2xsLmxlZnQ6cj8wOnRoaXMub2Zmc2V0LnNjcm9sbC5sZWZ0KX0KfSxfY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLmhlbHBlci5yZW1vdmVDbGFzcygidWktZHJhZ2dhYmxlLWRyYWdnaW5nIiksdGhpcy5oZWxwZXJbMF09PT10aGlzLmVsZW1lbnRbMF18fHRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbHx8dGhpcy5oZWxwZXIucmVtb3ZlKCksdGhpcy5oZWxwZXI9bnVsbCx0aGlzLmNhbmNlbEhlbHBlclJlbW92YWw9ITEsdGhpcy5kZXN0cm95T25DbGVhciYmdGhpcy5kZXN0cm95KCl9LF9ub3JtYWxpemVSaWdodEJvdHRvbTpmdW5jdGlvbigpeyJ5IiE9PXRoaXMub3B0aW9ucy5heGlzJiYiYXV0byIhPT10aGlzLmhlbHBlci5jc3MoInJpZ2h0IikmJih0aGlzLmhlbHBlci53aWR0aCh0aGlzLmhlbHBlci53aWR0aCgpKSx0aGlzLmhlbHBlci5jc3MoInJpZ2h0IiwiYXV0byIpKSwieCIhPT10aGlzLm9wdGlvbnMuYXhpcyYmImF1dG8iIT09dGhpcy5oZWxwZXIuY3NzKCJib3R0b20iKSYmKHRoaXMuaGVscGVyLmhlaWdodCh0aGlzLmhlbHBlci5oZWlnaHQoKSksdGhpcy5oZWxwZXIuY3NzKCJib3R0b20iLCJhdXRvIikpfSxfdHJpZ2dlcjpmdW5jdGlvbih0LGkscyl7cmV0dXJuIHM9c3x8dGhpcy5fdWlIYXNoKCksZS51aS5wbHVnaW4uY2FsbCh0aGlzLHQsW2kscyx0aGlzXSwhMCksL14oZHJhZ3xzdGFydHxzdG9wKS8udGVzdCh0KSYmKHRoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIikscy5vZmZzZXQ9dGhpcy5wb3NpdGlvbkFicyksZS5XaWRnZXQucHJvdG90eXBlLl90cmlnZ2VyLmNhbGwodGhpcyx0LGkscyl9LHBsdWdpbnM6e30sX3VpSGFzaDpmdW5jdGlvbigpe3JldHVybntoZWxwZXI6dGhpcy5oZWxwZXIscG9zaXRpb246dGhpcy5wb3NpdGlvbixvcmlnaW5hbFBvc2l0aW9uOnRoaXMub3JpZ2luYWxQb3NpdGlvbixvZmZzZXQ6dGhpcy5wb3NpdGlvbkFic319fSksZS51aS5wbHVnaW4uYWRkKCJkcmFnZ2FibGUiLCJjb25uZWN0VG9Tb3J0YWJsZSIse3N0YXJ0OmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj1lLmV4dGVuZCh7fSxpLHtpdGVtOnMuZWxlbWVudH0pO3Muc29ydGFibGVzPVtdLGUocy5vcHRpb25zLmNvbm5lY3RUb1NvcnRhYmxlKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9ZSh0aGlzKS5zb3J0YWJsZSgiaW5zdGFuY2UiKTtpJiYhaS5vcHRpb25zLmRpc2FibGVkJiYocy5zb3J0YWJsZXMucHVzaChpKSxpLnJlZnJlc2hQb3NpdGlvbnMoKSxpLl90cmlnZ2VyKCJhY3RpdmF0ZSIsdCxuKSl9KX0sc3RvcDpmdW5jdGlvbih0LGkscyl7dmFyIG49ZS5leHRlbmQoe30saSx7aXRlbTpzLmVsZW1lbnR9KTtzLmNhbmNlbEhlbHBlclJlbW92YWw9ITEsZS5lYWNoKHMuc29ydGFibGVzLGZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLmlzT3Zlcj8oZS5pc092ZXI9MCxzLmNhbmNlbEhlbHBlclJlbW92YWw9ITAsZS5jYW5jZWxIZWxwZXJSZW1vdmFsPSExLGUuX3N0b3JlZENTUz17cG9zaXRpb246ZS5wbGFjZWhvbGRlci5jc3MoInBvc2l0aW9uIiksdG9wOmUucGxhY2Vob2xkZXIuY3NzKCJ0b3AiKSxsZWZ0OmUucGxhY2Vob2xkZXIuY3NzKCJsZWZ0Iil9LGUuX21vdXNlU3RvcCh0KSxlLm9wdGlvbnMuaGVscGVyPWUub3B0aW9ucy5faGVscGVyKTooZS5jYW5jZWxIZWxwZXJSZW1vdmFsPSEwLGUuX3RyaWdnZXIoImRlYWN0aXZhdGUiLHQsbikpfSl9LGRyYWc6ZnVuY3Rpb24odCxpLHMpe2UuZWFjaChzLnNvcnRhYmxlcyxmdW5jdGlvbigpe3ZhciBuPSExLGE9dGhpczthLnBvc2l0aW9uQWJzPXMucG9zaXRpb25BYnMsYS5oZWxwZXJQcm9wb3J0aW9ucz1zLmhlbHBlclByb3BvcnRpb25zLGEub2Zmc2V0LmNsaWNrPXMub2Zmc2V0LmNsaWNrLGEuX2ludGVyc2VjdHNXaXRoKGEuY29udGFpbmVyQ2FjaGUpJiYobj0hMCxlLmVhY2gocy5zb3J0YWJsZXMsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wb3NpdGlvbkFicz1zLnBvc2l0aW9uQWJzLHRoaXMuaGVscGVyUHJvcG9ydGlvbnM9cy5oZWxwZXJQcm9wb3J0aW9ucyx0aGlzLm9mZnNldC5jbGljaz1zLm9mZnNldC5jbGljayx0aGlzIT09YSYmdGhpcy5faW50ZXJzZWN0c1dpdGgodGhpcy5jb250YWluZXJDYWNoZSkmJmUuY29udGFpbnMoYS5lbGVtZW50WzBdLHRoaXMuZWxlbWVudFswXSkmJihuPSExKSxufSkpLG4/KGEuaXNPdmVyfHwoYS5pc092ZXI9MSxzLl9wYXJlbnQ9aS5oZWxwZXIucGFyZW50KCksYS5jdXJyZW50SXRlbT1pLmhlbHBlci5hcHBlbmRUbyhhLmVsZW1lbnQpLmRhdGEoInVpLXNvcnRhYmxlLWl0ZW0iLCEwKSxhLm9wdGlvbnMuX2hlbHBlcj1hLm9wdGlvbnMuaGVscGVyLGEub3B0aW9ucy5oZWxwZXI9ZnVuY3Rpb24oKXtyZXR1cm4gaS5oZWxwZXJbMF19LHQudGFyZ2V0PWEuY3VycmVudEl0ZW1bMF0sYS5fbW91c2VDYXB0dXJlKHQsITApLGEuX21vdXNlU3RhcnQodCwhMCwhMCksYS5vZmZzZXQuY2xpY2sudG9wPXMub2Zmc2V0LmNsaWNrLnRvcCxhLm9mZnNldC5jbGljay5sZWZ0PXMub2Zmc2V0LmNsaWNrLmxlZnQsYS5vZmZzZXQucGFyZW50LmxlZnQtPXMub2Zmc2V0LnBhcmVudC5sZWZ0LWEub2Zmc2V0LnBhcmVudC5sZWZ0LGEub2Zmc2V0LnBhcmVudC50b3AtPXMub2Zmc2V0LnBhcmVudC50b3AtYS5vZmZzZXQucGFyZW50LnRvcCxzLl90cmlnZ2VyKCJ0b1NvcnRhYmxlIix0KSxzLmRyb3BwZWQ9YS5lbGVtZW50LGUuZWFjaChzLnNvcnRhYmxlcyxmdW5jdGlvbigpe3RoaXMucmVmcmVzaFBvc2l0aW9ucygpfSkscy5jdXJyZW50SXRlbT1zLmVsZW1lbnQsYS5mcm9tT3V0c2lkZT1zKSxhLmN1cnJlbnRJdGVtJiYoYS5fbW91c2VEcmFnKHQpLGkucG9zaXRpb249YS5wb3NpdGlvbikpOmEuaXNPdmVyJiYoYS5pc092ZXI9MCxhLmNhbmNlbEhlbHBlclJlbW92YWw9ITAsYS5vcHRpb25zLl9yZXZlcnQ9YS5vcHRpb25zLnJldmVydCxhLm9wdGlvbnMucmV2ZXJ0PSExLGEuX3RyaWdnZXIoIm91dCIsdCxhLl91aUhhc2goYSkpLGEuX21vdXNlU3RvcCh0LCEwKSxhLm9wdGlvbnMucmV2ZXJ0PWEub3B0aW9ucy5fcmV2ZXJ0LGEub3B0aW9ucy5oZWxwZXI9YS5vcHRpb25zLl9oZWxwZXIsYS5wbGFjZWhvbGRlciYmYS5wbGFjZWhvbGRlci5yZW1vdmUoKSxpLmhlbHBlci5hcHBlbmRUbyhzLl9wYXJlbnQpLHMuX3JlZnJlc2hPZmZzZXRzKHQpLGkucG9zaXRpb249cy5fZ2VuZXJhdGVQb3NpdGlvbih0LCEwKSxzLl90cmlnZ2VyKCJmcm9tU29ydGFibGUiLHQpLHMuZHJvcHBlZD0hMSxlLmVhY2gocy5zb3J0YWJsZXMsZnVuY3Rpb24oKXt0aGlzLnJlZnJlc2hQb3NpdGlvbnMoKX0pKX0pfX0pLGUudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwiY3Vyc29yIix7c3RhcnQ6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPWUoImJvZHkiKSxhPXMub3B0aW9ucztuLmNzcygiY3Vyc29yIikmJihhLl9jdXJzb3I9bi5jc3MoImN1cnNvciIpKSxuLmNzcygiY3Vyc29yIixhLmN1cnNvcil9LHN0b3A6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPXMub3B0aW9ucztuLl9jdXJzb3ImJmUoImJvZHkiKS5jc3MoImN1cnNvciIsbi5fY3Vyc29yKX19KSxlLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsIm9wYWNpdHkiLHtzdGFydDpmdW5jdGlvbih0LGkscyl7dmFyIG49ZShpLmhlbHBlciksYT1zLm9wdGlvbnM7bi5jc3MoIm9wYWNpdHkiKSYmKGEuX29wYWNpdHk9bi5jc3MoIm9wYWNpdHkiKSksbi5jc3MoIm9wYWNpdHkiLGEub3BhY2l0eSl9LHN0b3A6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPXMub3B0aW9ucztuLl9vcGFjaXR5JiZlKGkuaGVscGVyKS5jc3MoIm9wYWNpdHkiLG4uX29wYWNpdHkpfX0pLGUudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic2Nyb2xsIix7c3RhcnQ6ZnVuY3Rpb24oZSx0LGkpe2kuc2Nyb2xsUGFyZW50Tm90SGlkZGVufHwoaS5zY3JvbGxQYXJlbnROb3RIaWRkZW49aS5oZWxwZXIuc2Nyb2xsUGFyZW50KCExKSksaS5zY3JvbGxQYXJlbnROb3RIaWRkZW5bMF0hPT1pLmRvY3VtZW50WzBdJiYiSFRNTCIhPT1pLnNjcm9sbFBhcmVudE5vdEhpZGRlblswXS50YWdOYW1lJiYoaS5vdmVyZmxvd09mZnNldD1pLnNjcm9sbFBhcmVudE5vdEhpZGRlbi5vZmZzZXQoKSl9LGRyYWc6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPXMub3B0aW9ucyxhPSExLG89cy5zY3JvbGxQYXJlbnROb3RIaWRkZW5bMF0scj1zLmRvY3VtZW50WzBdO28hPT1yJiYiSFRNTCIhPT1vLnRhZ05hbWU/KG4uYXhpcyYmIngiPT09bi5heGlzfHwocy5vdmVyZmxvd09mZnNldC50b3Arby5vZmZzZXRIZWlnaHQtdC5wYWdlWTxuLnNjcm9sbFNlbnNpdGl2aXR5P28uc2Nyb2xsVG9wPWE9by5zY3JvbGxUb3Arbi5zY3JvbGxTcGVlZDp0LnBhZ2VZLXMub3ZlcmZsb3dPZmZzZXQudG9wPG4uc2Nyb2xsU2Vuc2l0aXZpdHkmJihvLnNjcm9sbFRvcD1hPW8uc2Nyb2xsVG9wLW4uc2Nyb2xsU3BlZWQpKSxuLmF4aXMmJiJ5Ij09PW4uYXhpc3x8KHMub3ZlcmZsb3dPZmZzZXQubGVmdCtvLm9mZnNldFdpZHRoLXQucGFnZVg8bi5zY3JvbGxTZW5zaXRpdml0eT9vLnNjcm9sbExlZnQ9YT1vLnNjcm9sbExlZnQrbi5zY3JvbGxTcGVlZDp0LnBhZ2VYLXMub3ZlcmZsb3dPZmZzZXQubGVmdDxuLnNjcm9sbFNlbnNpdGl2aXR5JiYoby5zY3JvbGxMZWZ0PWE9by5zY3JvbGxMZWZ0LW4uc2Nyb2xsU3BlZWQpKSk6KG4uYXhpcyYmIngiPT09bi5heGlzfHwodC5wYWdlWS1lKHIpLnNjcm9sbFRvcCgpPG4uc2Nyb2xsU2Vuc2l0aXZpdHk/YT1lKHIpLnNjcm9sbFRvcChlKHIpLnNjcm9sbFRvcCgpLW4uc2Nyb2xsU3BlZWQpOmUod2luZG93KS5oZWlnaHQoKS0odC5wYWdlWS1lKHIpLnNjcm9sbFRvcCgpKTxuLnNjcm9sbFNlbnNpdGl2aXR5JiYoYT1lKHIpLnNjcm9sbFRvcChlKHIpLnNjcm9sbFRvcCgpK24uc2Nyb2xsU3BlZWQpKSksbi5heGlzJiYieSI9PT1uLmF4aXN8fCh0LnBhZ2VYLWUocikuc2Nyb2xsTGVmdCgpPG4uc2Nyb2xsU2Vuc2l0aXZpdHk/YT1lKHIpLnNjcm9sbExlZnQoZShyKS5zY3JvbGxMZWZ0KCktbi5zY3JvbGxTcGVlZCk6ZSh3aW5kb3cpLndpZHRoKCktKHQucGFnZVgtZShyKS5zY3JvbGxMZWZ0KCkpPG4uc2Nyb2xsU2Vuc2l0aXZpdHkmJihhPWUocikuc2Nyb2xsTGVmdChlKHIpLnNjcm9sbExlZnQoKStuLnNjcm9sbFNwZWVkKSkpKSxhIT09ITEmJmUudWkuZGRtYW5hZ2VyJiYhbi5kcm9wQmVoYXZpb3VyJiZlLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyhzLHQpfX0pLGUudWkucGx1Z2luLmFkZCgiZHJhZ2dhYmxlIiwic25hcCIse3N0YXJ0OmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj1zLm9wdGlvbnM7cy5zbmFwRWxlbWVudHM9W10sZShuLnNuYXAuY29uc3RydWN0b3IhPT1TdHJpbmc/bi5zbmFwLml0ZW1zfHwiOmRhdGEodWktZHJhZ2dhYmxlKSI6bi5zbmFwKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxpPXQub2Zmc2V0KCk7dGhpcyE9PXMuZWxlbWVudFswXSYmcy5zbmFwRWxlbWVudHMucHVzaCh7aXRlbTp0aGlzLHdpZHRoOnQub3V0ZXJXaWR0aCgpLGhlaWdodDp0Lm91dGVySGVpZ2h0KCksdG9wOmkudG9wLGxlZnQ6aS5sZWZ0fSl9KX0sZHJhZzpmdW5jdGlvbih0LGkscyl7dmFyIG4sYSxvLHIsaCxsLHUsZCxjLHAsZj1zLm9wdGlvbnMsbT1mLnNuYXBUb2xlcmFuY2UsZz1pLm9mZnNldC5sZWZ0LHY9ZytzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLHk9aS5vZmZzZXQudG9wLGI9eStzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodDtmb3IoYz1zLnNuYXBFbGVtZW50cy5sZW5ndGgtMTtjPj0wO2MtLSloPXMuc25hcEVsZW1lbnRzW2NdLmxlZnQtcy5tYXJnaW5zLmxlZnQsbD1oK3Muc25hcEVsZW1lbnRzW2NdLndpZHRoLHU9cy5zbmFwRWxlbWVudHNbY10udG9wLXMubWFyZ2lucy50b3AsZD11K3Muc25hcEVsZW1lbnRzW2NdLmhlaWdodCxoLW0+dnx8Zz5sK218fHUtbT5ifHx5PmQrbXx8IWUuY29udGFpbnMocy5zbmFwRWxlbWVudHNbY10uaXRlbS5vd25lckRvY3VtZW50LHMuc25hcEVsZW1lbnRzW2NdLml0ZW0pPyhzLnNuYXBFbGVtZW50c1tjXS5zbmFwcGluZyYmcy5vcHRpb25zLnNuYXAucmVsZWFzZSYmcy5vcHRpb25zLnNuYXAucmVsZWFzZS5jYWxsKHMuZWxlbWVudCx0LGUuZXh0ZW5kKHMuX3VpSGFzaCgpLHtzbmFwSXRlbTpzLnNuYXBFbGVtZW50c1tjXS5pdGVtfSkpLHMuc25hcEVsZW1lbnRzW2NdLnNuYXBwaW5nPSExKTooImlubmVyIiE9PWYuc25hcE1vZGUmJihuPW0+PU1hdGguYWJzKHUtYiksYT1tPj1NYXRoLmFicyhkLXkpLG89bT49TWF0aC5hYnMoaC12KSxyPW0+PU1hdGguYWJzKGwtZyksbiYmKGkucG9zaXRpb24udG9wPXMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDp1LXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGxlZnQ6MH0pLnRvcCksYSYmKGkucG9zaXRpb24udG9wPXMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDpkLGxlZnQ6MH0pLnRvcCksbyYmKGkucG9zaXRpb24ubGVmdD1zLl9jb252ZXJ0UG9zaXRpb25UbygicmVsYXRpdmUiLHt0b3A6MCxsZWZ0Omgtcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aH0pLmxlZnQpLHImJihpLnBvc2l0aW9uLmxlZnQ9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDpsfSkubGVmdCkpLHA9bnx8YXx8b3x8ciwib3V0ZXIiIT09Zi5zbmFwTW9kZSYmKG49bT49TWF0aC5hYnModS15KSxhPW0+PU1hdGguYWJzKGQtYiksbz1tPj1NYXRoLmFicyhoLWcpLHI9bT49TWF0aC5hYnMobC12KSxuJiYoaS5wb3NpdGlvbi50b3A9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOnUsbGVmdDowfSkudG9wKSxhJiYoaS5wb3NpdGlvbi50b3A9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOmQtcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsbGVmdDowfSkudG9wKSxvJiYoaS5wb3NpdGlvbi5sZWZ0PXMuX2NvbnZlcnRQb3NpdGlvblRvKCJyZWxhdGl2ZSIse3RvcDowLGxlZnQ6aH0pLmxlZnQpLHImJihpLnBvc2l0aW9uLmxlZnQ9cy5fY29udmVydFBvc2l0aW9uVG8oInJlbGF0aXZlIix7dG9wOjAsbGVmdDpsLXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGh9KS5sZWZ0KSksIXMuc25hcEVsZW1lbnRzW2NdLnNuYXBwaW5nJiYobnx8YXx8b3x8cnx8cCkmJnMub3B0aW9ucy5zbmFwLnNuYXAmJnMub3B0aW9ucy5zbmFwLnNuYXAuY2FsbChzLmVsZW1lbnQsdCxlLmV4dGVuZChzLl91aUhhc2goKSx7c25hcEl0ZW06cy5zbmFwRWxlbWVudHNbY10uaXRlbX0pKSxzLnNuYXBFbGVtZW50c1tjXS5zbmFwcGluZz1ufHxhfHxvfHxyfHxwKX19KSxlLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInN0YWNrIix7c3RhcnQ6ZnVuY3Rpb24odCxpLHMpe3ZhciBuLGE9cy5vcHRpb25zLG89ZS5tYWtlQXJyYXkoZShhLnN0YWNrKSkuc29ydChmdW5jdGlvbih0LGkpe3JldHVybihwYXJzZUludChlKHQpLmNzcygiekluZGV4IiksMTApfHwwKS0ocGFyc2VJbnQoZShpKS5jc3MoInpJbmRleCIpLDEwKXx8MCl9KTtvLmxlbmd0aCYmKG49cGFyc2VJbnQoZShvWzBdKS5jc3MoInpJbmRleCIpLDEwKXx8MCxlKG8pLmVhY2goZnVuY3Rpb24odCl7ZSh0aGlzKS5jc3MoInpJbmRleCIsbit0KX0pLHRoaXMuY3NzKCJ6SW5kZXgiLG4rby5sZW5ndGgpKX19KSxlLnVpLnBsdWdpbi5hZGQoImRyYWdnYWJsZSIsInpJbmRleCIse3N0YXJ0OmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj1lKGkuaGVscGVyKSxhPXMub3B0aW9ucztuLmNzcygiekluZGV4IikmJihhLl96SW5kZXg9bi5jc3MoInpJbmRleCIpKSxuLmNzcygiekluZGV4IixhLnpJbmRleCl9LHN0b3A6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPXMub3B0aW9ucztuLl96SW5kZXgmJmUoaS5oZWxwZXIpLmNzcygiekluZGV4IixuLl96SW5kZXgpfX0pLGUudWkuZHJhZ2dhYmxlLGUud2lkZ2V0KCJ1aS5kcm9wcGFibGUiLHt2ZXJzaW9uOiIxLjExLjQiLHdpZGdldEV2ZW50UHJlZml4OiJkcm9wIixvcHRpb25zOnthY2NlcHQ6IioiLGFjdGl2ZUNsYXNzOiExLGFkZENsYXNzZXM6ITAsZ3JlZWR5OiExLGhvdmVyQ2xhc3M6ITEsc2NvcGU6ImRlZmF1bHQiLHRvbGVyYW5jZToiaW50ZXJzZWN0IixhY3RpdmF0ZTpudWxsLGRlYWN0aXZhdGU6bnVsbCxkcm9wOm51bGwsb3V0Om51bGwsb3ZlcjpudWxsfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIHQsaT10aGlzLm9wdGlvbnMscz1pLmFjY2VwdDt0aGlzLmlzb3Zlcj0hMSx0aGlzLmlzb3V0PSEwLHRoaXMuYWNjZXB0PWUuaXNGdW5jdGlvbihzKT9zOmZ1bmN0aW9uKGUpe3JldHVybiBlLmlzKHMpfSx0aGlzLnByb3BvcnRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHQ9YXJndW1lbnRzWzBdLHZvaWQgMCk6dD90OnQ9e3dpZHRoOnRoaXMuZWxlbWVudFswXS5vZmZzZXRXaWR0aCxoZWlnaHQ6dGhpcy5lbGVtZW50WzBdLm9mZnNldEhlaWdodH19LHRoaXMuX2FkZFRvTWFuYWdlcihpLnNjb3BlKSxpLmFkZENsYXNzZXMmJnRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktZHJvcHBhYmxlIil9LF9hZGRUb01hbmFnZXI6ZnVuY3Rpb24odCl7ZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1t0XT1lLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW3RdfHxbXSxlLnVpLmRkbWFuYWdlci5kcm9wcGFibGVzW3RdLnB1c2godGhpcyl9LF9zcGxpY2U6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7ZS5sZW5ndGg+dDt0KyspZVt0XT09PXRoaXMmJmUuc3BsaWNlKHQsMSl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dmFyIHQ9ZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1t0aGlzLm9wdGlvbnMuc2NvcGVdO3RoaXMuX3NwbGljZSh0KSx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWRyb3BwYWJsZSB1aS1kcm9wcGFibGUtZGlzYWJsZWQiKX0sX3NldE9wdGlvbjpmdW5jdGlvbih0LGkpe2lmKCJhY2NlcHQiPT09dCl0aGlzLmFjY2VwdD1lLmlzRnVuY3Rpb24oaSk/aTpmdW5jdGlvbihlKXtyZXR1cm4gZS5pcyhpKX07ZWxzZSBpZigic2NvcGUiPT09dCl7dmFyIHM9ZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1t0aGlzLm9wdGlvbnMuc2NvcGVdO3RoaXMuX3NwbGljZShzKSx0aGlzLl9hZGRUb01hbmFnZXIoaSl9dGhpcy5fc3VwZXIodCxpKX0sX2FjdGl2YXRlOmZ1bmN0aW9uKHQpe3ZhciBpPWUudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7dGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3ModGhpcy5vcHRpb25zLmFjdGl2ZUNsYXNzKSxpJiZ0aGlzLl90cmlnZ2VyKCJhY3RpdmF0ZSIsdCx0aGlzLnVpKGkpKX0sX2RlYWN0aXZhdGU6ZnVuY3Rpb24odCl7dmFyIGk9ZS51aS5kZG1hbmFnZXIuY3VycmVudDt0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuYWN0aXZlQ2xhc3MpLGkmJnRoaXMuX3RyaWdnZXIoImRlYWN0aXZhdGUiLHQsdGhpcy51aShpKSl9LF9vdmVyOmZ1bmN0aW9uKHQpe3ZhciBpPWUudWkuZGRtYW5hZ2VyLmN1cnJlbnQ7aSYmKGkuY3VycmVudEl0ZW18fGkuZWxlbWVudClbMF0hPT10aGlzLmVsZW1lbnRbMF0mJnRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLGkuY3VycmVudEl0ZW18fGkuZWxlbWVudCkmJih0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyYmdGhpcy5lbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5ob3ZlckNsYXNzKSx0aGlzLl90cmlnZ2VyKCJvdmVyIix0LHRoaXMudWkoaSkpKX0sX291dDpmdW5jdGlvbih0KXt2YXIgaT1lLnVpLmRkbWFuYWdlci5jdXJyZW50O2kmJihpLmN1cnJlbnRJdGVtfHxpLmVsZW1lbnQpWzBdIT09dGhpcy5lbGVtZW50WzBdJiZ0aGlzLmFjY2VwdC5jYWxsKHRoaXMuZWxlbWVudFswXSxpLmN1cnJlbnRJdGVtfHxpLmVsZW1lbnQpJiYodGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyksdGhpcy5fdHJpZ2dlcigib3V0Iix0LHRoaXMudWkoaSkpKX0sX2Ryb3A6ZnVuY3Rpb24odCxpKXt2YXIgcz1pfHxlLnVpLmRkbWFuYWdlci5jdXJyZW50LG49ITE7cmV0dXJuIHMmJihzLmN1cnJlbnRJdGVtfHxzLmVsZW1lbnQpWzBdIT09dGhpcy5lbGVtZW50WzBdPyh0aGlzLmVsZW1lbnQuZmluZCgiOmRhdGEodWktZHJvcHBhYmxlKSIpLm5vdCgiLnVpLWRyYWdnYWJsZS1kcmFnZ2luZyIpLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1lKHRoaXMpLmRyb3BwYWJsZSgiaW5zdGFuY2UiKTtyZXR1cm4gaS5vcHRpb25zLmdyZWVkeSYmIWkub3B0aW9ucy5kaXNhYmxlZCYmaS5vcHRpb25zLnNjb3BlPT09cy5vcHRpb25zLnNjb3BlJiZpLmFjY2VwdC5jYWxsKGkuZWxlbWVudFswXSxzLmN1cnJlbnRJdGVtfHxzLmVsZW1lbnQpJiZlLnVpLmludGVyc2VjdChzLGUuZXh0ZW5kKGkse29mZnNldDppLmVsZW1lbnQub2Zmc2V0KCl9KSxpLm9wdGlvbnMudG9sZXJhbmNlLHQpPyhuPSEwLCExKTp2b2lkIDB9KSxuPyExOnRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLHMuY3VycmVudEl0ZW18fHMuZWxlbWVudCk/KHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyYmdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5hY3RpdmVDbGFzcyksdGhpcy5vcHRpb25zLmhvdmVyQ2xhc3MmJnRoaXMuZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuaG92ZXJDbGFzcyksdGhpcy5fdHJpZ2dlcigiZHJvcCIsdCx0aGlzLnVpKHMpKSx0aGlzLmVsZW1lbnQpOiExKTohMX0sdWk6ZnVuY3Rpb24oZSl7cmV0dXJue2RyYWdnYWJsZTplLmN1cnJlbnRJdGVtfHxlLmVsZW1lbnQsaGVscGVyOmUuaGVscGVyLHBvc2l0aW9uOmUucG9zaXRpb24sb2Zmc2V0OmUucG9zaXRpb25BYnN9fX0pLGUudWkuaW50ZXJzZWN0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLHQsaSl7cmV0dXJuIGU+PXQmJnQraT5lfXJldHVybiBmdW5jdGlvbih0LGkscyxuKXtpZighaS5vZmZzZXQpcmV0dXJuITE7dmFyIGE9KHQucG9zaXRpb25BYnN8fHQucG9zaXRpb24uYWJzb2x1dGUpLmxlZnQrdC5tYXJnaW5zLmxlZnQsbz0odC5wb3NpdGlvbkFic3x8dC5wb3NpdGlvbi5hYnNvbHV0ZSkudG9wK3QubWFyZ2lucy50b3Ascj1hK3QuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgsaD1vK3QuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LGw9aS5vZmZzZXQubGVmdCx1PWkub2Zmc2V0LnRvcCxkPWwraS5wcm9wb3J0aW9ucygpLndpZHRoLGM9dStpLnByb3BvcnRpb25zKCkuaGVpZ2h0O3N3aXRjaChzKXtjYXNlImZpdCI6cmV0dXJuIGE+PWwmJmQ+PXImJm8+PXUmJmM+PWg7Y2FzZSJpbnRlcnNlY3QiOnJldHVybiBhK3QuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMj5sJiZkPnItdC5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC8yJiZvK3QuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI+dSYmYz5oLXQuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LzI7Y2FzZSJwb2ludGVyIjpyZXR1cm4gZShuLnBhZ2VZLHUsaS5wcm9wb3J0aW9ucygpLmhlaWdodCkmJmUobi5wYWdlWCxsLGkucHJvcG9ydGlvbnMoKS53aWR0aCk7Y2FzZSJ0b3VjaCI6cmV0dXJuKG8+PXUmJmM+PW98fGg+PXUmJmM+PWh8fHU+byYmaD5jKSYmKGE+PWwmJmQ+PWF8fHI+PWwmJmQ+PXJ8fGw+YSYmcj5kKTtkZWZhdWx0OnJldHVybiExfX19KCksZS51aS5kZG1hbmFnZXI9e2N1cnJlbnQ6bnVsbCxkcm9wcGFibGVzOnsiZGVmYXVsdCI6W119LHByZXBhcmVPZmZzZXRzOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhPWUudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbdC5vcHRpb25zLnNjb3BlXXx8W10sbz1pP2kudHlwZTpudWxsLHI9KHQuY3VycmVudEl0ZW18fHQuZWxlbWVudCkuZmluZCgiOmRhdGEodWktZHJvcHBhYmxlKSIpLmFkZEJhY2soKTtlOmZvcihzPTA7YS5sZW5ndGg+cztzKyspaWYoIShhW3NdLm9wdGlvbnMuZGlzYWJsZWR8fHQmJiFhW3NdLmFjY2VwdC5jYWxsKGFbc10uZWxlbWVudFswXSx0LmN1cnJlbnRJdGVtfHx0LmVsZW1lbnQpKSl7Zm9yKG49MDtyLmxlbmd0aD5uO24rKylpZihyW25dPT09YVtzXS5lbGVtZW50WzBdKXthW3NdLnByb3BvcnRpb25zKCkuaGVpZ2h0PTA7Y29udGludWUgZX1hW3NdLnZpc2libGU9Im5vbmUiIT09YVtzXS5lbGVtZW50LmNzcygiZGlzcGxheSIpLGFbc10udmlzaWJsZSYmKCJtb3VzZWRvd24iPT09byYmYVtzXS5fYWN0aXZhdGUuY2FsbChhW3NdLGkpLGFbc10ub2Zmc2V0PWFbc10uZWxlbWVudC5vZmZzZXQoKSxhW3NdLnByb3BvcnRpb25zKHt3aWR0aDphW3NdLmVsZW1lbnRbMF0ub2Zmc2V0V2lkdGgsaGVpZ2h0OmFbc10uZWxlbWVudFswXS5vZmZzZXRIZWlnaHR9KSl9fSxkcm9wOmZ1bmN0aW9uKHQsaSl7dmFyIHM9ITE7cmV0dXJuIGUuZWFjaCgoZS51aS5kZG1hbmFnZXIuZHJvcHBhYmxlc1t0Lm9wdGlvbnMuc2NvcGVdfHxbXSkuc2xpY2UoKSxmdW5jdGlvbigpe3RoaXMub3B0aW9ucyYmKCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMudmlzaWJsZSYmZS51aS5pbnRlcnNlY3QodCx0aGlzLHRoaXMub3B0aW9ucy50b2xlcmFuY2UsaSkmJihzPXRoaXMuX2Ryb3AuY2FsbCh0aGlzLGkpfHxzKSwhdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLnZpc2libGUmJnRoaXMuYWNjZXB0LmNhbGwodGhpcy5lbGVtZW50WzBdLHQuY3VycmVudEl0ZW18fHQuZWxlbWVudCkmJih0aGlzLmlzb3V0PSEwLHRoaXMuaXNvdmVyPSExLHRoaXMuX2RlYWN0aXZhdGUuY2FsbCh0aGlzLGkpKSl9KSxzfSxkcmFnU3RhcnQ6ZnVuY3Rpb24odCxpKXt0LmVsZW1lbnQucGFyZW50c1VudGlsKCJib2R5IikuYmluZCgic2Nyb2xsLmRyb3BwYWJsZSIsZnVuY3Rpb24oKXt0Lm9wdGlvbnMucmVmcmVzaFBvc2l0aW9uc3x8ZS51aS5kZG1hbmFnZXIucHJlcGFyZU9mZnNldHModCxpKX0pfSxkcmFnOmZ1bmN0aW9uKHQsaSl7dC5vcHRpb25zLnJlZnJlc2hQb3NpdGlvbnMmJmUudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHQsaSksZS5lYWNoKGUudWkuZGRtYW5hZ2VyLmRyb3BwYWJsZXNbdC5vcHRpb25zLnNjb3BlXXx8W10sZnVuY3Rpb24oKXtpZighdGhpcy5vcHRpb25zLmRpc2FibGVkJiYhdGhpcy5ncmVlZHlDaGlsZCYmdGhpcy52aXNpYmxlKXt2YXIgcyxuLGEsbz1lLnVpLmludGVyc2VjdCh0LHRoaXMsdGhpcy5vcHRpb25zLnRvbGVyYW5jZSxpKSxyPSFvJiZ0aGlzLmlzb3Zlcj8iaXNvdXQiOm8mJiF0aGlzLmlzb3Zlcj8iaXNvdmVyIjpudWxsO3ImJih0aGlzLm9wdGlvbnMuZ3JlZWR5JiYobj10aGlzLm9wdGlvbnMuc2NvcGUsYT10aGlzLmVsZW1lbnQucGFyZW50cygiOmRhdGEodWktZHJvcHBhYmxlKSIpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmRyb3BwYWJsZSgiaW5zdGFuY2UiKS5vcHRpb25zLnNjb3BlPT09bn0pLGEubGVuZ3RoJiYocz1lKGFbMF0pLmRyb3BwYWJsZSgiaW5zdGFuY2UiKSxzLmdyZWVkeUNoaWxkPSJpc292ZXIiPT09cikpLHMmJiJpc292ZXIiPT09ciYmKHMuaXNvdmVyPSExLHMuaXNvdXQ9ITAscy5fb3V0LmNhbGwocyxpKSksdGhpc1tyXT0hMCx0aGlzWyJpc291dCI9PT1yPyJpc292ZXIiOiJpc291dCJdPSExLHRoaXNbImlzb3ZlciI9PT1yPyJfb3ZlciI6Il9vdXQiXS5jYWxsKHRoaXMsaSkscyYmImlzb3V0Ij09PXImJihzLmlzb3V0PSExLHMuaXNvdmVyPSEwLHMuX292ZXIuY2FsbChzLGkpKSl9fSl9LGRyYWdTdG9wOmZ1bmN0aW9uKHQsaSl7dC5lbGVtZW50LnBhcmVudHNVbnRpbCgiYm9keSIpLnVuYmluZCgic2Nyb2xsLmRyb3BwYWJsZSIpLHQub3B0aW9ucy5yZWZyZXNoUG9zaXRpb25zfHxlLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0LGkpfX0sZS51aS5kcm9wcGFibGUsZS53aWRnZXQoInVpLnJlc2l6YWJsZSIsZS51aS5tb3VzZSx7dmVyc2lvbjoiMS4xMS40Iix3aWRnZXRFdmVudFByZWZpeDoicmVzaXplIixvcHRpb25zOnthbHNvUmVzaXplOiExLGFuaW1hdGU6ITEsYW5pbWF0ZUR1cmF0aW9uOiJzbG93IixhbmltYXRlRWFzaW5nOiJzd2luZyIsYXNwZWN0UmF0aW86ITEsYXV0b0hpZGU6ITEsY29udGFpbm1lbnQ6ITEsZ2hvc3Q6ITEsZ3JpZDohMSxoYW5kbGVzOiJlLHMsc2UiLGhlbHBlcjohMSxtYXhIZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxsLG1pbkhlaWdodDoxMCxtaW5XaWR0aDoxMCx6SW5kZXg6OTAscmVzaXplOm51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGx9LF9udW06ZnVuY3Rpb24oZSl7cmV0dXJuIHBhcnNlSW50KGUsMTApfHwwfSxfaXNOdW1iZXI6ZnVuY3Rpb24oZSl7cmV0dXJuIWlzTmFOKHBhcnNlSW50KGUsMTApKX0sX2hhc1Njcm9sbDpmdW5jdGlvbih0LGkpe2lmKCJoaWRkZW4iPT09ZSh0KS5jc3MoIm92ZXJmbG93IikpcmV0dXJuITE7dmFyIHM9aSYmImxlZnQiPT09aT8ic2Nyb2xsTGVmdCI6InNjcm9sbFRvcCIsbj0hMTtyZXR1cm4gdFtzXT4wPyEwOih0W3NdPTEsbj10W3NdPjAsdFtzXT0wLG4pfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dmFyIHQsaSxzLG4sYSxvPXRoaXMscj10aGlzLm9wdGlvbnM7aWYodGhpcy5lbGVtZW50LmFkZENsYXNzKCJ1aS1yZXNpemFibGUiKSxlLmV4dGVuZCh0aGlzLHtfYXNwZWN0UmF0aW86ISFyLmFzcGVjdFJhdGlvLGFzcGVjdFJhdGlvOnIuYXNwZWN0UmF0aW8sb3JpZ2luYWxFbGVtZW50OnRoaXMuZWxlbWVudCxfcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50czpbXSxfaGVscGVyOnIuaGVscGVyfHxyLmdob3N0fHxyLmFuaW1hdGU/ci5oZWxwZXJ8fCJ1aS1yZXNpemFibGUtaGVscGVyIjpudWxsfSksdGhpcy5lbGVtZW50WzBdLm5vZGVOYW1lLm1hdGNoKC9eKGNhbnZhc3x0ZXh0YXJlYXxpbnB1dHxzZWxlY3R8YnV0dG9ufGltZykkL2kpJiYodGhpcy5lbGVtZW50LndyYXAoZSgiPGRpdiBjbGFzcz0ndWktd3JhcHBlcicgc3R5bGU9J292ZXJmbG93OiBoaWRkZW47Jz48L2Rpdj4iKS5jc3Moe3Bvc2l0aW9uOnRoaXMuZWxlbWVudC5jc3MoInBvc2l0aW9uIiksd2lkdGg6dGhpcy5lbGVtZW50Lm91dGVyV2lkdGgoKSxoZWlnaHQ6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCksdG9wOnRoaXMuZWxlbWVudC5jc3MoInRvcCIpLGxlZnQ6dGhpcy5lbGVtZW50LmNzcygibGVmdCIpfSkpLHRoaXMuZWxlbWVudD10aGlzLmVsZW1lbnQucGFyZW50KCkuZGF0YSgidWktcmVzaXphYmxlIix0aGlzLmVsZW1lbnQucmVzaXphYmxlKCJpbnN0YW5jZSIpKSx0aGlzLmVsZW1lbnRJc1dyYXBwZXI9ITAsdGhpcy5lbGVtZW50LmNzcyh7bWFyZ2luTGVmdDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbkxlZnQiKSxtYXJnaW5Ub3A6dGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJtYXJnaW5Ub3AiKSxtYXJnaW5SaWdodDp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpblJpZ2h0IiksbWFyZ2luQm90dG9tOnRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygibWFyZ2luQm90dG9tIil9KSx0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe21hcmdpbkxlZnQ6MCxtYXJnaW5Ub3A6MCxtYXJnaW5SaWdodDowLG1hcmdpbkJvdHRvbTowfSksdGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlPXRoaXMub3JpZ2luYWxFbGVtZW50LmNzcygicmVzaXplIiksdGhpcy5vcmlnaW5hbEVsZW1lbnQuY3NzKCJyZXNpemUiLCJub25lIiksdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50cy5wdXNoKHRoaXMub3JpZ2luYWxFbGVtZW50LmNzcyh7cG9zaXRpb246InN0YXRpYyIsem9vbToxLGRpc3BsYXk6ImJsb2NrIn0pKSx0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe21hcmdpbjp0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoIm1hcmdpbiIpfSksdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKSksdGhpcy5oYW5kbGVzPXIuaGFuZGxlc3x8KGUoIi51aS1yZXNpemFibGUtaGFuZGxlIix0aGlzLmVsZW1lbnQpLmxlbmd0aD97bjoiLnVpLXJlc2l6YWJsZS1uIixlOiIudWktcmVzaXphYmxlLWUiLHM6Ii51aS1yZXNpemFibGUtcyIsdzoiLnVpLXJlc2l6YWJsZS13IixzZToiLnVpLXJlc2l6YWJsZS1zZSIsc3c6Ii51aS1yZXNpemFibGUtc3ciLG5lOiIudWktcmVzaXphYmxlLW5lIixudzoiLnVpLXJlc2l6YWJsZS1udyJ9OiJlLHMsc2UiKSx0aGlzLl9oYW5kbGVzPWUoKSx0aGlzLmhhbmRsZXMuY29uc3RydWN0b3I9PT1TdHJpbmcpZm9yKCJhbGwiPT09dGhpcy5oYW5kbGVzJiYodGhpcy5oYW5kbGVzPSJuLGUscyx3LHNlLHN3LG5lLG53IiksdD10aGlzLmhhbmRsZXMuc3BsaXQoIiwiKSx0aGlzLmhhbmRsZXM9e30saT0wO3QubGVuZ3RoPmk7aSsrKXM9ZS50cmltKHRbaV0pLGE9InVpLXJlc2l6YWJsZS0iK3Msbj1lKCI8ZGl2IGNsYXNzPSd1aS1yZXNpemFibGUtaGFuZGxlICIrYSsiJz48L2Rpdj4iKSxuLmNzcyh7ekluZGV4OnIuekluZGV4fSksInNlIj09PXMmJm4uYWRkQ2xhc3MoInVpLWljb24gdWktaWNvbi1ncmlwc21hbGwtZGlhZ29uYWwtc2UiKSx0aGlzLmhhbmRsZXNbc109Ii51aS1yZXNpemFibGUtIitzLHRoaXMuZWxlbWVudC5hcHBlbmQobik7dGhpcy5fcmVuZGVyQXhpcz1mdW5jdGlvbih0KXt2YXIgaSxzLG4sYTt0PXR8fHRoaXMuZWxlbWVudDtmb3IoaSBpbiB0aGlzLmhhbmRsZXMpdGhpcy5oYW5kbGVzW2ldLmNvbnN0cnVjdG9yPT09U3RyaW5nP3RoaXMuaGFuZGxlc1tpXT10aGlzLmVsZW1lbnQuY2hpbGRyZW4odGhpcy5oYW5kbGVzW2ldKS5maXJzdCgpLnNob3coKToodGhpcy5oYW5kbGVzW2ldLmpxdWVyeXx8dGhpcy5oYW5kbGVzW2ldLm5vZGVUeXBlKSYmKHRoaXMuaGFuZGxlc1tpXT1lKHRoaXMuaGFuZGxlc1tpXSksdGhpcy5fb24odGhpcy5oYW5kbGVzW2ldLHttb3VzZWRvd246by5fbW91c2VEb3dufSkpLHRoaXMuZWxlbWVudElzV3JhcHBlciYmdGhpcy5vcmlnaW5hbEVsZW1lbnRbMF0ubm9kZU5hbWUubWF0Y2goL14odGV4dGFyZWF8aW5wdXR8c2VsZWN0fGJ1dHRvbikkL2kpJiYocz1lKHRoaXMuaGFuZGxlc1tpXSx0aGlzLmVsZW1lbnQpLGE9L3N3fG5lfG53fHNlfG58cy8udGVzdChpKT9zLm91dGVySGVpZ2h0KCk6cy5vdXRlcldpZHRoKCksbj1bInBhZGRpbmciLC9uZXxud3xuLy50ZXN0KGkpPyJUb3AiOi9zZXxzd3xzLy50ZXN0KGkpPyJCb3R0b20iOi9eZSQvLnRlc3QoaSk/IlJpZ2h0IjoiTGVmdCJdLmpvaW4oIiIpLHQuY3NzKG4sYSksdGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemUoKSksdGhpcy5faGFuZGxlcz10aGlzLl9oYW5kbGVzLmFkZCh0aGlzLmhhbmRsZXNbaV0pfSx0aGlzLl9yZW5kZXJBeGlzKHRoaXMuZWxlbWVudCksdGhpcy5faGFuZGxlcz10aGlzLl9oYW5kbGVzLmFkZCh0aGlzLmVsZW1lbnQuZmluZCgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKSksdGhpcy5faGFuZGxlcy5kaXNhYmxlU2VsZWN0aW9uKCksdGhpcy5faGFuZGxlcy5tb3VzZW92ZXIoZnVuY3Rpb24oKXtvLnJlc2l6aW5nfHwodGhpcy5jbGFzc05hbWUmJihuPXRoaXMuY2xhc3NOYW1lLm1hdGNoKC91aS1yZXNpemFibGUtKHNlfHN3fG5lfG53fG58ZXxzfHcpL2kpKSxvLmF4aXM9biYmblsxXT9uWzFdOiJzZSIpfSksci5hdXRvSGlkZSYmKHRoaXMuX2hhbmRsZXMuaGlkZSgpLGUodGhpcy5lbGVtZW50KS5hZGRDbGFzcygidWktcmVzaXphYmxlLWF1dG9oaWRlIikubW91c2VlbnRlcihmdW5jdGlvbigpe3IuZGlzYWJsZWR8fChlKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1yZXNpemFibGUtYXV0b2hpZGUiKSxvLl9oYW5kbGVzLnNob3coKSl9KS5tb3VzZWxlYXZlKGZ1bmN0aW9uKCl7ci5kaXNhYmxlZHx8by5yZXNpemluZ3x8KGUodGhpcykuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1hdXRvaGlkZSIpLG8uX2hhbmRsZXMuaGlkZSgpKX0pKSx0aGlzLl9tb3VzZUluaXQoKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLl9tb3VzZURlc3Ryb3koKTt2YXIgdCxpPWZ1bmN0aW9uKHQpe2UodCkucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZSB1aS1yZXNpemFibGUtZGlzYWJsZWQgdWktcmVzaXphYmxlLXJlc2l6aW5nIikucmVtb3ZlRGF0YSgicmVzaXphYmxlIikucmVtb3ZlRGF0YSgidWktcmVzaXphYmxlIikudW5iaW5kKCIucmVzaXphYmxlIikuZmluZCgiLnVpLXJlc2l6YWJsZS1oYW5kbGUiKS5yZW1vdmUoKX07cmV0dXJuIHRoaXMuZWxlbWVudElzV3JhcHBlciYmKGkodGhpcy5lbGVtZW50KSx0PXRoaXMuZWxlbWVudCx0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3Moe3Bvc2l0aW9uOnQuY3NzKCJwb3NpdGlvbiIpLHdpZHRoOnQub3V0ZXJXaWR0aCgpLGhlaWdodDp0Lm91dGVySGVpZ2h0KCksdG9wOnQuY3NzKCJ0b3AiKSxsZWZ0OnQuY3NzKCJsZWZ0Iil9KS5pbnNlcnRBZnRlcih0KSx0LnJlbW92ZSgpKSx0aGlzLm9yaWdpbmFsRWxlbWVudC5jc3MoInJlc2l6ZSIsdGhpcy5vcmlnaW5hbFJlc2l6ZVN0eWxlKSxpKHRoaXMub3JpZ2luYWxFbGVtZW50KSx0aGlzfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKHQpe3ZhciBpLHMsbj0hMTtmb3IoaSBpbiB0aGlzLmhhbmRsZXMpcz1lKHRoaXMuaGFuZGxlc1tpXSlbMF0sKHM9PT10LnRhcmdldHx8ZS5jb250YWlucyhzLHQudGFyZ2V0KSkmJihuPSEwKTtyZXR1cm4hdGhpcy5vcHRpb25zLmRpc2FibGVkJiZufSxfbW91c2VTdGFydDpmdW5jdGlvbih0KXt2YXIgaSxzLG4sYT10aGlzLm9wdGlvbnMsbz10aGlzLmVsZW1lbnQ7cmV0dXJuIHRoaXMucmVzaXppbmc9ITAsdGhpcy5fcmVuZGVyUHJveHkoKSxpPXRoaXMuX251bSh0aGlzLmhlbHBlci5jc3MoImxlZnQiKSkscz10aGlzLl9udW0odGhpcy5oZWxwZXIuY3NzKCJ0b3AiKSksYS5jb250YWlubWVudCYmKGkrPWUoYS5jb250YWlubWVudCkuc2Nyb2xsTGVmdCgpfHwwLHMrPWUoYS5jb250YWlubWVudCkuc2Nyb2xsVG9wKCl8fDApLHRoaXMub2Zmc2V0PXRoaXMuaGVscGVyLm9mZnNldCgpLHRoaXMucG9zaXRpb249e2xlZnQ6aSx0b3A6c30sdGhpcy5zaXplPXRoaXMuX2hlbHBlcj97d2lkdGg6dGhpcy5oZWxwZXIud2lkdGgoKSxoZWlnaHQ6dGhpcy5oZWxwZXIuaGVpZ2h0KCl9Ont3aWR0aDpvLndpZHRoKCksaGVpZ2h0Om8uaGVpZ2h0KCl9LHRoaXMub3JpZ2luYWxTaXplPXRoaXMuX2hlbHBlcj97d2lkdGg6by5vdXRlcldpZHRoKCksaGVpZ2h0Om8ub3V0ZXJIZWlnaHQoKX06e3dpZHRoOm8ud2lkdGgoKSxoZWlnaHQ6by5oZWlnaHQoKX0sdGhpcy5zaXplRGlmZj17d2lkdGg6by5vdXRlcldpZHRoKCktby53aWR0aCgpLGhlaWdodDpvLm91dGVySGVpZ2h0KCktby5oZWlnaHQoKX0sdGhpcy5vcmlnaW5hbFBvc2l0aW9uPXtsZWZ0OmksdG9wOnN9LHRoaXMub3JpZ2luYWxNb3VzZVBvc2l0aW9uPXtsZWZ0OnQucGFnZVgsdG9wOnQucGFnZVl9LHRoaXMuYXNwZWN0UmF0aW89Im51bWJlciI9PXR5cGVvZiBhLmFzcGVjdFJhdGlvP2EuYXNwZWN0UmF0aW86dGhpcy5vcmlnaW5hbFNpemUud2lkdGgvdGhpcy5vcmlnaW5hbFNpemUuaGVpZ2h0fHwxLG49ZSgiLnVpLXJlc2l6YWJsZS0iK3RoaXMuYXhpcykuY3NzKCJjdXJzb3IiKSxlKCJib2R5IikuY3NzKCJjdXJzb3IiLCJhdXRvIj09PW4/dGhpcy5heGlzKyItcmVzaXplIjpuKSxvLmFkZENsYXNzKCJ1aS1yZXNpemFibGUtcmVzaXppbmciKSx0aGlzLl9wcm9wYWdhdGUoInN0YXJ0Iix0KSwhMH0sX21vdXNlRHJhZzpmdW5jdGlvbih0KXt2YXIgaSxzLG49dGhpcy5vcmlnaW5hbE1vdXNlUG9zaXRpb24sYT10aGlzLmF4aXMsbz10LnBhZ2VYLW4ubGVmdHx8MCxyPXQucGFnZVktbi50b3B8fDAsaD10aGlzLl9jaGFuZ2VbYV07cmV0dXJuIHRoaXMuX3VwZGF0ZVByZXZQcm9wZXJ0aWVzKCksaD8oaT1oLmFwcGx5KHRoaXMsW3QsbyxyXSksdGhpcy5fdXBkYXRlVmlydHVhbEJvdW5kYXJpZXModC5zaGlmdEtleSksKHRoaXMuX2FzcGVjdFJhdGlvfHx0LnNoaWZ0S2V5KSYmKGk9dGhpcy5fdXBkYXRlUmF0aW8oaSx0KSksaT10aGlzLl9yZXNwZWN0U2l6ZShpLHQpLHRoaXMuX3VwZGF0ZUNhY2hlKGkpLHRoaXMuX3Byb3BhZ2F0ZSgicmVzaXplIix0KSxzPXRoaXMuX2FwcGx5Q2hhbmdlcygpLCF0aGlzLl9oZWxwZXImJnRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoJiZ0aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZSgpLGUuaXNFbXB0eU9iamVjdChzKXx8KHRoaXMuX3VwZGF0ZVByZXZQcm9wZXJ0aWVzKCksdGhpcy5fdHJpZ2dlcigicmVzaXplIix0LHRoaXMudWkoKSksdGhpcy5fYXBwbHlDaGFuZ2VzKCkpLCExKTohMX0sX21vdXNlU3RvcDpmdW5jdGlvbih0KXt0aGlzLnJlc2l6aW5nPSExO3ZhciBpLHMsbixhLG8scixoLGw9dGhpcy5vcHRpb25zLHU9dGhpcztyZXR1cm4gdGhpcy5faGVscGVyJiYoaT10aGlzLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLHM9aS5sZW5ndGgmJi90ZXh0YXJlYS9pLnRlc3QoaVswXS5ub2RlTmFtZSksbj1zJiZ0aGlzLl9oYXNTY3JvbGwoaVswXSwibGVmdCIpPzA6dS5zaXplRGlmZi5oZWlnaHQsYT1zPzA6dS5zaXplRGlmZi53aWR0aCxvPXt3aWR0aDp1LmhlbHBlci53aWR0aCgpLWEsaGVpZ2h0OnUuaGVscGVyLmhlaWdodCgpLW59LHI9cGFyc2VJbnQodS5lbGVtZW50LmNzcygibGVmdCIpLDEwKSsodS5wb3NpdGlvbi5sZWZ0LXUub3JpZ2luYWxQb3NpdGlvbi5sZWZ0KXx8bnVsbCxoPXBhcnNlSW50KHUuZWxlbWVudC5jc3MoInRvcCIpLDEwKSsodS5wb3NpdGlvbi50b3AtdS5vcmlnaW5hbFBvc2l0aW9uLnRvcCl8fG51bGwsbC5hbmltYXRlfHx0aGlzLmVsZW1lbnQuY3NzKGUuZXh0ZW5kKG8se3RvcDpoLGxlZnQ6cn0pKSx1LmhlbHBlci5oZWlnaHQodS5zaXplLmhlaWdodCksdS5oZWxwZXIud2lkdGgodS5zaXplLndpZHRoKSx0aGlzLl9oZWxwZXImJiFsLmFuaW1hdGUmJnRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplKCkpLGUoImJvZHkiKS5jc3MoImN1cnNvciIsImF1dG8iKSx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXJlc2l6YWJsZS1yZXNpemluZyIpLHRoaXMuX3Byb3BhZ2F0ZSgic3RvcCIsdCksdGhpcy5faGVscGVyJiZ0aGlzLmhlbHBlci5yZW1vdmUoKSwhMX0sX3VwZGF0ZVByZXZQcm9wZXJ0aWVzOmZ1bmN0aW9uKCl7dGhpcy5wcmV2UG9zaXRpb249e3RvcDp0aGlzLnBvc2l0aW9uLnRvcCxsZWZ0OnRoaXMucG9zaXRpb24ubGVmdH0sdGhpcy5wcmV2U2l6ZT17d2lkdGg6dGhpcy5zaXplLndpZHRoLGhlaWdodDp0aGlzLnNpemUuaGVpZ2h0fX0sX2FwcGx5Q2hhbmdlczpmdW5jdGlvbigpe3ZhciBlPXt9O3JldHVybiB0aGlzLnBvc2l0aW9uLnRvcCE9PXRoaXMucHJldlBvc2l0aW9uLnRvcCYmKGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCIpLHRoaXMucG9zaXRpb24ubGVmdCE9PXRoaXMucHJldlBvc2l0aW9uLmxlZnQmJihlLmxlZnQ9dGhpcy5wb3NpdGlvbi5sZWZ0KyJweCIpLHRoaXMuc2l6ZS53aWR0aCE9PXRoaXMucHJldlNpemUud2lkdGgmJihlLndpZHRoPXRoaXMuc2l6ZS53aWR0aCsicHgiKSx0aGlzLnNpemUuaGVpZ2h0IT09dGhpcy5wcmV2U2l6ZS5oZWlnaHQmJihlLmhlaWdodD10aGlzLnNpemUuaGVpZ2h0KyJweCIpLHRoaXMuaGVscGVyLmNzcyhlKSxlfSxfdXBkYXRlVmlydHVhbEJvdW5kYXJpZXM6ZnVuY3Rpb24oZSl7dmFyIHQsaSxzLG4sYSxvPXRoaXMub3B0aW9uczthPXttaW5XaWR0aDp0aGlzLl9pc051bWJlcihvLm1pbldpZHRoKT9vLm1pbldpZHRoOjAsbWF4V2lkdGg6dGhpcy5faXNOdW1iZXIoby5tYXhXaWR0aCk/by5tYXhXaWR0aDoxLzAsbWluSGVpZ2h0OnRoaXMuX2lzTnVtYmVyKG8ubWluSGVpZ2h0KT9vLm1pbkhlaWdodDowLG1heEhlaWdodDp0aGlzLl9pc051bWJlcihvLm1heEhlaWdodCk/by5tYXhIZWlnaHQ6MS8wfSwodGhpcy5fYXNwZWN0UmF0aW98fGUpJiYodD1hLm1pbkhlaWdodCp0aGlzLmFzcGVjdFJhdGlvLHM9YS5taW5XaWR0aC90aGlzLmFzcGVjdFJhdGlvLGk9YS5tYXhIZWlnaHQqdGhpcy5hc3BlY3RSYXRpbyxuPWEubWF4V2lkdGgvdGhpcy5hc3BlY3RSYXRpbyx0PmEubWluV2lkdGgmJihhLm1pbldpZHRoPXQpLHM+YS5taW5IZWlnaHQmJihhLm1pbkhlaWdodD1zKSxhLm1heFdpZHRoPmkmJihhLm1heFdpZHRoPWkpLGEubWF4SGVpZ2h0Pm4mJihhLm1heEhlaWdodD1uKSksdGhpcy5fdkJvdW5kYXJpZXM9YX0sX3VwZGF0ZUNhY2hlOmZ1bmN0aW9uKGUpe3RoaXMub2Zmc2V0PXRoaXMuaGVscGVyLm9mZnNldCgpLHRoaXMuX2lzTnVtYmVyKGUubGVmdCkmJih0aGlzLnBvc2l0aW9uLmxlZnQ9ZS5sZWZ0KSx0aGlzLl9pc051bWJlcihlLnRvcCkmJih0aGlzLnBvc2l0aW9uLnRvcD1lLnRvcCksdGhpcy5faXNOdW1iZXIoZS5oZWlnaHQpJiYodGhpcy5zaXplLmhlaWdodD1lLmhlaWdodCksdGhpcy5faXNOdW1iZXIoZS53aWR0aCkmJih0aGlzLnNpemUud2lkdGg9ZS53aWR0aCl9LF91cGRhdGVSYXRpbzpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBvc2l0aW9uLGk9dGhpcy5zaXplLHM9dGhpcy5heGlzO3JldHVybiB0aGlzLl9pc051bWJlcihlLmhlaWdodCk/ZS53aWR0aD1lLmhlaWdodCp0aGlzLmFzcGVjdFJhdGlvOnRoaXMuX2lzTnVtYmVyKGUud2lkdGgpJiYoZS5oZWlnaHQ9ZS53aWR0aC90aGlzLmFzcGVjdFJhdGlvKSwic3ciPT09cyYmKGUubGVmdD10LmxlZnQrKGkud2lkdGgtZS53aWR0aCksZS50b3A9bnVsbCksIm53Ij09PXMmJihlLnRvcD10LnRvcCsoaS5oZWlnaHQtZS5oZWlnaHQpLGUubGVmdD10LmxlZnQrKGkud2lkdGgtZS53aWR0aCkpLGV9LF9yZXNwZWN0U2l6ZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLl92Qm91bmRhcmllcyxpPXRoaXMuYXhpcyxzPXRoaXMuX2lzTnVtYmVyKGUud2lkdGgpJiZ0Lm1heFdpZHRoJiZ0Lm1heFdpZHRoPGUud2lkdGgsbj10aGlzLl9pc051bWJlcihlLmhlaWdodCkmJnQubWF4SGVpZ2h0JiZ0Lm1heEhlaWdodDxlLmhlaWdodCxhPXRoaXMuX2lzTnVtYmVyKGUud2lkdGgpJiZ0Lm1pbldpZHRoJiZ0Lm1pbldpZHRoPmUud2lkdGgsbz10aGlzLl9pc051bWJlcihlLmhlaWdodCkmJnQubWluSGVpZ2h0JiZ0Lm1pbkhlaWdodD5lLmhlaWdodCxyPXRoaXMub3JpZ2luYWxQb3NpdGlvbi5sZWZ0K3RoaXMub3JpZ2luYWxTaXplLndpZHRoLGg9dGhpcy5wb3NpdGlvbi50b3ArdGhpcy5zaXplLmhlaWdodCxsPS9zd3xud3x3Ly50ZXN0KGkpLHU9L253fG5lfG4vLnRlc3QoaSk7cmV0dXJuIGEmJihlLndpZHRoPXQubWluV2lkdGgpLG8mJihlLmhlaWdodD10Lm1pbkhlaWdodCkscyYmKGUud2lkdGg9dC5tYXhXaWR0aCksbiYmKGUuaGVpZ2h0PXQubWF4SGVpZ2h0KSxhJiZsJiYoZS5sZWZ0PXItdC5taW5XaWR0aCkscyYmbCYmKGUubGVmdD1yLXQubWF4V2lkdGgpLG8mJnUmJihlLnRvcD1oLXQubWluSGVpZ2h0KSxuJiZ1JiYoZS50b3A9aC10Lm1heEhlaWdodCksZS53aWR0aHx8ZS5oZWlnaHR8fGUubGVmdHx8IWUudG9wP2Uud2lkdGh8fGUuaGVpZ2h0fHxlLnRvcHx8IWUubGVmdHx8KGUubGVmdD1udWxsKTplLnRvcD1udWxsLGV9LF9nZXRQYWRkaW5nUGx1c0JvcmRlckRpbWVuc2lvbnM6ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsaT1bXSxzPVtlLmNzcygiYm9yZGVyVG9wV2lkdGgiKSxlLmNzcygiYm9yZGVyUmlnaHRXaWR0aCIpLGUuY3NzKCJib3JkZXJCb3R0b21XaWR0aCIpLGUuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKV0sbj1bZS5jc3MoInBhZGRpbmdUb3AiKSxlLmNzcygicGFkZGluZ1JpZ2h0IiksZS5jc3MoInBhZGRpbmdCb3R0b20iKSxlLmNzcygicGFkZGluZ0xlZnQiKV07ND50O3QrKylpW3RdPXBhcnNlSW50KHNbdF0sMTApfHwwLGlbdF0rPXBhcnNlSW50KG5bdF0sMTApfHwwO3JldHVybntoZWlnaHQ6aVswXStpWzJdLHdpZHRoOmlbMV0raVszXX19LF9wcm9wb3J0aW9uYWxseVJlc2l6ZTpmdW5jdGlvbigpe2lmKHRoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoKWZvcih2YXIgZSx0PTAsaT10aGlzLmhlbHBlcnx8dGhpcy5lbGVtZW50O3RoaXMuX3Byb3BvcnRpb25hbGx5UmVzaXplRWxlbWVudHMubGVuZ3RoPnQ7dCsrKWU9dGhpcy5fcHJvcG9ydGlvbmFsbHlSZXNpemVFbGVtZW50c1t0XSx0aGlzLm91dGVyRGltZW5zaW9uc3x8KHRoaXMub3V0ZXJEaW1lbnNpb25zPXRoaXMuX2dldFBhZGRpbmdQbHVzQm9yZGVyRGltZW5zaW9ucyhlKSksZS5jc3Moe2hlaWdodDppLmhlaWdodCgpLXRoaXMub3V0ZXJEaW1lbnNpb25zLmhlaWdodHx8MCx3aWR0aDppLndpZHRoKCktdGhpcy5vdXRlckRpbWVuc2lvbnMud2lkdGh8fDB9KX0sX3JlbmRlclByb3h5OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtZW50LGk9dGhpcy5vcHRpb25zO3RoaXMuZWxlbWVudE9mZnNldD10Lm9mZnNldCgpLHRoaXMuX2hlbHBlcj8odGhpcy5oZWxwZXI9dGhpcy5oZWxwZXJ8fGUoIjxkaXYgc3R5bGU9J292ZXJmbG93OmhpZGRlbjsnPjwvZGl2PiIpLHRoaXMuaGVscGVyLmFkZENsYXNzKHRoaXMuX2hlbHBlcikuY3NzKHt3aWR0aDp0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpLTEsaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLTEscG9zaXRpb246ImFic29sdXRlIixsZWZ0OnRoaXMuZWxlbWVudE9mZnNldC5sZWZ0KyJweCIsdG9wOnRoaXMuZWxlbWVudE9mZnNldC50b3ArInB4Iix6SW5kZXg6KytpLnpJbmRleH0pLHRoaXMuaGVscGVyLmFwcGVuZFRvKCJib2R5IikuZGlzYWJsZVNlbGVjdGlvbigpKTp0aGlzLmhlbHBlcj10aGlzLmVsZW1lbnR9LF9jaGFuZ2U6e2U6ZnVuY3Rpb24oZSx0KXtyZXR1cm57d2lkdGg6dGhpcy5vcmlnaW5hbFNpemUud2lkdGgrdH19LHc6ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLm9yaWdpbmFsU2l6ZSxzPXRoaXMub3JpZ2luYWxQb3NpdGlvbjtyZXR1cm57bGVmdDpzLmxlZnQrdCx3aWR0aDppLndpZHRoLXR9fSxuOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz10aGlzLm9yaWdpbmFsU2l6ZSxuPXRoaXMub3JpZ2luYWxQb3NpdGlvbjtyZXR1cm57dG9wOm4udG9wK2ksaGVpZ2h0OnMuaGVpZ2h0LWl9fSxzOmZ1bmN0aW9uKGUsdCxpKXtyZXR1cm57aGVpZ2h0OnRoaXMub3JpZ2luYWxTaXplLmhlaWdodCtpfX0sc2U6ZnVuY3Rpb24odCxpLHMpe3JldHVybiBlLmV4dGVuZCh0aGlzLl9jaGFuZ2Uucy5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLmUuYXBwbHkodGhpcyxbdCxpLHNdKSl9LHN3OmZ1bmN0aW9uKHQsaSxzKXtyZXR1cm4gZS5leHRlbmQodGhpcy5fY2hhbmdlLnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2NoYW5nZS53LmFwcGx5KHRoaXMsW3QsaSxzXSkpfSxuZTpmdW5jdGlvbih0LGkscyl7cmV0dXJuIGUuZXh0ZW5kKHRoaXMuX2NoYW5nZS5uLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLl9jaGFuZ2UuZS5hcHBseSh0aGlzLFt0LGksc10pKX0sbnc6ZnVuY3Rpb24odCxpLHMpe3JldHVybiBlLmV4dGVuZCh0aGlzLl9jaGFuZ2Uubi5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fY2hhbmdlLncuYXBwbHkodGhpcyxbdCxpLHNdKSl9fSxfcHJvcGFnYXRlOmZ1bmN0aW9uKHQsaSl7ZS51aS5wbHVnaW4uY2FsbCh0aGlzLHQsW2ksdGhpcy51aSgpXSksInJlc2l6ZSIhPT10JiZ0aGlzLl90cmlnZ2VyKHQsaSx0aGlzLnVpKCkpfSxwbHVnaW5zOnt9LHVpOmZ1bmN0aW9uKCl7cmV0dXJue29yaWdpbmFsRWxlbWVudDp0aGlzLm9yaWdpbmFsRWxlbWVudCxlbGVtZW50OnRoaXMuZWxlbWVudCxoZWxwZXI6dGhpcy5oZWxwZXIscG9zaXRpb246dGhpcy5wb3NpdGlvbixzaXplOnRoaXMuc2l6ZSxvcmlnaW5hbFNpemU6dGhpcy5vcmlnaW5hbFNpemUsb3JpZ2luYWxQb3NpdGlvbjp0aGlzLm9yaWdpbmFsUG9zaXRpb259fX0pLGUudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiYW5pbWF0ZSIse3N0b3A6ZnVuY3Rpb24odCl7dmFyIGk9ZSh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIikscz1pLm9wdGlvbnMsbj1pLl9wcm9wb3J0aW9uYWxseVJlc2l6ZUVsZW1lbnRzLGE9bi5sZW5ndGgmJi90ZXh0YXJlYS9pLnRlc3QoblswXS5ub2RlTmFtZSksbz1hJiZpLl9oYXNTY3JvbGwoblswXSwibGVmdCIpPzA6aS5zaXplRGlmZi5oZWlnaHQscj1hPzA6aS5zaXplRGlmZi53aWR0aCxoPXt3aWR0aDppLnNpemUud2lkdGgtcixoZWlnaHQ6aS5zaXplLmhlaWdodC1vfSxsPXBhcnNlSW50KGkuZWxlbWVudC5jc3MoImxlZnQiKSwxMCkrKGkucG9zaXRpb24ubGVmdC1pLm9yaWdpbmFsUG9zaXRpb24ubGVmdCl8fG51bGwsdT1wYXJzZUludChpLmVsZW1lbnQuY3NzKCJ0b3AiKSwxMCkrKGkucG9zaXRpb24udG9wLWkub3JpZ2luYWxQb3NpdGlvbi50b3ApfHxudWxsO2kuZWxlbWVudC5hbmltYXRlKGUuZXh0ZW5kKGgsdSYmbD97dG9wOnUsbGVmdDpsfTp7fSkse2R1cmF0aW9uOnMuYW5pbWF0ZUR1cmF0aW9uLGVhc2luZzpzLmFuaW1hdGVFYXNpbmcsc3RlcDpmdW5jdGlvbigpe3ZhciBzPXt3aWR0aDpwYXJzZUludChpLmVsZW1lbnQuY3NzKCJ3aWR0aCIpLDEwKSxoZWlnaHQ6cGFyc2VJbnQoaS5lbGVtZW50LmNzcygiaGVpZ2h0IiksMTApLHRvcDpwYXJzZUludChpLmVsZW1lbnQuY3NzKCJ0b3AiKSwxMCksbGVmdDpwYXJzZUludChpLmVsZW1lbnQuY3NzKCJsZWZ0IiksMTApfTtuJiZuLmxlbmd0aCYmZShuWzBdKS5jc3Moe3dpZHRoOnMud2lkdGgsaGVpZ2h0OnMuaGVpZ2h0fSksaS5fdXBkYXRlQ2FjaGUocyksaS5fcHJvcGFnYXRlKCJyZXNpemUiLHQpfX0pfX0pLGUudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiY29udGFpbm1lbnQiLHtzdGFydDpmdW5jdGlvbigpe3ZhciB0LGkscyxuLGEsbyxyLGg9ZSh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIiksbD1oLm9wdGlvbnMsdT1oLmVsZW1lbnQsZD1sLmNvbnRhaW5tZW50LGM9ZCBpbnN0YW5jZW9mIGU/ZC5nZXQoMCk6L3BhcmVudC8udGVzdChkKT91LnBhcmVudCgpLmdldCgwKTpkO2MmJihoLmNvbnRhaW5lckVsZW1lbnQ9ZShjKSwvZG9jdW1lbnQvLnRlc3QoZCl8fGQ9PT1kb2N1bWVudD8oaC5jb250YWluZXJPZmZzZXQ9e2xlZnQ6MCx0b3A6MH0saC5jb250YWluZXJQb3NpdGlvbj17bGVmdDowLHRvcDowfSxoLnBhcmVudERhdGE9e2VsZW1lbnQ6ZShkb2N1bWVudCksbGVmdDowLHRvcDowLHdpZHRoOmUoZG9jdW1lbnQpLndpZHRoKCksaGVpZ2h0OmUoZG9jdW1lbnQpLmhlaWdodCgpfHxkb2N1bWVudC5ib2R5LnBhcmVudE5vZGUuc2Nyb2xsSGVpZ2h0fSk6KHQ9ZShjKSxpPVtdLGUoWyJUb3AiLCJSaWdodCIsIkxlZnQiLCJCb3R0b20iXSkuZWFjaChmdW5jdGlvbihlLHMpe2lbZV09aC5fbnVtKHQuY3NzKCJwYWRkaW5nIitzKSl9KSxoLmNvbnRhaW5lck9mZnNldD10Lm9mZnNldCgpLGguY29udGFpbmVyUG9zaXRpb249dC5wb3NpdGlvbigpLGguY29udGFpbmVyU2l6ZT17aGVpZ2h0OnQuaW5uZXJIZWlnaHQoKS1pWzNdLHdpZHRoOnQuaW5uZXJXaWR0aCgpLWlbMV19LHM9aC5jb250YWluZXJPZmZzZXQsbj1oLmNvbnRhaW5lclNpemUuaGVpZ2h0LGE9aC5jb250YWluZXJTaXplLndpZHRoLG89aC5faGFzU2Nyb2xsKGMsImxlZnQiKT9jLnNjcm9sbFdpZHRoOmEscj1oLl9oYXNTY3JvbGwoYyk/Yy5zY3JvbGxIZWlnaHQ6bixoLnBhcmVudERhdGE9e2VsZW1lbnQ6YyxsZWZ0OnMubGVmdCx0b3A6cy50b3Asd2lkdGg6byxoZWlnaHQ6cn0pKX0scmVzaXplOmZ1bmN0aW9uKHQpe3ZhciBpLHMsbixhLG89ZSh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIikscj1vLm9wdGlvbnMsaD1vLmNvbnRhaW5lck9mZnNldCxsPW8ucG9zaXRpb24sdT1vLl9hc3BlY3RSYXRpb3x8dC5zaGlmdEtleSxkPXt0b3A6MCxsZWZ0OjB9LGM9by5jb250YWluZXJFbGVtZW50LHA9ITA7Y1swXSE9PWRvY3VtZW50JiYvc3RhdGljLy50ZXN0KGMuY3NzKCJwb3NpdGlvbiIpKSYmKGQ9aCksbC5sZWZ0PChvLl9oZWxwZXI/aC5sZWZ0OjApJiYoby5zaXplLndpZHRoPW8uc2l6ZS53aWR0aCsoby5faGVscGVyP28ucG9zaXRpb24ubGVmdC1oLmxlZnQ6by5wb3NpdGlvbi5sZWZ0LWQubGVmdCksdSYmKG8uc2l6ZS5oZWlnaHQ9by5zaXplLndpZHRoL28uYXNwZWN0UmF0aW8scD0hMSksby5wb3NpdGlvbi5sZWZ0PXIuaGVscGVyP2gubGVmdDowKSxsLnRvcDwoby5faGVscGVyP2gudG9wOjApJiYoby5zaXplLmhlaWdodD1vLnNpemUuaGVpZ2h0KyhvLl9oZWxwZXI/by5wb3NpdGlvbi50b3AtaC50b3A6by5wb3NpdGlvbi50b3ApLHUmJihvLnNpemUud2lkdGg9by5zaXplLmhlaWdodCpvLmFzcGVjdFJhdGlvLHA9ITEpLG8ucG9zaXRpb24udG9wPW8uX2hlbHBlcj9oLnRvcDowKSxuPW8uY29udGFpbmVyRWxlbWVudC5nZXQoMCk9PT1vLmVsZW1lbnQucGFyZW50KCkuZ2V0KDApLGE9L3JlbGF0aXZlfGFic29sdXRlLy50ZXN0KG8uY29udGFpbmVyRWxlbWVudC5jc3MoInBvc2l0aW9uIikpLG4mJmE/KG8ub2Zmc2V0LmxlZnQ9by5wYXJlbnREYXRhLmxlZnQrby5wb3NpdGlvbi5sZWZ0LG8ub2Zmc2V0LnRvcD1vLnBhcmVudERhdGEudG9wK28ucG9zaXRpb24udG9wKTooby5vZmZzZXQubGVmdD1vLmVsZW1lbnQub2Zmc2V0KCkubGVmdCxvLm9mZnNldC50b3A9by5lbGVtZW50Lm9mZnNldCgpLnRvcCksaT1NYXRoLmFicyhvLnNpemVEaWZmLndpZHRoKyhvLl9oZWxwZXI/by5vZmZzZXQubGVmdC1kLmxlZnQ6by5vZmZzZXQubGVmdC1oLmxlZnQpKSxzPU1hdGguYWJzKG8uc2l6ZURpZmYuaGVpZ2h0KyhvLl9oZWxwZXI/by5vZmZzZXQudG9wLWQudG9wOm8ub2Zmc2V0LnRvcC1oLnRvcCkpLGkrby5zaXplLndpZHRoPj1vLnBhcmVudERhdGEud2lkdGgmJihvLnNpemUud2lkdGg9by5wYXJlbnREYXRhLndpZHRoLWksdSYmKG8uc2l6ZS5oZWlnaHQ9by5zaXplLndpZHRoL28uYXNwZWN0UmF0aW8scD0hMSkpLHMrby5zaXplLmhlaWdodD49by5wYXJlbnREYXRhLmhlaWdodCYmKG8uc2l6ZS5oZWlnaHQ9by5wYXJlbnREYXRhLmhlaWdodC1zLHUmJihvLnNpemUud2lkdGg9by5zaXplLmhlaWdodCpvLmFzcGVjdFJhdGlvLHA9ITEpKSxwfHwoby5wb3NpdGlvbi5sZWZ0PW8ucHJldlBvc2l0aW9uLmxlZnQsby5wb3NpdGlvbi50b3A9by5wcmV2UG9zaXRpb24udG9wLG8uc2l6ZS53aWR0aD1vLnByZXZTaXplLndpZHRoLG8uc2l6ZS5oZWlnaHQ9by5wcmV2U2l6ZS5oZWlnaHQpfSxzdG9wOmZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIiksaT10Lm9wdGlvbnMscz10LmNvbnRhaW5lck9mZnNldCxuPXQuY29udGFpbmVyUG9zaXRpb24sYT10LmNvbnRhaW5lckVsZW1lbnQsbz1lKHQuaGVscGVyKSxyPW8ub2Zmc2V0KCksaD1vLm91dGVyV2lkdGgoKS10LnNpemVEaWZmLndpZHRoLGw9by5vdXRlckhlaWdodCgpLXQuc2l6ZURpZmYuaGVpZ2h0O3QuX2hlbHBlciYmIWkuYW5pbWF0ZSYmL3JlbGF0aXZlLy50ZXN0KGEuY3NzKCJwb3NpdGlvbiIpKSYmZSh0aGlzKS5jc3Moe2xlZnQ6ci5sZWZ0LW4ubGVmdC1zLmxlZnQsd2lkdGg6aCxoZWlnaHQ6bH0pLHQuX2hlbHBlciYmIWkuYW5pbWF0ZSYmL3N0YXRpYy8udGVzdChhLmNzcygicG9zaXRpb24iKSkmJmUodGhpcykuY3NzKHtsZWZ0OnIubGVmdC1uLmxlZnQtcy5sZWZ0LHdpZHRoOmgsaGVpZ2h0Omx9KX19KSxlLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImFsc29SZXNpemUiLHtzdGFydDpmdW5jdGlvbigpe3ZhciB0PWUodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLGk9dC5vcHRpb25zO2UoaS5hbHNvUmVzaXplKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTt0LmRhdGEoInVpLXJlc2l6YWJsZS1hbHNvcmVzaXplIix7d2lkdGg6cGFyc2VJbnQodC53aWR0aCgpLDEwKSxoZWlnaHQ6cGFyc2VJbnQodC5oZWlnaHQoKSwxMCksbGVmdDpwYXJzZUludCh0LmNzcygibGVmdCIpLDEwKSx0b3A6cGFyc2VJbnQodC5jc3MoInRvcCIpLDEwKX0pfSl9LHJlc2l6ZTpmdW5jdGlvbih0LGkpe3ZhciBzPWUodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLG49cy5vcHRpb25zLGE9cy5vcmlnaW5hbFNpemUsbz1zLm9yaWdpbmFsUG9zaXRpb24scj17aGVpZ2h0OnMuc2l6ZS5oZWlnaHQtYS5oZWlnaHR8fDAsd2lkdGg6cy5zaXplLndpZHRoLWEud2lkdGh8fDAsdG9wOnMucG9zaXRpb24udG9wLW8udG9wfHwwLGxlZnQ6cy5wb3NpdGlvbi5sZWZ0LW8ubGVmdHx8MH07ZShuLmFsc29SZXNpemUpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLHM9ZSh0aGlzKS5kYXRhKCJ1aS1yZXNpemFibGUtYWxzb3Jlc2l6ZSIpLG49e30sYT10LnBhcmVudHMoaS5vcmlnaW5hbEVsZW1lbnRbMF0pLmxlbmd0aD9bIndpZHRoIiwiaGVpZ2h0Il06WyJ3aWR0aCIsImhlaWdodCIsInRvcCIsImxlZnQiXTtlLmVhY2goYSxmdW5jdGlvbihlLHQpe3ZhciBpPShzW3RdfHwwKSsoclt0XXx8MCk7aSYmaT49MCYmKG5bdF09aXx8bnVsbCl9KSx0LmNzcyhuKX0pfSxzdG9wOmZ1bmN0aW9uKCl7ZSh0aGlzKS5yZW1vdmVEYXRhKCJyZXNpemFibGUtYWxzb3Jlc2l6ZSIpfX0pLGUudWkucGx1Z2luLmFkZCgicmVzaXphYmxlIiwiZ2hvc3QiLHtzdGFydDpmdW5jdGlvbigpe3ZhciB0PWUodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLGk9dC5vcHRpb25zLHM9dC5zaXplO3QuZ2hvc3Q9dC5vcmlnaW5hbEVsZW1lbnQuY2xvbmUoKSx0Lmdob3N0LmNzcyh7b3BhY2l0eTouMjUsZGlzcGxheToiYmxvY2siLHBvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OnMuaGVpZ2h0LHdpZHRoOnMud2lkdGgsbWFyZ2luOjAsbGVmdDowLHRvcDowfSkuYWRkQ2xhc3MoInVpLXJlc2l6YWJsZS1naG9zdCIpLmFkZENsYXNzKCJzdHJpbmciPT10eXBlb2YgaS5naG9zdD9pLmdob3N0OiIiKSx0Lmdob3N0LmFwcGVuZFRvKHQuaGVscGVyKX0scmVzaXplOmZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKS5yZXNpemFibGUoImluc3RhbmNlIik7dC5naG9zdCYmdC5naG9zdC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsaGVpZ2h0OnQuc2l6ZS5oZWlnaHQsd2lkdGg6dC5zaXplLndpZHRofSl9LHN0b3A6ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLnJlc2l6YWJsZSgiaW5zdGFuY2UiKTt0Lmdob3N0JiZ0LmhlbHBlciYmdC5oZWxwZXIuZ2V0KDApLnJlbW92ZUNoaWxkKHQuZ2hvc3QuZ2V0KDApKX19KSxlLnVpLnBsdWdpbi5hZGQoInJlc2l6YWJsZSIsImdyaWQiLHtyZXNpemU6ZnVuY3Rpb24oKXt2YXIgdCxpPWUodGhpcykucmVzaXphYmxlKCJpbnN0YW5jZSIpLHM9aS5vcHRpb25zLG49aS5zaXplLGE9aS5vcmlnaW5hbFNpemUsbz1pLm9yaWdpbmFsUG9zaXRpb24scj1pLmF4aXMsaD0ibnVtYmVyIj09dHlwZW9mIHMuZ3JpZD9bcy5ncmlkLHMuZ3JpZF06cy5ncmlkLGw9aFswXXx8MSx1PWhbMV18fDEsZD1NYXRoLnJvdW5kKChuLndpZHRoLWEud2lkdGgpL2wpKmwsYz1NYXRoLnJvdW5kKChuLmhlaWdodC1hLmhlaWdodCkvdSkqdSxwPWEud2lkdGgrZCxmPWEuaGVpZ2h0K2MsbT1zLm1heFdpZHRoJiZwPnMubWF4V2lkdGgsZz1zLm1heEhlaWdodCYmZj5zLm1heEhlaWdodCx2PXMubWluV2lkdGgmJnMubWluV2lkdGg+cCx5PXMubWluSGVpZ2h0JiZzLm1pbkhlaWdodD5mO3MuZ3JpZD1oLHYmJihwKz1sKSx5JiYoZis9dSksbSYmKHAtPWwpLGcmJihmLT11KSwvXihzZXxzfGUpJC8udGVzdChyKT8oaS5zaXplLndpZHRoPXAsaS5zaXplLmhlaWdodD1mKTovXihuZSkkLy50ZXN0KHIpPyhpLnNpemUud2lkdGg9cCxpLnNpemUuaGVpZ2h0PWYsaS5wb3NpdGlvbi50b3A9by50b3AtYyk6L14oc3cpJC8udGVzdChyKT8oaS5zaXplLndpZHRoPXAsaS5zaXplLmhlaWdodD1mLGkucG9zaXRpb24ubGVmdD1vLmxlZnQtZCk6KCgwPj1mLXV8fDA+PXAtbCkmJih0PWkuX2dldFBhZGRpbmdQbHVzQm9yZGVyRGltZW5zaW9ucyh0aGlzKSksZi11PjA/KGkuc2l6ZS5oZWlnaHQ9ZixpLnBvc2l0aW9uLnRvcD1vLnRvcC1jKTooZj11LXQuaGVpZ2h0LGkuc2l6ZS5oZWlnaHQ9ZixpLnBvc2l0aW9uLnRvcD1vLnRvcCthLmhlaWdodC1mKSxwLWw+MD8oaS5zaXplLndpZHRoPXAsaS5wb3NpdGlvbi5sZWZ0PW8ubGVmdC1kKToocD1sLXQud2lkdGgsaS5zaXplLndpZHRoPXAsaS5wb3NpdGlvbi5sZWZ0PW8ubGVmdCthLndpZHRoLXApKX19KSxlLnVpLnJlc2l6YWJsZSxlLndpZGdldCgidWkuc2VsZWN0YWJsZSIsZS51aS5tb3VzZSx7dmVyc2lvbjoiMS4xMS40IixvcHRpb25zOnthcHBlbmRUbzoiYm9keSIsYXV0b1JlZnJlc2g6ITAsZGlzdGFuY2U6MCxmaWx0ZXI6IioiLHRvbGVyYW5jZToidG91Y2giLHNlbGVjdGVkOm51bGwsc2VsZWN0aW5nOm51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGwsdW5zZWxlY3RlZDpudWxsLHVuc2VsZWN0aW5nOm51bGx9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgdCxpPXRoaXM7CnRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0YWJsZSIpLHRoaXMuZHJhZ2dlZD0hMSx0aGlzLnJlZnJlc2g9ZnVuY3Rpb24oKXt0PWUoaS5vcHRpb25zLmZpbHRlcixpLmVsZW1lbnRbMF0pLHQuYWRkQ2xhc3MoInVpLXNlbGVjdGVlIiksdC5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxpPXQub2Zmc2V0KCk7ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIse2VsZW1lbnQ6dGhpcywkZWxlbWVudDp0LGxlZnQ6aS5sZWZ0LHRvcDppLnRvcCxyaWdodDppLmxlZnQrdC5vdXRlcldpZHRoKCksYm90dG9tOmkudG9wK3Qub3V0ZXJIZWlnaHQoKSxzdGFydHNlbGVjdGVkOiExLHNlbGVjdGVkOnQuaGFzQ2xhc3MoInVpLXNlbGVjdGVkIiksc2VsZWN0aW5nOnQuaGFzQ2xhc3MoInVpLXNlbGVjdGluZyIpLHVuc2VsZWN0aW5nOnQuaGFzQ2xhc3MoInVpLXVuc2VsZWN0aW5nIil9KX0pfSx0aGlzLnJlZnJlc2goKSx0aGlzLnNlbGVjdGVlcz10LmFkZENsYXNzKCJ1aS1zZWxlY3RlZSIpLHRoaXMuX21vdXNlSW5pdCgpLHRoaXMuaGVscGVyPWUoIjxkaXYgY2xhc3M9J3VpLXNlbGVjdGFibGUtaGVscGVyJz48L2Rpdj4iKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLnNlbGVjdGVlcy5yZW1vdmVDbGFzcygidWktc2VsZWN0ZWUiKS5yZW1vdmVEYXRhKCJzZWxlY3RhYmxlLWl0ZW0iKSx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGFibGUgdWktc2VsZWN0YWJsZS1kaXNhYmxlZCIpLHRoaXMuX21vdXNlRGVzdHJveSgpfSxfbW91c2VTdGFydDpmdW5jdGlvbih0KXt2YXIgaT10aGlzLHM9dGhpcy5vcHRpb25zO3RoaXMub3Bvcz1bdC5wYWdlWCx0LnBhZ2VZXSx0aGlzLm9wdGlvbnMuZGlzYWJsZWR8fCh0aGlzLnNlbGVjdGVlcz1lKHMuZmlsdGVyLHRoaXMuZWxlbWVudFswXSksdGhpcy5fdHJpZ2dlcigic3RhcnQiLHQpLGUocy5hcHBlbmRUbykuYXBwZW5kKHRoaXMuaGVscGVyKSx0aGlzLmhlbHBlci5jc3Moe2xlZnQ6dC5wYWdlWCx0b3A6dC5wYWdlWSx3aWR0aDowLGhlaWdodDowfSkscy5hdXRvUmVmcmVzaCYmdGhpcy5yZWZyZXNoKCksdGhpcy5zZWxlY3RlZXMuZmlsdGVyKCIudWktc2VsZWN0ZWQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHM9ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO3Muc3RhcnRzZWxlY3RlZD0hMCx0Lm1ldGFLZXl8fHQuY3RybEtleXx8KHMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGVkIikscy5zZWxlY3RlZD0hMSxzLiRlbGVtZW50LmFkZENsYXNzKCJ1aS11bnNlbGVjdGluZyIpLHMudW5zZWxlY3Rpbmc9ITAsaS5fdHJpZ2dlcigidW5zZWxlY3RpbmciLHQse3Vuc2VsZWN0aW5nOnMuZWxlbWVudH0pKX0pLGUodC50YXJnZXQpLnBhcmVudHMoKS5hZGRCYWNrKCkuZWFjaChmdW5jdGlvbigpe3ZhciBzLG49ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO3JldHVybiBuPyhzPSF0Lm1ldGFLZXkmJiF0LmN0cmxLZXl8fCFuLiRlbGVtZW50Lmhhc0NsYXNzKCJ1aS1zZWxlY3RlZCIpLG4uJGVsZW1lbnQucmVtb3ZlQ2xhc3Mocz8idWktdW5zZWxlY3RpbmciOiJ1aS1zZWxlY3RlZCIpLmFkZENsYXNzKHM/InVpLXNlbGVjdGluZyI6InVpLXVuc2VsZWN0aW5nIiksbi51bnNlbGVjdGluZz0hcyxuLnNlbGVjdGluZz1zLG4uc2VsZWN0ZWQ9cyxzP2kuX3RyaWdnZXIoInNlbGVjdGluZyIsdCx7c2VsZWN0aW5nOm4uZWxlbWVudH0pOmkuX3RyaWdnZXIoInVuc2VsZWN0aW5nIix0LHt1bnNlbGVjdGluZzpuLmVsZW1lbnR9KSwhMSk6dm9pZCAwfSkpfSxfbW91c2VEcmFnOmZ1bmN0aW9uKHQpe2lmKHRoaXMuZHJhZ2dlZD0hMCwhdGhpcy5vcHRpb25zLmRpc2FibGVkKXt2YXIgaSxzPXRoaXMsbj10aGlzLm9wdGlvbnMsYT10aGlzLm9wb3NbMF0sbz10aGlzLm9wb3NbMV0scj10LnBhZ2VYLGg9dC5wYWdlWTtyZXR1cm4gYT5yJiYoaT1yLHI9YSxhPWkpLG8+aCYmKGk9aCxoPW8sbz1pKSx0aGlzLmhlbHBlci5jc3Moe2xlZnQ6YSx0b3A6byx3aWR0aDpyLWEsaGVpZ2h0Omgtb30pLHRoaXMuc2VsZWN0ZWVzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT1lLmRhdGEodGhpcywic2VsZWN0YWJsZS1pdGVtIiksbD0hMTtpJiZpLmVsZW1lbnQhPT1zLmVsZW1lbnRbMF0mJigidG91Y2giPT09bi50b2xlcmFuY2U/bD0hKGkubGVmdD5yfHxhPmkucmlnaHR8fGkudG9wPmh8fG8+aS5ib3R0b20pOiJmaXQiPT09bi50b2xlcmFuY2UmJihsPWkubGVmdD5hJiZyPmkucmlnaHQmJmkudG9wPm8mJmg+aS5ib3R0b20pLGw/KGkuc2VsZWN0ZWQmJihpLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpLGkuc2VsZWN0ZWQ9ITEpLGkudW5zZWxlY3RpbmcmJihpLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS11bnNlbGVjdGluZyIpLGkudW5zZWxlY3Rpbmc9ITEpLGkuc2VsZWN0aW5nfHwoaS4kZWxlbWVudC5hZGRDbGFzcygidWktc2VsZWN0aW5nIiksaS5zZWxlY3Rpbmc9ITAscy5fdHJpZ2dlcigic2VsZWN0aW5nIix0LHtzZWxlY3Rpbmc6aS5lbGVtZW50fSkpKTooaS5zZWxlY3RpbmcmJigodC5tZXRhS2V5fHx0LmN0cmxLZXkpJiZpLnN0YXJ0c2VsZWN0ZWQ/KGkuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpLGkuc2VsZWN0aW5nPSExLGkuJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXNlbGVjdGVkIiksaS5zZWxlY3RlZD0hMCk6KGkuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXNlbGVjdGluZyIpLGkuc2VsZWN0aW5nPSExLGkuc3RhcnRzZWxlY3RlZCYmKGkuJGVsZW1lbnQuYWRkQ2xhc3MoInVpLXVuc2VsZWN0aW5nIiksaS51bnNlbGVjdGluZz0hMCkscy5fdHJpZ2dlcigidW5zZWxlY3RpbmciLHQse3Vuc2VsZWN0aW5nOmkuZWxlbWVudH0pKSksaS5zZWxlY3RlZCYmKHQubWV0YUtleXx8dC5jdHJsS2V5fHxpLnN0YXJ0c2VsZWN0ZWR8fChpLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RlZCIpLGkuc2VsZWN0ZWQ9ITEsaS4kZWxlbWVudC5hZGRDbGFzcygidWktdW5zZWxlY3RpbmciKSxpLnVuc2VsZWN0aW5nPSEwLHMuX3RyaWdnZXIoInVuc2VsZWN0aW5nIix0LHt1bnNlbGVjdGluZzppLmVsZW1lbnR9KSkpKSl9KSwhMX19LF9tb3VzZVN0b3A6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcztyZXR1cm4gdGhpcy5kcmFnZ2VkPSExLGUoIi51aS11bnNlbGVjdGluZyIsdGhpcy5lbGVtZW50WzBdKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHM9ZS5kYXRhKHRoaXMsInNlbGVjdGFibGUtaXRlbSIpO3MuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXVuc2VsZWN0aW5nIikscy51bnNlbGVjdGluZz0hMSxzLnN0YXJ0c2VsZWN0ZWQ9ITEsaS5fdHJpZ2dlcigidW5zZWxlY3RlZCIsdCx7dW5zZWxlY3RlZDpzLmVsZW1lbnR9KX0pLGUoIi51aS1zZWxlY3RpbmciLHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe3ZhciBzPWUuZGF0YSh0aGlzLCJzZWxlY3RhYmxlLWl0ZW0iKTtzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zZWxlY3RpbmciKS5hZGRDbGFzcygidWktc2VsZWN0ZWQiKSxzLnNlbGVjdGluZz0hMSxzLnNlbGVjdGVkPSEwLHMuc3RhcnRzZWxlY3RlZD0hMCxpLl90cmlnZ2VyKCJzZWxlY3RlZCIsdCx7c2VsZWN0ZWQ6cy5lbGVtZW50fSl9KSx0aGlzLl90cmlnZ2VyKCJzdG9wIix0KSx0aGlzLmhlbHBlci5yZW1vdmUoKSwhMX19KSxlLndpZGdldCgidWkuc29ydGFibGUiLGUudWkubW91c2Use3ZlcnNpb246IjEuMTEuNCIsd2lkZ2V0RXZlbnRQcmVmaXg6InNvcnQiLHJlYWR5OiExLG9wdGlvbnM6e2FwcGVuZFRvOiJwYXJlbnQiLGF4aXM6ITEsY29ubmVjdFdpdGg6ITEsY29udGFpbm1lbnQ6ITEsY3Vyc29yOiJhdXRvIixjdXJzb3JBdDohMSxkcm9wT25FbXB0eTohMCxmb3JjZVBsYWNlaG9sZGVyU2l6ZTohMSxmb3JjZUhlbHBlclNpemU6ITEsZ3JpZDohMSxoYW5kbGU6ITEsaGVscGVyOiJvcmlnaW5hbCIsaXRlbXM6Ij4gKiIsb3BhY2l0eTohMSxwbGFjZWhvbGRlcjohMSxyZXZlcnQ6ITEsc2Nyb2xsOiEwLHNjcm9sbFNlbnNpdGl2aXR5OjIwLHNjcm9sbFNwZWVkOjIwLHNjb3BlOiJkZWZhdWx0Iix0b2xlcmFuY2U6ImludGVyc2VjdCIsekluZGV4OjFlMyxhY3RpdmF0ZTpudWxsLGJlZm9yZVN0b3A6bnVsbCxjaGFuZ2U6bnVsbCxkZWFjdGl2YXRlOm51bGwsb3V0Om51bGwsb3ZlcjpudWxsLHJlY2VpdmU6bnVsbCxyZW1vdmU6bnVsbCxzb3J0Om51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGwsdXBkYXRlOm51bGx9LF9pc092ZXJBeGlzOmZ1bmN0aW9uKGUsdCxpKXtyZXR1cm4gZT49dCYmdCtpPmV9LF9pc0Zsb2F0aW5nOmZ1bmN0aW9uKGUpe3JldHVybi9sZWZ0fHJpZ2h0Ly50ZXN0KGUuY3NzKCJmbG9hdCIpKXx8L2lubGluZXx0YWJsZS1jZWxsLy50ZXN0KGUuY3NzKCJkaXNwbGF5IikpfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5jb250YWluZXJDYWNoZT17fSx0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNvcnRhYmxlIiksdGhpcy5yZWZyZXNoKCksdGhpcy5vZmZzZXQ9dGhpcy5lbGVtZW50Lm9mZnNldCgpLHRoaXMuX21vdXNlSW5pdCgpLHRoaXMuX3NldEhhbmRsZUNsYXNzTmFtZSgpLHRoaXMucmVhZHk9ITB9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXt0aGlzLl9zdXBlcihlLHQpLCJoYW5kbGUiPT09ZSYmdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCl9LF9zZXRIYW5kbGVDbGFzc05hbWU6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuZmluZCgiLnVpLXNvcnRhYmxlLWhhbmRsZSIpLnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZS1oYW5kbGUiKSxlLmVhY2godGhpcy5pdGVtcyxmdW5jdGlvbigpeyh0aGlzLmluc3RhbmNlLm9wdGlvbnMuaGFuZGxlP3RoaXMuaXRlbS5maW5kKHRoaXMuaW5zdGFuY2Uub3B0aW9ucy5oYW5kbGUpOnRoaXMuaXRlbSkuYWRkQ2xhc3MoInVpLXNvcnRhYmxlLWhhbmRsZSIpfSl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zb3J0YWJsZSB1aS1zb3J0YWJsZS1kaXNhYmxlZCIpLmZpbmQoIi51aS1zb3J0YWJsZS1oYW5kbGUiKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGFuZGxlIiksdGhpcy5fbW91c2VEZXN0cm95KCk7Zm9yKHZhciBlPXRoaXMuaXRlbXMubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy5pdGVtc1tlXS5pdGVtLnJlbW92ZURhdGEodGhpcy53aWRnZXROYW1lKyItaXRlbSIpO3JldHVybiB0aGlzfSxfbW91c2VDYXB0dXJlOmZ1bmN0aW9uKHQsaSl7dmFyIHM9bnVsbCxuPSExLGE9dGhpcztyZXR1cm4gdGhpcy5yZXZlcnRpbmc/ITE6dGhpcy5vcHRpb25zLmRpc2FibGVkfHwic3RhdGljIj09PXRoaXMub3B0aW9ucy50eXBlPyExOih0aGlzLl9yZWZyZXNoSXRlbXModCksZSh0LnRhcmdldCkucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXtyZXR1cm4gZS5kYXRhKHRoaXMsYS53aWRnZXROYW1lKyItaXRlbSIpPT09YT8ocz1lKHRoaXMpLCExKTp2b2lkIDB9KSxlLmRhdGEodC50YXJnZXQsYS53aWRnZXROYW1lKyItaXRlbSIpPT09YSYmKHM9ZSh0LnRhcmdldCkpLHM/IXRoaXMub3B0aW9ucy5oYW5kbGV8fGl8fChlKHRoaXMub3B0aW9ucy5oYW5kbGUscykuZmluZCgiKiIpLmFkZEJhY2soKS5lYWNoKGZ1bmN0aW9uKCl7dGhpcz09PXQudGFyZ2V0JiYobj0hMCl9KSxuKT8odGhpcy5jdXJyZW50SXRlbT1zLHRoaXMuX3JlbW92ZUN1cnJlbnRzRnJvbUl0ZW1zKCksITApOiExOiExKX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24odCxpLHMpe3ZhciBuLGEsbz10aGlzLm9wdGlvbnM7aWYodGhpcy5jdXJyZW50Q29udGFpbmVyPXRoaXMsdGhpcy5yZWZyZXNoUG9zaXRpb25zKCksdGhpcy5oZWxwZXI9dGhpcy5fY3JlYXRlSGVscGVyKHQpLHRoaXMuX2NhY2hlSGVscGVyUHJvcG9ydGlvbnMoKSx0aGlzLl9jYWNoZU1hcmdpbnMoKSx0aGlzLnNjcm9sbFBhcmVudD10aGlzLmhlbHBlci5zY3JvbGxQYXJlbnQoKSx0aGlzLm9mZnNldD10aGlzLmN1cnJlbnRJdGVtLm9mZnNldCgpLHRoaXMub2Zmc2V0PXt0b3A6dGhpcy5vZmZzZXQudG9wLXRoaXMubWFyZ2lucy50b3AsbGVmdDp0aGlzLm9mZnNldC5sZWZ0LXRoaXMubWFyZ2lucy5sZWZ0fSxlLmV4dGVuZCh0aGlzLm9mZnNldCx7Y2xpY2s6e2xlZnQ6dC5wYWdlWC10aGlzLm9mZnNldC5sZWZ0LHRvcDp0LnBhZ2VZLXRoaXMub2Zmc2V0LnRvcH0scGFyZW50OnRoaXMuX2dldFBhcmVudE9mZnNldCgpLHJlbGF0aXZlOnRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCl9KSx0aGlzLmhlbHBlci5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKSx0aGlzLmNzc1Bvc2l0aW9uPXRoaXMuaGVscGVyLmNzcygicG9zaXRpb24iKSx0aGlzLm9yaWdpbmFsUG9zaXRpb249dGhpcy5fZ2VuZXJhdGVQb3NpdGlvbih0KSx0aGlzLm9yaWdpbmFsUGFnZVg9dC5wYWdlWCx0aGlzLm9yaWdpbmFsUGFnZVk9dC5wYWdlWSxvLmN1cnNvckF0JiZ0aGlzLl9hZGp1c3RPZmZzZXRGcm9tSGVscGVyKG8uY3Vyc29yQXQpLHRoaXMuZG9tUG9zaXRpb249e3ByZXY6dGhpcy5jdXJyZW50SXRlbS5wcmV2KClbMF0scGFyZW50OnRoaXMuY3VycmVudEl0ZW0ucGFyZW50KClbMF19LHRoaXMuaGVscGVyWzBdIT09dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5jdXJyZW50SXRlbS5oaWRlKCksdGhpcy5fY3JlYXRlUGxhY2Vob2xkZXIoKSxvLmNvbnRhaW5tZW50JiZ0aGlzLl9zZXRDb250YWlubWVudCgpLG8uY3Vyc29yJiYiYXV0byIhPT1vLmN1cnNvciYmKGE9dGhpcy5kb2N1bWVudC5maW5kKCJib2R5IiksdGhpcy5zdG9yZWRDdXJzb3I9YS5jc3MoImN1cnNvciIpLGEuY3NzKCJjdXJzb3IiLG8uY3Vyc29yKSx0aGlzLnN0b3JlZFN0eWxlc2hlZXQ9ZSgiPHN0eWxlPip7IGN1cnNvcjogIitvLmN1cnNvcisiICFpbXBvcnRhbnQ7IH08L3N0eWxlPiIpLmFwcGVuZFRvKGEpKSxvLm9wYWNpdHkmJih0aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiKSYmKHRoaXMuX3N0b3JlZE9wYWNpdHk9dGhpcy5oZWxwZXIuY3NzKCJvcGFjaXR5IikpLHRoaXMuaGVscGVyLmNzcygib3BhY2l0eSIsby5vcGFjaXR5KSksby56SW5kZXgmJih0aGlzLmhlbHBlci5jc3MoInpJbmRleCIpJiYodGhpcy5fc3RvcmVkWkluZGV4PXRoaXMuaGVscGVyLmNzcygiekluZGV4IikpLHRoaXMuaGVscGVyLmNzcygiekluZGV4IixvLnpJbmRleCkpLHRoaXMuc2Nyb2xsUGFyZW50WzBdIT09dGhpcy5kb2N1bWVudFswXSYmIkhUTUwiIT09dGhpcy5zY3JvbGxQYXJlbnRbMF0udGFnTmFtZSYmKHRoaXMub3ZlcmZsb3dPZmZzZXQ9dGhpcy5zY3JvbGxQYXJlbnQub2Zmc2V0KCkpLHRoaXMuX3RyaWdnZXIoInN0YXJ0Iix0LHRoaXMuX3VpSGFzaCgpKSx0aGlzLl9wcmVzZXJ2ZUhlbHBlclByb3BvcnRpb25zfHx0aGlzLl9jYWNoZUhlbHBlclByb3BvcnRpb25zKCksIXMpZm9yKG49dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO24+PTA7bi0tKXRoaXMuY29udGFpbmVyc1tuXS5fdHJpZ2dlcigiYWN0aXZhdGUiLHQsdGhpcy5fdWlIYXNoKHRoaXMpKTtyZXR1cm4gZS51aS5kZG1hbmFnZXImJihlLnVpLmRkbWFuYWdlci5jdXJyZW50PXRoaXMpLGUudWkuZGRtYW5hZ2VyJiYhby5kcm9wQmVoYXZpb3VyJiZlLnVpLmRkbWFuYWdlci5wcmVwYXJlT2Zmc2V0cyh0aGlzLHQpLHRoaXMuZHJhZ2dpbmc9ITAsdGhpcy5oZWxwZXIuYWRkQ2xhc3MoInVpLXNvcnRhYmxlLWhlbHBlciIpLHRoaXMuX21vdXNlRHJhZyh0KSwhMH0sX21vdXNlRHJhZzpmdW5jdGlvbih0KXt2YXIgaSxzLG4sYSxvPXRoaXMub3B0aW9ucyxyPSExO2Zvcih0aGlzLnBvc2l0aW9uPXRoaXMuX2dlbmVyYXRlUG9zaXRpb24odCksdGhpcy5wb3NpdGlvbkFicz10aGlzLl9jb252ZXJ0UG9zaXRpb25UbygiYWJzb2x1dGUiKSx0aGlzLmxhc3RQb3NpdGlvbkFic3x8KHRoaXMubGFzdFBvc2l0aW9uQWJzPXRoaXMucG9zaXRpb25BYnMpLHRoaXMub3B0aW9ucy5zY3JvbGwmJih0aGlzLnNjcm9sbFBhcmVudFswXSE9PXRoaXMuZG9jdW1lbnRbMF0mJiJIVE1MIiE9PXRoaXMuc2Nyb2xsUGFyZW50WzBdLnRhZ05hbWU/KHRoaXMub3ZlcmZsb3dPZmZzZXQudG9wK3RoaXMuc2Nyb2xsUGFyZW50WzBdLm9mZnNldEhlaWdodC10LnBhZ2VZPG8uc2Nyb2xsU2Vuc2l0aXZpdHk/dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPXI9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wK28uc2Nyb2xsU3BlZWQ6dC5wYWdlWS10aGlzLm92ZXJmbG93T2Zmc2V0LnRvcDxvLnNjcm9sbFNlbnNpdGl2aXR5JiYodGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wPXI9dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsVG9wLW8uc2Nyb2xsU3BlZWQpLHRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdCt0aGlzLnNjcm9sbFBhcmVudFswXS5vZmZzZXRXaWR0aC10LnBhZ2VYPG8uc2Nyb2xsU2Vuc2l0aXZpdHk/dGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1yPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQrby5zY3JvbGxTcGVlZDp0LnBhZ2VYLXRoaXMub3ZlcmZsb3dPZmZzZXQubGVmdDxvLnNjcm9sbFNlbnNpdGl2aXR5JiYodGhpcy5zY3JvbGxQYXJlbnRbMF0uc2Nyb2xsTGVmdD1yPXRoaXMuc2Nyb2xsUGFyZW50WzBdLnNjcm9sbExlZnQtby5zY3JvbGxTcGVlZCkpOih0LnBhZ2VZLXRoaXMuZG9jdW1lbnQuc2Nyb2xsVG9wKCk8by5zY3JvbGxTZW5zaXRpdml0eT9yPXRoaXMuZG9jdW1lbnQuc2Nyb2xsVG9wKHRoaXMuZG9jdW1lbnQuc2Nyb2xsVG9wKCktby5zY3JvbGxTcGVlZCk6dGhpcy53aW5kb3cuaGVpZ2h0KCktKHQucGFnZVktdGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKSk8by5zY3JvbGxTZW5zaXRpdml0eSYmKHI9dGhpcy5kb2N1bWVudC5zY3JvbGxUb3AodGhpcy5kb2N1bWVudC5zY3JvbGxUb3AoKStvLnNjcm9sbFNwZWVkKSksdC5wYWdlWC10aGlzLmRvY3VtZW50LnNjcm9sbExlZnQoKTxvLnNjcm9sbFNlbnNpdGl2aXR5P3I9dGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KHRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCgpLW8uc2Nyb2xsU3BlZWQpOnRoaXMud2luZG93LndpZHRoKCktKHQucGFnZVgtdGhpcy5kb2N1bWVudC5zY3JvbGxMZWZ0KCkpPG8uc2Nyb2xsU2Vuc2l0aXZpdHkmJihyPXRoaXMuZG9jdW1lbnQuc2Nyb2xsTGVmdCh0aGlzLmRvY3VtZW50LnNjcm9sbExlZnQoKStvLnNjcm9sbFNwZWVkKSkpLHIhPT0hMSYmZS51aS5kZG1hbmFnZXImJiFvLmRyb3BCZWhhdmlvdXImJmUudWkuZGRtYW5hZ2VyLnByZXBhcmVPZmZzZXRzKHRoaXMsdCkpLHRoaXMucG9zaXRpb25BYnM9dGhpcy5fY29udmVydFBvc2l0aW9uVG8oImFic29sdXRlIiksdGhpcy5vcHRpb25zLmF4aXMmJiJ5Ij09PXRoaXMub3B0aW9ucy5heGlzfHwodGhpcy5oZWxwZXJbMF0uc3R5bGUubGVmdD10aGlzLnBvc2l0aW9uLmxlZnQrInB4IiksdGhpcy5vcHRpb25zLmF4aXMmJiJ4Ij09PXRoaXMub3B0aW9ucy5heGlzfHwodGhpcy5oZWxwZXJbMF0uc3R5bGUudG9wPXRoaXMucG9zaXRpb24udG9wKyJweCIpLGk9dGhpcy5pdGVtcy5sZW5ndGgtMTtpPj0wO2ktLSlpZihzPXRoaXMuaXRlbXNbaV0sbj1zLml0ZW1bMF0sYT10aGlzLl9pbnRlcnNlY3RzV2l0aFBvaW50ZXIocyksYSYmcy5pbnN0YW5jZT09PXRoaXMuY3VycmVudENvbnRhaW5lciYmbiE9PXRoaXMuY3VycmVudEl0ZW1bMF0mJnRoaXMucGxhY2Vob2xkZXJbMT09PWE/Im5leHQiOiJwcmV2Il0oKVswXSE9PW4mJiFlLmNvbnRhaW5zKHRoaXMucGxhY2Vob2xkZXJbMF0sbikmJigic2VtaS1keW5hbWljIj09PXRoaXMub3B0aW9ucy50eXBlPyFlLmNvbnRhaW5zKHRoaXMuZWxlbWVudFswXSxuKTohMCkpe2lmKHRoaXMuZGlyZWN0aW9uPTE9PT1hPyJkb3duIjoidXAiLCJwb2ludGVyIiE9PXRoaXMub3B0aW9ucy50b2xlcmFuY2UmJiF0aGlzLl9pbnRlcnNlY3RzV2l0aFNpZGVzKHMpKWJyZWFrO3RoaXMuX3JlYXJyYW5nZSh0LHMpLHRoaXMuX3RyaWdnZXIoImNoYW5nZSIsdCx0aGlzLl91aUhhc2goKSk7YnJlYWt9cmV0dXJuIHRoaXMuX2NvbnRhY3RDb250YWluZXJzKHQpLGUudWkuZGRtYW5hZ2VyJiZlLnVpLmRkbWFuYWdlci5kcmFnKHRoaXMsdCksdGhpcy5fdHJpZ2dlcigic29ydCIsdCx0aGlzLl91aUhhc2goKSksdGhpcy5sYXN0UG9zaXRpb25BYnM9dGhpcy5wb3NpdGlvbkFicywhMX0sX21vdXNlU3RvcDpmdW5jdGlvbih0LGkpe2lmKHQpe2lmKGUudWkuZGRtYW5hZ2VyJiYhdGhpcy5vcHRpb25zLmRyb3BCZWhhdmlvdXImJmUudWkuZGRtYW5hZ2VyLmRyb3AodGhpcyx0KSx0aGlzLm9wdGlvbnMucmV2ZXJ0KXt2YXIgcz10aGlzLG49dGhpcy5wbGFjZWhvbGRlci5vZmZzZXQoKSxhPXRoaXMub3B0aW9ucy5heGlzLG89e307YSYmIngiIT09YXx8KG8ubGVmdD1uLmxlZnQtdGhpcy5vZmZzZXQucGFyZW50LmxlZnQtdGhpcy5tYXJnaW5zLmxlZnQrKHRoaXMub2Zmc2V0UGFyZW50WzBdPT09dGhpcy5kb2N1bWVudFswXS5ib2R5PzA6dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsTGVmdCkpLGEmJiJ5IiE9PWF8fChvLnRvcD1uLnRvcC10aGlzLm9mZnNldC5wYXJlbnQudG9wLXRoaXMubWFyZ2lucy50b3ArKHRoaXMub2Zmc2V0UGFyZW50WzBdPT09dGhpcy5kb2N1bWVudFswXS5ib2R5PzA6dGhpcy5vZmZzZXRQYXJlbnRbMF0uc2Nyb2xsVG9wKSksdGhpcy5yZXZlcnRpbmc9ITAsZSh0aGlzLmhlbHBlcikuYW5pbWF0ZShvLHBhcnNlSW50KHRoaXMub3B0aW9ucy5yZXZlcnQsMTApfHw1MDAsZnVuY3Rpb24oKXtzLl9jbGVhcih0KX0pfWVsc2UgdGhpcy5fY2xlYXIodCxpKTtyZXR1cm4hMX19LGNhbmNlbDpmdW5jdGlvbigpe2lmKHRoaXMuZHJhZ2dpbmcpe3RoaXMuX21vdXNlVXAoe3RhcmdldDpudWxsfSksIm9yaWdpbmFsIj09PXRoaXMub3B0aW9ucy5oZWxwZXI/dGhpcy5jdXJyZW50SXRlbS5jc3ModGhpcy5fc3RvcmVkQ1NTKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIik6dGhpcy5jdXJyZW50SXRlbS5zaG93KCk7Zm9yKHZhciB0PXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTt0Pj0wO3QtLSl0aGlzLmNvbnRhaW5lcnNbdF0uX3RyaWdnZXIoImRlYWN0aXZhdGUiLG51bGwsdGhpcy5fdWlIYXNoKHRoaXMpKSx0aGlzLmNvbnRhaW5lcnNbdF0uY29udGFpbmVyQ2FjaGUub3ZlciYmKHRoaXMuY29udGFpbmVyc1t0XS5fdHJpZ2dlcigib3V0IixudWxsLHRoaXMuX3VpSGFzaCh0aGlzKSksdGhpcy5jb250YWluZXJzW3RdLmNvbnRhaW5lckNhY2hlLm92ZXI9MCl9cmV0dXJuIHRoaXMucGxhY2Vob2xkZXImJih0aGlzLnBsYWNlaG9sZGVyWzBdLnBhcmVudE5vZGUmJnRoaXMucGxhY2Vob2xkZXJbMF0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKSwib3JpZ2luYWwiIT09dGhpcy5vcHRpb25zLmhlbHBlciYmdGhpcy5oZWxwZXImJnRoaXMuaGVscGVyWzBdLnBhcmVudE5vZGUmJnRoaXMuaGVscGVyLnJlbW92ZSgpLGUuZXh0ZW5kKHRoaXMse2hlbHBlcjpudWxsLGRyYWdnaW5nOiExLHJldmVydGluZzohMSxfbm9GaW5hbFNvcnQ6bnVsbH0pLHRoaXMuZG9tUG9zaXRpb24ucHJldj9lKHRoaXMuZG9tUG9zaXRpb24ucHJldikuYWZ0ZXIodGhpcy5jdXJyZW50SXRlbSk6ZSh0aGlzLmRvbVBvc2l0aW9uLnBhcmVudCkucHJlcGVuZCh0aGlzLmN1cnJlbnRJdGVtKSksdGhpc30sc2VyaWFsaXplOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX2dldEl0ZW1zQXNqUXVlcnkodCYmdC5jb25uZWN0ZWQpLHM9W107cmV0dXJuIHQ9dHx8e30sZShpKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9KGUodC5pdGVtfHx0aGlzKS5hdHRyKHQuYXR0cmlidXRlfHwiaWQiKXx8IiIpLm1hdGNoKHQuZXhwcmVzc2lvbnx8LyguKylbXC09X10oLispLyk7aSYmcy5wdXNoKCh0LmtleXx8aVsxXSsiW10iKSsiPSIrKHQua2V5JiZ0LmV4cHJlc3Npb24/aVsxXTppWzJdKSl9KSwhcy5sZW5ndGgmJnQua2V5JiZzLnB1c2godC5rZXkrIj0iKSxzLmpvaW4oIiYiKX0sdG9BcnJheTpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9nZXRJdGVtc0FzalF1ZXJ5KHQmJnQuY29ubmVjdGVkKSxzPVtdO3JldHVybiB0PXR8fHt9LGkuZWFjaChmdW5jdGlvbigpe3MucHVzaChlKHQuaXRlbXx8dGhpcykuYXR0cih0LmF0dHJpYnV0ZXx8ImlkIil8fCIiKX0pLHN9LF9pbnRlcnNlY3RzV2l0aDpmdW5jdGlvbihlKXt2YXIgdD10aGlzLnBvc2l0aW9uQWJzLmxlZnQsaT10K3RoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgscz10aGlzLnBvc2l0aW9uQWJzLnRvcCxuPXMrdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy5oZWlnaHQsYT1lLmxlZnQsbz1hK2Uud2lkdGgscj1lLnRvcCxoPXIrZS5oZWlnaHQsbD10aGlzLm9mZnNldC5jbGljay50b3AsdT10aGlzLm9mZnNldC5jbGljay5sZWZ0LGQ9IngiPT09dGhpcy5vcHRpb25zLmF4aXN8fHMrbD5yJiZoPnMrbCxjPSJ5Ij09PXRoaXMub3B0aW9ucy5heGlzfHx0K3U+YSYmbz50K3UscD1kJiZjO3JldHVybiJwb2ludGVyIj09PXRoaXMub3B0aW9ucy50b2xlcmFuY2V8fHRoaXMub3B0aW9ucy5mb3JjZVBvaW50ZXJGb3JDb250YWluZXJzfHwicG9pbnRlciIhPT10aGlzLm9wdGlvbnMudG9sZXJhbmNlJiZ0aGlzLmhlbHBlclByb3BvcnRpb25zW3RoaXMuZmxvYXRpbmc/IndpZHRoIjoiaGVpZ2h0Il0+ZVt0aGlzLmZsb2F0aW5nPyJ3aWR0aCI6ImhlaWdodCJdP3A6dCt0aGlzLmhlbHBlclByb3BvcnRpb25zLndpZHRoLzI+YSYmbz5pLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgvMiYmcyt0aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8yPnImJmg+bi10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC8yfSxfaW50ZXJzZWN0c1dpdGhQb2ludGVyOmZ1bmN0aW9uKGUpe3ZhciB0PSJ4Ij09PXRoaXMub3B0aW9ucy5heGlzfHx0aGlzLl9pc092ZXJBeGlzKHRoaXMucG9zaXRpb25BYnMudG9wK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCxlLnRvcCxlLmhlaWdodCksaT0ieSI9PT10aGlzLm9wdGlvbnMuYXhpc3x8dGhpcy5faXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLmxlZnQrdGhpcy5vZmZzZXQuY2xpY2subGVmdCxlLmxlZnQsZS53aWR0aCkscz10JiZpLG49dGhpcy5fZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uKCksYT10aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpO3JldHVybiBzP3RoaXMuZmxvYXRpbmc/YSYmInJpZ2h0Ij09PWF8fCJkb3duIj09PW4/MjoxOm4mJigiZG93biI9PT1uPzI6MSk6ITF9LF9pbnRlcnNlY3RzV2l0aFNpZGVzOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2lzT3ZlckF4aXModGhpcy5wb3NpdGlvbkFicy50b3ArdGhpcy5vZmZzZXQuY2xpY2sudG9wLGUudG9wK2UuaGVpZ2h0LzIsZS5oZWlnaHQpLGk9dGhpcy5faXNPdmVyQXhpcyh0aGlzLnBvc2l0aW9uQWJzLmxlZnQrdGhpcy5vZmZzZXQuY2xpY2subGVmdCxlLmxlZnQrZS53aWR0aC8yLGUud2lkdGgpLHM9dGhpcy5fZ2V0RHJhZ1ZlcnRpY2FsRGlyZWN0aW9uKCksbj10aGlzLl9nZXREcmFnSG9yaXpvbnRhbERpcmVjdGlvbigpO3JldHVybiB0aGlzLmZsb2F0aW5nJiZuPyJyaWdodCI9PT1uJiZpfHwibGVmdCI9PT1uJiYhaTpzJiYoImRvd24iPT09cyYmdHx8InVwIj09PXMmJiF0KX0sX2dldERyYWdWZXJ0aWNhbERpcmVjdGlvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMucG9zaXRpb25BYnMudG9wLXRoaXMubGFzdFBvc2l0aW9uQWJzLnRvcDtyZXR1cm4gMCE9PWUmJihlPjA/ImRvd24iOiJ1cCIpfSxfZ2V0RHJhZ0hvcml6b250YWxEaXJlY3Rpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnBvc2l0aW9uQWJzLmxlZnQtdGhpcy5sYXN0UG9zaXRpb25BYnMubGVmdDtyZXR1cm4gMCE9PWUmJihlPjA/InJpZ2h0IjoibGVmdCIpfSxyZWZyZXNoOmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLl9yZWZyZXNoSXRlbXMoZSksdGhpcy5fc2V0SGFuZGxlQ2xhc3NOYW1lKCksdGhpcy5yZWZyZXNoUG9zaXRpb25zKCksdGhpc30sX2Nvbm5lY3RXaXRoOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO3JldHVybiBlLmNvbm5lY3RXaXRoLmNvbnN0cnVjdG9yPT09U3RyaW5nP1tlLmNvbm5lY3RXaXRoXTplLmNvbm5lY3RXaXRofSxfZ2V0SXRlbXNBc2pRdWVyeTpmdW5jdGlvbih0KXtmdW5jdGlvbiBpKCl7ci5wdXNoKHRoaXMpfXZhciBzLG4sYSxvLHI9W10saD1bXSxsPXRoaXMuX2Nvbm5lY3RXaXRoKCk7aWYobCYmdClmb3Iocz1sLmxlbmd0aC0xO3M+PTA7cy0tKWZvcihhPWUobFtzXSx0aGlzLmRvY3VtZW50WzBdKSxuPWEubGVuZ3RoLTE7bj49MDtuLS0pbz1lLmRhdGEoYVtuXSx0aGlzLndpZGdldEZ1bGxOYW1lKSxvJiZvIT09dGhpcyYmIW8ub3B0aW9ucy5kaXNhYmxlZCYmaC5wdXNoKFtlLmlzRnVuY3Rpb24oby5vcHRpb25zLml0ZW1zKT9vLm9wdGlvbnMuaXRlbXMuY2FsbChvLmVsZW1lbnQpOmUoby5vcHRpb25zLml0ZW1zLG8uZWxlbWVudCkubm90KCIudWktc29ydGFibGUtaGVscGVyIikubm90KCIudWktc29ydGFibGUtcGxhY2Vob2xkZXIiKSxvXSk7Zm9yKGgucHVzaChbZS5pc0Z1bmN0aW9uKHRoaXMub3B0aW9ucy5pdGVtcyk/dGhpcy5vcHRpb25zLml0ZW1zLmNhbGwodGhpcy5lbGVtZW50LG51bGwse29wdGlvbnM6dGhpcy5vcHRpb25zLGl0ZW06dGhpcy5jdXJyZW50SXRlbX0pOmUodGhpcy5vcHRpb25zLml0ZW1zLHRoaXMuZWxlbWVudCkubm90KCIudWktc29ydGFibGUtaGVscGVyIikubm90KCIudWktc29ydGFibGUtcGxhY2Vob2xkZXIiKSx0aGlzXSkscz1oLmxlbmd0aC0xO3M+PTA7cy0tKWhbc11bMF0uZWFjaChpKTtyZXR1cm4gZShyKX0sX3JlbW92ZUN1cnJlbnRzRnJvbUl0ZW1zOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jdXJyZW50SXRlbS5maW5kKCI6ZGF0YSgiK3RoaXMud2lkZ2V0TmFtZSsiLWl0ZW0pIik7dGhpcy5pdGVtcz1lLmdyZXAodGhpcy5pdGVtcyxmdW5jdGlvbihlKXtmb3IodmFyIGk9MDt0Lmxlbmd0aD5pO2krKylpZih0W2ldPT09ZS5pdGVtWzBdKXJldHVybiExO3JldHVybiEwfSl9LF9yZWZyZXNoSXRlbXM6ZnVuY3Rpb24odCl7dGhpcy5pdGVtcz1bXSx0aGlzLmNvbnRhaW5lcnM9W3RoaXNdO3ZhciBpLHMsbixhLG8scixoLGwsdT10aGlzLml0ZW1zLGQ9W1tlLmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLml0ZW1zKT90aGlzLm9wdGlvbnMuaXRlbXMuY2FsbCh0aGlzLmVsZW1lbnRbMF0sdCx7aXRlbTp0aGlzLmN1cnJlbnRJdGVtfSk6ZSh0aGlzLm9wdGlvbnMuaXRlbXMsdGhpcy5lbGVtZW50KSx0aGlzXV0sYz10aGlzLl9jb25uZWN0V2l0aCgpO2lmKGMmJnRoaXMucmVhZHkpZm9yKGk9Yy5sZW5ndGgtMTtpPj0wO2ktLSlmb3Iobj1lKGNbaV0sdGhpcy5kb2N1bWVudFswXSkscz1uLmxlbmd0aC0xO3M+PTA7cy0tKWE9ZS5kYXRhKG5bc10sdGhpcy53aWRnZXRGdWxsTmFtZSksYSYmYSE9PXRoaXMmJiFhLm9wdGlvbnMuZGlzYWJsZWQmJihkLnB1c2goW2UuaXNGdW5jdGlvbihhLm9wdGlvbnMuaXRlbXMpP2Eub3B0aW9ucy5pdGVtcy5jYWxsKGEuZWxlbWVudFswXSx0LHtpdGVtOnRoaXMuY3VycmVudEl0ZW19KTplKGEub3B0aW9ucy5pdGVtcyxhLmVsZW1lbnQpLGFdKSx0aGlzLmNvbnRhaW5lcnMucHVzaChhKSk7Zm9yKGk9ZC5sZW5ndGgtMTtpPj0wO2ktLSlmb3Iobz1kW2ldWzFdLHI9ZFtpXVswXSxzPTAsbD1yLmxlbmd0aDtsPnM7cysrKWg9ZShyW3NdKSxoLmRhdGEodGhpcy53aWRnZXROYW1lKyItaXRlbSIsbyksdS5wdXNoKHtpdGVtOmgsaW5zdGFuY2U6byx3aWR0aDowLGhlaWdodDowLGxlZnQ6MCx0b3A6MH0pfSxyZWZyZXNoUG9zaXRpb25zOmZ1bmN0aW9uKHQpe3RoaXMuZmxvYXRpbmc9dGhpcy5pdGVtcy5sZW5ndGg/IngiPT09dGhpcy5vcHRpb25zLmF4aXN8fHRoaXMuX2lzRmxvYXRpbmcodGhpcy5pdGVtc1swXS5pdGVtKTohMSx0aGlzLm9mZnNldFBhcmVudCYmdGhpcy5oZWxwZXImJih0aGlzLm9mZnNldC5wYXJlbnQ9dGhpcy5fZ2V0UGFyZW50T2Zmc2V0KCkpO3ZhciBpLHMsbixhO2ZvcihpPXRoaXMuaXRlbXMubGVuZ3RoLTE7aT49MDtpLS0pcz10aGlzLml0ZW1zW2ldLHMuaW5zdGFuY2UhPT10aGlzLmN1cnJlbnRDb250YWluZXImJnRoaXMuY3VycmVudENvbnRhaW5lciYmcy5pdGVtWzBdIT09dGhpcy5jdXJyZW50SXRlbVswXXx8KG49dGhpcy5vcHRpb25zLnRvbGVyYW5jZUVsZW1lbnQ/ZSh0aGlzLm9wdGlvbnMudG9sZXJhbmNlRWxlbWVudCxzLml0ZW0pOnMuaXRlbSx0fHwocy53aWR0aD1uLm91dGVyV2lkdGgoKSxzLmhlaWdodD1uLm91dGVySGVpZ2h0KCkpLGE9bi5vZmZzZXQoKSxzLmxlZnQ9YS5sZWZ0LHMudG9wPWEudG9wKTtpZih0aGlzLm9wdGlvbnMuY3VzdG9tJiZ0aGlzLm9wdGlvbnMuY3VzdG9tLnJlZnJlc2hDb250YWluZXJzKXRoaXMub3B0aW9ucy5jdXN0b20ucmVmcmVzaENvbnRhaW5lcnMuY2FsbCh0aGlzKTtlbHNlIGZvcihpPXRoaXMuY29udGFpbmVycy5sZW5ndGgtMTtpPj0wO2ktLSlhPXRoaXMuY29udGFpbmVyc1tpXS5lbGVtZW50Lm9mZnNldCgpLHRoaXMuY29udGFpbmVyc1tpXS5jb250YWluZXJDYWNoZS5sZWZ0PWEubGVmdCx0aGlzLmNvbnRhaW5lcnNbaV0uY29udGFpbmVyQ2FjaGUudG9wPWEudG9wLHRoaXMuY29udGFpbmVyc1tpXS5jb250YWluZXJDYWNoZS53aWR0aD10aGlzLmNvbnRhaW5lcnNbaV0uZWxlbWVudC5vdXRlcldpZHRoKCksdGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLmhlaWdodD10aGlzLmNvbnRhaW5lcnNbaV0uZWxlbWVudC5vdXRlckhlaWdodCgpO3JldHVybiB0aGlzfSxfY3JlYXRlUGxhY2Vob2xkZXI6ZnVuY3Rpb24odCl7dD10fHx0aGlzO3ZhciBpLHM9dC5vcHRpb25zO3MucGxhY2Vob2xkZXImJnMucGxhY2Vob2xkZXIuY29uc3RydWN0b3IhPT1TdHJpbmd8fChpPXMucGxhY2Vob2xkZXIscy5wbGFjZWhvbGRlcj17ZWxlbWVudDpmdW5jdGlvbigpe3ZhciBzPXQuY3VycmVudEl0ZW1bMF0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxuPWUoIjwiK3MrIj4iLHQuZG9jdW1lbnRbMF0pLmFkZENsYXNzKGl8fHQuY3VycmVudEl0ZW1bMF0uY2xhc3NOYW1lKyIgdWktc29ydGFibGUtcGxhY2Vob2xkZXIiKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIik7cmV0dXJuInRib2R5Ij09PXM/dC5fY3JlYXRlVHJQbGFjZWhvbGRlcih0LmN1cnJlbnRJdGVtLmZpbmQoInRyIikuZXEoMCksZSgiPHRyPiIsdC5kb2N1bWVudFswXSkuYXBwZW5kVG8obikpOiJ0ciI9PT1zP3QuX2NyZWF0ZVRyUGxhY2Vob2xkZXIodC5jdXJyZW50SXRlbSxuKToiaW1nIj09PXMmJm4uYXR0cigic3JjIix0LmN1cnJlbnRJdGVtLmF0dHIoInNyYyIpKSxpfHxuLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpLG59LHVwZGF0ZTpmdW5jdGlvbihlLG4peyghaXx8cy5mb3JjZVBsYWNlaG9sZGVyU2l6ZSkmJihuLmhlaWdodCgpfHxuLmhlaWdodCh0LmN1cnJlbnRJdGVtLmlubmVySGVpZ2h0KCktcGFyc2VJbnQodC5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdUb3AiKXx8MCwxMCktcGFyc2VJbnQodC5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdCb3R0b20iKXx8MCwxMCkpLG4ud2lkdGgoKXx8bi53aWR0aCh0LmN1cnJlbnRJdGVtLmlubmVyV2lkdGgoKS1wYXJzZUludCh0LmN1cnJlbnRJdGVtLmNzcygicGFkZGluZ0xlZnQiKXx8MCwxMCktcGFyc2VJbnQodC5jdXJyZW50SXRlbS5jc3MoInBhZGRpbmdSaWdodCIpfHwwLDEwKSkpfX0pLHQucGxhY2Vob2xkZXI9ZShzLnBsYWNlaG9sZGVyLmVsZW1lbnQuY2FsbCh0LmVsZW1lbnQsdC5jdXJyZW50SXRlbSkpLHQuY3VycmVudEl0ZW0uYWZ0ZXIodC5wbGFjZWhvbGRlcikscy5wbGFjZWhvbGRlci51cGRhdGUodCx0LnBsYWNlaG9sZGVyKX0sX2NyZWF0ZVRyUGxhY2Vob2xkZXI6ZnVuY3Rpb24odCxpKXt2YXIgcz10aGlzO3QuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCl7ZSgiPHRkPiYjMTYwOzwvdGQ+IixzLmRvY3VtZW50WzBdKS5hdHRyKCJjb2xzcGFuIixlKHRoaXMpLmF0dHIoImNvbHNwYW4iKXx8MSkuYXBwZW5kVG8oaSl9KX0sX2NvbnRhY3RDb250YWluZXJzOmZ1bmN0aW9uKHQpe3ZhciBpLHMsbixhLG8scixoLGwsdSxkLGM9bnVsbCxwPW51bGw7Zm9yKGk9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO2k+PTA7aS0tKWlmKCFlLmNvbnRhaW5zKHRoaXMuY3VycmVudEl0ZW1bMF0sdGhpcy5jb250YWluZXJzW2ldLmVsZW1lbnRbMF0pKWlmKHRoaXMuX2ludGVyc2VjdHNXaXRoKHRoaXMuY29udGFpbmVyc1tpXS5jb250YWluZXJDYWNoZSkpe2lmKGMmJmUuY29udGFpbnModGhpcy5jb250YWluZXJzW2ldLmVsZW1lbnRbMF0sYy5lbGVtZW50WzBdKSljb250aW51ZTtjPXRoaXMuY29udGFpbmVyc1tpXSxwPWl9ZWxzZSB0aGlzLmNvbnRhaW5lcnNbaV0uY29udGFpbmVyQ2FjaGUub3ZlciYmKHRoaXMuY29udGFpbmVyc1tpXS5fdHJpZ2dlcigib3V0Iix0LHRoaXMuX3VpSGFzaCh0aGlzKSksdGhpcy5jb250YWluZXJzW2ldLmNvbnRhaW5lckNhY2hlLm92ZXI9MCk7aWYoYylpZigxPT09dGhpcy5jb250YWluZXJzLmxlbmd0aCl0aGlzLmNvbnRhaW5lcnNbcF0uY29udGFpbmVyQ2FjaGUub3Zlcnx8KHRoaXMuY29udGFpbmVyc1twXS5fdHJpZ2dlcigib3ZlciIsdCx0aGlzLl91aUhhc2godGhpcykpLHRoaXMuY29udGFpbmVyc1twXS5jb250YWluZXJDYWNoZS5vdmVyPTEpO2Vsc2V7Zm9yKG49MWU0LGE9bnVsbCx1PWMuZmxvYXRpbmd8fHRoaXMuX2lzRmxvYXRpbmcodGhpcy5jdXJyZW50SXRlbSksbz11PyJsZWZ0IjoidG9wIixyPXU/IndpZHRoIjoiaGVpZ2h0IixkPXU/ImNsaWVudFgiOiJjbGllbnRZIixzPXRoaXMuaXRlbXMubGVuZ3RoLTE7cz49MDtzLS0pZS5jb250YWlucyh0aGlzLmNvbnRhaW5lcnNbcF0uZWxlbWVudFswXSx0aGlzLml0ZW1zW3NdLml0ZW1bMF0pJiZ0aGlzLml0ZW1zW3NdLml0ZW1bMF0hPT10aGlzLmN1cnJlbnRJdGVtWzBdJiYoaD10aGlzLml0ZW1zW3NdLml0ZW0ub2Zmc2V0KClbb10sbD0hMSx0W2RdLWg+dGhpcy5pdGVtc1tzXVtyXS8yJiYobD0hMCksbj5NYXRoLmFicyh0W2RdLWgpJiYobj1NYXRoLmFicyh0W2RdLWgpLGE9dGhpcy5pdGVtc1tzXSx0aGlzLmRpcmVjdGlvbj1sPyJ1cCI6ImRvd24iKSk7aWYoIWEmJiF0aGlzLm9wdGlvbnMuZHJvcE9uRW1wdHkpcmV0dXJuO2lmKHRoaXMuY3VycmVudENvbnRhaW5lcj09PXRoaXMuY29udGFpbmVyc1twXSlyZXR1cm4gdGhpcy5jdXJyZW50Q29udGFpbmVyLmNvbnRhaW5lckNhY2hlLm92ZXJ8fCh0aGlzLmNvbnRhaW5lcnNbcF0uX3RyaWdnZXIoIm92ZXIiLHQsdGhpcy5fdWlIYXNoKCkpLHRoaXMuY3VycmVudENvbnRhaW5lci5jb250YWluZXJDYWNoZS5vdmVyPTEpLHZvaWQgMDthP3RoaXMuX3JlYXJyYW5nZSh0LGEsbnVsbCwhMCk6dGhpcy5fcmVhcnJhbmdlKHQsbnVsbCx0aGlzLmNvbnRhaW5lcnNbcF0uZWxlbWVudCwhMCksdGhpcy5fdHJpZ2dlcigiY2hhbmdlIix0LHRoaXMuX3VpSGFzaCgpKSx0aGlzLmNvbnRhaW5lcnNbcF0uX3RyaWdnZXIoImNoYW5nZSIsdCx0aGlzLl91aUhhc2godGhpcykpLHRoaXMuY3VycmVudENvbnRhaW5lcj10aGlzLmNvbnRhaW5lcnNbcF0sdGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyLnVwZGF0ZSh0aGlzLmN1cnJlbnRDb250YWluZXIsdGhpcy5wbGFjZWhvbGRlciksdGhpcy5jb250YWluZXJzW3BdLl90cmlnZ2VyKCJvdmVyIix0LHRoaXMuX3VpSGFzaCh0aGlzKSksdGhpcy5jb250YWluZXJzW3BdLmNvbnRhaW5lckNhY2hlLm92ZXI9MX19LF9jcmVhdGVIZWxwZXI6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5vcHRpb25zLHM9ZS5pc0Z1bmN0aW9uKGkuaGVscGVyKT9lKGkuaGVscGVyLmFwcGx5KHRoaXMuZWxlbWVudFswXSxbdCx0aGlzLmN1cnJlbnRJdGVtXSkpOiJjbG9uZSI9PT1pLmhlbHBlcj90aGlzLmN1cnJlbnRJdGVtLmNsb25lKCk6dGhpcy5jdXJyZW50SXRlbTtyZXR1cm4gcy5wYXJlbnRzKCJib2R5IikubGVuZ3RofHxlKCJwYXJlbnQiIT09aS5hcHBlbmRUbz9pLmFwcGVuZFRvOnRoaXMuY3VycmVudEl0ZW1bMF0ucGFyZW50Tm9kZSlbMF0uYXBwZW5kQ2hpbGQoc1swXSksc1swXT09PXRoaXMuY3VycmVudEl0ZW1bMF0mJih0aGlzLl9zdG9yZWRDU1M9e3dpZHRoOnRoaXMuY3VycmVudEl0ZW1bMF0uc3R5bGUud2lkdGgsaGVpZ2h0OnRoaXMuY3VycmVudEl0ZW1bMF0uc3R5bGUuaGVpZ2h0LHBvc2l0aW9uOnRoaXMuY3VycmVudEl0ZW0uY3NzKCJwb3NpdGlvbiIpLHRvcDp0aGlzLmN1cnJlbnRJdGVtLmNzcygidG9wIiksbGVmdDp0aGlzLmN1cnJlbnRJdGVtLmNzcygibGVmdCIpfSksKCFzWzBdLnN0eWxlLndpZHRofHxpLmZvcmNlSGVscGVyU2l6ZSkmJnMud2lkdGgodGhpcy5jdXJyZW50SXRlbS53aWR0aCgpKSwoIXNbMF0uc3R5bGUuaGVpZ2h0fHxpLmZvcmNlSGVscGVyU2l6ZSkmJnMuaGVpZ2h0KHRoaXMuY3VycmVudEl0ZW0uaGVpZ2h0KCkpLHN9LF9hZGp1c3RPZmZzZXRGcm9tSGVscGVyOmZ1bmN0aW9uKHQpeyJzdHJpbmciPT10eXBlb2YgdCYmKHQ9dC5zcGxpdCgiICIpKSxlLmlzQXJyYXkodCkmJih0PXtsZWZ0Oit0WzBdLHRvcDordFsxXXx8MH0pLCJsZWZ0ImluIHQmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PXQubGVmdCt0aGlzLm1hcmdpbnMubGVmdCksInJpZ2h0ImluIHQmJih0aGlzLm9mZnNldC5jbGljay5sZWZ0PXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdC5yaWdodCt0aGlzLm1hcmdpbnMubGVmdCksInRvcCJpbiB0JiYodGhpcy5vZmZzZXQuY2xpY2sudG9wPXQudG9wK3RoaXMubWFyZ2lucy50b3ApLCJib3R0b20iaW4gdCYmKHRoaXMub2Zmc2V0LmNsaWNrLnRvcD10aGlzLmhlbHBlclByb3BvcnRpb25zLmhlaWdodC10LmJvdHRvbSt0aGlzLm1hcmdpbnMudG9wKX0sX2dldFBhcmVudE9mZnNldDpmdW5jdGlvbigpe3RoaXMub2Zmc2V0UGFyZW50PXRoaXMuaGVscGVyLm9mZnNldFBhcmVudCgpO3ZhciB0PXRoaXMub2Zmc2V0UGFyZW50Lm9mZnNldCgpO3JldHVybiJhYnNvbHV0ZSI9PT10aGlzLmNzc1Bvc2l0aW9uJiZ0aGlzLnNjcm9sbFBhcmVudFswXSE9PXRoaXMuZG9jdW1lbnRbMF0mJmUuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pJiYodC5sZWZ0Kz10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCksdC50b3ArPXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpKSwodGhpcy5vZmZzZXRQYXJlbnRbMF09PT10aGlzLmRvY3VtZW50WzBdLmJvZHl8fHRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUmJiJodG1sIj09PXRoaXMub2Zmc2V0UGFyZW50WzBdLnRhZ05hbWUudG9Mb3dlckNhc2UoKSYmZS51aS5pZSkmJih0PXt0b3A6MCxsZWZ0OjB9KSx7dG9wOnQudG9wKyhwYXJzZUludCh0aGlzLm9mZnNldFBhcmVudC5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKSxsZWZ0OnQubGVmdCsocGFyc2VJbnQodGhpcy5vZmZzZXRQYXJlbnQuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApfX0sX2dldFJlbGF0aXZlT2Zmc2V0OmZ1bmN0aW9uKCl7aWYoInJlbGF0aXZlIj09PXRoaXMuY3NzUG9zaXRpb24pe3ZhciBlPXRoaXMuY3VycmVudEl0ZW0ucG9zaXRpb24oKTtyZXR1cm57dG9wOmUudG9wLShwYXJzZUludCh0aGlzLmhlbHBlci5jc3MoInRvcCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCksbGVmdDplLmxlZnQtKHBhcnNlSW50KHRoaXMuaGVscGVyLmNzcygibGVmdCIpLDEwKXx8MCkrdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpfX1yZXR1cm57dG9wOjAsbGVmdDowfX0sX2NhY2hlTWFyZ2luczpmdW5jdGlvbigpe3RoaXMubWFyZ2lucz17bGVmdDpwYXJzZUludCh0aGlzLmN1cnJlbnRJdGVtLmNzcygibWFyZ2luTGVmdCIpLDEwKXx8MCx0b3A6cGFyc2VJbnQodGhpcy5jdXJyZW50SXRlbS5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MH19LF9jYWNoZUhlbHBlclByb3BvcnRpb25zOmZ1bmN0aW9uKCl7dGhpcy5oZWxwZXJQcm9wb3J0aW9ucz17d2lkdGg6dGhpcy5oZWxwZXIub3V0ZXJXaWR0aCgpLGhlaWdodDp0aGlzLmhlbHBlci5vdXRlckhlaWdodCgpfX0sX3NldENvbnRhaW5tZW50OmZ1bmN0aW9uKCl7dmFyIHQsaSxzLG49dGhpcy5vcHRpb25zOyJwYXJlbnQiPT09bi5jb250YWlubWVudCYmKG4uY29udGFpbm1lbnQ9dGhpcy5oZWxwZXJbMF0ucGFyZW50Tm9kZSksKCJkb2N1bWVudCI9PT1uLmNvbnRhaW5tZW50fHwid2luZG93Ij09PW4uY29udGFpbm1lbnQpJiYodGhpcy5jb250YWlubWVudD1bMC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0LDAtdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wLXRoaXMub2Zmc2V0LnBhcmVudC50b3AsImRvY3VtZW50Ij09PW4uY29udGFpbm1lbnQ/dGhpcy5kb2N1bWVudC53aWR0aCgpOnRoaXMud2luZG93LndpZHRoKCktdGhpcy5oZWxwZXJQcm9wb3J0aW9ucy53aWR0aC10aGlzLm1hcmdpbnMubGVmdCwoImRvY3VtZW50Ij09PW4uY29udGFpbm1lbnQ/dGhpcy5kb2N1bWVudC53aWR0aCgpOnRoaXMud2luZG93LmhlaWdodCgpfHx0aGlzLmRvY3VtZW50WzBdLmJvZHkucGFyZW50Tm9kZS5zY3JvbGxIZWlnaHQpLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdKSwvXihkb2N1bWVudHx3aW5kb3d8cGFyZW50KSQvLnRlc3Qobi5jb250YWlubWVudCl8fCh0PWUobi5jb250YWlubWVudClbMF0saT1lKG4uY29udGFpbm1lbnQpLm9mZnNldCgpLHM9ImhpZGRlbiIhPT1lKHQpLmNzcygib3ZlcmZsb3ciKSx0aGlzLmNvbnRhaW5tZW50PVtpLmxlZnQrKHBhcnNlSW50KGUodCkuY3NzKCJib3JkZXJMZWZ0V2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChlKHQpLmNzcygicGFkZGluZ0xlZnQiKSwxMCl8fDApLXRoaXMubWFyZ2lucy5sZWZ0LGkudG9wKyhwYXJzZUludChlKHQpLmNzcygiYm9yZGVyVG9wV2lkdGgiKSwxMCl8fDApKyhwYXJzZUludChlKHQpLmNzcygicGFkZGluZ1RvcCIpLDEwKXx8MCktdGhpcy5tYXJnaW5zLnRvcCxpLmxlZnQrKHM/TWF0aC5tYXgodC5zY3JvbGxXaWR0aCx0Lm9mZnNldFdpZHRoKTp0Lm9mZnNldFdpZHRoKS0ocGFyc2VJbnQoZSh0KS5jc3MoImJvcmRlckxlZnRXaWR0aCIpLDEwKXx8MCktKHBhcnNlSW50KGUodCkuY3NzKCJwYWRkaW5nUmlnaHQiKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMud2lkdGgtdGhpcy5tYXJnaW5zLmxlZnQsaS50b3ArKHM/TWF0aC5tYXgodC5zY3JvbGxIZWlnaHQsdC5vZmZzZXRIZWlnaHQpOnQub2Zmc2V0SGVpZ2h0KS0ocGFyc2VJbnQoZSh0KS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoZSh0KS5jc3MoInBhZGRpbmdCb3R0b20iKSwxMCl8fDApLXRoaXMuaGVscGVyUHJvcG9ydGlvbnMuaGVpZ2h0LXRoaXMubWFyZ2lucy50b3BdKX0sX2NvbnZlcnRQb3NpdGlvblRvOmZ1bmN0aW9uKHQsaSl7aXx8KGk9dGhpcy5wb3NpdGlvbik7dmFyIHM9ImFic29sdXRlIj09PXQ/MTotMSxuPSJhYnNvbHV0ZSIhPT10aGlzLmNzc1Bvc2l0aW9ufHx0aGlzLnNjcm9sbFBhcmVudFswXSE9PXRoaXMuZG9jdW1lbnRbMF0mJmUuY29udGFpbnModGhpcy5zY3JvbGxQYXJlbnRbMF0sdGhpcy5vZmZzZXRQYXJlbnRbMF0pP3RoaXMuc2Nyb2xsUGFyZW50OnRoaXMub2Zmc2V0UGFyZW50LGE9LyhodG1sfGJvZHkpL2kudGVzdChuWzBdLnRhZ05hbWUpO3JldHVybnt0b3A6aS50b3ArdGhpcy5vZmZzZXQucmVsYXRpdmUudG9wKnMrdGhpcy5vZmZzZXQucGFyZW50LnRvcCpzLSgiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsVG9wKCk6YT8wOm4uc2Nyb2xsVG9wKCkpKnMsbGVmdDppLmxlZnQrdGhpcy5vZmZzZXQucmVsYXRpdmUubGVmdCpzK3RoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KnMtKCJmaXhlZCI9PT10aGlzLmNzc1Bvc2l0aW9uPy10aGlzLnNjcm9sbFBhcmVudC5zY3JvbGxMZWZ0KCk6YT8wOm4uc2Nyb2xsTGVmdCgpKSpzfX0sX2dlbmVyYXRlUG9zaXRpb246ZnVuY3Rpb24odCl7dmFyIGkscyxuPXRoaXMub3B0aW9ucyxhPXQucGFnZVgsbz10LnBhZ2VZLHI9ImFic29sdXRlIiE9PXRoaXMuY3NzUG9zaXRpb258fHRoaXMuc2Nyb2xsUGFyZW50WzBdIT09dGhpcy5kb2N1bWVudFswXSYmZS5jb250YWlucyh0aGlzLnNjcm9sbFBhcmVudFswXSx0aGlzLm9mZnNldFBhcmVudFswXSk/dGhpcy5zY3JvbGxQYXJlbnQ6dGhpcy5vZmZzZXRQYXJlbnQsaD0vKGh0bWx8Ym9keSkvaS50ZXN0KHJbMF0udGFnTmFtZSk7cmV0dXJuInJlbGF0aXZlIiE9PXRoaXMuY3NzUG9zaXRpb258fHRoaXMuc2Nyb2xsUGFyZW50WzBdIT09dGhpcy5kb2N1bWVudFswXSYmdGhpcy5zY3JvbGxQYXJlbnRbMF0hPT10aGlzLm9mZnNldFBhcmVudFswXXx8KHRoaXMub2Zmc2V0LnJlbGF0aXZlPXRoaXMuX2dldFJlbGF0aXZlT2Zmc2V0KCkpLHRoaXMub3JpZ2luYWxQb3NpdGlvbiYmKHRoaXMuY29udGFpbm1lbnQmJih0LnBhZ2VYLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ8dGhpcy5jb250YWlubWVudFswXSYmKGE9dGhpcy5jb250YWlubWVudFswXSt0aGlzLm9mZnNldC5jbGljay5sZWZ0KSx0LnBhZ2VZLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDx0aGlzLmNvbnRhaW5tZW50WzFdJiYobz10aGlzLmNvbnRhaW5tZW50WzFdK3RoaXMub2Zmc2V0LmNsaWNrLnRvcCksdC5wYWdlWC10aGlzLm9mZnNldC5jbGljay5sZWZ0PnRoaXMuY29udGFpbm1lbnRbMl0mJihhPXRoaXMuY29udGFpbm1lbnRbMl0rdGhpcy5vZmZzZXQuY2xpY2subGVmdCksdC5wYWdlWS10aGlzLm9mZnNldC5jbGljay50b3A+dGhpcy5jb250YWlubWVudFszXSYmKG89dGhpcy5jb250YWlubWVudFszXSt0aGlzLm9mZnNldC5jbGljay50b3ApKSxuLmdyaWQmJihpPXRoaXMub3JpZ2luYWxQYWdlWStNYXRoLnJvdW5kKChvLXRoaXMub3JpZ2luYWxQYWdlWSkvbi5ncmlkWzFdKSpuLmdyaWRbMV0sbz10aGlzLmNvbnRhaW5tZW50P2ktdGhpcy5vZmZzZXQuY2xpY2sudG9wPj10aGlzLmNvbnRhaW5tZW50WzFdJiZpLXRoaXMub2Zmc2V0LmNsaWNrLnRvcDw9dGhpcy5jb250YWlubWVudFszXT9pOmktdGhpcy5vZmZzZXQuY2xpY2sudG9wPj10aGlzLmNvbnRhaW5tZW50WzFdP2ktbi5ncmlkWzFdOmkrbi5ncmlkWzFdOmkscz10aGlzLm9yaWdpbmFsUGFnZVgrTWF0aC5yb3VuZCgoYS10aGlzLm9yaWdpbmFsUGFnZVgpL24uZ3JpZFswXSkqbi5ncmlkWzBdLGE9dGhpcy5jb250YWlubWVudD9zLXRoaXMub2Zmc2V0LmNsaWNrLmxlZnQ+PXRoaXMuY29udGFpbm1lbnRbMF0mJnMtdGhpcy5vZmZzZXQuY2xpY2subGVmdDw9dGhpcy5jb250YWlubWVudFsyXT9zOnMtdGhpcy5vZmZzZXQuY2xpY2subGVmdD49dGhpcy5jb250YWlubWVudFswXT9zLW4uZ3JpZFswXTpzK24uZ3JpZFswXTpzKSkse3RvcDpvLXRoaXMub2Zmc2V0LmNsaWNrLnRvcC10aGlzLm9mZnNldC5yZWxhdGl2ZS50b3AtdGhpcy5vZmZzZXQucGFyZW50LnRvcCsoImZpeGVkIj09PXRoaXMuY3NzUG9zaXRpb24/LXRoaXMuc2Nyb2xsUGFyZW50LnNjcm9sbFRvcCgpOmg/MDpyLnNjcm9sbFRvcCgpKSxsZWZ0OmEtdGhpcy5vZmZzZXQuY2xpY2subGVmdC10aGlzLm9mZnNldC5yZWxhdGl2ZS5sZWZ0LXRoaXMub2Zmc2V0LnBhcmVudC5sZWZ0KygiZml4ZWQiPT09dGhpcy5jc3NQb3NpdGlvbj8tdGhpcy5zY3JvbGxQYXJlbnQuc2Nyb2xsTGVmdCgpOmg/MDpyLnNjcm9sbExlZnQoKSl9fSxfcmVhcnJhbmdlOmZ1bmN0aW9uKGUsdCxpLHMpe2k/aVswXS5hcHBlbmRDaGlsZCh0aGlzLnBsYWNlaG9sZGVyWzBdKTp0Lml0ZW1bMF0ucGFyZW50Tm9kZS5pbnNlcnRCZWZvcmUodGhpcy5wbGFjZWhvbGRlclswXSwiZG93biI9PT10aGlzLmRpcmVjdGlvbj90Lml0ZW1bMF06dC5pdGVtWzBdLm5leHRTaWJsaW5nKSx0aGlzLmNvdW50ZXI9dGhpcy5jb3VudGVyPysrdGhpcy5jb3VudGVyOjE7dmFyIG49dGhpcy5jb3VudGVyO3RoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7bj09PXRoaXMuY291bnRlciYmdGhpcy5yZWZyZXNoUG9zaXRpb25zKCFzKX0pfSxfY2xlYXI6ZnVuY3Rpb24oZSx0KXtmdW5jdGlvbiBpKGUsdCxpKXtyZXR1cm4gZnVuY3Rpb24ocyl7aS5fdHJpZ2dlcihlLHMsdC5fdWlIYXNoKHQpKX19dGhpcy5yZXZlcnRpbmc9ITE7dmFyIHMsbj1bXTtpZighdGhpcy5fbm9GaW5hbFNvcnQmJnRoaXMuY3VycmVudEl0ZW0ucGFyZW50KCkubGVuZ3RoJiZ0aGlzLnBsYWNlaG9sZGVyLmJlZm9yZSh0aGlzLmN1cnJlbnRJdGVtKSx0aGlzLl9ub0ZpbmFsU29ydD1udWxsLHRoaXMuaGVscGVyWzBdPT09dGhpcy5jdXJyZW50SXRlbVswXSl7Zm9yKHMgaW4gdGhpcy5fc3RvcmVkQ1NTKSgiYXV0byI9PT10aGlzLl9zdG9yZWRDU1Nbc118fCJzdGF0aWMiPT09dGhpcy5fc3RvcmVkQ1NTW3NdKSYmKHRoaXMuX3N0b3JlZENTU1tzXT0iIik7dGhpcy5jdXJyZW50SXRlbS5jc3ModGhpcy5fc3RvcmVkQ1NTKS5yZW1vdmVDbGFzcygidWktc29ydGFibGUtaGVscGVyIil9ZWxzZSB0aGlzLmN1cnJlbnRJdGVtLnNob3coKTtmb3IodGhpcy5mcm9tT3V0c2lkZSYmIXQmJm4ucHVzaChmdW5jdGlvbihlKXt0aGlzLl90cmlnZ2VyKCJyZWNlaXZlIixlLHRoaXMuX3VpSGFzaCh0aGlzLmZyb21PdXRzaWRlKSl9KSwhdGhpcy5mcm9tT3V0c2lkZSYmdGhpcy5kb21Qb3NpdGlvbi5wcmV2PT09dGhpcy5jdXJyZW50SXRlbS5wcmV2KCkubm90KCIudWktc29ydGFibGUtaGVscGVyIilbMF0mJnRoaXMuZG9tUG9zaXRpb24ucGFyZW50PT09dGhpcy5jdXJyZW50SXRlbS5wYXJlbnQoKVswXXx8dHx8bi5wdXNoKGZ1bmN0aW9uKGUpe3RoaXMuX3RyaWdnZXIoInVwZGF0ZSIsZSx0aGlzLl91aUhhc2goKSl9KSx0aGlzIT09dGhpcy5jdXJyZW50Q29udGFpbmVyJiYodHx8KG4ucHVzaChmdW5jdGlvbihlKXt0aGlzLl90cmlnZ2VyKCJyZW1vdmUiLGUsdGhpcy5fdWlIYXNoKCkpfSksbi5wdXNoKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtlLl90cmlnZ2VyKCJyZWNlaXZlIix0LHRoaXMuX3VpSGFzaCh0aGlzKSl9fS5jYWxsKHRoaXMsdGhpcy5jdXJyZW50Q29udGFpbmVyKSksbi5wdXNoKGZ1bmN0aW9uKGUpe3JldHVybiBmdW5jdGlvbih0KXtlLl90cmlnZ2VyKCJ1cGRhdGUiLHQsdGhpcy5fdWlIYXNoKHRoaXMpKX19LmNhbGwodGhpcyx0aGlzLmN1cnJlbnRDb250YWluZXIpKSkpLHM9dGhpcy5jb250YWluZXJzLmxlbmd0aC0xO3M+PTA7cy0tKXR8fG4ucHVzaChpKCJkZWFjdGl2YXRlIix0aGlzLHRoaXMuY29udGFpbmVyc1tzXSkpLHRoaXMuY29udGFpbmVyc1tzXS5jb250YWluZXJDYWNoZS5vdmVyJiYobi5wdXNoKGkoIm91dCIsdGhpcyx0aGlzLmNvbnRhaW5lcnNbc10pKSx0aGlzLmNvbnRhaW5lcnNbc10uY29udGFpbmVyQ2FjaGUub3Zlcj0wKTtpZih0aGlzLnN0b3JlZEN1cnNvciYmKHRoaXMuZG9jdW1lbnQuZmluZCgiYm9keSIpLmNzcygiY3Vyc29yIix0aGlzLnN0b3JlZEN1cnNvciksdGhpcy5zdG9yZWRTdHlsZXNoZWV0LnJlbW92ZSgpKSx0aGlzLl9zdG9yZWRPcGFjaXR5JiZ0aGlzLmhlbHBlci5jc3MoIm9wYWNpdHkiLHRoaXMuX3N0b3JlZE9wYWNpdHkpLHRoaXMuX3N0b3JlZFpJbmRleCYmdGhpcy5oZWxwZXIuY3NzKCJ6SW5kZXgiLCJhdXRvIj09PXRoaXMuX3N0b3JlZFpJbmRleD8iIjp0aGlzLl9zdG9yZWRaSW5kZXgpLHRoaXMuZHJhZ2dpbmc9ITEsdHx8dGhpcy5fdHJpZ2dlcigiYmVmb3JlU3RvcCIsZSx0aGlzLl91aUhhc2goKSksdGhpcy5wbGFjZWhvbGRlclswXS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMucGxhY2Vob2xkZXJbMF0pLHRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbHx8KHRoaXMuaGVscGVyWzBdIT09dGhpcy5jdXJyZW50SXRlbVswXSYmdGhpcy5oZWxwZXIucmVtb3ZlKCksdGhpcy5oZWxwZXI9bnVsbCksIXQpe2ZvcihzPTA7bi5sZW5ndGg+cztzKyspbltzXS5jYWxsKHRoaXMsZSk7dGhpcy5fdHJpZ2dlcigic3RvcCIsZSx0aGlzLl91aUhhc2goKSl9cmV0dXJuIHRoaXMuZnJvbU91dHNpZGU9ITEsIXRoaXMuY2FuY2VsSGVscGVyUmVtb3ZhbH0sX3RyaWdnZXI6ZnVuY3Rpb24oKXtlLldpZGdldC5wcm90b3R5cGUuX3RyaWdnZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpPT09ITEmJnRoaXMuY2FuY2VsKCl9LF91aUhhc2g6ZnVuY3Rpb24odCl7dmFyIGk9dHx8dGhpcztyZXR1cm57aGVscGVyOmkuaGVscGVyLHBsYWNlaG9sZGVyOmkucGxhY2Vob2xkZXJ8fGUoW10pLHBvc2l0aW9uOmkucG9zaXRpb24sb3JpZ2luYWxQb3NpdGlvbjppLm9yaWdpbmFsUG9zaXRpb24sb2Zmc2V0OmkucG9zaXRpb25BYnMsaXRlbTppLmN1cnJlbnRJdGVtLHNlbmRlcjp0P3QuZWxlbWVudDpudWxsfX19KSxlLndpZGdldCgidWkuYWNjb3JkaW9uIix7dmVyc2lvbjoiMS4xMS40IixvcHRpb25zOnthY3RpdmU6MCxhbmltYXRlOnt9LGNvbGxhcHNpYmxlOiExLGV2ZW50OiJjbGljayIsaGVhZGVyOiI+IGxpID4gOmZpcnN0LWNoaWxkLD4gOm5vdChsaSk6ZXZlbiIsaGVpZ2h0U3R5bGU6ImF1dG8iLGljb25zOnthY3RpdmVIZWFkZXI6InVpLWljb24tdHJpYW5nbGUtMS1zIixoZWFkZXI6InVpLWljb24tdHJpYW5nbGUtMS1lIn0sYWN0aXZhdGU6bnVsbCxiZWZvcmVBY3RpdmF0ZTpudWxsfSxoaWRlUHJvcHM6e2JvcmRlclRvcFdpZHRoOiJoaWRlIixib3JkZXJCb3R0b21XaWR0aDoiaGlkZSIscGFkZGluZ1RvcDoiaGlkZSIscGFkZGluZ0JvdHRvbToiaGlkZSIsaGVpZ2h0OiJoaWRlIn0sc2hvd1Byb3BzOntib3JkZXJUb3BXaWR0aDoic2hvdyIsYm9yZGVyQm90dG9tV2lkdGg6InNob3ciLHBhZGRpbmdUb3A6InNob3ciLHBhZGRpbmdCb3R0b206InNob3ciLGhlaWdodDoic2hvdyJ9LF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnM7dGhpcy5wcmV2U2hvdz10aGlzLnByZXZIaWRlPWUoKSx0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWFjY29yZGlvbiB1aS13aWRnZXQgdWktaGVscGVyLXJlc2V0IikuYXR0cigicm9sZSIsInRhYmxpc3QiKSx0LmNvbGxhcHNpYmxlfHx0LmFjdGl2ZSE9PSExJiZudWxsIT10LmFjdGl2ZXx8KHQuYWN0aXZlPTApLHRoaXMuX3Byb2Nlc3NQYW5lbHMoKSwwPnQuYWN0aXZlJiYodC5hY3RpdmUrPXRoaXMuaGVhZGVycy5sZW5ndGgpLHRoaXMuX3JlZnJlc2goKX0sX2dldENyZWF0ZUV2ZW50RGF0YTpmdW5jdGlvbigpe3JldHVybntoZWFkZXI6dGhpcy5hY3RpdmUscGFuZWw6dGhpcy5hY3RpdmUubGVuZ3RoP3RoaXMuYWN0aXZlLm5leHQoKTplKCl9fSxfY3JlYXRlSWNvbnM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuaWNvbnM7dCYmKGUoIjxzcGFuPiIpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24taGVhZGVyLWljb24gdWktaWNvbiAiK3QuaGVhZGVyKS5wcmVwZW5kVG8odGhpcy5oZWFkZXJzKSx0aGlzLmFjdGl2ZS5jaGlsZHJlbigiLnVpLWFjY29yZGlvbi1oZWFkZXItaWNvbiIpLnJlbW92ZUNsYXNzKHQuaGVhZGVyKS5hZGRDbGFzcyh0LmFjdGl2ZUhlYWRlciksdGhpcy5oZWFkZXJzLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24taWNvbnMiKSl9LF9kZXN0cm95SWNvbnM6ZnVuY3Rpb24oKXt0aGlzLmhlYWRlcnMucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1pY29ucyIpLmNoaWxkcmVuKCIudWktYWNjb3JkaW9uLWhlYWRlci1pY29uIikucmVtb3ZlKCl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGU7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRpb24gdWktd2lkZ2V0IHVpLWhlbHBlci1yZXNldCIpLnJlbW92ZUF0dHIoInJvbGUiKSx0aGlzLmhlYWRlcnMucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1oZWFkZXIgdWktYWNjb3JkaW9uLWhlYWRlci1hY3RpdmUgdWktc3RhdGUtZGVmYXVsdCB1aS1jb3JuZXItYWxsIHVpLXN0YXRlLWFjdGl2ZSB1aS1zdGF0ZS1kaXNhYmxlZCB1aS1jb3JuZXItdG9wIikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtZXhwYW5kZWQiKS5yZW1vdmVBdHRyKCJhcmlhLXNlbGVjdGVkIikucmVtb3ZlQXR0cigiYXJpYS1jb250cm9scyIpLnJlbW92ZUF0dHIoInRhYkluZGV4IikucmVtb3ZlVW5pcXVlSWQoKSx0aGlzLl9kZXN0cm95SWNvbnMoKSxlPXRoaXMuaGVhZGVycy5uZXh0KCkucmVtb3ZlQ2xhc3MoInVpLWhlbHBlci1yZXNldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYm90dG9tIHVpLWFjY29yZGlvbi1jb250ZW50IHVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSB1aS1zdGF0ZS1kaXNhYmxlZCIpLmNzcygiZGlzcGxheSIsIiIpLnJlbW92ZUF0dHIoInJvbGUiKS5yZW1vdmVBdHRyKCJhcmlhLWhpZGRlbiIpLnJlbW92ZUF0dHIoImFyaWEtbGFiZWxsZWRieSIpLnJlbW92ZVVuaXF1ZUlkKCksImNvbnRlbnQiIT09dGhpcy5vcHRpb25zLmhlaWdodFN0eWxlJiZlLmNzcygiaGVpZ2h0IiwiIil9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXtyZXR1cm4iYWN0aXZlIj09PWU/KHRoaXMuX2FjdGl2YXRlKHQpLHZvaWQgMCk6KCJldmVudCI9PT1lJiYodGhpcy5vcHRpb25zLmV2ZW50JiZ0aGlzLl9vZmYodGhpcy5oZWFkZXJzLHRoaXMub3B0aW9ucy5ldmVudCksdGhpcy5fc2V0dXBFdmVudHModCkpLHRoaXMuX3N1cGVyKGUsdCksImNvbGxhcHNpYmxlIiE9PWV8fHR8fHRoaXMub3B0aW9ucy5hY3RpdmUhPT0hMXx8dGhpcy5fYWN0aXZhdGUoMCksImljb25zIj09PWUmJih0aGlzLl9kZXN0cm95SWNvbnMoKSx0JiZ0aGlzLl9jcmVhdGVJY29ucygpKSwiZGlzYWJsZWQiPT09ZSYmKHRoaXMuZWxlbWVudC50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLCEhdCkuYXR0cigiYXJpYS1kaXNhYmxlZCIsdCksdGhpcy5oZWFkZXJzLmFkZCh0aGlzLmhlYWRlcnMubmV4dCgpKS50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLCEhdCkpLHZvaWQgMCl9LF9rZXlkb3duOmZ1bmN0aW9uKHQpe2lmKCF0LmFsdEtleSYmIXQuY3RybEtleSl7dmFyIGk9ZS51aS5rZXlDb2RlLHM9dGhpcy5oZWFkZXJzLmxlbmd0aCxuPXRoaXMuaGVhZGVycy5pbmRleCh0LnRhcmdldCksYT0hMTtzd2l0Y2godC5rZXlDb2RlKXtjYXNlIGkuUklHSFQ6Y2FzZSBpLkRPV046YT10aGlzLmhlYWRlcnNbKG4rMSklc107YnJlYWs7Y2FzZSBpLkxFRlQ6Y2FzZSBpLlVQOmE9dGhpcy5oZWFkZXJzWyhuLTErcyklc107YnJlYWs7Y2FzZSBpLlNQQUNFOmNhc2UgaS5FTlRFUjp0aGlzLl9ldmVudEhhbmRsZXIodCk7YnJlYWs7Y2FzZSBpLkhPTUU6YT10aGlzLmhlYWRlcnNbMF07YnJlYWs7Y2FzZSBpLkVORDphPXRoaXMuaGVhZGVyc1tzLTFdfWEmJihlKHQudGFyZ2V0KS5hdHRyKCJ0YWJJbmRleCIsLTEpLGUoYSkuYXR0cigidGFiSW5kZXgiLDApLGEuZm9jdXMoKSx0LnByZXZlbnREZWZhdWx0KCkpfX0sX3BhbmVsS2V5RG93bjpmdW5jdGlvbih0KXt0LmtleUNvZGU9PT1lLnVpLmtleUNvZGUuVVAmJnQuY3RybEtleSYmZSh0LmN1cnJlbnRUYXJnZXQpLnByZXYoKS5mb2N1cygpfSxyZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zO3RoaXMuX3Byb2Nlc3NQYW5lbHMoKSx0LmFjdGl2ZT09PSExJiZ0LmNvbGxhcHNpYmxlPT09ITB8fCF0aGlzLmhlYWRlcnMubGVuZ3RoPyh0LmFjdGl2ZT0hMSx0aGlzLmFjdGl2ZT1lKCkpOnQuYWN0aXZlPT09ITE/dGhpcy5fYWN0aXZhdGUoMCk6dGhpcy5hY3RpdmUubGVuZ3RoJiYhZS5jb250YWlucyh0aGlzLmVsZW1lbnRbMF0sdGhpcy5hY3RpdmVbMF0pP3RoaXMuaGVhZGVycy5sZW5ndGg9PT10aGlzLmhlYWRlcnMuZmluZCgiLnVpLXN0YXRlLWRpc2FibGVkIikubGVuZ3RoPyh0LmFjdGl2ZT0hMSx0aGlzLmFjdGl2ZT1lKCkpOnRoaXMuX2FjdGl2YXRlKE1hdGgubWF4KDAsdC5hY3RpdmUtMSkpOnQuYWN0aXZlPXRoaXMuaGVhZGVycy5pbmRleCh0aGlzLmFjdGl2ZSksdGhpcy5fZGVzdHJveUljb25zKCksdGhpcy5fcmVmcmVzaCgpfSxfcHJvY2Vzc1BhbmVsczpmdW5jdGlvbigpe3ZhciBlPXRoaXMuaGVhZGVycyx0PXRoaXMucGFuZWxzO3RoaXMuaGVhZGVycz10aGlzLmVsZW1lbnQuZmluZCh0aGlzLm9wdGlvbnMuaGVhZGVyKS5hZGRDbGFzcygidWktYWNjb3JkaW9uLWhlYWRlciB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKSx0aGlzLnBhbmVscz10aGlzLmhlYWRlcnMubmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudCB1aS1oZWxwZXItcmVzZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSIpLmZpbHRlcigiOm5vdCgudWktYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlKSIpLmhpZGUoKSx0JiYodGhpcy5fb2ZmKGUubm90KHRoaXMuaGVhZGVycykpLHRoaXMuX29mZih0Lm5vdCh0aGlzLnBhbmVscykpKQp9LF9yZWZyZXNoOmZ1bmN0aW9uKCl7dmFyIHQsaT10aGlzLm9wdGlvbnMscz1pLmhlaWdodFN0eWxlLG49dGhpcy5lbGVtZW50LnBhcmVudCgpO3RoaXMuYWN0aXZlPXRoaXMuX2ZpbmRBY3RpdmUoaS5hY3RpdmUpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24taGVhZGVyLWFjdGl2ZSB1aS1zdGF0ZS1hY3RpdmUgdWktY29ybmVyLXRvcCIpLnJlbW92ZUNsYXNzKCJ1aS1jb3JuZXItYWxsIiksdGhpcy5hY3RpdmUubmV4dCgpLmFkZENsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKS5zaG93KCksdGhpcy5oZWFkZXJzLmF0dHIoInJvbGUiLCJ0YWIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKSxpPXQudW5pcXVlSWQoKS5hdHRyKCJpZCIpLHM9dC5uZXh0KCksbj1zLnVuaXF1ZUlkKCkuYXR0cigiaWQiKTt0LmF0dHIoImFyaWEtY29udHJvbHMiLG4pLHMuYXR0cigiYXJpYS1sYWJlbGxlZGJ5IixpKX0pLm5leHQoKS5hdHRyKCJyb2xlIiwidGFicGFuZWwiKSx0aGlzLmhlYWRlcnMubm90KHRoaXMuYWN0aXZlKS5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6ImZhbHNlIiwiYXJpYS1leHBhbmRlZCI6ImZhbHNlIix0YWJJbmRleDotMX0pLm5leHQoKS5hdHRyKHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLmhpZGUoKSx0aGlzLmFjdGl2ZS5sZW5ndGg/dGhpcy5hY3RpdmUuYXR0cih7ImFyaWEtc2VsZWN0ZWQiOiJ0cnVlIiwiYXJpYS1leHBhbmRlZCI6InRydWUiLHRhYkluZGV4OjB9KS5uZXh0KCkuYXR0cih7ImFyaWEtaGlkZGVuIjoiZmFsc2UifSk6dGhpcy5oZWFkZXJzLmVxKDApLmF0dHIoInRhYkluZGV4IiwwKSx0aGlzLl9jcmVhdGVJY29ucygpLHRoaXMuX3NldHVwRXZlbnRzKGkuZXZlbnQpLCJmaWxsIj09PXM/KHQ9bi5oZWlnaHQoKSx0aGlzLmVsZW1lbnQuc2libGluZ3MoIjp2aXNpYmxlIikuZWFjaChmdW5jdGlvbigpe3ZhciBpPWUodGhpcykscz1pLmNzcygicG9zaXRpb24iKTsiYWJzb2x1dGUiIT09cyYmImZpeGVkIiE9PXMmJih0LT1pLm91dGVySGVpZ2h0KCEwKSl9KSx0aGlzLmhlYWRlcnMuZWFjaChmdW5jdGlvbigpe3QtPWUodGhpcykub3V0ZXJIZWlnaHQoITApfSksdGhpcy5oZWFkZXJzLm5leHQoKS5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5oZWlnaHQoTWF0aC5tYXgoMCx0LWUodGhpcykuaW5uZXJIZWlnaHQoKStlKHRoaXMpLmhlaWdodCgpKSl9KS5jc3MoIm92ZXJmbG93IiwiYXV0byIpKToiYXV0byI9PT1zJiYodD0wLHRoaXMuaGVhZGVycy5uZXh0KCkuZWFjaChmdW5jdGlvbigpe3Q9TWF0aC5tYXgodCxlKHRoaXMpLmNzcygiaGVpZ2h0IiwiIikuaGVpZ2h0KCkpfSkuaGVpZ2h0KHQpKX0sX2FjdGl2YXRlOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX2ZpbmRBY3RpdmUodClbMF07aSE9PXRoaXMuYWN0aXZlWzBdJiYoaT1pfHx0aGlzLmFjdGl2ZVswXSx0aGlzLl9ldmVudEhhbmRsZXIoe3RhcmdldDppLGN1cnJlbnRUYXJnZXQ6aSxwcmV2ZW50RGVmYXVsdDplLm5vb3B9KSl9LF9maW5kQWN0aXZlOmZ1bmN0aW9uKHQpe3JldHVybiJudW1iZXIiPT10eXBlb2YgdD90aGlzLmhlYWRlcnMuZXEodCk6ZSgpfSxfc2V0dXBFdmVudHM6ZnVuY3Rpb24odCl7dmFyIGk9e2tleWRvd246Il9rZXlkb3duIn07dCYmZS5lYWNoKHQuc3BsaXQoIiAiKSxmdW5jdGlvbihlLHQpe2lbdF09Il9ldmVudEhhbmRsZXIifSksdGhpcy5fb2ZmKHRoaXMuaGVhZGVycy5hZGQodGhpcy5oZWFkZXJzLm5leHQoKSkpLHRoaXMuX29uKHRoaXMuaGVhZGVycyxpKSx0aGlzLl9vbih0aGlzLmhlYWRlcnMubmV4dCgpLHtrZXlkb3duOiJfcGFuZWxLZXlEb3duIn0pLHRoaXMuX2hvdmVyYWJsZSh0aGlzLmhlYWRlcnMpLHRoaXMuX2ZvY3VzYWJsZSh0aGlzLmhlYWRlcnMpfSxfZXZlbnRIYW5kbGVyOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucyxzPXRoaXMuYWN0aXZlLG49ZSh0LmN1cnJlbnRUYXJnZXQpLGE9blswXT09PXNbMF0sbz1hJiZpLmNvbGxhcHNpYmxlLHI9bz9lKCk6bi5uZXh0KCksaD1zLm5leHQoKSxsPXtvbGRIZWFkZXI6cyxvbGRQYW5lbDpoLG5ld0hlYWRlcjpvP2UoKTpuLG5ld1BhbmVsOnJ9O3QucHJldmVudERlZmF1bHQoKSxhJiYhaS5jb2xsYXBzaWJsZXx8dGhpcy5fdHJpZ2dlcigiYmVmb3JlQWN0aXZhdGUiLHQsbCk9PT0hMXx8KGkuYWN0aXZlPW8/ITE6dGhpcy5oZWFkZXJzLmluZGV4KG4pLHRoaXMuYWN0aXZlPWE/ZSgpOm4sdGhpcy5fdG9nZ2xlKGwpLHMucmVtb3ZlQ2xhc3MoInVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSIpLGkuaWNvbnMmJnMuY2hpbGRyZW4oIi51aS1hY2NvcmRpb24taGVhZGVyLWljb24iKS5yZW1vdmVDbGFzcyhpLmljb25zLmFjdGl2ZUhlYWRlcikuYWRkQ2xhc3MoaS5pY29ucy5oZWFkZXIpLGF8fChuLnJlbW92ZUNsYXNzKCJ1aS1jb3JuZXItYWxsIikuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1oZWFkZXItYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSB1aS1jb3JuZXItdG9wIiksaS5pY29ucyYmbi5jaGlsZHJlbigiLnVpLWFjY29yZGlvbi1oZWFkZXItaWNvbiIpLnJlbW92ZUNsYXNzKGkuaWNvbnMuaGVhZGVyKS5hZGRDbGFzcyhpLmljb25zLmFjdGl2ZUhlYWRlciksbi5uZXh0KCkuYWRkQ2xhc3MoInVpLWFjY29yZGlvbi1jb250ZW50LWFjdGl2ZSIpKSl9LF90b2dnbGU6ZnVuY3Rpb24odCl7dmFyIGk9dC5uZXdQYW5lbCxzPXRoaXMucHJldlNob3cubGVuZ3RoP3RoaXMucHJldlNob3c6dC5vbGRQYW5lbDt0aGlzLnByZXZTaG93LmFkZCh0aGlzLnByZXZIaWRlKS5zdG9wKCEwLCEwKSx0aGlzLnByZXZTaG93PWksdGhpcy5wcmV2SGlkZT1zLHRoaXMub3B0aW9ucy5hbmltYXRlP3RoaXMuX2FuaW1hdGUoaSxzLHQpOihzLmhpZGUoKSxpLnNob3coKSx0aGlzLl90b2dnbGVDb21wbGV0ZSh0KSkscy5hdHRyKHsiYXJpYS1oaWRkZW4iOiJ0cnVlIn0pLHMucHJldigpLmF0dHIoeyJhcmlhLXNlbGVjdGVkIjoiZmFsc2UiLCJhcmlhLWV4cGFuZGVkIjoiZmFsc2UifSksaS5sZW5ndGgmJnMubGVuZ3RoP3MucHJldigpLmF0dHIoe3RhYkluZGV4Oi0xLCJhcmlhLWV4cGFuZGVkIjoiZmFsc2UifSk6aS5sZW5ndGgmJnRoaXMuaGVhZGVycy5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gMD09PXBhcnNlSW50KGUodGhpcykuYXR0cigidGFiSW5kZXgiKSwxMCl9KS5hdHRyKCJ0YWJJbmRleCIsLTEpLGkuYXR0cigiYXJpYS1oaWRkZW4iLCJmYWxzZSIpLnByZXYoKS5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6InRydWUiLCJhcmlhLWV4cGFuZGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pfSxfYW5pbWF0ZTpmdW5jdGlvbihlLHQsaSl7dmFyIHMsbixhLG89dGhpcyxyPTAsaD1lLmNzcygiYm94LXNpemluZyIpLGw9ZS5sZW5ndGgmJighdC5sZW5ndGh8fGUuaW5kZXgoKTx0LmluZGV4KCkpLHU9dGhpcy5vcHRpb25zLmFuaW1hdGV8fHt9LGQ9bCYmdS5kb3dufHx1LGM9ZnVuY3Rpb24oKXtvLl90b2dnbGVDb21wbGV0ZShpKX07cmV0dXJuIm51bWJlciI9PXR5cGVvZiBkJiYoYT1kKSwic3RyaW5nIj09dHlwZW9mIGQmJihuPWQpLG49bnx8ZC5lYXNpbmd8fHUuZWFzaW5nLGE9YXx8ZC5kdXJhdGlvbnx8dS5kdXJhdGlvbix0Lmxlbmd0aD9lLmxlbmd0aD8ocz1lLnNob3coKS5vdXRlckhlaWdodCgpLHQuYW5pbWF0ZSh0aGlzLmhpZGVQcm9wcyx7ZHVyYXRpb246YSxlYXNpbmc6bixzdGVwOmZ1bmN0aW9uKGUsdCl7dC5ub3c9TWF0aC5yb3VuZChlKX19KSxlLmhpZGUoKS5hbmltYXRlKHRoaXMuc2hvd1Byb3BzLHtkdXJhdGlvbjphLGVhc2luZzpuLGNvbXBsZXRlOmMsc3RlcDpmdW5jdGlvbihlLGkpe2kubm93PU1hdGgucm91bmQoZSksImhlaWdodCIhPT1pLnByb3A/ImNvbnRlbnQtYm94Ij09PWgmJihyKz1pLm5vdyk6ImNvbnRlbnQiIT09by5vcHRpb25zLmhlaWdodFN0eWxlJiYoaS5ub3c9TWF0aC5yb3VuZChzLXQub3V0ZXJIZWlnaHQoKS1yKSxyPTApfX0pLHZvaWQgMCk6dC5hbmltYXRlKHRoaXMuaGlkZVByb3BzLGEsbixjKTplLmFuaW1hdGUodGhpcy5zaG93UHJvcHMsYSxuLGMpfSxfdG9nZ2xlQ29tcGxldGU6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5vbGRQYW5lbDt0LnJlbW92ZUNsYXNzKCJ1aS1hY2NvcmRpb24tY29udGVudC1hY3RpdmUiKS5wcmV2KCkucmVtb3ZlQ2xhc3MoInVpLWNvcm5lci10b3AiKS5hZGRDbGFzcygidWktY29ybmVyLWFsbCIpLHQubGVuZ3RoJiYodC5wYXJlbnQoKVswXS5jbGFzc05hbWU9dC5wYXJlbnQoKVswXS5jbGFzc05hbWUpLHRoaXMuX3RyaWdnZXIoImFjdGl2YXRlIixudWxsLGUpfX0pLGUud2lkZ2V0KCJ1aS5tZW51Iix7dmVyc2lvbjoiMS4xMS40IixkZWZhdWx0RWxlbWVudDoiPHVsPiIsZGVsYXk6MzAwLG9wdGlvbnM6e2ljb25zOntzdWJtZW51OiJ1aS1pY29uLWNhcmF0LTEtZSJ9LGl0ZW1zOiI+ICoiLG1lbnVzOiJ1bCIscG9zaXRpb246e215OiJsZWZ0LTEgdG9wIixhdDoicmlnaHQgdG9wIn0scm9sZToibWVudSIsYmx1cjpudWxsLGZvY3VzOm51bGwsc2VsZWN0Om51bGx9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLmFjdGl2ZU1lbnU9dGhpcy5lbGVtZW50LHRoaXMubW91c2VIYW5kbGVkPSExLHRoaXMuZWxlbWVudC51bmlxdWVJZCgpLmFkZENsYXNzKCJ1aS1tZW51IHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCIpLnRvZ2dsZUNsYXNzKCJ1aS1tZW51LWljb25zIiwhIXRoaXMuZWxlbWVudC5maW5kKCIudWktaWNvbiIpLmxlbmd0aCkuYXR0cih7cm9sZTp0aGlzLm9wdGlvbnMucm9sZSx0YWJJbmRleDowfSksdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIikuYXR0cigiYXJpYS1kaXNhYmxlZCIsInRydWUiKSx0aGlzLl9vbih7Im1vdXNlZG93biAudWktbWVudS1pdGVtIjpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCl9LCJjbGljayAudWktbWVudS1pdGVtIjpmdW5jdGlvbih0KXt2YXIgaT1lKHQudGFyZ2V0KTshdGhpcy5tb3VzZUhhbmRsZWQmJmkubm90KCIudWktc3RhdGUtZGlzYWJsZWQiKS5sZW5ndGgmJih0aGlzLnNlbGVjdCh0KSx0LmlzUHJvcGFnYXRpb25TdG9wcGVkKCl8fCh0aGlzLm1vdXNlSGFuZGxlZD0hMCksaS5oYXMoIi51aS1tZW51IikubGVuZ3RoP3RoaXMuZXhwYW5kKHQpOiF0aGlzLmVsZW1lbnQuaXMoIjpmb2N1cyIpJiZlKHRoaXMuZG9jdW1lbnRbMF0uYWN0aXZlRWxlbWVudCkuY2xvc2VzdCgiLnVpLW1lbnUiKS5sZW5ndGgmJih0aGlzLmVsZW1lbnQudHJpZ2dlcigiZm9jdXMiLFshMF0pLHRoaXMuYWN0aXZlJiYxPT09dGhpcy5hY3RpdmUucGFyZW50cygiLnVpLW1lbnUiKS5sZW5ndGgmJmNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSkpfSwibW91c2VlbnRlciAudWktbWVudS1pdGVtIjpmdW5jdGlvbih0KXtpZighdGhpcy5wcmV2aW91c0ZpbHRlcil7dmFyIGk9ZSh0LmN1cnJlbnRUYXJnZXQpO2kuc2libGluZ3MoIi51aS1zdGF0ZS1hY3RpdmUiKS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIiksdGhpcy5mb2N1cyh0LGkpfX0sbW91c2VsZWF2ZToiY29sbGFwc2VBbGwiLCJtb3VzZWxlYXZlIC51aS1tZW51IjoiY29sbGFwc2VBbGwiLGZvY3VzOmZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5hY3RpdmV8fHRoaXMuZWxlbWVudC5maW5kKHRoaXMub3B0aW9ucy5pdGVtcykuZXEoMCk7dHx8dGhpcy5mb2N1cyhlLGkpfSxibHVyOmZ1bmN0aW9uKHQpe3RoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7ZS5jb250YWlucyh0aGlzLmVsZW1lbnRbMF0sdGhpcy5kb2N1bWVudFswXS5hY3RpdmVFbGVtZW50KXx8dGhpcy5jb2xsYXBzZUFsbCh0KX0pfSxrZXlkb3duOiJfa2V5ZG93biJ9KSx0aGlzLnJlZnJlc2goKSx0aGlzLl9vbih0aGlzLmRvY3VtZW50LHtjbGljazpmdW5jdGlvbihlKXt0aGlzLl9jbG9zZU9uRG9jdW1lbnRDbGljayhlKSYmdGhpcy5jb2xsYXBzZUFsbChlKSx0aGlzLm1vdXNlSGFuZGxlZD0hMX19KX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQXR0cigiYXJpYS1hY3RpdmVkZXNjZW5kYW50IikuZmluZCgiLnVpLW1lbnUiKS5hZGRCYWNrKCkucmVtb3ZlQ2xhc3MoInVpLW1lbnUgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLW1lbnUtaWNvbnMgdWktZnJvbnQiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigidGFiSW5kZXgiKS5yZW1vdmVBdHRyKCJhcmlhLWxhYmVsbGVkYnkiKS5yZW1vdmVBdHRyKCJhcmlhLWV4cGFuZGVkIikucmVtb3ZlQXR0cigiYXJpYS1oaWRkZW4iKS5yZW1vdmVBdHRyKCJhcmlhLWRpc2FibGVkIikucmVtb3ZlVW5pcXVlSWQoKS5zaG93KCksdGhpcy5lbGVtZW50LmZpbmQoIi51aS1tZW51LWl0ZW0iKS5yZW1vdmVDbGFzcygidWktbWVudS1pdGVtIikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtZGlzYWJsZWQiKS5yZW1vdmVVbmlxdWVJZCgpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1ob3ZlciIpLnJlbW92ZUF0dHIoInRhYkluZGV4IikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtaGFzcG9wdXAiKS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpO3QuZGF0YSgidWktbWVudS1zdWJtZW51LWNhcmF0IikmJnQucmVtb3ZlKCl9KSx0aGlzLmVsZW1lbnQuZmluZCgiLnVpLW1lbnUtZGl2aWRlciIpLnJlbW92ZUNsYXNzKCJ1aS1tZW51LWRpdmlkZXIgdWktd2lkZ2V0LWNvbnRlbnQiKX0sX2tleWRvd246ZnVuY3Rpb24odCl7dmFyIGkscyxuLGEsbz0hMDtzd2l0Y2godC5rZXlDb2RlKXtjYXNlIGUudWkua2V5Q29kZS5QQUdFX1VQOnRoaXMucHJldmlvdXNQYWdlKHQpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLlBBR0VfRE9XTjp0aGlzLm5leHRQYWdlKHQpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkhPTUU6dGhpcy5fbW92ZSgiZmlyc3QiLCJmaXJzdCIsdCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuRU5EOnRoaXMuX21vdmUoImxhc3QiLCJsYXN0Iix0KTticmVhaztjYXNlIGUudWkua2V5Q29kZS5VUDp0aGlzLnByZXZpb3VzKHQpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkRPV046dGhpcy5uZXh0KHQpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkxFRlQ6dGhpcy5jb2xsYXBzZSh0KTticmVhaztjYXNlIGUudWkua2V5Q29kZS5SSUdIVDp0aGlzLmFjdGl2ZSYmIXRoaXMuYWN0aXZlLmlzKCIudWktc3RhdGUtZGlzYWJsZWQiKSYmdGhpcy5leHBhbmQodCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuRU5URVI6Y2FzZSBlLnVpLmtleUNvZGUuU1BBQ0U6dGhpcy5fYWN0aXZhdGUodCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuRVNDQVBFOnRoaXMuY29sbGFwc2UodCk7YnJlYWs7ZGVmYXVsdDpvPSExLHM9dGhpcy5wcmV2aW91c0ZpbHRlcnx8IiIsbj1TdHJpbmcuZnJvbUNoYXJDb2RlKHQua2V5Q29kZSksYT0hMSxjbGVhclRpbWVvdXQodGhpcy5maWx0ZXJUaW1lciksbj09PXM/YT0hMDpuPXMrbixpPXRoaXMuX2ZpbHRlck1lbnVJdGVtcyhuKSxpPWEmJi0xIT09aS5pbmRleCh0aGlzLmFjdGl2ZS5uZXh0KCkpP3RoaXMuYWN0aXZlLm5leHRBbGwoIi51aS1tZW51LWl0ZW0iKTppLGkubGVuZ3RofHwobj1TdHJpbmcuZnJvbUNoYXJDb2RlKHQua2V5Q29kZSksaT10aGlzLl9maWx0ZXJNZW51SXRlbXMobikpLGkubGVuZ3RoPyh0aGlzLmZvY3VzKHQsaSksdGhpcy5wcmV2aW91c0ZpbHRlcj1uLHRoaXMuZmlsdGVyVGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5wcmV2aW91c0ZpbHRlcn0sMWUzKSk6ZGVsZXRlIHRoaXMucHJldmlvdXNGaWx0ZXJ9byYmdC5wcmV2ZW50RGVmYXVsdCgpfSxfYWN0aXZhdGU6ZnVuY3Rpb24oZSl7dGhpcy5hY3RpdmUuaXMoIi51aS1zdGF0ZS1kaXNhYmxlZCIpfHwodGhpcy5hY3RpdmUuaXMoIlthcmlhLWhhc3BvcHVwPSd0cnVlJ10iKT90aGlzLmV4cGFuZChlKTp0aGlzLnNlbGVjdChlKSl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgdCxpLHM9dGhpcyxuPXRoaXMub3B0aW9ucy5pY29ucy5zdWJtZW51LGE9dGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLm1lbnVzKTt0aGlzLmVsZW1lbnQudG9nZ2xlQ2xhc3MoInVpLW1lbnUtaWNvbnMiLCEhdGhpcy5lbGVtZW50LmZpbmQoIi51aS1pY29uIikubGVuZ3RoKSxhLmZpbHRlcigiOm5vdCgudWktbWVudSkiKS5hZGRDbGFzcygidWktbWVudSB1aS13aWRnZXQgdWktd2lkZ2V0LWNvbnRlbnQgdWktZnJvbnQiKS5oaWRlKCkuYXR0cih7cm9sZTp0aGlzLm9wdGlvbnMucm9sZSwiYXJpYS1oaWRkZW4iOiJ0cnVlIiwiYXJpYS1leHBhbmRlZCI6ImZhbHNlIn0pLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLGk9dC5wYXJlbnQoKSxzPWUoIjxzcGFuPiIpLmFkZENsYXNzKCJ1aS1tZW51LWljb24gdWktaWNvbiAiK24pLmRhdGEoInVpLW1lbnUtc3VibWVudS1jYXJhdCIsITApO2kuYXR0cigiYXJpYS1oYXNwb3B1cCIsInRydWUiKS5wcmVwZW5kKHMpLHQuYXR0cigiYXJpYS1sYWJlbGxlZGJ5IixpLmF0dHIoImlkIikpfSksdD1hLmFkZCh0aGlzLmVsZW1lbnQpLGk9dC5maW5kKHRoaXMub3B0aW9ucy5pdGVtcyksaS5ub3QoIi51aS1tZW51LWl0ZW0iKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtzLl9pc0RpdmlkZXIodCkmJnQuYWRkQ2xhc3MoInVpLXdpZGdldC1jb250ZW50IHVpLW1lbnUtZGl2aWRlciIpfSksaS5ub3QoIi51aS1tZW51LWl0ZW0sIC51aS1tZW51LWRpdmlkZXIiKS5hZGRDbGFzcygidWktbWVudS1pdGVtIikudW5pcXVlSWQoKS5hdHRyKHt0YWJJbmRleDotMSxyb2xlOnRoaXMuX2l0ZW1Sb2xlKCl9KSxpLmZpbHRlcigiLnVpLXN0YXRlLWRpc2FibGVkIikuYXR0cigiYXJpYS1kaXNhYmxlZCIsInRydWUiKSx0aGlzLmFjdGl2ZSYmIWUuY29udGFpbnModGhpcy5lbGVtZW50WzBdLHRoaXMuYWN0aXZlWzBdKSYmdGhpcy5ibHVyKCl9LF9pdGVtUm9sZTpmdW5jdGlvbigpe3JldHVybnttZW51OiJtZW51aXRlbSIsbGlzdGJveDoib3B0aW9uIn1bdGhpcy5vcHRpb25zLnJvbGVdfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGUsdCl7Imljb25zIj09PWUmJnRoaXMuZWxlbWVudC5maW5kKCIudWktbWVudS1pY29uIikucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmljb25zLnN1Ym1lbnUpLmFkZENsYXNzKHQuc3VibWVudSksImRpc2FibGVkIj09PWUmJnRoaXMuZWxlbWVudC50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLCEhdCkuYXR0cigiYXJpYS1kaXNhYmxlZCIsdCksdGhpcy5fc3VwZXIoZSx0KX0sZm9jdXM6ZnVuY3Rpb24oZSx0KXt2YXIgaSxzO3RoaXMuYmx1cihlLGUmJiJmb2N1cyI9PT1lLnR5cGUpLHRoaXMuX3Njcm9sbEludG9WaWV3KHQpLHRoaXMuYWN0aXZlPXQuZmlyc3QoKSxzPXRoaXMuYWN0aXZlLmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKSx0aGlzLm9wdGlvbnMucm9sZSYmdGhpcy5lbGVtZW50LmF0dHIoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIscy5hdHRyKCJpZCIpKSx0aGlzLmFjdGl2ZS5wYXJlbnQoKS5jbG9zZXN0KCIudWktbWVudS1pdGVtIikuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLGUmJiJrZXlkb3duIj09PWUudHlwZT90aGlzLl9jbG9zZSgpOnRoaXMudGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLl9jbG9zZSgpfSx0aGlzLmRlbGF5KSxpPXQuY2hpbGRyZW4oIi51aS1tZW51IiksaS5sZW5ndGgmJmUmJi9ebW91c2UvLnRlc3QoZS50eXBlKSYmdGhpcy5fc3RhcnRPcGVuaW5nKGkpLHRoaXMuYWN0aXZlTWVudT10LnBhcmVudCgpLHRoaXMuX3RyaWdnZXIoImZvY3VzIixlLHtpdGVtOnR9KX0sX3Njcm9sbEludG9WaWV3OmZ1bmN0aW9uKHQpe3ZhciBpLHMsbixhLG8scjt0aGlzLl9oYXNTY3JvbGwoKSYmKGk9cGFyc2VGbG9hdChlLmNzcyh0aGlzLmFjdGl2ZU1lbnVbMF0sImJvcmRlclRvcFdpZHRoIikpfHwwLHM9cGFyc2VGbG9hdChlLmNzcyh0aGlzLmFjdGl2ZU1lbnVbMF0sInBhZGRpbmdUb3AiKSl8fDAsbj10Lm9mZnNldCgpLnRvcC10aGlzLmFjdGl2ZU1lbnUub2Zmc2V0KCkudG9wLWktcyxhPXRoaXMuYWN0aXZlTWVudS5zY3JvbGxUb3AoKSxvPXRoaXMuYWN0aXZlTWVudS5oZWlnaHQoKSxyPXQub3V0ZXJIZWlnaHQoKSwwPm4/dGhpcy5hY3RpdmVNZW51LnNjcm9sbFRvcChhK24pOm4rcj5vJiZ0aGlzLmFjdGl2ZU1lbnUuc2Nyb2xsVG9wKGErbi1vK3IpKX0sYmx1cjpmdW5jdGlvbihlLHQpe3R8fGNsZWFyVGltZW91dCh0aGlzLnRpbWVyKSx0aGlzLmFjdGl2ZSYmKHRoaXMuYWN0aXZlLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpLHRoaXMuYWN0aXZlPW51bGwsdGhpcy5fdHJpZ2dlcigiYmx1ciIsZSx7aXRlbTp0aGlzLmFjdGl2ZX0pKX0sX3N0YXJ0T3BlbmluZzpmdW5jdGlvbihlKXtjbGVhclRpbWVvdXQodGhpcy50aW1lciksInRydWUiPT09ZS5hdHRyKCJhcmlhLWhpZGRlbiIpJiYodGhpcy50aW1lcj10aGlzLl9kZWxheShmdW5jdGlvbigpe3RoaXMuX2Nsb3NlKCksdGhpcy5fb3BlbihlKX0sdGhpcy5kZWxheSkpfSxfb3BlbjpmdW5jdGlvbih0KXt2YXIgaT1lLmV4dGVuZCh7b2Y6dGhpcy5hY3RpdmV9LHRoaXMub3B0aW9ucy5wb3NpdGlvbik7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMuZWxlbWVudC5maW5kKCIudWktbWVudSIpLm5vdCh0LnBhcmVudHMoIi51aS1tZW51IikpLmhpZGUoKS5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0LnNob3coKS5yZW1vdmVBdHRyKCJhcmlhLWhpZGRlbiIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJ0cnVlIikucG9zaXRpb24oaSl9LGNvbGxhcHNlQWxsOmZ1bmN0aW9uKHQsaSl7Y2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt2YXIgcz1pP3RoaXMuZWxlbWVudDplKHQmJnQudGFyZ2V0KS5jbG9zZXN0KHRoaXMuZWxlbWVudC5maW5kKCIudWktbWVudSIpKTtzLmxlbmd0aHx8KHM9dGhpcy5lbGVtZW50KSx0aGlzLl9jbG9zZShzKSx0aGlzLmJsdXIodCksdGhpcy5hY3RpdmVNZW51PXN9LHRoaXMuZGVsYXkpfSxfY2xvc2U6ZnVuY3Rpb24oZSl7ZXx8KGU9dGhpcy5hY3RpdmU/dGhpcy5hY3RpdmUucGFyZW50KCk6dGhpcy5lbGVtZW50KSxlLmZpbmQoIi51aS1tZW51IikuaGlkZSgpLmF0dHIoImFyaWEtaGlkZGVuIiwidHJ1ZSIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCJmYWxzZSIpLmVuZCgpLmZpbmQoIi51aS1zdGF0ZS1hY3RpdmUiKS5ub3QoIi51aS1zdGF0ZS1mb2N1cyIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKX0sX2Nsb3NlT25Eb2N1bWVudENsaWNrOmZ1bmN0aW9uKHQpe3JldHVybiFlKHQudGFyZ2V0KS5jbG9zZXN0KCIudWktbWVudSIpLmxlbmd0aH0sX2lzRGl2aWRlcjpmdW5jdGlvbihlKXtyZXR1cm4hL1teXC1cdTIwMTRcdTIwMTNcc10vLnRlc3QoZS50ZXh0KCkpfSxjb2xsYXBzZTpmdW5jdGlvbihlKXt2YXIgdD10aGlzLmFjdGl2ZSYmdGhpcy5hY3RpdmUucGFyZW50KCkuY2xvc2VzdCgiLnVpLW1lbnUtaXRlbSIsdGhpcy5lbGVtZW50KTt0JiZ0Lmxlbmd0aCYmKHRoaXMuX2Nsb3NlKCksdGhpcy5mb2N1cyhlLHQpKX0sZXhwYW5kOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYWN0aXZlJiZ0aGlzLmFjdGl2ZS5jaGlsZHJlbigiLnVpLW1lbnUgIikuZmluZCh0aGlzLm9wdGlvbnMuaXRlbXMpLmZpcnN0KCk7dCYmdC5sZW5ndGgmJih0aGlzLl9vcGVuKHQucGFyZW50KCkpLHRoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dGhpcy5mb2N1cyhlLHQpfSkpfSxuZXh0OmZ1bmN0aW9uKGUpe3RoaXMuX21vdmUoIm5leHQiLCJmaXJzdCIsZSl9LHByZXZpb3VzOmZ1bmN0aW9uKGUpe3RoaXMuX21vdmUoInByZXYiLCJsYXN0IixlKX0saXNGaXJzdEl0ZW06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hY3RpdmUmJiF0aGlzLmFjdGl2ZS5wcmV2QWxsKCIudWktbWVudS1pdGVtIikubGVuZ3RofSxpc0xhc3RJdGVtOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYWN0aXZlJiYhdGhpcy5hY3RpdmUubmV4dEFsbCgiLnVpLW1lbnUtaXRlbSIpLmxlbmd0aH0sX21vdmU6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzO3RoaXMuYWN0aXZlJiYocz0iZmlyc3QiPT09ZXx8Imxhc3QiPT09ZT90aGlzLmFjdGl2ZVsiZmlyc3QiPT09ZT8icHJldkFsbCI6Im5leHRBbGwiXSgiLnVpLW1lbnUtaXRlbSIpLmVxKC0xKTp0aGlzLmFjdGl2ZVtlKyJBbGwiXSgiLnVpLW1lbnUtaXRlbSIpLmVxKDApKSxzJiZzLmxlbmd0aCYmdGhpcy5hY3RpdmV8fChzPXRoaXMuYWN0aXZlTWVudS5maW5kKHRoaXMub3B0aW9ucy5pdGVtcylbdF0oKSksdGhpcy5mb2N1cyhpLHMpfSxuZXh0UGFnZTpmdW5jdGlvbih0KXt2YXIgaSxzLG47cmV0dXJuIHRoaXMuYWN0aXZlPyh0aGlzLmlzTGFzdEl0ZW0oKXx8KHRoaXMuX2hhc1Njcm9sbCgpPyhzPXRoaXMuYWN0aXZlLm9mZnNldCgpLnRvcCxuPXRoaXMuZWxlbWVudC5oZWlnaHQoKSx0aGlzLmFjdGl2ZS5uZXh0QWxsKCIudWktbWVudS1pdGVtIikuZWFjaChmdW5jdGlvbigpe3JldHVybiBpPWUodGhpcyksMD5pLm9mZnNldCgpLnRvcC1zLW59KSx0aGlzLmZvY3VzKHQsaSkpOnRoaXMuZm9jdXModCx0aGlzLmFjdGl2ZU1lbnUuZmluZCh0aGlzLm9wdGlvbnMuaXRlbXMpW3RoaXMuYWN0aXZlPyJsYXN0IjoiZmlyc3QiXSgpKSksdm9pZCAwKToodGhpcy5uZXh0KHQpLHZvaWQgMCl9LHByZXZpb3VzUGFnZTpmdW5jdGlvbih0KXt2YXIgaSxzLG47cmV0dXJuIHRoaXMuYWN0aXZlPyh0aGlzLmlzRmlyc3RJdGVtKCl8fCh0aGlzLl9oYXNTY3JvbGwoKT8ocz10aGlzLmFjdGl2ZS5vZmZzZXQoKS50b3Asbj10aGlzLmVsZW1lbnQuaGVpZ2h0KCksdGhpcy5hY3RpdmUucHJldkFsbCgiLnVpLW1lbnUtaXRlbSIpLmVhY2goZnVuY3Rpb24oKXtyZXR1cm4gaT1lKHRoaXMpLGkub2Zmc2V0KCkudG9wLXMrbj4wfSksdGhpcy5mb2N1cyh0LGkpKTp0aGlzLmZvY3VzKHQsdGhpcy5hY3RpdmVNZW51LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKS5maXJzdCgpKSksdm9pZCAwKToodGhpcy5uZXh0KHQpLHZvaWQgMCl9LF9oYXNTY3JvbGw6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCk8dGhpcy5lbGVtZW50LnByb3AoInNjcm9sbEhlaWdodCIpfSxzZWxlY3Q6ZnVuY3Rpb24odCl7dGhpcy5hY3RpdmU9dGhpcy5hY3RpdmV8fGUodC50YXJnZXQpLmNsb3Nlc3QoIi51aS1tZW51LWl0ZW0iKTt2YXIgaT17aXRlbTp0aGlzLmFjdGl2ZX07dGhpcy5hY3RpdmUuaGFzKCIudWktbWVudSIpLmxlbmd0aHx8dGhpcy5jb2xsYXBzZUFsbCh0LCEwKSx0aGlzLl90cmlnZ2VyKCJzZWxlY3QiLHQsaSl9LF9maWx0ZXJNZW51SXRlbXM6ZnVuY3Rpb24odCl7dmFyIGk9dC5yZXBsYWNlKC9bXC1cW1xde30oKSorPy4sXFxcXiR8I1xzXS9nLCJcXCQmIikscz1SZWdFeHAoIl4iK2ksImkiKTtyZXR1cm4gdGhpcy5hY3RpdmVNZW51LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKS5maWx0ZXIoIi51aS1tZW51LWl0ZW0iKS5maWx0ZXIoZnVuY3Rpb24oKXtyZXR1cm4gcy50ZXN0KGUudHJpbShlKHRoaXMpLnRleHQoKSkpfSl9fSksZS53aWRnZXQoInVpLmF1dG9jb21wbGV0ZSIse3ZlcnNpb246IjEuMTEuNCIsZGVmYXVsdEVsZW1lbnQ6IjxpbnB1dD4iLG9wdGlvbnM6e2FwcGVuZFRvOm51bGwsYXV0b0ZvY3VzOiExLGRlbGF5OjMwMCxtaW5MZW5ndGg6MSxwb3NpdGlvbjp7bXk6ImxlZnQgdG9wIixhdDoibGVmdCBib3R0b20iLGNvbGxpc2lvbjoibm9uZSJ9LHNvdXJjZTpudWxsLGNoYW5nZTpudWxsLGNsb3NlOm51bGwsZm9jdXM6bnVsbCxvcGVuOm51bGwscmVzcG9uc2U6bnVsbCxzZWFyY2g6bnVsbCxzZWxlY3Q6bnVsbH0scmVxdWVzdEluZGV4OjAscGVuZGluZzowLF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgdCxpLHMsbj10aGlzLmVsZW1lbnRbMF0ubm9kZU5hbWUudG9Mb3dlckNhc2UoKSxhPSJ0ZXh0YXJlYSI9PT1uLG89ImlucHV0Ij09PW47dGhpcy5pc011bHRpTGluZT1hPyEwOm8/ITE6dGhpcy5lbGVtZW50LnByb3AoImlzQ29udGVudEVkaXRhYmxlIiksdGhpcy52YWx1ZU1ldGhvZD10aGlzLmVsZW1lbnRbYXx8bz8idmFsIjoidGV4dCJdLHRoaXMuaXNOZXdNZW51PSEwLHRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYXV0b2NvbXBsZXRlLWlucHV0IikuYXR0cigiYXV0b2NvbXBsZXRlIiwib2ZmIiksdGhpcy5fb24odGhpcy5lbGVtZW50LHtrZXlkb3duOmZ1bmN0aW9uKG4pe2lmKHRoaXMuZWxlbWVudC5wcm9wKCJyZWFkT25seSIpKXJldHVybiB0PSEwLHM9ITAsaT0hMCx2b2lkIDA7dD0hMSxzPSExLGk9ITE7dmFyIGE9ZS51aS5rZXlDb2RlO3N3aXRjaChuLmtleUNvZGUpe2Nhc2UgYS5QQUdFX1VQOnQ9ITAsdGhpcy5fbW92ZSgicHJldmlvdXNQYWdlIixuKTticmVhaztjYXNlIGEuUEFHRV9ET1dOOnQ9ITAsdGhpcy5fbW92ZSgibmV4dFBhZ2UiLG4pO2JyZWFrO2Nhc2UgYS5VUDp0PSEwLHRoaXMuX2tleUV2ZW50KCJwcmV2aW91cyIsbik7YnJlYWs7Y2FzZSBhLkRPV046dD0hMCx0aGlzLl9rZXlFdmVudCgibmV4dCIsbik7YnJlYWs7Y2FzZSBhLkVOVEVSOnRoaXMubWVudS5hY3RpdmUmJih0PSEwLG4ucHJldmVudERlZmF1bHQoKSx0aGlzLm1lbnUuc2VsZWN0KG4pKTticmVhaztjYXNlIGEuVEFCOnRoaXMubWVudS5hY3RpdmUmJnRoaXMubWVudS5zZWxlY3Qobik7YnJlYWs7Y2FzZSBhLkVTQ0FQRTp0aGlzLm1lbnUuZWxlbWVudC5pcygiOnZpc2libGUiKSYmKHRoaXMuaXNNdWx0aUxpbmV8fHRoaXMuX3ZhbHVlKHRoaXMudGVybSksdGhpcy5jbG9zZShuKSxuLnByZXZlbnREZWZhdWx0KCkpO2JyZWFrO2RlZmF1bHQ6aT0hMCx0aGlzLl9zZWFyY2hUaW1lb3V0KG4pfX0sa2V5cHJlc3M6ZnVuY3Rpb24ocyl7aWYodClyZXR1cm4gdD0hMSwoIXRoaXMuaXNNdWx0aUxpbmV8fHRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpKSYmcy5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgMDtpZighaSl7dmFyIG49ZS51aS5rZXlDb2RlO3N3aXRjaChzLmtleUNvZGUpe2Nhc2Ugbi5QQUdFX1VQOnRoaXMuX21vdmUoInByZXZpb3VzUGFnZSIscyk7YnJlYWs7Y2FzZSBuLlBBR0VfRE9XTjp0aGlzLl9tb3ZlKCJuZXh0UGFnZSIscyk7YnJlYWs7Y2FzZSBuLlVQOnRoaXMuX2tleUV2ZW50KCJwcmV2aW91cyIscyk7YnJlYWs7Y2FzZSBuLkRPV046dGhpcy5fa2V5RXZlbnQoIm5leHQiLHMpfX19LGlucHV0OmZ1bmN0aW9uKGUpe3JldHVybiBzPyhzPSExLGUucHJldmVudERlZmF1bHQoKSx2b2lkIDApOih0aGlzLl9zZWFyY2hUaW1lb3V0KGUpLHZvaWQgMCl9LGZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5zZWxlY3RlZEl0ZW09bnVsbCx0aGlzLnByZXZpb3VzPXRoaXMuX3ZhbHVlKCl9LGJsdXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY2FuY2VsQmx1cj8oZGVsZXRlIHRoaXMuY2FuY2VsQmx1cix2b2lkIDApOihjbGVhclRpbWVvdXQodGhpcy5zZWFyY2hpbmcpLHRoaXMuY2xvc2UoZSksdGhpcy5fY2hhbmdlKGUpLHZvaWQgMCl9fSksdGhpcy5faW5pdFNvdXJjZSgpLHRoaXMubWVudT1lKCI8dWw+IikuYWRkQ2xhc3MoInVpLWF1dG9jb21wbGV0ZSB1aS1mcm9udCIpLmFwcGVuZFRvKHRoaXMuX2FwcGVuZFRvKCkpLm1lbnUoe3JvbGU6bnVsbH0pLmhpZGUoKS5tZW51KCJpbnN0YW5jZSIpLHRoaXMuX29uKHRoaXMubWVudS5lbGVtZW50LHttb3VzZWRvd246ZnVuY3Rpb24odCl7dC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2FuY2VsQmx1cj0hMCx0aGlzLl9kZWxheShmdW5jdGlvbigpe2RlbGV0ZSB0aGlzLmNhbmNlbEJsdXJ9KTt2YXIgaT10aGlzLm1lbnUuZWxlbWVudFswXTtlKHQudGFyZ2V0KS5jbG9zZXN0KCIudWktbWVudS1pdGVtIikubGVuZ3RofHx0aGlzLl9kZWxheShmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5kb2N1bWVudC5vbmUoIm1vdXNlZG93biIsZnVuY3Rpb24ocyl7cy50YXJnZXQ9PT10LmVsZW1lbnRbMF18fHMudGFyZ2V0PT09aXx8ZS5jb250YWlucyhpLHMudGFyZ2V0KXx8dC5jbG9zZSgpfSl9KX0sbWVudWZvY3VzOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbjtyZXR1cm4gdGhpcy5pc05ld01lbnUmJih0aGlzLmlzTmV3TWVudT0hMSx0Lm9yaWdpbmFsRXZlbnQmJi9ebW91c2UvLnRlc3QodC5vcmlnaW5hbEV2ZW50LnR5cGUpKT8odGhpcy5tZW51LmJsdXIoKSx0aGlzLmRvY3VtZW50Lm9uZSgibW91c2Vtb3ZlIixmdW5jdGlvbigpe2UodC50YXJnZXQpLnRyaWdnZXIodC5vcmlnaW5hbEV2ZW50KX0pLHZvaWQgMCk6KG49aS5pdGVtLmRhdGEoInVpLWF1dG9jb21wbGV0ZS1pdGVtIiksITEhPT10aGlzLl90cmlnZ2VyKCJmb2N1cyIsdCx7aXRlbTpufSkmJnQub3JpZ2luYWxFdmVudCYmL15rZXkvLnRlc3QodC5vcmlnaW5hbEV2ZW50LnR5cGUpJiZ0aGlzLl92YWx1ZShuLnZhbHVlKSxzPWkuaXRlbS5hdHRyKCJhcmlhLWxhYmVsIil8fG4udmFsdWUscyYmZS50cmltKHMpLmxlbmd0aCYmKHRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKSxlKCI8ZGl2PiIpLnRleHQocykuYXBwZW5kVG8odGhpcy5saXZlUmVnaW9uKSksdm9pZCAwKX0sbWVudXNlbGVjdDpmdW5jdGlvbihlLHQpe3ZhciBpPXQuaXRlbS5kYXRhKCJ1aS1hdXRvY29tcGxldGUtaXRlbSIpLHM9dGhpcy5wcmV2aW91czt0aGlzLmVsZW1lbnRbMF0hPT10aGlzLmRvY3VtZW50WzBdLmFjdGl2ZUVsZW1lbnQmJih0aGlzLmVsZW1lbnQuZm9jdXMoKSx0aGlzLnByZXZpb3VzPXMsdGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLnByZXZpb3VzPXMsdGhpcy5zZWxlY3RlZEl0ZW09aX0pKSwhMSE9PXRoaXMuX3RyaWdnZXIoInNlbGVjdCIsZSx7aXRlbTppfSkmJnRoaXMuX3ZhbHVlKGkudmFsdWUpLHRoaXMudGVybT10aGlzLl92YWx1ZSgpLHRoaXMuY2xvc2UoZSksdGhpcy5zZWxlY3RlZEl0ZW09aX19KSx0aGlzLmxpdmVSZWdpb249ZSgiPHNwYW4+Iix7cm9sZToic3RhdHVzIiwiYXJpYS1saXZlIjoiYXNzZXJ0aXZlIiwiYXJpYS1yZWxldmFudCI6ImFkZGl0aW9ucyJ9KS5hZGRDbGFzcygidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIikuYXBwZW5kVG8odGhpcy5kb2N1bWVudFswXS5ib2R5KSx0aGlzLl9vbih0aGlzLndpbmRvdyx7YmVmb3JldW5sb2FkOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoImF1dG9jb21wbGV0ZSIpfX0pfSxfZGVzdHJveTpmdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLnNlYXJjaGluZyksdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1hdXRvY29tcGxldGUtaW5wdXQiKS5yZW1vdmVBdHRyKCJhdXRvY29tcGxldGUiKSx0aGlzLm1lbnUuZWxlbWVudC5yZW1vdmUoKSx0aGlzLmxpdmVSZWdpb24ucmVtb3ZlKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXt0aGlzLl9zdXBlcihlLHQpLCJzb3VyY2UiPT09ZSYmdGhpcy5faW5pdFNvdXJjZSgpLCJhcHBlbmRUbyI9PT1lJiZ0aGlzLm1lbnUuZWxlbWVudC5hcHBlbmRUbyh0aGlzLl9hcHBlbmRUbygpKSwiZGlzYWJsZWQiPT09ZSYmdCYmdGhpcy54aHImJnRoaXMueGhyLmFib3J0KCl9LF9hcHBlbmRUbzpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5hcHBlbmRUbztyZXR1cm4gdCYmKHQ9dC5qcXVlcnl8fHQubm9kZVR5cGU/ZSh0KTp0aGlzLmRvY3VtZW50LmZpbmQodCkuZXEoMCkpLHQmJnRbMF18fCh0PXRoaXMuZWxlbWVudC5jbG9zZXN0KCIudWktZnJvbnQiKSksdC5sZW5ndGh8fCh0PXRoaXMuZG9jdW1lbnRbMF0uYm9keSksdH0sX2luaXRTb3VyY2U6ZnVuY3Rpb24oKXt2YXIgdCxpLHM9dGhpcztlLmlzQXJyYXkodGhpcy5vcHRpb25zLnNvdXJjZSk/KHQ9dGhpcy5vcHRpb25zLnNvdXJjZSx0aGlzLnNvdXJjZT1mdW5jdGlvbihpLHMpe3MoZS51aS5hdXRvY29tcGxldGUuZmlsdGVyKHQsaS50ZXJtKSl9KToic3RyaW5nIj09dHlwZW9mIHRoaXMub3B0aW9ucy5zb3VyY2U/KGk9dGhpcy5vcHRpb25zLnNvdXJjZSx0aGlzLnNvdXJjZT1mdW5jdGlvbih0LG4pe3MueGhyJiZzLnhoci5hYm9ydCgpLHMueGhyPWUuYWpheCh7dXJsOmksZGF0YTp0LGRhdGFUeXBlOiJqc29uIixzdWNjZXNzOmZ1bmN0aW9uKGUpe24oZSl9LGVycm9yOmZ1bmN0aW9uKCl7bihbXSl9fSl9KTp0aGlzLnNvdXJjZT10aGlzLm9wdGlvbnMuc291cmNlfSxfc2VhcmNoVGltZW91dDpmdW5jdGlvbihlKXtjbGVhclRpbWVvdXQodGhpcy5zZWFyY2hpbmcpLHRoaXMuc2VhcmNoaW5nPXRoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50ZXJtPT09dGhpcy5fdmFsdWUoKSxpPXRoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpLHM9ZS5hbHRLZXl8fGUuY3RybEtleXx8ZS5tZXRhS2V5fHxlLnNoaWZ0S2V5OyghdHx8dCYmIWkmJiFzKSYmKHRoaXMuc2VsZWN0ZWRJdGVtPW51bGwsdGhpcy5zZWFyY2gobnVsbCxlKSl9LHRoaXMub3B0aW9ucy5kZWxheSl9LHNlYXJjaDpmdW5jdGlvbihlLHQpe3JldHVybiBlPW51bGwhPWU/ZTp0aGlzLl92YWx1ZSgpLHRoaXMudGVybT10aGlzLl92YWx1ZSgpLGUubGVuZ3RoPHRoaXMub3B0aW9ucy5taW5MZW5ndGg/dGhpcy5jbG9zZSh0KTp0aGlzLl90cmlnZ2VyKCJzZWFyY2giLHQpIT09ITE/dGhpcy5fc2VhcmNoKGUpOnZvaWQgMH0sX3NlYXJjaDpmdW5jdGlvbihlKXt0aGlzLnBlbmRpbmcrKyx0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1sb2FkaW5nIiksdGhpcy5jYW5jZWxTZWFyY2g9ITEsdGhpcy5zb3VyY2Uoe3Rlcm06ZX0sdGhpcy5fcmVzcG9uc2UoKSl9LF9yZXNwb25zZTpmdW5jdGlvbigpe3ZhciB0PSsrdGhpcy5yZXF1ZXN0SW5kZXg7cmV0dXJuIGUucHJveHkoZnVuY3Rpb24oZSl7dD09PXRoaXMucmVxdWVzdEluZGV4JiZ0aGlzLl9fcmVzcG9uc2UoZSksdGhpcy5wZW5kaW5nLS0sdGhpcy5wZW5kaW5nfHx0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWF1dG9jb21wbGV0ZS1sb2FkaW5nIil9LHRoaXMpfSxfX3Jlc3BvbnNlOmZ1bmN0aW9uKGUpe2UmJihlPXRoaXMuX25vcm1hbGl6ZShlKSksdGhpcy5fdHJpZ2dlcigicmVzcG9uc2UiLG51bGwse2NvbnRlbnQ6ZX0pLCF0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJmUmJmUubGVuZ3RoJiYhdGhpcy5jYW5jZWxTZWFyY2g/KHRoaXMuX3N1Z2dlc3QoZSksdGhpcy5fdHJpZ2dlcigib3BlbiIpKTp0aGlzLl9jbG9zZSgpfSxjbG9zZTpmdW5jdGlvbihlKXt0aGlzLmNhbmNlbFNlYXJjaD0hMCx0aGlzLl9jbG9zZShlKX0sX2Nsb3NlOmZ1bmN0aW9uKGUpe3RoaXMubWVudS5lbGVtZW50LmlzKCI6dmlzaWJsZSIpJiYodGhpcy5tZW51LmVsZW1lbnQuaGlkZSgpLHRoaXMubWVudS5ibHVyKCksdGhpcy5pc05ld01lbnU9ITAsdGhpcy5fdHJpZ2dlcigiY2xvc2UiLGUpKX0sX2NoYW5nZTpmdW5jdGlvbihlKXt0aGlzLnByZXZpb3VzIT09dGhpcy5fdmFsdWUoKSYmdGhpcy5fdHJpZ2dlcigiY2hhbmdlIixlLHtpdGVtOnRoaXMuc2VsZWN0ZWRJdGVtfSl9LF9ub3JtYWxpemU6ZnVuY3Rpb24odCl7cmV0dXJuIHQubGVuZ3RoJiZ0WzBdLmxhYmVsJiZ0WzBdLnZhbHVlP3Q6ZS5tYXAodCxmdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/e2xhYmVsOnQsdmFsdWU6dH06ZS5leHRlbmQoe30sdCx7bGFiZWw6dC5sYWJlbHx8dC52YWx1ZSx2YWx1ZTp0LnZhbHVlfHx0LmxhYmVsfSl9KX0sX3N1Z2dlc3Q6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5tZW51LmVsZW1lbnQuZW1wdHkoKTt0aGlzLl9yZW5kZXJNZW51KGksdCksdGhpcy5pc05ld01lbnU9ITAsdGhpcy5tZW51LnJlZnJlc2goKSxpLnNob3coKSx0aGlzLl9yZXNpemVNZW51KCksaS5wb3NpdGlvbihlLmV4dGVuZCh7b2Y6dGhpcy5lbGVtZW50fSx0aGlzLm9wdGlvbnMucG9zaXRpb24pKSx0aGlzLm9wdGlvbnMuYXV0b0ZvY3VzJiZ0aGlzLm1lbnUubmV4dCgpfSxfcmVzaXplTWVudTpmdW5jdGlvbigpe3ZhciBlPXRoaXMubWVudS5lbGVtZW50O2Uub3V0ZXJXaWR0aChNYXRoLm1heChlLndpZHRoKCIiKS5vdXRlcldpZHRoKCkrMSx0aGlzLmVsZW1lbnQub3V0ZXJXaWR0aCgpKSl9LF9yZW5kZXJNZW51OmZ1bmN0aW9uKHQsaSl7dmFyIHM9dGhpcztlLmVhY2goaSxmdW5jdGlvbihlLGkpe3MuX3JlbmRlckl0ZW1EYXRhKHQsaSl9KX0sX3JlbmRlckl0ZW1EYXRhOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuX3JlbmRlckl0ZW0oZSx0KS5kYXRhKCJ1aS1hdXRvY29tcGxldGUtaXRlbSIsdCl9LF9yZW5kZXJJdGVtOmZ1bmN0aW9uKHQsaSl7cmV0dXJuIGUoIjxsaT4iKS50ZXh0KGkubGFiZWwpLmFwcGVuZFRvKHQpfSxfbW92ZTpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLm1lbnUuZWxlbWVudC5pcygiOnZpc2libGUiKT90aGlzLm1lbnUuaXNGaXJzdEl0ZW0oKSYmL15wcmV2aW91cy8udGVzdChlKXx8dGhpcy5tZW51LmlzTGFzdEl0ZW0oKSYmL15uZXh0Ly50ZXN0KGUpPyh0aGlzLmlzTXVsdGlMaW5lfHx0aGlzLl92YWx1ZSh0aGlzLnRlcm0pLHRoaXMubWVudS5ibHVyKCksdm9pZCAwKToodGhpcy5tZW51W2VdKHQpLHZvaWQgMCk6KHRoaXMuc2VhcmNoKG51bGwsdCksdm9pZCAwKX0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWVudS5lbGVtZW50fSxfdmFsdWU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52YWx1ZU1ldGhvZC5hcHBseSh0aGlzLmVsZW1lbnQsYXJndW1lbnRzKX0sX2tleUV2ZW50OmZ1bmN0aW9uKGUsdCl7KCF0aGlzLmlzTXVsdGlMaW5lfHx0aGlzLm1lbnUuZWxlbWVudC5pcygiOnZpc2libGUiKSkmJih0aGlzLl9tb3ZlKGUsdCksdC5wcmV2ZW50RGVmYXVsdCgpKX19KSxlLmV4dGVuZChlLnVpLmF1dG9jb21wbGV0ZSx7ZXNjYXBlUmVnZXg6ZnVuY3Rpb24oZSl7cmV0dXJuIGUucmVwbGFjZSgvW1wtXFtcXXt9KCkqKz8uLFxcXF4kfCNcc10vZywiXFwkJiIpfSxmaWx0ZXI6ZnVuY3Rpb24odCxpKXt2YXIgcz1SZWdFeHAoZS51aS5hdXRvY29tcGxldGUuZXNjYXBlUmVnZXgoaSksImkiKTtyZXR1cm4gZS5ncmVwKHQsZnVuY3Rpb24oZSl7cmV0dXJuIHMudGVzdChlLmxhYmVsfHxlLnZhbHVlfHxlKX0pfX0pLGUud2lkZ2V0KCJ1aS5hdXRvY29tcGxldGUiLGUudWkuYXV0b2NvbXBsZXRlLHtvcHRpb25zOnttZXNzYWdlczp7bm9SZXN1bHRzOiJObyBzZWFyY2ggcmVzdWx0cy4iLHJlc3VsdHM6ZnVuY3Rpb24oZSl7cmV0dXJuIGUrKGU+MT8iIHJlc3VsdHMgYXJlIjoiIHJlc3VsdCBpcyIpKyIgYXZhaWxhYmxlLCB1c2UgdXAgYW5kIGRvd24gYXJyb3cga2V5cyB0byBuYXZpZ2F0ZS4ifX19LF9fcmVzcG9uc2U6ZnVuY3Rpb24odCl7dmFyIGk7dGhpcy5fc3VwZXJBcHBseShhcmd1bWVudHMpLHRoaXMub3B0aW9ucy5kaXNhYmxlZHx8dGhpcy5jYW5jZWxTZWFyY2h8fChpPXQmJnQubGVuZ3RoP3RoaXMub3B0aW9ucy5tZXNzYWdlcy5yZXN1bHRzKHQubGVuZ3RoKTp0aGlzLm9wdGlvbnMubWVzc2FnZXMubm9SZXN1bHRzLHRoaXMubGl2ZVJlZ2lvbi5jaGlsZHJlbigpLmhpZGUoKSxlKCI8ZGl2PiIpLnRleHQoaSkuYXBwZW5kVG8odGhpcy5saXZlUmVnaW9uKSl9fSksZS51aS5hdXRvY29tcGxldGU7dmFyIGMscD0idWktYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiLGY9InVpLWJ1dHRvbi1pY29ucy1vbmx5IHVpLWJ1dHRvbi1pY29uLW9ubHkgdWktYnV0dG9uLXRleHQtaWNvbnMgdWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IHVpLWJ1dHRvbi10ZXh0LWljb24tc2Vjb25kYXJ5IHVpLWJ1dHRvbi10ZXh0LW9ubHkiLG09ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmZpbmQoIjp1aS1idXR0b24iKS5idXR0b24oInJlZnJlc2giKX0sMSl9LGc9ZnVuY3Rpb24odCl7dmFyIGk9dC5uYW1lLHM9dC5mb3JtLG49ZShbXSk7cmV0dXJuIGkmJihpPWkucmVwbGFjZSgvJy9nLCJcXCciKSxuPXM/ZShzKS5maW5kKCJbbmFtZT0nIitpKyInXVt0eXBlPXJhZGlvXSIpOmUoIltuYW1lPSciK2krIiddW3R5cGU9cmFkaW9dIix0Lm93bmVyRG9jdW1lbnQpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiF0aGlzLmZvcm19KSksbn07ZS53aWRnZXQoInVpLmJ1dHRvbiIse3ZlcnNpb246IjEuMTEuNCIsZGVmYXVsdEVsZW1lbnQ6IjxidXR0b24+IixvcHRpb25zOntkaXNhYmxlZDpudWxsLHRleHQ6ITAsbGFiZWw6bnVsbCxpY29uczp7cHJpbWFyeTpudWxsLHNlY29uZGFyeTpudWxsfX0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5jbG9zZXN0KCJmb3JtIikudW5iaW5kKCJyZXNldCIrdGhpcy5ldmVudE5hbWVzcGFjZSkuYmluZCgicmVzZXQiK3RoaXMuZXZlbnROYW1lc3BhY2UsbSksImJvb2xlYW4iIT10eXBlb2YgdGhpcy5vcHRpb25zLmRpc2FibGVkP3RoaXMub3B0aW9ucy5kaXNhYmxlZD0hIXRoaXMuZWxlbWVudC5wcm9wKCJkaXNhYmxlZCIpOnRoaXMuZWxlbWVudC5wcm9wKCJkaXNhYmxlZCIsdGhpcy5vcHRpb25zLmRpc2FibGVkKSx0aGlzLl9kZXRlcm1pbmVCdXR0b25UeXBlKCksdGhpcy5oYXNUaXRsZT0hIXRoaXMuYnV0dG9uRWxlbWVudC5hdHRyKCJ0aXRsZSIpO3ZhciB0PXRoaXMsaT10aGlzLm9wdGlvbnMscz0iY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlLG49cz8iIjoidWktc3RhdGUtYWN0aXZlIjtudWxsPT09aS5sYWJlbCYmKGkubGFiZWw9ImlucHV0Ij09PXRoaXMudHlwZT90aGlzLmJ1dHRvbkVsZW1lbnQudmFsKCk6dGhpcy5idXR0b25FbGVtZW50Lmh0bWwoKSksdGhpcy5faG92ZXJhYmxlKHRoaXMuYnV0dG9uRWxlbWVudCksdGhpcy5idXR0b25FbGVtZW50LmFkZENsYXNzKHApLmF0dHIoInJvbGUiLCJidXR0b24iKS5iaW5kKCJtb3VzZWVudGVyIit0aGlzLmV2ZW50TmFtZXNwYWNlLGZ1bmN0aW9uKCl7aS5kaXNhYmxlZHx8dGhpcz09PWMmJmUodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfSkuYmluZCgibW91c2VsZWF2ZSIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbigpe2kuZGlzYWJsZWR8fGUodGhpcykucmVtb3ZlQ2xhc3Mobil9KS5iaW5kKCJjbGljayIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbihlKXtpLmRpc2FibGVkJiYoZS5wcmV2ZW50RGVmYXVsdCgpLGUuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCkpfSksdGhpcy5fb24oe2ZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfSxibHVyOmZ1bmN0aW9uKCl7dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpfX0pLHMmJnRoaXMuZWxlbWVudC5iaW5kKCJjaGFuZ2UiK3RoaXMuZXZlbnROYW1lc3BhY2UsZnVuY3Rpb24oKXt0LnJlZnJlc2goKX0pLCJjaGVja2JveCI9PT10aGlzLnR5cGU/dGhpcy5idXR0b25FbGVtZW50LmJpbmQoImNsaWNrIit0aGlzLmV2ZW50TmFtZXNwYWNlLGZ1bmN0aW9uKCl7cmV0dXJuIGkuZGlzYWJsZWQ/ITE6dm9pZCAwfSk6InJhZGlvIj09PXRoaXMudHlwZT90aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgiY2xpY2siK3RoaXMuZXZlbnROYW1lc3BhY2UsZnVuY3Rpb24oKXtpZihpLmRpc2FibGVkKXJldHVybiExO2UodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLHQuYnV0dG9uRWxlbWVudC5hdHRyKCJhcmlhLXByZXNzZWQiLCJ0cnVlIik7dmFyIHM9dC5lbGVtZW50WzBdO2cocykubm90KHMpLm1hcChmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIikuYXR0cigiYXJpYS1wcmVzc2VkIiwiZmFsc2UiKX0pOih0aGlzLmJ1dHRvbkVsZW1lbnQuYmluZCgibW91c2Vkb3duIit0aGlzLmV2ZW50TmFtZXNwYWNlLGZ1bmN0aW9uKCl7cmV0dXJuIGkuZGlzYWJsZWQ/ITE6KGUodGhpcykuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLGM9dGhpcyx0LmRvY3VtZW50Lm9uZSgibW91c2V1cCIsZnVuY3Rpb24oKXtjPW51bGx9KSx2b2lkIDApfSkuYmluZCgibW91c2V1cCIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbigpe3JldHVybiBpLmRpc2FibGVkPyExOihlKHRoaXMpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKSx2b2lkIDApfSkuYmluZCgia2V5ZG93biIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbih0KXtyZXR1cm4gaS5kaXNhYmxlZD8hMTooKHQua2V5Q29kZT09PWUudWkua2V5Q29kZS5TUEFDRXx8dC5rZXlDb2RlPT09ZS51aS5rZXlDb2RlLkVOVEVSKSYmZSh0aGlzKS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIiksdm9pZCAwKX0pLmJpbmQoImtleXVwIit0aGlzLmV2ZW50TmFtZXNwYWNlKyIgYmx1ciIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbigpe2UodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpfSksdGhpcy5idXR0b25FbGVtZW50LmlzKCJhIikmJnRoaXMuYnV0dG9uRWxlbWVudC5rZXl1cChmdW5jdGlvbih0KXt0LmtleUNvZGU9PT1lLnVpLmtleUNvZGUuU1BBQ0UmJmUodGhpcykuY2xpY2soKX0pKSx0aGlzLl9zZXRPcHRpb24oImRpc2FibGVkIixpLmRpc2FibGVkKSx0aGlzLl9yZXNldEJ1dHRvbigpfSxfZGV0ZXJtaW5lQnV0dG9uVHlwZTpmdW5jdGlvbigpe3ZhciBlLHQsaTt0aGlzLnR5cGU9dGhpcy5lbGVtZW50LmlzKCJbdHlwZT1jaGVja2JveF0iKT8iY2hlY2tib3giOnRoaXMuZWxlbWVudC5pcygiW3R5cGU9cmFkaW9dIik/InJhZGlvIjp0aGlzLmVsZW1lbnQuaXMoImlucHV0Iik/ImlucHV0IjoiYnV0dG9uIiwiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlPyhlPXRoaXMuZWxlbWVudC5wYXJlbnRzKCkubGFzdCgpLHQ9ImxhYmVsW2Zvcj0nIit0aGlzLmVsZW1lbnQuYXR0cigiaWQiKSsiJ10iLHRoaXMuYnV0dG9uRWxlbWVudD1lLmZpbmQodCksdGhpcy5idXR0b25FbGVtZW50Lmxlbmd0aHx8KGU9ZS5sZW5ndGg/ZS5zaWJsaW5ncygpOnRoaXMuZWxlbWVudC5zaWJsaW5ncygpLHRoaXMuYnV0dG9uRWxlbWVudD1lLmZpbHRlcih0KSx0aGlzLmJ1dHRvbkVsZW1lbnQubGVuZ3RofHwodGhpcy5idXR0b25FbGVtZW50PWUuZmluZCh0KSkpLHRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxlIiksaT10aGlzLmVsZW1lbnQuaXMoIjpjaGVja2VkIiksaSYmdGhpcy5idXR0b25FbGVtZW50LmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKSx0aGlzLmJ1dHRvbkVsZW1lbnQucHJvcCgiYXJpYS1wcmVzc2VkIixpKSk6dGhpcy5idXR0b25FbGVtZW50PXRoaXMuZWxlbWVudH0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYnV0dG9uRWxlbWVudH0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLWhlbHBlci1oaWRkZW4tYWNjZXNzaWJsZSIpLHRoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcyhwKyIgdWktc3RhdGUtYWN0aXZlICIrZikucmVtb3ZlQXR0cigicm9sZSIpLnJlbW92ZUF0dHIoImFyaWEtcHJlc3NlZCIpLmh0bWwodGhpcy5idXR0b25FbGVtZW50LmZpbmQoIi51aS1idXR0b24tdGV4dCIpLmh0bWwoKSksdGhpcy5oYXNUaXRsZXx8dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUF0dHIoInRpdGxlIil9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fc3VwZXIoZSx0KSwiZGlzYWJsZWQiPT09ZT8odGhpcy53aWRnZXQoKS50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLCEhdCksdGhpcy5lbGVtZW50LnByb3AoImRpc2FibGVkIiwhIXQpLHQmJigiY2hlY2tib3giPT09dGhpcy50eXBlfHwicmFkaW8iPT09dGhpcy50eXBlP3RoaXMuYnV0dG9uRWxlbWVudC5yZW1vdmVDbGFzcygidWktc3RhdGUtZm9jdXMiKTp0aGlzLmJ1dHRvbkVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWZvY3VzIHVpLXN0YXRlLWFjdGl2ZSIpKSx2b2lkIDApOih0aGlzLl9yZXNldEJ1dHRvbigpLHZvaWQgMCl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQuaXMoImlucHV0LCBidXR0b24iKT90aGlzLmVsZW1lbnQuaXMoIjpkaXNhYmxlZCIpOnRoaXMuZWxlbWVudC5oYXNDbGFzcygidWktYnV0dG9uLWRpc2FibGVkIik7dCE9PXRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsdCksInJhZGlvIj09PXRoaXMudHlwZT9nKHRoaXMuZWxlbWVudFswXSkuZWFjaChmdW5jdGlvbigpe2UodGhpcykuaXMoIjpjaGVja2VkIik/ZSh0aGlzKS5idXR0b24oIndpZGdldCIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQiLCJ0cnVlIik6ZSh0aGlzKS5idXR0b24oIndpZGdldCIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKCJhcmlhLXByZXNzZWQiLCJmYWxzZSIpfSk6ImNoZWNrYm94Ij09PXRoaXMudHlwZSYmKHRoaXMuZWxlbWVudC5pcygiOmNoZWNrZWQiKT90aGlzLmJ1dHRvbkVsZW1lbnQuYWRkQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsInRydWUiKTp0aGlzLmJ1dHRvbkVsZW1lbnQucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpLmF0dHIoImFyaWEtcHJlc3NlZCIsImZhbHNlIikpfSxfcmVzZXRCdXR0b246ZnVuY3Rpb24oKXtpZigiaW5wdXQiPT09dGhpcy50eXBlKXJldHVybiB0aGlzLm9wdGlvbnMubGFiZWwmJnRoaXMuZWxlbWVudC52YWwodGhpcy5vcHRpb25zLmxhYmVsKSx2b2lkIDA7dmFyIHQ9dGhpcy5idXR0b25FbGVtZW50LnJlbW92ZUNsYXNzKGYpLGk9ZSgiPHNwYW4+PC9zcGFuPiIsdGhpcy5kb2N1bWVudFswXSkuYWRkQ2xhc3MoInVpLWJ1dHRvbi10ZXh0IikuaHRtbCh0aGlzLm9wdGlvbnMubGFiZWwpLmFwcGVuZFRvKHQuZW1wdHkoKSkudGV4dCgpLHM9dGhpcy5vcHRpb25zLmljb25zLG49cy5wcmltYXJ5JiZzLnNlY29uZGFyeSxhPVtdO3MucHJpbWFyeXx8cy5zZWNvbmRhcnk/KHRoaXMub3B0aW9ucy50ZXh0JiZhLnB1c2goInVpLWJ1dHRvbi10ZXh0LWljb24iKyhuPyJzIjpzLnByaW1hcnk/Ii1wcmltYXJ5IjoiLXNlY29uZGFyeSIpKSxzLnByaW1hcnkmJnQucHJlcGVuZCgiPHNwYW4gY2xhc3M9J3VpLWJ1dHRvbi1pY29uLXByaW1hcnkgdWktaWNvbiAiK3MucHJpbWFyeSsiJz48L3NwYW4+Iikscy5zZWNvbmRhcnkmJnQuYXBwZW5kKCI8c3BhbiBjbGFzcz0ndWktYnV0dG9uLWljb24tc2Vjb25kYXJ5IHVpLWljb24gIitzLnNlY29uZGFyeSsiJz48L3NwYW4+IiksdGhpcy5vcHRpb25zLnRleHR8fChhLnB1c2gobj8idWktYnV0dG9uLWljb25zLW9ubHkiOiJ1aS1idXR0b24taWNvbi1vbmx5IiksdGhpcy5oYXNUaXRsZXx8dC5hdHRyKCJ0aXRsZSIsZS50cmltKGkpKSkpOmEucHVzaCgidWktYnV0dG9uLXRleHQtb25seSIpLHQuYWRkQ2xhc3MoYS5qb2luKCIgIikpfX0pLGUud2lkZ2V0KCJ1aS5idXR0b25zZXQiLHt2ZXJzaW9uOiIxLjExLjQiLG9wdGlvbnM6e2l0ZW1zOiJidXR0b24sIGlucHV0W3R5cGU9YnV0dG9uXSwgaW5wdXRbdHlwZT1zdWJtaXRdLCBpbnB1dFt0eXBlPXJlc2V0XSwgaW5wdXRbdHlwZT1jaGVja2JveF0sIGlucHV0W3R5cGU9cmFkaW9dLCBhLCA6ZGF0YSh1aS1idXR0b24pIn0sX2NyZWF0ZTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5hZGRDbGFzcygidWktYnV0dG9uc2V0Iil9LF9pbml0OmZ1bmN0aW9uKCl7dGhpcy5yZWZyZXNoKCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXsiZGlzYWJsZWQiPT09ZSYmdGhpcy5idXR0b25zLmJ1dHRvbigib3B0aW9uIixlLHQpLHRoaXMuX3N1cGVyKGUsdCl9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgdD0icnRsIj09PXRoaXMuZWxlbWVudC5jc3MoImRpcmVjdGlvbiIpLGk9dGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKSxzPWkuZmlsdGVyKCI6dWktYnV0dG9uIik7aS5ub3QoIjp1aS1idXR0b24iKS5idXR0b24oKSxzLmJ1dHRvbigicmVmcmVzaCIpLHRoaXMuYnV0dG9ucz1pLm1hcChmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmJ1dHRvbigid2lkZ2V0IilbMF19KS5yZW1vdmVDbGFzcygidWktY29ybmVyLWFsbCB1aS1jb3JuZXItbGVmdCB1aS1jb3JuZXItcmlnaHQiKS5maWx0ZXIoIjpmaXJzdCIpLmFkZENsYXNzKHQ/InVpLWNvcm5lci1yaWdodCI6InVpLWNvcm5lci1sZWZ0IikuZW5kKCkuZmlsdGVyKCI6bGFzdCIpLmFkZENsYXNzKHQ/InVpLWNvcm5lci1sZWZ0IjoidWktY29ybmVyLXJpZ2h0IikuZW5kKCkuZW5kKCl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1idXR0b25zZXQiKSx0aGlzLmJ1dHRvbnMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIGUodGhpcykuYnV0dG9uKCJ3aWRnZXQiKVswXX0pLnJlbW92ZUNsYXNzKCJ1aS1jb3JuZXItbGVmdCB1aS1jb3JuZXItcmlnaHQiKS5lbmQoKS5idXR0b24oImRlc3Ryb3kiKX19KSxlLnVpLmJ1dHRvbixlLmV4dGVuZChlLnVpLHtkYXRlcGlja2VyOnt2ZXJzaW9uOiIxLjExLjQifX0pO3ZhciB2O2UuZXh0ZW5kKG4ucHJvdG90eXBlLHttYXJrZXJDbGFzc05hbWU6Imhhc0RhdGVwaWNrZXIiLG1heFJvd3M6NCxfd2lkZ2V0RGF0ZXBpY2tlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRwRGl2fSxzZXREZWZhdWx0czpmdW5jdGlvbihlKXtyZXR1cm4gcih0aGlzLl9kZWZhdWx0cyxlfHx7fSksdGhpc30sX2F0dGFjaERhdGVwaWNrZXI6ZnVuY3Rpb24odCxpKXt2YXIgcyxuLGE7cz10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksbj0iZGl2Ij09PXN8fCJzcGFuIj09PXMsdC5pZHx8KHRoaXMudXVpZCs9MSx0LmlkPSJkcCIrdGhpcy51dWlkKSxhPXRoaXMuX25ld0luc3QoZSh0KSxuKSxhLnNldHRpbmdzPWUuZXh0ZW5kKHt9LGl8fHt9KSwiaW5wdXQiPT09cz90aGlzLl9jb25uZWN0RGF0ZXBpY2tlcih0LGEpOm4mJnRoaXMuX2lubGluZURhdGVwaWNrZXIodCxhKX0sX25ld0luc3Q6ZnVuY3Rpb24odCxpKXt2YXIgcz10WzBdLmlkLnJlcGxhY2UoLyhbXkEtWmEtejAtOV9cLV0pL2csIlxcXFwkMSIpO3JldHVybntpZDpzLGlucHV0OnQsc2VsZWN0ZWREYXk6MCxzZWxlY3RlZE1vbnRoOjAsc2VsZWN0ZWRZZWFyOjAsZHJhd01vbnRoOjAsZHJhd1llYXI6MCxpbmxpbmU6aSxkcERpdjppP2EoZSgiPGRpdiBjbGFzcz0nIit0aGlzLl9pbmxpbmVDbGFzcysiIHVpLWRhdGVwaWNrZXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWhlbHBlci1jbGVhcmZpeCB1aS1jb3JuZXItYWxsJz48L2Rpdj4iKSk6dGhpcy5kcERpdn19LF9jb25uZWN0RGF0ZXBpY2tlcjpmdW5jdGlvbih0LGkpe3ZhciBzPWUodCk7aS5hcHBlbmQ9ZShbXSksaS50cmlnZ2VyPWUoW10pLHMuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpfHwodGhpcy5fYXR0YWNobWVudHMocyxpKSxzLmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5rZXlkb3duKHRoaXMuX2RvS2V5RG93bikua2V5cHJlc3ModGhpcy5fZG9LZXlQcmVzcykua2V5dXAodGhpcy5fZG9LZXlVcCksdGhpcy5fYXV0b1NpemUoaSksZS5kYXRhKHQsImRhdGVwaWNrZXIiLGkpLGkuc2V0dGluZ3MuZGlzYWJsZWQmJnRoaXMuX2Rpc2FibGVEYXRlcGlja2VyKHQpKX0sX2F0dGFjaG1lbnRzOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhLG89dGhpcy5fZ2V0KGksImFwcGVuZFRleHQiKSxyPXRoaXMuX2dldChpLCJpc1JUTCIpO2kuYXBwZW5kJiZpLmFwcGVuZC5yZW1vdmUoKSxvJiYoaS5hcHBlbmQ9ZSgiPHNwYW4gY2xhc3M9JyIrdGhpcy5fYXBwZW5kQ2xhc3MrIic+IitvKyI8L3NwYW4+IiksdFtyPyJiZWZvcmUiOiJhZnRlciJdKGkuYXBwZW5kKSksdC51bmJpbmQoImZvY3VzIix0aGlzLl9zaG93RGF0ZXBpY2tlciksaS50cmlnZ2VyJiZpLnRyaWdnZXIucmVtb3ZlKCkscz10aGlzLl9nZXQoaSwic2hvd09uIiksKCJmb2N1cyI9PT1zfHwiYm90aCI9PT1zKSYmdC5mb2N1cyh0aGlzLl9zaG93RGF0ZXBpY2tlciksKCJidXR0b24iPT09c3x8ImJvdGgiPT09cykmJihuPXRoaXMuX2dldChpLCJidXR0b25UZXh0IiksYT10aGlzLl9nZXQoaSwiYnV0dG9uSW1hZ2UiKSxpLnRyaWdnZXI9ZSh0aGlzLl9nZXQoaSwiYnV0dG9uSW1hZ2VPbmx5Iik/ZSgiPGltZy8+IikuYWRkQ2xhc3ModGhpcy5fdHJpZ2dlckNsYXNzKS5hdHRyKHtzcmM6YSxhbHQ6bix0aXRsZTpufSk6ZSgiPGJ1dHRvbiB0eXBlPSdidXR0b24nPjwvYnV0dG9uPiIpLmFkZENsYXNzKHRoaXMuX3RyaWdnZXJDbGFzcykuaHRtbChhP2UoIjxpbWcvPiIpLmF0dHIoe3NyYzphLGFsdDpuLHRpdGxlOm59KTpuKSksdFtyPyJiZWZvcmUiOiJhZnRlciJdKGkudHJpZ2dlciksaS50cmlnZ2VyLmNsaWNrKGZ1bmN0aW9uKCl7cmV0dXJuIGUuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmUuZGF0ZXBpY2tlci5fbGFzdElucHV0PT09dFswXT9lLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCk6ZS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZyYmZS5kYXRlcGlja2VyLl9sYXN0SW5wdXQhPT10WzBdPyhlLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCksZS5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcih0WzBdKSk6ZS5kYXRlcGlja2VyLl9zaG93RGF0ZXBpY2tlcih0WzBdKSwhMX0pKX0sX2F1dG9TaXplOmZ1bmN0aW9uKGUpe2lmKHRoaXMuX2dldChlLCJhdXRvU2l6ZSIpJiYhZS5pbmxpbmUpe3ZhciB0LGkscyxuLGE9bmV3IERhdGUoMjAwOSwxMSwyMCksbz10aGlzLl9nZXQoZSwiZGF0ZUZvcm1hdCIpO28ubWF0Y2goL1tETV0vKSYmKHQ9ZnVuY3Rpb24oZSl7Zm9yKGk9MCxzPTAsbj0wO2UubGVuZ3RoPm47bisrKWVbbl0ubGVuZ3RoPmkmJihpPWVbbl0ubGVuZ3RoLHM9bik7cmV0dXJuIHN9LGEuc2V0TW9udGgodCh0aGlzLl9nZXQoZSxvLm1hdGNoKC9NTS8pPyJtb250aE5hbWVzIjoibW9udGhOYW1lc1Nob3J0IikpKSxhLnNldERhdGUodCh0aGlzLl9nZXQoZSxvLm1hdGNoKC9ERC8pPyJkYXlOYW1lcyI6ImRheU5hbWVzU2hvcnQiKSkrMjAtYS5nZXREYXkoKSkpLGUuaW5wdXQuYXR0cigic2l6ZSIsdGhpcy5fZm9ybWF0RGF0ZShlLGEpLmxlbmd0aCl9fSxfaW5saW5lRGF0ZXBpY2tlcjpmdW5jdGlvbih0LGkpe3ZhciBzPWUodCk7cy5oYXNDbGFzcyh0aGlzLm1hcmtlckNsYXNzTmFtZSl8fChzLmFkZENsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5hcHBlbmQoaS5kcERpdiksZS5kYXRhKHQsImRhdGVwaWNrZXIiLGkpLHRoaXMuX3NldERhdGUoaSx0aGlzLl9nZXREZWZhdWx0RGF0ZShpKSwhMCksdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihpKSx0aGlzLl91cGRhdGVBbHRlcm5hdGUoaSksaS5zZXR0aW5ncy5kaXNhYmxlZCYmdGhpcy5fZGlzYWJsZURhdGVwaWNrZXIodCksaS5kcERpdi5jc3MoImRpc3BsYXkiLCJibG9jayIpKX0sX2RpYWxvZ0RhdGVwaWNrZXI6ZnVuY3Rpb24odCxpLHMsbixhKXt2YXIgbyxoLGwsdSxkLGM9dGhpcy5fZGlhbG9nSW5zdDtyZXR1cm4gY3x8KHRoaXMudXVpZCs9MSxvPSJkcCIrdGhpcy51dWlkLHRoaXMuX2RpYWxvZ0lucHV0PWUoIjxpbnB1dCB0eXBlPSd0ZXh0JyBpZD0nIitvKyInIHN0eWxlPSdwb3NpdGlvbjogYWJzb2x1dGU7IHRvcDogLTEwMHB4OyB3aWR0aDogMHB4OycvPiIpLHRoaXMuX2RpYWxvZ0lucHV0LmtleWRvd24odGhpcy5fZG9LZXlEb3duKSxlKCJib2R5IikuYXBwZW5kKHRoaXMuX2RpYWxvZ0lucHV0KSxjPXRoaXMuX2RpYWxvZ0luc3Q9dGhpcy5fbmV3SW5zdCh0aGlzLl9kaWFsb2dJbnB1dCwhMSksYy5zZXR0aW5ncz17fSxlLmRhdGEodGhpcy5fZGlhbG9nSW5wdXRbMF0sImRhdGVwaWNrZXIiLGMpKSxyKGMuc2V0dGluZ3Msbnx8e30pLGk9aSYmaS5jb25zdHJ1Y3Rvcj09PURhdGU/dGhpcy5fZm9ybWF0RGF0ZShjLGkpOmksdGhpcy5fZGlhbG9nSW5wdXQudmFsKGkpLHRoaXMuX3Bvcz1hP2EubGVuZ3RoP2E6W2EucGFnZVgsYS5wYWdlWV06bnVsbCx0aGlzLl9wb3N8fChoPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCxsPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRIZWlnaHQsdT1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0LGQ9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcHx8ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3AsdGhpcy5fcG9zPVtoLzItMTAwK3UsbC8yLTE1MCtkXSksdGhpcy5fZGlhbG9nSW5wdXQuY3NzKCJsZWZ0Iix0aGlzLl9wb3NbMF0rMjArInB4IikuY3NzKCJ0b3AiLHRoaXMuX3Bvc1sxXSsicHgiKSxjLnNldHRpbmdzLm9uU2VsZWN0PXMsdGhpcy5faW5EaWFsb2c9ITAsdGhpcy5kcERpdi5hZGRDbGFzcyh0aGlzLl9kaWFsb2dDbGFzcyksdGhpcy5fc2hvd0RhdGVwaWNrZXIodGhpcy5fZGlhbG9nSW5wdXRbMF0pLGUuYmxvY2tVSSYmZS5ibG9ja1VJKHRoaXMuZHBEaXYpLGUuZGF0YSh0aGlzLl9kaWFsb2dJbnB1dFswXSwiZGF0ZXBpY2tlciIsYyksdGhpcwp9LF9kZXN0cm95RGF0ZXBpY2tlcjpmdW5jdGlvbih0KXt2YXIgaSxzPWUodCksbj1lLmRhdGEodCwiZGF0ZXBpY2tlciIpO3MuaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpJiYoaT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksZS5yZW1vdmVEYXRhKHQsImRhdGVwaWNrZXIiKSwiaW5wdXQiPT09aT8obi5hcHBlbmQucmVtb3ZlKCksbi50cmlnZ2VyLnJlbW92ZSgpLHMucmVtb3ZlQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpLnVuYmluZCgiZm9jdXMiLHRoaXMuX3Nob3dEYXRlcGlja2VyKS51bmJpbmQoImtleWRvd24iLHRoaXMuX2RvS2V5RG93bikudW5iaW5kKCJrZXlwcmVzcyIsdGhpcy5fZG9LZXlQcmVzcykudW5iaW5kKCJrZXl1cCIsdGhpcy5fZG9LZXlVcCkpOigiZGl2Ij09PWl8fCJzcGFuIj09PWkpJiZzLnJlbW92ZUNsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKS5lbXB0eSgpLHY9PT1uJiYodj1udWxsKSl9LF9lbmFibGVEYXRlcGlja2VyOmZ1bmN0aW9uKHQpe3ZhciBpLHMsbj1lKHQpLGE9ZS5kYXRhKHQsImRhdGVwaWNrZXIiKTtuLmhhc0NsYXNzKHRoaXMubWFya2VyQ2xhc3NOYW1lKSYmKGk9dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpLCJpbnB1dCI9PT1pPyh0LmRpc2FibGVkPSExLGEudHJpZ2dlci5maWx0ZXIoImJ1dHRvbiIpLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPSExfSkuZW5kKCkuZmlsdGVyKCJpbWciKS5jc3Moe29wYWNpdHk6IjEuMCIsY3Vyc29yOiIifSkpOigiZGl2Ij09PWl8fCJzcGFuIj09PWkpJiYocz1uLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFzcykscy5jaGlsZHJlbigpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpLHMuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5wcm9wKCJkaXNhYmxlZCIsITEpKSx0aGlzLl9kaXNhYmxlZElucHV0cz1lLm1hcCh0aGlzLl9kaXNhYmxlZElucHV0cyxmdW5jdGlvbihlKXtyZXR1cm4gZT09PXQ/bnVsbDplfSkpfSxfZGlzYWJsZURhdGVwaWNrZXI6ZnVuY3Rpb24odCl7dmFyIGkscyxuPWUodCksYT1lLmRhdGEodCwiZGF0ZXBpY2tlciIpO24uaGFzQ2xhc3ModGhpcy5tYXJrZXJDbGFzc05hbWUpJiYoaT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksImlucHV0Ij09PWk/KHQuZGlzYWJsZWQ9ITAsYS50cmlnZ2VyLmZpbHRlcigiYnV0dG9uIikuZWFjaChmdW5jdGlvbigpe3RoaXMuZGlzYWJsZWQ9ITB9KS5lbmQoKS5maWx0ZXIoImltZyIpLmNzcyh7b3BhY2l0eToiMC41IixjdXJzb3I6ImRlZmF1bHQifSkpOigiZGl2Ij09PWl8fCJzcGFuIj09PWkpJiYocz1uLmNoaWxkcmVuKCIuIit0aGlzLl9pbmxpbmVDbGFzcykscy5jaGlsZHJlbigpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpLHMuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXItbW9udGgsIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXIiKS5wcm9wKCJkaXNhYmxlZCIsITApKSx0aGlzLl9kaXNhYmxlZElucHV0cz1lLm1hcCh0aGlzLl9kaXNhYmxlZElucHV0cyxmdW5jdGlvbihlKXtyZXR1cm4gZT09PXQ/bnVsbDplfSksdGhpcy5fZGlzYWJsZWRJbnB1dHNbdGhpcy5fZGlzYWJsZWRJbnB1dHMubGVuZ3RoXT10KX0sX2lzRGlzYWJsZWREYXRlcGlja2VyOmZ1bmN0aW9uKGUpe2lmKCFlKXJldHVybiExO2Zvcih2YXIgdD0wO3RoaXMuX2Rpc2FibGVkSW5wdXRzLmxlbmd0aD50O3QrKylpZih0aGlzLl9kaXNhYmxlZElucHV0c1t0XT09PWUpcmV0dXJuITA7cmV0dXJuITF9LF9nZXRJbnN0OmZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gZS5kYXRhKHQsImRhdGVwaWNrZXIiKX1jYXRjaChpKXt0aHJvdyJNaXNzaW5nIGluc3RhbmNlIGRhdGEgZm9yIHRoaXMgZGF0ZXBpY2tlciJ9fSxfb3B0aW9uRGF0ZXBpY2tlcjpmdW5jdGlvbih0LGkscyl7dmFyIG4sYSxvLGgsbD10aGlzLl9nZXRJbnN0KHQpO3JldHVybiAyPT09YXJndW1lbnRzLmxlbmd0aCYmInN0cmluZyI9PXR5cGVvZiBpPyJkZWZhdWx0cyI9PT1pP2UuZXh0ZW5kKHt9LGUuZGF0ZXBpY2tlci5fZGVmYXVsdHMpOmw/ImFsbCI9PT1pP2UuZXh0ZW5kKHt9LGwuc2V0dGluZ3MpOnRoaXMuX2dldChsLGkpOm51bGw6KG49aXx8e30sInN0cmluZyI9PXR5cGVvZiBpJiYobj17fSxuW2ldPXMpLGwmJih0aGlzLl9jdXJJbnN0PT09bCYmdGhpcy5faGlkZURhdGVwaWNrZXIoKSxhPXRoaXMuX2dldERhdGVEYXRlcGlja2VyKHQsITApLG89dGhpcy5fZ2V0TWluTWF4RGF0ZShsLCJtaW4iKSxoPXRoaXMuX2dldE1pbk1heERhdGUobCwibWF4IikscihsLnNldHRpbmdzLG4pLG51bGwhPT1vJiZ2b2lkIDAhPT1uLmRhdGVGb3JtYXQmJnZvaWQgMD09PW4ubWluRGF0ZSYmKGwuc2V0dGluZ3MubWluRGF0ZT10aGlzLl9mb3JtYXREYXRlKGwsbykpLG51bGwhPT1oJiZ2b2lkIDAhPT1uLmRhdGVGb3JtYXQmJnZvaWQgMD09PW4ubWF4RGF0ZSYmKGwuc2V0dGluZ3MubWF4RGF0ZT10aGlzLl9mb3JtYXREYXRlKGwsaCkpLCJkaXNhYmxlZCJpbiBuJiYobi5kaXNhYmxlZD90aGlzLl9kaXNhYmxlRGF0ZXBpY2tlcih0KTp0aGlzLl9lbmFibGVEYXRlcGlja2VyKHQpKSx0aGlzLl9hdHRhY2htZW50cyhlKHQpLGwpLHRoaXMuX2F1dG9TaXplKGwpLHRoaXMuX3NldERhdGUobCxhKSx0aGlzLl91cGRhdGVBbHRlcm5hdGUobCksdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihsKSksdm9pZCAwKX0sX2NoYW5nZURhdGVwaWNrZXI6ZnVuY3Rpb24oZSx0LGkpe3RoaXMuX29wdGlvbkRhdGVwaWNrZXIoZSx0LGkpfSxfcmVmcmVzaERhdGVwaWNrZXI6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5fZ2V0SW5zdChlKTt0JiZ0aGlzLl91cGRhdGVEYXRlcGlja2VyKHQpfSxfc2V0RGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLl9nZXRJbnN0KGUpO2kmJih0aGlzLl9zZXREYXRlKGksdCksdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihpKSx0aGlzLl91cGRhdGVBbHRlcm5hdGUoaSkpfSxfZ2V0RGF0ZURhdGVwaWNrZXI6ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLl9nZXRJbnN0KGUpO3JldHVybiBpJiYhaS5pbmxpbmUmJnRoaXMuX3NldERhdGVGcm9tRmllbGQoaSx0KSxpP3RoaXMuX2dldERhdGUoaSk6bnVsbH0sX2RvS2V5RG93bjpmdW5jdGlvbih0KXt2YXIgaSxzLG4sYT1lLmRhdGVwaWNrZXIuX2dldEluc3QodC50YXJnZXQpLG89ITAscj1hLmRwRGl2LmlzKCIudWktZGF0ZXBpY2tlci1ydGwiKTtpZihhLl9rZXlFdmVudD0hMCxlLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nKXN3aXRjaCh0LmtleUNvZGUpe2Nhc2UgOTplLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCksbz0hMTticmVhaztjYXNlIDEzOnJldHVybiBuPWUoInRkLiIrZS5kYXRlcGlja2VyLl9kYXlPdmVyQ2xhc3MrIjpub3QoLiIrZS5kYXRlcGlja2VyLl9jdXJyZW50Q2xhc3MrIikiLGEuZHBEaXYpLG5bMF0mJmUuZGF0ZXBpY2tlci5fc2VsZWN0RGF5KHQudGFyZ2V0LGEuc2VsZWN0ZWRNb250aCxhLnNlbGVjdGVkWWVhcixuWzBdKSxpPWUuZGF0ZXBpY2tlci5fZ2V0KGEsIm9uU2VsZWN0IiksaT8ocz1lLmRhdGVwaWNrZXIuX2Zvcm1hdERhdGUoYSksaS5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbcyxhXSkpOmUuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKSwhMTtjYXNlIDI3OmUuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoKTticmVhaztjYXNlIDMzOmUuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSh0LnRhcmdldCx0LmN0cmxLZXk/LWUuZGF0ZXBpY2tlci5fZ2V0KGEsInN0ZXBCaWdNb250aHMiKTotZS5kYXRlcGlja2VyLl9nZXQoYSwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzNDplLmRhdGVwaWNrZXIuX2FkanVzdERhdGUodC50YXJnZXQsdC5jdHJsS2V5PytlLmRhdGVwaWNrZXIuX2dldChhLCJzdGVwQmlnTW9udGhzIik6K2UuZGF0ZXBpY2tlci5fZ2V0KGEsInN0ZXBNb250aHMiKSwiTSIpO2JyZWFrO2Nhc2UgMzU6KHQuY3RybEtleXx8dC5tZXRhS2V5KSYmZS5kYXRlcGlja2VyLl9jbGVhckRhdGUodC50YXJnZXQpLG89dC5jdHJsS2V5fHx0Lm1ldGFLZXk7YnJlYWs7Y2FzZSAzNjoodC5jdHJsS2V5fHx0Lm1ldGFLZXkpJiZlLmRhdGVwaWNrZXIuX2dvdG9Ub2RheSh0LnRhcmdldCksbz10LmN0cmxLZXl8fHQubWV0YUtleTticmVhaztjYXNlIDM3Oih0LmN0cmxLZXl8fHQubWV0YUtleSkmJmUuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSh0LnRhcmdldCxyPzE6LTEsIkQiKSxvPXQuY3RybEtleXx8dC5tZXRhS2V5LHQub3JpZ2luYWxFdmVudC5hbHRLZXkmJmUuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSh0LnRhcmdldCx0LmN0cmxLZXk/LWUuZGF0ZXBpY2tlci5fZ2V0KGEsInN0ZXBCaWdNb250aHMiKTotZS5kYXRlcGlja2VyLl9nZXQoYSwic3RlcE1vbnRocyIpLCJNIik7YnJlYWs7Y2FzZSAzODoodC5jdHJsS2V5fHx0Lm1ldGFLZXkpJiZlLmRhdGVwaWNrZXIuX2FkanVzdERhdGUodC50YXJnZXQsLTcsIkQiKSxvPXQuY3RybEtleXx8dC5tZXRhS2V5O2JyZWFrO2Nhc2UgMzk6KHQuY3RybEtleXx8dC5tZXRhS2V5KSYmZS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKHQudGFyZ2V0LHI/LTE6MSwiRCIpLG89dC5jdHJsS2V5fHx0Lm1ldGFLZXksdC5vcmlnaW5hbEV2ZW50LmFsdEtleSYmZS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKHQudGFyZ2V0LHQuY3RybEtleT8rZS5kYXRlcGlja2VyLl9nZXQoYSwic3RlcEJpZ01vbnRocyIpOitlLmRhdGVwaWNrZXIuX2dldChhLCJzdGVwTW9udGhzIiksIk0iKTticmVhaztjYXNlIDQwOih0LmN0cmxLZXl8fHQubWV0YUtleSkmJmUuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZSh0LnRhcmdldCw3LCJEIiksbz10LmN0cmxLZXl8fHQubWV0YUtleTticmVhaztkZWZhdWx0Om89ITF9ZWxzZSAzNj09PXQua2V5Q29kZSYmdC5jdHJsS2V5P2UuZGF0ZXBpY2tlci5fc2hvd0RhdGVwaWNrZXIodGhpcyk6bz0hMTtvJiYodC5wcmV2ZW50RGVmYXVsdCgpLHQuc3RvcFByb3BhZ2F0aW9uKCkpfSxfZG9LZXlQcmVzczpmdW5jdGlvbih0KXt2YXIgaSxzLG49ZS5kYXRlcGlja2VyLl9nZXRJbnN0KHQudGFyZ2V0KTtyZXR1cm4gZS5kYXRlcGlja2VyLl9nZXQobiwiY29uc3RyYWluSW5wdXQiKT8oaT1lLmRhdGVwaWNrZXIuX3Bvc3NpYmxlQ2hhcnMoZS5kYXRlcGlja2VyLl9nZXQobiwiZGF0ZUZvcm1hdCIpKSxzPVN0cmluZy5mcm9tQ2hhckNvZGUobnVsbD09dC5jaGFyQ29kZT90LmtleUNvZGU6dC5jaGFyQ29kZSksdC5jdHJsS2V5fHx0Lm1ldGFLZXl8fCIgIj5zfHwhaXx8aS5pbmRleE9mKHMpPi0xKTp2b2lkIDB9LF9kb0tleVVwOmZ1bmN0aW9uKHQpe3ZhciBpLHM9ZS5kYXRlcGlja2VyLl9nZXRJbnN0KHQudGFyZ2V0KTtpZihzLmlucHV0LnZhbCgpIT09cy5sYXN0VmFsKXRyeXtpPWUuZGF0ZXBpY2tlci5wYXJzZURhdGUoZS5kYXRlcGlja2VyLl9nZXQocywiZGF0ZUZvcm1hdCIpLHMuaW5wdXQ/cy5pbnB1dC52YWwoKTpudWxsLGUuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKHMpKSxpJiYoZS5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKHMpLGUuZGF0ZXBpY2tlci5fdXBkYXRlQWx0ZXJuYXRlKHMpLGUuZGF0ZXBpY2tlci5fdXBkYXRlRGF0ZXBpY2tlcihzKSl9Y2F0Y2gobil7fXJldHVybiEwfSxfc2hvd0RhdGVwaWNrZXI6ZnVuY3Rpb24odCl7aWYodD10LnRhcmdldHx8dCwiaW5wdXQiIT09dC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiYodD1lKCJpbnB1dCIsdC5wYXJlbnROb2RlKVswXSksIWUuZGF0ZXBpY2tlci5faXNEaXNhYmxlZERhdGVwaWNrZXIodCkmJmUuZGF0ZXBpY2tlci5fbGFzdElucHV0IT09dCl7dmFyIGksbixhLG8saCxsLHU7aT1lLmRhdGVwaWNrZXIuX2dldEluc3QodCksZS5kYXRlcGlja2VyLl9jdXJJbnN0JiZlLmRhdGVwaWNrZXIuX2N1ckluc3QhPT1pJiYoZS5kYXRlcGlja2VyLl9jdXJJbnN0LmRwRGl2LnN0b3AoITAsITApLGkmJmUuZGF0ZXBpY2tlci5fZGF0ZXBpY2tlclNob3dpbmcmJmUuZGF0ZXBpY2tlci5faGlkZURhdGVwaWNrZXIoZS5kYXRlcGlja2VyLl9jdXJJbnN0LmlucHV0WzBdKSksbj1lLmRhdGVwaWNrZXIuX2dldChpLCJiZWZvcmVTaG93IiksYT1uP24uYXBwbHkodCxbdCxpXSk6e30sYSE9PSExJiYocihpLnNldHRpbmdzLGEpLGkubGFzdFZhbD1udWxsLGUuZGF0ZXBpY2tlci5fbGFzdElucHV0PXQsZS5kYXRlcGlja2VyLl9zZXREYXRlRnJvbUZpZWxkKGkpLGUuZGF0ZXBpY2tlci5faW5EaWFsb2cmJih0LnZhbHVlPSIiKSxlLmRhdGVwaWNrZXIuX3Bvc3x8KGUuZGF0ZXBpY2tlci5fcG9zPWUuZGF0ZXBpY2tlci5fZmluZFBvcyh0KSxlLmRhdGVwaWNrZXIuX3Bvc1sxXSs9dC5vZmZzZXRIZWlnaHQpLG89ITEsZSh0KS5wYXJlbnRzKCkuZWFjaChmdW5jdGlvbigpe3JldHVybiBvfD0iZml4ZWQiPT09ZSh0aGlzKS5jc3MoInBvc2l0aW9uIiksIW99KSxoPXtsZWZ0OmUuZGF0ZXBpY2tlci5fcG9zWzBdLHRvcDplLmRhdGVwaWNrZXIuX3Bvc1sxXX0sZS5kYXRlcGlja2VyLl9wb3M9bnVsbCxpLmRwRGl2LmVtcHR5KCksaS5kcERpdi5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsZGlzcGxheToiYmxvY2siLHRvcDoiLTEwMDBweCJ9KSxlLmRhdGVwaWNrZXIuX3VwZGF0ZURhdGVwaWNrZXIoaSksaD1lLmRhdGVwaWNrZXIuX2NoZWNrT2Zmc2V0KGksaCxvKSxpLmRwRGl2LmNzcyh7cG9zaXRpb246ZS5kYXRlcGlja2VyLl9pbkRpYWxvZyYmZS5ibG9ja1VJPyJzdGF0aWMiOm8/ImZpeGVkIjoiYWJzb2x1dGUiLGRpc3BsYXk6Im5vbmUiLGxlZnQ6aC5sZWZ0KyJweCIsdG9wOmgudG9wKyJweCJ9KSxpLmlubGluZXx8KGw9ZS5kYXRlcGlja2VyLl9nZXQoaSwic2hvd0FuaW0iKSx1PWUuZGF0ZXBpY2tlci5fZ2V0KGksImR1cmF0aW9uIiksaS5kcERpdi5jc3MoInotaW5kZXgiLHMoZSh0KSkrMSksZS5kYXRlcGlja2VyLl9kYXRlcGlja2VyU2hvd2luZz0hMCxlLmVmZmVjdHMmJmUuZWZmZWN0cy5lZmZlY3RbbF0/aS5kcERpdi5zaG93KGwsZS5kYXRlcGlja2VyLl9nZXQoaSwic2hvd09wdGlvbnMiKSx1KTppLmRwRGl2W2x8fCJzaG93Il0obD91Om51bGwpLGUuZGF0ZXBpY2tlci5fc2hvdWxkRm9jdXNJbnB1dChpKSYmaS5pbnB1dC5mb2N1cygpLGUuZGF0ZXBpY2tlci5fY3VySW5zdD1pKSl9fSxfdXBkYXRlRGF0ZXBpY2tlcjpmdW5jdGlvbih0KXt0aGlzLm1heFJvd3M9NCx2PXQsdC5kcERpdi5lbXB0eSgpLmFwcGVuZCh0aGlzLl9nZW5lcmF0ZUhUTUwodCkpLHRoaXMuX2F0dGFjaEhhbmRsZXJzKHQpO3ZhciBpLHM9dGhpcy5fZ2V0TnVtYmVyT2ZNb250aHModCksbj1zWzFdLGE9MTcscj10LmRwRGl2LmZpbmQoIi4iK3RoaXMuX2RheU92ZXJDbGFzcysiIGEiKTtyLmxlbmd0aD4wJiZvLmFwcGx5KHIuZ2V0KDApKSx0LmRwRGl2LnJlbW92ZUNsYXNzKCJ1aS1kYXRlcGlja2VyLW11bHRpLTIgdWktZGF0ZXBpY2tlci1tdWx0aS0zIHVpLWRhdGVwaWNrZXItbXVsdGktNCIpLndpZHRoKCIiKSxuPjEmJnQuZHBEaXYuYWRkQ2xhc3MoInVpLWRhdGVwaWNrZXItbXVsdGktIituKS5jc3MoIndpZHRoIixhKm4rImVtIiksdC5kcERpdlsoMSE9PXNbMF18fDEhPT1zWzFdPyJhZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tlci1tdWx0aSIpLHQuZHBEaXZbKHRoaXMuX2dldCh0LCJpc1JUTCIpPyJhZGQiOiJyZW1vdmUiKSsiQ2xhc3MiXSgidWktZGF0ZXBpY2tlci1ydGwiKSx0PT09ZS5kYXRlcGlja2VyLl9jdXJJbnN0JiZlLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiZlLmRhdGVwaWNrZXIuX3Nob3VsZEZvY3VzSW5wdXQodCkmJnQuaW5wdXQuZm9jdXMoKSx0LnllYXJzaHRtbCYmKGk9dC55ZWFyc2h0bWwsc2V0VGltZW91dChmdW5jdGlvbigpe2k9PT10LnllYXJzaHRtbCYmdC55ZWFyc2h0bWwmJnQuZHBEaXYuZmluZCgic2VsZWN0LnVpLWRhdGVwaWNrZXIteWVhcjpmaXJzdCIpLnJlcGxhY2VXaXRoKHQueWVhcnNodG1sKSxpPXQueWVhcnNodG1sPW51bGx9LDApKX0sX3Nob3VsZEZvY3VzSW5wdXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuaW5wdXQmJmUuaW5wdXQuaXMoIjp2aXNpYmxlIikmJiFlLmlucHV0LmlzKCI6ZGlzYWJsZWQiKSYmIWUuaW5wdXQuaXMoIjpmb2N1cyIpfSxfY2hlY2tPZmZzZXQ6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPXQuZHBEaXYub3V0ZXJXaWR0aCgpLGE9dC5kcERpdi5vdXRlckhlaWdodCgpLG89dC5pbnB1dD90LmlucHV0Lm91dGVyV2lkdGgoKTowLHI9dC5pbnB1dD90LmlucHV0Lm91dGVySGVpZ2h0KCk6MCxoPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aCsocz8wOmUoZG9jdW1lbnQpLnNjcm9sbExlZnQoKSksbD1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KyhzPzA6ZShkb2N1bWVudCkuc2Nyb2xsVG9wKCkpO3JldHVybiBpLmxlZnQtPXRoaXMuX2dldCh0LCJpc1JUTCIpP24tbzowLGkubGVmdC09cyYmaS5sZWZ0PT09dC5pbnB1dC5vZmZzZXQoKS5sZWZ0P2UoZG9jdW1lbnQpLnNjcm9sbExlZnQoKTowLGkudG9wLT1zJiZpLnRvcD09PXQuaW5wdXQub2Zmc2V0KCkudG9wK3I/ZShkb2N1bWVudCkuc2Nyb2xsVG9wKCk6MCxpLmxlZnQtPU1hdGgubWluKGkubGVmdCxpLmxlZnQrbj5oJiZoPm4/TWF0aC5hYnMoaS5sZWZ0K24taCk6MCksaS50b3AtPU1hdGgubWluKGkudG9wLGkudG9wK2E+bCYmbD5hP01hdGguYWJzKGErcik6MCksaX0sX2ZpbmRQb3M6ZnVuY3Rpb24odCl7Zm9yKHZhciBpLHM9dGhpcy5fZ2V0SW5zdCh0KSxuPXRoaXMuX2dldChzLCJpc1JUTCIpO3QmJigiaGlkZGVuIj09PXQudHlwZXx8MSE9PXQubm9kZVR5cGV8fGUuZXhwci5maWx0ZXJzLmhpZGRlbih0KSk7KXQ9dFtuPyJwcmV2aW91c1NpYmxpbmciOiJuZXh0U2libGluZyJdO3JldHVybiBpPWUodCkub2Zmc2V0KCksW2kubGVmdCxpLnRvcF19LF9oaWRlRGF0ZXBpY2tlcjpmdW5jdGlvbih0KXt2YXIgaSxzLG4sYSxvPXRoaXMuX2N1ckluc3Q7IW98fHQmJm8hPT1lLmRhdGEodCwiZGF0ZXBpY2tlciIpfHx0aGlzLl9kYXRlcGlja2VyU2hvd2luZyYmKGk9dGhpcy5fZ2V0KG8sInNob3dBbmltIikscz10aGlzLl9nZXQobywiZHVyYXRpb24iKSxuPWZ1bmN0aW9uKCl7ZS5kYXRlcGlja2VyLl90aWR5RGlhbG9nKG8pfSxlLmVmZmVjdHMmJihlLmVmZmVjdHMuZWZmZWN0W2ldfHxlLmVmZmVjdHNbaV0pP28uZHBEaXYuaGlkZShpLGUuZGF0ZXBpY2tlci5fZ2V0KG8sInNob3dPcHRpb25zIikscyxuKTpvLmRwRGl2WyJzbGlkZURvd24iPT09aT8ic2xpZGVVcCI6ImZhZGVJbiI9PT1pPyJmYWRlT3V0IjoiaGlkZSJdKGk/czpudWxsLG4pLGl8fG4oKSx0aGlzLl9kYXRlcGlja2VyU2hvd2luZz0hMSxhPXRoaXMuX2dldChvLCJvbkNsb3NlIiksYSYmYS5hcHBseShvLmlucHV0P28uaW5wdXRbMF06bnVsbCxbby5pbnB1dD9vLmlucHV0LnZhbCgpOiIiLG9dKSx0aGlzLl9sYXN0SW5wdXQ9bnVsbCx0aGlzLl9pbkRpYWxvZyYmKHRoaXMuX2RpYWxvZ0lucHV0LmNzcyh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiIwIix0b3A6Ii0xMDBweCJ9KSxlLmJsb2NrVUkmJihlLnVuYmxvY2tVSSgpLGUoImJvZHkiKS5hcHBlbmQodGhpcy5kcERpdikpKSx0aGlzLl9pbkRpYWxvZz0hMSl9LF90aWR5RGlhbG9nOmZ1bmN0aW9uKGUpe2UuZHBEaXYucmVtb3ZlQ2xhc3ModGhpcy5fZGlhbG9nQ2xhc3MpLnVuYmluZCgiLnVpLWRhdGVwaWNrZXItY2FsZW5kYXIiKX0sX2NoZWNrRXh0ZXJuYWxDbGljazpmdW5jdGlvbih0KXtpZihlLmRhdGVwaWNrZXIuX2N1ckluc3Qpe3ZhciBpPWUodC50YXJnZXQpLHM9ZS5kYXRlcGlja2VyLl9nZXRJbnN0KGlbMF0pOyhpWzBdLmlkIT09ZS5kYXRlcGlja2VyLl9tYWluRGl2SWQmJjA9PT1pLnBhcmVudHMoIiMiK2UuZGF0ZXBpY2tlci5fbWFpbkRpdklkKS5sZW5ndGgmJiFpLmhhc0NsYXNzKGUuZGF0ZXBpY2tlci5tYXJrZXJDbGFzc05hbWUpJiYhaS5jbG9zZXN0KCIuIitlLmRhdGVwaWNrZXIuX3RyaWdnZXJDbGFzcykubGVuZ3RoJiZlLmRhdGVwaWNrZXIuX2RhdGVwaWNrZXJTaG93aW5nJiYoIWUuZGF0ZXBpY2tlci5faW5EaWFsb2d8fCFlLmJsb2NrVUkpfHxpLmhhc0NsYXNzKGUuZGF0ZXBpY2tlci5tYXJrZXJDbGFzc05hbWUpJiZlLmRhdGVwaWNrZXIuX2N1ckluc3QhPT1zKSYmZS5kYXRlcGlja2VyLl9oaWRlRGF0ZXBpY2tlcigpfX0sX2FkanVzdERhdGU6ZnVuY3Rpb24odCxpLHMpe3ZhciBuPWUodCksYT10aGlzLl9nZXRJbnN0KG5bMF0pO3RoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKG5bMF0pfHwodGhpcy5fYWRqdXN0SW5zdERhdGUoYSxpKygiTSI9PT1zP3RoaXMuX2dldChhLCJzaG93Q3VycmVudEF0UG9zIik6MCkscyksdGhpcy5fdXBkYXRlRGF0ZXBpY2tlcihhKSl9LF9nb3RvVG9kYXk6ZnVuY3Rpb24odCl7dmFyIGkscz1lKHQpLG49dGhpcy5fZ2V0SW5zdChzWzBdKTt0aGlzLl9nZXQobiwiZ290b0N1cnJlbnQiKSYmbi5jdXJyZW50RGF5PyhuLnNlbGVjdGVkRGF5PW4uY3VycmVudERheSxuLmRyYXdNb250aD1uLnNlbGVjdGVkTW9udGg9bi5jdXJyZW50TW9udGgsbi5kcmF3WWVhcj1uLnNlbGVjdGVkWWVhcj1uLmN1cnJlbnRZZWFyKTooaT1uZXcgRGF0ZSxuLnNlbGVjdGVkRGF5PWkuZ2V0RGF0ZSgpLG4uZHJhd01vbnRoPW4uc2VsZWN0ZWRNb250aD1pLmdldE1vbnRoKCksbi5kcmF3WWVhcj1uLnNlbGVjdGVkWWVhcj1pLmdldEZ1bGxZZWFyKCkpLHRoaXMuX25vdGlmeUNoYW5nZShuKSx0aGlzLl9hZGp1c3REYXRlKHMpfSxfc2VsZWN0TW9udGhZZWFyOmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj1lKHQpLGE9dGhpcy5fZ2V0SW5zdChuWzBdKTthWyJzZWxlY3RlZCIrKCJNIj09PXM/Ik1vbnRoIjoiWWVhciIpXT1hWyJkcmF3IisoIk0iPT09cz8iTW9udGgiOiJZZWFyIildPXBhcnNlSW50KGkub3B0aW9uc1tpLnNlbGVjdGVkSW5kZXhdLnZhbHVlLDEwKSx0aGlzLl9ub3RpZnlDaGFuZ2UoYSksdGhpcy5fYWRqdXN0RGF0ZShuKX0sX3NlbGVjdERheTpmdW5jdGlvbih0LGkscyxuKXt2YXIgYSxvPWUodCk7ZShuKS5oYXNDbGFzcyh0aGlzLl91bnNlbGVjdGFibGVDbGFzcyl8fHRoaXMuX2lzRGlzYWJsZWREYXRlcGlja2VyKG9bMF0pfHwoYT10aGlzLl9nZXRJbnN0KG9bMF0pLGEuc2VsZWN0ZWREYXk9YS5jdXJyZW50RGF5PWUoImEiLG4pLmh0bWwoKSxhLnNlbGVjdGVkTW9udGg9YS5jdXJyZW50TW9udGg9aSxhLnNlbGVjdGVkWWVhcj1hLmN1cnJlbnRZZWFyPXMsdGhpcy5fc2VsZWN0RGF0ZSh0LHRoaXMuX2Zvcm1hdERhdGUoYSxhLmN1cnJlbnREYXksYS5jdXJyZW50TW9udGgsYS5jdXJyZW50WWVhcikpKX0sX2NsZWFyRGF0ZTpmdW5jdGlvbih0KXt2YXIgaT1lKHQpO3RoaXMuX3NlbGVjdERhdGUoaSwiIil9LF9zZWxlY3REYXRlOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbj1lKHQpLGE9dGhpcy5fZ2V0SW5zdChuWzBdKTtpPW51bGwhPWk/aTp0aGlzLl9mb3JtYXREYXRlKGEpLGEuaW5wdXQmJmEuaW5wdXQudmFsKGkpLHRoaXMuX3VwZGF0ZUFsdGVybmF0ZShhKSxzPXRoaXMuX2dldChhLCJvblNlbGVjdCIpLHM/cy5hcHBseShhLmlucHV0P2EuaW5wdXRbMF06bnVsbCxbaSxhXSk6YS5pbnB1dCYmYS5pbnB1dC50cmlnZ2VyKCJjaGFuZ2UiKSxhLmlubGluZT90aGlzLl91cGRhdGVEYXRlcGlja2VyKGEpOih0aGlzLl9oaWRlRGF0ZXBpY2tlcigpLHRoaXMuX2xhc3RJbnB1dD1hLmlucHV0WzBdLCJvYmplY3QiIT10eXBlb2YgYS5pbnB1dFswXSYmYS5pbnB1dC5mb2N1cygpLHRoaXMuX2xhc3RJbnB1dD1udWxsKX0sX3VwZGF0ZUFsdGVybmF0ZTpmdW5jdGlvbih0KXt2YXIgaSxzLG4sYT10aGlzLl9nZXQodCwiYWx0RmllbGQiKTthJiYoaT10aGlzLl9nZXQodCwiYWx0Rm9ybWF0Iil8fHRoaXMuX2dldCh0LCJkYXRlRm9ybWF0Iikscz10aGlzLl9nZXREYXRlKHQpLG49dGhpcy5mb3JtYXREYXRlKGkscyx0aGlzLl9nZXRGb3JtYXRDb25maWcodCkpLGUoYSkuZWFjaChmdW5jdGlvbigpe2UodGhpcykudmFsKG4pfSkpfSxub1dlZWtlbmRzOmZ1bmN0aW9uKGUpe3ZhciB0PWUuZ2V0RGF5KCk7cmV0dXJuW3Q+MCYmNj50LCIiXX0saXNvODYwMVdlZWs6ZnVuY3Rpb24oZSl7dmFyIHQsaT1uZXcgRGF0ZShlLmdldFRpbWUoKSk7cmV0dXJuIGkuc2V0RGF0ZShpLmdldERhdGUoKSs0LShpLmdldERheSgpfHw3KSksdD1pLmdldFRpbWUoKSxpLnNldE1vbnRoKDApLGkuc2V0RGF0ZSgxKSxNYXRoLmZsb29yKE1hdGgucm91bmQoKHQtaSkvODY0ZTUpLzcpKzF9LHBhcnNlRGF0ZTpmdW5jdGlvbih0LGkscyl7aWYobnVsbD09dHx8bnVsbD09aSl0aHJvdyJJbnZhbGlkIGFyZ3VtZW50cyI7aWYoaT0ib2JqZWN0Ij09dHlwZW9mIGk/IiIraTppKyIiLCIiPT09aSlyZXR1cm4gbnVsbDt2YXIgbixhLG8scixoPTAsbD0ocz9zLnNob3J0WWVhckN1dG9mZjpudWxsKXx8dGhpcy5fZGVmYXVsdHMuc2hvcnRZZWFyQ3V0b2ZmLHU9InN0cmluZyIhPXR5cGVvZiBsP2w6KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJTEwMCtwYXJzZUludChsLDEwKSxkPShzP3MuZGF5TmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXNTaG9ydCxjPShzP3MuZGF5TmFtZXM6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLmRheU5hbWVzLHA9KHM/cy5tb250aE5hbWVzU2hvcnQ6bnVsbCl8fHRoaXMuX2RlZmF1bHRzLm1vbnRoTmFtZXNTaG9ydCxmPShzP3MubW9udGhOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lcyxtPS0xLGc9LTEsdj0tMSx5PS0xLGI9ITEsXz1mdW5jdGlvbihlKXt2YXIgaT10Lmxlbmd0aD5uKzEmJnQuY2hhckF0KG4rMSk9PT1lO3JldHVybiBpJiZuKyssaX0seD1mdW5jdGlvbihlKXt2YXIgdD1fKGUpLHM9IkAiPT09ZT8xNDoiISI9PT1lPzIwOiJ5Ij09PWUmJnQ/NDoibyI9PT1lPzM6MixuPSJ5Ij09PWU/czoxLGE9UmVnRXhwKCJeXFxkeyIrbisiLCIrcysifSIpLG89aS5zdWJzdHJpbmcoaCkubWF0Y2goYSk7aWYoIW8pdGhyb3ciTWlzc2luZyBudW1iZXIgYXQgcG9zaXRpb24gIitoO3JldHVybiBoKz1vWzBdLmxlbmd0aCxwYXJzZUludChvWzBdLDEwKX0saz1mdW5jdGlvbih0LHMsbil7dmFyIGE9LTEsbz1lLm1hcChfKHQpP246cyxmdW5jdGlvbihlLHQpe3JldHVybltbdCxlXV19KS5zb3J0KGZ1bmN0aW9uKGUsdCl7cmV0dXJuLShlWzFdLmxlbmd0aC10WzFdLmxlbmd0aCl9KTtpZihlLmVhY2gobyxmdW5jdGlvbihlLHQpe3ZhciBzPXRbMV07cmV0dXJuIGkuc3Vic3RyKGgscy5sZW5ndGgpLnRvTG93ZXJDYXNlKCk9PT1zLnRvTG93ZXJDYXNlKCk/KGE9dFswXSxoKz1zLmxlbmd0aCwhMSk6dm9pZCAwfSksLTEhPT1hKXJldHVybiBhKzE7dGhyb3ciVW5rbm93biBuYW1lIGF0IHBvc2l0aW9uICIraH0sdz1mdW5jdGlvbigpe2lmKGkuY2hhckF0KGgpIT09dC5jaGFyQXQobikpdGhyb3ciVW5leHBlY3RlZCBsaXRlcmFsIGF0IHBvc2l0aW9uICIraDtoKyt9O2ZvcihuPTA7dC5sZW5ndGg+bjtuKyspaWYoYikiJyIhPT10LmNoYXJBdChuKXx8XygiJyIpP3coKTpiPSExO2Vsc2Ugc3dpdGNoKHQuY2hhckF0KG4pKXtjYXNlImQiOnY9eCgiZCIpO2JyZWFrO2Nhc2UiRCI6aygiRCIsZCxjKTticmVhaztjYXNlIm8iOnk9eCgibyIpO2JyZWFrO2Nhc2UibSI6Zz14KCJtIik7YnJlYWs7Y2FzZSJNIjpnPWsoIk0iLHAsZik7YnJlYWs7Y2FzZSJ5IjptPXgoInkiKTticmVhaztjYXNlIkAiOnI9bmV3IERhdGUoeCgiQCIpKSxtPXIuZ2V0RnVsbFllYXIoKSxnPXIuZ2V0TW9udGgoKSsxLHY9ci5nZXREYXRlKCk7YnJlYWs7Y2FzZSIhIjpyPW5ldyBEYXRlKCh4KCIhIiktdGhpcy5fdGlja3NUbzE5NzApLzFlNCksbT1yLmdldEZ1bGxZZWFyKCksZz1yLmdldE1vbnRoKCkrMSx2PXIuZ2V0RGF0ZSgpO2JyZWFrO2Nhc2UiJyI6XygiJyIpP3coKTpiPSEwO2JyZWFrO2RlZmF1bHQ6dygpfWlmKGkubGVuZ3RoPmgmJihvPWkuc3Vic3RyKGgpLCEvXlxzKy8udGVzdChvKSkpdGhyb3ciRXh0cmEvdW5wYXJzZWQgY2hhcmFjdGVycyBmb3VuZCBpbiBkYXRlOiAiK287aWYoLTE9PT1tP209KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpOjEwMD5tJiYobSs9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSUxMDArKHU+PW0/MDotMTAwKSkseT4tMSlmb3IoZz0xLHY9eTs7KXtpZihhPXRoaXMuX2dldERheXNJbk1vbnRoKG0sZy0xKSxhPj12KWJyZWFrO2crKyx2LT1hfWlmKHI9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUobSxnLTEsdikpLHIuZ2V0RnVsbFllYXIoKSE9PW18fHIuZ2V0TW9udGgoKSsxIT09Z3x8ci5nZXREYXRlKCkhPT12KXRocm93IkludmFsaWQgZGF0ZSI7cmV0dXJuIHJ9LEFUT006Inl5LW1tLWRkIixDT09LSUU6IkQsIGRkIE0geXkiLElTT184NjAxOiJ5eS1tbS1kZCIsUkZDXzgyMjoiRCwgZCBNIHkiLFJGQ184NTA6IkRELCBkZC1NLXkiLFJGQ18xMDM2OiJELCBkIE0geSIsUkZDXzExMjM6IkQsIGQgTSB5eSIsUkZDXzI4MjI6IkQsIGQgTSB5eSIsUlNTOiJELCBkIE0geSIsVElDS1M6IiEiLFRJTUVTVEFNUDoiQCIsVzNDOiJ5eS1tbS1kZCIsX3RpY2tzVG8xOTcwOjFlNyo2MCo2MCoyNCooNzE4Njg1K01hdGguZmxvb3IoNDkyLjUpLU1hdGguZmxvb3IoMTkuNykrTWF0aC5mbG9vcig0LjkyNSkpLGZvcm1hdERhdGU6ZnVuY3Rpb24oZSx0LGkpe2lmKCF0KXJldHVybiIiO3ZhciBzLG49KGk/aS5kYXlOYW1lc1Nob3J0Om51bGwpfHx0aGlzLl9kZWZhdWx0cy5kYXlOYW1lc1Nob3J0LGE9KGk/aS5kYXlOYW1lczpudWxsKXx8dGhpcy5fZGVmYXVsdHMuZGF5TmFtZXMsbz0oaT9pLm1vbnRoTmFtZXNTaG9ydDpudWxsKXx8dGhpcy5fZGVmYXVsdHMubW9udGhOYW1lc1Nob3J0LHI9KGk/aS5tb250aE5hbWVzOm51bGwpfHx0aGlzLl9kZWZhdWx0cy5tb250aE5hbWVzLGg9ZnVuY3Rpb24odCl7dmFyIGk9ZS5sZW5ndGg+cysxJiZlLmNoYXJBdChzKzEpPT09dDtyZXR1cm4gaSYmcysrLGl9LGw9ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPSIiK3Q7aWYoaChlKSlmb3IoO2k+cy5sZW5ndGg7KXM9IjAiK3M7cmV0dXJuIHN9LHU9ZnVuY3Rpb24oZSx0LGkscyl7cmV0dXJuIGgoZSk/c1t0XTppW3RdfSxkPSIiLGM9ITE7aWYodClmb3Iocz0wO2UubGVuZ3RoPnM7cysrKWlmKGMpIiciIT09ZS5jaGFyQXQocyl8fGgoIiciKT9kKz1lLmNoYXJBdChzKTpjPSExO2Vsc2Ugc3dpdGNoKGUuY2hhckF0KHMpKXtjYXNlImQiOmQrPWwoImQiLHQuZ2V0RGF0ZSgpLDIpO2JyZWFrO2Nhc2UiRCI6ZCs9dSgiRCIsdC5nZXREYXkoKSxuLGEpO2JyZWFrO2Nhc2UibyI6ZCs9bCgibyIsTWF0aC5yb3VuZCgobmV3IERhdGUodC5nZXRGdWxsWWVhcigpLHQuZ2V0TW9udGgoKSx0LmdldERhdGUoKSkuZ2V0VGltZSgpLW5ldyBEYXRlKHQuZ2V0RnVsbFllYXIoKSwwLDApLmdldFRpbWUoKSkvODY0ZTUpLDMpO2JyZWFrO2Nhc2UibSI6ZCs9bCgibSIsdC5nZXRNb250aCgpKzEsMik7YnJlYWs7Y2FzZSJNIjpkKz11KCJNIix0LmdldE1vbnRoKCksbyxyKTticmVhaztjYXNlInkiOmQrPWgoInkiKT90LmdldEZ1bGxZZWFyKCk6KDEwPnQuZ2V0WWVhcigpJTEwMD8iMCI6IiIpK3QuZ2V0WWVhcigpJTEwMDticmVhaztjYXNlIkAiOmQrPXQuZ2V0VGltZSgpO2JyZWFrO2Nhc2UiISI6ZCs9MWU0KnQuZ2V0VGltZSgpK3RoaXMuX3RpY2tzVG8xOTcwO2JyZWFrO2Nhc2UiJyI6aCgiJyIpP2QrPSInIjpjPSEwO2JyZWFrO2RlZmF1bHQ6ZCs9ZS5jaGFyQXQocyl9cmV0dXJuIGR9LF9wb3NzaWJsZUNoYXJzOmZ1bmN0aW9uKGUpe3ZhciB0LGk9IiIscz0hMSxuPWZ1bmN0aW9uKGkpe3ZhciBzPWUubGVuZ3RoPnQrMSYmZS5jaGFyQXQodCsxKT09PWk7cmV0dXJuIHMmJnQrKyxzfTtmb3IodD0wO2UubGVuZ3RoPnQ7dCsrKWlmKHMpIiciIT09ZS5jaGFyQXQodCl8fG4oIiciKT9pKz1lLmNoYXJBdCh0KTpzPSExO2Vsc2Ugc3dpdGNoKGUuY2hhckF0KHQpKXtjYXNlImQiOmNhc2UibSI6Y2FzZSJ5IjpjYXNlIkAiOmkrPSIwMTIzNDU2Nzg5IjticmVhaztjYXNlIkQiOmNhc2UiTSI6cmV0dXJuIG51bGw7Y2FzZSInIjpuKCInIik/aSs9IiciOnM9ITA7YnJlYWs7ZGVmYXVsdDppKz1lLmNoYXJBdCh0KX1yZXR1cm4gaX0sX2dldDpmdW5jdGlvbihlLHQpe3JldHVybiB2b2lkIDAhPT1lLnNldHRpbmdzW3RdP2Uuc2V0dGluZ3NbdF06dGhpcy5fZGVmYXVsdHNbdF19LF9zZXREYXRlRnJvbUZpZWxkOmZ1bmN0aW9uKGUsdCl7aWYoZS5pbnB1dC52YWwoKSE9PWUubGFzdFZhbCl7dmFyIGk9dGhpcy5fZ2V0KGUsImRhdGVGb3JtYXQiKSxzPWUubGFzdFZhbD1lLmlucHV0P2UuaW5wdXQudmFsKCk6bnVsbCxuPXRoaXMuX2dldERlZmF1bHREYXRlKGUpLGE9bixvPXRoaXMuX2dldEZvcm1hdENvbmZpZyhlKTt0cnl7YT10aGlzLnBhcnNlRGF0ZShpLHMsbyl8fG59Y2F0Y2gocil7cz10PyIiOnN9ZS5zZWxlY3RlZERheT1hLmdldERhdGUoKSxlLmRyYXdNb250aD1lLnNlbGVjdGVkTW9udGg9YS5nZXRNb250aCgpLGUuZHJhd1llYXI9ZS5zZWxlY3RlZFllYXI9YS5nZXRGdWxsWWVhcigpLGUuY3VycmVudERheT1zP2EuZ2V0RGF0ZSgpOjAsZS5jdXJyZW50TW9udGg9cz9hLmdldE1vbnRoKCk6MCxlLmN1cnJlbnRZZWFyPXM/YS5nZXRGdWxsWWVhcigpOjAsdGhpcy5fYWRqdXN0SW5zdERhdGUoZSl9fSxfZ2V0RGVmYXVsdERhdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX3Jlc3RyaWN0TWluTWF4KGUsdGhpcy5fZGV0ZXJtaW5lRGF0ZShlLHRoaXMuX2dldChlLCJkZWZhdWx0RGF0ZSIpLG5ldyBEYXRlKSl9LF9kZXRlcm1pbmVEYXRlOmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj1mdW5jdGlvbihlKXt2YXIgdD1uZXcgRGF0ZTtyZXR1cm4gdC5zZXREYXRlKHQuZ2V0RGF0ZSgpK2UpLHR9LGE9ZnVuY3Rpb24oaSl7dHJ5e3JldHVybiBlLmRhdGVwaWNrZXIucGFyc2VEYXRlKGUuZGF0ZXBpY2tlci5fZ2V0KHQsImRhdGVGb3JtYXQiKSxpLGUuZGF0ZXBpY2tlci5fZ2V0Rm9ybWF0Q29uZmlnKHQpKX1jYXRjaChzKXt9Zm9yKHZhciBuPShpLnRvTG93ZXJDYXNlKCkubWF0Y2goL15jLyk/ZS5kYXRlcGlja2VyLl9nZXREYXRlKHQpOm51bGwpfHxuZXcgRGF0ZSxhPW4uZ2V0RnVsbFllYXIoKSxvPW4uZ2V0TW9udGgoKSxyPW4uZ2V0RGF0ZSgpLGg9LyhbK1wtXT9bMC05XSspXHMqKGR8RHx3fFd8bXxNfHl8WSk/L2csbD1oLmV4ZWMoaSk7bDspe3N3aXRjaChsWzJdfHwiZCIpe2Nhc2UiZCI6Y2FzZSJEIjpyKz1wYXJzZUludChsWzFdLDEwKTticmVhaztjYXNlInciOmNhc2UiVyI6cis9NypwYXJzZUludChsWzFdLDEwKTticmVhaztjYXNlIm0iOmNhc2UiTSI6bys9cGFyc2VJbnQobFsxXSwxMCkscj1NYXRoLm1pbihyLGUuZGF0ZXBpY2tlci5fZ2V0RGF5c0luTW9udGgoYSxvKSk7YnJlYWs7Y2FzZSJ5IjpjYXNlIlkiOmErPXBhcnNlSW50KGxbMV0sMTApLHI9TWF0aC5taW4ocixlLmRhdGVwaWNrZXIuX2dldERheXNJbk1vbnRoKGEsbykpfWw9aC5leGVjKGkpfXJldHVybiBuZXcgRGF0ZShhLG8scil9LG89bnVsbD09aXx8IiI9PT1pP3M6InN0cmluZyI9PXR5cGVvZiBpP2EoaSk6Im51bWJlciI9PXR5cGVvZiBpP2lzTmFOKGkpP3M6bihpKTpuZXcgRGF0ZShpLmdldFRpbWUoKSk7cmV0dXJuIG89byYmIkludmFsaWQgRGF0ZSI9PSIiK28/czpvLG8mJihvLnNldEhvdXJzKDApLG8uc2V0TWludXRlcygwKSxvLnNldFNlY29uZHMoMCksby5zZXRNaWxsaXNlY29uZHMoMCkpLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG8pfSxfZGF5bGlnaHRTYXZpbmdBZGp1c3Q6ZnVuY3Rpb24oZSl7cmV0dXJuIGU/KGUuc2V0SG91cnMoZS5nZXRIb3VycygpPjEyP2UuZ2V0SG91cnMoKSsyOjApLGUpOm51bGx9LF9zZXREYXRlOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcz0hdCxuPWUuc2VsZWN0ZWRNb250aCxhPWUuc2VsZWN0ZWRZZWFyLG89dGhpcy5fcmVzdHJpY3RNaW5NYXgoZSx0aGlzLl9kZXRlcm1pbmVEYXRlKGUsdCxuZXcgRGF0ZSkpO2Uuc2VsZWN0ZWREYXk9ZS5jdXJyZW50RGF5PW8uZ2V0RGF0ZSgpLGUuZHJhd01vbnRoPWUuc2VsZWN0ZWRNb250aD1lLmN1cnJlbnRNb250aD1vLmdldE1vbnRoKCksZS5kcmF3WWVhcj1lLnNlbGVjdGVkWWVhcj1lLmN1cnJlbnRZZWFyPW8uZ2V0RnVsbFllYXIoKSxuPT09ZS5zZWxlY3RlZE1vbnRoJiZhPT09ZS5zZWxlY3RlZFllYXJ8fGl8fHRoaXMuX25vdGlmeUNoYW5nZShlKSx0aGlzLl9hZGp1c3RJbnN0RGF0ZShlKSxlLmlucHV0JiZlLmlucHV0LnZhbChzPyIiOnRoaXMuX2Zvcm1hdERhdGUoZSkpfSxfZ2V0RGF0ZTpmdW5jdGlvbihlKXt2YXIgdD0hZS5jdXJyZW50WWVhcnx8ZS5pbnB1dCYmIiI9PT1lLmlucHV0LnZhbCgpP251bGw6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZS5jdXJyZW50WWVhcixlLmN1cnJlbnRNb250aCxlLmN1cnJlbnREYXkpKTtyZXR1cm4gdH0sX2F0dGFjaEhhbmRsZXJzOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuX2dldCh0LCJzdGVwTW9udGhzIikscz0iIyIrdC5pZC5yZXBsYWNlKC9cXFxcL2csIlxcIik7dC5kcERpdi5maW5kKCJbZGF0YS1oYW5kbGVyXSIpLm1hcChmdW5jdGlvbigpe3ZhciB0PXtwcmV2OmZ1bmN0aW9uKCl7ZS5kYXRlcGlja2VyLl9hZGp1c3REYXRlKHMsLWksIk0iKX0sbmV4dDpmdW5jdGlvbigpe2UuZGF0ZXBpY2tlci5fYWRqdXN0RGF0ZShzLCtpLCJNIil9LGhpZGU6ZnVuY3Rpb24oKXtlLmRhdGVwaWNrZXIuX2hpZGVEYXRlcGlja2VyKCl9LHRvZGF5OmZ1bmN0aW9uKCl7ZS5kYXRlcGlja2VyLl9nb3RvVG9kYXkocyl9LHNlbGVjdERheTpmdW5jdGlvbigpe3JldHVybiBlLmRhdGVwaWNrZXIuX3NlbGVjdERheShzLCt0aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS1tb250aCIpLCt0aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS15ZWFyIiksdGhpcyksITF9LHNlbGVjdE1vbnRoOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZZWFyKHMsdGhpcywiTSIpLCExfSxzZWxlY3RZZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZGF0ZXBpY2tlci5fc2VsZWN0TW9udGhZZWFyKHMsdGhpcywiWSIpLCExfX07ZSh0aGlzKS5iaW5kKHRoaXMuZ2V0QXR0cmlidXRlKCJkYXRhLWV2ZW50IiksdFt0aGlzLmdldEF0dHJpYnV0ZSgiZGF0YS1oYW5kbGVyIildKX0pfSxfZ2VuZXJhdGVIVE1MOmZ1bmN0aW9uKGUpe3ZhciB0LGkscyxuLGEsbyxyLGgsbCx1LGQsYyxwLGYsbSxnLHYseSxiLF8seCxrLHcsVCxELFMsTSxOLEMsQSxQLEksSCx6LEYsaixFLE8sVyxMPW5ldyBEYXRlLFI9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoTC5nZXRGdWxsWWVhcigpLEwuZ2V0TW9udGgoKSxMLmdldERhdGUoKSkpLFk9dGhpcy5fZ2V0KGUsImlzUlRMIiksSj10aGlzLl9nZXQoZSwic2hvd0J1dHRvblBhbmVsIiksQj10aGlzLl9nZXQoZSwiaGlkZUlmTm9QcmV2TmV4dCIpLFE9dGhpcy5fZ2V0KGUsIm5hdmlnYXRpb25Bc0RhdGVGb3JtYXQiKSxLPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGUpLFY9dGhpcy5fZ2V0KGUsInNob3dDdXJyZW50QXRQb3MiKSxxPXRoaXMuX2dldChlLCJzdGVwTW9udGhzIiksVT0xIT09S1swXXx8MSE9PUtbMV0sRz10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChlLmN1cnJlbnREYXk/bmV3IERhdGUoZS5jdXJyZW50WWVhcixlLmN1cnJlbnRNb250aCxlLmN1cnJlbnREYXkpOm5ldyBEYXRlKDk5OTksOSw5KSksWD10aGlzLl9nZXRNaW5NYXhEYXRlKGUsIm1pbiIpLCQ9dGhpcy5fZ2V0TWluTWF4RGF0ZShlLCJtYXgiKSxaPWUuZHJhd01vbnRoLVYsZXQ9ZS5kcmF3WWVhcjtpZigwPlomJihaKz0xMixldC0tKSwkKWZvcih0PXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKCQuZ2V0RnVsbFllYXIoKSwkLmdldE1vbnRoKCktS1swXSpLWzFdKzEsJC5nZXREYXRlKCkpKSx0PVgmJlg+dD9YOnQ7dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZXQsWiwxKSk+dDspWi0tLDA+WiYmKFo9MTEsZXQtLSk7Zm9yKGUuZHJhd01vbnRoPVosZS5kcmF3WWVhcj1ldCxpPXRoaXMuX2dldChlLCJwcmV2VGV4dCIpLGk9UT90aGlzLmZvcm1hdERhdGUoaSx0aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShldCxaLXEsMSkpLHRoaXMuX2dldEZvcm1hdENvbmZpZyhlKSk6aSxzPXRoaXMuX2NhbkFkanVzdE1vbnRoKGUsLTEsZXQsWik/IjxhIGNsYXNzPSd1aS1kYXRlcGlja2VyLXByZXYgdWktY29ybmVyLWFsbCcgZGF0YS1oYW5kbGVyPSdwcmV2JyBkYXRhLWV2ZW50PSdjbGljaycgdGl0bGU9JyIraSsiJz48c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0iKyhZPyJlIjoidyIpKyInPiIraSsiPC9zcGFuPjwvYT4iOkI/IiI6IjxhIGNsYXNzPSd1aS1kYXRlcGlja2VyLXByZXYgdWktY29ybmVyLWFsbCB1aS1zdGF0ZS1kaXNhYmxlZCcgdGl0bGU9JyIraSsiJz48c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLWNpcmNsZS10cmlhbmdsZS0iKyhZPyJlIjoidyIpKyInPiIraSsiPC9zcGFuPjwvYT4iLG49dGhpcy5fZ2V0KGUsIm5leHRUZXh0Iiksbj1RP3RoaXMuZm9ybWF0RGF0ZShuLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKGV0LForcSwxKSksdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGUpKTpuLGE9dGhpcy5fY2FuQWRqdXN0TW9udGgoZSwxLGV0LFopPyI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwnIGRhdGEtaGFuZGxlcj0nbmV4dCcgZGF0YS1ldmVudD0nY2xpY2snIHRpdGxlPSciK24rIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIisoWT8idyI6ImUiKSsiJz4iK24rIjwvc3Bhbj48L2E+IjpCPyIiOiI8YSBjbGFzcz0ndWktZGF0ZXBpY2tlci1uZXh0IHVpLWNvcm5lci1hbGwgdWktc3RhdGUtZGlzYWJsZWQnIHRpdGxlPSciK24rIic+PHNwYW4gY2xhc3M9J3VpLWljb24gdWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtIisoWT8idyI6ImUiKSsiJz4iK24rIjwvc3Bhbj48L2E+IixvPXRoaXMuX2dldChlLCJjdXJyZW50VGV4dCIpLHI9dGhpcy5fZ2V0KGUsImdvdG9DdXJyZW50IikmJmUuY3VycmVudERheT9HOlIsbz1RP3RoaXMuZm9ybWF0RGF0ZShvLHIsdGhpcy5fZ2V0Rm9ybWF0Q29uZmlnKGUpKTpvLGg9ZS5pbmxpbmU/IiI6IjxidXR0b24gdHlwZT0nYnV0dG9uJyBjbGFzcz0ndWktZGF0ZXBpY2tlci1jbG9zZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXByaW1hcnkgdWktY29ybmVyLWFsbCcgZGF0YS1oYW5kbGVyPSdoaWRlJyBkYXRhLWV2ZW50PSdjbGljayc+Iit0aGlzLl9nZXQoZSwiY2xvc2VUZXh0IikrIjwvYnV0dG9uPiIsbD1KPyI8ZGl2IGNsYXNzPSd1aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQnPiIrKFk/aDoiIikrKHRoaXMuX2lzSW5SYW5nZShlLHIpPyI8YnV0dG9uIHR5cGU9J2J1dHRvbicgY2xhc3M9J3VpLWRhdGVwaWNrZXItY3VycmVudCB1aS1zdGF0ZS1kZWZhdWx0IHVpLXByaW9yaXR5LXNlY29uZGFyeSB1aS1jb3JuZXItYWxsJyBkYXRhLWhhbmRsZXI9J3RvZGF5JyBkYXRhLWV2ZW50PSdjbGljayc+IitvKyI8L2J1dHRvbj4iOiIiKSsoWT8iIjpoKSsiPC9kaXY+IjoiIix1PXBhcnNlSW50KHRoaXMuX2dldChlLCJmaXJzdERheSIpLDEwKSx1PWlzTmFOKHUpPzA6dSxkPXRoaXMuX2dldChlLCJzaG93V2VlayIpLGM9dGhpcy5fZ2V0KGUsImRheU5hbWVzIikscD10aGlzLl9nZXQoZSwiZGF5TmFtZXNNaW4iKSxmPXRoaXMuX2dldChlLCJtb250aE5hbWVzIiksbT10aGlzLl9nZXQoZSwibW9udGhOYW1lc1Nob3J0IiksZz10aGlzLl9nZXQoZSwiYmVmb3JlU2hvd0RheSIpLHY9dGhpcy5fZ2V0KGUsInNob3dPdGhlck1vbnRocyIpLHk9dGhpcy5fZ2V0KGUsInNlbGVjdE90aGVyTW9udGhzIiksYj10aGlzLl9nZXREZWZhdWx0RGF0ZShlKSxfPSIiLGs9MDtLWzBdPms7aysrKXtmb3Iodz0iIix0aGlzLm1heFJvd3M9NCxUPTA7S1sxXT5UO1QrKyl7aWYoRD10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShldCxaLGUuc2VsZWN0ZWREYXkpKSxTPSIgdWktY29ybmVyLWFsbCIsTT0iIixVKXtpZihNKz0iPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1ncm91cCIsS1sxXT4xKXN3aXRjaChUKXtjYXNlIDA6TSs9IiB1aS1kYXRlcGlja2VyLWdyb3VwLWZpcnN0IixTPSIgdWktY29ybmVyLSIrKFk/InJpZ2h0IjoibGVmdCIpO2JyZWFrO2Nhc2UgS1sxXS0xOk0rPSIgdWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IixTPSIgdWktY29ybmVyLSIrKFk/ImxlZnQiOiJyaWdodCIpO2JyZWFrO2RlZmF1bHQ6TSs9IiB1aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSIsUz0iIn1NKz0iJz4ifWZvcihNKz0iPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1oZWFkZXIgdWktd2lkZ2V0LWhlYWRlciB1aS1oZWxwZXItY2xlYXJmaXgiK1MrIic+IisoL2FsbHxsZWZ0Ly50ZXN0KFMpJiYwPT09az9ZP2E6czoiIikrKC9hbGx8cmlnaHQvLnRlc3QoUykmJjA9PT1rP1k/czphOiIiKSt0aGlzLl9nZW5lcmF0ZU1vbnRoWWVhckhlYWRlcihlLFosZXQsWCwkLGs+MHx8VD4wLGYsbSkrIjwvZGl2Pjx0YWJsZSBjbGFzcz0ndWktZGF0ZXBpY2tlci1jYWxlbmRhcic+PHRoZWFkPiIrIjx0cj4iLE49ZD8iPHRoIGNsYXNzPSd1aS1kYXRlcGlja2VyLXdlZWstY29sJz4iK3RoaXMuX2dldChlLCJ3ZWVrSGVhZGVyIikrIjwvdGg+IjoiIix4PTA7Nz54O3grKylDPSh4K3UpJTcsTis9Ijx0aCBzY29wZT0nY29sJyIrKCh4K3UrNiklNz49NT8iIGNsYXNzPSd1aS1kYXRlcGlja2VyLXdlZWstZW5kJyI6IiIpKyI+IisiPHNwYW4gdGl0bGU9JyIrY1tDXSsiJz4iK3BbQ10rIjwvc3Bhbj48L3RoPiI7Zm9yKE0rPU4rIjwvdHI+PC90aGVhZD48dGJvZHk+IixBPXRoaXMuX2dldERheXNJbk1vbnRoKGV0LFopLGV0PT09ZS5zZWxlY3RlZFllYXImJlo9PT1lLnNlbGVjdGVkTW9udGgmJihlLnNlbGVjdGVkRGF5PU1hdGgubWluKGUuc2VsZWN0ZWREYXksQSkpLFA9KHRoaXMuX2dldEZpcnN0RGF5T2ZNb250aChldCxaKS11KzcpJTcsST1NYXRoLmNlaWwoKFArQSkvNyksSD1VP3RoaXMubWF4Um93cz5JP3RoaXMubWF4Um93czpJOkksdGhpcy5tYXhSb3dzPUgsej10aGlzLl9kYXlsaWdodFNhdmluZ0FkanVzdChuZXcgRGF0ZShldCxaLDEtUCkpLEY9MDtIPkY7RisrKXtmb3IoTSs9Ijx0cj4iLGo9ZD8iPHRkIGNsYXNzPSd1aS1kYXRlcGlja2VyLXdlZWstY29sJz4iK3RoaXMuX2dldChlLCJjYWxjdWxhdGVXZWVrIikoeikrIjwvdGQ+IjoiIix4PTA7Nz54O3grKylFPWc/Zy5hcHBseShlLmlucHV0P2UuaW5wdXRbMF06bnVsbCxbel0pOlshMCwiIl0sTz16LmdldE1vbnRoKCkhPT1aLFc9TyYmIXl8fCFFWzBdfHxYJiZYPnp8fCQmJno+JCxqKz0iPHRkIGNsYXNzPSciKygoeCt1KzYpJTc+PTU/IiB1aS1kYXRlcGlja2VyLXdlZWstZW5kIjoiIikrKE8/IiB1aS1kYXRlcGlja2VyLW90aGVyLW1vbnRoIjoiIikrKHouZ2V0VGltZSgpPT09RC5nZXRUaW1lKCkmJlo9PT1lLnNlbGVjdGVkTW9udGgmJmUuX2tleUV2ZW50fHxiLmdldFRpbWUoKT09PXouZ2V0VGltZSgpJiZiLmdldFRpbWUoKT09PUQuZ2V0VGltZSgpPyIgIit0aGlzLl9kYXlPdmVyQ2xhc3M6IiIpKyhXPyIgIit0aGlzLl91bnNlbGVjdGFibGVDbGFzcysiIHVpLXN0YXRlLWRpc2FibGVkIjoiIikrKE8mJiF2PyIiOiIgIitFWzFdKyh6LmdldFRpbWUoKT09PUcuZ2V0VGltZSgpPyIgIit0aGlzLl9jdXJyZW50Q2xhc3M6IiIpKyh6LmdldFRpbWUoKT09PVIuZ2V0VGltZSgpPyIgdWktZGF0ZXBpY2tlci10b2RheSI6IiIpKSsiJyIrKE8mJiF2fHwhRVsyXT8iIjoiIHRpdGxlPSciK0VbMl0ucmVwbGFjZSgvJy9nLCImIzM5OyIpKyInIikrKFc/IiI6IiBkYXRhLWhhbmRsZXI9J3NlbGVjdERheScgZGF0YS1ldmVudD0nY2xpY2snIGRhdGEtbW9udGg9JyIrei5nZXRNb250aCgpKyInIGRhdGEteWVhcj0nIit6LmdldEZ1bGxZZWFyKCkrIiciKSsiPiIrKE8mJiF2PyImI3hhMDsiOlc/IjxzcGFuIGNsYXNzPSd1aS1zdGF0ZS1kZWZhdWx0Jz4iK3ouZ2V0RGF0ZSgpKyI8L3NwYW4+IjoiPGEgY2xhc3M9J3VpLXN0YXRlLWRlZmF1bHQiKyh6LmdldFRpbWUoKT09PVIuZ2V0VGltZSgpPyIgdWktc3RhdGUtaGlnaGxpZ2h0IjoiIikrKHouZ2V0VGltZSgpPT09Ry5nZXRUaW1lKCk/IiB1aS1zdGF0ZS1hY3RpdmUiOiIiKSsoTz8iIHVpLXByaW9yaXR5LXNlY29uZGFyeSI6IiIpKyInIGhyZWY9JyMnPiIrei5nZXREYXRlKCkrIjwvYT4iKSsiPC90ZD4iLHouc2V0RGF0ZSh6LmdldERhdGUoKSsxKSx6PXRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KHopO00rPWorIjwvdHI+In1aKyssWj4xMSYmKFo9MCxldCsrKSxNKz0iPC90Ym9keT48L3RhYmxlPiIrKFU/IjwvZGl2PiIrKEtbMF0+MCYmVD09PUtbMV0tMT8iPGRpdiBjbGFzcz0ndWktZGF0ZXBpY2tlci1yb3ctYnJlYWsnPjwvZGl2PiI6IiIpOiIiKSx3Kz1NfV8rPXd9cmV0dXJuIF8rPWwsZS5fa2V5RXZlbnQ9ITEsX30sX2dlbmVyYXRlTW9udGhZZWFySGVhZGVyOmZ1bmN0aW9uKGUsdCxpLHMsbixhLG8scil7dmFyIGgsbCx1LGQsYyxwLGYsbSxnPXRoaXMuX2dldChlLCJjaGFuZ2VNb250aCIpLHY9dGhpcy5fZ2V0KGUsImNoYW5nZVllYXIiKSx5PXRoaXMuX2dldChlLCJzaG93TW9udGhBZnRlclllYXIiKSxiPSI8ZGl2IGNsYXNzPSd1aS1kYXRlcGlja2VyLXRpdGxlJz4iLF89IiI7aWYoYXx8IWcpXys9IjxzcGFuIGNsYXNzPSd1aS1kYXRlcGlja2VyLW1vbnRoJz4iK29bdF0rIjwvc3Bhbj4iO2Vsc2V7Zm9yKGg9cyYmcy5nZXRGdWxsWWVhcigpPT09aSxsPW4mJm4uZ2V0RnVsbFllYXIoKT09PWksXys9IjxzZWxlY3QgY2xhc3M9J3VpLWRhdGVwaWNrZXItbW9udGgnIGRhdGEtaGFuZGxlcj0nc2VsZWN0TW9udGgnIGRhdGEtZXZlbnQ9J2NoYW5nZSc+Iix1PTA7MTI+dTt1KyspKCFofHx1Pj1zLmdldE1vbnRoKCkpJiYoIWx8fG4uZ2V0TW9udGgoKT49dSkmJihfKz0iPG9wdGlvbiB2YWx1ZT0nIit1KyInIisodT09PXQ/IiBzZWxlY3RlZD0nc2VsZWN0ZWQnIjoiIikrIj4iK3JbdV0rIjwvb3B0aW9uPiIpO18rPSI8L3NlbGVjdD4ifWlmKHl8fChiKz1fKyghYSYmZyYmdj8iIjoiJiN4YTA7IikpLCFlLnllYXJzaHRtbClpZihlLnllYXJzaHRtbD0iIixhfHwhdiliKz0iPHNwYW4gY2xhc3M9J3VpLWRhdGVwaWNrZXIteWVhcic+IitpKyI8L3NwYW4+IjtlbHNle2ZvcihkPXRoaXMuX2dldChlLCJ5ZWFyUmFuZ2UiKS5zcGxpdCgiOiIpLGM9KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpLHA9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5tYXRjaCgvY1srXC1dLiovKT9pK3BhcnNlSW50KGUuc3Vic3RyaW5nKDEpLDEwKTplLm1hdGNoKC9bK1wtXS4qLyk/YytwYXJzZUludChlLDEwKTpwYXJzZUludChlLDEwKTtyZXR1cm4gaXNOYU4odCk/Yzp0fSxmPXAoZFswXSksbT1NYXRoLm1heChmLHAoZFsxXXx8IiIpKSxmPXM/TWF0aC5tYXgoZixzLmdldEZ1bGxZZWFyKCkpOmYsbT1uP01hdGgubWluKG0sbi5nZXRGdWxsWWVhcigpKTptLGUueWVhcnNodG1sKz0iPHNlbGVjdCBjbGFzcz0ndWktZGF0ZXBpY2tlci15ZWFyJyBkYXRhLWhhbmRsZXI9J3NlbGVjdFllYXInIGRhdGEtZXZlbnQ9J2NoYW5nZSc+IjttPj1mO2YrKyllLnllYXJzaHRtbCs9IjxvcHRpb24gdmFsdWU9JyIrZisiJyIrKGY9PT1pPyIgc2VsZWN0ZWQ9J3NlbGVjdGVkJyI6IiIpKyI+IitmKyI8L29wdGlvbj4iO2UueWVhcnNodG1sKz0iPC9zZWxlY3Q+IixiKz1lLnllYXJzaHRtbCxlLnllYXJzaHRtbD1udWxsfXJldHVybiBiKz10aGlzLl9nZXQoZSwieWVhclN1ZmZpeCIpLHkmJihiKz0oIWEmJmcmJnY/IiI6IiYjeGEwOyIpK18pLGIrPSI8L2Rpdj4ifSxfYWRqdXN0SW5zdERhdGU6ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPWUuZHJhd1llYXIrKCJZIj09PWk/dDowKSxuPWUuZHJhd01vbnRoKygiTSI9PT1pP3Q6MCksYT1NYXRoLm1pbihlLnNlbGVjdGVkRGF5LHRoaXMuX2dldERheXNJbk1vbnRoKHMsbikpKygiRCI9PT1pP3Q6MCksbz10aGlzLl9yZXN0cmljdE1pbk1heChlLHRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHMsbixhKSkpO2Uuc2VsZWN0ZWREYXk9by5nZXREYXRlKCksZS5kcmF3TW9udGg9ZS5zZWxlY3RlZE1vbnRoPW8uZ2V0TW9udGgoKSxlLmRyYXdZZWFyPWUuc2VsZWN0ZWRZZWFyPW8uZ2V0RnVsbFllYXIoKSwoIk0iPT09aXx8IlkiPT09aSkmJnRoaXMuX25vdGlmeUNoYW5nZShlKX0sX3Jlc3RyaWN0TWluTWF4OmZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5fZ2V0TWluTWF4RGF0ZShlLCJtaW4iKSxzPXRoaXMuX2dldE1pbk1heERhdGUoZSwibWF4Iiksbj1pJiZpPnQ/aTp0O3JldHVybiBzJiZuPnM/czpufSxfbm90aWZ5Q2hhbmdlOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2dldChlLCJvbkNoYW5nZU1vbnRoWWVhciIpO3QmJnQuYXBwbHkoZS5pbnB1dD9lLmlucHV0WzBdOm51bGwsW2Uuc2VsZWN0ZWRZZWFyLGUuc2VsZWN0ZWRNb250aCsxLGVdKX0sX2dldE51bWJlck9mTW9udGhzOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuX2dldChlLCJudW1iZXJPZk1vbnRocyIpO3JldHVybiBudWxsPT10P1sxLDFdOiJudW1iZXIiPT10eXBlb2YgdD9bMSx0XTp0fSxfZ2V0TWluTWF4RGF0ZTpmdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9kZXRlcm1pbmVEYXRlKGUsdGhpcy5fZ2V0KGUsdCsiRGF0ZSIpLG51bGwpfSxfZ2V0RGF5c0luTW9udGg6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gMzItdGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZSx0LDMyKSkuZ2V0RGF0ZSgpfSxfZ2V0Rmlyc3REYXlPZk1vbnRoOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIG5ldyBEYXRlKGUsdCwxKS5nZXREYXkoKX0sX2NhbkFkanVzdE1vbnRoOmZ1bmN0aW9uKGUsdCxpLHMpe3ZhciBuPXRoaXMuX2dldE51bWJlck9mTW9udGhzKGUpLGE9dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoaSxzKygwPnQ/dDpuWzBdKm5bMV0pLDEpKTtyZXR1cm4gMD50JiZhLnNldERhdGUodGhpcy5fZ2V0RGF5c0luTW9udGgoYS5nZXRGdWxsWWVhcigpLGEuZ2V0TW9udGgoKSkpLHRoaXMuX2lzSW5SYW5nZShlLGEpfSxfaXNJblJhbmdlOmZ1bmN0aW9uKGUsdCl7dmFyIGkscyxuPXRoaXMuX2dldE1pbk1heERhdGUoZSwibWluIiksYT10aGlzLl9nZXRNaW5NYXhEYXRlKGUsIm1heCIpLG89bnVsbCxyPW51bGwsaD10aGlzLl9nZXQoZSwieWVhclJhbmdlIik7cmV0dXJuIGgmJihpPWguc3BsaXQoIjoiKSxzPShuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxvPXBhcnNlSW50KGlbMF0sMTApLHI9cGFyc2VJbnQoaVsxXSwxMCksaVswXS5tYXRjaCgvWytcLV0uKi8pJiYobys9cyksaVsxXS5tYXRjaCgvWytcLV0uKi8pJiYocis9cykpLCghbnx8dC5nZXRUaW1lKCk+PW4uZ2V0VGltZSgpKSYmKCFhfHx0LmdldFRpbWUoKTw9YS5nZXRUaW1lKCkpJiYoIW98fHQuZ2V0RnVsbFllYXIoKT49bykmJighcnx8cj49dC5nZXRGdWxsWWVhcigpKX0sX2dldEZvcm1hdENvbmZpZzpmdW5jdGlvbihlKXt2YXIgdD10aGlzLl9nZXQoZSwic2hvcnRZZWFyQ3V0b2ZmIik7cmV0dXJuIHQ9InN0cmluZyIhPXR5cGVvZiB0P3Q6KG5ldyBEYXRlKS5nZXRGdWxsWWVhcigpJTEwMCtwYXJzZUludCh0LDEwKSx7c2hvcnRZZWFyQ3V0b2ZmOnQsZGF5TmFtZXNTaG9ydDp0aGlzLl9nZXQoZSwiZGF5TmFtZXNTaG9ydCIpLGRheU5hbWVzOnRoaXMuX2dldChlLCJkYXlOYW1lcyIpLG1vbnRoTmFtZXNTaG9ydDp0aGlzLl9nZXQoZSwibW9udGhOYW1lc1Nob3J0IiksbW9udGhOYW1lczp0aGlzLl9nZXQoZSwibW9udGhOYW1lcyIpfX0sX2Zvcm1hdERhdGU6ZnVuY3Rpb24oZSx0LGkscyl7dHx8KGUuY3VycmVudERheT1lLnNlbGVjdGVkRGF5LGUuY3VycmVudE1vbnRoPWUuc2VsZWN0ZWRNb250aCxlLmN1cnJlbnRZZWFyPWUuc2VsZWN0ZWRZZWFyKTt2YXIgbj10PyJvYmplY3QiPT10eXBlb2YgdD90OnRoaXMuX2RheWxpZ2h0U2F2aW5nQWRqdXN0KG5ldyBEYXRlKHMsaSx0KSk6dGhpcy5fZGF5bGlnaHRTYXZpbmdBZGp1c3QobmV3IERhdGUoZS5jdXJyZW50WWVhcixlLmN1cnJlbnRNb250aCxlLmN1cnJlbnREYXkpKTtyZXR1cm4gdGhpcy5mb3JtYXREYXRlKHRoaXMuX2dldChlLCJkYXRlRm9ybWF0Iiksbix0aGlzLl9nZXRGb3JtYXRDb25maWcoZSkpfX0pLGUuZm4uZGF0ZXBpY2tlcj1mdW5jdGlvbih0KXtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHRoaXM7ZS5kYXRlcGlja2VyLmluaXRpYWxpemVkfHwoZShkb2N1bWVudCkubW91c2Vkb3duKGUuZGF0ZXBpY2tlci5fY2hlY2tFeHRlcm5hbENsaWNrKSxlLmRhdGVwaWNrZXIuaW5pdGlhbGl6ZWQ9ITApLDA9PT1lKCIjIitlLmRhdGVwaWNrZXIuX21haW5EaXZJZCkubGVuZ3RoJiZlKCJib2R5IikuYXBwZW5kKGUuZGF0ZXBpY2tlci5kcERpdik7dmFyIGk9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO3JldHVybiJzdHJpbmciIT10eXBlb2YgdHx8ImlzRGlzYWJsZWQiIT09dCYmImdldERhdGUiIT09dCYmIndpZGdldCIhPT10PyJvcHRpb24iPT09dCYmMj09PWFyZ3VtZW50cy5sZW5ndGgmJiJzdHJpbmciPT10eXBlb2YgYXJndW1lbnRzWzFdP2UuZGF0ZXBpY2tlclsiXyIrdCsiRGF0ZXBpY2tlciJdLmFwcGx5KGUuZGF0ZXBpY2tlcixbdGhpc1swXV0uY29uY2F0KGkpKTp0aGlzLmVhY2goZnVuY3Rpb24oKXsic3RyaW5nIj09dHlwZW9mIHQ/ZS5kYXRlcGlja2VyWyJfIit0KyJEYXRlcGlja2VyIl0uYXBwbHkoZS5kYXRlcGlja2VyLFt0aGlzXS5jb25jYXQoaSkpOmUuZGF0ZXBpY2tlci5fYXR0YWNoRGF0ZXBpY2tlcih0aGlzLHQpfSk6ZS5kYXRlcGlja2VyWyJfIit0KyJEYXRlcGlja2VyIl0uYXBwbHkoZS5kYXRlcGlja2VyLFt0aGlzWzBdXS5jb25jYXQoaSkpfSxlLmRhdGVwaWNrZXI9bmV3IG4sZS5kYXRlcGlja2VyLmluaXRpYWxpemVkPSExLGUuZGF0ZXBpY2tlci51dWlkPShuZXcgRGF0ZSkuZ2V0VGltZSgpLGUuZGF0ZXBpY2tlci52ZXJzaW9uPSIxLjExLjQiLGUuZGF0ZXBpY2tlcixlLndpZGdldCgidWkuZGlhbG9nIix7dmVyc2lvbjoiMS4xMS40IixvcHRpb25zOnthcHBlbmRUbzoiYm9keSIsYXV0b09wZW46ITAsYnV0dG9uczpbXSxjbG9zZU9uRXNjYXBlOiEwLGNsb3NlVGV4dDoiQ2xvc2UiLGRpYWxvZ0NsYXNzOiIiLGRyYWdnYWJsZTohMCxoaWRlOm51bGwsaGVpZ2h0OiJhdXRvIixtYXhIZWlnaHQ6bnVsbCxtYXhXaWR0aDpudWxsLG1pbkhlaWdodDoxNTAsbWluV2lkdGg6MTUwLG1vZGFsOiExLHBvc2l0aW9uOntteToiY2VudGVyIixhdDoiY2VudGVyIixvZjp3aW5kb3csY29sbGlzaW9uOiJmaXQiLHVzaW5nOmZ1bmN0aW9uKHQpe3ZhciBpPWUodGhpcykuY3NzKHQpLm9mZnNldCgpLnRvcDswPmkmJmUodGhpcykuY3NzKCJ0b3AiLHQudG9wLWkpfX0scmVzaXphYmxlOiEwLHNob3c6bnVsbCx0aXRsZTpudWxsLHdpZHRoOjMwMCxiZWZvcmVDbG9zZTpudWxsLGNsb3NlOm51bGwsZHJhZzpudWxsLGRyYWdTdGFydDpudWxsLGRyYWdTdG9wOm51bGwsZm9jdXM6bnVsbCxvcGVuOm51bGwscmVzaXplOm51bGwscmVzaXplU3RhcnQ6bnVsbCxyZXNpemVTdG9wOm51bGx9LHNpemVSZWxhdGVkT3B0aW9uczp7YnV0dG9uczohMCxoZWlnaHQ6ITAsbWF4SGVpZ2h0OiEwLG1heFdpZHRoOiEwLG1pbkhlaWdodDohMCxtaW5XaWR0aDohMCx3aWR0aDohMH0scmVzaXphYmxlUmVsYXRlZE9wdGlvbnM6e21heEhlaWdodDohMCxtYXhXaWR0aDohMCxtaW5IZWlnaHQ6ITAsbWluV2lkdGg6ITB9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLm9yaWdpbmFsQ3NzPXtkaXNwbGF5OnRoaXMuZWxlbWVudFswXS5zdHlsZS5kaXNwbGF5LHdpZHRoOnRoaXMuZWxlbWVudFswXS5zdHlsZS53aWR0aCxtaW5IZWlnaHQ6dGhpcy5lbGVtZW50WzBdLnN0eWxlLm1pbkhlaWdodCxtYXhIZWlnaHQ6dGhpcy5lbGVtZW50WzBdLnN0eWxlLm1heEhlaWdodCxoZWlnaHQ6dGhpcy5lbGVtZW50WzBdLnN0eWxlLmhlaWdodH0sdGhpcy5vcmlnaW5hbFBvc2l0aW9uPXtwYXJlbnQ6dGhpcy5lbGVtZW50LnBhcmVudCgpLGluZGV4OnRoaXMuZWxlbWVudC5wYXJlbnQoKS5jaGlsZHJlbigpLmluZGV4KHRoaXMuZWxlbWVudCl9LHRoaXMub3JpZ2luYWxUaXRsZT10aGlzLmVsZW1lbnQuYXR0cigidGl0bGUiKSx0aGlzLm9wdGlvbnMudGl0bGU9dGhpcy5vcHRpb25zLnRpdGxlfHx0aGlzLm9yaWdpbmFsVGl0bGUsdGhpcy5fY3JlYXRlV3JhcHBlcigpLHRoaXMuZWxlbWVudC5zaG93KCkucmVtb3ZlQXR0cigidGl0bGUiKS5hZGRDbGFzcygidWktZGlhbG9nLWNvbnRlbnQgdWktd2lkZ2V0LWNvbnRlbnQiKS5hcHBlbmRUbyh0aGlzLnVpRGlhbG9nKSx0aGlzLl9jcmVhdGVUaXRsZWJhcigpLHRoaXMuX2NyZWF0ZUJ1dHRvblBhbmUoKSx0aGlzLm9wdGlvbnMuZHJhZ2dhYmxlJiZlLmZuLmRyYWdnYWJsZSYmdGhpcy5fbWFrZURyYWdnYWJsZSgpLHRoaXMub3B0aW9ucy5yZXNpemFibGUmJmUuZm4ucmVzaXphYmxlJiZ0aGlzLl9tYWtlUmVzaXphYmxlKCksdGhpcy5faXNPcGVuPSExLHRoaXMuX3RyYWNrRm9jdXMoKX0sX2luaXQ6ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMuYXV0b09wZW4mJnRoaXMub3BlbigpfSxfYXBwZW5kVG86ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuYXBwZW5kVG87cmV0dXJuIHQmJih0LmpxdWVyeXx8dC5ub2RlVHlwZSk/ZSh0KTp0aGlzLmRvY3VtZW50LmZpbmQodHx8ImJvZHkiKS5lcSgwKX0sX2Rlc3Ryb3k6ZnVuY3Rpb24oKXt2YXIgZSx0PXRoaXMub3JpZ2luYWxQb3NpdGlvbjt0aGlzLl91bnRyYWNrSW5zdGFuY2UoKSx0aGlzLl9kZXN0cm95T3ZlcmxheSgpLHRoaXMuZWxlbWVudC5yZW1vdmVVbmlxdWVJZCgpLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctY29udGVudCB1aS13aWRnZXQtY29udGVudCIpLmNzcyh0aGlzLm9yaWdpbmFsQ3NzKS5kZXRhY2goKSx0aGlzLnVpRGlhbG9nLnN0b3AoITAsITApLnJlbW92ZSgpLHRoaXMub3JpZ2luYWxUaXRsZSYmdGhpcy5lbGVtZW50LmF0dHIoInRpdGxlIix0aGlzLm9yaWdpbmFsVGl0bGUpLGU9dC5wYXJlbnQuY2hpbGRyZW4oKS5lcSh0LmluZGV4KSxlLmxlbmd0aCYmZVswXSE9PXRoaXMuZWxlbWVudFswXT9lLmJlZm9yZSh0aGlzLmVsZW1lbnQpOnQucGFyZW50LmFwcGVuZCh0aGlzLmVsZW1lbnQpfSx3aWRnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51aURpYWxvZ30sZGlzYWJsZTplLm5vb3AsZW5hYmxlOmUubm9vcCxjbG9zZTpmdW5jdGlvbih0KXt2YXIgaSxzPXRoaXM7aWYodGhpcy5faXNPcGVuJiZ0aGlzLl90cmlnZ2VyKCJiZWZvcmVDbG9zZSIsdCkhPT0hMSl7aWYodGhpcy5faXNPcGVuPSExLHRoaXMuX2ZvY3VzZWRFbGVtZW50PW51bGwsdGhpcy5fZGVzdHJveU92ZXJsYXkoKSx0aGlzLl91bnRyYWNrSW5zdGFuY2UoKSwhdGhpcy5vcGVuZXIuZmlsdGVyKCI6Zm9jdXNhYmxlIikuZm9jdXMoKS5sZW5ndGgpdHJ5e2k9dGhpcy5kb2N1bWVudFswXS5hY3RpdmVFbGVtZW50LGkmJiJib2R5IiE9PWkubm9kZU5hbWUudG9Mb3dlckNhc2UoKSYmZShpKS5ibHVyKCl9Y2F0Y2gobil7fXRoaXMuX2hpZGUodGhpcy51aURpYWxvZyx0aGlzLm9wdGlvbnMuaGlkZSxmdW5jdGlvbigpe3MuX3RyaWdnZXIoImNsb3NlIix0KX0pfX0saXNPcGVuOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2lzT3Blbn0sbW92ZVRvVG9wOmZ1bmN0aW9uKCl7dGhpcy5fbW92ZVRvVG9wKCl9LF9tb3ZlVG9Ub3A6ZnVuY3Rpb24odCxpKXt2YXIgcz0hMSxuPXRoaXMudWlEaWFsb2cuc2libGluZ3MoIi51aS1mcm9udDp2aXNpYmxlIikubWFwKGZ1bmN0aW9uKCl7cmV0dXJuK2UodGhpcykuY3NzKCJ6LWluZGV4Iil9KS5nZXQoKSxhPU1hdGgubWF4LmFwcGx5KG51bGwsbik7cmV0dXJuIGE+PSt0aGlzLnVpRGlhbG9nLmNzcygiei1pbmRleCIpJiYodGhpcy51aURpYWxvZy5jc3MoInotaW5kZXgiLGErMSkscz0hMCkscyYmIWkmJnRoaXMuX3RyaWdnZXIoImZvY3VzIix0KSxzfSxvcGVuOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczsKcmV0dXJuIHRoaXMuX2lzT3Blbj8odGhpcy5fbW92ZVRvVG9wKCkmJnRoaXMuX2ZvY3VzVGFiYmFibGUoKSx2b2lkIDApOih0aGlzLl9pc09wZW49ITAsdGhpcy5vcGVuZXI9ZSh0aGlzLmRvY3VtZW50WzBdLmFjdGl2ZUVsZW1lbnQpLHRoaXMuX3NpemUoKSx0aGlzLl9wb3NpdGlvbigpLHRoaXMuX2NyZWF0ZU92ZXJsYXkoKSx0aGlzLl9tb3ZlVG9Ub3AobnVsbCwhMCksdGhpcy5vdmVybGF5JiZ0aGlzLm92ZXJsYXkuY3NzKCJ6LWluZGV4Iix0aGlzLnVpRGlhbG9nLmNzcygiei1pbmRleCIpLTEpLHRoaXMuX3Nob3codGhpcy51aURpYWxvZyx0aGlzLm9wdGlvbnMuc2hvdyxmdW5jdGlvbigpe3QuX2ZvY3VzVGFiYmFibGUoKSx0Ll90cmlnZ2VyKCJmb2N1cyIpfSksdGhpcy5fbWFrZUZvY3VzVGFyZ2V0KCksdGhpcy5fdHJpZ2dlcigib3BlbiIpLHZvaWQgMCl9LF9mb2N1c1RhYmJhYmxlOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5fZm9jdXNlZEVsZW1lbnQ7ZXx8KGU9dGhpcy5lbGVtZW50LmZpbmQoIlthdXRvZm9jdXNdIikpLGUubGVuZ3RofHwoZT10aGlzLmVsZW1lbnQuZmluZCgiOnRhYmJhYmxlIikpLGUubGVuZ3RofHwoZT10aGlzLnVpRGlhbG9nQnV0dG9uUGFuZS5maW5kKCI6dGFiYmFibGUiKSksZS5sZW5ndGh8fChlPXRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlLmZpbHRlcigiOnRhYmJhYmxlIikpLGUubGVuZ3RofHwoZT10aGlzLnVpRGlhbG9nKSxlLmVxKDApLmZvY3VzKCl9LF9rZWVwRm9jdXM6ZnVuY3Rpb24odCl7ZnVuY3Rpb24gaSgpe3ZhciB0PXRoaXMuZG9jdW1lbnRbMF0uYWN0aXZlRWxlbWVudCxpPXRoaXMudWlEaWFsb2dbMF09PT10fHxlLmNvbnRhaW5zKHRoaXMudWlEaWFsb2dbMF0sdCk7aXx8dGhpcy5fZm9jdXNUYWJiYWJsZSgpfXQucHJldmVudERlZmF1bHQoKSxpLmNhbGwodGhpcyksdGhpcy5fZGVsYXkoaSl9LF9jcmVhdGVXcmFwcGVyOmZ1bmN0aW9uKCl7dGhpcy51aURpYWxvZz1lKCI8ZGl2PiIpLmFkZENsYXNzKCJ1aS1kaWFsb2cgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwgdWktZnJvbnQgIit0aGlzLm9wdGlvbnMuZGlhbG9nQ2xhc3MpLmhpZGUoKS5hdHRyKHt0YWJJbmRleDotMSxyb2xlOiJkaWFsb2cifSkuYXBwZW5kVG8odGhpcy5fYXBwZW5kVG8oKSksdGhpcy5fb24odGhpcy51aURpYWxvZyx7a2V5ZG93bjpmdW5jdGlvbih0KXtpZih0aGlzLm9wdGlvbnMuY2xvc2VPbkVzY2FwZSYmIXQuaXNEZWZhdWx0UHJldmVudGVkKCkmJnQua2V5Q29kZSYmdC5rZXlDb2RlPT09ZS51aS5rZXlDb2RlLkVTQ0FQRSlyZXR1cm4gdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuY2xvc2UodCksdm9pZCAwO2lmKHQua2V5Q29kZT09PWUudWkua2V5Q29kZS5UQUImJiF0LmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgaT10aGlzLnVpRGlhbG9nLmZpbmQoIjp0YWJiYWJsZSIpLHM9aS5maWx0ZXIoIjpmaXJzdCIpLG49aS5maWx0ZXIoIjpsYXN0Iik7dC50YXJnZXQhPT1uWzBdJiZ0LnRhcmdldCE9PXRoaXMudWlEaWFsb2dbMF18fHQuc2hpZnRLZXk/dC50YXJnZXQhPT1zWzBdJiZ0LnRhcmdldCE9PXRoaXMudWlEaWFsb2dbMF18fCF0LnNoaWZ0S2V5fHwodGhpcy5fZGVsYXkoZnVuY3Rpb24oKXtuLmZvY3VzKCl9KSx0LnByZXZlbnREZWZhdWx0KCkpOih0aGlzLl9kZWxheShmdW5jdGlvbigpe3MuZm9jdXMoKX0pLHQucHJldmVudERlZmF1bHQoKSl9fSxtb3VzZWRvd246ZnVuY3Rpb24oZSl7dGhpcy5fbW92ZVRvVG9wKGUpJiZ0aGlzLl9mb2N1c1RhYmJhYmxlKCl9fSksdGhpcy5lbGVtZW50LmZpbmQoIlthcmlhLWRlc2NyaWJlZGJ5XSIpLmxlbmd0aHx8dGhpcy51aURpYWxvZy5hdHRyKHsiYXJpYS1kZXNjcmliZWRieSI6dGhpcy5lbGVtZW50LnVuaXF1ZUlkKCkuYXR0cigiaWQiKX0pfSxfY3JlYXRlVGl0bGViYXI6ZnVuY3Rpb24oKXt2YXIgdDt0aGlzLnVpRGlhbG9nVGl0bGViYXI9ZSgiPGRpdj4iKS5hZGRDbGFzcygidWktZGlhbG9nLXRpdGxlYmFyIHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCB1aS1oZWxwZXItY2xlYXJmaXgiKS5wcmVwZW5kVG8odGhpcy51aURpYWxvZyksdGhpcy5fb24odGhpcy51aURpYWxvZ1RpdGxlYmFyLHttb3VzZWRvd246ZnVuY3Rpb24odCl7ZSh0LnRhcmdldCkuY2xvc2VzdCgiLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSIpfHx0aGlzLnVpRGlhbG9nLmZvY3VzKCl9fSksdGhpcy51aURpYWxvZ1RpdGxlYmFyQ2xvc2U9ZSgiPGJ1dHRvbiB0eXBlPSdidXR0b24nPjwvYnV0dG9uPiIpLmJ1dHRvbih7bGFiZWw6dGhpcy5vcHRpb25zLmNsb3NlVGV4dCxpY29uczp7cHJpbWFyeToidWktaWNvbi1jbG9zZXRoaWNrIn0sdGV4dDohMX0pLmFkZENsYXNzKCJ1aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiKS5hcHBlbmRUbyh0aGlzLnVpRGlhbG9nVGl0bGViYXIpLHRoaXMuX29uKHRoaXMudWlEaWFsb2dUaXRsZWJhckNsb3NlLHtjbGljazpmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksdGhpcy5jbG9zZShlKX19KSx0PWUoIjxzcGFuPiIpLnVuaXF1ZUlkKCkuYWRkQ2xhc3MoInVpLWRpYWxvZy10aXRsZSIpLnByZXBlbmRUbyh0aGlzLnVpRGlhbG9nVGl0bGViYXIpLHRoaXMuX3RpdGxlKHQpLHRoaXMudWlEaWFsb2cuYXR0cih7ImFyaWEtbGFiZWxsZWRieSI6dC5hdHRyKCJpZCIpfSl9LF90aXRsZTpmdW5jdGlvbihlKXt0aGlzLm9wdGlvbnMudGl0bGV8fGUuaHRtbCgiJiMxNjA7IiksZS50ZXh0KHRoaXMub3B0aW9ucy50aXRsZSl9LF9jcmVhdGVCdXR0b25QYW5lOmZ1bmN0aW9uKCl7dGhpcy51aURpYWxvZ0J1dHRvblBhbmU9ZSgiPGRpdj4iKS5hZGRDbGFzcygidWktZGlhbG9nLWJ1dHRvbnBhbmUgdWktd2lkZ2V0LWNvbnRlbnQgdWktaGVscGVyLWNsZWFyZml4IiksdGhpcy51aUJ1dHRvblNldD1lKCI8ZGl2PiIpLmFkZENsYXNzKCJ1aS1kaWFsb2ctYnV0dG9uc2V0IikuYXBwZW5kVG8odGhpcy51aURpYWxvZ0J1dHRvblBhbmUpLHRoaXMuX2NyZWF0ZUJ1dHRvbnMoKX0sX2NyZWF0ZUJ1dHRvbnM6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGk9dGhpcy5vcHRpb25zLmJ1dHRvbnM7cmV0dXJuIHRoaXMudWlEaWFsb2dCdXR0b25QYW5lLnJlbW92ZSgpLHRoaXMudWlCdXR0b25TZXQuZW1wdHkoKSxlLmlzRW1wdHlPYmplY3QoaSl8fGUuaXNBcnJheShpKSYmIWkubGVuZ3RoPyh0aGlzLnVpRGlhbG9nLnJlbW92ZUNsYXNzKCJ1aS1kaWFsb2ctYnV0dG9ucyIpLHZvaWQgMCk6KGUuZWFjaChpLGZ1bmN0aW9uKGkscyl7dmFyIG4sYTtzPWUuaXNGdW5jdGlvbihzKT97Y2xpY2s6cyx0ZXh0Oml9OnMscz1lLmV4dGVuZCh7dHlwZToiYnV0dG9uIn0scyksbj1zLmNsaWNrLHMuY2xpY2s9ZnVuY3Rpb24oKXtuLmFwcGx5KHQuZWxlbWVudFswXSxhcmd1bWVudHMpfSxhPXtpY29uczpzLmljb25zLHRleHQ6cy5zaG93VGV4dH0sZGVsZXRlIHMuaWNvbnMsZGVsZXRlIHMuc2hvd1RleHQsZSgiPGJ1dHRvbj48L2J1dHRvbj4iLHMpLmJ1dHRvbihhKS5hcHBlbmRUbyh0LnVpQnV0dG9uU2V0KX0pLHRoaXMudWlEaWFsb2cuYWRkQ2xhc3MoInVpLWRpYWxvZy1idXR0b25zIiksdGhpcy51aURpYWxvZ0J1dHRvblBhbmUuYXBwZW5kVG8odGhpcy51aURpYWxvZyksdm9pZCAwKX0sX21ha2VEcmFnZ2FibGU6ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3JldHVybntwb3NpdGlvbjplLnBvc2l0aW9uLG9mZnNldDplLm9mZnNldH19dmFyIGk9dGhpcyxzPXRoaXMub3B0aW9uczt0aGlzLnVpRGlhbG9nLmRyYWdnYWJsZSh7Y2FuY2VsOiIudWktZGlhbG9nLWNvbnRlbnQsIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UiLGhhbmRsZToiLnVpLWRpYWxvZy10aXRsZWJhciIsY29udGFpbm1lbnQ6ImRvY3VtZW50IixzdGFydDpmdW5jdGlvbihzLG4pe2UodGhpcykuYWRkQ2xhc3MoInVpLWRpYWxvZy1kcmFnZ2luZyIpLGkuX2Jsb2NrRnJhbWVzKCksaS5fdHJpZ2dlcigiZHJhZ1N0YXJ0IixzLHQobikpfSxkcmFnOmZ1bmN0aW9uKGUscyl7aS5fdHJpZ2dlcigiZHJhZyIsZSx0KHMpKX0sc3RvcDpmdW5jdGlvbihuLGEpe3ZhciBvPWEub2Zmc2V0LmxlZnQtaS5kb2N1bWVudC5zY3JvbGxMZWZ0KCkscj1hLm9mZnNldC50b3AtaS5kb2N1bWVudC5zY3JvbGxUb3AoKTtzLnBvc2l0aW9uPXtteToibGVmdCB0b3AiLGF0OiJsZWZ0Iisobz49MD8iKyI6IiIpK28rIiAiKyJ0b3AiKyhyPj0wPyIrIjoiIikrcixvZjppLndpbmRvd30sZSh0aGlzKS5yZW1vdmVDbGFzcygidWktZGlhbG9nLWRyYWdnaW5nIiksaS5fdW5ibG9ja0ZyYW1lcygpLGkuX3RyaWdnZXIoImRyYWdTdG9wIixuLHQoYSkpfX0pfSxfbWFrZVJlc2l6YWJsZTpmdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7cmV0dXJue29yaWdpbmFsUG9zaXRpb246ZS5vcmlnaW5hbFBvc2l0aW9uLG9yaWdpbmFsU2l6ZTplLm9yaWdpbmFsU2l6ZSxwb3NpdGlvbjplLnBvc2l0aW9uLHNpemU6ZS5zaXplfX12YXIgaT10aGlzLHM9dGhpcy5vcHRpb25zLG49cy5yZXNpemFibGUsYT10aGlzLnVpRGlhbG9nLmNzcygicG9zaXRpb24iKSxvPSJzdHJpbmciPT10eXBlb2Ygbj9uOiJuLGUscyx3LHNlLHN3LG5lLG53Ijt0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSh7Y2FuY2VsOiIudWktZGlhbG9nLWNvbnRlbnQiLGNvbnRhaW5tZW50OiJkb2N1bWVudCIsYWxzb1Jlc2l6ZTp0aGlzLmVsZW1lbnQsbWF4V2lkdGg6cy5tYXhXaWR0aCxtYXhIZWlnaHQ6cy5tYXhIZWlnaHQsbWluV2lkdGg6cy5taW5XaWR0aCxtaW5IZWlnaHQ6dGhpcy5fbWluSGVpZ2h0KCksaGFuZGxlczpvLHN0YXJ0OmZ1bmN0aW9uKHMsbil7ZSh0aGlzKS5hZGRDbGFzcygidWktZGlhbG9nLXJlc2l6aW5nIiksaS5fYmxvY2tGcmFtZXMoKSxpLl90cmlnZ2VyKCJyZXNpemVTdGFydCIscyx0KG4pKX0scmVzaXplOmZ1bmN0aW9uKGUscyl7aS5fdHJpZ2dlcigicmVzaXplIixlLHQocykpfSxzdG9wOmZ1bmN0aW9uKG4sYSl7dmFyIG89aS51aURpYWxvZy5vZmZzZXQoKSxyPW8ubGVmdC1pLmRvY3VtZW50LnNjcm9sbExlZnQoKSxoPW8udG9wLWkuZG9jdW1lbnQuc2Nyb2xsVG9wKCk7cy5oZWlnaHQ9aS51aURpYWxvZy5oZWlnaHQoKSxzLndpZHRoPWkudWlEaWFsb2cud2lkdGgoKSxzLnBvc2l0aW9uPXtteToibGVmdCB0b3AiLGF0OiJsZWZ0Iisocj49MD8iKyI6IiIpK3IrIiAiKyJ0b3AiKyhoPj0wPyIrIjoiIikraCxvZjppLndpbmRvd30sZSh0aGlzKS5yZW1vdmVDbGFzcygidWktZGlhbG9nLXJlc2l6aW5nIiksaS5fdW5ibG9ja0ZyYW1lcygpLGkuX3RyaWdnZXIoInJlc2l6ZVN0b3AiLG4sdChhKSl9fSkuY3NzKCJwb3NpdGlvbiIsYSl9LF90cmFja0ZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5fb24odGhpcy53aWRnZXQoKSx7Zm9jdXNpbjpmdW5jdGlvbih0KXt0aGlzLl9tYWtlRm9jdXNUYXJnZXQoKSx0aGlzLl9mb2N1c2VkRWxlbWVudD1lKHQudGFyZ2V0KX19KX0sX21ha2VGb2N1c1RhcmdldDpmdW5jdGlvbigpe3RoaXMuX3VudHJhY2tJbnN0YW5jZSgpLHRoaXMuX3RyYWNraW5nSW5zdGFuY2VzKCkudW5zaGlmdCh0aGlzKX0sX3VudHJhY2tJbnN0YW5jZTpmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3RyYWNraW5nSW5zdGFuY2VzKCksaT1lLmluQXJyYXkodGhpcyx0KTstMSE9PWkmJnQuc3BsaWNlKGksMSl9LF90cmFja2luZ0luc3RhbmNlczpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZG9jdW1lbnQuZGF0YSgidWktZGlhbG9nLWluc3RhbmNlcyIpO3JldHVybiBlfHwoZT1bXSx0aGlzLmRvY3VtZW50LmRhdGEoInVpLWRpYWxvZy1pbnN0YW5jZXMiLGUpKSxlfSxfbWluSGVpZ2h0OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zO3JldHVybiJhdXRvIj09PWUuaGVpZ2h0P2UubWluSGVpZ2h0Ok1hdGgubWluKGUubWluSGVpZ2h0LGUuaGVpZ2h0KX0sX3Bvc2l0aW9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy51aURpYWxvZy5pcygiOnZpc2libGUiKTtlfHx0aGlzLnVpRGlhbG9nLnNob3coKSx0aGlzLnVpRGlhbG9nLnBvc2l0aW9uKHRoaXMub3B0aW9ucy5wb3NpdGlvbiksZXx8dGhpcy51aURpYWxvZy5oaWRlKCl9LF9zZXRPcHRpb25zOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMscz0hMSxuPXt9O2UuZWFjaCh0LGZ1bmN0aW9uKGUsdCl7aS5fc2V0T3B0aW9uKGUsdCksZSBpbiBpLnNpemVSZWxhdGVkT3B0aW9ucyYmKHM9ITApLGUgaW4gaS5yZXNpemFibGVSZWxhdGVkT3B0aW9ucyYmKG5bZV09dCl9KSxzJiYodGhpcy5fc2l6ZSgpLHRoaXMuX3Bvc2l0aW9uKCkpLHRoaXMudWlEaWFsb2cuaXMoIjpkYXRhKHVpLXJlc2l6YWJsZSkiKSYmdGhpcy51aURpYWxvZy5yZXNpemFibGUoIm9wdGlvbiIsbil9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXt2YXIgaSxzLG49dGhpcy51aURpYWxvZzsiZGlhbG9nQ2xhc3MiPT09ZSYmbi5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMuZGlhbG9nQ2xhc3MpLmFkZENsYXNzKHQpLCJkaXNhYmxlZCIhPT1lJiYodGhpcy5fc3VwZXIoZSx0KSwiYXBwZW5kVG8iPT09ZSYmdGhpcy51aURpYWxvZy5hcHBlbmRUbyh0aGlzLl9hcHBlbmRUbygpKSwiYnV0dG9ucyI9PT1lJiZ0aGlzLl9jcmVhdGVCdXR0b25zKCksImNsb3NlVGV4dCI9PT1lJiZ0aGlzLnVpRGlhbG9nVGl0bGViYXJDbG9zZS5idXR0b24oe2xhYmVsOiIiK3R9KSwiZHJhZ2dhYmxlIj09PWUmJihpPW4uaXMoIjpkYXRhKHVpLWRyYWdnYWJsZSkiKSxpJiYhdCYmbi5kcmFnZ2FibGUoImRlc3Ryb3kiKSwhaSYmdCYmdGhpcy5fbWFrZURyYWdnYWJsZSgpKSwicG9zaXRpb24iPT09ZSYmdGhpcy5fcG9zaXRpb24oKSwicmVzaXphYmxlIj09PWUmJihzPW4uaXMoIjpkYXRhKHVpLXJlc2l6YWJsZSkiKSxzJiYhdCYmbi5yZXNpemFibGUoImRlc3Ryb3kiKSxzJiYic3RyaW5nIj09dHlwZW9mIHQmJm4ucmVzaXphYmxlKCJvcHRpb24iLCJoYW5kbGVzIix0KSxzfHx0PT09ITF8fHRoaXMuX21ha2VSZXNpemFibGUoKSksInRpdGxlIj09PWUmJnRoaXMuX3RpdGxlKHRoaXMudWlEaWFsb2dUaXRsZWJhci5maW5kKCIudWktZGlhbG9nLXRpdGxlIikpKX0sX3NpemU6ZnVuY3Rpb24oKXt2YXIgZSx0LGkscz10aGlzLm9wdGlvbnM7dGhpcy5lbGVtZW50LnNob3coKS5jc3Moe3dpZHRoOiJhdXRvIixtaW5IZWlnaHQ6MCxtYXhIZWlnaHQ6Im5vbmUiLGhlaWdodDowfSkscy5taW5XaWR0aD5zLndpZHRoJiYocy53aWR0aD1zLm1pbldpZHRoKSxlPXRoaXMudWlEaWFsb2cuY3NzKHtoZWlnaHQ6ImF1dG8iLHdpZHRoOnMud2lkdGh9KS5vdXRlckhlaWdodCgpLHQ9TWF0aC5tYXgoMCxzLm1pbkhlaWdodC1lKSxpPSJudW1iZXIiPT10eXBlb2Ygcy5tYXhIZWlnaHQ/TWF0aC5tYXgoMCxzLm1heEhlaWdodC1lKToibm9uZSIsImF1dG8iPT09cy5oZWlnaHQ/dGhpcy5lbGVtZW50LmNzcyh7bWluSGVpZ2h0OnQsbWF4SGVpZ2h0OmksaGVpZ2h0OiJhdXRvIn0pOnRoaXMuZWxlbWVudC5oZWlnaHQoTWF0aC5tYXgoMCxzLmhlaWdodC1lKSksdGhpcy51aURpYWxvZy5pcygiOmRhdGEodWktcmVzaXphYmxlKSIpJiZ0aGlzLnVpRGlhbG9nLnJlc2l6YWJsZSgib3B0aW9uIiwibWluSGVpZ2h0Iix0aGlzLl9taW5IZWlnaHQoKSl9LF9ibG9ja0ZyYW1lczpmdW5jdGlvbigpe3RoaXMuaWZyYW1lQmxvY2tzPXRoaXMuZG9jdW1lbnQuZmluZCgiaWZyYW1lIikubWFwKGZ1bmN0aW9uKCl7dmFyIHQ9ZSh0aGlzKTtyZXR1cm4gZSgiPGRpdj4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsd2lkdGg6dC5vdXRlcldpZHRoKCksaGVpZ2h0OnQub3V0ZXJIZWlnaHQoKX0pLmFwcGVuZFRvKHQucGFyZW50KCkpLm9mZnNldCh0Lm9mZnNldCgpKVswXX0pfSxfdW5ibG9ja0ZyYW1lczpmdW5jdGlvbigpe3RoaXMuaWZyYW1lQmxvY2tzJiYodGhpcy5pZnJhbWVCbG9ja3MucmVtb3ZlKCksZGVsZXRlIHRoaXMuaWZyYW1lQmxvY2tzKX0sX2FsbG93SW50ZXJhY3Rpb246ZnVuY3Rpb24odCl7cmV0dXJuIGUodC50YXJnZXQpLmNsb3Nlc3QoIi51aS1kaWFsb2ciKS5sZW5ndGg/ITA6ISFlKHQudGFyZ2V0KS5jbG9zZXN0KCIudWktZGF0ZXBpY2tlciIpLmxlbmd0aH0sX2NyZWF0ZU92ZXJsYXk6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMubW9kYWwpe3ZhciB0PSEwO3RoaXMuX2RlbGF5KGZ1bmN0aW9uKCl7dD0hMX0pLHRoaXMuZG9jdW1lbnQuZGF0YSgidWktZGlhbG9nLW92ZXJsYXlzIil8fHRoaXMuX29uKHRoaXMuZG9jdW1lbnQse2ZvY3VzaW46ZnVuY3Rpb24oZSl7dHx8dGhpcy5fYWxsb3dJbnRlcmFjdGlvbihlKXx8KGUucHJldmVudERlZmF1bHQoKSx0aGlzLl90cmFja2luZ0luc3RhbmNlcygpWzBdLl9mb2N1c1RhYmJhYmxlKCkpfX0pLHRoaXMub3ZlcmxheT1lKCI8ZGl2PiIpLmFkZENsYXNzKCJ1aS13aWRnZXQtb3ZlcmxheSB1aS1mcm9udCIpLmFwcGVuZFRvKHRoaXMuX2FwcGVuZFRvKCkpLHRoaXMuX29uKHRoaXMub3ZlcmxheSx7bW91c2Vkb3duOiJfa2VlcEZvY3VzIn0pLHRoaXMuZG9jdW1lbnQuZGF0YSgidWktZGlhbG9nLW92ZXJsYXlzIiwodGhpcy5kb2N1bWVudC5kYXRhKCJ1aS1kaWFsb2ctb3ZlcmxheXMiKXx8MCkrMSl9fSxfZGVzdHJveU92ZXJsYXk6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMubW9kYWwmJnRoaXMub3ZlcmxheSl7dmFyIGU9dGhpcy5kb2N1bWVudC5kYXRhKCJ1aS1kaWFsb2ctb3ZlcmxheXMiKS0xO2U/dGhpcy5kb2N1bWVudC5kYXRhKCJ1aS1kaWFsb2ctb3ZlcmxheXMiLGUpOnRoaXMuZG9jdW1lbnQudW5iaW5kKCJmb2N1c2luIikucmVtb3ZlRGF0YSgidWktZGlhbG9nLW92ZXJsYXlzIiksdGhpcy5vdmVybGF5LnJlbW92ZSgpLHRoaXMub3ZlcmxheT1udWxsfX19KSxlLndpZGdldCgidWkucHJvZ3Jlc3NiYXIiLHt2ZXJzaW9uOiIxLjExLjQiLG9wdGlvbnM6e21heDoxMDAsdmFsdWU6MCxjaGFuZ2U6bnVsbCxjb21wbGV0ZTpudWxsfSxtaW46MCxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5vbGRWYWx1ZT10aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fY29uc3RyYWluZWRWYWx1ZSgpLHRoaXMuZWxlbWVudC5hZGRDbGFzcygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5hdHRyKHtyb2xlOiJwcm9ncmVzc2JhciIsImFyaWEtdmFsdWVtaW4iOnRoaXMubWlufSksdGhpcy52YWx1ZURpdj1lKCI8ZGl2IGNsYXNzPSd1aS1wcm9ncmVzc2Jhci12YWx1ZSB1aS13aWRnZXQtaGVhZGVyIHVpLWNvcm5lci1sZWZ0Jz48L2Rpdj4iKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpfSxfZGVzdHJveTpmdW5jdGlvbigpe3RoaXMuZWxlbWVudC5yZW1vdmVDbGFzcygidWktcHJvZ3Jlc3NiYXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW1pbiIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVtYXgiKS5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbm93IiksdGhpcy52YWx1ZURpdi5yZW1vdmUoKX0sdmFsdWU6ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWU/dGhpcy5vcHRpb25zLnZhbHVlOih0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fY29uc3RyYWluZWRWYWx1ZShlKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx2b2lkIDApfSxfY29uc3RyYWluZWRWYWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gdm9pZCAwPT09ZSYmKGU9dGhpcy5vcHRpb25zLnZhbHVlKSx0aGlzLmluZGV0ZXJtaW5hdGU9ZT09PSExLCJudW1iZXIiIT10eXBlb2YgZSYmKGU9MCksdGhpcy5pbmRldGVybWluYXRlPyExOk1hdGgubWluKHRoaXMub3B0aW9ucy5tYXgsTWF0aC5tYXgodGhpcy5taW4sZSkpfSxfc2V0T3B0aW9uczpmdW5jdGlvbihlKXt2YXIgdD1lLnZhbHVlO2RlbGV0ZSBlLnZhbHVlLHRoaXMuX3N1cGVyKGUpLHRoaXMub3B0aW9ucy52YWx1ZT10aGlzLl9jb25zdHJhaW5lZFZhbHVlKHQpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKGUsdCl7Im1heCI9PT1lJiYodD1NYXRoLm1heCh0aGlzLm1pbix0KSksImRpc2FibGVkIj09PWUmJnRoaXMuZWxlbWVudC50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLCEhdCkuYXR0cigiYXJpYS1kaXNhYmxlZCIsdCksdGhpcy5fc3VwZXIoZSx0KX0sX3BlcmNlbnRhZ2U6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbmRldGVybWluYXRlPzEwMDoxMDAqKHRoaXMub3B0aW9ucy52YWx1ZS10aGlzLm1pbikvKHRoaXMub3B0aW9ucy5tYXgtdGhpcy5taW4pfSxfcmVmcmVzaFZhbHVlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLnZhbHVlLGk9dGhpcy5fcGVyY2VudGFnZSgpO3RoaXMudmFsdWVEaXYudG9nZ2xlKHRoaXMuaW5kZXRlcm1pbmF0ZXx8dD50aGlzLm1pbikudG9nZ2xlQ2xhc3MoInVpLWNvcm5lci1yaWdodCIsdD09PXRoaXMub3B0aW9ucy5tYXgpLndpZHRoKGkudG9GaXhlZCgwKSsiJSIpLHRoaXMuZWxlbWVudC50b2dnbGVDbGFzcygidWktcHJvZ3Jlc3NiYXItaW5kZXRlcm1pbmF0ZSIsdGhpcy5pbmRldGVybWluYXRlKSx0aGlzLmluZGV0ZXJtaW5hdGU/KHRoaXMuZWxlbWVudC5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbm93IiksdGhpcy5vdmVybGF5RGl2fHwodGhpcy5vdmVybGF5RGl2PWUoIjxkaXYgY2xhc3M9J3VpLXByb2dyZXNzYmFyLW92ZXJsYXknPjwvZGl2PiIpLmFwcGVuZFRvKHRoaXMudmFsdWVEaXYpKSk6KHRoaXMuZWxlbWVudC5hdHRyKHsiYXJpYS12YWx1ZW1heCI6dGhpcy5vcHRpb25zLm1heCwiYXJpYS12YWx1ZW5vdyI6dH0pLHRoaXMub3ZlcmxheURpdiYmKHRoaXMub3ZlcmxheURpdi5yZW1vdmUoKSx0aGlzLm92ZXJsYXlEaXY9bnVsbCkpLHRoaXMub2xkVmFsdWUhPT10JiYodGhpcy5vbGRWYWx1ZT10LHRoaXMuX3RyaWdnZXIoImNoYW5nZSIpKSx0PT09dGhpcy5vcHRpb25zLm1heCYmdGhpcy5fdHJpZ2dlcigiY29tcGxldGUiKX19KSxlLndpZGdldCgidWkuc2VsZWN0bWVudSIse3ZlcnNpb246IjEuMTEuNCIsZGVmYXVsdEVsZW1lbnQ6IjxzZWxlY3Q+IixvcHRpb25zOnthcHBlbmRUbzpudWxsLGRpc2FibGVkOm51bGwsaWNvbnM6e2J1dHRvbjoidWktaWNvbi10cmlhbmdsZS0xLXMifSxwb3NpdGlvbjp7bXk6ImxlZnQgdG9wIixhdDoibGVmdCBib3R0b20iLGNvbGxpc2lvbjoibm9uZSJ9LHdpZHRoOm51bGwsY2hhbmdlOm51bGwsY2xvc2U6bnVsbCxmb2N1czpudWxsLG9wZW46bnVsbCxzZWxlY3Q6bnVsbH0sX2NyZWF0ZTpmdW5jdGlvbigpe3ZhciBlPXRoaXMuZWxlbWVudC51bmlxdWVJZCgpLmF0dHIoImlkIik7dGhpcy5pZHM9e2VsZW1lbnQ6ZSxidXR0b246ZSsiLWJ1dHRvbiIsbWVudTplKyItbWVudSJ9LHRoaXMuX2RyYXdCdXR0b24oKSx0aGlzLl9kcmF3TWVudSgpLHRoaXMub3B0aW9ucy5kaXNhYmxlZCYmdGhpcy5kaXNhYmxlKCl9LF9kcmF3QnV0dG9uOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLmxhYmVsPWUoImxhYmVsW2Zvcj0nIit0aGlzLmlkcy5lbGVtZW50KyInXSIpLmF0dHIoImZvciIsdGhpcy5pZHMuYnV0dG9uKSx0aGlzLl9vbih0aGlzLmxhYmVsLHtjbGljazpmdW5jdGlvbihlKXt0aGlzLmJ1dHRvbi5mb2N1cygpLGUucHJldmVudERlZmF1bHQoKX19KSx0aGlzLmVsZW1lbnQuaGlkZSgpLHRoaXMuYnV0dG9uPWUoIjxzcGFuPiIseyJjbGFzcyI6InVpLXNlbGVjdG1lbnUtYnV0dG9uIHVpLXdpZGdldCB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiLHRhYmluZGV4OnRoaXMub3B0aW9ucy5kaXNhYmxlZD8tMTowLGlkOnRoaXMuaWRzLmJ1dHRvbixyb2xlOiJjb21ib2JveCIsImFyaWEtZXhwYW5kZWQiOiJmYWxzZSIsImFyaWEtYXV0b2NvbXBsZXRlIjoibGlzdCIsImFyaWEtb3ducyI6dGhpcy5pZHMubWVudSwiYXJpYS1oYXNwb3B1cCI6InRydWUifSkuaW5zZXJ0QWZ0ZXIodGhpcy5lbGVtZW50KSxlKCI8c3Bhbj4iLHsiY2xhc3MiOiJ1aS1pY29uICIrdGhpcy5vcHRpb25zLmljb25zLmJ1dHRvbn0pLnByZXBlbmRUbyh0aGlzLmJ1dHRvbiksdGhpcy5idXR0b25UZXh0PWUoIjxzcGFuPiIseyJjbGFzcyI6InVpLXNlbGVjdG1lbnUtdGV4dCJ9KS5hcHBlbmRUbyh0aGlzLmJ1dHRvbiksdGhpcy5fc2V0VGV4dCh0aGlzLmJ1dHRvblRleHQsdGhpcy5lbGVtZW50LmZpbmQoIm9wdGlvbjpzZWxlY3RlZCIpLnRleHQoKSksdGhpcy5fcmVzaXplQnV0dG9uKCksdGhpcy5fb24odGhpcy5idXR0b24sdGhpcy5fYnV0dG9uRXZlbnRzKSx0aGlzLmJ1dHRvbi5vbmUoImZvY3VzaW4iLGZ1bmN0aW9uKCl7dC5tZW51SXRlbXN8fHQuX3JlZnJlc2hNZW51KCl9KSx0aGlzLl9ob3ZlcmFibGUodGhpcy5idXR0b24pLHRoaXMuX2ZvY3VzYWJsZSh0aGlzLmJ1dHRvbil9LF9kcmF3TWVudTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7dGhpcy5tZW51PWUoIjx1bD4iLHsiYXJpYS1oaWRkZW4iOiJ0cnVlIiwiYXJpYS1sYWJlbGxlZGJ5Ijp0aGlzLmlkcy5idXR0b24saWQ6dGhpcy5pZHMubWVudX0pLHRoaXMubWVudVdyYXA9ZSgiPGRpdj4iLHsiY2xhc3MiOiJ1aS1zZWxlY3RtZW51LW1lbnUgdWktZnJvbnQifSkuYXBwZW5kKHRoaXMubWVudSkuYXBwZW5kVG8odGhpcy5fYXBwZW5kVG8oKSksdGhpcy5tZW51SW5zdGFuY2U9dGhpcy5tZW51Lm1lbnUoe3JvbGU6Imxpc3Rib3giLHNlbGVjdDpmdW5jdGlvbihlLGkpe2UucHJldmVudERlZmF1bHQoKSx0Ll9zZXRTZWxlY3Rpb24oKSx0Ll9zZWxlY3QoaS5pdGVtLmRhdGEoInVpLXNlbGVjdG1lbnUtaXRlbSIpLGUpfSxmb2N1czpmdW5jdGlvbihlLGkpe3ZhciBzPWkuaXRlbS5kYXRhKCJ1aS1zZWxlY3RtZW51LWl0ZW0iKTtudWxsIT10LmZvY3VzSW5kZXgmJnMuaW5kZXghPT10LmZvY3VzSW5kZXgmJih0Ll90cmlnZ2VyKCJmb2N1cyIsZSx7aXRlbTpzfSksdC5pc09wZW58fHQuX3NlbGVjdChzLGUpKSx0LmZvY3VzSW5kZXg9cy5pbmRleCx0LmJ1dHRvbi5hdHRyKCJhcmlhLWFjdGl2ZWRlc2NlbmRhbnQiLHQubWVudUl0ZW1zLmVxKHMuaW5kZXgpLmF0dHIoImlkIikpfX0pLm1lbnUoImluc3RhbmNlIiksdGhpcy5tZW51LmFkZENsYXNzKCJ1aS1jb3JuZXItYm90dG9tIikucmVtb3ZlQ2xhc3MoInVpLWNvcm5lci1hbGwiKSx0aGlzLm1lbnVJbnN0YW5jZS5fb2ZmKHRoaXMubWVudSwibW91c2VsZWF2ZSIpLHRoaXMubWVudUluc3RhbmNlLl9jbG9zZU9uRG9jdW1lbnRDbGljaz1mdW5jdGlvbigpe3JldHVybiExfSx0aGlzLm1lbnVJbnN0YW5jZS5faXNEaXZpZGVyPWZ1bmN0aW9uKCl7cmV0dXJuITF9fSxyZWZyZXNoOmZ1bmN0aW9uKCl7dGhpcy5fcmVmcmVzaE1lbnUoKSx0aGlzLl9zZXRUZXh0KHRoaXMuYnV0dG9uVGV4dCx0aGlzLl9nZXRTZWxlY3RlZEl0ZW0oKS50ZXh0KCkpLHRoaXMub3B0aW9ucy53aWR0aHx8dGhpcy5fcmVzaXplQnV0dG9uKCl9LF9yZWZyZXNoTWVudTpmdW5jdGlvbigpe3RoaXMubWVudS5lbXB0eSgpO3ZhciBlLHQ9dGhpcy5lbGVtZW50LmZpbmQoIm9wdGlvbiIpO3QubGVuZ3RoJiYodGhpcy5fcGFyc2VPcHRpb25zKHQpLHRoaXMuX3JlbmRlck1lbnUodGhpcy5tZW51LHRoaXMuaXRlbXMpLHRoaXMubWVudUluc3RhbmNlLnJlZnJlc2goKSx0aGlzLm1lbnVJdGVtcz10aGlzLm1lbnUuZmluZCgibGkiKS5ub3QoIi51aS1zZWxlY3RtZW51LW9wdGdyb3VwIiksZT10aGlzLl9nZXRTZWxlY3RlZEl0ZW0oKSx0aGlzLm1lbnVJbnN0YW5jZS5mb2N1cyhudWxsLGUpLHRoaXMuX3NldEFyaWEoZS5kYXRhKCJ1aS1zZWxlY3RtZW51LWl0ZW0iKSksdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsdGhpcy5lbGVtZW50LnByb3AoImRpc2FibGVkIikpKX0sb3BlbjpmdW5jdGlvbihlKXt0aGlzLm9wdGlvbnMuZGlzYWJsZWR8fCh0aGlzLm1lbnVJdGVtcz8odGhpcy5tZW51LmZpbmQoIi51aS1zdGF0ZS1mb2N1cyIpLnJlbW92ZUNsYXNzKCJ1aS1zdGF0ZS1mb2N1cyIpLHRoaXMubWVudUluc3RhbmNlLmZvY3VzKG51bGwsdGhpcy5fZ2V0U2VsZWN0ZWRJdGVtKCkpKTp0aGlzLl9yZWZyZXNoTWVudSgpLHRoaXMuaXNPcGVuPSEwLHRoaXMuX3RvZ2dsZUF0dHIoKSx0aGlzLl9yZXNpemVNZW51KCksdGhpcy5fcG9zaXRpb24oKSx0aGlzLl9vbih0aGlzLmRvY3VtZW50LHRoaXMuX2RvY3VtZW50Q2xpY2spLHRoaXMuX3RyaWdnZXIoIm9wZW4iLGUpKX0sX3Bvc2l0aW9uOmZ1bmN0aW9uKCl7dGhpcy5tZW51V3JhcC5wb3NpdGlvbihlLmV4dGVuZCh7b2Y6dGhpcy5idXR0b259LHRoaXMub3B0aW9ucy5wb3NpdGlvbikpfSxjbG9zZTpmdW5jdGlvbihlKXt0aGlzLmlzT3BlbiYmKHRoaXMuaXNPcGVuPSExLHRoaXMuX3RvZ2dsZUF0dHIoKSx0aGlzLnJhbmdlPW51bGwsdGhpcy5fb2ZmKHRoaXMuZG9jdW1lbnQpLHRoaXMuX3RyaWdnZXIoImNsb3NlIixlKSl9LHdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmJ1dHRvbn0sbWVudVdpZGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1lbnV9LF9yZW5kZXJNZW51OmZ1bmN0aW9uKHQsaSl7dmFyIHM9dGhpcyxuPSIiO2UuZWFjaChpLGZ1bmN0aW9uKGksYSl7YS5vcHRncm91cCE9PW4mJihlKCI8bGk+Iix7ImNsYXNzIjoidWktc2VsZWN0bWVudS1vcHRncm91cCB1aS1tZW51LWRpdmlkZXIiKyhhLmVsZW1lbnQucGFyZW50KCJvcHRncm91cCIpLnByb3AoImRpc2FibGVkIik/IiB1aS1zdGF0ZS1kaXNhYmxlZCI6IiIpLHRleHQ6YS5vcHRncm91cH0pLmFwcGVuZFRvKHQpLG49YS5vcHRncm91cCkscy5fcmVuZGVySXRlbURhdGEodCxhKX0pfSxfcmVuZGVySXRlbURhdGE6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5fcmVuZGVySXRlbShlLHQpLmRhdGEoInVpLXNlbGVjdG1lbnUtaXRlbSIsdCl9LF9yZW5kZXJJdGVtOmZ1bmN0aW9uKHQsaSl7dmFyIHM9ZSgiPGxpPiIpO3JldHVybiBpLmRpc2FibGVkJiZzLmFkZENsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpLHRoaXMuX3NldFRleHQocyxpLmxhYmVsKSxzLmFwcGVuZFRvKHQpfSxfc2V0VGV4dDpmdW5jdGlvbihlLHQpe3Q/ZS50ZXh0KHQpOmUuaHRtbCgiJiMxNjA7Iil9LF9tb3ZlOmZ1bmN0aW9uKGUsdCl7dmFyIGkscyxuPSIudWktbWVudS1pdGVtIjt0aGlzLmlzT3Blbj9pPXRoaXMubWVudUl0ZW1zLmVxKHRoaXMuZm9jdXNJbmRleCk6KGk9dGhpcy5tZW51SXRlbXMuZXEodGhpcy5lbGVtZW50WzBdLnNlbGVjdGVkSW5kZXgpLG4rPSI6bm90KC51aS1zdGF0ZS1kaXNhYmxlZCkiKSxzPSJmaXJzdCI9PT1lfHwibGFzdCI9PT1lP2lbImZpcnN0Ij09PWU/InByZXZBbGwiOiJuZXh0QWxsIl0obikuZXEoLTEpOmlbZSsiQWxsIl0obikuZXEoMCkscy5sZW5ndGgmJnRoaXMubWVudUluc3RhbmNlLmZvY3VzKHQscyl9LF9nZXRTZWxlY3RlZEl0ZW06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tZW51SXRlbXMuZXEodGhpcy5lbGVtZW50WzBdLnNlbGVjdGVkSW5kZXgpfSxfdG9nZ2xlOmZ1bmN0aW9uKGUpe3RoaXNbdGhpcy5pc09wZW4/ImNsb3NlIjoib3BlbiJdKGUpfSxfc2V0U2VsZWN0aW9uOmZ1bmN0aW9uKCl7dmFyIGU7dGhpcy5yYW5nZSYmKHdpbmRvdy5nZXRTZWxlY3Rpb24/KGU9d2luZG93LmdldFNlbGVjdGlvbigpLGUucmVtb3ZlQWxsUmFuZ2VzKCksZS5hZGRSYW5nZSh0aGlzLnJhbmdlKSk6dGhpcy5yYW5nZS5zZWxlY3QoKSx0aGlzLmJ1dHRvbi5mb2N1cygpKX0sX2RvY3VtZW50Q2xpY2s6e21vdXNlZG93bjpmdW5jdGlvbih0KXt0aGlzLmlzT3BlbiYmKGUodC50YXJnZXQpLmNsb3Nlc3QoIi51aS1zZWxlY3RtZW51LW1lbnUsICMiK3RoaXMuaWRzLmJ1dHRvbikubGVuZ3RofHx0aGlzLmNsb3NlKHQpKX19LF9idXR0b25FdmVudHM6e21vdXNlZG93bjpmdW5jdGlvbigpe3ZhciBlO3dpbmRvdy5nZXRTZWxlY3Rpb24/KGU9d2luZG93LmdldFNlbGVjdGlvbigpLGUucmFuZ2VDb3VudCYmKHRoaXMucmFuZ2U9ZS5nZXRSYW5nZUF0KDApKSk6dGhpcy5yYW5nZT1kb2N1bWVudC5zZWxlY3Rpb24uY3JlYXRlUmFuZ2UoKX0sY2xpY2s6ZnVuY3Rpb24oZSl7dGhpcy5fc2V0U2VsZWN0aW9uKCksdGhpcy5fdG9nZ2xlKGUpfSxrZXlkb3duOmZ1bmN0aW9uKHQpe3ZhciBpPSEwO3N3aXRjaCh0LmtleUNvZGUpe2Nhc2UgZS51aS5rZXlDb2RlLlRBQjpjYXNlIGUudWkua2V5Q29kZS5FU0NBUEU6dGhpcy5jbG9zZSh0KSxpPSExO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkVOVEVSOnRoaXMuaXNPcGVuJiZ0aGlzLl9zZWxlY3RGb2N1c2VkSXRlbSh0KTticmVhaztjYXNlIGUudWkua2V5Q29kZS5VUDp0LmFsdEtleT90aGlzLl90b2dnbGUodCk6dGhpcy5fbW92ZSgicHJldiIsdCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuRE9XTjp0LmFsdEtleT90aGlzLl90b2dnbGUodCk6dGhpcy5fbW92ZSgibmV4dCIsdCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuU1BBQ0U6dGhpcy5pc09wZW4/dGhpcy5fc2VsZWN0Rm9jdXNlZEl0ZW0odCk6dGhpcy5fdG9nZ2xlKHQpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkxFRlQ6dGhpcy5fbW92ZSgicHJldiIsdCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuUklHSFQ6dGhpcy5fbW92ZSgibmV4dCIsdCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuSE9NRTpjYXNlIGUudWkua2V5Q29kZS5QQUdFX1VQOnRoaXMuX21vdmUoImZpcnN0Iix0KTticmVhaztjYXNlIGUudWkua2V5Q29kZS5FTkQ6Y2FzZSBlLnVpLmtleUNvZGUuUEFHRV9ET1dOOnRoaXMuX21vdmUoImxhc3QiLHQpO2JyZWFrO2RlZmF1bHQ6dGhpcy5tZW51LnRyaWdnZXIodCksaT0hMX1pJiZ0LnByZXZlbnREZWZhdWx0KCl9fSxfc2VsZWN0Rm9jdXNlZEl0ZW06ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5tZW51SXRlbXMuZXEodGhpcy5mb2N1c0luZGV4KTt0Lmhhc0NsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIpfHx0aGlzLl9zZWxlY3QodC5kYXRhKCJ1aS1zZWxlY3RtZW51LWl0ZW0iKSxlKX0sX3NlbGVjdDpmdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuZWxlbWVudFswXS5zZWxlY3RlZEluZGV4O3RoaXMuZWxlbWVudFswXS5zZWxlY3RlZEluZGV4PWUuaW5kZXgsdGhpcy5fc2V0VGV4dCh0aGlzLmJ1dHRvblRleHQsZS5sYWJlbCksdGhpcy5fc2V0QXJpYShlKSx0aGlzLl90cmlnZ2VyKCJzZWxlY3QiLHQse2l0ZW06ZX0pLGUuaW5kZXghPT1pJiZ0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLHQse2l0ZW06ZX0pLHRoaXMuY2xvc2UodCl9LF9zZXRBcmlhOmZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMubWVudUl0ZW1zLmVxKGUuaW5kZXgpLmF0dHIoImlkIik7dGhpcy5idXR0b24uYXR0cih7ImFyaWEtbGFiZWxsZWRieSI6dCwiYXJpYS1hY3RpdmVkZXNjZW5kYW50Ijp0fSksdGhpcy5tZW51LmF0dHIoImFyaWEtYWN0aXZlZGVzY2VuZGFudCIsdCl9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXsiaWNvbnMiPT09ZSYmdGhpcy5idXR0b24uZmluZCgic3Bhbi51aS1pY29uIikucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmljb25zLmJ1dHRvbikuYWRkQ2xhc3ModC5idXR0b24pLHRoaXMuX3N1cGVyKGUsdCksImFwcGVuZFRvIj09PWUmJnRoaXMubWVudVdyYXAuYXBwZW5kVG8odGhpcy5fYXBwZW5kVG8oKSksImRpc2FibGVkIj09PWUmJih0aGlzLm1lbnVJbnN0YW5jZS5vcHRpb24oImRpc2FibGVkIix0KSx0aGlzLmJ1dHRvbi50b2dnbGVDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiLHQpLmF0dHIoImFyaWEtZGlzYWJsZWQiLHQpLHRoaXMuZWxlbWVudC5wcm9wKCJkaXNhYmxlZCIsdCksdD8odGhpcy5idXR0b24uYXR0cigidGFiaW5kZXgiLC0xKSx0aGlzLmNsb3NlKCkpOnRoaXMuYnV0dG9uLmF0dHIoInRhYmluZGV4IiwwKSksIndpZHRoIj09PWUmJnRoaXMuX3Jlc2l6ZUJ1dHRvbigpfSxfYXBwZW5kVG86ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuYXBwZW5kVG87cmV0dXJuIHQmJih0PXQuanF1ZXJ5fHx0Lm5vZGVUeXBlP2UodCk6dGhpcy5kb2N1bWVudC5maW5kKHQpLmVxKDApKSx0JiZ0WzBdfHwodD10aGlzLmVsZW1lbnQuY2xvc2VzdCgiLnVpLWZyb250IikpLHQubGVuZ3RofHwodD10aGlzLmRvY3VtZW50WzBdLmJvZHkpLHR9LF90b2dnbGVBdHRyOmZ1bmN0aW9uKCl7dGhpcy5idXR0b24udG9nZ2xlQ2xhc3MoInVpLWNvcm5lci10b3AiLHRoaXMuaXNPcGVuKS50b2dnbGVDbGFzcygidWktY29ybmVyLWFsbCIsIXRoaXMuaXNPcGVuKS5hdHRyKCJhcmlhLWV4cGFuZGVkIix0aGlzLmlzT3BlbiksdGhpcy5tZW51V3JhcC50b2dnbGVDbGFzcygidWktc2VsZWN0bWVudS1vcGVuIix0aGlzLmlzT3BlbiksdGhpcy5tZW51LmF0dHIoImFyaWEtaGlkZGVuIiwhdGhpcy5pc09wZW4pfSxfcmVzaXplQnV0dG9uOmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zLndpZHRoO2V8fChlPXRoaXMuZWxlbWVudC5zaG93KCkub3V0ZXJXaWR0aCgpLHRoaXMuZWxlbWVudC5oaWRlKCkpLHRoaXMuYnV0dG9uLm91dGVyV2lkdGgoZSl9LF9yZXNpemVNZW51OmZ1bmN0aW9uKCl7dGhpcy5tZW51Lm91dGVyV2lkdGgoTWF0aC5tYXgodGhpcy5idXR0b24ub3V0ZXJXaWR0aCgpLHRoaXMubWVudS53aWR0aCgiIikub3V0ZXJXaWR0aCgpKzEpKX0sX2dldENyZWF0ZU9wdGlvbnM6ZnVuY3Rpb24oKXtyZXR1cm57ZGlzYWJsZWQ6dGhpcy5lbGVtZW50LnByb3AoImRpc2FibGVkIil9fSxfcGFyc2VPcHRpb25zOmZ1bmN0aW9uKHQpe3ZhciBpPVtdO3QuZWFjaChmdW5jdGlvbih0LHMpe3ZhciBuPWUocyksYT1uLnBhcmVudCgib3B0Z3JvdXAiKTtpLnB1c2goe2VsZW1lbnQ6bixpbmRleDp0LHZhbHVlOm4udmFsKCksbGFiZWw6bi50ZXh0KCksb3B0Z3JvdXA6YS5hdHRyKCJsYWJlbCIpfHwiIixkaXNhYmxlZDphLnByb3AoImRpc2FibGVkIil8fG4ucHJvcCgiZGlzYWJsZWQiKX0pfSksdGhpcy5pdGVtcz1pfSxfZGVzdHJveTpmdW5jdGlvbigpe3RoaXMubWVudVdyYXAucmVtb3ZlKCksdGhpcy5idXR0b24ucmVtb3ZlKCksdGhpcy5lbGVtZW50LnNob3coKSx0aGlzLmVsZW1lbnQucmVtb3ZlVW5pcXVlSWQoKSx0aGlzLmxhYmVsLmF0dHIoImZvciIsdGhpcy5pZHMuZWxlbWVudCl9fSksZS53aWRnZXQoInVpLnNsaWRlciIsZS51aS5tb3VzZSx7dmVyc2lvbjoiMS4xMS40Iix3aWRnZXRFdmVudFByZWZpeDoic2xpZGUiLG9wdGlvbnM6e2FuaW1hdGU6ITEsZGlzdGFuY2U6MCxtYXg6MTAwLG1pbjowLG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixyYW5nZTohMSxzdGVwOjEsdmFsdWU6MCx2YWx1ZXM6bnVsbCxjaGFuZ2U6bnVsbCxzbGlkZTpudWxsLHN0YXJ0Om51bGwsc3RvcDpudWxsfSxudW1QYWdlczo1LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLl9rZXlTbGlkaW5nPSExLHRoaXMuX21vdXNlU2xpZGluZz0hMSx0aGlzLl9hbmltYXRlT2ZmPSEwLHRoaXMuX2hhbmRsZUluZGV4PW51bGwsdGhpcy5fZGV0ZWN0T3JpZW50YXRpb24oKSx0aGlzLl9tb3VzZUluaXQoKSx0aGlzLl9jYWxjdWxhdGVOZXdNYXgoKSx0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNsaWRlciB1aS1zbGlkZXItIit0aGlzLm9yaWVudGF0aW9uKyIgdWktd2lkZ2V0IisiIHVpLXdpZGdldC1jb250ZW50IisiIHVpLWNvcm5lci1hbGwiKSx0aGlzLl9yZWZyZXNoKCksdGhpcy5fc2V0T3B0aW9uKCJkaXNhYmxlZCIsdGhpcy5vcHRpb25zLmRpc2FibGVkKSx0aGlzLl9hbmltYXRlT2ZmPSExfSxfcmVmcmVzaDpmdW5jdGlvbigpe3RoaXMuX2NyZWF0ZVJhbmdlKCksdGhpcy5fY3JlYXRlSGFuZGxlcygpLHRoaXMuX3NldHVwRXZlbnRzKCksdGhpcy5fcmVmcmVzaFZhbHVlKCl9LF9jcmVhdGVIYW5kbGVzOmZ1bmN0aW9uKCl7dmFyIHQsaSxzPXRoaXMub3B0aW9ucyxuPXRoaXMuZWxlbWVudC5maW5kKCIudWktc2xpZGVyLWhhbmRsZSIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwiKSxhPSI8c3BhbiBjbGFzcz0ndWktc2xpZGVyLWhhbmRsZSB1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci1hbGwnIHRhYmluZGV4PScwJz48L3NwYW4+IixvPVtdO2ZvcihpPXMudmFsdWVzJiZzLnZhbHVlcy5sZW5ndGh8fDEsbi5sZW5ndGg+aSYmKG4uc2xpY2UoaSkucmVtb3ZlKCksbj1uLnNsaWNlKDAsaSkpLHQ9bi5sZW5ndGg7aT50O3QrKylvLnB1c2goYSk7dGhpcy5oYW5kbGVzPW4uYWRkKGUoby5qb2luKCIiKSkuYXBwZW5kVG8odGhpcy5lbGVtZW50KSksdGhpcy5oYW5kbGU9dGhpcy5oYW5kbGVzLmVxKDApLHRoaXMuaGFuZGxlcy5lYWNoKGZ1bmN0aW9uKHQpe2UodGhpcykuZGF0YSgidWktc2xpZGVyLWhhbmRsZS1pbmRleCIsdCl9KX0sX2NyZWF0ZVJhbmdlOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGk9IiI7dC5yYW5nZT8odC5yYW5nZT09PSEwJiYodC52YWx1ZXM/dC52YWx1ZXMubGVuZ3RoJiYyIT09dC52YWx1ZXMubGVuZ3RoP3QudmFsdWVzPVt0LnZhbHVlc1swXSx0LnZhbHVlc1swXV06ZS5pc0FycmF5KHQudmFsdWVzKSYmKHQudmFsdWVzPXQudmFsdWVzLnNsaWNlKDApKTp0LnZhbHVlcz1bdGhpcy5fdmFsdWVNaW4oKSx0aGlzLl92YWx1ZU1pbigpXSksdGhpcy5yYW5nZSYmdGhpcy5yYW5nZS5sZW5ndGg/dGhpcy5yYW5nZS5yZW1vdmVDbGFzcygidWktc2xpZGVyLXJhbmdlLW1pbiB1aS1zbGlkZXItcmFuZ2UtbWF4IikuY3NzKHtsZWZ0OiIiLGJvdHRvbToiIn0pOih0aGlzLnJhbmdlPWUoIjxkaXY+PC9kaXY+IikuYXBwZW5kVG8odGhpcy5lbGVtZW50KSxpPSJ1aS1zbGlkZXItcmFuZ2UgdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIiksdGhpcy5yYW5nZS5hZGRDbGFzcyhpKygibWluIj09PXQucmFuZ2V8fCJtYXgiPT09dC5yYW5nZT8iIHVpLXNsaWRlci1yYW5nZS0iK3QucmFuZ2U6IiIpKSk6KHRoaXMucmFuZ2UmJnRoaXMucmFuZ2UucmVtb3ZlKCksdGhpcy5yYW5nZT1udWxsKX0sX3NldHVwRXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy5fb2ZmKHRoaXMuaGFuZGxlcyksdGhpcy5fb24odGhpcy5oYW5kbGVzLHRoaXMuX2hhbmRsZUV2ZW50cyksdGhpcy5faG92ZXJhYmxlKHRoaXMuaGFuZGxlcyksdGhpcy5fZm9jdXNhYmxlKHRoaXMuaGFuZGxlcyl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5oYW5kbGVzLnJlbW92ZSgpLHRoaXMucmFuZ2UmJnRoaXMucmFuZ2UucmVtb3ZlKCksdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zbGlkZXIgdWktc2xpZGVyLWhvcml6b250YWwgdWktc2xpZGVyLXZlcnRpY2FsIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIiksdGhpcy5fbW91c2VEZXN0cm95KCl9LF9tb3VzZUNhcHR1cmU6ZnVuY3Rpb24odCl7dmFyIGkscyxuLGEsbyxyLGgsbCx1PXRoaXMsZD10aGlzLm9wdGlvbnM7cmV0dXJuIGQuZGlzYWJsZWQ/ITE6KHRoaXMuZWxlbWVudFNpemU9e3dpZHRoOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCksaGVpZ2h0OnRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpfSx0aGlzLmVsZW1lbnRPZmZzZXQ9dGhpcy5lbGVtZW50Lm9mZnNldCgpLGk9e3g6dC5wYWdlWCx5OnQucGFnZVl9LHM9dGhpcy5fbm9ybVZhbHVlRnJvbU1vdXNlKGkpLG49dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpKzEsdGhpcy5oYW5kbGVzLmVhY2goZnVuY3Rpb24odCl7dmFyIGk9TWF0aC5hYnMocy11LnZhbHVlcyh0KSk7KG4+aXx8bj09PWkmJih0PT09dS5fbGFzdENoYW5nZWRWYWx1ZXx8dS52YWx1ZXModCk9PT1kLm1pbikpJiYobj1pLGE9ZSh0aGlzKSxvPXQpfSkscj10aGlzLl9zdGFydCh0LG8pLHI9PT0hMT8hMToodGhpcy5fbW91c2VTbGlkaW5nPSEwLHRoaXMuX2hhbmRsZUluZGV4PW8sYS5hZGRDbGFzcygidWktc3RhdGUtYWN0aXZlIikuZm9jdXMoKSxoPWEub2Zmc2V0KCksbD0hZSh0LnRhcmdldCkucGFyZW50cygpLmFkZEJhY2soKS5pcygiLnVpLXNsaWRlci1oYW5kbGUiKSx0aGlzLl9jbGlja09mZnNldD1sP3tsZWZ0OjAsdG9wOjB9OntsZWZ0OnQucGFnZVgtaC5sZWZ0LWEud2lkdGgoKS8yLHRvcDp0LnBhZ2VZLWgudG9wLWEuaGVpZ2h0KCkvMi0ocGFyc2VJbnQoYS5jc3MoImJvcmRlclRvcFdpZHRoIiksMTApfHwwKS0ocGFyc2VJbnQoYS5jc3MoImJvcmRlckJvdHRvbVdpZHRoIiksMTApfHwwKSsocGFyc2VJbnQoYS5jc3MoIm1hcmdpblRvcCIpLDEwKXx8MCl9LHRoaXMuaGFuZGxlcy5oYXNDbGFzcygidWktc3RhdGUtaG92ZXIiKXx8dGhpcy5fc2xpZGUodCxvLHMpLHRoaXMuX2FuaW1hdGVPZmY9ITAsITApKX0sX21vdXNlU3RhcnQ6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sX21vdXNlRHJhZzpmdW5jdGlvbihlKXt2YXIgdD17eDplLnBhZ2VYLHk6ZS5wYWdlWX0saT10aGlzLl9ub3JtVmFsdWVGcm9tTW91c2UodCk7cmV0dXJuIHRoaXMuX3NsaWRlKGUsdGhpcy5faGFuZGxlSW5kZXgsaSksITF9LF9tb3VzZVN0b3A6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaGFuZGxlcy5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIiksdGhpcy5fbW91c2VTbGlkaW5nPSExLHRoaXMuX3N0b3AoZSx0aGlzLl9oYW5kbGVJbmRleCksdGhpcy5fY2hhbmdlKGUsdGhpcy5faGFuZGxlSW5kZXgpLHRoaXMuX2hhbmRsZUluZGV4PW51bGwsdGhpcy5fY2xpY2tPZmZzZXQ9bnVsbCx0aGlzLl9hbmltYXRlT2ZmPSExLCExfSxfZGV0ZWN0T3JpZW50YXRpb246ZnVuY3Rpb24oKXt0aGlzLm9yaWVudGF0aW9uPSJ2ZXJ0aWNhbCI9PT10aGlzLm9wdGlvbnMub3JpZW50YXRpb24/InZlcnRpY2FsIjoiaG9yaXpvbnRhbCJ9LF9ub3JtVmFsdWVGcm9tTW91c2U6ZnVuY3Rpb24oZSl7dmFyIHQsaSxzLG4sYTtyZXR1cm4iaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uPyh0PXRoaXMuZWxlbWVudFNpemUud2lkdGgsaT1lLngtdGhpcy5lbGVtZW50T2Zmc2V0LmxlZnQtKHRoaXMuX2NsaWNrT2Zmc2V0P3RoaXMuX2NsaWNrT2Zmc2V0LmxlZnQ6MCkpOih0PXRoaXMuZWxlbWVudFNpemUuaGVpZ2h0LGk9ZS55LXRoaXMuZWxlbWVudE9mZnNldC50b3AtKHRoaXMuX2NsaWNrT2Zmc2V0P3RoaXMuX2NsaWNrT2Zmc2V0LnRvcDowKSkscz1pL3Qscz4xJiYocz0xKSwwPnMmJihzPTApLCJ2ZXJ0aWNhbCI9PT10aGlzLm9yaWVudGF0aW9uJiYocz0xLXMpLG49dGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpLGE9dGhpcy5fdmFsdWVNaW4oKStzKm4sdGhpcy5fdHJpbUFsaWduVmFsdWUoYSl9LF9zdGFydDpmdW5jdGlvbihlLHQpe3ZhciBpPXtoYW5kbGU6dGhpcy5oYW5kbGVzW3RdLHZhbHVlOnRoaXMudmFsdWUoKX07cmV0dXJuIHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoJiYoaS52YWx1ZT10aGlzLnZhbHVlcyh0KSxpLnZhbHVlcz10aGlzLnZhbHVlcygpKSx0aGlzLl90cmlnZ2VyKCJzdGFydCIsZSxpKX0sX3NsaWRlOmZ1bmN0aW9uKGUsdCxpKXt2YXIgcyxuLGE7dGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg/KHM9dGhpcy52YWx1ZXModD8wOjEpLDI9PT10aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aCYmdGhpcy5vcHRpb25zLnJhbmdlPT09ITAmJigwPT09dCYmaT5zfHwxPT09dCYmcz5pKSYmKGk9cyksaSE9PXRoaXMudmFsdWVzKHQpJiYobj10aGlzLnZhbHVlcygpLG5bdF09aSxhPXRoaXMuX3RyaWdnZXIoInNsaWRlIixlLHtoYW5kbGU6dGhpcy5oYW5kbGVzW3RdLHZhbHVlOmksdmFsdWVzOm59KSxzPXRoaXMudmFsdWVzKHQ/MDoxKSxhIT09ITEmJnRoaXMudmFsdWVzKHQsaSkpKTppIT09dGhpcy52YWx1ZSgpJiYoYT10aGlzLl90cmlnZ2VyKCJzbGlkZSIsZSx7aGFuZGxlOnRoaXMuaGFuZGxlc1t0XSx2YWx1ZTppfSksYSE9PSExJiZ0aGlzLnZhbHVlKGkpKX0sX3N0b3A6ZnVuY3Rpb24oZSx0KXt2YXIgaT17aGFuZGxlOnRoaXMuaGFuZGxlc1t0XSx2YWx1ZTp0aGlzLnZhbHVlKCl9O3RoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoJiYoaS52YWx1ZT10aGlzLnZhbHVlcyh0KSxpLnZhbHVlcz10aGlzLnZhbHVlcygpKSx0aGlzLl90cmlnZ2VyKCJzdG9wIixlLGkpfSxfY2hhbmdlOmZ1bmN0aW9uKGUsdCl7aWYoIXRoaXMuX2tleVNsaWRpbmcmJiF0aGlzLl9tb3VzZVNsaWRpbmcpe3ZhciBpPXtoYW5kbGU6dGhpcy5oYW5kbGVzW3RdLHZhbHVlOnRoaXMudmFsdWUoKX07dGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGgmJihpLnZhbHVlPXRoaXMudmFsdWVzKHQpLGkudmFsdWVzPXRoaXMudmFsdWVzKCkpLHRoaXMuX2xhc3RDaGFuZ2VkVmFsdWU9dCx0aGlzLl90cmlnZ2VyKCJjaGFuZ2UiLGUsaSl9fSx2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5vcHRpb25zLnZhbHVlPXRoaXMuX3RyaW1BbGlnblZhbHVlKGUpLHRoaXMuX3JlZnJlc2hWYWx1ZSgpLHRoaXMuX2NoYW5nZShudWxsLDApLHZvaWQgMCk6dGhpcy5fdmFsdWUoKX0sdmFsdWVzOmZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhO2lmKGFyZ3VtZW50cy5sZW5ndGg+MSlyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlc1t0XT10aGlzLl90cmltQWxpZ25WYWx1ZShpKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLl9jaGFuZ2UobnVsbCx0KSx2b2lkIDA7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuX3ZhbHVlcygpO2lmKCFlLmlzQXJyYXkoYXJndW1lbnRzWzBdKSlyZXR1cm4gdGhpcy5vcHRpb25zLnZhbHVlcyYmdGhpcy5vcHRpb25zLnZhbHVlcy5sZW5ndGg/dGhpcy5fdmFsdWVzKHQpOnRoaXMudmFsdWUoKTtmb3Iocz10aGlzLm9wdGlvbnMudmFsdWVzLG49YXJndW1lbnRzWzBdLGE9MDtzLmxlbmd0aD5hO2ErPTEpc1thXT10aGlzLl90cmltQWxpZ25WYWx1ZShuW2FdKSx0aGlzLl9jaGFuZ2UobnVsbCxhKTt0aGlzLl9yZWZyZXNoVmFsdWUoKX0sX3NldE9wdGlvbjpmdW5jdGlvbih0LGkpe3ZhciBzLG49MDtzd2l0Y2goInJhbmdlIj09PXQmJnRoaXMub3B0aW9ucy5yYW5nZT09PSEwJiYoIm1pbiI9PT1pPyh0aGlzLm9wdGlvbnMudmFsdWU9dGhpcy5fdmFsdWVzKDApLHRoaXMub3B0aW9ucy52YWx1ZXM9bnVsbCk6Im1heCI9PT1pJiYodGhpcy5vcHRpb25zLnZhbHVlPXRoaXMuX3ZhbHVlcyh0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aC0xKSx0aGlzLm9wdGlvbnMudmFsdWVzPW51bGwpKSxlLmlzQXJyYXkodGhpcy5vcHRpb25zLnZhbHVlcykmJihuPXRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKSwiZGlzYWJsZWQiPT09dCYmdGhpcy5lbGVtZW50LnRvZ2dsZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIsISFpKSx0aGlzLl9zdXBlcih0LGkpLHQpe2Nhc2Uib3JpZW50YXRpb24iOnRoaXMuX2RldGVjdE9yaWVudGF0aW9uKCksdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zbGlkZXItaG9yaXpvbnRhbCB1aS1zbGlkZXItdmVydGljYWwiKS5hZGRDbGFzcygidWktc2xpZGVyLSIrdGhpcy5vcmllbnRhdGlvbiksdGhpcy5fcmVmcmVzaFZhbHVlKCksdGhpcy5oYW5kbGVzLmNzcygiaG9yaXpvbnRhbCI9PT1pPyJib3R0b20iOiJsZWZ0IiwiIik7YnJlYWs7Y2FzZSJ2YWx1ZSI6dGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLl9jaGFuZ2UobnVsbCwwKSx0aGlzLl9hbmltYXRlT2ZmPSExO2JyZWFrO2Nhc2UidmFsdWVzIjpmb3IodGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9yZWZyZXNoVmFsdWUoKSxzPTA7bj5zO3MrPTEpdGhpcy5fY2hhbmdlKG51bGwscyk7dGhpcy5fYW5pbWF0ZU9mZj0hMTticmVhaztjYXNlInN0ZXAiOmNhc2UibWluIjpjYXNlIm1heCI6dGhpcy5fYW5pbWF0ZU9mZj0hMCx0aGlzLl9jYWxjdWxhdGVOZXdNYXgoKSx0aGlzLl9yZWZyZXNoVmFsdWUoKSx0aGlzLl9hbmltYXRlT2ZmPSExO2JyZWFrO2Nhc2UicmFuZ2UiOnRoaXMuX2FuaW1hdGVPZmY9ITAsdGhpcy5fcmVmcmVzaCgpLHRoaXMuX2FuaW1hdGVPZmY9ITF9fSxfdmFsdWU6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9wdGlvbnMudmFsdWU7cmV0dXJuIGU9dGhpcy5fdHJpbUFsaWduVmFsdWUoZSl9LF92YWx1ZXM6ZnVuY3Rpb24oZSl7dmFyIHQsaSxzO2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHQ9dGhpcy5vcHRpb25zLnZhbHVlc1tlXSx0PXRoaXMuX3RyaW1BbGlnblZhbHVlKHQpO2lmKHRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoKXtmb3IoaT10aGlzLm9wdGlvbnMudmFsdWVzLnNsaWNlKCkscz0wO2kubGVuZ3RoPnM7cys9MSlpW3NdPXRoaXMuX3RyaW1BbGlnblZhbHVlKGlbc10pO3JldHVybiBpfXJldHVybltdfSxfdHJpbUFsaWduVmFsdWU6ZnVuY3Rpb24oZSl7aWYodGhpcy5fdmFsdWVNaW4oKT49ZSlyZXR1cm4gdGhpcy5fdmFsdWVNaW4oKTtpZihlPj10aGlzLl92YWx1ZU1heCgpKXJldHVybiB0aGlzLl92YWx1ZU1heCgpO3ZhciB0PXRoaXMub3B0aW9ucy5zdGVwPjA/dGhpcy5vcHRpb25zLnN0ZXA6MSxpPShlLXRoaXMuX3ZhbHVlTWluKCkpJXQscz1lLWk7cmV0dXJuIDIqTWF0aC5hYnMoaSk+PXQmJihzKz1pPjA/dDotdCkscGFyc2VGbG9hdChzLnRvRml4ZWQoNSkpfSxfY2FsY3VsYXRlTmV3TWF4OmZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zLm1heCx0PXRoaXMuX3ZhbHVlTWluKCksaT10aGlzLm9wdGlvbnMuc3RlcCxzPU1hdGguZmxvb3IoKyhlLXQpLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKCkpL2kpKmk7ZT1zK3QsdGhpcy5tYXg9cGFyc2VGbG9hdChlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKCkpKX0sX3ByZWNpc2lvbjpmdW5jdGlvbigpe3ZhciBlPXRoaXMuX3ByZWNpc2lvbk9mKHRoaXMub3B0aW9ucy5zdGVwKTtyZXR1cm4gbnVsbCE9PXRoaXMub3B0aW9ucy5taW4mJihlPU1hdGgubWF4KGUsdGhpcy5fcHJlY2lzaW9uT2YodGhpcy5vcHRpb25zLm1pbikpKSxlfSxfcHJlY2lzaW9uT2Y6ZnVuY3Rpb24oZSl7dmFyIHQ9IiIrZSxpPXQuaW5kZXhPZigiLiIpO3JldHVybi0xPT09aT8wOnQubGVuZ3RoLWktMX0sX3ZhbHVlTWluOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3B0aW9ucy5taW59LF92YWx1ZU1heDpmdW5jdGlvbigpe3JldHVybiB0aGlzLm1heH0sX3JlZnJlc2hWYWx1ZTpmdW5jdGlvbigpe3ZhciB0LGkscyxuLGEsbz10aGlzLm9wdGlvbnMucmFuZ2Uscj10aGlzLm9wdGlvbnMsaD10aGlzLGw9dGhpcy5fYW5pbWF0ZU9mZj8hMTpyLmFuaW1hdGUsdT17fTt0aGlzLm9wdGlvbnMudmFsdWVzJiZ0aGlzLm9wdGlvbnMudmFsdWVzLmxlbmd0aD90aGlzLmhhbmRsZXMuZWFjaChmdW5jdGlvbihzKXtpPTEwMCooKGgudmFsdWVzKHMpLWguX3ZhbHVlTWluKCkpLyhoLl92YWx1ZU1heCgpLWguX3ZhbHVlTWluKCkpKSx1WyJob3Jpem9udGFsIj09PWgub3JpZW50YXRpb24/ImxlZnQiOiJib3R0b20iXT1pKyIlIixlKHRoaXMpLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0odSxyLmFuaW1hdGUpLGgub3B0aW9ucy5yYW5nZT09PSEwJiYoImhvcml6b250YWwiPT09aC5vcmllbnRhdGlvbj8oMD09PXMmJmgucmFuZ2Uuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh7bGVmdDppKyIlIn0sci5hbmltYXRlKSwxPT09cyYmaC5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOmktdCsiJSJ9LHtxdWV1ZTohMSxkdXJhdGlvbjpyLmFuaW1hdGV9KSk6KDA9PT1zJiZoLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe2JvdHRvbTppKyIlIn0sci5hbmltYXRlKSwxPT09cyYmaC5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe2hlaWdodDppLXQrIiUifSx7cXVldWU6ITEsZHVyYXRpb246ci5hbmltYXRlfSkpKSx0PWl9KToocz10aGlzLnZhbHVlKCksbj10aGlzLl92YWx1ZU1pbigpLGE9dGhpcy5fdmFsdWVNYXgoKSxpPWEhPT1uPzEwMCooKHMtbikvKGEtbikpOjAsdVsiaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uPyJsZWZ0IjoiYm90dG9tIl09aSsiJSIsdGhpcy5oYW5kbGUuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh1LHIuYW5pbWF0ZSksIm1pbiI9PT1vJiYiaG9yaXpvbnRhbCI9PT10aGlzLm9yaWVudGF0aW9uJiZ0aGlzLnJhbmdlLnN0b3AoMSwxKVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOmkrIiUifSxyLmFuaW1hdGUpLCJtYXgiPT09byYmImhvcml6b250YWwiPT09dGhpcy5vcmllbnRhdGlvbiYmdGhpcy5yYW5nZVtsPyJhbmltYXRlIjoiY3NzIl0oe3dpZHRoOjEwMC1pKyIlIn0se3F1ZXVlOiExLGR1cmF0aW9uOnIuYW5pbWF0ZX0pLCJtaW4iPT09byYmInZlcnRpY2FsIj09PXRoaXMub3JpZW50YXRpb24mJnRoaXMucmFuZ2Uuc3RvcCgxLDEpW2w/ImFuaW1hdGUiOiJjc3MiXSh7aGVpZ2h0OmkrIiUifSxyLmFuaW1hdGUpLCJtYXgiPT09byYmInZlcnRpY2FsIj09PXRoaXMub3JpZW50YXRpb24mJnRoaXMucmFuZ2VbbD8iYW5pbWF0ZSI6ImNzcyJdKHtoZWlnaHQ6MTAwLWkrIiUifSx7cXVldWU6ITEsZHVyYXRpb246ci5hbmltYXRlfSkpfSxfaGFuZGxlRXZlbnRzOntrZXlkb3duOmZ1bmN0aW9uKHQpe3ZhciBpLHMsbixhLG89ZSh0LnRhcmdldCkuZGF0YSgidWktc2xpZGVyLWhhbmRsZS1pbmRleCIpO3N3aXRjaCh0LmtleUNvZGUpe2Nhc2UgZS51aS5rZXlDb2RlLkhPTUU6Y2FzZSBlLnVpLmtleUNvZGUuRU5EOmNhc2UgZS51aS5rZXlDb2RlLlBBR0VfVVA6Y2FzZSBlLnVpLmtleUNvZGUuUEFHRV9ET1dOOmNhc2UgZS51aS5rZXlDb2RlLlVQOmNhc2UgZS51aS5rZXlDb2RlLlJJR0hUOmNhc2UgZS51aS5rZXlDb2RlLkRPV046Y2FzZSBlLnVpLmtleUNvZGUuTEVGVDppZih0LnByZXZlbnREZWZhdWx0KCksIXRoaXMuX2tleVNsaWRpbmcmJih0aGlzLl9rZXlTbGlkaW5nPSEwLGUodC50YXJnZXQpLmFkZENsYXNzKCJ1aS1zdGF0ZS1hY3RpdmUiKSxpPXRoaXMuX3N0YXJ0KHQsbyksaT09PSExKSlyZXR1cm59c3dpdGNoKGE9dGhpcy5vcHRpb25zLnN0ZXAscz1uPXRoaXMub3B0aW9ucy52YWx1ZXMmJnRoaXMub3B0aW9ucy52YWx1ZXMubGVuZ3RoP3RoaXMudmFsdWVzKG8pOnRoaXMudmFsdWUoKSx0LmtleUNvZGUpe2Nhc2UgZS51aS5rZXlDb2RlLkhPTUU6bj10aGlzLl92YWx1ZU1pbigpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkVORDpuPXRoaXMuX3ZhbHVlTWF4KCk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuUEFHRV9VUDpuPXRoaXMuX3RyaW1BbGlnblZhbHVlKHMrKHRoaXMuX3ZhbHVlTWF4KCktdGhpcy5fdmFsdWVNaW4oKSkvdGhpcy5udW1QYWdlcyk7YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuUEFHRV9ET1dOOm49dGhpcy5fdHJpbUFsaWduVmFsdWUocy0odGhpcy5fdmFsdWVNYXgoKS10aGlzLl92YWx1ZU1pbigpKS90aGlzLm51bVBhZ2VzKTticmVhaztjYXNlIGUudWkua2V5Q29kZS5VUDpjYXNlIGUudWkua2V5Q29kZS5SSUdIVDppZihzPT09dGhpcy5fdmFsdWVNYXgoKSlyZXR1cm47bj10aGlzLl90cmltQWxpZ25WYWx1ZShzK2EpO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkRPV046Y2FzZSBlLnVpLmtleUNvZGUuTEVGVDppZihzPT09dGhpcy5fdmFsdWVNaW4oKSlyZXR1cm47bj10aGlzLl90cmltQWxpZ25WYWx1ZShzLWEpfXRoaXMuX3NsaWRlKHQsbyxuKX0sa2V5dXA6ZnVuY3Rpb24odCl7dmFyIGk9ZSh0LnRhcmdldCkuZGF0YSgidWktc2xpZGVyLWhhbmRsZS1pbmRleCIpO3RoaXMuX2tleVNsaWRpbmcmJih0aGlzLl9rZXlTbGlkaW5nPSExLHRoaXMuX3N0b3AodCxpKSx0aGlzLl9jaGFuZ2UodCxpKSxlKHQudGFyZ2V0KS5yZW1vdmVDbGFzcygidWktc3RhdGUtYWN0aXZlIikpfX19KSxlLndpZGdldCgidWkuc3Bpbm5lciIse3ZlcnNpb246IjEuMTEuNCIsZGVmYXVsdEVsZW1lbnQ6IjxpbnB1dD4iLHdpZGdldEV2ZW50UHJlZml4OiJzcGluIixvcHRpb25zOntjdWx0dXJlOm51bGwsaWNvbnM6e2Rvd246InVpLWljb24tdHJpYW5nbGUtMS1zIix1cDoidWktaWNvbi10cmlhbmdsZS0xLW4ifSxpbmNyZW1lbnRhbDohMCxtYXg6bnVsbCxtaW46bnVsbCxudW1iZXJGb3JtYXQ6bnVsbCxwYWdlOjEwLHN0ZXA6MSxjaGFuZ2U6bnVsbCxzcGluOm51bGwsc3RhcnQ6bnVsbCxzdG9wOm51bGx9LF9jcmVhdGU6ZnVuY3Rpb24oKXt0aGlzLl9zZXRPcHRpb24oIm1heCIsdGhpcy5vcHRpb25zLm1heCksdGhpcy5fc2V0T3B0aW9uKCJtaW4iLHRoaXMub3B0aW9ucy5taW4pLHRoaXMuX3NldE9wdGlvbigic3RlcCIsdGhpcy5vcHRpb25zLnN0ZXApLCIiIT09dGhpcy52YWx1ZSgpJiZ0aGlzLl92YWx1ZSh0aGlzLmVsZW1lbnQudmFsKCksITApLHRoaXMuX2RyYXcoKSx0aGlzLl9vbih0aGlzLl9ldmVudHMpLHRoaXMuX3JlZnJlc2goKSx0aGlzLl9vbih0aGlzLndpbmRvdyx7YmVmb3JldW5sb2FkOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUF0dHIoImF1dG9jb21wbGV0ZSIpfX0pfSxfZ2V0Q3JlYXRlT3B0aW9uczpmdW5jdGlvbigpe3ZhciB0PXt9LGk9dGhpcy5lbGVtZW50O3JldHVybiBlLmVhY2goWyJtaW4iLCJtYXgiLCJzdGVwIl0sZnVuY3Rpb24oZSxzKXt2YXIgbj1pLmF0dHIocyk7dm9pZCAwIT09biYmbi5sZW5ndGgmJih0W3NdPW4pfSksdH0sX2V2ZW50czp7a2V5ZG93bjpmdW5jdGlvbihlKXt0aGlzLl9zdGFydChlKSYmdGhpcy5fa2V5ZG93bihlKSYmZS5wcmV2ZW50RGVmYXVsdCgpfSxrZXl1cDoiX3N0b3AiLGZvY3VzOmZ1bmN0aW9uKCl7dGhpcy5wcmV2aW91cz10aGlzLmVsZW1lbnQudmFsKCl9LGJsdXI6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuY2FuY2VsQmx1cj8oZGVsZXRlIHRoaXMuY2FuY2VsQmx1cix2b2lkIDApOih0aGlzLl9zdG9wKCksdGhpcy5fcmVmcmVzaCgpLHRoaXMucHJldmlvdXMhPT10aGlzLmVsZW1lbnQudmFsKCkmJnRoaXMuX3RyaWdnZXIoImNoYW5nZSIsZSksdm9pZCAwKX0sbW91c2V3aGVlbDpmdW5jdGlvbihlLHQpe2lmKHQpe2lmKCF0aGlzLnNwaW5uaW5nJiYhdGhpcy5fc3RhcnQoZSkpcmV0dXJuITE7dGhpcy5fc3BpbigodD4wPzE6LTEpKnRoaXMub3B0aW9ucy5zdGVwLGUpLGNsZWFyVGltZW91dCh0aGlzLm1vdXNld2hlZWxUaW1lciksdGhpcy5tb3VzZXdoZWVsVGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLnNwaW5uaW5nJiZ0aGlzLl9zdG9wKGUpfSwxMDApLGUucHJldmVudERlZmF1bHQoKX19LCJtb3VzZWRvd24gLnVpLXNwaW5uZXItYnV0dG9uIjpmdW5jdGlvbih0KXtmdW5jdGlvbiBpKCl7dmFyIGU9dGhpcy5lbGVtZW50WzBdPT09dGhpcy5kb2N1bWVudFswXS5hY3RpdmVFbGVtZW50O2V8fCh0aGlzLmVsZW1lbnQuZm9jdXMoKSx0aGlzLnByZXZpb3VzPXMsdGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLnByZXZpb3VzPXN9KSl9dmFyIHM7cz10aGlzLmVsZW1lbnRbMF09PT10aGlzLmRvY3VtZW50WzBdLmFjdGl2ZUVsZW1lbnQ/dGhpcy5wcmV2aW91czp0aGlzLmVsZW1lbnQudmFsKCksdC5wcmV2ZW50RGVmYXVsdCgpLGkuY2FsbCh0aGlzKSx0aGlzLmNhbmNlbEJsdXI9ITAsdGhpcy5fZGVsYXkoZnVuY3Rpb24oKXtkZWxldGUgdGhpcy5jYW5jZWxCbHVyLGkuY2FsbCh0aGlzKX0pLHRoaXMuX3N0YXJ0KHQpIT09ITEmJnRoaXMuX3JlcGVhdChudWxsLGUodC5jdXJyZW50VGFyZ2V0KS5oYXNDbGFzcygidWktc3Bpbm5lci11cCIpPzE6LTEsdCl9LCJtb3VzZXVwIC51aS1zcGlubmVyLWJ1dHRvbiI6Il9zdG9wIiwibW91c2VlbnRlciAudWktc3Bpbm5lci1idXR0b24iOmZ1bmN0aW9uKHQpe3JldHVybiBlKHQuY3VycmVudFRhcmdldCkuaGFzQ2xhc3MoInVpLXN0YXRlLWFjdGl2ZSIpP3RoaXMuX3N0YXJ0KHQpPT09ITE/ITE6KHRoaXMuX3JlcGVhdChudWxsLGUodC5jdXJyZW50VGFyZ2V0KS5oYXNDbGFzcygidWktc3Bpbm5lci11cCIpPzE6LTEsdCksdm9pZCAwKTp2b2lkIDB9LCJtb3VzZWxlYXZlIC51aS1zcGlubmVyLWJ1dHRvbiI6Il9zdG9wIn0sX2RyYXc6ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnVpU3Bpbm5lcj10aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXNwaW5uZXItaW5wdXQiKS5hdHRyKCJhdXRvY29tcGxldGUiLCJvZmYiKS53cmFwKHRoaXMuX3VpU3Bpbm5lckh0bWwoKSkucGFyZW50KCkuYXBwZW5kKHRoaXMuX2J1dHRvbkh0bWwoKSk7dGhpcy5lbGVtZW50LmF0dHIoInJvbGUiLCJzcGluYnV0dG9uIiksdGhpcy5idXR0b25zPWUuZmluZCgiLnVpLXNwaW5uZXItYnV0dG9uIikuYXR0cigidGFiSW5kZXgiLC0xKS5idXR0b24oKS5yZW1vdmVDbGFzcygidWktY29ybmVyLWFsbCIpLHRoaXMuYnV0dG9ucy5oZWlnaHQoKT5NYXRoLmNlaWwoLjUqZS5oZWlnaHQoKSkmJmUuaGVpZ2h0KCk+MCYmZS5oZWlnaHQoZS5oZWlnaHQoKSksdGhpcy5vcHRpb25zLmRpc2FibGVkJiZ0aGlzLmRpc2FibGUoKQp9LF9rZXlkb3duOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucyxzPWUudWkua2V5Q29kZTtzd2l0Y2godC5rZXlDb2RlKXtjYXNlIHMuVVA6cmV0dXJuIHRoaXMuX3JlcGVhdChudWxsLDEsdCksITA7Y2FzZSBzLkRPV046cmV0dXJuIHRoaXMuX3JlcGVhdChudWxsLC0xLHQpLCEwO2Nhc2Ugcy5QQUdFX1VQOnJldHVybiB0aGlzLl9yZXBlYXQobnVsbCxpLnBhZ2UsdCksITA7Y2FzZSBzLlBBR0VfRE9XTjpyZXR1cm4gdGhpcy5fcmVwZWF0KG51bGwsLWkucGFnZSx0KSwhMH1yZXR1cm4hMX0sX3VpU3Bpbm5lckh0bWw6ZnVuY3Rpb24oKXtyZXR1cm4iPHNwYW4gY2xhc3M9J3VpLXNwaW5uZXIgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwnPjwvc3Bhbj4ifSxfYnV0dG9uSHRtbDpmdW5jdGlvbigpe3JldHVybiI8YSBjbGFzcz0ndWktc3Bpbm5lci1idXR0b24gdWktc3Bpbm5lci11cCB1aS1jb3JuZXItdHInPjxzcGFuIGNsYXNzPSd1aS1pY29uICIrdGhpcy5vcHRpb25zLmljb25zLnVwKyInPiYjOTY1MDs8L3NwYW4+IisiPC9hPiIrIjxhIGNsYXNzPSd1aS1zcGlubmVyLWJ1dHRvbiB1aS1zcGlubmVyLWRvd24gdWktY29ybmVyLWJyJz4iKyI8c3BhbiBjbGFzcz0ndWktaWNvbiAiK3RoaXMub3B0aW9ucy5pY29ucy5kb3duKyInPiYjOTY2MDs8L3NwYW4+IisiPC9hPiJ9LF9zdGFydDpmdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5zcGlubmluZ3x8dGhpcy5fdHJpZ2dlcigic3RhcnQiLGUpIT09ITE/KHRoaXMuY291bnRlcnx8KHRoaXMuY291bnRlcj0xKSx0aGlzLnNwaW5uaW5nPSEwLCEwKTohMX0sX3JlcGVhdDpmdW5jdGlvbihlLHQsaSl7ZT1lfHw1MDAsY2xlYXJUaW1lb3V0KHRoaXMudGltZXIpLHRoaXMudGltZXI9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLl9yZXBlYXQoNDAsdCxpKX0sZSksdGhpcy5fc3Bpbih0KnRoaXMub3B0aW9ucy5zdGVwLGkpfSxfc3BpbjpmdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMudmFsdWUoKXx8MDt0aGlzLmNvdW50ZXJ8fCh0aGlzLmNvdW50ZXI9MSksaT10aGlzLl9hZGp1c3RWYWx1ZShpK2UqdGhpcy5faW5jcmVtZW50KHRoaXMuY291bnRlcikpLHRoaXMuc3Bpbm5pbmcmJnRoaXMuX3RyaWdnZXIoInNwaW4iLHQse3ZhbHVlOml9KT09PSExfHwodGhpcy5fdmFsdWUoaSksdGhpcy5jb3VudGVyKyspfSxfaW5jcmVtZW50OmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucy5pbmNyZW1lbnRhbDtyZXR1cm4gaT9lLmlzRnVuY3Rpb24oaSk/aSh0KTpNYXRoLmZsb29yKHQqdCp0LzVlNC10KnQvNTAwKzE3KnQvMjAwKzEpOjF9LF9wcmVjaXNpb246ZnVuY3Rpb24oKXt2YXIgZT10aGlzLl9wcmVjaXNpb25PZih0aGlzLm9wdGlvbnMuc3RlcCk7cmV0dXJuIG51bGwhPT10aGlzLm9wdGlvbnMubWluJiYoZT1NYXRoLm1heChlLHRoaXMuX3ByZWNpc2lvbk9mKHRoaXMub3B0aW9ucy5taW4pKSksZX0sX3ByZWNpc2lvbk9mOmZ1bmN0aW9uKGUpe3ZhciB0PSIiK2UsaT10LmluZGV4T2YoIi4iKTtyZXR1cm4tMT09PWk/MDp0Lmxlbmd0aC1pLTF9LF9hZGp1c3RWYWx1ZTpmdW5jdGlvbihlKXt2YXIgdCxpLHM9dGhpcy5vcHRpb25zO3JldHVybiB0PW51bGwhPT1zLm1pbj9zLm1pbjowLGk9ZS10LGk9TWF0aC5yb3VuZChpL3Muc3RlcCkqcy5zdGVwLGU9dCtpLGU9cGFyc2VGbG9hdChlLnRvRml4ZWQodGhpcy5fcHJlY2lzaW9uKCkpKSxudWxsIT09cy5tYXgmJmU+cy5tYXg/cy5tYXg6bnVsbCE9PXMubWluJiZzLm1pbj5lP3MubWluOmV9LF9zdG9wOmZ1bmN0aW9uKGUpe3RoaXMuc3Bpbm5pbmcmJihjbGVhclRpbWVvdXQodGhpcy50aW1lciksY2xlYXJUaW1lb3V0KHRoaXMubW91c2V3aGVlbFRpbWVyKSx0aGlzLmNvdW50ZXI9MCx0aGlzLnNwaW5uaW5nPSExLHRoaXMuX3RyaWdnZXIoInN0b3AiLGUpKX0sX3NldE9wdGlvbjpmdW5jdGlvbihlLHQpe2lmKCJjdWx0dXJlIj09PWV8fCJudW1iZXJGb3JtYXQiPT09ZSl7dmFyIGk9dGhpcy5fcGFyc2UodGhpcy5lbGVtZW50LnZhbCgpKTtyZXR1cm4gdGhpcy5vcHRpb25zW2VdPXQsdGhpcy5lbGVtZW50LnZhbCh0aGlzLl9mb3JtYXQoaSkpLHZvaWQgMH0oIm1heCI9PT1lfHwibWluIj09PWV8fCJzdGVwIj09PWUpJiYic3RyaW5nIj09dHlwZW9mIHQmJih0PXRoaXMuX3BhcnNlKHQpKSwiaWNvbnMiPT09ZSYmKHRoaXMuYnV0dG9ucy5maXJzdCgpLmZpbmQoIi51aS1pY29uIikucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmljb25zLnVwKS5hZGRDbGFzcyh0LnVwKSx0aGlzLmJ1dHRvbnMubGFzdCgpLmZpbmQoIi51aS1pY29uIikucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmljb25zLmRvd24pLmFkZENsYXNzKHQuZG93bikpLHRoaXMuX3N1cGVyKGUsdCksImRpc2FibGVkIj09PWUmJih0aGlzLndpZGdldCgpLnRvZ2dsZUNsYXNzKCJ1aS1zdGF0ZS1kaXNhYmxlZCIsISF0KSx0aGlzLmVsZW1lbnQucHJvcCgiZGlzYWJsZWQiLCEhdCksdGhpcy5idXR0b25zLmJ1dHRvbih0PyJkaXNhYmxlIjoiZW5hYmxlIikpfSxfc2V0T3B0aW9uczpoKGZ1bmN0aW9uKGUpe3RoaXMuX3N1cGVyKGUpfSksX3BhcnNlOmZ1bmN0aW9uKGUpe3JldHVybiJzdHJpbmciPT10eXBlb2YgZSYmIiIhPT1lJiYoZT13aW5kb3cuR2xvYmFsaXplJiZ0aGlzLm9wdGlvbnMubnVtYmVyRm9ybWF0P0dsb2JhbGl6ZS5wYXJzZUZsb2F0KGUsMTAsdGhpcy5vcHRpb25zLmN1bHR1cmUpOitlKSwiIj09PWV8fGlzTmFOKGUpP251bGw6ZX0sX2Zvcm1hdDpmdW5jdGlvbihlKXtyZXR1cm4iIj09PWU/IiI6d2luZG93Lkdsb2JhbGl6ZSYmdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdD9HbG9iYWxpemUuZm9ybWF0KGUsdGhpcy5vcHRpb25zLm51bWJlckZvcm1hdCx0aGlzLm9wdGlvbnMuY3VsdHVyZSk6ZX0sX3JlZnJlc2g6ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQuYXR0cih7ImFyaWEtdmFsdWVtaW4iOnRoaXMub3B0aW9ucy5taW4sImFyaWEtdmFsdWVtYXgiOnRoaXMub3B0aW9ucy5tYXgsImFyaWEtdmFsdWVub3ciOnRoaXMuX3BhcnNlKHRoaXMuZWxlbWVudC52YWwoKSl9KX0saXNWYWxpZDpmdW5jdGlvbigpe3ZhciBlPXRoaXMudmFsdWUoKTtyZXR1cm4gbnVsbD09PWU/ITE6ZT09PXRoaXMuX2FkanVzdFZhbHVlKGUpfSxfdmFsdWU6ZnVuY3Rpb24oZSx0KXt2YXIgaTsiIiE9PWUmJihpPXRoaXMuX3BhcnNlKGUpLG51bGwhPT1pJiYodHx8KGk9dGhpcy5fYWRqdXN0VmFsdWUoaSkpLGU9dGhpcy5fZm9ybWF0KGkpKSksdGhpcy5lbGVtZW50LnZhbChlKSx0aGlzLl9yZWZyZXNoKCl9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS1zcGlubmVyLWlucHV0IikucHJvcCgiZGlzYWJsZWQiLCExKS5yZW1vdmVBdHRyKCJhdXRvY29tcGxldGUiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigiYXJpYS12YWx1ZW1pbiIpLnJlbW92ZUF0dHIoImFyaWEtdmFsdWVtYXgiKS5yZW1vdmVBdHRyKCJhcmlhLXZhbHVlbm93IiksdGhpcy51aVNwaW5uZXIucmVwbGFjZVdpdGgodGhpcy5lbGVtZW50KX0sc3RlcFVwOmgoZnVuY3Rpb24oZSl7dGhpcy5fc3RlcFVwKGUpfSksX3N0ZXBVcDpmdW5jdGlvbihlKXt0aGlzLl9zdGFydCgpJiYodGhpcy5fc3BpbigoZXx8MSkqdGhpcy5vcHRpb25zLnN0ZXApLHRoaXMuX3N0b3AoKSl9LHN0ZXBEb3duOmgoZnVuY3Rpb24oZSl7dGhpcy5fc3RlcERvd24oZSl9KSxfc3RlcERvd246ZnVuY3Rpb24oZSl7dGhpcy5fc3RhcnQoKSYmKHRoaXMuX3NwaW4oKGV8fDEpKi10aGlzLm9wdGlvbnMuc3RlcCksdGhpcy5fc3RvcCgpKX0scGFnZVVwOmgoZnVuY3Rpb24oZSl7dGhpcy5fc3RlcFVwKChlfHwxKSp0aGlzLm9wdGlvbnMucGFnZSl9KSxwYWdlRG93bjpoKGZ1bmN0aW9uKGUpe3RoaXMuX3N0ZXBEb3duKChlfHwxKSp0aGlzLm9wdGlvbnMucGFnZSl9KSx2YWx1ZTpmdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oaCh0aGlzLl92YWx1ZSkuY2FsbCh0aGlzLGUpLHZvaWQgMCk6dGhpcy5fcGFyc2UodGhpcy5lbGVtZW50LnZhbCgpKX0sd2lkZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudWlTcGlubmVyfX0pLGUud2lkZ2V0KCJ1aS50YWJzIix7dmVyc2lvbjoiMS4xMS40IixkZWxheTozMDAsb3B0aW9uczp7YWN0aXZlOm51bGwsY29sbGFwc2libGU6ITEsZXZlbnQ6ImNsaWNrIixoZWlnaHRTdHlsZToiY29udGVudCIsaGlkZTpudWxsLHNob3c6bnVsbCxhY3RpdmF0ZTpudWxsLGJlZm9yZUFjdGl2YXRlOm51bGwsYmVmb3JlTG9hZDpudWxsLGxvYWQ6bnVsbH0sX2lzTG9jYWw6ZnVuY3Rpb24oKXt2YXIgZT0vIy4qJC87cmV0dXJuIGZ1bmN0aW9uKHQpe3ZhciBpLHM7dD10LmNsb25lTm9kZSghMSksaT10LmhyZWYucmVwbGFjZShlLCIiKSxzPWxvY2F0aW9uLmhyZWYucmVwbGFjZShlLCIiKTt0cnl7aT1kZWNvZGVVUklDb21wb25lbnQoaSl9Y2F0Y2gobil7fXRyeXtzPWRlY29kZVVSSUNvbXBvbmVudChzKX1jYXRjaChuKXt9cmV0dXJuIHQuaGFzaC5sZW5ndGg+MSYmaT09PXN9fSgpLF9jcmVhdGU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGk9dGhpcy5vcHRpb25zO3RoaXMucnVubmluZz0hMSx0aGlzLmVsZW1lbnQuYWRkQ2xhc3MoInVpLXRhYnMgdWktd2lkZ2V0IHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1hbGwiKS50b2dnbGVDbGFzcygidWktdGFicy1jb2xsYXBzaWJsZSIsaS5jb2xsYXBzaWJsZSksdGhpcy5fcHJvY2Vzc1RhYnMoKSxpLmFjdGl2ZT10aGlzLl9pbml0aWFsQWN0aXZlKCksZS5pc0FycmF5KGkuZGlzYWJsZWQpJiYoaS5kaXNhYmxlZD1lLnVuaXF1ZShpLmRpc2FibGVkLmNvbmNhdChlLm1hcCh0aGlzLnRhYnMuZmlsdGVyKCIudWktc3RhdGUtZGlzYWJsZWQiKSxmdW5jdGlvbihlKXtyZXR1cm4gdC50YWJzLmluZGV4KGUpfSkpKS5zb3J0KCkpLHRoaXMuYWN0aXZlPXRoaXMub3B0aW9ucy5hY3RpdmUhPT0hMSYmdGhpcy5hbmNob3JzLmxlbmd0aD90aGlzLl9maW5kQWN0aXZlKGkuYWN0aXZlKTplKCksdGhpcy5fcmVmcmVzaCgpLHRoaXMuYWN0aXZlLmxlbmd0aCYmdGhpcy5sb2FkKGkuYWN0aXZlKX0sX2luaXRpYWxBY3RpdmU6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuYWN0aXZlLGk9dGhpcy5vcHRpb25zLmNvbGxhcHNpYmxlLHM9bG9jYXRpb24uaGFzaC5zdWJzdHJpbmcoMSk7cmV0dXJuIG51bGw9PT10JiYocyYmdGhpcy50YWJzLmVhY2goZnVuY3Rpb24oaSxuKXtyZXR1cm4gZShuKS5hdHRyKCJhcmlhLWNvbnRyb2xzIik9PT1zPyh0PWksITEpOnZvaWQgMH0pLG51bGw9PT10JiYodD10aGlzLnRhYnMuaW5kZXgodGhpcy50YWJzLmZpbHRlcigiLnVpLXRhYnMtYWN0aXZlIikpKSwobnVsbD09PXR8fC0xPT09dCkmJih0PXRoaXMudGFicy5sZW5ndGg/MDohMSkpLHQhPT0hMSYmKHQ9dGhpcy50YWJzLmluZGV4KHRoaXMudGFicy5lcSh0KSksLTE9PT10JiYodD1pPyExOjApKSwhaSYmdD09PSExJiZ0aGlzLmFuY2hvcnMubGVuZ3RoJiYodD0wKSx0fSxfZ2V0Q3JlYXRlRXZlbnREYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3RhYjp0aGlzLmFjdGl2ZSxwYW5lbDp0aGlzLmFjdGl2ZS5sZW5ndGg/dGhpcy5fZ2V0UGFuZWxGb3JUYWIodGhpcy5hY3RpdmUpOmUoKX19LF90YWJLZXlkb3duOmZ1bmN0aW9uKHQpe3ZhciBpPWUodGhpcy5kb2N1bWVudFswXS5hY3RpdmVFbGVtZW50KS5jbG9zZXN0KCJsaSIpLHM9dGhpcy50YWJzLmluZGV4KGkpLG49ITA7aWYoIXRoaXMuX2hhbmRsZVBhZ2VOYXYodCkpe3N3aXRjaCh0LmtleUNvZGUpe2Nhc2UgZS51aS5rZXlDb2RlLlJJR0hUOmNhc2UgZS51aS5rZXlDb2RlLkRPV046cysrO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLlVQOmNhc2UgZS51aS5rZXlDb2RlLkxFRlQ6bj0hMSxzLS07YnJlYWs7Y2FzZSBlLnVpLmtleUNvZGUuRU5EOnM9dGhpcy5hbmNob3JzLmxlbmd0aC0xO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLkhPTUU6cz0wO2JyZWFrO2Nhc2UgZS51aS5rZXlDb2RlLlNQQUNFOnJldHVybiB0LnByZXZlbnREZWZhdWx0KCksY2xlYXJUaW1lb3V0KHRoaXMuYWN0aXZhdGluZyksdGhpcy5fYWN0aXZhdGUocyksdm9pZCAwO2Nhc2UgZS51aS5rZXlDb2RlLkVOVEVSOnJldHVybiB0LnByZXZlbnREZWZhdWx0KCksY2xlYXJUaW1lb3V0KHRoaXMuYWN0aXZhdGluZyksdGhpcy5fYWN0aXZhdGUocz09PXRoaXMub3B0aW9ucy5hY3RpdmU/ITE6cyksdm9pZCAwO2RlZmF1bHQ6cmV0dXJufXQucHJldmVudERlZmF1bHQoKSxjbGVhclRpbWVvdXQodGhpcy5hY3RpdmF0aW5nKSxzPXRoaXMuX2ZvY3VzTmV4dFRhYihzLG4pLHQuY3RybEtleXx8dC5tZXRhS2V5fHwoaS5hdHRyKCJhcmlhLXNlbGVjdGVkIiwiZmFsc2UiKSx0aGlzLnRhYnMuZXEocykuYXR0cigiYXJpYS1zZWxlY3RlZCIsInRydWUiKSx0aGlzLmFjdGl2YXRpbmc9dGhpcy5fZGVsYXkoZnVuY3Rpb24oKXt0aGlzLm9wdGlvbigiYWN0aXZlIixzKX0sdGhpcy5kZWxheSkpfX0sX3BhbmVsS2V5ZG93bjpmdW5jdGlvbih0KXt0aGlzLl9oYW5kbGVQYWdlTmF2KHQpfHx0LmN0cmxLZXkmJnQua2V5Q29kZT09PWUudWkua2V5Q29kZS5VUCYmKHQucHJldmVudERlZmF1bHQoKSx0aGlzLmFjdGl2ZS5mb2N1cygpKX0sX2hhbmRsZVBhZ2VOYXY6ZnVuY3Rpb24odCl7cmV0dXJuIHQuYWx0S2V5JiZ0LmtleUNvZGU9PT1lLnVpLmtleUNvZGUuUEFHRV9VUD8odGhpcy5fYWN0aXZhdGUodGhpcy5fZm9jdXNOZXh0VGFiKHRoaXMub3B0aW9ucy5hY3RpdmUtMSwhMSkpLCEwKTp0LmFsdEtleSYmdC5rZXlDb2RlPT09ZS51aS5rZXlDb2RlLlBBR0VfRE9XTj8odGhpcy5fYWN0aXZhdGUodGhpcy5fZm9jdXNOZXh0VGFiKHRoaXMub3B0aW9ucy5hY3RpdmUrMSwhMCkpLCEwKTp2b2lkIDB9LF9maW5kTmV4dFRhYjpmdW5jdGlvbih0LGkpe2Z1bmN0aW9uIHMoKXtyZXR1cm4gdD5uJiYodD0wKSwwPnQmJih0PW4pLHR9Zm9yKHZhciBuPXRoaXMudGFicy5sZW5ndGgtMTstMSE9PWUuaW5BcnJheShzKCksdGhpcy5vcHRpb25zLmRpc2FibGVkKTspdD1pP3QrMTp0LTE7cmV0dXJuIHR9LF9mb2N1c05leHRUYWI6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT10aGlzLl9maW5kTmV4dFRhYihlLHQpLHRoaXMudGFicy5lcShlKS5mb2N1cygpLGV9LF9zZXRPcHRpb246ZnVuY3Rpb24oZSx0KXtyZXR1cm4iYWN0aXZlIj09PWU/KHRoaXMuX2FjdGl2YXRlKHQpLHZvaWQgMCk6ImRpc2FibGVkIj09PWU/KHRoaXMuX3NldHVwRGlzYWJsZWQodCksdm9pZCAwKToodGhpcy5fc3VwZXIoZSx0KSwiY29sbGFwc2libGUiPT09ZSYmKHRoaXMuZWxlbWVudC50b2dnbGVDbGFzcygidWktdGFicy1jb2xsYXBzaWJsZSIsdCksdHx8dGhpcy5vcHRpb25zLmFjdGl2ZSE9PSExfHx0aGlzLl9hY3RpdmF0ZSgwKSksImV2ZW50Ij09PWUmJnRoaXMuX3NldHVwRXZlbnRzKHQpLCJoZWlnaHRTdHlsZSI9PT1lJiZ0aGlzLl9zZXR1cEhlaWdodFN0eWxlKHQpLHZvaWQgMCl9LF9zYW5pdGl6ZVNlbGVjdG9yOmZ1bmN0aW9uKGUpe3JldHVybiBlP2UucmVwbGFjZSgvWyEiJCUmJygpKissLlwvOjs8PT4/QFxbXF1cXmB7fH1+XS9nLCJcXCQmIik6IiJ9LHJlZnJlc2g6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMsaT10aGlzLnRhYmxpc3QuY2hpbGRyZW4oIjpoYXMoYVtocmVmXSkiKTt0LmRpc2FibGVkPWUubWFwKGkuZmlsdGVyKCIudWktc3RhdGUtZGlzYWJsZWQiKSxmdW5jdGlvbihlKXtyZXR1cm4gaS5pbmRleChlKX0pLHRoaXMuX3Byb2Nlc3NUYWJzKCksdC5hY3RpdmUhPT0hMSYmdGhpcy5hbmNob3JzLmxlbmd0aD90aGlzLmFjdGl2ZS5sZW5ndGgmJiFlLmNvbnRhaW5zKHRoaXMudGFibGlzdFswXSx0aGlzLmFjdGl2ZVswXSk/dGhpcy50YWJzLmxlbmd0aD09PXQuZGlzYWJsZWQubGVuZ3RoPyh0LmFjdGl2ZT0hMSx0aGlzLmFjdGl2ZT1lKCkpOnRoaXMuX2FjdGl2YXRlKHRoaXMuX2ZpbmROZXh0VGFiKE1hdGgubWF4KDAsdC5hY3RpdmUtMSksITEpKTp0LmFjdGl2ZT10aGlzLnRhYnMuaW5kZXgodGhpcy5hY3RpdmUpOih0LmFjdGl2ZT0hMSx0aGlzLmFjdGl2ZT1lKCkpLHRoaXMuX3JlZnJlc2goKX0sX3JlZnJlc2g6ZnVuY3Rpb24oKXt0aGlzLl9zZXR1cERpc2FibGVkKHRoaXMub3B0aW9ucy5kaXNhYmxlZCksdGhpcy5fc2V0dXBFdmVudHModGhpcy5vcHRpb25zLmV2ZW50KSx0aGlzLl9zZXR1cEhlaWdodFN0eWxlKHRoaXMub3B0aW9ucy5oZWlnaHRTdHlsZSksdGhpcy50YWJzLm5vdCh0aGlzLmFjdGl2ZSkuYXR0cih7ImFyaWEtc2VsZWN0ZWQiOiJmYWxzZSIsImFyaWEtZXhwYW5kZWQiOiJmYWxzZSIsdGFiSW5kZXg6LTF9KSx0aGlzLnBhbmVscy5ub3QodGhpcy5fZ2V0UGFuZWxGb3JUYWIodGhpcy5hY3RpdmUpKS5oaWRlKCkuYXR0cih7ImFyaWEtaGlkZGVuIjoidHJ1ZSJ9KSx0aGlzLmFjdGl2ZS5sZW5ndGg/KHRoaXMuYWN0aXZlLmFkZENsYXNzKCJ1aS10YWJzLWFjdGl2ZSB1aS1zdGF0ZS1hY3RpdmUiKS5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6InRydWUiLCJhcmlhLWV4cGFuZGVkIjoidHJ1ZSIsdGFiSW5kZXg6MH0pLHRoaXMuX2dldFBhbmVsRm9yVGFiKHRoaXMuYWN0aXZlKS5zaG93KCkuYXR0cih7ImFyaWEtaGlkZGVuIjoiZmFsc2UifSkpOnRoaXMudGFicy5lcSgwKS5hdHRyKCJ0YWJJbmRleCIsMCl9LF9wcm9jZXNzVGFiczpmdW5jdGlvbigpe3ZhciB0PXRoaXMsaT10aGlzLnRhYnMscz10aGlzLmFuY2hvcnMsbj10aGlzLnBhbmVsczt0aGlzLnRhYmxpc3Q9dGhpcy5fZ2V0TGlzdCgpLmFkZENsYXNzKCJ1aS10YWJzLW5hdiB1aS1oZWxwZXItcmVzZXQgdWktaGVscGVyLWNsZWFyZml4IHVpLXdpZGdldC1oZWFkZXIgdWktY29ybmVyLWFsbCIpLmF0dHIoInJvbGUiLCJ0YWJsaXN0IikuZGVsZWdhdGUoIj4gbGkiLCJtb3VzZWRvd24iK3RoaXMuZXZlbnROYW1lc3BhY2UsZnVuY3Rpb24odCl7ZSh0aGlzKS5pcygiLnVpLXN0YXRlLWRpc2FibGVkIikmJnQucHJldmVudERlZmF1bHQoKX0pLmRlbGVnYXRlKCIudWktdGFicy1hbmNob3IiLCJmb2N1cyIrdGhpcy5ldmVudE5hbWVzcGFjZSxmdW5jdGlvbigpe2UodGhpcykuY2xvc2VzdCgibGkiKS5pcygiLnVpLXN0YXRlLWRpc2FibGVkIikmJnRoaXMuYmx1cigpfSksdGhpcy50YWJzPXRoaXMudGFibGlzdC5maW5kKCI+IGxpOmhhcyhhW2hyZWZdKSIpLmFkZENsYXNzKCJ1aS1zdGF0ZS1kZWZhdWx0IHVpLWNvcm5lci10b3AiKS5hdHRyKHtyb2xlOiJ0YWIiLHRhYkluZGV4Oi0xfSksdGhpcy5hbmNob3JzPXRoaXMudGFicy5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gZSgiYSIsdGhpcylbMF19KS5hZGRDbGFzcygidWktdGFicy1hbmNob3IiKS5hdHRyKHtyb2xlOiJwcmVzZW50YXRpb24iLHRhYkluZGV4Oi0xfSksdGhpcy5wYW5lbHM9ZSgpLHRoaXMuYW5jaG9ycy5lYWNoKGZ1bmN0aW9uKGkscyl7dmFyIG4sYSxvLHI9ZShzKS51bmlxdWVJZCgpLmF0dHIoImlkIiksaD1lKHMpLmNsb3Nlc3QoImxpIiksbD1oLmF0dHIoImFyaWEtY29udHJvbHMiKTt0Ll9pc0xvY2FsKHMpPyhuPXMuaGFzaCxvPW4uc3Vic3RyaW5nKDEpLGE9dC5lbGVtZW50LmZpbmQodC5fc2FuaXRpemVTZWxlY3RvcihuKSkpOihvPWguYXR0cigiYXJpYS1jb250cm9scyIpfHxlKHt9KS51bmlxdWVJZCgpWzBdLmlkLG49IiMiK28sYT10LmVsZW1lbnQuZmluZChuKSxhLmxlbmd0aHx8KGE9dC5fY3JlYXRlUGFuZWwobyksYS5pbnNlcnRBZnRlcih0LnBhbmVsc1tpLTFdfHx0LnRhYmxpc3QpKSxhLmF0dHIoImFyaWEtbGl2ZSIsInBvbGl0ZSIpKSxhLmxlbmd0aCYmKHQucGFuZWxzPXQucGFuZWxzLmFkZChhKSksbCYmaC5kYXRhKCJ1aS10YWJzLWFyaWEtY29udHJvbHMiLGwpLGguYXR0cih7ImFyaWEtY29udHJvbHMiOm8sImFyaWEtbGFiZWxsZWRieSI6cn0pLGEuYXR0cigiYXJpYS1sYWJlbGxlZGJ5IixyKX0pLHRoaXMucGFuZWxzLmFkZENsYXNzKCJ1aS10YWJzLXBhbmVsIHVpLXdpZGdldC1jb250ZW50IHVpLWNvcm5lci1ib3R0b20iKS5hdHRyKCJyb2xlIiwidGFicGFuZWwiKSxpJiYodGhpcy5fb2ZmKGkubm90KHRoaXMudGFicykpLHRoaXMuX29mZihzLm5vdCh0aGlzLmFuY2hvcnMpKSx0aGlzLl9vZmYobi5ub3QodGhpcy5wYW5lbHMpKSl9LF9nZXRMaXN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFibGlzdHx8dGhpcy5lbGVtZW50LmZpbmQoIm9sLHVsIikuZXEoMCl9LF9jcmVhdGVQYW5lbDpmdW5jdGlvbih0KXtyZXR1cm4gZSgiPGRpdj4iKS5hdHRyKCJpZCIsdCkuYWRkQ2xhc3MoInVpLXRhYnMtcGFuZWwgdWktd2lkZ2V0LWNvbnRlbnQgdWktY29ybmVyLWJvdHRvbSIpLmRhdGEoInVpLXRhYnMtZGVzdHJveSIsITApfSxfc2V0dXBEaXNhYmxlZDpmdW5jdGlvbih0KXtlLmlzQXJyYXkodCkmJih0Lmxlbmd0aD90Lmxlbmd0aD09PXRoaXMuYW5jaG9ycy5sZW5ndGgmJih0PSEwKTp0PSExKTtmb3IodmFyIGkscz0wO2k9dGhpcy50YWJzW3NdO3MrKyl0PT09ITB8fC0xIT09ZS5pbkFycmF5KHMsdCk/ZShpKS5hZGRDbGFzcygidWktc3RhdGUtZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwidHJ1ZSIpOmUoaSkucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIikucmVtb3ZlQXR0cigiYXJpYS1kaXNhYmxlZCIpO3RoaXMub3B0aW9ucy5kaXNhYmxlZD10fSxfc2V0dXBFdmVudHM6ZnVuY3Rpb24odCl7dmFyIGk9e307dCYmZS5lYWNoKHQuc3BsaXQoIiAiKSxmdW5jdGlvbihlLHQpe2lbdF09Il9ldmVudEhhbmRsZXIifSksdGhpcy5fb2ZmKHRoaXMuYW5jaG9ycy5hZGQodGhpcy50YWJzKS5hZGQodGhpcy5wYW5lbHMpKSx0aGlzLl9vbighMCx0aGlzLmFuY2hvcnMse2NsaWNrOmZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKX19KSx0aGlzLl9vbih0aGlzLmFuY2hvcnMsaSksdGhpcy5fb24odGhpcy50YWJzLHtrZXlkb3duOiJfdGFiS2V5ZG93biJ9KSx0aGlzLl9vbih0aGlzLnBhbmVscyx7a2V5ZG93bjoiX3BhbmVsS2V5ZG93biJ9KSx0aGlzLl9mb2N1c2FibGUodGhpcy50YWJzKSx0aGlzLl9ob3ZlcmFibGUodGhpcy50YWJzKX0sX3NldHVwSGVpZ2h0U3R5bGU6ZnVuY3Rpb24odCl7dmFyIGkscz10aGlzLmVsZW1lbnQucGFyZW50KCk7ImZpbGwiPT09dD8oaT1zLmhlaWdodCgpLGktPXRoaXMuZWxlbWVudC5vdXRlckhlaWdodCgpLXRoaXMuZWxlbWVudC5oZWlnaHQoKSx0aGlzLmVsZW1lbnQuc2libGluZ3MoIjp2aXNpYmxlIikuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUodGhpcykscz10LmNzcygicG9zaXRpb24iKTsiYWJzb2x1dGUiIT09cyYmImZpeGVkIiE9PXMmJihpLT10Lm91dGVySGVpZ2h0KCEwKSl9KSx0aGlzLmVsZW1lbnQuY2hpbGRyZW4oKS5ub3QodGhpcy5wYW5lbHMpLmVhY2goZnVuY3Rpb24oKXtpLT1lKHRoaXMpLm91dGVySGVpZ2h0KCEwKX0pLHRoaXMucGFuZWxzLmVhY2goZnVuY3Rpb24oKXtlKHRoaXMpLmhlaWdodChNYXRoLm1heCgwLGktZSh0aGlzKS5pbm5lckhlaWdodCgpK2UodGhpcykuaGVpZ2h0KCkpKX0pLmNzcygib3ZlcmZsb3ciLCJhdXRvIikpOiJhdXRvIj09PXQmJihpPTAsdGhpcy5wYW5lbHMuZWFjaChmdW5jdGlvbigpe2k9TWF0aC5tYXgoaSxlKHRoaXMpLmhlaWdodCgiIikuaGVpZ2h0KCkpfSkuaGVpZ2h0KGkpKX0sX2V2ZW50SGFuZGxlcjpmdW5jdGlvbih0KXt2YXIgaT10aGlzLm9wdGlvbnMscz10aGlzLmFjdGl2ZSxuPWUodC5jdXJyZW50VGFyZ2V0KSxhPW4uY2xvc2VzdCgibGkiKSxvPWFbMF09PT1zWzBdLHI9byYmaS5jb2xsYXBzaWJsZSxoPXI/ZSgpOnRoaXMuX2dldFBhbmVsRm9yVGFiKGEpLGw9cy5sZW5ndGg/dGhpcy5fZ2V0UGFuZWxGb3JUYWIocyk6ZSgpLHU9e29sZFRhYjpzLG9sZFBhbmVsOmwsbmV3VGFiOnI/ZSgpOmEsbmV3UGFuZWw6aH07dC5wcmV2ZW50RGVmYXVsdCgpLGEuaGFzQ2xhc3MoInVpLXN0YXRlLWRpc2FibGVkIil8fGEuaGFzQ2xhc3MoInVpLXRhYnMtbG9hZGluZyIpfHx0aGlzLnJ1bm5pbmd8fG8mJiFpLmNvbGxhcHNpYmxlfHx0aGlzLl90cmlnZ2VyKCJiZWZvcmVBY3RpdmF0ZSIsdCx1KT09PSExfHwoaS5hY3RpdmU9cj8hMTp0aGlzLnRhYnMuaW5kZXgoYSksdGhpcy5hY3RpdmU9bz9lKCk6YSx0aGlzLnhociYmdGhpcy54aHIuYWJvcnQoKSxsLmxlbmd0aHx8aC5sZW5ndGh8fGUuZXJyb3IoImpRdWVyeSBVSSBUYWJzOiBNaXNtYXRjaGluZyBmcmFnbWVudCBpZGVudGlmaWVyLiIpLGgubGVuZ3RoJiZ0aGlzLmxvYWQodGhpcy50YWJzLmluZGV4KGEpLHQpLHRoaXMuX3RvZ2dsZSh0LHUpKX0sX3RvZ2dsZTpmdW5jdGlvbih0LGkpe2Z1bmN0aW9uIHMoKXthLnJ1bm5pbmc9ITEsYS5fdHJpZ2dlcigiYWN0aXZhdGUiLHQsaSl9ZnVuY3Rpb24gbigpe2kubmV3VGFiLmNsb3Nlc3QoImxpIikuYWRkQ2xhc3MoInVpLXRhYnMtYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSIpLG8ubGVuZ3RoJiZhLm9wdGlvbnMuc2hvdz9hLl9zaG93KG8sYS5vcHRpb25zLnNob3cscyk6KG8uc2hvdygpLHMoKSl9dmFyIGE9dGhpcyxvPWkubmV3UGFuZWwscj1pLm9sZFBhbmVsO3RoaXMucnVubmluZz0hMCxyLmxlbmd0aCYmdGhpcy5vcHRpb25zLmhpZGU/dGhpcy5faGlkZShyLHRoaXMub3B0aW9ucy5oaWRlLGZ1bmN0aW9uKCl7aS5vbGRUYWIuY2xvc2VzdCgibGkiKS5yZW1vdmVDbGFzcygidWktdGFicy1hY3RpdmUgdWktc3RhdGUtYWN0aXZlIiksbigpfSk6KGkub2xkVGFiLmNsb3Nlc3QoImxpIikucmVtb3ZlQ2xhc3MoInVpLXRhYnMtYWN0aXZlIHVpLXN0YXRlLWFjdGl2ZSIpLHIuaGlkZSgpLG4oKSksci5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKSxpLm9sZFRhYi5hdHRyKHsiYXJpYS1zZWxlY3RlZCI6ImZhbHNlIiwiYXJpYS1leHBhbmRlZCI6ImZhbHNlIn0pLG8ubGVuZ3RoJiZyLmxlbmd0aD9pLm9sZFRhYi5hdHRyKCJ0YWJJbmRleCIsLTEpOm8ubGVuZ3RoJiZ0aGlzLnRhYnMuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIDA9PT1lKHRoaXMpLmF0dHIoInRhYkluZGV4Iil9KS5hdHRyKCJ0YWJJbmRleCIsLTEpLG8uYXR0cigiYXJpYS1oaWRkZW4iLCJmYWxzZSIpLGkubmV3VGFiLmF0dHIoeyJhcmlhLXNlbGVjdGVkIjoidHJ1ZSIsImFyaWEtZXhwYW5kZWQiOiJ0cnVlIix0YWJJbmRleDowfSl9LF9hY3RpdmF0ZTpmdW5jdGlvbih0KXt2YXIgaSxzPXRoaXMuX2ZpbmRBY3RpdmUodCk7c1swXSE9PXRoaXMuYWN0aXZlWzBdJiYocy5sZW5ndGh8fChzPXRoaXMuYWN0aXZlKSxpPXMuZmluZCgiLnVpLXRhYnMtYW5jaG9yIilbMF0sdGhpcy5fZXZlbnRIYW5kbGVyKHt0YXJnZXQ6aSxjdXJyZW50VGFyZ2V0OmkscHJldmVudERlZmF1bHQ6ZS5ub29wfSkpfSxfZmluZEFjdGl2ZTpmdW5jdGlvbih0KXtyZXR1cm4gdD09PSExP2UoKTp0aGlzLnRhYnMuZXEodCl9LF9nZXRJbmRleDpmdW5jdGlvbihlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGUmJihlPXRoaXMuYW5jaG9ycy5pbmRleCh0aGlzLmFuY2hvcnMuZmlsdGVyKCJbaHJlZiQ9JyIrZSsiJ10iKSkpLGV9LF9kZXN0cm95OmZ1bmN0aW9uKCl7dGhpcy54aHImJnRoaXMueGhyLmFib3J0KCksdGhpcy5lbGVtZW50LnJlbW92ZUNsYXNzKCJ1aS10YWJzIHVpLXdpZGdldCB1aS13aWRnZXQtY29udGVudCB1aS1jb3JuZXItYWxsIHVpLXRhYnMtY29sbGFwc2libGUiKSx0aGlzLnRhYmxpc3QucmVtb3ZlQ2xhc3MoInVpLXRhYnMtbmF2IHVpLWhlbHBlci1yZXNldCB1aS1oZWxwZXItY2xlYXJmaXggdWktd2lkZ2V0LWhlYWRlciB1aS1jb3JuZXItYWxsIikucmVtb3ZlQXR0cigicm9sZSIpLHRoaXMuYW5jaG9ycy5yZW1vdmVDbGFzcygidWktdGFicy1hbmNob3IiKS5yZW1vdmVBdHRyKCJyb2xlIikucmVtb3ZlQXR0cigidGFiSW5kZXgiKS5yZW1vdmVVbmlxdWVJZCgpLHRoaXMudGFibGlzdC51bmJpbmQodGhpcy5ldmVudE5hbWVzcGFjZSksdGhpcy50YWJzLmFkZCh0aGlzLnBhbmVscykuZWFjaChmdW5jdGlvbigpe2UuZGF0YSh0aGlzLCJ1aS10YWJzLWRlc3Ryb3kiKT9lKHRoaXMpLnJlbW92ZSgpOmUodGhpcykucmVtb3ZlQ2xhc3MoInVpLXN0YXRlLWRlZmF1bHQgdWktc3RhdGUtYWN0aXZlIHVpLXN0YXRlLWRpc2FibGVkIHVpLWNvcm5lci10b3AgdWktY29ybmVyLWJvdHRvbSB1aS13aWRnZXQtY29udGVudCB1aS10YWJzLWFjdGl2ZSB1aS10YWJzLXBhbmVsIikucmVtb3ZlQXR0cigidGFiSW5kZXgiKS5yZW1vdmVBdHRyKCJhcmlhLWxpdmUiKS5yZW1vdmVBdHRyKCJhcmlhLWJ1c3kiKS5yZW1vdmVBdHRyKCJhcmlhLXNlbGVjdGVkIikucmVtb3ZlQXR0cigiYXJpYS1sYWJlbGxlZGJ5IikucmVtb3ZlQXR0cigiYXJpYS1oaWRkZW4iKS5yZW1vdmVBdHRyKCJhcmlhLWV4cGFuZGVkIikucmVtb3ZlQXR0cigicm9sZSIpfSksdGhpcy50YWJzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLGk9dC5kYXRhKCJ1aS10YWJzLWFyaWEtY29udHJvbHMiKTtpP3QuYXR0cigiYXJpYS1jb250cm9scyIsaSkucmVtb3ZlRGF0YSgidWktdGFicy1hcmlhLWNvbnRyb2xzIik6dC5yZW1vdmVBdHRyKCJhcmlhLWNvbnRyb2xzIil9KSx0aGlzLnBhbmVscy5zaG93KCksImNvbnRlbnQiIT09dGhpcy5vcHRpb25zLmhlaWdodFN0eWxlJiZ0aGlzLnBhbmVscy5jc3MoImhlaWdodCIsIiIpfSxlbmFibGU6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5vcHRpb25zLmRpc2FibGVkO2khPT0hMSYmKHZvaWQgMD09PXQ/aT0hMToodD10aGlzLl9nZXRJbmRleCh0KSxpPWUuaXNBcnJheShpKT9lLm1hcChpLGZ1bmN0aW9uKGUpe3JldHVybiBlIT09dD9lOm51bGx9KTplLm1hcCh0aGlzLnRhYnMsZnVuY3Rpb24oZSxpKXtyZXR1cm4gaSE9PXQ/aTpudWxsfSkpLHRoaXMuX3NldHVwRGlzYWJsZWQoaSkpfSxkaXNhYmxlOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMub3B0aW9ucy5kaXNhYmxlZDtpZihpIT09ITApe2lmKHZvaWQgMD09PXQpaT0hMDtlbHNle2lmKHQ9dGhpcy5fZ2V0SW5kZXgodCksLTEhPT1lLmluQXJyYXkodCxpKSlyZXR1cm47aT1lLmlzQXJyYXkoaSk/ZS5tZXJnZShbdF0saSkuc29ydCgpOlt0XX10aGlzLl9zZXR1cERpc2FibGVkKGkpfX0sbG9hZDpmdW5jdGlvbih0LGkpe3Q9dGhpcy5fZ2V0SW5kZXgodCk7dmFyIHM9dGhpcyxuPXRoaXMudGFicy5lcSh0KSxhPW4uZmluZCgiLnVpLXRhYnMtYW5jaG9yIiksbz10aGlzLl9nZXRQYW5lbEZvclRhYihuKSxyPXt0YWI6bixwYW5lbDpvfSxoPWZ1bmN0aW9uKGUsdCl7ImFib3J0Ij09PXQmJnMucGFuZWxzLnN0b3AoITEsITApLG4ucmVtb3ZlQ2xhc3MoInVpLXRhYnMtbG9hZGluZyIpLG8ucmVtb3ZlQXR0cigiYXJpYS1idXN5IiksZT09PXMueGhyJiZkZWxldGUgcy54aHJ9O3RoaXMuX2lzTG9jYWwoYVswXSl8fCh0aGlzLnhocj1lLmFqYXgodGhpcy5fYWpheFNldHRpbmdzKGEsaSxyKSksdGhpcy54aHImJiJjYW5jZWxlZCIhPT10aGlzLnhoci5zdGF0dXNUZXh0JiYobi5hZGRDbGFzcygidWktdGFicy1sb2FkaW5nIiksby5hdHRyKCJhcmlhLWJ1c3kiLCJ0cnVlIiksdGhpcy54aHIuZG9uZShmdW5jdGlvbihlLHQsbil7c2V0VGltZW91dChmdW5jdGlvbigpe28uaHRtbChlKSxzLl90cmlnZ2VyKCJsb2FkIixpLHIpLGgobix0KX0sMSl9KS5mYWlsKGZ1bmN0aW9uKGUsdCl7c2V0VGltZW91dChmdW5jdGlvbigpe2goZSx0KX0sMSl9KSkpfSxfYWpheFNldHRpbmdzOmZ1bmN0aW9uKHQsaSxzKXt2YXIgbj10aGlzO3JldHVybnt1cmw6dC5hdHRyKCJocmVmIiksYmVmb3JlU2VuZDpmdW5jdGlvbih0LGEpe3JldHVybiBuLl90cmlnZ2VyKCJiZWZvcmVMb2FkIixpLGUuZXh0ZW5kKHtqcVhIUjp0LGFqYXhTZXR0aW5nczphfSxzKSl9fX0sX2dldFBhbmVsRm9yVGFiOmZ1bmN0aW9uKHQpe3ZhciBpPWUodCkuYXR0cigiYXJpYS1jb250cm9scyIpO3JldHVybiB0aGlzLmVsZW1lbnQuZmluZCh0aGlzLl9zYW5pdGl6ZVNlbGVjdG9yKCIjIitpKSl9fSksZS53aWRnZXQoInVpLnRvb2x0aXAiLHt2ZXJzaW9uOiIxLjExLjQiLG9wdGlvbnM6e2NvbnRlbnQ6ZnVuY3Rpb24oKXt2YXIgdD1lKHRoaXMpLmF0dHIoInRpdGxlIil8fCIiO3JldHVybiBlKCI8YT4iKS50ZXh0KHQpLmh0bWwoKX0saGlkZTohMCxpdGVtczoiW3RpdGxlXTpub3QoW2Rpc2FibGVkXSkiLHBvc2l0aW9uOntteToibGVmdCB0b3ArMTUiLGF0OiJsZWZ0IGJvdHRvbSIsY29sbGlzaW9uOiJmbGlwZml0IGZsaXAifSxzaG93OiEwLHRvb2x0aXBDbGFzczpudWxsLHRyYWNrOiExLGNsb3NlOm51bGwsb3BlbjpudWxsfSxfYWRkRGVzY3JpYmVkQnk6ZnVuY3Rpb24odCxpKXt2YXIgcz0odC5hdHRyKCJhcmlhLWRlc2NyaWJlZGJ5Iil8fCIiKS5zcGxpdCgvXHMrLyk7cy5wdXNoKGkpLHQuZGF0YSgidWktdG9vbHRpcC1pZCIsaSkuYXR0cigiYXJpYS1kZXNjcmliZWRieSIsZS50cmltKHMuam9pbigiICIpKSl9LF9yZW1vdmVEZXNjcmliZWRCeTpmdW5jdGlvbih0KXt2YXIgaT10LmRhdGEoInVpLXRvb2x0aXAtaWQiKSxzPSh0LmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKXx8IiIpLnNwbGl0KC9ccysvKSxuPWUuaW5BcnJheShpLHMpOy0xIT09biYmcy5zcGxpY2UobiwxKSx0LnJlbW92ZURhdGEoInVpLXRvb2x0aXAtaWQiKSxzPWUudHJpbShzLmpvaW4oIiAiKSkscz90LmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiLHMpOnQucmVtb3ZlQXR0cigiYXJpYS1kZXNjcmliZWRieSIpfSxfY3JlYXRlOmZ1bmN0aW9uKCl7dGhpcy5fb24oe21vdXNlb3Zlcjoib3BlbiIsZm9jdXNpbjoib3BlbiJ9KSx0aGlzLnRvb2x0aXBzPXt9LHRoaXMucGFyZW50cz17fSx0aGlzLm9wdGlvbnMuZGlzYWJsZWQmJnRoaXMuX2Rpc2FibGUoKSx0aGlzLmxpdmVSZWdpb249ZSgiPGRpdj4iKS5hdHRyKHtyb2xlOiJsb2ciLCJhcmlhLWxpdmUiOiJhc3NlcnRpdmUiLCJhcmlhLXJlbGV2YW50IjoiYWRkaXRpb25zIn0pLmFkZENsYXNzKCJ1aS1oZWxwZXItaGlkZGVuLWFjY2Vzc2libGUiKS5hcHBlbmRUbyh0aGlzLmRvY3VtZW50WzBdLmJvZHkpfSxfc2V0T3B0aW9uOmZ1bmN0aW9uKHQsaSl7dmFyIHM9dGhpcztyZXR1cm4iZGlzYWJsZWQiPT09dD8odGhpc1tpPyJfZGlzYWJsZSI6Il9lbmFibGUiXSgpLHRoaXMub3B0aW9uc1t0XT1pLHZvaWQgMCk6KHRoaXMuX3N1cGVyKHQsaSksImNvbnRlbnQiPT09dCYmZS5lYWNoKHRoaXMudG9vbHRpcHMsZnVuY3Rpb24oZSx0KXtzLl91cGRhdGVDb250ZW50KHQuZWxlbWVudCl9KSx2b2lkIDApfSxfZGlzYWJsZTpmdW5jdGlvbigpe3ZhciB0PXRoaXM7ZS5lYWNoKHRoaXMudG9vbHRpcHMsZnVuY3Rpb24oaSxzKXt2YXIgbj1lLkV2ZW50KCJibHVyIik7bi50YXJnZXQ9bi5jdXJyZW50VGFyZ2V0PXMuZWxlbWVudFswXSx0LmNsb3NlKG4sITApfSksdGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKS5hZGRCYWNrKCkuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUodGhpcyk7dC5pcygiW3RpdGxlXSIpJiZ0LmRhdGEoInVpLXRvb2x0aXAtdGl0bGUiLHQuYXR0cigidGl0bGUiKSkucmVtb3ZlQXR0cigidGl0bGUiKX0pfSxfZW5hYmxlOmZ1bmN0aW9uKCl7dGhpcy5lbGVtZW50LmZpbmQodGhpcy5vcHRpb25zLml0ZW1zKS5hZGRCYWNrKCkuZWFjaChmdW5jdGlvbigpe3ZhciB0PWUodGhpcyk7dC5kYXRhKCJ1aS10b29sdGlwLXRpdGxlIikmJnQuYXR0cigidGl0bGUiLHQuZGF0YSgidWktdG9vbHRpcC10aXRsZSIpKX0pfSxvcGVuOmZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMscz1lKHQ/dC50YXJnZXQ6dGhpcy5lbGVtZW50KS5jbG9zZXN0KHRoaXMub3B0aW9ucy5pdGVtcyk7cy5sZW5ndGgmJiFzLmRhdGEoInVpLXRvb2x0aXAtaWQiKSYmKHMuYXR0cigidGl0bGUiKSYmcy5kYXRhKCJ1aS10b29sdGlwLXRpdGxlIixzLmF0dHIoInRpdGxlIikpLHMuZGF0YSgidWktdG9vbHRpcC1vcGVuIiwhMCksdCYmIm1vdXNlb3ZlciI9PT10LnR5cGUmJnMucGFyZW50cygpLmVhY2goZnVuY3Rpb24oKXt2YXIgdCxzPWUodGhpcyk7cy5kYXRhKCJ1aS10b29sdGlwLW9wZW4iKSYmKHQ9ZS5FdmVudCgiYmx1ciIpLHQudGFyZ2V0PXQuY3VycmVudFRhcmdldD10aGlzLGkuY2xvc2UodCwhMCkpLHMuYXR0cigidGl0bGUiKSYmKHMudW5pcXVlSWQoKSxpLnBhcmVudHNbdGhpcy5pZF09e2VsZW1lbnQ6dGhpcyx0aXRsZTpzLmF0dHIoInRpdGxlIil9LHMuYXR0cigidGl0bGUiLCIiKSl9KSx0aGlzLl9yZWdpc3RlckNsb3NlSGFuZGxlcnModCxzKSx0aGlzLl91cGRhdGVDb250ZW50KHMsdCkpfSxfdXBkYXRlQ29udGVudDpmdW5jdGlvbihlLHQpe3ZhciBpLHM9dGhpcy5vcHRpb25zLmNvbnRlbnQsbj10aGlzLGE9dD90LnR5cGU6bnVsbDtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHM/dGhpcy5fb3Blbih0LGUscyk6KGk9cy5jYWxsKGVbMF0sZnVuY3Rpb24oaSl7bi5fZGVsYXkoZnVuY3Rpb24oKXtlLmRhdGEoInVpLXRvb2x0aXAtb3BlbiIpJiYodCYmKHQudHlwZT1hKSx0aGlzLl9vcGVuKHQsZSxpKSl9KX0pLGkmJnRoaXMuX29wZW4odCxlLGkpLHZvaWQgMCl9LF9vcGVuOmZ1bmN0aW9uKHQsaSxzKXtmdW5jdGlvbiBuKGUpe2wub2Y9ZSxvLmlzKCI6aGlkZGVuIil8fG8ucG9zaXRpb24obCl9dmFyIGEsbyxyLGgsbD1lLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMucG9zaXRpb24pO2lmKHMpe2lmKGE9dGhpcy5fZmluZChpKSlyZXR1cm4gYS50b29sdGlwLmZpbmQoIi51aS10b29sdGlwLWNvbnRlbnQiKS5odG1sKHMpLHZvaWQgMDtpLmlzKCJbdGl0bGVdIikmJih0JiYibW91c2VvdmVyIj09PXQudHlwZT9pLmF0dHIoInRpdGxlIiwiIik6aS5yZW1vdmVBdHRyKCJ0aXRsZSIpKSxhPXRoaXMuX3Rvb2x0aXAoaSksbz1hLnRvb2x0aXAsdGhpcy5fYWRkRGVzY3JpYmVkQnkoaSxvLmF0dHIoImlkIikpLG8uZmluZCgiLnVpLXRvb2x0aXAtY29udGVudCIpLmh0bWwocyksdGhpcy5saXZlUmVnaW9uLmNoaWxkcmVuKCkuaGlkZSgpLHMuY2xvbmU/KGg9cy5jbG9uZSgpLGgucmVtb3ZlQXR0cigiaWQiKS5maW5kKCJbaWRdIikucmVtb3ZlQXR0cigiaWQiKSk6aD1zLGUoIjxkaXY+IikuaHRtbChoKS5hcHBlbmRUbyh0aGlzLmxpdmVSZWdpb24pLHRoaXMub3B0aW9ucy50cmFjayYmdCYmL15tb3VzZS8udGVzdCh0LnR5cGUpPyh0aGlzLl9vbih0aGlzLmRvY3VtZW50LHttb3VzZW1vdmU6bn0pLG4odCkpOm8ucG9zaXRpb24oZS5leHRlbmQoe29mOml9LHRoaXMub3B0aW9ucy5wb3NpdGlvbikpLG8uaGlkZSgpLHRoaXMuX3Nob3cobyx0aGlzLm9wdGlvbnMuc2hvdyksdGhpcy5vcHRpb25zLnNob3cmJnRoaXMub3B0aW9ucy5zaG93LmRlbGF5JiYocj10aGlzLmRlbGF5ZWRTaG93PXNldEludGVydmFsKGZ1bmN0aW9uKCl7by5pcygiOnZpc2libGUiKSYmKG4obC5vZiksY2xlYXJJbnRlcnZhbChyKSl9LGUuZnguaW50ZXJ2YWwpKSx0aGlzLl90cmlnZ2VyKCJvcGVuIix0LHt0b29sdGlwOm99KX19LF9yZWdpc3RlckNsb3NlSGFuZGxlcnM6ZnVuY3Rpb24odCxpKXt2YXIgcz17a2V5dXA6ZnVuY3Rpb24odCl7aWYodC5rZXlDb2RlPT09ZS51aS5rZXlDb2RlLkVTQ0FQRSl7dmFyIHM9ZS5FdmVudCh0KTtzLmN1cnJlbnRUYXJnZXQ9aVswXSx0aGlzLmNsb3NlKHMsITApfX19O2lbMF0hPT10aGlzLmVsZW1lbnRbMF0mJihzLnJlbW92ZT1mdW5jdGlvbigpe3RoaXMuX3JlbW92ZVRvb2x0aXAodGhpcy5fZmluZChpKS50b29sdGlwKX0pLHQmJiJtb3VzZW92ZXIiIT09dC50eXBlfHwocy5tb3VzZWxlYXZlPSJjbG9zZSIpLHQmJiJmb2N1c2luIiE9PXQudHlwZXx8KHMuZm9jdXNvdXQ9ImNsb3NlIiksdGhpcy5fb24oITAsaSxzKX0sY2xvc2U6ZnVuY3Rpb24odCl7dmFyIGkscz10aGlzLG49ZSh0P3QuY3VycmVudFRhcmdldDp0aGlzLmVsZW1lbnQpLGE9dGhpcy5fZmluZChuKTtyZXR1cm4gYT8oaT1hLnRvb2x0aXAsYS5jbG9zaW5nfHwoY2xlYXJJbnRlcnZhbCh0aGlzLmRlbGF5ZWRTaG93KSxuLmRhdGEoInVpLXRvb2x0aXAtdGl0bGUiKSYmIW4uYXR0cigidGl0bGUiKSYmbi5hdHRyKCJ0aXRsZSIsbi5kYXRhKCJ1aS10b29sdGlwLXRpdGxlIikpLHRoaXMuX3JlbW92ZURlc2NyaWJlZEJ5KG4pLGEuaGlkaW5nPSEwLGkuc3RvcCghMCksdGhpcy5faGlkZShpLHRoaXMub3B0aW9ucy5oaWRlLGZ1bmN0aW9uKCl7cy5fcmVtb3ZlVG9vbHRpcChlKHRoaXMpKX0pLG4ucmVtb3ZlRGF0YSgidWktdG9vbHRpcC1vcGVuIiksdGhpcy5fb2ZmKG4sIm1vdXNlbGVhdmUgZm9jdXNvdXQga2V5dXAiKSxuWzBdIT09dGhpcy5lbGVtZW50WzBdJiZ0aGlzLl9vZmYobiwicmVtb3ZlIiksdGhpcy5fb2ZmKHRoaXMuZG9jdW1lbnQsIm1vdXNlbW92ZSIpLHQmJiJtb3VzZWxlYXZlIj09PXQudHlwZSYmZS5lYWNoKHRoaXMucGFyZW50cyxmdW5jdGlvbih0LGkpe2UoaS5lbGVtZW50KS5hdHRyKCJ0aXRsZSIsaS50aXRsZSksZGVsZXRlIHMucGFyZW50c1t0XX0pLGEuY2xvc2luZz0hMCx0aGlzLl90cmlnZ2VyKCJjbG9zZSIsdCx7dG9vbHRpcDppfSksYS5oaWRpbmd8fChhLmNsb3Npbmc9ITEpKSx2b2lkIDApOihuLnJlbW92ZURhdGEoInVpLXRvb2x0aXAtb3BlbiIpLHZvaWQgMCl9LF90b29sdGlwOmZ1bmN0aW9uKHQpe3ZhciBpPWUoIjxkaXY+IikuYXR0cigicm9sZSIsInRvb2x0aXAiKS5hZGRDbGFzcygidWktdG9vbHRpcCB1aS13aWRnZXQgdWktY29ybmVyLWFsbCB1aS13aWRnZXQtY29udGVudCAiKyh0aGlzLm9wdGlvbnMudG9vbHRpcENsYXNzfHwiIikpLHM9aS51bmlxdWVJZCgpLmF0dHIoImlkIik7cmV0dXJuIGUoIjxkaXY+IikuYWRkQ2xhc3MoInVpLXRvb2x0aXAtY29udGVudCIpLmFwcGVuZFRvKGkpLGkuYXBwZW5kVG8odGhpcy5kb2N1bWVudFswXS5ib2R5KSx0aGlzLnRvb2x0aXBzW3NdPXtlbGVtZW50OnQsdG9vbHRpcDppfX0sX2ZpbmQ6ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kYXRhKCJ1aS10b29sdGlwLWlkIik7cmV0dXJuIHQ/dGhpcy50b29sdGlwc1t0XTpudWxsfSxfcmVtb3ZlVG9vbHRpcDpmdW5jdGlvbihlKXtlLnJlbW92ZSgpLGRlbGV0ZSB0aGlzLnRvb2x0aXBzW2UuYXR0cigiaWQiKV19LF9kZXN0cm95OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztlLmVhY2godGhpcy50b29sdGlwcyxmdW5jdGlvbihpLHMpe3ZhciBuPWUuRXZlbnQoImJsdXIiKSxhPXMuZWxlbWVudDtuLnRhcmdldD1uLmN1cnJlbnRUYXJnZXQ9YVswXSx0LmNsb3NlKG4sITApLGUoIiMiK2kpLnJlbW92ZSgpLGEuZGF0YSgidWktdG9vbHRpcC10aXRsZSIpJiYoYS5hdHRyKCJ0aXRsZSIpfHxhLmF0dHIoInRpdGxlIixhLmRhdGEoInVpLXRvb2x0aXAtdGl0bGUiKSksYS5yZW1vdmVEYXRhKCJ1aS10b29sdGlwLXRpdGxlIikpfSksdGhpcy5saXZlUmVnaW9uLnJlbW92ZSgpfX0pO3ZhciB5PSJ1aS1lZmZlY3RzLSIsYj1lO2UuZWZmZWN0cz17ZWZmZWN0Ont9fSxmdW5jdGlvbihlLHQpe2Z1bmN0aW9uIGkoZSx0LGkpe3ZhciBzPWRbdC50eXBlXXx8e307cmV0dXJuIG51bGw9PWU/aXx8IXQuZGVmP251bGw6dC5kZWY6KGU9cy5mbG9vcj9+fmU6cGFyc2VGbG9hdChlKSxpc05hTihlKT90LmRlZjpzLm1vZD8oZStzLm1vZCklcy5tb2Q6MD5lPzA6ZT5zLm1heD9zLm1heDplKX1mdW5jdGlvbiBzKGkpe3ZhciBzPWwoKSxuPXMuX3JnYmE9W107cmV0dXJuIGk9aS50b0xvd2VyQ2FzZSgpLGYoaCxmdW5jdGlvbihlLGEpe3ZhciBvLHI9YS5yZS5leGVjKGkpLGg9ciYmYS5wYXJzZShyKSxsPWEuc3BhY2V8fCJyZ2JhIjtyZXR1cm4gaD8obz1zW2xdKGgpLHNbdVtsXS5jYWNoZV09b1t1W2xdLmNhY2hlXSxuPXMuX3JnYmE9by5fcmdiYSwhMSk6dH0pLG4ubGVuZ3RoPygiMCwwLDAsMCI9PT1uLmpvaW4oKSYmZS5leHRlbmQobixhLnRyYW5zcGFyZW50KSxzKTphW2ldfWZ1bmN0aW9uIG4oZSx0LGkpe3JldHVybiBpPShpKzEpJTEsMT42Kmk/ZSs2Kih0LWUpKmk6MT4yKmk/dDoyPjMqaT9lKzYqKHQtZSkqKDIvMy1pKTplfXZhciBhLG89ImJhY2tncm91bmRDb2xvciBib3JkZXJCb3R0b21Db2xvciBib3JkZXJMZWZ0Q29sb3IgYm9yZGVyUmlnaHRDb2xvciBib3JkZXJUb3BDb2xvciBjb2xvciBjb2x1bW5SdWxlQ29sb3Igb3V0bGluZUNvbG9yIHRleHREZWNvcmF0aW9uQ29sb3IgdGV4dEVtcGhhc2lzQ29sb3IiLHI9L14oW1wtK10pPVxzKihcZCtcLj9cZCopLyxoPVt7cmU6L3JnYmE/XChccyooXGR7MSwzfSlccyosXHMqKFxkezEsM30pXHMqLFxzKihcZHsxLDN9KVxzKig/OixccyooXGQ/KD86XC5cZCspPylccyopP1wpLyxwYXJzZTpmdW5jdGlvbihlKXtyZXR1cm5bZVsxXSxlWzJdLGVbM10sZVs0XV19fSx7cmU6L3JnYmE/XChccyooXGQrKD86XC5cZCspPylcJVxzKixccyooXGQrKD86XC5cZCspPylcJVxzKixccyooXGQrKD86XC5cZCspPylcJVxzKig/OixccyooXGQ/KD86XC5cZCspPylccyopP1wpLyxwYXJzZTpmdW5jdGlvbihlKXtyZXR1cm5bMi41NSplWzFdLDIuNTUqZVsyXSwyLjU1KmVbM10sZVs0XV19fSx7cmU6LyMoW2EtZjAtOV17Mn0pKFthLWYwLTldezJ9KShbYS1mMC05XXsyfSkvLHBhcnNlOmZ1bmN0aW9uKGUpe3JldHVybltwYXJzZUludChlWzFdLDE2KSxwYXJzZUludChlWzJdLDE2KSxwYXJzZUludChlWzNdLDE2KV19fSx7cmU6LyMoW2EtZjAtOV0pKFthLWYwLTldKShbYS1mMC05XSkvLHBhcnNlOmZ1bmN0aW9uKGUpe3JldHVybltwYXJzZUludChlWzFdK2VbMV0sMTYpLHBhcnNlSW50KGVbMl0rZVsyXSwxNikscGFyc2VJbnQoZVszXStlWzNdLDE2KV19fSx7cmU6L2hzbGE/XChccyooXGQrKD86XC5cZCspPylccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyosXHMqKFxkKyg/OlwuXGQrKT8pXCVccyooPzosXHMqKFxkPyg/OlwuXGQrKT8pXHMqKT9cKS8sc3BhY2U6ImhzbGEiLHBhcnNlOmZ1bmN0aW9uKGUpe3JldHVybltlWzFdLGVbMl0vMTAwLGVbM10vMTAwLGVbNF1dfX1dLGw9ZS5Db2xvcj1mdW5jdGlvbih0LGkscyxuKXtyZXR1cm4gbmV3IGUuQ29sb3IuZm4ucGFyc2UodCxpLHMsbil9LHU9e3JnYmE6e3Byb3BzOntyZWQ6e2lkeDowLHR5cGU6ImJ5dGUifSxncmVlbjp7aWR4OjEsdHlwZToiYnl0ZSJ9LGJsdWU6e2lkeDoyLHR5cGU6ImJ5dGUifX19LGhzbGE6e3Byb3BzOntodWU6e2lkeDowLHR5cGU6ImRlZ3JlZXMifSxzYXR1cmF0aW9uOntpZHg6MSx0eXBlOiJwZXJjZW50In0sbGlnaHRuZXNzOntpZHg6Mix0eXBlOiJwZXJjZW50In19fX0sZD17ImJ5dGUiOntmbG9vcjohMCxtYXg6MjU1fSxwZXJjZW50OnttYXg6MX0sZGVncmVlczp7bW9kOjM2MCxmbG9vcjohMH19LGM9bC5zdXBwb3J0PXt9LHA9ZSgiPHA+IilbMF0sZj1lLmVhY2g7cC5zdHlsZS5jc3NUZXh0PSJiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMSwxLDEsLjUpIixjLnJnYmE9cC5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IuaW5kZXhPZigicmdiYSIpPi0xLGYodSxmdW5jdGlvbihlLHQpe3QuY2FjaGU9Il8iK2UsdC5wcm9wcy5hbHBoYT17aWR4OjMsdHlwZToicGVyY2VudCIsZGVmOjF9fSksbC5mbj1lLmV4dGVuZChsLnByb3RvdHlwZSx7cGFyc2U6ZnVuY3Rpb24obixvLHIsaCl7aWYobj09PXQpcmV0dXJuIHRoaXMuX3JnYmE9W251bGwsbnVsbCxudWxsLG51bGxdLHRoaXM7KG4uanF1ZXJ5fHxuLm5vZGVUeXBlKSYmKG49ZShuKS5jc3Mobyksbz10KTt2YXIgZD10aGlzLGM9ZS50eXBlKG4pLHA9dGhpcy5fcmdiYT1bXTtyZXR1cm4gbyE9PXQmJihuPVtuLG8scixoXSxjPSJhcnJheSIpLCJzdHJpbmciPT09Yz90aGlzLnBhcnNlKHMobil8fGEuX2RlZmF1bHQpOiJhcnJheSI9PT1jPyhmKHUucmdiYS5wcm9wcyxmdW5jdGlvbihlLHQpe3BbdC5pZHhdPWkoblt0LmlkeF0sdCl9KSx0aGlzKToib2JqZWN0Ij09PWM/KG4gaW5zdGFuY2VvZiBsP2YodSxmdW5jdGlvbihlLHQpe25bdC5jYWNoZV0mJihkW3QuY2FjaGVdPW5bdC5jYWNoZV0uc2xpY2UoKSl9KTpmKHUsZnVuY3Rpb24odCxzKXt2YXIgYT1zLmNhY2hlO2Yocy5wcm9wcyxmdW5jdGlvbihlLHQpe2lmKCFkW2FdJiZzLnRvKXtpZigiYWxwaGEiPT09ZXx8bnVsbD09bltlXSlyZXR1cm47ZFthXT1zLnRvKGQuX3JnYmEpfWRbYV1bdC5pZHhdPWkobltlXSx0LCEwKX0pLGRbYV0mJjA+ZS5pbkFycmF5KG51bGwsZFthXS5zbGljZSgwLDMpKSYmKGRbYV1bM109MSxzLmZyb20mJihkLl9yZ2JhPXMuZnJvbShkW2FdKSkpfSksdGhpcyk6dH0saXM6ZnVuY3Rpb24oZSl7dmFyIGk9bChlKSxzPSEwLG49dGhpcztyZXR1cm4gZih1LGZ1bmN0aW9uKGUsYSl7dmFyIG8scj1pW2EuY2FjaGVdO3JldHVybiByJiYobz1uW2EuY2FjaGVdfHxhLnRvJiZhLnRvKG4uX3JnYmEpfHxbXSxmKGEucHJvcHMsZnVuY3Rpb24oZSxpKXtyZXR1cm4gbnVsbCE9cltpLmlkeF0/cz1yW2kuaWR4XT09PW9baS5pZHhdOnR9KSksc30pLHN9LF9zcGFjZTpmdW5jdGlvbigpe3ZhciBlPVtdLHQ9dGhpcztyZXR1cm4gZih1LGZ1bmN0aW9uKGkscyl7dFtzLmNhY2hlXSYmZS5wdXNoKGkpfSksZS5wb3AoKX0sdHJhbnNpdGlvbjpmdW5jdGlvbihlLHQpe3ZhciBzPWwoZSksbj1zLl9zcGFjZSgpLGE9dVtuXSxvPTA9PT10aGlzLmFscGhhKCk/bCgidHJhbnNwYXJlbnQiKTp0aGlzLHI9b1thLmNhY2hlXXx8YS50byhvLl9yZ2JhKSxoPXIuc2xpY2UoKTtyZXR1cm4gcz1zW2EuY2FjaGVdLGYoYS5wcm9wcyxmdW5jdGlvbihlLG4pe3ZhciBhPW4uaWR4LG89clthXSxsPXNbYV0sdT1kW24udHlwZV18fHt9O251bGwhPT1sJiYobnVsbD09PW8/aFthXT1sOih1Lm1vZCYmKGwtbz51Lm1vZC8yP28rPXUubW9kOm8tbD51Lm1vZC8yJiYoby09dS5tb2QpKSxoW2FdPWkoKGwtbykqdCtvLG4pKSl9KSx0aGlzW25dKGgpfSxibGVuZDpmdW5jdGlvbih0KXtpZigxPT09dGhpcy5fcmdiYVszXSlyZXR1cm4gdGhpczt2YXIgaT10aGlzLl9yZ2JhLnNsaWNlKCkscz1pLnBvcCgpLG49bCh0KS5fcmdiYTtyZXR1cm4gbChlLm1hcChpLGZ1bmN0aW9uKGUsdCl7cmV0dXJuKDEtcykqblt0XStzKmV9KSl9LHRvUmdiYVN0cmluZzpmdW5jdGlvbigpe3ZhciB0PSJyZ2JhKCIsaT1lLm1hcCh0aGlzLl9yZ2JhLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG51bGw9PWU/dD4yPzE6MDplfSk7cmV0dXJuIDE9PT1pWzNdJiYoaS5wb3AoKSx0PSJyZ2IoIiksdCtpLmpvaW4oKSsiKSJ9LHRvSHNsYVN0cmluZzpmdW5jdGlvbigpe3ZhciB0PSJoc2xhKCIsaT1lLm1hcCh0aGlzLmhzbGEoKSxmdW5jdGlvbihlLHQpe3JldHVybiBudWxsPT1lJiYoZT10PjI/MTowKSx0JiYzPnQmJihlPU1hdGgucm91bmQoMTAwKmUpKyIlIiksZX0pO3JldHVybiAxPT09aVszXSYmKGkucG9wKCksdD0iaHNsKCIpLHQraS5qb2luKCkrIikifSx0b0hleFN0cmluZzpmdW5jdGlvbih0KXt2YXIgaT10aGlzLl9yZ2JhLnNsaWNlKCkscz1pLnBvcCgpO3JldHVybiB0JiZpLnB1c2gofn4oMjU1KnMpKSwiIyIrZS5tYXAoaSxmdW5jdGlvbihlKXtyZXR1cm4gZT0oZXx8MCkudG9TdHJpbmcoMTYpLDE9PT1lLmxlbmd0aD8iMCIrZTplfSkuam9pbigiIil9LHRvU3RyaW5nOmZ1bmN0aW9uKCl7cmV0dXJuIDA9PT10aGlzLl9yZ2JhWzNdPyJ0cmFuc3BhcmVudCI6dGhpcy50b1JnYmFTdHJpbmcoKX19KSxsLmZuLnBhcnNlLnByb3RvdHlwZT1sLmZuLHUuaHNsYS50bz1mdW5jdGlvbihlKXtpZihudWxsPT1lWzBdfHxudWxsPT1lWzFdfHxudWxsPT1lWzJdKXJldHVybltudWxsLG51bGwsbnVsbCxlWzNdXTt2YXIgdCxpLHM9ZVswXS8yNTUsbj1lWzFdLzI1NSxhPWVbMl0vMjU1LG89ZVszXSxyPU1hdGgubWF4KHMsbixhKSxoPU1hdGgubWluKHMsbixhKSxsPXItaCx1PXIraCxkPS41KnU7cmV0dXJuIHQ9aD09PXI/MDpzPT09cj82MCoobi1hKS9sKzM2MDpuPT09cj82MCooYS1zKS9sKzEyMDo2MCoocy1uKS9sKzI0MCxpPTA9PT1sPzA6LjU+PWQ/bC91OmwvKDItdSksW01hdGgucm91bmQodCklMzYwLGksZCxudWxsPT1vPzE6b119LHUuaHNsYS5mcm9tPWZ1bmN0aW9uKGUpe2lmKG51bGw9PWVbMF18fG51bGw9PWVbMV18fG51bGw9PWVbMl0pcmV0dXJuW251bGwsbnVsbCxudWxsLGVbM11dO3ZhciB0PWVbMF0vMzYwLGk9ZVsxXSxzPWVbMl0sYT1lWzNdLG89LjU+PXM/cyooMStpKTpzK2ktcyppLHI9MipzLW87cmV0dXJuW01hdGgucm91bmQoMjU1Km4ocixvLHQrMS8zKSksTWF0aC5yb3VuZCgyNTUqbihyLG8sdCkpLE1hdGgucm91bmQoMjU1Km4ocixvLHQtMS8zKSksYV19LGYodSxmdW5jdGlvbihzLG4pe3ZhciBhPW4ucHJvcHMsbz1uLmNhY2hlLGg9bi50byx1PW4uZnJvbTtsLmZuW3NdPWZ1bmN0aW9uKHMpe2lmKGgmJiF0aGlzW29dJiYodGhpc1tvXT1oKHRoaXMuX3JnYmEpKSxzPT09dClyZXR1cm4gdGhpc1tvXS5zbGljZSgpO3ZhciBuLHI9ZS50eXBlKHMpLGQ9ImFycmF5Ij09PXJ8fCJvYmplY3QiPT09cj9zOmFyZ3VtZW50cyxjPXRoaXNbb10uc2xpY2UoKTtyZXR1cm4gZihhLGZ1bmN0aW9uKGUsdCl7dmFyIHM9ZFsib2JqZWN0Ij09PXI/ZTp0LmlkeF07bnVsbD09cyYmKHM9Y1t0LmlkeF0pLGNbdC5pZHhdPWkocyx0KX0pLHU/KG49bCh1KGMpKSxuW29dPWMsbik6bChjKX0sZihhLGZ1bmN0aW9uKHQsaSl7bC5mblt0XXx8KGwuZm5bdF09ZnVuY3Rpb24obil7dmFyIGEsbz1lLnR5cGUobiksaD0iYWxwaGEiPT09dD90aGlzLl9oc2xhPyJoc2xhIjoicmdiYSI6cyxsPXRoaXNbaF0oKSx1PWxbaS5pZHhdO3JldHVybiJ1bmRlZmluZWQiPT09bz91OigiZnVuY3Rpb24iPT09byYmKG49bi5jYWxsKHRoaXMsdSksbz1lLnR5cGUobikpLG51bGw9PW4mJmkuZW1wdHk/dGhpczooInN0cmluZyI9PT1vJiYoYT1yLmV4ZWMobiksYSYmKG49dStwYXJzZUZsb2F0KGFbMl0pKigiKyI9PT1hWzFdPzE6LTEpKSksbFtpLmlkeF09bix0aGlzW2hdKGwpKSl9KX0pfSksbC5ob29rPWZ1bmN0aW9uKHQpe3ZhciBpPXQuc3BsaXQoIiAiKTtmKGksZnVuY3Rpb24odCxpKXtlLmNzc0hvb2tzW2ldPXtzZXQ6ZnVuY3Rpb24odCxuKXt2YXIgYSxvLHI9IiI7aWYoInRyYW5zcGFyZW50IiE9PW4mJigic3RyaW5nIiE9PWUudHlwZShuKXx8KGE9cyhuKSkpKXtpZihuPWwoYXx8biksIWMucmdiYSYmMSE9PW4uX3JnYmFbM10pe2ZvcihvPSJiYWNrZ3JvdW5kQ29sb3IiPT09aT90LnBhcmVudE5vZGU6dDsoIiI9PT1yfHwidHJhbnNwYXJlbnQiPT09cikmJm8mJm8uc3R5bGU7KXRyeXtyPWUuY3NzKG8sImJhY2tncm91bmRDb2xvciIpLG89by5wYXJlbnROb2RlfWNhdGNoKGgpe31uPW4uYmxlbmQociYmInRyYW5zcGFyZW50IiE9PXI/cjoiX2RlZmF1bHQiKX1uPW4udG9SZ2JhU3RyaW5nKCl9dHJ5e3Quc3R5bGVbaV09bn1jYXRjaChoKXt9fX0sZS5meC5zdGVwW2ldPWZ1bmN0aW9uKHQpe3QuY29sb3JJbml0fHwodC5zdGFydD1sKHQuZWxlbSxpKSx0LmVuZD1sKHQuZW5kKSx0LmNvbG9ySW5pdD0hMCksZS5jc3NIb29rc1tpXS5zZXQodC5lbGVtLHQuc3RhcnQudHJhbnNpdGlvbih0LmVuZCx0LnBvcykpfX0pfSxsLmhvb2sobyksZS5jc3NIb29rcy5ib3JkZXJDb2xvcj17ZXhwYW5kOmZ1bmN0aW9uKGUpe3ZhciB0PXt9O3JldHVybiBmKFsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sZnVuY3Rpb24oaSxzKXt0WyJib3JkZXIiK3MrIkNvbG9yIl09ZX0pLHR9fSxhPWUuQ29sb3IubmFtZXM9e2FxdWE6IiMwMGZmZmYiLGJsYWNrOiIjMDAwMDAwIixibHVlOiIjMDAwMGZmIixmdWNoc2lhOiIjZmYwMGZmIixncmF5OiIjODA4MDgwIixncmVlbjoiIzAwODAwMCIsbGltZToiIzAwZmYwMCIsbWFyb29uOiIjODAwMDAwIixuYXZ5OiIjMDAwMDgwIixvbGl2ZToiIzgwODAwMCIscHVycGxlOiIjODAwMDgwIixyZWQ6IiNmZjAwMDAiLHNpbHZlcjoiI2MwYzBjMCIsdGVhbDoiIzAwODA4MCIsd2hpdGU6IiNmZmZmZmYiLHllbGxvdzoiI2ZmZmYwMCIsdHJhbnNwYXJlbnQ6W251bGwsbnVsbCxudWxsLDBdLF9kZWZhdWx0OiIjZmZmZmZmIn19KGIpLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt2YXIgaSxzLG49dC5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3P3Qub3duZXJEb2N1bWVudC5kZWZhdWx0Vmlldy5nZXRDb21wdXRlZFN0eWxlKHQsbnVsbCk6dC5jdXJyZW50U3R5bGUsYT17fTtpZihuJiZuLmxlbmd0aCYmblswXSYmbltuWzBdXSlmb3Iocz1uLmxlbmd0aDtzLS07KWk9bltzXSwic3RyaW5nIj09dHlwZW9mIG5baV0mJihhW2UuY2FtZWxDYXNlKGkpXT1uW2ldKTtlbHNlIGZvcihpIGluIG4pInN0cmluZyI9PXR5cGVvZiBuW2ldJiYoYVtpXT1uW2ldKTtyZXR1cm4gYX1mdW5jdGlvbiBpKHQsaSl7dmFyIHMsYSxvPXt9O2ZvcihzIGluIGkpYT1pW3NdLHRbc10hPT1hJiYobltzXXx8KGUuZnguc3RlcFtzXXx8IWlzTmFOKHBhcnNlRmxvYXQoYSkpKSYmKG9bc109YSkpO3JldHVybiBvfXZhciBzPVsiYWRkIiwicmVtb3ZlIiwidG9nZ2xlIl0sbj17Ym9yZGVyOjEsYm9yZGVyQm90dG9tOjEsYm9yZGVyQ29sb3I6MSxib3JkZXJMZWZ0OjEsYm9yZGVyUmlnaHQ6MSxib3JkZXJUb3A6MSxib3JkZXJXaWR0aDoxLG1hcmdpbjoxLHBhZGRpbmc6MX07ZS5lYWNoKFsiYm9yZGVyTGVmdFN0eWxlIiwiYm9yZGVyUmlnaHRTdHlsZSIsImJvcmRlckJvdHRvbVN0eWxlIiwiYm9yZGVyVG9wU3R5bGUiXSxmdW5jdGlvbih0LGkpe2UuZnguc3RlcFtpXT1mdW5jdGlvbihlKXsoIm5vbmUiIT09ZS5lbmQmJiFlLnNldEF0dHJ8fDE9PT1lLnBvcyYmIWUuc2V0QXR0cikmJihiLnN0eWxlKGUuZWxlbSxpLGUuZW5kKSxlLnNldEF0dHI9ITApfX0pLGUuZm4uYWRkQmFja3x8KGUuZm4uYWRkQmFjaz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5hZGQobnVsbD09ZT90aGlzLnByZXZPYmplY3Q6dGhpcy5wcmV2T2JqZWN0LmZpbHRlcihlKSl9KSxlLmVmZmVjdHMuYW5pbWF0ZUNsYXNzPWZ1bmN0aW9uKG4sYSxvLHIpe3ZhciBoPWUuc3BlZWQoYSxvLHIpO3JldHVybiB0aGlzLnF1ZXVlKGZ1bmN0aW9uKCl7dmFyIGEsbz1lKHRoaXMpLHI9by5hdHRyKCJjbGFzcyIpfHwiIixsPWguY2hpbGRyZW4/by5maW5kKCIqIikuYWRkQmFjaygpOm87bD1sLm1hcChmdW5jdGlvbigpe3ZhciBpPWUodGhpcyk7cmV0dXJue2VsOmksc3RhcnQ6dCh0aGlzKX19KSxhPWZ1bmN0aW9uKCl7ZS5lYWNoKHMsZnVuY3Rpb24oZSx0KXtuW3RdJiZvW3QrIkNsYXNzIl0oblt0XSl9KX0sYSgpLGw9bC5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbmQ9dCh0aGlzLmVsWzBdKSx0aGlzLmRpZmY9aSh0aGlzLnN0YXJ0LHRoaXMuZW5kKSx0aGlzfSksby5hdHRyKCJjbGFzcyIsciksbD1sLm1hcChmdW5jdGlvbigpe3ZhciB0PXRoaXMsaT1lLkRlZmVycmVkKCkscz1lLmV4dGVuZCh7fSxoLHtxdWV1ZTohMSxjb21wbGV0ZTpmdW5jdGlvbigpe2kucmVzb2x2ZSh0KX19KTtyZXR1cm4gdGhpcy5lbC5hbmltYXRlKHRoaXMuZGlmZixzKSxpLnByb21pc2UoKX0pLGUud2hlbi5hcHBseShlLGwuZ2V0KCkpLmRvbmUoZnVuY3Rpb24oKXthKCksZS5lYWNoKGFyZ3VtZW50cyxmdW5jdGlvbigpe3ZhciB0PXRoaXMuZWw7ZS5lYWNoKHRoaXMuZGlmZixmdW5jdGlvbihlKXt0LmNzcyhlLCIiKX0pfSksaC5jb21wbGV0ZS5jYWxsKG9bMF0pfSl9KX0sZS5mbi5leHRlbmQoe2FkZENsYXNzOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihpLHMsbixhKXtyZXR1cm4gcz9lLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyx7YWRkOml9LHMsbixhKTp0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX19KGUuZm4uYWRkQ2xhc3MpLHJlbW92ZUNsYXNzOmZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihpLHMsbixhKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4xP2UuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCh0aGlzLHtyZW1vdmU6aX0scyxuLGEpOnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfX0oZS5mbi5yZW1vdmVDbGFzcyksdG9nZ2xlQ2xhc3M6ZnVuY3Rpb24odCl7cmV0dXJuIGZ1bmN0aW9uKGkscyxuLGEsbyl7cmV0dXJuImJvb2xlYW4iPT10eXBlb2Ygc3x8dm9pZCAwPT09cz9uP2UuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCh0aGlzLHM/e2FkZDppfTp7cmVtb3ZlOml9LG4sYSxvKTp0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTplLmVmZmVjdHMuYW5pbWF0ZUNsYXNzLmNhbGwodGhpcyx7dG9nZ2xlOml9LHMsbixhKX19KGUuZm4udG9nZ2xlQ2xhc3MpLHN3aXRjaENsYXNzOmZ1bmN0aW9uKHQsaSxzLG4sYSl7cmV0dXJuIGUuZWZmZWN0cy5hbmltYXRlQ2xhc3MuY2FsbCh0aGlzLHthZGQ6aSxyZW1vdmU6dH0scyxuLGEpfX0pfSgpLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGkscyxuKXtyZXR1cm4gZS5pc1BsYWluT2JqZWN0KHQpJiYoaT10LHQ9dC5lZmZlY3QpLHQ9e2VmZmVjdDp0fSxudWxsPT1pJiYoaT17fSksZS5pc0Z1bmN0aW9uKGkpJiYobj1pLHM9bnVsbCxpPXt9KSwoIm51bWJlciI9PXR5cGVvZiBpfHxlLmZ4LnNwZWVkc1tpXSkmJihuPXMscz1pLGk9e30pLGUuaXNGdW5jdGlvbihzKSYmKG49cyxzPW51bGwpLGkmJmUuZXh0ZW5kKHQsaSkscz1zfHxpLmR1cmF0aW9uLHQuZHVyYXRpb249ZS5meC5vZmY/MDoibnVtYmVyIj09dHlwZW9mIHM/czpzIGluIGUuZnguc3BlZWRzP2UuZnguc3BlZWRzW3NdOmUuZnguc3BlZWRzLl9kZWZhdWx0LHQuY29tcGxldGU9bnx8aS5jb21wbGV0ZSx0fWZ1bmN0aW9uIGkodCl7cmV0dXJuIXR8fCJudW1iZXIiPT10eXBlb2YgdHx8ZS5meC5zcGVlZHNbdF0/ITA6InN0cmluZyIhPXR5cGVvZiB0fHxlLmVmZmVjdHMuZWZmZWN0W3RdP2UuaXNGdW5jdGlvbih0KT8hMDoib2JqZWN0IiE9dHlwZW9mIHR8fHQuZWZmZWN0PyExOiEwOiEwfWUuZXh0ZW5kKGUuZWZmZWN0cyx7dmVyc2lvbjoiMS4xMS40IixzYXZlOmZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBpPTA7dC5sZW5ndGg+aTtpKyspbnVsbCE9PXRbaV0mJmUuZGF0YSh5K3RbaV0sZVswXS5zdHlsZVt0W2ldXSl9LHJlc3RvcmU6ZnVuY3Rpb24oZSx0KXt2YXIgaSxzO2ZvcihzPTA7dC5sZW5ndGg+cztzKyspbnVsbCE9PXRbc10mJihpPWUuZGF0YSh5K3Rbc10pLHZvaWQgMD09PWkmJihpPSIiKSxlLmNzcyh0W3NdLGkpKX0sc2V0TW9kZTpmdW5jdGlvbihlLHQpe3JldHVybiJ0b2dnbGUiPT09dCYmKHQ9ZS5pcygiOmhpZGRlbiIpPyJzaG93IjoiaGlkZSIpLHR9LGdldEJhc2VsaW5lOmZ1bmN0aW9uKGUsdCl7dmFyIGkscztzd2l0Y2goZVswXSl7Y2FzZSJ0b3AiOmk9MDticmVhaztjYXNlIm1pZGRsZSI6aT0uNTticmVhaztjYXNlImJvdHRvbSI6aT0xO2JyZWFrO2RlZmF1bHQ6aT1lWzBdL3QuaGVpZ2h0fXN3aXRjaChlWzFdKXtjYXNlImxlZnQiOnM9MDticmVhaztjYXNlImNlbnRlciI6cz0uNTticmVhaztjYXNlInJpZ2h0IjpzPTE7YnJlYWs7ZGVmYXVsdDpzPWVbMV0vdC53aWR0aH1yZXR1cm57eDpzLHk6aX19LGNyZWF0ZVdyYXBwZXI6ZnVuY3Rpb24odCl7aWYodC5wYXJlbnQoKS5pcygiLnVpLWVmZmVjdHMtd3JhcHBlciIpKXJldHVybiB0LnBhcmVudCgpO3ZhciBpPXt3aWR0aDp0Lm91dGVyV2lkdGgoITApLGhlaWdodDp0Lm91dGVySGVpZ2h0KCEwKSwiZmxvYXQiOnQuY3NzKCJmbG9hdCIpfSxzPWUoIjxkaXY+PC9kaXY+IikuYWRkQ2xhc3MoInVpLWVmZmVjdHMtd3JhcHBlciIpLmNzcyh7Zm9udFNpemU6IjEwMCUiLGJhY2tncm91bmQ6InRyYW5zcGFyZW50Iixib3JkZXI6Im5vbmUiLG1hcmdpbjowLHBhZGRpbmc6MH0pLG49e3dpZHRoOnQud2lkdGgoKSxoZWlnaHQ6dC5oZWlnaHQoKX0sYT1kb2N1bWVudC5hY3RpdmVFbGVtZW50O3RyeXthLmlkfWNhdGNoKG8pe2E9ZG9jdW1lbnQuYm9keX1yZXR1cm4gdC53cmFwKHMpLCh0WzBdPT09YXx8ZS5jb250YWlucyh0WzBdLGEpKSYmZShhKS5mb2N1cygpLHM9dC5wYXJlbnQoKSwic3RhdGljIj09PXQuY3NzKCJwb3NpdGlvbiIpPyhzLmNzcyh7cG9zaXRpb246InJlbGF0aXZlIn0pLHQuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUifSkpOihlLmV4dGVuZChpLHtwb3NpdGlvbjp0LmNzcygicG9zaXRpb24iKSx6SW5kZXg6dC5jc3MoInotaW5kZXgiKX0pLGUuZWFjaChbInRvcCIsImxlZnQiLCJib3R0b20iLCJyaWdodCJdLGZ1bmN0aW9uKGUscyl7aVtzXT10LmNzcyhzKSxpc05hTihwYXJzZUludChpW3NdLDEwKSkmJihpW3NdPSJhdXRvIil9KSx0LmNzcyh7cG9zaXRpb246InJlbGF0aXZlIix0b3A6MCxsZWZ0OjAscmlnaHQ6ImF1dG8iLGJvdHRvbToiYXV0byJ9KSksdC5jc3Mobikscy5jc3MoaSkuc2hvdygpfSxyZW1vdmVXcmFwcGVyOmZ1bmN0aW9uKHQpe3ZhciBpPWRvY3VtZW50LmFjdGl2ZUVsZW1lbnQ7CnJldHVybiB0LnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFwcGVyIikmJih0LnBhcmVudCgpLnJlcGxhY2VXaXRoKHQpLCh0WzBdPT09aXx8ZS5jb250YWlucyh0WzBdLGkpKSYmZShpKS5mb2N1cygpKSx0fSxzZXRUcmFuc2l0aW9uOmZ1bmN0aW9uKHQsaSxzLG4pe3JldHVybiBuPW58fHt9LGUuZWFjaChpLGZ1bmN0aW9uKGUsaSl7dmFyIGE9dC5jc3NVbml0KGkpO2FbMF0+MCYmKG5baV09YVswXSpzK2FbMV0pfSksbn19KSxlLmZuLmV4dGVuZCh7ZWZmZWN0OmZ1bmN0aW9uKCl7ZnVuY3Rpb24gaSh0KXtmdW5jdGlvbiBpKCl7ZS5pc0Z1bmN0aW9uKGEpJiZhLmNhbGwoblswXSksZS5pc0Z1bmN0aW9uKHQpJiZ0KCl9dmFyIG49ZSh0aGlzKSxhPXMuY29tcGxldGUscj1zLm1vZGU7KG4uaXMoIjpoaWRkZW4iKT8iaGlkZSI9PT1yOiJzaG93Ij09PXIpPyhuW3JdKCksaSgpKTpvLmNhbGwoblswXSxzLGkpfXZhciBzPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpLG49cy5tb2RlLGE9cy5xdWV1ZSxvPWUuZWZmZWN0cy5lZmZlY3Rbcy5lZmZlY3RdO3JldHVybiBlLmZ4Lm9mZnx8IW8/bj90aGlzW25dKHMuZHVyYXRpb24scy5jb21wbGV0ZSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7cy5jb21wbGV0ZSYmcy5jb21wbGV0ZS5jYWxsKHRoaXMpfSk6YT09PSExP3RoaXMuZWFjaChpKTp0aGlzLnF1ZXVlKGF8fCJmeCIsaSl9LHNob3c6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHMpe2lmKGkocykpcmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InNob3ciLHRoaXMuZWZmZWN0LmNhbGwodGhpcyxuKX19KGUuZm4uc2hvdyksaGlkZTpmdW5jdGlvbihlKXtyZXR1cm4gZnVuY3Rpb24ocyl7aWYoaShzKSlyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIG49dC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIG4ubW9kZT0iaGlkZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0oZS5mbi5oaWRlKSx0b2dnbGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGZ1bmN0aW9uKHMpe2lmKGkocyl8fCJib29sZWFuIj09dHlwZW9mIHMpcmV0dXJuIGUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBuLm1vZGU9InRvZ2dsZSIsdGhpcy5lZmZlY3QuY2FsbCh0aGlzLG4pfX0oZS5mbi50b2dnbGUpLGNzc1VuaXQ6ZnVuY3Rpb24odCl7dmFyIGk9dGhpcy5jc3ModCkscz1bXTtyZXR1cm4gZS5lYWNoKFsiZW0iLCJweCIsIiUiLCJwdCJdLGZ1bmN0aW9uKGUsdCl7aS5pbmRleE9mKHQpPjAmJihzPVtwYXJzZUZsb2F0KGkpLHRdKX0pLHN9fSl9KCksZnVuY3Rpb24oKXt2YXIgdD17fTtlLmVhY2goWyJRdWFkIiwiQ3ViaWMiLCJRdWFydCIsIlF1aW50IiwiRXhwbyJdLGZ1bmN0aW9uKGUsaSl7dFtpXT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5wb3codCxlKzIpfX0pLGUuZXh0ZW5kKHQse1NpbmU6ZnVuY3Rpb24oZSl7cmV0dXJuIDEtTWF0aC5jb3MoZSpNYXRoLlBJLzIpfSxDaXJjOmZ1bmN0aW9uKGUpe3JldHVybiAxLU1hdGguc3FydCgxLWUqZSl9LEVsYXN0aWM6ZnVuY3Rpb24oZSl7cmV0dXJuIDA9PT1lfHwxPT09ZT9lOi1NYXRoLnBvdygyLDgqKGUtMSkpKk1hdGguc2luKCg4MCooZS0xKS03LjUpKk1hdGguUEkvMTUpfSxCYWNrOmZ1bmN0aW9uKGUpe3JldHVybiBlKmUqKDMqZS0yKX0sQm91bmNlOmZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxpPTQ7KCh0PU1hdGgucG93KDIsLS1pKSktMSkvMTE+ZTspO3JldHVybiAxL01hdGgucG93KDQsMy1pKS03LjU2MjUqTWF0aC5wb3coKDMqdC0yKS8yMi1lLDIpfX0pLGUuZWFjaCh0LGZ1bmN0aW9uKHQsaSl7ZS5lYXNpbmdbImVhc2VJbiIrdF09aSxlLmVhc2luZ1siZWFzZU91dCIrdF09ZnVuY3Rpb24oZSl7cmV0dXJuIDEtaSgxLWUpfSxlLmVhc2luZ1siZWFzZUluT3V0Iit0XT1mdW5jdGlvbihlKXtyZXR1cm4uNT5lP2koMiplKS8yOjEtaSgtMiplKzIpLzJ9fSl9KCksZS5lZmZlY3RzLGUuZWZmZWN0cy5lZmZlY3QuYmxpbmQ9ZnVuY3Rpb24odCxpKXt2YXIgcyxuLGEsbz1lKHRoaXMpLHI9L3VwfGRvd258dmVydGljYWwvLGg9L3VwfGxlZnR8dmVydGljYWx8aG9yaXpvbnRhbC8sbD1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0IiwiaGVpZ2h0Iiwid2lkdGgiXSx1PWUuZWZmZWN0cy5zZXRNb2RlKG8sdC5tb2RlfHwiaGlkZSIpLGQ9dC5kaXJlY3Rpb258fCJ1cCIsYz1yLnRlc3QoZCkscD1jPyJoZWlnaHQiOiJ3aWR0aCIsZj1jPyJ0b3AiOiJsZWZ0IixtPWgudGVzdChkKSxnPXt9LHY9InNob3ciPT09dTtvLnBhcmVudCgpLmlzKCIudWktZWZmZWN0cy13cmFwcGVyIik/ZS5lZmZlY3RzLnNhdmUoby5wYXJlbnQoKSxsKTplLmVmZmVjdHMuc2F2ZShvLGwpLG8uc2hvdygpLHM9ZS5lZmZlY3RzLmNyZWF0ZVdyYXBwZXIobykuY3NzKHtvdmVyZmxvdzoiaGlkZGVuIn0pLG49c1twXSgpLGE9cGFyc2VGbG9hdChzLmNzcyhmKSl8fDAsZ1twXT12P246MCxtfHwoby5jc3MoYz8iYm90dG9tIjoicmlnaHQiLDApLmNzcyhjPyJ0b3AiOiJsZWZ0IiwiYXV0byIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIn0pLGdbZl09dj9hOm4rYSksdiYmKHMuY3NzKHAsMCksbXx8cy5jc3MoZixhK24pKSxzLmFuaW1hdGUoZyx7ZHVyYXRpb246dC5kdXJhdGlvbixlYXNpbmc6dC5lYXNpbmcscXVldWU6ITEsY29tcGxldGU6ZnVuY3Rpb24oKXsiaGlkZSI9PT11JiZvLmhpZGUoKSxlLmVmZmVjdHMucmVzdG9yZShvLGwpLGUuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKG8pLGkoKX19KX0sZS5lZmZlY3RzLmVmZmVjdC5ib3VuY2U9ZnVuY3Rpb24odCxpKXt2YXIgcyxuLGEsbz1lKHRoaXMpLHI9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsIndpZHRoIl0saD1lLmVmZmVjdHMuc2V0TW9kZShvLHQubW9kZXx8ImVmZmVjdCIpLGw9ImhpZGUiPT09aCx1PSJzaG93Ij09PWgsZD10LmRpcmVjdGlvbnx8InVwIixjPXQuZGlzdGFuY2UscD10LnRpbWVzfHw1LGY9MipwKyh1fHxsPzE6MCksbT10LmR1cmF0aW9uL2YsZz10LmVhc2luZyx2PSJ1cCI9PT1kfHwiZG93biI9PT1kPyJ0b3AiOiJsZWZ0Iix5PSJ1cCI9PT1kfHwibGVmdCI9PT1kLGI9by5xdWV1ZSgpLF89Yi5sZW5ndGg7Zm9yKCh1fHxsKSYmci5wdXNoKCJvcGFjaXR5IiksZS5lZmZlY3RzLnNhdmUobyxyKSxvLnNob3coKSxlLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihvKSxjfHwoYz1vWyJ0b3AiPT09dj8ib3V0ZXJIZWlnaHQiOiJvdXRlcldpZHRoIl0oKS8zKSx1JiYoYT17b3BhY2l0eToxfSxhW3ZdPTAsby5jc3MoIm9wYWNpdHkiLDApLmNzcyh2LHk/MiotYzoyKmMpLmFuaW1hdGUoYSxtLGcpKSxsJiYoYy89TWF0aC5wb3coMixwLTEpKSxhPXt9LGFbdl09MCxzPTA7cD5zO3MrKyluPXt9LG5bdl09KHk/Ii09IjoiKz0iKStjLG8uYW5pbWF0ZShuLG0sZykuYW5pbWF0ZShhLG0sZyksYz1sPzIqYzpjLzI7bCYmKG49e29wYWNpdHk6MH0sblt2XT0oeT8iLT0iOiIrPSIpK2Msby5hbmltYXRlKG4sbSxnKSksby5xdWV1ZShmdW5jdGlvbigpe2wmJm8uaGlkZSgpLGUuZWZmZWN0cy5yZXN0b3JlKG8sciksZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIobyksaSgpfSksXz4xJiZiLnNwbGljZS5hcHBseShiLFsxLDBdLmNvbmNhdChiLnNwbGljZShfLGYrMSkpKSxvLmRlcXVldWUoKX0sZS5lZmZlY3RzLmVmZmVjdC5jbGlwPWZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhLG89ZSh0aGlzKSxyPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJoZWlnaHQiLCJ3aWR0aCJdLGg9ZS5lZmZlY3RzLnNldE1vZGUobyx0Lm1vZGV8fCJoaWRlIiksbD0ic2hvdyI9PT1oLHU9dC5kaXJlY3Rpb258fCJ2ZXJ0aWNhbCIsZD0idmVydGljYWwiPT09dSxjPWQ/ImhlaWdodCI6IndpZHRoIixwPWQ/InRvcCI6ImxlZnQiLGY9e307ZS5lZmZlY3RzLnNhdmUobyxyKSxvLnNob3coKSxzPWUuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKG8pLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KSxuPSJJTUciPT09b1swXS50YWdOYW1lP3M6byxhPW5bY10oKSxsJiYobi5jc3MoYywwKSxuLmNzcyhwLGEvMikpLGZbY109bD9hOjAsZltwXT1sPzA6YS8yLG4uYW5pbWF0ZShmLHtxdWV1ZTohMSxkdXJhdGlvbjp0LmR1cmF0aW9uLGVhc2luZzp0LmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpe2x8fG8uaGlkZSgpLGUuZWZmZWN0cy5yZXN0b3JlKG8sciksZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIobyksaSgpfX0pfSxlLmVmZmVjdHMuZWZmZWN0LmRyb3A9ZnVuY3Rpb24odCxpKXt2YXIgcyxuPWUodGhpcyksYT1bInBvc2l0aW9uIiwidG9wIiwiYm90dG9tIiwibGVmdCIsInJpZ2h0Iiwib3BhY2l0eSIsImhlaWdodCIsIndpZHRoIl0sbz1lLmVmZmVjdHMuc2V0TW9kZShuLHQubW9kZXx8ImhpZGUiKSxyPSJzaG93Ij09PW8saD10LmRpcmVjdGlvbnx8ImxlZnQiLGw9InVwIj09PWh8fCJkb3duIj09PWg/InRvcCI6ImxlZnQiLHU9InVwIj09PWh8fCJsZWZ0Ij09PWg/InBvcyI6Im5lZyIsZD17b3BhY2l0eTpyPzE6MH07ZS5lZmZlY3RzLnNhdmUobixhKSxuLnNob3coKSxlLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihuKSxzPXQuZGlzdGFuY2V8fG5bInRvcCI9PT1sPyJvdXRlckhlaWdodCI6Im91dGVyV2lkdGgiXSghMCkvMixyJiZuLmNzcygib3BhY2l0eSIsMCkuY3NzKGwsInBvcyI9PT11Py1zOnMpLGRbbF09KHI/InBvcyI9PT11PyIrPSI6Ii09IjoicG9zIj09PXU/Ii09IjoiKz0iKStzLG4uYW5pbWF0ZShkLHtxdWV1ZTohMSxkdXJhdGlvbjp0LmR1cmF0aW9uLGVhc2luZzp0LmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpeyJoaWRlIj09PW8mJm4uaGlkZSgpLGUuZWZmZWN0cy5yZXN0b3JlKG4sYSksZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIobiksaSgpfX0pfSxlLmVmZmVjdHMuZWZmZWN0LmV4cGxvZGU9ZnVuY3Rpb24odCxpKXtmdW5jdGlvbiBzKCl7Yi5wdXNoKHRoaXMpLGIubGVuZ3RoPT09ZCpjJiZuKCl9ZnVuY3Rpb24gbigpe3AuY3NzKHt2aXNpYmlsaXR5OiJ2aXNpYmxlIn0pLGUoYikucmVtb3ZlKCksbXx8cC5oaWRlKCksaSgpfXZhciBhLG8scixoLGwsdSxkPXQucGllY2VzP01hdGgucm91bmQoTWF0aC5zcXJ0KHQucGllY2VzKSk6MyxjPWQscD1lKHRoaXMpLGY9ZS5lZmZlY3RzLnNldE1vZGUocCx0Lm1vZGV8fCJoaWRlIiksbT0ic2hvdyI9PT1mLGc9cC5zaG93KCkuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIikub2Zmc2V0KCksdj1NYXRoLmNlaWwocC5vdXRlcldpZHRoKCkvYykseT1NYXRoLmNlaWwocC5vdXRlckhlaWdodCgpL2QpLGI9W107Zm9yKGE9MDtkPmE7YSsrKWZvcihoPWcudG9wK2EqeSx1PWEtKGQtMSkvMixvPTA7Yz5vO28rKylyPWcubGVmdCtvKnYsbD1vLShjLTEpLzIscC5jbG9uZSgpLmFwcGVuZFRvKCJib2R5Iikud3JhcCgiPGRpdj48L2Rpdj4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdmlzaWJpbGl0eToidmlzaWJsZSIsbGVmdDotbyp2LHRvcDotYSp5fSkucGFyZW50KCkuYWRkQ2xhc3MoInVpLWVmZmVjdHMtZXhwbG9kZSIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIixvdmVyZmxvdzoiaGlkZGVuIix3aWR0aDp2LGhlaWdodDp5LGxlZnQ6cisobT9sKnY6MCksdG9wOmgrKG0/dSp5OjApLG9wYWNpdHk6bT8wOjF9KS5hbmltYXRlKHtsZWZ0OnIrKG0/MDpsKnYpLHRvcDpoKyhtPzA6dSp5KSxvcGFjaXR5Om0/MTowfSx0LmR1cmF0aW9ufHw1MDAsdC5lYXNpbmcscyl9LGUuZWZmZWN0cy5lZmZlY3QuZmFkZT1mdW5jdGlvbih0LGkpe3ZhciBzPWUodGhpcyksbj1lLmVmZmVjdHMuc2V0TW9kZShzLHQubW9kZXx8InRvZ2dsZSIpO3MuYW5pbWF0ZSh7b3BhY2l0eTpufSx7cXVldWU6ITEsZHVyYXRpb246dC5kdXJhdGlvbixlYXNpbmc6dC5lYXNpbmcsY29tcGxldGU6aX0pfSxlLmVmZmVjdHMuZWZmZWN0LmZvbGQ9ZnVuY3Rpb24odCxpKXt2YXIgcyxuLGE9ZSh0aGlzKSxvPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJoZWlnaHQiLCJ3aWR0aCJdLHI9ZS5lZmZlY3RzLnNldE1vZGUoYSx0Lm1vZGV8fCJoaWRlIiksaD0ic2hvdyI9PT1yLGw9ImhpZGUiPT09cix1PXQuc2l6ZXx8MTUsZD0vKFswLTldKyklLy5leGVjKHUpLGM9ISF0Lmhvcml6Rmlyc3QscD1oIT09YyxmPXA/WyJ3aWR0aCIsImhlaWdodCJdOlsiaGVpZ2h0Iiwid2lkdGgiXSxtPXQuZHVyYXRpb24vMixnPXt9LHY9e307ZS5lZmZlY3RzLnNhdmUoYSxvKSxhLnNob3coKSxzPWUuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKGEpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiJ9KSxuPXA/W3Mud2lkdGgoKSxzLmhlaWdodCgpXTpbcy5oZWlnaHQoKSxzLndpZHRoKCldLGQmJih1PXBhcnNlSW50KGRbMV0sMTApLzEwMCpuW2w/MDoxXSksaCYmcy5jc3MoYz97aGVpZ2h0OjAsd2lkdGg6dX06e2hlaWdodDp1LHdpZHRoOjB9KSxnW2ZbMF1dPWg/blswXTp1LHZbZlsxXV09aD9uWzFdOjAscy5hbmltYXRlKGcsbSx0LmVhc2luZykuYW5pbWF0ZSh2LG0sdC5lYXNpbmcsZnVuY3Rpb24oKXtsJiZhLmhpZGUoKSxlLmVmZmVjdHMucmVzdG9yZShhLG8pLGUuZWZmZWN0cy5yZW1vdmVXcmFwcGVyKGEpLGkoKX0pfSxlLmVmZmVjdHMuZWZmZWN0LmhpZ2hsaWdodD1mdW5jdGlvbih0LGkpe3ZhciBzPWUodGhpcyksbj1bImJhY2tncm91bmRJbWFnZSIsImJhY2tncm91bmRDb2xvciIsIm9wYWNpdHkiXSxhPWUuZWZmZWN0cy5zZXRNb2RlKHMsdC5tb2RlfHwic2hvdyIpLG89e2JhY2tncm91bmRDb2xvcjpzLmNzcygiYmFja2dyb3VuZENvbG9yIil9OyJoaWRlIj09PWEmJihvLm9wYWNpdHk9MCksZS5lZmZlY3RzLnNhdmUocyxuKSxzLnNob3coKS5jc3Moe2JhY2tncm91bmRJbWFnZToibm9uZSIsYmFja2dyb3VuZENvbG9yOnQuY29sb3J8fCIjZmZmZjk5In0pLmFuaW1hdGUobyx7cXVldWU6ITEsZHVyYXRpb246dC5kdXJhdGlvbixlYXNpbmc6dC5lYXNpbmcsY29tcGxldGU6ZnVuY3Rpb24oKXsiaGlkZSI9PT1hJiZzLmhpZGUoKSxlLmVmZmVjdHMucmVzdG9yZShzLG4pLGkoKX19KX0sZS5lZmZlY3RzLmVmZmVjdC5zaXplPWZ1bmN0aW9uKHQsaSl7dmFyIHMsbixhLG89ZSh0aGlzKSxyPVsicG9zaXRpb24iLCJ0b3AiLCJib3R0b20iLCJsZWZ0IiwicmlnaHQiLCJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93Iiwib3BhY2l0eSJdLGg9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsIm92ZXJmbG93Iiwib3BhY2l0eSJdLGw9WyJ3aWR0aCIsImhlaWdodCIsIm92ZXJmbG93Il0sdT1bImZvbnRTaXplIl0sZD1bImJvcmRlclRvcFdpZHRoIiwiYm9yZGVyQm90dG9tV2lkdGgiLCJwYWRkaW5nVG9wIiwicGFkZGluZ0JvdHRvbSJdLGM9WyJib3JkZXJMZWZ0V2lkdGgiLCJib3JkZXJSaWdodFdpZHRoIiwicGFkZGluZ0xlZnQiLCJwYWRkaW5nUmlnaHQiXSxwPWUuZWZmZWN0cy5zZXRNb2RlKG8sdC5tb2RlfHwiZWZmZWN0IiksZj10LnJlc3RvcmV8fCJlZmZlY3QiIT09cCxtPXQuc2NhbGV8fCJib3RoIixnPXQub3JpZ2lufHxbIm1pZGRsZSIsImNlbnRlciJdLHY9by5jc3MoInBvc2l0aW9uIikseT1mP3I6aCxiPXtoZWlnaHQ6MCx3aWR0aDowLG91dGVySGVpZ2h0OjAsb3V0ZXJXaWR0aDowfTsic2hvdyI9PT1wJiZvLnNob3coKSxzPXtoZWlnaHQ6by5oZWlnaHQoKSx3aWR0aDpvLndpZHRoKCksb3V0ZXJIZWlnaHQ6by5vdXRlckhlaWdodCgpLG91dGVyV2lkdGg6by5vdXRlcldpZHRoKCl9LCJ0b2dnbGUiPT09dC5tb2RlJiYic2hvdyI9PT1wPyhvLmZyb209dC50b3x8YixvLnRvPXQuZnJvbXx8cyk6KG8uZnJvbT10LmZyb218fCgic2hvdyI9PT1wP2I6cyksby50bz10LnRvfHwoImhpZGUiPT09cD9iOnMpKSxhPXtmcm9tOnt5Om8uZnJvbS5oZWlnaHQvcy5oZWlnaHQseDpvLmZyb20ud2lkdGgvcy53aWR0aH0sdG86e3k6by50by5oZWlnaHQvcy5oZWlnaHQseDpvLnRvLndpZHRoL3Mud2lkdGh9fSwoImJveCI9PT1tfHwiYm90aCI9PT1tKSYmKGEuZnJvbS55IT09YS50by55JiYoeT15LmNvbmNhdChkKSxvLmZyb209ZS5lZmZlY3RzLnNldFRyYW5zaXRpb24obyxkLGEuZnJvbS55LG8uZnJvbSksby50bz1lLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihvLGQsYS50by55LG8udG8pKSxhLmZyb20ueCE9PWEudG8ueCYmKHk9eS5jb25jYXQoYyksby5mcm9tPWUuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKG8sYyxhLmZyb20ueCxvLmZyb20pLG8udG89ZS5lZmZlY3RzLnNldFRyYW5zaXRpb24obyxjLGEudG8ueCxvLnRvKSkpLCgiY29udGVudCI9PT1tfHwiYm90aCI9PT1tKSYmYS5mcm9tLnkhPT1hLnRvLnkmJih5PXkuY29uY2F0KHUpLmNvbmNhdChsKSxvLmZyb209ZS5lZmZlY3RzLnNldFRyYW5zaXRpb24obyx1LGEuZnJvbS55LG8uZnJvbSksby50bz1lLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihvLHUsYS50by55LG8udG8pKSxlLmVmZmVjdHMuc2F2ZShvLHkpLG8uc2hvdygpLGUuZWZmZWN0cy5jcmVhdGVXcmFwcGVyKG8pLG8uY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLmNzcyhvLmZyb20pLGcmJihuPWUuZWZmZWN0cy5nZXRCYXNlbGluZShnLHMpLG8uZnJvbS50b3A9KHMub3V0ZXJIZWlnaHQtby5vdXRlckhlaWdodCgpKSpuLnksby5mcm9tLmxlZnQ9KHMub3V0ZXJXaWR0aC1vLm91dGVyV2lkdGgoKSkqbi54LG8udG8udG9wPShzLm91dGVySGVpZ2h0LW8udG8ub3V0ZXJIZWlnaHQpKm4ueSxvLnRvLmxlZnQ9KHMub3V0ZXJXaWR0aC1vLnRvLm91dGVyV2lkdGgpKm4ueCksby5jc3Moby5mcm9tKSwoImNvbnRlbnQiPT09bXx8ImJvdGgiPT09bSkmJihkPWQuY29uY2F0KFsibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIl0pLmNvbmNhdCh1KSxjPWMuY29uY2F0KFsibWFyZ2luTGVmdCIsIm1hcmdpblJpZ2h0Il0pLGw9ci5jb25jYXQoZCkuY29uY2F0KGMpLG8uZmluZCgiKlt3aWR0aF0iKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGk9ZSh0aGlzKSxzPXtoZWlnaHQ6aS5oZWlnaHQoKSx3aWR0aDppLndpZHRoKCksb3V0ZXJIZWlnaHQ6aS5vdXRlckhlaWdodCgpLG91dGVyV2lkdGg6aS5vdXRlcldpZHRoKCl9O2YmJmUuZWZmZWN0cy5zYXZlKGksbCksaS5mcm9tPXtoZWlnaHQ6cy5oZWlnaHQqYS5mcm9tLnksd2lkdGg6cy53aWR0aCphLmZyb20ueCxvdXRlckhlaWdodDpzLm91dGVySGVpZ2h0KmEuZnJvbS55LG91dGVyV2lkdGg6cy5vdXRlcldpZHRoKmEuZnJvbS54fSxpLnRvPXtoZWlnaHQ6cy5oZWlnaHQqYS50by55LHdpZHRoOnMud2lkdGgqYS50by54LG91dGVySGVpZ2h0OnMuaGVpZ2h0KmEudG8ueSxvdXRlcldpZHRoOnMud2lkdGgqYS50by54fSxhLmZyb20ueSE9PWEudG8ueSYmKGkuZnJvbT1lLmVmZmVjdHMuc2V0VHJhbnNpdGlvbihpLGQsYS5mcm9tLnksaS5mcm9tKSxpLnRvPWUuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGksZCxhLnRvLnksaS50bykpLGEuZnJvbS54IT09YS50by54JiYoaS5mcm9tPWUuZWZmZWN0cy5zZXRUcmFuc2l0aW9uKGksYyxhLmZyb20ueCxpLmZyb20pLGkudG89ZS5lZmZlY3RzLnNldFRyYW5zaXRpb24oaSxjLGEudG8ueCxpLnRvKSksaS5jc3MoaS5mcm9tKSxpLmFuaW1hdGUoaS50byx0LmR1cmF0aW9uLHQuZWFzaW5nLGZ1bmN0aW9uKCl7ZiYmZS5lZmZlY3RzLnJlc3RvcmUoaSxsKX0pfSkpLG8uYW5pbWF0ZShvLnRvLHtxdWV1ZTohMSxkdXJhdGlvbjp0LmR1cmF0aW9uLGVhc2luZzp0LmVhc2luZyxjb21wbGV0ZTpmdW5jdGlvbigpezA9PT1vLnRvLm9wYWNpdHkmJm8uY3NzKCJvcGFjaXR5IixvLmZyb20ub3BhY2l0eSksImhpZGUiPT09cCYmby5oaWRlKCksZS5lZmZlY3RzLnJlc3RvcmUobyx5KSxmfHwoInN0YXRpYyI9PT12P28uY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDpvLnRvLnRvcCxsZWZ0Om8udG8ubGVmdH0pOmUuZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihlLHQpe28uY3NzKHQsZnVuY3Rpb24odCxpKXt2YXIgcz1wYXJzZUludChpLDEwKSxuPWU/by50by5sZWZ0Om8udG8udG9wO3JldHVybiJhdXRvIj09PWk/bisicHgiOnMrbisicHgifSl9KSksZS5lZmZlY3RzLnJlbW92ZVdyYXBwZXIobyksaSgpfX0pfSxlLmVmZmVjdHMuZWZmZWN0LnNjYWxlPWZ1bmN0aW9uKHQsaSl7dmFyIHM9ZSh0aGlzKSxuPWUuZXh0ZW5kKCEwLHt9LHQpLGE9ZS5lZmZlY3RzLnNldE1vZGUocyx0Lm1vZGV8fCJlZmZlY3QiKSxvPXBhcnNlSW50KHQucGVyY2VudCwxMCl8fCgwPT09cGFyc2VJbnQodC5wZXJjZW50LDEwKT8wOiJoaWRlIj09PWE/MDoxMDApLHI9dC5kaXJlY3Rpb258fCJib3RoIixoPXQub3JpZ2luLGw9e2hlaWdodDpzLmhlaWdodCgpLHdpZHRoOnMud2lkdGgoKSxvdXRlckhlaWdodDpzLm91dGVySGVpZ2h0KCksb3V0ZXJXaWR0aDpzLm91dGVyV2lkdGgoKX0sdT17eToiaG9yaXpvbnRhbCIhPT1yP28vMTAwOjEseDoidmVydGljYWwiIT09cj9vLzEwMDoxfTtuLmVmZmVjdD0ic2l6ZSIsbi5xdWV1ZT0hMSxuLmNvbXBsZXRlPWksImVmZmVjdCIhPT1hJiYobi5vcmlnaW49aHx8WyJtaWRkbGUiLCJjZW50ZXIiXSxuLnJlc3RvcmU9ITApLG4uZnJvbT10LmZyb218fCgic2hvdyI9PT1hP3toZWlnaHQ6MCx3aWR0aDowLG91dGVySGVpZ2h0OjAsb3V0ZXJXaWR0aDowfTpsKSxuLnRvPXtoZWlnaHQ6bC5oZWlnaHQqdS55LHdpZHRoOmwud2lkdGgqdS54LG91dGVySGVpZ2h0Omwub3V0ZXJIZWlnaHQqdS55LG91dGVyV2lkdGg6bC5vdXRlcldpZHRoKnUueH0sbi5mYWRlJiYoInNob3ciPT09YSYmKG4uZnJvbS5vcGFjaXR5PTAsbi50by5vcGFjaXR5PTEpLCJoaWRlIj09PWEmJihuLmZyb20ub3BhY2l0eT0xLG4udG8ub3BhY2l0eT0wKSkscy5lZmZlY3Qobil9LGUuZWZmZWN0cy5lZmZlY3QucHVmZj1mdW5jdGlvbih0LGkpe3ZhciBzPWUodGhpcyksbj1lLmVmZmVjdHMuc2V0TW9kZShzLHQubW9kZXx8ImhpZGUiKSxhPSJoaWRlIj09PW4sbz1wYXJzZUludCh0LnBlcmNlbnQsMTApfHwxNTAscj1vLzEwMCxoPXtoZWlnaHQ6cy5oZWlnaHQoKSx3aWR0aDpzLndpZHRoKCksb3V0ZXJIZWlnaHQ6cy5vdXRlckhlaWdodCgpLG91dGVyV2lkdGg6cy5vdXRlcldpZHRoKCl9O2UuZXh0ZW5kKHQse2VmZmVjdDoic2NhbGUiLHF1ZXVlOiExLGZhZGU6ITAsbW9kZTpuLGNvbXBsZXRlOmkscGVyY2VudDphP286MTAwLGZyb206YT9oOntoZWlnaHQ6aC5oZWlnaHQqcix3aWR0aDpoLndpZHRoKnIsb3V0ZXJIZWlnaHQ6aC5vdXRlckhlaWdodCpyLG91dGVyV2lkdGg6aC5vdXRlcldpZHRoKnJ9fSkscy5lZmZlY3QodCl9LGUuZWZmZWN0cy5lZmZlY3QucHVsc2F0ZT1mdW5jdGlvbih0LGkpe3ZhciBzLG49ZSh0aGlzKSxhPWUuZWZmZWN0cy5zZXRNb2RlKG4sdC5tb2RlfHwic2hvdyIpLG89InNob3ciPT09YSxyPSJoaWRlIj09PWEsaD1vfHwiaGlkZSI9PT1hLGw9MioodC50aW1lc3x8NSkrKGg/MTowKSx1PXQuZHVyYXRpb24vbCxkPTAsYz1uLnF1ZXVlKCkscD1jLmxlbmd0aDtmb3IoKG98fCFuLmlzKCI6dmlzaWJsZSIpKSYmKG4uY3NzKCJvcGFjaXR5IiwwKS5zaG93KCksZD0xKSxzPTE7bD5zO3MrKyluLmFuaW1hdGUoe29wYWNpdHk6ZH0sdSx0LmVhc2luZyksZD0xLWQ7bi5hbmltYXRlKHtvcGFjaXR5OmR9LHUsdC5lYXNpbmcpLG4ucXVldWUoZnVuY3Rpb24oKXtyJiZuLmhpZGUoKSxpKCl9KSxwPjEmJmMuc3BsaWNlLmFwcGx5KGMsWzEsMF0uY29uY2F0KGMuc3BsaWNlKHAsbCsxKSkpLG4uZGVxdWV1ZSgpfSxlLmVmZmVjdHMuZWZmZWN0LnNoYWtlPWZ1bmN0aW9uKHQsaSl7dmFyIHMsbj1lKHRoaXMpLGE9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsImhlaWdodCIsIndpZHRoIl0sbz1lLmVmZmVjdHMuc2V0TW9kZShuLHQubW9kZXx8ImVmZmVjdCIpLHI9dC5kaXJlY3Rpb258fCJsZWZ0IixoPXQuZGlzdGFuY2V8fDIwLGw9dC50aW1lc3x8Myx1PTIqbCsxLGQ9TWF0aC5yb3VuZCh0LmR1cmF0aW9uL3UpLGM9InVwIj09PXJ8fCJkb3duIj09PXI/InRvcCI6ImxlZnQiLHA9InVwIj09PXJ8fCJsZWZ0Ij09PXIsZj17fSxtPXt9LGc9e30sdj1uLnF1ZXVlKCkseT12Lmxlbmd0aDtmb3IoZS5lZmZlY3RzLnNhdmUobixhKSxuLnNob3coKSxlLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihuKSxmW2NdPShwPyItPSI6Iis9IikraCxtW2NdPShwPyIrPSI6Ii09IikrMipoLGdbY109KHA/Ii09IjoiKz0iKSsyKmgsbi5hbmltYXRlKGYsZCx0LmVhc2luZykscz0xO2w+cztzKyspbi5hbmltYXRlKG0sZCx0LmVhc2luZykuYW5pbWF0ZShnLGQsdC5lYXNpbmcpO24uYW5pbWF0ZShtLGQsdC5lYXNpbmcpLmFuaW1hdGUoZixkLzIsdC5lYXNpbmcpLnF1ZXVlKGZ1bmN0aW9uKCl7ImhpZGUiPT09byYmbi5oaWRlKCksZS5lZmZlY3RzLnJlc3RvcmUobixhKSxlLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihuKSxpKCl9KSx5PjEmJnYuc3BsaWNlLmFwcGx5KHYsWzEsMF0uY29uY2F0KHYuc3BsaWNlKHksdSsxKSkpLG4uZGVxdWV1ZSgpfSxlLmVmZmVjdHMuZWZmZWN0LnNsaWRlPWZ1bmN0aW9uKHQsaSl7dmFyIHMsbj1lKHRoaXMpLGE9WyJwb3NpdGlvbiIsInRvcCIsImJvdHRvbSIsImxlZnQiLCJyaWdodCIsIndpZHRoIiwiaGVpZ2h0Il0sbz1lLmVmZmVjdHMuc2V0TW9kZShuLHQubW9kZXx8InNob3ciKSxyPSJzaG93Ij09PW8saD10LmRpcmVjdGlvbnx8ImxlZnQiLGw9InVwIj09PWh8fCJkb3duIj09PWg/InRvcCI6ImxlZnQiLHU9InVwIj09PWh8fCJsZWZ0Ij09PWgsZD17fTtlLmVmZmVjdHMuc2F2ZShuLGEpLG4uc2hvdygpLHM9dC5kaXN0YW5jZXx8blsidG9wIj09PWw/Im91dGVySGVpZ2h0Ijoib3V0ZXJXaWR0aCJdKCEwKSxlLmVmZmVjdHMuY3JlYXRlV3JhcHBlcihuKS5jc3Moe292ZXJmbG93OiJoaWRkZW4ifSksciYmbi5jc3MobCx1P2lzTmFOKHMpPyItIitzOi1zOnMpLGRbbF09KHI/dT8iKz0iOiItPSI6dT8iLT0iOiIrPSIpK3Msbi5hbmltYXRlKGQse3F1ZXVlOiExLGR1cmF0aW9uOnQuZHVyYXRpb24sZWFzaW5nOnQuZWFzaW5nLGNvbXBsZXRlOmZ1bmN0aW9uKCl7ImhpZGUiPT09byYmbi5oaWRlKCksZS5lZmZlY3RzLnJlc3RvcmUobixhKSxlLmVmZmVjdHMucmVtb3ZlV3JhcHBlcihuKSxpKCl9fSl9LGUuZWZmZWN0cy5lZmZlY3QudHJhbnNmZXI9ZnVuY3Rpb24odCxpKXt2YXIgcz1lKHRoaXMpLG49ZSh0LnRvKSxhPSJmaXhlZCI9PT1uLmNzcygicG9zaXRpb24iKSxvPWUoImJvZHkiKSxyPWE/by5zY3JvbGxUb3AoKTowLGg9YT9vLnNjcm9sbExlZnQoKTowLGw9bi5vZmZzZXQoKSx1PXt0b3A6bC50b3AtcixsZWZ0OmwubGVmdC1oLGhlaWdodDpuLmlubmVySGVpZ2h0KCksd2lkdGg6bi5pbm5lcldpZHRoKCl9LGQ9cy5vZmZzZXQoKSxjPWUoIjxkaXYgY2xhc3M9J3VpLWVmZmVjdHMtdHJhbnNmZXInPjwvZGl2PiIpLmFwcGVuZFRvKGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKHQuY2xhc3NOYW1lKS5jc3Moe3RvcDpkLnRvcC1yLGxlZnQ6ZC5sZWZ0LWgsaGVpZ2h0OnMuaW5uZXJIZWlnaHQoKSx3aWR0aDpzLmlubmVyV2lkdGgoKSxwb3NpdGlvbjphPyJmaXhlZCI6ImFic29sdXRlIn0pLmFuaW1hdGUodSx0LmR1cmF0aW9uLHQuZWFzaW5nLGZ1bmN0aW9uKCl7Yy5yZW1vdmUoKSxpKCl9KX19KTs="}},"time_used":482,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":420,"receive":62,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/extensions/revolution.extension.parallax.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.611Z","timestamp":1785133989611,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.parallax.min.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Wed, 08 Jan 2020 01:21:26 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 3008\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":10931,"size_decoded":3245,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (10692), with CRLF line terminators","md5":"aaf7e95e34f292b1a098887db6cf9ee3","sha1":"e00d5e9a3dca546921b83d15a0cb7a9261467027","sha256":"149d1060d155832cca22142423c095866d6b03277f372ebc1967ecdf579a435b","sha512":"824a519d23ccf5819ec06039fb8ab8b9a43679052bfd7d644b7c5c596b7a9ed5f51e1fbc82b2558db2c3314a2a4982c8f54154ea1bd0338bed5675a7dda76d16","ssdeep":"192:BcLK1q1e1XfU9dciEK5FKw0Vm7Wgput9mHJnGN82PbZ7:n1q1e1Xf4+KL6m7WgpAmHUNVPbZ7","tlshash":"7432d95a6e2028f640f3132cf9ad45d273228572e5068d41f9e6f9b9566ce9c037abcc","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-08-04T06:10:37.700963Z","times_seen":1208,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuNC41IEVYVEVOU0lPTiAtIFBBUkFMTEFYDQogKiBAdmVyc2lvbjogMi4yLjMgKDE3LjA1LjIwMTcpDQogKiBAcmVxdWlyZXMganF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcw0KICogQGF1dGhvciBUaGVtZVB1bmNoDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGUoYSxiKXthLmxhc3RzY3JvbGx0b3A9Yn12YXIgYj1qUXVlcnkuZm4ucmV2b2x1dGlvbixjPWIuaXNfbW9iaWxlKCksZD17YWxpYXM6IlBhcmFsbGF4IE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLnBhcmFsbGF4Lm1pbi5qcyIsbWluX2NvcmU6IjUuNC41Iix2ZXJzaW9uOiIyLjIuMyJ9O2pRdWVyeS5leHRlbmQoITAsYix7Y2hlY2tGb3JQYXJhbGxheDpmdW5jdGlvbihhLGUpe2Z1bmN0aW9uIGcoYSl7aWYoIjNEIj09Zi50eXBlfHwiM2QiPT1mLnR5cGUpe2EuZmluZCgiLnNsb3Rob2xkZXIiKS53cmFwQWxsKCc8ZGl2IGNsYXNzPSJkZGR3cmFwcGVyIiBzdHlsZT0id2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O292ZXJmbG93OmhpZGRlbiI+PC9kaXY+JyksYS5maW5kKCIudHAtcGFyYWxsYXgtd3JhcCIpLndyYXBBbGwoJzxkaXYgY2xhc3M9ImRkZHdyYXBwZXItbGF5ZXIiIHN0eWxlPSJ3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7ei1pbmRleDo1O292ZXJmbG93OicrZi5kZGRfbGF5ZXJfb3ZlcmZsb3crJzsiPjwvZGl2PicpLGEuZmluZCgiLnJzLXBhcmFsbGF4bGV2ZWwtdG9iZ2dyb3VwIikuY2xvc2VzdCgiLnRwLXBhcmFsbGF4LXdyYXAiKS53cmFwQWxsKCc8ZGl2IGNsYXNzPSJkZGR3cmFwcGVyLWxheWVydG9iZ2dyb3VwIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOjBweDtsZWZ0OjBweDt6LWluZGV4OjUwO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCUiPjwvZGl2PicpO3ZhciBiPWEuZmluZCgiLmRkZHdyYXBwZXIiKSxjPWEuZmluZCgiLmRkZHdyYXBwZXItbGF5ZXIiKTthLmZpbmQoIi5kZGR3cmFwcGVyLWxheWVydG9iZ2dyb3VwIikuYXBwZW5kVG8oYiksImNhcm91c2VsIj09ZS5zbGlkZXJUeXBlJiYoIm9uIj09Zi5kZGRfc2hhZG93JiZiLmFkZENsYXNzKCJkZGR3cmFwcGVyc2hhZG93IikscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGIse2JvcmRlclJhZGl1czplLmNhcm91c2VsLmJvcmRlcl9yYWRpdXN9KSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse292ZXJmbG93OiJ2aXNpYmxlIix0cmFuc2Zvcm1TdHlsZToicHJlc2VydmUtM2QiLHBlcnNwZWN0aXZlOjE2MDB9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYix7Zm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtT3JpZ2luOiI1MCUgNTAlIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChjLHtmb3JjZTNEOiJhdXRvIix0cmFuc2Zvcm1PcmlnaW46IjUwJSA1MCUiLHpJbmRleDo1fSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGUudWwse3RyYW5zZm9ybVN0eWxlOiJwcmVzZXJ2ZS0zZCIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6MTYwMH0pfX1pZigic3RvcCI9PT1iLmNvbXBhcmVfdmVyc2lvbihkKS5jaGVjaylyZXR1cm4hMTt2YXIgZj1lLnBhcmFsbGF4O2lmKCFmLmRvbmUpe2lmKGYuZG9uZT0hMCxjJiYib24iPT1mLmRpc2FibGVfb25tb2JpbGUpcmV0dXJuITE7IjNEIiE9Zi50eXBlJiYiM2QiIT1mLnR5cGV8fChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZS5jLHtvdmVyZmxvdzpmLmRkZF9vdmVyZmxvd30pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLnVsLHtvdmVyZmxvdzpmLmRkZF9vdmVyZmxvd30pLCJjYXJvdXNlbCIhPWUuc2xpZGVyVHlwZSYmIm9uIj09Zi5kZGRfc2hhZG93JiYoZS5jLnByZXBlbmQoJzxkaXYgY2xhc3M9ImRkZHdyYXBwZXJzaGFkb3ciPjwvZGl2PicpLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLmMuZmluZCgiLmRkZHdyYXBwZXJzaGFkb3ciKSx7Zm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6MTYwMCx0cmFuc2Zvcm1PcmlnaW46IjUwJSA1MCUiLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUiLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowLHpJbmRleDowfSkpKSxlLmxpLmVhY2goZnVuY3Rpb24oKXtnKGpRdWVyeSh0aGlzKSl9KSwoIjNEIj09Zi50eXBlfHwiM2QiPT1mLnR5cGUpJiZlLmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKS5sZW5ndGg+MCYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChlLmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSx7dG9wOjAsbGVmdDowLHdpZHRoOiIxMDAlIixoZWlnaHQ6IjEwMCUifSksZyhlLmMuZmluZCgiLnRwLXN0YXRpYy1sYXllcnMiKSkpLGYucGNvbnRhaW5lcnM9bmV3IEFycmF5LGYucGNvbnRhaW5lcl9kZXB0aHM9bmV3IEFycmF5LGYuYmdjb250YWluZXJzPW5ldyBBcnJheSxmLmJnY29udGFpbmVyX2RlcHRocz1uZXcgQXJyYXksZS5jLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkgLnNsb3Rob2xkZXIsIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGI9YS5kYXRhKCJiZ3BhcmFsbGF4Iil8fGUucGFyYWxsYXguYmdwYXJhbGxheDt2b2lkIDAhPT0oYj0ib24iPT1iPzE6YikmJiJvZmYiIT09YiYmKGYuYmdjb250YWluZXJzLnB1c2goYSksZi5iZ2NvbnRhaW5lcl9kZXB0aHMucHVzaChlLnBhcmFsbGF4LmxldmVsc1twYXJzZUludChiLDApLTFdLzEwMCkpfSk7Zm9yKHZhciBoPTE7aDw9Zi5sZXZlbHMubGVuZ3RoO2grKyllLmMuZmluZCgiLnJzLXBhcmFsbGF4bGV2ZWwtIitoKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGI9YS5jbG9zZXN0KCIudHAtcGFyYWxsYXgtd3JhcCIpO2IuZGF0YSgicGFyYWxsYXhsZXZlbCIsZi5sZXZlbHNbaC0xXSksYi5hZGRDbGFzcygidHAtcGFyYWxsYXgtY29udGFpbmVyIiksZi5wY29udGFpbmVycy5wdXNoKGIpLGYucGNvbnRhaW5lcl9kZXB0aHMucHVzaChmLmxldmVsc1toLTFdKX0pOyJtb3VzZSIhPWYudHlwZSYmInNjcm9sbCttb3VzZSIhPWYudHlwZSYmIm1vdXNlK3Njcm9sbCIhPWYudHlwZSYmIjNEIiE9Zi50eXBlJiYiM2QiIT1mLnR5cGV8fChhLm1vdXNlZW50ZXIoZnVuY3Rpb24oYil7dmFyIGM9YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIiksZD1hLm9mZnNldCgpLnRvcCxlPWEub2Zmc2V0KCkubGVmdCxmPWIucGFnZVgtZSxnPWIucGFnZVktZDtjLmRhdGEoImVudGVyeCIsZiksYy5kYXRhKCJlbnRlcnkiLGcpfSksYS5vbigibW91c2Vtb3ZlLmhvdmVyZGlyLCBtb3VzZWxlYXZlLmhvdmVyZGlyLCB0cmlnZ2VyM2RwYXRoIixmdW5jdGlvbihiLGMpe3ZhciBkPWMmJmMubGk/Yy5saTphLmZpbmQoIi5hY3RpdmUtcmV2c2xpZGUiKTtpZigiZW50ZXJwb2ludCI9PWYub3JpZ28pe3ZhciBnPWEub2Zmc2V0KCkudG9wLGg9YS5vZmZzZXQoKS5sZWZ0O3ZvaWQgMD09ZC5kYXRhKCJlbnRlcngiKSYmZC5kYXRhKCJlbnRlcngiLGIucGFnZVgtaCksdm9pZCAwPT1kLmRhdGEoImVudGVyeSIpJiZkLmRhdGEoImVudGVyeSIsYi5wYWdlWS1nKTt2YXIgaT1kLmRhdGEoImVudGVyeCIpfHxiLnBhZ2VYLWgsaj1kLmRhdGEoImVudGVyeSIpfHxiLnBhZ2VZLWcsaz1pLShiLnBhZ2VYLWgpLGw9ai0oYi5wYWdlWS1nKSxtPWYuc3BlZWQvMWUzfHwuNH1lbHNlIHZhciBnPWEub2Zmc2V0KCkudG9wLGg9YS5vZmZzZXQoKS5sZWZ0LGs9ZS5jb253LzItKGIucGFnZVgtaCksbD1lLmNvbmgvMi0oYi5wYWdlWS1nKSxtPWYuc3BlZWQvMWUzfHwzOyJtb3VzZWxlYXZlIj09Yi50eXBlJiYoaz1mLmRkZF9sYXN0aHx8MCxsPWYuZGRkX2xhc3R2fHwwLG09MS41KTtmb3IodmFyIG49MDtuPGYucGNvbnRhaW5lcnMubGVuZ3RoO24rKyl7dmFyIG89Zi5wY29udGFpbmVyc1tuXSxwPWYucGNvbnRhaW5lcl9kZXB0aHNbbl0scT0iM0QiPT1mLnR5cGV8fCIzZCI9PWYudHlwZT9wLzIwMDpwLzEwMCxyPWsqcSxzPWwqcTsic2Nyb2xsK21vdXNlIj09Zi50eXBlfHwibW91c2Urc2Nyb2xsIj09Zi50eXBlP3B1bmNoZ3MuVHdlZW5MaXRlLnRvKG8sbSx7Zm9yY2UzRDoiYXV0byIseDpyLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZU91dCxvdmVyd3JpdGU6ImFsbCJ9KTpwdW5jaGdzLlR3ZWVuTGl0ZS50byhvLG0se2ZvcmNlM0Q6ImF1dG8iLHg6cix5OnMsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LG92ZXJ3cml0ZToiYWxsIn0pfWlmKCIzRCI9PWYudHlwZXx8IjNkIj09Zi50eXBlKXt2YXIgdD0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLmRkZHdyYXBwZXJzaGFkb3csIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLmRkZHdyYXBwZXItbGF5ZXIsIC50cC1zdGF0aWMtbGF5ZXJzIC5kZGR3cmFwcGVyLWxheWVyIjsiY2Fyb3VzZWwiPT09ZS5zbGlkZXJUeXBlJiYodD0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlci1sYXllciwgLnRwLXN0YXRpYy1sYXllcnMgLmRkZHdyYXBwZXItbGF5ZXIiKSxlLmMuZmluZCh0KS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGM9Zi5sZXZlbHNbZi5sZXZlbHMubGVuZ3RoLTFdLzIwMCxkPWsqYyxnPWwqYyxoPTA9PWUuY29udz8wOk1hdGgucm91bmQoay9lLmNvbncqYyoxMDApfHwwLGk9MD09ZS5jb25oPzA6TWF0aC5yb3VuZChsL2UuY29uaCpjKjEwMCl8fDAsaj1hLmNsb3Nlc3QoImxpIiksbj0wLG89ITE7YS5oYXNDbGFzcygiZGRkd3JhcHBlci1sYXllciIpJiYobj1mLmRkZF96X2NvcnJlY3Rpb258fDY1LG89ITApLGEuaGFzQ2xhc3MoImRkZHdyYXBwZXItbGF5ZXIiKSYmKGQ9MCxnPTApLGouaGFzQ2xhc3MoImFjdGl2ZS1yZXZzbGlkZSIpfHwiY2Fyb3VzZWwiIT1lLnNsaWRlclR5cGU/Im9uIiE9Zi5kZGRfYmdmcmVlemV8fG8/cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxtLHtyb3RhdGlvblg6aSxyb3RhdGlvblk6LWgseDpkLHo6bix5OmcsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LG92ZXJ3cml0ZToiYWxsIn0pOnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsLjUse2ZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uWTowLHJvdGF0aW9uWDowLHo6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXQsb3ZlcndyaXRlOiJhbGwifSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSwuNSx7Zm9yY2UzRDoiYXV0byIscm90YXRpb25ZOjAseDowLHk6MCxyb3RhdGlvblg6MCx6OjAsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0LG92ZXJ3cml0ZToiYWxsIn0pLCJtb3VzZWxlYXZlIj09Yi50eXBlJiZwdW5jaGdzLlR3ZWVuTGl0ZS50byhqUXVlcnkodGhpcyksMy44LHt6OjAsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSl9KX19KSxjJiYod2luZG93Lm9uZGV2aWNlb3JpZW50YXRpb249ZnVuY3Rpb24oYil7dmFyIGM9TWF0aC5yb3VuZChiLmJldGF8fDApLTcwLGQ9TWF0aC5yb3VuZChiLmdhbW1hfHwwKSxnPWEuZmluZCgiLmFjdGl2ZS1yZXZzbGlkZSIpO2lmKGpRdWVyeSh3aW5kb3cpLndpZHRoKCk+alF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkpe3ZhciBoPWQ7ZD1jLGM9aH12YXIgaT1hLndpZHRoKCksaj1hLmhlaWdodCgpLGs9MzYwL2kqZCxsPTE4MC9qKmMsbT1mLnNwZWVkLzFlM3x8MyxuPVtdO2lmKGcuZmluZCgiLnRwLXBhcmFsbGF4LWNvbnRhaW5lciIpLmVhY2goZnVuY3Rpb24oYSl7bi5wdXNoKGpRdWVyeSh0aGlzKSl9KSxhLmZpbmQoIi50cC1zdGF0aWMtbGF5ZXJzIC50cC1wYXJhbGxheC1jb250YWluZXIiKS5lYWNoKGZ1bmN0aW9uKCl7bi5wdXNoKGpRdWVyeSh0aGlzKSl9KSxqUXVlcnkuZWFjaChuLGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGI9cGFyc2VJbnQoYS5kYXRhKCJwYXJhbGxheGxldmVsIiksMCksYz1iLzEwMCxkPWsqYyoyLGU9bCpjKjQ7cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxtLHtmb3JjZTNEOiJhdXRvIix4OmQseTplLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZU91dCxvdmVyd3JpdGU6ImFsbCJ9KX0pLCIzRCI9PWYudHlwZXx8IjNkIj09Zi50eXBlKXt2YXIgbz0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLmRkZHdyYXBwZXJzaGFkb3csIC50cC1yZXZzbGlkZXItc2xpZGVzbGkgLmRkZHdyYXBwZXItbGF5ZXIsIC50cC1zdGF0aWMtbGF5ZXJzIC5kZGR3cmFwcGVyLWxheWVyIjsiY2Fyb3VzZWwiPT09ZS5zbGlkZXJUeXBlJiYobz0iLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlciwgLnRwLXJldnNsaWRlci1zbGlkZXNsaSAuZGRkd3JhcHBlci1sYXllciwgLnRwLXN0YXRpYy1sYXllcnMgLmRkZHdyYXBwZXItbGF5ZXIiKSxlLmMuZmluZChvKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLGM9Zi5sZXZlbHNbZi5sZXZlbHMubGVuZ3RoLTFdLzIwMCxkPWsqYyxnPWwqYyozLGg9MD09ZS5jb253PzA6TWF0aC5yb3VuZChrL2UuY29udypjKjUwMCl8fDAsaT0wPT1lLmNvbmg/MDpNYXRoLnJvdW5kKGwvZS5jb25oKmMqNzAwKXx8MCxqPWEuY2xvc2VzdCgibGkiKSxuPTAsbz0hMTthLmhhc0NsYXNzKCJkZGR3cmFwcGVyLWxheWVyIikmJihuPWYuZGRkX3pfY29ycmVjdGlvbnx8NjUsbz0hMCksYS5oYXNDbGFzcygiZGRkd3JhcHBlci1sYXllciIpJiYoZD0wLGc9MCksai5oYXNDbGFzcygiYWN0aXZlLXJldnNsaWRlIil8fCJjYXJvdXNlbCIhPWUuc2xpZGVyVHlwZT8ib24iIT1mLmRkZF9iZ2ZyZWV6ZXx8bz9wdW5jaGdzLlR3ZWVuTGl0ZS50byhhLG0se3JvdGF0aW9uWDppLHJvdGF0aW9uWTotaCx4OmQsejpuLHk6ZyxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXQsb3ZlcndyaXRlOiJhbGwifSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSwuNSx7Zm9yY2UzRDoiYXV0byIscm90YXRpb25ZOjAscm90YXRpb25YOjAsejowLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZU91dCxvdmVyd3JpdGU6ImFsbCJ9KTpwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLC41LHtmb3JjZTNEOiJhdXRvIixyb3RhdGlvblk6MCx6OjAseDowLHk6MCxyb3RhdGlvblg6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXQsb3ZlcndyaXRlOiJhbGwifSksIm1vdXNlbGVhdmUiPT1iLnR5cGUmJnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGpRdWVyeSh0aGlzKSwzLjgse3o6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VPdXR9KX0pfX0pKTt2YXIgaT1lLnNjcm9sbGVmZmVjdDtpZihpLmJncz1uZXcgQXJyYXksaS5vbil7aWYoIm9uIj09PWkub25fc2xpZGViZylmb3IodmFyIGg9MDtoPGUuYWxsc2xvdGhvbGRlci5sZW5ndGg7aCsrKWkuYmdzLnB1c2goZS5hbGxzbG90aG9sZGVyW2hdKTtpLm11bHRpcGxpY2F0b3JfbGF5ZXJzPXBhcnNlRmxvYXQoaS5tdWx0aXBsaWNhdG9yX2xheWVycyksaS5tdWx0aXBsaWNhdG9yPXBhcnNlRmxvYXQoaS5tdWx0aXBsaWNhdG9yKX12b2lkIDAhPT1pLmxheWVycyYmMD09PWkubGF5ZXJzLmxlbmd0aCYmKGkubGF5ZXJzPSExKSx2b2lkIDAhPT1pLmJncyYmMD09PWkuYmdzLmxlbmd0aCYmKGkuYmdzPSExKSxiLnNjcm9sbFRpY2tlcihlLGEpfX0sc2Nyb2xsVGlja2VyOmZ1bmN0aW9uKGEsZCl7MSE9YS5zY3JvbGxUaWNrZXImJihhLnNjcm9sbFRpY2tlcj0hMCxjPyhwdW5jaGdzLlR3ZWVuTGl0ZS50aWNrZXIuZnBzKDE1MCkscHVuY2hncy5Ud2VlbkxpdGUudGlja2VyLmFkZEV2ZW50TGlzdGVuZXIoInRpY2siLGZ1bmN0aW9uKCl7Yi5zY3JvbGxIYW5kbGluZyhhKX0sZCwhMSwxKSk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigic2Nyb2xsIixmdW5jdGlvbihjKXtiLnNjcm9sbEhhbmRsaW5nKGEsITApfSx7cGFzc2l2ZTohMH0pKSxiLnNjcm9sbEhhbmRsaW5nKGEsITApfSxzY3JvbGxIYW5kbGluZzpmdW5jdGlvbihhLGQsZil7aWYoYS5sYXN0d2luZG93aGVpZ2h0PWEubGFzdHdpbmRvd2hlaWdodHx8d2luZG93LmlubmVySGVpZ2h0LGEuY29uaD0wPT09YS5jb25ofHx2b2lkIDA9PT1hLmNvbmg/YS5pbmZ1bGxzY3JlZW5tb2RlP2EubWluSGVpZ2h0OmEuYy5oZWlnaHQoKTphLmNvbmgsYS5sYXN0c2Nyb2xsdG9wPT13aW5kb3cuc2Nyb2xsWSYmIWEuZHVyaW5nc2xpZGVjaGFuZ2UmJiFkKXJldHVybiExO3B1bmNoZ3MuVHdlZW5MaXRlLmRlbGF5ZWRDYWxsKC4yLGUsW2Esd2luZG93LnNjcm9sbFldKTt2YXIgZz1hLmNbMF0uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksaD1hLnZpZXdQb3J0LGk9YS5wYXJhbGxheCxqPWcudG9wPDB8fGcuaGVpZ2h0PmEubGFzdHdpbmRvd2hlaWdodD9nLnRvcC9nLmhlaWdodDpnLmJvdHRvbT5hLmxhc3R3aW5kb3doZWlnaHQ/KGcuYm90dG9tLWEubGFzdHdpbmRvd2hlaWdodCkvZy5oZWlnaHQ6MDtpZihhLnNjcm9sbHByb2M9aixiLmNhbGxCYWNrSGFuZGxpbmcmJmIuY2FsbEJhY2tIYW5kbGluZyhhLCJwYXJhbGxheCIsInN0YXJ0IiksaC5lbmFibGUpe3ZhciBrPTEtTWF0aC5hYnMoaik7az1rPDA/MDprLGpRdWVyeS5pc051bWVyaWMoaC52aXNpYmxlX2FyZWEpfHwtMSE9PWgudmlzaWJsZV9hcmVhLmluZGV4T2YoIiUiKSYmKGgudmlzaWJsZV9hcmVhPXBhcnNlSW50KGgudmlzaWJsZV9hcmVhKS8xMDApLDEtaC52aXNpYmxlX2FyZWE8PWs/YS5pbnZpZXdwb3J0fHwoYS5pbnZpZXdwb3J0PSEwLGIuZW50ZXJJblZpZXdQb3J0KGEpKTphLmludmlld3BvcnQmJihhLmludmlld3BvcnQ9ITEsYi5sZWF2ZVZpZXdQb3J0KGEpKX1pZihjJiYib24iPT1pLmRpc2FibGVfb25tb2JpbGUpcmV0dXJuITE7aWYoIjNkIiE9aS50eXBlJiYiM0QiIT1pLnR5cGUpe2lmKCgic2Nyb2xsIj09aS50eXBlfHwic2Nyb2xsK21vdXNlIj09aS50eXBlfHwibW91c2Urc2Nyb2xsIj09aS50eXBlKSYmaS5wY29udGFpbmVycylmb3IodmFyIGw9MDtsPGkucGNvbnRhaW5lcnMubGVuZ3RoO2wrKylpZihpLnBjb250YWluZXJzW2xdLmxlbmd0aD4wKXt2YXIgbT1pLnBjb250YWluZXJzW2xdLG49aS5wY29udGFpbmVyX2RlcHRoc1tsXS8xMDAsbz1NYXRoLnJvdW5kKGoqKC1uKmEuY29uaCkqMTApLzEwfHwwLHA9dm9pZCAwIT09Zj9mOmkuc3BlZWRscy8xZTN8fDA7bS5kYXRhKCJwYXJhbGxheG9mZnNldCIsbykscHVuY2hncy5Ud2VlbkxpdGUudG8obSxwLHtvdmVyd3JpdGU6ImF1dG8iLGZvcmNlM0Q6ImF1dG8iLHk6b30pfWlmKGkuYmdjb250YWluZXJzKWZvcih2YXIgbD0wO2w8aS5iZ2NvbnRhaW5lcnMubGVuZ3RoO2wrKyl7dmFyIHE9aS5iZ2NvbnRhaW5lcnNbbF0scj1pLmJnY29udGFpbmVyX2RlcHRoc1tsXSxvPWoqKC1yKmEuY29uaCl8fDAscD12b2lkIDAhPT1mP2Y6aS5zcGVlZGJnLzFlM3x8MDtwdW5jaGdzLlR3ZWVuTGl0ZS50byhxLHAse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBweCIsYmFja2ZhY2VWaXNpYmlsaXR5OiJoaWRkZW4iLGZvcmNlM0Q6InRydWUiLHk6bysicHgifSl9fXZhciBzPWEuc2Nyb2xsZWZmZWN0O2lmKHMub24mJigib24iIT09cy5kaXNhYmxlX29uX21vYmlsZXx8IWMpKXt2YXIgdD1NYXRoLmFicyhqKS1zLnRpbHQvMTAwO2lmKHQ9dDwwPzA6dCwhMSE9PXMubGF5ZXJzKXt2YXIgdT0xLXQqcy5tdWx0aXBsaWNhdG9yX2xheWVycyx2PXtiYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiIsZm9yY2UzRDoidHJ1ZSIsejouMDAxLHBlcnNwZWN0aXZlOjYwMH07aWYoInRvcCI9PXMuZGlyZWN0aW9uJiZqPj0wJiYodT0xKSwiYm90dG9tIj09cy5kaXJlY3Rpb24mJmo8PTAmJih1PTEpLHU9dT4xPzE6dTwwPzA6dSwib24iPT09cy5mYWRlJiYodi5vcGFjaXR5PXUpLCJvbiI9PT1zLnNjYWxlKXt2YXIgdz11O3Yuc2NhbGU9MS13KzF9aWYoIm9uIj09PXMuYmx1cil7dmFyIHg9KDEtdSkqcy5tYXhibHVyO3ZbIi13ZWJraXQtZmlsdGVyIl09ImJsdXIoIit4KyJweCkiLHYuZmlsdGVyPSJibHVyKCIreCsicHgpIn1pZigib24iPT09cy5ncmF5c2NhbGUpe3ZhciB5PTEwMCooMS11KSx6PSJncmF5c2NhbGUoIit5KyIlKSI7dlsiLXdlYmtpdC1maWx0ZXIiXT12b2lkIDA9PT12WyItd2Via2l0LWZpbHRlciJdP3o6dlsiLXdlYmtpdC1maWx0ZXIiXSsiICIreix2LmZpbHRlcj12b2lkIDA9PT12LmZpbHRlcj96OnYuZmlsdGVyKyIgIit6fXB1bmNoZ3MuVHdlZW5MaXRlLnNldChzLmxheWVycyx2KX1pZighMSE9PXMuYmdzKXt2YXIgdT0xLXQqcy5tdWx0aXBsaWNhdG9yLHY9e2JhY2tmYWNlVmlzaWJpbGl0eToiaGlkZGVuIixmb3JjZTNEOiJ0cnVlIn07aWYoInRvcCI9PXMuZGlyZWN0aW9uJiZqPj0wJiYodT0xKSwiYm90dG9tIj09cy5kaXJlY3Rpb24mJmo8PTAmJih1PTEpLHU9dT4xPzE6dTwwPzA6dSwib24iPT09cy5mYWRlJiYodi5vcGFjaXR5PXUpLCJvbiI9PT1zLnNjYWxlKXt2YXIgdz11O3B1bmNoZ3MuVHdlZW5MaXRlLnNldChqUXVlcnkoIi50cC1rYmltZy13cmFwIikse3RyYW5zZm9ybU9yaWdpbjoiNTAlIDUwJSIsc2NhbGU6dyxmb3JjZTNEOiEwfSl9aWYoIm9uIj09PXMuYmx1cil7dmFyIHg9KDEtdSkqcy5tYXhibHVyO3ZbIi13ZWJraXQtZmlsdGVyIl09ImJsdXIoIit4KyJweCkiLHYuZmlsdGVyPSJibHVyKCIreCsicHgpIn1pZigib24iPT09cy5ncmF5c2NhbGUpe3ZhciB5PTEwMCooMS11KSx6PSJncmF5c2NhbGUoIit5KyIlKSI7dlsiLXdlYmtpdC1maWx0ZXIiXT12b2lkIDA9PT12WyItd2Via2l0LWZpbHRlciJdP3o6dlsiLXdlYmtpdC1maWx0ZXIiXSsiICIreix2LmZpbHRlcj12b2lkIDA9PT12LmZpbHRlcj96OnYuZmlsdGVyKyIgIit6fXB1bmNoZ3MuVHdlZW5MaXRlLnNldChzLmJncyx2KX19Yi5jYWxsQmFja0hhbmRsaW5nJiZiLmNhbGxCYWNrSGFuZGxpbmcoYSwicGFyYWxsYXgiLCJlbmQiKX19KX0oalF1ZXJ5KTs="}},"time_used":616,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":613,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/flaticon-png/small/f5.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.833Z","timestamp":1785133989833,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/flaticon-png/small/f5.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/png\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 11840\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":11840,"size_decoded":12027,"mime_type":"image/png","magic":"PNG image data, 90 x 90, 8-bit/color RGBA, non-interlaced","md5":"67f4d37618efe267b9c5f5181d2b3b4f","sha1":"a117c20aab493c7db08390625e91b27d47d88a58","sha256":"9b284a955f2f5eec860c5e81af3a2de78b9708c7c79ac152ab6ce190469ebf5a","sha512":"993b10e699227a4981bb0a87d8f39901baa013972b0c1b5bcf3447834670bd72ed68b81a120591b5a6ed9d7cfe8250caef7959ffa47c9864a8a8f9a80833462c","ssdeep":"192:0SDS0tKg9E05Tg9iJVGMIB7ekCnkgryjQC/Y9NxIAUw8zzA4/nD2x9nsk3eqvM9B:zJXE05zJMx4yEC/sNCwr4HCoesPXfV6a","tlshash":"d232c0e626b0d6aa6589fdab688d62d0f3123314c6353890a1d5f9de016bdc746028b9","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:37:46.994107Z","times_seen":34,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKT2lDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVNnVFPpFj333vRCS4iAlEtvUhUIIFJCi4AUkSYqIQkQSoghodkVUcERRUUEG8igiAOOjoCMFVEsDIoK2AfkIaKOg6OIisr74Xuja9a89+bN/rXXPues852zzwfACAyWSDNRNYAMqUIeEeCDx8TG4eQuQIEKJHAAEAizZCFz/SMBAPh+PDwrIsAHvgABeNMLCADATZvAMByH/w/qQplcAYCEAcB0kThLCIAUAEB6jkKmAEBGAYCdmCZTAKAEAGDLY2LjAFAtAGAnf+bTAICd+Jl7AQBblCEVAaCRACATZYhEAGg7AKzPVopFAFgwABRmS8Q5ANgtADBJV2ZIALC3AMDOEAuyAAgMADBRiIUpAAR7AGDIIyN4AISZABRG8lc88SuuEOcqAAB4mbI8uSQ5RYFbCC1xB1dXLh4ozkkXKxQ2YQJhmkAuwnmZGTKBNA/g88wAAKCRFRHgg/P9eM4Ors7ONo62Dl8t6r8G/yJiYuP+5c+rcEAAAOF0ftH+LC+zGoA7BoBt/qIl7gRoXgugdfeLZrIPQLUAoOnaV/Nw+H48PEWhkLnZ2eXk5NhKxEJbYcpXff5nwl/AV/1s+X48/Pf14L7iJIEyXYFHBPjgwsz0TKUcz5IJhGLc5o9H/LcL//wd0yLESWK5WCoU41EScY5EmozzMqUiiUKSKcUl0v9k4t8s+wM+3zUAsGo+AXuRLahdYwP2SycQWHTA4vcAAPK7b8HUKAgDgGiD4c93/+8//UegJQCAZkmScQAAXkQkLlTKsz/HCAAARKCBKrBBG/TBGCzABhzBBdzBC/xgNoRCJMTCQhBCCmSAHHJgKayCQiiGzbAdKmAv1EAdNMBRaIaTcA4uwlW4Dj1wD/phCJ7BKLyBCQRByAgTYSHaiAFiilgjjggXmYX4IcFIBBKLJCDJiBRRIkuRNUgxUopUIFVIHfI9cgI5h1xGupE7yAAygvyGvEcxlIGyUT3UDLVDuag3GoRGogvQZHQxmo8WoJvQcrQaPYw2oefQq2gP2o8+Q8cwwOgYBzPEbDAuxsNCsTgsCZNjy7EirAyrxhqwVqwDu4n1Y8+xdwQSgUXACTYEd0IgYR5BSFhMWE7YSKggHCQ0EdoJNwkDhFHCJyKTqEu0JroR+cQYYjIxh1hILCPWEo8TLxB7iEPENyQSiUMyJ7mQAkmxpFTSEtJG0m5SI+ksqZs0SBojk8naZGuyBzmULCAryIXkneTD5DPkG+Qh8lsKnWJAcaT4U+IoUspqShnlEOU05QZlmDJBVaOaUt2ooVQRNY9aQq2htlKvUYeoEzR1mjnNgxZJS6WtopXTGmgXaPdpr+h0uhHdlR5Ol9BX0svpR+iX6AP0dwwNhhWDx4hnKBmbGAcYZxl3GK+YTKYZ04sZx1QwNzHrmOeZD5lvVVgqtip8FZHKCpVKlSaVGyovVKmqpqreqgtV81XLVI+pXlN9rkZVM1PjqQnUlqtVqp1Q61MbU2epO6iHqmeob1Q/pH5Z/YkGWcNMw09DpFGgsV/jvMYgC2MZs3gsIWsNq4Z1gTXEJrHN2Xx2KruY/R27iz2qqaE5QzNKM1ezUvOUZj8H45hx+Jx0TgnnKKeX836K3hTvKeIpG6Y0TLkxZVxrqpaXllirSKtRq0frvTau7aedpr1Fu1n7gQ5Bx0onXCdHZ4/OBZ3nU9lT3acKpxZNPTr1ri6qa6UbobtEd79up+6Ynr5egJ5Mb6feeb3n+hx9L/1U/W36p/VHDFgGswwkBtsMzhg8xTVxbzwdL8fb8VFDXcNAQ6VhlWGX4YSRudE8o9VGjUYPjGnGXOMk423GbcajJgYmISZLTepN7ppSTbmmKaY7TDtMx83MzaLN1pk1mz0x1zLnm+eb15vft2BaeFostqi2uGVJsuRaplnutrxuhVo5WaVYVVpds0atna0l1rutu6cRp7lOk06rntZnw7Dxtsm2qbcZsOXYBtuutm22fWFnYhdnt8Wuw+6TvZN9un2N/T0HDYfZDqsdWh1+c7RyFDpWOt6azpzuP33F9JbpL2dYzxDP2DPjthPLKcRpnVOb00dnF2e5c4PziIuJS4LLLpc+Lpsbxt3IveRKdPVxXeF60vWdm7Obwu2o26/uNu5p7ofcn8w0nymeWTNz0MPIQ+BR5dE/C5+VMGvfrH5PQ0+BZ7XnIy9jL5FXrdewt6V3qvdh7xc+9j5yn+M+4zw33jLeWV/MN8C3yLfLT8Nvnl+F30N/I/9k/3r/0QCngCUBZwOJgUGBWwL7+Hp8Ib+OPzrbZfay2e1BjKC5QRVBj4KtguXBrSFoyOyQrSH355jOkc5pDoVQfujW0Adh5mGLw34MJ4WHhVeGP45wiFga0TGXNXfR3ENz30T6RJZE3ptnMU85ry1KNSo+qi5qPNo3ujS6P8YuZlnM1VidWElsSxw5LiquNm5svt/87fOH4p3iC+N7F5gvyF1weaHOwvSFpxapLhIsOpZATIhOOJTwQRAqqBaMJfITdyWOCnnCHcJnIi/RNtGI2ENcKh5O8kgqTXqS7JG8NXkkxTOlLOW5hCepkLxMDUzdmzqeFpp2IG0yPTq9MYOSkZBxQqohTZO2Z+pn5mZ2y6xlhbL+xW6Lty8elQfJa7OQrAVZLQq2QqboVFoo1yoHsmdlV2a/zYnKOZarnivN7cyzytuQN5zvn//tEsIS4ZK2pYZLVy0dWOa9rGo5sjxxedsK4xUFK4ZWBqw8uIq2Km3VT6vtV5eufr0mek1rgV7ByoLBtQFr6wtVCuWFfevc1+1dT1gvWd+1YfqGnRs+FYmKrhTbF5cVf9go3HjlG4dvyr+Z3JS0qavEuWTPZtJm6ebeLZ5bDpaql+aXDm4N2dq0Dd9WtO319kXbL5fNKNu7g7ZDuaO/PLi8ZafJzs07P1SkVPRU+lQ27tLdtWHX+G7R7ht7vPY07NXbW7z3/T7JvttVAVVN1WbVZftJ+7P3P66Jqun4lvttXa1ObXHtxwPSA/0HIw6217nU1R3SPVRSj9Yr60cOxx++/p3vdy0NNg1VjZzG4iNwRHnk6fcJ3/ceDTradox7rOEH0x92HWcdL2pCmvKaRptTmvtbYlu6T8w+0dbq3nr8R9sfD5w0PFl5SvNUyWna6YLTk2fyz4ydlZ19fi753GDborZ752PO32oPb++6EHTh0kX/i+c7vDvOXPK4dPKy2+UTV7hXmq86X23qdOo8/pPTT8e7nLuarrlca7nuer21e2b36RueN87d9L158Rb/1tWeOT3dvfN6b/fF9/XfFt1+cif9zsu72Xcn7q28T7xf9EDtQdlD3YfVP1v+3Njv3H9qwHeg89HcR/cGhYPP/pH1jw9DBY+Zj8uGDYbrnjg+OTniP3L96fynQ89kzyaeF/6i/suuFxYvfvjV69fO0ZjRoZfyl5O/bXyl/erA6xmv28bCxh6+yXgzMV70VvvtwXfcdx3vo98PT+R8IH8o/2j5sfVT0Kf7kxmTk/8EA5jz/GMzLdsAAAAgY0hSTQAAeiUAAICDAAD5/wAAgOkAAHUwAADqYAAAOpgAABdvkl/FRgAAI2tJREFUeNrsnXd8VFXax793aiaZSe89EAgttIQiCKjYAFFsrGXtbWV9FRusZdeyumJjLatiR9aC67oqNhAbUqQX6YF00nsyvd33jzOZmTsphKLyru/5fOaTzLn3nrn3d899yu95nnMlft1mAsYA2cBA3990wAiEBf21+j52oA2oBMqAg0ARsAVwcAI36Vf4zQnAGT6AxwHxx2HMamA98COwEtjBb7TlAw8CPwHyL/BZD9wJ5P5WAD4D+OxIgcrIGy1nD5no/y5JKjl3xGlyctbgIwXcC7wLnPTfCvB5wPdHAorBlCifNnu+fOszm+XF22X5pse+CmyXJPm+xSXyK+tlec4T38sTZtwkq9SGIwX9c+DUXwsQzXEebyTwV+CcLspApUGr1eN0WLocNPWS+Uy5YB4pObFY28HlBEtba2AHWaajtRmvN4fBY6YwcsoUTvvdPXz93sOs//KNLuPpw6NwWNtCu6f7Pu8C9wLlvyTQquM41t+Abd2BPPV3f2LalU+g1uoV/fGpg7j9H2u5fN4Cwo2xVBZBUw04HSDLHsW+steNwwb1VVB1EOJTs7jhkde54ZHPCDclKfbV6sK58JY3OWn6Nd2d52XATmDu/zWg84FNwD2hG4ZPvJjHl5Uz49qH2LH6bWzmZv+2/vlnMv/VjeQVTKBsL3S0gEoF0mHOqHOf5lqoLIJxZ81g/mubSMwY4d/H3FrDznXvcvVf3uD+JZsZOOrs7szKvwNfAKn/F4C+xmfDFgZ3Dhh5GnOe/I573vwX0QmZPHhpLlXFW/3bh46fzd0vr0CrM3HoQN8A7nLiavG3fB/Ep2Qw/9UfSc4a7d9etHUlD102nsFjCrj3zS+55oFlpPYbEzrMNGAzcPaJDPQC4A1AG5DDYVx4yz+Y+/w3jJx8Ch0t8Nh1p9PeXOk/KGfoVOY88T7WdmiqBY322C5ArYHactCFGbjjxVXEJfcPGNclG1h4yxxkYNzZM7n75Y2cdcWDoUOkAF8Cd52IQC8B5gd39Bt2Kve+uZ1pV/2R5lrR99lriyjb841/n8jYNOY8+RkuF7Q0CJCOR1NroL4CjFFG/vj0arT6CP+2Ld+8xOpPvkGWwdoBF936ALf/Yx2JGcNDh3nSp2dOCKAln+d1RXDnyefdwZ0vfktyVh6le8AUA6W7K1j26hzFwTc++jXGqDCaqo8fyH6wtVBTChkDU/j9/A8U295/+lJa6y1odVCxH/JGn8T8VzcxbOKlocPcA7x6IgD9JXC6H3VJyzUPfMqcx5+mrQnqK0FvEJ+lT1/pM199wvDqvzPspEHUlB1/kP1gq6G6GCbNmkbhGTf5+y3tDXz00jxik4Q+OHQQPG4d97z+Lufd9GzoMNcD//g1gV4CnKUwufBQW76P1kYwmMDrgYRU2Pb9Wkp3r/Lvlz6gkHOunUt1CUg/J7sigccDzXUwe+4LGKOT/Zs2rniRou2VxCSK2x9ugsYqN43VB7sb6Y/AI78G0E+EigufccuXi+/myZtOw9xaS//h4PXCF4vvULqJf3gFtQZslp8ZaJ/519YIMYlqzrlOOTGXL56HKQb6DYWq4t08cuUI1n76fE9D3Qfc9ksCfQVwd2DWqBl/9rWKHUp3f8dj1xZwcMc2tq9ew6EDG/3bBo2ZSf7EUdRV/HwiozvTr74SJs64kKTMYf7+n9YupWhrGRtWfM5j146ioWpPwMnRmxh39nWhQz3jYxt/dqCzgcXBHeff/CLzX3+d6x/+HJUqzN9vba/mb9cUsOSRGYF7IqmYdtVTOG3ikf7FuF8J7FbQ6GHalQsV256bW8Ar954DuPx9xuh05j67lnkvv8bk8+8LHe4TBC/+swEtAcuD95l47l2cc+2N7P4Rxp41nXmvbCIpc7hCajts7f5vE2fOZdKsgdjMfknzizTZCyof2NOvPYNBhdP922yWZsW+/fNPYd4rG8gZls/+bXD5/EcYPOYCBVMA/OvnBPpRIK/zS1ruGC6f9ySN1eC0waEDkDFwGPNe2cKEc27pdoDSPWt578lXcNisZAyA6EQhPmQvyPLxB1f2CgcoLhXScqGxupYljy7oSeEx7apHmPv8d0TFpVJTCrYOsLbDdQ8vxRSbGupB/v6YLKIe+vsBHwRknpZb/76eCJOJlnoBlqQS/IQ2TMXk86cTYRrEznUfKgbpaK5iz4bP2PT1W5ib2zGYkolLjic+VYzhdQvAZW/AEpRlMEZBZdEudq4NjDfurOuJTU7HavY/PEg+eazVQ1Q8xCSB2wUV+7ey/J8LeH/hdezb9AXWjiYlZak18IcFazjriktpqoX2JnE+KpUAOiFdTVLmJDatfC34sDN9Mtt9PGnSN5RWw8vkDE2lbI9Soak10NEMUbEQHpXU44+YW6pY8c5DrHjnIfrlT2Jw4UzyxswgPmUIMYmg1QmA3C5wO0EfDiq1LsT70xMWIZwhrQ40GlDrwGEFc6uH4h1b2bPxC/Zt/oxDBzb3etFer5vI2BQ6WsBmDrkmLVSXQOHUsUyadTerP37SL8p9QN90vIA+G5jS+SW1fyFnXHoNteUBIkcxgA7cblj76XP+vqj4TMaeeSXrv3yTjpYqxf4lO1dTsnM1n785j8SMAaTkFJCcVUj24FFERCWh0cUTFZ+ETq+0A7VhWpwOqK+swuNqoq2pmtI9m6iv2EZ16Taaa8t6vMikzKEMGTuLNcueweW04PW4WPPpc1zxp6dQdSM8ZVnQtefe8ARbv30LS3u937kFngN2H4WJ36VtBUZ1fpnzxCaGnVRITbnwvEJPyBgN7U3tPHZdCm6nFYARky/j/iXvULTFyrrPF7Hl28XUlu3s253XmYhPycTjttNQVRxgfrKH4XI5aamrxOO29WmszEHjGHvGTUyYeQ1xyXDfBeM5dHADAHHJ/bnr5YPIHsF/hzaPBzIHwtdLP+D9hbODN30AzD7WGT05GOT8CRcyckohNaVdQe5s4UbYtPILP8gAA0fNoK4CtPpwZl5/B1MuuIPS3d+z7bv32bf5C1obK3o8Ibezg9ryrhOmpmxXny4oIS2PwWNnMnLKxWQNGku4CdoawGqGQWOm+4Fuqi2mfO9GhowdS1NtV0dK7bPFTz73YlZ/PJrqEj/Ne7FPh5UcC9APB385bfbDOO3gcXcvNiRJfIp3rFAomoGjzsJuAXOb+OgNMHT8KeRPPIXGKje15T9StH0VlfvXUVW8HXNrzVH73NHxGaTljiZ78CT6DZ9McmYhcSngtEN7M7T59GC4HQaNOY+v33vAf3TxzpWMOmVsj6PbbRAfBqdf8ghL/jY9eNPdwM1HC3T/YNk8YOTp5BUOoaGqe5BBKCVzG1SXBkj97KETSMqKo7UBv/xzOaD+kPiuN2gYNGYSIyZNwtIBrQ0O2hoP0lK3l8aaatqbq0C2UlW8jdLda/3j5hWcRULaAFRqE5Fx6cSnphGTMITohByi4jUYIoTdbGmDmjKfVaIKnIO5FdL6jSAuuR9NtSU+vnorTru4vu5sfJVKyOoRU6YR+0YuzbV+M/EqH39tORqgLw/eMGnWPUgSeFzdAy3LYIiAuspqakoDj3p67gS0OmG6BWuAzgt22AQgYvZDuFFPdMJQBo4aiiSJcVNyYOW7X/HS/ACHNfu2RQw7OZvGQ+Ip8nrFWJ0zt6Ve+ZSFah+XE+JSIC13rB/oyqJNNNfJ6PQSDlsPHqZFHDd51p18vMg/iQ3A+cDbR+Ow+A3ymMRs8kafRktdz7MZQGeA6pItQMC/zhhYgMcdTJD2LHI8bgF6W6OY8XWV4m9tOXS0KKPYbc2N1JUF9muoEgA7bII19APco0knzLj03ECKR3tTJQ1VOzBE9OxAdfoLw0++HI0yuHz50XiG44ABnZ3DJ/2OmCRw2Hs5UBInUbpnrWK4pIzR3c4O+gB8J1Cy3F0U3OMHI3T/vjaXE7IGFyqVbOk2dIbez83SBklZJvIKZgRvOsMXBjsioM8I7hx60mzxePcyLSWVcC6aagJiIylrGHGpGThsPz8dejR2rMMK8an56A3R/v668t3ipvXm4HjEAMMnXRrqVU85UqD9VGBMUjZp/UZjbuk9Mq1Sixlvbq319yWm52KKFsrvhGuSEDOmGBPxaTkB8dFcjscNkrr3Y20d0G/o6ajUCvEx6UiAjgDG+438gROIihOPWW9Nq4eOFitNNYEItzEqXWhwmROyeT2gC4PImABh1FJfhaW992i8JAlXPT41msyBCtFz8pEAPQ6I6ezIGTYFjcb3uPTElMnihM2tpVg76gJ8YloeyCcw0F5BGUTFB5JMGw4V0dEiAre9iUq3CwxGyBw8Mbg7H8jsK9CKHTMGFnTrknaxCzXQ1qTkMeJSMvB6OaGbJEF8al7AKbE20d5cjkbbu6UEwkrKHDg2VPT37yvQeQGvLpyIyEyc9sMrM0kF5tZWRZ/BmIDbdeKCLMvCvo+MS1Z6gJbmXs3YYKvFFJvRhVLpK9D9AjMyi8jYBGHWSb1rcEkCR2fopFNua429ipwTBWy9IULR57Sbu2XxQq/Z5YCo2H6otQp7cEhfgU7r/BKdkElYhHhEAvZs9ycrAzZzUxAJo0Orj8Ltxi+nj/rTTQRGlmV//7F8PB7Qh0cqxnbY2kHq5lqDgxKSMGeNMfHEJeeGBkn65IL7A4+GiHjUPqvB64HIOMHOtTWJdCpJEtEPYwykZANBToXBGEdmXgZRcWAxcdTVMbIXUvtBdILy8Y5LziQlRygzSXX0Y8cmg7V9uO8EBbK6MD3pAwRN0NEirhXftZpiRJ+lDTxeYQRERMWJciUfX9VXoMMC0QU9KrVPjsVCTVkJNSXrGTTmYsJNWtRqaGtqYvvq5UTFaSjf+4Pi9m9auRSNTsLlOAazQ4aoeC17N61WkuTfLaG2Ihdzi/uYSpzCTWpa6hp9/oZ4dPds+ASD0Y65VWLgqPMINwkcOpqb2L7qS/rnTyMyPg5bB6hNoNWFKVRTX3/7kO/WyhNmzJVf+EGWn14uy3e8sFvWG6JlQM7MmyA/+41HfvC9ejk6PuOXKPb51T6p/UbLTy13y3/9oFmOScySATkmMUv+yzvV8pOfy/Kz38py/sSLgo/Z1FcZHRZwQiJAAlMs7N34KQ6bsCoq9q+jo8XBoYO7aG2s5L+5VZdspa2+lbqKElrqy31OTTnle7dijBbiJWRG6/sKtJ8Ccjo6kGVobYBRp1xCXIrgmUZMuoTI2DCyBxeQPmDMfzXQQ8afT0xyDGn9hpCZJ5iJrMETGTByIu1NQi05nQq2zdFXGW0OaN8OZA9YWiE6MYv/WbiV5tr9pOcW0NYMGm0kc57YSE3ZZmISNHy86HF+WrMUAFNMKlfd/x/0Bi1O+9Eb07IXYlPC2fbdMj597f4AJzn/LbIHj6Ct0X70ylAGY7SOhqpDvP6XC/wy+pSL7mbSeb+nrdFDWu4orB2gVhv4w2NrqS3fQnJWASq1yB3UGcCtBNraV6D9M9rjsvt5W3MLREQa6T+8gI4WcNnFJywCBowoJCUH1n85wg+0x+0me/A4ohJEbsSx2LkpOVBfoQxv5QydzODCbBqqj54ZlGWIS4YDO9JDOPRx5E8YTnWJiBh14hgWAf1HFGBpE5aIziCcFqfNclQz2g+LtaNeMFmSYOdsZp9ZpwoEAJx2aLKK75IqwMTYrC1Ul5Ujy1l0tB4bGBottLcoU7daG2ppqMqmuf7YxgaoOrhLQWx4XF5qy6G5Xsjg4Gt1WAPXr9aIiEtro4J6qO8r0FUBJqtCPDZaX1JiD+R6J+luMMYGLsLjwuVoR6M5OlI+1L0PPV6SJH//sYyt0oDNrKQOwgxRIsYodX8unWan4HeaaFNG8fsUDVcBBzq/NNdV0NFSgz6sdwZOBrwyhEUokyxdjo7eed0TgFBSq8DSoXxatAYjXvmw5r2PGi7B41bI6PK+Al0c4GsdmFvLUFovPSstU3Ssos/aUS/oxhOZvVOB3dIWQobF+WmH3ppODw2H9oV2HzhioAHK9m5G2wfLUHiP6Yq+xuryo7YIfknyPzhNLSIymciYbNyuwzucag1UF28PtTh29RXojYA/HlW+dxUuJ72yWZIEdjsYo3MwRqcGAb3Pv/1EbCo1uFzQVB1IT0tIH4ApVi/KorvRQ51KVK0BSwdUFm0IHnIf0NxXZehGLChyPkD5/h9pbRDkSW/RbJcdTDE64lIyMbdWA2BprxEzQ/XLJZ0fSdPqwNzipb6yyN8XnZhOTAKY24VokOVA3ojkEzWyDKZo2L+1hfJ964OH/LGvv92ZQLO2E+iO5moq9v/AyMmTqa/smSnzesWJGaMCEffa8v10tIj+I005+CV46LBwOHSwmJaGgP7KypsMEhRt3UhN6XZaG+uwtFfjtLWhVmvR6CKISezHiJMnsnPdDwr7G/j0SIH+Eniqs3Pn2n9ROHVyr0JL9gozMDFjBLvXfwRAU/U+GqsOkjEwF7v1xBMhGj00Vit1144flrL561eoKt7W67HLl3TpqgNW9Fls+f7uQSwBAcCudf+msVp4Rj0F0jo56+whyqKlmrItvSakdBtECEqMUamEPFRr9CGKSO/Pylcm2vSNevV6IDYRGqqUZRZle1cdFuQemgFRpq0/EqAB/tn5j7mtjj0bPyI2iV6DrQ47JGePVGTnVxVvRqPuG7B6A0TFCbc4IV3kuEXFC3mo1ioR1IdpMMWI7XGpkJAmjouMxW8ldQe87BXiLzMP9m0uZtPKF3s34dQSmQk6Rg6IIC8tDKO+R6sgErHwwC5g5mHNyqD/U4O9xPQBY5n/ygZaG+nRxtRoRaLjM7eNpbJI0LLZQyYy97k1dLR0DYlptBARKY5BEomJLfUlNNUcoLZsH001+7CZG3G7LTQcKqKxOigRPSefmMQMtNpIDJFJJKTmkZIzhJjE/sQmpWOKFcyazSKsA48vpKbVQ1ImrPvsQ95+/Drczi4r03DKqEimj4pkypgoksLVJBk1hBk1eBwe6trctLq8bNlv4fMNrXy1sY0Wa7eB0SeBeX0BGuAjYFbnl5se28CISWNF/XYPszQxAxb/9WY2rljke/zV3P1yOclZabT4UneNUYLjdtqhsqic8r3fUbpnLaW7Vvtk5tGbKJKkJSV7KFmDJ9J/+GQyBk4mPTcZSRKWRGwyLFv0FMtevbvLsZedGc89l6YwLDcCwtVg94LDC04vuGRQS6BXgVYS291eWmqdvLa8gSf+WUWjpQvgn/U0u0OBHhksq/sPP427F31DQ1X3s1r2ikd+/ZfLeHvBef7+8256mbOvvBGHTcj5QwcbKdq6jF1rP2LPxuUcZWFTn5paa2DY+JmMmHQxBVNnseo/r/GfF5Q54+MHRfD0HTlMKIwGmwcanDhcvsdOCnEEOiPRkhArUqQWErU0ltn4y+uHeOmTui56E1Eu1yvQIFb38ifvXXX/Ck6acSZVxd3XsESYwGZ1sODaFGyWFgCGjr+Aexd/yI4f9rH6k2fY8s17OO2H504NEfEYo5NIyuyH1dxEyc51/m15BWei1uporqmirbECm6XpsONFJ2TR2qCkIq4+PY43HxoIYWrkMitOjwBXH64Ws1buQZM5ZdwdbjxeGUkGXZIeEnS8vvgQ1z/RhVdajFidp1egxwcb4jFJ/Xnw3YPYLCLRrzu7OjEDXrn/SrZ//0+fWxtP7sip7Pjhgx7FgsEYT9agAhIyRpExYCTJWaOJiExGpzfRfzisWfYVL84LJKL/+Z+l5I7IpvIAOKzttDWW0Vizl5rSXVTsW0XZvi14XL1z8H+5LJWH7usPNQ4cjS4krQRuGV28Dq/VzcFaJ2oJVCF2qcPjJd6oIT4tDGejUyhcr4xOp0IaGMH3yxuYesfe0Cu9Hni9N6BBVB5d1Pll6iUPc9ndf6ZiX1eg3S7IHAQ712zm+Tt6D3NFRMYzaMx0Bo85h9zhZxOTbBLVAR4hvztrDeNSYPXHH/D2gkDx061/30xeQQGtjb46Q51wjDpXTWiqqadk50p2/fgJJbu+x9LWoPjtq06NZfHzQ6HSjqPdjaSRkN0y+rQwqsttTLt/PztLbWhVUhf73+GRiTaqeXZOJlfOTsVVYkVWS8I1BzTDjHzwdhWzHykOJfwSgcZghyW03QicC+gAvln6F/Innseg0cOpKvEVQMoizyE+Vfxfvm9tjwBnDhrPxJlzGDrufGISjT6mT1RLebtJlnG7uklEl924XeKGOO1drZ+YxEQmnnM55/3hcj5+8R2WLgxUFI/oH87iR/Og1ilAVkvoNBIk6yFey9W37eanUuHKOnvgS1vNHq5+spRZE2KJHGqCMiseuxe3F6Q9Zi6+PI0/F9v463vVwZP4WXyVAT0ZiS0ELx0BLH54FjarqOd2u8Qw6f2hrbGKp+fMYNkrc7sMkjvybP741HJue+ZHplxwBbowIw1VojzC3Baw0Y80gz94/84SjY4WsU5TTSlsWKFcreftu/pBmBp7g1OAnKKHaC1VdQ7mzN3Dyi19i73JMky+fS8/rmsBvQp1ehj6MAmnQ4YKOw//Txa5qQr/5TJ8KWO9raDxHHAhovaQ1oZS3njwcm556h28blF3vXH5CpY8dgV2S0O3A8Ql5XDKhWdxYJuoUzkeEZJe44EpsGH5SsXqN5ecGsuw8dF4iq2odRLaOC0ffFHP85/Ws2mXGXvIDD71onuIis/AZrGgVmvRGVSsfOdRLO3CuthRamXCDTvJyzQwa3wUj16bgc4o4Wx1oUvU8cwNmZzzkMLN/wNw6+GWKjnfx1dHCw7kXT54djA3PHo/S59+gY9eVK5qEG5MJcxooLlWyKoNK17i66VXM2LSWGrLfl7uo9M137nuXcXMX3BFGlg9uLwyYXFaamodzH60uNsxpl/zNy696x6sHeKplSThueYOn8qzcyfgcgScnf0VNh6vsDE808Bls1Nwl9uh0s6Ms+IpeLeKLQf8ivly4E+Ho+mbAcXiFV8v/TP3X3RmF5CTswt4YOkWrrr/8xAy5g5kmT4FE46lhYVDTZmdvZsChNr4wUayBhqh3olKJYFOTXVj11KGyNh+XHHPUs698R7K9kBVMTQcgroK2L8F+uUP4c4XN5I78vQuxxbXOERsVQVOuxci1Fx+SlzwLrHAlL7EQ74jZPG9A9tWKnYoPP16/vTaZiJjkskdkceAkYHao/K9a9nyzXckZdKncNHRio1wE9Qf2oYtaMmIC8dHg0GFy+MTD15ZKMFgW3baHB56fz8TZvyOugoUQY/ObICaMkjOGshdL67ksnn/QgpafSNcrwosgSEB7W6mj4kOPcVxfQ08PQ081p1jeeldb3PLwldx+BZLkb0w/Zq/K/36l67D3CrIop+rIkCjg/pyZVTp1IIosHt7dfBzR55BbJKG6lLBlXQXWVKrfYvT2mFQ4cweZaCkAlpc5OUYyO+noDDHHEmE717gpVD+0emw43H5FktRQ2M1DBk7lPwJlwRMmLpS/vPCPBIyRH0ix7nGpfO6aysCgVONCuKMGnB4Fc5C6E9b2lsxt/pyOaTew2AOO7Q11SpG6ULTegCdiswEhaxMOdJQ6hxgUXDHh89fz1M3zcLraSdjgHA+zK0w+/ZF6MJM/v3WLHuSdZ9/T1ruz7CQle/mOewtASoyTkeSUS0IIkWptBJNu7nlsHWGwTPbZTcrbHx9pyjqlE4AGokEk4KviDyamPXNhKzhuXfzJyy4rpCf1qwkc5DQ2PGpUVw8V1kq/dYj51FdWk9ytqgxP544e73gdQeys+KjtYQZNeAMmnIuLwkGNRFBHHNHSwVqbd8eMo0O7NZGpQkbqQGv7D/e45VBryIpWpF3EX20yQFdFt9rrjvAC3edydsL7kRSOdBq4czLziV/YmBdQqetnefmTsLaYSEx6/iB7XVDZDyERUQFALS48Tg8AU9BAmxekhJ1ZCYHByq2YbMcftXfzphjdcl2RX+/jDDwBJ4IlQS4ZdqUnLXrWLIwnkOsU6pImP7+3wtZcP0Ivv33+7idcO8bS0jrHygZa6op4uk5k7FbzCTnBAj6o7I2fO572gDYs75IYQ1VNTqpa3ODPsDIuZ1eiNEyZWhApJXuXkXVwUNExfVeW6nVC2W4/Yf3AuIpXsfI3AhoD1QhqFUSOL3UtirMyI5jTXf5BhjtI7wDs7t2P+8+cQkPXjaJbatWMf/1dQwcHWDiasu28vj1Y6mrKCFrsMiHO9JqLo9bLHKVNQh2rlvHwj+epFh2zeqUaXN6BWnvf6yFsrrqVGWG1bf/uh9jtG+puG5uutsNKVmw+ZuvFatUXjwxhrBUPe7QAIBHpqFdYcseOh55RY2+qMK1gCLXtrJoDU/ceAqv/Xk2mXlTCAsP2JeN1XtZcF0haz75kJQcQU51ylr5MAFhtUYUFEXGwkcvPcXzt0/Eae+ax7K9yAIGlSL4Kzc5GV8YzaC0gFWw5Zu3WLPsazLzulaEuV2QlAHNdTY+fF65POv1Z8WDxRNIQJABo5rGOgfbDyoo2+LjmcD1JqJkt0v086fV/+Hr9+7F7VLSbk57C4v/ehEv3HkRFUU7SMqG5ExfcDZEaGp1YUTHi4UDo+Nh14/fs/CW0/i0mxCV3yJa0wIe0KoCctpl9UCEhpdvzVHsu+TRc/lp7U/kDBU30uMWNzWtn8j9fu720+loCSwwcNPZ8Qw7KQZPvVMRlSdWy1fb2rHYFdb7huOd+2lDvKBgOaIsLF+htLzdu4a15XtZ99kiqor34bR7iE0eQH1lGdtXveebiSpOmjEHjwfWf7mUjxfNZ/mSB2ipL+v1ZKoaXdw5LQGNSYPb7hWAqCQwe8gpjKKq2MrWEqv/3DYuX4wpdgBDxw4jMg5iEqB8317+cdc5VBcHUsGSYrQsXzgYjUPGZfX6gdZKIMVoeXBRJXsrFZPq1p87xWWYj726jKDC/sO1cFMyBlMkTdVFPo9LTVxyLs11VXg95iM6gcevS2febdm49lmQ1eJyZY+MPkoLJjVTb9rFtzs7FMfkT5jFlIuup/in7Xy5+CGCF4yN0KnY/no+uQMjcJbZQBM0ZnoYB/eYGXTjTqEPfCoAmPpL5RLF+AIJ5yPe0/JzZlFXAsn4XvIQrlfR9O/RhJk0OOodSJ1gu2X0KXpcHi8z79jHim2H56QTTGq+emowIwujcR60+EHutDbU/cOZeeNOPlvfGnzYTOCzXypt3I54I9tSxMrq2xAZrDoggWN7e0aHb+yPEG81uhVRV3I6gMsj09DmZuYFSaha3Xi8Pk5cJeFuc6Mzavj9+ck4rB7WhMxsBW8yKpIvnhpM3hATzhKrSEXoxNkto82L4NvP67n/LUXZxX7f+XAiZMflINap7odYaSEbUTZt8P3V+26UzQdgLVCBeJ9hEbAXCI08qBG5cX6+8rXbs7nuxkw8u83CSuhUYG4ZfaQGkvWsXdPMY+9W8/mPgRk5PMfAnRencOUFSeCScVY7FDMZt4wux0BNpZ2hV+2gxaww9U7zsZ+coJnMx6XNCLXvVy0czOTpCXh3m3F5ZSQf7yF7ZbQqCVWKHrywY2c7W/ZbyErSM3VUJMTrROTc5vGLHmRhL+uyw7FaXIz8/U8cqFYowKXApcF3/r+1HQCiCHrF3jtfNTIgTkv+lDg0Dhm3zYOkkpAkCS/gbnejsXtJzjQwqiBKuNcWD44Gp1jyTRWk+DQS6oFGysusTL15N3sPKUCu8s1mz28BaBBptePxvUDSC3y4qhnZ4ubUk2LQJOlRW9y4XbKv6kvCI4PH4sHd5sbT4cHrEduEnSyjkyQ0aWGQpGfFykam3b6H0gZnqM4Y53PkFMTXb6F9QUiaVmH/cO67Op1Zp8aCSQttLmhzg0fGKwsWTpJA00mrGtUQI5yobdva+du71fz72y7ZUq2ILK+fumMYfyvtNaDLaykm5Zs4f0IMpxdEkZ9jAJ0vqVGnArcMLi+4ZerrnXy1vZ3PNrTy/rfdpqMV+UzY/T1Rub+ldjMiLNdtqvzw3HDSY3UkRqpJjtHRZvFQ0+akvsPDrgMW2m09BsXe9o1t5v9bgEJGJN0fr5cIT/t/SHtvhcDzBC0MQ99fGPwpIWkYh2vS/+ONAfHS33GI1eDTEGUTMYhE7nafg3QQ8ZLJ733/H1H73wEADleMO+qQVZEAAAAASUVORK5CYII="}},"time_used":571,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":568,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/logo-white-footer.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.846Z","timestamp":1785133989846,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/logo-white-footer.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/png\r\nlast-modified: Sat, 04 May 2024 14:25:36 GMT\r\naccept-ranges: bytes\r\ncontent-length: 52164\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":52164,"size_decoded":52351,"mime_type":"image/png","magic":"PNG image data, 577 x 117, 8-bit/color RGBA, non-interlaced","md5":"6f6801ac2d918e8003cde43e0d43e491","sha1":"e7e6179f18259ef25cef441edac08964ca0977a8","sha256":"2b91a01772cd4e33b9e7e5c9999835aca42b0e2e946d7aee8ae730c931ed694c","sha512":"1992b379ce5d99c22f6b76a7eda1b81781a27e70375769ff75fd70b1479d531e0b57e800d5d05a6bc2a80fab48a8191c2b0207dc2ddd72c0802abcedb030a8ca","ssdeep":"1536:uqiivcpiSZ2xxt0o0BYhWIWWeOVRWoMrTXei:Mikpi3xxioLBecRdli","tlshash":"8033025cdda7ca35d4a54b421301b45cc8091835bde878bd62bed5a3f828238874e3a9","first_seen":"2026-07-27T05:16:56.331919Z","last_seen":"2026-07-27T06:33:54.000424Z","times_seen":2,"resource_available":false,"data":"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"}},"time_used":583,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":576,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/font-awesome-animation.min.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.907Z","timestamp":1785133989907,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/font-awesome-animation.min.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/css/style-main.css\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1831\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":18428,"size_decoded":2061,"mime_type":"text/css","magic":"ASCII text, with very long lines (18317)","md5":"81b0780cd8d0d4ecfa9fc48c00ebb328","sha1":"9a15d117b356ae093f1f496451a43e96d886e4cb","sha256":"d097082e832b33bd84f81e1950819d5812c6ec311a970272537e8465982f9ad2","sha512":"55e4d1f0a6c516856b1336bfc0fb0ca86a81e5aec9ab12220a0cc37adc0d7d10f8c36b4fb2bb4866c1df7ed11b67a2b43241a04314418e31869e1cb93f94e686","ssdeep":"384:6TCXXcG/ZacYU5vXGHGh6h10+oVaooThCHh:7XXc2acYWvth6h10voA","tlshash":"1a82e7970d921966512f0e6687cd0e744b3dc6a386720dfe7366340b8742badb3ae713","first_seen":"2023-04-07T09:30:33Z","last_seen":"2026-08-03T03:48:47.529126Z","times_seen":563,"resource_available":false,"data":"LyohCiAqIGZvbnQtYXdlc29tZS1hbmltYXRpb24gLSB2MC4wLjgKICogaHR0cHM6Ly9naXRodWIuY29tL2wtbGluL2ZvbnQtYXdlc29tZS1hbmltYXRpb24KICogTGljZW5zZTogTUlUCiAqLwoKQC13ZWJraXQta2V5ZnJhbWVzIHdyZW5jaHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMmRlZyl9OCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEyZGVnKX0xMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI0ZGVnKX0xOCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMjRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTI0ZGVnKX0yOCUsMzAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNGRlZyl9MzglLDQwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTI0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0yNGRlZyl9NDglLDUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjRkZWcpfTU4JSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0yNGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMjRkZWcpfTY4JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjRkZWcpfTEwMCUsNzUley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX1Aa2V5ZnJhbWVzIHdyZW5jaHswJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMTJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKX04JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTJkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKDEyZGVnKX0xMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI0ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyNGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyNGRlZyl9MTglLDIwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTI0ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMjRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTI0ZGVnKX0yOCUsMzAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgyNGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMjRkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMjRkZWcpfTM4JSw0MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0yNGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTI0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0yNGRlZyl9NDglLDUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjRkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDI0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI0ZGVnKX01OCUsNjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMjRkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC0yNGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMjRkZWcpfTY4JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMjRkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDI0ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI0ZGVnKX0xMDAlLDc1JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgwZGVnKX19LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS13cmVuY2gsLmZhYS13cmVuY2guYW5pbWF0ZWQsLmZhYS13cmVuY2guYW5pbWF0ZWQtaG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246d3JlbmNoIDIuNXMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246d3JlbmNoIDIuNXMgZWFzZSBpbmZpbml0ZTt0cmFuc2Zvcm0tb3JpZ2luLXg6OTAlO3RyYW5zZm9ybS1vcmlnaW4teTozNSU7dHJhbnNmb3JtLW9yaWdpbi16OmluaXRpYWx9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS13cmVuY2guZmFhLWZhc3QsLmZhYS13cmVuY2guYW5pbWF0ZWQtaG92ZXIuZmFhLWZhc3Q6aG92ZXIsLmZhYS13cmVuY2guYW5pbWF0ZWQuZmFhLWZhc3R7LXdlYmtpdC1hbmltYXRpb246d3JlbmNoIDEuMnMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246d3JlbmNoIDEuMnMgZWFzZSBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXdyZW5jaC5mYWEtc2xvdywuZmFhLXdyZW5jaC5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLXdyZW5jaC5hbmltYXRlZC5mYWEtc2xvd3std2Via2l0LWFuaW1hdGlvbjp3cmVuY2ggMy43cyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjp3cmVuY2ggMy43cyBlYXNlIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyByaW5nezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTE1ZGVnKX0yJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTVkZWcpfTQley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTE4ZGVnKX02JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMThkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMThkZWcpfTgley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMjJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTIyZGVnKX0xMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDIyZGVnKTt0cmFuc2Zvcm06cm90YXRlKDIyZGVnKX0xMiV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xOGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpfTE0JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMThkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMThkZWcpfTE2JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMmRlZyl9MTgley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMmRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgxMmRlZyl9MTAwJSwyMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9fUBrZXlmcmFtZXMgcmluZ3swJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTE1ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMTVkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTE1ZGVnKX0yJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTVkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE1ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE1ZGVnKX00JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTE4ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTE4ZGVnKX02JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMThkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE4ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4ZGVnKX04JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoLTIyZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgtMjJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoLTIyZGVnKX0xMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDIyZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgyMmRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgyMmRlZyl9MTIley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKC0xOGRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgtMThkZWcpfTE0JXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMThkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDE4ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDE4ZGVnKX0xNiV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKC0xMmRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoLTEyZGVnKTt0cmFuc2Zvcm06cm90YXRlKC0xMmRlZyl9MTgley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgxMmRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMTJkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTJkZWcpfTEwMCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXJpbmcsLmZhYS1yaW5nLmFuaW1hdGVkLC5mYWEtcmluZy5hbmltYXRlZC1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjpyaW5nIDJzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOnJpbmcgMnMgZWFzZSBpbmZpbml0ZTt0cmFuc2Zvcm0tb3JpZ2luLXg6NTAlO3RyYW5zZm9ybS1vcmlnaW4teTowO3RyYW5zZm9ybS1vcmlnaW4tejppbml0aWFsfS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtcmluZy5mYWEtZmFzdCwuZmFhLXJpbmcuYW5pbWF0ZWQtaG92ZXIuZmFhLWZhc3Q6aG92ZXIsLmZhYS1yaW5nLmFuaW1hdGVkLmZhYS1mYXN0ey13ZWJraXQtYW5pbWF0aW9uOnJpbmcgMXMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246cmluZyAxcyBlYXNlIGluZmluaXRlfS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtcmluZy5mYWEtc2xvdywuZmFhLXJpbmcuYW5pbWF0ZWQtaG92ZXIuZmFhLXNsb3c6aG92ZXIsLmZhYS1yaW5nLmFuaW1hdGVkLmZhYS1zbG93ey13ZWJraXQtYW5pbWF0aW9uOnJpbmcgM3MgZWFzZSBpbmZpbml0ZTthbmltYXRpb246cmluZyAzcyBlYXNlIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyB2ZXJ0aWNhbHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCl9NCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KX04JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCl9MTIley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCl9MTYley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0zcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KX0xMDAlLDIyJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9fUBrZXlmcmFtZXMgdmVydGljYWx7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCl9NCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCl9OCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTNweCl9MTIley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwzcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwzcHgpfTE2JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0zcHgpO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwtM3B4KX0yMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsM3B4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDNweCl9MTAwJSwyMiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9fS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtdmVydGljYWwsLmZhYS12ZXJ0aWNhbC5hbmltYXRlZCwuZmFhLXZlcnRpY2FsLmFuaW1hdGVkLWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOnZlcnRpY2FsIDJzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOnZlcnRpY2FsIDJzIGVhc2UgaW5maW5pdGV9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS12ZXJ0aWNhbC5mYWEtZmFzdCwuZmFhLXZlcnRpY2FsLmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtdmVydGljYWwuYW5pbWF0ZWQuZmFhLWZhc3R7LXdlYmtpdC1hbmltYXRpb246dmVydGljYWwgMXMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246dmVydGljYWwgMXMgZWFzZSBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXZlcnRpY2FsLmZhYS1zbG93LC5mYWEtdmVydGljYWwuYW5pbWF0ZWQtaG92ZXIuZmFhLXNsb3c6aG92ZXIsLmZhYS12ZXJ0aWNhbC5hbmltYXRlZC5mYWEtc2xvd3std2Via2l0LWFuaW1hdGlvbjp2ZXJ0aWNhbCA0cyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjp2ZXJ0aWNhbCA0cyBlYXNlIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBob3Jpem9udGFsezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX02JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDApfTEyJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9MTgley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsMCl9MjQley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwwKX0xMDAlLDM2JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9fUBrZXlmcmFtZXMgaG9yaXpvbnRhbHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX02JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwwKX0xMiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9MTgley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoNXB4LDApfTI0JXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX0zMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDVweCwwKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZSg1cHgsMCl9MTAwJSwzNiV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKTt0cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCl9fS5mYWEtaG9yaXpvbnRhbC5hbmltYXRlZCwuZmFhLWhvcml6b250YWwuYW5pbWF0ZWQtaG92ZXI6aG92ZXIsLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1ob3Jpem9udGFsey13ZWJraXQtYW5pbWF0aW9uOmhvcml6b250YWwgMnMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246aG9yaXpvbnRhbCAycyBlYXNlIGluZmluaXRlfS5mYWEtaG9yaXpvbnRhbC5hbmltYXRlZC1ob3Zlci5mYWEtZmFzdDpob3ZlciwuZmFhLWhvcml6b250YWwuYW5pbWF0ZWQuZmFhLWZhc3QsLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1ob3Jpem9udGFsLmZhYS1mYXN0ey13ZWJraXQtYW5pbWF0aW9uOmhvcml6b250YWwgMXMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246aG9yaXpvbnRhbCAxcyBlYXNlIGluZmluaXRlfS5mYWEtaG9yaXpvbnRhbC5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLWhvcml6b250YWwuYW5pbWF0ZWQuZmFhLXNsb3csLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1ob3Jpem9udGFsLmZhYS1zbG93ey13ZWJraXQtYW5pbWF0aW9uOmhvcml6b250YWwgM3MgZWFzZSBpbmZpbml0ZTthbmltYXRpb246aG9yaXpvbnRhbCAzcyBlYXNlIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBmbGFzaHswJSwxMDAlLDUwJXtvcGFjaXR5OjF9MjUlLDc1JXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgZmxhc2h7MCUsMTAwJSw1MCV7b3BhY2l0eToxfTI1JSw3NSV7b3BhY2l0eTowfX0uZmFhLWZsYXNoLmFuaW1hdGVkLC5mYWEtZmxhc2guYW5pbWF0ZWQtaG92ZXI6aG92ZXIsLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1mbGFzaHstd2Via2l0LWFuaW1hdGlvbjpmbGFzaCAycyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjpmbGFzaCAycyBlYXNlIGluZmluaXRlfS5mYWEtZmxhc2guYW5pbWF0ZWQtaG92ZXIuZmFhLWZhc3Q6aG92ZXIsLmZhYS1mbGFzaC5hbmltYXRlZC5mYWEtZmFzdCwuZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLWZsYXNoLmZhYS1mYXN0ey13ZWJraXQtYW5pbWF0aW9uOmZsYXNoIDFzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOmZsYXNoIDFzIGVhc2UgaW5maW5pdGV9LmZhYS1mbGFzaC5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLWZsYXNoLmFuaW1hdGVkLmZhYS1zbG93LC5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtZmxhc2guZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246Zmxhc2ggM3MgZWFzZSBpbmZpbml0ZTthbmltYXRpb246Zmxhc2ggM3MgZWFzZSBpbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlezAlLDEwJSwxMDAlLDIwJSw1MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9NDAlLDYwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCl9fUBrZXlmcmFtZXMgYm91bmNlezAlLDEwJSwxMDAlLDIwJSw1MCUsODAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTQwJSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVZKC0xNXB4KTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtMTVweCl9fS5mYWEtYm91bmNlLmFuaW1hdGVkLC5mYWEtYm91bmNlLmFuaW1hdGVkLWhvdmVyOmhvdmVyLC5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtYm91bmNley13ZWJraXQtYW5pbWF0aW9uOmJvdW5jZSAycyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjpib3VuY2UgMnMgZWFzZSBpbmZpbml0ZX0uZmFhLWJvdW5jZS5hbmltYXRlZC1ob3Zlci5mYWEtZmFzdDpob3ZlciwuZmFhLWJvdW5jZS5hbmltYXRlZC5mYWEtZmFzdCwuZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLWJvdW5jZS5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjpib3VuY2UgMXMgZWFzZSBpbmZpbml0ZTthbmltYXRpb246Ym91bmNlIDFzIGVhc2UgaW5maW5pdGV9LmZhYS1ib3VuY2UuYW5pbWF0ZWQtaG92ZXIuZmFhLXNsb3c6aG92ZXIsLmZhYS1ib3VuY2UuYW5pbWF0ZWQuZmFhLXNsb3csLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1ib3VuY2UuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246Ym91bmNlIDNzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOmJvdW5jZSAzcyBlYXNlIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBzcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM1OWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpfX1Aa2V5ZnJhbWVzIHNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpOy1tcy10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKX19LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1zcGluLC5mYWEtc3Bpbi5hbmltYXRlZCwuZmFhLXNwaW4uYW5pbWF0ZWQtaG92ZXI6aG92ZXJ7LXdlYmtpdC1hbmltYXRpb246c3BpbiAxLjVzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246c3BpbiAxLjVzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXNwaW4uZmFhLWZhc3QsLmZhYS1zcGluLmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtc3Bpbi5hbmltYXRlZC5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjpzcGluIC43cyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnNwaW4gLjdzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXNwaW4uZmFhLXNsb3csLmZhYS1zcGluLmFuaW1hdGVkLWhvdmVyLmZhYS1zbG93OmhvdmVyLC5mYWEtc3Bpbi5hbmltYXRlZC5mYWEtc2xvd3std2Via2l0LWFuaW1hdGlvbjpzcGluIDIuMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpzcGluIDIuMnMgbGluZWFyIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBmbG9hdHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApO3RyYW5zZm9ybTp0cmFuc2xhdGVZKDApfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpO3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19QGtleWZyYW1lcyBmbG9hdHswJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCk7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTZweCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVZKDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlWSgwKTt0cmFuc2Zvcm06dHJhbnNsYXRlWSgwKX19LmZhYS1mbG9hdC5hbmltYXRlZCwuZmFhLWZsb2F0LmFuaW1hdGVkLWhvdmVyOmhvdmVyLC5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtZmxvYXR7LXdlYmtpdC1hbmltYXRpb246ZmxvYXQgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpmbG9hdCAycyBsaW5lYXIgaW5maW5pdGV9LmZhYS1mbG9hdC5hbmltYXRlZC1ob3Zlci5mYWEtZmFzdDpob3ZlciwuZmFhLWZsb2F0LmFuaW1hdGVkLmZhYS1mYXN0LC5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtZmxvYXQuZmFhLWZhc3R7LXdlYmtpdC1hbmltYXRpb246ZmxvYXQgMXMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpmbG9hdCAxcyBsaW5lYXIgaW5maW5pdGV9LmZhYS1mbG9hdC5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLWZsb2F0LmFuaW1hdGVkLmZhYS1zbG93LC5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtZmxvYXQuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246ZmxvYXQgM3MgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpmbG9hdCAzcyBsaW5lYXIgaW5maW5pdGV9QC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7dHJhbnNmb3JtOnNjYWxlKDEuMSl9NTAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuOCk7dHJhbnNmb3JtOnNjYWxlKDAuOCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfX1Aa2V5ZnJhbWVzIHB1bHNlezAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfTUwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwLjgpOy1tcy10cmFuc2Zvcm06c2NhbGUoMC44KTt0cmFuc2Zvcm06c2NhbGUoMC44KX0xMDAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMSk7LW1zLXRyYW5zZm9ybTpzY2FsZSgxLjEpO3RyYW5zZm9ybTpzY2FsZSgxLjEpfX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXB1bHNlLC5mYWEtcHVsc2UuYW5pbWF0ZWQsLmZhYS1wdWxzZS5hbmltYXRlZC1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjpwdWxzZSAycyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnB1bHNlIDJzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXB1bHNlLmZhYS1mYXN0LC5mYWEtcHVsc2UuYW5pbWF0ZWQtaG92ZXIuZmFhLWZhc3Q6aG92ZXIsLmZhYS1wdWxzZS5hbmltYXRlZC5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjpwdWxzZSAxcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnB1bHNlIDFzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXB1bHNlLmZhYS1zbG93LC5mYWEtcHVsc2UuYW5pbWF0ZWQtaG92ZXIuZmFhLXNsb3c6aG92ZXIsLmZhYS1wdWxzZS5hbmltYXRlZC5mYWEtc2xvd3std2Via2l0LWFuaW1hdGlvbjpwdWxzZSAzcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnB1bHNlIDNzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXNoYWtlLC5mYWEtc2hha2UuYW5pbWF0ZWQsLmZhYS1zaGFrZS5hbmltYXRlZC1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjp3cmVuY2ggMi41cyBlYXNlIGluZmluaXRlO2FuaW1hdGlvbjp3cmVuY2ggMi41cyBlYXNlIGluZmluaXRlfS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtc2hha2UuZmFhLWZhc3QsLmZhYS1zaGFrZS5hbmltYXRlZC1ob3Zlci5mYWEtZmFzdDpob3ZlciwuZmFhLXNoYWtlLmFuaW1hdGVkLmZhYS1mYXN0ey13ZWJraXQtYW5pbWF0aW9uOndyZW5jaCAxLjJzIGVhc2UgaW5maW5pdGU7YW5pbWF0aW9uOndyZW5jaCAxLjJzIGVhc2UgaW5maW5pdGV9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1zaGFrZS5mYWEtc2xvdywuZmFhLXNoYWtlLmFuaW1hdGVkLWhvdmVyLmZhYS1zbG93OmhvdmVyLC5mYWEtc2hha2UuYW5pbWF0ZWQuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246d3JlbmNoIDMuN3MgZWFzZSBpbmZpbml0ZTthbmltYXRpb246d3JlbmNoIDMuN3MgZWFzZSBpbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgdGFkYXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTt0cmFuc2Zvcm06c2NhbGUoMSl9MTAlLDIwJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSguOSkgcm90YXRlKC04ZGVnKTt0cmFuc2Zvcm06c2NhbGUoLjkpIHJvdGF0ZSgtOGRlZyl9MzAlLDUwJSw3MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKSByb3RhdGUoOGRlZyk7dHJhbnNmb3JtOnNjYWxlKDEuMykgcm90YXRlKDhkZWcpfTQwJSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKSByb3RhdGUoLThkZWcpO3RyYW5zZm9ybTpzY2FsZSgxLjMpIHJvdGF0ZSgtOGRlZyl9MTAwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApO3RyYW5zZm9ybTpzY2FsZSgxKSByb3RhdGUoMCl9fUBrZXlmcmFtZXMgdGFkYXswJXstd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgxKTstbXMtdHJhbnNmb3JtOnNjYWxlKDEpO3RyYW5zZm9ybTpzY2FsZSgxKX0xMCUsMjAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC45KSByb3RhdGUoLThkZWcpOy1tcy10cmFuc2Zvcm06c2NhbGUoLjkpIHJvdGF0ZSgtOGRlZyk7dHJhbnNmb3JtOnNjYWxlKC45KSByb3RhdGUoLThkZWcpfTMwJSw1MCUsNzAley13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEuMykgcm90YXRlKDhkZWcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4zKSByb3RhdGUoOGRlZyk7dHJhbnNmb3JtOnNjYWxlKDEuMykgcm90YXRlKDhkZWcpfTQwJSw2MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS4zKSByb3RhdGUoLThkZWcpOy1tcy10cmFuc2Zvcm06c2NhbGUoMS4zKSByb3RhdGUoLThkZWcpO3RyYW5zZm9ybTpzY2FsZSgxLjMpIHJvdGF0ZSgtOGRlZyl9MTAwJSw4MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApOy1tcy10cmFuc2Zvcm06c2NhbGUoMSkgcm90YXRlKDApO3RyYW5zZm9ybTpzY2FsZSgxKSByb3RhdGUoMCl9fS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtdGFkYSwuZmFhLXRhZGEuYW5pbWF0ZWQsLmZhYS10YWRhLmFuaW1hdGVkLWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOnRhZGEgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjp0YWRhIDJzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXRhZGEuZmFhLWZhc3QsLmZhYS10YWRhLmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtdGFkYS5hbmltYXRlZC5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjp0YWRhIDFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246dGFkYSAxcyBsaW5lYXIgaW5maW5pdGV9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS10YWRhLmZhYS1zbG93LC5mYWEtdGFkYS5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLXRhZGEuYW5pbWF0ZWQuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246dGFkYSAzcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnRhZGEgM3MgbGluZWFyIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBwYXNzaW5nezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7b3BhY2l0eTowfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7b3BhY2l0eTowfX1Aa2V5ZnJhbWVzIHBhc3Npbmd7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7b3BhY2l0eTowfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTtvcGFjaXR5OjF9MTAwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKTtvcGFjaXR5OjB9fS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtcGFzc2luZywuZmFhLXBhc3NpbmcuYW5pbWF0ZWQsLmZhYS1wYXNzaW5nLmFuaW1hdGVkLWhvdmVyOmhvdmVyey13ZWJraXQtYW5pbWF0aW9uOnBhc3NpbmcgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpwYXNzaW5nIDJzIGxpbmVhciBpbmZpbml0ZX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXBhc3NpbmcuZmFhLWZhc3QsLmZhYS1wYXNzaW5nLmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtcGFzc2luZy5hbmltYXRlZC5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjpwYXNzaW5nIDFzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246cGFzc2luZyAxcyBsaW5lYXIgaW5maW5pdGV9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1wYXNzaW5nLmZhYS1zbG93LC5mYWEtcGFzc2luZy5hbmltYXRlZC1ob3Zlci5mYWEtc2xvdzpob3ZlciwuZmFhLXBhc3NpbmcuYW5pbWF0ZWQuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246cGFzc2luZyAzcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnBhc3NpbmcgM3MgbGluZWFyIGluZmluaXRlfUAtd2Via2l0LWtleWZyYW1lcyBwYXNzaW5nLXJldmVyc2V7MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO3RyYW5zZm9ybTp0cmFuc2xhdGVYKDUwJSk7b3BhY2l0eTowfTUwJXstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgcGFzc2luZy1yZXZlcnNlezAley13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCg1MCUpO29wYWNpdHk6MH01MCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGVYKDAlKTt0cmFuc2Zvcm06dHJhbnNsYXRlWCgwJSk7b3BhY2l0eToxfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTstbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7b3BhY2l0eTowfX0uZmFhLXBhcmVudC5hbmltYXRlZC1ob3Zlcjpob3Zlcj4uZmFhLXBhc3NpbmctcmV2ZXJzZSwuZmFhLXBhc3NpbmctcmV2ZXJzZS5hbmltYXRlZCwuZmFhLXBhc3NpbmctcmV2ZXJzZS5hbmltYXRlZC1ob3Zlcjpob3Zlcnstd2Via2l0LWFuaW1hdGlvbjpwYXNzaW5nLXJldmVyc2UgMnMgbGluZWFyIGluZmluaXRlO2FuaW1hdGlvbjpwYXNzaW5nLXJldmVyc2UgMnMgbGluZWFyIGluZmluaXRlfS5mYWEtcGFyZW50LmFuaW1hdGVkLWhvdmVyOmhvdmVyPi5mYWEtcGFzc2luZy1yZXZlcnNlLmZhYS1mYXN0LC5mYWEtcGFzc2luZy1yZXZlcnNlLmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtcGFzc2luZy1yZXZlcnNlLmFuaW1hdGVkLmZhYS1mYXN0ey13ZWJraXQtYW5pbWF0aW9uOnBhc3NpbmctcmV2ZXJzZSAxcyBsaW5lYXIgaW5maW5pdGU7YW5pbWF0aW9uOnBhc3NpbmctcmV2ZXJzZSAxcyBsaW5lYXIgaW5maW5pdGV9LmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1wYXNzaW5nLXJldmVyc2UuZmFhLXNsb3csLmZhYS1wYXNzaW5nLXJldmVyc2UuYW5pbWF0ZWQtaG92ZXIuZmFhLXNsb3c6aG92ZXIsLmZhYS1wYXNzaW5nLXJldmVyc2UuYW5pbWF0ZWQuZmFhLXNsb3d7LXdlYmtpdC1hbmltYXRpb246cGFzc2luZy1yZXZlcnNlIDNzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246cGFzc2luZy1yZXZlcnNlIDNzIGxpbmVhciBpbmZpbml0ZX1ALXdlYmtpdC1rZXlmcmFtZXMgYnVyc3R7MCV7b3BhY2l0eTouNn01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS44KTt0cmFuc2Zvcm06c2NhbGUoMS44KTtvcGFjaXR5OjB9MTAwJXtvcGFjaXR5OjB9fUBrZXlmcmFtZXMgYnVyc3R7MCV7b3BhY2l0eTouNn01MCV7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMS44KTstbXMtdHJhbnNmb3JtOnNjYWxlKDEuOCk7dHJhbnNmb3JtOnNjYWxlKDEuOCk7b3BhY2l0eTowfTEwMCV7b3BhY2l0eTowfX0uZmFhLWJ1cnN0LmFuaW1hdGVkLC5mYWEtYnVyc3QuYW5pbWF0ZWQtaG92ZXI6aG92ZXIsLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1idXJzdHstd2Via2l0LWFuaW1hdGlvbjpidXJzdCAycyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmJ1cnN0IDJzIGluZmluaXRlIGxpbmVhcn0uZmFhLWJ1cnN0LmFuaW1hdGVkLWhvdmVyLmZhYS1mYXN0OmhvdmVyLC5mYWEtYnVyc3QuYW5pbWF0ZWQuZmFhLWZhc3QsLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1idXJzdC5mYWEtZmFzdHstd2Via2l0LWFuaW1hdGlvbjpidXJzdCAxcyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmJ1cnN0IDFzIGluZmluaXRlIGxpbmVhcn0uZmFhLWJ1cnN0LmFuaW1hdGVkLWhvdmVyLmZhYS1zbG93OmhvdmVyLC5mYWEtYnVyc3QuYW5pbWF0ZWQuZmFhLXNsb3csLmZhYS1wYXJlbnQuYW5pbWF0ZWQtaG92ZXI6aG92ZXI+LmZhYS1idXJzdC5mYWEtc2xvd3std2Via2l0LWFuaW1hdGlvbjpidXJzdCAzcyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmJ1cnN0IDNzIGluZmluaXRlIGxpbmVhcn0="}},"time_used":138,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":138,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"www.smartsuppchat.com/loader.js?","fqdn":"www.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.739Z","timestamp":1785133990739,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1161431244.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE1","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:49 GMT","end":"Wed, 02 Sep 2026 14:34:48 GMT"},"fingerprint":{"sha1":"77:06:42:CE:73:9F:CA:05:A3:6E:99:99:F2:3F:B7:EE:E4:60:E9:29","sha256":"E7:6E:68:C5:CD:6C:F6:14:84:A0:18:1A:D7:94:77:7A:28:F6:67:8E:90:58:94:AE:3A:65:6A:B7:95:0F:5D:1B"}}},"request":{"raw":"GET /loader.js? HTTP/1.1\r\nHost: www.smartsuppchat.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:33:14 GMT\r\ncontent-type: application/javascript\r\ncache-control: max-age=300, public, s-maxage=60\r\netag: W/\"6a2663cd-4668\"\r\nexpires: Mon, 08 Jun 2026 06:46:12 GMT\r\nlast-modified: Mon, 08 Jun 2026 06:40:13 GMT\r\nx-77-nzt: k3B91+LtfBDEO259BAueI4dZoNPKZf/aBVSKzDXPZOZcaYEtDfcO0bUxNzaE4PYKsSFMz+Q\r\nx-77-nzt-ray: e2f7542058f1d0a9aafb666a6a0fbe03\r\nx-77-cache: HIT\r\nx-77-age: 19\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":18024,"size_decoded":6042,"mime_type":"application/javascript","magic":"JavaScript source, ASCII text, with very long lines (17951)","md5":"218d24439d4e2c0990f35338a7ac220c","sha1":"5a7b913584c1244bf61beab9dc644204d130101c","sha256":"efb497f7159de26ea5e0521d675d909dc063e36d0d23c2ad96fa9109b73ee263","sha512":"17af39bfdc350c9d1f8dd74652641d0c028881ecb3935d2d9fdb763d24136665d135d00219aabac57693112e2314d4fa91b802ba2662a1580aa35c5e0b6e624b","ssdeep":"384:2/xzy2A3wyxNeBWbEgl/EuVaBWbE0rIcvqSI/aQ/UpG:2/xzy2A3wXscuVaAxka05","tlshash":"4182b7cc7691b16543ab61b4843f620ff1376929740d8865b965eae13cb8c8ed037fb8","first_seen":"2026-03-30T19:01:55.527327Z","last_seen":"2026-08-04T11:43:18.628598Z","times_seen":7982,"resource_available":true,"data":"LyohIEZvciBsaWNlbnNlIGluZm9ybWF0aW9uIHBsZWFzZSBzZWUgbG9hZGVyLnRlbXBsYXRlLmpzLkxJQ0VOU0UudHh0ICovCigoKT0+e3ZhciB0PXs3MTUodCl7dC5leHBvcnRzPWZ1bmN0aW9uKCl7dmFyIHQ9ITE7LTEhPT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNU0lFIDEwIikmJih0PSEwKTt2YXIgZSxuPVtdLHI9Im9iamVjdCI9PXR5cGVvZiBkb2N1bWVudCYmZG9jdW1lbnQsbz10P3IuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsKCJsZWZ0Iik6ci5kb2N1bWVudEVsZW1lbnQuZG9TY3JvbGwsaT0iRE9NQ29udGVudExvYWRlZCIscz1yJiYobz8vXmxvYWRlZHxeYy86L15sb2FkZWR8Xml8XmMvKS50ZXN0KHIucmVhZHlTdGF0ZSk7cmV0dXJuIXMmJnImJnIuYWRkRXZlbnRMaXN0ZW5lcihpLGU9ZnVuY3Rpb24oKXtmb3Ioci5yZW1vdmVFdmVudExpc3RlbmVyKGksZSkscz0xO2U9bi5zaGlmdCgpOyllKCl9KSxmdW5jdGlvbih0KXtzP3NldFRpbWVvdXQodCwwKTpuLnB1c2godCl9fSgpfSw3NjEodCxlLG4peyJ1c2Ugc3RyaWN0Ijtjb25zdCByPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY29uc3RydWN0b3I7cmV0dXJuIHRoaXMudGhlbihmdW5jdGlvbihuKXtyZXR1cm4gZS5yZXNvbHZlKHQoKSkudGhlbihmdW5jdGlvbigpe3JldHVybiBufSl9LGZ1bmN0aW9uKG4pe3JldHVybiBlLnJlc29sdmUodCgpKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGUucmVqZWN0KG4pfSl9KX0sbz1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IHRoaXMoZnVuY3Rpb24oZSxuKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIG4obmV3IFR5cGVFcnJvcih0eXBlb2YgdCsiICIrdCsiIGlzIG5vdCBpdGVyYWJsZShjYW5ub3QgcmVhZCBwcm9wZXJ0eSBTeW1ib2woU3ltYm9sLml0ZXJhdG9yKSkiKSk7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCk7aWYoMD09PXIubGVuZ3RoKXJldHVybiBlKFtdKTt2YXIgbz1yLmxlbmd0aDtmdW5jdGlvbiBpKHQsbil7aWYobiYmKCJvYmplY3QiPT10eXBlb2Ygbnx8ImZ1bmN0aW9uIj09dHlwZW9mIG4pKXt2YXIgcz1uLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIHMpcmV0dXJuIHZvaWQgcy5jYWxsKG4sZnVuY3Rpb24oZSl7aSh0LGUpfSxmdW5jdGlvbihuKXtyW3RdPXtzdGF0dXM6InJlamVjdGVkIixyZWFzb246bn0sMD09PS0tbyYmZShyKX0pfXJbdF09e3N0YXR1czoiZnVsZmlsbGVkIix2YWx1ZTpufSwwPT09LS1vJiZlKHIpfWZvcih2YXIgcz0wO3M8ci5sZW5ndGg7cysrKWkocyxyW3NdKX0pfTtmdW5jdGlvbiBpKHQsZSl7dGhpcy5uYW1lPSJBZ2dyZWdhdGVFcnJvciIsdGhpcy5lcnJvcnM9dCx0aGlzLm1lc3NhZ2U9ZXx8IiJ9aS5wcm90b3R5cGU9RXJyb3IucHJvdG90eXBlO2NvbnN0IHM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IGUoZnVuY3Rpb24obixyKXtpZighdHx8dm9pZCAwPT09dC5sZW5ndGgpcmV0dXJuIHIobmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbnkgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgbz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09by5sZW5ndGgpcmV0dXJuIHIoKTtmb3IodmFyIHM9W10sYT0wO2E8by5sZW5ndGg7YSsrKXRyeXtlLnJlc29sdmUob1thXSkudGhlbihuKS5jYXRjaChmdW5jdGlvbih0KXtzLnB1c2godCkscy5sZW5ndGg9PT1vLmxlbmd0aCYmcihuZXcgaShzLCJBbGwgcHJvbWlzZXMgd2VyZSByZWplY3RlZCIpKX0pfWNhdGNoKHQpe3IodCl9fSl9O3ZhciBhPXNldFRpbWVvdXQ7ZnVuY3Rpb24gYyh0KXtyZXR1cm4gQm9vbGVhbih0JiZ2b2lkIDAhPT10Lmxlbmd0aCl9ZnVuY3Rpb24gdSgpe31mdW5jdGlvbiBsKHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXRocm93IG5ldyBUeXBlRXJyb3IoIlByb21pc2VzIG11c3QgYmUgY29uc3RydWN0ZWQgdmlhIG5ldyIpO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3IoIm5vdCBhIGZ1bmN0aW9uIik7dGhpcy5fc3RhdGU9MCx0aGlzLl9oYW5kbGVkPSExLHRoaXMuX3ZhbHVlPXZvaWQgMCx0aGlzLl9kZWZlcnJlZHM9W10sdyh0LHRoaXMpfWZ1bmN0aW9uIHAodCxlKXtmb3IoOzM9PT10Ll9zdGF0ZTspdD10Ll92YWx1ZTswIT09dC5fc3RhdGU/KHQuX2hhbmRsZWQ9ITAsbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt2YXIgbj0xPT09dC5fc3RhdGU/ZS5vbkZ1bGZpbGxlZDplLm9uUmVqZWN0ZWQ7aWYobnVsbCE9PW4pe3ZhciByO3RyeXtyPW4odC5fdmFsdWUpfWNhdGNoKHQpe3JldHVybiB2b2lkIGQoZS5wcm9taXNlLHQpfWYoZS5wcm9taXNlLHIpfWVsc2UoMT09PXQuX3N0YXRlP2Y6ZCkoZS5wcm9taXNlLHQuX3ZhbHVlKX0pKTp0Ll9kZWZlcnJlZHMucHVzaChlKX1mdW5jdGlvbiBmKHQsZSl7dHJ5e2lmKGU9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoIkEgcHJvbWlzZSBjYW5ub3QgYmUgcmVzb2x2ZWQgd2l0aCBpdHNlbGYuIik7aWYoZSYmKCJvYmplY3QiPT10eXBlb2YgZXx8ImZ1bmN0aW9uIj09dHlwZW9mIGUpKXt2YXIgbj1lLnRoZW47aWYoZSBpbnN0YW5jZW9mIGwpcmV0dXJuIHQuX3N0YXRlPTMsdC5fdmFsdWU9ZSx2b2lkIGgodCk7aWYoImZ1bmN0aW9uIj09dHlwZW9mIG4pcmV0dXJuIHZvaWQgdygocj1uLG89ZSxmdW5jdGlvbigpe3IuYXBwbHkobyxhcmd1bWVudHMpfSksdCl9dC5fc3RhdGU9MSx0Ll92YWx1ZT1lLGgodCl9Y2F0Y2goZSl7ZCh0LGUpfXZhciByLG99ZnVuY3Rpb24gZCh0LGUpe3QuX3N0YXRlPTIsdC5fdmFsdWU9ZSxoKHQpfWZ1bmN0aW9uIGgodCl7Mj09PXQuX3N0YXRlJiYwPT09dC5fZGVmZXJyZWRzLmxlbmd0aCYmbC5faW1tZWRpYXRlRm4oZnVuY3Rpb24oKXt0Ll9oYW5kbGVkfHxsLl91bmhhbmRsZWRSZWplY3Rpb25Gbih0Ll92YWx1ZSl9KTtmb3IodmFyIGU9MCxuPXQuX2RlZmVycmVkcy5sZW5ndGg7ZTxuO2UrKylwKHQsdC5fZGVmZXJyZWRzW2VdKTt0Ll9kZWZlcnJlZHM9bnVsbH1mdW5jdGlvbiB5KHQsZSxuKXt0aGlzLm9uRnVsZmlsbGVkPSJmdW5jdGlvbiI9PXR5cGVvZiB0P3Q6bnVsbCx0aGlzLm9uUmVqZWN0ZWQ9ImZ1bmN0aW9uIj09dHlwZW9mIGU/ZTpudWxsLHRoaXMucHJvbWlzZT1ufWZ1bmN0aW9uIHcodCxlKXt2YXIgbj0hMTt0cnl7dChmdW5jdGlvbih0KXtufHwobj0hMCxmKGUsdCkpfSxmdW5jdGlvbih0KXtufHwobj0hMCxkKGUsdCkpfSl9Y2F0Y2godCl7aWYobilyZXR1cm47bj0hMCxkKGUsdCl9fWwucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRoZW4obnVsbCx0KX0sbC5wcm90b3R5cGUudGhlbj1mdW5jdGlvbih0LGUpe3ZhciBuPW5ldyB0aGlzLmNvbnN0cnVjdG9yKHUpO3JldHVybiBwKHRoaXMsbmV3IHkodCxlLG4pKSxufSxsLnByb3RvdHlwZS5maW5hbGx5PXIsbC5hbGw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBsKGZ1bmN0aW9uKGUsbil7aWYoIWModCkpcmV0dXJuIG4obmV3IFR5cGVFcnJvcigiUHJvbWlzZS5hbGwgYWNjZXB0cyBhbiBhcnJheSIpKTt2YXIgcj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KTtpZigwPT09ci5sZW5ndGgpcmV0dXJuIGUoW10pO3ZhciBvPXIubGVuZ3RoO2Z1bmN0aW9uIGkodCxzKXt0cnl7aWYocyYmKCJvYmplY3QiPT10eXBlb2Ygc3x8ImZ1bmN0aW9uIj09dHlwZW9mIHMpKXt2YXIgYT1zLnRoZW47aWYoImZ1bmN0aW9uIj09dHlwZW9mIGEpcmV0dXJuIHZvaWQgYS5jYWxsKHMsZnVuY3Rpb24oZSl7aSh0LGUpfSxuKX1yW3RdPXMsMD09PS0tbyYmZShyKX1jYXRjaCh0KXtuKHQpfX1mb3IodmFyIHM9MDtzPHIubGVuZ3RoO3MrKylpKHMscltzXSl9KX0sbC5hbnk9cyxsLmFsbFNldHRsZWQ9byxsLnJlc29sdmU9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5jb25zdHJ1Y3Rvcj09PWw/dDpuZXcgbChmdW5jdGlvbihlKXtlKHQpfSl9LGwucmVqZWN0PWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe24odCl9KX0sbC5yYWNlPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcgbChmdW5jdGlvbihlLG4pe2lmKCFjKHQpKXJldHVybiBuKG5ldyBUeXBlRXJyb3IoIlByb21pc2UucmFjZSBhY2NlcHRzIGFuIGFycmF5IikpO2Zvcih2YXIgcj0wLG89dC5sZW5ndGg7cjxvO3IrKylsLnJlc29sdmUodFtyXSkudGhlbihlLG4pfSl9LGwuX2ltbWVkaWF0ZUZuPSJmdW5jdGlvbiI9PXR5cGVvZiBzZXRJbW1lZGlhdGUmJmZ1bmN0aW9uKHQpe3NldEltbWVkaWF0ZSh0KX18fGZ1bmN0aW9uKHQpe2EodCwwKX0sbC5fdW5oYW5kbGVkUmVqZWN0aW9uRm49ZnVuY3Rpb24odCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZjb25zb2xlJiZjb25zb2xlLndhcm4oIlBvc3NpYmxlIFVuaGFuZGxlZCBQcm9taXNlIFJlamVjdGlvbjoiLHQpfTtjb25zdCB2PWw7dmFyIGc9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYpcmV0dXJuIHNlbGY7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cpcmV0dXJuIHdpbmRvdztpZih2b2lkIDAhPT1uLmcpcmV0dXJuIG4uZzt0aHJvdyBuZXcgRXJyb3IoInVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdCIpfSgpOyJmdW5jdGlvbiIhPXR5cGVvZiBnLlByb21pc2U/Zy5Qcm9taXNlPXY6KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseXx8KGcuUHJvbWlzZS5wcm90b3R5cGUuZmluYWxseT1yKSxnLlByb21pc2UuYWxsU2V0dGxlZHx8KGcuUHJvbWlzZS5hbGxTZXR0bGVkPW8pLGcuUHJvbWlzZS5hbnl8fChnLlByb21pc2UuYW55PXMpKX0sMzQ1KHQsZSxuKXsidXNlIHN0cmljdCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsIl9fZXNNb2R1bGUiLHt2YWx1ZTohMH0pLGUuU21hcnRzdXBwTG9hZGVyPXZvaWQgMDt2YXIgcj1uKDc0MCksbz1uKDg5MyksaT1uKDEzMCkscz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5vcHRpb25zPXQsdGhpcy53aWRnZXRzPXt9LHRoaXMuY2hhdHM9dGhpcy53aWRnZXRzfXJldHVybiB0LnByb3RvdHlwZS5zZXREZWZhdWx0cz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpc30sdC5wcm90b3R5cGUuZ2V0Q2hhdD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy53aWRnZXRzW3RdfSx0LnByb3RvdHlwZS5nZXRXaWRnZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMud2lkZ2V0c1t0XX0sdC5wcm90b3R5cGUuY3JlYXRlPWZ1bmN0aW9uKHQsZSxuLHMpe3ZhciBjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7YShjKTt2YXIgdT10aGlzLndpZGdldHNbdF09bmV3IGkuU21hcnRzdXBwV2lkZ2V0KHQsYyxuKTtyZXR1cm4gdS5faW5pdFByb21pc2U9KDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKHQpe3ZhciBuPSgwLG8ucGFyc2VKU09OKSh0KTtyZXR1cm4gZGVsZXRlIGUuZmVhdHVyZXMsdS5pbml0KCgwLG8ubWVyZ2VEZWVwKShuLGUpLG4uZmVhdHVyZXMpLGUmJmUud2lkZ2V0VHJhY2tlckVuYWJsZWQmJigwLHIudHJhY2tPcHRpb25zKSh1Lm9wdGlvbnMsT2JqZWN0LmtleXMoZSkpLHdpbmRvdy5zbWFydHN1cHAuZ2V0QXNzZXRVcmw9dS5nZXRBc3NldFVybC5iaW5kKHUpLHMmJnModm9pZCAwLHUpLHUub3B0aW9ucy5yZW5kZXJUbyYmdS5yZW5kZXIodS5vcHRpb25zLnJlbmRlclRvKSxudWxsfSkuY2F0Y2goZnVuY3Rpb24odCl7cyYmcyh0KX0pLHV9LHQucHJvdG90eXBlLmNyZWF0ZVdpZGdldD1mdW5jdGlvbih0LGUsbil7dmFyIHM9dGhpcyxjPSgwLG8ubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsZSk7cmV0dXJuIGEoYyksKDAsby5yZXF1ZXN0KSgiIi5jb25jYXQoYy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KGMua2V5LCIuanNvbiIpKS50aGVuKGZ1bmN0aW9uKGEpe3ZhciB1PSgwLG8ucGFyc2VKU09OKShhKSxsPXMud2lkZ2V0c1t0XT1uZXcgaS5TbWFydHN1cHBXaWRnZXQodCxjLG4pO3JldHVybiBkZWxldGUgZS5mZWF0dXJlcyxsLmluaXQoKDAsby5tZXJnZURlZXApKHUsZSksdS5mZWF0dXJlcyksZSYmZS53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsci50cmFja09wdGlvbnMpKGwub3B0aW9ucyxPYmplY3Qua2V5cyhlKSksd2luZG93LnNtYXJ0c3VwcC5nZXRBc3NldFVybD1sLmdldEFzc2V0VXJsLmJpbmQobCksbH0pfSx0fSgpO2UuU21hcnRzdXBwTG9hZGVyPXM7dmFyIGE9ZnVuY3Rpb24odCl7aWYoIXQuYm9vdHN0cmFwVXJsKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24gYm9vdHN0cmFwVXJsIik7aWYoIXQua2V5KXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBvcHRpb24ga2V5Iil9fSw3NDAodCxlLG4peyJ1c2Ugc3RyaWN0Ijt2YXIgcj10aGlzJiZ0aGlzLl9fYXdhaXRlcnx8ZnVuY3Rpb24odCxlLG4scil7cmV0dXJuIG5ldyhufHwobj1Qcm9taXNlKSkoZnVuY3Rpb24obyxpKXtmdW5jdGlvbiBzKHQpe3RyeXtjKHIubmV4dCh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYSh0KXt0cnl7YyhyLnRocm93KHQpKX1jYXRjaCh0KXtpKHQpfX1mdW5jdGlvbiBjKHQpe3ZhciBlO3QuZG9uZT9vKHQudmFsdWUpOihlPXQudmFsdWUsZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSkpLnRoZW4ocyxhKX1jKChyPXIuYXBwbHkodCxlfHxbXSkpLm5leHQoKSl9KX0sbz10aGlzJiZ0aGlzLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbih0LGUpe3ZhciBuLHIsbyxpLHM9e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKDEmb1swXSl0aHJvdyBvWzFdO3JldHVybiBvWzFdfSx0cnlzOltdLG9wczpbXX07cmV0dXJuIGk9e25leHQ6YSgwKSx0aHJvdzphKDEpLHJldHVybjphKDIpfSwiZnVuY3Rpb24iPT10eXBlb2YgU3ltYm9sJiYoaVtTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxpO2Z1bmN0aW9uIGEoYSl7cmV0dXJuIGZ1bmN0aW9uKGMpe3JldHVybiBmdW5jdGlvbihhKXtpZihuKXRocm93IG5ldyBUeXBlRXJyb3IoIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy4iKTtmb3IoO2kmJihpPTAsYVswXSYmKHM9MCkpLHM7KXRyeXtpZihuPTEsciYmKG89MiZhWzBdP3IucmV0dXJuOmFbMF0/ci50aHJvd3x8KChvPXIucmV0dXJuKSYmby5jYWxsKHIpLDApOnIubmV4dCkmJiEobz1vLmNhbGwocixhWzFdKSkuZG9uZSlyZXR1cm4gbztzd2l0Y2gocj0wLG8mJihhPVsyJmFbMF0sby52YWx1ZV0pLGFbMF0pe2Nhc2UgMDpjYXNlIDE6bz1hO2JyZWFrO2Nhc2UgNDpyZXR1cm4gcy5sYWJlbCsrLHt2YWx1ZTphWzFdLGRvbmU6ITF9O2Nhc2UgNTpzLmxhYmVsKysscj1hWzFdLGE9WzBdO2NvbnRpbnVlO2Nhc2UgNzphPXMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKCEoKG89KG89cy50cnlzKS5sZW5ndGg+MCYmb1tvLmxlbmd0aC0xXSl8fDYhPT1hWzBdJiYyIT09YVswXSkpe3M9MDtjb250aW51ZX1pZigzPT09YVswXSYmKCFvfHxhWzFdPm9bMF0mJmFbMV08b1szXSkpe3MubGFiZWw9YVsxXTticmVha31pZig2PT09YVswXSYmcy5sYWJlbDxvWzFdKXtzLmxhYmVsPW9bMV0sbz1hO2JyZWFrfWlmKG8mJnMubGFiZWw8b1syXSl7cy5sYWJlbD1vWzJdLHMub3BzLnB1c2goYSk7YnJlYWt9b1syXSYmcy5vcHMucG9wKCkscy50cnlzLnBvcCgpO2NvbnRpbnVlfWE9ZS5jYWxsKHQscyl9Y2F0Y2godCl7YT1bNix0XSxyPTB9ZmluYWxseXtuPW89MH1pZig1JmFbMF0pdGhyb3cgYVsxXTtyZXR1cm57dmFsdWU6YVswXT9hWzFdOnZvaWQgMCxkb25lOiEwfX0oW2EsY10pfX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSxlLnRyYWNrT3BlcmF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcyxmdW5jdGlvbihuKXtzd2l0Y2gobi5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fHMuaW5kZXhPZihlKT49MHx8YS5pbmRleE9mKHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSk+PTApcmV0dXJuWzIsITFdO24ubGFiZWw9MTtjYXNlIDE6cmV0dXJuIG4udHJ5cy5wdXNoKFsxLDMsLDRdKSxbNCwoMCxpLnJlcXVlc3QpKHQud2lkZ2V0VHJhY2tlclVybCsiL3RyYWNrL29wZXJhdGlvbj9rZXk9Ii5jb25jYXQodC5rZXksIiZvcGVyYXRpb249IikuY29uY2F0KGUsIiZkb21haW49IikuY29uY2F0KHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSkpXTtjYXNlIDI6cmV0dXJuIG4uc2VudCgpLFsyLCEwXTtjYXNlIDM6cmV0dXJuIG4uc2VudCgpLFsyLCExXTtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUudHJhY2tPcHRpb25zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIodGhpcyx2b2lkIDAsdm9pZCAwLGZ1bmN0aW9uKCl7dmFyIG47cmV0dXJuIG8odGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOmlmKCF0LndpZGdldFRyYWNrZXJVcmx8fGEuaW5kZXhPZih3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpPj0wKXJldHVyblsyLCExXTtpZigwPT09KG49ZS5maWx0ZXIoZnVuY3Rpb24odCl7cmV0dXJuIGMuaW5kZXhPZih0KTwwfSkpLmxlbmd0aClyZXR1cm5bMiwhMV07ci5sYWJlbD0xO2Nhc2UgMTpyZXR1cm4gci50cnlzLnB1c2goWzEsMywsNF0pLFs0LCgwLGkucmVxdWVzdCkodC53aWRnZXRUcmFja2VyVXJsKyIvdHJhY2svb3B0aW9ucz9rZXk9Ii5jb25jYXQodC5rZXksIiZvcHRpb25zPSIpLmNvbmNhdChuLmpvaW4oIiwiKSwiJmRvbWFpbj0iKS5jb25jYXQod2luZG93LmxvY2F0aW9uLmhvc3RuYW1lKSldO2Nhc2UgMjpyZXR1cm4gci5zZW50KCksWzIsITBdO2Nhc2UgMzpyZXR1cm4gci5zZW50KCksWzIsITFdO2Nhc2UgNDpyZXR1cm5bMl19fSl9KX07dmFyIGk9big4OTMpLHM9WyJodG1sOmFwcGx5IiwiY2hhdDptZXNzYWdlIiwib24iXSxhPVsid3d3LnNtYXJ0c3VwcC5jb20iLCJhcHAuc21hcnRzdXBwLmNvbSJdLGM9WyJrZXkiLCJnYU9wdGlvbnMiLCJnYU5hbWUiLCJjb29raWVQcmVmaXgiLCJjb29raWVQYXRoIiwiY3Jvc3NEb21haW5FbmFibGVkIiwicG9zaXRpb24iLCJvcGVuT25UcmlnZ2VyIl19LDg5Myh0LGUpeyJ1c2Ugc3RyaWN0IjtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5wYXJzZUpTT049ZS5yZXF1ZXN0PWUuY3JlYXRlTGluaz1lLmNyZWF0ZVNjcmlwdD1lLnJlc29sdmVUYXJnZXRFbGVtZW50PWUubWVyZ2VEZWVwPXZvaWQgMDt2YXIgbj1mdW5jdGlvbih0KXtyZXR1cm4gdCYmIm9iamVjdCI9PXR5cGVvZiB0fTtlLm1lcmdlRGVlcD1mdW5jdGlvbigpe2Zvcih2YXIgdD1bXSxyPTA7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3JdPWFyZ3VtZW50c1tyXTt2YXIgbz17fTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe09iamVjdC5rZXlzKHQpLmZvckVhY2goZnVuY3Rpb24ocil7dmFyIGk9b1tyXSxzPXRbcl07dm9pZCAwIT09cyYmKEFycmF5LmlzQXJyYXkoaSl8fEFycmF5LmlzQXJyYXkocyk/b1tyXT1zOm4oaSkmJm4ocyk/b1tyXT0oMCxlLm1lcmdlRGVlcCkoaSxzKTpvW3JdPXMpfSl9KSxvfSxlLnJlc29sdmVUYXJnZXRFbGVtZW50PWZ1bmN0aW9uKHQpe3JldHVybiB0IGluc3RhbmNlb2YgRWxlbWVudD90OiJzdHJpbmciPT10eXBlb2YgdD9kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0KTpkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdfSxlLmNyZWF0ZVNjcmlwdD1mdW5jdGlvbih0LGUpe3ZhciBuPXQuY3JlYXRlRWxlbWVudCgic2NyaXB0Iik7cmV0dXJuIG4udHlwZT0idGV4dC9qYXZhc2NyaXB0IixuLmNoYXJzZXQ9InV0ZjgiLGUmJihuLnNyYz1lKSxufSxlLmNyZWF0ZUxpbms9ZnVuY3Rpb24odCxlKXt2YXIgbj10LmNyZWF0ZUVsZW1lbnQoImxpbmsiKTtyZXR1cm4gZSYmKG4uaHJlZj1lKSxufSxlLnJlcXVlc3Q9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe2Uub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWUucmVhZHlTdGF0ZSYmKGUuc3RhdHVzPj0yMDAmJmUuc3RhdHVzPDMwMD9uKGUucmVzcG9uc2UpOnIobmV3IEVycm9yKCJSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1cyAiLmNvbmNhdChlLnN0YXR1cykpKSl9LGUub3BlbigiR0VUIix0LCEwKSxlLnNldFJlcXVlc3RIZWFkZXIoIkNvbnRlbnQtVHlwZSIsInRleHQvcGxhaW4iKSxlLnNlbmQoKX0pfSxlLnBhcnNlSlNPTj1mdW5jdGlvbih0KXtpZihKU09OLnBhcnNlKXJldHVybiBKU09OLnBhcnNlKHQpO2lmKEpTT04uZGVjb2RlKXJldHVybiBKU09OLmRlY29kZSh0KTt0aHJvdyBuZXcgRXJyb3IoIlVuYWJsZSB0byBwYXJzZSBqc29uLiIpfX0sMTMwKHQsZSxuKXsidXNlIHN0cmljdCI7dmFyIHI9dGhpcyYmdGhpcy5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKHQsZSxuLHIpe3JldHVybiBuZXcobnx8KG49UHJvbWlzZSkpKGZ1bmN0aW9uKG8saSl7ZnVuY3Rpb24gcyh0KXt0cnl7YyhyLm5leHQodCkpfWNhdGNoKHQpe2kodCl9fWZ1bmN0aW9uIGEodCl7dHJ5e2Moci50aHJvdyh0KSl9Y2F0Y2godCl7aSh0KX19ZnVuY3Rpb24gYyh0KXt2YXIgZTt0LmRvbmU/byh0LnZhbHVlKTooZT10LnZhbHVlLGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pKS50aGVuKHMsYSl9Yygocj1yLmFwcGx5KHQsZXx8W10pKS5uZXh0KCkpfSl9LG89dGhpcyYmdGhpcy5fX2dlbmVyYXRvcnx8ZnVuY3Rpb24odCxlKXt2YXIgbixyLG8saSxzPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZigxJm9bMF0pdGhyb3cgb1sxXTtyZXR1cm4gb1sxXX0sdHJ5czpbXSxvcHM6W119O3JldHVybiBpPXtuZXh0OmEoMCksdGhyb3c6YSgxKSxyZXR1cm46YSgyKX0sImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbCYmKGlbU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksaTtmdW5jdGlvbiBhKGEpe3JldHVybiBmdW5jdGlvbihjKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYobil0aHJvdyBuZXcgVHlwZUVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuIik7Zm9yKDtpJiYoaT0wLGFbMF0mJihzPTApKSxzOyl0cnl7aWYobj0xLHImJihvPTImYVswXT9yLnJldHVybjphWzBdP3IudGhyb3d8fCgobz1yLnJldHVybikmJm8uY2FsbChyKSwwKTpyLm5leHQpJiYhKG89by5jYWxsKHIsYVsxXSkpLmRvbmUpcmV0dXJuIG87c3dpdGNoKHI9MCxvJiYoYT1bMiZhWzBdLG8udmFsdWVdKSxhWzBdKXtjYXNlIDA6Y2FzZSAxOm89YTticmVhaztjYXNlIDQ6cmV0dXJuIHMubGFiZWwrKyx7dmFsdWU6YVsxXSxkb25lOiExfTtjYXNlIDU6cy5sYWJlbCsrLHI9YVsxXSxhPVswXTtjb250aW51ZTtjYXNlIDc6YT1zLm9wcy5wb3AoKSxzLnRyeXMucG9wKCk7Y29udGludWU7ZGVmYXVsdDppZighKChvPShvPXMudHJ5cykubGVuZ3RoPjAmJm9bby5sZW5ndGgtMV0pfHw2IT09YVswXSYmMiE9PWFbMF0pKXtzPTA7Y29udGludWV9aWYoMz09PWFbMF0mJighb3x8YVsxXT5vWzBdJiZhWzFdPG9bM10pKXtzLmxhYmVsPWFbMV07YnJlYWt9aWYoNj09PWFbMF0mJnMubGFiZWw8b1sxXSl7cy5sYWJlbD1vWzFdLG89YTticmVha31pZihvJiZzLmxhYmVsPG9bMl0pe3MubGFiZWw9b1syXSxzLm9wcy5wdXNoKGEpO2JyZWFrfW9bMl0mJnMub3BzLnBvcCgpLHMudHJ5cy5wb3AoKTtjb250aW51ZX1hPWUuY2FsbCh0LHMpfWNhdGNoKHQpe2E9WzYsdF0scj0wfWZpbmFsbHl7bj1vPTB9aWYoNSZhWzBdKXRocm93IGFbMV07cmV0dXJue3ZhbHVlOmFbMF0/YVsxXTp2b2lkIDAsZG9uZTohMH19KFthLGNdKX19fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBXaWRnZXQ9dm9pZCAwO3ZhciBpPW4oNzQwKSxzPW4oODkzKSxhPXdpbmRvdyxjPSItYXBwbGljYXRpb24taWZyYW1lIix1PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsbil7aWYodm9pZCAwPT09biYmKG49W10pLHRoaXMuaWQ9dCx0aGlzLm9wdGlvbnM9ZSx0aGlzLl9wdXNoQXBpPW4sdGhpcy5yZW5kZXJlZD0hMSx0aGlzLmFwaT1udWxsLHRoaXMuZWw9bnVsbCx0aGlzLmZyYW1lPW51bGwsdGhpcy52ZXJzaW9uPTIsdGhpcy5pbml0aWFsaXplZD0hMSwhZS5ib290c3RyYXBVcmwpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBib290c3RyYXBVcmwiKTtpZighZS5rZXkpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIG9wdGlvbiBrZXkiKX1yZXR1cm4gdC5wcm90b3R5cGUuc2V0T3B0aW9ucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPSgwLHMubWVyZ2VEZWVwKSh0aGlzLm9wdGlvbnMsdCksdGhpcy5mZWF0dXJlcyYmKHRoaXMuZmVhdHVyZXMucmF0aW5nfHwodGhpcy5vcHRpb25zLnJhdGluZ0VuYWJsZWQ9ITEpLHRoaXMuZmVhdHVyZXMuZ3JvdXBzfHwodGhpcy5vcHRpb25zLmdyb3VwU2VsZWN0RW5hYmxlZD0hMSksdGhpcy5mZWF0dXJlcy5jdXN0b21pemV8fCh0aGlzLm9wdGlvbnMuaGlkZVdpZGdldD0hMSx0aGlzLm9wdGlvbnMuaGlkZU9mZmxpbmVDaGF0PSExLHRoaXMub3B0aW9ucy5udW1iZXJDb250cm9sPSExLHRoaXMub3B0aW9ucy5yZXF1aXJlTG9naW49ITEsdGhpcy5vcHRpb25zLnByaXZhY3lOb3RpY2VFbmFibGVkPSEwLHRoaXMub3B0aW9ucy5vcmllbnRhdGlvbj0icmlnaHQiKSx0aGlzLmZlYXR1cmVzLmdhfHwodGhpcy5vcHRpb25zLmdvb2dsZUFuYWx5dGljc0VuYWJsZWQ9ITEpKSx0aGlzfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSl7dGhpcy5mZWF0dXJlcz1lLHRoaXMuc2V0T3B0aW9ucyh0KSx0aGlzLmluaXRpYWxpemVkPSEwLCJhdXRvIj09PXRoaXMub3B0aW9ucy5wb3NpdGlvbiYmKHRoaXMub3B0aW9ucy5wb3NpdGlvbj10aGlzLm9wdGlvbnMucmVuZGVyVG8/InJlbGF0aXZlIjoiZml4ZWQiKX0sdC5wcm90b3R5cGUuY3JlYXRlRnJhbWU9ZnVuY3Rpb24oKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpZnJhbWUiKTtyZXR1cm4gdC5pZD0iIi5jb25jYXQodGhpcy5pZCkuY29uY2F0KGMpLHQuc2V0QXR0cmlidXRlKCJ0aXRsZSIsIlNtYXJ0c3VwcCIpLHQuc2V0QXR0cmlidXRlKCJhcmlhLWhpZGRlbiIsInRydWUiKSx0LnN0eWxlLmRpc3BsYXk9ImJsb2NrIix0LnN0eWxlLnBvc2l0aW9uPSJmaXhlZCIsdC5zdHlsZS50b3A9IjAiLHQuc3R5bGUubGVmdD0iMCIsdC5zdHlsZS53aWR0aD0iMXB4Iix0LnN0eWxlLmhlaWdodD0iMXB4Iix0LnN0eWxlLm9wYWNpdHk9IjAiLHQuc3R5bGUuYm9yZGVyPSJub25lIix0LnN0eWxlLnpJbmRleD0iLTEiLHQuc3R5bGUucG9pbnRlckV2ZW50cz0ibm9uZSIsdH0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQpe3JldHVybiByKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBvKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDpyZXR1cm4gdGhpcy5faW5pdFByb21pc2U/WzQsdGhpcy5faW5pdFByb21pc2VdOlszLDJdO2Nhc2UgMTpuLnNlbnQoKSxuLmxhYmVsPTI7Y2FzZSAyOmlmKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQrYykpcmV0dXJuWzJdO2lmKCF0aGlzLmluaXRpYWxpemVkKXRocm93IG5ldyBFcnJvcigiZmFpbGVkIHRvIGluaXRpYWxpemUgd2lkZ2V0Iik7aWYoIShlPSgwLHMucmVzb2x2ZVRhcmdldEVsZW1lbnQpKHQpKSl0aHJvdyBuZXcgRXJyb3IoInRhcmdldCBlbGVtZW50IG5vdCBmb3VuZCIpO3JldHVybiB0aGlzLnJlbmRlckZyYW1lKGUpLHRoaXMucmVuZGVyZWQ9ITAsWzJdfX0pfSl9LHQucHJvdG90eXBlLnJlbmRlckZyYW1lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsbj10aGlzLmZyYW1lPXRoaXMuY3JlYXRlRnJhbWUoKTtuLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7dmFyIHQsaSxhPW51bGwhPT0odD1uLmNvbnRlbnREb2N1bWVudCkmJnZvaWQgMCE9PXQ/dDpudWxsPT09KGk9bi5jb250ZW50V2luZG93KXx8dm9pZCAwPT09aT92b2lkIDA6aS5kb2N1bWVudDtpZighYSl0aHJvdyBuZXcgRXJyb3IoIkNhbm5vdCBmaW5kIERvY3VtZW50Iik7dmFyIGM9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLHU9YS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3UuaWQ9ImJvZHkiLHUuZGF0YXNldC5zbWFydHN1cHBJZD1lLmlkLHUuaW5uZXJIVE1MPSc8ZGl2IGlkPSJhcHAiPjwvZGl2Pic7dmFyIGw9InNyYy9tYWluLnRzIixwPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlU2NyaXB0KShhLGUuZ2V0QmFzZVVybCgpKyIvIi5jb25jYXQodCkpO24udHlwZT0ibW9kdWxlIixjLmFwcGVuZENoaWxkKG4pfSxmPWZ1bmN0aW9uKHQpe3ZhciBuPSgwLHMuY3JlYXRlTGluaykoYSwiIi5jb25jYXQoZS5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCkpO24ucmVsPSJzdHlsZXNoZWV0IixuLmNyb3NzT3JpZ2luPSJhbm9ueW1vdXMiLGMuYXBwZW5kQ2hpbGQobil9O2Uub3B0aW9ucy53aWRnZXRWM0Rldk1vZGU/WyJAdml0ZS9jbGllbnQiLGxdLmZvckVhY2gocCk6cihlLHZvaWQgMCx2b2lkIDAsZnVuY3Rpb24oKXt2YXIgdCxuLHIsaTtyZXR1cm4gbyh0aGlzLGZ1bmN0aW9uKG8pe3N3aXRjaChvLmxhYmVsKXtjYXNlIDA6cmV0dXJuWzQsKDAscy5yZXF1ZXN0KSgiIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi9tYW5pZmVzdC5qc29uIikpLnRoZW4oZnVuY3Rpb24odCl7cmV0dXJuKDAscy5wYXJzZUpTT04pKHQpfSldO2Nhc2UgMTpyZXR1cm4gdD1vLnNlbnQoKSxuPXRbbF0scChuLmZpbGUpLG51bGw9PT0ocj1uLmltcG9ydHMpfHx2b2lkIDA9PT1yfHxyLmZvckVhY2goZnVuY3Rpb24obil7dmFyIHIsbztyPXRbbl0uZmlsZSwobz0oMCxzLmNyZWF0ZUxpbmspKGEsIiIuY29uY2F0KGUuZ2V0QmFzZVVybCgpLCIvIikuY29uY2F0KHIpKSkucmVsPSJtb2R1bGVwcmVsb2FkIixjLmFwcGVuZENoaWxkKG8pfSksbnVsbD09PShpPW4uY3NzKXx8dm9pZCAwPT09aXx8aS5mb3JFYWNoKGYpLGYodFsic3R5bGUuY3NzIl0uZmlsZSksWzJdfX0pfSl9KSx0LmFwcGVuZENoaWxkKG4pfSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5lbCYmdGhpcy5lbC5wYXJlbnROb2RlJiYodGhpcy5lbC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZWwpLHRoaXMuZWw9bnVsbCl9LHQucHJvdG90eXBlLmdldE9wdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT10aGlzLm9wdGlvbnNbdF0/ZTp0aGlzLm9wdGlvbnNbdF19LHQucHJvdG90eXBlLmdldEJhc2VVcmw9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25zLndpZGdldFYzVXJsfSx0LnByb3RvdHlwZS5nZXRBc3NldFVybD1mdW5jdGlvbih0KXtyZXR1cm4iIi5jb25jYXQodGhpcy5nZXRCYXNlVXJsKCksIi8iKS5jb25jYXQodCl9LHQucHJvdG90eXBlLmdldEludGVybmFsQXBpVXJsPWZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KHRoaXMub3B0aW9ucy5ib290c3RyYXBVcmwsIi93aWRnZXQvIikuY29uY2F0KHRoaXMub3B0aW9ucy5rZXksIi9jb2RlLmpzIil9LHQucHJvdG90eXBlLmV4ZWM9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10sZT0wO2U8YXJndW1lbnRzLmxlbmd0aDtlKyspdFtlXT1hcmd1bWVudHNbZV07dGhpcy5fcHVzaEFwaS5wdXNoKHQpfSx0LnByb3RvdHlwZS5pbnN0YWxsQXBpPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYodGhpcy5hcGk9dCxhLnNtYXJ0c3VwcC5hcGk9dCx0aGlzLl9wdXNoQXBpJiYodGhpcy5fcHVzaEFwaS5mb3JFYWNoKGZ1bmN0aW9uKG4pe3ZhciByPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKG4sMCk7dHJ5e2Uub3B0aW9ucy53aWRnZXRUcmFja2VyRW5hYmxlZCYmKDAsaS50cmFja09wZXJhdGlvbikoZS5vcHRpb25zLHJbMF0pLHQuZXhlY3V0ZShyKX1jYXRjaCh0KXtjb25zb2xlLmxvZyh0KX19KSx0aGlzLl9wdXNoQXBpLnB1c2g9ZnVuY3Rpb24obil7dmFyIHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwobiwwKTt0cnl7ZS5vcHRpb25zLndpZGdldFRyYWNrZXJFbmFibGVkJiYoMCxpLnRyYWNrT3BlcmF0aW9uKShlLm9wdGlvbnMsclswXSksdC5leGVjdXRlKHIpfWNhdGNoKHQpe2NvbnNvbGUubG9nKHQpfX0pLHRoaXMub3B0aW9ucy5vblN0YXJ0dXApdHJ5e3RoaXMub3B0aW9ucy5vblN0YXJ0dXAodCl9Y2F0Y2godCl7Y29uc29sZS5sb2codCl9fSx0fSgpO2UuU21hcnRzdXBwV2lkZ2V0PXV9fSxlPXt9O2Z1bmN0aW9uIG4ocil7dmFyIG89ZVtyXTtpZih2b2lkIDAhPT1vKXJldHVybiBvLmV4cG9ydHM7dmFyIGk9ZVtyXT17ZXhwb3J0czp7fX07cmV0dXJuIHRbcl0uY2FsbChpLmV4cG9ydHMsaSxpLmV4cG9ydHMsbiksaS5leHBvcnRzfW4uZz1mdW5jdGlvbigpe2lmKCJvYmplY3QiPT10eXBlb2YgZ2xvYmFsVGhpcylyZXR1cm4gZ2xvYmFsVGhpczt0cnl7cmV0dXJuIHRoaXN8fG5ldyBGdW5jdGlvbigicmV0dXJuIHRoaXMiKSgpfWNhdGNoKHQpe2lmKCJvYmplY3QiPT10eXBlb2Ygd2luZG93KXJldHVybiB3aW5kb3d9fSgpLCgoKT0+eyJ1c2Ugc3RyaWN0IjtuKDc2MSk7dmFyIHQ9big3MTUpLGU9bigzNDUpLHI9ImNoYXQiO2lmKHdpbmRvdy5zbWFydHN1cHB8fCh3aW5kb3cuc21hcnRzdXBwPWZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcC5fLnB1c2goYXJndW1lbnRzKX0sd2luZG93LnNtYXJ0c3VwcC5fPVtdKSwhd2luZG93LlNNQVJUU1VQUF9MT0FERUQpe3dpbmRvdy5TTUFSVFNVUFBfTE9BREVEPSEwO3ZhciBvPW5ldyBlLlNtYXJ0c3VwcExvYWRlcih7d2lkZ2V0VmVyc2lvbjozLGJvb3RzdHJhcFVybDoiaHR0cHM6Ly9ib290c3RyYXAuc21hcnRzdXBwY2hhdC5jb20iLGZpbGVzVXJsOiJodHRwczovL2ZpbGVzLnNtYXJ0c3VwcGNkbi5jb20iLHdpZGdldFYzVXJsOiJodHRwczovL3dpZGdldC12My5zbWFydHN1cHBjZG4uY29tIixzdG9yYWdlVXJsOiJodHRwczovL3trZXl9LnN0b3JhZ2Uuc21hcnRzdXBwY2hhdC5jb20iLHdpZGdldEFwaVVybDoiaHR0cHM6Ly9hcGkuc21hcnRzdXBwY2hhdC5jb20iLHpJbmRleDoxZTcscG9zaXRpb246ImF1dG8iLG9yaWVudGF0aW9uOiJyaWdodCIsYXV0b0lubGluZU1vZGU6ITAsd2lkZ2V0VjNEZXZNb2RlOiExfSk7d2luZG93LiRzbWFydHN1cHA9byx3aW5kb3cuc21hcnRzdXBwPU9iamVjdC5hc3NpZ24od2luZG93LnNtYXJ0c3VwcCx7Y2hhdHM6by53aWRnZXRzLGNyZWF0ZTpvLmNyZWF0ZS5iaW5kKG8pLGNyZWF0ZVdpZGdldDpvLmNyZWF0ZVdpZGdldC5iaW5kKG8pLGdldENoYXQ6by5nZXRDaGF0LmJpbmQobyksZ2V0V2lkZ2V0Om8uZ2V0V2lkZ2V0LmJpbmQobyksc2V0RGVmYXVsdHM6by5zZXREZWZhdWx0cy5iaW5kKG8pfSksITEhPT13aW5kb3cuU01BUlRTVVBQX0FVVE9DUkVBVEUmJighMD09PXdpbmRvdy5TTUFSVFNVUFBfQkZDQUNIRSYmKHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJwYWdlc2hvdyIsZnVuY3Rpb24oKXt2YXIgdDtudWxsPT09KHQ9d2luZG93LnNtYXJ0c3VwcC5nZXRXaWRnZXQocikpfHx2b2lkIDA9PT10fHx0LnJlbmRlcigpfSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImJlZm9yZXVubG9hZCIsZnVuY3Rpb24oKXt2YXIgdCxlO251bGw9PT0odD1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCIjIi5jb25jYXQociwiLWFwcGxpY2F0aW9uLWlmcmFtZSIpKSl8fHZvaWQgMD09PXR8fHQucmVtb3ZlKCksbnVsbD09PShlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIiNzbWFydHN1cHAtd2lkZ2V0LWNvbnRhaW5lciIpKXx8dm9pZCAwPT09ZXx8ZS5yZW1vdmUoKX0pKSx0KGZ1bmN0aW9uKCl7d2luZG93LnNtYXJ0c3VwcCgiaHRtbDphcHBseSIsZG9jdW1lbnQpLG8uY3JlYXRlV2lkZ2V0KHIsd2luZG93Ll9zbWFydHN1cHAsd2luZG93LnNtYXJ0c3VwcC5fKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiB0LnJlbmRlcigpfSkuY2F0Y2goZnVuY3Rpb24odCl7Y29uc29sZS53YXJuKHQpfSl9KSl9fSkoKX0pKCk7"}},"time_used":3331,"timings":{"blocked":0,"dns":3,"connect":8,"send":0,"wait":8,"receive":0,"ssl":3312},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/extensions/revolution.extension.navigation.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.610Z","timestamp":1785133989610,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.navigation.min.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Wed, 08 Jan 2020 01:18:56 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6678\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":26101,"size_decoded":6915,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (25862), with CRLF line terminators","md5":"020c9da0283aebff8fb8ea67e3331868","sha1":"d192e2e9538833c8f18f279e04cb1801450dd215","sha256":"6eec26458665f2ff755d8d9d752baf709166660fb8e5389c9fbe939df23ea2f1","sha512":"5448480d1be53db60d47d5fc75bfd56129e9083cacd3a3e0b912ed20f00c7bb2469be0066f8d9a2baff266729f12bf558260ff1431d31e79eca7fb71fa787b8e","ssdeep":"384:chOObjBeYJfz3zX3SWcN12H2DFQ9j6IDumFu7jaWIyUBj3RX2E:cIObR3zXpcN12H2DqZ9iA9QE","tlshash":"52c2a8a976903cab5473667bc16a40b532728a357307ae6078efa6f0057ccd913e7e4c","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-08-04T06:10:37.627678Z","times_seen":1650,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQogKiBSRVZPTFVUSU9OIDUuMiBFWFRFTlNJT04gLSBOQVZJR0FUSU9ODQogKiBAdmVyc2lvbjogMS4zLjUgKDA2LjA0LjIwMTcpDQogKiBAcmVxdWlyZXMganF1ZXJ5LnRoZW1lcHVuY2gucmV2b2x1dGlvbi5qcw0KICogQGF1dGhvciBUaGVtZVB1bmNoDQoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO3ZhciBiPWpRdWVyeS5mbi5yZXZvbHV0aW9uLGM9Yi5pc19tb2JpbGUoKSxkPXthbGlhczoiTmF2aWdhdGlvbiBNaW4gSlMiLG5hbWU6InJldm9sdXRpb24uZXh0ZW5zaW9ucy5uYXZpZ2F0aW9uLm1pbi5qcyIsbWluX2NvcmU6IjUuNC4wIix2ZXJzaW9uOiIxLjMuNSJ9O2pRdWVyeS5leHRlbmQoITAsYix7aGlkZVVuSGlkZU5hdjpmdW5jdGlvbihhKXt2YXIgYj1hLmMud2lkdGgoKSxjPWEubmF2aWdhdGlvbi5hcnJvd3MsZD1hLm5hdmlnYXRpb24uYnVsbGV0cyxlPWEubmF2aWdhdGlvbi50aHVtYm5haWxzLGY9YS5uYXZpZ2F0aW9uLnRhYnM7bShjKSYmeShhLmMuZmluZCgiLnRwYXJyb3dzIiksYy5oaWRlX3VuZGVyLGIsYy5oaWRlX292ZXIpLG0oZCkmJnkoYS5jLmZpbmQoIi50cC1idWxsZXRzIiksZC5oaWRlX3VuZGVyLGIsZC5oaWRlX292ZXIpLG0oZSkmJnkoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSxlLmhpZGVfdW5kZXIsYixlLmhpZGVfb3ZlciksbShmKSYmeShhLmMucGFyZW50KCkuZmluZCgiLnRwLXRhYnMiKSxmLmhpZGVfdW5kZXIsYixmLmhpZGVfb3ZlcikseChhKX0scmVzaXplVGh1bWJzVGFiczpmdW5jdGlvbihhLGIpe2lmKGEubmF2aWdhdGlvbiYmYS5uYXZpZ2F0aW9uLnRhYnMuZW5hYmxlfHxhLm5hdmlnYXRpb24mJmEubmF2aWdhdGlvbi50aHVtYm5haWxzLmVuYWJsZSl7dmFyIGM9KGpRdWVyeSh3aW5kb3cpLndpZHRoKCktNDgwKS81MDAsZD1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGUsZT1hLm5hdmlnYXRpb24udGFicyxnPWEubmF2aWdhdGlvbi50aHVtYm5haWxzLGg9YS5uYXZpZ2F0aW9uLmJ1bGxldHM7aWYoZC5wYXVzZSgpLGM9Yz4xPzE6YzwwPzA6YyxtKGUpJiYoYnx8ZS53aWR0aD5lLm1pbl93aWR0aCkmJmYoYyxkLGEuYyxlLGEuc2xpZGVhbW91bnQsInRhYiIpLG0oZykmJihifHxnLndpZHRoPmcubWluX3dpZHRoKSYmZihjLGQsYS5jLGcsYS5zbGlkZWFtb3VudCwidGh1bWIiKSxtKGgpJiZiKXt2YXIgaT1hLmMuZmluZCgiLnRwLWJ1bGxldHMiKTtpLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPWErMSxkPWIub3V0ZXJXaWR0aCgpK3BhcnNlSW50KHZvaWQgMD09PWguc3BhY2U/MDpoLnNwYWNlLDApLGU9Yi5vdXRlckhlaWdodCgpK3BhcnNlSW50KHZvaWQgMD09PWguc3BhY2U/MDpoLnNwYWNlLDApOyJ2ZXJ0aWNhbCI9PT1oLmRpcmVjdGlvbj8oYi5jc3Moe3RvcDooYy0xKSplKyJweCIsbGVmdDoiMHB4In0pLGkuY3NzKHtoZWlnaHQ6KGMtMSkqZStiLm91dGVySGVpZ2h0KCksd2lkdGg6Yi5vdXRlcldpZHRoKCl9KSk6KGIuY3NzKHtsZWZ0OihjLTEpKmQrInB4Iix0b3A6IjBweCJ9KSxpLmNzcyh7d2lkdGg6KGMtMSkqZCtiLm91dGVyV2lkdGgoKSxoZWlnaHQ6Yi5vdXRlckhlaWdodCgpfSkpfSl9ZC5wbGF5KCkseChhKX1yZXR1cm4hMH0sdXBkYXRlTmF2SW5kZXhlczpmdW5jdGlvbihhKXtmdW5jdGlvbiBkKGEpe2MuZmluZChhKS5sZW5naHQ+MCYmYy5maW5kKGEpLmVhY2goZnVuY3Rpb24oYSl7alF1ZXJ5KHRoaXMpLmRhdGEoImxpaW5kZXgiLGEpfSl9dmFyIGM9YS5jO2QoIi50cC10YWIiKSxkKCIudHAtYnVsbGV0IiksZCgiLnRwLXRodW1iIiksYi5yZXNpemVUaHVtYnNUYWJzKGEsITApLGIubWFuYWdlTmF2aWdhdGlvbihhKX0sbWFuYWdlTmF2aWdhdGlvbjpmdW5jdGlvbihhKXt2YXIgYz1iLmdldEhvcml6b250YWxPZmZzZXQoYS5jLnBhcmVudCgpLCJsZWZ0IiksZD1iLmdldEhvcml6b250YWxPZmZzZXQoYS5jLnBhcmVudCgpLCJyaWdodCIpO20oYS5uYXZpZ2F0aW9uLmJ1bGxldHMpJiYoImZ1bGxzY3JlZW4iIT1hLnNsaWRlckxheW91dCYmImZ1bGx3aWR0aCIhPWEuc2xpZGVyTGF5b3V0JiYoYS5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXRfb2xkPXZvaWQgMD09PWEubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZD9hLm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldDphLm5hdmlnYXRpb24uYnVsbGV0cy5oX29mZnNldF9vbGQsYS5uYXZpZ2F0aW9uLmJ1bGxldHMuaF9vZmZzZXQ9ImNlbnRlciI9PT1hLm5hdmlnYXRpb24uYnVsbGV0cy5oX2FsaWduP2EubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCtjLzItZC8yOmEubmF2aWdhdGlvbi5idWxsZXRzLmhfb2Zmc2V0X29sZCtjLWQpLHQoYS5jLmZpbmQoIi50cC1idWxsZXRzIiksYS5uYXZpZ2F0aW9uLmJ1bGxldHMsYSkpLG0oYS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMpJiZ0KGEuYy5wYXJlbnQoKS5maW5kKCIudHAtdGh1bWJzIiksYS5uYXZpZ2F0aW9uLnRodW1ibmFpbHMsYSksbShhLm5hdmlnYXRpb24udGFicykmJnQoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10YWJzIiksYS5uYXZpZ2F0aW9uLnRhYnMsYSksbShhLm5hdmlnYXRpb24uYXJyb3dzKSYmKCJmdWxsc2NyZWVuIiE9YS5zbGlkZXJMYXlvdXQmJiJmdWxsd2lkdGgiIT1hLnNsaWRlckxheW91dCYmKGEubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQ9dm9pZCAwPT09YS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZD9hLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQ6YS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0Lmhfb2Zmc2V0X29sZCxhLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXQ9InJpZ2h0Ij09PWEubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX2FsaWduP2EubmF2aWdhdGlvbi5hcnJvd3MubGVmdC5oX29mZnNldF9vbGQrZDphLm5hdmlnYXRpb24uYXJyb3dzLmxlZnQuaF9vZmZzZXRfb2xkK2MsYS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQ9dm9pZCAwPT09YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQ/YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldDphLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCxhLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0PSJyaWdodCI9PT1hLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0LmhfYWxpZ24/YS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodC5oX29mZnNldF9vbGQrZDphLm5hdmlnYXRpb24uYXJyb3dzLnJpZ2h0Lmhfb2Zmc2V0X29sZCtjKSx0KGEuYy5maW5kKCIudHAtbGVmdGFycm93LnRwYXJyb3dzIiksYS5uYXZpZ2F0aW9uLmFycm93cy5sZWZ0LGEpLHQoYS5jLmZpbmQoIi50cC1yaWdodGFycm93LnRwYXJyb3dzIiksYS5uYXZpZ2F0aW9uLmFycm93cy5yaWdodCxhKSksbShhLm5hdmlnYXRpb24udGh1bWJuYWlscykmJmUoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10aHVtYnMiKSxhLm5hdmlnYXRpb24udGh1bWJuYWlscyksbShhLm5hdmlnYXRpb24udGFicykmJmUoYS5jLnBhcmVudCgpLmZpbmQoIi50cC10YWJzIiksYS5uYXZpZ2F0aW9uLnRhYnMpfSxjcmVhdGVOYXZpZ2F0aW9uOmZ1bmN0aW9uKGEsZil7aWYoInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oZCkuY2hlY2spcmV0dXJuITE7dmFyIGc9YS5wYXJlbnQoKSxqPWYubmF2aWdhdGlvbi5hcnJvd3Msbj1mLm5hdmlnYXRpb24uYnVsbGV0cyxyPWYubmF2aWdhdGlvbi50aHVtYm5haWxzLHM9Zi5uYXZpZ2F0aW9uLnRhYnMsdD1tKGopLHY9bShuKSx4PW0ocikseT1tKHMpO2goYSxmKSxpKGEsZiksdCYmcShhLGosZiksZi5saS5lYWNoKGZ1bmN0aW9uKGIpe3ZhciBjPWpRdWVyeShmLmxpW2YubGkubGVuZ3RoLTEtYl0pLGQ9alF1ZXJ5KHRoaXMpO3YmJihmLm5hdmlnYXRpb24uYnVsbGV0cy5ydGw/dShhLG4sYyxmKTp1KGEsbixkLGYpKSx4JiYoZi5uYXZpZ2F0aW9uLnRodW1ibmFpbHMucnRsP3coYSxyLGMsInRwLXRodW1iIixmKTp3KGEscixkLCJ0cC10aHVtYiIsZikpLHkmJihmLm5hdmlnYXRpb24udGFicy5ydGw/dyhhLHMsYywidHAtdGFiIixmKTp3KGEscyxkLCJ0cC10YWIiLGYpKX0pLGEuYmluZCgicmV2b2x1dGlvbi5zbGlkZS5vbmFmdGVyc3dhcCByZXZvbHV0aW9uLm5leHRzbGlkZS53YWl0aW5nIixmdW5jdGlvbigpe3ZhciBiPTA9PWEuZmluZCgiLm5leHQtcmV2c2xpZGUiKS5sZW5ndGg/YS5maW5kKCIuYWN0aXZlLXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTphLmZpbmQoIi5uZXh0LXJldnNsaWRlIikuZGF0YSgiaW5kZXgiKTthLmZpbmQoIi50cC1idWxsZXQiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgibGlyZWYiKT09PWI/YS5hZGRDbGFzcygic2VsZWN0ZWQiKTphLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpfSksZy5maW5kKCIudHAtdGh1bWIsIC50cC10YWIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpO2EuZGF0YSgibGlyZWYiKT09PWI/KGEuYWRkQ2xhc3MoInNlbGVjdGVkIiksYS5oYXNDbGFzcygidHAtdGFiIik/ZShnLmZpbmQoIi50cC10YWJzIikscyk6ZShnLmZpbmQoIi50cC10aHVtYnMiKSxyKSk6YS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKX0pO3ZhciBjPTAsZD0hMTtmLnRodW1icyYmalF1ZXJ5LmVhY2goZi50aHVtYnMsZnVuY3Rpb24oYSxlKXtjPSExPT09ZD9hOmMsZD1lLmlkPT09Ynx8YT09PWJ8fGR9KTt2YXIgaD1jPjA/Yy0xOmYuc2xpZGVhbW91bnQtMSxpPWMrMT09Zi5zbGlkZWFtb3VudD8wOmMrMTtpZighMD09PWouZW5hYmxlKXt2YXIgaz1qLnRtcDtpZih2b2lkIDAhPWYudGh1bWJzW2hdJiZqUXVlcnkuZWFjaChmLnRodW1ic1toXS5wYXJhbXMsZnVuY3Rpb24oYSxiKXtrPWsucmVwbGFjZShiLmZyb20sYi50byl9KSxqLmxlZnQuai5odG1sKGspLGs9ai50bXAsaT5mLnNsaWRlYW1vdW50KXJldHVybjtqUXVlcnkuZWFjaChmLnRodW1ic1tpXS5wYXJhbXMsZnVuY3Rpb24oYSxiKXtrPWsucmVwbGFjZShiLmZyb20sYi50byl9KSxqLnJpZ2h0LmouaHRtbChrKSxqLnJ0bD8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoubGVmdC5qLmZpbmQoIi50cC1hcnItaW1naG9sZGVyIikse2JhY2tncm91bmRJbWFnZToidXJsKCIrZi50aHVtYnNbaV0uc3JjKyIpIn0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLnJpZ2h0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSx7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitmLnRodW1ic1toXS5zcmMrIikifSkpOihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5sZWZ0LmouZmluZCgiLnRwLWFyci1pbWdob2xkZXIiKSx7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitmLnRodW1ic1toXS5zcmMrIikifSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoucmlnaHQuai5maW5kKCIudHAtYXJyLWltZ2hvbGRlciIpLHtiYWNrZ3JvdW5kSW1hZ2U6InVybCgiK2YudGh1bWJzW2ldLnNyYysiKSJ9KSl9fSksbChqKSxsKG4pLGwociksbChzKSxnLm9uKCJtb3VzZWVudGVyIG1vdXNlbW92ZSIsZnVuY3Rpb24oKXtnLmhhc0NsYXNzKCJ0cC1tb3VzZW92ZXIiKXx8KGcuYWRkQ2xhc3MoInRwLW1vdXNlb3ZlciIpLHB1bmNoZ3MuVHdlZW5MaXRlLmtpbGxEZWxheWVkQ2FsbHNUbyhwKSx0JiZqLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cGFycm93cyIpLGosInNob3ciKSx2JiZuLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC1idWxsZXRzIiksbiwic2hvdyIpLHgmJnIuaGlkZV9vbmxlYXZlJiZwKGcuZmluZCgiLnRwLXRodW1icyIpLHIsInNob3ciKSx5JiZzLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC10YWJzIikscywic2hvdyIpLGMmJihnLnJlbW92ZUNsYXNzKCJ0cC1tb3VzZW92ZXIiKSxvKGEsZikpKX0pLGcub24oIm1vdXNlbGVhdmUiLGZ1bmN0aW9uKCl7Zy5yZW1vdmVDbGFzcygidHAtbW91c2VvdmVyIiksbyhhLGYpfSksdCYmai5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHBhcnJvd3MiKSxqLCJoaWRlIiwwKSx2JiZuLmhpZGVfb25sZWF2ZSYmcChnLmZpbmQoIi50cC1idWxsZXRzIiksbiwiaGlkZSIsMCkseCYmci5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHAtdGh1bWJzIiksciwiaGlkZSIsMCkseSYmcy5oaWRlX29ubGVhdmUmJnAoZy5maW5kKCIudHAtdGFicyIpLHMsImhpZGUiLDApLHgmJmsoZy5maW5kKCIudHAtdGh1bWJzIiksZikseSYmayhnLmZpbmQoIi50cC10YWJzIiksZiksImNhcm91c2VsIj09PWYuc2xpZGVyVHlwZSYmayhhLGYsITApLCgib24iPT09Zi5uYXZpZ2F0aW9uLnRvdWNoLnRvdWNoT25EZXNrdG9wfHwib24iPT1mLm5hdmlnYXRpb24udG91Y2gudG91Y2hlbmFibGVkJiZjKSYmayhhLGYsInN3aXBlYmFzZWQiKX19KTt2YXIgZT1mdW5jdGlvbihhLGIpe3ZhciBkPShhLmhhc0NsYXNzKCJ0cC10aHVtYnMiKSxhLmhhc0NsYXNzKCJ0cC10aHVtYnMiKT8iLnRwLXRodW1iLW1hc2siOiIudHAtdGFiLW1hc2siKSxlPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpPyIudHAtdGh1bWJzLWlubmVyLXdyYXBwZXIiOiIudHAtdGFicy1pbm5lci13cmFwcGVyIixmPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpPyIudHAtdGh1bWIiOiIudHAtdGFiIixnPWEuZmluZChkKSxoPWcuZmluZChlKSxpPWIuZGlyZWN0aW9uLGo9InZlcnRpY2FsIj09PWk/Zy5maW5kKGYpLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApK2Iuc3BhY2U6Zy5maW5kKGYpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkrYi5zcGFjZSxrPSJ2ZXJ0aWNhbCI9PT1pP2cuaGVpZ2h0KCk6Zy53aWR0aCgpLGw9cGFyc2VJbnQoZy5maW5kKGYrIi5zZWxlY3RlZCIpLmRhdGEoImxpaW5kZXgiKSwwKSxtPWsvaixuPSJ2ZXJ0aWNhbCI9PT1pP2cuaGVpZ2h0KCk6Zy53aWR0aCgpLG89MC1sKmoscD0idmVydGljYWwiPT09aT9oLmhlaWdodCgpOmgud2lkdGgoKSxxPW88MC0ocC1uKT8wLShwLW4pOnE+MD8wOm8scj1oLmRhdGEoIm9mZnNldCIpO20+MiYmKHE9by0ocitqKTw9MD9vLShyK2opPDAtaj9yOnErajpxLHE9by1qK3IrazxqJiZvKyhNYXRoLnJvdW5kKG0pLTIpKmo8cj9vKyhNYXRoLnJvdW5kKG0pLTIpKmo6cSkscT1xPDAtKHAtbik/MC0ocC1uKTpxPjA/MDpxLCJ2ZXJ0aWNhbCIhPT1pJiZnLndpZHRoKCk+PWgud2lkdGgoKSYmKHE9MCksInZlcnRpY2FsIj09PWkmJmcuaGVpZ2h0KCk+PWguaGVpZ2h0KCkmJihxPTApLGEuaGFzQ2xhc3MoImRyYWdnZWQiKXx8KCJ2ZXJ0aWNhbCI9PT1pP2guZGF0YSgidG1tb3ZlIixwdW5jaGdzLlR3ZWVuTGl0ZS50byhoLC41LHt0b3A6cSsicHgiLGVhc2U6cHVuY2hncy5Qb3dlcjMuZWFzZUluT3V0fSkpOmguZGF0YSgidG1tb3ZlIixwdW5jaGdzLlR3ZWVuTGl0ZS50byhoLC41LHtsZWZ0OnErInB4IixlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dH0pKSxoLmRhdGEoIm9mZnNldCIscSkpfSxmPWZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXIgZz1jLnBhcmVudCgpLmZpbmQoIi50cC0iK2YrInMiKSxoPWcuZmluZCgiLnRwLSIrZisicy1pbm5lci13cmFwcGVyIiksaT1nLmZpbmQoIi50cC0iK2YrIi1tYXNrIiksaj1kLndpZHRoKmE8ZC5taW5fd2lkdGg/ZC5taW5fd2lkdGg6TWF0aC5yb3VuZChkLndpZHRoKmEpLGs9TWF0aC5yb3VuZChqL2Qud2lkdGgqZC5oZWlnaHQpLGw9InZlcnRpY2FsIj09PWQuZGlyZWN0aW9uP2o6aiplK2Quc3BhY2UqKGUtMSksbT0idmVydGljYWwiPT09ZC5kaXJlY3Rpb24/ayplK2Quc3BhY2UqKGUtMSk6ayxuPSJ2ZXJ0aWNhbCI9PT1kLmRpcmVjdGlvbj97d2lkdGg6aisicHgifTp7aGVpZ2h0OmsrInB4In07Yi5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGcsbikpLGIuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt3aWR0aDpsKyJweCIsaGVpZ2h0Om0rInB4In0pKSxiLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaSx7d2lkdGg6bCsicHgiLGhlaWdodDptKyJweCJ9KSk7dmFyIG89aC5maW5kKCIudHAtIitmKTtyZXR1cm4gbyYmalF1ZXJ5LmVhY2gobyxmdW5jdGlvbihhLGMpeyJ2ZXJ0aWNhbCI9PT1kLmRpcmVjdGlvbj9iLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7dG9wOmEqKGsrcGFyc2VJbnQodm9pZCAwPT09ZC5zcGFjZT8wOmQuc3BhY2UsMCkpLHdpZHRoOmorInB4IixoZWlnaHQ6aysicHgifSkpOiJob3Jpem9udGFsIj09PWQuZGlyZWN0aW9uJiZiLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYyx7bGVmdDphKihqK3BhcnNlSW50KHZvaWQgMD09PWQuc3BhY2U/MDpkLnNwYWNlLDApKSx3aWR0aDpqKyJweCIsaGVpZ2h0OmsrInB4In0pKX0pLGJ9LGc9ZnVuY3Rpb24oYSl7dmFyIGI9MCxjPTAsZD0wLGU9MCxmPTEsZz0xLGg9MTtyZXR1cm4iZGV0YWlsImluIGEmJihjPWEuZGV0YWlsKSwid2hlZWxEZWx0YSJpbiBhJiYoYz0tYS53aGVlbERlbHRhLzEyMCksIndoZWVsRGVsdGFZImluIGEmJihjPS1hLndoZWVsRGVsdGFZLzEyMCksIndoZWVsRGVsdGFYImluIGEmJihiPS1hLndoZWVsRGVsdGFYLzEyMCksImF4aXMiaW4gYSYmYS5heGlzPT09YS5IT1JJWk9OVEFMX0FYSVMmJihiPWMsYz0wKSxkPWIqZixlPWMqZiwiZGVsdGFZImluIGEmJihlPWEuZGVsdGFZKSwiZGVsdGFYImluIGEmJihkPWEuZGVsdGFYKSwoZHx8ZSkmJmEuZGVsdGFNb2RlJiYoMT09YS5kZWx0YU1vZGU/KGQqPWcsZSo9Zyk6KGQqPWgsZSo9aCkpLGQmJiFiJiYoYj1kPDE/LTE6MSksZSYmIWMmJihjPWU8MT8tMToxKSxlPW5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSk/MTAqZTplLChlPjMwMHx8ZTwtMzAwKSYmKGUvPTEwKSx7c3Bpblg6YixzcGluWTpjLHBpeGVsWDpkLHBpeGVsWTplfX0saD1mdW5jdGlvbihhLGMpeyJvbiI9PT1jLm5hdmlnYXRpb24ua2V5Ym9hcmROYXZpZ2F0aW9uJiZqUXVlcnkoZG9jdW1lbnQpLmtleWRvd24oZnVuY3Rpb24oZCl7KCJob3Jpem9udGFsIj09Yy5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiYmMzk9PWQua2V5Q29kZXx8InZlcnRpY2FsIj09Yy5uYXZpZ2F0aW9uLmtleWJvYXJkX2RpcmVjdGlvbiYmNDA9PWQua2V5Q29kZSkmJihjLnNjX2luZGljYXRvcj0iYXJyb3ciLGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLCgiaG9yaXpvbnRhbCI9PWMubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24mJjM3PT1kLmtleUNvZGV8fCJ2ZXJ0aWNhbCI9PWMubmF2aWdhdGlvbi5rZXlib2FyZF9kaXJlY3Rpb24mJjM4PT1kLmtleUNvZGUpJiYoYy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSl9KX0saT1mdW5jdGlvbihhLGMpe2lmKCJvbiI9PT1jLm5hdmlnYXRpb24ubW91c2VTY3JvbGxOYXZpZ2F0aW9ufHwiY2Fyb3VzZWwiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsTmF2aWdhdGlvbil7Yy5pc0lFRWxldmVuPSEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvVHJpZGVudC4qcnZcOjExXC4vKSxjLmlzU2FmYXJpPSEhbmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvc2FmYXJpL2kpLGMuaXNjaHJvbWU9ISFuYXZpZ2F0b3IudXNlckFnZW50Lm1hdGNoKC9jaHJvbWUvaSk7dmFyIGQ9Yy5pc2Nocm9tZT8tNDk6Yy5pc0lFRWxldmVufHxjLmlzU2FmYXJpPy05Om5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL21vemlsbGEvaSk/LTI5Oi00OSxlPWMuaXNjaHJvbWU/NDk6Yy5pc0lFRWxldmVufHxjLmlzU2FmYXJpPzk6bmF2aWdhdG9yLnVzZXJBZ2VudC5tYXRjaCgvbW96aWxsYS9pKT8yOTo0OTthLm9uKCJtb3VzZXdoZWVsIERPTU1vdXNlU2Nyb2xsIixmdW5jdGlvbihmKXt2YXIgaD1nKGYub3JpZ2luYWxFdmVudCksaT1hLmZpbmQoIi50cC1yZXZzbGlkZXItc2xpZGVzbGkuYWN0aXZlLXJldnNsaWRlIikuaW5kZXgoKSxqPWEuZmluZCgiLnRwLXJldnNsaWRlci1zbGlkZXNsaS5wcm9jZXNzaW5nLXJldnNsaWRlIikuaW5kZXgoKSxrPS0xIT1pJiYwPT1pfHwtMSE9aiYmMD09aixsPS0xIT1pJiZpPT1jLnNsaWRlYW1vdW50LTF8fDEhPWomJmo9PWMuc2xpZGVhbW91bnQtMSxtPSEwOyJjYXJvdXNlbCI9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24mJihrPWw9ITEpLC0xPT1qP2gucGl4ZWxZPGQ/KGt8fChjLnNjX2luZGljYXRvcj0iYXJyb3ciLCJyZXZlcnNlIiE9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSksbT0hMSksbHx8KGMuc2NfaW5kaWNhdG9yPSJhcnJvdyIsInJldmVyc2UiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLG09ITEpKTpoLnBpeGVsWT5lJiYobHx8KGMuc2NfaW5kaWNhdG9yPSJhcnJvdyIsInJldmVyc2UiIT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKGMuc2NfaW5kaWNhdG9yX2Rpcj0wLGIuY2FsbGluZ05ld1NsaWRlKGEsMSkpLG09ITEpLGt8fChjLnNjX2luZGljYXRvcj0iYXJyb3ciLCJyZXZlcnNlIj09PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihjLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShhLC0xKSksbT0hMSkpOm09ITE7dmFyIG49Yy5jLm9mZnNldCgpLnRvcC1qUXVlcnkoImJvZHkiKS5zY3JvbGxUb3AoKSxvPW4rYy5jLmhlaWdodCgpO3JldHVybiJjYXJvdXNlbCIhPWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbE5hdmlnYXRpb24/KCJyZXZlcnNlIiE9PWMubmF2aWdhdGlvbi5tb3VzZVNjcm9sbFJldmVyc2UmJihuPjAmJmgucGl4ZWxZPjB8fG88alF1ZXJ5KHdpbmRvdykuaGVpZ2h0KCkmJmgucGl4ZWxZPDApJiYobT0hMCksInJldmVyc2UiPT09Yy5uYXZpZ2F0aW9uLm1vdXNlU2Nyb2xsUmV2ZXJzZSYmKG48MCYmaC5waXhlbFk8MHx8bz5qUXVlcnkod2luZG93KS5oZWlnaHQoKSYmaC5waXhlbFk+MCkmJihtPSEwKSk6bT0hMSwwPT1tPyhmLnByZXZlbnREZWZhdWx0KGYpLCExKTp2b2lkIDB9KX19LGo9ZnVuY3Rpb24oYSxiLGQpe3JldHVybiBhPWM/alF1ZXJ5KGQudGFyZ2V0KS5jbG9zZXN0KCIuIithKS5sZW5ndGh8fGpRdWVyeShkLnNyY0VsZW1lbnQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aDpqUXVlcnkoZC50b0VsZW1lbnQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aHx8alF1ZXJ5KGQub3JpZ2luYWxUYXJnZXQpLmNsb3Nlc3QoIi4iK2EpLmxlbmd0aCwhMD09PWF8fDE9PT1hPzE6MH0saz1mdW5jdGlvbihhLGQsZSl7dmFyIGY9ZC5jYXJvdXNlbDtqUXVlcnkoIi5idWxsZXQsIC5idWxsZXRzLCAudHAtYnVsbGV0cywgLnRwYXJyb3dzIikuYWRkQ2xhc3MoIm5vU3dpcGUiKSxmLkxpbWl0PSJlbmRsZXNzIjt2YXIgaD0oY3x8Yi5nZXRfYnJvd3NlcigpLGEpLGk9InZlcnRpY2FsIj09PWQubmF2aWdhdGlvbi50aHVtYm5haWxzLmRpcmVjdGlvbnx8InZlcnRpY2FsIj09PWQubmF2aWdhdGlvbi50YWJzLmRpcmVjdGlvbj8ibm9uZSI6InZlcnRpY2FsIixrPWQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9kaXJlY3Rpb258fCJob3Jpem9udGFsIjtpPSJzd2lwZWJhc2VkIj09ZSYmInZlcnRpY2FsIj09az8ibm9uZSI6ZT8idmVydGljYWwiOmksalF1ZXJ5LmZuLnN3aXBldHB8fChqUXVlcnkuZm4uc3dpcGV0cD1qUXVlcnkuZm4uc3dpcGUpLGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzJiZqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0cy5leGNsdWRlZEVsZW1lbnRzfHxqUXVlcnkuZm4uc3dpcGV0cC5kZWZhdWx0c3x8KGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzPW5ldyBPYmplY3QpLGpRdWVyeS5mbi5zd2lwZXRwLmRlZmF1bHRzLmV4Y2x1ZGVkRWxlbWVudHM9ImxhYmVsLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCAubm9Td2lwZSIsaC5zd2lwZXRwKHthbGxvd1BhZ2VTY3JvbGw6aSx0cmlnZ2VyT25Ub3VjaExlYXZlOiEwLHRyZXNob2xkOmQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV90cmVzaG9sZCxmaW5nZXJzOmQubmF2aWdhdGlvbi50b3VjaC5zd2lwZV9taW5fdG91Y2hlcyxleGNsdWRlRWxlbWVudHM6alF1ZXJ5LmZuLnN3aXBldHAuZGVmYXVsdHMuZXhjbHVkZWRFbGVtZW50cyxzd2lwZVN0YXR1czpmdW5jdGlvbihlLGcsaCxpLGwsbSxuKXt2YXIgbz1qKCJyZXZfc2xpZGVyX3dyYXBwZXIiLGEsZSkscD1qKCJ0cC10aHVtYnMiLGEsZSkscT1qKCJ0cC10YWJzIixhLGUpLHI9alF1ZXJ5KHRoaXMpLmF0dHIoImNsYXNzIikscz0hIXIubWF0Y2goL3RwLXRhYnN8dHAtdGh1bWIvZ2kpO2lmKCJjYXJvdXNlbCI9PT1kLnNsaWRlclR5cGUmJigoIm1vdmUiPT09Z3x8ImVuZCI9PT1nfHwiY2FuY2VsIj09ZykmJmQuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyJiYhZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnMmJiFkLmRyYWdTdGFydGVkT3ZlclRhYnN8fCJzdGFydCI9PT1nJiZvPjAmJjA9PT1wJiYwPT09cSkpe2lmKGMmJigidXAiPT09aHx8ImRvd24iPT09aCkpcmV0dXJuO3N3aXRjaChkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMCxpPWgmJmgubWF0Y2goL2xlZnR8dXAvZyk/TWF0aC5yb3VuZCgtMSppKTppPU1hdGgucm91bmQoMSppKSxnKXtjYXNlInN0YXJ0Ijp2b2lkIDAhPT1mLnBvc2l0aW9uYW5pbSYmKGYucG9zaXRpb25hbmltLmtpbGwoKSxmLnNsaWRlX2dsb2JhbG9mZnNldD0ib2ZmIj09PWYuaW5maW5pdHk/Zi5zbGlkZV9vZmZzZXQ6Yi5zaW1wKGYuc2xpZGVfb2Zmc2V0LGYubWF4d2lkdGgpKSxmLm92ZXJwdWxsPSJub25lIixmLndyYXAuYWRkQ2xhc3MoImRyYWdnZWQiKTticmVhaztjYXNlIm1vdmUiOmlmKGQuYy5maW5kKCIudHAtd2l0aGFjdGlvbiIpLmFkZENsYXNzKCJ0cC10ZW1wb3JhcnlkaXNhYmxlZCIpLGYuc2xpZGVfb2Zmc2V0PSJvZmYiPT09Zi5pbmZpbml0eT9mLnNsaWRlX2dsb2JhbG9mZnNldCtpOmIuc2ltcChmLnNsaWRlX2dsb2JhbG9mZnNldCtpLGYubWF4d2lkdGgpLCJvZmYiPT09Zi5pbmZpbml0eSl7dmFyIHQ9ImNlbnRlciI9PT1mLmhvcml6b250YWxfYWxpZ24/KGYud3JhcHdpZHRoLzItZi5zbGlkZV93aWR0aC8yLWYuc2xpZGVfb2Zmc2V0KS9mLnNsaWRlX3dpZHRoOigwLWYuc2xpZGVfb2Zmc2V0KS9mLnNsaWRlX3dpZHRoOyJub25lIiE9PWYub3ZlcnB1bGwmJjAhPT1mLm92ZXJwdWxsfHwhKHQ8MHx8dD5kLnNsaWRlYW1vdW50LTEpP3Q+PTAmJnQ8PWQuc2xpZGVhbW91bnQtMSYmKHQ+PTAmJmk+Zi5vdmVycHVsbHx8dDw9ZC5zbGlkZWFtb3VudC0xJiZpPGYub3ZlcnB1bGwpJiYoZi5vdmVycHVsbD0wKTpmLm92ZXJwdWxsPWksZi5zbGlkZV9vZmZzZXQ9dDwwP2Yuc2xpZGVfb2Zmc2V0KyhmLm92ZXJwdWxsLWkpLzEuMStNYXRoLnNxcnQoTWF0aC5hYnMoKGYub3ZlcnB1bGwtaSkvMS4xKSk6dD5kLnNsaWRlYW1vdW50LTE/Zi5zbGlkZV9vZmZzZXQrKGYub3ZlcnB1bGwtaSkvMS4xLU1hdGguc3FydChNYXRoLmFicygoZi5vdmVycHVsbC1pKS8xLjEpKTpmLnNsaWRlX29mZnNldH1iLm9yZ2FuaXNlQ2Fyb3VzZWwoZCxoLCEwLCEwKTticmVhaztjYXNlImVuZCI6Y2FzZSJjYW5jZWwiOmYuc2xpZGVfZ2xvYmFsb2Zmc2V0PWYuc2xpZGVfb2Zmc2V0LGYud3JhcC5yZW1vdmVDbGFzcygiZHJhZ2dlZCIpLGIuY2Fyb3VzZWxUb0V2YWxQb3NpdGlvbihkLGgpLGQuZHJhZ1N0YXJ0ZWRPdmVyU2xpZGVyPSExLGQuZHJhZ1N0YXJ0ZWRPdmVyVGh1bWJzPSExLGQuZHJhZ1N0YXJ0ZWRPdmVyVGFicz0hMSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZC5jLmZpbmQoIi50cC13aXRoYWN0aW9uIikucmVtb3ZlQ2xhc3MoInRwLXRlbXBvcmFyeWRpc2FibGVkIil9LDE5KX19ZWxzZXtpZigoIm1vdmUiIT09ZyYmImVuZCIhPT1nJiYiY2FuY2VsIiE9Z3x8ZC5kcmFnU3RhcnRlZE92ZXJTbGlkZXJ8fCFkLmRyYWdTdGFydGVkT3ZlclRodW1icyYmIWQuZHJhZ1N0YXJ0ZWRPdmVyVGFicykmJiEoInN0YXJ0Ij09PWcmJm8+MCYmKHA+MHx8cT4wKSkpe2lmKCJlbmQiPT1nJiYhcyl7aWYoZC5zY19pbmRpY2F0b3I9ImFycm93IiwiaG9yaXpvbnRhbCI9PWsmJiJsZWZ0Ij09aHx8InZlcnRpY2FsIj09ayYmInVwIj09aClyZXR1cm4gZC5zY19pbmRpY2F0b3JfZGlyPTAsYi5jYWxsaW5nTmV3U2xpZGUoZC5jLDEpLCExO2lmKCJob3Jpem9udGFsIj09ayYmInJpZ2h0Ij09aHx8InZlcnRpY2FsIj09ayYmImRvd24iPT1oKXJldHVybiBkLnNjX2luZGljYXRvcl9kaXI9MSxiLmNhbGxpbmdOZXdTbGlkZShkLmMsLTEpLCExfXJldHVybiBkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMSxkLmRyYWdTdGFydGVkT3ZlclRodW1icz0hMSxkLmRyYWdTdGFydGVkT3ZlclRhYnM9ITEsITB9cD4wJiYoZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM9ITApLHE+MCYmKGQuZHJhZ1N0YXJ0ZWRPdmVyVGFicz0hMCk7dmFyIHU9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYnMiOiIudHAtdGFicyIsdj1kLmRyYWdTdGFydGVkT3ZlclRodW1icz8iLnRwLXRodW1iLW1hc2siOiIudHAtdGFiLW1hc2siLHc9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYnMtaW5uZXItd3JhcHBlciI6Ii50cC10YWJzLWlubmVyLXdyYXBwZXIiLHg9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/Ii50cC10aHVtYiI6Ii50cC10YWIiLHk9ZC5kcmFnU3RhcnRlZE92ZXJUaHVtYnM/ZC5uYXZpZ2F0aW9uLnRodW1ibmFpbHM6ZC5uYXZpZ2F0aW9uLnRhYnM7aT1oJiZoLm1hdGNoKC9sZWZ0fHVwL2cpP01hdGgucm91bmQoLTEqaSk6aT1NYXRoLnJvdW5kKDEqaSk7dmFyIHo9YS5wYXJlbnQoKS5maW5kKHYpLEE9ei5maW5kKHcpLEI9eS5kaXJlY3Rpb24sQz0idmVydGljYWwiPT09Qj9BLmhlaWdodCgpOkEud2lkdGgoKSxEPSJ2ZXJ0aWNhbCI9PT1CP3ouaGVpZ2h0KCk6ei53aWR0aCgpLEU9InZlcnRpY2FsIj09PUI/ei5maW5kKHgpLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApK3kuc3BhY2U6ei5maW5kKHgpLmZpcnN0KCkub3V0ZXJXaWR0aCghMCkreS5zcGFjZSxGPXZvaWQgMD09PUEuZGF0YSgib2Zmc2V0Iik/MDpwYXJzZUludChBLmRhdGEoIm9mZnNldCIpLDApLEc9MDtzd2l0Y2goZyl7Y2FzZSJzdGFydCI6YS5wYXJlbnQoKS5maW5kKHUpLmFkZENsYXNzKCJkcmFnZ2VkIiksRj0idmVydGljYWwiPT09Qj9BLnBvc2l0aW9uKCkudG9wOkEucG9zaXRpb24oKS5sZWZ0LEEuZGF0YSgib2Zmc2V0IixGKSxBLmRhdGEoInRtbW92ZSIpJiZBLmRhdGEoInRtbW92ZSIpLnBhdXNlKCk7YnJlYWs7Y2FzZSJtb3ZlIjppZihDPD1EKXJldHVybiExO0c9RitpLEc9Rz4wPyJob3Jpem9udGFsIj09PUI/Ry1BLndpZHRoKCkqKEcvQS53aWR0aCgpKkcvQS53aWR0aCgpKTpHLUEuaGVpZ2h0KCkqKEcvQS5oZWlnaHQoKSpHL0EuaGVpZ2h0KCkpOkc7dmFyIEg9InZlcnRpY2FsIj09PUI/MC0oQS5oZWlnaHQoKS16LmhlaWdodCgpKTowLShBLndpZHRoKCktei53aWR0aCgpKTtHPUc8SD8iaG9yaXpvbnRhbCI9PT1CP0crQS53aWR0aCgpKihHLUgpL0Eud2lkdGgoKSooRy1IKS9BLndpZHRoKCk6RytBLmhlaWdodCgpKihHLUgpL0EuaGVpZ2h0KCkqKEctSCkvQS5oZWlnaHQoKTpHLCJ2ZXJ0aWNhbCI9PT1CP3B1bmNoZ3MuVHdlZW5MaXRlLnNldChBLHt0b3A6RysicHgifSk6cHVuY2hncy5Ud2VlbkxpdGUuc2V0KEEse2xlZnQ6RysicHgifSk7YnJlYWs7Y2FzZSJlbmQiOmNhc2UiY2FuY2VsIjppZihzKXJldHVybiBHPUYraSxHPSJ2ZXJ0aWNhbCI9PT1CP0c8MC0oQS5oZWlnaHQoKS16LmhlaWdodCgpKT8wLShBLmhlaWdodCgpLXouaGVpZ2h0KCkpOkc6RzwwLShBLndpZHRoKCktei53aWR0aCgpKT8wLShBLndpZHRoKCktei53aWR0aCgpKTpHLEc9Rz4wPzA6RyxHPU1hdGguYWJzKGkpPkUvMTA/aTw9MD9NYXRoLmZsb29yKEcvRSkqRTpNYXRoLmNlaWwoRy9FKSpFOmk8MD9NYXRoLmNlaWwoRy9FKSpFOk1hdGguZmxvb3IoRy9FKSpFLEc9InZlcnRpY2FsIj09PUI/RzwwLShBLmhlaWdodCgpLXouaGVpZ2h0KCkpPzAtKEEuaGVpZ2h0KCktei5oZWlnaHQoKSk6RzpHPDAtKEEud2lkdGgoKS16LndpZHRoKCkpPzAtKEEud2lkdGgoKS16LndpZHRoKCkpOkcsRz1HPjA/MDpHLCJ2ZXJ0aWNhbCI9PT1CP3B1bmNoZ3MuVHdlZW5MaXRlLnRvKEEsLjUse3RvcDpHKyJweCIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSk6cHVuY2hncy5Ud2VlbkxpdGUudG8oQSwuNSx7bGVmdDpHKyJweCIsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlT3V0fSksRz1HfHwoInZlcnRpY2FsIj09PUI/QS5wb3NpdGlvbigpLnRvcDpBLnBvc2l0aW9uKCkubGVmdCksQS5kYXRhKCJvZmZzZXQiLEcpLEEuZGF0YSgiZGlzdGFuY2UiLGkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtkLmRyYWdTdGFydGVkT3ZlclNsaWRlcj0hMSxkLmRyYWdTdGFydGVkT3ZlclRodW1icz0hMSxkLmRyYWdTdGFydGVkT3ZlclRhYnM9ITF9LDEwMCksYS5wYXJlbnQoKS5maW5kKHUpLnJlbW92ZUNsYXNzKCJkcmFnZ2VkIiksITF9fX19KX0sbD1mdW5jdGlvbihhKXthLmhpZGVfZGVsYXk9alF1ZXJ5LmlzTnVtZXJpYyhwYXJzZUludChhLmhpZGVfZGVsYXksMCkpP2EuaGlkZV9kZWxheS8xZTM6LjIsYS5oaWRlX2RlbGF5X21vYmlsZT1qUXVlcnkuaXNOdW1lcmljKHBhcnNlSW50KGEuaGlkZV9kZWxheV9tb2JpbGUsMCkpP2EuaGlkZV9kZWxheV9tb2JpbGUvMWUzOi4yfSxtPWZ1bmN0aW9uKGEpe3JldHVybiBhJiZhLmVuYWJsZX0sbj1mdW5jdGlvbihhKXtyZXR1cm4gYSYmYS5lbmFibGUmJiEwPT09YS5oaWRlX29ubGVhdmUmJih2b2lkIDA9PT1hLnBvc2l0aW9ufHwhYS5wb3NpdGlvbi5tYXRjaCgvb3V0ZXIvZykpfSxvPWZ1bmN0aW9uKGEsYil7dmFyIGQ9YS5wYXJlbnQoKTtuKGIubmF2aWdhdGlvbi5hcnJvd3MpJiZwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChjP2IubmF2aWdhdGlvbi5hcnJvd3MuaGlkZV9kZWxheV9tb2JpbGU6Yi5uYXZpZ2F0aW9uLmFycm93cy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwYXJyb3dzIiksYi5uYXZpZ2F0aW9uLmFycm93cywiaGlkZSJdKSxuKGIubmF2aWdhdGlvbi5idWxsZXRzKSYmcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYz9iLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5X21vYmlsZTpiLm5hdmlnYXRpb24uYnVsbGV0cy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwLWJ1bGxldHMiKSxiLm5hdmlnYXRpb24uYnVsbGV0cywiaGlkZSJdKSxuKGIubmF2aWdhdGlvbi50aHVtYm5haWxzKSYmcHVuY2hncy5Ud2VlbkxpdGUuZGVsYXllZENhbGwoYz9iLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5X21vYmlsZTpiLm5hdmlnYXRpb24udGh1bWJuYWlscy5oaWRlX2RlbGF5LHAsW2QuZmluZCgiLnRwLXRodW1icyIpLGIubmF2aWdhdGlvbi50aHVtYm5haWxzLCJoaWRlIl0pLG4oYi5uYXZpZ2F0aW9uLnRhYnMpJiZwdW5jaGdzLlR3ZWVuTGl0ZS5kZWxheWVkQ2FsbChjP2IubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXlfbW9iaWxlOmIubmF2aWdhdGlvbi50YWJzLmhpZGVfZGVsYXkscCxbZC5maW5kKCIudHAtdGFicyIpLGIubmF2aWdhdGlvbi50YWJzLCJoaWRlIl0pfSxwPWZ1bmN0aW9uKGEsYixjLGQpe3N3aXRjaChkPXZvaWQgMD09PWQ/LjU6ZCxjKXtjYXNlInNob3ciOnB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsZCx7YXV0b0FscGhhOjEsZWFzZTpwdW5jaGdzLlBvd2VyMy5lYXNlSW5PdXQsb3ZlcndyaXRlOiJhdXRvIn0pO2JyZWFrO2Nhc2UiaGlkZSI6cHVuY2hncy5Ud2VlbkxpdGUudG8oYSxkLHthdXRvQWxwaGE6MCxlYXNlOnB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91LG92ZXJ3cml0ZToiYXV0byJ9KX19LHE9ZnVuY3Rpb24oYSxiLGMpe2Iuc3R5bGU9dm9pZCAwPT09Yi5zdHlsZT8iIjpiLnN0eWxlLGIubGVmdC5zdHlsZT12b2lkIDA9PT1iLmxlZnQuc3R5bGU/IiI6Yi5sZWZ0LnN0eWxlLGIucmlnaHQuc3R5bGU9dm9pZCAwPT09Yi5yaWdodC5zdHlsZT8iIjpiLnJpZ2h0LnN0eWxlLDA9PT1hLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1sZWZ0YXJyb3cgdHBhcnJvd3MgJytiLnN0eWxlKyIgIitiLmxlZnQuc3R5bGUrJyI+JytiLnRtcCsiPC9kaXY+IiksMD09PWEuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKS5sZW5ndGgmJmEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1yaWdodGFycm93IHRwYXJyb3dzICcrYi5zdHlsZSsiICIrYi5yaWdodC5zdHlsZSsnIj4nK2IudG1wKyI8L2Rpdj4iKTt2YXIgZD1hLmZpbmQoIi50cC1sZWZ0YXJyb3cudHBhcnJvd3MiKSxlPWEuZmluZCgiLnRwLXJpZ2h0YXJyb3cudHBhcnJvd3MiKTtiLnJ0bD8oZC5jbGljayhmdW5jdGlvbigpe2Muc2NfaW5kaWNhdG9yPSJhcnJvdyIsYy5zY19pbmRpY2F0b3JfZGlyPTAsYS5yZXZuZXh0KCl9KSxlLmNsaWNrKGZ1bmN0aW9uKCl7Yy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxhLnJldnByZXYoKX0pKTooZS5jbGljayhmdW5jdGlvbigpe2Muc2NfaW5kaWNhdG9yPSJhcnJvdyIsYy5zY19pbmRpY2F0b3JfZGlyPTAsYS5yZXZuZXh0KCl9KSxkLmNsaWNrKGZ1bmN0aW9uKCl7Yy5zY19pbmRpY2F0b3I9ImFycm93IixjLnNjX2luZGljYXRvcl9kaXI9MSxhLnJldnByZXYoKX0pKSxiLnJpZ2h0Lmo9YS5maW5kKCIudHAtcmlnaHRhcnJvdy50cGFycm93cyIpLGIubGVmdC5qPWEuZmluZCgiLnRwLWxlZnRhcnJvdy50cGFycm93cyIpLGIucGFkZGluZ190b3A9cGFyc2VJbnQoYy5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxiLnBhZGRpbmdfYm90dG9tPXBhcnNlSW50KGMuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksdChkLGIubGVmdCxjKSx0KGUsYi5yaWdodCxjKSxiLmxlZnQub3B0PWMsYi5yaWdodC5vcHQ9Yywib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChjLm91dGVybmF2PSEwKX0scj1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9YS5vdXRlckhlaWdodCghMCksZj0oYS5vdXRlcldpZHRoKCEwKSx2b2lkIDA9PWIub3B0PzA6MD09Yy5jb25oP2MuaGVpZ2h0OmMuY29uaCksZz0ibGF5ZXJncmlkIj09Yi5jb250YWluZXI/ImZ1bGxzY3JlZW4iPT1jLnNsaWRlckxheW91dD9jLmhlaWdodC8yLWMuZ3JpZGhlaWdodFtjLmN1cldpblJhbmdlXSpjLmJoLzI6Im9uIj09Yy5hdXRvSGVpZ2h0fHx2b2lkIDAhPWMubWluSGVpZ2h0JiZjLm1pbkhlaWdodD4wP2YvMi1jLmdyaWRoZWlnaHRbYy5jdXJXaW5SYW5nZV0qYy5iaC8yOjA6MCxoPSJ0b3AiPT09Yi52X2FsaWduP3t0b3A6IjBweCIseTpNYXRoLnJvdW5kKGIudl9vZmZzZXQrZykrInB4In06ImNlbnRlciI9PT1iLnZfYWxpZ24/e3RvcDoiNTAlIix5Ok1hdGgucm91bmQoMC1kLzIrYi52X29mZnNldCkrInB4In06e3RvcDoiMTAwJSIseTpNYXRoLnJvdW5kKDAtKGQrYi52X29mZnNldCtnKSkrInB4In07YS5oYXNDbGFzcygib3V0ZXItYm90dG9tIil8fHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLGgpfSxzPWZ1bmN0aW9uKGEsYixjKXt2YXIgZT0oYS5vdXRlckhlaWdodCghMCksYS5vdXRlcldpZHRoKCEwKSksZj0ibGF5ZXJncmlkIj09Yi5jb250YWluZXI/ImNhcm91c2VsIj09PWMuc2xpZGVyVHlwZT8wOmMud2lkdGgvMi1jLmdyaWR3aWR0aFtjLmN1cldpblJhbmdlXSpjLmJ3LzI6MCxnPSJsZWZ0Ij09PWIuaF9hbGlnbj97bGVmdDoiMHB4Iix4Ok1hdGgucm91bmQoYi5oX29mZnNldCtmKSsicHgifToiY2VudGVyIj09PWIuaF9hbGlnbj97bGVmdDoiNTAlIix4Ok1hdGgucm91bmQoMC1lLzIrYi5oX29mZnNldCkrInB4In06e2xlZnQ6IjEwMCUiLHg6TWF0aC5yb3VuZCgwLShlK2IuaF9vZmZzZXQrZikpKyJweCJ9O3B1bmNoZ3MuVHdlZW5MaXRlLnNldChhLGcpfSx0PWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmNsb3Nlc3QoIi50cC1zaW1wbGVyZXNwb25zaXZlIikubGVuZ3RoPjA/YS5jbG9zZXN0KCIudHAtc2ltcGxlcmVzcG9uc2l2ZSIpOmEuY2xvc2VzdCgiLnRwLXJldnNsaWRlci1tYWludWwiKS5sZW5ndGg+MD9hLmNsb3Nlc3QoIi50cC1yZXZzbGlkZXItbWFpbnVsIik6YS5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIikubGVuZ3RoPjA/YS5jbG9zZXN0KCIucmV2X3NsaWRlcl93cmFwcGVyIik6YS5wYXJlbnQoKS5maW5kKCIudHAtcmV2c2xpZGVyLW1haW51bCIpLGU9ZC53aWR0aCgpLGY9ZC5oZWlnaHQoKTtpZihyKGEsYixjKSxzKGEsYixjKSwib3V0ZXItbGVmdCIhPT1iLnBvc2l0aW9ufHwiZnVsbHdpZHRoIiE9Yi5zbGlkZXJMYXlvdXQmJiJmdWxsc2NyZWVuIiE9Yi5zbGlkZXJMYXlvdXQ/Im91dGVyLXJpZ2h0IiE9PWIucG9zaXRpb258fCJmdWxsd2lkdGgiIT1iLnNsaWRlckxheW91dCYmImZ1bGxzY3JlZW4iIT1iLnNsaWRlckxheW91dHx8cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse3JpZ2h0OjAtYS5vdXRlcldpZHRoKCkrInB4Iix4OmIuaF9vZmZzZXQrInB4In0pOnB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHtsZWZ0OjAtYS5vdXRlcldpZHRoKCkrInB4Iix4OmIuaF9vZmZzZXQrInB4In0pLGEuaGFzQ2xhc3MoInRwLXRodW1icyIpfHxhLmhhc0NsYXNzKCJ0cC10YWJzIikpe3ZhciBnPWEuZGF0YSgid3JfcGFkZGluZyIpLGg9YS5kYXRhKCJtYXh3IiksaT1hLmRhdGEoIm1heGgiKSxqPWEuaGFzQ2xhc3MoInRwLXRodW1icyIpP2EuZmluZCgiLnRwLXRodW1iLW1hc2siKTphLmZpbmQoIi50cC10YWItbWFzayIpLGs9cGFyc2VJbnQoYi5wYWRkaW5nX3RvcHx8MCwwKSxsPXBhcnNlSW50KGIucGFkZGluZ19ib3R0b218fDAsMCk7aD5lJiYib3V0ZXItbGVmdCIhPT1iLnBvc2l0aW9uJiYib3V0ZXItcmlnaHQiIT09Yi5wb3NpdGlvbj8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse2xlZnQ6IjBweCIseDowLG1heFdpZHRoOmUtMipnKyJweCJ9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaix7bWF4V2lkdGg6ZS0yKmcrInB4In0pKToocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heFdpZHRoOmgrInB4In0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLHttYXhXaWR0aDpoKyJweCJ9KSksaSsyKmc+ZiYmIm91dGVyLWJvdHRvbSIhPT1iLnBvc2l0aW9uJiYib3V0ZXItdG9wIiE9PWIucG9zaXRpb24/KHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHt0b3A6IjBweCIseTowLG1heEhlaWdodDprK2wrKGYtMipnKSsicHgifSkscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGose21heEhlaWdodDprK2wrKGYtMipnKSsicHgifSkpOihwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoYSx7bWF4SGVpZ2h0OmkrInB4In0pLHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLHttYXhIZWlnaHQ6aSsicHgifSkpLCJvdXRlci1sZWZ0IiE9PWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPT1iLnBvc2l0aW9uJiYoaz0wLGw9MCksITA9PT1iLnNwYW4mJiJ2ZXJ0aWNhbCI9PT1iLmRpcmVjdGlvbj8ocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGEse21heEhlaWdodDprK2wrKGYtMipnKSsicHgiLGhlaWdodDprK2wrKGYtMipnKSsicHgiLHRvcDowLWsseTowfSkscihqLGIsYykpOiEwPT09Yi5zcGFuJiYiaG9yaXpvbnRhbCI9PT1iLmRpcmVjdGlvbiYmKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChhLHttYXhXaWR0aDoiMTAwJSIsd2lkdGg6ZS0yKmcrInB4IixsZWZ0OjAseDowfSkscyhqLGIsYykpfX0sdT1mdW5jdGlvbihhLGIsYyxkKXswPT09YS5maW5kKCIudHAtYnVsbGV0cyIpLmxlbmd0aCYmKGIuc3R5bGU9dm9pZCAwPT09Yi5zdHlsZT8iIjpiLnN0eWxlLGEuYXBwZW5kKCc8ZGl2IGNsYXNzPSJ0cC1idWxsZXRzICcrYi5zdHlsZSsiICIrYi5kaXJlY3Rpb24rJyI+PC9kaXY+JykpO3ZhciBlPWEuZmluZCgiLnRwLWJ1bGxldHMiKSxmPWMuZGF0YSgiaW5kZXgiKSxnPWIudG1wO2pRdWVyeS5lYWNoKGQudGh1bWJzW2MuaW5kZXgoKV0ucGFyYW1zLGZ1bmN0aW9uKGEsYil7Zz1nLnJlcGxhY2UoYi5mcm9tLGIudG8pfSksZS5hcHBlbmQoJzxkaXYgY2xhc3M9Imp1c3RhZGRlZGJ1bGxldCB0cC1idWxsZXQiPicrZysiPC9kaXY+Iik7dmFyIGg9YS5maW5kKCIuanVzdGFkZGVkYnVsbGV0IiksaT1hLmZpbmQoIi50cC1idWxsZXQiKS5sZW5ndGgsaj1oLm91dGVyV2lkdGgoKStwYXJzZUludCh2b2lkIDA9PT1iLnNwYWNlPzA6Yi5zcGFjZSwwKSxrPWgub3V0ZXJIZWlnaHQoKStwYXJzZUludCh2b2lkIDA9PT1iLnNwYWNlPzA6Yi5zcGFjZSwwKTsidmVydGljYWwiPT09Yi5kaXJlY3Rpb24/KGguY3NzKHt0b3A6KGktMSkqaysicHgiLGxlZnQ6IjBweCJ9KSxlLmNzcyh7aGVpZ2h0OihpLTEpKmsraC5vdXRlckhlaWdodCgpLHdpZHRoOmgub3V0ZXJXaWR0aCgpfSkpOihoLmNzcyh7bGVmdDooaS0xKSpqKyJweCIsdG9wOiIwcHgifSksZS5jc3Moe3dpZHRoOihpLTEpKmoraC5vdXRlcldpZHRoKCksaGVpZ2h0Omgub3V0ZXJIZWlnaHQoKX0pKSxoLmZpbmQoIi50cC1idWxsZXQtaW1hZ2UiKS5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrZC50aHVtYnNbYy5pbmRleCgpXS5zcmMrIikifSksaC5kYXRhKCJsaXJlZiIsZiksaC5jbGljayhmdW5jdGlvbigpe2Quc2NfaW5kaWNhdG9yPSJidWxsZXQiLGEucmV2Y2FsbHNsaWRld2l0aGlkKGYpLGEuZmluZCgiLnRwLWJ1bGxldCIpLnJlbW92ZUNsYXNzKCJzZWxlY3RlZCIpLGpRdWVyeSh0aGlzKS5hZGRDbGFzcygic2VsZWN0ZWQiKX0pLGgucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZGJ1bGxldCIpLGIucGFkZGluZ190b3A9cGFyc2VJbnQoZC5jYXJvdXNlbC5wYWRkaW5nX3RvcHx8MCwwKSxiLnBhZGRpbmdfYm90dG9tPXBhcnNlSW50KGQuY2Fyb3VzZWwucGFkZGluZ19ib3R0b218fDAsMCksYi5vcHQ9ZCwib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChkLm91dGVybmF2PSEwKSxlLmFkZENsYXNzKCJuYXYtcG9zLWhvci0iK2IuaF9hbGlnbiksZS5hZGRDbGFzcygibmF2LXBvcy12ZXItIitiLnZfYWxpZ24pLGUuYWRkQ2xhc3MoIm5hdi1kaXItIitiLmRpcmVjdGlvbiksdChlLGIsZCl9LHc9ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZj0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1icyI6Ii50cC10YWJzIixnPSJ0cC10aHVtYiI9PT1kPyIudHAtdGh1bWItbWFzayI6Ii50cC10YWItbWFzayIsaD0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1icy1pbm5lci13cmFwcGVyIjoiLnRwLXRhYnMtaW5uZXItd3JhcHBlciIsaT0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1iIjoiLnRwLXRhYiIsaj0idHAtdGh1bWIiPT09ZD8iLnRwLXRodW1iLWltYWdlIjoiLnRwLXRhYi1pbWFnZSI7aWYoYi52aXNpYmxlQW1vdW50PWIudmlzaWJsZUFtb3VudD5lLnNsaWRlYW1vdW50P2Uuc2xpZGVhbW91bnQ6Yi52aXNpYmxlQW1vdW50LGIuc2xpZGVyTGF5b3V0PWUuc2xpZGVyTGF5b3V0LDA9PT1hLnBhcmVudCgpLmZpbmQoZikubGVuZ3RoKXtiLnN0eWxlPXZvaWQgMD09PWIuc3R5bGU/IiI6Yi5zdHlsZTt2YXIgaz0hMD09PWIuc3Bhbj8idHAtc3Bhbi13cmFwcGVyIjoiIixsPSc8ZGl2IGNsYXNzPSInK2QrInMgIitrKyIgIitiLnBvc2l0aW9uKyIgIitiLnN0eWxlKyciPjxkaXYgY2xhc3M9IicrZCsnLW1hc2siPjxkaXYgY2xhc3M9IicrZCsncy1pbm5lci13cmFwcGVyIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7Ij48L2Rpdj48L2Rpdj48L2Rpdj4nOyJvdXRlci10b3AiPT09Yi5wb3NpdGlvbj9hLnBhcmVudCgpLnByZXBlbmQobCk6Im91dGVyLWJvdHRvbSI9PT1iLnBvc2l0aW9uP2EuYWZ0ZXIobCk6YS5hcHBlbmQobCksYi5wYWRkaW5nX3RvcD1wYXJzZUludChlLmNhcm91c2VsLnBhZGRpbmdfdG9wfHwwLDApLGIucGFkZGluZ19ib3R0b209cGFyc2VJbnQoZS5jYXJvdXNlbC5wYWRkaW5nX2JvdHRvbXx8MCwwKSwib3V0ZXItbGVmdCIhPWIucG9zaXRpb24mJiJvdXRlci1yaWdodCIhPWIucG9zaXRpb258fChlLm91dGVybmF2PSEwKX12YXIgbT1jLmRhdGEoImluZGV4Iiksbj1hLnBhcmVudCgpLmZpbmQoZiksbz1uLmZpbmQoZykscD1vLmZpbmQoaCkscT0iaG9yaXpvbnRhbCI9PT1iLmRpcmVjdGlvbj9iLndpZHRoKmIudmlzaWJsZUFtb3VudCtiLnNwYWNlKihiLnZpc2libGVBbW91bnQtMSk6Yi53aWR0aCxyPSJob3Jpem9udGFsIj09PWIuZGlyZWN0aW9uP2IuaGVpZ2h0OmIuaGVpZ2h0KmIudmlzaWJsZUFtb3VudCtiLnNwYWNlKihiLnZpc2libGVBbW91bnQtMSkscz1iLnRtcDtqUXVlcnkuZWFjaChlLnRodW1ic1tjLmluZGV4KCldLnBhcmFtcyxmdW5jdGlvbihhLGIpe3M9cy5yZXBsYWNlKGIuZnJvbSxiLnRvKX0pLHAuYXBwZW5kKCc8ZGl2IGRhdGEtbGlpbmRleD0iJytjLmluZGV4KCkrJyIgZGF0YS1saXJlZj0iJyttKyciIGNsYXNzPSJqdXN0YWRkZWR0aHVtYiAnK2QrJyIgc3R5bGU9IndpZHRoOicrYi53aWR0aCsicHg7aGVpZ2h0OiIrYi5oZWlnaHQrJ3B4OyI+JytzKyI8L2Rpdj4iKTt2YXIgdT1uLmZpbmQoIi5qdXN0YWRkZWR0aHVtYiIpLHY9bi5maW5kKGkpLmxlbmd0aCx3PXUub3V0ZXJXaWR0aCgpK3BhcnNlSW50KHZvaWQgMD09PWIuc3BhY2U/MDpiLnNwYWNlLDApLHg9dS5vdXRlckhlaWdodCgpK3BhcnNlSW50KHZvaWQgMD09PWIuc3BhY2U/MDpiLnNwYWNlLDApO3UuZmluZChqKS5jc3Moe2JhY2tncm91bmRJbWFnZToidXJsKCIrZS50aHVtYnNbYy5pbmRleCgpXS5zcmMrIikifSksInZlcnRpY2FsIj09PWIuZGlyZWN0aW9uPyh1LmNzcyh7dG9wOih2LTEpKngrInB4IixsZWZ0OiIwcHgifSkscC5jc3Moe2hlaWdodDoodi0xKSp4K3Uub3V0ZXJIZWlnaHQoKSx3aWR0aDp1Lm91dGVyV2lkdGgoKX0pKToodS5jc3Moe2xlZnQ6KHYtMSkqdysicHgiLHRvcDoiMHB4In0pLHAuY3NzKHt3aWR0aDoodi0xKSp3K3Uub3V0ZXJXaWR0aCgpLGhlaWdodDp1Lm91dGVySGVpZ2h0KCl9KSksbi5kYXRhKCJtYXh3IixxKSxuLmRhdGEoIm1heGgiLHIpLG4uZGF0YSgid3JfcGFkZGluZyIsYi53cmFwcGVyX3BhZGRpbmcpO3ZhciB5PSJvdXRlci10b3AiPT09Yi5wb3NpdGlvbnx8Im91dGVyLWJvdHRvbSI9PT1iLnBvc2l0aW9uPyJyZWxhdGl2ZSI6ImFic29sdXRlIjsib3V0ZXItdG9wIiE9PWIucG9zaXRpb24mJiJvdXRlci1ib3R0b20iIT09Yi5wb3NpdGlvbnx8Yi5oX2FsaWduO28uY3NzKHttYXhXaWR0aDpxKyJweCIsbWF4SGVpZ2h0OnIrInB4IixvdmVyZmxvdzoiaGlkZGVuIixwb3NpdGlvbjoicmVsYXRpdmUifSksbi5jc3Moe21heFdpZHRoOnErInB4IixtYXhIZWlnaHQ6cisicHgiLG92ZXJmbG93OiJ2aXNpYmxlIixwb3NpdGlvbjp5LGJhY2tncm91bmQ6Yi53cmFwcGVyX2NvbG9yLHBhZGRpbmc6Yi53cmFwcGVyX3BhZGRpbmcrInB4Iixib3hTaXppbmc6ImNvbnRldC1ib3gifSksdS5jbGljayhmdW5jdGlvbigpe2Uuc2NfaW5kaWNhdG9yPSJidWxsZXQiO3ZhciBiPWEucGFyZW50KCkuZmluZChoKS5kYXRhKCJkaXN0YW5jZSIpO2I9dm9pZCAwPT09Yj8wOmIsTWF0aC5hYnMoYik8MTAmJihhLnJldmNhbGxzbGlkZXdpdGhpZChtKSxhLnBhcmVudCgpLmZpbmQoZikucmVtb3ZlQ2xhc3MoInNlbGVjdGVkIiksalF1ZXJ5KHRoaXMpLmFkZENsYXNzKCJzZWxlY3RlZCIpKX0pLHUucmVtb3ZlQ2xhc3MoImp1c3RhZGRlZHRodW1iIiksYi5vcHQ9ZSxuLmFkZENsYXNzKCJuYXYtcG9zLWhvci0iK2IuaF9hbGlnbiksbi5hZGRDbGFzcygibmF2LXBvcy12ZXItIitiLnZfYWxpZ24pLG4uYWRkQ2xhc3MoIm5hdi1kaXItIitiLmRpcmVjdGlvbiksdChuLGIsZSl9LHg9ZnVuY3Rpb24oYSl7dmFyIGI9YS5jLnBhcmVudCgpLmZpbmQoIi5vdXRlci10b3AiKSxjPWEuYy5wYXJlbnQoKS5maW5kKCIub3V0ZXItYm90dG9tIik7YS50b3Bfb3V0ZXI9Yi5oYXNDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik/MDpiLm91dGVySGVpZ2h0KCl8fDAsYS5ib3R0b21fb3V0ZXI9Yy5oYXNDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik/MDpjLm91dGVySGVpZ2h0KCl8fDB9LHk9ZnVuY3Rpb24oYSxiLGMsZCl7Yj5jfHxjPmQ/YS5hZGRDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIik6YS5yZW1vdmVDbGFzcygidHAtZm9yY2Vub3R2aXNpYmxlIil9fShqUXVlcnkpOw=="}},"time_used":616,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":613,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/backoffice/uploads/test4.jpg","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.836Z","timestamp":1785133989836,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /backoffice/uploads/test4.jpg HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/jpeg\r\nlast-modified: Thu, 06 Feb 2020 22:04:54 GMT\r\naccept-ranges: bytes\r\ncontent-length: 24857\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":24857,"size_decoded":25045,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=12, height=360, bps=0, PhotometricInterpretation=RGB, orientation=upper-left, width=640], baseline, precision 8, 150x150, components 3","md5":"7e3018a9d6f09db3151fdad60d5559dc","sha1":"735afae54126c4efa7802ee1d3e3e16fed39f169","sha256":"ca9653fabff439de1934345ab6cef7a3b1ecd38e9a9db70fb32658cca0b7a1bb","sha512":"89beeb43f398062f383c7d2d942af51556ce72ec140b52e4e276cde73d7eefe4d2f48c9adb4e405f3f839cedb3584492034964fbc71165295c429e84c1c30c09","ssdeep":"384:CHVhxEDVY7iPHVhxEDVBnR5YNg7H2+bLP7bkOVSgG:CHVhxEDVY7kHVhxEDVB/YyDPRSgG","tlshash":"dcb2af25a765ee52f0c493358450cbc39752ac99bbf33706f48cbd063bb66819c2629e","first_seen":"2024-08-20T09:23:52.6701Z","last_seen":"2026-07-27T13:18:12.81174Z","times_seen":19,"resource_available":false,"data":"/9j/4RK9RXhpZgAATU0AKgAAAAgADAEAAAMAAAABAoAAAAEBAAMAAAABAWgAAAECAAMAAAADAAAAngEGAAMAAAABAAIAAAESAAMAAAABAAEAAAEVAAMAAAABAAMAAAEaAAUAAAABAAAApAEbAAUAAAABAAAArAEoAAMAAAABAAIAAAExAAIAAAAiAAAAtAEyAAIAAAAUAAAA1odpAAQAAAABAAAA7AAAASQACAAIAAgACvyAAAAnEAAK/IAAACcQQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpADIwMTc6MDg6MTcgMTI6NTI6MjYAAAAABJAAAAcAAAAEMDIyMaABAAMAAAABAAEAAKACAAQAAAABAAAAlqADAAQAAAABAAAAlgAAAAAAAAAGAQMAAwAAAAEABgAAARoABQAAAAEAAAFyARsABQAAAAEAAAF6ASgAAwAAAAEAAgAAAgEABAAAAAEAAAGCAgIABAAAAAEAABEzAAAAAAAAAEgAAAABAAAASAAAAAH/2P/tAAxBZG9iZV9DTQAB/+4ADkFkb2JlAGSAAAAAAf/bAIQADAgICAkIDAkJDBELCgsRFQ8MDA8VGBMTFRMTGBEMDAwMDAwRDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAENCwsNDg0QDg4QFA4ODhQUDg4ODhQRDAwMDAwREQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwM/8AAEQgAlgCWAwEiAAIRAQMRAf/dAAQACv/EAT8AAAEFAQEBAQEBAAAAAAAAAAMAAQIEBQYHCAkKCwEAAQUBAQEBAQEAAAAAAAAAAQACAwQFBgcICQoLEAABBAEDAgQCBQcGCAUDDDMBAAIRAwQhEjEFQVFhEyJxgTIGFJGhsUIjJBVSwWIzNHKC0UMHJZJT8OHxY3M1FqKygyZEk1RkRcKjdDYX0lXiZfKzhMPTdePzRieUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9jdHV2d3h5ent8fX5/cRAAICAQIEBAMEBQYHBwYFNQEAAhEDITESBEFRYXEiEwUygZEUobFCI8FS0fAzJGLhcoKSQ1MVY3M08SUGFqKygwcmNcLSRJNUoxdkRVU2dGXi8rOEw9N14/NGlKSFtJXE1OT0pbXF1eX1VmZ2hpamtsbW5vYnN0dXZ3eHl6e3x//aAAwDAQACEQMRAD8A87xgTuI8Ed5Z9nawD3k8qOKxwrc8cFM0TY0HgJq5I+k0urPMq9gODLXOs9g5Cq2uHqVnkAq0/Zfeyvhv5xCaUuzjUX5o9XI0oH823xUrb6cQCjGaPUcYY1vJd/5j+cnycpuBhBjiQGiYHOvDW/ykDpwNOO7qeUJut0qYPzWdgz+U5N31XbNsel06r1sk+rkv0jz/AHW/yEKrGvzXfaMx5bWOBwAPBjT/ANW5LFZ6ljsrJ12aGeGjn02fy/33Kh1LqV+c80U6V8GElNrK69RjTRhAO/q/lc/85VB1Xqt552g9gJT4XSHcuHPK2sfptbdNv3oEjouAclledYZLp+ICv0YdmhdweVq1YbBqimprQAm2U0GWM4VVgDgLpekdbbaG4+S+XcMtPf8AkvXKva5glp48PBV/tRrfP0fPsf8AyKIlWyDG930sQRIMhOsH6u9XF9f2e36bYAJ5M/RW8poSEhf2sUo8JUmTpiJIPgnLV0ktZSSU/wD/0OKwMZz8Jz5gBS6fhOyHvIbIb3VrGyWUdJ9PZ7n91LCN9OOdpADtUy17Vy8B+O0PeYHZWejY4de7IdrVSJA8Xn6CqZ2S6+zY4y1vK0nRgdLDeLHDc7+u/wCj/mMTZbV3THv2a9z3dR6k2gn9FWS6x3w1e7+ytAvdk3DaP0bCGVMHd59rG/2G/wDf3rP6ew04r7+H5B2MnwHuertb/s+N6zZL3TVjg86+26/+v/g2oH8ksep5O1rcOgyG+2RwX/nu/qMVjpnT2sYCR7u6ycd7bMoumWs9rT8OSugxb27QBqgdNFwb1dYaEZgh0zp4Kq20TyiB4nXVNtdToM2mFNwEcKoy2EQ3CJ7lK0UyICyc1vpne0e0mCFpAk6IGXVvpcPJNJXUw6L1D7Pl1uDvYTDmnu0/SavRMfIqurDmO3fHmF5PT7jpo4LuOgZZdjVvmdvtsbP7vf8AzEhkMJeB3QYcQ8Q9Lub4hQdcxr2M1c6wkCO0DducnEHUagjRZWK/LPW3+t/RmsLaY43H97+ypZZaMRoOI1bGMdgnsLdhJKQkprY6L//R4P7S81sq/NESuh/Y7W4IyRYR7JiVzVbdzgBytPJ6rknDZiE+0S0x5JlL2vi0nIymd2B0vPw+krfV7jdeygax7nAeJ4CJ0+s1YYe4QXENB+J1VSp/r9TssP0GOLnHyZr/AATL9RPZd0Hi3HNNmTXh1nSoBhd5/Sscl1LIa0uFWjKmiupvhI/8j7v7ani/ocd+S4TbkSGjvtJ1/wA93tWXm3H1hWPcWzJ8XH6TkhqfJKXDaRGi16JA4hYdWVfVqGj7pVuvrV40LR/mpGJUC7zH6I7bQInvwsnF6gy7R3td5cK62xu2Rr3UZ0ZA6DDuiEdz6KhNtrWfErncrJySYrcWj4wqtVbnP3XWkeff8UgO6C9VXm4LnQ25pI+KLbtdWSDII0I4WVhYuA5sFznE99y0qcVlLCKnEsP5pMifJApAefZY5uQ6D3K7P6pOFjnsH0m7X7T3b9Cxv/SXIOpP2uweD5C6v6rh9eazb+e0tKilIXEeK8DQvZVsFbNg4boPh2VWpl1OVteC5lhc/f2BP5iuwfFIiVbljBrccOzWEyL68W6oSTpKVjf/0uBxTFgeeApV/pMkyJBO4eUIVJ5C6P6v9KbZjnKeJB+jKYV7HJtZ6WLSziDYR+Cz+kUOs9UEwbTtM9hO527+yruWZ6lcGfQpArafgI9v/ST9MpFGCXkEeqTzyR/5mo+h8V/UeC+de1jS8CNoiseAiKx/m+9YdZ9xceSrXUMr1cn0QZawGT4u7oFdW4Jw0CNytZklujdSotvc48SdJHxRm4o3boM9yjVYYB3AEkcTojcVUUePdJEcrqen4ptx9/l4LAxsA+pIbAldn0apoxY7xCjkLOi+Jp5zqTX0AuDfaO/mVlizIa+dDOhOhOvH0l2uZ0712ODdCeFkt6ZkV2Qe3YgJAgbhNX1aeJjZ4tBawOmCSz2x/ILPorqcOuwVfpBB8FDCxnNieVfc3aITJa67Lhpo4F1IbnWR+9P3rqvq/T+nqd3BXM3OB6hZ8R+RdZ0BzZrVffJG+7IfkPk9GkkktNoKSTSIlJCx+1NP/9Pz+thiPHUldlg5NOP02tlcy1pc75Lj6/e7UQ2dAul3CvCY0D32kNaP5LfpSo5bMg3a+NVM3W82Fz9vc9go5uWacZzj/PP0aBw0cANRXWEBxaZeIaCO0/mt/srK6hIFbPIuPxTBqVzm7yLwT4rSxInXxWYW7nEFXcd5bHnp9yfLZbF26cat+oKuswq2tl2oWbi3gR3V52Z7Ofkoiyr7meoGNEdguh6VQ5jY117LkcfJAzPWs1YwEjzIXQY31modAaNscIjfVXk6th9IiUg+qw+8D4qg7q+Nm+pQwjdGgB1DlWoyLa3+lbyPxQJpIDug1sHtQbblWbeY5Ud5e8SmSlaQHLuNrcuy1w2te/aw+Md10/R8ksupbP5wXM3X0W3sqqduMl1kGQ0NWj07I/XKYMe5uvhJlQTBu2SJGz6Mqudn1Ym0WODS8EifJVWV5xcbDkitoMbWDn+tvWH1qp5c++242uaQAT4T9FqnycyeCgDGR6sMMA4rJBA6Oz+2MT9lbvWHq7du2fdunwSXNNxwC9r6yLSA6seIn3f2tqSg9+f/ADeD6MvtR/53E//U4Sgl1rWVgAlwaJ1K2rXk2hoPtYAwHyH03LP6VTut9QkQwSSroa073OOp9oHhPb/NUMt/JlGyTGE0PyHaCXFvxPtZ/wBFZ2c0OujgNaNPBa2QCWU4jRtkjd5D6Tv+is3NIaX2Hl/uA/k/mIDdJcR7iLCR4/grONb6hc2II1CqOMklSps9Oxr+3B+ClIsMYNF2KXkKwxzrDtCqVuGh5BRt+1stURDLbbdWws2DVV6sR9W5zdACD95QWZuSyQysEnhzjopV53U2uMtc4O7QCEqKRq9P0vp1OMXXNaPUfqXRqrVranuE6O7Fc/iZ/XQ2RAYORaQrBu6o8i6xtYZ/JJ7fnapsoldVOsHEH4Im8V1vtd+a0u+4Sq9FocwOPcKv1bJ/Vvs7TD8j26dmfnu/76mVqm9HM6Wz0sZ1rvpXugfAmXK/h5P6X1ZjXd95hizcq4NDamaBo2Njz+mUSqza0MmA+G/d9H/pJTjevdETT1+Z1ewVPO5za3Hnz8Fl39UyLqQ1gO1pB3O50O5AzKXXY1GU07WhsWHaXEOGmu381UXXvrBZxPb+9RQxgi9yySmQ6b+vZjsmu4hoLAYb2JI+kksX1vdPgkpPaj2We4e7/9Xl8b9FhgAAGz3Q3w/MbP8AKVjEZqwO1cPc89gT/wCRaq2Rb6l7cevRvLyP3R+aP5KtUh5Y5zBLn+ypvafz3H+r9FQftZktZbY+7IfIqr9o8yfpf9H2rD6nkOfM6OeS9wHYcMZ/ZWr1CwUVVYNTp2y6x/jOtj/7Swcg73/Ez8AE6PdEmoeSmCfmSkFIxtnEvLfY76P5p8PJX2mdFls0DT5lXanlseCZIMkS2iw7eEzHXgwJPh4qxj2VvjctPHOMCCQEyyF48C08SvJsINkls8dlrhj3M2kaQr1D8dzQIEIeVkU1THPYJkiSuvu1NKGHceOAsfIyXWZLrHH6J2j4/uj+oreTc95k/wC5ZGSdtRaOZRiFsiouc+yT4x8grTmWOaXCYbBEeSBjbchoc07bW8+cLZwqWv0cA2dR3E/nf1kpaKDpdGyWZNLsex2z1dA4ctt/e93+kWRnsrovdRZQ6u8aHa72k93sZt+i5XxgZGK83UN31ke9gOvj/wCcrSLm9TxzUHenklu2DDfUHhuIO21v/TUYHCbGxX3xDxeU2sDgN0uPJmGjy3fnPSVl3SMxuWzFNbtz5gbXcDyj6aSksd1lHs//1uTxGWPDrAP0lphvz/8AItWkHMqIazSqpsEnuR9NyrV2BtgY06MHPiSg5VxDNnG/n4D81QHVma2TcXl9hMF8/JoWcXyHv8oHz/8AMUXLt9xYOAgP0a1vf6RUkQsJRgJwEgPyKTRJjw0TkLF3A8FapMhVHD3H4o9JhNOyQ2QS0yDCPVdZ4oLRIU6wQUwr3Sx8jIGgfAVn1J1JLnHuVSpKPPgmELklzwGE91lZFtL27Xu9M7pDjqPmr1xhuqyMvk+SdEIkW9VgMe71Bk1Vg6g7jM/yQ0LQoDGauyg4j85rHNP3y3f/AJiysJhdXDQSGnQ+C0K6iZLdHN1I4PxRKA7mH1bErLan5MHt6rSAf7YC0mOwMh0HYXxLSx2139neuSc8RtLRY0jUcEf99U6iW6U5DqgfzLW7mfD3b6/8x6bwpt7dzdzGh5e59YIre7+caCId6dv8pqS5IZeeKjVuoLToLA5+0f1q/wDzNJN4fBPF4v8A/9flKX7Wbu7idfH+Uq1r9zi86gcKRedgnSBr8Twq97orcfkFEBqytQnfZr4yUxO6XH846Jh9EnudB81IN1A7NCesU0QiUMnXsNVAGZj4D+KsBu2vZ3PKRS1X8E+JUqjolkjaQ3vyo1uA0JS6I6t+gzorPpayFRofDwRqFtMp31hzYUZXhFWIRd6bYRpCmypxCC5Hc4wVmXsLiY7rUtrdtIjTsqGSwtqc46bRqUYoLr9LxhiHFtxntvstY42VkSGQdd7StLLx67PTubsZuEO2cBxPH9pcr0u0/aGtM/RloBPb+qumxzjv27HFocdoY8SJbr/JcnRh3YpEij4Od1HDY2ytxtFZMhjmmAYRasDOZSbqwbGD6Tqz7x/Kcz89qj19xc2lrhDmOJ29j/KatvoOZXdi1Vhha1rfZA5A+l79Xepu+kiY0ujKxbhfabp2AkE8iDJ+UJLtXYOG7IZkBkWMkkgcyNvuSQrwVb//0OIfO1vgq+Tu2CfEyslJRjdkOzoMj59kj9H2/MrPSTlrqY+yQSfgFZZzJ+l2BWEkkl0cn+d8FBu3TuFRSR6I6uxQGRodJW/0/wBb0tY2/wApcQko5L4vd2bDxoVOiFwKSal7+4VxqVidYNhraGCK5950/srm0k6G6JbOx0/1ftdfpzv1iOeF1jHFpjMa19Owek4k/TjWA/a/+uvO0lLHdiyfIPMvc9aB9FpeXRzUHcgfnNcr31aG6lnuYwhx2hgBeT/K2/RXnCSE1Y9n25rrPd7ZBd5SNeeUl4ikmrn/2f/tGmZQaG90b3Nob3AgMy4wADhCSU0EBAAAAAAADxwBWgADGyVHHAIAAAIgAAA4QklNBCUAAAAAABC3Zl59VNtBEPdXB3cdcMxlOEJJTQQ6AAAAAADlAAAAEAAAAAEAAAAAAAtwcmludE91dHB1dAAAAAUAAAAAUHN0U2Jvb2wBAAAAAEludGVlbnVtAAAAAEludGUAAAAAQ2xybQAAAA9wcmludFNpeHRlZW5CaXRib29sAAAAAAtwcmludGVyTmFtZVRFWFQAAAABAAAAAAAPcHJpbnRQcm9vZlNldHVwT2JqYwAAAAwAUAByAG8AbwBmACAAUwBlAHQAdQBwAAAAAAAKcHJvb2ZTZXR1cAAAAAEAAAAAQmx0bmVudW0AAAAMYnVpbHRpblByb29mAAAACXByb29mQ01ZSwA4QklNBDsAAAAAAi0AAAAQAAAAAQAAAAAAEnByaW50T3V0cHV0T3B0aW9ucwAAABcAAAAAQ3B0bmJvb2wAAAAAAENsYnJib29sAAAAAABSZ3NNYm9vbAAAAAAAQ3JuQ2Jvb2wAAAAAAENudENib29sAAAAAABMYmxzYm9vbAAAAAAATmd0dmJvb2wAAAAAAEVtbERib29sAAAAAABJbnRyYm9vbAAAAAAAQmNrZ09iamMAAAABAAAAAAAAUkdCQwAAAAMAAAAAUmQgIGRvdWJAb+AAAAAAAAAAAABHcm4gZG91YkBv4AAAAAAAAAAAAEJsICBkb3ViQG/gAAAAAAAAAAAAQnJkVFVudEYjUmx0AAAAAAAAAAAAAAAAQmxkIFVudEYjUmx0AAAAAAAAAAAAAAAAUnNsdFVudEYjUHhsQFIAAAAAAAAAAAAKdmVjdG9yRGF0YWJvb2wBAAAAAFBnUHNlbnVtAAAAAFBnUHMAAAAAUGdQQwAAAABMZWZ0VW50RiNSbHQAAAAAAAAAAAAAAABUb3AgVW50RiNSbHQAAAAAAAAAAAAAAABTY2wgVW50RiNQcmNAWQAAAAAAAAAAABBjcm9wV2hlblByaW50aW5nYm9vbAAAAAAOY3JvcFJlY3RCb3R0b21sb25nAAAAAAAAAAxjcm9wUmVjdExlZnRsb25nAAAAAAAAAA1jcm9wUmVjdFJpZ2h0bG9uZwAAAAAAAAALY3JvcFJlY3RUb3Bsb25nAAAAAAA4QklNA+0AAAAAABAASAAAAAEAAQBIAAAAAQABOEJJTQQmAAAAAAAOAAAAAAAAAAAAAD+AAAA4QklNBA0AAAAAAAQAAAAeOEJJTQQZAAAAAAAEAAAAHjhCSU0D8wAAAAAACQAAAAAAAAAAAQA4QklNJxAAAAAAAAoAAQAAAAAAAAABOEJJTQP1AAAAAABIAC9mZgABAGxmZgAGAAAAAAABAC9mZgABAKGZmgAGAAAAAAABADIAAAABAFoAAAAGAAAAAAABADUAAAABAC0AAAAGAAAAAAABOEJJTQP4AAAAAABwAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAADhCSU0ECAAAAAAAEAAAAAEAAAJAAAACQAAAAAA4QklNBB4AAAAAAAQAAAAAOEJJTQQaAAAAAANlAAAABgAAAAAAAAAAAAAAlgAAAJYAAAAYAHAAZQB4AGUAbABzAC0AcABoAG8AdABvAC0AMgA4ADMAMQA5ADYALgBqAHAAZQBnAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACWAAAAlgAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAA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TVAgQ29yZSA1LjYtYzExMSA3OS4xNTgzMjUsIDIwMTUvMDkvMTAtMDE6MTA6MjAgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSI1Mzk4NDRDM0QwRDk5NzM2RTBGNUJGNDM4OEY2RDY1MyIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDphOTI0NDU0ZC1kMWFkLTAzNGQtOTlkMy1hNjE0ZDhiYTk0MzIiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0iNTM5ODQ0QzNEMEQ5OTczNkUwRjVCRjQzODhGNkQ2NTMiIGRjOmZvcm1hdD0iaW1hZ2UvanBlZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiB4bXA6Q3JlYXRlRGF0ZT0iMjAxNy0wOC0xN1QxMjo0MDozNyswNTozMCIgeG1wOk1vZGlmeURhdGU9IjIwMTctMDgtMTdUMTI6NTI6MjYrMDU6MzAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMTctMDgtMTdUMTI6NTI6MjYrMDU6MzAiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDphOTI0NDU0ZC1kMWFkLTAzNGQtOTlkMy1hNjE0ZDhiYTk0MzIiIHN0RXZ0OndoZW49IjIwMTctMDgtMTdUMTI6NTI6MjYrMDU6MzAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCBDQyAyMDE1IChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPD94cGFja2V0IGVuZD0idyI/Pv/iDFhJQ0NfUFJPRklMRQABAQAADEhMaW5vAhAAAG1udHJSR0IgWFlaIAfOAAIACQAGADEAAGFjc3BNU0ZUAAAAAElFQyBzUkdCAAAAAAAAAAAAAAAAAAD21gABAAAAANMtSFAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEWNwcnQAAAFQAAAAM2Rlc2MAAAGEAAAAbHd0cHQAAAHwAAAAFGJrcHQAAAIEAAAAFHJYWVoAAAIYAAAAFGdYWVoAAAIsAAAAFGJYWVoAAAJAAAAAFGRtbmQAAAJUAAAAcGRtZGQAAALEAAAAiHZ1ZWQAAANMAAAAhnZpZXcAAAPUAAAAJGx1bWkAAAP4AAAAFG1lYXMAAAQMAAAAJHRlY2gAAAQwAAAADHJUUkMAAAQ8AAAIDGdUUkMAAAQ8AAAIDGJUUkMAAAQ8AAAIDHRleHQAAAAAQ29weXJpZ2h0IChjKSAxOTk4IEhld2xldHQtUGFja2FyZCBDb21wYW55AABkZXNjAAAAAAAAABJzUkdCIElFQzYxOTY2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"}},"time_used":574,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":572,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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://frxoptmarkt.com/","date":"2026-07-27T06:33:10.494Z","timestamp":1785133990494,"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/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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://frxoptmarkt.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: 48320\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:19 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:19 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:30:41 GMT\r\ncontent-type: font/woff2\r\nage: 408171\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":48320,"size_decoded":49133,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48320, version 1.0","md5":"dcf31ebe107435bd68e0164d59e19b87","sha1":"b68160c9333af833fe483928b3ef7128c07a56a0","sha256":"d8e4fe0452aa2076429a9bb5d8757d00a994dd95986cf950e9a1a371b9a072a0","sha512":"130cd52c3cccc36a7029bf92b2ddb363b8b36d206454aacc246739919552fccec5cacbad615ba4ac3817da3e83239371fe51324bdadd08357e3495087f62cb08","ssdeep":"768:Jzqdwl5YV7FVmpudK5a8dF8D8Z7J78VGnNFZEKh02dmSTPe9UiallHcOEi2c0NC1:9q+SYuMaVwZ7oGRNh02dd6UialBcOEpE","tlshash":"1623f218f29471f7edecd4d500a18c72baa528d442f116ed07b8d53ca36ca817a729fb","first_seen":"2025-09-17T00:07:53.723302Z","last_seen":"2026-08-04T12:35:31.907874Z","times_seen":320992,"resource_available":false,"data":"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"}},"time_used":60,"timings":{"blocked":0,"dns":2,"connect":29,"send":0,"wait":15,"receive":14,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/shared-CgMCAfor.js","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:14.257Z","timestamp":1785133994257,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/shared-CgMCAfor.js HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.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\nOrigin: https://frxoptmarkt.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=1\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:33:14 GMT\r\ncontent-type: application/javascript\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-42705\"\r\nexpires: Wed, 07 Jul 2027 08:30:00 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k3LRivDftZieW4EL2wF9ER+Kqdii7tsu+TKaGsC8tMu0A+EoQMHzmcMZBVO0rDROocyft/o\r\nx-77-nzt-ray: e2f75420e9f098feaafb666ab098580f\r\nx-77-cache: HIT\r\nx-77-age: 1720956\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":272133,"size_decoded":92592,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (44710)","md5":"06c5668b0e6d3383e096c45abdbedf9d","sha1":"8d64309e8ec50da59f799336c11685ca7fd15ecc","sha256":"2724b50edb69a23cc951a77f775727b960c857d18d58cfa9a47fe5c094d9b99a","sha512":"c4a86d25f4e86be36db19539b4e3efc70500a48b9664349043d76a1451f8536c8bed7fe22f8ca790fb3ac7e26fa7efbfc37e0c927687966dc08a02442e15f85c","ssdeep":"6144:mLjnOEIL18ad2jJKaQo+tRkYcuBaay+moJG:iOEIZRd29lqj4n+moY","tlshash":"53443ad53294b035439b51e6906f1106f33e5c58580d812cf269ede678baec8a2f7fb8","first_seen":"2026-07-07T11:50:17.748529Z","last_seen":"2026-07-27T07:27:47.884385Z","times_seen":1867,"resource_available":true,"data":"dmFyIGU9T2JqZWN0LmNyZWF0ZSx0PU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxuPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iscj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyxpPU9iamVjdC5nZXRQcm90b3R5cGVPZixhPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHksbz0oZSx0KT0+KCk9PihlJiYodD1lKGU9MCkpLHQpLHM9KGUsdCk9PigpPT4odHx8KGUoKHQ9e2V4cG9ydHM6e319KS5leHBvcnRzLHQpLGU9bnVsbCksdC5leHBvcnRzKSxjPShlLG4pPT57bGV0IHI9e307Zm9yKHZhciBpIGluIGUpdChyLGkse2dldDplW2ldLGVudW1lcmFibGU6ITB9KTtyZXR1cm4gbnx8dChyLFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6YE1vZHVsZWB9KSxyfSxsPShlLGksbyxzKT0+e2lmKGkmJnR5cGVvZiBpPT1gb2JqZWN0YHx8dHlwZW9mIGk9PWBmdW5jdGlvbmApZm9yKHZhciBjPXIoaSksbD0wLHU9Yy5sZW5ndGgsZDtsPHU7bCsrKWQ9Y1tsXSwhYS5jYWxsKGUsZCkmJmQhPT1vJiZ0KGUsZCx7Z2V0OihlPT5pW2VdKS5iaW5kKG51bGwsZCksZW51bWVyYWJsZTohKHM9bihpLGQpKXx8cy5lbnVtZXJhYmxlfSk7cmV0dXJuIGV9LHU9KG4scixhKT0+KGE9bj09bnVsbD97fTplKGkobikpLGwocnx8IW58fCFuLl9fZXNNb2R1bGU/dChhLGBkZWZhdWx0YCx7dmFsdWU6bixlbnVtZXJhYmxlOiEwfSk6YSxuKSksZD1lPT5hLmNhbGwoZSxgbW9kdWxlLmV4cG9ydHNgKT9lW2Btb2R1bGUuZXhwb3J0c2BdOmwodCh7fSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZSksZj1BcnJheS5pc0FycmF5LHA9QXJyYXkucHJvdG90eXBlLmluZGV4T2YsbT1BcnJheS5wcm90b3R5cGUuaW5jbHVkZXMsaD1BcnJheS5mcm9tLGc9T2JqZWN0LmRlZmluZVByb3BlcnR5LF89T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcix2PU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzLHk9T2JqZWN0LnByb3RvdHlwZSxlZT1BcnJheS5wcm90b3R5cGUsYj1PYmplY3QuZ2V0UHJvdG90eXBlT2YsdGU9T2JqZWN0LmlzRXh0ZW5zaWJsZTtmdW5jdGlvbiBuZShlKXtyZXR1cm4gdHlwZW9mIGU9PWBmdW5jdGlvbmB9dmFyIHg9KCk9Pnt9O2Z1bmN0aW9uIHJlKGUpe3JldHVybiBlKCl9ZnVuY3Rpb24gaWUoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZVt0XSgpfWZ1bmN0aW9uIGFlKCl7dmFyIGUsdDtyZXR1cm57cHJvbWlzZTpuZXcgUHJvbWlzZSgobixyKT0+e2U9bix0PXJ9KSxyZXNvbHZlOmUscmVqZWN0OnR9fXZhciBvZT0xPDwyNCxzZT0xMDI0LGNlPTIwNDgsbGU9NDA5Nix1ZT04MTkyLGRlPTE2Mzg0LGZlPTMyNzY4LHBlPTE8PDI1LG1lPTY1NTM2LGhlPTE8PDE5LGdlPTE8PDIwLF9lPTE8PDI1LHZlPTY1NTM2LHllPTE8PDIxLGJlPTE8PDIyLHhlPTE8PDIzLFNlPVN5bWJvbChgJHN0YXRlYCksQ2U9U3ltYm9sKGBsZWdhY3kgcHJvcHNgKSx3ZT1TeW1ib2woYGApLFRlPW5ldyBjbGFzcyBleHRlbmRzIEVycm9ye25hbWU9YFN0YWxlUmVhY3Rpb25FcnJvcmA7bWVzc2FnZT0iVGhlIHJlYWN0aW9uIHRoYXQgY2FsbGVkIGBnZXRBYm9ydFNpZ25hbCgpYCB3YXMgcmUtcnVuIG9yIGRlc3Ryb3llZCJ9LEVlPSEhZ2xvYmFsVGhpcy5kb2N1bWVudD8uY29udGVudFR5cGUmJmdsb2JhbFRoaXMuZG9jdW1lbnQuY29udGVudFR5cGUuaW5jbHVkZXMoYHhtbGApO2Z1bmN0aW9uIERlKGUpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9saWZlY3ljbGVfb3V0c2lkZV9jb21wb25lbnRgKX1mdW5jdGlvbiBPZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9hc3luY19kZXJpdmVkX29ycGhhbmApfWZ1bmN0aW9uIGtlKGUsdCxuKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWFjaF9rZXlfZHVwbGljYXRlYCl9ZnVuY3Rpb24gQWUoZSl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl90ZWFyZG93bmApfWZ1bmN0aW9uIGplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF9pbl91bm93bmVkX2Rlcml2ZWRgKX1mdW5jdGlvbiBNZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvZWZmZWN0X29ycGhhbmApfWZ1bmN0aW9uIE5lKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL2VmZmVjdF91cGRhdGVfZGVwdGhfZXhjZWVkZWRgKX1mdW5jdGlvbiBQZShlKXt0aHJvdyBFcnJvcihgaHR0cHM6Ly9zdmVsdGUuZGV2L2UvcHJvcHNfaW52YWxpZF92YWx1ZWApfWZ1bmN0aW9uIEZlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3NldF9jb250ZXh0X2FmdGVyX2luaXRgKX1mdW5jdGlvbiBJZSgpe3Rocm93IEVycm9yKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9zdGF0ZV9kZXNjcmlwdG9yc19maXhlZGApfWZ1bmN0aW9uIExlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Byb3RvdHlwZV9maXhlZGApfWZ1bmN0aW9uIFJlKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N0YXRlX3Vuc2FmZV9tdXRhdGlvbmApfWZ1bmN0aW9uIHplKCl7dGhyb3cgRXJyb3IoYGh0dHBzOi8vc3ZlbHRlLmRldi9lL3N2ZWx0ZV9ib3VuZGFyeV9yZXNldF9vbmVycm9yYCl9dmFyIEJlPXt9LFM9U3ltYm9sKCksVmU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTkveGh0bWxgLEhlPWBodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z2AsVWU9YGh0dHA6Ly93d3cudzMub3JnLzE5OTgvTWF0aC9NYXRoTUxgO2Z1bmN0aW9uIFdlKCl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9kZXJpdmVkX2luZXJ0YCl9ZnVuY3Rpb24gR2UoZSl7Y29uc29sZS53YXJuKGBodHRwczovL3N2ZWx0ZS5kZXYvZS9oeWRyYXRpb25fbWlzbWF0Y2hgKX1mdW5jdGlvbiBLZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc2VsZWN0X211bHRpcGxlX2ludmFsaWRfdmFsdWVgKX1mdW5jdGlvbiBxZSgpe2NvbnNvbGUud2FybihgaHR0cHM6Ly9zdmVsdGUuZGV2L2Uvc3ZlbHRlX2JvdW5kYXJ5X3Jlc2V0X25vb3BgKX12YXIgQz0hMTtmdW5jdGlvbiBKZShlKXtDPWV9dmFyIHc7ZnVuY3Rpb24gVChlKXtpZihlPT09bnVsbCl0aHJvdyBHZSgpLEJlO3JldHVybiB3PWV9ZnVuY3Rpb24gWWUoKXtyZXR1cm4gVChCbih3KSl9ZnVuY3Rpb24gWGUoZSl7aWYoQyl7aWYoQm4odykhPT1udWxsKXRocm93IEdlKCksQmU7dz1lfX1mdW5jdGlvbiBaZShlPTEpe2lmKEMpe2Zvcih2YXIgdD1lLG49dzt0LS07KW49Qm4obik7dz1ufX1mdW5jdGlvbiBRZShlPSEwKXtmb3IodmFyIHQ9MCxuPXc7Oyl7aWYobi5ub2RlVHlwZT09PTgpe3ZhciByPW4uZGF0YTtpZihyPT09YF1gKXtpZih0PT09MClyZXR1cm4gbjstLXR9ZWxzZSAocj09PWBbYHx8cj09PWBbIWB8fHJbMF09PT1gW2AmJiFpc05hTihOdW1iZXIoci5zbGljZSgxKSkpKSYmKHQrPTEpfXZhciBpPUJuKG4pO2UmJm4ucmVtb3ZlKCksbj1pfX1mdW5jdGlvbiAkZShlKXtpZighZXx8ZS5ub2RlVHlwZSE9PTgpdGhyb3cgR2UoKSxCZTtyZXR1cm4gZS5kYXRhfWZ1bmN0aW9uIGV0KGUpe3JldHVybiBlPT09dGhpcy52fWZ1bmN0aW9uIHR0KGUsdCl7cmV0dXJuIGU9PWU/ZSE9PXR8fHR5cGVvZiBlPT1gb2JqZWN0YCYmISFlfHx0eXBlb2YgZT09YGZ1bmN0aW9uYDp0PT10fWZ1bmN0aW9uIG50KGUpe3JldHVybiF0dChlLHRoaXMudil9dmFyIHJ0PSExLGl0PSExO2Z1bmN0aW9uIGF0KCl7aXQ9ITB9dmFyIEU9bnVsbDtmdW5jdGlvbiBvdChlKXtFPWV9ZnVuY3Rpb24gc3QoZSl7cmV0dXJuIGZ0KGBnZXRDb250ZXh0YCkuZ2V0KGUpfWZ1bmN0aW9uIGN0KGUsdCl7bGV0IG49ZnQoYHNldENvbnRleHRgKTtpZihydCl7dmFyIHI9SS5mOyFGJiZyJjMyJiYhRS5pfHxGZSgpfXJldHVybiBuLnNldChlLHQpLHR9ZnVuY3Rpb24gbHQoZSx0PSExLG4pe0U9e3A6RSxpOiExLGM6bnVsbCxlOm51bGwsczplLHg6bnVsbCxyOkksbDppdCYmIXQ/e3M6bnVsbCx1Om51bGwsJDpbXX06bnVsbH19ZnVuY3Rpb24gdXQoZSl7dmFyIHQ9RSxuPXQuZTtpZihuIT09bnVsbCl7dC5lPW51bGw7Zm9yKHZhciByIG9mIG4pc3Iocil9cmV0dXJuIGUhPT12b2lkIDAmJih0Lng9ZSksdC5pPSEwLEU9dC5wLGU/P3t9fWZ1bmN0aW9uIGR0KCl7cmV0dXJuIWl0fHxFIT09bnVsbCYmRS5sPT09bnVsbH1mdW5jdGlvbiBmdChlKXtyZXR1cm4gRT09PW51bGwmJkRlKGUpLEUuYz8/PW5ldyBNYXAocHQoRSl8fHZvaWQgMCl9ZnVuY3Rpb24gcHQoZSl7bGV0IHQ9ZS5wO2Zvcig7dCE9PW51bGw7KXtsZXQgZT10LmM7aWYoZSE9PW51bGwpcmV0dXJuIGU7dD10LnB9cmV0dXJuIG51bGx9dmFyIG10PVtdO2Z1bmN0aW9uIGh0KCl7dmFyIGU9bXQ7bXQ9W10saWUoZSl9ZnVuY3Rpb24gZ3QoZSl7aWYobXQubGVuZ3RoPT09MCYmIXp0KXt2YXIgdD1tdDtxdWV1ZU1pY3JvdGFzaygoKT0+e3Q9PT1tdCYmaHQoKX0pfW10LnB1c2goZSl9ZnVuY3Rpb24gX3QoKXtmb3IoO210Lmxlbmd0aD4wOylodCgpfWZ1bmN0aW9uIHZ0KGUpe3ZhciB0PUk7aWYodD09PW51bGwpcmV0dXJuIEYuZnw9eGUsZTtpZighKHQuZiYzMjc2OCkmJiEodC5mJjQpKXRocm93IGU7eXQoZSx0KX1mdW5jdGlvbiB5dChlLHQpe2Zvcig7dCE9PW51bGw7KXtpZih0LmYmMTI4KXtpZighKHQuZiYzMjc2OCkpdGhyb3cgZTt0cnl7dC5iLmVycm9yKGUpO3JldHVybn1jYXRjaCh0KXtlPXR9fXQ9dC5wYXJlbnR9dGhyb3cgZX12YXIgYnQ9fihjZXxsZXxzZSk7ZnVuY3Rpb24gRChlLHQpe2UuZj1lLmYmYnR8dH1mdW5jdGlvbiB4dChlKXtlLmYmNTEyfHxlLmRlcHM9PT1udWxsP0QoZSxzZSk6RChlLGxlKX1mdW5jdGlvbiBTdChlKXtpZihlIT09bnVsbClmb3IobGV0IHQgb2YgZSkhKHQuZiYyKXx8ISh0LmYmNjU1MzYpfHwodC5mXj12ZSxTdCh0LmRlcHMpKX1mdW5jdGlvbiBDdChlLHQsbil7ZS5mJjIwNDg/dC5hZGQoZSk6ZS5mJjQwOTYmJm4uYWRkKGUpLFN0KGUuZGVwcyksRChlLHNlKX1mdW5jdGlvbiB3dChlLHQsbil7aWYoZT09bnVsbClyZXR1cm4gdCh2b2lkIDApLG4mJm4odm9pZCAwKSx4O2xldCByPSRyKCgpPT5lLnN1YnNjcmliZSh0LG4pKTtyZXR1cm4gci51bnN1YnNjcmliZT8oKT0+ci51bnN1YnNjcmliZSgpOnJ9dmFyIFR0PVtdO2Z1bmN0aW9uIEV0KGUsdCl7cmV0dXJue3N1YnNjcmliZTpPKGUsdCkuc3Vic2NyaWJlfX1mdW5jdGlvbiBPKGUsdD14KXtsZXQgbj1udWxsLHI9bmV3IFNldDtmdW5jdGlvbiBpKHQpe2lmKHR0KGUsdCkmJihlPXQsbikpe2xldCB0PSFUdC5sZW5ndGg7Zm9yKGxldCB0IG9mIHIpdFsxXSgpLFR0LnB1c2godCxlKTtpZih0KXtmb3IobGV0IGU9MDtlPFR0Lmxlbmd0aDtlKz0yKVR0W2VdWzBdKFR0W2UrMV0pO1R0Lmxlbmd0aD0wfX19ZnVuY3Rpb24gYSh0KXtpKHQoZSkpfWZ1bmN0aW9uIG8obyxzPXgpe2xldCBjPVtvLHNdO3JldHVybiByLmFkZChjKSxyLnNpemU9PT0xJiYobj10KGksYSl8fHgpLG8oZSksKCk9PntyLmRlbGV0ZShjKSxyLnNpemU9PT0wJiZuJiYobigpLG49bnVsbCl9fXJldHVybntzZXQ6aSx1cGRhdGU6YSxzdWJzY3JpYmU6b319ZnVuY3Rpb24gayhlLHQsbil7bGV0IHI9IUFycmF5LmlzQXJyYXkoZSksaT1yP1tlXTplO2lmKCFpLmV2ZXJ5KEJvb2xlYW4pKXRocm93IEVycm9yKGBkZXJpdmVkKCkgZXhwZWN0cyBzdG9yZXMgYXMgaW5wdXQsIGdvdCBhIGZhbHN5IHZhbHVlYCk7bGV0IGE9dC5sZW5ndGg8MjtyZXR1cm4gRXQobiwoZSxuKT0+e2xldCBvPSExLHM9W10sYz0wLGw9eCx1PSgpPT57aWYoYylyZXR1cm47bCgpO2xldCBpPXQocj9zWzBdOnMsZSxuKTthP2UoaSk6bD10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOnh9LGQ9aS5tYXAoKGUsdCk9Pnd0KGUsZT0+e3NbdF09ZSxjJj1+KDE8PHQpLG8mJnUoKX0sKCk9PntjfD0xPDx0fSkpO3JldHVybiBvPSEwLHUoKSxmdW5jdGlvbigpe2llKGQpLGwoKSxvPSExfX0pfWZ1bmN0aW9uIEEoZSl7bGV0IHQ7cmV0dXJuIHd0KGUsZT0+dD1lKSgpLHR9dmFyIER0PSExLE90PSExLGt0PVN5bWJvbCgpO2Z1bmN0aW9uIEF0KGUsdCxuKXtsZXQgcj1uW3RdPz89e3N0b3JlOm51bGwsc291cmNlOnduKHZvaWQgMCksdW5zdWJzY3JpYmU6eH07aWYoci5zdG9yZSE9PWUmJiEoa3QgaW4gbikpaWYoci51bnN1YnNjcmliZSgpLHIuc3RvcmU9ZT8/bnVsbCxlPT1udWxsKXIuc291cmNlLnY9dm9pZCAwLHIudW5zdWJzY3JpYmU9eDtlbHNle3ZhciBpPSEwO3IudW5zdWJzY3JpYmU9d3QoZSxlPT57aT9yLnNvdXJjZS52PWU6VG4oci5zb3VyY2UsZSl9KSxpPSExfXJldHVybiBlJiZrdCBpbiBuP0EoZSk6UihyLnNvdXJjZSl9ZnVuY3Rpb24ganQoZSx0KXtyZXR1cm4gTnQoZSx0KSx0fWZ1bmN0aW9uIE10KCl7bGV0IGU9e307ZnVuY3Rpb24gdCgpe2FyKCgpPT57Zm9yKHZhciB0IGluIGUpZVt0XS51bnN1YnNjcmliZSgpO2coZSxrdCx7ZW51bWVyYWJsZTohMSx2YWx1ZTohMH0pfSl9cmV0dXJuW2UsdF19ZnVuY3Rpb24gTnQoZSx0KXtEdD0hMDt0cnl7ZS5zZXQodCl9ZmluYWxseXtEdD0hMX19ZnVuY3Rpb24gUHQoZSx0LG4pe3JldHVybiBOdChlLG4pLHR9ZnVuY3Rpb24gRnQoZSl7dmFyIHQ9T3Q7dHJ5e3JldHVybiBPdD0hMSxbZSgpLE90XX1maW5hbGx5e090PXR9fXZhciBJdD1uZXcgU2V0LGo9bnVsbCxMdD1udWxsLE09bnVsbCxSdD1udWxsLHp0PSExLEJ0PSExLFZ0PW51bGwsSHQ9bnVsbCxVdD0wLFd0PTEsR3Q9Y2xhc3MgZXtpZD1XdCsrO2N1cnJlbnQ9bmV3IE1hcDtwcmV2aW91cz1uZXcgTWFwOyNlPW5ldyBTZXQ7I3Q9bmV3IFNldDsjbj1uZXcgU2V0OyNyPW5ldyBNYXA7I2k9bmV3IE1hcDsjYT1udWxsOyNvPVtdOyNzPVtdOyNjPW5ldyBTZXQ7I2w9bmV3IFNldDsjdT1uZXcgTWFwOyNkPW5ldyBTZXQ7aXNfZm9yaz0hMTsjZj0hMTsjcD1uZXcgU2V0OyNtKCl7cmV0dXJuIHRoaXMuaXNfZm9ya3x8dGhpcy4jaS5zaXplPjB9I2goKXtmb3IobGV0IG4gb2YgdGhpcy4jcClmb3IobGV0IHIgb2Ygbi4jaS5rZXlzKCkpe2Zvcih2YXIgZT0hMSx0PXI7dC5wYXJlbnQhPT1udWxsOyl7aWYodGhpcy4jdS5oYXModCkpe2U9ITA7YnJlYWt9dD10LnBhcmVudH1pZighZSlyZXR1cm4hMH1yZXR1cm4hMX1za2lwX2VmZmVjdChlKXt0aGlzLiN1LmhhcyhlKXx8dGhpcy4jdS5zZXQoZSx7ZDpbXSxtOltdfSksdGhpcy4jZC5kZWxldGUoZSl9dW5za2lwX2VmZmVjdChlLHQ9ZT0+dGhpcy5zY2hlZHVsZShlKSl7dmFyIG49dGhpcy4jdS5nZXQoZSk7aWYobil7dGhpcy4jdS5kZWxldGUoZSk7Zm9yKHZhciByIG9mIG4uZClEKHIsY2UpLHQocik7Zm9yKHIgb2Ygbi5tKUQocixsZSksdChyKX10aGlzLiNkLmFkZChlKX0jZygpe2lmKFV0Kys+MWUzJiYoSXQuZGVsZXRlKHRoaXMpLHF0KCkpLCF0aGlzLiNtKCkpe2ZvcihsZXQgZSBvZiB0aGlzLiNjKXRoaXMuI2wuZGVsZXRlKGUpLEQoZSxjZSksdGhpcy5zY2hlZHVsZShlKTtmb3IobGV0IGUgb2YgdGhpcy4jbClEKGUsbGUpLHRoaXMuc2NoZWR1bGUoZSl9bGV0IHQ9dGhpcy4jbzt0aGlzLiNvPVtdLHRoaXMuYXBwbHkoKTt2YXIgbj1WdD1bXSxyPVtdLGk9SHQ9W107Zm9yKGxldCBlIG9mIHQpdHJ5e3RoaXMuI18oZSxuLHIpfWNhdGNoKHQpe3Rocm93IGVuKGUpLHR9aWYoaj1udWxsLGkubGVuZ3RoPjApe3ZhciBhPWUuZW5zdXJlKCk7Zm9yKGxldCBlIG9mIGkpYS5zY2hlZHVsZShlKX1pZihWdD1udWxsLEh0PW51bGwsdGhpcy4jbSgpfHx0aGlzLiNoKCkpe3RoaXMuI3YociksdGhpcy4jdihuKTtmb3IobGV0W2UsdF1vZiB0aGlzLiN1KSR0KGUsdCl9ZWxzZXt0aGlzLiNyLnNpemU9PT0wJiZJdC5kZWxldGUodGhpcyksdGhpcy4jYy5jbGVhcigpLHRoaXMuI2wuY2xlYXIoKTtmb3IobGV0IGUgb2YgdGhpcy4jZSllKHRoaXMpO3RoaXMuI2UuY2xlYXIoKSxMdD10aGlzLFl0KHIpLFl0KG4pLEx0PW51bGwsdGhpcy4jYT8ucmVzb2x2ZSgpfXZhciBvPWo7aWYodGhpcy4jby5sZW5ndGg+MCl7bGV0IGU9bz8/PXRoaXM7ZS4jby5wdXNoKC4uLnRoaXMuI28uZmlsdGVyKHQ9PiFlLiNvLmluY2x1ZGVzKHQpKSl9byE9PW51bGwmJihJdC5hZGQobyksby4jZygpKSxydCYmIUl0Lmhhcyh0aGlzKSYmdGhpcy4jeSgpfSNfKGUsdCxuKXtlLmZePXNlO2Zvcih2YXIgcj1lLmZpcnN0O3IhPT1udWxsOyl7dmFyIGk9ci5mLGE9KGkmOTYpIT0wO2lmKCEoYSYmaSYxMDI0fHxpJjgxOTJ8fHRoaXMuI3UuaGFzKHIpKSYmci5mbiE9PW51bGwpe2E/ci5mXj1zZTppJjQ/dC5wdXNoKHIpOnJ0JiZpJjE2Nzc3MjI0P24ucHVzaChyKTpXcihyKSYmKGkmMTYmJnRoaXMuI2wuYWRkKHIpLFlyKHIpKTt2YXIgbz1yLmZpcnN0O2lmKG8hPT1udWxsKXtyPW87Y29udGludWV9fWZvcig7ciE9PW51bGw7KXt2YXIgcz1yLm5leHQ7aWYocyE9PW51bGwpe3I9czticmVha31yPXIucGFyZW50fX19I3YoZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0Kz0xKUN0KGVbdF0sdGhpcy4jYyx0aGlzLiNsKX1jYXB0dXJlKGUsdCxuPSExKXtlLnYhPT1TJiYhdGhpcy5wcmV2aW91cy5oYXMoZSkmJnRoaXMucHJldmlvdXMuc2V0KGUsZS52KSxlLmYmODM4ODYwOHx8KHRoaXMuY3VycmVudC5zZXQoZSxbdCxuXSksTT8uc2V0KGUsdCkpLHRoaXMuaXNfZm9ya3x8KGUudj10KX1hY3RpdmF0ZSgpe2o9dGhpc31kZWFjdGl2YXRlKCl7aj1udWxsLE09bnVsbH1mbHVzaCgpe3RyeXtCdD0hMCxqPXRoaXMsdGhpcy4jZygpfWZpbmFsbHl7VXQ9MCxSdD1udWxsLFZ0PW51bGwsSHQ9bnVsbCxCdD0hMSxqPW51bGwsTT1udWxsLGJuLmNsZWFyKCl9fWRpc2NhcmQoKXtmb3IobGV0IGUgb2YgdGhpcy4jdCllKHRoaXMpO3RoaXMuI3QuY2xlYXIoKSx0aGlzLiNuLmNsZWFyKCksSXQuZGVsZXRlKHRoaXMpfXJlZ2lzdGVyX2NyZWF0ZWRfZWZmZWN0KGUpe3RoaXMuI3MucHVzaChlKX0jeSgpe2ZvcihsZXQgbCBvZiBJdCl7dmFyIGU9bC5pZDx0aGlzLmlkLHQ9W107Zm9yKGxldFtyLFtpLGFdXW9mIHRoaXMuY3VycmVudCl7aWYobC5jdXJyZW50LmhhcyhyKSl7dmFyIG49bC5jdXJyZW50LmdldChyKVswXTtpZihlJiZpIT09bilsLmN1cnJlbnQuc2V0KHIsW2ksYV0pO2Vsc2UgY29udGludWV9dC5wdXNoKHIpfXZhciByPVsuLi5sLmN1cnJlbnQua2V5cygpXS5maWx0ZXIoZT0+IXRoaXMuY3VycmVudC5oYXMoZSkpO2lmKHIubGVuZ3RoPT09MCllJiZsLmRpc2NhcmQoKTtlbHNlIGlmKHQubGVuZ3RoPjApe2lmKGUpZm9yKGxldCBlIG9mIHRoaXMuI2QpbC51bnNraXBfZWZmZWN0KGUsZT0+e2UuZiY0MTk0MzIwP2wuc2NoZWR1bGUoZSk6bC4jdihbZV0pfSk7bC5hY3RpdmF0ZSgpO3ZhciBpPW5ldyBTZXQsYT1uZXcgTWFwO2Zvcih2YXIgbyBvZiB0KVh0KG8scixpLGEpO2E9bmV3IE1hcDt2YXIgcz1bLi4ubC5jdXJyZW50LmtleXMoKV0uZmlsdGVyKGU9PnRoaXMuY3VycmVudC5oYXMoZSk/dGhpcy5jdXJyZW50LmdldChlKVswXSE9PWU6ITApO2ZvcihsZXQgZSBvZiB0aGlzLiNzKSEoZS5mJjE1NTY0OCkmJlp0KGUscyxhKSYmKGUuZiY0MTk0MzIwPyhEKGUsY2UpLGwuc2NoZWR1bGUoZSkpOmwuI2MuYWRkKGUpKTtpZihsLiNvLmxlbmd0aD4wKXtsLmFwcGx5KCk7Zm9yKHZhciBjIG9mIGwuI28pbC4jXyhjLFtdLFtdKTtsLiNvPVtdfWwuZGVhY3RpdmF0ZSgpfX1mb3IobGV0IGUgb2YgSXQpZS4jcC5oYXModGhpcykmJihlLiNwLmRlbGV0ZSh0aGlzKSxlLiNwLnNpemU9PT0wJiYhZS4jbSgpJiYoZS5hY3RpdmF0ZSgpLGUuI2coKSkpfWluY3JlbWVudChlLHQpe2xldCBuPXRoaXMuI3IuZ2V0KHQpPz8wO2lmKHRoaXMuI3Iuc2V0KHQsbisxKSxlKXtsZXQgZT10aGlzLiNpLmdldCh0KT8/MDt0aGlzLiNpLnNldCh0LGUrMSl9fWRlY3JlbWVudChlLHQsbil7bGV0IHI9dGhpcy4jci5nZXQodCk/PzA7aWYocj09PTE/dGhpcy4jci5kZWxldGUodCk6dGhpcy4jci5zZXQodCxyLTEpLGUpe2xldCBlPXRoaXMuI2kuZ2V0KHQpPz8wO2U9PT0xP3RoaXMuI2kuZGVsZXRlKHQpOnRoaXMuI2kuc2V0KHQsZS0xKX10aGlzLiNmfHxufHwodGhpcy4jZj0hMCxndCgoKT0+e3RoaXMuI2Y9ITEsdGhpcy5mbHVzaCgpfSkpfXRyYW5zZmVyX2VmZmVjdHMoZSx0KXtmb3IobGV0IHQgb2YgZSl0aGlzLiNjLmFkZCh0KTtmb3IobGV0IGUgb2YgdCl0aGlzLiNsLmFkZChlKTtlLmNsZWFyKCksdC5jbGVhcigpfW9uY29tbWl0KGUpe3RoaXMuI2UuYWRkKGUpfW9uZGlzY2FyZChlKXt0aGlzLiN0LmFkZChlKX1vbl9mb3JrX2NvbW1pdChlKXt0aGlzLiNuLmFkZChlKX1ydW5fZm9ya19jb21taXRfY2FsbGJhY2tzKCl7Zm9yKGxldCBlIG9mIHRoaXMuI24pZSh0aGlzKTt0aGlzLiNuLmNsZWFyKCl9c2V0dGxlZCgpe3JldHVybih0aGlzLiNhPz89YWUoKSkucHJvbWlzZX1zdGF0aWMgZW5zdXJlKCl7aWYoaj09PW51bGwpe2xldCB0PWo9bmV3IGU7QnR8fChJdC5hZGQoaiksenR8fGd0KCgpPT57aj09PXQmJnQuZmx1c2goKX0pKX1yZXR1cm4gan1hcHBseSgpe2lmKCFydHx8IXRoaXMuaXNfZm9yayYmSXQuc2l6ZT09PTEpe009bnVsbDtyZXR1cm59TT1uZXcgTWFwO2ZvcihsZXRbZSxbdF1db2YgdGhpcy5jdXJyZW50KU0uc2V0KGUsdCk7Zm9yKGxldCBuIG9mIEl0KWlmKCEobj09PXRoaXN8fG4uaXNfZm9yaykpe3ZhciBlPSExLHQ9ITE7aWYobi5pZDx0aGlzLmlkKWZvcihsZXRbcixbLGldXW9mIG4uY3VycmVudClpfHwoZXx8PXRoaXMuY3VycmVudC5oYXMociksdHx8PSF0aGlzLmN1cnJlbnQuaGFzKHIpKTtpZihlJiZ0KXRoaXMuI3AuYWRkKG4pO2Vsc2UgZm9yKGxldFtlLHRdb2Ygbi5wcmV2aW91cylNLmhhcyhlKXx8TS5zZXQoZSx0KX19c2NoZWR1bGUoZSl7aWYoUnQ9ZSxlLmI/LmlzX3BlbmRpbmcmJmUuZiYxNjc3NzIyOCYmIShlLmYmMzI3NjgpKXtlLmIuZGVmZXJfZWZmZWN0KGUpO3JldHVybn1mb3IodmFyIHQ9ZTt0LnBhcmVudCE9PW51bGw7KXt0PXQucGFyZW50O3ZhciBuPXQuZjtpZihWdCE9PW51bGwmJnQ9PT1JJiYocnR8fChGPT09bnVsbHx8IShGLmYmMikpJiYhRHQpKXJldHVybjtpZihuJjk2KXtpZighKG4mMTAyNCkpcmV0dXJuO3QuZl49c2V9fXRoaXMuI28ucHVzaCh0KX19O2Z1bmN0aW9uIEt0KGUpe3ZhciB0PXp0O3p0PSEwO3RyeXt2YXIgbjtmb3IoZSYmKGohPT1udWxsJiYhai5pc19mb3JrJiZqLmZsdXNoKCksbj1lKCkpOzspe2lmKF90KCksaj09PW51bGwpcmV0dXJuIG47ai5mbHVzaCgpfX1maW5hbGx5e3p0PXR9fWZ1bmN0aW9uIHF0KCl7dHJ5e05lKCl9Y2F0Y2goZSl7eXQoZSxSdCl9fXZhciBKdD1udWxsO2Z1bmN0aW9uIFl0KGUpe3ZhciB0PWUubGVuZ3RoO2lmKHQhPT0wKXtmb3IodmFyIG49MDtuPHQ7KXt2YXIgcj1lW24rK107aWYoIShyLmYmMjQ1NzYpJiZXcihyKSYmKEp0PW5ldyBTZXQsWXIociksci5kZXBzPT09bnVsbCYmci5maXJzdD09PW51bGwmJnIubm9kZXM9PT1udWxsJiZyLnRlYXJkb3duPT09bnVsbCYmci5hYz09PW51bGwmJnhyKHIpLEp0Py5zaXplPjApKXtibi5jbGVhcigpO2ZvcihsZXQgZSBvZiBKdCl7aWYoZS5mJjI0NTc2KWNvbnRpbnVlO2xldCB0PVtlXSxuPWUucGFyZW50O2Zvcig7biE9PW51bGw7KUp0LmhhcyhuKSYmKEp0LmRlbGV0ZShuKSx0LnB1c2gobikpLG49bi5wYXJlbnQ7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0pe2xldCBuPXRbZV07bi5mJjI0NTc2fHxZcihuKX19SnQuY2xlYXIoKX19SnQ9bnVsbH19ZnVuY3Rpb24gWHQoZSx0LG4scil7aWYoIW4uaGFzKGUpJiYobi5hZGQoZSksZS5yZWFjdGlvbnMhPT1udWxsKSlmb3IobGV0IGkgb2YgZS5yZWFjdGlvbnMpe2xldCBlPWkuZjtlJjI/WHQoaSx0LG4scik6ZSY0MTk0MzIwJiYhKGUmMjA0OCkmJlp0KGksdCxyKSYmKEQoaSxjZSksUXQoaSkpfX1mdW5jdGlvbiBadChlLHQsbil7bGV0IHI9bi5nZXQoZSk7aWYociE9PXZvaWQgMClyZXR1cm4gcjtpZihlLmRlcHMhPT1udWxsKWZvcihsZXQgciBvZiBlLmRlcHMpe2lmKG0uY2FsbCh0LHIpKXJldHVybiEwO2lmKHIuZiYyJiZadChyLHQsbikpcmV0dXJuIG4uc2V0KHIsITApLCEwfXJldHVybiBuLnNldChlLCExKSwhMX1mdW5jdGlvbiBRdChlKXtqLnNjaGVkdWxlKGUpfWZ1bmN0aW9uICR0KGUsdCl7aWYoIShlLmYmMzImJmUuZiYxMDI0KSl7ZS5mJjIwNDg/dC5kLnB1c2goZSk6ZS5mJjQwOTYmJnQubS5wdXNoKGUpLEQoZSxzZSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KSR0KG4sdCksbj1uLm5leHR9fWZ1bmN0aW9uIGVuKGUpe0QoZSxzZSk7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KWVuKHQpLHQ9dC5uZXh0fWZ1bmN0aW9uIHRuKGUpe2xldCB0PTAsbj1TbigwKSxyO3JldHVybigpPT57aXIoKSYmKFIobiksZnIoKCk9Pih0PT09MCYmKHI9JHIoKCk9PmUoKCk9PmtuKG4pKSkpLHQrPTEsKCk9PntndCgoKT0+ey0tdCx0PT09MCYmKHI/LigpLHI9dm9pZCAwLGtuKG4pKX0pfSkpKX19dmFyIG5uPW1lfGhlO2Z1bmN0aW9uIHJuKGUsdCxuLHIpe25ldyBhbihlLHQsbixyKX12YXIgYW49Y2xhc3N7cGFyZW50O2lzX3BlbmRpbmc9ITE7dHJhbnNmb3JtX2Vycm9yOyNlOyN0PUM/dzpudWxsOyNuOyNyOyNpOyNhPW51bGw7I289bnVsbDsjcz1udWxsOyNjPW51bGw7I2w9MDsjdT0wOyNkPSExOyNmPW5ldyBTZXQ7I3A9bmV3IFNldDsjbT1udWxsOyNoPXRuKCgpPT4odGhpcy4jbT1Tbih0aGlzLiNsKSwoKT0+e3RoaXMuI209bnVsbH0pKTtjb25zdHJ1Y3RvcihlLHQsbixyKXt0aGlzLiNlPWUsdGhpcy4jbj10LHRoaXMuI3I9ZT0+e3ZhciB0PUk7dC5iPXRoaXMsdC5mfD0xMjgsbihlKX0sdGhpcy5wYXJlbnQ9SS5iLHRoaXMudHJhbnNmb3JtX2Vycm9yPXI/P3RoaXMucGFyZW50Py50cmFuc2Zvcm1fZXJyb3I/PyhlPT5lKSx0aGlzLiNpPW1yKCgpPT57aWYoQyl7bGV0IGU9dGhpcy4jdDtZZSgpO2xldCB0PWUuZGF0YT09PWBbIWA7aWYoZS5kYXRhLnN0YXJ0c1dpdGgoYFs/YCkpe2xldCB0PUpTT04ucGFyc2UoZS5kYXRhLnNsaWNlKDIpKTt0aGlzLiNfKHQpfWVsc2UgdD90aGlzLiN2KCk6dGhpcy4jZygpfWVsc2UgdGhpcy4jeSgpfSxubiksQyYmKHRoaXMuI2U9dyl9I2coKXt0cnl7dGhpcy4jYT1ncigoKT0+dGhpcy4jcih0aGlzLiNlKSl9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I18oZSl7bGV0IHQ9dGhpcy4jbi5mYWlsZWQ7dCYmKHRoaXMuI3M9Z3IoKCk9Pnt0KHRoaXMuI2UsKCk9PmUsKCk9PigpPT57fSl9KSl9I3YoKXtsZXQgZT10aGlzLiNuLnBlbmRpbmc7ZSYmKHRoaXMuaXNfcGVuZGluZz0hMCx0aGlzLiNvPWdyKCgpPT5lKHRoaXMuI2UpKSxndCgoKT0+e3ZhciBlPXRoaXMuI2M9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9em4oKTtlLmFwcGVuZCh0KSx0aGlzLiNhPXRoaXMuI3goKCk9PmdyKCgpPT50aGlzLiNyKHQpKSksdGhpcy4jdT09PTAmJih0aGlzLiNlLmJlZm9yZShlKSx0aGlzLiNjPW51bGwsU3IodGhpcy4jbywoKT0+e3RoaXMuI289bnVsbH0pLHRoaXMuI2IoaikpfSkpfSN5KCl7dHJ5e2lmKHRoaXMuaXNfcGVuZGluZz10aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSx0aGlzLiN1PTAsdGhpcy4jbD0wLHRoaXMuI2E9Z3IoKCk9Pnt0aGlzLiNyKHRoaXMuI2UpfSksdGhpcy4jdT4wKXt2YXIgZT10aGlzLiNjPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtFcih0aGlzLiNhLGUpO2xldCB0PXRoaXMuI24ucGVuZGluZzt0aGlzLiNvPWdyKCgpPT50KHRoaXMuI2UpKX1lbHNlIHRoaXMuI2Ioail9Y2F0Y2goZSl7dGhpcy5lcnJvcihlKX19I2IoZSl7dGhpcy5pc19wZW5kaW5nPSExLGUudHJhbnNmZXJfZWZmZWN0cyh0aGlzLiNmLHRoaXMuI3ApfWRlZmVyX2VmZmVjdChlKXtDdChlLHRoaXMuI2YsdGhpcy4jcCl9aXNfcmVuZGVyZWQoKXtyZXR1cm4hdGhpcy5pc19wZW5kaW5nJiYoIXRoaXMucGFyZW50fHx0aGlzLnBhcmVudC5pc19yZW5kZXJlZCgpKX1oYXNfcGVuZGluZ19zbmlwcGV0KCl7cmV0dXJuISF0aGlzLiNuLnBlbmRpbmd9I3goZSl7dmFyIHQ9SSxuPUYscj1FO05yKHRoaXMuI2kpLE1yKHRoaXMuI2kpLG90KHRoaXMuI2kuY3R4KTt0cnl7cmV0dXJuIEd0LmVuc3VyZSgpLGUoKX1jYXRjaChlKXtyZXR1cm4gdnQoZSksbnVsbH1maW5hbGx5e05yKHQpLE1yKG4pLG90KHIpfX0jUyhlLHQpe2lmKCF0aGlzLmhhc19wZW5kaW5nX3NuaXBwZXQoKSl7dGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LiNTKGUsdCk7cmV0dXJufXRoaXMuI3UrPWUsdGhpcy4jdT09PTAmJih0aGlzLiNiKHQpLHRoaXMuI28mJlNyKHRoaXMuI28sKCk9Pnt0aGlzLiNvPW51bGx9KSx0aGlzLiNjJiY9KHRoaXMuI2UuYmVmb3JlKHRoaXMuI2MpLG51bGwpKX11cGRhdGVfcGVuZGluZ19jb3VudChlLHQpe3RoaXMuI1MoZSx0KSx0aGlzLiNsKz1lLCEoIXRoaXMuI218fHRoaXMuI2QpJiYodGhpcy4jZD0hMCxndCgoKT0+e3RoaXMuI2Q9ITEsdGhpcy4jbSYmRW4odGhpcy4jbSx0aGlzLiNsKX0pKX1nZXRfZWZmZWN0X3BlbmRpbmcoKXtyZXR1cm4gdGhpcy4jaCgpLFIodGhpcy4jbSl9ZXJyb3IoZSl7aWYoIXRoaXMuI24ub25lcnJvciYmIXRoaXMuI24uZmFpbGVkKXRocm93IGU7aj8uaXNfZm9yaz8odGhpcy4jYSYmai5za2lwX2VmZmVjdCh0aGlzLiNhKSx0aGlzLiNvJiZqLnNraXBfZWZmZWN0KHRoaXMuI28pLHRoaXMuI3MmJmouc2tpcF9lZmZlY3QodGhpcy4jcyksai5vbl9mb3JrX2NvbW1pdCgoKT0+e3RoaXMuI0MoZSl9KSk6dGhpcy4jQyhlKX0jQyhlKXt0aGlzLiNhJiY9KFAodGhpcy4jYSksbnVsbCksdGhpcy4jbyYmPShQKHRoaXMuI28pLG51bGwpLHRoaXMuI3MmJj0oUCh0aGlzLiNzKSxudWxsKSxDJiYoVCh0aGlzLiN0KSxaZSgpLFQoUWUoKSkpO3ZhciB0PXRoaXMuI24ub25lcnJvcjtsZXQgbj10aGlzLiNuLmZhaWxlZDt2YXIgcj0hMSxpPSExO2xldCBhPSgpPT57aWYocil7cWUoKTtyZXR1cm59cj0hMCxpJiZ6ZSgpLHRoaXMuI3MhPT1udWxsJiZTcih0aGlzLiNzLCgpPT57dGhpcy4jcz1udWxsfSksdGhpcy4jeCgoKT0+e3RoaXMuI3koKX0pfSxvPWU9Pnt0cnl7aT0hMCx0Py4oZSxhKSxpPSExfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpfW4mJih0aGlzLiNzPXRoaXMuI3goKCk9Pnt0cnl7cmV0dXJuIGdyKCgpPT57dmFyIHQ9STt0LmI9dGhpcyx0LmZ8PTEyOCxuKHRoaXMuI2UsKCk9PmUsKCk9PmEpfSl9Y2F0Y2goZSl7cmV0dXJuIHl0KGUsdGhpcy4jaS5wYXJlbnQpLG51bGx9fSkpfTtndCgoKT0+e3ZhciB0O3RyeXt0PXRoaXMudHJhbnNmb3JtX2Vycm9yKGUpfWNhdGNoKGUpe3l0KGUsdGhpcy4jaSYmdGhpcy4jaS5wYXJlbnQpO3JldHVybn10eXBlb2YgdD09YG9iamVjdGAmJnQmJnR5cGVvZiB0LnRoZW49PWBmdW5jdGlvbmA/dC50aGVuKG8sZT0+eXQoZSx0aGlzLiNpJiZ0aGlzLiNpLnBhcmVudCkpOm8odCl9KX19O2Z1bmN0aW9uIG9uKGUsdCxuLHIpe2xldCBpPWR0KCk/dW46cG47dmFyIGE9ZS5maWx0ZXIoZT0+IWUuc2V0dGxlZCk7aWYobi5sZW5ndGg9PT0wJiZhLmxlbmd0aD09PTApe3IodC5tYXAoaSkpO3JldHVybn12YXIgbz1JLHM9c24oKSxjPWEubGVuZ3RoPT09MT9hWzBdLnByb21pc2U6YS5sZW5ndGg+MT9Qcm9taXNlLmFsbChhLm1hcChlPT5lLnByb21pc2UpKTpudWxsO2Z1bmN0aW9uIGwoZSl7cygpO3RyeXtyKGUpfWNhdGNoKGUpe28uZiYxNjM4NHx8eXQoZSxvKX1jbigpfWlmKG4ubGVuZ3RoPT09MCl7Yy50aGVuKCgpPT5sKHQubWFwKGkpKSk7cmV0dXJufXZhciB1PWxuKCk7ZnVuY3Rpb24gZCgpe1Byb21pc2UuYWxsKG4ubWFwKGU9PmRuKGUpKSkudGhlbihlPT5sKFsuLi50Lm1hcChpKSwuLi5lXSkpLmNhdGNoKGU9Pnl0KGUsbykpLmZpbmFsbHkoKCk9PnUoKSl9Yz9jLnRoZW4oKCk9PntzKCksZCgpLGNuKCl9KTpkKCl9ZnVuY3Rpb24gc24oKXt2YXIgZT1JLHQ9RixuPUUscj1qO3JldHVybiBmdW5jdGlvbihpPSEwKXtOcihlKSxNcih0KSxvdChuKSxpJiYhKGUuZiYxNjM4NCkmJihyPy5hY3RpdmF0ZSgpLHI/LmFwcGx5KCkpfX1mdW5jdGlvbiBjbihlPSEwKXtOcihudWxsKSxNcihudWxsKSxvdChudWxsKSxlJiZqPy5kZWFjdGl2YXRlKCl9ZnVuY3Rpb24gbG4oKXt2YXIgZT1JLHQ9ZS5iLG49aixyPXQuaXNfcmVuZGVyZWQoKTtyZXR1cm4gdC51cGRhdGVfcGVuZGluZ19jb3VudCgxLG4pLG4uaW5jcmVtZW50KHIsZSksKGk9ITEpPT57dC51cGRhdGVfcGVuZGluZ19jb3VudCgtMSxuKSxuLmRlY3JlbWVudChyLGUsaSl9fWZ1bmN0aW9uIHVuKGUpe3ZhciB0PTJ8Y2U7cmV0dXJuIEkhPT1udWxsJiYoSS5mfD1oZSkse2N0eDpFLGRlcHM6bnVsbCxlZmZlY3RzOm51bGwsZXF1YWxzOmV0LGY6dCxmbjplLHJlYWN0aW9uczpudWxsLHJ2OjAsdjpTLHd2OjAscGFyZW50OkksYWM6bnVsbH19ZnVuY3Rpb24gZG4oZSx0LG4pe2xldCByPUk7cj09PW51bGwmJk9lKCk7dmFyIGk9dm9pZCAwLGE9U24oUyksbz0hRixzPW5ldyBNYXA7cmV0dXJuIGRyKCgpPT57dmFyIHQ9SSxuPWFlKCk7aT1uLnByb21pc2U7dHJ5e1Byb21pc2UucmVzb2x2ZShlKCkpLnRoZW4obi5yZXNvbHZlLG4ucmVqZWN0KS5maW5hbGx5KGNuKX1jYXRjaChlKXtuLnJlamVjdChlKSxjbigpfXZhciBjPWo7aWYobyl7aWYodC5mJjMyNzY4KXZhciBsPWxuKCk7aWYoci5iLmlzX3JlbmRlcmVkKCkpcy5nZXQoYyk/LnJlamVjdChUZSkscy5kZWxldGUoYyk7ZWxzZXtmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSk7cy5jbGVhcigpfXMuc2V0KGMsbil9bGV0IHU9KGUsbj12b2lkIDApPT57aWYobCYmbChuPT09VGUpLCEobj09PVRlfHx0LmYmMTYzODQpKXtpZihjLmFjdGl2YXRlKCksbilhLmZ8PXhlLEVuKGEsbik7ZWxzZXthLmYmODM4ODYwOCYmKGEuZl49eGUpLEVuKGEsZSk7Zm9yKGxldFtlLHRdb2Ygcyl7aWYocy5kZWxldGUoZSksZT09PWMpYnJlYWs7dC5yZWplY3QoVGUpfX1jLmRlYWN0aXZhdGUoKX19O24ucHJvbWlzZS50aGVuKHUsZT0+dShudWxsLGV8fGB1bmtub3duYCkpfSksYXIoKCk9Pntmb3IobGV0IGUgb2Ygcy52YWx1ZXMoKSllLnJlamVjdChUZSl9KSxuZXcgUHJvbWlzZShlPT57ZnVuY3Rpb24gdChuKXtmdW5jdGlvbiByKCl7bj09PWk/ZShhKTp0KGkpfW4udGhlbihyLHIpfXQoaSl9KX1mdW5jdGlvbiBmbihlKXtsZXQgdD11bihlKTtyZXR1cm4gcnR8fEZyKHQpLHR9ZnVuY3Rpb24gcG4oZSl7bGV0IHQ9dW4oZSk7cmV0dXJuIHQuZXF1YWxzPW50LHR9ZnVuY3Rpb24gbW4oZSl7dmFyIHQ9ZS5lZmZlY3RzO2lmKHQhPT1udWxsKXtlLmVmZmVjdHM9bnVsbDtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rPTEpUCh0W25dKX19ZnVuY3Rpb24gaG4oZSl7dmFyIHQsbj1JLHI9ZS5wYXJlbnQ7aWYoIWtyJiZyIT09bnVsbCYmci5mJjI0NTc2KXJldHVybiBXZSgpLGUudjtOcihyKTt0cnl7ZS5mJj1+dmUsbW4oZSksdD1LcihlKX1maW5hbGx5e05yKG4pfXJldHVybiB0fWZ1bmN0aW9uIGduKGUpe3ZhciB0PWhuKGUpO2lmKCFlLmVxdWFscyh0KSYmKGUud3Y9VXIoKSwoIWo/LmlzX2Zvcmt8fGUuZGVwcz09PW51bGwpJiYoaj09PW51bGw/ZS52PXQ6ai5jYXB0dXJlKGUsdCwhMCksZS5kZXBzPT09bnVsbCkpKXtEKGUsc2UpO3JldHVybn1rcnx8KE09PT1udWxsP3h0KGUpOihpcigpfHxqPy5pc19mb3JrKSYmTS5zZXQoZSx0KSl9ZnVuY3Rpb24gX24oZSl7aWYoZS5lZmZlY3RzIT09bnVsbClmb3IobGV0IHQgb2YgZS5lZmZlY3RzKSh0LnRlYXJkb3dufHx0LmFjKSYmKHQudGVhcmRvd24/LigpLHQuYWM/LmFib3J0KFRlKSx0LnRlYXJkb3duPXgsdC5hYz1udWxsLEpyKHQsMCksdnIodCkpfWZ1bmN0aW9uIHZuKGUpe2lmKGUuZWZmZWN0cyE9PW51bGwpZm9yKGxldCB0IG9mIGUuZWZmZWN0cyl0LnRlYXJkb3duJiZZcih0KX12YXIgeW49bmV3IFNldCxibj1uZXcgTWFwLHhuPSExO2Z1bmN0aW9uIFNuKGUsdCl7cmV0dXJue2Y6MCx2OmUscmVhY3Rpb25zOm51bGwsZXF1YWxzOmV0LHJ2OjAsd3Y6MH19ZnVuY3Rpb24gQ24oZSx0KXtsZXQgbj1TbihlLHQpO3JldHVybiBGcihuKSxufWZ1bmN0aW9uIHduKGUsdD0hMSxuPSEwKXtsZXQgcj1TbihlKTtyZXR1cm4gdHx8KHIuZXF1YWxzPW50KSxpdCYmbiYmRSE9PW51bGwmJkUubCE9PW51bGwmJihFLmwucz8/PVtdKS5wdXNoKHIpLHJ9ZnVuY3Rpb24gVG4oZSx0LG49ITEpe3JldHVybiBGIT09bnVsbCYmKCFqcnx8Ri5mJjEzMTA3MikmJmR0KCkmJkYuZiY0MzI1Mzk0JiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSYmUmUoKSxFbihlLG4/am4odCk6dCxIdCl9ZnVuY3Rpb24gRW4oZSx0LG49bnVsbCl7aWYoIWUuZXF1YWxzKHQpKXtibi5zZXQoZSxrcj90OmUudik7dmFyIHI9R3QuZW5zdXJlKCk7aWYoci5jYXB0dXJlKGUsdCksZS5mJjIpe2xldCB0PWU7ZS5mJjIwNDgmJmhuKHQpLE09PT1udWxsJiZ4dCh0KX1lLnd2PVVyKCksQW4oZSxjZSxuKSxkdCgpJiZJIT09bnVsbCYmSS5mJjEwMjQmJiEoSS5mJjk2KSYmKExyPT09bnVsbD9ScihbZV0pOkxyLnB1c2goZSkpLCFyLmlzX2ZvcmsmJnluLnNpemU+MCYmIXhuJiZEbigpfXJldHVybiB0fWZ1bmN0aW9uIERuKCl7eG49ITE7Zm9yKGxldCBlIG9mIHluKWUuZiYxMDI0JiZEKGUsbGUpLFdyKGUpJiZZcihlKTt5bi5jbGVhcigpfWZ1bmN0aW9uIE9uKGUsdD0xKXt2YXIgbj1SKGUpLHI9dD09PTE/bisrOm4tLTtyZXR1cm4gVG4oZSxuKSxyfWZ1bmN0aW9uIGtuKGUpe1RuKGUsZS52KzEpfWZ1bmN0aW9uIEFuKGUsdCxuKXt2YXIgcj1lLnJlYWN0aW9ucztpZihyIT09bnVsbClmb3IodmFyIGk9ZHQoKSxhPXIubGVuZ3RoLG89MDtvPGE7bysrKXt2YXIgcz1yW29dLGM9cy5mO2lmKCEoIWkmJnM9PT1JKSl7dmFyIGw9KGMmY2UpPT09MDtpZihsJiZEKHMsdCksYyYyKXt2YXIgdT1zO00/LmRlbGV0ZSh1KSxjJjY1NTM2fHwoYyY1MTImJihJPT09bnVsbHx8IShJLmYmMjA5NzE1MikpJiYocy5mfD12ZSksQW4odSxsZSxuKSl9ZWxzZSBpZihsKXt2YXIgZD1zO2MmMTYmJkp0IT09bnVsbCYmSnQuYWRkKGQpLG49PT1udWxsP1F0KGQpOm4ucHVzaChkKX19fX1mdW5jdGlvbiBqbihlKXtpZih0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxTZSBpbiBlKXJldHVybiBlO2xldCB0PWIoZSk7aWYodCE9PXkmJnQhPT1lZSlyZXR1cm4gZTt2YXIgbj1uZXcgTWFwLHI9ZihlKSxpPUNuKDApLGE9bnVsbCxvPVZyLHM9ZT0+e2lmKFZyPT09bylyZXR1cm4gZSgpO3ZhciB0PUYsbj1WcjtNcihudWxsKSxIcihvKTt2YXIgcj1lKCk7cmV0dXJuIE1yKHQpLEhyKG4pLHJ9O3JldHVybiByJiZuLnNldChgbGVuZ3RoYCxDbihlLmxlbmd0aCxhKSksbmV3IFByb3h5KGUse2RlZmluZVByb3BlcnR5KGUsdCxyKXsoIShgdmFsdWVgaW4gcil8fHIuY29uZmlndXJhYmxlPT09ITF8fHIuZW51bWVyYWJsZT09PSExfHxyLndyaXRhYmxlPT09ITEpJiZJZSgpO3ZhciBpPW4uZ2V0KHQpO3JldHVybiBpPT09dm9pZCAwP3MoKCk9Pnt2YXIgZT1DbihyLnZhbHVlLGEpO3JldHVybiBuLnNldCh0LGUpLGV9KTpUbihpLHIudmFsdWUsITApLCEwfSxkZWxldGVQcm9wZXJ0eShlLHQpe3ZhciByPW4uZ2V0KHQpO2lmKHI9PT12b2lkIDApe2lmKHQgaW4gZSl7bGV0IGU9cygoKT0+Q24oUyxhKSk7bi5zZXQodCxlKSxrbihpKX19ZWxzZSBUbihyLFMpLGtuKGkpO3JldHVybiEwfSxnZXQodCxyLGkpe2lmKHI9PT1TZSlyZXR1cm4gZTt2YXIgbz1uLmdldChyKSxjPXIgaW4gdDtpZihvPT09dm9pZCAwJiYoIWN8fF8odCxyKT8ud3JpdGFibGUpJiYobz1zKCgpPT5DbihqbihjP3Rbcl06UyksYSkpLG4uc2V0KHIsbykpLG8hPT12b2lkIDApe3ZhciBsPVIobyk7cmV0dXJuIGw9PT1TP3ZvaWQgMDpsfXJldHVybiBSZWZsZWN0LmdldCh0LHIsaSl9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe3ZhciByPVJlZmxlY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsdCk7aWYociYmYHZhbHVlYGluIHIpe3ZhciBpPW4uZ2V0KHQpO2kmJihyLnZhbHVlPVIoaSkpfWVsc2UgaWYocj09PXZvaWQgMCl7dmFyIGE9bi5nZXQodCksbz1hPy52O2lmKGEhPT12b2lkIDAmJm8hPT1TKXJldHVybntlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTpvLHdyaXRhYmxlOiEwfX1yZXR1cm4gcn0saGFzKGUsdCl7aWYodD09PVNlKXJldHVybiEwO3ZhciByPW4uZ2V0KHQpLGk9ciE9PXZvaWQgMCYmci52IT09U3x8UmVmbGVjdC5oYXMoZSx0KTtyZXR1cm4ociE9PXZvaWQgMHx8SSE9PW51bGwmJighaXx8XyhlLHQpPy53cml0YWJsZSkpJiYocj09PXZvaWQgMCYmKHI9cygoKT0+Q24oaT9qbihlW3RdKTpTLGEpKSxuLnNldCh0LHIpKSxSKHIpPT09Uyk/ITE6aX0sc2V0KGUsdCxvLGMpe3ZhciBsPW4uZ2V0KHQpLHU9dCBpbiBlO2lmKHImJnQ9PT1gbGVuZ3RoYClmb3IodmFyIGQ9bztkPGwudjtkKz0xKXt2YXIgZj1uLmdldChkK2BgKTtmPT09dm9pZCAwP2QgaW4gZSYmKGY9cygoKT0+Q24oUyxhKSksbi5zZXQoZCtgYCxmKSk6VG4oZixTKX1pZihsPT09dm9pZCAwKSghdXx8XyhlLHQpPy53cml0YWJsZSkmJihsPXMoKCk9PkNuKHZvaWQgMCxhKSksVG4obCxqbihvKSksbi5zZXQodCxsKSk7ZWxzZXt1PWwudiE9PVM7dmFyIHA9cygoKT0+am4obykpO1RuKGwscCl9dmFyIG09UmVmbGVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KTtpZihtPy5zZXQmJm0uc2V0LmNhbGwoYyxvKSwhdSl7aWYociYmdHlwZW9mIHQ9PWBzdHJpbmdgKXt2YXIgaD1uLmdldChgbGVuZ3RoYCksZz1OdW1iZXIodCk7TnVtYmVyLmlzSW50ZWdlcihnKSYmZz49aC52JiZUbihoLGcrMSl9a24oaSl9cmV0dXJuITB9LG93bktleXMoZSl7UihpKTt2YXIgdD1SZWZsZWN0Lm93bktleXMoZSkuZmlsdGVyKGU9Pnt2YXIgdD1uLmdldChlKTtyZXR1cm4gdD09PXZvaWQgMHx8dC52IT09U30pO2Zvcih2YXJbcixhXW9mIG4pYS52IT09UyYmIShyIGluIGUpJiZ0LnB1c2gocik7cmV0dXJuIHR9LHNldFByb3RvdHlwZU9mKCl7TGUoKX19KX1mdW5jdGlvbiBNbihlKXt0cnl7aWYodHlwZW9mIGU9PWBvYmplY3RgJiZlJiZTZSBpbiBlKXJldHVybiBlW1NlXX1jYXRjaHt9cmV0dXJuIGV9ZnVuY3Rpb24gTm4oZSx0KXtyZXR1cm4gT2JqZWN0LmlzKE1uKGUpLE1uKHQpKX12YXIgUG4sRm4sSW4sTG47ZnVuY3Rpb24gUm4oKXtpZihQbj09PXZvaWQgMCl7UG49d2luZG93LEZuPS9GaXJlZm94Ly50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpO3ZhciBlPUVsZW1lbnQucHJvdG90eXBlLHQ9Tm9kZS5wcm90b3R5cGUsbj1UZXh0LnByb3RvdHlwZTtJbj1fKHQsYGZpcnN0Q2hpbGRgKS5nZXQsTG49Xyh0LGBuZXh0U2libGluZ2ApLmdldCx0ZShlKSYmKGUuX19jbGljaz12b2lkIDAsZS5fX2NsYXNzTmFtZT12b2lkIDAsZS5fX2F0dHJpYnV0ZXM9bnVsbCxlLl9fc3R5bGU9dm9pZCAwLGUuX19lPXZvaWQgMCksdGUobikmJihuLl9fdD12b2lkIDApfX1mdW5jdGlvbiB6bihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoZSl9ZnVuY3Rpb24gTihlKXtyZXR1cm4gSW4uY2FsbChlKX1mdW5jdGlvbiBCbihlKXtyZXR1cm4gTG4uY2FsbChlKX1mdW5jdGlvbiBWbihlLHQpe2lmKCFDKXJldHVybiBOKGUpO3ZhciBuPU4odyk7aWYobj09PW51bGwpbj13LmFwcGVuZENoaWxkKHpuKCkpO2Vsc2UgaWYodCYmbi5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIG4/LmJlZm9yZShyKSxUKHIpLHJ9cmV0dXJuIHQmJkpuKG4pLFQobiksbn1mdW5jdGlvbiBIbihlLHQ9ITEpe2lmKCFDKXt2YXIgbj1OKGUpO3JldHVybiBuIGluc3RhbmNlb2YgQ29tbWVudCYmbi5kYXRhPT09YGA/Qm4obik6bn1pZih0KXtpZih3Py5ub2RlVHlwZSE9PTMpe3ZhciByPXpuKCk7cmV0dXJuIHc/LmJlZm9yZShyKSxUKHIpLHJ9Sm4odyl9cmV0dXJuIHd9ZnVuY3Rpb24gVW4oZSx0PTEsbj0hMSl7bGV0IHI9Qz93OmU7Zm9yKHZhciBpO3QtLTspaT1yLHI9Qm4ocik7aWYoIUMpcmV0dXJuIHI7aWYobil7aWYocj8ubm9kZVR5cGUhPT0zKXt2YXIgYT16bigpO3JldHVybiByPT09bnVsbD9pPy5hZnRlcihhKTpyLmJlZm9yZShhKSxUKGEpLGF9Sm4ocil9cmV0dXJuIFQocikscn1mdW5jdGlvbiBXbihlKXtlLnRleHRDb250ZW50PWBgfWZ1bmN0aW9uIEduKCl7cmV0dXJuIXJ0fHxKdCE9PW51bGw/ITE6KEkuZiZmZSkhPT0wfWZ1bmN0aW9uIEtuKGUsdCxuKXtsZXQgcj1uP3tpczpufTp2b2lkIDA7cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUyh0Pz9gaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbGAsZSxyKX1mdW5jdGlvbiBxbihlPWBgKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudChlKX1mdW5jdGlvbiBKbihlKXtpZihlLm5vZGVWYWx1ZS5sZW5ndGg8NjU1MzYpcmV0dXJuO2xldCB0PWUubmV4dFNpYmxpbmc7Zm9yKDt0IT09bnVsbCYmdC5ub2RlVHlwZT09PTM7KXQucmVtb3ZlKCksZS5ub2RlVmFsdWUrPXQubm9kZVZhbHVlLHQ9ZS5uZXh0U2libGluZ31mdW5jdGlvbiBZbihlLHQpe2lmKHQpe2xldCB0PWRvY3VtZW50LmJvZHk7ZS5hdXRvZm9jdXM9ITAsZ3QoKCk9Pntkb2N1bWVudC5hY3RpdmVFbGVtZW50PT09dCYmZS5mb2N1cygpfSl9fWZ1bmN0aW9uIFhuKGUpe0MmJk4oZSkhPT1udWxsJiZXbihlKX12YXIgWm49ITE7ZnVuY3Rpb24gUW4oKXtabnx8KFpuPSEwLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoYHJlc2V0YCxlPT57UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+e2lmKCFlLmRlZmF1bHRQcmV2ZW50ZWQpZm9yKGxldCB0IG9mIGUudGFyZ2V0LmVsZW1lbnRzKXQuX19vbl9yPy4oKX0pfSx7Y2FwdHVyZTohMH0pKX1mdW5jdGlvbiAkbihlKXt2YXIgdD1GLG49STtNcihudWxsKSxOcihudWxsKTt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e01yKHQpLE5yKG4pfX1mdW5jdGlvbiBlcihlLHQsbixyPW4pe2UuYWRkRXZlbnRMaXN0ZW5lcih0LCgpPT4kbihuKSk7bGV0IGk9ZS5fX29uX3I7aT9lLl9fb25fcj0oKT0+e2koKSxyKCEwKX06ZS5fX29uX3I9KCk9PnIoITApLFFuKCl9ZnVuY3Rpb24gdHIoZSl7ST09PW51bGwmJihGPT09bnVsbCYmTWUoZSksamUoKSksa3ImJkFlKGUpfWZ1bmN0aW9uIG5yKGUsdCl7dmFyIG49dC5sYXN0O249PT1udWxsP3QubGFzdD10LmZpcnN0PWU6KG4ubmV4dD1lLGUucHJldj1uLHQubGFzdD1lKX1mdW5jdGlvbiBycihlLHQpe3ZhciBuPUk7biE9PW51bGwmJm4uZiY4MTkyJiYoZXw9dWUpO3ZhciByPXtjdHg6RSxkZXBzOm51bGwsbm9kZXM6bnVsbCxmOmV8Y2V8NTEyLGZpcnN0Om51bGwsZm46dCxsYXN0Om51bGwsbmV4dDpudWxsLHBhcmVudDpuLGI6biYmbi5iLHByZXY6bnVsbCx0ZWFyZG93bjpudWxsLHd2OjAsYWM6bnVsbH07aj8ucmVnaXN0ZXJfY3JlYXRlZF9lZmZlY3Qocik7dmFyIGk9cjtpZihlJjQpVnQ9PT1udWxsP0d0LmVuc3VyZSgpLnNjaGVkdWxlKHIpOlZ0LnB1c2gocik7ZWxzZSBpZih0IT09bnVsbCl7dHJ5e1lyKHIpfWNhdGNoKGUpe3Rocm93IFAociksZX1pLmRlcHM9PT1udWxsJiZpLnRlYXJkb3duPT09bnVsbCYmaS5ub2Rlcz09PW51bGwmJmkuZmlyc3Q9PT1pLmxhc3QmJiEoaS5mJjUyNDI4OCkmJihpPWkuZmlyc3QsZSYxNiYmZSY2NTUzNiYmaSE9PW51bGwmJihpLmZ8PW1lKSl9aWYoaSE9PW51bGwmJihpLnBhcmVudD1uLG4hPT1udWxsJiZucihpLG4pLEYhPT1udWxsJiZGLmYmMiYmIShlJjY0KSkpe3ZhciBhPUY7KGEuZWZmZWN0cz8/PVtdKS5wdXNoKGkpfXJldHVybiByfWZ1bmN0aW9uIGlyKCl7cmV0dXJuIEYhPT1udWxsJiYhanJ9ZnVuY3Rpb24gYXIoZSl7bGV0IHQ9cnIoOCxudWxsKTtyZXR1cm4gRCh0LHNlKSx0LnRlYXJkb3duPWUsdH1mdW5jdGlvbiBvcihlKXt0cihgJGVmZmVjdGApO3ZhciB0PUkuZjtpZighRiYmdCYzMiYmISh0JjMyNzY4KSl7dmFyIG49RTsobi5lPz89W10pLnB1c2goZSl9ZWxzZSByZXR1cm4gc3IoZSl9ZnVuY3Rpb24gc3IoZSl7cmV0dXJuIHJyKDR8Z2UsZSl9ZnVuY3Rpb24gY3IoZSl7cmV0dXJuIHRyKGAkZWZmZWN0LnByZWApLHJyKDh8Z2UsZSl9ZnVuY3Rpb24gbHIoZSl7R3QuZW5zdXJlKCk7bGV0IHQ9cnIoNjR8aGUsZSk7cmV0dXJuKGU9e30pPT5uZXcgUHJvbWlzZShuPT57ZS5vdXRybz9Tcih0LCgpPT57UCh0KSxuKHZvaWQgMCl9KTooUCh0KSxuKHZvaWQgMCkpfSl9ZnVuY3Rpb24gdXIoZSl7cmV0dXJuIHJyKDQsZSl9ZnVuY3Rpb24gZHIoZSl7cmV0dXJuIHJyKGJlfGhlLGUpfWZ1bmN0aW9uIGZyKGUsdD0wKXtyZXR1cm4gcnIoOHx0LGUpfWZ1bmN0aW9uIHByKGUsdD1bXSxuPVtdLHI9W10pe29uKHIsdCxuLHQ9Pntycig4LCgpPT5lKC4uLnQubWFwKFIpKSl9KX1mdW5jdGlvbiBtcihlLHQ9MCl7cmV0dXJuIHJyKDE2fHQsZSl9ZnVuY3Rpb24gaHIoZSx0PTApe3JldHVybiBycihvZXx0LGUpfWZ1bmN0aW9uIGdyKGUpe3JldHVybiBycigzMnxoZSxlKX1mdW5jdGlvbiBfcihlKXt2YXIgdD1lLnRlYXJkb3duO2lmKHQhPT1udWxsKXtsZXQgZT1rcixuPUY7QXIoITApLE1yKG51bGwpO3RyeXt0LmNhbGwobnVsbCl9ZmluYWxseXtBcihlKSxNcihuKX19fWZ1bmN0aW9uIHZyKGUsdD0hMSl7dmFyIG49ZS5maXJzdDtmb3IoZS5maXJzdD1lLmxhc3Q9bnVsbDtuIT09bnVsbDspe2xldCBlPW4uYWM7ZSE9PW51bGwmJiRuKCgpPT57ZS5hYm9ydChUZSl9KTt2YXIgcj1uLm5leHQ7bi5mJjY0P24ucGFyZW50PW51bGw6UChuLHQpLG49cn19ZnVuY3Rpb24geXIoZSl7Zm9yKHZhciB0PWUuZmlyc3Q7dCE9PW51bGw7KXt2YXIgbj10Lm5leHQ7dC5mJjMyfHxQKHQpLHQ9bn19ZnVuY3Rpb24gUChlLHQ9ITApe3ZhciBuPSExOyh0fHxlLmYmMjYyMTQ0KSYmZS5ub2RlcyE9PW51bGwmJmUubm9kZXMuZW5kIT09bnVsbCYmKGJyKGUubm9kZXMuc3RhcnQsZS5ub2Rlcy5lbmQpLG49ITApLEQoZSxwZSksdnIoZSx0JiYhbiksSnIoZSwwKTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpZS5zdG9wKCk7X3IoZSksZS5mXj1wZSxlLmZ8PWRlO3ZhciBpPWUucGFyZW50O2khPT1udWxsJiZpLmZpcnN0IT09bnVsbCYmeHIoZSksZS5uZXh0PWUucHJldj1lLnRlYXJkb3duPWUuY3R4PWUuZGVwcz1lLmZuPWUubm9kZXM9ZS5hYz1lLmI9bnVsbH1mdW5jdGlvbiBicihlLHQpe2Zvcig7ZSE9PW51bGw7KXt2YXIgbj1lPT09dD9udWxsOkJuKGUpO2UucmVtb3ZlKCksZT1ufX1mdW5jdGlvbiB4cihlKXt2YXIgdD1lLnBhcmVudCxuPWUucHJldixyPWUubmV4dDtuIT09bnVsbCYmKG4ubmV4dD1yKSxyIT09bnVsbCYmKHIucHJldj1uKSx0IT09bnVsbCYmKHQuZmlyc3Q9PT1lJiYodC5maXJzdD1yKSx0Lmxhc3Q9PT1lJiYodC5sYXN0PW4pKX1mdW5jdGlvbiBTcihlLHQsbj0hMCl7dmFyIHI9W107Q3IoZSxyLCEwKTt2YXIgaT0oKT0+e24mJlAoZSksdCYmdCgpfSxhPXIubGVuZ3RoO2lmKGE+MCl7dmFyIG89KCk9Pi0tYXx8aSgpO2Zvcih2YXIgcyBvZiByKXMub3V0KG8pfWVsc2UgaSgpfWZ1bmN0aW9uIENyKGUsdCxuKXtpZighKGUuZiY4MTkyKSl7ZS5mXj11ZTt2YXIgcj1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYociE9PW51bGwpZm9yKGxldCBlIG9mIHIpKGUuaXNfZ2xvYmFsfHxuKSYmdC5wdXNoKGUpO2Zvcih2YXIgaT1lLmZpcnN0O2khPT1udWxsOyl7dmFyIGE9aS5uZXh0O2lmKCEoaS5mJjY0KSl7dmFyIG89KGkuZiY2NTUzNikhPTB8fChpLmYmMzIpIT0wJiYoZS5mJjE2KSE9MDtDcihpLHQsbz9uOiExKX1pPWF9fX1mdW5jdGlvbiB3cihlKXtUcihlLCEwKX1mdW5jdGlvbiBUcihlLHQpe2lmKGUuZiY4MTkyKXtlLmZePXVlLGUuZiYxMDI0fHwoRChlLGNlKSxHdC5lbnN1cmUoKS5zY2hlZHVsZShlKSk7Zm9yKHZhciBuPWUuZmlyc3Q7biE9PW51bGw7KXt2YXIgcj1uLm5leHQsaT0obi5mJjY1NTM2KSE9MHx8KG4uZiYzMikhPTA7VHIobixpP3Q6ITEpLG49cn12YXIgYT1lLm5vZGVzJiZlLm5vZGVzLnQ7aWYoYSE9PW51bGwpZm9yKGxldCBlIG9mIGEpKGUuaXNfZ2xvYmFsfHx0KSYmZS5pbigpfX1mdW5jdGlvbiBFcihlLHQpe2lmKGUubm9kZXMpZm9yKHZhciBuPWUubm9kZXMuc3RhcnQscj1lLm5vZGVzLmVuZDtuIT09bnVsbDspe3ZhciBpPW49PT1yP251bGw6Qm4obik7dC5hcHBlbmQobiksbj1pfX12YXIgRHI9bnVsbCxPcj0hMSxrcj0hMTtmdW5jdGlvbiBBcihlKXtrcj1lfXZhciBGPW51bGwsanI9ITE7ZnVuY3Rpb24gTXIoZSl7Rj1lfXZhciBJPW51bGw7ZnVuY3Rpb24gTnIoZSl7ST1lfXZhciBQcj1udWxsO2Z1bmN0aW9uIEZyKGUpe0YhPT1udWxsJiYoIXJ0fHxGLmYmMikmJihQcj09PW51bGw/UHI9W2VdOlByLnB1c2goZSkpfXZhciBMPW51bGwsSXI9MCxMcj1udWxsO2Z1bmN0aW9uIFJyKGUpe0xyPWV9dmFyIHpyPTEsQnI9MCxWcj1CcjtmdW5jdGlvbiBIcihlKXtWcj1lfWZ1bmN0aW9uIFVyKCl7cmV0dXJuKyt6cn1mdW5jdGlvbiBXcihlKXt2YXIgdD1lLmY7aWYodCYyMDQ4KXJldHVybiEwO2lmKHQmMiYmKGUuZiY9fnZlKSx0JjQwOTYpe2Zvcih2YXIgbj1lLmRlcHMscj1uLmxlbmd0aCxpPTA7aTxyO2krKyl7dmFyIGE9bltpXTtpZihXcihhKSYmZ24oYSksYS53dj5lLnd2KXJldHVybiEwfXQmNTEyJiZNPT09bnVsbCYmRChlLHNlKX1yZXR1cm4hMX1mdW5jdGlvbiBHcihlLHQsbj0hMCl7dmFyIHI9ZS5yZWFjdGlvbnM7aWYociE9PW51bGwmJiEoIXJ0JiZQciE9PW51bGwmJm0uY2FsbChQcixlKSkpZm9yKHZhciBpPTA7aTxyLmxlbmd0aDtpKyspe3ZhciBhPXJbaV07YS5mJjI/R3IoYSx0LCExKTp0PT09YSYmKG4/RChhLGNlKTphLmYmMTAyNCYmRChhLGxlKSxRdChhKSl9fWZ1bmN0aW9uIEtyKGUpe3ZhciB0PUwsbj1JcixyPUxyLGk9RixhPVByLG89RSxzPWpyLGM9VnIsbD1lLmY7TD1udWxsLElyPTAsTHI9bnVsbCxGPWwmOTY/bnVsbDplLFByPW51bGwsb3QoZS5jdHgpLGpyPSExLFZyPSsrQnIsZS5hYyE9PW51bGwmJigkbigoKT0+e2UuYWMuYWJvcnQoVGUpfSksZS5hYz1udWxsKTt0cnl7ZS5mfD15ZTt2YXIgdT1lLmZuLGQ9dSgpO2UuZnw9ZmU7dmFyIGY9ZS5kZXBzLHA9aj8uaXNfZm9yaztpZihMIT09bnVsbCl7dmFyIG07aWYocHx8SnIoZSxJciksZiE9PW51bGwmJklyPjApZm9yKGYubGVuZ3RoPUlyK0wubGVuZ3RoLG09MDttPEwubGVuZ3RoO20rKylmW0lyK21dPUxbbV07ZWxzZSBlLmRlcHM9Zj1MO2lmKGlyKCkmJmUuZiY1MTIpZm9yKG09SXI7bTxmLmxlbmd0aDttKyspKGZbbV0ucmVhY3Rpb25zPz89W10pLnB1c2goZSl9ZWxzZSAhcCYmZiE9PW51bGwmJklyPGYubGVuZ3RoJiYoSnIoZSxJciksZi5sZW5ndGg9SXIpO2lmKGR0KCkmJkxyIT09bnVsbCYmIWpyJiZmIT09bnVsbCYmIShlLmYmNjE0NikpZm9yKG09MDttPExyLmxlbmd0aDttKyspR3IoTHJbbV0sZSk7aWYoaSE9PW51bGwmJmkhPT1lKXtpZihCcisrLGkuZGVwcyE9PW51bGwpZm9yKGxldCBlPTA7ZTxuO2UrPTEpaS5kZXBzW2VdLnJ2PUJyO2lmKHQhPT1udWxsKWZvcihsZXQgZSBvZiB0KWUucnY9QnI7THIhPT1udWxsJiYocj09PW51bGw/cj1McjpyLnB1c2goLi4uTHIpKX1yZXR1cm4gZS5mJjgzODg2MDgmJihlLmZePXhlKSxkfWNhdGNoKGUpe3JldHVybiB2dChlKX1maW5hbGx5e2UuZl49eWUsTD10LElyPW4sTHI9cixGPWksUHI9YSxvdChvKSxqcj1zLFZyPWN9fWZ1bmN0aW9uIHFyKGUsdCl7bGV0IG49dC5yZWFjdGlvbnM7aWYobiE9PW51bGwpe3ZhciByPXAuY2FsbChuLGUpO2lmKHIhPT0tMSl7dmFyIGk9bi5sZW5ndGgtMTtpPT09MD9uPXQucmVhY3Rpb25zPW51bGw6KG5bcl09bltpXSxuLnBvcCgpKX19aWYobj09PW51bGwmJnQuZiYyJiYoTD09PW51bGx8fCFtLmNhbGwoTCx0KSkpe3ZhciBhPXQ7YS5mJjUxMiYmKGEuZl49NTEyLGEuZiY9fnZlKSxhLnYhPT1TJiZ4dChhKSxfbihhKSxKcihhLDApfX1mdW5jdGlvbiBKcihlLHQpe3ZhciBuPWUuZGVwcztpZihuIT09bnVsbClmb3IodmFyIHI9dDtyPG4ubGVuZ3RoO3IrKylxcihlLG5bcl0pfWZ1bmN0aW9uIFlyKGUpe3ZhciB0PWUuZjtpZighKHQmMTYzODQpKXtEKGUsc2UpO3ZhciBuPUkscj1PcjtJPWUsT3I9ITA7dHJ5e3QmMTY3NzcyMzI/eXIoZSk6dnIoZSksX3IoZSk7dmFyIGk9S3IoZSk7ZS50ZWFyZG93bj10eXBlb2YgaT09YGZ1bmN0aW9uYD9pOm51bGwsZS53dj16cn1maW5hbGx5e09yPXIsST1ufX19YXN5bmMgZnVuY3Rpb24gWHIoKXtpZihydClyZXR1cm4gbmV3IFByb21pc2UoZT0+e3JlcXVlc3RBbmltYXRpb25GcmFtZSgoKT0+ZSgpKSxzZXRUaW1lb3V0KCgpPT5lKCkpfSk7YXdhaXQgUHJvbWlzZS5yZXNvbHZlKCksS3QoKX1mdW5jdGlvbiBSKGUpe3ZhciB0PShlLmYmMikhPTA7aWYoRHI/LmFkZChlKSxGIT09bnVsbCYmIWpyJiYhKEkhPT1udWxsJiZJLmYmMTYzODQpJiYoUHI9PT1udWxsfHwhbS5jYWxsKFByLGUpKSl7dmFyIG49Ri5kZXBzO2lmKEYuZiYyMDk3MTUyKWUucnY8QnImJihlLnJ2PUJyLEw9PT1udWxsJiZuIT09bnVsbCYmbltJcl09PT1lP0lyKys6TD09PW51bGw/TD1bZV06TC5wdXNoKGUpKTtlbHNleyhGLmRlcHM/Pz1bXSkucHVzaChlKTt2YXIgcj1lLnJlYWN0aW9ucztyPT09bnVsbD9lLnJlYWN0aW9ucz1bRl06bS5jYWxsKHIsRil8fHIucHVzaChGKX19aWYoa3ImJmJuLmhhcyhlKSlyZXR1cm4gYm4uZ2V0KGUpO2lmKHQpe3ZhciBpPWU7aWYoa3Ipe3ZhciBhPWkudjtyZXR1cm4oIShpLmYmMTAyNCkmJmkucmVhY3Rpb25zIT09bnVsbHx8UXIoaSkpJiYoYT1obihpKSksYm4uc2V0KGksYSksYX12YXIgbz0oaS5mJjUxMik9PTAmJiFqciYmRiE9PW51bGwmJihPcnx8KEYuZiY1MTIpIT0wKSxzPShpLmYmZmUpPT09MDtXcihpKSYmKG8mJihpLmZ8PTUxMiksZ24oaSkpLG8mJiFzJiYodm4oaSksWnIoaSkpfWlmKE0/LmhhcyhlKSlyZXR1cm4gTS5nZXQoZSk7aWYoZS5mJjgzODg2MDgpdGhyb3cgZS52O3JldHVybiBlLnZ9ZnVuY3Rpb24gWnIoZSl7aWYoZS5mfD01MTIsZS5kZXBzIT09bnVsbClmb3IobGV0IHQgb2YgZS5kZXBzKSh0LnJlYWN0aW9ucz8/PVtdKS5wdXNoKGUpLHQuZiYyJiYhKHQuZiY1MTIpJiYodm4odCksWnIodCkpfWZ1bmN0aW9uIFFyKGUpe2lmKGUudj09PVMpcmV0dXJuITA7aWYoZS5kZXBzPT09bnVsbClyZXR1cm4hMTtmb3IobGV0IHQgb2YgZS5kZXBzKWlmKGJuLmhhcyh0KXx8dC5mJjImJlFyKHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uICRyKGUpe3ZhciB0PWpyO3RyeXtyZXR1cm4ganI9ITAsZSgpfWZpbmFsbHl7anI9dH19ZnVuY3Rpb24gZWkoZSl7aWYoISh0eXBlb2YgZSE9YG9iamVjdGB8fCFlfHxlIGluc3RhbmNlb2YgRXZlbnRUYXJnZXQpKXtpZihTZSBpbiBlKXRpKGUpO2Vsc2UgaWYoIUFycmF5LmlzQXJyYXkoZSkpZm9yKGxldCB0IGluIGUpe2xldCBuPWVbdF07dHlwZW9mIG49PWBvYmplY3RgJiZuJiZTZSBpbiBuJiZ0aShuKX19fWZ1bmN0aW9uIHRpKGUsdD1uZXcgU2V0KXtpZih0eXBlb2YgZT09YG9iamVjdGAmJmUmJiEoZSBpbnN0YW5jZW9mIEV2ZW50VGFyZ2V0KSYmIXQuaGFzKGUpKXt0LmFkZChlKSxlIGluc3RhbmNlb2YgRGF0ZSYmZS5nZXRUaW1lKCk7Zm9yKGxldCBuIGluIGUpdHJ5e3RpKGVbbl0sdCl9Y2F0Y2h7fWxldCBuPWIoZSk7aWYobiE9PU9iamVjdC5wcm90b3R5cGUmJm4hPT1BcnJheS5wcm90b3R5cGUmJm4hPT1NYXAucHJvdG90eXBlJiZuIT09U2V0LnByb3RvdHlwZSYmbiE9PURhdGUucHJvdG90eXBlKXtsZXQgdD12KG4pO2ZvcihsZXQgbiBpbiB0KXtsZXQgcj10W25dLmdldDtpZihyKXRyeXtyLmNhbGwoZSl9Y2F0Y2h7fX19fX1mdW5jdGlvbiBuaShlKXtyZXR1cm4gZS5lbmRzV2l0aChgY2FwdHVyZWApJiZlIT09YGdvdHBvaW50ZXJjYXB0dXJlYCYmZSE9PWBsb3N0cG9pbnRlcmNhcHR1cmVgfXZhciByaT1bYGJlZm9yZWlucHV0YCxgY2xpY2tgLGBjaGFuZ2VgLGBkYmxjbGlja2AsYGNvbnRleHRtZW51YCxgZm9jdXNpbmAsYGZvY3Vzb3V0YCxgaW5wdXRgLGBrZXlkb3duYCxga2V5dXBgLGBtb3VzZWRvd25gLGBtb3VzZW1vdmVgLGBtb3VzZW91dGAsYG1vdXNlb3ZlcmAsYG1vdXNldXBgLGBwb2ludGVyZG93bmAsYHBvaW50ZXJtb3ZlYCxgcG9pbnRlcm91dGAsYHBvaW50ZXJvdmVyYCxgcG9pbnRlcnVwYCxgdG91Y2hlbmRgLGB0b3VjaG1vdmVgLGB0b3VjaHN0YXJ0YF07ZnVuY3Rpb24gaWkoZSl7cmV0dXJuIHJpLmluY2x1ZGVzKGUpfXZhciBhaT1gYWxsb3dmdWxsc2NyZWVuLmFzeW5jLmF1dG9mb2N1cy5hdXRvcGxheS5jaGVja2VkLmNvbnRyb2xzLmRlZmF1bHQuZGlzYWJsZWQuZm9ybW5vdmFsaWRhdGUuaW5kZXRlcm1pbmF0ZS5pbmVydC5pc21hcC5sb29wLm11bHRpcGxlLm11dGVkLm5vbW9kdWxlLm5vdmFsaWRhdGUub3Blbi5wbGF5c2lubGluZS5yZWFkb25seS5yZXF1aXJlZC5yZXZlcnNlZC5zZWFtbGVzcy5zZWxlY3RlZC53ZWJraXRkaXJlY3RvcnkuZGVmZXIuZGlzYWJsZXBpY3R1cmVpbnBpY3R1cmUuZGlzYWJsZXJlbW90ZXBsYXliYWNrYC5zcGxpdChgLmApLG9pPXtmb3Jtbm92YWxpZGF0ZTpgZm9ybU5vVmFsaWRhdGVgLGlzbWFwOmBpc01hcGAsbm9tb2R1bGU6YG5vTW9kdWxlYCxwbGF5c2lubGluZTpgcGxheXNJbmxpbmVgLHJlYWRvbmx5OmByZWFkT25seWAsZGVmYXVsdHZhbHVlOmBkZWZhdWx0VmFsdWVgLGRlZmF1bHRjaGVja2VkOmBkZWZhdWx0Q2hlY2tlZGAsc3Jjb2JqZWN0OmBzcmNPYmplY3RgLG5vdmFsaWRhdGU6YG5vVmFsaWRhdGVgLGFsbG93ZnVsbHNjcmVlbjpgYWxsb3dGdWxsc2NyZWVuYCxkaXNhYmxlcGljdHVyZWlucGljdHVyZTpgZGlzYWJsZVBpY3R1cmVJblBpY3R1cmVgLGRpc2FibGVyZW1vdGVwbGF5YmFjazpgZGlzYWJsZVJlbW90ZVBsYXliYWNrYH07ZnVuY3Rpb24gc2koZSl7cmV0dXJuIGU9ZS50b0xvd2VyQ2FzZSgpLG9pW2VdPz9lfVsuLi5haV07dmFyIGNpPVtgdG91Y2hzdGFydGAsYHRvdWNobW92ZWBdO2Z1bmN0aW9uIGxpKGUpe3JldHVybiBjaS5pbmNsdWRlcyhlKX12YXIgdWk9U3ltYm9sKGBldmVudHNgKSxkaT1uZXcgU2V0LGZpPW5ldyBTZXQ7ZnVuY3Rpb24gcGkoZSl7aWYoIUMpcmV0dXJuO2UucmVtb3ZlQXR0cmlidXRlKGBvbmxvYWRgKSxlLnJlbW92ZUF0dHJpYnV0ZShgb25lcnJvcmApO2xldCB0PWUuX19lO3QhPT12b2lkIDAmJihlLl9fZT12b2lkIDAscXVldWVNaWNyb3Rhc2soKCk9PntlLmlzQ29ubmVjdGVkJiZlLmRpc3BhdGNoRXZlbnQodCl9KSl9ZnVuY3Rpb24gbWkoZSx0LG4scj17fSl7ZnVuY3Rpb24gaShlKXtpZihyLmNhcHR1cmV8fHlpLmNhbGwodCxlKSwhZS5jYW5jZWxCdWJibGUpcmV0dXJuICRuKCgpPT5uPy5jYWxsKHRoaXMsZSkpfXJldHVybiBlLnN0YXJ0c1dpdGgoYHBvaW50ZXJgKXx8ZS5zdGFydHNXaXRoKGB0b3VjaGApfHxlPT09YHdoZWVsYD9ndCgoKT0+e3QuYWRkRXZlbnRMaXN0ZW5lcihlLGkscil9KTp0LmFkZEV2ZW50TGlzdGVuZXIoZSxpLHIpLGl9ZnVuY3Rpb24gaGkoZSx0LG4scixpKXt2YXIgYT17Y2FwdHVyZTpyLHBhc3NpdmU6aX0sbz1taShlLHQsbixhKTsodD09PWRvY3VtZW50LmJvZHl8fHQ9PT13aW5kb3d8fHQ9PT1kb2N1bWVudHx8dCBpbnN0YW5jZW9mIEhUTUxNZWRpYUVsZW1lbnQpJiZhcigoKT0+e3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLG8sYSl9KX1mdW5jdGlvbiBnaShlLHQsbil7KHRbdWldPz89e30pW2VdPW59ZnVuY3Rpb24gX2koZSl7Zm9yKHZhciB0PTA7dDxlLmxlbmd0aDt0KyspZGkuYWRkKGVbdF0pO2Zvcih2YXIgbiBvZiBmaSluKGUpfXZhciB2aT1udWxsO2Z1bmN0aW9uIHlpKGUpe3ZhciB0PXRoaXMsbj10Lm93bmVyRG9jdW1lbnQscj1lLnR5cGUsaT1lLmNvbXBvc2VkUGF0aD8uKCl8fFtdLGE9aVswXXx8ZS50YXJnZXQ7dmk9ZTt2YXIgbz0wLHM9dmk9PT1lJiZlW3VpXTtpZihzKXt2YXIgYz1pLmluZGV4T2Yocyk7aWYoYyE9PS0xJiYodD09PWRvY3VtZW50fHx0PT09d2luZG93KSl7ZVt1aV09dDtyZXR1cm59dmFyIGw9aS5pbmRleE9mKHQpO2lmKGw9PT0tMSlyZXR1cm47Yzw9bCYmKG89Yyl9aWYoYT1pW29dfHxlLnRhcmdldCxhIT09dCl7ZyhlLGBjdXJyZW50VGFyZ2V0YCx7Y29uZmlndXJhYmxlOiEwLGdldCgpe3JldHVybiBhfHxufX0pO3ZhciB1PUYsZD1JO01yKG51bGwpLE5yKG51bGwpO3RyeXtmb3IodmFyIGYscD1bXTthIT09bnVsbDspe3ZhciBtPWEuYXNzaWduZWRTbG90fHxhLnBhcmVudE5vZGV8fGEuaG9zdHx8bnVsbDt0cnl7dmFyIGg9YVt1aV0/LltyXTtoIT1udWxsJiYoIWEuZGlzYWJsZWR8fGUudGFyZ2V0PT09YSkmJmguY2FsbChhLGUpfWNhdGNoKGUpe2Y/cC5wdXNoKGUpOmY9ZX1pZihlLmNhbmNlbEJ1YmJsZXx8bT09PXR8fG09PT1udWxsKWJyZWFrO2E9bX1pZihmKXtmb3IobGV0IGUgb2YgcClxdWV1ZU1pY3JvdGFzaygoKT0+e3Rocm93IGV9KTt0aHJvdyBmfX1maW5hbGx5e2VbdWldPXQsZGVsZXRlIGUuY3VycmVudFRhcmdldCxNcih1KSxOcihkKX19fXZhciBiaT1nbG9iYWxUaGlzPy53aW5kb3c/LnRydXN0ZWRUeXBlcyYmZ2xvYmFsVGhpcy53aW5kb3cudHJ1c3RlZFR5cGVzLmNyZWF0ZVBvbGljeShgc3ZlbHRlLXRydXN0ZWQtaHRtbGAse2NyZWF0ZUhUTUw6ZT0+ZX0pO2Z1bmN0aW9uIHhpKGUpe3JldHVybiBiaT8uY3JlYXRlSFRNTChlKT8/ZX1mdW5jdGlvbiBTaShlKXt2YXIgdD1LbihgdGVtcGxhdGVgKTtyZXR1cm4gdC5pbm5lckhUTUw9eGkoZS5yZXBsYWNlQWxsKGA8IT5gLGA8IS0tLS0+YCkpLHQuY29udGVudH1mdW5jdGlvbiBDaShlLHQpe3ZhciBuPUk7bi5ub2Rlcz09PW51bGwmJihuLm5vZGVzPXtzdGFydDplLGVuZDp0LGE6bnVsbCx0Om51bGx9KX1mdW5jdGlvbiB3aShlLHQpe3ZhciBuPSh0JjEpIT0wLHI9KHQmMikhPTAsaSxhPSFlLnN0YXJ0c1dpdGgoYDwhPmApO3JldHVybigpPT57aWYoQylyZXR1cm4gQ2kodyxudWxsKSx3O2k9PT12b2lkIDAmJihpPVNpKGE/ZTpgPCE+YCtlKSxufHwoaT1OKGkpKSk7dmFyIHQ9cnx8Rm4/ZG9jdW1lbnQuaW1wb3J0Tm9kZShpLCEwKTppLmNsb25lTm9kZSghMCk7aWYobil7dmFyIG89Tih0KSxzPXQubGFzdENoaWxkO0NpKG8scyl9ZWxzZSBDaSh0LHQpO3JldHVybiB0fX1mdW5jdGlvbiBUaShlLHQsbj1gc3ZnYCl7dmFyIHI9IWUuc3RhcnRzV2l0aChgPCE+YCksaT0odCYxKSE9MCxhPWA8JHtufT4ke3I/ZTpgPCE+YCtlfTwvJHtufT5gLG87cmV0dXJuKCk9PntpZihDKXJldHVybiBDaSh3LG51bGwpLHc7aWYoIW8pe3ZhciBlPU4oU2koYSkpO2lmKGkpZm9yKG89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO04oZSk7KW8uYXBwZW5kQ2hpbGQoTihlKSk7ZWxzZSBvPU4oZSl9dmFyIHQ9by5jbG9uZU5vZGUoITApO2lmKGkpe3ZhciBuPU4odCkscj10Lmxhc3RDaGlsZDtDaShuLHIpfWVsc2UgQ2kodCx0KTtyZXR1cm4gdH19ZnVuY3Rpb24gRWkoZSx0KXtyZXR1cm4gVGkoZSx0LGBzdmdgKX1mdW5jdGlvbiBEaShlPWBgKXtpZighQyl7dmFyIHQ9em4oZStgYCk7cmV0dXJuIENpKHQsdCksdH12YXIgbj13O3JldHVybiBuLm5vZGVUeXBlPT09Mz9KbihuKToobi5iZWZvcmUobj16bigpKSxUKG4pKSxDaShuLG4pLG59ZnVuY3Rpb24gT2koKXtpZihDKXJldHVybiBDaSh3LG51bGwpLHc7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLHQ9ZG9jdW1lbnQuY3JlYXRlQ29tbWVudChgYCksbj16bigpO3JldHVybiBlLmFwcGVuZCh0LG4pLENpKHQsbiksZX1mdW5jdGlvbiBraShlLHQpe2lmKEMpe3ZhciBuPUk7KCEobi5mJjMyNzY4KXx8bi5ub2Rlcy5lbmQ9PT1udWxsKSYmKG4ubm9kZXMuZW5kPXcpLFllKCk7cmV0dXJufWUhPT1udWxsJiZlLmJlZm9yZSh0KX12YXIgQWk9ITA7ZnVuY3Rpb24gamkoZSx0KXt2YXIgbj10PT1udWxsP2BgOnR5cGVvZiB0PT1gb2JqZWN0YD9gJHt0fWA6dDtuIT09KGUuX190Pz89ZS5ub2RlVmFsdWUpJiYoZS5fX3Q9bixlLm5vZGVWYWx1ZT1gJHtufWApfWZ1bmN0aW9uIE1pKGUsdCl7cmV0dXJuIFBpKGUsdCl9dmFyIE5pPW5ldyBNYXA7ZnVuY3Rpb24gUGkoZSx7dGFyZ2V0OnQsYW5jaG9yOm4scHJvcHM6cj17fSxldmVudHM6aSxjb250ZXh0OmEsaW50cm86bz0hMCx0cmFuc2Zvcm1FcnJvcjpzfSl7Um4oKTt2YXIgYz12b2lkIDAsbD1scigoKT0+e3ZhciBsPW4/P3QuYXBwZW5kQ2hpbGQoem4oKSk7cm4obCx7cGVuZGluZzooKT0+e319LHQ9PntsdCh7fSk7dmFyIG49RTtpZihhJiYobi5jPWEpLGkmJihyLiQkZXZlbnRzPWkpLEMmJkNpKHQsbnVsbCksQWk9byxjPWUodCxyKXx8e30sQWk9ITAsQyYmKEkubm9kZXMuZW5kPXcsdz09PW51bGx8fHcubm9kZVR5cGUhPT04fHx3LmRhdGEhPT1gXWApKXRocm93IEdlKCksQmU7dXQoKX0scyk7dmFyIHU9bmV3IFNldCxkPWU9Pntmb3IodmFyIG49MDtuPGUubGVuZ3RoO24rKyl7dmFyIHI9ZVtuXTtpZighdS5oYXMocikpe3UuYWRkKHIpO3ZhciBpPWxpKHIpO2ZvcihsZXQgZSBvZlt0LGRvY3VtZW50XSl7dmFyIGE9TmkuZ2V0KGUpO2E9PT12b2lkIDAmJihhPW5ldyBNYXAsTmkuc2V0KGUsYSkpO3ZhciBvPWEuZ2V0KHIpO289PT12b2lkIDA/KGUuYWRkRXZlbnRMaXN0ZW5lcihyLHlpLHtwYXNzaXZlOml9KSxhLnNldChyLDEpKTphLnNldChyLG8rMSl9fX19O3JldHVybiBkKGgoZGkpKSxmaS5hZGQoZCksKCk9Pntmb3IodmFyIGUgb2YgdSlmb3IobGV0IG4gb2ZbdCxkb2N1bWVudF0pe3ZhciByPU5pLmdldChuKSxpPXIuZ2V0KGUpOy0taT09MD8obi5yZW1vdmVFdmVudExpc3RlbmVyKGUseWkpLHIuZGVsZXRlKGUpLHIuc2l6ZT09PTAmJk5pLmRlbGV0ZShuKSk6ci5zZXQoZSxpKX1maS5kZWxldGUoZCksbCE9PW4mJmwucGFyZW50Tm9kZT8ucmVtb3ZlQ2hpbGQobCl9fSk7cmV0dXJuIEZpLnNldChjLGwpLGN9dmFyIEZpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIElpKGUsdCl7bGV0IG49RmkuZ2V0KGUpO3JldHVybiBuPyhGaS5kZWxldGUoZSksbih0KSk6UHJvbWlzZS5yZXNvbHZlKCl9dmFyIExpPWNsYXNze2FuY2hvcjsjZT1uZXcgTWFwOyN0PW5ldyBNYXA7I249bmV3IE1hcDsjcj1uZXcgU2V0OyNpPSEwO2NvbnN0cnVjdG9yKGUsdD0hMCl7dGhpcy5hbmNob3I9ZSx0aGlzLiNpPXR9I2E9ZT0+e2lmKHRoaXMuI2UuaGFzKGUpKXt2YXIgdD10aGlzLiNlLmdldChlKSxuPXRoaXMuI3QuZ2V0KHQpO2lmKG4pd3IobiksdGhpcy4jci5kZWxldGUodCk7ZWxzZXt2YXIgcj10aGlzLiNuLmdldCh0KTtyJiYodGhpcy4jdC5zZXQodCxyLmVmZmVjdCksdGhpcy4jbi5kZWxldGUodCksci5mcmFnbWVudC5sYXN0Q2hpbGQucmVtb3ZlKCksdGhpcy5hbmNob3IuYmVmb3JlKHIuZnJhZ21lbnQpLG49ci5lZmZlY3QpfWZvcihsZXRbdCxuXW9mIHRoaXMuI2Upe2lmKHRoaXMuI2UuZGVsZXRlKHQpLHQ9PT1lKWJyZWFrO2xldCByPXRoaXMuI24uZ2V0KG4pO3ImJihQKHIuZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShuKSl9Zm9yKGxldFtlLHJdb2YgdGhpcy4jdCl7aWYoZT09PXR8fHRoaXMuI3IuaGFzKGUpKWNvbnRpbnVlO2xldCBpPSgpPT57aWYoQXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKS5pbmNsdWRlcyhlKSl7dmFyIHQ9ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO0VyKHIsdCksdC5hcHBlbmQoem4oKSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OnIsZnJhZ21lbnQ6dH0pfWVsc2UgUChyKTt0aGlzLiNyLmRlbGV0ZShlKSx0aGlzLiN0LmRlbGV0ZShlKX07dGhpcy4jaXx8IW4/KHRoaXMuI3IuYWRkKGUpLFNyKHIsaSwhMSkpOmkoKX19fTsjbz1lPT57dGhpcy4jZS5kZWxldGUoZSk7bGV0IHQ9QXJyYXkuZnJvbSh0aGlzLiNlLnZhbHVlcygpKTtmb3IobGV0W2Usbl1vZiB0aGlzLiNuKXQuaW5jbHVkZXMoZSl8fChQKG4uZWZmZWN0KSx0aGlzLiNuLmRlbGV0ZShlKSl9O2Vuc3VyZShlLHQpe3ZhciBuPWoscj1HbigpO2lmKHQmJiF0aGlzLiN0LmhhcyhlKSYmIXRoaXMuI24uaGFzKGUpKWlmKHIpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxhPXpuKCk7aS5hcHBlbmQoYSksdGhpcy4jbi5zZXQoZSx7ZWZmZWN0OmdyKCgpPT50KGEpKSxmcmFnbWVudDppfSl9ZWxzZSB0aGlzLiN0LnNldChlLGdyKCgpPT50KHRoaXMuYW5jaG9yKSkpO2lmKHRoaXMuI2Uuc2V0KG4sZSkscil7Zm9yKGxldFt0LHJdb2YgdGhpcy4jdCl0PT09ZT9uLnVuc2tpcF9lZmZlY3Qocik6bi5za2lwX2VmZmVjdChyKTtmb3IobGV0W3Qscl1vZiB0aGlzLiNuKXQ9PT1lP24udW5za2lwX2VmZmVjdChyLmVmZmVjdCk6bi5za2lwX2VmZmVjdChyLmVmZmVjdCk7bi5vbmNvbW1pdCh0aGlzLiNhKSxuLm9uZGlzY2FyZCh0aGlzLiNvKX1lbHNlIEMmJih0aGlzLmFuY2hvcj13KSx0aGlzLiNhKG4pfX07ZnVuY3Rpb24gUmkoZSx0LG49ITEpe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpLGE9bj9tZTowO2Z1bmN0aW9uIG8oZSx0KXtpZihDKXt2YXIgbj0kZShyKTtpZihlIT09cGFyc2VJbnQobi5zdWJzdHJpbmcoMSkpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSx0KSxKZSghMCk7cmV0dXJufX1pLmVuc3VyZShlLHQpfW1yKCgpPT57dmFyIGU9ITE7dCgodCxuPTApPT57ZT0hMCxvKG4sdCl9KSxlfHxvKC0xLG51bGwpfSxhKX12YXIgemk9U3ltYm9sKGBOYU5gKTtmdW5jdGlvbiBCaShlLHQsbil7QyYmWWUoKTt2YXIgcj1uZXcgTGkoZSksaT0hZHQoKTttcigoKT0+e3ZhciBlPXQoKTtlIT09ZSYmKGU9emkpLGkmJnR5cGVvZiBlPT1gb2JqZWN0YCYmZSYmKGU9e30pLHIuZW5zdXJlKGUsbil9KX1mdW5jdGlvbiBWaShlLHQpe3JldHVybiB0fWZ1bmN0aW9uIEhpKGUsdCxuKXtmb3IodmFyIHI9W10saT10Lmxlbmd0aCxhLG89dC5sZW5ndGgscz0wO3M8aTtzKyspe2xldCBuPXRbc107U3IobiwoKT0+e2lmKGEpe2lmKGEucGVuZGluZy5kZWxldGUobiksYS5kb25lLmFkZChuKSxhLnBlbmRpbmcuc2l6ZT09PTApe3ZhciB0PWUub3V0cm9ncm91cHM7VWkoZSxoKGEuZG9uZSkpLHQuZGVsZXRlKGEpLHQuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfX1lbHNlIC0tb30sITEpfWlmKG89PT0wKXt2YXIgYz1yLmxlbmd0aD09PTAmJm4hPT1udWxsO2lmKGMpe3ZhciBsPW4sdT1sLnBhcmVudE5vZGU7V24odSksdS5hcHBlbmQobCksZS5pdGVtcy5jbGVhcigpfVVpKGUsdCwhYyl9ZWxzZSBhPXtwZW5kaW5nOm5ldyBTZXQodCksZG9uZTpuZXcgU2V0fSwoZS5vdXRyb2dyb3Vwcz8/PW5ldyBTZXQpLmFkZChhKX1mdW5jdGlvbiBVaShlLHQsbj0hMCl7dmFyIHI7aWYoZS5wZW5kaW5nLnNpemU+MCl7cj1uZXcgU2V0O2ZvcihsZXQgdCBvZiBlLnBlbmRpbmcudmFsdWVzKCkpZm9yKGxldCBuIG9mIHQpci5hZGQoZS5pdGVtcy5nZXQobikuZSl9Zm9yKHZhciBpPTA7aTx0Lmxlbmd0aDtpKyspe3ZhciBhPXRbaV07cj8uaGFzKGEpPyhhLmZ8PV9lLEVyKGEsZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpKSk6UCh0W2ldLG4pfX12YXIgV2k7ZnVuY3Rpb24gR2koZSx0LG4scixpLGE9bnVsbCl7dmFyIG89ZSxzPW5ldyBNYXA7aWYodCY0KXt2YXIgYz1lO289Qz9UKE4oYykpOmMuYXBwZW5kQ2hpbGQoem4oKSl9QyYmWWUoKTt2YXIgbD1udWxsLHU9cG4oKCk9Pnt2YXIgZT1uKCk7cmV0dXJuIGYoZSk/ZTplPT1udWxsP1tdOmgoZSl9KSxkLHA9bmV3IE1hcCxtPSEwO2Z1bmN0aW9uIGcoZSl7di5lZmZlY3QuZiYxNjM4NHx8KHYucGVuZGluZy5kZWxldGUoZSksdi5mYWxsYmFjaz1sLHFpKHYsZCxvLHQsciksbCE9PW51bGwmJihkLmxlbmd0aD09PTA/bC5mJjMzNTU0NDMyPyhsLmZePV9lLFlpKGwsbnVsbCxvKSk6d3IobCk6U3IobCwoKT0+e2w9bnVsbH0pKSl9ZnVuY3Rpb24gXyhlKXt2LnBlbmRpbmcuZGVsZXRlKGUpfXZhciB2PXtlZmZlY3Q6bXIoKCk9PntkPVIodSk7dmFyIGU9ZC5sZW5ndGg7bGV0IGM9ITE7QyYmJGUobyk9PT1gWyFgIT0oZT09PTApJiYobz1RZSgpLFQobyksSmUoITEpLGM9ITApO2Zvcih2YXIgZj1uZXcgU2V0LGg9aix2PUduKCkseT0wO3k8ZTt5Kz0xKXtDJiZ3Lm5vZGVUeXBlPT09OCYmdy5kYXRhPT09YF1gJiYobz13LGM9ITAsSmUoITEpKTt2YXIgZWU9ZFt5XSxiPXIoZWUseSksdGU9bT9udWxsOnMuZ2V0KGIpO3RlPyh0ZS52JiZFbih0ZS52LGVlKSx0ZS5pJiZFbih0ZS5pLHkpLHYmJmgudW5za2lwX2VmZmVjdCh0ZS5lKSk6KHRlPUppKHMsbT9vOldpPz89em4oKSxlZSxiLHksaSx0LG4pLG18fCh0ZS5lLmZ8PV9lKSxzLnNldChiLHRlKSksZi5hZGQoYil9aWYoZT09PTAmJmEmJiFsJiYobT9sPWdyKCgpPT5hKG8pKToobD1ncigoKT0+YShXaT8/PXpuKCkpKSxsLmZ8PV9lKSksZT5mLnNpemUmJmtlKGBgLGBgLGBgKSxDJiZlPjAmJlQoUWUoKSksIW0paWYocC5zZXQoaCxmKSx2KXtmb3IobGV0W2UsdF1vZiBzKWYuaGFzKGUpfHxoLnNraXBfZWZmZWN0KHQuZSk7aC5vbmNvbW1pdChnKSxoLm9uZGlzY2FyZChfKX1lbHNlIGcoaCk7YyYmSmUoITApLFIodSl9KSxmbGFnczp0LGl0ZW1zOnMscGVuZGluZzpwLG91dHJvZ3JvdXBzOm51bGwsZmFsbGJhY2s6bH07bT0hMSxDJiYobz13KX1mdW5jdGlvbiBLaShlKXtmb3IoO2UhPT1udWxsJiYhKGUuZiYzMik7KWU9ZS5uZXh0O3JldHVybiBlfWZ1bmN0aW9uIHFpKGUsdCxuLHIsaSl7dmFyIGE9KHImOCkhPTAsbz10Lmxlbmd0aCxzPWUuaXRlbXMsYz1LaShlLmVmZmVjdC5maXJzdCksbCx1PW51bGwsZCxmPVtdLHA9W10sbSxnLF8sdjtpZihhKWZvcih2PTA7djxvO3YrPTEpbT10W3ZdLGc9aShtLHYpLF89cy5nZXQoZykuZSxfLmYmMzM1NTQ0MzJ8fChfLm5vZGVzPy5hPy5tZWFzdXJlKCksKGQ/Pz1uZXcgU2V0KS5hZGQoXykpO2Zvcih2PTA7djxvO3YrPTEpe2lmKG09dFt2XSxnPWkobSx2KSxfPXMuZ2V0KGcpLmUsZS5vdXRyb2dyb3VwcyE9PW51bGwpZm9yKGxldCB0IG9mIGUub3V0cm9ncm91cHMpdC5wZW5kaW5nLmRlbGV0ZShfKSx0LmRvbmUuZGVsZXRlKF8pO2lmKF8uZiY4MTkyJiYod3IoXyksYSYmKF8ubm9kZXM/LmE/LnVuZml4KCksKGQ/Pz1uZXcgU2V0KS5kZWxldGUoXykpKSxfLmYmMzM1NTQ0MzIpaWYoXy5mXj1fZSxfPT09YylZaShfLG51bGwsbik7ZWxzZXt2YXIgeT11P3UubmV4dDpjO189PT1lLmVmZmVjdC5sYXN0JiYoZS5lZmZlY3QubGFzdD1fLnByZXYpLF8ucHJldiYmKF8ucHJldi5uZXh0PV8ubmV4dCksXy5uZXh0JiYoXy5uZXh0LnByZXY9Xy5wcmV2KSxYaShlLHUsXyksWGkoZSxfLHkpLFlpKF8seSxuKSx1PV8sZj1bXSxwPVtdLGM9S2kodS5uZXh0KTtjb250aW51ZX1pZihfIT09Yyl7aWYobCE9PXZvaWQgMCYmbC5oYXMoXykpe2lmKGYubGVuZ3RoPHAubGVuZ3RoKXt2YXIgZWU9cFswXSxiO3U9ZWUucHJldjt2YXIgdGU9ZlswXSxuZT1mW2YubGVuZ3RoLTFdO2ZvcihiPTA7YjxmLmxlbmd0aDtiKz0xKVlpKGZbYl0sZWUsbik7Zm9yKGI9MDtiPHAubGVuZ3RoO2IrPTEpbC5kZWxldGUocFtiXSk7WGkoZSx0ZS5wcmV2LG5lLm5leHQpLFhpKGUsdSx0ZSksWGkoZSxuZSxlZSksYz1lZSx1PW5lLC0tdixmPVtdLHA9W119ZWxzZSBsLmRlbGV0ZShfKSxZaShfLGMsbiksWGkoZSxfLnByZXYsXy5uZXh0KSxYaShlLF8sdT09PW51bGw/ZS5lZmZlY3QuZmlyc3Q6dS5uZXh0KSxYaShlLHUsXyksdT1fO2NvbnRpbnVlfWZvcihmPVtdLHA9W107YyE9PW51bGwmJmMhPT1fOykobD8/PW5ldyBTZXQpLmFkZChjKSxwLnB1c2goYyksYz1LaShjLm5leHQpO2lmKGM9PT1udWxsKWNvbnRpbnVlfV8uZiYzMzU1NDQzMnx8Zi5wdXNoKF8pLHU9XyxjPUtpKF8ubmV4dCl9aWYoZS5vdXRyb2dyb3VwcyE9PW51bGwpe2ZvcihsZXQgdCBvZiBlLm91dHJvZ3JvdXBzKXQucGVuZGluZy5zaXplPT09MCYmKFVpKGUsaCh0LmRvbmUpKSxlLm91dHJvZ3JvdXBzPy5kZWxldGUodCkpO2Uub3V0cm9ncm91cHMuc2l6ZT09PTAmJihlLm91dHJvZ3JvdXBzPW51bGwpfWlmKGMhPT1udWxsfHxsIT09dm9pZCAwKXt2YXIgeD1bXTtpZihsIT09dm9pZCAwKWZvcihfIG9mIGwpXy5mJjgxOTJ8fHgucHVzaChfKTtmb3IoO2MhPT1udWxsOykhKGMuZiY4MTkyKSYmYyE9PWUuZmFsbGJhY2smJngucHVzaChjKSxjPUtpKGMubmV4dCk7dmFyIHJlPXgubGVuZ3RoO2lmKHJlPjApe3ZhciBpZT1yJjQmJm89PT0wP246bnVsbDtpZihhKXtmb3Iodj0wO3Y8cmU7dis9MSl4W3ZdLm5vZGVzPy5hPy5tZWFzdXJlKCk7Zm9yKHY9MDt2PHJlO3YrPTEpeFt2XS5ub2Rlcz8uYT8uZml4KCl9SGkoZSx4LGllKX19YSYmZ3QoKCk9PntpZihkIT09dm9pZCAwKWZvcihfIG9mIGQpXy5ub2Rlcz8uYT8uYXBwbHkoKX0pfWZ1bmN0aW9uIEppKGUsdCxuLHIsaSxhLG8scyl7dmFyIGM9byYxP28mMTY/U24obik6d24obiwhMSwhMSk6bnVsbCxsPW8mMj9TbihpKTpudWxsO3JldHVybnt2OmMsaTpsLGU6Z3IoKCk9PihhKHQsYz8/bixsPz9pLHMpLCgpPT57ZS5kZWxldGUocil9KSl9fWZ1bmN0aW9uIFlpKGUsdCxuKXtpZihlLm5vZGVzKWZvcih2YXIgcj1lLm5vZGVzLnN0YXJ0LGk9ZS5ub2Rlcy5lbmQsYT10JiYhKHQuZiYzMzU1NDQzMik/dC5ub2Rlcy5zdGFydDpuO3IhPT1udWxsOyl7dmFyIG89Qm4ocik7aWYoYS5iZWZvcmUocikscj09PWkpcmV0dXJuO3I9b319ZnVuY3Rpb24gWGkoZSx0LG4pe3Q9PT1udWxsP2UuZWZmZWN0LmZpcnN0PW46dC5uZXh0PW4sbj09PW51bGw/ZS5lZmZlY3QubGFzdD10Om4ucHJldj10fWZ1bmN0aW9uIFppKGUsdCxuPSExLHI9ITEsaT0hMSxhPSExKXt2YXIgbz1lLHM9YGA7aWYobil7dmFyIGM9ZTtDJiYobz1UKE4oYykpKX1wcigoKT0+e3ZhciBlPUk7aWYocz09PShzPXQoKT8/YGApKXtDJiZZZSgpO3JldHVybn1pZihuJiYhQyl7ZS5ub2Rlcz1udWxsLGMuaW5uZXJIVE1MPXMscyE9PWBgJiZDaShOKGMpLGMubGFzdENoaWxkKTtyZXR1cm59aWYoZS5ub2RlcyE9PW51bGwmJihicihlLm5vZGVzLnN0YXJ0LGUubm9kZXMuZW5kKSxlLm5vZGVzPW51bGwpLHMhPT1gYCl7aWYoQyl7Zm9yKHZhciBhPXcuZGF0YSxsPVllKCksdT1sO2whPT1udWxsJiYobC5ub2RlVHlwZSE9PTh8fGwuZGF0YSE9PWBgKTspdT1sLGw9Qm4obCk7aWYobD09PW51bGwpdGhyb3cgR2UoKSxCZTtDaSh3LHUpLG89VChsKTtyZXR1cm59dmFyIGQ9S24ocj9gc3ZnYDppP2BtYXRoYDpgdGVtcGxhdGVgLHI/SGU6aT9VZTp2b2lkIDApO2QuaW5uZXJIVE1MPXM7dmFyIGY9cnx8aT9kOmQuY29udGVudDtpZihDaShOKGYpLGYubGFzdENoaWxkKSxyfHxpKWZvcig7TihmKTspby5iZWZvcmUoTihmKSk7ZWxzZSBvLmJlZm9yZShmKX19KX1mdW5jdGlvbiBRaShlLHQsLi4ubil7dmFyIHI9bmV3IExpKGUpO21yKCgpPT57bGV0IGU9dCgpPz9udWxsO3IuZW5zdXJlKGUsZSYmKHQ9PmUodCwuLi5uKSkpfSxtZSl9ZnVuY3Rpb24gJGkoZSx0LG4pe3ZhciByO0MmJihyPXcsWWUoKSk7dmFyIGk9bmV3IExpKGUpO21yKCgpPT57dmFyIGU9dCgpPz9udWxsO2lmKEMmJiRlKHIpPT09YFtgIT0oZSE9PW51bGwpKXt2YXIgYT1RZSgpO1QoYSksaS5hbmNob3I9YSxKZSghMSksaS5lbnN1cmUoZSxlJiYodD0+bih0LGUpKSksSmUoITApO3JldHVybn1pLmVuc3VyZShlLGUmJih0PT5uKHQsZSkpKX0sbWUpfXZhciBlYT0oKT0+cGVyZm9ybWFuY2Uubm93KCksdGE9e3RpY2s6ZT0+cmVxdWVzdEFuaW1hdGlvbkZyYW1lKGUpLG5vdzooKT0+ZWEoKSx0YXNrczpuZXcgU2V0fTtmdW5jdGlvbiBuYSgpe2xldCBlPXRhLm5vdygpO3RhLnRhc2tzLmZvckVhY2godD0+e3QuYyhlKXx8KHRhLnRhc2tzLmRlbGV0ZSh0KSx0LmYoKSl9KSx0YS50YXNrcy5zaXplIT09MCYmdGEudGljayhuYSl9ZnVuY3Rpb24gcmEoZSl7bGV0IHQ7cmV0dXJuIHRhLnRhc2tzLnNpemU9PT0wJiZ0YS50aWNrKG5hKSx7cHJvbWlzZTpuZXcgUHJvbWlzZShuPT57dGEudGFza3MuYWRkKHQ9e2M6ZSxmOm59KX0pLGFib3J0KCl7dGEudGFza3MuZGVsZXRlKHQpfX19ZnVuY3Rpb24gaWEoZSx0KXskbigoKT0+e2UuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQodCkpfSl9ZnVuY3Rpb24gYWEoZSl7aWYoZT09PWBmbG9hdGApcmV0dXJuYGNzc0Zsb2F0YDtpZihlPT09YG9mZnNldGApcmV0dXJuYGNzc09mZnNldGA7aWYoZS5zdGFydHNXaXRoKGAtLWApKXJldHVybiBlO2xldCB0PWUuc3BsaXQoYC1gKTtyZXR1cm4gdC5sZW5ndGg9PT0xP3RbMF06dFswXSt0LnNsaWNlKDEpLm1hcChlPT5lWzBdLnRvVXBwZXJDYXNlKCkrZS5zbGljZSgxKSkuam9pbihgYCl9ZnVuY3Rpb24gb2EoZSl7bGV0IHQ9e30sbj1lLnNwbGl0KGA7YCk7Zm9yKGxldCBlIG9mIG4pe2xldFtuLHJdPWUuc3BsaXQoYDpgKTtpZighbnx8cj09PXZvaWQgMClicmVhaztsZXQgaT1hYShuLnRyaW0oKSk7dFtpXT1yLnRyaW0oKX1yZXR1cm4gdH12YXIgc2E9ZT0+ZTtmdW5jdGlvbiBjYShlLHQsbixyKXt2YXIgaT0oZSYxKSE9MCxhPShlJjIpIT0wLG89aSYmYSxzPShlJjQpIT0wLGM9bz9gYm90aGA6aT9gaW5gOmBvdXRgLGwsdT10LmluZXJ0LGQ9dC5zdHlsZS5vdmVyZmxvdyxmLHA7ZnVuY3Rpb24gbSgpe3JldHVybiAkbigoKT0+bD8/PW4oKSh0LHI/LigpPz97fSx7ZGlyZWN0aW9uOmN9KSl9dmFyIGg9e2lzX2dsb2JhbDpzLGluKCl7aWYodC5pbmVydD11LCFpKXtwPy5hYm9ydCgpLHA/LnJlc2V0Py4oKTtyZXR1cm59YXx8Zj8uYWJvcnQoKSxmPWxhKHQsbSgpLHAsMSwoKT0+e2lhKHQsYGludHJvc3RhcnRgKX0sKCk9PntpYSh0LGBpbnRyb2VuZGApLGY/LmFib3J0KCksZj1sPXZvaWQgMCx0LnN0eWxlLm92ZXJmbG93PWR9KX0sb3V0KGUpe2lmKCFhKXtlPy4oKSxsPXZvaWQgMDtyZXR1cm59dC5pbmVydD0hMCxwPWxhKHQsbSgpLGYsMCwoKT0+e2lhKHQsYG91dHJvc3RhcnRgKX0sKCk9PntpYSh0LGBvdXRyb2VuZGApLGU/LigpfSl9LHN0b3A6KCk9PntmPy5hYm9ydCgpLHA/LmFib3J0KCl9fSxnPUk7aWYoKGcubm9kZXMudD8/PVtdKS5wdXNoKGgpLGkmJkFpKXt2YXIgXz1zO2lmKCFfKXtmb3IodmFyIHY9Zy5wYXJlbnQ7diYmdi5mJjY1NTM2Oylmb3IoOyh2PXYucGFyZW50KSYmISh2LmYmMTYpOyk7Xz0hdnx8KHYuZiYzMjc2OCkhPTB9XyYmdXIoKCk9PnskcigoKT0+aC5pbigpKX0pfX1mdW5jdGlvbiBsYShlLHQsbixyLGksYSl7dmFyIG89cj09PTE7aWYobmUodCkpe3ZhciBzLGM9ITE7cmV0dXJuIGd0KCgpPT57Y3x8KHM9bGEoZSx0KHtkaXJlY3Rpb246bz9gaW5gOmBvdXRgfSksbixyLGksYSkpfSkse2Fib3J0OigpPT57Yz0hMCxzPy5hYm9ydCgpfSxkZWFjdGl2YXRlOigpPT5zLmRlYWN0aXZhdGUoKSxyZXNldDooKT0+cy5yZXNldCgpLHQ6KCk9PnMudCgpfX1pZihuPy5kZWFjdGl2YXRlKCksIXQ/LmR1cmF0aW9uJiYhdD8uZGVsYXkpcmV0dXJuIGkoKSxhKCkse2Fib3J0OngsZGVhY3RpdmF0ZTp4LHJlc2V0OngsdDooKT0+cn07bGV0e2RlbGF5Omw9MCxjc3M6dSx0aWNrOmQsZWFzaW5nOmY9c2F9PXQ7dmFyIHA9W107aWYobyYmbj09PXZvaWQgMCYmKGQmJmQoMCwxKSx1KSl7dmFyIG09b2EodSgwLDEpKTtwLnB1c2gobSxtKX12YXIgaD0oKT0+MS1yLGc9ZS5hbmltYXRlKHAse2R1cmF0aW9uOmwsZmlsbDpgZm9yd2FyZHNgfSk7cmV0dXJuIGcub25maW5pc2g9KCk9PntnLmNhbmNlbCgpLGkoKTt2YXIgbz1uPy50KCk/PzEtcjtuPy5hYm9ydCgpO3ZhciBzPXItbyxjPXQuZHVyYXRpb24qTWF0aC5hYnMocyksbD1bXTtpZihjPjApe3ZhciBwPSExO2lmKHUpZm9yKHZhciBtPU1hdGguY2VpbChjLygxZTMvNjApKSxfPTA7Xzw9bTtfKz0xKXt2YXIgdj1vK3MqZihfL20pLHk9b2EodSh2LDEtdikpO2wucHVzaCh5KSxwfHw9eS5vdmVyZmxvdz09PWBoaWRkZW5gfXAmJihlLnN0eWxlLm92ZXJmbG93PWBoaWRkZW5gKSxoPSgpPT57dmFyIGU9Zy5jdXJyZW50VGltZTtyZXR1cm4gbytzKmYoZS9jKX0sZCYmcmEoKCk9PntpZihnLnBsYXlTdGF0ZSE9PWBydW5uaW5nYClyZXR1cm4hMTt2YXIgZT1oKCk7cmV0dXJuIGQoZSwxLWUpLCEwfSl9Zz1lLmFuaW1hdGUobCx7ZHVyYXRpb246YyxmaWxsOmBmb3J3YXJkc2B9KSxnLm9uZmluaXNoPSgpPT57aD0oKT0+cixkPy4ociwxLXIpLGEoKX19LHthYm9ydDooKT0+e2cmJihnLmNhbmNlbCgpLGcuZWZmZWN0PW51bGwsZy5vbmZpbmlzaD14KX0sZGVhY3RpdmF0ZTooKT0+e2E9eH0scmVzZXQ6KCk9PntyPT09MCYmZD8uKDEsMCl9LHQ6KCk9PmgoKX19ZnVuY3Rpb24gdWEoZSx0LG4pe3VyKCgpPT57dmFyIHI9JHIoKCk9PnQoZSxuPy4oKSl8fHt9KTtpZihuJiZyPy51cGRhdGUpe3ZhciBpPSExLGE9e307ZnIoKCk9Pnt2YXIgZT1uKCk7ZWkoZSksaSYmdHQoYSxlKSYmKGE9ZSxyLnVwZGF0ZShlKSl9KSxpPSEwfWlmKHI/LmRlc3Ryb3kpcmV0dXJuKCk9PnIuZGVzdHJveSgpfSl9ZnVuY3Rpb24gZGEoZSx0KXt2YXIgbj12b2lkIDAscjtocigoKT0+e24hPT0obj10KCkpJiYociYmPShQKHIpLG51bGwpLG4mJihyPWdyKCgpPT57dXIoKCk9Pm4oZSkpfSkpKX0pfWZ1bmN0aW9uIGZhKGUpe3ZhciB0LG4scj1gYDtpZih0eXBlb2YgZT09YHN0cmluZ2B8fHR5cGVvZiBlPT1gbnVtYmVyYClyKz1lO2Vsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgKWlmKEFycmF5LmlzQXJyYXkoZSkpe3ZhciBpPWUubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKyllW3RdJiYobj1mYShlW3RdKSkmJihyJiYocis9YCBgKSxyKz1uKX1lbHNlIGZvcihuIGluIGUpZVtuXSYmKHImJihyKz1gIGApLHIrPW4pO3JldHVybiByfWZ1bmN0aW9uIHBhKCl7Zm9yKHZhciBlLHQsbj0wLHI9YGAsaT1hcmd1bWVudHMubGVuZ3RoO248aTtuKyspKGU9YXJndW1lbnRzW25dKSYmKHQ9ZmEoZSkpJiYociYmKHIrPWAgYCkscis9dCk7cmV0dXJuIHJ9ZnVuY3Rpb24gbWEoZSl7cmV0dXJuIHR5cGVvZiBlPT1gb2JqZWN0YD9wYShlKTplPz9gYH12YXIgaGE9Wy4uLmAgCQpcclxmXHhBMFx277u/YF07ZnVuY3Rpb24gZ2EoZSx0LG4pe3ZhciByPWU9PW51bGw/YGA6YGArZTtpZih0JiYocj1yP3IrYCBgK3Q6dCksbil7Zm9yKHZhciBpIG9mIE9iamVjdC5rZXlzKG4pKWlmKG5baV0pcj1yP3IrYCBgK2k6aTtlbHNlIGlmKHIubGVuZ3RoKWZvcih2YXIgYT1pLmxlbmd0aCxvPTA7KG89ci5pbmRleE9mKGksbykpPj0wOyl7dmFyIHM9bythOyhvPT09MHx8aGEuaW5jbHVkZXMocltvLTFdKSkmJihzPT09ci5sZW5ndGh8fGhhLmluY2x1ZGVzKHJbc10pKT9yPShvPT09MD9gYDpyLnN1YnN0cmluZygwLG8pKStyLnN1YnN0cmluZyhzKzEpOm89c319cmV0dXJuIHI9PT1gYD9udWxsOnJ9ZnVuY3Rpb24gX2EoZSx0PSExKXt2YXIgbj10P2AgIWltcG9ydGFudDtgOmA7YCxyPWBgO2Zvcih2YXIgaSBvZiBPYmplY3Qua2V5cyhlKSl7dmFyIGE9ZVtpXTthIT1udWxsJiZhIT09YGAmJihyKz1gIGAraStgOiBgK2Erbil9cmV0dXJuIHJ9ZnVuY3Rpb24gdmEoZSl7cmV0dXJuIGVbMF0hPT1gLWB8fGVbMV0hPT1gLWA/ZS50b0xvd2VyQ2FzZSgpOmV9ZnVuY3Rpb24geWEoZSx0KXtpZih0KXt2YXIgbj1gYCxyLGk7aWYoQXJyYXkuaXNBcnJheSh0KT8ocj10WzBdLGk9dFsxXSk6cj10LGUpe2U9U3RyaW5nKGUpLnJlcGxhY2VBbGwoL1xzKlwvXCouKj9cKlwvXHMqL2csYGApLnRyaW0oKTt2YXIgYT0hMSxvPTAscz0hMSxjPVtdO3ImJmMucHVzaCguLi5PYmplY3Qua2V5cyhyKS5tYXAodmEpKSxpJiZjLnB1c2goLi4uT2JqZWN0LmtleXMoaSkubWFwKHZhKSk7dmFyIGw9MCx1PS0xO2xldCB0PWUubGVuZ3RoO2Zvcih2YXIgZD0wO2Q8dDtkKyspe3ZhciBmPWVbZF07aWYocz9mPT09YC9gJiZlW2QtMV09PT1gKmAmJihzPSExKTphP2E9PT1mJiYoYT0hMSk6Zj09PWAvYCYmZVtkKzFdPT09YCpgP3M9ITA6Zj09PWAiYHx8Zj09PWAnYD9hPWY6Zj09PWAoYD9vKys6Zj09PWApYCYmby0tLCFzJiZhPT09ITEmJm89PT0wKXtpZihmPT09YDpgJiZ1PT09LTEpdT1kO2Vsc2UgaWYoZj09PWA7YHx8ZD09PXQtMSl7aWYodSE9PS0xKXt2YXIgcD12YShlLnN1YnN0cmluZyhsLHUpLnRyaW0oKSk7aWYoIWMuaW5jbHVkZXMocCkpe2YhPT1gO2AmJmQrKzt2YXIgbT1lLnN1YnN0cmluZyhsLGQpLnRyaW0oKTtuKz1gIGArbStgO2B9fWw9ZCsxLHU9LTF9fX19cmV0dXJuIHImJihuKz1fYShyKSksaSYmKG4rPV9hKGksITApKSxuPW4udHJpbSgpLG49PT1gYD9udWxsOm59cmV0dXJuIGU9PW51bGw/bnVsbDpTdHJpbmcoZSl9ZnVuY3Rpb24gYmEoZSx0LG4scixpLGEpe3ZhciBvPWUuX19jbGFzc05hbWU7aWYoQ3x8byE9PW58fG89PT12b2lkIDApe3ZhciBzPWdhKG4scixhKTsoIUN8fHMhPT1lLmdldEF0dHJpYnV0ZShgY2xhc3NgKSkmJihzPT1udWxsP2UucmVtb3ZlQXR0cmlidXRlKGBjbGFzc2ApOnQ/ZS5jbGFzc05hbWU9czplLnNldEF0dHJpYnV0ZShgY2xhc3NgLHMpKSxlLl9fY2xhc3NOYW1lPW59ZWxzZSBpZihhJiZpIT09YSlmb3IodmFyIGMgaW4gYSl7dmFyIGw9ISFhW2NdOyhpPT1udWxsfHxsIT09ISFpW2NdKSYmZS5jbGFzc0xpc3QudG9nZ2xlKGMsbCl9cmV0dXJuIGF9ZnVuY3Rpb24geGEoZSx0PXt9LG4scil7Zm9yKHZhciBpIGluIG4pe3ZhciBhPW5baV07dFtpXSE9PWEmJihuW2ldPT1udWxsP2Uuc3R5bGUucmVtb3ZlUHJvcGVydHkoaSk6ZS5zdHlsZS5zZXRQcm9wZXJ0eShpLGEscikpfX1mdW5jdGlvbiBTYShlLHQsbixyKXt2YXIgaT1lLl9fc3R5bGU7aWYoQ3x8aSE9PXQpe3ZhciBhPXlhKHQscik7KCFDfHxhIT09ZS5nZXRBdHRyaWJ1dGUoYHN0eWxlYCkpJiYoYT09bnVsbD9lLnJlbW92ZUF0dHJpYnV0ZShgc3R5bGVgKTplLnN0eWxlLmNzc1RleHQ9YSksZS5fX3N0eWxlPXR9ZWxzZSByJiYoQXJyYXkuaXNBcnJheShyKT8oeGEoZSxuPy5bMF0sclswXSkseGEoZSxuPy5bMV0sclsxXSxgaW1wb3J0YW50YCkpOnhhKGUsbixyKSk7cmV0dXJuIHJ9ZnVuY3Rpb24gQ2EoZSx0LG49ITEpe2lmKGUubXVsdGlwbGUpe2lmKHQ9PW51bGwpcmV0dXJuO2lmKCFmKHQpKXJldHVybiBLZSgpO2Zvcih2YXIgciBvZiBlLm9wdGlvbnMpci5zZWxlY3RlZD10LmluY2x1ZGVzKEVhKHIpKTtyZXR1cm59Zm9yKHIgb2YgZS5vcHRpb25zKWlmKE5uKEVhKHIpLHQpKXtyLnNlbGVjdGVkPSEwO3JldHVybn0oIW58fHQhPT12b2lkIDApJiYoZS5zZWxlY3RlZEluZGV4PS0xKX1mdW5jdGlvbiB3YShlKXt2YXIgdD1uZXcgTXV0YXRpb25PYnNlcnZlcigoKT0+e0NhKGUsZS5fX3ZhbHVlKX0pO3Qub2JzZXJ2ZShlLHtjaGlsZExpc3Q6ITAsc3VidHJlZTohMCxhdHRyaWJ1dGVzOiEwLGF0dHJpYnV0ZUZpbHRlcjpbYHZhbHVlYF19KSxhcigoKT0+e3QuZGlzY29ubmVjdCgpfSl9ZnVuY3Rpb24gVGEoZSx0LG49dCl7dmFyIHI9bmV3IFdlYWtTZXQsaT0hMDtlcihlLGBjaGFuZ2VgLHQ9Pnt2YXIgaT10P2Bbc2VsZWN0ZWRdYDpgOmNoZWNrZWRgLGE7aWYoZS5tdWx0aXBsZSlhPVtdLm1hcC5jYWxsKGUucXVlcnlTZWxlY3RvckFsbChpKSxFYSk7ZWxzZXt2YXIgbz1lLnF1ZXJ5U2VsZWN0b3IoaSk/P2UucXVlcnlTZWxlY3Rvcihgb3B0aW9uOm5vdChbZGlzYWJsZWRdKWApO2E9byYmRWEobyl9bihhKSxlLl9fdmFsdWU9YSxqIT09bnVsbCYmci5hZGQoail9KSx1cigoKT0+e3ZhciBhPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIG89cnQ/THQ6ajtpZihyLmhhcyhvKSlyZXR1cm59aWYoQ2EoZSxhLGkpLGkmJmE9PT12b2lkIDApe3ZhciBzPWUucXVlcnlTZWxlY3RvcihgOmNoZWNrZWRgKTtzIT09bnVsbCYmKGE9RWEocyksbihhKSl9ZS5fX3ZhbHVlPWEsaT0hMX0pLHdhKGUpfWZ1bmN0aW9uIEVhKGUpe3JldHVybmBfX3ZhbHVlYGluIGU/ZS5fX3ZhbHVlOmUudmFsdWV9dmFyIERhPVN5bWJvbChgY2xhc3NgKSxPYT1TeW1ib2woYHN0eWxlYCksa2E9U3ltYm9sKGBpcyBjdXN0b20gZWxlbWVudGApLEFhPVN5bWJvbChgaXMgaHRtbGApLGphPUVlP2BsaW5rYDpgTElOS2AsTWE9RWU/YGlucHV0YDpgSU5QVVRgLE5hPUVlP2BvcHRpb25gOmBPUFRJT05gLFBhPUVlP2BzZWxlY3RgOmBTRUxFQ1RgLEZhPUVlP2Bwcm9ncmVzc2A6YFBST0dSRVNTYDtmdW5jdGlvbiBJYShlKXtpZihDKXt2YXIgdD0hMSxuPSgpPT57aWYoIXQpe2lmKHQ9ITAsZS5oYXNBdHRyaWJ1dGUoYHZhbHVlYCkpe3ZhciBuPWUudmFsdWU7emEoZSxgdmFsdWVgLG51bGwpLGUudmFsdWU9bn1pZihlLmhhc0F0dHJpYnV0ZShgY2hlY2tlZGApKXt2YXIgcj1lLmNoZWNrZWQ7emEoZSxgY2hlY2tlZGAsbnVsbCksZS5jaGVja2VkPXJ9fX07ZS5fX29uX3I9bixndChuKSxRbigpfX1mdW5jdGlvbiBMYShlLHQpe3ZhciBuPUhhKGUpO24udmFsdWU9PT0obi52YWx1ZT10Pz92b2lkIDApfHxlLnZhbHVlPT09dCYmKHQhPT0wfHxlLm5vZGVOYW1lIT09RmEpfHwoZS52YWx1ZT10Pz9gYCl9ZnVuY3Rpb24gUmEoZSx0KXt0P2UuaGFzQXR0cmlidXRlKGBzZWxlY3RlZGApfHxlLnNldEF0dHJpYnV0ZShgc2VsZWN0ZWRgLGBgKTplLnJlbW92ZUF0dHJpYnV0ZShgc2VsZWN0ZWRgKX1mdW5jdGlvbiB6YShlLHQsbixyKXt2YXIgaT1IYShlKTtDJiYoaVt0XT1lLmdldEF0dHJpYnV0ZSh0KSx0PT09YHNyY2B8fHQ9PT1gc3Jjc2V0YHx8dD09PWBocmVmYCYmZS5ub2RlTmFtZT09PWphKXx8aVt0XSE9PShpW3RdPW4pJiYodD09PWBsb2FkaW5nYCYmKGVbd2VdPW4pLG49PW51bGw/ZS5yZW1vdmVBdHRyaWJ1dGUodCk6dHlwZW9mIG4hPWBzdHJpbmdgJiZXYShlKS5pbmNsdWRlcyh0KT9lW3RdPW46ZS5zZXRBdHRyaWJ1dGUodCxuKSl9ZnVuY3Rpb24gQmEoZSx0LG4scixpPSExLGE9ITEpe2lmKEMmJmkmJmUubm9kZU5hbWU9PT1NYSl7dmFyIG89ZTsoby50eXBlPT09YGNoZWNrYm94YD9gZGVmYXVsdENoZWNrZWRgOmBkZWZhdWx0VmFsdWVgKWluIG58fElhKG8pfXZhciBzPUhhKGUpLGM9c1trYV0sbD0hc1tBYV07bGV0IHU9QyYmYzt1JiZKZSghMSk7dmFyIGQ9dHx8e30sZj1lLm5vZGVOYW1lPT09TmE7Zm9yKHZhciBwIGluIHQpcCBpbiBufHwobltwXT1udWxsKTtuLmNsYXNzP24uY2xhc3M9bWEobi5jbGFzcyk6KHJ8fG5bRGFdKSYmKG4uY2xhc3M9bnVsbCksbltPYV0mJihuLnN0eWxlPz89bnVsbCk7dmFyIG09V2EoZSk7Zm9yKGxldCBpIGluIG4pe2xldCBvPW5baV07aWYoZiYmaT09PWB2YWx1ZWAmJm89PW51bGwpe2UudmFsdWU9ZS5fX3ZhbHVlPWBgLGRbaV09bztjb250aW51ZX1pZihpPT09YGNsYXNzYCl7YmEoZSxlLm5hbWVzcGFjZVVSST09PWBodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sYCxvLHIsdD8uW0RhXSxuW0RhXSksZFtpXT1vLGRbRGFdPW5bRGFdO2NvbnRpbnVlfWlmKGk9PT1gc3R5bGVgKXtTYShlLG8sdD8uW09hXSxuW09hXSksZFtpXT1vLGRbT2FdPW5bT2FdO2NvbnRpbnVlfXZhciBoPWRbaV07aWYoIShvPT09aCYmIShvPT09dm9pZCAwJiZlLmhhc0F0dHJpYnV0ZShpKSkpKXtkW2ldPW87dmFyIGc9aVswXStpWzFdO2lmKGchPT1gJCRgKWlmKGc9PT1gb25gKXtsZXQgdD17fSxuPWAkJGAraSxyPWkuc2xpY2UoMik7dmFyIF89aWkocik7aWYobmkocikmJihyPXIuc2xpY2UoMCwtNyksdC5jYXB0dXJlPSEwKSwhXyYmaCl7aWYobyE9bnVsbCljb250aW51ZTtlLnJlbW92ZUV2ZW50TGlzdGVuZXIocixkW25dLHQpLGRbbl09bnVsbH1pZihfKWdpKHIsZSxvKSxfaShbcl0pO2Vsc2UgaWYobyE9bnVsbCl7ZnVuY3Rpb24gYShlKXtkW2ldLmNhbGwodGhpcyxlKX1kW25dPW1pKHIsZSxhLHQpfX1lbHNlIGlmKGk9PT1gc3R5bGVgKXphKGUsaSxvKTtlbHNlIGlmKGk9PT1gYXV0b2ZvY3VzYClZbihlLCEhbyk7ZWxzZSBpZighYyYmKGk9PT1gX192YWx1ZWB8fGk9PT1gdmFsdWVgJiZvIT1udWxsKSllLnZhbHVlPWUuX192YWx1ZT1vO2Vsc2UgaWYoaT09PWBzZWxlY3RlZGAmJmYpUmEoZSxvKTtlbHNle3ZhciB2PWk7bHx8KHY9c2kodikpO3ZhciB5PXY9PT1gZGVmYXVsdFZhbHVlYHx8dj09PWBkZWZhdWx0Q2hlY2tlZGA7aWYobz09bnVsbCYmIWMmJiF5KWlmKHNbaV09bnVsbCx2PT09YHZhbHVlYHx8dj09PWBjaGVja2VkYCl7bGV0IG49ZSxyPXQ9PT12b2lkIDA7aWYodj09PWB2YWx1ZWApe2xldCBlPW4uZGVmYXVsdFZhbHVlO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdFZhbHVlPWUsbi52YWx1ZT1uLl9fdmFsdWU9cj9lOm51bGx9ZWxzZXtsZXQgZT1uLmRlZmF1bHRDaGVja2VkO24ucmVtb3ZlQXR0cmlidXRlKHYpLG4uZGVmYXVsdENoZWNrZWQ9ZSxuLmNoZWNrZWQ9cj9lOiExfX1lbHNlIGUucmVtb3ZlQXR0cmlidXRlKGkpO2Vsc2UgeXx8bS5pbmNsdWRlcyh2KSYmKGN8fHR5cGVvZiBvIT1gc3RyaW5nYCk/KGVbdl09byx2IGluIHMmJihzW3ZdPVMpKTp0eXBlb2YgbyE9YGZ1bmN0aW9uYCYmemEoZSx2LG8sYSl9fX1yZXR1cm4gdSYmSmUoITApLGR9ZnVuY3Rpb24gVmEoZSx0LG49W10scj1bXSxpPVtdLGEsbz0hMSxzPSExKXtvbihpLG4scixuPT57dmFyIHI9dm9pZCAwLGk9e30sYz1lLm5vZGVOYW1lPT09UGEsbD0hMTtpZihocigoKT0+e3ZhciB1PXQoLi4ubi5tYXAoUikpLGQ9QmEoZSxyLHUsYSxvLHMpO2wmJmMmJmB2YWx1ZWBpbiB1JiZDYShlLHUudmFsdWUpO2ZvcihsZXQgZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKGkpKXVbZV18fFAoaVtlXSk7Zm9yKGxldCB0IG9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModSkpe3ZhciBmPXVbdF07dC5kZXNjcmlwdGlvbj09PWBAYXR0YWNoYCYmKCFyfHxmIT09clt0XSkmJihpW3RdJiZQKGlbdF0pLGlbdF09Z3IoKCk9PmRhKGUsKCk9PmYpKSksZFt0XT1mfXI9ZH0pLGMpe3ZhciB1PWU7dXIoKCk9PntDYSh1LHIudmFsdWUsITApLHdhKHUpfSl9bD0hMH0pfWZ1bmN0aW9uIEhhKGUpe3JldHVybiBlLl9fYXR0cmlidXRlcz8/PXtba2FdOmUubm9kZU5hbWUuaW5jbHVkZXMoYC1gKSxbQWFdOmUubmFtZXNwYWNlVVJJPT09VmV9fXZhciBVYT1uZXcgTWFwO2Z1bmN0aW9uIFdhKGUpe3ZhciB0PWUuZ2V0QXR0cmlidXRlKGBpc2ApfHxlLm5vZGVOYW1lLG49VWEuZ2V0KHQpO2lmKG4pcmV0dXJuIG47VWEuc2V0KHQsbj1bXSk7Zm9yKHZhciByLGk9ZSxhPUVsZW1lbnQucHJvdG90eXBlO2EhPT1pOyl7Zm9yKHZhciBvIGluIHI9dihpKSxyKXJbb10uc2V0JiZuLnB1c2gobyk7aT1iKGkpfXJldHVybiBufXZhciBHYT1udWxsO2Z1bmN0aW9uIEthKCl7aWYoR2E9PT1udWxsKXt2YXIgZT1Lbihgc2VsZWN0YCk7ZS5pbm5lckhUTUw9eGkoYDxvcHRpb24+PHNwYW4+dDwvc3Bhbj48L29wdGlvbj5gKSxHYT1lLmZpcnN0Q2hpbGQ/LmZpcnN0Q2hpbGQ/Lm5vZGVUeXBlPT09MX1yZXR1cm4gR2F9ZnVuY3Rpb24gcWEoZSx0KXt2YXIgbj1DO0thKCl8fChKZSghMSksZS50ZXh0Q29udGVudD1gYCxlLmFwcGVuZChxbihgYCkpKTt0cnl7dCgpfWZpbmFsbHl7biYmKEM/WGUoZSk6KEplKCEwKSxUKGUpKSl9fWZ1bmN0aW9uIEphKGUsdCxuPXQpe3ZhciByPW5ldyBXZWFrU2V0O2VyKGUsYGlucHV0YCxhc3luYyBpPT57dmFyIGE9aT9lLmRlZmF1bHRWYWx1ZTplLnZhbHVlO2lmKGE9WGEoZSk/WmEoYSk6YSxuKGEpLGohPT1udWxsJiZyLmFkZChqKSxhd2FpdCBYcigpLGEhPT0oYT10KCkpKXt2YXIgbz1lLnNlbGVjdGlvblN0YXJ0LHM9ZS5zZWxlY3Rpb25FbmQsYz1lLnZhbHVlLmxlbmd0aDtpZihlLnZhbHVlPWE/P2BgLHMhPT1udWxsKXt2YXIgbD1lLnZhbHVlLmxlbmd0aDtvPT09cyYmcz09PWMmJmw+Yz8oZS5zZWxlY3Rpb25TdGFydD1sLGUuc2VsZWN0aW9uRW5kPWwpOihlLnNlbGVjdGlvblN0YXJ0PW8sZS5zZWxlY3Rpb25FbmQ9TWF0aC5taW4ocyxsKSl9fX0pLChDJiZlLmRlZmF1bHRWYWx1ZSE9PWUudmFsdWV8fCRyKHQpPT1udWxsJiZlLnZhbHVlKSYmKG4oWGEoZSk/WmEoZS52YWx1ZSk6ZS52YWx1ZSksaiE9PW51bGwmJnIuYWRkKGopKSxmcigoKT0+e3ZhciBuPXQoKTtpZihlPT09ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCl7dmFyIGk9cnQ/THQ6ajtpZihyLmhhcyhpKSlyZXR1cm59WGEoZSkmJm49PT1aYShlLnZhbHVlKXx8ZS50eXBlPT09YGRhdGVgJiYhbiYmIWUudmFsdWV8fG4hPT1lLnZhbHVlJiYoZS52YWx1ZT1uPz9gYCl9KX1mdW5jdGlvbiBZYShlLHQsbj10KXtlcihlLGBjaGFuZ2VgLHQ9PntuKHQ/ZS5kZWZhdWx0Q2hlY2tlZDplLmNoZWNrZWQpfSksKEMmJmUuZGVmYXVsdENoZWNrZWQhPT1lLmNoZWNrZWR8fCRyKHQpPT1udWxsKSYmbihlLmNoZWNrZWQpLGZyKCgpPT57ZS5jaGVja2VkPSEhdCgpfSl9ZnVuY3Rpb24gWGEoZSl7dmFyIHQ9ZS50eXBlO3JldHVybiB0PT09YG51bWJlcmB8fHQ9PT1gcmFuZ2VgfWZ1bmN0aW9uIFphKGUpe3JldHVybiBlPT09YGA/bnVsbDorZX1mdW5jdGlvbiBRYShlLHQpe3JldHVybiBlPT09dHx8ZT8uW1NlXT09PXR9ZnVuY3Rpb24gJGEoZT17fSx0LG4scil7dmFyIGk9RS5yLGE9STtyZXR1cm4gdXIoKCk9Pnt2YXIgbyxzO3JldHVybiBmcigoKT0+e289cyxzPXI/LigpfHxbXSwkcigoKT0+e2UhPT1uKC4uLnMpJiYodChlLC4uLnMpLG8mJlFhKG4oLi4ubyksZSkmJnQobnVsbCwuLi5vKSl9KX0pLCgpPT57bGV0IHI9YTtmb3IoO3IhPT1pJiZyLnBhcmVudCE9PW51bGwmJnIucGFyZW50LmYmMzM1NTQ0MzI7KXI9ci5wYXJlbnQ7bGV0IG89KCk9PntzJiZRYShuKC4uLnMpLGUpJiZ0KG51bGwsLi4ucyl9LGM9ci50ZWFyZG93bjtyLnRlYXJkb3duPSgpPT57bygpLGM/LigpfX19KSxlfWZ1bmN0aW9uIGVvKGU9ITEpe2xldCB0PUUsbj10LmwudTtpZighbilyZXR1cm47bGV0IHI9KCk9PmVpKHQucyk7aWYoZSl7bGV0IGU9MCxuPXt9LGk9dW4oKCk9PntsZXQgcj0hMSxpPXQucztmb3IobGV0IGUgaW4gaSlpW2VdIT09bltlXSYmKG5bZV09aVtlXSxyPSEwKTtyZXR1cm4gciYmZSsrLGV9KTtyPSgpPT5SKGkpfW4uYi5sZW5ndGgmJmNyKCgpPT57dG8odCxyKSxpZShuLmIpfSksb3IoKCk9PntsZXQgZT0kcigoKT0+bi5tLm1hcChyZSkpO3JldHVybigpPT57Zm9yKGxldCB0IG9mIGUpdHlwZW9mIHQ9PWBmdW5jdGlvbmAmJnQoKX19KSxuLmEubGVuZ3RoJiZvcigoKT0+e3RvKHQsciksaWUobi5hKX0pfWZ1bmN0aW9uIHRvKGUsdCl7aWYoZS5sLnMpZm9yKGxldCB0IG9mIGUubC5zKVIodCk7dCgpfXZhciBubz17Z2V0KGUsdCl7aWYoIWUuZXhjbHVkZS5pbmNsdWRlcyh0KSlyZXR1cm4gZS5wcm9wc1t0XX0sc2V0KGUsdCl7cmV0dXJuITF9LGdldE93blByb3BlcnR5RGVzY3JpcHRvcihlLHQpe2lmKCFlLmV4Y2x1ZGUuaW5jbHVkZXModCkmJnQgaW4gZS5wcm9wcylyZXR1cm57ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsdmFsdWU6ZS5wcm9wc1t0XX19LGhhcyhlLHQpe3JldHVybiBlLmV4Y2x1ZGUuaW5jbHVkZXModCk/ITE6dCBpbiBlLnByb3BzfSxvd25LZXlzKGUpe3JldHVybiBSZWZsZWN0Lm93bktleXMoZS5wcm9wcykuZmlsdGVyKHQ9PiFlLmV4Y2x1ZGUuaW5jbHVkZXModCkpfX07ZnVuY3Rpb24gcm8oZSx0LG4pe3JldHVybiBuZXcgUHJveHkoe3Byb3BzOmUsZXhjbHVkZTp0fSxubyl9dmFyIGlvPXtnZXQoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpcmV0dXJuIHJbdF19fSxzZXQoZSx0LG4pe2xldCByPWUucHJvcHMubGVuZ3RoO2Zvcig7ci0tOyl7bGV0IGk9ZS5wcm9wc1tyXTtuZShpKSYmKGk9aSgpKTtsZXQgYT1fKGksdCk7aWYoYSYmYS5zZXQpcmV0dXJuIGEuc2V0KG4pLCEwfXJldHVybiExfSxnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZSx0KXtsZXQgbj1lLnByb3BzLmxlbmd0aDtmb3IoO24tLTspe2xldCByPWUucHJvcHNbbl07aWYobmUocikmJihyPXIoKSksdHlwZW9mIHI9PWBvYmplY3RgJiZyJiZ0IGluIHIpe2xldCBlPV8ocix0KTtyZXR1cm4gZSYmIWUuY29uZmlndXJhYmxlJiYoZS5jb25maWd1cmFibGU9ITApLGV9fX0saGFzKGUsdCl7aWYodD09PVNlfHx0PT09Q2UpcmV0dXJuITE7Zm9yKGxldCBuIG9mIGUucHJvcHMpaWYobmUobikmJihuPW4oKSksbiE9bnVsbCYmdCBpbiBuKXJldHVybiEwO3JldHVybiExfSxvd25LZXlzKGUpe2xldCB0PVtdO2ZvcihsZXQgbiBvZiBlLnByb3BzKWlmKG5lKG4pJiYobj1uKCkpLG4pe2ZvcihsZXQgZSBpbiBuKXQuaW5jbHVkZXMoZSl8fHQucHVzaChlKTtmb3IobGV0IGUgb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhuKSl0LmluY2x1ZGVzKGUpfHx0LnB1c2goZSl9cmV0dXJuIHR9fTtmdW5jdGlvbiBhbyguLi5lKXtyZXR1cm4gbmV3IFByb3h5KHtwcm9wczplfSxpbyl9ZnVuY3Rpb24gb28oZSx0LG4scil7dmFyIGk9IWl0fHwobiYyKSE9MCxhPShuJjgpIT0wLG89KG4mMTYpIT0wLHM9cixjPSEwLGw9KCk9PihjJiYoYz0hMSxzPW8/JHIocik6cikscyk7bGV0IHU7aWYoYSl7dmFyIGQ9U2UgaW4gZXx8Q2UgaW4gZTt1PV8oZSx0KT8uc2V0Pz8oZCYmdCBpbiBlP249PmVbdF09bjp2b2lkIDApfXZhciBmLHA9ITE7YT9bZixwXT1GdCgoKT0+ZVt0XSk6Zj1lW3RdLGY9PT12b2lkIDAmJnIhPT12b2lkIDAmJihmPWwoKSx1JiYoaSYmUGUodCksdShmKSkpO3ZhciBtPWk/KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuPT09dm9pZCAwP2woKTooYz0hMCxuKX06KCk9Pnt2YXIgbj1lW3RdO3JldHVybiBuIT09dm9pZCAwJiYocz12b2lkIDApLG49PT12b2lkIDA/czpufTtpZihpJiYhKG4mNCkpcmV0dXJuIG07aWYodSl7dmFyIGg9ZS4kJGxlZ2FjeTtyZXR1cm4oZnVuY3Rpb24oZSx0KXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD4wPygoIWl8fCF0fHxofHxwKSYmdSh0P20oKTplKSxlKTptKCl9KX12YXIgZz0hMSx2PShuJjE/dW46cG4pKCgpPT4oZz0hMSxtKCkpKTthJiZSKHYpO3ZhciB5PUk7cmV0dXJuKGZ1bmN0aW9uKGUsdCl7aWYoYXJndW1lbnRzLmxlbmd0aD4wKXtsZXQgbj10P1Iodik6aSYmYT9qbihlKTplO3JldHVybiBUbih2LG4pLGc9ITAscyE9PXZvaWQgMCYmKHM9biksZX1yZXR1cm4ga3ImJmd8fHkuZiYxNjM4ND92LnY6Uih2KX0pfWZ1bmN0aW9uIHNvKGUpe0U9PT1udWxsJiZEZShgb25Nb3VudGApLGl0JiZFLmwhPT1udWxsP2xvKEUpLm0ucHVzaChlKTpvcigoKT0+e2xldCB0PSRyKGUpO2lmKHR5cGVvZiB0PT1gZnVuY3Rpb25gKXJldHVybiB0fSl9ZnVuY3Rpb24gY28oZSl7RT09PW51bGwmJkRlKGBvbkRlc3Ryb3lgKSxzbygoKT0+KCk9PiRyKGUpKX1mdW5jdGlvbiBsbyhlKXt2YXIgdD1lLmw7cmV0dXJuIHQudT8/PXthOltdLGI6W10sbTpbXX19dmFyIHo9KCgpPT57bGV0IGU9bmV3IE1hcDtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7b246KHQsbik9PntsZXQgcj1lLmdldCh0KTtyP3IucHVzaChuKTplLnNldCh0LFtuXSl9LG9mZjoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJmUuc2V0KHQsci5maWx0ZXIoZT0+ZSE9PW4pKX0sZW1pdDoodCxuKT0+e2xldCByPWUuZ2V0KHQpO3ImJnIuZm9yRWFjaChlPT5lKG4pKX19KX0pKCksdW89YGRhdGEtc21hcnRzdXBwLWlkYCxmbz0oKT0+d2luZG93LnRvcD8/d2luZG93LnBhcmVudCxCPSgpPT53aW5kb3cucGFyZW50LHBvPSgpPT5CKCkuZG9jdW1lbnQsbW89ZT0+ZSYmZS5vd25lckRvY3VtZW50fHxkb2N1bWVudCxobz0oe3ZpZDplfSk9PntsZXQgdD1CKCkuc21hcnRzdXBwfHx7fTt0LnZpZD1lLEIoKS5zbWFydHN1cHA9dH0sZ289YGRlYnVnYCxfbz1lPT57dHJ5e2xldCB0PUIoKS5sb2NhbFN0b3JhZ2UuZ2V0SXRlbShnbyk7aWYoIXQpcmV0dXJuITE7aWYodD09PWV8fHQ9PT1gKmApcmV0dXJuITA7bGV0IG49ZS5tYXRjaCgvXlx3KzovZyk7cmV0dXJuIG4/dD09PWAke25bMF19KmA6ITF9Y2F0Y2h7cmV0dXJuITF9fSx2bz0oKGUsdCk9PihuLC4uLnIpPT57X28oZSkmJmNvbnNvbGUuZGVidWcoYCVjJHtlfWAsYGNvbG9yOiAke3R9O2AsbiwuLi5yKX0pKGBzbWFydHN1cHA6d2lkZ2V0YCxgIzEyMzNkZmApLFY9KCgpPT57bGV0IGU9bnVsbCx0PVtdO3JldHVybiBPYmplY3QuZnJlZXplKHtpbml0Om49PntlPW4sdm8oYHdpZGdldCBvcHRpb25zYCxuKSx0LmZvckVhY2goZT0+ZShuKSl9LGdldE9wdGlvbnM6KCk9PntpZighZSl0aHJvdyBFcnJvcihgV2lkZ2V0IG9wdGlvbnMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LGF3YWl0T3B0aW9uczphc3luYygpPT5lfHxuZXcgUHJvbWlzZShlPT57dC5wdXNoKGUpfSksdXBkYXRlT3B0aW9uczp0PT57ZT17Li4uZSwuLi50fX19KX0pKCkseW89ZT0+e2xldCB0PWUuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYGJvZHlgKVswXS5nZXRBdHRyaWJ1dGUodW8pO2lmKCF0KXRocm93IEVycm9yKGBNaXNzaW5nIGNoYXQgSUQgYXR0cmlidXRlIG9uIGJvZHkgZWxlbWVudC5gKTtpZighZS5wYXJlbnQuJHNtYXJ0c3VwcCl0aHJvdyBFcnJvcihgU29tZXRoaW5nIHdlbnQgd3JvbmcuIFNlZW1zIGxpa2UgbG9hZGVyLmpzIGRpZCBub3QgaW5pdGlhbGl6ZSB3aWRnZXQuYCk7aWYoIWUucGFyZW50LiRzbWFydHN1cHAuZ2V0V2lkZ2V0KXRocm93IEVycm9yKGBHZXQgd2lkZ2V0IGZ1bmN0aW9uIHdhcyBub3Qgc3VwcGxpZWQgYnkgbG9hZGVyLmpzLmApO3JldHVybiBlLnBhcmVudC4kc21hcnRzdXBwLmdldFdpZGdldCh0KX07ZnVuY3Rpb24gYm8oZSl7Zm9yKHZhciB0PTE7dDxhcmd1bWVudHMubGVuZ3RoO3QrKyl7dmFyIG49YXJndW1lbnRzW3RdO2Zvcih2YXIgciBpbiBuKWVbcl09bltyXX1yZXR1cm4gZX12YXIgeG89e3JlYWQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGVbMF09PT1gImAmJihlPWUuc2xpY2UoMSwtMSkpLGUucmVwbGFjZSgvKCVbXGRBLUZdezJ9KSsvZ2ksZGVjb2RlVVJJQ29tcG9uZW50KX0sd3JpdGU6ZnVuY3Rpb24oZSl7cmV0dXJuIGVuY29kZVVSSUNvbXBvbmVudChlKS5yZXBsYWNlKC8lKDJbMzQ2QkZdfDNbQUMtRl18NDB8NVtCREVdfDYwfDdbQkNEXSkvZyxkZWNvZGVVUklDb21wb25lbnQpfX07ZnVuY3Rpb24gU28oZSx0KXtmdW5jdGlvbiBuKG4scixpKXtpZighKHR5cGVvZiBkb2N1bWVudD5gdWApKXtpPWJvKHt9LHQsaSksdHlwZW9mIGkuZXhwaXJlcz09YG51bWJlcmAmJihpLmV4cGlyZXM9bmV3IERhdGUoRGF0ZS5ub3coKStpLmV4cGlyZXMqODY0ZTUpKSxpLmV4cGlyZXMmJj1pLmV4cGlyZXMudG9VVENTdHJpbmcoKSxuPWVuY29kZVVSSUNvbXBvbmVudChuKS5yZXBsYWNlKC8lKDJbMzQ2Ql18NUV8NjB8N0MpL2csZGVjb2RlVVJJQ29tcG9uZW50KS5yZXBsYWNlKC9bKCldL2csZXNjYXBlKTt2YXIgYT1gYDtmb3IodmFyIG8gaW4gaSlpW29dJiYoYSs9YDsgYCtvLGlbb10hPT0hMCYmKGErPWA9YCtpW29dLnNwbGl0KGA7YClbMF0pKTtyZXR1cm4gZG9jdW1lbnQuY29va2llPW4rYD1gK2Uud3JpdGUocixuKSthfX1mdW5jdGlvbiByKHQpe2lmKCEodHlwZW9mIGRvY3VtZW50PmB1YHx8YXJndW1lbnRzLmxlbmd0aCYmIXQpKXtmb3IodmFyIG49ZG9jdW1lbnQuY29va2llP2RvY3VtZW50LmNvb2tpZS5zcGxpdChgOyBgKTpbXSxyPXt9LGk9MDtpPG4ubGVuZ3RoO2krKyl7dmFyIGE9bltpXS5zcGxpdChgPWApLG89YS5zbGljZSgxKS5qb2luKGA9YCk7dHJ5e3ZhciBzPWRlY29kZVVSSUNvbXBvbmVudChhWzBdKTtpZihyW3NdPWUucmVhZChvLHMpLHQ9PT1zKWJyZWFrfWNhdGNoe319cmV0dXJuIHQ/clt0XTpyfX1yZXR1cm4gT2JqZWN0LmNyZWF0ZSh7c2V0Om4sZ2V0OnIscmVtb3ZlOmZ1bmN0aW9uKGUsdCl7bihlLGBgLGJvKHt9LHQse2V4cGlyZXM6LTF9KSl9LHdpdGhBdHRyaWJ1dGVzOmZ1bmN0aW9uKGUpe3JldHVybiBTbyh0aGlzLmNvbnZlcnRlcixibyh7fSx0aGlzLmF0dHJpYnV0ZXMsZSkpfSx3aXRoQ29udmVydGVyOmZ1bmN0aW9uKGUpe3JldHVybiBTbyhibyh7fSx0aGlzLmNvbnZlcnRlcixlKSx0aGlzLmF0dHJpYnV0ZXMpfX0se2F0dHJpYnV0ZXM6e3ZhbHVlOk9iamVjdC5mcmVlemUodCl9LGNvbnZlcnRlcjp7dmFsdWU6T2JqZWN0LmZyZWV6ZShlKX19KX12YXIgQ289U28oeG8se3BhdGg6YC9gfSksd289YHNzdXBwYCxUbz0oZT0xODIpPT4oe2V4cGlyZXM6ZSxkb21haW46Vi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluLHBhdGg6Vi5nZXRPcHRpb25zKCkuY29va2llUGF0aHx8YC9gLHNhbWVTaXRlOmBzdHJpY3RgLHNlY3VyZTpCKCkubG9jYXRpb24ucHJvdG9jb2w9PT1gaHR0cHM6YH0pLEVvPWU9PmAke1YuZ2V0T3B0aW9ucygpLmNvb2tpZVByZWZpeHx8YGB9JHt3b30uJHtlfWAsRG89KHtuYW1lOmUsdmFsdWU6dCxleHBpcmF0aW9uSW5EYXlzOm49MTgyLG9wdGlvbnM6cn0pPT57Q28uc2V0KEVvKGUpLHQsey4uLlRvKG4pLC4uLnJ9KX0sT289ZT0+Q28uZ2V0KEVvKGUpKSxrbz1lPT57bGV0IHQ9RW8oZSk7aWYoQ28uZ2V0KHQpKXtsZXR7cGF0aDplLGRvbWFpbjpufT1UbygpO0NvLnJlbW92ZSh0LHtwYXRoOmUsZG9tYWluOm59KX19LEFvPWU9Pih0LC4uLm4pPT57ZShgW1NtYXJ0c3VwcF0gJHt0fWAsLi4ubil9LEg9QW8oY29uc29sZS53YXJuKSxqbz1Bbyhjb25zb2xlLmVycm9yKSxNbz0oKT0+e2xldHtrZXk6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7QigpLlNNQVJUU1VQUF9BVVRPQ1JFQVRFPT09ITE/YCR7eW8od2luZG93KS5pZH1fJHt3b31gOndvfV8ke2V9YH0sTm89ZT0+YCR7TW8oKX0ke2U/YF8ke2V9YDpgYH1gLFBvPWU9Pnt0cnl7bGV0IHQ9d2luZG93LmxvY2FsU3RvcmFnZS5nZXRJdGVtKE5vKGUpKT8/YHt9YDtyZXR1cm4gSlNPTi5wYXJzZSh0KX1jYXRjaHtyZXR1cm57fX19LEZvPShlLHQpPT57dHJ5e3dpbmRvdy5sb2NhbFN0b3JhZ2Uuc2V0SXRlbShObyh0KSxKU09OLnN0cmluZ2lmeShlKSl9Y2F0Y2goZSl7SChgU2V0IHRvIGxvY2FsIHN0b3JhZ2UgZmFpbGVkYCxlKX19LElvPShlLHQpPT57Rm8oey4uLlBvKCksW2VdOlN0cmluZyh0KX0pfSxMbz1lPT57bGV0IHQ9UG8oKTt0W2VdJiYoZGVsZXRlIHRbZV0sRm8odCkpfSxSbz0oKT0+e3dpbmRvdy5sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShObygpKSx3aW5kb3cubG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oTm8oYGNhcmRzYCkpfSxVPWZ1bmN0aW9uKGUpe3JldHVybiBlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuQXV0aEZvcm09YGF1dGhGb3JtYCxlLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZD1gaXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkYCxlLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQ9YG9wZW5lZGAsZS5NYXJrZXRpbmdDb25zZW50PWBtYXJrZXRpbmdDb25zZW50YCxlLk1lc3NhZ2U9YG1lc3NhZ2VgLGUuUG9wdXBDbG9zZWRBdD1gcG9wdXBDbG9zZWRBdGAsZS5SYXRpbmdUZXh0PWByYXRpbmdUZXh0YCxlLlNvdW5kc0VuYWJsZWQ9YGVuYWJsZVNvdW5kc2AsZS5WaXNpdG9ySWQ9YHZpZGAsZS5WaXNpdHM9YHZpc2l0c2AsZS5UaWNrZXRGb3JtPWB0aWNrZXRGb3JtYCxlLlNlc3Npb25JZD1gc2Vzc2lvbklkYCxlfSh7fSksem89ZT0+e2xldCB0PWBgO3JldHVybiBlPT09VS5WaXNpdG9ySWQmJlYuZ2V0T3B0aW9ucygpLmNvb2tpZURvbWFpbiYmKHQ9T28oZSkpLHR8fFBvKClbZV19LEJvPSh7bmFtZTplLHZhbHVlOnR9KT0+e2U9PT1VLlZpc2l0b3JJZCYmVi5nZXRPcHRpb25zKCkuY29va2llRG9tYWluJiZEbyh7bmFtZTplLHZhbHVlOnR9KSxJbyhlLHQpfSxWbz1lPT57TG8oZSl9O3oub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxlPT57Qm8oe25hbWU6VS5BbmFseXRpY3NDb25zZW50LHZhbHVlOlN0cmluZyhlKX0pfSksei5vbihgbWFya2V0aW5nQ29uc2VudENoYW5nZWRgLGU9PntCbyh7bmFtZTpVLk1hcmtldGluZ0NvbnNlbnQsdmFsdWU6U3RyaW5nKGUpfSl9KTt2YXIgSG89KCk9PiEhVi5nZXRPcHRpb25zKCkuY29uc2VudE1vZGVFbmFibGVkLFVvPSgpPT57bGV0IGU9em8oVS5BbmFseXRpY3NDb25zZW50KT09PWB0cnVlYDtyZXR1cm4hKEhvKCkmJiFlKX0sV289KCk9PntsZXQgZT16byhVLk1hcmtldGluZ0NvbnNlbnQpPT09YHRydWVgO3JldHVybiEoSG8oKSYmIWUpfSxHbz1gbW9kdWxlcHJlbG9hZGAsS289ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IFVSTChlLHQpLmhyZWZ9LHFvPXt9LEpvPWZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1Qcm9taXNlLnJlc29sdmUoKTtpZih0JiZ0Lmxlbmd0aD4wKXtsZXQgZT1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgbGlua2ApLGk9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgbWV0YVtwcm9wZXJ0eT1jc3Atbm9uY2VdYCksYT1pPy5ub25jZXx8aT8uZ2V0QXR0cmlidXRlKGBub25jZWApO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIFByb21pc2UuYWxsKGUubWFwKGU9PlByb21pc2UucmVzb2x2ZShlKS50aGVuKGU9Pih7c3RhdHVzOmBmdWxmaWxsZWRgLHZhbHVlOmV9KSxlPT4oe3N0YXR1czpgcmVqZWN0ZWRgLHJlYXNvbjplfSkpKSl9cj1vKHQubWFwKHQ9PntpZih0PUtvKHQsbiksdCBpbiBxbylyZXR1cm47cW9bdF09ITA7bGV0IHI9dC5lbmRzV2l0aChgLmNzc2ApLGk9cj9gW3JlbD0ic3R5bGVzaGVldCJdYDpgYDtpZihuKWZvcihsZXQgbj1lLmxlbmd0aC0xO24+PTA7bi0tKXtsZXQgaT1lW25dO2lmKGkuaHJlZj09PXQmJighcnx8aS5yZWw9PT1gc3R5bGVzaGVldGApKXJldHVybn1lbHNlIGlmKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYGxpbmtbaHJlZj0iJHt0fSJdJHtpfWApKXJldHVybjtsZXQgbz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBsaW5rYCk7aWYoby5yZWw9cj9gc3R5bGVzaGVldGA6R28scnx8KG8uYXM9YHNjcmlwdGApLG8uY3Jvc3NPcmlnaW49YGAsby5ocmVmPXQsYSYmby5zZXRBdHRyaWJ1dGUoYG5vbmNlYCxhKSxkb2N1bWVudC5oZWFkLmFwcGVuZENoaWxkKG8pLHIpcmV0dXJuIG5ldyBQcm9taXNlKChlLG4pPT57by5hZGRFdmVudExpc3RlbmVyKGBsb2FkYCxlKSxvLmFkZEV2ZW50TGlzdGVuZXIoYGVycm9yYCwoKT0+bihFcnJvcihgVW5hYmxlIHRvIHByZWxvYWQgQ1NTIGZvciAke3R9YCkpKX0pfSkpfWZ1bmN0aW9uIGkoZSl7bGV0IHQ9bmV3IEV2ZW50KGB2aXRlOnByZWxvYWRFcnJvcmAse2NhbmNlbGFibGU6ITB9KTtpZih0LnBheWxvYWQ9ZSx3aW5kb3cuZGlzcGF0Y2hFdmVudCh0KSwhdC5kZWZhdWx0UHJldmVudGVkKXRocm93IGV9cmV0dXJuIHIudGhlbih0PT57Zm9yKGxldCBlIG9mIHR8fFtdKWUuc3RhdHVzPT09YHJlamVjdGVkYCYmaShlLnJlYXNvbik7cmV0dXJuIGUoKS5jYXRjaChpKX0pfSxZbz0oKT0+ISFWLmdldE9wdGlvbnMoKS5jcm9zc0RvbWFpbkVuYWJsZWQsWG89KCk9PlYuZ2V0T3B0aW9ucygpLmFsbG93ZWREb21haW5zLmxlbmd0aD4wLFpvPWFzeW5jKCk9Pnt0cnl7bGV0IGU9YXdhaXQgbmV3KGF3YWl0KEpvKCgpPT5pbXBvcnQoYC4vdGh1bWJtYXJrLmVzbS1DUDRDVTB5TC5qc2ApLFtdLGltcG9ydC5tZXRhLnVybCkpKS5UaHVtYm1hcmsoKS5nZXQoKTtyZXR1cm4gdm8oYFZpc2l0b3IgZmluZ2VycHJpbnQgY3JlYXRlZGAsZS50aHVtYm1hcmspLGUudGh1bWJtYXJrfWNhdGNoKGUpe0goYEZhaWxlZCB0byBnZW5lcmF0ZSBmaW5nZXJwcmludDpgLGUpfX0sUW89YXN5bmMoKT0+e2lmKCEoIVlvKCl8fCFYbygpKSlyZXR1cm4gWm8oKX0sJG89KCk9PnpvKFUuVmlzaXRvcklkKXx8bnVsbCxlcz1lPT5Cbyh7bmFtZTpVLlZpc2l0b3JJZCx2YWx1ZTpTdHJpbmcoZSl9KSx0cz0oKT0+e2lmKFdvKCkpcmV0dXJuIHpvKFUuVmlzaXRzKT9OdW1iZXIoem8oVS5WaXNpdHMpKTowfSxucz1lPT57V28oKSYmQm8oe25hbWU6VS5WaXNpdHMsdmFsdWU6U3RyaW5nKGUpfSl9O3oub24oYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCxlPT57ZXx8Vm8oVS5WaXNpdHMpfSk7dmFyIHJzPShlLHQsbik9PntsZXR7c2V0OnIsc3Vic2NyaWJlOml9PU8odCx0PT57bGV0IHI9em8oZSk7ciYmdChuP24ocik6cil9KSxhPXQ9PntCbyh7bmFtZTplLHZhbHVlOlN0cmluZyh0KX0pfTtyZXR1cm57c2V0OmU9PnthKGUpLHIoZSl9LHN1YnNjcmliZTppfX0saXM9KCk9PmBvbnRvdWNoc3RhcnRgaW4gd2luZG93fHxuYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cz4wLGFzPSgpPT5bYGlQYWQgU2ltdWxhdG9yYCxgaVBob25lIFNpbXVsYXRvcmAsYGlQb2QgU2ltdWxhdG9yYCxgaVBhZGAsYGlQaG9uZWAsYGlQb2RgXS5pbmNsdWRlcyhuYXZpZ2F0b3IucGxhdGZvcm0pfHxuYXZpZ2F0b3IudXNlckFnZW50LmluY2x1ZGVzKGBNYWNgKSYmYG9udG91Y2hlbmRgaW4gZG9jdW1lbnQsb3M9TyhudWxsKSxzcz1rKFtvcyxPKHt3aWR0aDpCKCkuaW5uZXJXaWR0aCxoZWlnaHQ6QigpLmlubmVySGVpZ2h0fSldLChbZSx0XSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOm59PVYuZ2V0T3B0aW9ucygpO2lmKG4/LmVuZm9yY2VEZXNrdG9wTW9kZSlyZXR1cm4hMTtpZihlKXtsZXR7aXNNb2JpbGU6dCxpc1RhYmxldDpufT1lO2lmKG4pcmV0dXJuITE7aWYodClyZXR1cm4hMH1yZXR1cm4gdC53aWR0aDw0NTB8fHQuaGVpZ2h0PDUwMH0pLGNzPWsoW3NzXSwoW2VdKT0+e2xldHtmdWxsU2NyZWVuRW5hYmxlZDp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4hIShlfHx0KX0pLGxzPWsoW29zXSwoW2VdKT0+ZT8hIWU/LmlzRGVza3RvcCYmIWFzKCk6IWlzKCkpLHVzPWsoW2xzLGNzXSwoW2UsdF0pPT5lJiYhdCk7ayhbb3NdLChbZV0pPT4hIWU/LmlzVGFibGV0KTt2YXIgZHM9KCgpPT57bGV0IGU9Tyh7fSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lO3JldHVybntzdWJzY3JpYmU6dCxhZGQ6ZT0+e24odD0+KHsuLi50LFtlLmlkXTplfSkpfSxyZW1vdmU6ZT0+e24odD0+e2xldHtbZV06biwuLi5yfT10O3JldHVybiByfSl9LGZpbmQ6dD0+QShlKVt0XXx8bnVsbH19KSgpLGZzPWsoW2RzXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKSkscHM9ZT0+KHQsbj0zZTMpPT57bGV0IHI9YGZtLSR7ZX0tJHt0fWAsaT1kcy5maW5kKHIpLGE9MTtpJiYoY2xlYXJUaW1lb3V0KGkudGltZW91dCksYT1pLnJlY3VycmVuY2UrMSk7bGV0IG87cmV0dXJuIG4+MCYmKG89d2luZG93LnNldFRpbWVvdXQoKCk9PnttcyhyKX0sbikpLGRzLmFkZCh7aWQ6cix0eXBlOmUsdGV4dDp0LHRpbWVvdXQ6byxyZWN1cnJlbmNlOmF9KSwoKT0+bXMocil9LG1zPWU9Pntkcy5yZW1vdmUoZSl9LGhzPXBzKGBzdWNjZXNzYCksZ3M9cHMoYGVycm9yYCksX3M9cHMoYHdhcm5pbmdgKSx2cz1mdW5jdGlvbihlKXtyZXR1cm4gZVtlLkdvb2Q9NV09YEdvb2RgLGVbZS5Ob3JtYWw9M109YE5vcm1hbGAsZVtlLkJhZD0xXT1gQmFkYCxlfSh7fSkseXM9e1t2cy5Hb29kXTp7dmFsdWU6dnMuR29vZCx0ZXh0OmBhZ2VudFJhdGluZy5nb29kLmZvcm1UZXh0YCxuYW1lOmBnb29kYH0sW3ZzLk5vcm1hbF06e3ZhbHVlOnZzLk5vcm1hbCx0ZXh0OmBhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHRgLG5hbWU6YG5ldXRyYWxgfSxbdnMuQmFkXTp7dmFsdWU6dnMuQmFkLHRleHQ6YGFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dGAsbmFtZTpgYmFkYH19LGJzPU9iamVjdC52YWx1ZXMoeXMpLnNvcnQoKGUsdCk9PnQudmFsdWUtZS52YWx1ZSkseHM9YHJhdGVfZm9ybV9pZGAsU3M9e2lkOnhzLHR5cGU6YG1lc3NhZ2VgLHN1YlR5cGU6YHN5c3RlbWAsY2hhbm5lbDp7dHlwZTpgZGVmYXVsdGAsaWQ6bnVsbH0sY2hhdElkOmBgLHZpc2l0b3JJZDpgYCxncm91cElkOm51bGwsYWdlbnRJZDpudWxsLHRyaWdnZXI6bnVsbCxjcmVhdGVkQXQ6YGAsY29udGVudDp7dHlwZTpgcmF0ZV9mb3JtYCxkYXRhOnt9fSxhdHRhY2htZW50czpbXSxzdWJqZWN0Om51bGwsZm9yd2FyZGVkTWVzc2FnZUlkOm51bGwscGFydGljaXBhbnRzOltdLHJlcGx5VG9NZXNzYWdlSWQ6bnVsbCxkZWxldGVkQXQ6bnVsbCx3aWRnZXRPcHRpb25zOntkaXNhYmxlSW5wdXQ6ITEsZGlzYWJsZUF1dGhlbnRpY2F0aW9uOiExLGRpc2FibGVBdHRhY2htZW50czohMX19LENzPU8obnVsbCksd3M9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjcscz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBjKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNGaW5pdGUoZSkpcmV0dXJuIHQubG9uZz91KGUpOmwoZSk7dGhyb3cgRXJyb3IoYHZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgdmFsaWQgbnVtYmVyLiB2YWw9YCtKU09OLnN0cmluZ2lmeShlKSl9O2Z1bmN0aW9uIGMoZSl7aWYoZT1TdHJpbmcoZSksIShlLmxlbmd0aD4xMDApKXt2YXIgdD0vXigtPyg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8d2Vla3M/fHd8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIGM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIGMqcztjYXNlYHdlZWtzYDpjYXNlYHdlZWtgOmNhc2Vgd2A6cmV0dXJuIGMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBjKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gYyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIGMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBjKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIGM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gbChlKXt2YXIgdD1NYXRoLmFicyhlKTtyZXR1cm4gdD49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOnQ+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDp0Pj1yP01hdGgucm91bmQoZS9yKStgbWA6dD49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiB1KGUpe3ZhciB0PU1hdGguYWJzKGUpO3JldHVybiB0Pj1hP2QoZSx0LGEsYGRheWApOnQ+PWk/ZChlLHQsaSxgaG91cmApOnQ+PXI/ZChlLHQscixgbWludXRlYCk6dD49bj9kKGUsdCxuLGBzZWNvbmRgKTplK2AgbXNgfWZ1bmN0aW9uIGQoZSx0LG4scil7dmFyIGk9dD49bioxLjU7cmV0dXJuIE1hdGgucm91bmQoZS9uKStgIGArcisoaT9gc2A6YGApfX0pKSxUcz1zKCgoZSx0KT0+e2Z1bmN0aW9uIG4oZSl7bi5kZWJ1Zz1uLG4uZGVmYXVsdD1uLG4uY29lcmNlPWMsbi5kaXNhYmxlPW8sbi5lbmFibGU9aSxuLmVuYWJsZWQ9cyxuLmh1bWFuaXplPXdzKCksbi5kZXN0cm95PWwsT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57blt0XT1lW3RdfSksbi5uYW1lcz1bXSxuLnNraXBzPVtdLG4uZm9ybWF0dGVycz17fTtmdW5jdGlvbiB0KGUpe2xldCB0PTA7Zm9yKGxldCBuPTA7bjxlLmxlbmd0aDtuKyspdD0odDw8NSktdCtlLmNoYXJDb2RlQXQobiksdHw9MDtyZXR1cm4gbi5jb2xvcnNbTWF0aC5hYnModCklbi5jb2xvcnMubGVuZ3RoXX1uLnNlbGVjdENvbG9yPXQ7ZnVuY3Rpb24gbihlKXtsZXQgdCxpPW51bGwsYSxvO2Z1bmN0aW9uIHMoLi4uZSl7aWYoIXMuZW5hYmxlZClyZXR1cm47bGV0IHI9cyxpPU51bWJlcihuZXcgRGF0ZSk7ci5kaWZmPWktKHR8fGkpLHIucHJldj10LHIuY3Vycj1pLHQ9aSxlWzBdPW4uY29lcmNlKGVbMF0pLHR5cGVvZiBlWzBdIT1gc3RyaW5nYCYmZS51bnNoaWZ0KGAlT2ApO2xldCBhPTA7ZVswXT1lWzBdLnJlcGxhY2UoLyUoW2EtekEtWiVdKS9nLCh0LGkpPT57aWYodD09PWAlJWApcmV0dXJuYCVgO2ErKztsZXQgbz1uLmZvcm1hdHRlcnNbaV07aWYodHlwZW9mIG89PWBmdW5jdGlvbmApe2xldCBuPWVbYV07dD1vLmNhbGwocixuKSxlLnNwbGljZShhLDEpLGEtLX1yZXR1cm4gdH0pLG4uZm9ybWF0QXJncy5jYWxsKHIsZSksKHIubG9nfHxuLmxvZykuYXBwbHkocixlKX1yZXR1cm4gcy5uYW1lc3BhY2U9ZSxzLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLHMuY29sb3I9bi5zZWxlY3RDb2xvcihlKSxzLmV4dGVuZD1yLHMuZGVzdHJveT1uLmRlc3Ryb3ksT2JqZWN0LmRlZmluZVByb3BlcnR5KHMsYGVuYWJsZWRgLHtlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMSxnZXQ6KCk9Pmk9PT1udWxsPyhhIT09bi5uYW1lc3BhY2VzJiYoYT1uLm5hbWVzcGFjZXMsbz1uLmVuYWJsZWQoZSkpLG8pOmksc2V0OmU9PntpPWV9fSksdHlwZW9mIG4uaW5pdD09YGZ1bmN0aW9uYCYmbi5pbml0KHMpLHN9ZnVuY3Rpb24gcihlLHQpe2xldCByPW4odGhpcy5uYW1lc3BhY2UrKHQ9PT12b2lkIDA/YDpgOnQpK2UpO3JldHVybiByLmxvZz10aGlzLmxvZyxyfWZ1bmN0aW9uIGkoZSl7bi5zYXZlKGUpLG4ubmFtZXNwYWNlcz1lLG4ubmFtZXM9W10sbi5za2lwcz1bXTtsZXQgdD0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnRyaW0oKS5yZXBsYWNlKC9ccysvZyxgLGApLnNwbGl0KGAsYCkuZmlsdGVyKEJvb2xlYW4pO2ZvcihsZXQgZSBvZiB0KWVbMF09PT1gLWA/bi5za2lwcy5wdXNoKGUuc2xpY2UoMSkpOm4ubmFtZXMucHVzaChlKX1mdW5jdGlvbiBhKGUsdCl7bGV0IG49MCxyPTAsaT0tMSxhPTA7Zm9yKDtuPGUubGVuZ3RoOylpZihyPHQubGVuZ3RoJiYodFtyXT09PWVbbl18fHRbcl09PT1gKmApKXRbcl09PT1gKmA/KGk9cixhPW4scisrKToobisrLHIrKyk7ZWxzZSBpZihpIT09LTEpcj1pKzEsYSsrLG49YTtlbHNlIHJldHVybiExO2Zvcig7cjx0Lmxlbmd0aCYmdFtyXT09PWAqYDspcisrO3JldHVybiByPT09dC5sZW5ndGh9ZnVuY3Rpb24gbygpe2xldCBlPVsuLi5uLm5hbWVzLC4uLm4uc2tpcHMubWFwKGU9PmAtYCtlKV0uam9pbihgLGApO3JldHVybiBuLmVuYWJsZShgYCksZX1mdW5jdGlvbiBzKGUpe2ZvcihsZXQgdCBvZiBuLnNraXBzKWlmKGEoZSx0KSlyZXR1cm4hMTtmb3IobGV0IHQgb2Ygbi5uYW1lcylpZihhKGUsdCkpcmV0dXJuITA7cmV0dXJuITF9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIEVycm9yP2Uuc3RhY2t8fGUubWVzc2FnZTplfWZ1bmN0aW9uIGwoKXtjb25zb2xlLndhcm4oIkluc3RhbmNlIG1ldGhvZCBgZGVidWcuZGVzdHJveSgpYCBpcyBkZXByZWNhdGVkIGFuZCBubyBsb25nZXIgZG9lcyBhbnl0aGluZy4gSXQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgYGRlYnVnYC4iKX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksRXM9cygoKGUsdCk9PntlLmZvcm1hdEFyZ3M9cixlLnNhdmU9aSxlLmxvYWQ9YSxlLnVzZUNvbG9ycz1uLGUuc3RvcmFnZT1vKCksZS5kZXN0cm95PSgoKT0+e2xldCBlPSExO3JldHVybigpPT57ZXx8KGU9ITAsY29uc29sZS53YXJuKCJJbnN0YW5jZSBtZXRob2QgYGRlYnVnLmRlc3Ryb3koKWAgaXMgZGVwcmVjYXRlZCBhbmQgbm8gbG9uZ2VyIGRvZXMgYW55dGhpbmcuIEl0IHdpbGwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uIG9mIGBkZWJ1Z2AuIikpfX0pKCksZS5jb2xvcnM9YCMwMDAwQ0MuIzAwMDBGRi4jMDAzM0NDLiMwMDMzRkYuIzAwNjZDQy4jMDA2NkZGLiMwMDk5Q0MuIzAwOTlGRi4jMDBDQzAwLiMwMENDMzMuIzAwQ0M2Ni4jMDBDQzk5LiMwMENDQ0MuIzAwQ0NGRi4jMzMwMENDLiMzMzAwRkYuIzMzMzNDQy4jMzMzM0ZGLiMzMzY2Q0MuIzMzNjZGRi4jMzM5OUNDLiMzMzk5RkYuIzMzQ0MwMC4jMzNDQzMzLiMzM0NDNjYuIzMzQ0M5OS4jMzNDQ0NDLiMzM0NDRkYuIzY2MDBDQy4jNjYwMEZGLiM2NjMzQ0MuIzY2MzNGRi4jNjZDQzAwLiM2NkNDMzMuIzk5MDBDQy4jOTkwMEZGLiM5OTMzQ0MuIzk5MzNGRi4jOTlDQzAwLiM5OUNDMzMuI0NDMDAwMC4jQ0MwMDMzLiNDQzAwNjYuI0NDMDA5OS4jQ0MwMENDLiNDQzAwRkYuI0NDMzMwMC4jQ0MzMzMzLiNDQzMzNjYuI0NDMzM5OS4jQ0MzM0NDLiNDQzMzRkYuI0NDNjYwMC4jQ0M2NjMzLiNDQzk5MDAuI0NDOTkzMy4jQ0NDQzAwLiNDQ0NDMzMuI0ZGMDAwMC4jRkYwMDMzLiNGRjAwNjYuI0ZGMDA5OS4jRkYwMENDLiNGRjAwRkYuI0ZGMzMwMC4jRkYzMzMzLiNGRjMzNjYuI0ZGMzM5OS4jRkYzM0NDLiNGRjMzRkYuI0ZGNjYwMC4jRkY2NjMzLiNGRjk5MDAuI0ZGOTkzMy4jRkZDQzAwLiNGRkNDMzNgLnNwbGl0KGAuYCk7ZnVuY3Rpb24gbigpe2lmKHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpKXJldHVybiEwO2lmKHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pKXJldHVybiExO2xldCBlO3JldHVybiB0eXBlb2YgZG9jdW1lbnQ8YHVgJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlLldlYmtpdEFwcGVhcmFuY2V8fHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cuY29uc29sZSYmKHdpbmRvdy5jb25zb2xlLmZpcmVidWd8fHdpbmRvdy5jb25zb2xlLmV4Y2VwdGlvbiYmd2luZG93LmNvbnNvbGUudGFibGUpfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmKGU9bmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9maXJlZm94XC8oXGQrKS8pKSYmcGFyc2VJbnQoZVsxXSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZS5sb2c9Y29uc29sZS5kZWJ1Z3x8Y29uc29sZS5sb2d8fCgoKT0+e30pO2Z1bmN0aW9uIGkodCl7dHJ5e3Q/ZS5zdG9yYWdlLnNldEl0ZW0oYGRlYnVnYCx0KTplLnN0b3JhZ2UucmVtb3ZlSXRlbShgZGVidWdgKX1jYXRjaHt9fWZ1bmN0aW9uIGEoKXtsZXQgdDt0cnl7dD1lLnN0b3JhZ2UuZ2V0SXRlbShgZGVidWdgKXx8ZS5zdG9yYWdlLmdldEl0ZW0oYERFQlVHYCl9Y2F0Y2h7fXJldHVybiF0JiZ0eXBlb2YgcHJvY2VzczxgdWAmJmBlbnZgaW4gcHJvY2VzcyYmKHQ9e30uREVCVUcpLHR9ZnVuY3Rpb24gbygpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlfWNhdGNoe319dC5leHBvcnRzPVRzKCkoZSk7dmFye2Zvcm1hdHRlcnM6c309dC5leHBvcnRzO3Muaj1mdW5jdGlvbihlKXt0cnl7cmV0dXJuIEpTT04uc3RyaW5naWZ5KGUpfWNhdGNoKGUpe3JldHVybmBbVW5leHBlY3RlZEpTT05QYXJzZUVycm9yXTogYCtlLm1lc3NhZ2V9fX0pKSxEcz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuY3JlYXRlRW1pdHRlcj1lLmNyZWF0ZUNhbGxiYWNrPWUuYm91bmQ9ZS5jcmVhdGVTb2NrZXRFcnJvcj1lLlNvY2tldEVycm9yPWUuZGVidWc9dm9pZCAwLGUuZGVidWc9bigpO2Z1bmN0aW9uIG4oKXt0cnl7cmV0dXJuIEVzKCkoYHNtYXJ0c3VwcDpjbGllbnRgKX1jYXRjaHtyZXR1cm4gZnVuY3Rpb24oKXt9fX12YXIgcj1mdW5jdGlvbihlKXt0KG4sZSk7ZnVuY3Rpb24gbih0LHIpe3ZhciBpPWUuY2FsbCh0aGlzLHQpfHx0aGlzO3JldHVybiBPYmplY3Quc2V0UHJvdG90eXBlT2YoaSxuLnByb3RvdHlwZSksaS5uYW1lPWkuY29uc3RydWN0b3IubmFtZSxpLmNvZGU9ci5jb2RlLGkudHlwZT1yLnR5cGUsaS5ldmVudD1yLmV2ZW50LHImJnIuc3RhY2smJihpLnN0YWNrPWAke2kuc3RhY2t9CkNhdXNlZCBCeTogJHtyLnN0YWNrfWApLGl9cmV0dXJuIG59KEVycm9yKTtlLlNvY2tldEVycm9yPXI7ZnVuY3Rpb24gaShlKXtyZXR1cm4gbmV3IHIoZS5tZXNzYWdlLGUpfWUuY3JlYXRlU29ja2V0RXJyb3I9aTtmdW5jdGlvbiBhKGUsdCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIG49Wy4uLmFyZ3VtZW50c107ZVt0XS5hcHBseShlLG4pfX1lLmJvdW5kPWE7ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBmdW5jdGlvbihuLHIpe24/dChpKG4pKTplKHIpfX1lLmNyZWF0ZUNhbGxiYWNrPW87ZnVuY3Rpb24gcyhlLHQpe3JldHVybiBmdW5jdGlvbihuKXtlLmVtaXQodCxuKX19ZS5jcmVhdGVFbWl0dGVyPXN9KSksT3M9cygoKGUsdCk9Pnt2YXIgbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHI9YH5gO2Z1bmN0aW9uIGkoKXt9T2JqZWN0LmNyZWF0ZSYmKGkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUobnVsbCksbmV3IGkoKS5fX3Byb3RvX198fChyPSExKSk7ZnVuY3Rpb24gYShlLHQsbil7dGhpcy5mbj1lLHRoaXMuY29udGV4dD10LHRoaXMub25jZT1ufHwhMX1mdW5jdGlvbiBvKGUsdCxuLGksbyl7aWYodHlwZW9mIG4hPWBmdW5jdGlvbmApdGhyb3cgVHlwZUVycm9yKGBUaGUgbGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uYCk7dmFyIHM9bmV3IGEobixpfHxlLG8pLGM9cj9yK3Q6dDtyZXR1cm4gZS5fZXZlbnRzW2NdP2UuX2V2ZW50c1tjXS5mbj9lLl9ldmVudHNbY109W2UuX2V2ZW50c1tjXSxzXTplLl9ldmVudHNbY10ucHVzaChzKTooZS5fZXZlbnRzW2NdPXMsZS5fZXZlbnRzQ291bnQrKyksZX1mdW5jdGlvbiBzKGUsdCl7LS1lLl9ldmVudHNDb3VudD09PTA/ZS5fZXZlbnRzPW5ldyBpOmRlbGV0ZSBlLl9ldmVudHNbdF19ZnVuY3Rpb24gYygpe3RoaXMuX2V2ZW50cz1uZXcgaSx0aGlzLl9ldmVudHNDb3VudD0wfWMucHJvdG90eXBlLmV2ZW50TmFtZXM9ZnVuY3Rpb24oKXt2YXIgZT1bXSx0LGk7aWYodGhpcy5fZXZlbnRzQ291bnQ9PT0wKXJldHVybiBlO2ZvcihpIGluIHQ9dGhpcy5fZXZlbnRzKW4uY2FsbCh0LGkpJiZlLnB1c2gocj9pLnNsaWNlKDEpOmkpO3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzP2UuY29uY2F0KE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCkpOmV9LGMucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO2lmKCFuKXJldHVybltdO2lmKG4uZm4pcmV0dXJuW24uZm5dO2Zvcih2YXIgaT0wLGE9bi5sZW5ndGgsbz1BcnJheShhKTtpPGE7aSsrKW9baV09bltpXS5mbjtyZXR1cm4gb30sYy5wcm90b3R5cGUubGlzdGVuZXJDb3VudD1mdW5jdGlvbihlKXt2YXIgdD1yP3IrZTplLG49dGhpcy5fZXZlbnRzW3RdO3JldHVybiBuP24uZm4/MTpuLmxlbmd0aDowfSxjLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUsdCxuLGksYSxvKXt2YXIgcz1yP3IrZTplO2lmKCF0aGlzLl9ldmVudHNbc10pcmV0dXJuITE7dmFyIGM9dGhpcy5fZXZlbnRzW3NdLGw9YXJndW1lbnRzLmxlbmd0aCx1LGQ7aWYoYy5mbil7c3dpdGNoKGMub25jZSYmdGhpcy5yZW1vdmVMaXN0ZW5lcihlLGMuZm4sdm9pZCAwLCEwKSxsKXtjYXNlIDE6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQpLCEwO2Nhc2UgMjpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0KSwhMDtjYXNlIDM6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuKSwhMDtjYXNlIDQ6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGkpLCEwO2Nhc2UgNTpyZXR1cm4gYy5mbi5jYWxsKGMuY29udGV4dCx0LG4saSxhKSwhMDtjYXNlIDY6cmV0dXJuIGMuZm4uY2FsbChjLmNvbnRleHQsdCxuLGksYSxvKSwhMH1mb3IoZD0xLHU9QXJyYXkobC0xKTtkPGw7ZCsrKXVbZC0xXT1hcmd1bWVudHNbZF07Yy5mbi5hcHBseShjLmNvbnRleHQsdSl9ZWxzZXt2YXIgZj1jLmxlbmd0aCxwO2ZvcihkPTA7ZDxmO2QrKylzd2l0Y2goY1tkXS5vbmNlJiZ0aGlzLnJlbW92ZUxpc3RlbmVyKGUsY1tkXS5mbix2b2lkIDAsITApLGwpe2Nhc2UgMTpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0KTticmVhaztjYXNlIDI6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0KTticmVhaztjYXNlIDM6Y1tkXS5mbi5jYWxsKGNbZF0uY29udGV4dCx0LG4pO2JyZWFrO2Nhc2UgNDpjW2RdLmZuLmNhbGwoY1tkXS5jb250ZXh0LHQsbixpKTticmVhaztkZWZhdWx0OmlmKCF1KWZvcihwPTEsdT1BcnJheShsLTEpO3A8bDtwKyspdVtwLTFdPWFyZ3VtZW50c1twXTtjW2RdLmZuLmFwcGx5KGNbZF0uY29udGV4dCx1KX19cmV0dXJuITB9LGMucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCxuKXtyZXR1cm4gbyh0aGlzLGUsdCxuLCExKX0sYy5wcm90b3R5cGUub25jZT1mdW5jdGlvbihlLHQsbil7cmV0dXJuIG8odGhpcyxlLHQsbiwhMCl9LGMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPWZ1bmN0aW9uKGUsdCxuLGkpe3ZhciBhPXI/citlOmU7aWYoIXRoaXMuX2V2ZW50c1thXSlyZXR1cm4gdGhpcztpZighdClyZXR1cm4gcyh0aGlzLGEpLHRoaXM7dmFyIG89dGhpcy5fZXZlbnRzW2FdO2lmKG8uZm4pby5mbj09PXQmJighaXx8by5vbmNlKSYmKCFufHxvLmNvbnRleHQ9PT1uKSYmcyh0aGlzLGEpO2Vsc2V7Zm9yKHZhciBjPTAsbD1bXSx1PW8ubGVuZ3RoO2M8dTtjKyspKG9bY10uZm4hPT10fHxpJiYhb1tjXS5vbmNlfHxuJiZvW2NdLmNvbnRleHQhPT1uKSYmbC5wdXNoKG9bY10pO2wubGVuZ3RoP3RoaXMuX2V2ZW50c1thXT1sLmxlbmd0aD09PTE/bFswXTpsOnModGhpcyxhKX1yZXR1cm4gdGhpc30sYy5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3ZhciB0O3JldHVybiBlPyh0PXI/citlOmUsdGhpcy5fZXZlbnRzW3RdJiZzKHRoaXMsdCkpOih0aGlzLl9ldmVudHM9bmV3IGksdGhpcy5fZXZlbnRzQ291bnQ9MCksdGhpc30sYy5wcm90b3R5cGUub2ZmPWMucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyLGMucHJvdG90eXBlLmFkZExpc3RlbmVyPWMucHJvdG90eXBlLm9uLGMucHJlZml4ZWQ9cixjLkV2ZW50RW1pdHRlcj1jLHQhPT12b2lkIDAmJih0LmV4cG9ydHM9Yyl9KSksa3M9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsaT1lLmluZGV4T2YoYFtgKSxhPWUuaW5kZXhPZihgXWApO2khPS0xJiZhIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxpKStlLnN1YnN0cmluZyhpLGEpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKGEsZS5sZW5ndGgpKTtmb3IodmFyIG89bi5leGVjKGV8fGBgKSxzPXt9LGM9MTQ7Yy0tOylzW3JbY11dPW9bY118fGBgO3JldHVybiBpIT0tMSYmYSE9LTEmJihzLnNvdXJjZT10LHMuaG9zdD1zLmhvc3Quc3Vic3RyaW5nKDEscy5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxzLmF1dGhvcml0eT1zLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLHMuaXB2NnVyaT0hMCksc319KSksQXM9cygoKGUsdCk9PntmdW5jdGlvbiBuKGUpe24uZGVidWc9bixuLmRlZmF1bHQ9bixuLmNvZXJjZT1sLG4uZGlzYWJsZT1vLG4uZW5hYmxlPWEsbi5lbmFibGVkPXMsbi5odW1hbml6ZT13cygpLE9iamVjdC5rZXlzKGUpLmZvckVhY2godD0+e25bdF09ZVt0XX0pLG4uaW5zdGFuY2VzPVtdLG4ubmFtZXM9W10sbi5za2lwcz1bXSxuLmZvcm1hdHRlcnM9e307ZnVuY3Rpb24gdChlKXtsZXQgdD0wO2ZvcihsZXQgbj0wO248ZS5sZW5ndGg7bisrKXQ9KHQ8PDUpLXQrZS5jaGFyQ29kZUF0KG4pLHR8PTA7cmV0dXJuIG4uY29sb3JzW01hdGguYWJzKHQpJW4uY29sb3JzLmxlbmd0aF19bi5zZWxlY3RDb2xvcj10O2Z1bmN0aW9uIG4oZSl7bGV0IGE7ZnVuY3Rpb24gbyguLi5lKXtpZighby5lbmFibGVkKXJldHVybjtsZXQgdD1vLHI9TnVtYmVyKG5ldyBEYXRlKTt0LmRpZmY9ci0oYXx8ciksdC5wcmV2PWEsdC5jdXJyPXIsYT1yLGVbMF09bi5jb2VyY2UoZVswXSksdHlwZW9mIGVbMF0hPWBzdHJpbmdgJiZlLnVuc2hpZnQoYCVPYCk7bGV0IGk9MDtlWzBdPWVbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csKHIsYSk9PntpZihyPT09YCUlYClyZXR1cm4gcjtpKys7bGV0IG89bi5mb3JtYXR0ZXJzW2FdO2lmKHR5cGVvZiBvPT1gZnVuY3Rpb25gKXtsZXQgbj1lW2ldO3I9by5jYWxsKHQsbiksZS5zcGxpY2UoaSwxKSxpLS19cmV0dXJuIHJ9KSxuLmZvcm1hdEFyZ3MuY2FsbCh0LGUpLCh0LmxvZ3x8bi5sb2cpLmFwcGx5KHQsZSl9cmV0dXJuIG8ubmFtZXNwYWNlPWUsby5lbmFibGVkPW4uZW5hYmxlZChlKSxvLnVzZUNvbG9ycz1uLnVzZUNvbG9ycygpLG8uY29sb3I9dChlKSxvLmRlc3Ryb3k9cixvLmV4dGVuZD1pLHR5cGVvZiBuLmluaXQ9PWBmdW5jdGlvbmAmJm4uaW5pdChvKSxuLmluc3RhbmNlcy5wdXNoKG8pLG99ZnVuY3Rpb24gcigpe2xldCBlPW4uaW5zdGFuY2VzLmluZGV4T2YodGhpcyk7cmV0dXJuIGU9PT0tMT8hMToobi5pbnN0YW5jZXMuc3BsaWNlKGUsMSksITApfWZ1bmN0aW9uIGkoZSx0KXtsZXQgcj1uKHRoaXMubmFtZXNwYWNlKyh0PT09dm9pZCAwP2A6YDp0KStlKTtyZXR1cm4gci5sb2c9dGhpcy5sb2cscn1mdW5jdGlvbiBhKGUpe24uc2F2ZShlKSxuLm5hbWVzPVtdLG4uc2tpcHM9W107bGV0IHQscj0odHlwZW9mIGU9PWBzdHJpbmdgP2U6YGApLnNwbGl0KC9bXHMsXSsvKSxpPXIubGVuZ3RoO2Zvcih0PTA7dDxpO3QrKylyW3RdJiYoZT1yW3RdLnJlcGxhY2UoL1wqL2csYC4qP2ApLGVbMF09PT1gLWA/bi5za2lwcy5wdXNoKFJlZ0V4cChgXmArZS5zdWJzdHIoMSkrYCRgKSk6bi5uYW1lcy5wdXNoKFJlZ0V4cChgXmArZStgJGApKSk7Zm9yKHQ9MDt0PG4uaW5zdGFuY2VzLmxlbmd0aDt0Kyspe2xldCBlPW4uaW5zdGFuY2VzW3RdO2UuZW5hYmxlZD1uLmVuYWJsZWQoZS5uYW1lc3BhY2UpfX1mdW5jdGlvbiBvKCl7bGV0IGU9Wy4uLm4ubmFtZXMubWFwKGMpLC4uLm4uc2tpcHMubWFwKGMpLm1hcChlPT5gLWArZSldLmpvaW4oYCxgKTtyZXR1cm4gbi5lbmFibGUoYGApLGV9ZnVuY3Rpb24gcyhlKXtpZihlW2UubGVuZ3RoLTFdPT09YCpgKXJldHVybiEwO2xldCB0LHI7Zm9yKHQ9MCxyPW4uc2tpcHMubGVuZ3RoO3Q8cjt0KyspaWYobi5za2lwc1t0XS50ZXN0KGUpKXJldHVybiExO2Zvcih0PTAscj1uLm5hbWVzLmxlbmd0aDt0PHI7dCsrKWlmKG4ubmFtZXNbdF0udGVzdChlKSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBjKGUpe3JldHVybiBlLnRvU3RyaW5nKCkuc3Vic3RyaW5nKDIsZS50b1N0cmluZygpLmxlbmd0aC0yKS5yZXBsYWNlKC9cLlwqXD8kLyxgKmApfWZ1bmN0aW9uIGwoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX1yZXR1cm4gbi5lbmFibGUobi5sb2FkKCkpLG59dC5leHBvcnRzPW59KSksanM9cygoKGUsdCk9PntlLmxvZz1pLGUuZm9ybWF0QXJncz1yLGUuc2F2ZT1hLGUubG9hZD1vLGUudXNlQ29sb3JzPW4sZS5zdG9yYWdlPXMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmKHdpbmRvdy5wcm9jZXNzLnR5cGU9PT1gcmVuZGVyZXJgfHx3aW5kb3cucHJvY2Vzcy5fX253anMpPyEwOnR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXC8oXGQrKS8pPyExOnR5cGVvZiBkb2N1bWVudDxgdWAmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnN0eWxlJiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuV2Via2l0QXBwZWFyYW5jZXx8dHlwZW9mIHdpbmRvdzxgdWAmJndpbmRvdy5jb25zb2xlJiYod2luZG93LmNvbnNvbGUuZmlyZWJ1Z3x8d2luZG93LmNvbnNvbGUuZXhjZXB0aW9uJiZ3aW5kb3cuY29uc29sZS50YWJsZSl8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2ZpcmVmb3hcLyhcZCspLykmJnBhcnNlSW50KFJlZ0V4cC4kMSwxMCk+PTMxfHx0eXBlb2YgbmF2aWdhdG9yPGB1YCYmbmF2aWdhdG9yLnVzZXJBZ2VudCYmbmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLm1hdGNoKC9hcHBsZXdlYmtpdFwvKFxkKykvKX1mdW5jdGlvbiByKGUpe2lmKGVbMF09KHRoaXMudXNlQ29sb3JzP2AlY2A6YGApK3RoaXMubmFtZXNwYWNlKyh0aGlzLnVzZUNvbG9ycz9gICVjYDpgIGApK2VbMF0rKHRoaXMudXNlQ29sb3JzP2AlYyBgOmAgYCkrYCtgK3QuZXhwb3J0cy5odW1hbml6ZSh0aGlzLmRpZmYpLCF0aGlzLnVzZUNvbG9ycylyZXR1cm47bGV0IG49YGNvbG9yOiBgK3RoaXMuY29sb3I7ZS5zcGxpY2UoMSwwLG4sYGNvbG9yOiBpbmhlcml0YCk7bGV0IHI9MCxpPTA7ZVswXS5yZXBsYWNlKC8lW2EtekEtWiVdL2csZT0+e2UhPT1gJSVgJiYocisrLGU9PT1gJWNgJiYoaT1yKSl9KSxlLnNwbGljZShpLDAsbil9ZnVuY3Rpb24gaSguLi5lKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmY29uc29sZS5sb2coLi4uZSl9ZnVuY3Rpb24gYSh0KXt0cnl7dD9lLnN0b3JhZ2Uuc2V0SXRlbShgZGVidWdgLHQpOmUuc3RvcmFnZS5yZW1vdmVJdGVtKGBkZWJ1Z2ApfWNhdGNoe319ZnVuY3Rpb24gbygpe2xldCB0O3RyeXt0PWUuc3RvcmFnZS5nZXRJdGVtKGBkZWJ1Z2ApfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWZ1bmN0aW9uIHMoKXt0cnl7cmV0dXJuIGxvY2FsU3RvcmFnZX1jYXRjaHt9fXQuZXhwb3J0cz1BcygpKGUpO3Zhcntmb3JtYXR0ZXJzOmN9PXQuZXhwb3J0cztjLmo9ZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBKU09OLnN0cmluZ2lmeShlKX1jYXRjaChlKXtyZXR1cm5gW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06IGArZS5tZXNzYWdlfX19KSksTXM9cygoKGUsdCk9Pnt2YXIgbj1rcygpLHI9anMoKShgc29ja2V0LmlvLWNsaWVudDp1cmxgKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUsdCl7dmFyIGk9ZTt0fHw9dHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24sZT8/PXQucHJvdG9jb2wrYC8vYCt0Lmhvc3QsdHlwZW9mIGU9PWBzdHJpbmdgJiYoZS5jaGFyQXQoMCk9PT1gL2AmJihlPWUuY2hhckF0KDEpPT09YC9gP3QucHJvdG9jb2wrZTp0Lmhvc3QrZSksL14oaHR0cHM/fHdzcz8pOlwvXC8vLnRlc3QoZSl8fChyKGBwcm90b2NvbC1sZXNzIHVybCAlc2AsZSksZT10PT09dm9pZCAwP2BodHRwczovL2ArZTp0LnByb3RvY29sK2AvL2ArZSkscihgcGFyc2UgJXNgLGUpLGk9bihlKSksaS5wb3J0fHwoL14oaHR0cHx3cykkLy50ZXN0KGkucHJvdG9jb2wpP2kucG9ydD1gODBgOi9eKGh0dHB8d3MpcyQvLnRlc3QoaS5wcm90b2NvbCkmJihpLnBvcnQ9YDQ0M2ApKSxpLnBhdGg9aS5wYXRofHxgL2A7dmFyIGE9aS5ob3N0LmluZGV4T2YoYDpgKT09PS0xP2kuaG9zdDpgW2AraS5ob3N0K2BdYDtyZXR1cm4gaS5pZD1pLnByb3RvY29sK2A6Ly9gK2ErYDpgK2kucG9ydCxpLmhyZWY9aS5wcm90b2NvbCtgOi8vYCthKyh0JiZ0LnBvcnQ9PT1pLnBvcnQ/YGA6YDpgK2kucG9ydCksaX19KSksTnM9cygoKGUsdCk9Pnt2YXIgbj0xZTMscj1uKjYwLGk9cio2MCxhPWkqMjQsbz1hKjM2NS4yNTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0KXt0fHw9e307dmFyIG49dHlwZW9mIGU7aWYobj09PWBzdHJpbmdgJiZlLmxlbmd0aD4wKXJldHVybiBzKGUpO2lmKG49PT1gbnVtYmVyYCYmaXNOYU4oZSk9PT0hMSlyZXR1cm4gdC5sb25nP2woZSk6YyhlKTt0aHJvdyBFcnJvcihgdmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBudW1iZXIuIHZhbD1gK0pTT04uc3RyaW5naWZ5KGUpKX07ZnVuY3Rpb24gcyhlKXtpZihlPVN0cmluZyhlKSwhKGUubGVuZ3RoPjEwMCkpe3ZhciB0PS9eKCg/OlxkKyk/XC4/XGQrKSAqKG1pbGxpc2Vjb25kcz98bXNlY3M/fG1zfHNlY29uZHM/fHNlY3M/fHN8bWludXRlcz98bWlucz98bXxob3Vycz98aHJzP3xofGRheXM/fGR8eWVhcnM/fHlycz98eSk/JC9pLmV4ZWMoZSk7aWYodCl7dmFyIHM9cGFyc2VGbG9hdCh0WzFdKTtzd2l0Y2goKHRbMl18fGBtc2ApLnRvTG93ZXJDYXNlKCkpe2Nhc2VgeWVhcnNgOmNhc2VgeWVhcmA6Y2FzZWB5cnNgOmNhc2VgeXJgOmNhc2VgeWA6cmV0dXJuIHMqbztjYXNlYGRheXNgOmNhc2VgZGF5YDpjYXNlYGRgOnJldHVybiBzKmE7Y2FzZWBob3Vyc2A6Y2FzZWBob3VyYDpjYXNlYGhyc2A6Y2FzZWBocmA6Y2FzZWBoYDpyZXR1cm4gcyppO2Nhc2VgbWludXRlc2A6Y2FzZWBtaW51dGVgOmNhc2VgbWluc2A6Y2FzZWBtaW5gOmNhc2VgbWA6cmV0dXJuIHMqcjtjYXNlYHNlY29uZHNgOmNhc2Vgc2Vjb25kYDpjYXNlYHNlY3NgOmNhc2Vgc2VjYDpjYXNlYHNgOnJldHVybiBzKm47Y2FzZWBtaWxsaXNlY29uZHNgOmNhc2VgbWlsbGlzZWNvbmRgOmNhc2VgbXNlY3NgOmNhc2VgbXNlY2A6Y2FzZWBtc2A6cmV0dXJuIHM7ZGVmYXVsdDpyZXR1cm59fX19ZnVuY3Rpb24gYyhlKXtyZXR1cm4gZT49YT9NYXRoLnJvdW5kKGUvYSkrYGRgOmU+PWk/TWF0aC5yb3VuZChlL2kpK2BoYDplPj1yP01hdGgucm91bmQoZS9yKStgbWA6ZT49bj9NYXRoLnJvdW5kKGUvbikrYHNgOmUrYG1zYH1mdW5jdGlvbiBsKGUpe3JldHVybiB1KGUsYSxgZGF5YCl8fHUoZSxpLGBob3VyYCl8fHUoZSxyLGBtaW51dGVgKXx8dShlLG4sYHNlY29uZGApfHxlK2AgbXNgfWZ1bmN0aW9uIHUoZSx0LG4pe2lmKCEoZTx0KSlyZXR1cm4gZTx0KjEuNT9NYXRoLmZsb29yKGUvdCkrYCBgK246TWF0aC5jZWlsKGUvdCkrYCBgK24rYHNgfX0pKSxQcz1zKCgoZSx0KT0+e2U9dC5leHBvcnRzPXIuZGVidWc9ci5kZWZhdWx0PXIsZS5jb2VyY2U9YyxlLmRpc2FibGU9byxlLmVuYWJsZT1hLGUuZW5hYmxlZD1zLGUuaHVtYW5pemU9TnMoKSxlLmluc3RhbmNlcz1bXSxlLm5hbWVzPVtdLGUuc2tpcHM9W10sZS5mb3JtYXR0ZXJzPXt9O2Z1bmN0aW9uIG4odCl7dmFyIG49MCxyO2ZvcihyIGluIHQpbj0objw8NSktbit0LmNoYXJDb2RlQXQociksbnw9MDtyZXR1cm4gZS5jb2xvcnNbTWF0aC5hYnMobiklZS5jb2xvcnMubGVuZ3RoXX1mdW5jdGlvbiByKHQpe3ZhciByO2Z1bmN0aW9uIGEoKXtpZihhLmVuYWJsZWQpe3ZhciB0PWEsbj0rbmV3IERhdGU7dC5kaWZmPW4tKHJ8fG4pLHQucHJldj1yLHQuY3Vycj1uLHI9bjtmb3IodmFyIGk9QXJyYXkoYXJndW1lbnRzLmxlbmd0aCksbz0wO288aS5sZW5ndGg7bysrKWlbb109YXJndW1lbnRzW29dO2lbMF09ZS5jb2VyY2UoaVswXSksdHlwZW9mIGlbMF0hPWBzdHJpbmdgJiZpLnVuc2hpZnQoYCVPYCk7dmFyIHM9MDtpWzBdPWlbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csZnVuY3Rpb24obixyKXtpZihuPT09YCUlYClyZXR1cm4gbjtzKys7dmFyIGE9ZS5mb3JtYXR0ZXJzW3JdO2lmKHR5cGVvZiBhPT1gZnVuY3Rpb25gKXt2YXIgbz1pW3NdO249YS5jYWxsKHQsbyksaS5zcGxpY2UocywxKSxzLS19cmV0dXJuIG59KSxlLmZvcm1hdEFyZ3MuY2FsbCh0LGkpLChhLmxvZ3x8ZS5sb2d8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSkpLmFwcGx5KHQsaSl9fXJldHVybiBhLm5hbWVzcGFjZT10LGEuZW5hYmxlZD1lLmVuYWJsZWQodCksYS51c2VDb2xvcnM9ZS51c2VDb2xvcnMoKSxhLmNvbG9yPW4odCksYS5kZXN0cm95PWksdHlwZW9mIGUuaW5pdD09YGZ1bmN0aW9uYCYmZS5pbml0KGEpLGUuaW5zdGFuY2VzLnB1c2goYSksYX1mdW5jdGlvbiBpKCl7dmFyIHQ9ZS5pbnN0YW5jZXMuaW5kZXhPZih0aGlzKTtyZXR1cm4gdD09PS0xPyExOihlLmluc3RhbmNlcy5zcGxpY2UodCwxKSwhMCl9ZnVuY3Rpb24gYSh0KXtlLnNhdmUodCksZS5uYW1lcz1bXSxlLnNraXBzPVtdO3ZhciBuLHI9KHR5cGVvZiB0PT1gc3RyaW5nYD90OmBgKS5zcGxpdCgvW1xzLF0rLyksaT1yLmxlbmd0aDtmb3Iobj0wO248aTtuKyspcltuXSYmKHQ9cltuXS5yZXBsYWNlKC9cKi9nLGAuKj9gKSx0WzBdPT09YC1gP2Uuc2tpcHMucHVzaChSZWdFeHAoYF5gK3Quc3Vic3RyKDEpK2AkYCkpOmUubmFtZXMucHVzaChSZWdFeHAoYF5gK3QrYCRgKSkpO2ZvcihuPTA7bjxlLmluc3RhbmNlcy5sZW5ndGg7bisrKXt2YXIgYT1lLmluc3RhbmNlc1tuXTthLmVuYWJsZWQ9ZS5lbmFibGVkKGEubmFtZXNwYWNlKX19ZnVuY3Rpb24gbygpe2UuZW5hYmxlKGBgKX1mdW5jdGlvbiBzKHQpe2lmKHRbdC5sZW5ndGgtMV09PT1gKmApcmV0dXJuITA7dmFyIG4scjtmb3Iobj0wLHI9ZS5za2lwcy5sZW5ndGg7bjxyO24rKylpZihlLnNraXBzW25dLnRlc3QodCkpcmV0dXJuITE7Zm9yKG49MCxyPWUubmFtZXMubGVuZ3RoO248cjtuKyspaWYoZS5uYW1lc1tuXS50ZXN0KHQpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIGMoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBFcnJvcj9lLnN0YWNrfHxlLm1lc3NhZ2U6ZX19KSksRnM9cygoKGUsdCk9PntlPXQuZXhwb3J0cz1QcygpLGUubG9nPWksZS5mb3JtYXRBcmdzPXIsZS5zYXZlPWEsZS5sb2FkPW8sZS51c2VDb2xvcnM9bixlLnN0b3JhZ2U9dHlwZW9mIGNocm9tZTxgdWAmJmNocm9tZS5zdG9yYWdlIT09dm9pZCAwP2Nocm9tZS5zdG9yYWdlLmxvY2FsOnMoKSxlLmNvbG9ycz1gIzAwMDBDQy4jMDAwMEZGLiMwMDMzQ0MuIzAwMzNGRi4jMDA2NkNDLiMwMDY2RkYuIzAwOTlDQy4jMDA5OUZGLiMwMENDMDAuIzAwQ0MzMy4jMDBDQzY2LiMwMENDOTkuIzAwQ0NDQy4jMDBDQ0ZGLiMzMzAwQ0MuIzMzMDBGRi4jMzMzM0NDLiMzMzMzRkYuIzMzNjZDQy4jMzM2NkZGLiMzMzk5Q0MuIzMzOTlGRi4jMzNDQzAwLiMzM0NDMzMuIzMzQ0M2Ni4jMzNDQzk5LiMzM0NDQ0MuIzMzQ0NGRi4jNjYwMENDLiM2NjAwRkYuIzY2MzNDQy4jNjYzM0ZGLiM2NkNDMDAuIzY2Q0MzMy4jOTkwMENDLiM5OTAwRkYuIzk5MzNDQy4jOTkzM0ZGLiM5OUNDMDAuIzk5Q0MzMy4jQ0MwMDAwLiNDQzAwMzMuI0NDMDA2Ni4jQ0MwMDk5LiNDQzAwQ0MuI0NDMDBGRi4jQ0MzMzAwLiNDQzMzMzMuI0NDMzM2Ni4jQ0MzMzk5LiNDQzMzQ0MuI0NDMzNGRi4jQ0M2NjAwLiNDQzY2MzMuI0NDOTkwMC4jQ0M5OTMzLiNDQ0NDMDAuI0NDQ0MzMy4jRkYwMDAwLiNGRjAwMzMuI0ZGMDA2Ni4jRkYwMDk5LiNGRjAwQ0MuI0ZGMDBGRi4jRkYzMzAwLiNGRjMzMzMuI0ZGMzM2Ni4jRkYzMzk5LiNGRjMzQ0MuI0ZGMzNGRi4jRkY2NjAwLiNGRjY2MzMuI0ZGOTkwMC4jRkY5OTMzLiNGRkNDMDAuI0ZGQ0MzM2Auc3BsaXQoYC5gKTtmdW5jdGlvbiBuKCl7cmV0dXJuIHR5cGVvZiB3aW5kb3c8YHVgJiZ3aW5kb3cucHJvY2VzcyYmd2luZG93LnByb2Nlc3MudHlwZT09PWByZW5kZXJlcmA/ITA6dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvKGVkZ2V8dHJpZGVudClcLyhcZCspLyk/ITE6dHlwZW9mIGRvY3VtZW50PGB1YCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50JiZkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUmJmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZS5XZWJraXRBcHBlYXJhbmNlfHx0eXBlb2Ygd2luZG93PGB1YCYmd2luZG93LmNvbnNvbGUmJih3aW5kb3cuY29uc29sZS5maXJlYnVnfHx3aW5kb3cuY29uc29sZS5leGNlcHRpb24mJndpbmRvdy5jb25zb2xlLnRhYmxlKXx8dHlwZW9mIG5hdmlnYXRvcjxgdWAmJm5hdmlnYXRvci51c2VyQWdlbnQmJm5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvZmlyZWZveFwvKFxkKykvKSYmcGFyc2VJbnQoUmVnRXhwLiQxLDEwKT49MzF8fHR5cGVvZiBuYXZpZ2F0b3I8YHVgJiZuYXZpZ2F0b3IudXNlckFnZW50JiZuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goL2FwcGxld2Via2l0XC8oXGQrKS8pfWUuZm9ybWF0dGVycy5qPWZ1bmN0aW9uKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2goZSl7cmV0dXJuYFtVbmV4cGVjdGVkSlNPTlBhcnNlRXJyb3JdOiBgK2UubWVzc2FnZX19O2Z1bmN0aW9uIHIodCl7dmFyIG49dGhpcy51c2VDb2xvcnM7aWYodFswXT0obj9gJWNgOmBgKSt0aGlzLm5hbWVzcGFjZSsobj9gICVjYDpgIGApK3RbMF0rKG4/YCVjIGA6YCBgKStgK2ArZS5odW1hbml6ZSh0aGlzLmRpZmYpLG4pe3ZhciByPWBjb2xvcjogYCt0aGlzLmNvbG9yO3Quc3BsaWNlKDEsMCxyLGBjb2xvcjogaW5oZXJpdGApO3ZhciBpPTAsYT0wO3RbMF0ucmVwbGFjZSgvJVthLXpBLVolXS9nLGZ1bmN0aW9uKGUpe2UhPT1gJSVgJiYoaSsrLGU9PT1gJWNgJiYoYT1pKSl9KSx0LnNwbGljZShhLDAscil9fWZ1bmN0aW9uIGkoKXtyZXR1cm4gdHlwZW9mIGNvbnNvbGU9PWBvYmplY3RgJiZjb25zb2xlLmxvZyYmRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoY29uc29sZS5sb2csY29uc29sZSxhcmd1bWVudHMpfWZ1bmN0aW9uIGEodCl7dHJ5e3Q9PW51bGw/ZS5zdG9yYWdlLnJlbW92ZUl0ZW0oYGRlYnVnYCk6ZS5zdG9yYWdlLmRlYnVnPXR9Y2F0Y2h7fX1mdW5jdGlvbiBvKCl7dmFyIHQ7dHJ5e3Q9ZS5zdG9yYWdlLmRlYnVnfWNhdGNoe31yZXR1cm4hdCYmdHlwZW9mIHByb2Nlc3M8YHVgJiZgZW52YGluIHByb2Nlc3MmJih0PXt9LkRFQlVHKSx0fWUuZW5hYmxlKG8oKSk7ZnVuY3Rpb24gcygpe3RyeXtyZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZX1jYXRjaHt9fX0pKSxJcz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gbi5sZW5ndGg9PT0wJiZkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzfSxuLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKGUpe3RoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9O2Zvcih2YXIgdD1BcnJheShhcmd1bWVudHMubGVuZ3RoLTEpLG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXSxyPTE7cjxhcmd1bWVudHMubGVuZ3RoO3IrKyl0W3ItMV09YXJndW1lbnRzW3JdO2lmKG4pe249bi5zbGljZSgwKTtmb3IodmFyIHI9MCxpPW4ubGVuZ3RoO3I8aTsrK3IpbltyXS5hcHBseSh0aGlzLHQpfXJldHVybiB0aGlzfSxuLnByb3RvdHlwZS5saXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuX2NhbGxiYWNrcz10aGlzLl9jYWxsYmFja3N8fHt9LHRoaXMuX2NhbGxiYWNrc1tgJGArZV18fFtdfSxuLnByb3RvdHlwZS5oYXNMaXN0ZW5lcnM9ZnVuY3Rpb24oZSl7cmV0dXJuISF0aGlzLmxpc3RlbmVycyhlKS5sZW5ndGh9fSkpLExzPXMoKChlLHQpPT57dmFyIG49e30udG9TdHJpbmc7dC5leHBvcnRzPUFycmF5LmlzQXJyYXl8fGZ1bmN0aW9uKGUpe3JldHVybiBuLmNhbGwoZSk9PWBbb2JqZWN0IEFycmF5XWB9fSkpLFJzPXMoKChlLHQpPT57dC5leHBvcnRzPWE7dmFyIG49dHlwZW9mIEJ1ZmZlcj09YGZ1bmN0aW9uYCYmdHlwZW9mIEJ1ZmZlci5pc0J1ZmZlcj09YGZ1bmN0aW9uYCxyPXR5cGVvZiBBcnJheUJ1ZmZlcj09YGZ1bmN0aW9uYCxpPWZ1bmN0aW9uKGUpe3JldHVybiB0eXBlb2YgQXJyYXlCdWZmZXIuaXNWaWV3PT1gZnVuY3Rpb25gP0FycmF5QnVmZmVyLmlzVmlldyhlKTplLmJ1ZmZlciBpbnN0YW5jZW9mIEFycmF5QnVmZmVyfTtmdW5jdGlvbiBhKGUpe3JldHVybiBuJiZCdWZmZXIuaXNCdWZmZXIoZSl8fHImJihlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkoZSkpfX0pKSx6cz1zKChlPT57dmFyIHQ9THMoKSxuPVJzKCkscj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGk9dHlwZW9mIEJsb2I9PWBmdW5jdGlvbmB8fHR5cGVvZiBCbG9iPGB1YCYmci5jYWxsKEJsb2IpPT09YFtvYmplY3QgQmxvYkNvbnN0cnVjdG9yXWAsYT10eXBlb2YgRmlsZT09YGZ1bmN0aW9uYHx8dHlwZW9mIEZpbGU8YHVgJiZyLmNhbGwoRmlsZSk9PT1gW29iamVjdCBGaWxlQ29uc3RydWN0b3JdYDtlLmRlY29uc3RydWN0UGFja2V0PWZ1bmN0aW9uKGUpe3ZhciB0PVtdLG49ZS5kYXRhLHI9ZTtyZXR1cm4gci5kYXRhPW8obix0KSxyLmF0dGFjaG1lbnRzPXQubGVuZ3RoLHtwYWNrZXQ6cixidWZmZXJzOnR9fTtmdW5jdGlvbiBvKGUscil7aWYoIWUpcmV0dXJuIGU7aWYobihlKSl7dmFyIGk9e19wbGFjZWhvbGRlcjohMCxudW06ci5sZW5ndGh9O3JldHVybiByLnB1c2goZSksaX1lbHNlIGlmKHQoZSkpe2Zvcih2YXIgYT1BcnJheShlLmxlbmd0aCkscz0wO3M8ZS5sZW5ndGg7cysrKWFbc109byhlW3NdLHIpO3JldHVybiBhfWVsc2UgaWYodHlwZW9mIGU9PWBvYmplY3RgJiYhKGUgaW5zdGFuY2VvZiBEYXRlKSl7dmFyIGE9e307Zm9yKHZhciBjIGluIGUpYVtjXT1vKGVbY10scik7cmV0dXJuIGF9cmV0dXJuIGV9ZS5yZWNvbnN0cnVjdFBhY2tldD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmRhdGE9cyhlLmRhdGEsdCksZS5hdHRhY2htZW50cz12b2lkIDAsZX07ZnVuY3Rpb24gcyhlLG4pe2lmKCFlKXJldHVybiBlO2lmKGUmJmUuX3BsYWNlaG9sZGVyPT09ITApe2lmKHR5cGVvZiBlLm51bT09YG51bWJlcmAmJmUubnVtPj0wJiZlLm51bTxuLmxlbmd0aClyZXR1cm4gbltlLm51bV07dGhyb3cgRXJyb3IoYGlsbGVnYWwgYXR0YWNobWVudHNgKX1lbHNlIGlmKHQoZSkpZm9yKHZhciByPTA7cjxlLmxlbmd0aDtyKyspZVtyXT1zKGVbcl0sbik7ZWxzZSBpZih0eXBlb2YgZT09YG9iamVjdGApZm9yKHZhciBpIGluIGUpZVtpXT1zKGVbaV0sbik7cmV0dXJuIGV9ZS5yZW1vdmVCbG9icz1mdW5jdGlvbihlLHIpe2Z1bmN0aW9uIG8oZSxsLHUpe2lmKCFlKXJldHVybiBlO2lmKGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSl7cysrO3ZhciBkPW5ldyBGaWxlUmVhZGVyO2Qub25sb2FkPWZ1bmN0aW9uKCl7dT91W2xdPXRoaXMucmVzdWx0OmM9dGhpcy5yZXN1bHQsLS1zfHxyKGMpfSxkLnJlYWRBc0FycmF5QnVmZmVyKGUpfWVsc2UgaWYodChlKSlmb3IodmFyIGY9MDtmPGUubGVuZ3RoO2YrKylvKGVbZl0sZixlKTtlbHNlIGlmKHR5cGVvZiBlPT1gb2JqZWN0YCYmIW4oZSkpZm9yKHZhciBwIGluIGUpbyhlW3BdLHAsZSl9dmFyIHM9MCxjPWU7byhjKSxzfHxyKGMpfX0pKSxCcz1zKChlPT57dmFyIHQ9RnMoKShgc29ja2V0LmlvLXBhcnNlcmApLG49SXMoKSxyPXpzKCksaT1McygpLGE9UnMoKTtlLnByb3RvY29sPTQsZS50eXBlcz1bYENPTk5FQ1RgLGBESVNDT05ORUNUYCxgRVZFTlRgLGBBQ0tgLGBFUlJPUmAsYEJJTkFSWV9FVkVOVGAsYEJJTkFSWV9BQ0tgXSxlLkNPTk5FQ1Q9MCxlLkRJU0NPTk5FQ1Q9MSxlLkVWRU5UPTIsZS5BQ0s9MyxlLkVSUk9SPTQsZS5CSU5BUllfRVZFTlQ9NSxlLkJJTkFSWV9BQ0s9NixlLkVuY29kZXI9byxlLkRlY29kZXI9ZDtmdW5jdGlvbiBvKCl7fXZhciBzPWUuRVJST1IrYCJlbmNvZGUgZXJyb3IiYDtvLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24obixyKXt0KGBlbmNvZGluZyBwYWNrZXQgJWpgLG4pLGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGU/dShuLHIpOnIoW2MobildKX07ZnVuY3Rpb24gYyhuKXt2YXIgcj1gYCtuLnR5cGU7aWYoKGUuQklOQVJZX0VWRU5UPT09bi50eXBlfHxlLkJJTkFSWV9BQ0s9PT1uLnR5cGUpJiYocis9bi5hdHRhY2htZW50cytgLWApLG4ubnNwJiZuLm5zcCE9PWAvYCYmKHIrPW4ubnNwK2AsYCksbi5pZCE9bnVsbCYmKHIrPW4uaWQpLG4uZGF0YSE9bnVsbCl7dmFyIGk9bChuLmRhdGEpO2lmKGkhPT0hMSlyKz1pO2Vsc2UgcmV0dXJuIHN9cmV0dXJuIHQoYGVuY29kZWQgJWogYXMgJXNgLG4scikscn1mdW5jdGlvbiBsKGUpe3RyeXtyZXR1cm4gSlNPTi5zdHJpbmdpZnkoZSl9Y2F0Y2h7cmV0dXJuITF9fWZ1bmN0aW9uIHUoZSx0KXtmdW5jdGlvbiBuKGUpe3ZhciBuPXIuZGVjb25zdHJ1Y3RQYWNrZXQoZSksaT1jKG4ucGFja2V0KSxhPW4uYnVmZmVyczthLnVuc2hpZnQoaSksdChhKX1yLnJlbW92ZUJsb2JzKGUsbil9ZnVuY3Rpb24gZCgpe3RoaXMucmVjb25zdHJ1Y3Rvcj1udWxsfW4oZC5wcm90b3R5cGUpLGQucHJvdG90eXBlLmFkZD1mdW5jdGlvbih0KXt2YXIgbjtpZih0eXBlb2YgdD09YHN0cmluZ2Ape2lmKHRoaXMucmVjb25zdHJ1Y3Rvcil0aHJvdyBFcnJvcihgZ290IHBsYWludGV4dCBkYXRhIHdoZW4gcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtuPWYodCksZS5CSU5BUllfRVZFTlQ9PT1uLnR5cGV8fGUuQklOQVJZX0FDSz09PW4udHlwZT8odGhpcy5yZWNvbnN0cnVjdG9yPW5ldyBtKG4pLHRoaXMucmVjb25zdHJ1Y3Rvci5yZWNvblBhY2suYXR0YWNobWVudHM9PT0wJiZ0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTp0aGlzLmVtaXQoYGRlY29kZWRgLG4pfWVsc2UgaWYoYSh0KXx8dC5iYXNlNjQpaWYodGhpcy5yZWNvbnN0cnVjdG9yKW49dGhpcy5yZWNvbnN0cnVjdG9yLnRha2VCaW5hcnlEYXRhKHQpLG4mJih0aGlzLnJlY29uc3RydWN0b3I9bnVsbCx0aGlzLmVtaXQoYGRlY29kZWRgLG4pKTtlbHNlIHRocm93IEVycm9yKGBnb3QgYmluYXJ5IGRhdGEgd2hlbiBub3QgcmVjb25zdHJ1Y3RpbmcgYSBwYWNrZXRgKTtlbHNlIHRocm93IEVycm9yKGBVbmtub3duIHR5cGU6IGArdCl9O2Z1bmN0aW9uIGYobil7dmFyIHI9MCxhPXt0eXBlOk51bWJlcihuLmNoYXJBdCgwKSl9O2lmKGUudHlwZXNbYS50eXBlXT09bnVsbClyZXR1cm4gaChgdW5rbm93biBwYWNrZXQgdHlwZSBgK2EudHlwZSk7aWYoZS5CSU5BUllfRVZFTlQ9PT1hLnR5cGV8fGUuQklOQVJZX0FDSz09PWEudHlwZSl7Zm9yKHZhciBvPXIrMTtuLmNoYXJBdCgrK3IpIT09YC1gJiZyIT1uLmxlbmd0aDspO3ZhciBzPW4uc3Vic3RyaW5nKG8scik7aWYocyE9TnVtYmVyKHMpfHxuLmNoYXJBdChyKSE9PWAtYCl0aHJvdyBFcnJvcihgSWxsZWdhbCBhdHRhY2htZW50c2ApO2EuYXR0YWNobWVudHM9TnVtYmVyKHMpfWlmKG4uY2hhckF0KHIrMSk9PT1gL2Ape2Zvcih2YXIgbz1yKzE7KytyOyl7dmFyIGM9bi5jaGFyQXQocik7aWYoYz09PWAsYHx8cj09PW4ubGVuZ3RoKWJyZWFrfWEubnNwPW4uc3Vic3RyaW5nKG8scil9ZWxzZSBhLm5zcD1gL2A7dmFyIGw9bi5jaGFyQXQocisxKTtpZihsIT09YGAmJk51bWJlcihsKT09bCl7Zm9yKHZhciBvPXIrMTsrK3I7KXt2YXIgYz1uLmNoYXJBdChyKTtpZihjPT1udWxsfHxOdW1iZXIoYykhPWMpey0tcjticmVha31pZihyPT09bi5sZW5ndGgpYnJlYWt9YS5pZD1OdW1iZXIobi5zdWJzdHJpbmcobyxyKzEpKX1pZihuLmNoYXJBdCgrK3IpKXt2YXIgdT1wKG4uc3Vic3RyKHIpKTtpZih1IT09ITEmJihhLnR5cGU9PT1lLkVSUk9SfHxpKHUpKSlhLmRhdGE9dTtlbHNlIHJldHVybiBoKGBpbnZhbGlkIHBheWxvYWRgKX1yZXR1cm4gdChgZGVjb2RlZCAlcyBhcyAlamAsbixhKSxhfWZ1bmN0aW9uIHAoZSl7dHJ5e3JldHVybiBKU09OLnBhcnNlKGUpfWNhdGNoe3JldHVybiExfX1kLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5yZWNvbnN0cnVjdG9yJiZ0aGlzLnJlY29uc3RydWN0b3IuZmluaXNoZWRSZWNvbnN0cnVjdGlvbigpfTtmdW5jdGlvbiBtKGUpe3RoaXMucmVjb25QYWNrPWUsdGhpcy5idWZmZXJzPVtdfW0ucHJvdG90eXBlLnRha2VCaW5hcnlEYXRhPWZ1bmN0aW9uKGUpe2lmKHRoaXMuYnVmZmVycy5wdXNoKGUpLHRoaXMuYnVmZmVycy5sZW5ndGg9PT10aGlzLnJlY29uUGFjay5hdHRhY2htZW50cyl7dmFyIHQ9ci5yZWNvbnN0cnVjdFBhY2tldCh0aGlzLnJlY29uUGFjayx0aGlzLmJ1ZmZlcnMpO3JldHVybiB0aGlzLmZpbmlzaGVkUmVjb25zdHJ1Y3Rpb24oKSx0fXJldHVybiBudWxsfSxtLnByb3RvdHlwZS5maW5pc2hlZFJlY29uc3RydWN0aW9uPWZ1bmN0aW9uKCl7dGhpcy5yZWNvblBhY2s9bnVsbCx0aGlzLmJ1ZmZlcnM9W119O2Z1bmN0aW9uIGgodCl7cmV0dXJue3R5cGU6ZS5FUlJPUixkYXRhOmBwYXJzZXIgZXJyb3I6IGArdH19fSkpLFZzPXMoKChlLHQpPT57dHJ5e3QuZXhwb3J0cz10eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiZgd2l0aENyZWRlbnRpYWxzYGluIG5ldyBYTUxIdHRwUmVxdWVzdH1jYXRjaHt0LmV4cG9ydHM9ITF9fSkpLEhzPXMoKChlLHQpPT57dC5leHBvcnRzPShmdW5jdGlvbigpe3JldHVybiB0eXBlb2Ygc2VsZjxgdWA/c2VsZjp0eXBlb2Ygd2luZG93PGB1YD93aW5kb3c6RnVuY3Rpb24oYHJldHVybiB0aGlzYCkoKX0pKCl9KSksVXM9cygoKGUsdCk9Pnt2YXIgbj1WcygpLHI9SHMoKTt0LmV4cG9ydHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS54ZG9tYWluLGk9ZS54c2NoZW1lLGE9ZS5lbmFibGVzWERSO3RyeXtpZih0eXBlb2YgWE1MSHR0cFJlcXVlc3Q8YHVgJiYoIXR8fG4pKXJldHVybiBuZXcgWE1MSHR0cFJlcXVlc3R9Y2F0Y2h7fXRyeXtpZih0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhaSYmYSlyZXR1cm4gbmV3IFhEb21haW5SZXF1ZXN0fWNhdGNoe31pZighdCl0cnl7cmV0dXJuIG5ldyByW1tgQWN0aXZlYCxgT2JqZWN0YF0uam9pbihgWGApXShgTWljcm9zb2Z0LlhNTEhUVFBgKX1jYXRjaHt9fX0pKSxXcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24oZSl7dmFyIHQ9W10sbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Zvcih2YXIgciBpbiBlKW4uY2FsbChlLHIpJiZ0LnB1c2gocik7cmV0dXJuIHR9fSkpLEdzPXMoKChlLHQpPT57dmFyIG49THMoKSxyPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcsaT10eXBlb2YgQmxvYj09YGZ1bmN0aW9uYHx8dHlwZW9mIEJsb2I8YHVgJiZyLmNhbGwoQmxvYik9PT1gW29iamVjdCBCbG9iQ29uc3RydWN0b3JdYCxhPXR5cGVvZiBGaWxlPT1gZnVuY3Rpb25gfHx0eXBlb2YgRmlsZTxgdWAmJnIuY2FsbChGaWxlKT09PWBbb2JqZWN0IEZpbGVDb25zdHJ1Y3Rvcl1gO3QuZXhwb3J0cz1vO2Z1bmN0aW9uIG8oZSl7aWYoIWV8fHR5cGVvZiBlIT1gb2JqZWN0YClyZXR1cm4hMTtpZihuKGUpKXtmb3IodmFyIHQ9MCxyPWUubGVuZ3RoO3Q8cjt0KyspaWYobyhlW3RdKSlyZXR1cm4hMDtyZXR1cm4hMX1pZih0eXBlb2YgQnVmZmVyPT1gZnVuY3Rpb25gJiZCdWZmZXIuaXNCdWZmZXImJkJ1ZmZlci5pc0J1ZmZlcihlKXx8dHlwZW9mIEFycmF5QnVmZmVyPT1gZnVuY3Rpb25gJiZlIGluc3RhbmNlb2YgQXJyYXlCdWZmZXJ8fGkmJmUgaW5zdGFuY2VvZiBCbG9ifHxhJiZlIGluc3RhbmNlb2YgRmlsZSlyZXR1cm4hMDtpZihlLnRvSlNPTiYmdHlwZW9mIGUudG9KU09OPT1gZnVuY3Rpb25gJiZhcmd1bWVudHMubGVuZ3RoPT09MSlyZXR1cm4gbyhlLnRvSlNPTigpLCEwKTtmb3IodmFyIHMgaW4gZSlpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxzKSYmbyhlW3NdKSlyZXR1cm4hMDtyZXR1cm4hMX19KSksS3M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9ZnVuY3Rpb24oZSx0LG4pe3ZhciByPWUuYnl0ZUxlbmd0aDtpZih0fHw9MCxufHw9cixlLnNsaWNlKXJldHVybiBlLnNsaWNlKHQsbik7aWYodDwwJiYodCs9ciksbjwwJiYobis9ciksbj5yJiYobj1yKSx0Pj1yfHx0Pj1ufHxyPT09MClyZXR1cm4gbmV3IEFycmF5QnVmZmVyKDApO2Zvcih2YXIgaT1uZXcgVWludDhBcnJheShlKSxhPW5ldyBVaW50OEFycmF5KG4tdCksbz10LHM9MDtvPG47bysrLHMrKylhW3NdPWlbb107cmV0dXJuIGEuYnVmZmVyfX0pKSxxcz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1uO2Z1bmN0aW9uIG4oZSx0LG4pe3ZhciBpPSExO3JldHVybiBufHw9cixhLmNvdW50PWUsZT09PTA/dCgpOmE7ZnVuY3Rpb24gYShlLHIpe2lmKGEuY291bnQ8PTApdGhyb3cgRXJyb3IoYGFmdGVyIGNhbGxlZCB0b28gbWFueSB0aW1lc2ApOy0tYS5jb3VudCxlPyhpPSEwLHQoZSksdD1uKTphLmNvdW50PT09MCYmIWkmJnQobnVsbCxyKX19ZnVuY3Rpb24gcigpe319KSksSnM9cygoKGUsdCk9Pnt2YXIgbj1TdHJpbmcuZnJvbUNoYXJDb2RlO2Z1bmN0aW9uIHIoZSl7Zm9yKHZhciB0PVtdLG49MCxyPWUubGVuZ3RoLGksYTtuPHI7KWk9ZS5jaGFyQ29kZUF0KG4rKyksaT49NTUyOTYmJmk8PTU2MzE5JiZuPHI/KGE9ZS5jaGFyQ29kZUF0KG4rKyksKGEmNjQ1MTIpPT01NjMyMD90LnB1c2goKChpJjEwMjMpPDwxMCkrKGEmMTAyMykrNjU1MzYpOih0LnB1c2goaSksbi0tKSk6dC5wdXNoKGkpO3JldHVybiB0fWZ1bmN0aW9uIGkoZSl7Zm9yKHZhciB0PWUubGVuZ3RoLHI9LTEsaSxhPWBgOysrcjx0OylpPWVbcl0saT42NTUzNSYmKGktPTY1NTM2LGErPW4oaT4+PjEwJjEwMjN8NTUyOTYpLGk9NTYzMjB8aSYxMDIzKSxhKz1uKGkpO3JldHVybiBhfWZ1bmN0aW9uIGEoZSx0KXtpZihlPj01NTI5NiYmZTw9NTczNDMpe2lmKHQpdGhyb3cgRXJyb3IoYExvbmUgc3Vycm9nYXRlIFUrYCtlLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpK2AgaXMgbm90IGEgc2NhbGFyIHZhbHVlYCk7cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gbyhlLHQpe3JldHVybiBuKGU+PnQmNjN8MTI4KX1mdW5jdGlvbiBzKGUsdCl7aWYoIShlJjQyOTQ5NjcxNjgpKXJldHVybiBuKGUpO3ZhciByPWBgO3JldHVybiBlJjQyOTQ5NjUyNDg/ZSY0Mjk0OTAxNzYwP2UmNDI5Mjg3MDE0NHx8KHI9bihlPj4xOCY3fDI0MCkscis9byhlLDEyKSxyKz1vKGUsNikpOihhKGUsdCl8fChlPTY1NTMzKSxyPW4oZT4+MTImMTV8MjI0KSxyKz1vKGUsNikpOnI9bihlPj42JjMxfDE5Mikscis9bihlJjYzfDEyOCkscn1mdW5jdGlvbiBjKGUsdCl7dHx8PXt9O2Zvcih2YXIgbj0hMSE9PXQuc3RyaWN0LGk9cihlKSxhPWkubGVuZ3RoLG89LTEsYyxsPWBgOysrbzxhOyljPWlbb10sbCs9cyhjLG4pO3JldHVybiBsfWZ1bmN0aW9uIGwoKXtpZihwPj1mKXRocm93IEVycm9yKGBJbnZhbGlkIGJ5dGUgaW5kZXhgKTt2YXIgZT1kW3BdJjI1NTtpZihwKyssKGUmMTkyKT09MTI4KXJldHVybiBlJjYzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9ZnVuY3Rpb24gdShlKXt2YXIgdCxuLHIsaSxvO2lmKHA+Zil0aHJvdyBFcnJvcihgSW52YWxpZCBieXRlIGluZGV4YCk7aWYocD09ZilyZXR1cm4hMTtpZih0PWRbcF0mMjU1LHArKywhKHQmMTI4KSlyZXR1cm4gdDtpZigodCYyMjQpPT0xOTIpe2lmKG49bCgpLG89KHQmMzEpPDw2fG4sbz49MTI4KXJldHVybiBvO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQwKT09MjI0KXtpZihuPWwoKSxyPWwoKSxvPSh0JjE1KTw8MTJ8bjw8NnxyLG8+PTIwNDgpcmV0dXJuIGEobyxlKT9vOjY1NTMzO3Rocm93IEVycm9yKGBJbnZhbGlkIGNvbnRpbnVhdGlvbiBieXRlYCl9aWYoKHQmMjQ4KT09MjQwJiYobj1sKCkscj1sKCksaT1sKCksbz0odCY3KTw8MTh8bjw8MTJ8cjw8NnxpLG8+PTY1NTM2JiZvPD0xMTE0MTExKSlyZXR1cm4gbzt0aHJvdyBFcnJvcihgSW52YWxpZCBVVEYtOCBkZXRlY3RlZGApfXZhciBkLGYscDtmdW5jdGlvbiBtKGUsdCl7dHx8PXt9O3ZhciBuPSExIT09dC5zdHJpY3Q7ZD1yKGUpLGY9ZC5sZW5ndGgscD0wO2Zvcih2YXIgYT1bXSxvOyhvPXUobikpIT09ITE7KWEucHVzaChvKTtyZXR1cm4gaShhKX10LmV4cG9ydHM9e3ZlcnNpb246YDIuMS4yYCxlbmNvZGU6YyxkZWNvZGU6bX19KSksWXM9cygoZT0+eyhmdW5jdGlvbih0KXtlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgbj1uZXcgVWludDhBcnJheShlKSxyLGk9bi5sZW5ndGgsYT1gYDtmb3Iocj0wO3I8aTtyKz0zKWErPXRbbltyXT4+Ml0sYSs9dFsobltyXSYzKTw8NHxuW3IrMV0+PjRdLGErPXRbKG5bcisxXSYxNSk8PDJ8bltyKzJdPj42XSxhKz10W25bcisyXSY2M107cmV0dXJuIGklMz09Mj9hPWEuc3Vic3RyaW5nKDAsYS5sZW5ndGgtMSkrYD1gOmklMz09MSYmKGE9YS5zdWJzdHJpbmcoMCxhLmxlbmd0aC0yKStgPT1gKSxhfSxlLmRlY29kZT1mdW5jdGlvbihlKXt2YXIgbj1lLmxlbmd0aCouNzUscj1lLmxlbmd0aCxpLGE9MCxvLHMsYyxsO2VbZS5sZW5ndGgtMV09PT1gPWAmJihuLS0sZVtlLmxlbmd0aC0yXT09PWA9YCYmbi0tKTt2YXIgdT1uZXcgQXJyYXlCdWZmZXIobiksZD1uZXcgVWludDhBcnJheSh1KTtmb3IoaT0wO2k8cjtpKz00KW89dC5pbmRleE9mKGVbaV0pLHM9dC5pbmRleE9mKGVbaSsxXSksYz10LmluZGV4T2YoZVtpKzJdKSxsPXQuaW5kZXhPZihlW2krM10pLGRbYSsrXT1vPDwyfHM+PjQsZFthKytdPShzJjE1KTw8NHxjPj4yLGRbYSsrXT0oYyYzKTw8NnxsJjYzO3JldHVybiB1fX0pKGBBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvYCl9KSksWHM9cygoKGUsdCk9Pnt2YXIgbj1uPT09dm9pZCAwP3R5cGVvZiBXZWJLaXRCbG9iQnVpbGRlcjxgdWA/V2ViS2l0QmxvYkJ1aWxkZXI6dHlwZW9mIE1TQmxvYkJ1aWxkZXI8YHVgP01TQmxvYkJ1aWxkZXI6dHlwZW9mIE1vekJsb2JCdWlsZGVyPGB1YD9Nb3pCbG9iQnVpbGRlcjohMTpuLHI9KGZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgQmxvYihbYGhpYF0pLnNpemU9PT0yfWNhdGNoe3JldHVybiExfX0pKCksaT1yJiYoZnVuY3Rpb24oKXt0cnl7cmV0dXJuIG5ldyBCbG9iKFtuZXcgVWludDhBcnJheShbMSwyXSldKS5zaXplPT09Mn1jYXRjaHtyZXR1cm4hMX19KSgpLGE9biYmbi5wcm90b3R5cGUuYXBwZW5kJiZuLnByb3RvdHlwZS5nZXRCbG9iO2Z1bmN0aW9uIG8oZSl7cmV0dXJuIGUubWFwKGZ1bmN0aW9uKGUpe2lmKGUuYnVmZmVyIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpe3ZhciB0PWUuYnVmZmVyO2lmKGUuYnl0ZUxlbmd0aCE9PXQuYnl0ZUxlbmd0aCl7dmFyIG49bmV3IFVpbnQ4QXJyYXkoZS5ieXRlTGVuZ3RoKTtuLnNldChuZXcgVWludDhBcnJheSh0LGUuYnl0ZU9mZnNldCxlLmJ5dGVMZW5ndGgpKSx0PW4uYnVmZmVyfXJldHVybiB0fXJldHVybiBlfSl9ZnVuY3Rpb24gcyhlLHQpe3R8fD17fTt2YXIgcj1uZXcgbjtyZXR1cm4gbyhlKS5mb3JFYWNoKGZ1bmN0aW9uKGUpe3IuYXBwZW5kKGUpfSksdC50eXBlP3IuZ2V0QmxvYih0LnR5cGUpOnIuZ2V0QmxvYigpfWZ1bmN0aW9uIGMoZSx0KXtyZXR1cm4gbmV3IEJsb2IobyhlKSx0fHx7fSl9dHlwZW9mIEJsb2I8YHVgJiYocy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUsYy5wcm90b3R5cGU9QmxvYi5wcm90b3R5cGUpLHQuZXhwb3J0cz0oZnVuY3Rpb24oKXtpZihyKXJldHVybiBpP0Jsb2I6YztpZihhKXJldHVybiBzfSkoKX0pKSxacz1zKChlPT57dmFyIHQ9V3MoKSxuPUdzKCkscj1LcygpLGk9cXMoKSxhPUpzKCksbzt0eXBlb2YgQXJyYXlCdWZmZXI8YHVgJiYobz1ZcygpKTt2YXIgcz10eXBlb2YgbmF2aWdhdG9yPGB1YCYmL0FuZHJvaWQvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGM9dHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9QaGFudG9tSlMvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGw9c3x8YztlLnByb3RvY29sPTM7dmFyIHU9ZS5wYWNrZXRzPXtvcGVuOjAsY2xvc2U6MSxwaW5nOjIscG9uZzozLG1lc3NhZ2U6NCx1cGdyYWRlOjUsbm9vcDo2fSxkPXQodSksZj17dHlwZTpgZXJyb3JgLGRhdGE6YHBhcnNlciBlcnJvcmB9LHA9WHMoKTtlLmVuY29kZVBhY2tldD1mdW5jdGlvbihlLHQsbixyKXt0eXBlb2YgdD09YGZ1bmN0aW9uYCYmKHI9dCx0PSExKSx0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpPWUuZGF0YT09PXZvaWQgMD92b2lkIDA6ZS5kYXRhLmJ1ZmZlcnx8ZS5kYXRhO2lmKHR5cGVvZiBBcnJheUJ1ZmZlcjxgdWAmJmkgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcilyZXR1cm4gaChlLHQscik7aWYocCE9PXZvaWQgMCYmaSBpbnN0YW5jZW9mIHApcmV0dXJuIF8oZSx0LHIpO2lmKGkmJmkuYmFzZTY0KXJldHVybiBtKGUscik7dmFyIG89dVtlLnR5cGVdO3JldHVybiBlLmRhdGEhPT12b2lkIDAmJihvKz1uP2EuZW5jb2RlKFN0cmluZyhlLmRhdGEpLHtzdHJpY3Q6ITF9KTpTdHJpbmcoZS5kYXRhKSkscihgYCtvKX07ZnVuY3Rpb24gbSh0LG4pe3JldHVybiBuKGBiYCtlLnBhY2tldHNbdC50eXBlXSt0LmRhdGEuZGF0YSl9ZnVuY3Rpb24gaCh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7dmFyIGk9dC5kYXRhLGE9bmV3IFVpbnQ4QXJyYXkoaSksbz1uZXcgVWludDhBcnJheSgxK2kuYnl0ZUxlbmd0aCk7b1swXT11W3QudHlwZV07Zm9yKHZhciBzPTA7czxhLmxlbmd0aDtzKyspb1tzKzFdPWFbc107cmV0dXJuIHIoby5idWZmZXIpfWZ1bmN0aW9uIGcodCxuLHIpe2lmKCFuKXJldHVybiBlLmVuY29kZUJhc2U2NFBhY2tldCh0LHIpO3ZhciBpPW5ldyBGaWxlUmVhZGVyO3JldHVybiBpLm9ubG9hZD1mdW5jdGlvbigpe2UuZW5jb2RlUGFja2V0KHt0eXBlOnQudHlwZSxkYXRhOmkucmVzdWx0fSxuLCEwLHIpfSxpLnJlYWRBc0FycmF5QnVmZmVyKHQuZGF0YSl9ZnVuY3Rpb24gXyh0LG4scil7aWYoIW4pcmV0dXJuIGUuZW5jb2RlQmFzZTY0UGFja2V0KHQscik7aWYobClyZXR1cm4gZyh0LG4scik7dmFyIGk9bmV3IFVpbnQ4QXJyYXkoMSk7cmV0dXJuIGlbMF09dVt0LnR5cGVdLHIobmV3IHAoW2kuYnVmZmVyLHQuZGF0YV0pKX1lLmVuY29kZUJhc2U2NFBhY2tldD1mdW5jdGlvbih0LG4pe3ZhciByPWBiYCtlLnBhY2tldHNbdC50eXBlXTtpZihwIT09dm9pZCAwJiZ0LmRhdGEgaW5zdGFuY2VvZiBwKXt2YXIgaT1uZXcgRmlsZVJlYWRlcjtyZXR1cm4gaS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgZT1pLnJlc3VsdC5zcGxpdChgLGApWzFdO24ocitlKX0saS5yZWFkQXNEYXRhVVJMKHQuZGF0YSl9dmFyIGE7dHJ5e2E9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KHQuZGF0YSkpfWNhdGNoe2Zvcih2YXIgbz1uZXcgVWludDhBcnJheSh0LmRhdGEpLHM9QXJyYXkoby5sZW5ndGgpLGM9MDtjPG8ubGVuZ3RoO2MrKylzW2NdPW9bY107YT1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwscyl9cmV0dXJuIHIrPWJ0b2EoYSksbihyKX0sZS5kZWNvZGVQYWNrZXQ9ZnVuY3Rpb24odCxuLGkpe2lmKHQ9PT12b2lkIDApcmV0dXJuIGY7aWYodHlwZW9mIHQ9PWBzdHJpbmdgKXtpZih0LmNoYXJBdCgwKT09PWBiYClyZXR1cm4gZS5kZWNvZGVCYXNlNjRQYWNrZXQodC5zdWJzdHIoMSksbik7aWYoaSYmKHQ9dih0KSx0PT09ITEpKXJldHVybiBmO3ZhciBhPXQuY2hhckF0KDApO3JldHVybiBOdW1iZXIoYSkhPWF8fCFkW2FdP2Y6dC5sZW5ndGg+MT97dHlwZTpkW2FdLGRhdGE6dC5zdWJzdHJpbmcoMSl9Ont0eXBlOmRbYV19fXZhciBhPW5ldyBVaW50OEFycmF5KHQpWzBdLG89cih0LDEpO3JldHVybiBwJiZuPT09YGJsb2JgJiYobz1uZXcgcChbb10pKSx7dHlwZTpkW2FdLGRhdGE6b319O2Z1bmN0aW9uIHYoZSl7dHJ5e2U9YS5kZWNvZGUoZSx7c3RyaWN0OiExfSl9Y2F0Y2h7cmV0dXJuITF9cmV0dXJuIGV9ZS5kZWNvZGVCYXNlNjRQYWNrZXQ9ZnVuY3Rpb24oZSx0KXt2YXIgbj1kW2UuY2hhckF0KDApXTtpZighbylyZXR1cm57dHlwZTpuLGRhdGE6e2Jhc2U2NDohMCxkYXRhOmUuc3Vic3RyKDEpfX07dmFyIHI9by5kZWNvZGUoZS5zdWJzdHIoMSkpO3JldHVybiB0PT09YGJsb2JgJiZwJiYocj1uZXcgcChbcl0pKSx7dHlwZTpuLGRhdGE6cn19LGUuZW5jb2RlUGF5bG9hZD1mdW5jdGlvbih0LHIsaSl7dHlwZW9mIHI9PWBmdW5jdGlvbmAmJihpPXIscj1udWxsKTt2YXIgYT1uKHQpO2lmKHImJmEpcmV0dXJuIHAmJiFsP2UuZW5jb2RlUGF5bG9hZEFzQmxvYih0LGkpOmUuZW5jb2RlUGF5bG9hZEFzQXJyYXlCdWZmZXIodCxpKTtpZighdC5sZW5ndGgpcmV0dXJuIGkoYDA6YCk7ZnVuY3Rpb24gbyhlKXtyZXR1cm4gZS5sZW5ndGgrYDpgK2V9ZnVuY3Rpb24gcyh0LG4pe2UuZW5jb2RlUGFja2V0KHQsYT9yOiExLCExLGZ1bmN0aW9uKGUpe24obnVsbCxvKGUpKX0pfXkodCxzLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIGkodC5qb2luKGBgKSl9KX07ZnVuY3Rpb24geShlLHQsbil7Zm9yKHZhciByPUFycmF5KGUubGVuZ3RoKSxhPWkoZS5sZW5ndGgsbiksbz1mdW5jdGlvbihlLG4saSl7dChuLGZ1bmN0aW9uKHQsbil7cltlXT1uLGkodCxyKX0pfSxzPTA7czxlLmxlbmd0aDtzKyspbyhzLGVbc10sYSl9ZS5kZWNvZGVQYXlsb2FkPWZ1bmN0aW9uKHQsbixyKXtpZih0eXBlb2YgdCE9YHN0cmluZ2ApcmV0dXJuIGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5KHQsbixyKTt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKHI9bixuPW51bGwpO3ZhciBpO2lmKHQ9PT1gYClyZXR1cm4gcihmLDAsMSk7Zm9yKHZhciBhPWBgLG8scyxjPTAsbD10Lmxlbmd0aDtjPGw7YysrKXt2YXIgdT10LmNoYXJBdChjKTtpZih1IT09YDpgKXthKz11O2NvbnRpbnVlfWlmKGE9PT1gYHx8YSE9KG89TnVtYmVyKGEpKXx8KHM9dC5zdWJzdHIoYysxLG8pLGEhPXMubGVuZ3RoKSlyZXR1cm4gcihmLDAsMSk7aWYocy5sZW5ndGgpe2lmKGk9ZS5kZWNvZGVQYWNrZXQocyxuLCExKSxmLnR5cGU9PT1pLnR5cGUmJmYuZGF0YT09PWkuZGF0YSlyZXR1cm4gcihmLDAsMSk7aWYoITE9PT1yKGksYytvLGwpKXJldHVybn1jKz1vLGE9YGB9aWYoYSE9PWBgKXJldHVybiByKGYsMCwxKX0sZS5lbmNvZGVQYXlsb2FkQXNBcnJheUJ1ZmZlcj1mdW5jdGlvbih0LG4pe2lmKCF0Lmxlbmd0aClyZXR1cm4gbihuZXcgQXJyYXlCdWZmZXIoMCkpO2Z1bmN0aW9uIHIodCxuKXtlLmVuY29kZVBhY2tldCh0LCEwLCEwLGZ1bmN0aW9uKGUpe3JldHVybiBuKG51bGwsZSl9KX15KHQscixmdW5jdGlvbihlLHQpe3ZhciByPXQucmVkdWNlKGZ1bmN0aW9uKGUsdCl7dmFyIG49dHlwZW9mIHQ9PWBzdHJpbmdgP3QubGVuZ3RoOnQuYnl0ZUxlbmd0aDtyZXR1cm4gZStuLnRvU3RyaW5nKCkubGVuZ3RoK24rMn0sMCksaT1uZXcgVWludDhBcnJheShyKSxhPTA7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihlKXt2YXIgdD10eXBlb2YgZT09YHN0cmluZ2Asbj1lO2lmKHQpe2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShlLmxlbmd0aCksbz0wO288ZS5sZW5ndGg7bysrKXJbb109ZS5jaGFyQ29kZUF0KG8pO249ci5idWZmZXJ9dD9pW2ErK109MDppW2ErK109MTtmb3IodmFyIHM9bi5ieXRlTGVuZ3RoLnRvU3RyaW5nKCksbz0wO288cy5sZW5ndGg7bysrKWlbYSsrXT1wYXJzZUludChzW29dKTtpW2ErK109MjU1O2Zvcih2YXIgcj1uZXcgVWludDhBcnJheShuKSxvPTA7bzxyLmxlbmd0aDtvKyspaVthKytdPXJbb119KSxuKGkuYnVmZmVyKX0pfSxlLmVuY29kZVBheWxvYWRBc0Jsb2I9ZnVuY3Rpb24odCxuKXtmdW5jdGlvbiByKHQsbil7ZS5lbmNvZGVQYWNrZXQodCwhMCwhMCxmdW5jdGlvbihlKXt2YXIgdD1uZXcgVWludDhBcnJheSgxKTtpZih0WzBdPTEsdHlwZW9mIGU9PWBzdHJpbmdgKXtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgpLGk9MDtpPGUubGVuZ3RoO2krKylyW2ldPWUuY2hhckNvZGVBdChpKTtlPXIuYnVmZmVyLHRbMF09MH1mb3IodmFyIGE9KGUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcj9lLmJ5dGVMZW5ndGg6ZS5zaXplKS50b1N0cmluZygpLG89bmV3IFVpbnQ4QXJyYXkoYS5sZW5ndGgrMSksaT0wO2k8YS5sZW5ndGg7aSsrKW9baV09cGFyc2VJbnQoYVtpXSk7b1thLmxlbmd0aF09MjU1LHAmJm4obnVsbCxuZXcgcChbdC5idWZmZXIsby5idWZmZXIsZV0pKX0pfXkodCxyLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIG4obmV3IHAodCkpfSl9LGUuZGVjb2RlUGF5bG9hZEFzQmluYXJ5PWZ1bmN0aW9uKHQsbixpKXt0eXBlb2Ygbj09YGZ1bmN0aW9uYCYmKGk9bixuPW51bGwpO2Zvcih2YXIgYT10LG89W107YS5ieXRlTGVuZ3RoPjA7KXtmb3IodmFyIHM9bmV3IFVpbnQ4QXJyYXkoYSksYz1zWzBdPT09MCxsPWBgLHU9MTtzW3VdIT09MjU1O3UrKyl7aWYobC5sZW5ndGg+MzEwKXJldHVybiBpKGYsMCwxKTtsKz1zW3VdfWE9cihhLDIrbC5sZW5ndGgpLGw9cGFyc2VJbnQobCk7dmFyIGQ9cihhLDAsbCk7aWYoYyl0cnl7ZD1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbmV3IFVpbnQ4QXJyYXkoZCkpfWNhdGNoe3ZhciBwPW5ldyBVaW50OEFycmF5KGQpO2Q9YGA7Zm9yKHZhciB1PTA7dTxwLmxlbmd0aDt1KyspZCs9U3RyaW5nLmZyb21DaGFyQ29kZShwW3VdKX1vLnB1c2goZCksYT1yKGEsbCl9dmFyIG09by5sZW5ndGg7by5mb3JFYWNoKGZ1bmN0aW9uKHQscil7aShlLmRlY29kZVBhY2tldCh0LG4sITApLHIsbSl9KX19KSksUXM9cygoKGUsdCk9Pnt2YXIgbj1acygpLHI9SXMoKTt0LmV4cG9ydHM9aTtmdW5jdGlvbiBpKGUpe3RoaXMucGF0aD1lLnBhdGgsdGhpcy5ob3N0bmFtZT1lLmhvc3RuYW1lLHRoaXMucG9ydD1lLnBvcnQsdGhpcy5zZWN1cmU9ZS5zZWN1cmUsdGhpcy5xdWVyeT1lLnF1ZXJ5LHRoaXMudGltZXN0YW1wUGFyYW09ZS50aW1lc3RhbXBQYXJhbSx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPWUudGltZXN0YW1wUmVxdWVzdHMsdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMuYWdlbnQ9ZS5hZ2VudHx8ITEsdGhpcy5zb2NrZXQ9ZS5zb2NrZXQsdGhpcy5lbmFibGVzWERSPWUuZW5hYmxlc1hEUix0aGlzLndpdGhDcmVkZW50aWFscz1lLndpdGhDcmVkZW50aWFscyx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5mb3JjZU5vZGU9ZS5mb3JjZU5vZGUsdGhpcy5pc1JlYWN0TmF0aXZlPWUuaXNSZWFjdE5hdGl2ZSx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0aGlzLmxvY2FsQWRkcmVzcz1lLmxvY2FsQWRkcmVzc31yKGkucHJvdG90eXBlKSxpLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUsdCl7dmFyIG49RXJyb3IoZSk7cmV0dXJuIG4udHlwZT1gVHJhbnNwb3J0RXJyb3JgLG4uZGVzY3JpcHRpb249dCx0aGlzLmVtaXQoYGVycm9yYCxuKSx0aGlzfSxpLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgfHx0aGlzLnJlYWR5U3RhdGU9PT1gYCkmJih0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuZG9PcGVuKCkpLHRoaXN9LGkucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKSYmKHRoaXMuZG9DbG9zZSgpLHRoaXMub25DbG9zZSgpKSx0aGlzfSxpLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYCl0aGlzLndyaXRlKGUpO2Vsc2UgdGhyb3cgRXJyb3IoYFRyYW5zcG9ydCBub3Qgb3BlbmApfSxpLnByb3RvdHlwZS5vbk9wZW49ZnVuY3Rpb24oKXt0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMud3JpdGFibGU9ITAsdGhpcy5lbWl0KGBvcGVuYCl9LGkucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt2YXIgdD1uLmRlY29kZVBhY2tldChlLHRoaXMuc29ja2V0LmJpbmFyeVR5cGUpO3RoaXMub25QYWNrZXQodCl9LGkucHJvdG90eXBlLm9uUGFja2V0PWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0saS5wcm90b3R5cGUub25DbG9zZT1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCl9fSkpLCRzPXMoKGU9PntlLmVuY29kZT1mdW5jdGlvbihlKXt2YXIgdD1gYDtmb3IodmFyIG4gaW4gZSllLmhhc093blByb3BlcnR5KG4pJiYodC5sZW5ndGgmJih0Kz1gJmApLHQrPWVuY29kZVVSSUNvbXBvbmVudChuKStgPWArZW5jb2RlVVJJQ29tcG9uZW50KGVbbl0pKTtyZXR1cm4gdH0sZS5kZWNvZGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PXt9LG49ZS5zcGxpdChgJmApLHI9MCxpPW4ubGVuZ3RoO3I8aTtyKyspe3ZhciBhPW5bcl0uc3BsaXQoYD1gKTt0W2RlY29kZVVSSUNvbXBvbmVudChhWzBdKV09ZGVjb2RlVVJJQ29tcG9uZW50KGFbMV0pfXJldHVybiB0fX0pKSxlYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe3ZhciBuPWZ1bmN0aW9uKCl7fTtuLnByb3RvdHlwZT10LnByb3RvdHlwZSxlLnByb3RvdHlwZT1uZXcgbixlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1lfX0pKSx0Yz1zKCgoZSx0KT0+e3ZhciBuPWAwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei1fYC5zcGxpdChgYCkscj02NCxpPXt9LGE9MCxvPTAscztmdW5jdGlvbiBjKGUpe3ZhciB0PWBgO2RvIHQ9bltlJXJdK3QsZT1NYXRoLmZsb29yKGUvcik7d2hpbGUoZT4wKTtyZXR1cm4gdH1mdW5jdGlvbiBsKGUpe3ZhciB0PTA7Zm9yKG89MDtvPGUubGVuZ3RoO28rKyl0PXQqcitpW2UuY2hhckF0KG8pXTtyZXR1cm4gdH1mdW5jdGlvbiB1KCl7dmFyIGU9YygrbmV3IERhdGUpO3JldHVybiBlPT09cz9lK2AuYCtjKGErKyk6KGE9MCxzPWUpfWZvcig7bzxyO28rKylpW25bb11dPW87dS5lbmNvZGU9Yyx1LmRlY29kZT1sLHQuZXhwb3J0cz11fSkpLG5jPXMoKChlLHQpPT57dmFyIG49UXMoKSxyPSRzKCksaT1acygpLGE9ZWMoKSxvPXRjKCkscz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmdgKTt0LmV4cG9ydHM9bDt2YXIgYz0oZnVuY3Rpb24oKXtyZXR1cm4gbmV3KFVzKCkpKHt4ZG9tYWluOiExfSkucmVzcG9uc2VUeXBlIT1udWxsfSkoKTtmdW5jdGlvbiBsKGUpe3ZhciB0PWUmJmUuZm9yY2VCYXNlNjQ7KCFjfHx0KSYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLG4uY2FsbCh0aGlzLGUpfWEobCxuKSxsLnByb3RvdHlwZS5uYW1lPWBwb2xsaW5nYCxsLnByb3RvdHlwZS5kb09wZW49ZnVuY3Rpb24oKXt0aGlzLnBvbGwoKX0sbC5wcm90b3R5cGUucGF1c2U9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLnJlYWR5U3RhdGU9YHBhdXNpbmdgO2Z1bmN0aW9uIG4oKXtzKGBwYXVzZWRgKSx0LnJlYWR5U3RhdGU9YHBhdXNlZGAsZSgpfWlmKHRoaXMucG9sbGluZ3x8IXRoaXMud3JpdGFibGUpe3ZhciByPTA7dGhpcy5wb2xsaW5nJiYocyhgd2UgYXJlIGN1cnJlbnRseSBwb2xsaW5nIC0gd2FpdGluZyB0byBwYXVzZWApLHIrKyx0aGlzLm9uY2UoYHBvbGxDb21wbGV0ZWAsZnVuY3Rpb24oKXtzKGBwcmUtcGF1c2UgcG9sbGluZyBjb21wbGV0ZWApLC0tcnx8bigpfSkpLHRoaXMud3JpdGFibGV8fChzKGB3ZSBhcmUgY3VycmVudGx5IHdyaXRpbmcgLSB3YWl0aW5nIHRvIHBhdXNlYCkscisrLHRoaXMub25jZShgZHJhaW5gLGZ1bmN0aW9uKCl7cyhgcHJlLXBhdXNlIHdyaXRpbmcgY29tcGxldGVgKSwtLXJ8fG4oKX0pKX1lbHNlIG4oKX0sbC5wcm90b3R5cGUucG9sbD1mdW5jdGlvbigpe3MoYHBvbGxpbmdgKSx0aGlzLnBvbGxpbmc9ITAsdGhpcy5kb1BvbGwoKSx0aGlzLmVtaXQoYHBvbGxgKX0sbC5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cyhgcG9sbGluZyBnb3QgZGF0YSAlc2AsZSksaS5kZWNvZGVQYXlsb2FkKGUsdGhpcy5zb2NrZXQuYmluYXJ5VHlwZSxmdW5jdGlvbihlLG4scil7aWYodC5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0Lm9uT3BlbigpLGUudHlwZT09PWBjbG9zZWApcmV0dXJuIHQub25DbG9zZSgpLCExO3Qub25QYWNrZXQoZSl9KSx0aGlzLnJlYWR5U3RhdGUhPT1gY2xvc2VkYCYmKHRoaXMucG9sbGluZz0hMSx0aGlzLmVtaXQoYHBvbGxDb21wbGV0ZWApLHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD90aGlzLnBvbGwoKTpzKGBpZ25vcmluZyBwb2xsIC0gdHJhbnNwb3J0IHN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSkpfSxsLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztmdW5jdGlvbiB0KCl7cyhgd3JpdGluZyBjbG9zZSBwYWNrZXRgKSxlLndyaXRlKFt7dHlwZTpgY2xvc2VgfV0pfXRoaXMucmVhZHlTdGF0ZT09PWBvcGVuYD8ocyhgdHJhbnNwb3J0IG9wZW4gLSBjbG9zaW5nYCksdCgpKToocyhgdHJhbnNwb3J0IG5vdCBvcGVuIC0gZGVmZXJyaW5nIGNsb3NlYCksdGhpcy5vbmNlKGBvcGVuYCx0KSl9LGwucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy53cml0YWJsZT0hMTt2YXIgbj1mdW5jdGlvbigpe3Qud3JpdGFibGU9ITAsdC5lbWl0KGBkcmFpbmApfTtpLmVuY29kZVBheWxvYWQoZSx0aGlzLnN1cHBvcnRzQmluYXJ5LGZ1bmN0aW9uKGUpe3QuZG9Xcml0ZShlLG4pfSl9LGwucHJvdG90eXBlLnVyaT1mdW5jdGlvbigpe3ZhciBlPXRoaXMucXVlcnl8fHt9LHQ9dGhpcy5zZWN1cmU/YGh0dHBzYDpgaHR0cGAsbj1gYDshMSE9PXRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksIXRoaXMuc3VwcG9ydHNCaW5hcnkmJiFlLnNpZCYmKGUuYjY0PTEpLGU9ci5lbmNvZGUoZSksdGhpcy5wb3J0JiYodD09PWBodHRwc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YGh0dHBgJiZOdW1iZXIodGhpcy5wb3J0KSE9PTgwKSYmKG49YDpgK3RoaXMucG9ydCksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgaT10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhpP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfX0pKSxyYz1zKCgoZSx0KT0+e3ZhciBuPVVzKCkscj1uYygpLGk9SXMoKSxhPWVjKCksbz1GcygpKGBlbmdpbmUuaW8tY2xpZW50OnBvbGxpbmcteGhyYCkscz1IcygpO3QuZXhwb3J0cz1sLHQuZXhwb3J0cy5SZXF1ZXN0PXU7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe2lmKHIuY2FsbCh0aGlzLGUpLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLmV4dHJhSGVhZGVycz1lLmV4dHJhSGVhZGVycyx0eXBlb2YgbG9jYXRpb248YHVgKXt2YXIgdD1sb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgLG49bG9jYXRpb24ucG9ydDtufHw9dD80NDM6ODAsdGhpcy54ZD10eXBlb2YgbG9jYXRpb248YHVgJiZlLmhvc3RuYW1lIT09bG9jYXRpb24uaG9zdG5hbWV8fG4hPT1lLnBvcnQsdGhpcy54cz1lLnNlY3VyZSE9PXR9fWEobCxyKSxsLnByb3RvdHlwZS5zdXBwb3J0c0JpbmFyeT0hMCxsLnByb3RvdHlwZS5yZXF1ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiBlfHw9e30sZS51cmk9dGhpcy51cmkoKSxlLnhkPXRoaXMueGQsZS54cz10aGlzLnhzLGUuYWdlbnQ9dGhpcy5hZ2VudHx8ITEsZS5zdXBwb3J0c0JpbmFyeT10aGlzLnN1cHBvcnRzQmluYXJ5LGUuZW5hYmxlc1hEUj10aGlzLmVuYWJsZXNYRFIsZS53aXRoQ3JlZGVudGlhbHM9dGhpcy53aXRoQ3JlZGVudGlhbHMsZS5wZng9dGhpcy5wZngsZS5rZXk9dGhpcy5rZXksZS5wYXNzcGhyYXNlPXRoaXMucGFzc3BocmFzZSxlLmNlcnQ9dGhpcy5jZXJ0LGUuY2E9dGhpcy5jYSxlLmNpcGhlcnM9dGhpcy5jaXBoZXJzLGUucmVqZWN0VW5hdXRob3JpemVkPXRoaXMucmVqZWN0VW5hdXRob3JpemVkLGUucmVxdWVzdFRpbWVvdXQ9dGhpcy5yZXF1ZXN0VGltZW91dCxlLmV4dHJhSGVhZGVycz10aGlzLmV4dHJhSGVhZGVycyxuZXcgdShlKX0sbC5wcm90b3R5cGUuZG9Xcml0ZT1mdW5jdGlvbihlLHQpe3ZhciBuPXR5cGVvZiBlIT1gc3RyaW5nYCYmZSE9PXZvaWQgMCxyPXRoaXMucmVxdWVzdCh7bWV0aG9kOmBQT1NUYCxkYXRhOmUsaXNCaW5hcnk6bn0pLGk9dGhpcztyLm9uKGBzdWNjZXNzYCx0KSxyLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7aS5vbkVycm9yKGB4aHIgcG9zdCBlcnJvcmAsZSl9KSx0aGlzLnNlbmRYaHI9cn0sbC5wcm90b3R5cGUuZG9Qb2xsPWZ1bmN0aW9uKCl7byhgeGhyIHBvbGxgKTt2YXIgZT10aGlzLnJlcXVlc3QoKSx0PXRoaXM7ZS5vbihgZGF0YWAsZnVuY3Rpb24oZSl7dC5vbkRhdGEoZSl9KSxlLm9uKGBlcnJvcmAsZnVuY3Rpb24oZSl7dC5vbkVycm9yKGB4aHIgcG9sbCBlcnJvcmAsZSl9KSx0aGlzLnBvbGxYaHI9ZX07ZnVuY3Rpb24gdShlKXt0aGlzLm1ldGhvZD1lLm1ldGhvZHx8YEdFVGAsdGhpcy51cmk9ZS51cmksdGhpcy54ZD0hIWUueGQsdGhpcy54cz0hIWUueHMsdGhpcy5hc3luYz0hMSE9PWUuYXN5bmMsdGhpcy5kYXRhPWUuZGF0YT09PXZvaWQgMD9udWxsOmUuZGF0YSx0aGlzLmFnZW50PWUuYWdlbnQsdGhpcy5pc0JpbmFyeT1lLmlzQmluYXJ5LHRoaXMuc3VwcG9ydHNCaW5hcnk9ZS5zdXBwb3J0c0JpbmFyeSx0aGlzLmVuYWJsZXNYRFI9ZS5lbmFibGVzWERSLHRoaXMud2l0aENyZWRlbnRpYWxzPWUud2l0aENyZWRlbnRpYWxzLHRoaXMucmVxdWVzdFRpbWVvdXQ9ZS5yZXF1ZXN0VGltZW91dCx0aGlzLnBmeD1lLnBmeCx0aGlzLmtleT1lLmtleSx0aGlzLnBhc3NwaHJhc2U9ZS5wYXNzcGhyYXNlLHRoaXMuY2VydD1lLmNlcnQsdGhpcy5jYT1lLmNhLHRoaXMuY2lwaGVycz1lLmNpcGhlcnMsdGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ9ZS5yZWplY3RVbmF1dGhvcml6ZWQsdGhpcy5leHRyYUhlYWRlcnM9ZS5leHRyYUhlYWRlcnMsdGhpcy5jcmVhdGUoKX1pZihpKHUucHJvdG90eXBlKSx1LnByb3RvdHlwZS5jcmVhdGU9ZnVuY3Rpb24oKXt2YXIgZT17YWdlbnQ6dGhpcy5hZ2VudCx4ZG9tYWluOnRoaXMueGQseHNjaGVtZTp0aGlzLnhzLGVuYWJsZXNYRFI6dGhpcy5lbmFibGVzWERSfTtlLnBmeD10aGlzLnBmeCxlLmtleT10aGlzLmtleSxlLnBhc3NwaHJhc2U9dGhpcy5wYXNzcGhyYXNlLGUuY2VydD10aGlzLmNlcnQsZS5jYT10aGlzLmNhLGUuY2lwaGVycz10aGlzLmNpcGhlcnMsZS5yZWplY3RVbmF1dGhvcml6ZWQ9dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQ7dmFyIHQ9dGhpcy54aHI9bmV3IG4oZSkscj10aGlzO3RyeXtvKGB4aHIgb3BlbiAlczogJXNgLHRoaXMubWV0aG9kLHRoaXMudXJpKSx0Lm9wZW4odGhpcy5tZXRob2QsdGhpcy51cmksdGhpcy5hc3luYyk7dHJ5e2lmKHRoaXMuZXh0cmFIZWFkZXJzKWZvcih2YXIgaSBpbiB0LnNldERpc2FibGVIZWFkZXJDaGVjayYmdC5zZXREaXNhYmxlSGVhZGVyQ2hlY2soITApLHRoaXMuZXh0cmFIZWFkZXJzKXRoaXMuZXh0cmFIZWFkZXJzLmhhc093blByb3BlcnR5KGkpJiZ0LnNldFJlcXVlc3RIZWFkZXIoaSx0aGlzLmV4dHJhSGVhZGVyc1tpXSl9Y2F0Y2h7fWlmKHRoaXMubWV0aG9kPT09YFBPU1RgKXRyeXt0aGlzLmlzQmluYXJ5P3Quc2V0UmVxdWVzdEhlYWRlcihgQ29udGVudC10eXBlYCxgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYCk6dC5zZXRSZXF1ZXN0SGVhZGVyKGBDb250ZW50LXR5cGVgLGB0ZXh0L3BsYWluO2NoYXJzZXQ9VVRGLThgKX1jYXRjaHt9dHJ5e3Quc2V0UmVxdWVzdEhlYWRlcihgQWNjZXB0YCxgKi8qYCl9Y2F0Y2h7fWB3aXRoQ3JlZGVudGlhbHNgaW4gdCYmKHQud2l0aENyZWRlbnRpYWxzPXRoaXMud2l0aENyZWRlbnRpYWxzKSx0aGlzLnJlcXVlc3RUaW1lb3V0JiYodC50aW1lb3V0PXRoaXMucmVxdWVzdFRpbWVvdXQpLHRoaXMuaGFzWERSKCk/KHQub25sb2FkPWZ1bmN0aW9uKCl7ci5vbkxvYWQoKX0sdC5vbmVycm9yPWZ1bmN0aW9uKCl7ci5vbkVycm9yKHQucmVzcG9uc2VUZXh0KX0pOnQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYodC5yZWFkeVN0YXRlPT09Mil0cnl7dmFyIGU9dC5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCk7KHIuc3VwcG9ydHNCaW5hcnkmJmU9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8ZT09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmKHQucmVzcG9uc2VUeXBlPWBhcnJheWJ1ZmZlcmApfWNhdGNoe310LnJlYWR5U3RhdGU9PT00JiYodC5zdGF0dXM9PT0yMDB8fHQuc3RhdHVzPT09MTIyMz9yLm9uTG9hZCgpOnNldFRpbWVvdXQoZnVuY3Rpb24oKXtyLm9uRXJyb3IodHlwZW9mIHQuc3RhdHVzPT1gbnVtYmVyYD90LnN0YXR1czowKX0sMCkpfSxvKGB4aHIgZGF0YSAlc2AsdGhpcy5kYXRhKSx0LnNlbmQodGhpcy5kYXRhKX1jYXRjaChlKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5vbkVycm9yKGUpfSwwKTtyZXR1cm59dHlwZW9mIGRvY3VtZW50PGB1YCYmKHRoaXMuaW5kZXg9dS5yZXF1ZXN0c0NvdW50KyssdS5yZXF1ZXN0c1t0aGlzLmluZGV4XT10aGlzKX0sdS5wcm90b3R5cGUub25TdWNjZXNzPWZ1bmN0aW9uKCl7dGhpcy5lbWl0KGBzdWNjZXNzYCksdGhpcy5jbGVhbnVwKCl9LHUucHJvdG90eXBlLm9uRGF0YT1mdW5jdGlvbihlKXt0aGlzLmVtaXQoYGRhdGFgLGUpLHRoaXMub25TdWNjZXNzKCl9LHUucHJvdG90eXBlLm9uRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5jbGVhbnVwKCEwKX0sdS5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbihlKXtpZighKHRoaXMueGhyPT09dm9pZCAwfHx0aGlzLnhocj09PW51bGwpKXtpZih0aGlzLmhhc1hEUigpP3RoaXMueGhyLm9ubG9hZD10aGlzLnhoci5vbmVycm9yPWM6dGhpcy54aHIub25yZWFkeXN0YXRlY2hhbmdlPWMsZSl0cnl7dGhpcy54aHIuYWJvcnQoKX1jYXRjaHt9dHlwZW9mIGRvY3VtZW50PGB1YCYmZGVsZXRlIHUucmVxdWVzdHNbdGhpcy5pbmRleF0sdGhpcy54aHI9bnVsbH19LHUucHJvdG90eXBlLm9uTG9hZD1mdW5jdGlvbigpe3ZhciBlO3RyeXt2YXIgdDt0cnl7dD10aGlzLnhoci5nZXRSZXNwb25zZUhlYWRlcihgQ29udGVudC1UeXBlYCl9Y2F0Y2h7fWU9KHQ9PT1gYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtYHx8dD09PWBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07IGNoYXJzZXQ9VVRGLThgKSYmdGhpcy54aHIucmVzcG9uc2V8fHRoaXMueGhyLnJlc3BvbnNlVGV4dH1jYXRjaChlKXt0aGlzLm9uRXJyb3IoZSl9ZSE9bnVsbCYmdGhpcy5vbkRhdGEoZSl9LHUucHJvdG90eXBlLmhhc1hEUj1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgWERvbWFpblJlcXVlc3Q8YHVgJiYhdGhpcy54cyYmdGhpcy5lbmFibGVzWERSfSx1LnByb3RvdHlwZS5hYm9ydD1mdW5jdGlvbigpe3RoaXMuY2xlYW51cCgpfSx1LnJlcXVlc3RzQ291bnQ9MCx1LnJlcXVlc3RzPXt9LHR5cGVvZiBkb2N1bWVudDxgdWApe2lmKHR5cGVvZiBhdHRhY2hFdmVudD09YGZ1bmN0aW9uYClhdHRhY2hFdmVudChgb251bmxvYWRgLGYpO2Vsc2UgaWYodHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmApe3ZhciBkPWBvbnBhZ2VoaWRlYGluIHM/YHBhZ2VoaWRlYDpgdW5sb2FkYDthZGRFdmVudExpc3RlbmVyKGQsZiwhMSl9fWZ1bmN0aW9uIGYoKXtmb3IodmFyIGUgaW4gdS5yZXF1ZXN0cyl1LnJlcXVlc3RzLmhhc093blByb3BlcnR5KGUpJiZ1LnJlcXVlc3RzW2VdLmFib3J0KCl9fSkpLGljPXMoKChlLHQpPT57dmFyIG49bmMoKSxyPWVjKCksaT1IcygpO3QuZXhwb3J0cz1sO3ZhciBhPS9cbi9nLG89L1xcbi9nLHM7ZnVuY3Rpb24gYygpe31mdW5jdGlvbiBsKGUpe24uY2FsbCh0aGlzLGUpLHRoaXMucXVlcnk9dGhpcy5xdWVyeXx8e30sc3x8PWkuX19fZWlvPWkuX19fZWlvfHxbXSx0aGlzLmluZGV4PXMubGVuZ3RoO3ZhciB0PXRoaXM7cy5wdXNoKGZ1bmN0aW9uKGUpe3Qub25EYXRhKGUpfSksdGhpcy5xdWVyeS5qPXRoaXMuaW5kZXgsdHlwZW9mIGFkZEV2ZW50TGlzdGVuZXI9PWBmdW5jdGlvbmAmJmFkZEV2ZW50TGlzdGVuZXIoYGJlZm9yZXVubG9hZGAsZnVuY3Rpb24oKXt0LnNjcmlwdCYmKHQuc2NyaXB0Lm9uZXJyb3I9Yyl9LCExKX1yKGwsbiksbC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITEsbC5wcm90b3R5cGUuZG9DbG9zZT1mdW5jdGlvbigpe3RoaXMuc2NyaXB0JiY9KHRoaXMuc2NyaXB0LnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQodGhpcy5zY3JpcHQpLG51bGwpLHRoaXMuZm9ybSYmKHRoaXMuZm9ybS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKHRoaXMuZm9ybSksdGhpcy5mb3JtPW51bGwsdGhpcy5pZnJhbWU9bnVsbCksbi5wcm90b3R5cGUuZG9DbG9zZS5jYWxsKHRoaXMpfSxsLnByb3RvdHlwZS5kb1BvbGw9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLHQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgc2NyaXB0YCk7dGhpcy5zY3JpcHQmJj0odGhpcy5zY3JpcHQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLnNjcmlwdCksbnVsbCksdC5hc3luYz0hMCx0LnNyYz10aGlzLnVyaSgpLHQub25lcnJvcj1mdW5jdGlvbih0KXtlLm9uRXJyb3IoYGpzb25wIHBvbGwgZXJyb3JgLHQpfTt2YXIgbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZShgc2NyaXB0YClbMF07bj9uLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHQsbik6KGRvY3VtZW50LmhlYWR8fGRvY3VtZW50LmJvZHkpLmFwcGVuZENoaWxkKHQpLHRoaXMuc2NyaXB0PXQsdHlwZW9mIG5hdmlnYXRvcjxgdWAmJi9nZWNrby9pLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCkmJnNldFRpbWVvdXQoZnVuY3Rpb24oKXt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGUpLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZSl9LDEwMCl9LGwucHJvdG90eXBlLmRvV3JpdGU9ZnVuY3Rpb24oZSx0KXt2YXIgbj10aGlzO2lmKCF0aGlzLmZvcm0pe3ZhciByPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYGZvcm1gKSxpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoYHRleHRhcmVhYCkscz10aGlzLmlmcmFtZUlkPWBlaW9faWZyYW1lX2ArdGhpcy5pbmRleCxjO3IuY2xhc3NOYW1lPWBzb2NrZXRpb2Asci5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHIuc3R5bGUudG9wPWAtMTAwMHB4YCxyLnN0eWxlLmxlZnQ9YC0xMDAwcHhgLHIudGFyZ2V0PXMsci5tZXRob2Q9YFBPU1RgLHIuc2V0QXR0cmlidXRlKGBhY2NlcHQtY2hhcnNldGAsYHV0Zi04YCksaS5uYW1lPWBkYCxyLmFwcGVuZENoaWxkKGkpLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQociksdGhpcy5mb3JtPXIsdGhpcy5hcmVhPWl9dGhpcy5mb3JtLmFjdGlvbj10aGlzLnVyaSgpO2Z1bmN0aW9uIGwoKXt1KCksdCgpfWZ1bmN0aW9uIHUoKXtpZihuLmlmcmFtZSl0cnl7bi5mb3JtLnJlbW92ZUNoaWxkKG4uaWZyYW1lKX1jYXRjaChlKXtuLm9uRXJyb3IoYGpzb25wIHBvbGxpbmcgaWZyYW1lIHJlbW92YWwgZXJyb3JgLGUpfXRyeXt2YXIgZT1gPGlmcmFtZSBzcmM9ImphdmFzY3JpcHQ6MCIgbmFtZT0iYCtuLmlmcmFtZUlkK2AiPmA7Yz1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGUpfWNhdGNoe2M9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaWZyYW1lYCksYy5uYW1lPW4uaWZyYW1lSWQsYy5zcmM9YGphdmFzY3JpcHQ6MGB9Yy5pZD1uLmlmcmFtZUlkLG4uZm9ybS5hcHBlbmRDaGlsZChjKSxuLmlmcmFtZT1jfXUoKSxlPWUucmVwbGFjZShvLGBcXApgKSx0aGlzLmFyZWEudmFsdWU9ZS5yZXBsYWNlKGEsYFxcbmApO3RyeXt0aGlzLmZvcm0uc3VibWl0KCl9Y2F0Y2h7fXRoaXMuaWZyYW1lLmF0dGFjaEV2ZW50P3RoaXMuaWZyYW1lLm9ucmVhZHlzdGF0ZWNoYW5nZT1mdW5jdGlvbigpe24uaWZyYW1lLnJlYWR5U3RhdGU9PT1gY29tcGxldGVgJiZsKCl9OnRoaXMuaWZyYW1lLm9ubG9hZD1sfX0pKSxhYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz17fX0pKSxvYz1zKCgoZSx0KT0+e3ZhciBuPVFzKCkscj1acygpLGk9JHMoKSxhPWVjKCksbz10YygpLHM9RnMoKShgZW5naW5lLmlvLWNsaWVudDp3ZWJzb2NrZXRgKSxjLGw7aWYodHlwZW9mIFdlYlNvY2tldDxgdWA/Yz1XZWJTb2NrZXQ6dHlwZW9mIHNlbGY8YHVgJiYoYz1zZWxmLldlYlNvY2tldHx8c2VsZi5Nb3pXZWJTb2NrZXQpLHR5cGVvZiB3aW5kb3c+YHVgKXRyeXtsPWFjKCl9Y2F0Y2h7fXZhciB1PWN8fGw7dC5leHBvcnRzPWQ7ZnVuY3Rpb24gZChlKXtlJiZlLmZvcmNlQmFzZTY0JiYodGhpcy5zdXBwb3J0c0JpbmFyeT0hMSksdGhpcy5wZXJNZXNzYWdlRGVmbGF0ZT1lLnBlck1lc3NhZ2VEZWZsYXRlLHRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0PWMmJiFlLmZvcmNlTm9kZSx0aGlzLnByb3RvY29scz1lLnByb3RvY29scyx0aGlzLnVzaW5nQnJvd3NlcldlYlNvY2tldHx8KHU9bCksbi5jYWxsKHRoaXMsZSl9YShkLG4pLGQucHJvdG90eXBlLm5hbWU9YHdlYnNvY2tldGAsZC5wcm90b3R5cGUuc3VwcG9ydHNCaW5hcnk9ITAsZC5wcm90b3R5cGUuZG9PcGVuPWZ1bmN0aW9uKCl7aWYodGhpcy5jaGVjaygpKXt2YXIgZT10aGlzLnVyaSgpLHQ9dGhpcy5wcm90b2NvbHMsbj17fTt0aGlzLmlzUmVhY3ROYXRpdmV8fChuLmFnZW50PXRoaXMuYWdlbnQsbi5wZXJNZXNzYWdlRGVmbGF0ZT10aGlzLnBlck1lc3NhZ2VEZWZsYXRlLG4ucGZ4PXRoaXMucGZ4LG4ua2V5PXRoaXMua2V5LG4ucGFzc3BocmFzZT10aGlzLnBhc3NwaHJhc2Usbi5jZXJ0PXRoaXMuY2VydCxuLmNhPXRoaXMuY2Esbi5jaXBoZXJzPXRoaXMuY2lwaGVycyxuLnJlamVjdFVuYXV0aG9yaXplZD10aGlzLnJlamVjdFVuYXV0aG9yaXplZCksdGhpcy5leHRyYUhlYWRlcnMmJihuLmhlYWRlcnM9dGhpcy5leHRyYUhlYWRlcnMpLHRoaXMubG9jYWxBZGRyZXNzJiYobi5sb2NhbEFkZHJlc3M9dGhpcy5sb2NhbEFkZHJlc3MpO3RyeXt0aGlzLndzPXRoaXMudXNpbmdCcm93c2VyV2ViU29ja2V0JiYhdGhpcy5pc1JlYWN0TmF0aXZlP3Q/bmV3IHUoZSx0KTpuZXcgdShlKTpuZXcgdShlLHQsbil9Y2F0Y2goZSl7cmV0dXJuIHRoaXMuZW1pdChgZXJyb3JgLGUpfXRoaXMud3MuYmluYXJ5VHlwZT09PXZvaWQgMCYmKHRoaXMuc3VwcG9ydHNCaW5hcnk9ITEpLHRoaXMud3Muc3VwcG9ydHMmJnRoaXMud3Muc3VwcG9ydHMuYmluYXJ5Pyh0aGlzLnN1cHBvcnRzQmluYXJ5PSEwLHRoaXMud3MuYmluYXJ5VHlwZT1gbm9kZWJ1ZmZlcmApOnRoaXMud3MuYmluYXJ5VHlwZT1gYXJyYXlidWZmZXJgLHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnMoKX19LGQucHJvdG90eXBlLmFkZEV2ZW50TGlzdGVuZXJzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczt0aGlzLndzLm9ub3Blbj1mdW5jdGlvbigpe2Uub25PcGVuKCl9LHRoaXMud3Mub25jbG9zZT1mdW5jdGlvbigpe2Uub25DbG9zZSgpfSx0aGlzLndzLm9ubWVzc2FnZT1mdW5jdGlvbih0KXtlLm9uRGF0YSh0LmRhdGEpfSx0aGlzLndzLm9uZXJyb3I9ZnVuY3Rpb24odCl7ZS5vbkVycm9yKGB3ZWJzb2NrZXQgZXJyb3JgLHQpfX0sZC5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpczt0aGlzLndyaXRhYmxlPSExO2Zvcih2YXIgbj1lLmxlbmd0aCxpPTAsYT1uO2k8YTtpKyspKGZ1bmN0aW9uKGUpe3IuZW5jb2RlUGFja2V0KGUsdC5zdXBwb3J0c0JpbmFyeSxmdW5jdGlvbihyKXtpZighdC51c2luZ0Jyb3dzZXJXZWJTb2NrZXQpe3ZhciBpPXt9O2Uub3B0aW9ucyYmKGkuY29tcHJlc3M9ZS5vcHRpb25zLmNvbXByZXNzKSx0LnBlck1lc3NhZ2VEZWZsYXRlJiYodHlwZW9mIHI9PWBzdHJpbmdgP0J1ZmZlci5ieXRlTGVuZ3RoKHIpOnIubGVuZ3RoKTx0LnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZCYmKGkuY29tcHJlc3M9ITEpfXRyeXt0LnVzaW5nQnJvd3NlcldlYlNvY2tldD90LndzLnNlbmQocik6dC53cy5zZW5kKHIsaSl9Y2F0Y2h7cyhgd2Vic29ja2V0IGNsb3NlZCBiZWZvcmUgb25jbG9zZSBldmVudGApfS0tbnx8bygpfSl9KShlW2ldKTtmdW5jdGlvbiBvKCl7dC5lbWl0KGBmbHVzaGApLHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0LndyaXRhYmxlPSEwLHQuZW1pdChgZHJhaW5gKX0sMCl9fSxkLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKCl7bi5wcm90b3R5cGUub25DbG9zZS5jYWxsKHRoaXMpfSxkLnByb3RvdHlwZS5kb0Nsb3NlPWZ1bmN0aW9uKCl7dGhpcy53cyE9PXZvaWQgMCYmdGhpcy53cy5jbG9zZSgpfSxkLnByb3RvdHlwZS51cmk9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnF1ZXJ5fHx7fSx0PXRoaXMuc2VjdXJlP2B3c3NgOmB3c2Asbj1gYDt0aGlzLnBvcnQmJih0PT09YHdzc2AmJk51bWJlcih0aGlzLnBvcnQpIT09NDQzfHx0PT09YHdzYCYmTnVtYmVyKHRoaXMucG9ydCkhPT04MCkmJihuPWA6YCt0aGlzLnBvcnQpLHRoaXMudGltZXN0YW1wUmVxdWVzdHMmJihlW3RoaXMudGltZXN0YW1wUGFyYW1dPW8oKSksdGhpcy5zdXBwb3J0c0JpbmFyeXx8KGUuYjY0PTEpLGU9aS5lbmNvZGUoZSksZS5sZW5ndGgmJihlPWA/YCtlKTt2YXIgcj10aGlzLmhvc3RuYW1lLmluZGV4T2YoYDpgKSE9PS0xO3JldHVybiB0K2A6Ly9gKyhyP2BbYCt0aGlzLmhvc3RuYW1lK2BdYDp0aGlzLmhvc3RuYW1lKStuK3RoaXMucGF0aCtlfSxkLnByb3RvdHlwZS5jaGVjaz1mdW5jdGlvbigpe3JldHVybiEhdSYmIShgX19pbml0aWFsaXplYGluIHUmJnRoaXMubmFtZT09PWQucHJvdG90eXBlLm5hbWUpfX0pKSxzYz1zKChlPT57dmFyIHQ9VXMoKSxuPXJjKCkscj1pYygpLGk9b2MoKTtlLnBvbGxpbmc9YSxlLndlYnNvY2tldD1pO2Z1bmN0aW9uIGEoZSl7dmFyIGksYT0hMSxvPSExLHM9ITEhPT1lLmpzb25wO2lmKHR5cGVvZiBsb2NhdGlvbjxgdWApe3ZhciBjPWxvY2F0aW9uLnByb3RvY29sPT09YGh0dHBzOmAsbD1sb2NhdGlvbi5wb3J0O2x8fD1jPzQ0Mzo4MCxhPWUuaG9zdG5hbWUhPT1sb2NhdGlvbi5ob3N0bmFtZXx8bCE9PWUucG9ydCxvPWUuc2VjdXJlIT09Y31pZihlLnhkb21haW49YSxlLnhzY2hlbWU9byxpPW5ldyB0KGUpLGBvcGVuYGluIGkmJiFlLmZvcmNlSlNPTlApcmV0dXJuIG5ldyBuKGUpO2lmKCFzKXRocm93IEVycm9yKGBKU09OUCBkaXNhYmxlZGApO3JldHVybiBuZXcgcihlKX19KSksY2M9cygoKGUsdCk9Pnt2YXIgbj1bXS5pbmRleE9mO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKG4pcmV0dXJuIGUuaW5kZXhPZih0KTtmb3IodmFyIHI9MDtyPGUubGVuZ3RoOysrcilpZihlW3JdPT09dClyZXR1cm4gcjtyZXR1cm4tMX19KSksbGM9cygoKGUsdCk9Pnt2YXIgbj0vXig/Oig/IVteOkBdKzpbXjpAXC9dKkApKGh0dHB8aHR0cHN8d3N8d3NzKTpcL1wvKT8oKD86KChbXjpAXSopKD86OihbXjpAXSopKT8pP0ApPygoPzpbYS1mMC05XXswLDR9Oil7Miw3fVthLWYwLTldezAsNH18W146XC8/I10qKSg/OjooXGQqKSk/KSgoKFwvKD86W14/I10oPyFbXj8jXC9dKlwuW14/I1wvLl0rKD86Wz8jXXwkKSkpKlwvPyk/KFtePyNcL10qKSkoPzpcPyhbXiNdKikpPyg/OiMoLiopKT8pLyxyPVtgc291cmNlYCxgcHJvdG9jb2xgLGBhdXRob3JpdHlgLGB1c2VySW5mb2AsYHVzZXJgLGBwYXNzd29yZGAsYGhvc3RgLGBwb3J0YCxgcmVsYXRpdmVgLGBwYXRoYCxgZGlyZWN0b3J5YCxgZmlsZWAsYHF1ZXJ5YCxgYW5jaG9yYF07dC5leHBvcnRzPWZ1bmN0aW9uKGUpe3ZhciB0PWUsbz1lLmluZGV4T2YoYFtgKSxzPWUuaW5kZXhPZihgXWApO28hPS0xJiZzIT0tMSYmKGU9ZS5zdWJzdHJpbmcoMCxvKStlLnN1YnN0cmluZyhvLHMpLnJlcGxhY2UoLzovZyxgO2ApK2Uuc3Vic3RyaW5nKHMsZS5sZW5ndGgpKTtmb3IodmFyIGM9bi5leGVjKGV8fGBgKSxsPXt9LHU9MTQ7dS0tOylsW3JbdV1dPWNbdV18fGBgO3JldHVybiBvIT0tMSYmcyE9LTEmJihsLnNvdXJjZT10LGwuaG9zdD1sLmhvc3Quc3Vic3RyaW5nKDEsbC5ob3N0Lmxlbmd0aC0xKS5yZXBsYWNlKC87L2csYDpgKSxsLmF1dGhvcml0eT1sLmF1dGhvcml0eS5yZXBsYWNlKGBbYCxgYCkucmVwbGFjZShgXWAsYGApLnJlcGxhY2UoLzsvZyxgOmApLGwuaXB2NnVyaT0hMCksbC5wYXRoTmFtZXM9aShsLGwucGF0aCksbC5xdWVyeUtleT1hKGwsbC5xdWVyeSksbH07ZnVuY3Rpb24gaShlLHQpe3ZhciBuPXQucmVwbGFjZSgvXC97Miw5fS9nLGAvYCkuc3BsaXQoYC9gKTtyZXR1cm4odC5zdWJzdHIoMCwxKT09YC9gfHx0Lmxlbmd0aD09PTApJiZuLnNwbGljZSgwLDEpLHQuc3Vic3RyKHQubGVuZ3RoLTEsMSk9PWAvYCYmbi5zcGxpY2Uobi5sZW5ndGgtMSwxKSxufWZ1bmN0aW9uIGEoZSx0KXt2YXIgbj17fTtyZXR1cm4gdC5yZXBsYWNlKC8oPzpefCYpKFteJj1dKik9PyhbXiZdKikvZyxmdW5jdGlvbihlLHQscil7dCYmKG5bdF09cil9KSxufX0pKSx1Yz1zKCgoZSx0KT0+e3ZhciBuPXNjKCkscj1JcygpLGk9RnMoKShgZW5naW5lLmlvLWNsaWVudDpzb2NrZXRgKSxhPWNjKCksbz1acygpLHM9bGMoKSxjPSRzKCk7dC5leHBvcnRzPWw7ZnVuY3Rpb24gbChlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGwpKXJldHVybiBuZXcgbChlLHQpO3R8fD17fSxlJiZ0eXBlb2YgZT09YG9iamVjdGAmJih0PWUsZT1udWxsKSxlPyhlPXMoZSksdC5ob3N0bmFtZT1lLmhvc3QsdC5zZWN1cmU9ZS5wcm90b2NvbD09PWBodHRwc2B8fGUucHJvdG9jb2w9PT1gd3NzYCx0LnBvcnQ9ZS5wb3J0LGUucXVlcnkmJih0LnF1ZXJ5PWUucXVlcnkpKTp0Lmhvc3QmJih0Lmhvc3RuYW1lPXModC5ob3N0KS5ob3N0KSx0aGlzLnNlY3VyZT10LnNlY3VyZT09bnVsbD90eXBlb2YgbG9jYXRpb248YHVgJiZsb2NhdGlvbi5wcm90b2NvbD09PWBodHRwczpgOnQuc2VjdXJlLHQuaG9zdG5hbWUmJiF0LnBvcnQmJih0LnBvcnQ9dGhpcy5zZWN1cmU/YDQ0M2A6YDgwYCksdGhpcy5hZ2VudD10LmFnZW50fHwhMSx0aGlzLmhvc3RuYW1lPXQuaG9zdG5hbWV8fCh0eXBlb2YgbG9jYXRpb248YHVgP2xvY2F0aW9uLmhvc3RuYW1lOmBsb2NhbGhvc3RgKSx0aGlzLnBvcnQ9dC5wb3J0fHwodHlwZW9mIGxvY2F0aW9uPGB1YCYmbG9jYXRpb24ucG9ydD9sb2NhdGlvbi5wb3J0OnRoaXMuc2VjdXJlPzQ0Mzo4MCksdGhpcy5xdWVyeT10LnF1ZXJ5fHx7fSx0eXBlb2YgdGhpcy5xdWVyeT09YHN0cmluZ2AmJih0aGlzLnF1ZXJ5PWMuZGVjb2RlKHRoaXMucXVlcnkpKSx0aGlzLnVwZ3JhZGU9ITEhPT10LnVwZ3JhZGUsdGhpcy5wYXRoPSh0LnBhdGh8fGAvZW5naW5lLmlvYCkucmVwbGFjZSgvXC8kLyxgYCkrYC9gLHRoaXMuZm9yY2VKU09OUD0hIXQuZm9yY2VKU09OUCx0aGlzLmpzb25wPSExIT09dC5qc29ucCx0aGlzLmZvcmNlQmFzZTY0PSEhdC5mb3JjZUJhc2U2NCx0aGlzLmVuYWJsZXNYRFI9ISF0LmVuYWJsZXNYRFIsdGhpcy53aXRoQ3JlZGVudGlhbHM9ITEhPT10LndpdGhDcmVkZW50aWFscyx0aGlzLnRpbWVzdGFtcFBhcmFtPXQudGltZXN0YW1wUGFyYW18fGB0YCx0aGlzLnRpbWVzdGFtcFJlcXVlc3RzPXQudGltZXN0YW1wUmVxdWVzdHMsdGhpcy50cmFuc3BvcnRzPXQudHJhbnNwb3J0c3x8W2Bwb2xsaW5nYCxgd2Vic29ja2V0YF0sdGhpcy50cmFuc3BvcnRPcHRpb25zPXQudHJhbnNwb3J0T3B0aW9uc3x8e30sdGhpcy5yZWFkeVN0YXRlPWBgLHRoaXMud3JpdGVCdWZmZXI9W10sdGhpcy5wcmV2QnVmZmVyTGVuPTAsdGhpcy5wb2xpY3lQb3J0PXQucG9saWN5UG9ydHx8ODQzLHRoaXMucmVtZW1iZXJVcGdyYWRlPXQucmVtZW1iZXJVcGdyYWRlfHwhMSx0aGlzLmJpbmFyeVR5cGU9bnVsbCx0aGlzLm9ubHlCaW5hcnlVcGdyYWRlcz10Lm9ubHlCaW5hcnlVcGdyYWRlcyx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPSExPT09dC5wZXJNZXNzYWdlRGVmbGF0ZT8hMTp0LnBlck1lc3NhZ2VEZWZsYXRlfHx7fSwhMD09PXRoaXMucGVyTWVzc2FnZURlZmxhdGUmJih0aGlzLnBlck1lc3NhZ2VEZWZsYXRlPXt9KSx0aGlzLnBlck1lc3NhZ2VEZWZsYXRlJiZ0aGlzLnBlck1lc3NhZ2VEZWZsYXRlLnRocmVzaG9sZD09bnVsbCYmKHRoaXMucGVyTWVzc2FnZURlZmxhdGUudGhyZXNob2xkPTEwMjQpLHRoaXMucGZ4PXQucGZ4fHxudWxsLHRoaXMua2V5PXQua2V5fHxudWxsLHRoaXMucGFzc3BocmFzZT10LnBhc3NwaHJhc2V8fG51bGwsdGhpcy5jZXJ0PXQuY2VydHx8bnVsbCx0aGlzLmNhPXQuY2F8fG51bGwsdGhpcy5jaXBoZXJzPXQuY2lwaGVyc3x8bnVsbCx0aGlzLnJlamVjdFVuYXV0aG9yaXplZD10LnJlamVjdFVuYXV0aG9yaXplZD09PXZvaWQgMD8hMDp0LnJlamVjdFVuYXV0aG9yaXplZCx0aGlzLmZvcmNlTm9kZT0hIXQuZm9yY2VOb2RlLHRoaXMuaXNSZWFjdE5hdGl2ZT10eXBlb2YgbmF2aWdhdG9yPGB1YCYmdHlwZW9mIG5hdmlnYXRvci5wcm9kdWN0PT1gc3RyaW5nYCYmbmF2aWdhdG9yLnByb2R1Y3QudG9Mb3dlckNhc2UoKT09PWByZWFjdG5hdGl2ZWAsKHR5cGVvZiBzZWxmPmB1YHx8dGhpcy5pc1JlYWN0TmF0aXZlKSYmKHQuZXh0cmFIZWFkZXJzJiZPYmplY3Qua2V5cyh0LmV4dHJhSGVhZGVycykubGVuZ3RoPjAmJih0aGlzLmV4dHJhSGVhZGVycz10LmV4dHJhSGVhZGVycyksdC5sb2NhbEFkZHJlc3MmJih0aGlzLmxvY2FsQWRkcmVzcz10LmxvY2FsQWRkcmVzcykpLHRoaXMuaWQ9bnVsbCx0aGlzLnVwZ3JhZGVzPW51bGwsdGhpcy5waW5nSW50ZXJ2YWw9bnVsbCx0aGlzLnBpbmdUaW1lb3V0PW51bGwsdGhpcy5waW5nSW50ZXJ2YWxUaW1lcj1udWxsLHRoaXMucGluZ1RpbWVvdXRUaW1lcj1udWxsLHRoaXMub3BlbigpfWwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPSExLHIobC5wcm90b3R5cGUpLGwucHJvdG9jb2w9by5wcm90b2NvbCxsLlNvY2tldD1sLGwuVHJhbnNwb3J0PVFzKCksbC50cmFuc3BvcnRzPXNjKCksbC5wYXJzZXI9WnMoKSxsLnByb3RvdHlwZS5jcmVhdGVUcmFuc3BvcnQ9ZnVuY3Rpb24oZSl7aShgY3JlYXRpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXUodGhpcy5xdWVyeSk7dC5FSU89by5wcm90b2NvbCx0LnRyYW5zcG9ydD1lO3ZhciByPXRoaXMudHJhbnNwb3J0T3B0aW9uc1tlXXx8e307cmV0dXJuIHRoaXMuaWQmJih0LnNpZD10aGlzLmlkKSxuZXcgbltlXSh7cXVlcnk6dCxzb2NrZXQ6dGhpcyxhZ2VudDpyLmFnZW50fHx0aGlzLmFnZW50LGhvc3RuYW1lOnIuaG9zdG5hbWV8fHRoaXMuaG9zdG5hbWUscG9ydDpyLnBvcnR8fHRoaXMucG9ydCxzZWN1cmU6ci5zZWN1cmV8fHRoaXMuc2VjdXJlLHBhdGg6ci5wYXRofHx0aGlzLnBhdGgsZm9yY2VKU09OUDpyLmZvcmNlSlNPTlB8fHRoaXMuZm9yY2VKU09OUCxqc29ucDpyLmpzb25wfHx0aGlzLmpzb25wLGZvcmNlQmFzZTY0OnIuZm9yY2VCYXNlNjR8fHRoaXMuZm9yY2VCYXNlNjQsZW5hYmxlc1hEUjpyLmVuYWJsZXNYRFJ8fHRoaXMuZW5hYmxlc1hEUix3aXRoQ3JlZGVudGlhbHM6ci53aXRoQ3JlZGVudGlhbHN8fHRoaXMud2l0aENyZWRlbnRpYWxzLHRpbWVzdGFtcFJlcXVlc3RzOnIudGltZXN0YW1wUmVxdWVzdHN8fHRoaXMudGltZXN0YW1wUmVxdWVzdHMsdGltZXN0YW1wUGFyYW06ci50aW1lc3RhbXBQYXJhbXx8dGhpcy50aW1lc3RhbXBQYXJhbSxwb2xpY3lQb3J0OnIucG9saWN5UG9ydHx8dGhpcy5wb2xpY3lQb3J0LHBmeDpyLnBmeHx8dGhpcy5wZngsa2V5OnIua2V5fHx0aGlzLmtleSxwYXNzcGhyYXNlOnIucGFzc3BocmFzZXx8dGhpcy5wYXNzcGhyYXNlLGNlcnQ6ci5jZXJ0fHx0aGlzLmNlcnQsY2E6ci5jYXx8dGhpcy5jYSxjaXBoZXJzOnIuY2lwaGVyc3x8dGhpcy5jaXBoZXJzLHJlamVjdFVuYXV0aG9yaXplZDpyLnJlamVjdFVuYXV0aG9yaXplZHx8dGhpcy5yZWplY3RVbmF1dGhvcml6ZWQscGVyTWVzc2FnZURlZmxhdGU6ci5wZXJNZXNzYWdlRGVmbGF0ZXx8dGhpcy5wZXJNZXNzYWdlRGVmbGF0ZSxleHRyYUhlYWRlcnM6ci5leHRyYUhlYWRlcnN8fHRoaXMuZXh0cmFIZWFkZXJzLGZvcmNlTm9kZTpyLmZvcmNlTm9kZXx8dGhpcy5mb3JjZU5vZGUsbG9jYWxBZGRyZXNzOnIubG9jYWxBZGRyZXNzfHx0aGlzLmxvY2FsQWRkcmVzcyxyZXF1ZXN0VGltZW91dDpyLnJlcXVlc3RUaW1lb3V0fHx0aGlzLnJlcXVlc3RUaW1lb3V0LHByb3RvY29sczpyLnByb3RvY29sc3x8dm9pZCAwLGlzUmVhY3ROYXRpdmU6dGhpcy5pc1JlYWN0TmF0aXZlfSl9O2Z1bmN0aW9uIHUoZSl7dmFyIHQ9e307Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHRbbl09ZVtuXSk7cmV0dXJuIHR9bC5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlO2lmKHRoaXMucmVtZW1iZXJVcGdyYWRlJiZsLnByaW9yV2Vic29ja2V0U3VjY2VzcyYmdGhpcy50cmFuc3BvcnRzLmluZGV4T2YoYHdlYnNvY2tldGApIT09LTEpZT1gd2Vic29ja2V0YDtlbHNlIGlmKHRoaXMudHJhbnNwb3J0cy5sZW5ndGg9PT0wKXt2YXIgdD10aGlzO3NldFRpbWVvdXQoZnVuY3Rpb24oKXt0LmVtaXQoYGVycm9yYCxgTm8gdHJhbnNwb3J0cyBhdmFpbGFibGVgKX0sMCk7cmV0dXJufWVsc2UgZT10aGlzLnRyYW5zcG9ydHNbMF07dGhpcy5yZWFkeVN0YXRlPWBvcGVuaW5nYDt0cnl7ZT10aGlzLmNyZWF0ZVRyYW5zcG9ydChlKX1jYXRjaHt0aGlzLnRyYW5zcG9ydHMuc2hpZnQoKSx0aGlzLm9wZW4oKTtyZXR1cm59ZS5vcGVuKCksdGhpcy5zZXRUcmFuc3BvcnQoZSl9LGwucHJvdG90eXBlLnNldFRyYW5zcG9ydD1mdW5jdGlvbihlKXtpKGBzZXR0aW5nIHRyYW5zcG9ydCAlc2AsZS5uYW1lKTt2YXIgdD10aGlzO3RoaXMudHJhbnNwb3J0JiYoaShgY2xlYXJpbmcgZXhpc3RpbmcgdHJhbnNwb3J0ICVzYCx0aGlzLnRyYW5zcG9ydC5uYW1lKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSksdGhpcy50cmFuc3BvcnQ9ZSxlLm9uKGBkcmFpbmAsZnVuY3Rpb24oKXt0Lm9uRHJhaW4oKX0pLm9uKGBwYWNrZXRgLGZ1bmN0aW9uKGUpe3Qub25QYWNrZXQoZSl9KS5vbihgZXJyb3JgLGZ1bmN0aW9uKGUpe3Qub25FcnJvcihlKX0pLm9uKGBjbG9zZWAsZnVuY3Rpb24oKXt0Lm9uQ2xvc2UoYHRyYW5zcG9ydCBjbG9zZWApfSl9LGwucHJvdG90eXBlLnByb2JlPWZ1bmN0aW9uKGUpe2koYHByb2JpbmcgdHJhbnNwb3J0ICIlcyJgLGUpO3ZhciB0PXRoaXMuY3JlYXRlVHJhbnNwb3J0KGUse3Byb2JlOjF9KSxuPSExLHI9dGhpcztsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz0hMTtmdW5jdGlvbiBhKCl7aWYoci5vbmx5QmluYXJ5VXBncmFkZXMpe3ZhciBhPSF0aGlzLnN1cHBvcnRzQmluYXJ5JiZyLnRyYW5zcG9ydC5zdXBwb3J0c0JpbmFyeTtufHw9YX1ufHwoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgb3BlbmVkYCxlKSx0LnNlbmQoW3t0eXBlOmBwaW5nYCxkYXRhOmBwcm9iZWB9XSksdC5vbmNlKGBwYWNrZXRgLGZ1bmN0aW9uKGEpe2lmKCFuKWlmKGEudHlwZT09PWBwb25nYCYmYS5kYXRhPT09YHByb2JlYCl7aWYoaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgcG9uZ2AsZSksci51cGdyYWRpbmc9ITAsci5lbWl0KGB1cGdyYWRpbmdgLHQpLCF0KXJldHVybjtsLnByaW9yV2Vic29ja2V0U3VjY2Vzcz10Lm5hbWU9PT1gd2Vic29ja2V0YCxpKGBwYXVzaW5nIGN1cnJlbnQgdHJhbnNwb3J0ICIlcyJgLHIudHJhbnNwb3J0Lm5hbWUpLHIudHJhbnNwb3J0LnBhdXNlKGZ1bmN0aW9uKCl7bnx8ci5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJihpKGBjaGFuZ2luZyB0cmFuc3BvcnQgYW5kIHNlbmRpbmcgdXBncmFkZSBwYWNrZXRgKSxmKCksci5zZXRUcmFuc3BvcnQodCksdC5zZW5kKFt7dHlwZTpgdXBncmFkZWB9XSksci5lbWl0KGB1cGdyYWRlYCx0KSx0PW51bGwsci51cGdyYWRpbmc9ITEsci5mbHVzaCgpKX0pfWVsc2V7aShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkYCxlKTt2YXIgbz1FcnJvcihgcHJvYmUgZXJyb3JgKTtvLnRyYW5zcG9ydD10Lm5hbWUsci5lbWl0KGB1cGdyYWRlRXJyb3JgLG8pfX0pKX1mdW5jdGlvbiBvKCl7bnx8KG49ITAsZigpLHQuY2xvc2UoKSx0PW51bGwpfWZ1bmN0aW9uIHMobil7dmFyIGE9RXJyb3IoYHByb2JlIGVycm9yOiBgK24pO2EudHJhbnNwb3J0PXQubmFtZSxvKCksaShgcHJvYmUgdHJhbnNwb3J0ICIlcyIgZmFpbGVkIGJlY2F1c2Ugb2YgZXJyb3I6ICVzYCxlLG4pLHIuZW1pdChgdXBncmFkZUVycm9yYCxhKX1mdW5jdGlvbiBjKCl7cyhgdHJhbnNwb3J0IGNsb3NlZGApfWZ1bmN0aW9uIHUoKXtzKGBzb2NrZXQgY2xvc2VkYCl9ZnVuY3Rpb24gZChlKXt0JiZlLm5hbWUhPT10Lm5hbWUmJihpKGAiJXMiIHdvcmtzIC0gYWJvcnRpbmcgIiVzImAsZS5uYW1lLHQubmFtZSksbygpKX1mdW5jdGlvbiBmKCl7dC5yZW1vdmVMaXN0ZW5lcihgb3BlbmAsYSksdC5yZW1vdmVMaXN0ZW5lcihgZXJyb3JgLHMpLHQucmVtb3ZlTGlzdGVuZXIoYGNsb3NlYCxjKSxyLnJlbW92ZUxpc3RlbmVyKGBjbG9zZWAsdSksci5yZW1vdmVMaXN0ZW5lcihgdXBncmFkaW5nYCxkKX10Lm9uY2UoYG9wZW5gLGEpLHQub25jZShgZXJyb3JgLHMpLHQub25jZShgY2xvc2VgLGMpLHRoaXMub25jZShgY2xvc2VgLHUpLHRoaXMub25jZShgdXBncmFkaW5nYCxkKSx0Lm9wZW4oKX0sbC5wcm90b3R5cGUub25PcGVuPWZ1bmN0aW9uKCl7aWYoaShgc29ja2V0IG9wZW5gKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLGwucHJpb3JXZWJzb2NrZXRTdWNjZXNzPXRoaXMudHJhbnNwb3J0Lm5hbWU9PT1gd2Vic29ja2V0YCx0aGlzLmVtaXQoYG9wZW5gKSx0aGlzLmZsdXNoKCksdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gJiZ0aGlzLnVwZ3JhZGUmJnRoaXMudHJhbnNwb3J0LnBhdXNlKXtpKGBzdGFydGluZyB1cGdyYWRlIHByb2Jlc2ApO2Zvcih2YXIgZT0wLHQ9dGhpcy51cGdyYWRlcy5sZW5ndGg7ZTx0O2UrKyl0aGlzLnByb2JlKHRoaXMudXBncmFkZXNbZV0pfX0sbC5wcm90b3R5cGUub25QYWNrZXQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYClzd2l0Y2goaShgc29ja2V0IHJlY2VpdmU6IHR5cGUgIiVzIiwgZGF0YSAiJXMiYCxlLnR5cGUsZS5kYXRhKSx0aGlzLmVtaXQoYHBhY2tldGAsZSksdGhpcy5lbWl0KGBoZWFydGJlYXRgKSxlLnR5cGUpe2Nhc2Vgb3BlbmA6dGhpcy5vbkhhbmRzaGFrZShKU09OLnBhcnNlKGUuZGF0YSkpO2JyZWFrO2Nhc2VgcG9uZ2A6dGhpcy5zZXRQaW5nKCksdGhpcy5lbWl0KGBwb25nYCk7YnJlYWs7Y2FzZWBlcnJvcmA6dmFyIHQ9RXJyb3IoYHNlcnZlciBlcnJvcmApO3QuY29kZT1lLmRhdGEsdGhpcy5vbkVycm9yKHQpO2JyZWFrO2Nhc2VgbWVzc2FnZWA6dGhpcy5lbWl0KGBkYXRhYCxlLmRhdGEpLHRoaXMuZW1pdChgbWVzc2FnZWAsZS5kYXRhKTticmVha31lbHNlIGkoYHBhY2tldCByZWNlaXZlZCB3aXRoIHNvY2tldCByZWFkeVN0YXRlICIlcyJgLHRoaXMucmVhZHlTdGF0ZSl9LGwucHJvdG90eXBlLm9uSGFuZHNoYWtlPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgaGFuZHNoYWtlYCxlKSx0aGlzLmlkPWUuc2lkLHRoaXMudHJhbnNwb3J0LnF1ZXJ5LnNpZD1lLnNpZCx0aGlzLnVwZ3JhZGVzPXRoaXMuZmlsdGVyVXBncmFkZXMoZS51cGdyYWRlcyksdGhpcy5waW5nSW50ZXJ2YWw9ZS5waW5nSW50ZXJ2YWwsdGhpcy5waW5nVGltZW91dD1lLnBpbmdUaW1lb3V0LHRoaXMub25PcGVuKCksdGhpcy5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJih0aGlzLnNldFBpbmcoKSx0aGlzLnJlbW92ZUxpc3RlbmVyKGBoZWFydGJlYXRgLHRoaXMub25IZWFydGJlYXQpLHRoaXMub24oYGhlYXJ0YmVhdGAsdGhpcy5vbkhlYXJ0YmVhdCkpfSxsLnByb3RvdHlwZS5vbkhlYXJ0YmVhdD1mdW5jdGlvbihlKXtjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKTt2YXIgdD10aGlzO3QucGluZ1RpbWVvdXRUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dC5yZWFkeVN0YXRlIT09YGNsb3NlZGAmJnQub25DbG9zZShgcGluZyB0aW1lb3V0YCl9LGV8fHQucGluZ0ludGVydmFsK3QucGluZ1RpbWVvdXQpfSxsLnByb3RvdHlwZS5zZXRQaW5nPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztjbGVhclRpbWVvdXQoZS5waW5nSW50ZXJ2YWxUaW1lciksZS5waW5nSW50ZXJ2YWxUaW1lcj1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aShgd3JpdGluZyBwaW5nIHBhY2tldCAtIGV4cGVjdGluZyBwb25nIHdpdGhpbiAlc21zYCxlLnBpbmdUaW1lb3V0KSxlLnBpbmcoKSxlLm9uSGVhcnRiZWF0KGUucGluZ1RpbWVvdXQpfSxlLnBpbmdJbnRlcnZhbCl9LGwucHJvdG90eXBlLnBpbmc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3RoaXMuc2VuZFBhY2tldChgcGluZ2AsZnVuY3Rpb24oKXtlLmVtaXQoYHBpbmdgKX0pfSxsLnByb3RvdHlwZS5vbkRyYWluPWZ1bmN0aW9uKCl7dGhpcy53cml0ZUJ1ZmZlci5zcGxpY2UoMCx0aGlzLnByZXZCdWZmZXJMZW4pLHRoaXMucHJldkJ1ZmZlckxlbj0wLHRoaXMud3JpdGVCdWZmZXIubGVuZ3RoPT09MD90aGlzLmVtaXQoYGRyYWluYCk6dGhpcy5mbHVzaCgpfSxsLnByb3RvdHlwZS5mbHVzaD1mdW5jdGlvbigpe3RoaXMucmVhZHlTdGF0ZSE9PWBjbG9zZWRgJiZ0aGlzLnRyYW5zcG9ydC53cml0YWJsZSYmIXRoaXMudXBncmFkaW5nJiZ0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCYmKGkoYGZsdXNoaW5nICVkIHBhY2tldHMgaW4gc29ja2V0YCx0aGlzLndyaXRlQnVmZmVyLmxlbmd0aCksdGhpcy50cmFuc3BvcnQuc2VuZCh0aGlzLndyaXRlQnVmZmVyKSx0aGlzLnByZXZCdWZmZXJMZW49dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGgsdGhpcy5lbWl0KGBmbHVzaGApKX0sbC5wcm90b3R5cGUud3JpdGU9bC5wcm90b3R5cGUuc2VuZD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuc2VuZFBhY2tldChgbWVzc2FnZWAsZSx0LG4pLHRoaXN9LGwucHJvdG90eXBlLnNlbmRQYWNrZXQ9ZnVuY3Rpb24oZSx0LG4scil7aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmAmJihyPXQsdD12b2lkIDApLHR5cGVvZiBuPT1gZnVuY3Rpb25gJiYocj1uLG49bnVsbCksISh0aGlzLnJlYWR5U3RhdGU9PT1gY2xvc2luZ2B8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zZWRgKSl7bnx8PXt9LG4uY29tcHJlc3M9ITEhPT1uLmNvbXByZXNzO3ZhciBpPXt0eXBlOmUsZGF0YTp0LG9wdGlvbnM6bn07dGhpcy5lbWl0KGBwYWNrZXRDcmVhdGVgLGkpLHRoaXMud3JpdGVCdWZmZXIucHVzaChpKSxyJiZ0aGlzLm9uY2UoYGZsdXNoYCxyKSx0aGlzLmZsdXNoKCl9fSxsLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe2lmKHRoaXMucmVhZHlTdGF0ZT09PWBvcGVuaW5nYHx8dGhpcy5yZWFkeVN0YXRlPT09YG9wZW5gKXt0aGlzLnJlYWR5U3RhdGU9YGNsb3NpbmdgO3ZhciBlPXRoaXM7dGhpcy53cml0ZUJ1ZmZlci5sZW5ndGg/dGhpcy5vbmNlKGBkcmFpbmAsZnVuY3Rpb24oKXt0aGlzLnVwZ3JhZGluZz9yKCk6dCgpfSk6dGhpcy51cGdyYWRpbmc/cigpOnQoKX1mdW5jdGlvbiB0KCl7ZS5vbkNsb3NlKGBmb3JjZWQgY2xvc2VgKSxpKGBzb2NrZXQgY2xvc2luZyAtIHRlbGxpbmcgdHJhbnNwb3J0IHRvIGNsb3NlYCksZS50cmFuc3BvcnQuY2xvc2UoKX1mdW5jdGlvbiBuKCl7ZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZWAsbiksZS5yZW1vdmVMaXN0ZW5lcihgdXBncmFkZUVycm9yYCxuKSx0KCl9ZnVuY3Rpb24gcigpe2Uub25jZShgdXBncmFkZWAsbiksZS5vbmNlKGB1cGdyYWRlRXJyb3JgLG4pfXJldHVybiB0aGlzfSxsLnByb3RvdHlwZS5vbkVycm9yPWZ1bmN0aW9uKGUpe2koYHNvY2tldCBlcnJvciAlamAsZSksbC5wcmlvcldlYnNvY2tldFN1Y2Nlc3M9ITEsdGhpcy5lbWl0KGBlcnJvcmAsZSksdGhpcy5vbkNsb3NlKGB0cmFuc3BvcnQgZXJyb3JgLGUpfSxsLnByb3RvdHlwZS5vbkNsb3NlPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgfHx0aGlzLnJlYWR5U3RhdGU9PT1gb3BlbmB8fHRoaXMucmVhZHlTdGF0ZT09PWBjbG9zaW5nYCl7aShgc29ja2V0IGNsb3NlIHdpdGggcmVhc29uOiAiJXMiYCxlKTt2YXIgbj10aGlzO2NsZWFyVGltZW91dCh0aGlzLnBpbmdJbnRlcnZhbFRpbWVyKSxjbGVhclRpbWVvdXQodGhpcy5waW5nVGltZW91dFRpbWVyKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoYGNsb3NlYCksdGhpcy50cmFuc3BvcnQuY2xvc2UoKSx0aGlzLnRyYW5zcG9ydC5yZW1vdmVBbGxMaXN0ZW5lcnMoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5pZD1udWxsLHRoaXMuZW1pdChgY2xvc2VgLGUsdCksbi53cml0ZUJ1ZmZlcj1bXSxuLnByZXZCdWZmZXJMZW49MH19LGwucHJvdG90eXBlLmZpbHRlclVwZ3JhZGVzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1bXSxuPTAscj1lLmxlbmd0aDtuPHI7bisrKX5hKHRoaXMudHJhbnNwb3J0cyxlW25dKSYmdC5wdXNoKGVbbl0pO3JldHVybiB0fX0pKSxkYz1zKCgoZSx0KT0+e3QuZXhwb3J0cz11YygpLHQuZXhwb3J0cy5wYXJzZXI9WnMoKX0pKSxmYz1zKCgoZSx0KT0+e3QhPT12b2lkIDAmJih0LmV4cG9ydHM9bik7ZnVuY3Rpb24gbihlKXtpZihlKXJldHVybiByKGUpfWZ1bmN0aW9uIHIoZSl7Zm9yKHZhciB0IGluIG4ucHJvdG90eXBlKWVbdF09bi5wcm90b3R5cGVbdF07cmV0dXJuIGV9bi5wcm90b3R5cGUub249bi5wcm90b3R5cGUuYWRkRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fSwodGhpcy5fY2FsbGJhY2tzW2AkYCtlXT10aGlzLl9jYWxsYmFja3NbYCRgK2VdfHxbXSkucHVzaCh0KSx0aGlzfSxuLnByb3RvdHlwZS5vbmNlPWZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbigpe3RoaXMub2ZmKGUsbiksdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIG4uZm49dCx0aGlzLm9uKGUsbiksdGhpc30sbi5wcm90b3R5cGUub2ZmPW4ucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyPW4ucHJvdG90eXBlLnJlbW92ZUFsbExpc3RlbmVycz1uLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sYXJndW1lbnRzLmxlbmd0aD09MClyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXt9LHRoaXM7dmFyIG49dGhpcy5fY2FsbGJhY2tzW2AkYCtlXTtpZighbilyZXR1cm4gdGhpcztpZihhcmd1bWVudHMubGVuZ3RoPT0xKXJldHVybiBkZWxldGUgdGhpcy5fY2FsbGJhY2tzW2AkYCtlXSx0aGlzO2Zvcih2YXIgcixpPTA7aTxuLmxlbmd0aDtpKyspaWYocj1uW2ldLHI9PT10fHxyLmZuPT09dCl7bi5zcGxpY2UoaSwxKTticmVha31yZXR1cm4gdGhpc30sbi5wcm90b3R5cGUuZW1pdD1mdW5jdGlvbihlKXt0aGlzLl9jYWxsYmFja3M9dGhpcy5fY2FsbGJhY2tzfHx7fTt2YXIgdD1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxuPXRoaXMuX2NhbGxiYWNrc1tgJGArZV07aWYobil7bj1uLnNsaWNlKDApO2Zvcih2YXIgcj0wLGk9bi5sZW5ndGg7cjxpOysrciluW3JdLmFwcGx5KHRoaXMsdCl9cmV0dXJuIHRoaXN9LG4ucHJvdG90eXBlLmxpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fY2FsbGJhY2tzPXRoaXMuX2NhbGxiYWNrc3x8e30sdGhpcy5fY2FsbGJhY2tzW2AkYCtlXXx8W119LG4ucHJvdG90eXBlLmhhc0xpc3RlbmVycz1mdW5jdGlvbihlKXtyZXR1cm4hIXRoaXMubGlzdGVuZXJzKGUpLmxlbmd0aH19KSkscGM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUsdCl7dmFyIG49W107dHx8PTA7Zm9yKHZhciByPXR8fDA7cjxlLmxlbmd0aDtyKyspbltyLXRdPWVbcl07cmV0dXJuIG59fSkpLG1jPXMoKChlLHQpPT57dC5leHBvcnRzPW47ZnVuY3Rpb24gbihlLHQsbil7cmV0dXJuIGUub24odCxuKSx7ZGVzdHJveTpmdW5jdGlvbigpe2UucmVtb3ZlTGlzdGVuZXIodCxuKX19fX0pKSxoYz1zKCgoZSx0KT0+e3ZhciBuPVtdLnNsaWNlO3QuZXhwb3J0cz1mdW5jdGlvbihlLHQpe2lmKHR5cGVvZiB0PT1gc3RyaW5nYCYmKHQ9ZVt0XSksdHlwZW9mIHQhPWBmdW5jdGlvbmApdGhyb3cgRXJyb3IoYGJpbmQoKSByZXF1aXJlcyBhIGZ1bmN0aW9uYCk7dmFyIHI9bi5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLHIuY29uY2F0KG4uY2FsbChhcmd1bWVudHMpKSl9fX0pKSxnYz1zKChlPT57ZS5lbmNvZGU9ZnVuY3Rpb24oZSl7dmFyIHQ9YGA7Zm9yKHZhciBuIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShuKSYmKHQubGVuZ3RoJiYodCs9YCZgKSx0Kz1lbmNvZGVVUklDb21wb25lbnQobikrYD1gK2VuY29kZVVSSUNvbXBvbmVudChlW25dKSk7cmV0dXJuIHR9LGUuZGVjb2RlPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD17fSxuPWUuc3BsaXQoYCZgKSxyPTAsaT1uLmxlbmd0aDtyPGk7cisrKXt2YXIgYT1uW3JdLnNwbGl0KGA9YCk7dFtkZWNvZGVVUklDb21wb25lbnQoYVswXSldPWRlY29kZVVSSUNvbXBvbmVudChhWzFdKX1yZXR1cm4gdH19KSksX2M9cygoKGUsdCk9Pnt2YXIgbj1CcygpLHI9ZmMoKSxpPXBjKCksYT1tYygpLG89aGMoKSxzPWpzKCkoYHNvY2tldC5pby1jbGllbnQ6c29ja2V0YCksYz1nYygpLGw9R3MoKTt0LmV4cG9ydHM9ZT1mO3ZhciB1PXtjb25uZWN0OjEsY29ubmVjdF9lcnJvcjoxLGNvbm5lY3RfdGltZW91dDoxLGNvbm5lY3Rpbmc6MSxkaXNjb25uZWN0OjEsZXJyb3I6MSxyZWNvbm5lY3Q6MSxyZWNvbm5lY3RfYXR0ZW1wdDoxLHJlY29ubmVjdF9mYWlsZWQ6MSxyZWNvbm5lY3RfZXJyb3I6MSxyZWNvbm5lY3Rpbmc6MSxwaW5nOjEscG9uZzoxfSxkPXIucHJvdG90eXBlLmVtaXQ7ZnVuY3Rpb24gZihlLHQsbil7dGhpcy5pbz1lLHRoaXMubnNwPXQsdGhpcy5qc29uPXRoaXMsdGhpcy5pZHM9MCx0aGlzLmFja3M9e30sdGhpcy5yZWNlaXZlQnVmZmVyPVtdLHRoaXMuc2VuZEJ1ZmZlcj1bXSx0aGlzLmNvbm5lY3RlZD0hMSx0aGlzLmRpc2Nvbm5lY3RlZD0hMCx0aGlzLmZsYWdzPXt9LG4mJm4ucXVlcnkmJih0aGlzLnF1ZXJ5PW4ucXVlcnkpLHRoaXMuaW8uYXV0b0Nvbm5lY3QmJnRoaXMub3BlbigpfXIoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnN1YkV2ZW50cz1mdW5jdGlvbigpe2lmKCF0aGlzLnN1YnMpe3ZhciBlPXRoaXMuaW87dGhpcy5zdWJzPVthKGUsYG9wZW5gLG8odGhpcyxgb25vcGVuYCkpLGEoZSxgcGFja2V0YCxvKHRoaXMsYG9ucGFja2V0YCkpLGEoZSxgY2xvc2VgLG8odGhpcyxgb25jbG9zZWApKV19fSxmLnByb3RvdHlwZS5vcGVuPWYucHJvdG90eXBlLmNvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0ZWQ/dGhpczoodGhpcy5zdWJFdmVudHMoKSx0aGlzLmlvLm9wZW4oKSx0aGlzLmlvLnJlYWR5U3RhdGU9PT1gb3BlbmAmJnRoaXMub25vcGVuKCksdGhpcy5lbWl0KGBjb25uZWN0aW5nYCksdGhpcyl9LGYucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1pKGFyZ3VtZW50cyk7cmV0dXJuIGUudW5zaGlmdChgbWVzc2FnZWApLHRoaXMuZW1pdC5hcHBseSh0aGlzLGUpLHRoaXN9LGYucHJvdG90eXBlLmVtaXQ9ZnVuY3Rpb24oZSl7aWYodS5oYXNPd25Qcm9wZXJ0eShlKSlyZXR1cm4gZC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpczt2YXIgdD1pKGFyZ3VtZW50cykscj17dHlwZToodGhpcy5mbGFncy5iaW5hcnk9PT12b2lkIDA/bCh0KTp0aGlzLmZsYWdzLmJpbmFyeSk/bi5CSU5BUllfRVZFTlQ6bi5FVkVOVCxkYXRhOnR9O3JldHVybiByLm9wdGlvbnM9e30sci5vcHRpb25zLmNvbXByZXNzPSF0aGlzLmZsYWdzfHwhMSE9PXRoaXMuZmxhZ3MuY29tcHJlc3MsdHlwZW9mIHRbdC5sZW5ndGgtMV09PWBmdW5jdGlvbmAmJihzKGBlbWl0dGluZyBwYWNrZXQgd2l0aCBhY2sgaWQgJWRgLHRoaXMuaWRzKSx0aGlzLmFja3NbdGhpcy5pZHNdPXQucG9wKCksci5pZD10aGlzLmlkcysrKSx0aGlzLmNvbm5lY3RlZD90aGlzLnBhY2tldChyKTp0aGlzLnNlbmRCdWZmZXIucHVzaChyKSx0aGlzLmZsYWdzPXt9LHRoaXN9LGYucHJvdG90eXBlLnBhY2tldD1mdW5jdGlvbihlKXtlLm5zcD10aGlzLm5zcCx0aGlzLmlvLnBhY2tldChlKX0sZi5wcm90b3R5cGUub25vcGVuPWZ1bmN0aW9uKCl7aWYocyhgdHJhbnNwb3J0IGlzIG9wZW4gLSBjb25uZWN0aW5nYCksdGhpcy5uc3AhPT1gL2ApaWYodGhpcy5xdWVyeSl7dmFyIGU9dHlwZW9mIHRoaXMucXVlcnk9PWBvYmplY3RgP2MuZW5jb2RlKHRoaXMucXVlcnkpOnRoaXMucXVlcnk7cyhgc2VuZGluZyBjb25uZWN0IHBhY2tldCB3aXRoIHF1ZXJ5ICVzYCxlKSx0aGlzLnBhY2tldCh7dHlwZTpuLkNPTk5FQ1QscXVlcnk6ZX0pfWVsc2UgdGhpcy5wYWNrZXQoe3R5cGU6bi5DT05ORUNUfSl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7cyhgY2xvc2UgKCVzKWAsZSksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITAsZGVsZXRlIHRoaXMuaWQsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxlKX0sZi5wcm90b3R5cGUub25wYWNrZXQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5uc3A9PT10aGlzLm5zcCxyPWUudHlwZT09PW4uRVJST1ImJmUubnNwPT09YC9gO2lmKCEoIXQmJiFyKSlzd2l0Y2goZS50eXBlKXtjYXNlIG4uQ09OTkVDVDp0aGlzLm9uY29ubmVjdCgpO2JyZWFrO2Nhc2Ugbi5FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkJJTkFSWV9FVkVOVDp0aGlzLm9uZXZlbnQoZSk7YnJlYWs7Y2FzZSBuLkFDSzp0aGlzLm9uYWNrKGUpO2JyZWFrO2Nhc2Ugbi5CSU5BUllfQUNLOnRoaXMub25hY2soZSk7YnJlYWs7Y2FzZSBuLkRJU0NPTk5FQ1Q6dGhpcy5vbmRpc2Nvbm5lY3QoKTticmVhaztjYXNlIG4uRVJST1I6dGhpcy5lbWl0KGBlcnJvcmAsZS5kYXRhKTticmVha319LGYucHJvdG90eXBlLm9uZXZlbnQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5kYXRhfHxbXTtzKGBlbWl0dGluZyBldmVudCAlamAsdCksZS5pZCE9bnVsbCYmKHMoYGF0dGFjaGluZyBhY2sgY2FsbGJhY2sgdG8gZXZlbnRgKSx0LnB1c2godGhpcy5hY2soZS5pZCkpKSx0aGlzLmNvbm5lY3RlZD9kLmFwcGx5KHRoaXMsdCk6dGhpcy5yZWNlaXZlQnVmZmVyLnB1c2godCl9LGYucHJvdG90eXBlLmFjaz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLHI9ITE7cmV0dXJuIGZ1bmN0aW9uKCl7aWYoIXIpe3I9ITA7dmFyIGE9aShhcmd1bWVudHMpO3MoYHNlbmRpbmcgYWNrICVqYCxhKSx0LnBhY2tldCh7dHlwZTpsKGEpP24uQklOQVJZX0FDSzpuLkFDSyxpZDplLGRhdGE6YX0pfX19LGYucHJvdG90eXBlLm9uYWNrPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuYWNrc1tlLmlkXTt0eXBlb2YgdD09YGZ1bmN0aW9uYD8ocyhgY2FsbGluZyBhY2sgJXMgd2l0aCAlamAsZS5pZCxlLmRhdGEpLHQuYXBwbHkodGhpcyxlLmRhdGEpLGRlbGV0ZSB0aGlzLmFja3NbZS5pZF0pOnMoYGJhZCBhY2sgJXNgLGUuaWQpfSxmLnByb3RvdHlwZS5vbmNvbm5lY3Q9ZnVuY3Rpb24oKXt0aGlzLmNvbm5lY3RlZD0hMCx0aGlzLmRpc2Nvbm5lY3RlZD0hMSx0aGlzLmVtaXQoYGNvbm5lY3RgKSx0aGlzLmVtaXRCdWZmZXJlZCgpfSxmLnByb3RvdHlwZS5lbWl0QnVmZmVyZWQ9ZnVuY3Rpb24oKXt2YXIgZTtmb3IoZT0wO2U8dGhpcy5yZWNlaXZlQnVmZmVyLmxlbmd0aDtlKyspZC5hcHBseSh0aGlzLHRoaXMucmVjZWl2ZUJ1ZmZlcltlXSk7Zm9yKHRoaXMucmVjZWl2ZUJ1ZmZlcj1bXSxlPTA7ZTx0aGlzLnNlbmRCdWZmZXIubGVuZ3RoO2UrKyl0aGlzLnBhY2tldCh0aGlzLnNlbmRCdWZmZXJbZV0pO3RoaXMuc2VuZEJ1ZmZlcj1bXX0sZi5wcm90b3R5cGUub25kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cyhgc2VydmVyIGRpc2Nvbm5lY3QgKCVzKWAsdGhpcy5uc3ApLHRoaXMuZGVzdHJveSgpLHRoaXMub25jbG9zZShgaW8gc2VydmVyIGRpc2Nvbm5lY3RgKX0sZi5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2lmKHRoaXMuc3Vicyl7Zm9yKHZhciBlPTA7ZTx0aGlzLnN1YnMubGVuZ3RoO2UrKyl0aGlzLnN1YnNbZV0uZGVzdHJveSgpO3RoaXMuc3Vicz1udWxsfXRoaXMuaW8uZGVzdHJveSh0aGlzKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3RlZCYmKHMoYHBlcmZvcm1pbmcgZGlzY29ubmVjdCAoJXMpYCx0aGlzLm5zcCksdGhpcy5wYWNrZXQoe3R5cGU6bi5ESVNDT05ORUNUfSkpLHRoaXMuZGVzdHJveSgpLHRoaXMuY29ubmVjdGVkJiZ0aGlzLm9uY2xvc2UoYGlvIGNsaWVudCBkaXNjb25uZWN0YCksdGhpc30sZi5wcm90b3R5cGUuY29tcHJlc3M9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuY29tcHJlc3M9ZSx0aGlzfSxmLnByb3RvdHlwZS5iaW5hcnk9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZmxhZ3MuYmluYXJ5PWUsdGhpc319KSksdmM9cygoKGUsdCk9Pnt0LmV4cG9ydHM9bjtmdW5jdGlvbiBuKGUpe2V8fD17fSx0aGlzLm1zPWUubWlufHwxMDAsdGhpcy5tYXg9ZS5tYXh8fDFlNCx0aGlzLmZhY3Rvcj1lLmZhY3Rvcnx8Mix0aGlzLmppdHRlcj1lLmppdHRlcj4wJiZlLmppdHRlcjw9MT9lLmppdHRlcjowLHRoaXMuYXR0ZW1wdHM9MH1uLnByb3RvdHlwZS5kdXJhdGlvbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMubXMqdGhpcy5mYWN0b3IqKisgdGhpcy5hdHRlbXB0cysrO2lmKHRoaXMuaml0dGVyKXt2YXIgdD1NYXRoLnJhbmRvbSgpLG49TWF0aC5mbG9vcih0KnRoaXMuaml0dGVyKmUpO2U9TWF0aC5mbG9vcih0KjEwKSYxP2UrbjplLW59cmV0dXJuIE1hdGgubWluKGUsdGhpcy5tYXgpfDB9LG4ucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKCl7dGhpcy5hdHRlbXB0cz0wfSxuLnByb3RvdHlwZS5zZXRNaW49ZnVuY3Rpb24oZSl7dGhpcy5tcz1lfSxuLnByb3RvdHlwZS5zZXRNYXg9ZnVuY3Rpb24oZSl7dGhpcy5tYXg9ZX0sbi5wcm90b3R5cGUuc2V0Sml0dGVyPWZ1bmN0aW9uKGUpe3RoaXMuaml0dGVyPWV9fSkpLHljPXMoKChlLHQpPT57dmFyIG49ZGMoKSxyPV9jKCksaT1mYygpLGE9QnMoKSxvPW1jKCkscz1oYygpLGM9anMoKShgc29ja2V0LmlvLWNsaWVudDptYW5hZ2VyYCksbD1jYygpLHU9dmMoKSxkPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dC5leHBvcnRzPWY7ZnVuY3Rpb24gZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIGYpKXJldHVybiBuZXcgZihlLHQpO2UmJnR5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9LHQucGF0aD10LnBhdGh8fGAvc29ja2V0LmlvYCx0aGlzLm5zcHM9e30sdGhpcy5zdWJzPVtdLHRoaXMub3B0cz10LHRoaXMucmVjb25uZWN0aW9uKHQucmVjb25uZWN0aW9uIT09ITEpLHRoaXMucmVjb25uZWN0aW9uQXR0ZW1wdHModC5yZWNvbm5lY3Rpb25BdHRlbXB0c3x8MS8wKSx0aGlzLnJlY29ubmVjdGlvbkRlbGF5KHQucmVjb25uZWN0aW9uRGVsYXl8fDFlMyksdGhpcy5yZWNvbm5lY3Rpb25EZWxheU1heCh0LnJlY29ubmVjdGlvbkRlbGF5TWF4fHw1ZTMpLHRoaXMucmFuZG9taXphdGlvbkZhY3Rvcih0LnJhbmRvbWl6YXRpb25GYWN0b3J8fC41KSx0aGlzLmJhY2tvZmY9bmV3IHUoe21pbjp0aGlzLnJlY29ubmVjdGlvbkRlbGF5KCksbWF4OnRoaXMucmVjb25uZWN0aW9uRGVsYXlNYXgoKSxqaXR0ZXI6dGhpcy5yYW5kb21pemF0aW9uRmFjdG9yKCl9KSx0aGlzLnRpbWVvdXQodC50aW1lb3V0PT1udWxsPzJlNDp0LnRpbWVvdXQpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLnVyaT1lLHRoaXMuY29ubmVjdGluZz1bXSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5lbmNvZGluZz0hMSx0aGlzLnBhY2tldEJ1ZmZlcj1bXTt2YXIgbj10LnBhcnNlcnx8YTt0aGlzLmVuY29kZXI9bmV3IG4uRW5jb2Rlcix0aGlzLmRlY29kZXI9bmV3IG4uRGVjb2Rlcix0aGlzLmF1dG9Db25uZWN0PXQuYXV0b0Nvbm5lY3QhPT0hMSx0aGlzLmF1dG9Db25uZWN0JiZ0aGlzLm9wZW4oKX1mLnByb3RvdHlwZS5lbWl0QWxsPWZ1bmN0aW9uKCl7Zm9yKHZhciBlIGluIHRoaXMuZW1pdC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJnRoaXMubnNwc1tlXS5lbWl0LmFwcGx5KHRoaXMubnNwc1tlXSxhcmd1bWVudHMpfSxmLnByb3RvdHlwZS51cGRhdGVTb2NrZXRJZHM9ZnVuY3Rpb24oKXtmb3IodmFyIGUgaW4gdGhpcy5uc3BzKWQuY2FsbCh0aGlzLm5zcHMsZSkmJih0aGlzLm5zcHNbZV0uaWQ9dGhpcy5nZW5lcmF0ZUlkKGUpKX0sZi5wcm90b3R5cGUuZ2VuZXJhdGVJZD1mdW5jdGlvbihlKXtyZXR1cm4oZT09PWAvYD9gYDplK2AjYCkrdGhpcy5lbmdpbmUuaWR9LGkoZi5wcm90b3R5cGUpLGYucHJvdG90eXBlLnJlY29ubmVjdGlvbj1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uPSEhZSx0aGlzKTp0aGlzLl9yZWNvbm5lY3Rpb259LGYucHJvdG90eXBlLnJlY29ubmVjdGlvbkF0dGVtcHRzPWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl9yZWNvbm5lY3Rpb25BdHRlbXB0cz1lLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzfSxmLnByb3RvdHlwZS5yZWNvbm5lY3Rpb25EZWxheT1mdW5jdGlvbihlKXtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8odGhpcy5fcmVjb25uZWN0aW9uRGVsYXk9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRNaW4oZSksdGhpcyk6dGhpcy5fcmVjb25uZWN0aW9uRGVsYXl9LGYucHJvdG90eXBlLnJhbmRvbWl6YXRpb25GYWN0b3I9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JhbmRvbWl6YXRpb25GYWN0b3I9ZSx0aGlzLmJhY2tvZmYmJnRoaXMuYmFja29mZi5zZXRKaXR0ZXIoZSksdGhpcyk6dGhpcy5fcmFuZG9taXphdGlvbkZhY3Rvcn0sZi5wcm90b3R5cGUucmVjb25uZWN0aW9uRGVsYXlNYXg9ZnVuY3Rpb24oZSl7cmV0dXJuIGFyZ3VtZW50cy5sZW5ndGg/KHRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4PWUsdGhpcy5iYWNrb2ZmJiZ0aGlzLmJhY2tvZmYuc2V0TWF4KGUpLHRoaXMpOnRoaXMuX3JlY29ubmVjdGlvbkRlbGF5TWF4fSxmLnByb3RvdHlwZS50aW1lb3V0PWZ1bmN0aW9uKGUpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPyh0aGlzLl90aW1lb3V0PWUsdGhpcyk6dGhpcy5fdGltZW91dH0sZi5wcm90b3R5cGUubWF5YmVSZWNvbm5lY3RPbk9wZW49ZnVuY3Rpb24oKXshdGhpcy5yZWNvbm5lY3RpbmcmJnRoaXMuX3JlY29ubmVjdGlvbiYmdGhpcy5iYWNrb2ZmLmF0dGVtcHRzPT09MCYmdGhpcy5yZWNvbm5lY3QoKX0sZi5wcm90b3R5cGUub3Blbj1mLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKGUsdCl7aWYoYyhgcmVhZHlTdGF0ZSAlc2AsdGhpcy5yZWFkeVN0YXRlKSx+dGhpcy5yZWFkeVN0YXRlLmluZGV4T2YoYG9wZW5gKSlyZXR1cm4gdGhpcztjKGBvcGVuaW5nICVzYCx0aGlzLnVyaSksdGhpcy5lbmdpbmU9bih0aGlzLnVyaSx0aGlzLm9wdHMpO3ZhciByPXRoaXMuZW5naW5lLGk9dGhpczt0aGlzLnJlYWR5U3RhdGU9YG9wZW5pbmdgLHRoaXMuc2tpcFJlY29ubmVjdD0hMTt2YXIgYT1vKHIsYG9wZW5gLGZ1bmN0aW9uKCl7aS5vbm9wZW4oKSxlJiZlKCl9KSxzPW8ocixgZXJyb3JgLGZ1bmN0aW9uKHQpe2lmKGMoYGNvbm5lY3RfZXJyb3JgKSxpLmNsZWFudXAoKSxpLnJlYWR5U3RhdGU9YGNsb3NlZGAsaS5lbWl0QWxsKGBjb25uZWN0X2Vycm9yYCx0KSxlKXt2YXIgbj1FcnJvcihgQ29ubmVjdGlvbiBlcnJvcmApO24uZGF0YT10LGUobil9ZWxzZSBpLm1heWJlUmVjb25uZWN0T25PcGVuKCl9KTtpZighMSE9PXRoaXMuX3RpbWVvdXQpe3ZhciBsPXRoaXMuX3RpbWVvdXQ7YyhgY29ubmVjdCBhdHRlbXB0IHdpbGwgdGltZW91dCBhZnRlciAlZGAsbCk7dmFyIHU9c2V0VGltZW91dChmdW5jdGlvbigpe2MoYGNvbm5lY3QgYXR0ZW1wdCB0aW1lZCBvdXQgYWZ0ZXIgJWRgLGwpLGEuZGVzdHJveSgpLHIuY2xvc2UoKSxyLmVtaXQoYGVycm9yYCxgdGltZW91dGApLGkuZW1pdEFsbChgY29ubmVjdF90aW1lb3V0YCxsKX0sbCk7dGhpcy5zdWJzLnB1c2goe2Rlc3Ryb3k6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQodSl9fSl9cmV0dXJuIHRoaXMuc3Vicy5wdXNoKGEpLHRoaXMuc3Vicy5wdXNoKHMpLHRoaXN9LGYucHJvdG90eXBlLm9ub3Blbj1mdW5jdGlvbigpe2MoYG9wZW5gKSx0aGlzLmNsZWFudXAoKSx0aGlzLnJlYWR5U3RhdGU9YG9wZW5gLHRoaXMuZW1pdChgb3BlbmApO3ZhciBlPXRoaXMuZW5naW5lO3RoaXMuc3Vicy5wdXNoKG8oZSxgZGF0YWAscyh0aGlzLGBvbmRhdGFgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcGluZ2Ascyh0aGlzLGBvbnBpbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgcG9uZ2Ascyh0aGlzLGBvbnBvbmdgKSkpLHRoaXMuc3Vicy5wdXNoKG8oZSxgZXJyb3JgLHModGhpcyxgb25lcnJvcmApKSksdGhpcy5zdWJzLnB1c2gobyhlLGBjbG9zZWAscyh0aGlzLGBvbmNsb3NlYCkpKSx0aGlzLnN1YnMucHVzaChvKHRoaXMuZGVjb2RlcixgZGVjb2RlZGAscyh0aGlzLGBvbmRlY29kZWRgKSkpfSxmLnByb3RvdHlwZS5vbnBpbmc9ZnVuY3Rpb24oKXt0aGlzLmxhc3RQaW5nPW5ldyBEYXRlLHRoaXMuZW1pdEFsbChgcGluZ2ApfSxmLnByb3RvdHlwZS5vbnBvbmc9ZnVuY3Rpb24oKXt0aGlzLmVtaXRBbGwoYHBvbmdgLG5ldyBEYXRlLXRoaXMubGFzdFBpbmcpfSxmLnByb3RvdHlwZS5vbmRhdGE9ZnVuY3Rpb24oZSl7dGhpcy5kZWNvZGVyLmFkZChlKX0sZi5wcm90b3R5cGUub25kZWNvZGVkPWZ1bmN0aW9uKGUpe3RoaXMuZW1pdChgcGFja2V0YCxlKX0sZi5wcm90b3R5cGUub25lcnJvcj1mdW5jdGlvbihlKXtjKGBlcnJvcmAsZSksdGhpcy5lbWl0QWxsKGBlcnJvcmAsZSl9LGYucHJvdG90eXBlLnNvY2tldD1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXMubnNwc1tlXTtpZighbil7bj1uZXcgcih0aGlzLGUsdCksdGhpcy5uc3BzW2VdPW47dmFyIGk9dGhpcztuLm9uKGBjb25uZWN0aW5nYCxhKSxuLm9uKGBjb25uZWN0YCxmdW5jdGlvbigpe24uaWQ9aS5nZW5lcmF0ZUlkKGUpfSksdGhpcy5hdXRvQ29ubmVjdCYmYSgpfWZ1bmN0aW9uIGEoKXt+bChpLmNvbm5lY3Rpbmcsbil8fGkuY29ubmVjdGluZy5wdXNoKG4pfXJldHVybiBufSxmLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe3ZhciB0PWwodGhpcy5jb25uZWN0aW5nLGUpO350JiZ0aGlzLmNvbm5lY3Rpbmcuc3BsaWNlKHQsMSksIXRoaXMuY29ubmVjdGluZy5sZW5ndGgmJnRoaXMuY2xvc2UoKX0sZi5wcm90b3R5cGUucGFja2V0PWZ1bmN0aW9uKGUpe2MoYHdyaXRpbmcgcGFja2V0ICVqYCxlKTt2YXIgdD10aGlzO2UucXVlcnkmJmUudHlwZT09PTAmJihlLm5zcCs9YD9gK2UucXVlcnkpLHQuZW5jb2Rpbmc/dC5wYWNrZXRCdWZmZXIucHVzaChlKToodC5lbmNvZGluZz0hMCx0aGlzLmVuY29kZXIuZW5jb2RlKGUsZnVuY3Rpb24obil7Zm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspdC5lbmdpbmUud3JpdGUobltyXSxlLm9wdGlvbnMpO3QuZW5jb2Rpbmc9ITEsdC5wcm9jZXNzUGFja2V0UXVldWUoKX0pKX0sZi5wcm90b3R5cGUucHJvY2Vzc1BhY2tldFF1ZXVlPWZ1bmN0aW9uKCl7aWYodGhpcy5wYWNrZXRCdWZmZXIubGVuZ3RoPjAmJiF0aGlzLmVuY29kaW5nKXt2YXIgZT10aGlzLnBhY2tldEJ1ZmZlci5zaGlmdCgpO3RoaXMucGFja2V0KGUpfX0sZi5wcm90b3R5cGUuY2xlYW51cD1mdW5jdGlvbigpe2MoYGNsZWFudXBgKTtmb3IodmFyIGU9dGhpcy5zdWJzLmxlbmd0aCx0PTA7dDxlO3QrKyl0aGlzLnN1YnMuc2hpZnQoKS5kZXN0cm95KCk7dGhpcy5wYWNrZXRCdWZmZXI9W10sdGhpcy5lbmNvZGluZz0hMSx0aGlzLmxhc3RQaW5nPW51bGwsdGhpcy5kZWNvZGVyLmRlc3Ryb3koKX0sZi5wcm90b3R5cGUuY2xvc2U9Zi5wcm90b3R5cGUuZGlzY29ubmVjdD1mdW5jdGlvbigpe2MoYGRpc2Nvbm5lY3RgKSx0aGlzLnNraXBSZWNvbm5lY3Q9ITAsdGhpcy5yZWNvbm5lY3Rpbmc9ITEsdGhpcy5yZWFkeVN0YXRlPT09YG9wZW5pbmdgJiZ0aGlzLmNsZWFudXAoKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLnJlYWR5U3RhdGU9YGNsb3NlZGAsdGhpcy5lbmdpbmUmJnRoaXMuZW5naW5lLmNsb3NlKCl9LGYucHJvdG90eXBlLm9uY2xvc2U9ZnVuY3Rpb24oZSl7Yyhgb25jbG9zZWApLHRoaXMuY2xlYW51cCgpLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMucmVhZHlTdGF0ZT1gY2xvc2VkYCx0aGlzLmVtaXQoYGNsb3NlYCxlKSx0aGlzLl9yZWNvbm5lY3Rpb24mJiF0aGlzLnNraXBSZWNvbm5lY3QmJnRoaXMucmVjb25uZWN0KCl9LGYucHJvdG90eXBlLnJlY29ubmVjdD1mdW5jdGlvbigpe2lmKHRoaXMucmVjb25uZWN0aW5nfHx0aGlzLnNraXBSZWNvbm5lY3QpcmV0dXJuIHRoaXM7dmFyIGU9dGhpcztpZih0aGlzLmJhY2tvZmYuYXR0ZW1wdHM+PXRoaXMuX3JlY29ubmVjdGlvbkF0dGVtcHRzKWMoYHJlY29ubmVjdCBmYWlsZWRgKSx0aGlzLmJhY2tvZmYucmVzZXQoKSx0aGlzLmVtaXRBbGwoYHJlY29ubmVjdF9mYWlsZWRgKSx0aGlzLnJlY29ubmVjdGluZz0hMTtlbHNle3ZhciB0PXRoaXMuYmFja29mZi5kdXJhdGlvbigpO2MoYHdpbGwgd2FpdCAlZG1zIGJlZm9yZSByZWNvbm5lY3QgYXR0ZW1wdGAsdCksdGhpcy5yZWNvbm5lY3Rpbmc9ITA7dmFyIG49c2V0VGltZW91dChmdW5jdGlvbigpe2Uuc2tpcFJlY29ubmVjdHx8KGMoYGF0dGVtcHRpbmcgcmVjb25uZWN0YCksZS5lbWl0QWxsKGByZWNvbm5lY3RfYXR0ZW1wdGAsZS5iYWNrb2ZmLmF0dGVtcHRzKSxlLmVtaXRBbGwoYHJlY29ubmVjdGluZ2AsZS5iYWNrb2ZmLmF0dGVtcHRzKSwhZS5za2lwUmVjb25uZWN0JiZlLm9wZW4oZnVuY3Rpb24odCl7dD8oYyhgcmVjb25uZWN0IGF0dGVtcHQgZXJyb3JgKSxlLnJlY29ubmVjdGluZz0hMSxlLnJlY29ubmVjdCgpLGUuZW1pdEFsbChgcmVjb25uZWN0X2Vycm9yYCx0LmRhdGEpKTooYyhgcmVjb25uZWN0IHN1Y2Nlc3NgKSxlLm9ucmVjb25uZWN0KCkpfSkpfSx0KTt0aGlzLnN1YnMucHVzaCh7ZGVzdHJveTpmdW5jdGlvbigpe2NsZWFyVGltZW91dChuKX19KX19LGYucHJvdG90eXBlLm9ucmVjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5iYWNrb2ZmLmF0dGVtcHRzO3RoaXMucmVjb25uZWN0aW5nPSExLHRoaXMuYmFja29mZi5yZXNldCgpLHRoaXMudXBkYXRlU29ja2V0SWRzKCksdGhpcy5lbWl0QWxsKGByZWNvbm5lY3RgLGUpfX0pKSxiYz1zKCgoZSx0KT0+e3ZhciBuPU1zKCkscj1CcygpLGk9eWMoKSxhPWpzKCkoYHNvY2tldC5pby1jbGllbnRgKTt0LmV4cG9ydHM9ZT1zO3ZhciBvPWUubWFuYWdlcnM9e307ZnVuY3Rpb24gcyhlLHQpe3R5cGVvZiBlPT1gb2JqZWN0YCYmKHQ9ZSxlPXZvaWQgMCksdHx8PXt9O3ZhciByPW4oZSkscz1yLnNvdXJjZSxjPXIuaWQsbD1yLnBhdGgsdT1vW2NdJiZsIGluIG9bY10ubnNwcyxkPXQuZm9yY2VOZXd8fHRbYGZvcmNlIG5ldyBjb25uZWN0aW9uYF18fCExPT09dC5tdWx0aXBsZXh8fHUsZjtyZXR1cm4gZD8oYShgaWdub3Jpbmcgc29ja2V0IGNhY2hlIGZvciAlc2AscyksZj1pKHMsdCkpOihvW2NdfHwoYShgbmV3IGlvIGluc3RhbmNlIGZvciAlc2Ascyksb1tjXT1pKHMsdCkpLGY9b1tjXSksci5xdWVyeSYmIXQucXVlcnkmJih0LnF1ZXJ5PXIucXVlcnkpLGYuc29ja2V0KHIucGF0aCx0KX1lLnByb3RvY29sPXIucHJvdG9jb2wsZS5jb25uZWN0PXMsZS5NYW5hZ2VyPXljKCksZS5Tb2NrZXQ9X2MoKX0pKSx4Yz1jKHtkZWZhdWx0OigpPT5TY30pO2Z1bmN0aW9uIFNjKGUsdCl7cmV0dXJuIHR8fD17fSxuZXcgUHJvbWlzZShmdW5jdGlvbihuLHIpe3ZhciBpPW5ldyBYTUxIdHRwUmVxdWVzdCxhPVtdLG89W10scz17fSxjPWZ1bmN0aW9uKCl7cmV0dXJue29rOihpLnN0YXR1cy8xMDB8MCk9PTIsc3RhdHVzVGV4dDppLnN0YXR1c1RleHQsc3RhdHVzOmkuc3RhdHVzLHVybDppLnJlc3BvbnNlVVJMLHRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGkucmVzcG9uc2VUZXh0KX0sanNvbjpmdW5jdGlvbigpe3JldHVybiBQcm9taXNlLnJlc29sdmUoaS5yZXNwb25zZVRleHQpLnRoZW4oSlNPTi5wYXJzZSl9LGJsb2I6ZnVuY3Rpb24oKXtyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKG5ldyBCbG9iKFtpLnJlc3BvbnNlXSkpfSxjbG9uZTpjLGhlYWRlcnM6e2tleXM6ZnVuY3Rpb24oKXtyZXR1cm4gYX0sZW50cmllczpmdW5jdGlvbigpe3JldHVybiBvfSxnZXQ6ZnVuY3Rpb24oZSl7cmV0dXJuIHNbZS50b0xvd2VyQ2FzZSgpXX0saGFzOmZ1bmN0aW9uKGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKClpbiBzfX19fTtmb3IodmFyIGwgaW4gaS5vcGVuKHQubWV0aG9kfHxgZ2V0YCxlLCEwKSxpLm9ubG9hZD1mdW5jdGlvbigpe2kuZ2V0QWxsUmVzcG9uc2VIZWFkZXJzKCkucmVwbGFjZSgvXiguKj8pOlteXFNcbl0qKFtcc1xTXSo/KSQvZ20sZnVuY3Rpb24oZSx0LG4pe2EucHVzaCh0PXQudG9Mb3dlckNhc2UoKSksby5wdXNoKFt0LG5dKSxzW3RdPXNbdF0/c1t0XStgLGArbjpufSksbihjKCkpfSxpLm9uZXJyb3I9cixpLndpdGhDcmVkZW50aWFscz10LmNyZWRlbnRpYWxzPT1gaW5jbHVkZWAsdC5oZWFkZXJzKWkuc2V0UmVxdWVzdEhlYWRlcihsLHQuaGVhZGVyc1tsXSk7aS5zZW5kKHQuYm9keXx8bnVsbCl9KX12YXIgQ2M9bygoKCk9Pnt9KSksd2M9cygoKGUsdCk9Pnt0LmV4cG9ydHM9c2VsZi5mZXRjaHx8KHNlbGYuZmV0Y2g9KENjKCksZCh4YykpLmRlZmF1bHR8fChDYygpLGQoeGMpKSl9KSksVGM9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLmZldGNoQmFsYW5jZXJDb25maWc9dm9pZCAwO3ZhciBuPURzKCkscj10KHdjKCkpO2UuZmV0Y2hCYWxhbmNlckNvbmZpZz1mdW5jdGlvbihlKXtyZXR1cm4oMCxuLmRlYnVnKShgdXNpbmcgYmFsYW5jZXIgJHtlfSB0byBnZXQgd2Vic29ja2V0IHVybGApLCgwLHIuZGVmYXVsdCkoYCR7ZX1gKS50aGVuKGZ1bmN0aW9uKGUpe3JldHVybiBlLmpzb24oKX0pLnRoZW4oZnVuY3Rpb24oZSl7cmV0dXJuIGU/LnVybCYmZT8udG9rZW4/KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIHVybCAke2U/LnVybH0gYW5kIHRva2VuICR7ZT8udG9rZW59YCksZSk6KCgwLG4uZGVidWcpKGBiYWxhbmNlciByZXR1cm5zIGludmFsaWQgcmVzcG9uc2VgKSxudWxsKX0pLmNhdGNoKGZ1bmN0aW9uKGUpe3JldHVybigwLG4uZGVidWcpKGBmYWlsZWQgdG8gcmVzb2x2ZSB1cmw6ICR7ZS5tZXNzYWdlfWApLG51bGx9KX19KSksRWM9cygoZT0+e3ZhciB0PWUmJmUuX19leHRlbmRzfHwoZnVuY3Rpb24oKXt2YXIgZT1mdW5jdGlvbih0LG4pe3JldHVybiBlPU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbihlLHQpe2UuX19wcm90b19fPXR9fHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgbiBpbiB0KU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LG4pJiYoZVtuXT10W25dKX0sZSh0LG4pfTtyZXR1cm4gZnVuY3Rpb24odCxuKXtpZih0eXBlb2YgbiE9YGZ1bmN0aW9uYCYmbiE9PW51bGwpdGhyb3cgVHlwZUVycm9yKGBDbGFzcyBleHRlbmRzIHZhbHVlIGArU3RyaW5nKG4pK2AgaXMgbm90IGEgY29uc3RydWN0b3Igb3IgbnVsbGApO2UodCxuKTtmdW5jdGlvbiByKCl7dGhpcy5jb25zdHJ1Y3Rvcj10fXQucHJvdG90eXBlPW49PT1udWxsP09iamVjdC5jcmVhdGUobik6KHIucHJvdG90eXBlPW4ucHJvdG90eXBlLG5ldyByKX19KSgpLG49ZSYmZS5fX3NwcmVhZEFycmF5fHxmdW5jdGlvbihlLHQsbil7aWYobnx8YXJndW1lbnRzLmxlbmd0aD09PTIpZm9yKHZhciByPTAsaT10Lmxlbmd0aCxhO3I8aTtyKyspKGF8fCEociBpbiB0KSkmJihhfHw9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCwwLHIpLGFbcl09dFtyXSk7cmV0dXJuIGUuY29uY2F0KGF8fEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKHQpKX0scj1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRNb2NrPXZvaWQgMDt2YXIgaT1EcygpO2UuU29ja2V0TW9jaz1mdW5jdGlvbihlKXt0KHIsZSk7ZnVuY3Rpb24gcih0KXt2YXIgbj1lLmNhbGwodGhpcyl8fHRoaXM7cmV0dXJuIG4ub3B0aW9ucz10LG4uaWQ9YG1vY2tgLG4uY29ubmVjdGVkPSExLG4uZGlzY29ubmVjdGVkPSEwLG4uYmluYXJ5VHlwZT1gYmxvYmAsbn1yZXR1cm4gci5wcm90b3R5cGUub3Blbj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuKDAsaS5kZWJ1ZykoYFNvY2tldElPTW9jazogY29ubmVjdGApLHRoaXMub25jZShgdmlzaXRvci5jb25uZWN0YCxmdW5jdGlvbih0LG4pe24obnVsbCxlLm9wdGlvbnMuY29ubmVjdERhdGEpfSksdGhpcy5jb25uZWN0ZWQ9ITAsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBjb25uZWN0YCksdGhpc30sci5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXtyZXR1cm4oMCxpLmRlYnVnKShgU29ja2V0SU9Nb2NrOiBkaXNjb25uZWN0YCksdGhpcy5jb25uZWN0ZWQ9ITEsdGhpcy5kaXNjb25uZWN0ZWQ9ITEsdGhpcy5lbWl0KGBkaXNjb25uZWN0YCxgaW8gY2xpZW50IGRpc2Nvbm5lY3RgKSx0aGlzfSxyLnByb3RvdHlwZS5lbWl0PWZ1bmN0aW9uKHQpe3ZhciByPVsuLi5hcmd1bWVudHNdLnNsaWNlKDEpO3JldHVybiBpLmRlYnVnLmFwcGx5KHZvaWQgMCxuKFtgU29ja2V0SU9Nb2NrOiBlbWl0YF0sciwhMSkpLCh0PT09YGNvbm5lY3RgfHx0PT09YGRpc2Nvbm5lY3RgfHx0PT09YHZpc2l0b3IuY29ubmVjdGApJiZlLnByb3RvdHlwZS5lbWl0LmFwcGx5KHRoaXMsbihbdF0sciwhMSkpLHRoaXN9LHIucHJvdG90eXBlLnNlbmQ9ZnVuY3Rpb24oKXt2YXIgZT1bLi4uYXJndW1lbnRzXTtyZXR1cm4gdGhpcy5lbWl0LmFwcGx5KHRoaXMsbihbZVswXV0sZS5zbGljZSgxKSwhMSkpfSxyLnByb3RvdHlwZS5jb21wcmVzcz1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxyLnByb3RvdHlwZS5jb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMub3BlbigpfSxyLnByb3RvdHlwZS5kaXNjb25uZWN0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY2xvc2UoKX0sci5wcm90b3R5cGUuaGFzTGlzdGVuZXJzPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmxpc3RlbmVyQ291bnQoZSk9PT0wfSxyLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuYWRkTGlzdGVuZXIoZSx0KSx0aGlzfSxyLnByb3RvdHlwZS5yZW1vdmVFdmVudExpc3RlbmVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMucmVtb3ZlTGlzdGVuZXIoZSx0KSx0aGlzfSxyfShyKE9zKCkpLmRlZmF1bHQpfSkpLERjPXMoKGU9Pnt2YXIgdD1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiB0PU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sbj1lJiZlLl9fY3JlYXRlQmluZGluZ3x8KE9iamVjdC5jcmVhdGU/KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pO3ZhciBpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IodCxuKTsoIWl8fChgZ2V0YGluIGk/IXQuX19lc01vZHVsZTppLndyaXRhYmxlfHxpLmNvbmZpZ3VyYWJsZSkpJiYoaT17ZW51bWVyYWJsZTohMCxnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdFtuXX19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxyLGkpfSk6KGZ1bmN0aW9uKGUsdCxuLHIpe3I9PT12b2lkIDAmJihyPW4pLGVbcl09dFtuXX0pKSxyPWUmJmUuX19leHBvcnRTdGFyfHxmdW5jdGlvbihlLHQpe2Zvcih2YXIgciBpbiBlKXIhPT1gZGVmYXVsdGAmJiFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKSYmbih0LGUscil9LGk9ZSYmZS5fX2F3YWl0ZXJ8fGZ1bmN0aW9uKGUsdCxuLHIpe2Z1bmN0aW9uIGkoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiBuP2U6bmV3IG4oZnVuY3Rpb24odCl7dChlKX0pfXJldHVybiBuZXcobnx8PVByb21pc2UpKGZ1bmN0aW9uKG4sYSl7ZnVuY3Rpb24gbyhlKXt0cnl7YyhyLm5leHQoZSkpfWNhdGNoKGUpe2EoZSl9fWZ1bmN0aW9uIHMoZSl7dHJ5e2Moci50aHJvdyhlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gYyhlKXtlLmRvbmU/bihlLnZhbHVlKTppKGUudmFsdWUpLnRoZW4obyxzKX1jKChyPXIuYXBwbHkoZSx0fHxbXSkpLm5leHQoKSl9KX0sYT1lJiZlLl9fZ2VuZXJhdG9yfHxmdW5jdGlvbihlLHQpe3ZhciBuPXtsYWJlbDowLHNlbnQ6ZnVuY3Rpb24oKXtpZihhWzBdJjEpdGhyb3cgYVsxXTtyZXR1cm4gYVsxXX0sdHJ5czpbXSxvcHM6W119LHIsaSxhLG89T2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yPT1gZnVuY3Rpb25gP0l0ZXJhdG9yOk9iamVjdCkucHJvdG90eXBlKTtyZXR1cm4gby5uZXh0PXMoMCksby50aHJvdz1zKDEpLG8ucmV0dXJuPXMoMiksdHlwZW9mIFN5bWJvbD09YGZ1bmN0aW9uYCYmKG9bU3ltYm9sLml0ZXJhdG9yXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSksbztmdW5jdGlvbiBzKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gYyhbZSx0XSl9fWZ1bmN0aW9uIGMocyl7aWYocil0aHJvdyBUeXBlRXJyb3IoYEdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5gKTtmb3IoO28mJihvPTAsc1swXSYmKG49MCkpLG47KXRyeXtpZihyPTEsaSYmKGE9c1swXSYyP2kucmV0dXJuOnNbMF0/aS50aHJvd3x8KChhPWkucmV0dXJuKSYmYS5jYWxsKGkpLDApOmkubmV4dCkmJiEoYT1hLmNhbGwoaSxzWzFdKSkuZG9uZSlyZXR1cm4gYTtzd2l0Y2goaT0wLGEmJihzPVtzWzBdJjIsYS52YWx1ZV0pLHNbMF0pe2Nhc2UgMDpjYXNlIDE6YT1zO2JyZWFrO2Nhc2UgNDpyZXR1cm4gbi5sYWJlbCsrLHt2YWx1ZTpzWzFdLGRvbmU6ITF9O2Nhc2UgNTpuLmxhYmVsKyssaT1zWzFdLHM9WzBdO2NvbnRpbnVlO2Nhc2UgNzpzPW4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZTtkZWZhdWx0OmlmKChhPW4udHJ5cywhKGE9YS5sZW5ndGg+MCYmYVthLmxlbmd0aC0xXSkpJiYoc1swXT09PTZ8fHNbMF09PT0yKSl7bj0wO2NvbnRpbnVlfWlmKHNbMF09PT0zJiYoIWF8fHNbMV0+YVswXSYmc1sxXTxhWzNdKSl7bi5sYWJlbD1zWzFdO2JyZWFrfWlmKHNbMF09PT02JiZuLmxhYmVsPGFbMV0pe24ubGFiZWw9YVsxXSxhPXM7YnJlYWt9aWYoYSYmbi5sYWJlbDxhWzJdKXtuLmxhYmVsPWFbMl0sbi5vcHMucHVzaChzKTticmVha31hWzJdJiZuLm9wcy5wb3AoKSxuLnRyeXMucG9wKCk7Y29udGludWV9cz10LmNhbGwoZSxuKX1jYXRjaChlKXtzPVs2LGVdLGk9MH1maW5hbGx5e3I9YT0wfWlmKHNbMF0mNSl0aHJvdyBzWzFdO3JldHVybnt2YWx1ZTpzWzBdP3NbMV06dm9pZCAwLGRvbmU6ITB9fX0sbz1lJiZlLl9faW1wb3J0RGVmYXVsdHx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUmJmUuX19lc01vZHVsZT9lOntkZWZhdWx0OmV9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj12b2lkIDA7dmFyIHM9RHMoKSxjPW8oT3MoKSksbD1vKGJjKCkpLHU9VGMoKSxkPXt0cmFuc3BvcnRzOltgd2Vic29ja2V0YF0scGF0aDpgL3NvY2tldGAscmVjb25uZWN0aW9uOiEwLHJlY29ubmVjdGlvbkRlbGF5OjFlMyxyZWNvbm5lY3Rpb25EZWxheU1heDo1ZTMscmVjb25uZWN0aW9uQXR0ZW1wdHM6MS8wfTtlLmRlZmF1bHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe3RoaXMub3B0aW9ucz1lLHRoaXMuaW5pdGlhbGl6ZWQ9ITEsdGhpcy5mb3JjZVJlY29ubmVjdD0hMSx0aGlzLmlkZW50aXR5PW51bGwsdGhpcy5jb25uZWN0aW9uPW51bGwsdGhpcy5jb25uZWN0Q2FsbGJhY2s9bnVsbCx0aGlzLmRpc2Nvbm5lY3RDYWxsYmFjaz1udWxsLHRoaXMuaW5pdERhdGE9bnVsbCx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITEsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9MCx0aGlzLmVtaXR0ZXI9bmV3IGMuZGVmYXVsdCx0aGlzLnNlbmRCdWZmZXI9W10sdGhpcy5vcHRpb25zLm9wdGlvbnM9dCh0KHQoe30sZCksdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMX0pfXJldHVybiBlLnByb3RvdHlwZS5pbml0Q29ubmVjdGlvbj1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlO3JldHVybiBhKHRoaXMsZnVuY3Rpb24obil7c3dpdGNoKG4ubGFiZWwpe2Nhc2UgMDppZih0aGlzLmNvbm5lY3Rpb24pdGhyb3cgRXJyb3IoYENvbm5lY3Rpb24gYWxyZWFkeSBleGlzdHNgKTtyZXR1cm4gdGhpcy5vcHRpb25zLnNvY2tldD8oKDAscy5kZWJ1ZykoYHVzaW5nIHNvY2tldCAke3RoaXMub3B0aW9ucy5zb2NrZXQuaWR9YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMSx0aGlzLnNldENvbm5lY3Rpb24odGhpcy5vcHRpb25zLnNvY2tldCksWzMsNF0pOlszLDFdO2Nhc2UgMTpyZXR1cm4gdGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsP1s0LCgwLHUuZmV0Y2hCYWxhbmNlckNvbmZpZykodGhpcy5vcHRpb25zLmJhbGFuY2VyVXJsKV06WzMsM107Y2FzZSAyOnJldHVybiBlPW4uc2VudCgpLCgwLHMuZGVidWcpKGBjcmVhdGluZyBzb2NrZXQgdG8gJHtlLnVybH0gd2l0aCB0b2tlbiAke2UudG9rZW59YCksdGhpcy5pbnRlcm5hbFJlY29ubmVjdGlvbj0hMCx0aGlzLnNldENvbm5lY3Rpb24oKDAsbC5kZWZhdWx0KShlLnVybCx0KHQoe30sdGhpcy5vcHRpb25zLm9wdGlvbnMpLHthdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITEscXVlcnk6e3Rva2VuOmUudG9rZW59fSkpLCEwKSxbMyw0XTtjYXNlIDM6aWYodGhpcy5vcHRpb25zLnVybCkoMCxzLmRlYnVnKShgY3JlYXRpbmcgc29ja2V0IHRvICR7dGhpcy5vcHRpb25zLnVybH1gKSx0aGlzLmludGVybmFsUmVjb25uZWN0aW9uPSExLHRoaXMuc2V0Q29ubmVjdGlvbigoMCxsLmRlZmF1bHQpKHRoaXMub3B0aW9ucy51cmwsdCh0KHt9LHRoaXMub3B0aW9ucy5vcHRpb25zKSx7YXV0b0Nvbm5lY3Q6ITF9KSkpO2Vsc2UgdGhyb3cgRXJyb3IoYE1pc3NpbmcgcmVxdWlyZWQgcGFyYW1ldGVyIHVybGApO24ubGFiZWw9NDtjYXNlIDQ6cmV0dXJuWzJdfX0pfSl9LGUucHJvdG90eXBlLnNldENvbm5lY3Rpb249ZnVuY3Rpb24oZSxuKXt2YXIgcj10aGlzO249PT12b2lkIDAmJihuPSExKSx0aGlzLmNvbm5lY3Rpb249ZSx0aGlzLmZvcmNlUmVjb25uZWN0PSExLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpb249bixlLm9uKGBjb25uZWN0X2Vycm9yYCxmdW5jdGlvbihlKXtyLmludGVybmFsUmVjb25uZWN0aW9uJiYoci5jb25uZWN0Q2FsbGJhY2s9bnVsbCwoMCxzLmRlYnVnKShgY29ubmVjdGlvbiB3YXMgbm90IHJlY29ubmVjdGVkYCksci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdF9lcnJvcmAsZSksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uQXR0ZW1wdHM+ci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQrMT9yLnJlY29ubmVjdChyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdCsxKTpyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGAsci5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQpKX0pLGUub24oYGNvbm5lY3RgLGZ1bmN0aW9uKCl7KDAscy5kZWJ1ZykoYHNvY2tldCB3YXMgY29ubmVjdGVkYCksci5pbml0aWFsaXplZD0hMSxyLmludGVybmFsUmVjb25uZWN0aW5nPygoMCxzLmRlYnVnKShgY29ubmVjdGlvbiBpcyByZWNvbm5lY3RlZGApLHIuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RgKSxyLmludGVybmFsUmVjb25uZWN0aW5nPSExLHIuaW50ZXJuYWxSZWNvbm5lY3RpbmdBdHRlbXB0PTApOnIuZW1pdHRlci5lbWl0KGBjb25uZWN0YCksci5pbml0aWFsaXplKCkudGhlbihmdW5jdGlvbihlKXtyZXR1cm4oMCxzLmRlYnVnKShgc29ja2V0IHdhcyBpbml0aWFsaXplZGApLHIub25Jbml0aWFsaXplZChlKSxyLmNvbm5lY3RDYWxsYmFjayYmPShyLmNvbm5lY3RDYWxsYmFjayhudWxsLGUpLG51bGwpLGV9KS5jYXRjaChmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBub3QgaW5pdGlhbGl6ZWQgYCx0KHt9LGUpKSxyLm9uSW5pdGlhbGl6ZUVycm9yKGUpLHIuY29ubmVjdENhbGxiYWNrJiY9KHIuY29ubmVjdENhbGxiYWNrKGUpLG51bGwpfSl9KSxlLm9uKGBkaXNjb25uZWN0YCxmdW5jdGlvbihlKXsoMCxzLmRlYnVnKShgc29ja2V0IHdhcyBkaXNjb25uZWN0ZWQgcmVhc29uPScke2V9J2ApLHIuaW5pdGlhbGl6ZWQ9ITEsKCFyLmludGVybmFsUmVjb25uZWN0aW5nfHxyLmludGVybmFsUmVjb25uZWN0aW5nQXR0ZW1wdD09PTEpJiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYGRpc2Nvbm5lY3RgLGUpLHIuZGlzY29ubmVjdENhbGxiYWNrJiY9KHIuZGlzY29ubmVjdENhbGxiYWNrKCksbnVsbCl9LDEwMCksci5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uJiZyLmludGVybmFsUmVjb25uZWN0aW9uJiYhci5pbnRlcm5hbFJlY29ubmVjdGluZyYmKHIuZm9yY2VSZWNvbm5lY3R8fGUhPT1gaW8gc2VydmVyIGRpc2Nvbm5lY3RgKSYmci5yZWNvbm5lY3QoKX0pLGUub24oYHJlY29ubmVjdGluZ2AsZnVuY3Rpb24oZSl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGluZ2AsZSl9KSxlLm9uKGByZWNvbm5lY3RgLGZ1bmN0aW9uKCl7ci5lbWl0dGVyLmVtaXQoYHJlY29ubmVjdGApfSksZS5vbihgcmVjb25uZWN0X2F0dGVtcHRgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSl9KSxlLm9uKGByZWNvbm5lY3RfZXJyb3JgLGZ1bmN0aW9uKGUpe3IuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfZXJyb3JgLGUpfSksZS5vbihgcmVjb25uZWN0X2ZhaWxlZGAsZnVuY3Rpb24oKXtyLmVtaXR0ZXIuZW1pdChgcmVjb25uZWN0X2ZhaWxlZGApfSksZS5vbihgZm9yY2VfcmVjb25uZWN0YCxmdW5jdGlvbigpeygwLHMuZGVidWcpKGByZWNlaXZlZCBldmVudCBmb3JjZV9yZWNvbm5lY3QsIHNldHRpbmcgZmxhZyBmb3JjZVJlY29ubmVjdCA9IHRydWVgKSxyLmZvcmNlUmVjb25uZWN0PSEwfSl9LGUucHJvdG90eXBlLmdldENvbm5lY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25uZWN0aW9ufSxlLnByb3RvdHlwZS5pc0Nvbm5lY3RlZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmNvbm5lY3Rpb24/LmNvbm5lY3RlZHx8ITF9LGUucHJvdG90eXBlLmlzSW5pdGlhbGl6ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0aWFsaXplZH0sZS5wcm90b3R5cGUuZ2V0SW5pdERhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pbml0RGF0YX0sZS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBpKHRoaXMsdm9pZCAwLHZvaWQgMCxmdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIGEodGhpcyxmdW5jdGlvbih0KXtzd2l0Y2godC5sYWJlbCl7Y2FzZSAwOnJldHVybiB0aGlzLmNvbm5lY3Rpb24/WzMsMl06WzQsdGhpcy5pbml0Q29ubmVjdGlvbigpXTtjYXNlIDE6dC5zZW50KCksdC5sYWJlbD0yO2Nhc2UgMjpyZXR1cm5bMixuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2UuaW5pdGlhbGl6ZWQ/dChlLmluaXREYXRhKTooKDAscy5kZWJ1ZykoYHN0YXJ0aW5nIGNvbm5lY3RpbmdgKSxlLmNvbm5lY3RDYWxsYmFjaz0oMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pLGUuY29ubmVjdGlvbi5vcGVuKCkpfSldfX0pfSl9LGUucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4peyFlLmNvbm5lY3Rpb258fGUuY29ubmVjdGlvbi5kaXNjb25uZWN0ZWQ/KGUuY29ubmVjdGlvbj1udWxsLHQoKSk6KCgwLHMuZGVidWcpKGBzdGFydGluZyBkaXNjb25uZWN0aW5nYCksZS5kaXNjb25uZWN0Q2FsbGJhY2s9KDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSxlLmNvbm5lY3Rpb24uY2xvc2UoKSxlLmNvbm5lY3Rpb249bnVsbCl9KX0sZS5wcm90b3R5cGUucmVjb25uZWN0PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIGU9PT12b2lkIDAmJihlPTEpLHRoaXMuaW50ZXJuYWxSZWNvbm5lY3Rpbmc9ITAsdGhpcy5pbnRlcm5hbFJlY29ubmVjdGluZ0F0dGVtcHQ9ZSx0aGlzLmRpc2Nvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKCl7dmFyIG49TWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpKih0Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheU1heC10Lm9wdGlvbnMub3B0aW9ucy5yZWNvbm5lY3Rpb25EZWxheSkrdC5vcHRpb25zLm9wdGlvbnMucmVjb25uZWN0aW9uRGVsYXkpO3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIHdpbGwgcmVjb25uZWN0IGluICR7bn1tc2ApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RpbmdgLGUpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUpe3NldFRpbWVvdXQoZSxuKX0pfSkudGhlbihmdW5jdGlvbigpe3JldHVybigwLHMuZGVidWcpKGBjb25uZWN0aW9uIGlzIHN0YXJ0aW5nIHJlY29ubmVjdGApLHQuZW1pdHRlci5lbWl0KGByZWNvbm5lY3RfYXR0ZW1wdGAsZSksdC5jb25uZWN0KCl9KX0sZS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihlKXtlKHt9KX0pfSxlLnByb3RvdHlwZS5vbkluaXRpYWxpemVkPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dGhpcy5pbml0aWFsaXplZHx8KHRoaXMuaW5pdGlhbGl6ZWQ9ITAsdGhpcy5pbml0RGF0YT1lLCgwLHMuZGVidWcpKGBlbWl0IGluaXRpYWxpemVkYCksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVkYCxlKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aWYodC5zZW5kQnVmZmVyLmxlbmd0aD4wKXsoMCxzLmRlYnVnKShgc2VuZGluZyBidWZmZXJlZCAke3Quc2VuZEJ1ZmZlci5sZW5ndGh9IGV2ZW50c2ApO2Zvcih2YXIgZT0wO2U8dC5zZW5kQnVmZmVyLmxlbmd0aDtlKyspe3ZhciBuPXQuc2VuZEJ1ZmZlcltlXTt0LmNvbm5lY3Rpb24uZW1pdChuLm5hbWUsbi5kYXRhLG4uY2FsbGJhY2spfXQuc2VuZEJ1ZmZlcj1bXX19LDEpKX0sZS5wcm90b3R5cGUub25Jbml0aWFsaXplRXJyb3I9ZnVuY3Rpb24oZSl7dGhpcy5kaXNjb25uZWN0KCksKDAscy5kZWJ1ZykoYGVtaXQgaW5pdGlhbGl6ZV9lcnJvcmAsdCh7fSxlKSksdGhpcy5lbWl0dGVyLmVtaXQoYGluaXRpYWxpemVfZXJyb3JgLGUpfSxlLnByb3RvdHlwZS5zZW5kPWZ1bmN0aW9uKGUsdCxuKXt0aGlzLmluaXRpYWxpemVkP3RoaXMuY29ubmVjdGlvbi5lbWl0KGUsdCxuKTp0aGlzLnNlbmRCdWZmZXIucHVzaCh7bmFtZTplLGRhdGE6dCxjYWxsYmFjazpufSl9LGUucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGUucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnM9ZnVuY3Rpb24oKXtmb3IodmFyIGUsdD1bXSxuPTA7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl0W25dPWFyZ3VtZW50c1tuXTtyZXR1cm4oZT10aGlzLmVtaXR0ZXIpLnJlbW92ZUFsbExpc3RlbmVycy5hcHBseShlLHQpLHRoaXN9LGV9KCk7dmFyIGY9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBmLlNvY2tldEVycm9yfX0pLHIoRWMoKSxlKX0pKSxPYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2V4dGVuZHN8fChmdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKHQsbil7cmV0dXJuIGU9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKGUsdCl7ZS5fX3Byb3RvX189dH18fGZ1bmN0aW9uKGUsdCl7Zm9yKHZhciBuIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsbikmJihlW25dPXRbbl0pfSxlKHQsbil9O3JldHVybiBmdW5jdGlvbih0LG4pe2lmKHR5cGVvZiBuIT1gZnVuY3Rpb25gJiZuIT09bnVsbCl0aHJvdyBUeXBlRXJyb3IoYENsYXNzIGV4dGVuZHMgdmFsdWUgYCtTdHJpbmcobikrYCBpcyBub3QgYSBjb25zdHJ1Y3RvciBvciBudWxsYCk7ZSh0LG4pO2Z1bmN0aW9uIHIoKXt0aGlzLmNvbnN0cnVjdG9yPXR9dC5wcm90b3R5cGU9bj09PW51bGw/T2JqZWN0LmNyZWF0ZShuKTooci5wcm90b3R5cGU9bi5wcm90b3R5cGUsbmV3IHIpfX0pKCksbj1lJiZlLl9fYXNzaWdufHxmdW5jdGlvbigpe3JldHVybiBuPU9iamVjdC5hc3NpZ258fGZ1bmN0aW9uKGUpe2Zvcih2YXIgdCxuPTEscj1hcmd1bWVudHMubGVuZ3RoO248cjtuKyspZm9yKHZhciBpIGluIHQ9YXJndW1lbnRzW25dLHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsaSkmJihlW2ldPXRbaV0pO3JldHVybiBlfSxuLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0scj1lJiZlLl9fYXdhaXRlcnx8ZnVuY3Rpb24oZSx0LG4scil7ZnVuY3Rpb24gaShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG4/ZTpuZXcgbihmdW5jdGlvbih0KXt0KGUpfSl9cmV0dXJuIG5ldyhufHw9UHJvbWlzZSkoZnVuY3Rpb24obixhKXtmdW5jdGlvbiBvKGUpe3RyeXtjKHIubmV4dChlKSl9Y2F0Y2goZSl7YShlKX19ZnVuY3Rpb24gcyhlKXt0cnl7YyhyLnRocm93KGUpKX1jYXRjaChlKXthKGUpfX1mdW5jdGlvbiBjKGUpe2UuZG9uZT9uKGUudmFsdWUpOmkoZS52YWx1ZSkudGhlbihvLHMpfWMoKHI9ci5hcHBseShlLHR8fFtdKSkubmV4dCgpKX0pfSxpPWUmJmUuX19nZW5lcmF0b3J8fGZ1bmN0aW9uKGUsdCl7dmFyIG49e2xhYmVsOjAsc2VudDpmdW5jdGlvbigpe2lmKGFbMF0mMSl0aHJvdyBhWzFdO3JldHVybiBhWzFdfSx0cnlzOltdLG9wczpbXX0scixpLGEsbz1PYmplY3QuY3JlYXRlKCh0eXBlb2YgSXRlcmF0b3I9PWBmdW5jdGlvbmA/SXRlcmF0b3I6T2JqZWN0KS5wcm90b3R5cGUpO3JldHVybiBvLm5leHQ9cygwKSxvLnRocm93PXMoMSksby5yZXR1cm49cygyKSx0eXBlb2YgU3ltYm9sPT1gZnVuY3Rpb25gJiYob1tTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSxvO2Z1bmN0aW9uIHMoZSl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiBjKFtlLHRdKX19ZnVuY3Rpb24gYyhzKXtpZihyKXRocm93IFR5cGVFcnJvcihgR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLmApO2Zvcig7byYmKG89MCxzWzBdJiYobj0wKSksbjspdHJ5e2lmKHI9MSxpJiYoYT1zWzBdJjI/aS5yZXR1cm46c1swXT9pLnRocm93fHwoKGE9aS5yZXR1cm4pJiZhLmNhbGwoaSksMCk6aS5uZXh0KSYmIShhPWEuY2FsbChpLHNbMV0pKS5kb25lKXJldHVybiBhO3N3aXRjaChpPTAsYSYmKHM9W3NbMF0mMixhLnZhbHVlXSksc1swXSl7Y2FzZSAwOmNhc2UgMTphPXM7YnJlYWs7Y2FzZSA0OnJldHVybiBuLmxhYmVsKysse3ZhbHVlOnNbMV0sZG9uZTohMX07Y2FzZSA1Om4ubGFiZWwrKyxpPXNbMV0scz1bMF07Y29udGludWU7Y2FzZSA3OnM9bi5vcHMucG9wKCksbi50cnlzLnBvcCgpO2NvbnRpbnVlO2RlZmF1bHQ6aWYoKGE9bi50cnlzLCEoYT1hLmxlbmd0aD4wJiZhW2EubGVuZ3RoLTFdKSkmJihzWzBdPT09Nnx8c1swXT09PTIpKXtuPTA7Y29udGludWV9aWYoc1swXT09PTMmJighYXx8c1sxXT5hWzBdJiZzWzFdPGFbM10pKXtuLmxhYmVsPXNbMV07YnJlYWt9aWYoc1swXT09PTYmJm4ubGFiZWw8YVsxXSl7bi5sYWJlbD1hWzFdLGE9czticmVha31pZihhJiZuLmxhYmVsPGFbMl0pe24ubGFiZWw9YVsyXSxuLm9wcy5wdXNoKHMpO2JyZWFrfWFbMl0mJm4ub3BzLnBvcCgpLG4udHJ5cy5wb3AoKTtjb250aW51ZX1zPXQuY2FsbChlLG4pfWNhdGNoKGUpe3M9WzYsZV0saT0wfWZpbmFsbHl7cj1hPTB9aWYoc1swXSY1KXRocm93IHNbMV07cmV0dXJue3ZhbHVlOnNbMF0/c1sxXTp2b2lkIDAsZG9uZTohMH19fSxhPWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLldlYnNvY2tldFZpc2l0b3JDbGllbnQ9dm9pZCAwO3ZhciBvPWEoRGMoKSkscz1EcygpLGM9ZnVuY3Rpb24oZSl7dChhLGUpO2Z1bmN0aW9uIGEodCl7dmFyIG49ZS5jYWxsKHRoaXMsdC5jb25uZWN0aW9uKXx8dGhpcztyZXR1cm4gbi5zZXJ2ZXJWZXJzaW9uPW51bGwsbi51cGRhdGVkVmFsdWVzPXt9LG4uY29ubmVjdERhdGE9dC5kYXRhLG4uaWRlbnRpdHk9bnVsbCxufXJldHVybiBhLnByb3RvdHlwZS5zZXRDb25uZWN0aW9uPWZ1bmN0aW9uKHQpe2UucHJvdG90eXBlLnNldENvbm5lY3Rpb24uY2FsbCh0aGlzLHQpLHQub24oYHNlcnZlci5lcnJvcmAsKDAscy5ib3VuZCkodGhpcyxgb25TZXJ2ZXJFcnJvcmApKSx0Lm9uKGBhY2NvdW50LnVwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhY2NvdW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQudXBkYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGFnZW50LnVwZGF0ZWRgKSksdC5vbihgYWdlbnQuc3RhdHVzX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBhZ2VudC5zdGF0dXNfdXBkYXRlZGApKSx0Lm9uKGBhZ2VudC5yZW1vdmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgYWdlbnQucmVtb3ZlZGApKSx0Lm9uKGB2aXNpdG9yLnVwZGF0ZWRgLCgwLHMuYm91bmQpKHRoaXMsYG9uVmlzaXRvclVwZGF0ZWRgKSksdC5vbihgY2hhdC51cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC51cGRhdGVkYCkpLHQub24oYGNoYXQuYWdlbnRfam9pbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF9qb2luZWRgKSksdC5vbihgY2hhdC5hZ2VudF9hc3NpZ25lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfYXNzaWduZWRgKSksdC5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCkpLHQub24oYGNoYXQuYWdlbnRfbGVmdGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuYWdlbnRfbGVmdGApKSx0Lm9uKGBjaGF0Lm9wZW5lZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQub3BlbmVkYCkpLHQub24oYGNoYXQuc2VydmVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5zZXJ2ZWRgKSksdC5vbihgY2hhdC5jbG9zZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LmNsb3NlZGApKSx0Lm9uKGBjaGF0LnZpc2l0b3JfY2xvc2VkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC52aXNpdG9yX2Nsb3NlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgKSksdC5vbihgY2hhdC5tZXNzYWdlX3VwZGF0ZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGApKSx0Lm9uKGBjaGF0Lm1lc3NhZ2VfZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQubWVzc2FnZV9kZWxldGVkYCkpLHQub24oYGNoYXQuYWdlbnRfdHlwaW5nYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5hZ2VudF90eXBpbmdgKSksdC5vbihgY2hhdC5yYXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0ZWRgKSksdC5vbihgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgY2hhdC5yYXRpbmdfY2FuY2VsbGVkYCkpLHQub24oYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQucmF0aW5nX3N1Z2dlc3RlZGApKSx0Lm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuY29udGFjdF9yZWFkYCkpLHQub24oYGNoYXQuZGVsZXRlZGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQuZGVsZXRlZGApKSx0Lm9uKGBjaGF0LnRpY2tldF9mb3JtX2ZpbmlzaGAsKDAscy5jcmVhdGVFbWl0dGVyKSh0aGlzLmVtaXR0ZXIsYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCkpLHQub24oYGNoYXQudHJhbnNjcmlwdF9wZGZgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjaGF0LnRyYW5zY3JpcHRfcGRmYCkpLHQub24oYGNvbnRhY3QuYWNxdWlyZWRgLCgwLHMuY3JlYXRlRW1pdHRlcikodGhpcy5lbWl0dGVyLGBjb250YWN0LmFjcXVpcmVkYCkpLHQub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCwoMCxzLmNyZWF0ZUVtaXR0ZXIpKHRoaXMuZW1pdHRlcixgaWRlbnRpdHkuc3RhdHVzX3VwZGF0ZWRgKSl9LGEucHJvdG90eXBlLm9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMuZW1pdHRlci5vbihlLHQpLHRoaXN9LGEucHJvdG90eXBlLm9uY2U9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gdGhpcy5lbWl0dGVyLm9uY2UoZSx0KSx0aGlzfSxhLnByb3RvdHlwZS5nZXRJZD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlkZW50aXR5P3RoaXMuaWRlbnRpdHkuaWQ6bnVsbH0sYS5wcm90b3R5cGUuZ2V0SWRlbnRpdHk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pZGVudGl0eX0sYS5wcm90b3R5cGUuY29ubmVjdD1mdW5jdGlvbigpe3JldHVybiBlLnByb3RvdHlwZS5jb25uZWN0LmNhbGwodGhpcyl9LGEucHJvdG90eXBlLmRpc2Nvbm5lY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gcih0aGlzLGFyZ3VtZW50cyx2b2lkIDAsZnVuY3Rpb24odCl7dmFyIG49dGhpcztyZXR1cm4gdD09PXZvaWQgMCYmKHQ9ITEpLGkodGhpcyxmdW5jdGlvbihyKXtzd2l0Y2goci5sYWJlbCl7Y2FzZSAwOnJldHVybiB0P1s0LG5ldyBQcm9taXNlKGZ1bmN0aW9uKGUsdCl7bi5zZW5kKGB2aXNpdG9yLmxvZ291dGAse30sKDAscy5jcmVhdGVDYWxsYmFjaykoZSx0KSl9KV06WzMsMl07Y2FzZSAxOnIuc2VudCgpLHIubGFiZWw9MjtjYXNlIDI6cmV0dXJuWzIsZS5wcm90b3R5cGUuZGlzY29ubmVjdC5jYWxsKHRoaXMpXX19KX0pfSxhLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0IGluIGU9PT12b2lkIDAmJihlPXt9KSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLGUpdGhpcy5pZGVudGl0eVt0XT1lW3RdLHRoaXMudXBkYXRlZFZhbHVlc1t0XT1lW3RdO3RoaXMuc2F2ZVZpc2l0b3JWYWx1ZXMoKX0sYS5wcm90b3R5cGUuYXV0aGVudGljYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYHZpc2l0b3IuYXV0aGVudGljYXRlYCx7dmFsdWVzOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLm5vdGlmeT1mdW5jdGlvbihlLHQpe3ZhciBuPXRoaXM7cmV0dXJuIHQ9PT12b2lkIDAmJih0PW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24ocixpKXtuLnNlbmQoYHZpc2l0b3Iubm90aWZ5YCx7bmFtZTplLHZhbHVlOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRSZWFkPWZ1bmN0aW9uKCl7dGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSx0aGlzLnNlbmQoYGNoYXQucmVhZGAsbnVsbCl9LGEucHJvdG90eXBlLmNoYXRUeXBpbmc9ZnVuY3Rpb24oZSx0KXt0PT09dm9pZCAwJiYodD1udWxsKSx0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLHRoaXMuc2VuZChgY2hhdC50eXBpbmdgLHt0eXBpbmc6e2lzOmUsdGV4dDp0fX0pfSxhLnByb3RvdHlwZS5jaGF0TWVzc2FnZT1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lm1lc3NhZ2VgLGUsKDAscy5jcmVhdGVDYWxsYmFjaykobixyKSl9KX0sYS5wcm90b3R5cGUuY2hhdENsb3NlPWZ1bmN0aW9uKGUpe2U9PT12b2lkIDAmJihlPW51bGwpLHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksdGhpcy5zZW5kKGBjaGF0LmNsb3NlYCx7dHlwZTplfSl9LGEucHJvdG90eXBlLmNoYXRVcGxvYWRJbml0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbih0LG4pe2Uuc2VuZChgY2hhdC51cGxvYWRfaW5pdGAsbnVsbCwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5jaGF0VXBsb2FkRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudXBsb2FkX2ZpbmlzaGAse3VwbG9hZFRva2VuOmV9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRUcmFuc2NyaXB0PWZ1bmN0aW9uKGUsdCl7dmFyIG49dGhpcztyZXR1cm4gdGhpcy5jaGVja1NlcnZlclZlcnNpb24oKSxuZXcgUHJvbWlzZShmdW5jdGlvbihyLGkpe24uc2VuZChgY2hhdC50cmFuc2NyaXB0YCx7ZW1haWw6ZSxsYW5nOnR9LCgwLHMuY3JlYXRlQ2FsbGJhY2spKHIsaSkpfSl9LGEucHJvdG90eXBlLmNoYXRUaWNrZXRGb3JtRmluaXNoPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQudGlja2V0X2Zvcm1fZmluaXNoYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlSW5pdD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQucmF0ZV9pbml0YCxudWxsLCgwLHMuY3JlYXRlQ2FsbGJhY2spKHQsbikpfSl9LGEucHJvdG90eXBlLmNoYXRSYXRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXt0LnNlbmQoYGNoYXQucmF0ZWAsZSwoMCxzLmNyZWF0ZUNhbGxiYWNrKShuLHIpKX0pfSxhLnByb3RvdHlwZS5jaGF0VHJhbnNjcmlwdFBkZj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMuY2hlY2tTZXJ2ZXJWZXJzaW9uKCksbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLnNlbmQoYGNoYXQudHJhbnNjcmlwdF9wZGZgLG51bGwsKDAscy5jcmVhdGVDYWxsYmFjaykodCxuKSl9KX0sYS5wcm90b3R5cGUubGlua09wZW5lZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO3JldHVybiB0aGlzLmNoZWNrU2VydmVyVmVyc2lvbigpLG5ldyBQcm9taXNlKGZ1bmN0aW9uKG4scil7dC5zZW5kKGBjaGF0Lmxpbmtfb3BlbmVkYCxlLCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JDb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PW4oe3ZlcnNpb246YS5DTElFTlRfVkVSU0lPTn0sdGhpcy5jb25uZWN0RGF0YSk7Zm9yKHZhciByIGluIHRoaXMudXBkYXRlZFZhbHVlcyl0W3JdPXRoaXMudXBkYXRlZFZhbHVlc1tyXTtpZih0aGlzLnVwZGF0ZWRWYWx1ZXM9e30sdGhpcy5pZGVudGl0eSlmb3IodmFyIHIgaW4gdGhpcy5pZGVudGl0eSlbYGJhbm5lZEF0YCxgY2hhdElkYCxgc3RhdHVzYF0uaW5jbHVkZXMocil8fCh0W3JdPXRoaXMuaWRlbnRpdHlbcl0pO3JldHVybiB0aGlzLmVtaXR0ZXIuZW1pdChgaW5pdGlhbGl6ZWAsdCksbmV3IFByb21pc2UoZnVuY3Rpb24obixyKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5jb25uZWN0YCx0LCgwLHMuY3JlYXRlQ2FsbGJhY2spKG4scikpfSl9LGEucHJvdG90eXBlLnZpc2l0b3JEaXNjb25uZWN0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24odCxuKXtlLmNvbm5lY3Rpb24uZW1pdChgdmlzaXRvci5kaXNjb25uZWN0YCx7fSwoMCxzLmNyZWF0ZUNhbGxiYWNrKSh0LG4pKX0pfSxhLnByb3RvdHlwZS5vblZpc2l0b3JVcGRhdGVkPWZ1bmN0aW9uKGUpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLmNoYW5nZXMpYS5pZGVudGl0eVByb3BlcnRpZXMuaW5jbHVkZXMobikmJih0aGlzLmlkZW50aXR5JiYodGhpcy5pZGVudGl0eVtuXT1lLmNoYW5nZXNbbl0pLHRbbl09ZS5jaGFuZ2VzW25dKTtPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0KS5sZW5ndGg+MCYmdGhpcy5lbWl0dGVyLmVtaXQoYHZpc2l0b3IudXBkYXRlZGAsdCl9LGEucHJvdG90eXBlLm9uU2VydmVyRXJyb3I9ZnVuY3Rpb24oZSl7dmFyIHQ9KDAscy5jcmVhdGVTb2NrZXRFcnJvcikoZSk7dGhpcy5lbWl0dGVyLmVtaXQoYGVycm9yYCx0KX0sYS5wcm90b3R5cGUuaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3ZhciBlPXRoaXM7cmV0dXJuIHRoaXMudmlzaXRvckNvbm5lY3QoKS50aGVuKGZ1bmN0aW9uKHQpe3JldHVybiBlLnNlcnZlclZlcnNpb249dC5zZXJ2ZXJWZXJzaW9uLGUuaWRlbnRpdHk9bihuKHt9LHQudmlzaXRvcikse3ZhcmlhYmxlczpuKHt9LHQudmlzaXRvci52YXJpYWJsZXMpfSksdH0pfSxhLnByb3RvdHlwZS5zYXZlVmlzaXRvclZhbHVlcz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7dGhpcy5pbml0aWFsaXplZCYmc2V0VGltZW91dChmdW5jdGlvbigpe2lmKCEoIWUuaW5pdGlhbGl6ZWR8fE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGUudXBkYXRlZFZhbHVlcykubGVuZ3RoPT09MCkpe3ZhciB0PXt9O2Zvcih2YXIgbiBpbiBlLnVwZGF0ZWRWYWx1ZXMpdFtuXT1lLnVwZGF0ZWRWYWx1ZXNbbl07ZS5zZW5kKGB2aXNpdG9yLnVwZGF0ZWAse3ZhbHVlczp0fSksZS51cGRhdGVkVmFsdWVzPXt9fX0sMSl9LGEucHJvdG90eXBlLmNoZWNrU2VydmVyVmVyc2lvbj1mdW5jdGlvbigpe2lmKHRoaXMuc2VydmVyVmVyc2lvbj09PW51bGwpdGhyb3cgRXJyb3IoYENsaWVudCBub3QgeWV0IGNvbm5lY3RlZCB0byBzZXJ2ZXJgKX0sYS5DTElFTlRfVkVSU0lPTj02LGEuaWRlbnRpdHlQcm9wZXJ0aWVzPVtgaWRgLGBuYW1lYCxgZW1haWxgLGBwaG9uZWAsYGNoYXRJZGAsYHZhcmlhYmxlc2AsYGxhbmdgLGBncm91cGAsYGJhbm5lZEF0YCxgdHJpZ2dlcmFibGVgLGB2aXNpdHNgLGBnZHByQXBwcm92ZWRgXSxhfShvLmRlZmF1bHQpO2UuV2Vic29ja2V0VmlzaXRvckNsaWVudD1jLChmdW5jdGlvbihlKXsoZnVuY3Rpb24oZSl7ZS5XaWRnZXRPcGVuPWB3aWRnZXRfb3BlbmAsZS5XaWRnZXRTaG93PWB3aWRnZXRfc2hvd2AsZS5WaXNpdG9yQWN0aXZlPWB2aXNpdG9yX2FjdGl2ZWAsZS5WaXNpdG9ySW5hY3RpdmU9YHZpc2l0b3JfaW5hY3RpdmVgfSkoZS5FdmVudE5hbWV8fD17fSl9KShjfHwoZS5XZWJzb2NrZXRWaXNpdG9yQ2xpZW50PWM9e30pKX0pKSxrYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLEFjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5SYXRpbmdUYXJnZXQ9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLkFnZW50PWBhZ2VudGAsZS5BaT1gYWlgfSkodHx8KGUuUmF0aW5nVGFyZ2V0PXQ9e30pKX0pKSxqYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj1lLk1lc3NhZ2VEZWxpdmVyeVN0YXR1cz1lLkFnZW50RGV2aWNlUGxhdGZvcm09ZS5BZ2VudERldmljZVR5cGU9ZS5WaXNpdG9yU3RhdHVzPWUuQ2hhdFJlYWRJbmZvVHlwZT1lLkNoYXRTdGF0dXM9ZS5BZ2VudFN0YXR1cz1lLkFjY291bnRTdGF0dXM9dm9pZCAwLGUuQWNjb3VudFN0YXR1cz17T25saW5lOmBvbmxpbmVgLE9mZmxpbmU6YG9mZmxpbmVgLE9mZmxpbmVXaXRoQUk6YG9mZmxpbmVXaXRoQWlgfSxlLkFnZW50U3RhdHVzPXtPbmxpbmU6YG9ubGluZWAsT2ZmbGluZTpgb2ZmbGluZWB9LGUuQ2hhdFN0YXR1cz17UGVuZGluZzpgcGVuZGluZ2AsT3Blbjpgb3BlbmAsQ2xvc2VkOmBjbG9zZWRgLFNlcnZlZDpgc2VydmVkYH0sZS5DaGF0UmVhZEluZm9UeXBlPXtBZ2VudDpgYWdlbnRgLENvbnRhY3Q6YGNvbnRhY3RgfSxlLlZpc2l0b3JTdGF0dXM9e0FjdGl2ZTpgYWN0aXZlYCxDbGlja2VkOmBjbGlja2VkYCxJZGxlOmBpZGxlYCxTZXJ2ZWQ6YHNlcnZlZGAsVW5zZXJ2ZWQ6YHVuc2VydmVkYCxUcmlnZ2VyZWQ6YHRyaWdnZXJlZGB9LGUuQWdlbnREZXZpY2VUeXBlPXtCcm93c2VyOmBicm93c2VyYCxNb2JpbGU6YG1vYmlsZWAsWG1wcDpgeG1wcGAsT3RoZXI6YG90aGVyYH0sZS5BZ2VudERldmljZVBsYXRmb3JtPXtJT1M6YGlvc2AsQU5EUk9JRDpgYW5kcm9pZGB9LGUuTWVzc2FnZURlbGl2ZXJ5U3RhdHVzPXtPazpgb2tgLFBlcm1hbmVudEZhaWw6YHBlcm1hbmVudF9mYWlsYCxUZW1wb3JhcnlGYWlsOmB0ZW1wb3JhcnlfZmFpbGAsQ29tcGxhaW5lZDpgY29tcGxhaW5lZGAsU2Vlbjpgc2VlbmB9LGUuTWVzc2FnZURlbGl2ZXJ5RmFpbFJlYXNvbj17RmFjZWJvb2syNGhXaW5kb3c6YGZhY2Vib29rLm91dHNpZGVfYWxsb3dlZF93aW5kb3dgLEluc3RhZ3JhbUV4Y2VlZGVkRmlsZVNpemU6YGluc3RhZ3JhbS5leGNlZWRlZF9maWxlX3NpemVgLEluc3RhZ3JhbVVua25vd246YGluc3RhZ3JhbS51bmtub3duYCxJbnN0YWdyYW1VbnN1cHBvcnRlZEZpbGVUeXBlOmBpbnN0YWdyYW0udW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVuc3VwcG9ydGVkRmlsZTpgd2hhdHNhcHAudW5zdXBwb3J0ZWRfZmlsZV90eXBlYCxXaGF0c2FwcFVua25vd246YHdoYXRzYXBwLnVua25vd25gfX0pKSxNYz1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Tb2NrZXRFcnJvcj1lLmRlZmF1bHQ9dm9pZCAwO3ZhciByPU9jKCk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYGRlZmF1bHRgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiByLldlYnNvY2tldFZpc2l0b3JDbGllbnR9fSksbihPYygpLGUpLG4oa2MoKSxlKSxuKEFjKCksZSk7dmFyIGk9RHMoKTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgU29ja2V0RXJyb3JgLHtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiBpLlNvY2tldEVycm9yfX0pLG4oamMoKSxlKX0pKSxOYz1PKG51bGwpLFBjPU8oITEpLEZjPU8oW10pLEljPWU9PntGYy51cGRhdGUodD0+Wy4uLnQsZV0pfSxMYz0oKT0+e2xldCBlO3JldHVybiBGYy51cGRhdGUodD0+KGU9dC5wb3AoKSx0KSksZT8/bnVsbH0sUmM9KCk9PkEoRmMpLmxlbmd0aD09PTAsemM9ayhOYyxlPT5lIT09bnVsbCksQmM9KGUse3VzZVN0YWNrOnQ9ITF9PXt9KT0+e05jLnVwZGF0ZShuPT4odCYmbiYmSWMobiksUGMuc2V0KG4hPT1udWxsKSxlKSl9LFZjPSgpPT57bGV0IGU9bnVsbDtSYygpfHwoZT1MYygpKSxOYy5zZXQoZSl9LEhjPWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3B0aW9ucz0wXT1gT3B0aW9uc2AsZVtlLkdkcHJBbmRQcml2YWN5PTFdPWBHZHByQW5kUHJpdmFjeWAsZVtlLkF1dGhGb3JtPTJdPWBBdXRoRm9ybWAsZVtlLkNsb3NlQ2hhdD0zXT1gQ2xvc2VDaGF0YCxlW2UuQ2hhdFJhdGluZz00XT1gQ2hhdFJhdGluZ2AsZVtlLlRpY2tldEZvcm09NV09YFRpY2tldEZvcm1gLGV9KHt9KSxVYz0xZTMsV2M9U3ltYm9sKGBjb250ZW50TGlzdEl0ZW1gKSxHYz1TeW1ib2woYGNvbnRlbnRNZXNzYWdlQXR0YWNobWVudGApLEtjPWAtcmVwbGllc2AscWM9LjM1LEpjPTVlMyxZYz1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pfSkpLFhjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5DYXJkQWN0aW9uVHlwZT1lLkNhcmRzTGF5b3V0PXZvaWQgMCxlLkNhcmRzTGF5b3V0PXtDYXJvdXNlbDpgY2Fyb3VzZWxgfSxlLkNhcmRBY3Rpb25UeXBlPXtPcGVuVXJsOmBvcGVuX3VybGB9fSkpLFpjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSl9KSksUWM9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLlJhdGluZ1RhcmdldD1lLkdyb3VwVHlwZT1lLkNoYW5uZWxUeXBlPWUuTWVzc2FnZVN1YlR5cGU9ZS5NZXNzYWdlVHlwZT1lLkF0dGFjaG1lbnRJbnZhbGlkUmVhc29uPWUuQXR0YWNobWVudFR5cGU9ZS5NZXNzYWdlQWN0aW9uVHlwZT12b2lkIDAsZS5NZXNzYWdlQWN0aW9uVHlwZT17VGV4dDpgdGV4dGAsT3BlblVybDpgb3Blbl91cmxgfSxlLkF0dGFjaG1lbnRUeXBlPXtDYXJkczpgY2FyZHNgLEZpbGU6YGZpbGVgLEltYWdlOmBpbWFnZWAsTWVkaWE6YG1lZGlhYCxJbnZhbGlkOmBpbnZhbGlkYH0sZS5BdHRhY2htZW50SW52YWxpZFJlYXNvbj17SW52YWxpZFNpemU6YGludmFsaWRfc2l6ZWAsSW52YWxpZFR5cGU6YGludmFsaWRfdHlwZWB9LGUuTWVzc2FnZVR5cGU9e01lc3NhZ2U6YG1lc3NhZ2VgLE5vdGU6YG5vdGVgLEV2ZW50OmBldmVudGAsSGVscDpgaGVscGB9LGUuTWVzc2FnZVN1YlR5cGU9e0FnZW50OmBhZ2VudGAsQ29udGFjdDpgY29udGFjdGAsVHJpZ2dlcjpgdHJpZ2dlcmAsQm90OmBib3RgLFN5c3RlbTpgc3lzdGVtYCxBZ2VudEV4dGVybmFsOmBhZ2VudF9leHRlcm5hbGAsRm91bmRFbWFpbDpgZm91bmRfZW1haWxgLENoYXRSZXNvbHZlOmBjaGF0X3Jlc29sdmVgLEVtYWlsOmBlbWFpbGB9LGUuQ2hhbm5lbFR5cGU9e0RlZmF1bHQ6YGRlZmF1bHRgLEVtYWlsOmBlbWFpbGAsRW1haWxJbnRlZ3JhdGlvbjpgZW1haWxfaW50ZWdyYXRpb25gLEZhY2Vib29rTWVzc2VuZ2VyOmBmYWNlYm9va19tZXNzZW5nZXJgLEdtYWlsOmBnbWFpbGAsU21hcnRzdXBwOmBzbWFydHN1cHBgLEluc3RhZ3JhbTpgaW5zdGFncmFtYCxXaGF0c2FwcDpgd2hhdHNhcHBgfTt2YXIgdDsoZnVuY3Rpb24oZSl7ZS5haT1gYWlgLGUuY2hhdGJvdD1gY2hhdGJvdGAsZS5tZXNzYWdlPWBtZXNzYWdlYH0pKHR8fChlLkdyb3VwVHlwZT10PXt9KSk7dmFyIG47KGZ1bmN0aW9uKGUpe2UuQWdlbnQ9YGFnZW50YCxlLkFpPWBhaWB9KShufHwoZS5SYXRpbmdUYXJnZXQ9bj17fSkpfSkpLCRjPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5QYXJ0aWNpcGFudFR5cGU9dm9pZCAwO3ZhciB0OyhmdW5jdGlvbihlKXtlLmZyb209YGZyb21gLGUudG89YHRvYCxlLmNjPWBjY2AsZS5iY2M9YGJjY2B9KSh0fHwoZS5QYXJ0aWNpcGFudFR5cGU9dD17fSkpfSkpLGVsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5NZXNzYWdlQ29udGVudFR5cGU9ZS5NZXNzYWdlQ29udGVudD12b2lkIDA7dmFyIHQ7KGZ1bmN0aW9uKGUpeyhmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLFVwbG9hZDpgdXBsb2FkYCxSYXRlRm9ybTpgcmF0ZV9mb3JtYCxUaWNrZXRGb3JtOmB0aWNrZXRfZm9ybWAsRW1haWw6YGVtYWlsYH19KShlLk1lc3NhZ2V8fD17fSksKGZ1bmN0aW9uKGUpe2UuVHlwZT17QWdlbnRKb2luOmBhZ2VudF9qb2luYCxBZ2VudEFzc2lnbjpgYWdlbnRfYXNzaWduYCxBZ2VudFVuYXNzaWduOmBhZ2VudF91bmFzc2lnbmAsQWdlbnRMZWF2ZTpgYWdlbnRfbGVhdmVgLENoYXRDbG9zZTpgY2hhdF9jbG9zZWAsQ2hhdFZpc2l0b3JDbG9zZTpgY2hhdF92aXNpdG9yX2Nsb3NlYH19KShlLkV2ZW50fHw9e30pLChmdW5jdGlvbihlKXtlLlR5cGU9e1RleHQ6YHRleHRgLEZvdW5kRW1haWw6YGZvdW5kX2VtYWlsYH19KShlLkhlbHB8fD17fSl9KSh0fHwoZS5NZXNzYWdlQ29udGVudD10PXt9KSksZS5NZXNzYWdlQ29udGVudFR5cGU9ey4uLnQuTWVzc2FnZS5UeXBlLC4uLnQuRXZlbnQuVHlwZSwuLi50LkhlbHAuVHlwZX19KSksdGw9cygoZT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KX0pKSxubD1zKChlPT57dmFyIHQ9ZSYmZS5fX2NyZWF0ZUJpbmRpbmd8fChPYmplY3QuY3JlYXRlPyhmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKTt2YXIgaT1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsbik7KCFpfHwoYGdldGBpbiBpPyF0Ll9fZXNNb2R1bGU6aS53cml0YWJsZXx8aS5jb25maWd1cmFibGUpKSYmKGk9e2VudW1lcmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRbbl19fSksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUscixpKX0pOihmdW5jdGlvbihlLHQsbixyKXtyPT09dm9pZCAwJiYocj1uKSxlW3JdPXRbbl19KSksbj1lJiZlLl9fZXhwb3J0U3Rhcnx8ZnVuY3Rpb24oZSxuKXtmb3IodmFyIHIgaW4gZSlyIT09YGRlZmF1bHRgJiYhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4scikmJnQobixlLHIpfTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksbihZYygpLGUpLG4oWGMoKSxlKSxuKFpjKCksZSksbihRYygpLGUpLG4oJGMoKSxlKSxuKGVsKCksZSksbih0bCgpLGUpfSkpLHJsPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIG9mIHQpe2xldCB0PVN0cmluZyhyW2VdKTtuW3RdPXJ9cmV0dXJuIG59LGlsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09Tyh7fSk7cmV0dXJue3N1YnNjcmliZTplLHNldEdyb3VwczplPT57dChybChga2V5YCxlKSl9fX0pKCksYWw9ayhbaWxdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpKSxvbD17YXV0aEZvcm1EcmF3ZXI6YGF1dGhGb3JtRHJhd2VyYCxhdXRoRm9ybVByaXZhY3lOb3RpY2U6YGF1dGhGb3JtUHJpdmFjeU5vdGljZWAsYXV0aEZvcm1Qcml2YWN5Tm90aWNlU3dpdGNoOmBhdXRoRm9ybVByaXZhY3lOb3RpY2VTd2l0Y2hgLGF1dGhGb3JtU3VibWl0QnV0dG9uOmBhdXRoRm9ybVN1Ym1pdEJ1dHRvbmAsYXZhdGFyQWdlbnQ6YGF2YXRhckFnZW50YCxhdmF0YXJCb3Q6YGF2YXRhckJvdGAsYXZhdGFyR3JvdXA6YGF2YXRhckdyb3VwYCxhdmF0YXJJbmZvOmBhdmF0YXJJbmZvYCxidXR0b25BdHRhY2htZW50OmBidXR0b25BdHRhY2htZW50YCxidXR0b25DbG9zZUNoYXQ6YGJ1dHRvbkNsb3NlQ2hhdGAsYnV0dG9uQ2xvc2VEcmF3ZXI6YGJ1dHRvbkNsb3NlRHJhd2VyYCxidXR0b25Db2xsYXBzZUNoYXQ6YGJ1dHRvbkNvbGxhcHNlQ2hhdGAsYnV0dG9uRW1vamk6YGJ1dHRvbkVtb2ppYCxidXR0b25FeHBhbmRDaGF0OmBidXR0b25FeHBhbmRDaGF0YCxidXR0b25NaW5pbWl6ZUNoYXQ6YGJ1dHRvbk1pbmltaXplQ2hhdGAsYnV0dG9uT3B0aW9uczpgYnV0dG9uT3B0aW9uc2AsYnV0dG9uU2VuZDpgYnV0dG9uU2VuZGAsY2hhdFJhdGluZ0RyYXdlcjpgY2hhdFJhdGluZ0RyYXdlcmAsY2hhdFJhdGluZ0Vtb2ppQnV0dG9uOmBjaGF0UmF0aW5nRW1vamlgLGNoYXRSYXRpbmdTZW5kQnV0dG9uOmBjaGF0UmF0aW5nU2VuZEJ1dHRvbmAsY2hhdFJhdGluZ1RleHRhcmVhOmBjaGF0UmF0aW5nVGV4dGFyZWFgLGNoYXRSYXRpbmdGZWVkYmFja0J1dHRvbjpgY2hhdFJhdGluZ0ZlZWRiYWNrQnV0dG9uYCxjaGF0UmF0aW5nQnV0dG9uQWk6YGNoYXRSYXRpbmdCdXR0b25BaWAsY2hhdFJhdGluZ0J1dHRvbkFnZW50OmBjaGF0UmF0aW5nQnV0dG9uQWdlbnRgLGNsb3NlQ2hhdENvbmZpcm1CdXR0b246YGNsb3NlQ2hhdENvbmZpcm1CdXR0b25gLGNsb3NlQ2hhdERlY2xpbmVCdXR0b246YGNsb3NlQ2hhdERlY2xpbmVCdXR0b25gLGNsb3NlQ2hhdERyYXdlcjpgY2xvc2VDaGF0RHJhd2VyYCxmbGFzaE1lc3NhZ2U6YGZsYXNoTWVzc2FnZWAsZ2RwckRyYXdlcjpgZ2RwckRyYXdlcmAsaGVhZGVyVGl0bGU6YGhlYWRlclRpdGxlYCxoZWFkZXJTdGF0dXM6YGhlYWRlclN0YXR1c2AsaGVhZGVyQmFkZ2U6YGhlYWRlckJhZGdlYCxpbmxpbmVFbW9qaVBpY2tlcjpgaW5saW5lRW1vamlQaWNrZXJgLG1lc3NhZ2VBdHRhY2htZW50OmBtZXNzYWdlQXR0YWNobWVudGAsbWVzc2FnZUFnZW50OmBtZXNzYWdlQWdlbnRgLG1lc3NhZ2VCb3Q6YG1lc3NhZ2VCb3RgLG1lc3NhZ2VCb3RSZXBseTpgbWVzc2FnZUJvdFJlcGx5YCxtZXNzYWdlQm90QmFjazpgbWVzc2FnZUJvdEJhY2tgLG1lc3NhZ2VDb250YWN0OmBtZXNzYWdlQ29udGFjdGAsbWVzc2FnZUZpbGU6YG1lc3NhZ2VGaWxlYCxtZXNzYWdlR3JvdXA6YG1lc3NhZ2VHcm91cGAsbWVzc2FnZUltYWdlOmBtZXNzYWdlSW1hZ2VgLG9wdGlvbnNBY2Nlc3NpYmlsaXR5OmBvcHRpb25zQWNjZXNzaWJpbGl0eWAsb3B0aW9uc0RyYXdlcjpgb3B0aW9uc0RyYXdlcmAsb3B0aW9uc0V4cGFuZENoYXQ6YG9wdGlvbnNFeHBhbmRDaGF0YCxvcHRpb25zUHJpdmFjeU5vdGljZTpgb3B0aW9uc1ByaXZhY3lOb3RpY2VgLG9wdGlvbnNTb3VuZHM6YG9wdGlvbnNTb3VuZHNgLG9wdGlvbnNUcmFuc2NyaXB0OmBvcHRpb25zVHJhbnNjcmlwdGAscG9wdXA6YHBvcHVwYCxwb3B1cE1lc3NhZ2U6YHBvcHVwTWVzc2FnZWAscG9wdXBCdXR0b246YHBvcHVwQnV0dG9uYCxwb3B1cEJ1dHRvbkNsb3NlOmBwb3B1cEJ1dHRvbkNsb3NlYCxwcm9kdWN0Q2FyZDpgcHJvZHVjdENhcmRgLHByb2R1Y3RDYXJkQXJyb3dMZWZ0OmBwcm9kdWN0Q2FyZEFycm93TGVmdGAscHJvZHVjdENhcmRBcnJvd1JpZ2h0OmBwcm9kdWN0Q2FyZEFycm93UmlnaHRgLHByb2R1Y3RDYXJkQnV0dG9uOmBwcm9kdWN0Q2FyZEJ1dHRvbmAscHJvZHVjdENhcmRDYXJvdXNlbDpgcHJvZHVjdENhcmRDYXJvdXNlbGAscHJvZHVjdENhcmREZXNjcmlwdGlvbjpgcHJvZHVjdENhcmREZXNjcmlwdGlvbmAscHJvZHVjdENhcmRJbWFnZTpgcHJvZHVjdENhcmRJbWFnZWAscHJvZHVjdENhcmRJbmZvOmBwcm9kdWN0Q2FyZEluZm9gLHByb2R1Y3RDYXJkVGl0bGU6YHByb2R1Y3RDYXJkVGl0bGVgLHN5c3RlbU1lc3NhZ2U6YHN5c3RlbU1lc3NhZ2VgLHRleHRhcmVhOmB0ZXh0YXJlYWAsdGV4dGFyZWFQcmV2aWV3RmlsZTpgdGV4dGFyZWFQcmV2aWV3RmlsZWAsdGV4dGFyZWFQcmV2aWV3SW1hZ2U6YHRleHRhcmVhUHJldmlld0ltYWdlYCx0cmFuc2NyaXB0SW5wdXQ6YHRyYW5zY3JpcHRJbnB1dGAsdHJhbnNjcmlwdFNlbmRCdXR0b246YHRyYW5zY3JpcHRTZW5kYCx0aWNrZXRGb3JtRHJhd2VyOmB0aWNrZXRGb3JtRHJhd2VyYCx0aWNrZXRGb3JtU3VibWl0QnV0dG9uOmB0aWNrZXRGb3JtU3VibWl0QnV0dG9uYCx3aWRnZXRCdXR0b246YHdpZGdldEJ1dHRvbmAsd2lkZ2V0QnV0dG9uRnJhbWU6YHdpZGdldEJ1dHRvbkZyYW1lYCx3aWRnZXRCdXR0b25UZXh0OmB3aWRnZXRCdXR0b250ZXh0YCx3aWRnZXRJbWFnZVByZXZpZXc6YHdpZGdldEltYWdlUHJldmlld2Asd2lkZ2V0TWVzc2VuZ2VyOmB3aWRnZXRNZXNzZW5nZXJgLHdpZGdldE1lc3NlbmdlckZyYW1lOmB3aWRnZXRNZXNzZW5nZXJGcmFtZWAsd2lkZ2V0T25saW5lQmFkZ2U6YHdpZGdldE9ubGluZUJhZGdlYCx3aWRnZXRQb3B1cEZyYW1lOmB3aWRnZXRQb3B1cEZyYW1lYCx3aWRnZXRUeXBpbmdGcmFtZTpgd2lkZ2V0VHlwaW5nRnJhbWVgLHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2U6YHdpZGdldFVucmVhZE1lc3NhZ2VzQmFkZ2VgLHdpZGdldEhlYWRlcjpgd2lkZ2V0SGVhZGVyYH0sc2w9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb21gLGNsPWAvcG93ZXJlZC1ieS1zbWFydHN1cHBgLGxsPVtgY3NgLGBlc2AsYGZyYCxgaHVgLGBpdGAsYGRlYCxgbmxgLGBwbGBdLHVsPWBodHRwczovL3d3dy5zbWFydHN1cHAuY29tL215LWRhdGEtYW5kLWdkcHJgLGRsPU8oITEpLGZsPXJzKFUuU2Vzc2lvbklkLGBgKSxwbD0oKT0+e2xldHtwcm90b2NvbDplLGhvc3Q6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuYCR7ZT09PWBodHRwYD9gaHR0cGA6YGh0dHBzYH06Ly8ke3R9YH0sbWw9KCk9PntsZXR7bW9iaWxlU2RrOmUsdmlzaXRvcklkOnR9PVYuZ2V0T3B0aW9ucygpO2lmKGUmJnQpcmV0dXJuIHQ7dHJ5e3JldHVybiAkbygpfWNhdGNoKGUpe3JldHVybiBIKFN0cmluZyhlKSksbnVsbH19LGhsPShlLHQpPT57bGV0IG49Zm8oKS5sb2NhdGlvbi5ocmVmO3JldHVybiBlJiZ0JiYobj1gJHtufSR7bi5pbmNsdWRlcyhgP2ApP2AmYDpgP2B9c3MtYm90LXJ1bj0ke3R9YCksbn0sZ2w9KCk9PntKLmNsZWFyTWVzc2FnZXMoKSxtZCgpLEd1LmNsZWFyQXNzaWduZWRBZ2VudElkcygpLFJvKCksa28oVS5WaXNpdG9ySWQpfSxfbD1lPT57dHJ5e2VzKGUpfWNhdGNoKGUpe0goU3RyaW5nKGUpKX19LHZsPWFzeW5jKGU9ITEpPT57bGV0e2tleTp0LGxhbmc6bixpc1ByZXZpZXdNb2RlOnIscHJldmlld1dpdGhvdXRSZXNldDppLHNpdGVQbGF0Zm9ybTphLHRyaWdnZXJhYmxlOm8sX2NoYXRNYXhSZW9wZW5UaW1lOnMsYm90SWQ6Y309Vi5nZXRPcHRpb25zKCk7KHImJiFpfHxlKSYmZ2woKTtsZXQgbD1tbCgpLHU9QShsYik7cmV0dXJue2tleTp0LGlkOmwsY2xpZW50RmluZ2VycHJpbnQ6YXdhaXQgUW8oKSxpc1ByZXZpZXdNb2RlOnIsc2l0ZVBsYXRmb3JtOmEsdHJpZ2dlcmFibGU6byxfY2hhdE1heFJlb3BlblRpbWU6cyxuYW1lOnUubmFtZSxlbWFpbDp1LmVtYWlsLHBob25lOnUucGhvbmUsZ3JvdXA6dS5ncm91cCxsYW5nOnUubGFuZz8/bix2YXJpYWJsZXM6dS52YXJpYWJsZXMsd2lkZ2V0VmVyc2lvbjpgMy4wYCx2aXNpdHM6dHMoKSxpc1dpZGdldFZpc2libGU6QShSXyksaXNXaWRnZXRPcGVuOkEoWCkscGFnZVVybDpobChyLGMpLHBhZ2VUaXRsZTpmbygpLmRvY3VtZW50LnRpdGxlLGRvbWFpbjpmbygpLmxvY2F0aW9uLmhvc3RuYW1lfHxgdW5rbm93bmAscmVmZXJlcjpmbygpLmRvY3VtZW50LnJlZmVycmVyLGJ1bmRsZVZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgfX0seWw9KGUsdCk9PntsZXR7aXNQcmV2aWV3TW9kZTpufT1WLmdldE9wdGlvbnMoKTshZSYmdCE9PUEoZmwpJiYhbiYmKGdsKCksQShYKSYmWC5zZXQoITEpKSxmbC5zZXQodCl9LGJsPSgoKT0+e2xldHtzdWJzY3JpYmU6ZSxzZXQ6dH09TygpO3JldHVybntzdWJzY3JpYmU6ZSxpbml0aWFsaXplOmU9PnQoZSl9fSkoKSx4bD1gRklMRWAsU2w9MmUzLENsPWU9PmUuc3BsaXQoYC9gKVswXT09PWBpbWFnZWAsd2w9ZT0+ISFlLm1hdGNoKC9edmlkZW9cLyg/Om1wNHx3ZWJtfG9nZyl7MX0kLyk7YXN5bmMgZnVuY3Rpb24gVGwoZSl7aWYoIUZpbGVSZWFkZXIpcmV0dXJuIGpvKGBGaWxlUmVhZGVyIG5vdCBzdXBwb3J0ZWRgKSxudWxsO2xldCB0PW5ldyBGaWxlUmVhZGVyO3JldHVybiBuZXcgUHJvbWlzZShuPT57dC5vbmxvYWQ9KCk9PntpZighdC5yZXN1bHQpe24obnVsbCk7cmV0dXJufW4odHlwZW9mIHQucmVzdWx0PT1gc3RyaW5nYCYmdC5yZXN1bHQuc3RhcnRzV2l0aChgZGF0YTppbWFnZWApP3QucmVzdWx0Om51bGwpfSx0Lm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIGxvYWQgaW1hZ2UgZGF0YWApLG4obnVsbCl9LHQucmVhZEFzRGF0YVVSTChlKX0pfWFzeW5jIGZ1bmN0aW9uIEVsKGUpe3JldHVybiBuZXcgUHJvbWlzZSh0PT57bGV0IG49ZG9jdW1lbnQuY3JlYXRlRWxlbWVudChgaW1nYCk7bi5vbmxvYWQ9KCk9Pnt0KHt3aWR0aDpuLndpZHRoLGhlaWdodDpuLmhlaWdodH0pfSxuLm9uZXJyb3I9KCk9PntqbyhgRmFpbGVkIHRvIG9idGFpbiBpbWFnZSBkaW1lbnNpb25zYCksdChudWxsKX0sbi5zcmM9ZX0pfWZ1bmN0aW9uIERsKGUpe3JldHVybntob3Jpem9udGFsOmUud2lkdGg+ZS5oZWlnaHQsdmVydGljYWw6ZS5oZWlnaHQ+ZS53aWR0aH19dmFyIE9sPWBhci5hei5iZy5ici5icy5jYS5jbi5jcy5kYS5kZS5lbC5lbi5lcy5ldC5mYS5maS5maWwuZnIuaGUuaGkuaHIuaHUuaXMuaXQuamEua2EubHQubHYubWsubmwubm8ucGwucHQucm8ucnUuc2suc2wuc3Iuc3YudGgudHIudHcudWtgLnNwbGl0KGAuYCksa2w9cygoZT0+e3ZhciB0PWUmJmUuX19pbXBvcnREZWZhdWx0fHxmdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShlLGBfX2VzTW9kdWxlYCx7dmFsdWU6ITB9KSxlLkZldGNoQWRhcHRlcj12b2lkIDA7dmFyIG49dChhYygpKTtlLkZldGNoQWRhcHRlcj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMub3B0aW9ucz17fSx0aGlzLm9wdGlvbnM9ZX1hc3luYyByZXF1ZXN0KGUsdCxyLGksYSl7bGV0IG89ey4uLnRoaXMub3B0aW9ucywuLi5hfSxzPWk/YD9gK24uZGVmYXVsdC5zdHJpbmdpZnkoaSk6YGA7dHJ5e2xldCBuPWF3YWl0IGZldGNoKGAke28uYmFzZVVSTHx8YGB9JHt0fSR7c31gLHttZXRob2Q6ZSxib2R5OnI/SlNPTi5zdHJpbmdpZnkocik6bnVsbCwuLi5vfSk7cmV0dXJue3N0YXR1czpuLnN0YXR1cyxzdGF0dXNUZXh0Om4uc3RhdHVzVGV4dCxkYXRhOmF3YWl0IG4uanNvbigpLGhlYWRlcnM6Wy4uLm4uaGVhZGVycy5lbnRyaWVzKCldLnJlZHVjZSgoZSxbdCxuXSk9PihlW3RdPW4sZSkse30pfX1jYXRjaChlKXt0aHJvdyBlLmlzT3BlbkFwaUVycm9yPSEwLGV9fXdpdGhPcHRpb25zKHQpe3JldHVybiBuZXcgZSh0KX19fSkpLEFsPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5Qcm9qZWN0TmFtZT1lLkVycm9yQ29kZT12b2lkIDAsZS5FcnJvckNvZGU9e0JhZFJlcXVlc3Q6YGJhZF9yZXF1ZXN0YCxOb3RBbGxvd2VkOmBub3RfYWxsb3dlZGAsTm90Rm91bmQ6YG5vdF9mb3VuZGAsRm9yYmlkZGVuOmBmb3JiaWRkZW5gLFRvb01hbnlSZXF1ZXN0czpgdG9vX21hbnlfcmVxdWVzdHNgLFVuYXV0aG9yaXplZDpgdW5hdXRob3JpemVkYCxVbnByb2Nlc3NhYmxlOmB1bnByb2Nlc3NhYmxlYH0sZS5Qcm9qZWN0TmFtZT17V2lkZ2V0OmB3aWRnZXRgLENoYXRib3Q6YGNoYXRib3RgfX0pKSxqbD1zKChlPT57T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLGUuVHJhbnNsYXRpb25zQ2xpZW50UmF3PWUuVHJhbnNsYXRpb25zQ2xpZW50PXZvaWQgMCxlLlRyYW5zbGF0aW9uc0NsaWVudD1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmFkYXB0ZXI9ZSx0aGlzLnJhdz1uZXcgdCh0aGlzLmFkYXB0ZXIpfWdldERlZmF1bHRzKGUsdCxyKXtyZXR1cm4gdGhpcy5hZGFwdGVyLnJlcXVlc3QoYGdldGAsYC8ke2V9L3RyYW5zbGF0aW9ucy9sYW5nLyR7dH0vZGVmYXVsdHNgLG51bGwsbnVsbCxyKS50aGVuKG4pfX07dmFyIHQ9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5hZGFwdGVyPWV9Z2V0RGVmYXVsdHMoZSx0LG4pe3JldHVybiB0aGlzLmFkYXB0ZXIucmVxdWVzdChgZ2V0YCxgLyR7ZX0vdHJhbnNsYXRpb25zL2xhbmcvJHt0fS9kZWZhdWx0c2AsbnVsbCxudWxsLG4pfX07ZS5UcmFuc2xhdGlvbnNDbGllbnRSYXc9dDtmdW5jdGlvbiBuKGUpe3JldHVybiBlLmRhdGF9fSkpLE1sPXMoKGU9PntPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxgX19lc01vZHVsZWAse3ZhbHVlOiEwfSksZS5TbWFydHN1cHBUcmFuc2xhdGlvbnNDbGllbnRBcGk9dm9pZCAwO3ZhciB0PWpsKCksbj1jbGFzcyBle2NvbnN0cnVjdG9yKGUpe3RoaXMuYWRhcHRlcj1lLHRoaXMudHJhbnNsYXRpb25zPW5ldyB0LlRyYW5zbGF0aW9uc0NsaWVudChlKX13aXRoT3B0aW9ucyh0KXtyZXR1cm4gbmV3IGUodGhpcy5hZGFwdGVyLndpdGhPcHRpb25zKHQpKX19O2UuU21hcnRzdXBwVHJhbnNsYXRpb25zQ2xpZW50QXBpPW4sZS5kZWZhdWx0PW59KSksTmw9cygoZT0+e3ZhciB0PWUmJmUuX19jcmVhdGVCaW5kaW5nfHwoT2JqZWN0LmNyZWF0ZT8oZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9bik7dmFyIGk9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LG4pOyghaXx8KGBnZXRgaW4gaT8hdC5fX2VzTW9kdWxlOmkud3JpdGFibGV8fGkuY29uZmlndXJhYmxlKSkmJihpPXtlbnVtZXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0W25dfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLHIsaSl9KTooZnVuY3Rpb24oZSx0LG4scil7cj09PXZvaWQgMCYmKHI9biksZVtyXT10W25dfSkpLG49ZSYmZS5fX2V4cG9ydFN0YXJ8fGZ1bmN0aW9uKGUsbil7Zm9yKHZhciByIGluIGUpciE9PWBkZWZhdWx0YCYmIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChuLHIpJiZ0KG4sZSxyKX07T2JqZWN0LmRlZmluZVByb3BlcnR5KGUsYF9fZXNNb2R1bGVgLHt2YWx1ZTohMH0pLG4oQWwoKSxlKSxuKE1sKCksZSksbihqbCgpLGUpLGUuZGVmYXVsdD1NbCgpLlNtYXJ0c3VwcFRyYW5zbGF0aW9uc0NsaWVudEFwaX0pKSxQbD1rbCgpLEZsPU5sKCksSWw9ZT0+T2wuaW5jbHVkZXMoZSksTGw9ZT0+SWwoZSk/ZTpgZW5gLFJsPSgpPT57bGV0e2xhbmc6ZX09Vi5nZXRPcHRpb25zKCkse2xhbmc6dH09QShsYik7cmV0dXJuIExsKHQ/P2UpfTtmdW5jdGlvbiB6bCgpe3JldHVybiBuZXcgRmwuVHJhbnNsYXRpb25zQ2xpZW50KG5ldyBQbC5GZXRjaEFkYXB0ZXIoe2Jhc2VVUkw6YCR7Vi5nZXRPcHRpb25zKCkudHJhbnNsYXRpb25zQmFzZVVybH0vYXBpL3YxYH0pKX12YXIgQmw9YXN5bmMgZT0+emwoKS5nZXREZWZhdWx0cyhGbC5Qcm9qZWN0TmFtZS5XaWRnZXQsZSksVmw9KGUsdCk9PntsZXR7dHJhbnNsYXRlczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm57Li4uZSwuLi5uW3RdJiZuW3RdfX0sSGw9TyhgZW5gKSxVbD1PKHt9KSxXbD1hc3luYyBlPT57dHJ5e2xldCB0PVZsKGF3YWl0IEJsKGUpLGUpO1VsLnVwZGF0ZShuPT4oey4uLm4sW2VdOnR9KSl9Y2F0Y2h7am8oYEZldGNoIHRyYW5zbGF0aW9ucyBvZiAnJHtlfScgbGFuZ3VhZ2UgZmFpbGVkLmApfX0sR2w9YXN5bmMgZT0+e0EoVWwpW2VdfHxhd2FpdCBXbChlKSxIbC5zZXQoZSl9LEtsPWFzeW5jKCk9PntsZXQgZT1SbCgpO0hsLnNldChlKSxhd2FpdCBXbChlKX0scWw9ZT0+e2xldCB0PUEoSGwpLG49ey4uLkEoVWwpW3RdLC4uLmV9O1VsLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LEpsPShlLHQsbik9PntsZXQgcj1BKFVsKSxpPWB8JHt0fXxgO2lmKE9iamVjdC5rZXlzKHIpLmxlbmd0aD09PTApcmV0dXJuIGk7bGV0IGE9cltlXT8uW3RdfHxpO3JldHVybiBPYmplY3Qua2V5cyhuKS5tYXAoZT0+e2xldCB0PVJlZ0V4cChgeyR7ZX19YCxgZ2ApO2E9YS5yZXBsYWNlKHQsbltlXSl9KSxhfSxXPWsoW0hsLFVsXSwoW2VdKT0+KHQsbj17fSk9PkpsKGUsdCxuKSksWWw9KCgpPT57bGV0IGU9TyhbXSkse3N1YnNjcmliZTp0LHVwZGF0ZTpufT1lLHI9KCk9PkEoZSkubWFwKGU9PmUuZmlsZSksaT0odCxuKT0+KG58fEEoZSkpLmZpbmQoZT0+ZS5maWxlLm5hbWU9PT10KXx8bnVsbCxhPWU9Pih7ZmlsZTplLHByZXZpZXc6e30scHJldmlld1N0YXRlOmBub25lYCx1cGxvYWRTdGF0dXM6YG5vbmVgfSksbz1lPT57bGV0IHQ9QXJyYXkuaXNBcnJheShlKT9lOltlXTtuKGU9PmUubGVuZ3RoK3QubGVuZ3RoPjU/KGdzKGAke0EoVykoYGZpbGVVcGxvYWQudG9vTWFueUZpbGVzYCl9IDVgKSxlKTpbLi4uZSwuLi50Lm1hcChhKV0pLG0odCl9LHM9ZT0+e24odD0+dC5maWx0ZXIodD0+dC5maWxlIT09ZSkpfSxjPSgpPT5BKGUpLmxlbmd0aCxsPSgpPT5jKCk+PTUsdT0oKT0+ZS5zZXQoW10pLGQ9KCk9PntlLnVwZGF0ZShlPT4oZS5mb3JFYWNoKGU9PmUudXBsb2FkU3RhdHVzPWBpbi1wcm9ncmVzc2ApLGUpKX0sZj10PT57ZS51cGRhdGUoZT0+e2xldCBuPWkodCxlKTtyZXR1cm4gbiYmKG4udXBsb2FkU3RhdHVzPWBkb25lYCksZX0pfSxwPWU9PmkoZS5uYW1lKT8ucHJldmlld1N0YXRlIT09YG5vbmVgLG09ZT0+e2UuZm9yRWFjaChlPT52b2lkIGgoZSkpfSxoPWFzeW5jIHQ9PntpZihwKHQpKXJldHVybjtsZXQgbj1hd2FpdCBUbCh0KSxyPW4/YXdhaXQgRWwobik6bnVsbCxhPXI/RGwocik6bnVsbDtlLnVwZGF0ZShlPT57bGV0IG89aSh0Lm5hbWUsZSk7cmV0dXJuIG8/KG8ucHJldmlld1N0YXRlPWByZWFkeWAsby5wcmV2aWV3PXtkYXRhOm4sZGltZW5zaW9uczpyLG9yaWVudGF0aW9uOmF9LFsuLi5lXSk6ZX0pfTtyZXR1cm57c3Vic2NyaWJlOnQsZ2V0RmlsZXM6cixmaW5kOmksYWRkOm8scmVtb3ZlOnMsY291bnQ6Yyxpc0xpbWl0UmVhY2hlZDpsLGNsZWFyOnUsc2V0VXBsb2FkaW5nU3RhdHVzOmQsc2V0RmlsZVVwbG9hZGVkOmZ9fSkoKSxYbD0oKCk9PntsZXQgZT1bXTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7cHVzaDp0PT57ZS5wdXNoKHQpfSxleGVjdXRlQWxsOigpPT57Zm9yKDtlLmxlbmd0aD4wOyl7bGV0IHQ9ZS5zaGlmdCgpO3QmJnQoKX19fSl9KSgpLFpsPSgpPT57bGV0e3dpZGdldFYzVXJsOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke2V9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1haS1pZGVudGl0eS5wbmdgfSxRbD1lPT4oey4uLmUsYXZhdGFyVXJsOmUuYXZhdGFyVXJsfHxabCgpfSksJGw9KCgpPT57bGV0e3VwZGF0ZTplLHN1YnNjcmliZTp0LHNldDpufT1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0SWRlbnRpdGllczplPT57bihybChgaWRgLGUubWFwKFFsKSkpfSxhZGRJZGVudGl0eTp0PT57ZShlPT4oey4uLmUsW3QuaWRdOnR9KSl9LHVwZGF0ZUlkZW50aXR5Oih0LG4pPT57ZShlPT5lW3RdP3suLi5lLFt0XTp7Li4uZVt0XSwuLi5ufX06ZSl9fX0pKCksRz1ubCgpLEs9dShNYygpLDEpLGV1PWU9Pnt2byhgaW5pdCBkYXRhYCxlKSxkbC5zZXQoITApLHlsKGUuY2hhdCxlLnNlc3Npb25JZCk7bGV0IHQ9ZS52aXNpdG9yLmlkO19sKHQpLG5zKGUudmlzaXRvci52aXNpdHMpLE11LnNldFZpc2l0b3JEYXRhKGUudmlzaXRvciksaG8oe3ZpZDp0fSksYmwuaW5pdGlhbGl6ZShlLmZpbGVVcGxvYWQpLG9zLnNldChlLmJyb3dzZXIpLEJ1LnNldEFnZW50cyhlLmFjY291bnQuYWdlbnRzKSwkbC5zZXRJZGVudGl0aWVzKGUuYWNjb3VudC5ib3RJZGVudGl0aWVzKSxlLmNoYXQ/LnZpcnR1YWxBZ2VudCE9PXZvaWQgMCYmQnUuc2V0VmlydHVhbEFnZW50KGUuY2hhdD8udmlydHVhbEFnZW50KSxpbC5zZXRHcm91cHMoZS5hY2NvdW50Lmdyb3VwcyksaGQoZS5hY2NvdW50LnN0YXR1cyksZS5jaGF0JiYocXAoKSYmaWQuc2V0KGUuY2hhdC5yYXRpbmdTdWdnZXN0ZWRUYXJnZXR8fG51bGwpLGVkLnNldChlLmNoYXQuc3RhdHVzKSxkZChlLmNoYXQuaXNDbG9zZWQpLHJkLnNldChlLmNoYXQudW5yZWFkSW5mby5sYXN0UmVhZEF0KSxKLnNldE1lc3NhZ2VzKGUuY2hhdC5tZXNzYWdlcy5maWx0ZXIoZT0+IVpmKGUpKSksR3Uuc2V0QXNzaWduZWRBZ2VudElkcyhlLmNoYXQuYXNzaWduZWRJZHM/P1tdKSxlLmNoYXQud2lkZ2V0T3B0aW9ucyYmWHUudXBkYXRlR2VuZXJhbE9wdGlvbnMoZS5jaGF0LndpZGdldE9wdGlvbnMpKSxDXy5zZXQoITApLHouZW1pdChgd2lkZ2V0SW5pdGAsITApLFhsLmV4ZWN1dGVBbGwoKX0sdHU9ZT0+e2NvbnNvbGUuZXJyb3IoZSl9LG51PSgpPT57ZGwuc2V0KCExKX0scnU9KHtjaGF0SWQ6ZX0pPT57TXAuc2V0KCExKSxhZC5zZXQoZSksZWQuc2V0KEsuQ2hhdFN0YXR1cy5PcGVuKSxYdS5zZXRNZXNzYWdlT3B0aW9ucyh7ZGlzYWJsZUF0dGFjaG1lbnRzOiExfSl9LGl1PSgpPT57ZWQuc2V0KEsuQ2hhdFN0YXR1cy5TZXJ2ZWQpLGRkKCExKX0sYXU9KHttZXNzYWdlOmV9KT0+e2xldHtjbG9zZVR5cGU6dCxhZ2VudElkOm59PWUuY29udGVudC5kYXRhOyh0PT09YGFnZW50X2Nsb3NlYHx8dD09PWBib3RfY2xvc2VgKSYmKEd1LnNldEFzc2lnbmVkQWdlbnRJZHMoW10pLGVkLnNldChLLkNoYXRTdGF0dXMuQ2xvc2VkKSxKLmFkZE1lc3NhZ2UoZSksei5lbWl0KGBjaGF0Q2xvc2VkYCxlKSx0PT09YGFnZW50X2Nsb3NlYCYmUW0obj9BKFZ1KG4pKT8uZnVsbG5hbWU6dm9pZCAwKSl9LG91PSh7bWVzc2FnZTplfSk9PntxcCgpJiZZcCh4cyksZGQoITAse2J5VmlzaXRvcjohMH0pLEouYWRkTWVzc2FnZShlKSx6LmVtaXQoYGNoYXRWaXNpdG9yQ2xvc2VkYCxlKSxabSgpfSxzdT0oe2NoYW5nZXM6ZX0pPT57ZS53aWRnZXRPcHRpb25zJiZYdS51cGRhdGVHZW5lcmFsT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLGUuaXNDbG9zZWQhPT12b2lkIDAmJmRkKGUuaXNDbG9zZWQpLGUudmlydHVhbEFnZW50IT09dm9pZCAwJiZCdS5zZXRWaXJ0dWFsQWdlbnQoZS52aXJ0dWFsQWdlbnQpfSxjdT1hc3luYyh7bWVzc2FnZTplfSk9PntpZihaZihlKSlyZXR1cm47bGV0IHQ9QSh6XykmJllmKGUpOyFBKFgpJiZRZihlKSYmIXQ/QXAoZSk6YXdhaXQgSi5hZGRNZXNzYWdlKGUpLF9kKCksZS53aWRnZXRPcHRpb25zJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpLHQmJlVfKCksei5lbWl0KGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxsdT1lPT57Y3UoZSl9LHV1PSh7bWVzc2FnZUlkOmUsZGVsZXRlZEF0OnR9KT0+e0EoSilbZV0/LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNoYXRSZXNvbHZlP0ouZGVsZXRlTWVzc2FnZShlKTpKLm1hcmtNZXNzYWdlQXNEZWxldGVkKGUsdCl9LGR1PSh7bWVzc2FnZTplfSk9PntKLnJlcGxhY2VNZXNzYWdlKGUpLGUud2lkZ2V0T3B0aW9ucyYmZS5pZD09PUEoQnApJiZYdS5zZXRNZXNzYWdlT3B0aW9ucyhlLndpZGdldE9wdGlvbnMpfSxmdT0oe21lc3NhZ2U6ZSxhZ2VudDp0fSk9PntHdS5hZGRBc3NpZ25lZEFnZW50SWQoZS5jb250ZW50LmRhdGEuYWdlbnRJZCksSi5hZGRNZXNzYWdlKGUpLHouZW1pdChgYWdlbnRKb2luZWRgLHQpfSxwdT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLmFnZW50SWQpLEouYWRkTWVzc2FnZShlKX0sbXU9KHttZXNzYWdlOmV9KT0+e0d1LmFkZEFzc2lnbmVkQWdlbnRJZChlLmNvbnRlbnQuZGF0YS5hc3NpZ25lZCksSi5hZGRNZXNzYWdlKGUpfSxodT0oe21lc3NhZ2U6ZX0pPT57R3UucmVtb3ZlQXNzaWduZWRBZ2VudElkKGUuY29udGVudC5kYXRhLnVuYXNzaWduZWQpLEouYWRkTWVzc2FnZShlKX0sZ3U9ZT0+eyFlLnR5cGluZy5pcyYmQShNcCl8fG5kLnNldChlLnR5cGluZy5pcyl9LF91PWU9PntyZC5zZXQoZS5sYXN0UmVhZEF0KX0sdnU9KHttZXNzYWdlOmUscmF0aW5nOnR9KT0+e0oudXBkYXRlTWVzc2FnZVJhdGluZyhlKSx6LmVtaXQoYGNoYXRSYXRlZGAsdCl9LHl1PWU9Pnt6LmVtaXQoYHRyYW5zY3JpcHRQZGZgLGUpfSxidT0oe2lkOmUsY2hhbmdlczp0fSk9PntCdS51cGRhdGVBZ2VudChlLHQpfSx4dT0oe2lkOmUsc3RhdHVzOnR9KT0+e0J1LnVwZGF0ZUFnZW50KGUse3N0YXR1czp0fSl9LFN1PSh7c3RhdHVzOmV9KT0+e2hkKGUpfSxDdT1lPT57TXUudXBkYXRlVmlzaXRvckRhdGEoZSl9LHd1PWU9Pnt6LmVtaXQoYGNvbnRhY3RBY3F1aXJlZGAsZSl9LFR1PWU9PnsocXAoKXx8SnAoKSkmJmlkLnNldChlLnJhdGluZ1N1Z2dlc3RlZFRhcmdldCl9LEV1PSgpPT57QShpZCkmJmlkLnNldChudWxsKX0sRHU9KHtpZDplLGlzQWN0aXZlOnR9KT0+eyRsLnVwZGF0ZUlkZW50aXR5KGUse2lzQWN0aXZlOnR9KX0sT3U9RGMoKSxrdT1hc3luYyBlPT57bGV0IHQ9YXdhaXQgVi5hd2FpdE9wdGlvbnMoKTtyZXR1cm4gbmV3IEsuV2Vic29ja2V0VmlzaXRvckNsaWVudCh7ZGF0YTplLGNvbm5lY3Rpb246e3VybDpwbCgpLHNvY2tldDp0Lm1vY2s/bmV3IE91LlNvY2tldE1vY2sodC5tb2NrKTp2b2lkIDAsYmFsYW5jZXJVcmw6dC5iYWxhbmNlclVybCxvcHRpb25zOntwYXRoOmAvc29ja2V0YCxhdXRvQ29ubmVjdDohMSxyZWNvbm5lY3Rpb246ITB9fX0pfSxBdT0oKT0+e2xldCBlPW51bGwsdD0oKT0+ISFlLG49KCk9PntpZighZSl0aHJvdyBFcnJvcihgVmlzaXRvciBjbGllbnQgaXMgbm90IGluaXRpYWxpemVkYCk7cmV0dXJuIGV9LHI9YXN5bmMgdD0+e2U9YXdhaXQga3UoYXdhaXQgdmwodCkpLGUmJihqdShlKSxhd2FpdCBlLmNvbm5lY3QoKS5jYXRjaChlPT57am8oYEZhaWxlZCBjb25uZWN0IHRvIHNlcnZlci5gLGUpfSkpfTtyZXR1cm4gT2JqZWN0LmZyZWV6ZSh7Z2V0Q2xpZW50Om4saW5pdENsaWVudDpyLHJlbG9hZENsaWVudDphc3luYyh0LG4pPT57YXdhaXQgZT8uZGlzY29ubmVjdCgpLHQmJlYudXBkYXRlT3B0aW9ucyh7bW9jazp0fSksYXdhaXQgcihuKX0saXNJbml0aWFsaXplZDp0fSl9LGp1PWU9PntlLm9uKGBpbml0aWFsaXplZGAsZXUpLGUub24oYGVycm9yYCx0dSksZS5vbihgZGlzY29ubmVjdGAsbnUpLGUub24oYGNoYXQub3BlbmVkYCxydSksZS5vbihgY2hhdC5zZXJ2ZWRgLGl1KSxlLm9uKGBjaGF0LmNsb3NlZGAsYXUpLGUub24oYGNoYXQudmlzaXRvcl9jbG9zZWRgLG91KSxlLm9uKGBjaGF0LnVwZGF0ZWRgLHN1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfcmVjZWl2ZWRgLGx1KSxlLm9uKGBjaGF0Lm1lc3NhZ2VfdXBkYXRlZGAsZHUpLGUub24oYGNoYXQubWVzc2FnZV9kZWxldGVkYCx1dSksZS5vbihgY2hhdC5hZ2VudF9qb2luZWRgLGZ1KSxlLm9uKGBjaGF0LmFnZW50X2xlZnRgLHB1KSxlLm9uKGBjaGF0LmFnZW50X2Fzc2lnbmVkYCxtdSksZS5vbihgY2hhdC5hZ2VudF91bmFzc2lnbmVkYCxodSksZS5vbihgY2hhdC5hZ2VudF90eXBpbmdgLGd1KSxlLm9uKGBjaGF0LmNvbnRhY3RfcmVhZGAsX3UpLGUub24oYGNoYXQucmF0ZWRgLHZ1KSxlLm9uKGBjaGF0LnJhdGluZ19zdWdnZXN0ZWRgLFR1KSxlLm9uKGBjaGF0LnJhdGluZ19jYW5jZWxsZWRgLEV1KSxlLm9uKGBjaGF0LnRyYW5zY3JpcHRfcGRmYCx5dSksZS5vbihgYWdlbnQudXBkYXRlZGAsYnUpLGUub24oYGFnZW50LnN0YXR1c191cGRhdGVkYCx4dSksZS5vbihgYWNjb3VudC51cGRhdGVkYCxTdSksZS5vbihgdmlzaXRvci51cGRhdGVkYCxDdSksZS5vbihgY29udGFjdC5hY3F1aXJlZGAsd3UpLGUub24oYGlkZW50aXR5LnN0YXR1c191cGRhdGVkYCxEdSl9LHE9QXUoKSxNdT0oKCk9PntsZXQgZT1PKG51bGwpLHtzdWJzY3JpYmU6dCxzZXQ6bix1cGRhdGU6cn09ZSxpPWU9PntuKGUpfSxhPWU9PntyKHQ9PnQ/ey4uLnQsLi4uZX06bnVsbCl9LG89KGUsdCk9Pnt0cnl7cS5nZXRDbGllbnQoKS51cGRhdGUoe1tlXTp0fSl9Y2F0Y2godCl7am8oYFVwZGF0ZSBvZiB2aXNpdG9yIHByb3BlcnR5ICcke2V9JyBmYWlsZWQuYCxTdHJpbmcodCkpfX07cmV0dXJue3N1YnNjcmliZTp0LHNldFZpc2l0b3JEYXRhOmksdXBkYXRlVmlzaXRvckRhdGE6YSx1cGRhdGVWaXNpdG9yUHJvcGVydHk6KGUsdCk9PntpZighQShDXykpe3ViKGUsdCk7cmV0dXJufWEoe1tlXTp0fSksbyhlLHQpfSx1cGRhdGVWaXNpdG9yVmFyaWFibGVzOnQ9PntpZighQShDXykpe3ViKGB2YXJpYWJsZXNgLHQpO3JldHVybn1sZXQgbj1BKGUpO2lmKCFuKXJldHVybjtsZXQgcj1uLnZhcmlhYmxlczthKHt2YXJpYWJsZXM6ey4uLnIsLi4udH19KTtsZXQgaT17fTtPYmplY3Qua2V5cyh0KS5mb3JFYWNoKGU9Pnt0W2VdIT09cltlXSYmKGk9ey4uLmksW2VdOnRbZV19KX0pLE9iamVjdC5rZXlzKGkpLmxlbmd0aCE9PTAmJm8oYHZhcmlhYmxlc2AsaSl9LHVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YTp0PT57aWYoIUEoQ18pKXt1YihgY29udGFjdERhdGFgLHtwcm9wZXJ0aWVzOnR9KTtyZXR1cm59bGV0IG49QShlKTtpZighbilyZXR1cm47bGV0IHI9bj8uY29udGFjdERhdGE/LnByb3BlcnRpZXM7YSh7dmFyaWFibGVzOnsuLi5yLC4uLnR9fSk7bGV0IGk9e307T2JqZWN0LmtleXModCkuZm9yRWFjaChlPT57KCFyfHx0W2VdIT09cltlXSkmJihpPXsuLi5pLFtlXTp0W2VdfSl9KSxPYmplY3Qua2V5cyhpKS5sZW5ndGghPT0wJiZvKGBjb250YWN0RGF0YWAse3Byb3BlcnRpZXM6dH0pfX19KSgpLE51PShlLHQpPT5lLmhhc093blByb3BlcnR5KHQpLFB1PWU9PnR5cGVvZiBlPT1gYm9vbGVhbmAsRnU9ZT0+dHlwZW9mIGU9PWBudW1iZXJgLEl1PWU9PnR5cGVvZiBlPT1gb2JqZWN0YCYmISFlJiYhQXJyYXkuaXNBcnJheShlKSxMdT1lPT50eXBlb2YgZT09YHN0cmluZ2B8fGUgaW5zdGFuY2VvZiBTdHJpbmcsUnU9ZT0+THUoZSl8fEZ1KGUpfHxQdShlKSx6dT1lPT57bGV0IHQ9e307cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+e2xldCByPWVbbl07UnUocik/dFtuXT1yOkl1KHIpJiZOdShyLGB2YWx1ZWApJiZSdShyLnZhbHVlKSYmKHRbbl09ci52YWx1ZSl9KSx0fSxCdT0oKCk9PntsZXR7dXBkYXRlOmUsc3Vic2NyaWJlOnQsc2V0Om59PU8oe30pO3JldHVybntzdWJzY3JpYmU6dCxzZXRBZ2VudHM6ZT0+e24ocmwoYGlkYCxlKSl9LGFkZEFnZW50OnQ9PntlKGU9Pih7Li4uZSxbdC5pZF06dH0pKX0sdXBkYXRlQWdlbnQ6KHQsbik9PntlKGU9PmVbdF0/ey4uLmUsW3RdOnsuLi5lW3RdLC4uLm59fTplKX0sc2V0VmlydHVhbEFnZW50OnQ9PntsZXR7ZGVzY3JpcHRpb246bixhdmF0YXI6cixuYW1lOml9PXQsYT17fTtuJiYoYS5kZXNjcmlwdGlvbj1uKSxyJiYoYS5hdmF0YXI9ciksaSYmKGEuZnVsbG5hbWU9aSksZShlPT4oT2JqZWN0LmtleXMoZSkuZm9yRWFjaCh0PT57ZVt0XT17Li4uZVt0XSwuLi5hfX0pLGUpKX19fSkoKSxWdT1lPT5rKFtCdV0sKFt0XSk9PnRbZV0/P251bGwpLEh1PWsoW2soW0J1XSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+IWUuZGlzYWJsZWQpKSxNdV0sKFtlLHRdKT0+e2xldCBuPXQ/Lmdyb3VwO3JldHVybiFufHxuPT09YGRlZmF1bHRgP2U6ZS5maWx0ZXIoZT0+ZS5ncm91cHMubGVuZ3RoPT09MHx8ZS5ncm91cHMuaW5jbHVkZXMobikpfSksVXU9ayhbSHVdLChbZV0pPT5lLmZpbHRlcihlPT5lLnN0YXR1cz09PUsuQWdlbnRTdGF0dXMuT25saW5lKSksV3U9ZT0+e2lmKGUpcmV0dXJuYCR7ZX0/c2l6ZT04MGA7bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvZGVmYXVsdC1hdmF0YXIucG5nYH0sR3U9KCgpPT57bGV0e3N1YnNjcmliZTplLHNldDp0LHVwZGF0ZTpufT1PKFtdKTtyZXR1cm57c3Vic2NyaWJlOmUsc2V0QXNzaWduZWRBZ2VudElkczplPT57dChlKX0sYWRkQXNzaWduZWRBZ2VudElkOmU9PntuKHQ9PlsuLi5uZXcgU2V0KFsuLi50LGVdKV0pfSxyZW1vdmVBc3NpZ25lZEFnZW50SWQ6ZT0+e24odD0+dC5maWx0ZXIodD0+dCE9PWUpKX0sY2xlYXJBc3NpZ25lZEFnZW50SWRzOigpPT57dChbXSl9fX0pKCksS3U9ayhbR3UsQnVdLChbZSx0XSk9PmUubWFwKGU9PnRbZV0pLmZpbHRlcihCb29sZWFuKSkscXU9ayhbS3VdLChbZV0pPT5lLmxlbmd0aD4wKSxKdT1rKFtLdV0sKFtlXSk9PmUuZmlsdGVyKGU9PiFlLmRpc2FibGVkKSksWXU9ayhbS3VdLChbZV0pPT5lLnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLFh1PSgoKT0+e2xldCBlPU8oe2Rpc2FibGVBdHRhY2htZW50czohMSxkaXNhYmxlQXV0aGVudGljYXRpb246ITEsZGlzYWJsZUlucHV0OiExfSksdD1PKHt9KTtyZXR1cm57c3Vic2NyaWJlOmsoW2UsdF0sKFtlLHRdKT0+KHsuLi5lLC4uLnR9KSkuc3Vic2NyaWJlLHVwZGF0ZUdlbmVyYWxPcHRpb25zOnQ9PntlLnVwZGF0ZShlPT4oey4uLmUsLi4udH0pKX0sc2V0TWVzc2FnZU9wdGlvbnM6ZT0+e3Quc2V0KGUpfX19KSgpLFp1PWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXR0YWNobWVudHMpLFF1PWZ1bmN0aW9uKGUpe3JldHVybiBlW2UuT3Blbj0wXT1gT3BlbmAsZVtlLkNsb3NlZD0xXT1gQ2xvc2VkYCxlW2UuQ2xvc2VkQnlWaXNpdG9yPTJdPWBDbG9zZWRCeVZpc2l0b3JgLGV9KHt9KSwkdT1PKEsuQWNjb3VudFN0YXR1cy5PZmZsaW5lKSxlZD1PKG51bGwpLHRkPU8oUXUuT3BlbiksbmQ9TyghMSkscmQ9TyhudWxsKSxpZD1PKG51bGwpLGFkPU8oYGApLG9kPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5QZW5kaW5nKTtrKFtlZF0sKFtlXSk9PmUhPT1udWxsKTt2YXIgc2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLlNlcnZlZCksY2Q9ayhbZWRdLChbZV0pPT5lPT09Sy5DaGF0U3RhdHVzLk9wZW4pLGxkPWsoW2VkXSwoW2VdKT0+ZT09PUsuQ2hhdFN0YXR1cy5DbG9zZWQpLHVkPWsoW3NkLHRkXSwoW2UsdF0pPT5lJiZ0PT09UXUuT3BlbiksZGQ9KGUse2J5VmlzaXRvcjp0PSExfT17fSk9PntlP3RkLnNldCh0P1F1LkNsb3NlZEJ5VmlzaXRvcjpRdS5DbG9zZWQpOnRkLnNldChRdS5PcGVuKX0sZmQ9ayhbJHUsSnVdLChbZSx0XSk9PnQubGVuZ3RoPT09MD9lPT09Sy5BY2NvdW50U3RhdHVzLk9ubGluZTp0LnNvbWUoZT0+ZS5zdGF0dXM9PT1LLkFnZW50U3RhdHVzLk9ubGluZSkpLHBkPWsoW1h1XSwoW2VdKT0+ZS5kaXNhYmxlQXV0aGVudGljYXRpb24pLG1kPSgpPT57bmQuc2V0KCExKSxlZC5zZXQobnVsbCksZGQoITEpLHJkLnNldChudWxsKX0saGQ9ZT0+e2U9PT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZVdpdGhBST8kdS5zZXQoSy5BY2NvdW50U3RhdHVzLk9ubGluZSk6JHUuc2V0KGUpfSxnZD0oKT0+e3JkLnNldChuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkpLHEuZ2V0Q2xpZW50KCkuY2hhdFJlYWQoKX0sX2Q9KCk9PntsZXQgZT1wbygpLnZpc2liaWxpdHlTdGF0ZT09PWB2aXNpYmxlYDshQShMcCl8fCFBKFgpfHwhZXx8IUEoTl8pfHxnZCgpfSx2ZD1lPT4oey4uLlNzLGNoYXRJZDpBKGFkKSxjcmVhdGVkQXQ6bmV3IERhdGUoKS50b0lTT1N0cmluZygpLGNvbnRlbnQ6ey4uLlNzLmNvbnRlbnQsZGF0YTp7dGFyZ2V0OmV9fX0pLHlkPSgpPT57ZGQoITAse2J5VmlzaXRvcjohMH0pLHEuZ2V0Q2xpZW50KCkuY2hhdENsb3NlKCksVmMoKSxxcCgpfHxXXygpfSxiZD1hc3luYyBlPT57YXdhaXQgSi5hZGRNZXNzYWdlKHZkKGUpKX0seGQ9KCk9PntKLmRlbGV0ZU1lc3NhZ2UoeHMpfTtmdW5jdGlvbiBTZChlKXtyZXR1cm4gZS5sZW5ndGg9PT0wP251bGw6ZVtlLmxlbmd0aC0xXX12YXIgQ2Q9ZT0+ZS5zbGljZSgoZS5sYXN0SW5kZXhPZihgLmApLTE+Pj4wKSsyKS50b0xvd2VyQ2FzZSgpLHdkPWU9PntsZXQgdD1lLG49MCxyPVtgQmAsYEtCYCxgTUJgLGBHQmBdO2Zvcig7dD49MTAyNCYmbjxyLmxlbmd0aC0xOyl0Lz0xMDI0LG4rKztyZXR1cm57c2l6ZTpNYXRoLmZsb29yKHQpLHVuaXQ6cltuXX19LFRkPWU9PntsZXQgdD1TZChlLnNwbGl0KGAuYCkpO3JldHVybiB0P3QudG9VcHBlckNhc2UoKTp4bH0sRWQ9KGUsdCk9PmAke2V9P25hbWU9JHt0fWAsRGQ9YXN5bmMoZSx0KT0+e2xldCBuPXEuZ2V0Q2xpZW50KCkscj1bXTtmb3IobGV0e2ZpbGU6aX1vZiBlKXtsZXQgZT1hd2FpdCBuLmNoYXRVcGxvYWRJbml0KCksYT1uZXcgRm9ybURhdGE7YS5hcHBlbmQoYGZpbGVgLGksaS5uYW1lKTt0cnl7aWYoIShhd2FpdCBmZXRjaChlLnVybCx7bWV0aG9kOmBwb3N0YCxib2R5OmF9KSkub2spdGhyb3cgRXJyb3IoYFVwbG9hZCBmYWlsZWRgKTtyLnB1c2goZS50b2tlbil9Y2F0Y2h7am8oYEZpbGUgWyR7aS5uYW1lfV0gdXBsb2FkIGZhaWxlZGApLGdzKEEoVykoYGZpbGVVcGxvYWQuZmlsZXNXZXJlbnRQcm9jZXNzZWRgKSl9ZmluYWxseXt0KGkpfX1yZXR1cm4gcn0sT2Q9YXN5bmMgZT0+e2xldCB0PXEuZ2V0Q2xpZW50KCk7dHJ5e2F3YWl0IHQuY2hhdFVwbG9hZEZpbmlzaChlKX1jYXRjaHtqbyhgRmFpbGVkIHRvIGZpbmlzaCBmaWxlIHVwbG9hZCBmb3IgJHtlfWApfX0sa2Q9MWUzLEFkPTZlNCxqZD0zNmU1LE1kPTg2NGU1LE5kPTI2MjhlNixQZD0zMTUzNmU2LEZkPWU9Pk1hdGguZmxvb3IoZS9BZCkqQWQsSWQ9KGUsdCk9PkZkKG5ldyBEYXRlKGUpLmdldFRpbWUoKSk9PT1GZChuZXcgRGF0ZSh0KS5nZXRUaW1lKCkpLExkPShlLHQpPT57bGV0IG49bmV3IERhdGUoZSkscj1uZXcgRGF0ZSh0KTtyZXR1cm4gbi5nZXREYXRlKCk9PT1yLmdldERhdGUoKSYmbi5nZXRNb250aCgpPT09ci5nZXRNb250aCgpJiZuLmdldEZ1bGxZZWFyKCk9PT1yLmdldEZ1bGxZZWFyKCl9LFJkPShlLHQpPT5lLmdldFRpbWUoKS10LmdldFRpbWUoKSx6ZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse2hvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxCZD1uZXcgSW50bC5EYXRlVGltZUZvcm1hdCh2b2lkIDAse3llYXI6YG51bWVyaWNgLG1vbnRoOmBudW1lcmljYCxkYXk6YG51bWVyaWNgLGhvdXI6YG51bWVyaWNgLG1pbnV0ZTpgbnVtZXJpY2B9KSxWZD1lPT5MZChuZXcgRGF0ZSxlKT96ZDpCZCxIZD0oKT0+dHlwZW9mIEludGw8YHVgJiZgUmVsYXRpdmVUaW1lRm9ybWF0YGluIEludGwsVWQ9ZT0+SGQoKT9uZXcgSW50bC5SZWxhdGl2ZVRpbWVGb3JtYXQoZSx7bnVtZXJpYzpgYXV0b2B9KTpudWxsLFdkPVt7dW5pdDpgeWVhcmAsYW1vdW50OlBkfSx7dW5pdDpgbW9udGhgLGFtb3VudDpOZH0se3VuaXQ6YGRheWAsYW1vdW50Ok1kfSx7dW5pdDpgaG91cmAsYW1vdW50OmpkfSx7dW5pdDpgbWludXRlYCxhbW91bnQ6QWR9LHt1bml0OmBzZWNvbmRgLGFtb3VudDprZH1dLEdkPShlLHQpPT57bGV0IG49VWQodCk7aWYoIW4pcmV0dXJuIEgoYFJlbGF0aXZlIHRpbWUgZm9ybWF0IG5vdCBzdXBwb3J0ZWRgKSxgYDtmb3IobGV0e3VuaXQ6dCxhbW91bnQ6cn1vZiBXZCl7aWYodD09PWBzZWNvbmRgKXJldHVybiBuLmZvcm1hdCgwLGBzZWNvbmRgKTtpZihNYXRoLmFicyhlKT5yKXJldHVybiBuLmZvcm1hdChNYXRoLnJvdW5kKGUvciksdCl9cmV0dXJuYGB9LEtkPShlLHQ9MzAwKT0+e2xldCBuO3JldHVybiguLi5yKT0+e258fD0oZSguLi5yKSxzZXRUaW1lb3V0KCgpPT5uPW51bGwsdCkpfX0scWQ9L1tcMC1cdUQ3RkZcdUUwMDAtXHVGRkZGXXxbXHVEODAwLVx1REJGRl1bXHVEQzAwLVx1REZGRl18W1x1RDgwMC1cdURCRkZdKD8hW1x1REMwMC1cdURGRkZdKXwoPzpbXlx1RDgwMC1cdURCRkZdfF4pW1x1REMwMC1cdURGRkZdLyxKZD0vW1wwLVx4MUZceDdGLVx4OUZdLyxZZD0vWyEtIyUtXCosLVwvOjtcP0BcWy1cXV9ce1x9XHhBMVx4QTdceEFCXHhCNlx4QjdceEJCXHhCRlx1MDM3RVx1MDM4N1x1MDU1QS1cdTA1NUZcdTA1ODlcdTA1OEFcdTA1QkVcdTA1QzBcdTA1QzNcdTA1QzZcdTA1RjNcdTA1RjRcdTA2MDlcdTA2MEFcdTA2MENcdTA2MERcdTA2MUJcdTA2MUQtXHUwNjFGXHUwNjZBLVx1MDY2RFx1MDZENFx1MDcwMC1cdTA3MERcdTA3RjctXHUwN0Y5XHUwODMwLVx1MDgzRVx1MDg1RVx1MDk2NFx1MDk2NVx1MDk3MFx1MDlGRFx1MEE3Nlx1MEFGMFx1MEM3N1x1MEM4NFx1MERGNFx1MEU0Rlx1MEU1QVx1MEU1Qlx1MEYwNC1cdTBGMTJcdTBGMTRcdTBGM0EtXHUwRjNEXHUwRjg1XHUwRkQwLVx1MEZENFx1MEZEOVx1MEZEQVx1MTA0QS1cdTEwNEZcdTEwRkJcdTEzNjAtXHUxMzY4XHUxNDAwXHUxNjZFXHUxNjlCXHUxNjlDXHUxNkVCLVx1MTZFRFx1MTczNVx1MTczNlx1MTdENC1cdTE3RDZcdTE3RDgtXHUxN0RBXHUxODAwLVx1MTgwQVx1MTk0NFx1MTk0NVx1MUExRVx1MUExRlx1MUFBMC1cdTFBQTZcdTFBQTgtXHUxQUFEXHUxQjVBLVx1MUI2MFx1MUI3RFx1MUI3RVx1MUJGQy1cdTFCRkZcdTFDM0ItXHUxQzNGXHUxQzdFXHUxQzdGXHUxQ0MwLVx1MUNDN1x1MUNEM1x1MjAxMC1cdTIwMjdcdTIwMzAtXHUyMDQzXHUyMDQ1LVx1MjA1MVx1MjA1My1cdTIwNUVcdTIwN0RcdTIwN0VcdTIwOERcdTIwOEVcdTIzMDgtXHUyMzBCXHUyMzI5XHUyMzJBXHUyNzY4LVx1Mjc3NVx1MjdDNVx1MjdDNlx1MjdFNi1cdTI3RUZcdTI5ODMtXHUyOTk4XHUyOUQ4LVx1MjlEQlx1MjlGQ1x1MjlGRFx1MkNGOS1cdTJDRkNcdTJDRkVcdTJDRkZcdTJENzBcdTJFMDAtXHUyRTJFXHUyRTMwLVx1MkU0Rlx1MkU1Mi1cdTJFNURcdTMwMDEtXHUzMDAzXHUzMDA4LVx1MzAxMVx1MzAxNC1cdTMwMUZcdTMwMzBcdTMwM0RcdTMwQTBcdTMwRkJcdUE0RkVcdUE0RkZcdUE2MEQtXHVBNjBGXHVBNjczXHVBNjdFXHVBNkYyLVx1QTZGN1x1QTg3NC1cdUE4NzdcdUE4Q0VcdUE4Q0ZcdUE4RjgtXHVBOEZBXHVBOEZDXHVBOTJFXHVBOTJGXHVBOTVGXHVBOUMxLVx1QTlDRFx1QTlERVx1QTlERlx1QUE1Qy1cdUFBNUZcdUFBREVcdUFBREZcdUFBRjBcdUFBRjFcdUFCRUJcdUZEM0VcdUZEM0ZcdUZFMTAtXHVGRTE5XHVGRTMwLVx1RkU1Mlx1RkU1NC1cdUZFNjFcdUZFNjNcdUZFNjhcdUZFNkFcdUZFNkJcdUZGMDEtXHVGRjAzXHVGRjA1LVx1RkYwQVx1RkYwQy1cdUZGMEZcdUZGMUFcdUZGMUJcdUZGMUZcdUZGMjBcdUZGM0ItXHVGRjNEXHVGRjNGXHVGRjVCXHVGRjVEXHVGRjVGLVx1RkY2NV18XHVEODAwW1x1REQwMC1cdUREMDJcdURGOUZcdURGRDBdfFx1RDgwMVx1REQ2RnxcdUQ4MDJbXHVEQzU3XHVERDFGXHVERDNGXHVERTUwLVx1REU1OFx1REU3Rlx1REVGMC1cdURFRjZcdURGMzktXHVERjNGXHVERjk5LVx1REY5Q118XHVEODAzW1x1REVBRFx1REY1NS1cdURGNTlcdURGODYtXHVERjg5XXxcdUQ4MDRbXHVEQzQ3LVx1REM0RFx1RENCQlx1RENCQ1x1RENCRS1cdURDQzFcdURENDAtXHVERDQzXHVERDc0XHVERDc1XHVEREM1LVx1RERDOFx1RERDRFx1REREQlx1RERERC1cdUREREZcdURFMzgtXHVERTNEXHVERUE5XXxcdUQ4MDVbXHVEQzRCLVx1REM0Rlx1REM1QVx1REM1Qlx1REM1RFx1RENDNlx1RERDMS1cdURERDdcdURFNDEtXHVERTQzXHVERTYwLVx1REU2Q1x1REVCOVx1REYzQy1cdURGM0VdfFx1RDgwNltcdURDM0JcdURENDQtXHVERDQ2XHVEREUyXHVERTNGLVx1REU0Nlx1REU5QS1cdURFOUNcdURFOUUtXHVERUEyXHVERjAwLVx1REYwOV18XHVEODA3W1x1REM0MS1cdURDNDVcdURDNzBcdURDNzFcdURFRjdcdURFRjhcdURGNDMtXHVERjRGXHVERkZGXXxcdUQ4MDlbXHVEQzcwLVx1REM3NF18XHVEODBCW1x1REZGMVx1REZGMl18XHVEODFBW1x1REU2RVx1REU2Rlx1REVGNVx1REYzNy1cdURGM0JcdURGNDRdfFx1RDgxQltcdURFOTctXHVERTlBXHVERkUyXXxcdUQ4MkZcdURDOUZ8XHVEODM2W1x1REU4Ny1cdURFOEJdfFx1RDgzQVtcdURENUVcdURENUZdLyxYZD0vWyBceEEwXHUxNjgwXHUyMDAwLVx1MjAwQVx1MjAyOFx1MjAyOVx1MjAyRlx1MjA1Rlx1MzAwMF0vO2Z1bmN0aW9uIFpkKGUpe2xldCB0PXt9O2V8fD17fSx0LnNyY19Bbnk9cWQuc291cmNlLHQuc3JjX0NjPUpkLnNvdXJjZSx0LnNyY19aPVhkLnNvdXJjZSx0LnNyY19QPVlkLnNvdXJjZSx0LnNyY19aUENjPVt0LnNyY19aLHQuc3JjX1AsdC5zcmNfQ2NdLmpvaW4oYHxgKSx0LnNyY19aQ2M9W3Quc3JjX1osdC5zcmNfQ2NdLmpvaW4oYHxgKTtsZXQgbj1gWz48772cXWA7cmV0dXJuIHQuc3JjX3BzZXVkb19sZXR0ZXI9YCg/Oig/IWArbitgfGArdC5zcmNfWlBDYytgKWArdC5zcmNfQW55K2ApYCx0LnNyY19pcDQ9YCg/OigyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pXFwuKXszfSgyNVswLTVdfDJbMC00XVswLTldfFswMV0/WzAtOV1bMC05XT8pYCx0LnNyY19hdXRoPWAoPzooPzooPyFgK3Quc3JjX1pDYytgfFtAL1xcW1xcXSgpXSkuKStAKT9gLHQuc3JjX3BvcnQ9YCg/OjooPzo2KD86WzAtNF1cXGR7M318NSg/OlswLTRdXFxkezJ9fDUoPzpbMC0yXVxcZHwzWzAtNV0pKSl8WzEtNV0/XFxkezEsNH0pKT9gLHQuc3JjX2hvc3RfdGVybWluYXRvcj1gKD89JHxgK24rYHxgK3Quc3JjX1pQQ2MrYCkoPyFgKyhlW2AtLS1gXT9gLSg/IS0tKXxgOmAtfGApK2BffDpcXGR8XFwuLXxcXC4oPyEkfGArdC5zcmNfWlBDYytgKSlgLHQuc3JjX3BhdGg9YCg/OlsvPyNdKD86KD8hYCt0LnNyY19aQ2MrYHxbPjzvvZxdfFsoKVtcXF17fS4sIic/IVxcLTtdKS58XFxbKD86KD8hYCt0LnNyY19aQ2MrYHxcXF0pLikqXFxdfFxcKCg/Oig/IWArdC5zcmNfWkNjK2B8WyldKS4pKlxcKXxcXHsoPzooPyFgK3Quc3JjX1pDYytgfFt9XSkuKSpcXH18XFwiKD86KD8hYCt0LnNyY19aQ2MrYHxbIl0pLikrXFwifFxcJyg/Oig/IWArdC5zcmNfWkNjK2B8WyddKS4pK1xcJ3xcXCcoPz1gK3Quc3JjX3BzZXVkb19sZXR0ZXIrYHxbLV0pfFxcLnsyLH1bYS16QS1aMC05JS8mXXxcXC4oPyFgK3Quc3JjX1pDYytgfFsuXXwkKXxgKyhlW2AtLS1gXT9gXFwtKD8hLS0oPzpbXi1dfCQpKSg/Oi0qKXxgOmBcXC0rfGApK2AsKD8hYCt0LnNyY19aQ2MrYHwkKXw7KD8hYCt0LnNyY19aQ2MrYHwkKXxcXCErKD8hYCt0LnNyY19aQ2MrYHxbIV18JCl8XFw/KD8hYCt0LnNyY19aQ2MrYHxbP118JCkpK3xcXC8pP2AsdC5zcmNfZW1haWxfbmFtZT1gW1xcLTs6Jj1cXCtcXCQsXFwuYS16QS1aMC05X11bXFwtOzomPVxcK1xcJCxcXCJcXC5hLXpBLVowLTlfXSpgLHQuc3JjX3huPWB4bi0tW2EtejAtOVxcLV17MSw1OX1gLHQuc3JjX2RvbWFpbl9yb290PWAoPzpgK3Quc3JjX3huK2B8YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2B7MSw2M30pYCx0LnNyY19kb21haW49YCg/OmArdC5zcmNfeG4rYHwoPzpgK3Quc3JjX3BzZXVkb19sZXR0ZXIrYCl8KD86YCt0LnNyY19wc2V1ZG9fbGV0dGVyK2AoPzotfGArdC5zcmNfcHNldWRvX2xldHRlcitgKXswLDYxfWArdC5zcmNfcHNldWRvX2xldHRlcitgKSlgLHQuc3JjX2hvc3Q9YCg/Oig/Oig/Oig/OmArdC5zcmNfZG9tYWluK2ApXFwuKSpgK3Quc3JjX2RvbWFpbitgKSlgLHQudHBsX2hvc3RfZnV6enk9YCg/OmArdC5zcmNfaXA0K2B8KD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpKWAsdC50cGxfaG9zdF9ub19pcF9mdXp6eT1gKD86KD86KD86YCt0LnNyY19kb21haW4rYClcXC4pKyg/OiVUTERTJSkpYCx0LnNyY19ob3N0X3N0cmljdD10LnNyY19ob3N0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnNyY19ob3N0X3BvcnRfc3RyaWN0PXQuc3JjX2hvc3QrdC5zcmNfcG9ydCt0LnNyY19ob3N0X3Rlcm1pbmF0b3IsdC50cGxfaG9zdF9wb3J0X2Z1enp5X3N0cmljdD10LnRwbF9ob3N0X2Z1enp5K3Quc3JjX3BvcnQrdC5zcmNfaG9zdF90ZXJtaW5hdG9yLHQudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3Q9dC50cGxfaG9zdF9ub19pcF9mdXp6eSt0LnNyY19wb3J0K3Quc3JjX2hvc3RfdGVybWluYXRvcix0LnRwbF9ob3N0X2Z1enp5X3Rlc3Q9YGxvY2FsaG9zdHx3d3dcXC58XFwuXFxkezEsM31cXC58KD86XFwuKD86JVRMRFMlKSg/OmArdC5zcmNfWlBDYytgfD58JCkpYCx0LnRwbF9lbWFpbF9mdXp6eT1gKF58YCtuK2B8InxcXCh8YCt0LnNyY19aQ2MrYCkoYCt0LnNyY19lbWFpbF9uYW1lK2BAYCt0LnRwbF9ob3N0X2Z1enp5X3N0cmljdCtgKWAsdC50cGxfbGlua19mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdC50cGxfbGlua19ub19pcF9mdXp6eT0iKF58KD8hWy46L1xcLV9AXSkoPzpbJCs8PT5eYHzvvZxdfCIrdC5zcmNfWlBDYysiKSkoKD8hWyQrPD0+XmB8772cXSkiK3QudHBsX2hvc3RfcG9ydF9ub19pcF9mdXp6eV9zdHJpY3QrdC5zcmNfcGF0aCtgKWAsdH1mdW5jdGlvbiBRZChlKXtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLmZvckVhY2goZnVuY3Rpb24odCl7dCYmT2JqZWN0LmtleXModCkuZm9yRWFjaChmdW5jdGlvbihuKXtlW25dPXRbbl19KX0pLGV9ZnVuY3Rpb24gJGQoZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKX1mdW5jdGlvbiBlZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBTdHJpbmddYH1mdW5jdGlvbiB0ZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBPYmplY3RdYH1mdW5jdGlvbiBuZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBSZWdFeHBdYH1mdW5jdGlvbiByZihlKXtyZXR1cm4gJGQoZSk9PT1gW29iamVjdCBGdW5jdGlvbl1gfWZ1bmN0aW9uIGFmKGUpe3JldHVybiBlLnJlcGxhY2UoL1suPyorXiRbXF1cXCgpe318LV0vZyxgXFwkJmApfXZhciBvZj17ZnV6enlMaW5rOiEwLGZ1enp5RW1haWw6ITAsZnV6enlJUDohMX07ZnVuY3Rpb24gc2YoZSl7cmV0dXJuIE9iamVjdC5rZXlzKGV8fHt9KS5yZWR1Y2UoZnVuY3Rpb24oZSx0KXtyZXR1cm4gZXx8b2YuaGFzT3duUHJvcGVydHkodCl9LCExKX12YXIgY2Y9eyJodHRwOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLmh0dHB8fChuLnJlLmh0dHA9UmVnRXhwKGBeXFwvXFwvYCtuLnJlLnNyY19hdXRoK24ucmUuc3JjX2hvc3RfcG9ydF9zdHJpY3Qrbi5yZS5zcmNfcGF0aCxgaWApKSxuLnJlLmh0dHAudGVzdChyKT9yLm1hdGNoKG4ucmUuaHR0cClbMF0ubGVuZ3RoOjB9fSwiaHR0cHM6IjpgaHR0cDpgLCJmdHA6IjpgaHR0cDpgLCIvLyI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm5vX2h0dHB8fChuLnJlLm5vX2h0dHA9UmVnRXhwKGBeYCtuLnJlLnNyY19hdXRoK2AoPzpsb2NhbGhvc3R8KD86KD86YCtuLnJlLnNyY19kb21haW4rYClcXC4pK2Arbi5yZS5zcmNfZG9tYWluX3Jvb3QrYClgK24ucmUuc3JjX3BvcnQrbi5yZS5zcmNfaG9zdF90ZXJtaW5hdG9yK24ucmUuc3JjX3BhdGgsYGlgKSksbi5yZS5ub19odHRwLnRlc3Qocik/dD49MyYmZVt0LTNdPT09YDpgfHx0Pj0zJiZlW3QtM109PT1gL2A/MDpyLm1hdGNoKG4ucmUubm9faHR0cClbMF0ubGVuZ3RoOjB9fSwibWFpbHRvOiI6e3ZhbGlkYXRlOmZ1bmN0aW9uKGUsdCxuKXtsZXQgcj1lLnNsaWNlKHQpO3JldHVybiBuLnJlLm1haWx0b3x8KG4ucmUubWFpbHRvPVJlZ0V4cChgXmArbi5yZS5zcmNfZW1haWxfbmFtZStgQGArbi5yZS5zcmNfaG9zdF9zdHJpY3QsYGlgKSksbi5yZS5tYWlsdG8udGVzdChyKT9yLm1hdGNoKG4ucmUubWFpbHRvKVswXS5sZW5ndGg6MH19fSxsZj1gYVtjZGVmZ2lsbW5vcXJzdHV3eHpdfGJbYWJkZWZnaGlqbW5vcnN0dnd5el18Y1thY2RmZ2hpa2xtbm9ydXZ3eHl6XXxkW2Vqa21vel18ZVtjZWdyc3R1XXxmW2lqa21vcl18Z1thYmRlZmdoaWxtbnBxcnN0dXd5XXxoW2ttbnJ0dV18aVtkZWxtbm9xcnN0XXxqW2Vtb3BdfGtbZWdoaW1ucHJ3eXpdfGxbYWJjaWtyc3R1dnldfG1bYWNkZWdoa2xtbm9wcXJzdHV2d3h5el18blthY2VmZ2lsb3BydXpdfG9tfHBbYWVmZ2hrbG1ucnN0d3ldfHFhfHJbZW9zdXddfHNbYWJjZGVnaGlqa2xtbm9ydHV2eHl6XXx0W2NkZmdoamtsbW5vcnR2d3pdfHVbYWdrc3l6XXx2W2FjZWdpbnVdfHdbZnNdfHlbZXRdfHpbYW13XWAsdWY9YGJpenxjb218ZWR1fGdvdnxuZXR8b3JnfHByb3x3ZWJ8eHh4fGFlcm98YXNpYXxjb29wfGluZm98bXVzZXVtfG5hbWV8c2hvcHzRgNGEYC5zcGxpdChgfGApO2Z1bmN0aW9uIGRmKGUpe2UuX19pbmRleF9fPS0xLGUuX190ZXh0X2NhY2hlX189YGB9ZnVuY3Rpb24gZmYoZSl7cmV0dXJuIGZ1bmN0aW9uKHQsbil7bGV0IHI9dC5zbGljZShuKTtyZXR1cm4gZS50ZXN0KHIpP3IubWF0Y2goZSlbMF0ubGVuZ3RoOjB9fWZ1bmN0aW9uIHBmKCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7dC5ub3JtYWxpemUoZSl9fWZ1bmN0aW9uIG1mKGUpe2xldCB0PWUucmU9WmQoZS5fX29wdHNfXyksbj1lLl9fdGxkc19fLnNsaWNlKCk7ZS5vbkNvbXBpbGUoKSxlLl9fdGxkc19yZXBsYWNlZF9ffHxuLnB1c2gobGYpLG4ucHVzaCh0LnNyY194biksdC5zcmNfdGxkcz1uLmpvaW4oYHxgKTtmdW5jdGlvbiByKGUpe3JldHVybiBlLnJlcGxhY2UoYCVUTERTJWAsdC5zcmNfdGxkcyl9dC5lbWFpbF9mdXp6eT1SZWdFeHAocih0LnRwbF9lbWFpbF9mdXp6eSksYGlgKSx0LmxpbmtfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19mdXp6eSksYGlgKSx0Lmxpbmtfbm9faXBfZnV6enk9UmVnRXhwKHIodC50cGxfbGlua19ub19pcF9mdXp6eSksYGlgKSx0Lmhvc3RfZnV6enlfdGVzdD1SZWdFeHAocih0LnRwbF9ob3N0X2Z1enp5X3Rlc3QpLGBpYCk7bGV0IGk9W107ZS5fX2NvbXBpbGVkX189e307ZnVuY3Rpb24gYShlLHQpe3Rocm93IEVycm9yKGAoTGlua2lmeUl0KSBJbnZhbGlkIHNjaGVtYSAiYCtlK2AiOiBgK3QpfU9iamVjdC5rZXlzKGUuX19zY2hlbWFzX18pLmZvckVhY2goZnVuY3Rpb24odCl7bGV0IG49ZS5fX3NjaGVtYXNfX1t0XTtpZihuPT09bnVsbClyZXR1cm47bGV0IHI9e3ZhbGlkYXRlOm51bGwsbGluazpudWxsfTtpZihlLl9fY29tcGlsZWRfX1t0XT1yLHRmKG4pKXtuZihuLnZhbGlkYXRlKT9yLnZhbGlkYXRlPWZmKG4udmFsaWRhdGUpOnJmKG4udmFsaWRhdGUpP3IudmFsaWRhdGU9bi52YWxpZGF0ZTphKHQsbikscmYobi5ub3JtYWxpemUpP3Iubm9ybWFsaXplPW4ubm9ybWFsaXplOm4ubm9ybWFsaXplP2EodCxuKTpyLm5vcm1hbGl6ZT1wZigpO3JldHVybn1pZihlZihuKSl7aS5wdXNoKHQpO3JldHVybn1hKHQsbil9KSxpLmZvckVhY2goZnVuY3Rpb24odCl7ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0mJihlLl9fY29tcGlsZWRfX1t0XS52YWxpZGF0ZT1lLl9fY29tcGlsZWRfX1tlLl9fc2NoZW1hc19fW3RdXS52YWxpZGF0ZSxlLl9fY29tcGlsZWRfX1t0XS5ub3JtYWxpemU9ZS5fX2NvbXBpbGVkX19bZS5fX3NjaGVtYXNfX1t0XV0ubm9ybWFsaXplKX0pLGUuX19jb21waWxlZF9fW2BgXT17dmFsaWRhdGU6bnVsbCxub3JtYWxpemU6cGYoKX07bGV0IG89T2JqZWN0LmtleXMoZS5fX2NvbXBpbGVkX18pLmZpbHRlcihmdW5jdGlvbih0KXtyZXR1cm4gdC5sZW5ndGg+MCYmZS5fX2NvbXBpbGVkX19bdF19KS5tYXAoYWYpLmpvaW4oYHxgKTtlLnJlLnNjaGVtYV90ZXN0PVJlZ0V4cChgKF58KD8hXykoPzpbPjzvvZxdfGArdC5zcmNfWlBDYytgKSkoYCtvK2ApYCxgaWApLGUucmUuc2NoZW1hX3NlYXJjaD1SZWdFeHAoYChefCg/IV8pKD86Wz48772cXXxgK3Quc3JjX1pQQ2MrYCkpKGArbytgKWAsYGlnYCksZS5yZS5zY2hlbWFfYXRfc3RhcnQ9UmVnRXhwKGBeYCtlLnJlLnNjaGVtYV9zZWFyY2guc291cmNlLGBpYCksZS5yZS5wcmV0ZXN0PVJlZ0V4cChgKGArZS5yZS5zY2hlbWFfdGVzdC5zb3VyY2UrYCl8KGArZS5yZS5ob3N0X2Z1enp5X3Rlc3Quc291cmNlK2ApfEBgLGBpYCksZGYoZSl9ZnVuY3Rpb24gaGYoZSx0KXtsZXQgbj1lLl9faW5kZXhfXyxyPWUuX19sYXN0X2luZGV4X18saT1lLl9fdGV4dF9jYWNoZV9fLnNsaWNlKG4scik7dGhpcy5zY2hlbWE9ZS5fX3NjaGVtYV9fLnRvTG93ZXJDYXNlKCksdGhpcy5pbmRleD1uK3QsdGhpcy5sYXN0SW5kZXg9cit0LHRoaXMucmF3PWksdGhpcy50ZXh0PWksdGhpcy51cmw9aX1mdW5jdGlvbiBnZihlLHQpe2xldCBuPW5ldyBoZihlLHQpO3JldHVybiBlLl9fY29tcGlsZWRfX1tuLnNjaGVtYV0ubm9ybWFsaXplKG4sZSksbn1mdW5jdGlvbiBfZihlLHQpe2lmKCEodGhpcyBpbnN0YW5jZW9mIF9mKSlyZXR1cm4gbmV3IF9mKGUsdCk7dHx8c2YoZSkmJih0PWUsZT17fSksdGhpcy5fX29wdHNfXz1RZCh7fSxvZix0KSx0aGlzLl9faW5kZXhfXz0tMSx0aGlzLl9fbGFzdF9pbmRleF9fPS0xLHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9fdGV4dF9jYWNoZV9fPWBgLHRoaXMuX19zY2hlbWFzX189UWQoe30sY2YsZSksdGhpcy5fX2NvbXBpbGVkX189e30sdGhpcy5fX3RsZHNfXz11Zix0aGlzLl9fdGxkc19yZXBsYWNlZF9fPSExLHRoaXMucmU9e30sbWYodGhpcyl9X2YucHJvdG90eXBlLmFkZD1mdW5jdGlvbihlLHQpe3JldHVybiB0aGlzLl9fc2NoZW1hc19fW2VdPXQsbWYodGhpcyksdGhpc30sX2YucHJvdG90eXBlLnNldD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5fX29wdHNfXz1RZCh0aGlzLl9fb3B0c19fLGUpLHRoaXN9LF9mLnByb3RvdHlwZS50ZXN0PWZ1bmN0aW9uKGUpe2lmKHRoaXMuX190ZXh0X2NhY2hlX189ZSx0aGlzLl9faW5kZXhfXz0tMSwhZS5sZW5ndGgpcmV0dXJuITE7bGV0IHQsbixyLGksYSxvLHMsYyxsO2lmKHRoaXMucmUuc2NoZW1hX3Rlc3QudGVzdChlKSl7Zm9yKHM9dGhpcy5yZS5zY2hlbWFfc2VhcmNoLHMubGFzdEluZGV4PTA7KHQ9cy5leGVjKGUpKSE9PW51bGw7KWlmKGk9dGhpcy50ZXN0U2NoZW1hQXQoZSx0WzJdLHMubGFzdEluZGV4KSxpKXt0aGlzLl9fc2NoZW1hX189dFsyXSx0aGlzLl9faW5kZXhfXz10LmluZGV4K3RbMV0ubGVuZ3RoLHRoaXMuX19sYXN0X2luZGV4X189dC5pbmRleCt0WzBdLmxlbmd0aCtpO2JyZWFrfX1yZXR1cm4gdGhpcy5fX29wdHNfXy5mdXp6eUxpbmsmJnRoaXMuX19jb21waWxlZF9fW2BodHRwOmBdJiYoYz1lLnNlYXJjaCh0aGlzLnJlLmhvc3RfZnV6enlfdGVzdCksYz49MCYmKHRoaXMuX19pbmRleF9fPDB8fGM8dGhpcy5fX2luZGV4X18pJiYobj1lLm1hdGNoKHRoaXMuX19vcHRzX18uZnV6enlJUD90aGlzLnJlLmxpbmtfZnV6enk6dGhpcy5yZS5saW5rX25vX2lwX2Z1enp5KSkhPT1udWxsJiYoYT1uLmluZGV4K25bMV0ubGVuZ3RoLCh0aGlzLl9faW5kZXhfXzwwfHxhPHRoaXMuX19pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gYCx0aGlzLl9faW5kZXhfXz1hLHRoaXMuX19sYXN0X2luZGV4X189bi5pbmRleCtuWzBdLmxlbmd0aCkpKSx0aGlzLl9fb3B0c19fLmZ1enp5RW1haWwmJnRoaXMuX19jb21waWxlZF9fW2BtYWlsdG86YF0mJihsPWUuaW5kZXhPZihgQGApLGw+PTAmJihyPWUubWF0Y2godGhpcy5yZS5lbWFpbF9mdXp6eSkpIT09bnVsbCYmKGE9ci5pbmRleCtyWzFdLmxlbmd0aCxvPXIuaW5kZXgrclswXS5sZW5ndGgsKHRoaXMuX19pbmRleF9fPDB8fGE8dGhpcy5fX2luZGV4X198fGE9PT10aGlzLl9faW5kZXhfXyYmbz50aGlzLl9fbGFzdF9pbmRleF9fKSYmKHRoaXMuX19zY2hlbWFfXz1gbWFpbHRvOmAsdGhpcy5fX2luZGV4X189YSx0aGlzLl9fbGFzdF9pbmRleF9fPW8pKSksdGhpcy5fX2luZGV4X18+PTB9LF9mLnByb3RvdHlwZS5wcmV0ZXN0PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlLnByZXRlc3QudGVzdChlKX0sX2YucHJvdG90eXBlLnRlc3RTY2hlbWFBdD1mdW5jdGlvbihlLHQsbil7cmV0dXJuIHRoaXMuX19jb21waWxlZF9fW3QudG9Mb3dlckNhc2UoKV0/dGhpcy5fX2NvbXBpbGVkX19bdC50b0xvd2VyQ2FzZSgpXS52YWxpZGF0ZShlLG4sdGhpcyk6MH0sX2YucHJvdG90eXBlLm1hdGNoPWZ1bmN0aW9uKGUpe2xldCB0PVtdLG49MDt0aGlzLl9faW5kZXhfXz49MCYmdGhpcy5fX3RleHRfY2FjaGVfXz09PWUmJih0LnB1c2goZ2YodGhpcyxuKSksbj10aGlzLl9fbGFzdF9pbmRleF9fKTtsZXQgcj1uP2Uuc2xpY2Uobik6ZTtmb3IoO3RoaXMudGVzdChyKTspdC5wdXNoKGdmKHRoaXMsbikpLHI9ci5zbGljZSh0aGlzLl9fbGFzdF9pbmRleF9fKSxuKz10aGlzLl9fbGFzdF9pbmRleF9fO3JldHVybiB0Lmxlbmd0aD90Om51bGx9LF9mLnByb3RvdHlwZS5tYXRjaEF0U3RhcnQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5fX3RleHRfY2FjaGVfXz1lLHRoaXMuX19pbmRleF9fPS0xLCFlLmxlbmd0aClyZXR1cm4gbnVsbDtsZXQgdD10aGlzLnJlLnNjaGVtYV9hdF9zdGFydC5leGVjKGUpO2lmKCF0KXJldHVybiBudWxsO2xldCBuPXRoaXMudGVzdFNjaGVtYUF0KGUsdFsyXSx0WzBdLmxlbmd0aCk7cmV0dXJuIG4/KHRoaXMuX19zY2hlbWFfXz10WzJdLHRoaXMuX19pbmRleF9fPXQuaW5kZXgrdFsxXS5sZW5ndGgsdGhpcy5fX2xhc3RfaW5kZXhfXz10LmluZGV4K3RbMF0ubGVuZ3RoK24sZ2YodGhpcywwKSk6bnVsbH0sX2YucHJvdG90eXBlLnRsZHM9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZT1BcnJheS5pc0FycmF5KGUpP2U6W2VdLHQ/KHRoaXMuX190bGRzX189dGhpcy5fX3RsZHNfXy5jb25jYXQoZSkuc29ydCgpLmZpbHRlcihmdW5jdGlvbihlLHQsbil7cmV0dXJuIGUhPT1uW3QtMV19KS5yZXZlcnNlKCksbWYodGhpcyksdGhpcyk6KHRoaXMuX190bGRzX189ZS5zbGljZSgpLHRoaXMuX190bGRzX3JlcGxhY2VkX189ITAsbWYodGhpcyksdGhpcyl9LF9mLnByb3RvdHlwZS5ub3JtYWxpemU9ZnVuY3Rpb24oZSl7ZS5zY2hlbWF8fChlLnVybD1gaHR0cDovL2ArZS51cmwpLGUuc2NoZW1hPT09YG1haWx0bzpgJiYhL15tYWlsdG86L2kudGVzdChlLnVybCkmJihlLnVybD1gbWFpbHRvOmArZS51cmwpfSxfZi5wcm90b3R5cGUub25Db21waWxlPWZ1bmN0aW9uKCl7fTt2YXIgdmY9SlNPTi5wYXJzZShgWyJhYWEiLCJhYXJwIiwiYWJiIiwiYWJib3R0IiwiYWJidmllIiwiYWJjIiwiYWJsZSIsImFib2dhZG8iLCJhYnVkaGFiaSIsImFjIiwiYWNhZGVteSIsImFjY2VudHVyZSIsImFjY291bnRhbnQiLCJhY2NvdW50YW50cyIsImFjbyIsImFjdG9yIiwiYWQiLCJhZHMiLCJhZHVsdCIsImFlIiwiYWVnIiwiYWVybyIsImFldG5hIiwiYWYiLCJhZmwiLCJhZnJpY2EiLCJhZyIsImFnYWtoYW4iLCJhZ2VuY3kiLCJhaSIsImFpZyIsImFpcmJ1cyIsImFpcmZvcmNlIiwiYWlydGVsIiwiYWtkbiIsImFsIiwiYWxpYmFiYSIsImFsaXBheSIsImFsbGZpbmFueiIsImFsbHN0YXRlIiwiYWxseSIsImFsc2FjZSIsImFsc3RvbSIsImFtIiwiYW1hem9uIiwiYW1lcmljYW5leHByZXNzIiwiYW1lcmljYW5mYW1pbHkiLCJhbWV4IiwiYW1mYW0iLCJhbWljYSIsImFtc3RlcmRhbSIsImFuYWx5dGljcyIsImFuZHJvaWQiLCJhbnF1YW4iLCJhbnoiLCJhbyIsImFvbCIsImFwYXJ0bWVudHMiLCJhcHAiLCJhcHBsZSIsImFxIiwiYXF1YXJlbGxlIiwiYXIiLCJhcmFiIiwiYXJhbWNvIiwiYXJjaGkiLCJhcm15IiwiYXJwYSIsImFydCIsImFydGUiLCJhcyIsImFzZGEiLCJhc2lhIiwiYXNzb2NpYXRlcyIsImF0IiwiYXRobGV0YSIsImF0dG9ybmV5IiwiYXUiLCJhdWN0aW9uIiwiYXVkaSIsImF1ZGlibGUiLCJhdWRpbyIsImF1c3Bvc3QiLCJhdXRob3IiLCJhdXRvIiwiYXV0b3MiLCJhdyIsImF3cyIsImF4IiwiYXhhIiwiYXoiLCJhenVyZSIsImJhIiwiYmFieSIsImJhaWR1IiwiYmFuYW1leCIsImJhbmQiLCJiYW5rIiwiYmFyIiwiYmFyY2Vsb25hIiwiYmFyY2xheWNhcmQiLCJiYXJjbGF5cyIsImJhcmVmb290IiwiYmFyZ2FpbnMiLCJiYXNlYmFsbCIsImJhc2tldGJhbGwiLCJiYXVoYXVzIiwiYmF5ZXJuIiwiYmIiLCJiYmMiLCJiYnQiLCJiYnZhIiwiYmNnIiwiYmNuIiwiYmQiLCJiZSIsImJlYXRzIiwiYmVhdXR5IiwiYmVlciIsImJlcmxpbiIsImJlc3QiLCJiZXN0YnV5IiwiYmV0IiwiYmYiLCJiZyIsImJoIiwiYmhhcnRpIiwiYmkiLCJiaWJsZSIsImJpZCIsImJpa2UiLCJiaW5nIiwiYmluZ28iLCJiaW8iLCJiaXoiLCJiaiIsImJsYWNrIiwiYmxhY2tmcmlkYXkiLCJibG9ja2J1c3RlciIsImJsb2ciLCJibG9vbWJlcmciLCJibHVlIiwiYm0iLCJibXMiLCJibXciLCJibiIsImJucHBhcmliYXMiLCJibyIsImJvYXRzIiwiYm9laHJpbmdlciIsImJvZmEiLCJib20iLCJib25kIiwiYm9vIiwiYm9vayIsImJvb2tpbmciLCJib3NjaCIsImJvc3RpayIsImJvc3RvbiIsImJvdCIsImJvdXRpcXVlIiwiYm94IiwiYnIiLCJicmFkZXNjbyIsImJyaWRnZXN0b25lIiwiYnJvYWR3YXkiLCJicm9rZXIiLCJicm90aGVyIiwiYnJ1c3NlbHMiLCJicyIsImJ0IiwiYnVpbGQiLCJidWlsZGVycyIsImJ1c2luZXNzIiwiYnV5IiwiYnV6eiIsImJ2IiwiYnciLCJieSIsImJ6IiwiYnpoIiwiY2EiLCJjYWIiLCJjYWZlIiwiY2FsIiwiY2FsbCIsImNhbHZpbmtsZWluIiwiY2FtIiwiY2FtZXJhIiwiY2FtcCIsImNhbm9uIiwiY2FwZXRvd24iLCJjYXBpdGFsIiwiY2FwaXRhbG9uZSIsImNhciIsImNhcmF2YW4iLCJjYXJkcyIsImNhcmUiLCJjYXJlZXIiLCJjYXJlZXJzIiwiY2FycyIsImNhc2EiLCJjYXNlIiwiY2FzaCIsImNhc2lubyIsImNhdCIsImNhdGVyaW5nIiwiY2F0aG9saWMiLCJjYmEiLCJjYm4iLCJjYnJlIiwiY2MiLCJjZCIsImNlbnRlciIsImNlbyIsImNlcm4iLCJjZiIsImNmYSIsImNmZCIsImNnIiwiY2giLCJjaGFuZWwiLCJjaGFubmVsIiwiY2hhcml0eSIsImNoYXNlIiwiY2hhdCIsImNoZWFwIiwiY2hpbnRhaSIsImNocmlzdG1hcyIsImNocm9tZSIsImNodXJjaCIsImNpIiwiY2lwcmlhbmkiLCJjaXJjbGUiLCJjaXNjbyIsImNpdGFkZWwiLCJjaXRpIiwiY2l0aWMiLCJjaXR5IiwiY2siLCJjbCIsImNsYWltcyIsImNsZWFuaW5nIiwiY2xpY2siLCJjbGluaWMiLCJjbGluaXF1ZSIsImNsb3RoaW5nIiwiY2xvdWQiLCJjbHViIiwiY2x1Ym1lZCIsImNtIiwiY24iLCJjbyIsImNvYWNoIiwiY29kZXMiLCJjb2ZmZWUiLCJjb2xsZWdlIiwiY29sb2duZSIsImNvbSIsImNvbW1iYW5rIiwiY29tbXVuaXR5IiwiY29tcGFueSIsImNvbXBhcmUiLCJjb21wdXRlciIsImNvbXNlYyIsImNvbmRvcyIsImNvbnN0cnVjdGlvbiIsImNvbnN1bHRpbmciLCJjb250YWN0IiwiY29udHJhY3RvcnMiLCJjb29raW5nIiwiY29vbCIsImNvb3AiLCJjb3JzaWNhIiwiY291bnRyeSIsImNvdXBvbiIsImNvdXBvbnMiLCJjb3Vyc2VzIiwiY3BhIiwiY3IiLCJjcmVkaXQiLCJjcmVkaXRjYXJkIiwiY3JlZGl0dW5pb24iLCJjcmlja2V0IiwiY3Jvd24iLCJjcnMiLCJjcnVpc2UiLCJjcnVpc2VzIiwiY3UiLCJjdWlzaW5lbGxhIiwiY3YiLCJjdyIsImN4IiwiY3kiLCJjeW1ydSIsImN5b3UiLCJjeiIsImRhZCIsImRhbmNlIiwiZGF0YSIsImRhdGUiLCJkYXRpbmciLCJkYXRzdW4iLCJkYXkiLCJkY2xrIiwiZGRzIiwiZGUiLCJkZWFsIiwiZGVhbGVyIiwiZGVhbHMiLCJkZWdyZWUiLCJkZWxpdmVyeSIsImRlbGwiLCJkZWxvaXR0ZSIsImRlbHRhIiwiZGVtb2NyYXQiLCJkZW50YWwiLCJkZW50aXN0IiwiZGVzaSIsImRlc2lnbiIsImRldiIsImRobCIsImRpYW1vbmRzIiwiZGlldCIsImRpZ2l0YWwiLCJkaXJlY3QiLCJkaXJlY3RvcnkiLCJkaXNjb3VudCIsImRpc2NvdmVyIiwiZGlzaCIsImRpeSIsImRqIiwiZGsiLCJkbSIsImRucCIsImRvIiwiZG9jcyIsImRvY3RvciIsImRvZyIsImRvbWFpbnMiLCJkb3QiLCJkb3dubG9hZCIsImRyaXZlIiwiZHR2IiwiZHViYWkiLCJkdXBvbnQiLCJkdXJiYW4iLCJkdmFnIiwiZHZyIiwiZHoiLCJlYXJ0aCIsImVhdCIsImVjIiwiZWNvIiwiZWRla2EiLCJlZHUiLCJlZHVjYXRpb24iLCJlZSIsImVnIiwiZW1haWwiLCJlbWVyY2siLCJlbmVyZ3kiLCJlbmdpbmVlciIsImVuZ2luZWVyaW5nIiwiZW50ZXJwcmlzZXMiLCJlcHNvbiIsImVxdWlwbWVudCIsImVyIiwiZXJpY3Nzb24iLCJlcm5pIiwiZXMiLCJlc3EiLCJlc3RhdGUiLCJldCIsImV1IiwiZXVyb3Zpc2lvbiIsImV1cyIsImV2ZW50cyIsImV4Y2hhbmdlIiwiZXhwZXJ0IiwiZXhwb3NlZCIsImV4cHJlc3MiLCJleHRyYXNwYWNlIiwiZmFnZSIsImZhaWwiLCJmYWlyd2luZHMiLCJmYWl0aCIsImZhbWlseSIsImZhbiIsImZhbnMiLCJmYXJtIiwiZmFybWVycyIsImZhc2hpb24iLCJmYXN0IiwiZmVkZXgiLCJmZWVkYmFjayIsImZlcnJhcmkiLCJmZXJyZXJvIiwiZmkiLCJmaWRlbGl0eSIsImZpZG8iLCJmaWxtIiwiZmluYWwiLCJmaW5hbmNlIiwiZmluYW5jaWFsIiwiZmlyZSIsImZpcmVzdG9uZSIsImZpcm1kYWxlIiwiZmlzaCIsImZpc2hpbmciLCJmaXQiLCJmaXRuZXNzIiwiZmoiLCJmayIsImZsaWNrciIsImZsaWdodHMiLCJmbGlyIiwiZmxvcmlzdCIsImZsb3dlcnMiLCJmbHkiLCJmbSIsImZvIiwiZm9vIiwiZm9vZCIsImZvb3RiYWxsIiwiZm9yZCIsImZvcmV4IiwiZm9yc2FsZSIsImZvcnVtIiwiZm91bmRhdGlvbiIsImZveCIsImZyIiwiZnJlZSIsImZyZXNlbml1cyIsImZybCIsImZyb2dhbnMiLCJmcm9udGllciIsImZ0ciIsImZ1aml0c3UiLCJmdW4iLCJmdW5kIiwiZnVybml0dXJlIiwiZnV0Ym9sIiwiZnlpIiwiZ2EiLCJnYWwiLCJnYWxsZXJ5IiwiZ2FsbG8iLCJnYWxsdXAiLCJnYW1lIiwiZ2FtZXMiLCJnYXAiLCJnYXJkZW4iLCJnYXkiLCJnYiIsImdiaXoiLCJnZCIsImdkbiIsImdlIiwiZ2VhIiwiZ2VudCIsImdlbnRpbmciLCJnZW9yZ2UiLCJnZiIsImdnIiwiZ2dlZSIsImdoIiwiZ2kiLCJnaWZ0IiwiZ2lmdHMiLCJnaXZlcyIsImdpdmluZyIsImdsIiwiZ2xhc3MiLCJnbGUiLCJnbG9iYWwiLCJnbG9ibyIsImdtIiwiZ21haWwiLCJnbWJoIiwiZ21vIiwiZ214IiwiZ24iLCJnb2RhZGR5IiwiZ29sZCIsImdvbGRwb2ludCIsImdvbGYiLCJnb28iLCJnb29keWVhciIsImdvb2ciLCJnb29nbGUiLCJnb3AiLCJnb3QiLCJnb3YiLCJncCIsImdxIiwiZ3IiLCJncmFpbmdlciIsImdyYXBoaWNzIiwiZ3JhdGlzIiwiZ3JlZW4iLCJncmlwZSIsImdyb2NlcnkiLCJncm91cCIsImdzIiwiZ3QiLCJndSIsImd1Y2NpIiwiZ3VnZSIsImd1aWRlIiwiZ3VpdGFycyIsImd1cnUiLCJndyIsImd5IiwiaGFpciIsImhhbWJ1cmciLCJoYW5nb3V0IiwiaGF1cyIsImhibyIsImhkZmMiLCJoZGZjYmFuayIsImhlYWx0aCIsImhlYWx0aGNhcmUiLCJoZWxwIiwiaGVsc2lua2kiLCJoZXJlIiwiaGVybWVzIiwiaGlwaG9wIiwiaGlzYW1pdHN1IiwiaGl0YWNoaSIsImhpdiIsImhrIiwiaGt0IiwiaG0iLCJobiIsImhvY2tleSIsImhvbGRpbmdzIiwiaG9saWRheSIsImhvbWVkZXBvdCIsImhvbWVnb29kcyIsImhvbWVzIiwiaG9tZXNlbnNlIiwiaG9uZGEiLCJob3JzZSIsImhvc3BpdGFsIiwiaG9zdCIsImhvc3RpbmciLCJob3QiLCJob3RlbHMiLCJob3RtYWlsIiwiaG91c2UiLCJob3ciLCJociIsImhzYmMiLCJodCIsImh1IiwiaHVnaGVzIiwiaHlhdHQiLCJoeXVuZGFpIiwiaWJtIiwiaWNiYyIsImljZSIsImljdSIsImlkIiwiaWUiLCJpZWVlIiwiaWZtIiwiaWthbm8iLCJpbCIsImltIiwiaW1hbWF0IiwiaW1kYiIsImltbW8iLCJpbW1vYmlsaWVuIiwiaW4iLCJpbmMiLCJpbmR1c3RyaWVzIiwiaW5maW5pdGkiLCJpbmZvIiwiaW5nIiwiaW5rIiwiaW5zdGl0dXRlIiwiaW5zdXJhbmNlIiwiaW5zdXJlIiwiaW50IiwiaW50ZXJuYXRpb25hbCIsImludHVpdCIsImludmVzdG1lbnRzIiwiaW8iLCJpcGlyYW5nYSIsImlxIiwiaXIiLCJpcmlzaCIsImlzIiwiaXNtYWlsaSIsImlzdCIsImlzdGFuYnVsIiwiaXQiLCJpdGF1IiwiaXR2IiwiamFndWFyIiwiamF2YSIsImpjYiIsImplIiwiamVlcCIsImpldHp0IiwiamV3ZWxyeSIsImppbyIsImpsbCIsImptIiwiam1wIiwiam5qIiwiam8iLCJqb2JzIiwiam9idXJnIiwiam90Iiwiam95IiwianAiLCJqcG1vcmdhbiIsImpwcnMiLCJqdWVnb3MiLCJqdW5pcGVyIiwia2F1ZmVuIiwia2RkaSIsImtlIiwia2Vycnlob3RlbHMiLCJrZXJyeXByb3BlcnRpZXMiLCJrZmgiLCJrZyIsImtoIiwia2kiLCJraWEiLCJraWRzIiwia2ltIiwia2luZGxlIiwia2l0Y2hlbiIsImtpd2kiLCJrbSIsImtuIiwia29lbG4iLCJrb21hdHN1Iiwia29zaGVyIiwia3AiLCJrcG1nIiwia3BuIiwia3IiLCJrcmQiLCJrcmVkIiwia3Vva2dyb3VwIiwia3ciLCJreSIsImt5b3RvIiwia3oiLCJsYSIsImxhY2FpeGEiLCJsYW1ib3JnaGluaSIsImxhbWVyIiwibGFuZCIsImxhbmRyb3ZlciIsImxhbnhlc3MiLCJsYXNhbGxlIiwibGF0IiwibGF0aW5vIiwibGF0cm9iZSIsImxhdyIsImxhd3llciIsImxiIiwibGMiLCJsZHMiLCJsZWFzZSIsImxlY2xlcmMiLCJsZWZyYWsiLCJsZWdhbCIsImxlZ28iLCJsZXh1cyIsImxnYnQiLCJsaSIsImxpZGwiLCJsaWZlIiwibGlmZWluc3VyYW5jZSIsImxpZmVzdHlsZSIsImxpZ2h0aW5nIiwibGlrZSIsImxpbGx5IiwibGltaXRlZCIsImxpbW8iLCJsaW5jb2xuIiwibGluayIsImxpdmUiLCJsaXZpbmciLCJsayIsImxsYyIsImxscCIsImxvYW4iLCJsb2FucyIsImxvY2tlciIsImxvY3VzIiwibG9sIiwibG9uZG9uIiwibG90dGUiLCJsb3R0byIsImxvdmUiLCJscGwiLCJscGxmaW5hbmNpYWwiLCJsciIsImxzIiwibHQiLCJsdGQiLCJsdGRhIiwibHUiLCJsdW5kYmVjayIsImx1eGUiLCJsdXh1cnkiLCJsdiIsImx5IiwibWEiLCJtYWRyaWQiLCJtYWlmIiwibWFpc29uIiwibWFrZXVwIiwibWFuIiwibWFuYWdlbWVudCIsIm1hbmdvIiwibWFwIiwibWFya2V0IiwibWFya2V0aW5nIiwibWFya2V0cyIsIm1hcnJpb3R0IiwibWFyc2hhbGxzIiwibWF0dGVsIiwibWJhIiwibWMiLCJtY2tpbnNleSIsIm1kIiwibWUiLCJtZWQiLCJtZWRpYSIsIm1lZXQiLCJtZWxib3VybmUiLCJtZW1lIiwibWVtb3JpYWwiLCJtZW4iLCJtZW51IiwibWVyY2ttc2QiLCJtZyIsIm1oIiwibWlhbWkiLCJtaWNyb3NvZnQiLCJtaWwiLCJtaW5pIiwibWludCIsIm1pdCIsIm1pdHN1YmlzaGkiLCJtayIsIm1sIiwibWxiIiwibWxzIiwibW0iLCJtbWEiLCJtbiIsIm1vIiwibW9iaSIsIm1vYmlsZSIsIm1vZGEiLCJtb2UiLCJtb2kiLCJtb20iLCJtb25hc2giLCJtb25leSIsIm1vbnN0ZXIiLCJtb3Jtb24iLCJtb3J0Z2FnZSIsIm1vc2NvdyIsIm1vdG8iLCJtb3RvcmN5Y2xlcyIsIm1vdiIsIm1vdmllIiwibXAiLCJtcSIsIm1yIiwibXMiLCJtc2QiLCJtdCIsIm10biIsIm10ciIsIm11IiwibXVzZXVtIiwibXVzaWMiLCJtdiIsIm13IiwibXgiLCJteSIsIm16IiwibmEiLCJuYWIiLCJuYWdveWEiLCJuYW1lIiwibmF2eSIsIm5iYSIsIm5jIiwibmUiLCJuZWMiLCJuZXQiLCJuZXRiYW5rIiwibmV0ZmxpeCIsIm5ldHdvcmsiLCJuZXVzdGFyIiwibmV3IiwibmV3cyIsIm5leHQiLCJuZXh0ZGlyZWN0IiwibmV4dXMiLCJuZiIsIm5mbCIsIm5nIiwibmdvIiwibmhrIiwibmkiLCJuaWNvIiwibmlrZSIsIm5pa29uIiwibmluamEiLCJuaXNzYW4iLCJuaXNzYXkiLCJubCIsIm5vIiwibm9raWEiLCJub3J0b24iLCJub3ciLCJub3dydXoiLCJub3d0diIsIm5wIiwibnIiLCJucmEiLCJucnciLCJudHQiLCJudSIsIm55YyIsIm56Iiwib2JpIiwib2JzZXJ2ZXIiLCJvZmZpY2UiLCJva2luYXdhIiwib2xheWFuIiwib2xheWFuZ3JvdXAiLCJvbGxvIiwib20iLCJvbWVnYSIsIm9uZSIsIm9uZyIsIm9ubCIsIm9ubGluZSIsIm9vbyIsIm9wZW4iLCJvcmFjbGUiLCJvcmFuZ2UiLCJvcmciLCJvcmdhbmljIiwib3JpZ2lucyIsIm9zYWthIiwib3RzdWthIiwib3R0Iiwib3ZoIiwicGEiLCJwYWdlIiwicGFuYXNvbmljIiwicGFyaXMiLCJwYXJzIiwicGFydG5lcnMiLCJwYXJ0cyIsInBhcnR5IiwicGF5IiwicGNjdyIsInBlIiwicGV0IiwicGYiLCJwZml6ZXIiLCJwZyIsInBoIiwicGhhcm1hY3kiLCJwaGQiLCJwaGlsaXBzIiwicGhvbmUiLCJwaG90byIsInBob3RvZ3JhcGh5IiwicGhvdG9zIiwicGh5c2lvIiwicGljcyIsInBpY3RldCIsInBpY3R1cmVzIiwicGlkIiwicGluIiwicGluZyIsInBpbmsiLCJwaW9uZWVyIiwicGl6emEiLCJwayIsInBsIiwicGxhY2UiLCJwbGF5IiwicGxheXN0YXRpb24iLCJwbHVtYmluZyIsInBsdXMiLCJwbSIsInBuIiwicG5jIiwicG9obCIsInBva2VyIiwicG9saXRpZSIsInBvcm4iLCJwb3N0IiwicHIiLCJwcmF4aSIsInByZXNzIiwicHJpbWUiLCJwcm8iLCJwcm9kIiwicHJvZHVjdGlvbnMiLCJwcm9mIiwicHJvZ3Jlc3NpdmUiLCJwcm9tbyIsInByb3BlcnRpZXMiLCJwcm9wZXJ0eSIsInByb3RlY3Rpb24iLCJwcnUiLCJwcnVkZW50aWFsIiwicHMiLCJwdCIsInB1YiIsInB3IiwicHdjIiwicHkiLCJxYSIsInFwb24iLCJxdWViZWMiLCJxdWVzdCIsInJhY2luZyIsInJhZGlvIiwicmUiLCJyZWFkIiwicmVhbGVzdGF0ZSIsInJlYWx0b3IiLCJyZWFsdHkiLCJyZWNpcGVzIiwicmVkIiwicmVkdW1icmVsbGEiLCJyZWhhYiIsInJlaXNlIiwicmVpc2VuIiwicmVpdCIsInJlbGlhbmNlIiwicmVuIiwicmVudCIsInJlbnRhbHMiLCJyZXBhaXIiLCJyZXBvcnQiLCJyZXB1YmxpY2FuIiwicmVzdCIsInJlc3RhdXJhbnQiLCJyZXZpZXciLCJyZXZpZXdzIiwicmV4cm90aCIsInJpY2giLCJyaWNoYXJkbGkiLCJyaWNvaCIsInJpbCIsInJpbyIsInJpcCIsInJvIiwicm9ja3MiLCJyb2RlbyIsInJvZ2VycyIsInJvb20iLCJycyIsInJzdnAiLCJydSIsInJ1Z2J5IiwicnVociIsInJ1biIsInJ3IiwicndlIiwicnl1a3l1Iiwic2EiLCJzYWFybGFuZCIsInNhZmUiLCJzYWZldHkiLCJzYWt1cmEiLCJzYWxlIiwic2Fsb24iLCJzYW1zY2x1YiIsInNhbXN1bmciLCJzYW5kdmlrIiwic2FuZHZpa2Nvcm9tYW50Iiwic2Fub2ZpIiwic2FwIiwic2FybCIsInNhcyIsInNhdmUiLCJzYXhvIiwic2IiLCJzYmkiLCJzYnMiLCJzYyIsInNjYiIsInNjaGFlZmZsZXIiLCJzY2htaWR0Iiwic2Nob2xhcnNoaXBzIiwic2Nob29sIiwic2NodWxlIiwic2Nod2FyeiIsInNjaWVuY2UiLCJzY290Iiwic2QiLCJzZSIsInNlYXJjaCIsInNlYXQiLCJzZWN1cmUiLCJzZWN1cml0eSIsInNlZWsiLCJzZWxlY3QiLCJzZW5lciIsInNlcnZpY2VzIiwic2V2ZW4iLCJzZXciLCJzZXgiLCJzZXh5Iiwic2ZyIiwic2ciLCJzaCIsInNoYW5ncmlsYSIsInNoYXJwIiwic2hlbGwiLCJzaGlhIiwic2hpa3NoYSIsInNob2VzIiwic2hvcCIsInNob3BwaW5nIiwic2hvdWppIiwic2hvdyIsInNpIiwic2lsayIsInNpbmEiLCJzaW5nbGVzIiwic2l0ZSIsInNqIiwic2siLCJza2kiLCJza2luIiwic2t5Iiwic2t5cGUiLCJzbCIsInNsaW5nIiwic20iLCJzbWFydCIsInNtaWxlIiwic24iLCJzbmNmIiwic28iLCJzb2NjZXIiLCJzb2NpYWwiLCJzb2Z0YmFuayIsInNvZnR3YXJlIiwic29odSIsInNvbGFyIiwic29sdXRpb25zIiwic29uZyIsInNvbnkiLCJzb3kiLCJzcGEiLCJzcGFjZSIsInNwb3J0Iiwic3BvdCIsInNyIiwic3JsIiwic3MiLCJzdCIsInN0YWRhIiwic3RhcGxlcyIsInN0YXIiLCJzdGF0ZWJhbmsiLCJzdGF0ZWZhcm0iLCJzdGMiLCJzdGNncm91cCIsInN0b2NraG9sbSIsInN0b3JhZ2UiLCJzdG9yZSIsInN0cmVhbSIsInN0dWRpbyIsInN0dWR5Iiwic3R5bGUiLCJzdSIsInN1Y2tzIiwic3VwcGxpZXMiLCJzdXBwbHkiLCJzdXBwb3J0Iiwic3VyZiIsInN1cmdlcnkiLCJzdXp1a2kiLCJzdiIsInN3YXRjaCIsInN3aXNzIiwic3giLCJzeSIsInN5ZG5leSIsInN5c3RlbXMiLCJzeiIsInRhYiIsInRhaXBlaSIsInRhbGsiLCJ0YW9iYW8iLCJ0YXJnZXQiLCJ0YXRhbW90b3JzIiwidGF0YXIiLCJ0YXR0b28iLCJ0YXgiLCJ0YXhpIiwidGMiLCJ0Y2kiLCJ0ZCIsInRkayIsInRlYW0iLCJ0ZWNoIiwidGVjaG5vbG9neSIsInRlbCIsInRlbWFzZWsiLCJ0ZW5uaXMiLCJ0ZXZhIiwidGYiLCJ0ZyIsInRoIiwidGhkIiwidGhlYXRlciIsInRoZWF0cmUiLCJ0aWFhIiwidGlja2V0cyIsInRpZW5kYSIsInRpcHMiLCJ0aXJlcyIsInRpcm9sIiwidGoiLCJ0am1heHgiLCJ0angiLCJ0ayIsInRrbWF4eCIsInRsIiwidG0iLCJ0bWFsbCIsInRuIiwidG8iLCJ0b2RheSIsInRva3lvIiwidG9vbHMiLCJ0b3AiLCJ0b3JheSIsInRvc2hpYmEiLCJ0b3RhbCIsInRvdXJzIiwidG93biIsInRveW90YSIsInRveXMiLCJ0ciIsInRyYWRlIiwidHJhZGluZyIsInRyYWluaW5nIiwidHJhdmVsIiwidHJhdmVsZXJzIiwidHJhdmVsZXJzaW5zdXJhbmNlIiwidHJ1c3QiLCJ0cnYiLCJ0dCIsInR1YmUiLCJ0dWkiLCJ0dW5lcyIsInR1c2h1IiwidHYiLCJ0dnMiLCJ0dyIsInR6IiwidWEiLCJ1YmFuayIsInVicyIsInVnIiwidWsiLCJ1bmljb20iLCJ1bml2ZXJzaXR5IiwidW5vIiwidW9sIiwidXBzIiwidXMiLCJ1eSIsInV6IiwidmEiLCJ2YWNhdGlvbnMiLCJ2YW5hIiwidmFuZ3VhcmQiLCJ2YyIsInZlIiwidmVnYXMiLCJ2ZW50dXJlcyIsInZlcmlzaWduIiwidmVybcO2Z2Vuc2JlcmF0ZXIiLCJ2ZXJtw7ZnZW5zYmVyYXR1bmciLCJ2ZXJzaWNoZXJ1bmciLCJ2ZXQiLCJ2ZyIsInZpIiwidmlhamVzIiwidmlkZW8iLCJ2aWciLCJ2aWtpbmciLCJ2aWxsYXMiLCJ2aW4iLCJ2aXAiLCJ2aXJnaW4iLCJ2aXNhIiwidmlzaW9uIiwidml2YSIsInZpdm8iLCJ2bGFhbmRlcmVuIiwidm4iLCJ2b2RrYSIsInZvbHZvIiwidm90ZSIsInZvdGluZyIsInZvdG8iLCJ2b3lhZ2UiLCJ2dSIsIndhbGVzIiwid2FsbWFydCIsIndhbHRlciIsIndhbmciLCJ3YW5nZ291Iiwid2F0Y2giLCJ3YXRjaGVzIiwid2VhdGhlciIsIndlYXRoZXJjaGFubmVsIiwid2ViY2FtIiwid2ViZXIiLCJ3ZWJzaXRlIiwid2VkIiwid2VkZGluZyIsIndlaWJvIiwid2VpciIsIndmIiwid2hvc3dobyIsIndpZW4iLCJ3aWtpIiwid2lsbGlhbWhpbGwiLCJ3aW4iLCJ3aW5kb3dzIiwid2luZSIsIndpbm5lcnMiLCJ3bWUiLCJ3b2x0ZXJza2x1d2VyIiwid29vZHNpZGUiLCJ3b3JrIiwid29ya3MiLCJ3b3JsZCIsIndvdyIsIndzIiwid3RjIiwid3RmIiwieGJveCIsInhlcm94IiwieGlodWFuIiwieGluIiwieHh4IiwieHl6IiwieWFjaHRzIiwieWFob28iLCJ5YW1heHVuIiwieWFuZGV4IiwieWUiLCJ5b2RvYmFzaGkiLCJ5b2dhIiwieW9rb2hhbWEiLCJ5b3UiLCJ5b3V0dWJlIiwieXQiLCJ5dW4iLCJ6YSIsInphcHBvcyIsInphcmEiLCJ6ZXJvIiwiemlwIiwiem0iLCJ6b25lIiwienVlcmljaCIsInp3IiwizrXOuyIsIs61z4UiLCLQsdCzIiwi0LHQtdC7Iiwi0LTQtdGC0LgiLCLQtdGOIiwi0LrQsNGC0L7Qu9C40LoiLCLQutC+0LwiLCLQvNC60LQiLCLQvNC+0L0iLCLQvNC+0YHQutCy0LAiLCLQvtC90LvQsNC50L0iLCLQvtGA0LMiLCLRgNGD0YEiLCLRgNGEIiwi0YHQsNC50YIiLCLRgdGA0LEiLCLRg9C60YAiLCLSm9Cw0LciLCLVsNWh1bUiLCLXmdep16jXkNecIiwi16fXldedIiwi2KfYqNmI2LjYqNmKIiwi2KfYsdin2YXZg9mIIiwi2KfZhNin2LHYr9mGIiwi2KfZhNio2K3YsdmK2YYiLCLYp9mE2KzYstin2KbYsSIsItin2YTYs9i52YjYr9mK2KkiLCLYp9mE2LnZhNmK2KfZhiIsItin2YTZhdi62LHYqCIsItin2YXYp9ix2KfYqiIsItin24zYsdin2YYiLCLYqNin2LHYqiIsItio2KfYstin2LEiLCLYqNmK2KrZgyIsItio2r7Yp9ix2KoiLCLYqtmI2YbYsyIsItiz2YjYr9in2YYiLCLYs9mI2LHZitipIiwi2LTYqNmD2KkiLCLYudix2KfZgiIsIti52LHYqCIsIti52YXYp9mGIiwi2YHZhNiz2LfZitmGIiwi2YLYt9ixIiwi2YPYp9ir2YjZhNmK2YMiLCLZg9mI2YUiLCLZhdi12LEiLCLZhdmE2YrYs9mK2KciLCLZhdmI2LHZitiq2KfZhtmK2KciLCLZhdmI2YLYuSIsItmH2YXYsdin2YciLCLZvtin2qnYs9iq2KfZhiIsItqA2KfYsdiqIiwi4KSV4KWJ4KSuIiwi4KSo4KWH4KSfIiwi4KSt4KS+4KSw4KSkIiwi4KSt4KS+4KSw4KSk4KSu4KWNIiwi4KSt4KS+4KSw4KWL4KSkIiwi4KS44KSC4KSX4KSg4KSoIiwi4Kas4Ka+4KaC4Kay4Ka+Iiwi4Kat4Ka+4Kaw4KakIiwi4Kat4Ka+4Kew4KakIiwi4Kit4Ki+4Kiw4KikIiwi4Kqt4Kq+4Kqw4KqkIiwi4Kyt4Ky+4Kyw4KykIiwi4K6H4K6o4K+N4K6k4K6/4K6v4K6+Iiwi4K6H4K6y4K6Z4K+N4K6V4K+IIiwi4K6a4K6/4K6Z4K+N4K6V4K6q4K+N4K6q4K+C4K6w4K+NIiwi4LCt4LC+4LCw4LCk4LGNIiwi4LKt4LK+4LKw4LKkIiwi4LSt4LS+4LSw4LSk4LSCIiwi4La94LaC4Laa4LePIiwi4LiE4Lit4LihIiwi4LmE4LiX4LiiIiwi4Lql4Lqy4LqnIiwi4YOS4YOUIiwi44G/44KT44GqIiwi44Ki44Oe44K+44OzIiwi44Kv44Op44Km44OJIiwi44Kw44O844Kw44OrIiwi44Kz44OgIiwi44K544OI44KiIiwi44K744O844OrIiwi44OV44Kh44OD44K344On44OzIiwi44Od44Kk44Oz44OIIiwi5LiW55WMIiwi5Lit5L+hIiwi5Lit5Zu9Iiwi5Lit5ZyLIiwi5Lit5paH572RIiwi5Lqa6ams6YCKIiwi5LyB5LiaIiwi5L2b5bGxIiwi5L+h5oGvIiwi5YGl5bq3Iiwi5YWr5Y2mIiwi5YWs5Y+4Iiwi5YWs55uKIiwi5Y+w5rm+Iiwi5Y+w54GjIiwi5ZWG5Z+OIiwi5ZWG5bqXIiwi5ZWG5qCHIiwi5ZiJ6YeMIiwi5ZiJ6YeM5aSn6YWS5bqXIiwi5Zyo57q/Iiwi5aSn5ou/Iiwi5aSp5Li75pWZIiwi5aix5LmQIiwi5a626Zu7Iiwi5bm/5LicIiwi5b6u5Y2aIiwi5oWI5ZaEIiwi5oiR54ix5L2gIiwi5omL5py6Iiwi5oub6IGYIiwi5pS/5YqhIiwi5pS/5bqcIiwi5paw5Yqg5Z2hIiwi5paw6Ze7Iiwi5pe25bCaIiwi5pu457GNIiwi5py65p6EIiwi5reh6ams6ZShIiwi5ri45oiPIiwi5r6z6ZaAIiwi54K555yLIiwi56e75YqoIiwi57uE57uH5py65p6EIiwi572R5Z2AIiwi572R5bqXIiwi572R56uZIiwi572R57ucIiwi6IGU6YCaIiwi6LC35q2MIiwi6LSt54mpIiwi6YCa6LKpIiwi6ZuG5ZuiIiwi6Zu76KiK55uI56eRIiwi6aOe5Yip5rWmIiwi6aOf5ZOBIiwi6aSQ5Y6FIiwi6aaZ5qC86YeM5ouJIiwi6aaZ5rivIiwi64u364S3Iiwi64u37Lu0Iiwi7IK87ISxIiwi7ZWc6rWtIl1gKSx5Zj0vXlstISMkJSYnKisvMC05PT9BLVpeX2EtemB7fH1+XShcLj9bLSEjJCUmJyorLzAtOT0/QS1aXl9hLXpge3x9fl0pKkBbYS16QS1aMC05XSgtKlwuP1thLXpBLVowLTldKSpcLlthLXpBLVpdKC0/W2EtekEtWjAtOV0pKyQvLGJmPS8oKD86d3d3Lik/W15ccy5dK1wuW15ccy9dK1wvW15ccy5dKykvLHhmPS9bJjw+IiddL2csU2Y9ZT0+e2xldCB0PXsiJiI6YCZhbXA7YCwiPCI6YCZsdDtgLCI+IjpgJmd0O2AsJyInOmAmcXVvdDtgLCInIjpgJiMzOTtgfSxuPVJlZ0V4cCh4Zi5zb3VyY2UpO3JldHVybiBlJiZuLnRlc3QoZSk/ZS5yZXBsYWNlKHhmLGU9PnRbZV0pOmV8fGBgfSxDZj1gb3ZlcmZsb3c6IGhpZGRlbjsgZGlzcGxheTogLXdlYmtpdC1pbmxpbmUtYm94OyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsOyAtd2Via2l0LWxpbmUtY2xhbXA6IDE7IGxpbmUtY2xhbXA6IDE7IHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtgLHdmPW5ldyBfZigpLnRsZHModmYpLnNldCh7ZnV6enlJUDohMH0pLFRmPW5ldyBfZigpLnRsZHModmYpLEVmPShlLHQsbik9PntsZXQgcj1CKCkubG9jYXRpb24uaG9zdG5hbWU7cmV0dXJuYDxhIGhyZWY9IiR7ZX0iIHRhcmdldD0iJHtyLmxlbmd0aD4wJiZlLmluY2x1ZGVzKHIpP2BfcGFyZW50YDpgX2JsYW5rYH0iIHJlbD0ibm9yZWZlcnJlciBub29wZW5lciIgdGl0bGU9IiR7ZX0iIHN0eWxlPSIke24/LmNsYW1wJiYhbj8ucmVwbGFjZVRleHQ/Q2Y6YGB9Ij4ke3R9PC9hPmB9LERmPShlLHQpPT57aWYoZT09PWBgKXJldHVybiBlO2xldCBuPXdmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBTZihlKTtsZXQgcj1gYCxpPTA7cmV0dXJuIG4uZm9yRWFjaChuPT57bGV0IGE9YGAsbz1gYCxzPU9mKGUsbiksYz10Py5jbGFtcCYmbi50ZXh0Lmxlbmd0aD4zMCYmIXM7bi5pbmRleD5pJiYoYT1lLnN1YnN0cmluZyhpLG4uaW5kZXgpKSxvPUVmKG4udXJsLG4udGV4dCx7Li4udCxjbGFtcDpjfSksaT1uLmxhc3RJbmRleCxzJiYoYT1hLnN1YnN0cmluZygwLGEubGVuZ3RoLTEpLGkrPTEpLGMmJiFrZihlLG4pJiYobz1gXG4ke299XG5gLGE9YS50cmltRW5kKCksZVtpXT8ubWF0Y2goL1xzLykmJihpKz0xKSkscis9U2YoYSkrb30pLGUubGVuZ3RoPmkmJihyKz1TZihlLnN1YnN0cmluZyhpKSkpLHJ9LE9mPShlLHQpPT5lW3QuaW5kZXgtMV09PT1gImAmJmVbdC5sYXN0SW5kZXhdPT09YCJgLGtmPShlLHQpPT4hISh0LmluZGV4PD0xJiZlLnN1YnN0cmluZyh0Lmxhc3RJbmRleCx0Lmxhc3RJbmRleCszKS5tYXRjaCgvW1xuXHJdKy8pfHxlLnN1YnN0cmluZyh0LmluZGV4LTMsdC5pbmRleCkubWF0Y2goL1tcblxyXSsvKSYmZS5zdWJzdHJpbmcodC5sYXN0SW5kZXgsdC5sYXN0SW5kZXgrMykubWF0Y2goL1tcblxyXSsvKXx8ZS5zdWJzdHJpbmcodC5pbmRleC0zLHQuaW5kZXgpLm1hdGNoKC9bXG5ccl0rLykmJnQubGFzdEluZGV4PmUubGVuZ3RoLTN8fHQuaW5kZXg8PTEmJnQubGFzdEluZGV4Pj1lLmxlbmd0aC0yKSxBZj1lPT5lLnJlcGxhY2UoL15odHRwcz86XC9cLy8sYGApLnJlcGxhY2UoL153d3dcLi8sYGApLnJlcGxhY2UoL1wvKyQvLGBgKS50b0xvd2VyQ2FzZSgpLGpmPWU9PntsZXQgdD1bYG1haWx0bzpgLGBmdHA6YCxgLy9gXSxuPVRmLm1hdGNoKGUpO2lmKCFuKXJldHVybiBudWxsO2xldCByPW5ldyBTZXQ7cmV0dXJuIG4uZmlsdGVyKGU9PntpZih0LmluY2x1ZGVzKGUuc2NoZW1hKSlyZXR1cm4hMTtsZXQgbj1BZihlLnVybCk7cmV0dXJuIHIuaGFzKG4pPyExOihyLmFkZChuKSwhMCl9KX0sTWY9KCk9PlBvKGBjYXJkc2ApLE5mPWU9PntGbyh7Li4uZX0sYGNhcmRzYCl9LFBmPWFzeW5jIGU9PntsZXQgdD1uZXcgSGVhZGVycyx7d2lkZ2V0QXBpVXJsOm59PVYuZ2V0T3B0aW9ucygpO3QuYXBwZW5kKGBDb250ZW50LVR5cGVgLGBhcHBsaWNhdGlvbi9qc29uYCk7bGV0IHI9SlNPTi5zdHJpbmdpZnkoe2xpbmtzOmV9KTt0cnl7bGV0IGU9YXdhaXQgZmV0Y2goYCR7bn0vbGlua3MvcHJldmlld2Ase21ldGhvZDpgUE9TVGAsaGVhZGVyczp0LGJvZHk6cn0pO3JldHVybiBlLm9rJiZlLmpzb24/YXdhaXQgZS5qc29uKCk6bnVsbH1jYXRjaHtyZXR1cm4gbnVsbH19LEZmPWU9PmUuZmluZChlPT5lLnR5cGU9PT1gb3Blbl91cmxgKT8udmFsdWV8fGBgLElmPWU9PntsZXQgdD1lLmZpbHRlcihlPT5lLnRpdGxlJiZlLmltYWdlJiYhUmYoRmYoZS5hY3Rpb25zKSkpO3JldHVybiB0Lmxlbmd0aCYmZS5sZW5ndGg+MT9lOnQubGVuZ3RoPT09MT90OltdfSxMZj1lPT57bGV0IHQ9bmV3IERhdGUoKS5nZXRUaW1lKCk7cmV0dXJuIE9iamVjdC5rZXlzKGUpLmZvckVhY2gobj0+eyghZVtuXS5leHBpcmF0aW9ufHxlW25dLmV4cGlyYXRpb24mJmVbbl0uZXhwaXJhdGlvbjx0KSYmZGVsZXRlIGVbbl19KSxlfSxSZj1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dH09QShibCksbj1lLm1hdGNoKC8oXC4pKFteLl17Myw0fSkkL20pO3JldHVybiBuJiZuWzJdJiZ0LmluY2x1ZGVzKG5bMl0pfSx6Zj1hc3luYyBlPT57dHJ5e2F3YWl0IHEuZ2V0Q2xpZW50KCkubGlua09wZW5lZCh7dXJsOmV9KX1jYXRjaChlKXtqbyhgU2VuZGluZyBsaW5rIG9wZW5lZCBhbmFseXRpY3MgZXZlbnQgZmFpbGVkYCxTdHJpbmcoZSkpfX0sQmY9KGUsdCk9PntpZighdClyZXR1cm47bGV0IG49YXN5bmMgbj0+e2xldCByPW4udGFyZ2V0LmNsb3Nlc3QoYGFgKTtyJiZlLmNvbnRhaW5zKHIpJiZ0JiZhd2FpdCB6ZihyLmhyZWYpfSxyPWU9PnZvaWQgbihlKSxpPWU9PntlLmJ1dHRvbiE9PTImJm4oZSl9LGE9ZT0+dm9pZCBuKGUpO3JldHVybiBlLmFkZEV2ZW50TGlzdGVuZXIoYGNsaWNrYCxyKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGF1eGNsaWNrYCxpKSxlLmFkZEV2ZW50TGlzdGVuZXIoYGNvbnRleHRtZW51YCxhKSx7ZGVzdHJveSgpe2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY2xpY2tgLHIpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgYXV4Y2xpY2tgLGkpLGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihgY29udGV4dG1lbnVgLGEpfX19LFZmPSExLEhmPU8oKSxVZj1PKCExKSxXZj1PKCExKSxHZj0oZSx0LG4pPT57bGV0IHI9e30saT1uZXcgRGF0ZSgpLmdldFRpbWUoKStNZDtlLmZvckVhY2goKGUsbik9PnJbZV09e2V4cGlyYXRpb246aSxjYXJkOnRbbl19KTtsZXQgYT17Li4ubiwuLi5yfTtIZi5zZXQoYSksTmYoYSl9LEtmPWFzeW5jKGUsdCxuPSExKT0+e2xldCByPVtdLGk9e3R5cGU6YGNhcmRzYCxsYXlvdXQ6YGNhcm91c2VsYCxpdGVtczpbXX07VmZ8fD0oSGYuc2V0KE1mKCkpLCEwKTtsZXQgYT1qZihlKTtpZighYSlyZXR1cm4gbnVsbDtsZXQgbz1MZihBKEhmKSkscz1bXTtpZihhLmZvckVhY2godD0+e09mKGUsdCl8fChvW3QudXJsXT9yLnB1c2gob1t0LnVybF0uY2FyZCk6cy5wdXNoKHQudXJsKSl9KSxzLmxlbmd0aD4wKXt0JiZVZi5zZXQoITApLG4mJldmLnNldCghMCk7bGV0IGU9YXdhaXQgUGYocyk7ZSYmKEdmKHMsZSxvKSxyPVsuLi5yLC4uLmVdKX1yZXR1cm4gaS5pdGVtcz1JZihyKSxVZi5zZXQoITEpLFdmLnNldCghMSksaS5pdGVtcy5sZW5ndGg+MD9pOm51bGx9LHFmPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbnRhY3RNZXNzYWdlPWBjb250YWN0LW1lc3NhZ2VgLGUuQWdlbnRNZXNzYWdlPWBhZ2VudC1tZXNzYWdlYCxlLkJvdE1lc3NhZ2U9YGJvdC1tZXNzYWdlYCxlLkJvdFJlcGxpZXM9YGJvdC1yZXBsaWVzYCxlfSh7fSksSmY9YXN5bmMoe3RleHQ6ZSxxdWlja1JlcGx5OnR9KT0+e3RyeXtsZXQgbj1CKCkubG9jYXRpb24uaHJlZjtyZXR1cm4gYXdhaXQgcS5nZXRDbGllbnQoKS5jaGF0TWVzc2FnZSh7Y29udGVudDp7dHlwZTpHLk1lc3NhZ2VDb250ZW50VHlwZS5UZXh0LHRleHQ6ZX0scXVpY2tSZXBseTp0LHBhZ2VVcmw6bn0pPz9udWxsfWNhdGNoe3JldHVybiBudWxsfX0sWWY9ZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3R8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuVHJpZ2dlcixYZj1lPT5lLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlN5c3RlbSxaZj1lPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk5vdGUsUWY9ZT0+IWUuZGVsZXRlZEF0JiYhWmYoZSkmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxZZihlKSksJGY9ZT0+YGh0bWxgaW4gZSYmISFlLmh0bWwsZXA9ZT0+YHRleHRgaW4gZSYmISFlLnRleHQsdHA9KGUsdCk9Pm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCktbmV3IERhdGUodC5jcmVhdGVkQXQpLmdldFRpbWUoKSxucD0oZSx0KT0+dD09PXFmLkJvdFJlcGxpZXM/YCR7ZS5pZH0tcmVwbGllc2A6ZS5pZCxycD1lPT57bGV0IHQ9e2lzUmlnaHQ6ITEsaXNMZWZ0OiExfSxuPXtpc1ByaW1hcnk6ITEsaXNTZWNvbmRhcnk6ITF9O3N3aXRjaChlKXtjYXNlIHFmLkNvbnRhY3RNZXNzYWdlOnQuaXNSaWdodD0hMCxuLmlzUHJpbWFyeT0hMDticmVhaztkZWZhdWx0OnQuaXNMZWZ0PSEwLG4uaXNTZWNvbmRhcnk9ITB9cmV0dXJue2FsaWduOnQsdmFyaWFudDpufX0saXA9ZT0+ISFlLmFnZW50SWR8fGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiZlLmNvbnRlbnQudHlwZSE9PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlRpY2tldEZvcm0sYXA9KGUsdCk9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuU3lzdGVtfHx0PT09cWYuQm90UmVwbGllc3x8ZS5jb250ZW50LnR5cGU9PT1HLk1lc3NhZ2VDb250ZW50VHlwZS5UaWNrZXRGb3JtLG9wPWU9PntsZXQgdD1bXSxuPW51bGwscj1udWxsO2ZvcihsZXQgaSBvZiBlKXtpZihpLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiYoaS5jb250ZW50LmRhdGEudGFyZ2V0PT09Ry5SYXRpbmdUYXJnZXQuQWkmJiFKcCgpfHxpLmNvbnRlbnQuZGF0YS50YXJnZXQ9PT1HLlJhdGluZ1RhcmdldC5BZ2VudCYmIXFwKCkpKWNvbnRpbnVlO24mJiFocChpLG4pJiYodC5wdXNoKG4pLG49bnVsbCxyPW51bGwpLG58fD1zcChpKTtsZXQgZT1scChpLG4pO2lmKHIpe2xldCB0PV9wKHIpLG49ZHAocik7ZS5uZWlnaGJvcnMuaGFzVG9wPXQsbi5hbnkubmVpZ2hib3JzLmhhc0JvdHRvbT10LG4uYXR0YWNobWVudENvbnRleHQmJihuLmF0dGFjaG1lbnRDb250ZXh0LmV4dHJhU3BhY2VzLmhhc0JvdHRvbT15cChuLmF0dGFjaG1lbnRDb250ZXh0LmF0dGFjaG1lbnQpKX1sZXQgYT1mcChpKTtpZihhJiZ1cChhLGUsciksbi5tZXNzYWdlc0NvbnRleHQucHVzaChlKSxyPWUsKFlmKGkpfHxYZihpKSkmJlRwKGkpKXt0LnB1c2gobik7bGV0IGU9Y3AoaSk7ZS5tZXNzYWdlc0NvbnRleHQucHVzaChscChpLGUpKSx0LnB1c2goZSksbj1udWxsfX1yZXR1cm4gbiYmdC5wdXNoKG4pLHR9LHNwPWU9PntsZXQgdD1ncChlKSxuPWUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXIse2FsaWduOnIsdmFyaWFudDppfT1ycCh0KTtyZXR1cm57dHlwZTp0LGlzQm90Om4saWQ6bnAoZSx0KSxkYXRlOmUuY3JlYXRlZEF0LGFnZW50SWQ6ZS5hZ2VudElkLGFsaWduOnIsdmFyaWFudDppLG1lc3NhZ2VzQ29udGV4dDpbXSxzaG93QXZhdGFyOmlwKGUpLHVzZUZ1bGxXaWR0aDphcChlLHQpfX0sY3A9ZT0+e2xldCB0PXFmLkJvdFJlcGxpZXMse2FsaWduOm4sdmFyaWFudDpyfT1ycCh0KTtyZXR1cm57dHlwZTpxZi5Cb3RSZXBsaWVzLGlzQm90OiEwLGlkOm5wKGUsdCksZGF0ZTplLmNyZWF0ZWRBdCxhZ2VudElkOmUuYWdlbnRJZCxhbGlnbjpuLHZhcmlhbnQ6cixtZXNzYWdlc0NvbnRleHQ6W10sc2hvd0F2YXRhcjohMSx1c2VGdWxsV2lkdGg6YXAoZSx0KX19LGxwPShlLHQpPT4oe2dyb3VwOnQsbWVzc2FnZTplLG5laWdoYm9yczp7aGFzVG9wOiExLGhhc0JvdHRvbTohMX0sYXR0YWNobWVudHNDb250ZXh0OltdfSksdXA9KGUsdCxuKT0+e2xldCByPW51bGw7Zm9yKGxldCBpIG9mIGUpe2xldCBlPXZwKGkpLGE9e2hhc1RvcDohMSxoYXNCb3R0b206ITF9LG89eXAoaSkscz17aGFzVG9wOm8saGFzQm90dG9tOiExfTtpZihyKXtsZXQgdD12cChyLmF0dGFjaG1lbnQpLG49eXAoci5hdHRhY2htZW50KTtyLm5laWdoYm9ycy5oYXNCb3R0b209dCYmZSxhLmhhc1RvcD10JiZlLHIuZXh0cmFTcGFjZXMuaGFzQm90dG9tPSFvJiZufWVsc2UgaWYodC5uZWlnaGJvcnMuaGFzQm90dG9tPWUsYS5oYXNUb3A9ZSxwcCh0Lm1lc3NhZ2UpKWlmKGEuaGFzVG9wPSExLHQubmVpZ2hib3JzLmhhc1RvcD0hMSx0Lm5laWdoYm9ycy5oYXNCb3R0b209ITEsbil7bGV0IHQ9X3Aobikscj1kcChuKTthLmhhc1RvcD10JiZlLHIuYW55Lm5laWdoYm9ycy5oYXNCb3R0b209dCYmZTtsZXQgaT1yLmF0dGFjaG1lbnRDb250ZXh0O2kmJihpLmV4dHJhU3BhY2VzLmhhc0JvdHRvbT0hbyYmeXAoaS5hdHRhY2htZW50KSl9ZWxzZSBzLmhhc1RvcD0hMTtsZXQgYz17YXR0YWNobWVudDppLG5laWdoYm9yczphLGV4dHJhU3BhY2VzOnMsbWVzc2FnZUNvbnRleHQ6dH07dC5hdHRhY2htZW50c0NvbnRleHQucHVzaChjKSxyPXsuLi5jfX19LGRwPWU9PntsZXQgdD1TZChlLmF0dGFjaG1lbnRzQ29udGV4dCl8fHZvaWQgMDtyZXR1cm57YXR0YWNobWVudENvbnRleHQ6dCxhbnk6dHx8ZX19LGZwPWU9PmU/ZS5jb250ZW50Py50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuVXBsb2FkP1tlLmNvbnRlbnQuZGF0YV06ZS5hdHRhY2htZW50czpbXSxwcD1lPT4hZS5jb250ZW50LnRleHQsbXA9ZT0+e3RyeXtsZXQgdD1CKCkubG9jYXRpb24uaG9zdG5hbWUsbj1uZXcgRE9NUGFyc2VyKCkucGFyc2VGcm9tU3RyaW5nKGUsYHRleHQvaHRtbGApO3JldHVybiBuLnF1ZXJ5U2VsZWN0b3JBbGwoYGFbaHJlZl1gKS5mb3JFYWNoKGU9PntsZXQgbj1lLmdldEF0dHJpYnV0ZShgaHJlZmApfHxgYDtuPW4ucmVwbGFjZSgvXmh0dHBzPzpcL1wvIj9odHRwcz86XC9cLy8sYGh0dHBzOi8vYCksbj1uLnJlcGxhY2UoL14iK3wiKyQvZyxgYCksZS5zZXRBdHRyaWJ1dGUoYGhyZWZgLG4pO2xldCByPXQubGVuZ3RoPjAmJm4uaW5jbHVkZXModCk7ZS5oYXNBdHRyaWJ1dGUoYHRhcmdldGApfHxlLnNldEF0dHJpYnV0ZShgdGFyZ2V0YCxyP2BfcGFyZW50YDpgX2JsYW5rYCksZS5oYXNBdHRyaWJ1dGUoYHJlbGApfHxlLnNldEF0dHJpYnV0ZShgcmVsYCxgbm9vcGVuZXIgbm9yZWZlcnJlcmApfSksbi5ib2R5LmlubmVySFRNTH1jYXRjaHtyZXR1cm4gZX19LGhwPShlLHQpPT57bGV0IG49Z3AoZSkscj1uPT09cWYuQWdlbnRNZXNzYWdlJiZlLmFnZW50SWQ9PT10LmFnZW50SWQsaT1uPT09cWYuQ29udGFjdE1lc3NhZ2UsYT1lLnN1YlR5cGUhPT1HLk1lc3NhZ2VTdWJUeXBlLkJvdHx8KGUuY29udGVudC5xdWlja1JlcGxpZXN8fFtdKS5sZW5ndGg9PT0wO3JldHVybiB0LnR5cGU9PT1uJiYocnx8aSkmJmEmJklkKHQuZGF0ZSxlLmNyZWF0ZWRBdCl9LGdwPWU9Pntzd2l0Y2goZS5zdWJUeXBlKXtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQWdlbnQ6cmV0dXJuIHFmLkFnZW50TWVzc2FnZTtjYXNlIEcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdDpyZXR1cm4gcWYuQ29udGFjdE1lc3NhZ2U7Y2FzZSBHLk1lc3NhZ2VTdWJUeXBlLkJvdDpyZXR1cm4gcWYuQm90TWVzc2FnZX1yZXR1cm4gbnVsbH0sX3A9ZT0+e2xldCB0PWUuYXR0YWNobWVudHNDb250ZXh0Lmxlbmd0aDtyZXR1cm4hKHQ+MCYmZS5hdHRhY2htZW50c0NvbnRleHRbdC0xXS5hdHRhY2htZW50LnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUpfSx2cD1lPT5lLnR5cGUhPT1HLkF0dGFjaG1lbnRUeXBlLkZpbGUmJmUudHlwZSE9PUcuQXR0YWNobWVudFR5cGUuQ2FyZHMseXA9ZT0+ISFlJiYoZS50eXBlPT09Ry5BdHRhY2htZW50VHlwZS5GaWxlfHxlLnR5cGU9PT1HLkF0dGFjaG1lbnRUeXBlLkNhcmRzKSxicD0oKT0+e2xldCBlPWdfKCk7ZS52b2x1bWU9cWMsZS5hZGRFdmVudExpc3RlbmVyKGBjYW5wbGF5dGhyb3VnaGAsKCk9PntlLnBsYXkoKS5jYXRjaChlPT5IKGBDb3VsZCBub3QgcGxheSBtZXNzYWdlIHNvdW5kLmAsZSkpfSl9LHhwPUtkKGJwLEpjKSxTcD1lPT5lLmZpbHRlcihlPT5lLnR5cGU9PT1HLk1lc3NhZ2VUeXBlLk1lc3NhZ2UmJihlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkFnZW50fHxlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QpKSxDcD0oZSx0PSEwKT0+e2xldCBuPWUucmVkdWNlKChlLHQpPT4oZS5wdXNoKHQpLHQuY29udGVudC50eXBlPT09Ry5NZXNzYWdlQ29udGVudFR5cGUuQ2hhdENsb3NlfHx0LmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLkNoYXRWaXNpdG9yQ2xvc2U/W106ZSksW10pO3JldHVybiB0P24uZmlsdGVyKGU9PmUudHlwZT09PUcuTWVzc2FnZVR5cGUuTWVzc2FnZSYmZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5TeXN0ZW0pOm59LHdwPWU9PntsZXQgdD17fTtyZXR1cm4gZS5mb3JFYWNoKGU9PntlLnRyaWdnZXImJih0W2UudHJpZ2dlci5pZF09e3NlbnQ6ITB9KX0pLHR9LFRwPWU9PiEhKGUuY29udGVudC5xdWlja1JlcGxpZXMmJmUuY29udGVudC5xdWlja1JlcGxpZXMubGVuZ3RoPjApLEVwPWFzeW5jKGUsdD0hMSk9PntsZXQgbj1RZihlKSxyPSF0JiZuO2lmKGBodG1sYGluIGUuY29udGVudCYmZS5jb250ZW50Lmh0bWwmJihlLmNvbnRlbnQuaHRtbD1tcChlLmNvbnRlbnQuaHRtbCkpLGUuY29udGVudD8udGV4dCYmVi5nZXRPcHRpb25zKCkudXJsQ2FyZHNFbmFibGVkJiZlLmF0dGFjaG1lbnRzLmxlbmd0aD09PTApe2xldCB0PWF3YWl0IEtmKGUuY29udGVudC50ZXh0LGUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCxyKTt0JiZ0Lml0ZW1zLmxlbmd0aD4wJiZlLmF0dGFjaG1lbnRzLnB1c2godCl9cmV0dXJuIG5kLnNldCghMSksZX0sRHA9YXN5bmMgZT0+KFYuZ2V0T3B0aW9ucygpLnVybENhcmRzRW5hYmxlZCYmYXdhaXQgUHJvbWlzZS5hbGwoZS5tYXAoYXN5bmMgZT0+YXdhaXQgRXAoZSkpKSxlKSxPcD1lPT5lLmZpbmRJbmRleChlPT5lLm1lc3NhZ2UuY2hhbm5lbC50eXBlPT09YGVtYWlsYCk+LTEsa3A9ZT0+ZS5maW5kKGU9PmUubWVzc2FnZT8udHJpZ2dlcj8uaWRlbnRpdHlJZCk/Lm1lc3NhZ2U/LnRyaWdnZXI/LmlkZW50aXR5SWQsSj0oKCk9PntsZXQgZT1PKHt9KSx7c3Vic2NyaWJlOnQsdXBkYXRlOm4sc2V0OnJ9PWUsaT1hc3luYyBlPT57cihybChgaWRgLGF3YWl0IERwKGUpKSl9LGE9YXN5bmMgZT0+e2xldCB0PWF3YWl0IEVwKGUpO1lmKGUpJiZNcC5zZXQoITEpLG4obj0+KHsuLi5uLFtlLmlkXTp0fSkpLGpwKHQpfSxvPWFzeW5jIGU9PntpZighQShScCkuc29tZSh0PT50LmlkPT09ZS5pZCkpcmV0dXJuO2xldCB0PUEoQnApPT09ZS5pZD9hd2FpdCBFcChlLCEwKTplO24obj0+KHsuLi5uLFtlLmlkXTp0fSkpfTtyZXR1cm57c3Vic2NyaWJlOnQsc2V0TWVzc2FnZXM6aSxhZGRNZXNzYWdlOmEsZGVsZXRlTWVzc2FnZTplPT57bih0PT57bGV0e1tlXTpuLC4uLnJ9PXQ7cmV0dXJuIHJ9KX0sbWFya01lc3NhZ2VBc0RlbGV0ZWQ6KHQscik9PntsZXQgaT1BKGUpW3RdO2kmJm4oZT0+KHsuLi5lLFtpLmlkXTp7Li4uaSxkZWxldGVkQXQ6cj8/bmV3IERhdGUoKS50b0lTT1N0cmluZygpfX0pKX0scmVwbGFjZU1lc3NhZ2U6byx1cGRhdGVNZXNzYWdlUmF0aW5nOmU9PntBKGlkKT09PWUuY29udGVudC5kYXRhPy50YXJnZXQmJnhkKCksbih0PT4hZXx8ZS5jb250ZW50LnR5cGUhPT1HLk1lc3NhZ2VDb250ZW50VHlwZS5SYXRlRm9ybT97Li4udH06KHRbZS5pZF18fFlwKGUuaWQpLHsuLi50LFtlLmlkXTplfSkpfSxzZW5kTWVzc2FnZTphc3luYyhlLHQpPT57S3Auc2V0KGUpO2xldCBuPWF3YWl0IEpmKHt0ZXh0OmV9KTtuJiYoS3Auc2V0KG51bGwpLGF3YWl0IGEobiksei5lbWl0KGBtZXNzYWdlU2VudGAsbiksd2goQSgkdSkpKSxhd2FpdCBQcm9taXNlLmFsbCh0Lm1hcChlPT5PZChlKSkpfSxzZW5kQm90UmVwbHk6YXN5bmMoZSx0LG4pPT57bGV0IHI9YXdhaXQgSmYoe3RleHQ6dCxxdWlja1JlcGx5OntyZXBseVRvOmUscGF5bG9hZDpufX0pO24uaXNHb0JhY2tCdXR0b258fEptKHQpLHImJmF3YWl0IG8ocil9LGNsZWFyTWVzc2FnZXM6KCk9PntyKHt9KX19fSkoKSxBcD1lPT57QShSXyl8fElfKCksUV8oKSxzZXRUaW1lb3V0KCgpPT57Si5hZGRNZXNzYWdlKGUpLCRfKCl9LDE2MDApfSxqcD1lPT57ZSYmQShEXykmJkEoUl8pJiYhKEEoa18pJiZBKFgpKSYmX18oZSkmJnhwKCl9LE1wPU8oITEpLE5wPWsoW0pdLChbZV0pPT57bGV0IHQ9T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoUWYpO3JldHVybiB0P1NkKHQuc29ydCgoZSx0KT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpLmdldFRpbWUoKS1uZXcgRGF0ZSh0LmNyZWF0ZWRBdCkuZ2V0VGltZSgpKSk6bnVsbH0pLFBwPWsoW0oscmRdLChbZSx0XSk9PntsZXQgbj1PYmplY3QudmFsdWVzKGUpLmZpbHRlcihRZik7cmV0dXJuIHQ/bi5maWx0ZXIoZT0+bmV3IERhdGUoZS5jcmVhdGVkQXQpPm5ldyBEYXRlKHQpKTpufSksRnA9ayhbUHBdLChbZV0pPT5TZChlKSksSXA9ayhbUHBdLChbZV0pPT5lLmxlbmd0aCksTHA9ayhbSXBdLChbZV0pPT5lPjApLFJwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLnNvcnQodHApKSx6cD1rKFtScF0sKFtlXSk9Pm9wKGUpKSxCcD1rKFtScF0sKFtlXSk9PlNkKGUpPy5pZD8/bnVsbCksVnA9ayhbSl0sKFtlXSk9PlNkKE9iamVjdC52YWx1ZXMoZSkuZmlsdGVyKGU9PnR5cGVvZiBlLndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD09YGJvb2xlYW5gKSk/LndpZGdldE9wdGlvbnM/LmRpc2FibGVJbnB1dD8/ITEpLEhwPWsoW0pdLChbZV0pPT5PYmplY3QudmFsdWVzKGUpLmZpbHRlcihlPT5lLnN1YlR5cGU9PT1gY29udGFjdGB8fGUuc3ViVHlwZT09PWBhZ2VudGApLmxlbmd0aD4wKSxVcD1rKFtKXSwoW2VdKT0+T2JqZWN0LnZhbHVlcyhlKS5maWx0ZXIoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KS5sZW5ndGg+MCksV3A9ayhbSixDc10sKFtlLHRdLG4pPT57aWYodCl7bGV0IHI9ZVt0XTtyJiZyLmNvbnRlbnQudHlwZT09PUcuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtJiZuKHttZXNzYWdlSWQ6ci5pZCx2YWx1ZTpyLmNvbnRlbnQuZGF0YT8udmFsdWUsdGV4dDpyLmNvbnRlbnQuZGF0YT8udGV4dCx0YXJnZXQ6ci5jb250ZW50LmRhdGE/LnRhcmdldH0pfWVsc2UgbihudWxsKX0pLEdwPWsoW1JwXSwoW2VdKT0+ZS5zbGljZSgpLnJldmVyc2UoKS5maW5kKGU9PmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCl8fG51bGwpLEtwPU8obnVsbCkscXA9KCk9PiEhVi5nZXRPcHRpb25zKCkucmF0aW5nRW5hYmxlZCxKcD0oKT0+ISFWLmdldE9wdGlvbnMoKS5haVJhdGluZ0VuYWJsZWQsWXA9ZT0+e0NzLnNldChlKSxCYyhIYy5DaGF0UmF0aW5nKX0sWHA9YXN5bmMoe21lc3NhZ2VJZDplLHJhdGluZzp7dGV4dDp0LHZhbHVlOm59LG9uU3VjY2VzczpyfSk9PntsZXQgaT1BKEopW2VdLGE9ZT09PWByYXRlX2Zvcm1faWRgP3ZvaWQgMDplO3RyeXthd2FpdCBxLmdldENsaWVudCgpLmNoYXRSYXRlKHttZXNzYWdlSWQ6YSx2YWx1ZTpuLHRleHQ6dD8/dm9pZCAwfSksciYmcigpfWNhdGNoKGUpe2kmJmF3YWl0IEoucmVwbGFjZU1lc3NhZ2UoaSksam8oYENoYXQgcmF0aW5nIGZhaWxlZC5gLFN0cmluZyhlKSksZ3MoQShXKShgZm9ybS5zdWJtaXQuZXJyb3JgKSl9fSxacD1lPT57bGV0e3dpZGdldFYzVXJsOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybmAke3R9L2Fzc2V0cy9pbWFnZXMvcmF0aW5nLyR7ZX0uc3ZnYH0sUXA9LyhHLShbQS1aLDAtOV0qKSkvZywkcD1bXSxlbT0hMSx0bSxubT0hMSxybSxpbT1lPT5lLm1hdGNoKFFwKSxhbT0oKT0+e2xldHtnb29nbGVBbmFseXRpY3NFbmFibGVkOmV9PVYuZ2V0T3B0aW9ucygpO3RtPXdpbmRvdy50b3B8fHdpbmRvdyxlJiYodG0uZ3RhZyYmKHJtPXRtLmd0YWcsbm09ITApLHoub24oYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCxvbSksIWVtJiZVbygpJiZzbSgpKX0sb209ZT0+eyFlbSYmZSYmc20oKX0sc209KCk9PntsZXR7Z2FLZXk6ZSxnYU9wdGlvbnM6dCxnb29nbGVBbmFseXRpY3NNYW51YWw6bixnb29nbGVBbmFseXRpY3NNZWFzdXJlbWVudElkczpyfT1WLmdldE9wdGlvbnMoKSxpPXR8fHtjb29raWVEb21haW46YGF1dG9gfTtpZihlKWltKGUpJiYkcC5wdXNoKHtrZXk6ZSxvcHRpb25zOml9KTtlbHNlIGlmKG4mJnIpci5mb3JFYWNoKGU9PntpbShlKSYmJHAucHVzaCh7a2V5OmUsb3B0aW9uczppfSl9KTtlbHNlIHRyeXskcC5wdXNoKC4uLmNtKCkpfWNhdGNoKGUpe3ZvKGBFcnJvciBkdXJpbmcgZ2V0dGluZyBHQSB0b3AgdHJhY2tlcnNgLGUgaW5zdGFuY2VvZiBFcnJvcj9lLm1lc3NhZ2U6ZSl9JHAubGVuZ3RoPjAmJiFubSYmbG0oKSwkcC5sZW5ndGg9PT0wP3ZvKGBObyBHQSB0byBzZXR1cGApOihkbSgpLGVtPSEwLHZvKGBHQSBpbml0aWFsaXplZGApKX0sY209KCk9PntsZXQgZT1bXTtyZXR1cm4gdG0uZ29vZ2xlX3RhZ19tYW5hZ2VyJiZPYmplY3Qua2V5cyh0bS5nb29nbGVfdGFnX21hbmFnZXIpLmZvckVhY2godD0+e2ltKHQpJiZlLnB1c2goe2tleTp0LG9wdGlvbnM6e2Nvb2tpZURvbWFpbjpgYXV0b2B9fSl9KSxlfSxsbT0oKT0+e2xldCBlPXRtLmRvY3VtZW50LHtoZWFkOnR9PWUsbj1lLmNyZWF0ZUVsZW1lbnQoYHNjcmlwdGApO24uaWQ9YGd0YWdgLG4udHlwZT1gdGV4dC9qYXZhc2NyaXB0YCxuLmFzeW5jPSEwLG4uc3JjPWBodHRwczovL3d3dy5nb29nbGV0YWdtYW5hZ2VyLmNvbS9ndGFnL2pzYCx0Lmluc2VydEJlZm9yZShuLHQuZmlyc3RDaGlsZCksdG0uZGF0YUxheWVyPXRtLmRhdGFMYXllcnx8W10sdG0uZ3RhZz1mdW5jdGlvbigpe3RtLmRhdGFMYXllci5wdXNoKGFyZ3VtZW50cyl9LHJtPXRtLmd0YWcscm0oYGpzYCxuZXcgRGF0ZSl9LHVtPSgpPT57bGV0IGU9W107aWYobm0pe2xldCB0PWNtKCk7JHAuZm9yRWFjaChuPT57dC5maW5kKCh7a2V5OmV9KT0+ZT09PW4ua2V5KXx8ZS5wdXNoKG4pfSl9ZWxzZSBlPVsuLi4kcF07cmV0dXJuIGV9LGRtPSgpPT57dW0oKS5mb3JFYWNoKGU9PntsZXR7a2V5OnQsb3B0aW9uczpufT1lLHI9e307bj8ocj17Y29va2llX2RvbWFpbjpuLmNvb2tpZURvbWFpbn0sbi5uYW1lJiYoci5uYW1lPW4ubmFtZSkpOnI9e2Nvb2tpZV9kb21haW46dG0/LmxvY2F0aW9uLmhvc3RuYW1lfHxgYH0sci5zZW5kX3BhZ2Vfdmlldz0hMSxybShgY29uZmlnYCx0LHIpfSl9LGZtPShlLHQpPT57bGV0e2dvb2dsZUFuYWx5dGljc0VuYWJsZWQ6bn09Vi5nZXRPcHRpb25zKCk7aWYoISghbnx8IXRtLmd0YWd8fCFVbygpfHx0bS5kb2N1bWVudC5oaWRkZW4pKXRyeXskcC5mb3JFYWNoKG49Pnt0LnNlbmRfdG89bi5rZXkscm0oYGV2ZW50YCxlLHQpLHZvKGBTbWFydHN1cHA6IEdBIGV2ZW50ICR7ZX0gLSAke0pTT04uc3RyaW5naWZ5KHQpfWApfSl9Y2F0Y2goZSl7dm8oYFNtYXJ0c3VwcDogR0EgZXJyb3I6YCxlIGluc3RhbmNlb2YgRXJyb3I/ZS5tZXNzYWdlOmUpfX0scG09YFZpc2l0b3Jfc3RhcnRlZF9jb252ZXJzYXRpb25gLG1tPWBWaXNpdG9yX2Nsb3NlZF9jb252ZXJzYXRpb25gLGhtPWBUcmlnZ2VyX21lc3NhZ2Vfc2VudGAsZ209YFRyaWdnZXJfbWVzc2FnZV92aWV3ZWRgLF9tPWBUcmlnZ2VyX3Zpc2l0b3JfcmVhY3Rpb25gLHZtPWBBdXRvX21lc3NhZ2Vfc2VudGAseW09YEF1dG9fbWVzc2FnZV92aWV3ZWRgLGJtPWBBdXRvX21lc3NhZ2VfdmlzaXRvcl9yZWFjdGlvbmAseG09YENoYXRib3Rfc2VudGAsU209YENoYXRib3Rfdmlld2VkYCxDbT1gQ2hhdGJvdF9pbnRlcmFjdGlvbmAsd209YENoYXRib3RfYnV0dG9uX2ludGVyYWN0aW9uYCxUbT1gQ2hhdGJvdF92aXNpdG9yX3JlYWN0aW9uYCxFbT1gQWlfY2hhdGJvdF9zZW50YCxEbT1gQWlfY2hhdGJvdF9pbnRlcmFjdGlvbmAsT209YEFpX2NoYXRib3RfdmlzaXRvcl9yZWFjdGlvbmAsa209YEFnZW50X3NlcnZlZF9jb252ZXJzYXRpb25gLEFtPWBBZ2VudF9jbG9zZWRfY29udmVyc2F0aW9uYCxqbT1gQ29udGFjdF9hY3F1aXJlZGAsTW09YEF1dGhfZm9ybV9maWxsZWRgLE5tPWBPZmZsaW5lX21lc3NhZ2Vfc2VudGAsUG09YEZlZWRiYWNrX3NlbnRgLEZtPWBGZWVkYmFja190ZXh0X3NlbnRgLEltPWBVcmxfY2FyZF9vcGVuZWRgLExtPWBDaGF0Ym94X29wZW5lZGAsUm09e2V2ZW50X2NhdGVnb3J5OmBTbWFydHN1cHBfdjNgLG5vbl9pbnRlcmFjdGlvbjohMH0sWT0oZSx0KT0+e2ZtKGUsey4uLlJtLC4uLnR9KX0sem09KGU9YGApPT5ZKGhtLHtldmVudF9sYWJlbDplfSksQm09ZT0+WShnbSx7ZXZlbnRfbGFiZWw6ZX0pLFZtPShlPWBgKT0+WShfbSx7ZXZlbnRfbGFiZWw6ZX0pLEhtPShlPWBgKT0+WSh2bSx7ZXZlbnRfbGFiZWw6ZX0pLFVtPWU9PlkoeW0se2V2ZW50X2xhYmVsOmV9KSxXbT0oZT1gYCk9PlkoYm0se2V2ZW50X2xhYmVsOmV9KSxHbT0oZT1gYCk9PlkoeG0se2V2ZW50X2xhYmVsOmV9KSxLbT1lPT5ZKFNtLHtldmVudF9sYWJlbDplfSkscW09KGU9YGApPT5ZKENtLHtldmVudF9sYWJlbDplfSksSm09KGU9YGApPT5ZKHdtLHtldmVudF9sYWJlbDplfSksWW09KGU9YGApPT5ZKFRtLHtldmVudF9sYWJlbDplfSksWG09KCk9PlkocG0pLFptPSgpPT5ZKG1tKSxRbT1lPT5ZKEFtLHtldmVudF9sYWJlbDplfSksJG09ZT0+WShrbSx7ZXZlbnRfbGFiZWw6ZX0pLGVoPSgpPT5ZKE1tKSx0aD0oKT0+WShObSksbmg9KGUsdCk9PntsZXQgbj17ZXZlbnRfbGFiZWw6dHx8dnNbZV18fGBgLHZhbHVlOmV9O1kodD9GbTpQbSxuKX0scmg9ZT0+WShqbSx7ZXZlbnRfbGFiZWw6ZX0pLGloPWU9PlkoSW0se2V2ZW50X2xhYmVsOmV9KSxhaD0oZT1gYCk9PlkoRW0se2V2ZW50X2xhYmVsOmV9KSxvaD0oZT1gYCk9PlkoRG0se2V2ZW50X2xhYmVsOmV9KSxzaD0oZT1gYCk9PlkoT20se2V2ZW50X2xhYmVsOmV9KSxjaD0oKT0+WShMbSksbGg9ITEsdWg9e30sZGg9KCk9PntsaD0hMX0sZmg9KCk9Pnt1aD13cChBKFJwKSl9LHBoPShlLHQpPT5saD8hMTpDcChlKS5sZW5ndGg9PT0xJiZ0PT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0PyhsaD0hMCwhMCk6ITEsbWg9KGUsdCk9PntsZXQgbj1lLnRyaWdnZXI/LmlkfHxgYDtyZXR1cm4gdC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiZlLnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJiF1aFtuXT8udmlzaXRvclJlc3BvbmRlZD8odWhbbl0udmlzaXRvclJlc3BvbmRlZD0hMCwhMCk6ITF9LGhoPShlLHQpPT57bGV0IG49ZS50cmlnZ2VyPy5pZHx8YGA7cmV0dXJuIHQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQ29udGFjdCYmISh0LmNvbnRlbnQucXVpY2tSZXBsaWVzfHx0LmNvbnRlbnQucXVpY2tSZXBseSkmJmUuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90JiYhdWhbbl0/LnZpc2l0b3JSZXNwb25kZWQmJm4/KHVoW25dLnZpc2l0b3JSZXNwb25kZWQ9ITAsITApOiExfSxnaD0oZSx0KT0+e2xldCBuPWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiB0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLkNvbnRhY3QmJmUudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmIXVoW25dPy5yZWFjdGVkPyh1aFtuXS5yZWFjdGVkPSEwLCEwKTohMX0sX2g9ZT0+e2xldCB0PWUudHJpZ2dlcj8uaWR8fGBgO3JldHVybiBlLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYhdWhbdF0/LnJlYWN0ZWQ/KHVoW3RdLnJlYWN0ZWQ9ITAsITApOiExfSx2aD0oZSx0LG49ITEpPT57aWYoZS5sZW5ndGg+MCYmIW4pe2xldCB0PWUuc2xpY2UoLTIpLmZpbHRlcihlPT5lLnRyaWdnZXIpO3JldHVybiB0P3RbdC5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZTpgYH1lbHNlIHJldHVybiB0LnRyaWdnZXI/dC50cmlnZ2VyLm5hbWU6YGB9LHloPWU9PntsZXQgdD1BKFJwKTt4aCh0LGUpLFNoKHQsZSkscGgodCxlLnN1YlR5cGUpJiZYbSgpfSxiaD1lPT57bGV0IHQ9ZSxuPUEoUnApLmZpbHRlcihlPT5lLnRyaWdnZXIpO24mJm4ubGVuZ3RoPjAmJih0PW5bbi5sZW5ndGgtMV0udHJpZ2dlcj8ubmFtZT8/ZSkscmgodCl9LHhoPShlLHQpPT57bGV0IG49dC50cmlnZ2VyPy5pZHx8YGA7dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJiF1aFtuXT8uc2VudCYmKHQudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuY2hhdGJvdCYmKEdtKHZoKGUsdCwhMCkpLHVoW25dPXtzZW50OiEwfSksdC50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5tZXNzYWdlJiYoSG0odmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSx0LnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLmFpJiYoYWgodmgoZSx0LCEwKSksdWhbbl09e3NlbnQ6ITB9KSk7bGV0IHI9ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtyJiYoaGgocix0KT8oci50cmlnZ2VyPy5ncm91cFR5cGU9PT1HLkdyb3VwVHlwZS5jaGF0Ym90JiZZbSh2aChlLHQpKSxyLnRyaWdnZXI/Lmdyb3VwVHlwZT09PUcuR3JvdXBUeXBlLm1lc3NhZ2UmJldtKHZoKGUsdCkpLHIudHJpZ2dlcj8uZ3JvdXBUeXBlPT09Ry5Hcm91cFR5cGUuYWkmJnNoKHZoKGUsdCkpKTpnaChyLHQpP3FtKHZoKGUsdCkpOl9oKHQpJiZvaCh2aChlLHQpKSl9LFNoPShlLHQpPT57dC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5UcmlnZ2VyJiYoem0odD8udHJpZ2dlcj8ubmFtZSksdWhbdC50cmlnZ2VyPy5pZHx8YGBdPXtzZW50OiEwfSk7bGV0IG49ZS5sZW5ndGg+MT9lW2UubGVuZ3RoLTJdOnZvaWQgMDtuJiZtaChuLHQpJiZWbSh2aChlLHQpKX0sQ2g9KCk9PntsZXQgZT1BKFBwKS5maWx0ZXIoZT0+ZS50cmlnZ2VyKSx0PWVbZS5sZW5ndGgtMV07dCYmdC50cmlnZ2VyJiYodC5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Cb3QmJnQuY29udGVudC5xdWlja1JlcGxpZXM/S20odC50cmlnZ2VyLm5hbWUpOnQuc3ViVHlwZT09PUcuTWVzc2FnZVN1YlR5cGUuQm90P1VtKHQudHJpZ2dlci5uYW1lKTp0LnN1YlR5cGU9PT1HLk1lc3NhZ2VTdWJUeXBlLlRyaWdnZXImJkJtKHQudHJpZ2dlci5uYW1lKSl9LHdoPWU9PntlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJnRoKCl9O3oub24oYG1lc3NhZ2VSZWNlaXZlZGAseWgpLHoub24oYGFnZW50Sm9pbmVkYCxlPT57JG0oZS5mdWxsbmFtZSl9KSx6Lm9uKGBjaGF0UmF0ZWRgLGU9PntuaChlLnZhbHVlLGUudGV4dCl9KSx6Lm9uKGBjaGF0Q2xvc2VkYCwoKT0+e2RoKCl9KSx6Lm9uKGBjaGF0VmlzaXRvckNsb3NlZGAsKCk9PntkaCgpfSksei5vbihgY29udGFjdEFjcXVpcmVkYCwoe2FjcXVpcmVkQnk6ZX0pPT57YmgoZSl9KSxYbC5wdXNoKGZoKTt2YXIgVGg9e0Fycm93RG93bjpgQXJyb3dEb3duYCxBcnJvd1VwOmBBcnJvd1VwYCxFbnRlcjpgRW50ZXJgLEVzY2FwZTpgRXNjYXBlYCxUYWI6YFRhYmB9LEVoPTJlMyxEaD0yZTMsT2g9ZT0+ZS5maWx0ZXIoZT0+IWUuaXNIaWRkZW4pLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbHVlLGUpLHt9KSxraD1lPT5lLnJlZHVjZSgoZSx0KT0+KGVbdC5uYW1lXT10LnZhbGlkYXRvcnMsZSkse30pLEFoPShlLHQsbik9PntlLnVwZGF0ZShlPT4oey4uLmUsW3RdOm59KSl9LGpoPShlLHQpPT57bGV0IG49e307Zm9yKGxldCByIGluIGUpbltyXT10O3JldHVybiBufSxNaD0oKT0+TWF0aC5yYW5kb20oKS50b1N0cmluZygzNiksTmg9ZT0+e2lmKCFlKXJldHVybiExO2xldCB0PWUuc3BsaXQoYEBgKTtpZih0Lmxlbmd0aCE9PTIpcmV0dXJuITE7bGV0IG49dFswXSxyPXRbMV07cmV0dXJuIG4ubGVuZ3RoPjY0fHxyLmxlbmd0aD4yNTV8fHIuc3BsaXQoYC5gKS5zb21lKGU9PmUubGVuZ3RoPjYzKT8hMTp5Zi50ZXN0KGUpfSxQaD1udWxsLEZoPWU9PntsZXQgdD1lLmluaXRpYWxWYWx1ZXN8fHt9LHt2YWxpZGF0b3JzOm4sb25DaGFuZ2U6cixvblN1Ym1pdDppfT1lLGE9KCk9Pih7Li4udH0pLG89amgodCxQaCkscz1PKGEoKSksYz1PKG8pLGw9TyhqaCh0LCExKSksdT1PKCExKSxkPWsoYyxlPT5PYmplY3QudmFsdWVzKGUpLmV2ZXJ5KGU9PmU9PT1QaCkpLGY9KCk9PntPYmplY3QuZW50cmllcyhBKHMpKS5mb3JFYWNoKChbZSx0XSk9PntlZShlLHQpfSl9LHA9ZT0+e2xldCB0PWUudGFyZ2V0O3QmJl8odC5uYW1lfHx0LmlkLHQudmFsdWUpfSxtPWFzeW5jIGU9PntpZihlJiZlLnByZXZlbnREZWZhdWx0JiZlLnByZXZlbnREZWZhdWx0KCksdS5zZXQoITApLGYoKSwhQShkKSl7dS5zZXQoITEpO3JldHVybn1jLnNldChvKSxhd2FpdCBpKEEocykpLHUuc2V0KCExKX0saD0oZSx7c2hvdWxkVmFsaWRhdGU6dD0hMX09e30pPT57cy51cGRhdGUodD0+KHsuLi50LC4uLmV9KSksdCYmZigpfSxnPShlLHQpPT57XyhlLHQpfSxfPShlLHQpPT57dihlLHQpLGVlKGUsdCksciYmcihlLHQpfSx2PShlLHQpPT57QWgocyxlLHQpfSx5PShlLHQpPT57QWgobCxlLHQpfSxlZT0oZSx0KT0+e3koZSx0KTtsZXQgcj1uW2VdO2lmKHIpZm9yKGxldCBuIG9mIHIpe2xldHt0eXBlOnIsaXNWYWxpZDppfT1uKHQpO2lmKEFoKGMsZSxpP1BoOnIpLCFpKXJldHVybn19O3JldHVybntmb3JtOnMsZXJyb3JzOmMsaXNWYWxpZDpkLGlzU3VibWl0dGluZzp1LGhhbmRsZUNoYW5nZTpwLGhhbmRsZVN1Ym1pdDptLHNldEZpZWxkVmFsdWU6ZyxzZXRWYWx1ZXM6aH19LEloPWZ1bmN0aW9uKGUpe3JldHVybiBlLlRleHQ9YHRleHRgLGUuQ2hlY2tib3g9YGNoZWNrYm94YCxlLlNlbGVjdD1gc2VsZWN0YCxlfSh7fSksTGg9KCk9PmU9PntsZXQgdD0hMDtyZXR1cm4gZT8/KHQ9ITEpLEx1KGUpJiYodD1lLnRyaW0oKS5sZW5ndGg+MCkse3R5cGU6YHJlcXVpcmVkYCxpc1ZhbGlkOnR9fSxSaD0oKT0+ZT0+KHt0eXBlOmBjaGVja2VkYCxpc1ZhbGlkOkx1KGUpP2U9PT1gdHJ1ZWA6ZT09PSEwfSksemg9KCk9PmU9Pih7dHlwZTpgZW1haWxgLGlzVmFsaWQ6TmgoU3RyaW5nKGUpKX0pLEJoPSgpPT5lPT4oe3R5cGU6YHBob25lYCxpc1ZhbGlkOi9eWytdKlsoXXswLDF9WzAtOV17MSw0fVspXXswLDF9Wy1zLi8wLTldKiQvLnRlc3QoU3RyaW5nKGUpKX0pLFZoPU8odm9pZCAwKSxIaD1lPT57bGV0e2VtYWlsQ29udHJvbDp0fT1WLmdldE9wdGlvbnMoKSxuPSEhZT8uZW1haWw7cmV0dXJuIHQmJiFufSxVaD1lPT57bGV0e25hbWVDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5uYW1lO3JldHVybiB0JiYhbn0sV2g9ZT0+e2xldHtudW1iZXJDb250cm9sOnR9PVYuZ2V0T3B0aW9ucygpLG49ISFlPy5waG9uZTtyZXR1cm4hIXQmJiFufSxHaD0oKT0+e2xldHtncm91cFNlbGVjdEVuYWJsZWQ6ZX09Vi5nZXRPcHRpb25zKCksdD1BKGFsKTtyZXR1cm4hIWUmJnQubGVuZ3RoPjB9LEtoPSgpPT57bGV0e3ByaXZhY3lOb3RpY2VFbmFibGVkOmUscHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1jZygpO3JldHVybiEhZSYmdCYmIW59LHFoPWU9PntsZXR7cHJpdmFjeU5vdGljZUVuYWJsZWQ6dH09Vi5nZXRPcHRpb25zKCksbj0hIWU/LnZhcmlhYmxlcz8ucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQ7cmV0dXJuISF0JiYhbn0sSmg9KCk9Pih7dHlwZTpJaC5UZXh0LHN1YlR5cGU6YGVtYWlsYCxuYW1lOmBlbWFpbGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmVtYWlsYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0ueW91ckVtYWlsYCx2YWx1ZTpgYCx2YWxpZGF0b3JzOltMaCgpLHpoKCldLG1heExlbmd0aDoyNTV9KSxZaD0oKT0+KHt0eXBlOkloLlRleHQsc3ViVHlwZTpgdGV4dGAsbmFtZTpgbmFtZWAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLm5hbWVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyTmFtZWAsdmFsdWU6YGAsdmFsaWRhdG9yczpbTGgoKV0sbWF4TGVuZ3RoOjI1NX0pLFhoPSgpPT4oe3R5cGU6SWguVGV4dCxzdWJUeXBlOmB0ZWxgLG5hbWU6YHBob25lYCxsYWJlbDpgYXV0aEZvcm0ubGFiZWwucGhvbmVgLHBsYWNlaG9sZGVyOmBhdXRoRm9ybS55b3VyUGhvbmVgLHZhbHVlOmBgLHZhbGlkYXRvcnM6W0xoKCksQmgoKV0sbWF4TGVuZ3RoOjMyfSksWmg9ZT0+e2xldCB0PUEoYWwpO3JldHVybnt0eXBlOkloLlNlbGVjdCxuYW1lOmBncm91cGAsbGFiZWw6YGF1dGhGb3JtLmxhYmVsLmdyb3VwYCxwbGFjZWhvbGRlcjpgYXV0aEZvcm0uZ3JvdXBgLHZhbHVlOmU/Lmdyb3VwPz9gYCx2YWxpZGF0b3JzOltMaCgpXSxvcHRpb25zOnQubWFwKGU9Pih7dGV4dDplLm5hbWUsdmFsdWU6ZS5rZXl9KSl9fSxRaD0oKT0+KHt0eXBlOkloLkNoZWNrYm94LG5hbWU6YHBlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50YCxsYWJlbDpgYXV0aEZvcm0uYWNjZXB0VGVybXNgLHZhbHVlOiExLHZhbGlkYXRvcnM6W1JoKCldfSksJGg9KCk9Pih7dHlwZTpJaC5DaGVja2JveCxuYW1lOmBwZXJzb25hbERhdGFQcm9jZXNzaW5nQ29uc2VudGAsbGFiZWw6YHRvcEJhci5nZHByVGl0bGVgLHZhbHVlOiExLHZhbGlkYXRvcnM6W10saXNIaWRkZW46ITB9KSxlZz1lPT4oe3Nob3dFbWFpbDpIaChlKSxzaG93TmFtZTpVaChlKSxzaG93UGhvbmU6V2goZSksc2hvd0dyb3VwczpHaCgpLHNob3dDb25zZW50OktoKCl9KSx0Zz1lPT4oe3Nob3dFbWFpbDohIWUuZW1haWxDb250cm9sLHNob3dOYW1lOiEhZS5uYW1lQ29udHJvbCxzaG93UGhvbmU6ISFlLm51bWJlckNvbnRyb2wsc2hvd0dyb3VwczohIWUuZ3JvdXBTZWxlY3RFbmFibGVkLHNob3dDb25zZW50OiEhZS5wcml2YWN5Tm90aWNlRW5hYmxlZCYmZS5wcml2YWN5Tm90aWNlQ2hlY2tSZXF1aXJlZH0pLG5nPWU9Pk9iamVjdC52YWx1ZXMoZWcoZSkpLnNvbWUoZT0+ZSkscmc9KGUsdCk9PntsZXQgbj1bXSx7c2hvd0VtYWlsOnIsc2hvd05hbWU6aSxzaG93UGhvbmU6YSxzaG93R3JvdXBzOm8sc2hvd0NvbnNlbnQ6c309dD90Zyh0KTplZyhlKTtyZXR1cm4gaSYmbi5wdXNoKFloKCkpLHImJm4ucHVzaChKaCgpKSxhJiZuLnB1c2goWGgoKSksbyYmbi5wdXNoKFpoKGUpKSxzP24ucHVzaChRaCgpKTpuLmxlbmd0aD4wJiYodD90Py5wcml2YWN5Tm90aWNlRW5hYmxlZDpxaChlKSkmJm4ucHVzaCgkaCgpKSxufSxpZz0oKT0+e2xldCBlPXpvKFUuQXV0aEZvcm0pO2lmKCFlKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShlKX1jYXRjaHtyZXR1cm4gbnVsbH19LGFnPShlLHQpPT57bGV0IG49aWcoKSxyPXtbZV06dH0saT1uP3suLi5uLC4uLnJ9OnI7Qm8oe25hbWU6VS5BdXRoRm9ybSx2YWx1ZTpKU09OLnN0cmluZ2lmeShpKX0pfSxvZz0oKT0+e0xvKFUuQXV0aEZvcm0pfSxzZz0oKT0+ISFBKE11KT8udmFyaWFibGVzPy5hdXRoZW50aWNhdGVkLGNnPSgpPT5BKE11KT8uZ2RwckFwcHJvdmVkfHwhMSxsZz0oKT0+e2xldHtpc1ByZXZpZXdNb2RlOmV9PVYuZ2V0T3B0aW9ucygpO2lmKGV8fEEocGQpfHxzZygpfHwhbmcoQShNdSkpKXJldHVybiExO2xldHtyZXF1aXJlTG9naW46dH09Vi5nZXRPcHRpb25zKCksbj1BKCR1KT09PUsuQWNjb3VudFN0YXR1cy5PZmZsaW5lLHI9QShVdSkubGVuZ3RoPjA7cmV0dXJuISF0fHxufHwhbiYmIXJ9LHVnPWFzeW5jIGU9PntsZXR7cHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQ6dH09Vi5nZXRPcHRpb25zKCksbj1BKE11KSxyPW4/Lm5hbWU/P2UubmFtZSxpPW4/LmVtYWlsPz9lLmVtYWlsLGE9bj8ucGhvbmU/P2UucGhvbmUsbz1lLmdyb3VwPz9uPy5ncm91cCxzPWUucGVyc29uYWxEYXRhUHJvY2Vzc2luZ0NvbnNlbnQsYz17Li4uciYme25hbWU6cn0sLi4uaSYme2VtYWlsOml9LC4uLmEmJntwaG9uZTphfSwuLi5vJiZ7Z3JvdXA6b30sLi4ucyYmdCYme3BlcnNvbmFsRGF0YVByb2Nlc3NpbmdDb25zZW50OnN9fTthd2FpdCBxLmdldENsaWVudCgpLmF1dGhlbnRpY2F0ZShjKSxlaCgpLGF3YWl0IHVfKCksVmMoKX0sZGc9YGh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vQGVtb2ppLW1hcnQvZGF0YWAsZmc9UmVnRXhwKGA6KFthLXpBLVowLTlfLV0rKTpgLGBnYCkscGc9bnVsbCxtZz1udWxsLGhnPW51bGwsZ2c9TyhbXSksX2c9YXN5bmMoKT0+cGd8fGhnfHwoaGc9ZmV0Y2goZGcpLnRoZW4oZT0+ZS5qc29uKCkpLnRoZW4oZT0+KHBnPWUsZSkpLmNhdGNoKGU9Pnt0aHJvdyB2byhgRmFpbGVkIHRvIGxvYWQgZW1vamkgZGF0YWAsZSksaGc9bnVsbCxlfSksaGcpLHZnPWU9Pk9iamVjdC52YWx1ZXMoZS5lbW9qaXMpLm1hcChlPT4oe2lkOmUuaWQsbmFtZTplLm5hbWUsbmF0aXZlOmUuc2tpbnNbMF0/Lm5hdGl2ZT8/YGAsa2V5d29yZHM6ZS5rZXl3b3Jkcz8/W119KSkseWc9e3N1YnNjcmliZTpnZy5zdWJzY3JpYmUsYXN5bmMgbG9hZFJhd0RhdGEoKXtyZXR1cm4gX2coKX0sYXN5bmMgbG9hZERhdGEoKXtyZXR1cm4gbWd8fChtZz12Zyhhd2FpdCBfZygpKSxnZy5zZXQobWcpLG1nKX0sZ2V0QnlJZChlKXtsZXQgdD1lLnRvTG93ZXJDYXNlKCk7cmV0dXJuIG1nPy5maW5kKGU9PmUuaWQudG9Mb3dlckNhc2UoKT09PXQpfSxpc0xvYWRlZCgpe3JldHVybiBtZyE9PW51bGx9fSxiZz1lPT55Zy5pc0xvYWRlZCgpP2UucmVwbGFjZShmZywoZSx0KT0+e2xldCBuPXlnLmdldEJ5SWQodCk7cmV0dXJuIG4/bi5uYXRpdmU6ZX0pOmUseGc9MjAsU2c9eyI6KSI6YPCfmYJgLCI6LSkiOmDwn5mCYCwiOkQiOmDwn5iAYCwiOi1EIjpg8J+YgGAsIjspIjpg8J+YiWAsIjstKSI6YPCfmIlgLCI8MyI6YOKdpO+4j2AsIjooIjpg8J+YnmAsIjotKCI6YPCfmJ5gLCI6UCI6YPCfmJtgLCI6LVAiOmDwn5ibYCwiOi1vIjpg8J+YrmAsIjpPIjpg8J+YrmAsIjovIjpg8J+YlWAsIjotLyI6YPCfmJVgfSxDZz1lPT57bGV0IHQ9YCgke2U/YCR8YDpgYH0gKWA7cmV0dXJuIG5ldyBSZWdFeHAoT2JqZWN0LmtleXMoU2cpLm1hcChlPT5gJHtlLnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLGBcXCQmYCl9JHt0fWApLmpvaW4oYHxgKSxgZ2lgKX0sd2c9KGUsdD0hMSk9PntsZXQgbj1DZyh0KTtyZXR1cm4gZS5yZXBsYWNlKG4sZT0+e2xldCB0PU9iamVjdC5rZXlzKFNnKS5maW5kKHQ9PmUudG9VcHBlckNhc2UoKS5pbmNsdWRlcyh0KSk7aWYoIXQpcmV0dXJuIGU7bGV0IG49ZS5lbmRzV2l0aChgIGApP2AgYDpgYDtyZXR1cm5gJHtTZ1t0XX0ke259YH0pfSxUZz0oZSx0LG49eGcpPT57aWYoIWV8fGUubGVuZ3RoPDIpcmV0dXJuW107bGV0IHI9ZS50b0xvd2VyQ2FzZSgpLGk9W10sYT1bXSxvPVtdLHM9W107Zm9yKGxldCBlIG9mIHQpe2xldCB0PWUuaWQudG9Mb3dlckNhc2UoKSxuPWUubmFtZS50b0xvd2VyQ2FzZSgpO2lmKHQuc3RhcnRzV2l0aChyKSl7aS5wdXNoKGUpO2NvbnRpbnVlfWlmKHQuaW5jbHVkZXMocikpe2EucHVzaChlKTtjb250aW51ZX1pZihuLmluY2x1ZGVzKHIpKXtvLnB1c2goZSk7Y29udGludWV9ZS5rZXl3b3Jkcy5zb21lKGU9PmUudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhyKSkmJnMucHVzaChlKX1yZXR1cm5bLi4uaSwuLi5hLC4uLm8sLi4uc10uc2xpY2UoMCxuKX0sRWc9KGUsdCk9PntsZXQgbj1lLnNsaWNlKDAsdCkscj1uLmxhc3RJbmRleE9mKGA6YCk7aWYocj09PS0xKXJldHVybiBudWxsO2xldCBpPW4uc2xpY2UocisxKTtyZXR1cm4gUmVnRXhwKGBeW2EtekEtWjAtOV8tXSokYCkudGVzdChpKSYmaS5sZW5ndGg+PTI/aTpudWxsfSxEZz0oZSx0LG4pPT57bGV0IHI9ZS5zbGljZSgwLHQpLGk9ZS5zbGljZSh0KSxhPXIubGFzdEluZGV4T2YoYDpgKTtpZihhPT09LTEpcmV0dXJue25ld1RleHQ6ZSxuZXdDdXJzb3JQb3NpdGlvbjp0fTtsZXQgbz1lLnNsaWNlKDAsYSkscz1pLmxlbmd0aD09PTA/bitgIGA6bjtyZXR1cm57bmV3VGV4dDpvK3MraSxuZXdDdXJzb3JQb3NpdGlvbjphK3MubGVuZ3RofX0sT2c9KGUsdD0zMDApPT57bGV0IG47cmV0dXJuKC4uLnIpPT57Y2xlYXJUaW1lb3V0KG4pLG49c2V0VGltZW91dCgoKT0+ZSguLi5yKSx0KX19LGtnPTNlMyxBZz1bYHNtYXJ0c3VwcC5kZXZgLGBzbWFydHN1cHBjaGF0LmxvY2BdLGpnPWZ1bmN0aW9uKGUpe3JldHVybiBlLkRlZmF1bHQ9YGJsYWNrYmVycnkyLm1wM2AsZX0oe30pLE1nPWZ1bmN0aW9uKGUpe3JldHVybiBlLkNvbm5lY3Rpbmc9YGNvbm5lY3RpbmdgLGUuQ29ubmVjdGVkPWBjb25uZWN0ZWRgLGUuRGlzY29ubmVjdGVkPWBkaXNjb25uZWN0ZWRgLGV9KHt9KSxOZz1mdW5jdGlvbihlKXtyZXR1cm4gZS5JbWFnZT1gaW1hZ2VgLGUuVmlkZW89YHZpZGVvYCxlfSh7fSksUGc9TyghMSksRmc9TyghMSksSWc9TyghMSk7QigpLmFkZEV2ZW50TGlzdGVuZXIoYG9mZmxpbmVgLCgpPT5QZy5zZXQoITApKSxCKCkuYWRkRXZlbnRMaXN0ZW5lcihgb25saW5lYCwoKT0+UGcuc2V0KCExKSk7dmFyIExnPWsoW2RsLFBnLElnXSwoW2UsdCxuXSk9Pm4/TWcuQ29ubmVjdGVkOiFlfHx0P01nLkRpc2Nvbm5lY3RlZDpNZy5Db25uZWN0ZWQsTWcuQ29ubmVjdGluZyksUmcsemc9T2coZT0+e2UmJiFSZyYmKFJnPV9zKEEoVykoYGVycm9yLm5vSW50ZXJuZXRgKSwwKSksIWUmJlJnJiYoUmcoKSxSZz12b2lkIDApfSxrZyk7TGcuc3Vic2NyaWJlKGU9PntlPT09TWcuRGlzY29ubmVjdGVkJiYoRmcuc2V0KCEwKSx6ZyghMCkpLGU9PT1NZy5Db25uZWN0ZWQmJihGZy5zZXQoITEpLHpnKCExKSl9KTt2YXIgQmc9KGUsdCxuKT0+ZT09PU1nLkRpc2Nvbm5lY3RlZHx8IXR8fG4sVmc9KCk9PkJnKEEoTGcpLEEoSHApLEEoWHUpLmRpc2FibGVBdHRhY2htZW50cyksSGc9TyghMSksVWc9ZT0+e2lmKEEoSGcpKXtIKGBUaGVyZSBpcyBhbHJlYWR5IGZpbGUgdXBsb2FkIGluIHByb2dyZXNzYCk7cmV0dXJufWlmKGUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9V2coZSk7dC5sZW5ndGg+MCYmWWwuYWRkKHQpfSxXZz1lPT5lLmxlbmd0aD41PyhncyhgJHtBKFcpKGBmaWxlVXBsb2FkLnRvb01hbnlGaWxlc2ApfSA1YCksW10pOmUuZmlsdGVyKGU9PkdnKGUpKSxHZz1lPT57bGV0e2FjY2VwdGVkRmlsZUV4dGVuc2lvbnM6dCxhY2NlcHRlZEZpbGVUeXBlczpuLG1heEZpbGVTaXplOnJ9PUEoYmwpO2lmKCFlKXJldHVybiExO2xldCBpPXQuaW5jbHVkZXMoQ2QoZS5uYW1lKSksYT1uLnNvbWUodD0+dD09PWUudHlwZSk7aWYoVmcoKSlyZXR1cm4gSChgRmlsZSB1cGxvYWQgaXMgZGlzYWJsZWRgKSwhMTtpZighQShIcCkpcmV0dXJuIGdzKEEoVykoYHdhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0YCkpLCExO2lmKGUuc2l6ZT5yKXtsZXQgZT13ZChyKTtyZXR1cm4gZ3MoYCR7QShXKShgZmlsZVVwbG9hZC5maWxlVG9vQmlnYCl9ICR7ZS5zaXplfSAke2UudW5pdH1gKSwhMX1yZXR1cm4gaXx8YT8hMDooZ3MoQShXKShgZmlsZVVwbG9hZC5iYWRGaWxlVHlwZWApKSwhMSl9LEtnPSgpPT5ZbC5jb3VudCgpPT09MD9bXTooWWwuc2V0VXBsb2FkaW5nU3RhdHVzKCksRGQoQShZbCksZT0+WWwuc2V0RmlsZVVwbG9hZGVkKGUubmFtZSkpKSxxZz0xMCxKZz0xZTQsWWc9M2U0LFhnPTIwLFpnPWU9PntpZihlLmxlbmd0aD4wJiZlLmxlbmd0aCVxZz09PTApe2xldCB0PWUuc2xpY2UoLXFnKSxuPW5ldyBEYXRlKGVbZS5sZW5ndGgtMV0uY3JlYXRlZEF0KS5nZXRUaW1lKCk7aWYobmV3IERhdGUoKS5nZXRUaW1lKCktbj5ZZ3x8IXQuZXZlcnkoZT0+ZS5zdWJUeXBlPT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0KSlyZXR1cm4hMTtpZihuLW5ldyBEYXRlKHRbMF0uY3JlYXRlZEF0KS5nZXRUaW1lKCk8SmcpcmV0dXJuITB9cmV0dXJuITF9LFFnPWU9PntsZXQgdD1qZihlKTtyZXR1cm4gdD90Lmxlbmd0aD5YZzohMX0sJGc9TygpLGVfPU8oITEpLHRfPU8oKSxuXz0yMDAscl89TyghMSksaV89ayhbJGddLChbZV0pPT5lPT09dm9pZCAwP3pvKFUuTWVzc2FnZSk/P2BgOmUpLGFfPWsoW2lfXSwoW2VdKT0+ZS50cmltKCkubGVuZ3RoPT09MCksb189ZT0+eyRnLnNldChiZyh3ZyhlKSkpfSxzXz0oZSx0KT0+e2xldCBuPUEoaV8pPz9gYCxyPWAke24uc2xpY2UoMCx0KX0ke2V9JHtuLnNsaWNlKHQpfWA7JGcuc2V0KHIpfSxjXz0oKT0+e0EoZV8pfHwocS5nZXRDbGllbnQoKS5jaGF0VHlwaW5nKCEwKSxlXy5zZXQoITApKX0sbF89KCk9PntBKGVfKSYmKHEuZ2V0Q2xpZW50KCkuY2hhdFR5cGluZyghMSksZV8uc2V0KCExKSl9LHVfPWFzeW5jKGU9W10pPT57aWYoQShhXykmJmUubGVuZ3RoPT09MClyZXR1cm47bGV0IHQ9Ymcod2coQShpXyksITApKS50cmltKCk7YXdhaXQgSi5zZW5kTWVzc2FnZSh0LGUpLG9fKGBgKSxsXygpLHJfLnNldCghMCksZ2QoKX0sZF89T2coYXN5bmMoKT0+e2xldCBlPVlsLmNvdW50KCk+MDtpZihBKGFfKSYmIWUpcmV0dXJuO2lmKCFBKFgpJiZsZygpJiZVXygpLGZfKCkmJiFlKXtfcyhBKFcpKGB3YXJuaW5nQmFyLnNhbWVNZXNzYWdlVHdpY2VgKSk7cmV0dXJufWlmKFpnKEEoUnApKSl7X3MoQShXKShgd2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbmApKTtyZXR1cm59aWYoQShIZykpe2pvKEEoVykoYGNoYXQuZmlsZVVwbG9hZC5lcnJvci5zdGlsbFVwbG9hZGluZ2ApKTtyZXR1cm59aWYoQShVZikpe19zKEEoVykoYGNhcmQuc2VuZGluZ0luUHJvZ3Jlc3NgKSk7cmV0dXJufWlmKFFnKEEoaV8pKSl7X3MoQShXKShgY2FyZC5saW5rc0xpbWl0UmVhY2hlZGApKTtyZXR1cm59aWYobGcoKSl7QmMoSGMuQXV0aEZvcm0pO3JldHVybn1sZXQgdD1bXTtlJiYoSGcuc2V0KCEwKSx0PWF3YWl0IEtnKCksWWwuY2xlYXIoKSxIZy5zZXQoITEpKSxhd2FpdCB1Xyh0KX0sbl8pLGZfPSgpPT57bGV0IGU9QShHcCksdD1BKEtwKSxuPUEoaV8pLnRyaW0oKTtyZXR1cm4gZSYmbj09PWUuY29udGVudC50ZXh0fHx0JiZuPT09dH0scF89ZT0+e2xldCB0PSgpPT57X2QoKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpLCgpPT5lLnJlbW92ZUV2ZW50TGlzdGVuZXIoYHZpc2liaWxpdHljaGFuZ2VgLHQpKSl9LG1fPWU9PntsZXQgdD0oKT0+e0EoWCkmJldfKCEwKX07c28oKCk9PihlLmFkZEV2ZW50TGlzdGVuZXIoYHBvcHN0YXRlYCx0KSwoKT0+ZS5yZW1vdmVFdmVudExpc3RlbmVyKGBwb3BzdGF0ZWAsdCkpKX0saF89KCk9PntsZXQgZT1CKCkuX3NtYXJ0c3VwcHx8e307ZS5hcHBWZXJzaW9uPWAwLjAuMWAsZS5jb21taXRIYXNoPWBjMDZkNDVjMzNlMDk5OGVmMmQzMDQ2MmZiNTc4Nzk2MzNjMWRmNWNhYCxlLmNvbW1pdEluZm89YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2EgLSBNZXJnZSBwdWxsIHJlcXVlc3QgIzQ1MiBmcm9tIHNtYXJ0c3VwcC9kZXZlbG9wIC0gMjAyNi0wNy0wNyAxMDoyMjoyOCArMDIwMGAsQigpLl9zbWFydHN1cHA9ZX0sZ189KGU9amcuRGVmYXVsdCk9PntsZXR7d2lkZ2V0VjNVcmw6dH09Vi5nZXRPcHRpb25zKCksbj1uZXcgQXVkaW8oYCR7dH0vYXNzZXRzL3NvdW5kcy8ke2V9YCk7cmV0dXJuIG4uY3Jvc3NPcmlnaW49YGFub255bW91c2Asbi5sb2FkKCksbn0sX189ZT0+ZS5zdWJUeXBlIT09Ry5NZXNzYWdlU3ViVHlwZS5Db250YWN0JiYhW0cuTWVzc2FnZUNvbnRlbnRUeXBlLlJhdGVGb3JtLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50Sm9pbixHLk1lc3NhZ2VDb250ZW50VHlwZS5BZ2VudExlYXZlLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50QXNzaWduLEcuTWVzc2FnZUNvbnRlbnRUeXBlLkFnZW50VW5hc3NpZ25dLmluY2x1ZGVzKGUuY29udGVudC50eXBlKSx2Xz1lPT57cS5pc0luaXRpYWxpemVkKCkmJnEuZ2V0Q2xpZW50KCkubm90aWZ5KGUpfSx5Xz0oKT0+e1YuZ2V0T3B0aW9ucygpLmlzUHJldmlld01vZGV8fHZfKEsuV2Vic29ja2V0VmlzaXRvckNsaWVudC5FdmVudE5hbWUuV2lkZ2V0T3Blbil9LGJfPSgpPT52XyhLLldlYnNvY2tldFZpc2l0b3JDbGllbnQuRXZlbnROYW1lLldpZGdldFNob3cpLHhfPSgpPT5kb2N1bWVudC52aXNpYmlsaXR5U3RhdGU9PT1gdmlzaWJsZWAsU189KCk9PntpZihBKHNzKSl7VF8uc2V0KCEwKTtsZXQgZT1CKCk7ZS5oaXN0b3J5LnB1c2hTdGF0ZShudWxsLGBgLGUubG9jYXRpb24uaHJlZil9fSxDXz1PKCExKSx3Xz1PKCExKSxUXz1PKCExKSxFXz1lPT4hIUFnLmZpbmQodD0+ZS5pbmNsdWRlcyh0KSksRF89TyghMCk7Vi5hd2FpdE9wdGlvbnMoKS50aGVuKGU9PntsZXQgdD16byhVLlNvdW5kc0VuYWJsZWQpO3Q/RF8uc2V0KHQ9PT1gdHJ1ZWApOnR5cGVvZiBlLmVuYWJsZVNvdW5kcz09YGJvb2xlYW5gJiZEXy5zZXQoZS5lbmFibGVTb3VuZHMpLHdfLnNldChFXyhlLmJvb3RzdHJhcFVybCkpfSk7dmFyIE9fPWU9PntEXy5zZXQoZSksQm8oe25hbWU6VS5Tb3VuZHNFbmFibGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLGUmJmJwKCl9LGtfPU8oeF8oKSksQV89T2coKCk9PmtfLnNldCh4XygpKSw1MDApO0IoKS5hZGRFdmVudExpc3RlbmVyKGB2aXNpYmlsaXR5Y2hhbmdlYCwoKT0+e0FfKCl9KTt2YXIgal89TygwKSxNXz0oKT0+al8udXBkYXRlKGU9PmUrMSksTl89TyghMCksUF89KGUsdCk9Pih2byhgd2lkZ2V0IHZpc2libGU6ICR7U3RyaW5nKHQpfSA9PiByZWFzb246ICR7ZX1gKSx0JiZ0IT09QShSXykmJmJfKCksdCksRl89TygpLElfPSgpPT5GXy5zZXQoITApLExfPSgpPT5GXy5zZXQoITEpLFJfPWsoW011LHNzLEZfLGVkLG9kLGsoWyR1LFJwLGFfLG9kXSwoW2UsdCxuLHJdKT0+e2xldHtoaWRlT2ZmbGluZUNoYXQ6aSxpc1ByZXZpZXdNb2RlOmF9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09Sy5BY2NvdW50U3RhdHVzLk9mZmxpbmUmJiEhaSYmU3AodCkubGVuZ3RoPT09MCYmbiYmIXImJiFhfSldLChbZSx0LG4scixpLGFdKT0+e2xldHtoaWRlTW9iaWxlV2lkZ2V0Om8saGlkZVdpZGdldDpzfT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZT8uYmFubmVkQXQ/UF8oYHZpc2l0b3IgaXMgYmFubmVkYCwhMSk6dCYmbz9QXyhgb3B0aW9uICdoaWRlTW9iaWxlV2lkZ2V0JyBpcyB0cnVlYCwhMSk6dHlwZW9mIG49PWBib29sZWFuYD9QXyhgc2V0IGJ5IEFQSSBjb21tYW5kYCxuKTpyJiYhaT9QXyhgY2hhdCBzdGF0dXMgaXMgbm90IHBlbmRpbmdgLCEwKTphP1BfKGBvcHRpb24gJ2hpZGVPZmZsaW5lQ2hhdCcgaXMgdHJ1ZWAsITEpOlBfKGBvcHRpb24gJ2hpZGVXaWRnZXQnIGlzICR7U3RyaW5nKHMpfWAsIXMpfSksel89ayhbc3NdLChbZV0pPT57bGV0e29wZW5PblRyaWdnZXI6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIHQmJiFlfSksQl89W10sVl89ZT0+KEJfLnB1c2goZSksKCk9PntsZXQgdD1CXy5pbmRleE9mKGUpO3QhPT0tMSYmQl8uc3BsaWNlKHQsMSl9KSxIXz0oKT0+Ql8ubGVuZ3RoPT09MD8hMTooQl8ucG9wKCkoKSwhMCksWD1ycyhVLklzTWVzc2VuZ2VyRnJhbWVPcGVuZWQsITEsZT0+IUEoc3MpJiZlPT09YHRydWVgKSxVXz0oZT0hMSk9PntsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpO3Q/LmRpc2FibGVPcGVuTWVzc2VuZ2VyJiYhZXx8KGNoKCksU18oKSxYLnNldCghMCksZXYoKSxDaCgpLHlfKCkpfSxXXz1lPT57aWYoQShzcykmJkEoVF8pJiYhZSlyZXR1cm4gVF8uc2V0KCExKSxCKCkuaGlzdG9yeS5iYWNrKCk7ei5lbWl0KGBtZXNzZW5nZXJDbG9zZWAsITApLFguc2V0KCExKX0sR189ZT0+e2lmKCFlKXJldHVybjtsZXR7d2lkZ2V0QmxvY2tpbmdPcHRpb25zOnR9PVYuZ2V0T3B0aW9ucygpLG49ZT0+e2lmKGUua2V5PT09VGguRXNjYXBlKXtpZihIXygpfHx0Py5kaXNhYmxlQ2xvc2VCdXR0b24pcmV0dXJuO1dfKCl9fSxyPWUub3duZXJEb2N1bWVudDtyZXR1cm4gci5hZGRFdmVudExpc3RlbmVyKGBrZXlkb3duYCxuLCEwKSx7ZGVzdHJveSgpe3IucmVtb3ZlRXZlbnRMaXN0ZW5lcihga2V5ZG93bmAsbiwhMCl9fX0sS189ayhbQ18sUl8sWF0sKFtlLHQsbl0pPT5lJiZ0JiZuKTtmdW5jdGlvbiBxXygpe2xldCBlPU8oITEpLHtzdWJzY3JpYmU6dH09ZSxuPW51bGw7cmV0dXJue3N1YnNjcmliZTp0LGhhbmRsZURyYWdPdmVyOih0LHI9ITApPT57ciYmdC5wcmV2ZW50RGVmYXVsdCgpLEEoZSl8fGUuc2V0KCEwKSxuJiZjbGVhclRpbWVvdXQobiksbj13aW5kb3cuc2V0VGltZW91dCgoKT0+e2Uuc2V0KCExKX0sMjAwKX0saGFuZGxlRHJvcDp0PT57dC5wcmV2ZW50RGVmYXVsdCgpLG4mJmNsZWFyVGltZW91dChuKSxlLnNldCghMSk7bGV0IHI9dC5kYXRhVHJhbnNmZXI/LmZpbGVzP1suLi50LmRhdGFUcmFuc2Zlci5maWxlc106W107cmV0dXJuIHIubGVuZ3RoPT09MCYmX3MoYERyb3BwZWQgaXRlbShzKSBhcmUgbm90IHByb2Nlc3NhYmxlIGZpbGVzYCkse2Ryb3BwZWRGaWxlczpyfX19fXZhciBKXz1xXygpLFlfPWsoW0NfLFJfLFhdLChbZSx0LG5dKT0+ZSYmdCYmIW4pLFhfPU8oITEpLFpfPU8oITEpLFFfPSgpPT57WF8uc2V0KCEwKSxaXy5zZXQoITEpfSwkXz0oKT0+e1pfLnNldCghMCksWF8uc2V0KCExKX0sZXY9KGU9ITEpPT57Wl8uc2V0KCExKSxlJiZCbyh7bmFtZTpVLlBvcHVwQ2xvc2VkQXQsdmFsdWU6bmV3IERhdGUoKS50b0lTT1N0cmluZygpfSl9LHR2PWsoW3NzXSwoW2VdKT0+e2xldHttb2JpbGVQb3B1cHNFbmFibGVkOnR9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPyEhdDohMH0pLG52PWsoW05wXSwoW2VdKT0+e2xldCB0PXpvKFUuUG9wdXBDbG9zZWRBdCk/P251bGw7cmV0dXJuIXR8fCFlPyEwOm5ldyBEYXRlKGUuY3JlYXRlZEF0KS5nZXRUaW1lKCk+bmV3IERhdGUodCkuZ2V0VGltZSgpfSkscnY9ayhbQ18sUl8sWF8sWCx0dl0sKFtlLHQsbixyLGldKT0+ZSYmdCYmbiYmIXImJmkpLGl2PWsoW0NfLFJfLFpfLFgsTnAsbnYsdHYsV2ZdLChbZSx0LG4scixpLGEsbyxzXSk9PmUmJnQmJm4mJmkmJmEmJiFyJiZvJiYhcyksYXY9e3doaXRlOmAjZmZmZmZmYCxzbGF0ZTEwMDpgI2YxZjVmOWAsc2xhdGUyMDA6YCNlMmU4ZjBgLHNsYXRlMzAwOmAjY2JkNWUxYCxzbGF0ZTkwMDpgIzBmMTcyYWAsYmx1ZTcwMDpgIzFkNGVkOGAsc21hcnRzdXBwQmx1ZTpgIzEyMzNkZmB9O2Z1bmN0aW9uIFooZSx0KXtzdihlKSYmKGU9YDEwMCVgKTtsZXQgbj1jdihlKTtyZXR1cm4gZT10PT09MzYwP2U6TWF0aC5taW4odCxNYXRoLm1heCgwLHBhcnNlRmxvYXQoZSkpKSxuJiYoZT1wYXJzZUludChTdHJpbmcoZSp0KSwxMCkvMTAwKSxNYXRoLmFicyhlLXQpPDFlLTY/MTooZT10PT09MzYwPyhlPDA/ZSV0K3Q6ZSV0KS9wYXJzZUZsb2F0KFN0cmluZyh0KSk6ZSV0L3BhcnNlRmxvYXQoU3RyaW5nKHQpKSxlKX1mdW5jdGlvbiBvdihlKXtyZXR1cm4gTWF0aC5taW4oMSxNYXRoLm1heCgwLGUpKX1mdW5jdGlvbiBzdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYC5gKSE9PS0xJiZwYXJzZUZsb2F0KGUpPT09MX1mdW5jdGlvbiBjdihlKXtyZXR1cm4gdHlwZW9mIGU9PWBzdHJpbmdgJiZlLmluZGV4T2YoYCVgKSE9PS0xfWZ1bmN0aW9uIGx2KGUpe3JldHVybiBlPXBhcnNlRmxvYXQoZSksKGlzTmFOKGUpfHxlPDB8fGU+MSkmJihlPTEpLGV9ZnVuY3Rpb24gdXYoZSl7cmV0dXJuIE51bWJlcihlKTw9MT9gJHtOdW1iZXIoZSkqMTAwfSVgOmV9ZnVuY3Rpb24gZHYoZSl7cmV0dXJuIGUubGVuZ3RoPT09MT9gMGArZTpTdHJpbmcoZSl9ZnVuY3Rpb24gZnYoZSx0LG4pe3JldHVybntyOlooZSwyNTUpKjI1NSxnOloodCwyNTUpKjI1NSxiOloobiwyNTUpKjI1NX19ZnVuY3Rpb24gcHYoZSx0LG4pe2U9WihlLDI1NSksdD1aKHQsMjU1KSxuPVoobiwyNTUpO2xldCByPU1hdGgubWF4KGUsdCxuKSxpPU1hdGgubWluKGUsdCxuKSxhPTAsbz0wLHM9KHIraSkvMjtpZihyPT09aSlvPTAsYT0wO2Vsc2V7bGV0IGM9ci1pO3N3aXRjaChvPXM+LjU/Yy8oMi1yLWkpOmMvKHIraSkscil7Y2FzZSBlOmE9KHQtbikvYysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvYysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL2MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOm8sbDpzfX1mdW5jdGlvbiBtdihlLHQsbil7cmV0dXJuIG48MCYmKG4rPTEpLG4+MSYmLS1uLG48MS82P2UrKHQtZSkqKDYqbik6bjwxLzI/dDpuPDIvMz9lKyh0LWUpKigyLzMtbikqNjplfWZ1bmN0aW9uIGh2KGUsdCxuKXtsZXQgcixpLGE7aWYoZT1aKGUsMzYwKSx0PVoodCwxMDApLG49WihuLDEwMCksdD09PTApaT1uLGE9bixyPW47ZWxzZXtsZXQgbz1uPC41P24qKDErdCk6bit0LW4qdCxzPTIqbi1vO3I9bXYocyxvLGUrMS8zKSxpPW12KHMsbyxlKSxhPW12KHMsbyxlLTEvMyl9cmV0dXJue3I6cioyNTUsZzppKjI1NSxiOmEqMjU1fX1mdW5jdGlvbiBndihlLHQsbil7ZT1aKGUsMjU1KSx0PVoodCwyNTUpLG49WihuLDI1NSk7bGV0IHI9TWF0aC5tYXgoZSx0LG4pLGk9TWF0aC5taW4oZSx0LG4pLGE9MCxvPXIscz1yLWksYz1yPT09MD8wOnMvcjtpZihyPT09aSlhPTA7ZWxzZXtzd2l0Y2gocil7Y2FzZSBlOmE9KHQtbikvcysodDxuPzY6MCk7YnJlYWs7Y2FzZSB0OmE9KG4tZSkvcysyO2JyZWFrO2Nhc2UgbjphPShlLXQpL3MrNDticmVhaztkZWZhdWx0OmJyZWFrfWEvPTZ9cmV0dXJue2g6YSxzOmMsdjpvfX1mdW5jdGlvbiBfdihlLHQsbil7ZT1aKGUsMzYwKSo2LHQ9Wih0LDEwMCksbj1aKG4sMTAwKTtsZXQgcj1NYXRoLmZsb29yKGUpLGk9ZS1yLGE9biooMS10KSxvPW4qKDEtaSp0KSxzPW4qKDEtKDEtaSkqdCksYz1yJTYsbD1bbixvLGEsYSxzLG5dW2NdLHU9W3MsbixuLG8sYSxhXVtjXSxkPVthLGEscyxuLG4sb11bY107cmV0dXJue3I6bCoyNTUsZzp1KjI1NSxiOmQqMjU1fX1mdW5jdGlvbiB2dihlLHQsbixyKXtsZXQgaT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSldO3JldHVybiByJiZpWzBdLnN0YXJ0c1dpdGgoaVswXS5jaGFyQXQoMSkpJiZpWzFdLnN0YXJ0c1dpdGgoaVsxXS5jaGFyQXQoMSkpJiZpWzJdLnN0YXJ0c1dpdGgoaVsyXS5jaGFyQXQoMSkpP2lbMF0uY2hhckF0KDApK2lbMV0uY2hhckF0KDApK2lbMl0uY2hhckF0KDApOmkuam9pbihgYCl9ZnVuY3Rpb24geXYoZSx0LG4scixpKXtsZXQgYT1bZHYoTWF0aC5yb3VuZChlKS50b1N0cmluZygxNikpLGR2KE1hdGgucm91bmQodCkudG9TdHJpbmcoMTYpKSxkdihNYXRoLnJvdW5kKG4pLnRvU3RyaW5nKDE2KSksZHYoU3YocikpXTtyZXR1cm4gaSYmYVswXS5zdGFydHNXaXRoKGFbMF0uY2hhckF0KDEpKSYmYVsxXS5zdGFydHNXaXRoKGFbMV0uY2hhckF0KDEpKSYmYVsyXS5zdGFydHNXaXRoKGFbMl0uY2hhckF0KDEpKSYmYVszXS5zdGFydHNXaXRoKGFbM10uY2hhckF0KDEpKT9hWzBdLmNoYXJBdCgwKSthWzFdLmNoYXJBdCgwKSthWzJdLmNoYXJBdCgwKSthWzNdLmNoYXJBdCgwKTphLmpvaW4oYGApfWZ1bmN0aW9uIGJ2KGUsdCxuLHIpe2xldCBpPWUvMTAwLGE9dC8xMDAsbz1uLzEwMCxzPXIvMTAwO3JldHVybntyOjI1NSooMS1pKSooMS1zKSxnOjI1NSooMS1hKSooMS1zKSxiOjI1NSooMS1vKSooMS1zKX19ZnVuY3Rpb24geHYoZSx0LG4pe2xldCByPTEtZS8yNTUsaT0xLXQvMjU1LGE9MS1uLzI1NSxvPU1hdGgubWluKHIsaSxhKTtyZXR1cm4gbz09PTE/KHI9MCxpPTAsYT0wKToocj0oci1vKS8oMS1vKSoxMDAsaT0oaS1vKS8oMS1vKSoxMDAsYT0oYS1vKS8oMS1vKSoxMDApLG8qPTEwMCx7YzpNYXRoLnJvdW5kKHIpLG06TWF0aC5yb3VuZChpKSx5Ok1hdGgucm91bmQoYSksazpNYXRoLnJvdW5kKG8pfX1mdW5jdGlvbiBTdihlKXtyZXR1cm4gTWF0aC5yb3VuZChwYXJzZUZsb2F0KGUpKjI1NSkudG9TdHJpbmcoMTYpfWZ1bmN0aW9uIEN2KGUpe3JldHVybiB3dihlKS8yNTV9ZnVuY3Rpb24gd3YoZSl7cmV0dXJuIHBhcnNlSW50KGUsMTYpfWZ1bmN0aW9uIFR2KGUpe3JldHVybntyOmU+PjE2LGc6KGUmNjUyODApPj44LGI6ZSYyNTV9fXZhciBFdj17YWxpY2VibHVlOmAjZjBmOGZmYCxhbnRpcXVld2hpdGU6YCNmYWViZDdgLGFxdWE6YCMwMGZmZmZgLGFxdWFtYXJpbmU6YCM3ZmZmZDRgLGF6dXJlOmAjZjBmZmZmYCxiZWlnZTpgI2Y1ZjVkY2AsYmlzcXVlOmAjZmZlNGM0YCxibGFjazpgIzAwMDAwMGAsYmxhbmNoZWRhbG1vbmQ6YCNmZmViY2RgLGJsdWU6YCMwMDAwZmZgLGJsdWV2aW9sZXQ6YCM4YTJiZTJgLGJyb3duOmAjYTUyYTJhYCxidXJseXdvb2Q6YCNkZWI4ODdgLGNhZGV0Ymx1ZTpgIzVmOWVhMGAsY2hhcnRyZXVzZTpgIzdmZmYwMGAsY2hvY29sYXRlOmAjZDI2OTFlYCxjb3JhbDpgI2ZmN2Y1MGAsY29ybmZsb3dlcmJsdWU6YCM2NDk1ZWRgLGNvcm5zaWxrOmAjZmZmOGRjYCxjcmltc29uOmAjZGMxNDNjYCxjeWFuOmAjMDBmZmZmYCxkYXJrYmx1ZTpgIzAwMDA4YmAsZGFya2N5YW46YCMwMDhiOGJgLGRhcmtnb2xkZW5yb2Q6YCNiODg2MGJgLGRhcmtncmF5OmAjYTlhOWE5YCxkYXJrZ3JlZW46YCMwMDY0MDBgLGRhcmtncmV5OmAjYTlhOWE5YCxkYXJra2hha2k6YCNiZGI3NmJgLGRhcmttYWdlbnRhOmAjOGIwMDhiYCxkYXJrb2xpdmVncmVlbjpgIzU1NmIyZmAsZGFya29yYW5nZTpgI2ZmOGMwMGAsZGFya29yY2hpZDpgIzk5MzJjY2AsZGFya3JlZDpgIzhiMDAwMGAsZGFya3NhbG1vbjpgI2U5OTY3YWAsZGFya3NlYWdyZWVuOmAjOGZiYzhmYCxkYXJrc2xhdGVibHVlOmAjNDgzZDhiYCxkYXJrc2xhdGVncmF5OmAjMmY0ZjRmYCxkYXJrc2xhdGVncmV5OmAjMmY0ZjRmYCxkYXJrdHVycXVvaXNlOmAjMDBjZWQxYCxkYXJrdmlvbGV0OmAjOTQwMGQzYCxkZWVwcGluazpgI2ZmMTQ5M2AsZGVlcHNreWJsdWU6YCMwMGJmZmZgLGRpbWdyYXk6YCM2OTY5NjlgLGRpbWdyZXk6YCM2OTY5NjlgLGRvZGdlcmJsdWU6YCMxZTkwZmZgLGZpcmVicmljazpgI2IyMjIyMmAsZmxvcmFsd2hpdGU6YCNmZmZhZjBgLGZvcmVzdGdyZWVuOmAjMjI4YjIyYCxmdWNoc2lhOmAjZmYwMGZmYCxnYWluc2Jvcm86YCNkY2RjZGNgLGdob3N0d2hpdGU6YCNmOGY4ZmZgLGdvbGRlbnJvZDpgI2RhYTUyMGAsZ29sZDpgI2ZmZDcwMGAsZ3JheTpgIzgwODA4MGAsZ3JlZW46YCMwMDgwMDBgLGdyZWVueWVsbG93OmAjYWRmZjJmYCxncmV5OmAjODA4MDgwYCxob25leWRldzpgI2YwZmZmMGAsaG90cGluazpgI2ZmNjliNGAsaW5kaWFucmVkOmAjY2Q1YzVjYCxpbmRpZ286YCM0YjAwODJgLGl2b3J5OmAjZmZmZmYwYCxraGFraTpgI2YwZTY4Y2AsbGF2ZW5kZXJibHVzaDpgI2ZmZjBmNWAsbGF2ZW5kZXI6YCNlNmU2ZmFgLGxhd25ncmVlbjpgIzdjZmMwMGAsbGVtb25jaGlmZm9uOmAjZmZmYWNkYCxsaWdodGJsdWU6YCNhZGQ4ZTZgLGxpZ2h0Y29yYWw6YCNmMDgwODBgLGxpZ2h0Y3lhbjpgI2UwZmZmZmAsbGlnaHRnb2xkZW5yb2R5ZWxsb3c6YCNmYWZhZDJgLGxpZ2h0Z3JheTpgI2QzZDNkM2AsbGlnaHRncmVlbjpgIzkwZWU5MGAsbGlnaHRncmV5OmAjZDNkM2QzYCxsaWdodHBpbms6YCNmZmI2YzFgLGxpZ2h0c2FsbW9uOmAjZmZhMDdhYCxsaWdodHNlYWdyZWVuOmAjMjBiMmFhYCxsaWdodHNreWJsdWU6YCM4N2NlZmFgLGxpZ2h0c2xhdGVncmF5OmAjNzc4ODk5YCxsaWdodHNsYXRlZ3JleTpgIzc3ODg5OWAsbGlnaHRzdGVlbGJsdWU6YCNiMGM0ZGVgLGxpZ2h0eWVsbG93OmAjZmZmZmUwYCxsaW1lOmAjMDBmZjAwYCxsaW1lZ3JlZW46YCMzMmNkMzJgLGxpbmVuOmAjZmFmMGU2YCxtYWdlbnRhOmAjZmYwMGZmYCxtYXJvb246YCM4MDAwMDBgLG1lZGl1bWFxdWFtYXJpbmU6YCM2NmNkYWFgLG1lZGl1bWJsdWU6YCMwMDAwY2RgLG1lZGl1bW9yY2hpZDpgI2JhNTVkM2AsbWVkaXVtcHVycGxlOmAjOTM3MGRiYCxtZWRpdW1zZWFncmVlbjpgIzNjYjM3MWAsbWVkaXVtc2xhdGVibHVlOmAjN2I2OGVlYCxtZWRpdW1zcHJpbmdncmVlbjpgIzAwZmE5YWAsbWVkaXVtdHVycXVvaXNlOmAjNDhkMWNjYCxtZWRpdW12aW9sZXRyZWQ6YCNjNzE1ODVgLG1pZG5pZ2h0Ymx1ZTpgIzE5MTk3MGAsbWludGNyZWFtOmAjZjVmZmZhYCxtaXN0eXJvc2U6YCNmZmU0ZTFgLG1vY2Nhc2luOmAjZmZlNGI1YCxuYXZham93aGl0ZTpgI2ZmZGVhZGAsbmF2eTpgIzAwMDA4MGAsb2xkbGFjZTpgI2ZkZjVlNmAsb2xpdmU6YCM4MDgwMDBgLG9saXZlZHJhYjpgIzZiOGUyM2Asb3JhbmdlOmAjZmZhNTAwYCxvcmFuZ2VyZWQ6YCNmZjQ1MDBgLG9yY2hpZDpgI2RhNzBkNmAscGFsZWdvbGRlbnJvZDpgI2VlZThhYWAscGFsZWdyZWVuOmAjOThmYjk4YCxwYWxldHVycXVvaXNlOmAjYWZlZWVlYCxwYWxldmlvbGV0cmVkOmAjZGI3MDkzYCxwYXBheWF3aGlwOmAjZmZlZmQ1YCxwZWFjaHB1ZmY6YCNmZmRhYjlgLHBlcnU6YCNjZDg1M2ZgLHBpbms6YCNmZmMwY2JgLHBsdW06YCNkZGEwZGRgLHBvd2RlcmJsdWU6YCNiMGUwZTZgLHB1cnBsZTpgIzgwMDA4MGAscmViZWNjYXB1cnBsZTpgIzY2MzM5OWAscmVkOmAjZmYwMDAwYCxyb3N5YnJvd246YCNiYzhmOGZgLHJveWFsYmx1ZTpgIzQxNjllMWAsc2FkZGxlYnJvd246YCM4YjQ1MTNgLHNhbG1vbjpgI2ZhODA3MmAsc2FuZHlicm93bjpgI2Y0YTQ2MGAsc2VhZ3JlZW46YCMyZThiNTdgLHNlYXNoZWxsOmAjZmZmNWVlYCxzaWVubmE6YCNhMDUyMmRgLHNpbHZlcjpgI2MwYzBjMGAsc2t5Ymx1ZTpgIzg3Y2VlYmAsc2xhdGVibHVlOmAjNmE1YWNkYCxzbGF0ZWdyYXk6YCM3MDgwOTBgLHNsYXRlZ3JleTpgIzcwODA5MGAsc25vdzpgI2ZmZmFmYWAsc3ByaW5nZ3JlZW46YCMwMGZmN2ZgLHN0ZWVsYmx1ZTpgIzQ2ODJiNGAsdGFuOmAjZDJiNDhjYCx0ZWFsOmAjMDA4MDgwYCx0aGlzdGxlOmAjZDhiZmQ4YCx0b21hdG86YCNmZjYzNDdgLHR1cnF1b2lzZTpgIzQwZTBkMGAsdmlvbGV0OmAjZWU4MmVlYCx3aGVhdDpgI2Y1ZGViM2Asd2hpdGU6YCNmZmZmZmZgLHdoaXRlc21va2U6YCNmNWY1ZjVgLHllbGxvdzpgI2ZmZmYwMGAseWVsbG93Z3JlZW46YCM5YWNkMzJgfTtmdW5jdGlvbiBEdihlKXtsZXQgdD17cjowLGc6MCxiOjB9LG49MSxyPW51bGwsaT1udWxsLGE9bnVsbCxvPSExLHM9ITE7cmV0dXJuIHR5cGVvZiBlPT1gc3RyaW5nYCYmKGU9TXYoZSkpLHR5cGVvZiBlPT1gb2JqZWN0YCYmKE52KGUucikmJk52KGUuZykmJk52KGUuYik/KHQ9ZnYoZS5yLGUuZyxlLmIpLG89ITAscz1TdHJpbmcoZS5yKS5zdWJzdHIoLTEpPT09YCVgP2BwcmdiYDpgcmdiYCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS52KT8ocj11dihlLnMpLGk9dXYoZS52KSx0PV92KGUuaCxyLGkpLG89ITAscz1gaHN2YCk6TnYoZS5oKSYmTnYoZS5zKSYmTnYoZS5sKT8ocj11dihlLnMpLGE9dXYoZS5sKSx0PWh2KGUuaCxyLGEpLG89ITAscz1gaHNsYCk6TnYoZS5jKSYmTnYoZS5tKSYmTnYoZS55KSYmTnYoZS5rKSYmKHQ9YnYoZS5jLGUubSxlLnksZS5rKSxvPSEwLHM9YGNteWtgKSxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxgYWApJiYobj1lLmEpKSxuPWx2KG4pLHtvazpvLGZvcm1hdDplLmZvcm1hdHx8cyxyOk1hdGgubWluKDI1NSxNYXRoLm1heCh0LnIsMCkpLGc6TWF0aC5taW4oMjU1LE1hdGgubWF4KHQuZywwKSksYjpNYXRoLm1pbigyNTUsTWF0aC5tYXgodC5iLDApKSxhOm59fXZhciBPdj1gKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pYCxrdj1gW1xcc3xcXChdKyhgK092K2ApWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlcXHMqXFwpP2AsQXY9YFtcXHN8XFwoXSsoYCtPditgKVssfFxcc10rKCg/OlstXFwrXT9cXGQqXFwuXFxkKyU/KXwoPzpbLVxcK10/XFxkKyU/KSlbLHxcXHNdKygoPzpbLVxcK10/XFxkKlxcLlxcZCslPyl8KD86Wy1cXCtdP1xcZCslPykpWyx8XFxzXSsoKD86Wy1cXCtdP1xcZCpcXC5cXGQrJT8pfCg/OlstXFwrXT9cXGQrJT8pKVxccypcXCk/YCxqdj17Q1NTX1VOSVQ6bmV3IFJlZ0V4cChPdikscmdiOlJlZ0V4cChgcmdiYCtrdikscmdiYTpSZWdFeHAoYHJnYmFgK0F2KSxoc2w6UmVnRXhwKGBoc2xgK2t2KSxoc2xhOlJlZ0V4cChgaHNsYWArQXYpLGhzdjpSZWdFeHAoYGhzdmAra3YpLGhzdmE6UmVnRXhwKGBoc3ZhYCtBdiksY215azpSZWdFeHAoYGNteWtgK0F2KSxoZXgzOi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkkLyxoZXg2Oi9eIz8oWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkkLyxoZXg0Oi9eIz8oWzAtOWEtZkEtRl17MX0pKFswLTlhLWZBLUZdezF9KShbMC05YS1mQS1GXXsxfSkoWzAtOWEtZkEtRl17MX0pJC8saGV4ODovXiM/KFswLTlhLWZBLUZdezJ9KShbMC05YS1mQS1GXXsyfSkoWzAtOWEtZkEtRl17Mn0pKFswLTlhLWZBLUZdezJ9KSQvfTtmdW5jdGlvbiBNdihlKXtpZihlPWUudHJpbSgpLnRvTG93ZXJDYXNlKCksZS5sZW5ndGg9PT0wKXJldHVybiExO2xldCB0PSExO2lmKEV2W2VdKWU9RXZbZV0sdD0hMDtlbHNlIGlmKGU9PT1gdHJhbnNwYXJlbnRgKXJldHVybntyOjAsZzowLGI6MCxhOjAsZm9ybWF0OmBuYW1lYH07bGV0IG49anYucmdiLmV4ZWMoZSk7cmV0dXJuIG4/e3I6blsxXSxnOm5bMl0sYjpuWzNdfToobj1qdi5yZ2JhLmV4ZWMoZSksbj97cjpuWzFdLGc6blsyXSxiOm5bM10sYTpuWzRdfToobj1qdi5oc2wuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLGw6blszXX06KG49anYuaHNsYS5leGVjKGUpLG4/e2g6blsxXSxzOm5bMl0sbDpuWzNdLGE6bls0XX06KG49anYuaHN2LmV4ZWMoZSksbj97aDpuWzFdLHM6blsyXSx2Om5bM119OihuPWp2LmhzdmEuZXhlYyhlKSxuP3toOm5bMV0sczpuWzJdLHY6blszXSxhOm5bNF19OihuPWp2LmNteWsuZXhlYyhlKSxuP3tjOm5bMV0sbTpuWzJdLHk6blszXSxrOm5bNF19OihuPWp2LmhleDguZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxhOkN2KG5bNF0pLGZvcm1hdDp0P2BuYW1lYDpgaGV4OGB9OihuPWp2LmhleDYuZXhlYyhlKSxuP3tyOnd2KG5bMV0pLGc6d3YoblsyXSksYjp3dihuWzNdKSxmb3JtYXQ6dD9gbmFtZWA6YGhleGB9OihuPWp2LmhleDQuZXhlYyhlKSxuP3tyOnd2KG5bMV0rblsxXSksZzp3dihuWzJdK25bMl0pLGI6d3YoblszXStuWzNdKSxhOkN2KG5bNF0rbls0XSksZm9ybWF0OnQ/YG5hbWVgOmBoZXg4YH06KG49anYuaGV4My5leGVjKGUpLG4/e3I6d3YoblsxXStuWzFdKSxnOnd2KG5bMl0rblsyXSksYjp3dihuWzNdK25bM10pLGZvcm1hdDp0P2BuYW1lYDpgaGV4YH06ITEpKSkpKSkpKSkpfWZ1bmN0aW9uIE52KGUpe3JldHVybiB0eXBlb2YgZT09YG51bWJlcmA/IU51bWJlci5pc05hTihlKTpqdi5DU1NfVU5JVC50ZXN0KGUpfXZhciBQdj1jbGFzcyBle2NvbnN0cnVjdG9yKHQ9YGAsbj17fSl7aWYodCBpbnN0YW5jZW9mIGUpcmV0dXJuIHQ7dHlwZW9mIHQ9PWBudW1iZXJgJiYodD1Udih0KSksdGhpcy5vcmlnaW5hbElucHV0PXQ7bGV0IHI9RHYodCk7dGhpcy5vcmlnaW5hbElucHV0PXQsdGhpcy5yPXIucix0aGlzLmc9ci5nLHRoaXMuYj1yLmIsdGhpcy5hPXIuYSx0aGlzLnJvdW5kQT1NYXRoLnJvdW5kKDEwMCp0aGlzLmEpLzEwMCx0aGlzLmZvcm1hdD1uLmZvcm1hdD8/ci5mb3JtYXQsdGhpcy5ncmFkaWVudFR5cGU9bi5ncmFkaWVudFR5cGUsdGhpcy5yPDEmJih0aGlzLnI9TWF0aC5yb3VuZCh0aGlzLnIpKSx0aGlzLmc8MSYmKHRoaXMuZz1NYXRoLnJvdW5kKHRoaXMuZykpLHRoaXMuYjwxJiYodGhpcy5iPU1hdGgucm91bmQodGhpcy5iKSksdGhpcy5pc1ZhbGlkPXIub2t9aXNEYXJrKCl7cmV0dXJuIHRoaXMuZ2V0QnJpZ2h0bmVzcygpPDEyOH1pc0xpZ2h0KCl7cmV0dXJuIXRoaXMuaXNEYXJrKCl9Z2V0QnJpZ2h0bmVzcygpe2xldCBlPXRoaXMudG9SZ2IoKTtyZXR1cm4oZS5yKjI5OStlLmcqNTg3K2UuYioxMTQpLzFlM31nZXRMdW1pbmFuY2UoKXtsZXQgZT10aGlzLnRvUmdiKCksdCxuLHIsaT1lLnIvMjU1LGE9ZS5nLzI1NSxvPWUuYi8yNTU7cmV0dXJuIHQ9aTw9LjAzOTI4P2kvMTIuOTI6KChpKy4wNTUpLzEuMDU1KSoqMi40LG49YTw9LjAzOTI4P2EvMTIuOTI6KChhKy4wNTUpLzEuMDU1KSoqMi40LHI9bzw9LjAzOTI4P28vMTIuOTI6KChvKy4wNTUpLzEuMDU1KSoqMi40LC4yMTI2KnQrLjcxNTIqbisuMDcyMipyfWdldEFscGhhKCl7cmV0dXJuIHRoaXMuYX1zZXRBbHBoYShlKXtyZXR1cm4gdGhpcy5hPWx2KGUpLHRoaXMucm91bmRBPU1hdGgucm91bmQoMTAwKnRoaXMuYSkvMTAwLHRoaXN9aXNNb25vY2hyb21lKCl7bGV0e3M6ZX09dGhpcy50b0hzbCgpO3JldHVybiBlPT09MH10b0hzdigpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLHY6ZS52LGE6dGhpcy5hfX10b0hzdlN0cmluZygpe2xldCBlPWd2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLnYqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHN2KCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc3ZhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hzbCgpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKTtyZXR1cm57aDplLmgqMzYwLHM6ZS5zLGw6ZS5sLGE6dGhpcy5hfX10b0hzbFN0cmluZygpe2xldCBlPXB2KHRoaXMucix0aGlzLmcsdGhpcy5iKSx0PU1hdGgucm91bmQoZS5oKjM2MCksbj1NYXRoLnJvdW5kKGUucyoxMDApLHI9TWF0aC5yb3VuZChlLmwqMTAwKTtyZXR1cm4gdGhpcy5hPT09MT9gaHNsKCR7dH0sICR7bn0lLCAke3J9JSlgOmBoc2xhKCR7dH0sICR7bn0lLCAke3J9JSwgJHt0aGlzLnJvdW5kQX0pYH10b0hleChlPSExKXtyZXR1cm4gdnYodGhpcy5yLHRoaXMuZyx0aGlzLmIsZSl9dG9IZXhTdHJpbmcoZT0hMSl7cmV0dXJuYCNgK3RoaXMudG9IZXgoZSl9dG9IZXg4KGU9ITEpe3JldHVybiB5dih0aGlzLnIsdGhpcy5nLHRoaXMuYix0aGlzLmEsZSl9dG9IZXg4U3RyaW5nKGU9ITEpe3JldHVybmAjYCt0aGlzLnRvSGV4OChlKX10b0hleFNob3J0U3RyaW5nKGU9ITEpe3JldHVybiB0aGlzLmE9PT0xP3RoaXMudG9IZXhTdHJpbmcoZSk6dGhpcy50b0hleDhTdHJpbmcoZSl9dG9SZ2IoKXtyZXR1cm57cjpNYXRoLnJvdW5kKHRoaXMuciksZzpNYXRoLnJvdW5kKHRoaXMuZyksYjpNYXRoLnJvdW5kKHRoaXMuYiksYTp0aGlzLmF9fXRvUmdiU3RyaW5nKCl7bGV0IGU9TWF0aC5yb3VuZCh0aGlzLnIpLHQ9TWF0aC5yb3VuZCh0aGlzLmcpLG49TWF0aC5yb3VuZCh0aGlzLmIpO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlfSwgJHt0fSwgJHtufSlgOmByZ2JhKCR7ZX0sICR7dH0sICR7bn0sICR7dGhpcy5yb3VuZEF9KWB9dG9QZXJjZW50YWdlUmdiKCl7bGV0IGU9ZT0+YCR7TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApfSVgO3JldHVybntyOmUodGhpcy5yKSxnOmUodGhpcy5nKSxiOmUodGhpcy5iKSxhOnRoaXMuYX19dG9QZXJjZW50YWdlUmdiU3RyaW5nKCl7bGV0IGU9ZT0+TWF0aC5yb3VuZChaKGUsMjU1KSoxMDApO3JldHVybiB0aGlzLmE9PT0xP2ByZ2IoJHtlKHRoaXMucil9JSwgJHtlKHRoaXMuZyl9JSwgJHtlKHRoaXMuYil9JSlgOmByZ2JhKCR7ZSh0aGlzLnIpfSUsICR7ZSh0aGlzLmcpfSUsICR7ZSh0aGlzLmIpfSUsICR7dGhpcy5yb3VuZEF9KWB9dG9DbXlrKCl7cmV0dXJuey4uLnh2KHRoaXMucix0aGlzLmcsdGhpcy5iKX19dG9DbXlrU3RyaW5nKCl7bGV0e2M6ZSxtOnQseTpuLGs6cn09eHYodGhpcy5yLHRoaXMuZyx0aGlzLmIpO3JldHVybmBjbXlrKCR7ZX0sICR7dH0sICR7bn0sICR7cn0pYH10b05hbWUoKXtpZih0aGlzLmE9PT0wKXJldHVybmB0cmFuc3BhcmVudGA7aWYodGhpcy5hPDEpcmV0dXJuITE7bGV0IGU9YCNgK3Z2KHRoaXMucix0aGlzLmcsdGhpcy5iLCExKTtmb3IobGV0W3Qsbl1vZiBPYmplY3QuZW50cmllcyhFdikpaWYoZT09PW4pcmV0dXJuIHQ7cmV0dXJuITF9dG9TdHJpbmcoZSl7bGV0IHQ9ISFlO2U/Pz10aGlzLmZvcm1hdDtsZXQgbj0hMSxyPXRoaXMuYTwxJiZ0aGlzLmE+PTA7cmV0dXJuIXQmJnImJihlLnN0YXJ0c1dpdGgoYGhleGApfHxlPT09YG5hbWVgKT9lPT09YG5hbWVgJiZ0aGlzLmE9PT0wP3RoaXMudG9OYW1lKCk6dGhpcy50b1JnYlN0cmluZygpOihlPT09YHJnYmAmJihuPXRoaXMudG9SZ2JTdHJpbmcoKSksZT09PWBwcmdiYCYmKG49dGhpcy50b1BlcmNlbnRhZ2VSZ2JTdHJpbmcoKSksKGU9PT1gaGV4YHx8ZT09PWBoZXg2YCkmJihuPXRoaXMudG9IZXhTdHJpbmcoKSksZT09PWBoZXgzYCYmKG49dGhpcy50b0hleFN0cmluZyghMCkpLGU9PT1gaGV4NGAmJihuPXRoaXMudG9IZXg4U3RyaW5nKCEwKSksZT09PWBoZXg4YCYmKG49dGhpcy50b0hleDhTdHJpbmcoKSksZT09PWBuYW1lYCYmKG49dGhpcy50b05hbWUoKSksZT09PWBoc2xgJiYobj10aGlzLnRvSHNsU3RyaW5nKCkpLGU9PT1gaHN2YCYmKG49dGhpcy50b0hzdlN0cmluZygpKSxlPT09YGNteWtgJiYobj10aGlzLnRvQ215a1N0cmluZygpKSxufHx0aGlzLnRvSGV4U3RyaW5nKCkpfXRvTnVtYmVyKCl7cmV0dXJuKE1hdGgucm91bmQodGhpcy5yKTw8MTYpKyhNYXRoLnJvdW5kKHRoaXMuZyk8PDgpK01hdGgucm91bmQodGhpcy5iKX1jbG9uZSgpe3JldHVybiBuZXcgZSh0aGlzLnRvU3RyaW5nKCkpfWxpZ2h0ZW4odD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLmwrPXQvMTAwLG4ubD1vdihuLmwpLG5ldyBlKG4pfWJyaWdodGVuKHQ9MTApe2xldCBuPXRoaXMudG9SZ2IoKTtyZXR1cm4gbi5yPU1hdGgubWF4KDAsTWF0aC5taW4oMjU1LG4uci1NYXRoLnJvdW5kKDI1NSotKHQvMTAwKSkpKSxuLmc9TWF0aC5tYXgoMCxNYXRoLm1pbigyNTUsbi5nLU1hdGgucm91bmQoMjU1Ki0odC8xMDApKSkpLG4uYj1NYXRoLm1heCgwLE1hdGgubWluKDI1NSxuLmItTWF0aC5yb3VuZCgyNTUqLSh0LzEwMCkpKSksbmV3IGUobil9ZGFya2VuKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5sLT10LzEwMCxuLmw9b3Yobi5sKSxuZXcgZShuKX10aW50KGU9MTApe3JldHVybiB0aGlzLm1peChgd2hpdGVgLGUpfXNoYWRlKGU9MTApe3JldHVybiB0aGlzLm1peChgYmxhY2tgLGUpfWRlc2F0dXJhdGUodD0xMCl7bGV0IG49dGhpcy50b0hzbCgpO3JldHVybiBuLnMtPXQvMTAwLG4ucz1vdihuLnMpLG5ldyBlKG4pfXNhdHVyYXRlKHQ9MTApe2xldCBuPXRoaXMudG9Ic2woKTtyZXR1cm4gbi5zKz10LzEwMCxuLnM9b3Yobi5zKSxuZXcgZShuKX1ncmV5c2NhbGUoKXtyZXR1cm4gdGhpcy5kZXNhdHVyYXRlKDEwMCl9c3Bpbih0KXtsZXQgbj10aGlzLnRvSHNsKCkscj0obi5oK3QpJTM2MDtyZXR1cm4gbi5oPXI8MD8zNjArcjpyLG5ldyBlKG4pfW1peCh0LG49NTApe2xldCByPXRoaXMudG9SZ2IoKSxpPW5ldyBlKHQpLnRvUmdiKCksYT1uLzEwMDtyZXR1cm4gbmV3IGUoe3I6KGkuci1yLnIpKmErci5yLGc6KGkuZy1yLmcpKmErci5nLGI6KGkuYi1yLmIpKmErci5iLGE6KGkuYS1yLmEpKmErci5hfSl9YW5hbG9nb3VzKHQ9NixuPTMwKXtsZXQgcj10aGlzLnRvSHNsKCksaT0zNjAvbixhPVt0aGlzXTtmb3Ioci5oPShyLmgtKGkqdD4+MSkrNzIwKSUzNjA7LS10OylyLmg9KHIuaCtpKSUzNjAsYS5wdXNoKG5ldyBlKHIpKTtyZXR1cm4gYX1jb21wbGVtZW50KCl7bGV0IHQ9dGhpcy50b0hzbCgpO3JldHVybiB0Lmg9KHQuaCsxODApJTM2MCxuZXcgZSh0KX1tb25vY2hyb21hdGljKHQ9Nil7bGV0IG49dGhpcy50b0hzdigpLHtoOnJ9PW4se3M6aX09bix7djphfT1uLG89W10scz0xL3Q7Zm9yKDt0LS07KW8ucHVzaChuZXcgZSh7aDpyLHM6aSx2OmF9KSksYT0oYStzKSUxO3JldHVybiBvfXNwbGl0Y29tcGxlbWVudCgpe2xldCB0PXRoaXMudG9Ic2woKSx7aDpufT10O3JldHVyblt0aGlzLG5ldyBlKHtoOihuKzcyKSUzNjAsczp0LnMsbDp0Lmx9KSxuZXcgZSh7aDoobisyMTYpJTM2MCxzOnQucyxsOnQubH0pXX1vbkJhY2tncm91bmQodCl7bGV0IG49dGhpcy50b1JnYigpLHI9bmV3IGUodCkudG9SZ2IoKSxpPW4uYStyLmEqKDEtbi5hKTtyZXR1cm4gbmV3IGUoe3I6KG4ucipuLmErci5yKnIuYSooMS1uLmEpKS9pLGc6KG4uZypuLmErci5nKnIuYSooMS1uLmEpKS9pLGI6KG4uYipuLmErci5iKnIuYSooMS1uLmEpKS9pLGE6aX0pfXRyaWFkKCl7cmV0dXJuIHRoaXMucG9seWFkKDMpfXRldHJhZCgpe3JldHVybiB0aGlzLnBvbHlhZCg0KX1wb2x5YWQodCl7bGV0IG49dGhpcy50b0hzbCgpLHtoOnJ9PW4saT1bdGhpc10sYT0zNjAvdDtmb3IobGV0IG89MTtvPHQ7bysrKWkucHVzaChuZXcgZSh7aDoocitvKmEpJTM2MCxzOm4ucyxsOm4ubH0pKTtyZXR1cm4gaX1lcXVhbHModCl7bGV0IG49bmV3IGUodCk7cmV0dXJuIHRoaXMuZm9ybWF0PT09YGNteWtgfHxuLmZvcm1hdD09PWBjbXlrYD90aGlzLnRvQ215a1N0cmluZygpPT09bi50b0NteWtTdHJpbmcoKTp0aGlzLnRvUmdiU3RyaW5nKCk9PT1uLnRvUmdiU3RyaW5nKCl9fTtmdW5jdGlvbiBGdihlLHQpe2xldCBuPW5ldyBQdihlKSxyPW5ldyBQdih0KTtyZXR1cm4oTWF0aC5tYXgobi5nZXRMdW1pbmFuY2UoKSxyLmdldEx1bWluYW5jZSgpKSsuMDUpLyhNYXRoLm1pbihuLmdldEx1bWluYW5jZSgpLHIuZ2V0THVtaW5hbmNlKCkpKy4wNSl9dmFyIEl2PS4yOTksTHY9LjU4NyxSdj0uMTE0LHp2PTE4MCxCdj0tMjAsVnY9LS4yNSxIdj0uMixVdj0tNSxXdj0uMDMsR3Y9LjUsS3Y9NSxxdj0oZSx0KT0+bmV3IFB2KGUpLmRhcmtlbih0KS50b0hleFN0cmluZygpLEp2PWU9PntsZXQgdD1uZXcgUHYoZSkudG9SZ2IoKTtyZXR1cm5gJHt0LnJ9LCAke3QuZ30sICR7dC5ifWB9LFl2PWU9Pi9eI1swLTlBLUZdezZ9JC9pLnRlc3QoZSksWHY9ZT0+e2xldHtyOnQsZzpuLGI6cn09bmV3IFB2KGUpLnRvUmdiKCk7cmV0dXJuIE1hdGguc3FydCh0KnQqSXYrbipuKkx2K3IqcipSdik+enZ9LFp2PWU9PntsZXQgdD1uZXcgUHYoZSkse3M6bixsOnJ9PXQudG9Ic2woKTtyZXR1cm4gdC5zcGluKEJ2KS5kZXNhdHVyYXRlKG4qVnYpLmxpZ2h0ZW4ocipIdikudG9IZXhTdHJpbmcoKX0sUXY9KGUsdD1Hdik9PntsZXQgbj1uZXcgUHYoZSkse3M6cixsOml9PW4udG9Ic2woKTtyZXR1cm4gbi5zcGluKFV2KS5zYXR1cmF0ZShyKld2KS5kYXJrZW4oaSp0KS50b0hleFN0cmluZygpfSwkdj1lPT57bGV0e2NvbG9yOnQsY29sb3IyOm4sY29sb3JHcmFkaWVudDpyfT1lO3JldHVybiByP24/e2Zyb206dCx0bzpufTpYdih0KT97ZnJvbTp0LHRvOlF2KHQpfTp7ZnJvbTpadih0KSx0bzp0fTp7ZnJvbTp0LHRvOnR9fSxleT1lPT5YdihlKT9hdi5zbGF0ZTkwMDphdi53aGl0ZSx0eT1lPT5YdihlKT8uMTouMixueT1lPT57aWYoWHYoZSkpe2xldCB0PW5ldyBQdihlKS5nZXRMdW1pbmFuY2UoKTtyZXR1cm4gdD4uOD9xdihlLCgxMCp0KSoqdCk6ZX1yZXR1cm4gZX0scnk9KGUsdCk9PntsZXQgbj10Py5iYWNrZ3JvdW5kQ29sb3I/P2Uscj0wLGk9bmV3IFB2KGUpLGE9RnYobixpKSxvPXQ/LmZvcmNlTGlnaHRCZz8/bmV3IFB2KG4pLmlzTGlnaHQoKTtmb3IoO2E8My43NSYmcjwyMDspaT1vP2kuZGFya2VuKDUpOmkubGlnaHRlbig1KSxhPUZ2KG4saSkscisrO3JldHVybiBpLnRvSGV4U3RyaW5nKCl9LGl5PShlLHQpPT57bGV0IG49cnkoZSx7YmFja2dyb3VuZENvbG9yOmF2LndoaXRlfSkscj1yeShlKSxpPW5ldyBQdihlKS5pc0xpZ2h0KCksYT1uZXcgUHYodCkuaXNMaWdodCgpO3JldHVybiBpJiZhP3I9cnkodCk6IWkmJiFhP3I9cnkoZSk6aSYmIWE/cj1yeSh0LHtmb3JjZUxpZ2h0Qmc6ITB9KTohaSYmYSYmKHI9cnkoZSx7Zm9yY2VMaWdodEJnOiExfSkpLHtwcmltYXJ5Om4sc2Vjb25kYXJ5OnJ9fSxRPShlLHQsbik9PntlLmRvY3VtZW50RWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSh0LG4pfSxheT0oZSx0KT0+e2xldHtjb2xvcjpufT10LHI9JHYodCksaT1yLmZyb209PT1gI2ZmZmZmZmAmJnIuZnJvbT09PXIudG8/e2Zyb206YXYuc2xhdGUzMDAsdG86YXYuc2xhdGUzMDB9OnIsYT1leShuKTtRKGUsYC0tY29sb3ItcHJpbWFyeWAsbiksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudGAsYSksUShlLGAtLWNvbG9yLXByaW1hcnktY29udGVudC1yZ2JgLEp2KGEpKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1mcm9tYCxyLmZyb20pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvYCxyLnRvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tZnJvbWAsaS5mcm9tKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1ncmFkaWVudC1idXR0b24tdG9gLGkudG8pLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLWZyb21gLHF2KHIuZnJvbSxLdikpLFEoZSxgLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWhvdmVyLXRvYCxxdihyLnRvLEt2KSk7bGV0IG89bnkobik7UShlLGAtLWNvbG9yLXByaW1hcnktYnV0dG9uYCxvKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24taG92ZXJgLHF2KG8sMTApKSxRKGUsYC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudGAsYSksUShlLGAtLW9wYWNpdHktcHJpbWFyeS1jb250ZW50YCxTdHJpbmcodHkobikpKTtsZXQgcz1peShyLmZyb20sci50byk7UShlLGAtLWNvbG9yLXByaW1hcnktZm9jdXNgLHMucHJpbWFyeSksUShlLGAtLWNvbG9yLXNlY29uZGFyeS1mb2N1c2Ascy5zZWNvbmRhcnkpfSxveT0oKCk9PntsZXR7c3Vic2NyaWJlOmUsc2V0OnR9PU8oe2NvbG9yOmF2LnNtYXJ0c3VwcEJsdWUsY29sb3IyOm51bGwsY29sb3JHcmFkaWVudDohMH0pO3JldHVybntzdWJzY3JpYmU6ZSxzZXRUaGVtZUNvbG9yOmU9PntsZXR7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9PWU7aWYoIVl2KG4pKXtIKGBQcm92aWRlZCBjb2xvciAnJHtufScgaXMgbm90IHZhbGlkLiBEZWZhdWx0IGNvbG9yIHdpbGwgYmUgdXNlZCBpbnN0ZWFkLmApO3JldHVybn1lbHNlIGlmKGkmJnImJiFZdihyKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7cn0nIGlzIG5vdCB2YWxpZC4gRGVmYXVsdCBjb2xvciB3aWxsIGJlIHVzZWQgaW5zdGVhZC5gKTtyZXR1cm59dCh7Y29sb3I6bixjb2xvcjI6cixjb2xvckdyYWRpZW50Oml9KX19fSkoKSxzeT0yNCxjeT0xMixseT03Mix1eT0zODAsZHk9NjcyLGZ5PTU2MCxweT04NDAsbXk9ZT0+YCR7ZX1weGAsaHk9ZT0+e2lmKGUpcmV0dXJuIEx1KGUpP3BhcnNlSW50KGUsMTApOmV9LGd5PShlLHQpPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczpufT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8bj8uaGVhZGxlc3NNb2RlP3t3aWR0aDpgMTAwJWAsaGVpZ2h0OmAxMDAlYH06dD97d2lkdGg6ZnksaGVpZ2h0OnB5fTp7d2lkdGg6dXksaGVpZ2h0OmR5fX0sX3k9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS5ib3JkZXJSYWRpdXM9bXkoMjApLHQ/LmhlYWRsZXNzTW9kZT9lLnN0eWxlLmJveFNoYWRvdz1gbm9uZWA6dD8ubGltaXRTaGFkb3c/ZS5zdHlsZS5ib3hTaGFkb3c9YHJnYmEoMCwgMCwgMCwgMC4yNSkgMHB4IDVweCAxMnB4YDplLnN0eWxlLmJveFNoYWRvdz1gcmdiYSgwLCAwLCAwLCAwLjE2KSAwcHggNXB4IDQwcHhgfSx2eT0oKT0+e2xldHtvZmZzZXRZOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBoeShlKT8/c3l9LHl5PSgpPT57bGV0e29mZnNldFg6ZX09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGh5KGUpPz9jeX0sYnk9ZT0+e2xldHt3aWRnZXRCbG9ja2luZ09wdGlvbnM6dH09Vi5nZXRPcHRpb25zKCk7cmV0dXJuIGV8fHQ/LmhlYWRsZXNzTW9kZT8wOnN5fSx4eT1lPT57bGV0e3dpZGdldEJsb2NraW5nT3B0aW9uczp0fT1WLmdldE9wdGlvbnMoKTtyZXR1cm4gZXx8dD8uaGVhZGxlc3NNb2RlPzA6Y3l9LFN5PSgpPT57bGV0e3Bvc2l0aW9uOmV9PVYuZ2V0T3B0aW9ucygpO3JldHVybiBlPT09YGZpeGVkYH0sQ3k9ZT0+e1N5KCkmJihlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGApfSx3eT0oZSx0KT0+e1N5KCkmJihlLnN0eWxlLmJvdHRvbT1teSh0KSl9LFR5PShlLHQpPT57aWYoU3koKSl7bGV0e29yaWVudGF0aW9uOm59PVYuZ2V0T3B0aW9ucygpO249PT1gcmlnaHRgPyhlLnN0eWxlLmxlZnQ9YGluaXRpYWxgLGUuc3R5bGUucmlnaHQ9bXkodCkpOihlLnN0eWxlLmxlZnQ9bXkodCksZS5zdHlsZS5yaWdodD1gaW5pdGlhbGApfX0sRXk9ZT0+e2xldHt6SW5kZXg6dH09Vi5nZXRPcHRpb25zKCk7ZS5zdHlsZS56SW5kZXg9U3RyaW5nKHQ/P2BhdXRvYCl9LER5PWU9PntsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KGBpZnJhbWVgKTtyZXR1cm4gdC5zdHlsZS5wb3NpdGlvbj1gYWJzb2x1dGVgLHQuc3R5bGUud2lkdGg9YDEwMCVgLHQuc3R5bGUuaGVpZ2h0PWAxMDAlYCx0LnN0eWxlLmJvcmRlcj1gbm9uZWAsdC5zdHlsZS5kaXNwbGF5PWBibG9ja2AsdC5zdHlsZS50ZXh0QWxpZ249YGxlZnRgLHQuc3R5bGUubWFyZ2luPWAwYCx0LnN0eWxlLnBhZGRpbmc9YDBgLHQuc3R5bGUudG9wPWAwYCx0LnN0eWxlLmxlZnQ9YDBgLHQuc3R5bGUub3BhY2l0eT1gMWAsZSYmZSh0KSx0LmdldEF0dHJpYnV0ZShgc3R5bGVgKT8/YGB9LE95PWU9PntDeShlKSx3eShlLHZ5KCkpLFR5KGUseXkoKSksRXkoZSl9LGt5PShlLHQpPT57Q3koZSksd3koZSxieSh0KSksVHkoZSx4eSh0KSksRXkoZSksdHx8X3koZSl9LEF5PWU9PntDeShlKSx3eShlLHZ5KCkrbHkpLFR5KGUseXkoKSksRXkoZSl9LGp5PWU9PntlLnN0eWxlLnBvc2l0aW9uPWBmaXhlZGAsZS5zdHlsZS53aWR0aD1gMTAwJWAsZS5zdHlsZS5oZWlnaHQ9YDEwMCVgLHd5KGUsMCksVHkoZSwwKSxFeShlKX0sTXk9ZT0+e095KGUpfSxOeT0oZSx0KT0+e2t5KGUsdCl9LFB5PWU9PntBeShlKX0sRnk9ZT0+e0F5KGUpfSxJeT1lPT57ankoZSl9LEx5PU8oMzAwKSxSeT1PKDE2Niksenk9TyghMSksQnk9Tyh2b2lkIDApLFZ5PWsoW3NzLEJ5XSwoW2UsdF0pPT57bGV0e2J1dHRvblN0eWxlOm59PVYuZ2V0T3B0aW9ucygpO3JldHVybiB0P3Q9PT1gYnViYmxlYDplfHxuPT09YGJ1YmJsZWB9KSxIeT1rKFtWeSxMeV0sKFtlLHRdKT0+ZT81Njp0KSxVeT1PKHZvaWQgMCksV3k9ayhbY3MsVXldLChbZSx0XSk9PmU/ITA6KHQ/P1YuZ2V0T3B0aW9ucygpLmhlYWRlclN0eWxlKT09PWBjb21wYWN0YCksR3k9ayhbV3ldLChbZV0pPT5lPzc2OjExNCksS3k9TygpLHF5PWsoW0t5XSwoW2VdKT0+ZT09PXZvaWQgMD96byhVLklzTWVzc2VuZ2VyRnJhbWVFeHBhbmRlZCk9PT1gdHJ1ZWA6ZSksSnk9ZT0+e0JvKHtuYW1lOlUuSXNNZXNzZW5nZXJGcmFtZUV4cGFuZGVkLHZhbHVlOmUudG9TdHJpbmcoKX0pLEt5LnNldChlKX0sJD1mdW5jdGlvbihlKXtyZXR1cm4gZS5OYW1lPWBuYW1lYCxlLkdyb3VwPWBncm91cGAsZS5FbWFpbD1gZW1haWxgLGUuUGhvbmU9YHBob25lYCxlLlZhcmlhYmxlcz1gdmFyaWFibGVzYCxlLkNvbnRhY3REYXRhPWBjb250YWN0RGF0YWAsZS5MYW5ndWFnZT1gbGFuZ3VhZ2VgLGUuQ2hhdENsb3NlPWBjaGF0OmNsb3NlYCxlLkNoYXRPcGVuPWBjaGF0Om9wZW5gLGUuQ2hhdFNob3c9YGNoYXQ6c2hvd2AsZS5DaGF0SGlkZT1gY2hhdDpoaWRlYCxlLlRoZW1lQ29sb3I9YHRoZW1lOmNvbG9yYCxlLkNoYXRNZXNzYWdlPWBjaGF0Om1lc3NhZ2VgLGUuQ2hhdFNlbmQ9YGNoYXQ6c2VuZGAsZS5IdG1sQXBwbHk9YGh0bWw6YXBwbHlgLGUuT249YG9uYCxlLkFuYWx5dGljc0NvbnNlbnQ9YGFuYWx5dGljc0NvbnNlbnRgLGUuTWFya2V0aW5nQ29uc2VudD1gbWFya2V0aW5nQ29uc2VudGAsZS5PcGVuUmF0ZUZvcm09YG9wZW5SYXRlRm9ybWAsZS5PcGVuQXV0aEZvcm09YG9wZW5BdXRoRm9ybWAsZS5XaWRnZXRTdGF0dXM9YHdpZGdldFN0YXR1c2AsZS5UcmFuc2xhdGlvbnM9YHRyYW5zbGF0aW9uc2AsZS5BdXRoRm9ybUZpZWxkcz1gYXV0aEZvcm1GaWVsZHNgLGUuQnV0dG9uU3R5bGU9YGJ1dHRvblN0eWxlYCxlLkhlYWRlclN0eWxlPWBoZWFkZXJTdHlsZWAsZS5QcmV2aWV3VHJhbnNsYXRlPWBwcmV2aWV3VHJhbnNsYXRlYCxlLkRpc2FibGVDb25uZWN0aW9uU3RhdHVzPWBkaXNhYmxlQ29ubmVjdGlvblN0YXR1c2AsZS5SZWxvYWRXaXRoTW9ja0RhdGE9YHJlbG9hZFdpdGhNb2NrRGF0YWAsZS5SZWxvYWQ9YHJlbG9hZGAsZS5Cb3RJZGVudGl0eVVwZGF0ZT1gYm90SWRlbnRpdHk6dXBkYXRlYCxlfSh7fSksWXk9ZnVuY3Rpb24oZSl7cmV0dXJuIGUuTWVzc2FnZVNlbnQ9YG1lc3NhZ2Vfc2VudGAsZS5NZXNzYWdlUmVjZWl2ZWQ9YG1lc3NhZ2VfcmVjZWl2ZWRgLGUuTWVzc2VuZ2VyQ2xvc2U9YG1lc3Nlbmdlcl9jbG9zZWAsZS5XaWRnZXRJbml0PWB3aWRnZXRfaW5pdGAsZX0oe30pLFh5PWU9Pnt6Lm9uKGBtZXNzYWdlU2VudGAsZSl9LFp5PWU9Pnt6Lm9uKGBtZXNzYWdlUmVjZWl2ZWRgLGUpfSxReT1lPT57ei5vbihgbWVzc2VuZ2VyQ2xvc2VgLGUpfSwkeT1lPT57ei5vbihgd2lkZ2V0SW5pdGAsZSl9LGViPXtbWXkuTWVzc2FnZVNlbnRdOlh5LFtZeS5NZXNzYWdlUmVjZWl2ZWRdOlp5LFtZeS5NZXNzZW5nZXJDbG9zZV06UXksW1l5LldpZGdldEluaXRdOiR5fSx0Yj0oZSx0KT0+e2xldCBuPWViW2VdO24mJm4odCl9LG5iPWBodHRwczovL2RvY3Muc21hcnRzdXBwLmNvbS9jaGF0LWJveC9gLHJiPWAke25ifWxvY2FsaXphdGlvbi8jc3VwcG9ydGVkLWxhbmd1YWdlc2AsaWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLXZpc2l0b3ItZGF0YWAsYWI9YCR7bmJ9dmlzaXRvci1pZGVudGlmaWNhdGlvbi8jY3VzdG9tLWNvbnRhY3QtZGF0YWAsb2I9YCR7bmJ9amF2YXNjcmlwdC1hcGkvZXZlbnRzL2Asc2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vaGVscC9jb29raWUtY29uc2VudC8jd2hlcmUtdG8tZW5hYmxlLWNvb2tpZS1jb25zZW50LWluLXNtYXJ0c3VwcGAsY2I9YGh0dHBzOi8vd3d3LnNtYXJ0c3VwcC5jb20vcHJpY2luZ2AsbGI9Tyh7fSksdWI9KGUsdCk9PntsYi51cGRhdGUobj0+KHsuLi5uLFtlXTp0fSkpfSxkYj1lPT5PYmplY3QudmFsdWVzKCQpLnNvbWUodD0+dD09PWUpLGZiPShlLHQpPT5MdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgc3RyaW5nLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLHBiPShlLHQpPT5QdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgYm9vbGVhbi4gU2VlICR7bmJ9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKSxtYj0oZSx0KT0+dHlwZW9mIHQ9PWBmdW5jdGlvbmA/ITA6KEgoYFBhcmFtZXRlciBvZiAnJHtlfScgQVBJIGNvbW1hbmQgbXVzdCBiZSB0eXBlIGZ1bmN0aW9uLiBTZWUgJHtuYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGhiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHtpYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLGdiPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LiBTZWUgJHthYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCksITEpLF9iPShlLHQpPT5JdSh0KT8hMDooSChgUGFyYW1ldGVyIG9mICcke2V9JyBBUEkgY29tbWFuZCBtdXN0IGJlIHR5cGUgb2JqZWN0LmApLCExKSx2Yj0oZSx0KT0+IUl1KHQpfHwhKGBpZGBpbiB0KXx8IUx1KHQuaWQpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgYmUgdHlwZSBvYmplY3QgYW5kIGhhcyBhIHZhbGlkICdpZCcgcHJvcGVydHkuYCksITEpOmBuYW1lYGluIHQmJiFMdSh0Lm5hbWUpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICduYW1lJyBwcm9wZXJ0eS5gKSwhMSk6YGF2YXRhclVybGBpbiB0JiYhTHUodC5hdmF0YXJVcmwpPyhIKGBQYXJhbWV0ZXIgb2YgJyR7ZX0nIEFQSSBjb21tYW5kIG11c3QgaGF2ZSBhIHZhbGlkICdhdmF0YXJVcmwnIHByb3BlcnR5LmApLCExKTohMCx5Yj0oZSx0KT0+e2xldCBuPU9iamVjdC52YWx1ZXMoWXkpO3JldHVybiBuLmluY2x1ZGVzKHQpPyEwOihIKGBVbmtub3duIGV2ZW50OiAnJHt0fScuIEF2YWlsYWJsZSBldmVudCBuYW1lcyBhcmU6ICR7bi5qb2luKGAsIGApfS4gU2VlICR7b2J9IGZvciBtb3JlIGluZm9ybWF0aW9uLmApLCExKX0sYmI9ZT0+e0goYFVua25vd24gQVBJIGNvbW1hbmQ6ICcke2V9Jy4gU2VlICR7bmJ9IHRvIGNoZWNrIGF2YWlsYWJsZSBBUEkgY29tbWFuZHMuYCl9LHhiPSgpPT4hIVYuZ2V0T3B0aW9ucygpLmZlYXR1cmVzPy5hcGksU2I9KCk9PiEhVi5nZXRPcHRpb25zKCkuZmVhdHVyZXM/Lmdyb3VwcyxDYj0oKT0+Vi5nZXRPcHRpb25zKCkuaXNQcmV2aWV3TW9kZSx3Yj0oKT0+IXhiKCkmJiFDYigpPyhIKGBDaGF0IGJveCBBUEkgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxUYj0oKT0+IXhiKCl8fCFTYigpPyhIKGBDaGF0IGJveCBHcm91cHMgZmVhdHVyZSBpcyBub3QgZW5hYmxlZC4gU2VlICR7Y2J9IHRvIHVwZ3JhZGUgeW91ciBwYWNrYWdlLmApLCExKTohMCxFYj0oKT0+e0hvKCl8fEgoYEVuYWJsZSBtYW5hZ2luZyBjb29raWUgY29uc2VudCBpbiB3aWRnZXQgc2V0dGluZ3MgdG8gYWxsb3cgdGhpcyBjb21tYW5kLiBTZWUgJHtzYn0gZm9yIG1vcmUgaW5mb3JtYXRpb24uYCl9LERiPSgpPT57bGV0IGU9KCk9PntVXyghMCksSV8oKX07aWYoIUEoQ18pKXtYbC5wdXNoKGUpO3JldHVybn1lKCl9LE9iPSgpPT57aWYod2IoKSl7aWYoIUEoQ18pKXtYbC5wdXNoKFdfKTtyZXR1cm59V18oKX19LGtiPSgpPT57d2IoKSYmSV8oKX0sQWI9KCk9Pnt3YigpJiZMXygpfSxqYj0oZSx0KT0+e2lmKHdiKCkmJmU9PT0kLkxhbmd1YWdlJiZmYihlLHQpKXtpZighSWwodCkpe0goYFByb3ZpZGVkIGxhbmd1YWdlICcke3R9JyBpcyBub3Qgc3VwcG9ydGVkLiBTZWUgJHtyYn0gdG8gY2hlY2sgc3VwcG9ydGVkIGxhbmd1YWdlcy5gKTtyZXR1cm59aWYoIUEoQ18pKXt1YihgbGFuZ2AsdCk7cmV0dXJufUdsKHQpfX0sTWI9KGUsdCk9PntsZXQgbixyPW51bGwsaT0hMDtpZih3YigpKXtpZih0eXBlb2YgdD09YHN0cmluZ2AmJmZiKGUsdCkpbj10O2Vsc2UgaWYoaGIoZSx0KSl7aWYobj10LmNvbG9yLHI9dC5jb2xvcjIsaT10LmNvbG9yR3JhZGllbnQsIXBiKGUsaSkpcmV0dXJufWVsc2UgcmV0dXJuO2lmKCFZdihuKSl7SChgUHJvdmlkZWQgY29sb3IgJyR7bn0nIGlzIG5vdCB2YWxpZC4gUGxlYXNlIHVzZSBoZXggY29sb3IgY29kZS5gKTtyZXR1cm59ZWxzZSBpZihpJiZyJiYhWXYocikpe0goYFByb3ZpZGVkIGNvbG9yICcke3J9JyBpcyBub3QgdmFsaWQuIERlZmF1bHQgY29sb3Igd2lsbCBiZSB1c2VkIGluc3RlYWQuYCk7cmV0dXJufW95LnNldFRoZW1lQ29sb3Ioe2NvbG9yOm4sY29sb3IyOnIsY29sb3JHcmFkaWVudDppfSl9fSxOYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJm9fKHQpfSxQYj0oZSx0KT0+e3diKCkmJmZiKGUsdCkmJihvXyh0KSxkXygpKX0sRmI9KGUsdCxuKT0+e2ZiKGUsdCkmJnliKGUsdCkmJm1iKGUsbikmJnRiKHQsbil9LEliPShlLHQpPT57aGIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclZhcmlhYmxlcyh6dSh0KSl9LExiPShlLHQpPT57ZSE9PSQuTmFtZSYmZSE9PSQuRW1haWwmJmUhPT0kLlBob25lJiZlIT09JC5Hcm91cHx8ZmIoZSx0KSYmTXUudXBkYXRlVmlzaXRvclByb3BlcnR5KGUsdCl9LFJiPShlLHQpPT57aWYoIVRiKCl8fCFmYihlLHQpKXJldHVybjtsZXQgbj1BKGlsKVt0XTtpZihBKENfKSYmIW4pe0goYEdyb3VwIHdpdGgga2V5ICcke3R9JyBkb2VzIG5vdCBleGlzdC4gUGxlYXNlIHByb3ZpZGUgY29ycmVjdCBncm91cCBrZXkgZnJvbSB5b3VyIGdyb3VwIHNldHRpbmdzLmApO3JldHVybn1MYihlLHQpfSx6Yj0oZSx0KT0+e2diKGUsdCkmJk11LnVwZGF0ZVZpc2l0b3JDb250YWN0RGF0YSh0KX0sQmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYGFuYWx5dGljc0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sVmI9KGUsdCk9PntwYihlLHQpJiYoRWIoKSx6LmVtaXQoYG1hcmtldGluZ0NvbnNlbnRDaGFuZ2VkYCwhIXQpKX0sSGI9KCk9PntZcChBKEJwKXx8YGApfSxVYj0oKT0+e0JjKEhjLkF1dGhGb3JtKX0sV2I9KGUsdCk9PntmYihlLHQpJiYodCE9PUsuQWNjb3VudFN0YXR1cy5PbmxpbmUmJnQhPT1LLkFjY291bnRTdGF0dXMuT2ZmbGluZXx8JHUuc2V0KHQpKX0sR2I9KGUsdCk9PntoYihlLHQpJiZxbCh0KX0sS2I9KGUsdCk9PntoYihlLHQpJiYoQShWaCl8fFZoLnNldChWLmdldE9wdGlvbnMoKSksVmgudXBkYXRlKGU9Pih7Li4uZSwuLi50fSkpKX0scWI9KGUsdCk9PntmYihlLHQpJiZCeS5zZXQodCl9LEpiPShlLHQpPT57aWYoZT09PSQuSGVhZGVyU3R5bGUmJmZiKGUsdCkpe2lmKHQhPT1gY29tcGFjdGAmJnQhPT1gc3RhbmRhcmRgKXtIKGBQcm92aWRlZCBoZWFkZXIgc3R5bGUgJyR7dH0nIGlzIG5vdCB2YWxpZC4gVXNlICdjb21wYWN0JyBvciAnc3RhbmRhcmQnLmApO3JldHVybn1VeS5zZXQodCl9fSxZYj0oKT0+e2xldCBlPSgpPT57fTtlPUhsLnN1YnNjcmliZSgoKT0+e0EoUnApLmZvckVhY2goZT0+e2xldCB0PWUuY29udGVudD8uZGF0YXx8YGA7dHlwZW9mIHQ9PWBzdHJpbmdgJiZ0Lm1hdGNoKC93aWRnZXRQcmV2aWV3XC4uKi8pJiYoZS5jb250ZW50LnRleHQ9QShXKSh0KSxKLnJlcGxhY2VNZXNzYWdlKGUpKX0pLGUoKX0pfSxYYj0oZSx0KT0+e3BiKGUsdCkmJklnLnNldCh0KX0sWmI9KGUsdCk9PntfYihlLHQpJiZxLnJlbG9hZENsaWVudCh0KX0sUWI9KGUsdCk9PntwYihlLHQpJiZxLnJlbG9hZENsaWVudCh2b2lkIDAsdCl9LCRiPShlLHQpPT57aWYoIXZiKGUsdCkpcmV0dXJuO2xldHtpZDpuLC4uLnJ9PXQ7JGwudXBkYXRlSWRlbnRpdHkobixyKX0sZXg9e3ZlcnNpb246YGMwNmQ0NWMzM2UwOTk4ZWYyZDMwNDYyZmI1Nzg3OTYzM2MxZGY1Y2FgLGV4ZWN1dGU6ZT0+e2xldCB0PWVbMF07aWYodHlwZW9mIHQ9PWBmdW5jdGlvbmApe3J4KHQpO3JldHVybn1pZighZGIodCkpe2JiKFN0cmluZyh0KSk7cmV0dXJufW54KHQsZVsxXSwuLi5lLnNsaWNlKDIpKX0sZXhlYzpmdW5jdGlvbiguLi5lKXt0aGlzLmV4ZWN1dGUoZSl9fSx0eD17WyQuQ2hhdE9wZW5dOkRiLFskLkNoYXRDbG9zZV06T2IsWyQuQ2hhdFNob3ddOmtiLFskLkNoYXRIaWRlXTpBYixbJC5DaGF0TWVzc2FnZV06TmIsWyQuQ2hhdFNlbmRdOlBiLFskLkxhbmd1YWdlXTpqYixbJC5UaGVtZUNvbG9yXTpNYixbJC5IZWFkZXJTdHlsZV06SmIsWyQuT25dOkZiLFskLlZhcmlhYmxlc106SWIsWyQuQ29udGFjdERhdGFdOnpiLFskLk5hbWVdOkxiLFskLkdyb3VwXTpSYixbJC5FbWFpbF06TGIsWyQuUGhvbmVdOkxiLFskLkFuYWx5dGljc0NvbnNlbnRdOkJiLFskLk1hcmtldGluZ0NvbnNlbnRdOlZiLFskLkh0bWxBcHBseV06bnVsbCxbJC5PcGVuUmF0ZUZvcm1dOkhiLFskLk9wZW5BdXRoRm9ybV06VWIsWyQuV2lkZ2V0U3RhdHVzXTpXYixbJC5UcmFuc2xhdGlvbnNdOkdiLFskLkF1dGhGb3JtRmllbGRzXTpLYixbJC5CdXR0b25TdHlsZV06cWIsWyQuUHJldmlld1RyYW5zbGF0ZV06WWIsWyQuRGlzYWJsZUNvbm5lY3Rpb25TdGF0dXNdOlhiLFskLlJlbG9hZFdpdGhNb2NrRGF0YV06WmIsWyQuUmVsb2FkXTpRYixbJC5Cb3RJZGVudGl0eVVwZGF0ZV06JGJ9LG54PShlLHQsLi4ubik9PntsZXQgcj10eFtlXTtpZihyPT09dm9pZCAwKXtiYihlKTtyZXR1cm59ciE9PW51bGwmJihyKGUsdCwuLi5uKSx2byhg8J+nmeKAjeKZgu+4j1tBUEldICR7ZX0ke3Q/YDpgOmBgfWAsdD8/YGApKX0scng9ZT0+e0EoQ18pP2UoKTpYbC5wdXNoKGUpfTt0eXBlb2Ygd2luZG93PGB1YCYmKCh3aW5kb3cuX19zdmVsdGU/Pz17fSkudj8/PW5ldyBTZXQpLmFkZChgNWApO3ZhciBpeD1lPT5lO2Z1bmN0aW9uIGF4KGUpe2xldCB0PWUtMTtyZXR1cm4gdCp0KnQrMX1mdW5jdGlvbiBveChlKXtsZXQgdD10eXBlb2YgZT09YHN0cmluZ2AmJmUubWF0Y2goL15ccyooLT9bXGQuXSspKFteXHNdKilccyokLyk7cmV0dXJuIHQ/W3BhcnNlRmxvYXQodFsxXSksdFsyXXx8YHB4YF06W2UsYHB4YF19ZnVuY3Rpb24gc3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWl4fT17fSl7bGV0IGk9K2dldENvbXB1dGVkU3R5bGUoZSkub3BhY2l0eTtyZXR1cm57ZGVsYXk6dCxkdXJhdGlvbjpuLGVhc2luZzpyLGNzczplPT5gb3BhY2l0eTogJHtlKml9YH19ZnVuY3Rpb24gY3goZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHg6aT0wLHk6YT0wLG9wYWNpdHk6bz0wfT17fSl7bGV0IHM9Z2V0Q29tcHV0ZWRTdHlsZShlKSxjPStzLm9wYWNpdHksbD1zLnRyYW5zZm9ybT09PWBub25lYD9gYDpzLnRyYW5zZm9ybSx1PWMqKDEtbyksW2QsZl09b3goaSksW3AsbV09b3goYSk7cmV0dXJue2RlbGF5OnQsZHVyYXRpb246bixlYXNpbmc6cixjc3M6KGUsdCk9PmAKCQkJdHJhbnNmb3JtOiAke2x9IHRyYW5zbGF0ZSgkeygxLWUpKmR9JHtmfSwgJHsoMS1lKSpwfSR7bX0pOwoJCQlvcGFjaXR5OiAke2MtdSp0fWB9fWZ1bmN0aW9uIGx4KGUse2RlbGF5OnQ9MCxkdXJhdGlvbjpuPTQwMCxlYXNpbmc6cj1heCxheGlzOmk9YHlgfT17fSl7bGV0IGE9Z2V0Q29tcHV0ZWRTdHlsZShlKSxvPSthLm9wYWNpdHkscz1pPT09YHlgP2BoZWlnaHRgOmB3aWR0aGAsYz1wYXJzZUZsb2F0KGFbc10pLGw9aT09PWB5YD9bYHRvcGAsYGJvdHRvbWBdOltgbGVmdGAsYHJpZ2h0YF0sdT1sLm1hcChlPT5gJHtlWzBdLnRvVXBwZXJDYXNlKCl9JHtlLnNsaWNlKDEpfWApLGQ9cGFyc2VGbG9hdChhW2BwYWRkaW5nJHt1WzBdfWBdKSxmPXBhcnNlRmxvYXQoYVtgcGFkZGluZyR7dVsxXX1gXSkscD1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVswXX1gXSksbT1wYXJzZUZsb2F0KGFbYG1hcmdpbiR7dVsxXX1gXSksaD1wYXJzZUZsb2F0KGFbYGJvcmRlciR7dVswXX1XaWR0aGBdKSxnPXBhcnNlRmxvYXQoYVtgYm9yZGVyJHt1WzFdfVdpZHRoYF0pO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOmU9PmBvdmVyZmxvdzogaGlkZGVuO29wYWNpdHk6ICR7TWF0aC5taW4oZSoyMCwxKSpvfTske3N9OiAke2UqY31weDtwYWRkaW5nLSR7bFswXX06ICR7ZSpkfXB4O3BhZGRpbmctJHtsWzFdfTogJHtlKmZ9cHg7bWFyZ2luLSR7bFswXX06ICR7ZSpwfXB4O21hcmdpbi0ke2xbMV19OiAke2UqbX1weDtib3JkZXItJHtsWzBdfS13aWR0aDogJHtlKmh9cHg7Ym9yZGVyLSR7bFsxXX0td2lkdGg6ICR7ZSpnfXB4O21pbi0ke3N9OiAwYH19ZnVuY3Rpb24gdXgoZSx7ZGVsYXk6dD0wLGR1cmF0aW9uOm49NDAwLGVhc2luZzpyPWF4LHN0YXJ0Omk9MCxvcGFjaXR5OmE9MH09e30pe2xldCBvPWdldENvbXB1dGVkU3R5bGUoZSkscz0rby5vcGFjaXR5LGM9by50cmFuc2Zvcm09PT1gbm9uZWA/YGA6by50cmFuc2Zvcm0sbD0xLWksdT1zKigxLWEpO3JldHVybntkZWxheTp0LGR1cmF0aW9uOm4sZWFzaW5nOnIsY3NzOihlLHQpPT5gCgkJCXRyYW5zZm9ybTogJHtjfSBzY2FsZSgkezEtbCp0fSk7CgkJCW9wYWNpdHk6ICR7cy11KnR9CgkJYH19YXQoKTt2YXIgZHg9d2koYDxkaXY+PC9kaXY+YCk7ZnVuY3Rpb24gZngoZSx0KXtsdCh0LCEwKTtsZXQgbj1vbyh0LGBoZWlnaHRgLDMsMjApLHI9b28odCxgd2lkdGhgLDMsYDEwMCVgKSxpPW9vKHQsYGNvbG9yU2NoZW1lYCwzLGBncmF5YCksYT1vbyh0LGByb3VuZGVkU3R5bGVgLDMsYHJvdW5kZWQtZnVsbGApLG89Zm4oKCk9PmAke2EoKX0gYW5pbWF0ZS1wdWxzZWApO3ZhciBzPWR4KCk7bGV0IGM7cHIoZT0+e2JhKHMsMSxtYShbUihvKSxpKCk9PT1gZ3JheWAmJmBiZy1ncmF5LTIwMGAsaSgpPT09YGRhcmtHcmF5YCYmYGJnLWdyYXktMzAwYF0pKSxjPVNhKHMsYGAsYyxlKX0sWygpPT4oe2hlaWdodDpteShuKCkpLHdpZHRoOkZ1KHIoKSk/bXkocigpKTpyKCl9KV0pLGtpKGUscyksdXQoKX1mdW5jdGlvbiBweChlLHQpe2xldCBuPW9vKHQsYHNpemVgLDMsMjApO2Z4KGUse2NvbG9yU2NoZW1lOmBkYXJrR3JheWAsZ2V0IHdpZHRoKCl7cmV0dXJuIG4oKX0sZ2V0IGhlaWdodCgpe3JldHVybiBuKCl9fSl9dmFyIG14PUVpKGA8c3ZnPjxwYXRoIGZpbGw9Im5vbmUiIHN0cm9rZT0iY3VycmVudENvbG9yIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIHN0cm9rZS13aWR0aD0iMiIgZD0iTTE4IDZMNiAxOE02IDZsMTIgMTIiPjwvcGF0aD48L3N2Zz5gKTtmdW5jdGlvbiBoeChlLHQpe2xldCBuPXJvKHQsW2AkJHNsb3RzYCxgJCRldmVudHNgLGAkJGxlZ2FjeWBdKTt2YXIgcj1teCgpO1ZhKHIsKCk9Pih7dmlld0JveDpgMCAwIDI0IDI0YCx3aWR0aDpgMS4yZW1gLGhlaWdodDpgMS4yZW1gLC4uLm59KSksa2koZSxyKX12YXIgZ3g9d2koYDxidXR0b24gdHlwZT0iYnV0dG9uIiB0YWJpbmRleD0iMCI+PGRpdj48IT48L2Rpdj48L2J1dHRvbj5gKTtmdW5jdGlvbiBfeChlLHQpe2x0KHQsITApO2xldCBuPW9vKHQsYGljb25PcmllbnRhdGlvbmAsMyxgcmlnaHRgKSxyPW9vKHQsYGljb25BbmltYXRpb25gLDMsYG5vbmVgKSxpPW9vKHQsYGljb25TY2FsZWAsMywhMSksYT1vbyh0LGBzaXplYCwzLGBtZGApLG89b28odCxgdmFyaWFudGAsMyxgZ2hvc3RgKSxzPW9vKHQsYGZvY3VzYCwzLGBwcmltYXJ5YCksYz1mbigoKT0+bigpPT09YHJpZ2h0YD8xOi0xKSxsPWZuKCgpPT5pKCk/MS40OjEuMiksdT1mbigoKT0+dC5pY29uKSxkPWU9PntlLnN0b3BQcm9wYWdhdGlvbigpLHQub25DbGljayYmdC5vbkNsaWNrKGUpfTt2YXIgZj1neCgpLHA9Vm4oZik7JGkoVm4ocCksKCk9PlIodSksKGUsdCk9Pnt0KGUse3dpZHRoOmAxZW1gLGhlaWdodDpgMWVtYH0pfSksWGUocCksWGUoZikscHIoZT0+e2JhKGYsMSxlLGBzdmVsdGUteXdvZm1sYCksZi5kaXNhYmxlZD10LmRpc2FibGVkLHphKGYsYGRhdGEtdGVzdGlkYCx0LnRlc3RJZCksemEoZixgYXJpYS1sYWJlbGAsdC5pY29uRGVzY3JpcHRpb24pLHphKGYsYGFyaWEtZGlzYWJsZWRgLHQuZGlzYWJsZWQpLGJhKHAsMSxtYShbYHctZnVsbCBoLWZ1bGwgZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXJgLHIoKT09PWBzcGluYCYmYGFuaW1hdGUtc3BpbmBdKSksU2EocCxgdHJhbnNmb3JtOiBzY2FsZSgke1IobCl9KSBzY2FsZVgoJHtSKGMpfSk7YCl9LFsoKT0+bWEoW2BidG4gYnRuLSR7bygpfSBidG4tJHthKCl9YCwhIXQuZGlzYWJsZWQmJmBidG4tZGlzYWJsZWRgLGlzKCk/YGN1cnNvci1hdXRvYDpgY3Vyc29yLXBvaW50ZXJgLHMoKT09PWBwcmltYXJ5YCYmYGJ1dHRvbi1mb2N1c2AscygpPT09YHNlY29uZGFyeWAmJmBidXR0b24tZm9jdXMtc2Vjb25kYXJ5YF0pXSksZ2koYGNsaWNrYCxmLGQpLGtpKGUsZiksdXQoKX1faShbYGNsaWNrYF0pO2V4cG9ydHtkXyBhcyAkLGp0IGFzICRpLFNsIGFzICRuLGFvIGFzICRyLCRmIGFzICR0LCRfIGFzIEEsZ2kgYXMgQWksc2QgYXMgQW4sc3MgYXMgQXIsVGggYXMgQXQsS18gYXMgQixWbiBhcyBCaSxVdSBhcyBCbixqbyBhcyBCcixIcCBhcyBCdCxGeSBhcyBDLElpIGFzIENpLF9kIGFzIENuLGJzIGFzIENyLHpoIGFzIEN0LG95IGFzIEQsRWkgYXMgRGksbmQgYXMgRG4sX3MgYXMgRHIsTWggYXMgRHQsbXkgYXMgRSx3aSBhcyBFaSxlZCBhcyBFbixocyBhcyBFcixGaCBhcyBFdCxKXyBhcyBGLCRyIGFzIEZpLEt1IGFzIEZuLHpvIGFzIEZyLFpwIGFzIEZ0LE9fIGFzIEcsVG4gYXMgR2ksJGwgYXMgR24scG8gYXMgR3IsenAgYXMgR3QsTl8gYXMgSCxVbiBhcyBIaSxMdSBhcyBIbix5byBhcyBIcixNcCBhcyBIdCxYIGFzIEkscHIgYXMgSWksWXUgYXMgSW4sVm8gYXMgSXIsWXAgYXMgSXQsbV8gYXMgSixwbiBhcyBKaSxIbCBhcyBKbix6IGFzIEpyLFJwIGFzIEp0LGdfIGFzIEssQ24gYXMgS2ksWWwgYXMgS24sQiBhcyBLcixKIGFzIEt0LEdfIGFzIEwsb3IgYXMgTGkscXUgYXMgTG4sQm8gYXMgTHIsWHAgYXMgTHQscnYgYXMgTSxwaSBhcyBNaSxpZCBhcyBNbixhcyBhcyBNcixFaCBhcyBNdCxZXyBhcyBOLFIgYXMgTmksWnUgYXMgTm4saXMgYXMgTnIsaWggYXMgTnQsYXkgYXMgTyxEaSBhcyBPaSxsZCBhcyBPbixscyBhcyBPcixraCBhcyBPdCxXXyBhcyBQLFhyIGFzIFBpLEd1IGFzIFBuLEpvIGFzIFByLGFtIGFzIFB0LGlfIGFzIFEsUHQgYXMgUWksd2wgYXMgUW4scm8gYXMgUXIsT3AgYXMgUXQsVV8gYXMgUixjciBhcyBSaSxXdSBhcyBSbixVIGFzIFJyLFdwIGFzIFJ0LFB5IGFzIFMsamkgYXMgU2ksZ2QgYXMgU24seXMgYXMgU3IsYWcgYXMgU3QsZ3kgYXMgVCxPaSBhcyBUaSx1ZCBhcyBUbixmcyBhcyBUcixJaCBhcyBUdCxqXyBhcyBVLGpuIGFzIFVpLE11IGFzIFVuLFYgYXMgVXIsQnAgYXMgVXQsTV8gYXMgVixIbiBhcyBWaSxWdSBhcyBWbixIIGFzIFZyLFZwIGFzIFZ0LERfIGFzIFcsd24gYXMgV2kscSBhcyBXbix2byBhcyBXcixGcCBhcyBXdCxzXyBhcyBYLE10IGFzIFhpLFJsIGFzIFhuLHNvIGFzIFhyLElwIGFzIFh0LHBfIGFzIFksZm4gYXMgWWksVyBhcyBZbixjbyBhcyBZcixQcCBhcyBZdCxhXyBhcyBaLEF0IGFzIFppLENsIGFzIFpuLG9vIGFzIFpyLGtwIGFzIFp0LFJ5IGFzIF8sR2kgYXMgX2ksVGQgYXMgX24sTmMgYXMgX3IsdWcgYXMgX3Qsc3ggYXMgYSxsdCBhcyBhYSxWYSBhcyBhaSxCZiBhcyBhbixsbCBhcyBhcixVZyBhcyBhdCxOeSBhcyBiLFJpIGFzIGJpLHlkIGFzIGJuLENzIGFzIGJyLGlnIGFzIGJ0LGx4IGFzIGMsWGUgYXMgY2EsVGEgYXMgY2ksU2YgYXMgY24sUWMgYXMgY3IsVmcgYXMgY3QsSHkgYXMgZCxtYSBhcyBkaSxHZCBhcyBkbixXYyBhcyBkcixOZyBhcyBkdCxrIGFzIGVhLGVvIGFzIGVpLGVwIGFzIGVuLGJsIGFzIGVyLG9fIGFzIGV0LHp5IGFzIGYsdWEgYXMgZmksVmQgYXMgZm4sR2MgYXMgZnIsT2cgYXMgZnQsR3kgYXMgZyxaaSBhcyBnaSx3ZCBhcyBnbixCYyBhcyBncix5ZyBhcyBndCxWeSBhcyBoLFFpIGFzIGhpLEVkIGFzIGhuLHpjIGFzIGhyLFRnIGFzIGh0LGZ4IGFzIGksdXQgYXMgaWEscWEgYXMgaWksRmYgYXMgaW4sc2wgYXMgaXIsdF8gYXMgaXQsaXYgYXMgaixoaSBhcyBqaSxmZCBhcyBqbix1cyBhcyBqcixEaCBhcyBqdCxldiBhcyBrLF9pIGFzIGtpLGNkIGFzIGtuLGNzIGFzIGtyLE9oIGFzIGt0LGV4IGFzIGwseCBhcyBsYSxTYSBhcyBsaSxiZiBhcyBsbixVYyBhcyBscixMZyBhcyBsdCxxeSBhcyBtLCRpIGFzIG1pLHpkIGFzIG1uLFZjIGFzIG1yLERnIGFzIG10LGh4IGFzIG4sTyBhcyBuYSxZYSBhcyBuaSxxZiBhcyBubix1bCBhcyBucixjXyBhcyBudCxjeCBhcyBvLGN0IGFzIG9hLHphIGFzIG9pLHpmIGFzIG9uLG9sIGFzIG9yLEhnIGFzIG90LFd5IGFzIHAsY2EgYXMgcGksSGQgYXMgcG4sSGMgYXMgcHIsRWcgYXMgcHQsaF8gYXMgcSxPbiBhcyBxaSxLbCBhcyBxbixtbyBhcyBxcixOcCBhcyBxdCxweCBhcyByLHN0IGFzIHJhLEphIGFzIHJpLFVmIGFzIHJuLGNsIGFzIHJyLGxfIGFzIHJ0LHV4IGFzIHMsWmUgYXMgc2EsTGEgYXMgc2ksRGYgYXMgc24sbmwgYXMgc3IsQmcgYXMgc3QsX3ggYXMgdCxBIGFzIHRhLCRhIGFzIHRpLFRwIGFzIHRuLGRsIGFzIHRyLHJfIGFzIHR0LEx5IGFzIHUsdSBhcyB1YSxiYSBhcyB1aSxSZCBhcyB1bixLYyBhcyB1cixGZyBhcyB1dCxKeSBhcyB2LFZpIGFzIHZpLFNkIGFzIHZuLFBjIGFzIHZyLHJnIGFzIHZ0LER5IGFzIHcsa2kgYXMgd2ksJHUgYXMgd24sZ3MgYXMgd3IsTGggYXMgd3QsSXkgYXMgeCxNaSBhcyB4aSx4ZCBhcyB4bix4cyBhcyB4cixvZyBhcyB4dCxNeSBhcyB5LEJpIGFzIHlpLGJkIGFzIHluLE1jIGFzIHlyLFZoIGFzIHl0LFZfIGFzIHosWG4gYXMgemksSHUgYXMgem4sTG8gYXMgenIsVXAgYXMgenR9OwovLyMgc291cmNlTWFwcGluZ1VSTD1zaGFyZWQtQ2dNQ0Fmb3IuanMubWFw"}},"time_used":15,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://cable.coingecko.com/cable","fqdn":"cable.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:32.543Z","timestamp":1785134012543,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /cable HTTP/1.1\r\nHost: cable.coingecko.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\nSec-WebSocket-Version: 13\r\nOrigin: https://frxoptmarkt.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: rZtRYEX2gMXBr2JxUWFZTg==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T12:30:22.34111Z","times_seen":17708041,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/animate.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.582Z","timestamp":1785133989582,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/animate.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 5783\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":88597,"size_decoded":6013,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"c4b37e111283629a2dbdfba400223bf5","sha1":"58b02f950c2f224412eef7320dce6cfd0742c1d5","sha256":"6dda1e6cbcadfa4a2b039f632b5bb835b53b96e4c1e7d24a2628c6a9a8359cee","sha512":"130e07e0ef237084452a4fba0707a4ff76ebe9e0309b106477c439b666eed48d3339ce32dcb23657cc29b481c197163df09cfece602c417694c63a83a122d452","ssdeep":"1536:tCJbcPY4HkpTgJtXMox3kroI9o9ro1z9XFdPbY+YxYuY3:MY+YxYuY3","tlshash":"95834b6a1880114447760b75e3de9f68ee3c55b318222dfe73d1198b8f71ba8238ee57","first_seen":"2023-04-06T17:05:23Z","last_seen":"2026-07-27T14:34:25.258364Z","times_seen":395,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsNCi8qIQ0KICogYW5pbWF0ZS5jc3MgLWh0dHA6Ly9kYW5lZGVuLm1lL2FuaW1hdGUNCiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSAtIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9NSVQNCiAqDQogKiBDb3B5cmlnaHQgKGMpIDIwMTYgRGFuaWVsIEVkZW4NCiAqLw0KDQouYW5pbWF0aW9uLWRlbGF5MSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjNzOw0KICAgICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjNzOw0KICAgICAgYW5pbWF0aW9uLWRlbGF5OiAwLjNzOyANCn0NCiAgDQouYW5pbWF0aW9uLWRlbGF5MiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAuNnM7DQogICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAuNnM7IA0KICAgICAgYW5pbWF0aW9uLWRlbGF5OiAuNnM7IA0KfQ0KICANCi5hbmltYXRpb24tZGVsYXkzIHsgIA0KICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogLjlzOw0KICAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogLjlzOyAgDQogICAgICBhbmltYXRpb24tZGVsYXk6IC45czsNCn0NCg0KLmFuaW1hdGlvbi1kZWxheTQgeyAgDQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjJzOw0KICAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS4yczsgIA0KICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxLjJzOw0KfQ0KICANCi5hbmltYXRpb24tZGVsYXk1IHsgDQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAxLjZzOw0KICAgICAtbW96LWFuaW1hdGlvbi1kZWxheTogMS42czsgDQogICAgICBhbmltYXRpb24tZGVsYXk6IDEuNnM7IA0KfQ0KDQouYW5pbWF0aW9uLWRlbGF5NiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAyczsNCiAgICAgLW1vei1hbmltYXRpb24tZGVsYXk6IDJzOyANCiAgICAgIGFuaW1hdGlvbi1kZWxheTogMnM7IA0KfSANCg0KLmFuaW1hdGlvbi1kZWxheTcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMi41czsNCiAgICAgLW1vei1hbmltYXRpb24tZGVsYXk6IDIuNXM7IA0KICAgICAgYW5pbWF0aW9uLWRlbGF5OiAyLjVzOyANCn0NCg0KLmFuaW1hdGlvbi1kZWxheTggew0KICAtd2Via2l0LWFuaW1hdGlvbi1kZWxheTogM3M7DQogICAgIC1tb3otYW5pbWF0aW9uLWRlbGF5OiAzczsgDQogICAgICBhbmltYXRpb24tZGVsYXk6IDNzOyANCn0NCg0KLmFuaW1hdGVkIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMXM7DQogICAgICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAxczsNCiAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246IDFzOw0KICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7DQogICAgIC1tb3otYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDsNCiAgICAgICAtby1hbmltYXRpb24tZmlsbC1tb2RlOiBib3RoOw0KICAgICAgICAgIGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7DQp9DQoNCi5hbmltYXRlZC5oaW5nZSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCiAgICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IDJzOw0KICAgICAgIC1vLWFuaW1hdGlvbi1kdXJhdGlvbjogMnM7DQogICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyczsNCn0NCg0KLmFuaW1hdGVkLmluZmluaXRlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAgLW1vei1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAgICAtby1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCiAgICAgICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGZsYXNoIHsNCiAgMCUsIDUwJSwgMTAwJSB7b3BhY2l0eTogMTt9IA0KICAyNSUsIDc1JSB7b3BhY2l0eTogMDt9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmbGFzaCB7DQogIDAlLCA1MCUsIDEwMCUge29wYWNpdHk6IDE7fSANCiAgMjUlLCA3NSUge29wYWNpdHk6IDA7fQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZsYXNoIHsNCiAgMCUsIDUwJSwgMTAwJSB7b3BhY2l0eTogMTt9IA0KICAyNSUsIDc1JSB7b3BhY2l0eTogMDt9DQp9DQoNCkBrZXlmcmFtZXMgZmxhc2ggew0KICAwJSwgNTAlLCAxMDAlIHtvcGFjaXR5OiAxO30gDQogIDI1JSwgNzUlIHtvcGFjaXR5OiAwO30NCn0NCg0KLmFuaW1hdGVkLmZsYXNoIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxhc2g7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZsYXNoOw0KICAtby1hbmltYXRpb24tbmFtZTogZmxhc2g7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGFzaDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBzaGFrZSB7DQogIDAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9DQogIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7fQ0KICAyMCUsIDQwJSwgNjAlLCA4MCUgey13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwcHgpO30NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIHNoYWtlIHsNCiAgMCUsIDEwMCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO30NCiAgMTAlLCAzMCUsIDUwJSwgNzAlLCA5MCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTt9DQogIDIwJSwgNDAlLCA2MCUsIDgwJSB7LW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHNoYWtlIHsNCiAgMCUsIDEwMCUgey1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9DQogIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO30NCiAgMjAlLCA0MCUsIDYwJSwgODAlIHstby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fQ0KfQ0KDQpAa2V5ZnJhbWVzIHNoYWtlIHsNCiAgMCUsIDEwMCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTt9DQogIDEwJSwgMzAlLCA1MCUsIDcwJSwgOTAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO30NCiAgMjAlLCA0MCUsIDYwJSwgODAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7fQ0KfQ0KDQouYW5pbWF0ZWQuc2hha2Ugew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzaGFrZTsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogc2hha2U7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBzaGFrZTsNCiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZSB7DQogIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9DQogIDQwJSB7LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwcHgpO30NCiAgNjAlIHstd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7fQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgYm91bmNlIHsNCiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO30NCiAgNDAlIHstbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7fQ0KICA2MCUgey1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTt9DQp9DQoNCkAtby1rZXlmcmFtZXMgYm91bmNlIHsNCiAgMCUsIDIwJSwgNTAlLCA4MCUsIDEwMCUgey1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTt9DQogIDQwJSB7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTt9DQogIDYwJSB7LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xNXB4KTt9DQp9DQpAa2V5ZnJhbWVzIGJvdW5jZSB7DQogIDAlLCAyMCUsIDUwJSwgODAlLCAxMDAlIHt0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7fQ0KICA0MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7fQ0KICA2MCUge3RyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTVweCk7fQ0KfQ0KDQouYW5pbWF0ZWQuYm91bmNlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2U7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2U7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgdGFkYSB7DQogIDAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7fSANCiAgMTAlLCAyMCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjkpIHJvdGF0ZSgtM2RlZyk7fQ0KICAzMCUsIDUwJSwgNzAlLCA5MCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTt9DQogIDQwJSwgNjAlLCA4MCUgey13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7fQ0KICAxMDAlIHstd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlKDApO30NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIHRhZGEgew0KICAwJSB7LW1vei10cmFuc2Zvcm06IHNjYWxlKDEpO30gIA0KICAxMCUsIDIwJSB7LW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTt9DQogIDMwJSwgNTAlLCA3MCUsIDkwJSB7LW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO30NCiAgNDAlLCA2MCUsIDgwJSB7LW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKC0zZGVnKTt9DQogIDEwMCUgey1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7fQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHRhZGEgew0KICAwJSB7LW8tdHJhbnNmb3JtOiBzY2FsZSgxKTt9ICANCiAgMTAlLCAyMCUgey1vLXRyYW5zZm9ybTogc2NhbGUoMC45KSByb3RhdGUoLTNkZWcpO30NCiAgMzAlLCA1MCUsIDcwJSwgOTAlIHstby10cmFuc2Zvcm06IHNjYWxlKDEuMSkgcm90YXRlKDNkZWcpO30NCiAgNDAlLCA2MCUsIDgwJSB7LW8tdHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgtM2RlZyk7fQ0KICAxMDAlIHstby10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZSgwKTt9DQp9DQoNCkBrZXlmcmFtZXMgdGFkYSB7DQogIDAlIHt0cmFuc2Zvcm06IHNjYWxlKDEpO30gDQogIDEwJSwgMjAlIHt0cmFuc2Zvcm06IHNjYWxlKDAuOSkgcm90YXRlKC0zZGVnKTt9DQogIDMwJSwgNTAlLCA3MCUsIDkwJSB7dHJhbnNmb3JtOiBzY2FsZSgxLjEpIHJvdGF0ZSgzZGVnKTt9DQogIDQwJSwgNjAlLCA4MCUge3RyYW5zZm9ybTogc2NhbGUoMS4xKSByb3RhdGUoLTNkZWcpO30NCiAgMTAwJSB7dHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGUoMCk7fQ0KfQ0KDQouYW5pbWF0ZWQudGFkYSB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHRhZGE7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHRhZGE7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiB0YWRhOw0KICBhbmltYXRpb24tbmFtZTogdGFkYTsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBzd2luZyB7DQogIDIwJSwgNDAlLCA2MCUsIDgwJSwgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsgfQ0KICAyMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDE1ZGVnKTsgfSANCiAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMTBkZWcpOyB9DQogIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH0gIA0KICA4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC01ZGVnKTsgfSANCiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIHN3aW5nIHsNCiAgMjAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH0gIA0KICA0MCUgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH0NCiAgNjAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfSANCiAgODAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH0gIA0KICAxMDAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHN3aW5nIHsNCiAgMjAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTVkZWcpOyB9ICANCiAgNDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTEwZGVnKTsgfQ0KICA2MCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSg1ZGVnKTsgfSANCiAgODAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTVkZWcpOyB9ICANCiAgMTAwJSB7IC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9DQp9DQoNCkBrZXlmcmFtZXMgc3dpbmcgew0KICAyMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgxNWRlZyk7IH0gDQogIDQwJSB7IHRyYW5zZm9ybTogcm90YXRlKC0xMGRlZyk7IH0NCiAgNjAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNWRlZyk7IH0gIA0KICA4MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgtNWRlZyk7IH0gDQogIDEwMCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQouYW5pbWF0ZWQuc3dpbmcgew0KICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBjZW50ZXI7DQogIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsNCiAgLW8tdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsNCiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wIGNlbnRlcjsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc3dpbmc7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHN3aW5nOw0KICAtby1hbmltYXRpb24tbmFtZTogc3dpbmc7DQogIGFuaW1hdGlvbi1uYW1lOiBzd2luZzsNCn0NCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgd29iYmxlIHsNCiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0NCiAgMTUlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1JSkgcm90YXRlKC01ZGVnKTsgfQ0KICAzMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsgfQ0KICA0NSUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOyB9DQogIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwJSkgcm90YXRlKDJkZWcpOyB9DQogIDc1JSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsgfQ0KICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyB3b2JibGUgew0KICAwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfQ0KICAxNSUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9DQogIDMwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9DQogIDQ1JSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xNSUpIHJvdGF0ZSgtM2RlZyk7IH0NCiAgNjAlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH0NCiAgNzUlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9DQogIDEwMCUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0NCn0NCg0KQC1vLWtleWZyYW1lcyB3b2JibGUgew0KICAwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7IH0NCiAgMTUlIHsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHJvdGF0ZSgtNWRlZyk7IH0NCiAgMzAlIHsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwJSkgcm90YXRlKDNkZWcpOyB9DQogIDQ1JSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTUlKSByb3RhdGUoLTNkZWcpOyB9DQogIDYwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMCUpIHJvdGF0ZSgyZGVnKTsgfQ0KICA3NSUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUlKSByb3RhdGUoLTFkZWcpOyB9DQogIDEwMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9DQp9DQoNCkBrZXlmcmFtZXMgd29iYmxlIHsNCiAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpOyB9DQogIDE1JSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUlKSByb3RhdGUoLTVkZWcpOyB9DQogIDMwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMCUpIHJvdGF0ZSgzZGVnKTsgfQ0KICA0NSUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTE1JSkgcm90YXRlKC0zZGVnKTsgfQ0KICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAlKSByb3RhdGUoMmRlZyk7IH0NCiAgNzUlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01JSkgcm90YXRlKC0xZGVnKTsgfQ0KICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKTsgfQ0KfQ0KDQouYW5pbWF0ZWQud29iYmxlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogd29iYmxlOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQogIGFuaW1hdGlvbi1uYW1lOiB3b2JibGU7DQp9DQovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi8NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHB1bHNlIHsNCiAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsgfSANCiAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0NCiAgICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQpALW1vei1rZXlmcmFtZXMgcHVsc2Ugew0KICAgIDAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOyB9ICANCiAgNTAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0NCiAgICAxMDAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQpALW8ta2V5ZnJhbWVzIHB1bHNlIHsNCiAgICAwJSB7IC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7IH0gIA0KICA1MCUgeyAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0NCiAgICAxMDAlIHsgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsgfQ0KfQ0KQGtleWZyYW1lcyBwdWxzZSB7DQogICAgMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9IA0KICA1MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7IH0NCiAgICAxMDAlIHsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfQ0KfQ0KDQouYW5pbWF0ZWQucHVsc2Ugew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBwdWxzZTsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogcHVsc2U7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBwdWxzZTsNCiAgYW5pbWF0aW9uLW5hbWU6IHB1bHNlOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXAgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogIH0NCiAgNDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE5MGRlZykgc2NhbGUoMSk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDM2MGRlZykgc2NhbGUoLjk1KTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIH0NCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogIH0NCn0NCkAtbW96LWtleWZyYW1lcyBmbGlwIHsNCiAgMCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTsNCiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0Ow0KICB9DQogIDQwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSB0cmFuc2xhdGVaKDE1MHB4KSByb3RhdGVZKDE3MGRlZyk7DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KICA1MCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgdHJhbnNsYXRlWigxNTBweCkgcm90YXRlWSgxOTBkZWcpIHNjYWxlKDEpOw0KICAgIC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KICA4MCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgc2NhbGUoMSk7DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQp9DQpALW8ta2V5ZnJhbWVzIGZsaXAgew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KICA0MCUgew0KICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KICA1MCUgew0KICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQogIDgwJSB7DQogICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7DQogICAgLW8tYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KICAxMDAlIHsNCiAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQp9DQpAa2V5ZnJhbWVzIGZsaXAgew0KICAwJSB7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KICA0MCUgew0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTcwZGVnKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgfQ0KICA1MCUgew0KICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHRyYW5zbGF0ZVooMTUwcHgpIHJvdGF0ZVkoMTkwZGVnKSBzY2FsZSgxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQogIDgwJSB7DQogICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgzNjBkZWcpIHNjYWxlKC45NSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgfQ0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSBzY2FsZSgxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mbGlwIHsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZsaXA7DQogIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmbGlwOw0KICAtby1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmbGlwOw0KICBiYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGlwOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblggew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQogICAgDQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KfQ0KQC1tb3ota2V5ZnJhbWVzIGZsaXBJblggew0KICAgIDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQogICAgDQogICAgNDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KfQ0KQC1vLWtleWZyYW1lcyBmbGlwSW5YIHsNCiAgICAwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoOTBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgIH0NCiAgICANCiAgICA0MCUgew0KICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMTBkZWcpOw0KICAgIH0NCiAgICANCiAgICAxMDAlIHsNCiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICB9DQp9DQpAa2V5ZnJhbWVzIGZsaXBJblggew0KICAgIDAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KICAgIA0KICAgIDQwJSB7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoLTEwZGVnKTsNCiAgICB9DQogICAgDQogICAgNzAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCn0NCg0KLmFuaW1hdGVkLmZsaXBJblggew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWDsNCiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7DQogIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblg7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFggew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCiAgMTAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmxpcE91dFggew0KICAgIDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVYKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCiAgMTAwJSB7DQogICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZsaXBPdXRYIHsNCiAgICAwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KICAxMDAlIHsNCiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZsaXBPdXRYIHsNCiAgICAwJSB7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVgoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KICAxMDAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWCg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmxpcE91dFggew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsNCiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYOw0KICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRYOw0KICAtby1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WDsNCiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZsaXBJblkgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQogICAgDQogICAgNDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KfQ0KQC1tb3ota2V5ZnJhbWVzIGZsaXBJblkgew0KICAgIDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQogICAgDQogICAgNDAlIHsNCiAgICAgICAgLW1vei10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KfQ0KQC1vLWtleWZyYW1lcyBmbGlwSW5ZIHsNCiAgICAwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgIH0NCiAgICANCiAgICA0MCUgew0KICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKC0xMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDcwJSB7DQogICAgICAgIC1vLXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMTBkZWcpOw0KICAgIH0NCiAgICANCiAgICAxMDAlIHsNCiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICB9DQp9DQpAa2V5ZnJhbWVzIGZsaXBJblkgew0KICAgIDAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KICAgIA0KICAgIDQwJSB7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoLTEwZGVnKTsNCiAgICB9DQogICAgDQogICAgNzAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgxMGRlZyk7DQogICAgfQ0KICAgIA0KICAgIDEwMCUgew0KICAgICAgICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCn0NCg0KLmFuaW1hdGVkLmZsaXBJblkgew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcEluWTsNCiAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7DQogIC1vLWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBJblk7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmxpcE91dFkgew0KICAgIDAlIHsNCiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAxOw0KICAgIH0NCiAgMTAwJSB7DQogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KQC1tb3ota2V5ZnJhbWVzIGZsaXBPdXRZIHsNCiAgICAwJSB7DQogICAgICAgIC1tb3otdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICB9DQogIDEwMCUgew0KICAgICAgICAtbW96LXRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoOTBkZWcpOw0KICAgICAgICBvcGFjaXR5OiAwOw0KICAgIH0NCn0NCkAtby1rZXlmcmFtZXMgZmxpcE91dFkgew0KICAgIDAlIHsNCiAgICAgICAgLW8tdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSgwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMTsNCiAgICB9DQogIDEwMCUgew0KICAgICAgICAtby10cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDQwMHB4KSByb3RhdGVZKDkwZGVnKTsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQp9DQpAa2V5ZnJhbWVzIGZsaXBPdXRZIHsNCiAgICAwJSB7DQogICAgICAgIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoNDAwcHgpIHJvdGF0ZVkoMGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDE7DQogICAgfQ0KICAxMDAlIHsNCiAgICAgICAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSg0MDBweCkgcm90YXRlWSg5MGRlZyk7DQogICAgICAgIG9wYWNpdHk6IDA7DQogICAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmxpcE91dFkgew0KICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7DQogIC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmbGlwT3V0WTsNCiAgLW8tYmFja2ZhY2UtdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50Ow0KICAtby1hbmltYXRpb24tbmFtZTogZmxpcE91dFk7DQogIGJhY2tmYWNlLXZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZsaXBPdXRZOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbiB7DQogIDAlIHtvcGFjaXR5OiAwO30gIA0KICAxMDAlIHtvcGFjaXR5OiAxO30NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGZhZGVJbiB7DQogIDAlIHtvcGFjaXR5OiAwO30gIA0KICAxMDAlIHtvcGFjaXR5OiAxO30NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlSW4gew0KICAwJSB7b3BhY2l0eTogMDt9ICANCiAgMTAwJSB7b3BhY2l0eTogMTt9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluIHsNCiAgMCUge29wYWNpdHk6IDA7fSAgDQogIDEwMCUge29wYWNpdHk6IDE7fQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZUluIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW47DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW47DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmFkZUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVJblVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZUluVXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZUluVXA7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGZhZGVJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmZhZGVJbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duOw0KICAtby1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd247DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmFkZUluTGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZUluTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmYWRlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgZmFkZUluUmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluUmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mYWRlSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluVXBCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlSW5VcEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJblVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mYWRlSW5VcEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5VcEJpZzsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVJblVwQmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluVXBCaWc7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluRG93bkJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlSW5Eb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVJbkRvd25CaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mYWRlSW5Eb3duQmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZzsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZUluRG93bkJpZzsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkRvd25CaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5Eb3duQmlnOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KQC1tb3ota2V5ZnJhbWVzIGZhZGVJbkxlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KQC1vLWtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KQGtleWZyYW1lcyBmYWRlSW5MZWZ0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZUluTGVmdEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnRCaWc7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0QmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZUluTGVmdEJpZzsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW5SaWdodEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVJblJpZ2h0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZUluUmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmZhZGVJblJpZ2h0QmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVJblJpZ2h0QmlnOw0KICAtby1hbmltYXRpb24tbmFtZTogZmFkZUluUmlnaHRCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5SaWdodEJpZzsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0IHsNCiAgMCUge29wYWNpdHk6IDE7fQ0KICAxMDAlIHtvcGFjaXR5OiAwO30NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGZhZGVPdXQgew0KICAwJSB7b3BhY2l0eTogMTt9DQogIDEwMCUge29wYWNpdHk6IDA7fQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVPdXQgew0KICAwJSB7b3BhY2l0eTogMTt9DQogIDEwMCUge29wYWNpdHk6IDA7fQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXQgew0KICAwJSB7b3BhY2l0eTogMTt9DQogIDEwMCUge29wYWNpdHk6IDA7fQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZU91dCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0Ow0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCkAtbW96LWtleWZyYW1lcyBmYWRlT3V0VXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCkAtby1rZXlmcmFtZXMgZmFkZU91dFVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCkBrZXlmcmFtZXMgZmFkZU91dFVwIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmZhZGVPdXRVcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRVcDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwOw0KICAtby1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwOw0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dFVwOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXREb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGZhZGVPdXREb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlT3V0RG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0RG93biB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmZhZGVPdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duOw0KICAtby1hbmltYXRpb24tbmFtZTogZmFkZU91dERvd247DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bjsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmFkZU91dExlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjBweCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlT3V0TGVmdCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dExlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZU91dExlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0Ow0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmYWRlT3V0UmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVPdXRSaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBmYWRlT3V0UmlnaHQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mYWRlT3V0UmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0UmlnaHQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBmYWRlT3V0VXBCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmFkZU91dFVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlT3V0VXBCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgZmFkZU91dFVwQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZU91dFVwQmlnIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogZmFkZU91dFVwQmlnOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7DQogIGFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0VXBCaWc7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dERvd25CaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBmYWRlT3V0RG93bkJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXREb3duQmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5mYWRlT3V0RG93bkJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0RG93bkJpZzsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXREb3duQmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dERvd25CaWc7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgZmFkZU91dExlZnRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGZhZGVPdXRMZWZ0QmlnIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuZmFkZU91dExlZnRCaWcgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dExlZnRCaWc7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBmYWRlT3V0TGVmdEJpZzsNCiAgYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRMZWZ0QmlnOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCkAtbW96LWtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQp9DQpALW8ta2V5ZnJhbWVzIGZhZGVPdXRSaWdodEJpZyB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KfQ0KQGtleWZyYW1lcyBmYWRlT3V0UmlnaHRCaWcgew0KICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmZhZGVPdXRSaWdodEJpZyB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVPdXRSaWdodEJpZzsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOw0KICAtby1hbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOw0KICBhbmltYXRpb24tbmFtZTogZmFkZU91dFJpZ2h0QmlnOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfQ0KICANCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsNCiAgfQ0KICANCiAgNzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjkpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGJvdW5jZUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfQ0KICANCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsNCiAgfQ0KICANCiAgNzAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoLjkpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VJbiB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoLjMpOw0KICB9DQogIA0KICA1MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsNCiAgfQ0KICANCiAgNzAlIHsNCiAgICAtby10cmFuc2Zvcm06IHNjYWxlKC45KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogIH0NCiAgDQogIDUwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOw0KICB9DQogIA0KICA3MCUgew0KICAgIHRyYW5zZm9ybTogc2NhbGUoLjkpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5ib3VuY2VJbiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbjsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluOw0KICBhbmltYXRpb24tbmFtZTogYm91bmNlSW47DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQpALW1vei1rZXlmcmFtZXMgYm91bmNlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgYm91bmNlSW5VcCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQogIA0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMHB4KTsNCiAgfQ0KICANCiAgODAlIHsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZUluVXAgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KICANCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmJvdW5jZUluVXAgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblVwOw0KICAtby1hbmltYXRpb24tbmFtZTogYm91bmNlSW5VcDsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluVXA7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgzMHB4KTsNCiAgfQ0KICANCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBib3VuY2VJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KICANCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOw0KICB9DQogIA0KICA4MCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VJbkRvd24gew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW5Eb3duIHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQogIA0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDMwcHgpOw0KICB9DQogIA0KICA4MCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuYm91bmNlSW5Eb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5Eb3duOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkRvd247DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgzMHB4KTsNCiAgfQ0KICANCiAgODAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBib3VuY2VJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KICANCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOw0KICB9DQogIA0KICA4MCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VJbkxlZnQgew0KICAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW5MZWZ0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQogIA0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDMwcHgpOw0KICB9DQogIA0KICA4MCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuYm91bmNlSW5MZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlSW5MZWZ0Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VJbkxlZnQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMzBweCk7DQogIH0NCiAgDQogIDgwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KICANCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTsNCiAgfQ0KICANCiAgODAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VJblJpZ2h0IHsNCiAgMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCiAgDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTMwcHgpOw0KICB9DQogIA0KICA4MCUgew0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlSW5SaWdodCB7DQogIDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQogIA0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0zMHB4KTsNCiAgfQ0KICANCiAgODAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuYm91bmNlSW5SaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZUluUmlnaHQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2VJblJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogYm91bmNlSW5SaWdodDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQogIA0KICAyNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSguOTUpOw0KICB9DQogIA0KICA1MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfSANCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dCB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7DQogIH0NCiAgDQogIDI1JSB7DQogICAgLW1vei10cmFuc2Zvcm06IHNjYWxlKC45NSk7DQogIH0NCiAgDQogIDUwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogc2NhbGUoLjMpOw0KICB9IA0KfQ0KDQpALW8ta2V5ZnJhbWVzIGJvdW5jZU91dCB7DQogIDAlIHsNCiAgICAtby10cmFuc2Zvcm06IHNjYWxlKDEpOw0KICB9DQogIA0KICAyNSUgew0KICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoLjk1KTsNCiAgfQ0KICANCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHNjYWxlKC4zKTsNCiAgfSANCn0NCg0KQGtleWZyYW1lcyBib3VuY2VPdXQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtOiBzY2FsZSgxKTsNCiAgfQ0KICANCiAgMjUlIHsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC45NSk7DQogIH0NCiAgDQogIDUwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMyk7DQogIH0gDQp9DQoNCi5hbmltYXRlZC5ib3VuY2VPdXQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7DQogIDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBib3VuY2VPdXRVcCB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAwcHgpOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgYm91bmNlT3V0VXAgew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGJvdW5jZU91dFVwIHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCiAgfQ0KICANCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwMDBweCk7DQogIH0NCn0NCg0KLmFuaW1hdGVkLmJvdW5jZU91dFVwIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFVwOw0KICAtby1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0VXA7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRVcDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VPdXREb3duIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwMDBweCk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dERvd24gew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjAwMHB4KTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGJvdW5jZU91dERvd24gew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KICB9DQogIA0KDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlT3V0RG93biB7DQogIDAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMDAwcHgpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5ib3VuY2VPdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0RG93bjsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dERvd247DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXREb3duOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dExlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwMHB4KTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsNCiAgfQ0KICANCiAgMjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7DQogIDAlIHsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlT3V0TGVmdCB7DQogIDAlIHsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjBweCk7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDAwcHgpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5ib3VuY2VPdXRMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0TGVmdDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRMZWZ0Ow0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGJvdW5jZU91dFJpZ2h0IHsNCiAgMCUgew0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMDBweCk7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VPdXRSaWdodCB7DQogIDAlIHsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7DQogIH0NCiAgDQogIDIwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwcHgpOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDAwcHgpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgYm91bmNlT3V0UmlnaHQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOw0KICB9DQogIA0KICAyMCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMHB4KTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjAwMHB4KTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQuYm91bmNlT3V0UmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogYm91bmNlT3V0UmlnaHQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiBib3VuY2VPdXRSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IGJvdW5jZU91dFJpZ2h0Ow0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluIHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC0yMDBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCkAtbW96LWtleWZyYW1lcyByb3RhdGVJbiB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQpALW8ta2V5ZnJhbWVzIHJvdGF0ZUluIHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQpAa2V5ZnJhbWVzIHJvdGF0ZUluIHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgdHJhbnNmb3JtOiByb3RhdGUoLTIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCi5hbmltYXRlZC5yb3RhdGVJbiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbjsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluOw0KICBhbmltYXRpb24tbmFtZTogcm90YXRlSW47DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm90YXRlSW5VcExlZnQgew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHJvdGF0ZUluVXBMZWZ0IHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlSW5VcExlZnQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLmFuaW1hdGVkLnJvdGF0ZUluVXBMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBMZWZ0Ow0KICAtby1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJblVwTGVmdDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsNCiAgMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgcm90YXRlSW5Eb3duTGVmdCB7DQogIDAlIHsNCiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVJbkRvd25MZWZ0IHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQucm90YXRlSW5Eb3duTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93bkxlZnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duTGVmdDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm90YXRlSW5VcFJpZ2h0IHsNCiAgMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVJblVwUmlnaHQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLmFuaW1hdGVkLnJvdGF0ZUluVXBSaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluVXBSaWdodDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0Ow0KICAtby1hbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogcm90YXRlSW5VcFJpZ2h0Ow0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgcm90YXRlSW5Eb3duUmlnaHQgew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvdGF0ZUluRG93blJpZ2h0IHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLmFuaW1hdGVkLnJvdGF0ZUluRG93blJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZUluRG93blJpZ2h0Ow0KICAtby1hbmltYXRpb24tbmFtZTogcm90YXRlSW5Eb3duUmlnaHQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVJbkRvd25SaWdodDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyByb3RhdGVPdXQgew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMjAwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgcm90YXRlT3V0IHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBjZW50ZXI7DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgyMDBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVPdXQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGNlbnRlcjsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgY2VudGVyOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDIwMGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQucm90YXRlT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyByb3RhdGVPdXRVcExlZnQgew0KICAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0VXBMZWZ0IHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQouYW5pbWF0ZWQucm90YXRlT3V0VXBMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBMZWZ0Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQogIC1vLWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcExlZnQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgew0KICAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgew0KICAwJSB7DQogICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHJvdGF0ZU91dERvd25MZWZ0IHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tOw0KICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93bkxlZnQgew0KICAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KLmFuaW1hdGVkLnJvdGF0ZU91dERvd25MZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25MZWZ0Ow0KICAtby1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0RG93bkxlZnQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duTGVmdDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm90YXRlT3V0VXBSaWdodCB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQC1vLWtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb3RhdGVPdXRVcFJpZ2h0IHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KLmFuaW1hdGVkLnJvdGF0ZU91dFVwUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0Ow0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXRVcFJpZ2h0Ow0KICAtby1hbmltYXRpb24tbmFtZTogcm90YXRlT3V0VXBSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dFVwUmlnaHQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMCk7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KICANCiAgMTAwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpOw0KICAgIG9wYWNpdHk6IDA7DQogIH0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZU91dERvd25SaWdodCB7DQogIDAlIHsNCiAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDApOw0KICAgIG9wYWNpdHk6IDE7DQogIH0NCiAgDQogIDEwMCUgew0KICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgYm90dG9tOw0KICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkAtby1rZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICAtby10cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgcm90YXRlT3V0RG93blJpZ2h0IHsNCiAgMCUgew0KICAgIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGJvdHRvbTsNCiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQogIA0KICAxMDAlIHsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBib3R0b207DQogICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi5hbmltYXRlZC5yb3RhdGVPdXREb3duUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGVPdXREb3duUmlnaHQ7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZU91dERvd25SaWdodDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBoaW5nZSB7DQogIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSAgDQogIDIwJSwgNjAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7IC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gIA0KICA0MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDYwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgODAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMTsgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDcwMHB4KTsgb3BhY2l0eTogMDsgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgaGluZ2Ugew0KICAwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7IC1tb3otdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gDQogIDIwJSwgNjAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7IC1tb3otdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC1tb3otYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gDQogIDQwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOyAtbW96LXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9ICANCiAgODAlIHsgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMTsgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSAgDQogIDEwMCUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7IG9wYWNpdHk6IDA7IH0NCn0NCg0KQC1vLWtleWZyYW1lcyBoaW5nZSB7DQogIDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoMCk7IC1vLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgMjAlLCA2MCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSg4MGRlZyk7IC1vLXRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgNDAlIHsgLW8tdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpOyAtby10cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgLW8tYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gIA0KICA4MCUgeyAtby10cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZykgdHJhbnNsYXRlWSgwKTsgb3BhY2l0eTogMTsgLW8tdHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7IC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0OyB9ICANCiAgMTAwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7IG9wYWNpdHk6IDA7IH0NCn0NCg0KQGtleWZyYW1lcyBoaW5nZSB7DQogIDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMCk7IHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSAgDQogIDIwJSwgNjAlIHsgdHJhbnNmb3JtOiByb3RhdGUoODBkZWcpOyB0cmFuc2Zvcm0tb3JpZ2luOiB0b3AgbGVmdDsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7IH0gIA0KICA0MCUgeyB0cmFuc2Zvcm06IHJvdGF0ZSg2MGRlZyk7IHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgODAlIHsgdHJhbnNmb3JtOiByb3RhdGUoNjBkZWcpIHRyYW5zbGF0ZVkoMCk7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybS1vcmlnaW46IHRvcCBsZWZ0OyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dDsgfSANCiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3MDBweCk7IG9wYWNpdHk6IDA7IH0NCn0NCg0KLmFuaW1hdGVkLmhpbmdlIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogaGluZ2U7DQogIC1tb3otYW5pbWF0aW9uLW5hbWU6IGhpbmdlOw0KICAtby1hbmltYXRpb24tbmFtZTogaGluZ2U7DQogIGFuaW1hdGlvbi1uYW1lOiBoaW5nZTsNCn0NCi8qIG9yaWdpbmFsbHkgYXV0aG9yZWQgYnkgTmljayBQZXR0aXQgLSBodHRwczovL2dpdGh1Yi5jb20vbmlja3BldHRpdC9nbGlkZSAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgcm9sbEluIHsNCiAgMCUgeyBvcGFjaXR5OiAwOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9DQogIDEwMCUgeyBvcGFjaXR5OiAxOyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgcm9sbEluIHsNCiAgMCUgeyBvcGFjaXR5OiAwOyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSkgcm90YXRlKC0xMjBkZWcpOyB9DQogIDEwMCUgeyBvcGFjaXR5OiAxOyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHJvbGxJbiB7DQogIDAlIHsgb3BhY2l0eTogMDsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7IH0NCiAgMTAwJSB7IG9wYWNpdHk6IDE7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJvbGxJbiB7DQogIDAlIHsgb3BhY2l0eTogMDsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKSByb3RhdGUoLTEyMGRlZyk7IH0NCiAgMTAwJSB7IG9wYWNpdHk6IDE7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsgfQ0KfQ0KDQouYW5pbWF0ZWQucm9sbEluIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbEluOw0KICAtbW96LWFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQogIC1vLWFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQogIGFuaW1hdGlvbi1uYW1lOiByb2xsSW47DQp9DQovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IE5pY2sgUGV0dGl0IC0gaHR0cHM6Ly9naXRodWIuY29tL25pY2twZXR0aXQvZ2xpZGUgKi8NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHJvbGxPdXQgew0KICAgIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCkgcm90YXRlKDBkZWcpOw0KICB9DQoNCiAgICAxMDAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOw0KICB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyByb2xsT3V0IHsNCiAgICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsNCiAgfQ0KDQogICAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSByb3RhdGUoMTIwZGVnKTsNCiAgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHJvbGxPdXQgew0KICAgIDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwcHgpIHJvdGF0ZSgwZGVnKTsNCiAgfQ0KDQogICAgMTAwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgcm90YXRlKDEyMGRlZyk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyByb2xsT3V0IHsNCiAgICAwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KSByb3RhdGUoMGRlZyk7DQogIH0NCg0KICAgIDEwMCUgew0KICAgIG9wYWNpdHk6IDA7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHJvdGF0ZSgxMjBkZWcpOw0KICB9DQp9DQoNCi5hbmltYXRlZC5yb2xsT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcm9sbE91dDsNCiAgLW1vei1hbmltYXRpb24tbmFtZTogcm9sbE91dDsNCiAgLW8tYW5pbWF0aW9uLW5hbWU6IHJvbGxPdXQ7DQogIGFuaW1hdGlvbi1uYW1lOiByb2xsT3V0Ow0KfQ0KDQovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IEFuZ2VsbyBSb2hpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmdlbG9yb2hpdCAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgbGlnaHRTcGVlZEluIHsNCiAgMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9DQogIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMCUpIHNrZXdYKDMwZGVnKTsgb3BhY2l0eTogMTsgfQ0KICA4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTsgb3BhY2l0eTogMTsgfQ0KICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBsaWdodFNwZWVkSW4gew0KICAwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7IG9wYWNpdHk6IDA7IH0NCiAgNjAlIHsgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDgwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDEwMCUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH0NCn0NCg0KQC1vLWtleWZyYW1lcyBsaWdodFNwZWVkSW4gew0KICAwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9DQogIDYwJSB7IC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAlKSBza2V3WCgzMGRlZyk7IG9wYWNpdHk6IDE7IH0NCiAgODAlIHsgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgtMTVkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDEwMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9DQp9DQoNCkBrZXlmcmFtZXMgbGlnaHRTcGVlZEluIHsNCiAgMCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsgb3BhY2l0eTogMDsgfQ0KICA2MCUgeyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTIwJSkgc2tld1goMzBkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDgwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goLTE1ZGVnKTsgb3BhY2l0eTogMTsgfQ0KICAxMDAlIHsgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAlKSBza2V3WCgwZGVnKTsgb3BhY2l0eTogMTsgfQ0KfQ0KDQouYW5pbWF0ZWQubGlnaHRTcGVlZEluIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47DQogICAgLW1vei1hbmltYXRpb24tbmFtZTogbGlnaHRTcGVlZEluOw0KICAgIC1vLWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkSW47DQogICAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRJbjsNCg0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICAtby1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsNCn0NCg0KLmFuaW1hdGVkLmxpZ2h0U3BlZWRJbiB7DQogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDAuNXM7DQogICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IDAuNXM7DQogICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjVzOw0KICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41czsNCn0NCg0KLyogb3JpZ2luYWxseSBhdXRob3JlZCBieSBBbmdlbG8gUm9oaXQgLSBodHRwczovL2dpdGh1Yi5jb20vYW5nZWxvcm9oaXQgKi8NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgew0KICAgIDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDEwMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHsNCiAgMCUgeyAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH0NCiAgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpIHNrZXdYKC0zMGRlZyk7IG9wYWNpdHk6IDA7IH0NCn0NCg0KQC1vLWtleWZyYW1lcyBsaWdodFNwZWVkT3V0IHsNCiAgMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCUpIHNrZXdYKDBkZWcpOyBvcGFjaXR5OiAxOyB9DQogIDEwMCUgeyAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSkgc2tld1goLTMwZGVnKTsgb3BhY2l0eTogMDsgfQ0KfQ0KDQpAa2V5ZnJhbWVzIGxpZ2h0U3BlZWRPdXQgew0KICAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSkgc2tld1goMGRlZyk7IG9wYWNpdHk6IDE7IH0NCiAgMTAwJSB7IHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKSBza2V3WCgtMzBkZWcpOyBvcGFjaXR5OiAwOyB9DQp9DQoNCi5hbmltYXRlZC5saWdodFNwZWVkT3V0IHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBsaWdodFNwZWVkT3V0Ow0KICAgIC1tb3otYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7DQogICAgLW8tYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7DQogICAgYW5pbWF0aW9uLW5hbWU6IGxpZ2h0U3BlZWRPdXQ7DQoNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KICAgIC1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCn0NCg0KLmFuaW1hdGVkLmxpZ2h0U3BlZWRPdXQgew0KICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjI1czsNCiAgICAtbW96LWFuaW1hdGlvbi1kdXJhdGlvbjogMC4yNXM7DQogICAgLW8tYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjI1czsNCiAgICBhbmltYXRpb24tZHVyYXRpb246IDAuMjVzOw0KfQ0KDQovKiBvcmlnaW5hbGx5IGF1dGhvcmVkIGJ5IEFuZ2VsbyBSb2hpdCAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmdlbG9yb2hpdCAqLw0KDQpALXdlYmtpdC1rZXlmcmFtZXMgd2lnZ2xlIHsNCiAgICAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCg5ZGVnKTsgfQ0KICAgIDEwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH0NCiAgICAyMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goN2RlZyk7IH0NCiAgICAzMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTZkZWcpOyB9DQogICAgNDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9DQogICAgNTAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTsgfQ0KICAgIDYwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgzZGVnKTsgfQ0KICAgIDcwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH0NCiAgICA4MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMWRlZyk7IH0NCiAgICA5MCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0NCiAgMTAwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgd2lnZ2xlIHsNCiAgICAwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCg5ZGVnKTsgfQ0KICAgIDEwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH0NCiAgICAyMCUgeyAtbW96LXRyYW5zZm9ybTogc2tld1goN2RlZyk7IH0NCiAgICAzMCUgeyAtbW96LXRyYW5zZm9ybTogc2tld1goLTZkZWcpOyB9DQogICAgNDAlIHsgLW1vei10cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9DQogICAgNTAlIHsgLW1vei10cmFuc2Zvcm06IHNrZXdYKC00ZGVnKTsgfQ0KICAgIDYwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgzZGVnKTsgfQ0KICAgIDcwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH0NCiAgICA4MCUgeyAtbW96LXRyYW5zZm9ybTogc2tld1goMWRlZyk7IH0NCiAgICA5MCUgeyAtbW96LXRyYW5zZm9ybTogc2tld1goMGRlZyk7IH0NCiAgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIHdpZ2dsZSB7DQogICAgMCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9DQogICAgMTAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH0NCiAgICAyMCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9DQogICAgMzAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH0NCiAgICA0MCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9DQogICAgNTAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH0NCiAgICA2MCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9DQogICAgNzAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH0NCiAgICA4MCUgeyAtby10cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9DQogICAgOTAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KICAxMDAlIHsgLW8tdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHdpZ2dsZSB7DQogICAgMCUgeyB0cmFuc2Zvcm06IHNrZXdYKDlkZWcpOyB9DQogICAgMTAlIHsgdHJhbnNmb3JtOiBza2V3WCgtOGRlZyk7IH0NCiAgICAyMCUgeyB0cmFuc2Zvcm06IHNrZXdYKDdkZWcpOyB9DQogICAgMzAlIHsgdHJhbnNmb3JtOiBza2V3WCgtNmRlZyk7IH0NCiAgICA0MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDVkZWcpOyB9DQogICAgNTAlIHsgdHJhbnNmb3JtOiBza2V3WCgtNGRlZyk7IH0NCiAgICA2MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDNkZWcpOyB9DQogICAgNzAlIHsgdHJhbnNmb3JtOiBza2V3WCgtMmRlZyk7IH0NCiAgICA4MCUgeyB0cmFuc2Zvcm06IHNrZXdYKDFkZWcpOyB9DQogICAgOTAlIHsgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KICAxMDAlIHsgdHJhbnNmb3JtOiBza2V3WCgwZGVnKTsgfQ0KfQ0KDQouYW5pbWF0ZWQud2lnZ2xlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7DQogICAgLW1vei1hbmltYXRpb24tbmFtZTogd2lnZ2xlOw0KICAgIC1vLWFuaW1hdGlvbi1uYW1lOiB3aWdnbGU7DQogICAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZTsNCg0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICAtbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47DQogICAgLW8tYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluOw0KfQ0KDQouYW5pbWF0ZWQud2lnZ2xlIHsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7DQogICAgLW1vei1hbmltYXRpb24tZHVyYXRpb246IDAuNzVzOw0KICAgIC1vLWFuaW1hdGlvbi1kdXJhdGlvbjogMC43NXM7DQogICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAwLjc1czsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluRG93biB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAtMTAwJSwgMCk7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgfQ0KDQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlSW5Eb3duIHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQp9DQoNCi5zbGlkZUluRG93biB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5Eb3duOw0KICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkRvd247DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluTGVmdCB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgfQ0KDQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlSW5MZWZ0IHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQp9DQoNCi5zbGlkZUluTGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogc2xpZGVJbkxlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBzbGlkZUluUmlnaHQgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOw0KICB9DQoNCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgc2xpZGVJblJpZ2h0IHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgfQ0KDQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVJblJpZ2h0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogc2xpZGVJblJpZ2h0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVJblVwIHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgdmlzaWJpbGl0eTogdmlzaWJsZTsNCiAgfQ0KDQogIHRvIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlSW5VcCB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDEwMCUsIDApOw0KICAgIHZpc2liaWxpdHk6IHZpc2libGU7DQogIH0NCg0KICB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCn0NCg0KLnNsaWRlSW5VcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsNCiAgYW5pbWF0aW9uLW5hbWU6IHNsaWRlSW5VcDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgdG8gew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlT3V0RG93biB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgdG8gew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMTAwJSwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAxMDAlLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVPdXREb3duIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duOw0KICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXREb3duOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRMZWZ0IHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogIH0NCg0KICB0byB7DQogICAgdmlzaWJpbGl0eTogaGlkZGVuOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBzbGlkZU91dExlZnQgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVPdXRMZWZ0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRMZWZ0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGVPdXRSaWdodCB7DQogIGZyb20gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOw0KICB9DQoNCiAgdG8gew0KICAgIHZpc2liaWxpdHk6IGhpZGRlbjsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlT3V0UmlnaHQgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7DQogIH0NCn0NCg0KLnNsaWRlT3V0UmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFJpZ2h0Ow0KICBhbmltYXRpb24tbmFtZTogc2xpZGVPdXRSaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHNsaWRlT3V0VXAgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHNsaWRlT3V0VXAgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICB2aXNpYmlsaXR5OiBoaWRkZW47DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIC0xMDAlLCAwKTsNCiAgfQ0KfQ0KDQouc2xpZGVPdXRVcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHNsaWRlT3V0VXA7DQogIGFuaW1hdGlvbi1uYW1lOiBzbGlkZU91dFVwOw0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbiB7DQogIGZyb20gew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluIHsNCiAgZnJvbSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogIH0NCg0KICA1MCUgew0KICAgIG9wYWNpdHk6IDE7DQogIH0NCn0NCg0KLnpvb21JbiB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JbjsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JbjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkRvd24gew0KICBmcm9tIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMTAwMHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluRG93biB7DQogIGZyb20gew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTEwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0xMDAwcHgsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KLnpvb21JbkRvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5Eb3duOw0KICBhbmltYXRpb24tbmFtZTogem9vbUluRG93bjsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JbkxlZnQgew0KICBmcm9tIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgtMTAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIDYwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMTBweCwgMCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluTGVmdCB7DQogIGZyb20gew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoLTEwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKC0xMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDEwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KLnpvb21JbkxlZnQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5MZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbUluTGVmdDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21JblJpZ2h0IHsNCiAgZnJvbSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21JblJpZ2h0IHsNCiAgZnJvbSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgxMDAwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICB9DQoNCiAgNjAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKC0xMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTEwcHgsIDAsIDApOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgfQ0KfQ0KDQouem9vbUluUmlnaHQgew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tSW5SaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21JblJpZ2h0Ow0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbUluVXAgew0KICBmcm9tIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbUluVXAgew0KICBmcm9tIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDEwMDBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICA2MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCi56b29tSW5VcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21JblVwOw0KICBhbmltYXRpb24tbmFtZTogem9vbUluVXA7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0IHsNCiAgZnJvbSB7DQogICAgb3BhY2l0eTogMTsNCiAgfQ0KDQogIDUwJSB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjMsIC4zLCAuMyk7DQogIH0NCg0KICB0byB7DQogICAgb3BhY2l0eTogMDsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHpvb21PdXQgew0KICBmcm9tIHsNCiAgICBvcGFjaXR5OiAxOw0KICB9DQoNCiAgNTAlIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4zLCAuMywgLjMpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMywgLjMsIC4zKTsNCiAgfQ0KDQogIHRvIHsNCiAgICBvcGFjaXR5OiAwOw0KICB9DQp9DQoNCi56b29tT3V0IHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogem9vbU91dDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0RG93biB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIC02MHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIDIwMDBweCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dERvd24gew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgLTYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCAtNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICB0byB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAyMDAwcHgsIDApOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgfQ0KfQ0KDQouem9vbU91dERvd24gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiB6b29tT3V0RG93bjsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXREb3duOw0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgem9vbU91dExlZnQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOw0KICB9DQoNCiAgdG8gew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dExlZnQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoNDJweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDQycHgsIDAsIDApOw0KICB9DQoNCiAgdG8gew0KICAgIG9wYWNpdHk6IDA7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlKC4xKSB0cmFuc2xhdGUzZCgtMjAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQgY2VudGVyOw0KICB9DQp9DQoNCi56b29tT3V0TGVmdCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRMZWZ0Ow0KICBhbmltYXRpb24tbmFtZTogem9vbU91dExlZnQ7DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyB6b29tT3V0UmlnaHQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7DQogIH0NCg0KICB0byB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7DQogIH0NCn0NCg0KQGtleWZyYW1lcyB6b29tT3V0UmlnaHQgew0KICA0MCUgew0KICAgIG9wYWNpdHk6IDE7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoLTQycHgsIDAsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgtNDJweCwgMCwgMCk7DQogIH0NCg0KICB0byB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoLjEpIHRyYW5zbGF0ZTNkKDIwMDBweCwgMCwgMCk7DQogICAgdHJhbnNmb3JtOiBzY2FsZSguMSkgdHJhbnNsYXRlM2QoMjAwMHB4LCAwLCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0IGNlbnRlcjsNCiAgICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodCBjZW50ZXI7DQogIH0NCn0NCg0KLnpvb21PdXRSaWdodCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRSaWdodDsNCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIHpvb21PdXRVcCB7DQogIDQwJSB7DQogICAgb3BhY2l0eTogMTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjQ3NSwgLjQ3NSwgLjQ3NSkgdHJhbnNsYXRlM2QoMCwgNjBweCwgMCk7DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NTAsIDAuMDU1LCAwLjY3NSwgMC4xOTApOw0KICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogIH0NCg0KICB0byB7DQogICAgb3BhY2l0eTogMDsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoLjEsIC4xLCAuMSkgdHJhbnNsYXRlM2QoMCwgLTIwMDBweCwgMCk7DQogICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXIgYm90dG9tOw0KICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMjAsIDEpOw0KICB9DQp9DQoNCkBrZXlmcmFtZXMgem9vbU91dFVwIHsNCiAgNDAlIHsNCiAgICBvcGFjaXR5OiAxOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC40NzUsIC40NzUsIC40NzUpIHRyYW5zbGF0ZTNkKDAsIDYwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguNDc1LCAuNDc1LCAuNDc1KSB0cmFuc2xhdGUzZCgwLCA2MHB4LCAwKTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1MCwgMC4wNTUsIDAuNjc1LCAwLjE5MCk7DQogICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTsNCiAgfQ0KDQogIHRvIHsNCiAgICBvcGFjaXR5OiAwOw0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC4xLCAuMSwgLjEpIHRyYW5zbGF0ZTNkKDAsIC0yMDAwcHgsIDApOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguMSwgLjEsIC4xKSB0cmFuc2xhdGUzZCgwLCAtMjAwMHB4LCAwKTsNCiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlciBib3R0b207DQogICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyIGJvdHRvbTsNCiAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIwLCAxKTsNCiAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyMCwgMSk7DQogIH0NCn0NCg0KLnpvb21PdXRVcCB7DQogIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDsNCiAgYW5pbWF0aW9uLW5hbWU6IHpvb21PdXRVcDsNCn0NCkAtd2Via2l0LWtleWZyYW1lcyBydWJiZXJCYW5kIHsNCiAgZnJvbSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICB9DQoNCiAgMzAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4yNSwgMC43NSwgMSk7DQogIH0NCg0KICA0MCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgwLjc1LCAxLjI1LCAxKTsNCiAgfQ0KDQogIDUwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMTUsIDAuODUsIDEpOw0KICB9DQoNCiAgNjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCguOTUsIDEuMDUsIDEpOw0KICB9DQoNCiAgNzUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjA1LCAuOTUsIDEpOw0KICB9DQoNCiAgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgfQ0KfQ0KDQpAa2V5ZnJhbWVzIHJ1YmJlckJhbmQgew0KICBmcm9tIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLCAxLCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogIH0NCg0KICAzMCUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMjUsIDAuNzUsIDEpOw0KICAgIHRyYW5zZm9ybTogc2NhbGUzZCgxLjI1LCAwLjc1LCAxKTsNCiAgfQ0KDQogIDQwJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMC43NSwgMS4yNSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDAuNzUsIDEuMjUsIDEpOw0KICB9DQoNCiAgNTAlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUzZCgxLjE1LCAwLjg1LCAxKTsNCiAgICB0cmFuc2Zvcm06IHNjYWxlM2QoMS4xNSwgMC44NSwgMSk7DQogIH0NCg0KICA2NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKC45NSwgMS4wNSwgMSk7DQogIH0NCg0KICA3NSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEuMDUsIC45NSwgMSk7DQogIH0NCg0KICB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlM2QoMSwgMSwgMSk7DQogICAgdHJhbnNmb3JtOiBzY2FsZTNkKDEsIDEsIDEpOw0KICB9DQp9DQoNCi5ydWJiZXJCYW5kIHsNCiAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogcnViYmVyQmFuZDsNCiAgYW5pbWF0aW9uLW5hbWU6IHJ1YmJlckJhbmQ7DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgamVsbG8gew0KICBmcm9tLCAxMS4xJSwgdG8gew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lOw0KICAgIHRyYW5zZm9ybTogbm9uZTsNCiAgfQ0KDQogIDIyLjIlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXdYKC0xMi41ZGVnKSBza2V3WSgtMTIuNWRlZyk7DQogIH0NCg0KICAzMy4zJSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKDYuMjVkZWcpIHNrZXdZKDYuMjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7DQogIH0NCg0KICA0NC40JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXdYKC0zLjEyNWRlZykgc2tld1koLTMuMTI1ZGVnKTsNCiAgfQ0KDQogIDU1LjUlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goMS41NjI1ZGVnKSBza2V3WSgxLjU2MjVkZWcpOw0KICB9DQoNCiAgNjYuNiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTAuNzgxMjVkZWcpIHNrZXdZKC0wLjc4MTI1ZGVnKTsNCiAgfQ0KDQogIDc3LjclIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTsNCiAgICB0cmFuc2Zvcm06IHNrZXdYKDAuMzkwNjI1ZGVnKSBza2V3WSgwLjM5MDYyNWRlZyk7DQogIH0NCg0KICA4OC44JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjE5NTMxMjVkZWcpIHNrZXdZKC0wLjE5NTMxMjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7DQogIH0NCn0NCg0KQGtleWZyYW1lcyBqZWxsbyB7DQogIGZyb20sIDExLjElLCB0byB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7DQogICAgdHJhbnNmb3JtOiBub25lOw0KICB9DQoNCiAgMjIuMiUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgtMTIuNWRlZykgc2tld1koLTEyLjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTEyLjVkZWcpIHNrZXdZKC0xMi41ZGVnKTsNCiAgfQ0KDQogIDMzLjMlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goNi4yNWRlZykgc2tld1koNi4yNWRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3WCg2LjI1ZGVnKSBza2V3WSg2LjI1ZGVnKTsNCiAgfQ0KDQogIDQ0LjQlIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goLTMuMTI1ZGVnKSBza2V3WSgtMy4xMjVkZWcpOw0KICB9DQoNCiAgNTUuNSUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3WCgxLjU2MjVkZWcpIHNrZXdZKDEuNTYyNWRlZyk7DQogIH0NCg0KICA2Ni42JSB7DQogICAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXdYKC0wLjc4MTI1ZGVnKSBza2V3WSgtMC43ODEyNWRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3WCgtMC43ODEyNWRlZykgc2tld1koLTAuNzgxMjVkZWcpOw0KICB9DQoNCiAgNzcuNyUgew0KICAgIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WCgwLjM5MDYyNWRlZykgc2tld1koMC4zOTA2MjVkZWcpOw0KICAgIHRyYW5zZm9ybTogc2tld1goMC4zOTA2MjVkZWcpIHNrZXdZKDAuMzkwNjI1ZGVnKTsNCiAgfQ0KDQogIDg4LjglIHsNCiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2tld1goLTAuMTk1MzEyNWRlZykgc2tld1koLTAuMTk1MzEyNWRlZyk7DQogICAgdHJhbnNmb3JtOiBza2V3WCgtMC4xOTUzMTI1ZGVnKSBza2V3WSgtMC4xOTUzMTI1ZGVnKTsNCiAgfQ0KfQ0KDQouamVsbG8gew0KICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiBqZWxsbzsNCiAgYW5pbWF0aW9uLW5hbWU6IGplbGxvOw0KICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjsNCiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyOw0KfQ=="}},"time_used":260,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":256,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/preloader.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.588Z","timestamp":1785133989588,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/preloader.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6781\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":63652,"size_decoded":7011,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"c367267866dda30e9073cf6984332451","sha1":"471e4b6cc2b5017e34640e762c398d8a685a30e2","sha256":"f2c493a4aee206ad6ad3edb00d589a595700a266427610aa62f478159b092872","sha512":"eb4aef61b53b565e0de99ad6dc7fa2405c9a91e03b5f48cf320ef624141bcbcd993be824cede75a909a7aa668e6e9f79e0b0c5b5cde320a9864a63e4cde38aef","ssdeep":"1536:YfK0+a9MOYUq537wZAyslzWAaHobBl/CBPzn0P1JI+3SsWSEfl5INc+ImuVTnkse:+KxfhXnJorfAJx","tlshash":"155303a97958944ac3638f1993f82fa49d785c739a2304ffb1d3280dd290bdc235a5b7","first_seen":"2023-04-16T21:04:22Z","last_seen":"2026-07-27T14:34:25.241505Z","times_seen":108,"resource_available":false,"data":"LyoNCkBBdXRob3I6IFRoZW1lTWFzY290DQpAVVJMOiBodHRwOi8vVGhlbWVNYXNjb3QuY29tDQoNCiovDQoNCi8qIFlvdXIgUHJlbG9hZGVyIGNzcyBjb2RlcyBzdGFydCBoZXJlOiAqLw0KDQovKg0KICogMi4wIC0+IFByZWxvYWRlcg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQojcHJlbG9hZGVyIHsNCiAgcG9zaXRpb246IGZpeGVkOw0KICB0b3A6IDA7DQogIGxlZnQ6IDA7DQogIHdpZHRoOiAxMDAlOw0KICBoZWlnaHQ6IDEwMCU7DQoJYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsNCiAgei1pbmRleDogOTk5OTsNCn0NCiNzcGlubmVyIHsNCiAgZGlzcGxheTogYmxvY2s7DQogIGhlaWdodDogMTEwcHg7DQogIGxlZnQ6IDUwJTsNCiAgbWFyZ2luOiAtNTVweDsNCiAgcG9zaXRpb246IHJlbGF0aXZlOw0KICB0b3A6IDUwJTsNCiAgd2lkdGg6IDExMHB4Ow0KfQ0KI3ByZWxvYWRlciAjZGlzYWJsZS1wcmVsb2FkZXIgew0KICBkaXNwbGF5OiBibG9jazsNCiAgcG9zaXRpb246IGFic29sdXRlOw0KICByaWdodDogMzBweDsNCiAgYm90dG9tOiAzMHB4Ow0KfQ0KDQovLyo9PT09PSBQcmVsb2FkZXIgT25lID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItd2hpcmxwb29sIj4NCgk8ZGl2IGNsYXNzPSJ3aGlybHBvb2wiPjwvZGl2Pg0KPC9kaXY+DQoNCiAqLw0KLnByZWxvYWRlci13aGlybHBvb2x7DQoJcG9zaXRpb246cmVsYXRpdmU7DQp9CQ0KLnByZWxvYWRlci13aGlybHBvb2wgLndoaXJscG9vbCwNCi5wcmVsb2FkZXItd2hpcmxwb29sIC53aGlybHBvb2w6OmJlZm9yZSwNCi5wcmVsb2FkZXItd2hpcmxwb29sIC53aGlybHBvb2w6OmFmdGVyIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiA1MCU7DQoJbGVmdDogNTAlOw0KCWJvcmRlcjogMXB4IHNvbGlkIHJnYigyMDQsMjA0LDIwNCk7DQoJYm9yZGVyLWxlZnQtY29sb3I6IHJnYigwLDAsMCk7DQoJYm9yZGVyLXJhZGl1czogOTc0cHg7DQoJCS1vLWJvcmRlci1yYWRpdXM6IDk3NHB4Ow0KCQktbXMtYm9yZGVyLXJhZGl1czogOTc0cHg7DQoJCS13ZWJraXQtYm9yZGVyLXJhZGl1czogOTc0cHg7DQoJCS1tb3otYm9yZGVyLXJhZGl1czogOTc0cHg7DQp9DQoucHJlbG9hZGVyLXdoaXJscG9vbCAud2hpcmxwb29sIHsNCgltYXJnaW46IC0yNHB4IDAgMCAtMjRweDsNCgloZWlnaHQ6IDQ5cHg7DQoJd2lkdGg6IDQ5cHg7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAxMTUwbXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDExNTBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDExNTBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAxMTUwbXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUgMTE1MG1zIGxpbmVhciBpbmZpbml0ZTsNCn0NCg0KLnByZWxvYWRlci13aGlybHBvb2wgLndoaXJscG9vbDo6YmVmb3JlIHsNCgljb250ZW50OiAiIjsNCgltYXJnaW46IC0yMnB4IDAgMCAtMjJweDsNCgloZWlnaHQ6IDQzcHg7DQoJd2lkdGg6IDQzcHg7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAxMTUwbXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDExNTBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDExNTBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAxMTUwbXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUgMTE1MG1zIGxpbmVhciBpbmZpbml0ZTsNCn0NCi5wcmVsb2FkZXItd2hpcmxwb29sIC53aGlybHBvb2w6OmFmdGVyIHsNCgljb250ZW50OiAiIjsNCgltYXJnaW46IC0yOHB4IDAgMCAtMjhweDsNCgloZWlnaHQ6IDU1cHg7DQoJd2lkdGg6IDU1cHg7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAyMzAwbXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDIzMDBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlIDIzMDBtcyBsaW5lYXIgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZSAyMzAwbXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUgMjMwMG1zIGxpbmVhciBpbmZpbml0ZTsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUgew0KCTEwMCUgew0KCQl0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOw0KCX0NCn0NCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUgew0KCTEwMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOw0KCX0NCn0NCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlIHsNCgkxMDAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7DQoJfQ0KfQ0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlIHsNCgkxMDAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOw0KCX0NCn0NCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLXJvdGF0ZSB7DQoJMTAwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsNCgl9DQp9DQoNCi8qPT09PT0gUHJlbG9hZGVyIFR3byA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLWZsb2F0aW5nLWNpcmNsZXMiPg0KCTxkaXYgY2xhc3M9ImZfY2lyY2xlRyIgaWQ9ImZyb3RhdGVHXzAxIj48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJmX2NpcmNsZUciIGlkPSJmcm90YXRlR18wMiI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iZl9jaXJjbGVHIiBpZD0iZnJvdGF0ZUdfMDMiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImZfY2lyY2xlRyIgaWQ9ImZyb3RhdGVHXzA0Ij48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJmX2NpcmNsZUciIGlkPSJmcm90YXRlR18wNSI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iZl9jaXJjbGVHIiBpZD0iZnJvdGF0ZUdfMDYiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImZfY2lyY2xlRyIgaWQ9ImZyb3RhdGVHXzA3Ij48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJmX2NpcmNsZUciIGlkPSJmcm90YXRlR18wOCI+PC9kaXY+DQo8L2Rpdj4NCg0KICovDQoucHJlbG9hZGVyLWZsb2F0aW5nLWNpcmNsZXMgew0KCXBvc2l0aW9uOnJlbGF0aXZlOw0KCXdpZHRoOjgwcHg7DQoJaGVpZ2h0OjgwcHg7DQoJbWFyZ2luOmF1dG87DQoJdHJhbnNmb3JtOnNjYWxlKDAuNik7DQoJCS1vLXRyYW5zZm9ybTpzY2FsZSgwLjYpOw0KCQktbXMtdHJhbnNmb3JtOnNjYWxlKDAuNik7DQoJCS13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuNik7DQoJCS1tb3otdHJhbnNmb3JtOnNjYWxlKDAuNik7DQp9DQoucHJlbG9hZGVyLWZsb2F0aW5nLWNpcmNsZXMgLmZfY2lyY2xlR3sNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7DQoJaGVpZ2h0OjE0cHg7DQoJd2lkdGg6MTRweDsNCglib3JkZXItcmFkaXVzOjdweDsNCgkJLW8tYm9yZGVyLXJhZGl1czo3cHg7DQoJCS1tcy1ib3JkZXItcmFkaXVzOjdweDsNCgkJLXdlYmtpdC1ib3JkZXItcmFkaXVzOjdweDsNCgkJLW1vei1ib3JkZXItcmFkaXVzOjdweDsNCglhbmltYXRpb24tbmFtZTpmX2ZhZGVHOw0KCQktby1hbmltYXRpb24tbmFtZTpmX2ZhZGVHOw0KCQktbXMtYW5pbWF0aW9uLW5hbWU6Zl9mYWRlRzsNCgkJLXdlYmtpdC1hbmltYXRpb24tbmFtZTpmX2ZhZGVHOw0KCQktbW96LWFuaW1hdGlvbi1uYW1lOmZfZmFkZUc7DQoJYW5pbWF0aW9uLWR1cmF0aW9uOjAuNjcyczsNCgkJLW8tYW5pbWF0aW9uLWR1cmF0aW9uOjAuNjcyczsNCgkJLW1zLWFuaW1hdGlvbi1kdXJhdGlvbjowLjY3MnM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOjAuNjcyczsNCgkJLW1vei1hbmltYXRpb24tZHVyYXRpb246MC42NzJzOw0KCWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTsNCglhbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLW8tYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7DQoJCS1tcy1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLW1vei1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCn0NCi5wcmVsb2FkZXItZmxvYXRpbmctY2lyY2xlcyAjZnJvdGF0ZUdfMDF7DQoJbGVmdDowOw0KCXRvcDozMnB4Ow0KCWFuaW1hdGlvbi1kZWxheTowLjI0OTVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC4yNDk1czsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheTowLjI0OTVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjI0OTVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjI0OTVzOw0KfQ0KLnByZWxvYWRlci1mbG9hdGluZy1jaXJjbGVzICNmcm90YXRlR18wMnsNCglsZWZ0OjlweDsNCgl0b3A6OXB4Ow0KCWFuaW1hdGlvbi1kZWxheTowLjMzNnM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTowLjMzNnM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MC4zMzZzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjMzNnM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OjAuMzM2czsNCn0NCi5wcmVsb2FkZXItZmxvYXRpbmctY2lyY2xlcyAjZnJvdGF0ZUdfMDN7DQoJbGVmdDozMnB4Ow0KCXRvcDowOw0KCWFuaW1hdGlvbi1kZWxheTowLjQyMjVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC40MjI1czsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheTowLjQyMjVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjQyMjVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjQyMjVzOw0KfQ0KLnByZWxvYWRlci1mbG9hdGluZy1jaXJjbGVzICNmcm90YXRlR18wNHsNCglyaWdodDo5cHg7DQoJdG9wOjlweDsNCglhbmltYXRpb24tZGVsYXk6MC41MDlzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC41MDlzOw0KCQktbXMtYW5pbWF0aW9uLWRlbGF5OjAuNTA5czsNCgkJLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6MC41MDlzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjUwOXM7DQp9DQoucHJlbG9hZGVyLWZsb2F0aW5nLWNpcmNsZXMgI2Zyb3RhdGVHXzA1ew0KCXJpZ2h0OjA7DQoJdG9wOjMycHg7DQoJYW5pbWF0aW9uLWRlbGF5OjAuNTk1NXM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTowLjU5NTVzOw0KCQktbXMtYW5pbWF0aW9uLWRlbGF5OjAuNTk1NXM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjAuNTk1NXM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OjAuNTk1NXM7DQp9DQoucHJlbG9hZGVyLWZsb2F0aW5nLWNpcmNsZXMgI2Zyb3RhdGVHXzA2ew0KCXJpZ2h0OjlweDsNCglib3R0b206OXB4Ow0KCWFuaW1hdGlvbi1kZWxheTowLjY3MnM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTowLjY3MnM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MC42NzJzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjY3MnM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OjAuNjcyczsNCn0NCi5wcmVsb2FkZXItZmxvYXRpbmctY2lyY2xlcyAjZnJvdGF0ZUdfMDd7DQoJbGVmdDozMnB4Ow0KCWJvdHRvbTowOw0KCWFuaW1hdGlvbi1kZWxheTowLjc1ODVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC43NTg1czsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheTowLjc1ODVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjc1ODVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjc1ODVzOw0KfQ0KLnByZWxvYWRlci1mbG9hdGluZy1jaXJjbGVzICNmcm90YXRlR18wOHsNCglsZWZ0OjlweDsNCglib3R0b206OXB4Ow0KCWFuaW1hdGlvbi1kZWxheTowLjg0NXM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTowLjg0NXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MC44NDVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjg0NXM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OjAuODQ1czsNCn0NCkBrZXlmcmFtZXMgZl9mYWRlR3sNCgkwJXsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApOw0KCX0NCg0KCTEwMCV7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgl9DQp9DQpALW8ta2V5ZnJhbWVzIGZfZmFkZUd7DQoJMCV7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTsNCgl9DQoNCgkxMDAlew0KCQliYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7DQoJfQ0KfQ0KQC1tcy1rZXlmcmFtZXMgZl9mYWRlR3sNCgkwJXsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApOw0KCX0NCg0KCTEwMCV7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgl9DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgZl9mYWRlR3sNCgkwJXsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApOw0KCX0NCg0KCTEwMCV7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgl9DQp9DQpALW1vei1rZXlmcmFtZXMgZl9mYWRlR3sNCgkwJXsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApOw0KCX0NCg0KCTEwMCV7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgl9DQp9DQoNCi8qPT09PT0gUHJlbG9hZGVyIFRocmVlID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmciPg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtbHQiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtcnQiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtbGIiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtcmIiPjwvZGl2Pg0KPC9kaXY+DQoNCiAqLw0KLnByZWxvYWRlci1laWdodC1zcGlubmluZyB7DQoJd2lkdGg6IDcycHg7DQoJbWFyZ2luOiAwcHggYXV0bzsNCglmb250LXNpemU6IDA7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7DQoJCS1vLXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7DQoJCS1tcy10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOw0KCQktd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7DQoJCS1tb3otdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsNCglhbmltYXRpb246IGNzc2xvYWQtY2xvY2t3aXNlIDYuOXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtY2xvY2t3aXNlIDYuOXMgbGluZWFyIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLWNsb2Nrd2lzZSA2LjlzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtY2xvY2t3aXNlIDYuOXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgNi45cyBsaW5lYXIgaW5maW5pdGU7DQp9DQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nOmJlZm9yZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWNvbnRlbnQ6ICcnOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCXdpZHRoOiAzOXB4Ow0KCWhlaWdodDogMzlweDsNCglib3JkZXI6IDZweCBzb2xpZCByZ2IoMjI5LDIyOSwyMjkpOw0KCWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1vLWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1tcy1ib3JkZXItcmFkaXVzOiAxMDAlOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1tb3otYm9yZGVyLXJhZGl1czogMTAwJTsNCglib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktby1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktbXMtYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nOmFmdGVyIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJY29udGVudDogJyc7DQoJei1pbmRleDogLTE7DQoJdG9wOiAwOw0KCXJpZ2h0OiAwOw0KCXdpZHRoOiAzOXB4Ow0KCWhlaWdodDogMzlweDsNCglib3JkZXI6IDZweCBzb2xpZCByZ2IoMjI5LDIyOSwyMjkpOw0KCWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1vLWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1tcy1ib3JkZXItcmFkaXVzOiAxMDAlOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS1tb3otYm9yZGVyLXJhZGl1czogMTAwJTsNCglib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktby1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktbXMtYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbHQsIC5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtcnQsIC5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbGIsIC5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtcmIgew0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJb3ZlcmZsb3c6IGhpZGRlbjsNCgl3aWR0aDogMzlweDsNCgloZWlnaHQ6IDE5cHg7DQoJb3BhY2l0eTogMTsNCn0NCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbHQ6YmVmb3JlLCAucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nIC5jc3Nsb2FkLXJ0OmJlZm9yZSwgDQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nIC5jc3Nsb2FkLWxiOmJlZm9yZSwgLnByZWxvYWRlci1laWdodC1zcGlubmluZyAuY3NzbG9hZC1yYjpiZWZvcmUgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgljb250ZW50OiAnJzsNCgl3aWR0aDogMzlweDsNCgloZWlnaHQ6IDM5cHg7DQoJYm9yZGVyLXRvcDogNnB4IHNvbGlkIHJnYig4Nyw2Nyw4Nyk7DQoJYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIHRyYW5zcGFyZW50Ow0KCWJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czogMTAwJTsNCgkJLW8tYm9yZGVyLXJhZGl1czogMTAwJTsNCgkJLW1zLWJvcmRlci1yYWRpdXM6IDEwMCU7DQoJCS13ZWJraXQtYm9yZGVyLXJhZGl1czogMTAwJTsNCgkJLW1vei1ib3JkZXItcmFkaXVzOiAxMDAlOw0KCWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJCS1vLWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJCS1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCQktd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJCS1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDsNCgktbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbHQgew0KCW1hcmdpbi1yaWdodDogLTZweDsNCglhbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTIzMDBtcyBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLWx0IDIuM3MgbGluZWFyIC0yMzAwbXMgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTIzMDBtcyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTIzMDBtcyBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTIzMDBtcyBpbmZpbml0ZTsNCn0NCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbHQ6YmVmb3JlIHsNCgl0b3A6IDA7DQoJbGVmdDogMDsNCglhbmltYXRpb246IGNzc2xvYWQtbm90LWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1ub3QtY2xvY2t3aXNlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1ub3QtY2xvY2t3aXNlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbm90LWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLW5vdC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KfQ0KDQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nIC5jc3Nsb2FkLXJ0IHsNCglhbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTExNTBtcyBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLWx0IDIuM3MgbGluZWFyIC0xMTUwbXMgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTExNTBtcyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTExNTBtcyBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTExNTBtcyBpbmZpbml0ZTsNCn0NCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtcnQ6YmVmb3JlIHsNCgl0b3A6IDA7DQoJcmlnaHQ6IDA7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQp9DQoNCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbGIgew0KCW1hcmdpbi1yaWdodDogLTZweDsNCglhbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTE3MjVtcyBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLWx0IDIuM3MgbGluZWFyIC0xNzI1bXMgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTE3MjVtcyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTE3MjVtcyBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTE3MjVtcyBpbmZpbml0ZTsNCn0NCi5wcmVsb2FkZXItZWlnaHQtc3Bpbm5pbmcgLmNzc2xvYWQtbGI6YmVmb3JlIHsNCglib3R0b206IDA7DQoJbGVmdDogMDsNCglhbmltYXRpb246IGNzc2xvYWQtbm90LWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1ub3QtY2xvY2t3aXNlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1ub3QtY2xvY2t3aXNlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbm90LWNsb2Nrd2lzZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLW5vdC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KfQ0KDQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nIC5jc3Nsb2FkLXJiIHsNCglhbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTU3NW1zIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTU3NW1zIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLWx0IDIuM3MgbGluZWFyIC01NzVtcyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbHQgMi4zcyBsaW5lYXIgLTU3NW1zIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1sdCAyLjNzIGxpbmVhciAtNTc1bXMgaW5maW5pdGU7DQp9DQoucHJlbG9hZGVyLWVpZ2h0LXNwaW5uaW5nIC5jc3Nsb2FkLXJiOmJlZm9yZSB7DQoJYm90dG9tOiAwOw0KCXJpZ2h0OiAwOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtY2xvY2t3aXNlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1jbG9ja3dpc2UgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KfQ0KDQpAa2V5ZnJhbWVzIGNzc2xvYWQtY2xvY2t3aXNlIHsNCgkwJSB7DQoJCXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7DQoJfQ0KCTEwMCUgew0KCQl0cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpOw0KCX0NCn0NCg0KQC1vLWtleWZyYW1lcyBjc3Nsb2FkLWNsb2Nrd2lzZSB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW8tdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTsNCgl9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtY2xvY2t3aXNlIHsNCgkwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlKDMxNWRlZyk7DQoJfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1jbG9ja3dpc2Ugew0KCTAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzMTVkZWcpOw0KCX0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGNzc2xvYWQtY2xvY2t3aXNlIHsNCgkwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzE1ZGVnKTsNCgl9DQp9DQpAa2V5ZnJhbWVzIGNzc2xvYWQtbm90LWNsb2Nrd2lzZSB7DQoJMCUgew0KCQl0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJfQ0KCTEwMCUgew0KCQl0cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTsNCgl9DQp9DQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbm90LWNsb2Nrd2lzZSB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJfQ0KCTEwMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTsNCgl9DQp9DQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLW5vdC1jbG9ja3dpc2Ugew0KCTAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTsNCgl9DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1ub3QtY2xvY2t3aXNlIHsNCgkwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtMzE1ZGVnKTsNCgl9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLW5vdC1jbG9ja3dpc2Ugew0KCTAlIHsNCgkJLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7DQoJfQ0KCTEwMCUgew0KCQktbW96LXRyYW5zZm9ybTogcm90YXRlKC0zMTVkZWcpOw0KCX0NCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1sdCB7DQoJMCUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNiUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NSUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NiUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkxMDAlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQp9DQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbHQgew0KCTAlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjUlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjYlIHsNCgkJb3BhY2l0eTogMDsNCgl9DQoJNzUlIHsNCgkJb3BhY2l0eTogMDsNCgl9DQoJNzYlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMTAwJSB7DQoJCW9wYWNpdHk6IDE7DQoJfQ0KfQ0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1sdCB7DQoJMCUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNiUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NSUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NiUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkxMDAlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQp9DQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1sdCB7DQoJMCUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNiUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NSUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NiUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkxMDAlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQp9DQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1sdCB7DQoJMCUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNiUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NSUgew0KCQlvcGFjaXR5OiAwOw0KCX0NCgk3NiUgew0KCQlvcGFjaXR5OiAxOw0KCX0NCgkxMDAlIHsNCgkJb3BhY2l0eTogMTsNCgl9DQp9DQovKj09PT09IFByZWxvYWRlciBGb3VyID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItZG91YmxlLXRvcnVzIj48L2Rpdj4NCg0KICovDQoucHJlbG9hZGVyLWRvdWJsZS10b3J1cyB7DQoJd2lkdGg6IDQ5cHg7DQoJaGVpZ2h0OiA0OXB4Ow0KCW1hcmdpbjogMCBhdXRvOw0KCWJvcmRlcjogNHB4IGRvdWJsZTsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCByZ2JhKDAsMCwwLDAuOSkgcmdiYSgwLDAsMCwwLjkpOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1zcGluIDk2MG1zIGluZmluaXRlIGxpbmVhcjsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNwaW4gOTYwbXMgaW5maW5pdGUgbGluZWFyOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXNwaW4gOTYwbXMgaW5maW5pdGUgbGluZWFyOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zcGluIDk2MG1zIGluZmluaXRlIGxpbmVhcjsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc3BpbiA5NjBtcyBpbmZpbml0ZSBsaW5lYXI7DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1zcGluIHsNCgkxMDAleyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1zcGluIHsNCgkxMDAleyAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtc3BpbiB7DQoJMTAwJXsgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtc3BpbiB7DQoJMTAwJXsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLXNwaW4gew0KCTEwMCV7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQ0KfQ0KDQovKj09PT09IFByZWxvYWRlciBGaXZlID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItdHViZS10dW5uZWwiPjwvZGl2Pg0KDQogKi8NCi5wcmVsb2FkZXItdHViZS10dW5uZWwgew0KCXdpZHRoOiA0OXB4Ow0KCWhlaWdodDogNDlweDsNCgltYXJnaW46IDAgYXV0bzsNCglib3JkZXI6IDRweCBzb2xpZDsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJYm9yZGVyLWNvbG9yOiByZ2IoMCwwLDApOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1zY2FsZSAxMDM1bXMgaW5maW5pdGUgbGluZWFyOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtc2NhbGUgMTAzNW1zIGluZmluaXRlIGxpbmVhcjsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1zY2FsZSAxMDM1bXMgaW5maW5pdGUgbGluZWFyOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zY2FsZSAxMDM1bXMgaW5maW5pdGUgbGluZWFyOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1zY2FsZSAxMDM1bXMgaW5maW5pdGUgbGluZWFyOw0KfQ0KQGtleWZyYW1lcyBjc3Nsb2FkLXNjYWxlIHsNCgkwJSB7IHRyYW5zZm9ybTogc2NhbGUoMCk7IHRyYW5zZm9ybTogc2NhbGUoMCk7IH0NCgk5MCUgeyB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IHRyYW5zZm9ybTogc2NhbGUoMC43KTsgfQ0KCTEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1zY2FsZSB7DQoJMCUgeyAtby10cmFuc2Zvcm06IHNjYWxlKDApOyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9DQoJOTAlIHsgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IH0NCgkxMDAlIHsgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsgdHJhbnNmb3JtOiBzY2FsZSgxKTsgfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLXNjYWxlIHsNCgkwJSB7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDApOyB0cmFuc2Zvcm06IHNjYWxlKDApOyB9DQoJOTAlIHsgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC43KTsgdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB9DQoJMTAwJSB7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLXNjYWxlIHsNCgkwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfQ0KCTkwJSB7IC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IH0NCgkxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLXNjYWxlIHsNCgkwJSB7IC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwKTsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfQ0KCTkwJSB7IC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjcpOyB0cmFuc2Zvcm06IHNjYWxlKDAuNyk7IH0NCgkxMDAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCi8qPT09PT0gUHJlbG9hZGVyIFNpeCA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLXNwZWVkaW5nLXdoZWVsIj48L2Rpdj4NCg0KICovDQoucHJlbG9hZGVyLXNwZWVkaW5nLXdoZWVsIHsNCgl3aWR0aDogNDlweDsNCgloZWlnaHQ6IDQ5cHg7DQoJbWFyZ2luOiAwIGF1dG87DQoJYm9yZGVyOiAzcHggc29saWQgcmdiKDAsMCwwKTsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50Ow0KCWJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXNwaW4gNTc1bXMgaW5maW5pdGUgbGluZWFyOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtc3BpbiA1NzVtcyBpbmZpbml0ZSBsaW5lYXI7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtc3BpbiA1NzVtcyBpbmZpbml0ZSBsaW5lYXI7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXNwaW4gNTc1bXMgaW5maW5pdGUgbGluZWFyOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1zcGluIDU3NW1zIGluZmluaXRlIGxpbmVhcjsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1zcGluIHsNCgkxMDAleyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1zcGluIHsNCgkxMDAleyAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtc3BpbiB7DQoJMTAwJXsgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtc3BpbiB7DQoJMTAwJXsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLXNwaW4gew0KCTEwMCV7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfQ0KfQ0KDQovKj09PT09IFByZWxvYWRlciBTZXZlbiA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLWxvYWRpbmctd3JhcHBlciI+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1sb2FkaW5nIj48aT48L2k+PGk+PC9pPjwvZGl2Pg0KPC9kaXY+DQoNCiAqLw0KIC5wcmVsb2FkZXItbG9hZGluZy13cmFwcGVyew0KCWRpc3BsYXk6IGJsb2NrOw0KCW1hcmdpbjowcHggYXV0bzsNCgl3aWR0aDo5N3B4Ow0KfQ0KLnByZWxvYWRlci1sb2FkaW5nLXdyYXBwZXIgLmNzc2xvYWQtbG9hZGluZyBpew0KCXdpZHRoOiA0OXB4Ow0KCWhlaWdodDogNDlweDsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJYmFja2dyb3VuZDogcmdiKDI1NSw4OSw4NCk7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KfQ0KLnByZWxvYWRlci1sb2FkaW5nLXdyYXBwZXIgLmNzc2xvYWQtbG9hZGluZyBpOm50aC1jaGlsZCgxKXsNCglhbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTEgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTEgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOmNzc2xvYWQtbG9hZGluZy1hbmkxIDEuMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlOw0KDQp9DQoucHJlbG9hZGVyLWxvYWRpbmctd3JhcHBlciAuY3NzbG9hZC1sb2FkaW5nIGk6bnRoLWNoaWxkKDIpew0KCWJhY2tncm91bmQ6IHJnYigwLDE2OCwyMDYpOw0KCW1hcmdpbi1sZWZ0OiAtMTBweDsNCglhbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTEgMS4xNXMgZWFzZS1pbi1vdXQgMC41OHMgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAxLjE1cyBlYXNlLWluLW91dCAwLjU4cyBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAxLjE1cyBlYXNlLWluLW91dCAwLjU4cyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTEgMS4xNXMgZWFzZS1pbi1vdXQgMC41OHMgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOmNzc2xvYWQtbG9hZGluZy1hbmkxIDEuMTVzIGVhc2UtaW4tb3V0IDAuNThzIGluZmluaXRlOw0KfQ0KDQpAa2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGluZy1hbmkxew0KCTcwJXsNCgkJdHJhbnNmb3JtOnNjYWxlKDAuNSk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGluZy1hbmkxew0KCTcwJXsNCgkJLW8tdHJhbnNmb3JtOnNjYWxlKDAuNSk7DQoJfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMXsNCgk3MCV7DQoJCS1tcy10cmFuc2Zvcm06c2NhbGUoMC41KTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMXsNCgk3MCV7DQoJCS13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDAuNSk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTF7DQoJNzAlew0KCQktbW96LXRyYW5zZm9ybTpzY2FsZSgwLjUpOw0KCX0NCn0NCg0KLyo9PT09PSBQcmVsb2FkZXIgRWlnaHQgPT09PT09PSovDQoNCi8qPT09PT09PU1hcmt1cD09PT09DQoNCjxkaXYgY2xhc3M9InByZWxvYWRlci1kb3QtbG9hZGluZyI+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1sb2FkaW5nIj48aT48L2k+PGk+PC9pPjxpPjwvaT48aT48L2k+PC9kaXY+DQo8L2Rpdj4NCg0KICovDQogLnByZWxvYWRlci1kb3QtbG9hZGluZyB7DQoJZGlzcGxheTogYmxvY2s7DQoJbWFyZ2luOjBweCBhdXRvOw0KCXdpZHRoOjk3cHg7DQp9DQoNCi5wcmVsb2FkZXItZG90LWxvYWRpbmcgLmNzc2xvYWQtbG9hZGluZyBpew0KCXdpZHRoOiAxOXB4Ow0KCWhlaWdodDogMTlweDsNCglkaXNwbGF5OiBpbmxpbmUtYmxvY2s7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KCWJhY2tncm91bmQ6IHJnYig0Miw0MywzOCk7DQp9DQoucHJlbG9hZGVyLWRvdC1sb2FkaW5nIC5jc3Nsb2FkLWxvYWRpbmcgaTpmaXJzdC1jaGlsZHsNCglvcGFjaXR5OiAwOw0KCWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMiAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMiAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTIgMC41OHMgbGluZWFyIGluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMiAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOmNzc2xvYWQtbG9hZGluZy1hbmkyIDAuNThzIGxpbmVhciBpbmZpbml0ZTsNCgl0cmFuc2Zvcm06dHJhbnNsYXRlKC0xOXB4KTsNCgkJLW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgtMTlweCk7DQoJCS1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKC0xOXB4KTsNCgkJLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKC0xOXB4KTsNCgkJLW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKC0xOXB4KTsNCn0NCi5wcmVsb2FkZXItZG90LWxvYWRpbmcgLmNzc2xvYWQtbG9hZGluZyBpOm50aC1jaGlsZCgyKSwNCi5wcmVsb2FkZXItZG90LWxvYWRpbmcgLmNzc2xvYWQtbG9hZGluZyBpOm50aC1jaGlsZCgzKXsNCglhbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTMgMC41OHMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTMgMC41OHMgbGluZWFyIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOmNzc2xvYWQtbG9hZGluZy1hbmkzIDAuNThzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTMgMC41OHMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMyAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQp9DQoucHJlbG9hZGVyLWRvdC1sb2FkaW5nIC5jc3Nsb2FkLWxvYWRpbmcgaTpsYXN0LWNoaWxkew0KCWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246Y3NzbG9hZC1sb2FkaW5nLWFuaTEgMC41OHMgbGluZWFyIGluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjpjc3Nsb2FkLWxvYWRpbmctYW5pMSAwLjU4cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOmNzc2xvYWQtbG9hZGluZy1hbmkxIDAuNThzIGxpbmVhciBpbmZpbml0ZTsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTF7DQoJMTAwJXsNCgkJdHJhbnNmb3JtOnRyYW5zbGF0ZSgzOXB4KTsNCgkJb3BhY2l0eTogMDsNCgl9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTF7DQoJMTAwJXsNCgkJLW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgzOXB4KTsNCgkJb3BhY2l0eTogMDsNCgl9DQp9DQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMXsNCgkxMDAlew0KCQktbXMtdHJhbnNmb3JtOnRyYW5zbGF0ZSgzOXB4KTsNCgkJb3BhY2l0eTogMDsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMXsNCgkxMDAlew0KCQktd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUoMzlweCk7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTF7DQoJMTAwJXsNCgkJLW1vei10cmFuc2Zvcm06dHJhbnNsYXRlKDM5cHgpOw0KCQlvcGFjaXR5OiAwOw0KCX0NCn0NCg0KQGtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMnsNCgkxMDAlew0KCQl0cmFuc2Zvcm06dHJhbnNsYXRlKDE5cHgpOw0KCQlvcGFjaXR5OiAxOw0KCX0NCn0NCg0KQC1vLWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pMnsNCgkxMDAlew0KCQktby10cmFuc2Zvcm06dHJhbnNsYXRlKDE5cHgpOw0KCQlvcGFjaXR5OiAxOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTJ7DQoJMTAwJXsNCgkJLW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMTlweCk7DQoJCW9wYWNpdHk6IDE7DQoJfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTJ7DQoJMTAwJXsNCgkJLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDE5cHgpOw0KCQlvcGFjaXR5OiAxOw0KCX0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGluZy1hbmkyew0KCTEwMCV7DQoJCS1tb3otdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOXB4KTsNCgkJb3BhY2l0eTogMTsNCgl9DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTN7DQoJMTAwJXsNCgkJdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOXB4KTsNCgl9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkaW5nLWFuaTN7DQoJMTAwJXsNCgkJLW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOXB4KTsNCgl9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGluZy1hbmkzew0KCTEwMCV7DQoJCS1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDE5cHgpOw0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGluZy1hbmkzew0KCTEwMCV7DQoJCS13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgxOXB4KTsNCgl9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLWxvYWRpbmctYW5pM3sNCgkxMDAlew0KCQktbW96LXRyYW5zZm9ybTp0cmFuc2xhdGUoMTlweCk7DQoJfQ0KfQ0KLyo9PT09PSBQcmVsb2FkZXIgTmluZSA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLWZvdW50YWluVGV4dEciPg0KCTxkaXYgaWQ9ImZvdW50YWluVGV4dEdfMSIgY2xhc3M9ImZvdW50YWluVGV4dEciPkw8L2Rpdj4NCgk8ZGl2IGlkPSJmb3VudGFpblRleHRHXzIiIGNsYXNzPSJmb3VudGFpblRleHRHIj5vPC9kaXY+DQoJPGRpdiBpZD0iZm91bnRhaW5UZXh0R18zIiBjbGFzcz0iZm91bnRhaW5UZXh0RyI+YTwvZGl2Pg0KCTxkaXYgaWQ9ImZvdW50YWluVGV4dEdfNCIgY2xhc3M9ImZvdW50YWluVGV4dEciPmQ8L2Rpdj4NCgk8ZGl2IGlkPSJmb3VudGFpblRleHRHXzUiIGNsYXNzPSJmb3VudGFpblRleHRHIj5pPC9kaXY+DQoJPGRpdiBpZD0iZm91bnRhaW5UZXh0R182IiBjbGFzcz0iZm91bnRhaW5UZXh0RyI+bjwvZGl2Pg0KCTxkaXYgaWQ9ImZvdW50YWluVGV4dEdfNyIgY2xhc3M9ImZvdW50YWluVGV4dEciPmc8L2Rpdj4NCjwvZGl2Pg0KDQoqLw0KLnByZWxvYWRlci1mb3VudGFpblRleHRHew0KCXdpZHRoOjMwMHB4Ow0KCW1hcmdpbjphdXRvOw0KfQ0KDQoucHJlbG9hZGVyLWZvdW50YWluVGV4dEcgLmZvdW50YWluVGV4dEd7DQoJY29sb3I6cmdiKDAsMCwwKTsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6MzFweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCglmb250LXdlaWdodDpub3JtYWw7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZmxvYXQ6bGVmdDsNCglhbmltYXRpb24tbmFtZTpib3VuY2VfZm91bnRhaW5UZXh0RzsNCgkJLW8tYW5pbWF0aW9uLW5hbWU6Ym91bmNlX2ZvdW50YWluVGV4dEc7DQoJCS1tcy1hbmltYXRpb24tbmFtZTpib3VuY2VfZm91bnRhaW5UZXh0RzsNCgkJLXdlYmtpdC1hbmltYXRpb24tbmFtZTpib3VuY2VfZm91bnRhaW5UZXh0RzsNCgkJLW1vei1hbmltYXRpb24tbmFtZTpib3VuY2VfZm91bnRhaW5UZXh0RzsNCglhbmltYXRpb24tZHVyYXRpb246Mi4wOXM7DQoJCS1vLWFuaW1hdGlvbi1kdXJhdGlvbjoyLjA5czsNCgkJLW1zLWFuaW1hdGlvbi1kdXJhdGlvbjoyLjA5czsNCgkJLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246Mi4wOXM7DQoJCS1tb3otYW5pbWF0aW9uLWR1cmF0aW9uOjIuMDlzOw0KCWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OmluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6aW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDppbmZpbml0ZTsNCglhbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLW8tYW5pbWF0aW9uLWRpcmVjdGlvbjpub3JtYWw7DQoJCS1tcy1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgkJLW1vei1hbmltYXRpb24tZGlyZWN0aW9uOm5vcm1hbDsNCgl0cmFuc2Zvcm06c2NhbGUoLjUpOw0KCQktby10cmFuc2Zvcm06c2NhbGUoLjUpOw0KCQktbXMtdHJhbnNmb3JtOnNjYWxlKC41KTsNCgkJLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjUpOw0KCQktbW96LXRyYW5zZm9ybTpzY2FsZSguNSk7DQp9LnByZWxvYWRlci1mb3VudGFpblRleHRHICNmb3VudGFpblRleHRHXzF7DQoJYW5pbWF0aW9uLWRlbGF5OjAuNzVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC43NXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MC43NXM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjAuNzVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjc1czsNCn0NCi5wcmVsb2FkZXItZm91bnRhaW5UZXh0RyAjZm91bnRhaW5UZXh0R18yew0KCWFuaW1hdGlvbi1kZWxheTowLjlzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MC45czsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheTowLjlzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTowLjlzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTowLjlzOw0KfQ0KLnByZWxvYWRlci1mb3VudGFpblRleHRHICNmb3VudGFpblRleHRHXzN7DQoJYW5pbWF0aW9uLWRlbGF5OjEuMDVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MS4wNXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MS4wNXM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuMDVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheToxLjA1czsNCn0NCi5wcmVsb2FkZXItZm91bnRhaW5UZXh0RyAjZm91bnRhaW5UZXh0R180ew0KCWFuaW1hdGlvbi1kZWxheToxLjJzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MS4yczsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheToxLjJzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheToxLjJzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheToxLjJzOw0KfQ0KLnByZWxvYWRlci1mb3VudGFpblRleHRHICNmb3VudGFpblRleHRHXzV7DQoJYW5pbWF0aW9uLWRlbGF5OjEuMzVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MS4zNXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MS4zNXM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuMzVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheToxLjM1czsNCn0NCi5wcmVsb2FkZXItZm91bnRhaW5UZXh0RyAjZm91bnRhaW5UZXh0R182ew0KCWFuaW1hdGlvbi1kZWxheToxLjVzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MS41czsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheToxLjVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheToxLjVzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheToxLjVzOw0KfQ0KLnByZWxvYWRlci1mb3VudGFpblRleHRHICNmb3VudGFpblRleHRHXzd7DQoJYW5pbWF0aW9uLWRlbGF5OjEuNjRzOw0KCQktby1hbmltYXRpb24tZGVsYXk6MS42NHM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6MS42NHM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OjEuNjRzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheToxLjY0czsNCn0NCkBrZXlmcmFtZXMgYm91bmNlX2ZvdW50YWluVGV4dEd7DQoJMCV7DQoJCXRyYW5zZm9ybTpzY2FsZSgxKTsNCgkJY29sb3I6cmdiKDAsMCwwKTsNCgl9DQoNCgkxMDAlew0KCQl0cmFuc2Zvcm06c2NhbGUoLjUpOw0KCQljb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOw0KCX0NCn0NCg0KQC1vLWtleWZyYW1lcyBib3VuY2VfZm91bnRhaW5UZXh0R3sNCgkwJXsNCgkJLW8tdHJhbnNmb3JtOnNjYWxlKDEpOw0KCQljb2xvcjpyZ2IoMCwwLDApOw0KCX0NCg0KCTEwMCV7DQoJCS1vLXRyYW5zZm9ybTpzY2FsZSguNSk7DQoJCWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7DQoJfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBib3VuY2VfZm91bnRhaW5UZXh0R3sNCgkwJXsNCgkJLW1zLXRyYW5zZm9ybTpzY2FsZSgxKTsNCgkJY29sb3I6cmdiKDAsMCwwKTsNCgl9DQoNCgkxMDAlew0KCQktbXMtdHJhbnNmb3JtOnNjYWxlKC41KTsNCgkJY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2VfZm91bnRhaW5UZXh0R3sNCgkwJXsNCgkJLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSk7DQoJCWNvbG9yOnJnYigwLDAsMCk7DQoJfQ0KDQoJMTAwJXsNCgkJLXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoLjUpOw0KCQljb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOw0KCX0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGJvdW5jZV9mb3VudGFpblRleHRHew0KCTAlew0KCQktbW96LXRyYW5zZm9ybTpzY2FsZSgxKTsNCgkJY29sb3I6cmdiKDAsMCwwKTsNCgl9DQoNCgkxMDAlew0KCQktbW96LXRyYW5zZm9ybTpzY2FsZSguNSk7DQoJCWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7DQoJfQ0KfQ0KLyo9PT09PSBQcmVsb2FkZXIgVGVuID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciI+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1sb2FkZXIiPjwvZGl2Pg0KPC9kaXY+DQoNCiAqLw0KIC5wcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciB7DQoJbWFyZ2luOiAwcHggYXV0bzsNCglkaXNwbGF5OiBibG9jazsNCgl3aWR0aDogOTdweDsNCn0NCi5wcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciAuY3NzbG9hZC1sb2FkZXIgew0KCXdpZHRoOiA0OXB4Ow0KCWhlaWdodDogNDlweDsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJbWFyZ2luOiAwOw0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCn0NCi5wcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciAuY3NzbG9hZC1sb2FkZXIgew0KCXdpZHRoOiA0OXB4Ow0KCWhlaWdodDogNDlweDsNCglib3JkZXItcmFkaXVzOiA1MCU7DQoJbWFyZ2luOiAwOw0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdmVydGljYWwtYWxpZ246IG1pZGRsZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjExLDIxMSwyMTEpOw0KfQ0KLnByZWxvYWRlci1jaXJjbGUtbG9hZGluZy13cmFwcGVyIC5jc3Nsb2FkLWxvYWRlciwNCi5wcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciAuY3NzbG9hZC1sb2FkZXI6YmVmb3JlLA0KLnByZWxvYWRlci1jaXJjbGUtbG9hZGluZy13cmFwcGVyIC5jc3Nsb2FkLWxvYWRlcjphZnRlciB7DQoJYW5pbWF0aW9uOiAxLjE1cyBpbmZpbml0ZSBlYXNlLWluLW91dDsNCgkJLW8tYW5pbWF0aW9uOiAxLjE1cyBpbmZpbml0ZSBlYXNlLWluLW91dDsNCgkJLW1zLWFuaW1hdGlvbjogMS4xNXMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiAxLjE1cyBpbmZpbml0ZSBlYXNlLWluLW91dDsNCgkJLW1vei1hbmltYXRpb246IDEuMTVzIGluZmluaXRlIGVhc2UtaW4tb3V0Ow0KfQ0KLnByZWxvYWRlci1jaXJjbGUtbG9hZGluZy13cmFwcGVyIC5jc3Nsb2FkLWxvYWRlcjpiZWZvcmUsDQoucHJlbG9hZGVyLWNpcmNsZS1sb2FkaW5nLXdyYXBwZXIgLmNzc2xvYWQtbG9hZGVyOmFmdGVyIHsNCgl3aWR0aDogMTAwJTsgDQoJaGVpZ2h0OiAxMDAlOw0KCWJvcmRlci1yYWRpdXM6IDUwJTsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWxlZnQ6IDA7DQp9DQoNCi5wcmVsb2FkZXItY2lyY2xlLWxvYWRpbmctd3JhcHBlciAuY3NzbG9hZC1sb2FkZXI6YmVmb3JlLA0KLnByZWxvYWRlci1jaXJjbGUtbG9hZGluZy13cmFwcGVyIC5jc3Nsb2FkLWxvYWRlcjphZnRlciB7DQoJCWNvbnRlbnQ6ICIiOw0KfQ0KLnByZWxvYWRlci1jaXJjbGUtbG9hZGluZy13cmFwcGVyIC5jc3Nsb2FkLWxvYWRlcjpiZWZvcmUgew0KCWNvbnRlbnQ6ICcnOw0KCWJvcmRlcjogMTBweCBzb2xpZCB3aGl0ZTsNCgl0b3A6IDBweDsNCglsZWZ0OiAwcHg7DQoJYW5pbWF0aW9uLW5hbWU6IGNzc2xvYWQtYW5pbWF0aW9uOw0KCQktby1hbmltYXRpb24tbmFtZTogY3NzbG9hZC1hbmltYXRpb247DQoJCS1tcy1hbmltYXRpb24tbmFtZTogY3NzbG9hZC1hbmltYXRpb247DQoJCS13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGNzc2xvYWQtYW5pbWF0aW9uOw0KCQktbW96LWFuaW1hdGlvbi1uYW1lOiBjc3Nsb2FkLWFuaW1hdGlvbjsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1hbmltYXRpb24gew0KCTAlIHsgdHJhbnNmb3JtOiBzY2FsZSgwKTsgfQ0KCTEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC1hbmltYXRpb24gew0KCTAlIHsgLW8tdHJhbnNmb3JtOiBzY2FsZSgwKTsgfQ0KCTEwMCUgeyAtby10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtYW5pbWF0aW9uIHsNCgkwJSB7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDApOyB9DQoJMTAwJSB7IC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLWFuaW1hdGlvbiB7DQoJMCUgeyAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7IH0NCgkxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLWFuaW1hdGlvbiB7DQoJMCUgeyAtbW96LXRyYW5zZm9ybTogc2NhbGUoMCk7IH0NCgkxMDAlIHsgLW1vei10cmFuc2Zvcm06IHNjYWxlKDEpOyB9DQp9DQoNCi8qPT09PT0gUHJlbG9hZGVyIEVsZXZlbiA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLWRvdC1jaXJjbGUtcm90YXRvciI+PC9kaXY+DQoNCiovDQoucHJlbG9hZGVyLWRvdC1jaXJjbGUtcm90YXRvcnsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJd2lkdGg6IDEycHg7DQoJaGVpZ2h0OiAxMnB4Ow0KCWxlZnQ6IDQ2JTsNCglsZWZ0OiBjYWxjKDUwJSAtIDZweCk7DQoJCWxlZnQ6IC1vLWNhbGMoNTAlIC0gNnB4KTsNCgkJbGVmdDogLW1zLWNhbGMoNTAlIC0gNnB4KTsNCgkJbGVmdDogLXdlYmtpdC1jYWxjKDUwJSAtIDZweCk7DQoJCWxlZnQ6IC1tb3otY2FsYyg1MCUgLSA2cHgpOw0KCQ0KCWJvcmRlci1yYWRpdXM6IDEycHg7DQoJYmFja2dyb3VuZC1jb2xvcjogcmdiKDAsMCwwKTsNCgl0cmFuc2Zvcm0tb3JpZ2luOgk1MCUgNTAlOw0KCQktby10cmFuc2Zvcm0tb3JpZ2luOgk1MCUgNTAlOw0KCQktbXMtdHJhbnNmb3JtLW9yaWdpbjoJNTAlIDUwJTsNCgkJLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOgk1MCUgNTAlOw0KCQktbW96LXRyYW5zZm9ybS1vcmlnaW46CTUwJSA1MCU7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLWxvYWRlciAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLWxvYWRlciAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1sb2FkZXIgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLWxvYWRlciAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtbG9hZGVyIDEuMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlOw0KfQ0KDQoucHJlbG9hZGVyLWRvdC1jaXJjbGUtcm90YXRvcjpiZWZvcmV7DQoJY29udGVudDogIiI7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWJhY2tncm91bmQtY29sb3I6IHJnYigwLDAsMCk7DQoJdG9wOiAwcHg7DQoJbGVmdDogLTI0cHg7DQoJaGVpZ2h0OiAxMnB4Ow0KCXdpZHRoOiAxMnB4Ow0KCWJvcmRlci1yYWRpdXM6IDEycHg7DQp9DQoNCi5wcmVsb2FkZXItZG90LWNpcmNsZS1yb3RhdG9yOmFmdGVyew0KCWNvbnRlbnQ6ICIiOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgliYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMCwwLDApOw0KCXRvcDogMHB4Ow0KCWxlZnQ6IDI0cHg7DQoJaGVpZ2h0OiAxMnB4Ow0KCXdpZHRoOiAxMnB4Ow0KCWJvcmRlci1yYWRpdXM6IDEycHg7DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1sb2FkZXJ7DQoJCTAle3RyYW5zZm9ybTpyb3RhdGUoMGRlZyk7fQ0KCQk1MCV7dHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO30NCgkJMTAwJXt0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbG9hZGVyew0KCQkwJXstby10cmFuc2Zvcm06cm90YXRlKDBkZWcpO30NCgkJNTAley1vLXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt9DQoJCTEwMCV7LW8tdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO30NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkZXJ7DQoJCTAley1tcy10cmFuc2Zvcm06cm90YXRlKDBkZWcpO30NCgkJNTAley1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fQ0KCQkxMDAley1tcy10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkZXJ7DQoJCTAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt9DQoJCTUwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt9DQoJCTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1sb2FkZXJ7DQoJCTAley1tb3otdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt9DQoJCTUwJXstbW96LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTt9DQoJCTEwMCV7LW1vei10cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7fQ0KfQ0KDQovKj09PT09IFByZWxvYWRlciBUd2VsdmUgPT09PT09PSovDQoNCi8qPT09PT09PU1hcmt1cD09PT09DQoNCjxkaXYgY2xhc3M9InByZWxvYWRlci1idWJibGluZ0ciPg0KCTxzcGFuIGlkPSJidWJibGluZ0dfMSI+DQoJPC9zcGFuPg0KCTxzcGFuIGlkPSJidWJibGluZ0dfMiI+DQoJPC9zcGFuPg0KCTxzcGFuIGlkPSJidWJibGluZ0dfMyI+DQoJPC9zcGFuPg0KPC9kaXY+DQoqLw0KLnByZWxvYWRlci1idWJibGluZ0cgew0KCXRleHQtYWxpZ246IGNlbnRlcjsNCgl3aWR0aDo3OHB4Ow0KCWhlaWdodDo0OXB4Ow0KCW1hcmdpbjogYXV0bzsNCn0NCi5wcmVsb2FkZXItYnViYmxpbmdHIHNwYW4gew0KCWRpc3BsYXk6IGlubGluZS1ibG9jazsNCgl2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOw0KCXdpZHRoOiAxMHB4Ow0KCWhlaWdodDogMTBweDsNCgltYXJnaW46IDI0cHggYXV0bzsNCgliYWNrZ3JvdW5kOiByZ2IoMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6IDQ5cHg7DQoJCS1vLWJvcmRlci1yYWRpdXM6IDQ5cHg7DQoJCS1tcy1ib3JkZXItcmFkaXVzOiA0OXB4Ow0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDQ5cHg7DQoJCS1tb3otYm9yZGVyLXJhZGl1czogNDlweDsNCglhbmltYXRpb246IGJ1YmJsaW5nRyAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTsNCgkJLW8tYW5pbWF0aW9uOiBidWJibGluZ0cgMS41cyBpbmZpbml0ZSBhbHRlcm5hdGU7DQoJCS1tcy1hbmltYXRpb246IGJ1YmJsaW5nRyAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGJ1YmJsaW5nRyAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTsNCgkJLW1vei1hbmltYXRpb246IGJ1YmJsaW5nRyAxLjVzIGluZmluaXRlIGFsdGVybmF0ZTsNCn0NCi5wcmVsb2FkZXItYnViYmxpbmdHICNidWJibGluZ0dfMSB7DQoJYW5pbWF0aW9uLWRlbGF5OiAwczsNCgkJLW8tYW5pbWF0aW9uLWRlbGF5OiAwczsNCgkJLW1zLWFuaW1hdGlvbi1kZWxheTogMHM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwczsNCgkJLW1vei1hbmltYXRpb24tZGVsYXk6IDBzOw0KfQ0KDQoucHJlbG9hZGVyLWJ1YmJsaW5nRyAjYnViYmxpbmdHXzIgew0KCWFuaW1hdGlvbi1kZWxheTogMC40NXM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTogMC40NXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6IDAuNDVzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC40NXM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjQ1czsNCn0NCi5wcmVsb2FkZXItYnViYmxpbmdHICNidWJibGluZ0dfMyB7DQoJYW5pbWF0aW9uLWRlbGF5OiAwLjlzOw0KCQktby1hbmltYXRpb24tZGVsYXk6IDAuOXM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6IDAuOXM7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRlbGF5OiAwLjlzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTogMC45czsNCn0NCkBrZXlmcmFtZXMgYnViYmxpbmdHIHsNCgkwJSB7DQoJCXdpZHRoOiAxMHB4Ow0KCQloZWlnaHQ6IDEwcHg7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTsNCgkJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOw0KCX0NCg0KCTEwMCUgew0KCQl3aWR0aDogMjNweDsNCgkJaGVpZ2h0OiAyM3B4Ow0KCQliYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUsMjU1LDI1NSk7DQoJCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGJ1YmJsaW5nRyB7DQoJMCUgew0KCQl3aWR0aDogMTBweDsNCgkJaGVpZ2h0OiAxMHB4Ow0KCQliYWNrZ3JvdW5kLWNvbG9yOnJnYigwLDAsMCk7DQoJCS1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCgl9DQoNCgkxMDAlIHsNCgkJd2lkdGg6IDIzcHg7DQoJCWhlaWdodDogMjNweDsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOw0KCQktby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgYnViYmxpbmdHIHsNCgkwJSB7DQoJCXdpZHRoOiAxMHB4Ow0KCQloZWlnaHQ6IDEwcHg7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTsNCgkJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCgl9DQoNCgkxMDAlIHsNCgkJd2lkdGg6IDIzcHg7DQoJCWhlaWdodDogMjNweDsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOw0KCQktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBidWJibGluZ0cgew0KCTAlIHsNCgkJd2lkdGg6IDEwcHg7DQoJCWhlaWdodDogMTBweDsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMCwwLDApOw0KCQktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsNCgl9DQoNCgkxMDAlIHsNCgkJd2lkdGg6IDIzcHg7DQoJCWhlaWdodDogMjNweDsNCgkJYmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1LDI1NSwyNTUpOw0KCQktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgYnViYmxpbmdHIHsNCgkwJSB7DQoJCXdpZHRoOiAxMHB4Ow0KCQloZWlnaHQ6IDEwcHg7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDAsMCwwKTsNCgkJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7DQoJfQ0KDQoJMTAwJSB7DQoJCXdpZHRoOiAyM3B4Ow0KCQloZWlnaHQ6IDIzcHg7DQoJCWJhY2tncm91bmQtY29sb3I6cmdiKDI1NSwyNTUsMjU1KTsNCgkJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpOw0KCX0NCn0NCg0KLyo9PT09PSBQcmVsb2FkZXIgVGhpcnRlZW4gPT09PT09PSovDQoNCi8qPT09PT09PU1hcmt1cD09PT09DQoNCjxkaXYgY2xhc3M9InByZWxvYWRlci1jb2ZmZWUiPjwvZGl2Pg0KKi8NCi5wcmVsb2FkZXItY29mZmVlIHsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJaGVpZ2h0OiA0OXB4Ow0KCXdpZHRoOiAzOXB4Ow0KCWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDsNCglib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4Ow0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglsZWZ0OiA1MCU7DQoJei1pbmRleDogOTk5Ow0KCWJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20gbGVmdCwgcmdiKDI0NywxNDgsMzApLCByZ2IoMTk0LDEwOCw3KSk7DQoJCWJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0byBib3R0b20gbGVmdCwgcmdiKDI0NywxNDgsMzApLCByZ2IoMTk0LDEwOCw3KSk7DQoJCWJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG8gYm90dG9tIGxlZnQsIHJnYigyNDcsMTQ4LDMwKSwgcmdiKDE5NCwxMDgsNykpOw0KCQliYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0byBib3R0b20gbGVmdCwgcmdiKDI0NywxNDgsMzApLCByZ2IoMTk0LDEwOCw3KSk7DQoJCWJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSBsZWZ0LCByZ2IoMjQ3LDE0OCwzMCksIHJnYigxOTQsMTA4LDcpKTsNCn0NCi5wcmVsb2FkZXItY29mZmVlOmJlZm9yZSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWNvbnRlbnQ6ICIiOw0KCXJpZ2h0OiAtMTVweDsNCgl0b3A6IDVweDsNCgloZWlnaHQ6IDI0cHg7DQoJd2lkdGg6IDEwcHg7DQoJYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7DQoJYm9yZGVyOiA1cHggc29saWQgcmdiKDI0NywxNDgsMzApOw0KCWJvcmRlci1sZWZ0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHJnYigyMzEsMTI5LDgpOw0KCWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxMHB4Ow0KCWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4Ow0KCXotaW5kZXg6IDE7DQp9DQoucHJlbG9hZGVyLWNvZmZlZTphZnRlciB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCWNvbnRlbnQ6ICIiOw0KCXdpZHRoOiA1cHg7DQoJaGVpZ2h0OiAyOXB4Ow0KCWJhY2tncm91bmQ6IHJnYigyMjUsMjI1LDIyNSk7DQoJYm9yZGVyLXJhZGl1czogNHB4Ow0KCXRvcDogLTI5cHg7DQoJYm94LXNoYWRvdzogMzRweCAwcHggMCByZ2IoMjI1LDIyNSwyMjUpLCAxNy41cHggLTE1cHggMCByZ2IoMjI1LDIyNSwyMjUpOw0KCW9wYWNpdHk6IDE7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXN0ZWFtIDMuNDVzIGVhc2UgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1zdGVhbSAzLjQ1cyBlYXNlIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXN0ZWFtIDMuNDVzIGVhc2UgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXN0ZWFtIDMuNDVzIGVhc2UgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLXN0ZWFtIDMuNDVzIGVhc2UgaW5maW5pdGU7DQp9DQoNCg0KDQpAa2V5ZnJhbWVzIGNzc2xvYWQtc3RlYW0gew0KCTEwMCUgew0KCQl0b3A6IC0zOXB4Ow0KCQliYWNrZ3JvdW5kOiByZ2IoMjM4LDIzOCwyMzgpOw0KCQlib3gtc2hhZG93OiAzNHB4IDBweCAwIHJnYigyMzgsMjM4LDIzOCksIDE3LjVweCAtMTVweCAwIHJnYigyMzgsMjM4LDIzOCk7DQoJCW9wYWNpdHk6IDAuMjU7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtc3RlYW0gew0KCTEwMCUgew0KCQl0b3A6IC0zOXB4Ow0KCQliYWNrZ3JvdW5kOiByZ2IoMjM4LDIzOCwyMzgpOw0KCQlib3gtc2hhZG93OiAzNHB4IDBweCAwIHJnYigyMzgsMjM4LDIzOCksIDE3LjVweCAtMTVweCAwIHJnYigyMzgsMjM4LDIzOCk7DQoJCW9wYWNpdHk6IDAuMjU7DQoJfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLXN0ZWFtIHsNCgkxMDAlIHsNCgkJdG9wOiAtMzlweDsNCgkJYmFja2dyb3VuZDogcmdiKDIzOCwyMzgsMjM4KTsNCgkJYm94LXNoYWRvdzogMzRweCAwcHggMCByZ2IoMjM4LDIzOCwyMzgpLCAxNy41cHggLTE1cHggMCByZ2IoMjM4LDIzOCwyMzgpOw0KCQlvcGFjaXR5OiAwLjI1Ow0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtc3RlYW0gew0KCTEwMCUgew0KCQl0b3A6IC0zOXB4Ow0KCQliYWNrZ3JvdW5kOiByZ2IoMjM4LDIzOCwyMzgpOw0KCQlib3gtc2hhZG93OiAzNHB4IDBweCAwIHJnYigyMzgsMjM4LDIzOCksIDE3LjVweCAtMTVweCAwIHJnYigyMzgsMjM4LDIzOCk7DQoJCW9wYWNpdHk6IDAuMjU7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1zdGVhbSB7DQoJMTAwJSB7DQoJCXRvcDogLTM5cHg7DQoJCWJhY2tncm91bmQ6IHJnYigyMzgsMjM4LDIzOCk7DQoJCWJveC1zaGFkb3c6IDM0cHggMHB4IDAgcmdiKDIzOCwyMzgsMjM4KSwgMTcuNXB4IC0xNXB4IDAgcmdiKDIzOCwyMzgsMjM4KTsNCgkJb3BhY2l0eTogMC4yNTsNCgl9DQp9DQoNCi8qPT09PT0gUHJlbG9hZGVyIEZvdXJ0ZWVuID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItb3JiaXQtbG9hZGluZyI+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1pbm5lciBjc3Nsb2FkLW9uZSI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1pbm5lciBjc3Nsb2FkLXR3byI+PC9kaXY+DQoJPGRpdiBjbGFzcz0iY3NzbG9hZC1pbm5lciBjc3Nsb2FkLXRocmVlIj48L2Rpdj4NCjwvZGl2Pg0KKi8NCi5wcmVsb2FkZXItb3JiaXQtbG9hZGluZyB7DQoJcG9zaXRpb246IHJlbGF0aXZlOw0KCWxlZnQ6IGNhbGMoNTAlIC0gMzFweCk7DQoJd2lkdGg6IDYycHg7DQoJaGVpZ2h0OiA2MnB4Ow0KCWJvcmRlci1yYWRpdXM6IDUwJTsNCgkJLW8tYm9yZGVyLXJhZGl1czogNTAlOw0KCQktbXMtYm9yZGVyLXJhZGl1czogNTAlOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsNCgkJLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7DQoJcGVyc3BlY3RpdmU6IDc4MHB4Ow0KfQ0KDQoucHJlbG9hZGVyLW9yYml0LWxvYWRpbmcgLmNzc2xvYWQtaW5uZXIgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgl3aWR0aDogMTAwJTsNCgloZWlnaHQ6IDEwMCU7DQoJYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW8tYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJCS13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KCWJvcmRlci1yYWRpdXM6IDUwJTsNCgkJLW8tYm9yZGVyLXJhZGl1czogNTAlOw0KCQktbXMtYm9yZGVyLXJhZGl1czogNTAlOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDUwJTsNCgkJLW1vei1ib3JkZXItcmFkaXVzOiA1MCU7CQ0KfQ0KDQoucHJlbG9hZGVyLW9yYml0LWxvYWRpbmcgLmNzc2xvYWQtaW5uZXIuY3NzbG9hZC1vbmUgew0KCWxlZnQ6IDAlOw0KCXRvcDogMCU7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZS1vbmUgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLW9uZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLW9uZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZS1vbmUgMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUtb25lIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCglib3JkZXItYm90dG9tOiAzcHggc29saWQgcmdiKDAsMCwwKTsNCn0NCg0KLnByZWxvYWRlci1vcmJpdC1sb2FkaW5nIC5jc3Nsb2FkLWlubmVyLmNzc2xvYWQtdHdvIHsNCglyaWdodDogMCU7DQoJdG9wOiAwJTsNCglhbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXR3byAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUtdHdvIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1yb3RhdGUtdHdvIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXR3byAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZS10d28gMS4xNXMgbGluZWFyIGluZmluaXRlOw0KCWJvcmRlci1yaWdodDogM3B4IHNvbGlkIHJnYigwLDAsMCk7DQp9DQoNCi5wcmVsb2FkZXItb3JiaXQtbG9hZGluZyAuY3NzbG9hZC1pbm5lci5jc3Nsb2FkLXRocmVlIHsNCglyaWdodDogMCU7DQoJYm90dG9tOiAwJTsNCglhbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXRocmVlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXJvdGF0ZS10aHJlZSAxLjE1cyBsaW5lYXIgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXRocmVlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXRocmVlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtcm90YXRlLXRocmVlIDEuMTVzIGxpbmVhciBpbmZpbml0ZTsNCglib3JkZXItdG9wOiAzcHggc29saWQgcmdiKDAsMCwwKTsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtb25lIHsNCgkwJSB7DQoJCXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSgtNDVkZWcpIHJvdGF0ZVooMGRlZyk7DQoJfQ0KCTEwMCUgew0KCQl0cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoLTQ1ZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlLW9uZSB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoLTQ1ZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW8tdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKC00NWRlZykgcm90YXRlWigzNjBkZWcpOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtb25lIHsNCgkwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoLTQ1ZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSgtNDVkZWcpIHJvdGF0ZVooMzYwZGVnKTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLXJvdGF0ZS1vbmUgew0KCTAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoLTQ1ZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoLTQ1ZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtb25lIHsNCgkwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKC00NWRlZykgcm90YXRlWigwZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKC00NWRlZykgcm90YXRlWigzNjBkZWcpOw0KCX0NCn0NCg0KQGtleWZyYW1lcyBjc3Nsb2FkLXJvdGF0ZS10d28gew0KCTAlIHsNCgkJdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSByb3RhdGVZKDEwZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSByb3RhdGVZKDEwZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlLXR3byB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZVgoNTBkZWcpIHJvdGF0ZVkoMTBkZWcpIHJvdGF0ZVooMGRlZyk7DQoJfQ0KCTEwMCUgew0KCQktby10cmFuc2Zvcm06IHJvdGF0ZVgoNTBkZWcpIHJvdGF0ZVkoMTBkZWcpIHJvdGF0ZVooMzYwZGVnKTsNCgl9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlLXR3byB7DQoJMCUgew0KCQktbXMtdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSByb3RhdGVZKDEwZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlWCg1MGRlZykgcm90YXRlWSgxMGRlZykgcm90YXRlWigzNjBkZWcpOw0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlLXR3byB7DQoJMCUgew0KCQktd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCg1MGRlZykgcm90YXRlWSgxMGRlZykgcm90YXRlWigwZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSByb3RhdGVZKDEwZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtdHdvIHsNCgkwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiByb3RhdGVYKDUwZGVnKSByb3RhdGVZKDEwZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJLW1vei10cmFuc2Zvcm06IHJvdGF0ZVgoNTBkZWcpIHJvdGF0ZVkoMTBkZWcpIHJvdGF0ZVooMzYwZGVnKTsNCgl9DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtdGhyZWUgew0KCTAlIHsNCgkJdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKDU1ZGVnKSByb3RhdGVaKDBkZWcpOw0KCX0NCgkxMDAlIHsNCgkJdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKDU1ZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtcm90YXRlLXRocmVlIHsNCgkwJSB7DQoJCS1vLXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSg1NWRlZykgcm90YXRlWigwZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS1vLXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSg1NWRlZykgcm90YXRlWigzNjBkZWcpOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtdGhyZWUgew0KCTAlIHsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSg1NWRlZykgcm90YXRlWigwZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoNTVkZWcpIHJvdGF0ZVooMzYwZGVnKTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLXJvdGF0ZS10aHJlZSB7DQoJMCUgew0KCQktd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSg1NWRlZykgcm90YXRlWigwZGVnKTsNCgl9DQoJMTAwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKDM1ZGVnKSByb3RhdGVZKDU1ZGVnKSByb3RhdGVaKDM2MGRlZyk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1yb3RhdGUtdGhyZWUgew0KCTAlIHsNCgkJLW1vei10cmFuc2Zvcm06IHJvdGF0ZVgoMzVkZWcpIHJvdGF0ZVkoNTVkZWcpIHJvdGF0ZVooMGRlZyk7DQoJfQ0KCTEwMCUgew0KCQktbW96LXRyYW5zZm9ybTogcm90YXRlWCgzNWRlZykgcm90YXRlWSg1NWRlZykgcm90YXRlWigzNjBkZWcpOw0KCX0NCn0NCg0KLyo9PT09PSBQcmVsb2FkZXIgRmlmdGVlbiA9PT09PT09Ki8NCg0KLyo9PT09PT09TWFya3VwPT09PT0NCg0KPGRpdiBjbGFzcz0icHJlbG9hZGVyLWJhdHRlcnkiPg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtbGlxdWlkIj48L2Rpdj4NCjwvZGl2Pg0KKi8NCi5wcmVsb2FkZXItYmF0dGVyeSB7DQoJZGlzcGxheTogYmxvY2s7DQoJbWFyZ2luOjBweCBhdXRvOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl3aWR0aDogMi4yNXJlbTsNCgloZWlnaHQ6IDQuNXJlbTsNCglib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiKDY2LDkyLDExOSk7DQoJCS1vLWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2IoNjYsOTIsMTE5KTsNCgkJLW1zLWJveC1zaGFkb3c6IDAgMCAwIDAuMnJlbSByZ2IoNjYsOTIsMTE5KTsNCgkJLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMCAwLjJyZW0gcmdiKDY2LDkyLDExOSk7DQoJCS1tb3otYm94LXNoYWRvdzogMCAwIDAgMC4ycmVtIHJnYig2Niw5MiwxMTkpOw0KCWJvcmRlci1yYWRpdXM6IDAuMDlyZW07DQoJCS1vLWJvcmRlci1yYWRpdXM6IDAuMDlyZW07DQoJCS1tcy1ib3JkZXItcmFkaXVzOiAwLjA5cmVtOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDAuMDlyZW07DQoJCS1tb3otYm9yZGVyLXJhZGl1czogMC4wOXJlbTsNCgliYWNrZ3JvdW5kOiB3aGl0ZTsNCn0NCi5wcmVsb2FkZXItYmF0dGVyeTpiZWZvcmUgew0KCWNvbnRlbnQ6ICcnOw0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCglsZWZ0OiAwLjU2MjVyZW07DQoJcmlnaHQ6IDAuNTYyNXJlbTsNCgl0b3A6IC0wLjMzNzVyZW07DQoJaGVpZ2h0OiAwLjMzNzVyZW07DQoJd2lkdGg6IDEuMTI1cmVtOw0KCWJhY2tncm91bmQ6IHJnYig2Niw5MiwxMTkpOw0KCWJvcmRlci1yYWRpdXM6IDAuMThyZW07DQoJCS1vLWJvcmRlci1yYWRpdXM6IDAuMThyZW07DQoJCS1tcy1ib3JkZXItcmFkaXVzOiAwLjE4cmVtOw0KCQktd2Via2l0LWJvcmRlci1yYWRpdXM6IDAuMThyZW07DQoJCS1tb3otYm9yZGVyLXJhZGl1czogMC4xOHJlbTsNCn0NCi5wcmVsb2FkZXItYmF0dGVyeTphZnRlciB7DQoJY29udGVudDogJyc7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglib3R0b206IDA7DQoJbGVmdDogMDsNCglyaWdodDogMDsNCglib3JkZXItcmlnaHQ6IDIuMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWJvdHRvbTogNC4wNXJlbSBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMzIpOw0KfQ0KDQoucHJlbG9hZGVyLWJhdHRlcnkgLmNzc2xvYWQtbGlxdWlkIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAwOw0KCWJvdHRvbTogMDsNCglsZWZ0OiAwOw0KCXJpZ2h0OiAwOw0KCXdpZHRoOiAyLjI1cmVtOw0KCWJhY2tncm91bmQ6IHJnYigxMTMsMjUxLDEzMyk7DQoJYW5pbWF0aW9uOiBsb2FkIDIuNTlzIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGxvYWQgMi41OXMgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGxvYWQgMi41OXMgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBsb2FkIDIuNTlzIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogbG9hZCAyLjU5cyBpbmZpbml0ZTsNCn0NCi5wcmVsb2FkZXItYmF0dGVyeSAuY3NzbG9hZC1saXF1aWQ6YWZ0ZXIsIC5wcmVsb2FkZXItYmF0dGVyeSAuY3NzbG9hZC1saXF1aWQ6YmVmb3JlIHsNCgljb250ZW50OiAnJzsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJdG9wOiAtMC41cmVtOw0KCWhlaWdodDogMS4xMjVyZW07DQoJd2lkdGg6IDEuNDYyNXJlbTsNCgliYWNrZ3JvdW5kOiByZ2IoMTEzLDI1MSwxMzMpOw0KCW9wYWNpdHk6IDA7DQoJYm9yZGVyLXJhZGl1czogNTAlOw0KCQktby1ib3JkZXItcmFkaXVzOiA1MCU7DQoJCS1tcy1ib3JkZXItcmFkaXVzOiA1MCU7DQoJCS13ZWJraXQtYm9yZGVyLXJhZGl1czogNTAlOw0KCQktbW96LWJvcmRlci1yYWRpdXM6IDUwJTsNCn0NCi5wcmVsb2FkZXItYmF0dGVyeSAuY3NzbG9hZC1saXF1aWQ6YWZ0ZXIgew0KCXJpZ2h0OiAwOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1saXF1aWQtMSAyLjU5cyBpbmZpbml0ZTsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLWxpcXVpZC0xIDIuNTlzIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLWxpcXVpZC0xIDIuNTlzIGluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1saXF1aWQtMSAyLjU5cyBpbmZpbml0ZTsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtbGlxdWlkLTEgMi41OXMgaW5maW5pdGU7DQp9DQoucHJlbG9hZGVyLWJhdHRlcnkgLmNzc2xvYWQtbGlxdWlkOmJlZm9yZSB7DQoJbGVmdDogMDsNCglhbmltYXRpb246IGNzc2xvYWQtbGlxdWlkLTIgMi41OXMgaW5maW5pdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1saXF1aWQtMiAyLjU5cyBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1saXF1aWQtMiAyLjU5cyBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtbGlxdWlkLTIgMi41OXMgaW5maW5pdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLWxpcXVpZC0yIDIuNTlzIGluZmluaXRlOw0KfQ0KDQpAa2V5ZnJhbWVzIGxvYWQgew0KCTAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KCTcwJSB7DQoJCXRvcDogMS4xMjVyZW07DQoJfQ0KCTkwJSB7DQoJCXRvcDogMDsNCgl9DQoJOTUlIHsNCgkJdG9wOiAwOw0KCX0NCgkxMDAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGxvYWQgew0KCTAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KCTcwJSB7DQoJCXRvcDogMS4xMjVyZW07DQoJfQ0KCTkwJSB7DQoJCXRvcDogMDsNCgl9DQoJOTUlIHsNCgkJdG9wOiAwOw0KCX0NCgkxMDAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBsb2FkIHsNCgkwJSB7DQoJCXRvcDogNC41cmVtOw0KCX0NCgk3MCUgew0KCQl0b3A6IDEuMTI1cmVtOw0KCX0NCgk5MCUgew0KCQl0b3A6IDA7DQoJfQ0KCTk1JSB7DQoJCXRvcDogMDsNCgl9DQoJMTAwJSB7DQoJCXRvcDogNC41cmVtOw0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGxvYWQgew0KCTAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KCTcwJSB7DQoJCXRvcDogMS4xMjVyZW07DQoJfQ0KCTkwJSB7DQoJCXRvcDogMDsNCgl9DQoJOTUlIHsNCgkJdG9wOiAwOw0KCX0NCgkxMDAlIHsNCgkJdG9wOiA0LjVyZW07DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgbG9hZCB7DQoJMCUgew0KCQl0b3A6IDQuNXJlbTsNCgl9DQoJNzAlIHsNCgkJdG9wOiAxLjEyNXJlbTsNCgl9DQoJOTAlIHsNCgkJdG9wOiAwOw0KCX0NCgk5NSUgew0KCQl0b3A6IDA7DQoJfQ0KCTEwMCUgew0KCQl0b3A6IDQuNXJlbTsNCgl9DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1saXF1aWQtMSB7DQoJMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJMjIlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMzc1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQl0b3A6IC0wLjI1cmVtOw0KCX0NCgkzNSUgew0KCQloZWlnaHQ6IDEuMTI1cmVtOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTU1JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAtMC4xMjVyZW07DQoJfQ0KCTYwJSB7DQoJCWhlaWdodDogMC42MTg3NXJlbTsNCgkJb3BhY2l0eTogMTsNCgkJdG9wOiAtMC4yNzVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbGlxdWlkLTEgew0KCTAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTIyJSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAwLjM3NXJlbTsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjUlIHsNCgkJdG9wOiAtMC4yNXJlbTsNCgl9DQoJMzUlIHsNCgkJaGVpZ2h0OiAxLjEyNXJlbTsNCgkJdG9wOiAtMC41cmVtOw0KCX0NCgk1NSUgew0KCQloZWlnaHQ6IDAuMjgxMjVyZW07DQoJCXRvcDogLTAuMTI1cmVtOw0KCX0NCgk2MCUgew0KCQloZWlnaHQ6IDAuNjE4NzVyZW07DQoJCW9wYWNpdHk6IDE7DQoJCXRvcDogLTAuMjc1cmVtOw0KCX0NCgk5NiUgew0KCQloZWlnaHQ6IDAuODQzNzVyZW07DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogMC41cmVtOw0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1saXF1aWQtMSB7DQoJMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJMjIlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMzc1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQl0b3A6IC0wLjI1cmVtOw0KCX0NCgkzNSUgew0KCQloZWlnaHQ6IDEuMTI1cmVtOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTU1JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAtMC4xMjVyZW07DQoJfQ0KCTYwJSB7DQoJCWhlaWdodDogMC42MTg3NXJlbTsNCgkJb3BhY2l0eTogMTsNCgkJdG9wOiAtMC4yNzVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1saXF1aWQtMSB7DQoJMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJMjIlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMzc1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQl0b3A6IC0wLjI1cmVtOw0KCX0NCgkzNSUgew0KCQloZWlnaHQ6IDEuMTI1cmVtOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTU1JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAtMC4xMjVyZW07DQoJfQ0KCTYwJSB7DQoJCWhlaWdodDogMC42MTg3NXJlbTsNCgkJb3BhY2l0eTogMTsNCgkJdG9wOiAtMC4yNzVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1saXF1aWQtMSB7DQoJMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJMjIlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMzc1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyNSUgew0KCQl0b3A6IC0wLjI1cmVtOw0KCX0NCgkzNSUgew0KCQloZWlnaHQ6IDEuMTI1cmVtOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTU1JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAtMC4xMjVyZW07DQoJfQ0KCTYwJSB7DQoJCWhlaWdodDogMC42MTg3NXJlbTsNCgkJb3BhY2l0eTogMTsNCgkJdG9wOiAtMC4yNzVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpAa2V5ZnJhbWVzIGNzc2xvYWQtbGlxdWlkLTIgew0KCTAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTE3LjUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMnJlbTsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjAlIHsNCgkJdG9wOiAtMC4yNXJlbTsNCgl9DQoJMjUlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQl0b3A6IC0wLjYyNXJlbTsNCgl9DQoJNDUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IC0wLjEyNXJlbTsNCgl9DQoJNjAlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtbGlxdWlkLTIgew0KCTAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTE3LjUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMnJlbTsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjAlIHsNCgkJdG9wOiAtMC4yNXJlbTsNCgl9DQoJMjUlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQl0b3A6IC0wLjYyNXJlbTsNCgl9DQoJNDUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IC0wLjEyNXJlbTsNCgl9DQoJNjAlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW1zLWtleWZyYW1lcyBjc3Nsb2FkLWxpcXVpZC0yIHsNCgkwJSB7DQoJCWhlaWdodDogMDsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAtMC41cmVtOw0KCX0NCgkxNy41JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAwLjJyZW07DQoJCW9wYWNpdHk6IDE7DQoJfQ0KCTIwJSB7DQoJCXRvcDogLTAuMjVyZW07DQoJfQ0KCTI1JSB7DQoJCWhlaWdodDogMS40MDYyNXJlbTsNCgkJdG9wOiAtMC42MjVyZW07DQoJfQ0KCTQ1JSB7DQoJCWhlaWdodDogMC4yODEyNXJlbTsNCgkJdG9wOiAtMC4xMjVyZW07DQoJfQ0KCTYwJSB7DQoJCWhlaWdodDogMS40MDYyNXJlbTsNCgkJb3BhY2l0eTogMTsNCgkJdG9wOiAtMC41cmVtOw0KCX0NCgk5NiUgew0KCQloZWlnaHQ6IDAuODQzNzVyZW07DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogMC41cmVtOw0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtbGlxdWlkLTIgew0KCTAlIHsNCgkJaGVpZ2h0OiAwOw0KCQlvcGFjaXR5OiAwOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTE3LjUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IDAuMnJlbTsNCgkJb3BhY2l0eTogMTsNCgl9DQoJMjAlIHsNCgkJdG9wOiAtMC4yNXJlbTsNCgl9DQoJMjUlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQl0b3A6IC0wLjYyNXJlbTsNCgl9DQoJNDUlIHsNCgkJaGVpZ2h0OiAwLjI4MTI1cmVtOw0KCQl0b3A6IC0wLjEyNXJlbTsNCgl9DQoJNjAlIHsNCgkJaGVpZ2h0OiAxLjQwNjI1cmVtOw0KCQlvcGFjaXR5OiAxOw0KCQl0b3A6IC0wLjVyZW07DQoJfQ0KCTk2JSB7DQoJCWhlaWdodDogMC44NDM3NXJlbTsNCgkJb3BhY2l0eTogMDsNCgkJdG9wOiAwLjVyZW07DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1saXF1aWQtMiB7DQoJMCUgew0KCQloZWlnaHQ6IDA7DQoJCW9wYWNpdHk6IDA7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJMTcuNSUgew0KCQloZWlnaHQ6IDAuMjgxMjVyZW07DQoJCXRvcDogMC4ycmVtOw0KCQlvcGFjaXR5OiAxOw0KCX0NCgkyMCUgew0KCQl0b3A6IC0wLjI1cmVtOw0KCX0NCgkyNSUgew0KCQloZWlnaHQ6IDEuNDA2MjVyZW07DQoJCXRvcDogLTAuNjI1cmVtOw0KCX0NCgk0NSUgew0KCQloZWlnaHQ6IDAuMjgxMjVyZW07DQoJCXRvcDogLTAuMTI1cmVtOw0KCX0NCgk2MCUgew0KCQloZWlnaHQ6IDEuNDA2MjVyZW07DQoJCW9wYWNpdHk6IDE7DQoJCXRvcDogLTAuNXJlbTsNCgl9DQoJOTYlIHsNCgkJaGVpZ2h0OiAwLjg0Mzc1cmVtOw0KCQlvcGFjaXR5OiAwOw0KCQl0b3A6IDAuNXJlbTsNCgl9DQoJMTAwJSB7DQoJCWhlaWdodDogMDsNCgkJb3BhY2l0eTogMDsNCgl9DQp9DQovKj09PT09IFByZWxvYWRlciBTaXh0ZWVuID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItZXF1YWxpemVyIj4NCgk8dWw+DQoJCTxsaT48L2xpPg0KCQk8bGk+PC9saT4NCgkJPGxpPjwvbGk+DQoJCTxsaT48L2xpPg0KCQk8bGk+PC9saT4NCgkJPGxpPjwvbGk+DQoJPC91bD4NCjwvZGl2Pg0KKi8NCg0KLnByZWxvYWRlci1lcXVhbGl6ZXIgew0KCXBvc2l0aW9uOiBhYnNvbHV0ZTsNCgltYXJnaW46IDUwcHggYXV0bzsNCglsZWZ0OiAwOw0KCXJpZ2h0OiAwOw0KCXdpZHRoOiA4OHB4Ow0KfQ0KLnByZWxvYWRlci1lcXVhbGl6ZXIgdWwgew0KCW1hcmdpbjogMDsNCglsaXN0LXN0eWxlOiBub25lOw0KCXdpZHRoOiA4OHB4Ow0KCWhlaWdodDogNjNweDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJcGFkZGluZzogMDsNCgloZWlnaHQ6IDEwcHg7DQp9DQoucHJlbG9hZGVyLWVxdWFsaXplciB1bCBsaSB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAycHg7DQoJaGVpZ2h0OiAwOw0KCWJhY2tncm91bmQtY29sb3I6IHJnYigwLDAsMCk7DQoJYm90dG9tOiAwOw0KfQ0KLnByZWxvYWRlci1lcXVhbGl6ZXIgbGk6bnRoLWNoaWxkKDEpIHsNCglsZWZ0OiAwOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZSBpbmZpbml0ZSAwOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UxIDEuMTVzIGVhc2UgaW5maW5pdGUgMDsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZSBpbmZpbml0ZSAwOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZSBpbmZpbml0ZSAwOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZSBpbmZpbml0ZSAwOw0KfQ0KLnByZWxvYWRlci1lcXVhbGl6ZXIgbGk6bnRoLWNoaWxkKDIpIHsNCglsZWZ0OiAxNXB4Ow0KCWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZSBpbmZpbml0ZSAwLjEyczsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlIGluZmluaXRlIDAuMTJzOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlIGluZmluaXRlIDAuMTJzOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZSBpbmZpbml0ZSAwLjEyczsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UyIDEuMTVzIGVhc2UgaW5maW5pdGUgMC4xMnM7DQp9DQoucHJlbG9hZGVyLWVxdWFsaXplciBsaTpudGgtY2hpbGQoMykgew0KCWxlZnQ6IDI5cHg7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjIzczsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjIzczsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGUgMC4yM3M7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjIzczsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UxIDEuMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlIDAuMjNzOw0KfQ0KLnByZWxvYWRlci1lcXVhbGl6ZXIgbGk6bnRoLWNoaWxkKDQpIHsNCglsZWZ0OiA0NHB4Ow0KCWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZS1pbiBpbmZpbml0ZSAwLjM1czsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlLWluIGluZmluaXRlIDAuMzVzOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlLWluIGluZmluaXRlIDAuMzVzOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZS1pbiBpbmZpbml0ZSAwLjM1czsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UyIDEuMTVzIGVhc2UtaW4gaW5maW5pdGUgMC4zNXM7DQp9DQoucHJlbG9hZGVyLWVxdWFsaXplciBsaTpudGgtY2hpbGQoNSkgew0KCWxlZnQ6IDU4cHg7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjQ2czsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjQ2czsNCgkJLW1zLWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTEgMS4xNXMgZWFzZS1pbi1vdXQgaW5maW5pdGUgMC40NnM7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMSAxLjE1cyBlYXNlLWluLW91dCBpbmZpbml0ZSAwLjQ2czsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UxIDEuMTVzIGVhc2UtaW4tb3V0IGluZmluaXRlIDAuNDZzOw0KfQ0KLnByZWxvYWRlci1lcXVhbGl6ZXIgbGk6bnRoLWNoaWxkKDYpIHsNCglsZWZ0OiA3M3B4Ow0KCWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZSBpbmZpbml0ZSAwLjU4czsNCgkJLW8tYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlIGluZmluaXRlIDAuNThzOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXNlcXVlbmNlMiAxLjE1cyBlYXNlIGluZmluaXRlIDAuNThzOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1zZXF1ZW5jZTIgMS4xNXMgZWFzZSBpbmZpbml0ZSAwLjU4czsNCgkJLW1vei1hbmltYXRpb246IGNzc2xvYWQtc2VxdWVuY2UyIDEuMTVzIGVhc2UgaW5maW5pdGUgMC41OHM7DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC1zZXF1ZW5jZTEgew0KCTAlIHsNCgkJaGVpZ2h0OiAxMHB4Ow0KCX0NCgk1MCUgew0KCQloZWlnaHQ6IDQ5cHg7DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDEwcHg7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtc2VxdWVuY2UxIHsNCgkwJSB7DQoJCWhlaWdodDogMTBweDsNCgl9DQoJNTAlIHsNCgkJaGVpZ2h0OiA0OXB4Ow0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAxMHB4Ow0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1zZXF1ZW5jZTEgew0KCTAlIHsNCgkJaGVpZ2h0OiAxMHB4Ow0KCX0NCgk1MCUgew0KCQloZWlnaHQ6IDQ5cHg7DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDEwcHg7DQoJfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgY3NzbG9hZC1zZXF1ZW5jZTEgew0KCTAlIHsNCgkJaGVpZ2h0OiAxMHB4Ow0KCX0NCgk1MCUgew0KCQloZWlnaHQ6IDQ5cHg7DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDEwcHg7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC1zZXF1ZW5jZTEgew0KCTAlIHsNCgkJaGVpZ2h0OiAxMHB4Ow0KCX0NCgk1MCUgew0KCQloZWlnaHQ6IDQ5cHg7DQoJfQ0KCTEwMCUgew0KCQloZWlnaHQ6IDEwcHg7DQoJfQ0KfQ0KDQpAa2V5ZnJhbWVzIGNzc2xvYWQtc2VxdWVuY2UyIHsNCgkwJSB7DQoJCWhlaWdodDogMTlweDsNCgl9DQoJNTAlIHsNCgkJaGVpZ2h0OiA2M3B4Ow0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAxOXB4Ow0KCX0NCn0NCg0KQC1vLWtleWZyYW1lcyBjc3Nsb2FkLXNlcXVlbmNlMiB7DQoJMCUgew0KCQloZWlnaHQ6IDE5cHg7DQoJfQ0KCTUwJSB7DQoJCWhlaWdodDogNjNweDsNCgl9DQoJMTAwJSB7DQoJCWhlaWdodDogMTlweDsNCgl9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtc2VxdWVuY2UyIHsNCgkwJSB7DQoJCWhlaWdodDogMTlweDsNCgl9DQoJNTAlIHsNCgkJaGVpZ2h0OiA2M3B4Ow0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAxOXB4Ow0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtc2VxdWVuY2UyIHsNCgkwJSB7DQoJCWhlaWdodDogMTlweDsNCgl9DQoJNTAlIHsNCgkJaGVpZ2h0OiA2M3B4Ow0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAxOXB4Ow0KCX0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGNzc2xvYWQtc2VxdWVuY2UyIHsNCgkwJSB7DQoJCWhlaWdodDogMTlweDsNCgl9DQoJNTAlIHsNCgkJaGVpZ2h0OiA2M3B4Ow0KCX0NCgkxMDAlIHsNCgkJaGVpZ2h0OiAxOXB4Ow0KCX0NCn0NCg0KLyo9PT09PSBQcmVsb2FkZXIgU2V2ZW50ZWVuID09PT09PT0qLw0KDQovKj09PT09PT1NYXJrdXA9PT09PQ0KDQo8ZGl2IGNsYXNzPSJwcmVsb2FkZXItc3F1YXJlLXN3YXBwaW5nIj4NCgk8ZGl2IGNsYXNzPSJjc3Nsb2FkLXNxdWFyZS1wYXJ0IGNzc2xvYWQtc3F1YXJlLWdyZWVuIj48L2Rpdj4NCgk8ZGl2IGNsYXNzPSJjc3Nsb2FkLXNxdWFyZS1wYXJ0IGNzc2xvYWQtc3F1YXJlLXBpbmsiPjwvZGl2Pg0KCTxkaXYgY2xhc3M9ImNzc2xvYWQtc3F1YXJlLWJsZW5kIj48L2Rpdj4NCjwvZGl2Pg0KKi8NCi5wcmVsb2FkZXItc3F1YXJlLXN3YXBwaW5nIHsNCgltYXJnaW46IDMwcHggYXV0bzsNCgl3aWR0aDogMTlweDsNCgloZWlnaHQ6IDE5cHg7DQoJdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCgkJLW8tdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCgkJLW1zLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsNCgkJLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOw0KfQ0KDQoucHJlbG9hZGVyLXNxdWFyZS1zd2FwcGluZyAuY3NzbG9hZC1zcXVhcmUtcGFydCB7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXdpZHRoOiAxOXB4Ow0KCWhlaWdodDogMTlweDsNCgl6LWluZGV4OiAxOw0KCWFuaW1hdGlvbjogY3NzbG9hZC1wYXJ0LWFuaW0gMC45MnMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KSBpbmZpbml0ZSBhbHRlcm5hdGU7DQoJCS1vLWFuaW1hdGlvbjogY3NzbG9hZC1wYXJ0LWFuaW0gMC45MnMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KSBpbmZpbml0ZSBhbHRlcm5hdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtcGFydC1hbmltIDAuOTJzIGN1YmljLWJlemllcigwLjQ0NSwgMC4wNSwgMC41NSwgMC45NSkgaW5maW5pdGUgYWx0ZXJuYXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjogY3NzbG9hZC1wYXJ0LWFuaW0gMC45MnMgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1LCAwLjU1LCAwLjk1KSBpbmZpbml0ZSBhbHRlcm5hdGU7DQoJCS1tb3otYW5pbWF0aW9uOiBjc3Nsb2FkLXBhcnQtYW5pbSAwLjkycyBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUsIDAuNTUsIDAuOTUpIGluZmluaXRlIGFsdGVybmF0ZTsNCn0NCg0KLnByZWxvYWRlci1zcXVhcmUtc3dhcHBpbmcgLmNzc2xvYWQtc3F1YXJlLWdyZWVuIHsNCgliYWNrZ3JvdW5kOiByZ2IoODQsMjUwLDIxMik7DQoJcmlnaHQ6IDA7DQoJYm90dG9tOiAwOw0KCWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZS1yZXZlcnNlOw0KCQktby1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGUtcmV2ZXJzZTsNCgkJLW1zLWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZS1yZXZlcnNlOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZS1yZXZlcnNlOw0KCQktbW96LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZS1yZXZlcnNlOw0KfQ0KDQoucHJlbG9hZGVyLXNxdWFyZS1zd2FwcGluZyAuY3NzbG9hZC1zcXVhcmUtcGluayB7DQoJYmFja2dyb3VuZDogcmdiKDIzMywxMTEsMTQ2KTsNCglsZWZ0OiAwOw0KCXRvcDogMDsNCn0NCg0KLnByZWxvYWRlci1zcXVhcmUtc3dhcHBpbmcgLmNzc2xvYWQtc3F1YXJlLWJsZW5kIHsNCgliYWNrZ3JvdW5kOiByZ2IoMTE3LDgxLDEyNSk7DQoJcG9zaXRpb246IGFic29sdXRlOw0KCXRvcDogMDsNCglsZWZ0OiAwOw0KCWJvdHRvbTogMDsNCglyaWdodDogMDsNCgl6LWluZGV4OiAyOw0KCWFuaW1hdGlvbjogYmxlbmQtYW5pbSAwLjkycyBlYXNlLWluIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGJsZW5kLWFuaW0gMC45MnMgZWFzZS1pbiBpbmZpbml0ZTsNCgkJLW1zLWFuaW1hdGlvbjogYmxlbmQtYW5pbSAwLjkycyBlYXNlLWluIGluZmluaXRlOw0KCQktd2Via2l0LWFuaW1hdGlvbjogYmxlbmQtYW5pbSAwLjkycyBlYXNlLWluIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogYmxlbmQtYW5pbSAwLjkycyBlYXNlLWluIGluZmluaXRlOw0KfQ0KDQpAa2V5ZnJhbWVzIGJsZW5kLWFuaW0gew0KCTAlIHsNCgkJdHJhbnNmb3JtOiBzY2FsZSgwLjAxLCAwLjAxKSByb3RhdGVZKDApOw0KCQlhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsNCgl9DQoJNTAlIHsNCgkJdHJhbnNmb3JtOiBzY2FsZSgxLCAxKSByb3RhdGVZKDApOw0KCQlhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTsNCgl9DQoJMTAwJSB7DQoJCXRyYW5zZm9ybTogc2NhbGUoMC4wMSwgMC4wMSkgcm90YXRlWSgwKTsNCgl9DQp9DQoNCkAtby1rZXlmcmFtZXMgYmxlbmQtYW5pbSB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHNjYWxlKDAuMDEsIDAuMDEpIHJvdGF0ZVkoMCk7DQoJCS1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpOw0KCX0NCgk1MCUgew0KCQktby10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZVkoMCk7DQoJCS1vLWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpOw0KCX0NCgkxMDAlIHsNCgkJLW8tdHJhbnNmb3JtOiBzY2FsZSgwLjAxLCAwLjAxKSByb3RhdGVZKDApOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgYmxlbmQtYW5pbSB7DQoJMCUgew0KCQktbXMtdHJhbnNmb3JtOiBzY2FsZSgwLjAxLCAwLjAxKSByb3RhdGVZKDApOw0KCQktbXMtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDcsIDAsIDAuNzQ1LCAwLjcxNSk7DQoJfQ0KCTUwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZVkoMCk7DQoJCS1tcy1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTsNCgl9DQoJMTAwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHNjYWxlKDAuMDEsIDAuMDEpIHJvdGF0ZVkoMCk7DQoJfQ0KfQ0KDQpALXdlYmtpdC1rZXlmcmFtZXMgYmxlbmQtYW5pbSB7DQoJMCUgew0KCQktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wMSwgMC4wMSkgcm90YXRlWSgwKTsNCgkJLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40NywgMCwgMC43NDUsIDAuNzE1KTsNCgl9DQoJNTAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEsIDEpIHJvdGF0ZVkoMCk7DQoJCS13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMzksIDAuNTc1LCAwLjU2NSwgMSk7DQoJfQ0KCTEwMCUgew0KCQktd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC4wMSwgMC4wMSkgcm90YXRlWSgwKTsNCgl9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBibGVuZC1hbmltIHsNCgkwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjAxLCAwLjAxKSByb3RhdGVZKDApOw0KCQktbW96LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ3LCAwLCAwLjc0NSwgMC43MTUpOw0KCX0NCgk1MCUgew0KCQktbW96LXRyYW5zZm9ybTogc2NhbGUoMSwgMSkgcm90YXRlWSgwKTsNCgkJLW1vei1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKTsNCgl9DQoJMTAwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjAxLCAwLjAxKSByb3RhdGVZKDApOw0KCX0NCn0NCg0KQGtleWZyYW1lcyBjc3Nsb2FkLXBhcnQtYW5pbSB7DQoJMCUgew0KCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAtMTBweCwgMCk7DQoJfQ0KCTEwMCUgew0KCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDEwcHgsIDApOw0KCX0NCn0NCg0KQC1vLWtleWZyYW1lcyBjc3Nsb2FkLXBhcnQtYW5pbSB7DQoJMCUgew0KCQktby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xMHB4LCAtMTBweCwgMCk7DQoJfQ0KCTEwMCUgew0KCQktby10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDEwcHgsIDApOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC1wYXJ0LWFuaW0gew0KCTAlIHsNCgkJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwcHgsIC0xMHB4LCAwKTsNCgl9DQoJMTAwJSB7DQoJCS1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDEwcHgsIDApOw0KCX0NCn0NCg0KQC13ZWJraXQta2V5ZnJhbWVzIGNzc2xvYWQtcGFydC1hbmltIHsNCgkwJSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgLTEwcHgsIDApOw0KCX0NCgkxMDAlIHsNCgkJLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDEwcHgsIDApOw0KCX0NCn0NCg0KQC1tb3ota2V5ZnJhbWVzIGNzc2xvYWQtcGFydC1hbmltIHsNCgkwJSB7DQoJCS1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTBweCwgLTEwcHgsIDApOw0KCX0NCgkxMDAlIHsNCgkJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwcHgsIDEwcHgsIDApOw0KCX0NCn0NCg0KLyo9PT09PSBQcmVsb2FkZXIgRWlnaHRlZW4gPT09PT09PSovDQoNCi8qPT09PT09PU1hcmt1cD09PT09DQoNCjxkaXYgY2xhc3M9InByZWxvYWRlci1qYWNraGFtbWVyIj4NCgk8dWwgY2xhc3M9ImNzc2xvYWQtZmxleC1jb250YWluZXIiPg0KCQk8bGk+DQoJCQk8c3BhbiBjbGFzcz0iY3NzbG9hZC1sb2FkaW5nIj48L3NwYW4+DQoJCTwvbGk+DQoJPC9kaXY+DQo8L2Rpdj4NCiovDQoucHJlbG9hZGVyLWphY2toYW1tZXIgKiB7DQoJYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW8tYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQoJCS13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsNCgkJLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KfQ0KLnByZWxvYWRlci1qYWNraGFtbWVyIHsNCgltYXJnaW46IDAgYXV0bzsNCgltYXgtd2lkdGg6IDU0NXB4Ow0KfQ0KDQoucHJlbG9hZGVyLWphY2toYW1tZXIgdWwgbGl7DQoJbGlzdC1zdHlsZTogbm9uZTsNCn0NCg0KLnByZWxvYWRlci1qYWNraGFtbWVyIC5jc3Nsb2FkLWZsZXgtY29udGFpbmVyIHsNCglkaXNwbGF5OiBmbGV4Ow0KCQlkaXNwbGF5OiAtby1mbGV4Ow0KCQlkaXNwbGF5OiAtbXMtZmxleDsNCgkJZGlzcGxheTogLXdlYmtpdC1mbGV4Ow0KCQlkaXNwbGF5OiAtbW96LWZsZXg7DQoJZmxleC1kaXJlY3Rpb246IHJvdzsNCgkJLW8tZmxleC1kaXJlY3Rpb246IHJvdzsNCgkJLW1zLWZsZXgtZGlyZWN0aW9uOiByb3c7DQoJCS13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdzsNCgkJLW1vei1mbGV4LWRpcmVjdGlvbjogcm93Ow0KCWZsZXgtd3JhcDogd3JhcDsNCgkJLW8tZmxleC13cmFwOiB3cmFwOw0KCQktbXMtZmxleC13cmFwOiB3cmFwOw0KCQktd2Via2l0LWZsZXgtd3JhcDogd3JhcDsNCgkJLW1vei1mbGV4LXdyYXA6IHdyYXA7DQoJanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7DQp9DQoucHJlbG9hZGVyLWphY2toYW1tZXIgLmNzc2xvYWQtZmxleC1jb250YWluZXIgbGkgew0KCXBhZGRpbmc6IDEwcHg7DQoJaGVpZ2h0OiA5N3B4Ow0KCXdpZHRoOiA5N3B4Ow0KCW1hcmdpbjogMDsNCglwb3NpdGlvbjogcmVsYXRpdmU7DQoJdGV4dC1hbGlnbjogY2VudGVyOw0KfQ0KDQoucHJlbG9hZGVyLWphY2toYW1tZXIgLmNzc2xvYWQtbG9hZGluZywgLnByZWxvYWRlci1qYWNraGFtbWVyIC5jc3Nsb2FkLWxvYWRpbmc6YWZ0ZXIsIC5wcmVsb2FkZXItamFja2hhbW1lciAuY3NzbG9hZC1sb2FkaW5nOmJlZm9yZSB7DQoJZGlzcGxheTogaW5saW5lLWJsb2NrOw0KCXBvc2l0aW9uOiByZWxhdGl2ZTsNCgl3aWR0aDogNXB4Ow0KCWhlaWdodDogNDlweDsNCgliYWNrZ3JvdW5kOiByZ2IoMCwwLDApOw0KCW1hcmdpbi10b3A6IDVweDsNCglib3JkZXItcmFkaXVzOiA5NzVweDsNCgkJLW8tYm9yZGVyLXJhZGl1czogOTc1cHg7DQoJCS1tcy1ib3JkZXItcmFkaXVzOiA5NzVweDsNCgkJLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA5NzVweDsNCgkJLW1vei1ib3JkZXItcmFkaXVzOiA5NzVweDsNCglhbmltYXRpb246IGNzc2xvYWQtdXBEb3duMiAxLjE1cyBlYXNlIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtdXBEb3duMiAxLjE1cyBlYXNlIGluZmluaXRlOw0KCQktbXMtYW5pbWF0aW9uOiBjc3Nsb2FkLXVwRG93bjIgMS4xNXMgZWFzZSBpbmZpbml0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb246IGNzc2xvYWQtdXBEb3duMiAxLjE1cyBlYXNlIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC11cERvd24yIDEuMTVzIGVhc2UgaW5maW5pdGU7DQoJYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOw0KCQktby1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7DQoJCS1tcy1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOw0KCQktbW96LWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTsNCglhbmltYXRpb24tZGVsYXk6IDAuMjlzOw0KCQktby1hbmltYXRpb24tZGVsYXk6IDAuMjlzOw0KCQktbXMtYW5pbWF0aW9uLWRlbGF5OiAwLjI5czsNCgkJLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IDAuMjlzOw0KCQktbW96LWFuaW1hdGlvbi1kZWxheTogMC4yOXM7DQp9DQoucHJlbG9hZGVyLWphY2toYW1tZXIgLmNzc2xvYWQtbG9hZGluZzphZnRlciwgLnByZWxvYWRlci1qYWNraGFtbWVyIC5jc3Nsb2FkLWxvYWRpbmc6YmVmb3JlIHsNCglwb3NpdGlvbjogYWJzb2x1dGU7DQoJY29udGVudDogJyc7DQoJYW5pbWF0aW9uOiBjc3Nsb2FkLXVwRG93biAxLjE1cyBlYXNlIGluZmluaXRlOw0KCQktby1hbmltYXRpb246IGNzc2xvYWQtdXBEb3duIDEuMTVzIGVhc2UgaW5maW5pdGU7DQoJCS1tcy1hbmltYXRpb246IGNzc2xvYWQtdXBEb3duIDEuMTVzIGVhc2UgaW5maW5pdGU7DQoJCS13ZWJraXQtYW5pbWF0aW9uOiBjc3Nsb2FkLXVwRG93biAxLjE1cyBlYXNlIGluZmluaXRlOw0KCQktbW96LWFuaW1hdGlvbjogY3NzbG9hZC11cERvd24gMS4xNXMgZWFzZSBpbmZpbml0ZTsNCglhbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7DQoJCS1vLWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTsNCgkJLW1zLWFuaW1hdGlvbi1kaXJlY3Rpb246IGFsdGVybmF0ZTsNCgkJLXdlYmtpdC1hbmltYXRpb24tZGlyZWN0aW9uOiBhbHRlcm5hdGU7DQoJCS1tb3otYW5pbWF0aW9uLWRpcmVjdGlvbjogYWx0ZXJuYXRlOw0KfQ0KLnByZWxvYWRlci1qYWNraGFtbWVyIC5jc3Nsb2FkLWxvYWRpbmc6YmVmb3JlIHsNCglsZWZ0OiAtMTBweDsNCn0NCi5wcmVsb2FkZXItamFja2hhbW1lciAuY3NzbG9hZC1sb2FkaW5nOmFmdGVyIHsNCglsZWZ0OiAxMHB4Ow0KCWFuaW1hdGlvbi1kZWxheTogMC41OHM7DQoJCS1vLWFuaW1hdGlvbi1kZWxheTogMC41OHM7DQoJCS1tcy1hbmltYXRpb24tZGVsYXk6IDAuNThzOw0KCQktd2Via2l0LWFuaW1hdGlvbi1kZWxheTogMC41OHM7DQoJCS1tb3otYW5pbWF0aW9uLWRlbGF5OiAwLjU4czsNCn0NCkBrZXlmcmFtZXMgY3NzbG9hZC11cERvd24gew0KCWZyb20gew0KCQl0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTlweCk7DQoJfQ0KCXRvIHsNCgkJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkAtby1rZXlmcmFtZXMgY3NzbG9hZC11cERvd24gew0KCWZyb20gew0KCQktby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTlweCk7DQoJfQ0KCXRvIHsNCgkJLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkAtbXMta2V5ZnJhbWVzIGNzc2xvYWQtdXBEb3duIHsNCglmcm9tIHsNCgkJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxOXB4KTsNCgl9DQoJdG8gew0KCQktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLXVwRG93biB7DQoJZnJvbSB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE5cHgpOw0KCX0NCgl0byB7DQoJCS13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkAtbW96LWtleWZyYW1lcyBjc3Nsb2FkLXVwRG93biB7DQoJZnJvbSB7DQoJCS1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE5cHgpOw0KCX0NCgl0byB7DQoJCS1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkBrZXlmcmFtZXMgY3NzbG9hZC11cERvd24yIHsNCglmcm9tIHsNCgkJdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI5cHgpOw0KCX0NCgl0byB7DQoJCXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTlweCk7DQoJfQ0KfQ0KDQpALW8ta2V5ZnJhbWVzIGNzc2xvYWQtdXBEb3duMiB7DQoJZnJvbSB7DQoJCS1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyOXB4KTsNCgl9DQoJdG8gew0KCQktby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE5cHgpOw0KCX0NCn0NCg0KQC1tcy1rZXlmcmFtZXMgY3NzbG9hZC11cERvd24yIHsNCglmcm9tIHsNCgkJLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyOXB4KTsNCgl9DQoJdG8gew0KCQktbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xOXB4KTsNCgl9DQp9DQoNCkAtd2Via2l0LWtleWZyYW1lcyBjc3Nsb2FkLXVwRG93bjIgew0KCWZyb20gew0KCQktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgyOXB4KTsNCgl9DQoJdG8gew0KCQktd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTlweCk7DQoJfQ0KfQ0KDQpALW1vei1rZXlmcmFtZXMgY3NzbG9hZC11cERvd24yIHsNCglmcm9tIHsNCgkJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjlweCk7DQoJfQ0KCXRvIHsNCgkJLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTE5cHgpOw0KCX0NCn0NCg0KLyogLS0tLS0tLS0gUHJlbG9hZGVyIGFuaW1hdGlvbiAtLS0tLS0tLS0tICovDQoNCg=="}},"time_used":312,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":304,"receive":8,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/bg/bg16.jpg","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.824Z","timestamp":1785133989824,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/bg/bg16.jpg HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 06 Mar 2018 20:57:30 GMT\r\naccept-ranges: bytes\r\ncontent-length: 438370\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":438370,"size_decoded":438559,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, little-endian, direntries=0], baseline, precision 8, 1920x1080, components 3","md5":"0096367bf39e8b3891fe03e2aadf8712","sha1":"f036282a443cfd97c11b1550431a2652c19de1d4","sha256":"87f12c7c3beec3694988d4ec9ab47f214f3fd3e92db59fd2997a6eb35fdafcaa","sha512":"15552d27f6a4164eea7b6c70538d8649655e62b3644ca9fabc87eb047f365c4f29c80b76ae9c307f4b8e0f133f7a2c7c1262dfe2f0ebc277186c083c022907a4","ssdeep":"12288:seEBau8jhs9Nfk3vfz2qoQKAQQpRZ/YiwGioIV:s1au8ls9QnyoKAjeV","tlshash":"fc9423279d0cb4212b90ad1888df5ebb9798ca313fed28d39f7f68874a19f60953d504","first_seen":"2025-08-11T15:46:16.903019Z","last_seen":"2026-07-27T06:33:54.009298Z","times_seen":6,"resource_available":false,"data":"/9j/4QAYRXhpZgAASUkqAAgAAAAAAAAAAAAAAP/sABFEdWNreQABAAQAAAA8AAD/4QMZaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLwA8P3hwYWNrZXQgYmVnaW49Iu+7vyIgaWQ9Ilc1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCI/PiA8eDp4bXBtZXRhIHhtbG5zOng9ImFkb2JlOm5zOm1ldGEvIiB4OnhtcHRrPSJBZG9iZSBYTVAgQ29yZSA1LjMtYzAxMSA2Ni4xNDU2NjEsIDIwMTIvMDIvMDYtMTQ6NTY6MjcgICAgICAgICI+IDxyZGY6UkRGIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyI+IDxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSIiIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjUyNTY5NThCMTM2NTExRThBRTMyRjIxOURBMDA0NUQ0IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUyNTY5NThBMTM2NTExRThBRTMyRjIxOURBMDA0NUQ0IiB4bXA6Q3JlYXRvclRvb2w9IkFkb2JlIFBob3Rvc2hvcCBDUzYgV2luZG93cyI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJGMzM1RkRGODRBMjFDOEZCQ0RENjE4MjRGNzE3QTZGQSIgc3RSZWY6ZG9jdW1lbnRJRD0iRjMzNUZERjg0QTIxQzhGQkNERDYxODI0RjcxN0E2RkEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7/7gAOQWRvYmUAZMAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAM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"}},"time_used":559,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":468,"receive":91,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/flaticon-png/small/f6.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.831Z","timestamp":1785133989831,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/flaticon-png/small/f6.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/png\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 9278\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":9278,"size_decoded":9464,"mime_type":"image/png","magic":"PNG image data, 90 x 90, 8-bit/color RGBA, non-interlaced","md5":"098f144301c392571a0499853fe8bf94","sha1":"894b72c2ada8474b535e539b8bacdf371c4ceaf2","sha256":"9df466dbccb00089bc3f5a90442481bfc04d7a1f82013c36c8c292c3455efccc","sha512":"1290d28fa607b34cf0e3a4e9354a2a286a44b6fd2f13868498045226c437ee982bfbf52731ff067311bb50265ad4c9aed0cdfe77ba981b96163c0a9702060af6","ssdeep":"192:qknQqQP+cNqJQyLEdOLj3+tAxbDPD6uPg5KghsZ0yiGuIPY:5nlobNAD5Dr1LmNyinIQ","tlshash":"26129e4da180adc27207ca0586db7d7d8fc374a648e086763e5d98c36a704f4583acc6","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T14:34:25.24851Z","times_seen":54,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+tpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTAxLTAxVDE4OjE5OjU0KzA2OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0wMS0wMVQxODozMzo1NSswNjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0wMS0wMVQxODozMzo1NSswNjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDg1MzMyRjRFRUYwMTFFNzhCMzFFODIxMDQ0MTZGNkQiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDg1MzMyRjVFRUYwMTFFNzhCMzFFODIxMDQ0MTZGNkQiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RS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"}},"time_used":572,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":569,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coin-images.coingecko.com/coins/images/2/large/litecoin.png?1696501400","fqdn":"coin-images.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.67.142.173","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.870Z","timestamp":1785133990870,"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":"coin-images.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 11 Jun 2026 22:42:48 GMT","end":"Wed, 09 Sep 2026 23:41:15 GMT"},"fingerprint":{"sha1":"7A:6C:D0:D5:FD:4F:F2:F6:0E:21:8F:DB:FC:C2:6A:FB:03:26:BA:A8","sha256":"8F:4C:5D:49:64:66:ED:34:00:50:8C:D4:D9:03:C8:38:40:42:53:9D:67:B3:CD:AA:9E:0E:D5:41:02:8E:46:BA"}}},"request":{"raw":"GET /coins/images/2/large/litecoin.png?1696501400 HTTP/1.1\r\nHost: coin-images.coingecko.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\nx-amz-id-2: Vy7WmbYGSJSl6RneukLJDccSsZH0AIhaKzVq51i/PZoFOhlHdjedn/aX84DhAoT6RRDGahwyhNxSnFl2I9ddD1staQtBZ3Uy\r\nx-amz-request-id: RBRRVP0PXD2ZDC8P\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nx-amz-replication-status: COMPLETED\r\nlast-modified: Wed, 29 May 2024 02:40:00 GMT\r\netag: \"2cb0c91b0d82542c140d900d549dddc0\"\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: 5qPrLUbI5j.JglMI78Hfu1JUQECZPGFM\r\naccept-ranges: bytes\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\nserver: cloudflare\r\ncf-polished: ok, orig_size=7680\r\ncf-bgj: h2pri,imgq:85\r\ncf-cache-status: HIT\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=hxO%2Fbn6iqeC3eYP4abKZg3r0PybMVh9eWrD7hl53cIjsephmdqRreUAO6JOB1HK73SJxzIg75%2BBK2H49NxwQVRLxeeJTcyXhorkebzBOTVmStRffDSI0Tfs2OfE1s4XqzqdOdZCOsdCdOSzT\"}]}\r\npriority: u=4,i\r\nage: 1381\r\ncf-ray: a2199c730e715699-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 5120\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":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":5120,"size_decoded":6144,"mime_type":"image/png","magic":"PNG image data, 250 x 250, 8-bit gray+alpha, non-interlaced","md5":"7dfe657fc78ddaa9bbf4b180da6eda9c","sha1":"ba56d2cbdb8ec2452e1d9a5e550c277c91dc21df","sha256":"ef3cea3547a0881c98e8d1f1fbe8ef6158365b6cac122ff659a726c0cff19518","sha512":"257a98d541b179e5b9e57a34e01f9d81d1786982690557f8336bc87b07fea94538dcde1c57f134664222774bf4fa3885276d3c17d2b47b23bdaddcc790fc09b7","ssdeep":"96:V50NeZ9yU9UKd9PTq7iFxW4LHiosNR7QAN7u+tGiO4drIkfx34:VqsYwd9OGFxpLHqX7z9tGiO4Bfx34","tlshash":"7fb18ec63f647e5a4304a1808a127d6785f1bd6f1a5cd0a1d713abdad4e8693ad46044","first_seen":"2024-08-02T10:43:53Z","last_seen":"2026-07-31T04:26:40.018761Z","times_seen":477,"resource_available":false,"data":"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"}},"time_used":29,"timings":{"blocked":11,"dns":0,"connect":0,"send":0,"wait":15,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"translations.smartsuppcdn.com/api/v1/widget/translations/lang/en/defaults","fqdn":"translations.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.27","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:14.351Z","timestamp":1785133994351,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1087630013.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Wed, 03 Jun 2026 14:33:02 GMT","end":"Tue, 01 Sep 2026 14:33:01 GMT"},"fingerprint":{"sha1":"CE:B9:32:81:E9:D2:46:C8:31:53:55:D3:41:19:F7:94:91:30:D1:93","sha256":"54:C9:41:2F:97:E8:14:28:D7:2C:4F:FA:E0:C3:3A:BC:85:F8:14:22:1C:98:23:82:53:4D:5D:58:C9:0B:C9:68"}}},"request":{"raw":"GET /api/v1/widget/translations/lang/en/defaults HTTP/1.1\r\nHost: translations.smartsuppcdn.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://frxoptmarkt.com/\r\nOrigin: https://frxoptmarkt.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\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:33:21 GMT\r\ncontent-type: application/json; charset=utf-8\r\naccess-control-allow-origin: *\r\ncache-control: max-age=600\r\nx-response-time: 1ms\r\nx-version: 0dd3c95f86cdb6b59a0dad25ffcd406aa7c7723b\r\nx-77-nzt: k2FHp8+tPtjQ3AMcwkx6s5neOkXuTRx4ivX/qHKBrlbBDwcSR8WMR4PRGO78h5uygjtQxh8\r\nx-77-nzt-ray: fdb541237c7193c1b1fb666a2753a305\r\nx-77-cache: HIT\r\nx-77-age: 39\r\nvary: Origin, Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":7216,"size_decoded":3345,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"05d7604a60456ab25eb809557b353edc","sha1":"e32135b721636e7994e42748da35341e03dfd123","sha256":"5892aca834fe3f9f8fb66f68c8a3eb2295708a3b428cf355d7f3e3c1a0b7b62e","sha512":"db4124c008e22597192e1f07b44575ff191a03322f763bffb1efd129152e0f6f1546d98f5016967b32cc71a8252fefc0546aef0be258e8343fbba4ae2afe00da","ssdeep":"192:Ccdft/hc4l6WKHSY8pZcqq+jT0UHAfoW/Ymz8:CgF/hcbWbYKZcF+jhqoWQmw","tlshash":"48e1b54f9a144ea987c6438276cfb84675bc80734250993afd8cc8b842697cda3e3b94","first_seen":"2026-04-01T12:23:41.393805Z","last_seen":"2026-07-27T13:21:25.866734Z","times_seen":5254,"resource_available":false,"data":"eyJhZ2VudFJhdGluZy5hbGwucGxhY2Vob2xkZXIiOiJMZWF2ZSB1cyBmZWVkYmFjayIsImFnZW50UmF0aW5nLmJhZC5mb3JtVGV4dCI6IlNvIHNvcnJ5IPCfmJMgV2hhdCB3ZW50IHdyb25nPyIsImFnZW50UmF0aW5nLmdvb2QuZm9ybVRleHQiOiJUaGFua3Mg8J+kqSBXaGF0IHdhcyBzbyBncmVhdD8iLCJhZ2VudFJhdGluZy5ub3JtYWwuZm9ybVRleHQiOiJUaGFua3Mg8J+RjSBIb3cgY2FuIHdlIGltcHJvdmU/IiwiYWdlbnRUcmFuc2Zlci5kZWZhdWx0VGV4dCI6IkFnZW50IiwiYWdlbnRUcmFuc2Zlci5qb2luZWQiOiJqb2luZWQgdGhlIGNoYXQiLCJhZ2VudFRyYW5zZmVyLmxlZnQiOiJsZWZ0IiwiYWdlbnRUcmFuc2Zlci5yZWRpcmVjdGVkIjoiaXMgeW91ciBuZXcgYWdlbnQiLCJhcmlhTGFiZWwuYWdlbnRBdmF0YXIiOiJBZ2VudCBhdmF0YXIiLCJhcmlhTGFiZWwuY2FyZCI6IlByb2R1Y3QgY2FyZCIsImFyaWFMYWJlbC5jaGF0Q29udGVudCI6IkNoYXQgY29udGVudCIsImFyaWFMYWJlbC5jaGF0Ym90QXZhdGFyIjoiQ2hhdGJvdCBhdmF0YXIiLCJhcmlhTGFiZWwuZHJhd2VyLmNvbnRlbnQiOiJEcmF3ZXIgY29udGVudCIsImFyaWFMYWJlbC5kcmF3ZXIub3ZlcmxheSI6IkRyYXdlciBvdmVybGF5IiwiYXJpYUxhYmVsLmlubGluZUVtb2ppUGlja2VyLmRlc2NyaXB0aW9uIjoiU2hvd2luZyB7Y291bnR9IGVtb2ppcyIsImFyaWFMYWJlbC5pbmxpbmVFbW9qaVBpY2tlci5sYWJlbCI6IkVtb2ppIHN1Z2dlc3Rpb25zIiwiYXJpYUxhYmVsLmxlZnQiOiJMZWZ0IiwiYXJpYUxhYmVsLm9wZW5DaGF0IjoiT3BlbiBTbWFydHN1cHAgY2hhdCIsImFyaWFMYWJlbC5wb3B1cCI6IlNtYXJ0c3VwcCBjaGF0IHBvcHVwIiwiYXJpYUxhYmVsLnJhdGVDaGF0LmJhZCI6IlJhdGUgY2hhdCBuZWdhdGl2ZWxseSIsImFyaWFMYWJlbC5yYXRlQ2hhdC5nb29kIjoiUmF0ZSBjaGF0IHBvc2l0aXZlbHkiLCJhcmlhTGFiZWwucmF0ZUNoYXQubmV1dHJhbCI6IlJhdGUgY2hhdCBuZXV0cmFsbHkiLCJhcmlhTGFiZWwucmVtb3ZlQXR0YWNobWVudCI6IlJlbW92ZSBhdHRhY2htZW50IiwiYXJpYUxhYmVsLnJpZ2h0IjoiUmlnaHQiLCJhcmlhTGFiZWwuc2Nyb2xsRG93biI6IlNjcm9sbCBkb3duIiwiYXJpYUxhYmVsLnN1Y2Nlc3MiOiJTdWNjZXNzIiwiYXJpYUxhYmVsLnVwbG9hZGluZyI6IlVwbG9hZGluZy4uLiIsImFyaWFMYWJlbC53aWRnZXRCcmFuZGluZyI6IlNtYXJ0c3VwcCBicmFuZGluZyIsImF1dGhGb3JtLmFjY2VwdFRlcm1zIjoiSSBhZ3JlZSB3aXRoIHByaXZhY3kgcG9saWN5IiwiYXV0aEZvcm0uYnV0dG9uLnNlbmQiOiJTZW5kIG1lc3NhZ2UiLCJhdXRoRm9ybS5kZXNjcmlwdGlvbiI6Ildl4oCZbGwgdXNlIHlvdXIgY29udGFjdCBpbmZvIG9ubHkgaWYgYWxsIHRoZSBhZ2VudHMgYXJlIGJ1c3kgYXQgdGhlIG1vbWVudCBhbmQgY2Fubm90IGltbWVkaWF0ZWx5IHJlcGx5LiIsImF1dGhGb3JtLmdyZWV0aW5nIjoi8J+RiyBQbGVhc2UgaW50cm9kdWNlIHlvdXJzZWxmIiwiYXV0aEZvcm0uZ3JvdXAiOiJDaG9vc2UgYSBncm91cCIsImF1dGhGb3JtLmxhYmVsLmVtYWlsIjoiRS1tYWlsIiwiYXV0aEZvcm0ubGFiZWwuZ3JvdXAiOiJHcm91cCIsImF1dGhGb3JtLmxhYmVsLm5hbWUiOiJOYW1lIiwiYXV0aEZvcm0ubGFiZWwucGhvbmUiOiJQaG9uZSIsImF1dGhGb3JtLnN1Ym1pdC5lcnJvciI6IkF1dGhlbnRpY2F0aW9uIGZhaWxlZCIsImF1dGhGb3JtLnN1Ym1pdC5zdWNjZXNzIjoiQXV0aGVudGljYXRpb24gd2FzIHN1Y2Nlc3NmdWwiLCJhdXRoRm9ybS55b3VyRW1haWwiOiJZb3VyIGVtYWlsIiwiYXV0aEZvcm0ueW91ck5hbWUiOiJZb3VyIG5hbWUiLCJhdXRoRm9ybS55b3VyUGhvbmUiOiJQaG9uZSBudW1iZXIiLCJidXR0b24uZ3JlZXRpbmciOiJDaGF0IiwiY2FyZC5saW5rc0xpbWl0UmVhY2hlZCI6IlVuYWJsZSB0byBzZW5kIG1vcmUgdGhhbiAyMCBVUkwgbGlua3MuIiwiY2FyZC5ub1ByZXZpZXdUaXRsZSI6IlByZXZpZXcgbm90IGF2YWlsYWJsZSIsImNhcmQub3BlblVybFRpdGxlIjoiUmVhZCBtb3JlIiwiY2FyZC5zZW5kaW5nSW5Qcm9ncmVzcyI6IlNlbmRpbmcgaW4gcHJvZ3Jlc3MsIHBsZWFzZSB3YWl04oCmIiwiY2hhdElucHV0LnBsYWNlaG9sZGVyIjoiVHlwZSB5b3VyIG1lc3NhZ2UgaGVyZSIsImNoYXRQcmV2aWV3Lm1lc3NhZ2UxIjoiSGksIGlzIGFueWJvZHkgaGVyZT8iLCJjaGF0UHJldmlldy5tZXNzYWdlMiI6IkhlbGxvLCB5ZXMgd2UgYXJlIGhlcmUiLCJjaGF0UHJldmlldy5tZXNzYWdlMyI6Ik9rLCB0aGFua3MiLCJjaGF0Ym90LmdvQmFjayI6IkdvIGJhY2siLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLmJ1dHRvbiI6IlllcywgZW5kIGNoYXQiLCJjbG9zZUNvbnZlcnNhdGlvbk1vZGFsLnRleHQiOiJJcyB0aGF0IHJlYWxseSBhbGw/IElmIHNvbWV0aGluZyBlbHNlIGNvbWVzIHRvIG1pbmQsIHlvdSBjYW4gYWx3YXlzIHJldHVybiB0byB0aGUgY29udmVyc2F0aW9uLiIsImNsb3NlQ29udmVyc2F0aW9uTW9kYWwudGl0bGUiOiJFbmQgY2hhdCIsImRyYWdBbmREcm9wLmRyb3BIZXJlIjoiRHJvcCB5b3VyIGZpbGUocykgaGVyZSIsImVtYWlsVHJhbnNjcmlwdC5wb3NpdGl2ZUZlZWRiYWNrIjoiVHJhbnNjcmlwdCBoYXMgYmVlbiBzZW50IiwiZW1haWxUcmFuc2NyaXB0LnNlbmRDb3B5IjoiU2VuZCBjb252ZXJzYXRpb24gY29weSIsImVycm9yLmZpbGVVcGxvYWQiOiJGaWxlIHVwbG9hZCBmYWlsdXJlIiwiZXJyb3Iubm9JbnRlcm5ldCI6IkludGVybmV0IGNvbm5lY3Rpb24gbG9zdCIsImVycm9yLnNlcnZlckVycm9yIjoiU2VydmVyIGVycm9yIG9jY3VycmVkIiwiZmlsZVVwbG9hZC5iYWRGaWxlVHlwZSI6IlRoaXMgZmlsZSB0eXBlIGlzIG5vdCBzdXBwb3J0ZWQuIiwiZmlsZVVwbG9hZC5maWxlVG9vQmlnIjoiVGhlIGZpbGUgaXMgYmlnZ2VyIHRoYW4gdGhlIGFsbG93ZWQgbGltaXQiLCJmaWxlVXBsb2FkLmZpbGVzV2VyZW50UHJvY2Vzc2VkIjoiU29tZSBmaWxlcyBjb3VsZCBub3QgYmUgcHJvY2Vzc2VkIiwiZmlsZVVwbG9hZC5pbWFnZUVycm9yIjoiVGhpcyBpbWFnZSBpcyBub3QgdmFsaWQiLCJmaWxlVXBsb2FkLnRvb01hbnlGaWxlcyI6IkxpbWl0IGZvciB1cGxvYWRpbmcgZmlsZXMgaXMgIiwiZmlsZVVwbG9hZC51cGxvYWRGaWxlIjoiVXBsb2FkIGZpbGUiLCJmb3JtLnN1Ym1pdC5lcnJvciI6IlNvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLiIsImZvcm0uc3VibWl0LnN1Y2Nlc3MiOiJTdWNjZXNzZnVsbHkgZG9uZSIsImdkcHIuZGF0YVByaXZhY3lIZWFkbGluZSI6IlBlcnNvbmFsIGRhdGEgcHJvY2Vzc2luZyIsImdkcHIuZGF0YVByaXZhY3lUZXh0IjoiU21hcnRzdXBwLmNvbSwgcy5yLm8sIHByb2Nlc3NlcyBwZXJzb25hbCBkYXRhLiwgVkFUIElEIENaMDM2Njg2ODEgKGZ1cnRoZXIgYXMgXCJTbWFydHN1cHBcIikgYXMgYSBkYXRhIHByb2Nlc3NvciB3aG8gYWN0cyBvbiBiZWhhbGYgb2YgdGhlIHdlYnNpdGUgb3duZXIgd2hvIGlzIHRoZSBkYXRhIGNvbnRyb2xsZXIuIFxuXG5TbWFydHN1cHAgaXMgR0RQUiBjb21wbGlhbnQuIFlvdSBjYW4gZmluZCBpbmZvcm1hdGlvbiBhYm91dCBTbWFydHN1cHAgcGVyc29uYWwgZGF0YSBwcml2YWN5IGFuZCBwcm9jZXNzaW5nIG9uIGhlbHAuc21hcnRzdXBwLmNvbS9lbl9VUy9wcml2YWN5LiBcblxuUHJvY2Vzc2luZyBvZiB5b3VyIHBlcnNvbmFsIGRhdGEgaXMgbmVjZXNzYXJ5IGluIG9yZGVyIHRvIHByb3ZpZGUgY3VzdG9tZXIgc2VydmljZS4gQWR2YW5jZWQgZmVhdHVyZXMgd2lsbCBvbmx5IGJlIHR1cm5lZCBvbiBpZiB5b3UgaGF2ZSBhZ3JlZWQgdG8gdGhlbS4gXG5cblBsZWFzZSBjb250YWN0IHRoZSB3ZWJzaXRlIG93bmVyIGlmIHlvdSBoYXZlIHF1ZXN0aW9ucyBhYm91dCB0aGUgcHJvY2Vzc2luZyBvZiBwZXJzb25hbCBkYXRhIG9yIGlmIHlvdSB3YW50IHRvIHJlcXVlc3Qgb3IgZXJhc2UgeW91ciBwZXJzb25hbCBkYXRhLiIsImdlbmVyYWwuYmFjayI6IkJhY2siLCJnZW5lcmFsLm5ld01lc3NhZ2VzIjoiTmV3IG1lc3NhZ2VzIiwiZ2VuZXJhbC5zZW5kIjoiU2VuZCIsIm9wdGlvbnMuYWNjZXNzaWJpbGl0eSI6IkFjY2Vzc2liaWxpdHkiLCJvcHRpb25zLmNvcHlyaWdodCI6IsKpIHt5ZWFyfSBTbWFydHN1cHAuY29tIiwib3B0aW9ucy5lbWFpbFRyYW5zY3JpcHQiOiJTZW5kIGVtYWlsIHRyYW5zY3JpcHQiLCJvcHRpb25zLmZlZWRiYWNrIjoiRGlkIHlvdSBmaW5kIGEgYnVnPyIsIm9wdGlvbnMuZ2RwciI6IkdEUFIgYW5kIHByaXZhY3kiLCJvcHRpb25zLnBkZlRyYW5zY3JpcHQiOiJEb3dubG9hZCB0cmFuc2NyaXB0Iiwib3B0aW9ucy5wbGF5U291bmRzIjoiUGxheSB0aGUgc291bmRzIiwib3B0aW9ucy50aXRsZSI6Ik9wdGlvbnMiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWdlbnQiOiJSYXRlIGNoYXQiLCJyYXRpbmcuYnV0dG9uLnJhdGUuYWkiOiJSYXRlIEFJIGNoYXRib3QiLCJyYXRpbmcuc3VibWl0LnN1Y2Nlc3MiOiJSYXRpbmcgc2VudCIsInJhdGluZy5zdWJtaXRGZWVkYmFjay5zdWNjZXNzIjoiVGhhbmsgeW91IGZvciB5b3VyIGZlZWRiYWNrIiwicmF0aW5nLndhc0l0SGVscGZ1bC5hZ2VudCI6IkhvdyB3b3VsZCB5b3UgcmF0ZSBvdXIgc3VwcG9ydD8iLCJyYXRpbmcud2FzSXRIZWxwZnVsLmFpIjoiSG93IHdvdWxkIHlvdSByYXRlIHRoZSBBSSBjaGF0Ym90IGV4cGVyaWVuY2U/Iiwic3RhdHVzQmFyLmJvdElkZW50aXR5IjoiQUkgYXNzaXN0YW50Iiwic3RhdHVzQmFyLm9mZmxpbmVUZXh0IjoiSGFwcHkgdG8gYW5zd2VyIHlvdSBsYXRlciIsInN0YXR1c0Jhci5vbmxpbmVUZXh0IjoiV2UgcmVwbHkgaW1tZWRpYXRlbHkiLCJzeXN0ZW1NZXNzYWdlLmNoYXRDbG9zZWQiOiJDaGF0IHdhcyBjbG9zZWQiLCJzeXN0ZW1NZXNzYWdlLmNoYXRSZXNvbHZlZCI6InJlc29sdmVkIGNvbnZlcnNhdGlvbiIsInRpY2tldEZvcm0ubGFiZWwubWVzc2FnZSI6IldoYXQgY2FuIHdlIGhlbHAgeW91IHdpdGg/IiwidGlja2V0Rm9ybS5tZXNzYWdlLnBsYWNlaG9sZGVyIjoiRGVzY3JpYmUgeW91ciBwcm9ibGVtIiwidGlja2V0Rm9ybS5zdWJtaXQuYnV0dG9uIjoi4pyJ77iPIENvbnRhY3QgdGhlIGFnZW50IGJ5IGVtYWlsIiwidGltZWFnby5YRGF5c0FnbyI6IiclcyBkYXlzIGFnbyIsInRpbWVhZ28uWEhvdXJzQWdvIjoiJXMgaG91cnMgYWdvIiwidGltZWFnby5YTWludXRlc0FnbyI6IiVzIG1pbnV0ZXMgYWdvIiwidGltZWFnby5YTW9udGhzQWdvIjoiJXMgbW9udGhzIGFnbyIsInRpbWVhZ28uWFNlY29uZHNBZ28iOiIlcyBzZWNvbmRzIGFnbyIsInRpbWVhZ28uWFdlZWtzQWdvIjoiJXMgd2Vla3MgYWdvIiwidGltZWFnby5YWWVhcnNBZ28iOiIlcyB5ZWFycyBhZ28iLCJ0aW1lYWdvLmp1c3ROb3ciOiJqdXN0IG5vdyIsInRpbWVhZ28ub25lRGF5QWdvIjoiMSBkYXkgYWdvIiwidGltZWFnby5vbmVIb3VyQWdvIjoiMSBob3VyIGFnbyIsInRpbWVhZ28ub25lTWludXRlQWdvIjoiMSBtaW51dGUgYWdvIiwidGltZWFnby5vbmVNb250aEFnbyI6IjEgbW9udGggYWdvIiwidGltZWFnby5vbmVXZWVrQWdvIjoiMSB3ZWVrIGFnbyIsInRpbWVhZ28ub25lWWVhckFnbyI6IjEgeWVhciBhZ28iLCJ0aW1lYWdvLnJpZ2h0Tm93IjoicmlnaHQgbm93IiwidGltZWFnby5zZWNvbmRzIjoiaW4gJXMgc2Vjb25kcyIsInRvb2x0aXAuYXR0YWNobWVudCI6IkF0dGFjaG1lbnQiLCJ0b29sdGlwLmNsb3NlIjoiQ2xvc2UiLCJ0b29sdGlwLmNvbGxhcHNlIjoiQ29sbGFwc2UgY2hhdCIsInRvb2x0aXAuZW1vamkiOiJFbW9qaSIsInRvb2x0aXAuZXhwYW5kIjoiRXhwYW5kIGNoYXQiLCJ0b29sdGlwLm1pbmltaXplIjoiTWluaW1pemUgY2hhdCIsInRvb2x0aXAubW9yZSI6IlNob3cgbW9yZSIsInRvb2x0aXAubW9yZUJ1dHRvbiI6IlNob3cgTW9yZSIsInRvb2x0aXAucmF0ZUNoYXQiOiJSYXRlIENoYXQiLCJ0b29sdGlwLnNlbmQiOiJTZW5kIiwidG9wQmFyLmVtYWlsVHJhbnNjcmlwdCI6IlNlbmQgZW1haWwgdHJhbnNjcmlwdCIsInRvcEJhci5nZHByVGl0bGUiOiJHRFBSIGFuZCBwcml2YWN5IiwidG9wQmFyLm9mZmxpbmUuaGVsbG8iOiJTZW5kIHVzIGEgbWVzc2FnZSIsInRvcEJhci5vbmxpbmUuaGVsbG8iOiJIb3cgY2FuIHdlIGhlbHA/IiwidG9wQmFyLnR1cm5PZmZTb3VuZHMiOiJUdXJuIG9mZiBzb3VuZHMiLCJ0b3BCYXIudHVybk9uU291bmRzIjoiVHVybiBvbiBzb3VuZHMiLCJ0cmlnZ2VyLm9wZW5DaGF0QnV0dG9uIjoiTGV0J3MgY2hhdCIsInRyaWdnZXIucmVwbHlCdXR0b24iOiJSZXBseSIsInZhbGlkYXRpb25zLmNoZWNrZWRUZXJtcyI6IllvdSBtdXN0IGFncmVlIHdpdGggdGhlIHRlcm1zIGFuZCBjb25kaXRpb25zIHRvIGNvbnRpbnVlIiwidmFsaWRhdGlvbnMuaXNFbWFpbCI6IlBsZWFzZSBlbnRlciB2YWxpZCBlbWFpbCIsInZhbGlkYXRpb25zLnBob25lIjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgcGhvbmUgbnVtYmVyIiwidmFsaWRhdGlvbnMucmVxdWlyZWQiOiJQbGVhc2UgZmlsbCBvdXQgdGhpcyBmaWVsZCIsIndhcm5pbmdCYXIubWF4TGVuZ3RoIjoiWW91IGhhdmUgcmVhY2hlZCB0aGUgbWF4aW11bSBhbGxvd2VkIG51bWJlciBvZiBjaGFyYWN0ZXJzICgyMDAwKSIsIndhcm5pbmdCYXIuc2FtZU1lc3NhZ2VUd2ljZSI6IkNhbm5vdCBzZW5kIHRoZSBzYW1lIG1lc3NhZ2UgdHdpY2UgaW4gYSByb3cuIiwid2FybmluZ0Jhci5zcGFtUHJvdGVjdGlvbiI6IllvdXIgbWVzc2FnZXMgaGF2ZSBiZWVuIGlkZW50aWZpZWQgYXMgc3BhbS4gUGxlYXNlIHdhaXQgZm9yIDMwIHNlY29uZHMgYmVmb3JlIHNlbmRpbmcgYW5vdGhlciBtZXNzYWdlLiIsIndhcm5pbmdCYXIudXBsb2FkRmlsZU5vdEZpcnN0IjoiRmlyc3QgbWVzc2FnZSBjYW5ub3QgYmUgYSBmaWxlIiwid2lkZ2V0UHJldmlldy5jb250YWN0TWVzc2FnZSI6IvCfjokgTG9va3MgZmFudGFzdGljISDwn5Kq8J+PuyBMZXTCtHMgcm9jayB0aG9zZSBjb252ZXJzYXRpb25zIGFuZCBsZWF2ZSBhIGxhc3RpbmcgaW1wcmVzc2lvbiEg8J+agCIsIndpZGdldFByZXZpZXcud2VsY29tZU1lc3NhZ2UiOiLwn5GL8J+PuyBXZWxjb21lISBUaGlzIGlzIGEgc25lYWsgcGVlayBvZiB5b3VyIGNoYXQgYm94LiBHZXQgcmVhZHkgdG8gc2hpbmUg4pyoIGluIGN1c3RvbWVyIGludGVyYWN0aW9ucyEiLCJtZXNzYWdlLmRlbGV0ZWQiOiJUaGlzIG1lc3NhZ2Ugd2FzIHJlbW92ZWQifQ=="}},"time_used":6751,"timings":{"blocked":0,"dns":3,"connect":8,"send":0,"wait":8,"receive":0,"ssl":6732},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://cable.coingecko.com/cable","fqdn":"cable.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:40.592Z","timestamp":1785134020592,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /cable HTTP/1.1\r\nHost: cable.coingecko.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\nSec-WebSocket-Version: 13\r\nOrigin: https://frxoptmarkt.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: eRc5CNHgBRLAjQpG2we8Pw==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T12:30:22.34111Z","times_seen":17708041,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/css/settings.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.593Z","timestamp":1785133989593,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/revolution-slider/css/settings.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6860\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":30134,"size_decoded":7090,"mime_type":"text/css","magic":"ASCII text, with very long lines (29763), with CRLF line terminators","md5":"ee2c217e63d4b0309b75d11f95862327","sha1":"a5293fd4832c14786cd1e066c4d3c61d73b849c8","sha256":"535ee5c8dd3922170e52bca19c3c377c3725310ab70c9d21755d22f6efc933bf","sha512":"97236228fd259877271e7e1b9128825e9e7eda983ab4fe9c040b3562dc9082aa6469b2edc1f113e6e1ff7245159b9923c555f6382ccba47ac07f86ed58ea3a21","ssdeep":"384:bTx/MLw4rLT4ILX8sSeUiOWC7G7C5+TU1Zz80id48f/:bdMTLTPX8sSeFOWCy7wmU1h8D283","tlshash":"d1d2da70f98975fc77a7c22562c0b7adb02ad122e6520d6ef02f72f986d3086446e658","first_seen":"2023-06-14T09:55:45Z","last_seen":"2026-07-27T10:53:52.39511Z","times_seen":24,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQotCVJldm9sdXRpb24gU2xpZGVyIDUuMCBEZWZhdWx0IFN0eWxlIFNldHRpbmdzIC0NCg0KU2NyZWVuIFN0eWxlc2hlZXQNCg0KdmVyc2lvbjogICAJNS40LjUNCmRhdGU6ICAgICAgCTE1LzA1LzE3DQphdXRob3I6CQl0aGVtZXB1bmNoDQplbWFpbDogICAgIAlpbmZvQHRoZW1lcHVuY2guY29tDQp3ZWJzaXRlOiAgIAlodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQojZGVidW5nY29udHJvbGxzLC5kZWJ1Z3RpbWVsaW5le3dpZHRoOjEwMCU7Ym94LXNpemluZzpib3JkZXItYm94fS5yZXZfY29sdW1uLC5yZXZfY29sdW1uIC50cC1wYXJhbGxheC13cmFwLC50cC1zdmctbGF5ZXIgc3Zne3ZlcnRpY2FsLWFsaWduOnRvcH0jZGVidW5nY29udHJvbGxze3otaW5kZXg6MTAwMDAwO3Bvc2l0aW9uOmZpeGVkO2JvdHRvbTowO2hlaWdodDphdXRvO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuNik7cGFkZGluZzoxMHB4fS5kZWJ1Z3RpbWVsaW5le2hlaWdodDoxMHB4O3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1ib3R0b206M3B4O2Rpc3BsYXk6bm9uZTt3aGl0ZS1zcGFjZTpub3dyYXB9LmRlYnVndGltZWxpbmU6aG92ZXJ7aGVpZ2h0OjE1cHh9LnRoZV90aW1lbGluZV90ZXN0ZXJ7YmFja2dyb3VuZDojZTc0YzNjO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtoZWlnaHQ6MTAwJTt3aWR0aDowfS5ycy1nby1mdWxsc2NyZWVue3Bvc2l0aW9uOmZpeGVkIWltcG9ydGFudDt3aWR0aDoxMDAlIWltcG9ydGFudDtoZWlnaHQ6MTAwJSFpbXBvcnRhbnQ7dG9wOjAhaW1wb3J0YW50O2xlZnQ6MCFpbXBvcnRhbnQ7ei1pbmRleDo5OTk5OTk5IWltcG9ydGFudDtiYWNrZ3JvdW5kOiNmZmYhaW1wb3J0YW50fS5kZWJ1Z3RpbWVsaW5lLnRsX3NsaWRlIC50aGVfdGltZWxpbmVfdGVzdGVye2JhY2tncm91bmQ6I2YzOWMxMn0uZGVidWd0aW1lbGluZS50bF9mcmFtZSAudGhlX3RpbWVsaW5lX3Rlc3RlcntiYWNrZ3JvdW5kOiMzNDk4ZGJ9LmRlYnVndGltbGluZV90eHR7Y29sb3I6I2ZmZjtmb250LXdlaWdodDo0MDA7Zm9udC1zaXplOjdweDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjEwcHg7dG9wOjA7d2hpdGUtc3BhY2U6bm93cmFwO2xpbmUtaGVpZ2h0OjEwcHh9LnJ0bHtkaXJlY3Rpb246cnRsfUBmb250LWZhY2V7Zm9udC1mYW1pbHk6cmV2aWNvbnM7c3JjOnVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29uczkwYzY5MGM2OTBjNi5lb3Q/NTUxMDg4OCk7c3JjOnVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29uczkwYzY5MGM2OTBjNi5lb3Q/NTUxMDg4OCNpZWZpeCkgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLHVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29uczkwYzY5MGM2OTBjNi53b2ZmPzU1MTA4ODgpIGZvcm1hdCgnd29mZicpLHVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29uczkwYzY5MGM2OTBjNi50dGY/NTUxMDg4OCkgZm9ybWF0KCd0cnVldHlwZScpLHVybCguLi9mb250cy9yZXZpY29ucy9yZXZpY29uczkwYzY5MGM2OTBjNi5zdmc/NTUxMDg4OCNyZXZpY29ucykgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWx9W2NsYXNzKj0iIHJldmljb24tIl06YmVmb3JlLFtjbGFzc149cmV2aWNvbi1dOmJlZm9yZXtmb250LWZhbWlseTpyZXZpY29ucztmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7c3BlYWs6bm9uZTtkaXNwbGF5OmlubGluZS1ibG9jazt0ZXh0LWRlY29yYXRpb246aW5oZXJpdDt3aWR0aDoxZW07bWFyZ2luLXJpZ2h0Oi4yZW07dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC12YXJpYW50Om5vcm1hbDt0ZXh0LXRyYW5zZm9ybTpub25lO2xpbmUtaGVpZ2h0OjFlbTttYXJnaW4tbGVmdDouMmVtfS5yZXZpY29uLXNlYXJjaC0xOmJlZm9yZXtjb250ZW50OidcZTgwMid9LnJldmljb24tcGVuY2lsLTE6YmVmb3Jle2NvbnRlbnQ6J1xlODMxJ30ucmV2aWNvbi1waWN0dXJlLTE6YmVmb3Jle2NvbnRlbnQ6J1xlODAzJ30ucmV2aWNvbi1jYW5jZWw6YmVmb3Jle2NvbnRlbnQ6J1xlODBhJ30ucmV2aWNvbi1pbmZvLWNpcmNsZWQ6YmVmb3Jle2NvbnRlbnQ6J1xlODBmJ30ucmV2aWNvbi10cmFzaDpiZWZvcmV7Y29udGVudDonXGU4MDEnfS5yZXZpY29uLWxlZnQtZGlyOmJlZm9yZXtjb250ZW50OidcZTgxNyd9LnJldmljb24tcmlnaHQtZGlyOmJlZm9yZXtjb250ZW50OidcZTgxOCd9LnJldmljb24tZG93bi1vcGVuOmJlZm9yZXtjb250ZW50OidcZTgzYid9LnJldmljb24tbGVmdC1vcGVuOmJlZm9yZXtjb250ZW50OidcZTgxOSd9LnJldmljb24tcmlnaHQtb3BlbjpiZWZvcmV7Y29udGVudDonXGU4MWEnfS5yZXZpY29uLWFuZ2xlLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6J1xlODIwJ30ucmV2aWNvbi1hbmdsZS1yaWdodDpiZWZvcmV7Y29udGVudDonXGU4MWQnfS5yZXZpY29uLWxlZnQtYmlnOmJlZm9yZXtjb250ZW50OidcZTgxZid9LnJldmljb24tcmlnaHQtYmlnOmJlZm9yZXtjb250ZW50OidcZTgxZSd9LnJldmljb24tbWFnaWM6YmVmb3Jle2NvbnRlbnQ6J1xlODA3J30ucmV2aWNvbi1waWN0dXJlOmJlZm9yZXtjb250ZW50OidcZTgwMCd9LnJldmljb24tZXhwb3J0OmJlZm9yZXtjb250ZW50OidcZTgwYid9LnJldmljb24tY29nOmJlZm9yZXtjb250ZW50OidcZTgzMid9LnJldmljb24tbG9naW46YmVmb3Jle2NvbnRlbnQ6J1xlODMzJ30ucmV2aWNvbi1sb2dvdXQ6YmVmb3Jle2NvbnRlbnQ6J1xlODM0J30ucmV2aWNvbi12aWRlbzpiZWZvcmV7Y29udGVudDonXGU4MDUnfS5yZXZpY29uLWFycm93LWNvbWJvOmJlZm9yZXtjb250ZW50OidcZTgyNyd9LnJldmljb24tbGVmdC1vcGVuLTE6YmVmb3Jle2NvbnRlbnQ6J1xlODJhJ30ucmV2aWNvbi1yaWdodC1vcGVuLTE6YmVmb3Jle2NvbnRlbnQ6J1xlODJiJ30ucmV2aWNvbi1sZWZ0LW9wZW4tbWluaTpiZWZvcmV7Y29udGVudDonXGU4MjInfS5yZXZpY29uLXJpZ2h0LW9wZW4tbWluaTpiZWZvcmV7Y29udGVudDonXGU4MjMnfS5yZXZpY29uLWxlZnQtb3Blbi1iaWc6YmVmb3Jle2NvbnRlbnQ6J1xlODI0J30ucmV2aWNvbi1yaWdodC1vcGVuLWJpZzpiZWZvcmV7Y29udGVudDonXGU4MjUnfS5yZXZpY29uLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6J1xlODM2J30ucmV2aWNvbi1yaWdodDpiZWZvcmV7Y29udGVudDonXGU4MjYnfS5yZXZpY29uLWNjdzpiZWZvcmV7Y29udGVudDonXGU4MDgnfS5yZXZpY29uLWFycm93cy1jY3c6YmVmb3Jle2NvbnRlbnQ6J1xlODA2J30ucmV2aWNvbi1wYWxldHRlOmJlZm9yZXtjb250ZW50OidcZTgyOSd9LnJldmljb24tbGlzdC1hZGQ6YmVmb3Jle2NvbnRlbnQ6J1xlODBjJ30ucmV2aWNvbi1kb2M6YmVmb3Jle2NvbnRlbnQ6J1xlODA5J30ucmV2aWNvbi1sZWZ0LW9wZW4tb3V0bGluZTpiZWZvcmV7Y29udGVudDonXGU4MmUnfS5yZXZpY29uLWxlZnQtb3Blbi0yOmJlZm9yZXtjb250ZW50OidcZTgyYyd9LnJldmljb24tcmlnaHQtb3Blbi1vdXRsaW5lOmJlZm9yZXtjb250ZW50OidcZTgyZid9LnJldmljb24tcmlnaHQtb3Blbi0yOmJlZm9yZXtjb250ZW50OidcZTgyZCd9LnJldmljb24tZXF1YWxpemVyOmJlZm9yZXtjb250ZW50OidcZTgzYSd9LnJldmljb24tbGF5ZXJzLWFsdDpiZWZvcmV7Y29udGVudDonXGU4MDQnfS5yZXZpY29uLXBvcHVwOmJlZm9yZXtjb250ZW50OidcZTgyOCd9LnJldl9zbGlkZXJfd3JhcHBlcntwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjA7d2lkdGg6MTAwJX0ucmV2X3NsaWRlcntwb3NpdGlvbjpyZWxhdGl2ZTtvdmVyZmxvdzp2aXNpYmxlfS5lbnRyeS1jb250ZW50IC5yZXZfc2xpZGVyIGEsLnJldl9zbGlkZXIgYXtib3gtc2hhZG93Om5vbmV9LnRwLW92ZXJmbG93LWhpZGRlbntvdmVyZmxvdzpoaWRkZW4haW1wb3J0YW50fS5ncm91cF9vdl9oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5yZXZfc2xpZGVyIGltZywudHAtc2ltcGxlcmVzcG9uc2l2ZSBpbWd7bWF4LXdpZHRoOm5vbmUhaW1wb3J0YW50O3RyYW5zaXRpb246bm9uZTttYXJnaW46MDtwYWRkaW5nOjA7Ym9yZGVyOm5vbmV9LnJldl9zbGlkZXIgLm5vLXNsaWRlcy10ZXh0e2ZvbnQtd2VpZ2h0OjcwMDt0ZXh0LWFsaWduOmNlbnRlcjtwYWRkaW5nLXRvcDo4MHB4fS5yZXZfc2xpZGVyPnVsLC5yZXZfc2xpZGVyPnVsPmxpLC5yZXZfc2xpZGVyPnVsPmxpOmJlZm9yZSwucmV2X3NsaWRlcl93cmFwcGVyPnVsLC50cC1yZXZzbGlkZXItbWFpbnVsPmxpLC50cC1yZXZzbGlkZXItbWFpbnVsPmxpOmJlZm9yZSwudHAtc2ltcGxlcmVzcG9uc2l2ZT51bCwudHAtc2ltcGxlcmVzcG9uc2l2ZT51bD5saSwudHAtc2ltcGxlcmVzcG9uc2l2ZT51bD5saTpiZWZvcmV7bGlzdC1zdHlsZTpub25lIWltcG9ydGFudDtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW46MCFpbXBvcnRhbnQ7cGFkZGluZzowIWltcG9ydGFudDtvdmVyZmxvdy14OnZpc2libGU7b3ZlcmZsb3cteTp2aXNpYmxlO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMDt0ZXh0LWluZGVudDowO3RvcDowO2xlZnQ6MH0ucmV2X3NsaWRlcj51bD5saSwucmV2X3NsaWRlcj51bD5saTpiZWZvcmUsLnRwLXJldnNsaWRlci1tYWludWw+bGksLnRwLXJldnNsaWRlci1tYWludWw+bGk6YmVmb3JlLC50cC1zaW1wbGVyZXNwb25zaXZlPnVsPmxpLC50cC1zaW1wbGVyZXNwb25zaXZlPnVsPmxpOmJlZm9yZXt2aXNpYmlsaXR5OmhpZGRlbn0udHAtcmV2c2xpZGVyLW1haW51bCwudHAtcmV2c2xpZGVyLXNsaWRlc2xpe3BhZGRpbmc6MCFpbXBvcnRhbnQ7bWFyZ2luOjAhaW1wb3J0YW50O2xpc3Qtc3R5bGU6bm9uZSFpbXBvcnRhbnR9LmZ1bGxzY3JlZW4tY29udGFpbmVyLC5mdWxsd2lkdGhiYW5uZXItY29udGFpbmVye3BhZGRpbmc6MDtwb3NpdGlvbjpyZWxhdGl2ZX0ucmV2X3NsaWRlciBsaS50cC1yZXZzbGlkZXItc2xpZGVzbGl7cG9zaXRpb246YWJzb2x1dGUhaW1wb3J0YW50fS50cC1jYXB0aW9uIC5ycy11bnRvZ2dsZWQtY29udGVudHtkaXNwbGF5OmJsb2NrfS50cC1jYXB0aW9uIC5ycy10b2dnbGVkLWNvbnRlbnR7ZGlzcGxheTpub25lfS5ycy10b2dnbGUtY29udGVudC1hY3RpdmUudHAtY2FwdGlvbiAucnMtdG9nZ2xlZC1jb250ZW50e2Rpc3BsYXk6YmxvY2t9LnJzLXRvZ2dsZS1jb250ZW50LWFjdGl2ZS50cC1jYXB0aW9uIC5ycy11bnRvZ2dsZWQtY29udGVudHtkaXNwbGF5Om5vbmV9LnJldl9zbGlkZXIgLmNhcHRpb24sLnJldl9zbGlkZXIgLnRwLWNhcHRpb257cG9zaXRpb246cmVsYXRpdmU7dmlzaWJpbGl0eTpoaWRkZW47d2hpdGUtc3BhY2U6bm93cmFwO2Rpc3BsYXk6YmxvY2s7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZCFpbXBvcnRhbnQ7ei1pbmRleDoxfS5yZXZfc2xpZGVyIC5jYXB0aW9uLC5yZXZfc2xpZGVyIC50cC1jYXB0aW9uLC50cC1zaW1wbGVyZXNwb25zaXZlIGltZ3stbW96LXVzZXItc2VsZWN0Om5vbmU7LWtodG1sLXVzZXItc2VsZWN0Om5vbmU7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1vLXVzZXItc2VsZWN0Om5vbmV9LnJldl9zbGlkZXIgLnRwLW1hc2std3JhcCAudHAtY2FwdGlvbiwucmV2X3NsaWRlciAudHAtbWFzay13cmFwIDpsYXN0LWNoaWxkLC53cGJfdGV4dF9jb2x1bW4gLnJldl9zbGlkZXIgLnRwLW1hc2std3JhcCAudHAtY2FwdGlvbiwud3BiX3RleHRfY29sdW1uIC5yZXZfc2xpZGVyIC50cC1tYXNrLXdyYXAgOmxhc3QtY2hpbGR7bWFyZ2luLWJvdHRvbTowfS50cC1zdmctbGF5ZXIgc3Zne3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7cG9zaXRpb246cmVsYXRpdmV9LnRwLWNhcm91c2VsLXdyYXBwZXJ7Y3Vyc29yOnVybChvcGVuaGFuZC5odG1sKSxtb3ZlfS50cC1jYXJvdXNlbC13cmFwcGVyLmRyYWdnZWR7Y3Vyc29yOnVybChjbG9zZWRoYW5kLmh0bWwpLG1vdmV9LnRwX2lubmVyX3BhZGRpbmd7Ym94LXNpemluZzpib3JkZXItYm94O21heC1oZWlnaHQ6bm9uZSFpbXBvcnRhbnR9LnRwLWNhcHRpb24udHAtbGF5ZXItc2VsZWN0YWJsZXstbW96LXVzZXItc2VsZWN0OmFsbDsta2h0bWwtdXNlci1zZWxlY3Q6YWxsOy13ZWJraXQtdXNlci1zZWxlY3Q6YWxsOy1vLXVzZXItc2VsZWN0OmFsbH0udHAtY2FwdGlvbi50cC1oaWRkZW4tY2FwdGlvbiwudHAtZm9yY2Vub3R2aXNpYmxlLC50cC1oaWRlLXJldnNsaWRlciwudHAtcGFyYWxsYXgtd3JhcC50cC1oaWRkZW4tY2FwdGlvbnt2aXNpYmlsaXR5OmhpZGRlbiFpbXBvcnRhbnQ7ZGlzcGxheTpub25lIWltcG9ydGFudH0ucmV2X3NsaWRlciBhdWRpbywucmV2X3NsaWRlciBlbWJlZCwucmV2X3NsaWRlciBpZnJhbWUsLnJldl9zbGlkZXIgb2JqZWN0LC5yZXZfc2xpZGVyIHZpZGVve21heC13aWR0aDpub25lIWltcG9ydGFudH0udHAtZWxlbWVudC1iYWNrZ3JvdW5ke3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3otaW5kZXg6MH0udHAtYmxvY2ttYXNrLC50cC1ibG9ja21hc2tfaW4sLnRwLWJsb2NrbWFza19vdXR7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7YmFja2dyb3VuZDojZmZmO3otaW5kZXg6MTAwMDt0cmFuc2Zvcm06c2NhbGVYKDApIHNjYWxlWSgwKX0udHAtcGFyYWxsYXgtd3JhcHt0cmFuc2Zvcm0tc3R5bGU6cHJlc2VydmUtM2R9LnJldl9yb3dfem9uZXtwb3NpdGlvbjphYnNvbHV0ZTt3aWR0aDoxMDAlO2xlZnQ6MDtib3gtc2l6aW5nOmJvcmRlci1ib3g7bWluLWhlaWdodDo1MHB4O2ZvbnQtc2l6ZTowfS5yZXZfY29sdW1uX2lubmVyLC5yZXZfc2xpZGVyIC50cC1jYXB0aW9uLnJldl9yb3d7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6MTAwJSFpbXBvcnRhbnQ7Ym94LXNpemluZzpib3JkZXItYm94fS5yZXZfcm93X3pvbmVfdG9we3RvcDowfS5yZXZfcm93X3pvbmVfbWlkZGxle3RvcDo1MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSl9LnJldl9yb3dfem9uZV9ib3R0b217Ym90dG9tOjB9LnJldl9zbGlkZXIgLnRwLWNhcHRpb24ucmV2X3Jvd3tkaXNwbGF5OnRhYmxlO3RhYmxlLWxheW91dDpmaXhlZDt2ZXJ0aWNhbC1hbGlnbjp0b3A7aGVpZ2h0OmF1dG8haW1wb3J0YW50O2ZvbnQtc2l6ZTowfS5yZXZfY29sdW1ue2Rpc3BsYXk6dGFibGUtY2VsbDtwb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6YXV0bztib3gtc2l6aW5nOmJvcmRlci1ib3g7Zm9udC1zaXplOjB9LnJldl9jb2x1bW5faW5uZXJ7ZGlzcGxheTpibG9jaztoZWlnaHQ6YXV0byFpbXBvcnRhbnQ7d2hpdGUtc3BhY2U6bm9ybWFsIWltcG9ydGFudH0ucmV2X2NvbHVtbl9iZ3t3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjA7Ym94LXNpemluZzpib3JkZXItYm94O2JhY2tncm91bmQtY2xpcDpjb250ZW50LWJveDtib3JkZXI6MCBzb2xpZCB0cmFuc3BhcmVudH0udHAtY2FwdGlvbiAuYmFja2Nvcm5lciwudHAtY2FwdGlvbiAuYmFja2Nvcm5lcnRvcCwudHAtY2FwdGlvbiAuZnJvbnRjb3JuZXIsLnRwLWNhcHRpb24gLmZyb250Y29ybmVydG9we2hlaWdodDowO3RvcDowO3dpZHRoOjA7cG9zaXRpb246YWJzb2x1dGV9LnJldl9jb2x1bW5faW5uZXIgLnRwLWxvb3Atd3JhcCwucmV2X2NvbHVtbl9pbm5lciAudHAtbWFzay13cmFwLC5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwe3RleHQtYWxpZ246aW5oZXJpdH0ucmV2X2NvbHVtbl9pbm5lciAudHAtbWFzay13cmFwe2Rpc3BsYXk6aW5saW5lLWJsb2NrfS5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwLC5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwIC50cC1sb29wLXdyYXAsLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgLnRwLW1hc2std3JhcHtwb3NpdGlvbjpyZWxhdGl2ZSFpbXBvcnRhbnQ7bGVmdDphdXRvIWltcG9ydGFudDt0b3A6YXV0byFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6MH0udHAtdmlkZW8tcGxheS1idXR0b24sLnRwLXZpZGVvLXBsYXktYnV0dG9uIGl7bGluZS1oZWlnaHQ6NTBweCFpbXBvcnRhbnQ7dmVydGljYWwtYWxpZ246dG9wO3RleHQtYWxpZ246Y2VudGVyfS5yZXZfY29sdW1uX2lubmVyIC5yZXZfbGF5ZXJfaW5fY29sdW1uLC5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwLC5yZXZfY29sdW1uX2lubmVyIC50cC1wYXJhbGxheC13cmFwIC50cC1sb29wLXdyYXAsLnJldl9jb2x1bW5faW5uZXIgLnRwLXBhcmFsbGF4LXdyYXAgLnRwLW1hc2std3JhcHt2ZXJ0aWNhbC1hbGlnbjp0b3B9LnJldl9icmVha19jb2x1bW5ze2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5yZXZfYnJlYWtfY29sdW1ucyAudHAtcGFyYWxsYXgtd3JhcC5yZXZfY29sdW1ue2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O3dpZHRoOjEwMCUhaW1wb3J0YW50fS5mdWxsd2lkdGhiYW5uZXItY29udGFpbmVye292ZXJmbG93OmhpZGRlbn0uZnVsbHdpZHRoYmFubmVyLWNvbnRhaW5lciAuZnVsbHdpZHRoYWJhbm5lcnt3aWR0aDoxMDAlO3Bvc2l0aW9uOnJlbGF0aXZlfS50cC1zdGF0aWMtbGF5ZXJze3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTAxO3RvcDowO2xlZnQ6MH0udHAtY2FwdGlvbiAuZnJvbnRjb3JuZXJ7Ym9yZGVyLWxlZnQ6NDBweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6MCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItdG9wOjQwcHggc29saWQgIzAwQThGRjtsZWZ0Oi00MHB4fS50cC1jYXB0aW9uIC5iYWNrY29ybmVye2JvcmRlci1sZWZ0OjAgc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjQwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLWJvdHRvbTo0MHB4IHNvbGlkICMwMEE4RkY7cmlnaHQ6MH0udHAtY2FwdGlvbiAuZnJvbnRjb3JuZXJ0b3B7Ym9yZGVyLWxlZnQ6NDBweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmlnaHQ6MCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjQwcHggc29saWQgIzAwQThGRjtsZWZ0Oi00MHB4fS50cC1jYXB0aW9uIC5iYWNrY29ybmVydG9we2JvcmRlci1sZWZ0OjAgc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJpZ2h0OjQwcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXRvcDo0MHB4IHNvbGlkICMwMEE4RkY7cmlnaHQ6MH0udHAtbGF5ZXItaW5uZXItcm90YXRpb257cG9zaXRpb246cmVsYXRpdmUhaW1wb3J0YW50fWltZy50cC1zbGlkZXItYWx0ZXJuYXRpdmUtaW1hZ2V7d2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30uY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8sLnJzLWJhY2tncm91bmQtdmlkZW8tbGF5ZXIsLnRwLWNhcHRpb24uY292ZXJzY3JlZW52aWRlbywudHAtY2FwdGlvbi5mdWxsc2NyZWVudmlkZW97d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt0b3A6MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGV9Lm5vRmlsdGVyQ2xhc3N7ZmlsdGVyOm5vbmUhaW1wb3J0YW50fS5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVye3Zpc2liaWxpdHk6aGlkZGVuO3otaW5kZXg6MH0uY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8gYXVkaW8sLmNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSwuY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8gdmlkZW8sLnRwLWNhcHRpb24uZnVsbHNjcmVlbnZpZGVvIGlmcmFtZSwudHAtY2FwdGlvbi5mdWxsc2NyZWVudmlkZW8gaWZyYW1lIGF1ZGlvLC50cC1jYXB0aW9uLmZ1bGxzY3JlZW52aWRlbyBpZnJhbWUgdmlkZW97d2lkdGg6MTAwJSFpbXBvcnRhbnQ7aGVpZ2h0OjEwMCUhaW1wb3J0YW50O2Rpc3BsYXk6bm9uZX0uZnVsbGNvdmVyZWR2aWRlbyBhdWRpbywuZnVsbHNjcmVlbnZpZGVvIGF1ZGlvIC5mdWxsY292ZXJlZHZpZGVvIHZpZGVvLC5mdWxsc2NyZWVudmlkZW8gdmlkZW97YmFja2dyb3VuZDojMDAwfS5mdWxsY292ZXJlZHZpZGVvIC50cC1wb3N0ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO3RvcDowO2xlZnQ6MH0udmlkZW9pc3BsYXlpbmcgLmh0bWw1dmlkIC50cC1wb3N0ZXJ7ZGlzcGxheTpub25lfS50cC12aWRlby1wbGF5LWJ1dHRvbntiYWNrZ3JvdW5kOiMwMDA7YmFja2dyb3VuZDpyZ2JhKDAsMCwwLC4zKTtib3JkZXItcmFkaXVzOjVweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlO2NvbG9yOiNGRkY7bWFyZ2luLXRvcDotMjVweDttYXJnaW4tbGVmdDotMjVweDtjdXJzb3I6cG9pbnRlcjt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtkaXNwbGF5OmlubGluZS1ibG9jazt6LWluZGV4OjQ7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1vdXQhaW1wb3J0YW50fS50cC1hdWRpby1odG1sNSAudHAtdmlkZW8tcGxheS1idXR0b24sLnRwLWhpZGRlbmF1ZGlve2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnRwLWNhcHRpb24gLmh0bWw1dmlke3dpZHRoOjEwMCUhaW1wb3J0YW50O2hlaWdodDoxMDAlIWltcG9ydGFudH0udHAtdmlkZW8tcGxheS1idXR0b24gaXt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTo0MHB4IWltcG9ydGFudH0ucnMtZnVsbHZpZGVvLWNvdmVyLC50cC1kb3R0ZWRvdmVybGF5LC50cC1zaGFkb3djb3ZlcntoZWlnaHQ6MTAwJTt0b3A6MDtsZWZ0OjA7cG9zaXRpb246YWJzb2x1dGV9LnRwLWNhcHRpb246aG92ZXIgLnRwLXZpZGVvLXBsYXktYnV0dG9ue29wYWNpdHk6MTtkaXNwbGF5OmJsb2NrfS50cC1jYXB0aW9uIC50cC1yZXZzdG9we2Rpc3BsYXk6bm9uZTtib3JkZXItbGVmdDo1cHggc29saWQgI2ZmZiFpbXBvcnRhbnQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCAjZmZmIWltcG9ydGFudDttYXJnaW4tdG9wOjE1cHghaW1wb3J0YW50O2xpbmUtaGVpZ2h0OjIwcHghaW1wb3J0YW50O3ZlcnRpY2FsLWFsaWduOnRvcDtmb250LXNpemU6MjVweCFpbXBvcnRhbnR9LnRwLXNlZWstYmFyLC50cC12aWRlby1idXR0b24sLnRwLXZvbHVtZS1iYXJ7b3V0bGluZTowO2xpbmUtaGVpZ2h0OjEycHg7bWFyZ2luOjA7Y3Vyc29yOnBvaW50ZXJ9LnZpZGVvaXNwbGF5aW5nIC5yZXZpY29uLXJpZ2h0LWRpcntkaXNwbGF5Om5vbmV9LnZpZGVvaXNwbGF5aW5nIC50cC1yZXZzdG9we2Rpc3BsYXk6aW5saW5lLWJsb2NrfS52aWRlb2lzcGxheWluZyAudHAtdmlkZW8tcGxheS1idXR0b257ZGlzcGxheTpub25lfS5mdWxsY292ZXJlZHZpZGVvIC50cC12aWRlby1wbGF5LWJ1dHRvbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5mdWxsc2NyZWVudmlkZW8gLmZ1bGxzY3JlZW52aWRlbyBhdWRpbywuZnVsbHNjcmVlbnZpZGVvIC5mdWxsc2NyZWVudmlkZW8gdmlkZW97b2JqZWN0LWZpdDpjb250YWluIWltcG9ydGFudH0uZnVsbHNjcmVlbnZpZGVvIC5mdWxsY292ZXJlZHZpZGVvIGF1ZGlvLC5mdWxsc2NyZWVudmlkZW8gLmZ1bGxjb3ZlcmVkdmlkZW8gdmlkZW97b2JqZWN0LWZpdDpjb3ZlciFpbXBvcnRhbnR9LnRwLXZpZGVvLWNvbnRyb2xze3Bvc2l0aW9uOmFic29sdXRlO2JvdHRvbTowO2xlZnQ6MDtyaWdodDowO3BhZGRpbmc6NXB4O29wYWNpdHk6MDt0cmFuc2l0aW9uOm9wYWNpdHkgLjNzO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwjMDAwIDEzJSwjMzIzMjMyIDEwMCUpO2Rpc3BsYXk6dGFibGU7bWF4LXdpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVuO2JveC1zaXppbmc6Ym9yZGVyLWJveH0ucmV2LWJ0bi5yZXYtaGlkZGVuaWNvbiBpLC5yZXYtYnRuLnJldi13aXRoaWNvbiBpe3RyYW5zaXRpb246YWxsIC4ycyBlYXNlLW91dCFpbXBvcnRhbnQ7Zm9udC1zaXplOjE1cHh9LnRwLWNhcHRpb246aG92ZXIgLnRwLXZpZGVvLWNvbnRyb2xze29wYWNpdHk6Ljl9LnRwLXZpZGVvLWJ1dHRvbntiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO2JvcmRlcjowO2JvcmRlci1yYWRpdXM6M3B4O2ZvbnQtc2l6ZToxMnB4O2NvbG9yOiNmZmY7cGFkZGluZzowfS50cC12aWRlby1idXR0b246aG92ZXJ7Y3Vyc29yOnBvaW50ZXJ9LnRwLXZpZGVvLWJ1dHRvbi13cmFwLC50cC12aWRlby1zZWVrLWJhci13cmFwLC50cC12aWRlby12b2wtYmFyLXdyYXB7cGFkZGluZzowIDVweDtkaXNwbGF5OnRhYmxlLWNlbGw7dmVydGljYWwtYWxpZ246bWlkZGxlfS50cC12aWRlby1zZWVrLWJhci13cmFwe3dpZHRoOjgwJX0udHAtdmlkZW8tdm9sLWJhci13cmFwe3dpZHRoOjIwJX0udHAtc2Vlay1iYXIsLnRwLXZvbHVtZS1iYXJ7d2lkdGg6MTAwJTtwYWRkaW5nOjB9LnJzLWZ1bGx2aWRlby1jb3Zlcnt3aWR0aDoxMDAlO2JhY2tncm91bmQ6MCAwO3otaW5kZXg6NX0uZGlzYWJsZWRfbGMgLnRwLXZpZGVvLXBsYXktYnV0dG9uLC5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIGF1ZGlvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLC5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLC5ycy1iYWNrZ3JvdW5kLXZpZGVvLWxheWVyIHZpZGVvOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXN0YXJ0LXBsYXliYWNrLWJ1dHRvbntkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS50cC1hdWRpby1odG1sNSAudHAtdmlkZW8tY29udHJvbHN7b3BhY2l0eToxIWltcG9ydGFudDt2aXNpYmlsaXR5OnZpc2libGUhaW1wb3J0YW50fS50cC1kb3R0ZWRvdmVybGF5e2JhY2tncm91bmQtcmVwZWF0OnJlcGVhdDt3aWR0aDoxMDAlO3otaW5kZXg6M30udHAtZG90dGVkb3ZlcmxheS50d294dHdve2JhY2tncm91bmQ6dXJsKC4uL2Fzc2V0cy9ncmlkdGlsZS5wbmcpfS50cC1kb3R0ZWRvdmVybGF5LnR3b3h0d293aGl0ZXtiYWNrZ3JvdW5kOnVybCguLi9hc3NldHMvZ3JpZHRpbGVfd2hpdGUucG5nKX0udHAtZG90dGVkb3ZlcmxheS50aHJlZXh0aHJlZXtiYWNrZ3JvdW5kOnVybCguLi9hc3NldHMvZ3JpZHRpbGVfM3gzLnBuZyl9LnRwLWRvdHRlZG92ZXJsYXkudGhyZWV4dGhyZWV3aGl0ZXtiYWNrZ3JvdW5kOnVybCguLi9hc3NldHMvZ3JpZHRpbGVfM3gzX3doaXRlLnBuZyl9LnRwLXNoYWRvd2NvdmVye3dpZHRoOjEwMCU7YmFja2dyb3VuZDojZmZmO3otaW5kZXg6LTF9LnRwLXNoYWRvdzF7Ym94LXNoYWRvdzowIDEwcHggNnB4IC02cHggcmdiYSgwLDAsMCwuOCl9LnRwLXNoYWRvdzI6YWZ0ZXIsLnRwLXNoYWRvdzI6YmVmb3JlLC50cC1zaGFkb3czOmJlZm9yZSwudHAtc2hhZG93NDphZnRlcnt6LWluZGV4Oi0yO3Bvc2l0aW9uOmFic29sdXRlO2NvbnRlbnQ6IiI7Ym90dG9tOjEwcHg7bGVmdDoxMHB4O3dpZHRoOjUwJTt0b3A6ODUlO21heC13aWR0aDozMDBweDtiYWNrZ3JvdW5kOjAgMDtib3gtc2hhZG93OjAgMTVweCAxMHB4IHJnYmEoMCwwLDAsLjgpO3RyYW5zZm9ybTpyb3RhdGUoLTNkZWcpfS50cC1zaGFkb3cyOmFmdGVyLC50cC1zaGFkb3c0OmFmdGVye3RyYW5zZm9ybTpyb3RhdGUoM2RlZyk7cmlnaHQ6MTBweDtsZWZ0OmF1dG99LnRwLXNoYWRvdzV7cG9zaXRpb246cmVsYXRpdmU7Ym94LXNoYWRvdzowIDFweCA0cHggcmdiYSgwLDAsMCwuMyksMCAwIDQwcHggcmdiYSgwLDAsMCwuMSkgaW5zZXR9LnRwLXNoYWRvdzU6YWZ0ZXIsLnRwLXNoYWRvdzU6YmVmb3Jle2NvbnRlbnQ6IiI7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDotMjtib3gtc2hhZG93OjAgMCAyNXB4IDAgcmdiYSgwLDAsMCwuNik7dG9wOjMwJTtib3R0b206MDtsZWZ0OjIwcHg7cmlnaHQ6MjBweDtib3JkZXItcmFkaXVzOjEwMHB4LzIwcHh9LnRwLWJ1dHRvbntwYWRkaW5nOjZweCAxM3B4IDVweDtib3JkZXItcmFkaXVzOjNweDtoZWlnaHQ6MzBweDtjdXJzb3I6cG9pbnRlcjtjb2xvcjojZmZmIWltcG9ydGFudDt0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuNikhaW1wb3J0YW50O2ZvbnQtc2l6ZToxNXB4O2xpbmUtaGVpZ2h0OjQ1cHghaW1wb3J0YW50O2ZvbnQtZmFtaWx5OmFyaWFsLHNhbnMtc2VyaWY7Zm9udC13ZWlnaHQ6NzAwO2xldHRlci1zcGFjaW5nOi0xcHg7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnRwLWJ1dHRvbi5iaWd7Y29sb3I6I2ZmZjt0ZXh0LXNoYWRvdzowIDFweCAxcHggcmdiYSgwLDAsMCwuNik7Zm9udC13ZWlnaHQ6NzAwO3BhZGRpbmc6OXB4IDIwcHg7Zm9udC1zaXplOjE5cHg7bGluZS1oZWlnaHQ6NTdweCFpbXBvcnRhbnR9LnB1cmNoYXNlOmhvdmVyLC50cC1idXR0b24uYmlnOmhvdmVyLC50cC1idXR0b246aG92ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpib3R0b20sMTVweCAxMXB4fS5wdXJjaGFzZS5ncmVlbiwucHVyY2hhc2U6aG92ZXIuZ3JlZW4sLnRwLWJ1dHRvbi5ncmVlbiwudHAtYnV0dG9uOmhvdmVyLmdyZWVue2JhY2tncm91bmQtY29sb3I6IzIxYTExNztib3gtc2hhZG93OjAgM3B4IDAgMCAjMTA0ZDBifS5wdXJjaGFzZS5ibHVlLC5wdXJjaGFzZTpob3Zlci5ibHVlLC50cC1idXR0b24uYmx1ZSwudHAtYnV0dG9uOmhvdmVyLmJsdWV7YmFja2dyb3VuZC1jb2xvcjojMWQ3OGNiO2JveC1zaGFkb3c6MCAzcHggMCAwICMwZjNlNjh9LnB1cmNoYXNlLnJlZCwucHVyY2hhc2U6aG92ZXIucmVkLC50cC1idXR0b24ucmVkLC50cC1idXR0b246aG92ZXIucmVke2JhY2tncm91bmQtY29sb3I6I2NiMWQxZDtib3gtc2hhZG93OjAgM3B4IDAgMCAjN2MxMjEyfS5wdXJjaGFzZS5vcmFuZ2UsLnB1cmNoYXNlOmhvdmVyLm9yYW5nZSwudHAtYnV0dG9uLm9yYW5nZSwudHAtYnV0dG9uOmhvdmVyLm9yYW5nZXtiYWNrZ3JvdW5kLWNvbG9yOiNmNzA7Ym94LXNoYWRvdzowIDNweCAwIDAgI2EzNGMwMH0ucHVyY2hhc2UuZGFya2dyZXksLnB1cmNoYXNlOmhvdmVyLmRhcmtncmV5LC50cC1idXR0b24uZGFya2dyZXksLnRwLWJ1dHRvbi5ncmV5LC50cC1idXR0b246aG92ZXIuZGFya2dyZXksLnRwLWJ1dHRvbjpob3Zlci5ncmV5e2JhY2tncm91bmQtY29sb3I6IzU1NTtib3gtc2hhZG93OjAgM3B4IDAgMCAjMjIyfS5wdXJjaGFzZS5saWdodGdyZXksLnB1cmNoYXNlOmhvdmVyLmxpZ2h0Z3JleSwudHAtYnV0dG9uLmxpZ2h0Z3JleSwudHAtYnV0dG9uOmhvdmVyLmxpZ2h0Z3JleXtiYWNrZ3JvdW5kLWNvbG9yOiM4ODg7Ym94LXNoYWRvdzowIDNweCAwIDAgIzU1NX0ucmV2LWJ0biwucmV2LWJ0bjp2aXNpdGVke291dGxpbmU6MCFpbXBvcnRhbnQ7Ym94LXNoYWRvdzpub25lIWltcG9ydGFudDt0ZXh0LWRlY29yYXRpb246bm9uZSFpbXBvcnRhbnQ7bGluZS1oZWlnaHQ6NDRweDtmb250LXNpemU6MTdweDtmb250LXdlaWdodDo1MDA7cGFkZGluZzoxMnB4IDM1cHg7Ym94LXNpemluZzpib3JkZXItYm94O2ZvbnQtZmFtaWx5OlJvYm90byxzYW5zLXNlcmlmO2N1cnNvcjpwb2ludGVyfS5yZXYtYnRuLnJldi11cHBlcmNhc2UsLnJldi1idG4ucmV2LXVwcGVyY2FzZTp2aXNpdGVke3RleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtsZXR0ZXItc3BhY2luZzoxcHg7Zm9udC1zaXplOjE1cHg7Zm9udC13ZWlnaHQ6OTAwfS5yZXYtYnRuLnJldi13aXRoaWNvbiBpe2ZvbnQtd2VpZ2h0OjQwMDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MDttYXJnaW4tbGVmdDoxMHB4IWltcG9ydGFudH0ucmV2LWJ0bi5yZXYtaGlkZGVuaWNvbiBpe2ZvbnQtd2VpZ2h0OjQwMDtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MDtvcGFjaXR5OjA7bWFyZ2luLWxlZnQ6MCFpbXBvcnRhbnQ7d2lkdGg6MCFpbXBvcnRhbnR9LnJldi1idG4ucmV2LWhpZGRlbmljb246aG92ZXIgaXtvcGFjaXR5OjEhaW1wb3J0YW50O21hcmdpbi1sZWZ0OjEwcHghaW1wb3J0YW50O3dpZHRoOmF1dG8haW1wb3J0YW50fS5yZXYtYnRuLnJldi1tZWRpdW0sLnJldi1idG4ucmV2LW1lZGl1bTp2aXNpdGVke2xpbmUtaGVpZ2h0OjM2cHg7Zm9udC1zaXplOjE0cHg7cGFkZGluZzoxMHB4IDMwcHh9LnJldi1idG4ucmV2LW1lZGl1bS5yZXYtaGlkZGVuaWNvbiBpLC5yZXYtYnRuLnJldi1tZWRpdW0ucmV2LXdpdGhpY29uIGl7Zm9udC1zaXplOjE0cHg7dG9wOjB9LnJldi1idG4ucmV2LXNtYWxsLC5yZXYtYnRuLnJldi1zbWFsbDp2aXNpdGVke2xpbmUtaGVpZ2h0OjI4cHg7Zm9udC1zaXplOjEycHg7cGFkZGluZzo3cHggMjBweH0ucmV2LWJ0bi5yZXYtc21hbGwucmV2LWhpZGRlbmljb24gaSwucmV2LWJ0bi5yZXYtc21hbGwucmV2LXdpdGhpY29uIGl7Zm9udC1zaXplOjEycHg7dG9wOjB9LnJldi1tYXhyb3VuZHtib3JkZXItcmFkaXVzOjMwcHh9LnJldi1taW5yb3VuZHtib3JkZXItcmFkaXVzOjNweH0ucmV2LWJ1cmdlcntwb3NpdGlvbjpyZWxhdGl2ZTt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtwYWRkaW5nOjIycHggMCAwIDE0cHg7Ym9yZGVyLXJhZGl1czo1MCU7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDUxLDUxLDUxLC4yNSk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnRyYW5zcGFyZW50O2N1cnNvcjpwb2ludGVyfS5yZXYtYnVyZ2VyIHNwYW57ZGlzcGxheTpibG9jazt3aWR0aDozMHB4O2hlaWdodDozcHg7YmFja2dyb3VuZDojMzMzO3RyYW5zaXRpb246LjdzO3BvaW50ZXItZXZlbnRzOm5vbmU7dHJhbnNmb3JtLXN0eWxlOmZsYXQhaW1wb3J0YW50fS5yZXYtYnVyZ2VyLnJldmItd2hpdGUgc3BhbiwucmV2LWJ1cmdlci5yZXZiLXdoaXRlbm9ib3JkZXIgc3BhbntiYWNrZ3JvdW5kOiNmZmZ9LnJldi1idXJnZXIgc3BhbjpudGgtY2hpbGQoMil7bWFyZ2luOjNweCAwfSNkaWFsb2dfYWRkYnV0dG9uIC5yZXYtYnVyZ2VyOmhvdmVyIDpmaXJzdC1jaGlsZCwub3BlbiAucmV2LWJ1cmdlciA6Zmlyc3QtY2hpbGQsLm9wZW4ucmV2LWJ1cmdlciA6Zmlyc3QtY2hpbGR7dHJhbnNmb3JtOnRyYW5zbGF0ZVkoNnB4KSByb3RhdGUoLTQ1ZGVnKX0jZGlhbG9nX2FkZGJ1dHRvbiAucmV2LWJ1cmdlcjpob3ZlciA6bnRoLWNoaWxkKDIpLC5vcGVuIC5yZXYtYnVyZ2VyIDpudGgtY2hpbGQoMiksLm9wZW4ucmV2LWJ1cmdlciA6bnRoLWNoaWxkKDIpe3RyYW5zZm9ybTpyb3RhdGUoLTQ1ZGVnKTtvcGFjaXR5OjB9I2RpYWxvZ19hZGRidXR0b24gLnJldi1idXJnZXI6aG92ZXIgOmxhc3QtY2hpbGQsLm9wZW4gLnJldi1idXJnZXIgOmxhc3QtY2hpbGQsLm9wZW4ucmV2LWJ1cmdlciA6bGFzdC1jaGlsZHt0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNnB4KSByb3RhdGUoLTEzNWRlZyl9LnJldi1idXJnZXIucmV2Yi13aGl0ZXtib3JkZXI6MnB4IHNvbGlkIHJnYmEoMjU1LDI1NSwyNTUsLjIpfS5yZXYtYnVyZ2VyLnJldmItZGFya25vYm9yZGVyLC5yZXYtYnVyZ2VyLnJldmItd2hpdGVub2JvcmRlcntib3JkZXI6MH0ucmV2LWJ1cmdlci5yZXZiLWRhcmtub2JvcmRlciBzcGFue2JhY2tncm91bmQ6IzMzM30ucmV2LWJ1cmdlci5yZXZiLXdoaXRlZnVsbHtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyOm5vbmV9LnJldi1idXJnZXIucmV2Yi13aGl0ZWZ1bGwgc3BhbntiYWNrZ3JvdW5kOiMzMzN9LnJldi1idXJnZXIucmV2Yi1kYXJrZnVsbHtiYWNrZ3JvdW5kOiMzMzM7Ym9yZGVyOm5vbmV9LnJldi1idXJnZXIucmV2Yi1kYXJrZnVsbCBzcGFuLC5yZXYtc2Nyb2xsLWJ0bi5yZXZzLWZ1bGx3aGl0ZXtiYWNrZ3JvdW5kOiNmZmZ9QGtleWZyYW1lcyByZXYtYW5pLW1vdXNlezAle29wYWNpdHk6MTt0b3A6MjklfTE1JXtvcGFjaXR5OjE7dG9wOjUwJX01MCV7b3BhY2l0eTowO3RvcDo1MCV9MTAwJXtvcGFjaXR5OjA7dG9wOjI5JX19LnJldi1zY3JvbGwtYnRue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3Bvc2l0aW9uOnJlbGF0aXZlO2xlZnQ6MDtyaWdodDowO3RleHQtYWxpZ246Y2VudGVyO2N1cnNvcjpwb2ludGVyO3dpZHRoOjM1cHg7aGVpZ2h0OjU1cHg7Ym94LXNpemluZzpib3JkZXItYm94O2JvcmRlcjozcHggc29saWQgI2ZmZjtib3JkZXItcmFkaXVzOjIzcHh9LnJldi1zY3JvbGwtYnRuPip7ZGlzcGxheTppbmxpbmUtYmxvY2s7bGluZS1oZWlnaHQ6MThweDtmb250LXNpemU6MTNweDtmb250LXdlaWdodDo0MDA7Y29sb3I6I2ZmZjtmb250LWZhbWlseTpwcm94aW1hLW5vdmEsIkhlbHZldGljYSBOZXVlIixIZWx2ZXRpY2EsQXJpYWwsc2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzoycHh9LnJldi1zY3JvbGwtYnRuPi5hY3RpdmUsLnJldi1zY3JvbGwtYnRuPjpmb2N1cywucmV2LXNjcm9sbC1idG4+OmhvdmVye2NvbG9yOiNmZmZ9LnJldi1zY3JvbGwtYnRuPi5hY3RpdmUsLnJldi1zY3JvbGwtYnRuPjphY3RpdmUsLnJldi1zY3JvbGwtYnRuPjpmb2N1cywucmV2LXNjcm9sbC1idG4+OmhvdmVye29wYWNpdHk6Ljh9LnJldi1zY3JvbGwtYnRuLnJldnMtZnVsbHdoaXRlIHNwYW57YmFja2dyb3VuZDojMzMzfS5yZXYtc2Nyb2xsLWJ0bi5yZXZzLWZ1bGxkYXJre2JhY2tncm91bmQ6IzMzMztib3JkZXI6bm9uZX0ucmV2LXNjcm9sbC1idG4ucmV2cy1mdWxsZGFyayBzcGFuLC50cC1idWxsZXR7YmFja2dyb3VuZDojZmZmfS5yZXYtc2Nyb2xsLWJ0biBzcGFue3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7dG9wOjI5JTtsZWZ0OjUwJTt3aWR0aDo4cHg7aGVpZ2h0OjhweDttYXJnaW46LTRweCAwIDAgLTRweDtiYWNrZ3JvdW5kOiNmZmY7Ym9yZGVyLXJhZGl1czo1MCU7YW5pbWF0aW9uOnJldi1hbmktbW91c2UgMi41cyBsaW5lYXIgaW5maW5pdGV9LnJldi1zY3JvbGwtYnRuLnJldnMtZGFya3tib3JkZXItY29sb3I6IzMzM30ucmV2LXNjcm9sbC1idG4ucmV2cy1kYXJrIHNwYW57YmFja2dyb3VuZDojMzMzfS5yZXYtY29udHJvbC1idG57cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7ei1pbmRleDo1O2NvbG9yOiNGRkY7Zm9udC1zaXplOjIwcHg7bGluZS1oZWlnaHQ6NjBweDtmb250LXdlaWdodDo0MDA7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC1mYW1pbHk6UmFsZXdheTt0ZXh0LWRlY29yYXRpb246bm9uZTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Ym9yZGVyLXJhZGl1czo1MHB4O3RleHQtc2hhZG93Om5vbmU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLC41KTt3aWR0aDo2MHB4O2hlaWdodDo2MHB4O2JveC1zaXppbmc6Ym9yZGVyLWJveDtjdXJzb3I6cG9pbnRlcn0ucmV2LWNidXR0b24tZGFyay1zciwucmV2LWNidXR0b24tbGlnaHQtc3J7Ym9yZGVyLXJhZGl1czozcHh9LnJldi1jYnV0dG9uLWxpZ2h0LC5yZXYtY2J1dHRvbi1saWdodC1zcntjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwuNzUpfS5yZXYtc2J1dHRvbntsaW5lLWhlaWdodDozN3B4O3dpZHRoOjM3cHg7aGVpZ2h0OjM3cHh9LnJldi1zYnV0dG9uLWJsdWV7YmFja2dyb3VuZC1jb2xvcjojM0I1OTk4fS5yZXYtc2J1dHRvbi1saWdodGJsdWV7YmFja2dyb3VuZC1jb2xvcjojMDBBMEQxfS5yZXYtc2J1dHRvbi1yZWR7YmFja2dyb3VuZC1jb2xvcjojREQ0QjM5fS50cC1iYW5uZXJ0aW1lcnt2aXNpYmlsaXR5OmhpZGRlbjt3aWR0aDoxMDAlO2hlaWdodDo1cHg7YmFja2dyb3VuZDojMDAwO2JhY2tncm91bmQ6cmdiYSgwLDAsMCwuMTUpO3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MjAwO3RvcDowfS50cC1iYW5uZXJ0aW1lci50cC1ib3R0b217dG9wOmF1dG87Ym90dG9tOjAhaW1wb3J0YW50O2hlaWdodDo1cHh9LnRwLWNhcHRpb24gaW1ne2JhY2tncm91bmQ6MCAwOy1tcy1maWx0ZXI6InByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSMwMEZGRkZGRixlbmRDb2xvcnN0cj0jMDBGRkZGRkYpIjtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9IzAwRkZGRkZGLCBlbmRDb2xvcnN0cj0jMDBGRkZGRkYpO3pvb206MX0uY2FwdGlvbi5zbGlkZWxpbmsgYSBkaXYsLnRwLWNhcHRpb24uc2xpZGVsaW5rIGEgZGl2e3dpZHRoOjMwMDBweDtoZWlnaHQ6MTUwMHB4O2JhY2tncm91bmQ6dXJsKC4uL2Fzc2V0cy9jb2xvcmVkYmcucG5nKX0udHAtY2FwdGlvbi5zbGlkZWxpbmsgYSBzcGFue2JhY2tncm91bmQ6dXJsKC4uL2Fzc2V0cy9jb2xvcmVkYmcucG5nKX0udHAtbG9hZGVyLnNwaW5uZXIwLC50cC1sb2FkZXIuc3Bpbm5lcjV7YmFja2dyb3VuZC1pbWFnZTp1cmwoLi4vYXNzZXRzL2xvYWRlci5naWYpO2JhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdH0udHAtc2hhcGV7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJX0udHAtY2FwdGlvbiAucnMtc3RhcnJpbmd7ZGlzcGxheTppbmxpbmUtYmxvY2t9LnRwLWNhcHRpb24gLnJzLXN0YXJyaW5nIC5zdGFyLXJhdGluZ3tmbG9hdDpub25lO2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOnRvcDtjb2xvcjojRkZDMzIxIWltcG9ydGFudH0udHAtY2FwdGlvbiAucnMtc3RhcnJpbmcgLnN0YXItcmF0aW5nLC50cC1jYXB0aW9uIC5ycy1zdGFycmluZy1wYWdlIC5zdGFyLXJhdGluZ3twb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MWVtO3dpZHRoOjUuNGVtO2ZvbnQtZmFtaWx5OnN0YXI7Zm9udC1zaXplOjFlbSFpbXBvcnRhbnR9LnRwLWxvYWRlci5zcGlubmVyMCwudHAtbG9hZGVyLnNwaW5uZXIxe3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7bWFyZ2luLXRvcDotMjBweDttYXJnaW4tbGVmdDotMjBweDthbmltYXRpb246dHAtcm90YXRlcGxhbmUgMS4ycyBpbmZpbml0ZSBlYXNlLWluLW91dDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czozcHg7Ym94LXNoYWRvdzowIDAgMjBweCAwIHJnYmEoMCwwLDAsLjE1KX0udHAtY2FwdGlvbiAucnMtc3RhcnJpbmcgLnN0YXItcmF0aW5nOmJlZm9yZSwudHAtY2FwdGlvbiAucnMtc3RhcnJpbmctcGFnZSAuc3Rhci1yYXRpbmc6YmVmb3Jle2NvbnRlbnQ6Ilw3M1w3M1w3M1w3M1w3MyI7Y29sb3I6I0UwREFERjtmbG9hdDpsZWZ0O3RvcDowO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZX0udHAtY2FwdGlvbiAucnMtc3RhcnJpbmcgLnN0YXItcmF0aW5nIHNwYW57b3ZlcmZsb3c6aGlkZGVuO2Zsb2F0OmxlZnQ7dG9wOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO3BhZGRpbmctdG9wOjEuNWVtO2ZvbnQtc2l6ZToxZW0haW1wb3J0YW50fS50cC1jYXB0aW9uIC5ycy1zdGFycmluZyAuc3Rhci1yYXRpbmcgc3BhbjpiZWZvcmV7Y29udGVudDoiXDUzXDUzXDUzXDUzXDUzIjt0b3A6MDtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0OjB9LnRwLWxvYWRlcnt0b3A6NTAlO2xlZnQ6NTAlO3otaW5kZXg6MTAwMDA7cG9zaXRpb246YWJzb2x1dGV9LnRwLWxvYWRlci5zcGlubmVyMHtiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXJ9LnRwLWxvYWRlci5zcGlubmVyNXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjEwcHggMTBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7bWFyZ2luOi0yMnB4O3dpZHRoOjQ0cHg7aGVpZ2h0OjQ0cHg7Ym9yZGVyLXJhZGl1czozcHh9QGtleWZyYW1lcyB0cC1yb3RhdGVwbGFuZXswJXt0cmFuc2Zvcm06cGVyc3BlY3RpdmUoMTIwcHgpIHJvdGF0ZVgoMCkgcm90YXRlWSgwKX01MCV7dHJhbnNmb3JtOnBlcnNwZWN0aXZlKDEyMHB4KSByb3RhdGVYKC0xODAuMWRlZykgcm90YXRlWSgwKX0xMDAle3RyYW5zZm9ybTpwZXJzcGVjdGl2ZSgxMjBweCkgcm90YXRlWCgtMTgwZGVnKSByb3RhdGVZKC0xNzkuOWRlZyl9fS50cC1sb2FkZXIuc3Bpbm5lcjJ7d2lkdGg6NDBweDtoZWlnaHQ6NDBweDttYXJnaW4tdG9wOi0yMHB4O21hcmdpbi1sZWZ0Oi0yMHB4O2JhY2tncm91bmQtY29sb3I6cmVkO2JveC1zaGFkb3c6MCAwIDIwcHggMCByZ2JhKDAsMCwwLC4xNSk7Ym9yZGVyLXJhZGl1czoxMDAlO2FuaW1hdGlvbjp0cC1zY2FsZW91dCAxcyBpbmZpbml0ZSBlYXNlLWluLW91dH1Aa2V5ZnJhbWVzIHRwLXNjYWxlb3V0ezAle3RyYW5zZm9ybTpzY2FsZSgwKX0xMDAle3RyYW5zZm9ybTpzY2FsZSgxKTtvcGFjaXR5OjB9fS50cC1sb2FkZXIuc3Bpbm5lcjN7bWFyZ2luOi05cHggMCAwIC0zNXB4O3dpZHRoOjcwcHg7dGV4dC1hbGlnbjpjZW50ZXJ9LnRwLWxvYWRlci5zcGlubmVyMyAuYm91bmNlMSwudHAtbG9hZGVyLnNwaW5uZXIzIC5ib3VuY2UyLC50cC1sb2FkZXIuc3Bpbm5lcjMgLmJvdW5jZTN7d2lkdGg6MThweDtoZWlnaHQ6MThweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym94LXNoYWRvdzowIDAgMjBweCAwIHJnYmEoMCwwLDAsLjE1KTtib3JkZXItcmFkaXVzOjEwMCU7ZGlzcGxheTppbmxpbmUtYmxvY2s7YW5pbWF0aW9uOnRwLWJvdW5jZWRlbGF5IDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7YW5pbWF0aW9uLWZpbGwtbW9kZTpib3RofS50cC1sb2FkZXIuc3Bpbm5lcjMgLmJvdW5jZTF7YW5pbWF0aW9uLWRlbGF5Oi0uMzJzfS50cC1sb2FkZXIuc3Bpbm5lcjMgLmJvdW5jZTJ7YW5pbWF0aW9uLWRlbGF5Oi0uMTZzfUBrZXlmcmFtZXMgdHAtYm91bmNlZGVsYXl7MCUsMTAwJSw4MCV7dHJhbnNmb3JtOnNjYWxlKDApfTQwJXt0cmFuc2Zvcm06c2NhbGUoMSl9fS50cC1sb2FkZXIuc3Bpbm5lcjR7bWFyZ2luOi0yMHB4IDAgMCAtMjBweDt3aWR0aDo0MHB4O2hlaWdodDo0MHB4O3RleHQtYWxpZ246Y2VudGVyO2FuaW1hdGlvbjp0cC1yb3RhdGUgMnMgaW5maW5pdGUgbGluZWFyfS50cC1sb2FkZXIuc3Bpbm5lcjQgLmRvdDEsLnRwLWxvYWRlci5zcGlubmVyNCAuZG90Mnt3aWR0aDo2MCU7aGVpZ2h0OjYwJTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLXJhZGl1czoxMDAlO2FuaW1hdGlvbjp0cC1ib3VuY2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7Ym94LXNoYWRvdzowIDAgMjBweCAwIHJnYmEoMCwwLDAsLjE1KX0udHAtbG9hZGVyLnNwaW5uZXI0IC5kb3Qye3RvcDphdXRvO2JvdHRvbTowO2FuaW1hdGlvbi1kZWxheTotMXN9QGtleWZyYW1lcyB0cC1yb3RhdGV7MTAwJXt0cmFuc2Zvcm06cm90YXRlKDM2MGRlZyl9fUBrZXlmcmFtZXMgdHAtYm91bmNlezAlLDEwMCV7dHJhbnNmb3JtOnNjYWxlKDApfTUwJXt0cmFuc2Zvcm06c2NhbGUoMSl9fS50cC1idWxsZXRzLm5hdmJhciwudHAtdGFicy5uYXZiYXIsLnRwLXRodW1icy5uYXZiYXJ7Ym9yZGVyOm5vbmU7bWluLWhlaWdodDowO21hcmdpbjowO2JvcmRlci1yYWRpdXM6MH0udHAtYnVsbGV0cywudHAtdGFicywudHAtdGh1bWJze3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7ei1pbmRleDoxMDAwO3RvcDowO2xlZnQ6MH0udHAtdGFiLC50cC10aHVtYntjdXJzb3I6cG9pbnRlcjtwb3NpdGlvbjphYnNvbHV0ZTtvcGFjaXR5Oi41O2JveC1zaXppbmc6Ym9yZGVyLWJveH0udHAtYXJyLWltZ2hvbGRlciwudHAtdGFiLWltYWdlLC50cC10aHVtYi1pbWFnZSwudHAtdmlkZW9wb3N0ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO2JhY2tncm91bmQtc2l6ZTpjb3Zlcjt3aWR0aDoxMDAlO2hlaWdodDoxMDAlO2Rpc3BsYXk6YmxvY2s7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowfS50cC10YWIuc2VsZWN0ZWQsLnRwLXRhYjpob3ZlciwudHAtdGh1bWIuc2VsZWN0ZWQsLnRwLXRodW1iOmhvdmVye29wYWNpdHk6MX0udHAtdGFiLW1hc2ssLnRwLXRodW1iLW1hc2t7Ym94LXNpemluZzpib3JkZXItYm94IWltcG9ydGFudH0udHAtdGFicywudHAtdGh1bWJze2JveC1zaXppbmc6Y29udGVudC1ib3ghaW1wb3J0YW50fS50cC1idWxsZXR7d2lkdGg6MTVweDtoZWlnaHQ6MTVweDtwb3NpdGlvbjphYnNvbHV0ZTtiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsLjMpO2N1cnNvcjpwb2ludGVyfS50cC1idWxsZXQuc2VsZWN0ZWQsLnRwLWJ1bGxldDpob3ZlcntiYWNrZ3JvdW5kOiNmZmZ9LnRwYXJyb3dze2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQ6IzAwMDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjUpO3dpZHRoOjQwcHg7aGVpZ2h0OjQwcHg7cG9zaXRpb246YWJzb2x1dGU7ZGlzcGxheTpibG9jazt6LWluZGV4OjEwMDB9LnRwYXJyb3dzOmhvdmVye2JhY2tncm91bmQ6IzAwMH0udHBhcnJvd3M6YmVmb3Jle2ZvbnQtZmFtaWx5OnJldmljb25zO2ZvbnQtc2l6ZToxNXB4O2NvbG9yOiNmZmY7ZGlzcGxheTpibG9jaztsaW5lLWhlaWdodDo0MHB4O3RleHQtYWxpZ246Y2VudGVyfS5oZ2luZm8sLmhnbGF5ZXJpbmZve2ZvbnQtc2l6ZToxMnB4O2ZvbnQtd2VpZ2h0OjYwMH0udHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZXtjb250ZW50OidcZTgyNCd9LnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3Jle2NvbnRlbnQ6J1xlODI1J31ib2R5LnJ0bCAudHAta2JpbWd7bGVmdDowIWltcG9ydGFudH0uZGRkd3JhcHBlcnNoYWRvd3tib3gtc2hhZG93OjAgNDVweCAxMDBweCByZ2JhKDAsMCwwLC40KX0uaGdsYXllcmluZm97cG9zaXRpb246Zml4ZWQ7Ym90dG9tOjA7bGVmdDowO2NvbG9yOiNGRkY7bGluZS1oZWlnaHQ6MjBweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjc1KTtwYWRkaW5nOjVweCAxMHB4O3otaW5kZXg6MjAwMDt3aGl0ZS1zcGFjZTpub3JtYWx9LmhlbHBncmlkLC5oZ2luZm97cG9zaXRpb246YWJzb2x1dGV9LmhnaW5mb3t0b3A6LTJweDtsZWZ0Oi0ycHg7Y29sb3I6I2U3NGMzYztiYWNrZ3JvdW5kOiMwMDA7cGFkZGluZzoycHggNXB4fS5pbmRlYnVnbW9kZSAudHAtY2FwdGlvbjpob3Zlcntib3JkZXI6MXB4IGRhc2hlZCAjYzAzOTJiIWltcG9ydGFudH0uaGVscGdyaWR7Ym9yZGVyOjJweCBkYXNoZWQgI2MwMzkyYjt0b3A6MDtsZWZ0OjA7ei1pbmRleDowfSNyZXZzbGlkZXJsb2dsb2dsb2d7cGFkZGluZzoxNXB4O2NvbG9yOiNmZmY7cG9zaXRpb246Zml4ZWQ7dG9wOjA7bGVmdDowO3dpZHRoOjIwMHB4O2hlaWdodDoxNTBweDtiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsLjcpO3otaW5kZXg6MTAwMDAwO2ZvbnQtc2l6ZToxMHB4O292ZXJmbG93OnNjcm9sbH0uYWRlbntmaWx0ZXI6aHVlLXJvdGF0ZSgtMjBkZWcpIGNvbnRyYXN0KC45KSBzYXR1cmF0ZSguODUpIGJyaWdodG5lc3MoMS4yKX0uYWRlbjo6YWZ0ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQscmdiYSg2NiwxMCwxNCwuMiksdHJhbnNwYXJlbnQpO21peC1ibGVuZC1tb2RlOmRhcmtlbn0ucGVycGV0dWE6OmFmdGVyLC5yZXllczo6YWZ0ZXJ7bWl4LWJsZW5kLW1vZGU6c29mdC1saWdodDtvcGFjaXR5Oi41fS5pbmt3ZWxse2ZpbHRlcjpzZXBpYSguMykgY29udHJhc3QoMS4xKSBicmlnaHRuZXNzKDEuMSkgZ3JheXNjYWxlKDEpfS5wZXJwZXR1YTo6YWZ0ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCMwMDViOWEsI2U2YzEzZCl9LnJleWVze2ZpbHRlcjpzZXBpYSguMjIpIGJyaWdodG5lc3MoMS4xKSBjb250cmFzdCguODUpIHNhdHVyYXRlKC43NSl9LnJleWVzOjphZnRlcntiYWNrZ3JvdW5kOiNlZmNkYWR9LmdpbmdoYW17ZmlsdGVyOmJyaWdodG5lc3MoMS4wNSkgaHVlLXJvdGF0ZSgtMTBkZWcpfS5naW5naGFtOjphZnRlcntiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDY2LDEwLDE0LC4yKSx0cmFuc3BhcmVudCk7bWl4LWJsZW5kLW1vZGU6ZGFya2VufS50b2FzdGVye2ZpbHRlcjpjb250cmFzdCgxLjUpIGJyaWdodG5lc3MoLjkpfS50b2FzdGVyOjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUsIzgwNGUwZiwjM2IwMDNiKTttaXgtYmxlbmQtbW9kZTpzY3JlZW59LndhbGRlbntmaWx0ZXI6YnJpZ2h0bmVzcygxLjEpIGh1ZS1yb3RhdGUoLTEwZGVnKSBzZXBpYSguMykgc2F0dXJhdGUoMS42KX0ud2FsZGVuOjphZnRlcntiYWNrZ3JvdW5kOiMwNGM7bWl4LWJsZW5kLW1vZGU6c2NyZWVuO29wYWNpdHk6LjN9Lmh1ZHNvbntmaWx0ZXI6YnJpZ2h0bmVzcygxLjIpIGNvbnRyYXN0KC45KSBzYXR1cmF0ZSgxLjEpfS5odWRzb246OmFmdGVye2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjYTZiMWZmIDUwJSwjMzQyMTM0KTttaXgtYmxlbmQtbW9kZTptdWx0aXBseTtvcGFjaXR5Oi41fS5lYXJseWJpcmR7ZmlsdGVyOmNvbnRyYXN0KC45KSBzZXBpYSguMil9LmVhcmx5YmlyZDo6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCNkMGJhOGUgMjAlLCMzNjAzMDkgODUlLCMxZDAyMTAgMTAwJSk7bWl4LWJsZW5kLW1vZGU6b3ZlcmxheX0ubWF5ZmFpcntmaWx0ZXI6Y29udHJhc3QoMS4xKSBzYXR1cmF0ZSgxLjEpfS5tYXlmYWlyOjphZnRlcntiYWNrZ3JvdW5kOnJhZGlhbC1ncmFkaWVudChjaXJjbGUgYXQgNDAlIDQwJSxyZ2JhKDI1NSwyNTUsMjU1LC44KSxyZ2JhKDI1NSwyMDAsMjAwLC42KSwjMTExIDYwJSk7bWl4LWJsZW5kLW1vZGU6b3ZlcmxheTtvcGFjaXR5Oi40fS5sb2Zpe2ZpbHRlcjpzYXR1cmF0ZSgxLjEpIGNvbnRyYXN0KDEuNSl9LmxvZmk6OmFmdGVye2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSx0cmFuc3BhcmVudCA3MCUsIzIyMiAxNTAlKTttaXgtYmxlbmQtbW9kZTptdWx0aXBseX0uXzE5Nzd7ZmlsdGVyOmNvbnRyYXN0KDEuMSkgYnJpZ2h0bmVzcygxLjEpIHNhdHVyYXRlKDEuMyl9Ll8xOTc3OmFmdGVye2JhY2tncm91bmQ6cmdiYSgyNDMsMTA2LDE4OCwuMyk7bWl4LWJsZW5kLW1vZGU6c2NyZWVufS5icm9va2x5bntmaWx0ZXI6Y29udHJhc3QoLjkpIGJyaWdodG5lc3MoMS4xKX0uYnJvb2tseW46OmFmdGVye2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSxyZ2JhKDE2OCwyMjMsMTkzLC40KSA3MCUsI2M0YjdjOCk7bWl4LWJsZW5kLW1vZGU6b3ZlcmxheX0ueHBybzJ7ZmlsdGVyOnNlcGlhKC4zKX0ueHBybzI6OmFmdGVye2JhY2tncm91bmQ6cmFkaWFsLWdyYWRpZW50KGNpcmNsZSwjZTZlN2UwIDQwJSxyZ2JhKDQzLDQyLDE2MSwuNikgMTEwJSk7bWl4LWJsZW5kLW1vZGU6Y29sb3ItYnVybn0ubmFzaHZpbGxle2ZpbHRlcjpzZXBpYSguMikgY29udHJhc3QoMS4yKSBicmlnaHRuZXNzKDEuMDUpIHNhdHVyYXRlKDEuMil9Lm5hc2h2aWxsZTo6YWZ0ZXJ7YmFja2dyb3VuZDpyZ2JhKDAsNzAsMTUwLC40KTttaXgtYmxlbmQtbW9kZTpsaWdodGVufS5uYXNodmlsbGU6OmJlZm9yZXtiYWNrZ3JvdW5kOnJnYmEoMjQ3LDE3NiwxNTMsLjU2KTttaXgtYmxlbmQtbW9kZTpkYXJrZW59Lmxhcmt7ZmlsdGVyOmNvbnRyYXN0KC45KX0ubGFyazo6YWZ0ZXJ7YmFja2dyb3VuZDpyZ2JhKDI0MiwyNDIsMjQyLC44KTttaXgtYmxlbmQtbW9kZTpkYXJrZW59Lmxhcms6OmJlZm9yZXtiYWNrZ3JvdW5kOiMyMjI1M2Y7bWl4LWJsZW5kLW1vZGU6Y29sb3ItZG9kZ2V9Lm1vb257ZmlsdGVyOmdyYXlzY2FsZSgxKSBjb250cmFzdCgxLjEpIGJyaWdodG5lc3MoMS4xKX0ubW9vbjo6YmVmb3Jle2JhY2tncm91bmQ6I2EwYTBhMDttaXgtYmxlbmQtbW9kZTpzb2Z0LWxpZ2h0fS5tb29uOjphZnRlcntiYWNrZ3JvdW5kOiMzODM4Mzg7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn0uY2xhcmVuZG9ue2ZpbHRlcjpjb250cmFzdCgxLjIpIHNhdHVyYXRlKDEuMzUpfS5jbGFyZW5kb246YmVmb3Jle2JhY2tncm91bmQ6cmdiYSgxMjcsMTg3LDIyNywuMik7bWl4LWJsZW5kLW1vZGU6b3ZlcmxheX0ud2lsbG93e2ZpbHRlcjpncmF5c2NhbGUoLjUpIGNvbnRyYXN0KC45NSkgYnJpZ2h0bmVzcyguOSl9LndpbGxvdzo6YmVmb3Jle2JhY2tncm91bmQtY29sb3I6cmFkaWFsLWdyYWRpZW50KDQwJSxjaXJjbGUsI2Q0YTlhZiA1NSUsIzAwMCAxNTAlKTttaXgtYmxlbmQtbW9kZTpvdmVybGF5fS53aWxsb3c6OmFmdGVye2JhY2tncm91bmQtY29sb3I6I2Q4Y2RjYjttaXgtYmxlbmQtbW9kZTpjb2xvcn0ucmlzZXtmaWx0ZXI6YnJpZ2h0bmVzcygxLjA1KSBzZXBpYSguMikgY29udHJhc3QoLjkpIHNhdHVyYXRlKC45KX0ucmlzZTo6YWZ0ZXJ7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHJnYmEoMjMyLDE5NywxNTIsLjgpLHRyYW5zcGFyZW50IDkwJSk7bWl4LWJsZW5kLW1vZGU6b3ZlcmxheTtvcGFjaXR5Oi42fS5yaXNlOjpiZWZvcmV7YmFja2dyb3VuZDpyYWRpYWwtZ3JhZGllbnQoY2lyY2xlLHJnYmEoMjM2LDIwNSwxNjksLjE1KSA1NSUscmdiYSg1MCwzMCw3LC40KSk7bWl4LWJsZW5kLW1vZGU6bXVsdGlwbHl9Ll8xOTc3OmFmdGVyLC5fMTk3NzpiZWZvcmUsLmFkZW46YWZ0ZXIsLmFkZW46YmVmb3JlLC5icm9va2x5bjphZnRlciwuYnJvb2tseW46YmVmb3JlLC5jbGFyZW5kb246YWZ0ZXIsLmNsYXJlbmRvbjpiZWZvcmUsLmVhcmx5YmlyZDphZnRlciwuZWFybHliaXJkOmJlZm9yZSwuZ2luZ2hhbTphZnRlciwuZ2luZ2hhbTpiZWZvcmUsLmh1ZHNvbjphZnRlciwuaHVkc29uOmJlZm9yZSwuaW5rd2VsbDphZnRlciwuaW5rd2VsbDpiZWZvcmUsLmxhcms6YWZ0ZXIsLmxhcms6YmVmb3JlLC5sb2ZpOmFmdGVyLC5sb2ZpOmJlZm9yZSwubWF5ZmFpcjphZnRlciwubWF5ZmFpcjpiZWZvcmUsLm1vb246YWZ0ZXIsLm1vb246YmVmb3JlLC5uYXNodmlsbGU6YWZ0ZXIsLm5hc2h2aWxsZTpiZWZvcmUsLnBlcnBldHVhOmFmdGVyLC5wZXJwZXR1YTpiZWZvcmUsLnJleWVzOmFmdGVyLC5yZXllczpiZWZvcmUsLnJpc2U6YWZ0ZXIsLnJpc2U6YmVmb3JlLC5zbHVtYmVyOmFmdGVyLC5zbHVtYmVyOmJlZm9yZSwudG9hc3RlcjphZnRlciwudG9hc3RlcjpiZWZvcmUsLndhbGRlbjphZnRlciwud2FsZGVuOmJlZm9yZSwud2lsbG93OmFmdGVyLC53aWxsb3c6YmVmb3JlLC54cHJvMjphZnRlciwueHBybzI6YmVmb3Jle2NvbnRlbnQ6Jyc7ZGlzcGxheTpibG9jaztoZWlnaHQ6MTAwJTt3aWR0aDoxMDAlO3RvcDowO2xlZnQ6MDtwb3NpdGlvbjphYnNvbHV0ZTtwb2ludGVyLWV2ZW50czpub25lfS5fMTk3NywuYWRlbiwuYnJvb2tseW4sLmNsYXJlbmRvbiwuZWFybHliaXJkLC5naW5naGFtLC5odWRzb24sLmlua3dlbGwsLmxhcmssLmxvZmksLm1heWZhaXIsLm1vb24sLm5hc2h2aWxsZSwucGVycGV0dWEsLnJleWVzLC5yaXNlLC5zbHVtYmVyLC50b2FzdGVyLC53YWxkZW4sLndpbGxvdywueHBybzJ7cG9zaXRpb246cmVsYXRpdmV9Ll8xOTc3IGltZywuYWRlbiBpbWcsLmJyb29rbHluIGltZywuY2xhcmVuZG9uIGltZywuZWFybHliaXJkIGltZywuZ2luZ2hhbSBpbWcsLmh1ZHNvbiBpbWcsLmlua3dlbGwgaW1nLC5sYXJrIGltZywubG9maSBpbWcsLm1heWZhaXIgaW1nLC5tb29uIGltZywubmFzaHZpbGxlIGltZywucGVycGV0dWEgaW1nLC5yZXllcyBpbWcsLnJpc2UgaW1nLC5zbHVtYmVyIGltZywudG9hc3RlciBpbWcsLndhbGRlbiBpbWcsLndpbGxvdyBpbWcsLnhwcm8yIGltZ3t3aWR0aDoxMDAlO3otaW5kZXg6MX0uXzE5Nzc6YmVmb3JlLC5hZGVuOmJlZm9yZSwuYnJvb2tseW46YmVmb3JlLC5jbGFyZW5kb246YmVmb3JlLC5lYXJseWJpcmQ6YmVmb3JlLC5naW5naGFtOmJlZm9yZSwuaHVkc29uOmJlZm9yZSwuaW5rd2VsbDpiZWZvcmUsLmxhcms6YmVmb3JlLC5sb2ZpOmJlZm9yZSwubWF5ZmFpcjpiZWZvcmUsLm1vb246YmVmb3JlLC5uYXNodmlsbGU6YmVmb3JlLC5wZXJwZXR1YTpiZWZvcmUsLnJleWVzOmJlZm9yZSwucmlzZTpiZWZvcmUsLnNsdW1iZXI6YmVmb3JlLC50b2FzdGVyOmJlZm9yZSwud2FsZGVuOmJlZm9yZSwud2lsbG93OmJlZm9yZSwueHBybzI6YmVmb3Jle3otaW5kZXg6Mn0uXzE5Nzc6YWZ0ZXIsLmFkZW46YWZ0ZXIsLmJyb29rbHluOmFmdGVyLC5jbGFyZW5kb246YWZ0ZXIsLmVhcmx5YmlyZDphZnRlciwuZ2luZ2hhbTphZnRlciwuaHVkc29uOmFmdGVyLC5pbmt3ZWxsOmFmdGVyLC5sYXJrOmFmdGVyLC5sb2ZpOmFmdGVyLC5tYXlmYWlyOmFmdGVyLC5tb29uOmFmdGVyLC5uYXNodmlsbGU6YWZ0ZXIsLnBlcnBldHVhOmFmdGVyLC5yZXllczphZnRlciwucmlzZTphZnRlciwuc2x1bWJlcjphZnRlciwudG9hc3RlcjphZnRlciwud2FsZGVuOmFmdGVyLC53aWxsb3c6YWZ0ZXIsLnhwcm8yOmFmdGVye3otaW5kZXg6M30uc2x1bWJlcntmaWx0ZXI6c2F0dXJhdGUoLjY2KSBicmlnaHRuZXNzKDEuMDUpfS5zbHVtYmVyOjphZnRlcntiYWNrZ3JvdW5kOnJnYmEoMTI1LDEwNSwyNCwuNSk7bWl4LWJsZW5kLW1vZGU6c29mdC1saWdodH0uc2x1bWJlcjo6YmVmb3Jle2JhY2tncm91bmQ6cmdiYSg2OSw0MSwxMiwuNCk7bWl4LWJsZW5kLW1vZGU6bGlnaHRlbn0udHAta2JpbWctd3JhcDphZnRlciwudHAta2JpbWctd3JhcDpiZWZvcmV7aGVpZ2h0OjUwMCU7d2lkdGg6NTAwJX0="}},"time_used":316,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":310,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/bootstrap.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.602Z","timestamp":1785133989602,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/bootstrap.min.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 9449\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":36868,"size_decoded":9686,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (32003)","md5":"c5b5b2fa19bd66ff23211d9f844e0131","sha1":"791aa054a026bddc0de92bad6cf7a1c6e73713d5","sha256":"2979f9a6e32fc42c3e7406339ee9fe76b31d1b52059776a02b4a7fa6a4fd280a","sha512":"d9ef2aab411371f5912381c9073422037528c8593ab5b3721bea926880592f25bd5dfdec5991cdfe5c5ef5f4e1d54e390e93dfd3bca3f782ac5071d67b8624d4","ssdeep":"768:4UfYD27UwlNHMl9lqNuCPNjhqg8epm5CCJFXflA8Gf3ZTbQ:z/76whqKGvlm3ZXQ","tlshash":"47f29606b23031a147efb1e1525b020a7239696ee906907c78b9daf53db9c48717bf3d","first_seen":"2023-03-07T01:02:25Z","last_seen":"2026-08-04T10:58:54.250106Z","times_seen":21759,"resource_available":true,"data":"LyohCiAqIEJvb3RzdHJhcCB2My4zLjYgKGh0dHA6Ly9nZXRib290c3RyYXAuY29tKQogKiBDb3B5cmlnaHQgMjAxMS0yMDE1IFR3aXR0ZXIsIEluYy4KICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlCiAqLwppZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyBuZXcgRXJyb3IoIkJvb3RzdHJhcCdzIEphdmFTY3JpcHQgcmVxdWlyZXMgalF1ZXJ5Iik7K2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1hLmZuLmpxdWVyeS5zcGxpdCgiICIpWzBdLnNwbGl0KCIuIik7aWYoYlswXTwyJiZiWzFdPDl8fDE9PWJbMF0mJjk9PWJbMV0mJmJbMl08MXx8YlswXT4yKXRocm93IG5ldyBFcnJvcigiQm9vdHN0cmFwJ3MgSmF2YVNjcmlwdCByZXF1aXJlcyBqUXVlcnkgdmVyc2lvbiAxLjkuMSBvciBoaWdoZXIsIGJ1dCBsb3dlciB0aGFuIHZlcnNpb24gMyIpfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvb3RzdHJhcCIpLGI9e1dlYmtpdFRyYW5zaXRpb246IndlYmtpdFRyYW5zaXRpb25FbmQiLE1velRyYW5zaXRpb246InRyYW5zaXRpb25lbmQiLE9UcmFuc2l0aW9uOiJvVHJhbnNpdGlvbkVuZCBvdHJhbnNpdGlvbmVuZCIsdHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCJ9O2Zvcih2YXIgYyBpbiBiKWlmKHZvaWQgMCE9PWEuc3R5bGVbY10pcmV0dXJue2VuZDpiW2NdfTtyZXR1cm4hMX1hLmZuLmVtdWxhdGVUcmFuc2l0aW9uRW5kPWZ1bmN0aW9uKGIpe3ZhciBjPSExLGQ9dGhpczthKHRoaXMpLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmdW5jdGlvbigpe2M9ITB9KTt2YXIgZT1mdW5jdGlvbigpe2N8fGEoZCkudHJpZ2dlcihhLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQpfTtyZXR1cm4gc2V0VGltZW91dChlLGIpLHRoaXN9LGEoZnVuY3Rpb24oKXthLnN1cHBvcnQudHJhbnNpdGlvbj1iKCksYS5zdXBwb3J0LnRyYW5zaXRpb24mJihhLmV2ZW50LnNwZWNpYWwuYnNUcmFuc2l0aW9uRW5kPXtiaW5kVHlwZTphLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQsZGVsZWdhdGVUeXBlOmEuc3VwcG9ydC50cmFuc2l0aW9uLmVuZCxoYW5kbGU6ZnVuY3Rpb24oYil7cmV0dXJuIGEoYi50YXJnZXQpLmlzKHRoaXMpP2IuaGFuZGxlT2JqLmhhbmRsZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpOnZvaWQgMH19KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKSxlPWMuZGF0YSgiYnMuYWxlcnQiKTtlfHxjLmRhdGEoImJzLmFsZXJ0IixlPW5ldyBkKHRoaXMpKSwic3RyaW5nIj09dHlwZW9mIGImJmVbYl0uY2FsbChjKX0pfXZhciBjPSdbZGF0YS1kaXNtaXNzPSJhbGVydCJdJyxkPWZ1bmN0aW9uKGIpe2EoYikub24oImNsaWNrIixjLHRoaXMuY2xvc2UpfTtkLlZFUlNJT049IjMuMy42IixkLlRSQU5TSVRJT05fRFVSQVRJT049MTUwLGQucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGMoKXtnLmRldGFjaCgpLnRyaWdnZXIoImNsb3NlZC5icy5hbGVydCIpLnJlbW92ZSgpfXZhciBlPWEodGhpcyksZj1lLmF0dHIoImRhdGEtdGFyZ2V0Iik7Znx8KGY9ZS5hdHRyKCJocmVmIiksZj1mJiZmLnJlcGxhY2UoLy4qKD89I1teXHNdKiQpLywiIikpO3ZhciBnPWEoZik7YiYmYi5wcmV2ZW50RGVmYXVsdCgpLGcubGVuZ3RofHwoZz1lLmNsb3Nlc3QoIi5hbGVydCIpKSxnLnRyaWdnZXIoYj1hLkV2ZW50KCJjbG9zZS5icy5hbGVydCIpKSxiLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoZy5yZW1vdmVDbGFzcygiaW4iKSxhLnN1cHBvcnQudHJhbnNpdGlvbiYmZy5oYXNDbGFzcygiZmFkZSIpP2cub25lKCJic1RyYW5zaXRpb25FbmQiLGMpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGQuVFJBTlNJVElPTl9EVVJBVElPTik6YygpKX07dmFyIGU9YS5mbi5hbGVydDthLmZuLmFsZXJ0PWIsYS5mbi5hbGVydC5Db25zdHJ1Y3Rvcj1kLGEuZm4uYWxlcnQubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmFsZXJ0PWUsdGhpc30sYShkb2N1bWVudCkub24oImNsaWNrLmJzLmFsZXJ0LmRhdGEtYXBpIixjLGQucHJvdG90eXBlLmNsb3NlKX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLmJ1dHRvbiIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiO2V8fGQuZGF0YSgiYnMuYnV0dG9uIixlPW5ldyBjKHRoaXMsZikpLCJ0b2dnbGUiPT1iP2UudG9nZ2xlKCk6YiYmZS5zZXRTdGF0ZShiKX0pfXZhciBjPWZ1bmN0aW9uKGIsZCl7dGhpcy4kZWxlbWVudD1hKGIpLHRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGQpLHRoaXMuaXNMb2FkaW5nPSExfTtjLlZFUlNJT049IjMuMy42IixjLkRFRkFVTFRTPXtsb2FkaW5nVGV4dDoibG9hZGluZy4uLiJ9LGMucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGIpe3ZhciBjPSJkaXNhYmxlZCIsZD10aGlzLiRlbGVtZW50LGU9ZC5pcygiaW5wdXQiKT8idmFsIjoiaHRtbCIsZj1kLmRhdGEoKTtiKz0iVGV4dCIsbnVsbD09Zi5yZXNldFRleHQmJmQuZGF0YSgicmVzZXRUZXh0IixkW2VdKCkpLHNldFRpbWVvdXQoYS5wcm94eShmdW5jdGlvbigpe2RbZV0obnVsbD09ZltiXT90aGlzLm9wdGlvbnNbYl06ZltiXSksImxvYWRpbmdUZXh0Ij09Yj8odGhpcy5pc0xvYWRpbmc9ITAsZC5hZGRDbGFzcyhjKS5hdHRyKGMsYykpOnRoaXMuaXNMb2FkaW5nJiYodGhpcy5pc0xvYWRpbmc9ITEsZC5yZW1vdmVDbGFzcyhjKS5yZW1vdmVBdHRyKGMpKX0sdGhpcyksMCl9LGMucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbigpe3ZhciBhPSEwLGI9dGhpcy4kZWxlbWVudC5jbG9zZXN0KCdbZGF0YS10b2dnbGU9ImJ1dHRvbnMiXScpO2lmKGIubGVuZ3RoKXt2YXIgYz10aGlzLiRlbGVtZW50LmZpbmQoImlucHV0Iik7InJhZGlvIj09Yy5wcm9wKCJ0eXBlIik/KGMucHJvcCgiY2hlY2tlZCIpJiYoYT0hMSksYi5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHRoaXMuJGVsZW1lbnQuYWRkQ2xhc3MoImFjdGl2ZSIpKToiY2hlY2tib3giPT1jLnByb3AoInR5cGUiKSYmKGMucHJvcCgiY2hlY2tlZCIpIT09dGhpcy4kZWxlbWVudC5oYXNDbGFzcygiYWN0aXZlIikmJihhPSExKSx0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCJhY3RpdmUiKSksYy5wcm9wKCJjaGVja2VkIix0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJhY3RpdmUiKSksYSYmYy50cmlnZ2VyKCJjaGFuZ2UiKX1lbHNlIHRoaXMuJGVsZW1lbnQuYXR0cigiYXJpYS1wcmVzc2VkIiwhdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiYWN0aXZlIikpLHRoaXMuJGVsZW1lbnQudG9nZ2xlQ2xhc3MoImFjdGl2ZSIpfTt2YXIgZD1hLmZuLmJ1dHRvbjthLmZuLmJ1dHRvbj1iLGEuZm4uYnV0dG9uLkNvbnN0cnVjdG9yPWMsYS5mbi5idXR0b24ubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmJ1dHRvbj1kLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5idXR0b24uZGF0YS1hcGkiLCdbZGF0YS10b2dnbGVePSJidXR0b24iXScsZnVuY3Rpb24oYyl7dmFyIGQ9YShjLnRhcmdldCk7ZC5oYXNDbGFzcygiYnRuIil8fChkPWQuY2xvc2VzdCgiLmJ0biIpKSxiLmNhbGwoZCwidG9nZ2xlIiksYShjLnRhcmdldCkuaXMoJ2lucHV0W3R5cGU9InJhZGlvIl0nKXx8YShjLnRhcmdldCkuaXMoJ2lucHV0W3R5cGU9ImNoZWNrYm94Il0nKXx8Yy5wcmV2ZW50RGVmYXVsdCgpfSkub24oImZvY3VzLmJzLmJ1dHRvbi5kYXRhLWFwaSBibHVyLmJzLmJ1dHRvbi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZV49ImJ1dHRvbiJdJyxmdW5jdGlvbihiKXthKGIudGFyZ2V0KS5jbG9zZXN0KCIuYnRuIikudG9nZ2xlQ2xhc3MoImZvY3VzIiwvXmZvY3VzKGluKT8kLy50ZXN0KGIudHlwZSkpfSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5jYXJvdXNlbCIpLGY9YS5leHRlbmQoe30sYy5ERUZBVUxUUyxkLmRhdGEoKSwib2JqZWN0Ij09dHlwZW9mIGImJmIpLGc9InN0cmluZyI9PXR5cGVvZiBiP2I6Zi5zbGlkZTtlfHxkLmRhdGEoImJzLmNhcm91c2VsIixlPW5ldyBjKHRoaXMsZikpLCJudW1iZXIiPT10eXBlb2YgYj9lLnRvKGIpOmc/ZVtnXSgpOmYuaW50ZXJ2YWwmJmUucGF1c2UoKS5jeWNsZSgpfSl9dmFyIGM9ZnVuY3Rpb24oYixjKXt0aGlzLiRlbGVtZW50PWEoYiksdGhpcy4kaW5kaWNhdG9ycz10aGlzLiRlbGVtZW50LmZpbmQoIi5jYXJvdXNlbC1pbmRpY2F0b3JzIiksdGhpcy5vcHRpb25zPWMsdGhpcy5wYXVzZWQ9bnVsbCx0aGlzLnNsaWRpbmc9bnVsbCx0aGlzLmludGVydmFsPW51bGwsdGhpcy4kYWN0aXZlPW51bGwsdGhpcy4kaXRlbXM9bnVsbCx0aGlzLm9wdGlvbnMua2V5Ym9hcmQmJnRoaXMuJGVsZW1lbnQub24oImtleWRvd24uYnMuY2Fyb3VzZWwiLGEucHJveHkodGhpcy5rZXlkb3duLHRoaXMpKSwiaG92ZXIiPT10aGlzLm9wdGlvbnMucGF1c2UmJiEoIm9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQpJiZ0aGlzLiRlbGVtZW50Lm9uKCJtb3VzZWVudGVyLmJzLmNhcm91c2VsIixhLnByb3h5KHRoaXMucGF1c2UsdGhpcykpLm9uKCJtb3VzZWxlYXZlLmJzLmNhcm91c2VsIixhLnByb3h5KHRoaXMuY3ljbGUsdGhpcykpfTtjLlZFUlNJT049IjMuMy42IixjLlRSQU5TSVRJT05fRFVSQVRJT049NjAwLGMuREVGQVVMVFM9e2ludGVydmFsOjVlMyxwYXVzZToiaG92ZXIiLHdyYXA6ITAsa2V5Ym9hcmQ6ITB9LGMucHJvdG90eXBlLmtleWRvd249ZnVuY3Rpb24oYSl7aWYoIS9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QoYS50YXJnZXQudGFnTmFtZSkpe3N3aXRjaChhLndoaWNoKXtjYXNlIDM3OnRoaXMucHJldigpO2JyZWFrO2Nhc2UgMzk6dGhpcy5uZXh0KCk7YnJlYWs7ZGVmYXVsdDpyZXR1cm59YS5wcmV2ZW50RGVmYXVsdCgpfX0sYy5wcm90b3R5cGUuY3ljbGU9ZnVuY3Rpb24oYil7cmV0dXJuIGJ8fCh0aGlzLnBhdXNlZD0hMSksdGhpcy5pbnRlcnZhbCYmY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsKSx0aGlzLm9wdGlvbnMuaW50ZXJ2YWwmJiF0aGlzLnBhdXNlZCYmKHRoaXMuaW50ZXJ2YWw9c2V0SW50ZXJ2YWwoYS5wcm94eSh0aGlzLm5leHQsdGhpcyksdGhpcy5vcHRpb25zLmludGVydmFsKSksdGhpc30sYy5wcm90b3R5cGUuZ2V0SXRlbUluZGV4PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLiRpdGVtcz1hLnBhcmVudCgpLmNoaWxkcmVuKCIuaXRlbSIpLHRoaXMuJGl0ZW1zLmluZGV4KGF8fHRoaXMuJGFjdGl2ZSl9LGMucHJvdG90eXBlLmdldEl0ZW1Gb3JEaXJlY3Rpb249ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmdldEl0ZW1JbmRleChiKSxkPSJwcmV2Ij09YSYmMD09PWN8fCJuZXh0Ij09YSYmYz09dGhpcy4kaXRlbXMubGVuZ3RoLTE7aWYoZCYmIXRoaXMub3B0aW9ucy53cmFwKXJldHVybiBiO3ZhciBlPSJwcmV2Ij09YT8tMToxLGY9KGMrZSkldGhpcy4kaXRlbXMubGVuZ3RoO3JldHVybiB0aGlzLiRpdGVtcy5lcShmKX0sYy5wcm90b3R5cGUudG89ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPXRoaXMuZ2V0SXRlbUluZGV4KHRoaXMuJGFjdGl2ZT10aGlzLiRlbGVtZW50LmZpbmQoIi5pdGVtLmFjdGl2ZSIpKTtyZXR1cm4gYT50aGlzLiRpdGVtcy5sZW5ndGgtMXx8MD5hP3ZvaWQgMDp0aGlzLnNsaWRpbmc/dGhpcy4kZWxlbWVudC5vbmUoInNsaWQuYnMuY2Fyb3VzZWwiLGZ1bmN0aW9uKCl7Yi50byhhKX0pOmM9PWE/dGhpcy5wYXVzZSgpLmN5Y2xlKCk6dGhpcy5zbGlkZShhPmM/Im5leHQiOiJwcmV2Iix0aGlzLiRpdGVtcy5lcShhKSl9LGMucHJvdG90eXBlLnBhdXNlPWZ1bmN0aW9uKGIpe3JldHVybiBifHwodGhpcy5wYXVzZWQ9ITApLHRoaXMuJGVsZW1lbnQuZmluZCgiLm5leHQsIC5wcmV2IikubGVuZ3RoJiZhLnN1cHBvcnQudHJhbnNpdGlvbiYmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihhLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQpLHRoaXMuY3ljbGUoITApKSx0aGlzLmludGVydmFsPWNsZWFySW50ZXJ2YWwodGhpcy5pbnRlcnZhbCksdGhpc30sYy5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNsaWRpbmc/dm9pZCAwOnRoaXMuc2xpZGUoIm5leHQiKX0sYy5wcm90b3R5cGUucHJldj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNsaWRpbmc/dm9pZCAwOnRoaXMuc2xpZGUoInByZXYiKX0sYy5wcm90b3R5cGUuc2xpZGU9ZnVuY3Rpb24oYixkKXt2YXIgZT10aGlzLiRlbGVtZW50LmZpbmQoIi5pdGVtLmFjdGl2ZSIpLGY9ZHx8dGhpcy5nZXRJdGVtRm9yRGlyZWN0aW9uKGIsZSksZz10aGlzLmludGVydmFsLGg9Im5leHQiPT1iPyJsZWZ0IjoicmlnaHQiLGk9dGhpcztpZihmLmhhc0NsYXNzKCJhY3RpdmUiKSlyZXR1cm4gdGhpcy5zbGlkaW5nPSExO3ZhciBqPWZbMF0saz1hLkV2ZW50KCJzbGlkZS5icy5jYXJvdXNlbCIse3JlbGF0ZWRUYXJnZXQ6aixkaXJlY3Rpb246aH0pO2lmKHRoaXMuJGVsZW1lbnQudHJpZ2dlcihrKSwhay5pc0RlZmF1bHRQcmV2ZW50ZWQoKSl7aWYodGhpcy5zbGlkaW5nPSEwLGcmJnRoaXMucGF1c2UoKSx0aGlzLiRpbmRpY2F0b3JzLmxlbmd0aCl7dGhpcy4kaW5kaWNhdG9ycy5maW5kKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpO3ZhciBsPWEodGhpcy4kaW5kaWNhdG9ycy5jaGlsZHJlbigpW3RoaXMuZ2V0SXRlbUluZGV4KGYpXSk7bCYmbC5hZGRDbGFzcygiYWN0aXZlIil9dmFyIG09YS5FdmVudCgic2xpZC5icy5jYXJvdXNlbCIse3JlbGF0ZWRUYXJnZXQ6aixkaXJlY3Rpb246aH0pO3JldHVybiBhLnN1cHBvcnQudHJhbnNpdGlvbiYmdGhpcy4kZWxlbWVudC5oYXNDbGFzcygic2xpZGUiKT8oZi5hZGRDbGFzcyhiKSxmWzBdLm9mZnNldFdpZHRoLGUuYWRkQ2xhc3MoaCksZi5hZGRDbGFzcyhoKSxlLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixmdW5jdGlvbigpe2YucmVtb3ZlQ2xhc3MoW2IsaF0uam9pbigiICIpKS5hZGRDbGFzcygiYWN0aXZlIiksZS5yZW1vdmVDbGFzcyhbImFjdGl2ZSIsaF0uam9pbigiICIpKSxpLnNsaWRpbmc9ITEsc2V0VGltZW91dChmdW5jdGlvbigpe2kuJGVsZW1lbnQudHJpZ2dlcihtKX0sMCl9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pKTooZS5yZW1vdmVDbGFzcygiYWN0aXZlIiksZi5hZGRDbGFzcygiYWN0aXZlIiksdGhpcy5zbGlkaW5nPSExLHRoaXMuJGVsZW1lbnQudHJpZ2dlcihtKSksZyYmdGhpcy5jeWNsZSgpLHRoaXN9fTt2YXIgZD1hLmZuLmNhcm91c2VsO2EuZm4uY2Fyb3VzZWw9YixhLmZuLmNhcm91c2VsLkNvbnN0cnVjdG9yPWMsYS5mbi5jYXJvdXNlbC5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uY2Fyb3VzZWw9ZCx0aGlzfTt2YXIgZT1mdW5jdGlvbihjKXt2YXIgZCxlPWEodGhpcyksZj1hKGUuYXR0cigiZGF0YS10YXJnZXQiKXx8KGQ9ZS5hdHRyKCJocmVmIikpJiZkLnJlcGxhY2UoLy4qKD89I1teXHNdKyQpLywiIikpO2lmKGYuaGFzQ2xhc3MoImNhcm91c2VsIikpe3ZhciBnPWEuZXh0ZW5kKHt9LGYuZGF0YSgpLGUuZGF0YSgpKSxoPWUuYXR0cigiZGF0YS1zbGlkZS10byIpO2gmJihnLmludGVydmFsPSExKSxiLmNhbGwoZixnKSxoJiZmLmRhdGEoImJzLmNhcm91c2VsIikudG8oaCksYy5wcmV2ZW50RGVmYXVsdCgpfX07YShkb2N1bWVudCkub24oImNsaWNrLmJzLmNhcm91c2VsLmRhdGEtYXBpIiwiW2RhdGEtc2xpZGVdIixlKS5vbigiY2xpY2suYnMuY2Fyb3VzZWwuZGF0YS1hcGkiLCJbZGF0YS1zbGlkZS10b10iLGUpLGEod2luZG93KS5vbigibG9hZCIsZnVuY3Rpb24oKXthKCdbZGF0YS1yaWRlPSJjYXJvdXNlbCJdJykuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyk7Yi5jYWxsKGMsYy5kYXRhKCkpfSl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7dmFyIGMsZD1iLmF0dHIoImRhdGEtdGFyZ2V0Iil8fChjPWIuYXR0cigiaHJlZiIpKSYmYy5yZXBsYWNlKC8uKig/PSNbXlxzXSskKS8sIiIpO3JldHVybiBhKGQpfWZ1bmN0aW9uIGMoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcyksZT1jLmRhdGEoImJzLmNvbGxhcHNlIiksZj1hLmV4dGVuZCh7fSxkLkRFRkFVTFRTLGMuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgYiYmYik7IWUmJmYudG9nZ2xlJiYvc2hvd3xoaWRlLy50ZXN0KGIpJiYoZi50b2dnbGU9ITEpLGV8fGMuZGF0YSgiYnMuY29sbGFwc2UiLGU9bmV3IGQodGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCl9KX12YXIgZD1mdW5jdGlvbihiLGMpe3RoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sZC5ERUZBVUxUUyxjKSx0aGlzLiR0cmlnZ2VyPWEoJ1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtocmVmPSIjJytiLmlkKyciXSxbZGF0YS10b2dnbGU9ImNvbGxhcHNlIl1bZGF0YS10YXJnZXQ9IiMnK2IuaWQrJyJdJyksdGhpcy50cmFuc2l0aW9uaW5nPW51bGwsdGhpcy5vcHRpb25zLnBhcmVudD90aGlzLiRwYXJlbnQ9dGhpcy5nZXRQYXJlbnQoKTp0aGlzLmFkZEFyaWFBbmRDb2xsYXBzZWRDbGFzcyh0aGlzLiRlbGVtZW50LHRoaXMuJHRyaWdnZXIpLHRoaXMub3B0aW9ucy50b2dnbGUmJnRoaXMudG9nZ2xlKCl9O2QuVkVSU0lPTj0iMy4zLjYiLGQuVFJBTlNJVElPTl9EVVJBVElPTj0zNTAsZC5ERUZBVUxUUz17dG9nZ2xlOiEwfSxkLnByb3RvdHlwZS5kaW1lbnNpb249ZnVuY3Rpb24oKXt2YXIgYT10aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJ3aWR0aCIpO3JldHVybiBhPyJ3aWR0aCI6ImhlaWdodCJ9LGQucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24oKXtpZighdGhpcy50cmFuc2l0aW9uaW5nJiYhdGhpcy4kZWxlbWVudC5oYXNDbGFzcygiaW4iKSl7dmFyIGIsZT10aGlzLiRwYXJlbnQmJnRoaXMuJHBhcmVudC5jaGlsZHJlbigiLnBhbmVsIikuY2hpbGRyZW4oIi5pbiwgLmNvbGxhcHNpbmciKTtpZighKGUmJmUubGVuZ3RoJiYoYj1lLmRhdGEoImJzLmNvbGxhcHNlIiksYiYmYi50cmFuc2l0aW9uaW5nKSkpe3ZhciBmPWEuRXZlbnQoInNob3cuYnMuY29sbGFwc2UiKTtpZih0aGlzLiRlbGVtZW50LnRyaWdnZXIoZiksIWYuaXNEZWZhdWx0UHJldmVudGVkKCkpe2UmJmUubGVuZ3RoJiYoYy5jYWxsKGUsImhpZGUiKSxifHxlLmRhdGEoImJzLmNvbGxhcHNlIixudWxsKSk7dmFyIGc9dGhpcy5kaW1lbnNpb24oKTt0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJjb2xsYXBzZSIpLmFkZENsYXNzKCJjb2xsYXBzaW5nIilbZ10oMCkuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLHRoaXMuJHRyaWdnZXIucmVtb3ZlQ2xhc3MoImNvbGxhcHNlZCIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCEwKSx0aGlzLnRyYW5zaXRpb25pbmc9MTt2YXIgaD1mdW5jdGlvbigpe3RoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoImNvbGxhcHNpbmciKS5hZGRDbGFzcygiY29sbGFwc2UgaW4iKVtnXSgiIiksdGhpcy50cmFuc2l0aW9uaW5nPTAsdGhpcy4kZWxlbWVudC50cmlnZ2VyKCJzaG93bi5icy5jb2xsYXBzZSIpfTtpZighYS5zdXBwb3J0LnRyYW5zaXRpb24pcmV0dXJuIGguY2FsbCh0aGlzKTt2YXIgaT1hLmNhbWVsQ2FzZShbInNjcm9sbCIsZ10uam9pbigiLSIpKTt0aGlzLiRlbGVtZW50Lm9uZSgiYnNUcmFuc2l0aW9uRW5kIixhLnByb3h5KGgsdGhpcykpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGQuVFJBTlNJVElPTl9EVVJBVElPTilbZ10odGhpcy4kZWxlbWVudFswXVtpXSl9fX19LGQucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oKXtpZighdGhpcy50cmFuc2l0aW9uaW5nJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJpbiIpKXt2YXIgYj1hLkV2ZW50KCJoaWRlLmJzLmNvbGxhcHNlIik7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGIpLCFiLmlzRGVmYXVsdFByZXZlbnRlZCgpKXt2YXIgYz10aGlzLmRpbWVuc2lvbigpO3RoaXMuJGVsZW1lbnRbY10odGhpcy4kZWxlbWVudFtjXSgpKVswXS5vZmZzZXRIZWlnaHQsdGhpcy4kZWxlbWVudC5hZGRDbGFzcygiY29sbGFwc2luZyIpLnJlbW92ZUNsYXNzKCJjb2xsYXBzZSBpbiIpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSx0aGlzLiR0cmlnZ2VyLmFkZENsYXNzKCJjb2xsYXBzZWQiKS5hdHRyKCJhcmlhLWV4cGFuZGVkIiwhMSksdGhpcy50cmFuc2l0aW9uaW5nPTE7dmFyIGU9ZnVuY3Rpb24oKXt0aGlzLnRyYW5zaXRpb25pbmc9MCx0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKCJjb2xsYXBzaW5nIikuYWRkQ2xhc3MoImNvbGxhcHNlIikudHJpZ2dlcigiaGlkZGVuLmJzLmNvbGxhcHNlIil9O3JldHVybiBhLnN1cHBvcnQudHJhbnNpdGlvbj92b2lkIHRoaXMuJGVsZW1lbnRbY10oMCkub25lKCJic1RyYW5zaXRpb25FbmQiLGEucHJveHkoZSx0aGlzKSkuZW11bGF0ZVRyYW5zaXRpb25FbmQoZC5UUkFOU0lUSU9OX0RVUkFUSU9OKTplLmNhbGwodGhpcyl9fX0sZC5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKCl7dGhpc1t0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJpbiIpPyJoaWRlIjoic2hvdyJdKCl9LGQucHJvdG90eXBlLmdldFBhcmVudD1mdW5jdGlvbigpe3JldHVybiBhKHRoaXMub3B0aW9ucy5wYXJlbnQpLmZpbmQoJ1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXVtkYXRhLXBhcmVudD0iJyt0aGlzLm9wdGlvbnMucGFyZW50KyciXScpLmVhY2goYS5wcm94eShmdW5jdGlvbihjLGQpe3ZhciBlPWEoZCk7dGhpcy5hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3MoYihlKSxlKX0sdGhpcykpLmVuZCgpfSxkLnByb3RvdHlwZS5hZGRBcmlhQW5kQ29sbGFwc2VkQ2xhc3M9ZnVuY3Rpb24oYSxiKXt2YXIgYz1hLmhhc0NsYXNzKCJpbiIpO2EuYXR0cigiYXJpYS1leHBhbmRlZCIsYyksYi50b2dnbGVDbGFzcygiY29sbGFwc2VkIiwhYykuYXR0cigiYXJpYS1leHBhbmRlZCIsYyl9O3ZhciBlPWEuZm4uY29sbGFwc2U7YS5mbi5jb2xsYXBzZT1jLGEuZm4uY29sbGFwc2UuQ29uc3RydWN0b3I9ZCxhLmZuLmNvbGxhcHNlLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5jb2xsYXBzZT1lLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5jb2xsYXBzZS5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0iY29sbGFwc2UiXScsZnVuY3Rpb24oZCl7dmFyIGU9YSh0aGlzKTtlLmF0dHIoImRhdGEtdGFyZ2V0Iil8fGQucHJldmVudERlZmF1bHQoKTt2YXIgZj1iKGUpLGc9Zi5kYXRhKCJicy5jb2xsYXBzZSIpLGg9Zz8idG9nZ2xlIjplLmRhdGEoKTtjLmNhbGwoZixoKX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXt2YXIgYz1iLmF0dHIoImRhdGEtdGFyZ2V0Iik7Y3x8KGM9Yi5hdHRyKCJocmVmIiksYz1jJiYvI1tBLVphLXpdLy50ZXN0KGMpJiZjLnJlcGxhY2UoLy4qKD89I1teXHNdKiQpLywiIikpO3ZhciBkPWMmJmEoYyk7cmV0dXJuIGQmJmQubGVuZ3RoP2Q6Yi5wYXJlbnQoKX1mdW5jdGlvbiBjKGMpe2MmJjM9PT1jLndoaWNofHwoYShlKS5yZW1vdmUoKSxhKGYpLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9YihkKSxmPXtyZWxhdGVkVGFyZ2V0OnRoaXN9O2UuaGFzQ2xhc3MoIm9wZW4iKSYmKGMmJiJjbGljayI9PWMudHlwZSYmL2lucHV0fHRleHRhcmVhL2kudGVzdChjLnRhcmdldC50YWdOYW1lKSYmYS5jb250YWlucyhlWzBdLGMudGFyZ2V0KXx8KGUudHJpZ2dlcihjPWEuRXZlbnQoImhpZGUuYnMuZHJvcGRvd24iLGYpKSxjLmlzRGVmYXVsdFByZXZlbnRlZCgpfHwoZC5hdHRyKCJhcmlhLWV4cGFuZGVkIiwiZmFsc2UiKSxlLnJlbW92ZUNsYXNzKCJvcGVuIikudHJpZ2dlcihhLkV2ZW50KCJoaWRkZW4uYnMuZHJvcGRvd24iLGYpKSkpKX0pKX1mdW5jdGlvbiBkKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGQ9Yy5kYXRhKCJicy5kcm9wZG93biIpO2R8fGMuZGF0YSgiYnMuZHJvcGRvd24iLGQ9bmV3IGcodGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZFtiXS5jYWxsKGMpfSl9dmFyIGU9Ii5kcm9wZG93bi1iYWNrZHJvcCIsZj0nW2RhdGEtdG9nZ2xlPSJkcm9wZG93biJdJyxnPWZ1bmN0aW9uKGIpe2EoYikub24oImNsaWNrLmJzLmRyb3Bkb3duIix0aGlzLnRvZ2dsZSl9O2cuVkVSU0lPTj0iMy4zLjYiLGcucHJvdG90eXBlLnRvZ2dsZT1mdW5jdGlvbihkKXt2YXIgZT1hKHRoaXMpO2lmKCFlLmlzKCIuZGlzYWJsZWQsIDpkaXNhYmxlZCIpKXt2YXIgZj1iKGUpLGc9Zi5oYXNDbGFzcygib3BlbiIpO2lmKGMoKSwhZyl7Im9udG91Y2hzdGFydCJpbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQmJiFmLmNsb3Nlc3QoIi5uYXZiYXItbmF2IikubGVuZ3RoJiZhKGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpKS5hZGRDbGFzcygiZHJvcGRvd24tYmFja2Ryb3AiKS5pbnNlcnRBZnRlcihhKHRoaXMpKS5vbigiY2xpY2siLGMpO3ZhciBoPXtyZWxhdGVkVGFyZ2V0OnRoaXN9O2lmKGYudHJpZ2dlcihkPWEuRXZlbnQoInNob3cuYnMuZHJvcGRvd24iLGgpKSxkLmlzRGVmYXVsdFByZXZlbnRlZCgpKXJldHVybjtlLnRyaWdnZXIoImZvY3VzIikuYXR0cigiYXJpYS1leHBhbmRlZCIsInRydWUiKSxmLnRvZ2dsZUNsYXNzKCJvcGVuIikudHJpZ2dlcihhLkV2ZW50KCJzaG93bi5icy5kcm9wZG93biIsaCkpfXJldHVybiExfX0sZy5wcm90b3R5cGUua2V5ZG93bj1mdW5jdGlvbihjKXtpZigvKDM4fDQwfDI3fDMyKS8udGVzdChjLndoaWNoKSYmIS9pbnB1dHx0ZXh0YXJlYS9pLnRlc3QoYy50YXJnZXQudGFnTmFtZSkpe3ZhciBkPWEodGhpcyk7aWYoYy5wcmV2ZW50RGVmYXVsdCgpLGMuc3RvcFByb3BhZ2F0aW9uKCksIWQuaXMoIi5kaXNhYmxlZCwgOmRpc2FibGVkIikpe3ZhciBlPWIoZCksZz1lLmhhc0NsYXNzKCJvcGVuIik7aWYoIWcmJjI3IT1jLndoaWNofHxnJiYyNz09Yy53aGljaClyZXR1cm4gMjc9PWMud2hpY2gmJmUuZmluZChmKS50cmlnZ2VyKCJmb2N1cyIpLGQudHJpZ2dlcigiY2xpY2siKTt2YXIgaD0iIGxpOm5vdCguZGlzYWJsZWQpOnZpc2libGUgYSIsaT1lLmZpbmQoIi5kcm9wZG93bi1tZW51IitoKTtpZihpLmxlbmd0aCl7dmFyIGo9aS5pbmRleChjLnRhcmdldCk7Mzg9PWMud2hpY2gmJmo+MCYmai0tLDQwPT1jLndoaWNoJiZqPGkubGVuZ3RoLTEmJmorKyx+anx8KGo9MCksaS5lcShqKS50cmlnZ2VyKCJmb2N1cyIpfX19fTt2YXIgaD1hLmZuLmRyb3Bkb3duO2EuZm4uZHJvcGRvd249ZCxhLmZuLmRyb3Bkb3duLkNvbnN0cnVjdG9yPWcsYS5mbi5kcm9wZG93bi5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4uZHJvcGRvd249aCx0aGlzfSxhKGRvY3VtZW50KS5vbigiY2xpY2suYnMuZHJvcGRvd24uZGF0YS1hcGkiLGMpLm9uKCJjbGljay5icy5kcm9wZG93bi5kYXRhLWFwaSIsIi5kcm9wZG93biBmb3JtIixmdW5jdGlvbihhKXthLnN0b3BQcm9wYWdhdGlvbigpfSkub24oImNsaWNrLmJzLmRyb3Bkb3duLmRhdGEtYXBpIixmLGcucHJvdG90eXBlLnRvZ2dsZSkub24oImtleWRvd24uYnMuZHJvcGRvd24uZGF0YS1hcGkiLGYsZy5wcm90b3R5cGUua2V5ZG93bikub24oImtleWRvd24uYnMuZHJvcGRvd24uZGF0YS1hcGkiLCIuZHJvcGRvd24tbWVudSIsZy5wcm90b3R5cGUua2V5ZG93bil9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIsZCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPWEodGhpcyksZj1lLmRhdGEoImJzLm1vZGFsIiksZz1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGUuZGF0YSgpLCJvYmplY3QiPT10eXBlb2YgYiYmYik7Znx8ZS5kYXRhKCJicy5tb2RhbCIsZj1uZXcgYyh0aGlzLGcpKSwic3RyaW5nIj09dHlwZW9mIGI/ZltiXShkKTpnLnNob3cmJmYuc2hvdyhkKX0pfXZhciBjPWZ1bmN0aW9uKGIsYyl7dGhpcy5vcHRpb25zPWMsdGhpcy4kYm9keT1hKGRvY3VtZW50LmJvZHkpLHRoaXMuJGVsZW1lbnQ9YShiKSx0aGlzLiRkaWFsb2c9dGhpcy4kZWxlbWVudC5maW5kKCIubW9kYWwtZGlhbG9nIiksdGhpcy4kYmFja2Ryb3A9bnVsbCx0aGlzLmlzU2hvd249bnVsbCx0aGlzLm9yaWdpbmFsQm9keVBhZD1udWxsLHRoaXMuc2Nyb2xsYmFyV2lkdGg9MCx0aGlzLmlnbm9yZUJhY2tkcm9wQ2xpY2s9ITEsdGhpcy5vcHRpb25zLnJlbW90ZSYmdGhpcy4kZWxlbWVudC5maW5kKCIubW9kYWwtY29udGVudCIpLmxvYWQodGhpcy5vcHRpb25zLnJlbW90ZSxhLnByb3h5KGZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC50cmlnZ2VyKCJsb2FkZWQuYnMubW9kYWwiKX0sdGhpcykpfTtjLlZFUlNJT049IjMuMy42IixjLlRSQU5TSVRJT05fRFVSQVRJT049MzAwLGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsYy5ERUZBVUxUUz17YmFja2Ryb3A6ITAsa2V5Ym9hcmQ6ITAsc2hvdzohMH0sYy5wcm90b3R5cGUudG9nZ2xlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlzU2hvd24/dGhpcy5oaWRlKCk6dGhpcy5zaG93KGEpfSxjLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMsZT1hLkV2ZW50KCJzaG93LmJzLm1vZGFsIix7cmVsYXRlZFRhcmdldDpifSk7dGhpcy4kZWxlbWVudC50cmlnZ2VyKGUpLHRoaXMuaXNTaG93bnx8ZS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8KHRoaXMuaXNTaG93bj0hMCx0aGlzLmNoZWNrU2Nyb2xsYmFyKCksdGhpcy5zZXRTY3JvbGxiYXIoKSx0aGlzLiRib2R5LmFkZENsYXNzKCJtb2RhbC1vcGVuIiksdGhpcy5lc2NhcGUoKSx0aGlzLnJlc2l6ZSgpLHRoaXMuJGVsZW1lbnQub24oImNsaWNrLmRpc21pc3MuYnMubW9kYWwiLCdbZGF0YS1kaXNtaXNzPSJtb2RhbCJdJyxhLnByb3h5KHRoaXMuaGlkZSx0aGlzKSksdGhpcy4kZGlhbG9nLm9uKCJtb3VzZWRvd24uZGlzbWlzcy5icy5tb2RhbCIsZnVuY3Rpb24oKXtkLiRlbGVtZW50Lm9uZSgibW91c2V1cC5kaXNtaXNzLmJzLm1vZGFsIixmdW5jdGlvbihiKXthKGIudGFyZ2V0KS5pcyhkLiRlbGVtZW50KSYmKGQuaWdub3JlQmFja2Ryb3BDbGljaz0hMCl9KX0pLHRoaXMuYmFja2Ryb3AoZnVuY3Rpb24oKXt2YXIgZT1hLnN1cHBvcnQudHJhbnNpdGlvbiYmZC4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpO2QuJGVsZW1lbnQucGFyZW50KCkubGVuZ3RofHxkLiRlbGVtZW50LmFwcGVuZFRvKGQuJGJvZHkpLGQuJGVsZW1lbnQuc2hvdygpLnNjcm9sbFRvcCgwKSxkLmFkanVzdERpYWxvZygpLGUmJmQuJGVsZW1lbnRbMF0ub2Zmc2V0V2lkdGgsZC4kZWxlbWVudC5hZGRDbGFzcygiaW4iKSxkLmVuZm9yY2VGb2N1cygpO3ZhciBmPWEuRXZlbnQoInNob3duLmJzLm1vZGFsIix7cmVsYXRlZFRhcmdldDpifSk7ZT9kLiRkaWFsb2cub25lKCJic1RyYW5zaXRpb25FbmQiLGZ1bmN0aW9uKCl7ZC4kZWxlbWVudC50cmlnZ2VyKCJmb2N1cyIpLnRyaWdnZXIoZil9KS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmQuJGVsZW1lbnQudHJpZ2dlcigiZm9jdXMiKS50cmlnZ2VyKGYpfSkpfSxjLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKGIpe2ImJmIucHJldmVudERlZmF1bHQoKSxiPWEuRXZlbnQoImhpZGUuYnMubW9kYWwiKSx0aGlzLiRlbGVtZW50LnRyaWdnZXIoYiksdGhpcy5pc1Nob3duJiYhYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmKHRoaXMuaXNTaG93bj0hMSx0aGlzLmVzY2FwZSgpLHRoaXMucmVzaXplKCksYShkb2N1bWVudCkub2ZmKCJmb2N1c2luLmJzLm1vZGFsIiksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcygiaW4iKS5vZmYoImNsaWNrLmRpc21pc3MuYnMubW9kYWwiKS5vZmYoIm1vdXNldXAuZGlzbWlzcy5icy5tb2RhbCIpLHRoaXMuJGRpYWxvZy5vZmYoIm1vdXNlZG93bi5kaXNtaXNzLmJzLm1vZGFsIiksYS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJGVsZW1lbnQuaGFzQ2xhc3MoImZhZGUiKT90aGlzLiRlbGVtZW50Lm9uZSgiYnNUcmFuc2l0aW9uRW5kIixhLnByb3h5KHRoaXMuaGlkZU1vZGFsLHRoaXMpKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOnRoaXMuaGlkZU1vZGFsKCkpfSxjLnByb3RvdHlwZS5lbmZvcmNlRm9jdXM9ZnVuY3Rpb24oKXthKGRvY3VtZW50KS5vZmYoImZvY3VzaW4uYnMubW9kYWwiKS5vbigiZm9jdXNpbi5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXt0aGlzLiRlbGVtZW50WzBdPT09YS50YXJnZXR8fHRoaXMuJGVsZW1lbnQuaGFzKGEudGFyZ2V0KS5sZW5ndGh8fHRoaXMuJGVsZW1lbnQudHJpZ2dlcigiZm9jdXMiKX0sdGhpcykpfSxjLnByb3RvdHlwZS5lc2NhcGU9ZnVuY3Rpb24oKXt0aGlzLmlzU2hvd24mJnRoaXMub3B0aW9ucy5rZXlib2FyZD90aGlzLiRlbGVtZW50Lm9uKCJrZXlkb3duLmRpc21pc3MuYnMubW9kYWwiLGEucHJveHkoZnVuY3Rpb24oYSl7Mjc9PWEud2hpY2gmJnRoaXMuaGlkZSgpfSx0aGlzKSk6dGhpcy5pc1Nob3dufHx0aGlzLiRlbGVtZW50Lm9mZigia2V5ZG93bi5kaXNtaXNzLmJzLm1vZGFsIil9LGMucHJvdG90eXBlLnJlc2l6ZT1mdW5jdGlvbigpe3RoaXMuaXNTaG93bj9hKHdpbmRvdykub24oInJlc2l6ZS5icy5tb2RhbCIsYS5wcm94eSh0aGlzLmhhbmRsZVVwZGF0ZSx0aGlzKSk6YSh3aW5kb3cpLm9mZigicmVzaXplLmJzLm1vZGFsIil9LGMucHJvdG90eXBlLmhpZGVNb2RhbD1mdW5jdGlvbigpe3ZhciBhPXRoaXM7dGhpcy4kZWxlbWVudC5oaWRlKCksdGhpcy5iYWNrZHJvcChmdW5jdGlvbigpe2EuJGJvZHkucmVtb3ZlQ2xhc3MoIm1vZGFsLW9wZW4iKSxhLnJlc2V0QWRqdXN0bWVudHMoKSxhLnJlc2V0U2Nyb2xsYmFyKCksYS4kZWxlbWVudC50cmlnZ2VyKCJoaWRkZW4uYnMubW9kYWwiKX0pfSxjLnByb3RvdHlwZS5yZW1vdmVCYWNrZHJvcD1mdW5jdGlvbigpe3RoaXMuJGJhY2tkcm9wJiZ0aGlzLiRiYWNrZHJvcC5yZW1vdmUoKSx0aGlzLiRiYWNrZHJvcD1udWxsfSxjLnByb3RvdHlwZS5iYWNrZHJvcD1mdW5jdGlvbihiKXt2YXIgZD10aGlzLGU9dGhpcy4kZWxlbWVudC5oYXNDbGFzcygiZmFkZSIpPyJmYWRlIjoiIjtpZih0aGlzLmlzU2hvd24mJnRoaXMub3B0aW9ucy5iYWNrZHJvcCl7dmFyIGY9YS5zdXBwb3J0LnRyYW5zaXRpb24mJmU7aWYodGhpcy4kYmFja2Ryb3A9YShkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSkuYWRkQ2xhc3MoIm1vZGFsLWJhY2tkcm9wICIrZSkuYXBwZW5kVG8odGhpcy4kYm9keSksdGhpcy4kZWxlbWVudC5vbigiY2xpY2suZGlzbWlzcy5icy5tb2RhbCIsYS5wcm94eShmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5pZ25vcmVCYWNrZHJvcENsaWNrP3ZvaWQodGhpcy5pZ25vcmVCYWNrZHJvcENsaWNrPSExKTp2b2lkKGEudGFyZ2V0PT09YS5jdXJyZW50VGFyZ2V0JiYoInN0YXRpYyI9PXRoaXMub3B0aW9ucy5iYWNrZHJvcD90aGlzLiRlbGVtZW50WzBdLmZvY3VzKCk6dGhpcy5oaWRlKCkpKX0sdGhpcykpLGYmJnRoaXMuJGJhY2tkcm9wWzBdLm9mZnNldFdpZHRoLHRoaXMuJGJhY2tkcm9wLmFkZENsYXNzKCJpbiIpLCFiKXJldHVybjtmP3RoaXMuJGJhY2tkcm9wLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixiKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLkJBQ0tEUk9QX1RSQU5TSVRJT05fRFVSQVRJT04pOmIoKX1lbHNlIGlmKCF0aGlzLmlzU2hvd24mJnRoaXMuJGJhY2tkcm9wKXt0aGlzLiRiYWNrZHJvcC5yZW1vdmVDbGFzcygiaW4iKTt2YXIgZz1mdW5jdGlvbigpe2QucmVtb3ZlQmFja2Ryb3AoKSxiJiZiKCl9O2Euc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRlbGVtZW50Lmhhc0NsYXNzKCJmYWRlIik/dGhpcy4kYmFja2Ryb3Aub25lKCJic1RyYW5zaXRpb25FbmQiLGcpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuQkFDS0RST1BfVFJBTlNJVElPTl9EVVJBVElPTik6ZygpfWVsc2UgYiYmYigpfSxjLnByb3RvdHlwZS5oYW5kbGVVcGRhdGU9ZnVuY3Rpb24oKXt0aGlzLmFkanVzdERpYWxvZygpfSxjLnByb3RvdHlwZS5hZGp1c3REaWFsb2c9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLiRlbGVtZW50WzBdLnNjcm9sbEhlaWdodD5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0O3RoaXMuJGVsZW1lbnQuY3NzKHtwYWRkaW5nTGVmdDohdGhpcy5ib2R5SXNPdmVyZmxvd2luZyYmYT90aGlzLnNjcm9sbGJhcldpZHRoOiIiLHBhZGRpbmdSaWdodDp0aGlzLmJvZHlJc092ZXJmbG93aW5nJiYhYT90aGlzLnNjcm9sbGJhcldpZHRoOiIifSl9LGMucHJvdG90eXBlLnJlc2V0QWRqdXN0bWVudHM9ZnVuY3Rpb24oKXt0aGlzLiRlbGVtZW50LmNzcyh7cGFkZGluZ0xlZnQ6IiIscGFkZGluZ1JpZ2h0OiIifSl9LGMucHJvdG90eXBlLmNoZWNrU2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dmFyIGE9d2luZG93LmlubmVyV2lkdGg7aWYoIWEpe3ZhciBiPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTthPWIucmlnaHQtTWF0aC5hYnMoYi5sZWZ0KX10aGlzLmJvZHlJc092ZXJmbG93aW5nPWRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGg8YSx0aGlzLnNjcm9sbGJhcldpZHRoPXRoaXMubWVhc3VyZVNjcm9sbGJhcigpfSxjLnByb3RvdHlwZS5zZXRTY3JvbGxiYXI9ZnVuY3Rpb24oKXt2YXIgYT1wYXJzZUludCh0aGlzLiRib2R5LmNzcygicGFkZGluZy1yaWdodCIpfHwwLDEwKTt0aGlzLm9yaWdpbmFsQm9keVBhZD1kb2N1bWVudC5ib2R5LnN0eWxlLnBhZGRpbmdSaWdodHx8IiIsdGhpcy5ib2R5SXNPdmVyZmxvd2luZyYmdGhpcy4kYm9keS5jc3MoInBhZGRpbmctcmlnaHQiLGErdGhpcy5zY3JvbGxiYXJXaWR0aCl9LGMucHJvdG90eXBlLnJlc2V0U2Nyb2xsYmFyPWZ1bmN0aW9uKCl7dGhpcy4kYm9keS5jc3MoInBhZGRpbmctcmlnaHQiLHRoaXMub3JpZ2luYWxCb2R5UGFkKX0sYy5wcm90b3R5cGUubWVhc3VyZVNjcm9sbGJhcj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2EuY2xhc3NOYW1lPSJtb2RhbC1zY3JvbGxiYXItbWVhc3VyZSIsdGhpcy4kYm9keS5hcHBlbmQoYSk7dmFyIGI9YS5vZmZzZXRXaWR0aC1hLmNsaWVudFdpZHRoO3JldHVybiB0aGlzLiRib2R5WzBdLnJlbW92ZUNoaWxkKGEpLGJ9O3ZhciBkPWEuZm4ubW9kYWw7YS5mbi5tb2RhbD1iLGEuZm4ubW9kYWwuQ29uc3RydWN0b3I9YyxhLmZuLm1vZGFsLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5tb2RhbD1kLHRoaXN9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5icy5tb2RhbC5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0ibW9kYWwiXScsZnVuY3Rpb24oYyl7dmFyIGQ9YSh0aGlzKSxlPWQuYXR0cigiaHJlZiIpLGY9YShkLmF0dHIoImRhdGEtdGFyZ2V0Iil8fGUmJmUucmVwbGFjZSgvLiooPz0jW15cc10rJCkvLCIiKSksZz1mLmRhdGEoImJzLm1vZGFsIik/InRvZ2dsZSI6YS5leHRlbmQoe3JlbW90ZTohLyMvLnRlc3QoZSkmJmV9LGYuZGF0YSgpLGQuZGF0YSgpKTtkLmlzKCJhIikmJmMucHJldmVudERlZmF1bHQoKSxmLm9uZSgic2hvdy5icy5tb2RhbCIsZnVuY3Rpb24oYSl7YS5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8Zi5vbmUoImhpZGRlbi5icy5tb2RhbCIsZnVuY3Rpb24oKXtkLmlzKCI6dmlzaWJsZSIpJiZkLnRyaWdnZXIoImZvY3VzIil9KX0pLGIuY2FsbChmLGcsdGhpcyl9KX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnRvb2x0aXAiKSxmPSJvYmplY3QiPT10eXBlb2YgYiYmYjsoZXx8IS9kZXN0cm95fGhpZGUvLnRlc3QoYikpJiYoZXx8ZC5kYXRhKCJicy50b29sdGlwIixlPW5ldyBjKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpKX0pfXZhciBjPWZ1bmN0aW9uKGEsYil7dGhpcy50eXBlPW51bGwsdGhpcy5vcHRpb25zPW51bGwsdGhpcy5lbmFibGVkPW51bGwsdGhpcy50aW1lb3V0PW51bGwsdGhpcy5ob3ZlclN0YXRlPW51bGwsdGhpcy4kZWxlbWVudD1udWxsLHRoaXMuaW5TdGF0ZT1udWxsLHRoaXMuaW5pdCgidG9vbHRpcCIsYSxiKX07Yy5WRVJTSU9OPSIzLjMuNiIsYy5UUkFOU0lUSU9OX0RVUkFUSU9OPTE1MCxjLkRFRkFVTFRTPXthbmltYXRpb246ITAscGxhY2VtZW50OiJ0b3AiLHNlbGVjdG9yOiExLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJ0b29sdGlwIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJ0b29sdGlwLWFycm93Ij48L2Rpdj48ZGl2IGNsYXNzPSJ0b29sdGlwLWlubmVyIj48L2Rpdj48L2Rpdj4nLHRyaWdnZXI6ImhvdmVyIGZvY3VzIix0aXRsZToiIixkZWxheTowLGh0bWw6ITEsY29udGFpbmVyOiExLHZpZXdwb3J0OntzZWxlY3RvcjoiYm9keSIscGFkZGluZzowfX0sYy5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihiLGMsZCl7aWYodGhpcy5lbmFibGVkPSEwLHRoaXMudHlwZT1iLHRoaXMuJGVsZW1lbnQ9YShjKSx0aGlzLm9wdGlvbnM9dGhpcy5nZXRPcHRpb25zKGQpLHRoaXMuJHZpZXdwb3J0PXRoaXMub3B0aW9ucy52aWV3cG9ydCYmYShhLmlzRnVuY3Rpb24odGhpcy5vcHRpb25zLnZpZXdwb3J0KT90aGlzLm9wdGlvbnMudmlld3BvcnQuY2FsbCh0aGlzLHRoaXMuJGVsZW1lbnQpOnRoaXMub3B0aW9ucy52aWV3cG9ydC5zZWxlY3Rvcnx8dGhpcy5vcHRpb25zLnZpZXdwb3J0KSx0aGlzLmluU3RhdGU9e2NsaWNrOiExLGhvdmVyOiExLGZvY3VzOiExfSx0aGlzLiRlbGVtZW50WzBdaW5zdGFuY2VvZiBkb2N1bWVudC5jb25zdHJ1Y3RvciYmIXRoaXMub3B0aW9ucy5zZWxlY3Rvcil0aHJvdyBuZXcgRXJyb3IoImBzZWxlY3RvcmAgb3B0aW9uIG11c3QgYmUgc3BlY2lmaWVkIHdoZW4gaW5pdGlhbGl6aW5nICIrdGhpcy50eXBlKyIgb24gdGhlIHdpbmRvdy5kb2N1bWVudCBvYmplY3QhIik7Zm9yKHZhciBlPXRoaXMub3B0aW9ucy50cmlnZ2VyLnNwbGl0KCIgIiksZj1lLmxlbmd0aDtmLS07KXt2YXIgZz1lW2ZdO2lmKCJjbGljayI9PWcpdGhpcy4kZWxlbWVudC5vbigiY2xpY2suIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy50b2dnbGUsdGhpcykpO2Vsc2UgaWYoIm1hbnVhbCIhPWcpe3ZhciBoPSJob3ZlciI9PWc/Im1vdXNlZW50ZXIiOiJmb2N1c2luIixpPSJob3ZlciI9PWc/Im1vdXNlbGVhdmUiOiJmb2N1c291dCI7dGhpcy4kZWxlbWVudC5vbihoKyIuIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy5lbnRlcix0aGlzKSksdGhpcy4kZWxlbWVudC5vbihpKyIuIit0aGlzLnR5cGUsdGhpcy5vcHRpb25zLnNlbGVjdG9yLGEucHJveHkodGhpcy5sZWF2ZSx0aGlzKSl9fXRoaXMub3B0aW9ucy5zZWxlY3Rvcj90aGlzLl9vcHRpb25zPWEuZXh0ZW5kKHt9LHRoaXMub3B0aW9ucyx7dHJpZ2dlcjoibWFudWFsIixzZWxlY3RvcjoiIn0pOnRoaXMuZml4VGl0bGUoKX0sYy5wcm90b3R5cGUuZ2V0RGVmYXVsdHM9ZnVuY3Rpb24oKXtyZXR1cm4gYy5ERUZBVUxUU30sYy5wcm90b3R5cGUuZ2V0T3B0aW9ucz1mdW5jdGlvbihiKXtyZXR1cm4gYj1hLmV4dGVuZCh7fSx0aGlzLmdldERlZmF1bHRzKCksdGhpcy4kZWxlbWVudC5kYXRhKCksYiksYi5kZWxheSYmIm51bWJlciI9PXR5cGVvZiBiLmRlbGF5JiYoYi5kZWxheT17c2hvdzpiLmRlbGF5LGhpZGU6Yi5kZWxheX0pLGJ9LGMucHJvdG90eXBlLmdldERlbGVnYXRlT3B0aW9ucz1mdW5jdGlvbigpe3ZhciBiPXt9LGM9dGhpcy5nZXREZWZhdWx0cygpO3JldHVybiB0aGlzLl9vcHRpb25zJiZhLmVhY2godGhpcy5fb3B0aW9ucyxmdW5jdGlvbihhLGQpe2NbYV0hPWQmJihiW2FdPWQpfSksYn0sYy5wcm90b3R5cGUuZW50ZXI9ZnVuY3Rpb24oYil7dmFyIGM9YiBpbnN0YW5jZW9mIHRoaXMuY29uc3RydWN0b3I/YjphKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpO3JldHVybiBjfHwoYz1uZXcgdGhpcy5jb25zdHJ1Y3RvcihiLmN1cnJlbnRUYXJnZXQsdGhpcy5nZXREZWxlZ2F0ZU9wdGlvbnMoKSksYShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlLGMpKSxiIGluc3RhbmNlb2YgYS5FdmVudCYmKGMuaW5TdGF0ZVsiZm9jdXNpbiI9PWIudHlwZT8iZm9jdXMiOiJob3ZlciJdPSEwKSxjLnRpcCgpLmhhc0NsYXNzKCJpbiIpfHwiaW4iPT1jLmhvdmVyU3RhdGU/dm9pZChjLmhvdmVyU3RhdGU9ImluIik6KGNsZWFyVGltZW91dChjLnRpbWVvdXQpLGMuaG92ZXJTdGF0ZT0iaW4iLGMub3B0aW9ucy5kZWxheSYmYy5vcHRpb25zLmRlbGF5LnNob3c/dm9pZChjLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpeyJpbiI9PWMuaG92ZXJTdGF0ZSYmYy5zaG93KCl9LGMub3B0aW9ucy5kZWxheS5zaG93KSk6Yy5zaG93KCkpfSxjLnByb3RvdHlwZS5pc0luU3RhdGVUcnVlPWZ1bmN0aW9uKCl7Zm9yKHZhciBhIGluIHRoaXMuaW5TdGF0ZSlpZih0aGlzLmluU3RhdGVbYV0pcmV0dXJuITA7cmV0dXJuITF9LGMucHJvdG90eXBlLmxlYXZlPWZ1bmN0aW9uKGIpe3ZhciBjPWIgaW5zdGFuY2VvZiB0aGlzLmNvbnN0cnVjdG9yP2I6YShiLmN1cnJlbnRUYXJnZXQpLmRhdGEoImJzLiIrdGhpcy50eXBlKTtyZXR1cm4gY3x8KGM9bmV3IHRoaXMuY29uc3RydWN0b3IoYi5jdXJyZW50VGFyZ2V0LHRoaXMuZ2V0RGVsZWdhdGVPcHRpb25zKCkpLGEoYi5jdXJyZW50VGFyZ2V0KS5kYXRhKCJicy4iK3RoaXMudHlwZSxjKSksYiBpbnN0YW5jZW9mIGEuRXZlbnQmJihjLmluU3RhdGVbImZvY3Vzb3V0Ij09Yi50eXBlPyJmb2N1cyI6ImhvdmVyIl09ITEpLGMuaXNJblN0YXRlVHJ1ZSgpP3ZvaWQgMDooY2xlYXJUaW1lb3V0KGMudGltZW91dCksYy5ob3ZlclN0YXRlPSJvdXQiLGMub3B0aW9ucy5kZWxheSYmYy5vcHRpb25zLmRlbGF5LmhpZGU/dm9pZChjLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpeyJvdXQiPT1jLmhvdmVyU3RhdGUmJmMuaGlkZSgpfSxjLm9wdGlvbnMuZGVsYXkuaGlkZSkpOmMuaGlkZSgpKX0sYy5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3ZhciBiPWEuRXZlbnQoInNob3cuYnMuIit0aGlzLnR5cGUpO2lmKHRoaXMuaGFzQ29udGVudCgpJiZ0aGlzLmVuYWJsZWQpe3RoaXMuJGVsZW1lbnQudHJpZ2dlcihiKTt2YXIgZD1hLmNvbnRhaW5zKHRoaXMuJGVsZW1lbnRbMF0ub3duZXJEb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsdGhpcy4kZWxlbWVudFswXSk7aWYoYi5pc0RlZmF1bHRQcmV2ZW50ZWQoKXx8IWQpcmV0dXJuO3ZhciBlPXRoaXMsZj10aGlzLnRpcCgpLGc9dGhpcy5nZXRVSUQodGhpcy50eXBlKTt0aGlzLnNldENvbnRlbnQoKSxmLmF0dHIoImlkIixnKSx0aGlzLiRlbGVtZW50LmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiLGcpLHRoaXMub3B0aW9ucy5hbmltYXRpb24mJmYuYWRkQ2xhc3MoImZhZGUiKTt2YXIgaD0iZnVuY3Rpb24iPT10eXBlb2YgdGhpcy5vcHRpb25zLnBsYWNlbWVudD90aGlzLm9wdGlvbnMucGxhY2VtZW50LmNhbGwodGhpcyxmWzBdLHRoaXMuJGVsZW1lbnRbMF0pOnRoaXMub3B0aW9ucy5wbGFjZW1lbnQsaT0vXHM/YXV0bz9ccz8vaSxqPWkudGVzdChoKTtqJiYoaD1oLnJlcGxhY2UoaSwiIil8fCJ0b3AiKSxmLmRldGFjaCgpLmNzcyh7dG9wOjAsbGVmdDowLGRpc3BsYXk6ImJsb2NrIn0pLmFkZENsYXNzKGgpLmRhdGEoImJzLiIrdGhpcy50eXBlLHRoaXMpLHRoaXMub3B0aW9ucy5jb250YWluZXI/Zi5hcHBlbmRUbyh0aGlzLm9wdGlvbnMuY29udGFpbmVyKTpmLmluc2VydEFmdGVyKHRoaXMuJGVsZW1lbnQpLHRoaXMuJGVsZW1lbnQudHJpZ2dlcigiaW5zZXJ0ZWQuYnMuIit0aGlzLnR5cGUpO3ZhciBrPXRoaXMuZ2V0UG9zaXRpb24oKSxsPWZbMF0ub2Zmc2V0V2lkdGgsbT1mWzBdLm9mZnNldEhlaWdodDtpZihqKXt2YXIgbj1oLG89dGhpcy5nZXRQb3NpdGlvbih0aGlzLiR2aWV3cG9ydCk7aD0iYm90dG9tIj09aCYmay5ib3R0b20rbT5vLmJvdHRvbT8idG9wIjoidG9wIj09aCYmay50b3AtbTxvLnRvcD8iYm90dG9tIjoicmlnaHQiPT1oJiZrLnJpZ2h0K2w+by53aWR0aD8ibGVmdCI6ImxlZnQiPT1oJiZrLmxlZnQtbDxvLmxlZnQ/InJpZ2h0IjpoLGYucmVtb3ZlQ2xhc3MobikuYWRkQ2xhc3MoaCl9dmFyIHA9dGhpcy5nZXRDYWxjdWxhdGVkT2Zmc2V0KGgsayxsLG0pO3RoaXMuYXBwbHlQbGFjZW1lbnQocCxoKTt2YXIgcT1mdW5jdGlvbigpe3ZhciBhPWUuaG92ZXJTdGF0ZTtlLiRlbGVtZW50LnRyaWdnZXIoInNob3duLmJzLiIrZS50eXBlKSxlLmhvdmVyU3RhdGU9bnVsbCwib3V0Ij09YSYmZS5sZWF2ZShlKX07YS5zdXBwb3J0LnRyYW5zaXRpb24mJnRoaXMuJHRpcC5oYXNDbGFzcygiZmFkZSIpP2Yub25lKCJic1RyYW5zaXRpb25FbmQiLHEpLmVtdWxhdGVUcmFuc2l0aW9uRW5kKGMuVFJBTlNJVElPTl9EVVJBVElPTik6cSgpfX0sYy5wcm90b3R5cGUuYXBwbHlQbGFjZW1lbnQ9ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLnRpcCgpLGU9ZFswXS5vZmZzZXRXaWR0aCxmPWRbMF0ub2Zmc2V0SGVpZ2h0LGc9cGFyc2VJbnQoZC5jc3MoIm1hcmdpbi10b3AiKSwxMCksaD1wYXJzZUludChkLmNzcygibWFyZ2luLWxlZnQiKSwxMCk7aXNOYU4oZykmJihnPTApLGlzTmFOKGgpJiYoaD0wKSxiLnRvcCs9ZyxiLmxlZnQrPWgsYS5vZmZzZXQuc2V0T2Zmc2V0KGRbMF0sYS5leHRlbmQoe3VzaW5nOmZ1bmN0aW9uKGEpe2QuY3NzKHt0b3A6TWF0aC5yb3VuZChhLnRvcCksbGVmdDpNYXRoLnJvdW5kKGEubGVmdCl9KX19LGIpLDApLGQuYWRkQ2xhc3MoImluIik7dmFyIGk9ZFswXS5vZmZzZXRXaWR0aCxqPWRbMF0ub2Zmc2V0SGVpZ2h0OyJ0b3AiPT1jJiZqIT1mJiYoYi50b3A9Yi50b3ArZi1qKTt2YXIgaz10aGlzLmdldFZpZXdwb3J0QWRqdXN0ZWREZWx0YShjLGIsaSxqKTtrLmxlZnQ/Yi5sZWZ0Kz1rLmxlZnQ6Yi50b3ArPWsudG9wO3ZhciBsPS90b3B8Ym90dG9tLy50ZXN0KGMpLG09bD8yKmsubGVmdC1lK2k6MiprLnRvcC1mK2osbj1sPyJvZmZzZXRXaWR0aCI6Im9mZnNldEhlaWdodCI7ZC5vZmZzZXQoYiksdGhpcy5yZXBsYWNlQXJyb3cobSxkWzBdW25dLGwpfSxjLnByb3RvdHlwZS5yZXBsYWNlQXJyb3c9ZnVuY3Rpb24oYSxiLGMpe3RoaXMuYXJyb3coKS5jc3MoYz8ibGVmdCI6InRvcCIsNTAqKDEtYS9iKSsiJSIpLmNzcyhjPyJ0b3AiOiJsZWZ0IiwiIil9LGMucHJvdG90eXBlLnNldENvbnRlbnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnRpcCgpLGI9dGhpcy5nZXRUaXRsZSgpO2EuZmluZCgiLnRvb2x0aXAtaW5uZXIiKVt0aGlzLm9wdGlvbnMuaHRtbD8iaHRtbCI6InRleHQiXShiKSxhLnJlbW92ZUNsYXNzKCJmYWRlIGluIHRvcCBib3R0b20gbGVmdCByaWdodCIpfSxjLnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGQoKXsiaW4iIT1lLmhvdmVyU3RhdGUmJmYuZGV0YWNoKCksZS4kZWxlbWVudC5yZW1vdmVBdHRyKCJhcmlhLWRlc2NyaWJlZGJ5IikudHJpZ2dlcigiaGlkZGVuLmJzLiIrZS50eXBlKSxiJiZiKCl9dmFyIGU9dGhpcyxmPWEodGhpcy4kdGlwKSxnPWEuRXZlbnQoImhpZGUuYnMuIit0aGlzLnR5cGUpO3JldHVybiB0aGlzLiRlbGVtZW50LnRyaWdnZXIoZyksZy5pc0RlZmF1bHRQcmV2ZW50ZWQoKT92b2lkIDA6KGYucmVtb3ZlQ2xhc3MoImluIiksYS5zdXBwb3J0LnRyYW5zaXRpb24mJmYuaGFzQ2xhc3MoImZhZGUiKT9mLm9uZSgiYnNUcmFuc2l0aW9uRW5kIixkKS5lbXVsYXRlVHJhbnNpdGlvbkVuZChjLlRSQU5TSVRJT05fRFVSQVRJT04pOmQoKSx0aGlzLmhvdmVyU3RhdGU9bnVsbCx0aGlzKX0sYy5wcm90b3R5cGUuZml4VGl0bGU9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLiRlbGVtZW50OyhhLmF0dHIoInRpdGxlIil8fCJzdHJpbmciIT10eXBlb2YgYS5hdHRyKCJkYXRhLW9yaWdpbmFsLXRpdGxlIikpJiZhLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiLGEuYXR0cigidGl0bGUiKXx8IiIpLmF0dHIoInRpdGxlIiwiIil9LGMucHJvdG90eXBlLmhhc0NvbnRlbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaXRsZSgpfSxjLnByb3RvdHlwZS5nZXRQb3NpdGlvbj1mdW5jdGlvbihiKXtiPWJ8fHRoaXMuJGVsZW1lbnQ7dmFyIGM9YlswXSxkPSJCT0RZIj09Yy50YWdOYW1lLGU9Yy5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtudWxsPT1lLndpZHRoJiYoZT1hLmV4dGVuZCh7fSxlLHt3aWR0aDplLnJpZ2h0LWUubGVmdCxoZWlnaHQ6ZS5ib3R0b20tZS50b3B9KSk7dmFyIGY9ZD97dG9wOjAsbGVmdDowfTpiLm9mZnNldCgpLGc9e3Njcm9sbDpkP2RvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3B8fGRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wOmIuc2Nyb2xsVG9wKCl9LGg9ZD97d2lkdGg6YSh3aW5kb3cpLndpZHRoKCksaGVpZ2h0OmEod2luZG93KS5oZWlnaHQoKX06bnVsbDtyZXR1cm4gYS5leHRlbmQoe30sZSxnLGgsZil9LGMucHJvdG90eXBlLmdldENhbGN1bGF0ZWRPZmZzZXQ9ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuImJvdHRvbSI9PWE/e3RvcDpiLnRvcCtiLmhlaWdodCxsZWZ0OmIubGVmdCtiLndpZHRoLzItYy8yfToidG9wIj09YT97dG9wOmIudG9wLWQsbGVmdDpiLmxlZnQrYi53aWR0aC8yLWMvMn06ImxlZnQiPT1hP3t0b3A6Yi50b3ArYi5oZWlnaHQvMi1kLzIsbGVmdDpiLmxlZnQtY306e3RvcDpiLnRvcCtiLmhlaWdodC8yLWQvMixsZWZ0OmIubGVmdCtiLndpZHRofX0sYy5wcm90b3R5cGUuZ2V0Vmlld3BvcnRBZGp1c3RlZERlbHRhPWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPXt0b3A6MCxsZWZ0OjB9O2lmKCF0aGlzLiR2aWV3cG9ydClyZXR1cm4gZTt2YXIgZj10aGlzLm9wdGlvbnMudmlld3BvcnQmJnRoaXMub3B0aW9ucy52aWV3cG9ydC5wYWRkaW5nfHwwLGc9dGhpcy5nZXRQb3NpdGlvbih0aGlzLiR2aWV3cG9ydCk7aWYoL3JpZ2h0fGxlZnQvLnRlc3QoYSkpe3ZhciBoPWIudG9wLWYtZy5zY3JvbGwsaT1iLnRvcCtmLWcuc2Nyb2xsK2Q7aDxnLnRvcD9lLnRvcD1nLnRvcC1oOmk+Zy50b3ArZy5oZWlnaHQmJihlLnRvcD1nLnRvcCtnLmhlaWdodC1pKX1lbHNle3ZhciBqPWIubGVmdC1mLGs9Yi5sZWZ0K2YrYztqPGcubGVmdD9lLmxlZnQ9Zy5sZWZ0LWo6az5nLnJpZ2h0JiYoZS5sZWZ0PWcubGVmdCtnLndpZHRoLWspfXJldHVybiBlfSxjLnByb3RvdHlwZS5nZXRUaXRsZT1mdW5jdGlvbigpe3ZhciBhLGI9dGhpcy4kZWxlbWVudCxjPXRoaXMub3B0aW9ucztyZXR1cm4gYT1iLmF0dHIoImRhdGEtb3JpZ2luYWwtdGl0bGUiKXx8KCJmdW5jdGlvbiI9PXR5cGVvZiBjLnRpdGxlP2MudGl0bGUuY2FsbChiWzBdKTpjLnRpdGxlKX0sYy5wcm90b3R5cGUuZ2V0VUlEPWZ1bmN0aW9uKGEpe2RvIGErPX5+KDFlNipNYXRoLnJhbmRvbSgpKTt3aGlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZChhKSk7cmV0dXJuIGF9LGMucHJvdG90eXBlLnRpcD1mdW5jdGlvbigpe2lmKCF0aGlzLiR0aXAmJih0aGlzLiR0aXA9YSh0aGlzLm9wdGlvbnMudGVtcGxhdGUpLDEhPXRoaXMuJHRpcC5sZW5ndGgpKXRocm93IG5ldyBFcnJvcih0aGlzLnR5cGUrIiBgdGVtcGxhdGVgIG9wdGlvbiBtdXN0IGNvbnNpc3Qgb2YgZXhhY3RseSAxIHRvcC1sZXZlbCBlbGVtZW50ISIpO3JldHVybiB0aGlzLiR0aXB9LGMucHJvdG90eXBlLmFycm93PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJGFycm93PXRoaXMuJGFycm93fHx0aGlzLnRpcCgpLmZpbmQoIi50b29sdGlwLWFycm93Iil9LGMucHJvdG90eXBlLmVuYWJsZT1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMH0sYy5wcm90b3R5cGUuZGlzYWJsZT1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hMX0sYy5wcm90b3R5cGUudG9nZ2xlRW5hYmxlZD1mdW5jdGlvbigpe3RoaXMuZW5hYmxlZD0hdGhpcy5lbmFibGVkfSxjLnByb3RvdHlwZS50b2dnbGU9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcztiJiYoYz1hKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUpLGN8fChjPW5ldyB0aGlzLmNvbnN0cnVjdG9yKGIuY3VycmVudFRhcmdldCx0aGlzLmdldERlbGVnYXRlT3B0aW9ucygpKSxhKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYnMuIit0aGlzLnR5cGUsYykpKSxiPyhjLmluU3RhdGUuY2xpY2s9IWMuaW5TdGF0ZS5jbGljayxjLmlzSW5TdGF0ZVRydWUoKT9jLmVudGVyKGMpOmMubGVhdmUoYykpOmMudGlwKCkuaGFzQ2xhc3MoImluIik/Yy5sZWF2ZShjKTpjLmVudGVyKGMpfSxjLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGE9dGhpcztjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0KSx0aGlzLmhpZGUoZnVuY3Rpb24oKXthLiRlbGVtZW50Lm9mZigiLiIrYS50eXBlKS5yZW1vdmVEYXRhKCJicy4iK2EudHlwZSksYS4kdGlwJiZhLiR0aXAuZGV0YWNoKCksYS4kdGlwPW51bGwsYS4kYXJyb3c9bnVsbCxhLiR2aWV3cG9ydD1udWxsfSl9O3ZhciBkPWEuZm4udG9vbHRpcDthLmZuLnRvb2x0aXA9YixhLmZuLnRvb2x0aXAuQ29uc3RydWN0b3I9YyxhLmZuLnRvb2x0aXAubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLnRvb2x0aXA9ZCx0aGlzfX0oalF1ZXJ5KSwrZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGIoYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoImJzLnBvcG92ZXIiKSxmPSJvYmplY3QiPT10eXBlb2YgYiYmYjsoZXx8IS9kZXN0cm95fGhpZGUvLnRlc3QoYikpJiYoZXx8ZC5kYXRhKCJicy5wb3BvdmVyIixlPW5ldyBjKHRoaXMsZikpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpKX0pfXZhciBjPWZ1bmN0aW9uKGEsYil7dGhpcy5pbml0KCJwb3BvdmVyIixhLGIpfTtpZighYS5mbi50b29sdGlwKXRocm93IG5ldyBFcnJvcigiUG9wb3ZlciByZXF1aXJlcyB0b29sdGlwLmpzIik7Yy5WRVJTSU9OPSIzLjMuNiIsYy5ERUZBVUxUUz1hLmV4dGVuZCh7fSxhLmZuLnRvb2x0aXAuQ29uc3RydWN0b3IuREVGQVVMVFMse3BsYWNlbWVudDoicmlnaHQiLHRyaWdnZXI6ImNsaWNrIixjb250ZW50OiIiLHRlbXBsYXRlOic8ZGl2IGNsYXNzPSJwb3BvdmVyIiByb2xlPSJ0b29sdGlwIj48ZGl2IGNsYXNzPSJhcnJvdyI+PC9kaXY+PGgzIGNsYXNzPSJwb3BvdmVyLXRpdGxlIj48L2gzPjxkaXYgY2xhc3M9InBvcG92ZXItY29udGVudCI+PC9kaXY+PC9kaXY+J30pLGMucHJvdG90eXBlPWEuZXh0ZW5kKHt9LGEuZm4udG9vbHRpcC5Db25zdHJ1Y3Rvci5wcm90b3R5cGUpLGMucHJvdG90eXBlLmNvbnN0cnVjdG9yPWMsYy5wcm90b3R5cGUuZ2V0RGVmYXVsdHM9ZnVuY3Rpb24oKXtyZXR1cm4gYy5ERUZBVUxUU30sYy5wcm90b3R5cGUuc2V0Q29udGVudD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudGlwKCksYj10aGlzLmdldFRpdGxlKCksYz10aGlzLmdldENvbnRlbnQoKTthLmZpbmQoIi5wb3BvdmVyLXRpdGxlIilbdGhpcy5vcHRpb25zLmh0bWw/Imh0bWwiOiJ0ZXh0Il0oYiksYS5maW5kKCIucG9wb3Zlci1jb250ZW50IikuY2hpbGRyZW4oKS5kZXRhY2goKS5lbmQoKVt0aGlzLm9wdGlvbnMuaHRtbD8ic3RyaW5nIj09dHlwZW9mIGM/Imh0bWwiOiJhcHBlbmQiOiJ0ZXh0Il0oYyksYS5yZW1vdmVDbGFzcygiZmFkZSB0b3AgYm90dG9tIGxlZnQgcmlnaHQgaW4iKSxhLmZpbmQoIi5wb3BvdmVyLXRpdGxlIikuaHRtbCgpfHxhLmZpbmQoIi5wb3BvdmVyLXRpdGxlIikuaGlkZSgpfSxjLnByb3RvdHlwZS5oYXNDb250ZW50PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VGl0bGUoKXx8dGhpcy5nZXRDb250ZW50KCl9LGMucHJvdG90eXBlLmdldENvbnRlbnQ9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLiRlbGVtZW50LGI9dGhpcy5vcHRpb25zO3JldHVybiBhLmF0dHIoImRhdGEtY29udGVudCIpfHwoImZ1bmN0aW9uIj09dHlwZW9mIGIuY29udGVudD9iLmNvbnRlbnQuY2FsbChhWzBdKTpiLmNvbnRlbnQpfSxjLnByb3RvdHlwZS5hcnJvdz1mdW5jdGlvbigpe3JldHVybiB0aGlzLiRhcnJvdz10aGlzLiRhcnJvd3x8dGhpcy50aXAoKS5maW5kKCIuYXJyb3ciKX07dmFyIGQ9YS5mbi5wb3BvdmVyO2EuZm4ucG9wb3Zlcj1iLGEuZm4ucG9wb3Zlci5Db25zdHJ1Y3Rvcj1jLGEuZm4ucG9wb3Zlci5ub0NvbmZsaWN0PWZ1bmN0aW9uKCl7cmV0dXJuIGEuZm4ucG9wb3Zlcj1kLHRoaXN9fShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihjLGQpe3RoaXMuJGJvZHk9YShkb2N1bWVudC5ib2R5KSx0aGlzLiRzY3JvbGxFbGVtZW50PWEoYShjKS5pcyhkb2N1bWVudC5ib2R5KT93aW5kb3c6YyksdGhpcy5vcHRpb25zPWEuZXh0ZW5kKHt9LGIuREVGQVVMVFMsZCksdGhpcy5zZWxlY3Rvcj0odGhpcy5vcHRpb25zLnRhcmdldHx8IiIpKyIgLm5hdiBsaSA+IGEiLHRoaXMub2Zmc2V0cz1bXSx0aGlzLnRhcmdldHM9W10sdGhpcy5hY3RpdmVUYXJnZXQ9bnVsbCx0aGlzLnNjcm9sbEhlaWdodD0wLHRoaXMuJHNjcm9sbEVsZW1lbnQub24oInNjcm9sbC5icy5zY3JvbGxzcHkiLGEucHJveHkodGhpcy5wcm9jZXNzLHRoaXMpKSx0aGlzLnJlZnJlc2goKSx0aGlzLnByb2Nlc3MoKX1mdW5jdGlvbiBjKGMpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5zY3JvbGxzcHkiKSxmPSJvYmplY3QiPT10eXBlb2YgYyYmYztlfHxkLmRhdGEoImJzLnNjcm9sbHNweSIsZT1uZXcgYih0aGlzLGYpKSwic3RyaW5nIj09dHlwZW9mIGMmJmVbY10oKX0pfWIuVkVSU0lPTj0iMy4zLjYiLGIuREVGQVVMVFM9e29mZnNldDoxMH0sYi5wcm90b3R5cGUuZ2V0U2Nyb2xsSGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHNjcm9sbEVsZW1lbnRbMF0uc2Nyb2xsSGVpZ2h0fHxNYXRoLm1heCh0aGlzLiRib2R5WzBdLnNjcm9sbEhlaWdodCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0KX0sYi5wcm90b3R5cGUucmVmcmVzaD1mdW5jdGlvbigpe3ZhciBiPXRoaXMsYz0ib2Zmc2V0IixkPTA7dGhpcy5vZmZzZXRzPVtdLHRoaXMudGFyZ2V0cz1bXSx0aGlzLnNjcm9sbEhlaWdodD10aGlzLmdldFNjcm9sbEhlaWdodCgpLGEuaXNXaW5kb3codGhpcy4kc2Nyb2xsRWxlbWVudFswXSl8fChjPSJwb3NpdGlvbiIsZD10aGlzLiRzY3JvbGxFbGVtZW50LnNjcm9sbFRvcCgpKSx0aGlzLiRib2R5LmZpbmQodGhpcy5zZWxlY3RvcikubWFwKGZ1bmN0aW9uKCl7dmFyIGI9YSh0aGlzKSxlPWIuZGF0YSgidGFyZ2V0Iil8fGIuYXR0cigiaHJlZiIpLGY9L14jLi8udGVzdChlKSYmYShlKTtyZXR1cm4gZiYmZi5sZW5ndGgmJmYuaXMoIjp2aXNpYmxlIikmJltbZltjXSgpLnRvcCtkLGVdXXx8bnVsbH0pLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gYVswXS1iWzBdfSkuZWFjaChmdW5jdGlvbigpe2Iub2Zmc2V0cy5wdXNoKHRoaXNbMF0pLGIudGFyZ2V0cy5wdXNoKHRoaXNbMV0pfSl9LGIucHJvdG90eXBlLnByb2Nlc3M9ZnVuY3Rpb24oKXt2YXIgYSxiPXRoaXMuJHNjcm9sbEVsZW1lbnQuc2Nyb2xsVG9wKCkrdGhpcy5vcHRpb25zLm9mZnNldCxjPXRoaXMuZ2V0U2Nyb2xsSGVpZ2h0KCksZD10aGlzLm9wdGlvbnMub2Zmc2V0K2MtdGhpcy4kc2Nyb2xsRWxlbWVudC5oZWlnaHQoKSxlPXRoaXMub2Zmc2V0cyxmPXRoaXMudGFyZ2V0cyxnPXRoaXMuYWN0aXZlVGFyZ2V0O2lmKHRoaXMuc2Nyb2xsSGVpZ2h0IT1jJiZ0aGlzLnJlZnJlc2goKSxiPj1kKXJldHVybiBnIT0oYT1mW2YubGVuZ3RoLTFdKSYmdGhpcy5hY3RpdmF0ZShhKTtpZihnJiZiPGVbMF0pcmV0dXJuIHRoaXMuYWN0aXZlVGFyZ2V0PW51bGwsdGhpcy5jbGVhcigpO2ZvcihhPWUubGVuZ3RoO2EtLTspZyE9ZlthXSYmYj49ZVthXSYmKHZvaWQgMD09PWVbYSsxXXx8YjxlW2ErMV0pJiZ0aGlzLmFjdGl2YXRlKGZbYV0pfSxiLnByb3RvdHlwZS5hY3RpdmF0ZT1mdW5jdGlvbihiKXt0aGlzLmFjdGl2ZVRhcmdldD1iLHRoaXMuY2xlYXIoKTt2YXIgYz10aGlzLnNlbGVjdG9yKydbZGF0YS10YXJnZXQ9IicrYisnIl0sJyt0aGlzLnNlbGVjdG9yKydbaHJlZj0iJytiKyciXScsZD1hKGMpLnBhcmVudHMoImxpIikuYWRkQ2xhc3MoImFjdGl2ZSIpOwpkLnBhcmVudCgiLmRyb3Bkb3duLW1lbnUiKS5sZW5ndGgmJihkPWQuY2xvc2VzdCgibGkuZHJvcGRvd24iKS5hZGRDbGFzcygiYWN0aXZlIikpLGQudHJpZ2dlcigiYWN0aXZhdGUuYnMuc2Nyb2xsc3B5Iil9LGIucHJvdG90eXBlLmNsZWFyPWZ1bmN0aW9uKCl7YSh0aGlzLnNlbGVjdG9yKS5wYXJlbnRzVW50aWwodGhpcy5vcHRpb25zLnRhcmdldCwiLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKX07dmFyIGQ9YS5mbi5zY3JvbGxzcHk7YS5mbi5zY3JvbGxzcHk9YyxhLmZuLnNjcm9sbHNweS5Db25zdHJ1Y3Rvcj1iLGEuZm4uc2Nyb2xsc3B5Lm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi5zY3JvbGxzcHk9ZCx0aGlzfSxhKHdpbmRvdykub24oImxvYWQuYnMuc2Nyb2xsc3B5LmRhdGEtYXBpIixmdW5jdGlvbigpe2EoJ1tkYXRhLXNweT0ic2Nyb2xsIl0nKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGI9YSh0aGlzKTtjLmNhbGwoYixiLmRhdGEoKSl9KX0pfShqUXVlcnkpLCtmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiYnMudGFiIik7ZXx8ZC5kYXRhKCJicy50YWIiLGU9bmV3IGModGhpcykpLCJzdHJpbmciPT10eXBlb2YgYiYmZVtiXSgpfSl9dmFyIGM9ZnVuY3Rpb24oYil7dGhpcy5lbGVtZW50PWEoYil9O2MuVkVSU0lPTj0iMy4zLjYiLGMuVFJBTlNJVElPTl9EVVJBVElPTj0xNTAsYy5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3ZhciBiPXRoaXMuZWxlbWVudCxjPWIuY2xvc2VzdCgidWw6bm90KC5kcm9wZG93bi1tZW51KSIpLGQ9Yi5kYXRhKCJ0YXJnZXQiKTtpZihkfHwoZD1iLmF0dHIoImhyZWYiKSxkPWQmJmQucmVwbGFjZSgvLiooPz0jW15cc10qJCkvLCIiKSksIWIucGFyZW50KCJsaSIpLmhhc0NsYXNzKCJhY3RpdmUiKSl7dmFyIGU9Yy5maW5kKCIuYWN0aXZlOmxhc3QgYSIpLGY9YS5FdmVudCgiaGlkZS5icy50YWIiLHtyZWxhdGVkVGFyZ2V0OmJbMF19KSxnPWEuRXZlbnQoInNob3cuYnMudGFiIix7cmVsYXRlZFRhcmdldDplWzBdfSk7aWYoZS50cmlnZ2VyKGYpLGIudHJpZ2dlcihnKSwhZy5pc0RlZmF1bHRQcmV2ZW50ZWQoKSYmIWYuaXNEZWZhdWx0UHJldmVudGVkKCkpe3ZhciBoPWEoZCk7dGhpcy5hY3RpdmF0ZShiLmNsb3Nlc3QoImxpIiksYyksdGhpcy5hY3RpdmF0ZShoLGgucGFyZW50KCksZnVuY3Rpb24oKXtlLnRyaWdnZXIoe3R5cGU6ImhpZGRlbi5icy50YWIiLHJlbGF0ZWRUYXJnZXQ6YlswXX0pLGIudHJpZ2dlcih7dHlwZToic2hvd24uYnMudGFiIixyZWxhdGVkVGFyZ2V0OmVbMF19KX0pfX19LGMucHJvdG90eXBlLmFjdGl2YXRlPWZ1bmN0aW9uKGIsZCxlKXtmdW5jdGlvbiBmKCl7Zy5yZW1vdmVDbGFzcygiYWN0aXZlIikuZmluZCgiPiAuZHJvcGRvd24tbWVudSA+IC5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIikuZW5kKCkuZmluZCgnW2RhdGEtdG9nZ2xlPSJ0YWIiXScpLmF0dHIoImFyaWEtZXhwYW5kZWQiLCExKSxiLmFkZENsYXNzKCJhY3RpdmUiKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLGg/KGJbMF0ub2Zmc2V0V2lkdGgsYi5hZGRDbGFzcygiaW4iKSk6Yi5yZW1vdmVDbGFzcygiZmFkZSIpLGIucGFyZW50KCIuZHJvcGRvd24tbWVudSIpLmxlbmd0aCYmYi5jbG9zZXN0KCJsaS5kcm9wZG93biIpLmFkZENsYXNzKCJhY3RpdmUiKS5lbmQoKS5maW5kKCdbZGF0YS10b2dnbGU9InRhYiJdJykuYXR0cigiYXJpYS1leHBhbmRlZCIsITApLGUmJmUoKX12YXIgZz1kLmZpbmQoIj4gLmFjdGl2ZSIpLGg9ZSYmYS5zdXBwb3J0LnRyYW5zaXRpb24mJihnLmxlbmd0aCYmZy5oYXNDbGFzcygiZmFkZSIpfHwhIWQuZmluZCgiPiAuZmFkZSIpLmxlbmd0aCk7Zy5sZW5ndGgmJmg/Zy5vbmUoImJzVHJhbnNpdGlvbkVuZCIsZikuZW11bGF0ZVRyYW5zaXRpb25FbmQoYy5UUkFOU0lUSU9OX0RVUkFUSU9OKTpmKCksZy5yZW1vdmVDbGFzcygiaW4iKX07dmFyIGQ9YS5mbi50YWI7YS5mbi50YWI9YixhLmZuLnRhYi5Db25zdHJ1Y3Rvcj1jLGEuZm4udGFiLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oKXtyZXR1cm4gYS5mbi50YWI9ZCx0aGlzfTt2YXIgZT1mdW5jdGlvbihjKXtjLnByZXZlbnREZWZhdWx0KCksYi5jYWxsKGEodGhpcyksInNob3ciKX07YShkb2N1bWVudCkub24oImNsaWNrLmJzLnRhYi5kYXRhLWFwaSIsJ1tkYXRhLXRvZ2dsZT0idGFiIl0nLGUpLm9uKCJjbGljay5icy50YWIuZGF0YS1hcGkiLCdbZGF0YS10b2dnbGU9InBpbGwiXScsZSl9KGpRdWVyeSksK2Z1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBiKGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJicy5hZmZpeCIpLGY9Im9iamVjdCI9PXR5cGVvZiBiJiZiO2V8fGQuZGF0YSgiYnMuYWZmaXgiLGU9bmV3IGModGhpcyxmKSksInN0cmluZyI9PXR5cGVvZiBiJiZlW2JdKCl9KX12YXIgYz1mdW5jdGlvbihiLGQpe3RoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxjLkRFRkFVTFRTLGQpLHRoaXMuJHRhcmdldD1hKHRoaXMub3B0aW9ucy50YXJnZXQpLm9uKCJzY3JvbGwuYnMuYWZmaXguZGF0YS1hcGkiLGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uLHRoaXMpKS5vbigiY2xpY2suYnMuYWZmaXguZGF0YS1hcGkiLGEucHJveHkodGhpcy5jaGVja1Bvc2l0aW9uV2l0aEV2ZW50TG9vcCx0aGlzKSksdGhpcy4kZWxlbWVudD1hKGIpLHRoaXMuYWZmaXhlZD1udWxsLHRoaXMudW5waW49bnVsbCx0aGlzLnBpbm5lZE9mZnNldD1udWxsLHRoaXMuY2hlY2tQb3NpdGlvbigpfTtjLlZFUlNJT049IjMuMy42IixjLlJFU0VUPSJhZmZpeCBhZmZpeC10b3AgYWZmaXgtYm90dG9tIixjLkRFRkFVTFRTPXtvZmZzZXQ6MCx0YXJnZXQ6d2luZG93fSxjLnByb3RvdHlwZS5nZXRTdGF0ZT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZT10aGlzLiR0YXJnZXQuc2Nyb2xsVG9wKCksZj10aGlzLiRlbGVtZW50Lm9mZnNldCgpLGc9dGhpcy4kdGFyZ2V0LmhlaWdodCgpO2lmKG51bGwhPWMmJiJ0b3AiPT10aGlzLmFmZml4ZWQpcmV0dXJuIGM+ZT8idG9wIjohMTtpZigiYm90dG9tIj09dGhpcy5hZmZpeGVkKXJldHVybiBudWxsIT1jP2UrdGhpcy51bnBpbjw9Zi50b3A/ITE6ImJvdHRvbSI6YS1kPj1lK2c/ITE6ImJvdHRvbSI7dmFyIGg9bnVsbD09dGhpcy5hZmZpeGVkLGk9aD9lOmYudG9wLGo9aD9nOmI7cmV0dXJuIG51bGwhPWMmJmM+PWU/InRvcCI6bnVsbCE9ZCYmaStqPj1hLWQ/ImJvdHRvbSI6ITF9LGMucHJvdG90eXBlLmdldFBpbm5lZE9mZnNldD1mdW5jdGlvbigpe2lmKHRoaXMucGlubmVkT2Zmc2V0KXJldHVybiB0aGlzLnBpbm5lZE9mZnNldDt0aGlzLiRlbGVtZW50LnJlbW92ZUNsYXNzKGMuUkVTRVQpLmFkZENsYXNzKCJhZmZpeCIpO3ZhciBhPXRoaXMuJHRhcmdldC5zY3JvbGxUb3AoKSxiPXRoaXMuJGVsZW1lbnQub2Zmc2V0KCk7cmV0dXJuIHRoaXMucGlubmVkT2Zmc2V0PWIudG9wLWF9LGMucHJvdG90eXBlLmNoZWNrUG9zaXRpb25XaXRoRXZlbnRMb29wPWZ1bmN0aW9uKCl7c2V0VGltZW91dChhLnByb3h5KHRoaXMuY2hlY2tQb3NpdGlvbix0aGlzKSwxKX0sYy5wcm90b3R5cGUuY2hlY2tQb3NpdGlvbj1mdW5jdGlvbigpe2lmKHRoaXMuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIikpe3ZhciBiPXRoaXMuJGVsZW1lbnQuaGVpZ2h0KCksZD10aGlzLm9wdGlvbnMub2Zmc2V0LGU9ZC50b3AsZj1kLmJvdHRvbSxnPU1hdGgubWF4KGEoZG9jdW1lbnQpLmhlaWdodCgpLGEoZG9jdW1lbnQuYm9keSkuaGVpZ2h0KCkpOyJvYmplY3QiIT10eXBlb2YgZCYmKGY9ZT1kKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmKGU9ZC50b3AodGhpcy4kZWxlbWVudCkpLCJmdW5jdGlvbiI9PXR5cGVvZiBmJiYoZj1kLmJvdHRvbSh0aGlzLiRlbGVtZW50KSk7dmFyIGg9dGhpcy5nZXRTdGF0ZShnLGIsZSxmKTtpZih0aGlzLmFmZml4ZWQhPWgpe251bGwhPXRoaXMudW5waW4mJnRoaXMuJGVsZW1lbnQuY3NzKCJ0b3AiLCIiKTt2YXIgaT0iYWZmaXgiKyhoPyItIitoOiIiKSxqPWEuRXZlbnQoaSsiLmJzLmFmZml4Iik7aWYodGhpcy4kZWxlbWVudC50cmlnZ2VyKGopLGouaXNEZWZhdWx0UHJldmVudGVkKCkpcmV0dXJuO3RoaXMuYWZmaXhlZD1oLHRoaXMudW5waW49ImJvdHRvbSI9PWg/dGhpcy5nZXRQaW5uZWRPZmZzZXQoKTpudWxsLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3MoYy5SRVNFVCkuYWRkQ2xhc3MoaSkudHJpZ2dlcihpLnJlcGxhY2UoImFmZml4IiwiYWZmaXhlZCIpKyIuYnMuYWZmaXgiKX0iYm90dG9tIj09aCYmdGhpcy4kZWxlbWVudC5vZmZzZXQoe3RvcDpnLWItZn0pfX07dmFyIGQ9YS5mbi5hZmZpeDthLmZuLmFmZml4PWIsYS5mbi5hZmZpeC5Db25zdHJ1Y3Rvcj1jLGEuZm4uYWZmaXgubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmFmZml4PWQsdGhpc30sYSh3aW5kb3cpLm9uKCJsb2FkIixmdW5jdGlvbigpe2EoJ1tkYXRhLXNweT0iYWZmaXgiXScpLmVhY2goZnVuY3Rpb24oKXt2YXIgYz1hKHRoaXMpLGQ9Yy5kYXRhKCk7ZC5vZmZzZXQ9ZC5vZmZzZXR8fHt9LG51bGwhPWQub2Zmc2V0Qm90dG9tJiYoZC5vZmZzZXQuYm90dG9tPWQub2Zmc2V0Qm90dG9tKSxudWxsIT1kLm9mZnNldFRvcCYmKGQub2Zmc2V0LnRvcD1kLm9mZnNldFRvcCksYi5jYWxsKGMsZCl9KX0pfShqUXVlcnkpOw=="}},"time_used":486,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":477,"receive":9,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/flaticon-png/small/f3.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.832Z","timestamp":1785133989832,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/flaticon-png/small/f3.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/png\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 6588\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":6588,"size_decoded":6774,"mime_type":"image/png","magic":"PNG image data, 90 x 90, 8-bit/color RGBA, non-interlaced","md5":"a720d9beb366448461b737dc9c3c96eb","sha1":"eaccbe73b11eafcd9a0b5c306f16457cc15e064a","sha256":"0bc01c4dee15f372026ba8def9bdea56dbed2497ae6f867fbc37b064e3399b53","sha512":"c0f7965759a0c519d11465a08f375e68a92429ea632f9885930810d60d297347f307f66a14167377290552c73ae3e4e40b99b2cbbc024dcf025b58c76c817127","ssdeep":"96:qknS22A41fTae6YhmpkjPI2SGyD7oP8NapkUvBhyfRkbfGin8r8DayETB09DbJXL:qknW1Laevm5S8hAmw11j35bZdjyOr","tlshash":"f7d17c8ab9d0ef82224b3cc708f518bc8e527cd989d6f54439ce99860d712d21528bd3","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T14:34:25.221368Z","times_seen":46,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+tpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTAxLTAxVDE4OjE5OjU0KzA2OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0wMS0wMVQxODoyNzoxMCswNjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0wMS0wMVQxODoyNzoxMCswNjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTZEQUE2QTVFRUVGMTFFN0E4NEVFMzVERUY3ODhDQjMiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTZEQUE2QTZFRUVGMTFFN0E4NEVFMzVERUY3ODhDQjMiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RS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"}},"time_used":571,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":570,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css2?family=Inter:wght@100..900\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://frxoptmarkt.com/","date":"2026-07-27T06:33:10.697Z","timestamp":1785133990697,"http_version":"HTTP/3","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@100..900\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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=2\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\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:33:10 GMT\r\ndate: Mon, 27 Jul 2026 06:33:10 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\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":2555,"size_decoded":1293,"mime_type":"text/css; charset=utf-8","magic":"ASCII text","md5":"3fcf63d91b46adf99bd3db1a56530254","sha1":"62f7d93d0b191e1e8464958268f225f51dd1752d","sha256":"63867a7c4bb197935b85ada1c4bcbc95951598dfb736b24132f0a43e5e5e365c","sha512":"16d25c5cc841006ca8e86ef334efb051054257e6990275a3a0d1e25f9adc6c665b65ff9083dfc9c409d84b69365a26eb9ba875431ca75765743b70902e684d14","ssdeep":"","tlshash":"0451ab92002ba404ab931dc233cf7f3aaece50856085d2b96ffd1dc65cead66436875d","first_seen":"2025-09-10T17:57:06.167004Z","last_seen":"2026-08-04T10:19:12.748183Z","times_seen":30283,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwIDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJKTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwIDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTBaTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyWkw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExcEw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnSW50ZXInOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogMTAwIDkwMDsKICBmb250LWRpc3BsYXk6IHN3YXA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL2ludGVyL3YyMC9VY0M3M0Z3ckszaUxUZUh1U19uVk1yTXhDcDUwU2pJYTJwTDdXMEk1bnZ3VWdIVS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWEyNUw3VzBJNW52d1VnSFUud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ0ludGVyJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDEwMCA5MDA7CiAgZm9udC1kaXNwbGF5OiBzd2FwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9pbnRlci92MjAvVWNDNzNGd3JLM2lMVGVIdVNfblZNck14Q3A1MFNqSWExWkw3VzBJNW52d1Uud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":34,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":34,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/ajax-load/bootstrap-parent-modal.html","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.832Z","timestamp":1785133990832,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /ajax-load/bootstrap-parent-modal.html HTTP/1.1\r\nHost: frxoptmarkt.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, */*; q=0.01\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Requested-With: XMLHttpRequest\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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":"GET"},"response":{"raw":"HTTP/3 404 \r\ncache-control: private, no-cache, no-store, must-revalidate, max-age=0\r\npragma: no-cache\r\ncontent-type: text/html\r\ncontent-length: 796\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":796,"size_decoded":1003,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"265e51037981a14ed99a5fc8c5ec1b51","sha1":"d12ac588953298fdaf46dd5b4af8eb4cf6b06f0a","sha256":"c4b07931b3fc37bc80d56a367783e7fa7c04ced4befec7f57ed079c38c960400","sha512":"b18aa610811c5f9bc1dd829ad90a95568e81a41e1fd1472983dc00147f65045fd91fbc498b5263ce4f4c88b041be21f186ed2ce357d3bcf86c0429ca18991151","ssdeep":"","tlshash":"1101f12ac182a80fe0231070fa91e37451594212629b4f647b9ff676f6ce1ab56b22cc","first_seen":"2024-02-05T05:35:22Z","last_seen":"2026-08-04T11:50:04.712488Z","times_seen":52943,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48c3R5bGU+QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2JhY2tncm91bmQtY29sb3I6IzAwMCFpbXBvcnRhbnR9fTwvc3R5bGU+PC9oZWFkPgo8Ym9keSBzdHlsZT0iY29sb3I6ICM0NDQ7IG1hcmdpbjowO2ZvbnQ6IG5vcm1hbCAxNHB4LzIwcHggQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgaGVpZ2h0OjEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7Ij4KPGRpdiBzdHlsZT0iaGVpZ2h0OmF1dG87IG1pbi1oZWlnaHQ6MTAwJTsgIj4gICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6ODAwcHg7IG1hcmdpbi1sZWZ0OiAtNDAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDMwJTsgbGVmdDo1MCU7Ij4KICAgICAgICA8aDEgc3R5bGU9Im1hcmdpbjowOyBmb250LXNpemU6MTUwcHg7IGxpbmUtaGVpZ2h0OjE1MHB4OyBmb250LXdlaWdodDpib2xkOyI+NDA0PC9oMT4KPGgyIHN0eWxlPSJtYXJnaW4tdG9wOjIwcHg7Zm9udC1zaXplOiAzMHB4OyI+Tm90IEZvdW5kDQo8L2gyPgo8cD5UaGUgcmVzb3VyY2UgcmVxdWVzdGVkIGNvdWxkIG5vdCBiZSBmb3VuZCBvbiB0aGlzIHNlcnZlciE8L3A+CjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+Cg=="}},"time_used":130,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":130,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://cable.coingecko.com/cable","fqdn":"cable.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:16.644Z","timestamp":1785133996644,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /cable HTTP/1.1\r\nHost: cable.coingecko.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\nSec-WebSocket-Version: 13\r\nOrigin: https://frxoptmarkt.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: rM8rT945nfZYMmttPagYIA==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T12:30:22.34111Z","times_seen":17708041,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/colors/theme-skin-color-set1.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.597Z","timestamp":1785133989597,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/colors/theme-skin-color-set1.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 5552\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":72863,"size_decoded":5782,"mime_type":"text/css","magic":"assembler source, ASCII text","md5":"1c136dc9c8dd73d93cb6d0f1ca5ada7a","sha1":"07087376982cf712b59cef1f67a347200fb0d868","sha256":"10781499895cd2c322e073eec53cd57b3ab7955c7fda3cf0ad625087512c25d4","sha512":"e02cc85c4333a3653e8d28850d6d5a9c982d73468789dbe4bf9eb45d2b99f6bbd0602887c95eaeb220825a4813856e30a00be81bcb2f1a9532776b5c147804d5","ssdeep":"384:rWJDFWOUl/7lTKI2K+0rjFg9nQBu6cMX4iRXcD52YtWo:GDFWOUZlTKI230rjFgWfEtWo","tlshash":"ad63c054fee254077a17d8982053ceafd7285046d945bfacfb3a31d83a881c8a53f693","first_seen":"2025-06-30T17:39:24.276869Z","last_seen":"2026-07-27T06:37:47.043886Z","times_seen":24,"resource_available":false,"data":"LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEF1dGhvcjogVGhlbWVNYXNjb3QKQFVSTDogaHR0cDovL3RoZW1lZm9yZXN0Lm5ldC91c2VyL1RoZW1lTWFzY290CgpDT0xPUjE6ICMxMTk2Q0MKQ09MT1IyOiAjMjAyYzQ1Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi8qCiAqIGJhY2tncm91bmQ6IHRoZW1lLWNvbG9yCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5wb3N0IC5lbnRyeS1tZXRhLm1ldGEtYWJzb2x1dGUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDU0LCA4MSwgMC45KSAhaW1wb3J0YW50Owp9Ci50YWItc2xpZGVyIC5uYXYubmF2LXBpbGxzIGE6aG92ZXIsCi50YWItc2xpZGVyIC5uYXYubmF2LXBpbGxzIGEuYWN0aXZlLAouY3VzdG9tLW5hdi10YWJzID4gbGkgPiBhOmhvdmVyLAoud2lkZ2V0IC50YWdzIGE6aG92ZXIsCi5wcm9ncmVzcy1pdGVtIC5wcm9ncmVzcy1iYXIsCi5zbWFsbC10aXRsZSAudGl0bGU6OmFmdGVyLAouZHJvcC1jYXBzLmNvbG9yZWQtc3F1YXJlIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGV0dGVyLAouZHJvcC1jYXBzLmNvbG9yZWQtcm91bmRlZCBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciwKLndvcmtpbmctcHJvY2Vzcy50aGVtZS1jb2xvcmVkIGEsCi53aWRnZXQuZGFyayAudGFncyBhOmhvdmVyLAouYmxvZy1wb3N0cyAucG9zdCAuZW50cnktY29udGVudCAucG9zdC1kYXRlLnJpZ2h0LAouaG9yaXpvbnRhbC10YWItY2VudGVyZWQgLm5hdi1waWxscyA+IGxpID4gYTpob3ZlciwKLmhvcml6b250YWwtdGFiLWNlbnRlcmVkIC5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhLAouaG9yaXpvbnRhbC10YWItY2VudGVyZWQgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsCi5ob3Jpem9udGFsLXRhYi1jZW50ZXJlZCAubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYTpmb2N1cywKLm93bC10aGVtZS5kb3QtdGhlbWUtY29sb3JlZCAub3dsLWNvbnRyb2xzIC5vd2wtZG90IHNwYW4sCi5wb3J0Zm9saW8tZmlsdGVyIGEuYWN0aXZlLAoucG9ydGZvbGlvLWZpbHRlciBhOmhvdmVyLAoucGFnaW5hdGlvbi50aGVtZS1jb2xvcmVkIGxpLmFjdGl2ZSBhLAouc2VjdGlvbi10aXRsZSAuYm90aC1zaWRlLWxpbmU6OmFmdGVyLAouc2VjdGlvbi10aXRsZSAuYm90aC1zaWRlLWxpbmU6OmJlZm9yZSwKLnNlY3Rpb24tdGl0bGUgLnRvcC1zaWRlLWxpbmU6OmFmdGVyLAouc2VjdGlvbi10aXRsZSAubGVmdC1zaWRlLWxpbmU6OmJlZm9yZSwKLnNlY3Rpb24tdGl0bGUgLnJpZ2h0LXNpZGUtbGluZTo6YmVmb3JlLAoucHJvZHVjdCAudGFnLXNhbGUsCi5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLAouYmxvZy1wb3N0cyAucG9zdC5zdHlsZTEgLmVudHJ5LWhlYWRlciAuZW50cnktZGF0ZS5lbnRyeS1kYXRlLWFic29sdXRlLAoudGl0bGUtZG90cyBzcGFuIHsKICBiYWNrZ3JvdW5kOiAjMTYzNjUxOwp9Ci5jZC10aW1lbGluZS1zaW1wbGUgLmNkLXRpbWVsaW5lLWJsb2NrIC5jZC10aW1lbGluZS1pbWcgewogIGJhY2tncm91bmQ6ICMxNjM2NTEgIWltcG9ydGFudDsKfQoudWktc3RhdGUtaGlnaGxpZ2h0IHsKICBiYWNrZ3JvdW5kOiAjMTYzNjUxICFpbXBvcnRhbnQ7CiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQovKgogKiB0ZXh0OiB0aGVtZS1jb2xvcgogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgbGk6aG92ZXIgPiBhLAoubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLnBvc3QgYTpob3ZlciwKLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IGxpOmhvdmVyID4gYSBpLAoubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLnBvc3QgYTpob3ZlciBpLAouYmxvZy1wb3N0cyAucG9zdCAuZW50cnktbWV0YSBsaSBpLAoud2lkZ2V0IC50d2l0dGVyLWZlZWQgbGk6OmFmdGVyLAoud2lkZ2V0IC5hZGRyZXNzIGxpIGksCi5pY29uLWJveC5ib3gtc3R5bGUxLnByYWN0aWNlLXN0eWxlMyBpLAouaWNvbi1ib3guc2VydmljZXMtc3R5bGUxOmhvdmVyIC5oZWFkaW5nLAouaG9yaXpvbnRhbC1jb250YWN0LXdpZGdldCAud2lkZ2V0OjpiZWZvcmUsCi5zbWFsbC10aXRsZSBpLAouZHJvcC1jYXBzLnRleHQtY29sb3JlZCBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciwKLnNjaGVkdWxlLWJveDpob3ZlciAuc2NoZWR1bGUtZGV0YWlscyAudGl0bGUgYSwKLndpZGdldC5kYXJrIC5uYXYtdGFicyBsaS5hY3RpdmUgYSwKLnBhZ2luYXRpb24udGhlbWUtY29sb3JlZCBsaSBhLAoucGFnZXIudGhlbWUtY29sb3JlZCBhLAoud2lkZ2V0IC5wb3N0LXRpdGxlIGE6aG92ZXIsCi5kb25hdGlvbi1mb3JtIC5mb3JtLWdyb3VwIGxhYmVsIHsKICBjb2xvcjogIzE2MzY1MTsKfQouc3Rhci1yYXRpbmcgc3Bhbjo6YmVmb3JlIHsKICBjb2xvcjogIzE2MzY1MSAhaW1wb3J0YW50Owp9Ci8qCiAqIGJvcmRlcjogdGhlbWUtY29sb3IKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmxpbmUtYm90dG9tOmFmdGVyLAoud2lkZ2V0IC5saW5lLWJvdHRvbTphZnRlciwKLndpZGdldCAubGluZS1ib3R0b206YWZ0ZXIsCi5wYWdlci50aGVtZS1jb2xvcmVkIGEsCi5vd2wtY2Fyb3VzZWwub3dsLW5hdi10b3AgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLXByZXYsCi5vd2wtY2Fyb3VzZWwub3dsLW5hdi10b3AgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLW5leHQgewogIGJvcmRlcjogMXB4IHNvbGlkICMxNjM2NTE7Cn0KLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7CiAgYm9yZGVyLWNvbG9yOiAjMTYzNjUxOwp9Ci5pY29uLWJveC5ib3gtc3R5bGUxLnByYWN0aWNlLXN0eWxlMzpob3ZlciAuaWNvbi13cmFwcGVyOjphZnRlciB7CiAgYm9yZGVyLWNvbG9yOiAjMTYzNjUxIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50Owp9Ci5zZWN0aW9uLXRpdGxlLnRpdGxlLWJvcmRlciB7CiAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjMTYzNjUxOwp9Ci8qIGJvcmRlci10b3AtY29sb3IgKi8KLmNzc2xvYWQtdHJpIHsKICBib3JkZXItdG9wOiAyN3B4IHNvbGlkICMxNjM2NTE7Cn0KLyogYm9yZGVyLXJpZ2h0LWNvbG9yICovCi5ib3JkZXItcmlnaHQtcmVkIHsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMTYzNjUxOwp9Ci5zZWN0aW9uLXRpdGxlLnRpdGxlLWJvcmRlci50aXRsZS1yaWdodCB7CiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgIzE2MzY1MTsKfQovKiBib3JkZXItYm90dG9tLWNvbG9yICovCi5ib3JkZXItYm90dG9tIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzE2MzY1MTsKfQouY3NzbG9hZC10cmkuY3NzbG9hZC1pbnZlcnQgewogIGJvcmRlci1ib3R0b206IDI3cHggc29saWQgIzE2MzY1MTsKfQovKiBib3gtc2hhZG93ICovCi8qRm9vdGVyIFN0eWxlcyovCi5mb290ZXItYm94LW9uZSA+IGRpdiB7CiAgYmFja2dyb3VuZDogIzE2MzY1MTsKfQouZm9vdGVyLWJveC10d28gPiBkaXYgewogIGJhY2tncm91bmQ6ICMxMTI5M2QgIWltcG9ydGFudDsKfQouZm9vdGVyLWJveC10aHJlZSA+IGRpdiB7CiAgYmFja2dyb3VuZDogIzBiMWIyOSAhaW1wb3J0YW50Owp9Ci8qIE1vZGVybiBIZWFkZXIgKi8KLm1vZGVybi1oZWFkZXIubW9kZXJuLWhlYWRlci10aGVtZS1jb2xvcmVkIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXI6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIG5hdiB7CiAgYmFja2dyb3VuZDogIzE2MzY1MTsKfQoubW9kZXJuLWhlYWRlci5tb2Rlcm4taGVhZGVyLXRoZW1lLWNvbG9yZWQgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlci5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgewogIGJhY2tncm91bmQ6ICMxNjM2NTE7Cn0KLyogLS0tLS0tLS0gVGV4dCBUaGVtZSBDb2xvciAtLS0tLS0tLS0tICovCi50ZXh0LXRoZW1lLWNvbG9yZWQgewogIGNvbG9yOiAjMTYzNjUxICFpbXBvcnRhbnQ7Cn0KLnRleHQtaG92ZXItdGhlbWUtY29sb3JlZDpob3ZlciB7CiAgY29sb3I6ICMxNjM2NTEgIWltcG9ydGFudDsKfQp1bC5saXN0LnRoZW1lLWNvbG9yZWQgbGk6YmVmb3JlLAp1bC5saXN0LnRoZW1lLWNvbG9yZWQuYW5nbGUtZG91YmxlLXJpZ2h0IGxpOmJlZm9yZSwKdWwubGlzdC50aGVtZS1jb2xvcmVkLmFuZ2xlLXJpZ2h0IGxpOmJlZm9yZSwKdWwubGlzdC50aGVtZS1jb2xvcmVkLmNoZWNrLWNpcmNsZSBsaTpiZWZvcmUsCnVsLmxpc3QudGhlbWUtY29sb3JlZC5jaGVjayBsaTpiZWZvcmUsCi5saXN0LWljb24udGhlbWUtY29sb3JlZCBsaSBpIHsKICBjb2xvcjogIzE2MzY1MTsKfQovKiAtLS0tLS0tLSBib3JkZXItdGhlbWUtY29sb3IgLS0tLS0tLS0tLSAqLwouYm9yZGVyLXRoZW1lLWNvbG9yZWQgewogIGJvcmRlci1jb2xvcjogIzE2MzY1MSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItMXB4LXRoZW1lLWNvbG9yZWQgewogIGJvcmRlcjogMXB4IHNvbGlkICMxNjM2NTE7Cn0KLyogYm9yZGVyLWxlZnQtY29sb3IgKi8KYmxvY2txdW90ZS50aGVtZS1jb2xvcmVkIHsKICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMxNjM2NTE7Cn0KYmxvY2txdW90ZS5iZy10aGVtZS1jb2xvcmVkIHsKICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMwYjFiMjk7CiAgY29sb3I6ICNmZmY7Cn0KYmxvY2txdW90ZS5iZy10aGVtZS1jb2xvcmVkIGZvb3RlciB7CiAgY29sb3I6ICNlZWVlZWU7Cn0KYmxvY2txdW90ZS5ncmF5LmJnLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMxNjM2NTE7CiAgY29sb3I6ICMxNjM2NTE7Cn0KYmxvY2txdW90ZS5ncmF5LmJnLXRoZW1lLWNvbG9yZWQgZm9vdGVyIHsKICBjb2xvcjogIzc3Nzc3NzsKfQovKiAtLS0tLS0tLSBiZy10aGVtZS1jb2xvciAtLS0tLS0tLS0tICovCi5iZy10aGVtZS1jb2xvcmVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYzNjUxICFpbXBvcnRhbnQ7Cn0KLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQ6aG92ZXIgewogIGJhY2tncm91bmQ6ICMxNjM2NTEgIWltcG9ydGFudDsKICBib3JkZXItY29sb3I6ICMxNjM2NTEgIWltcG9ydGFudDsKICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Owp9Ci5iZy1ob3Zlci10aGVtZS1jb2xvcmVkOmhvdmVyIGgxLAouYmctaG92ZXItdGhlbWUtY29sb3JlZDpob3ZlciBoMiwKLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQ6aG92ZXIgaDMsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkOmhvdmVyIGg0LAouYmctaG92ZXItdGhlbWUtY29sb3JlZDpob3ZlciBoNSwKLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQ6aG92ZXIgaDYsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkOmhvdmVyIHAsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkOmhvdmVyIGEsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkOmhvdmVyIGkgewogIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7Cn0KLmxpc3QtaWNvbi50aGVtZS1jb2xvcmVkLnNxdWFyZSBsaSBpLAoubGlzdC1pY29uLnRoZW1lLWNvbG9yZWQucm91bmRlZCBsaSBpIHsKICBiYWNrZ3JvdW5kOiAjMTYzNjUxOwp9Ci8qIC0tLS0tLS0tIGxpZ2h0ZXIvZGFya2VyIGJnIENvbG9yIC0tLS0tLS0tLS0gKi8KLmJnLXRoZW1lLWNvbG9yZWQtbGlnaHRlcjIgewogIGJhY2tncm91bmQtY29sb3I6ICMxODNiNTkgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1saWdodGVyMyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE5M2U1ZCAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkLWxpZ2h0ZXI0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWE0MTYxICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtbGlnaHRlcjUgewogIGJhY2tncm91bmQtY29sb3I6ICMxYjQzNjUgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1saWdodGVyNiB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFkNDY2OSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkLWxpZ2h0ZXI3IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWU0OTZkICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtbGlnaHRlcjggewogIGJhY2tncm91bmQtY29sb3I6ICMxZjRiNzEgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1saWdodGVyOSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzIwNGU3NSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkLWRhcmtlcjIgewogIGJhY2tncm91bmQtY29sb3I6ICMxNDMxNDkgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1kYXJrZXIzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTMyZTQ1ICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtZGFya2VyNCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzEyMmI0MSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkLWRhcmtlcjUgewogIGJhY2tncm91bmQtY29sb3I6ICMxMTI5M2QgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1kYXJrZXI2IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGYyNjM5ICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQtZGFya2VyNyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzBlMjMzNSAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkLWRhcmtlcjggewogIGJhY2tncm91bmQtY29sb3I6ICMwZDIxMzEgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC1kYXJrZXI5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGMxZTJkICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gVHJhbnNwYXJlbnQgYmcgQ29sb3IgLS0tLS0tLS0tLSAqLwouYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC05IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuOSkgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC04IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuOCkgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC03IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuNykgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC02IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuNikgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC01IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuNSkgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC00IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuNCkgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC0zIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuMykgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC0yIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuMikgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC0xIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuMSkgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgNTQsIDgxLCAwLjUpICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gbGF5ZXIgb3ZlcmxheSBDb2xvciAtLS0tLS0tLS0tICovCi5sYXllci1vdmVybGF5IHsKICAvKiAub3ZlcmxheS10aGVtZS1jb2xvcmVkICovCn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDU0LCA4MSwgMC44KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQtMTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuMSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkLTI6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgNTQsIDgxLCAwLjIpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC0zOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDU0LCA4MSwgMC4zKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQtNDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuNCk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkLTU6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgNTQsIDgxLCAwLjUpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC02OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDU0LCA4MSwgMC42KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQtNzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIyLCA1NCwgODEsIDAuNyk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkLTg6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMiwgNTQsIDgxLCAwLjgpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC05OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjIsIDU0LCA4MSwgMC45KTsKfQovKgogKiBidG4tZGVmYXVsdDogdGhlbWUtY29sb3IKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkIHsKICBjb2xvcjogIzE2MzY1MTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogIzE2MzY1MTsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZC5mb2N1cyB7CiAgY29sb3I6ICMxNjM2NTE7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICMwMDAwMDA7Cn0KLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyIHsKICBjb2xvcjogIzE2MzY1MTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogIzA5MTYyMTsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQgewogIGNvbG9yOiAjMTYzNjUxOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjMDkxNjIxOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDphY3RpdmU6aG92ZXIsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmU6aG92ZXIsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDpob3ZlciwKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZTpmb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZTpmb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlLmZvY3VzLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlLmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQuZm9jdXMgewogIGNvbG9yOiAjMTYzNjUxOwogIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7CiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQuZGlzYWJsZWQ6aG92ZXIsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZFtkaXNhYmxlZF06aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZC5kaXNhYmxlZDpmb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkW2Rpc2FibGVkXTpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkLmRpc2FibGVkLmZvY3VzLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWRbZGlzYWJsZWRdLmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogIzE2MzY1MTsKfQouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQgLmJhZGdlIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYzNjUxOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDpob3ZlciwKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZSwKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYzNjUxOwogIGJvcmRlci1jb2xvcjogIzE2MzY1MTsKICBjb2xvcjogI2ZmZjsKfQovKgogKiBidG4tYm9yZGVyCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkIHsKICBjb2xvcjogIzE2MzY1MTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogIzE2MzY1MTsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQuZm9jdXMgewogIGNvbG9yOiAjMTYzNjUxOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwp9Ci5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyIHsKICBjb2xvcjogIzE2MzY1MTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogIzA5MTYyMTsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQgewogIGNvbG9yOiAjMTYzNjUxOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjMDkxNjIxOwp9Ci5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZTpob3ZlciwKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlOmhvdmVyLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDpob3ZlciwKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlOmZvY3VzLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmU6Zm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUuZm9jdXMsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZS5mb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQuZm9jdXMgewogIGNvbG9yOiAjMTYzNjUxOwogIGJhY2tncm91bmQtY29sb3I6ICNkNGQ0ZDQ7CiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwp9Ci5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZSwKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZCB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZC5kaXNhYmxlZDpob3ZlciwKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWRbZGlzYWJsZWRdOmhvdmVyLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkLmRpc2FibGVkOmZvY3VzLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZFtkaXNhYmxlZF06Zm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQuZGlzYWJsZWQuZm9jdXMsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkW2Rpc2FibGVkXS5mb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogIzE2MzY1MTsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZCAuYmFkZ2UgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMxNjM2NTE7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZSwKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICMwYjFiMjk7CiAgYm9yZGVyLWNvbG9yOiAjMGIxYjI5OwogIGNvbG9yOiAjZmZmOwp9Ci8qCiAqIGJ0bi1kYXJrCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZCB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBib3JkZXItY29sb3I6ICMxNjM2NTE7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQuZm9jdXMgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwYjFiMjk7CiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwp9Ci5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDpob3ZlciB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzBiMWIyOTsKICBib3JkZXItY29sb3I6ICMwOTE2MjE7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZSwKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGIxYjI5OwogIGJvcmRlci1jb2xvcjogIzA5MTYyMTsKfQouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlOmhvdmVyLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlOmhvdmVyLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDphY3RpdmU6Zm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmU6Zm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZS5mb2N1cywKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZS5mb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMwOTBkOwogIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKfQouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkLmRpc2FibGVkOmhvdmVyLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWRbZGlzYWJsZWRdOmhvdmVyLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQuZGlzYWJsZWQ6Zm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZFtkaXNhYmxlZF06Zm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZC5kaXNhYmxlZC5mb2N1cywKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkW2Rpc2FibGVkXS5mb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZC5mb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBib3JkZXItY29sb3I6ICMxNjM2NTE7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkIC5iYWRnZSB7CiAgY29sb3I6ICMxNjM2NTE7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQovKgogKiBidG4tZ3JheQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQgewogIGNvbG9yOiAjMTYzNjUxOwogIGJhY2tncm91bmQtY29sb3I6ICMyMTUxNzk7CiAgYm9yZGVyLWNvbG9yOiAjMjE1MTc5Owp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBjb2xvcjogIzE2MzY1MTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYzNjUxOwogIGJvcmRlci1jb2xvcjogIzA2MGUxNTsKfQouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIgewogIGNvbG9yOiAjMTYzNjUxOwogIGJhY2tncm91bmQtY29sb3I6ICMxNjM2NTE7CiAgYm9yZGVyLWNvbG9yOiAjMTQzMTQ5Owp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZCB7CiAgY29sb3I6ICMxNjM2NTE7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBib3JkZXItY29sb3I6ICMxNDMxNDk7Cn0KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZTpob3ZlciwKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZTpob3ZlciwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlOmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlOmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDphY3RpdmUuZm9jdXMsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmUuZm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZC5mb2N1cyB7CiAgY29sb3I6ICMxNjM2NTE7CiAgYmFja2dyb3VuZC1jb2xvcjogIzBlMjMzNTsKICBib3JkZXItY29sb3I6ICMwNjBlMTU7Cn0KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZSwKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZC5kaXNhYmxlZDpob3ZlciwKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkW2Rpc2FibGVkXTpob3ZlciwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDpob3ZlciwKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkLmRpc2FibGVkOmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWRbZGlzYWJsZWRdOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQuZGlzYWJsZWQuZm9jdXMsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZFtkaXNhYmxlZF0uZm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICMyMTUxNzk7CiAgYm9yZGVyLWNvbG9yOiAjMjE1MTc5Owp9Ci5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZCAuYmFkZ2UgewogIGNvbG9yOiAjMjE1MTc5OwogIGJhY2tncm91bmQtY29sb3I6ICMxNjM2NTE7Cn0KLyoKICogYnRuLXByaW1hcnk6IHRoZW1lLWNvbG9yCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5idG4tdGhlbWUtY29sb3JlZCB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBib3JkZXItY29sb3I6ICMxNjM2NTE7Cn0KLmJ0bi10aGVtZS1jb2xvcmVkOmZvY3VzLAouYnRuLXRoZW1lLWNvbG9yZWQuZm9jdXMgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwYjFiMjk7CiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwp9Ci5idG4tdGhlbWUtY29sb3JlZDpob3ZlciB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzBiMWIyOTsKICBib3JkZXItY29sb3I6ICMwOTE2MjE7Cn0KLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZSwKLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi10aGVtZS1jb2xvcmVkIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGIxYjI5OwogIGJvcmRlci1jb2xvcjogIzA5MTYyMTsKfQouYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlOmhvdmVyLAouYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlOmhvdmVyLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXRoZW1lLWNvbG9yZWQ6aG92ZXIsCi5idG4tdGhlbWUtY29sb3JlZDphY3RpdmU6Zm9jdXMsCi5idG4tdGhlbWUtY29sb3JlZC5hY3RpdmU6Zm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tdGhlbWUtY29sb3JlZDpmb2N1cywKLmJ0bi10aGVtZS1jb2xvcmVkOmFjdGl2ZS5mb2N1cywKLmJ0bi10aGVtZS1jb2xvcmVkLmFjdGl2ZS5mb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi10aGVtZS1jb2xvcmVkLmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMwOTBkOwogIGJvcmRlci1jb2xvcjogIzAwMDAwMDsKfQouYnRuLXRoZW1lLWNvbG9yZWQ6YWN0aXZlLAouYnRuLXRoZW1lLWNvbG9yZWQuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KLmJ0bi10aGVtZS1jb2xvcmVkLmRpc2FibGVkOmhvdmVyLAouYnRuLXRoZW1lLWNvbG9yZWRbZGlzYWJsZWRdOmhvdmVyLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyLAouYnRuLXRoZW1lLWNvbG9yZWQuZGlzYWJsZWQ6Zm9jdXMsCi5idG4tdGhlbWUtY29sb3JlZFtkaXNhYmxlZF06Zm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXRoZW1lLWNvbG9yZWQ6Zm9jdXMsCi5idG4tdGhlbWUtY29sb3JlZC5kaXNhYmxlZC5mb2N1cywKLmJ0bi10aGVtZS1jb2xvcmVkW2Rpc2FibGVkXS5mb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tdGhlbWUtY29sb3JlZC5mb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBib3JkZXItY29sb3I6ICMxNjM2NTE7Cn0KLmJ0bi10aGVtZS1jb2xvcmVkIC5iYWRnZSB7CiAgY29sb3I6ICMxNjM2NTE7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQovKgogKiBidG4tdHJhbnNwYXJlbnQKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmJ0bi10cmFuc3BhcmVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgY29sb3I6ICNmZmY7Cn0KLmJ0bi10cmFuc3BhcmVudC5idG4tdGhlbWUtY29sb3JlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLmJ0bi10cmFuc3BhcmVudC5idG4tZGFyayB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTsKICBib3JkZXItY29sb3I6ICMxMTExMTE7Cn0KLmJ0bi10cmFuc3BhcmVudC5idG4tZGFyazpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDAwMDsKICBib3JkZXItY29sb3I6ICMwMDAwMDA7Cn0KLmJ0bi10cmFuc3BhcmVudC5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBib3JkZXItY29sb3I6ICMxNjM2NTE7Cn0KLmJ0bi10cmFuc3BhcmVudC5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzBiMWIyOTsKICBib3JkZXItY29sb3I6ICMwYjFiMjk7Cn0KLmJ0bi10cmFuc3BhcmVudC5idG4tYm9yZGVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXItY29sb3I6ICNlZWVlZWU7Cn0KLmJ0bi10cmFuc3BhcmVudC5idG4tYm9yZGVyOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGNvbG9yOiAjMDAwOwp9Ci5idG4tdHJhbnNwYXJlbnQuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWNvbG9yOiAjMTYzNjUxOwp9Ci5idG4tdHJhbnNwYXJlbnQuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBjb2xvcjogI2ZmZjsKfQouYnRuLWdyYXkuYnRuLXRyYW5zcGFyZW50IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzOwogIGNvbG9yOiAjMzMzMzMzOwp9Ci5idG4tZ3JheS5idG4tdHJhbnNwYXJlbnQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7CiAgY29sb3I6ICMxYTFhMWE7Cn0KLmJ0bi1ncmF5LmJ0bi10cmFuc3BhcmVudC5idG4tdGhlbWUtY29sb3JlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzIxNTE3OTsKICBjb2xvcjogI2ZmZjsKfQouYnRuLWdyYXkuYnRuLXRyYW5zcGFyZW50LmJ0bi10aGVtZS1jb2xvcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGIxYjI5OwogIGNvbG9yOiAjMGIxYjI5Owp9Ci5idG4taG92ZXItdGhlbWUtY29sb3JlZDpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBib3JkZXItY29sb3I6ICMxNjM2NTE7CiAgY29sb3I6ICNmZmY7Cn0KLyoKICogU2hvcnRjb2RlOiBzdHlsZWQtaWNvbnMgVGhlbWUgQ29sb3JlZAogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouaWNvbi10aGVtZS1jb2xvcmVkIGEgewogIGNvbG9yOiAjMTYzNjUxOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQuaWNvbi1ib3JkZXJlZCBhIHsKICBib3JkZXItY29sb3I6ICMxNjM2NTE7Cn0KLmljb24tdGhlbWUtY29sb3JlZC5pY29uLWJvcmRlcmVkIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMxNjM2NTE7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tdGhlbWUtY29sb3JlZC5pY29uLWRhcmsgYSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi10aGVtZS1jb2xvcmVkLmljb24tZGFyayBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMGIxYjI5OwogIGNvbG9yOiAjMGIxYjI5Owp9Ci5pY29uLXRoZW1lLWNvbG9yZWQuaWNvbi1kYXJrLmljb24tYm9yZGVyZWQgYSB7CiAgYm9yZGVyLWNvbG9yOiAjMTYzNjUxOwogIGNvbG9yOiAjMTYzNjUxOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQuaWNvbi1kYXJrLmljb24tYm9yZGVyZWQgYTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBib3JkZXItY29sb3I6ICMxNjM2NTE7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tdGhlbWUtY29sb3JlZC5pY29uLWdyYXkgYSB7CiAgY29sb3I6ICMxNjM2NTE7Cn0KLmljb24tdGhlbWUtY29sb3JlZC5pY29uLWdyYXkgYTpob3ZlciB7CiAgY29sb3I6ICMwYjFiMjk7Cn0KLmljb24tdGhlbWUtY29sb3JlZC5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZCBhIHsKICBjb2xvcjogIzE2MzY1MTsKfQouaWNvbi10aGVtZS1jb2xvcmVkLmljb24tZ3JheS5pY29uLWJvcmRlcmVkIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlOwogIGNvbG9yOiAjMTYzNjUxOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQgYTpob3ZlciB7CiAgY29sb3I6ICMwYjFiMjk7Cn0KLmljb24taG92ZXItdGhlbWUtY29sb3JlZCBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYzNjUxOwogIGJvcmRlci1jb2xvcjogIzE2MzY1MTsKICBjb2xvcjogI2ZmZjsKfQouc3R5bGVkLWljb25zLmljb24taG92ZXItdGhlbWUtY29sb3JlZCBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYzNjUxOwogIGJvcmRlci1jb2xvcjogIzE2MzY1MTsKICBjb2xvcjogI2ZmZjsKfQovKgogKiBTaG9ydGNvZGU6IEljb24gQm94ZXMgVGhlbWUgQ29sb3JlZAogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkIC5pY29uIHsKICBjb2xvcjogIzE2MzY1MTsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkIC5pY29uLmljb24tYm9yZGVyLWVmZmVjdDo6YWZ0ZXIgewogIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjMTYzNjUxOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQgLmljb24uaWNvbi1ib3JkZXJlZCB7CiAgYm9yZGVyLWNvbG9yOiAjMTYzNjUxOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQgLmljb24uaWNvbi1ib3JkZXJlZDpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkIC5pY29uLmljb24tZ3JheTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkIC5pY29uLmljb24tZ3JheS5pY29uLWJvcmRlcmVkIHsKICBib3JkZXItY29sb3I6ICNlZWVlZWU7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbi5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZDpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBib3JkZXItY29sb3I6ICMxNjM2NTE7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbi5pY29uLWRhcmsgewogIGJhY2tncm91bmQtY29sb3I6ICMxNjM2NTE7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbi5pY29uLWRhcms6aG92ZXIgewogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQgLmljb24uaWNvbi1kYXJrLmljb24tYm9yZGVyZWQgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlci1jb2xvcjogIzE2MzY1MTsKICBjb2xvcjogIzE2MzY1MTsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkIC5pY29uLmljb24tZGFyay5pY29uLWJvcmRlcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYzNjUxOwogIGJvcmRlci1jb2xvcjogIzE2MzY1MTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkIC5pY29uLmljb24td2hpdGUgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgY29sb3I6ICMxNjM2NTE7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbi5pY29uLXdoaXRlOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYzNjUxOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQgLmljb24uaWNvbi13aGl0ZS5pY29uLWJvcmRlcmVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXItY29sb3I6ICMxNjM2NTE7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZCAuaWNvbi5pY29uLXdoaXRlLmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMxNjM2NTE7CiAgYm9yZGVyLWNvbG9yOiAjMTYzNjUxOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQuaWNvbmJveC1ib3JkZXIgewogIGJvcmRlci1jb2xvcjogIzE2MzY1MTsKfQovKgogKiAgYWNjb3JkaW9uLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmFjY29yZGlvbi10aGVtZS1jb2xvcmVkIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgewogIGJhY2tncm91bmQtY29sb3I6ICMxNjM2NTE7Cn0KLmFjY29yZGlvbi10aGVtZS1jb2xvcmVkIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlID4gYSwKLmFjY29yZGlvbi10aGVtZS1jb2xvcmVkIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlID4gYTpob3ZlciwKLmFjY29yZGlvbi10aGVtZS1jb2xvcmVkIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlID4gYTpmb2N1cyB7CiAgY29sb3I6ICNmZmY7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljLXRoZW1lLWNvbG9yZWQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEuYWN0aXZlOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogIzE2MzY1MTsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZC1maWxsZWQgLnBhbmVsLWhlYWRpbmcgewogIGJhY2tncm91bmQ6ICMxNjM2NTE7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljLXRoZW1lLWNvbG9yZWQtZmlsbGVkIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhIHsKICBjb2xvcjogI2ZmZjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZC1maWxsZWQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiAjMTMyZTQ1OwogIGNvbG9yOiAjZmZmOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkLWZpbGxlZCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYS5hY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiAjMDgxMzFkOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkMTIgLnBhbmVsLWhlYWRpbmcgewogIGJhY2tncm91bmQ6ICMxNjM2NTE7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljLXRoZW1lLWNvbG9yZWQxMiAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYSB7CiAgY29sb3I6ICNmZmY7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljLXRoZW1lLWNvbG9yZWQxMiAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTpiZWZvcmUgewogIGJhY2tncm91bmQ6ICMxMTI5M2Q7CiAgY29sb3I6ICNmZmY7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljLXRoZW1lLWNvbG9yZWQxMiAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYS5hY3RpdmU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiAjMWNjOTNiOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24taWNvbi1maWxsZWQuYWNjb3JkaW9uLWljb24tbGVmdC5hY2NvcmRpb24taWNvbi1maWxsZWQtdGhlbWUtY29sb3JlZCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6ICMxNjM2NTE7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLWZpbGxlZC5hY2NvcmRpb24taWNvbi1yaWdodC5hY2NvcmRpb24taWNvbi1maWxsZWQtdGhlbWUtY29sb3JlZCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKfQovKiBNb2Rlcm4gSGVhZGVyICovCi5tb2Rlcm4taGVhZGVyLm1vZGVybi1oZWFkZXItdGhlbWUtY29sb3JlZDIgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlcjpub3QoLnNjcm9sbC10by1maXhlZC1maXhlZCkgbmF2IHsKICBiYWNrZ3JvdW5kOiAjMWNjOTNiOwp9Ci5tb2Rlcm4taGVhZGVyLm1vZGVybi1oZWFkZXItdGhlbWUtY29sb3JlZDIgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlci5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgewogIGJhY2tncm91bmQ6ICMxY2M5M2I7Cn0KLyogLS0tLS0tLS0gVGV4dCBUaGVtZSBDb2xvciAtLS0tLS0tLS0tICovCi50ZXh0LXRoZW1lLWNvbG9yZWQyIHsKICBjb2xvcjogIzFjYzkzYiAhaW1wb3J0YW50Owp9Ci50ZXh0LWhvdmVyLXRoZW1lLWNvbG9yZWQyOmhvdmVyIHsKICBjb2xvcjogIzFjYzkzYiAhaW1wb3J0YW50Owp9CnVsLmxpc3QudGhlbWUtY29sb3JlZDIgbGk6YmVmb3JlLAp1bC5saXN0LnRoZW1lLWNvbG9yZWQyLmFuZ2xlLWRvdWJsZS1yaWdodCBsaTpiZWZvcmUsCnVsLmxpc3QudGhlbWUtY29sb3JlZDIuYW5nbGUtcmlnaHQgbGk6YmVmb3JlLAp1bC5saXN0LnRoZW1lLWNvbG9yZWQyLmNoZWNrLWNpcmNsZSBsaTpiZWZvcmUsCnVsLmxpc3QudGhlbWUtY29sb3JlZDIuY2hlY2sgbGk6YmVmb3JlLAoubGlzdC1pY29uLnRoZW1lLWNvbG9yZWQyIGxpIGkgewogIGNvbG9yOiAjMWNjOTNiOwp9Ci5uYXYtdGFicyBsaS5hY3RpdmUgYSwKLm5hdi10YWJzIGxpOmhvdmVyIGEsCi5uYXYtdGFicyBsaTpmb2N1cyB7CiAgYmFja2dyb3VuZDogIzFjYzkzYiAhaW1wb3J0YW50OwogIGNvbG9yOiAjZmZmOwp9Ci5zZXJ2aWNlcy1saXN0IGxpLmFjdGl2ZSBhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiOwp9Ci5zZXJ2aWNlcy1saXN0IHVsIGxpIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMxY2M5M2I7CiAgY29sb3I6ICNmZmY7Cn0KLnNlcnZpY2VzLWxpc3QgbGkuYWN0aXZlIGEgewogIGJvcmRlcjogMXB4IHNvbGlkICMxY2M5M2I7Cn0KLyogLS0tLS0tLS0gYm9yZGVyLXRoZW1lLWNvbG9yIC0tLS0tLS0tLS0gKi8KLmJvcmRlci10aGVtZS1jb2xvcmVkMiB7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci0xcHgtdGhlbWUtY29sb3JlZDIgewogIGJvcmRlcjogMXB4IHNvbGlkICMxY2M5M2I7Cn0KLyogYm9yZGVyLWxlZnQtY29sb3IgKi8KYmxvY2txdW90ZS50aGVtZS1jb2xvcmVkMiB7CiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMWNjOTNiOwp9CmJsb2NrcXVvdGUuYmctdGhlbWUtY29sb3JlZDIgewogIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzA3OGIxZTsKICBjb2xvcjogI2ZmZjsKfQpibG9ja3F1b3RlLmJnLXRoZW1lLWNvbG9yZWQyIGZvb3RlciB7CiAgY29sb3I6ICNlZWVlZWU7Cn0KYmxvY2txdW90ZS5ncmF5LmJnLXRoZW1lLWNvbG9yZWQyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlICFpbXBvcnRhbnQ7CiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMWNjOTNiOwogIGNvbG9yOiAjMWNjOTNiOwp9CmJsb2NrcXVvdGUuZ3JheS5iZy10aGVtZS1jb2xvcmVkMiBmb290ZXIgewogIGNvbG9yOiAjNzc3Nzc3Owp9Ci8qIC0tLS0tLS0tIGJnLXRoZW1lLWNvbG9yIC0tLS0tLS0tLS0gKi8KLmJnLXRoZW1lLWNvbG9yZWQyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiICFpbXBvcnRhbnQ7Cn0KLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQyOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjMWNjOTNiICFpbXBvcnRhbnQ7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiICFpbXBvcnRhbnQ7CiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsKfQouYmctaG92ZXItdGhlbWUtY29sb3JlZDI6aG92ZXIgaDEsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkMjpob3ZlciBoMiwKLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQyOmhvdmVyIGgzLAouYmctaG92ZXItdGhlbWUtY29sb3JlZDI6aG92ZXIgaDQsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkMjpob3ZlciBoNSwKLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQyOmhvdmVyIGg2LAouYmctaG92ZXItdGhlbWUtY29sb3JlZDI6aG92ZXIgcCwKLmJnLWhvdmVyLXRoZW1lLWNvbG9yZWQyOmhvdmVyIGEsCi5iZy1ob3Zlci10aGVtZS1jb2xvcmVkMjpob3ZlciBpIHsKICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Owp9Ci5saXN0LWljb24udGhlbWUtY29sb3JlZDIuc3F1YXJlIGxpIGksCi5saXN0LWljb24udGhlbWUtY29sb3JlZDIucm91bmRlZCBsaSBpIHsKICBiYWNrZ3JvdW5kOiAjMWNjOTNiOwp9Ci8qIC0tLS0tLS0tIGxpZ2h0ZXIvZGFya2VyIGJnIENvbG9yIC0tLS0tLS0tLS0gKi8KLmJnLXRoZW1lLWNvbG9yZWQyLWxpZ2h0ZXIyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNGVjN2VhICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWxpZ2h0ZXIzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTNjOGViICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWxpZ2h0ZXI0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTdjYWViICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWxpZ2h0ZXI1IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWNjYmVjICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWxpZ2h0ZXI2IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjBjZGVjICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWxpZ2h0ZXI3IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjVjZWVkICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWxpZ2h0ZXI4IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjlkMGVkICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWxpZ2h0ZXI5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNmVkMWVlICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWRhcmtlcjIgewogIGJhY2tncm91bmQtY29sb3I6ICMzY2MxZTggIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZDItZGFya2VyMyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzM3YzBlNyAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1kYXJrZXI0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzNiZWU3ICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWRhcmtlcjUgewogIGJhY2tncm91bmQtY29sb3I6ICMyZWJkZTYgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZDItZGFya2VyNiB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzJhYmJlNiAhaW1wb3J0YW50Owp9Ci5iZy10aGVtZS1jb2xvcmVkMi1kYXJrZXI3IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjViYWU1ICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWRhcmtlcjggewogIGJhY2tncm91bmQtY29sb3I6ICMyMWI4ZTUgIWltcG9ydGFudDsKfQouYmctdGhlbWUtY29sb3JlZDItZGFya2VyOSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYjdlNCAhaW1wb3J0YW50Owp9Ci8qIC0tLS0tLS0tIFRyYW5zcGFyZW50IGJnIENvbG9yIC0tLS0tLS0tLS0gKi8KLmJnLXRoZW1lLWNvbG9yZWQyLXRyYW5zcGFyZW50LTkgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLXRyYW5zcGFyZW50LTggewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjgpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLXRyYW5zcGFyZW50LTcgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjcpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLXRyYW5zcGFyZW50LTYgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjYpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLXRyYW5zcGFyZW50LTUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjUpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLXRyYW5zcGFyZW50LTQgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjQpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLXRyYW5zcGFyZW50LTMgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjMpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLXRyYW5zcGFyZW50LTIgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjIpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLXRyYW5zcGFyZW50LTEgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjEpICFpbXBvcnRhbnQ7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLXRyYW5zcGFyZW50IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY5LCAxOTYsIDIzMywgMC41KSAhaW1wb3J0YW50Owp9Ci8qIC0tLS0tLS0tIGxheWVyIG92ZXJsYXkgQ29sb3IgLS0tLS0tLS0tLSAqLwoubGF5ZXItb3ZlcmxheSB7CiAgLyogLm92ZXJsYXktdGhlbWUtY29sb3JlZDIgKi8KfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjgpICFpbXBvcnRhbnQ7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi0xOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjEpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItMjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY5LCAxOTYsIDIzMywgMC4yKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyLTM6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2OSwgMTk2LCAyMzMsIDAuMyk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi00OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjQpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItNTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY5LCAxOTYsIDIzMywgMC41KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyLTY6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2OSwgMTk2LCAyMzMsIDAuNik7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi03OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjcpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItODo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDY5LCAxOTYsIDIzMywgMC44KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyLTk6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2OSwgMTk2LCAyMzMsIDAuOSk7Cn0KLyoKICogYnRuLWRlZmF1bHQ6IHRoZW1lLWNvbG9yCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIgewogIGNvbG9yOiAjMWNjOTNiOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGNvbG9yOiAjMWNjOTNiOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjMTI3ZDljOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIgewogIGNvbG9yOiAjMWNjOTNiOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjMTlhY2Q3Owp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMiB7CiAgY29sb3I6ICMxY2M5M2I7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICMxOWFjZDc7Cn0KLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmU6aG92ZXIsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlOmhvdmVyLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZTpmb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmU6Zm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLmZvY3VzLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZS5mb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMi5mb2N1cyB7CiAgY29sb3I6ICMxY2M5M2I7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDsKICBib3JkZXItY29sb3I6ICMxMjdkOWM7Cn0KLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIuZGlzYWJsZWQ6aG92ZXIsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDJbZGlzYWJsZWRdOmhvdmVyLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMjpob3ZlciwKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMi5kaXNhYmxlZDpmb2N1cywKLmJ0bi1kZWZhdWx0LmJ0bi10aGVtZS1jb2xvcmVkMltkaXNhYmxlZF06Zm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyLmRpc2FibGVkLmZvY3VzLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyW2Rpc2FibGVkXS5mb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDIgLmJhZGdlIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiOwp9Ci5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIsCi5idG4tZGVmYXVsdC5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLAouYnRuLWRlZmF1bHQuYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiOwogIGJvcmRlci1jb2xvcjogIzFjYzkzYjsKICBjb2xvcjogI2ZmZjsKfQovKgogKiBidG4tYm9yZGVyCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMiB7CiAgY29sb3I6ICMxY2M5M2I7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItY29sb3I6ICMxY2M5M2I7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGNvbG9yOiAjMWNjOTNiOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjMTI3ZDljOwp9Ci5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMjpob3ZlciB7CiAgY29sb3I6ICMxY2M5M2I7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICMxOWFjZDc7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZSwKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyIHsKICBjb2xvcjogIzFjYzkzYjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogIzE5YWNkNzsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlOmhvdmVyLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlOmhvdmVyLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmU6Zm9jdXMsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmU6Zm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMjpmb2N1cywKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZS5mb2N1cywKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZS5mb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyLmZvY3VzIHsKICBjb2xvcjogIzFjYzkzYjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDRkNGQ0OwogIGJvcmRlci1jb2xvcjogIzEyN2Q5YzsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDIgewogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyLmRpc2FibGVkOmhvdmVyLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDJbZGlzYWJsZWRdOmhvdmVyLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyLAouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDIuZGlzYWJsZWQ6Zm9jdXMsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMltkaXNhYmxlZF06Zm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMi5kaXNhYmxlZC5mb2N1cywKLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyW2Rpc2FibGVkXS5mb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMi5mb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItY29sb3I6ICMxY2M5M2I7Cn0KLmJ0bi1ib3JkZXIuYnRuLXRoZW1lLWNvbG9yZWQyIC5iYWRnZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYzkzYjsKfQouYnRuLWJvcmRlci5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUsCi5idG4tYm9yZGVyLmJ0bi10aGVtZS1jb2xvcmVkMjpmb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzA3OGIxZTsKICBib3JkZXItY29sb3I6ICMwNzhiMWU7CiAgY29sb3I6ICNmZmY7Cn0KLyoKICogYnRuLWRhcmsKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMiB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYzkzYjsKICBib3JkZXItY29sb3I6ICMxY2M5M2I7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMjpmb2N1cywKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMi5mb2N1cyB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzA3OGIxZTsKICBib3JkZXItY29sb3I6ICMxMjdkOWM7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMjpob3ZlciB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzA3OGIxZTsKICBib3JkZXItY29sb3I6ICMxOWFjZDc7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDc4YjFlOwogIGJvcmRlci1jb2xvcjogIzE5YWNkNzsKfQouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZTpob3ZlciwKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmU6aG92ZXIsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlOmZvY3VzLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZTpmb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMjpmb2N1cywKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUuZm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlLmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyLmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc5YWMxOwogIGJvcmRlci1jb2xvcjogIzEyN2Q5YzsKfQouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZSwKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIgewogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMi5kaXNhYmxlZDpob3ZlciwKLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMltkaXNhYmxlZF06aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyLmRpc2FibGVkOmZvY3VzLAouYnRuLWRhcmsuYnRuLXRoZW1lLWNvbG9yZWQyW2Rpc2FibGVkXTpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDIuZGlzYWJsZWQuZm9jdXMsCi5idG4tZGFyay5idG4tdGhlbWUtY29sb3JlZDJbZGlzYWJsZWRdLmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMi5mb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYzkzYjsKICBib3JkZXItY29sb3I6ICMxY2M5M2I7Cn0KLmJ0bi1kYXJrLmJ0bi10aGVtZS1jb2xvcmVkMiAuYmFkZ2UgewogIGNvbG9yOiAjMWNjOTNiOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7Cn0KLyoKICogYnRuLWdyYXkKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMiB7CiAgY29sb3I6ICMxY2M5M2I7CiAgYmFja2dyb3VuZC1jb2xvcjogIzczZDJlZTsKICBib3JkZXItY29sb3I6ICM3M2QyZWU7Cn0KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMjpmb2N1cywKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMi5mb2N1cyB7CiAgY29sb3I6ICMxY2M5M2I7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYzkzYjsKICBib3JkZXItY29sb3I6ICMxOGEyY2E7Cn0KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMjpob3ZlciB7CiAgY29sb3I6ICMxY2M5M2I7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYzkzYjsKICBib3JkZXItY29sb3I6ICMzY2MxZTg7Cn0KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyIHsKICBjb2xvcjogIzFjYzkzYjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiOwogIGJvcmRlci1jb2xvcjogIzNjYzFlODsKfQouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZTpob3ZlciwKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmU6aG92ZXIsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlOmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZTpmb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMjpmb2N1cywKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUuZm9jdXMsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlLmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyLmZvY3VzIHsKICBjb2xvcjogIzFjYzkzYjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjViYWU1OwogIGJvcmRlci1jb2xvcjogIzE4YTJjYTsKfQouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZSwKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIgewogIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7Cn0KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMi5kaXNhYmxlZDpob3ZlciwKLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMltkaXNhYmxlZF06aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyLmRpc2FibGVkOmZvY3VzLAouYnRuLWdyYXkuYnRuLXRoZW1lLWNvbG9yZWQyW2Rpc2FibGVkXTpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDIuZGlzYWJsZWQuZm9jdXMsCi5idG4tZ3JheS5idG4tdGhlbWUtY29sb3JlZDJbZGlzYWJsZWRdLmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMi5mb2N1cyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzczZDJlZTsKICBib3JkZXItY29sb3I6ICM3M2QyZWU7Cn0KLmJ0bi1ncmF5LmJ0bi10aGVtZS1jb2xvcmVkMiAuYmFkZ2UgewogIGNvbG9yOiAjNzNkMmVlOwogIGJhY2tncm91bmQtY29sb3I6ICMxY2M5M2I7Cn0KLyoKICogYnRuLXByaW1hcnk6IHRoZW1lLWNvbG9yCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5idG4tdGhlbWUtY29sb3JlZDIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMxY2M5M2I7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiOwp9Ci5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwNzhiMWU7CiAgYm9yZGVyLWNvbG9yOiAjMTI3ZDljOwp9Ci5idG4tdGhlbWUtY29sb3JlZDI6aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwNzhiMWU7CiAgYm9yZGVyLWNvbG9yOiAjMTlhY2Q3Owp9Ci5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLAouYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi10aGVtZS1jb2xvcmVkMiB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzA3OGIxZTsKICBib3JkZXItY29sb3I6ICMxOWFjZDc7Cn0KLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmU6aG92ZXIsCi5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlOmhvdmVyLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXRoZW1lLWNvbG9yZWQyOmhvdmVyLAouYnRuLXRoZW1lLWNvbG9yZWQyOmFjdGl2ZTpmb2N1cywKLmJ0bi10aGVtZS1jb2xvcmVkMi5hY3RpdmU6Zm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tdGhlbWUtY29sb3JlZDI6Zm9jdXMsCi5idG4tdGhlbWUtY29sb3JlZDI6YWN0aXZlLmZvY3VzLAouYnRuLXRoZW1lLWNvbG9yZWQyLmFjdGl2ZS5mb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi10aGVtZS1jb2xvcmVkMi5mb2N1cyB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE3OWFjMTsKICBib3JkZXItY29sb3I6ICMxMjdkOWM7Cn0KLmJ0bi10aGVtZS1jb2xvcmVkMjphY3RpdmUsCi5idG4tdGhlbWUtY29sb3JlZDIuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLXRoZW1lLWNvbG9yZWQyIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tdGhlbWUtY29sb3JlZDIuZGlzYWJsZWQ6aG92ZXIsCi5idG4tdGhlbWUtY29sb3JlZDJbZGlzYWJsZWRdOmhvdmVyLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi10aGVtZS1jb2xvcmVkMjpob3ZlciwKLmJ0bi10aGVtZS1jb2xvcmVkMi5kaXNhYmxlZDpmb2N1cywKLmJ0bi10aGVtZS1jb2xvcmVkMltkaXNhYmxlZF06Zm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXRoZW1lLWNvbG9yZWQyOmZvY3VzLAouYnRuLXRoZW1lLWNvbG9yZWQyLmRpc2FibGVkLmZvY3VzLAouYnRuLXRoZW1lLWNvbG9yZWQyW2Rpc2FibGVkXS5mb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tdGhlbWUtY29sb3JlZDIuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICMxY2M5M2I7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiOwp9Ci5idG4tdGhlbWUtY29sb3JlZDIgLmJhZGdlIHsKICBjb2xvcjogIzFjYzkzYjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwp9Ci5idG4taG92ZXItdGhlbWUtY29sb3JlZDI6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMxY2M5M2I7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiOwogIGNvbG9yOiAjZmZmOwp9Ci8qCiAqIFNob3J0Y29kZTogc3R5bGVkLWljb25zIFRoZW1lIENvbG9yZWQKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmljb24tdGhlbWUtY29sb3JlZDIgYSB7CiAgY29sb3I6ICMxY2M5M2I7Cn0KLmljb24tdGhlbWUtY29sb3JlZDIuaWNvbi1ib3JkZXJlZCBhIHsKICBib3JkZXItY29sb3I6ICMxY2M5M2I7Cn0KLmljb24tdGhlbWUtY29sb3JlZDIuaWNvbi1ib3JkZXJlZCBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQyLmljb24tZGFyayBhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQyLmljb24tZGFyayBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDc4YjFlOwogIGNvbG9yOiAjMDc4YjFlOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQyLmljb24tZGFyay5pY29uLWJvcmRlcmVkIGEgewogIGJvcmRlci1jb2xvcjogIzFjYzkzYjsKICBjb2xvcjogIzFjYzkzYjsKfQouaWNvbi10aGVtZS1jb2xvcmVkMi5pY29uLWRhcmsuaWNvbi1ib3JkZXJlZCBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiOwogIGJvcmRlci1jb2xvcjogIzFjYzkzYjsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi10aGVtZS1jb2xvcmVkMi5pY29uLWdyYXkgYSB7CiAgY29sb3I6ICMxY2M5M2I7Cn0KLmljb24tdGhlbWUtY29sb3JlZDIuaWNvbi1ncmF5IGE6aG92ZXIgewogIGNvbG9yOiAjMDc4YjFlOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQyLmljb24tZ3JheS5pY29uLWJvcmRlcmVkIGEgewogIGNvbG9yOiAjMWNjOTNiOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQyLmljb24tZ3JheS5pY29uLWJvcmRlcmVkIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlOwogIGNvbG9yOiAjMWNjOTNiOwp9Ci5pY29uLXRoZW1lLWNvbG9yZWQyIGE6aG92ZXIgewogIGNvbG9yOiAjMDc4YjFlOwp9Ci5pY29uLWhvdmVyLXRoZW1lLWNvbG9yZWQyIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMxY2M5M2I7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiOwogIGNvbG9yOiAjZmZmOwp9Ci5zdHlsZWQtaWNvbnMuaWNvbi1ob3Zlci10aGVtZS1jb2xvcmVkMiBhOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiOwogIGJvcmRlci1jb2xvcjogIzFjYzkzYjsKICBjb2xvcjogI2ZmZjsKfQovKgogKiBTaG9ydGNvZGU6IEljb24gQm94ZXMgVGhlbWUgQ29sb3JlZAogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkMiAuaWNvbiB7CiAgY29sb3I6ICMxY2M5M2I7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZDIgLmljb24uaWNvbi1ib3JkZXItZWZmZWN0OjphZnRlciB7CiAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICMxY2M5M2I7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZDIgLmljb24uaWNvbi1ib3JkZXJlZCB7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMxY2M5M2I7CiAgY29sb3I6ICNmZmY7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZDIgLmljb24uaWNvbi1ncmF5OmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24tZ3JheS5pY29uLWJvcmRlcmVkIHsKICBib3JkZXItY29sb3I6ICNlZWVlZWU7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZDIgLmljb24uaWNvbi1ncmF5Lmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMxY2M5M2I7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24tZGFyayB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYzkzYjsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkMiAuaWNvbi5pY29uLWRhcms6aG92ZXIgewogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24tZGFyay5pY29uLWJvcmRlcmVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXItY29sb3I6ICMxY2M5M2I7CiAgY29sb3I6ICMxY2M5M2I7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZDIgLmljb24uaWNvbi1kYXJrLmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMxY2M5M2I7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyIC5pY29uLmljb24td2hpdGUgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgY29sb3I6ICMxY2M5M2I7Cn0KLmljb24tYm94Lmljb25ib3gtdGhlbWUtY29sb3JlZDIgLmljb24uaWNvbi13aGl0ZTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYzkzYjsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkMiAuaWNvbi5pY29uLXdoaXRlLmljb24tYm9yZGVyZWQgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlci1jb2xvcjogIzFjYzkzYjsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3guaWNvbmJveC10aGVtZS1jb2xvcmVkMiAuaWNvbi5pY29uLXdoaXRlLmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMxY2M5M2I7CiAgYm9yZGVyLWNvbG9yOiAjMWNjOTNiOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveC5pY29uYm94LXRoZW1lLWNvbG9yZWQyLmljb25ib3gtYm9yZGVyIHsKICBib3JkZXItY29sb3I6ICMxY2M5M2I7Cn0KLyoKICogIGFjY29yZGlvbi5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5hY2NvcmRpb24tdGhlbWUtY29sb3JlZDIgLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYzkzYjsKfQouYWNjb3JkaW9uLXRoZW1lLWNvbG9yZWQyIC5wYW5lbC1kZWZhdWx0ID4gLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlID4gYSwKLmFjY29yZGlvbi10aGVtZS1jb2xvcmVkMiAucGFuZWwtZGVmYXVsdCA+IC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSA+IGE6aG92ZXIsCi5hY2NvcmRpb24tdGhlbWUtY29sb3JlZDIgLnBhbmVsLWRlZmF1bHQgPiAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgPiBhOmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZDIgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEuYWN0aXZlOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogIzFjYzkzYjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZDItZmlsbGVkIC5wYW5lbC1oZWFkaW5nIHsKICBiYWNrZ3JvdW5kOiAjMWNjOTNiOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkMi1maWxsZWQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEgewogIGNvbG9yOiAjZmZmOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkMi1maWxsZWQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiAjMzdjMGU3OwogIGNvbG9yOiAjZmZmOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkMi1maWxsZWQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEuYWN0aXZlOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogIzE5YTlkMzsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMtdGhlbWUtY29sb3JlZDIxIC5wYW5lbC1oZWFkaW5nIHsKICBiYWNrZ3JvdW5kOiAjMWNjOTNiOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkMjEgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEgewogIGNvbG9yOiAjZmZmOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkMjEgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiAjMmViZGU2OwogIGNvbG9yOiAjZmZmOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYy10aGVtZS1jb2xvcmVkMjEgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEuYWN0aXZlOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogIzE2MzY1MTsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tZmlsbGVkLmFjY29yZGlvbi1pY29uLWxlZnQuYWNjb3JkaW9uLWljb24tZmlsbGVkLXRoZW1lLWNvbG9yZWQyIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhOmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYzkzYjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tZmlsbGVkLmFjY29yZGlvbi1pY29uLXJpZ2h0LmFjY29yZGlvbi1pY29uLWZpbGxlZC10aGVtZS1jb2xvcmVkMiAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzFjYzkzYjsKfQovKgogKiAgY29tbW9uLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyoKICogY3VzdG9tLXRoZW1lLWNvbG9yLXNldC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qCiAqIGN1c3RvbS10aGVtZS1jb2xvcjEubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouZm9ybS10cmFuc3BhcmVudCBzZWxlY3Qgb3B0aW9uIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCA1NCwgODEsIDAuOSk7Cn0KLyoKICogY3VzdG9tLXRoZW1lLWNvbG9yMi5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5kb3VibGUtbGluZS1ib3R0b20tdGhlbWUtY29sb3JlZDI6YWZ0ZXIsCi5kb3VibGUtbGluZS1ib3R0b20tdGhlbWUtY29sb3JlZDI6YmVmb3JlLAouZG91YmxlLWxpbmUtYm90dG9tLWNlbnRlcmVkLXRoZW1lLWNvbG9yZWQyOmFmdGVyLAouZG91YmxlLWxpbmUtYm90dG9tLWNlbnRlcmVkLXRoZW1lLWNvbG9yZWQyOmJlZm9yZSwKLmRpYW1vbmQtbGluZS1jZW50ZXJlZC10aGVtZS1jb2xvcmVkMjpiZWZvcmUsCi5kaWFtb25kLWxpbmUtbGVmdC10aGVtZS1jb2xvcmVkMjpiZWZvcmUsCi5saW5lLWJvdHRvbS10aGVtZS1jb2xvcmVkMjphZnRlciwKLmxpbmUtYm90dG9tLWNlbnRlcmVkOjphZnRlciwKLmxpbmUtYm90dG9tLXJvdW5kZWQtdGhlbWUtY29sb3JlZDI6YWZ0ZXIsCi5saW5lLWJvdHRvbS1kb3VibGUtbGluZS1jZW50ZXJlZDo6YmVmb3JlLAoubGluZS1ib3R0b20tZG91YmxlLWxpbmUtY2VudGVyZWQ6OmFmdGVyIHsKICBiYWNrZ3JvdW5kOiAjMWNjOTNiOwp9Ci5kaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtY29sb3JlZDI6OmJlZm9yZSwKLmRpYW1vbmQtbGluZS1sZWZ0LXRoZW1lLWNvbG9yZWQyOjpiZWZvcmUgewogIGJveC1zaGFkb3c6IDAgMCAzcHggM3B4IHJnYmEoNjksIDE5NiwgMjMzLCAwLjQpOwp9Ci5kaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtY29sb3JlZDI6YWZ0ZXIsCi5kaWFtb25kLWxpbmUtbGVmdC10aGVtZS1jb2xvcmVkMjphZnRlciB7CiAgYm9yZGVyOiAxcHggc29saWQgIzFjYzkzYjsKfQoudGVhbS1tZW1iZXIgLnRlYW0tdGh1bWIgLm92ZXJsYXkgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC45KTsKfQoucHJvamVjdC1kZXRhaWxzIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCA1NCwgODEsIDAuOSk7Cn0KLyoKICogIEdyYWRpZW50cyBCRytCR1RyYW5zcGFyZW50IENvbG9yCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qIEdyYWRpZW50IEJHIENvbG9ycyAqLwouYmctdGhlbWUtY29sb3JlZC1ncmFkaWVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzBiMWIyOTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCMwYjFiMjkpLCB0bygjMmM2YmExKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjMGIxYjI5LCAjMmM2YmExKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMwYjFiMjksICMyYzZiYTEpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMGIxYjI5LCAjMmM2YmExKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMGIxYjI5LCAjMmM2YmExKTsKfQouYmctdGhlbWUtY29sb3JlZC1ncmFkaWVudC1ob3Jpem9udGFsIHsKICBiYWNrZ3JvdW5kOiAjMGIxYjI5OwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKCMwYjFiMjkpLCB0bygjMmM2YmExKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzBiMWIyOSwgIzJjNmJhMSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIzBiMWIyOSwgIzJjNmJhMSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMGIxYjI5LCAjMmM2YmExKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgIzBiMWIyOSwgIzJjNmJhMSk7Cn0KLmJnLXRoZW1lLWNvbG9yZWQyLWdyYWRpZW50IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDc4YjFlOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oIzA3OGIxZSksIHRvKCNhMGUxZjQpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMwNzhiMWUsICNhMGUxZjQpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzA3OGIxZSwgI2EwZTFmNCk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICMwNzhiMWUsICNhMGUxZjQpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICMwNzhiMWUsICNhMGUxZjQpOwp9Ci5iZy10aGVtZS1jb2xvcmVkMi1ncmFkaWVudC1ob3Jpem9udGFsIHsKICBiYWNrZ3JvdW5kOiAjMDc4YjFlOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKCMwNzhiMWUpLCB0bygjYTBlMWY0KSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgIzA3OGIxZSwgI2EwZTFmNCk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgIzA3OGIxZSwgI2EwZTFmNCk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMDc4YjFlLCAjYTBlMWY0KTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgIzA3OGIxZSwgI2EwZTFmNCk7Cn0KLmJnLXRoZW1lLWNvbG9yZWQxMi1ncmFkaWVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MzY1MTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBmcm9tKCMxNjM2NTEpLCB0bygjMWNjOTNiKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjMTYzNjUxLCAjMWNjOTNiKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMxNjM2NTEsICMxY2M5M2IpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMTYzNjUxLCAjMWNjOTNiKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAjMTYzNjUxLCAjMWNjOTNiKTsKfQouYmctdGhlbWUtY29sb3JlZDEyLWdyYWRpZW50LWhvcml6b250YWwgewogIGJhY2tncm91bmQ6ICMxNjM2NTE7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oIzE2MzY1MSksIHRvKCMxY2M5M2IpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMTYzNjUxLCAjMWNjOTNiKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMTYzNjUxLCAjMWNjOTNiKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsICMxNjM2NTEsICMxY2M5M2IpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAjMTYzNjUxLCAjMWNjOTNiKTsKfQouYmctdGhlbWUtY29sb3JlZDIxLWdyYWRpZW50IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNjOTNiOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGZyb20oIzFjYzkzYiksIHRvKCMxNjM2NTEpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICMxY2M5M2IsICMxNjM2NTEpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgIzFjYzkzYiwgIzE2MzY1MSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICMxY2M5M2IsICMxNjM2NTEpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICMxY2M5M2IsICMxNjM2NTEpOwp9Ci5iZy10aGVtZS1jb2xvcmVkMjEtZ3JhZGllbnQtaG9yaXpvbnRhbCB7CiAgYmFja2dyb3VuZDogIzFjYzkzYjsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbSgjMWNjOTNiKSwgdG8oIzE2MzY1MSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsICMxY2M5M2IsICMxNjM2NTEpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsICMxY2M5M2IsICMxNjM2NTEpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgIzFjYzkzYiwgIzE2MzY1MSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsICMxY2M5M2IsICMxNjM2NTEpOwp9Ci8qIC0tLS0tLS0tIGxheWVyIG92ZXJsYXkgZ3JhZGllbnQgQ29sb3IxIC0tLS0tLS0tLS0gKi8KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkLWdyYWRpZW50OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC45KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuOSkpLCB0byhyZ2JhKDQ0LCAxMDcsIDE2MSwgMC45KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC45KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC45KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjkpLCByZ2JhKDQ0LCAxMDcsIDE2MSwgMC45KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC45KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuOSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC0xOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC4xKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuMSkpLCB0byhyZ2JhKDQ0LCAxMDcsIDE2MSwgMC4xKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4xKSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuMSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4xKSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuMSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjEpLCByZ2JhKDQ0LCAxMDcsIDE2MSwgMC4xKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4xKSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuMSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC0yOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC4yKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuMikpLCB0byhyZ2JhKDQ0LCAxMDcsIDE2MSwgMC4yKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4yKSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuMikpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4yKSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuMikpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjIpLCByZ2JhKDQ0LCAxMDcsIDE2MSwgMC4yKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4yKSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuMikpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC0zOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC4zKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuMykpLCB0byhyZ2JhKDQ0LCAxMDcsIDE2MSwgMC4zKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4zKSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuMykpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4zKSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuMykpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjMpLCByZ2JhKDQ0LCAxMDcsIDE2MSwgMC4zKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4zKSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuMykpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC00OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC40KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuNCkpLCB0byhyZ2JhKDQ0LCAxMDcsIDE2MSwgMC40KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC40KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNCkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC40KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNCkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjQpLCByZ2JhKDQ0LCAxMDcsIDE2MSwgMC40KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC40KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNCkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC01OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC41KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuNSkpLCB0byhyZ2JhKDQ0LCAxMDcsIDE2MSwgMC41KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC41KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC41KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjUpLCByZ2JhKDQ0LCAxMDcsIDE2MSwgMC41KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC41KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC02OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC42KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuNikpLCB0byhyZ2JhKDQ0LCAxMDcsIDE2MSwgMC42KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC42KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNikpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC42KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNikpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjYpLCByZ2JhKDQ0LCAxMDcsIDE2MSwgMC42KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC42KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNikpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC03OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC43KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuNykpLCB0byhyZ2JhKDQ0LCAxMDcsIDE2MSwgMC43KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC43KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNykpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC43KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNykpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjcpLCByZ2JhKDQ0LCAxMDcsIDE2MSwgMC43KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC43KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuNykpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC04OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC44KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuOCkpLCB0byhyZ2JhKDQ0LCAxMDcsIDE2MSwgMC44KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC44KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuOCkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC44KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuOCkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjgpLCByZ2JhKDQ0LCAxMDcsIDE2MSwgMC44KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC44KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuOCkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZC1ncmFkaWVudC05OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC45KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuOSkpLCB0byhyZ2JhKDQ0LCAxMDcsIDE2MSwgMC45KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC45KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC45KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjkpLCByZ2JhKDQ0LCAxMDcsIDE2MSwgMC45KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC45KSwgcmdiYSg0NCwgMTA3LCAxNjEsIDAuOSkpOwp9Ci8qIC0tLS0tLS0tIGxheWVyIG92ZXJsYXkgZ3JhZGllbnQgQ29sb3IyIC0tLS0tLS0tLS0gKi8KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMi1ncmFkaWVudDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC45KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC45KSksIHRvKHJnYmEoMTYwLCAyMjUsIDI0NCwgMC45KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuOSksIHJnYmEoMTYwLCAyMjUsIDI0NCwgMC45KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuOSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItZ3JhZGllbnQtMTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC4xKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC4xKSksIHRvKHJnYmEoMTYwLCAyMjUsIDI0NCwgMC4xKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjEpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuMSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjEpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuMSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMSksIHJnYmEoMTYwLCAyMjUsIDI0NCwgMC4xKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjEpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuMSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItZ3JhZGllbnQtMjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC4yKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC4yKSksIHRvKHJnYmEoMTYwLCAyMjUsIDI0NCwgMC4yKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjIpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuMikpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjIpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuMikpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMiksIHJnYmEoMTYwLCAyMjUsIDI0NCwgMC4yKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjIpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuMikpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItZ3JhZGllbnQtMzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC4zKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC4zKSksIHRvKHJnYmEoMTYwLCAyMjUsIDI0NCwgMC4zKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjMpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuMykpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjMpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuMykpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMyksIHJnYmEoMTYwLCAyMjUsIDI0NCwgMC4zKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjMpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuMykpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItZ3JhZGllbnQtNDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC40KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC40KSksIHRvKHJnYmEoMTYwLCAyMjUsIDI0NCwgMC40KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjQpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNCkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjQpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNCkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNCksIHJnYmEoMTYwLCAyMjUsIDI0NCwgMC40KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjQpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNCkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItZ3JhZGllbnQtNTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC41KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC41KSksIHRvKHJnYmEoMTYwLCAyMjUsIDI0NCwgMC41KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjUpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjUpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNSksIHJnYmEoMTYwLCAyMjUsIDI0NCwgMC41KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjUpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItZ3JhZGllbnQtNjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC42KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC42KSksIHRvKHJnYmEoMTYwLCAyMjUsIDI0NCwgMC42KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjYpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNikpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjYpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNikpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNiksIHJnYmEoMTYwLCAyMjUsIDI0NCwgMC42KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjYpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNikpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItZ3JhZGllbnQtNzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC43KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC43KSksIHRvKHJnYmEoMTYwLCAyMjUsIDI0NCwgMC43KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjcpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNykpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjcpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNykpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNyksIHJnYmEoMTYwLCAyMjUsIDI0NCwgMC43KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjcpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuNykpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItZ3JhZGllbnQtODo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC44KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC44KSksIHRvKHJnYmEoMTYwLCAyMjUsIDI0NCwgMC44KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjgpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuOCkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjgpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuOCkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuOCksIHJnYmEoMTYwLCAyMjUsIDI0NCwgMC44KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjgpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuOCkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDItZ3JhZGllbnQtOTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC45KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC45KSksIHRvKHJnYmEoMTYwLCAyMjUsIDI0NCwgMC45KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuOSksIHJnYmEoMTYwLCAyMjUsIDI0NCwgMC45KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpLCByZ2JhKDE2MCwgMjI1LCAyNDQsIDAuOSkpOwp9Ci8qIC0tLS0tLS0tIGxheWVyIG92ZXJsYXkgZ3JhZGllbnQgQ29sb3IgQ29tYmluZWQgMTIgLS0tLS0tLS0tLSAqLwoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQxMi1ncmFkaWVudDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCA1NCwgODEsIDAuOSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgyMiwgNTQsIDgxLCAwLjkpKSwgdG8ocmdiYSg2OSwgMTk2LCAyMzMsIDAuOSkpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuOSksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuOSksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC45KSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuOSksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQxMi1ncmFkaWVudC0xOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC4xKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuMSkpLCB0byhyZ2JhKDY5LCAxOTYsIDIzMywgMC4xKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4xKSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4xKSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjEpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC4xKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4xKSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDEyLWdyYWRpZW50LTI6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgyMiwgNTQsIDgxLCAwLjIpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjIsIDU0LCA4MSwgMC4yKSksIHRvKHJnYmEoNjksIDE5NiwgMjMzLCAwLjIpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjIpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC4yKSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjIpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC4yKSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuMiksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjIpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjIpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC4yKSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMTItZ3JhZGllbnQtMzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCA1NCwgODEsIDAuMyk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgyMiwgNTQsIDgxLCAwLjMpKSwgdG8ocmdiYSg2OSwgMTk2LCAyMzMsIDAuMykpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuMyksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjMpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuMyksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjMpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC4zKSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMykpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuMyksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjMpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQxMi1ncmFkaWVudC00OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC40KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuNCkpLCB0byhyZ2JhKDY5LCAxOTYsIDIzMywgMC40KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC40KSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNCkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC40KSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNCkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjQpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC40KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC40KSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNCkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDEyLWdyYWRpZW50LTU6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgyMiwgNTQsIDgxLCAwLjUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjIsIDU0LCA4MSwgMC41KSksIHRvKHJnYmEoNjksIDE5NiwgMjMzLCAwLjUpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjUpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC41KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjUpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC41KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuNSksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjUpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjUpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC41KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMTItZ3JhZGllbnQtNjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCA1NCwgODEsIDAuNik7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgyMiwgNTQsIDgxLCAwLjYpKSwgdG8ocmdiYSg2OSwgMTk2LCAyMzMsIDAuNikpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuNiksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjYpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuNiksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjYpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC42KSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNikpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuNiksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjYpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQxMi1ncmFkaWVudC03OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMjIsIDU0LCA4MSwgMC43KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDIyLCA1NCwgODEsIDAuNykpLCB0byhyZ2JhKDY5LCAxOTYsIDIzMywgMC43KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC43KSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNykpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC43KSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNykpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjcpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC43KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC43KSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNykpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDEyLWdyYWRpZW50LTg6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSgyMiwgNTQsIDgxLCAwLjgpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoMjIsIDU0LCA4MSwgMC44KSksIHRvKHJnYmEoNjksIDE5NiwgMjMzLCAwLjgpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjgpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC44KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjgpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC44KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuOCksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjgpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSgyMiwgNTQsIDgxLCAwLjgpLCByZ2JhKDY5LCAxOTYsIDIzMywgMC44KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMTItZ3JhZGllbnQtOTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDIyLCA1NCwgODEsIDAuOSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSgyMiwgNTQsIDgxLCAwLjkpKSwgdG8ocmdiYSg2OSwgMTk2LCAyMzMsIDAuOSkpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuOSksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuOSksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoMjIsIDU0LCA4MSwgMC45KSwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDIyLCA1NCwgODEsIDAuOSksIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpKTsKfQovKiAtLS0tLS0tLSBsYXllciBvdmVybGF5IGdyYWRpZW50IENvbG9yIENvbWJpbmVkIDIxIC0tLS0tLS0tLS0gKi8KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMjEtZ3JhZGllbnQ6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSg2OSwgMTk2LCAyMzMsIDAuOSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSg2OSwgMTk2LCAyMzMsIDAuOSkpLCB0byhyZ2JhKDIyLCA1NCwgODEsIDAuOSkpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC45KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC45KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpLCByZ2JhKDIyLCA1NCwgODEsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC45KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjkpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyMS1ncmFkaWVudC0xOjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjEpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoNjksIDE5NiwgMjMzLCAwLjEpKSwgdG8ocmdiYSgyMiwgNTQsIDgxLCAwLjEpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMSksIHJnYmEoMjIsIDU0LCA4MSwgMC4xKSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMSksIHJnYmEoMjIsIDU0LCA4MSwgMC4xKSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC4xKSwgcmdiYSgyMiwgNTQsIDgxLCAwLjEpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMSksIHJnYmEoMjIsIDU0LCA4MSwgMC4xKSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMjEtZ3JhZGllbnQtMjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC4yKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC4yKSksIHRvKHJnYmEoMjIsIDU0LCA4MSwgMC4yKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjIpLCByZ2JhKDIyLCA1NCwgODEsIDAuMikpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjIpLCByZ2JhKDIyLCA1NCwgODEsIDAuMikpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuMiksIHJnYmEoMjIsIDU0LCA4MSwgMC4yKSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjIpLCByZ2JhKDIyLCA1NCwgODEsIDAuMikpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDIxLWdyYWRpZW50LTM6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSg2OSwgMTk2LCAyMzMsIDAuMyk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSg2OSwgMTk2LCAyMzMsIDAuMykpLCB0byhyZ2JhKDIyLCA1NCwgODEsIDAuMykpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC4zKSwgcmdiYSgyMiwgNTQsIDgxLCAwLjMpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC4zKSwgcmdiYSgyMiwgNTQsIDgxLCAwLjMpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjMpLCByZ2JhKDIyLCA1NCwgODEsIDAuMykpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC4zKSwgcmdiYSgyMiwgNTQsIDgxLCAwLjMpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyMS1ncmFkaWVudC00OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjQpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoNjksIDE5NiwgMjMzLCAwLjQpKSwgdG8ocmdiYSgyMiwgNTQsIDgxLCAwLjQpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNCksIHJnYmEoMjIsIDU0LCA4MSwgMC40KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNCksIHJnYmEoMjIsIDU0LCA4MSwgMC40KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC40KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjQpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNCksIHJnYmEoMjIsIDU0LCA4MSwgMC40KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMjEtZ3JhZGllbnQtNTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC41KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC41KSksIHRvKHJnYmEoMjIsIDU0LCA4MSwgMC41KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjUpLCByZ2JhKDIyLCA1NCwgODEsIDAuNSkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjUpLCByZ2JhKDIyLCA1NCwgODEsIDAuNSkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNSksIHJnYmEoMjIsIDU0LCA4MSwgMC41KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjUpLCByZ2JhKDIyLCA1NCwgODEsIDAuNSkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDIxLWdyYWRpZW50LTY6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSg2OSwgMTk2LCAyMzMsIDAuNik7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSg2OSwgMTk2LCAyMzMsIDAuNikpLCB0byhyZ2JhKDIyLCA1NCwgODEsIDAuNikpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC42KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjYpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC42KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjYpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjYpLCByZ2JhKDIyLCA1NCwgODEsIDAuNikpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC42KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjYpKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXRoZW1lLWNvbG9yZWQyMS1ncmFkaWVudC03OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoNjksIDE5NiwgMjMzLCAwLjcpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgcmlnaHQgdG9wLCBmcm9tKHJnYmEoNjksIDE5NiwgMjMzLCAwLjcpKSwgdG8ocmdiYSgyMiwgNTQsIDgxLCAwLjcpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNyksIHJnYmEoMjIsIDU0LCA4MSwgMC43KSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNyksIHJnYmEoMjIsIDU0LCA4MSwgMC43KSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC43KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjcpKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuNyksIHJnYmEoMjIsIDU0LCA4MSwgMC43KSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS10aGVtZS1jb2xvcmVkMjEtZ3JhZGllbnQtODo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDY5LCAxOTYsIDIzMywgMC44KTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIHJpZ2h0IHRvcCwgZnJvbShyZ2JhKDY5LCAxOTYsIDIzMywgMC44KSksIHRvKHJnYmEoMjIsIDU0LCA4MSwgMC44KSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjgpLCByZ2JhKDIyLCA1NCwgODEsIDAuOCkpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjgpLCByZ2JhKDIyLCA1NCwgODEsIDAuOCkpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQobGVmdCwgcmdiYSg2OSwgMTk2LCAyMzMsIDAuOCksIHJnYmEoMjIsIDU0LCA4MSwgMC44KSk7CiAgYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjgpLCByZ2JhKDIyLCA1NCwgODEsIDAuOCkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktdGhlbWUtY29sb3JlZDIxLWdyYWRpZW50LTk6OmJlZm9yZSB7CiAgYmFja2dyb3VuZDogcmdiYSg2OSwgMTk2LCAyMzMsIDAuOSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20ocmdiYSg2OSwgMTk2LCAyMzMsIDAuOSkpLCB0byhyZ2JhKDIyLCA1NCwgODEsIDAuOSkpKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC45KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC45KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjkpKTsKICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KGxlZnQsIHJnYmEoNjksIDE5NiwgMjMzLCAwLjkpLCByZ2JhKDIyLCA1NCwgODEsIDAuOSkpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCByZ2JhKDY5LCAxOTYsIDIzMywgMC45KSwgcmdiYSgyMiwgNTQsIDgxLCAwLjkpKTsKfQo="}},"time_used":393,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":358,"receive":35,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/jquery-plugin-collection.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.604Z","timestamp":1785133989604,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/jquery-plugin-collection.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 226284\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":795362,"size_decoded":226523,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (14294), with CRLF line terminators","md5":"43df0f1184c27f99fa4744b597449692","sha1":"90eb619a134d93609a1164d8ade3c2955b9aba7c","sha256":"f8af7ab9c5d9bf52b3663041d6d421b733576237baa3b8f46bc8abc659d6ba6a","sha512":"1e2309e6a9dc6c76d0fa9b917c0c4fe2a322ed1e47eec44ee27eb07453451a79c4f31ff2ba068008f4a7d6d08c2ed2c16ba536d8f71499f315a2dd6b8eefef37","ssdeep":"12288:NXRLjASMQzEy87Tpyxo3cVpU2d5k2MBxNie+iQI:/jASMQYy87TpM9JMLN3+iv","tlshash":"93054a487651752646a7a0f1a02f020bf237996ae80ac46cb5b9d8d97d7cd4c213ffbc","first_seen":"2023-03-08T16:17:52Z","last_seen":"2026-07-27T14:34:25.232493Z","times_seen":96,"resource_available":true,"data":"LyoNCkBBdXRob3I6IFRoZW1lTWFzY290DQpAVVJMOiBodHRwOi8vVGhlbWVNYXNjb3QuY29tDQoNCk5lY2Vzc2FyeSBqUXVlcnkgQ29sbGVjdGlvbg0KKi8NCg0KLyoqDQogKiBUYWJsZSBvZiBDb250ZW50czoNCiAqDQogKiAgalF1ZXJ5IENvb2tpZSBQbHVnaW4gdjEuNC4xDQogKiAganF1ZXJ5LmVhc2luZy4xLjMuanMgZm9yIHBpZWNoYXJ0IHNtb290aG5lc3MgYW5kIG90aGVyDQogKiAganF1ZXJ5LnNjcm9sbFRvDQogKiAganF1ZXJ5LmxvY2FsU2Nyb2xsDQogKiAgU21vb3RoU2Nyb2xsIGZvciB3ZWJzaXRlcw0KICogIGpRdWVyeSBhcHBlYXIgcGx1Z2luDQogKiAgbW9kZXJuaXpyDQogKiAgc2Nyb2xsVG9GaXhlZA0KICogIFN0aWNreQ0KICogIE1lbnV6b3JkIC0gUmVzcG9uc2l2ZSBNZWdhbWVudQ0KICogIGpRdWVyeSBJc290b3BlDQogKiAganF1ZXJ5IHBhcmFsbGF4DQogKglqcXVlcnkgVHdlbnR5VHdlbnR5IEJlZm9yZSBBZnRlciBTbGlkZXINCiAqICBhbmltYXRlTnVtYmVycw0KICogIGpmbGlja3JmZWVkDQogKiAgZml0dmlkcw0KICogIFJldGluYS5qcw0KICogIGFqYXhjaGltcA0KICogIHR3ZWV0aWUNCiAqICBtZW51ZnVsbHBhZ2UNCiAqICBXT1cgYW5pbWF0aW9uDQogKiAgVHlwZWQgQW5pbWF0aW9uDQogKiAgT3dsIGNhcm91c2VsDQogKiAgRmxleFNsaWRlcg0KICogIE1hZ25pZmljIFBvcHVwDQogKiAgTml2byBMaWdodGJveA0KICogIFByZXR0eVBob3RvIExpZ2h0Ym94DQogKiAgZXF1YWxIZWlnaHRzDQogKiAgTWF4aW1hZ2UgU2xpZGVyDQogKiAgQnhTbGlkZXINCiAqICBtb21lbnQuanMNCiAqICBDbG9jazEgLSBUaGUgRmluYWwgQ291bnRkb3duDQogKiAgQ2xvY2syIC0gZmxpcGNsb2NrDQogKiAgaW5zdGFmZWVkLmpzDQogKiAgalF1ZXJ5IFZhbGlkYXRpb24NCiAqICBqUXVlcnkgRm9ybQ0KICogIGNvZGUgaGlnaGxpZ2h0DQogKiAgWVRQbGF5ZXINCiAqICBJbmZpbml0ZSBTY3JvbGwNCiAqICBqUXVlcnkgUGFnaW5hdGlvbiBQbHVnaW4NCiAqICBWaWRlIGpRdWVyeSBwbHVnaW4gZm9yIHZpZGVvIGJhY2tncm91bmRzDQogKglEYXRlcGlja2VyIGZvciBCb290c3RyYXANCiAqICBqcXVlcnktdGltZXBpY2tlcg0KICogIGJvb3RzdHJhcC1kYXRldGltZWpzDQogKiAgZGF0ZXBhaXIuanMNCiAqICBlYXN5LXBpZS1jaGFydA0KICoJanF1ZXJ5LmRkc2xpY2subWluLmpzDQogKiAgRnVsbENhbGVuZGFyDQogKiAgb2RvbWV0ZXINCiAqICBzbGljayBzbGlkZXINCiAqICANCiAqICANCiAqICANCiAqICANCiogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCiovDQoNCg0KLyohDQogKiBqUXVlcnkgQ29va2llIFBsdWdpbiB2MS40LjENCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9jYXJoYXJ0bC9qcXVlcnktY29va2llDQogKg0KICogQ29weXJpZ2h0IDIwMDYsIDIwMTQgS2xhdXMgSGFydGwNCiAqIFJlbGVhc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZQ0KICovDQohZnVuY3Rpb24oZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSxlKToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCJqcXVlcnkiKSk6ZShqUXVlcnkpfShmdW5jdGlvbihlKXtmdW5jdGlvbiBuKGUpe3JldHVybiB1LnJhdz9lOmVuY29kZVVSSUNvbXBvbmVudChlKX1mdW5jdGlvbiBvKGUpe3JldHVybiB1LnJhdz9lOmRlY29kZVVSSUNvbXBvbmVudChlKX1mdW5jdGlvbiBpKGUpe3JldHVybiBuKHUuanNvbj9KU09OLnN0cmluZ2lmeShlKTpTdHJpbmcoZSkpfWZ1bmN0aW9uIHQoZSl7MD09PWUuaW5kZXhPZignIicpJiYoZT1lLnNsaWNlKDEsLTEpLnJlcGxhY2UoL1xcIi9nLCciJykucmVwbGFjZSgvXFxcXC9nLCJcXCIpKTt0cnl7cmV0dXJuIGU9ZGVjb2RlVVJJQ29tcG9uZW50KGUucmVwbGFjZShjLCIgIikpLHUuanNvbj9KU09OLnBhcnNlKGUpOmV9Y2F0Y2gobil7fX1mdW5jdGlvbiByKG4sbyl7dmFyIGk9dS5yYXc/bjp0KG4pO3JldHVybiBlLmlzRnVuY3Rpb24obyk/byhpKTppfXZhciBjPS9cKy9nLHU9ZS5jb29raWU9ZnVuY3Rpb24odCxjLHMpe2lmKGFyZ3VtZW50cy5sZW5ndGg+MSYmIWUuaXNGdW5jdGlvbihjKSl7aWYocz1lLmV4dGVuZCh7fSx1LmRlZmF1bHRzLHMpLCJudW1iZXIiPT10eXBlb2Ygcy5leHBpcmVzKXt2YXIgYT1zLmV4cGlyZXMsZD1zLmV4cGlyZXM9bmV3IERhdGU7ZC5zZXRNaWxsaXNlY29uZHMoZC5nZXRNaWxsaXNlY29uZHMoKSs4NjRlNSphKX1yZXR1cm4gZG9jdW1lbnQuY29va2llPVtuKHQpLCI9IixpKGMpLHMuZXhwaXJlcz8iOyBleHBpcmVzPSIrcy5leHBpcmVzLnRvVVRDU3RyaW5nKCk6IiIscy5wYXRoPyI7IHBhdGg9IitzLnBhdGg6IiIscy5kb21haW4/IjsgZG9tYWluPSIrcy5kb21haW46IiIscy5zZWN1cmU/Ijsgc2VjdXJlIjoiIl0uam9pbigiIil9Zm9yKHZhciBmPXQ/dm9pZCAwOnt9LHA9ZG9jdW1lbnQuY29va2llP2RvY3VtZW50LmNvb2tpZS5zcGxpdCgiOyAiKTpbXSxsPTAsbT1wLmxlbmd0aDttPmw7bCsrKXt2YXIgeD1wW2xdLnNwbGl0KCI9IiksZz1vKHguc2hpZnQoKSksaj14LmpvaW4oIj0iKTtpZih0PT09Zyl7Zj1yKGosYyk7YnJlYWt9dHx8dm9pZCAwPT09KGo9cihqKSl8fChmW2ddPWopfXJldHVybiBmfTt1LmRlZmF1bHRzPXt9LGUucmVtb3ZlQ29va2llPWZ1bmN0aW9uKG4sbyl7cmV0dXJuIGUuY29va2llKG4sIiIsZS5leHRlbmQoe30sbyx7ZXhwaXJlczotMX0pKSwhZS5jb29raWUobil9fSk7DQoNCg0KDQoNCi8qDQogKiAganF1ZXJ5LmVhc2luZy4xLjMuanMgZm9yIHBpZWNoYXJ0IHNtb290aG5lc3MgYW5kIG90aGVyDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qDQogKiBqUXVlcnkgRWFzaW5nIHYxLjMgLSBodHRwOi8vZ3NnZC5jby51ay9zYW5kYm94L2pxdWVyeS9lYXNpbmcvDQogKg0KICogVXNlcyB0aGUgYnVpbHQgaW4gZWFzaW5nIGNhcGFiaWxpdGllcyBhZGRlZCBJbiBqUXVlcnkgMS4xDQogKiB0byBvZmZlciBtdWx0aXBsZSBlYXNpbmcgb3B0aW9ucw0KICoNCiovDQpqUXVlcnkuZWFzaW5nLmpzd2luZz1qUXVlcnkuZWFzaW5nLnN3aW5nLGpRdWVyeS5leHRlbmQoalF1ZXJ5LmVhc2luZyx7ZGVmOiJlYXNlT3V0UXVhZCIsc3dpbmc6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4galF1ZXJ5LmVhc2luZ1tqUXVlcnkuZWFzaW5nLmRlZl0obixlLHQsdSxhKX0sZWFzZUluUXVhZDpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybiB1KihlLz1hKSplK3R9LGVhc2VPdXRRdWFkOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuLXUqKGUvPWEpKihlLTIpK3R9LGVhc2VJbk91dFF1YWQ6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4oZS89YS8yKTwxP3UvMiplKmUrdDotdS8yKigtLWUqKGUtMiktMSkrdH0sZWFzZUluQ3ViaWM6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gdSooZS89YSkqZSplK3R9LGVhc2VPdXRDdWJpYzpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybiB1KigoZT1lL2EtMSkqZSplKzEpK3R9LGVhc2VJbk91dEN1YmljOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuKGUvPWEvMik8MT91LzIqZSplKmUrdDp1LzIqKChlLT0yKSplKmUrMikrdH0sZWFzZUluUXVhcnQ6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gdSooZS89YSkqZSplKmUrdH0sZWFzZU91dFF1YXJ0OmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuLXUqKChlPWUvYS0xKSplKmUqZS0xKSt0fSxlYXNlSW5PdXRRdWFydDpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybihlLz1hLzIpPDE/dS8yKmUqZSplKmUrdDotdS8yKigoZS09MikqZSplKmUtMikrdH0sZWFzZUluUXVpbnQ6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gdSooZS89YSkqZSplKmUqZSt0fSxlYXNlT3V0UXVpbnQ6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gdSooKGU9ZS9hLTEpKmUqZSplKmUrMSkrdH0sZWFzZUluT3V0UXVpbnQ6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4oZS89YS8yKTwxP3UvMiplKmUqZSplKmUrdDp1LzIqKChlLT0yKSplKmUqZSplKzIpK3R9LGVhc2VJblNpbmU6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4tdSpNYXRoLmNvcyhlL2EqKE1hdGguUEkvMikpK3UrdH0sZWFzZU91dFNpbmU6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gdSpNYXRoLnNpbihlL2EqKE1hdGguUEkvMikpK3R9LGVhc2VJbk91dFNpbmU6ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4tdS8yKihNYXRoLmNvcyhNYXRoLlBJKmUvYSktMSkrdH0sZWFzZUluRXhwbzpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybiAwPT1lP3Q6dSpNYXRoLnBvdygyLDEwKihlL2EtMSkpK3R9LGVhc2VPdXRFeHBvOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuIGU9PWE/dCt1OnUqKC1NYXRoLnBvdygyLC0xMCplL2EpKzEpK3R9LGVhc2VJbk91dEV4cG86ZnVuY3Rpb24obixlLHQsdSxhKXtyZXR1cm4gMD09ZT90OmU9PWE/dCt1OihlLz1hLzIpPDE/dS8yKk1hdGgucG93KDIsMTAqKGUtMSkpK3Q6dS8yKigtTWF0aC5wb3coMiwtMTAqLS1lKSsyKSt0fSxlYXNlSW5DaXJjOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuLXUqKE1hdGguc3FydCgxLShlLz1hKSplKS0xKSt0fSxlYXNlT3V0Q2lyYzpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybiB1Kk1hdGguc3FydCgxLShlPWUvYS0xKSplKSt0fSxlYXNlSW5PdXRDaXJjOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuKGUvPWEvMik8MT8tdS8yKihNYXRoLnNxcnQoMS1lKmUpLTEpK3Q6dS8yKihNYXRoLnNxcnQoMS0oZS09MikqZSkrMSkrdH0sZWFzZUluRWxhc3RpYzpmdW5jdGlvbihuLGUsdCx1LGEpe3ZhciByPTEuNzAxNTgsaT0wLHM9dTtpZigwPT1lKXJldHVybiB0O2lmKDE9PShlLz1hKSlyZXR1cm4gdCt1O2lmKGl8fChpPS4zKmEpLHM8TWF0aC5hYnModSkpe3M9dTt2YXIgcj1pLzR9ZWxzZSB2YXIgcj1pLygyKk1hdGguUEkpKk1hdGguYXNpbih1L3MpO3JldHVybi0ocypNYXRoLnBvdygyLDEwKihlLT0xKSkqTWF0aC5zaW4oMiooZSphLXIpKk1hdGguUEkvaSkpK3R9LGVhc2VPdXRFbGFzdGljOmZ1bmN0aW9uKG4sZSx0LHUsYSl7dmFyIHI9MS43MDE1OCxpPTAscz11O2lmKDA9PWUpcmV0dXJuIHQ7aWYoMT09KGUvPWEpKXJldHVybiB0K3U7aWYoaXx8KGk9LjMqYSksczxNYXRoLmFicyh1KSl7cz11O3ZhciByPWkvNH1lbHNlIHZhciByPWkvKDIqTWF0aC5QSSkqTWF0aC5hc2luKHUvcyk7cmV0dXJuIHMqTWF0aC5wb3coMiwtMTAqZSkqTWF0aC5zaW4oMiooZSphLXIpKk1hdGguUEkvaSkrdSt0fSxlYXNlSW5PdXRFbGFzdGljOmZ1bmN0aW9uKG4sZSx0LHUsYSl7dmFyIHI9MS43MDE1OCxpPTAscz11O2lmKDA9PWUpcmV0dXJuIHQ7aWYoMj09KGUvPWEvMikpcmV0dXJuIHQrdTtpZihpfHwoaT0uMyphKjEuNSksczxNYXRoLmFicyh1KSl7cz11O3ZhciByPWkvNH1lbHNlIHZhciByPWkvKDIqTWF0aC5QSSkqTWF0aC5hc2luKHUvcyk7cmV0dXJuIDE+ZT8tLjUqcypNYXRoLnBvdygyLDEwKihlLT0xKSkqTWF0aC5zaW4oMiooZSphLXIpKk1hdGguUEkvaSkrdDpzKk1hdGgucG93KDIsLTEwKihlLT0xKSkqTWF0aC5zaW4oMiooZSphLXIpKk1hdGguUEkvaSkqLjUrdSt0fSxlYXNlSW5CYWNrOmZ1bmN0aW9uKG4sZSx0LHUsYSxyKXtyZXR1cm4gdm9pZCAwPT1yJiYocj0xLjcwMTU4KSx1KihlLz1hKSplKigocisxKSplLXIpK3R9LGVhc2VPdXRCYWNrOmZ1bmN0aW9uKG4sZSx0LHUsYSxyKXtyZXR1cm4gdm9pZCAwPT1yJiYocj0xLjcwMTU4KSx1KigoZT1lL2EtMSkqZSooKHIrMSkqZStyKSsxKSt0fSxlYXNlSW5PdXRCYWNrOmZ1bmN0aW9uKG4sZSx0LHUsYSxyKXtyZXR1cm4gdm9pZCAwPT1yJiYocj0xLjcwMTU4KSwoZS89YS8yKTwxP3UvMiplKmUqKCgocio9MS41MjUpKzEpKmUtcikrdDp1LzIqKChlLT0yKSplKigoKHIqPTEuNTI1KSsxKSplK3IpKzIpK3R9LGVhc2VJbkJvdW5jZTpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybiB1LWpRdWVyeS5lYXNpbmcuZWFzZU91dEJvdW5jZShuLGEtZSwwLHUsYSkrdH0sZWFzZU91dEJvdW5jZTpmdW5jdGlvbihuLGUsdCx1LGEpe3JldHVybihlLz1hKTwxLzIuNzU/Ny41NjI1KnUqZSplK3Q6Mi8yLjc1PmU/dSooNy41NjI1KihlLT0xLjUvMi43NSkqZSsuNzUpK3Q6Mi41LzIuNzU+ZT91Kig3LjU2MjUqKGUtPTIuMjUvMi43NSkqZSsuOTM3NSkrdDp1Kig3LjU2MjUqKGUtPTIuNjI1LzIuNzUpKmUrLjk4NDM3NSkrdH0sZWFzZUluT3V0Qm91bmNlOmZ1bmN0aW9uKG4sZSx0LHUsYSl7cmV0dXJuIGEvMj5lPy41KmpRdWVyeS5lYXNpbmcuZWFzZUluQm91bmNlKG4sMiplLDAsdSxhKSt0Oi41KmpRdWVyeS5lYXNpbmcuZWFzZU91dEJvdW5jZShuLDIqZS1hLDAsdSxhKSsuNSp1K3R9fSk7DQoNCi8qDQogKiAganF1ZXJ5LnNjcm9sbFRvDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qKg0KICogQ29weXJpZ2h0IChjKSAyMDA3LTIwMTUgQXJpZWwgRmxlc2xlciAtIGFmbGVzbGVyPGE+Z21haWw8ZD5jb20gfCBodHRwOi8vZmxlc2xlci5ibG9nc3BvdC5jb20NCiAqIExpY2Vuc2VkIHVuZGVyIE1JVA0KICogQGF1dGhvciBBcmllbCBGbGVzbGVyDQogKiBAdmVyc2lvbiAyLjEuMg0KICovDQo7KGZ1bmN0aW9uKGYpeyJ1c2Ugc3RyaWN0IjsiZnVuY3Rpb24iPT09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSxmKToidW5kZWZpbmVkIiE9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWYocmVxdWlyZSgianF1ZXJ5IikpOmYoalF1ZXJ5KX0pKGZ1bmN0aW9uKCQpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKGEpe3JldHVybiFhLm5vZGVOYW1lfHwtMSE9PSQuaW5BcnJheShhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCksWyJpZnJhbWUiLCIjZG9jdW1lbnQiLCJodG1sIiwiYm9keSJdKX1mdW5jdGlvbiBoKGEpe3JldHVybiAkLmlzRnVuY3Rpb24oYSl8fCQuaXNQbGFpbk9iamVjdChhKT9hOnt0b3A6YSxsZWZ0OmF9fXZhciBwPSQuc2Nyb2xsVG89ZnVuY3Rpb24oYSxkLGIpe3JldHVybiAkKHdpbmRvdykuc2Nyb2xsVG8oYSxkLGIpfTtwLmRlZmF1bHRzPXtheGlzOiJ4eSIsZHVyYXRpb246MCxsaW1pdDohMH07JC5mbi5zY3JvbGxUbz1mdW5jdGlvbihhLGQsYil7Im9iamVjdCI9PT0gdHlwZW9mIGQmJihiPWQsZD0wKTsiZnVuY3Rpb24iPT09dHlwZW9mIGImJihiPXtvbkFmdGVyOmJ9KTsibWF4Ij09PWEmJihhPTlFOSk7Yj0kLmV4dGVuZCh7fSxwLmRlZmF1bHRzLGIpO2Q9ZHx8Yi5kdXJhdGlvbjt2YXIgdT1iLnF1ZXVlJiYxPGIuYXhpcy5sZW5ndGg7dSYmKGQvPTIpO2Iub2Zmc2V0PWgoYi5vZmZzZXQpO2Iub3Zlcj1oKGIub3Zlcik7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2Z1bmN0aW9uIGsoYSl7dmFyIGs9JC5leHRlbmQoe30sYix7cXVldWU6ITAsZHVyYXRpb246ZCxjb21wbGV0ZTphJiZmdW5jdGlvbigpe2EuY2FsbChxLGUsYil9fSk7ci5hbmltYXRlKGYsayl9aWYobnVsbCE9PWEpe3ZhciBsPW4odGhpcykscT1sP3RoaXMuY29udGVudFdpbmRvd3x8d2luZG93OnRoaXMscj0kKHEpLGU9YSxmPXt9LHQ7c3dpdGNoKHR5cGVvZiBlKXtjYXNlICJudW1iZXIiOmNhc2UgInN0cmluZyI6aWYoL14oWystXT0/KT9cZCsoXC5cZCspPyhweHwlKT8kLy50ZXN0KGUpKXtlPSBoKGUpO2JyZWFrfWU9bD8kKGUpOiQoZSxxKTtjYXNlICJvYmplY3QiOmlmKGUubGVuZ3RoPT09MClyZXR1cm47aWYoZS5pc3x8ZS5zdHlsZSl0PShlPSQoZSkpLm9mZnNldCgpfXZhciB2PSQuaXNGdW5jdGlvbihiLm9mZnNldCkmJmIub2Zmc2V0KHEsZSl8fGIub2Zmc2V0OyQuZWFjaChiLmF4aXMuc3BsaXQoIiIpLGZ1bmN0aW9uKGEsYyl7dmFyIGQ9IngiPT09Yz8iTGVmdCI6IlRvcCIsbT1kLnRvTG93ZXJDYXNlKCksZz0ic2Nyb2xsIitkLGg9cltnXSgpLG49cC5tYXgocSxjKTt0PyhmW2ddPXRbbV0rKGw/MDpoLXIub2Zmc2V0KClbbV0pLGIubWFyZ2luJiYoZltnXS09cGFyc2VJbnQoZS5jc3MoIm1hcmdpbiIrZCksMTApfHwwLGZbZ10tPXBhcnNlSW50KGUuY3NzKCJib3JkZXIiK2QrIldpZHRoIiksMTApfHwwKSxmW2ddKz12W21dfHwwLGIub3ZlclttXSYmKGZbZ10rPWVbIngiPT09Yz8id2lkdGgiOiJoZWlnaHQiXSgpKmIub3ZlclttXSkpOihkPWVbbV0sZltnXT1kLnNsaWNlJiYgIiUiPT09ZC5zbGljZSgtMSk/cGFyc2VGbG9hdChkKS8xMDAqbjpkKTtiLmxpbWl0JiYvXlxkKyQvLnRlc3QoZltnXSkmJihmW2ddPTA+PWZbZ10/MDpNYXRoLm1pbihmW2ddLG4pKTshYSYmMTxiLmF4aXMubGVuZ3RoJiYoaD09PWZbZ10/Zj17fTp1JiYoayhiLm9uQWZ0ZXJGaXJzdCksZj17fSkpfSk7ayhiLm9uQWZ0ZXIpfX0pfTtwLm1heD1mdW5jdGlvbihhLGQpe3ZhciBiPSJ4Ij09PWQ/IldpZHRoIjoiSGVpZ2h0IixoPSJzY3JvbGwiK2I7aWYoIW4oYSkpcmV0dXJuIGFbaF0tJChhKVtiLnRvTG93ZXJDYXNlKCldKCk7dmFyIGI9ImNsaWVudCIrYixrPWEub3duZXJEb2N1bWVudHx8YS5kb2N1bWVudCxsPWsuZG9jdW1lbnRFbGVtZW50LGs9ay5ib2R5O3JldHVybiBNYXRoLm1heChsW2hdLGtbaF0pLU1hdGgubWluKGxbYl0sa1tiXSl9OyQuVHdlZW4ucHJvcEhvb2tzLnNjcm9sbExlZnQ9JC5Ud2Vlbi5wcm9wSG9va3Muc2Nyb2xsVG9wPXtnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuICQoYS5lbGVtKVthLnByb3BdKCl9LCBzZXQ6ZnVuY3Rpb24oYSl7dmFyIGQ9dGhpcy5nZXQoYSk7aWYoYS5vcHRpb25zLmludGVycnVwdCYmYS5fbGFzdCYmYS5fbGFzdCE9PWQpcmV0dXJuICQoYS5lbGVtKS5zdG9wKCk7dmFyIGI9TWF0aC5yb3VuZChhLm5vdyk7ZCE9PWImJigkKGEuZWxlbSlbYS5wcm9wXShiKSxhLl9sYXN0PXRoaXMuZ2V0KGEpKX19O3JldHVybiBwfSk7DQoNCi8qDQogKiAganF1ZXJ5LmxvY2FsU2Nyb2xsDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qKg0KICogQ29weXJpZ2h0IChjKSAyMDA3LTIwMTUgQXJpZWwgRmxlc2xlciAtIGFmbGVzbGVyPGE+Z21haWw8ZD5jb20gfCBodHRwOi8vZmxlc2xlci5ibG9nc3BvdC5jb20NCiAqIExpY2Vuc2VkIHVuZGVyIE1JVA0KICogQGF1dGhvciBBcmllbCBGbGVzbGVyDQogKiBAdmVyc2lvbiAxLjQuMA0KICovDQo7KGZ1bmN0aW9uKGEpe2lmKHR5cGVvZiBkZWZpbmU9PT0nZnVuY3Rpb24nJiZkZWZpbmUuYW1kKXtkZWZpbmUoWydqcXVlcnknXSxhKX1lbHNle2EoalF1ZXJ5KX19KGZ1bmN0aW9uKCQpe3ZhciBnPWxvY2F0aW9uLmhyZWYucmVwbGFjZSgvIy4qLywnJyk7dmFyIGg9JC5sb2NhbFNjcm9sbD1mdW5jdGlvbihhKXskKCdib2R5JykubG9jYWxTY3JvbGwoYSl9O2guZGVmYXVsdHM9e2R1cmF0aW9uOjEwMDAsYXhpczoneScsZXZlbnQ6J2NsaWNrJyxzdG9wOnRydWUsdGFyZ2V0OndpbmRvd307JC5mbi5sb2NhbFNjcm9sbD1mdW5jdGlvbihhKXthPSQuZXh0ZW5kKHt9LGguZGVmYXVsdHMsYSk7aWYoYS5oYXNoJiZsb2NhdGlvbi5oYXNoKXtpZihhLnRhcmdldCl3aW5kb3cuc2Nyb2xsVG8oMCwwKTtzY3JvbGwoMCxsb2NhdGlvbixhKX1yZXR1cm4gYS5sYXp5P3RoaXMub24oYS5ldmVudCwnYSxhcmVhJyxmdW5jdGlvbihlKXtpZihmaWx0ZXIuY2FsbCh0aGlzKSl7c2Nyb2xsKGUsdGhpcyxhKX19KTp0aGlzLmZpbmQoJ2EsYXJlYScpLmZpbHRlcihmaWx0ZXIpLmJpbmQoYS5ldmVudCxmdW5jdGlvbihlKXtzY3JvbGwoZSx0aGlzLGEpfSkuZW5kKCkuZW5kKCk7ZnVuY3Rpb24gZmlsdGVyKCl7cmV0dXJuISF0aGlzLmhyZWYmJiEhdGhpcy5oYXNoJiZ0aGlzLmhyZWYucmVwbGFjZSh0aGlzLmhhc2gsJycpPT09ZyYmKCFhLmZpbHRlcnx8JCh0aGlzKS5pcyhhLmZpbHRlcikpfX07aC5oYXNoPWZ1bmN0aW9uKCl7fTtmdW5jdGlvbiBzY3JvbGwoZSxhLGIpe3ZhciBjPWEuaGFzaC5zbGljZSgxKSxlbGVtPWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKGMpfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5TmFtZShjKVswXTtpZighZWxlbSlyZXR1cm47aWYoZSllLnByZXZlbnREZWZhdWx0KCk7dmFyIGQ9JChiLnRhcmdldCk7aWYoYi5sb2NrJiZkLmlzKCc6YW5pbWF0ZWQnKXx8Yi5vbkJlZm9yZSYmYi5vbkJlZm9yZShlLGVsZW0sZCk9PT1mYWxzZSlyZXR1cm47aWYoYi5zdG9wKXtkLnN0b3AodHJ1ZSl9aWYoYi5oYXNoKXt2YXIgZj1lbGVtLmlkPT09Yz8naWQnOiduYW1lJywkYT0kKCc8YT4gPC9hPicpLmF0dHIoZixjKS5jc3Moe3Bvc2l0aW9uOidhYnNvbHV0ZScsdG9wOiQod2luZG93KS5zY3JvbGxUb3AoKSxsZWZ0OiQod2luZG93KS5zY3JvbGxMZWZ0KCl9KTtlbGVtW2ZdPScnOyQoJ2JvZHknKS5wcmVwZW5kKCRhKTtsb2NhdGlvbi5oYXNoPWEuaGFzaDskYS5yZW1vdmUoKTtlbGVtW2ZdPWN9ZC5zY3JvbGxUbyhlbGVtLGIpLnRyaWdnZXIoJ25vdGlmeS5zZXJpYWxTY3JvbGwnLFtlbGVtXSl9cmV0dXJuIGh9KSk7DQoNCg0KLyoNCiAqICBTbW9vdGhTY3JvbGwgZm9yIHdlYnNpdGVzDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8vDQovLyBTbW9vdGhTY3JvbGwgZm9yIHdlYnNpdGVzIHYxLjQuNiAoQmFsYXpzIEdhbGFtYm9zaSkNCi8vIGh0dHA6Ly93d3cuc21vb3Roc2Nyb2xsLm5ldC8NCi8vDQovLyBMaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1JVCBsaWNlbnNlLg0KLy8NCi8vIFlvdSBtYXkgdXNlIGl0IGluIHlvdXIgdGhlbWUgaWYgeW91IGNyZWRpdCBtZS4gDQovLyBJdCBpcyBhbHNvIGZyZWUgdG8gdXNlIG9uIGFueSBpbmRpdmlkdWFsIHdlYnNpdGUuDQovLw0KLy8gRXhjZXB0aW9uOg0KLy8gVGhlIG9ubHkgcmVzdHJpY3Rpb24gaXMgdG8gbm90IHB1Ymxpc2ggYW55ICANCi8vIGV4dGVuc2lvbiBmb3IgYnJvd3NlcnMgb3IgbmF0aXZlIGFwcGxpY2F0aW9uDQovLyB3aXRob3V0IGdldHRpbmcgYSB3cml0dGVuIHBlcm1pc3Npb24gZmlyc3QuDQovLw0KIWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSgpe0gua2V5Ym9hcmRTdXBwb3J0JiZmKCJrZXlkb3duIixyKX1mdW5jdGlvbiB0KCl7aWYoIVgmJmRvY3VtZW50LmJvZHkpe1g9ITA7dmFyIHQ9ZG9jdW1lbnQuYm9keSxvPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxuPXdpbmRvdy5pbm5lckhlaWdodCxyPXQuc2Nyb2xsSGVpZ2h0O2lmKFk9ZG9jdW1lbnQuY29tcGF0TW9kZS5pbmRleE9mKCJDU1MiKT49MD9vOnQsaz10LGUoKSx0b3AhPXNlbGYpTD0hMDtlbHNlIGlmKGVlJiZyPm4mJih0Lm9mZnNldEhlaWdodDw9bnx8by5vZmZzZXRIZWlnaHQ8PW4pKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmFic29sdXRlOyB6LWluZGV4Oi0xMDAwMDsgdG9wOjA7IGxlZnQ6MDsgcmlnaHQ6MDsgaGVpZ2h0OiIrWS5zY3JvbGxIZWlnaHQrInB4Iixkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO3ZhciBpO009ZnVuY3Rpb24oKXtpfHwoaT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7enx8KGEuc3R5bGUuaGVpZ2h0PSIwIixhLnN0eWxlLmhlaWdodD1ZLnNjcm9sbEhlaWdodCsicHgiLGk9bnVsbCl9LDUwMCkpfSxzZXRUaW1lb3V0KE0sMTApLGYoInJlc2l6ZSIsTSk7dmFyIGw9e2F0dHJpYnV0ZXM6ITAsY2hpbGRMaXN0OiEwLGNoYXJhY3RlckRhdGE6ITF9O2lmKChEPW5ldyBfKE0pKS5vYnNlcnZlKHQsbCksWS5vZmZzZXRIZWlnaHQ8PW4pe3ZhciBjPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Muc3R5bGUuY2xlYXI9ImJvdGgiLHQuYXBwZW5kQ2hpbGQoYyl9fUguZml4ZWRCYWNrZ3JvdW5kfHx6fHwodC5zdHlsZS5iYWNrZ3JvdW5kQXR0YWNobWVudD0ic2Nyb2xsIixvLnN0eWxlLmJhY2tncm91bmRBdHRhY2htZW50PSJzY3JvbGwiKX19ZnVuY3Rpb24gbyhlLHQsbyl7aWYoaCh0LG8pLDEhPUguYWNjZWxlcmF0aW9uTWF4KXt2YXIgbj1EYXRlLm5vdygpLWo7aWYobjxILmFjY2VsZXJhdGlvbkRlbHRhKXt2YXIgcj0oMSs1MC9uKS8yO3I+MSYmKHI9TWF0aC5taW4ocixILmFjY2VsZXJhdGlvbk1heCksdCo9cixvKj1yKX1qPURhdGUubm93KCl9aWYoUC5wdXNoKHt4OnQseTpvLGxhc3RYOnQ8MD8uOTk6LS45OSxsYXN0WTpvPDA/Ljk5Oi0uOTksc3RhcnQ6RGF0ZS5ub3coKX0pLCFSKXt2YXIgYT1lPT09ZG9jdW1lbnQuYm9keSxpPWZ1bmN0aW9uKG4pe2Zvcih2YXIgcj1EYXRlLm5vdygpLGw9MCxjPTAsdT0wO3U8UC5sZW5ndGg7dSsrKXt2YXIgZD1QW3VdLHM9ci1kLnN0YXJ0LGY9cz49SC5hbmltYXRpb25UaW1lLG09Zj8xOnMvSC5hbmltYXRpb25UaW1lO0gucHVsc2VBbGdvcml0aG0mJihtPVMobSkpO3ZhciB3PWQueCptLWQubGFzdFg+PjAsaD1kLnkqbS1kLmxhc3RZPj4wO2wrPXcsYys9aCxkLmxhc3RYKz13LGQubGFzdFkrPWgsZiYmKFAuc3BsaWNlKHUsMSksdS0tKX1hP3dpbmRvdy5zY3JvbGxCeShsLGMpOihsJiYoZS5zY3JvbGxMZWZ0Kz1sKSxjJiYoZS5zY3JvbGxUb3ArPWMpKSx0fHxvfHwoUD1bXSksUC5sZW5ndGg/SShpLGUsMWUzL0guZnJhbWVSYXRlKzEpOlI9ITF9O0koaSxlLDApLFI9ITB9fWZ1bmN0aW9uIG4oZSl7WHx8dCgpO3ZhciBuPWUudGFyZ2V0O2lmKGUuZGVmYXVsdFByZXZlbnRlZHx8ZS5jdHJsS2V5KXJldHVybiEwO2lmKHcoaywiZW1iZWQiKXx8dyhuLCJlbWJlZCIpJiYvXC5wZGYvaS50ZXN0KG4uc3JjKXx8dyhrLCJvYmplY3QiKXx8bi5zaGFkb3dSb290KXJldHVybiEwO3ZhciByPS1lLndoZWVsRGVsdGFYfHxlLmRlbHRhWHx8MCxhPS1lLndoZWVsRGVsdGFZfHxlLmRlbHRhWXx8MDtCJiYoZS53aGVlbERlbHRhWCYmdihlLndoZWVsRGVsdGFYLDEyMCkmJihyPWUud2hlZWxEZWx0YVgvTWF0aC5hYnMoZS53aGVlbERlbHRhWCkqLTEyMCksZS53aGVlbERlbHRhWSYmdihlLndoZWVsRGVsdGFZLDEyMCkmJihhPWUud2hlZWxEZWx0YVkvTWF0aC5hYnMoZS53aGVlbERlbHRhWSkqLTEyMCkpLHJ8fGF8fChhPS1lLndoZWVsRGVsdGF8fDApLDE9PT1lLmRlbHRhTW9kZSYmKHIqPTQwLGEqPTQwKTt2YXIgbD1jKG4pO3JldHVybiBsPyEhcChhKXx8KE1hdGguYWJzKHIpPjEuMiYmKHIqPUguc3RlcFNpemUvMTIwKSxNYXRoLmFicyhhKT4xLjImJihhKj1ILnN0ZXBTaXplLzEyMCksbyhsLHIsYSksZS5wcmV2ZW50RGVmYXVsdCgpLHZvaWQgaSgpKTohTHx8IUd8fChPYmplY3QuZGVmaW5lUHJvcGVydHkoZSwidGFyZ2V0Iix7dmFsdWU6d2luZG93LmZyYW1lRWxlbWVudH0pLHBhcmVudC53aGVlbChlKSl9ZnVuY3Rpb24gcihlKXt2YXIgdD1lLnRhcmdldCxuPWUuY3RybEtleXx8ZS5hbHRLZXl8fGUubWV0YUtleXx8ZS5zaGlmdEtleSYmZS5rZXlDb2RlIT09Ti5zcGFjZWJhcjtkb2N1bWVudC5ib2R5LmNvbnRhaW5zKGspfHwoaz1kb2N1bWVudC5hY3RpdmVFbGVtZW50KTt2YXIgcj0vXih0ZXh0YXJlYXxzZWxlY3R8ZW1iZWR8b2JqZWN0KSQvaSxhPS9eKGJ1dHRvbnxzdWJtaXR8cmFkaW98Y2hlY2tib3h8ZmlsZXxjb2xvcnxpbWFnZSkkL2k7aWYoZS5kZWZhdWx0UHJldmVudGVkfHxyLnRlc3QodC5ub2RlTmFtZSl8fHcodCwiaW5wdXQiKSYmIWEudGVzdCh0LnR5cGUpfHx3KGssInZpZGVvIil8fGIoZSl8fHQuaXNDb250ZW50RWRpdGFibGV8fG4pcmV0dXJuITA7aWYoKHcodCwiYnV0dG9uIil8fHcodCwiaW5wdXQiKSYmYS50ZXN0KHQudHlwZSkpJiZlLmtleUNvZGU9PT1OLnNwYWNlYmFyKXJldHVybiEwO2lmKHcodCwiaW5wdXQiKSYmInJhZGlvIj09dC50eXBlJiZLW2Uua2V5Q29kZV0pcmV0dXJuITA7dmFyIGw9MCx1PTAsZD1jKGspO2lmKCFkKXJldHVybiFMfHwhR3x8cGFyZW50LmtleWRvd24oZSk7dmFyIHM9ZC5jbGllbnRIZWlnaHQ7c3dpdGNoKGQ9PWRvY3VtZW50LmJvZHkmJihzPXdpbmRvdy5pbm5lckhlaWdodCksZS5rZXlDb2RlKXtjYXNlIE4udXA6dT0tSC5hcnJvd1Njcm9sbDticmVhaztjYXNlIE4uZG93bjp1PUguYXJyb3dTY3JvbGw7YnJlYWs7Y2FzZSBOLnNwYWNlYmFyOnU9LShlLnNoaWZ0S2V5PzE6LTEpKnMqLjk7YnJlYWs7Y2FzZSBOLnBhZ2V1cDp1PS45Ki1zO2JyZWFrO2Nhc2UgTi5wYWdlZG93bjp1PS45KnM7YnJlYWs7Y2FzZSBOLmhvbWU6dT0tZC5zY3JvbGxUb3A7YnJlYWs7Y2FzZSBOLmVuZDp2YXIgZj1kLnNjcm9sbEhlaWdodC1kLnNjcm9sbFRvcC1zO3U9Zj4wP2YrMTA6MDticmVhaztjYXNlIE4ubGVmdDpsPS1ILmFycm93U2Nyb2xsO2JyZWFrO2Nhc2UgTi5yaWdodDpsPUguYXJyb3dTY3JvbGw7YnJlYWs7ZGVmYXVsdDpyZXR1cm4hMH1vKGQsbCx1KSxlLnByZXZlbnREZWZhdWx0KCksaSgpfWZ1bmN0aW9uIGEoZSl7az1lLnRhcmdldH1mdW5jdGlvbiBpKCl7Y2xlYXJUaW1lb3V0KFQpLFQ9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXtWPXt9fSwxZTMpfWZ1bmN0aW9uIGwoZSx0KXtmb3IodmFyIG89ZS5sZW5ndGg7by0tOylWW3EoZVtvXSldPXQ7cmV0dXJuIHR9ZnVuY3Rpb24gYyhlKXt2YXIgdD1bXSxvPWRvY3VtZW50LmJvZHksbj1ZLnNjcm9sbEhlaWdodDtkb3t2YXIgcj1WW3EoZSldO2lmKHIpcmV0dXJuIGwodCxyKTtpZih0LnB1c2goZSksbj09PWUuc2Nyb2xsSGVpZ2h0KXt2YXIgYT1kKFkpJiZkKG8pfHxzKFkpO2lmKEwmJnUoWSl8fCFMJiZhKXJldHVybiBsKHQsVygpKX1lbHNlIGlmKHUoZSkmJnMoZSkpcmV0dXJuIGwodCxlKX13aGlsZShlPWUucGFyZW50RWxlbWVudCl9ZnVuY3Rpb24gdShlKXtyZXR1cm4gZS5jbGllbnRIZWlnaHQrMTA8ZS5zY3JvbGxIZWlnaHR9ZnVuY3Rpb24gZChlKXtyZXR1cm4iaGlkZGVuIiE9PWdldENvbXB1dGVkU3R5bGUoZSwiIikuZ2V0UHJvcGVydHlWYWx1ZSgib3ZlcmZsb3cteSIpfWZ1bmN0aW9uIHMoZSl7dmFyIHQ9Z2V0Q29tcHV0ZWRTdHlsZShlLCIiKS5nZXRQcm9wZXJ0eVZhbHVlKCJvdmVyZmxvdy15Iik7cmV0dXJuInNjcm9sbCI9PT10fHwiYXV0byI9PT10fWZ1bmN0aW9uIGYoZSx0KXt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihlLHQsITEpfWZ1bmN0aW9uIG0oZSx0KXt3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcihlLHQsITEpfWZ1bmN0aW9uIHcoZSx0KXtyZXR1cm4oZS5ub2RlTmFtZXx8IiIpLnRvTG93ZXJDYXNlKCk9PT10LnRvTG93ZXJDYXNlKCl9ZnVuY3Rpb24gaChlLHQpe2U9ZT4wPzE6LTEsdD10PjA/MTotMSxPLng9PT1lJiZPLnk9PT10fHwoTy54PWUsTy55PXQsUD1bXSxqPTApfWZ1bmN0aW9uIHAoZSl7aWYoZSlyZXR1cm4gQS5sZW5ndGh8fChBPVtlLGUsZV0pLGU9TWF0aC5hYnMoZSksQS5wdXNoKGUpLEEuc2hpZnQoKSxjbGVhclRpbWVvdXQoRSksRT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dHJ5e2xvY2FsU3RvcmFnZS5TU19kZWx0YUJ1ZmZlcj1BLmpvaW4oIiwiKX1jYXRjaChlKXt9fSwxZTMpLCF5KDEyMCkmJiF5KDEwMCl9ZnVuY3Rpb24gdihlLHQpe3JldHVybiBNYXRoLmZsb29yKGUvdCk9PWUvdH1mdW5jdGlvbiB5KGUpe3JldHVybiB2KEFbMF0sZSkmJnYoQVsxXSxlKSYmdihBWzJdLGUpfWZ1bmN0aW9uIGIoZSl7dmFyIHQ9ZS50YXJnZXQsbz0hMTtpZigtMSE9ZG9jdW1lbnQuVVJMLmluZGV4T2YoInd3dy55b3V0dWJlLmNvbS93YXRjaCIpKWRve2lmKG89dC5jbGFzc0xpc3QmJnQuY2xhc3NMaXN0LmNvbnRhaW5zKCJodG1sNS12aWRlby1jb250cm9scyIpKWJyZWFrfXdoaWxlKHQ9dC5wYXJlbnROb2RlKTtyZXR1cm4gb31mdW5jdGlvbiBnKGUpe3ZhciB0LG87cmV0dXJuKGUqPUgucHVsc2VTY2FsZSk8MT90PWUtKDEtTWF0aC5leHAoLWUpKTooZS09MSx0PShvPU1hdGguZXhwKC0xKSkrKDEtTWF0aC5leHAoLWUpKSooMS1vKSksdCpILnB1bHNlTm9ybWFsaXplfWZ1bmN0aW9uIFMoZSl7cmV0dXJuIGU+PTE/MTplPD0wPzA6KDE9PUgucHVsc2VOb3JtYWxpemUmJihILnB1bHNlTm9ybWFsaXplLz1nKDEpKSxnKGUpKX1mdW5jdGlvbiB4KGUpe2Zvcih2YXIgdCBpbiBlKUMuaGFzT3duUHJvcGVydHkodCkmJihIW3RdPWVbdF0pfXZhciBrLEQsTSxULEUsQz17ZnJhbWVSYXRlOjE1MCxhbmltYXRpb25UaW1lOjQwMCxzdGVwU2l6ZToxMDAscHVsc2VBbGdvcml0aG06ITAscHVsc2VTY2FsZTo0LHB1bHNlTm9ybWFsaXplOjEsYWNjZWxlcmF0aW9uRGVsdGE6NTAsYWNjZWxlcmF0aW9uTWF4OjMsa2V5Ym9hcmRTdXBwb3J0OiEwLGFycm93U2Nyb2xsOjUwLGZpeGVkQmFja2dyb3VuZDohMCxleGNsdWRlZDoiIn0sSD1DLHo9ITEsTD0hMSxPPXt4OjAseTowfSxYPSExLFk9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LEE9W10sQj0vXk1hYy8udGVzdChuYXZpZ2F0b3IucGxhdGZvcm0pLE49e2xlZnQ6MzcsdXA6MzgscmlnaHQ6MzksZG93bjo0MCxzcGFjZWJhcjozMixwYWdldXA6MzMscGFnZWRvd246MzQsZW5kOjM1LGhvbWU6MzZ9LEs9ezM3OjEsMzg6MSwzOToxLDQwOjF9LFA9W10sUj0hMSxqPURhdGUubm93KCkscT1mdW5jdGlvbigpe3ZhciBlPTA7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiB0LnVuaXF1ZUlEfHwodC51bmlxdWVJRD1lKyspfX0oKSxWPXt9O2lmKHdpbmRvdy5sb2NhbFN0b3JhZ2UmJmxvY2FsU3RvcmFnZS5TU19kZWx0YUJ1ZmZlcil0cnl7QT1sb2NhbFN0b3JhZ2UuU1NfZGVsdGFCdWZmZXIuc3BsaXQoIiwiKX1jYXRjaChlKXt9dmFyIEYsST13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxmdW5jdGlvbihlLHQsbyl7d2luZG93LnNldFRpbWVvdXQoZSxvfHwxZTMvNjApfSxfPXdpbmRvdy5NdXRhdGlvbk9ic2VydmVyfHx3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcnx8d2luZG93Lk1vek11dGF0aW9uT2JzZXJ2ZXIsVz1mdW5jdGlvbigpe3ZhciBlO3JldHVybiBmdW5jdGlvbigpe2lmKCFlKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTt0LnN0eWxlLmNzc1RleHQ9ImhlaWdodDoxMDAwMHB4O3dpZHRoOjFweDsiLGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodCk7dmFyIG89ZG9jdW1lbnQuYm9keS5zY3JvbGxUb3A7ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcDt3aW5kb3cuc2Nyb2xsQnkoMCwzKSxlPWRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wIT1vP2RvY3VtZW50LmJvZHk6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LHdpbmRvdy5zY3JvbGxCeSgwLC0zKSxkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKHQpfXJldHVybiBlfX0oKSwkPXdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LFU9L0VkZ2UvLnRlc3QoJCksRz0vY2hyb21lL2kudGVzdCgkKSYmIVUsSj0vc2FmYXJpL2kudGVzdCgkKSYmIVUsUT0vbW9iaWxlL2kudGVzdCgkKSxaPS9XaW5kb3dzIE5UIDYuMS9pLnRlc3QoJCkmJi9ydjoxMS9pLnRlc3QoJCksZWU9SiYmKC9WZXJzaW9uXC84L2kudGVzdCgkKXx8L1ZlcnNpb25cLzkvaS50ZXN0KCQpKSx0ZT0oR3x8Snx8WikmJiFROyJvbndoZWVsImluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpP0Y9IndoZWVsIjoib25tb3VzZXdoZWVsImluIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpJiYoRj0ibW91c2V3aGVlbCIpLEYmJnRlJiYoZihGLG4pLGYoIm1vdXNlZG93biIsYSksZigibG9hZCIsdCkpLHguZGVzdHJveT1mdW5jdGlvbigpe0QmJkQuZGlzY29ubmVjdCgpLG0oRixuKSxtKCJtb3VzZWRvd24iLGEpLG0oImtleWRvd24iLHIpLG0oInJlc2l6ZSIsTSksbSgibG9hZCIsdCl9LHdpbmRvdy5TbW9vdGhTY3JvbGxPcHRpb25zJiZ4KHdpbmRvdy5TbW9vdGhTY3JvbGxPcHRpb25zKSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShmdW5jdGlvbigpe3JldHVybiB4fSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPXg6d2luZG93LlNtb290aFNjcm9sbD14fSgpOw0KDQoNCg0KLyoNCiAqIGpRdWVyeSBhcHBlYXIgcGx1Z2luDQogKg0KICogQ29weXJpZ2h0IChjKSAyMDEyIEFuZHJleSBTaWRvcm92DQogKiBsaWNlbnNlZCB1bmRlciBNSVQgbGljZW5zZS4NCiAqDQogKiBodHRwczovL2dpdGh1Yi5jb20vbW9yci9qcXVlcnkuYXBwZWFyLw0KICoNCiAqIFZlcnNpb246IDAuMy42DQogKi8NCiFmdW5jdGlvbihlKXtmdW5jdGlvbiByKHIpe3JldHVybiBlKHIpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmlzKCI6YXBwZWFyZWQiKX0pfWZ1bmN0aW9uIHQoKXthPSExO2Zvcih2YXIgZT0wLHQ9aS5sZW5ndGg7dD5lO2UrKyl7dmFyIG49cihpW2VdKTtpZihuLnRyaWdnZXIoImFwcGVhciIsW25dKSxwW2VdKXt2YXIgbz1wW2VdLm5vdChuKTtvLnRyaWdnZXIoImRpc2FwcGVhciIsW29dKX1wW2VdPW59fWZ1bmN0aW9uIG4oZSl7aS5wdXNoKGUpLHAucHVzaCgpfXZhciBpPVtdLG89ITEsYT0hMSxmPXtpbnRlcnZhbDoyNTAsZm9yY2VfcHJvY2VzczohMX0sdT1lKHdpbmRvdykscD1bXTtlLmV4cHJbIjoiXS5hcHBlYXJlZD1mdW5jdGlvbihyKXt2YXIgdD1lKHIpO2lmKCF0LmlzKCI6dmlzaWJsZSIpKXJldHVybiExO3ZhciBuPXUuc2Nyb2xsTGVmdCgpLGk9dS5zY3JvbGxUb3AoKSxvPXQub2Zmc2V0KCksYT1vLmxlZnQsZj1vLnRvcDtyZXR1cm4gZit0LmhlaWdodCgpPj1pJiZmLSh0LmRhdGEoImFwcGVhci10b3Atb2Zmc2V0Iil8fDApPD1pK3UuaGVpZ2h0KCkmJmErdC53aWR0aCgpPj1uJiZhLSh0LmRhdGEoImFwcGVhci1sZWZ0LW9mZnNldCIpfHwwKTw9bit1LndpZHRoKCk/ITA6ITF9LGUuZm4uZXh0ZW5kKHthcHBlYXI6ZnVuY3Rpb24ocil7dmFyIGk9ZS5leHRlbmQoe30sZixyfHx7fSksdT10aGlzLnNlbGVjdG9yfHx0aGlzO2lmKCFvKXt2YXIgcD1mdW5jdGlvbigpe2F8fChhPSEwLHNldFRpbWVvdXQodCxpLmludGVydmFsKSl9O2Uod2luZG93KS5zY3JvbGwocCkucmVzaXplKHApLG89ITB9cmV0dXJuIGkuZm9yY2VfcHJvY2VzcyYmc2V0VGltZW91dCh0LGkuaW50ZXJ2YWwpLG4odSksZSh1KX19KSxlLmV4dGVuZCh7Zm9yY2VfYXBwZWFyOmZ1bmN0aW9uKCl7cmV0dXJuIG8/KHQoKSwhMCk6ITF9fSl9KGZ1bmN0aW9uKCl7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGU/cmVxdWlyZSgianF1ZXJ5Iik6alF1ZXJ5fSgpKTsNCg0KDQovKg0KICogIG1vZGVybml6cg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQp3aW5kb3cuTW9kZXJuaXpyPWZ1bmN0aW9uKGUsdCxuKXtmdW5jdGlvbiByKGUpe2IuY3NzVGV4dD1lfWZ1bmN0aW9uIG8oZSx0KXtyZXR1cm4gcihTLmpvaW4oZSsiOyIpKyh0fHwiIikpfWZ1bmN0aW9uIGEoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PT10fWZ1bmN0aW9uIGkoZSx0KXtyZXR1cm4hIX4oIiIrZSkuaW5kZXhPZih0KX1mdW5jdGlvbiBjKGUsdCl7Zm9yKHZhciByIGluIGUpe3ZhciBvPWVbcl07aWYoIWkobywiLSIpJiZiW29dIT09bilyZXR1cm4icGZ4Ij09dD9vOiEwfXJldHVybiExfWZ1bmN0aW9uIHMoZSx0LHIpe2Zvcih2YXIgbyBpbiBlKXt2YXIgaT10W2Vbb11dO2lmKGkhPT1uKXJldHVybiByPT09ITE/ZVtvXTphKGksImZ1bmN0aW9uIik/aS5iaW5kKHJ8fHQpOml9cmV0dXJuITF9ZnVuY3Rpb24gdShlLHQsbil7dmFyIHI9ZS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStlLnNsaWNlKDEpLG89KGUrIiAiK2suam9pbihyKyIgIikrcikuc3BsaXQoIiAiKTtyZXR1cm4gYSh0LCJzdHJpbmciKXx8YSh0LCJ1bmRlZmluZWQiKT9jKG8sdCk6KG89KGUrIiAiK1Quam9pbihyKyIgIikrcikuc3BsaXQoIiAiKSxzKG8sdCxuKSl9ZnVuY3Rpb24gbCgpe3AuaW5wdXQ9ZnVuY3Rpb24obil7Zm9yKHZhciByPTAsbz1uLmxlbmd0aDtvPnI7cisrKWpbbltyXV09ISEobltyXWluIEUpO3JldHVybiBqLmxpc3QmJihqLmxpc3Q9ISghdC5jcmVhdGVFbGVtZW50KCJkYXRhbGlzdCIpfHwhZS5IVE1MRGF0YUxpc3RFbGVtZW50KSksan0oImF1dG9jb21wbGV0ZSBhdXRvZm9jdXMgbGlzdCBwbGFjZWhvbGRlciBtYXggbWluIG11bHRpcGxlIHBhdHRlcm4gcmVxdWlyZWQgc3RlcCIuc3BsaXQoIiAiKSkscC5pbnB1dHR5cGVzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgcixvLGEsaT0wLGM9ZS5sZW5ndGg7Yz5pO2krKylFLnNldEF0dHJpYnV0ZSgidHlwZSIsbz1lW2ldKSxyPSJ0ZXh0IiE9PUUudHlwZSxyJiYoRS52YWx1ZT14LEUuc3R5bGUuY3NzVGV4dD0icG9zaXRpb246YWJzb2x1dGU7dmlzaWJpbGl0eTpoaWRkZW47IiwvXnJhbmdlJC8udGVzdChvKSYmRS5zdHlsZS5XZWJraXRBcHBlYXJhbmNlIT09bj8oZy5hcHBlbmRDaGlsZChFKSxhPXQuZGVmYXVsdFZpZXcscj1hLmdldENvbXB1dGVkU3R5bGUmJiJ0ZXh0ZmllbGQiIT09YS5nZXRDb21wdXRlZFN0eWxlKEUsbnVsbCkuV2Via2l0QXBwZWFyYW5jZSYmMCE9PUUub2Zmc2V0SGVpZ2h0LGcucmVtb3ZlQ2hpbGQoRSkpOi9eKHNlYXJjaHx0ZWwpJC8udGVzdChvKXx8KHI9L14odXJsfGVtYWlsKSQvLnRlc3Qobyk/RS5jaGVja1ZhbGlkaXR5JiZFLmNoZWNrVmFsaWRpdHkoKT09PSExOkUudmFsdWUhPXgpKSxQW2VbaV1dPSEhcjtyZXR1cm4gUH0oInNlYXJjaCB0ZWwgdXJsIGVtYWlsIGRhdGV0aW1lIGRhdGUgbW9udGggd2VlayB0aW1lIGRhdGV0aW1lLWxvY2FsIG51bWJlciByYW5nZSBjb2xvciIuc3BsaXQoIiAiKSl9dmFyIGQsZixtPSIyLjcuMSIscD17fSxoPSEwLGc9dC5kb2N1bWVudEVsZW1lbnQsdj0ibW9kZXJuaXpyIix5PXQuY3JlYXRlRWxlbWVudCh2KSxiPXkuc3R5bGUsRT10LmNyZWF0ZUVsZW1lbnQoImlucHV0IikseD0iOikiLHc9e30udG9TdHJpbmcsUz0iIC13ZWJraXQtIC1tb3otIC1vLSAtbXMtICIuc3BsaXQoIiAiKSxDPSJXZWJraXQgTW96IE8gbXMiLGs9Qy5zcGxpdCgiICIpLFQ9Qy50b0xvd2VyQ2FzZSgpLnNwbGl0KCIgIiksTj17c3ZnOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyJ9LE09e30sUD17fSxqPXt9LCQ9W10sRD0kLnNsaWNlLEY9ZnVuY3Rpb24oZSxuLHIsbyl7dmFyIGEsaSxjLHMsdT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGw9dC5ib2R5LGQ9bHx8dC5jcmVhdGVFbGVtZW50KCJib2R5Iik7aWYocGFyc2VJbnQociwxMCkpZm9yKDtyLS07KWM9dC5jcmVhdGVFbGVtZW50KCJkaXYiKSxjLmlkPW8/b1tyXTp2KyhyKzEpLHUuYXBwZW5kQ2hpbGQoYyk7cmV0dXJuIGE9WyImIzE3MzsiLCc8c3R5bGUgaWQ9InMnLHYsJyI+JyxlLCI8L3N0eWxlPiJdLmpvaW4oIiIpLHUuaWQ9diwobD91OmQpLmlubmVySFRNTCs9YSxkLmFwcGVuZENoaWxkKHUpLGx8fChkLnN0eWxlLmJhY2tncm91bmQ9IiIsZC5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixzPWcuc3R5bGUub3ZlcmZsb3csZy5zdHlsZS5vdmVyZmxvdz0iaGlkZGVuIixnLmFwcGVuZENoaWxkKGQpKSxpPW4odSxlKSxsP3UucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh1KTooZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpLGcuc3R5bGUub3ZlcmZsb3c9cyksISFpfSx6PWZ1bmN0aW9uKHQpe3ZhciBuPWUubWF0Y2hNZWRpYXx8ZS5tc01hdGNoTWVkaWE7aWYobilyZXR1cm4gbih0KS5tYXRjaGVzO3ZhciByO3JldHVybiBGKCJAbWVkaWEgIit0KyIgeyAjIit2KyIgeyBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfSIsZnVuY3Rpb24odCl7cj0iYWJzb2x1dGUiPT0oZS5nZXRDb21wdXRlZFN0eWxlP2dldENvbXB1dGVkU3R5bGUodCxudWxsKTp0LmN1cnJlbnRTdHlsZSkucG9zaXRpb259KSxyfSxBPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlLG8pe289b3x8dC5jcmVhdGVFbGVtZW50KHJbZV18fCJkaXYiKSxlPSJvbiIrZTt2YXIgaT1lIGluIG87cmV0dXJuIGl8fChvLnNldEF0dHJpYnV0ZXx8KG89dC5jcmVhdGVFbGVtZW50KCJkaXYiKSksby5zZXRBdHRyaWJ1dGUmJm8ucmVtb3ZlQXR0cmlidXRlJiYoby5zZXRBdHRyaWJ1dGUoZSwiIiksaT1hKG9bZV0sImZ1bmN0aW9uIiksYShvW2VdLCJ1bmRlZmluZWQiKXx8KG9bZV09biksby5yZW1vdmVBdHRyaWJ1dGUoZSkpKSxvPW51bGwsaX12YXIgcj17c2VsZWN0OiJpbnB1dCIsY2hhbmdlOiJpbnB1dCIsc3VibWl0OiJmb3JtIixyZXNldDoiZm9ybSIsZXJyb3I6ImltZyIsbG9hZDoiaW1nIixhYm9ydDoiaW1nIn07cmV0dXJuIGV9KCksTD17fS5oYXNPd25Qcm9wZXJ0eTtmPWEoTCwidW5kZWZpbmVkIil8fGEoTC5jYWxsLCJ1bmRlZmluZWQiKT9mdW5jdGlvbihlLHQpe3JldHVybiB0IGluIGUmJmEoZS5jb25zdHJ1Y3Rvci5wcm90b3R5cGVbdF0sInVuZGVmaW5lZCIpfTpmdW5jdGlvbihlLHQpe3JldHVybiBMLmNhbGwoZSx0KX0sRnVuY3Rpb24ucHJvdG90eXBlLmJpbmR8fChGdW5jdGlvbi5wcm90b3R5cGUuYmluZD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO2lmKCJmdW5jdGlvbiIhPXR5cGVvZiB0KXRocm93IG5ldyBUeXBlRXJyb3I7dmFyIG49RC5jYWxsKGFyZ3VtZW50cywxKSxyPWZ1bmN0aW9uKCl7aWYodGhpcyBpbnN0YW5jZW9mIHIpe3ZhciBvPWZ1bmN0aW9uKCl7fTtvLnByb3RvdHlwZT10LnByb3RvdHlwZTt2YXIgYT1uZXcgbyxpPXQuYXBwbHkoYSxuLmNvbmNhdChELmNhbGwoYXJndW1lbnRzKSkpO3JldHVybiBPYmplY3QoaSk9PT1pP2k6YX1yZXR1cm4gdC5hcHBseShlLG4uY29uY2F0KEQuY2FsbChhcmd1bWVudHMpKSl9O3JldHVybiByfSksTS5mbGV4Ym94PWZ1bmN0aW9uKCl7cmV0dXJuIHUoImZsZXhXcmFwIil9LE0uZmxleGJveGxlZ2FjeT1mdW5jdGlvbigpe3JldHVybiB1KCJib3hEaXJlY3Rpb24iKX0sTS5jYW52YXM9ZnVuY3Rpb24oKXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpO3JldHVybiEoIWUuZ2V0Q29udGV4dHx8IWUuZ2V0Q29udGV4dCgiMmQiKSl9LE0uY2FudmFzdGV4dD1mdW5jdGlvbigpe3JldHVybiEoIXAuY2FudmFzfHwhYSh0LmNyZWF0ZUVsZW1lbnQoImNhbnZhcyIpLmdldENvbnRleHQoIjJkIikuZmlsbFRleHQsImZ1bmN0aW9uIikpfSxNLndlYmdsPWZ1bmN0aW9uKCl7cmV0dXJuISFlLldlYkdMUmVuZGVyaW5nQ29udGV4dH0sTS50b3VjaD1mdW5jdGlvbigpe3ZhciBuO3JldHVybiJvbnRvdWNoc3RhcnQiaW4gZXx8ZS5Eb2N1bWVudFRvdWNoJiZ0IGluc3RhbmNlb2YgRG9jdW1lbnRUb3VjaD9uPSEwOkYoWyJAbWVkaWEgKCIsUy5qb2luKCJ0b3VjaC1lbmFibGVkKSwoIiksdiwiKSIsInsjbW9kZXJuaXpye3RvcDo5cHg7cG9zaXRpb246YWJzb2x1dGV9fSJdLmpvaW4oIiIpLGZ1bmN0aW9uKGUpe249OT09PWUub2Zmc2V0VG9wfSksbn0sTS5nZW9sb2NhdGlvbj1mdW5jdGlvbigpe3JldHVybiJnZW9sb2NhdGlvbiJpbiBuYXZpZ2F0b3J9LE0ucG9zdG1lc3NhZ2U9ZnVuY3Rpb24oKXtyZXR1cm4hIWUucG9zdE1lc3NhZ2V9LE0ud2Vic3FsZGF0YWJhc2U9ZnVuY3Rpb24oKXtyZXR1cm4hIWUub3BlbkRhdGFiYXNlfSxNLmluZGV4ZWREQj1mdW5jdGlvbigpe3JldHVybiEhdSgiaW5kZXhlZERCIixlKX0sTS5oYXNoY2hhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIEEoImhhc2hjaGFuZ2UiLGUpJiYodC5kb2N1bWVudE1vZGU9PT1ufHx0LmRvY3VtZW50TW9kZT43KX0sTS5oaXN0b3J5PWZ1bmN0aW9uKCl7cmV0dXJuISghZS5oaXN0b3J5fHwhaGlzdG9yeS5wdXNoU3RhdGUpfSxNLmRyYWdhbmRkcm9wPWZ1bmN0aW9uKCl7dmFyIGU9dC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4iZHJhZ2dhYmxlImluIGV8fCJvbmRyYWdzdGFydCJpbiBlJiYib25kcm9wImluIGV9LE0ud2Vic29ja2V0cz1mdW5jdGlvbigpe3JldHVybiJXZWJTb2NrZXQiaW4gZXx8Ik1veldlYlNvY2tldCJpbiBlfSxNLnJnYmE9ZnVuY3Rpb24oKXtyZXR1cm4gcigiYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE1MCwyNTUsMTUwLC41KSIpLGkoYi5iYWNrZ3JvdW5kQ29sb3IsInJnYmEiKX0sTS5oc2xhPWZ1bmN0aW9uKCl7cmV0dXJuIHIoImJhY2tncm91bmQtY29sb3I6aHNsYSgxMjAsNDAlLDEwMCUsLjUpIiksaShiLmJhY2tncm91bmRDb2xvciwicmdiYSIpfHxpKGIuYmFja2dyb3VuZENvbG9yLCJoc2xhIil9LE0ubXVsdGlwbGViZ3M9ZnVuY3Rpb24oKXtyZXR1cm4gcigiYmFja2dyb3VuZDp1cmwoaHR0cHM6Ly8pLHVybChodHRwczovLykscmVkIHVybChodHRwczovLykiKSwvKHVybFxzKlwoLio/KXszfS8udGVzdChiLmJhY2tncm91bmQpfSxNLmJhY2tncm91bmRzaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHUoImJhY2tncm91bmRTaXplIil9LE0uYm9yZGVyaW1hZ2U9ZnVuY3Rpb24oKXtyZXR1cm4gdSgiYm9yZGVySW1hZ2UiKX0sTS5ib3JkZXJyYWRpdXM9ZnVuY3Rpb24oKXtyZXR1cm4gdSgiYm9yZGVyUmFkaXVzIil9LE0uYm94c2hhZG93PWZ1bmN0aW9uKCl7cmV0dXJuIHUoImJveFNoYWRvdyIpfSxNLnRleHRzaGFkb3c9ZnVuY3Rpb24oKXtyZXR1cm4iIj09PXQuY3JlYXRlRWxlbWVudCgiZGl2Iikuc3R5bGUudGV4dFNoYWRvd30sTS5vcGFjaXR5PWZ1bmN0aW9uKCl7cmV0dXJuIG8oIm9wYWNpdHk6LjU1IiksL14wLjU1JC8udGVzdChiLm9wYWNpdHkpfSxNLmNzc2FuaW1hdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdSgiYW5pbWF0aW9uTmFtZSIpfSxNLmNzc2NvbHVtbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdSgiY29sdW1uQ291bnQiKX0sTS5jc3NncmFkaWVudHM9ZnVuY3Rpb24oKXt2YXIgZT0iYmFja2dyb3VuZC1pbWFnZToiLHQ9ImdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCBib3R0b20sZnJvbSgjOWY5KSx0byh3aGl0ZSkpOyIsbj0ibGluZWFyLWdyYWRpZW50KGxlZnQgdG9wLCM5ZjksIHdoaXRlKTsiO3JldHVybiByKChlKyItd2Via2l0LSAiLnNwbGl0KCIgIikuam9pbih0K2UpK1Muam9pbihuK2UpKS5zbGljZSgwLC1lLmxlbmd0aCkpLGkoYi5iYWNrZ3JvdW5kSW1hZ2UsImdyYWRpZW50Iil9LE0uY3NzcmVmbGVjdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdSgiYm94UmVmbGVjdCIpfSxNLmNzc3RyYW5zZm9ybXM9ZnVuY3Rpb24oKXtyZXR1cm4hIXUoInRyYW5zZm9ybSIpfSxNLmNzc3RyYW5zZm9ybXMzZD1mdW5jdGlvbigpe3ZhciBlPSEhdSgicGVyc3BlY3RpdmUiKTtyZXR1cm4gZSYmIndlYmtpdFBlcnNwZWN0aXZlImluIGcuc3R5bGUmJkYoIkBtZWRpYSAodHJhbnNmb3JtLTNkKSwoLXdlYmtpdC10cmFuc2Zvcm0tM2QpeyNtb2Rlcm5penJ7bGVmdDo5cHg7cG9zaXRpb246YWJzb2x1dGU7aGVpZ2h0OjNweDt9fSIsZnVuY3Rpb24odCxuKXtlPTk9PT10Lm9mZnNldExlZnQmJjM9PT10Lm9mZnNldEhlaWdodH0pLGV9LE0uY3NzdHJhbnNpdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdSgidHJhbnNpdGlvbiIpfSxNLmZvbnRmYWNlPWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIEYoJ0Bmb250LWZhY2Uge2ZvbnQtZmFtaWx5OiJmb250IjtzcmM6dXJsKCJodHRwczovLyIpfScsZnVuY3Rpb24obixyKXt2YXIgbz10LmdldEVsZW1lbnRCeUlkKCJzbW9kZXJuaXpyIiksYT1vLnNoZWV0fHxvLnN0eWxlU2hlZXQsaT1hP2EuY3NzUnVsZXMmJmEuY3NzUnVsZXNbMF0/YS5jc3NSdWxlc1swXS5jc3NUZXh0OmEuY3NzVGV4dHx8IiI6IiI7ZT0vc3JjL2kudGVzdChpKSYmMD09PWkuaW5kZXhPZihyLnNwbGl0KCIgIilbMF0pfSksZX0sTS5nZW5lcmF0ZWRjb250ZW50PWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIEYoWyIjIix2LCJ7Zm9udDowLzAgYX0jIix2LCc6YWZ0ZXJ7Y29udGVudDoiJyx4LCciO3Zpc2liaWxpdHk6aGlkZGVuO2ZvbnQ6M3B4LzEgYX0nXS5qb2luKCIiKSxmdW5jdGlvbih0KXtlPXQub2Zmc2V0SGVpZ2h0Pj0zfSksZX0sTS52aWRlbz1mdW5jdGlvbigpe3ZhciBlPXQuY3JlYXRlRWxlbWVudCgidmlkZW8iKSxuPSExO3RyeXsobj0hIWUuY2FuUGxheVR5cGUpJiYobj1uZXcgQm9vbGVhbihuKSxuLm9nZz1lLmNhblBsYXlUeXBlKCd2aWRlby9vZ2c7IGNvZGVjcz0idGhlb3JhIicpLnJlcGxhY2UoL15ubyQvLCIiKSxuLmgyNjQ9ZS5jYW5QbGF5VHlwZSgndmlkZW8vbXA0OyBjb2RlY3M9ImF2YzEuNDJFMDFFIicpLnJlcGxhY2UoL15ubyQvLCIiKSxuLndlYm09ZS5jYW5QbGF5VHlwZSgndmlkZW8vd2VibTsgY29kZWNzPSJ2cDgsIHZvcmJpcyInKS5yZXBsYWNlKC9ebm8kLywiIikpfWNhdGNoKHIpe31yZXR1cm4gbn0sTS5hdWRpbz1mdW5jdGlvbigpe3ZhciBlPXQuY3JlYXRlRWxlbWVudCgiYXVkaW8iKSxuPSExO3RyeXsobj0hIWUuY2FuUGxheVR5cGUpJiYobj1uZXcgQm9vbGVhbihuKSxuLm9nZz1lLmNhblBsYXlUeXBlKCdhdWRpby9vZ2c7IGNvZGVjcz0idm9yYmlzIicpLnJlcGxhY2UoL15ubyQvLCIiKSxuLm1wMz1lLmNhblBsYXlUeXBlKCJhdWRpby9tcGVnOyIpLnJlcGxhY2UoL15ubyQvLCIiKSxuLndhdj1lLmNhblBsYXlUeXBlKCdhdWRpby93YXY7IGNvZGVjcz0iMSInKS5yZXBsYWNlKC9ebm8kLywiIiksbi5tNGE9KGUuY2FuUGxheVR5cGUoImF1ZGlvL3gtbTRhOyIpfHxlLmNhblBsYXlUeXBlKCJhdWRpby9hYWM7IikpLnJlcGxhY2UoL15ubyQvLCIiKSl9Y2F0Y2gocil7fXJldHVybiBufSxNLmxvY2Fsc3RvcmFnZT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gbG9jYWxTdG9yYWdlLnNldEl0ZW0odix2KSxsb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbSh2KSwhMH1jYXRjaChlKXtyZXR1cm4hMX19LE0uc2Vzc2lvbnN0b3JhZ2U9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHNlc3Npb25TdG9yYWdlLnNldEl0ZW0odix2KSxzZXNzaW9uU3RvcmFnZS5yZW1vdmVJdGVtKHYpLCEwfWNhdGNoKGUpe3JldHVybiExfX0sTS53ZWJ3b3JrZXJzPWZ1bmN0aW9uKCl7cmV0dXJuISFlLldvcmtlcn0sTS5hcHBsaWNhdGlvbmNhY2hlPWZ1bmN0aW9uKCl7cmV0dXJuISFlLmFwcGxpY2F0aW9uQ2FjaGV9LE0uc3ZnPWZ1bmN0aW9uKCl7cmV0dXJuISF0LmNyZWF0ZUVsZW1lbnROUyYmISF0LmNyZWF0ZUVsZW1lbnROUyhOLnN2Zywic3ZnIikuY3JlYXRlU1ZHUmVjdH0sTS5pbmxpbmVzdmc9ZnVuY3Rpb24oKXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImRpdiIpO3JldHVybiBlLmlubmVySFRNTD0iPHN2Zy8+IiwoZS5maXJzdENoaWxkJiZlLmZpcnN0Q2hpbGQubmFtZXNwYWNlVVJJKT09Ti5zdmd9LE0uc21pbD1mdW5jdGlvbigpe3JldHVybiEhdC5jcmVhdGVFbGVtZW50TlMmJi9TVkdBbmltYXRlLy50ZXN0KHcuY2FsbCh0LmNyZWF0ZUVsZW1lbnROUyhOLnN2ZywiYW5pbWF0ZSIpKSl9LE0uc3ZnY2xpcHBhdGhzPWZ1bmN0aW9uKCl7cmV0dXJuISF0LmNyZWF0ZUVsZW1lbnROUyYmL1NWR0NsaXBQYXRoLy50ZXN0KHcuY2FsbCh0LmNyZWF0ZUVsZW1lbnROUyhOLnN2ZywiY2xpcFBhdGgiKSkpfTtmb3IodmFyIEggaW4gTSlmKE0sSCkmJihkPUgudG9Mb3dlckNhc2UoKSxwW2RdPU1bSF0oKSwkLnB1c2goKHBbZF0/IiI6Im5vLSIpK2QpKTtyZXR1cm4gcC5pbnB1dHx8bCgpLHAuYWRkVGVzdD1mdW5jdGlvbihlLHQpe2lmKCJvYmplY3QiPT10eXBlb2YgZSlmb3IodmFyIHIgaW4gZSlmKGUscikmJnAuYWRkVGVzdChyLGVbcl0pO2Vsc2V7aWYoZT1lLnRvTG93ZXJDYXNlKCkscFtlXSE9PW4pcmV0dXJuIHA7dD0iZnVuY3Rpb24iPT10eXBlb2YgdD90KCk6dCwidW5kZWZpbmVkIiE9dHlwZW9mIGgmJmgmJihnLmNsYXNzTmFtZSs9IiAiKyh0PyIiOiJuby0iKStlKSxwW2VdPXR9cmV0dXJuIHB9LHIoIiIpLHk9RT1udWxsLGZ1bmN0aW9uKGUsdCl7ZnVuY3Rpb24gbihlLHQpe3ZhciBuPWUuY3JlYXRlRWxlbWVudCgicCIpLHI9ZS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdfHxlLmRvY3VtZW50RWxlbWVudDtyZXR1cm4gbi5pbm5lckhUTUw9Ing8c3R5bGU+Iit0KyI8L3N0eWxlPiIsci5pbnNlcnRCZWZvcmUobi5sYXN0Q2hpbGQsci5maXJzdENoaWxkKX1mdW5jdGlvbiByKCl7dmFyIGU9eS5lbGVtZW50cztyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZS5zcGxpdCgiICIpOmV9ZnVuY3Rpb24gbyhlKXt2YXIgdD12W2VbaF1dO3JldHVybiB0fHwodD17fSxnKyssZVtoXT1nLHZbZ109dCksdH1mdW5jdGlvbiBhKGUsbixyKXtpZihufHwobj10KSxsKXJldHVybiBuLmNyZWF0ZUVsZW1lbnQoZSk7cnx8KHI9byhuKSk7dmFyIGE7cmV0dXJuIGE9ci5jYWNoZVtlXT9yLmNhY2hlW2VdLmNsb25lTm9kZSgpOnAudGVzdChlKT8oci5jYWNoZVtlXT1yLmNyZWF0ZUVsZW0oZSkpLmNsb25lTm9kZSgpOnIuY3JlYXRlRWxlbShlKSwhYS5jYW5IYXZlQ2hpbGRyZW58fG0udGVzdChlKXx8YS50YWdVcm4/YTpyLmZyYWcuYXBwZW5kQ2hpbGQoYSl9ZnVuY3Rpb24gaShlLG4pe2lmKGV8fChlPXQpLGwpcmV0dXJuIGUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpO249bnx8byhlKTtmb3IodmFyIGE9bi5mcmFnLmNsb25lTm9kZSgpLGk9MCxjPXIoKSxzPWMubGVuZ3RoO3M+aTtpKyspYS5jcmVhdGVFbGVtZW50KGNbaV0pO3JldHVybiBhfWZ1bmN0aW9uIGMoZSx0KXt0LmNhY2hlfHwodC5jYWNoZT17fSx0LmNyZWF0ZUVsZW09ZS5jcmVhdGVFbGVtZW50LHQuY3JlYXRlRnJhZz1lLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQsdC5mcmFnPXQuY3JlYXRlRnJhZygpKSxlLmNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24obil7cmV0dXJuIHkuc2hpdk1ldGhvZHM/YShuLGUsdCk6dC5jcmVhdGVFbGVtKG4pfSxlLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQ9RnVuY3Rpb24oImgsZiIsInJldHVybiBmdW5jdGlvbigpe3ZhciBuPWYuY2xvbmVOb2RlKCksYz1uLmNyZWF0ZUVsZW1lbnQ7aC5zaGl2TWV0aG9kcyYmKCIrcigpLmpvaW4oKS5yZXBsYWNlKC9bXHdcLV0rL2csZnVuY3Rpb24oZSl7cmV0dXJuIHQuY3JlYXRlRWxlbShlKSx0LmZyYWcuY3JlYXRlRWxlbWVudChlKSwnYygiJytlKyciKSd9KSsiKTtyZXR1cm4gbn0iKSh5LHQuZnJhZyl9ZnVuY3Rpb24gcyhlKXtlfHwoZT10KTt2YXIgcj1vKGUpO3JldHVybiF5LnNoaXZDU1N8fHV8fHIuaGFzQ1NTfHwoci5oYXNDU1M9ISFuKGUsImFydGljbGUsYXNpZGUsZGlhbG9nLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLG1haW4sbmF2LHNlY3Rpb257ZGlzcGxheTpibG9ja31tYXJre2JhY2tncm91bmQ6I0ZGMDtjb2xvcjojMDAwfXRlbXBsYXRle2Rpc3BsYXk6bm9uZX0iKSksbHx8YyhlLHIpLGV9dmFyIHUsbCxkPSIzLjcuMCIsZj1lLmh0bWw1fHx7fSxtPS9ePHxeKD86YnV0dG9ufG1hcHxzZWxlY3R8dGV4dGFyZWF8b2JqZWN0fGlmcmFtZXxvcHRpb258b3B0Z3JvdXApJC9pLHA9L14oPzphfGJ8Y29kZXxkaXZ8ZmllbGRzZXR8aDF8aDJ8aDN8aDR8aDV8aDZ8aXxsYWJlbHxsaXxvbHxwfHF8c3BhbnxzdHJvbmd8c3R5bGV8dGFibGV8dGJvZHl8dGR8dGh8dHJ8dWwpJC9pLGg9Il9odG1sNXNoaXYiLGc9MCx2PXt9OyFmdW5jdGlvbigpe3RyeXt2YXIgZT10LmNyZWF0ZUVsZW1lbnQoImEiKTtlLmlubmVySFRNTD0iPHh5ej48L3h5ej4iLHU9ImhpZGRlbiJpbiBlLGw9MT09ZS5jaGlsZE5vZGVzLmxlbmd0aHx8ZnVuY3Rpb24oKXt0LmNyZWF0ZUVsZW1lbnQoImEiKTt2YXIgZT10LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTtyZXR1cm4idW5kZWZpbmVkIj09dHlwZW9mIGUuY2xvbmVOb2RlfHwidW5kZWZpbmVkIj09dHlwZW9mIGUuY3JlYXRlRG9jdW1lbnRGcmFnbWVudHx8InVuZGVmaW5lZCI9PXR5cGVvZiBlLmNyZWF0ZUVsZW1lbnR9KCl9Y2F0Y2gobil7dT0hMCxsPSEwfX0oKTt2YXIgeT17ZWxlbWVudHM6Zi5lbGVtZW50c3x8ImFiYnIgYXJ0aWNsZSBhc2lkZSBhdWRpbyBiZGkgY2FudmFzIGRhdGEgZGF0YWxpc3QgZGV0YWlscyBkaWFsb2cgZmlnY2FwdGlvbiBmaWd1cmUgZm9vdGVyIGhlYWRlciBoZ3JvdXAgbWFpbiBtYXJrIG1ldGVyIG5hdiBvdXRwdXQgcHJvZ3Jlc3Mgc2VjdGlvbiBzdW1tYXJ5IHRlbXBsYXRlIHRpbWUgdmlkZW8iLHZlcnNpb246ZCxzaGl2Q1NTOmYuc2hpdkNTUyE9PSExLHN1cHBvcnRzVW5rbm93bkVsZW1lbnRzOmwsc2hpdk1ldGhvZHM6Zi5zaGl2TWV0aG9kcyE9PSExLHR5cGU6ImRlZmF1bHQiLHNoaXZEb2N1bWVudDpzLGNyZWF0ZUVsZW1lbnQ6YSxjcmVhdGVEb2N1bWVudEZyYWdtZW50Oml9O2UuaHRtbDU9eSxzKHQpfSh0aGlzLHQpLHAuX3ZlcnNpb249bSxwLl9wcmVmaXhlcz1TLHAuX2RvbVByZWZpeGVzPVQscC5fY3Nzb21QcmVmaXhlcz1rLHAubXE9eixwLmhhc0V2ZW50PUEscC50ZXN0UHJvcD1mdW5jdGlvbihlKXtyZXR1cm4gYyhbZV0pfSxwLnRlc3RBbGxQcm9wcz11LHAudGVzdFN0eWxlcz1GLHAucHJlZml4ZWQ9ZnVuY3Rpb24oZSx0LG4pe3JldHVybiB0P3UoZSx0LG4pOnUoZSwicGZ4Iil9LGcuY2xhc3NOYW1lPWcuY2xhc3NOYW1lLnJlcGxhY2UoLyhefFxzKW5vLWpzKFxzfCQpLywiJDEkMiIpKyhoPyIganMgIiskLmpvaW4oIiAiKToiIikscH0odGhpcyx0aGlzLmRvY3VtZW50KTsNCi8qDQogKiAgc2Nyb2xsVG9GaXhlZA0KICoJaHR0cHM6Ly9naXRodWIuY29tL2JpZ3Nwb3R0ZWRkb2cvU2Nyb2xsVG9GaXhlZA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQooZnVuY3Rpb24oYSl7YS5pc1Njcm9sbFRvRml4ZWQ9ZnVuY3Rpb24oYil7cmV0dXJuICEhYShiKS5kYXRhKCJTY3JvbGxUb0ZpeGVkIil9O2EuU2Nyb2xsVG9GaXhlZD1mdW5jdGlvbihkLGkpe3ZhciBtPXRoaXM7bS4kZWw9YShkKTttLmVsPWQ7bS4kZWwuZGF0YSgiU2Nyb2xsVG9GaXhlZCIsbSk7dmFyIGM9ZmFsc2U7dmFyIEg9bS4kZWw7dmFyIEk7dmFyIEY7dmFyIGs7dmFyIGU7dmFyIHo7dmFyIEU9MDt2YXIgcj0wO3ZhciBqPS0xO3ZhciBmPS0xO3ZhciB1PW51bGw7dmFyIEE7dmFyIGc7ZnVuY3Rpb24gdigpe0gudHJpZ2dlcigicHJlVW5maXhlZC5TY3JvbGxUb0ZpeGVkIik7bCgpO0gudHJpZ2dlcigidW5maXhlZC5TY3JvbGxUb0ZpeGVkIik7Zj0tMTtFPUgub2Zmc2V0KCkudG9wO3I9SC5vZmZzZXQoKS5sZWZ0O2lmKG0ub3B0aW9ucy5vZmZzZXRzKXtyKz0oSC5vZmZzZXQoKS5sZWZ0LUgucG9zaXRpb24oKS5sZWZ0KX1pZihqPT0tMSl7aj1yfUk9SC5jc3MoInBvc2l0aW9uIik7Yz10cnVlO2lmKG0ub3B0aW9ucy5ib3R0b20hPS0xKXtILnRyaWdnZXIoInByZUZpeGVkLlNjcm9sbFRvRml4ZWQiKTt4KCk7SC50cmlnZ2VyKCJmaXhlZC5TY3JvbGxUb0ZpeGVkIil9fWZ1bmN0aW9uIG8oKXt2YXIgSj1tLm9wdGlvbnMubGltaXQ7aWYoIUope3JldHVybiAwfWlmKHR5cGVvZihKKT09PSJmdW5jdGlvbiIpe3JldHVybiBKLmFwcGx5KEgpfXJldHVybiBKfWZ1bmN0aW9uIHEoKXtyZXR1cm4gST09PSJmaXhlZCJ9ZnVuY3Rpb24geSgpe3JldHVybiBJPT09ImFic29sdXRlIn1mdW5jdGlvbiBoKCl7cmV0dXJuICEocSgpfHx5KCkpfWZ1bmN0aW9uIHgoKXtpZighcSgpKXt2YXIgSj1IWzBdLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO3UuY3NzKHtkaXNwbGF5OkguY3NzKCJkaXNwbGF5Iiksd2lkdGg6Si53aWR0aCxoZWlnaHQ6Si5oZWlnaHQsImZsb2F0IjpILmNzcygiZmxvYXQiKX0pO2Nzc09wdGlvbnM9eyJ6LWluZGV4IjptLm9wdGlvbnMuekluZGV4LHBvc2l0aW9uOiJmaXhlZCIsdG9wOm0ub3B0aW9ucy5ib3R0b209PS0xP3QoKToiIixib3R0b206bS5vcHRpb25zLmJvdHRvbT09LTE/IiI6bS5vcHRpb25zLmJvdHRvbSwibWFyZ2luLWxlZnQiOiIwcHgifTtpZighbS5vcHRpb25zLmRvbnRTZXRXaWR0aCl7Y3NzT3B0aW9ucy53aWR0aD1ILmNzcygid2lkdGgiKX1ILmNzcyhjc3NPcHRpb25zKTtILmFkZENsYXNzKG0ub3B0aW9ucy5iYXNlQ2xhc3NOYW1lKTtpZihtLm9wdGlvbnMuY2xhc3NOYW1lKXtILmFkZENsYXNzKG0ub3B0aW9ucy5jbGFzc05hbWUpfUk9ImZpeGVkIn19ZnVuY3Rpb24gYigpe3ZhciBLPW8oKTt2YXIgSj1yO2lmKG0ub3B0aW9ucy5yZW1vdmVPZmZzZXRzKXtKPSIiO0s9Sy1FfWNzc09wdGlvbnM9e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOkssbGVmdDpKLCJtYXJnaW4tbGVmdCI6IjBweCIsYm90dG9tOiIifTtpZighbS5vcHRpb25zLmRvbnRTZXRXaWR0aCl7Y3NzT3B0aW9ucy53aWR0aD1ILmNzcygid2lkdGgiKX1ILmNzcyhjc3NPcHRpb25zKTtJPSJhYnNvbHV0ZSJ9ZnVuY3Rpb24gbCgpe2lmKCFoKCkpe2Y9LTE7dS5jc3MoImRpc3BsYXkiLCJub25lIik7SC5jc3MoeyJ6LWluZGV4Ijp6LHdpZHRoOiIiLHBvc2l0aW9uOkYsbGVmdDoiIix0b3A6ZSwibWFyZ2luLWxlZnQiOiIifSk7SC5yZW1vdmVDbGFzcygic2Nyb2xsLXRvLWZpeGVkLWZpeGVkIik7aWYobS5vcHRpb25zLmNsYXNzTmFtZSl7SC5yZW1vdmVDbGFzcyhtLm9wdGlvbnMuY2xhc3NOYW1lKX1JPW51bGx9fWZ1bmN0aW9uIHcoSil7aWYoSiE9Zil7SC5jc3MoImxlZnQiLHItSik7Zj1KfX1mdW5jdGlvbiB0KCl7dmFyIEo9bS5vcHRpb25zLm1hcmdpblRvcDtpZighSil7cmV0dXJuIDB9aWYodHlwZW9mKEopPT09ImZ1bmN0aW9uIil7cmV0dXJuIEouYXBwbHkoSCl9cmV0dXJuIEp9ZnVuY3Rpb24gQigpe2lmKCFhLmlzU2Nyb2xsVG9GaXhlZChIKXx8SC5pcygiOmhpZGRlbiIpKXtyZXR1cm59dmFyIE09Yzt2YXIgTD1oKCk7aWYoIWMpe3YoKX1lbHNle2lmKGgoKSl7RT1ILm9mZnNldCgpLnRvcDtyPUgub2Zmc2V0KCkubGVmdH19dmFyIEo9YSh3aW5kb3cpLnNjcm9sbExlZnQoKTt2YXIgTj1hKHdpbmRvdykuc2Nyb2xsVG9wKCk7dmFyIEs9bygpO2lmKG0ub3B0aW9ucy5taW5XaWR0aCYmYSh3aW5kb3cpLndpZHRoKCk8bS5vcHRpb25zLm1pbldpZHRoKXtpZighaCgpfHwhTSl7cCgpO0gudHJpZ2dlcigicHJlVW5maXhlZC5TY3JvbGxUb0ZpeGVkIik7bCgpO0gudHJpZ2dlcigidW5maXhlZC5TY3JvbGxUb0ZpeGVkIil9fWVsc2V7aWYobS5vcHRpb25zLm1heFdpZHRoJiZhKHdpbmRvdykud2lkdGgoKT5tLm9wdGlvbnMubWF4V2lkdGgpe2lmKCFoKCl8fCFNKXtwKCk7SC50cmlnZ2VyKCJwcmVVbmZpeGVkLlNjcm9sbFRvRml4ZWQiKTtsKCk7SC50cmlnZ2VyKCJ1bmZpeGVkLlNjcm9sbFRvRml4ZWQiKX19ZWxzZXtpZihtLm9wdGlvbnMuYm90dG9tPT0tMSl7aWYoSz4wJiZOPj1LLXQoKSl7aWYoIUwmJigheSgpfHwhTSkpe3AoKTtILnRyaWdnZXIoInByZUFic29sdXRlLlNjcm9sbFRvRml4ZWQiKTtiKCk7SC50cmlnZ2VyKCJ1bmZpeGVkLlNjcm9sbFRvRml4ZWQiKX19ZWxzZXtpZihOPj1FLXQoKSl7aWYoIXEoKXx8IU0pe3AoKTtILnRyaWdnZXIoInByZUZpeGVkLlNjcm9sbFRvRml4ZWQiKTt4KCk7Zj0tMTtILnRyaWdnZXIoImZpeGVkLlNjcm9sbFRvRml4ZWQiKX13KEopfWVsc2V7aWYoIWgoKXx8IU0pe3AoKTtILnRyaWdnZXIoInByZVVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIpO2woKTtILnRyaWdnZXIoInVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIpfX19fWVsc2V7aWYoSz4wKXtpZihOK2Eod2luZG93KS5oZWlnaHQoKS1ILm91dGVySGVpZ2h0KHRydWUpPj1LLSh0KCl8fC1uKCkpKXtpZihxKCkpe3AoKTtILnRyaWdnZXIoInByZVVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIpO2lmKEY9PT0iYWJzb2x1dGUiKXtiKCl9ZWxzZXtsKCl9SC50cmlnZ2VyKCJ1bmZpeGVkLlNjcm9sbFRvRml4ZWQiKX19ZWxzZXtpZighcSgpKXtwKCk7SC50cmlnZ2VyKCJwcmVGaXhlZC5TY3JvbGxUb0ZpeGVkIik7eCgpfXcoSik7SC50cmlnZ2VyKCJmaXhlZC5TY3JvbGxUb0ZpeGVkIil9fWVsc2V7dyhKKX19fX19ZnVuY3Rpb24gbigpe2lmKCFtLm9wdGlvbnMuYm90dG9tKXtyZXR1cm4gMH1yZXR1cm4gbS5vcHRpb25zLmJvdHRvbX1mdW5jdGlvbiBwKCl7dmFyIEo9SC5jc3MoInBvc2l0aW9uIik7aWYoSj09ImFic29sdXRlIil7SC50cmlnZ2VyKCJwb3N0QWJzb2x1dGUuU2Nyb2xsVG9GaXhlZCIpfWVsc2V7aWYoSj09ImZpeGVkIil7SC50cmlnZ2VyKCJwb3N0Rml4ZWQuU2Nyb2xsVG9GaXhlZCIpfWVsc2V7SC50cmlnZ2VyKCJwb3N0VW5maXhlZC5TY3JvbGxUb0ZpeGVkIil9fX12YXIgRD1mdW5jdGlvbihKKXtpZihILmlzKCI6dmlzaWJsZSIpKXtjPWZhbHNlO0IoKX19O3ZhciBHPWZ1bmN0aW9uKEopeyghIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUpP3JlcXVlc3RBbmltYXRpb25GcmFtZShCKTpCKCl9O3ZhciBDPWZ1bmN0aW9uKCl7dmFyIEs9ZG9jdW1lbnQuYm9keTtpZihkb2N1bWVudC5jcmVhdGVFbGVtZW50JiZLJiZLLmFwcGVuZENoaWxkJiZLLnJlbW92ZUNoaWxkKXt2YXIgTT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZighTS5nZXRCb3VuZGluZ0NsaWVudFJlY3Qpe3JldHVybiBudWxsfU0uaW5uZXJIVE1MPSJ4IjtNLnN0eWxlLmNzc1RleHQ9InBvc2l0aW9uOmZpeGVkO3RvcDoxMDBweDsiO0suYXBwZW5kQ2hpbGQoTSk7dmFyIE49Sy5zdHlsZS5oZWlnaHQsTz1LLnNjcm9sbFRvcDtLLnN0eWxlLmhlaWdodD0iMzAwMHB4IjtLLnNjcm9sbFRvcD01MDA7dmFyIEo9TS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3A7Sy5zdHlsZS5oZWlnaHQ9Tjt2YXIgTD0oSj09PTEwMCk7Sy5yZW1vdmVDaGlsZChNKTtLLnNjcm9sbFRvcD1PO3JldHVybiBMfXJldHVybiBudWxsfTt2YXIgcz1mdW5jdGlvbihKKXtKPUp8fHdpbmRvdy5ldmVudDtpZihKLnByZXZlbnREZWZhdWx0KXtKLnByZXZlbnREZWZhdWx0KCl9Si5yZXR1cm5WYWx1ZT1mYWxzZX07bS5pbml0PWZ1bmN0aW9uKCl7bS5vcHRpb25zPWEuZXh0ZW5kKHt9LGEuU2Nyb2xsVG9GaXhlZC5kZWZhdWx0T3B0aW9ucyxpKTt6PUguY3NzKCJ6LWluZGV4Iik7bS4kZWwuY3NzKCJ6LWluZGV4IixtLm9wdGlvbnMuekluZGV4KTt1PWEoIjxkaXYgLz4iKTtJPUguY3NzKCJwb3NpdGlvbiIpO0Y9SC5jc3MoInBvc2l0aW9uIik7az1ILmNzcygiZmxvYXQiKTtlPUguY3NzKCJ0b3AiKTtpZihoKCkpe20uJGVsLmFmdGVyKHUpfWEod2luZG93KS5iaW5kKCJyZXNpemUuU2Nyb2xsVG9GaXhlZCIsRCk7YSh3aW5kb3cpLmJpbmQoInNjcm9sbC5TY3JvbGxUb0ZpeGVkIixHKTtpZigib250b3VjaG1vdmUiIGluIHdpbmRvdyl7YSh3aW5kb3cpLmJpbmQoInRvdWNobW92ZS5TY3JvbGxUb0ZpeGVkIixCKX1pZihtLm9wdGlvbnMucHJlRml4ZWQpe0guYmluZCgicHJlRml4ZWQuU2Nyb2xsVG9GaXhlZCIsbS5vcHRpb25zLnByZUZpeGVkKX1pZihtLm9wdGlvbnMucG9zdEZpeGVkKXtILmJpbmQoInBvc3RGaXhlZC5TY3JvbGxUb0ZpeGVkIixtLm9wdGlvbnMucG9zdEZpeGVkKX1pZihtLm9wdGlvbnMucHJlVW5maXhlZCl7SC5iaW5kKCJwcmVVbmZpeGVkLlNjcm9sbFRvRml4ZWQiLG0ub3B0aW9ucy5wcmVVbmZpeGVkKX1pZihtLm9wdGlvbnMucG9zdFVuZml4ZWQpe0guYmluZCgicG9zdFVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIsbS5vcHRpb25zLnBvc3RVbmZpeGVkKX1pZihtLm9wdGlvbnMucHJlQWJzb2x1dGUpe0guYmluZCgicHJlQWJzb2x1dGUuU2Nyb2xsVG9GaXhlZCIsbS5vcHRpb25zLnByZUFic29sdXRlKX1pZihtLm9wdGlvbnMucG9zdEFic29sdXRlKXtILmJpbmQoInBvc3RBYnNvbHV0ZS5TY3JvbGxUb0ZpeGVkIixtLm9wdGlvbnMucG9zdEFic29sdXRlKX1pZihtLm9wdGlvbnMuZml4ZWQpe0guYmluZCgiZml4ZWQuU2Nyb2xsVG9GaXhlZCIsbS5vcHRpb25zLmZpeGVkKX1pZihtLm9wdGlvbnMudW5maXhlZCl7SC5iaW5kKCJ1bmZpeGVkLlNjcm9sbFRvRml4ZWQiLG0ub3B0aW9ucy51bmZpeGVkKX1pZihtLm9wdGlvbnMuc3BhY2VyQ2xhc3Mpe3UuYWRkQ2xhc3MobS5vcHRpb25zLnNwYWNlckNsYXNzKX1ILmJpbmQoInJlc2l6ZS5TY3JvbGxUb0ZpeGVkIixmdW5jdGlvbigpe3UuaGVpZ2h0KEguaGVpZ2h0KCkpfSk7SC5iaW5kKCJzY3JvbGwuU2Nyb2xsVG9GaXhlZCIsZnVuY3Rpb24oKXtILnRyaWdnZXIoInByZVVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIpO2woKTtILnRyaWdnZXIoInVuZml4ZWQuU2Nyb2xsVG9GaXhlZCIpO0IoKX0pO0guYmluZCgiZGV0YWNoLlNjcm9sbFRvRml4ZWQiLGZ1bmN0aW9uKEope3MoSik7SC50cmlnZ2VyKCJwcmVVbmZpeGVkLlNjcm9sbFRvRml4ZWQiKTtsKCk7SC50cmlnZ2VyKCJ1bmZpeGVkLlNjcm9sbFRvRml4ZWQiKTthKHdpbmRvdykudW5iaW5kKCJyZXNpemUuU2Nyb2xsVG9GaXhlZCIsRCk7YSh3aW5kb3cpLnVuYmluZCgic2Nyb2xsLlNjcm9sbFRvRml4ZWQiLEcpO0gudW5iaW5kKCIuU2Nyb2xsVG9GaXhlZCIpO3UucmVtb3ZlKCk7bS4kZWwucmVtb3ZlRGF0YSgiU2Nyb2xsVG9GaXhlZCIpfSk7RCgpfTttLmluaXQoKX07YS5TY3JvbGxUb0ZpeGVkLmRlZmF1bHRPcHRpb25zPXttYXJnaW5Ub3A6MCxsaW1pdDowLGJvdHRvbTotMSx6SW5kZXg6MTAwMCxiYXNlQ2xhc3NOYW1lOiJzY3JvbGwtdG8tZml4ZWQtZml4ZWQifTthLmZuLnNjcm9sbFRvRml4ZWQ9ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpeyhuZXcgYS5TY3JvbGxUb0ZpeGVkKHRoaXMsYikpfSl9fSkoalF1ZXJ5KTsNCg0KDQovKg0KICogIFN0aWNreSBQbHVnaW4gdjEuMC40IGZvciBqUXVlcnkNCiAqCWh0dHBzOi8vZ2l0aHViLmNvbS9nYXJhbmQvc3RpY2t5DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCiFmdW5jdGlvbih0KXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLHQpOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz10KHJlcXVpcmUoImpxdWVyeSIpKTp0KGpRdWVyeSl9KGZ1bmN0aW9uKHQpe3ZhciBlPUFycmF5LnByb3RvdHlwZS5zbGljZSxpPUFycmF5LnByb3RvdHlwZS5zcGxpY2Usbj17dG9wU3BhY2luZzowLGJvdHRvbVNwYWNpbmc6MCxjbGFzc05hbWU6ImlzLXN0aWNreSIsd3JhcHBlckNsYXNzTmFtZToic3RpY2t5LXdyYXBwZXIiLGNlbnRlcjohMSxnZXRXaWR0aEZyb206IiIsd2lkdGhGcm9tV3JhcHBlcjohMCxyZXNwb25zaXZlV2lkdGg6ITEsekluZGV4OiJpbmhlcml0In0scj10KHdpbmRvdykscz10KGRvY3VtZW50KSxvPVtdLGM9ci5oZWlnaHQoKSxhPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXIuc2Nyb2xsVG9wKCksaT1zLmhlaWdodCgpLG49aS1jLGE9ZT5uP24tZTowLHA9MCxkPW8ubGVuZ3RoO3A8ZDtwKyspe3ZhciBsPW9bcF0saD1sLnN0aWNreVdyYXBwZXIub2Zmc2V0KCkudG9wLWwudG9wU3BhY2luZy1hO2lmKGwuc3RpY2t5V3JhcHBlci5jc3MoImhlaWdodCIsbC5zdGlja3lFbGVtZW50Lm91dGVySGVpZ2h0KCkpLGU8PWgpbnVsbCE9PWwuY3VycmVudFRvcCYmKGwuc3RpY2t5RWxlbWVudC5jc3Moe3dpZHRoOiIiLHBvc2l0aW9uOiIiLHRvcDoiIiwiei1pbmRleCI6IiJ9KSxsLnN0aWNreUVsZW1lbnQucGFyZW50KCkucmVtb3ZlQ2xhc3MobC5jbGFzc05hbWUpLGwuc3RpY2t5RWxlbWVudC50cmlnZ2VyKCJzdGlja3ktZW5kIixbbF0pLGwuY3VycmVudFRvcD1udWxsKTtlbHNle3ZhciB1PWktbC5zdGlja3lFbGVtZW50Lm91dGVySGVpZ2h0KCktbC50b3BTcGFjaW5nLWwuYm90dG9tU3BhY2luZy1lLWE7aWYodTwwP3UrPWwudG9wU3BhY2luZzp1PWwudG9wU3BhY2luZyxsLmN1cnJlbnRUb3AhPT11KXt2YXIgZztsLmdldFdpZHRoRnJvbT8ocGFkZGluZz1sLnN0aWNreUVsZW1lbnQuaW5uZXJXaWR0aCgpLWwuc3RpY2t5RWxlbWVudC53aWR0aCgpLGc9dChsLmdldFdpZHRoRnJvbSkud2lkdGgoKS1wYWRkaW5nfHxudWxsKTpsLndpZHRoRnJvbVdyYXBwZXImJihnPWwuc3RpY2t5V3JhcHBlci53aWR0aCgpKSxudWxsPT1nJiYoZz1sLnN0aWNreUVsZW1lbnQud2lkdGgoKSksbC5zdGlja3lFbGVtZW50LmNzcygid2lkdGgiLGcpLmNzcygicG9zaXRpb24iLCJmaXhlZCIpLmNzcygidG9wIix1KS5jc3MoInotaW5kZXgiLGwuekluZGV4KSxsLnN0aWNreUVsZW1lbnQucGFyZW50KCkuYWRkQ2xhc3MobC5jbGFzc05hbWUpLG51bGw9PT1sLmN1cnJlbnRUb3A/bC5zdGlja3lFbGVtZW50LnRyaWdnZXIoInN0aWNreS1zdGFydCIsW2xdKTpsLnN0aWNreUVsZW1lbnQudHJpZ2dlcigic3RpY2t5LXVwZGF0ZSIsW2xdKSxsLmN1cnJlbnRUb3A9PT1sLnRvcFNwYWNpbmcmJmwuY3VycmVudFRvcD51fHxudWxsPT09bC5jdXJyZW50VG9wJiZ1PGwudG9wU3BhY2luZz9sLnN0aWNreUVsZW1lbnQudHJpZ2dlcigic3RpY2t5LWJvdHRvbS1yZWFjaGVkIixbbF0pOm51bGwhPT1sLmN1cnJlbnRUb3AmJnU9PT1sLnRvcFNwYWNpbmcmJmwuY3VycmVudFRvcDx1JiZsLnN0aWNreUVsZW1lbnQudHJpZ2dlcigic3RpY2t5LWJvdHRvbS11bnJlYWNoZWQiLFtsXSksbC5jdXJyZW50VG9wPXV9dmFyIG09bC5zdGlja3lXcmFwcGVyLnBhcmVudCgpO2wuc3RpY2t5RWxlbWVudC5vZmZzZXQoKS50b3ArbC5zdGlja3lFbGVtZW50Lm91dGVySGVpZ2h0KCk+PW0ub2Zmc2V0KCkudG9wK20ub3V0ZXJIZWlnaHQoKSYmbC5zdGlja3lFbGVtZW50Lm9mZnNldCgpLnRvcDw9bC50b3BTcGFjaW5nP2wuc3RpY2t5RWxlbWVudC5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKS5jc3MoInRvcCIsIiIpLmNzcygiYm90dG9tIiwwKS5jc3MoInotaW5kZXgiLCIiKTpsLnN0aWNreUVsZW1lbnQuY3NzKCJwb3NpdGlvbiIsImZpeGVkIikuY3NzKCJ0b3AiLHUpLmNzcygiYm90dG9tIiwiIikuY3NzKCJ6LWluZGV4IixsLnpJbmRleCl9fX0scD1mdW5jdGlvbigpe2M9ci5oZWlnaHQoKTtmb3IodmFyIGU9MCxpPW8ubGVuZ3RoO2U8aTtlKyspe3ZhciBuPW9bZV0scz1udWxsO24uZ2V0V2lkdGhGcm9tP24ucmVzcG9uc2l2ZVdpZHRoJiYocz10KG4uZ2V0V2lkdGhGcm9tKS53aWR0aCgpKTpuLndpZHRoRnJvbVdyYXBwZXImJihzPW4uc3RpY2t5V3JhcHBlci53aWR0aCgpKSxudWxsIT1zJiZuLnN0aWNreUVsZW1lbnQuY3NzKCJ3aWR0aCIscyl9fSxkPXtpbml0OmZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT10LmV4dGVuZCh7fSxuLGUpLHI9dCh0aGlzKSxzPXIuYXR0cigiaWQiKSxjPXM/cysiLSIrbi53cmFwcGVyQ2xhc3NOYW1lOm4ud3JhcHBlckNsYXNzTmFtZSxhPXQoIjxkaXY+PC9kaXY+IikuYXR0cigiaWQiLGMpLmFkZENsYXNzKGkud3JhcHBlckNsYXNzTmFtZSk7ci53cmFwQWxsKGZ1bmN0aW9uKCl7aWYoMD09dCh0aGlzKS5wYXJlbnQoIiMiK2MpLmxlbmd0aClyZXR1cm4gYX0pO3ZhciBwPXIucGFyZW50KCk7aS5jZW50ZXImJnAuY3NzKHt3aWR0aDpyLm91dGVyV2lkdGgoKSxtYXJnaW5MZWZ0OiJhdXRvIixtYXJnaW5SaWdodDoiYXV0byJ9KSwicmlnaHQiPT09ci5jc3MoImZsb2F0IikmJnIuY3NzKHtmbG9hdDoibm9uZSJ9KS5wYXJlbnQoKS5jc3Moe2Zsb2F0OiJyaWdodCJ9KSxpLnN0aWNreUVsZW1lbnQ9cixpLnN0aWNreVdyYXBwZXI9cCxpLmN1cnJlbnRUb3A9bnVsbCxvLnB1c2goaSksZC5zZXRXcmFwcGVySGVpZ2h0KHRoaXMpLGQuc2V0dXBDaGFuZ2VMaXN0ZW5lcnModGhpcyl9KX0sc2V0V3JhcHBlckhlaWdodDpmdW5jdGlvbihlKXt2YXIgaT10KGUpLG49aS5wYXJlbnQoKTtuJiZuLmNzcygiaGVpZ2h0IixpLm91dGVySGVpZ2h0KCkpfSxzZXR1cENoYW5nZUxpc3RlbmVyczpmdW5jdGlvbih0KXt3aW5kb3cuTXV0YXRpb25PYnNlcnZlcj9uZXcgd2luZG93Lk11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24oZSl7KGVbMF0uYWRkZWROb2Rlcy5sZW5ndGh8fGVbMF0ucmVtb3ZlZE5vZGVzLmxlbmd0aCkmJmQuc2V0V3JhcHBlckhlaWdodCh0KX0pLm9ic2VydmUodCx7c3VidHJlZTohMCxjaGlsZExpc3Q6ITB9KTp3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj8odC5hZGRFdmVudExpc3RlbmVyKCJET01Ob2RlSW5zZXJ0ZWQiLGZ1bmN0aW9uKCl7ZC5zZXRXcmFwcGVySGVpZ2h0KHQpfSwhMSksdC5hZGRFdmVudExpc3RlbmVyKCJET01Ob2RlUmVtb3ZlZCIsZnVuY3Rpb24oKXtkLnNldFdyYXBwZXJIZWlnaHQodCl9LCExKSk6d2luZG93LmF0dGFjaEV2ZW50JiYodC5hdHRhY2hFdmVudCgib25ET01Ob2RlSW5zZXJ0ZWQiLGZ1bmN0aW9uKCl7ZC5zZXRXcmFwcGVySGVpZ2h0KHQpfSksdC5hdHRhY2hFdmVudCgib25ET01Ob2RlUmVtb3ZlZCIsZnVuY3Rpb24oKXtkLnNldFdyYXBwZXJIZWlnaHQodCl9KSl9LHVwZGF0ZTphLHVuc3RpY2s6ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLG49dChlKSxyPS0xLHM9by5sZW5ndGg7cy0tID4wOylvW3NdLnN0aWNreUVsZW1lbnQuZ2V0KDApPT09ZSYmKGkuY2FsbChvLHMsMSkscj1zKTstMSE9PXImJihuLnVud3JhcCgpLG4uY3NzKHt3aWR0aDoiIixwb3NpdGlvbjoiIix0b3A6IiIsZmxvYXQ6IiIsInotaW5kZXgiOiIifSkpfSl9fTt3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcj8od2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInNjcm9sbCIsYSwhMSksd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIscCwhMSkpOndpbmRvdy5hdHRhY2hFdmVudCYmKHdpbmRvdy5hdHRhY2hFdmVudCgib25zY3JvbGwiLGEpLHdpbmRvdy5hdHRhY2hFdmVudCgib25yZXNpemUiLHApKSx0LmZuLnN0aWNreT1mdW5jdGlvbihpKXtyZXR1cm4gZFtpXT9kW2ldLmFwcGx5KHRoaXMsZS5jYWxsKGFyZ3VtZW50cywxKSk6Im9iamVjdCIhPXR5cGVvZiBpJiZpP3ZvaWQgdC5lcnJvcigiTWV0aG9kICIraSsiIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS5zdGlja3kiKTpkLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx0LmZuLnVuc3RpY2s9ZnVuY3Rpb24oaSl7cmV0dXJuIGRbaV0/ZFtpXS5hcHBseSh0aGlzLGUuY2FsbChhcmd1bWVudHMsMSkpOiJvYmplY3QiIT10eXBlb2YgaSYmaT92b2lkIHQuZXJyb3IoIk1ldGhvZCAiK2krIiBkb2VzIG5vdCBleGlzdCBvbiBqUXVlcnkuc3RpY2t5Iik6ZC51bnN0aWNrLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sdChmdW5jdGlvbigpe3NldFRpbWVvdXQoYSwwKX0pfSk7DQoNCi8qDQogKiAgTWVudXpvcmQgLSBSZXNwb25zaXZlIE1lZ2FtZW51DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCiFmdW5jdGlvbihlKXtqUXVlcnkuZm4ubWVudXpvcmQ9ZnVuY3Rpb24obil7ZnVuY3Rpb24gaShuKXsiZmFkZSI9PXAuZWZmZWN0P2UobikuY2hpbGRyZW4oIi5kcm9wZG93biwgLm1lZ2FtZW51Iikuc3RvcCghMCwhMCkuZGVsYXkocC5zaG93RGVsYXkpLmZhZGVJbihwLnNob3dTcGVlZCkuYWRkQ2xhc3MocC5hbmltYXRpb24pOmUobikuY2hpbGRyZW4oIi5kcm9wZG93biwgLm1lZ2FtZW51Iikuc3RvcCghMCwhMCkuZGVsYXkocC5zaG93RGVsYXkpLnNsaWRlRG93bihwLnNob3dTcGVlZCkuYWRkQ2xhc3MocC5hbmltYXRpb24pfWZ1bmN0aW9uIGQobil7ImZhZGUiPT1wLmVmZmVjdD9lKG4pLmNoaWxkcmVuKCIuZHJvcGRvd24sIC5tZWdhbWVudSIpLnN0b3AoITAsITApLmRlbGF5KHAuaGlkZURlbGF5KS5mYWRlT3V0KHAuaGlkZVNwZWVkKS5yZW1vdmVDbGFzcyhwLmFuaW1hdGlvbik6ZShuKS5jaGlsZHJlbigiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5zdG9wKCEwLCEwKS5kZWxheShwLmhpZGVEZWxheSkuc2xpZGVVcChwLmhpZGVTcGVlZCkucmVtb3ZlQ2xhc3MocC5hbmltYXRpb24pLGUobikuY2hpbGRyZW4oIi5kcm9wZG93biwgLm1lZ2FtZW51IikuZmluZCgiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5zdG9wKCEwLCEwKS5kZWxheShwLmhpZGVEZWxheSkuZmFkZU91dChwLmhpZGVTcGVlZCl9ZnVuY3Rpb24gbygpe2UoZykuZmluZCgiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5oaWRlKDApLG5hdmlnYXRvci51c2VyQWdlbnQubWF0Y2goL01vYmkvaSl8fHdpbmRvdy5uYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50cz4wfHwiY2xpY2siPT1wLnRyaWdnZXI/KGUoIi5tZW51em9yZC1tZW51ID4gbGkgPiBhLCAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSBhIikuYmluZCgiY2xpY2sgdG91Y2hzdGFydCIsZnVuY3Rpb24obil7cmV0dXJuIG4uc3RvcFByb3BhZ2F0aW9uKCksbi5wcmV2ZW50RGVmYXVsdCgpLGUodGhpcykucGFyZW50KCJsaSIpLnNpYmxpbmdzKCJsaSIpLmZpbmQoIi5kcm9wZG93biwgLm1lZ2FtZW51Iikuc3RvcCghMCwhMCkuZmFkZU91dCgzMDApLCJub25lIj09ZSh0aGlzKS5zaWJsaW5ncygiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5jc3MoImRpc3BsYXkiKT8oaShlKHRoaXMpLnBhcmVudCgibGkiKSksITEpOihkKGUodGhpcykucGFyZW50KCJsaSIpKSx2b2lkKHdpbmRvdy5sb2NhdGlvbi5ocmVmPWUodGhpcykuYXR0cigiaHJlZiIpKSl9KSxlKGRvY3VtZW50KS5iaW5kKCJjbGljay5tZW51IHRvdWNoc3RhcnQubWVudSIsZnVuY3Rpb24obil7MD09ZShuLnRhcmdldCkuY2xvc2VzdCgiLm1lbnV6b3JkIikubGVuZ3RoJiZlKCIubWVudXpvcmQtbWVudSIpLmZpbmQoIi5kcm9wZG93biwgLm1lZ2FtZW51IikuZmFkZU91dCgzMDApfSkpOmUodykuYmluZCgibW91c2VlbnRlciIsZnVuY3Rpb24oKXtpKHRoaXMpfSkuYmluZCgibW91c2VsZWF2ZSIsZnVuY3Rpb24oKXtkKHRoaXMpfSl9ZnVuY3Rpb24gdCgpe2UoZykuZmluZCgiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5oaWRlKDApLGUoZykuZmluZCgiLmluZGljYXRvciIpLmVhY2goZnVuY3Rpb24oKXtlKHRoaXMpLnBhcmVudCgiYSIpLnNpYmxpbmdzKCIuZHJvcGRvd24sIC5tZWdhbWVudSIpLmxlbmd0aD4wJiZlKHRoaXMpLmJpbmQoImNsaWNrIixmdW5jdGlvbihuKXtlKGcpLnNjcm9sbFRvKHt0b3A6NDUsbGVmdDowfSw2MDApLCJBIj09ZSh0aGlzKS5wYXJlbnQoKS5wcm9wKCJ0YWdOYW1lIikmJm4ucHJldmVudERlZmF1bHQoKSwibm9uZSI9PWUodGhpcykucGFyZW50KCJhIikuc2libGluZ3MoIi5kcm9wZG93biwgLm1lZ2FtZW51IikuY3NzKCJkaXNwbGF5Iik/KGUodGhpcykucGFyZW50KCJhIikuc2libGluZ3MoIi5kcm9wZG93biwgLm1lZ2FtZW51IikuZGVsYXkocC5zaG93RGVsYXkpLnNsaWRlRG93bihwLnNob3dTcGVlZCksZSh0aGlzKS5wYXJlbnQoImEiKS5wYXJlbnQoImxpIikuc2libGluZ3MoImxpIikuZmluZCgiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5zbGlkZVVwKHAuaGlkZVNwZWVkKSk6ZSh0aGlzKS5wYXJlbnQoImEiKS5zaWJsaW5ncygiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5zbGlkZVVwKHAuaGlkZVNwZWVkKX0pfSl9ZnVuY3Rpb24gYSgpe3ZhciBuPWUoZykuY2hpbGRyZW4oImxpIikuY2hpbGRyZW4oIi5kcm9wZG93biwgLm1lZ2FtZW51Iik7aWYoZSh3aW5kb3cpLmlubmVyV2lkdGgoKT52KWZvcih2YXIgaT1lKGYpLm91dGVyV2lkdGgoITApLGQ9MDtkPG4ubGVuZ3RoO2QrKyllKG5bZF0pLnBhcmVudCgibGkiKS5wb3NpdGlvbigpLmxlZnQrZShuW2RdKS5vdXRlcldpZHRoKCk+aT9lKG5bZF0pLmNzcygicmlnaHQiLDApOigoaT09ZShuW2RdKS5vdXRlcldpZHRoKCl8fGktZShuW2RdKS5vdXRlcldpZHRoKCk8MjApJiZlKG5bZF0pLmNzcygibGVmdCIsMCksZShuW2RdKS5wYXJlbnQoImxpIikucG9zaXRpb24oKS5sZWZ0K2UobltkXSkub3V0ZXJXaWR0aCgpPGkmJmUobltkXSkuY3NzKCJyaWdodCIsImF1dG8iKSl9ZnVuY3Rpb24gcygpe2UoZykuaGlkZSgwKSxlKG0pLnNob3coMCkuY2xpY2soZnVuY3Rpb24oKXsibm9uZSI9PWUoZykuY3NzKCJkaXNwbGF5Iik/ZShnKS5zbGlkZURvd24ocC5zaG93U3BlZWQpOmUoZykuc2xpZGVVcChwLmhpZGVTcGVlZCkuZmluZCgiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5oaWRlKHAuaGlkZVNwZWVkKX0pfWZ1bmN0aW9uIHIoKXtlKGcpLnNob3coMCksZShtKS5oaWRlKDApfWZ1bmN0aW9uIGwoKXtlKGYpLmZpbmQoImxpLCBhIikudW5iaW5kKCksZShkb2N1bWVudCkudW5iaW5kKCJjbGljay5tZW51IHRvdWNoc3RhcnQubWVudSIpfWZ1bmN0aW9uIGgoKXtmdW5jdGlvbiBuKG4pe3ZhciBpPWUobikuZmluZCgiLm1lbnV6b3JkLXRhYnMtbmF2ID4gbGkiKSxkPWUobikuZmluZCgiLm1lbnV6b3JkLXRhYnMtY29udGVudCIpO2UoaSkuYmluZCgiY2xpY2sgdG91Y2hzdGFydCIsZnVuY3Rpb24obil7bi5zdG9wUHJvcGFnYXRpb24oKSxuLnByZXZlbnREZWZhdWx0KCksZShpKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksZSh0aGlzKS5hZGRDbGFzcygiYWN0aXZlIiksZShkKS5oaWRlKDApLGUoZFtlKHRoaXMpLmluZGV4KCldKS5zaG93KDApfSl9aWYoZShnKS5maW5kKCIubWVudXpvcmQtdGFicyIpLmxlbmd0aD4wKWZvcih2YXIgaT1lKGcpLmZpbmQoIi5tZW51em9yZC10YWJzIiksZD0wO2Q8aS5sZW5ndGg7ZCsrKW4oaVtkXSl9ZnVuY3Rpb24gYygpe3JldHVybiB3aW5kb3cuaW5uZXJXaWR0aHx8ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRofHxkb2N1bWVudC5ib2R5LmNsaWVudFdpZHRofWZ1bmN0aW9uIHUoKXtpZihhKCksYygpPD12JiZiPnYmJihsKCkscC5yZXNwb25zaXZlPyhzKCksdCgpKTpvKCkpLGMoKT52JiZ2Pj15JiYobCgpLHIoKSxvKCkpLGI9YygpLHk9YygpLGgoKSwvTVNJRSAoXGQrXC5cZCspOy8udGVzdChuYXZpZ2F0b3IudXNlckFnZW50KSYmYygpPHYpe3ZhciBuPW5ldyBOdW1iZXIoUmVnRXhwLiQxKTs4PT1uJiYoZShtKS5oaWRlKDApLGUoZykuc2hvdygwKSxsKCksbygpKX19dmFyIHA7ZS5leHRlbmQocD17c2hvd1NwZWVkOjMwMCxoaWRlU3BlZWQ6MzAwLHRyaWdnZXI6ImhvdmVyIixzaG93RGVsYXk6MCxoaWRlRGVsYXk6MCxlZmZlY3Q6ImZhZGUiLGFsaWduOiJsZWZ0IixyZXNwb25zaXZlOiEwLGFuaW1hdGlvbjoibm9uZSIsaW5kZW50Q2hpbGRyZW46ITAsaW5kaWNhdG9yRmlyc3RMZXZlbDoiKyIsaW5kaWNhdG9yU2Vjb25kTGV2ZWw6IisiLHNjcm9sbGFibGU6ITAsc2Nyb2xsYWJsZU1heEhlaWdodDo0MDB9LG4pO3ZhciBtLGY9ZSh0aGlzKSxnPWUoZikuY2hpbGRyZW4oIi5tZW51em9yZC1tZW51Iiksdz1lKGcpLmZpbmQoImxpIiksdj0xMDAwLGI9MmUzLHk9MjAwO2UoZykuY2hpbGRyZW4oImxpIikuY2hpbGRyZW4oImEiKS5lYWNoKGZ1bmN0aW9uKCl7ZSh0aGlzKS5zaWJsaW5ncygiLmRyb3Bkb3duLCAubWVnYW1lbnUiKS5sZW5ndGg+MCYmZSh0aGlzKS5hcHBlbmQoIjxzcGFuIGNsYXNzPSdpbmRpY2F0b3InPiIrcC5pbmRpY2F0b3JGaXJzdExldmVsKyI8L3NwYW4+Iil9KSxlKGcpLmZpbmQoIi5kcm9wZG93biIpLmNoaWxkcmVuKCJsaSIpLmNoaWxkcmVuKCJhIikuZWFjaChmdW5jdGlvbigpe2UodGhpcykuc2libGluZ3MoIi5kcm9wZG93biIpLmxlbmd0aD4wJiZlKHRoaXMpLmFwcGVuZCgiPHNwYW4gY2xhc3M9J2luZGljYXRvcic+IitwLmluZGljYXRvclNlY29uZExldmVsKyI8L3NwYW4+Iil9KSwicmlnaHQiPT1wLmFsaWduJiZlKGcpLmFkZENsYXNzKCJtZW51em9yZC1yaWdodCIpLHAuaW5kZW50Q2hpbGRyZW4mJmUoZykuYWRkQ2xhc3MoIm1lbnV6b3JkLWluZGVudGVkIikscC5yZXNwb25zaXZlJiYoZShmKS5hZGRDbGFzcygibWVudXpvcmQtcmVzcG9uc2l2ZSIpLnByZXBlbmQoIjxhIGhyZWY9J2phdmFzY3JpcHQ6dm9pZCgwKScgY2xhc3M9J3Nob3doaWRlJz48ZW0+PC9lbT48ZW0+PC9lbT48ZW0+PC9lbT48L2E+IiksbT1lKGYpLmNoaWxkcmVuKCIuc2hvd2hpZGUiKSkscC5zY3JvbGxhYmxlJiZwLnJlc3BvbnNpdmUmJmUoZykuY3NzKCJtYXgtaGVpZ2h0IixwLnNjcm9sbGFibGVNYXhIZWlnaHQpLmFkZENsYXNzKCJzY3JvbGxhYmxlIikuYXBwZW5kKCI8bGkgY2xhc3M9J3Njcm9sbGFibGUtZml4Jz48L2xpPiIpLHUoKSxlKHdpbmRvdykucmVzaXplKGZ1bmN0aW9uKCl7dSgpLGEoKX0pfX0oalF1ZXJ5KTsNCg0KLyohDQogKiBpbWFnZXNMb2FkZWQgUEFDS0FHRUQgdjQuMS4wDQogKiBKYXZhU2NyaXB0IGlzIGFsbCBsaWtlICJZb3UgaW1hZ2VzIGFyZSBkb25lIHlldCBvciB3aGF0PyINCiAqIE1JVCBMaWNlbnNlDQogKi8NCiFmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJldi1lbWl0dGVyL2V2LWVtaXR0ZXIiLGUpOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKCk6dC5FdkVtaXR0ZXI9ZSgpfSh0aGlzLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe312YXIgZT10LnByb3RvdHlwZTtyZXR1cm4gZS5vbj1mdW5jdGlvbih0LGUpe2lmKHQmJmUpe3ZhciBpPXRoaXMuX2V2ZW50cz10aGlzLl9ldmVudHN8fHt9LG49aVt0XT1pW3RdfHxbXTtyZXR1cm4tMT09bi5pbmRleE9mKGUpJiZuLnB1c2goZSksdGhpc319LGUub25jZT1mdW5jdGlvbih0LGUpe2lmKHQmJmUpe3RoaXMub24odCxlKTt2YXIgaT10aGlzLl9vbmNlRXZlbnRzPXRoaXMuX29uY2VFdmVudHN8fHt9LG49aVt0XT1pW3RdfHxbXTtyZXR1cm4gbltlXT0hMCx0aGlzfX0sZS5vZmY9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLl9ldmVudHMmJnRoaXMuX2V2ZW50c1t0XTtpZihpJiZpLmxlbmd0aCl7dmFyIG49aS5pbmRleE9mKGUpO3JldHVybi0xIT1uJiZpLnNwbGljZShuLDEpLHRoaXN9fSxlLmVtaXRFdmVudD1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuX2V2ZW50cyYmdGhpcy5fZXZlbnRzW3RdO2lmKGkmJmkubGVuZ3RoKXt2YXIgbj0wLG89aVtuXTtlPWV8fFtdO2Zvcih2YXIgcj10aGlzLl9vbmNlRXZlbnRzJiZ0aGlzLl9vbmNlRXZlbnRzW3RdO287KXt2YXIgcz1yJiZyW29dO3MmJih0aGlzLm9mZih0LG8pLGRlbGV0ZSByW29dKSxvLmFwcGx5KHRoaXMsZSksbis9cz8wOjEsbz1pW25dfXJldHVybiB0aGlzfX0sdH0pLGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiOyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsiZXYtZW1pdHRlci9ldi1lbWl0dGVyIl0sZnVuY3Rpb24oaSl7cmV0dXJuIGUodCxpKX0pOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKHQscmVxdWlyZSgiZXYtZW1pdHRlciIpKTp0LmltYWdlc0xvYWRlZD1lKHQsdC5FdkVtaXR0ZXIpfSh3aW5kb3csZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBpKHQsZSl7Zm9yKHZhciBpIGluIGUpdFtpXT1lW2ldO3JldHVybiB0fWZ1bmN0aW9uIG4odCl7dmFyIGU9W107aWYoQXJyYXkuaXNBcnJheSh0KSllPXQ7ZWxzZSBpZigibnVtYmVyIj09dHlwZW9mIHQubGVuZ3RoKWZvcih2YXIgaT0wO2k8dC5sZW5ndGg7aSsrKWUucHVzaCh0W2ldKTtlbHNlIGUucHVzaCh0KTtyZXR1cm4gZX1mdW5jdGlvbiBvKHQsZSxyKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIG8/KCJzdHJpbmciPT10eXBlb2YgdCYmKHQ9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCh0KSksdGhpcy5lbGVtZW50cz1uKHQpLHRoaXMub3B0aW9ucz1pKHt9LHRoaXMub3B0aW9ucyksImZ1bmN0aW9uIj09dHlwZW9mIGU/cj1lOmkodGhpcy5vcHRpb25zLGUpLHImJnRoaXMub24oImFsd2F5cyIsciksdGhpcy5nZXRJbWFnZXMoKSxoJiYodGhpcy5qcURlZmVycmVkPW5ldyBoLkRlZmVycmVkKSx2b2lkIHNldFRpbWVvdXQoZnVuY3Rpb24oKXt0aGlzLmNoZWNrKCl9LmJpbmQodGhpcykpKTpuZXcgbyh0LGUscil9ZnVuY3Rpb24gcih0KXt0aGlzLmltZz10fWZ1bmN0aW9uIHModCxlKXt0aGlzLnVybD10LHRoaXMuZWxlbWVudD1lLHRoaXMuaW1nPW5ldyBJbWFnZX12YXIgaD10LmpRdWVyeSxhPXQuY29uc29sZTtvLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUucHJvdG90eXBlKSxvLnByb3RvdHlwZS5vcHRpb25zPXt9LG8ucHJvdG90eXBlLmdldEltYWdlcz1mdW5jdGlvbigpe3RoaXMuaW1hZ2VzPVtdLHRoaXMuZWxlbWVudHMuZm9yRWFjaCh0aGlzLmFkZEVsZW1lbnRJbWFnZXMsdGhpcyl9LG8ucHJvdG90eXBlLmFkZEVsZW1lbnRJbWFnZXM9ZnVuY3Rpb24odCl7IklNRyI9PXQubm9kZU5hbWUmJnRoaXMuYWRkSW1hZ2UodCksdGhpcy5vcHRpb25zLmJhY2tncm91bmQ9PT0hMCYmdGhpcy5hZGRFbGVtZW50QmFja2dyb3VuZEltYWdlcyh0KTt2YXIgZT10Lm5vZGVUeXBlO2lmKGUmJmRbZV0pe2Zvcih2YXIgaT10LnF1ZXJ5U2VsZWN0b3JBbGwoImltZyIpLG49MDtuPGkubGVuZ3RoO24rKyl7dmFyIG89aVtuXTt0aGlzLmFkZEltYWdlKG8pfWlmKCJzdHJpbmciPT10eXBlb2YgdGhpcy5vcHRpb25zLmJhY2tncm91bmQpe3ZhciByPXQucXVlcnlTZWxlY3RvckFsbCh0aGlzLm9wdGlvbnMuYmFja2dyb3VuZCk7Zm9yKG49MDtuPHIubGVuZ3RoO24rKyl7dmFyIHM9cltuXTt0aGlzLmFkZEVsZW1lbnRCYWNrZ3JvdW5kSW1hZ2VzKHMpfX19fTt2YXIgZD17MTohMCw5OiEwLDExOiEwfTtyZXR1cm4gby5wcm90b3R5cGUuYWRkRWxlbWVudEJhY2tncm91bmRJbWFnZXM9ZnVuY3Rpb24odCl7dmFyIGU9Z2V0Q29tcHV0ZWRTdHlsZSh0KTtpZihlKWZvcih2YXIgaT0vdXJsXCgoWyciXSk/KC4qPylcMVwpL2dpLG49aS5leGVjKGUuYmFja2dyb3VuZEltYWdlKTtudWxsIT09bjspe3ZhciBvPW4mJm5bMl07byYmdGhpcy5hZGRCYWNrZ3JvdW5kKG8sdCksbj1pLmV4ZWMoZS5iYWNrZ3JvdW5kSW1hZ2UpfX0sby5wcm90b3R5cGUuYWRkSW1hZ2U9ZnVuY3Rpb24odCl7dmFyIGU9bmV3IHIodCk7dGhpcy5pbWFnZXMucHVzaChlKX0sby5wcm90b3R5cGUuYWRkQmFja2dyb3VuZD1mdW5jdGlvbih0LGUpe3ZhciBpPW5ldyBzKHQsZSk7dGhpcy5pbWFnZXMucHVzaChpKX0sby5wcm90b3R5cGUuY2hlY2s9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsaSxuKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZS5wcm9ncmVzcyh0LGksbil9KX12YXIgZT10aGlzO3JldHVybiB0aGlzLnByb2dyZXNzZWRDb3VudD0wLHRoaXMuaGFzQW55QnJva2VuPSExLHRoaXMuaW1hZ2VzLmxlbmd0aD92b2lkIHRoaXMuaW1hZ2VzLmZvckVhY2goZnVuY3Rpb24oZSl7ZS5vbmNlKCJwcm9ncmVzcyIsdCksZS5jaGVjaygpfSk6dm9pZCB0aGlzLmNvbXBsZXRlKCl9LG8ucHJvdG90eXBlLnByb2dyZXNzPWZ1bmN0aW9uKHQsZSxpKXt0aGlzLnByb2dyZXNzZWRDb3VudCsrLHRoaXMuaGFzQW55QnJva2VuPXRoaXMuaGFzQW55QnJva2VufHwhdC5pc0xvYWRlZCx0aGlzLmVtaXRFdmVudCgicHJvZ3Jlc3MiLFt0aGlzLHQsZV0pLHRoaXMuanFEZWZlcnJlZCYmdGhpcy5qcURlZmVycmVkLm5vdGlmeSYmdGhpcy5qcURlZmVycmVkLm5vdGlmeSh0aGlzLHQpLHRoaXMucHJvZ3Jlc3NlZENvdW50PT10aGlzLmltYWdlcy5sZW5ndGgmJnRoaXMuY29tcGxldGUoKSx0aGlzLm9wdGlvbnMuZGVidWcmJmEmJmEubG9nKCJwcm9ncmVzczogIitpLHQsZSl9LG8ucHJvdG90eXBlLmNvbXBsZXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5oYXNBbnlCcm9rZW4/ImZhaWwiOiJkb25lIjtpZih0aGlzLmlzQ29tcGxldGU9ITAsdGhpcy5lbWl0RXZlbnQodCxbdGhpc10pLHRoaXMuZW1pdEV2ZW50KCJhbHdheXMiLFt0aGlzXSksdGhpcy5qcURlZmVycmVkKXt2YXIgZT10aGlzLmhhc0FueUJyb2tlbj8icmVqZWN0IjoicmVzb2x2ZSI7dGhpcy5qcURlZmVycmVkW2VdKHRoaXMpfX0sci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlLnByb3RvdHlwZSksci5wcm90b3R5cGUuY2hlY2s9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmdldElzSW1hZ2VDb21wbGV0ZSgpO3JldHVybiB0P3ZvaWQgdGhpcy5jb25maXJtKDAhPT10aGlzLmltZy5uYXR1cmFsV2lkdGgsIm5hdHVyYWxXaWR0aCIpOih0aGlzLnByb3h5SW1hZ2U9bmV3IEltYWdlLHRoaXMucHJveHlJbWFnZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIix0aGlzKSx0aGlzLnByb3h5SW1hZ2UuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMpLHRoaXMuaW1nLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLHRoaXMpLHRoaXMuaW1nLmFkZEV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzKSx2b2lkKHRoaXMucHJveHlJbWFnZS5zcmM9dGhpcy5pbWcuc3JjKSl9LHIucHJvdG90eXBlLmdldElzSW1hZ2VDb21wbGV0ZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmltZy5jb21wbGV0ZSYmdm9pZCAwIT09dGhpcy5pbWcubmF0dXJhbFdpZHRofSxyLnByb3RvdHlwZS5jb25maXJtPWZ1bmN0aW9uKHQsZSl7dGhpcy5pc0xvYWRlZD10LHRoaXMuZW1pdEV2ZW50KCJwcm9ncmVzcyIsW3RoaXMsdGhpcy5pbWcsZV0pfSxyLnByb3RvdHlwZS5oYW5kbGVFdmVudD1mdW5jdGlvbih0KXt2YXIgZT0ib24iK3QudHlwZTt0aGlzW2VdJiZ0aGlzW2VdKHQpfSxyLnByb3RvdHlwZS5vbmxvYWQ9ZnVuY3Rpb24oKXt0aGlzLmNvbmZpcm0oITAsIm9ubG9hZCIpLHRoaXMudW5iaW5kRXZlbnRzKCl9LHIucHJvdG90eXBlLm9uZXJyb3I9ZnVuY3Rpb24oKXt0aGlzLmNvbmZpcm0oITEsIm9uZXJyb3IiKSx0aGlzLnVuYmluZEV2ZW50cygpfSxyLnByb3RvdHlwZS51bmJpbmRFdmVudHM9ZnVuY3Rpb24oKXt0aGlzLnByb3h5SW1hZ2UucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsdGhpcyksdGhpcy5wcm94eUltYWdlLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzKSx0aGlzLmltZy5yZW1vdmVFdmVudExpc3RlbmVyKCJsb2FkIix0aGlzKSx0aGlzLmltZy5yZW1vdmVFdmVudExpc3RlbmVyKCJlcnJvciIsdGhpcyl9LHMucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoci5wcm90b3R5cGUpLHMucHJvdG90eXBlLmNoZWNrPWZ1bmN0aW9uKCl7dGhpcy5pbWcuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsdGhpcyksdGhpcy5pbWcuYWRkRXZlbnRMaXN0ZW5lcigiZXJyb3IiLHRoaXMpLHRoaXMuaW1nLnNyYz10aGlzLnVybDt2YXIgdD10aGlzLmdldElzSW1hZ2VDb21wbGV0ZSgpO3QmJih0aGlzLmNvbmZpcm0oMCE9PXRoaXMuaW1nLm5hdHVyYWxXaWR0aCwibmF0dXJhbFdpZHRoIiksdGhpcy51bmJpbmRFdmVudHMoKSl9LHMucHJvdG90eXBlLnVuYmluZEV2ZW50cz1mdW5jdGlvbigpe3RoaXMuaW1nLnJlbW92ZUV2ZW50TGlzdGVuZXIoImxvYWQiLHRoaXMpLHRoaXMuaW1nLnJlbW92ZUV2ZW50TGlzdGVuZXIoImVycm9yIix0aGlzKX0scy5wcm90b3R5cGUuY29uZmlybT1mdW5jdGlvbih0LGUpe3RoaXMuaXNMb2FkZWQ9dCx0aGlzLmVtaXRFdmVudCgicHJvZ3Jlc3MiLFt0aGlzLHRoaXMuZWxlbWVudCxlXSl9LG8ubWFrZUpRdWVyeVBsdWdpbj1mdW5jdGlvbihlKXtlPWV8fHQualF1ZXJ5LGUmJihoPWUsaC5mbi5pbWFnZXNMb2FkZWQ9ZnVuY3Rpb24odCxlKXt2YXIgaT1uZXcgbyh0aGlzLHQsZSk7cmV0dXJuIGkuanFEZWZlcnJlZC5wcm9taXNlKGgodGhpcykpfSl9LG8ubWFrZUpRdWVyeVBsdWdpbigpLG99KTsNCg0KLyoNCiAqICBqUXVlcnkgSXNvdG9wZQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiENCiAqIElzb3RvcGUgUEFDS0FHRUQgdjMuMC40DQogKg0KICogTGljZW5zZWQgR1BMdjMgZm9yIG9wZW4gc291cmNlIHVzZQ0KICogb3IgSXNvdG9wZSBDb21tZXJjaWFsIExpY2Vuc2UgZm9yIGNvbW1lcmNpYWwgdXNlDQogKg0KICogaHR0cDovL2lzb3RvcGUubWV0YWZpenp5LmNvDQogKiBDb3B5cmlnaHQgMjAxNyBNZXRhZml6enkNCiAqLw0KDQohZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgianF1ZXJ5LWJyaWRnZXQvanF1ZXJ5LWJyaWRnZXQiLFsianF1ZXJ5Il0sZnVuY3Rpb24oaSl7cmV0dXJuIGUodCxpKX0pOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKHQscmVxdWlyZSgianF1ZXJ5IikpOnQualF1ZXJ5QnJpZGdldD1lKHQsdC5qUXVlcnkpfSh3aW5kb3csZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gaShpLHMsYSl7ZnVuY3Rpb24gdSh0LGUsbyl7dmFyIG4scz0iJCgpLiIraSsnKCInK2UrJyIpJztyZXR1cm4gdC5lYWNoKGZ1bmN0aW9uKHQsdSl7dmFyIGg9YS5kYXRhKHUsaSk7aWYoIWgpcmV0dXJuIHZvaWQgcihpKyIgbm90IGluaXRpYWxpemVkLiBDYW5ub3QgY2FsbCBtZXRob2RzLCBpLmUuICIrcyk7dmFyIGQ9aFtlXTtpZighZHx8Il8iPT1lLmNoYXJBdCgwKSlyZXR1cm4gdm9pZCByKHMrIiBpcyBub3QgYSB2YWxpZCBtZXRob2QiKTt2YXIgbD1kLmFwcGx5KGgsbyk7bj12b2lkIDA9PT1uP2w6bn0pLHZvaWQgMCE9PW4/bjp0fWZ1bmN0aW9uIGgodCxlKXt0LmVhY2goZnVuY3Rpb24odCxvKXt2YXIgbj1hLmRhdGEobyxpKTtuPyhuLm9wdGlvbihlKSxuLl9pbml0KCkpOihuPW5ldyBzKG8sZSksYS5kYXRhKG8saSxuKSl9KX1hPWF8fGV8fHQualF1ZXJ5LGEmJihzLnByb3RvdHlwZS5vcHRpb258fChzLnByb3RvdHlwZS5vcHRpb249ZnVuY3Rpb24odCl7YS5pc1BsYWluT2JqZWN0KHQpJiYodGhpcy5vcHRpb25zPWEuZXh0ZW5kKCEwLHRoaXMub3B0aW9ucyx0KSl9KSxhLmZuW2ldPWZ1bmN0aW9uKHQpe2lmKCJzdHJpbmciPT10eXBlb2YgdCl7dmFyIGU9bi5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gdSh0aGlzLHQsZSl9cmV0dXJuIGgodGhpcyx0KSx0aGlzfSxvKGEpKX1mdW5jdGlvbiBvKHQpeyF0fHx0JiZ0LmJyaWRnZXR8fCh0LmJyaWRnZXQ9aSl9dmFyIG49QXJyYXkucHJvdG90eXBlLnNsaWNlLHM9dC5jb25zb2xlLHI9InVuZGVmaW5lZCI9PXR5cGVvZiBzP2Z1bmN0aW9uKCl7fTpmdW5jdGlvbih0KXtzLmVycm9yKHQpfTtyZXR1cm4gbyhlfHx0LmpRdWVyeSksaX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImV2LWVtaXR0ZXIvZXYtZW1pdHRlciIsZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUoKTp0LkV2RW1pdHRlcj1lKCl9KCJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzp0aGlzLGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe312YXIgZT10LnByb3RvdHlwZTtyZXR1cm4gZS5vbj1mdW5jdGlvbih0LGUpe2lmKHQmJmUpe3ZhciBpPXRoaXMuX2V2ZW50cz10aGlzLl9ldmVudHN8fHt9LG89aVt0XT1pW3RdfHxbXTtyZXR1cm4gby5pbmRleE9mKGUpPT0tMSYmby5wdXNoKGUpLHRoaXN9fSxlLm9uY2U9ZnVuY3Rpb24odCxlKXtpZih0JiZlKXt0aGlzLm9uKHQsZSk7dmFyIGk9dGhpcy5fb25jZUV2ZW50cz10aGlzLl9vbmNlRXZlbnRzfHx7fSxvPWlbdF09aVt0XXx8e307cmV0dXJuIG9bZV09ITAsdGhpc319LGUub2ZmPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5fZXZlbnRzJiZ0aGlzLl9ldmVudHNbdF07aWYoaSYmaS5sZW5ndGgpe3ZhciBvPWkuaW5kZXhPZihlKTtyZXR1cm4gbyE9LTEmJmkuc3BsaWNlKG8sMSksdGhpc319LGUuZW1pdEV2ZW50PWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5fZXZlbnRzJiZ0aGlzLl9ldmVudHNbdF07aWYoaSYmaS5sZW5ndGgpe3ZhciBvPTAsbj1pW29dO2U9ZXx8W107Zm9yKHZhciBzPXRoaXMuX29uY2VFdmVudHMmJnRoaXMuX29uY2VFdmVudHNbdF07bjspe3ZhciByPXMmJnNbbl07ciYmKHRoaXMub2ZmKHQsbiksZGVsZXRlIHNbbl0pLG4uYXBwbHkodGhpcyxlKSxvKz1yPzA6MSxuPWlbb119cmV0dXJuIHRoaXN9fSx0fSksZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImdldC1zaXplL2dldC1zaXplIixbXSxmdW5jdGlvbigpe3JldHVybiBlKCl9KToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZSgpOnQuZ2V0U2l6ZT1lKCl9KHdpbmRvdyxmdW5jdGlvbigpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KHQpe3ZhciBlPXBhcnNlRmxvYXQodCksaT10LmluZGV4T2YoIiUiKT09LTEmJiFpc05hTihlKTtyZXR1cm4gaSYmZX1mdW5jdGlvbiBlKCl7fWZ1bmN0aW9uIGkoKXtmb3IodmFyIHQ9e3dpZHRoOjAsaGVpZ2h0OjAsaW5uZXJXaWR0aDowLGlubmVySGVpZ2h0OjAsb3V0ZXJXaWR0aDowLG91dGVySGVpZ2h0OjB9LGU9MDtlPGg7ZSsrKXt2YXIgaT11W2VdO3RbaV09MH1yZXR1cm4gdH1mdW5jdGlvbiBvKHQpe3ZhciBlPWdldENvbXB1dGVkU3R5bGUodCk7cmV0dXJuIGV8fGEoIlN0eWxlIHJldHVybmVkICIrZSsiLiBBcmUgeW91IHJ1bm5pbmcgdGhpcyBjb2RlIGluIGEgaGlkZGVuIGlmcmFtZSBvbiBGaXJlZm94PyBTZWUgaHR0cDovL2JpdC5seS9nZXRzaXplYnVnMSIpLGV9ZnVuY3Rpb24gbigpe2lmKCFkKXtkPSEwO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2Uuc3R5bGUud2lkdGg9IjIwMHB4IixlLnN0eWxlLnBhZGRpbmc9IjFweCAycHggM3B4IDRweCIsZS5zdHlsZS5ib3JkZXJTdHlsZT0ic29saWQiLGUuc3R5bGUuYm9yZGVyV2lkdGg9IjFweCAycHggM3B4IDRweCIsZS5zdHlsZS5ib3hTaXppbmc9ImJvcmRlci1ib3giO3ZhciBpPWRvY3VtZW50LmJvZHl8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDtpLmFwcGVuZENoaWxkKGUpO3ZhciBuPW8oZSk7cy5pc0JveFNpemVPdXRlcj1yPTIwMD09dChuLndpZHRoKSxpLnJlbW92ZUNoaWxkKGUpfX1mdW5jdGlvbiBzKGUpe2lmKG4oKSwic3RyaW5nIj09dHlwZW9mIGUmJihlPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoZSkpLGUmJiJvYmplY3QiPT10eXBlb2YgZSYmZS5ub2RlVHlwZSl7dmFyIHM9byhlKTtpZigibm9uZSI9PXMuZGlzcGxheSlyZXR1cm4gaSgpO3ZhciBhPXt9O2Eud2lkdGg9ZS5vZmZzZXRXaWR0aCxhLmhlaWdodD1lLm9mZnNldEhlaWdodDtmb3IodmFyIGQ9YS5pc0JvcmRlckJveD0iYm9yZGVyLWJveCI9PXMuYm94U2l6aW5nLGw9MDtsPGg7bCsrKXt2YXIgZj11W2xdLGM9c1tmXSxtPXBhcnNlRmxvYXQoYyk7YVtmXT1pc05hTihtKT8wOm19dmFyIHA9YS5wYWRkaW5nTGVmdCthLnBhZGRpbmdSaWdodCx5PWEucGFkZGluZ1RvcCthLnBhZGRpbmdCb3R0b20sZz1hLm1hcmdpbkxlZnQrYS5tYXJnaW5SaWdodCx2PWEubWFyZ2luVG9wK2EubWFyZ2luQm90dG9tLF89YS5ib3JkZXJMZWZ0V2lkdGgrYS5ib3JkZXJSaWdodFdpZHRoLEk9YS5ib3JkZXJUb3BXaWR0aCthLmJvcmRlckJvdHRvbVdpZHRoLHo9ZCYmcix4PXQocy53aWR0aCk7eCE9PSExJiYoYS53aWR0aD14Kyh6PzA6cCtfKSk7dmFyIFM9dChzLmhlaWdodCk7cmV0dXJuIFMhPT0hMSYmKGEuaGVpZ2h0PVMrKHo/MDp5K0kpKSxhLmlubmVyV2lkdGg9YS53aWR0aC0ocCtfKSxhLmlubmVySGVpZ2h0PWEuaGVpZ2h0LSh5K0kpLGEub3V0ZXJXaWR0aD1hLndpZHRoK2csYS5vdXRlckhlaWdodD1hLmhlaWdodCt2LGF9fXZhciByLGE9InVuZGVmaW5lZCI9PXR5cGVvZiBjb25zb2xlP2U6ZnVuY3Rpb24odCl7Y29uc29sZS5lcnJvcih0KX0sdT1bInBhZGRpbmdMZWZ0IiwicGFkZGluZ1JpZ2h0IiwicGFkZGluZ1RvcCIsInBhZGRpbmdCb3R0b20iLCJtYXJnaW5MZWZ0IiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Ub3AiLCJtYXJnaW5Cb3R0b20iLCJib3JkZXJMZWZ0V2lkdGgiLCJib3JkZXJSaWdodFdpZHRoIiwiYm9yZGVyVG9wV2lkdGgiLCJib3JkZXJCb3R0b21XaWR0aCJdLGg9dS5sZW5ndGgsZD0hMTtyZXR1cm4gc30pLGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiOyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJkZXNhbmRyby1tYXRjaGVzLXNlbGVjdG9yL21hdGNoZXMtc2VsZWN0b3IiLGUpOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKCk6dC5tYXRjaGVzU2VsZWN0b3I9ZSgpfSh3aW5kb3csZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIHQ9ZnVuY3Rpb24oKXt2YXIgdD13aW5kb3cuRWxlbWVudC5wcm90b3R5cGU7aWYodC5tYXRjaGVzKXJldHVybiJtYXRjaGVzIjtpZih0Lm1hdGNoZXNTZWxlY3RvcilyZXR1cm4ibWF0Y2hlc1NlbGVjdG9yIjtmb3IodmFyIGU9WyJ3ZWJraXQiLCJtb3oiLCJtcyIsIm8iXSxpPTA7aTxlLmxlbmd0aDtpKyspe3ZhciBvPWVbaV0sbj1vKyJNYXRjaGVzU2VsZWN0b3IiO2lmKHRbbl0pcmV0dXJuIG59fSgpO3JldHVybiBmdW5jdGlvbihlLGkpe3JldHVybiBlW3RdKGkpfX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImZpenp5LXVpLXV0aWxzL3V0aWxzIixbImRlc2FuZHJvLW1hdGNoZXMtc2VsZWN0b3IvbWF0Y2hlcy1zZWxlY3RvciJdLGZ1bmN0aW9uKGkpe3JldHVybiBlKHQsaSl9KToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZSh0LHJlcXVpcmUoImRlc2FuZHJvLW1hdGNoZXMtc2VsZWN0b3IiKSk6dC5maXp6eVVJVXRpbHM9ZSh0LHQubWF0Y2hlc1NlbGVjdG9yKX0od2luZG93LGZ1bmN0aW9uKHQsZSl7dmFyIGk9e307aS5leHRlbmQ9ZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gZSl0W2ldPWVbaV07cmV0dXJuIHR9LGkubW9kdWxvPWZ1bmN0aW9uKHQsZSl7cmV0dXJuKHQlZStlKSVlfSxpLm1ha2VBcnJheT1mdW5jdGlvbih0KXt2YXIgZT1bXTtpZihBcnJheS5pc0FycmF5KHQpKWU9dDtlbHNlIGlmKHQmJiJvYmplY3QiPT10eXBlb2YgdCYmIm51bWJlciI9PXR5cGVvZiB0Lmxlbmd0aClmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKyllLnB1c2godFtpXSk7ZWxzZSBlLnB1c2godCk7cmV0dXJuIGV9LGkucmVtb3ZlRnJvbT1mdW5jdGlvbih0LGUpe3ZhciBpPXQuaW5kZXhPZihlKTtpIT0tMSYmdC5zcGxpY2UoaSwxKX0saS5nZXRQYXJlbnQ9ZnVuY3Rpb24odCxpKXtmb3IoO3QucGFyZW50Tm9kZSYmdCE9ZG9jdW1lbnQuYm9keTspaWYodD10LnBhcmVudE5vZGUsZSh0LGkpKXJldHVybiB0fSxpLmdldFF1ZXJ5RWxlbWVudD1mdW5jdGlvbih0KXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIHQ/ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcih0KTp0fSxpLmhhbmRsZUV2ZW50PWZ1bmN0aW9uKHQpe3ZhciBlPSJvbiIrdC50eXBlO3RoaXNbZV0mJnRoaXNbZV0odCl9LGkuZmlsdGVyRmluZEVsZW1lbnRzPWZ1bmN0aW9uKHQsbyl7dD1pLm1ha2VBcnJheSh0KTt2YXIgbj1bXTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiBIVE1MRWxlbWVudCl7aWYoIW8pcmV0dXJuIHZvaWQgbi5wdXNoKHQpO2UodCxvKSYmbi5wdXNoKHQpO2Zvcih2YXIgaT10LnF1ZXJ5U2VsZWN0b3JBbGwobykscz0wO3M8aS5sZW5ndGg7cysrKW4ucHVzaChpW3NdKX19KSxufSxpLmRlYm91bmNlTWV0aG9kPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbz10LnByb3RvdHlwZVtlXSxuPWUrIlRpbWVvdXQiO3QucHJvdG90eXBlW2VdPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpc1tuXTt0JiZjbGVhclRpbWVvdXQodCk7dmFyIGU9YXJndW1lbnRzLHM9dGhpczt0aGlzW25dPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtvLmFwcGx5KHMsZSksZGVsZXRlIHNbbl19LGl8fDEwMCl9fSxpLmRvY1JlYWR5PWZ1bmN0aW9uKHQpe3ZhciBlPWRvY3VtZW50LnJlYWR5U3RhdGU7ImNvbXBsZXRlIj09ZXx8ImludGVyYWN0aXZlIj09ZT9zZXRUaW1lb3V0KHQpOmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLHQpfSxpLnRvRGFzaGVkPWZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoLyguKShbQS1aXSkvZyxmdW5jdGlvbih0LGUsaSl7cmV0dXJuIGUrIi0iK2l9KS50b0xvd2VyQ2FzZSgpfTt2YXIgbz10LmNvbnNvbGU7cmV0dXJuIGkuaHRtbEluaXQ9ZnVuY3Rpb24oZSxuKXtpLmRvY1JlYWR5KGZ1bmN0aW9uKCl7dmFyIHM9aS50b0Rhc2hlZChuKSxyPSJkYXRhLSIrcyxhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIlsiK3IrIl0iKSx1PWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoIi5qcy0iK3MpLGg9aS5tYWtlQXJyYXkoYSkuY29uY2F0KGkubWFrZUFycmF5KHUpKSxkPXIrIi1vcHRpb25zIixsPXQualF1ZXJ5O2guZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgaSxzPXQuZ2V0QXR0cmlidXRlKHIpfHx0LmdldEF0dHJpYnV0ZShkKTt0cnl7aT1zJiZKU09OLnBhcnNlKHMpfWNhdGNoKGEpe3JldHVybiB2b2lkKG8mJm8uZXJyb3IoIkVycm9yIHBhcnNpbmcgIityKyIgb24gIit0LmNsYXNzTmFtZSsiOiAiK2EpKX12YXIgdT1uZXcgZSh0LGkpO2wmJmwuZGF0YSh0LG4sdSl9KX0pfSxpfSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgib3V0bGF5ZXIvaXRlbSIsWyJldi1lbWl0dGVyL2V2LWVtaXR0ZXIiLCJnZXQtc2l6ZS9nZXQtc2l6ZSJdLGUpOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKHJlcXVpcmUoImV2LWVtaXR0ZXIiKSxyZXF1aXJlKCJnZXQtc2l6ZSIpKToodC5PdXRsYXllcj17fSx0Lk91dGxheWVyLkl0ZW09ZSh0LkV2RW1pdHRlcix0LmdldFNpemUpKX0od2luZG93LGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIGkodCl7Zm9yKHZhciBlIGluIHQpcmV0dXJuITE7cmV0dXJuIGU9bnVsbCwhMH1mdW5jdGlvbiBvKHQsZSl7dCYmKHRoaXMuZWxlbWVudD10LHRoaXMubGF5b3V0PWUsdGhpcy5wb3NpdGlvbj17eDowLHk6MH0sdGhpcy5fY3JlYXRlKCkpfWZ1bmN0aW9uIG4odCl7cmV0dXJuIHQucmVwbGFjZSgvKFtBLVpdKS9nLGZ1bmN0aW9uKHQpe3JldHVybiItIit0LnRvTG93ZXJDYXNlKCl9KX12YXIgcz1kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUscj0ic3RyaW5nIj09dHlwZW9mIHMudHJhbnNpdGlvbj8idHJhbnNpdGlvbiI6IldlYmtpdFRyYW5zaXRpb24iLGE9InN0cmluZyI9PXR5cGVvZiBzLnRyYW5zZm9ybT8idHJhbnNmb3JtIjoiV2Via2l0VHJhbnNmb3JtIix1PXtXZWJraXRUcmFuc2l0aW9uOiJ3ZWJraXRUcmFuc2l0aW9uRW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn1bcl0saD17dHJhbnNmb3JtOmEsdHJhbnNpdGlvbjpyLHRyYW5zaXRpb25EdXJhdGlvbjpyKyJEdXJhdGlvbiIsdHJhbnNpdGlvblByb3BlcnR5OnIrIlByb3BlcnR5Iix0cmFuc2l0aW9uRGVsYXk6cisiRGVsYXkifSxkPW8ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUpO2QuY29uc3RydWN0b3I9byxkLl9jcmVhdGU9ZnVuY3Rpb24oKXt0aGlzLl90cmFuc249e2luZ1Byb3BlcnRpZXM6e30sY2xlYW46e30sb25FbmQ6e319LHRoaXMuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUifSl9LGQuaGFuZGxlRXZlbnQ9ZnVuY3Rpb24odCl7dmFyIGU9Im9uIit0LnR5cGU7dGhpc1tlXSYmdGhpc1tlXSh0KX0sZC5nZXRTaXplPWZ1bmN0aW9uKCl7dGhpcy5zaXplPWUodGhpcy5lbGVtZW50KX0sZC5jc3M9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5lbGVtZW50LnN0eWxlO2Zvcih2YXIgaSBpbiB0KXt2YXIgbz1oW2ldfHxpO2Vbb109dFtpXX19LGQuZ2V0UG9zaXRpb249ZnVuY3Rpb24oKXt2YXIgdD1nZXRDb21wdXRlZFN0eWxlKHRoaXMuZWxlbWVudCksZT10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJvcmlnaW5MZWZ0IiksaT10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJvcmlnaW5Ub3AiKSxvPXRbZT8ibGVmdCI6InJpZ2h0Il0sbj10W2k/InRvcCI6ImJvdHRvbSJdLHM9dGhpcy5sYXlvdXQuc2l6ZSxyPW8uaW5kZXhPZigiJSIpIT0tMT9wYXJzZUZsb2F0KG8pLzEwMCpzLndpZHRoOnBhcnNlSW50KG8sMTApLGE9bi5pbmRleE9mKCIlIikhPS0xP3BhcnNlRmxvYXQobikvMTAwKnMuaGVpZ2h0OnBhcnNlSW50KG4sMTApO3I9aXNOYU4ocik/MDpyLGE9aXNOYU4oYSk/MDphLHItPWU/cy5wYWRkaW5nTGVmdDpzLnBhZGRpbmdSaWdodCxhLT1pP3MucGFkZGluZ1RvcDpzLnBhZGRpbmdCb3R0b20sdGhpcy5wb3NpdGlvbi54PXIsdGhpcy5wb3NpdGlvbi55PWF9LGQubGF5b3V0UG9zaXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxheW91dC5zaXplLGU9e30saT10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJvcmlnaW5MZWZ0Iiksbz10aGlzLmxheW91dC5fZ2V0T3B0aW9uKCJvcmlnaW5Ub3AiKSxuPWk/InBhZGRpbmdMZWZ0IjoicGFkZGluZ1JpZ2h0IixzPWk/ImxlZnQiOiJyaWdodCIscj1pPyJyaWdodCI6ImxlZnQiLGE9dGhpcy5wb3NpdGlvbi54K3Rbbl07ZVtzXT10aGlzLmdldFhWYWx1ZShhKSxlW3JdPSIiO3ZhciB1PW8/InBhZGRpbmdUb3AiOiJwYWRkaW5nQm90dG9tIixoPW8/InRvcCI6ImJvdHRvbSIsZD1vPyJib3R0b20iOiJ0b3AiLGw9dGhpcy5wb3NpdGlvbi55K3RbdV07ZVtoXT10aGlzLmdldFlWYWx1ZShsKSxlW2RdPSIiLHRoaXMuY3NzKGUpLHRoaXMuZW1pdEV2ZW50KCJsYXlvdXQiLFt0aGlzXSl9LGQuZ2V0WFZhbHVlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGF5b3V0Ll9nZXRPcHRpb24oImhvcml6b250YWwiKTtyZXR1cm4gdGhpcy5sYXlvdXQub3B0aW9ucy5wZXJjZW50UG9zaXRpb24mJiFlP3QvdGhpcy5sYXlvdXQuc2l6ZS53aWR0aCoxMDArIiUiOnQrInB4In0sZC5nZXRZVmFsdWU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5sYXlvdXQuX2dldE9wdGlvbigiaG9yaXpvbnRhbCIpO3JldHVybiB0aGlzLmxheW91dC5vcHRpb25zLnBlcmNlbnRQb3NpdGlvbiYmZT90L3RoaXMubGF5b3V0LnNpemUuaGVpZ2h0KjEwMCsiJSI6dCsicHgifSxkLl90cmFuc2l0aW9uVG89ZnVuY3Rpb24odCxlKXt0aGlzLmdldFBvc2l0aW9uKCk7dmFyIGk9dGhpcy5wb3NpdGlvbi54LG89dGhpcy5wb3NpdGlvbi55LG49cGFyc2VJbnQodCwxMCkscz1wYXJzZUludChlLDEwKSxyPW49PT10aGlzLnBvc2l0aW9uLngmJnM9PT10aGlzLnBvc2l0aW9uLnk7aWYodGhpcy5zZXRQb3NpdGlvbih0LGUpLHImJiF0aGlzLmlzVHJhbnNpdGlvbmluZylyZXR1cm4gdm9pZCB0aGlzLmxheW91dFBvc2l0aW9uKCk7dmFyIGE9dC1pLHU9ZS1vLGg9e307aC50cmFuc2Zvcm09dGhpcy5nZXRUcmFuc2xhdGUoYSx1KSx0aGlzLnRyYW5zaXRpb24oe3RvOmgsb25UcmFuc2l0aW9uRW5kOnt0cmFuc2Zvcm06dGhpcy5sYXlvdXRQb3NpdGlvbn0saXNDbGVhbmluZzohMH0pfSxkLmdldFRyYW5zbGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMubGF5b3V0Ll9nZXRPcHRpb24oIm9yaWdpbkxlZnQiKSxvPXRoaXMubGF5b3V0Ll9nZXRPcHRpb24oIm9yaWdpblRvcCIpO3JldHVybiB0PWk/dDotdCxlPW8/ZTotZSwidHJhbnNsYXRlM2QoIit0KyJweCwgIitlKyJweCwgMCkifSxkLmdvVG89ZnVuY3Rpb24odCxlKXt0aGlzLnNldFBvc2l0aW9uKHQsZSksdGhpcy5sYXlvdXRQb3NpdGlvbigpfSxkLm1vdmVUbz1kLl90cmFuc2l0aW9uVG8sZC5zZXRQb3NpdGlvbj1mdW5jdGlvbih0LGUpe3RoaXMucG9zaXRpb24ueD1wYXJzZUludCh0LDEwKSx0aGlzLnBvc2l0aW9uLnk9cGFyc2VJbnQoZSwxMCl9LGQuX25vblRyYW5zaXRpb249ZnVuY3Rpb24odCl7dGhpcy5jc3ModC50byksdC5pc0NsZWFuaW5nJiZ0aGlzLl9yZW1vdmVTdHlsZXModC50byk7Zm9yKHZhciBlIGluIHQub25UcmFuc2l0aW9uRW5kKXQub25UcmFuc2l0aW9uRW5kW2VdLmNhbGwodGhpcyl9LGQudHJhbnNpdGlvbj1mdW5jdGlvbih0KXtpZighcGFyc2VGbG9hdCh0aGlzLmxheW91dC5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbikpcmV0dXJuIHZvaWQgdGhpcy5fbm9uVHJhbnNpdGlvbih0KTt2YXIgZT10aGlzLl90cmFuc247Zm9yKHZhciBpIGluIHQub25UcmFuc2l0aW9uRW5kKWUub25FbmRbaV09dC5vblRyYW5zaXRpb25FbmRbaV07Zm9yKGkgaW4gdC50byllLmluZ1Byb3BlcnRpZXNbaV09ITAsdC5pc0NsZWFuaW5nJiYoZS5jbGVhbltpXT0hMCk7aWYodC5mcm9tKXt0aGlzLmNzcyh0LmZyb20pO3ZhciBvPXRoaXMuZWxlbWVudC5vZmZzZXRIZWlnaHQ7bz1udWxsfXRoaXMuZW5hYmxlVHJhbnNpdGlvbih0LnRvKSx0aGlzLmNzcyh0LnRvKSx0aGlzLmlzVHJhbnNpdGlvbmluZz0hMH07dmFyIGw9Im9wYWNpdHksIituKGEpO2QuZW5hYmxlVHJhbnNpdGlvbj1mdW5jdGlvbigpe2lmKCF0aGlzLmlzVHJhbnNpdGlvbmluZyl7dmFyIHQ9dGhpcy5sYXlvdXQub3B0aW9ucy50cmFuc2l0aW9uRHVyYXRpb247dD0ibnVtYmVyIj09dHlwZW9mIHQ/dCsibXMiOnQsdGhpcy5jc3Moe3RyYW5zaXRpb25Qcm9wZXJ0eTpsLHRyYW5zaXRpb25EdXJhdGlvbjp0LHRyYW5zaXRpb25EZWxheTp0aGlzLnN0YWdnZXJEZWxheXx8MH0pLHRoaXMuZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKHUsdGhpcywhMSl9fSxkLm9ud2Via2l0VHJhbnNpdGlvbkVuZD1mdW5jdGlvbih0KXt0aGlzLm9udHJhbnNpdGlvbmVuZCh0KX0sZC5vbm90cmFuc2l0aW9uZW5kPWZ1bmN0aW9uKHQpe3RoaXMub250cmFuc2l0aW9uZW5kKHQpfTt2YXIgZj17Ii13ZWJraXQtdHJhbnNmb3JtIjoidHJhbnNmb3JtIn07ZC5vbnRyYW5zaXRpb25lbmQ9ZnVuY3Rpb24odCl7aWYodC50YXJnZXQ9PT10aGlzLmVsZW1lbnQpe3ZhciBlPXRoaXMuX3RyYW5zbixvPWZbdC5wcm9wZXJ0eU5hbWVdfHx0LnByb3BlcnR5TmFtZTtpZihkZWxldGUgZS5pbmdQcm9wZXJ0aWVzW29dLGkoZS5pbmdQcm9wZXJ0aWVzKSYmdGhpcy5kaXNhYmxlVHJhbnNpdGlvbigpLG8gaW4gZS5jbGVhbiYmKHRoaXMuZWxlbWVudC5zdHlsZVt0LnByb3BlcnR5TmFtZV09IiIsZGVsZXRlIGUuY2xlYW5bb10pLG8gaW4gZS5vbkVuZCl7dmFyIG49ZS5vbkVuZFtvXTtuLmNhbGwodGhpcyksZGVsZXRlIGUub25FbmRbb119dGhpcy5lbWl0RXZlbnQoInRyYW5zaXRpb25FbmQiLFt0aGlzXSl9fSxkLmRpc2FibGVUcmFuc2l0aW9uPWZ1bmN0aW9uKCl7dGhpcy5yZW1vdmVUcmFuc2l0aW9uU3R5bGVzKCksdGhpcy5lbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIodSx0aGlzLCExKSx0aGlzLmlzVHJhbnNpdGlvbmluZz0hMX0sZC5fcmVtb3ZlU3R5bGVzPWZ1bmN0aW9uKHQpe3ZhciBlPXt9O2Zvcih2YXIgaSBpbiB0KWVbaV09IiI7dGhpcy5jc3MoZSl9O3ZhciBjPXt0cmFuc2l0aW9uUHJvcGVydHk6IiIsdHJhbnNpdGlvbkR1cmF0aW9uOiIiLHRyYW5zaXRpb25EZWxheToiIn07cmV0dXJuIGQucmVtb3ZlVHJhbnNpdGlvblN0eWxlcz1mdW5jdGlvbigpe3RoaXMuY3NzKGMpfSxkLnN0YWdnZXI9ZnVuY3Rpb24odCl7dD1pc05hTih0KT8wOnQsdGhpcy5zdGFnZ2VyRGVsYXk9dCsibXMifSxkLnJlbW92ZUVsZW09ZnVuY3Rpb24oKXt0aGlzLmVsZW1lbnQucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzLmVsZW1lbnQpLHRoaXMuY3NzKHtkaXNwbGF5OiIifSksdGhpcy5lbWl0RXZlbnQoInJlbW92ZSIsW3RoaXNdKX0sZC5yZW1vdmU9ZnVuY3Rpb24oKXtyZXR1cm4gciYmcGFyc2VGbG9hdCh0aGlzLmxheW91dC5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbik/KHRoaXMub25jZSgidHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUVsZW0oKX0pLHZvaWQgdGhpcy5oaWRlKCkpOnZvaWQgdGhpcy5yZW1vdmVFbGVtKCl9LGQucmV2ZWFsPWZ1bmN0aW9uKCl7ZGVsZXRlIHRoaXMuaXNIaWRkZW4sdGhpcy5jc3Moe2Rpc3BsYXk6IiJ9KTt2YXIgdD10aGlzLmxheW91dC5vcHRpb25zLGU9e30saT10aGlzLmdldEhpZGVSZXZlYWxUcmFuc2l0aW9uRW5kUHJvcGVydHkoInZpc2libGVTdHlsZSIpO2VbaV09dGhpcy5vblJldmVhbFRyYW5zaXRpb25FbmQsdGhpcy50cmFuc2l0aW9uKHtmcm9tOnQuaGlkZGVuU3R5bGUsdG86dC52aXNpYmxlU3R5bGUsaXNDbGVhbmluZzohMCxvblRyYW5zaXRpb25FbmQ6ZX0pfSxkLm9uUmV2ZWFsVHJhbnNpdGlvbkVuZD1mdW5jdGlvbigpe3RoaXMuaXNIaWRkZW58fHRoaXMuZW1pdEV2ZW50KCJyZXZlYWwiKX0sZC5nZXRIaWRlUmV2ZWFsVHJhbnNpdGlvbkVuZFByb3BlcnR5PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMubGF5b3V0Lm9wdGlvbnNbdF07aWYoZS5vcGFjaXR5KXJldHVybiJvcGFjaXR5Ijtmb3IodmFyIGkgaW4gZSlyZXR1cm4gaX0sZC5oaWRlPWZ1bmN0aW9uKCl7dGhpcy5pc0hpZGRlbj0hMCx0aGlzLmNzcyh7ZGlzcGxheToiIn0pO3ZhciB0PXRoaXMubGF5b3V0Lm9wdGlvbnMsZT17fSxpPXRoaXMuZ2V0SGlkZVJldmVhbFRyYW5zaXRpb25FbmRQcm9wZXJ0eSgiaGlkZGVuU3R5bGUiKTtlW2ldPXRoaXMub25IaWRlVHJhbnNpdGlvbkVuZCx0aGlzLnRyYW5zaXRpb24oe2Zyb206dC52aXNpYmxlU3R5bGUsdG86dC5oaWRkZW5TdHlsZSxpc0NsZWFuaW5nOiEwLG9uVHJhbnNpdGlvbkVuZDplfSl9LGQub25IaWRlVHJhbnNpdGlvbkVuZD1mdW5jdGlvbigpe3RoaXMuaXNIaWRkZW4mJih0aGlzLmNzcyh7ZGlzcGxheToibm9uZSJ9KSx0aGlzLmVtaXRFdmVudCgiaGlkZSIpKX0sZC5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5jc3Moe3Bvc2l0aW9uOiIiLGxlZnQ6IiIscmlnaHQ6IiIsdG9wOiIiLGJvdHRvbToiIix0cmFuc2l0aW9uOiIiLHRyYW5zZm9ybToiIn0pfSxvfSksZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoIm91dGxheWVyL291dGxheWVyIixbImV2LWVtaXR0ZXIvZXYtZW1pdHRlciIsImdldC1zaXplL2dldC1zaXplIiwiZml6enktdWktdXRpbHMvdXRpbHMiLCIuL2l0ZW0iXSxmdW5jdGlvbihpLG8sbixzKXtyZXR1cm4gZSh0LGksbyxuLHMpfSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUodCxyZXF1aXJlKCJldi1lbWl0dGVyIikscmVxdWlyZSgiZ2V0LXNpemUiKSxyZXF1aXJlKCJmaXp6eS11aS11dGlscyIpLHJlcXVpcmUoIi4vaXRlbSIpKTp0Lk91dGxheWVyPWUodCx0LkV2RW1pdHRlcix0LmdldFNpemUsdC5maXp6eVVJVXRpbHMsdC5PdXRsYXllci5JdGVtKX0od2luZG93LGZ1bmN0aW9uKHQsZSxpLG8sbil7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHModCxlKXt2YXIgaT1vLmdldFF1ZXJ5RWxlbWVudCh0KTtpZighaSlyZXR1cm4gdm9pZCh1JiZ1LmVycm9yKCJCYWQgZWxlbWVudCBmb3IgIit0aGlzLmNvbnN0cnVjdG9yLm5hbWVzcGFjZSsiOiAiKyhpfHx0KSkpO3RoaXMuZWxlbWVudD1pLGgmJih0aGlzLiRlbGVtZW50PWgodGhpcy5lbGVtZW50KSksdGhpcy5vcHRpb25zPW8uZXh0ZW5kKHt9LHRoaXMuY29uc3RydWN0b3IuZGVmYXVsdHMpLHRoaXMub3B0aW9uKGUpO3ZhciBuPSsrbDt0aGlzLmVsZW1lbnQub3V0bGF5ZXJHVUlEPW4sZltuXT10aGlzLHRoaXMuX2NyZWF0ZSgpO3ZhciBzPXRoaXMuX2dldE9wdGlvbigiaW5pdExheW91dCIpO3MmJnRoaXMubGF5b3V0KCl9ZnVuY3Rpb24gcih0KXtmdW5jdGlvbiBlKCl7dC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9cmV0dXJuIGUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUodC5wcm90b3R5cGUpLGUucHJvdG90eXBlLmNvbnN0cnVjdG9yPWUsZX1mdW5jdGlvbiBhKHQpe2lmKCJudW1iZXIiPT10eXBlb2YgdClyZXR1cm4gdDt2YXIgZT10Lm1hdGNoKC8oXlxkKlwuP1xkKikoXHcqKS8pLGk9ZSYmZVsxXSxvPWUmJmVbMl07aWYoIWkubGVuZ3RoKXJldHVybiAwO2k9cGFyc2VGbG9hdChpKTt2YXIgbj1tW29dfHwxO3JldHVybiBpKm59dmFyIHU9dC5jb25zb2xlLGg9dC5qUXVlcnksZD1mdW5jdGlvbigpe30sbD0wLGY9e307cy5uYW1lc3BhY2U9Im91dGxheWVyIixzLkl0ZW09bixzLmRlZmF1bHRzPXtjb250YWluZXJTdHlsZTp7cG9zaXRpb246InJlbGF0aXZlIn0saW5pdExheW91dDohMCxvcmlnaW5MZWZ0OiEwLG9yaWdpblRvcDohMCxyZXNpemU6ITAscmVzaXplQ29udGFpbmVyOiEwLHRyYW5zaXRpb25EdXJhdGlvbjoiMC40cyIsaGlkZGVuU3R5bGU6e29wYWNpdHk6MCx0cmFuc2Zvcm06InNjYWxlKDAuMDAxKSJ9LHZpc2libGVTdHlsZTp7b3BhY2l0eToxLHRyYW5zZm9ybToic2NhbGUoMSkifX07dmFyIGM9cy5wcm90b3R5cGU7by5leHRlbmQoYyxlLnByb3RvdHlwZSksYy5vcHRpb249ZnVuY3Rpb24odCl7by5leHRlbmQodGhpcy5vcHRpb25zLHQpfSxjLl9nZXRPcHRpb249ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jb25zdHJ1Y3Rvci5jb21wYXRPcHRpb25zW3RdO3JldHVybiBlJiZ2b2lkIDAhPT10aGlzLm9wdGlvbnNbZV0/dGhpcy5vcHRpb25zW2VdOnRoaXMub3B0aW9uc1t0XX0scy5jb21wYXRPcHRpb25zPXtpbml0TGF5b3V0OiJpc0luaXRMYXlvdXQiLGhvcml6b250YWw6ImlzSG9yaXpvbnRhbCIsbGF5b3V0SW5zdGFudDoiaXNMYXlvdXRJbnN0YW50IixvcmlnaW5MZWZ0OiJpc09yaWdpbkxlZnQiLG9yaWdpblRvcDoiaXNPcmlnaW5Ub3AiLHJlc2l6ZToiaXNSZXNpemVCb3VuZCIscmVzaXplQ29udGFpbmVyOiJpc1Jlc2l6aW5nQ29udGFpbmVyIn0sYy5fY3JlYXRlPWZ1bmN0aW9uKCl7dGhpcy5yZWxvYWRJdGVtcygpLHRoaXMuc3RhbXBzPVtdLHRoaXMuc3RhbXAodGhpcy5vcHRpb25zLnN0YW1wKSxvLmV4dGVuZCh0aGlzLmVsZW1lbnQuc3R5bGUsdGhpcy5vcHRpb25zLmNvbnRhaW5lclN0eWxlKTt2YXIgdD10aGlzLl9nZXRPcHRpb24oInJlc2l6ZSIpO3QmJnRoaXMuYmluZFJlc2l6ZSgpfSxjLnJlbG9hZEl0ZW1zPWZ1bmN0aW9uKCl7dGhpcy5pdGVtcz10aGlzLl9pdGVtaXplKHRoaXMuZWxlbWVudC5jaGlsZHJlbil9LGMuX2l0ZW1pemU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuX2ZpbHRlckZpbmRJdGVtRWxlbWVudHModCksaT10aGlzLmNvbnN0cnVjdG9yLkl0ZW0sbz1bXSxuPTA7bjxlLmxlbmd0aDtuKyspe3ZhciBzPWVbbl0scj1uZXcgaShzLHRoaXMpO28ucHVzaChyKX1yZXR1cm4gb30sYy5fZmlsdGVyRmluZEl0ZW1FbGVtZW50cz1mdW5jdGlvbih0KXtyZXR1cm4gby5maWx0ZXJGaW5kRWxlbWVudHModCx0aGlzLm9wdGlvbnMuaXRlbVNlbGVjdG9yKX0sYy5nZXRJdGVtRWxlbWVudHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pdGVtcy5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIHQuZWxlbWVudH0pfSxjLmxheW91dD1mdW5jdGlvbigpe3RoaXMuX3Jlc2V0TGF5b3V0KCksdGhpcy5fbWFuYWdlU3RhbXBzKCk7dmFyIHQ9dGhpcy5fZ2V0T3B0aW9uKCJsYXlvdXRJbnN0YW50IiksZT12b2lkIDAhPT10P3Q6IXRoaXMuX2lzTGF5b3V0SW5pdGVkO3RoaXMubGF5b3V0SXRlbXModGhpcy5pdGVtcyxlKSx0aGlzLl9pc0xheW91dEluaXRlZD0hMH0sYy5faW5pdD1jLmxheW91dCxjLl9yZXNldExheW91dD1mdW5jdGlvbigpe3RoaXMuZ2V0U2l6ZSgpfSxjLmdldFNpemU9ZnVuY3Rpb24oKXt0aGlzLnNpemU9aSh0aGlzLmVsZW1lbnQpfSxjLl9nZXRNZWFzdXJlbWVudD1mdW5jdGlvbih0LGUpe3ZhciBvLG49dGhpcy5vcHRpb25zW3RdO24/KCJzdHJpbmciPT10eXBlb2Ygbj9vPXRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKG4pOm4gaW5zdGFuY2VvZiBIVE1MRWxlbWVudCYmKG89biksdGhpc1t0XT1vP2kobylbZV06bik6dGhpc1t0XT0wfSxjLmxheW91dEl0ZW1zPWZ1bmN0aW9uKHQsZSl7dD10aGlzLl9nZXRJdGVtc0ZvckxheW91dCh0KSx0aGlzLl9sYXlvdXRJdGVtcyh0LGUpLHRoaXMuX3Bvc3RMYXlvdXQoKX0sYy5fZ2V0SXRlbXNGb3JMYXlvdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQuZmlsdGVyKGZ1bmN0aW9uKHQpe3JldHVybiF0LmlzSWdub3JlZH0pfSxjLl9sYXlvdXRJdGVtcz1mdW5jdGlvbih0LGUpe2lmKHRoaXMuX2VtaXRDb21wbGV0ZU9uSXRlbXMoImxheW91dCIsdCksdCYmdC5sZW5ndGgpe3ZhciBpPVtdO3QuZm9yRWFjaChmdW5jdGlvbih0KXt2YXIgbz10aGlzLl9nZXRJdGVtTGF5b3V0UG9zaXRpb24odCk7by5pdGVtPXQsby5pc0luc3RhbnQ9ZXx8dC5pc0xheW91dEluc3RhbnQsaS5wdXNoKG8pfSx0aGlzKSx0aGlzLl9wcm9jZXNzTGF5b3V0UXVldWUoaSl9fSxjLl9nZXRJdGVtTGF5b3V0UG9zaXRpb249ZnVuY3Rpb24oKXtyZXR1cm57eDowLHk6MH19LGMuX3Byb2Nlc3NMYXlvdXRRdWV1ZT1mdW5jdGlvbih0KXt0aGlzLnVwZGF0ZVN0YWdnZXIoKSx0LmZvckVhY2goZnVuY3Rpb24odCxlKXt0aGlzLl9wb3NpdGlvbkl0ZW0odC5pdGVtLHQueCx0LnksdC5pc0luc3RhbnQsZSl9LHRoaXMpfSxjLnVwZGF0ZVN0YWdnZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMuc3RhZ2dlcjtyZXR1cm4gbnVsbD09PXR8fHZvaWQgMD09PXQ/dm9pZCh0aGlzLnN0YWdnZXI9MCk6KHRoaXMuc3RhZ2dlcj1hKHQpLHRoaXMuc3RhZ2dlcil9LGMuX3Bvc2l0aW9uSXRlbT1mdW5jdGlvbih0LGUsaSxvLG4pe28/dC5nb1RvKGUsaSk6KHQuc3RhZ2dlcihuKnRoaXMuc3RhZ2dlciksdC5tb3ZlVG8oZSxpKSl9LGMuX3Bvc3RMYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLnJlc2l6ZUNvbnRhaW5lcigpfSxjLnJlc2l6ZUNvbnRhaW5lcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dldE9wdGlvbigicmVzaXplQ29udGFpbmVyIik7aWYodCl7dmFyIGU9dGhpcy5fZ2V0Q29udGFpbmVyU2l6ZSgpO2UmJih0aGlzLl9zZXRDb250YWluZXJNZWFzdXJlKGUud2lkdGgsITApLHRoaXMuX3NldENvbnRhaW5lck1lYXN1cmUoZS5oZWlnaHQsITEpKX19LGMuX2dldENvbnRhaW5lclNpemU9ZCxjLl9zZXRDb250YWluZXJNZWFzdXJlPWZ1bmN0aW9uKHQsZSl7aWYodm9pZCAwIT09dCl7dmFyIGk9dGhpcy5zaXplO2kuaXNCb3JkZXJCb3gmJih0Kz1lP2kucGFkZGluZ0xlZnQraS5wYWRkaW5nUmlnaHQraS5ib3JkZXJMZWZ0V2lkdGgraS5ib3JkZXJSaWdodFdpZHRoOmkucGFkZGluZ0JvdHRvbStpLnBhZGRpbmdUb3AraS5ib3JkZXJUb3BXaWR0aCtpLmJvcmRlckJvdHRvbVdpZHRoKSx0PU1hdGgubWF4KHQsMCksdGhpcy5lbGVtZW50LnN0eWxlW2U/IndpZHRoIjoiaGVpZ2h0Il09dCsicHgifX0sYy5fZW1pdENvbXBsZXRlT25JdGVtcz1mdW5jdGlvbih0LGUpe2Z1bmN0aW9uIGkoKXtuLmRpc3BhdGNoRXZlbnQodCsiQ29tcGxldGUiLG51bGwsW2VdKX1mdW5jdGlvbiBvKCl7cisrLHI9PXMmJmkoKX12YXIgbj10aGlzLHM9ZS5sZW5ndGg7aWYoIWV8fCFzKXJldHVybiB2b2lkIGkoKTt2YXIgcj0wO2UuZm9yRWFjaChmdW5jdGlvbihlKXtlLm9uY2UodCxvKX0pfSxjLmRpc3BhdGNoRXZlbnQ9ZnVuY3Rpb24odCxlLGkpe3ZhciBvPWU/W2VdLmNvbmNhdChpKTppO2lmKHRoaXMuZW1pdEV2ZW50KHQsbyksaClpZih0aGlzLiRlbGVtZW50PXRoaXMuJGVsZW1lbnR8fGgodGhpcy5lbGVtZW50KSxlKXt2YXIgbj1oLkV2ZW50KGUpO24udHlwZT10LHRoaXMuJGVsZW1lbnQudHJpZ2dlcihuLGkpfWVsc2UgdGhpcy4kZWxlbWVudC50cmlnZ2VyKHQsaSl9LGMuaWdub3JlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0SXRlbSh0KTtlJiYoZS5pc0lnbm9yZWQ9ITApfSxjLnVuaWdub3JlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0SXRlbSh0KTtlJiZkZWxldGUgZS5pc0lnbm9yZWR9LGMuc3RhbXA9ZnVuY3Rpb24odCl7dD10aGlzLl9maW5kKHQpLHQmJih0aGlzLnN0YW1wcz10aGlzLnN0YW1wcy5jb25jYXQodCksdC5mb3JFYWNoKHRoaXMuaWdub3JlLHRoaXMpKX0sYy51bnN0YW1wPWZ1bmN0aW9uKHQpe3Q9dGhpcy5fZmluZCh0KSx0JiZ0LmZvckVhY2goZnVuY3Rpb24odCl7by5yZW1vdmVGcm9tKHRoaXMuc3RhbXBzLHQpLHRoaXMudW5pZ25vcmUodCl9LHRoaXMpfSxjLl9maW5kPWZ1bmN0aW9uKHQpe2lmKHQpcmV0dXJuInN0cmluZyI9PXR5cGVvZiB0JiYodD10aGlzLmVsZW1lbnQucXVlcnlTZWxlY3RvckFsbCh0KSksdD1vLm1ha2VBcnJheSh0KX0sYy5fbWFuYWdlU3RhbXBzPWZ1bmN0aW9uKCl7dGhpcy5zdGFtcHMmJnRoaXMuc3RhbXBzLmxlbmd0aCYmKHRoaXMuX2dldEJvdW5kaW5nUmVjdCgpLHRoaXMuc3RhbXBzLmZvckVhY2godGhpcy5fbWFuYWdlU3RhbXAsdGhpcykpfSxjLl9nZXRCb3VuZGluZ1JlY3Q9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksZT10aGlzLnNpemU7dGhpcy5fYm91bmRpbmdSZWN0PXtsZWZ0OnQubGVmdCtlLnBhZGRpbmdMZWZ0K2UuYm9yZGVyTGVmdFdpZHRoLHRvcDp0LnRvcCtlLnBhZGRpbmdUb3ArZS5ib3JkZXJUb3BXaWR0aCxyaWdodDp0LnJpZ2h0LShlLnBhZGRpbmdSaWdodCtlLmJvcmRlclJpZ2h0V2lkdGgpLGJvdHRvbTp0LmJvdHRvbS0oZS5wYWRkaW5nQm90dG9tK2UuYm9yZGVyQm90dG9tV2lkdGgpfX0sYy5fbWFuYWdlU3RhbXA9ZCxjLl9nZXRFbGVtZW50T2Zmc2V0PWZ1bmN0aW9uKHQpe3ZhciBlPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksbz10aGlzLl9ib3VuZGluZ1JlY3Qsbj1pKHQpLHM9e2xlZnQ6ZS5sZWZ0LW8ubGVmdC1uLm1hcmdpbkxlZnQsdG9wOmUudG9wLW8udG9wLW4ubWFyZ2luVG9wLHJpZ2h0Om8ucmlnaHQtZS5yaWdodC1uLm1hcmdpblJpZ2h0LGJvdHRvbTpvLmJvdHRvbS1lLmJvdHRvbS1uLm1hcmdpbkJvdHRvbX07cmV0dXJuIHN9LGMuaGFuZGxlRXZlbnQ9by5oYW5kbGVFdmVudCxjLmJpbmRSZXNpemU9ZnVuY3Rpb24oKXt0LmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsdGhpcyksdGhpcy5pc1Jlc2l6ZUJvdW5kPSEwfSxjLnVuYmluZFJlc2l6ZT1mdW5jdGlvbigpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcigicmVzaXplIix0aGlzKSx0aGlzLmlzUmVzaXplQm91bmQ9ITF9LGMub25yZXNpemU9ZnVuY3Rpb24oKXt0aGlzLnJlc2l6ZSgpfSxvLmRlYm91bmNlTWV0aG9kKHMsIm9ucmVzaXplIiwxMDApLGMucmVzaXplPWZ1bmN0aW9uKCl7dGhpcy5pc1Jlc2l6ZUJvdW5kJiZ0aGlzLm5lZWRzUmVzaXplTGF5b3V0KCkmJnRoaXMubGF5b3V0KCl9LGMubmVlZHNSZXNpemVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgdD1pKHRoaXMuZWxlbWVudCksZT10aGlzLnNpemUmJnQ7cmV0dXJuIGUmJnQuaW5uZXJXaWR0aCE9PXRoaXMuc2l6ZS5pbm5lcldpZHRofSxjLmFkZEl0ZW1zPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2l0ZW1pemUodCk7cmV0dXJuIGUubGVuZ3RoJiYodGhpcy5pdGVtcz10aGlzLml0ZW1zLmNvbmNhdChlKSksZX0sYy5hcHBlbmRlZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmFkZEl0ZW1zKHQpO2UubGVuZ3RoJiYodGhpcy5sYXlvdXRJdGVtcyhlLCEwKSx0aGlzLnJldmVhbChlKSl9LGMucHJlcGVuZGVkPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2l0ZW1pemUodCk7aWYoZS5sZW5ndGgpe3ZhciBpPXRoaXMuaXRlbXMuc2xpY2UoMCk7dGhpcy5pdGVtcz1lLmNvbmNhdChpKSx0aGlzLl9yZXNldExheW91dCgpLHRoaXMuX21hbmFnZVN0YW1wcygpLHRoaXMubGF5b3V0SXRlbXMoZSwhMCksdGhpcy5yZXZlYWwoZSksdGhpcy5sYXlvdXRJdGVtcyhpKX19LGMucmV2ZWFsPWZ1bmN0aW9uKHQpe2lmKHRoaXMuX2VtaXRDb21wbGV0ZU9uSXRlbXMoInJldmVhbCIsdCksdCYmdC5sZW5ndGgpe3ZhciBlPXRoaXMudXBkYXRlU3RhZ2dlcigpO3QuZm9yRWFjaChmdW5jdGlvbih0LGkpe3Quc3RhZ2dlcihpKmUpLHQucmV2ZWFsKCl9KX19LGMuaGlkZT1mdW5jdGlvbih0KXtpZih0aGlzLl9lbWl0Q29tcGxldGVPbkl0ZW1zKCJoaWRlIix0KSx0JiZ0Lmxlbmd0aCl7dmFyIGU9dGhpcy51cGRhdGVTdGFnZ2VyKCk7dC5mb3JFYWNoKGZ1bmN0aW9uKHQsaSl7dC5zdGFnZ2VyKGkqZSksdC5oaWRlKCl9KX19LGMucmV2ZWFsSXRlbUVsZW1lbnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0SXRlbXModCk7dGhpcy5yZXZlYWwoZSl9LGMuaGlkZUl0ZW1FbGVtZW50cz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmdldEl0ZW1zKHQpO3RoaXMuaGlkZShlKX0sYy5nZXRJdGVtPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wO2U8dGhpcy5pdGVtcy5sZW5ndGg7ZSsrKXt2YXIgaT10aGlzLml0ZW1zW2VdO2lmKGkuZWxlbWVudD09dClyZXR1cm4gaX19LGMuZ2V0SXRlbXM9ZnVuY3Rpb24odCl7dD1vLm1ha2VBcnJheSh0KTt2YXIgZT1bXTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKHQpe3ZhciBpPXRoaXMuZ2V0SXRlbSh0KTtpJiZlLnB1c2goaSl9LHRoaXMpLGV9LGMucmVtb3ZlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZ2V0SXRlbXModCk7dGhpcy5fZW1pdENvbXBsZXRlT25JdGVtcygicmVtb3ZlIixlKSxlJiZlLmxlbmd0aCYmZS5mb3JFYWNoKGZ1bmN0aW9uKHQpe3QucmVtb3ZlKCksby5yZW1vdmVGcm9tKHRoaXMuaXRlbXMsdCl9LHRoaXMpfSxjLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQuc3R5bGU7dC5oZWlnaHQ9IiIsdC5wb3NpdGlvbj0iIix0LndpZHRoPSIiLHRoaXMuaXRlbXMuZm9yRWFjaChmdW5jdGlvbih0KXt0LmRlc3Ryb3koKX0pLHRoaXMudW5iaW5kUmVzaXplKCk7dmFyIGU9dGhpcy5lbGVtZW50Lm91dGxheWVyR1VJRDtkZWxldGUgZltlXSxkZWxldGUgdGhpcy5lbGVtZW50Lm91dGxheWVyR1VJRCxoJiZoLnJlbW92ZURhdGEodGhpcy5lbGVtZW50LHRoaXMuY29uc3RydWN0b3IubmFtZXNwYWNlKX0scy5kYXRhPWZ1bmN0aW9uKHQpe3Q9by5nZXRRdWVyeUVsZW1lbnQodCk7dmFyIGU9dCYmdC5vdXRsYXllckdVSUQ7cmV0dXJuIGUmJmZbZV19LHMuY3JlYXRlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9cihzKTtyZXR1cm4gaS5kZWZhdWx0cz1vLmV4dGVuZCh7fSxzLmRlZmF1bHRzKSxvLmV4dGVuZChpLmRlZmF1bHRzLGUpLGkuY29tcGF0T3B0aW9ucz1vLmV4dGVuZCh7fSxzLmNvbXBhdE9wdGlvbnMpLGkubmFtZXNwYWNlPXQsaS5kYXRhPXMuZGF0YSxpLkl0ZW09cihuKSxvLmh0bWxJbml0KGksdCksaCYmaC5icmlkZ2V0JiZoLmJyaWRnZXQodCxpKSxpfTt2YXIgbT17bXM6MSxzOjFlM307cmV0dXJuIHMuSXRlbT1uLHN9KSxmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJpc290b3BlL2pzL2l0ZW0iLFsib3V0bGF5ZXIvb3V0bGF5ZXIiXSxlKToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCJvdXRsYXllciIpKToodC5Jc290b3BlPXQuSXNvdG9wZXx8e30sdC5Jc290b3BlLkl0ZW09ZSh0Lk91dGxheWVyKSl9KHdpbmRvdyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gZSgpe3QuSXRlbS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9dmFyIGk9ZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0Lkl0ZW0ucHJvdG90eXBlKSxvPWkuX2NyZWF0ZTtpLl9jcmVhdGU9ZnVuY3Rpb24oKXt0aGlzLmlkPXRoaXMubGF5b3V0Lml0ZW1HVUlEKyssby5jYWxsKHRoaXMpLHRoaXMuc29ydERhdGE9e319LGkudXBkYXRlU29ydERhdGE9ZnVuY3Rpb24oKXtpZighdGhpcy5pc0lnbm9yZWQpe3RoaXMuc29ydERhdGEuaWQ9dGhpcy5pZCx0aGlzLnNvcnREYXRhWyJvcmlnaW5hbC1vcmRlciJdPXRoaXMuaWQsdGhpcy5zb3J0RGF0YS5yYW5kb209TWF0aC5yYW5kb20oKTt2YXIgdD10aGlzLmxheW91dC5vcHRpb25zLmdldFNvcnREYXRhLGU9dGhpcy5sYXlvdXQuX3NvcnRlcnM7Zm9yKHZhciBpIGluIHQpe3ZhciBvPWVbaV07dGhpcy5zb3J0RGF0YVtpXT1vKHRoaXMuZWxlbWVudCx0aGlzKX19fTt2YXIgbj1pLmRlc3Ryb3k7cmV0dXJuIGkuZGVzdHJveT1mdW5jdGlvbigpe24uYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuY3NzKHtkaXNwbGF5OiIifSl9LGV9KSxmdW5jdGlvbih0LGUpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKCJpc290b3BlL2pzL2xheW91dC1tb2RlIixbImdldC1zaXplL2dldC1zaXplIiwib3V0bGF5ZXIvb3V0bGF5ZXIiXSxlKToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCJnZXQtc2l6ZSIpLHJlcXVpcmUoIm91dGxheWVyIikpOih0Lklzb3RvcGU9dC5Jc290b3BlfHx7fSx0Lklzb3RvcGUuTGF5b3V0TW9kZT1lKHQuZ2V0U2l6ZSx0Lk91dGxheWVyKSl9KHdpbmRvdyxmdW5jdGlvbih0LGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBpKHQpe3RoaXMuaXNvdG9wZT10LHQmJih0aGlzLm9wdGlvbnM9dC5vcHRpb25zW3RoaXMubmFtZXNwYWNlXSx0aGlzLmVsZW1lbnQ9dC5lbGVtZW50LHRoaXMuaXRlbXM9dC5maWx0ZXJlZEl0ZW1zLHRoaXMuc2l6ZT10LnNpemUpfXZhciBvPWkucHJvdG90eXBlLG49WyJfcmVzZXRMYXlvdXQiLCJfZ2V0SXRlbUxheW91dFBvc2l0aW9uIiwiX21hbmFnZVN0YW1wIiwiX2dldENvbnRhaW5lclNpemUiLCJfZ2V0RWxlbWVudE9mZnNldCIsIm5lZWRzUmVzaXplTGF5b3V0IiwiX2dldE9wdGlvbiJdO3JldHVybiBuLmZvckVhY2goZnVuY3Rpb24odCl7b1t0XT1mdW5jdGlvbigpe3JldHVybiBlLnByb3RvdHlwZVt0XS5hcHBseSh0aGlzLmlzb3RvcGUsYXJndW1lbnRzKX19KSxvLm5lZWRzVmVydGljYWxSZXNpemVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgZT10KHRoaXMuaXNvdG9wZS5lbGVtZW50KSxpPXRoaXMuaXNvdG9wZS5zaXplJiZlO3JldHVybiBpJiZlLmlubmVySGVpZ2h0IT10aGlzLmlzb3RvcGUuc2l6ZS5pbm5lckhlaWdodH0sby5fZ2V0TWVhc3VyZW1lbnQ9ZnVuY3Rpb24oKXt0aGlzLmlzb3RvcGUuX2dldE1lYXN1cmVtZW50LmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sby5nZXRDb2x1bW5XaWR0aD1mdW5jdGlvbigpe3RoaXMuZ2V0U2VnbWVudFNpemUoImNvbHVtbiIsIldpZHRoIil9LG8uZ2V0Um93SGVpZ2h0PWZ1bmN0aW9uKCl7dGhpcy5nZXRTZWdtZW50U2l6ZSgicm93IiwiSGVpZ2h0Iil9LG8uZ2V0U2VnbWVudFNpemU9ZnVuY3Rpb24odCxlKXt2YXIgaT10K2Usbz0ib3V0ZXIiK2U7aWYodGhpcy5fZ2V0TWVhc3VyZW1lbnQoaSxvKSwhdGhpc1tpXSl7dmFyIG49dGhpcy5nZXRGaXJzdEl0ZW1TaXplKCk7dGhpc1tpXT1uJiZuW29dfHx0aGlzLmlzb3RvcGUuc2l6ZVsiaW5uZXIiK2VdfX0sby5nZXRGaXJzdEl0ZW1TaXplPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5pc290b3BlLmZpbHRlcmVkSXRlbXNbMF07cmV0dXJuIGUmJmUuZWxlbWVudCYmdChlLmVsZW1lbnQpfSxvLmxheW91dD1mdW5jdGlvbigpe3RoaXMuaXNvdG9wZS5sYXlvdXQuYXBwbHkodGhpcy5pc290b3BlLGFyZ3VtZW50cyl9LG8uZ2V0U2l6ZT1mdW5jdGlvbigpe3RoaXMuaXNvdG9wZS5nZXRTaXplKCksdGhpcy5zaXplPXRoaXMuaXNvdG9wZS5zaXplfSxpLm1vZGVzPXt9LGkuY3JlYXRlPWZ1bmN0aW9uKHQsZSl7ZnVuY3Rpb24gbigpe2kuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBuLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKG8pLG4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPW4sZSYmKG4ub3B0aW9ucz1lKSxuLnByb3RvdHlwZS5uYW1lc3BhY2U9dCxpLm1vZGVzW3RdPW4sbn0saX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoIm1hc29ucnkvbWFzb25yeSIsWyJvdXRsYXllci9vdXRsYXllciIsImdldC1zaXplL2dldC1zaXplIl0sZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUocmVxdWlyZSgib3V0bGF5ZXIiKSxyZXF1aXJlKCJnZXQtc2l6ZSIpKTp0Lk1hc29ucnk9ZSh0Lk91dGxheWVyLHQuZ2V0U2l6ZSl9KHdpbmRvdyxmdW5jdGlvbih0LGUpe3ZhciBpPXQuY3JlYXRlKCJtYXNvbnJ5Iik7aS5jb21wYXRPcHRpb25zLmZpdFdpZHRoPSJpc0ZpdFdpZHRoIjt2YXIgbz1pLnByb3RvdHlwZTtyZXR1cm4gby5fcmVzZXRMYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLmdldFNpemUoKSx0aGlzLl9nZXRNZWFzdXJlbWVudCgiY29sdW1uV2lkdGgiLCJvdXRlcldpZHRoIiksdGhpcy5fZ2V0TWVhc3VyZW1lbnQoImd1dHRlciIsIm91dGVyV2lkdGgiKSx0aGlzLm1lYXN1cmVDb2x1bW5zKCksdGhpcy5jb2xZcz1bXTtmb3IodmFyIHQ9MDt0PHRoaXMuY29sczt0KyspdGhpcy5jb2xZcy5wdXNoKDApO3RoaXMubWF4WT0wLHRoaXMuaG9yaXpvbnRhbENvbEluZGV4PTB9LG8ubWVhc3VyZUNvbHVtbnM9ZnVuY3Rpb24oKXtpZih0aGlzLmdldENvbnRhaW5lcldpZHRoKCksIXRoaXMuY29sdW1uV2lkdGgpe3ZhciB0PXRoaXMuaXRlbXNbMF0saT10JiZ0LmVsZW1lbnQ7dGhpcy5jb2x1bW5XaWR0aD1pJiZlKGkpLm91dGVyV2lkdGh8fHRoaXMuY29udGFpbmVyV2lkdGh9dmFyIG89dGhpcy5jb2x1bW5XaWR0aCs9dGhpcy5ndXR0ZXIsbj10aGlzLmNvbnRhaW5lcldpZHRoK3RoaXMuZ3V0dGVyLHM9bi9vLHI9by1uJW8sYT1yJiZyPDE/InJvdW5kIjoiZmxvb3IiO3M9TWF0aFthXShzKSx0aGlzLmNvbHM9TWF0aC5tYXgocywxKX0sby5nZXRDb250YWluZXJXaWR0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuX2dldE9wdGlvbigiZml0V2lkdGgiKSxpPXQ/dGhpcy5lbGVtZW50LnBhcmVudE5vZGU6dGhpcy5lbGVtZW50LG89ZShpKTt0aGlzLmNvbnRhaW5lcldpZHRoPW8mJm8uaW5uZXJXaWR0aH0sby5fZ2V0SXRlbUxheW91dFBvc2l0aW9uPWZ1bmN0aW9uKHQpe3QuZ2V0U2l6ZSgpO3ZhciBlPXQuc2l6ZS5vdXRlcldpZHRoJXRoaXMuY29sdW1uV2lkdGgsaT1lJiZlPDE/InJvdW5kIjoiY2VpbCIsbz1NYXRoW2ldKHQuc2l6ZS5vdXRlcldpZHRoL3RoaXMuY29sdW1uV2lkdGgpO289TWF0aC5taW4obyx0aGlzLmNvbHMpO2Zvcih2YXIgbj10aGlzLm9wdGlvbnMuaG9yaXpvbnRhbE9yZGVyPyJfZ2V0SG9yaXpvbnRhbENvbFBvc2l0aW9uIjoiX2dldFRvcENvbFBvc2l0aW9uIixzPXRoaXNbbl0obyx0KSxyPXt4OnRoaXMuY29sdW1uV2lkdGgqcy5jb2wseTpzLnl9LGE9cy55K3Quc2l6ZS5vdXRlckhlaWdodCx1PW8rcy5jb2wsaD1zLmNvbDtoPHU7aCsrKXRoaXMuY29sWXNbaF09YTtyZXR1cm4gcn0sby5fZ2V0VG9wQ29sUG9zaXRpb249ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5fZ2V0VG9wQ29sR3JvdXAodCksaT1NYXRoLm1pbi5hcHBseShNYXRoLGUpO3JldHVybntjb2w6ZS5pbmRleE9mKGkpLHk6aX19LG8uX2dldFRvcENvbEdyb3VwPWZ1bmN0aW9uKHQpe2lmKHQ8MilyZXR1cm4gdGhpcy5jb2xZcztmb3IodmFyIGU9W10saT10aGlzLmNvbHMrMS10LG89MDtvPGk7bysrKWVbb109dGhpcy5fZ2V0Q29sR3JvdXBZKG8sdCk7cmV0dXJuIGV9LG8uX2dldENvbEdyb3VwWT1mdW5jdGlvbih0LGUpe2lmKGU8MilyZXR1cm4gdGhpcy5jb2xZc1t0XTt2YXIgaT10aGlzLmNvbFlzLnNsaWNlKHQsdCtlKTtyZXR1cm4gTWF0aC5tYXguYXBwbHkoTWF0aCxpKX0sby5fZ2V0SG9yaXpvbnRhbENvbFBvc2l0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5ob3Jpem9udGFsQ29sSW5kZXgldGhpcy5jb2xzLG89dD4xJiZpK3Q+dGhpcy5jb2xzO2k9bz8wOmk7dmFyIG49ZS5zaXplLm91dGVyV2lkdGgmJmUuc2l6ZS5vdXRlckhlaWdodDtyZXR1cm4gdGhpcy5ob3Jpem9udGFsQ29sSW5kZXg9bj9pK3Q6dGhpcy5ob3Jpem9udGFsQ29sSW5kZXgse2NvbDppLHk6dGhpcy5fZ2V0Q29sR3JvdXBZKGksdCl9fSxvLl9tYW5hZ2VTdGFtcD1mdW5jdGlvbih0KXt2YXIgaT1lKHQpLG89dGhpcy5fZ2V0RWxlbWVudE9mZnNldCh0KSxuPXRoaXMuX2dldE9wdGlvbigib3JpZ2luTGVmdCIpLHM9bj9vLmxlZnQ6by5yaWdodCxyPXMraS5vdXRlcldpZHRoLGE9TWF0aC5mbG9vcihzL3RoaXMuY29sdW1uV2lkdGgpO2E9TWF0aC5tYXgoMCxhKTt2YXIgdT1NYXRoLmZsb29yKHIvdGhpcy5jb2x1bW5XaWR0aCk7dS09ciV0aGlzLmNvbHVtbldpZHRoPzA6MSx1PU1hdGgubWluKHRoaXMuY29scy0xLHUpO2Zvcih2YXIgaD10aGlzLl9nZXRPcHRpb24oIm9yaWdpblRvcCIpLGQ9KGg/by50b3A6by5ib3R0b20pK2kub3V0ZXJIZWlnaHQsbD1hO2w8PXU7bCsrKXRoaXMuY29sWXNbbF09TWF0aC5tYXgoZCx0aGlzLmNvbFlzW2xdKX0sby5fZ2V0Q29udGFpbmVyU2l6ZT1mdW5jdGlvbigpe3RoaXMubWF4WT1NYXRoLm1heC5hcHBseShNYXRoLHRoaXMuY29sWXMpO3ZhciB0PXtoZWlnaHQ6dGhpcy5tYXhZfTtyZXR1cm4gdGhpcy5fZ2V0T3B0aW9uKCJmaXRXaWR0aCIpJiYodC53aWR0aD10aGlzLl9nZXRDb250YWluZXJGaXRXaWR0aCgpKSx0fSxvLl9nZXRDb250YWluZXJGaXRXaWR0aD1mdW5jdGlvbigpe2Zvcih2YXIgdD0wLGU9dGhpcy5jb2xzOy0tZSYmMD09PXRoaXMuY29sWXNbZV07KXQrKztyZXR1cm4odGhpcy5jb2xzLXQpKnRoaXMuY29sdW1uV2lkdGgtdGhpcy5ndXR0ZXJ9LG8ubmVlZHNSZXNpemVMYXlvdXQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNvbnRhaW5lcldpZHRoO3JldHVybiB0aGlzLmdldENvbnRhaW5lcldpZHRoKCksdCE9dGhpcy5jb250YWluZXJXaWR0aH0saX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImlzb3RvcGUvanMvbGF5b3V0LW1vZGVzL21hc29ucnkiLFsiLi4vbGF5b3V0LW1vZGUiLCJtYXNvbnJ5L21hc29ucnkiXSxlKToib2JqZWN0Ij09dHlwZW9mIG1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCIuLi9sYXlvdXQtbW9kZSIpLHJlcXVpcmUoIm1hc29ucnktbGF5b3V0IikpOmUodC5Jc290b3BlLkxheW91dE1vZGUsdC5NYXNvbnJ5KX0od2luZG93LGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO3ZhciBpPXQuY3JlYXRlKCJtYXNvbnJ5Iiksbz1pLnByb3RvdHlwZSxuPXtfZ2V0RWxlbWVudE9mZnNldDohMCxsYXlvdXQ6ITAsX2dldE1lYXN1cmVtZW50OiEwfTtmb3IodmFyIHMgaW4gZS5wcm90b3R5cGUpbltzXXx8KG9bc109ZS5wcm90b3R5cGVbc10pO3ZhciByPW8ubWVhc3VyZUNvbHVtbnM7by5tZWFzdXJlQ29sdW1ucz1mdW5jdGlvbigpe3RoaXMuaXRlbXM9dGhpcy5pc290b3BlLmZpbHRlcmVkSXRlbXMsci5jYWxsKHRoaXMpfTt2YXIgYT1vLl9nZXRPcHRpb247cmV0dXJuIG8uX2dldE9wdGlvbj1mdW5jdGlvbih0KXtyZXR1cm4iZml0V2lkdGgiPT10P3ZvaWQgMCE9PXRoaXMub3B0aW9ucy5pc0ZpdFdpZHRoP3RoaXMub3B0aW9ucy5pc0ZpdFdpZHRoOnRoaXMub3B0aW9ucy5maXRXaWR0aDphLmFwcGx5KHRoaXMuaXNvdG9wZSxhcmd1bWVudHMpfSxpfSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZSgiaXNvdG9wZS9qcy9sYXlvdXQtbW9kZXMvZml0LXJvd3MiLFsiLi4vbGF5b3V0LW1vZGUiXSxlKToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZShyZXF1aXJlKCIuLi9sYXlvdXQtbW9kZSIpKTplKHQuSXNvdG9wZS5MYXlvdXRNb2RlKX0od2luZG93LGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT10LmNyZWF0ZSgiZml0Um93cyIpLGk9ZS5wcm90b3R5cGU7cmV0dXJuIGkuX3Jlc2V0TGF5b3V0PWZ1bmN0aW9uKCl7dGhpcy54PTAsdGhpcy55PTAsdGhpcy5tYXhZPTAsdGhpcy5fZ2V0TWVhc3VyZW1lbnQoImd1dHRlciIsIm91dGVyV2lkdGgiKX0saS5fZ2V0SXRlbUxheW91dFBvc2l0aW9uPWZ1bmN0aW9uKHQpe3QuZ2V0U2l6ZSgpO3ZhciBlPXQuc2l6ZS5vdXRlcldpZHRoK3RoaXMuZ3V0dGVyLGk9dGhpcy5pc290b3BlLnNpemUuaW5uZXJXaWR0aCt0aGlzLmd1dHRlcjswIT09dGhpcy54JiZlK3RoaXMueD5pJiYodGhpcy54PTAsdGhpcy55PXRoaXMubWF4WSk7dmFyIG89e3g6dGhpcy54LHk6dGhpcy55fTtyZXR1cm4gdGhpcy5tYXhZPU1hdGgubWF4KHRoaXMubWF4WSx0aGlzLnkrdC5zaXplLm91dGVySGVpZ2h0KSx0aGlzLngrPWUsb30saS5fZ2V0Q29udGFpbmVyU2l6ZT1mdW5jdGlvbigpe3JldHVybntoZWlnaHQ6dGhpcy5tYXhZfX0sZX0pLGZ1bmN0aW9uKHQsZSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoImlzb3RvcGUvanMvbGF5b3V0LW1vZGVzL3ZlcnRpY2FsIixbIi4uL2xheW91dC1tb2RlIl0sZSk6Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPWUocmVxdWlyZSgiLi4vbGF5b3V0LW1vZGUiKSk6ZSh0Lklzb3RvcGUuTGF5b3V0TW9kZSl9KHdpbmRvdyxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIGU9dC5jcmVhdGUoInZlcnRpY2FsIix7aG9yaXpvbnRhbEFsaWdubWVudDowfSksaT1lLnByb3RvdHlwZTtyZXR1cm4gaS5fcmVzZXRMYXlvdXQ9ZnVuY3Rpb24oKXt0aGlzLnk9MH0saS5fZ2V0SXRlbUxheW91dFBvc2l0aW9uPWZ1bmN0aW9uKHQpe3QuZ2V0U2l6ZSgpO3ZhciBlPSh0aGlzLmlzb3RvcGUuc2l6ZS5pbm5lcldpZHRoLXQuc2l6ZS5vdXRlcldpZHRoKSp0aGlzLm9wdGlvbnMuaG9yaXpvbnRhbEFsaWdubWVudCxpPXRoaXMueTtyZXR1cm4gdGhpcy55Kz10LnNpemUub3V0ZXJIZWlnaHQse3g6ZSx5Oml9fSxpLl9nZXRDb250YWluZXJTaXplPWZ1bmN0aW9uKCl7cmV0dXJue2hlaWdodDp0aGlzLnl9fSxlfSksZnVuY3Rpb24odCxlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbIm91dGxheWVyL291dGxheWVyIiwiZ2V0LXNpemUvZ2V0LXNpemUiLCJkZXNhbmRyby1tYXRjaGVzLXNlbGVjdG9yL21hdGNoZXMtc2VsZWN0b3IiLCJmaXp6eS11aS11dGlscy91dGlscyIsImlzb3RvcGUvanMvaXRlbSIsImlzb3RvcGUvanMvbGF5b3V0LW1vZGUiLCJpc290b3BlL2pzL2xheW91dC1tb2Rlcy9tYXNvbnJ5IiwiaXNvdG9wZS9qcy9sYXlvdXQtbW9kZXMvZml0LXJvd3MiLCJpc290b3BlL2pzL2xheW91dC1tb2Rlcy92ZXJ0aWNhbCJdLGZ1bmN0aW9uKGksbyxuLHMscixhKXtyZXR1cm4gZSh0LGksbyxuLHMscixhKX0pOiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUuZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1lKHQscmVxdWlyZSgib3V0bGF5ZXIiKSxyZXF1aXJlKCJnZXQtc2l6ZSIpLHJlcXVpcmUoImRlc2FuZHJvLW1hdGNoZXMtc2VsZWN0b3IiKSxyZXF1aXJlKCJmaXp6eS11aS11dGlscyIpLHJlcXVpcmUoImlzb3RvcGUvanMvaXRlbSIpLHJlcXVpcmUoImlzb3RvcGUvanMvbGF5b3V0LW1vZGUiKSxyZXF1aXJlKCJpc290b3BlL2pzL2xheW91dC1tb2Rlcy9tYXNvbnJ5IikscmVxdWlyZSgiaXNvdG9wZS9qcy9sYXlvdXQtbW9kZXMvZml0LXJvd3MiKSxyZXF1aXJlKCJpc290b3BlL2pzL2xheW91dC1tb2Rlcy92ZXJ0aWNhbCIpKTp0Lklzb3RvcGU9ZSh0LHQuT3V0bGF5ZXIsdC5nZXRTaXplLHQubWF0Y2hlc1NlbGVjdG9yLHQuZml6enlVSVV0aWxzLHQuSXNvdG9wZS5JdGVtLHQuSXNvdG9wZS5MYXlvdXRNb2RlKX0od2luZG93LGZ1bmN0aW9uKHQsZSxpLG8sbixzLHIpe2Z1bmN0aW9uIGEodCxlKXtyZXR1cm4gZnVuY3Rpb24oaSxvKXtmb3IodmFyIG49MDtuPHQubGVuZ3RoO24rKyl7dmFyIHM9dFtuXSxyPWkuc29ydERhdGFbc10sYT1vLnNvcnREYXRhW3NdO2lmKHI+YXx8cjxhKXt2YXIgdT12b2lkIDAhPT1lW3NdP2Vbc106ZSxoPXU/MTotMTtyZXR1cm4ocj5hPzE6LTEpKmh9fXJldHVybiAwfX12YXIgdT10LmpRdWVyeSxoPVN0cmluZy5wcm90b3R5cGUudHJpbT9mdW5jdGlvbih0KXtyZXR1cm4gdC50cmltKCl9OmZ1bmN0aW9uKHQpe3JldHVybiB0LnJlcGxhY2UoL15ccyt8XHMrJC9nLCIiKX0sZD1lLmNyZWF0ZSgiaXNvdG9wZSIse2xheW91dE1vZGU6Im1hc29ucnkiLGlzSlF1ZXJ5RmlsdGVyaW5nOiEwLHNvcnRBc2NlbmRpbmc6ITB9KTtkLkl0ZW09cyxkLkxheW91dE1vZGU9cjt2YXIgbD1kLnByb3RvdHlwZTtsLl9jcmVhdGU9ZnVuY3Rpb24oKXt0aGlzLml0ZW1HVUlEPTAsdGhpcy5fc29ydGVycz17fSx0aGlzLl9nZXRTb3J0ZXJzKCksZS5wcm90b3R5cGUuX2NyZWF0ZS5jYWxsKHRoaXMpLHRoaXMubW9kZXM9e30sdGhpcy5maWx0ZXJlZEl0ZW1zPXRoaXMuaXRlbXMsdGhpcy5zb3J0SGlzdG9yeT1bIm9yaWdpbmFsLW9yZGVyIl07Zm9yKHZhciB0IGluIHIubW9kZXMpdGhpcy5faW5pdExheW91dE1vZGUodCl9LGwucmVsb2FkSXRlbXM9ZnVuY3Rpb24oKXt0aGlzLml0ZW1HVUlEPTAsZS5wcm90b3R5cGUucmVsb2FkSXRlbXMuY2FsbCh0aGlzKX0sbC5faXRlbWl6ZT1mdW5jdGlvbigpe2Zvcih2YXIgdD1lLnByb3RvdHlwZS5faXRlbWl6ZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksaT0wO2k8dC5sZW5ndGg7aSsrKXt2YXIgbz10W2ldO28uaWQ9dGhpcy5pdGVtR1VJRCsrfXJldHVybiB0aGlzLl91cGRhdGVJdGVtc1NvcnREYXRhKHQpLHR9LGwuX2luaXRMYXlvdXRNb2RlPWZ1bmN0aW9uKHQpe3ZhciBlPXIubW9kZXNbdF0saT10aGlzLm9wdGlvbnNbdF18fHt9O3RoaXMub3B0aW9uc1t0XT1lLm9wdGlvbnM/bi5leHRlbmQoZS5vcHRpb25zLGkpOmksdGhpcy5tb2Rlc1t0XT1uZXcgZSh0aGlzKX0sbC5sYXlvdXQ9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5faXNMYXlvdXRJbml0ZWQmJnRoaXMuX2dldE9wdGlvbigiaW5pdExheW91dCIpP3ZvaWQgdGhpcy5hcnJhbmdlKCk6dm9pZCB0aGlzLl9sYXlvdXQoKX0sbC5fbGF5b3V0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0SXNJbnN0YW50KCk7dGhpcy5fcmVzZXRMYXlvdXQoKSx0aGlzLl9tYW5hZ2VTdGFtcHMoKSx0aGlzLmxheW91dEl0ZW1zKHRoaXMuZmlsdGVyZWRJdGVtcyx0KSx0aGlzLl9pc0xheW91dEluaXRlZD0hMH0sbC5hcnJhbmdlPWZ1bmN0aW9uKHQpe3RoaXMub3B0aW9uKHQpLHRoaXMuX2dldElzSW5zdGFudCgpO3ZhciBlPXRoaXMuX2ZpbHRlcih0aGlzLml0ZW1zKTt0aGlzLmZpbHRlcmVkSXRlbXM9ZS5tYXRjaGVzLHRoaXMuX2JpbmRBcnJhbmdlQ29tcGxldGUoKSx0aGlzLl9pc0luc3RhbnQ/dGhpcy5fbm9UcmFuc2l0aW9uKHRoaXMuX2hpZGVSZXZlYWwsW2VdKTp0aGlzLl9oaWRlUmV2ZWFsKGUpLHRoaXMuX3NvcnQoKSx0aGlzLl9sYXlvdXQoKX0sbC5faW5pdD1sLmFycmFuZ2UsbC5faGlkZVJldmVhbD1mdW5jdGlvbih0KXt0aGlzLnJldmVhbCh0Lm5lZWRSZXZlYWwpLHRoaXMuaGlkZSh0Lm5lZWRIaWRlKX0sbC5fZ2V0SXNJbnN0YW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5fZ2V0T3B0aW9uKCJsYXlvdXRJbnN0YW50IiksZT12b2lkIDAhPT10P3Q6IXRoaXMuX2lzTGF5b3V0SW5pdGVkO3JldHVybiB0aGlzLl9pc0luc3RhbnQ9ZSxlfSxsLl9iaW5kQXJyYW5nZUNvbXBsZXRlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe2UmJmkmJm8mJm4uZGlzcGF0Y2hFdmVudCgiYXJyYW5nZUNvbXBsZXRlIixudWxsLFtuLmZpbHRlcmVkSXRlbXNdKX12YXIgZSxpLG8sbj10aGlzO3RoaXMub25jZSgibGF5b3V0Q29tcGxldGUiLGZ1bmN0aW9uKCl7ZT0hMCx0KCl9KSx0aGlzLm9uY2UoImhpZGVDb21wbGV0ZSIsZnVuY3Rpb24oKXtpPSEwLHQoKX0pLHRoaXMub25jZSgicmV2ZWFsQ29tcGxldGUiLGZ1bmN0aW9uKCl7bz0hMCx0KCl9KX0sbC5fZmlsdGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMub3B0aW9ucy5maWx0ZXI7ZT1lfHwiKiI7Zm9yKHZhciBpPVtdLG89W10sbj1bXSxzPXRoaXMuX2dldEZpbHRlclRlc3QoZSkscj0wO3I8dC5sZW5ndGg7cisrKXt2YXIgYT10W3JdO2lmKCFhLmlzSWdub3JlZCl7dmFyIHU9cyhhKTt1JiZpLnB1c2goYSksdSYmYS5pc0hpZGRlbj9vLnB1c2goYSk6dXx8YS5pc0hpZGRlbnx8bi5wdXNoKGEpfX1yZXR1cm57bWF0Y2hlczppLG5lZWRSZXZlYWw6byxuZWVkSGlkZTpufX0sbC5fZ2V0RmlsdGVyVGVzdD1mdW5jdGlvbih0KXtyZXR1cm4gdSYmdGhpcy5vcHRpb25zLmlzSlF1ZXJ5RmlsdGVyaW5nP2Z1bmN0aW9uKGUpe3JldHVybiB1KGUuZWxlbWVudCkuaXModCl9OiJmdW5jdGlvbiI9PXR5cGVvZiB0P2Z1bmN0aW9uKGUpe3JldHVybiB0KGUuZWxlbWVudCl9OmZ1bmN0aW9uKGUpe3JldHVybiBvKGUuZWxlbWVudCx0KX19LGwudXBkYXRlU29ydERhdGE9ZnVuY3Rpb24odCl7DQp2YXIgZTt0Pyh0PW4ubWFrZUFycmF5KHQpLGU9dGhpcy5nZXRJdGVtcyh0KSk6ZT10aGlzLml0ZW1zLHRoaXMuX2dldFNvcnRlcnMoKSx0aGlzLl91cGRhdGVJdGVtc1NvcnREYXRhKGUpfSxsLl9nZXRTb3J0ZXJzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLmdldFNvcnREYXRhO2Zvcih2YXIgZSBpbiB0KXt2YXIgaT10W2VdO3RoaXMuX3NvcnRlcnNbZV09ZihpKX19LGwuX3VwZGF0ZUl0ZW1zU29ydERhdGE9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQmJnQubGVuZ3RoLGk9MDtlJiZpPGU7aSsrKXt2YXIgbz10W2ldO28udXBkYXRlU29ydERhdGEoKX19O3ZhciBmPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXtpZigic3RyaW5nIiE9dHlwZW9mIHQpcmV0dXJuIHQ7dmFyIGk9aCh0KS5zcGxpdCgiICIpLG89aVswXSxuPW8ubWF0Y2goL15cWyguKylcXSQvKSxzPW4mJm5bMV0scj1lKHMsbyksYT1kLnNvcnREYXRhUGFyc2Vyc1tpWzFdXTtyZXR1cm4gdD1hP2Z1bmN0aW9uKHQpe3JldHVybiB0JiZhKHIodCkpfTpmdW5jdGlvbih0KXtyZXR1cm4gdCYmcih0KX19ZnVuY3Rpb24gZSh0LGUpe3JldHVybiB0P2Z1bmN0aW9uKGUpe3JldHVybiBlLmdldEF0dHJpYnV0ZSh0KX06ZnVuY3Rpb24odCl7dmFyIGk9dC5xdWVyeVNlbGVjdG9yKGUpO3JldHVybiBpJiZpLnRleHRDb250ZW50fX1yZXR1cm4gdH0oKTtkLnNvcnREYXRhUGFyc2Vycz17cGFyc2VJbnQ6ZnVuY3Rpb24odCl7cmV0dXJuIHBhcnNlSW50KHQsMTApfSxwYXJzZUZsb2F0OmZ1bmN0aW9uKHQpe3JldHVybiBwYXJzZUZsb2F0KHQpfX0sbC5fc29ydD1mdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5zb3J0Qnkpe3ZhciB0PW4ubWFrZUFycmF5KHRoaXMub3B0aW9ucy5zb3J0QnkpO3RoaXMuX2dldElzU2FtZVNvcnRCeSh0KXx8KHRoaXMuc29ydEhpc3Rvcnk9dC5jb25jYXQodGhpcy5zb3J0SGlzdG9yeSkpO3ZhciBlPWEodGhpcy5zb3J0SGlzdG9yeSx0aGlzLm9wdGlvbnMuc29ydEFzY2VuZGluZyk7dGhpcy5maWx0ZXJlZEl0ZW1zLnNvcnQoZSl9fSxsLl9nZXRJc1NhbWVTb3J0Qnk9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspaWYodFtlXSE9dGhpcy5zb3J0SGlzdG9yeVtlXSlyZXR1cm4hMTtyZXR1cm4hMH0sbC5fbW9kZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5sYXlvdXRNb2RlLGU9dGhpcy5tb2Rlc1t0XTtpZighZSl0aHJvdyBuZXcgRXJyb3IoIk5vIGxheW91dCBtb2RlOiAiK3QpO3JldHVybiBlLm9wdGlvbnM9dGhpcy5vcHRpb25zW3RdLGV9LGwuX3Jlc2V0TGF5b3V0PWZ1bmN0aW9uKCl7ZS5wcm90b3R5cGUuX3Jlc2V0TGF5b3V0LmNhbGwodGhpcyksdGhpcy5fbW9kZSgpLl9yZXNldExheW91dCgpfSxsLl9nZXRJdGVtTGF5b3V0UG9zaXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX21vZGUoKS5fZ2V0SXRlbUxheW91dFBvc2l0aW9uKHQpfSxsLl9tYW5hZ2VTdGFtcD1mdW5jdGlvbih0KXt0aGlzLl9tb2RlKCkuX21hbmFnZVN0YW1wKHQpfSxsLl9nZXRDb250YWluZXJTaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21vZGUoKS5fZ2V0Q29udGFpbmVyU2l6ZSgpfSxsLm5lZWRzUmVzaXplTGF5b3V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21vZGUoKS5uZWVkc1Jlc2l6ZUxheW91dCgpfSxsLmFwcGVuZGVkPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuYWRkSXRlbXModCk7aWYoZS5sZW5ndGgpe3ZhciBpPXRoaXMuX2ZpbHRlclJldmVhbEFkZGVkKGUpO3RoaXMuZmlsdGVyZWRJdGVtcz10aGlzLmZpbHRlcmVkSXRlbXMuY29uY2F0KGkpfX0sbC5wcmVwZW5kZWQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5faXRlbWl6ZSh0KTtpZihlLmxlbmd0aCl7dGhpcy5fcmVzZXRMYXlvdXQoKSx0aGlzLl9tYW5hZ2VTdGFtcHMoKTt2YXIgaT10aGlzLl9maWx0ZXJSZXZlYWxBZGRlZChlKTt0aGlzLmxheW91dEl0ZW1zKHRoaXMuZmlsdGVyZWRJdGVtcyksdGhpcy5maWx0ZXJlZEl0ZW1zPWkuY29uY2F0KHRoaXMuZmlsdGVyZWRJdGVtcyksdGhpcy5pdGVtcz1lLmNvbmNhdCh0aGlzLml0ZW1zKX19LGwuX2ZpbHRlclJldmVhbEFkZGVkPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2ZpbHRlcih0KTtyZXR1cm4gdGhpcy5oaWRlKGUubmVlZEhpZGUpLHRoaXMucmV2ZWFsKGUubWF0Y2hlcyksdGhpcy5sYXlvdXRJdGVtcyhlLm1hdGNoZXMsITApLGUubWF0Y2hlc30sbC5pbnNlcnQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5hZGRJdGVtcyh0KTtpZihlLmxlbmd0aCl7dmFyIGksbyxuPWUubGVuZ3RoO2ZvcihpPTA7aTxuO2krKylvPWVbaV0sdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKG8uZWxlbWVudCk7dmFyIHM9dGhpcy5fZmlsdGVyKGUpLm1hdGNoZXM7Zm9yKGk9MDtpPG47aSsrKWVbaV0uaXNMYXlvdXRJbnN0YW50PSEwO2Zvcih0aGlzLmFycmFuZ2UoKSxpPTA7aTxuO2krKylkZWxldGUgZVtpXS5pc0xheW91dEluc3RhbnQ7dGhpcy5yZXZlYWwocyl9fTt2YXIgYz1sLnJlbW92ZTtyZXR1cm4gbC5yZW1vdmU9ZnVuY3Rpb24odCl7dD1uLm1ha2VBcnJheSh0KTt2YXIgZT10aGlzLmdldEl0ZW1zKHQpO2MuY2FsbCh0aGlzLHQpO2Zvcih2YXIgaT1lJiZlLmxlbmd0aCxvPTA7aSYmbzxpO28rKyl7dmFyIHM9ZVtvXTtuLnJlbW92ZUZyb20odGhpcy5maWx0ZXJlZEl0ZW1zLHMpfX0sbC5zaHVmZmxlPWZ1bmN0aW9uKCl7Zm9yKHZhciB0PTA7dDx0aGlzLml0ZW1zLmxlbmd0aDt0Kyspe3ZhciBlPXRoaXMuaXRlbXNbdF07ZS5zb3J0RGF0YS5yYW5kb209TWF0aC5yYW5kb20oKX10aGlzLm9wdGlvbnMuc29ydEJ5PSJyYW5kb20iLHRoaXMuX3NvcnQoKSx0aGlzLl9sYXlvdXQoKX0sbC5fbm9UcmFuc2l0aW9uPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5vcHRpb25zLnRyYW5zaXRpb25EdXJhdGlvbjt0aGlzLm9wdGlvbnMudHJhbnNpdGlvbkR1cmF0aW9uPTA7dmFyIG89dC5hcHBseSh0aGlzLGUpO3JldHVybiB0aGlzLm9wdGlvbnMudHJhbnNpdGlvbkR1cmF0aW9uPWksb30sbC5nZXRGaWx0ZXJlZEl0ZW1FbGVtZW50cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZpbHRlcmVkSXRlbXMubWFwKGZ1bmN0aW9uKHQpe3JldHVybiB0LmVsZW1lbnR9KX0sZH0pOw0KDQoNCi8qDQogKiAganF1ZXJ5IHBhcmFsbGF4DQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qDQpQbHVnaW46IGpRdWVyeSBQYXJhbGxheA0KVmVyc2lvbiAxLjEuMw0KQXV0aG9yOiBJYW4gTHVubg0KVHdpdHRlcjogQElhbkx1bm4NCkF1dGhvciBVUkw6IGh0dHA6Ly93d3cuaWFubHVubi5jby51ay8NClBsdWdpbiBVUkw6IGh0dHA6Ly93d3cuaWFubHVubi5jby51ay9wbHVnaW5zL2pxdWVyeS1wYXJhbGxheC8NCkR1YWwgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBhbmQgR1BMIGxpY2Vuc2VzOg0KaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZS5waHANCmh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwuaHRtbA0KKi8NCihmdW5jdGlvbigkKXt2YXIgJHdpbmRvdz0kKHdpbmRvdyk7dmFyIHdpbmRvd0hlaWdodD0kd2luZG93LmhlaWdodCgpOyR3aW5kb3cucmVzaXplKGZ1bmN0aW9uKCl7d2luZG93SGVpZ2h0PSR3aW5kb3cuaGVpZ2h0KCl9KTskLmZuLnBhcmFsbGF4PWZ1bmN0aW9uKHhwb3Msc3BlZWRGYWN0b3Isb3V0ZXJIZWlnaHQpe3ZhciAkdGhpcz0kKHRoaXMpO3ZhciBnZXRIZWlnaHQ7dmFyIGZpcnN0VG9wO3ZhciBwYWRkaW5nVG9wPTA7JHRoaXMuZWFjaChmdW5jdGlvbigpe2ZpcnN0VG9wPSR0aGlzLm9mZnNldCgpLnRvcH0pO2lmKG91dGVySGVpZ2h0KXtnZXRIZWlnaHQ9ZnVuY3Rpb24oanFvKXtyZXR1cm4ganFvLm91dGVySGVpZ2h0KHRydWUpfX1lbHNle2dldEhlaWdodD1mdW5jdGlvbihqcW8pe3JldHVybiBqcW8uaGVpZ2h0KCl9fWlmKGFyZ3VtZW50cy5sZW5ndGg8MXx8eHBvcz09PW51bGwpeHBvcz0iNTAlIjtpZihhcmd1bWVudHMubGVuZ3RoPDJ8fHNwZWVkRmFjdG9yPT09bnVsbClzcGVlZEZhY3Rvcj0wLjE7aWYoYXJndW1lbnRzLmxlbmd0aDwzfHxvdXRlckhlaWdodD09PW51bGwpb3V0ZXJIZWlnaHQ9dHJ1ZTtmdW5jdGlvbiB1cGRhdGUoKXt2YXIgcG9zPSR3aW5kb3cuc2Nyb2xsVG9wKCk7JHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciAkZWxlbWVudD0kKHRoaXMpO3ZhciB0b3A9JGVsZW1lbnQub2Zmc2V0KCkudG9wO3ZhciBoZWlnaHQ9Z2V0SGVpZ2h0KCRlbGVtZW50KTtpZih0b3AraGVpZ2h0PHBvc3x8dG9wPnBvcyt3aW5kb3dIZWlnaHQpe3JldHVybn0kdGhpcy5jc3MoJ2JhY2tncm91bmRQb3NpdGlvbicseHBvcysiICIrTWF0aC5yb3VuZCgoZmlyc3RUb3AtcG9zKSpzcGVlZEZhY3RvcikrInB4Iil9KX0kd2luZG93LmJpbmQoJ3Njcm9sbCcsdXBkYXRlKS5yZXNpemUodXBkYXRlKTt1cGRhdGUoKX19KShqUXVlcnkpOw0KDQoNCg0KDQovKg0KICogIGFuaW1hdGVOdW1iZXJzDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qKioqKioqKioqKg0KCUFuaW1hdGVzIGVsZW1lbnQncyBudW1iZXIgdG8gbmV3IG51bWJlciB3aXRoIGNvbW1hcw0KCVBhcmFtZXRlcnM6DQoJCXN0b3AgKG51bWJlcik6IG51bWJlciB0byBzdG9wIG9uDQogICAgICAgIGNvbW1hcyAoYm9vbGVhbik6IHR1cm4gY29tbWFzIG9uL29mZiAoZGVmYXVsdCBpcyB0cnVlKQ0KCQlkdXJhdGlvbiAobnVtYmVyKTogaG93IGxvbmcgaW4gbXMgKGRlZmF1bHQgaXMgMTAwMCkNCgkJZWFzZSAoc3RyaW5nKTogdHlwZSBvZiBlYXNpbmcgKGRlZmF1bHQgaXMgInN3aW5nIiwgb3RoZXJzIGFyZSBhdmFpYWJsZSBmcm9tIGpRdWVyeSdzIGVhc2luZyBwbHVnaW4NCglFeGFtcGxlczoNCiAgICAgICAgJCgiI2RpdiIpLmFuaW1hdGVOdW1iZXJzKDEyMzQsIGZhbHNlLCA1MDAsICJsaW5lYXIiKTsgLy8gaGFsZiBzZWNvbmQgbGluZWFyIHdpdGhvdXQgY29tbWFzDQoJCSQoIiNkaXYiKS5hbmltYXRlTnVtYmVycygxMjM0LCB0cnVlLCAyMDAwKTsgLy8gdHdvIHNlY29uZCBzd2luZyB3aXRoIGNvbW1hcw0KCQkkKCIjZGl2IikuYW5pbWF0ZU51bWJlcnMoNDMyMSk7IC8vIG9uZSBzZWNvbmQgc3dpbmcgd2l0aCBjb21tYXMNCglUaGlzIGZ1bGx5IGV4cGVjdHMgYW4gZWxlbWVudCBjb250YWluaW5nIGFuIGludGVnZXINCglJZiB0aGUgbnVtYmVyIGlzIHdpdGhpbiBjb3B5IHRoZW4gc2VwYXJhdGUgaXQgd2l0aCBhIHNwYW4gYW5kIHRhcmdldCB0aGUgc3Bhbg0KCUluc2VydHMgYW5kIGFjY291bnRzIGZvciBjb21tYXMgZHVyaW5nIGFuaW1hdGlvbiBieSBkZWZhdWx0DQoqKioqKioqKioqKi8NCiFmdW5jdGlvbih0KXt0LmZuLmFuaW1hdGVOdW1iZXJzPWZ1bmN0aW9uKGUsbixhLGkpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZD10KHRoaXMpLG89cGFyc2VJbnQoZC50ZXh0KCkucmVwbGFjZSgvLC9nLCIiKSk7bj12b2lkIDA9PT1uPyEwOm4sdCh7dmFsdWU6b30pLmFuaW1hdGUoe3ZhbHVlOmV9LHtkdXJhdGlvbjp2b2lkIDA9PWE/MWUzOmEsZWFzaW5nOnZvaWQgMD09aT8ic3dpbmciOmksc3RlcDpmdW5jdGlvbigpe2QudGV4dChNYXRoLmZsb29yKHRoaXMudmFsdWUpKSxuJiZkLnRleHQoZC50ZXh0KCkucmVwbGFjZSgvKFxkKSg/PShcZFxkXGQpKyg/IVxkKSkvZywiJDEsIikpfSxjb21wbGV0ZTpmdW5jdGlvbigpe3BhcnNlSW50KGQudGV4dCgpKSE9PWUmJihkLnRleHQoZSksbiYmZC50ZXh0KGQudGV4dCgpLnJlcGxhY2UoLyhcZCkoPz0oXGRcZFxkKSsoPyFcZCkpL2csIiQxLCIpKSl9fSl9KX19KGpRdWVyeSk7DQoNCi8qDQogKiAgamZsaWNrcmZlZWQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLyoNCiogQ29weXJpZ2h0IChDKSAyMDA5IEpvZWwgU3V0aGVybGFuZA0KKiBMaWNlbmNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UNCiogaHR0cDovL3d3dy5uZXdtZWRpYWNhbXBhaWducy5jb20vcGFnZS9qcXVlcnktZmxpY2tyLXBsdWdpbg0KKg0KKiBBdmFpbGFibGUgdGFncyBmb3IgdGVtcGxhdGVzOg0KKiB0aXRsZSwgbGluaywgZGF0ZV90YWtlbiwgZGVzY3JpcHRpb24sIHB1Ymxpc2hlZCwgYXV0aG9yLCBhdXRob3JfaWQsIHRhZ3MsIGltYWdlKg0KKi8NCihmdW5jdGlvbigkKXskLmZuLmpmbGlja3JmZWVkPWZ1bmN0aW9uKHNldHRpbmdzLGNhbGxiYWNrKXtzZXR0aW5ncz0kLmV4dGVuZCh0cnVlLHtmbGlja3JiYXNlOidodHRwOi8vYXBpLmZsaWNrci5jb20vc2VydmljZXMvZmVlZHMvJyxmZWVkYXBpOidwaG90b3NfcHVibGljLmduZScsbGltaXQ6MjAscXN0cmluZ3M6e2xhbmc6J2VuLXVzJyxmb3JtYXQ6J2pzb24nLGpzb25jYWxsYmFjazonPyd9LGNsZWFuRGVzY3JpcHRpb246dHJ1ZSx1c2VUZW1wbGF0ZTp0cnVlLGl0ZW1UZW1wbGF0ZTonJyxpdGVtQ2FsbGJhY2s6ZnVuY3Rpb24oKXt9fSxzZXR0aW5ncyk7dmFyIHVybD1zZXR0aW5ncy5mbGlja3JiYXNlK3NldHRpbmdzLmZlZWRhcGkrJz8nO3ZhciBmaXJzdD10cnVlO2Zvcih2YXIga2V5IGluIHNldHRpbmdzLnFzdHJpbmdzKXtpZighZmlyc3QpDQp1cmwrPScmJzt1cmwrPWtleSsnPScrc2V0dGluZ3MucXN0cmluZ3Nba2V5XTtmaXJzdD1mYWxzZTt9DQpyZXR1cm4gJCh0aGlzKS5lYWNoKGZ1bmN0aW9uKCl7dmFyICRjb250YWluZXI9JCh0aGlzKTt2YXIgY29udGFpbmVyPXRoaXM7JC5nZXRKU09OKHVybCxmdW5jdGlvbihkYXRhKXskLmVhY2goZGF0YS5pdGVtcyxmdW5jdGlvbihpLGl0ZW0pe2lmKGk8c2V0dGluZ3MubGltaXQpe2lmKHNldHRpbmdzLmNsZWFuRGVzY3JpcHRpb24pe3ZhciByZWdleD0vPHA+KC4qPyk8XC9wPi9nO3ZhciBpbnB1dD1pdGVtLmRlc2NyaXB0aW9uO2lmKHJlZ2V4LnRlc3QoaW5wdXQpKXtpdGVtLmRlc2NyaXB0aW9uPWlucHV0Lm1hdGNoKHJlZ2V4KVsyXQ0KaWYoaXRlbS5kZXNjcmlwdGlvbiE9dW5kZWZpbmVkKQ0KaXRlbS5kZXNjcmlwdGlvbj1pdGVtLmRlc2NyaXB0aW9uLnJlcGxhY2UoJzxwPicsJycpLnJlcGxhY2UoJzwvcD4nLCcnKTt9fQ0KaXRlbVsnaW1hZ2VfcyddPWl0ZW0ubWVkaWEubS5yZXBsYWNlKCdfbScsJ19zJyk7aXRlbVsnaW1hZ2VfdCddPWl0ZW0ubWVkaWEubS5yZXBsYWNlKCdfbScsJ190Jyk7aXRlbVsnaW1hZ2VfbSddPWl0ZW0ubWVkaWEubS5yZXBsYWNlKCdfbScsJ19tJyk7aXRlbVsnaW1hZ2UnXT1pdGVtLm1lZGlhLm0ucmVwbGFjZSgnX20nLCcnKTtpdGVtWydpbWFnZV9iJ109aXRlbS5tZWRpYS5tLnJlcGxhY2UoJ19tJywnX2InKTtkZWxldGUgaXRlbS5tZWRpYTtpZihzZXR0aW5ncy51c2VUZW1wbGF0ZSl7dmFyIHRlbXBsYXRlPXNldHRpbmdzLml0ZW1UZW1wbGF0ZTtmb3IodmFyIGtleSBpbiBpdGVtKXt2YXIgcmd4PW5ldyBSZWdFeHAoJ3t7JytrZXkrJ319JywnZycpO3RlbXBsYXRlPXRlbXBsYXRlLnJlcGxhY2Uocmd4LGl0ZW1ba2V5XSk7fQ0KJGNvbnRhaW5lci5hcHBlbmQodGVtcGxhdGUpfQ0Kc2V0dGluZ3MuaXRlbUNhbGxiYWNrLmNhbGwoY29udGFpbmVyLGl0ZW0pO319KTtpZigkLmlzRnVuY3Rpb24oY2FsbGJhY2spKXtjYWxsYmFjay5jYWxsKGNvbnRhaW5lcixkYXRhKTt9fSk7fSk7fX0pKGpRdWVyeSk7DQoNCi8qDQogKiAgZml0dmlkcw0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKmpzaGludCBicm93c2VyOnRydWUgKi8NCi8qIQ0KKiBGaXRWaWRzIDEuMQ0KKg0KKiBDb3B5cmlnaHQgMjAxMywgQ2hyaXMgQ295aWVyIC0gaHR0cDovL2Nzcy10cmlja3MuY29tICsgRGF2ZSBSdXBlcnQgLSBodHRwOi8vZGF2ZXJ1cGVydC5jb20NCiogQ3JlZGl0IHRvIFRoaWVycnkgS29ibGVudHogLSBodHRwOi8vd3d3LmFsaXN0YXBhcnQuY29tL2FydGljbGVzL2NyZWF0aW5nLWludHJpbnNpYy1yYXRpb3MtZm9yLXZpZGVvLw0KKiBSZWxlYXNlZCB1bmRlciB0aGUgV1RGUEwgbGljZW5zZSAtIGh0dHA6Ly9zYW0uem95Lm9yZy93dGZwbC8NCioNCiovDQohZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3QuZm4uZml0Vmlkcz1mdW5jdGlvbihlKXt2YXIgaT17Y3VzdG9tU2VsZWN0b3I6bnVsbCxpZ25vcmU6bnVsbH07aWYoIWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJmaXQtdmlkcy1zdHlsZSIpKXt2YXIgcj1kb2N1bWVudC5oZWFkfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdLGE9Ii5mbHVpZC13aWR0aC12aWRlby13cmFwcGVye3dpZHRoOjEwMCU7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzowO30uZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciBpZnJhbWUsLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIgb2JqZWN0LC5mbHVpZC13aWR0aC12aWRlby13cmFwcGVyIGVtYmVkIHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTt9IixkPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2QuaW5uZXJIVE1MPSc8cD54PC9wPjxzdHlsZSBpZD0iZml0LXZpZHMtc3R5bGUiPicrYSsiPC9zdHlsZT4iLHIuYXBwZW5kQ2hpbGQoZC5jaGlsZE5vZGVzWzFdKX1yZXR1cm4gZSYmdC5leHRlbmQoaSxlKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT1bJ2lmcmFtZVtzcmMqPSJwbGF5ZXIudmltZW8uY29tIl0nLCdpZnJhbWVbc3JjKj0ieW91dHViZS5jb20iXScsJ2lmcmFtZVtzcmMqPSJ5b3V0dWJlLW5vY29va2llLmNvbSJdJywnaWZyYW1lW3NyYyo9ImtpY2tzdGFydGVyLmNvbSJdW3NyYyo9InZpZGVvLmh0bWwiXScsIm9iamVjdCIsImVtYmVkIl07aS5jdXN0b21TZWxlY3RvciYmZS5wdXNoKGkuY3VzdG9tU2VsZWN0b3IpO3ZhciByPSIuZml0dmlkc2lnbm9yZSI7aS5pZ25vcmUmJihyPXIrIiwgIitpLmlnbm9yZSk7dmFyIGE9dCh0aGlzKS5maW5kKGUuam9pbigiLCIpKTthPWEubm90KCJvYmplY3Qgb2JqZWN0IiksYT1hLm5vdChyKSxhLmVhY2goZnVuY3Rpb24oZSl7dmFyIGk9dCh0aGlzKTtpZighKGkucGFyZW50cyhyKS5sZW5ndGg+MHx8ImVtYmVkIj09PXRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpJiZpLnBhcmVudCgib2JqZWN0IikubGVuZ3RofHxpLnBhcmVudCgiLmZsdWlkLXdpZHRoLXZpZGVvLXdyYXBwZXIiKS5sZW5ndGgpKXtpLmNzcygiaGVpZ2h0Iil8fGkuY3NzKCJ3aWR0aCIpfHwhaXNOYU4oaS5hdHRyKCJoZWlnaHQiKSkmJiFpc05hTihpLmF0dHIoIndpZHRoIikpfHwoaS5hdHRyKCJoZWlnaHQiLDkpLGkuYXR0cigid2lkdGgiLDE2KSk7dmFyIGE9Im9iamVjdCI9PT10aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKXx8aS5hdHRyKCJoZWlnaHQiKSYmIWlzTmFOKHBhcnNlSW50KGkuYXR0cigiaGVpZ2h0IiksMTApKT9wYXJzZUludChpLmF0dHIoImhlaWdodCIpLDEwKTppLmhlaWdodCgpLGQ9aXNOYU4ocGFyc2VJbnQoaS5hdHRyKCJ3aWR0aCIpLDEwKSk/aS53aWR0aCgpOnBhcnNlSW50KGkuYXR0cigid2lkdGgiKSwxMCksbz1hL2Q7aWYoIWkuYXR0cigiaWQiKSl7dmFyIGg9ImZpdHZpZCIrZTtpLmF0dHIoImlkIixoKX0NCmkud3JhcCgnPGRpdiBjbGFzcz0iZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciI+PC9kaXY+JykucGFyZW50KCIuZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciIpLmNzcygicGFkZGluZy10b3AiLDEwMCpvKyIlIiksaS5yZW1vdmVBdHRyKCJoZWlnaHQiKS5yZW1vdmVBdHRyKCJ3aWR0aCIpfX0pfSl9fSh3aW5kb3cualF1ZXJ5fHx3aW5kb3cuWmVwdG8pOw0KDQovKg0KICogIFJldGluYS5qcw0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiENCiAqIFJldGluYS5qcyB2MS4zLjANCiAqDQogKiBDb3B5cmlnaHQgMjAxNCBJbXVsdXMsIExMQw0KICogUmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlDQogKg0KICogUmV0aW5hLmpzIGlzIGFuIG9wZW4gc291cmNlIHNjcmlwdCB0aGF0IG1ha2VzIGl0IGVhc3kgdG8gc2VydmUNCiAqIGhpZ2gtcmVzb2x1dGlvbiBpbWFnZXMgdG8gZGV2aWNlcyB3aXRoIHJldGluYSBkaXNwbGF5cy4NCiAqLw0KLyohZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7fWZ1bmN0aW9uIGIoYSl7cmV0dXJuIGYucmV0aW5hSW1hZ2VTdWZmaXgrYX1mdW5jdGlvbiBjKGEsYyl7aWYodGhpcy5wYXRoPWF8fCIiLCJ1bmRlZmluZWQiIT10eXBlb2YgYyYmbnVsbCE9PWMpdGhpcy5hdF8yeF9wYXRoPWMsdGhpcy5wZXJmb3JtX2NoZWNrPSExO2Vsc2V7aWYodm9pZCAwIT09ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCl7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYSIpO2QuaHJlZj10aGlzLnBhdGgsZC5wYXRobmFtZT1kLnBhdGhuYW1lLnJlcGxhY2UoZyxiKSx0aGlzLmF0XzJ4X3BhdGg9ZC5ocmVmfWVsc2V7dmFyIGU9dGhpcy5wYXRoLnNwbGl0KCI/Iik7ZVswXT1lWzBdLnJlcGxhY2UoZyxiKSx0aGlzLmF0XzJ4X3BhdGg9ZS5qb2luKCI/Iil9dGhpcy5wZXJmb3JtX2NoZWNrPSEwfX1mdW5jdGlvbiBkKGEpe3RoaXMuZWw9YSx0aGlzLnBhdGg9bmV3IGModGhpcy5lbC5nZXRBdHRyaWJ1dGUoInNyYyIpLHRoaXMuZWwuZ2V0QXR0cmlidXRlKCJkYXRhLWF0MngiKSk7dmFyIGI9dGhpczt0aGlzLnBhdGguY2hlY2tfMnhfdmFyaWFudChmdW5jdGlvbihhKXthJiZiLnN3YXAoKX0pfXZhciBlPSJ1bmRlZmluZWQiPT10eXBlb2YgZXhwb3J0cz93aW5kb3c6ZXhwb3J0cyxmPXtyZXRpbmFJbWFnZVN1ZmZpeDoiQDJ4IixjaGVja19taW1lX3R5cGU6ITAsZm9yY2Vfb3JpZ2luYWxfZGltZW5zaW9uczohMH07ZS5SZXRpbmE9YSxhLmNvbmZpZ3VyZT1mdW5jdGlvbihhKXtudWxsPT09YSYmKGE9e30pO2Zvcih2YXIgYiBpbiBhKWEuaGFzT3duUHJvcGVydHkoYikmJihmW2JdPWFbYl0pfSxhLmluaXQ9ZnVuY3Rpb24oYSl7bnVsbD09PWEmJihhPWUpO3ZhciBiPWEub25sb2FkfHxmdW5jdGlvbigpe307YS5vbmxvYWQ9ZnVuY3Rpb24oKXt2YXIgYSxjLGU9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImltZyIpLGY9W107Zm9yKGE9MDthPGUubGVuZ3RoO2ErPTEpYz1lW2FdLGMuZ2V0QXR0cmlidXRlTm9kZSgiZGF0YS1uby1yZXRpbmEiKXx8Zi5wdXNoKG5ldyBkKGMpKTtiKCl9fSxhLmlzUmV0aW5hPWZ1bmN0aW9uKCl7dmFyIGE9Iigtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzLzIpLCAobWluLXJlc29sdXRpb246IDEuNWRwcHgpIjtyZXR1cm4gZS5kZXZpY2VQaXhlbFJhdGlvPjE/ITA6ZS5tYXRjaE1lZGlhJiZlLm1hdGNoTWVkaWEoYSkubWF0Y2hlcz8hMDohMX07dmFyIGc9L1wuXHcrJC87ZS5SZXRpbmFJbWFnZVBhdGg9YyxjLmNvbmZpcm1lZF9wYXRocz1bXSxjLnByb3RvdHlwZS5pc19leHRlcm5hbD1mdW5jdGlvbigpe3JldHVybiEoIXRoaXMucGF0aC5tYXRjaCgvXmh0dHBzP1w6L2kpfHx0aGlzLnBhdGgubWF0Y2goIi8vIitkb2N1bWVudC5kb21haW4pKX0sYy5wcm90b3R5cGUuY2hlY2tfMnhfdmFyaWFudD1mdW5jdGlvbihhKXt2YXIgYixkPXRoaXM7cmV0dXJuIHRoaXMuaXNfZXh0ZXJuYWwoKT9hKCExKTp0aGlzLnBlcmZvcm1fY2hlY2t8fCJ1bmRlZmluZWQiPT10eXBlb2YgdGhpcy5hdF8yeF9wYXRofHxudWxsPT09dGhpcy5hdF8yeF9wYXRoP3RoaXMuYXRfMnhfcGF0aCBpbiBjLmNvbmZpcm1lZF9wYXRocz9hKCEwKTooYj1uZXcgWE1MSHR0cFJlcXVlc3QsYi5vcGVuKCJIRUFEIix0aGlzLmF0XzJ4X3BhdGgpLGIub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7aWYoNCE9PWIucmVhZHlTdGF0ZSlyZXR1cm4gYSghMSk7aWYoYi5zdGF0dXM+PTIwMCYmYi5zdGF0dXM8PTM5OSl7aWYoZi5jaGVja19taW1lX3R5cGUpe3ZhciBlPWIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpO2lmKG51bGw9PT1lfHwhZS5tYXRjaCgvXmltYWdlL2kpKXJldHVybiBhKCExKX1yZXR1cm4gYy5jb25maXJtZWRfcGF0aHMucHVzaChkLmF0XzJ4X3BhdGgpLGEoITApfXJldHVybiBhKCExKX0sYi5zZW5kKCksdm9pZCAwKTphKCEwKX0sZS5SZXRpbmFJbWFnZT1kLGQucHJvdG90eXBlLnN3YXA9ZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYigpe2MuZWwuY29tcGxldGU/KGYuZm9yY2Vfb3JpZ2luYWxfZGltZW5zaW9ucyYmKGMuZWwuc2V0QXR0cmlidXRlKCJ3aWR0aCIsYy5lbC5vZmZzZXRXaWR0aCksYy5lbC5zZXRBdHRyaWJ1dGUoImhlaWdodCIsYy5lbC5vZmZzZXRIZWlnaHQpKSxjLmVsLnNldEF0dHJpYnV0ZSgic3JjIixhKSk6c2V0VGltZW91dChiLDUpfSJ1bmRlZmluZWQiPT10eXBlb2YgYSYmKGE9dGhpcy5wYXRoLmF0XzJ4X3BhdGgpO3ZhciBjPXRoaXM7YigpfSxhLmlzUmV0aW5hKCkmJmEuaW5pdChlKX0oKTsNCiovDQoNCi8qDQogKiAgYWpheGNoaW1wDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qIQ0KICogdmVyc2lvbiAxLjMuMCANCiAqLw0KKGZ1bmN0aW9uKCQpeyJ1c2Ugc3RyaWN0IjskLmFqYXhDaGltcD17cmVzcG9uc2VzOnsiV2UgaGF2ZSBzZW50IHlvdSBhIGNvbmZpcm1hdGlvbiBlbWFpbCI6MCwiUGxlYXNlIGVudGVyIGEgdmFsdWUiOjEsIkFuIGVtYWlsIGFkZHJlc3MgbXVzdCBjb250YWluIGEgc2luZ2xlIEAiOjIsIlRoZSBkb21haW4gcG9ydGlvbiBvZiB0aGUgZW1haWwgYWRkcmVzcyBpcyBpbnZhbGlkICh0aGUgcG9ydGlvbiBhZnRlciB0aGUgQDogKSI6MywiVGhlIHVzZXJuYW1lIHBvcnRpb24gb2YgdGhlIGVtYWlsIGFkZHJlc3MgaXMgaW52YWxpZCAodGhlIHBvcnRpb24gYmVmb3JlIHRoZSBAOiApIjo0LCJUaGlzIGVtYWlsIGFkZHJlc3MgbG9va3MgZmFrZSBvciBpbnZhbGlkLiBQbGVhc2UgZW50ZXIgYSByZWFsIGVtYWlsIGFkZHJlc3MiOjV9LHRyYW5zbGF0aW9uczp7ZW46bnVsbH0saW5pdDpmdW5jdGlvbihzZWxlY3RvcixvcHRpb25zKXskKHNlbGVjdG9yKS5hamF4Q2hpbXAob3B0aW9ucyl9fTskLmZuLmFqYXhDaGltcD1mdW5jdGlvbihvcHRpb25zKXskKHRoaXMpLmVhY2goZnVuY3Rpb24oaSxlbGVtKXt2YXIgZm9ybT0kKGVsZW0pO3ZhciBlbWFpbD1mb3JtLmZpbmQoImlucHV0W3R5cGU9ZW1haWxdIik7dmFyIGxhYmVsPWZvcm0uZmluZCgibGFiZWxbZm9yPSIrZW1haWwuYXR0cigiaWQiKSsiXSIpO3ZhciBzZXR0aW5ncz0kLmV4dGVuZCh7dXJsOmZvcm0uYXR0cigiYWN0aW9uIiksbGFuZ3VhZ2U6ImVuIn0sb3B0aW9ucyk7dmFyIHVybD1zZXR0aW5ncy51cmwucmVwbGFjZSgiL3Bvc3Q/IiwiL3Bvc3QtanNvbj8iKS5jb25jYXQoIiZjPT8iKTtmb3JtLmF0dHIoIm5vdmFsaWRhdGUiLCJ0cnVlIik7ZW1haWwuYXR0cigibmFtZSIsIkVNQUlMIik7Zm9ybS5zdWJtaXQoZnVuY3Rpb24oKXt2YXIgbXNnO2Z1bmN0aW9uIHN1Y2Nlc3NDYWxsYmFjayhyZXNwKXtpZihyZXNwLnJlc3VsdD09PSJzdWNjZXNzIil7bXNnPSJXZSBoYXZlIHNlbnQgeW91IGEgY29uZmlybWF0aW9uIGVtYWlsIjtsYWJlbC5yZW1vdmVDbGFzcygiZXJyb3IiKS5hZGRDbGFzcygidmFsaWQiKTtlbWFpbC5yZW1vdmVDbGFzcygiZXJyb3IiKS5hZGRDbGFzcygidmFsaWQiKX1lbHNle2VtYWlsLnJlbW92ZUNsYXNzKCJ2YWxpZCIpLmFkZENsYXNzKCJlcnJvciIpO2xhYmVsLnJlbW92ZUNsYXNzKCJ2YWxpZCIpLmFkZENsYXNzKCJlcnJvciIpO3ZhciBpbmRleD0tMTt0cnl7dmFyIHBhcnRzPXJlc3AubXNnLnNwbGl0KCIgLSAiLDIpO2lmKHBhcnRzWzFdPT09dW5kZWZpbmVkKXttc2c9cmVzcC5tc2d9ZWxzZXt2YXIgaT1wYXJzZUludChwYXJ0c1swXSwxMCk7aWYoaS50b1N0cmluZygpPT09cGFydHNbMF0pe2luZGV4PXBhcnRzWzBdO21zZz1wYXJ0c1sxXX1lbHNle2luZGV4PS0xO21zZz1yZXNwLm1zZ319fWNhdGNoKGUpe2luZGV4PS0xO21zZz1yZXNwLm1zZ319aWYoc2V0dGluZ3MubGFuZ3VhZ2UhPT0iZW4iJiYkLmFqYXhDaGltcC5yZXNwb25zZXNbbXNnXSE9PXVuZGVmaW5lZCYmJC5hamF4Q2hpbXAudHJhbnNsYXRpb25zJiYkLmFqYXhDaGltcC50cmFuc2xhdGlvbnNbc2V0dGluZ3MubGFuZ3VhZ2VdJiYkLmFqYXhDaGltcC50cmFuc2xhdGlvbnNbc2V0dGluZ3MubGFuZ3VhZ2VdWyQuYWpheENoaW1wLnJlc3BvbnNlc1ttc2ddXSl7bXNnPSQuYWpheENoaW1wLnRyYW5zbGF0aW9uc1tzZXR0aW5ncy5sYW5ndWFnZV1bJC5hamF4Q2hpbXAucmVzcG9uc2VzW21zZ11dfWxhYmVsLmh0bWwobXNnKTtsYWJlbC5zaG93KDJlMyk7aWYoc2V0dGluZ3MuY2FsbGJhY2spe3NldHRpbmdzLmNhbGxiYWNrKHJlc3ApfX12YXIgZGF0YT17fTt2YXIgZGF0YUFycmF5PWZvcm0uc2VyaWFsaXplQXJyYXkoKTskLmVhY2goZGF0YUFycmF5LGZ1bmN0aW9uKGluZGV4LGl0ZW0pe2RhdGFbaXRlbS5uYW1lXT1pdGVtLnZhbHVlfSk7JC5hamF4KHt1cmw6dXJsLGRhdGE6ZGF0YSxzdWNjZXNzOnN1Y2Nlc3NDYWxsYmFjayxkYXRhVHlwZToianNvbnAiLGVycm9yOmZ1bmN0aW9uKHJlc3AsdGV4dCl7Y29uc29sZS5sb2coIm1haWxjaGltcCBhamF4IHN1Ym1pdCBlcnJvcjogIit0ZXh0KX19KTt2YXIgc3VibWl0TXNnPSJTdWJtaXR0aW5nLi4uIjtpZihzZXR0aW5ncy5sYW5ndWFnZSE9PSJlbiImJiQuYWpheENoaW1wLnRyYW5zbGF0aW9ucyYmJC5hamF4Q2hpbXAudHJhbnNsYXRpb25zW3NldHRpbmdzLmxhbmd1YWdlXSYmJC5hamF4Q2hpbXAudHJhbnNsYXRpb25zW3NldHRpbmdzLmxhbmd1YWdlXVsic3VibWl0Il0pe3N1Ym1pdE1zZz0kLmFqYXhDaGltcC50cmFuc2xhdGlvbnNbc2V0dGluZ3MubGFuZ3VhZ2VdWyJzdWJtaXQiXX1sYWJlbC5odG1sKHN1Ym1pdE1zZykuc2hvdygyZTMpO3JldHVybiBmYWxzZX0pfSk7cmV0dXJuIHRoaXN9fSkoalF1ZXJ5KTsNCg0KDQovKg0KICogIHR3ZWV0aWUNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KKGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtlLmZuLnR3aXR0aWU9ZnVuY3Rpb24oKXt2YXIgdD1hcmd1bWVudHNbMF1pbnN0YW5jZW9mIE9iamVjdD9hcmd1bWVudHNbMF06e30sbj10eXBlb2YgYXJndW1lbnRzWzBdPT09ImZ1bmN0aW9uIj9hcmd1bWVudHNbMF06YXJndW1lbnRzWzFdO3ZhciByPWUuZXh0ZW5kKHt1c2VybmFtZTpudWxsLGxpc3Q6bnVsbCxoYXNodGFnOm51bGwsY291bnQ6MTAsaGlkZVJlcGxpZXM6ZmFsc2UsZGF0ZUZvcm1hdDoiJWIvJWQvJVkiLHRlbXBsYXRlOiJ7e2RhdGV9fSAtIHt7dHdlZXR9fSIsYXBpUGF0aDoiaW5jbHVkZXMvdHdpdHRlci90d2VldC5waHAiLGxvYWRpbmdUZXh0OiJMb2FkaW5nLi4uIn0sdCk7aWYoci5saXN0JiYhci51c2VybmFtZSl7ZS5lcnJvcigiSWYgeW91IHdhbnQgdG8gZmV0Y2ggdHdlZXRzIGZyb20gYSBsaXN0LCB5b3UgbXVzdCBkZWZpbmUgdGhlIHVzZXJuYW1lIG9mIHRoZSBsaXN0IG93bmVyLiIpfXZhciBpPWZ1bmN0aW9uKGUpe3ZhciB0PWUucmVwbGFjZSgvKGh0dHBzPzpcL1wvKFstXHdcLl0rKSsoOlxkKyk/KFwvKFtcd1wvX1wuXSooXD9cUyspPyk/KT8pL2lnLCc8YSBocmVmPSIkMSIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJWaXNpdCB0aGlzIGxpbmsiPiQxPC9hPicpLnJlcGxhY2UoLyMoW2EtekEtWjAtOV9dKykvZywnPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS9zZWFyY2g/cT0lMjMkMSZzcmM9aGFzaCIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSJTZWFyY2ggZm9yICMkMSI+IyQxPC9hPicpLnJlcGxhY2UoL0AoW2EtekEtWjAtOV9dKykvZywnPGEgaHJlZj0iaHR0cHM6Ly90d2l0dGVyLmNvbS8kMSIgdGFyZ2V0PSJfYmxhbmsiIHRpdGxlPSIkMSBvbiBUd2l0dGVyIj5AJDE8L2E+Jyk7cmV0dXJuIHR9O3ZhciBzPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3BsaXQoIiAiKTtlPW5ldyBEYXRlKERhdGUucGFyc2UodFsxXSsiICIrdFsyXSsiLCAiK3RbNV0rIiAiK3RbM10rIiBVVEMiKSk7dmFyIG49WyJKYW51YXJ5IiwiRmVicnVhcnkiLCJNYXJjaCIsIkFwcmlsIiwiTWF5IiwiSnVuZSIsIkp1bHkiLCJBdWd1c3QiLCJTZXB0ZW1iZXIiLCJPY3RvYmVyIiwiTm92ZW1iZXIiLCJEZWNlbWJlciJdO3ZhciBpPXsiJWQiOmUuZ2V0RGF0ZSgpLCIlbSI6ZS5nZXRNb250aCgpKzEsIiViIjpuW2UuZ2V0TW9udGgoKV0uc3Vic3RyKDAsMyksIiVCIjpuW2UuZ2V0TW9udGgoKV0sIiV5IjpTdHJpbmcoZS5nZXRGdWxsWWVhcigpKS5zbGljZSgtMiksIiVZIjplLmdldEZ1bGxZZWFyKCl9O3ZhciBzPXIuZGF0ZUZvcm1hdDt2YXIgbz1yLmRhdGVGb3JtYXQubWF0Y2goLyVbZG1iQnlZXS9nKTtmb3IodmFyIHU9MCxhPW8ubGVuZ3RoO3U8YTt1Kyspe3M9cy5yZXBsYWNlKG9bdV0saVtvW3VdXSl9cmV0dXJuIHN9O3ZhciBvPWZ1bmN0aW9uKGUpe3ZhciB0PXIudGVtcGxhdGU7dmFyIG49WyJkYXRlIiwidHdlZXQiLCJhdmF0YXIiLCJ1cmwiLCJyZXR3ZWV0ZWQiLCJzY3JlZW5fbmFtZSIsInVzZXJfbmFtZSJdO2Zvcih2YXIgaT0wLHM9bi5sZW5ndGg7aTxzO2krKyl7dD10LnJlcGxhY2UobmV3IFJlZ0V4cCgie3siK25baV0rIn19IiwiZ2kiKSxlW25baV1dKX1yZXR1cm4gdH07dGhpcy5odG1sKCI8c3Bhbj4iK3IubG9hZGluZ1RleHQrIjwvc3Bhbj4iKTt2YXIgdT10aGlzO2UuZ2V0SlNPTihyLmFwaVBhdGgse3VzZXJuYW1lOnIudXNlcm5hbWUsbGlzdDpyLmxpc3QsaGFzaHRhZzpyLmhhc2h0YWcsY291bnQ6ci5jb3VudCxleGNsdWRlX3JlcGxpZXM6ci5oaWRlUmVwbGllc30sZnVuY3Rpb24oZSl7dS5maW5kKCJzcGFuIikuZmFkZU91dCgiZmFzdCIsZnVuY3Rpb24oKXt1Lmh0bWwoIjx1bD48L3VsPiIpO2Zvcih2YXIgdD0wO3Q8ci5jb3VudDt0Kyspe3ZhciBhPWZhbHNlO2lmKGVbdF0pe2E9ZVt0XX1lbHNlIGlmKGUuc3RhdHVzZXMhPT11bmRlZmluZWQmJmUuc3RhdHVzZXNbdF0pe2E9ZS5zdGF0dXNlc1t0XX1lbHNle2JyZWFrfXZhciBmPXt1c2VyX25hbWU6YS51c2VyLm5hbWUsZGF0ZTpzKGEuY3JlYXRlZF9hdCksdHdlZXQ6YS5yZXR3ZWV0ZWQ/aSgiUlQgQCIrYS51c2VyLnNjcmVlbl9uYW1lKyI6ICIrYS5yZXR3ZWV0ZWRfc3RhdHVzLnRleHQpOmkoYS50ZXh0KSxhdmF0YXI6JzxpbWcgc3JjPSInK2EudXNlci5wcm9maWxlX2ltYWdlX3VybCsnIiAvPicsdXJsOiJodHRwczovL3R3aXR0ZXIuY29tLyIrYS51c2VyLnNjcmVlbl9uYW1lKyIvc3RhdHVzLyIrYS5pZF9zdHIscmV0d2VldGVkOmEucmV0d2VldGVkLHNjcmVlbl9uYW1lOmkoIkAiK2EudXNlci5zY3JlZW5fbmFtZSl9O3UuZmluZCgidWwiKS5hcHBlbmQoIjxsaSBjbGFzcz0naXRlbSc+IitvKGYpKyI8L2xpPiIpfWlmKHR5cGVvZiBuPT09ImZ1bmN0aW9uIil7bigpfX0pfSl9fSkoalF1ZXJ5KQ0KDQovKg0KICogIG1lbnVmdWxscGFnZQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiEgbWVudWZ1bGxwYWdlIC0gdjEuMC4wIC0gMjAxNS0wMy0yNg0KKiBodHRwczovL2dpdGh1Yi5jb20vcm90dGVuc3R1ZGlvcy9tZW51ZnVsbHBhZ2UNCiogQ29weXJpZ2h0IChjKSAyMDE1IENhcm1lbG8gQ2F0YWxmYW1vIC0gcm90dGVuU3R1ZGlvcy5pdCAqLw0KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjthLmZuLm1lbnVmdWxscGFnZT1mdW5jdGlvbihiKXt2YXIgYz1hLmV4dGVuZCh7bWVudToiI2Z1bGxwYWdlLW5hdiIscHVzaDoiLnB1c2giLHNpZGU6ImxlZnQiLG1lbnVXaWR0aDoiMTAwJSIsc3BlZWQ6IjQwMCIsYWN0aXZlQnRuOiJtZW51LW9wZW4ifSxiKSxkPXRoaXMsZT1hKGMubWVudSksZj1hKGMucHVzaCksZz1jLm1lbnVXaWR0aCxoPXtwb3NpdGlvbjoiZml4ZWQiLHRvcDoiMCIsYm90dG9tOiIwIiwic2V0dGluZ3Muc2lkZSI6Ii0iK2MubWVudVdpZHRoLHdpZHRoOmMubWVudVdpZHRoLGhlaWdodDoiMTAwJSJ9LGk9eyItd2Via2l0LXRyYW5zaXRpb24iOmMuc2lkZSsiICIrYy5zcGVlZCsibXMgZWFzZSIsIi1tb3otdHJhbnNpdGlvbiI6Yy5zaWRlKyIgIitjLnNwZWVkKyJtcyBlYXNlIiwiLW1zLXRyYW5zaXRpb24iOmMuc2lkZSsiICIrYy5zcGVlZCsibXMgZWFzZSIsIi1vLXRyYW5zaXRpb24iOmMuc2lkZSsiICIrYy5zcGVlZCsibXMgZWFzZSIsdHJhbnNpdGlvbjpjLnNpZGUrIiAiK2Muc3BlZWQrIm1zIGVhc2UifTtyZXR1cm4gZS5jc3MoaCksZi5jc3MoYy5zaWRlLCIwIiksZS5jc3MoaSksZi5jc3MoaSksZS5fc3RhdGU9ImNsb3NlZCIsZS5vcGVuPWZ1bmN0aW9uKCl7ZS5fc3RhdGU9Im9wZW4iLGUuY3NzKGMuc2lkZSwiMCIpLGYuY3NzKGMuc2lkZSxnKSxkLmFkZENsYXNzKGMuYWN0aXZlQnRuKX0sZS5jbG9zZT1mdW5jdGlvbigpe2UuX3N0YXRlPSJjbG9zZWQiLGUuY3NzKGMuc2lkZSwiLSIrZyksZi5jc3MoYy5zaWRlLCIwIiksZC5yZW1vdmVDbGFzcyhjLmFjdGl2ZUJ0bil9LGEoZG9jdW1lbnQpLm9uKCJjbGljay5tZW51ZnVsbHBhZ2UiLGZ1bmN0aW9uKGIpe2EoYi50YXJnZXQpLnBhcmVudHMoKS5hbmRTZWxmKCkuaXMoZCl8fCJvcGVuIiE9PWUuX3N0YXRlfHwoZS5jbG9zZSgpLGQucmVtb3ZlQ2xhc3MoYy5hY3RpdmVCdG4pKX0pLGQub24oImNsaWNrLm1lbnVmdWxscGFnZSIsZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpLCJjbG9zZWQiPT09ZS5fc3RhdGU/ZS5vcGVuKCk6ZS5jbG9zZSgpfSksZC5vbigidG91Y2hlbmQiLGZ1bmN0aW9uKGEpe2QudHJpZ2dlcigiY2xpY2subWVudWZ1bGxwYWdlIiksYS5wcmV2ZW50RGVmYXVsdCgpfSksZX19KGpRdWVyeSk7IWZ1bmN0aW9uKGUsdCl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoInNtb290aFNjcm9sbCIsdChlKSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPXQoZSk6ZS5zbW9vdGhTY3JvbGw9dChlKX0od2luZG93fHx0aGlzLGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0Ijt2YXIgdCxuLG8scj17fSxhPSEhZG9jdW1lbnQucXVlcnlTZWxlY3RvciYmISFlLmFkZEV2ZW50TGlzdGVuZXIsYz17c3BlZWQ6NTAwLGVhc2luZzoiZWFzZUluT3V0Q3ViaWMiLG9mZnNldDowLHVwZGF0ZVVSTDohMCxjYWxsYmFja0JlZm9yZTpmdW5jdGlvbigpe30sY2FsbGJhY2tBZnRlcjpmdW5jdGlvbigpe319LHU9ZnVuY3Rpb24oZSx0LG4pe2lmKCJbb2JqZWN0IE9iamVjdF0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpKWZvcih2YXIgbyBpbiBlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLG8pJiZ0LmNhbGwobixlW29dLG8sZSk7ZWxzZSBmb3IodmFyIHI9MCxhPWUubGVuZ3RoO2E+cjtyKyspdC5jYWxsKG4sZVtyXSxyLGUpfSxpPWZ1bmN0aW9uKGUsdCl7dmFyIG49e307cmV0dXJuIHUoZSxmdW5jdGlvbih0LG8pe25bb109ZVtvXX0pLHUodCxmdW5jdGlvbihlLG8pe25bb109dFtvXX0pLG59LGw9ZnVuY3Rpb24oZSx0KXtmb3IodmFyIG49dC5jaGFyQXQoMCk7ZSYmZSE9PWRvY3VtZW50O2U9ZS5wYXJlbnROb2RlKWlmKCIuIj09PW4pe2lmKGUuY2xhc3NMaXN0LmNvbnRhaW5zKHQuc3Vic3RyKDEpKSlyZXR1cm4gZX1lbHNlIGlmKCIjIj09PW4pe2lmKGUuaWQ9PT10LnN1YnN0cigxKSlyZXR1cm4gZX1lbHNlIGlmKCJbIj09PW4mJmUuaGFzQXR0cmlidXRlKHQuc3Vic3RyKDEsdC5sZW5ndGgtMikpKXJldHVybiBlO3JldHVybiExfSxzPWZ1bmN0aW9uKGUpe3JldHVybiBNYXRoLm1heChlLnNjcm9sbEhlaWdodCxlLm9mZnNldEhlaWdodCxlLmNsaWVudEhlaWdodCl9LGY9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0LG49U3RyaW5nKGUpLG89bi5sZW5ndGgscj0tMSxhPSIiLGM9bi5jaGFyQ29kZUF0KDApOysrcjxvOyl7aWYodD1uLmNoYXJDb2RlQXQociksMD09PXQpdGhyb3cgbmV3IEludmFsaWRDaGFyYWN0ZXJFcnJvcigiSW52YWxpZCBjaGFyYWN0ZXI6IHRoZSBpbnB1dCBjb250YWlucyBVKzAwMDAuIik7YSs9dD49MSYmMzE+PXR8fDEyNz09dHx8MD09PXImJnQ+PTQ4JiY1Nz49dHx8MT09PXImJnQ+PTQ4JiY1Nz49dCYmNDU9PT1jPyJcXCIrdC50b1N0cmluZygxNikrIiAiOnQ+PTEyOHx8NDU9PT10fHw5NT09PXR8fHQ+PTQ4JiY1Nz49dHx8dD49NjUmJjkwPj10fHx0Pj05NyYmMTIyPj10P24uY2hhckF0KHIpOiJcXCIrbi5jaGFyQXQocil9cmV0dXJuIGF9LGQ9ZnVuY3Rpb24oZSx0KXt2YXIgbjtyZXR1cm4iZWFzZUluUXVhZCI9PT1lJiYobj10KnQpLCJlYXNlT3V0UXVhZCI9PT1lJiYobj10KigyLXQpKSwiZWFzZUluT3V0UXVhZCI9PT1lJiYobj0uNT50PzIqdCp0Oi0xKyg0LTIqdCkqdCksImVhc2VJbkN1YmljIj09PWUmJihuPXQqdCp0KSwiZWFzZU91dEN1YmljIj09PWUmJihuPS0tdCp0KnQrMSksImVhc2VJbk91dEN1YmljIj09PWUmJihuPS41PnQ/NCp0KnQqdDoodC0xKSooMip0LTIpKigyKnQtMikrMSksImVhc2VJblF1YXJ0Ij09PWUmJihuPXQqdCp0KnQpLCJlYXNlT3V0UXVhcnQiPT09ZSYmKG49MS0gLS10KnQqdCp0KSwiZWFzZUluT3V0UXVhcnQiPT09ZSYmKG49LjU+dD84KnQqdCp0KnQ6MS04Ki0tdCp0KnQqdCksImVhc2VJblF1aW50Ij09PWUmJihuPXQqdCp0KnQqdCksImVhc2VPdXRRdWludCI9PT1lJiYobj0xKy0tdCp0KnQqdCp0KSwiZWFzZUluT3V0UXVpbnQiPT09ZSYmKG49LjU+dD8xNip0KnQqdCp0KnQ6MSsxNiotLXQqdCp0KnQqdCksbnx8dH0saD1mdW5jdGlvbihlLHQsbil7dmFyIG89MDtpZihlLm9mZnNldFBhcmVudClkbyBvKz1lLm9mZnNldFRvcCxlPWUub2Zmc2V0UGFyZW50O3doaWxlKGUpO3JldHVybiBvPW8tdC1uLG8+PTA/bzowfSxtPWZ1bmN0aW9uKCl7cmV0dXJuIE1hdGgubWF4KGRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0LGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxIZWlnaHQsZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQsZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50Lm9mZnNldEhlaWdodCxkb2N1bWVudC5ib2R5LmNsaWVudEhlaWdodCxkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuY2xpZW50SGVpZ2h0KX0scD1mdW5jdGlvbihlKXtyZXR1cm4gZSYmIm9iamVjdCI9PXR5cGVvZiBKU09OJiYiZnVuY3Rpb24iPT10eXBlb2YgSlNPTi5wYXJzZT9KU09OLnBhcnNlKGUpOnt9fSx2PWZ1bmN0aW9uKHQsbil7aGlzdG9yeS5wdXNoU3RhdGUmJihufHwidHJ1ZSI9PT1uKSYmaGlzdG9yeS5wdXNoU3RhdGUobnVsbCxudWxsLFtlLmxvY2F0aW9uLnByb3RvY29sLCIvLyIsZS5sb2NhdGlvbi5ob3N0LGUubG9jYXRpb24ucGF0aG5hbWUsZS5sb2NhdGlvbi5zZWFyY2gsdF0uam9pbigiIikpfTtyLmFuaW1hdGVTY3JvbGw9ZnVuY3Rpb24odCxuLHIpe3ZhciBhPWkoYXx8YyxyfHx7fSksdT1wKHQ/dC5nZXRBdHRyaWJ1dGUoImRhdGEtb3B0aW9ucyIpOm51bGwpO2E9aShhLHUpLG49IiMiK2Yobi5zdWJzdHIoMSkpO3ZhciBsPSIjIj09PW4/ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50OmRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IobiksZz1lLnBhZ2VZT2Zmc2V0O298fChvPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoIltkYXRhLXNjcm9sbC1oZWFkZXJdIikpO3ZhciBiLE8seSxTPW51bGw9PT1vPzA6cyhvKStvLm9mZnNldFRvcCxJPWgobCxTLHBhcnNlSW50KGEub2Zmc2V0LDEwKSksSD1JLWcsRT1tKCksQT0wO3YobixhLnVwZGF0ZVVSTCk7dmFyIEw9ZnVuY3Rpb24obyxyLGMpe3ZhciB1PWUucGFnZVlPZmZzZXQ7KG89PXJ8fHU9PXJ8fGUuaW5uZXJIZWlnaHQrdT49RSkmJihjbGVhckludGVydmFsKGMpLGwuZm9jdXMoKSxhLmNhbGxiYWNrQWZ0ZXIodCxuKSl9LFE9ZnVuY3Rpb24oKXtBKz0xNixPPUEvcGFyc2VJbnQoYS5zcGVlZCwxMCksTz1PPjE/MTpPLHk9ZytIKmQoYS5lYXNpbmcsTyksZS5zY3JvbGxUbygwLE1hdGguZmxvb3IoeSkpLEwoeSxJLGIpfSxDPWZ1bmN0aW9uKCl7YS5jYWxsYmFja0JlZm9yZSh0LG4pLGI9c2V0SW50ZXJ2YWwoUSwxNil9OzA9PT1lLnBhZ2VZT2Zmc2V0JiZlLnNjcm9sbFRvKDAsMCksQygpfTt2YXIgZz1mdW5jdGlvbihlKXt2YXIgbj1sKGUudGFyZ2V0LCJbZGF0YS1zY3JvbGxdIik7biYmImEiPT09bi50YWdOYW1lLnRvTG93ZXJDYXNlKCkmJihlLnByZXZlbnREZWZhdWx0KCksci5hbmltYXRlU2Nyb2xsKG4sbi5oYXNoLHQpKX0sYj1mdW5jdGlvbigpe258fChuPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtuPW51bGwsaGVhZGVySGVpZ2h0PW51bGw9PT1vPzA6cyhvKStvLm9mZnNldFRvcH0sNjYpKX07cmV0dXJuIHIuZGVzdHJveT1mdW5jdGlvbigpe3QmJihkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCJjbGljayIsZywhMSksZS5yZW1vdmVFdmVudExpc3RlbmVyKCJyZXNpemUiLGIsITEpLHQ9bnVsbCxuPW51bGwsbz1udWxsKX0sci5pbml0PWZ1bmN0aW9uKG4pe2EmJihyLmRlc3Ryb3koKSx0PWkoYyxufHx7fSksbz1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKCJbZGF0YS1zY3JvbGwtaGVhZGVyXSIpLGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIixnLCExKSxvJiZlLmFkZEV2ZW50TGlzdGVuZXIoInJlc2l6ZSIsYiwhMSkpfSxyfSk7DQoNCi8qDQogKiAgV09XIGFuaW1hdGlvbg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiEgV09XIC0gdjEuMS4yIC0gMjAxNS0wOC0xOQ0KKiBDb3B5cmlnaHQgKGMpIDIwMTUgTWF0dGhpZXUgQXVzc2FndWVsOyBMaWNlbnNlZCBNSVQgKi8NCihmdW5jdGlvbigpe3ZhciBhLGIsYyxkLGUsZj1mdW5jdGlvbihhLGIpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGIsYXJndW1lbnRzKX19LGc9W10uaW5kZXhPZnx8ZnVuY3Rpb24oYSl7Zm9yKHZhciBiPTAsYz10aGlzLmxlbmd0aDtjPmI7YisrKWlmKGIgaW4gdGhpcyYmdGhpc1tiXT09PWEpcmV0dXJuIGI7cmV0dXJuLTF9O2I9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7fXJldHVybiBhLnByb3RvdHlwZS5leHRlbmQ9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkO2ZvcihjIGluIGIpZD1iW2NdLG51bGw9PWFbY10mJihhW2NdPWQpO3JldHVybiBhfSxhLnByb3RvdHlwZS5pc01vYmlsZT1mdW5jdGlvbihhKXtyZXR1cm4vQW5kcm9pZHx3ZWJPU3xpUGhvbmV8aVBhZHxpUG9kfEJsYWNrQmVycnl8SUVNb2JpbGV8T3BlcmEgTWluaS9pLnRlc3QoYSl9LGEucHJvdG90eXBlLmNyZWF0ZUV2ZW50PWZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlO3JldHVybiBudWxsPT1iJiYoYj0hMSksbnVsbD09YyYmKGM9ITEpLG51bGw9PWQmJihkPW51bGwpLG51bGwhPWRvY3VtZW50LmNyZWF0ZUV2ZW50PyhlPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJDdXN0b21FdmVudCIpLGUuaW5pdEN1c3RvbUV2ZW50KGEsYixjLGQpKTpudWxsIT1kb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdD8oZT1kb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdCgpLGUuZXZlbnRUeXBlPWEpOmUuZXZlbnROYW1lPWEsZX0sYS5wcm90b3R5cGUuZW1pdEV2ZW50PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGwhPWEuZGlzcGF0Y2hFdmVudD9hLmRpc3BhdGNoRXZlbnQoYik6YiBpbihudWxsIT1hKT9hW2JdKCk6Im9uIitiIGluKG51bGwhPWEpP2FbIm9uIitiXSgpOnZvaWQgMH0sYS5wcm90b3R5cGUuYWRkRXZlbnQ9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBudWxsIT1hLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKGIsYywhMSk6bnVsbCE9YS5hdHRhY2hFdmVudD9hLmF0dGFjaEV2ZW50KCJvbiIrYixjKTphW2JdPWN9LGEucHJvdG90eXBlLnJlbW92ZUV2ZW50PWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gbnVsbCE9YS5yZW1vdmVFdmVudExpc3RlbmVyP2EucmVtb3ZlRXZlbnRMaXN0ZW5lcihiLGMsITEpOm51bGwhPWEuZGV0YWNoRXZlbnQ/YS5kZXRhY2hFdmVudCgib24iK2IsYyk6ZGVsZXRlIGFbYl19LGEucHJvdG90eXBlLmlubmVySGVpZ2h0PWZ1bmN0aW9uKCl7cmV0dXJuImlubmVySGVpZ2h0ImluIHdpbmRvdz93aW5kb3cuaW5uZXJIZWlnaHQ6ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodH0sYX0oKSxjPXRoaXMuV2Vha01hcHx8dGhpcy5Nb3pXZWFrTWFwfHwoYz1mdW5jdGlvbigpe2Z1bmN0aW9uIGEoKXt0aGlzLmtleXM9W10sdGhpcy52YWx1ZXM9W119cmV0dXJuIGEucHJvdG90eXBlLmdldD1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmO2ZvcihmPXRoaXMua2V5cyxiPWQ9MCxlPWYubGVuZ3RoO2U+ZDtiPSsrZClpZihjPWZbYl0sYz09PWEpcmV0dXJuIHRoaXMudmFsdWVzW2JdfSxhLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZixnO2ZvcihnPXRoaXMua2V5cyxjPWU9MCxmPWcubGVuZ3RoO2Y+ZTtjPSsrZSlpZihkPWdbY10sZD09PWEpcmV0dXJuIHZvaWQodGhpcy52YWx1ZXNbY109Yik7cmV0dXJuIHRoaXMua2V5cy5wdXNoKGEpLHRoaXMudmFsdWVzLnB1c2goYil9LGF9KCkpLGE9dGhpcy5NdXRhdGlvbk9ic2VydmVyfHx0aGlzLldlYmtpdE11dGF0aW9uT2JzZXJ2ZXJ8fHRoaXMuTW96TXV0YXRpb25PYnNlcnZlcnx8KGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7InVuZGVmaW5lZCIhPXR5cGVvZiBjb25zb2xlJiZudWxsIT09Y29uc29sZSYmY29uc29sZS53YXJuKCJNdXRhdGlvbk9ic2VydmVyIGlzIG5vdCBzdXBwb3J0ZWQgYnkgeW91ciBicm93c2VyLiIpLCJ1bmRlZmluZWQiIT10eXBlb2YgY29uc29sZSYmbnVsbCE9PWNvbnNvbGUmJmNvbnNvbGUud2FybigiV09XLmpzIGNhbm5vdCBkZXRlY3QgZG9tIG11dGF0aW9ucywgcGxlYXNlIGNhbGwgLnN5bmMoKSBhZnRlciBsb2FkaW5nIG5ldyBjb250ZW50LiIpfXJldHVybiBhLm5vdFN1cHBvcnRlZD0hMCxhLnByb3RvdHlwZS5vYnNlcnZlPWZ1bmN0aW9uKCl7fSxhfSgpKSxkPXRoaXMuZ2V0Q29tcHV0ZWRTdHlsZXx8ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZ2V0UHJvcGVydHlWYWx1ZT1mdW5jdGlvbihiKXt2YXIgYztyZXR1cm4iZmxvYXQiPT09YiYmKGI9InN0eWxlRmxvYXQiKSxlLnRlc3QoYikmJmIucmVwbGFjZShlLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGIudG9VcHBlckNhc2UoKX0pLChudWxsIT0oYz1hLmN1cnJlbnRTdHlsZSk/Y1tiXTp2b2lkIDApfHxudWxsfSx0aGlzfSxlPS8oXC0oW2Etel0pezF9KS9nLHRoaXMuV09XPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShhKXtudWxsPT1hJiYoYT17fSksdGhpcy5zY3JvbGxDYWxsYmFjaz1mKHRoaXMuc2Nyb2xsQ2FsbGJhY2ssdGhpcyksdGhpcy5zY3JvbGxIYW5kbGVyPWYodGhpcy5zY3JvbGxIYW5kbGVyLHRoaXMpLHRoaXMucmVzZXRBbmltYXRpb249Zih0aGlzLnJlc2V0QW5pbWF0aW9uLHRoaXMpLHRoaXMuc3RhcnQ9Zih0aGlzLnN0YXJ0LHRoaXMpLHRoaXMuc2Nyb2xsZWQ9ITAsdGhpcy5jb25maWc9dGhpcy51dGlsKCkuZXh0ZW5kKGEsdGhpcy5kZWZhdWx0cyksbnVsbCE9YS5zY3JvbGxDb250YWluZXImJih0aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvcihhLnNjcm9sbENvbnRhaW5lcikpLHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlPW5ldyBjLHRoaXMud293RXZlbnQ9dGhpcy51dGlsKCkuY3JlYXRlRXZlbnQodGhpcy5jb25maWcuYm94Q2xhc3MpfXJldHVybiBlLnByb3RvdHlwZS5kZWZhdWx0cz17Ym94Q2xhc3M6IndvdyIsYW5pbWF0ZUNsYXNzOiJhbmltYXRlZCIsb2Zmc2V0OjAsbW9iaWxlOiEwLGxpdmU6ITAsY2FsbGJhY2s6bnVsbCxzY3JvbGxDb250YWluZXI6bnVsbH0sZS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3ZhciBhO3JldHVybiB0aGlzLmVsZW1lbnQ9d2luZG93LmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCwiaW50ZXJhY3RpdmUiPT09KGE9ZG9jdW1lbnQucmVhZHlTdGF0ZSl8fCJjb21wbGV0ZSI9PT1hP3RoaXMuc3RhcnQoKTp0aGlzLnV0aWwoKS5hZGRFdmVudChkb2N1bWVudCwiRE9NQ29udGVudExvYWRlZCIsdGhpcy5zdGFydCksdGhpcy5maW5pc2hlZD1bXX0sZS5wcm90b3R5cGUuc3RhcnQ9ZnVuY3Rpb24oKXt2YXIgYixjLGQsZTtpZih0aGlzLnN0b3BwZWQ9ITEsdGhpcy5ib3hlcz1mdW5jdGlvbigpe3ZhciBhLGMsZCxlO2ZvcihkPXRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKCIuIit0aGlzLmNvbmZpZy5ib3hDbGFzcyksZT1bXSxhPTAsYz1kLmxlbmd0aDtjPmE7YSsrKWI9ZFthXSxlLnB1c2goYik7cmV0dXJuIGV9LmNhbGwodGhpcyksdGhpcy5hbGw9ZnVuY3Rpb24oKXt2YXIgYSxjLGQsZTtmb3IoZD10aGlzLmJveGVzLGU9W10sYT0wLGM9ZC5sZW5ndGg7Yz5hO2ErKyliPWRbYV0sZS5wdXNoKGIpO3JldHVybiBlfS5jYWxsKHRoaXMpLHRoaXMuYm94ZXMubGVuZ3RoKWlmKHRoaXMuZGlzYWJsZWQoKSl0aGlzLnJlc2V0U3R5bGUoKTtlbHNlIGZvcihlPXRoaXMuYm94ZXMsYz0wLGQ9ZS5sZW5ndGg7ZD5jO2MrKyliPWVbY10sdGhpcy5hcHBseVN0eWxlKGIsITApO3JldHVybiB0aGlzLmRpc2FibGVkKCl8fCh0aGlzLnV0aWwoKS5hZGRFdmVudCh0aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXJ8fHdpbmRvdywic2Nyb2xsIix0aGlzLnNjcm9sbEhhbmRsZXIpLHRoaXMudXRpbCgpLmFkZEV2ZW50KHdpbmRvdywicmVzaXplIix0aGlzLnNjcm9sbEhhbmRsZXIpLHRoaXMuaW50ZXJ2YWw9c2V0SW50ZXJ2YWwodGhpcy5zY3JvbGxDYWxsYmFjayw1MCkpLHRoaXMuY29uZmlnLmxpdmU/bmV3IGEoZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3ZhciBjLGQsZSxmLGc7Zm9yKGc9W10sYz0wLGQ9Yi5sZW5ndGg7ZD5jO2MrKylmPWJbY10sZy5wdXNoKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Zm9yKGM9Zi5hZGRlZE5vZGVzfHxbXSxkPVtdLGE9MCxiPWMubGVuZ3RoO2I+YTthKyspZT1jW2FdLGQucHVzaCh0aGlzLmRvU3luYyhlKSk7cmV0dXJuIGR9LmNhbGwoYSkpO3JldHVybiBnfX0odGhpcykpLm9ic2VydmUoZG9jdW1lbnQuYm9keSx7Y2hpbGRMaXN0OiEwLHN1YnRyZWU6ITB9KTp2b2lkIDB9LGUucHJvdG90eXBlLnN0b3A9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zdG9wcGVkPSEwLHRoaXMudXRpbCgpLnJlbW92ZUV2ZW50KHRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lcnx8d2luZG93LCJzY3JvbGwiLHRoaXMuc2Nyb2xsSGFuZGxlciksdGhpcy51dGlsKCkucmVtb3ZlRXZlbnQod2luZG93LCJyZXNpemUiLHRoaXMuc2Nyb2xsSGFuZGxlciksbnVsbCE9dGhpcy5pbnRlcnZhbD9jbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpOnZvaWQgMH0sZS5wcm90b3R5cGUuc3luYz1mdW5jdGlvbigpe3JldHVybiBhLm5vdFN1cHBvcnRlZD90aGlzLmRvU3luYyh0aGlzLmVsZW1lbnQpOnZvaWQgMH0sZS5wcm90b3R5cGUuZG9TeW5jPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY7aWYobnVsbD09YSYmKGE9dGhpcy5lbGVtZW50KSwxPT09YS5ub2RlVHlwZSl7Zm9yKGE9YS5wYXJlbnROb2RlfHxhLGU9YS5xdWVyeVNlbGVjdG9yQWxsKCIuIit0aGlzLmNvbmZpZy5ib3hDbGFzcyksZj1bXSxjPTAsZD1lLmxlbmd0aDtkPmM7YysrKWI9ZVtjXSxnLmNhbGwodGhpcy5hbGwsYik8MD8odGhpcy5ib3hlcy5wdXNoKGIpLHRoaXMuYWxsLnB1c2goYiksdGhpcy5zdG9wcGVkfHx0aGlzLmRpc2FibGVkKCk/dGhpcy5yZXNldFN0eWxlKCk6dGhpcy5hcHBseVN0eWxlKGIsITApLGYucHVzaCh0aGlzLnNjcm9sbGVkPSEwKSk6Zi5wdXNoKHZvaWQgMCk7cmV0dXJuIGZ9fSxlLnByb3RvdHlwZS5zaG93PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmFwcGx5U3R5bGUoYSksYS5jbGFzc05hbWU9YS5jbGFzc05hbWUrIiAiK3RoaXMuY29uZmlnLmFuaW1hdGVDbGFzcyxudWxsIT10aGlzLmNvbmZpZy5jYWxsYmFjayYmdGhpcy5jb25maWcuY2FsbGJhY2soYSksdGhpcy51dGlsKCkuZW1pdEV2ZW50KGEsdGhpcy53b3dFdmVudCksdGhpcy51dGlsKCkuYWRkRXZlbnQoYSwiYW5pbWF0aW9uZW5kIix0aGlzLnJlc2V0QW5pbWF0aW9uKSx0aGlzLnV0aWwoKS5hZGRFdmVudChhLCJvYW5pbWF0aW9uZW5kIix0aGlzLnJlc2V0QW5pbWF0aW9uKSx0aGlzLnV0aWwoKS5hZGRFdmVudChhLCJ3ZWJraXRBbmltYXRpb25FbmQiLHRoaXMucmVzZXRBbmltYXRpb24pLHRoaXMudXRpbCgpLmFkZEV2ZW50KGEsIk1TQW5pbWF0aW9uRW5kIix0aGlzLnJlc2V0QW5pbWF0aW9uKSxhfSxlLnByb3RvdHlwZS5hcHBseVN0eWxlPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlO3JldHVybiBkPWEuZ2V0QXR0cmlidXRlKCJkYXRhLXdvdy1kdXJhdGlvbiIpLGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtd293LWRlbGF5IiksZT1hLmdldEF0dHJpYnV0ZSgiZGF0YS13b3ctaXRlcmF0aW9uIiksdGhpcy5hbmltYXRlKGZ1bmN0aW9uKGYpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBmLmN1c3RvbVN0eWxlKGEsYixkLGMsZSl9fSh0aGlzKSl9LGUucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24oKXtyZXR1cm4icmVxdWVzdEFuaW1hdGlvbkZyYW1lImluIHdpbmRvdz9mdW5jdGlvbihhKXtyZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShhKX06ZnVuY3Rpb24oYSl7cmV0dXJuIGEoKX19KCksZS5wcm90b3R5cGUucmVzZXRTdHlsZT1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGU7Zm9yKGQ9dGhpcy5ib3hlcyxlPVtdLGI9MCxjPWQubGVuZ3RoO2M+YjtiKyspYT1kW2JdLGUucHVzaChhLnN0eWxlLnZpc2liaWxpdHk9InZpc2libGUiKTtyZXR1cm4gZX0sZS5wcm90b3R5cGUucmVzZXRBbmltYXRpb249ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIGEudHlwZS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImFuaW1hdGlvbmVuZCIpPj0wPyhiPWEudGFyZ2V0fHxhLnNyY0VsZW1lbnQsYi5jbGFzc05hbWU9Yi5jbGFzc05hbWUucmVwbGFjZSh0aGlzLmNvbmZpZy5hbmltYXRlQ2xhc3MsIiIpLnRyaW0oKSk6dm9pZCAwfSxlLnByb3RvdHlwZS5jdXN0b21TdHlsZT1mdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiBiJiZ0aGlzLmNhY2hlQW5pbWF0aW9uTmFtZShhKSxhLnN0eWxlLnZpc2liaWxpdHk9Yj8iaGlkZGVuIjoidmlzaWJsZSIsYyYmdGhpcy52ZW5kb3JTZXQoYS5zdHlsZSx7YW5pbWF0aW9uRHVyYXRpb246Y30pLGQmJnRoaXMudmVuZG9yU2V0KGEuc3R5bGUse2FuaW1hdGlvbkRlbGF5OmR9KSxlJiZ0aGlzLnZlbmRvclNldChhLnN0eWxlLHthbmltYXRpb25JdGVyYXRpb25Db3VudDplfSksdGhpcy52ZW5kb3JTZXQoYS5zdHlsZSx7YW5pbWF0aW9uTmFtZTpiPyJub25lIjp0aGlzLmNhY2hlZEFuaW1hdGlvbk5hbWUoYSl9KSxhfSxlLnByb3RvdHlwZS52ZW5kb3JzPVsibW96Iiwid2Via2l0Il0sZS5wcm90b3R5cGUudmVuZG9yU2V0PWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlLGY7ZD1bXTtmb3IoYyBpbiBiKWU9YltjXSxhWyIiK2NdPWUsZC5wdXNoKGZ1bmN0aW9uKCl7dmFyIGIsZCxnLGg7Zm9yKGc9dGhpcy52ZW5kb3JzLGg9W10sYj0wLGQ9Zy5sZW5ndGg7ZD5iO2IrKylmPWdbYl0saC5wdXNoKGFbIiIrZitjLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK2Muc3Vic3RyKDEpXT1lKTtyZXR1cm4gaH0uY2FsbCh0aGlzKSk7cmV0dXJuIGR9LGUucHJvdG90eXBlLnZlbmRvckNTUz1mdW5jdGlvbihhLGIpe3ZhciBjLGUsZixnLGgsaTtmb3IoaD1kKGEpLGc9aC5nZXRQcm9wZXJ0eUNTU1ZhbHVlKGIpLGY9dGhpcy52ZW5kb3JzLGM9MCxlPWYubGVuZ3RoO2U+YztjKyspaT1mW2NdLGc9Z3x8aC5nZXRQcm9wZXJ0eUNTU1ZhbHVlKCItIitpKyItIitiKTtyZXR1cm4gZ30sZS5wcm90b3R5cGUuYW5pbWF0aW9uTmFtZT1mdW5jdGlvbihhKXt2YXIgYjt0cnl7Yj10aGlzLnZlbmRvckNTUyhhLCJhbmltYXRpb24tbmFtZSIpLmNzc1RleHR9Y2F0Y2goYyl7Yj1kKGEpLmdldFByb3BlcnR5VmFsdWUoImFuaW1hdGlvbi1uYW1lIil9cmV0dXJuIm5vbmUiPT09Yj8iIjpifSxlLnByb3RvdHlwZS5jYWNoZUFuaW1hdGlvbk5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLnNldChhLHRoaXMuYW5pbWF0aW9uTmFtZShhKSl9LGUucHJvdG90eXBlLmNhY2hlZEFuaW1hdGlvbk5hbWU9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYW5pbWF0aW9uTmFtZUNhY2hlLmdldChhKX0sZS5wcm90b3R5cGUuc2Nyb2xsSGFuZGxlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNjcm9sbGVkPSEwfSxlLnByb3RvdHlwZS5zY3JvbGxDYWxsYmFjaz1mdW5jdGlvbigpe3ZhciBhO3JldHVybiF0aGlzLnNjcm9sbGVkfHwodGhpcy5zY3JvbGxlZD0hMSx0aGlzLmJveGVzPWZ1bmN0aW9uKCl7dmFyIGIsYyxkLGU7Zm9yKGQ9dGhpcy5ib3hlcyxlPVtdLGI9MCxjPWQubGVuZ3RoO2M+YjtiKyspYT1kW2JdLGEmJih0aGlzLmlzVmlzaWJsZShhKT90aGlzLnNob3coYSk6ZS5wdXNoKGEpKTtyZXR1cm4gZX0uY2FsbCh0aGlzKSx0aGlzLmJveGVzLmxlbmd0aHx8dGhpcy5jb25maWcubGl2ZSk/dm9pZCAwOnRoaXMuc3RvcCgpfSxlLnByb3RvdHlwZS5vZmZzZXRUb3A9ZnVuY3Rpb24oYSl7Zm9yKHZhciBiO3ZvaWQgMD09PWEub2Zmc2V0VG9wOylhPWEucGFyZW50Tm9kZTtmb3IoYj1hLm9mZnNldFRvcDthPWEub2Zmc2V0UGFyZW50OyliKz1hLm9mZnNldFRvcDtyZXR1cm4gYn0sZS5wcm90b3R5cGUuaXNWaXNpYmxlPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY7cmV0dXJuIGM9YS5nZXRBdHRyaWJ1dGUoImRhdGEtd293LW9mZnNldCIpfHx0aGlzLmNvbmZpZy5vZmZzZXQsZj10aGlzLmNvbmZpZy5zY3JvbGxDb250YWluZXImJnRoaXMuY29uZmlnLnNjcm9sbENvbnRhaW5lci5zY3JvbGxUb3B8fHdpbmRvdy5wYWdlWU9mZnNldCxlPWYrTWF0aC5taW4odGhpcy5lbGVtZW50LmNsaWVudEhlaWdodCx0aGlzLnV0aWwoKS5pbm5lckhlaWdodCgpKS1jLGQ9dGhpcy5vZmZzZXRUb3AoYSksYj1kK2EuY2xpZW50SGVpZ2h0LGU+PWQmJmI+PWZ9LGUucHJvdG90eXBlLnV0aWw9ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9dGhpcy5fdXRpbD90aGlzLl91dGlsOnRoaXMuX3V0aWw9bmV3IGJ9LGUucHJvdG90eXBlLmRpc2FibGVkPWZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMuY29uZmlnLm1vYmlsZSYmdGhpcy51dGlsKCkuaXNNb2JpbGUobmF2aWdhdG9yLnVzZXJBZ2VudCl9LGV9KCl9KS5jYWxsKHRoaXMpOw0KDQoNCi8qDQogKiAgVHlwZWQgQW5pbWF0aW9uDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCiFmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIHM9ZnVuY3Rpb24ocyxlKXt0aGlzLmVsPXQocyksdGhpcy5vcHRpb25zPXQuZXh0ZW5kKHt9LHQuZm4udHlwZWQuZGVmYXVsdHMsZSksdGhpcy5pc0lucHV0PXRoaXMuZWwuaXMoImlucHV0IiksdGhpcy5hdHRyPXRoaXMub3B0aW9ucy5hdHRyLHRoaXMuc2hvd0N1cnNvcj10aGlzLmlzSW5wdXQ/ITE6dGhpcy5vcHRpb25zLnNob3dDdXJzb3IsdGhpcy5lbENvbnRlbnQ9dGhpcy5hdHRyP3RoaXMuZWwuYXR0cih0aGlzLmF0dHIpOnRoaXMuZWwudGV4dCgpLHRoaXMuY29udGVudFR5cGU9dGhpcy5vcHRpb25zLmNvbnRlbnRUeXBlLHRoaXMudHlwZVNwZWVkPXRoaXMub3B0aW9ucy50eXBlU3BlZWQsdGhpcy5zdGFydERlbGF5PXRoaXMub3B0aW9ucy5zdGFydERlbGF5LHRoaXMuYmFja1NwZWVkPXRoaXMub3B0aW9ucy5iYWNrU3BlZWQsdGhpcy5iYWNrRGVsYXk9dGhpcy5vcHRpb25zLmJhY2tEZWxheSx0aGlzLnN0cmluZ3NFbGVtZW50PXRoaXMub3B0aW9ucy5zdHJpbmdzRWxlbWVudCx0aGlzLnN0cmluZ3M9dGhpcy5vcHRpb25zLnN0cmluZ3MsdGhpcy5zdHJQb3M9MCx0aGlzLmFycmF5UG9zPTAsdGhpcy5zdG9wTnVtPTAsdGhpcy5sb29wPXRoaXMub3B0aW9ucy5sb29wLHRoaXMubG9vcENvdW50PXRoaXMub3B0aW9ucy5sb29wQ291bnQsdGhpcy5jdXJMb29wPTAsdGhpcy5zdG9wPSExLHRoaXMuY3Vyc29yQ2hhcj10aGlzLm9wdGlvbnMuY3Vyc29yQ2hhcix0aGlzLnNodWZmbGU9dGhpcy5vcHRpb25zLnNodWZmbGUsdGhpcy5zZXF1ZW5jZT1bXSx0aGlzLmJ1aWxkKCl9O3MucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpzLGluaXQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3QudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zm9yKHZhciBzPTA7czx0LnN0cmluZ3MubGVuZ3RoOysrcyl0LnNlcXVlbmNlW3NdPXM7dC5zaHVmZmxlJiYodC5zZXF1ZW5jZT10LnNodWZmbGVBcnJheSh0LnNlcXVlbmNlKSksdC50eXBld3JpdGUodC5zdHJpbmdzW3Quc2VxdWVuY2VbdC5hcnJheVBvc11dLHQuc3RyUG9zKX0sdC5zdGFydERlbGF5KX0sYnVpbGQ6ZnVuY3Rpb24oKXt2YXIgcz10aGlzO2lmKHRoaXMuc2hvd0N1cnNvcj09PSEwJiYodGhpcy5jdXJzb3I9dCgnPHNwYW4gY2xhc3M9InR5cGVkLWN1cnNvciI+Jyt0aGlzLmN1cnNvckNoYXIrIjwvc3Bhbj4iKSx0aGlzLmVsLmFmdGVyKHRoaXMuY3Vyc29yKSksdGhpcy5zdHJpbmdzRWxlbWVudCl7cy5zdHJpbmdzPVtdLHRoaXMuc3RyaW5nc0VsZW1lbnQuaGlkZSgpO3ZhciBlPXRoaXMuc3RyaW5nc0VsZW1lbnQuZmluZCgicCIpO3QuZWFjaChlLGZ1bmN0aW9uKGUsaSl7cy5zdHJpbmdzLnB1c2godChpKS5odG1sKCkpfSl9dGhpcy5pbml0KCl9LHR5cGV3cml0ZTpmdW5jdGlvbih0LHMpe2lmKHRoaXMuc3RvcCE9PSEwKXt2YXIgZT1NYXRoLnJvdW5kKDcwKk1hdGgucmFuZG9tKCkpK3RoaXMudHlwZVNwZWVkLGk9dGhpcztpLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBlPTAscj10LnN1YnN0cihzKTtpZigiXiI9PT1yLmNoYXJBdCgwKSl7dmFyIG89MTsvXlxeXGQrLy50ZXN0KHIpJiYocj0vXGQrLy5leGVjKHIpWzBdLG8rPXIubGVuZ3RoLGU9cGFyc2VJbnQocikpLHQ9dC5zdWJzdHJpbmcoMCxzKSt0LnN1YnN0cmluZyhzK28pfWlmKCJodG1sIj09PWkuY29udGVudFR5cGUpe3ZhciBuPXQuc3Vic3RyKHMpLmNoYXJBdCgwKTtpZigiPCI9PT1ufHwiJiI9PT1uKXt2YXIgYT0iIixoPSIiO2ZvcihoPSI8Ij09PW4/Ij4iOiI7Ijt0LnN1YnN0cihzKS5jaGFyQXQoMCkhPT1oOylhKz10LnN1YnN0cihzKS5jaGFyQXQoMCkscysrO3MrKyxhKz1ofX1pLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe2lmKHM9PT10Lmxlbmd0aCl7aWYoaS5vcHRpb25zLm9uU3RyaW5nVHlwZWQoaS5hcnJheVBvcyksaS5hcnJheVBvcz09PWkuc3RyaW5ncy5sZW5ndGgtMSYmKGkub3B0aW9ucy5jYWxsYmFjaygpLGkuY3VyTG9vcCsrLGkubG9vcD09PSExfHxpLmN1ckxvb3A9PT1pLmxvb3BDb3VudCkpcmV0dXJuO2kudGltZW91dD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7aS5iYWNrc3BhY2UodCxzKX0saS5iYWNrRGVsYXkpfWVsc2V7MD09PXMmJmkub3B0aW9ucy5wcmVTdHJpbmdUeXBlZChpLmFycmF5UG9zKTt2YXIgZT10LnN1YnN0cigwLHMrMSk7aS5hdHRyP2kuZWwuYXR0cihpLmF0dHIsZSk6aS5pc0lucHV0P2kuZWwudmFsKGUpOiJodG1sIj09PWkuY29udGVudFR5cGU/aS5lbC5odG1sKGUpOmkuZWwudGV4dChlKSxzKyssaS50eXBld3JpdGUodCxzKX19LGUpfSxlKX19LGJhY2tzcGFjZTpmdW5jdGlvbih0LHMpe2lmKHRoaXMuc3RvcCE9PSEwKXt2YXIgZT1NYXRoLnJvdW5kKDcwKk1hdGgucmFuZG9tKCkpK3RoaXMuYmFja1NwZWVkLGk9dGhpcztpLnRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe2lmKCJodG1sIj09PWkuY29udGVudFR5cGUmJiI+Ij09PXQuc3Vic3RyKHMpLmNoYXJBdCgwKSl7Zm9yKHZhciBlPSIiOyI8IiE9PXQuc3Vic3RyKHMpLmNoYXJBdCgwKTspZS09dC5zdWJzdHIocykuY2hhckF0KDApLHMtLTtzLS0sZSs9IjwifXZhciByPXQuc3Vic3RyKDAscyk7aS5hdHRyP2kuZWwuYXR0cihpLmF0dHIscik6aS5pc0lucHV0P2kuZWwudmFsKHIpOiJodG1sIj09PWkuY29udGVudFR5cGU/aS5lbC5odG1sKHIpOmkuZWwudGV4dChyKSxzPmkuc3RvcE51bT8ocy0tLGkuYmFja3NwYWNlKHQscykpOnM8PWkuc3RvcE51bSYmKGkuYXJyYXlQb3MrKyxpLmFycmF5UG9zPT09aS5zdHJpbmdzLmxlbmd0aD8oaS5hcnJheVBvcz0wLGkuc2h1ZmZsZSYmKGkuc2VxdWVuY2U9aS5zaHVmZmxlQXJyYXkoaS5zZXF1ZW5jZSkpLGkuaW5pdCgpKTppLnR5cGV3cml0ZShpLnN0cmluZ3NbaS5zZXF1ZW5jZVtpLmFycmF5UG9zXV0scykpfSxlKX19LHNodWZmbGVBcnJheTpmdW5jdGlvbih0KXt2YXIgcyxlLGk9dC5sZW5ndGg7aWYoaSlmb3IoOy0taTspZT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqKGkrMSkpLHM9dFtlXSx0W2VdPXRbaV0sdFtpXT1zO3JldHVybiB0fSxyZXNldDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7Y2xlYXJJbnRlcnZhbCh0LnRpbWVvdXQpO3ZhciBzPXRoaXMuZWwuYXR0cigiaWQiKTt0aGlzLmVsLmFmdGVyKCc8c3BhbiBpZD0iJytzKyciLz4nKSx0aGlzLmVsLnJlbW92ZSgpLCJ1bmRlZmluZWQiIT10eXBlb2YgdGhpcy5jdXJzb3ImJnRoaXMuY3Vyc29yLnJlbW92ZSgpLHQub3B0aW9ucy5yZXNldENhbGxiYWNrKCl9fSx0LmZuLnR5cGVkPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgaT10KHRoaXMpLHI9aS5kYXRhKCJ0eXBlZCIpLG89Im9iamVjdCI9PXR5cGVvZiBlJiZlO3J8fGkuZGF0YSgidHlwZWQiLHI9bmV3IHModGhpcyxvKSksInN0cmluZyI9PXR5cGVvZiBlJiZyW2VdKCl9KX0sdC5mbi50eXBlZC5kZWZhdWx0cz17c3RyaW5nczpbIlRoZXNlIGFyZSB0aGUgZGVmYXVsdCB2YWx1ZXMuLi4iLCJZb3Uga25vdyB3aGF0IHlvdSBzaG91bGQgZG8/IiwiVXNlIHlvdXIgb3duISIsIkhhdmUgYSBncmVhdCBkYXkhIl0sc3RyaW5nc0VsZW1lbnQ6bnVsbCx0eXBlU3BlZWQ6MCxzdGFydERlbGF5OjAsYmFja1NwZWVkOjAsc2h1ZmZsZTohMSxiYWNrRGVsYXk6NTAwLGxvb3A6ITEsbG9vcENvdW50OiExLHNob3dDdXJzb3I6ITAsY3Vyc29yQ2hhcjoifCIsYXR0cjpudWxsLGNvbnRlbnRUeXBlOiJodG1sIixjYWxsYmFjazpmdW5jdGlvbigpe30scHJlU3RyaW5nVHlwZWQ6ZnVuY3Rpb24oKXt9LG9uU3RyaW5nVHlwZWQ6ZnVuY3Rpb24oKXt9LHJlc2V0Q2FsbGJhY2s6ZnVuY3Rpb24oKXt9fX0od2luZG93LmpRdWVyeSk7DQoNCg0KLyoqDQogKiBPd2wgQ2Fyb3VzZWwgdjIuMy4wDQogKiBDb3B5cmlnaHQgMjAxMy0yMDE3IERhdmlkIERldXRzY2gNCiAqIExpY2Vuc2VkIHVuZGVyICAoKQ0KICovDQohZnVuY3Rpb24oYSxiLGMsZCl7ZnVuY3Rpb24gZShiLGMpe3RoaXMuc2V0dGluZ3M9bnVsbCx0aGlzLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyxjKSx0aGlzLiRlbGVtZW50PWEoYiksdGhpcy5faGFuZGxlcnM9e30sdGhpcy5fcGx1Z2lucz17fSx0aGlzLl9zdXByZXNzPXt9LHRoaXMuX2N1cnJlbnQ9bnVsbCx0aGlzLl9zcGVlZD1udWxsLHRoaXMuX2Nvb3JkaW5hdGVzPVtdLHRoaXMuX2JyZWFrcG9pbnQ9bnVsbCx0aGlzLl93aWR0aD1udWxsLHRoaXMuX2l0ZW1zPVtdLHRoaXMuX2Nsb25lcz1bXSx0aGlzLl9tZXJnZXJzPVtdLHRoaXMuX3dpZHRocz1bXSx0aGlzLl9pbnZhbGlkYXRlZD17fSx0aGlzLl9waXBlPVtdLHRoaXMuX2RyYWc9e3RpbWU6bnVsbCx0YXJnZXQ6bnVsbCxwb2ludGVyOm51bGwsc3RhZ2U6e3N0YXJ0Om51bGwsY3VycmVudDpudWxsfSxkaXJlY3Rpb246bnVsbH0sdGhpcy5fc3RhdGVzPXtjdXJyZW50Ont9LHRhZ3M6e2luaXRpYWxpemluZzpbImJ1c3kiXSxhbmltYXRpbmc6WyJidXN5Il0sZHJhZ2dpbmc6WyJpbnRlcmFjdGluZyJdfX0sYS5lYWNoKFsib25SZXNpemUiLCJvblRocm90dGxlZFJlc2l6ZSJdLGEucHJveHkoZnVuY3Rpb24oYixjKXt0aGlzLl9oYW5kbGVyc1tjXT1hLnByb3h5KHRoaXNbY10sdGhpcyl9LHRoaXMpKSxhLmVhY2goZS5QbHVnaW5zLGEucHJveHkoZnVuY3Rpb24oYSxiKXt0aGlzLl9wbHVnaW5zW2EuY2hhckF0KDApLnRvTG93ZXJDYXNlKCkrYS5zbGljZSgxKV09bmV3IGIodGhpcyl9LHRoaXMpKSxhLmVhY2goZS5Xb3JrZXJzLGEucHJveHkoZnVuY3Rpb24oYixjKXt0aGlzLl9waXBlLnB1c2goe2ZpbHRlcjpjLmZpbHRlcixydW46YS5wcm94eShjLnJ1bix0aGlzKX0pfSx0aGlzKSksdGhpcy5zZXR1cCgpLHRoaXMuaW5pdGlhbGl6ZSgpfWUuRGVmYXVsdHM9e2l0ZW1zOjMsbG9vcDohMSxjZW50ZXI6ITEscmV3aW5kOiExLG1vdXNlRHJhZzohMCx0b3VjaERyYWc6ITAscHVsbERyYWc6ITAsZnJlZURyYWc6ITEsbWFyZ2luOjAsc3RhZ2VQYWRkaW5nOjAsbWVyZ2U6ITEsbWVyZ2VGaXQ6ITAsYXV0b1dpZHRoOiExLHN0YXJ0UG9zaXRpb246MCxydGw6ITEsc21hcnRTcGVlZDoyNTAsZmx1aWRTcGVlZDohMSxkcmFnRW5kU3BlZWQ6ITEscmVzcG9uc2l2ZTp7fSxyZXNwb25zaXZlUmVmcmVzaFJhdGU6MjAwLHJlc3BvbnNpdmVCYXNlRWxlbWVudDpiLGZhbGxiYWNrRWFzaW5nOiJzd2luZyIsaW5mbzohMSxuZXN0ZWRJdGVtU2VsZWN0b3I6ITEsaXRlbUVsZW1lbnQ6ImRpdiIsc3RhZ2VFbGVtZW50OiJkaXYiLHJlZnJlc2hDbGFzczoib3dsLXJlZnJlc2giLGxvYWRlZENsYXNzOiJvd2wtbG9hZGVkIixsb2FkaW5nQ2xhc3M6Im93bC1sb2FkaW5nIixydGxDbGFzczoib3dsLXJ0bCIscmVzcG9uc2l2ZUNsYXNzOiJvd2wtcmVzcG9uc2l2ZSIsZHJhZ0NsYXNzOiJvd2wtZHJhZyIsaXRlbUNsYXNzOiJvd2wtaXRlbSIsc3RhZ2VDbGFzczoib3dsLXN0YWdlIixzdGFnZU91dGVyQ2xhc3M6Im93bC1zdGFnZS1vdXRlciIsZ3JhYkNsYXNzOiJvd2wtZ3JhYiJ9LGUuV2lkdGg9e0RlZmF1bHQ6ImRlZmF1bHQiLElubmVyOiJpbm5lciIsT3V0ZXI6Im91dGVyIn0sZS5UeXBlPXtFdmVudDoiZXZlbnQiLFN0YXRlOiJzdGF0ZSJ9LGUuUGx1Z2lucz17fSxlLldvcmtlcnM9W3tmaWx0ZXI6WyJ3aWR0aCIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7dGhpcy5fd2lkdGg9dGhpcy4kZWxlbWVudC53aWR0aCgpfX0se2ZpbHRlcjpbIndpZHRoIiwiaXRlbXMiLCJzZXR0aW5ncyJdLHJ1bjpmdW5jdGlvbihhKXthLmN1cnJlbnQ9dGhpcy5faXRlbXMmJnRoaXMuX2l0ZW1zW3RoaXMucmVsYXRpdmUodGhpcy5fY3VycmVudCldfX0se2ZpbHRlcjpbIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oKXt0aGlzLiRzdGFnZS5jaGlsZHJlbigiLmNsb25lZCIpLnJlbW92ZSgpfX0se2ZpbHRlcjpbIndpZHRoIiwiaXRlbXMiLCJzZXR0aW5ncyJdLHJ1bjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnNldHRpbmdzLm1hcmdpbnx8IiIsYz0hdGhpcy5zZXR0aW5ncy5hdXRvV2lkdGgsZD10aGlzLnNldHRpbmdzLnJ0bCxlPXt3aWR0aDoiYXV0byIsIm1hcmdpbi1sZWZ0IjpkP2I6IiIsIm1hcmdpbi1yaWdodCI6ZD8iIjpifTshYyYmdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5jc3MoZSksYS5jc3M9ZX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oYSl7dmFyIGI9KHRoaXMud2lkdGgoKS90aGlzLnNldHRpbmdzLml0ZW1zKS50b0ZpeGVkKDMpLXRoaXMuc2V0dGluZ3MubWFyZ2luLGM9bnVsbCxkPXRoaXMuX2l0ZW1zLmxlbmd0aCxlPSF0aGlzLnNldHRpbmdzLmF1dG9XaWR0aCxmPVtdO2ZvcihhLml0ZW1zPXttZXJnZTohMSx3aWR0aDpifTtkLS07KWM9dGhpcy5fbWVyZ2Vyc1tkXSxjPXRoaXMuc2V0dGluZ3MubWVyZ2VGaXQmJk1hdGgubWluKGMsdGhpcy5zZXR0aW5ncy5pdGVtcyl8fGMsYS5pdGVtcy5tZXJnZT1jPjF8fGEuaXRlbXMubWVyZ2UsZltkXT1lP2IqYzp0aGlzLl9pdGVtc1tkXS53aWR0aCgpO3RoaXMuX3dpZHRocz1mfX0se2ZpbHRlcjpbIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oKXt2YXIgYj1bXSxjPXRoaXMuX2l0ZW1zLGQ9dGhpcy5zZXR0aW5ncyxlPU1hdGgubWF4KDIqZC5pdGVtcyw0KSxmPTIqTWF0aC5jZWlsKGMubGVuZ3RoLzIpLGc9ZC5sb29wJiZjLmxlbmd0aD9kLnJld2luZD9lOk1hdGgubWF4KGUsZik6MCxoPSIiLGk9IiI7Zm9yKGcvPTI7Zz4wOyliLnB1c2godGhpcy5ub3JtYWxpemUoYi5sZW5ndGgvMiwhMCkpLGgrPWNbYltiLmxlbmd0aC0xXV1bMF0ub3V0ZXJIVE1MLGIucHVzaCh0aGlzLm5vcm1hbGl6ZShjLmxlbmd0aC0xLShiLmxlbmd0aC0xKS8yLCEwKSksaT1jW2JbYi5sZW5ndGgtMV1dWzBdLm91dGVySFRNTCtpLGctPTE7dGhpcy5fY2xvbmVzPWIsYShoKS5hZGRDbGFzcygiY2xvbmVkIikuYXBwZW5kVG8odGhpcy4kc3RhZ2UpLGEoaSkuYWRkQ2xhc3MoImNsb25lZCIpLnByZXBlbmRUbyh0aGlzLiRzdGFnZSl9fSx7ZmlsdGVyOlsid2lkdGgiLCJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7Zm9yKHZhciBhPXRoaXMuc2V0dGluZ3MucnRsPzE6LTEsYj10aGlzLl9jbG9uZXMubGVuZ3RoK3RoaXMuX2l0ZW1zLmxlbmd0aCxjPS0xLGQ9MCxlPTAsZj1bXTsrK2M8YjspZD1mW2MtMV18fDAsZT10aGlzLl93aWR0aHNbdGhpcy5yZWxhdGl2ZShjKV0rdGhpcy5zZXR0aW5ncy5tYXJnaW4sZi5wdXNoKGQrZSphKTt0aGlzLl9jb29yZGluYXRlcz1mfX0se2ZpbHRlcjpbIndpZHRoIiwiaXRlbXMiLCJzZXR0aW5ncyJdLHJ1bjpmdW5jdGlvbigpe3ZhciBhPXRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nLGI9dGhpcy5fY29vcmRpbmF0ZXMsYz17d2lkdGg6TWF0aC5jZWlsKE1hdGguYWJzKGJbYi5sZW5ndGgtMV0pKSsyKmEsInBhZGRpbmctbGVmdCI6YXx8IiIsInBhZGRpbmctcmlnaHQiOmF8fCIifTt0aGlzLiRzdGFnZS5jc3MoYyl9fSx7ZmlsdGVyOlsid2lkdGgiLCJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aCxjPSF0aGlzLnNldHRpbmdzLmF1dG9XaWR0aCxkPXRoaXMuJHN0YWdlLmNoaWxkcmVuKCk7aWYoYyYmYS5pdGVtcy5tZXJnZSlmb3IoO2ItLTspYS5jc3Mud2lkdGg9dGhpcy5fd2lkdGhzW3RoaXMucmVsYXRpdmUoYildLGQuZXEoYikuY3NzKGEuY3NzKTtlbHNlIGMmJihhLmNzcy53aWR0aD1hLml0ZW1zLndpZHRoLGQuY3NzKGEuY3NzKSl9fSx7ZmlsdGVyOlsiaXRlbXMiXSxydW46ZnVuY3Rpb24oKXt0aGlzLl9jb29yZGluYXRlcy5sZW5ndGg8MSYmdGhpcy4kc3RhZ2UucmVtb3ZlQXR0cigic3R5bGUiKX19LHtmaWx0ZXI6WyJ3aWR0aCIsIml0ZW1zIiwic2V0dGluZ3MiXSxydW46ZnVuY3Rpb24oYSl7YS5jdXJyZW50PWEuY3VycmVudD90aGlzLiRzdGFnZS5jaGlsZHJlbigpLmluZGV4KGEuY3VycmVudCk6MCxhLmN1cnJlbnQ9TWF0aC5tYXgodGhpcy5taW5pbXVtKCksTWF0aC5taW4odGhpcy5tYXhpbXVtKCksYS5jdXJyZW50KSksdGhpcy5yZXNldChhLmN1cnJlbnQpfX0se2ZpbHRlcjpbInBvc2l0aW9uIl0scnVuOmZ1bmN0aW9uKCl7dGhpcy5hbmltYXRlKHRoaXMuY29vcmRpbmF0ZXModGhpcy5fY3VycmVudCkpfX0se2ZpbHRlcjpbIndpZHRoIiwicG9zaXRpb24iLCJpdGVtcyIsInNldHRpbmdzIl0scnVuOmZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZT10aGlzLnNldHRpbmdzLnJ0bD8xOi0xLGY9Mip0aGlzLnNldHRpbmdzLnN0YWdlUGFkZGluZyxnPXRoaXMuY29vcmRpbmF0ZXModGhpcy5jdXJyZW50KCkpK2YsaD1nK3RoaXMud2lkdGgoKSplLGk9W107Zm9yKGM9MCxkPXRoaXMuX2Nvb3JkaW5hdGVzLmxlbmd0aDtkPmM7YysrKWE9dGhpcy5fY29vcmRpbmF0ZXNbYy0xXXx8MCxiPU1hdGguYWJzKHRoaXMuX2Nvb3JkaW5hdGVzW2NdKStmKmUsKHRoaXMub3AoYSwiPD0iLGcpJiZ0aGlzLm9wKGEsIj4iLGgpfHx0aGlzLm9wKGIsIjwiLGcpJiZ0aGlzLm9wKGIsIj4iLGgpKSYmaS5wdXNoKGMpO3RoaXMuJHN0YWdlLmNoaWxkcmVuKCIuYWN0aXZlIikucmVtb3ZlQ2xhc3MoImFjdGl2ZSIpLHRoaXMuJHN0YWdlLmNoaWxkcmVuKCI6ZXEoIitpLmpvaW4oIiksIDplcSgiKSsiKSIpLmFkZENsYXNzKCJhY3RpdmUiKSx0aGlzLiRzdGFnZS5jaGlsZHJlbigiLmNlbnRlciIpLnJlbW92ZUNsYXNzKCJjZW50ZXIiKSx0aGlzLnNldHRpbmdzLmNlbnRlciYmdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5lcSh0aGlzLmN1cnJlbnQoKSkuYWRkQ2xhc3MoImNlbnRlciIpfX1dLGUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXtpZih0aGlzLmVudGVyKCJpbml0aWFsaXppbmciKSx0aGlzLnRyaWdnZXIoImluaXRpYWxpemUiKSx0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKHRoaXMuc2V0dGluZ3MucnRsQ2xhc3MsdGhpcy5zZXR0aW5ncy5ydGwpLHRoaXMuc2V0dGluZ3MuYXV0b1dpZHRoJiYhdGhpcy5pcygicHJlLWxvYWRpbmciKSl7dmFyIGIsYyxlO2I9dGhpcy4kZWxlbWVudC5maW5kKCJpbWciKSxjPXRoaXMuc2V0dGluZ3MubmVzdGVkSXRlbVNlbGVjdG9yPyIuIit0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvcjpkLGU9dGhpcy4kZWxlbWVudC5jaGlsZHJlbihjKS53aWR0aCgpLGIubGVuZ3RoJiYwPj1lJiZ0aGlzLnByZWxvYWRBdXRvV2lkdGhJbWFnZXMoYil9dGhpcy4kZWxlbWVudC5hZGRDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKSx0aGlzLiRzdGFnZT1hKCI8Iit0aGlzLnNldHRpbmdzLnN0YWdlRWxlbWVudCsnIGNsYXNzPSInK3RoaXMuc2V0dGluZ3Muc3RhZ2VDbGFzcysnIi8+Jykud3JhcCgnPGRpdiBjbGFzcz0iJyt0aGlzLnNldHRpbmdzLnN0YWdlT3V0ZXJDbGFzcysnIi8+JyksdGhpcy4kZWxlbWVudC5hcHBlbmQodGhpcy4kc3RhZ2UucGFyZW50KCkpLHRoaXMucmVwbGFjZSh0aGlzLiRlbGVtZW50LmNoaWxkcmVuKCkubm90KHRoaXMuJHN0YWdlLnBhcmVudCgpKSksdGhpcy4kZWxlbWVudC5pcygiOnZpc2libGUiKT90aGlzLnJlZnJlc2goKTp0aGlzLmludmFsaWRhdGUoIndpZHRoIiksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKS5hZGRDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGVkQ2xhc3MpLHRoaXMucmVnaXN0ZXJFdmVudEhhbmRsZXJzKCksdGhpcy5sZWF2ZSgiaW5pdGlhbGl6aW5nIiksdGhpcy50cmlnZ2VyKCJpbml0aWFsaXplZCIpfSxlLnByb3RvdHlwZS5zZXR1cD1mdW5jdGlvbigpe3ZhciBiPXRoaXMudmlld3BvcnQoKSxjPXRoaXMub3B0aW9ucy5yZXNwb25zaXZlLGQ9LTEsZT1udWxsO2M/KGEuZWFjaChjLGZ1bmN0aW9uKGEpe2I+PWEmJmE+ZCYmKGQ9TnVtYmVyKGEpKX0pLGU9YS5leHRlbmQoe30sdGhpcy5vcHRpb25zLGNbZF0pLCJmdW5jdGlvbiI9PXR5cGVvZiBlLnN0YWdlUGFkZGluZyYmKGUuc3RhZ2VQYWRkaW5nPWUuc3RhZ2VQYWRkaW5nKCkpLGRlbGV0ZSBlLnJlc3BvbnNpdmUsZS5yZXNwb25zaXZlQ2xhc3MmJnRoaXMuJGVsZW1lbnQuYXR0cigiY2xhc3MiLHRoaXMuJGVsZW1lbnQuYXR0cigiY2xhc3MiKS5yZXBsYWNlKG5ldyBSZWdFeHAoIigiK3RoaXMub3B0aW9ucy5yZXNwb25zaXZlQ2xhc3MrIi0pXFxTK1xccyIsImciKSwiJDEiK2QpKSk6ZT1hLmV4dGVuZCh7fSx0aGlzLm9wdGlvbnMpLHRoaXMudHJpZ2dlcigiY2hhbmdlIix7cHJvcGVydHk6e25hbWU6InNldHRpbmdzIix2YWx1ZTplfX0pLHRoaXMuX2JyZWFrcG9pbnQ9ZCx0aGlzLnNldHRpbmdzPWUsdGhpcy5pbnZhbGlkYXRlKCJzZXR0aW5ncyIpLHRoaXMudHJpZ2dlcigiY2hhbmdlZCIse3Byb3BlcnR5OntuYW1lOiJzZXR0aW5ncyIsdmFsdWU6dGhpcy5zZXR0aW5nc319KX0sZS5wcm90b3R5cGUub3B0aW9uc0xvZ2ljPWZ1bmN0aW9uKCl7dGhpcy5zZXR0aW5ncy5hdXRvV2lkdGgmJih0aGlzLnNldHRpbmdzLnN0YWdlUGFkZGluZz0hMSx0aGlzLnNldHRpbmdzLm1lcmdlPSExKX0sZS5wcm90b3R5cGUucHJlcGFyZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnRyaWdnZXIoInByZXBhcmUiLHtjb250ZW50OmJ9KTtyZXR1cm4gYy5kYXRhfHwoYy5kYXRhPWEoIjwiK3RoaXMuc2V0dGluZ3MuaXRlbUVsZW1lbnQrIi8+IikuYWRkQ2xhc3ModGhpcy5vcHRpb25zLml0ZW1DbGFzcykuYXBwZW5kKGIpKSx0aGlzLnRyaWdnZXIoInByZXBhcmVkIix7Y29udGVudDpjLmRhdGF9KSxjLmRhdGF9LGUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe2Zvcih2YXIgYj0wLGM9dGhpcy5fcGlwZS5sZW5ndGgsZD1hLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzW2FdfSx0aGlzLl9pbnZhbGlkYXRlZCksZT17fTtjPmI7KSh0aGlzLl9pbnZhbGlkYXRlZC5hbGx8fGEuZ3JlcCh0aGlzLl9waXBlW2JdLmZpbHRlcixkKS5sZW5ndGg+MCkmJnRoaXMuX3BpcGVbYl0ucnVuKGUpLGIrKzt0aGlzLl9pbnZhbGlkYXRlZD17fSwhdGhpcy5pcygidmFsaWQiKSYmdGhpcy5lbnRlcigidmFsaWQiKX0sZS5wcm90b3R5cGUud2lkdGg9ZnVuY3Rpb24oYSl7c3dpdGNoKGE9YXx8ZS5XaWR0aC5EZWZhdWx0KXtjYXNlIGUuV2lkdGguSW5uZXI6Y2FzZSBlLldpZHRoLk91dGVyOnJldHVybiB0aGlzLl93aWR0aDtkZWZhdWx0OnJldHVybiB0aGlzLl93aWR0aC0yKnRoaXMuc2V0dGluZ3Muc3RhZ2VQYWRkaW5nK3RoaXMuc2V0dGluZ3MubWFyZ2lufX0sZS5wcm90b3R5cGUucmVmcmVzaD1mdW5jdGlvbigpe3RoaXMuZW50ZXIoInJlZnJlc2hpbmciKSx0aGlzLnRyaWdnZXIoInJlZnJlc2giKSx0aGlzLnNldHVwKCksdGhpcy5vcHRpb25zTG9naWMoKSx0aGlzLiRlbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5yZWZyZXNoQ2xhc3MpLHRoaXMudXBkYXRlKCksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMucmVmcmVzaENsYXNzKSx0aGlzLmxlYXZlKCJyZWZyZXNoaW5nIiksdGhpcy50cmlnZ2VyKCJyZWZyZXNoZWQiKX0sZS5wcm90b3R5cGUub25UaHJvdHRsZWRSZXNpemU9ZnVuY3Rpb24oKXtiLmNsZWFyVGltZW91dCh0aGlzLnJlc2l6ZVRpbWVyKSx0aGlzLnJlc2l6ZVRpbWVyPWIuc2V0VGltZW91dCh0aGlzLl9oYW5kbGVycy5vblJlc2l6ZSx0aGlzLnNldHRpbmdzLnJlc3BvbnNpdmVSZWZyZXNoUmF0ZSl9LGUucHJvdG90eXBlLm9uUmVzaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2l0ZW1zLmxlbmd0aD90aGlzLl93aWR0aD09PXRoaXMuJGVsZW1lbnQud2lkdGgoKT8hMTp0aGlzLiRlbGVtZW50LmlzKCI6dmlzaWJsZSIpPyh0aGlzLmVudGVyKCJyZXNpemluZyIpLHRoaXMudHJpZ2dlcigicmVzaXplIikuaXNEZWZhdWx0UHJldmVudGVkKCk/KHRoaXMubGVhdmUoInJlc2l6aW5nIiksITEpOih0aGlzLmludmFsaWRhdGUoIndpZHRoIiksdGhpcy5yZWZyZXNoKCksdGhpcy5sZWF2ZSgicmVzaXppbmciKSx2b2lkIHRoaXMudHJpZ2dlcigicmVzaXplZCIpKSk6ITE6ITF9LGUucHJvdG90eXBlLnJlZ2lzdGVyRXZlbnRIYW5kbGVycz1mdW5jdGlvbigpe2Euc3VwcG9ydC50cmFuc2l0aW9uJiZ0aGlzLiRzdGFnZS5vbihhLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQrIi5vd2wuY29yZSIsYS5wcm94eSh0aGlzLm9uVHJhbnNpdGlvbkVuZCx0aGlzKSksdGhpcy5zZXR0aW5ncy5yZXNwb25zaXZlIT09ITEmJnRoaXMub24oYiwicmVzaXplIix0aGlzLl9oYW5kbGVycy5vblRocm90dGxlZFJlc2l6ZSksdGhpcy5zZXR0aW5ncy5tb3VzZURyYWcmJih0aGlzLiRlbGVtZW50LmFkZENsYXNzKHRoaXMub3B0aW9ucy5kcmFnQ2xhc3MpLHRoaXMuJHN0YWdlLm9uKCJtb3VzZWRvd24ub3dsLmNvcmUiLGEucHJveHkodGhpcy5vbkRyYWdTdGFydCx0aGlzKSksdGhpcy4kc3RhZ2Uub24oImRyYWdzdGFydC5vd2wuY29yZSBzZWxlY3RzdGFydC5vd2wuY29yZSIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pKSx0aGlzLnNldHRpbmdzLnRvdWNoRHJhZyYmKHRoaXMuJHN0YWdlLm9uKCJ0b3VjaHN0YXJ0Lm93bC5jb3JlIixhLnByb3h5KHRoaXMub25EcmFnU3RhcnQsdGhpcykpLHRoaXMuJHN0YWdlLm9uKCJ0b3VjaGNhbmNlbC5vd2wuY29yZSIsYS5wcm94eSh0aGlzLm9uRHJhZ0VuZCx0aGlzKSkpfSxlLnByb3RvdHlwZS5vbkRyYWdTdGFydD1mdW5jdGlvbihiKXt2YXIgZD1udWxsOzMhPT1iLndoaWNoJiYoYS5zdXBwb3J0LnRyYW5zZm9ybT8oZD10aGlzLiRzdGFnZS5jc3MoInRyYW5zZm9ybSIpLnJlcGxhY2UoLy4qXCh8XCl8IC9nLCIiKS5zcGxpdCgiLCIpLGQ9e3g6ZFsxNj09PWQubGVuZ3RoPzEyOjRdLHk6ZFsxNj09PWQubGVuZ3RoPzEzOjVdfSk6KGQ9dGhpcy4kc3RhZ2UucG9zaXRpb24oKSxkPXt4OnRoaXMuc2V0dGluZ3MucnRsP2QubGVmdCt0aGlzLiRzdGFnZS53aWR0aCgpLXRoaXMud2lkdGgoKSt0aGlzLnNldHRpbmdzLm1hcmdpbjpkLmxlZnQseTpkLnRvcH0pLHRoaXMuaXMoImFuaW1hdGluZyIpJiYoYS5zdXBwb3J0LnRyYW5zZm9ybT90aGlzLmFuaW1hdGUoZC54KTp0aGlzLiRzdGFnZS5zdG9wKCksdGhpcy5pbnZhbGlkYXRlKCJwb3NpdGlvbiIpKSx0aGlzLiRlbGVtZW50LnRvZ2dsZUNsYXNzKHRoaXMub3B0aW9ucy5ncmFiQ2xhc3MsIm1vdXNlZG93biI9PT1iLnR5cGUpLHRoaXMuc3BlZWQoMCksdGhpcy5fZHJhZy50aW1lPShuZXcgRGF0ZSkuZ2V0VGltZSgpLHRoaXMuX2RyYWcudGFyZ2V0PWEoYi50YXJnZXQpLHRoaXMuX2RyYWcuc3RhZ2Uuc3RhcnQ9ZCx0aGlzLl9kcmFnLnN0YWdlLmN1cnJlbnQ9ZCx0aGlzLl9kcmFnLnBvaW50ZXI9dGhpcy5wb2ludGVyKGIpLGEoYykub24oIm1vdXNldXAub3dsLmNvcmUgdG91Y2hlbmQub3dsLmNvcmUiLGEucHJveHkodGhpcy5vbkRyYWdFbmQsdGhpcykpLGEoYykub25lKCJtb3VzZW1vdmUub3dsLmNvcmUgdG91Y2htb3ZlLm93bC5jb3JlIixhLnByb3h5KGZ1bmN0aW9uKGIpe3ZhciBkPXRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnBvaW50ZXIsdGhpcy5wb2ludGVyKGIpKTthKGMpLm9uKCJtb3VzZW1vdmUub3dsLmNvcmUgdG91Y2htb3ZlLm93bC5jb3JlIixhLnByb3h5KHRoaXMub25EcmFnTW92ZSx0aGlzKSksTWF0aC5hYnMoZC54KTxNYXRoLmFicyhkLnkpJiZ0aGlzLmlzKCJ2YWxpZCIpfHwoYi5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZW50ZXIoImRyYWdnaW5nIiksdGhpcy50cmlnZ2VyKCJkcmFnIikpfSx0aGlzKSkpfSxlLnByb3RvdHlwZS5vbkRyYWdNb3ZlPWZ1bmN0aW9uKGEpe3ZhciBiPW51bGwsYz1udWxsLGQ9bnVsbCxlPXRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnBvaW50ZXIsdGhpcy5wb2ludGVyKGEpKSxmPXRoaXMuZGlmZmVyZW5jZSh0aGlzLl9kcmFnLnN0YWdlLnN0YXJ0LGUpO3RoaXMuaXMoImRyYWdnaW5nIikmJihhLnByZXZlbnREZWZhdWx0KCksdGhpcy5zZXR0aW5ncy5sb29wPyhiPXRoaXMuY29vcmRpbmF0ZXModGhpcy5taW5pbXVtKCkpLGM9dGhpcy5jb29yZGluYXRlcyh0aGlzLm1heGltdW0oKSsxKS1iLGYueD0oKGYueC1iKSVjK2MpJWMrYik6KGI9dGhpcy5zZXR0aW5ncy5ydGw/dGhpcy5jb29yZGluYXRlcyh0aGlzLm1heGltdW0oKSk6dGhpcy5jb29yZGluYXRlcyh0aGlzLm1pbmltdW0oKSksYz10aGlzLnNldHRpbmdzLnJ0bD90aGlzLmNvb3JkaW5hdGVzKHRoaXMubWluaW11bSgpKTp0aGlzLmNvb3JkaW5hdGVzKHRoaXMubWF4aW11bSgpKSxkPXRoaXMuc2V0dGluZ3MucHVsbERyYWc/LTEqZS54LzU6MCxmLng9TWF0aC5tYXgoTWF0aC5taW4oZi54LGIrZCksYytkKSksdGhpcy5fZHJhZy5zdGFnZS5jdXJyZW50PWYsdGhpcy5hbmltYXRlKGYueCkpfSxlLnByb3RvdHlwZS5vbkRyYWdFbmQ9ZnVuY3Rpb24oYil7dmFyIGQ9dGhpcy5kaWZmZXJlbmNlKHRoaXMuX2RyYWcucG9pbnRlcix0aGlzLnBvaW50ZXIoYikpLGU9dGhpcy5fZHJhZy5zdGFnZS5jdXJyZW50LGY9ZC54PjBedGhpcy5zZXR0aW5ncy5ydGw/ImxlZnQiOiJyaWdodCI7YShjKS5vZmYoIi5vd2wuY29yZSIpLHRoaXMuJGVsZW1lbnQucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmdyYWJDbGFzcyksKDAhPT1kLngmJnRoaXMuaXMoImRyYWdnaW5nIil8fCF0aGlzLmlzKCJ2YWxpZCIpKSYmKHRoaXMuc3BlZWQodGhpcy5zZXR0aW5ncy5kcmFnRW5kU3BlZWR8fHRoaXMuc2V0dGluZ3Muc21hcnRTcGVlZCksdGhpcy5jdXJyZW50KHRoaXMuY2xvc2VzdChlLngsMCE9PWQueD9mOnRoaXMuX2RyYWcuZGlyZWN0aW9uKSksdGhpcy5pbnZhbGlkYXRlKCJwb3NpdGlvbiIpLHRoaXMudXBkYXRlKCksdGhpcy5fZHJhZy5kaXJlY3Rpb249ZiwoTWF0aC5hYnMoZC54KT4zfHwobmV3IERhdGUpLmdldFRpbWUoKS10aGlzLl9kcmFnLnRpbWU+MzAwKSYmdGhpcy5fZHJhZy50YXJnZXQub25lKCJjbGljay5vd2wuY29yZSIsZnVuY3Rpb24oKXtyZXR1cm4hMX0pKSx0aGlzLmlzKCJkcmFnZ2luZyIpJiYodGhpcy5sZWF2ZSgiZHJhZ2dpbmciKSx0aGlzLnRyaWdnZXIoImRyYWdnZWQiKSl9LGUucHJvdG90eXBlLmNsb3Nlc3Q9ZnVuY3Rpb24oYixjKXt2YXIgZD0tMSxlPTMwLGY9dGhpcy53aWR0aCgpLGc9dGhpcy5jb29yZGluYXRlcygpO3JldHVybiB0aGlzLnNldHRpbmdzLmZyZWVEcmFnfHxhLmVhY2goZyxhLnByb3h5KGZ1bmN0aW9uKGEsaCl7cmV0dXJuImxlZnQiPT09YyYmYj5oLWUmJmgrZT5iP2Q9YToicmlnaHQiPT09YyYmYj5oLWYtZSYmaC1mK2U+Yj9kPWErMTp0aGlzLm9wKGIsIjwiLGgpJiZ0aGlzLm9wKGIsIj4iLGdbYSsxXXx8aC1mKSYmKGQ9ImxlZnQiPT09Yz9hKzE6YSksLTE9PT1kfSx0aGlzKSksdGhpcy5zZXR0aW5ncy5sb29wfHwodGhpcy5vcChiLCI+IixnW3RoaXMubWluaW11bSgpXSk/ZD1iPXRoaXMubWluaW11bSgpOnRoaXMub3AoYiwiPCIsZ1t0aGlzLm1heGltdW0oKV0pJiYoZD1iPXRoaXMubWF4aW11bSgpKSksZH0sZS5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbihiKXt2YXIgYz10aGlzLnNwZWVkKCk+MDt0aGlzLmlzKCJhbmltYXRpbmciKSYmdGhpcy5vblRyYW5zaXRpb25FbmQoKSxjJiYodGhpcy5lbnRlcigiYW5pbWF0aW5nIiksdGhpcy50cmlnZ2VyKCJ0cmFuc2xhdGUiKSksYS5zdXBwb3J0LnRyYW5zZm9ybTNkJiZhLnN1cHBvcnQudHJhbnNpdGlvbj90aGlzLiRzdGFnZS5jc3Moe3RyYW5zZm9ybToidHJhbnNsYXRlM2QoIitiKyJweCwwcHgsMHB4KSIsdHJhbnNpdGlvbjp0aGlzLnNwZWVkKCkvMWUzKyJzIn0pOmM/dGhpcy4kc3RhZ2UuYW5pbWF0ZSh7bGVmdDpiKyJweCJ9LHRoaXMuc3BlZWQoKSx0aGlzLnNldHRpbmdzLmZhbGxiYWNrRWFzaW5nLGEucHJveHkodGhpcy5vblRyYW5zaXRpb25FbmQsdGhpcykpOnRoaXMuJHN0YWdlLmNzcyh7bGVmdDpiKyJweCJ9KX0sZS5wcm90b3R5cGUuaXM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX3N0YXRlcy5jdXJyZW50W2FdJiZ0aGlzLl9zdGF0ZXMuY3VycmVudFthXT4wfSxlLnByb3RvdHlwZS5jdXJyZW50PWZ1bmN0aW9uKGEpe2lmKGE9PT1kKXJldHVybiB0aGlzLl9jdXJyZW50O2lmKDA9PT10aGlzLl9pdGVtcy5sZW5ndGgpcmV0dXJuIGQ7aWYoYT10aGlzLm5vcm1hbGl6ZShhKSx0aGlzLl9jdXJyZW50IT09YSl7dmFyIGI9dGhpcy50cmlnZ2VyKCJjaGFuZ2UiLHtwcm9wZXJ0eTp7bmFtZToicG9zaXRpb24iLHZhbHVlOmF9fSk7Yi5kYXRhIT09ZCYmKGE9dGhpcy5ub3JtYWxpemUoYi5kYXRhKSksdGhpcy5fY3VycmVudD1hLHRoaXMuaW52YWxpZGF0ZSgicG9zaXRpb24iKSx0aGlzLnRyaWdnZXIoImNoYW5nZWQiLHtwcm9wZXJ0eTp7bmFtZToicG9zaXRpb24iLHZhbHVlOnRoaXMuX2N1cnJlbnR9fSl9cmV0dXJuIHRoaXMuX2N1cnJlbnR9LGUucHJvdG90eXBlLmludmFsaWRhdGU9ZnVuY3Rpb24oYil7cmV0dXJuInN0cmluZyI9PT1hLnR5cGUoYikmJih0aGlzLl9pbnZhbGlkYXRlZFtiXT0hMCx0aGlzLmlzKCJ2YWxpZCIpJiZ0aGlzLmxlYXZlKCJ2YWxpZCIpKSxhLm1hcCh0aGlzLl9pbnZhbGlkYXRlZCxmdW5jdGlvbihhLGIpe3JldHVybiBifSl9LGUucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKGEpe2E9dGhpcy5ub3JtYWxpemUoYSksYSE9PWQmJih0aGlzLl9zcGVlZD0wLHRoaXMuX2N1cnJlbnQ9YSx0aGlzLnN1cHByZXNzKFsidHJhbnNsYXRlIiwidHJhbnNsYXRlZCJdKSx0aGlzLmFuaW1hdGUodGhpcy5jb29yZGluYXRlcyhhKSksdGhpcy5yZWxlYXNlKFsidHJhbnNsYXRlIiwidHJhbnNsYXRlZCJdKSl9LGUucHJvdG90eXBlLm5vcm1hbGl6ZT1mdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuX2l0ZW1zLmxlbmd0aCxlPWI/MDp0aGlzLl9jbG9uZXMubGVuZ3RoO3JldHVybiF0aGlzLmlzTnVtZXJpYyhhKXx8MT5jP2E9ZDooMD5hfHxhPj1jK2UpJiYoYT0oKGEtZS8yKSVjK2MpJWMrZS8yKSxhfSxlLnByb3RvdHlwZS5yZWxhdGl2ZT1mdW5jdGlvbihhKXtyZXR1cm4gYS09dGhpcy5fY2xvbmVzLmxlbmd0aC8yLHRoaXMubm9ybWFsaXplKGEsITApfSxlLnByb3RvdHlwZS5tYXhpbXVtPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXMuc2V0dGluZ3MsZj10aGlzLl9jb29yZGluYXRlcy5sZW5ndGg7aWYoZS5sb29wKWY9dGhpcy5fY2xvbmVzLmxlbmd0aC8yK3RoaXMuX2l0ZW1zLmxlbmd0aC0xO2Vsc2UgaWYoZS5hdXRvV2lkdGh8fGUubWVyZ2Upe2lmKGI9dGhpcy5faXRlbXMubGVuZ3RoKWZvcihjPXRoaXMuX2l0ZW1zWy0tYl0ud2lkdGgoKSxkPXRoaXMuJGVsZW1lbnQud2lkdGgoKTtiLS0mJihjKz10aGlzLl9pdGVtc1tiXS53aWR0aCgpK3RoaXMuc2V0dGluZ3MubWFyZ2luLCEoYz5kKSk7KTtmPWIrMX1lbHNlIGY9ZS5jZW50ZXI/dGhpcy5faXRlbXMubGVuZ3RoLTE6dGhpcy5faXRlbXMubGVuZ3RoLWUuaXRlbXM7cmV0dXJuIGEmJihmLT10aGlzLl9jbG9uZXMubGVuZ3RoLzIpLE1hdGgubWF4KGYsMCl9LGUucHJvdG90eXBlLm1pbmltdW09ZnVuY3Rpb24oYSl7cmV0dXJuIGE/MDp0aGlzLl9jbG9uZXMubGVuZ3RoLzJ9LGUucHJvdG90eXBlLml0ZW1zPWZ1bmN0aW9uKGEpe3JldHVybiBhPT09ZD90aGlzLl9pdGVtcy5zbGljZSgpOihhPXRoaXMubm9ybWFsaXplKGEsITApLHRoaXMuX2l0ZW1zW2FdKX0sZS5wcm90b3R5cGUubWVyZ2Vycz1mdW5jdGlvbihhKXtyZXR1cm4gYT09PWQ/dGhpcy5fbWVyZ2Vycy5zbGljZSgpOihhPXRoaXMubm9ybWFsaXplKGEsITApLHRoaXMuX21lcmdlcnNbYV0pfSxlLnByb3RvdHlwZS5jbG9uZXM9ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5fY2xvbmVzLmxlbmd0aC8yLGU9Yyt0aGlzLl9pdGVtcy5sZW5ndGgsZj1mdW5jdGlvbihhKXtyZXR1cm4gYSUyPT09MD9lK2EvMjpjLShhKzEpLzJ9O3JldHVybiBiPT09ZD9hLm1hcCh0aGlzLl9jbG9uZXMsZnVuY3Rpb24oYSxiKXtyZXR1cm4gZihiKX0pOmEubWFwKHRoaXMuX2Nsb25lcyxmdW5jdGlvbihhLGMpe3JldHVybiBhPT09Yj9mKGMpOm51bGx9KX0sZS5wcm90b3R5cGUuc3BlZWQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT1kJiYodGhpcy5fc3BlZWQ9YSksdGhpcy5fc3BlZWR9LGUucHJvdG90eXBlLmNvb3JkaW5hdGVzPWZ1bmN0aW9uKGIpe3ZhciBjLGU9MSxmPWItMTtyZXR1cm4gYj09PWQ/YS5tYXAodGhpcy5fY29vcmRpbmF0ZXMsYS5wcm94eShmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmNvb3JkaW5hdGVzKGIpfSx0aGlzKSk6KHRoaXMuc2V0dGluZ3MuY2VudGVyPyh0aGlzLnNldHRpbmdzLnJ0bCYmKGU9LTEsZj1iKzEpLGM9dGhpcy5fY29vcmRpbmF0ZXNbYl0sYys9KHRoaXMud2lkdGgoKS1jKyh0aGlzLl9jb29yZGluYXRlc1tmXXx8MCkpLzIqZSk6Yz10aGlzLl9jb29yZGluYXRlc1tmXXx8MCxjPU1hdGguY2VpbChjKSl9LGUucHJvdG90eXBlLmR1cmF0aW9uPWZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gMD09PWM/MDpNYXRoLm1pbihNYXRoLm1heChNYXRoLmFicyhiLWEpLDEpLDYpKk1hdGguYWJzKGN8fHRoaXMuc2V0dGluZ3Muc21hcnRTcGVlZCl9LGUucHJvdG90eXBlLnRvPWZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jdXJyZW50KCksZD1udWxsLGU9YS10aGlzLnJlbGF0aXZlKGMpLGY9KGU+MCktKDA+ZSksZz10aGlzLl9pdGVtcy5sZW5ndGgsaD10aGlzLm1pbmltdW0oKSxpPXRoaXMubWF4aW11bSgpO3RoaXMuc2V0dGluZ3MubG9vcD8oIXRoaXMuc2V0dGluZ3MucmV3aW5kJiZNYXRoLmFicyhlKT5nLzImJihlKz0tMSpmKmcpLGE9YytlLGQ9KChhLWgpJWcrZyklZytoLGQhPT1hJiZpPj1kLWUmJmQtZT4wJiYoYz1kLWUsYT1kLHRoaXMucmVzZXQoYykpKTp0aGlzLnNldHRpbmdzLnJld2luZD8oaSs9MSxhPShhJWkraSklaSk6YT1NYXRoLm1heChoLE1hdGgubWluKGksYSkpLHRoaXMuc3BlZWQodGhpcy5kdXJhdGlvbihjLGEsYikpLHRoaXMuY3VycmVudChhKSx0aGlzLiRlbGVtZW50LmlzKCI6dmlzaWJsZSIpJiZ0aGlzLnVwZGF0ZSgpfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGEpe2E9YXx8ITEsdGhpcy50byh0aGlzLnJlbGF0aXZlKHRoaXMuY3VycmVudCgpKSsxLGEpfSxlLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKGEpe2E9YXx8ITEsdGhpcy50byh0aGlzLnJlbGF0aXZlKHRoaXMuY3VycmVudCgpKS0xLGEpfSxlLnByb3RvdHlwZS5vblRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEhPT1kJiYoYS5zdG9wUHJvcGFnYXRpb24oKSwoYS50YXJnZXR8fGEuc3JjRWxlbWVudHx8YS5vcmlnaW5hbFRhcmdldCkhPT10aGlzLiRzdGFnZS5nZXQoMCkpPyExOih0aGlzLmxlYXZlKCJhbmltYXRpbmciKSx2b2lkIHRoaXMudHJpZ2dlcigidHJhbnNsYXRlZCIpKX0sZS5wcm90b3R5cGUudmlld3BvcnQ9ZnVuY3Rpb24oKXt2YXIgZDtyZXR1cm4gdGhpcy5vcHRpb25zLnJlc3BvbnNpdmVCYXNlRWxlbWVudCE9PWI/ZD1hKHRoaXMub3B0aW9ucy5yZXNwb25zaXZlQmFzZUVsZW1lbnQpLndpZHRoKCk6Yi5pbm5lcldpZHRoP2Q9Yi5pbm5lcldpZHRoOmMuZG9jdW1lbnRFbGVtZW50JiZjLmRvY3VtZW50RWxlbWVudC5jbGllbnRXaWR0aD9kPWMuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoOmNvbnNvbGUud2FybigiQ2FuIG5vdCBkZXRlY3Qgdmlld3BvcnQgd2lkdGguIiksZH0sZS5wcm90b3R5cGUucmVwbGFjZT1mdW5jdGlvbihiKXt0aGlzLiRzdGFnZS5lbXB0eSgpLHRoaXMuX2l0ZW1zPVtdLGImJihiPWIgaW5zdGFuY2VvZiBqUXVlcnk/YjphKGIpKSx0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvciYmKGI9Yi5maW5kKCIuIit0aGlzLnNldHRpbmdzLm5lc3RlZEl0ZW1TZWxlY3RvcikpLGIuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIDE9PT10aGlzLm5vZGVUeXBlfSkuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGEsYil7Yj10aGlzLnByZXBhcmUoYiksdGhpcy4kc3RhZ2UuYXBwZW5kKGIpLHRoaXMuX2l0ZW1zLnB1c2goYiksdGhpcy5fbWVyZ2Vycy5wdXNoKDEqYi5maW5kKCJbZGF0YS1tZXJnZV0iKS5hZGRCYWNrKCJbZGF0YS1tZXJnZV0iKS5hdHRyKCJkYXRhLW1lcmdlIil8fDEpfSx0aGlzKSksdGhpcy5yZXNldCh0aGlzLmlzTnVtZXJpYyh0aGlzLnNldHRpbmdzLnN0YXJ0UG9zaXRpb24pP3RoaXMuc2V0dGluZ3Muc3RhcnRQb3NpdGlvbjowKSx0aGlzLmludmFsaWRhdGUoIml0ZW1zIil9LGUucHJvdG90eXBlLmFkZD1mdW5jdGlvbihiLGMpe3ZhciBlPXRoaXMucmVsYXRpdmUodGhpcy5fY3VycmVudCk7Yz1jPT09ZD90aGlzLl9pdGVtcy5sZW5ndGg6dGhpcy5ub3JtYWxpemUoYywhMCksYj1iIGluc3RhbmNlb2YgalF1ZXJ5P2I6YShiKSx0aGlzLnRyaWdnZXIoImFkZCIse2NvbnRlbnQ6Yixwb3NpdGlvbjpjfSksYj10aGlzLnByZXBhcmUoYiksMD09PXRoaXMuX2l0ZW1zLmxlbmd0aHx8Yz09PXRoaXMuX2l0ZW1zLmxlbmd0aD8oMD09PXRoaXMuX2l0ZW1zLmxlbmd0aCYmdGhpcy4kc3RhZ2UuYXBwZW5kKGIpLDAhPT10aGlzLl9pdGVtcy5sZW5ndGgmJnRoaXMuX2l0ZW1zW2MtMV0uYWZ0ZXIoYiksdGhpcy5faXRlbXMucHVzaChiKSx0aGlzLl9tZXJnZXJzLnB1c2goMSpiLmZpbmQoIltkYXRhLW1lcmdlXSIpLmFkZEJhY2soIltkYXRhLW1lcmdlXSIpLmF0dHIoImRhdGEtbWVyZ2UiKXx8MSkpOih0aGlzLl9pdGVtc1tjXS5iZWZvcmUoYiksdGhpcy5faXRlbXMuc3BsaWNlKGMsMCxiKSx0aGlzLl9tZXJnZXJzLnNwbGljZShjLDAsMSpiLmZpbmQoIltkYXRhLW1lcmdlXSIpLmFkZEJhY2soIltkYXRhLW1lcmdlXSIpLmF0dHIoImRhdGEtbWVyZ2UiKXx8MSkpLHRoaXMuX2l0ZW1zW2VdJiZ0aGlzLnJlc2V0KHRoaXMuX2l0ZW1zW2VdLmluZGV4KCkpLHRoaXMuaW52YWxpZGF0ZSgiaXRlbXMiKSx0aGlzLnRyaWdnZXIoImFkZGVkIix7Y29udGVudDpiLHBvc2l0aW9uOmN9KX0sZS5wcm90b3R5cGUucmVtb3ZlPWZ1bmN0aW9uKGEpe2E9dGhpcy5ub3JtYWxpemUoYSwhMCksYSE9PWQmJih0aGlzLnRyaWdnZXIoInJlbW92ZSIse2NvbnRlbnQ6dGhpcy5faXRlbXNbYV0scG9zaXRpb246YX0pLHRoaXMuX2l0ZW1zW2FdLnJlbW92ZSgpLHRoaXMuX2l0ZW1zLnNwbGljZShhLDEpLHRoaXMuX21lcmdlcnMuc3BsaWNlKGEsMSksdGhpcy5pbnZhbGlkYXRlKCJpdGVtcyIpLHRoaXMudHJpZ2dlcigicmVtb3ZlZCIse2NvbnRlbnQ6bnVsbCxwb3NpdGlvbjphfSkpfSxlLnByb3RvdHlwZS5wcmVsb2FkQXV0b1dpZHRoSW1hZ2VzPWZ1bmN0aW9uKGIpe2IuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGIsYyl7dGhpcy5lbnRlcigicHJlLWxvYWRpbmciKSxjPWEoYyksYShuZXcgSW1hZ2UpLm9uZSgibG9hZCIsYS5wcm94eShmdW5jdGlvbihhKXtjLmF0dHIoInNyYyIsYS50YXJnZXQuc3JjKSxjLmNzcygib3BhY2l0eSIsMSksdGhpcy5sZWF2ZSgicHJlLWxvYWRpbmciKSwhdGhpcy5pcygicHJlLWxvYWRpbmciKSYmIXRoaXMuaXMoImluaXRpYWxpemluZyIpJiZ0aGlzLnJlZnJlc2goKX0sdGhpcykpLmF0dHIoInNyYyIsYy5hdHRyKCJzcmMiKXx8Yy5hdHRyKCJkYXRhLXNyYyIpfHxjLmF0dHIoImRhdGEtc3JjLXJldGluYSIpKX0sdGhpcykpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy4kZWxlbWVudC5vZmYoIi5vd2wuY29yZSIpLHRoaXMuJHN0YWdlLm9mZigiLm93bC5jb3JlIiksYShjKS5vZmYoIi5vd2wuY29yZSIpLHRoaXMuc2V0dGluZ3MucmVzcG9uc2l2ZSE9PSExJiYoYi5jbGVhclRpbWVvdXQodGhpcy5yZXNpemVUaW1lciksdGhpcy5vZmYoYiwicmVzaXplIix0aGlzLl9oYW5kbGVycy5vblRocm90dGxlZFJlc2l6ZSkpO2Zvcih2YXIgZCBpbiB0aGlzLl9wbHVnaW5zKXRoaXMuX3BsdWdpbnNbZF0uZGVzdHJveSgpO3RoaXMuJHN0YWdlLmNoaWxkcmVuKCIuY2xvbmVkIikucmVtb3ZlKCksdGhpcy4kc3RhZ2UudW53cmFwKCksdGhpcy4kc3RhZ2UuY2hpbGRyZW4oKS5jb250ZW50cygpLnVud3JhcCgpLHRoaXMuJHN0YWdlLmNoaWxkcmVuKCkudW53cmFwKCksdGhpcy4kc3RhZ2UucmVtb3ZlKCksdGhpcy4kZWxlbWVudC5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMucmVmcmVzaENsYXNzKS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGluZ0NsYXNzKS5yZW1vdmVDbGFzcyh0aGlzLm9wdGlvbnMubG9hZGVkQ2xhc3MpLnJlbW92ZUNsYXNzKHRoaXMub3B0aW9ucy5ydGxDbGFzcykucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmRyYWdDbGFzcykucmVtb3ZlQ2xhc3ModGhpcy5vcHRpb25zLmdyYWJDbGFzcykuYXR0cigiY2xhc3MiLHRoaXMuJGVsZW1lbnQuYXR0cigiY2xhc3MiKS5yZXBsYWNlKG5ldyBSZWdFeHAodGhpcy5vcHRpb25zLnJlc3BvbnNpdmVDbGFzcysiLVxcUytcXHMiLCJnIiksIiIpKS5yZW1vdmVEYXRhKCJvd2wuY2Fyb3VzZWwiKX0sZS5wcm90b3R5cGUub3A9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuc2V0dGluZ3MucnRsO3N3aXRjaChiKXtjYXNlIjwiOnJldHVybiBkP2E+YzpjPmE7Y2FzZSI+IjpyZXR1cm4gZD9jPmE6YT5jO2Nhc2UiPj0iOnJldHVybiBkP2M+PWE6YT49YztjYXNlIjw9IjpyZXR1cm4gZD9hPj1jOmM+PWF9fSxlLnByb3RvdHlwZS5vbj1mdW5jdGlvbihhLGIsYyxkKXthLmFkZEV2ZW50TGlzdGVuZXI/YS5hZGRFdmVudExpc3RlbmVyKGIsYyxkKTphLmF0dGFjaEV2ZW50JiZhLmF0dGFjaEV2ZW50KCJvbiIrYixjKX0sZS5wcm90b3R5cGUub2ZmPWZ1bmN0aW9uKGEsYixjLGQpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lcj9hLnJlbW92ZUV2ZW50TGlzdGVuZXIoYixjLGQpOmEuZGV0YWNoRXZlbnQmJmEuZGV0YWNoRXZlbnQoIm9uIitiLGMpfSxlLnByb3RvdHlwZS50cmlnZ2VyPWZ1bmN0aW9uKGIsYyxkLGYsZyl7dmFyIGg9e2l0ZW06e2NvdW50OnRoaXMuX2l0ZW1zLmxlbmd0aCxpbmRleDp0aGlzLmN1cnJlbnQoKX19LGk9YS5jYW1lbENhc2UoYS5ncmVwKFsib24iLGIsZF0sZnVuY3Rpb24oYSl7cmV0dXJuIGF9KS5qb2luKCItIikudG9Mb3dlckNhc2UoKSksaj1hLkV2ZW50KFtiLCJvd2wiLGR8fCJjYXJvdXNlbCJdLmpvaW4oIi4iKS50b0xvd2VyQ2FzZSgpLGEuZXh0ZW5kKHtyZWxhdGVkVGFyZ2V0OnRoaXN9LGgsYykpO3JldHVybiB0aGlzLl9zdXByZXNzW2JdfHwoYS5lYWNoKHRoaXMuX3BsdWdpbnMsZnVuY3Rpb24oYSxiKXtiLm9uVHJpZ2dlciYmYi5vblRyaWdnZXIoail9KSx0aGlzLnJlZ2lzdGVyKHt0eXBlOmUuVHlwZS5FdmVudCxuYW1lOmJ9KSx0aGlzLiRlbGVtZW50LnRyaWdnZXIoaiksdGhpcy5zZXR0aW5ncyYmImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuc2V0dGluZ3NbaV0mJnRoaXMuc2V0dGluZ3NbaV0uY2FsbCh0aGlzLGopKSxqfSxlLnByb3RvdHlwZS5lbnRlcj1mdW5jdGlvbihiKXthLmVhY2goW2JdLmNvbmNhdCh0aGlzLl9zdGF0ZXMudGFnc1tiXXx8W10pLGEucHJveHkoZnVuY3Rpb24oYSxiKXt0aGlzLl9zdGF0ZXMuY3VycmVudFtiXT09PWQmJih0aGlzLl9zdGF0ZXMuY3VycmVudFtiXT0wKSx0aGlzLl9zdGF0ZXMuY3VycmVudFtiXSsrfSx0aGlzKSl9LGUucHJvdG90eXBlLmxlYXZlPWZ1bmN0aW9uKGIpe2EuZWFjaChbYl0uY29uY2F0KHRoaXMuX3N0YXRlcy50YWdzW2JdfHxbXSksYS5wcm94eShmdW5jdGlvbihhLGIpe3RoaXMuX3N0YXRlcy5jdXJyZW50W2JdLS19LHRoaXMpKX0sZS5wcm90b3R5cGUucmVnaXN0ZXI9ZnVuY3Rpb24oYil7aWYoYi50eXBlPT09ZS5UeXBlLkV2ZW50KXtpZihhLmV2ZW50LnNwZWNpYWxbYi5uYW1lXXx8KGEuZXZlbnQuc3BlY2lhbFtiLm5hbWVdPXt9KSwhYS5ldmVudC5zcGVjaWFsW2IubmFtZV0ub3dsKXt2YXIgYz1hLmV2ZW50LnNwZWNpYWxbYi5uYW1lXS5fZGVmYXVsdDthLmV2ZW50LnNwZWNpYWxbYi5uYW1lXS5fZGVmYXVsdD1mdW5jdGlvbihhKXtyZXR1cm4hY3x8IWMuYXBwbHl8fGEubmFtZXNwYWNlJiYtMSE9PWEubmFtZXNwYWNlLmluZGV4T2YoIm93bCIpP2EubmFtZXNwYWNlJiZhLm5hbWVzcGFjZS5pbmRleE9mKCJvd2wiKT4tMTpjLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sYS5ldmVudC5zcGVjaWFsW2IubmFtZV0ub3dsPSEwfX1lbHNlIGIudHlwZT09PWUuVHlwZS5TdGF0ZSYmKHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV0/dGhpcy5fc3RhdGVzLnRhZ3NbYi5uYW1lXT10aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdLmNvbmNhdChiLnRhZ3MpOnRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV09Yi50YWdzLHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV09YS5ncmVwKHRoaXMuX3N0YXRlcy50YWdzW2IubmFtZV0sYS5wcm94eShmdW5jdGlvbihjLGQpe3JldHVybiBhLmluQXJyYXkoYyx0aGlzLl9zdGF0ZXMudGFnc1tiLm5hbWVdKT09PWR9LHRoaXMpKSl9LGUucHJvdG90eXBlLnN1cHByZXNzPWZ1bmN0aW9uKGIpe2EuZWFjaChiLGEucHJveHkoZnVuY3Rpb24oYSxiKXt0aGlzLl9zdXByZXNzW2JdPSEwfSx0aGlzKSl9LGUucHJvdG90eXBlLnJlbGVhc2U9ZnVuY3Rpb24oYil7YS5lYWNoKGIsYS5wcm94eShmdW5jdGlvbihhLGIpe2RlbGV0ZSB0aGlzLl9zdXByZXNzW2JdfSx0aGlzKSl9LGUucHJvdG90eXBlLnBvaW50ZXI9ZnVuY3Rpb24oYSl7dmFyIGM9e3g6bnVsbCx5Om51bGx9O3JldHVybiBhPWEub3JpZ2luYWxFdmVudHx8YXx8Yi5ldmVudCxhPWEudG91Y2hlcyYmYS50b3VjaGVzLmxlbmd0aD9hLnRvdWNoZXNbMF06YS5jaGFuZ2VkVG91Y2hlcyYmYS5jaGFuZ2VkVG91Y2hlcy5sZW5ndGg/YS5jaGFuZ2VkVG91Y2hlc1swXTphLGEucGFnZVg/KGMueD1hLnBhZ2VYLGMueT1hLnBhZ2VZKTooYy54PWEuY2xpZW50WCxjLnk9YS5jbGllbnRZKSxjfSxlLnByb3RvdHlwZS5pc051bWVyaWM9ZnVuY3Rpb24oYSl7cmV0dXJuIWlzTmFOKHBhcnNlRmxvYXQoYSkpfSxlLnByb3RvdHlwZS5kaWZmZXJlbmNlPWZ1bmN0aW9uKGEsYil7cmV0dXJue3g6YS54LWIueCx5OmEueS1iLnl9fSxhLmZuLm93bENhcm91c2VsPWZ1bmN0aW9uKGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxmPWQuZGF0YSgib3dsLmNhcm91c2VsIik7Znx8KGY9bmV3IGUodGhpcywib2JqZWN0Ij09dHlwZW9mIGImJmIpLGQuZGF0YSgib3dsLmNhcm91c2VsIixmKSxhLmVhY2goWyJuZXh0IiwicHJldiIsInRvIiwiZGVzdHJveSIsInJlZnJlc2giLCJyZXBsYWNlIiwiYWRkIiwicmVtb3ZlIl0sZnVuY3Rpb24oYixjKXtmLnJlZ2lzdGVyKHt0eXBlOmUuVHlwZS5FdmVudCxuYW1lOmN9KSxmLiRlbGVtZW50Lm9uKGMrIi5vd2wuY2Fyb3VzZWwuY29yZSIsYS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmYS5yZWxhdGVkVGFyZ2V0IT09dGhpcyYmKHRoaXMuc3VwcHJlc3MoW2NdKSxmW2NdLmFwcGx5KHRoaXMsW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpLHRoaXMucmVsZWFzZShbY10pKX0sZikpfSkpLCJzdHJpbmciPT10eXBlb2YgYiYmIl8iIT09Yi5jaGFyQXQoMCkmJmZbYl0uYXBwbHkoZixjKX0pfSxhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuX2NvcmU9Yix0aGlzLl9pbnRlcnZhbD1udWxsLHRoaXMuX3Zpc2libGU9bnVsbCx0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvUmVmcmVzaCYmdGhpcy53YXRjaCgpfSx0aGlzKX0sdGhpcy5fY29yZS5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsdGhpcy5fY29yZS5vcHRpb25zKSx0aGlzLl9jb3JlLiRlbGVtZW50Lm9uKHRoaXMuX2hhbmRsZXJzKX07ZS5EZWZhdWx0cz17YXV0b1JlZnJlc2g6ITAsYXV0b1JlZnJlc2hJbnRlcnZhbDo1MDB9LGUucHJvdG90eXBlLndhdGNoPWZ1bmN0aW9uKCl7dGhpcy5faW50ZXJ2YWx8fCh0aGlzLl92aXNpYmxlPXRoaXMuX2NvcmUuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIiksdGhpcy5faW50ZXJ2YWw9Yi5zZXRJbnRlcnZhbChhLnByb3h5KHRoaXMucmVmcmVzaCx0aGlzKSx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9SZWZyZXNoSW50ZXJ2YWwpKX0sZS5wcm90b3R5cGUucmVmcmVzaD1mdW5jdGlvbigpe3RoaXMuX2NvcmUuJGVsZW1lbnQuaXMoIjp2aXNpYmxlIikhPT10aGlzLl92aXNpYmxlJiYodGhpcy5fdmlzaWJsZT0hdGhpcy5fdmlzaWJsZSx0aGlzLl9jb3JlLiRlbGVtZW50LnRvZ2dsZUNsYXNzKCJvd2wtaGlkZGVuIiwhdGhpcy5fdmlzaWJsZSksdGhpcy5fdmlzaWJsZSYmdGhpcy5fY29yZS5pbnZhbGlkYXRlKCJ3aWR0aCIpJiZ0aGlzLl9jb3JlLnJlZnJlc2goKSl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxjO2IuY2xlYXJJbnRlcnZhbCh0aGlzLl9pbnRlcnZhbCk7Zm9yKGEgaW4gdGhpcy5faGFuZGxlcnMpdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSx0aGlzLl9oYW5kbGVyc1thXSk7Zm9yKGMgaW4gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModGhpcykpImZ1bmN0aW9uIiE9dHlwZW9mIHRoaXNbY10mJih0aGlzW2NdPW51bGwpfSxhLmZuLm93bENhcm91c2VsLkNvbnN0cnVjdG9yLlBsdWdpbnMuQXV0b1JlZnJlc2g9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX2xvYWRlZD1bXSx0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCBjaGFuZ2Uub3dsLmNhcm91c2VsIHJlc2l6ZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGIpe2lmKGIubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmxhenlMb2FkJiYoYi5wcm9wZXJ0eSYmInBvc2l0aW9uIj09Yi5wcm9wZXJ0eS5uYW1lfHwiaW5pdGlhbGl6ZWQiPT1iLnR5cGUpKWZvcih2YXIgYz10aGlzLl9jb3JlLnNldHRpbmdzLGU9Yy5jZW50ZXImJk1hdGguY2VpbChjLml0ZW1zLzIpfHxjLml0ZW1zLGY9Yy5jZW50ZXImJi0xKmV8fDAsZz0oYi5wcm9wZXJ0eSYmYi5wcm9wZXJ0eS52YWx1ZSE9PWQ/Yi5wcm9wZXJ0eS52YWx1ZTp0aGlzLl9jb3JlLmN1cnJlbnQoKSkrZixoPXRoaXMuX2NvcmUuY2xvbmVzKCkubGVuZ3RoLGk9YS5wcm94eShmdW5jdGlvbihhLGIpe3RoaXMubG9hZChiKX0sdGhpcyk7ZisrPGU7KXRoaXMubG9hZChoLzIrdGhpcy5fY29yZS5yZWxhdGl2ZShnKSksaCYmYS5lYWNoKHRoaXMuX2NvcmUuY2xvbmVzKHRoaXMuX2NvcmUucmVsYXRpdmUoZykpLGkpLGcrK30sdGhpcyl9LHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyksdGhpcy5fY29yZS4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyl9O2UuRGVmYXVsdHM9e2xhenlMb2FkOiExfSxlLnByb3RvdHlwZS5sb2FkPWZ1bmN0aW9uKGMpe3ZhciBkPXRoaXMuX2NvcmUuJHN0YWdlLmNoaWxkcmVuKCkuZXEoYyksZT1kJiZkLmZpbmQoIi5vd2wtbGF6eSIpOyFlfHxhLmluQXJyYXkoZC5nZXQoMCksdGhpcy5fbG9hZGVkKT4tMXx8KGUuZWFjaChhLnByb3h5KGZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hKGQpLGc9Yi5kZXZpY2VQaXhlbFJhdGlvPjEmJmYuYXR0cigiZGF0YS1zcmMtcmV0aW5hIil8fGYuYXR0cigiZGF0YS1zcmMiKTt0aGlzLl9jb3JlLnRyaWdnZXIoImxvYWQiLHtlbGVtZW50OmYsdXJsOmd9LCJsYXp5IiksZi5pcygiaW1nIik/Zi5vbmUoImxvYWQub3dsLmxhenkiLGEucHJveHkoZnVuY3Rpb24oKXtmLmNzcygib3BhY2l0eSIsMSksdGhpcy5fY29yZS50cmlnZ2VyKCJsb2FkZWQiLHtlbGVtZW50OmYsdXJsOmd9LCJsYXp5Iil9LHRoaXMpKS5hdHRyKCJzcmMiLGcpOihlPW5ldyBJbWFnZSxlLm9ubG9hZD1hLnByb3h5KGZ1bmN0aW9uKCl7Zi5jc3MoeyJiYWNrZ3JvdW5kLWltYWdlIjondXJsKCInK2crJyIpJyxvcGFjaXR5OiIxIn0pLHRoaXMuX2NvcmUudHJpZ2dlcigibG9hZGVkIix7ZWxlbWVudDpmLHVybDpnfSwibGF6eSIpfSx0aGlzKSxlLnNyYz1nKX0sdGhpcykpLHRoaXMuX2xvYWRlZC5wdXNoKGQuZ2V0KDApKSl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxiO2ZvcihhIGluIHRoaXMuaGFuZGxlcnMpdGhpcy5fY29yZS4kZWxlbWVudC5vZmYoYSx0aGlzLmhhbmRsZXJzW2FdKTtmb3IoYiBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tiXSYmKHRoaXNbYl09bnVsbCl9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5MYXp5PWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuX2NvcmU9Yix0aGlzLl9oYW5kbGVycz17ImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCByZWZyZXNoZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHQmJnRoaXMudXBkYXRlKCl9LHRoaXMpLCJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvSGVpZ2h0JiYicG9zaXRpb24iPT1hLnByb3BlcnR5Lm5hbWUmJnRoaXMudXBkYXRlKCl9LHRoaXMpLCJsb2FkZWQub3dsLmxhenkiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b0hlaWdodCYmYS5lbGVtZW50LmNsb3Nlc3QoIi4iK3RoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbUNsYXNzKS5pbmRleCgpPT09dGhpcy5fY29yZS5jdXJyZW50KCkmJnRoaXMudXBkYXRlKCl9LHRoaXMpfSx0aGlzLl9jb3JlLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyx0aGlzLl9jb3JlLm9wdGlvbnMpLHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpfTtlLkRlZmF1bHRzPXthdXRvSGVpZ2h0OiExLGF1dG9IZWlnaHRDbGFzczoib3dsLWhlaWdodCJ9LGUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3ZhciBiPXRoaXMuX2NvcmUuX2N1cnJlbnQsYz1iK3RoaXMuX2NvcmUuc2V0dGluZ3MuaXRlbXMsZD10aGlzLl9jb3JlLiRzdGFnZS5jaGlsZHJlbigpLnRvQXJyYXkoKS5zbGljZShiLGMpLGU9W10sZj0wO2EuZWFjaChkLGZ1bmN0aW9uKGIsYyl7ZS5wdXNoKGEoYykuaGVpZ2h0KCkpfSksZj1NYXRoLm1heC5hcHBseShudWxsLGUpLHRoaXMuX2NvcmUuJHN0YWdlLnBhcmVudCgpLmhlaWdodChmKS5hZGRDbGFzcyh0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9IZWlnaHRDbGFzcyl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxiO2ZvcihhIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGEsdGhpcy5faGFuZGxlcnNbYV0pO2ZvcihiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2JdJiYodGhpc1tiXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkF1dG9IZWlnaHQ9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGU9ZnVuY3Rpb24oYil7dGhpcy5fY29yZT1iLHRoaXMuX3ZpZGVvcz17fSx0aGlzLl9wbGF5aW5nPW51bGwsdGhpcy5faGFuZGxlcnM9eyJpbml0aWFsaXplZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUucmVnaXN0ZXIoe3R5cGU6InN0YXRlIixuYW1lOiJwbGF5aW5nIix0YWdzOlsiaW50ZXJhY3RpbmciXX0pfSx0aGlzKSwicmVzaXplLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5fY29yZS5zZXR0aW5ncy52aWRlbyYmdGhpcy5pc0luRnVsbFNjcmVlbigpJiZhLnByZXZlbnREZWZhdWx0KCl9LHRoaXMpLCJyZWZyZXNoZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLmlzKCJyZXNpemluZyIpJiZ0aGlzLl9jb3JlLiRzdGFnZS5maW5kKCIuY2xvbmVkIC5vd2wtdmlkZW8tZnJhbWUiKS5yZW1vdmUoKX0sdGhpcyksImNoYW5nZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiYicG9zaXRpb24iPT09YS5wcm9wZXJ0eS5uYW1lJiZ0aGlzLl9wbGF5aW5nJiZ0aGlzLnN0b3AoKX0sdGhpcyksInByZXBhcmVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihiKXtpZihiLm5hbWVzcGFjZSl7dmFyIGM9YShiLmNvbnRlbnQpLmZpbmQoIi5vd2wtdmlkZW8iKTtjLmxlbmd0aCYmKGMuY3NzKCJkaXNwbGF5Iiwibm9uZSIpLHRoaXMuZmV0Y2goYyxhKGIuY29udGVudCkpKX19LHRoaXMpfSx0aGlzLl9jb3JlLm9wdGlvbnM9YS5leHRlbmQoe30sZS5EZWZhdWx0cyx0aGlzLl9jb3JlLm9wdGlvbnMpLHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLHRoaXMuX2NvcmUuJGVsZW1lbnQub24oImNsaWNrLm93bC52aWRlbyIsIi5vd2wtdmlkZW8tcGxheS1pY29uIixhLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMucGxheShhKX0sdGhpcykpfTtlLkRlZmF1bHRzPXt2aWRlbzohMSx2aWRlb0hlaWdodDohMSx2aWRlb1dpZHRoOiExfSxlLnByb3RvdHlwZS5mZXRjaD1mdW5jdGlvbihhLGIpe3ZhciBjPWZ1bmN0aW9uKCl7cmV0dXJuIGEuYXR0cigiZGF0YS12aW1lby1pZCIpPyJ2aW1lbyI6YS5hdHRyKCJkYXRhLXZ6YWFyLWlkIik/InZ6YWFyIjoieW91dHViZSJ9KCksZD1hLmF0dHIoImRhdGEtdmltZW8taWQiKXx8YS5hdHRyKCJkYXRhLXlvdXR1YmUtaWQiKXx8YS5hdHRyKCJkYXRhLXZ6YWFyLWlkIiksZT1hLmF0dHIoImRhdGEtd2lkdGgiKXx8dGhpcy5fY29yZS5zZXR0aW5ncy52aWRlb1dpZHRoLGY9YS5hdHRyKCJkYXRhLWhlaWdodCIpfHx0aGlzLl9jb3JlLnNldHRpbmdzLnZpZGVvSGVpZ2h0LGc9YS5hdHRyKCJocmVmIik7aWYoIWcpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIHZpZGVvIFVSTC4iKTtpZihkPWcubWF0Y2goLyhodHRwOnxodHRwczp8KVwvXC8ocGxheWVyLnx3d3cufGFwcC4pPyh2aW1lb1wuY29tfHlvdXR1KGJlXC5jb218XC5iZXxiZVwuZ29vZ2xlYXBpc1wuY29tKXx2emFhclwuY29tKVwvKHZpZGVvXC98dmlkZW9zXC98ZW1iZWRcL3xjaGFubmVsc1wvLitcL3xncm91cHNcLy4rXC98d2F0Y2hcP3Y9fHZcLyk/KFtBLVphLXowLTkuXyUtXSopKFwmXFMrKT8vKSxkWzNdLmluZGV4T2YoInlvdXR1Iik+LTEpYz0ieW91dHViZSI7ZWxzZSBpZihkWzNdLmluZGV4T2YoInZpbWVvIik+LTEpYz0idmltZW8iO2Vsc2V7aWYoIShkWzNdLmluZGV4T2YoInZ6YWFyIik+LTEpKXRocm93IG5ldyBFcnJvcigiVmlkZW8gVVJMIG5vdCBzdXBwb3J0ZWQuIik7Yz0idnphYXIifWQ9ZFs2XSx0aGlzLl92aWRlb3NbZ109e3R5cGU6YyxpZDpkLHdpZHRoOmUsaGVpZ2h0OmZ9LGIuYXR0cigiZGF0YS12aWRlbyIsZyksdGhpcy50aHVtYm5haWwoYSx0aGlzLl92aWRlb3NbZ10pfSxlLnByb3RvdHlwZS50aHVtYm5haWw9ZnVuY3Rpb24oYixjKXt2YXIgZCxlLGYsZz1jLndpZHRoJiZjLmhlaWdodD8nc3R5bGU9IndpZHRoOicrYy53aWR0aCsicHg7aGVpZ2h0OiIrYy5oZWlnaHQrJ3B4OyInOiIiLGg9Yi5maW5kKCJpbWciKSxpPSJzcmMiLGo9IiIsaz10aGlzLl9jb3JlLnNldHRpbmdzLGw9ZnVuY3Rpb24oYSl7ZT0nPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXBsYXktaWNvbiI+PC9kaXY+JyxkPWsubGF6eUxvYWQ/JzxkaXYgY2xhc3M9Im93bC12aWRlby10biAnK2orJyIgJytpKyc9IicrYSsnIj48L2Rpdj4nOic8ZGl2IGNsYXNzPSJvd2wtdmlkZW8tdG4iIHN0eWxlPSJvcGFjaXR5OjE7YmFja2dyb3VuZC1pbWFnZTp1cmwoJythKycpIj48L2Rpdj4nLGIuYWZ0ZXIoZCksYi5hZnRlcihlKX07cmV0dXJuIGIud3JhcCgnPGRpdiBjbGFzcz0ib3dsLXZpZGVvLXdyYXBwZXIiJytnKyI+PC9kaXY+IiksdGhpcy5fY29yZS5zZXR0aW5ncy5sYXp5TG9hZCYmKGk9ImRhdGEtc3JjIixqPSJvd2wtbGF6eSIpLGgubGVuZ3RoPyhsKGguYXR0cihpKSksaC5yZW1vdmUoKSwhMSk6dm9pZCgieW91dHViZSI9PT1jLnR5cGU/KGY9Ii8vaW1nLnlvdXR1YmUuY29tL3ZpLyIrYy5pZCsiL2hxZGVmYXVsdC5qcGciLGwoZikpOiJ2aW1lbyI9PT1jLnR5cGU/YS5hamF4KHt0eXBlOiJHRVQiLHVybDoiLy92aW1lby5jb20vYXBpL3YyL3ZpZGVvLyIrYy5pZCsiLmpzb24iLGpzb25wOiJjYWxsYmFjayIsZGF0YVR5cGU6Impzb25wIixzdWNjZXNzOmZ1bmN0aW9uKGEpe2Y9YVswXS50aHVtYm5haWxfbGFyZ2UsbChmKX19KToidnphYXIiPT09Yy50eXBlJiZhLmFqYXgoe3R5cGU6IkdFVCIsdXJsOiIvL3Z6YWFyLmNvbS9hcGkvdmlkZW9zLyIrYy5pZCsiLmpzb24iLGpzb25wOiJjYWxsYmFjayIsZGF0YVR5cGU6Impzb25wIixzdWNjZXNzOmZ1bmN0aW9uKGEpe2Y9YS5mcmFtZWdyYWJfdXJsLGwoZil9fSkpfSxlLnByb3RvdHlwZS5zdG9wPWZ1bmN0aW9uKCl7dGhpcy5fY29yZS50cmlnZ2VyKCJzdG9wIixudWxsLCJ2aWRlbyIpLHRoaXMuX3BsYXlpbmcuZmluZCgiLm93bC12aWRlby1mcmFtZSIpLnJlbW92ZSgpLHRoaXMuX3BsYXlpbmcucmVtb3ZlQ2xhc3MoIm93bC12aWRlby1wbGF5aW5nIiksdGhpcy5fcGxheWluZz1udWxsLHRoaXMuX2NvcmUubGVhdmUoInBsYXlpbmciKSx0aGlzLl9jb3JlLnRyaWdnZXIoInN0b3BwZWQiLG51bGwsInZpZGVvIil9LGUucHJvdG90eXBlLnBsYXk9ZnVuY3Rpb24oYil7dmFyIGMsZD1hKGIudGFyZ2V0KSxlPWQuY2xvc2VzdCgiLiIrdGhpcy5fY29yZS5zZXR0aW5ncy5pdGVtQ2xhc3MpLGY9dGhpcy5fdmlkZW9zW2UuYXR0cigiZGF0YS12aWRlbyIpXSxnPWYud2lkdGh8fCIxMDAlIixoPWYuaGVpZ2h0fHx0aGlzLl9jb3JlLiRzdGFnZS5oZWlnaHQoKTt0aGlzLl9wbGF5aW5nfHwodGhpcy5fY29yZS5lbnRlcigicGxheWluZyIpLHRoaXMuX2NvcmUudHJpZ2dlcigicGxheSIsbnVsbCwidmlkZW8iKSxlPXRoaXMuX2NvcmUuaXRlbXModGhpcy5fY29yZS5yZWxhdGl2ZShlLmluZGV4KCkpKSx0aGlzLl9jb3JlLnJlc2V0KGUuaW5kZXgoKSksInlvdXR1YmUiPT09Zi50eXBlP2M9JzxpZnJhbWUgd2lkdGg9IicrZysnIiBoZWlnaHQ9IicraCsnIiBzcmM9Ii8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLycrZi5pZCsiP2F1dG9wbGF5PTEmcmVsPTAmdj0iK2YuaWQrJyIgZnJhbWVib3JkZXI9IjAiIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4nOiJ2aW1lbyI9PT1mLnR5cGU/Yz0nPGlmcmFtZSBzcmM9Ii8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8nK2YuaWQrJz9hdXRvcGxheT0xIiB3aWR0aD0iJytnKyciIGhlaWdodD0iJytoKyciIGZyYW1lYm9yZGVyPSIwIiB3ZWJraXRhbGxvd2Z1bGxzY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIGFsbG93ZnVsbHNjcmVlbj48L2lmcmFtZT4nOiJ2emFhciI9PT1mLnR5cGUmJihjPSc8aWZyYW1lIGZyYW1lYm9yZGVyPSIwImhlaWdodD0iJytoKycid2lkdGg9IicrZysnIiBhbGxvd2Z1bGxzY3JlZW4gbW96YWxsb3dmdWxsc2NyZWVuIHdlYmtpdEFsbG93RnVsbFNjcmVlbiBzcmM9Ii8vdmlldy52emFhci5jb20vJytmLmlkKycvcGxheWVyP2F1dG9wbGF5PXRydWUiPjwvaWZyYW1lPicpLGEoJzxkaXYgY2xhc3M9Im93bC12aWRlby1mcmFtZSI+JytjKyI8L2Rpdj4iKS5pbnNlcnRBZnRlcihlLmZpbmQoIi5vd2wtdmlkZW8iKSksdGhpcy5fcGxheWluZz1lLmFkZENsYXNzKCJvd2wtdmlkZW8tcGxheWluZyIpKX0sZS5wcm90b3R5cGUuaXNJbkZ1bGxTY3JlZW49ZnVuY3Rpb24oKXt2YXIgYj1jLmZ1bGxzY3JlZW5FbGVtZW50fHxjLm1vekZ1bGxTY3JlZW5FbGVtZW50fHxjLndlYmtpdEZ1bGxzY3JlZW5FbGVtZW50O3JldHVybiBiJiZhKGIpLnBhcmVudCgpLmhhc0NsYXNzKCJvd2wtdmlkZW8tZnJhbWUiKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciBhLGI7dGhpcy5fY29yZS4kZWxlbWVudC5vZmYoImNsaWNrLm93bC52aWRlbyIpO2ZvcihhIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGEsdGhpcy5faGFuZGxlcnNbYV0pO2ZvcihiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2JdJiYodGhpc1tiXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLlZpZGVvPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuY29yZT1iLHRoaXMuY29yZS5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsdGhpcy5jb3JlLm9wdGlvbnMpLHRoaXMuc3dhcHBpbmc9ITAsdGhpcy5wcmV2aW91cz1kLHRoaXMubmV4dD1kLHRoaXMuaGFuZGxlcnM9eyJjaGFuZ2Uub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiYicG9zaXRpb24iPT1hLnByb3BlcnR5Lm5hbWUmJih0aGlzLnByZXZpb3VzPXRoaXMuY29yZS5jdXJyZW50KCksdGhpcy5uZXh0PWEucHJvcGVydHkudmFsdWUpfSx0aGlzKSwiZHJhZy5vd2wuY2Fyb3VzZWwgZHJhZ2dlZC5vd2wuY2Fyb3VzZWwgdHJhbnNsYXRlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJih0aGlzLnN3YXBwaW5nPSJ0cmFuc2xhdGVkIj09YS50eXBlKX0sdGhpcyksInRyYW5zbGF0ZS5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuc3dhcHBpbmcmJih0aGlzLmNvcmUub3B0aW9ucy5hbmltYXRlT3V0fHx0aGlzLmNvcmUub3B0aW9ucy5hbmltYXRlSW4pJiZ0aGlzLnN3YXAoKX0sdGhpcyl9LHRoaXMuY29yZS4kZWxlbWVudC5vbih0aGlzLmhhbmRsZXJzKX07ZS5EZWZhdWx0cz17YW5pbWF0ZU91dDohMSxhbmltYXRlSW46ITF9LGUucHJvdG90eXBlLnN3YXA9ZnVuY3Rpb24oKXtpZigxPT09dGhpcy5jb3JlLnNldHRpbmdzLml0ZW1zJiZhLnN1cHBvcnQuYW5pbWF0aW9uJiZhLnN1cHBvcnQudHJhbnNpdGlvbil7dGhpcy5jb3JlLnNwZWVkKDApO3ZhciBiLGM9YS5wcm94eSh0aGlzLmNsZWFyLHRoaXMpLGQ9dGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMucHJldmlvdXMpLGU9dGhpcy5jb3JlLiRzdGFnZS5jaGlsZHJlbigpLmVxKHRoaXMubmV4dCksZj10aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZUluLGc9dGhpcy5jb3JlLnNldHRpbmdzLmFuaW1hdGVPdXQ7dGhpcy5jb3JlLmN1cnJlbnQoKSE9PXRoaXMucHJldmlvdXMmJihnJiYoYj10aGlzLmNvcmUuY29vcmRpbmF0ZXModGhpcy5wcmV2aW91cyktdGhpcy5jb3JlLmNvb3JkaW5hdGVzKHRoaXMubmV4dCksZC5vbmUoYS5zdXBwb3J0LmFuaW1hdGlvbi5lbmQsYykuY3NzKHtsZWZ0OmIrInB4In0pLmFkZENsYXNzKCJhbmltYXRlZCBvd2wtYW5pbWF0ZWQtb3V0IikuYWRkQ2xhc3MoZykpLGYmJmUub25lKGEuc3VwcG9ydC5hbmltYXRpb24uZW5kLGMpLmFkZENsYXNzKCJhbmltYXRlZCBvd2wtYW5pbWF0ZWQtaW4iKS5hZGRDbGFzcyhmKSl9fSxlLnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbihiKXthKGIudGFyZ2V0KS5jc3Moe2xlZnQ6IiJ9KS5yZW1vdmVDbGFzcygiYW5pbWF0ZWQgb3dsLWFuaW1hdGVkLW91dCBvd2wtYW5pbWF0ZWQtaW4iKS5yZW1vdmVDbGFzcyh0aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZUluKS5yZW1vdmVDbGFzcyh0aGlzLmNvcmUuc2V0dGluZ3MuYW5pbWF0ZU91dCksdGhpcy5jb3JlLm9uVHJhbnNpdGlvbkVuZCgpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGEsYjtmb3IoYSBpbiB0aGlzLmhhbmRsZXJzKXRoaXMuY29yZS4kZWxlbWVudC5vZmYoYSx0aGlzLmhhbmRsZXJzW2FdKTtmb3IoYiBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tiXSYmKHRoaXNbYl09bnVsbCk7DQp9LGEuZm4ub3dsQ2Fyb3VzZWwuQ29uc3RydWN0b3IuUGx1Z2lucy5BbmltYXRlPWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlPWZ1bmN0aW9uKGIpe3RoaXMuX2NvcmU9Yix0aGlzLl9jYWxsPW51bGwsdGhpcy5fdGltZT0wLHRoaXMuX3RpbWVvdXQ9MCx0aGlzLl9wYXVzZWQ9ITAsdGhpcy5faGFuZGxlcnM9eyJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmInNldHRpbmdzIj09PWEucHJvcGVydHkubmFtZT90aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5P3RoaXMucGxheSgpOnRoaXMuc3RvcCgpOmEubmFtZXNwYWNlJiYicG9zaXRpb24iPT09YS5wcm9wZXJ0eS5uYW1lJiZ0aGlzLl9wYXVzZWQmJih0aGlzLl90aW1lPTApfSx0aGlzKSwiaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5JiZ0aGlzLnBsYXkoKX0sdGhpcyksInBsYXkub3dsLmF1dG9wbGF5IjphLnByb3h5KGZ1bmN0aW9uKGEsYixjKXthLm5hbWVzcGFjZSYmdGhpcy5wbGF5KGIsYyl9LHRoaXMpLCJzdG9wLm93bC5hdXRvcGxheSI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5zdG9wKCl9LHRoaXMpLCJtb3VzZW92ZXIub3dsLmF1dG9wbGF5IjphLnByb3h5KGZ1bmN0aW9uKCl7dGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UmJnRoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJnRoaXMucGF1c2UoKX0sdGhpcyksIm1vdXNlbGVhdmUub3dsLmF1dG9wbGF5IjphLnByb3h5KGZ1bmN0aW9uKCl7dGhpcy5fY29yZS5zZXR0aW5ncy5hdXRvcGxheUhvdmVyUGF1c2UmJnRoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJnRoaXMucGxheSgpfSx0aGlzKSwidG91Y2hzdGFydC5vd2wuY29yZSI6YS5wcm94eShmdW5jdGlvbigpe3RoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlIb3ZlclBhdXNlJiZ0aGlzLl9jb3JlLmlzKCJyb3RhdGluZyIpJiZ0aGlzLnBhdXNlKCl9LHRoaXMpLCJ0b3VjaGVuZC5vd2wuY29yZSI6YS5wcm94eShmdW5jdGlvbigpe3RoaXMuX2NvcmUuc2V0dGluZ3MuYXV0b3BsYXlIb3ZlclBhdXNlJiZ0aGlzLnBsYXkoKX0sdGhpcyl9LHRoaXMuX2NvcmUuJGVsZW1lbnQub24odGhpcy5faGFuZGxlcnMpLHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyl9O2UuRGVmYXVsdHM9e2F1dG9wbGF5OiExLGF1dG9wbGF5VGltZW91dDo1ZTMsYXV0b3BsYXlIb3ZlclBhdXNlOiExLGF1dG9wbGF5U3BlZWQ6ITF9LGUucHJvdG90eXBlLl9uZXh0PWZ1bmN0aW9uKGQpe3RoaXMuX2NhbGw9Yi5zZXRUaW1lb3V0KGEucHJveHkodGhpcy5fbmV4dCx0aGlzLGQpLHRoaXMuX3RpbWVvdXQqKE1hdGgucm91bmQodGhpcy5yZWFkKCkvdGhpcy5fdGltZW91dCkrMSktdGhpcy5yZWFkKCkpLHRoaXMuX2NvcmUuaXMoImJ1c3kiKXx8dGhpcy5fY29yZS5pcygiaW50ZXJhY3RpbmciKXx8Yy5oaWRkZW58fHRoaXMuX2NvcmUubmV4dChkfHx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5U3BlZWQpfSxlLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKCl7cmV0dXJuKG5ldyBEYXRlKS5nZXRUaW1lKCktdGhpcy5fdGltZX0sZS5wcm90b3R5cGUucGxheT1mdW5jdGlvbihjLGQpe3ZhciBlO3RoaXMuX2NvcmUuaXMoInJvdGF0aW5nIil8fHRoaXMuX2NvcmUuZW50ZXIoInJvdGF0aW5nIiksYz1jfHx0aGlzLl9jb3JlLnNldHRpbmdzLmF1dG9wbGF5VGltZW91dCxlPU1hdGgubWluKHRoaXMuX3RpbWUlKHRoaXMuX3RpbWVvdXR8fGMpLGMpLHRoaXMuX3BhdXNlZD8odGhpcy5fdGltZT10aGlzLnJlYWQoKSx0aGlzLl9wYXVzZWQ9ITEpOmIuY2xlYXJUaW1lb3V0KHRoaXMuX2NhbGwpLHRoaXMuX3RpbWUrPXRoaXMucmVhZCgpJWMtZSx0aGlzLl90aW1lb3V0PWMsdGhpcy5fY2FsbD1iLnNldFRpbWVvdXQoYS5wcm94eSh0aGlzLl9uZXh0LHRoaXMsZCksYy1lKX0sZS5wcm90b3R5cGUuc3RvcD1mdW5jdGlvbigpe3RoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJih0aGlzLl90aW1lPTAsdGhpcy5fcGF1c2VkPSEwLGIuY2xlYXJUaW1lb3V0KHRoaXMuX2NhbGwpLHRoaXMuX2NvcmUubGVhdmUoInJvdGF0aW5nIikpfSxlLnByb3RvdHlwZS5wYXVzZT1mdW5jdGlvbigpe3RoaXMuX2NvcmUuaXMoInJvdGF0aW5nIikmJiF0aGlzLl9wYXVzZWQmJih0aGlzLl90aW1lPXRoaXMucmVhZCgpLHRoaXMuX3BhdXNlZD0hMCxiLmNsZWFyVGltZW91dCh0aGlzLl9jYWxsKSl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgYSxiO3RoaXMuc3RvcCgpO2ZvcihhIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGEsdGhpcy5faGFuZGxlcnNbYV0pO2ZvcihiIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2JdJiYodGhpc1tiXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLmF1dG9wbGF5PWV9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpLGZ1bmN0aW9uKGEsYixjLGQpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT1mdW5jdGlvbihiKXt0aGlzLl9jb3JlPWIsdGhpcy5faW5pdGlhbGl6ZWQ9ITEsdGhpcy5fcGFnZXM9W10sdGhpcy5fY29udHJvbHM9e30sdGhpcy5fdGVtcGxhdGVzPVtdLHRoaXMuJGVsZW1lbnQ9dGhpcy5fY29yZS4kZWxlbWVudCx0aGlzLl9vdmVycmlkZXM9e25leHQ6dGhpcy5fY29yZS5uZXh0LHByZXY6dGhpcy5fY29yZS5wcmV2LHRvOnRoaXMuX2NvcmUudG99LHRoaXMuX2hhbmRsZXJzPXsicHJlcGFyZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGIpe2IubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmRvdHNEYXRhJiZ0aGlzLl90ZW1wbGF0ZXMucHVzaCgnPGRpdiBjbGFzcz0iJyt0aGlzLl9jb3JlLnNldHRpbmdzLmRvdENsYXNzKyciPicrYShiLmNvbnRlbnQpLmZpbmQoIltkYXRhLWRvdF0iKS5hZGRCYWNrKCJbZGF0YS1kb3RdIikuYXR0cigiZGF0YS1kb3QiKSsiPC9kaXY+Iil9LHRoaXMpLCJhZGRlZC5vd2wuY2Fyb3VzZWwiOmEucHJveHkoZnVuY3Rpb24oYSl7YS5uYW1lc3BhY2UmJnRoaXMuX2NvcmUuc2V0dGluZ3MuZG90c0RhdGEmJnRoaXMuX3RlbXBsYXRlcy5zcGxpY2UoYS5wb3NpdGlvbiwwLHRoaXMuX3RlbXBsYXRlcy5wb3AoKSl9LHRoaXMpLCJyZW1vdmUub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGEpe2EubmFtZXNwYWNlJiZ0aGlzLl9jb3JlLnNldHRpbmdzLmRvdHNEYXRhJiZ0aGlzLl90ZW1wbGF0ZXMuc3BsaWNlKGEucG9zaXRpb24sMSl9LHRoaXMpLCJjaGFuZ2VkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmInBvc2l0aW9uIj09YS5wcm9wZXJ0eS5uYW1lJiZ0aGlzLmRyYXcoKX0sdGhpcyksImluaXRpYWxpemVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmIXRoaXMuX2luaXRpYWxpemVkJiYodGhpcy5fY29yZS50cmlnZ2VyKCJpbml0aWFsaXplIixudWxsLCJuYXZpZ2F0aW9uIiksdGhpcy5pbml0aWFsaXplKCksdGhpcy51cGRhdGUoKSx0aGlzLmRyYXcoKSx0aGlzLl9pbml0aWFsaXplZD0hMCx0aGlzLl9jb3JlLnRyaWdnZXIoImluaXRpYWxpemVkIixudWxsLCJuYXZpZ2F0aW9uIikpfSx0aGlzKSwicmVmcmVzaGVkLm93bC5jYXJvdXNlbCI6YS5wcm94eShmdW5jdGlvbihhKXthLm5hbWVzcGFjZSYmdGhpcy5faW5pdGlhbGl6ZWQmJih0aGlzLl9jb3JlLnRyaWdnZXIoInJlZnJlc2giLG51bGwsIm5hdmlnYXRpb24iKSx0aGlzLnVwZGF0ZSgpLHRoaXMuZHJhdygpLHRoaXMuX2NvcmUudHJpZ2dlcigicmVmcmVzaGVkIixudWxsLCJuYXZpZ2F0aW9uIikpfSx0aGlzKX0sdGhpcy5fY29yZS5vcHRpb25zPWEuZXh0ZW5kKHt9LGUuRGVmYXVsdHMsdGhpcy5fY29yZS5vcHRpb25zKSx0aGlzLiRlbGVtZW50Lm9uKHRoaXMuX2hhbmRsZXJzKX07ZS5EZWZhdWx0cz17bmF2OiExLG5hdlRleHQ6Wyc8c3BhbiBhcmlhLWxhYmVsPSJwcmV2Ij4mI3gyMDM5Ozwvc3Bhbj4nLCc8c3BhbiBhcmlhLWxhYmVsPSJuZXh0Ij4mI3gyMDNhOzwvc3Bhbj4nXSxuYXZTcGVlZDohMSxuYXZFbGVtZW50OididXR0b24gcm9sZT0icHJlc2VudGF0aW9uIicsbmF2Q29udGFpbmVyOiExLG5hdkNvbnRhaW5lckNsYXNzOiJvd2wtbmF2IixuYXZDbGFzczpbIm93bC1wcmV2Iiwib3dsLW5leHQiXSxzbGlkZUJ5OjEsZG90Q2xhc3M6Im93bC1kb3QiLGRvdHNDbGFzczoib3dsLWRvdHMiLGRvdHM6ITAsZG90c0VhY2g6ITEsZG90c0RhdGE6ITEsZG90c1NwZWVkOiExLGRvdHNDb250YWluZXI6ITF9LGUucHJvdG90eXBlLmluaXRpYWxpemU9ZnVuY3Rpb24oKXt2YXIgYixjPXRoaXMuX2NvcmUuc2V0dGluZ3M7dGhpcy5fY29udHJvbHMuJHJlbGF0aXZlPShjLm5hdkNvbnRhaW5lcj9hKGMubmF2Q29udGFpbmVyKTphKCI8ZGl2PiIpLmFkZENsYXNzKGMubmF2Q29udGFpbmVyQ2xhc3MpLmFwcGVuZFRvKHRoaXMuJGVsZW1lbnQpKS5hZGRDbGFzcygiZGlzYWJsZWQiKSx0aGlzLl9jb250cm9scy4kcHJldmlvdXM9YSgiPCIrYy5uYXZFbGVtZW50KyI+IikuYWRkQ2xhc3MoYy5uYXZDbGFzc1swXSkuaHRtbChjLm5hdlRleHRbMF0pLnByZXBlbmRUbyh0aGlzLl9jb250cm9scy4kcmVsYXRpdmUpLm9uKCJjbGljayIsYS5wcm94eShmdW5jdGlvbihhKXt0aGlzLnByZXYoYy5uYXZTcGVlZCl9LHRoaXMpKSx0aGlzLl9jb250cm9scy4kbmV4dD1hKCI8IitjLm5hdkVsZW1lbnQrIj4iKS5hZGRDbGFzcyhjLm5hdkNsYXNzWzFdKS5odG1sKGMubmF2VGV4dFsxXSkuYXBwZW5kVG8odGhpcy5fY29udHJvbHMuJHJlbGF0aXZlKS5vbigiY2xpY2siLGEucHJveHkoZnVuY3Rpb24oYSl7dGhpcy5uZXh0KGMubmF2U3BlZWQpfSx0aGlzKSksYy5kb3RzRGF0YXx8KHRoaXMuX3RlbXBsYXRlcz1bYSgiPGJ1dHRvbj4iKS5hZGRDbGFzcyhjLmRvdENsYXNzKS5hcHBlbmQoYSgiPHNwYW4+IikpLnByb3AoIm91dGVySFRNTCIpXSksdGhpcy5fY29udHJvbHMuJGFic29sdXRlPShjLmRvdHNDb250YWluZXI/YShjLmRvdHNDb250YWluZXIpOmEoIjxkaXY+IikuYWRkQ2xhc3MoYy5kb3RzQ2xhc3MpLmFwcGVuZFRvKHRoaXMuJGVsZW1lbnQpKS5hZGRDbGFzcygiZGlzYWJsZWQiKSx0aGlzLl9jb250cm9scy4kYWJzb2x1dGUub24oImNsaWNrIiwiYnV0dG9uIixhLnByb3h5KGZ1bmN0aW9uKGIpe3ZhciBkPWEoYi50YXJnZXQpLnBhcmVudCgpLmlzKHRoaXMuX2NvbnRyb2xzLiRhYnNvbHV0ZSk/YShiLnRhcmdldCkuaW5kZXgoKTphKGIudGFyZ2V0KS5wYXJlbnQoKS5pbmRleCgpO2IucHJldmVudERlZmF1bHQoKSx0aGlzLnRvKGQsYy5kb3RzU3BlZWQpfSx0aGlzKSk7Zm9yKGIgaW4gdGhpcy5fb3ZlcnJpZGVzKXRoaXMuX2NvcmVbYl09YS5wcm94eSh0aGlzW2JdLHRoaXMpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQ7Zm9yKGEgaW4gdGhpcy5faGFuZGxlcnMpdGhpcy4kZWxlbWVudC5vZmYoYSx0aGlzLl9oYW5kbGVyc1thXSk7Zm9yKGIgaW4gdGhpcy5fY29udHJvbHMpIiRyZWxhdGl2ZSI9PT1iJiZzZXR0aW5ncy5uYXZDb250YWluZXI/dGhpcy5fY29udHJvbHNbYl0uaHRtbCgiIik6dGhpcy5fY29udHJvbHNbYl0ucmVtb3ZlKCk7Zm9yKGQgaW4gdGhpcy5vdmVyaWRlcyl0aGlzLl9jb3JlW2RdPXRoaXMuX292ZXJyaWRlc1tkXTtmb3IoYyBpbiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzKSkiZnVuY3Rpb24iIT10eXBlb2YgdGhpc1tjXSYmKHRoaXNbY109bnVsbCl9LGUucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3ZhciBhLGIsYyxkPXRoaXMuX2NvcmUuY2xvbmVzKCkubGVuZ3RoLzIsZT1kK3RoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGgsZj10aGlzLl9jb3JlLm1heGltdW0oITApLGc9dGhpcy5fY29yZS5zZXR0aW5ncyxoPWcuY2VudGVyfHxnLmF1dG9XaWR0aHx8Zy5kb3RzRGF0YT8xOmcuZG90c0VhY2h8fGcuaXRlbXM7aWYoInBhZ2UiIT09Zy5zbGlkZUJ5JiYoZy5zbGlkZUJ5PU1hdGgubWluKGcuc2xpZGVCeSxnLml0ZW1zKSksZy5kb3RzfHwicGFnZSI9PWcuc2xpZGVCeSlmb3IodGhpcy5fcGFnZXM9W10sYT1kLGI9MCxjPTA7ZT5hO2ErKyl7aWYoYj49aHx8MD09PWIpe2lmKHRoaXMuX3BhZ2VzLnB1c2goe3N0YXJ0Ok1hdGgubWluKGYsYS1kKSxlbmQ6YS1kK2gtMX0pLE1hdGgubWluKGYsYS1kKT09PWYpYnJlYWs7Yj0wLCsrY31iKz10aGlzLl9jb3JlLm1lcmdlcnModGhpcy5fY29yZS5yZWxhdGl2ZShhKSl9fSxlLnByb3RvdHlwZS5kcmF3PWZ1bmN0aW9uKCl7dmFyIGIsYz10aGlzLl9jb3JlLnNldHRpbmdzLGQ9dGhpcy5fY29yZS5pdGVtcygpLmxlbmd0aDw9Yy5pdGVtcyxlPXRoaXMuX2NvcmUucmVsYXRpdmUodGhpcy5fY29yZS5jdXJyZW50KCkpLGY9Yy5sb29wfHxjLnJld2luZDt0aGlzLl9jb250cm9scy4kcmVsYXRpdmUudG9nZ2xlQ2xhc3MoImRpc2FibGVkIiwhYy5uYXZ8fGQpLGMubmF2JiYodGhpcy5fY29udHJvbHMuJHByZXZpb3VzLnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsIWYmJmU8PXRoaXMuX2NvcmUubWluaW11bSghMCkpLHRoaXMuX2NvbnRyb2xzLiRuZXh0LnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsIWYmJmU+PXRoaXMuX2NvcmUubWF4aW11bSghMCkpKSx0aGlzLl9jb250cm9scy4kYWJzb2x1dGUudG9nZ2xlQ2xhc3MoImRpc2FibGVkIiwhYy5kb3RzfHxkKSxjLmRvdHMmJihiPXRoaXMuX3BhZ2VzLmxlbmd0aC10aGlzLl9jb250cm9scy4kYWJzb2x1dGUuY2hpbGRyZW4oKS5sZW5ndGgsYy5kb3RzRGF0YSYmMCE9PWI/dGhpcy5fY29udHJvbHMuJGFic29sdXRlLmh0bWwodGhpcy5fdGVtcGxhdGVzLmpvaW4oIiIpKTpiPjA/dGhpcy5fY29udHJvbHMuJGFic29sdXRlLmFwcGVuZChuZXcgQXJyYXkoYisxKS5qb2luKHRoaXMuX3RlbXBsYXRlc1swXSkpOjA+YiYmdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmNoaWxkcmVuKCkuc2xpY2UoYikucmVtb3ZlKCksdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmZpbmQoIi5hY3RpdmUiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksdGhpcy5fY29udHJvbHMuJGFic29sdXRlLmNoaWxkcmVuKCkuZXEoYS5pbkFycmF5KHRoaXMuY3VycmVudCgpLHRoaXMuX3BhZ2VzKSkuYWRkQ2xhc3MoImFjdGl2ZSIpKX0sZS5wcm90b3R5cGUub25UcmlnZ2VyPWZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMuX2NvcmUuc2V0dGluZ3M7Yi5wYWdlPXtpbmRleDphLmluQXJyYXkodGhpcy5jdXJyZW50KCksdGhpcy5fcGFnZXMpLGNvdW50OnRoaXMuX3BhZ2VzLmxlbmd0aCxzaXplOmMmJihjLmNlbnRlcnx8Yy5hdXRvV2lkdGh8fGMuZG90c0RhdGE/MTpjLmRvdHNFYWNofHxjLml0ZW1zKX19LGUucHJvdG90eXBlLmN1cnJlbnQ9ZnVuY3Rpb24oKXt2YXIgYj10aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKTtyZXR1cm4gYS5ncmVwKHRoaXMuX3BhZ2VzLGEucHJveHkoZnVuY3Rpb24oYSxjKXtyZXR1cm4gYS5zdGFydDw9YiYmYS5lbmQ+PWJ9LHRoaXMpKS5wb3AoKX0sZS5wcm90b3R5cGUuZ2V0UG9zaXRpb249ZnVuY3Rpb24oYil7dmFyIGMsZCxlPXRoaXMuX2NvcmUuc2V0dGluZ3M7cmV0dXJuInBhZ2UiPT1lLnNsaWRlQnk/KGM9YS5pbkFycmF5KHRoaXMuY3VycmVudCgpLHRoaXMuX3BhZ2VzKSxkPXRoaXMuX3BhZ2VzLmxlbmd0aCxiPysrYzotLWMsYz10aGlzLl9wYWdlc1soYyVkK2QpJWRdLnN0YXJ0KTooYz10aGlzLl9jb3JlLnJlbGF0aXZlKHRoaXMuX2NvcmUuY3VycmVudCgpKSxkPXRoaXMuX2NvcmUuaXRlbXMoKS5sZW5ndGgsYj9jKz1lLnNsaWRlQnk6Yy09ZS5zbGlkZUJ5KSxjfSxlLnByb3RvdHlwZS5uZXh0PWZ1bmN0aW9uKGIpe2EucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLHRoaXMuX2NvcmUpKHRoaXMuZ2V0UG9zaXRpb24oITApLGIpfSxlLnByb3RvdHlwZS5wcmV2PWZ1bmN0aW9uKGIpe2EucHJveHkodGhpcy5fb3ZlcnJpZGVzLnRvLHRoaXMuX2NvcmUpKHRoaXMuZ2V0UG9zaXRpb24oITEpLGIpfSxlLnByb3RvdHlwZS50bz1mdW5jdGlvbihiLGMsZCl7dmFyIGU7IWQmJnRoaXMuX3BhZ2VzLmxlbmd0aD8oZT10aGlzLl9wYWdlcy5sZW5ndGgsYS5wcm94eSh0aGlzLl9vdmVycmlkZXMudG8sdGhpcy5fY29yZSkodGhpcy5fcGFnZXNbKGIlZStlKSVlXS5zdGFydCxjKSk6YS5wcm94eSh0aGlzLl9vdmVycmlkZXMudG8sdGhpcy5fY29yZSkoYixjKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLk5hdmlnYXRpb249ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7InVzZSBzdHJpY3QiO3ZhciBlPWZ1bmN0aW9uKGMpe3RoaXMuX2NvcmU9Yyx0aGlzLl9oYXNoZXM9e30sdGhpcy4kZWxlbWVudD10aGlzLl9jb3JlLiRlbGVtZW50LHRoaXMuX2hhbmRsZXJzPXsiaW5pdGlhbGl6ZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGMpe2MubmFtZXNwYWNlJiYiVVJMSGFzaCI9PT10aGlzLl9jb3JlLnNldHRpbmdzLnN0YXJ0UG9zaXRpb24mJmEoYikudHJpZ2dlcigiaGFzaGNoYW5nZS5vd2wubmF2aWdhdGlvbiIpfSx0aGlzKSwicHJlcGFyZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGIpe2lmKGIubmFtZXNwYWNlKXt2YXIgYz1hKGIuY29udGVudCkuZmluZCgiW2RhdGEtaGFzaF0iKS5hZGRCYWNrKCJbZGF0YS1oYXNoXSIpLmF0dHIoImRhdGEtaGFzaCIpO2lmKCFjKXJldHVybjt0aGlzLl9oYXNoZXNbY109Yi5jb250ZW50fX0sdGhpcyksImNoYW5nZWQub3dsLmNhcm91c2VsIjphLnByb3h5KGZ1bmN0aW9uKGMpe2lmKGMubmFtZXNwYWNlJiYicG9zaXRpb24iPT09Yy5wcm9wZXJ0eS5uYW1lKXt2YXIgZD10aGlzLl9jb3JlLml0ZW1zKHRoaXMuX2NvcmUucmVsYXRpdmUodGhpcy5fY29yZS5jdXJyZW50KCkpKSxlPWEubWFwKHRoaXMuX2hhc2hlcyxmdW5jdGlvbihhLGIpe3JldHVybiBhPT09ZD9iOm51bGx9KS5qb2luKCk7aWYoIWV8fGIubG9jYXRpb24uaGFzaC5zbGljZSgxKT09PWUpcmV0dXJuO2IubG9jYXRpb24uaGFzaD1lfX0sdGhpcyl9LHRoaXMuX2NvcmUub3B0aW9ucz1hLmV4dGVuZCh7fSxlLkRlZmF1bHRzLHRoaXMuX2NvcmUub3B0aW9ucyksdGhpcy4kZWxlbWVudC5vbih0aGlzLl9oYW5kbGVycyksYShiKS5vbigiaGFzaGNoYW5nZS5vd2wubmF2aWdhdGlvbiIsYS5wcm94eShmdW5jdGlvbihhKXt2YXIgYz1iLmxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpLGU9dGhpcy5fY29yZS4kc3RhZ2UuY2hpbGRyZW4oKSxmPXRoaXMuX2hhc2hlc1tjXSYmZS5pbmRleCh0aGlzLl9oYXNoZXNbY10pO2YhPT1kJiZmIT09dGhpcy5fY29yZS5jdXJyZW50KCkmJnRoaXMuX2NvcmUudG8odGhpcy5fY29yZS5yZWxhdGl2ZShmKSwhMSwhMCl9LHRoaXMpKX07ZS5EZWZhdWx0cz17VVJMaGFzaExpc3RlbmVyOiExfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIGMsZDthKGIpLm9mZigiaGFzaGNoYW5nZS5vd2wubmF2aWdhdGlvbiIpO2ZvcihjIGluIHRoaXMuX2hhbmRsZXJzKXRoaXMuX2NvcmUuJGVsZW1lbnQub2ZmKGMsdGhpcy5faGFuZGxlcnNbY10pO2ZvcihkIGluIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRoaXMpKSJmdW5jdGlvbiIhPXR5cGVvZiB0aGlzW2RdJiYodGhpc1tkXT1udWxsKX0sYS5mbi5vd2xDYXJvdXNlbC5Db25zdHJ1Y3Rvci5QbHVnaW5zLkhhc2g9ZX0od2luZG93LlplcHRvfHx3aW5kb3cualF1ZXJ5LHdpbmRvdyxkb2N1bWVudCksZnVuY3Rpb24oYSxiLGMsZCl7ZnVuY3Rpb24gZShiLGMpe3ZhciBlPSExLGY9Yi5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStiLnNsaWNlKDEpO3JldHVybiBhLmVhY2goKGIrIiAiK2guam9pbihmKyIgIikrZikuc3BsaXQoIiAiKSxmdW5jdGlvbihhLGIpe3JldHVybiBnW2JdIT09ZD8oZT1jP2I6ITAsITEpOnZvaWQgMH0pLGV9ZnVuY3Rpb24gZihhKXtyZXR1cm4gZShhLCEwKX12YXIgZz1hKCI8c3VwcG9ydD4iKS5nZXQoMCkuc3R5bGUsaD0iV2Via2l0IE1veiBPIG1zIi5zcGxpdCgiICIpLGk9e3RyYW5zaXRpb246e2VuZDp7V2Via2l0VHJhbnNpdGlvbjoid2Via2l0VHJhbnNpdGlvbkVuZCIsTW96VHJhbnNpdGlvbjoidHJhbnNpdGlvbmVuZCIsT1RyYW5zaXRpb246Im9UcmFuc2l0aW9uRW5kIix0cmFuc2l0aW9uOiJ0cmFuc2l0aW9uZW5kIn19LGFuaW1hdGlvbjp7ZW5kOntXZWJraXRBbmltYXRpb246IndlYmtpdEFuaW1hdGlvbkVuZCIsTW96QW5pbWF0aW9uOiJhbmltYXRpb25lbmQiLE9BbmltYXRpb246Im9BbmltYXRpb25FbmQiLGFuaW1hdGlvbjoiYW5pbWF0aW9uZW5kIn19fSxqPXtjc3N0cmFuc2Zvcm1zOmZ1bmN0aW9uKCl7cmV0dXJuISFlKCJ0cmFuc2Zvcm0iKX0sY3NzdHJhbnNmb3JtczNkOmZ1bmN0aW9uKCl7cmV0dXJuISFlKCJwZXJzcGVjdGl2ZSIpfSxjc3N0cmFuc2l0aW9uczpmdW5jdGlvbigpe3JldHVybiEhZSgidHJhbnNpdGlvbiIpfSxjc3NhbmltYXRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuISFlKCJhbmltYXRpb24iKX19O2ouY3NzdHJhbnNpdGlvbnMoKSYmKGEuc3VwcG9ydC50cmFuc2l0aW9uPW5ldyBTdHJpbmcoZigidHJhbnNpdGlvbiIpKSxhLnN1cHBvcnQudHJhbnNpdGlvbi5lbmQ9aS50cmFuc2l0aW9uLmVuZFthLnN1cHBvcnQudHJhbnNpdGlvbl0pLGouY3NzYW5pbWF0aW9ucygpJiYoYS5zdXBwb3J0LmFuaW1hdGlvbj1uZXcgU3RyaW5nKGYoImFuaW1hdGlvbiIpKSxhLnN1cHBvcnQuYW5pbWF0aW9uLmVuZD1pLmFuaW1hdGlvbi5lbmRbYS5zdXBwb3J0LmFuaW1hdGlvbl0pLGouY3NzdHJhbnNmb3JtcygpJiYoYS5zdXBwb3J0LnRyYW5zZm9ybT1uZXcgU3RyaW5nKGYoInRyYW5zZm9ybSIpKSxhLnN1cHBvcnQudHJhbnNmb3JtM2Q9ai5jc3N0cmFuc2Zvcm1zM2QoKSl9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSx3aW5kb3csZG9jdW1lbnQpOw0KDQoNCi8qDQogKiAgRmxleFNsaWRlcg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKg0KICogalF1ZXJ5IEZsZXhTbGlkZXIgdjIuNi4wDQogKiBDb3B5cmlnaHQgMjAxMiBXb29UaGVtZXMNCiAqIENvbnRyaWJ1dGluZyBBdXRob3I6IFR5bGVyIFNtaXRoDQogKi8NCiAhZnVuY3Rpb24oJCl7dmFyIGU9ITA7JC5mbGV4c2xpZGVyPWZ1bmN0aW9uKHQsYSl7dmFyIG49JCh0KTtuLnZhcnM9JC5leHRlbmQoe30sJC5mbGV4c2xpZGVyLmRlZmF1bHRzLGEpO3ZhciBpPW4udmFycy5uYW1lc3BhY2Uscz13aW5kb3cubmF2aWdhdG9yJiZ3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWQmJndpbmRvdy5NU0dlc3R1cmUscj0oIm9udG91Y2hzdGFydCJpbiB3aW5kb3d8fHN8fHdpbmRvdy5Eb2N1bWVudFRvdWNoJiZkb2N1bWVudCBpbnN0YW5jZW9mIERvY3VtZW50VG91Y2gpJiZuLnZhcnMudG91Y2gsbz0iY2xpY2sgdG91Y2hlbmQgTVNQb2ludGVyVXAga2V5dXAiLGw9IiIsYyxkPSJ2ZXJ0aWNhbCI9PT1uLnZhcnMuZGlyZWN0aW9uLHU9bi52YXJzLnJldmVyc2Usdj1uLnZhcnMuaXRlbVdpZHRoPjAscD0iZmFkZSI9PT1uLnZhcnMuYW5pbWF0aW9uLG09IiIhPT1uLnZhcnMuYXNOYXZGb3IsZj17fTskLmRhdGEodCwiZmxleHNsaWRlciIsbiksZj17aW5pdDpmdW5jdGlvbigpe24uYW5pbWF0aW5nPSExLG4uY3VycmVudFNsaWRlPXBhcnNlSW50KG4udmFycy5zdGFydEF0P24udmFycy5zdGFydEF0OjAsMTApLGlzTmFOKG4uY3VycmVudFNsaWRlKSYmKG4uY3VycmVudFNsaWRlPTApLG4uYW5pbWF0aW5nVG89bi5jdXJyZW50U2xpZGUsbi5hdEVuZD0wPT09bi5jdXJyZW50U2xpZGV8fG4uY3VycmVudFNsaWRlPT09bi5sYXN0LG4uY29udGFpbmVyU2VsZWN0b3I9bi52YXJzLnNlbGVjdG9yLnN1YnN0cigwLG4udmFycy5zZWxlY3Rvci5zZWFyY2goIiAiKSksbi5zbGlkZXM9JChuLnZhcnMuc2VsZWN0b3Isbiksbi5jb250YWluZXI9JChuLmNvbnRhaW5lclNlbGVjdG9yLG4pLG4uY291bnQ9bi5zbGlkZXMubGVuZ3RoLG4uc3luY0V4aXN0cz0kKG4udmFycy5zeW5jKS5sZW5ndGg+MCwic2xpZGUiPT09bi52YXJzLmFuaW1hdGlvbiYmKG4udmFycy5hbmltYXRpb249InN3aW5nIiksbi5wcm9wPWQ/InRvcCI6Im1hcmdpbkxlZnQiLG4uYXJncz17fSxuLm1hbnVhbFBhdXNlPSExLG4uc3RvcHBlZD0hMSxuLnN0YXJ0ZWQ9ITEsbi5zdGFydFRpbWVvdXQ9bnVsbCxuLnRyYW5zaXRpb25zPSFuLnZhcnMudmlkZW8mJiFwJiZuLnZhcnMudXNlQ1NTJiZmdW5jdGlvbigpe3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLHQ9WyJwZXJzcGVjdGl2ZVByb3BlcnR5IiwiV2Via2l0UGVyc3BlY3RpdmUiLCJNb3pQZXJzcGVjdGl2ZSIsIk9QZXJzcGVjdGl2ZSIsIm1zUGVyc3BlY3RpdmUiXTtmb3IodmFyIGEgaW4gdClpZih2b2lkIDAhPT1lLnN0eWxlW3RbYV1dKXJldHVybiBuLnBmeD10W2FdLnJlcGxhY2UoIlBlcnNwZWN0aXZlIiwiIikudG9Mb3dlckNhc2UoKSxuLnByb3A9Ii0iK24ucGZ4KyItdHJhbnNmb3JtIiwhMDtyZXR1cm4hMX0oKSxuLmVuc3VyZUFuaW1hdGlvbkVuZD0iIiwiIiE9PW4udmFycy5jb250cm9sc0NvbnRhaW5lciYmKG4uY29udHJvbHNDb250YWluZXI9JChuLnZhcnMuY29udHJvbHNDb250YWluZXIpLmxlbmd0aD4wJiYkKG4udmFycy5jb250cm9sc0NvbnRhaW5lcikpLCIiIT09bi52YXJzLm1hbnVhbENvbnRyb2xzJiYobi5tYW51YWxDb250cm9scz0kKG4udmFycy5tYW51YWxDb250cm9scykubGVuZ3RoPjAmJiQobi52YXJzLm1hbnVhbENvbnRyb2xzKSksIiIhPT1uLnZhcnMuY3VzdG9tRGlyZWN0aW9uTmF2JiYobi5jdXN0b21EaXJlY3Rpb25OYXY9Mj09PSQobi52YXJzLmN1c3RvbURpcmVjdGlvbk5hdikubGVuZ3RoJiYkKG4udmFycy5jdXN0b21EaXJlY3Rpb25OYXYpKSxuLnZhcnMucmFuZG9taXplJiYobi5zbGlkZXMuc29ydChmdW5jdGlvbigpe3JldHVybiBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkpLS41fSksbi5jb250YWluZXIuZW1wdHkoKS5hcHBlbmQobi5zbGlkZXMpKSxuLmRvTWF0aCgpLG4uc2V0dXAoImluaXQiKSxuLnZhcnMuY29udHJvbE5hdiYmZi5jb250cm9sTmF2LnNldHVwKCksbi52YXJzLmRpcmVjdGlvbk5hdiYmZi5kaXJlY3Rpb25OYXYuc2V0dXAoKSxuLnZhcnMua2V5Ym9hcmQmJigxPT09JChuLmNvbnRhaW5lclNlbGVjdG9yKS5sZW5ndGh8fG4udmFycy5tdWx0aXBsZUtleWJvYXJkKSYmJChkb2N1bWVudCkuYmluZCgia2V5dXAiLGZ1bmN0aW9uKGUpe3ZhciB0PWUua2V5Q29kZTtpZighbi5hbmltYXRpbmcmJigzOT09PXR8fDM3PT09dCkpe3ZhciBhPTM5PT09dD9uLmdldFRhcmdldCgibmV4dCIpOjM3PT09dD9uLmdldFRhcmdldCgicHJldiIpOiExO24uZmxleEFuaW1hdGUoYSxuLnZhcnMucGF1c2VPbkFjdGlvbil9fSksbi52YXJzLm1vdXNld2hlZWwmJm4uYmluZCgibW91c2V3aGVlbCIsZnVuY3Rpb24oZSx0LGEsaSl7ZS5wcmV2ZW50RGVmYXVsdCgpO3ZhciBzPTA+dD9uLmdldFRhcmdldCgibmV4dCIpOm4uZ2V0VGFyZ2V0KCJwcmV2Iik7bi5mbGV4QW5pbWF0ZShzLG4udmFycy5wYXVzZU9uQWN0aW9uKX0pLG4udmFycy5wYXVzZVBsYXkmJmYucGF1c2VQbGF5LnNldHVwKCksbi52YXJzLnNsaWRlc2hvdyYmbi52YXJzLnBhdXNlSW52aXNpYmxlJiZmLnBhdXNlSW52aXNpYmxlLmluaXQoKSxuLnZhcnMuc2xpZGVzaG93JiYobi52YXJzLnBhdXNlT25Ib3ZlciYmbi5ob3ZlcihmdW5jdGlvbigpe24ubWFudWFsUGxheXx8bi5tYW51YWxQYXVzZXx8bi5wYXVzZSgpfSxmdW5jdGlvbigpe24ubWFudWFsUGF1c2V8fG4ubWFudWFsUGxheXx8bi5zdG9wcGVkfHxuLnBsYXkoKX0pLG4udmFycy5wYXVzZUludmlzaWJsZSYmZi5wYXVzZUludmlzaWJsZS5pc0hpZGRlbigpfHwobi52YXJzLmluaXREZWxheT4wP24uc3RhcnRUaW1lb3V0PXNldFRpbWVvdXQobi5wbGF5LG4udmFycy5pbml0RGVsYXkpOm4ucGxheSgpKSksbSYmZi5hc05hdi5zZXR1cCgpLHImJm4udmFycy50b3VjaCYmZi50b3VjaCgpLCghcHx8cCYmbi52YXJzLnNtb290aEhlaWdodCkmJiQod2luZG93KS5iaW5kKCJyZXNpemUgb3JpZW50YXRpb25jaGFuZ2UgZm9jdXMiLGYucmVzaXplKSxuLmZpbmQoImltZyIpLmF0dHIoImRyYWdnYWJsZSIsImZhbHNlIiksc2V0VGltZW91dChmdW5jdGlvbigpe24udmFycy5zdGFydChuKX0sMjAwKX0sYXNOYXY6e3NldHVwOmZ1bmN0aW9uKCl7bi5hc05hdj0hMCxuLmFuaW1hdGluZ1RvPU1hdGguZmxvb3Iobi5jdXJyZW50U2xpZGUvbi5tb3ZlKSxuLmN1cnJlbnRJdGVtPW4uY3VycmVudFNsaWRlLG4uc2xpZGVzLnJlbW92ZUNsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLmVxKG4uY3VycmVudEl0ZW0pLmFkZENsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLHM/KHQuX3NsaWRlcj1uLG4uc2xpZGVzLmVhY2goZnVuY3Rpb24oKXt2YXIgZT10aGlzO2UuX2dlc3R1cmU9bmV3IE1TR2VzdHVyZSxlLl9nZXN0dXJlLnRhcmdldD1lLGUuYWRkRXZlbnRMaXN0ZW5lcigiTVNQb2ludGVyRG93biIsZnVuY3Rpb24oZSl7ZS5wcmV2ZW50RGVmYXVsdCgpLGUuY3VycmVudFRhcmdldC5fZ2VzdHVyZSYmZS5jdXJyZW50VGFyZ2V0Ll9nZXN0dXJlLmFkZFBvaW50ZXIoZS5wb2ludGVySWQpfSwhMSksZS5hZGRFdmVudExpc3RlbmVyKCJNU0dlc3R1cmVUYXAiLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTt2YXIgdD0kKHRoaXMpLGE9dC5pbmRleCgpOyQobi52YXJzLmFzTmF2Rm9yKS5kYXRhKCJmbGV4c2xpZGVyIikuYW5pbWF0aW5nfHx0Lmhhc0NsYXNzKCJhY3RpdmUiKXx8KG4uZGlyZWN0aW9uPW4uY3VycmVudEl0ZW08YT8ibmV4dCI6InByZXYiLG4uZmxleEFuaW1hdGUoYSxuLnZhcnMucGF1c2VPbkFjdGlvbiwhMSwhMCwhMCkpfSl9KSk6bi5zbGlkZXMub24obyxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ9JCh0aGlzKSxhPXQuaW5kZXgoKSxzPXQub2Zmc2V0KCkubGVmdC0kKG4pLnNjcm9sbExlZnQoKTswPj1zJiZ0Lmhhc0NsYXNzKGkrImFjdGl2ZS1zbGlkZSIpP24uZmxleEFuaW1hdGUobi5nZXRUYXJnZXQoInByZXYiKSwhMCk6JChuLnZhcnMuYXNOYXZGb3IpLmRhdGEoImZsZXhzbGlkZXIiKS5hbmltYXRpbmd8fHQuaGFzQ2xhc3MoaSsiYWN0aXZlLXNsaWRlIil8fChuLmRpcmVjdGlvbj1uLmN1cnJlbnRJdGVtPGE/Im5leHQiOiJwcmV2IixuLmZsZXhBbmltYXRlKGEsbi52YXJzLnBhdXNlT25BY3Rpb24sITEsITAsITApKX0pfX0sY29udHJvbE5hdjp7c2V0dXA6ZnVuY3Rpb24oKXtuLm1hbnVhbENvbnRyb2xzP2YuY29udHJvbE5hdi5zZXR1cE1hbnVhbCgpOmYuY29udHJvbE5hdi5zZXR1cFBhZ2luZygpfSxzZXR1cFBhZ2luZzpmdW5jdGlvbigpe3ZhciBlPSJ0aHVtYm5haWxzIj09PW4udmFycy5jb250cm9sTmF2PyJjb250cm9sLXRodW1icyI6ImNvbnRyb2wtcGFnaW5nIix0PTEsYSxzO2lmKG4uY29udHJvbE5hdlNjYWZmb2xkPSQoJzxvbCBjbGFzcz0iJytpKyJjb250cm9sLW5hdiAiK2krZSsnIj48L29sPicpLG4ucGFnaW5nQ291bnQ+MSlmb3IodmFyIHI9MDtyPG4ucGFnaW5nQ291bnQ7cisrKXtpZihzPW4uc2xpZGVzLmVxKHIpLHZvaWQgMD09PXMuYXR0cigiZGF0YS10aHVtYi1hbHQiKSYmcy5hdHRyKCJkYXRhLXRodW1iLWFsdCIsIiIpLGFsdFRleHQ9IiIhPT1zLmF0dHIoImRhdGEtdGh1bWItYWx0Iik/YWx0VGV4dD0nIGFsdD0iJytzLmF0dHIoImRhdGEtdGh1bWItYWx0IikrJyInOiIiLGE9InRodW1ibmFpbHMiPT09bi52YXJzLmNvbnRyb2xOYXY/JzxpbWcgc3JjPSInK3MuYXR0cigiZGF0YS10aHVtYiIpKyciJythbHRUZXh0KyIvPiI6JzxhIGhyZWY9IiMiPicrdCsiPC9hPiIsInRodW1ibmFpbHMiPT09bi52YXJzLmNvbnRyb2xOYXYmJiEwPT09bi52YXJzLnRodW1iQ2FwdGlvbnMpe3ZhciBjPXMuYXR0cigiZGF0YS10aHVtYmNhcHRpb24iKTsiIiE9PWMmJnZvaWQgMCE9PWMmJihhKz0nPHNwYW4gY2xhc3M9IicraSsnY2FwdGlvbiI+JytjKyI8L3NwYW4+Iil9bi5jb250cm9sTmF2U2NhZmZvbGQuYXBwZW5kKCI8bGk+IithKyI8L2xpPiIpLHQrK31uLmNvbnRyb2xzQ29udGFpbmVyPyQobi5jb250cm9sc0NvbnRhaW5lcikuYXBwZW5kKG4uY29udHJvbE5hdlNjYWZmb2xkKTpuLmFwcGVuZChuLmNvbnRyb2xOYXZTY2FmZm9sZCksZi5jb250cm9sTmF2LnNldCgpLGYuY29udHJvbE5hdi5hY3RpdmUoKSxuLmNvbnRyb2xOYXZTY2FmZm9sZC5kZWxlZ2F0ZSgiYSwgaW1nIixvLGZ1bmN0aW9uKGUpe2lmKGUucHJldmVudERlZmF1bHQoKSwiIj09PWx8fGw9PT1lLnR5cGUpe3ZhciB0PSQodGhpcyksYT1uLmNvbnRyb2xOYXYuaW5kZXgodCk7dC5oYXNDbGFzcyhpKyJhY3RpdmUiKXx8KG4uZGlyZWN0aW9uPWE+bi5jdXJyZW50U2xpZGU/Im5leHQiOiJwcmV2IixuLmZsZXhBbmltYXRlKGEsbi52YXJzLnBhdXNlT25BY3Rpb24pKX0iIj09PWwmJihsPWUudHlwZSksZi5zZXRUb0NsZWFyV2F0Y2hlZEV2ZW50KCl9KX0sc2V0dXBNYW51YWw6ZnVuY3Rpb24oKXtuLmNvbnRyb2xOYXY9bi5tYW51YWxDb250cm9scyxmLmNvbnRyb2xOYXYuYWN0aXZlKCksbi5jb250cm9sTmF2LmJpbmQobyxmdW5jdGlvbihlKXtpZihlLnByZXZlbnREZWZhdWx0KCksIiI9PT1sfHxsPT09ZS50eXBlKXt2YXIgdD0kKHRoaXMpLGE9bi5jb250cm9sTmF2LmluZGV4KHQpO3QuaGFzQ2xhc3MoaSsiYWN0aXZlIil8fChhPm4uY3VycmVudFNsaWRlP24uZGlyZWN0aW9uPSJuZXh0IjpuLmRpcmVjdGlvbj0icHJldiIsbi5mbGV4QW5pbWF0ZShhLG4udmFycy5wYXVzZU9uQWN0aW9uKSl9IiI9PT1sJiYobD1lLnR5cGUpLGYuc2V0VG9DbGVhcldhdGNoZWRFdmVudCgpfSl9LHNldDpmdW5jdGlvbigpe3ZhciBlPSJ0aHVtYm5haWxzIj09PW4udmFycy5jb250cm9sTmF2PyJpbWciOiJhIjtuLmNvbnRyb2xOYXY9JCgiLiIraSsiY29udHJvbC1uYXYgbGkgIitlLG4uY29udHJvbHNDb250YWluZXI/bi5jb250cm9sc0NvbnRhaW5lcjpuKX0sYWN0aXZlOmZ1bmN0aW9uKCl7bi5jb250cm9sTmF2LnJlbW92ZUNsYXNzKGkrImFjdGl2ZSIpLmVxKG4uYW5pbWF0aW5nVG8pLmFkZENsYXNzKGkrImFjdGl2ZSIpfSx1cGRhdGU6ZnVuY3Rpb24oZSx0KXtuLnBhZ2luZ0NvdW50PjEmJiJhZGQiPT09ZT9uLmNvbnRyb2xOYXZTY2FmZm9sZC5hcHBlbmQoJCgnPGxpPjxhIGhyZWY9IiMiPicrbi5jb3VudCsiPC9hPjwvbGk+IikpOjE9PT1uLnBhZ2luZ0NvdW50P24uY29udHJvbE5hdlNjYWZmb2xkLmZpbmQoImxpIikucmVtb3ZlKCk6bi5jb250cm9sTmF2LmVxKHQpLmNsb3Nlc3QoImxpIikucmVtb3ZlKCksZi5jb250cm9sTmF2LnNldCgpLG4ucGFnaW5nQ291bnQ+MSYmbi5wYWdpbmdDb3VudCE9PW4uY29udHJvbE5hdi5sZW5ndGg/bi51cGRhdGUodCxlKTpmLmNvbnRyb2xOYXYuYWN0aXZlKCl9fSxkaXJlY3Rpb25OYXY6e3NldHVwOmZ1bmN0aW9uKCl7dmFyIGU9JCgnPHVsIGNsYXNzPSInK2krJ2RpcmVjdGlvbi1uYXYiPjxsaSBjbGFzcz0iJytpKyduYXYtcHJldiI+PGEgY2xhc3M9IicraSsncHJldiIgaHJlZj0iIyI+JytuLnZhcnMucHJldlRleHQrJzwvYT48L2xpPjxsaSBjbGFzcz0iJytpKyduYXYtbmV4dCI+PGEgY2xhc3M9IicraSsnbmV4dCIgaHJlZj0iIyI+JytuLnZhcnMubmV4dFRleHQrIjwvYT48L2xpPjwvdWw+Iik7bi5jdXN0b21EaXJlY3Rpb25OYXY/bi5kaXJlY3Rpb25OYXY9bi5jdXN0b21EaXJlY3Rpb25OYXY6bi5jb250cm9sc0NvbnRhaW5lcj8oJChuLmNvbnRyb2xzQ29udGFpbmVyKS5hcHBlbmQoZSksbi5kaXJlY3Rpb25OYXY9JCgiLiIraSsiZGlyZWN0aW9uLW5hdiBsaSBhIixuLmNvbnRyb2xzQ29udGFpbmVyKSk6KG4uYXBwZW5kKGUpLG4uZGlyZWN0aW9uTmF2PSQoIi4iK2krImRpcmVjdGlvbi1uYXYgbGkgYSIsbikpLGYuZGlyZWN0aW9uTmF2LnVwZGF0ZSgpLG4uZGlyZWN0aW9uTmF2LmJpbmQobyxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIHQ7KCIiPT09bHx8bD09PWUudHlwZSkmJih0PSQodGhpcykuaGFzQ2xhc3MoaSsibmV4dCIpP24uZ2V0VGFyZ2V0KCJuZXh0Iik6bi5nZXRUYXJnZXQoInByZXYiKSxuLmZsZXhBbmltYXRlKHQsbi52YXJzLnBhdXNlT25BY3Rpb24pKSwiIj09PWwmJihsPWUudHlwZSksZi5zZXRUb0NsZWFyV2F0Y2hlZEV2ZW50KCl9KX0sdXBkYXRlOmZ1bmN0aW9uKCl7dmFyIGU9aSsiZGlzYWJsZWQiOzE9PT1uLnBhZ2luZ0NvdW50P24uZGlyZWN0aW9uTmF2LmFkZENsYXNzKGUpLmF0dHIoInRhYmluZGV4IiwiLTEiKTpuLnZhcnMuYW5pbWF0aW9uTG9vcD9uLmRpcmVjdGlvbk5hdi5yZW1vdmVDbGFzcyhlKS5yZW1vdmVBdHRyKCJ0YWJpbmRleCIpOjA9PT1uLmFuaW1hdGluZ1RvP24uZGlyZWN0aW9uTmF2LnJlbW92ZUNsYXNzKGUpLmZpbHRlcigiLiIraSsicHJldiIpLmFkZENsYXNzKGUpLmF0dHIoInRhYmluZGV4IiwiLTEiKTpuLmFuaW1hdGluZ1RvPT09bi5sYXN0P24uZGlyZWN0aW9uTmF2LnJlbW92ZUNsYXNzKGUpLmZpbHRlcigiLiIraSsibmV4dCIpLmFkZENsYXNzKGUpLmF0dHIoInRhYmluZGV4IiwiLTEiKTpuLmRpcmVjdGlvbk5hdi5yZW1vdmVDbGFzcyhlKS5yZW1vdmVBdHRyKCJ0YWJpbmRleCIpfX0scGF1c2VQbGF5OntzZXR1cDpmdW5jdGlvbigpe3ZhciBlPSQoJzxkaXYgY2xhc3M9IicraSsncGF1c2VwbGF5Ij48YSBocmVmPSIjIj48L2E+PC9kaXY+Jyk7bi5jb250cm9sc0NvbnRhaW5lcj8obi5jb250cm9sc0NvbnRhaW5lci5hcHBlbmQoZSksbi5wYXVzZVBsYXk9JCgiLiIraSsicGF1c2VwbGF5IGEiLG4uY29udHJvbHNDb250YWluZXIpKToobi5hcHBlbmQoZSksbi5wYXVzZVBsYXk9JCgiLiIraSsicGF1c2VwbGF5IGEiLG4pKSxmLnBhdXNlUGxheS51cGRhdGUobi52YXJzLnNsaWRlc2hvdz9pKyJwYXVzZSI6aSsicGxheSIpLG4ucGF1c2VQbGF5LmJpbmQobyxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCksKCIiPT09bHx8bD09PWUudHlwZSkmJigkKHRoaXMpLmhhc0NsYXNzKGkrInBhdXNlIik/KG4ubWFudWFsUGF1c2U9ITAsbi5tYW51YWxQbGF5PSExLG4ucGF1c2UoKSk6KG4ubWFudWFsUGF1c2U9ITEsbi5tYW51YWxQbGF5PSEwLG4ucGxheSgpKSksIiI9PT1sJiYobD1lLnR5cGUpLGYuc2V0VG9DbGVhcldhdGNoZWRFdmVudCgpfSl9LHVwZGF0ZTpmdW5jdGlvbihlKXsicGxheSI9PT1lP24ucGF1c2VQbGF5LnJlbW92ZUNsYXNzKGkrInBhdXNlIikuYWRkQ2xhc3MoaSsicGxheSIpLmh0bWwobi52YXJzLnBsYXlUZXh0KTpuLnBhdXNlUGxheS5yZW1vdmVDbGFzcyhpKyJwbGF5IikuYWRkQ2xhc3MoaSsicGF1c2UiKS5odG1sKG4udmFycy5wYXVzZVRleHQpfX0sdG91Y2g6ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe2Uuc3RvcFByb3BhZ2F0aW9uKCksbi5hbmltYXRpbmc/ZS5wcmV2ZW50RGVmYXVsdCgpOihuLnBhdXNlKCksdC5fZ2VzdHVyZS5hZGRQb2ludGVyKGUucG9pbnRlcklkKSxUPTAsYz1kP24uaDpuLncsZj1OdW1iZXIobmV3IERhdGUpLGw9diYmdSYmbi5hbmltYXRpbmdUbz09PW4ubGFzdD8wOnYmJnU/bi5saW1pdC0obi5pdGVtVytuLnZhcnMuaXRlbU1hcmdpbikqbi5tb3ZlKm4uYW5pbWF0aW5nVG86diYmbi5jdXJyZW50U2xpZGU9PT1uLmxhc3Q/bi5saW1pdDp2PyhuLml0ZW1XK24udmFycy5pdGVtTWFyZ2luKSpuLm1vdmUqbi5jdXJyZW50U2xpZGU6dT8obi5sYXN0LW4uY3VycmVudFNsaWRlK24uY2xvbmVPZmZzZXQpKmM6KG4uY3VycmVudFNsaWRlK24uY2xvbmVPZmZzZXQpKmMpfWZ1bmN0aW9uIGEoZSl7ZS5zdG9wUHJvcGFnYXRpb24oKTt2YXIgYT1lLnRhcmdldC5fc2xpZGVyO2lmKGEpe3ZhciBuPS1lLnRyYW5zbGF0aW9uWCxpPS1lLnRyYW5zbGF0aW9uWTtyZXR1cm4gVCs9ZD9pOm4sbT1ULHg9ZD9NYXRoLmFicyhUKTxNYXRoLmFicygtbik6TWF0aC5hYnMoVCk8TWF0aC5hYnMoLWkpLGUuZGV0YWlsPT09ZS5NU0dFU1RVUkVfRkxBR19JTkVSVElBP3ZvaWQgc2V0SW1tZWRpYXRlKGZ1bmN0aW9uKCl7dC5fZ2VzdHVyZS5zdG9wKCl9KTp2b2lkKCgheHx8TnVtYmVyKG5ldyBEYXRlKS1mPjUwMCkmJihlLnByZXZlbnREZWZhdWx0KCksIXAmJmEudHJhbnNpdGlvbnMmJihhLnZhcnMuYW5pbWF0aW9uTG9vcHx8KG09VC8oMD09PWEuY3VycmVudFNsaWRlJiYwPlR8fGEuY3VycmVudFNsaWRlPT09YS5sYXN0JiZUPjA/TWF0aC5hYnMoVCkvYysyOjEpKSxhLnNldFByb3BzKGwrbSwic2V0VG91Y2giKSkpKX19ZnVuY3Rpb24gaShlKXtlLnN0b3BQcm9wYWdhdGlvbigpO3ZhciB0PWUudGFyZ2V0Ll9zbGlkZXI7aWYodCl7aWYodC5hbmltYXRpbmdUbz09PXQuY3VycmVudFNsaWRlJiYheCYmbnVsbCE9PW0pe3ZhciBhPXU/LW06bSxuPWE+MD90LmdldFRhcmdldCgibmV4dCIpOnQuZ2V0VGFyZ2V0KCJwcmV2Iik7dC5jYW5BZHZhbmNlKG4pJiYoTnVtYmVyKG5ldyBEYXRlKS1mPDU1MCYmTWF0aC5hYnMoYSk+NTB8fE1hdGguYWJzKGEpPmMvMik/dC5mbGV4QW5pbWF0ZShuLHQudmFycy5wYXVzZU9uQWN0aW9uKTpwfHx0LmZsZXhBbmltYXRlKHQuY3VycmVudFNsaWRlLHQudmFycy5wYXVzZU9uQWN0aW9uLCEwKX1yPW51bGwsbz1udWxsLG09bnVsbCxsPW51bGwsVD0wfX12YXIgcixvLGwsYyxtLGYsZyxoLFMseD0hMSx5PTAsYj0wLFQ9MDtzPyh0LnN0eWxlLm1zVG91Y2hBY3Rpb249Im5vbmUiLHQuX2dlc3R1cmU9bmV3IE1TR2VzdHVyZSx0Ll9nZXN0dXJlLnRhcmdldD10LHQuYWRkRXZlbnRMaXN0ZW5lcigiTVNQb2ludGVyRG93biIsZSwhMSksdC5fc2xpZGVyPW4sdC5hZGRFdmVudExpc3RlbmVyKCJNU0dlc3R1cmVDaGFuZ2UiLGEsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigiTVNHZXN0dXJlRW5kIixpLCExKSk6KGc9ZnVuY3Rpb24oZSl7bi5hbmltYXRpbmc/ZS5wcmV2ZW50RGVmYXVsdCgpOih3aW5kb3cubmF2aWdhdG9yLm1zUG9pbnRlckVuYWJsZWR8fDE9PT1lLnRvdWNoZXMubGVuZ3RoKSYmKG4ucGF1c2UoKSxjPWQ/bi5oOm4udyxmPU51bWJlcihuZXcgRGF0ZSkseT1lLnRvdWNoZXNbMF0ucGFnZVgsYj1lLnRvdWNoZXNbMF0ucGFnZVksbD12JiZ1JiZuLmFuaW1hdGluZ1RvPT09bi5sYXN0PzA6diYmdT9uLmxpbWl0LShuLml0ZW1XK24udmFycy5pdGVtTWFyZ2luKSpuLm1vdmUqbi5hbmltYXRpbmdUbzp2JiZuLmN1cnJlbnRTbGlkZT09PW4ubGFzdD9uLmxpbWl0OnY/KG4uaXRlbVcrbi52YXJzLml0ZW1NYXJnaW4pKm4ubW92ZSpuLmN1cnJlbnRTbGlkZTp1PyhuLmxhc3Qtbi5jdXJyZW50U2xpZGUrbi5jbG9uZU9mZnNldCkqYzoobi5jdXJyZW50U2xpZGUrbi5jbG9uZU9mZnNldCkqYyxyPWQ/Yjp5LG89ZD95OmIsdC5hZGRFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGgsITEpLHQuYWRkRXZlbnRMaXN0ZW5lcigidG91Y2hlbmQiLFMsITEpKX0saD1mdW5jdGlvbihlKXt5PWUudG91Y2hlc1swXS5wYWdlWCxiPWUudG91Y2hlc1swXS5wYWdlWSxtPWQ/ci1iOnIteSx4PWQ/TWF0aC5hYnMobSk8TWF0aC5hYnMoeS1vKTpNYXRoLmFicyhtKTxNYXRoLmFicyhiLW8pO3ZhciB0PTUwMDsoIXh8fE51bWJlcihuZXcgRGF0ZSktZj50KSYmKGUucHJldmVudERlZmF1bHQoKSwhcCYmbi50cmFuc2l0aW9ucyYmKG4udmFycy5hbmltYXRpb25Mb29wfHwobS89MD09PW4uY3VycmVudFNsaWRlJiYwPm18fG4uY3VycmVudFNsaWRlPT09bi5sYXN0JiZtPjA/TWF0aC5hYnMobSkvYysyOjEpLG4uc2V0UHJvcHMobCttLCJzZXRUb3VjaCIpKSl9LFM9ZnVuY3Rpb24oZSl7aWYodC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaG1vdmUiLGgsITEpLG4uYW5pbWF0aW5nVG89PT1uLmN1cnJlbnRTbGlkZSYmIXgmJm51bGwhPT1tKXt2YXIgYT11Py1tOm0saT1hPjA/bi5nZXRUYXJnZXQoIm5leHQiKTpuLmdldFRhcmdldCgicHJldiIpO24uY2FuQWR2YW5jZShpKSYmKE51bWJlcihuZXcgRGF0ZSktZjw1NTAmJk1hdGguYWJzKGEpPjUwfHxNYXRoLmFicyhhKT5jLzIpP24uZmxleEFuaW1hdGUoaSxuLnZhcnMucGF1c2VPbkFjdGlvbik6cHx8bi5mbGV4QW5pbWF0ZShuLmN1cnJlbnRTbGlkZSxuLnZhcnMucGF1c2VPbkFjdGlvbiwhMCl9dC5yZW1vdmVFdmVudExpc3RlbmVyKCJ0b3VjaGVuZCIsUywhMSkscj1udWxsLG89bnVsbCxtPW51bGwsbD1udWxsfSx0LmFkZEV2ZW50TGlzdGVuZXIoInRvdWNoc3RhcnQiLGcsITEpKX0scmVzaXplOmZ1bmN0aW9uKCl7IW4uYW5pbWF0aW5nJiZuLmlzKCI6dmlzaWJsZSIpJiYodnx8bi5kb01hdGgoKSxwP2Yuc21vb3RoSGVpZ2h0KCk6dj8obi5zbGlkZXMud2lkdGgobi5jb21wdXRlZFcpLG4udXBkYXRlKG4ucGFnaW5nQ291bnQpLG4uc2V0UHJvcHMoKSk6ZD8obi52aWV3cG9ydC5oZWlnaHQobi5oKSxuLnNldFByb3BzKG4uaCwic2V0VG90YWwiKSk6KG4udmFycy5zbW9vdGhIZWlnaHQmJmYuc21vb3RoSGVpZ2h0KCksbi5uZXdTbGlkZXMud2lkdGgobi5jb21wdXRlZFcpLG4uc2V0UHJvcHMobi5jb21wdXRlZFcsInNldFRvdGFsIikpKX0sc21vb3RoSGVpZ2h0OmZ1bmN0aW9uKGUpe2lmKCFkfHxwKXt2YXIgdD1wP246bi52aWV3cG9ydDtlP3QuYW5pbWF0ZSh7aGVpZ2h0Om4uc2xpZGVzLmVxKG4uYW5pbWF0aW5nVG8pLmhlaWdodCgpfSxlKTp0LmhlaWdodChuLnNsaWRlcy5lcShuLmFuaW1hdGluZ1RvKS5oZWlnaHQoKSl9fSxzeW5jOmZ1bmN0aW9uKGUpe3ZhciB0PSQobi52YXJzLnN5bmMpLmRhdGEoImZsZXhzbGlkZXIiKSxhPW4uYW5pbWF0aW5nVG87c3dpdGNoKGUpe2Nhc2UiYW5pbWF0ZSI6dC5mbGV4QW5pbWF0ZShhLG4udmFycy5wYXVzZU9uQWN0aW9uLCExLCEwKTticmVhaztjYXNlInBsYXkiOnQucGxheWluZ3x8dC5hc05hdnx8dC5wbGF5KCk7YnJlYWs7Y2FzZSJwYXVzZSI6dC5wYXVzZSgpfX0sdW5pcXVlSUQ6ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZmlsdGVyKCJbaWRdIikuYWRkKGUuZmluZCgiW2lkXSIpKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9JCh0aGlzKTtlLmF0dHIoImlkIixlLmF0dHIoImlkIikrIl9jbG9uZSIpfSksZX0scGF1c2VJbnZpc2libGU6e3Zpc1Byb3A6bnVsbCxpbml0OmZ1bmN0aW9uKCl7dmFyIGU9Zi5wYXVzZUludmlzaWJsZS5nZXRIaWRkZW5Qcm9wKCk7aWYoZSl7dmFyIHQ9ZS5yZXBsYWNlKC9bSHxoXWlkZGVuLywiIikrInZpc2liaWxpdHljaGFuZ2UiO2RvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIodCxmdW5jdGlvbigpe2YucGF1c2VJbnZpc2libGUuaXNIaWRkZW4oKT9uLnN0YXJ0VGltZW91dD9jbGVhclRpbWVvdXQobi5zdGFydFRpbWVvdXQpOm4ucGF1c2UoKTpuLnN0YXJ0ZWQ/bi5wbGF5KCk6bi52YXJzLmluaXREZWxheT4wP3NldFRpbWVvdXQobi5wbGF5LG4udmFycy5pbml0RGVsYXkpOm4ucGxheSgpfSl9fSxpc0hpZGRlbjpmdW5jdGlvbigpe3ZhciBlPWYucGF1c2VJbnZpc2libGUuZ2V0SGlkZGVuUHJvcCgpO3JldHVybiBlP2RvY3VtZW50W2VdOiExfSxnZXRIaWRkZW5Qcm9wOmZ1bmN0aW9uKCl7dmFyIGU9WyJ3ZWJraXQiLCJtb3oiLCJtcyIsIm8iXTtpZigiaGlkZGVuImluIGRvY3VtZW50KXJldHVybiJoaWRkZW4iO2Zvcih2YXIgdD0wO3Q8ZS5sZW5ndGg7dCsrKWlmKGVbdF0rIkhpZGRlbiJpbiBkb2N1bWVudClyZXR1cm4gZVt0XSsiSGlkZGVuIjtyZXR1cm4gbnVsbH19LHNldFRvQ2xlYXJXYXRjaGVkRXZlbnQ6ZnVuY3Rpb24oKXtjbGVhclRpbWVvdXQoYyksYz1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bD0iIn0sM2UzKX19LG4uZmxleEFuaW1hdGU9ZnVuY3Rpb24oZSx0LGEscyxvKXtpZihuLnZhcnMuYW5pbWF0aW9uTG9vcHx8ZT09PW4uY3VycmVudFNsaWRlfHwobi5kaXJlY3Rpb249ZT5uLmN1cnJlbnRTbGlkZT8ibmV4dCI6InByZXYiKSxtJiYxPT09bi5wYWdpbmdDb3VudCYmKG4uZGlyZWN0aW9uPW4uY3VycmVudEl0ZW08ZT8ibmV4dCI6InByZXYiKSwhbi5hbmltYXRpbmcmJihuLmNhbkFkdmFuY2UoZSxvKXx8YSkmJm4uaXMoIjp2aXNpYmxlIikpe2lmKG0mJnMpe3ZhciBsPSQobi52YXJzLmFzTmF2Rm9yKS5kYXRhKCJmbGV4c2xpZGVyIik7aWYobi5hdEVuZD0wPT09ZXx8ZT09PW4uY291bnQtMSxsLmZsZXhBbmltYXRlKGUsITAsITEsITAsbyksbi5kaXJlY3Rpb249bi5jdXJyZW50SXRlbTxlPyJuZXh0IjoicHJldiIsbC5kaXJlY3Rpb249bi5kaXJlY3Rpb24sTWF0aC5jZWlsKChlKzEpL24udmlzaWJsZSktMT09PW4uY3VycmVudFNsaWRlfHwwPT09ZSlyZXR1cm4gbi5jdXJyZW50SXRlbT1lLG4uc2xpZGVzLnJlbW92ZUNsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLmVxKGUpLmFkZENsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLCExO24uY3VycmVudEl0ZW09ZSxuLnNsaWRlcy5yZW1vdmVDbGFzcyhpKyJhY3RpdmUtc2xpZGUiKS5lcShlKS5hZGRDbGFzcyhpKyJhY3RpdmUtc2xpZGUiKSxlPU1hdGguZmxvb3IoZS9uLnZpc2libGUpfWlmKG4uYW5pbWF0aW5nPSEwLG4uYW5pbWF0aW5nVG89ZSx0JiZuLnBhdXNlKCksbi52YXJzLmJlZm9yZShuKSxuLnN5bmNFeGlzdHMmJiFvJiZmLnN5bmMoImFuaW1hdGUiKSxuLnZhcnMuY29udHJvbE5hdiYmZi5jb250cm9sTmF2LmFjdGl2ZSgpLHZ8fG4uc2xpZGVzLnJlbW92ZUNsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLmVxKGUpLmFkZENsYXNzKGkrImFjdGl2ZS1zbGlkZSIpLG4uYXRFbmQ9MD09PWV8fGU9PT1uLmxhc3Qsbi52YXJzLmRpcmVjdGlvbk5hdiYmZi5kaXJlY3Rpb25OYXYudXBkYXRlKCksZT09PW4ubGFzdCYmKG4udmFycy5lbmQobiksbi52YXJzLmFuaW1hdGlvbkxvb3B8fG4ucGF1c2UoKSkscClyPyhuLnNsaWRlcy5lcShuLmN1cnJlbnRTbGlkZSkuY3NzKHtvcGFjaXR5OjAsekluZGV4OjF9KSxuLnNsaWRlcy5lcShlKS5jc3Moe29wYWNpdHk6MSx6SW5kZXg6Mn0pLG4ud3JhcHVwKGMpKToobi5zbGlkZXMuZXEobi5jdXJyZW50U2xpZGUpLmNzcyh7ekluZGV4OjF9KS5hbmltYXRlKHtvcGFjaXR5OjB9LG4udmFycy5hbmltYXRpb25TcGVlZCxuLnZhcnMuZWFzaW5nKSxuLnNsaWRlcy5lcShlKS5jc3Moe3pJbmRleDoyfSkuYW5pbWF0ZSh7b3BhY2l0eToxfSxuLnZhcnMuYW5pbWF0aW9uU3BlZWQsbi52YXJzLmVhc2luZyxuLndyYXB1cCkpO2Vsc2V7dmFyIGM9ZD9uLnNsaWRlcy5maWx0ZXIoIjpmaXJzdCIpLmhlaWdodCgpOm4uY29tcHV0ZWRXLGcsaCxTO3Y/KGc9bi52YXJzLml0ZW1NYXJnaW4sUz0obi5pdGVtVytnKSpuLm1vdmUqbi5hbmltYXRpbmdUbyxoPVM+bi5saW1pdCYmMSE9PW4udmlzaWJsZT9uLmxpbWl0OlMpOmg9MD09PW4uY3VycmVudFNsaWRlJiZlPT09bi5jb3VudC0xJiZuLnZhcnMuYW5pbWF0aW9uTG9vcCYmIm5leHQiIT09bi5kaXJlY3Rpb24/dT8obi5jb3VudCtuLmNsb25lT2Zmc2V0KSpjOjA6bi5jdXJyZW50U2xpZGU9PT1uLmxhc3QmJjA9PT1lJiZuLnZhcnMuYW5pbWF0aW9uTG9vcCYmInByZXYiIT09bi5kaXJlY3Rpb24/dT8wOihuLmNvdW50KzEpKmM6dT8obi5jb3VudC0xLWUrbi5jbG9uZU9mZnNldCkqYzooZStuLmNsb25lT2Zmc2V0KSpjLG4uc2V0UHJvcHMoaCwiIixuLnZhcnMuYW5pbWF0aW9uU3BlZWQpLG4udHJhbnNpdGlvbnM/KG4udmFycy5hbmltYXRpb25Mb29wJiZuLmF0RW5kfHwobi5hbmltYXRpbmc9ITEsbi5jdXJyZW50U2xpZGU9bi5hbmltYXRpbmdUbyksbi5jb250YWluZXIudW5iaW5kKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIHRyYW5zaXRpb25lbmQiKSxuLmNvbnRhaW5lci5iaW5kKCJ3ZWJraXRUcmFuc2l0aW9uRW5kIHRyYW5zaXRpb25lbmQiLGZ1bmN0aW9uKCl7Y2xlYXJUaW1lb3V0KG4uZW5zdXJlQW5pbWF0aW9uRW5kKSxuLndyYXB1cChjKX0pLGNsZWFyVGltZW91dChuLmVuc3VyZUFuaW1hdGlvbkVuZCksbi5lbnN1cmVBbmltYXRpb25FbmQ9c2V0VGltZW91dChmdW5jdGlvbigpe24ud3JhcHVwKGMpfSxuLnZhcnMuYW5pbWF0aW9uU3BlZWQrMTAwKSk6bi5jb250YWluZXIuYW5pbWF0ZShuLmFyZ3Msbi52YXJzLmFuaW1hdGlvblNwZWVkLG4udmFycy5lYXNpbmcsZnVuY3Rpb24oKXtuLndyYXB1cChjKX0pfW4udmFycy5zbW9vdGhIZWlnaHQmJmYuc21vb3RoSGVpZ2h0KG4udmFycy5hbmltYXRpb25TcGVlZCl9fSxuLndyYXB1cD1mdW5jdGlvbihlKXtwfHx2fHwoMD09PW4uY3VycmVudFNsaWRlJiZuLmFuaW1hdGluZ1RvPT09bi5sYXN0JiZuLnZhcnMuYW5pbWF0aW9uTG9vcD9uLnNldFByb3BzKGUsImp1bXBFbmQiKTpuLmN1cnJlbnRTbGlkZT09PW4ubGFzdCYmMD09PW4uYW5pbWF0aW5nVG8mJm4udmFycy5hbmltYXRpb25Mb29wJiZuLnNldFByb3BzKGUsImp1bXBTdGFydCIpKSxuLmFuaW1hdGluZz0hMSxuLmN1cnJlbnRTbGlkZT1uLmFuaW1hdGluZ1RvLG4udmFycy5hZnRlcihuKX0sbi5hbmltYXRlU2xpZGVzPWZ1bmN0aW9uKCl7IW4uYW5pbWF0aW5nJiZlJiZuLmZsZXhBbmltYXRlKG4uZ2V0VGFyZ2V0KCJuZXh0IikpfSxuLnBhdXNlPWZ1bmN0aW9uKCl7Y2xlYXJJbnRlcnZhbChuLmFuaW1hdGVkU2xpZGVzKSxuLmFuaW1hdGVkU2xpZGVzPW51bGwsbi5wbGF5aW5nPSExLG4udmFycy5wYXVzZVBsYXkmJmYucGF1c2VQbGF5LnVwZGF0ZSgicGxheSIpLG4uc3luY0V4aXN0cyYmZi5zeW5jKCJwYXVzZSIpfSxuLnBsYXk9ZnVuY3Rpb24oKXtuLnBsYXlpbmcmJmNsZWFySW50ZXJ2YWwobi5hbmltYXRlZFNsaWRlcyksbi5hbmltYXRlZFNsaWRlcz1uLmFuaW1hdGVkU2xpZGVzfHxzZXRJbnRlcnZhbChuLmFuaW1hdGVTbGlkZXMsbi52YXJzLnNsaWRlc2hvd1NwZWVkKSxuLnN0YXJ0ZWQ9bi5wbGF5aW5nPSEwLG4udmFycy5wYXVzZVBsYXkmJmYucGF1c2VQbGF5LnVwZGF0ZSgicGF1c2UiKSxuLnN5bmNFeGlzdHMmJmYuc3luYygicGxheSIpfSxuLnN0b3A9ZnVuY3Rpb24oKXtuLnBhdXNlKCksbi5zdG9wcGVkPSEwfSxuLmNhbkFkdmFuY2U9ZnVuY3Rpb24oZSx0KXt2YXIgYT1tP24ucGFnaW5nQ291bnQtMTpuLmxhc3Q7cmV0dXJuIHQ/ITA6bSYmbi5jdXJyZW50SXRlbT09PW4uY291bnQtMSYmMD09PWUmJiJwcmV2Ij09PW4uZGlyZWN0aW9uPyEwOm0mJjA9PT1uLmN1cnJlbnRJdGVtJiZlPT09bi5wYWdpbmdDb3VudC0xJiYibmV4dCIhPT1uLmRpcmVjdGlvbj8hMTplIT09bi5jdXJyZW50U2xpZGV8fG0/bi52YXJzLmFuaW1hdGlvbkxvb3A/ITA6bi5hdEVuZCYmMD09PW4uY3VycmVudFNsaWRlJiZlPT09YSYmIm5leHQiIT09bi5kaXJlY3Rpb24/ITE6bi5hdEVuZCYmbi5jdXJyZW50U2xpZGU9PT1hJiYwPT09ZSYmIm5leHQiPT09bi5kaXJlY3Rpb24/ITE6ITA6ITF9LG4uZ2V0VGFyZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBuLmRpcmVjdGlvbj1lLCJuZXh0Ij09PWU/bi5jdXJyZW50U2xpZGU9PT1uLmxhc3Q/MDpuLmN1cnJlbnRTbGlkZSsxOjA9PT1uLmN1cnJlbnRTbGlkZT9uLmxhc3Q6bi5jdXJyZW50U2xpZGUtMX0sbi5zZXRQcm9wcz1mdW5jdGlvbihlLHQsYSl7dmFyIGk9ZnVuY3Rpb24oKXt2YXIgYT1lP2U6KG4uaXRlbVcrbi52YXJzLml0ZW1NYXJnaW4pKm4ubW92ZSpuLmFuaW1hdGluZ1RvLGk9ZnVuY3Rpb24oKXtpZih2KXJldHVybiJzZXRUb3VjaCI9PT10P2U6dSYmbi5hbmltYXRpbmdUbz09PW4ubGFzdD8wOnU/bi5saW1pdC0obi5pdGVtVytuLnZhcnMuaXRlbU1hcmdpbikqbi5tb3ZlKm4uYW5pbWF0aW5nVG86bi5hbmltYXRpbmdUbz09PW4ubGFzdD9uLmxpbWl0OmE7c3dpdGNoKHQpe2Nhc2Uic2V0VG90YWwiOnJldHVybiB1PyhuLmNvdW50LTEtbi5jdXJyZW50U2xpZGUrbi5jbG9uZU9mZnNldCkqZToobi5jdXJyZW50U2xpZGUrbi5jbG9uZU9mZnNldCkqZTtjYXNlInNldFRvdWNoIjpyZXR1cm4gdT9lOmU7Y2FzZSJqdW1wRW5kIjpyZXR1cm4gdT9lOm4uY291bnQqZTtjYXNlImp1bXBTdGFydCI6cmV0dXJuIHU/bi5jb3VudCplOmU7ZGVmYXVsdDpyZXR1cm4gZX19KCk7cmV0dXJuLTEqaSsicHgifSgpO24udHJhbnNpdGlvbnMmJihpPWQ/InRyYW5zbGF0ZTNkKDAsIitpKyIsMCkiOiJ0cmFuc2xhdGUzZCgiK2krIiwwLDApIixhPXZvaWQgMCE9PWE/YS8xZTMrInMiOiIwcyIsbi5jb250YWluZXIuY3NzKCItIituLnBmeCsiLXRyYW5zaXRpb24tZHVyYXRpb24iLGEpLG4uY29udGFpbmVyLmNzcygidHJhbnNpdGlvbi1kdXJhdGlvbiIsYSkpLG4uYXJnc1tuLnByb3BdPWksKG4udHJhbnNpdGlvbnN8fHZvaWQgMD09PWEpJiZuLmNvbnRhaW5lci5jc3Mobi5hcmdzKSxuLmNvbnRhaW5lci5jc3MoInRyYW5zZm9ybSIsaSl9LG4uc2V0dXA9ZnVuY3Rpb24oZSl7aWYocCluLnNsaWRlcy5jc3Moe3dpZHRoOiIxMDAlIiwiZmxvYXQiOiJsZWZ0IixtYXJnaW5SaWdodDoiLTEwMCUiLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9KSwiaW5pdCI9PT1lJiYocj9uLnNsaWRlcy5jc3Moe29wYWNpdHk6MCxkaXNwbGF5OiJibG9jayIsd2Via2l0VHJhbnNpdGlvbjoib3BhY2l0eSAiK24udmFycy5hbmltYXRpb25TcGVlZC8xZTMrInMgZWFzZSIsekluZGV4OjF9KS5lcShuLmN1cnJlbnRTbGlkZSkuY3NzKHtvcGFjaXR5OjEsekluZGV4OjJ9KTowPT1uLnZhcnMuZmFkZUZpcnN0U2xpZGU/bi5zbGlkZXMuY3NzKHtvcGFjaXR5OjAsZGlzcGxheToiYmxvY2siLHpJbmRleDoxfSkuZXEobi5jdXJyZW50U2xpZGUpLmNzcyh7ekluZGV4OjJ9KS5jc3Moe29wYWNpdHk6MX0pOm4uc2xpZGVzLmNzcyh7b3BhY2l0eTowLGRpc3BsYXk6ImJsb2NrIix6SW5kZXg6MX0pLmVxKG4uY3VycmVudFNsaWRlKS5jc3Moe3pJbmRleDoyfSkuYW5pbWF0ZSh7b3BhY2l0eToxfSxuLnZhcnMuYW5pbWF0aW9uU3BlZWQsbi52YXJzLmVhc2luZykpLG4udmFycy5zbW9vdGhIZWlnaHQmJmYuc21vb3RoSGVpZ2h0KCk7ZWxzZXt2YXIgdCxhOyJpbml0Ij09PWUmJihuLnZpZXdwb3J0PSQoJzxkaXYgY2xhc3M9IicraSsndmlld3BvcnQiPjwvZGl2PicpLmNzcyh7b3ZlcmZsb3c6ImhpZGRlbiIscG9zaXRpb246InJlbGF0aXZlIn0pLmFwcGVuZFRvKG4pLmFwcGVuZChuLmNvbnRhaW5lciksbi5jbG9uZUNvdW50PTAsbi5jbG9uZU9mZnNldD0wLHUmJihhPSQubWFrZUFycmF5KG4uc2xpZGVzKS5yZXZlcnNlKCksbi5zbGlkZXM9JChhKSxuLmNvbnRhaW5lci5lbXB0eSgpLmFwcGVuZChuLnNsaWRlcykpKSxuLnZhcnMuYW5pbWF0aW9uTG9vcCYmIXYmJihuLmNsb25lQ291bnQ9MixuLmNsb25lT2Zmc2V0PTEsImluaXQiIT09ZSYmbi5jb250YWluZXIuZmluZCgiLmNsb25lIikucmVtb3ZlKCksbi5jb250YWluZXIuYXBwZW5kKGYudW5pcXVlSUQobi5zbGlkZXMuZmlyc3QoKS5jbG9uZSgpLmFkZENsYXNzKCJjbG9uZSIpKS5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKSkucHJlcGVuZChmLnVuaXF1ZUlEKG4uc2xpZGVzLmxhc3QoKS5jbG9uZSgpLmFkZENsYXNzKCJjbG9uZSIpKS5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKSkpLG4ubmV3U2xpZGVzPSQobi52YXJzLnNlbGVjdG9yLG4pLHQ9dT9uLmNvdW50LTEtbi5jdXJyZW50U2xpZGUrbi5jbG9uZU9mZnNldDpuLmN1cnJlbnRTbGlkZStuLmNsb25lT2Zmc2V0LGQmJiF2PyhuLmNvbnRhaW5lci5oZWlnaHQoMjAwKihuLmNvdW50K24uY2xvbmVDb3VudCkrIiUiKS5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKS53aWR0aCgiMTAwJSIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtuLm5ld1NsaWRlcy5jc3Moe2Rpc3BsYXk6ImJsb2NrIn0pLG4uZG9NYXRoKCksbi52aWV3cG9ydC5oZWlnaHQobi5oKSxuLnNldFByb3BzKHQqbi5oLCJpbml0Iil9LCJpbml0Ij09PWU/MTAwOjApKToobi5jb250YWluZXIud2lkdGgoMjAwKihuLmNvdW50K24uY2xvbmVDb3VudCkrIiUiKSxuLnNldFByb3BzKHQqbi5jb21wdXRlZFcsImluaXQiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7bi5kb01hdGgoKSxuLm5ld1NsaWRlcy5jc3Moe3dpZHRoOm4uY29tcHV0ZWRXLG1hcmdpblJpZ2h0Om4uY29tcHV0ZWRNLCJmbG9hdCI6ImxlZnQiLGRpc3BsYXk6ImJsb2NrIn0pLG4udmFycy5zbW9vdGhIZWlnaHQmJmYuc21vb3RoSGVpZ2h0KCl9LCJpbml0Ij09PWU/MTAwOjApKX12fHxuLnNsaWRlcy5yZW1vdmVDbGFzcyhpKyJhY3RpdmUtc2xpZGUiKS5lcShuLmN1cnJlbnRTbGlkZSkuYWRkQ2xhc3MoaSsiYWN0aXZlLXNsaWRlIiksbi52YXJzLmluaXQobil9LG4uZG9NYXRoPWZ1bmN0aW9uKCl7dmFyIGU9bi5zbGlkZXMuZmlyc3QoKSx0PW4udmFycy5pdGVtTWFyZ2luLGE9bi52YXJzLm1pbkl0ZW1zLGk9bi52YXJzLm1heEl0ZW1zO24udz12b2lkIDA9PT1uLnZpZXdwb3J0P24ud2lkdGgoKTpuLnZpZXdwb3J0LndpZHRoKCksbi5oPWUuaGVpZ2h0KCksbi5ib3hQYWRkaW5nPWUub3V0ZXJXaWR0aCgpLWUud2lkdGgoKSx2PyhuLml0ZW1UPW4udmFycy5pdGVtV2lkdGgrdCxuLml0ZW1NPXQsbi5taW5XPWE/YSpuLml0ZW1UOm4udyxuLm1heFc9aT9pKm4uaXRlbVQtdDpuLncsbi5pdGVtVz1uLm1pblc+bi53PyhuLnctdCooYS0xKSkvYTpuLm1heFc8bi53PyhuLnctdCooaS0xKSkvaTpuLnZhcnMuaXRlbVdpZHRoPm4udz9uLnc6bi52YXJzLml0ZW1XaWR0aCxuLnZpc2libGU9TWF0aC5mbG9vcihuLncvbi5pdGVtVyksbi5tb3ZlPW4udmFycy5tb3ZlPjAmJm4udmFycy5tb3ZlPG4udmlzaWJsZT9uLnZhcnMubW92ZTpuLnZpc2libGUsbi5wYWdpbmdDb3VudD1NYXRoLmNlaWwoKG4uY291bnQtbi52aXNpYmxlKS9uLm1vdmUrMSksbi5sYXN0PW4ucGFnaW5nQ291bnQtMSxuLmxpbWl0PTE9PT1uLnBhZ2luZ0NvdW50PzA6bi52YXJzLml0ZW1XaWR0aD5uLnc/bi5pdGVtVyoobi5jb3VudC0xKSt0KihuLmNvdW50LTEpOihuLml0ZW1XK3QpKm4uY291bnQtbi53LXQpOihuLml0ZW1XPW4udyxuLml0ZW1NPXQsbi5wYWdpbmdDb3VudD1uLmNvdW50LG4ubGFzdD1uLmNvdW50LTEpLG4uY29tcHV0ZWRXPW4uaXRlbVctbi5ib3hQYWRkaW5nLG4uY29tcHV0ZWRNPW4uaXRlbU19LG4udXBkYXRlPWZ1bmN0aW9uKGUsdCl7bi5kb01hdGgoKSx2fHwoZTxuLmN1cnJlbnRTbGlkZT9uLmN1cnJlbnRTbGlkZSs9MTplPD1uLmN1cnJlbnRTbGlkZSYmMCE9PWUmJihuLmN1cnJlbnRTbGlkZS09MSksbi5hbmltYXRpbmdUbz1uLmN1cnJlbnRTbGlkZSksbi52YXJzLmNvbnRyb2xOYXYmJiFuLm1hbnVhbENvbnRyb2xzJiYoImFkZCI9PT10JiYhdnx8bi5wYWdpbmdDb3VudD5uLmNvbnRyb2xOYXYubGVuZ3RoP2YuY29udHJvbE5hdi51cGRhdGUoImFkZCIpOigicmVtb3ZlIj09PXQmJiF2fHxuLnBhZ2luZ0NvdW50PG4uY29udHJvbE5hdi5sZW5ndGgpJiYodiYmbi5jdXJyZW50U2xpZGU+bi5sYXN0JiYobi5jdXJyZW50U2xpZGUtPTEsbi5hbmltYXRpbmdUby09MSksZi5jb250cm9sTmF2LnVwZGF0ZSgicmVtb3ZlIixuLmxhc3QpKSksbi52YXJzLmRpcmVjdGlvbk5hdiYmZi5kaXJlY3Rpb25OYXYudXBkYXRlKCl9LG4uYWRkU2xpZGU9ZnVuY3Rpb24oZSx0KXt2YXIgYT0kKGUpO24uY291bnQrPTEsbi5sYXN0PW4uY291bnQtMSxkJiZ1P3ZvaWQgMCE9PXQ/bi5zbGlkZXMuZXEobi5jb3VudC10KS5hZnRlcihhKTpuLmNvbnRhaW5lci5wcmVwZW5kKGEpOnZvaWQgMCE9PXQ/bi5zbGlkZXMuZXEodCkuYmVmb3JlKGEpOm4uY29udGFpbmVyLmFwcGVuZChhKSxuLnVwZGF0ZSh0LCJhZGQiKSxuLnNsaWRlcz0kKG4udmFycy5zZWxlY3RvcisiOm5vdCguY2xvbmUpIixuKSxuLnNldHVwKCksbi52YXJzLmFkZGVkKG4pfSxuLnJlbW92ZVNsaWRlPWZ1bmN0aW9uKGUpe3ZhciB0PWlzTmFOKGUpP24uc2xpZGVzLmluZGV4KCQoZSkpOmU7bi5jb3VudC09MSxuLmxhc3Q9bi5jb3VudC0xLGlzTmFOKGUpPyQoZSxuLnNsaWRlcykucmVtb3ZlKCk6ZCYmdT9uLnNsaWRlcy5lcShuLmxhc3QpLnJlbW92ZSgpOm4uc2xpZGVzLmVxKGUpLnJlbW92ZSgpLG4uZG9NYXRoKCksbi51cGRhdGUodCwicmVtb3ZlIiksbi5zbGlkZXM9JChuLnZhcnMuc2VsZWN0b3IrIjpub3QoLmNsb25lKSIsbiksbi5zZXR1cCgpLG4udmFycy5yZW1vdmVkKG4pfSxmLmluaXQoKX0sJCh3aW5kb3cpLmJsdXIoZnVuY3Rpb24odCl7ZT0hMX0pLmZvY3VzKGZ1bmN0aW9uKHQpe2U9ITB9KSwkLmZsZXhzbGlkZXIuZGVmYXVsdHM9e25hbWVzcGFjZToiZmxleC0iLHNlbGVjdG9yOiIuc2xpZGVzID4gbGkiLGFuaW1hdGlvbjoiZmFkZSIsZWFzaW5nOiJzd2luZyIsZGlyZWN0aW9uOiJob3Jpem9udGFsIixyZXZlcnNlOiExLGFuaW1hdGlvbkxvb3A6ITAsc21vb3RoSGVpZ2h0OiExLHN0YXJ0QXQ6MCxzbGlkZXNob3c6ITAsc2xpZGVzaG93U3BlZWQ6N2UzLGFuaW1hdGlvblNwZWVkOjYwMCxpbml0RGVsYXk6MCxyYW5kb21pemU6ITEsZmFkZUZpcnN0U2xpZGU6ITAsdGh1bWJDYXB0aW9uczohMSxwYXVzZU9uQWN0aW9uOiEwLHBhdXNlT25Ib3ZlcjohMSxwYXVzZUludmlzaWJsZTohMCx1c2VDU1M6ITAsdG91Y2g6ITAsdmlkZW86ITEsY29udHJvbE5hdjohMCxkaXJlY3Rpb25OYXY6ITAscHJldlRleHQ6IlByZXZpb3VzIixuZXh0VGV4dDoiTmV4dCIsa2V5Ym9hcmQ6ITAsbXVsdGlwbGVLZXlib2FyZDohMSxtb3VzZXdoZWVsOiExLHBhdXNlUGxheTohMSxwYXVzZVRleHQ6IlBhdXNlIixwbGF5VGV4dDoiUGxheSIsY29udHJvbHNDb250YWluZXI6IiIsbWFudWFsQ29udHJvbHM6IiIsY3VzdG9tRGlyZWN0aW9uTmF2OiIiLHN5bmM6IiIsYXNOYXZGb3I6IiIsaXRlbVdpZHRoOjAsaXRlbU1hcmdpbjowLG1pbkl0ZW1zOjEsbWF4SXRlbXM6MCxtb3ZlOjAsYWxsb3dPbmVTbGlkZTohMCxzdGFydDpmdW5jdGlvbigpe30sYmVmb3JlOmZ1bmN0aW9uKCl7fSxhZnRlcjpmdW5jdGlvbigpe30sZW5kOmZ1bmN0aW9uKCl7fSxhZGRlZDpmdW5jdGlvbigpe30scmVtb3ZlZDpmdW5jdGlvbigpe30saW5pdDpmdW5jdGlvbigpe319LCQuZm4uZmxleHNsaWRlcj1mdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lJiYoZT17fSksIm9iamVjdCI9PXR5cGVvZiBlKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD0kKHRoaXMpLGE9ZS5zZWxlY3Rvcj9lLnNlbGVjdG9yOiIuc2xpZGVzID4gbGkiLG49dC5maW5kKGEpOzE9PT1uLmxlbmd0aCYmZS5hbGxvd09uZVNsaWRlPT09ITB8fDA9PT1uLmxlbmd0aD8obi5mYWRlSW4oNDAwKSxlLnN0YXJ0JiZlLnN0YXJ0KHQpKTp2b2lkIDA9PT10LmRhdGEoImZsZXhzbGlkZXIiKSYmbmV3ICQuZmxleHNsaWRlcih0aGlzLGUpfSk7dmFyIHQ9JCh0aGlzKS5kYXRhKCJmbGV4c2xpZGVyIik7c3dpdGNoKGUpe2Nhc2UicGxheSI6dC5wbGF5KCk7YnJlYWs7Y2FzZSJwYXVzZSI6dC5wYXVzZSgpO2JyZWFrO2Nhc2Uic3RvcCI6dC5zdG9wKCk7YnJlYWs7Y2FzZSJuZXh0Ijp0LmZsZXhBbmltYXRlKHQuZ2V0VGFyZ2V0KCJuZXh0IiksITApO2JyZWFrO2Nhc2UicHJldiI6Y2FzZSJwcmV2aW91cyI6dC5mbGV4QW5pbWF0ZSh0LmdldFRhcmdldCgicHJldiIpLCEwKTticmVhaztkZWZhdWx0OiJudW1iZXIiPT10eXBlb2YgZSYmdC5mbGV4QW5pbWF0ZShlLCEwKX19fShqUXVlcnkpOw0KDQoNCi8qDQogKiAgTWFnbmlmaWMgUG9wdXANCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLyohIE1hZ25pZmljIFBvcHVwIC0gdjEuMC4xIC0gMjAxNS0xMi0zMA0KKiBodHRwOi8vZGltc2VtZW5vdi5jb20vcGx1Z2lucy9tYWduaWZpYy1wb3B1cC8NCiogQ29weXJpZ2h0IChjKSAyMDE1IERtaXRyeSBTZW1lbm92OyAqLw0KIWZ1bmN0aW9uKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYSk6YSgib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/cmVxdWlyZSgianF1ZXJ5Iik6d2luZG93LmpRdWVyeXx8d2luZG93LlplcHRvKX0oZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9IkNsb3NlIixpPSJCZWZvcmVDbG9zZSIsaj0iQWZ0ZXJDbG9zZSIsaz0iQmVmb3JlQXBwZW5kIixsPSJNYXJrdXBQYXJzZSIsbT0iT3BlbiIsbj0iQ2hhbmdlIixvPSJtZnAiLHA9Ii4iK28scT0ibWZwLXJlYWR5IixyPSJtZnAtcmVtb3ZpbmciLHM9Im1mcC1wcmV2ZW50LWNsb3NlIix0PWZ1bmN0aW9uKCl7fSx1PSEhd2luZG93LmpRdWVyeSx2PWEod2luZG93KSx3PWZ1bmN0aW9uKGEsYyl7Yi5ldi5vbihvK2ErcCxjKX0seD1mdW5jdGlvbihiLGMsZCxlKXt2YXIgZj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZi5jbGFzc05hbWU9Im1mcC0iK2IsZCYmKGYuaW5uZXJIVE1MPWQpLGU/YyYmYy5hcHBlbmRDaGlsZChmKTooZj1hKGYpLGMmJmYuYXBwZW5kVG8oYykpLGZ9LHk9ZnVuY3Rpb24oYyxkKXtiLmV2LnRyaWdnZXJIYW5kbGVyKG8rYyxkKSxiLnN0LmNhbGxiYWNrcyYmKGM9Yy5jaGFyQXQoMCkudG9Mb3dlckNhc2UoKStjLnNsaWNlKDEpLGIuc3QuY2FsbGJhY2tzW2NdJiZiLnN0LmNhbGxiYWNrc1tjXS5hcHBseShiLGEuaXNBcnJheShkKT9kOltkXSkpfSx6PWZ1bmN0aW9uKGMpe3JldHVybiBjPT09ZyYmYi5jdXJyVGVtcGxhdGUuY2xvc2VCdG58fChiLmN1cnJUZW1wbGF0ZS5jbG9zZUJ0bj1hKGIuc3QuY2xvc2VNYXJrdXAucmVwbGFjZSgiJXRpdGxlJSIsYi5zdC50Q2xvc2UpKSxnPWMpLGIuY3VyclRlbXBsYXRlLmNsb3NlQnRufSxBPWZ1bmN0aW9uKCl7YS5tYWduaWZpY1BvcHVwLmluc3RhbmNlfHwoYj1uZXcgdCxiLmluaXQoKSxhLm1hZ25pZmljUG9wdXAuaW5zdGFuY2U9Yil9LEI9ZnVuY3Rpb24oKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIikuc3R5bGUsYj1bIm1zIiwiTyIsIk1veiIsIldlYmtpdCJdO2lmKHZvaWQgMCE9PWEudHJhbnNpdGlvbilyZXR1cm4hMDtmb3IoO2IubGVuZ3RoOylpZihiLnBvcCgpKyJUcmFuc2l0aW9uImluIGEpcmV0dXJuITA7cmV0dXJuITF9O3QucHJvdG90eXBlPXtjb25zdHJ1Y3Rvcjp0LGluaXQ6ZnVuY3Rpb24oKXt2YXIgYz1uYXZpZ2F0b3IuYXBwVmVyc2lvbjtiLmlzSUU3PS0xIT09Yy5pbmRleE9mKCJNU0lFIDcuIiksYi5pc0lFOD0tMSE9PWMuaW5kZXhPZigiTVNJRSA4LiIpLGIuaXNMb3dJRT1iLmlzSUU3fHxiLmlzSUU4LGIuaXNBbmRyb2lkPS9hbmRyb2lkL2dpLnRlc3QoYyksYi5pc0lPUz0vaXBob25lfGlwYWR8aXBvZC9naS50ZXN0KGMpLGIuc3VwcG9ydHNUcmFuc2l0aW9uPUIoKSxiLnByb2JhYmx5TW9iaWxlPWIuaXNBbmRyb2lkfHxiLmlzSU9TfHwvKE9wZXJhIE1pbmkpfEtpbmRsZXx3ZWJPU3xCbGFja0JlcnJ5fChPcGVyYSBNb2JpKXwoV2luZG93cyBQaG9uZSl8SUVNb2JpbGUvaS50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpLGQ9YShkb2N1bWVudCksYi5wb3B1cHNDYWNoZT17fX0sb3BlbjpmdW5jdGlvbihjKXt2YXIgZTtpZihjLmlzT2JqPT09ITEpe2IuaXRlbXM9Yy5pdGVtcy50b0FycmF5KCksYi5pbmRleD0wO3ZhciBnLGg9Yy5pdGVtcztmb3IoZT0wO2U8aC5sZW5ndGg7ZSsrKWlmKGc9aFtlXSxnLnBhcnNlZCYmKGc9Zy5lbFswXSksZz09PWMuZWxbMF0pe2IuaW5kZXg9ZTticmVha319ZWxzZSBiLml0ZW1zPWEuaXNBcnJheShjLml0ZW1zKT9jLml0ZW1zOltjLml0ZW1zXSxiLmluZGV4PWMuaW5kZXh8fDA7aWYoYi5pc09wZW4pcmV0dXJuIHZvaWQgYi51cGRhdGVJdGVtSFRNTCgpO2IudHlwZXM9W10sZj0iIixjLm1haW5FbCYmYy5tYWluRWwubGVuZ3RoP2IuZXY9Yy5tYWluRWwuZXEoMCk6Yi5ldj1kLGMua2V5PyhiLnBvcHVwc0NhY2hlW2Mua2V5XXx8KGIucG9wdXBzQ2FjaGVbYy5rZXldPXt9KSxiLmN1cnJUZW1wbGF0ZT1iLnBvcHVwc0NhY2hlW2Mua2V5XSk6Yi5jdXJyVGVtcGxhdGU9e30sYi5zdD1hLmV4dGVuZCghMCx7fSxhLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMsYyksYi5maXhlZENvbnRlbnRQb3M9ImF1dG8iPT09Yi5zdC5maXhlZENvbnRlbnRQb3M/IWIucHJvYmFibHlNb2JpbGU6Yi5zdC5maXhlZENvbnRlbnRQb3MsYi5zdC5tb2RhbCYmKGIuc3QuY2xvc2VPbkNvbnRlbnRDbGljaz0hMSxiLnN0LmNsb3NlT25CZ0NsaWNrPSExLGIuc3Quc2hvd0Nsb3NlQnRuPSExLGIuc3QuZW5hYmxlRXNjYXBlS2V5PSExKSxiLmJnT3ZlcmxheXx8KGIuYmdPdmVybGF5PXgoImJnIikub24oImNsaWNrIitwLGZ1bmN0aW9uKCl7Yi5jbG9zZSgpfSksYi53cmFwPXgoIndyYXAiKS5hdHRyKCJ0YWJpbmRleCIsLTEpLm9uKCJjbGljayIrcCxmdW5jdGlvbihhKXtiLl9jaGVja0lmQ2xvc2UoYS50YXJnZXQpJiZiLmNsb3NlKCl9KSxiLmNvbnRhaW5lcj14KCJjb250YWluZXIiLGIud3JhcCkpLGIuY29udGVudENvbnRhaW5lcj14KCJjb250ZW50IiksYi5zdC5wcmVsb2FkZXImJihiLnByZWxvYWRlcj14KCJwcmVsb2FkZXIiLGIuY29udGFpbmVyLGIuc3QudExvYWRpbmcpKTt2YXIgaT1hLm1hZ25pZmljUG9wdXAubW9kdWxlcztmb3IoZT0wO2U8aS5sZW5ndGg7ZSsrKXt2YXIgaj1pW2VdO2o9ai5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStqLnNsaWNlKDEpLGJbImluaXQiK2pdLmNhbGwoYil9eSgiQmVmb3JlT3BlbiIpLGIuc3Quc2hvd0Nsb3NlQnRuJiYoYi5zdC5jbG9zZUJ0bkluc2lkZT8odyhsLGZ1bmN0aW9uKGEsYixjLGQpe2MuY2xvc2VfcmVwbGFjZVdpdGg9eihkLnR5cGUpfSksZis9IiBtZnAtY2xvc2UtYnRuLWluIik6Yi53cmFwLmFwcGVuZCh6KCkpKSxiLnN0LmFsaWduVG9wJiYoZis9IiBtZnAtYWxpZ24tdG9wIiksYi5maXhlZENvbnRlbnRQb3M/Yi53cmFwLmNzcyh7b3ZlcmZsb3c6Yi5zdC5vdmVyZmxvd1ksb3ZlcmZsb3dYOiJoaWRkZW4iLG92ZXJmbG93WTpiLnN0Lm92ZXJmbG93WX0pOmIud3JhcC5jc3Moe3RvcDp2LnNjcm9sbFRvcCgpLHBvc2l0aW9uOiJhYnNvbHV0ZSJ9KSwoYi5zdC5maXhlZEJnUG9zPT09ITF8fCJhdXRvIj09PWIuc3QuZml4ZWRCZ1BvcyYmIWIuZml4ZWRDb250ZW50UG9zKSYmYi5iZ092ZXJsYXkuY3NzKHtoZWlnaHQ6ZC5oZWlnaHQoKSxwb3NpdGlvbjoiYWJzb2x1dGUifSksYi5zdC5lbmFibGVFc2NhcGVLZXkmJmQub24oImtleXVwIitwLGZ1bmN0aW9uKGEpezI3PT09YS5rZXlDb2RlJiZiLmNsb3NlKCl9KSx2Lm9uKCJyZXNpemUiK3AsZnVuY3Rpb24oKXtiLnVwZGF0ZVNpemUoKX0pLGIuc3QuY2xvc2VPbkNvbnRlbnRDbGlja3x8KGYrPSIgbWZwLWF1dG8tY3Vyc29yIiksZiYmYi53cmFwLmFkZENsYXNzKGYpO3ZhciBrPWIud0g9di5oZWlnaHQoKSxuPXt9O2lmKGIuZml4ZWRDb250ZW50UG9zJiZiLl9oYXNTY3JvbGxCYXIoaykpe3ZhciBvPWIuX2dldFNjcm9sbGJhclNpemUoKTtvJiYobi5tYXJnaW5SaWdodD1vKX1iLmZpeGVkQ29udGVudFBvcyYmKGIuaXNJRTc/YSgiYm9keSwgaHRtbCIpLmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKTpuLm92ZXJmbG93PSJoaWRkZW4iKTt2YXIgcj1iLnN0Lm1haW5DbGFzcztyZXR1cm4gYi5pc0lFNyYmKHIrPSIgbWZwLWllNyIpLHImJmIuX2FkZENsYXNzVG9NRlAociksYi51cGRhdGVJdGVtSFRNTCgpLHkoIkJ1aWxkQ29udHJvbHMiKSxhKCJodG1sIikuY3NzKG4pLGIuYmdPdmVybGF5LmFkZChiLndyYXApLnByZXBlbmRUbyhiLnN0LnByZXBlbmRUb3x8YShkb2N1bWVudC5ib2R5KSksYi5fbGFzdEZvY3VzZWRFbD1kb2N1bWVudC5hY3RpdmVFbGVtZW50LHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLmNvbnRlbnQ/KGIuX2FkZENsYXNzVG9NRlAocSksYi5fc2V0Rm9jdXMoKSk6Yi5iZ092ZXJsYXkuYWRkQ2xhc3MocSksZC5vbigiZm9jdXNpbiIrcCxiLl9vbkZvY3VzSW4pfSwxNiksYi5pc09wZW49ITAsYi51cGRhdGVTaXplKGspLHkobSksY30sY2xvc2U6ZnVuY3Rpb24oKXtiLmlzT3BlbiYmKHkoaSksYi5pc09wZW49ITEsYi5zdC5yZW1vdmFsRGVsYXkmJiFiLmlzTG93SUUmJmIuc3VwcG9ydHNUcmFuc2l0aW9uPyhiLl9hZGRDbGFzc1RvTUZQKHIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLl9jbG9zZSgpfSxiLnN0LnJlbW92YWxEZWxheSkpOmIuX2Nsb3NlKCkpfSxfY2xvc2U6ZnVuY3Rpb24oKXt5KGgpO3ZhciBjPXIrIiAiK3ErIiAiO2lmKGIuYmdPdmVybGF5LmRldGFjaCgpLGIud3JhcC5kZXRhY2goKSxiLmNvbnRhaW5lci5lbXB0eSgpLGIuc3QubWFpbkNsYXNzJiYoYys9Yi5zdC5tYWluQ2xhc3MrIiAiKSxiLl9yZW1vdmVDbGFzc0Zyb21NRlAoYyksYi5maXhlZENvbnRlbnRQb3Mpe3ZhciBlPXttYXJnaW5SaWdodDoiIn07Yi5pc0lFNz9hKCJib2R5LCBodG1sIikuY3NzKCJvdmVyZmxvdyIsIiIpOmUub3ZlcmZsb3c9IiIsYSgiaHRtbCIpLmNzcyhlKX1kLm9mZigia2V5dXAiK3ArIiBmb2N1c2luIitwKSxiLmV2Lm9mZihwKSxiLndyYXAuYXR0cigiY2xhc3MiLCJtZnAtd3JhcCIpLnJlbW92ZUF0dHIoInN0eWxlIiksYi5iZ092ZXJsYXkuYXR0cigiY2xhc3MiLCJtZnAtYmciKSxiLmNvbnRhaW5lci5hdHRyKCJjbGFzcyIsIm1mcC1jb250YWluZXIiKSwhYi5zdC5zaG93Q2xvc2VCdG58fGIuc3QuY2xvc2VCdG5JbnNpZGUmJmIuY3VyclRlbXBsYXRlW2IuY3Vyckl0ZW0udHlwZV0hPT0hMHx8Yi5jdXJyVGVtcGxhdGUuY2xvc2VCdG4mJmIuY3VyclRlbXBsYXRlLmNsb3NlQnRuLmRldGFjaCgpLGIuc3QuYXV0b0ZvY3VzTGFzdCYmYi5fbGFzdEZvY3VzZWRFbCYmYShiLl9sYXN0Rm9jdXNlZEVsKS5mb2N1cygpLGIuY3Vyckl0ZW09bnVsbCxiLmNvbnRlbnQ9bnVsbCxiLmN1cnJUZW1wbGF0ZT1udWxsLGIucHJldkhlaWdodD0wLHkoail9LHVwZGF0ZVNpemU6ZnVuY3Rpb24oYSl7aWYoYi5pc0lPUyl7dmFyIGM9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoL3dpbmRvdy5pbm5lcldpZHRoLGQ9d2luZG93LmlubmVySGVpZ2h0KmM7Yi53cmFwLmNzcygiaGVpZ2h0IixkKSxiLndIPWR9ZWxzZSBiLndIPWF8fHYuaGVpZ2h0KCk7Yi5maXhlZENvbnRlbnRQb3N8fGIud3JhcC5jc3MoImhlaWdodCIsYi53SCkseSgiUmVzaXplIil9LHVwZGF0ZUl0ZW1IVE1MOmZ1bmN0aW9uKCl7dmFyIGM9Yi5pdGVtc1tiLmluZGV4XTtiLmNvbnRlbnRDb250YWluZXIuZGV0YWNoKCksYi5jb250ZW50JiZiLmNvbnRlbnQuZGV0YWNoKCksYy5wYXJzZWR8fChjPWIucGFyc2VFbChiLmluZGV4KSk7dmFyIGQ9Yy50eXBlO2lmKHkoIkJlZm9yZUNoYW5nZSIsW2IuY3Vyckl0ZW0/Yi5jdXJySXRlbS50eXBlOiIiLGRdKSxiLmN1cnJJdGVtPWMsIWIuY3VyclRlbXBsYXRlW2RdKXt2YXIgZj1iLnN0W2RdP2Iuc3RbZF0ubWFya3VwOiExO3koIkZpcnN0TWFya3VwUGFyc2UiLGYpLGY/Yi5jdXJyVGVtcGxhdGVbZF09YShmKTpiLmN1cnJUZW1wbGF0ZVtkXT0hMH1lJiZlIT09Yy50eXBlJiZiLmNvbnRhaW5lci5yZW1vdmVDbGFzcygibWZwLSIrZSsiLWhvbGRlciIpO3ZhciBnPWJbImdldCIrZC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStkLnNsaWNlKDEpXShjLGIuY3VyclRlbXBsYXRlW2RdKTtiLmFwcGVuZENvbnRlbnQoZyxkKSxjLnByZWxvYWRlZD0hMCx5KG4sYyksZT1jLnR5cGUsYi5jb250YWluZXIucHJlcGVuZChiLmNvbnRlbnRDb250YWluZXIpLHkoIkFmdGVyQ2hhbmdlIil9LGFwcGVuZENvbnRlbnQ6ZnVuY3Rpb24oYSxjKXtiLmNvbnRlbnQ9YSxhP2Iuc3Quc2hvd0Nsb3NlQnRuJiZiLnN0LmNsb3NlQnRuSW5zaWRlJiZiLmN1cnJUZW1wbGF0ZVtjXT09PSEwP2IuY29udGVudC5maW5kKCIubWZwLWNsb3NlIikubGVuZ3RofHxiLmNvbnRlbnQuYXBwZW5kKHooKSk6Yi5jb250ZW50PWE6Yi5jb250ZW50PSIiLHkoayksYi5jb250YWluZXIuYWRkQ2xhc3MoIm1mcC0iK2MrIi1ob2xkZXIiKSxiLmNvbnRlbnRDb250YWluZXIuYXBwZW5kKGIuY29udGVudCl9LHBhcnNlRWw6ZnVuY3Rpb24oYyl7dmFyIGQsZT1iLml0ZW1zW2NdO2lmKGUudGFnTmFtZT9lPXtlbDphKGUpfTooZD1lLnR5cGUsZT17ZGF0YTplLHNyYzplLnNyY30pLGUuZWwpe2Zvcih2YXIgZj1iLnR5cGVzLGc9MDtnPGYubGVuZ3RoO2crKylpZihlLmVsLmhhc0NsYXNzKCJtZnAtIitmW2ddKSl7ZD1mW2ddO2JyZWFrfWUuc3JjPWUuZWwuYXR0cigiZGF0YS1tZnAtc3JjIiksZS5zcmN8fChlLnNyYz1lLmVsLmF0dHIoImhyZWYiKSl9cmV0dXJuIGUudHlwZT1kfHxiLnN0LnR5cGV8fCJpbmxpbmUiLGUuaW5kZXg9YyxlLnBhcnNlZD0hMCxiLml0ZW1zW2NdPWUseSgiRWxlbWVudFBhcnNlIixlKSxiLml0ZW1zW2NdfSxhZGRHcm91cDpmdW5jdGlvbihhLGMpe3ZhciBkPWZ1bmN0aW9uKGQpe2QubWZwRWw9dGhpcyxiLl9vcGVuQ2xpY2soZCxhLGMpfTtjfHwoYz17fSk7dmFyIGU9ImNsaWNrLm1hZ25pZmljUG9wdXAiO2MubWFpbkVsPWEsYy5pdGVtcz8oYy5pc09iaj0hMCxhLm9mZihlKS5vbihlLGQpKTooYy5pc09iaj0hMSxjLmRlbGVnYXRlP2Eub2ZmKGUpLm9uKGUsYy5kZWxlZ2F0ZSxkKTooYy5pdGVtcz1hLGEub2ZmKGUpLm9uKGUsZCkpKX0sX29wZW5DbGljazpmdW5jdGlvbihjLGQsZSl7dmFyIGY9dm9pZCAwIT09ZS5taWRDbGljaz9lLm1pZENsaWNrOmEubWFnbmlmaWNQb3B1cC5kZWZhdWx0cy5taWRDbGljaztpZihmfHwhKDI9PT1jLndoaWNofHxjLmN0cmxLZXl8fGMubWV0YUtleXx8Yy5hbHRLZXl8fGMuc2hpZnRLZXkpKXt2YXIgZz12b2lkIDAhPT1lLmRpc2FibGVPbj9lLmRpc2FibGVPbjphLm1hZ25pZmljUG9wdXAuZGVmYXVsdHMuZGlzYWJsZU9uO2lmKGcpaWYoYS5pc0Z1bmN0aW9uKGcpKXtpZighZy5jYWxsKGIpKXJldHVybiEwfWVsc2UgaWYodi53aWR0aCgpPGcpcmV0dXJuITA7Yy50eXBlJiYoYy5wcmV2ZW50RGVmYXVsdCgpLGIuaXNPcGVuJiZjLnN0b3BQcm9wYWdhdGlvbigpKSxlLmVsPWEoYy5tZnBFbCksZS5kZWxlZ2F0ZSYmKGUuaXRlbXM9ZC5maW5kKGUuZGVsZWdhdGUpKSxiLm9wZW4oZSl9fSx1cGRhdGVTdGF0dXM6ZnVuY3Rpb24oYSxkKXtpZihiLnByZWxvYWRlcil7YyE9PWEmJmIuY29udGFpbmVyLnJlbW92ZUNsYXNzKCJtZnAtcy0iK2MpLGR8fCJsb2FkaW5nIiE9PWF8fChkPWIuc3QudExvYWRpbmcpO3ZhciBlPXtzdGF0dXM6YSx0ZXh0OmR9O3koIlVwZGF0ZVN0YXR1cyIsZSksYT1lLnN0YXR1cyxkPWUudGV4dCxiLnByZWxvYWRlci5odG1sKGQpLGIucHJlbG9hZGVyLmZpbmQoImEiKS5vbigiY2xpY2siLGZ1bmN0aW9uKGEpe2Euc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCl9KSxiLmNvbnRhaW5lci5hZGRDbGFzcygibWZwLXMtIithKSxjPWF9fSxfY2hlY2tJZkNsb3NlOmZ1bmN0aW9uKGMpe2lmKCFhKGMpLmhhc0NsYXNzKHMpKXt2YXIgZD1iLnN0LmNsb3NlT25Db250ZW50Q2xpY2ssZT1iLnN0LmNsb3NlT25CZ0NsaWNrO2lmKGQmJmUpcmV0dXJuITA7aWYoIWIuY29udGVudHx8YShjKS5oYXNDbGFzcygibWZwLWNsb3NlIil8fGIucHJlbG9hZGVyJiZjPT09Yi5wcmVsb2FkZXJbMF0pcmV0dXJuITA7aWYoYz09PWIuY29udGVudFswXXx8YS5jb250YWlucyhiLmNvbnRlbnRbMF0sYykpe2lmKGQpcmV0dXJuITB9ZWxzZSBpZihlJiZhLmNvbnRhaW5zKGRvY3VtZW50LGMpKXJldHVybiEwO3JldHVybiExfX0sX2FkZENsYXNzVG9NRlA6ZnVuY3Rpb24oYSl7Yi5iZ092ZXJsYXkuYWRkQ2xhc3MoYSksYi53cmFwLmFkZENsYXNzKGEpfSxfcmVtb3ZlQ2xhc3NGcm9tTUZQOmZ1bmN0aW9uKGEpe3RoaXMuYmdPdmVybGF5LnJlbW92ZUNsYXNzKGEpLGIud3JhcC5yZW1vdmVDbGFzcyhhKX0sX2hhc1Njcm9sbEJhcjpmdW5jdGlvbihhKXtyZXR1cm4oYi5pc0lFNz9kLmhlaWdodCgpOmRvY3VtZW50LmJvZHkuc2Nyb2xsSGVpZ2h0KT4oYXx8di5oZWlnaHQoKSl9LF9zZXRGb2N1czpmdW5jdGlvbigpeyhiLnN0LmZvY3VzP2IuY29udGVudC5maW5kKGIuc3QuZm9jdXMpLmVxKDApOmIud3JhcCkuZm9jdXMoKX0sX29uRm9jdXNJbjpmdW5jdGlvbihjKXtyZXR1cm4gYy50YXJnZXQ9PT1iLndyYXBbMF18fGEuY29udGFpbnMoYi53cmFwWzBdLGMudGFyZ2V0KT92b2lkIDA6KGIuX3NldEZvY3VzKCksITEpfSxfcGFyc2VNYXJrdXA6ZnVuY3Rpb24oYixjLGQpe3ZhciBlO2QuZGF0YSYmKGM9YS5leHRlbmQoZC5kYXRhLGMpKSx5KGwsW2IsYyxkXSksYS5lYWNoKGMsZnVuY3Rpb24oYSxjKXtpZih2b2lkIDA9PT1jfHxjPT09ITEpcmV0dXJuITA7aWYoZT1hLnNwbGl0KCJfIiksZS5sZW5ndGg+MSl7dmFyIGQ9Yi5maW5kKHArIi0iK2VbMF0pO2lmKGQubGVuZ3RoPjApe3ZhciBmPWVbMV07InJlcGxhY2VXaXRoIj09PWY/ZFswXSE9PWNbMF0mJmQucmVwbGFjZVdpdGgoYyk6ImltZyI9PT1mP2QuaXMoImltZyIpP2QuYXR0cigic3JjIixjKTpkLnJlcGxhY2VXaXRoKCc8aW1nIHNyYz0iJytjKyciIGNsYXNzPSInK2QuYXR0cigiY2xhc3MiKSsnIiAvPicpOmQuYXR0cihlWzFdLGMpfX1lbHNlIGIuZmluZChwKyItIithKS5odG1sKGMpfSl9LF9nZXRTY3JvbGxiYXJTaXplOmZ1bmN0aW9uKCl7aWYodm9pZCAwPT09Yi5zY3JvbGxiYXJTaXplKXt2YXIgYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTthLnN0eWxlLmNzc1RleHQ9IndpZHRoOiA5OXB4OyBoZWlnaHQ6IDk5cHg7IG92ZXJmbG93OiBzY3JvbGw7IHBvc2l0aW9uOiBhYnNvbHV0ZTsgdG9wOiAtOTk5OXB4OyIsZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChhKSxiLnNjcm9sbGJhclNpemU9YS5vZmZzZXRXaWR0aC1hLmNsaWVudFdpZHRoLGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSl9cmV0dXJuIGIuc2Nyb2xsYmFyU2l6ZX19LGEubWFnbmlmaWNQb3B1cD17aW5zdGFuY2U6bnVsbCxwcm90bzp0LnByb3RvdHlwZSxtb2R1bGVzOltdLG9wZW46ZnVuY3Rpb24oYixjKXtyZXR1cm4gQSgpLGI9Yj9hLmV4dGVuZCghMCx7fSxiKTp7fSxiLmlzT2JqPSEwLGIuaW5kZXg9Y3x8MCx0aGlzLmluc3RhbmNlLm9wZW4oYil9LGNsb3NlOmZ1bmN0aW9uKCl7cmV0dXJuIGEubWFnbmlmaWNQb3B1cC5pbnN0YW5jZSYmYS5tYWduaWZpY1BvcHVwLmluc3RhbmNlLmNsb3NlKCl9LHJlZ2lzdGVyTW9kdWxlOmZ1bmN0aW9uKGIsYyl7Yy5vcHRpb25zJiYoYS5tYWduaWZpY1BvcHVwLmRlZmF1bHRzW2JdPWMub3B0aW9ucyksYS5leHRlbmQodGhpcy5wcm90byxjLnByb3RvKSx0aGlzLm1vZHVsZXMucHVzaChiKX0sZGVmYXVsdHM6e2Rpc2FibGVPbjowLGtleTpudWxsLG1pZENsaWNrOiExLG1haW5DbGFzczoiIixwcmVsb2FkZXI6ITAsZm9jdXM6IiIsY2xvc2VPbkNvbnRlbnRDbGljazohMSxjbG9zZU9uQmdDbGljazohMCxjbG9zZUJ0bkluc2lkZTohMCxzaG93Q2xvc2VCdG46ITAsZW5hYmxlRXNjYXBlS2V5OiEwLG1vZGFsOiExLGFsaWduVG9wOiExLHJlbW92YWxEZWxheTowLHByZXBlbmRUbzpudWxsLGZpeGVkQ29udGVudFBvczoiYXV0byIsZml4ZWRCZ1BvczoiYXV0byIsb3ZlcmZsb3dZOiJhdXRvIixjbG9zZU1hcmt1cDonPGJ1dHRvbiB0aXRsZT0iJXRpdGxlJSIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ibWZwLWNsb3NlIj4mIzIxNTs8L2J1dHRvbj4nLHRDbG9zZToiQ2xvc2UgKEVzYykiLHRMb2FkaW5nOiJMb2FkaW5nLi4uIixhdXRvRm9jdXNMYXN0OiEwfX0sYS5mbi5tYWduaWZpY1BvcHVwPWZ1bmN0aW9uKGMpe0EoKTt2YXIgZD1hKHRoaXMpO2lmKCJzdHJpbmciPT10eXBlb2YgYylpZigib3BlbiI9PT1jKXt2YXIgZSxmPXU/ZC5kYXRhKCJtYWduaWZpY1BvcHVwIik6ZFswXS5tYWduaWZpY1BvcHVwLGc9cGFyc2VJbnQoYXJndW1lbnRzWzFdLDEwKXx8MDtmLml0ZW1zP2U9Zi5pdGVtc1tnXTooZT1kLGYuZGVsZWdhdGUmJihlPWUuZmluZChmLmRlbGVnYXRlKSksZT1lLmVxKGcpKSxiLl9vcGVuQ2xpY2soe21mcEVsOmV9LGQsZil9ZWxzZSBiLmlzT3BlbiYmYltjXS5hcHBseShiLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSk7ZWxzZSBjPWEuZXh0ZW5kKCEwLHt9LGMpLHU/ZC5kYXRhKCJtYWduaWZpY1BvcHVwIixjKTpkWzBdLm1hZ25pZmljUG9wdXA9YyxiLmFkZEdyb3VwKGQsYyk7cmV0dXJuIGR9O3ZhciBDLEQsRSxGPSJpbmxpbmUiLEc9ZnVuY3Rpb24oKXtFJiYoRC5hZnRlcihFLmFkZENsYXNzKEMpKS5kZXRhY2goKSxFPW51bGwpfTthLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoRix7b3B0aW9uczp7aGlkZGVuQ2xhc3M6ImhpZGUiLG1hcmt1cDoiIix0Tm90Rm91bmQ6IkNvbnRlbnQgbm90IGZvdW5kIn0scHJvdG86e2luaXRJbmxpbmU6ZnVuY3Rpb24oKXtiLnR5cGVzLnB1c2goRiksdyhoKyIuIitGLGZ1bmN0aW9uKCl7RygpfSl9LGdldElubGluZTpmdW5jdGlvbihjLGQpe2lmKEcoKSxjLnNyYyl7dmFyIGU9Yi5zdC5pbmxpbmUsZj1hKGMuc3JjKTtpZihmLmxlbmd0aCl7dmFyIGc9ZlswXS5wYXJlbnROb2RlO2cmJmcudGFnTmFtZSYmKER8fChDPWUuaGlkZGVuQ2xhc3MsRD14KEMpLEM9Im1mcC0iK0MpLEU9Zi5hZnRlcihEKS5kZXRhY2goKS5yZW1vdmVDbGFzcyhDKSksYi51cGRhdGVTdGF0dXMoInJlYWR5Iil9ZWxzZSBiLnVwZGF0ZVN0YXR1cygiZXJyb3IiLGUudE5vdEZvdW5kKSxmPWEoIjxkaXY+Iik7cmV0dXJuIGMuaW5saW5lRWxlbWVudD1mLGZ9cmV0dXJuIGIudXBkYXRlU3RhdHVzKCJyZWFkeSIpLGIuX3BhcnNlTWFya3VwKGQse30sYyksZH19fSk7dmFyIEgsST0iYWpheCIsSj1mdW5jdGlvbigpe0gmJmEoZG9jdW1lbnQuYm9keSkucmVtb3ZlQ2xhc3MoSCl9LEs9ZnVuY3Rpb24oKXtKKCksYi5yZXEmJmIucmVxLmFib3J0KCl9O2EubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZShJLHtvcHRpb25zOntzZXR0aW5nczpudWxsLGN1cnNvcjoibWZwLWFqYXgtY3VyIix0RXJyb3I6JzxhIGhyZWY9IiV1cmwlIj5UaGUgY29udGVudDwvYT4gY291bGQgbm90IGJlIGxvYWRlZC4nfSxwcm90bzp7aW5pdEFqYXg6ZnVuY3Rpb24oKXtiLnR5cGVzLnB1c2goSSksSD1iLnN0LmFqYXguY3Vyc29yLHcoaCsiLiIrSSxLKSx3KCJCZWZvcmVDaGFuZ2UuIitJLEspfSxnZXRBamF4OmZ1bmN0aW9uKGMpe0gmJmEoZG9jdW1lbnQuYm9keSkuYWRkQ2xhc3MoSCksYi51cGRhdGVTdGF0dXMoImxvYWRpbmciKTt2YXIgZD1hLmV4dGVuZCh7dXJsOmMuc3JjLHN1Y2Nlc3M6ZnVuY3Rpb24oZCxlLGYpe3ZhciBnPXtkYXRhOmQseGhyOmZ9O3koIlBhcnNlQWpheCIsZyksYi5hcHBlbmRDb250ZW50KGEoZy5kYXRhKSxJKSxjLmZpbmlzaGVkPSEwLEooKSxiLl9zZXRGb2N1cygpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtiLndyYXAuYWRkQ2xhc3MocSl9LDE2KSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKSx5KCJBamF4Q29udGVudEFkZGVkIil9LGVycm9yOmZ1bmN0aW9uKCl7SigpLGMuZmluaXNoZWQ9Yy5sb2FkRXJyb3I9ITAsYi51cGRhdGVTdGF0dXMoImVycm9yIixiLnN0LmFqYXgudEVycm9yLnJlcGxhY2UoIiV1cmwlIixjLnNyYykpfX0sYi5zdC5hamF4LnNldHRpbmdzKTtyZXR1cm4gYi5yZXE9YS5hamF4KGQpLCIifX19KTt2YXIgTCxNPWZ1bmN0aW9uKGMpe2lmKGMuZGF0YSYmdm9pZCAwIT09Yy5kYXRhLnRpdGxlKXJldHVybiBjLmRhdGEudGl0bGU7dmFyIGQ9Yi5zdC5pbWFnZS50aXRsZVNyYztpZihkKXtpZihhLmlzRnVuY3Rpb24oZCkpcmV0dXJuIGQuY2FsbChiLGMpO2lmKGMuZWwpcmV0dXJuIGMuZWwuYXR0cihkKXx8IiJ9cmV0dXJuIiJ9O2EubWFnbmlmaWNQb3B1cC5yZWdpc3Rlck1vZHVsZSgiaW1hZ2UiLHtvcHRpb25zOnttYXJrdXA6JzxkaXYgY2xhc3M9Im1mcC1maWd1cmUiPjxkaXYgY2xhc3M9Im1mcC1jbG9zZSI+PC9kaXY+PGZpZ3VyZT48ZGl2IGNsYXNzPSJtZnAtaW1nIj48L2Rpdj48ZmlnY2FwdGlvbj48ZGl2IGNsYXNzPSJtZnAtYm90dG9tLWJhciI+PGRpdiBjbGFzcz0ibWZwLXRpdGxlIj48L2Rpdj48ZGl2IGNsYXNzPSJtZnAtY291bnRlciI+PC9kaXY+PC9kaXY+PC9maWdjYXB0aW9uPjwvZmlndXJlPjwvZGl2PicsY3Vyc29yOiJtZnAtem9vbS1vdXQtY3VyIix0aXRsZVNyYzoidGl0bGUiLHZlcnRpY2FsRml0OiEwLHRFcnJvcjonPGEgaHJlZj0iJXVybCUiPlRoZSBpbWFnZTwvYT4gY291bGQgbm90IGJlIGxvYWRlZC4nfSxwcm90bzp7aW5pdEltYWdlOmZ1bmN0aW9uKCl7dmFyIGM9Yi5zdC5pbWFnZSxkPSIuaW1hZ2UiO2IudHlwZXMucHVzaCgiaW1hZ2UiKSx3KG0rZCxmdW5jdGlvbigpeyJpbWFnZSI9PT1iLmN1cnJJdGVtLnR5cGUmJmMuY3Vyc29yJiZhKGRvY3VtZW50LmJvZHkpLmFkZENsYXNzKGMuY3Vyc29yKX0pLHcoaCtkLGZ1bmN0aW9uKCl7Yy5jdXJzb3ImJmEoZG9jdW1lbnQuYm9keSkucmVtb3ZlQ2xhc3MoYy5jdXJzb3IpLHYub2ZmKCJyZXNpemUiK3ApfSksdygiUmVzaXplIitkLGIucmVzaXplSW1hZ2UpLGIuaXNMb3dJRSYmdygiQWZ0ZXJDaGFuZ2UiLGIucmVzaXplSW1hZ2UpfSxyZXNpemVJbWFnZTpmdW5jdGlvbigpe3ZhciBhPWIuY3Vyckl0ZW07aWYoYSYmYS5pbWcmJmIuc3QuaW1hZ2UudmVydGljYWxGaXQpe3ZhciBjPTA7Yi5pc0xvd0lFJiYoYz1wYXJzZUludChhLmltZy5jc3MoInBhZGRpbmctdG9wIiksMTApK3BhcnNlSW50KGEuaW1nLmNzcygicGFkZGluZy1ib3R0b20iKSwxMCkpLGEuaW1nLmNzcygibWF4LWhlaWdodCIsYi53SC1jKX19LF9vbkltYWdlSGFzU2l6ZTpmdW5jdGlvbihhKXthLmltZyYmKGEuaGFzU2l6ZT0hMCxMJiZjbGVhckludGVydmFsKEwpLGEuaXNDaGVja2luZ0ltZ1NpemU9ITEseSgiSW1hZ2VIYXNTaXplIixhKSxhLmltZ0hpZGRlbiYmKGIuY29udGVudCYmYi5jb250ZW50LnJlbW92ZUNsYXNzKCJtZnAtbG9hZGluZyIpLGEuaW1nSGlkZGVuPSExKSl9LGZpbmRJbWFnZVNpemU6ZnVuY3Rpb24oYSl7dmFyIGM9MCxkPWEuaW1nWzBdLGU9ZnVuY3Rpb24oZil7TCYmY2xlYXJJbnRlcnZhbChMKSxMPXNldEludGVydmFsKGZ1bmN0aW9uKCl7cmV0dXJuIGQubmF0dXJhbFdpZHRoPjA/dm9pZCBiLl9vbkltYWdlSGFzU2l6ZShhKTooYz4yMDAmJmNsZWFySW50ZXJ2YWwoTCksYysrLHZvaWQoMz09PWM/ZSgxMCk6NDA9PT1jP2UoNTApOjEwMD09PWMmJmUoNTAwKSkpfSxmKX07ZSgxKX0sZ2V0SW1hZ2U6ZnVuY3Rpb24oYyxkKXt2YXIgZT0wLGY9ZnVuY3Rpb24oKXtjJiYoYy5pbWdbMF0uY29tcGxldGU/KGMuaW1nLm9mZigiLm1mcGxvYWRlciIpLGM9PT1iLmN1cnJJdGVtJiYoYi5fb25JbWFnZUhhc1NpemUoYyksYi51cGRhdGVTdGF0dXMoInJlYWR5IikpLGMuaGFzU2l6ZT0hMCxjLmxvYWRlZD0hMCx5KCJJbWFnZUxvYWRDb21wbGV0ZSIpKTooZSsrLDIwMD5lP3NldFRpbWVvdXQoZiwxMDApOmcoKSkpfSxnPWZ1bmN0aW9uKCl7YyYmKGMuaW1nLm9mZigiLm1mcGxvYWRlciIpLGM9PT1iLmN1cnJJdGVtJiYoYi5fb25JbWFnZUhhc1NpemUoYyksYi51cGRhdGVTdGF0dXMoImVycm9yIixoLnRFcnJvci5yZXBsYWNlKCIldXJsJSIsYy5zcmMpKSksYy5oYXNTaXplPSEwLGMubG9hZGVkPSEwLGMubG9hZEVycm9yPSEwKX0saD1iLnN0LmltYWdlLGk9ZC5maW5kKCIubWZwLWltZyIpO2lmKGkubGVuZ3RoKXt2YXIgaj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKTtqLmNsYXNzTmFtZT0ibWZwLWltZyIsYy5lbCYmYy5lbC5maW5kKCJpbWciKS5sZW5ndGgmJihqLmFsdD1jLmVsLmZpbmQoImltZyIpLmF0dHIoImFsdCIpKSxjLmltZz1hKGopLm9uKCJsb2FkLm1mcGxvYWRlciIsZikub24oImVycm9yLm1mcGxvYWRlciIsZyksai5zcmM9Yy5zcmMsaS5pcygiaW1nIikmJihjLmltZz1jLmltZy5jbG9uZSgpKSxqPWMuaW1nWzBdLGoubmF0dXJhbFdpZHRoPjA/Yy5oYXNTaXplPSEwOmoud2lkdGh8fChjLmhhc1NpemU9ITEpfXJldHVybiBiLl9wYXJzZU1hcmt1cChkLHt0aXRsZTpNKGMpLGltZ19yZXBsYWNlV2l0aDpjLmltZ30sYyksYi5yZXNpemVJbWFnZSgpLGMuaGFzU2l6ZT8oTCYmY2xlYXJJbnRlcnZhbChMKSxjLmxvYWRFcnJvcj8oZC5hZGRDbGFzcygibWZwLWxvYWRpbmciKSxiLnVwZGF0ZVN0YXR1cygiZXJyb3IiLGgudEVycm9yLnJlcGxhY2UoIiV1cmwlIixjLnNyYykpKTooZC5yZW1vdmVDbGFzcygibWZwLWxvYWRpbmciKSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKSksZCk6KGIudXBkYXRlU3RhdHVzKCJsb2FkaW5nIiksYy5sb2FkaW5nPSEwLGMuaGFzU2l6ZXx8KGMuaW1nSGlkZGVuPSEwLGQuYWRkQ2xhc3MoIm1mcC1sb2FkaW5nIiksYi5maW5kSW1hZ2VTaXplKGMpKSxkKX19fSk7dmFyIE4sTz1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1OJiYoTj12b2lkIDAhPT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIikuc3R5bGUuTW96VHJhbnNmb3JtKSxOfTthLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoInpvb20iLHtvcHRpb25zOntlbmFibGVkOiExLGVhc2luZzoiZWFzZS1pbi1vdXQiLGR1cmF0aW9uOjMwMCxvcGVuZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuaXMoImltZyIpP2E6YS5maW5kKCJpbWciKX19LHByb3RvOntpbml0Wm9vbTpmdW5jdGlvbigpe3ZhciBhLGM9Yi5zdC56b29tLGQ9Ii56b29tIjtpZihjLmVuYWJsZWQmJmIuc3VwcG9ydHNUcmFuc2l0aW9uKXt2YXIgZSxmLGc9Yy5kdXJhdGlvbixqPWZ1bmN0aW9uKGEpe3ZhciBiPWEuY2xvbmUoKS5yZW1vdmVBdHRyKCJzdHlsZSIpLnJlbW92ZUF0dHIoImNsYXNzIikuYWRkQ2xhc3MoIm1mcC1hbmltYXRlZC1pbWFnZSIpLGQ9ImFsbCAiK2MuZHVyYXRpb24vMWUzKyJzICIrYy5lYXNpbmcsZT17cG9zaXRpb246ImZpeGVkIix6SW5kZXg6OTk5OSxsZWZ0OjAsdG9wOjAsIi13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eSI6ImhpZGRlbiJ9LGY9InRyYW5zaXRpb24iO3JldHVybiBlWyItd2Via2l0LSIrZl09ZVsiLW1vei0iK2ZdPWVbIi1vLSIrZl09ZVtmXT1kLGIuY3NzKGUpLGJ9LGs9ZnVuY3Rpb24oKXtiLmNvbnRlbnQuY3NzKCJ2aXNpYmlsaXR5IiwidmlzaWJsZSIpfTt3KCJCdWlsZENvbnRyb2xzIitkLGZ1bmN0aW9uKCl7aWYoYi5fYWxsb3dab29tKCkpe2lmKGNsZWFyVGltZW91dChlKSxiLmNvbnRlbnQuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIiksYT1iLl9nZXRJdGVtVG9ab29tKCksIWEpcmV0dXJuIHZvaWQgaygpO2Y9aihhKSxmLmNzcyhiLl9nZXRPZmZzZXQoKSksYi53cmFwLmFwcGVuZChmKSxlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtmLmNzcyhiLl9nZXRPZmZzZXQoITApKSxlPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtrKCksc2V0VGltZW91dChmdW5jdGlvbigpe2YucmVtb3ZlKCksYT1mPW51bGwseSgiWm9vbUFuaW1hdGlvbkVuZGVkIil9LDE2KX0sZyl9LDE2KX19KSx3KGkrZCxmdW5jdGlvbigpe2lmKGIuX2FsbG93Wm9vbSgpKXtpZihjbGVhclRpbWVvdXQoZSksYi5zdC5yZW1vdmFsRGVsYXk9ZywhYSl7aWYoYT1iLl9nZXRJdGVtVG9ab29tKCksIWEpcmV0dXJuO2Y9aihhKX1mLmNzcyhiLl9nZXRPZmZzZXQoITApKSxiLndyYXAuYXBwZW5kKGYpLGIuY29udGVudC5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zi5jc3MoYi5fZ2V0T2Zmc2V0KCkpfSwxNil9fSksdyhoK2QsZnVuY3Rpb24oKXtiLl9hbGxvd1pvb20oKSYmKGsoKSxmJiZmLnJlbW92ZSgpLGE9bnVsbCl9KX19LF9hbGxvd1pvb206ZnVuY3Rpb24oKXtyZXR1cm4iaW1hZ2UiPT09Yi5jdXJySXRlbS50eXBlfSxfZ2V0SXRlbVRvWm9vbTpmdW5jdGlvbigpe3JldHVybiBiLmN1cnJJdGVtLmhhc1NpemU/Yi5jdXJySXRlbS5pbWc6ITF9LF9nZXRPZmZzZXQ6ZnVuY3Rpb24oYyl7dmFyIGQ7ZD1jP2IuY3Vyckl0ZW0uaW1nOmIuc3Quem9vbS5vcGVuZXIoYi5jdXJySXRlbS5lbHx8Yi5jdXJySXRlbSk7dmFyIGU9ZC5vZmZzZXQoKSxmPXBhcnNlSW50KGQuY3NzKCJwYWRkaW5nLXRvcCIpLDEwKSxnPXBhcnNlSW50KGQuY3NzKCJwYWRkaW5nLWJvdHRvbSIpLDEwKTtlLnRvcC09YSh3aW5kb3cpLnNjcm9sbFRvcCgpLWY7dmFyIGg9e3dpZHRoOmQud2lkdGgoKSxoZWlnaHQ6KHU/ZC5pbm5lckhlaWdodCgpOmRbMF0ub2Zmc2V0SGVpZ2h0KS1nLWZ9O3JldHVybiBPKCk/aFsiLW1vei10cmFuc2Zvcm0iXT1oLnRyYW5zZm9ybT0idHJhbnNsYXRlKCIrZS5sZWZ0KyJweCwiK2UudG9wKyJweCkiOihoLmxlZnQ9ZS5sZWZ0LGgudG9wPWUudG9wKSxofX19KTt2YXIgUD0iaWZyYW1lIixRPSIvL2Fib3V0OmJsYW5rIixSPWZ1bmN0aW9uKGEpe2lmKGIuY3VyclRlbXBsYXRlW1BdKXt2YXIgYz1iLmN1cnJUZW1wbGF0ZVtQXS5maW5kKCJpZnJhbWUiKTtjLmxlbmd0aCYmKGF8fChjWzBdLnNyYz1RKSxiLmlzSUU4JiZjLmNzcygiZGlzcGxheSIsYT8iYmxvY2siOiJub25lIikpfX07YS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKFAse29wdGlvbnM6e21hcmt1cDonPGRpdiBjbGFzcz0ibWZwLWlmcmFtZS1zY2FsZXIiPjxkaXYgY2xhc3M9Im1mcC1jbG9zZSI+PC9kaXY+PGlmcmFtZSBjbGFzcz0ibWZwLWlmcmFtZSIgc3JjPSIvL2Fib3V0OmJsYW5rIiBhbGxvd2Z1bGxzY3JlZW4+PC9pZnJhbWU+PC9kaXY+JyxzcmNBY3Rpb246ImlmcmFtZV9zcmMiLHBhdHRlcm5zOnt5b3V0dWJlOntpbmRleDoieW91dHViZS5jb20iLGlkOiJ2PSIsc3JjOiIvL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8laWQlP2F1dG9wbGF5PTEifSx2aW1lbzp7aW5kZXg6InZpbWVvLmNvbS8iLGlkOiIvIixzcmM6Ii8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8laWQlP2F1dG9wbGF5PTEifSxnbWFwczp7aW5kZXg6Ii8vbWFwcy5nb29nbGUuIixzcmM6IiVpZCUmb3V0cHV0PWVtYmVkIn19fSxwcm90bzp7aW5pdElmcmFtZTpmdW5jdGlvbigpe2IudHlwZXMucHVzaChQKSx3KCJCZWZvcmVDaGFuZ2UiLGZ1bmN0aW9uKGEsYixjKXtiIT09YyYmKGI9PT1QP1IoKTpjPT09UCYmUighMCkpfSksdyhoKyIuIitQLGZ1bmN0aW9uKCl7UigpfSl9LGdldElmcmFtZTpmdW5jdGlvbihjLGQpe3ZhciBlPWMuc3JjLGY9Yi5zdC5pZnJhbWU7YS5lYWNoKGYucGF0dGVybnMsZnVuY3Rpb24oKXtyZXR1cm4gZS5pbmRleE9mKHRoaXMuaW5kZXgpPi0xPyh0aGlzLmlkJiYoZT0ic3RyaW5nIj09dHlwZW9mIHRoaXMuaWQ/ZS5zdWJzdHIoZS5sYXN0SW5kZXhPZih0aGlzLmlkKSt0aGlzLmlkLmxlbmd0aCxlLmxlbmd0aCk6dGhpcy5pZC5jYWxsKHRoaXMsZSkpLGU9dGhpcy5zcmMucmVwbGFjZSgiJWlkJSIsZSksITEpOnZvaWQgMH0pO3ZhciBnPXt9O3JldHVybiBmLnNyY0FjdGlvbiYmKGdbZi5zcmNBY3Rpb25dPWUpLGIuX3BhcnNlTWFya3VwKGQsZyxjKSxiLnVwZGF0ZVN0YXR1cygicmVhZHkiKSxkfX19KTt2YXIgUz1mdW5jdGlvbihhKXt2YXIgYz1iLml0ZW1zLmxlbmd0aDtyZXR1cm4gYT5jLTE/YS1jOjA+YT9jK2E6YX0sVD1mdW5jdGlvbihhLGIsYyl7cmV0dXJuIGEucmVwbGFjZSgvJWN1cnIlL2dpLGIrMSkucmVwbGFjZSgvJXRvdGFsJS9naSxjKX07YS5tYWduaWZpY1BvcHVwLnJlZ2lzdGVyTW9kdWxlKCJnYWxsZXJ5Iix7b3B0aW9uczp7ZW5hYmxlZDohMSxhcnJvd01hcmt1cDonPGJ1dHRvbiB0aXRsZT0iJXRpdGxlJSIgdHlwZT0iYnV0dG9uIiBjbGFzcz0ibWZwLWFycm93IG1mcC1hcnJvdy0lZGlyJSI+PC9idXR0b24+JyxwcmVsb2FkOlswLDJdLG5hdmlnYXRlQnlJbWdDbGljazohMCxhcnJvd3M6ITAsdFByZXY6IlByZXZpb3VzIChMZWZ0IGFycm93IGtleSkiLHROZXh0OiJOZXh0IChSaWdodCBhcnJvdyBrZXkpIix0Q291bnRlcjoiJWN1cnIlIG9mICV0b3RhbCUifSxwcm90bzp7aW5pdEdhbGxlcnk6ZnVuY3Rpb24oKXt2YXIgYz1iLnN0LmdhbGxlcnksZT0iLm1mcC1nYWxsZXJ5IixnPUJvb2xlYW4oYS5mbi5tZnBGYXN0Q2xpY2spO3JldHVybiBiLmRpcmVjdGlvbj0hMCxjJiZjLmVuYWJsZWQ/KGYrPSIgbWZwLWdhbGxlcnkiLHcobStlLGZ1bmN0aW9uKCl7Yy5uYXZpZ2F0ZUJ5SW1nQ2xpY2smJmIud3JhcC5vbigiY2xpY2siK2UsIi5tZnAtaW1nIixmdW5jdGlvbigpe3JldHVybiBiLml0ZW1zLmxlbmd0aD4xPyhiLm5leHQoKSwhMSk6dm9pZCAwfSksZC5vbigia2V5ZG93biIrZSxmdW5jdGlvbihhKXszNz09PWEua2V5Q29kZT9iLnByZXYoKTozOT09PWEua2V5Q29kZSYmYi5uZXh0KCl9KX0pLHcoIlVwZGF0ZVN0YXR1cyIrZSxmdW5jdGlvbihhLGMpe2MudGV4dCYmKGMudGV4dD1UKGMudGV4dCxiLmN1cnJJdGVtLmluZGV4LGIuaXRlbXMubGVuZ3RoKSl9KSx3KGwrZSxmdW5jdGlvbihhLGQsZSxmKXt2YXIgZz1iLml0ZW1zLmxlbmd0aDtlLmNvdW50ZXI9Zz4xP1QoYy50Q291bnRlcixmLmluZGV4LGcpOiIifSksdygiQnVpbGRDb250cm9scyIrZSxmdW5jdGlvbigpe2lmKGIuaXRlbXMubGVuZ3RoPjEmJmMuYXJyb3dzJiYhYi5hcnJvd0xlZnQpe3ZhciBkPWMuYXJyb3dNYXJrdXAsZT1iLmFycm93TGVmdD1hKGQucmVwbGFjZSgvJXRpdGxlJS9naSxjLnRQcmV2KS5yZXBsYWNlKC8lZGlyJS9naSwibGVmdCIpKS5hZGRDbGFzcyhzKSxmPWIuYXJyb3dSaWdodD1hKGQucmVwbGFjZSgvJXRpdGxlJS9naSxjLnROZXh0KS5yZXBsYWNlKC8lZGlyJS9naSwicmlnaHQiKSkuYWRkQ2xhc3MocyksaD1nPyJtZnBGYXN0Q2xpY2siOiJjbGljayI7ZVtoXShmdW5jdGlvbigpe2IucHJldigpfSksZltoXShmdW5jdGlvbigpe2IubmV4dCgpfSksYi5pc0lFNyYmKHgoImIiLGVbMF0sITEsITApLHgoImEiLGVbMF0sITEsITApLHgoImIiLGZbMF0sITEsITApLHgoImEiLGZbMF0sITEsITApKSxiLmNvbnRhaW5lci5hcHBlbmQoZS5hZGQoZikpfX0pLHcobitlLGZ1bmN0aW9uKCl7Yi5fcHJlbG9hZFRpbWVvdXQmJmNsZWFyVGltZW91dChiLl9wcmVsb2FkVGltZW91dCksYi5fcHJlbG9hZFRpbWVvdXQ9c2V0VGltZW91dChmdW5jdGlvbigpe2IucHJlbG9hZE5lYXJieUltYWdlcygpLGIuX3ByZWxvYWRUaW1lb3V0PW51bGx9LDE2KX0pLHZvaWQgdyhoK2UsZnVuY3Rpb24oKXtkLm9mZihlKSxiLndyYXAub2ZmKCJjbGljayIrZSksYi5hcnJvd0xlZnQmJmcmJmIuYXJyb3dMZWZ0LmFkZChiLmFycm93UmlnaHQpLmRlc3Ryb3lNZnBGYXN0Q2xpY2soKSxiLmFycm93UmlnaHQ9Yi5hcnJvd0xlZnQ9bnVsbH0pKTohMX0sbmV4dDpmdW5jdGlvbigpe2IuZGlyZWN0aW9uPSEwLGIuaW5kZXg9UyhiLmluZGV4KzEpLGIudXBkYXRlSXRlbUhUTUwoKX0scHJldjpmdW5jdGlvbigpe2IuZGlyZWN0aW9uPSExLGIuaW5kZXg9UyhiLmluZGV4LTEpLGIudXBkYXRlSXRlbUhUTUwoKX0sZ29UbzpmdW5jdGlvbihhKXtiLmRpcmVjdGlvbj1hPj1iLmluZGV4LGIuaW5kZXg9YSxiLnVwZGF0ZUl0ZW1IVE1MKCl9LHByZWxvYWROZWFyYnlJbWFnZXM6ZnVuY3Rpb24oKXt2YXIgYSxjPWIuc3QuZ2FsbGVyeS5wcmVsb2FkLGQ9TWF0aC5taW4oY1swXSxiLml0ZW1zLmxlbmd0aCksZT1NYXRoLm1pbihjWzFdLGIuaXRlbXMubGVuZ3RoKTtmb3IoYT0xO2E8PShiLmRpcmVjdGlvbj9lOmQpO2ErKyliLl9wcmVsb2FkSXRlbShiLmluZGV4K2EpO2ZvcihhPTE7YTw9KGIuZGlyZWN0aW9uP2Q6ZSk7YSsrKWIuX3ByZWxvYWRJdGVtKGIuaW5kZXgtYSl9LF9wcmVsb2FkSXRlbTpmdW5jdGlvbihjKXtpZihjPVMoYyksIWIuaXRlbXNbY10ucHJlbG9hZGVkKXt2YXIgZD1iLml0ZW1zW2NdO2QucGFyc2VkfHwoZD1iLnBhcnNlRWwoYykpLHkoIkxhenlMb2FkIixkKSwiaW1hZ2UiPT09ZC50eXBlJiYoZC5pbWc9YSgnPGltZyBjbGFzcz0ibWZwLWltZyIgLz4nKS5vbigibG9hZC5tZnBsb2FkZXIiLGZ1bmN0aW9uKCl7ZC5oYXNTaXplPSEwfSkub24oImVycm9yLm1mcGxvYWRlciIsZnVuY3Rpb24oKXtkLmhhc1NpemU9ITAsZC5sb2FkRXJyb3I9ITAseSgiTGF6eUxvYWRFcnJvciIsZCl9KS5hdHRyKCJzcmMiLGQuc3JjKSksZC5wcmVsb2FkZWQ9ITB9fX19KTt2YXIgVT0icmV0aW5hIjthLm1hZ25pZmljUG9wdXAucmVnaXN0ZXJNb2R1bGUoVSx7b3B0aW9uczp7cmVwbGFjZVNyYzpmdW5jdGlvbihhKXtyZXR1cm4gYS5zcmMucmVwbGFjZSgvXC5cdyskLyxmdW5jdGlvbihhKXtyZXR1cm4iQDJ4IithfSl9LHJhdGlvOjF9LHByb3RvOntpbml0UmV0aW5hOmZ1bmN0aW9uKCl7aWYod2luZG93LmRldmljZVBpeGVsUmF0aW8+MSl7dmFyIGE9Yi5zdC5yZXRpbmEsYz1hLnJhdGlvO2M9aXNOYU4oYyk/YygpOmMsYz4xJiYodygiSW1hZ2VIYXNTaXplLiIrVSxmdW5jdGlvbihhLGIpe2IuaW1nLmNzcyh7Im1heC13aWR0aCI6Yi5pbWdbMF0ubmF0dXJhbFdpZHRoL2Msd2lkdGg6IjEwMCUifSl9KSx3KCJFbGVtZW50UGFyc2UuIitVLGZ1bmN0aW9uKGIsZCl7ZC5zcmM9YS5yZXBsYWNlU3JjKGQsYyl9KSl9fX19KSxmdW5jdGlvbigpe3ZhciBiPTFlMyxjPSJvbnRvdWNoc3RhcnQiaW4gd2luZG93LGQ9ZnVuY3Rpb24oKXt2Lm9mZigidG91Y2htb3ZlIitmKyIgdG91Y2hlbmQiK2YpfSxlPSJtZnBGYXN0Q2xpY2siLGY9Ii4iK2U7YS5mbi5tZnBGYXN0Q2xpY2s9ZnVuY3Rpb24oZSl7cmV0dXJuIGEodGhpcykuZWFjaChmdW5jdGlvbigpe3ZhciBnLGg9YSh0aGlzKTtpZihjKXt2YXIgaSxqLGssbCxtLG47aC5vbigidG91Y2hzdGFydCIrZixmdW5jdGlvbihhKXtsPSExLG49MSxtPWEub3JpZ2luYWxFdmVudD9hLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXTphLnRvdWNoZXNbMF0saj1tLmNsaWVudFgsaz1tLmNsaWVudFksdi5vbigidG91Y2htb3ZlIitmLGZ1bmN0aW9uKGEpe209YS5vcmlnaW5hbEV2ZW50P2Eub3JpZ2luYWxFdmVudC50b3VjaGVzOmEudG91Y2hlcyxuPW0ubGVuZ3RoLG09bVswXSwoTWF0aC5hYnMobS5jbGllbnRYLWopPjEwfHxNYXRoLmFicyhtLmNsaWVudFktayk+MTApJiYobD0hMCxkKCkpfSkub24oInRvdWNoZW5kIitmLGZ1bmN0aW9uKGEpe2QoKSxsfHxuPjF8fChnPSEwLGEucHJldmVudERlZmF1bHQoKSxjbGVhclRpbWVvdXQoaSksaT1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Zz0hMX0sYiksZSgpKX0pfSl9aC5vbigiY2xpY2siK2YsZnVuY3Rpb24oKXtnfHxlKCl9KX0pfSxhLmZuLmRlc3Ryb3lNZnBGYXN0Q2xpY2s9ZnVuY3Rpb24oKXthKHRoaXMpLm9mZigidG91Y2hzdGFydCIrZisiIGNsaWNrIitmKSxjJiZ2Lm9mZigidG91Y2htb3ZlIitmKyIgdG91Y2hlbmQiK2YpfX0oKSxBKCl9KTsNCg0KDQovKg0KICogIE5pdm8gTGlnaHRib3gNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLyoNCiogTml2byBMaWdodGJveCB2MS4yLjANCiogaHR0cDovL2RldjdzdHVkaW9zLmNvbS9uaXZvLWxpZ2h0Ym94DQoqDQoqIENvcHlyaWdodCAyMDEzLCBEZXY3c3R1ZGlvcw0KKiBGcmVlIHRvIHVzZSBhbmQgYWJ1c2UgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLg0KKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL21pdC1saWNlbnNlLnBocA0KKi8NCihmdW5jdGlvbihlLHQsbixyKXtmdW5jdGlvbiBvKHQsbil7dGhpcy5lbD10O3RoaXMuJGVsPWUodGhpcy5lbCk7dGhpcy5vcHRpb25zPWUuZXh0ZW5kKHt9LHMsbik7dGhpcy5fZGVmYXVsdHM9czt0aGlzLl9uYW1lPWk7dGhpcy5pbml0KCl9dmFyIGk9Im5pdm9MaWdodGJveCIscz17ZWZmZWN0OiJmYWRlIix0aGVtZToiZGVmYXVsdCIsa2V5Ym9hcmROYXY6dHJ1ZSxjbGlja092ZXJsYXlUb0Nsb3NlOnRydWUsb25Jbml0OmZ1bmN0aW9uKCl7fSxiZWZvcmVTaG93TGlnaHRib3g6ZnVuY3Rpb24oKXt9LGFmdGVyU2hvd0xpZ2h0Ym94OmZ1bmN0aW9uKGUpe30sYmVmb3JlSGlkZUxpZ2h0Ym94OmZ1bmN0aW9uKCl7fSxhZnRlckhpZGVMaWdodGJveDpmdW5jdGlvbigpe30sb25QcmV2OmZ1bmN0aW9uKGUpe30sb25OZXh0OmZ1bmN0aW9uKGUpe30sZXJyb3JNZXNzYWdlOiJUaGUgcmVxdWVzdGVkIGNvbnRlbnQgY2Fubm90IGJlIGxvYWRlZC4gUGxlYXNlIHRyeSBhZ2FpbiBsYXRlci4ifTtvLnByb3RvdHlwZT17aW5pdDpmdW5jdGlvbigpe3ZhciB0PXRoaXM7aWYoIWUoImh0bWwiKS5oYXNDbGFzcygibml2by1saWdodGJveC1ub3RvdWNoIikpZSgiaHRtbCIpLmFkZENsYXNzKCJuaXZvLWxpZ2h0Ym94LW5vdG91Y2giKTtpZigib250b3VjaHN0YXJ0ImluIG4pZSgiaHRtbCIpLnJlbW92ZUNsYXNzKCJuaXZvLWxpZ2h0Ym94LW5vdG91Y2giKTt0aGlzLiRlbC5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe3Quc2hvd0xpZ2h0Ym94KGUpfSk7aWYodGhpcy5vcHRpb25zLmtleWJvYXJkTmF2KXtlKCJib2R5Iikub2ZmKCJrZXl1cCIpLm9uKCJrZXl1cCIsZnVuY3Rpb24obil7dmFyIHI9bi5rZXlDb2RlP24ua2V5Q29kZTpuLndoaWNoO2lmKHI9PTI3KXQuZGVzdHJ1Y3RMaWdodGJveCgpO2lmKHI9PTM3KWUoIi5uaXZvLWxpZ2h0Ym94LXByZXYiKS50cmlnZ2VyKCJjbGljayIpO2lmKHI9PTM5KWUoIi5uaXZvLWxpZ2h0Ym94LW5leHQiKS50cmlnZ2VyKCJjbGljayIpfSl9dGhpcy5vcHRpb25zLm9uSW5pdC5jYWxsKHRoaXMpfSxzaG93TGlnaHRib3g6ZnVuY3Rpb24odCl7dmFyIG49dGhpcyxyPXRoaXMuJGVsO3ZhciBpPXRoaXMuY2hlY2tDb250ZW50KHIpO2lmKCFpKXJldHVybjt0LnByZXZlbnREZWZhdWx0KCk7dGhpcy5vcHRpb25zLmJlZm9yZVNob3dMaWdodGJveC5jYWxsKHRoaXMpO3ZhciBzPXRoaXMuY29uc3RydWN0TGlnaHRib3goKTtpZighcylyZXR1cm47dmFyIG89cy5maW5kKCIubml2by1saWdodGJveC1jb250ZW50Iik7aWYoIW8pcmV0dXJuO2UoImJvZHkiKS5hZGRDbGFzcygibml2by1saWdodGJveC1ib2R5LWVmZmVjdC0iK3RoaXMub3B0aW9ucy5lZmZlY3QpO3RoaXMucHJvY2Vzc0NvbnRlbnQobyxyKTtpZih0aGlzLiRlbC5hdHRyKCJkYXRhLWxpZ2h0Ym94LWdhbGxlcnkiKSl7dmFyIHU9ZSgnW2RhdGEtbGlnaHRib3gtZ2FsbGVyeT0iJyt0aGlzLiRlbC5hdHRyKCJkYXRhLWxpZ2h0Ym94LWdhbGxlcnkiKSsnIl0nKTtlKCIubml2by1saWdodGJveC1uYXYiKS5zaG93KCk7ZSgiLm5pdm8tbGlnaHRib3gtcHJldiIpLm9mZigiY2xpY2siKS5vbigiY2xpY2siLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKTt2YXIgaT11LmluZGV4KHIpO3I9dS5lcShpLTEpO2lmKCFlKHIpLmxlbmd0aClyPXUubGFzdCgpO24ucHJvY2Vzc0NvbnRlbnQobyxyKTtuLm9wdGlvbnMub25QcmV2LmNhbGwodGhpcyxbcl0pfSk7ZSgiLm5pdm8tbGlnaHRib3gtbmV4dCIpLm9mZigiY2xpY2siKS5vbigiY2xpY2siLGZ1bmN0aW9uKHQpe3QucHJldmVudERlZmF1bHQoKTt2YXIgaT11LmluZGV4KHIpO3I9dS5lcShpKzEpO2lmKCFlKHIpLmxlbmd0aClyPXUuZmlyc3QoKTtuLnByb2Nlc3NDb250ZW50KG8scik7bi5vcHRpb25zLm9uTmV4dC5jYWxsKHRoaXMsW3JdKX0pfXNldFRpbWVvdXQoZnVuY3Rpb24oKXtzLmFkZENsYXNzKCJuaXZvLWxpZ2h0Ym94LW9wZW4iKTtuLm9wdGlvbnMuYWZ0ZXJTaG93TGlnaHRib3guY2FsbCh0aGlzLFtzXSl9LDEpfSxjaGVja0NvbnRlbnQ6ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxuPWUuYXR0cigiaHJlZiIpLHI9bi5tYXRjaCgvKHlvdXR1YmV8eW91dHV8dmltZW8pXC4oY29tfGJlKVwvKHdhdGNoXD92PShbXHctXSspfChbXHctXSspKS8pO2lmKG4ubWF0Y2goL1wuKGpwZWd8anBnfGdpZnxwbmcpJC9pKSE9PW51bGwpe3JldHVybiB0cnVlfWVsc2UgaWYocil7cmV0dXJuIHRydWV9ZWxzZSBpZihlLmF0dHIoImRhdGEtbGlnaHRib3gtdHlwZSIpPT0iYWpheCIpe3JldHVybiB0cnVlfWVsc2UgaWYobi5zdWJzdHJpbmcoMCwxKT09IiMiJiZlLmF0dHIoImRhdGEtbGlnaHRib3gtdHlwZSIpPT0iaW5saW5lIil7cmV0dXJuIHRydWV9ZWxzZSBpZihlLmF0dHIoImRhdGEtbGlnaHRib3gtdHlwZSIpPT0iaWZyYW1lIil7cmV0dXJuIHRydWV9cmV0dXJuIGZhbHNlfSxwcm9jZXNzQ29udGVudDpmdW5jdGlvbihuLHIpe3ZhciBpPXRoaXMscz1yLmF0dHIoImhyZWYiKSxvPXMubWF0Y2goLyh5b3V0dWJlfHlvdXR1fHZpbWVvKVwuKGNvbXxiZSlcLyh3YXRjaFw/dj0oW1x3LV0rKXwoW1x3LV0rKSkvKTtuLmh0bWwoIiIpLmFkZENsYXNzKCJuaXZvLWxpZ2h0Ym94LWxvYWRpbmciKTtpZih0aGlzLmlzSGlkcGkoKSYmci5hdHRyKCJkYXRhLWxpZ2h0Ym94LWhpZHBpIikpe3M9ci5hdHRyKCJkYXRhLWxpZ2h0Ym94LWhpZHBpIil9aWYocy5tYXRjaCgvXC4oanBlZ3xqcGd8Z2lmfHBuZykkL2kpIT09bnVsbCl7dmFyIHU9ZSgiPGltZz4iLHtzcmM6c30pO3Uub25lKCJsb2FkIixmdW5jdGlvbigpe3ZhciByPWUoJzxkaXYgY2xhc3M9Im5pdm8tbGlnaHRib3gtaW1hZ2UiIC8+Jyk7ci5hcHBlbmQodSk7bi5odG1sKHIpLnJlbW92ZUNsYXNzKCJuaXZvLWxpZ2h0Ym94LWxvYWRpbmciKTtyLmNzcyh7ImxpbmUtaGVpZ2h0IjplKCIubml2by1saWdodGJveC1jb250ZW50IikuaGVpZ2h0KCkrInB4IixoZWlnaHQ6ZSgiLm5pdm8tbGlnaHRib3gtY29udGVudCIpLmhlaWdodCgpKyJweCJ9KTtlKHQpLnJlc2l6ZShmdW5jdGlvbigpe3IuY3NzKHsibGluZS1oZWlnaHQiOmUoIi5uaXZvLWxpZ2h0Ym94LWNvbnRlbnQiKS5oZWlnaHQoKSsicHgiLGhlaWdodDplKCIubml2by1saWdodGJveC1jb250ZW50IikuaGVpZ2h0KCkrInB4In0pfSl9KS5lYWNoKGZ1bmN0aW9uKCl7aWYodGhpcy5jb21wbGV0ZSllKHRoaXMpLmxvYWQoKX0pO3UuZXJyb3IoZnVuY3Rpb24oKXt2YXIgdD1lKCc8ZGl2IGNsYXNzPSJuaXZvLWxpZ2h0Ym94LWVycm9yIj48cD4nK2kub3B0aW9ucy5lcnJvck1lc3NhZ2UrIjwvcD48L2Rpdj4iKTtuLmh0bWwodCkucmVtb3ZlQ2xhc3MoIm5pdm8tbGlnaHRib3gtbG9hZGluZyIpfSl9ZWxzZSBpZihvKXt2YXIgYT0iIixmPSJuaXZvLWxpZ2h0Ym94LXZpZGVvIjtpZihvWzFdPT0ieW91dHViZSIpe2E9Imh0dHA6Ly93d3cueW91dHViZS5jb20vZW1iZWQvIitvWzRdO2Y9Im5pdm8tbGlnaHRib3gteW91dHViZSJ9aWYob1sxXT09InlvdXR1Iil7YT0iaHR0cDovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC8iK29bM107Zj0ibml2by1saWdodGJveC15b3V0dWJlIn1pZihvWzFdPT0idmltZW8iKXthPSJodHRwOi8vcGxheWVyLnZpbWVvLmNvbS92aWRlby8iK29bM107Zj0ibml2by1saWdodGJveC12aW1lbyJ9aWYoYSl7dmFyIGw9ZSgiPGlmcmFtZT4iLHtzcmM6YSwiY2xhc3MiOmYsZnJhbWVib3JkZXI6MCx2c3BhY2U6MCxoc3BhY2U6MCxzY3JvbGxpbmc6ImF1dG8ifSk7bi5odG1sKGwpO2wubG9hZChmdW5jdGlvbigpe24ucmVtb3ZlQ2xhc3MoIm5pdm8tbGlnaHRib3gtbG9hZGluZyIpfSl9fWVsc2UgaWYoci5hdHRyKCJkYXRhLWxpZ2h0Ym94LXR5cGUiKT09ImFqYXgiKXtlLmFqYXgoe3VybDpzLGNhY2hlOmZhbHNlLHN1Y2Nlc3M6ZnVuY3Rpb24ocil7dmFyIGk9ZSgnPGRpdiBjbGFzcz0ibml2by1saWdodGJveC1hamF4IiAvPicpO2kuYXBwZW5kKHIpO24uaHRtbChpKS5yZW1vdmVDbGFzcygibml2by1saWdodGJveC1sb2FkaW5nIik7aWYoaS5vdXRlckhlaWdodCgpPG4uaGVpZ2h0KCkpe2kuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDoiNTAlIiwibWFyZ2luLXRvcCI6LShpLm91dGVySGVpZ2h0KCkvMikrInB4In0pfWUodCkucmVzaXplKGZ1bmN0aW9uKCl7aWYoaS5vdXRlckhlaWdodCgpPG4uaGVpZ2h0KCkpe2kuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLHRvcDoiNTAlIiwibWFyZ2luLXRvcCI6LShpLm91dGVySGVpZ2h0KCkvMikrInB4In0pfX0pfSxlcnJvcjpmdW5jdGlvbigpe3ZhciB0PWUoJzxkaXYgY2xhc3M9Im5pdm8tbGlnaHRib3gtZXJyb3IiPjxwPicraS5vcHRpb25zLmVycm9yTWVzc2FnZSsiPC9wPjwvZGl2PiIpO24uaHRtbCh0KS5yZW1vdmVDbGFzcygibml2by1saWdodGJveC1sb2FkaW5nIil9fSl9ZWxzZSBpZihzLnN1YnN0cmluZygwLDEpPT0iIyImJnIuYXR0cigiZGF0YS1saWdodGJveC10eXBlIik9PSJpbmxpbmUiKXtpZihlKHMpLmxlbmd0aCl7dmFyIGM9ZSgnPGRpdiBjbGFzcz0ibml2by1saWdodGJveC1pbmxpbmUiIC8+Jyk7Yy5hcHBlbmQoZShzKS5jbG9uZSgpLnNob3coKSk7bi5odG1sKGMpLnJlbW92ZUNsYXNzKCJuaXZvLWxpZ2h0Ym94LWxvYWRpbmciKTtpZihjLm91dGVySGVpZ2h0KCk8bi5oZWlnaHQoKSl7Yy5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiI1MCUiLCJtYXJnaW4tdG9wIjotKGMub3V0ZXJIZWlnaHQoKS8yKSsicHgifSl9ZSh0KS5yZXNpemUoZnVuY3Rpb24oKXtpZihjLm91dGVySGVpZ2h0KCk8bi5oZWlnaHQoKSl7Yy5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiI1MCUiLCJtYXJnaW4tdG9wIjotKGMub3V0ZXJIZWlnaHQoKS8yKSsicHgifSl9fSl9ZWxzZXt2YXIgaD1lKCc8ZGl2IGNsYXNzPSJuaXZvLWxpZ2h0Ym94LWVycm9yIj48cD4nK2kub3B0aW9ucy5lcnJvck1lc3NhZ2UrIjwvcD48L2Rpdj4iKTtuLmh0bWwoaCkucmVtb3ZlQ2xhc3MoIm5pdm8tbGlnaHRib3gtbG9hZGluZyIpfX1lbHNlIGlmKHIuYXR0cigiZGF0YS1saWdodGJveC10eXBlIik9PSJpZnJhbWUiKXt2YXIgcD1lKCI8aWZyYW1lPiIse3NyYzpzLCJjbGFzcyI6Im5pdm8tbGlnaHRib3gtaXRlbSIsZnJhbWVib3JkZXI6MCx2c3BhY2U6MCxoc3BhY2U6MCxzY3JvbGxpbmc6ImF1dG8ifSk7bi5odG1sKHApO3AubG9hZChmdW5jdGlvbigpe24ucmVtb3ZlQ2xhc3MoIm5pdm8tbGlnaHRib3gtbG9hZGluZyIpfSl9ZWxzZXtyZXR1cm4gZmFsc2V9aWYoci5hdHRyKCJ0aXRsZSIpKXt2YXIgZD1lKCI8c3Bhbj4iLHsiY2xhc3MiOiJuaXZvLWxpZ2h0Ym94LXRpdGxlIn0pO2QudGV4dChyLmF0dHIoInRpdGxlIikpO2UoIi5uaXZvLWxpZ2h0Ym94LXRpdGxlLXdyYXAiKS5odG1sKGQpfWVsc2V7ZSgiLm5pdm8tbGlnaHRib3gtdGl0bGUtd3JhcCIpLmh0bWwoIiIpfX0sY29uc3RydWN0TGlnaHRib3g6ZnVuY3Rpb24oKXtpZihlKCIubml2by1saWdodGJveC1vdmVybGF5IikubGVuZ3RoKXJldHVybiBlKCIubml2by1saWdodGJveC1vdmVybGF5Iik7dmFyIHQ9ZSgiPGRpdj4iLHsiY2xhc3MiOiJuaXZvLWxpZ2h0Ym94LW92ZXJsYXkgbml2by1saWdodGJveC10aGVtZS0iK3RoaXMub3B0aW9ucy50aGVtZSsiIG5pdm8tbGlnaHRib3gtZWZmZWN0LSIrdGhpcy5vcHRpb25zLmVmZmVjdH0pO3ZhciBuPWUoIjxkaXY+Iix7ImNsYXNzIjoibml2by1saWdodGJveC13cmFwIn0pO3ZhciByPWUoIjxkaXY+Iix7ImNsYXNzIjoibml2by1saWdodGJveC1jb250ZW50In0pO3ZhciBpPWUoJzxhIGhyZWY9IiMiIGNsYXNzPSJuaXZvLWxpZ2h0Ym94LW5hdiBuaXZvLWxpZ2h0Ym94LXByZXYiPlByZXZpb3VzPC9hPjxhIGhyZWY9IiMiIGNsYXNzPSJuaXZvLWxpZ2h0Ym94LW5hdiBuaXZvLWxpZ2h0Ym94LW5leHQiPk5leHQ8L2E+Jyk7dmFyIHM9ZSgnPGEgaHJlZj0iIyIgY2xhc3M9Im5pdm8tbGlnaHRib3gtY2xvc2UiIHRpdGxlPSJDbG9zZSI+Q2xvc2U8L2E+Jyk7dmFyIG89ZSgiPGRpdj4iLHsiY2xhc3MiOiJuaXZvLWxpZ2h0Ym94LXRpdGxlLXdyYXAifSk7dmFyIHU9MDtpZih1KXQuYWRkQ2xhc3MoIm5pdm8tbGlnaHRib3gtaWUiKTtuLmFwcGVuZChyKTtuLmFwcGVuZChvKTt0LmFwcGVuZChuKTt0LmFwcGVuZChpKTt0LmFwcGVuZChzKTtlKCJib2R5IikuYXBwZW5kKHQpO3ZhciBhPXRoaXM7aWYoYS5vcHRpb25zLmNsaWNrT3ZlcmxheVRvQ2xvc2Upe3Qub24oImNsaWNrIixmdW5jdGlvbih0KXtpZih0LnRhcmdldD09PXRoaXN8fGUodC50YXJnZXQpLmhhc0NsYXNzKCJuaXZvLWxpZ2h0Ym94LWNvbnRlbnQiKXx8ZSh0LnRhcmdldCkuaGFzQ2xhc3MoIm5pdm8tbGlnaHRib3gtaW1hZ2UiKSl7YS5kZXN0cnVjdExpZ2h0Ym94KCl9fSl9cy5vbigiY2xpY2siLGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTthLmRlc3RydWN0TGlnaHRib3goKX0pO3JldHVybiB0fSxkZXN0cnVjdExpZ2h0Ym94OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLm9wdGlvbnMuYmVmb3JlSGlkZUxpZ2h0Ym94LmNhbGwodGhpcyk7ZSgiLm5pdm8tbGlnaHRib3gtb3ZlcmxheSIpLnJlbW92ZUNsYXNzKCJuaXZvLWxpZ2h0Ym94LW9wZW4iKTtlKCIubml2by1saWdodGJveC1uYXYiKS5oaWRlKCk7ZSgiYm9keSIpLnJlbW92ZUNsYXNzKCJuaXZvLWxpZ2h0Ym94LWJvZHktZWZmZWN0LSIrdC5vcHRpb25zLmVmZmVjdCk7dmFyIG49MDtpZihuKXtlKCIubml2by1saWdodGJveC1vdmVybGF5IGlmcmFtZSIpLmF0dHIoInNyYyIsIiAiKTtlKCIubml2by1saWdodGJveC1vdmVybGF5IGlmcmFtZSIpLnJlbW92ZSgpfWUoIi5uaXZvLWxpZ2h0Ym94LXByZXYiKS5vZmYoImNsaWNrIik7ZSgiLm5pdm8tbGlnaHRib3gtbmV4dCIpLm9mZigiY2xpY2siKTtlKCIubml2by1saWdodGJveC1jb250ZW50IikuZW1wdHkoKTt0aGlzLm9wdGlvbnMuYWZ0ZXJIaWRlTGlnaHRib3guY2FsbCh0aGlzKX0saXNIaWRwaTpmdW5jdGlvbigpe3ZhciBlPSIoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMvMiksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1pbi1yZXNvbHV0aW9uOiAxLjVkcHB4KSI7aWYodC5kZXZpY2VQaXhlbFJhdGlvPjEpcmV0dXJuIHRydWU7aWYodC5tYXRjaE1lZGlhJiZ0Lm1hdGNoTWVkaWEoZSkubWF0Y2hlcylyZXR1cm4gdHJ1ZTtyZXR1cm4gZmFsc2V9fTtlLmZuW2ldPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZighZS5kYXRhKHRoaXMsaSkpe2UuZGF0YSh0aGlzLGksbmV3IG8odGhpcyx0KSl9fSl9fSkoalF1ZXJ5LHdpbmRvdyxkb2N1bWVudCkNCg0KLyoNCiAqICBQcmV0dHlQaG90byBMaWdodGJveA0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCglDbGFzczogcHJldHR5UGhvdG8NCglVc2U6IExpZ2h0Ym94IGNsb25lIGZvciBqUXVlcnkNCglBdXRob3I6IFN0ZXBoYW5lIENhcm9uIChodHRwOi8vd3d3Lm5vLW1hcmdpbi1mb3ItZXJyb3JzLmNvbSkNCglWZXJzaW9uOiAzLjEuNg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqLw0KIWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIHQoKXt2YXIgZT1sb2NhdGlvbi5ocmVmO3JldHVybiBoYXNodGFnPS0xIT09ZS5pbmRleE9mKCIjcHJldHR5UGhvdG8iKT9kZWNvZGVVUkkoZS5zdWJzdHJpbmcoZS5pbmRleE9mKCIjcHJldHR5UGhvdG8iKSsxLGUubGVuZ3RoKSk6ITEsaGFzaHRhZyYmKGhhc2h0YWc9aGFzaHRhZy5yZXBsYWNlKC88fD4vZywiIikpLGhhc2h0YWd9ZnVuY3Rpb24gaSgpeyJ1bmRlZmluZWQiIT10eXBlb2YgdGhlUmVsJiYobG9jYXRpb24uaGFzaD10aGVSZWwrIi8iK3JlbF9pbmRleCsiLyIpfWZ1bmN0aW9uIHAoKXstMSE9PWxvY2F0aW9uLmhyZWYuaW5kZXhPZigiI3ByZXR0eVBob3RvIikmJihsb2NhdGlvbi5oYXNoPSJwcmV0dHlQaG90byIpfWZ1bmN0aW9uIG8oZSx0KXtlPWUucmVwbGFjZSgvW1xbXS8sIlxcWyIpLnJlcGxhY2UoL1tcXV0vLCJcXF0iKTt2YXIgaT0iW1xcPyZdIitlKyI9KFteJiNdKikiLHA9bmV3IFJlZ0V4cChpKSxvPXAuZXhlYyh0KTtyZXR1cm4gbnVsbD09bz8iIjpvWzFdfWUucHJldHR5UGhvdG89e3ZlcnNpb246IjMuMS42In0sZS5mbi5wcmV0dHlQaG90bz1mdW5jdGlvbihhKXtmdW5jdGlvbiBzKCl7ZSgiLnBwX2xvYWRlckljb24iKS5oaWRlKCkscHJvamVjdGVkVG9wPXNjcm9sbF9wb3Muc2Nyb2xsVG9wKyhJLzItZi5jb250YWluZXJIZWlnaHQvMikscHJvamVjdGVkVG9wPDAmJihwcm9qZWN0ZWRUb3A9MCksJHBwdC5mYWRlVG8oc2V0dGluZ3MuYW5pbWF0aW9uX3NwZWVkLDEpLCRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9jb250ZW50IikuYW5pbWF0ZSh7aGVpZ2h0OmYuY29udGVudEhlaWdodCx3aWR0aDpmLmNvbnRlbnRXaWR0aH0sc2V0dGluZ3MuYW5pbWF0aW9uX3NwZWVkKSwkcHBfcGljX2hvbGRlci5hbmltYXRlKHt0b3A6cHJvamVjdGVkVG9wLGxlZnQ6ai8yLWYuY29udGFpbmVyV2lkdGgvMjwwPzA6ai8yLWYuY29udGFpbmVyV2lkdGgvMix3aWR0aDpmLmNvbnRhaW5lcldpZHRofSxzZXR0aW5ncy5hbmltYXRpb25fc3BlZWQsZnVuY3Rpb24oKXskcHBfcGljX2hvbGRlci5maW5kKCIucHBfaG92ZXJDb250YWluZXIsI2Z1bGxSZXNJbWFnZSIpLmhlaWdodChmLmhlaWdodCkud2lkdGgoZi53aWR0aCksJHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX2ZhZGUiKS5mYWRlSW4oc2V0dGluZ3MuYW5pbWF0aW9uX3NwZWVkKSxpc1NldCYmImltYWdlIj09aChwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSk/JHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX2hvdmVyQ29udGFpbmVyIikuc2hvdygpOiRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9ob3ZlckNvbnRhaW5lciIpLmhpZGUoKSxzZXR0aW5ncy5hbGxvd19leHBhbmQmJihmLnJlc2l6ZWQ/ZSgiYS5wcF9leHBhbmQsYS5wcF9jb250cmFjdCIpLnNob3coKTplKCJhLnBwX2V4cGFuZCIpLmhpZGUoKSksIXNldHRpbmdzLmF1dG9wbGF5X3NsaWRlc2hvd3x8UHx8dnx8ZS5wcmV0dHlQaG90by5zdGFydFNsaWRlc2hvdygpLHNldHRpbmdzLmNoYW5nZXBpY3R1cmVjYWxsYmFjaygpLHY9ITB9KSxtKCksYS5hamF4Y2FsbGJhY2soKX1mdW5jdGlvbiBuKHQpeyRwcF9waWNfaG9sZGVyLmZpbmQoIiNwcF9mdWxsX3JlcyBvYmplY3QsI3BwX2Z1bGxfcmVzIGVtYmVkIikuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIiksJHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX2ZhZGUiKS5mYWRlT3V0KHNldHRpbmdzLmFuaW1hdGlvbl9zcGVlZCxmdW5jdGlvbigpe2UoIi5wcF9sb2FkZXJJY29uIikuc2hvdygpLHQoKX0pfWZ1bmN0aW9uIHIodCl7dD4xP2UoIi5wcF9uYXYiKS5zaG93KCk6ZSgiLnBwX25hdiIpLmhpZGUoKX1mdW5jdGlvbiBsKGUsdCl7aWYocmVzaXplZD0hMSxkKGUsdCksaW1hZ2VXaWR0aD1lLGltYWdlSGVpZ2h0PXQsKGs+anx8Yj5JKSYmZG9yZXNpemUmJnNldHRpbmdzLmFsbG93X3Jlc2l6ZSYmISQpe2ZvcihyZXNpemVkPSEwLGZpdHRpbmc9ITE7IWZpdHRpbmc7KWs+aj8oaW1hZ2VXaWR0aD1qLTIwMCxpbWFnZUhlaWdodD10L2UqaW1hZ2VXaWR0aCk6Yj5JPyhpbWFnZUhlaWdodD1JLTIwMCxpbWFnZVdpZHRoPWUvdCppbWFnZUhlaWdodCk6Zml0dGluZz0hMCxiPWltYWdlSGVpZ2h0LGs9aW1hZ2VXaWR0aDsoaz5qfHxiPkkpJiZsKGssYiksZChpbWFnZVdpZHRoLGltYWdlSGVpZ2h0KX1yZXR1cm57d2lkdGg6TWF0aC5mbG9vcihpbWFnZVdpZHRoKSxoZWlnaHQ6TWF0aC5mbG9vcihpbWFnZUhlaWdodCksY29udGFpbmVySGVpZ2h0Ok1hdGguZmxvb3IoYiksY29udGFpbmVyV2lkdGg6TWF0aC5mbG9vcihrKSsyKnNldHRpbmdzLmhvcml6b250YWxfcGFkZGluZyxjb250ZW50SGVpZ2h0Ok1hdGguZmxvb3IoeSksY29udGVudFdpZHRoOk1hdGguZmxvb3IodykscmVzaXplZDpyZXNpemVkfX1mdW5jdGlvbiBkKHQsaSl7dD1wYXJzZUZsb2F0KHQpLGk9cGFyc2VGbG9hdChpKSwkcHBfZGV0YWlscz0kcHBfcGljX2hvbGRlci5maW5kKCIucHBfZGV0YWlscyIpLCRwcF9kZXRhaWxzLndpZHRoKHQpLGRldGFpbHNIZWlnaHQ9cGFyc2VGbG9hdCgkcHBfZGV0YWlscy5jc3MoIm1hcmdpblRvcCIpKStwYXJzZUZsb2F0KCRwcF9kZXRhaWxzLmNzcygibWFyZ2luQm90dG9tIikpLCRwcF9kZXRhaWxzPSRwcF9kZXRhaWxzLmNsb25lKCkuYWRkQ2xhc3Moc2V0dGluZ3MudGhlbWUpLndpZHRoKHQpLmFwcGVuZFRvKGUoImJvZHkiKSkuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDotMWU0fSksZGV0YWlsc0hlaWdodCs9JHBwX2RldGFpbHMuaGVpZ2h0KCksZGV0YWlsc0hlaWdodD1kZXRhaWxzSGVpZ2h0PD0zND8zNjpkZXRhaWxzSGVpZ2h0LCRwcF9kZXRhaWxzLnJlbW92ZSgpLCRwcF90aXRsZT0kcHBfcGljX2hvbGRlci5maW5kKCIucHB0IiksJHBwX3RpdGxlLndpZHRoKHQpLHRpdGxlSGVpZ2h0PXBhcnNlRmxvYXQoJHBwX3RpdGxlLmNzcygibWFyZ2luVG9wIikpK3BhcnNlRmxvYXQoJHBwX3RpdGxlLmNzcygibWFyZ2luQm90dG9tIikpLCRwcF90aXRsZT0kcHBfdGl0bGUuY2xvbmUoKS5hcHBlbmRUbyhlKCJib2R5IikpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6LTFlNH0pLHRpdGxlSGVpZ2h0Kz0kcHBfdGl0bGUuaGVpZ2h0KCksJHBwX3RpdGxlLnJlbW92ZSgpLHk9aStkZXRhaWxzSGVpZ2h0LHc9dCxiPXkrdGl0bGVIZWlnaHQrJHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX3RvcCIpLmhlaWdodCgpKyRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9ib3R0b20iKS5oZWlnaHQoKSxrPXR9ZnVuY3Rpb24gaChlKXtyZXR1cm4gZS5tYXRjaCgveW91dHViZVwuY29tXC93YXRjaC9pKXx8ZS5tYXRjaCgveW91dHVcLmJlL2kpPyJ5b3V0dWJlIjplLm1hdGNoKC92aW1lb1wuY29tL2kpPyJ2aW1lbyI6ZS5tYXRjaCgvXGIubW92XGIvaSk/InF1aWNrdGltZSI6ZS5tYXRjaCgvXGIuc3dmXGIvaSk/ImZsYXNoIjplLm1hdGNoKC9cYmlmcmFtZT10cnVlXGIvaSk/ImlmcmFtZSI6ZS5tYXRjaCgvXGJhamF4PXRydWVcYi9pKT8iYWpheCI6ZS5tYXRjaCgvXGJjdXN0b209dHJ1ZVxiL2kpPyJjdXN0b20iOiIjIj09ZS5zdWJzdHIoMCwxKT8iaW5saW5lIjoiaW1hZ2UifWZ1bmN0aW9uIGMoKXtpZihkb3Jlc2l6ZSYmInVuZGVmaW5lZCIhPXR5cGVvZiAkcHBfcGljX2hvbGRlcil7aWYoc2Nyb2xsX3Bvcz1fKCksY29udGVudEhlaWdodD0kcHBfcGljX2hvbGRlci5oZWlnaHQoKSxjb250ZW50d2lkdGg9JHBwX3BpY19ob2xkZXIud2lkdGgoKSxwcm9qZWN0ZWRUb3A9SS8yK3Njcm9sbF9wb3Muc2Nyb2xsVG9wLWNvbnRlbnRIZWlnaHQvMixwcm9qZWN0ZWRUb3A8MCYmKHByb2plY3RlZFRvcD0wKSxjb250ZW50SGVpZ2h0PkkpcmV0dXJuOyRwcF9waWNfaG9sZGVyLmNzcyh7dG9wOnByb2plY3RlZFRvcCxsZWZ0OmovMitzY3JvbGxfcG9zLnNjcm9sbExlZnQtY29udGVudHdpZHRoLzJ9KX19ZnVuY3Rpb24gXygpe3JldHVybiBzZWxmLnBhZ2VZT2Zmc2V0P3tzY3JvbGxUb3A6c2VsZi5wYWdlWU9mZnNldCxzY3JvbGxMZWZ0OnNlbGYucGFnZVhPZmZzZXR9OmRvY3VtZW50LmRvY3VtZW50RWxlbWVudCYmZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LnNjcm9sbFRvcD97c2Nyb2xsVG9wOmRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zY3JvbGxUb3Asc2Nyb2xsTGVmdDpkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsTGVmdH06ZG9jdW1lbnQuYm9keT97c2Nyb2xsVG9wOmRvY3VtZW50LmJvZHkuc2Nyb2xsVG9wLHNjcm9sbExlZnQ6ZG9jdW1lbnQuYm9keS5zY3JvbGxMZWZ0fTp2b2lkIDB9ZnVuY3Rpb24gZygpe0k9ZSh3aW5kb3cpLmhlaWdodCgpLGo9ZSh3aW5kb3cpLndpZHRoKCksInVuZGVmaW5lZCIhPXR5cGVvZiAkcHBfb3ZlcmxheSYmJHBwX292ZXJsYXkuaGVpZ2h0KGUoZG9jdW1lbnQpLmhlaWdodCgpKS53aWR0aChqKX1mdW5jdGlvbiBtKCl7aXNTZXQmJnNldHRpbmdzLm92ZXJsYXlfZ2FsbGVyeSYmImltYWdlIj09aChwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSk/KGl0ZW1XaWR0aD01NyxuYXZXaWR0aD0iZmFjZWJvb2siPT1zZXR0aW5ncy50aGVtZXx8InBwX2RlZmF1bHQiPT1zZXR0aW5ncy50aGVtZT81MDozMCxpdGVtc1BlclBhZ2U9TWF0aC5mbG9vcigoZi5jb250YWluZXJXaWR0aC0xMDAtbmF2V2lkdGgpL2l0ZW1XaWR0aCksaXRlbXNQZXJQYWdlPWl0ZW1zUGVyUGFnZTxwcF9pbWFnZXMubGVuZ3RoP2l0ZW1zUGVyUGFnZTpwcF9pbWFnZXMubGVuZ3RoLHRvdGFsUGFnZT1NYXRoLmNlaWwocHBfaW1hZ2VzLmxlbmd0aC9pdGVtc1BlclBhZ2UpLTEsMD09dG90YWxQYWdlPyhuYXZXaWR0aD0wLCRwcF9nYWxsZXJ5LmZpbmQoIi5wcF9hcnJvd19uZXh0LC5wcF9hcnJvd19wcmV2aW91cyIpLmhpZGUoKSk6JHBwX2dhbGxlcnkuZmluZCgiLnBwX2Fycm93X25leHQsLnBwX2Fycm93X3ByZXZpb3VzIikuc2hvdygpLGdhbGxlcnlXaWR0aD1pdGVtc1BlclBhZ2UqaXRlbVdpZHRoLGZ1bGxHYWxsZXJ5V2lkdGg9cHBfaW1hZ2VzLmxlbmd0aCppdGVtV2lkdGgsJHBwX2dhbGxlcnkuY3NzKCJtYXJnaW4tbGVmdCIsLShnYWxsZXJ5V2lkdGgvMituYXZXaWR0aC8yKSkuZmluZCgiZGl2OmZpcnN0Iikud2lkdGgoZ2FsbGVyeVdpZHRoKzUpLmZpbmQoInVsIikud2lkdGgoZnVsbEdhbGxlcnlXaWR0aCkuZmluZCgibGkuc2VsZWN0ZWQiKS5yZW1vdmVDbGFzcygic2VsZWN0ZWQiKSxnb1RvUGFnZT1NYXRoLmZsb29yKHNldF9wb3NpdGlvbi9pdGVtc1BlclBhZ2UpPHRvdGFsUGFnZT9NYXRoLmZsb29yKHNldF9wb3NpdGlvbi9pdGVtc1BlclBhZ2UpOnRvdGFsUGFnZSxlLnByZXR0eVBob3RvLmNoYW5nZUdhbGxlcnlQYWdlKGdvVG9QYWdlKSwkcHBfZ2FsbGVyeV9saS5maWx0ZXIoIjplcSgiK3NldF9wb3NpdGlvbisiKSIpLmFkZENsYXNzKCJzZWxlY3RlZCIpKTokcHBfcGljX2hvbGRlci5maW5kKCIucHBfY29udGVudCIpLnVuYmluZCgibW91c2VlbnRlciBtb3VzZWxlYXZlIil9ZnVuY3Rpb24gdSgpe2lmKHNldHRpbmdzLnNvY2lhbF90b29scyYmKGZhY2Vib29rX2xpa2VfbGluaz1zZXR0aW5ncy5zb2NpYWxfdG9vbHMucmVwbGFjZSgie2xvY2F0aW9uX2hyZWZ9IixlbmNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaHJlZikpKSxzZXR0aW5ncy5tYXJrdXA9c2V0dGluZ3MubWFya3VwLnJlcGxhY2UoIntwcF9zb2NpYWx9IiwiIiksZSgiYm9keSIpLmFwcGVuZChzZXR0aW5ncy5tYXJrdXApLCRwcF9waWNfaG9sZGVyPWUoIi5wcF9waWNfaG9sZGVyIiksJHBwdD1lKCIucHB0IiksJHBwX292ZXJsYXk9ZSgiZGl2LnBwX292ZXJsYXkiKSxpc1NldCYmc2V0dGluZ3Mub3ZlcmxheV9nYWxsZXJ5KXtjdXJyZW50R2FsbGVyeVBhZ2U9MCx0b0luamVjdD0iIjtmb3IodmFyIHQ9MDt0PHBwX2ltYWdlcy5sZW5ndGg7dCsrKXBwX2ltYWdlc1t0XS5tYXRjaCgvXGIoanBnfGpwZWd8cG5nfGdpZilcYi9naSk/KGNsYXNzbmFtZT0iIixpbWdfc3JjPXBwX2ltYWdlc1t0XSk6KGNsYXNzbmFtZT0iZGVmYXVsdCIsaW1nX3NyYz0iIiksdG9JbmplY3QrPSI8bGkgY2xhc3M9JyIrY2xhc3NuYW1lKyInPjxhIGhyZWY9JyMnPjxpbWcgc3JjPSciK2ltZ19zcmMrIicgd2lkdGg9JzUwJyBhbHQ9JycgLz48L2E+PC9saT4iO3RvSW5qZWN0PXNldHRpbmdzLmdhbGxlcnlfbWFya3VwLnJlcGxhY2UoL3tnYWxsZXJ5fS9nLHRvSW5qZWN0KSwkcHBfcGljX2hvbGRlci5maW5kKCIjcHBfZnVsbF9yZXMiKS5hZnRlcih0b0luamVjdCksJHBwX2dhbGxlcnk9ZSgiLnBwX3BpY19ob2xkZXIgLnBwX2dhbGxlcnkiKSwkcHBfZ2FsbGVyeV9saT0kcHBfZ2FsbGVyeS5maW5kKCJsaSIpLCRwcF9nYWxsZXJ5LmZpbmQoIi5wcF9hcnJvd19uZXh0IikuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV0dHlQaG90by5jaGFuZ2VHYWxsZXJ5UGFnZSgibmV4dCIpLGUucHJldHR5UGhvdG8uc3RvcFNsaWRlc2hvdygpLCExfSksJHBwX2dhbGxlcnkuZmluZCgiLnBwX2Fycm93X3ByZXZpb3VzIikuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV0dHlQaG90by5jaGFuZ2VHYWxsZXJ5UGFnZSgicHJldmlvdXMiKSxlLnByZXR0eVBob3RvLnN0b3BTbGlkZXNob3coKSwhMX0pLCRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9jb250ZW50IikuaG92ZXIoZnVuY3Rpb24oKXskcHBfcGljX2hvbGRlci5maW5kKCIucHBfZ2FsbGVyeTpub3QoLmRpc2FibGVkKSIpLmZhZGVJbigpfSxmdW5jdGlvbigpeyRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9nYWxsZXJ5Om5vdCguZGlzYWJsZWQpIikuZmFkZU91dCgpfSksaXRlbVdpZHRoPTU3LCRwcF9nYWxsZXJ5X2xpLmVhY2goZnVuY3Rpb24odCl7ZSh0aGlzKS5maW5kKCJhIikuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV0dHlQaG90by5jaGFuZ2VQYWdlKHQpLGUucHJldHR5UGhvdG8uc3RvcFNsaWRlc2hvdygpLCExfSl9KX1zZXR0aW5ncy5zbGlkZXNob3cmJigkcHBfcGljX2hvbGRlci5maW5kKCIucHBfbmF2IikucHJlcGVuZCgnPGEgaHJlZj0iIyIgY2xhc3M9InBwX3BsYXkiPlBsYXk8L2E+JyksJHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX25hdiAucHBfcGxheSIpLmNsaWNrKGZ1bmN0aW9uKCl7cmV0dXJuIGUucHJldHR5UGhvdG8uc3RhcnRTbGlkZXNob3coKSwhMX0pKSwkcHBfcGljX2hvbGRlci5hdHRyKCJjbGFzcyIsInBwX3BpY19ob2xkZXIgIitzZXR0aW5ncy50aGVtZSksJHBwX292ZXJsYXkuY3NzKHtvcGFjaXR5OjAsaGVpZ2h0OmUoZG9jdW1lbnQpLmhlaWdodCgpLHdpZHRoOmUod2luZG93KS53aWR0aCgpfSkuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7c2V0dGluZ3MubW9kYWx8fGUucHJldHR5UGhvdG8uY2xvc2UoKX0pLGUoImEucHBfY2xvc2UiKS5iaW5kKCJjbGljayIsZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV0dHlQaG90by5jbG9zZSgpLCExfSksc2V0dGluZ3MuYWxsb3dfZXhwYW5kJiZlKCJhLnBwX2V4cGFuZCIpLmJpbmQoImNsaWNrIixmdW5jdGlvbigpe3JldHVybiBlKHRoaXMpLmhhc0NsYXNzKCJwcF9leHBhbmQiKT8oZSh0aGlzKS5yZW1vdmVDbGFzcygicHBfZXhwYW5kIikuYWRkQ2xhc3MoInBwX2NvbnRyYWN0IiksZG9yZXNpemU9ITEpOihlKHRoaXMpLnJlbW92ZUNsYXNzKCJwcF9jb250cmFjdCIpLmFkZENsYXNzKCJwcF9leHBhbmQiKSxkb3Jlc2l6ZT0hMCksbihmdW5jdGlvbigpe2UucHJldHR5UGhvdG8ub3BlbigpfSksITF9KSwkcHBfcGljX2hvbGRlci5maW5kKCIucHBfcHJldmlvdXMsIC5wcF9uYXYgLnBwX2Fycm93X3ByZXZpb3VzIikuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGUucHJldHR5UGhvdG8uY2hhbmdlUGFnZSgicHJldmlvdXMiKSxlLnByZXR0eVBob3RvLnN0b3BTbGlkZXNob3coKSwhMX0pLCRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9uZXh0LCAucHBfbmF2IC5wcF9hcnJvd19uZXh0IikuYmluZCgiY2xpY2siLGZ1bmN0aW9uKCl7cmV0dXJuIGUucHJldHR5UGhvdG8uY2hhbmdlUGFnZSgibmV4dCIpLGUucHJldHR5UGhvdG8uc3RvcFNsaWRlc2hvdygpLCExfSksYygpfWE9alF1ZXJ5LmV4dGVuZCh7aG9vazoicmVsIixhbmltYXRpb25fc3BlZWQ6ImZhc3QiLGFqYXhjYWxsYmFjazpmdW5jdGlvbigpe30sc2xpZGVzaG93OjVlMyxhdXRvcGxheV9zbGlkZXNob3c6ITEsb3BhY2l0eTouOCxzaG93X3RpdGxlOiEwLGFsbG93X3Jlc2l6ZTohMCxhbGxvd19leHBhbmQ6ITAsZGVmYXVsdF93aWR0aDo1MDAsZGVmYXVsdF9oZWlnaHQ6MzQ0LGNvdW50ZXJfc2VwYXJhdG9yX2xhYmVsOiIvIix0aGVtZToicHBfZGVmYXVsdCIsaG9yaXpvbnRhbF9wYWRkaW5nOjIwLGhpZGVmbGFzaDohMSx3bW9kZToib3BhcXVlIixhdXRvcGxheTohMCxtb2RhbDohMSxkZWVwbGlua2luZzohMCxvdmVybGF5X2dhbGxlcnk6ITAsb3ZlcmxheV9nYWxsZXJ5X21heDozMCxrZXlib2FyZF9zaG9ydGN1dHM6ITAsY2hhbmdlcGljdHVyZWNhbGxiYWNrOmZ1bmN0aW9uKCl7fSxjYWxsYmFjazpmdW5jdGlvbigpe30saWU2X2ZhbGxiYWNrOiEwLG1hcmt1cDonPGRpdiBjbGFzcz0icHBfcGljX2hvbGRlciI+IAkJCQkJCTxkaXYgY2xhc3M9InBwdCI+Jm5ic3A7PC9kaXY+IAkJCQkJCTxkaXYgY2xhc3M9InBwX3RvcCI+IAkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9sZWZ0Ij48L2Rpdj4gCQkJCQkJCTxkaXYgY2xhc3M9InBwX21pZGRsZSI+PC9kaXY+IAkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9yaWdodCI+PC9kaXY+IAkJCQkJCTwvZGl2PiAJCQkJCQk8ZGl2IGNsYXNzPSJwcF9jb250ZW50X2NvbnRhaW5lciI+IAkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9sZWZ0Ij4gCQkJCQkJCTxkaXYgY2xhc3M9InBwX3JpZ2h0Ij4gCQkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9jb250ZW50Ij4gCQkJCQkJCQkJPGRpdiBjbGFzcz0icHBfbG9hZGVySWNvbiI+PC9kaXY+IAkJCQkJCQkJCTxkaXYgY2xhc3M9InBwX2ZhZGUiPiAJCQkJCQkJCQkJPGEgaHJlZj0iIyIgY2xhc3M9InBwX2V4cGFuZCIgdGl0bGU9IkV4cGFuZCB0aGUgaW1hZ2UiPkV4cGFuZDwvYT4gCQkJCQkJCQkJCTxkaXYgY2xhc3M9InBwX2hvdmVyQ29udGFpbmVyIj4gCQkJCQkJCQkJCQk8YSBjbGFzcz0icHBfbmV4dCIgaHJlZj0iIyI+bmV4dDwvYT4gCQkJCQkJCQkJCQk8YSBjbGFzcz0icHBfcHJldmlvdXMiIGhyZWY9IiMiPnByZXZpb3VzPC9hPiAJCQkJCQkJCQkJPC9kaXY+IAkJCQkJCQkJCQk8ZGl2IGlkPSJwcF9mdWxsX3JlcyI+PC9kaXY+IAkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9kZXRhaWxzIj4gCQkJCQkJCQkJCQk8ZGl2IGNsYXNzPSJwcF9uYXYiPiAJCQkJCQkJCQkJCQk8YSBocmVmPSIjIiBjbGFzcz0icHBfYXJyb3dfcHJldmlvdXMiPlByZXZpb3VzPC9hPiAJCQkJCQkJCQkJCQk8cCBjbGFzcz0iY3VycmVudFRleHRIb2xkZXIiPjAvMDwvcD4gCQkJCQkJCQkJCQkJPGEgaHJlZj0iIyIgY2xhc3M9InBwX2Fycm93X25leHQiPk5leHQ8L2E+IAkJCQkJCQkJCQkJPC9kaXY+IAkJCQkJCQkJCQkJPHAgY2xhc3M9InBwX2Rlc2NyaXB0aW9uIj48L3A+IAkJCQkJCQkJCQkJPGRpdiBjbGFzcz0icHBfc29jaWFsIj57cHBfc29jaWFsfTwvZGl2PiAJCQkJCQkJCQkJCTxhIGNsYXNzPSJwcF9jbG9zZSIgaHJlZj0iIyI+Q2xvc2U8L2E+IAkJCQkJCQkJCQk8L2Rpdj4gCQkJCQkJCQkJPC9kaXY+IAkJCQkJCQkJPC9kaXY+IAkJCQkJCQk8L2Rpdj4gCQkJCQkJCTwvZGl2PiAJCQkJCQk8L2Rpdj4gCQkJCQkJPGRpdiBjbGFzcz0icHBfYm90dG9tIj4gCQkJCQkJCTxkaXYgY2xhc3M9InBwX2xlZnQiPjwvZGl2PiAJCQkJCQkJPGRpdiBjbGFzcz0icHBfbWlkZGxlIj48L2Rpdj4gCQkJCQkJCTxkaXYgY2xhc3M9InBwX3JpZ2h0Ij48L2Rpdj4gCQkJCQkJPC9kaXY+IAkJCQkJPC9kaXY+IAkJCQkJPGRpdiBjbGFzcz0icHBfb3ZlcmxheSI+PC9kaXY+JyxnYWxsZXJ5X21hcmt1cDonPGRpdiBjbGFzcz0icHBfZ2FsbGVyeSI+IAkJCQkJCQkJPGEgaHJlZj0iIyIgY2xhc3M9InBwX2Fycm93X3ByZXZpb3VzIj5QcmV2aW91czwvYT4gCQkJCQkJCQk8ZGl2PiAJCQkJCQkJCQk8dWw+IAkJCQkJCQkJCQl7Z2FsbGVyeX0gCQkJCQkJCQkJPC91bD4gCQkJCQkJCQk8L2Rpdj4gCQkJCQkJCQk8YSBocmVmPSIjIiBjbGFzcz0icHBfYXJyb3dfbmV4dCI+TmV4dDwvYT4gCQkJCQkJCTwvZGl2PicsaW1hZ2VfbWFya3VwOic8aW1nIGlkPSJmdWxsUmVzSW1hZ2UiIHNyYz0ie3BhdGh9IiAvPicsZmxhc2hfbWFya3VwOic8b2JqZWN0IGNsYXNzaWQ9ImNsc2lkOkQyN0NEQjZFLUFFNkQtMTFjZi05NkI4LTQ0NDU1MzU0MDAwMCIgd2lkdGg9Int3aWR0aH0iIGhlaWdodD0ie2hlaWdodH0iPjxwYXJhbSBuYW1lPSJ3bW9kZSIgdmFsdWU9Int3bW9kZX0iIC8+PHBhcmFtIG5hbWU9ImFsbG93ZnVsbHNjcmVlbiIgdmFsdWU9InRydWUiIC8+PHBhcmFtIG5hbWU9ImFsbG93c2NyaXB0YWNjZXNzIiB2YWx1ZT0iYWx3YXlzIiAvPjxwYXJhbSBuYW1lPSJtb3ZpZSIgdmFsdWU9IntwYXRofSIgLz48ZW1iZWQgc3JjPSJ7cGF0aH0iIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiBhbGxvd2Z1bGxzY3JlZW49InRydWUiIGFsbG93c2NyaXB0YWNjZXNzPSJhbHdheXMiIHdpZHRoPSJ7d2lkdGh9IiBoZWlnaHQ9IntoZWlnaHR9IiB3bW9kZT0ie3dtb2RlfSI+PC9lbWJlZD48L29iamVjdD4nLHF1aWNrdGltZV9tYXJrdXA6JzxvYmplY3QgY2xhc3NpZD0iY2xzaWQ6MDJCRjI1RDUtOEMxNy00QjIzLUJDODAtRDM0ODhBQkREQzZCIiBjb2RlYmFzZT0iaHR0cDovL3d3dy5hcHBsZS5jb20vcXRhY3RpdmV4L3F0cGx1Z2luLmNhYiIgaGVpZ2h0PSJ7aGVpZ2h0fSIgd2lkdGg9Int3aWR0aH0iPjxwYXJhbSBuYW1lPSJzcmMiIHZhbHVlPSJ7cGF0aH0iPjxwYXJhbSBuYW1lPSJhdXRvcGxheSIgdmFsdWU9InthdXRvcGxheX0iPjxwYXJhbSBuYW1lPSJ0eXBlIiB2YWx1ZT0idmlkZW8vcXVpY2t0aW1lIj48ZW1iZWQgc3JjPSJ7cGF0aH0iIGhlaWdodD0ie2hlaWdodH0iIHdpZHRoPSJ7d2lkdGh9IiBhdXRvcGxheT0ie2F1dG9wbGF5fSIgdHlwZT0idmlkZW8vcXVpY2t0aW1lIiBwbHVnaW5zcGFnZT0iaHR0cDovL3d3dy5hcHBsZS5jb20vcXVpY2t0aW1lL2Rvd25sb2FkLyI+PC9lbWJlZD48L29iamVjdD4nLGlmcmFtZV9tYXJrdXA6JzxpZnJhbWUgc3JjID0ie3BhdGh9IiB3aWR0aD0ie3dpZHRofSIgaGVpZ2h0PSJ7aGVpZ2h0fSIgZnJhbWVib3JkZXI9Im5vIj48L2lmcmFtZT4nLGlubGluZV9tYXJrdXA6JzxkaXYgY2xhc3M9InBwX2lubGluZSI+e2NvbnRlbnR9PC9kaXY+JyxjdXN0b21fbWFya3VwOiIiLHNvY2lhbF90b29sczonPGRpdiBjbGFzcz0idHdpdHRlciI+PGEgaHJlZj0iaHR0cDovL3R3aXR0ZXIuY29tL3NoYXJlIiBjbGFzcz0idHdpdHRlci1zaGFyZS1idXR0b24iIGRhdGEtY291bnQ9Im5vbmUiPlR3ZWV0PC9hPjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9Imh0dHA6Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzLmpzIj48L3NjcmlwdD48L2Rpdj48ZGl2IGNsYXNzPSJmYWNlYm9vayI+PGlmcmFtZSBzcmM9Ii8vd3d3LmZhY2Vib29rLmNvbS9wbHVnaW5zL2xpa2UucGhwP2xvY2FsZT1lbl9VUyZocmVmPXtsb2NhdGlvbl9ocmVmfSZsYXlvdXQ9YnV0dG9uX2NvdW50JnNob3dfZmFjZXM9dHJ1ZSZ3aWR0aD01MDAmYWN0aW9uPWxpa2UmZm9udCZjb2xvcnNjaGVtZT1saWdodCZoZWlnaHQ9MjMiIHNjcm9sbGluZz0ibm8iIHN0eWxlPSJib3JkZXI6bm9uZTsgb3ZlcmZsb3c6aGlkZGVuOyB3aWR0aDo1MDBweDsgaGVpZ2h0OjIzcHg7IiBhbGxvd1RyYW5zcGFyZW5jeT0idHJ1ZSI+PC9pZnJhbWU+PC9kaXY+J30sYSk7dmFyIGYsdix5LHcsYixrLFAseD10aGlzLCQ9ITEsST1lKHdpbmRvdykuaGVpZ2h0KCksaj1lKHdpbmRvdykud2lkdGgoKTtyZXR1cm4gZG9yZXNpemU9ITAsc2Nyb2xsX3Bvcz1fKCksZSh3aW5kb3cpLnVuYmluZCgicmVzaXplLnByZXR0eXBob3RvIikuYmluZCgicmVzaXplLnByZXR0eXBob3RvIixmdW5jdGlvbigpe2MoKSxnKCl9KSxhLmtleWJvYXJkX3Nob3J0Y3V0cyYmZShkb2N1bWVudCkudW5iaW5kKCJrZXlkb3duLnByZXR0eXBob3RvIikuYmluZCgia2V5ZG93bi5wcmV0dHlwaG90byIsZnVuY3Rpb24odCl7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiAkcHBfcGljX2hvbGRlciYmJHBwX3BpY19ob2xkZXIuaXMoIjp2aXNpYmxlIikpc3dpdGNoKHQua2V5Q29kZSl7Y2FzZSAzNzplLnByZXR0eVBob3RvLmNoYW5nZVBhZ2UoInByZXZpb3VzIiksdC5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrO2Nhc2UgMzk6ZS5wcmV0dHlQaG90by5jaGFuZ2VQYWdlKCJuZXh0IiksdC5wcmV2ZW50RGVmYXVsdCgpO2JyZWFrO2Nhc2UgMjc6c2V0dGluZ3MubW9kYWx8fGUucHJldHR5UGhvdG8uY2xvc2UoKSx0LnByZXZlbnREZWZhdWx0KCl9fSksZS5wcmV0dHlQaG90by5pbml0aWFsaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHNldHRpbmdzPWEsInBwX2RlZmF1bHQiPT1zZXR0aW5ncy50aGVtZSYmKHNldHRpbmdzLmhvcml6b250YWxfcGFkZGluZz0xNiksdGhlUmVsPWUodGhpcykuYXR0cihzZXR0aW5ncy5ob29rKSxnYWxsZXJ5UmVnRXhwPS9cWyg/Oi4qKVxdLyxpc1NldD1nYWxsZXJ5UmVnRXhwLmV4ZWModGhlUmVsKT8hMDohMSxwcF9pbWFnZXM9aXNTZXQ/alF1ZXJ5Lm1hcCh4LGZ1bmN0aW9uKHQpe3JldHVybi0xIT1lKHQpLmF0dHIoc2V0dGluZ3MuaG9vaykuaW5kZXhPZih0aGVSZWwpP2UodCkuYXR0cigiaHJlZiIpOnZvaWQgMH0pOmUubWFrZUFycmF5KGUodGhpcykuYXR0cigiaHJlZiIpKSxwcF90aXRsZXM9aXNTZXQ/alF1ZXJ5Lm1hcCh4LGZ1bmN0aW9uKHQpe3JldHVybi0xIT1lKHQpLmF0dHIoc2V0dGluZ3MuaG9vaykuaW5kZXhPZih0aGVSZWwpP2UodCkuZmluZCgiaW1nIikuYXR0cigiYWx0Iik/ZSh0KS5maW5kKCJpbWciKS5hdHRyKCJhbHQiKToiIjp2b2lkIDB9KTplLm1ha2VBcnJheShlKHRoaXMpLmZpbmQoImltZyIpLmF0dHIoImFsdCIpKSxwcF9kZXNjcmlwdGlvbnM9aXNTZXQ/alF1ZXJ5Lm1hcCh4LGZ1bmN0aW9uKHQpe3JldHVybi0xIT1lKHQpLmF0dHIoc2V0dGluZ3MuaG9vaykuaW5kZXhPZih0aGVSZWwpP2UodCkuYXR0cigidGl0bGUiKT9lKHQpLmF0dHIoInRpdGxlIik6IiI6dm9pZCAwfSk6ZS5tYWtlQXJyYXkoZSh0aGlzKS5hdHRyKCJ0aXRsZSIpKSxwcF9pbWFnZXMubGVuZ3RoPnNldHRpbmdzLm92ZXJsYXlfZ2FsbGVyeV9tYXgmJihzZXR0aW5ncy5vdmVybGF5X2dhbGxlcnk9ITEpLHNldF9wb3NpdGlvbj1qUXVlcnkuaW5BcnJheShlKHRoaXMpLmF0dHIoImhyZWYiKSxwcF9pbWFnZXMpLHJlbF9pbmRleD1pc1NldD9zZXRfcG9zaXRpb246ZSgiYVsiK3NldHRpbmdzLmhvb2srIl49JyIrdGhlUmVsKyInXSIpLmluZGV4KGUodGhpcykpLHUodGhpcyksc2V0dGluZ3MuYWxsb3dfcmVzaXplJiZlKHdpbmRvdykuYmluZCgic2Nyb2xsLnByZXR0eXBob3RvIixmdW5jdGlvbigpe2MoKX0pLGUucHJldHR5UGhvdG8ub3BlbigpLCExfSxlLnByZXR0eVBob3RvLm9wZW49ZnVuY3Rpb24odCl7cmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBzZXR0aW5ncyYmKHNldHRpbmdzPWEscHBfaW1hZ2VzPWUubWFrZUFycmF5KGFyZ3VtZW50c1swXSkscHBfdGl0bGVzPWUubWFrZUFycmF5KGFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06IiIpLHBwX2Rlc2NyaXB0aW9ucz1lLm1ha2VBcnJheShhcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOiIiKSxpc1NldD1wcF9pbWFnZXMubGVuZ3RoPjE/ITA6ITEsc2V0X3Bvc2l0aW9uPWFyZ3VtZW50c1szXT9hcmd1bWVudHNbM106MCx1KHQudGFyZ2V0KSksc2V0dGluZ3MuaGlkZWZsYXNoJiZlKCJvYmplY3QsZW1iZWQsaWZyYW1lW3NyYyo9eW91dHViZV0saWZyYW1lW3NyYyo9dmltZW9dIikuY3NzKCJ2aXNpYmlsaXR5IiwiaGlkZGVuIikscihlKHBwX2ltYWdlcykuc2l6ZSgpKSxlKCIucHBfbG9hZGVySWNvbiIpLnNob3coKSxzZXR0aW5ncy5kZWVwbGlua2luZyYmaSgpLHNldHRpbmdzLnNvY2lhbF90b29scyYmKGZhY2Vib29rX2xpa2VfbGluaz1zZXR0aW5ncy5zb2NpYWxfdG9vbHMucmVwbGFjZSgie2xvY2F0aW9uX2hyZWZ9IixlbmNvZGVVUklDb21wb25lbnQobG9jYXRpb24uaHJlZikpLCRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9zb2NpYWwiKS5odG1sKGZhY2Vib29rX2xpa2VfbGluaykpLCRwcHQuaXMoIjpoaWRkZW4iKSYmJHBwdC5jc3MoIm9wYWNpdHkiLDApLnNob3coKSwkcHBfb3ZlcmxheS5zaG93KCkuZmFkZVRvKHNldHRpbmdzLmFuaW1hdGlvbl9zcGVlZCxzZXR0aW5ncy5vcGFjaXR5KSwkcHBfcGljX2hvbGRlci5maW5kKCIuY3VycmVudFRleHRIb2xkZXIiKS50ZXh0KHNldF9wb3NpdGlvbisxK3NldHRpbmdzLmNvdW50ZXJfc2VwYXJhdG9yX2xhYmVsK2UocHBfaW1hZ2VzKS5zaXplKCkpLCJ1bmRlZmluZWQiIT10eXBlb2YgcHBfZGVzY3JpcHRpb25zW3NldF9wb3NpdGlvbl0mJiIiIT1wcF9kZXNjcmlwdGlvbnNbc2V0X3Bvc2l0aW9uXT8kcHBfcGljX2hvbGRlci5maW5kKCIucHBfZGVzY3JpcHRpb24iKS5zaG93KCkuaHRtbCh1bmVzY2FwZShwcF9kZXNjcmlwdGlvbnNbc2V0X3Bvc2l0aW9uXSkpOiRwcF9waWNfaG9sZGVyLmZpbmQoIi5wcF9kZXNjcmlwdGlvbiIpLmhpZGUoKSxtb3ZpZV93aWR0aD1wYXJzZUZsb2F0KG8oIndpZHRoIixwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSkpP28oIndpZHRoIixwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSk6c2V0dGluZ3MuZGVmYXVsdF93aWR0aC50b1N0cmluZygpLG1vdmllX2hlaWdodD1wYXJzZUZsb2F0KG8oImhlaWdodCIscHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0pKT9vKCJoZWlnaHQiLHBwX2ltYWdlc1tzZXRfcG9zaXRpb25dKTpzZXR0aW5ncy5kZWZhdWx0X2hlaWdodC50b1N0cmluZygpLCQ9ITEsLTEhPW1vdmllX2hlaWdodC5pbmRleE9mKCIlIikmJihtb3ZpZV9oZWlnaHQ9cGFyc2VGbG9hdChlKHdpbmRvdykuaGVpZ2h0KCkqcGFyc2VGbG9hdChtb3ZpZV9oZWlnaHQpLzEwMC0xNTApLCQ9ITApLC0xIT1tb3ZpZV93aWR0aC5pbmRleE9mKCIlIikmJihtb3ZpZV93aWR0aD1wYXJzZUZsb2F0KGUod2luZG93KS53aWR0aCgpKnBhcnNlRmxvYXQobW92aWVfd2lkdGgpLzEwMC0xNTApLCQ9ITApLCRwcF9waWNfaG9sZGVyLmZhZGVJbihmdW5jdGlvbigpe3N3aXRjaCgkcHB0Lmh0bWwoc2V0dGluZ3Muc2hvd190aXRsZSYmIiIhPXBwX3RpdGxlc1tzZXRfcG9zaXRpb25dJiYidW5kZWZpbmVkIiE9dHlwZW9mIHBwX3RpdGxlc1tzZXRfcG9zaXRpb25dP3VuZXNjYXBlKHBwX3RpdGxlc1tzZXRfcG9zaXRpb25dKToiJm5ic3A7IiksaW1nUHJlbG9hZGVyPSIiLHNraXBJbmplY3Rpb249ITEsaChwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSkpe2Nhc2UiaW1hZ2UiOmltZ1ByZWxvYWRlcj1uZXcgSW1hZ2UsbmV4dEltYWdlPW5ldyBJbWFnZSxpc1NldCYmc2V0X3Bvc2l0aW9uPGUocHBfaW1hZ2VzKS5zaXplKCktMSYmKG5leHRJbWFnZS5zcmM9cHBfaW1hZ2VzW3NldF9wb3NpdGlvbisxXSkscHJldkltYWdlPW5ldyBJbWFnZSxpc1NldCYmcHBfaW1hZ2VzW3NldF9wb3NpdGlvbi0xXSYmKHByZXZJbWFnZS5zcmM9cHBfaW1hZ2VzW3NldF9wb3NpdGlvbi0xXSksJHBwX3BpY19ob2xkZXIuZmluZCgiI3BwX2Z1bGxfcmVzIilbMF0uaW5uZXJIVE1MPXNldHRpbmdzLmltYWdlX21hcmt1cC5yZXBsYWNlKC97cGF0aH0vZyxwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSksaW1nUHJlbG9hZGVyLm9ubG9hZD1mdW5jdGlvbigpe2Y9bChpbWdQcmVsb2FkZXIud2lkdGgsaW1nUHJlbG9hZGVyLmhlaWdodCkscygpfSxpbWdQcmVsb2FkZXIub25lcnJvcj1mdW5jdGlvbigpe2FsZXJ0KCJJbWFnZSBjYW5ub3QgYmUgbG9hZGVkLiBNYWtlIHN1cmUgdGhlIHBhdGggaXMgY29ycmVjdCBhbmQgaW1hZ2UgZXhpc3QuIiksZS5wcmV0dHlQaG90by5jbG9zZSgpfSxpbWdQcmVsb2FkZXIuc3JjPXBwX2ltYWdlc1tzZXRfcG9zaXRpb25dO2JyZWFrO2Nhc2UieW91dHViZSI6Zj1sKG1vdmllX3dpZHRoLG1vdmllX2hlaWdodCksbW92aWVfaWQ9bygidiIscHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0pLCIiPT1tb3ZpZV9pZCYmKG1vdmllX2lkPXBwX2ltYWdlc1tzZXRfcG9zaXRpb25dLnNwbGl0KCJ5b3V0dS5iZS8iKSxtb3ZpZV9pZD1tb3ZpZV9pZFsxXSxtb3ZpZV9pZC5pbmRleE9mKCI/Iik+MCYmKG1vdmllX2lkPW1vdmllX2lkLnN1YnN0cigwLG1vdmllX2lkLmluZGV4T2YoIj8iKSkpLG1vdmllX2lkLmluZGV4T2YoIiYiKT4wJiYobW92aWVfaWQ9bW92aWVfaWQuc3Vic3RyKDAsbW92aWVfaWQuaW5kZXhPZigiJiIpKSkpLG1vdmllPSJodHRwOi8vd3d3LnlvdXR1YmUuY29tL2VtYmVkLyIrbW92aWVfaWQsbW92aWUrPW8oInJlbCIscHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0pPyI/cmVsPSIrbygicmVsIixwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSk6Ij9yZWw9MSIsc2V0dGluZ3MuYXV0b3BsYXkmJihtb3ZpZSs9IiZhdXRvcGxheT0xIiksdG9JbmplY3Q9c2V0dGluZ3MuaWZyYW1lX21hcmt1cC5yZXBsYWNlKC97d2lkdGh9L2csZi53aWR0aCkucmVwbGFjZSgve2hlaWdodH0vZyxmLmhlaWdodCkucmVwbGFjZSgve3dtb2RlfS9nLHNldHRpbmdzLndtb2RlKS5yZXBsYWNlKC97cGF0aH0vZyxtb3ZpZSk7YnJlYWs7Y2FzZSJ2aW1lbyI6Zj1sKG1vdmllX3dpZHRoLG1vdmllX2hlaWdodCksbW92aWVfaWQ9cHBfaW1hZ2VzW3NldF9wb3NpdGlvbl07dmFyIHQ9L2h0dHAocz8pOlwvXC8od3d3XC4pP3ZpbWVvLmNvbVwvKFxkKykvLGk9bW92aWVfaWQubWF0Y2godCk7bW92aWU9Imh0dHA6Ly9wbGF5ZXIudmltZW8uY29tL3ZpZGVvLyIraVszXSsiP3RpdGxlPTAmYnlsaW5lPTAmcG9ydHJhaXQ9MCIsc2V0dGluZ3MuYXV0b3BsYXkmJihtb3ZpZSs9IiZhdXRvcGxheT0xOyIpLHZpbWVvX3dpZHRoPWYud2lkdGgrIi9lbWJlZC8/bW9vZ193aWR0aD0iK2Yud2lkdGgsdG9JbmplY3Q9c2V0dGluZ3MuaWZyYW1lX21hcmt1cC5yZXBsYWNlKC97d2lkdGh9L2csdmltZW9fd2lkdGgpLnJlcGxhY2UoL3toZWlnaHR9L2csZi5oZWlnaHQpLnJlcGxhY2UoL3twYXRofS9nLG1vdmllKTticmVhaztjYXNlInF1aWNrdGltZSI6Zj1sKG1vdmllX3dpZHRoLG1vdmllX2hlaWdodCksZi5oZWlnaHQrPTE1LGYuY29udGVudEhlaWdodCs9MTUsZi5jb250YWluZXJIZWlnaHQrPTE1LHRvSW5qZWN0PXNldHRpbmdzLnF1aWNrdGltZV9tYXJrdXAucmVwbGFjZSgve3dpZHRofS9nLGYud2lkdGgpLnJlcGxhY2UoL3toZWlnaHR9L2csZi5oZWlnaHQpLnJlcGxhY2UoL3t3bW9kZX0vZyxzZXR0aW5ncy53bW9kZSkucmVwbGFjZSgve3BhdGh9L2cscHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0pLnJlcGxhY2UoL3thdXRvcGxheX0vZyxzZXR0aW5ncy5hdXRvcGxheSk7YnJlYWs7Y2FzZSJmbGFzaCI6Zj1sKG1vdmllX3dpZHRoLG1vdmllX2hlaWdodCksZmxhc2hfdmFycz1wcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSxmbGFzaF92YXJzPWZsYXNoX3ZhcnMuc3Vic3RyaW5nKHBwX2ltYWdlc1tzZXRfcG9zaXRpb25dLmluZGV4T2YoImZsYXNodmFycyIpKzEwLHBwX2ltYWdlc1tzZXRfcG9zaXRpb25dLmxlbmd0aCksZmlsZW5hbWU9cHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0sZmlsZW5hbWU9ZmlsZW5hbWUuc3Vic3RyaW5nKDAsZmlsZW5hbWUuaW5kZXhPZigiPyIpKSx0b0luamVjdD1zZXR0aW5ncy5mbGFzaF9tYXJrdXAucmVwbGFjZSgve3dpZHRofS9nLGYud2lkdGgpLnJlcGxhY2UoL3toZWlnaHR9L2csZi5oZWlnaHQpLnJlcGxhY2UoL3t3bW9kZX0vZyxzZXR0aW5ncy53bW9kZSkucmVwbGFjZSgve3BhdGh9L2csZmlsZW5hbWUrIj8iK2ZsYXNoX3ZhcnMpO2JyZWFrO2Nhc2UiaWZyYW1lIjpmPWwobW92aWVfd2lkdGgsbW92aWVfaGVpZ2h0KSxmcmFtZV91cmw9cHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0sZnJhbWVfdXJsPWZyYW1lX3VybC5zdWJzdHIoMCxmcmFtZV91cmwuaW5kZXhPZigiaWZyYW1lIiktMSksdG9JbmplY3Q9c2V0dGluZ3MuaWZyYW1lX21hcmt1cC5yZXBsYWNlKC97d2lkdGh9L2csZi53aWR0aCkucmVwbGFjZSgve2hlaWdodH0vZyxmLmhlaWdodCkucmVwbGFjZSgve3BhdGh9L2csZnJhbWVfdXJsKTticmVhaztjYXNlImFqYXgiOmRvcmVzaXplPSExLGY9bChtb3ZpZV93aWR0aCxtb3ZpZV9oZWlnaHQpLGRvcmVzaXplPSEwLHNraXBJbmplY3Rpb249ITAsZS5nZXQocHBfaW1hZ2VzW3NldF9wb3NpdGlvbl0sZnVuY3Rpb24oZSl7dG9JbmplY3Q9c2V0dGluZ3MuaW5saW5lX21hcmt1cC5yZXBsYWNlKC97Y29udGVudH0vZyxlKSwkcHBfcGljX2hvbGRlci5maW5kKCIjcHBfZnVsbF9yZXMiKVswXS5pbm5lckhUTUw9dG9JbmplY3QscygpfSk7YnJlYWs7Y2FzZSJjdXN0b20iOmY9bChtb3ZpZV93aWR0aCxtb3ZpZV9oZWlnaHQpLHRvSW5qZWN0PXNldHRpbmdzLmN1c3RvbV9tYXJrdXA7YnJlYWs7Y2FzZSJpbmxpbmUiOm15Q2xvbmU9ZShwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSkuY2xvbmUoKS5hcHBlbmQoJzxiciBjbGVhcj0iYWxsIiAvPicpLmNzcyh7d2lkdGg6c2V0dGluZ3MuZGVmYXVsdF93aWR0aH0pLndyYXBJbm5lcignPGRpdiBpZD0icHBfZnVsbF9yZXMiPjxkaXYgY2xhc3M9InBwX2lubGluZSI+PC9kaXY+PC9kaXY+JykuYXBwZW5kVG8oZSgiYm9keSIpKS5zaG93KCksZG9yZXNpemU9ITEsZj1sKGUobXlDbG9uZSkud2lkdGgoKSxlKG15Q2xvbmUpLmhlaWdodCgpKSxkb3Jlc2l6ZT0hMCxlKG15Q2xvbmUpLnJlbW92ZSgpLHRvSW5qZWN0PXNldHRpbmdzLmlubGluZV9tYXJrdXAucmVwbGFjZSgve2NvbnRlbnR9L2csZShwcF9pbWFnZXNbc2V0X3Bvc2l0aW9uXSkuaHRtbCgpKX1pbWdQcmVsb2FkZXJ8fHNraXBJbmplY3Rpb258fCgkcHBfcGljX2hvbGRlci5maW5kKCIjcHBfZnVsbF9yZXMiKVswXS5pbm5lckhUTUw9dG9JbmplY3QscygpKX0pLCExfSxlLnByZXR0eVBob3RvLmNoYW5nZVBhZ2U9ZnVuY3Rpb24odCl7Y3VycmVudEdhbGxlcnlQYWdlPTAsInByZXZpb3VzIj09dD8oc2V0X3Bvc2l0aW9uLS0sc2V0X3Bvc2l0aW9uPDAmJihzZXRfcG9zaXRpb249ZShwcF9pbWFnZXMpLnNpemUoKS0xKSk6Im5leHQiPT10PyhzZXRfcG9zaXRpb24rKyxzZXRfcG9zaXRpb24+ZShwcF9pbWFnZXMpLnNpemUoKS0xJiYoc2V0X3Bvc2l0aW9uPTApKTpzZXRfcG9zaXRpb249dCxyZWxfaW5kZXg9c2V0X3Bvc2l0aW9uLGRvcmVzaXplfHwoZG9yZXNpemU9ITApLHNldHRpbmdzLmFsbG93X2V4cGFuZCYmZSgiLnBwX2NvbnRyYWN0IikucmVtb3ZlQ2xhc3MoInBwX2NvbnRyYWN0IikuYWRkQ2xhc3MoInBwX2V4cGFuZCIpLG4oZnVuY3Rpb24oKXtlLnByZXR0eVBob3RvLm9wZW4oKX0pfSxlLnByZXR0eVBob3RvLmNoYW5nZUdhbGxlcnlQYWdlPWZ1bmN0aW9uKGUpeyJuZXh0Ij09ZT8oY3VycmVudEdhbGxlcnlQYWdlKyssY3VycmVudEdhbGxlcnlQYWdlPnRvdGFsUGFnZSYmKGN1cnJlbnRHYWxsZXJ5UGFnZT0wKSk6InByZXZpb3VzIj09ZT8oY3VycmVudEdhbGxlcnlQYWdlLS0sY3VycmVudEdhbGxlcnlQYWdlPDAmJihjdXJyZW50R2FsbGVyeVBhZ2U9dG90YWxQYWdlKSk6Y3VycmVudEdhbGxlcnlQYWdlPWUsc2xpZGVfc3BlZWQ9Im5leHQiPT1lfHwicHJldmlvdXMiPT1lP3NldHRpbmdzLmFuaW1hdGlvbl9zcGVlZDowLHNsaWRlX3RvPWN1cnJlbnRHYWxsZXJ5UGFnZSppdGVtc1BlclBhZ2UqaXRlbVdpZHRoLCRwcF9nYWxsZXJ5LmZpbmQoInVsIikuYW5pbWF0ZSh7bGVmdDotc2xpZGVfdG99LHNsaWRlX3NwZWVkKX0sZS5wcmV0dHlQaG90by5zdGFydFNsaWRlc2hvdz1mdW5jdGlvbigpeyJ1bmRlZmluZWQiPT10eXBlb2YgUD8oJHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX3BsYXkiKS51bmJpbmQoImNsaWNrIikucmVtb3ZlQ2xhc3MoInBwX3BsYXkiKS5hZGRDbGFzcygicHBfcGF1c2UiKS5jbGljayhmdW5jdGlvbigpe3JldHVybiBlLnByZXR0eVBob3RvLnN0b3BTbGlkZXNob3coKSwhMX0pLFA9c2V0SW50ZXJ2YWwoZS5wcmV0dHlQaG90by5zdGFydFNsaWRlc2hvdyxzZXR0aW5ncy5zbGlkZXNob3cpKTplLnByZXR0eVBob3RvLmNoYW5nZVBhZ2UoIm5leHQiKX0sZS5wcmV0dHlQaG90by5zdG9wU2xpZGVzaG93PWZ1bmN0aW9uKCl7JHBwX3BpY19ob2xkZXIuZmluZCgiLnBwX3BhdXNlIikudW5iaW5kKCJjbGljayIpLnJlbW92ZUNsYXNzKCJwcF9wYXVzZSIpLmFkZENsYXNzKCJwcF9wbGF5IikuY2xpY2soZnVuY3Rpb24oKXtyZXR1cm4gZS5wcmV0dHlQaG90by5zdGFydFNsaWRlc2hvdygpLCExfSksY2xlYXJJbnRlcnZhbChQKSxQPXZvaWQgMH0sZS5wcmV0dHlQaG90by5jbG9zZT1mdW5jdGlvbigpeyRwcF9vdmVybGF5LmlzKCI6YW5pbWF0ZWQiKXx8KGUucHJldHR5UGhvdG8uc3RvcFNsaWRlc2hvdygpLCRwcF9waWNfaG9sZGVyLnN0b3AoKS5maW5kKCJvYmplY3QsZW1iZWQiKS5jc3MoInZpc2liaWxpdHkiLCJoaWRkZW4iKSxlKCJkaXYucHBfcGljX2hvbGRlcixkaXYucHB0LC5wcF9mYWRlIikuZmFkZU91dChzZXR0aW5ncy5hbmltYXRpb25fc3BlZWQsZnVuY3Rpb24oKXtlKHRoaXMpLnJlbW92ZSgpfSksJHBwX292ZXJsYXkuZmFkZU91dChzZXR0aW5ncy5hbmltYXRpb25fc3BlZWQsZnVuY3Rpb24oKXtzZXR0aW5ncy5oaWRlZmxhc2gmJmUoIm9iamVjdCxlbWJlZCxpZnJhbWVbc3JjKj15b3V0dWJlXSxpZnJhbWVbc3JjKj12aW1lb10iKS5jc3MoInZpc2liaWxpdHkiLCJ2aXNpYmxlIiksZSh0aGlzKS5yZW1vdmUoKSxlKHdpbmRvdykudW5iaW5kKCJzY3JvbGwucHJldHR5cGhvdG8iKSxwKCksc2V0dGluZ3MuY2FsbGJhY2soKSxkb3Jlc2l6ZT0hMCx2PSExLGRlbGV0ZSBzZXR0aW5nc30pKX0sIXBwX2FscmVhZHlJbml0aWFsaXplZCYmdCgpJiYocHBfYWxyZWFkeUluaXRpYWxpemVkPSEwLGhhc2hJbmRleD10KCksaGFzaFJlbD1oYXNoSW5kZXgsaGFzaEluZGV4PWhhc2hJbmRleC5zdWJzdHJpbmcoaGFzaEluZGV4LmluZGV4T2YoIi8iKSsxLGhhc2hJbmRleC5sZW5ndGgtMSksaGFzaFJlbD1oYXNoUmVsLnN1YnN0cmluZygwLGhhc2hSZWwuaW5kZXhPZigiLyIpKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZSgiYVsiK2EuaG9vaysiXj0nIitoYXNoUmVsKyInXTplcSgiK2hhc2hJbmRleCsiKSIpLnRyaWdnZXIoImNsaWNrIil9LDUwKSksdGhpcy51bmJpbmQoImNsaWNrLnByZXR0eXBob3RvIikuYmluZCgiY2xpY2sucHJldHR5cGhvdG8iLGUucHJldHR5UGhvdG8uaW5pdGlhbGl6ZSl9fShqUXVlcnkpO3ZhciBwcF9hbHJlYWR5SW5pdGlhbGl6ZWQ9ITE7DQoNCi8qDQogKiAgZXF1YWxIZWlnaHRzDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCiQuZm4uZXF1YWxIZWlnaHRzPWZ1bmN0aW9uKGUpe3JldHVybiAkKHRoaXMpLmVhY2goZnVuY3Rpb24oKXt2YXIgdD0wOyQodGhpcykuY2hpbGRyZW4oKS5lYWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS5oZWlnaHQoKT50JiYodD0kKHRoaXMpLmhlaWdodCgpKX0pLGUmJk51bWJlci5wcm90b3R5cGUucHhUb0VtfHwodD10LnB4VG9FbSgpKSwkLmJyb3dzZXIubXNpZSYmNj09JC5icm93c2VyLnZlcnNpb24mJiQodGhpcykuY2hpbGRyZW4oKS5jc3Moe2hlaWdodDp0fSksJCh0aGlzKS5jaGlsZHJlbigpLmNzcyh7Im1pbi1oZWlnaHQiOnR9KX0pLHRoaXN9LCQuZm4uZXF1YWxXaWR0aHM9ZnVuY3Rpb24oZSl7cmV0dXJuICQodGhpcykuZWFjaChmdW5jdGlvbigpe3ZhciB0PTA7JCh0aGlzKS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLndpZHRoKCk+dCYmKHQ9JCh0aGlzKS53aWR0aCgpKX0pLGUmJk51bWJlci5wcm90b3R5cGUucHhUb0VtfHwodD10LnB4VG9FbSgpKSwkLmJyb3dzZXIubXNpZSYmNj09JC5icm93c2VyLnZlcnNpb24mJiQodGhpcykuY2hpbGRyZW4oKS5jc3Moe3dpZHRoOnR9KSwkKHRoaXMpLmNoaWxkcmVuKCkuY3NzKHsibWluLXdpZHRoIjp0fSl9KSx0aGlzfSxOdW1iZXIucHJvdG90eXBlLnB4VG9FbT1TdHJpbmcucHJvdG90eXBlLnB4VG9FbT1mdW5jdGlvbihlKXtlPWpRdWVyeS5leHRlbmQoe3Njb3BlOiJib2R5IixyZXZlcnNlOiExfSxlKTt2YXIgdCxpPSIiPT10aGlzPzA6cGFyc2VGbG9hdCh0aGlzKSxzPWZ1bmN0aW9uKCl7dmFyIGU9ZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50O3JldHVybiBzZWxmLmlubmVyV2lkdGh8fGUmJmUuY2xpZW50V2lkdGh8fGRvY3VtZW50LmJvZHkuY2xpZW50V2lkdGh9O2lmKCJib2R5Ij09ZS5zY29wZSYmJC5icm93c2VyLm1zaWUmJihwYXJzZUZsb2F0KCQoImJvZHkiKS5jc3MoImZvbnQtc2l6ZSIpKS9zKCkpLnRvRml4ZWQoMSk+MCl7dmFyIHI9ZnVuY3Rpb24oKXtyZXR1cm4gMTYqKHBhcnNlRmxvYXQoJCgiYm9keSIpLmNzcygiZm9udC1zaXplIikpL3MoKSkudG9GaXhlZCgzKX07dD1yKCl9ZWxzZSB0PXBhcnNlRmxvYXQoalF1ZXJ5KGUuc2NvcGUpLmNzcygiZm9udC1zaXplIikpO3ZhciBvPTE9PWUucmV2ZXJzZT8oaSp0KS50b0ZpeGVkKDIpKyJweCI6KGkvdCkudG9GaXhlZCgyKSsiZW0iO3JldHVybiBvfTsNCg0KDQovKg0KICogIE1heGltYWdlIFNsaWRlcg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKg0KICogalF1ZXJ5IEN5Y2xlIFBsdWdpbiAod2l0aCBUcmFuc2l0aW9uIERlZmluaXRpb25zKQ0KICovCQkNCihmdW5jdGlvbigkKXt2YXIgdmVyPSIyLjk5IjtpZigkLnN1cHBvcnQ9PXVuZGVmaW5lZCl7JC5zdXBwb3J0PXtvcGFjaXR5OiEoJC5icm93c2VyLm1zaWUpfTt9ZnVuY3Rpb24gZGVidWcocyl7JC5mbi5jeWNsZS5kZWJ1ZyYmbG9nKHMpO31mdW5jdGlvbiBsb2coKXt3aW5kb3cuY29uc29sZSYmY29uc29sZS5sb2cmJmNvbnNvbGUubG9nKCJbY3ljbGVdICIrQXJyYXkucHJvdG90eXBlLmpvaW4uY2FsbChhcmd1bWVudHMsIiAiKSk7fSQuZXhwclsiOiJdLnBhdXNlZD1mdW5jdGlvbihlbCl7cmV0dXJuIGVsLmN5Y2xlUGF1c2U7fTskLmZuLmN5Y2xlPWZ1bmN0aW9uKG9wdGlvbnMsYXJnMil7dmFyIG89e3M6dGhpcy5zZWxlY3RvcixjOnRoaXMuY29udGV4dH07aWYodGhpcy5sZW5ndGg9PT0wJiZvcHRpb25zIT0ic3RvcCIpe2lmKCEkLmlzUmVhZHkmJm8ucyl7bG9nKCJET00gbm90IHJlYWR5LCBxdWV1aW5nIHNsaWRlc2hvdyIpOyQoZnVuY3Rpb24oKXskKG8ucyxvLmMpLmN5Y2xlKG9wdGlvbnMsYXJnMik7fSk7cmV0dXJuIHRoaXM7fWxvZygidGVybWluYXRpbmc7IHplcm8gZWxlbWVudHMgZm91bmQgYnkgc2VsZWN0b3IiKygkLmlzUmVhZHk/IiI6IiAoRE9NIG5vdCByZWFkeSkiKSk7cmV0dXJuIHRoaXM7fXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgb3B0cz1oYW5kbGVBcmd1bWVudHModGhpcyxvcHRpb25zLGFyZzIpO2lmKG9wdHM9PT1mYWxzZSl7cmV0dXJuO31vcHRzLnVwZGF0ZUFjdGl2ZVBhZ2VyTGluaz1vcHRzLnVwZGF0ZUFjdGl2ZVBhZ2VyTGlua3x8JC5mbi5jeWNsZS51cGRhdGVBY3RpdmVQYWdlckxpbms7aWYodGhpcy5jeWNsZVRpbWVvdXQpe2NsZWFyVGltZW91dCh0aGlzLmN5Y2xlVGltZW91dCk7fXRoaXMuY3ljbGVUaW1lb3V0PXRoaXMuY3ljbGVQYXVzZT0wO3ZhciAkY29udD0kKHRoaXMpO3ZhciAkc2xpZGVzPW9wdHMuc2xpZGVFeHByPyQob3B0cy5zbGlkZUV4cHIsdGhpcyk6JGNvbnQuY2hpbGRyZW4oKTt2YXIgZWxzPSRzbGlkZXMuZ2V0KCk7aWYoZWxzLmxlbmd0aDwyKXtsb2coInRlcm1pbmF0aW5nOyB0b28gZmV3IHNsaWRlczogIitlbHMubGVuZ3RoKTtyZXR1cm47fXZhciBvcHRzMj1idWlsZE9wdGlvbnMoJGNvbnQsJHNsaWRlcyxlbHMsb3B0cyxvKTtpZihvcHRzMj09PWZhbHNlKXtyZXR1cm47fXZhciBzdGFydFRpbWU9b3B0czIuY29udGludW91cz8xMDpnZXRUaW1lb3V0KGVsc1tvcHRzMi5jdXJyU2xpZGVdLGVsc1tvcHRzMi5uZXh0U2xpZGVdLG9wdHMyLCFvcHRzMi5iYWNrd2FyZHMpO2lmKHN0YXJ0VGltZSl7c3RhcnRUaW1lKz0ob3B0czIuZGVsYXl8fDApO2lmKHN0YXJ0VGltZTwxMCl7c3RhcnRUaW1lPTEwO31kZWJ1ZygiZmlyc3QgdGltZW91dDogIitzdGFydFRpbWUpO3RoaXMuY3ljbGVUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtnbyhlbHMsb3B0czIsMCwhb3B0cy5iYWNrd2FyZHMpO30sc3RhcnRUaW1lKTt9fSk7fTtmdW5jdGlvbiBoYW5kbGVBcmd1bWVudHMoY29udCxvcHRpb25zLGFyZzIpe2lmKGNvbnQuY3ljbGVTdG9wPT11bmRlZmluZWQpe2NvbnQuY3ljbGVTdG9wPTA7fWlmKG9wdGlvbnM9PT11bmRlZmluZWR8fG9wdGlvbnM9PT1udWxsKXtvcHRpb25zPXt9O31pZihvcHRpb25zLmNvbnN0cnVjdG9yPT1TdHJpbmcpe3N3aXRjaChvcHRpb25zKXtjYXNlImRlc3Ryb3kiOmNhc2Uic3RvcCI6dmFyIG9wdHM9JChjb250KS5kYXRhKCJjeWNsZS5vcHRzIik7aWYoIW9wdHMpe3JldHVybiBmYWxzZTt9Y29udC5jeWNsZVN0b3ArKztpZihjb250LmN5Y2xlVGltZW91dCl7Y2xlYXJUaW1lb3V0KGNvbnQuY3ljbGVUaW1lb3V0KTt9Y29udC5jeWNsZVRpbWVvdXQ9MDskKGNvbnQpLnJlbW92ZURhdGEoImN5Y2xlLm9wdHMiKTtpZihvcHRpb25zPT0iZGVzdHJveSIpe2Rlc3Ryb3kob3B0cyk7fXJldHVybiBmYWxzZTtjYXNlInRvZ2dsZSI6Y29udC5jeWNsZVBhdXNlPShjb250LmN5Y2xlUGF1c2U9PT0xKT8wOjE7Y2hlY2tJbnN0YW50UmVzdW1lKGNvbnQuY3ljbGVQYXVzZSxhcmcyLGNvbnQpO3JldHVybiBmYWxzZTtjYXNlInBhdXNlIjpjb250LmN5Y2xlUGF1c2U9MTtyZXR1cm4gZmFsc2U7Y2FzZSJyZXN1bWUiOmNvbnQuY3ljbGVQYXVzZT0wO2NoZWNrSW5zdGFudFJlc3VtZShmYWxzZSxhcmcyLGNvbnQpO3JldHVybiBmYWxzZTtjYXNlInByZXYiOmNhc2UibmV4dCI6dmFyIG9wdHM9JChjb250KS5kYXRhKCJjeWNsZS5vcHRzIik7aWYoIW9wdHMpe2xvZygnb3B0aW9ucyBub3QgZm91bmQsICJwcmV2L25leHQiIGlnbm9yZWQnKTtyZXR1cm4gZmFsc2U7fSQuZm4uY3ljbGVbb3B0aW9uc10ob3B0cyk7cmV0dXJuIGZhbHNlO2RlZmF1bHQ6b3B0aW9ucz17Zng6b3B0aW9uc307fXJldHVybiBvcHRpb25zO31lbHNle2lmKG9wdGlvbnMuY29uc3RydWN0b3I9PU51bWJlcil7dmFyIG51bT1vcHRpb25zO29wdGlvbnM9JChjb250KS5kYXRhKCJjeWNsZS5vcHRzIik7aWYoIW9wdGlvbnMpe2xvZygib3B0aW9ucyBub3QgZm91bmQsIGNhbiBub3QgYWR2YW5jZSBzbGlkZSIpO3JldHVybiBmYWxzZTt9aWYobnVtPDB8fG51bT49b3B0aW9ucy5lbGVtZW50cy5sZW5ndGgpe2xvZygiaW52YWxpZCBzbGlkZSBpbmRleDogIitudW0pO3JldHVybiBmYWxzZTt9b3B0aW9ucy5uZXh0U2xpZGU9bnVtO2lmKGNvbnQuY3ljbGVUaW1lb3V0KXtjbGVhclRpbWVvdXQoY29udC5jeWNsZVRpbWVvdXQpO2NvbnQuY3ljbGVUaW1lb3V0PTA7fWlmKHR5cGVvZiBhcmcyPT0ic3RyaW5nIil7b3B0aW9ucy5vbmVUaW1lRng9YXJnMjt9Z28ob3B0aW9ucy5lbGVtZW50cyxvcHRpb25zLDEsbnVtPj1vcHRpb25zLmN1cnJTbGlkZSk7cmV0dXJuIGZhbHNlO319cmV0dXJuIG9wdGlvbnM7ZnVuY3Rpb24gY2hlY2tJbnN0YW50UmVzdW1lKGlzUGF1c2VkLGFyZzIsY29udCl7aWYoIWlzUGF1c2VkJiZhcmcyPT09dHJ1ZSl7dmFyIG9wdGlvbnM9JChjb250KS5kYXRhKCJjeWNsZS5vcHRzIik7aWYoIW9wdGlvbnMpe2xvZygib3B0aW9ucyBub3QgZm91bmQsIGNhbiBub3QgcmVzdW1lIik7cmV0dXJuIGZhbHNlO31pZihjb250LmN5Y2xlVGltZW91dCl7Y2xlYXJUaW1lb3V0KGNvbnQuY3ljbGVUaW1lb3V0KTtjb250LmN5Y2xlVGltZW91dD0wO31nbyhvcHRpb25zLmVsZW1lbnRzLG9wdGlvbnMsMSwhb3B0aW9ucy5iYWNrd2FyZHMpO319fWZ1bmN0aW9uIHJlbW92ZUZpbHRlcihlbCxvcHRzKXtpZighJC5zdXBwb3J0Lm9wYWNpdHkmJm9wdHMuY2xlYXJ0eXBlJiZlbC5zdHlsZS5maWx0ZXIpe3RyeXtlbC5zdHlsZS5yZW1vdmVBdHRyaWJ1dGUoImZpbHRlciIpO31jYXRjaChzbW90aGVyKXt9fX1mdW5jdGlvbiBkZXN0cm95KG9wdHMpe2lmKG9wdHMubmV4dCl7JChvcHRzLm5leHQpLnVuYmluZChvcHRzLnByZXZOZXh0RXZlbnQpO31pZihvcHRzLnByZXYpeyQob3B0cy5wcmV2KS51bmJpbmQob3B0cy5wcmV2TmV4dEV2ZW50KTt9aWYob3B0cy5wYWdlcnx8b3B0cy5wYWdlckFuY2hvckJ1aWxkZXIpeyQuZWFjaChvcHRzLnBhZ2VyQW5jaG9yc3x8W10sZnVuY3Rpb24oKXt0aGlzLnVuYmluZCgpLnJlbW92ZSgpO30pO31vcHRzLnBhZ2VyQW5jaG9ycz1udWxsO2lmKG9wdHMuZGVzdHJveSl7b3B0cy5kZXN0cm95KG9wdHMpO319ZnVuY3Rpb24gYnVpbGRPcHRpb25zKCRjb250LCRzbGlkZXMsZWxzLG9wdGlvbnMsbyl7dmFyIG9wdHM9JC5leHRlbmQoe30sJC5mbi5jeWNsZS5kZWZhdWx0cyxvcHRpb25zfHx7fSwkLm1ldGFkYXRhPyRjb250Lm1ldGFkYXRhKCk6JC5tZXRhPyRjb250LmRhdGEoKTp7fSk7aWYob3B0cy5hdXRvc3RvcCl7b3B0cy5jb3VudGRvd249b3B0cy5hdXRvc3RvcENvdW50fHxlbHMubGVuZ3RoO312YXIgY29udD0kY29udFswXTskY29udC5kYXRhKCJjeWNsZS5vcHRzIixvcHRzKTtvcHRzLiRjb250PSRjb250O29wdHMuc3RvcENvdW50PWNvbnQuY3ljbGVTdG9wO29wdHMuZWxlbWVudHM9ZWxzO29wdHMuYmVmb3JlPW9wdHMuYmVmb3JlP1tvcHRzLmJlZm9yZV06W107b3B0cy5hZnRlcj1vcHRzLmFmdGVyP1tvcHRzLmFmdGVyXTpbXTtpZighJC5zdXBwb3J0Lm9wYWNpdHkmJm9wdHMuY2xlYXJ0eXBlKXtvcHRzLmFmdGVyLnB1c2goZnVuY3Rpb24oKXtyZW1vdmVGaWx0ZXIodGhpcyxvcHRzKTt9KTt9aWYob3B0cy5jb250aW51b3VzKXtvcHRzLmFmdGVyLnB1c2goZnVuY3Rpb24oKXtnbyhlbHMsb3B0cywwLCFvcHRzLmJhY2t3YXJkcyk7fSk7fXNhdmVPcmlnaW5hbE9wdHMob3B0cyk7aWYoISQuc3VwcG9ydC5vcGFjaXR5JiZvcHRzLmNsZWFydHlwZSYmIW9wdHMuY2xlYXJ0eXBlTm9CZyl7Y2xlYXJUeXBlRml4KCRzbGlkZXMpO31pZigkY29udC5jc3MoInBvc2l0aW9uIik9PSJzdGF0aWMiKXskY29udC5jc3MoInBvc2l0aW9uIiwicmVsYXRpdmUiKTt9aWYob3B0cy53aWR0aCl7JGNvbnQud2lkdGgob3B0cy53aWR0aCk7fWlmKG9wdHMuaGVpZ2h0JiZvcHRzLmhlaWdodCE9ImF1dG8iKXskY29udC5oZWlnaHQob3B0cy5oZWlnaHQpO31pZihvcHRzLnN0YXJ0aW5nU2xpZGUpe29wdHMuc3RhcnRpbmdTbGlkZT1wYXJzZUludChvcHRzLnN0YXJ0aW5nU2xpZGUpO31lbHNle2lmKG9wdHMuYmFja3dhcmRzKXtvcHRzLnN0YXJ0aW5nU2xpZGU9ZWxzLmxlbmd0aC0xO319aWYob3B0cy5yYW5kb20pe29wdHMucmFuZG9tTWFwPVtdO2Zvcih2YXIgaT0wO2k8ZWxzLmxlbmd0aDtpKyspe29wdHMucmFuZG9tTWFwLnB1c2goaSk7fW9wdHMucmFuZG9tTWFwLnNvcnQoZnVuY3Rpb24oYSxiKXtyZXR1cm4gTWF0aC5yYW5kb20oKS0wLjU7fSk7b3B0cy5yYW5kb21JbmRleD0xO29wdHMuc3RhcnRpbmdTbGlkZT1vcHRzLnJhbmRvbU1hcFsxXTt9ZWxzZXtpZihvcHRzLnN0YXJ0aW5nU2xpZGU+PWVscy5sZW5ndGgpe29wdHMuc3RhcnRpbmdTbGlkZT0wO319b3B0cy5jdXJyU2xpZGU9b3B0cy5zdGFydGluZ1NsaWRlfHwwO3ZhciBmaXJzdD1vcHRzLnN0YXJ0aW5nU2xpZGU7JHNsaWRlcy5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOjAsbGVmdDowfSkuaGlkZSgpLmVhY2goZnVuY3Rpb24oaSl7dmFyIHo7aWYob3B0cy5iYWNrd2FyZHMpe3o9Zmlyc3Q/aTw9Zmlyc3Q/ZWxzLmxlbmd0aCsoaS1maXJzdCk6Zmlyc3QtaTplbHMubGVuZ3RoLWk7fWVsc2V7ej1maXJzdD9pPj1maXJzdD9lbHMubGVuZ3RoLShpLWZpcnN0KTpmaXJzdC1pOmVscy5sZW5ndGgtaTt9JCh0aGlzKS5jc3MoInotaW5kZXgiLHopO30pOyQoZWxzW2ZpcnN0XSkuY3NzKCJvcGFjaXR5IiwxKS5zaG93KCk7cmVtb3ZlRmlsdGVyKGVsc1tmaXJzdF0sb3B0cyk7aWYob3B0cy5maXQmJm9wdHMud2lkdGgpeyRzbGlkZXMud2lkdGgob3B0cy53aWR0aCk7fWlmKG9wdHMuZml0JiZvcHRzLmhlaWdodCYmb3B0cy5oZWlnaHQhPSJhdXRvIil7JHNsaWRlcy5oZWlnaHQob3B0cy5oZWlnaHQpO312YXIgcmVzaGFwZT1vcHRzLmNvbnRhaW5lclJlc2l6ZSYmISRjb250LmlubmVySGVpZ2h0KCk7aWYocmVzaGFwZSl7dmFyIG1heHc9MCxtYXhoPTA7Zm9yKHZhciBqPTA7ajxlbHMubGVuZ3RoO2orKyl7dmFyICRlPSQoZWxzW2pdKSxlPSRlWzBdLHc9JGUub3V0ZXJXaWR0aCgpLGg9JGUub3V0ZXJIZWlnaHQoKTtpZighdyl7dz1lLm9mZnNldFdpZHRofHxlLndpZHRofHwkZS5hdHRyKCJ3aWR0aCIpO31pZighaCl7aD1lLm9mZnNldEhlaWdodHx8ZS5oZWlnaHR8fCRlLmF0dHIoImhlaWdodCIpO31tYXh3PXc+bWF4dz93Om1heHc7bWF4aD1oPm1heGg/aDptYXhoO31pZihtYXh3PjAmJm1heGg+MCl7JGNvbnQuY3NzKHt3aWR0aDptYXh3KyJweCIsaGVpZ2h0Om1heGgrInB4In0pO319aWYob3B0cy5wYXVzZSl7JGNvbnQuaG92ZXIoZnVuY3Rpb24oKXt0aGlzLmN5Y2xlUGF1c2UrKzt9LGZ1bmN0aW9uKCl7dGhpcy5jeWNsZVBhdXNlLS07fSk7fWlmKHN1cHBvcnRNdWx0aVRyYW5zaXRpb25zKG9wdHMpPT09ZmFsc2Upe3JldHVybiBmYWxzZTt9dmFyIHJlcXVldWU9ZmFsc2U7b3B0aW9ucy5yZXF1ZXVlQXR0ZW1wdHM9b3B0aW9ucy5yZXF1ZXVlQXR0ZW1wdHN8fDA7JHNsaWRlcy5lYWNoKGZ1bmN0aW9uKCl7dmFyICRlbD0kKHRoaXMpO3RoaXMuY3ljbGVIPShvcHRzLmZpdCYmb3B0cy5oZWlnaHQpP29wdHMuaGVpZ2h0OigkZWwuaGVpZ2h0KCl8fHRoaXMub2Zmc2V0SGVpZ2h0fHx0aGlzLmhlaWdodHx8JGVsLmF0dHIoImhlaWdodCIpfHwwKTt0aGlzLmN5Y2xlVz0ob3B0cy5maXQmJm9wdHMud2lkdGgpP29wdHMud2lkdGg6KCRlbC53aWR0aCgpfHx0aGlzLm9mZnNldFdpZHRofHx0aGlzLndpZHRofHwkZWwuYXR0cigid2lkdGgiKXx8MCk7aWYoJGVsLmlzKCJ0aHVtYiIpKXt2YXIgbG9hZGluZ0lFPSgkLmJyb3dzZXIubXNpZSYmdGhpcy5jeWNsZVc9PTI4JiZ0aGlzLmN5Y2xlSD09MzAmJiF0aGlzLmNvbXBsZXRlKTt2YXIgbG9hZGluZ0ZGPSgkLmJyb3dzZXIubW96aWxsYSYmdGhpcy5jeWNsZVc9PTM0JiZ0aGlzLmN5Y2xlSD09MTkmJiF0aGlzLmNvbXBsZXRlKTt2YXIgbG9hZGluZ09wPSgkLmJyb3dzZXIub3BlcmEmJigodGhpcy5jeWNsZVc9PTQyJiZ0aGlzLmN5Y2xlSD09MTkpfHwodGhpcy5jeWNsZVc9PTM3JiZ0aGlzLmN5Y2xlSD09MTcpKSYmIXRoaXMuY29tcGxldGUpO3ZhciBsb2FkaW5nT3RoZXI9KHRoaXMuY3ljbGVIPT0wJiZ0aGlzLmN5Y2xlVz09MCYmIXRoaXMuY29tcGxldGUpO2lmKGxvYWRpbmdJRXx8bG9hZGluZ0ZGfHxsb2FkaW5nT3B8fGxvYWRpbmdPdGhlcil7aWYoby5zJiZvcHRzLnJlcXVldWVPbkltYWdlTm90TG9hZGVkJiYrK29wdGlvbnMucmVxdWV1ZUF0dGVtcHRzPDEwMCl7bG9nKG9wdGlvbnMucmVxdWV1ZUF0dGVtcHRzLCIgLSBpbWcgc2xpZGUgbm90IGxvYWRlZCwgcmVxdWV1aW5nIHNsaWRlc2hvdzogIix0aGlzLnNyYyx0aGlzLmN5Y2xlVyx0aGlzLmN5Y2xlSCk7c2V0VGltZW91dChmdW5jdGlvbigpeyQoby5zLG8uYykuY3ljbGUob3B0aW9ucyk7fSxvcHRzLnJlcXVldWVUaW1lb3V0KTtyZXF1ZXVlPXRydWU7cmV0dXJuIGZhbHNlO31lbHNle2xvZygiY291bGQgbm90IGRldGVybWluZSBzaXplIG9mIGltYWdlOiAiK3RoaXMuc3JjLHRoaXMuY3ljbGVXLHRoaXMuY3ljbGVIKTt9fX1yZXR1cm4gdHJ1ZTt9KTtpZihyZXF1ZXVlKXtyZXR1cm4gZmFsc2U7fW9wdHMuY3NzQmVmb3JlPW9wdHMuY3NzQmVmb3JlfHx7fTtvcHRzLmNzc0FmdGVyPW9wdHMuY3NzQWZ0ZXJ8fHt9O29wdHMuY3NzRmlyc3Q9b3B0cy5jc3NGaXJzdHx8e307b3B0cy5hbmltSW49b3B0cy5hbmltSW58fHt9O29wdHMuYW5pbU91dD1vcHRzLmFuaW1PdXR8fHt9OyRzbGlkZXMubm90KCI6ZXEoIitmaXJzdCsiKSIpLmNzcyhvcHRzLmNzc0JlZm9yZSk7JCgkc2xpZGVzW2ZpcnN0XSkuY3NzKG9wdHMuY3NzRmlyc3QpO2lmKG9wdHMudGltZW91dCl7b3B0cy50aW1lb3V0PXBhcnNlSW50KG9wdHMudGltZW91dCk7aWYob3B0cy5zcGVlZC5jb25zdHJ1Y3Rvcj09U3RyaW5nKXtvcHRzLnNwZWVkPSQuZnguc3BlZWRzW29wdHMuc3BlZWRdfHxwYXJzZUludChvcHRzLnNwZWVkKTt9aWYoIW9wdHMuc3luYyl7b3B0cy5zcGVlZD1vcHRzLnNwZWVkLzI7fXZhciBidWZmZXI9b3B0cy5meD09Im5vbmUiPzA6b3B0cy5meD09InNodWZmbGUiPzUwMDoyNTA7d2hpbGUoKG9wdHMudGltZW91dC1vcHRzLnNwZWVkKTxidWZmZXIpe29wdHMudGltZW91dCs9b3B0cy5zcGVlZDt9fWlmKG9wdHMuZWFzaW5nKXtvcHRzLmVhc2VJbj1vcHRzLmVhc2VPdXQ9b3B0cy5lYXNpbmc7fWlmKCFvcHRzLnNwZWVkSW4pe29wdHMuc3BlZWRJbj1vcHRzLnNwZWVkO31pZighb3B0cy5zcGVlZE91dCl7b3B0cy5zcGVlZE91dD1vcHRzLnNwZWVkO31vcHRzLnNsaWRlQ291bnQ9ZWxzLmxlbmd0aDtvcHRzLmN1cnJTbGlkZT1vcHRzLmxhc3RTbGlkZT1maXJzdDtpZihvcHRzLnJhbmRvbSl7aWYoKytvcHRzLnJhbmRvbUluZGV4PT1lbHMubGVuZ3RoKXtvcHRzLnJhbmRvbUluZGV4PTA7fW9wdHMubmV4dFNsaWRlPW9wdHMucmFuZG9tTWFwW29wdHMucmFuZG9tSW5kZXhdO31lbHNle2lmKG9wdHMuYmFja3dhcmRzKXtvcHRzLm5leHRTbGlkZT1vcHRzLnN0YXJ0aW5nU2xpZGU9PTA/KGVscy5sZW5ndGgtMSk6b3B0cy5zdGFydGluZ1NsaWRlLTE7fWVsc2V7b3B0cy5uZXh0U2xpZGU9b3B0cy5zdGFydGluZ1NsaWRlPj0oZWxzLmxlbmd0aC0xKT8wOm9wdHMuc3RhcnRpbmdTbGlkZSsxO319aWYoIW9wdHMubXVsdGlGeCl7dmFyIGluaXQ9JC5mbi5jeWNsZS50cmFuc2l0aW9uc1tvcHRzLmZ4XTtpZigkLmlzRnVuY3Rpb24oaW5pdCkpe2luaXQoJGNvbnQsJHNsaWRlcyxvcHRzKTt9ZWxzZXtpZihvcHRzLmZ4IT0iY3VzdG9tIiYmIW9wdHMubXVsdGlGeCl7bG9nKCJ1bmtub3duIHRyYW5zaXRpb246ICIrb3B0cy5meCwiOyBzbGlkZXNob3cgdGVybWluYXRpbmciKTtyZXR1cm4gZmFsc2U7fX19dmFyIGUwPSRzbGlkZXNbZmlyc3RdO2lmKG9wdHMuYmVmb3JlLmxlbmd0aCl7b3B0cy5iZWZvcmVbMF0uYXBwbHkoZTAsW2UwLGUwLG9wdHMsdHJ1ZV0pO31pZihvcHRzLmFmdGVyLmxlbmd0aCl7b3B0cy5hZnRlclswXS5hcHBseShlMCxbZTAsZTAsb3B0cyx0cnVlXSk7fWlmKG9wdHMubmV4dCl7JChvcHRzLm5leHQpLmJpbmQob3B0cy5wcmV2TmV4dEV2ZW50LGZ1bmN0aW9uKCl7cmV0dXJuIGFkdmFuY2Uob3B0cywxKTt9KTt9aWYob3B0cy5wcmV2KXskKG9wdHMucHJldikuYmluZChvcHRzLnByZXZOZXh0RXZlbnQsZnVuY3Rpb24oKXtyZXR1cm4gYWR2YW5jZShvcHRzLDApO30pO31pZihvcHRzLnBhZ2VyfHxvcHRzLnBhZ2VyQW5jaG9yQnVpbGRlcil7YnVpbGRQYWdlcihlbHMsb3B0cyk7fWV4cG9zZUFkZFNsaWRlKG9wdHMsZWxzKTtyZXR1cm4gb3B0czt9ZnVuY3Rpb24gc2F2ZU9yaWdpbmFsT3B0cyhvcHRzKXtvcHRzLm9yaWdpbmFsPXtiZWZvcmU6W10sYWZ0ZXI6W119O29wdHMub3JpZ2luYWwuY3NzQmVmb3JlPSQuZXh0ZW5kKHt9LG9wdHMuY3NzQmVmb3JlKTtvcHRzLm9yaWdpbmFsLmNzc0FmdGVyPSQuZXh0ZW5kKHt9LG9wdHMuY3NzQWZ0ZXIpO29wdHMub3JpZ2luYWwuYW5pbUluPSQuZXh0ZW5kKHt9LG9wdHMuYW5pbUluKTtvcHRzLm9yaWdpbmFsLmFuaW1PdXQ9JC5leHRlbmQoe30sb3B0cy5hbmltT3V0KTskLmVhY2gob3B0cy5iZWZvcmUsZnVuY3Rpb24oKXtvcHRzLm9yaWdpbmFsLmJlZm9yZS5wdXNoKHRoaXMpO30pOyQuZWFjaChvcHRzLmFmdGVyLGZ1bmN0aW9uKCl7b3B0cy5vcmlnaW5hbC5hZnRlci5wdXNoKHRoaXMpO30pO31mdW5jdGlvbiBzdXBwb3J0TXVsdGlUcmFuc2l0aW9ucyhvcHRzKXt2YXIgaSx0eCx0eHM9JC5mbi5jeWNsZS50cmFuc2l0aW9ucztpZihvcHRzLmZ4LmluZGV4T2YoIiwiKT4wKXtvcHRzLm11bHRpRng9dHJ1ZTtvcHRzLmZ4cz1vcHRzLmZ4LnJlcGxhY2UoL1xzKi9nLCIiKS5zcGxpdCgiLCIpO2ZvcihpPTA7aTxvcHRzLmZ4cy5sZW5ndGg7aSsrKXt2YXIgZng9b3B0cy5meHNbaV07dHg9dHhzW2Z4XTtpZighdHh8fCF0eHMuaGFzT3duUHJvcGVydHkoZngpfHwhJC5pc0Z1bmN0aW9uKHR4KSl7bG9nKCJkaXNjYXJkaW5nIHVua25vd24gdHJhbnNpdGlvbjogIixmeCk7b3B0cy5meHMuc3BsaWNlKGksMSk7aS0tO319aWYoIW9wdHMuZnhzLmxlbmd0aCl7bG9nKCJObyB2YWxpZCB0cmFuc2l0aW9ucyBuYW1lZDsgc2xpZGVzaG93IHRlcm1pbmF0aW5nLiIpO3JldHVybiBmYWxzZTt9fWVsc2V7aWYob3B0cy5meD09ImFsbCIpe29wdHMubXVsdGlGeD10cnVlO29wdHMuZnhzPVtdO2ZvcihwIGluIHR4cyl7dHg9dHhzW3BdO2lmKHR4cy5oYXNPd25Qcm9wZXJ0eShwKSYmJC5pc0Z1bmN0aW9uKHR4KSl7b3B0cy5meHMucHVzaChwKTt9fX19aWYob3B0cy5tdWx0aUZ4JiZvcHRzLnJhbmRvbWl6ZUVmZmVjdHMpe3ZhciByMT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqMjApKzMwO2ZvcihpPTA7aTxyMTtpKyspe3ZhciByMj1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqb3B0cy5meHMubGVuZ3RoKTtvcHRzLmZ4cy5wdXNoKG9wdHMuZnhzLnNwbGljZShyMiwxKVswXSk7fWRlYnVnKCJyYW5kb21pemVkIGZ4IHNlcXVlbmNlOiAiLG9wdHMuZnhzKTt9cmV0dXJuIHRydWU7fWZ1bmN0aW9uIGV4cG9zZUFkZFNsaWRlKG9wdHMsZWxzKXtvcHRzLmFkZFNsaWRlPWZ1bmN0aW9uKG5ld1NsaWRlLHByZXBlbmQpe3ZhciAkcz0kKG5ld1NsaWRlKSxzPSRzWzBdO2lmKCFvcHRzLmF1dG9zdG9wQ291bnQpe29wdHMuY291bnRkb3duKys7fWVsc1twcmVwZW5kPyJ1bnNoaWZ0IjoicHVzaCJdKHMpO2lmKG9wdHMuZWxzKXtvcHRzLmVsc1twcmVwZW5kPyJ1bnNoaWZ0IjoicHVzaCJdKHMpO31vcHRzLnNsaWRlQ291bnQ9ZWxzLmxlbmd0aDskcy5jc3MoInBvc2l0aW9uIiwiYWJzb2x1dGUiKTskc1twcmVwZW5kPyJwcmVwZW5kVG8iOiJhcHBlbmRUbyJdKG9wdHMuJGNvbnQpO2lmKHByZXBlbmQpe29wdHMuY3VyclNsaWRlKys7b3B0cy5uZXh0U2xpZGUrKzt9aWYoISQuc3VwcG9ydC5vcGFjaXR5JiZvcHRzLmNsZWFydHlwZSYmIW9wdHMuY2xlYXJ0eXBlTm9CZyl7Y2xlYXJUeXBlRml4KCRzKTt9aWYob3B0cy5maXQmJm9wdHMud2lkdGgpeyRzLndpZHRoKG9wdHMud2lkdGgpO31pZihvcHRzLmZpdCYmb3B0cy5oZWlnaHQmJm9wdHMuaGVpZ2h0IT0iYXV0byIpeyRzLmhlaWdodChvcHRzLmhlaWdodCk7fXMuY3ljbGVIPShvcHRzLmZpdCYmb3B0cy5oZWlnaHQpP29wdHMuaGVpZ2h0OiRzLmhlaWdodCgpO3MuY3ljbGVXPShvcHRzLmZpdCYmb3B0cy53aWR0aCk/b3B0cy53aWR0aDokcy53aWR0aCgpOyRzLmNzcyhvcHRzLmNzc0JlZm9yZSk7aWYob3B0cy5wYWdlcnx8b3B0cy5wYWdlckFuY2hvckJ1aWxkZXIpeyQuZm4uY3ljbGUuY3JlYXRlUGFnZXJBbmNob3IoZWxzLmxlbmd0aC0xLHMsJChvcHRzLnBhZ2VyKSxlbHMsb3B0cyk7fWlmKCQuaXNGdW5jdGlvbihvcHRzLm9uQWRkU2xpZGUpKXtvcHRzLm9uQWRkU2xpZGUoJHMpO31lbHNleyRzLmhpZGUoKTt9fTt9JC5mbi5jeWNsZS5yZXNldFN0YXRlPWZ1bmN0aW9uKG9wdHMsZngpe2Z4PWZ4fHxvcHRzLmZ4O29wdHMuYmVmb3JlPVtdO29wdHMuYWZ0ZXI9W107b3B0cy5jc3NCZWZvcmU9JC5leHRlbmQoe30sb3B0cy5vcmlnaW5hbC5jc3NCZWZvcmUpO29wdHMuY3NzQWZ0ZXI9JC5leHRlbmQoe30sb3B0cy5vcmlnaW5hbC5jc3NBZnRlcik7b3B0cy5hbmltSW49JC5leHRlbmQoe30sb3B0cy5vcmlnaW5hbC5hbmltSW4pO29wdHMuYW5pbU91dD0kLmV4dGVuZCh7fSxvcHRzLm9yaWdpbmFsLmFuaW1PdXQpO29wdHMuZnhGbj1udWxsOyQuZWFjaChvcHRzLm9yaWdpbmFsLmJlZm9yZSxmdW5jdGlvbigpe29wdHMuYmVmb3JlLnB1c2godGhpcyk7fSk7JC5lYWNoKG9wdHMub3JpZ2luYWwuYWZ0ZXIsZnVuY3Rpb24oKXtvcHRzLmFmdGVyLnB1c2godGhpcyk7fSk7dmFyIGluaXQ9JC5mbi5jeWNsZS50cmFuc2l0aW9uc1tmeF07aWYoJC5pc0Z1bmN0aW9uKGluaXQpKXtpbml0KG9wdHMuJGNvbnQsJChvcHRzLmVsZW1lbnRzKSxvcHRzKTt9fTtmdW5jdGlvbiBnbyhlbHMsb3B0cyxtYW51YWwsZndkKXtpZihtYW51YWwmJm9wdHMuYnVzeSYmb3B0cy5tYW51YWxUcnVtcCl7ZGVidWcoIm1hbnVhbFRydW1wIGluIGdvKCksIHN0b3BwaW5nIGFjdGl2ZSB0cmFuc2l0aW9uIik7JChlbHMpLnN0b3AodHJ1ZSx0cnVlKTtvcHRzLmJ1c3k9MDt9aWYob3B0cy5idXN5KXtkZWJ1ZygidHJhbnNpdGlvbiBhY3RpdmUsIGlnbm9yaW5nIG5ldyB0eCByZXF1ZXN0Iik7cmV0dXJuO312YXIgcD1vcHRzLiRjb250WzBdLGN1cnI9ZWxzW29wdHMuY3VyclNsaWRlXSxuZXh0PWVsc1tvcHRzLm5leHRTbGlkZV07aWYocC5jeWNsZVN0b3AhPW9wdHMuc3RvcENvdW50fHxwLmN5Y2xlVGltZW91dD09PTAmJiFtYW51YWwpe3JldHVybjt9aWYoIW1hbnVhbCYmIXAuY3ljbGVQYXVzZSYmIW9wdHMuYm91bmNlJiYoKG9wdHMuYXV0b3N0b3AmJigtLW9wdHMuY291bnRkb3duPD0wKSl8fChvcHRzLm5vd3JhcCYmIW9wdHMucmFuZG9tJiZvcHRzLm5leHRTbGlkZTxvcHRzLmN1cnJTbGlkZSkpKXtpZihvcHRzLmVuZCl7b3B0cy5lbmQob3B0cyk7fXJldHVybjt9dmFyIGNoYW5nZWQ9ZmFsc2U7aWYoKG1hbnVhbHx8IXAuY3ljbGVQYXVzZSkmJihvcHRzLm5leHRTbGlkZSE9b3B0cy5jdXJyU2xpZGUpKXtjaGFuZ2VkPXRydWU7dmFyIGZ4PW9wdHMuZng7Y3Vyci5jeWNsZUg9Y3Vyci5jeWNsZUh8fCQoY3VycikuaGVpZ2h0KCk7Y3Vyci5jeWNsZVc9Y3Vyci5jeWNsZVd8fCQoY3Vycikud2lkdGgoKTtuZXh0LmN5Y2xlSD1uZXh0LmN5Y2xlSHx8JChuZXh0KS5oZWlnaHQoKTtuZXh0LmN5Y2xlVz1uZXh0LmN5Y2xlV3x8JChuZXh0KS53aWR0aCgpO2lmKG9wdHMubXVsdGlGeCl7aWYob3B0cy5sYXN0Rng9PXVuZGVmaW5lZHx8KytvcHRzLmxhc3RGeD49b3B0cy5meHMubGVuZ3RoKXtvcHRzLmxhc3RGeD0wO31meD1vcHRzLmZ4c1tvcHRzLmxhc3RGeF07b3B0cy5jdXJyRng9Zng7fWlmKG9wdHMub25lVGltZUZ4KXtmeD1vcHRzLm9uZVRpbWVGeDtvcHRzLm9uZVRpbWVGeD1udWxsO30kLmZuLmN5Y2xlLnJlc2V0U3RhdGUob3B0cyxmeCk7aWYob3B0cy5iZWZvcmUubGVuZ3RoKXskLmVhY2gob3B0cy5iZWZvcmUsZnVuY3Rpb24oaSxvKXtpZihwLmN5Y2xlU3RvcCE9b3B0cy5zdG9wQ291bnQpe3JldHVybjt9by5hcHBseShuZXh0LFtjdXJyLG5leHQsb3B0cyxmd2RdKTt9KTt9dmFyIGFmdGVyPWZ1bmN0aW9uKCl7b3B0cy5idXN5PTA7JC5lYWNoKG9wdHMuYWZ0ZXIsZnVuY3Rpb24oaSxvKXtpZihwLmN5Y2xlU3RvcCE9b3B0cy5zdG9wQ291bnQpe3JldHVybjt9by5hcHBseShuZXh0LFtjdXJyLG5leHQsb3B0cyxmd2RdKTt9KTt9O2RlYnVnKCJ0eCBmaXJpbmcoIitmeCsiKTsgY3VyclNsaWRlOiAiK29wdHMuY3VyclNsaWRlKyI7IG5leHRTbGlkZTogIitvcHRzLm5leHRTbGlkZSk7b3B0cy5idXN5PTE7aWYob3B0cy5meEZuKXtvcHRzLmZ4Rm4oY3VycixuZXh0LG9wdHMsYWZ0ZXIsZndkLG1hbnVhbCYmb3B0cy5mYXN0T25FdmVudCk7fWVsc2V7aWYoJC5pc0Z1bmN0aW9uKCQuZm4uY3ljbGVbb3B0cy5meF0pKXskLmZuLmN5Y2xlW29wdHMuZnhdKGN1cnIsbmV4dCxvcHRzLGFmdGVyLGZ3ZCxtYW51YWwmJm9wdHMuZmFzdE9uRXZlbnQpO31lbHNleyQuZm4uY3ljbGUuY3VzdG9tKGN1cnIsbmV4dCxvcHRzLGFmdGVyLGZ3ZCxtYW51YWwmJm9wdHMuZmFzdE9uRXZlbnQpO319fWlmKGNoYW5nZWR8fG9wdHMubmV4dFNsaWRlPT1vcHRzLmN1cnJTbGlkZSl7b3B0cy5sYXN0U2xpZGU9b3B0cy5jdXJyU2xpZGU7aWYob3B0cy5yYW5kb20pe29wdHMuY3VyclNsaWRlPW9wdHMubmV4dFNsaWRlO2lmKCsrb3B0cy5yYW5kb21JbmRleD09ZWxzLmxlbmd0aCl7b3B0cy5yYW5kb21JbmRleD0wO31vcHRzLm5leHRTbGlkZT1vcHRzLnJhbmRvbU1hcFtvcHRzLnJhbmRvbUluZGV4XTtpZihvcHRzLm5leHRTbGlkZT09b3B0cy5jdXJyU2xpZGUpe29wdHMubmV4dFNsaWRlPShvcHRzLmN1cnJTbGlkZT09b3B0cy5zbGlkZUNvdW50LTEpPzA6b3B0cy5jdXJyU2xpZGUrMTt9fWVsc2V7aWYob3B0cy5iYWNrd2FyZHMpe3ZhciByb2xsPShvcHRzLm5leHRTbGlkZS0xKTwwO2lmKHJvbGwmJm9wdHMuYm91bmNlKXtvcHRzLmJhY2t3YXJkcz0hb3B0cy5iYWNrd2FyZHM7b3B0cy5uZXh0U2xpZGU9MTtvcHRzLmN1cnJTbGlkZT0wO31lbHNle29wdHMubmV4dFNsaWRlPXJvbGw/KGVscy5sZW5ndGgtMSk6b3B0cy5uZXh0U2xpZGUtMTtvcHRzLmN1cnJTbGlkZT1yb2xsPzA6b3B0cy5uZXh0U2xpZGUrMTt9fWVsc2V7dmFyIHJvbGw9KG9wdHMubmV4dFNsaWRlKzEpPT1lbHMubGVuZ3RoO2lmKHJvbGwmJm9wdHMuYm91bmNlKXtvcHRzLmJhY2t3YXJkcz0hb3B0cy5iYWNrd2FyZHM7b3B0cy5uZXh0U2xpZGU9ZWxzLmxlbmd0aC0yO29wdHMuY3VyclNsaWRlPWVscy5sZW5ndGgtMTt9ZWxzZXtvcHRzLm5leHRTbGlkZT1yb2xsPzA6b3B0cy5uZXh0U2xpZGUrMTtvcHRzLmN1cnJTbGlkZT1yb2xsP2Vscy5sZW5ndGgtMTpvcHRzLm5leHRTbGlkZS0xO319fX1pZihjaGFuZ2VkJiZvcHRzLnBhZ2VyKXtvcHRzLnVwZGF0ZUFjdGl2ZVBhZ2VyTGluayhvcHRzLnBhZ2VyLG9wdHMuY3VyclNsaWRlLG9wdHMuYWN0aXZlUGFnZXJDbGFzcyk7fXZhciBtcz0wO2lmKG9wdHMudGltZW91dCYmIW9wdHMuY29udGludW91cyl7bXM9Z2V0VGltZW91dChlbHNbb3B0cy5jdXJyU2xpZGVdLGVsc1tvcHRzLm5leHRTbGlkZV0sb3B0cyxmd2QpO31lbHNle2lmKG9wdHMuY29udGludW91cyYmcC5jeWNsZVBhdXNlKXttcz0xMDt9fWlmKG1zPjApe3AuY3ljbGVUaW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtnbyhlbHMsb3B0cywwLCFvcHRzLmJhY2t3YXJkcyk7fSxtcyk7fX0kLmZuLmN5Y2xlLnVwZGF0ZUFjdGl2ZVBhZ2VyTGluaz1mdW5jdGlvbihwYWdlcixjdXJyU2xpZGUsY2xzTmFtZSl7JChwYWdlcikuZWFjaChmdW5jdGlvbigpeyQodGhpcykuY2hpbGRyZW4oKS5yZW1vdmVDbGFzcyhjbHNOYW1lKS5lcShjdXJyU2xpZGUpLmFkZENsYXNzKGNsc05hbWUpO30pO307ZnVuY3Rpb24gZ2V0VGltZW91dChjdXJyLG5leHQsb3B0cyxmd2Qpe2lmKG9wdHMudGltZW91dEZuKXt2YXIgdD1vcHRzLnRpbWVvdXRGbi5jYWxsKGN1cnIsY3VycixuZXh0LG9wdHMsZndkKTt3aGlsZShvcHRzLmZ4IT0ibm9uZSImJih0LW9wdHMuc3BlZWQpPDI1MCl7dCs9b3B0cy5zcGVlZDt9ZGVidWcoImNhbGN1bGF0ZWQgdGltZW91dDogIit0KyI7IHNwZWVkOiAiK29wdHMuc3BlZWQpO2lmKHQhPT1mYWxzZSl7cmV0dXJuIHQ7fX1yZXR1cm4gb3B0cy50aW1lb3V0O30kLmZuLmN5Y2xlLm5leHQ9ZnVuY3Rpb24ob3B0cyl7YWR2YW5jZShvcHRzLDEpO307JC5mbi5jeWNsZS5wcmV2PWZ1bmN0aW9uKG9wdHMpe2FkdmFuY2Uob3B0cywwKTt9O2Z1bmN0aW9uIGFkdmFuY2Uob3B0cyxtb3ZlRm9yd2FyZCl7dmFyIHZhbD1tb3ZlRm9yd2FyZD8xOi0xO3ZhciBlbHM9b3B0cy5lbGVtZW50czt2YXIgcD1vcHRzLiRjb250WzBdLHRpbWVvdXQ9cC5jeWNsZVRpbWVvdXQ7aWYodGltZW91dCl7Y2xlYXJUaW1lb3V0KHRpbWVvdXQpO3AuY3ljbGVUaW1lb3V0PTA7fWlmKG9wdHMucmFuZG9tJiZ2YWw8MCl7b3B0cy5yYW5kb21JbmRleC0tO2lmKC0tb3B0cy5yYW5kb21JbmRleD09LTIpe29wdHMucmFuZG9tSW5kZXg9ZWxzLmxlbmd0aC0yO31lbHNle2lmKG9wdHMucmFuZG9tSW5kZXg9PS0xKXtvcHRzLnJhbmRvbUluZGV4PWVscy5sZW5ndGgtMTt9fW9wdHMubmV4dFNsaWRlPW9wdHMucmFuZG9tTWFwW29wdHMucmFuZG9tSW5kZXhdO31lbHNle2lmKG9wdHMucmFuZG9tKXtvcHRzLm5leHRTbGlkZT1vcHRzLnJhbmRvbU1hcFtvcHRzLnJhbmRvbUluZGV4XTt9ZWxzZXtvcHRzLm5leHRTbGlkZT1vcHRzLmN1cnJTbGlkZSt2YWw7aWYob3B0cy5uZXh0U2xpZGU8MCl7aWYob3B0cy5ub3dyYXApe3JldHVybiBmYWxzZTt9b3B0cy5uZXh0U2xpZGU9ZWxzLmxlbmd0aC0xO31lbHNle2lmKG9wdHMubmV4dFNsaWRlPj1lbHMubGVuZ3RoKXtpZihvcHRzLm5vd3JhcCl7cmV0dXJuIGZhbHNlO31vcHRzLm5leHRTbGlkZT0wO319fX12YXIgY2I9b3B0cy5vblByZXZOZXh0RXZlbnR8fG9wdHMucHJldk5leHRDbGljaztpZigkLmlzRnVuY3Rpb24oY2IpKXtjYih2YWw+MCxvcHRzLm5leHRTbGlkZSxlbHNbb3B0cy5uZXh0U2xpZGVdKTt9Z28oZWxzLG9wdHMsMSxtb3ZlRm9yd2FyZCk7cmV0dXJuIGZhbHNlO31mdW5jdGlvbiBidWlsZFBhZ2VyKGVscyxvcHRzKXt2YXIgJHA9JChvcHRzLnBhZ2VyKTskLmVhY2goZWxzLGZ1bmN0aW9uKGksbyl7JC5mbi5jeWNsZS5jcmVhdGVQYWdlckFuY2hvcihpLG8sJHAsZWxzLG9wdHMpO30pO29wdHMudXBkYXRlQWN0aXZlUGFnZXJMaW5rKG9wdHMucGFnZXIsb3B0cy5zdGFydGluZ1NsaWRlLG9wdHMuYWN0aXZlUGFnZXJDbGFzcyk7fSQuZm4uY3ljbGUuY3JlYXRlUGFnZXJBbmNob3I9ZnVuY3Rpb24oaSxlbCwkcCxlbHMsb3B0cyl7dmFyIGE7aWYoJC5pc0Z1bmN0aW9uKG9wdHMucGFnZXJBbmNob3JCdWlsZGVyKSl7YT1vcHRzLnBhZ2VyQW5jaG9yQnVpbGRlcihpLGVsKTtkZWJ1ZygicGFnZXJBbmNob3JCdWlsZGVyKCIraSsiLCBlbCkgcmV0dXJuZWQ6ICIrYSk7fWVsc2V7YT0nPGEgaHJlZj0iIyI+JysoaSsxKSsiPC9hPiI7fWlmKCFhKXtyZXR1cm47fXZhciAkYT0kKGEpO2lmKCRhLnBhcmVudHMoImJvZHkiKS5sZW5ndGg9PT0wKXt2YXIgYXJyPVtdO2lmKCRwLmxlbmd0aD4xKXskcC5lYWNoKGZ1bmN0aW9uKCl7dmFyICRjbG9uZT0kYS5jbG9uZSh0cnVlKTskKHRoaXMpLmFwcGVuZCgkY2xvbmUpO2Fyci5wdXNoKCRjbG9uZVswXSk7fSk7JGE9JChhcnIpO31lbHNleyRhLmFwcGVuZFRvKCRwKTt9fW9wdHMucGFnZXJBbmNob3JzPW9wdHMucGFnZXJBbmNob3JzfHxbXTtvcHRzLnBhZ2VyQW5jaG9ycy5wdXNoKCRhKTskYS5iaW5kKG9wdHMucGFnZXJFdmVudCxmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7b3B0cy5uZXh0U2xpZGU9aTt2YXIgcD1vcHRzLiRjb250WzBdLHRpbWVvdXQ9cC5jeWNsZVRpbWVvdXQ7aWYodGltZW91dCl7Y2xlYXJUaW1lb3V0KHRpbWVvdXQpO3AuY3ljbGVUaW1lb3V0PTA7fXZhciBjYj1vcHRzLm9uUGFnZXJFdmVudHx8b3B0cy5wYWdlckNsaWNrO2lmKCQuaXNGdW5jdGlvbihjYikpe2NiKG9wdHMubmV4dFNsaWRlLGVsc1tvcHRzLm5leHRTbGlkZV0pO31nbyhlbHMsb3B0cywxLG9wdHMuY3VyclNsaWRlPGkpO30pO2lmKCEvXmNsaWNrLy50ZXN0KG9wdHMucGFnZXJFdmVudCkmJiFvcHRzLmFsbG93UGFnZXJDbGlja0J1YmJsZSl7JGEuYmluZCgiY2xpY2suY3ljbGUiLGZ1bmN0aW9uKCl7cmV0dXJuIGZhbHNlO30pO31pZihvcHRzLnBhdXNlT25QYWdlckhvdmVyKXskYS5ob3ZlcihmdW5jdGlvbigpe29wdHMuJGNvbnRbMF0uY3ljbGVQYXVzZSsrO30sZnVuY3Rpb24oKXtvcHRzLiRjb250WzBdLmN5Y2xlUGF1c2UtLTt9KTt9fTskLmZuLmN5Y2xlLmhvcHNGcm9tTGFzdD1mdW5jdGlvbihvcHRzLGZ3ZCl7dmFyIGhvcHMsbD1vcHRzLmxhc3RTbGlkZSxjPW9wdHMuY3VyclNsaWRlO2lmKGZ3ZCl7aG9wcz1jPmw/Yy1sOm9wdHMuc2xpZGVDb3VudC1sO31lbHNle2hvcHM9YzxsP2wtYzpsK29wdHMuc2xpZGVDb3VudC1jO31yZXR1cm4gaG9wczt9O2Z1bmN0aW9uIGNsZWFyVHlwZUZpeCgkc2xpZGVzKXtkZWJ1ZygiYXBwbHlpbmcgY2xlYXJUeXBlIGJhY2tncm91bmQtY29sb3IgaGFjayIpO2Z1bmN0aW9uIGhleChzKXtzPXBhcnNlSW50KHMpLnRvU3RyaW5nKDE2KTtyZXR1cm4gcy5sZW5ndGg8Mj8iMCIrczpzO31mdW5jdGlvbiBnZXRCZyhlKXtmb3IoO2UmJmUubm9kZU5hbWUudG9Mb3dlckNhc2UoKSE9Imh0bWwiO2U9ZS5wYXJlbnROb2RlKXt2YXIgdj0kLmNzcyhlLCJiYWNrZ3JvdW5kLWNvbG9yIik7aWYodiYmdi5pbmRleE9mKCJyZ2IiKT49MCl7dmFyIHJnYj12Lm1hdGNoKC9cZCsvZyk7cmV0dXJuIiMiK2hleChyZ2JbMF0pK2hleChyZ2JbMV0pK2hleChyZ2JbMl0pO31pZih2JiZ2IT0idHJhbnNwYXJlbnQiKXtyZXR1cm4gdjt9fXJldHVybiIjZmZmZmZmIjt9JHNsaWRlcy5lYWNoKGZ1bmN0aW9uKCl7JCh0aGlzKS5jc3MoImJhY2tncm91bmQtY29sb3IiLGdldEJnKHRoaXMpKTt9KTt9JC5mbi5jeWNsZS5jb21tb25SZXNldD1mdW5jdGlvbihjdXJyLG5leHQsb3B0cyx3LGgscmV2KXskKG9wdHMuZWxlbWVudHMpLm5vdChjdXJyKS5oaWRlKCk7aWYodHlwZW9mIG9wdHMuY3NzQmVmb3JlLm9wYWNpdHk9PSJ1bmRlZmluZWQiKXtvcHRzLmNzc0JlZm9yZS5vcGFjaXR5PTE7fW9wdHMuY3NzQmVmb3JlLmRpc3BsYXk9ImJsb2NrIjtpZihvcHRzLnNsaWRlUmVzaXplJiZ3IT09ZmFsc2UmJm5leHQuY3ljbGVXPjApe29wdHMuY3NzQmVmb3JlLndpZHRoPW5leHQuY3ljbGVXO31pZihvcHRzLnNsaWRlUmVzaXplJiZoIT09ZmFsc2UmJm5leHQuY3ljbGVIPjApe29wdHMuY3NzQmVmb3JlLmhlaWdodD1uZXh0LmN5Y2xlSDt9b3B0cy5jc3NBZnRlcj1vcHRzLmNzc0FmdGVyfHx7fTtvcHRzLmNzc0FmdGVyLmRpc3BsYXk9Im5vbmUiOyQoY3VycikuY3NzKCJ6SW5kZXgiLG9wdHMuc2xpZGVDb3VudCsocmV2PT09dHJ1ZT8xOjApKTskKG5leHQpLmNzcygiekluZGV4IixvcHRzLnNsaWRlQ291bnQrKHJldj09PXRydWU/MDoxKSk7fTskLmZuLmN5Y2xlLmN1c3RvbT1mdW5jdGlvbihjdXJyLG5leHQsb3B0cyxjYixmd2Qsc3BlZWRPdmVycmlkZSl7dmFyICRsPSQoY3VyciksJG49JChuZXh0KTt2YXIgc3BlZWRJbj1vcHRzLnNwZWVkSW4sc3BlZWRPdXQ9b3B0cy5zcGVlZE91dCxlYXNlSW49b3B0cy5lYXNlSW4sZWFzZU91dD1vcHRzLmVhc2VPdXQ7JG4uY3NzKG9wdHMuY3NzQmVmb3JlKTtpZihzcGVlZE92ZXJyaWRlKXtpZih0eXBlb2Ygc3BlZWRPdmVycmlkZT09Im51bWJlciIpe3NwZWVkSW49c3BlZWRPdXQ9c3BlZWRPdmVycmlkZTt9ZWxzZXtzcGVlZEluPXNwZWVkT3V0PTE7fWVhc2VJbj1lYXNlT3V0PW51bGw7fXZhciBmbj1mdW5jdGlvbigpeyRuLmFuaW1hdGUob3B0cy5hbmltSW4sc3BlZWRJbixlYXNlSW4sZnVuY3Rpb24oKXtjYigpO30pO307JGwuYW5pbWF0ZShvcHRzLmFuaW1PdXQsc3BlZWRPdXQsZWFzZU91dCxmdW5jdGlvbigpeyRsLmNzcyhvcHRzLmNzc0FmdGVyKTtpZighb3B0cy5zeW5jKXtmbigpO319KTtpZihvcHRzLnN5bmMpe2ZuKCk7fX07JC5mbi5jeWNsZS50cmFuc2l0aW9ucz17ZmFkZTpmdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpeyRzbGlkZXMubm90KCI6ZXEoIitvcHRzLmN1cnJTbGlkZSsiKSIpLmNzcygib3BhY2l0eSIsMCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7b3B0cy5jc3NCZWZvcmUub3BhY2l0eT0wO30pO29wdHMuYW5pbUluPXtvcGFjaXR5OjF9O29wdHMuYW5pbU91dD17b3BhY2l0eTowfTtvcHRzLmNzc0JlZm9yZT17dG9wOjAsbGVmdDowfTt9fTskLmZuLmN5Y2xlLnZlcj1mdW5jdGlvbigpe3JldHVybiB2ZXI7fTskLmZuLmN5Y2xlLmRlZmF1bHRzPXthY3RpdmVQYWdlckNsYXNzOiJhY3RpdmVTbGlkZSIsYWZ0ZXI6bnVsbCxhbGxvd1BhZ2VyQ2xpY2tCdWJibGU6ZmFsc2UsYW5pbUluOm51bGwsYW5pbU91dDpudWxsLGF1dG9zdG9wOjAsYXV0b3N0b3BDb3VudDowLGJhY2t3YXJkczpmYWxzZSxiZWZvcmU6bnVsbCxjbGVhcnR5cGU6ISQuc3VwcG9ydC5vcGFjaXR5LGNsZWFydHlwZU5vQmc6ZmFsc2UsY29udGFpbmVyUmVzaXplOjEsY29udGludW91czowLGNzc0FmdGVyOm51bGwsY3NzQmVmb3JlOm51bGwsZGVsYXk6MCxlYXNlSW46bnVsbCxlYXNlT3V0Om51bGwsZWFzaW5nOm51bGwsZW5kOm51bGwsZmFzdE9uRXZlbnQ6MCxmaXQ6MCxmeDoiZmFkZSIsZnhGbjpudWxsLGhlaWdodDoiYXV0byIsbWFudWFsVHJ1bXA6dHJ1ZSxuZXh0Om51bGwsbm93cmFwOjAsb25QYWdlckV2ZW50Om51bGwsb25QcmV2TmV4dEV2ZW50Om51bGwscGFnZXI6bnVsbCxwYWdlckFuY2hvckJ1aWxkZXI6bnVsbCxwYWdlckV2ZW50OiJjbGljay5jeWNsZSIscGF1c2U6MCxwYXVzZU9uUGFnZXJIb3ZlcjowLHByZXY6bnVsbCxwcmV2TmV4dEV2ZW50OiJjbGljay5jeWNsZSIscmFuZG9tOjAscmFuZG9taXplRWZmZWN0czoxLHJlcXVldWVPbkltYWdlTm90TG9hZGVkOnRydWUscmVxdWV1ZVRpbWVvdXQ6MjUwLHJldjowLHNodWZmbGU6bnVsbCxzbGlkZUV4cHI6bnVsbCxzbGlkZVJlc2l6ZToxLHNwZWVkOjEwMDAsc3BlZWRJbjpudWxsLHNwZWVkT3V0Om51bGwsc3RhcnRpbmdTbGlkZTowLHN5bmM6MSx0aW1lb3V0OjQwMDAsdGltZW91dEZuOm51bGwsdXBkYXRlQWN0aXZlUGFnZXJMaW5rOm51bGx9O30pKGpRdWVyeSk7DQovKg0KICogalF1ZXJ5IEN5Y2xlIFBsdWdpbiBUcmFuc2l0aW9uIERlZmluaXRpb25zDQogKi8NCihmdW5jdGlvbigkKXskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLm5vbmU9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmZ4Rm49ZnVuY3Rpb24oY3VycixuZXh0LG9wdHMsYWZ0ZXIpeyQobmV4dCkuc2hvdygpOyQoY3VycikuaGlkZSgpO2FmdGVyKCk7fTt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuZmFkZW91dD1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpeyRzbGlkZXMubm90KCI6ZXEoIitvcHRzLmN1cnJTbGlkZSsiKSIpLmNzcyh7ZGlzcGxheToiYmxvY2siLG9wYWNpdHk6MX0pO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMsdyxoLHJldil7JChjdXJyKS5jc3MoInpJbmRleCIsb3B0cy5zbGlkZUNvdW50KyghcmV2PT09dHJ1ZT8xOjApKTskKG5leHQpLmNzcygiekluZGV4IixvcHRzLnNsaWRlQ291bnQrKCFyZXY9PT10cnVlPzA6MSkpO30pO29wdHMuYW5pbUluLm9wYWNpdHk9MTtvcHRzLmFuaW1PdXQub3BhY2l0eT0wO29wdHMuY3NzQmVmb3JlLm9wYWNpdHk9MTtvcHRzLmNzc0JlZm9yZS5kaXNwbGF5PSJibG9jayI7b3B0cy5jc3NBZnRlci56SW5kZXg9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuc2Nyb2xsVXA9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXskY29udC5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIik7b3B0cy5iZWZvcmUucHVzaCgkLmZuLmN5Y2xlLmNvbW1vblJlc2V0KTt2YXIgaD0kY29udC5oZWlnaHQoKTtvcHRzLmNzc0JlZm9yZS50b3A9aDtvcHRzLmNzc0JlZm9yZS5sZWZ0PTA7b3B0cy5jc3NGaXJzdC50b3A9MDtvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmFuaW1PdXQudG9wPS1oO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5zY3JvbGxEb3duPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpO29wdHMuYmVmb3JlLnB1c2goJC5mbi5jeWNsZS5jb21tb25SZXNldCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0cy5jc3NGaXJzdC50b3A9MDtvcHRzLmNzc0JlZm9yZS50b3A9LWg7b3B0cy5jc3NCZWZvcmUubGVmdD0wO29wdHMuYW5pbUluLnRvcD0wO29wdHMuYW5pbU91dC50b3A9aDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuc2Nyb2xsTGVmdD1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpeyRjb250LmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKTtvcHRzLmJlZm9yZS5wdXNoKCQuZm4uY3ljbGUuY29tbW9uUmVzZXQpO3ZhciB3PSRjb250LndpZHRoKCk7b3B0cy5jc3NGaXJzdC5sZWZ0PTA7b3B0cy5jc3NCZWZvcmUubGVmdD13O29wdHMuY3NzQmVmb3JlLnRvcD0wO29wdHMuYW5pbUluLmxlZnQ9MDtvcHRzLmFuaW1PdXQubGVmdD0wLXc7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNjcm9sbFJpZ2h0PWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpO29wdHMuYmVmb3JlLnB1c2goJC5mbi5jeWNsZS5jb21tb25SZXNldCk7dmFyIHc9JGNvbnQud2lkdGgoKTtvcHRzLmNzc0ZpcnN0LmxlZnQ9MDtvcHRzLmNzc0JlZm9yZS5sZWZ0PS13O29wdHMuY3NzQmVmb3JlLnRvcD0wO29wdHMuYW5pbUluLmxlZnQ9MDtvcHRzLmFuaW1PdXQubGVmdD13O307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5zY3JvbGxIb3J6PWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLndpZHRoKCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyxmd2Qpe2lmKG9wdHMucmV2KXtmd2Q9IWZ3ZDt9JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7b3B0cy5jc3NCZWZvcmUubGVmdD1md2Q/KG5leHQuY3ljbGVXLTEpOigxLW5leHQuY3ljbGVXKTtvcHRzLmFuaW1PdXQubGVmdD1md2Q/LWN1cnIuY3ljbGVXOmN1cnIuY3ljbGVXO30pO29wdHMuY3NzRmlyc3QubGVmdD0wO29wdHMuY3NzQmVmb3JlLnRvcD0wO29wdHMuYW5pbUluLmxlZnQ9MDtvcHRzLmFuaW1PdXQudG9wPTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNjcm9sbFZlcnQ9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXskY29udC5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIik7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyxmd2Qpe2lmKG9wdHMucmV2KXtmd2Q9IWZ3ZDt9JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7b3B0cy5jc3NCZWZvcmUudG9wPWZ3ZD8oMS1uZXh0LmN5Y2xlSCk6KG5leHQuY3ljbGVILTEpO29wdHMuYW5pbU91dC50b3A9ZndkP2N1cnIuY3ljbGVIOi1jdXJyLmN5Y2xlSDt9KTtvcHRzLmNzc0ZpcnN0LnRvcD0wO29wdHMuY3NzQmVmb3JlLmxlZnQ9MDtvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmFuaW1PdXQubGVmdD0wO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5zbGlkZVg9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskKG9wdHMuZWxlbWVudHMpLm5vdChjdXJyKS5oaWRlKCk7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyxmYWxzZSx0cnVlKTtvcHRzLmFuaW1Jbi53aWR0aD1uZXh0LmN5Y2xlVzt9KTtvcHRzLmNzc0JlZm9yZS5sZWZ0PTA7b3B0cy5jc3NCZWZvcmUudG9wPTA7b3B0cy5jc3NCZWZvcmUud2lkdGg9MDtvcHRzLmFuaW1Jbi53aWR0aD0ic2hvdyI7b3B0cy5hbmltT3V0LndpZHRoPTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNsaWRlWT1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQob3B0cy5lbGVtZW50cykubm90KGN1cnIpLmhpZGUoKTskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLHRydWUsZmFsc2UpO29wdHMuYW5pbUluLmhlaWdodD1uZXh0LmN5Y2xlSDt9KTtvcHRzLmNzc0JlZm9yZS5sZWZ0PTA7b3B0cy5jc3NCZWZvcmUudG9wPTA7b3B0cy5jc3NCZWZvcmUuaGVpZ2h0PTA7b3B0cy5hbmltSW4uaGVpZ2h0PSJzaG93IjtvcHRzLmFuaW1PdXQuaGVpZ2h0PTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnNodWZmbGU9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXt2YXIgaSx3PSRjb250LmNzcygib3ZlcmZsb3ciLCJ2aXNpYmxlIikud2lkdGgoKTskc2xpZGVzLmNzcyh7bGVmdDowLHRvcDowfSk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLHRydWUsdHJ1ZSk7fSk7aWYoIW9wdHMuc3BlZWRBZGp1c3RlZCl7b3B0cy5zcGVlZD1vcHRzLnNwZWVkLzI7b3B0cy5zcGVlZEFkanVzdGVkPXRydWU7fW9wdHMucmFuZG9tPTA7b3B0cy5zaHVmZmxlPW9wdHMuc2h1ZmZsZXx8e2xlZnQ6LXcsdG9wOjE1fTtvcHRzLmVscz1bXTtmb3IoaT0wO2k8JHNsaWRlcy5sZW5ndGg7aSsrKXtvcHRzLmVscy5wdXNoKCRzbGlkZXNbaV0pO31mb3IoaT0wO2k8b3B0cy5jdXJyU2xpZGU7aSsrKXtvcHRzLmVscy5wdXNoKG9wdHMuZWxzLnNoaWZ0KCkpO31vcHRzLmZ4Rm49ZnVuY3Rpb24oY3VycixuZXh0LG9wdHMsY2IsZndkKXtpZihvcHRzLnJldil7ZndkPSFmd2Q7fXZhciAkZWw9ZndkPyQoY3Vycik6JChuZXh0KTskKG5leHQpLmNzcyhvcHRzLmNzc0JlZm9yZSk7dmFyIGNvdW50PW9wdHMuc2xpZGVDb3VudDskZWwuYW5pbWF0ZShvcHRzLnNodWZmbGUsb3B0cy5zcGVlZEluLG9wdHMuZWFzZUluLGZ1bmN0aW9uKCl7dmFyIGhvcHM9JC5mbi5jeWNsZS5ob3BzRnJvbUxhc3Qob3B0cyxmd2QpO2Zvcih2YXIgaz0wO2s8aG9wcztrKyspe2Z3ZD9vcHRzLmVscy5wdXNoKG9wdHMuZWxzLnNoaWZ0KCkpOm9wdHMuZWxzLnVuc2hpZnQob3B0cy5lbHMucG9wKCkpO31pZihmd2Qpe2Zvcih2YXIgaT0wLGxlbj1vcHRzLmVscy5sZW5ndGg7aTxsZW47aSsrKXskKG9wdHMuZWxzW2ldKS5jc3MoInotaW5kZXgiLGxlbi1pK2NvdW50KTt9fWVsc2V7dmFyIHo9JChjdXJyKS5jc3MoInotaW5kZXgiKTskZWwuY3NzKCJ6LWluZGV4IixwYXJzZUludCh6KSsxK2NvdW50KTt9JGVsLmFuaW1hdGUoe2xlZnQ6MCx0b3A6MH0sb3B0cy5zcGVlZE91dCxvcHRzLmVhc2VPdXQsZnVuY3Rpb24oKXskKGZ3ZD90aGlzOmN1cnIpLmhpZGUoKTtpZihjYil7Y2IoKTt9fSk7fSk7fTskLmV4dGVuZChvcHRzLmNzc0JlZm9yZSx7ZGlzcGxheToiYmxvY2siLG9wYWNpdHk6MSx0b3A6MCxsZWZ0OjB9KTt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMudHVyblVwPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLGZhbHNlKTtvcHRzLmNzc0JlZm9yZS50b3A9bmV4dC5jeWNsZUg7b3B0cy5hbmltSW4uaGVpZ2h0PW5leHQuY3ljbGVIO29wdHMuYW5pbU91dC53aWR0aD1uZXh0LmN5Y2xlVzt9KTtvcHRzLmNzc0ZpcnN0LnRvcD0wO29wdHMuY3NzQmVmb3JlLmxlZnQ9MDtvcHRzLmNzc0JlZm9yZS5oZWlnaHQ9MDtvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmFuaW1PdXQuaGVpZ2h0PTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnR1cm5Eb3duPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLGZhbHNlKTtvcHRzLmFuaW1Jbi5oZWlnaHQ9bmV4dC5jeWNsZUg7b3B0cy5hbmltT3V0LnRvcD1jdXJyLmN5Y2xlSDt9KTtvcHRzLmNzc0ZpcnN0LnRvcD0wO29wdHMuY3NzQmVmb3JlLmxlZnQ9MDtvcHRzLmNzc0JlZm9yZS50b3A9MDtvcHRzLmNzc0JlZm9yZS5oZWlnaHQ9MDtvcHRzLmFuaW1PdXQuaGVpZ2h0PTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnR1cm5MZWZ0PWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyxmYWxzZSx0cnVlKTtvcHRzLmNzc0JlZm9yZS5sZWZ0PW5leHQuY3ljbGVXO29wdHMuYW5pbUluLndpZHRoPW5leHQuY3ljbGVXO30pO29wdHMuY3NzQmVmb3JlLnRvcD0wO29wdHMuY3NzQmVmb3JlLndpZHRoPTA7b3B0cy5hbmltSW4ubGVmdD0wO29wdHMuYW5pbU91dC53aWR0aD0wO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy50dXJuUmlnaHQ9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLGZhbHNlLHRydWUpO29wdHMuYW5pbUluLndpZHRoPW5leHQuY3ljbGVXO29wdHMuYW5pbU91dC5sZWZ0PWN1cnIuY3ljbGVXO30pOyQuZXh0ZW5kKG9wdHMuY3NzQmVmb3JlLHt0b3A6MCxsZWZ0OjAsd2lkdGg6MH0pO29wdHMuYW5pbUluLmxlZnQ9MDtvcHRzLmFuaW1PdXQud2lkdGg9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuem9vbT1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMsZmFsc2UsZmFsc2UsdHJ1ZSk7b3B0cy5jc3NCZWZvcmUudG9wPW5leHQuY3ljbGVILzI7b3B0cy5jc3NCZWZvcmUubGVmdD1uZXh0LmN5Y2xlVy8yOyQuZXh0ZW5kKG9wdHMuYW5pbUluLHt0b3A6MCxsZWZ0OjAsd2lkdGg6bmV4dC5jeWNsZVcsaGVpZ2h0Om5leHQuY3ljbGVIfSk7JC5leHRlbmQob3B0cy5hbmltT3V0LHt3aWR0aDowLGhlaWdodDowLHRvcDpjdXJyLmN5Y2xlSC8yLGxlZnQ6Y3Vyci5jeWNsZVcvMn0pO30pO29wdHMuY3NzRmlyc3QudG9wPTA7b3B0cy5jc3NGaXJzdC5sZWZ0PTA7b3B0cy5jc3NCZWZvcmUud2lkdGg9MDtvcHRzLmNzc0JlZm9yZS5oZWlnaHQ9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuZmFkZVpvb209ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLGZhbHNlLGZhbHNlKTtvcHRzLmNzc0JlZm9yZS5sZWZ0PW5leHQuY3ljbGVXLzI7b3B0cy5jc3NCZWZvcmUudG9wPW5leHQuY3ljbGVILzI7JC5leHRlbmQob3B0cy5hbmltSW4se3RvcDowLGxlZnQ6MCx3aWR0aDpuZXh0LmN5Y2xlVyxoZWlnaHQ6bmV4dC5jeWNsZUh9KTt9KTtvcHRzLmNzc0JlZm9yZS53aWR0aD0wO29wdHMuY3NzQmVmb3JlLmhlaWdodD0wO29wdHMuYW5pbU91dC5vcGFjaXR5PTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLmJsaW5kWD1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3ZhciB3PSRjb250LmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKS53aWR0aCgpO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMpO29wdHMuYW5pbUluLndpZHRoPW5leHQuY3ljbGVXO29wdHMuYW5pbU91dC5sZWZ0PWN1cnIuY3ljbGVXO30pO29wdHMuY3NzQmVmb3JlLmxlZnQ9dztvcHRzLmNzc0JlZm9yZS50b3A9MDtvcHRzLmFuaW1Jbi5sZWZ0PTA7b3B0cy5hbmltT3V0LmxlZnQ9dzt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuYmxpbmRZPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7dmFyIGg9JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLmhlaWdodCgpO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMpO29wdHMuYW5pbUluLmhlaWdodD1uZXh0LmN5Y2xlSDtvcHRzLmFuaW1PdXQudG9wPWN1cnIuY3ljbGVIO30pO29wdHMuY3NzQmVmb3JlLnRvcD1oO29wdHMuY3NzQmVmb3JlLmxlZnQ9MDtvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmFuaW1PdXQudG9wPWg7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLmJsaW5kWj1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3ZhciBoPSRjb250LmNzcygib3ZlcmZsb3ciLCJoaWRkZW4iKS5oZWlnaHQoKTt2YXIgdz0kY29udC53aWR0aCgpO29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMpO29wdHMuYW5pbUluLmhlaWdodD1uZXh0LmN5Y2xlSDtvcHRzLmFuaW1PdXQudG9wPWN1cnIuY3ljbGVIO30pO29wdHMuY3NzQmVmb3JlLnRvcD1oO29wdHMuY3NzQmVmb3JlLmxlZnQ9dztvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmFuaW1Jbi5sZWZ0PTA7b3B0cy5hbmltT3V0LnRvcD1oO29wdHMuYW5pbU91dC5sZWZ0PXc7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLmdyb3dYPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyxmYWxzZSx0cnVlKTtvcHRzLmNzc0JlZm9yZS5sZWZ0PXRoaXMuY3ljbGVXLzI7b3B0cy5hbmltSW4ubGVmdD0wO29wdHMuYW5pbUluLndpZHRoPXRoaXMuY3ljbGVXO29wdHMuYW5pbU91dC5sZWZ0PTA7fSk7b3B0cy5jc3NCZWZvcmUudG9wPTA7b3B0cy5jc3NCZWZvcmUud2lkdGg9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuZ3Jvd1k9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLHRydWUsZmFsc2UpO29wdHMuY3NzQmVmb3JlLnRvcD10aGlzLmN5Y2xlSC8yO29wdHMuYW5pbUluLnRvcD0wO29wdHMuYW5pbUluLmhlaWdodD10aGlzLmN5Y2xlSDtvcHRzLmFuaW1PdXQudG9wPTA7fSk7b3B0cy5jc3NCZWZvcmUuaGVpZ2h0PTA7b3B0cy5jc3NCZWZvcmUubGVmdD0wO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5jdXJ0YWluWD1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe29wdHMuYmVmb3JlLnB1c2goZnVuY3Rpb24oY3VycixuZXh0LG9wdHMpeyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMsZmFsc2UsdHJ1ZSx0cnVlKTtvcHRzLmNzc0JlZm9yZS5sZWZ0PW5leHQuY3ljbGVXLzI7b3B0cy5hbmltSW4ubGVmdD0wO29wdHMuYW5pbUluLndpZHRoPXRoaXMuY3ljbGVXO29wdHMuYW5pbU91dC5sZWZ0PWN1cnIuY3ljbGVXLzI7b3B0cy5hbmltT3V0LndpZHRoPTA7fSk7b3B0cy5jc3NCZWZvcmUudG9wPTA7b3B0cy5jc3NCZWZvcmUud2lkdGg9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMuY3VydGFpblk9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXtvcHRzLmJlZm9yZS5wdXNoKGZ1bmN0aW9uKGN1cnIsbmV4dCxvcHRzKXskLmZuLmN5Y2xlLmNvbW1vblJlc2V0KGN1cnIsbmV4dCxvcHRzLHRydWUsZmFsc2UsdHJ1ZSk7b3B0cy5jc3NCZWZvcmUudG9wPW5leHQuY3ljbGVILzI7b3B0cy5hbmltSW4udG9wPTA7b3B0cy5hbmltSW4uaGVpZ2h0PW5leHQuY3ljbGVIO29wdHMuYW5pbU91dC50b3A9Y3Vyci5jeWNsZUgvMjtvcHRzLmFuaW1PdXQuaGVpZ2h0PTA7fSk7b3B0cy5jc3NCZWZvcmUuaGVpZ2h0PTA7b3B0cy5jc3NCZWZvcmUubGVmdD0wO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy5jb3Zlcj1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3ZhciBkPW9wdHMuZGlyZWN0aW9ufHwibGVmdCI7dmFyIHc9JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLndpZHRoKCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyk7aWYoZD09InJpZ2h0Iil7b3B0cy5jc3NCZWZvcmUubGVmdD0tdzt9ZWxzZXtpZihkPT0idXAiKXtvcHRzLmNzc0JlZm9yZS50b3A9aDt9ZWxzZXtpZihkPT0iZG93biIpe29wdHMuY3NzQmVmb3JlLnRvcD0taDt9ZWxzZXtvcHRzLmNzc0JlZm9yZS5sZWZ0PXc7fX19fSk7b3B0cy5hbmltSW4ubGVmdD0wO29wdHMuYW5pbUluLnRvcD0wO29wdHMuY3NzQmVmb3JlLnRvcD0wO29wdHMuY3NzQmVmb3JlLmxlZnQ9MDt9OyQuZm4uY3ljbGUudHJhbnNpdGlvbnMudW5jb3Zlcj1mdW5jdGlvbigkY29udCwkc2xpZGVzLG9wdHMpe3ZhciBkPW9wdHMuZGlyZWN0aW9ufHwibGVmdCI7dmFyIHc9JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLndpZHRoKCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLHRydWUsdHJ1ZSk7aWYoZD09InJpZ2h0Iil7b3B0cy5hbmltT3V0LmxlZnQ9dzt9ZWxzZXtpZihkPT0idXAiKXtvcHRzLmFuaW1PdXQudG9wPS1oO31lbHNle2lmKGQ9PSJkb3duIil7b3B0cy5hbmltT3V0LnRvcD1oO31lbHNle29wdHMuYW5pbU91dC5sZWZ0PS13O319fX0pO29wdHMuYW5pbUluLmxlZnQ9MDtvcHRzLmFuaW1Jbi50b3A9MDtvcHRzLmNzc0JlZm9yZS50b3A9MDtvcHRzLmNzc0JlZm9yZS5sZWZ0PTA7fTskLmZuLmN5Y2xlLnRyYW5zaXRpb25zLnRvc3M9ZnVuY3Rpb24oJGNvbnQsJHNsaWRlcyxvcHRzKXt2YXIgdz0kY29udC5jc3MoIm92ZXJmbG93IiwidmlzaWJsZSIpLndpZHRoKCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7JC5mbi5jeWNsZS5jb21tb25SZXNldChjdXJyLG5leHQsb3B0cyx0cnVlLHRydWUsdHJ1ZSk7aWYoIW9wdHMuYW5pbU91dC5sZWZ0JiYhb3B0cy5hbmltT3V0LnRvcCl7JC5leHRlbmQob3B0cy5hbmltT3V0LHtsZWZ0OncqMix0b3A6LWgvMixvcGFjaXR5OjB9KTt9ZWxzZXtvcHRzLmFuaW1PdXQub3BhY2l0eT0wO319KTtvcHRzLmNzc0JlZm9yZS5sZWZ0PTA7b3B0cy5jc3NCZWZvcmUudG9wPTA7b3B0cy5hbmltSW4ubGVmdD0wO307JC5mbi5jeWNsZS50cmFuc2l0aW9ucy53aXBlPWZ1bmN0aW9uKCRjb250LCRzbGlkZXMsb3B0cyl7dmFyIHc9JGNvbnQuY3NzKCJvdmVyZmxvdyIsImhpZGRlbiIpLndpZHRoKCk7dmFyIGg9JGNvbnQuaGVpZ2h0KCk7b3B0cy5jc3NCZWZvcmU9b3B0cy5jc3NCZWZvcmV8fHt9O3ZhciBjbGlwO2lmKG9wdHMuY2xpcCl7aWYoL2wyci8udGVzdChvcHRzLmNsaXApKXtjbGlwPSJyZWN0KDBweCAwcHggIitoKyJweCAwcHgpIjt9ZWxzZXtpZigvcjJsLy50ZXN0KG9wdHMuY2xpcCkpe2NsaXA9InJlY3QoMHB4ICIrdysicHggIitoKyJweCAiK3crInB4KSI7fWVsc2V7aWYoL3QyYi8udGVzdChvcHRzLmNsaXApKXtjbGlwPSJyZWN0KDBweCAiK3crInB4IDBweCAwcHgpIjt9ZWxzZXtpZigvYjJ0Ly50ZXN0KG9wdHMuY2xpcCkpe2NsaXA9InJlY3QoIitoKyJweCAiK3crInB4ICIraCsicHggMHB4KSI7fWVsc2V7aWYoL3pvb20vLnRlc3Qob3B0cy5jbGlwKSl7dmFyIHRvcD1wYXJzZUludChoLzIpO3ZhciBsZWZ0PXBhcnNlSW50KHcvMik7Y2xpcD0icmVjdCgiK3RvcCsicHggIitsZWZ0KyJweCAiK3RvcCsicHggIitsZWZ0KyJweCkiO319fX19fW9wdHMuY3NzQmVmb3JlLmNsaXA9b3B0cy5jc3NCZWZvcmUuY2xpcHx8Y2xpcHx8InJlY3QoMHB4IDBweCAwcHggMHB4KSI7dmFyIGQ9b3B0cy5jc3NCZWZvcmUuY2xpcC5tYXRjaCgvKFxkKykvZyk7dmFyIHQ9cGFyc2VJbnQoZFswXSkscj1wYXJzZUludChkWzFdKSxiPXBhcnNlSW50KGRbMl0pLGw9cGFyc2VJbnQoZFszXSk7b3B0cy5iZWZvcmUucHVzaChmdW5jdGlvbihjdXJyLG5leHQsb3B0cyl7aWYoY3Vycj09bmV4dCl7cmV0dXJuO312YXIgJGN1cnI9JChjdXJyKSwkbmV4dD0kKG5leHQpOyQuZm4uY3ljbGUuY29tbW9uUmVzZXQoY3VycixuZXh0LG9wdHMsdHJ1ZSx0cnVlLGZhbHNlKTtvcHRzLmNzc0FmdGVyLmRpc3BsYXk9ImJsb2NrIjt2YXIgc3RlcD0xLGNvdW50PXBhcnNlSW50KChvcHRzLnNwZWVkSW4vMTMpKS0xOyhmdW5jdGlvbiBmKCl7dmFyIHR0PXQ/dC1wYXJzZUludChzdGVwKih0L2NvdW50KSk6MDt2YXIgbGw9bD9sLXBhcnNlSW50KHN0ZXAqKGwvY291bnQpKTowO3ZhciBiYj1iPGg/YitwYXJzZUludChzdGVwKigoaC1iKS9jb3VudHx8MSkpOmg7dmFyIHJyPXI8dz9yK3BhcnNlSW50KHN0ZXAqKCh3LXIpL2NvdW50fHwxKSk6dzskbmV4dC5jc3Moe2NsaXA6InJlY3QoIit0dCsicHggIitycisicHggIitiYisicHggIitsbCsicHgpIn0pOyhzdGVwKys8PWNvdW50KT9zZXRUaW1lb3V0KGYsMTMpOiRjdXJyLmNzcygiZGlzcGxheSIsIm5vbmUiKTt9KSgpO30pOyQuZXh0ZW5kKG9wdHMuY3NzQmVmb3JlLHtkaXNwbGF5OiJibG9jayIsb3BhY2l0eToxLHRvcDowLGxlZnQ6MH0pO29wdHMuYW5pbUluPXtsZWZ0OjB9O29wdHMuYW5pbU91dD17bGVmdDowfTt9O30pKGpRdWVyeSk7DQoNCi8qIQkNCiAqIE1heGltYWdlIFZlcnNpb246IDIuMC44ICgxNi1KYW4tMjAxMikgLSBodHRwOi8vd3d3LmFhcm9udmFuZGVyendhbi5jb20vbWF4aW1hZ2UvMi4wLw0KICovDQooZnVuY3Rpb24oYSl7YS5mbi5tYXhpbWFnZT1mdW5jdGlvbihkLGUpe3ZhciBjO2lmKHR5cGVvZiBkPT0ib2JqZWN0Inx8ZD09PXVuZGVmaW5lZCl7Yz1hLmV4dGVuZChhLmZuLm1heGltYWdlLmRlZmF1bHRzLGR8fHt9KX1pZih0eXBlb2YgZD09InN0cmluZyIpe2M9YS5mbi5tYXhpbWFnZS5kZWZhdWx0c31hLkJvZHk9YSgiYm9keSIpO2EuV2luZG93PWEod2luZG93KTthLlNjcm9sbD1hKCJodG1sLCBib2R5Iik7YS5FdmVudHM9e1JFU0laRToicmVzaXplIn07dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG09YSh0aGlzKSxmPTAsaj1bXTt2YXIgaT17c2V0dXA6ZnVuY3Rpb24oKXtpZihhLlNsaWRlcy5sZW5ndGg+MCl7dmFyIHIscD1hLlNsaWRlcy5sZW5ndGg7Zm9yKHI9MDtyPHA7cisrKXt2YXIgcT1hLlNsaWRlc1tyXTttLmFwcGVuZCgnPGRpdiBjbGFzcz0ibWMtaW1hZ2UgJytxLnRoZWNsYXNzKyciIHRpdGxlPSInK3EuYWx0KyciIHN0eWxlPSJiYWNrZ3JvdW5kLWltYWdlOnVybChcJycrcS51cmwrIicpOyIrcS5zdHlsZSsnIiBkYXRhLWhyZWY9IicrcS5kYXRhaHJlZisnIj4nK3EuY29udGVudCsiPC9kaXY+Iil9aS5wcmVsb2FkKDApO2kucmVzaXplKCl9fSxwcmVsb2FkOmZ1bmN0aW9uKHEpe3ZhciBwPWEoIjxpbWcvPiIpO3AubG9hZChmdW5jdGlvbigpe2lmKGY9PTApe2cuc2V0dXAoKTtjLm9uRmlyc3RJbWFnZUxvYWRlZCgpfWlmKGY9PShhLlNsaWRlcy5sZW5ndGgtMSkpe2Mub25JbWFnZXNMb2FkZWQobSl9ZWxzZXtmKys7aS5wcmVsb2FkKGYpfX0pO3BbMF0uc3JjPWEuU2xpZGVzW3FdLnVybDtqLnB1c2gocFswXSl9LHJlc2l6ZTpmdW5jdGlvbigpe2EuV2luZG93LmJpbmQoYS5FdmVudHMuUkVTSVpFLGZ1bmN0aW9uKCl7YS5TY3JvbGwuYWRkQ2xhc3MoIm1jLWhpZGUtc2Nyb2xscyIpO2EuV2luZG93LmRhdGEoImgiLGsuc2l6ZXMoKS5oKS5kYXRhKCJ3IixrLnNpemVzKCkudyk7bS5oZWlnaHQoYS5XaW5kb3cuZGF0YSgiaCIpKS53aWR0aChhLldpbmRvdy5kYXRhKCJ3IikpLmNoaWxkcmVuKCkuaGVpZ2h0KGEuV2luZG93LmRhdGEoImgiKSkud2lkdGgoYS5XaW5kb3cuZGF0YSgidyIpKTttLmNoaWxkcmVuKCkuZWFjaChmdW5jdGlvbigpe3RoaXMuY3ljbGVIPWEuV2luZG93LmRhdGEoImgiKTt0aGlzLmN5Y2xlVz1hLldpbmRvdy5kYXRhKCJ3Iil9KTthKGEuU2Nyb2xsKS5yZW1vdmVDbGFzcygibWMtaGlkZS1zY3JvbGxzIil9KX19O3ZhciBoPXtzZXR1cDpmdW5jdGlvbigpe3ZhciB1LHMscSxyLHA9YS5TbGlkZXMubGVuZ3RoO2lmKGEuQnJvd3NlclRlc3RzLm1zaWUmJiFjLm92ZXJyaWRlTVNJRVN0b3Ape2RvY3VtZW50LmV4ZWNDb21tYW5kKCJTdG9wIixmYWxzZSl9bS5odG1sKCIiKTthLkJvZHkuYWRkQ2xhc3MoIm1jLW9sZC1icm93c2VyIik7aWYoYS5TbGlkZXMubGVuZ3RoPjApe2EuU2Nyb2xsLmFkZENsYXNzKCJtYy1oaWRlLXNjcm9sbHMiKTthLldpbmRvdy5kYXRhKCJoIixrLnNpemVzKCkuaCkuZGF0YSgidyIsay5zaXplcygpLncpO2EoImJvZHkiKS5hcHBlbmQoYSgiPGRpdj48L2Rpdj4iKS5hdHRyKCJjbGFzcyIsIm1jLWxvYWRlciIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIixsZWZ0OiItOTk5OXB4In0pKTtmb3Iocj0wO3I8cDtyKyspe2lmKGEuU2xpZGVzW3JdLmNvbnRlbnQubGVuZ3RoPT0wKXt1PSc8aW1nIHNyYz0iJythLlNsaWRlc1tyXS51cmwrJyIgLz4nfWVsc2V7dT1hLlNsaWRlc1tyXS5jb250ZW50fXE9YSgiPGRpdj4iK3UrIjwvZGl2PiIpLmF0dHIoImNsYXNzIiwibWMtaW1hZ2UgbWMtaW1hZ2UtbiIrcisiICIrYS5TbGlkZXNbcl0udGhlY2xhc3MpO20uYXBwZW5kKHEpO2lmKGEoIi5tYy1pbWFnZS1uIityKS5jaGlsZHJlbigiaW1nIikubGVuZ3RoPT0wKXt9ZWxzZXthKCJkaXYubWMtbG9hZGVyIikuYXBwZW5kKGEoIi5tYy1pbWFnZS1uIityKS5jaGlsZHJlbigiaW1nIikuZmlyc3QoKS5jbG9uZSgpLmFkZENsYXNzKCJub3QtbG9hZGVkIikpfX1oLnByZWxvYWQoKTtoLndpbmRvd1Jlc2l6ZSgpfX0scHJlbG9hZDpmdW5jdGlvbigpe3ZhciBwPXNldEludGVydmFsKGZ1bmN0aW9uKCl7YSgiLm1jLWxvYWRlciIpLmNoaWxkcmVuKCJpbWciKS5lYWNoKGZ1bmN0aW9uKHIpe3ZhciBxPWEodGhpcyk7aWYocS5oYXNDbGFzcygibm90LWxvYWRlZCIpKXtpZihxLmhlaWdodCgpPjApe2EodGhpcykucmVtb3ZlQ2xhc3MoIm5vdC1sb2FkZWQiKTt2YXIgcz1hKCJkaXYubWMtaW1hZ2UtbiIrcikuY2hpbGRyZW4oImltZyIpLmZpcnN0KCk7cy5kYXRhKCJoIixxLmhlaWdodCgpKS5kYXRhKCJ3IixxLndpZHRoKCkpLmRhdGEoImFyIiwocS53aWR0aCgpL3EuaGVpZ2h0KCkpKTtoLm9uY2VMb2FkZWQocil9fX0pO2lmKGEoIi5ub3QtbG9hZGVkIikubGVuZ3RoPT0wKXthKCIubWMtbG9hZGVyIikucmVtb3ZlKCk7Y2xlYXJJbnRlcnZhbChwKX19LDEwMDApfSxvbmNlTG9hZGVkOmZ1bmN0aW9uKHApe2gubWF4aW1hZ2UocCk7aWYocD09MCl7bS5jc3Moe3Zpc2liaWxpdHk6InZpc2libGUifSk7Yy5vbkZpcnN0SW1hZ2VMb2FkZWQoKX1lbHNle2lmKHA9PWEuU2xpZGVzLmxlbmd0aC0xKXtnLnNldHVwKCk7YShhLlNjcm9sbCkucmVtb3ZlQ2xhc3MoIm1jLWhpZGUtc2Nyb2xscyIpO2Mub25JbWFnZXNMb2FkZWQobSk7aWYoYy5kZWJ1Zyl7YigiIC0gRmluYWwgTWF4aW1hZ2UgLSAiKTtiKG0pfX19fSxtYXhpbWFnZTpmdW5jdGlvbihxKXthKCJkaXYubWMtaW1hZ2UtbiIrcSkuaGVpZ2h0KGEuV2luZG93LmRhdGEoImgiKSkud2lkdGgoYS5XaW5kb3cuZGF0YSgidyIpKS5jaGlsZHJlbigiaW1nIikuZmlyc3QoKS5lYWNoKGZ1bmN0aW9uKCl7bi5tYXhjb3ZlcihhKHRoaXMpKX0pfSx3aW5kb3dSZXNpemU6ZnVuY3Rpb24oKXthLldpbmRvdy5iaW5kKGEuRXZlbnRzLlJFU0laRSxmdW5jdGlvbigpe2NsZWFyVGltZW91dCh0aGlzLmlkKTt0aGlzLmlkPXNldFRpbWVvdXQoaC5kb25lUmVzaXppbmcsMjAwKX0pfSxkb25lUmVzaXppbmc6ZnVuY3Rpb24oKXthKGEuU2Nyb2xsKS5hZGRDbGFzcygibWMtaGlkZS1zY3JvbGxzIik7YS5XaW5kb3cuZGF0YSgiaCIsay5zaXplcygpLmgpLmRhdGEoInciLGsuc2l6ZXMoKS53KTttLmhlaWdodChhLldpbmRvdy5kYXRhKCJoIikpLndpZHRoKGEuV2luZG93LmRhdGEoInciKSk7bS5maW5kKCIubWMtaW1hZ2UiKS5lYWNoKGZ1bmN0aW9uKHEpe2gubWF4aW1hZ2UocSl9KTt2YXIgcD1tLmRhdGEoImN5Y2xlLm9wdHMiKTtpZihwIT11bmRlZmluZWQpe3AuaGVpZ2h0PWEuV2luZG93LmRhdGEoImgiKTtwLndpZHRoPWEuV2luZG93LmRhdGEoInciKTtqUXVlcnkuZWFjaChwLmVsZW1lbnRzLGZ1bmN0aW9uKHEscil7ci5jeWNsZVc9YS5XaW5kb3cuZGF0YSgidyIpO3IuY3ljbGVIPWEuV2luZG93LmRhdGEoImgiKX0pfWEoYS5TY3JvbGwpLnJlbW92ZUNsYXNzKCJtYy1oaWRlLXNjcm9sbHMiKX19O3ZhciBnPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBxLHA7bS5hZGRDbGFzcygibWMtY3ljbGUiKTthLldpbmRvdy5kYXRhKCJoIixrLnNpemVzKCkuaCkuZGF0YSgidyIsay5zaXplcygpLncpO2pRdWVyeS5lYXNpbmcuZWFzZUZvckNTU1RyYW5zaXRpb249ZnVuY3Rpb24odix3LHUsQSx6LHkpe3JldHVybiB1K0F9O3ZhciByPWEuZXh0ZW5kKHtmaXQ6MSxjb250YWluZXJSZXNpemU6MCxoZWlnaHQ6YS5XaW5kb3cuZGF0YSgiaCIpLHdpZHRoOmEuV2luZG93LmRhdGEoInciKSxzbGlkZVJlc2l6ZTpmYWxzZSxlYXNpbmc6KGEuQnJvd3NlclRlc3RzLmNzc1RyYW5zaXRpb25zJiZjLmNzc1RyYW5zaXRpb25zPyJlYXNlRm9yQ1NTVHJhbnNpdGlvbiI6InN3aW5nIil9LGMuY3ljbGVPcHRpb25zKTttLmN5Y2xlKHIpfX07dmFyIG49e2NlbnRlcjpmdW5jdGlvbihwKXtpZihjLnZlcnRpY2FsQ2VudGVyKXtwLmNzcyh7bWFyZ2luVG9wOigocC5oZWlnaHQoKS1hLldpbmRvdy5kYXRhKCJoIikpLzIpKi0xfSl9aWYoYy5ob3Jpem9udGFsQ2VudGVyKXtwLmNzcyh7bWFyZ2luTGVmdDooKHAud2lkdGgoKS1hLldpbmRvdy5kYXRhKCJ3IikpLzIpKi0xfSl9fSxmaWxsOmZ1bmN0aW9uKHApe3ZhciBxPXAuaXMoIm9iamVjdCIpP3AucGFyZW50KCkuZmlyc3QoKTpwO2lmKHR5cGVvZiBjLmJhY2tncm91bmRTaXplPT0iZnVuY3Rpb24iKXtjLmJhY2tncm91bmRTaXplKHApfWVsc2V7aWYoYy5iYWNrZ3JvdW5kU2l6ZT09ImNvdmVyIil7aWYoYS5XaW5kb3cuZGF0YSgidyIpL2EuV2luZG93LmRhdGEoImgiKTxxLmRhdGEoImFyIikpe3AuaGVpZ2h0KGEuV2luZG93LmRhdGEoImgiKSkud2lkdGgoKGEuV2luZG93LmRhdGEoImgiKSpxLmRhdGEoImFyIikpLnRvRml4ZWQoMCkpfWVsc2V7cC5oZWlnaHQoKGEuV2luZG93LmRhdGEoInciKS9xLmRhdGEoImFyIikpLnRvRml4ZWQoMCkpLndpZHRoKGEuV2luZG93LmRhdGEoInciKSl9fWVsc2V7aWYoYy5iYWNrZ3JvdW5kU2l6ZT09ImNvbnRhaW4iKXtpZihhLldpbmRvdy5kYXRhKCJ3IikvYS5XaW5kb3cuZGF0YSgiaCIpPHEuZGF0YSgiYXIiKSl7cC5oZWlnaHQoKGEuV2luZG93LmRhdGEoInciKS9xLmRhdGEoImFyIikpLnRvRml4ZWQoMCkpLndpZHRoKGEuV2luZG93LmRhdGEoInciKSl9ZWxzZXtwLmhlaWdodChhLldpbmRvdy5kYXRhKCJoIikpLndpZHRoKChhLldpbmRvdy5kYXRhKCJoIikqcS5kYXRhKCJhciIpKS50b0ZpeGVkKDApKX19ZWxzZXtiKCJUaGUgYmFja2dyb3VuZFNpemUgb3B0aW9uIHdhcyBub3QgcmVjb2duaXplZCBmb3Igb2xkZXIgYnJvd3NlcnMuIil9fX19LG1heGNvdmVyOmZ1bmN0aW9uKHApe24uZmlsbChwKTtuLmNlbnRlcihwKX0sbWF4Y29udGFpbjpmdW5jdGlvbihwKXtuLmZpbGwocCk7bi5jZW50ZXIocCl9fTt2YXIgaz17YnJvd3Nlcl90ZXN0czpmdW5jdGlvbigpe3ZhciBxPWEoIjxkaXYgLz4iKVswXSx1PVsiTW96IiwiV2Via2l0IiwiS2h0bWwiLCJPIiwibXMiXSx0PSJ0cmFuc2l0aW9uIixzPXtjc3NUcmFuc2l0aW9uczpmYWxzZSxjc3NCYWNrZ3JvdW5kU2l6ZTooImJhY2tncm91bmRTaXplIiBpbiBxLnN0eWxlJiZjLmNzc0JhY2tncm91bmRTaXplKSxodG1sNVZpZGVvOmZhbHNlLG1zaWU6ZmFsc2V9O2lmKGMuY3NzVHJhbnNpdGlvbnMpe2lmKHR5cGVvZiBxLnN0eWxlW3RdPT0ic3RyaW5nIil7cy5jc3NUcmFuc2l0aW9ucz10cnVlfXQ9dC5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSt0LnN1YnN0cigxKTtmb3IodmFyIHI9MDtyPHUubGVuZ3RoO3IrKyl7aWYodVtyXSt0IGluIHEuc3R5bGUpe3MuY3NzVHJhbnNpdGlvbnM9dHJ1ZX19fWlmKCEhZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidmlkZW8iKS5jYW5QbGF5VHlwZSl7cy5odG1sNVZpZGVvPXRydWV9cy5tc2llPShrLm1zaWUoKSE9PXVuZGVmaW5lZCk7aWYoYy5kZWJ1Zyl7YigiIC0gQnJvd3NlciBUZXN0IC0gIik7YihzKX1yZXR1cm4gc30sY29uc3RydWN0X3NsaWRlX29iamVjdDpmdW5jdGlvbigpe3ZhciByPW5ldyBPYmplY3QoKSxwPW5ldyBBcnJheSgpLHE9IiI7bS5jaGlsZHJlbigpLmVhY2goZnVuY3Rpb24odCl7dmFyIHM9YSh0aGlzKS5pcygiaW1nIik/YSh0aGlzKS5jbG9uZSgpOmEodGhpcykuZmluZCgiaW1nIikuZmlyc3QoKS5jbG9uZSgpO3I9e307ci51cmw9cy5hdHRyKCJzcmMiKTtyLnRpdGxlPXMuYXR0cigidGl0bGUiKSE9dW5kZWZpbmVkP3MuYXR0cigidGl0bGUiKToiIjtyLmFsdD1zLmF0dHIoImFsdCIpIT11bmRlZmluZWQ/cy5hdHRyKCJhbHQiKToiIjtyLnRoZWNsYXNzPXMuYXR0cigiY2xhc3MiKSE9dW5kZWZpbmVkP3MuYXR0cigiY2xhc3MiKToiIjtyLnN0eWxlcz1zLmF0dHIoInN0eWxlIikhPXVuZGVmaW5lZD9zLmF0dHIoInN0eWxlIik6IiI7ci5vcmlnPXMuY2xvbmUoKTtyLmRhdGFocmVmPXMuYXR0cigiZGF0YS1ocmVmIikhPXVuZGVmaW5lZD9zLmF0dHIoImRhdGEtaHJlZiIpOiIiO3IuY29udGVudD0iIjtpZihhKHRoaXMpLmZpbmQoImltZyIpLmxlbmd0aD4wKXtpZihhLkJyb3dzZXJUZXN0cy5jc3NCYWNrZ3JvdW5kU2l6ZSl7YSh0aGlzKS5maW5kKCJpbWciKS5maXJzdCgpLnJlbW92ZSgpfXIuY29udGVudD1hKHRoaXMpLmh0bWwoKX1zWzBdLnNyYz0iIjtpZihhLkJyb3dzZXJUZXN0cy5jc3NCYWNrZ3JvdW5kU2l6ZSl7YSh0aGlzKS5yZW1vdmUoKX1wLnB1c2gocil9KTtpZihjLmRlYnVnKXtiKCIgLSBTbGlkZSBPYmplY3QgLSAiKTtiKHApfXJldHVybiBwfSxtc2llOmZ1bmN0aW9uKCl7dmFyIHIscD0zLHM9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikscT1zLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJpIik7d2hpbGUocy5pbm5lckhUTUw9IjwhLS1baWYgZ3QgSUUgIisoKytwKSsiXT48aT48L2k+PCFbZW5kaWZdLS0+IixxWzBdKXt9cmV0dXJuIHA+ND9wOnJ9LHNpemVzOmZ1bmN0aW9uKCl7dmFyIHA9e2g6MCx3OjB9O2lmKGMuZmlsbEVsZW1lbnQ9PSJ3aW5kb3ciKXtwLmg9YS5XaW5kb3cuaGVpZ2h0KCk7cC53PWEuV2luZG93LndpZHRoKCl9ZWxzZXt2YXIgcT1tLnBhcmVudHMoYy5maWxsRWxlbWVudCkuZmlyc3QoKTtpZihxLmhlaWdodCgpPT0wfHxxLmRhdGEoIndpbmRvd0hlaWdodCIpPT10cnVlKXtxLmRhdGEoIndpbmRvd0hlaWdodCIsdHJ1ZSk7cC5oPWEuV2luZG93LmhlaWdodCgpfWVsc2V7cC5oPXEuaGVpZ2h0KCl9aWYocS53aWR0aCgpPT0wfHxxLmRhdGEoIndpbmRvd1dpZHRoIik9PXRydWUpe3EuZGF0YSgid2luZG93V2lkdGgiLHRydWUpO3Audz1hLldpbmRvdy53aWR0aCgpfWVsc2V7cC53PXEud2lkdGgoKX19cmV0dXJuIHB9fTthLkJyb3dzZXJUZXN0cz1rLmJyb3dzZXJfdGVzdHMoKTtpZih0eXBlb2YgZD09InN0cmluZyIpe2lmKGEuQnJvd3NlclRlc3RzLmh0bWw1VmlkZW98fCFtLmlzKCJ2aWRlbyIpKXt2YXIgbCxvPW0uaXMoIm9iamVjdCIpP20ucGFyZW50KCkuZmlyc3QoKTptO2lmKCFhLkJvZHkuaGFzQ2xhc3MoIm1jLW9sZC1icm93c2VyIikpe2EuQm9keS5hZGRDbGFzcygibWMtb2xkLWJyb3dzZXIiKX1hLldpbmRvdy5kYXRhKCJoIixrLnNpemVzKCkuaCkuZGF0YSgidyIsay5zaXplcygpLncpO28uZGF0YSgiaCIsbS5oZWlnaHQoKSkuZGF0YSgidyIsbS53aWR0aCgpKS5kYXRhKCJhciIsbS53aWR0aCgpL20uaGVpZ2h0KCkpO2EuV2luZG93LmJpbmQoYS5FdmVudHMuUkVTSVpFLGZ1bmN0aW9uKCl7YS5XaW5kb3cuZGF0YSgiaCIsay5zaXplcygpLmgpLmRhdGEoInciLGsuc2l6ZXMoKS53KTtsPW0uZGF0YSgicmVzaXplciIpO2NsZWFyVGltZW91dChsKTtsPXNldFRpbWVvdXQobltkXShtKSwyMDApO20uZGF0YSgicmVzaXplciIsbCl9KTtuW2RdKG0pfX1lbHNle2EuU2xpZGVzPWsuY29uc3RydWN0X3NsaWRlX29iamVjdCgpO2lmKGEuQnJvd3NlclRlc3RzLmNzc0JhY2tncm91bmRTaXplKXtpZihjLmRlYnVnKXtiKCIgLSBVc2luZyBNb2Rlcm4gLSAiKX1pLnNldHVwKCl9ZWxzZXtpZihjLmRlYnVnKXtiKCIgLSBVc2luZyBPbGQgLSAiKX1oLnNldHVwKCl9fX0pO2Z1bmN0aW9uIGIoZil7aWYod2luZG93LmNvbnNvbGUmJndpbmRvdy5jb25zb2xlLmxvZyl7d2luZG93LmNvbnNvbGUubG9nKGYpfX19O2EuZm4ubWF4aW1hZ2UuZGVmYXVsdHM9e2RlYnVnOmZhbHNlLGNzc0JhY2tncm91bmRTaXplOnRydWUsY3NzVHJhbnNpdGlvbnM6dHJ1ZSx2ZXJ0aWNhbENlbnRlcjp0cnVlLGhvcml6b250YWxDZW50ZXI6dHJ1ZSxzY2FsZUludGVydmFsOjIwLGJhY2tncm91bmRTaXplOiJjb3ZlciIsZmlsbEVsZW1lbnQ6IndpbmRvdyIsb3ZlcnJpZGVNU0lFU3RvcDpmYWxzZSxvbkZpcnN0SW1hZ2VMb2FkZWQ6ZnVuY3Rpb24oKXt9LG9uSW1hZ2VzTG9hZGVkOmZ1bmN0aW9uKCl7fX19KShqUXVlcnkpOw0KDQovKg0KICogIEJ4U2xpZGVyDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCg0KLyoqDQogKiBCeFNsaWRlciB2NC4xLjIgLSBGdWxseSBsb2FkZWQsIHJlc3BvbnNpdmUgY29udGVudCBzbGlkZXINCiAqLw0KIWZ1bmN0aW9uKHQpe3ZhciBlPXt9LHM9e21vZGU6Imhvcml6b250YWwiLHNsaWRlU2VsZWN0b3I6IiIsaW5maW5pdGVMb29wOiEwLGhpZGVDb250cm9sT25FbmQ6ITEsc3BlZWQ6NTAwLGVhc2luZzpudWxsLHNsaWRlTWFyZ2luOjAsc3RhcnRTbGlkZTowLHJhbmRvbVN0YXJ0OiExLGNhcHRpb25zOiExLHRpY2tlcjohMSx0aWNrZXJIb3ZlcjohMSxhZGFwdGl2ZUhlaWdodDohMSxhZGFwdGl2ZUhlaWdodFNwZWVkOjUwMCx2aWRlbzohMSx1c2VDU1M6ITAscHJlbG9hZEltYWdlczoidmlzaWJsZSIscmVzcG9uc2l2ZTohMCxzbGlkZVpJbmRleDo1MCx0b3VjaEVuYWJsZWQ6ITAsc3dpcGVUaHJlc2hvbGQ6NTAsb25lVG9PbmVUb3VjaDohMCxwcmV2ZW50RGVmYXVsdFN3aXBlWDohMCxwcmV2ZW50RGVmYXVsdFN3aXBlWTohMSxwYWdlcjohMCxwYWdlclR5cGU6ImZ1bGwiLHBhZ2VyU2hvcnRTZXBhcmF0b3I6IiAvICIscGFnZXJTZWxlY3RvcjpudWxsLGJ1aWxkUGFnZXI6bnVsbCxwYWdlckN1c3RvbTpudWxsLGNvbnRyb2xzOiEwLG5leHRUZXh0OiJOZXh0IixwcmV2VGV4dDoiUHJldiIsbmV4dFNlbGVjdG9yOm51bGwscHJldlNlbGVjdG9yOm51bGwsYXV0b0NvbnRyb2xzOiExLHN0YXJ0VGV4dDoiU3RhcnQiLHN0b3BUZXh0OiJTdG9wIixhdXRvQ29udHJvbHNDb21iaW5lOiExLGF1dG9Db250cm9sc1NlbGVjdG9yOm51bGwsYXV0bzohMSxwYXVzZTo0ZTMsYXV0b1N0YXJ0OiEwLGF1dG9EaXJlY3Rpb246Im5leHQiLGF1dG9Ib3ZlcjohMSxhdXRvRGVsYXk6MCxtaW5TbGlkZXM6MSxtYXhTbGlkZXM6MSxtb3ZlU2xpZGVzOjAsc2xpZGVXaWR0aDowLG9uU2xpZGVyTG9hZDpmdW5jdGlvbigpe30sb25TbGlkZUJlZm9yZTpmdW5jdGlvbigpe30sb25TbGlkZUFmdGVyOmZ1bmN0aW9uKCl7fSxvblNsaWRlTmV4dDpmdW5jdGlvbigpe30sb25TbGlkZVByZXY6ZnVuY3Rpb24oKXt9LG9uU2xpZGVyUmVzaXplOmZ1bmN0aW9uKCl7fX07dC5mbi5ieFNsaWRlcj1mdW5jdGlvbihuKXtpZigwPT10aGlzLmxlbmd0aClyZXR1cm4gdGhpcztpZih0aGlzLmxlbmd0aD4xKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt0KHRoaXMpLmJ4U2xpZGVyKG4pfSksdGhpczt2YXIgbz17fSxyPXRoaXM7ZS5lbD10aGlzO3ZhciBhPXQod2luZG93KS53aWR0aCgpLGw9dCh3aW5kb3cpLmhlaWdodCgpLGQ9ZnVuY3Rpb24oKXtvLnNldHRpbmdzPXQuZXh0ZW5kKHt9LHMsbiksby5zZXR0aW5ncy5zbGlkZVdpZHRoPXBhcnNlSW50KG8uc2V0dGluZ3Muc2xpZGVXaWR0aCksby5jaGlsZHJlbj1yLmNoaWxkcmVuKG8uc2V0dGluZ3Muc2xpZGVTZWxlY3Rvciksby5jaGlsZHJlbi5sZW5ndGg8by5zZXR0aW5ncy5taW5TbGlkZXMmJihvLnNldHRpbmdzLm1pblNsaWRlcz1vLmNoaWxkcmVuLmxlbmd0aCksby5jaGlsZHJlbi5sZW5ndGg8by5zZXR0aW5ncy5tYXhTbGlkZXMmJihvLnNldHRpbmdzLm1heFNsaWRlcz1vLmNoaWxkcmVuLmxlbmd0aCksby5zZXR0aW5ncy5yYW5kb21TdGFydCYmKG8uc2V0dGluZ3Muc3RhcnRTbGlkZT1NYXRoLmZsb29yKE1hdGgucmFuZG9tKCkqby5jaGlsZHJlbi5sZW5ndGgpKSxvLmFjdGl2ZT17aW5kZXg6by5zZXR0aW5ncy5zdGFydFNsaWRlfSxvLmNhcm91c2VsPW8uc2V0dGluZ3MubWluU2xpZGVzPjF8fG8uc2V0dGluZ3MubWF4U2xpZGVzPjEsby5jYXJvdXNlbCYmKG8uc2V0dGluZ3MucHJlbG9hZEltYWdlcz0iYWxsIiksby5taW5UaHJlc2hvbGQ9by5zZXR0aW5ncy5taW5TbGlkZXMqby5zZXR0aW5ncy5zbGlkZVdpZHRoKyhvLnNldHRpbmdzLm1pblNsaWRlcy0xKSpvLnNldHRpbmdzLnNsaWRlTWFyZ2luLG8ubWF4VGhyZXNob2xkPW8uc2V0dGluZ3MubWF4U2xpZGVzKm8uc2V0dGluZ3Muc2xpZGVXaWR0aCsoby5zZXR0aW5ncy5tYXhTbGlkZXMtMSkqby5zZXR0aW5ncy5zbGlkZU1hcmdpbixvLndvcmtpbmc9ITEsby5jb250cm9scz17fSxvLmludGVydmFsPW51bGwsby5hbmltUHJvcD0idmVydGljYWwiPT1vLnNldHRpbmdzLm1vZGU/InRvcCI6ImxlZnQiLG8udXNpbmdDU1M9by5zZXR0aW5ncy51c2VDU1MmJiJmYWRlIiE9by5zZXR0aW5ncy5tb2RlJiZmdW5jdGlvbigpe3ZhciB0PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpLGU9WyJXZWJraXRQZXJzcGVjdGl2ZSIsIk1velBlcnNwZWN0aXZlIiwiT1BlcnNwZWN0aXZlIiwibXNQZXJzcGVjdGl2ZSJdO2Zvcih2YXIgaSBpbiBlKWlmKHZvaWQgMCE9PXQuc3R5bGVbZVtpXV0pcmV0dXJuIG8uY3NzUHJlZml4PWVbaV0ucmVwbGFjZSgiUGVyc3BlY3RpdmUiLCIiKS50b0xvd2VyQ2FzZSgpLG8uYW5pbVByb3A9Ii0iK28uY3NzUHJlZml4KyItdHJhbnNmb3JtIiwhMDtyZXR1cm4hMX0oKSwidmVydGljYWwiPT1vLnNldHRpbmdzLm1vZGUmJihvLnNldHRpbmdzLm1heFNsaWRlcz1vLnNldHRpbmdzLm1pblNsaWRlcyksci5kYXRhKCJvcmlnU3R5bGUiLHIuYXR0cigic3R5bGUiKSksci5jaGlsZHJlbihvLnNldHRpbmdzLnNsaWRlU2VsZWN0b3IpLmVhY2goZnVuY3Rpb24oKXt0KHRoaXMpLmRhdGEoIm9yaWdTdHlsZSIsdCh0aGlzKS5hdHRyKCJzdHlsZSIpKX0pLGMoKX0sYz1mdW5jdGlvbigpe3Iud3JhcCgnPGRpdiBjbGFzcz0iYngtd3JhcHBlciI+PGRpdiBjbGFzcz0iYngtdmlld3BvcnQiPjwvZGl2PjwvZGl2PicpLG8udmlld3BvcnQ9ci5wYXJlbnQoKSxvLmxvYWRlcj10KCc8ZGl2IGNsYXNzPSJieC1sb2FkaW5nIiAvPicpLG8udmlld3BvcnQucHJlcGVuZChvLmxvYWRlciksci5jc3Moe3dpZHRoOiJob3Jpem9udGFsIj09by5zZXR0aW5ncy5tb2RlPzEwMCpvLmNoaWxkcmVuLmxlbmd0aCsyMTUrIiUiOiJhdXRvIixwb3NpdGlvbjoicmVsYXRpdmUifSksby51c2luZ0NTUyYmby5zZXR0aW5ncy5lYXNpbmc/ci5jc3MoIi0iK28uY3NzUHJlZml4KyItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24iLG8uc2V0dGluZ3MuZWFzaW5nKTpvLnNldHRpbmdzLmVhc2luZ3x8KG8uc2V0dGluZ3MuZWFzaW5nPSJzd2luZyIpLGYoKSxvLnZpZXdwb3J0LmNzcyh7d2lkdGg6IjEwMCUiLG92ZXJmbG93OiJoaWRkZW4iLHBvc2l0aW9uOiJyZWxhdGl2ZSJ9KSxvLnZpZXdwb3J0LnBhcmVudCgpLmNzcyh7bWF4V2lkdGg6cCgpfSksby5zZXR0aW5ncy5wYWdlcnx8by52aWV3cG9ydC5wYXJlbnQoKS5jc3Moe21hcmdpbjoiMCBhdXRvIDBweCJ9KSxvLmNoaWxkcmVuLmNzcyh7ImZsb2F0IjoiaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZT8ibGVmdCI6Im5vbmUiLGxpc3RTdHlsZToibm9uZSIscG9zaXRpb246InJlbGF0aXZlIn0pLG8uY2hpbGRyZW4uY3NzKCJ3aWR0aCIsdSgpKSwiaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZSYmby5zZXR0aW5ncy5zbGlkZU1hcmdpbj4wJiZvLmNoaWxkcmVuLmNzcygibWFyZ2luUmlnaHQiLG8uc2V0dGluZ3Muc2xpZGVNYXJnaW4pLCJ2ZXJ0aWNhbCI9PW8uc2V0dGluZ3MubW9kZSYmby5zZXR0aW5ncy5zbGlkZU1hcmdpbj4wJiZvLmNoaWxkcmVuLmNzcygibWFyZ2luQm90dG9tIixvLnNldHRpbmdzLnNsaWRlTWFyZ2luKSwiZmFkZSI9PW8uc2V0dGluZ3MubW9kZSYmKG8uY2hpbGRyZW4uY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUiLHpJbmRleDowLGRpc3BsYXk6Im5vbmUifSksby5jaGlsZHJlbi5lcShvLnNldHRpbmdzLnN0YXJ0U2xpZGUpLmNzcyh7ekluZGV4Om8uc2V0dGluZ3Muc2xpZGVaSW5kZXgsZGlzcGxheToiYmxvY2sifSkpLG8uY29udHJvbHMuZWw9dCgnPGRpdiBjbGFzcz0iYngtY29udHJvbHMiIC8+Jyksby5zZXR0aW5ncy5jYXB0aW9ucyYmUCgpLG8uYWN0aXZlLmxhc3Q9by5zZXR0aW5ncy5zdGFydFNsaWRlPT14KCktMSxvLnNldHRpbmdzLnZpZGVvJiZyLmZpdFZpZHMoKTt2YXIgZT1vLmNoaWxkcmVuLmVxKG8uc2V0dGluZ3Muc3RhcnRTbGlkZSk7ImFsbCI9PW8uc2V0dGluZ3MucHJlbG9hZEltYWdlcyYmKGU9by5jaGlsZHJlbiksby5zZXR0aW5ncy50aWNrZXI/by5zZXR0aW5ncy5wYWdlcj0hMTooby5zZXR0aW5ncy5wYWdlciYmVCgpLG8uc2V0dGluZ3MuY29udHJvbHMmJkMoKSxvLnNldHRpbmdzLmF1dG8mJm8uc2V0dGluZ3MuYXV0b0NvbnRyb2xzJiZFKCksKG8uc2V0dGluZ3MuY29udHJvbHN8fG8uc2V0dGluZ3MuYXV0b0NvbnRyb2xzfHxvLnNldHRpbmdzLnBhZ2VyKSYmby52aWV3cG9ydC5hZnRlcihvLmNvbnRyb2xzLmVsKSksZyhlLGgpfSxnPWZ1bmN0aW9uKGUsaSl7dmFyIHM9ZS5maW5kKCJpbWcsIGlmcmFtZSIpLmxlbmd0aDtpZigwPT1zKXJldHVybiBpKCksdm9pZCAwO3ZhciBuPTA7ZS5maW5kKCJpbWcsIGlmcmFtZSIpLmVhY2goZnVuY3Rpb24oKXt0KHRoaXMpLm9uZSgibG9hZCIsZnVuY3Rpb24oKXsrK249PXMmJmkoKX0pLmVhY2goZnVuY3Rpb24oKXt0aGlzLmNvbXBsZXRlJiZ0KHRoaXMpLmxvYWQoKX0pfSl9LGg9ZnVuY3Rpb24oKXtpZihvLnNldHRpbmdzLmluZmluaXRlTG9vcCYmImZhZGUiIT1vLnNldHRpbmdzLm1vZGUmJiFvLnNldHRpbmdzLnRpY2tlcil7dmFyIGU9InZlcnRpY2FsIj09by5zZXR0aW5ncy5tb2RlP28uc2V0dGluZ3MubWluU2xpZGVzOm8uc2V0dGluZ3MubWF4U2xpZGVzLGk9by5jaGlsZHJlbi5zbGljZSgwLGUpLmNsb25lKCkuYWRkQ2xhc3MoImJ4LWNsb25lIikscz1vLmNoaWxkcmVuLnNsaWNlKC1lKS5jbG9uZSgpLmFkZENsYXNzKCJieC1jbG9uZSIpO3IuYXBwZW5kKGkpLnByZXBlbmQocyl9by5sb2FkZXIucmVtb3ZlKCksUygpLCJ2ZXJ0aWNhbCI9PW8uc2V0dGluZ3MubW9kZSYmKG8uc2V0dGluZ3MuYWRhcHRpdmVIZWlnaHQ9ITApLG8udmlld3BvcnQuaGVpZ2h0KHYoKSksci5yZWRyYXdTbGlkZXIoKSxvLnNldHRpbmdzLm9uU2xpZGVyTG9hZChvLmFjdGl2ZS5pbmRleCksby5pbml0aWFsaXplZD0hMCxvLnNldHRpbmdzLnJlc3BvbnNpdmUmJnQod2luZG93KS5iaW5kKCJyZXNpemUiLFopLG8uc2V0dGluZ3MuYXV0byYmby5zZXR0aW5ncy5hdXRvU3RhcnQmJkgoKSxvLnNldHRpbmdzLnRpY2tlciYmTCgpLG8uc2V0dGluZ3MucGFnZXImJnEoby5zZXR0aW5ncy5zdGFydFNsaWRlKSxvLnNldHRpbmdzLmNvbnRyb2xzJiZXKCksby5zZXR0aW5ncy50b3VjaEVuYWJsZWQmJiFvLnNldHRpbmdzLnRpY2tlciYmTygpfSx2PWZ1bmN0aW9uKCl7dmFyIGU9MCxzPXQoKTtpZigidmVydGljYWwiPT1vLnNldHRpbmdzLm1vZGV8fG8uc2V0dGluZ3MuYWRhcHRpdmVIZWlnaHQpaWYoby5jYXJvdXNlbCl7dmFyIG49MT09by5zZXR0aW5ncy5tb3ZlU2xpZGVzP28uYWN0aXZlLmluZGV4Om8uYWN0aXZlLmluZGV4Km0oKTtmb3Iocz1vLmNoaWxkcmVuLmVxKG4pLGk9MTtpPD1vLnNldHRpbmdzLm1heFNsaWRlcy0xO2krKylzPW4raT49by5jaGlsZHJlbi5sZW5ndGg/cy5hZGQoby5jaGlsZHJlbi5lcShpLTEpKTpzLmFkZChvLmNoaWxkcmVuLmVxKG4raSkpfWVsc2Ugcz1vLmNoaWxkcmVuLmVxKG8uYWN0aXZlLmluZGV4KTtlbHNlIHM9by5jaGlsZHJlbjtyZXR1cm4idmVydGljYWwiPT1vLnNldHRpbmdzLm1vZGU/KHMuZWFjaChmdW5jdGlvbigpe2UrPXQodGhpcykub3V0ZXJIZWlnaHQoKX0pLG8uc2V0dGluZ3Muc2xpZGVNYXJnaW4+MCYmKGUrPW8uc2V0dGluZ3Muc2xpZGVNYXJnaW4qKG8uc2V0dGluZ3MubWluU2xpZGVzLTEpKSk6ZT1NYXRoLm1heC5hcHBseShNYXRoLHMubWFwKGZ1bmN0aW9uKCl7cmV0dXJuIHQodGhpcykub3V0ZXJIZWlnaHQoITEpfSkuZ2V0KCkpLGV9LHA9ZnVuY3Rpb24oKXt2YXIgdD0iMTAwJSI7cmV0dXJuIG8uc2V0dGluZ3Muc2xpZGVXaWR0aD4wJiYodD0iaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZT9vLnNldHRpbmdzLm1heFNsaWRlcypvLnNldHRpbmdzLnNsaWRlV2lkdGgrKG8uc2V0dGluZ3MubWF4U2xpZGVzLTEpKm8uc2V0dGluZ3Muc2xpZGVNYXJnaW46by5zZXR0aW5ncy5zbGlkZVdpZHRoKSx0fSx1PWZ1bmN0aW9uKCl7dmFyIHQ9by5zZXR0aW5ncy5zbGlkZVdpZHRoLGU9by52aWV3cG9ydC53aWR0aCgpO3JldHVybiAwPT1vLnNldHRpbmdzLnNsaWRlV2lkdGh8fG8uc2V0dGluZ3Muc2xpZGVXaWR0aD5lJiYhby5jYXJvdXNlbHx8InZlcnRpY2FsIj09by5zZXR0aW5ncy5tb2RlP3Q9ZTpvLnNldHRpbmdzLm1heFNsaWRlcz4xJiYiaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZSYmKGU+by5tYXhUaHJlc2hvbGR8fGU8by5taW5UaHJlc2hvbGQmJih0PShlLW8uc2V0dGluZ3Muc2xpZGVNYXJnaW4qKG8uc2V0dGluZ3MubWluU2xpZGVzLTEpKS9vLnNldHRpbmdzLm1pblNsaWRlcykpLHR9LGY9ZnVuY3Rpb24oKXt2YXIgdD0xO2lmKCJob3Jpem9udGFsIj09by5zZXR0aW5ncy5tb2RlJiZvLnNldHRpbmdzLnNsaWRlV2lkdGg+MClpZihvLnZpZXdwb3J0LndpZHRoKCk8by5taW5UaHJlc2hvbGQpdD1vLnNldHRpbmdzLm1pblNsaWRlcztlbHNlIGlmKG8udmlld3BvcnQud2lkdGgoKT5vLm1heFRocmVzaG9sZCl0PW8uc2V0dGluZ3MubWF4U2xpZGVzO2Vsc2V7dmFyIGU9by5jaGlsZHJlbi5maXJzdCgpLndpZHRoKCk7dD1NYXRoLmZsb29yKG8udmlld3BvcnQud2lkdGgoKS9lKX1lbHNlInZlcnRpY2FsIj09by5zZXR0aW5ncy5tb2RlJiYodD1vLnNldHRpbmdzLm1pblNsaWRlcyk7cmV0dXJuIHR9LHg9ZnVuY3Rpb24oKXt2YXIgdD0wO2lmKG8uc2V0dGluZ3MubW92ZVNsaWRlcz4wKWlmKG8uc2V0dGluZ3MuaW5maW5pdGVMb29wKXQ9by5jaGlsZHJlbi5sZW5ndGgvbSgpO2Vsc2UgZm9yKHZhciBlPTAsaT0wO2U8by5jaGlsZHJlbi5sZW5ndGg7KSsrdCxlPWkrZigpLGkrPW8uc2V0dGluZ3MubW92ZVNsaWRlczw9ZigpP28uc2V0dGluZ3MubW92ZVNsaWRlczpmKCk7ZWxzZSB0PU1hdGguY2VpbChvLmNoaWxkcmVuLmxlbmd0aC9mKCkpO3JldHVybiB0fSxtPWZ1bmN0aW9uKCl7cmV0dXJuIG8uc2V0dGluZ3MubW92ZVNsaWRlcz4wJiZvLnNldHRpbmdzLm1vdmVTbGlkZXM8PWYoKT9vLnNldHRpbmdzLm1vdmVTbGlkZXM6ZigpfSxTPWZ1bmN0aW9uKCl7aWYoby5jaGlsZHJlbi5sZW5ndGg+by5zZXR0aW5ncy5tYXhTbGlkZXMmJm8uYWN0aXZlLmxhc3QmJiFvLnNldHRpbmdzLmluZmluaXRlTG9vcCl7aWYoImhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGUpe3ZhciB0PW8uY2hpbGRyZW4ubGFzdCgpLGU9dC5wb3NpdGlvbigpO2IoLShlLmxlZnQtKG8udmlld3BvcnQud2lkdGgoKS10LndpZHRoKCkpKSwicmVzZXQiLDApfWVsc2UgaWYoInZlcnRpY2FsIj09by5zZXR0aW5ncy5tb2RlKXt2YXIgaT1vLmNoaWxkcmVuLmxlbmd0aC1vLnNldHRpbmdzLm1pblNsaWRlcyxlPW8uY2hpbGRyZW4uZXEoaSkucG9zaXRpb24oKTtiKC1lLnRvcCwicmVzZXQiLDApfX1lbHNle3ZhciBlPW8uY2hpbGRyZW4uZXEoby5hY3RpdmUuaW5kZXgqbSgpKS5wb3NpdGlvbigpO28uYWN0aXZlLmluZGV4PT14KCktMSYmKG8uYWN0aXZlLmxhc3Q9ITApLHZvaWQgMCE9ZSYmKCJob3Jpem9udGFsIj09by5zZXR0aW5ncy5tb2RlP2IoLWUubGVmdCwicmVzZXQiLDApOiJ2ZXJ0aWNhbCI9PW8uc2V0dGluZ3MubW9kZSYmYigtZS50b3AsInJlc2V0IiwwKSl9fSxiPWZ1bmN0aW9uKHQsZSxpLHMpe2lmKG8udXNpbmdDU1Mpe3ZhciBuPSJ2ZXJ0aWNhbCI9PW8uc2V0dGluZ3MubW9kZT8idHJhbnNsYXRlM2QoMCwgIit0KyJweCwgMCkiOiJ0cmFuc2xhdGUzZCgiK3QrInB4LCAwLCAwKSI7ci5jc3MoIi0iK28uY3NzUHJlZml4KyItdHJhbnNpdGlvbi1kdXJhdGlvbiIsaS8xZTMrInMiKSwic2xpZGUiPT1lPyhyLmNzcyhvLmFuaW1Qcm9wLG4pLHIuYmluZCgidHJhbnNpdGlvbmVuZCB3ZWJraXRUcmFuc2l0aW9uRW5kIG9UcmFuc2l0aW9uRW5kIE1TVHJhbnNpdGlvbkVuZCIsZnVuY3Rpb24oKXtyLnVuYmluZCgidHJhbnNpdGlvbmVuZCB3ZWJraXRUcmFuc2l0aW9uRW5kIG9UcmFuc2l0aW9uRW5kIE1TVHJhbnNpdGlvbkVuZCIpLEQoKX0pKToicmVzZXQiPT1lP3IuY3NzKG8uYW5pbVByb3Asbik6InRpY2tlciI9PWUmJihyLmNzcygiLSIrby5jc3NQcmVmaXgrIi10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiIsImxpbmVhciIpLHIuY3NzKG8uYW5pbVByb3Asbiksci5iaW5kKCJ0cmFuc2l0aW9uZW5kIHdlYmtpdFRyYW5zaXRpb25FbmQgb1RyYW5zaXRpb25FbmQgTVNUcmFuc2l0aW9uRW5kIixmdW5jdGlvbigpe3IudW5iaW5kKCJ0cmFuc2l0aW9uZW5kIHdlYmtpdFRyYW5zaXRpb25FbmQgb1RyYW5zaXRpb25FbmQgTVNUcmFuc2l0aW9uRW5kIiksYihzLnJlc2V0VmFsdWUsInJlc2V0IiwwKSxOKCl9KSl9ZWxzZXt2YXIgYT17fTthW28uYW5pbVByb3BdPXQsInNsaWRlIj09ZT9yLmFuaW1hdGUoYSxpLG8uc2V0dGluZ3MuZWFzaW5nLGZ1bmN0aW9uKCl7RCgpfSk6InJlc2V0Ij09ZT9yLmNzcyhvLmFuaW1Qcm9wLHQpOiJ0aWNrZXIiPT1lJiZyLmFuaW1hdGUoYSxzcGVlZCwibGluZWFyIixmdW5jdGlvbigpe2Iocy5yZXNldFZhbHVlLCJyZXNldCIsMCksTigpfSl9fSx3PWZ1bmN0aW9uKCl7Zm9yKHZhciBlPSIiLGk9eCgpLHM9MDtpPnM7cysrKXt2YXIgbj0iIjtvLnNldHRpbmdzLmJ1aWxkUGFnZXImJnQuaXNGdW5jdGlvbihvLnNldHRpbmdzLmJ1aWxkUGFnZXIpPyhuPW8uc2V0dGluZ3MuYnVpbGRQYWdlcihzKSxvLnBhZ2VyRWwuYWRkQ2xhc3MoImJ4LWN1c3RvbS1wYWdlciIpKToobj1zKzEsby5wYWdlckVsLmFkZENsYXNzKCJieC1kZWZhdWx0LXBhZ2VyIikpLGUrPSc8ZGl2IGNsYXNzPSJieC1wYWdlci1pdGVtIj48YSBocmVmPSIiIGRhdGEtc2xpZGUtaW5kZXg9IicrcysnIiBjbGFzcz0iYngtcGFnZXItbGluayI+JytuKyI8L2E+PC9kaXY+In1vLnBhZ2VyRWwuaHRtbChlKX0sVD1mdW5jdGlvbigpe28uc2V0dGluZ3MucGFnZXJDdXN0b20/by5wYWdlckVsPXQoby5zZXR0aW5ncy5wYWdlckN1c3RvbSk6KG8ucGFnZXJFbD10KCc8ZGl2IGNsYXNzPSJieC1wYWdlciIgLz4nKSxvLnNldHRpbmdzLnBhZ2VyU2VsZWN0b3I/dChvLnNldHRpbmdzLnBhZ2VyU2VsZWN0b3IpLmh0bWwoby5wYWdlckVsKTpvLmNvbnRyb2xzLmVsLmFkZENsYXNzKCJieC1oYXMtcGFnZXIiKS5hcHBlbmQoby5wYWdlckVsKSx3KCkpLG8ucGFnZXJFbC5vbigiY2xpY2siLCJhIixJKX0sQz1mdW5jdGlvbigpe28uY29udHJvbHMubmV4dD10KCc8YSBjbGFzcz0iYngtbmV4dCIgaHJlZj0iIj4nK28uc2V0dGluZ3MubmV4dFRleHQrIjwvYT4iKSxvLmNvbnRyb2xzLnByZXY9dCgnPGEgY2xhc3M9ImJ4LXByZXYiIGhyZWY9IiI+JytvLnNldHRpbmdzLnByZXZUZXh0KyI8L2E+Iiksby5jb250cm9scy5uZXh0LmJpbmQoImNsaWNrIix5KSxvLmNvbnRyb2xzLnByZXYuYmluZCgiY2xpY2siLHopLG8uc2V0dGluZ3MubmV4dFNlbGVjdG9yJiZ0KG8uc2V0dGluZ3MubmV4dFNlbGVjdG9yKS5hcHBlbmQoby5jb250cm9scy5uZXh0KSxvLnNldHRpbmdzLnByZXZTZWxlY3RvciYmdChvLnNldHRpbmdzLnByZXZTZWxlY3RvcikuYXBwZW5kKG8uY29udHJvbHMucHJldiksby5zZXR0aW5ncy5uZXh0U2VsZWN0b3J8fG8uc2V0dGluZ3MucHJldlNlbGVjdG9yfHwoby5jb250cm9scy5kaXJlY3Rpb25FbD10KCc8ZGl2IGNsYXNzPSJieC1jb250cm9scy1kaXJlY3Rpb24iIC8+Jyksby5jb250cm9scy5kaXJlY3Rpb25FbC5hcHBlbmQoby5jb250cm9scy5wcmV2KS5hcHBlbmQoby5jb250cm9scy5uZXh0KSxvLmNvbnRyb2xzLmVsLmFkZENsYXNzKCJieC1oYXMtY29udHJvbHMtZGlyZWN0aW9uIikuYXBwZW5kKG8uY29udHJvbHMuZGlyZWN0aW9uRWwpKX0sRT1mdW5jdGlvbigpe28uY29udHJvbHMuc3RhcnQ9dCgnPGRpdiBjbGFzcz0iYngtY29udHJvbHMtYXV0by1pdGVtIj48YSBjbGFzcz0iYngtc3RhcnQiIGhyZWY9IiI+JytvLnNldHRpbmdzLnN0YXJ0VGV4dCsiPC9hPjwvZGl2PiIpLG8uY29udHJvbHMuc3RvcD10KCc8ZGl2IGNsYXNzPSJieC1jb250cm9scy1hdXRvLWl0ZW0iPjxhIGNsYXNzPSJieC1zdG9wIiBocmVmPSIiPicrby5zZXR0aW5ncy5zdG9wVGV4dCsiPC9hPjwvZGl2PiIpLG8uY29udHJvbHMuYXV0b0VsPXQoJzxkaXYgY2xhc3M9ImJ4LWNvbnRyb2xzLWF1dG8iIC8+Jyksby5jb250cm9scy5hdXRvRWwub24oImNsaWNrIiwiLmJ4LXN0YXJ0IixrKSxvLmNvbnRyb2xzLmF1dG9FbC5vbigiY2xpY2siLCIuYngtc3RvcCIsTSksby5zZXR0aW5ncy5hdXRvQ29udHJvbHNDb21iaW5lP28uY29udHJvbHMuYXV0b0VsLmFwcGVuZChvLmNvbnRyb2xzLnN0YXJ0KTpvLmNvbnRyb2xzLmF1dG9FbC5hcHBlbmQoby5jb250cm9scy5zdGFydCkuYXBwZW5kKG8uY29udHJvbHMuc3RvcCksby5zZXR0aW5ncy5hdXRvQ29udHJvbHNTZWxlY3Rvcj90KG8uc2V0dGluZ3MuYXV0b0NvbnRyb2xzU2VsZWN0b3IpLmh0bWwoby5jb250cm9scy5hdXRvRWwpOm8uY29udHJvbHMuZWwuYWRkQ2xhc3MoImJ4LWhhcy1jb250cm9scy1hdXRvIikuYXBwZW5kKG8uY29udHJvbHMuYXV0b0VsKSxBKG8uc2V0dGluZ3MuYXV0b1N0YXJ0PyJzdG9wIjoic3RhcnQiKX0sUD1mdW5jdGlvbigpe28uY2hpbGRyZW4uZWFjaChmdW5jdGlvbigpe3ZhciBlPXQodGhpcykuZmluZCgiaW1nOmZpcnN0IikuYXR0cigidGl0bGUiKTt2b2lkIDAhPWUmJigiIitlKS5sZW5ndGgmJnQodGhpcykuYXBwZW5kKCc8ZGl2IGNsYXNzPSJieC1jYXB0aW9uIj48c3Bhbj4nK2UrIjwvc3Bhbj48L2Rpdj4iKX0pfSx5PWZ1bmN0aW9uKHQpe28uc2V0dGluZ3MuYXV0byYmci5zdG9wQXV0bygpLHIuZ29Ub05leHRTbGlkZSgpLHQucHJldmVudERlZmF1bHQoKX0sej1mdW5jdGlvbih0KXtvLnNldHRpbmdzLmF1dG8mJnIuc3RvcEF1dG8oKSxyLmdvVG9QcmV2U2xpZGUoKSx0LnByZXZlbnREZWZhdWx0KCl9LGs9ZnVuY3Rpb24odCl7ci5zdGFydEF1dG8oKSx0LnByZXZlbnREZWZhdWx0KCl9LE09ZnVuY3Rpb24odCl7ci5zdG9wQXV0bygpLHQucHJldmVudERlZmF1bHQoKX0sST1mdW5jdGlvbihlKXtvLnNldHRpbmdzLmF1dG8mJnIuc3RvcEF1dG8oKTt2YXIgaT10KGUuY3VycmVudFRhcmdldCkscz1wYXJzZUludChpLmF0dHIoImRhdGEtc2xpZGUtaW5kZXgiKSk7cyE9by5hY3RpdmUuaW5kZXgmJnIuZ29Ub1NsaWRlKHMpLGUucHJldmVudERlZmF1bHQoKX0scT1mdW5jdGlvbihlKXt2YXIgaT1vLmNoaWxkcmVuLmxlbmd0aDtyZXR1cm4ic2hvcnQiPT1vLnNldHRpbmdzLnBhZ2VyVHlwZT8oby5zZXR0aW5ncy5tYXhTbGlkZXM+MSYmKGk9TWF0aC5jZWlsKG8uY2hpbGRyZW4ubGVuZ3RoL28uc2V0dGluZ3MubWF4U2xpZGVzKSksby5wYWdlckVsLmh0bWwoZSsxK28uc2V0dGluZ3MucGFnZXJTaG9ydFNlcGFyYXRvcitpKSx2b2lkIDApOihvLnBhZ2VyRWwuZmluZCgiYSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUiKSxvLnBhZ2VyRWwuZWFjaChmdW5jdGlvbihpLHMpe3QocykuZmluZCgiYSIpLmVxKGUpLmFkZENsYXNzKCJhY3RpdmUiKX0pLHZvaWQgMCl9LEQ9ZnVuY3Rpb24oKXtpZihvLnNldHRpbmdzLmluZmluaXRlTG9vcCl7dmFyIHQ9IiI7MD09by5hY3RpdmUuaW5kZXg/dD1vLmNoaWxkcmVuLmVxKDApLnBvc2l0aW9uKCk6by5hY3RpdmUuaW5kZXg9PXgoKS0xJiZvLmNhcm91c2VsP3Q9by5jaGlsZHJlbi5lcSgoeCgpLTEpKm0oKSkucG9zaXRpb24oKTpvLmFjdGl2ZS5pbmRleD09by5jaGlsZHJlbi5sZW5ndGgtMSYmKHQ9by5jaGlsZHJlbi5lcShvLmNoaWxkcmVuLmxlbmd0aC0xKS5wb3NpdGlvbigpKSx0JiYoImhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGU/YigtdC5sZWZ0LCJyZXNldCIsMCk6InZlcnRpY2FsIj09by5zZXR0aW5ncy5tb2RlJiZiKC10LnRvcCwicmVzZXQiLDApKX1vLndvcmtpbmc9ITEsby5zZXR0aW5ncy5vblNsaWRlQWZ0ZXIoby5jaGlsZHJlbi5lcShvLmFjdGl2ZS5pbmRleCksby5vbGRJbmRleCxvLmFjdGl2ZS5pbmRleCl9LEE9ZnVuY3Rpb24odCl7by5zZXR0aW5ncy5hdXRvQ29udHJvbHNDb21iaW5lP28uY29udHJvbHMuYXV0b0VsLmh0bWwoby5jb250cm9sc1t0XSk6KG8uY29udHJvbHMuYXV0b0VsLmZpbmQoImEiKS5yZW1vdmVDbGFzcygiYWN0aXZlIiksby5jb250cm9scy5hdXRvRWwuZmluZCgiYTpub3QoLmJ4LSIrdCsiKSIpLmFkZENsYXNzKCJhY3RpdmUiKSl9LFc9ZnVuY3Rpb24oKXsxPT14KCk/KG8uY29udHJvbHMucHJldi5hZGRDbGFzcygiZGlzYWJsZWQiKSxvLmNvbnRyb2xzLm5leHQuYWRkQ2xhc3MoImRpc2FibGVkIikpOiFvLnNldHRpbmdzLmluZmluaXRlTG9vcCYmby5zZXR0aW5ncy5oaWRlQ29udHJvbE9uRW5kJiYoMD09by5hY3RpdmUuaW5kZXg/KG8uY29udHJvbHMucHJldi5hZGRDbGFzcygiZGlzYWJsZWQiKSxvLmNvbnRyb2xzLm5leHQucmVtb3ZlQ2xhc3MoImRpc2FibGVkIikpOm8uYWN0aXZlLmluZGV4PT14KCktMT8oby5jb250cm9scy5uZXh0LmFkZENsYXNzKCJkaXNhYmxlZCIpLG8uY29udHJvbHMucHJldi5yZW1vdmVDbGFzcygiZGlzYWJsZWQiKSk6KG8uY29udHJvbHMucHJldi5yZW1vdmVDbGFzcygiZGlzYWJsZWQiKSxvLmNvbnRyb2xzLm5leHQucmVtb3ZlQ2xhc3MoImRpc2FibGVkIikpKX0sSD1mdW5jdGlvbigpe28uc2V0dGluZ3MuYXV0b0RlbGF5PjA/c2V0VGltZW91dChyLnN0YXJ0QXV0byxvLnNldHRpbmdzLmF1dG9EZWxheSk6ci5zdGFydEF1dG8oKSxvLnNldHRpbmdzLmF1dG9Ib3ZlciYmci5ob3ZlcihmdW5jdGlvbigpe28uaW50ZXJ2YWwmJihyLnN0b3BBdXRvKCEwKSxvLmF1dG9QYXVzZWQ9ITApfSxmdW5jdGlvbigpe28uYXV0b1BhdXNlZCYmKHIuc3RhcnRBdXRvKCEwKSxvLmF1dG9QYXVzZWQ9bnVsbCl9KX0sTD1mdW5jdGlvbigpe3ZhciBlPTA7aWYoIm5leHQiPT1vLnNldHRpbmdzLmF1dG9EaXJlY3Rpb24pci5hcHBlbmQoby5jaGlsZHJlbi5jbG9uZSgpLmFkZENsYXNzKCJieC1jbG9uZSIpKTtlbHNle3IucHJlcGVuZChvLmNoaWxkcmVuLmNsb25lKCkuYWRkQ2xhc3MoImJ4LWNsb25lIikpO3ZhciBpPW8uY2hpbGRyZW4uZmlyc3QoKS5wb3NpdGlvbigpO2U9Imhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGU/LWkubGVmdDotaS50b3B9YihlLCJyZXNldCIsMCksby5zZXR0aW5ncy5wYWdlcj0hMSxvLnNldHRpbmdzLmNvbnRyb2xzPSExLG8uc2V0dGluZ3MuYXV0b0NvbnRyb2xzPSExLG8uc2V0dGluZ3MudGlja2VySG92ZXImJiFvLnVzaW5nQ1NTJiZvLnZpZXdwb3J0LmhvdmVyKGZ1bmN0aW9uKCl7ci5zdG9wKCl9LGZ1bmN0aW9uKCl7dmFyIGU9MDtvLmNoaWxkcmVuLmVhY2goZnVuY3Rpb24oKXtlKz0iaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZT90KHRoaXMpLm91dGVyV2lkdGgoITApOnQodGhpcykub3V0ZXJIZWlnaHQoITApfSk7dmFyIGk9by5zZXR0aW5ncy5zcGVlZC9lLHM9Imhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGU/ImxlZnQiOiJ0b3AiLG49aSooZS1NYXRoLmFicyhwYXJzZUludChyLmNzcyhzKSkpKTtOKG4pfSksTigpfSxOPWZ1bmN0aW9uKHQpe3NwZWVkPXQ/dDpvLnNldHRpbmdzLnNwZWVkO3ZhciBlPXtsZWZ0OjAsdG9wOjB9LGk9e2xlZnQ6MCx0b3A6MH07Im5leHQiPT1vLnNldHRpbmdzLmF1dG9EaXJlY3Rpb24/ZT1yLmZpbmQoIi5ieC1jbG9uZSIpLmZpcnN0KCkucG9zaXRpb24oKTppPW8uY2hpbGRyZW4uZmlyc3QoKS5wb3NpdGlvbigpO3ZhciBzPSJob3Jpem9udGFsIj09by5zZXR0aW5ncy5tb2RlPy1lLmxlZnQ6LWUudG9wLG49Imhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGU/LWkubGVmdDotaS50b3AsYT17cmVzZXRWYWx1ZTpufTtiKHMsInRpY2tlciIsc3BlZWQsYSl9LE89ZnVuY3Rpb24oKXtvLnRvdWNoPXtzdGFydDp7eDowLHk6MH0sZW5kOnt4OjAseTowfX0sby52aWV3cG9ydC5iaW5kKCJ0b3VjaHN0YXJ0IixYKX0sWD1mdW5jdGlvbih0KXtpZihvLndvcmtpbmcpdC5wcmV2ZW50RGVmYXVsdCgpO2Vsc2V7by50b3VjaC5vcmlnaW5hbFBvcz1yLnBvc2l0aW9uKCk7dmFyIGU9dC5vcmlnaW5hbEV2ZW50O28udG91Y2guc3RhcnQueD1lLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYLG8udG91Y2guc3RhcnQueT1lLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZLG8udmlld3BvcnQuYmluZCgidG91Y2htb3ZlIixZKSxvLnZpZXdwb3J0LmJpbmQoInRvdWNoZW5kIixWKX19LFk9ZnVuY3Rpb24odCl7dmFyIGU9dC5vcmlnaW5hbEV2ZW50LGk9TWF0aC5hYnMoZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWC1vLnRvdWNoLnN0YXJ0LngpLHM9TWF0aC5hYnMoZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWS1vLnRvdWNoLnN0YXJ0LnkpO2lmKDMqaT5zJiZvLnNldHRpbmdzLnByZXZlbnREZWZhdWx0U3dpcGVYP3QucHJldmVudERlZmF1bHQoKTozKnM+aSYmby5zZXR0aW5ncy5wcmV2ZW50RGVmYXVsdFN3aXBlWSYmdC5wcmV2ZW50RGVmYXVsdCgpLCJmYWRlIiE9by5zZXR0aW5ncy5tb2RlJiZvLnNldHRpbmdzLm9uZVRvT25lVG91Y2gpe3ZhciBuPTA7aWYoImhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGUpe3ZhciByPWUuY2hhbmdlZFRvdWNoZXNbMF0ucGFnZVgtby50b3VjaC5zdGFydC54O249by50b3VjaC5vcmlnaW5hbFBvcy5sZWZ0K3J9ZWxzZXt2YXIgcj1lLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VZLW8udG91Y2guc3RhcnQueTtuPW8udG91Y2gub3JpZ2luYWxQb3MudG9wK3J9YihuLCJyZXNldCIsMCl9fSxWPWZ1bmN0aW9uKHQpe28udmlld3BvcnQudW5iaW5kKCJ0b3VjaG1vdmUiLFkpO3ZhciBlPXQub3JpZ2luYWxFdmVudCxpPTA7aWYoby50b3VjaC5lbmQueD1lLmNoYW5nZWRUb3VjaGVzWzBdLnBhZ2VYLG8udG91Y2guZW5kLnk9ZS5jaGFuZ2VkVG91Y2hlc1swXS5wYWdlWSwiZmFkZSI9PW8uc2V0dGluZ3MubW9kZSl7dmFyIHM9TWF0aC5hYnMoby50b3VjaC5zdGFydC54LW8udG91Y2guZW5kLngpO3M+PW8uc2V0dGluZ3Muc3dpcGVUaHJlc2hvbGQmJihvLnRvdWNoLnN0YXJ0Lng+by50b3VjaC5lbmQueD9yLmdvVG9OZXh0U2xpZGUoKTpyLmdvVG9QcmV2U2xpZGUoKSxyLnN0b3BBdXRvKCkpfWVsc2V7dmFyIHM9MDsiaG9yaXpvbnRhbCI9PW8uc2V0dGluZ3MubW9kZT8ocz1vLnRvdWNoLmVuZC54LW8udG91Y2guc3RhcnQueCxpPW8udG91Y2gub3JpZ2luYWxQb3MubGVmdCk6KHM9by50b3VjaC5lbmQueS1vLnRvdWNoLnN0YXJ0LnksaT1vLnRvdWNoLm9yaWdpbmFsUG9zLnRvcCksIW8uc2V0dGluZ3MuaW5maW5pdGVMb29wJiYoMD09by5hY3RpdmUuaW5kZXgmJnM+MHx8by5hY3RpdmUubGFzdCYmMD5zKT9iKGksInJlc2V0IiwyMDApOk1hdGguYWJzKHMpPj1vLnNldHRpbmdzLnN3aXBlVGhyZXNob2xkPygwPnM/ci5nb1RvTmV4dFNsaWRlKCk6ci5nb1RvUHJldlNsaWRlKCksci5zdG9wQXV0bygpKTpiKGksInJlc2V0IiwyMDApfW8udmlld3BvcnQudW5iaW5kKCJ0b3VjaGVuZCIsVil9LFo9ZnVuY3Rpb24oKXt2YXIgZT10KHdpbmRvdykud2lkdGgoKSxpPXQod2luZG93KS5oZWlnaHQoKTsoYSE9ZXx8bCE9aSkmJihhPWUsbD1pLHIucmVkcmF3U2xpZGVyKCksby5zZXR0aW5ncy5vblNsaWRlclJlc2l6ZS5jYWxsKHIsby5hY3RpdmUuaW5kZXgpKX07cmV0dXJuIHIuZ29Ub1NsaWRlPWZ1bmN0aW9uKGUsaSl7aWYoIW8ud29ya2luZyYmby5hY3RpdmUuaW5kZXghPWUpaWYoby53b3JraW5nPSEwLG8ub2xkSW5kZXg9by5hY3RpdmUuaW5kZXgsby5hY3RpdmUuaW5kZXg9MD5lP3goKS0xOmU+PXgoKT8wOmUsby5zZXR0aW5ncy5vblNsaWRlQmVmb3JlKG8uY2hpbGRyZW4uZXEoby5hY3RpdmUuaW5kZXgpLG8ub2xkSW5kZXgsby5hY3RpdmUuaW5kZXgpLCJuZXh0Ij09aT9vLnNldHRpbmdzLm9uU2xpZGVOZXh0KG8uY2hpbGRyZW4uZXEoby5hY3RpdmUuaW5kZXgpLG8ub2xkSW5kZXgsby5hY3RpdmUuaW5kZXgpOiJwcmV2Ij09aSYmby5zZXR0aW5ncy5vblNsaWRlUHJldihvLmNoaWxkcmVuLmVxKG8uYWN0aXZlLmluZGV4KSxvLm9sZEluZGV4LG8uYWN0aXZlLmluZGV4KSxvLmFjdGl2ZS5sYXN0PW8uYWN0aXZlLmluZGV4Pj14KCktMSxvLnNldHRpbmdzLnBhZ2VyJiZxKG8uYWN0aXZlLmluZGV4KSxvLnNldHRpbmdzLmNvbnRyb2xzJiZXKCksImZhZGUiPT1vLnNldHRpbmdzLm1vZGUpby5zZXR0aW5ncy5hZGFwdGl2ZUhlaWdodCYmby52aWV3cG9ydC5oZWlnaHQoKSE9digpJiZvLnZpZXdwb3J0LmFuaW1hdGUoe2hlaWdodDp2KCl9LG8uc2V0dGluZ3MuYWRhcHRpdmVIZWlnaHRTcGVlZCksby5jaGlsZHJlbi5maWx0ZXIoIjp2aXNpYmxlIikuZmFkZU91dChvLnNldHRpbmdzLnNwZWVkKS5jc3Moe3pJbmRleDowfSksby5jaGlsZHJlbi5lcShvLmFjdGl2ZS5pbmRleCkuY3NzKCJ6SW5kZXgiLG8uc2V0dGluZ3Muc2xpZGVaSW5kZXgrMSkuZmFkZUluKG8uc2V0dGluZ3Muc3BlZWQsZnVuY3Rpb24oKXt0KHRoaXMpLmNzcygiekluZGV4IixvLnNldHRpbmdzLnNsaWRlWkluZGV4KSxEKCl9KTtlbHNle28uc2V0dGluZ3MuYWRhcHRpdmVIZWlnaHQmJm8udmlld3BvcnQuaGVpZ2h0KCkhPXYoKSYmby52aWV3cG9ydC5hbmltYXRlKHtoZWlnaHQ6digpfSxvLnNldHRpbmdzLmFkYXB0aXZlSGVpZ2h0U3BlZWQpO3ZhciBzPTAsbj17bGVmdDowLHRvcDowfTtpZighby5zZXR0aW5ncy5pbmZpbml0ZUxvb3AmJm8uY2Fyb3VzZWwmJm8uYWN0aXZlLmxhc3QpaWYoImhvcml6b250YWwiPT1vLnNldHRpbmdzLm1vZGUpe3ZhciBhPW8uY2hpbGRyZW4uZXEoby5jaGlsZHJlbi5sZW5ndGgtMSk7bj1hLnBvc2l0aW9uKCkscz1vLnZpZXdwb3J0LndpZHRoKCktYS5vdXRlcldpZHRoKCl9ZWxzZXt2YXIgbD1vLmNoaWxkcmVuLmxlbmd0aC1vLnNldHRpbmdzLm1pblNsaWRlcztuPW8uY2hpbGRyZW4uZXEobCkucG9zaXRpb24oKX1lbHNlIGlmKG8uY2Fyb3VzZWwmJm8uYWN0aXZlLmxhc3QmJiJwcmV2Ij09aSl7dmFyIGQ9MT09by5zZXR0aW5ncy5tb3ZlU2xpZGVzP28uc2V0dGluZ3MubWF4U2xpZGVzLW0oKTooeCgpLTEpKm0oKS0oby5jaGlsZHJlbi5sZW5ndGgtby5zZXR0aW5ncy5tYXhTbGlkZXMpLGE9ci5jaGlsZHJlbigiLmJ4LWNsb25lIikuZXEoZCk7bj1hLnBvc2l0aW9uKCl9ZWxzZSBpZigibmV4dCI9PWkmJjA9PW8uYWN0aXZlLmluZGV4KW49ci5maW5kKCI+IC5ieC1jbG9uZSIpLmVxKG8uc2V0dGluZ3MubWF4U2xpZGVzKS5wb3NpdGlvbigpLG8uYWN0aXZlLmxhc3Q9ITE7ZWxzZSBpZihlPj0wKXt2YXIgYz1lKm0oKTtuPW8uY2hpbGRyZW4uZXEoYykucG9zaXRpb24oKX1pZigidW5kZWZpbmVkIiE9dHlwZW9mIG4pe3ZhciBnPSJob3Jpem9udGFsIj09by5zZXR0aW5ncy5tb2RlPy0obi5sZWZ0LXMpOi1uLnRvcDtiKGcsInNsaWRlIixvLnNldHRpbmdzLnNwZWVkKX19fSxyLmdvVG9OZXh0U2xpZGU9ZnVuY3Rpb24oKXtpZihvLnNldHRpbmdzLmluZmluaXRlTG9vcHx8IW8uYWN0aXZlLmxhc3Qpe3ZhciB0PXBhcnNlSW50KG8uYWN0aXZlLmluZGV4KSsxO3IuZ29Ub1NsaWRlKHQsIm5leHQiKX19LHIuZ29Ub1ByZXZTbGlkZT1mdW5jdGlvbigpe2lmKG8uc2V0dGluZ3MuaW5maW5pdGVMb29wfHwwIT1vLmFjdGl2ZS5pbmRleCl7dmFyIHQ9cGFyc2VJbnQoby5hY3RpdmUuaW5kZXgpLTE7ci5nb1RvU2xpZGUodCwicHJldiIpfX0sci5zdGFydEF1dG89ZnVuY3Rpb24odCl7by5pbnRlcnZhbHx8KG8uaW50ZXJ2YWw9c2V0SW50ZXJ2YWwoZnVuY3Rpb24oKXsibmV4dCI9PW8uc2V0dGluZ3MuYXV0b0RpcmVjdGlvbj9yLmdvVG9OZXh0U2xpZGUoKTpyLmdvVG9QcmV2U2xpZGUoKX0sby5zZXR0aW5ncy5wYXVzZSksby5zZXR0aW5ncy5hdXRvQ29udHJvbHMmJjEhPXQmJkEoInN0b3AiKSl9LHIuc3RvcEF1dG89ZnVuY3Rpb24odCl7by5pbnRlcnZhbCYmKGNsZWFySW50ZXJ2YWwoby5pbnRlcnZhbCksby5pbnRlcnZhbD1udWxsLG8uc2V0dGluZ3MuYXV0b0NvbnRyb2xzJiYxIT10JiZBKCJzdGFydCIpKX0sci5nZXRDdXJyZW50U2xpZGU9ZnVuY3Rpb24oKXtyZXR1cm4gby5hY3RpdmUuaW5kZXh9LHIuZ2V0Q3VycmVudFNsaWRlRWxlbWVudD1mdW5jdGlvbigpe3JldHVybiBvLmNoaWxkcmVuLmVxKG8uYWN0aXZlLmluZGV4KX0sci5nZXRTbGlkZUNvdW50PWZ1bmN0aW9uKCl7cmV0dXJuIG8uY2hpbGRyZW4ubGVuZ3RofSxyLnJlZHJhd1NsaWRlcj1mdW5jdGlvbigpe28uY2hpbGRyZW4uYWRkKHIuZmluZCgiLmJ4LWNsb25lIikpLm91dGVyV2lkdGgodSgpKSxvLnZpZXdwb3J0LmNzcygiaGVpZ2h0Iix2KCkpLG8uc2V0dGluZ3MudGlja2VyfHxTKCksby5hY3RpdmUubGFzdCYmKG8uYWN0aXZlLmluZGV4PXgoKS0xKSxvLmFjdGl2ZS5pbmRleD49eCgpJiYoby5hY3RpdmUubGFzdD0hMCksby5zZXR0aW5ncy5wYWdlciYmIW8uc2V0dGluZ3MucGFnZXJDdXN0b20mJih3KCkscShvLmFjdGl2ZS5pbmRleCkpfSxyLmRlc3Ryb3lTbGlkZXI9ZnVuY3Rpb24oKXtvLmluaXRpYWxpemVkJiYoby5pbml0aWFsaXplZD0hMSx0KCIuYngtY2xvbmUiLHRoaXMpLnJlbW92ZSgpLG8uY2hpbGRyZW4uZWFjaChmdW5jdGlvbigpe3ZvaWQgMCE9dCh0aGlzKS5kYXRhKCJvcmlnU3R5bGUiKT90KHRoaXMpLmF0dHIoInN0eWxlIix0KHRoaXMpLmRhdGEoIm9yaWdTdHlsZSIpKTp0KHRoaXMpLnJlbW92ZUF0dHIoInN0eWxlIil9KSx2b2lkIDAhPXQodGhpcykuZGF0YSgib3JpZ1N0eWxlIik/dGhpcy5hdHRyKCJzdHlsZSIsdCh0aGlzKS5kYXRhKCJvcmlnU3R5bGUiKSk6dCh0aGlzKS5yZW1vdmVBdHRyKCJzdHlsZSIpLHQodGhpcykudW53cmFwKCkudW53cmFwKCksby5jb250cm9scy5lbCYmby5jb250cm9scy5lbC5yZW1vdmUoKSxvLmNvbnRyb2xzLm5leHQmJm8uY29udHJvbHMubmV4dC5yZW1vdmUoKSxvLmNvbnRyb2xzLnByZXYmJm8uY29udHJvbHMucHJldi5yZW1vdmUoKSxvLnBhZ2VyRWwmJm8uc2V0dGluZ3MuY29udHJvbHMmJm8ucGFnZXJFbC5yZW1vdmUoKSx0KCIuYngtY2FwdGlvbiIsdGhpcykucmVtb3ZlKCksby5jb250cm9scy5hdXRvRWwmJm8uY29udHJvbHMuYXV0b0VsLnJlbW92ZSgpLGNsZWFySW50ZXJ2YWwoby5pbnRlcnZhbCksby5zZXR0aW5ncy5yZXNwb25zaXZlJiZ0KHdpbmRvdykudW5iaW5kKCJyZXNpemUiLFopKX0sci5yZWxvYWRTbGlkZXI9ZnVuY3Rpb24odCl7dm9pZCAwIT10JiYobj10KSxyLmRlc3Ryb3lTbGlkZXIoKSxkKCl9LGQoKSx0aGlzfX0oalF1ZXJ5KTsNCg0KDQovKg0KICogIG1vbWVudC5qcw0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovLyEgbW9tZW50LmpzDQovLyEgdmVyc2lvbiA6IDIuMTEuMA0KLy8hIGF1dGhvcnMgOiBUaW0gV29vZCwgSXNrcmVuIENoZXJuZXYsIE1vbWVudC5qcyBjb250cmlidXRvcnMNCi8vISBsaWNlbnNlIDogTUlUDQovLyEgbW9tZW50anMuY29tDQohZnVuY3Rpb24oYSxiKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJiJ1bmRlZmluZWQiIT10eXBlb2YgbW9kdWxlP21vZHVsZS5leHBvcnRzPWIoKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShiKTphLm1vbWVudD1iKCl9KHRoaXMsZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYSgpe3JldHVybiBRYy5hcHBseShudWxsLGFyZ3VtZW50cyl9ZnVuY3Rpb24gYihhKXtRYz1hfWZ1bmN0aW9uIGMoYSl7cmV0dXJuIltvYmplY3QgQXJyYXldIj09PU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChhKX1mdW5jdGlvbiBkKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRGF0ZXx8IltvYmplY3QgRGF0ZV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpfWZ1bmN0aW9uIGUoYSxiKXt2YXIgYyxkPVtdO2ZvcihjPTA7YzxhLmxlbmd0aDsrK2MpZC5wdXNoKGIoYVtjXSxjKSk7cmV0dXJuIGR9ZnVuY3Rpb24gZihhLGIpe3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxiKX1mdW5jdGlvbiBnKGEsYil7Zm9yKHZhciBjIGluIGIpZihiLGMpJiYoYVtjXT1iW2NdKTtyZXR1cm4gZihiLCJ0b1N0cmluZyIpJiYoYS50b1N0cmluZz1iLnRvU3RyaW5nKSxmKGIsInZhbHVlT2YiKSYmKGEudmFsdWVPZj1iLnZhbHVlT2YpLGF9ZnVuY3Rpb24gaChhLGIsYyxkKXtyZXR1cm4gemEoYSxiLGMsZCwhMCkudXRjKCl9ZnVuY3Rpb24gaSgpe3JldHVybntlbXB0eTohMSx1bnVzZWRUb2tlbnM6W10sdW51c2VkSW5wdXQ6W10sb3ZlcmZsb3c6LTIsY2hhcnNMZWZ0T3ZlcjowLG51bGxJbnB1dDohMSxpbnZhbGlkTW9udGg6bnVsbCxpbnZhbGlkRm9ybWF0OiExLHVzZXJJbnZhbGlkYXRlZDohMSxpc286ITF9fWZ1bmN0aW9uIGooYSl7cmV0dXJuIG51bGw9PWEuX3BmJiYoYS5fcGY9aSgpKSxhLl9wZn1mdW5jdGlvbiBrKGEpe2lmKG51bGw9PWEuX2lzVmFsaWQpe3ZhciBiPWooYSk7YS5faXNWYWxpZD0hKGlzTmFOKGEuX2QuZ2V0VGltZSgpKXx8IShiLm92ZXJmbG93PDApfHxiLmVtcHR5fHxiLmludmFsaWRNb250aHx8Yi5pbnZhbGlkV2Vla2RheXx8Yi5udWxsSW5wdXR8fGIuaW52YWxpZEZvcm1hdHx8Yi51c2VySW52YWxpZGF0ZWQpLGEuX3N0cmljdCYmKGEuX2lzVmFsaWQ9YS5faXNWYWxpZCYmMD09PWIuY2hhcnNMZWZ0T3ZlciYmMD09PWIudW51c2VkVG9rZW5zLmxlbmd0aCYmdm9pZCAwPT09Yi5iaWdIb3VyKX1yZXR1cm4gYS5faXNWYWxpZH1mdW5jdGlvbiBsKGEpe3ZhciBiPWgoTmFOKTtyZXR1cm4gbnVsbCE9YT9nKGooYiksYSk6aihiKS51c2VySW52YWxpZGF0ZWQ9ITAsYn1mdW5jdGlvbiBtKGEpe3JldHVybiB2b2lkIDA9PT1hfWZ1bmN0aW9uIG4oYSxiKXt2YXIgYyxkLGU7aWYobShiLl9pc0FNb21lbnRPYmplY3QpfHwoYS5faXNBTW9tZW50T2JqZWN0PWIuX2lzQU1vbWVudE9iamVjdCksbShiLl9pKXx8KGEuX2k9Yi5faSksbShiLl9mKXx8KGEuX2Y9Yi5fZiksbShiLl9sKXx8KGEuX2w9Yi5fbCksbShiLl9zdHJpY3QpfHwoYS5fc3RyaWN0PWIuX3N0cmljdCksbShiLl90em0pfHwoYS5fdHptPWIuX3R6bSksbShiLl9pc1VUQyl8fChhLl9pc1VUQz1iLl9pc1VUQyksbShiLl9vZmZzZXQpfHwoYS5fb2Zmc2V0PWIuX29mZnNldCksbShiLl9wZil8fChhLl9wZj1qKGIpKSxtKGIuX2xvY2FsZSl8fChhLl9sb2NhbGU9Yi5fbG9jYWxlKSxTYy5sZW5ndGg+MClmb3IoYyBpbiBTYylkPVNjW2NdLGU9YltkXSxtKGUpfHwoYVtkXT1lKTtyZXR1cm4gYX1mdW5jdGlvbiBvKGIpe24odGhpcyxiKSx0aGlzLl9kPW5ldyBEYXRlKG51bGwhPWIuX2Q/Yi5fZC5nZXRUaW1lKCk6TmFOKSxUYz09PSExJiYoVGM9ITAsYS51cGRhdGVPZmZzZXQodGhpcyksVGM9ITEpfWZ1bmN0aW9uIHAoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBvfHxudWxsIT1hJiZudWxsIT1hLl9pc0FNb21lbnRPYmplY3R9ZnVuY3Rpb24gcShhKXtyZXR1cm4gMD5hP01hdGguY2VpbChhKTpNYXRoLmZsb29yKGEpfWZ1bmN0aW9uIHIoYSl7dmFyIGI9K2EsYz0wO3JldHVybiAwIT09YiYmaXNGaW5pdGUoYikmJihjPXEoYikpLGN9ZnVuY3Rpb24gcyhhLGIsYyl7dmFyIGQsZT1NYXRoLm1pbihhLmxlbmd0aCxiLmxlbmd0aCksZj1NYXRoLmFicyhhLmxlbmd0aC1iLmxlbmd0aCksZz0wO2ZvcihkPTA7ZT5kO2QrKykoYyYmYVtkXSE9PWJbZF18fCFjJiZyKGFbZF0pIT09cihiW2RdKSkmJmcrKztyZXR1cm4gZytmfWZ1bmN0aW9uIHQoKXt9ZnVuY3Rpb24gdShhKXtyZXR1cm4gYT9hLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgiXyIsIi0iKTphfWZ1bmN0aW9uIHYoYSl7Zm9yKHZhciBiLGMsZCxlLGY9MDtmPGEubGVuZ3RoOyl7Zm9yKGU9dShhW2ZdKS5zcGxpdCgiLSIpLGI9ZS5sZW5ndGgsYz11KGFbZisxXSksYz1jP2Muc3BsaXQoIi0iKTpudWxsO2I+MDspe2lmKGQ9dyhlLnNsaWNlKDAsYikuam9pbigiLSIpKSlyZXR1cm4gZDtpZihjJiZjLmxlbmd0aD49YiYmcyhlLGMsITApPj1iLTEpYnJlYWs7Yi0tfWYrK31yZXR1cm4gbnVsbH1mdW5jdGlvbiB3KGEpe3ZhciBiPW51bGw7aWYoIVVjW2FdJiYhbShtb2R1bGUpJiZtb2R1bGUmJm1vZHVsZS5leHBvcnRzKXRyeXtiPVJjLl9hYmJyLHJlcXVpcmUoIi4vbG9jYWxlLyIrYSkseChiKX1jYXRjaChjKXt9cmV0dXJuIFVjW2FdfWZ1bmN0aW9uIHgoYSxiKXt2YXIgYztyZXR1cm4gYSYmKGM9bShiKT96KGEpOnkoYSxiKSxjJiYoUmM9YykpLFJjLl9hYmJyfWZ1bmN0aW9uIHkoYSxiKXtyZXR1cm4gbnVsbCE9PWI/KGIuYWJicj1hLFVjW2FdPVVjW2FdfHxuZXcgdCxVY1thXS5zZXQoYikseChhKSxVY1thXSk6KGRlbGV0ZSBVY1thXSxudWxsKX1mdW5jdGlvbiB6KGEpe3ZhciBiO2lmKGEmJmEuX2xvY2FsZSYmYS5fbG9jYWxlLl9hYmJyJiYoYT1hLl9sb2NhbGUuX2FiYnIpLCFhKXJldHVybiBSYztpZighYyhhKSl7aWYoYj13KGEpKXJldHVybiBiO2E9W2FdfXJldHVybiB2KGEpfWZ1bmN0aW9uIEEoYSxiKXt2YXIgYz1hLnRvTG93ZXJDYXNlKCk7VmNbY109VmNbYysicyJdPVZjW2JdPWF9ZnVuY3Rpb24gQihhKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGE/VmNbYV18fFZjW2EudG9Mb3dlckNhc2UoKV06dm9pZCAwfWZ1bmN0aW9uIEMoYSl7dmFyIGIsYyxkPXt9O2ZvcihjIGluIGEpZihhLGMpJiYoYj1CKGMpLGImJihkW2JdPWFbY10pKTtyZXR1cm4gZH1mdW5jdGlvbiBEKGEpe3JldHVybiBhIGluc3RhbmNlb2YgRnVuY3Rpb258fCJbb2JqZWN0IEZ1bmN0aW9uXSI9PT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYSl9ZnVuY3Rpb24gRShiLGMpe3JldHVybiBmdW5jdGlvbihkKXtyZXR1cm4gbnVsbCE9ZD8oRyh0aGlzLGIsZCksYS51cGRhdGVPZmZzZXQodGhpcyxjKSx0aGlzKTpGKHRoaXMsYil9fWZ1bmN0aW9uIEYoYSxiKXtyZXR1cm4gYS5pc1ZhbGlkKCk/YS5fZFsiZ2V0IisoYS5faXNVVEM/IlVUQyI6IiIpK2JdKCk6TmFOfWZ1bmN0aW9uIEcoYSxiLGMpe2EuaXNWYWxpZCgpJiZhLl9kWyJzZXQiKyhhLl9pc1VUQz8iVVRDIjoiIikrYl0oYyl9ZnVuY3Rpb24gSChhLGIpe3ZhciBjO2lmKCJvYmplY3QiPT10eXBlb2YgYSlmb3IoYyBpbiBhKXRoaXMuc2V0KGMsYVtjXSk7ZWxzZSBpZihhPUIoYSksRCh0aGlzW2FdKSlyZXR1cm4gdGhpc1thXShiKTtyZXR1cm4gdGhpc31mdW5jdGlvbiBJKGEsYixjKXt2YXIgZD0iIitNYXRoLmFicyhhKSxlPWItZC5sZW5ndGgsZj1hPj0wO3JldHVybihmP2M/IisiOiIiOiItIikrTWF0aC5wb3coMTAsTWF0aC5tYXgoMCxlKSkudG9TdHJpbmcoKS5zdWJzdHIoMSkrZH1mdW5jdGlvbiBKKGEsYixjLGQpe3ZhciBlPWQ7InN0cmluZyI9PXR5cGVvZiBkJiYoZT1mdW5jdGlvbigpe3JldHVybiB0aGlzW2RdKCl9KSxhJiYoWmNbYV09ZSksYiYmKFpjW2JbMF1dPWZ1bmN0aW9uKCl7cmV0dXJuIEkoZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksYlsxXSxiWzJdKX0pLGMmJihaY1tjXT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS5vcmRpbmFsKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpLGEpfSl9ZnVuY3Rpb24gSyhhKXtyZXR1cm4gYS5tYXRjaCgvXFtbXHNcU10vKT9hLnJlcGxhY2UoL15cW3xcXSQvZywiIik6YS5yZXBsYWNlKC9cXC9nLCIiKX1mdW5jdGlvbiBMKGEpe3ZhciBiLGMsZD1hLm1hdGNoKFdjKTtmb3IoYj0wLGM9ZC5sZW5ndGg7Yz5iO2IrKylaY1tkW2JdXT9kW2JdPVpjW2RbYl1dOmRbYl09SyhkW2JdKTtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIGY9IiI7Zm9yKGI9MDtjPmI7YisrKWYrPWRbYl1pbnN0YW5jZW9mIEZ1bmN0aW9uP2RbYl0uY2FsbChlLGEpOmRbYl07cmV0dXJuIGZ9fWZ1bmN0aW9uIE0oYSxiKXtyZXR1cm4gYS5pc1ZhbGlkKCk/KGI9TihiLGEubG9jYWxlRGF0YSgpKSxZY1tiXT1ZY1tiXXx8TChiKSxZY1tiXShhKSk6YS5sb2NhbGVEYXRhKCkuaW52YWxpZERhdGUoKX1mdW5jdGlvbiBOKGEsYil7ZnVuY3Rpb24gYyhhKXtyZXR1cm4gYi5sb25nRGF0ZUZvcm1hdChhKXx8YX12YXIgZD01O2ZvcihYYy5sYXN0SW5kZXg9MDtkPj0wJiZYYy50ZXN0KGEpOylhPWEucmVwbGFjZShYYyxjKSxYYy5sYXN0SW5kZXg9MCxkLT0xO3JldHVybiBhfWZ1bmN0aW9uIE8oYSxiLGMpe3BkW2FdPUQoYik/YjpmdW5jdGlvbihhKXtyZXR1cm4gYSYmYz9jOmJ9fWZ1bmN0aW9uIFAoYSxiKXtyZXR1cm4gZihwZCxhKT9wZFthXShiLl9zdHJpY3QsYi5fbG9jYWxlKTpuZXcgUmVnRXhwKFEoYSkpfWZ1bmN0aW9uIFEoYSl7cmV0dXJuIGEucmVwbGFjZSgiXFwiLCIiKS5yZXBsYWNlKC9cXChcWyl8XFwoXF0pfFxbKFteXF1cW10qKVxdfFxcKC4pL2csZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYnx8Y3x8ZHx8ZX0pLnJlcGxhY2UoL1stXC9cXF4kKis/LigpfFtcXXt9XS9nLCJcXCQmIil9ZnVuY3Rpb24gUihhLGIpe3ZhciBjLGQ9Yjtmb3IoInN0cmluZyI9PXR5cGVvZiBhJiYoYT1bYV0pLCJudW1iZXIiPT10eXBlb2YgYiYmKGQ9ZnVuY3Rpb24oYSxjKXtjW2JdPXIoYSl9KSxjPTA7YzxhLmxlbmd0aDtjKyspcWRbYVtjXV09ZH1mdW5jdGlvbiBTKGEsYil7UihhLGZ1bmN0aW9uKGEsYyxkLGUpe2QuX3c9ZC5fd3x8e30sYihhLGQuX3csZCxlKX0pfWZ1bmN0aW9uIFQoYSxiLGMpe251bGwhPWImJmYocWQsYSkmJnFkW2FdKGIsYy5fYSxjLGEpfWZ1bmN0aW9uIFUoYSxiKXtyZXR1cm4gbmV3IERhdGUoRGF0ZS5VVEMoYSxiKzEsMCkpLmdldFVUQ0RhdGUoKX1mdW5jdGlvbiBWKGEsYil7cmV0dXJuIGModGhpcy5fbW9udGhzKT90aGlzLl9tb250aHNbYS5tb250aCgpXTp0aGlzLl9tb250aHNbQWQudGVzdChiKT8iZm9ybWF0Ijoic3RhbmRhbG9uZSJdW2EubW9udGgoKV19ZnVuY3Rpb24gVyhhLGIpe3JldHVybiBjKHRoaXMuX21vbnRoc1Nob3J0KT90aGlzLl9tb250aHNTaG9ydFthLm1vbnRoKCldOnRoaXMuX21vbnRoc1Nob3J0W0FkLnRlc3QoYik/ImZvcm1hdCI6InN0YW5kYWxvbmUiXVthLm1vbnRoKCldfWZ1bmN0aW9uIFgoYSxiLGMpe3ZhciBkLGUsZjtmb3IodGhpcy5fbW9udGhzUGFyc2V8fCh0aGlzLl9tb250aHNQYXJzZT1bXSx0aGlzLl9sb25nTW9udGhzUGFyc2U9W10sdGhpcy5fc2hvcnRNb250aHNQYXJzZT1bXSksZD0wOzEyPmQ7ZCsrKXtpZihlPWgoWzJlMyxkXSksYyYmIXRoaXMuX2xvbmdNb250aHNQYXJzZVtkXSYmKHRoaXMuX2xvbmdNb250aHNQYXJzZVtkXT1uZXcgUmVnRXhwKCJeIit0aGlzLm1vbnRocyhlLCIiKS5yZXBsYWNlKCIuIiwiIikrIiQiLCJpIiksdGhpcy5fc2hvcnRNb250aHNQYXJzZVtkXT1uZXcgUmVnRXhwKCJeIit0aGlzLm1vbnRoc1Nob3J0KGUsIiIpLnJlcGxhY2UoIi4iLCIiKSsiJCIsImkiKSksY3x8dGhpcy5fbW9udGhzUGFyc2VbZF18fChmPSJeIit0aGlzLm1vbnRocyhlLCIiKSsifF4iK3RoaXMubW9udGhzU2hvcnQoZSwiIiksdGhpcy5fbW9udGhzUGFyc2VbZF09bmV3IFJlZ0V4cChmLnJlcGxhY2UoIi4iLCIiKSwiaSIpKSxjJiYiTU1NTSI9PT1iJiZ0aGlzLl9sb25nTW9udGhzUGFyc2VbZF0udGVzdChhKSlyZXR1cm4gZDtpZihjJiYiTU1NIj09PWImJnRoaXMuX3Nob3J0TW9udGhzUGFyc2VbZF0udGVzdChhKSlyZXR1cm4gZDtpZighYyYmdGhpcy5fbW9udGhzUGFyc2VbZF0udGVzdChhKSlyZXR1cm4gZH19ZnVuY3Rpb24gWShhLGIpe3ZhciBjO3JldHVybiBhLmlzVmFsaWQoKT8ic3RyaW5nIj09dHlwZW9mIGImJihiPWEubG9jYWxlRGF0YSgpLm1vbnRoc1BhcnNlKGIpLCJudW1iZXIiIT10eXBlb2YgYik/YTooYz1NYXRoLm1pbihhLmRhdGUoKSxVKGEueWVhcigpLGIpKSxhLl9kWyJzZXQiKyhhLl9pc1VUQz8iVVRDIjoiIikrIk1vbnRoIl0oYixjKSxhKTphfWZ1bmN0aW9uIFooYil7cmV0dXJuIG51bGwhPWI/KFkodGhpcyxiKSxhLnVwZGF0ZU9mZnNldCh0aGlzLCEwKSx0aGlzKTpGKHRoaXMsIk1vbnRoIil9ZnVuY3Rpb24gJCgpe3JldHVybiBVKHRoaXMueWVhcigpLHRoaXMubW9udGgoKSl9ZnVuY3Rpb24gXyhhKXt2YXIgYixjPWEuX2E7cmV0dXJuIGMmJi0yPT09aihhKS5vdmVyZmxvdyYmKGI9Y1tzZF08MHx8Y1tzZF0+MTE/c2Q6Y1t0ZF08MXx8Y1t0ZF0+VShjW3JkXSxjW3NkXSk/dGQ6Y1t1ZF08MHx8Y1t1ZF0+MjR8fDI0PT09Y1t1ZF0mJigwIT09Y1t2ZF18fDAhPT1jW3dkXXx8MCE9PWNbeGRdKT91ZDpjW3ZkXTwwfHxjW3ZkXT41OT92ZDpjW3dkXTwwfHxjW3dkXT41OT93ZDpjW3hkXTwwfHxjW3hkXT45OTk/eGQ6LTEsaihhKS5fb3ZlcmZsb3dEYXlPZlllYXImJihyZD5ifHxiPnRkKSYmKGI9dGQpLGooYSkuX292ZXJmbG93V2Vla3MmJi0xPT09YiYmKGI9eWQpLGooYSkuX292ZXJmbG93V2Vla2RheSYmLTE9PT1iJiYoYj16ZCksaihhKS5vdmVyZmxvdz1iKSxhfWZ1bmN0aW9uIGFhKGIpe2Euc3VwcHJlc3NEZXByZWNhdGlvbldhcm5pbmdzPT09ITEmJiFtKGNvbnNvbGUpJiZjb25zb2xlLndhcm4mJmNvbnNvbGUud2FybigiRGVwcmVjYXRpb24gd2FybmluZzogIitiKX1mdW5jdGlvbiBiYShhLGIpe3ZhciBjPSEwO3JldHVybiBnKGZ1bmN0aW9uKCl7cmV0dXJuIGMmJihhYShhKyJcbkFyZ3VtZW50czogIitBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLmpvaW4oIiwgIikrIlxuIisobmV3IEVycm9yKS5zdGFjayksYz0hMSksYi5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGIpfWZ1bmN0aW9uIGNhKGEsYil7RGRbYV18fChhYShiKSxEZFthXT0hMCl9ZnVuY3Rpb24gZGEoYSl7dmFyIGIsYyxkLGUsZixnLGg9YS5faSxpPUVkLmV4ZWMoaCl8fEZkLmV4ZWMoaCk7aWYoaSl7Zm9yKGooYSkuaXNvPSEwLGI9MCxjPUhkLmxlbmd0aDtjPmI7YisrKWlmKEhkW2JdWzFdLmV4ZWMoaVsxXSkpe2U9SGRbYl1bMF0sZD1IZFtiXVsyXSE9PSExO2JyZWFrfWlmKG51bGw9PWUpcmV0dXJuIHZvaWQoYS5faXNWYWxpZD0hMSk7aWYoaVszXSl7Zm9yKGI9MCxjPUlkLmxlbmd0aDtjPmI7YisrKWlmKElkW2JdWzFdLmV4ZWMoaVszXSkpe2Y9KGlbMl18fCIgIikrSWRbYl1bMF07YnJlYWt9aWYobnVsbD09ZilyZXR1cm4gdm9pZChhLl9pc1ZhbGlkPSExKX1pZighZCYmbnVsbCE9ZilyZXR1cm4gdm9pZChhLl9pc1ZhbGlkPSExKTtpZihpWzRdKXtpZighR2QuZXhlYyhpWzRdKSlyZXR1cm4gdm9pZChhLl9pc1ZhbGlkPSExKTtnPSJaIn1hLl9mPWUrKGZ8fCIiKSsoZ3x8IiIpLHNhKGEpfWVsc2UgYS5faXNWYWxpZD0hMX1mdW5jdGlvbiBlYShiKXt2YXIgYz1KZC5leGVjKGIuX2kpO3JldHVybiBudWxsIT09Yz92b2lkKGIuX2Q9bmV3IERhdGUoK2NbMV0pKTooZGEoYiksdm9pZChiLl9pc1ZhbGlkPT09ITEmJihkZWxldGUgYi5faXNWYWxpZCxhLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKGIpKSkpfWZ1bmN0aW9uIGZhKGEsYixjLGQsZSxmLGcpe3ZhciBoPW5ldyBEYXRlKGEsYixjLGQsZSxmLGcpO3JldHVybiAxMDA+YSYmYT49MCYmaXNGaW5pdGUoaC5nZXRGdWxsWWVhcigpKSYmaC5zZXRGdWxsWWVhcihhKSxofWZ1bmN0aW9uIGdhKGEpe3ZhciBiPW5ldyBEYXRlKERhdGUuVVRDLmFwcGx5KG51bGwsYXJndW1lbnRzKSk7cmV0dXJuIDEwMD5hJiZhPj0wJiZpc0Zpbml0ZShiLmdldFVUQ0Z1bGxZZWFyKCkpJiZiLnNldFVUQ0Z1bGxZZWFyKGEpLGJ9ZnVuY3Rpb24gaGEoYSl7cmV0dXJuIGlhKGEpPzM2NjozNjV9ZnVuY3Rpb24gaWEoYSl7cmV0dXJuIGElND09PTAmJmElMTAwIT09MHx8YSU0MDA9PT0wfWZ1bmN0aW9uIGphKCl7cmV0dXJuIGlhKHRoaXMueWVhcigpKX1mdW5jdGlvbiBrYShhLGIsYyl7dmFyIGQ9NytiLWMsZT0oNytnYShhLDAsZCkuZ2V0VVRDRGF5KCktYiklNztyZXR1cm4tZStkLTF9ZnVuY3Rpb24gbGEoYSxiLGMsZCxlKXt2YXIgZixnLGg9KDcrYy1kKSU3LGk9a2EoYSxkLGUpLGo9MSs3KihiLTEpK2graTtyZXR1cm4gMD49aj8oZj1hLTEsZz1oYShmKStqKTpqPmhhKGEpPyhmPWErMSxnPWotaGEoYSkpOihmPWEsZz1qKSx7eWVhcjpmLGRheU9mWWVhcjpnfX1mdW5jdGlvbiBtYShhLGIsYyl7dmFyIGQsZSxmPWthKGEueWVhcigpLGIsYyksZz1NYXRoLmZsb29yKChhLmRheU9mWWVhcigpLWYtMSkvNykrMTtyZXR1cm4gMT5nPyhlPWEueWVhcigpLTEsZD1nK25hKGUsYixjKSk6Zz5uYShhLnllYXIoKSxiLGMpPyhkPWctbmEoYS55ZWFyKCksYixjKSxlPWEueWVhcigpKzEpOihlPWEueWVhcigpLGQ9Zykse3dlZWs6ZCx5ZWFyOmV9fWZ1bmN0aW9uIG5hKGEsYixjKXt2YXIgZD1rYShhLGIsYyksZT1rYShhKzEsYixjKTtyZXR1cm4oaGEoYSktZCtlKS83fWZ1bmN0aW9uIG9hKGEsYixjKXtyZXR1cm4gbnVsbCE9YT9hOm51bGwhPWI/YjpjfWZ1bmN0aW9uIHBhKGIpe3ZhciBjPW5ldyBEYXRlKGEubm93KCkpO3JldHVybiBiLl91c2VVVEM/W2MuZ2V0VVRDRnVsbFllYXIoKSxjLmdldFVUQ01vbnRoKCksYy5nZXRVVENEYXRlKCldOltjLmdldEZ1bGxZZWFyKCksYy5nZXRNb250aCgpLGMuZ2V0RGF0ZSgpXX1mdW5jdGlvbiBxYShhKXt2YXIgYixjLGQsZSxmPVtdO2lmKCFhLl9kKXtmb3IoZD1wYShhKSxhLl93JiZudWxsPT1hLl9hW3RkXSYmbnVsbD09YS5fYVtzZF0mJnJhKGEpLGEuX2RheU9mWWVhciYmKGU9b2EoYS5fYVtyZF0sZFtyZF0pLGEuX2RheU9mWWVhcj5oYShlKSYmKGooYSkuX292ZXJmbG93RGF5T2ZZZWFyPSEwKSxjPWdhKGUsMCxhLl9kYXlPZlllYXIpLGEuX2Fbc2RdPWMuZ2V0VVRDTW9udGgoKSxhLl9hW3RkXT1jLmdldFVUQ0RhdGUoKSksYj0wOzM+YiYmbnVsbD09YS5fYVtiXTsrK2IpYS5fYVtiXT1mW2JdPWRbYl07Zm9yKDs3PmI7YisrKWEuX2FbYl09ZltiXT1udWxsPT1hLl9hW2JdPzI9PT1iPzE6MDphLl9hW2JdOzI0PT09YS5fYVt1ZF0mJjA9PT1hLl9hW3ZkXSYmMD09PWEuX2Fbd2RdJiYwPT09YS5fYVt4ZF0mJihhLl9uZXh0RGF5PSEwLGEuX2FbdWRdPTApLGEuX2Q9KGEuX3VzZVVUQz9nYTpmYSkuYXBwbHkobnVsbCxmKSxudWxsIT1hLl90em0mJmEuX2Quc2V0VVRDTWludXRlcyhhLl9kLmdldFVUQ01pbnV0ZXMoKS1hLl90em0pLGEuX25leHREYXkmJihhLl9hW3VkXT0yNCl9fWZ1bmN0aW9uIHJhKGEpe3ZhciBiLGMsZCxlLGYsZyxoLGk7Yj1hLl93LG51bGwhPWIuR0d8fG51bGwhPWIuV3x8bnVsbCE9Yi5FPyhmPTEsZz00LGM9b2EoYi5HRyxhLl9hW3JkXSxtYShBYSgpLDEsNCkueWVhciksZD1vYShiLlcsMSksZT1vYShiLkUsMSksKDE+ZXx8ZT43KSYmKGk9ITApKTooZj1hLl9sb2NhbGUuX3dlZWsuZG93LGc9YS5fbG9jYWxlLl93ZWVrLmRveSxjPW9hKGIuZ2csYS5fYVtyZF0sbWEoQWEoKSxmLGcpLnllYXIpLGQ9b2EoYi53LDEpLG51bGwhPWIuZD8oZT1iLmQsKDA+ZXx8ZT42KSYmKGk9ITApKTpudWxsIT1iLmU/KGU9Yi5lK2YsKGIuZTwwfHxiLmU+NikmJihpPSEwKSk6ZT1mKSwxPmR8fGQ+bmEoYyxmLGcpP2ooYSkuX292ZXJmbG93V2Vla3M9ITA6bnVsbCE9aT9qKGEpLl9vdmVyZmxvd1dlZWtkYXk9ITA6KGg9bGEoYyxkLGUsZixnKSxhLl9hW3JkXT1oLnllYXIsYS5fZGF5T2ZZZWFyPWguZGF5T2ZZZWFyKX1mdW5jdGlvbiBzYShiKXtpZihiLl9mPT09YS5JU09fODYwMSlyZXR1cm4gdm9pZCBkYShiKTtiLl9hPVtdLGooYikuZW1wdHk9ITA7dmFyIGMsZCxlLGYsZyxoPSIiK2IuX2ksaT1oLmxlbmd0aCxrPTA7Zm9yKGU9TihiLl9mLGIuX2xvY2FsZSkubWF0Y2goV2MpfHxbXSxjPTA7YzxlLmxlbmd0aDtjKyspZj1lW2NdLGQ9KGgubWF0Y2goUChmLGIpKXx8W10pWzBdLGQmJihnPWguc3Vic3RyKDAsaC5pbmRleE9mKGQpKSxnLmxlbmd0aD4wJiZqKGIpLnVudXNlZElucHV0LnB1c2goZyksaD1oLnNsaWNlKGguaW5kZXhPZihkKStkLmxlbmd0aCksays9ZC5sZW5ndGgpLFpjW2ZdPyhkP2ooYikuZW1wdHk9ITE6aihiKS51bnVzZWRUb2tlbnMucHVzaChmKSxUKGYsZCxiKSk6Yi5fc3RyaWN0JiYhZCYmaihiKS51bnVzZWRUb2tlbnMucHVzaChmKTtqKGIpLmNoYXJzTGVmdE92ZXI9aS1rLGgubGVuZ3RoPjAmJmooYikudW51c2VkSW5wdXQucHVzaChoKSxqKGIpLmJpZ0hvdXI9PT0hMCYmYi5fYVt1ZF08PTEyJiZiLl9hW3VkXT4wJiYoaihiKS5iaWdIb3VyPXZvaWQgMCksYi5fYVt1ZF09dGEoYi5fbG9jYWxlLGIuX2FbdWRdLGIuX21lcmlkaWVtKSxxYShiKSxfKGIpfWZ1bmN0aW9uIHRhKGEsYixjKXt2YXIgZDtyZXR1cm4gbnVsbD09Yz9iOm51bGwhPWEubWVyaWRpZW1Ib3VyP2EubWVyaWRpZW1Ib3VyKGIsYyk6bnVsbCE9YS5pc1BNPyhkPWEuaXNQTShjKSxkJiYxMj5iJiYoYis9MTIpLGR8fDEyIT09Ynx8KGI9MCksYik6Yn1mdW5jdGlvbiB1YShhKXt2YXIgYixjLGQsZSxmO2lmKDA9PT1hLl9mLmxlbmd0aClyZXR1cm4gaihhKS5pbnZhbGlkRm9ybWF0PSEwLHZvaWQoYS5fZD1uZXcgRGF0ZShOYU4pKTtmb3IoZT0wO2U8YS5fZi5sZW5ndGg7ZSsrKWY9MCxiPW4oe30sYSksbnVsbCE9YS5fdXNlVVRDJiYoYi5fdXNlVVRDPWEuX3VzZVVUQyksYi5fZj1hLl9mW2VdLHNhKGIpLGsoYikmJihmKz1qKGIpLmNoYXJzTGVmdE92ZXIsZis9MTAqaihiKS51bnVzZWRUb2tlbnMubGVuZ3RoLGooYikuc2NvcmU9ZiwobnVsbD09ZHx8ZD5mKSYmKGQ9ZixjPWIpKTtnKGEsY3x8Yil9ZnVuY3Rpb24gdmEoYSl7aWYoIWEuX2Qpe3ZhciBiPUMoYS5faSk7YS5fYT1lKFtiLnllYXIsYi5tb250aCxiLmRheXx8Yi5kYXRlLGIuaG91cixiLm1pbnV0ZSxiLnNlY29uZCxiLm1pbGxpc2Vjb25kXSxmdW5jdGlvbihhKXtyZXR1cm4gYSYmcGFyc2VJbnQoYSwxMCl9KSxxYShhKX19ZnVuY3Rpb24gd2EoYSl7dmFyIGI9bmV3IG8oXyh4YShhKSkpO3JldHVybiBiLl9uZXh0RGF5JiYoYi5hZGQoMSwiZCIpLGIuX25leHREYXk9dm9pZCAwKSxifWZ1bmN0aW9uIHhhKGEpe3ZhciBiPWEuX2ksZT1hLl9mO3JldHVybiBhLl9sb2NhbGU9YS5fbG9jYWxlfHx6KGEuX2wpLG51bGw9PT1ifHx2b2lkIDA9PT1lJiYiIj09PWI/bCh7bnVsbElucHV0OiEwfSk6KCJzdHJpbmciPT10eXBlb2YgYiYmKGEuX2k9Yj1hLl9sb2NhbGUucHJlcGFyc2UoYikpLHAoYik/bmV3IG8oXyhiKSk6KGMoZSk/dWEoYSk6ZT9zYShhKTpkKGIpP2EuX2Q9Yjp5YShhKSxrKGEpfHwoYS5fZD1udWxsKSxhKSl9ZnVuY3Rpb24geWEoYil7dmFyIGY9Yi5faTt2b2lkIDA9PT1mP2IuX2Q9bmV3IERhdGUoYS5ub3coKSk6ZChmKT9iLl9kPW5ldyBEYXRlKCtmKToic3RyaW5nIj09dHlwZW9mIGY/ZWEoYik6YyhmKT8oYi5fYT1lKGYuc2xpY2UoMCksZnVuY3Rpb24oYSl7cmV0dXJuIHBhcnNlSW50KGEsMTApfSkscWEoYikpOiJvYmplY3QiPT10eXBlb2YgZj92YShiKToibnVtYmVyIj09dHlwZW9mIGY/Yi5fZD1uZXcgRGF0ZShmKTphLmNyZWF0ZUZyb21JbnB1dEZhbGxiYWNrKGIpfWZ1bmN0aW9uIHphKGEsYixjLGQsZSl7dmFyIGY9e307cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYyYmKGQ9YyxjPXZvaWQgMCksZi5faXNBTW9tZW50T2JqZWN0PSEwLGYuX3VzZVVUQz1mLl9pc1VUQz1lLGYuX2w9YyxmLl9pPWEsZi5fZj1iLGYuX3N0cmljdD1kLHdhKGYpfWZ1bmN0aW9uIEFhKGEsYixjLGQpe3JldHVybiB6YShhLGIsYyxkLCExKX1mdW5jdGlvbiBCYShhLGIpe3ZhciBkLGU7aWYoMT09PWIubGVuZ3RoJiZjKGJbMF0pJiYoYj1iWzBdKSwhYi5sZW5ndGgpcmV0dXJuIEFhKCk7Zm9yKGQ9YlswXSxlPTE7ZTxiLmxlbmd0aDsrK2UpKCFiW2VdLmlzVmFsaWQoKXx8YltlXVthXShkKSkmJihkPWJbZV0pO3JldHVybiBkfWZ1bmN0aW9uIENhKCl7dmFyIGE9W10uc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIEJhKCJpc0JlZm9yZSIsYSl9ZnVuY3Rpb24gRGEoKXt2YXIgYT1bXS5zbGljZS5jYWxsKGFyZ3VtZW50cywwKTtyZXR1cm4gQmEoImlzQWZ0ZXIiLGEpfWZ1bmN0aW9uIEVhKGEpe3ZhciBiPUMoYSksYz1iLnllYXJ8fDAsZD1iLnF1YXJ0ZXJ8fDAsZT1iLm1vbnRofHwwLGY9Yi53ZWVrfHwwLGc9Yi5kYXl8fDAsaD1iLmhvdXJ8fDAsaT1iLm1pbnV0ZXx8MCxqPWIuc2Vjb25kfHwwLGs9Yi5taWxsaXNlY29uZHx8MDt0aGlzLl9taWxsaXNlY29uZHM9K2srMWUzKmorNmU0KmkrMzZlNSpoLHRoaXMuX2RheXM9K2crNypmLHRoaXMuX21vbnRocz0rZSszKmQrMTIqYyx0aGlzLl9kYXRhPXt9LHRoaXMuX2xvY2FsZT16KCksdGhpcy5fYnViYmxlKCl9ZnVuY3Rpb24gRmEoYSl7cmV0dXJuIGEgaW5zdGFuY2VvZiBFYX1mdW5jdGlvbiBHYShhLGIpe0ooYSwwLDAsZnVuY3Rpb24oKXt2YXIgYT10aGlzLnV0Y09mZnNldCgpLGM9IisiO3JldHVybiAwPmEmJihhPS1hLGM9Ii0iKSxjK0kofn4oYS82MCksMikrYitJKH5+YSU2MCwyKX0pfWZ1bmN0aW9uIEhhKGEsYil7dmFyIGM9KGJ8fCIiKS5tYXRjaChhKXx8W10sZD1jW2MubGVuZ3RoLTFdfHxbXSxlPShkKyIiKS5tYXRjaChPZCl8fFsiLSIsMCwwXSxmPSsoNjAqZVsxXSkrcihlWzJdKTtyZXR1cm4iKyI9PT1lWzBdP2Y6LWZ9ZnVuY3Rpb24gSWEoYixjKXt2YXIgZSxmO3JldHVybiBjLl9pc1VUQz8oZT1jLmNsb25lKCksZj0ocChiKXx8ZChiKT8rYjorQWEoYikpLStlLGUuX2Quc2V0VGltZSgrZS5fZCtmKSxhLnVwZGF0ZU9mZnNldChlLCExKSxlKTpBYShiKS5sb2NhbCgpfWZ1bmN0aW9uIEphKGEpe3JldHVybiAxNSotTWF0aC5yb3VuZChhLl9kLmdldFRpbWV6b25lT2Zmc2V0KCkvMTUpfWZ1bmN0aW9uIEthKGIsYyl7dmFyIGQsZT10aGlzLl9vZmZzZXR8fDA7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP251bGwhPWI/KCJzdHJpbmciPT10eXBlb2YgYj9iPUhhKG1kLGIpOk1hdGguYWJzKGIpPDE2JiYoYj02MCpiKSwhdGhpcy5faXNVVEMmJmMmJihkPUphKHRoaXMpKSx0aGlzLl9vZmZzZXQ9Yix0aGlzLl9pc1VUQz0hMCxudWxsIT1kJiZ0aGlzLmFkZChkLCJtIiksZSE9PWImJighY3x8dGhpcy5fY2hhbmdlSW5Qcm9ncmVzcz8kYSh0aGlzLFZhKGItZSwibSIpLDEsITEpOnRoaXMuX2NoYW5nZUluUHJvZ3Jlc3N8fCh0aGlzLl9jaGFuZ2VJblByb2dyZXNzPSEwLGEudXBkYXRlT2Zmc2V0KHRoaXMsITApLHRoaXMuX2NoYW5nZUluUHJvZ3Jlc3M9bnVsbCkpLHRoaXMpOnRoaXMuX2lzVVRDP2U6SmEodGhpcyk6bnVsbCE9Yj90aGlzOk5hTn1mdW5jdGlvbiBMYShhLGIpe3JldHVybiBudWxsIT1hPygic3RyaW5nIiE9dHlwZW9mIGEmJihhPS1hKSx0aGlzLnV0Y09mZnNldChhLGIpLHRoaXMpOi10aGlzLnV0Y09mZnNldCgpfWZ1bmN0aW9uIE1hKGEpe3JldHVybiB0aGlzLnV0Y09mZnNldCgwLGEpfWZ1bmN0aW9uIE5hKGEpe3JldHVybiB0aGlzLl9pc1VUQyYmKHRoaXMudXRjT2Zmc2V0KDAsYSksdGhpcy5faXNVVEM9ITEsYSYmdGhpcy5zdWJ0cmFjdChKYSh0aGlzKSwibSIpKSx0aGlzfWZ1bmN0aW9uIE9hKCl7cmV0dXJuIHRoaXMuX3R6bT90aGlzLnV0Y09mZnNldCh0aGlzLl90em0pOiJzdHJpbmciPT10eXBlb2YgdGhpcy5faSYmdGhpcy51dGNPZmZzZXQoSGEobGQsdGhpcy5faSkpLHRoaXN9ZnVuY3Rpb24gUGEoYSl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpPyhhPWE/QWEoYSkudXRjT2Zmc2V0KCk6MCwodGhpcy51dGNPZmZzZXQoKS1hKSU2MD09PTApOiExfWZ1bmN0aW9uIFFhKCl7cmV0dXJuIHRoaXMudXRjT2Zmc2V0KCk+dGhpcy5jbG9uZSgpLm1vbnRoKDApLnV0Y09mZnNldCgpfHx0aGlzLnV0Y09mZnNldCgpPnRoaXMuY2xvbmUoKS5tb250aCg1KS51dGNPZmZzZXQoKX1mdW5jdGlvbiBSYSgpe2lmKCFtKHRoaXMuX2lzRFNUU2hpZnRlZCkpcmV0dXJuIHRoaXMuX2lzRFNUU2hpZnRlZDt2YXIgYT17fTtpZihuKGEsdGhpcyksYT14YShhKSxhLl9hKXt2YXIgYj1hLl9pc1VUQz9oKGEuX2EpOkFhKGEuX2EpO3RoaXMuX2lzRFNUU2hpZnRlZD10aGlzLmlzVmFsaWQoKSYmcyhhLl9hLGIudG9BcnJheSgpKT4wfWVsc2UgdGhpcy5faXNEU1RTaGlmdGVkPSExO3JldHVybiB0aGlzLl9pc0RTVFNoaWZ0ZWR9ZnVuY3Rpb24gU2EoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/IXRoaXMuX2lzVVRDOiExfWZ1bmN0aW9uIFRhKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMuX2lzVVRDOiExfWZ1bmN0aW9uIFVhKCl7cmV0dXJuIHRoaXMuaXNWYWxpZCgpP3RoaXMuX2lzVVRDJiYwPT09dGhpcy5fb2Zmc2V0OiExfWZ1bmN0aW9uIFZhKGEsYil7dmFyIGMsZCxlLGc9YSxoPW51bGw7cmV0dXJuIEZhKGEpP2c9e21zOmEuX21pbGxpc2Vjb25kcyxkOmEuX2RheXMsTTphLl9tb250aHN9OiJudW1iZXIiPT10eXBlb2YgYT8oZz17fSxiP2dbYl09YTpnLm1pbGxpc2Vjb25kcz1hKTooaD1QZC5leGVjKGEpKT8oYz0iLSI9PT1oWzFdPy0xOjEsZz17eTowLGQ6cihoW3RkXSkqYyxoOnIoaFt1ZF0pKmMsbTpyKGhbdmRdKSpjLHM6cihoW3dkXSkqYyxtczpyKGhbeGRdKSpjfSk6KGg9UWQuZXhlYyhhKSk/KGM9Ii0iPT09aFsxXT8tMToxLGc9e3k6V2EoaFsyXSxjKSxNOldhKGhbM10sYyksZDpXYShoWzRdLGMpLGg6V2EoaFs1XSxjKSxtOldhKGhbNl0sYyksczpXYShoWzddLGMpLHc6V2EoaFs4XSxjKX0pOm51bGw9PWc/Zz17fToib2JqZWN0Ij09dHlwZW9mIGcmJigiZnJvbSJpbiBnfHwidG8iaW4gZykmJihlPVlhKEFhKGcuZnJvbSksQWEoZy50bykpLGc9e30sZy5tcz1lLm1pbGxpc2Vjb25kcyxnLk09ZS5tb250aHMpLGQ9bmV3IEVhKGcpLEZhKGEpJiZmKGEsIl9sb2NhbGUiKSYmKGQuX2xvY2FsZT1hLl9sb2NhbGUpLGR9ZnVuY3Rpb24gV2EoYSxiKXt2YXIgYz1hJiZwYXJzZUZsb2F0KGEucmVwbGFjZSgiLCIsIi4iKSk7cmV0dXJuKGlzTmFOKGMpPzA6YykqYn1mdW5jdGlvbiBYYShhLGIpe3ZhciBjPXttaWxsaXNlY29uZHM6MCxtb250aHM6MH07cmV0dXJuIGMubW9udGhzPWIubW9udGgoKS1hLm1vbnRoKCkrMTIqKGIueWVhcigpLWEueWVhcigpKSxhLmNsb25lKCkuYWRkKGMubW9udGhzLCJNIikuaXNBZnRlcihiKSYmLS1jLm1vbnRocyxjLm1pbGxpc2Vjb25kcz0rYi0rYS5jbG9uZSgpLmFkZChjLm1vbnRocywiTSIpLGN9ZnVuY3Rpb24gWWEoYSxiKXt2YXIgYztyZXR1cm4gYS5pc1ZhbGlkKCkmJmIuaXNWYWxpZCgpPyhiPUlhKGIsYSksYS5pc0JlZm9yZShiKT9jPVhhKGEsYik6KGM9WGEoYixhKSxjLm1pbGxpc2Vjb25kcz0tYy5taWxsaXNlY29uZHMsYy5tb250aHM9LWMubW9udGhzKSxjKTp7bWlsbGlzZWNvbmRzOjAsbW9udGhzOjB9fWZ1bmN0aW9uIFphKGEsYil7cmV0dXJuIGZ1bmN0aW9uKGMsZCl7dmFyIGUsZjtyZXR1cm4gbnVsbD09PWR8fGlzTmFOKCtkKXx8KGNhKGIsIm1vbWVudCgpLiIrYisiKHBlcmlvZCwgbnVtYmVyKSBpcyBkZXByZWNhdGVkLiBQbGVhc2UgdXNlIG1vbWVudCgpLiIrYisiKG51bWJlciwgcGVyaW9kKS4iKSxmPWMsYz1kLGQ9ZiksYz0ic3RyaW5nIj09dHlwZW9mIGM/K2M6YyxlPVZhKGMsZCksJGEodGhpcyxlLGEpLHRoaXN9fWZ1bmN0aW9uICRhKGIsYyxkLGUpe3ZhciBmPWMuX21pbGxpc2Vjb25kcyxnPWMuX2RheXMsaD1jLl9tb250aHM7Yi5pc1ZhbGlkKCkmJihlPW51bGw9PWU/ITA6ZSxmJiZiLl9kLnNldFRpbWUoK2IuX2QrZipkKSxnJiZHKGIsIkRhdGUiLEYoYiwiRGF0ZSIpK2cqZCksaCYmWShiLEYoYiwiTW9udGgiKStoKmQpLGUmJmEudXBkYXRlT2Zmc2V0KGIsZ3x8aCkpfWZ1bmN0aW9uIF9hKGEsYil7dmFyIGM9YXx8QWEoKSxkPUlhKGMsdGhpcykuc3RhcnRPZigiZGF5IiksZT10aGlzLmRpZmYoZCwiZGF5cyIsITApLGY9LTY+ZT8ic2FtZUVsc2UiOi0xPmU/Imxhc3RXZWVrIjowPmU/Imxhc3REYXkiOjE+ZT8ic2FtZURheSI6Mj5lPyJuZXh0RGF5Ijo3PmU/Im5leHRXZWVrIjoic2FtZUVsc2UiLGc9YiYmKEQoYltmXSk/YltmXSgpOmJbZl0pO3JldHVybiB0aGlzLmZvcm1hdChnfHx0aGlzLmxvY2FsZURhdGEoKS5jYWxlbmRhcihmLHRoaXMsQWEoYykpKX1mdW5jdGlvbiBhYigpe3JldHVybiBuZXcgbyh0aGlzKX1mdW5jdGlvbiBiYihhLGIpe3ZhciBjPXAoYSk/YTpBYShhKTtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJmMuaXNWYWxpZCgpPyhiPUIobShiKT8ibWlsbGlzZWNvbmQiOmIpLCJtaWxsaXNlY29uZCI9PT1iPyt0aGlzPitjOitjPCt0aGlzLmNsb25lKCkuc3RhcnRPZihiKSk6ITF9ZnVuY3Rpb24gY2IoYSxiKXt2YXIgYz1wKGEpP2E6QWEoYSk7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZjLmlzVmFsaWQoKT8oYj1CKG0oYik/Im1pbGxpc2Vjb25kIjpiKSwibWlsbGlzZWNvbmQiPT09Yj8rYz4rdGhpczordGhpcy5jbG9uZSgpLmVuZE9mKGIpPCtjKTohMX1mdW5jdGlvbiBkYihhLGIsYyl7cmV0dXJuIHRoaXMuaXNBZnRlcihhLGMpJiZ0aGlzLmlzQmVmb3JlKGIsYyl9ZnVuY3Rpb24gZWIoYSxiKXt2YXIgYyxkPXAoYSk/YTpBYShhKTtyZXR1cm4gdGhpcy5pc1ZhbGlkKCkmJmQuaXNWYWxpZCgpPyhiPUIoYnx8Im1pbGxpc2Vjb25kIiksIm1pbGxpc2Vjb25kIj09PWI/K3RoaXM9PT0rZDooYz0rZCwrdGhpcy5jbG9uZSgpLnN0YXJ0T2YoYik8PWMmJmM8PSt0aGlzLmNsb25lKCkuZW5kT2YoYikpKTohMX1mdW5jdGlvbiBmYihhLGIpe3JldHVybiB0aGlzLmlzU2FtZShhLGIpfHx0aGlzLmlzQWZ0ZXIoYSxiKX1mdW5jdGlvbiBnYihhLGIpe3JldHVybiB0aGlzLmlzU2FtZShhLGIpfHx0aGlzLmlzQmVmb3JlKGEsYil9ZnVuY3Rpb24gaGIoYSxiLGMpe3ZhciBkLGUsZixnO3JldHVybiB0aGlzLmlzVmFsaWQoKT8oZD1JYShhLHRoaXMpLGQuaXNWYWxpZCgpPyhlPTZlNCooZC51dGNPZmZzZXQoKS10aGlzLnV0Y09mZnNldCgpKSxiPUIoYiksInllYXIiPT09Ynx8Im1vbnRoIj09PWJ8fCJxdWFydGVyIj09PWI/KGc9aWIodGhpcyxkKSwicXVhcnRlciI9PT1iP2cvPTM6InllYXIiPT09YiYmKGcvPTEyKSk6KGY9dGhpcy1kLGc9InNlY29uZCI9PT1iP2YvMWUzOiJtaW51dGUiPT09Yj9mLzZlNDoiaG91ciI9PT1iP2YvMzZlNToiZGF5Ij09PWI/KGYtZSkvODY0ZTU6IndlZWsiPT09Yj8oZi1lKS82MDQ4ZTU6ZiksYz9nOnEoZykpOk5hTik6TmFOfWZ1bmN0aW9uIGliKGEsYil7dmFyIGMsZCxlPTEyKihiLnllYXIoKS1hLnllYXIoKSkrKGIubW9udGgoKS1hLm1vbnRoKCkpLGY9YS5jbG9uZSgpLmFkZChlLCJtb250aHMiKTtyZXR1cm4gMD5iLWY/KGM9YS5jbG9uZSgpLmFkZChlLTEsIm1vbnRocyIpLGQ9KGItZikvKGYtYykpOihjPWEuY2xvbmUoKS5hZGQoZSsxLCJtb250aHMiKSxkPShiLWYpLyhjLWYpKSwtKGUrZCl9ZnVuY3Rpb24gamIoKXtyZXR1cm4gdGhpcy5jbG9uZSgpLmxvY2FsZSgiZW4iKS5mb3JtYXQoImRkZCBNTU0gREQgWVlZWSBISDptbTpzcyBbR01UXVpaIil9ZnVuY3Rpb24ga2IoKXt2YXIgYT10aGlzLmNsb25lKCkudXRjKCk7cmV0dXJuIDA8YS55ZWFyKCkmJmEueWVhcigpPD05OTk5P0QoRGF0ZS5wcm90b3R5cGUudG9JU09TdHJpbmcpP3RoaXMudG9EYXRlKCkudG9JU09TdHJpbmcoKTpNKGEsIllZWVktTU0tRERbVF1ISDptbTpzcy5TU1NbWl0iKTpNKGEsIllZWVlZWS1NTS1ERFtUXUhIOm1tOnNzLlNTU1taXSIpfWZ1bmN0aW9uIGxiKGIpe3ZhciBjPU0odGhpcyxifHxhLmRlZmF1bHRGb3JtYXQpO3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS5wb3N0Zm9ybWF0KGMpfWZ1bmN0aW9uIG1iKGEsYil7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiYocChhKSYmYS5pc1ZhbGlkKCl8fEFhKGEpLmlzVmFsaWQoKSk/VmEoe3RvOnRoaXMsZnJvbTphfSkubG9jYWxlKHRoaXMubG9jYWxlKCkpLmh1bWFuaXplKCFiKTp0aGlzLmxvY2FsZURhdGEoKS5pbnZhbGlkRGF0ZSgpfWZ1bmN0aW9uIG5iKGEpe3JldHVybiB0aGlzLmZyb20oQWEoKSxhKX1mdW5jdGlvbiBvYihhLGIpe3JldHVybiB0aGlzLmlzVmFsaWQoKSYmKHAoYSkmJmEuaXNWYWxpZCgpfHxBYShhKS5pc1ZhbGlkKCkpP1ZhKHtmcm9tOnRoaXMsdG86YX0pLmxvY2FsZSh0aGlzLmxvY2FsZSgpKS5odW1hbml6ZSghYik6dGhpcy5sb2NhbGVEYXRhKCkuaW52YWxpZERhdGUoKX1mdW5jdGlvbiBwYihhKXtyZXR1cm4gdGhpcy50byhBYSgpLGEpfWZ1bmN0aW9uIHFiKGEpe3ZhciBiO3JldHVybiB2b2lkIDA9PT1hP3RoaXMuX2xvY2FsZS5fYWJicjooYj16KGEpLG51bGwhPWImJih0aGlzLl9sb2NhbGU9YiksdGhpcyl9ZnVuY3Rpb24gcmIoKXtyZXR1cm4gdGhpcy5fbG9jYWxlfWZ1bmN0aW9uIHNiKGEpe3N3aXRjaChhPUIoYSkpe2Nhc2UieWVhciI6dGhpcy5tb250aCgwKTtjYXNlInF1YXJ0ZXIiOmNhc2UibW9udGgiOnRoaXMuZGF0ZSgxKTtjYXNlIndlZWsiOmNhc2UiaXNvV2VlayI6Y2FzZSJkYXkiOnRoaXMuaG91cnMoMCk7Y2FzZSJob3VyIjp0aGlzLm1pbnV0ZXMoMCk7Y2FzZSJtaW51dGUiOnRoaXMuc2Vjb25kcygwKTtjYXNlInNlY29uZCI6dGhpcy5taWxsaXNlY29uZHMoMCl9cmV0dXJuIndlZWsiPT09YSYmdGhpcy53ZWVrZGF5KDApLCJpc29XZWVrIj09PWEmJnRoaXMuaXNvV2Vla2RheSgxKSwicXVhcnRlciI9PT1hJiZ0aGlzLm1vbnRoKDMqTWF0aC5mbG9vcih0aGlzLm1vbnRoKCkvMykpLHRoaXN9ZnVuY3Rpb24gdGIoYSl7cmV0dXJuIGE9QihhKSx2b2lkIDA9PT1hfHwibWlsbGlzZWNvbmQiPT09YT90aGlzOnRoaXMuc3RhcnRPZihhKS5hZGQoMSwiaXNvV2VlayI9PT1hPyJ3ZWVrIjphKS5zdWJ0cmFjdCgxLCJtcyIpfWZ1bmN0aW9uIHViKCl7cmV0dXJuK3RoaXMuX2QtNmU0Kih0aGlzLl9vZmZzZXR8fDApfWZ1bmN0aW9uIHZiKCl7cmV0dXJuIE1hdGguZmxvb3IoK3RoaXMvMWUzKX1mdW5jdGlvbiB3Yigpe3JldHVybiB0aGlzLl9vZmZzZXQ/bmV3IERhdGUoK3RoaXMpOnRoaXMuX2R9ZnVuY3Rpb24geGIoKXt2YXIgYT10aGlzO3JldHVyblthLnllYXIoKSxhLm1vbnRoKCksYS5kYXRlKCksYS5ob3VyKCksYS5taW51dGUoKSxhLnNlY29uZCgpLGEubWlsbGlzZWNvbmQoKV19ZnVuY3Rpb24geWIoKXt2YXIgYT10aGlzO3JldHVybnt5ZWFyczphLnllYXIoKSxtb250aHM6YS5tb250aCgpLGRhdGU6YS5kYXRlKCksaG91cnM6YS5ob3VycygpLG1pbnV0ZXM6YS5taW51dGVzKCksc2Vjb25kczphLnNlY29uZHMoKSxtaWxsaXNlY29uZHM6YS5taWxsaXNlY29uZHMoKX19ZnVuY3Rpb24gemIoKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/dGhpcy50b0lTT1N0cmluZygpOiJudWxsIn1mdW5jdGlvbiBBYigpe3JldHVybiBrKHRoaXMpfWZ1bmN0aW9uIEJiKCl7cmV0dXJuIGcoe30saih0aGlzKSl9ZnVuY3Rpb24gQ2IoKXtyZXR1cm4gaih0aGlzKS5vdmVyZmxvd31mdW5jdGlvbiBEYigpe3JldHVybntpbnB1dDp0aGlzLl9pLGZvcm1hdDp0aGlzLl9mLGxvY2FsZTp0aGlzLl9sb2NhbGUsaXNVVEM6dGhpcy5faXNVVEMsc3RyaWN0OnRoaXMuX3N0cmljdH19ZnVuY3Rpb24gRWIoYSxiKXtKKDAsW2EsYS5sZW5ndGhdLDAsYil9ZnVuY3Rpb24gRmIoYSl7cmV0dXJuIEpiLmNhbGwodGhpcyxhLHRoaXMud2VlaygpLHRoaXMud2Vla2RheSgpLHRoaXMubG9jYWxlRGF0YSgpLl93ZWVrLmRvdyx0aGlzLmxvY2FsZURhdGEoKS5fd2Vlay5kb3kpfWZ1bmN0aW9uIEdiKGEpe3JldHVybiBKYi5jYWxsKHRoaXMsYSx0aGlzLmlzb1dlZWsoKSx0aGlzLmlzb1dlZWtkYXkoKSwxLDQpfWZ1bmN0aW9uIEhiKCl7cmV0dXJuIG5hKHRoaXMueWVhcigpLDEsNCl9ZnVuY3Rpb24gSWIoKXt2YXIgYT10aGlzLmxvY2FsZURhdGEoKS5fd2VlaztyZXR1cm4gbmEodGhpcy55ZWFyKCksYS5kb3csYS5kb3kpfWZ1bmN0aW9uIEpiKGEsYixjLGQsZSl7dmFyIGY7cmV0dXJuIG51bGw9PWE/bWEodGhpcyxkLGUpLnllYXI6KGY9bmEoYSxkLGUpLGI+ZiYmKGI9ZiksS2IuY2FsbCh0aGlzLGEsYixjLGQsZSkpfWZ1bmN0aW9uIEtiKGEsYixjLGQsZSl7dmFyIGY9bGEoYSxiLGMsZCxlKSxnPWdhKGYueWVhciwwLGYuZGF5T2ZZZWFyKTtyZXR1cm4gdGhpcy55ZWFyKGcuZ2V0VVRDRnVsbFllYXIoKSksdGhpcy5tb250aChnLmdldFVUQ01vbnRoKCkpLHRoaXMuZGF0ZShnLmdldFVUQ0RhdGUoKSksdGhpc31mdW5jdGlvbiBMYihhKXtyZXR1cm4gbnVsbD09YT9NYXRoLmNlaWwoKHRoaXMubW9udGgoKSsxKS8zKTp0aGlzLm1vbnRoKDMqKGEtMSkrdGhpcy5tb250aCgpJTMpfWZ1bmN0aW9uIE1iKGEpe3JldHVybiBtYShhLHRoaXMuX3dlZWsuZG93LHRoaXMuX3dlZWsuZG95KS53ZWVrfWZ1bmN0aW9uIE5iKCl7cmV0dXJuIHRoaXMuX3dlZWsuZG93fWZ1bmN0aW9uIE9iKCl7cmV0dXJuIHRoaXMuX3dlZWsuZG95fWZ1bmN0aW9uIFBiKGEpe3ZhciBiPXRoaXMubG9jYWxlRGF0YSgpLndlZWsodGhpcyk7cmV0dXJuIG51bGw9PWE/Yjp0aGlzLmFkZCg3KihhLWIpLCJkIil9ZnVuY3Rpb24gUWIoYSl7dmFyIGI9bWEodGhpcywxLDQpLndlZWs7cmV0dXJuIG51bGw9PWE/Yjp0aGlzLmFkZCg3KihhLWIpLCJkIil9ZnVuY3Rpb24gUmIoYSxiKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGE/YTppc05hTihhKT8oYT1iLndlZWtkYXlzUGFyc2UoYSksIm51bWJlciI9PXR5cGVvZiBhP2E6bnVsbCk6cGFyc2VJbnQoYSwxMCl9ZnVuY3Rpb24gU2IoYSxiKXtyZXR1cm4gYyh0aGlzLl93ZWVrZGF5cyk/dGhpcy5fd2Vla2RheXNbYS5kYXkoKV06dGhpcy5fd2Vla2RheXNbdGhpcy5fd2Vla2RheXMuaXNGb3JtYXQudGVzdChiKT8iZm9ybWF0Ijoic3RhbmRhbG9uZSJdW2EuZGF5KCldfWZ1bmN0aW9uIFRiKGEpe3JldHVybiB0aGlzLl93ZWVrZGF5c1Nob3J0W2EuZGF5KCldfWZ1bmN0aW9uIFViKGEpe3JldHVybiB0aGlzLl93ZWVrZGF5c01pblthLmRheSgpXX1mdW5jdGlvbiBWYihhLGIsYyl7dmFyIGQsZSxmO2Zvcih0aGlzLl93ZWVrZGF5c1BhcnNlfHwodGhpcy5fd2Vla2RheXNQYXJzZT1bXSx0aGlzLl9taW5XZWVrZGF5c1BhcnNlPVtdLHRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZT1bXSx0aGlzLl9mdWxsV2Vla2RheXNQYXJzZT1bXSksZD0wOzc+ZDtkKyspe2lmKGU9QWEoWzJlMywxXSkuZGF5KGQpLGMmJiF0aGlzLl9mdWxsV2Vla2RheXNQYXJzZVtkXSYmKHRoaXMuX2Z1bGxXZWVrZGF5c1BhcnNlW2RdPW5ldyBSZWdFeHAoIl4iK3RoaXMud2Vla2RheXMoZSwiIikucmVwbGFjZSgiLiIsIi4/IikrIiQiLCJpIiksdGhpcy5fc2hvcnRXZWVrZGF5c1BhcnNlW2RdPW5ldyBSZWdFeHAoIl4iK3RoaXMud2Vla2RheXNTaG9ydChlLCIiKS5yZXBsYWNlKCIuIiwiLj8iKSsiJCIsImkiKSx0aGlzLl9taW5XZWVrZGF5c1BhcnNlW2RdPW5ldyBSZWdFeHAoIl4iK3RoaXMud2Vla2RheXNNaW4oZSwiIikucmVwbGFjZSgiLiIsIi4/IikrIiQiLCJpIikpLHRoaXMuX3dlZWtkYXlzUGFyc2VbZF18fChmPSJeIit0aGlzLndlZWtkYXlzKGUsIiIpKyJ8XiIrdGhpcy53ZWVrZGF5c1Nob3J0KGUsIiIpKyJ8XiIrdGhpcy53ZWVrZGF5c01pbihlLCIiKSx0aGlzLl93ZWVrZGF5c1BhcnNlW2RdPW5ldyBSZWdFeHAoZi5yZXBsYWNlKCIuIiwiIiksImkiKSksYyYmImRkZGQiPT09YiYmdGhpcy5fZnVsbFdlZWtkYXlzUGFyc2VbZF0udGVzdChhKSlyZXR1cm4gZDtpZihjJiYiZGRkIj09PWImJnRoaXMuX3Nob3J0V2Vla2RheXNQYXJzZVtkXS50ZXN0KGEpKXJldHVybiBkO2lmKGMmJiJkZCI9PT1iJiZ0aGlzLl9taW5XZWVrZGF5c1BhcnNlW2RdLnRlc3QoYSkpcmV0dXJuIGQ7aWYoIWMmJnRoaXMuX3dlZWtkYXlzUGFyc2VbZF0udGVzdChhKSlyZXR1cm4gZH19ZnVuY3Rpb24gV2IoYSl7aWYoIXRoaXMuaXNWYWxpZCgpKXJldHVybiBudWxsIT1hP3RoaXM6TmFOO3ZhciBiPXRoaXMuX2lzVVRDP3RoaXMuX2QuZ2V0VVRDRGF5KCk6dGhpcy5fZC5nZXREYXkoKTtyZXR1cm4gbnVsbCE9YT8oYT1SYihhLHRoaXMubG9jYWxlRGF0YSgpKSx0aGlzLmFkZChhLWIsImQiKSk6Yn1mdW5jdGlvbiBYYihhKXtpZighdGhpcy5pc1ZhbGlkKCkpcmV0dXJuIG51bGwhPWE/dGhpczpOYU47dmFyIGI9KHRoaXMuZGF5KCkrNy10aGlzLmxvY2FsZURhdGEoKS5fd2Vlay5kb3cpJTc7cmV0dXJuIG51bGw9PWE/Yjp0aGlzLmFkZChhLWIsImQiKX1mdW5jdGlvbiBZYihhKXtyZXR1cm4gdGhpcy5pc1ZhbGlkKCk/bnVsbD09YT90aGlzLmRheSgpfHw3OnRoaXMuZGF5KHRoaXMuZGF5KCklNz9hOmEtNyk6bnVsbCE9YT90aGlzOk5hTn1mdW5jdGlvbiBaYihhKXt2YXIgYj1NYXRoLnJvdW5kKCh0aGlzLmNsb25lKCkuc3RhcnRPZigiZGF5IiktdGhpcy5jbG9uZSgpLnN0YXJ0T2YoInllYXIiKSkvODY0ZTUpKzE7cmV0dXJuIG51bGw9PWE/Yjp0aGlzLmFkZChhLWIsImQiKX1mdW5jdGlvbiAkYigpe3JldHVybiB0aGlzLmhvdXJzKCklMTJ8fDEyfWZ1bmN0aW9uIF9iKGEsYil7SihhLDAsMCxmdW5jdGlvbigpe3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS5tZXJpZGllbSh0aGlzLmhvdXJzKCksdGhpcy5taW51dGVzKCksYil9KX1mdW5jdGlvbiBhYyhhLGIpe3JldHVybiBiLl9tZXJpZGllbVBhcnNlfWZ1bmN0aW9uIGJjKGEpe3JldHVybiJwIj09PShhKyIiKS50b0xvd2VyQ2FzZSgpLmNoYXJBdCgwKX1mdW5jdGlvbiBjYyhhLGIsYyl7cmV0dXJuIGE+MTE/Yz8icG0iOiJQTSI6Yz8iYW0iOiJBTSJ9ZnVuY3Rpb24gZGMoYSxiKXtiW3hkXT1yKDFlMyooIjAuIithKSl9ZnVuY3Rpb24gZWMoKXtyZXR1cm4gdGhpcy5faXNVVEM/IlVUQyI6IiJ9ZnVuY3Rpb24gZmMoKXtyZXR1cm4gdGhpcy5faXNVVEM/IkNvb3JkaW5hdGVkIFVuaXZlcnNhbCBUaW1lIjoiIn1mdW5jdGlvbiBnYyhhKXtyZXR1cm4gQWEoMWUzKmEpfWZ1bmN0aW9uIGhjKCl7cmV0dXJuIEFhLmFwcGx5KG51bGwsYXJndW1lbnRzKS5wYXJzZVpvbmUoKX1mdW5jdGlvbiBpYyhhLGIsYyl7dmFyIGQ9dGhpcy5fY2FsZW5kYXJbYV07cmV0dXJuIEQoZCk/ZC5jYWxsKGIsYyk6ZH1mdW5jdGlvbiBqYyhhKXt2YXIgYj10aGlzLl9sb25nRGF0ZUZvcm1hdFthXSxjPXRoaXMuX2xvbmdEYXRlRm9ybWF0W2EudG9VcHBlckNhc2UoKV07cmV0dXJuIGJ8fCFjP2I6KHRoaXMuX2xvbmdEYXRlRm9ybWF0W2FdPWMucmVwbGFjZSgvTU1NTXxNTXxERHxkZGRkL2csZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2xpY2UoMSl9KSx0aGlzLl9sb25nRGF0ZUZvcm1hdFthXSl9ZnVuY3Rpb24ga2MoKXtyZXR1cm4gdGhpcy5faW52YWxpZERhdGV9ZnVuY3Rpb24gbGMoYSl7cmV0dXJuIHRoaXMuX29yZGluYWwucmVwbGFjZSgiJWQiLGEpfWZ1bmN0aW9uIG1jKGEpe3JldHVybiBhfWZ1bmN0aW9uIG5jKGEsYixjLGQpe3ZhciBlPXRoaXMuX3JlbGF0aXZlVGltZVtjXTtyZXR1cm4gRChlKT9lKGEsYixjLGQpOmUucmVwbGFjZSgvJWQvaSxhKX1mdW5jdGlvbiBvYyhhLGIpe3ZhciBjPXRoaXMuX3JlbGF0aXZlVGltZVthPjA/ImZ1dHVyZSI6InBhc3QiXTtyZXR1cm4gRChjKT9jKGIpOmMucmVwbGFjZSgvJXMvaSxiKX1mdW5jdGlvbiBwYyhhKXt2YXIgYixjO2ZvcihjIGluIGEpYj1hW2NdLEQoYik/dGhpc1tjXT1iOnRoaXNbIl8iK2NdPWI7dGhpcy5fb3JkaW5hbFBhcnNlTGVuaWVudD1uZXcgUmVnRXhwKHRoaXMuX29yZGluYWxQYXJzZS5zb3VyY2UrInwiKy9cZHsxLDJ9Ly5zb3VyY2UpfWZ1bmN0aW9uIHFjKGEsYixjLGQpe3ZhciBlPXooKSxmPWgoKS5zZXQoZCxiKTtyZXR1cm4gZVtjXShmLGEpfWZ1bmN0aW9uIHJjKGEsYixjLGQsZSl7aWYoIm51bWJlciI9PXR5cGVvZiBhJiYoYj1hLGE9dm9pZCAwKSxhPWF8fCIiLG51bGwhPWIpcmV0dXJuIHFjKGEsYixjLGUpO3ZhciBmLGc9W107Zm9yKGY9MDtkPmY7ZisrKWdbZl09cWMoYSxmLGMsZSk7cmV0dXJuIGd9ZnVuY3Rpb24gc2MoYSxiKXtyZXR1cm4gcmMoYSxiLCJtb250aHMiLDEyLCJtb250aCIpfWZ1bmN0aW9uIHRjKGEsYil7cmV0dXJuIHJjKGEsYiwibW9udGhzU2hvcnQiLDEyLCJtb250aCIpfWZ1bmN0aW9uIHVjKGEsYil7cmV0dXJuIHJjKGEsYiwid2Vla2RheXMiLDcsImRheSIpfWZ1bmN0aW9uIHZjKGEsYil7cmV0dXJuIHJjKGEsYiwid2Vla2RheXNTaG9ydCIsNywiZGF5Iil9ZnVuY3Rpb24gd2MoYSxiKXtyZXR1cm4gcmMoYSxiLCJ3ZWVrZGF5c01pbiIsNywiZGF5Iil9ZnVuY3Rpb24geGMoKXt2YXIgYT10aGlzLl9kYXRhO3JldHVybiB0aGlzLl9taWxsaXNlY29uZHM9bWUodGhpcy5fbWlsbGlzZWNvbmRzKSx0aGlzLl9kYXlzPW1lKHRoaXMuX2RheXMpLHRoaXMuX21vbnRocz1tZSh0aGlzLl9tb250aHMpLGEubWlsbGlzZWNvbmRzPW1lKGEubWlsbGlzZWNvbmRzKSxhLnNlY29uZHM9bWUoYS5zZWNvbmRzKSxhLm1pbnV0ZXM9bWUoYS5taW51dGVzKSxhLmhvdXJzPW1lKGEuaG91cnMpLGEubW9udGhzPW1lKGEubW9udGhzKSxhLnllYXJzPW1lKGEueWVhcnMpLHRoaXN9ZnVuY3Rpb24geWMoYSxiLGMsZCl7dmFyIGU9VmEoYixjKTtyZXR1cm4gYS5fbWlsbGlzZWNvbmRzKz1kKmUuX21pbGxpc2Vjb25kcyxhLl9kYXlzKz1kKmUuX2RheXMsYS5fbW9udGhzKz1kKmUuX21vbnRocyxhLl9idWJibGUoKX1mdW5jdGlvbiB6YyhhLGIpe3JldHVybiB5Yyh0aGlzLGEsYiwxKX1mdW5jdGlvbiBBYyhhLGIpe3JldHVybiB5Yyh0aGlzLGEsYiwtMSl9ZnVuY3Rpb24gQmMoYSl7cmV0dXJuIDA+YT9NYXRoLmZsb29yKGEpOk1hdGguY2VpbChhKX1mdW5jdGlvbiBDYygpe3ZhciBhLGIsYyxkLGUsZj10aGlzLl9taWxsaXNlY29uZHMsZz10aGlzLl9kYXlzLGg9dGhpcy5fbW9udGhzLGk9dGhpcy5fZGF0YTtyZXR1cm4gZj49MCYmZz49MCYmaD49MHx8MD49ZiYmMD49ZyYmMD49aHx8KGYrPTg2NGU1KkJjKEVjKGgpK2cpLGc9MCxoPTApLGkubWlsbGlzZWNvbmRzPWYlMWUzLGE9cShmLzFlMyksaS5zZWNvbmRzPWElNjAsYj1xKGEvNjApLGkubWludXRlcz1iJTYwLGM9cShiLzYwKSxpLmhvdXJzPWMlMjQsZys9cShjLzI0KSxlPXEoRGMoZykpLGgrPWUsZy09QmMoRWMoZSkpLGQ9cShoLzEyKSxoJT0xMixpLmRheXM9ZyxpLm1vbnRocz1oLGkueWVhcnM9ZCx0aGlzfWZ1bmN0aW9uIERjKGEpe3JldHVybiA0ODAwKmEvMTQ2MDk3fWZ1bmN0aW9uIEVjKGEpe3JldHVybiAxNDYwOTcqYS80ODAwfWZ1bmN0aW9uIEZjKGEpe3ZhciBiLGMsZD10aGlzLl9taWxsaXNlY29uZHM7aWYoYT1CKGEpLCJtb250aCI9PT1hfHwieWVhciI9PT1hKXJldHVybiBiPXRoaXMuX2RheXMrZC84NjRlNSxjPXRoaXMuX21vbnRocytEYyhiKSwibW9udGgiPT09YT9jOmMvMTI7c3dpdGNoKGI9dGhpcy5fZGF5cytNYXRoLnJvdW5kKEVjKHRoaXMuX21vbnRocykpLGEpe2Nhc2Uid2VlayI6cmV0dXJuIGIvNytkLzYwNDhlNTtjYXNlImRheSI6cmV0dXJuIGIrZC84NjRlNTtjYXNlImhvdXIiOnJldHVybiAyNCpiK2QvMzZlNTtjYXNlIm1pbnV0ZSI6cmV0dXJuIDE0NDAqYitkLzZlNDtjYXNlInNlY29uZCI6cmV0dXJuIDg2NDAwKmIrZC8xZTM7Y2FzZSJtaWxsaXNlY29uZCI6cmV0dXJuIE1hdGguZmxvb3IoODY0ZTUqYikrZDtkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiVW5rbm93biB1bml0ICIrYSl9fWZ1bmN0aW9uIEdjKCl7cmV0dXJuIHRoaXMuX21pbGxpc2Vjb25kcys4NjRlNSp0aGlzLl9kYXlzK3RoaXMuX21vbnRocyUxMioyNTkyZTYrMzE1MzZlNipyKHRoaXMuX21vbnRocy8xMil9ZnVuY3Rpb24gSGMoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXMoYSl9fWZ1bmN0aW9uIEljKGEpe3JldHVybiBhPUIoYSksdGhpc1thKyJzIl0oKX1mdW5jdGlvbiBKYyhhKXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGF0YVthXX19ZnVuY3Rpb24gS2MoKXtyZXR1cm4gcSh0aGlzLmRheXMoKS83KX1mdW5jdGlvbiBMYyhhLGIsYyxkLGUpe3JldHVybiBlLnJlbGF0aXZlVGltZShifHwxLCEhYyxhLGQpfWZ1bmN0aW9uIE1jKGEsYixjKXt2YXIgZD1WYShhKS5hYnMoKSxlPUNlKGQuYXMoInMiKSksZj1DZShkLmFzKCJtIikpLGc9Q2UoZC5hcygiaCIpKSxoPUNlKGQuYXMoImQiKSksaT1DZShkLmFzKCJNIikpLGo9Q2UoZC5hcygieSIpKSxrPWU8RGUucyYmWyJzIixlXXx8MT49ZiYmWyJtIl18fGY8RGUubSYmWyJtbSIsZl18fDE+PWcmJlsiaCJdfHxnPERlLmgmJlsiaGgiLGddfHwxPj1oJiZbImQiXXx8aDxEZS5kJiZbImRkIixoXXx8MT49aSYmWyJNIl18fGk8RGUuTSYmWyJNTSIsaV18fDE+PWomJlsieSJdfHxbInl5IixqXTtyZXR1cm4ga1syXT1iLGtbM109K2E+MCxrWzRdPWMsTGMuYXBwbHkobnVsbCxrKX1mdW5jdGlvbiBOYyhhLGIpe3JldHVybiB2b2lkIDA9PT1EZVthXT8hMTp2b2lkIDA9PT1iP0RlW2FdOihEZVthXT1iLCEwKX1mdW5jdGlvbiBPYyhhKXt2YXIgYj10aGlzLmxvY2FsZURhdGEoKSxjPU1jKHRoaXMsIWEsYik7cmV0dXJuIGEmJihjPWIucGFzdEZ1dHVyZSgrdGhpcyxjKSksYi5wb3N0Zm9ybWF0KGMpfWZ1bmN0aW9uIFBjKCl7dmFyIGEsYixjLGQ9RWUodGhpcy5fbWlsbGlzZWNvbmRzKS8xZTMsZT1FZSh0aGlzLl9kYXlzKSxmPUVlKHRoaXMuX21vbnRocyk7YT1xKGQvNjApLGI9cShhLzYwKSxkJT02MCxhJT02MCxjPXEoZi8xMiksZiU9MTI7dmFyIGc9YyxoPWYsaT1lLGo9YixrPWEsbD1kLG09dGhpcy5hc1NlY29uZHMoKTtyZXR1cm4gbT8oMD5tPyItIjoiIikrIlAiKyhnP2crIlkiOiIiKSsoaD9oKyJNIjoiIikrKGk/aSsiRCI6IiIpKyhqfHxrfHxsPyJUIjoiIikrKGo/aisiSCI6IiIpKyhrP2srIk0iOiIiKSsobD9sKyJTIjoiIik6IlAwRCJ9dmFyIFFjLFJjLFNjPWEubW9tZW50UHJvcGVydGllcz1bXSxUYz0hMSxVYz17fSxWYz17fSxXYz0vKFxbW15cW10qXF0pfChcXCk/KFtIaF1tbShzcyk/fE1vfE1NP00/TT98RG98REREb3xERD9EP0Q/fGRkZD9kP3xkbz98d1tvfHddP3xXW298V10/fFFvP3xZWVlZWVl8WVlZWVl8WVlZWXxZWXxnZyhnZ2c/KT98R0coR0dHPyk/fGV8RXxhfEF8aGg/fEhIP3xtbT98c3M/fFN7MSw5fXx4fFh8eno/fFpaP3wuKS9nLFhjPS8oXFtbXlxbXSpcXSl8KFxcKT8oTFRTfExUfExMP0w/TD98bHsxLDR9KS9nLFljPXt9LFpjPXt9LCRjPS9cZC8sX2M9L1xkXGQvLGFkPS9cZHszfS8sYmQ9L1xkezR9LyxjZD0vWystXT9cZHs2fS8sZGQ9L1xkXGQ/LyxlZD0vXGRcZFxkXGQ/LyxmZD0vXGRcZFxkXGRcZFxkPy8sZ2Q9L1xkezEsM30vLGhkPS9cZHsxLDR9LyxpZD0vWystXT9cZHsxLDZ9LyxqZD0vXGQrLyxrZD0vWystXT9cZCsvLGxkPS9afFsrLV1cZFxkOj9cZFxkL2dpLG1kPS9afFsrLV1cZFxkKD86Oj9cZFxkKT8vZ2ksbmQ9L1srLV0/XGQrKFwuXGR7MSwzfSk/LyxvZD0vWzAtOV0qKGFbbW5dXHM/KT9bJ2Etelx1MDBBMC1cdTA1RkZcdTA3MDAtXHVEN0ZGXHVGOTAwLVx1RkRDRlx1RkRGMC1cdUZGRUZcLV0rfFtcdTA2MDAtXHUwNkZGXC9dKyhccyo/W1x1MDYwMC1cdTA2RkZdKyl7MSwyfS9pLHBkPXt9LHFkPXt9LHJkPTAsc2Q9MSx0ZD0yLHVkPTMsdmQ9NCx3ZD01LHhkPTYseWQ9Nyx6ZD04O0ooIk0iLFsiTU0iLDJdLCJNbyIsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tb250aCgpKzF9KSxKKCJNTU0iLDAsMCxmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubW9udGhzU2hvcnQodGhpcyxhKX0pLEooIk1NTU0iLDAsMCxmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkubW9udGhzKHRoaXMsYSl9KSxBKCJtb250aCIsIk0iKSxPKCJNIixkZCksTygiTU0iLGRkLF9jKSxPKCJNTU0iLG9kKSxPKCJNTU1NIixvZCksUihbIk0iLCJNTSJdLGZ1bmN0aW9uKGEsYil7YltzZF09cihhKS0xfSksUihbIk1NTSIsIk1NTU0iXSxmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jLl9sb2NhbGUubW9udGhzUGFyc2UoYSxkLGMuX3N0cmljdCk7bnVsbCE9ZT9iW3NkXT1lOmooYykuaW52YWxpZE1vbnRoPWF9KTt2YXIgQWQ9L0Rbb0RdPyhcW1teXFtcXV0qXF18XHMrKStNTU1NPy8sQmQ9IkphbnVhcnlfRmVicnVhcnlfTWFyY2hfQXByaWxfTWF5X0p1bmVfSnVseV9BdWd1c3RfU2VwdGVtYmVyX09jdG9iZXJfTm92ZW1iZXJfRGVjZW1iZXIiLnNwbGl0KCJfIiksQ2Q9Ikphbl9GZWJfTWFyX0Fwcl9NYXlfSnVuX0p1bF9BdWdfU2VwdF9PY3RfTm92X0RlYyIuc3BsaXQoIl8iKSxEZD17fTthLnN1cHByZXNzRGVwcmVjYXRpb25XYXJuaW5ncz0hMTt2YXIgRWQ9L15ccyooKD86WystXVxkezZ9fFxkezR9KS0oPzpcZFxkLVxkXGR8V1xkXGQtXGR8V1xkXGR8XGRcZFxkfFxkXGQpKSg/OihUfCApKFxkXGQoPzo6XGRcZCg/OjpcZFxkKD86Wy4sXVxkKyk/KT8pPykoW1wrXC1dXGRcZCg/Ojo/XGRcZCk/fFxzKlopPyk/LyxGZD0vXlxzKigoPzpbKy1dXGR7Nn18XGR7NH0pKD86XGRcZFxkXGR8V1xkXGRcZHxXXGRcZHxcZFxkXGR8XGRcZCkpKD86KFR8ICkoXGRcZCg/OlxkXGQoPzpcZFxkKD86Wy4sXVxkKyk/KT8pPykoW1wrXC1dXGRcZCg/Ojo/XGRcZCk/fFxzKlopPyk/LyxHZD0vWnxbKy1dXGRcZCg/Ojo/XGRcZCk/LyxIZD1bWyJZWVlZWVktTU0tREQiLC9bKy1dXGR7Nn0tXGRcZC1cZFxkL10sWyJZWVlZLU1NLUREIiwvXGR7NH0tXGRcZC1cZFxkL10sWyJHR0dHLVtXXVdXLUUiLC9cZHs0fS1XXGRcZC1cZC9dLFsiR0dHRy1bV11XVyIsL1xkezR9LVdcZFxkLywhMV0sWyJZWVlZLURERCIsL1xkezR9LVxkezN9L10sWyJZWVlZLU1NIiwvXGR7NH0tXGRcZC8sITFdLFsiWVlZWVlZTU1ERCIsL1srLV1cZHsxMH0vXSxbIllZWVlNTUREIiwvXGR7OH0vXSxbIkdHR0dbV11XV0UiLC9cZHs0fVdcZHszfS9dLFsiR0dHR1tXXVdXIiwvXGR7NH1XXGR7Mn0vLCExXSxbIllZWVlEREQiLC9cZHs3fS9dXSxJZD1bWyJISDptbTpzcy5TU1NTIiwvXGRcZDpcZFxkOlxkXGRcLlxkKy9dLFsiSEg6bW06c3MsU1NTUyIsL1xkXGQ6XGRcZDpcZFxkLFxkKy9dLFsiSEg6bW06c3MiLC9cZFxkOlxkXGQ6XGRcZC9dLFsiSEg6bW0iLC9cZFxkOlxkXGQvXSxbIkhIbW1zcy5TU1NTIiwvXGRcZFxkXGRcZFxkXC5cZCsvXSxbIkhIbW1zcyxTU1NTIiwvXGRcZFxkXGRcZFxkLFxkKy9dLFsiSEhtbXNzIiwvXGRcZFxkXGRcZFxkL10sWyJISG1tIiwvXGRcZFxkXGQvXSxbIkhIIiwvXGRcZC9dXSxKZD0vXlwvP0RhdGVcKChcLT9cZCspL2k7YS5jcmVhdGVGcm9tSW5wdXRGYWxsYmFjaz1iYSgibW9tZW50IGNvbnN0cnVjdGlvbiBmYWxscyBiYWNrIHRvIGpzIERhdGUuIFRoaXMgaXMgZGlzY291cmFnZWQgYW5kIHdpbGwgYmUgcmVtb3ZlZCBpbiB1cGNvbWluZyBtYWpvciByZWxlYXNlLiBQbGVhc2UgcmVmZXIgdG8gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzE0MDcgZm9yIG1vcmUgaW5mby4iLGZ1bmN0aW9uKGEpe2EuX2Q9bmV3IERhdGUoYS5faSsoYS5fdXNlVVRDPyIgVVRDIjoiIikpfSksSigwLFsiWVkiLDJdLDAsZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy55ZWFyKCklMTAwfSksSigwLFsiWVlZWSIsNF0sMCwieWVhciIpLEooMCxbIllZWVlZIiw1XSwwLCJ5ZWFyIiksSigwLFsiWVlZWVlZIiw2LCEwXSwwLCJ5ZWFyIiksQSgieWVhciIsInkiKSxPKCJZIixrZCksTygiWVkiLGRkLF9jKSxPKCJZWVlZIixoZCxiZCksTygiWVlZWVkiLGlkLGNkKSxPKCJZWVlZWVkiLGlkLGNkKSxSKFsiWVlZWVkiLCJZWVlZWVkiXSxyZCksUigiWVlZWSIsZnVuY3Rpb24oYixjKXtjW3JkXT0yPT09Yi5sZW5ndGg/YS5wYXJzZVR3b0RpZ2l0WWVhcihiKTpyKGIpfSksUigiWVkiLGZ1bmN0aW9uKGIsYyl7Y1tyZF09YS5wYXJzZVR3b0RpZ2l0WWVhcihiKX0pLGEucGFyc2VUd29EaWdpdFllYXI9ZnVuY3Rpb24oYSl7cmV0dXJuIHIoYSkrKHIoYSk+Njg/MTkwMDoyZTMpfTt2YXIgS2Q9RSgiRnVsbFllYXIiLCExKTthLklTT184NjAxPWZ1bmN0aW9uKCl7fTt2YXIgTGQ9YmEoIm1vbWVudCgpLm1pbiBpcyBkZXByZWNhdGVkLCB1c2UgbW9tZW50Lm1pbiBpbnN0ZWFkLiBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMTU0OCIsZnVuY3Rpb24oKXt2YXIgYT1BYS5hcHBseShudWxsLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXMuaXNWYWxpZCgpJiZhLmlzVmFsaWQoKT90aGlzPmE/dGhpczphOmwoKX0pLE1kPWJhKCJtb21lbnQoKS5tYXggaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudC5tYXggaW5zdGVhZC4gaHR0cHM6Ly9naXRodWIuY29tL21vbWVudC9tb21lbnQvaXNzdWVzLzE1NDgiLGZ1bmN0aW9uKCl7dmFyIGE9QWEuYXBwbHkobnVsbCxhcmd1bWVudHMpO3JldHVybiB0aGlzLmlzVmFsaWQoKSYmYS5pc1ZhbGlkKCk/YT50aGlzP3RoaXM6YTpsKCl9KSxOZD1EYXRlLm5vd3x8ZnVuY3Rpb24oKXtyZXR1cm4rbmV3IERhdGV9O0dhKCJaIiwiOiIpLEdhKCJaWiIsIiIpLE8oIloiLG1kKSxPKCJaWiIsbWQpLFIoWyJaIiwiWloiXSxmdW5jdGlvbihhLGIsYyl7Yy5fdXNlVVRDPSEwLGMuX3R6bT1IYShtZCxhKX0pO3ZhciBPZD0vKFtcK1wtXXxcZFxkKS9naTthLnVwZGF0ZU9mZnNldD1mdW5jdGlvbigpe307dmFyIFBkPS8oXC0pPyg/OihcZCopWy4gXSk/KFxkKylcOihcZCspKD86XDooXGQrKVwuPyhcZHszfSk/KT8vLFFkPS9eKC0pP1AoPzooPzooWzAtOSwuXSopWSk/KD86KFswLTksLl0qKU0pPyg/OihbMC05LC5dKilEKT8oPzpUKD86KFswLTksLl0qKUgpPyg/OihbMC05LC5dKilNKT8oPzooWzAtOSwuXSopUyk/KT98KFswLTksLl0qKVcpJC87VmEuZm49RWEucHJvdG90eXBlO3ZhciBSZD1aYSgxLCJhZGQiKSxTZD1aYSgtMSwic3VidHJhY3QiKTthLmRlZmF1bHRGb3JtYXQ9IllZWVktTU0tRERUSEg6bW06c3NaIjt2YXIgVGQ9YmEoIm1vbWVudCgpLmxhbmcoKSBpcyBkZXByZWNhdGVkLiBJbnN0ZWFkLCB1c2UgbW9tZW50KCkubG9jYWxlRGF0YSgpIHRvIGdldCB0aGUgbGFuZ3VhZ2UgY29uZmlndXJhdGlvbi4gVXNlIG1vbWVudCgpLmxvY2FsZSgpIHRvIGNoYW5nZSBsYW5ndWFnZXMuIixmdW5jdGlvbihhKXtyZXR1cm4gdm9pZCAwPT09YT90aGlzLmxvY2FsZURhdGEoKTp0aGlzLmxvY2FsZShhKX0pO0ooMCxbImdnIiwyXSwwLGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMud2Vla1llYXIoKSUxMDB9KSxKKDAsWyJHRyIsMl0sMCxmdW5jdGlvbigpe3JldHVybiB0aGlzLmlzb1dlZWtZZWFyKCklMTAwfSksRWIoImdnZ2ciLCJ3ZWVrWWVhciIpLEViKCJnZ2dnZyIsIndlZWtZZWFyIiksRWIoIkdHR0ciLCJpc29XZWVrWWVhciIpLEViKCJHR0dHRyIsImlzb1dlZWtZZWFyIiksQSgid2Vla1llYXIiLCJnZyIpLEEoImlzb1dlZWtZZWFyIiwiR0ciKSxPKCJHIixrZCksTygiZyIsa2QpLE8oIkdHIixkZCxfYyksTygiZ2ciLGRkLF9jKSxPKCJHR0dHIixoZCxiZCksTygiZ2dnZyIsaGQsYmQpLE8oIkdHR0dHIixpZCxjZCksTygiZ2dnZ2ciLGlkLGNkKSxTKFsiZ2dnZyIsImdnZ2dnIiwiR0dHRyIsIkdHR0dHIl0sZnVuY3Rpb24oYSxiLGMsZCl7YltkLnN1YnN0cigwLDIpXT1yKGEpfSksUyhbImdnIiwiR0ciXSxmdW5jdGlvbihiLGMsZCxlKXtjW2VdPWEucGFyc2VUd29EaWdpdFllYXIoYil9KSxKKCJRIiwwLCJRbyIsInF1YXJ0ZXIiKSxBKCJxdWFydGVyIiwiUSIpLE8oIlEiLCRjKSxSKCJRIixmdW5jdGlvbihhLGIpe2Jbc2RdPTMqKHIoYSktMSl9KSxKKCJ3IixbInd3IiwyXSwid28iLCJ3ZWVrIiksSigiVyIsWyJXVyIsMl0sIldvIiwiaXNvV2VlayIpLEEoIndlZWsiLCJ3IiksQSgiaXNvV2VlayIsIlciKSxPKCJ3IixkZCksTygid3ciLGRkLF9jKSxPKCJXIixkZCksTygiV1ciLGRkLF9jKSxTKFsidyIsInd3IiwiVyIsIldXIl0sZnVuY3Rpb24oYSxiLGMsZCl7YltkLnN1YnN0cigwLDEpXT1yKGEpfSk7dmFyIFVkPXtkb3c6MCxkb3k6Nn07SigiRCIsWyJERCIsMl0sIkRvIiwiZGF0ZSIpLEEoImRhdGUiLCJEIiksTygiRCIsZGQpLE8oIkREIixkZCxfYyksTygiRG8iLGZ1bmN0aW9uKGEsYil7DQpyZXR1cm4gYT9iLl9vcmRpbmFsUGFyc2U6Yi5fb3JkaW5hbFBhcnNlTGVuaWVudH0pLFIoWyJEIiwiREQiXSx0ZCksUigiRG8iLGZ1bmN0aW9uKGEsYil7Ylt0ZF09cihhLm1hdGNoKGRkKVswXSwxMCl9KTt2YXIgVmQ9RSgiRGF0ZSIsITApO0ooImQiLDAsImRvIiwiZGF5IiksSigiZGQiLDAsMCxmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5sb2NhbGVEYXRhKCkud2Vla2RheXNNaW4odGhpcyxhKX0pLEooImRkZCIsMCwwLGZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxvY2FsZURhdGEoKS53ZWVrZGF5c1Nob3J0KHRoaXMsYSl9KSxKKCJkZGRkIiwwLDAsZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubG9jYWxlRGF0YSgpLndlZWtkYXlzKHRoaXMsYSl9KSxKKCJlIiwwLDAsIndlZWtkYXkiKSxKKCJFIiwwLDAsImlzb1dlZWtkYXkiKSxBKCJkYXkiLCJkIiksQSgid2Vla2RheSIsImUiKSxBKCJpc29XZWVrZGF5IiwiRSIpLE8oImQiLGRkKSxPKCJlIixkZCksTygiRSIsZGQpLE8oImRkIixvZCksTygiZGRkIixvZCksTygiZGRkZCIsb2QpLFMoWyJkZCIsImRkZCIsImRkZGQiXSxmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1jLl9sb2NhbGUud2Vla2RheXNQYXJzZShhLGQsYy5fc3RyaWN0KTtudWxsIT1lP2IuZD1lOmooYykuaW52YWxpZFdlZWtkYXk9YX0pLFMoWyJkIiwiZSIsIkUiXSxmdW5jdGlvbihhLGIsYyxkKXtiW2RdPXIoYSl9KTt2YXIgV2Q9IlN1bmRheV9Nb25kYXlfVHVlc2RheV9XZWRuZXNkYXlfVGh1cnNkYXlfRnJpZGF5X1NhdHVyZGF5Ii5zcGxpdCgiXyIpLFhkPSJTdW5fTW9uX1R1ZV9XZWRfVGh1X0ZyaV9TYXQiLnNwbGl0KCJfIiksWWQ9IlN1X01vX1R1X1dlX1RoX0ZyX1NhIi5zcGxpdCgiXyIpO0ooIkRERCIsWyJEREREIiwzXSwiREREbyIsImRheU9mWWVhciIpLEEoImRheU9mWWVhciIsIkRERCIpLE8oIkRERCIsZ2QpLE8oIkREREQiLGFkKSxSKFsiREREIiwiRERERCJdLGZ1bmN0aW9uKGEsYixjKXtjLl9kYXlPZlllYXI9cihhKX0pLEooIkgiLFsiSEgiLDJdLDAsImhvdXIiKSxKKCJoIixbImhoIiwyXSwwLCRiKSxKKCJobW0iLDAsMCxmdW5jdGlvbigpe3JldHVybiIiKyRiLmFwcGx5KHRoaXMpK0kodGhpcy5taW51dGVzKCksMil9KSxKKCJobW1zcyIsMCwwLGZ1bmN0aW9uKCl7cmV0dXJuIiIrJGIuYXBwbHkodGhpcykrSSh0aGlzLm1pbnV0ZXMoKSwyKStJKHRoaXMuc2Vjb25kcygpLDIpfSksSigiSG1tIiwwLDAsZnVuY3Rpb24oKXtyZXR1cm4iIit0aGlzLmhvdXJzKCkrSSh0aGlzLm1pbnV0ZXMoKSwyKX0pLEooIkhtbXNzIiwwLDAsZnVuY3Rpb24oKXtyZXR1cm4iIit0aGlzLmhvdXJzKCkrSSh0aGlzLm1pbnV0ZXMoKSwyKStJKHRoaXMuc2Vjb25kcygpLDIpfSksX2IoImEiLCEwKSxfYigiQSIsITEpLEEoImhvdXIiLCJoIiksTygiYSIsYWMpLE8oIkEiLGFjKSxPKCJIIixkZCksTygiaCIsZGQpLE8oIkhIIixkZCxfYyksTygiaGgiLGRkLF9jKSxPKCJobW0iLGVkKSxPKCJobW1zcyIsZmQpLE8oIkhtbSIsZWQpLE8oIkhtbXNzIixmZCksUihbIkgiLCJISCJdLHVkKSxSKFsiYSIsIkEiXSxmdW5jdGlvbihhLGIsYyl7Yy5faXNQbT1jLl9sb2NhbGUuaXNQTShhKSxjLl9tZXJpZGllbT1hfSksUihbImgiLCJoaCJdLGZ1bmN0aW9uKGEsYixjKXtiW3VkXT1yKGEpLGooYykuYmlnSG91cj0hMH0pLFIoImhtbSIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEubGVuZ3RoLTI7Ylt1ZF09cihhLnN1YnN0cigwLGQpKSxiW3ZkXT1yKGEuc3Vic3RyKGQpKSxqKGMpLmJpZ0hvdXI9ITB9KSxSKCJobW1zcyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEubGVuZ3RoLTQsZT1hLmxlbmd0aC0yO2JbdWRdPXIoYS5zdWJzdHIoMCxkKSksYlt2ZF09cihhLnN1YnN0cihkLDIpKSxiW3dkXT1yKGEuc3Vic3RyKGUpKSxqKGMpLmJpZ0hvdXI9ITB9KSxSKCJIbW0iLGZ1bmN0aW9uKGEsYixjKXt2YXIgZD1hLmxlbmd0aC0yO2JbdWRdPXIoYS5zdWJzdHIoMCxkKSksYlt2ZF09cihhLnN1YnN0cihkKSl9KSxSKCJIbW1zcyIsZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEubGVuZ3RoLTQsZT1hLmxlbmd0aC0yO2JbdWRdPXIoYS5zdWJzdHIoMCxkKSksYlt2ZF09cihhLnN1YnN0cihkLDIpKSxiW3dkXT1yKGEuc3Vic3RyKGUpKX0pO3ZhciBaZD0vW2FwXVwuP20/XC4/L2ksJGQ9RSgiSG91cnMiLCEwKTtKKCJtIixbIm1tIiwyXSwwLCJtaW51dGUiKSxBKCJtaW51dGUiLCJtIiksTygibSIsZGQpLE8oIm1tIixkZCxfYyksUihbIm0iLCJtbSJdLHZkKTt2YXIgX2Q9RSgiTWludXRlcyIsITEpO0ooInMiLFsic3MiLDJdLDAsInNlY29uZCIpLEEoInNlY29uZCIsInMiKSxPKCJzIixkZCksTygic3MiLGRkLF9jKSxSKFsicyIsInNzIl0sd2QpO3ZhciBhZT1FKCJTZWNvbmRzIiwhMSk7SigiUyIsMCwwLGZ1bmN0aW9uKCl7cmV0dXJufn4odGhpcy5taWxsaXNlY29uZCgpLzEwMCl9KSxKKDAsWyJTUyIsMl0sMCxmdW5jdGlvbigpe3JldHVybn5+KHRoaXMubWlsbGlzZWNvbmQoKS8xMCl9KSxKKDAsWyJTU1MiLDNdLDAsIm1pbGxpc2Vjb25kIiksSigwLFsiU1NTUyIsNF0sMCxmdW5jdGlvbigpe3JldHVybiAxMCp0aGlzLm1pbGxpc2Vjb25kKCl9KSxKKDAsWyJTU1NTUyIsNV0sMCxmdW5jdGlvbigpe3JldHVybiAxMDAqdGhpcy5taWxsaXNlY29uZCgpfSksSigwLFsiU1NTU1NTIiw2XSwwLGZ1bmN0aW9uKCl7cmV0dXJuIDFlMyp0aGlzLm1pbGxpc2Vjb25kKCl9KSxKKDAsWyJTU1NTU1NTIiw3XSwwLGZ1bmN0aW9uKCl7cmV0dXJuIDFlNCp0aGlzLm1pbGxpc2Vjb25kKCl9KSxKKDAsWyJTU1NTU1NTUyIsOF0sMCxmdW5jdGlvbigpe3JldHVybiAxZTUqdGhpcy5taWxsaXNlY29uZCgpfSksSigwLFsiU1NTU1NTU1NTIiw5XSwwLGZ1bmN0aW9uKCl7cmV0dXJuIDFlNip0aGlzLm1pbGxpc2Vjb25kKCl9KSxBKCJtaWxsaXNlY29uZCIsIm1zIiksTygiUyIsZ2QsJGMpLE8oIlNTIixnZCxfYyksTygiU1NTIixnZCxhZCk7dmFyIGJlO2ZvcihiZT0iU1NTUyI7YmUubGVuZ3RoPD05O2JlKz0iUyIpTyhiZSxqZCk7Zm9yKGJlPSJTIjtiZS5sZW5ndGg8PTk7YmUrPSJTIilSKGJlLGRjKTt2YXIgY2U9RSgiTWlsbGlzZWNvbmRzIiwhMSk7SigieiIsMCwwLCJ6b25lQWJiciIpLEooInp6IiwwLDAsInpvbmVOYW1lIik7dmFyIGRlPW8ucHJvdG90eXBlO2RlLmFkZD1SZCxkZS5jYWxlbmRhcj1fYSxkZS5jbG9uZT1hYixkZS5kaWZmPWhiLGRlLmVuZE9mPXRiLGRlLmZvcm1hdD1sYixkZS5mcm9tPW1iLGRlLmZyb21Ob3c9bmIsZGUudG89b2IsZGUudG9Ob3c9cGIsZGUuZ2V0PUgsZGUuaW52YWxpZEF0PUNiLGRlLmlzQWZ0ZXI9YmIsZGUuaXNCZWZvcmU9Y2IsZGUuaXNCZXR3ZWVuPWRiLGRlLmlzU2FtZT1lYixkZS5pc1NhbWVPckFmdGVyPWZiLGRlLmlzU2FtZU9yQmVmb3JlPWdiLGRlLmlzVmFsaWQ9QWIsZGUubGFuZz1UZCxkZS5sb2NhbGU9cWIsZGUubG9jYWxlRGF0YT1yYixkZS5tYXg9TWQsZGUubWluPUxkLGRlLnBhcnNpbmdGbGFncz1CYixkZS5zZXQ9SCxkZS5zdGFydE9mPXNiLGRlLnN1YnRyYWN0PVNkLGRlLnRvQXJyYXk9eGIsZGUudG9PYmplY3Q9eWIsZGUudG9EYXRlPXdiLGRlLnRvSVNPU3RyaW5nPWtiLGRlLnRvSlNPTj16YixkZS50b1N0cmluZz1qYixkZS51bml4PXZiLGRlLnZhbHVlT2Y9dWIsZGUuY3JlYXRpb25EYXRhPURiLGRlLnllYXI9S2QsZGUuaXNMZWFwWWVhcj1qYSxkZS53ZWVrWWVhcj1GYixkZS5pc29XZWVrWWVhcj1HYixkZS5xdWFydGVyPWRlLnF1YXJ0ZXJzPUxiLGRlLm1vbnRoPVosZGUuZGF5c0luTW9udGg9JCxkZS53ZWVrPWRlLndlZWtzPVBiLGRlLmlzb1dlZWs9ZGUuaXNvV2Vla3M9UWIsZGUud2Vla3NJblllYXI9SWIsZGUuaXNvV2Vla3NJblllYXI9SGIsZGUuZGF0ZT1WZCxkZS5kYXk9ZGUuZGF5cz1XYixkZS53ZWVrZGF5PVhiLGRlLmlzb1dlZWtkYXk9WWIsZGUuZGF5T2ZZZWFyPVpiLGRlLmhvdXI9ZGUuaG91cnM9JGQsZGUubWludXRlPWRlLm1pbnV0ZXM9X2QsZGUuc2Vjb25kPWRlLnNlY29uZHM9YWUsZGUubWlsbGlzZWNvbmQ9ZGUubWlsbGlzZWNvbmRzPWNlLGRlLnV0Y09mZnNldD1LYSxkZS51dGM9TWEsZGUubG9jYWw9TmEsZGUucGFyc2Vab25lPU9hLGRlLmhhc0FsaWduZWRIb3VyT2Zmc2V0PVBhLGRlLmlzRFNUPVFhLGRlLmlzRFNUU2hpZnRlZD1SYSxkZS5pc0xvY2FsPVNhLGRlLmlzVXRjT2Zmc2V0PVRhLGRlLmlzVXRjPVVhLGRlLmlzVVRDPVVhLGRlLnpvbmVBYmJyPWVjLGRlLnpvbmVOYW1lPWZjLGRlLmRhdGVzPWJhKCJkYXRlcyBhY2Nlc3NvciBpcyBkZXByZWNhdGVkLiBVc2UgZGF0ZSBpbnN0ZWFkLiIsVmQpLGRlLm1vbnRocz1iYSgibW9udGhzIGFjY2Vzc29yIGlzIGRlcHJlY2F0ZWQuIFVzZSBtb250aCBpbnN0ZWFkIixaKSxkZS55ZWFycz1iYSgieWVhcnMgYWNjZXNzb3IgaXMgZGVwcmVjYXRlZC4gVXNlIHllYXIgaW5zdGVhZCIsS2QpLGRlLnpvbmU9YmEoIm1vbWVudCgpLnpvbmUgaXMgZGVwcmVjYXRlZCwgdXNlIG1vbWVudCgpLnV0Y09mZnNldCBpbnN0ZWFkLiBodHRwczovL2dpdGh1Yi5jb20vbW9tZW50L21vbWVudC9pc3N1ZXMvMTc3OSIsTGEpO3ZhciBlZT1kZSxmZT17c2FtZURheToiW1RvZGF5IGF0XSBMVCIsbmV4dERheToiW1RvbW9ycm93IGF0XSBMVCIsbmV4dFdlZWs6ImRkZGQgW2F0XSBMVCIsbGFzdERheToiW1llc3RlcmRheSBhdF0gTFQiLGxhc3RXZWVrOiJbTGFzdF0gZGRkZCBbYXRdIExUIixzYW1lRWxzZToiTCJ9LGdlPXtMVFM6Img6bW06c3MgQSIsTFQ6Img6bW0gQSIsTDoiTU0vREQvWVlZWSIsTEw6Ik1NTU0gRCwgWVlZWSIsTExMOiJNTU1NIEQsIFlZWVkgaDptbSBBIixMTExMOiJkZGRkLCBNTU1NIEQsIFlZWVkgaDptbSBBIn0saGU9IkludmFsaWQgZGF0ZSIsaWU9IiVkIixqZT0vXGR7MSwyfS8sa2U9e2Z1dHVyZToiaW4gJXMiLHBhc3Q6IiVzIGFnbyIsczoiYSBmZXcgc2Vjb25kcyIsbToiYSBtaW51dGUiLG1tOiIlZCBtaW51dGVzIixoOiJhbiBob3VyIixoaDoiJWQgaG91cnMiLGQ6ImEgZGF5IixkZDoiJWQgZGF5cyIsTToiYSBtb250aCIsTU06IiVkIG1vbnRocyIseToiYSB5ZWFyIix5eToiJWQgeWVhcnMifSxsZT10LnByb3RvdHlwZTtsZS5fY2FsZW5kYXI9ZmUsbGUuY2FsZW5kYXI9aWMsbGUuX2xvbmdEYXRlRm9ybWF0PWdlLGxlLmxvbmdEYXRlRm9ybWF0PWpjLGxlLl9pbnZhbGlkRGF0ZT1oZSxsZS5pbnZhbGlkRGF0ZT1rYyxsZS5fb3JkaW5hbD1pZSxsZS5vcmRpbmFsPWxjLGxlLl9vcmRpbmFsUGFyc2U9amUsbGUucHJlcGFyc2U9bWMsbGUucG9zdGZvcm1hdD1tYyxsZS5fcmVsYXRpdmVUaW1lPWtlLGxlLnJlbGF0aXZlVGltZT1uYyxsZS5wYXN0RnV0dXJlPW9jLGxlLnNldD1wYyxsZS5tb250aHM9VixsZS5fbW9udGhzPUJkLGxlLm1vbnRoc1Nob3J0PVcsbGUuX21vbnRoc1Nob3J0PUNkLGxlLm1vbnRoc1BhcnNlPVgsbGUud2Vlaz1NYixsZS5fd2Vlaz1VZCxsZS5maXJzdERheU9mWWVhcj1PYixsZS5maXJzdERheU9mV2Vlaz1OYixsZS53ZWVrZGF5cz1TYixsZS5fd2Vla2RheXM9V2QsbGUud2Vla2RheXNNaW49VWIsbGUuX3dlZWtkYXlzTWluPVlkLGxlLndlZWtkYXlzU2hvcnQ9VGIsbGUuX3dlZWtkYXlzU2hvcnQ9WGQsbGUud2Vla2RheXNQYXJzZT1WYixsZS5pc1BNPWJjLGxlLl9tZXJpZGllbVBhcnNlPVpkLGxlLm1lcmlkaWVtPWNjLHgoImVuIix7bW9udGhzUGFyc2U6Wy9eamFuL2ksL15mZWIvaSwvXm1hci9pLC9eYXByL2ksL15tYXkvaSwvXmp1bi9pLC9eanVsL2ksL15hdWcvaSwvXnNlcC9pLC9eb2N0L2ksL15ub3YvaSwvXmRlYy9pXSxsb25nTW9udGhzUGFyc2U6Wy9eamFudWFyeSQvaSwvXmZlYnJ1YXJ5JC9pLC9ebWFyY2gkL2ksL15hcHJpbCQvaSwvXm1heSQvaSwvXmp1bmUkL2ksL15qdWx5JC9pLC9eYXVndXN0JC9pLC9ec2VwdGVtYmVyJC9pLC9eb2N0b2JlciQvaSwvXm5vdmVtYmVyJC9pLC9eZGVjZW1iZXIkL2ldLHNob3J0TW9udGhzUGFyc2U6Wy9eamFuJC9pLC9eZmViJC9pLC9ebWFyJC9pLC9eYXByJC9pLC9ebWF5JC9pLC9eanVuJC9pLC9eanVsJC9pLC9eYXVnL2ksL15zZXB0PyQvaSwvXm9jdCQvaSwvXm5vdiQvaSwvXmRlYyQvaV0sb3JkaW5hbFBhcnNlOi9cZHsxLDJ9KHRofHN0fG5kfHJkKS8sb3JkaW5hbDpmdW5jdGlvbihhKXt2YXIgYj1hJTEwLGM9MT09PXIoYSUxMDAvMTApPyJ0aCI6MT09PWI/InN0IjoyPT09Yj8ibmQiOjM9PT1iPyJyZCI6InRoIjtyZXR1cm4gYStjfX0pLGEubGFuZz1iYSgibW9tZW50LmxhbmcgaXMgZGVwcmVjYXRlZC4gVXNlIG1vbWVudC5sb2NhbGUgaW5zdGVhZC4iLHgpLGEubGFuZ0RhdGE9YmEoIm1vbWVudC5sYW5nRGF0YSBpcyBkZXByZWNhdGVkLiBVc2UgbW9tZW50LmxvY2FsZURhdGEgaW5zdGVhZC4iLHopO3ZhciBtZT1NYXRoLmFicyxuZT1IYygibXMiKSxvZT1IYygicyIpLHBlPUhjKCJtIikscWU9SGMoImgiKSxyZT1IYygiZCIpLHNlPUhjKCJ3IiksdGU9SGMoIk0iKSx1ZT1IYygieSIpLHZlPUpjKCJtaWxsaXNlY29uZHMiKSx3ZT1KYygic2Vjb25kcyIpLHhlPUpjKCJtaW51dGVzIikseWU9SmMoImhvdXJzIiksemU9SmMoImRheXMiKSxBZT1KYygibW9udGhzIiksQmU9SmMoInllYXJzIiksQ2U9TWF0aC5yb3VuZCxEZT17czo0NSxtOjQ1LGg6MjIsZDoyNixNOjExfSxFZT1NYXRoLmFicyxGZT1FYS5wcm90b3R5cGU7RmUuYWJzPXhjLEZlLmFkZD16YyxGZS5zdWJ0cmFjdD1BYyxGZS5hcz1GYyxGZS5hc01pbGxpc2Vjb25kcz1uZSxGZS5hc1NlY29uZHM9b2UsRmUuYXNNaW51dGVzPXBlLEZlLmFzSG91cnM9cWUsRmUuYXNEYXlzPXJlLEZlLmFzV2Vla3M9c2UsRmUuYXNNb250aHM9dGUsRmUuYXNZZWFycz11ZSxGZS52YWx1ZU9mPUdjLEZlLl9idWJibGU9Q2MsRmUuZ2V0PUljLEZlLm1pbGxpc2Vjb25kcz12ZSxGZS5zZWNvbmRzPXdlLEZlLm1pbnV0ZXM9eGUsRmUuaG91cnM9eWUsRmUuZGF5cz16ZSxGZS53ZWVrcz1LYyxGZS5tb250aHM9QWUsRmUueWVhcnM9QmUsRmUuaHVtYW5pemU9T2MsRmUudG9JU09TdHJpbmc9UGMsRmUudG9TdHJpbmc9UGMsRmUudG9KU09OPVBjLEZlLmxvY2FsZT1xYixGZS5sb2NhbGVEYXRhPXJiLEZlLnRvSXNvU3RyaW5nPWJhKCJ0b0lzb1N0cmluZygpIGlzIGRlcHJlY2F0ZWQuIFBsZWFzZSB1c2UgdG9JU09TdHJpbmcoKSBpbnN0ZWFkIChub3RpY2UgdGhlIGNhcGl0YWxzKSIsUGMpLEZlLmxhbmc9VGQsSigiWCIsMCwwLCJ1bml4IiksSigieCIsMCwwLCJ2YWx1ZU9mIiksTygieCIsa2QpLE8oIlgiLG5kKSxSKCJYIixmdW5jdGlvbihhLGIsYyl7Yy5fZD1uZXcgRGF0ZSgxZTMqcGFyc2VGbG9hdChhLDEwKSl9KSxSKCJ4IixmdW5jdGlvbihhLGIsYyl7Yy5fZD1uZXcgRGF0ZShyKGEpKX0pLGEudmVyc2lvbj0iMi4xMS4wIixiKEFhKSxhLmZuPWVlLGEubWluPUNhLGEubWF4PURhLGEubm93PU5kLGEudXRjPWgsYS51bml4PWdjLGEubW9udGhzPXNjLGEuaXNEYXRlPWQsYS5sb2NhbGU9eCxhLmludmFsaWQ9bCxhLmR1cmF0aW9uPVZhLGEuaXNNb21lbnQ9cCxhLndlZWtkYXlzPXVjLGEucGFyc2Vab25lPWhjLGEubG9jYWxlRGF0YT16LGEuaXNEdXJhdGlvbj1GYSxhLm1vbnRoc1Nob3J0PXRjLGEud2Vla2RheXNNaW49d2MsYS5kZWZpbmVMb2NhbGU9eSxhLndlZWtkYXlzU2hvcnQ9dmMsYS5ub3JtYWxpemVVbml0cz1CLGEucmVsYXRpdmVUaW1lVGhyZXNob2xkPU5jLGEucHJvdG90eXBlPWVlO3ZhciBHZT1hO3JldHVybiBHZX0pOw0KDQoNCi8qDQogKiAgQ2xvY2sxIC0gVGhlIEZpbmFsIENvdW50ZG93bg0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiENCiAqIFRoZSBGaW5hbCBDb3VudGRvd24gZm9yIGpRdWVyeSB2Mi4xLjAgKGh0dHA6Ly9oaWxpb3MuZ2l0aHViLmlvL2pRdWVyeS5jb3VudGRvd24vKQ0KICogQ29weXJpZ2h0IChjKSAyMDE1IEVkc29uIEhpbGlvcw0KICogDQogKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYSBjb3B5IG9mDQogKiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwgdG8gZGVhbCBpbg0KICogdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0bw0KICogdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YNCiAqIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywNCiAqIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOg0KICogDQogKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZCBpbiBhbGwNCiAqIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuDQogKiANCiAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SDQogKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwgRklUTkVTUw0KICogRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SDQogKiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUiBMSUFCSUxJVFksIFdIRVRIRVINCiAqIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcgRlJPTSwgT1VUIE9GIE9SIElODQogKiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLg0KICovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiOyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYSk6YShqUXVlcnkpfShmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYihhKXtpZihhIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gYTtpZihTdHJpbmcoYSkubWF0Y2goZykpcmV0dXJuIFN0cmluZyhhKS5tYXRjaCgvXlswLTldKiQvKSYmKGE9TnVtYmVyKGEpKSxTdHJpbmcoYSkubWF0Y2goL1wtLykmJihhPVN0cmluZyhhKS5yZXBsYWNlKC9cLS9nLCIvIikpLG5ldyBEYXRlKGEpO3Rocm93IG5ldyBFcnJvcigiQ291bGRuJ3QgY2FzdCBgIithKyJgIHRvIGEgZGF0ZSBvYmplY3QuIil9ZnVuY3Rpb24gYyhhKXt2YXIgYj1hLnRvU3RyaW5nKCkucmVwbGFjZSgvKFsuPyorXiRbXF1cXCgpe318LV0pL2csIlxcJDEiKTtyZXR1cm4gbmV3IFJlZ0V4cChiKX1mdW5jdGlvbiBkKGEpe3JldHVybiBmdW5jdGlvbihiKXt2YXIgZD1iLm1hdGNoKC8lKC18ISk/W0EtWl17MX0oOlteO10rOyk/L2dpKTtpZihkKWZvcih2YXIgZj0wLGc9ZC5sZW5ndGg7Zz5mOysrZil7dmFyIGg9ZFtmXS5tYXRjaCgvJSgtfCEpPyhbYS16QS1aXXsxfSkoOlteO10rOyk/Lyksaj1jKGhbMF0pLGs9aFsxXXx8IiIsbD1oWzNdfHwiIixtPW51bGw7aD1oWzJdLGkuaGFzT3duUHJvcGVydHkoaCkmJihtPWlbaF0sbT1OdW1iZXIoYVttXSkpLG51bGwhPT1tJiYoIiEiPT09ayYmKG09ZShsLG0pKSwiIj09PWsmJjEwPm0mJihtPSIwIittLnRvU3RyaW5nKCkpLGI9Yi5yZXBsYWNlKGosbS50b1N0cmluZygpKSl9cmV0dXJuIGI9Yi5yZXBsYWNlKC8lJS8sIiUiKX19ZnVuY3Rpb24gZShhLGIpe3ZhciBjPSJzIixkPSIiO3JldHVybiBhJiYoYT1hLnJlcGxhY2UoLyg6fDt8XHMpL2dpLCIiKS5zcGxpdCgvXCwvKSwxPT09YS5sZW5ndGg/Yz1hWzBdOihkPWFbMF0sYz1hWzFdKSksMT09PU1hdGguYWJzKGIpP2Q6Y312YXIgZj1bXSxnPVtdLGg9e3ByZWNpc2lvbjoxMDAsZWxhcHNlOiExfTtnLnB1c2goL15bMC05XSokLy5zb3VyY2UpLGcucHVzaCgvKFswLTldezEsMn1cLyl7Mn1bMC05XXs0fSggWzAtOV17MSwyfSg6WzAtOV17Mn0pezJ9KT8vLnNvdXJjZSksZy5wdXNoKC9bMC05XXs0fShbXC9cLV1bMC05XXsxLDJ9KXsyfSggWzAtOV17MSwyfSg6WzAtOV17Mn0pezJ9KT8vLnNvdXJjZSksZz1uZXcgUmVnRXhwKGcuam9pbigifCIpKTt2YXIgaT17WToieWVhcnMiLG06Im1vbnRocyIsbjoiZGF5c1RvTW9udGgiLHc6IndlZWtzIixkOiJkYXlzVG9XZWVrIixEOiJ0b3RhbERheXMiLEg6ImhvdXJzIixNOiJtaW51dGVzIixTOiJzZWNvbmRzIn0saj1mdW5jdGlvbihiLGMsZCl7dGhpcy5lbD1iLHRoaXMuJGVsPWEoYiksdGhpcy5pbnRlcnZhbD1udWxsLHRoaXMub2Zmc2V0PXt9LHRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxoKSx0aGlzLmluc3RhbmNlTnVtYmVyPWYubGVuZ3RoLGYucHVzaCh0aGlzKSx0aGlzLiRlbC5kYXRhKCJjb3VudGRvd24taW5zdGFuY2UiLHRoaXMuaW5zdGFuY2VOdW1iZXIpLGQmJigiZnVuY3Rpb24iPT10eXBlb2YgZD8odGhpcy4kZWwub24oInVwZGF0ZS5jb3VudGRvd24iLGQpLHRoaXMuJGVsLm9uKCJzdG9wZWQuY291bnRkb3duIixkKSx0aGlzLiRlbC5vbigiZmluaXNoLmNvdW50ZG93biIsZCkpOnRoaXMub3B0aW9ucz1hLmV4dGVuZCh7fSxoLGQpKSx0aGlzLnNldEZpbmFsRGF0ZShjKSx0aGlzLnN0YXJ0KCl9O2EuZXh0ZW5kKGoucHJvdG90eXBlLHtzdGFydDpmdW5jdGlvbigpe251bGwhPT10aGlzLmludGVydmFsJiZjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpO3ZhciBhPXRoaXM7dGhpcy51cGRhdGUoKSx0aGlzLmludGVydmFsPXNldEludGVydmFsKGZ1bmN0aW9uKCl7YS51cGRhdGUuY2FsbChhKX0sdGhpcy5vcHRpb25zLnByZWNpc2lvbil9LHN0b3A6ZnVuY3Rpb24oKXtjbGVhckludGVydmFsKHRoaXMuaW50ZXJ2YWwpLHRoaXMuaW50ZXJ2YWw9bnVsbCx0aGlzLmRpc3BhdGNoRXZlbnQoInN0b3BlZCIpfSx0b2dnbGU6ZnVuY3Rpb24oKXt0aGlzLmludGVydmFsP3RoaXMuc3RvcCgpOnRoaXMuc3RhcnQoKX0scGF1c2U6ZnVuY3Rpb24oKXt0aGlzLnN0b3AoKX0scmVzdW1lOmZ1bmN0aW9uKCl7dGhpcy5zdGFydCgpfSxyZW1vdmU6ZnVuY3Rpb24oKXt0aGlzLnN0b3AuY2FsbCh0aGlzKSxmW3RoaXMuaW5zdGFuY2VOdW1iZXJdPW51bGwsZGVsZXRlIHRoaXMuJGVsLmRhdGEoKS5jb3VudGRvd25JbnN0YW5jZX0sc2V0RmluYWxEYXRlOmZ1bmN0aW9uKGEpe3RoaXMuZmluYWxEYXRlPWIoYSl9LHVwZGF0ZTpmdW5jdGlvbigpe2lmKDA9PT10aGlzLiRlbC5jbG9zZXN0KCJodG1sIikubGVuZ3RoKXJldHVybiB2b2lkIHRoaXMucmVtb3ZlKCk7dmFyIGIsYz12b2lkIDAhPT1hLl9kYXRhKHRoaXMuZWwsImV2ZW50cyIpLGQ9bmV3IERhdGU7Yj10aGlzLmZpbmFsRGF0ZS5nZXRUaW1lKCktZC5nZXRUaW1lKCksYj1NYXRoLmNlaWwoYi8xZTMpLGI9IXRoaXMub3B0aW9ucy5lbGFwc2UmJjA+Yj8wOk1hdGguYWJzKGIpLHRoaXMudG90YWxTZWNzTGVmdCE9PWImJmMmJih0aGlzLnRvdGFsU2Vjc0xlZnQ9Yix0aGlzLmVsYXBzZWQ9ZD49dGhpcy5maW5hbERhdGUsdGhpcy5vZmZzZXQ9e3NlY29uZHM6dGhpcy50b3RhbFNlY3NMZWZ0JTYwLG1pbnV0ZXM6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjApJTYwLGhvdXJzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwKSUyNCxkYXlzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwLzI0KSU3LGRheXNUb1dlZWs6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQpJTcsZGF5c1RvTW9udGg6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQlMzAuNDM2OCksdG90YWxEYXlzOk1hdGguZmxvb3IodGhpcy50b3RhbFNlY3NMZWZ0LzYwLzYwLzI0KSx3ZWVrczpNYXRoLmZsb29yKHRoaXMudG90YWxTZWNzTGVmdC82MC82MC8yNC83KSxtb250aHM6TWF0aC5mbG9vcih0aGlzLnRvdGFsU2Vjc0xlZnQvNjAvNjAvMjQvMzAuNDM2OCkseWVhcnM6TWF0aC5hYnModGhpcy5maW5hbERhdGUuZ2V0RnVsbFllYXIoKS1kLmdldEZ1bGxZZWFyKCkpfSx0aGlzLm9wdGlvbnMuZWxhcHNlfHwwIT09dGhpcy50b3RhbFNlY3NMZWZ0P3RoaXMuZGlzcGF0Y2hFdmVudCgidXBkYXRlIik6KHRoaXMuc3RvcCgpLHRoaXMuZGlzcGF0Y2hFdmVudCgiZmluaXNoIikpKX0sZGlzcGF0Y2hFdmVudDpmdW5jdGlvbihiKXt2YXIgYz1hLkV2ZW50KGIrIi5jb3VudGRvd24iKTtjLmZpbmFsRGF0ZT10aGlzLmZpbmFsRGF0ZSxjLmVsYXBzZWQ9dGhpcy5lbGFwc2VkLGMub2Zmc2V0PWEuZXh0ZW5kKHt9LHRoaXMub2Zmc2V0KSxjLnN0cmZ0aW1lPWQodGhpcy5vZmZzZXQpLHRoaXMuJGVsLnRyaWdnZXIoYyl9fSksYS5mbi5jb3VudGRvd249ZnVuY3Rpb24oKXt2YXIgYj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMCk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcykuZGF0YSgiY291bnRkb3duLWluc3RhbmNlIik7aWYodm9pZCAwIT09Yyl7dmFyIGQ9ZltjXSxlPWJbMF07ai5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkoZSk/ZFtlXS5hcHBseShkLGIuc2xpY2UoMSkpOm51bGw9PT1TdHJpbmcoZSkubWF0Y2goL15bJEEtWl9dWzAtOUEtWl8kXSokL2kpPyhkLnNldEZpbmFsRGF0ZS5jYWxsKGQsZSksZC5zdGFydCgpKTphLmVycm9yKCJNZXRob2QgJXMgZG9lcyBub3QgZXhpc3Qgb24galF1ZXJ5LmNvdW50ZG93biIucmVwbGFjZSgvXCVzL2dpLGUpKX1lbHNlIG5ldyBqKHRoaXMsYlswXSxiWzFdKX0pfX0pOw0KDQoNCi8qDQogKiAgQ2xvY2syIC0gZmxpcGNsb2NrDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qISBmbGlwY2xvY2sgMjAxNS0wOC0zMSANCglodHRwczovL2dpdGh1Yi5jb20vb2JqZWN0aXZlaHRtbC9GbGlwQ2xvY2sNCiovDQp2YXIgQmFzZT1mdW5jdGlvbigpe307QmFzZS5leHRlbmQ9ZnVuY3Rpb24oYSxiKXsidXNlIHN0cmljdCI7dmFyIGM9QmFzZS5wcm90b3R5cGUuZXh0ZW5kO0Jhc2UuX3Byb3RvdHlwaW5nPSEwO3ZhciBkPW5ldyB0aGlzO2MuY2FsbChkLGEpLGQuYmFzZT1mdW5jdGlvbigpe30sZGVsZXRlIEJhc2UuX3Byb3RvdHlwaW5nO3ZhciBlPWQuY29uc3RydWN0b3IsZj1kLmNvbnN0cnVjdG9yPWZ1bmN0aW9uKCl7aWYoIUJhc2UuX3Byb3RvdHlwaW5nKWlmKHRoaXMuX2NvbnN0cnVjdGluZ3x8dGhpcy5jb25zdHJ1Y3Rvcj09Zil0aGlzLl9jb25zdHJ1Y3Rpbmc9ITAsZS5hcHBseSh0aGlzLGFyZ3VtZW50cyksZGVsZXRlIHRoaXMuX2NvbnN0cnVjdGluZztlbHNlIGlmKG51bGwhPT1hcmd1bWVudHNbMF0pcmV0dXJuKGFyZ3VtZW50c1swXS5leHRlbmR8fGMpLmNhbGwoYXJndW1lbnRzWzBdLGQpfTtyZXR1cm4gZi5hbmNlc3Rvcj10aGlzLGYuZXh0ZW5kPXRoaXMuZXh0ZW5kLGYuZm9yRWFjaD10aGlzLmZvckVhY2gsZi5pbXBsZW1lbnQ9dGhpcy5pbXBsZW1lbnQsZi5wcm90b3R5cGU9ZCxmLnRvU3RyaW5nPXRoaXMudG9TdHJpbmcsZi52YWx1ZU9mPWZ1bmN0aW9uKGEpe3JldHVybiJvYmplY3QiPT1hP2Y6ZS52YWx1ZU9mKCl9LGMuY2FsbChmLGIpLCJmdW5jdGlvbiI9PXR5cGVvZiBmLmluaXQmJmYuaW5pdCgpLGZ9LEJhc2UucHJvdG90eXBlPXtleHRlbmQ6ZnVuY3Rpb24oYSxiKXtpZihhcmd1bWVudHMubGVuZ3RoPjEpe3ZhciBjPXRoaXNbYV07aWYoYyYmImZ1bmN0aW9uIj09dHlwZW9mIGImJighYy52YWx1ZU9mfHxjLnZhbHVlT2YoKSE9Yi52YWx1ZU9mKCkpJiYvXGJiYXNlXGIvLnRlc3QoYikpe3ZhciBkPWIudmFsdWVPZigpO2I9ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmJhc2V8fEJhc2UucHJvdG90eXBlLmJhc2U7dGhpcy5iYXNlPWM7dmFyIGI9ZC5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIHRoaXMuYmFzZT1hLGJ9LGIudmFsdWVPZj1mdW5jdGlvbihhKXtyZXR1cm4ib2JqZWN0Ij09YT9iOmR9LGIudG9TdHJpbmc9QmFzZS50b1N0cmluZ310aGlzW2FdPWJ9ZWxzZSBpZihhKXt2YXIgZT1CYXNlLnByb3RvdHlwZS5leHRlbmQ7QmFzZS5fcHJvdG90eXBpbmd8fCJmdW5jdGlvbiI9PXR5cGVvZiB0aGlzfHwoZT10aGlzLmV4dGVuZHx8ZSk7Zm9yKHZhciBmPXt0b1NvdXJjZTpudWxsfSxnPVsiY29uc3RydWN0b3IiLCJ0b1N0cmluZyIsInZhbHVlT2YiXSxoPUJhc2UuX3Byb3RvdHlwaW5nPzA6MTtpPWdbaCsrXTspYVtpXSE9ZltpXSYmZS5jYWxsKHRoaXMsaSxhW2ldKTtmb3IodmFyIGkgaW4gYSlmW2ldfHxlLmNhbGwodGhpcyxpLGFbaV0pfXJldHVybiB0aGlzfX0sQmFzZT1CYXNlLmV4dGVuZCh7Y29uc3RydWN0b3I6ZnVuY3Rpb24oKXt0aGlzLmV4dGVuZChhcmd1bWVudHNbMF0pfX0se2FuY2VzdG9yOk9iamVjdCx2ZXJzaW9uOiIxLjEiLGZvckVhY2g6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCBpbiBhKXZvaWQgMD09PXRoaXMucHJvdG90eXBlW2RdJiZiLmNhbGwoYyxhW2RdLGQsYSl9LGltcGxlbWVudDpmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8YXJndW1lbnRzLmxlbmd0aDthKyspImZ1bmN0aW9uIj09dHlwZW9mIGFyZ3VtZW50c1thXT9hcmd1bWVudHNbYV0odGhpcy5wcm90b3R5cGUpOnRoaXMucHJvdG90eXBlLmV4dGVuZChhcmd1bWVudHNbYV0pO3JldHVybiB0aGlzfSx0b1N0cmluZzpmdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcy52YWx1ZU9mKCkpfX0pO3ZhciBGbGlwQ2xvY2s7IWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0IjtGbGlwQ2xvY2s9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiIGluc3RhbmNlb2YgT2JqZWN0JiZiIGluc3RhbmNlb2YgRGF0ZT09ITEmJihjPWIsYj0wKSxuZXcgRmxpcENsb2NrLkZhY3RvcnkoYSxiLGMpfSxGbGlwQ2xvY2suTGFuZz17fSxGbGlwQ2xvY2suQmFzZT1CYXNlLmV4dGVuZCh7YnVpbGREYXRlOiIyMDE0LTEyLTEyIix2ZXJzaW9uOiIwLjcuNyIsY29uc3RydWN0b3I6ZnVuY3Rpb24oYixjKXsib2JqZWN0IiE9dHlwZW9mIGImJihiPXt9KSwib2JqZWN0IiE9dHlwZW9mIGMmJihjPXt9KSx0aGlzLnNldE9wdGlvbnMoYS5leHRlbmQoITAse30sYixjKSl9LGNhbGxiYWNrOmZ1bmN0aW9uKGEpe2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhKXtmb3IodmFyIGI9W10sYz0xO2M8PWFyZ3VtZW50cy5sZW5ndGg7YysrKWFyZ3VtZW50c1tjXSYmYi5wdXNoKGFyZ3VtZW50c1tjXSk7YS5hcHBseSh0aGlzLGIpfX0sbG9nOmZ1bmN0aW9uKGEpe3dpbmRvdy5jb25zb2xlJiZjb25zb2xlLmxvZyYmY29uc29sZS5sb2coYSl9LGdldE9wdGlvbjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpc1thXT90aGlzW2FdOiExfSxnZXRPcHRpb25zOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9LHNldE9wdGlvbjpmdW5jdGlvbihhLGIpe3RoaXNbYV09Yn0sc2V0T3B0aW9uczpmdW5jdGlvbihhKXtmb3IodmFyIGIgaW4gYSkidW5kZWZpbmVkIiE9dHlwZW9mIGFbYl0mJnRoaXMuc2V0T3B0aW9uKGIsYVtiXSl9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO0ZsaXBDbG9jay5GYWNlPUZsaXBDbG9jay5CYXNlLmV4dGVuZCh7YXV0b1N0YXJ0OiEwLGRpdmlkZXJzOltdLGZhY3Rvcnk6ITEsbGlzdHM6W10sY29uc3RydWN0b3I6ZnVuY3Rpb24oYSxiKXt0aGlzLmRpdmlkZXJzPVtdLHRoaXMubGlzdHM9W10sdGhpcy5iYXNlKGIpLHRoaXMuZmFjdG9yeT1hfSxidWlsZDpmdW5jdGlvbigpe3RoaXMuYXV0b1N0YXJ0JiZ0aGlzLnN0YXJ0KCl9LGNyZWF0ZURpdmlkZXI6ZnVuY3Rpb24oYixjLGQpeyJib29sZWFuIiE9dHlwZW9mIGMmJmN8fChkPWMsYz1iKTt2YXIgZT1bJzxzcGFuIGNsYXNzPSInK3RoaXMuZmFjdG9yeS5jbGFzc2VzLmRvdCsnIHRvcCI+PC9zcGFuPicsJzxzcGFuIGNsYXNzPSInK3RoaXMuZmFjdG9yeS5jbGFzc2VzLmRvdCsnIGJvdHRvbSI+PC9zcGFuPiddLmpvaW4oIiIpO2QmJihlPSIiKSxiPXRoaXMuZmFjdG9yeS5sb2NhbGl6ZShiKTt2YXIgZj1bJzxzcGFuIGNsYXNzPSInK3RoaXMuZmFjdG9yeS5jbGFzc2VzLmRpdmlkZXIrIiAiKyhjP2M6IiIpLnRvTG93ZXJDYXNlKCkrJyI+JywnPHNwYW4gY2xhc3M9IicrdGhpcy5mYWN0b3J5LmNsYXNzZXMubGFiZWwrJyI+JysoYj9iOiIiKSsiPC9zcGFuPiIsZSwiPC9zcGFuPiJdLGc9YShmLmpvaW4oIiIpKTtyZXR1cm4gdGhpcy5kaXZpZGVycy5wdXNoKGcpLGd9LGNyZWF0ZUxpc3Q6ZnVuY3Rpb24oYSxiKXsib2JqZWN0Ij09dHlwZW9mIGEmJihiPWEsYT0wKTt2YXIgYz1uZXcgRmxpcENsb2NrLkxpc3QodGhpcy5mYWN0b3J5LGEsYik7cmV0dXJuIHRoaXMubGlzdHMucHVzaChjKSxjfSxyZXNldDpmdW5jdGlvbigpe3RoaXMuZmFjdG9yeS50aW1lPW5ldyBGbGlwQ2xvY2suVGltZSh0aGlzLmZhY3RvcnksdGhpcy5mYWN0b3J5Lm9yaWdpbmFsP01hdGgucm91bmQodGhpcy5mYWN0b3J5Lm9yaWdpbmFsKTowLHttaW5pbXVtRGlnaXRzOnRoaXMuZmFjdG9yeS5taW5pbXVtRGlnaXRzfSksdGhpcy5mbGlwKHRoaXMuZmFjdG9yeS5vcmlnaW5hbCwhMSl9LGFwcGVuZERpZ2l0VG9DbG9jazpmdW5jdGlvbihhKXthLiRlbC5hcHBlbmQoITEpfSxhZGREaWdpdDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNyZWF0ZUxpc3QoYSx7Y2xhc3Nlczp7YWN0aXZlOnRoaXMuZmFjdG9yeS5jbGFzc2VzLmFjdGl2ZSxiZWZvcmU6dGhpcy5mYWN0b3J5LmNsYXNzZXMuYmVmb3JlLGZsaXA6dGhpcy5mYWN0b3J5LmNsYXNzZXMuZmxpcH19KTt0aGlzLmFwcGVuZERpZ2l0VG9DbG9jayhiKX0sc3RhcnQ6ZnVuY3Rpb24oKXt9LHN0b3A6ZnVuY3Rpb24oKXt9LGF1dG9JbmNyZW1lbnQ6ZnVuY3Rpb24oKXt0aGlzLmZhY3RvcnkuY291bnRkb3duP3RoaXMuZGVjcmVtZW50KCk6dGhpcy5pbmNyZW1lbnQoKX0saW5jcmVtZW50OmZ1bmN0aW9uKCl7dGhpcy5mYWN0b3J5LnRpbWUuYWRkU2Vjb25kKCl9LGRlY3JlbWVudDpmdW5jdGlvbigpezA9PXRoaXMuZmFjdG9yeS50aW1lLmdldFRpbWVTZWNvbmRzKCk/dGhpcy5mYWN0b3J5LnN0b3AoKTp0aGlzLmZhY3RvcnkudGltZS5zdWJTZWNvbmQoKX0sZmxpcDpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXM7YS5lYWNoKGIsZnVuY3Rpb24oYSxiKXt2YXIgZT1kLmxpc3RzW2FdO2U/KGN8fGI9PWUuZGlnaXR8fGUucGxheSgpLGUuc2VsZWN0KGIpKTpkLmFkZERpZ2l0KGIpfSl9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO0ZsaXBDbG9jay5GYWN0b3J5PUZsaXBDbG9jay5CYXNlLmV4dGVuZCh7YW5pbWF0aW9uUmF0ZToxZTMsYXV0b1N0YXJ0OiEwLGNhbGxiYWNrczp7ZGVzdHJveTohMSxjcmVhdGU6ITEsaW5pdDohMSxpbnRlcnZhbDohMSxzdGFydDohMSxzdG9wOiExLHJlc2V0OiExfSxjbGFzc2VzOnthY3RpdmU6ImZsaXAtY2xvY2stYWN0aXZlIixiZWZvcmU6ImZsaXAtY2xvY2stYmVmb3JlIixkaXZpZGVyOiJmbGlwLWNsb2NrLWRpdmlkZXIiLGRvdDoiZmxpcC1jbG9jay1kb3QiLGxhYmVsOiJmbGlwLWNsb2NrLWxhYmVsIixmbGlwOiJmbGlwIixwbGF5OiJwbGF5Iix3cmFwcGVyOiJmbGlwLWNsb2NrLXdyYXBwZXIifSxjbG9ja0ZhY2U6IkhvdXJseUNvdW50ZXIiLGNvdW50ZG93bjohMSxkZWZhdWx0Q2xvY2tGYWNlOiJIb3VybHlDb3VudGVyIixkZWZhdWx0TGFuZ3VhZ2U6ImVuZ2xpc2giLCRlbDohMSxmYWNlOiEwLGxhbmc6ITEsbGFuZ3VhZ2U6ImVuZ2xpc2giLG1pbmltdW1EaWdpdHM6MCxvcmlnaW5hbDohMSxydW5uaW5nOiExLHRpbWU6ITEsdGltZXI6ITEsJHdyYXBwZXI6ITEsY29uc3RydWN0b3I6ZnVuY3Rpb24oYixjLGQpe2R8fChkPXt9KSx0aGlzLmxpc3RzPVtdLHRoaXMucnVubmluZz0hMSx0aGlzLmJhc2UoZCksdGhpcy4kZWw9YShiKS5hZGRDbGFzcyh0aGlzLmNsYXNzZXMud3JhcHBlciksdGhpcy4kd3JhcHBlcj10aGlzLiRlbCx0aGlzLm9yaWdpbmFsPWMgaW5zdGFuY2VvZiBEYXRlP2M6Yz9NYXRoLnJvdW5kKGMpOjAsdGhpcy50aW1lPW5ldyBGbGlwQ2xvY2suVGltZSh0aGlzLHRoaXMub3JpZ2luYWwse21pbmltdW1EaWdpdHM6dGhpcy5taW5pbXVtRGlnaXRzLGFuaW1hdGlvblJhdGU6dGhpcy5hbmltYXRpb25SYXRlfSksdGhpcy50aW1lcj1uZXcgRmxpcENsb2NrLlRpbWVyKHRoaXMsZCksdGhpcy5sb2FkTGFuZ3VhZ2UodGhpcy5sYW5ndWFnZSksdGhpcy5sb2FkQ2xvY2tGYWNlKHRoaXMuY2xvY2tGYWNlLGQpLHRoaXMuYXV0b1N0YXJ0JiZ0aGlzLnN0YXJ0KCl9LGxvYWRDbG9ja0ZhY2U6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPSJGYWNlIixlPSExO3JldHVybiBhPWEudWNmaXJzdCgpK2QsdGhpcy5mYWNlLnN0b3AmJih0aGlzLnN0b3AoKSxlPSEwKSx0aGlzLiRlbC5odG1sKCIiKSx0aGlzLnRpbWUubWluaW11bURpZ2l0cz10aGlzLm1pbmltdW1EaWdpdHMsYz1GbGlwQ2xvY2tbYV0/bmV3IEZsaXBDbG9ja1thXSh0aGlzLGIpOm5ldyBGbGlwQ2xvY2tbdGhpcy5kZWZhdWx0Q2xvY2tGYWNlK2RdKHRoaXMsYiksYy5idWlsZCgpLHRoaXMuZmFjZT1jLGUmJnRoaXMuc3RhcnQoKSx0aGlzLmZhY2V9LGxvYWRMYW5ndWFnZTpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gYj1GbGlwQ2xvY2suTGFuZ1thLnVjZmlyc3QoKV0/RmxpcENsb2NrLkxhbmdbYS51Y2ZpcnN0KCldOkZsaXBDbG9jay5MYW5nW2FdP0ZsaXBDbG9jay5MYW5nW2FdOkZsaXBDbG9jay5MYW5nW3RoaXMuZGVmYXVsdExhbmd1YWdlXSx0aGlzLmxhbmc9Yn0sbG9jYWxpemU6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmxhbmc7aWYoIWEpcmV0dXJuIG51bGw7dmFyIGQ9YS50b0xvd2VyQ2FzZSgpO3JldHVybiJvYmplY3QiPT10eXBlb2YgYiYmKGM9YiksYyYmY1tkXT9jW2RdOmF9LHN0YXJ0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7Yi5ydW5uaW5nfHxiLmNvdW50ZG93biYmIShiLmNvdW50ZG93biYmYi50aW1lLnRpbWU+MCk/Yi5sb2coIlRyeWluZyB0byBzdGFydCB0aW1lciB3aGVuIGNvdW50ZG93biBhbHJlYWR5IGF0IDAiKTooYi5mYWNlLnN0YXJ0KGIudGltZSksYi50aW1lci5zdGFydChmdW5jdGlvbigpe2IuZmxpcCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBhJiZhKCl9KSl9LHN0b3A6ZnVuY3Rpb24oYSl7dGhpcy5mYWNlLnN0b3AoKSx0aGlzLnRpbWVyLnN0b3AoYSk7Zm9yKHZhciBiIGluIHRoaXMubGlzdHMpdGhpcy5saXN0cy5oYXNPd25Qcm9wZXJ0eShiKSYmdGhpcy5saXN0c1tiXS5zdG9wKCl9LHJlc2V0OmZ1bmN0aW9uKGEpe3RoaXMudGltZXIucmVzZXQoYSksdGhpcy5mYWNlLnJlc2V0KCl9LHNldFRpbWU6ZnVuY3Rpb24oYSl7dGhpcy50aW1lLnRpbWU9YSx0aGlzLmZsaXAoITApfSxnZXRUaW1lOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnRpbWV9LHNldENvdW50ZG93bjpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnJ1bm5pbmc7dGhpcy5jb3VudGRvd249YT8hMDohMSxiJiYodGhpcy5zdG9wKCksdGhpcy5zdGFydCgpKX0sZmxpcDpmdW5jdGlvbihhKXt0aGlzLmZhY2UuZmxpcCghMSxhKX19KX0oalF1ZXJ5KSxmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7RmxpcENsb2NrLkxpc3Q9RmxpcENsb2NrLkJhc2UuZXh0ZW5kKHtkaWdpdDowLGNsYXNzZXM6e2FjdGl2ZToiZmxpcC1jbG9jay1hY3RpdmUiLGJlZm9yZToiZmxpcC1jbG9jay1iZWZvcmUiLGZsaXA6ImZsaXAifSxmYWN0b3J5OiExLCRlbDohMSwkb2JqOiExLGl0ZW1zOltdLGxhc3REaWdpdDowLGNvbnN0cnVjdG9yOmZ1bmN0aW9uKGEsYixjKXt0aGlzLmZhY3Rvcnk9YSx0aGlzLmRpZ2l0PWIsdGhpcy5sYXN0RGlnaXQ9Yix0aGlzLiRlbD10aGlzLmNyZWF0ZUxpc3QoKSx0aGlzLiRvYmo9dGhpcy4kZWwsYj4wJiZ0aGlzLnNlbGVjdChiKSx0aGlzLmZhY3RvcnkuJGVsLmFwcGVuZCh0aGlzLiRlbCl9LHNlbGVjdDpmdW5jdGlvbihhKXtpZigidW5kZWZpbmVkIj09dHlwZW9mIGE/YT10aGlzLmRpZ2l0OnRoaXMuZGlnaXQ9YSx0aGlzLmRpZ2l0IT10aGlzLmxhc3REaWdpdCl7dmFyIGI9dGhpcy4kZWwuZmluZCgiLiIrdGhpcy5jbGFzc2VzLmJlZm9yZSkucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLmJlZm9yZSk7dGhpcy4kZWwuZmluZCgiLiIrdGhpcy5jbGFzc2VzLmFjdGl2ZSkucmVtb3ZlQ2xhc3ModGhpcy5jbGFzc2VzLmFjdGl2ZSkuYWRkQ2xhc3ModGhpcy5jbGFzc2VzLmJlZm9yZSksdGhpcy5hcHBlbmRMaXN0SXRlbSh0aGlzLmNsYXNzZXMuYWN0aXZlLHRoaXMuZGlnaXQpLGIucmVtb3ZlKCksdGhpcy5sYXN0RGlnaXQ9dGhpcy5kaWdpdH19LHBsYXk6ZnVuY3Rpb24oKXt0aGlzLiRlbC5hZGRDbGFzcyh0aGlzLmZhY3RvcnkuY2xhc3Nlcy5wbGF5KX0sc3RvcDpmdW5jdGlvbigpe3ZhciBhPXRoaXM7c2V0VGltZW91dChmdW5jdGlvbigpe2EuJGVsLnJlbW92ZUNsYXNzKGEuZmFjdG9yeS5jbGFzc2VzLnBsYXkpfSx0aGlzLmZhY3RvcnkudGltZXIuaW50ZXJ2YWwpfSxjcmVhdGVMaXN0SXRlbTpmdW5jdGlvbihhLGIpe3JldHVyblsnPGxpIGNsYXNzPSInKyhhP2E6IiIpKyciPicsJzxhIGhyZWY9IiMiPicsJzxkaXYgY2xhc3M9InVwIj4nLCc8ZGl2IGNsYXNzPSJzaGFkb3ciPjwvZGl2PicsJzxkaXYgY2xhc3M9ImlubiI+JysoYj9iOiIiKSsiPC9kaXY+IiwiPC9kaXY+IiwnPGRpdiBjbGFzcz0iZG93biI+JywnPGRpdiBjbGFzcz0ic2hhZG93Ij48L2Rpdj4nLCc8ZGl2IGNsYXNzPSJpbm4iPicrKGI/YjoiIikrIjwvZGl2PiIsIjwvZGl2PiIsIjwvYT4iLCI8L2xpPiJdLmpvaW4oIiIpfSxhcHBlbmRMaXN0SXRlbTpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY3JlYXRlTGlzdEl0ZW0oYSxiKTt0aGlzLiRlbC5hcHBlbmQoYyl9LGNyZWF0ZUxpc3Q6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmdldFByZXZEaWdpdCgpP3RoaXMuZ2V0UHJldkRpZ2l0KCk6dGhpcy5kaWdpdCxjPWEoWyc8dWwgY2xhc3M9IicrdGhpcy5jbGFzc2VzLmZsaXArIiAiKyh0aGlzLmZhY3RvcnkucnVubmluZz90aGlzLmZhY3RvcnkuY2xhc3Nlcy5wbGF5OiIiKSsnIj4nLHRoaXMuY3JlYXRlTGlzdEl0ZW0odGhpcy5jbGFzc2VzLmJlZm9yZSxiKSx0aGlzLmNyZWF0ZUxpc3RJdGVtKHRoaXMuY2xhc3Nlcy5hY3RpdmUsdGhpcy5kaWdpdCksIjwvdWw+Il0uam9pbigiIikpO3JldHVybiBjfSxnZXROZXh0RGlnaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gOT09dGhpcy5kaWdpdD8wOnRoaXMuZGlnaXQrMX0sZ2V0UHJldkRpZ2l0OmZ1bmN0aW9uKCl7cmV0dXJuIDA9PXRoaXMuZGlnaXQ/OTp0aGlzLmRpZ2l0LTF9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO1N0cmluZy5wcm90b3R5cGUudWNmaXJzdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnN1YnN0cigwLDEpLnRvVXBwZXJDYXNlKCkrdGhpcy5zdWJzdHIoMSl9LGEuZm4uRmxpcENsb2NrPWZ1bmN0aW9uKGIsYyl7cmV0dXJuIG5ldyBGbGlwQ2xvY2soYSh0aGlzKSxiLGMpfSxhLmZuLmZsaXBDbG9jaz1mdW5jdGlvbihiLGMpe3JldHVybiBhLmZuLkZsaXBDbG9jayhiLGMpfX0oalF1ZXJ5KSxmdW5jdGlvbihhKXsidXNlIHN0cmljdCI7RmxpcENsb2NrLlRpbWU9RmxpcENsb2NrLkJhc2UuZXh0ZW5kKHt0aW1lOjAsZmFjdG9yeTohMSxtaW5pbXVtRGlnaXRzOjAsY29uc3RydWN0b3I6ZnVuY3Rpb24oYSxiLGMpeyJvYmplY3QiIT10eXBlb2YgYyYmKGM9e30pLGMubWluaW11bURpZ2l0c3x8KGMubWluaW11bURpZ2l0cz1hLm1pbmltdW1EaWdpdHMpLHRoaXMuYmFzZShjKSx0aGlzLmZhY3Rvcnk9YSxiJiYodGhpcy50aW1lPWIpfSxjb252ZXJ0RGlnaXRzVG9BcnJheTpmdW5jdGlvbihhKXt2YXIgYj1bXTthPWEudG9TdHJpbmcoKTtmb3IodmFyIGM9MDtjPGEubGVuZ3RoO2MrKylhW2NdLm1hdGNoKC9eXGQqJC9nKSYmYi5wdXNoKGFbY10pO3JldHVybiBifSxkaWdpdDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnRvU3RyaW5nKCksYz1iLmxlbmd0aDtyZXR1cm4gYltjLWFdP2JbYy1hXTohMX0sZGlnaXRpemU6ZnVuY3Rpb24oYil7dmFyIGM9W107aWYoYS5lYWNoKGIsZnVuY3Rpb24oYSxiKXtiPWIudG9TdHJpbmcoKSwxPT1iLmxlbmd0aCYmKGI9IjAiK2IpO2Zvcih2YXIgZD0wO2Q8Yi5sZW5ndGg7ZCsrKWMucHVzaChiLmNoYXJBdChkKSl9KSxjLmxlbmd0aD50aGlzLm1pbmltdW1EaWdpdHMmJih0aGlzLm1pbmltdW1EaWdpdHM9Yy5sZW5ndGgpLHRoaXMubWluaW11bURpZ2l0cz5jLmxlbmd0aClmb3IodmFyIGQ9Yy5sZW5ndGg7ZDx0aGlzLm1pbmltdW1EaWdpdHM7ZCsrKWMudW5zaGlmdCgiMCIpO3JldHVybiBjfSxnZXREYXRlT2JqZWN0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGltZSBpbnN0YW5jZW9mIERhdGU/dGhpcy50aW1lOm5ldyBEYXRlKChuZXcgRGF0ZSkuZ2V0VGltZSgpKzFlMyp0aGlzLmdldFRpbWVTZWNvbmRzKCkpfSxnZXREYXlDb3VudGVyOmZ1bmN0aW9uKGEpe3ZhciBiPVt0aGlzLmdldERheXMoKSx0aGlzLmdldEhvdXJzKCEwKSx0aGlzLmdldE1pbnV0ZXMoITApXTtyZXR1cm4gYSYmYi5wdXNoKHRoaXMuZ2V0U2Vjb25kcyghMCkpLHRoaXMuZGlnaXRpemUoYil9LGdldERheXM6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXRUaW1lU2Vjb25kcygpLzYwLzYwLzI0O3JldHVybiBhJiYoYiU9NyksTWF0aC5mbG9vcihiKX0sZ2V0SG91ckNvdW50ZXI6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmRpZ2l0aXplKFt0aGlzLmdldEhvdXJzKCksdGhpcy5nZXRNaW51dGVzKCEwKSx0aGlzLmdldFNlY29uZHMoITApXSk7cmV0dXJuIGF9LGdldEhvdXJseTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmdldEhvdXJDb3VudGVyKCl9LGdldEhvdXJzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZ2V0VGltZVNlY29uZHMoKS82MC82MDtyZXR1cm4gYSYmKGIlPTI0KSxNYXRoLmZsb29yKGIpfSxnZXRNaWxpdGFyeVRpbWU6ZnVuY3Rpb24oYSxiKXsidW5kZWZpbmVkIj09dHlwZW9mIGImJihiPSEwKSxhfHwoYT10aGlzLmdldERhdGVPYmplY3QoKSk7dmFyIGM9W2EuZ2V0SG91cnMoKSxhLmdldE1pbnV0ZXMoKV07cmV0dXJuIGI9PT0hMCYmYy5wdXNoKGEuZ2V0U2Vjb25kcygpKSx0aGlzLmRpZ2l0aXplKGMpfSxnZXRNaW51dGVzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZ2V0VGltZVNlY29uZHMoKS82MDtyZXR1cm4gYSYmKGIlPTYwKSxNYXRoLmZsb29yKGIpfSxnZXRNaW51dGVDb3VudGVyOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5kaWdpdGl6ZShbdGhpcy5nZXRNaW51dGVzKCksdGhpcy5nZXRTZWNvbmRzKCEwKV0pO3JldHVybiBhfSxnZXRUaW1lU2Vjb25kczpmdW5jdGlvbihhKXtyZXR1cm4gYXx8KGE9bmV3IERhdGUpLHRoaXMudGltZSBpbnN0YW5jZW9mIERhdGU/dGhpcy5mYWN0b3J5LmNvdW50ZG93bj9NYXRoLm1heCh0aGlzLnRpbWUuZ2V0VGltZSgpLzFlMy1hLmdldFRpbWUoKS8xZTMsMCk6YS5nZXRUaW1lKCkvMWUzLXRoaXMudGltZS5nZXRUaW1lKCkvMWUzOnRoaXMudGltZX0sZ2V0VGltZTpmdW5jdGlvbihhLGIpeyJ1bmRlZmluZWQiPT10eXBlb2YgYiYmKGI9ITApLGF8fChhPXRoaXMuZ2V0RGF0ZU9iamVjdCgpKSxjb25zb2xlLmxvZyhhKTt2YXIgYz1hLmdldEhvdXJzKCksZD1bYz4xMj9jLTEyOjA9PT1jPzEyOmMsYS5nZXRNaW51dGVzKCldO3JldHVybiBiPT09ITAmJmQucHVzaChhLmdldFNlY29uZHMoKSksdGhpcy5kaWdpdGl6ZShkKX0sZ2V0U2Vjb25kczpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldFRpbWVTZWNvbmRzKCk7cmV0dXJuIGEmJig2MD09Yj9iPTA6YiU9NjApLE1hdGguY2VpbChiKX0sZ2V0V2Vla3M6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXRUaW1lU2Vjb25kcygpLzYwLzYwLzI0Lzc7cmV0dXJuIGEmJihiJT01MiksTWF0aC5mbG9vcihiKX0scmVtb3ZlTGVhZGluZ1plcm9zOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9MCxlPVtdO3JldHVybiBhLmVhY2goYyxmdW5jdGlvbihhLGYpe2I+YT9kKz1wYXJzZUludChjW2FdLDEwKTplLnB1c2goY1thXSl9KSwwPT09ZD9lOmN9LGFkZFNlY29uZHM6ZnVuY3Rpb24oYSl7dGhpcy50aW1lIGluc3RhbmNlb2YgRGF0ZT90aGlzLnRpbWUuc2V0U2Vjb25kcyh0aGlzLnRpbWUuZ2V0U2Vjb25kcygpK2EpOnRoaXMudGltZSs9YX0sYWRkU2Vjb25kOmZ1bmN0aW9uKCl7dGhpcy5hZGRTZWNvbmRzKDEpfSxzdWJTZWNvbmRzOmZ1bmN0aW9uKGEpe3RoaXMudGltZSBpbnN0YW5jZW9mIERhdGU/dGhpcy50aW1lLnNldFNlY29uZHModGhpcy50aW1lLmdldFNlY29uZHMoKS1hKTp0aGlzLnRpbWUtPWF9LHN1YlNlY29uZDpmdW5jdGlvbigpe3RoaXMuc3ViU2Vjb25kcygxKX0sdG9TdHJpbmc6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5nZXRUaW1lU2Vjb25kcygpLnRvU3RyaW5nKCl9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO0ZsaXBDbG9jay5UaW1lcj1GbGlwQ2xvY2suQmFzZS5leHRlbmQoe2NhbGxiYWNrczp7ZGVzdHJveTohMSxjcmVhdGU6ITEsaW5pdDohMSxpbnRlcnZhbDohMSxzdGFydDohMSxzdG9wOiExLHJlc2V0OiExfSxjb3VudDowLGZhY3Rvcnk6ITEsaW50ZXJ2YWw6MWUzLGFuaW1hdGlvblJhdGU6MWUzLGNvbnN0cnVjdG9yOmZ1bmN0aW9uKGEsYil7dGhpcy5iYXNlKGIpLHRoaXMuZmFjdG9yeT1hLHRoaXMuY2FsbGJhY2sodGhpcy5jYWxsYmFja3MuaW5pdCksdGhpcy5jYWxsYmFjayh0aGlzLmNhbGxiYWNrcy5jcmVhdGUpfSxnZXRFbGFwc2VkOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY291bnQqdGhpcy5pbnRlcnZhbH0sZ2V0RWxhcHNlZFRpbWU6ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IERhdGUodGhpcy50aW1lK3RoaXMuZ2V0RWxhcHNlZCgpKX0scmVzZXQ6ZnVuY3Rpb24oYSl7Y2xlYXJJbnRlcnZhbCh0aGlzLnRpbWVyKSx0aGlzLmNvdW50PTAsdGhpcy5fc2V0SW50ZXJ2YWwoYSksdGhpcy5jYWxsYmFjayh0aGlzLmNhbGxiYWNrcy5yZXNldCl9LHN0YXJ0OmZ1bmN0aW9uKGEpe3RoaXMuZmFjdG9yeS5ydW5uaW5nPSEwLHRoaXMuX2NyZWF0ZVRpbWVyKGEpLHRoaXMuY2FsbGJhY2sodGhpcy5jYWxsYmFja3Muc3RhcnQpfSxzdG9wOmZ1bmN0aW9uKGEpe3RoaXMuZmFjdG9yeS5ydW5uaW5nPSExLHRoaXMuX2NsZWFySW50ZXJ2YWwoYSksdGhpcy5jYWxsYmFjayh0aGlzLmNhbGxiYWNrcy5zdG9wKSx0aGlzLmNhbGxiYWNrKGEpfSxfY2xlYXJJbnRlcnZhbDpmdW5jdGlvbigpe2NsZWFySW50ZXJ2YWwodGhpcy50aW1lcil9LF9jcmVhdGVUaW1lcjpmdW5jdGlvbihhKXt0aGlzLl9zZXRJbnRlcnZhbChhKX0sX2Rlc3Ryb3lUaW1lcjpmdW5jdGlvbihhKXt0aGlzLl9jbGVhckludGVydmFsKCksdGhpcy50aW1lcj0hMSx0aGlzLmNhbGxiYWNrKGEpLHRoaXMuY2FsbGJhY2sodGhpcy5jYWxsYmFja3MuZGVzdHJveSl9LF9pbnRlcnZhbDpmdW5jdGlvbihhKXt0aGlzLmNhbGxiYWNrKHRoaXMuY2FsbGJhY2tzLmludGVydmFsKSx0aGlzLmNhbGxiYWNrKGEpLHRoaXMuY291bnQrK30sX3NldEludGVydmFsOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7Yi5faW50ZXJ2YWwoYSksYi50aW1lcj1zZXRJbnRlcnZhbChmdW5jdGlvbigpe2IuX2ludGVydmFsKGEpfSx0aGlzLmludGVydmFsKX19KX0oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suVHdlbnR5Rm91ckhvdXJDbG9ja0ZhY2U9RmxpcENsb2NrLkZhY2UuZXh0ZW5kKHtjb25zdHJ1Y3RvcjpmdW5jdGlvbihhLGIpe3RoaXMuYmFzZShhLGIpfSxidWlsZDpmdW5jdGlvbihiKXt2YXIgYz10aGlzLGQ9dGhpcy5mYWN0b3J5LiRlbC5maW5kKCJ1bCIpO3RoaXMuZmFjdG9yeS50aW1lLnRpbWV8fCh0aGlzLmZhY3Rvcnkub3JpZ2luYWw9bmV3IERhdGUsdGhpcy5mYWN0b3J5LnRpbWU9bmV3IEZsaXBDbG9jay5UaW1lKHRoaXMuZmFjdG9yeSx0aGlzLmZhY3Rvcnkub3JpZ2luYWwpKTt2YXIgYj1iP2I6dGhpcy5mYWN0b3J5LnRpbWUuZ2V0TWlsaXRhcnlUaW1lKCExLHRoaXMuc2hvd1NlY29uZHMpO2IubGVuZ3RoPmQubGVuZ3RoJiZhLmVhY2goYixmdW5jdGlvbihhLGIpe2MuY3JlYXRlTGlzdChiKX0pLHRoaXMuY3JlYXRlRGl2aWRlcigpLHRoaXMuY3JlYXRlRGl2aWRlcigpLGEodGhpcy5kaXZpZGVyc1swXSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbdGhpcy5saXN0cy5sZW5ndGgtMl0uJGVsKSxhKHRoaXMuZGl2aWRlcnNbMV0pLmluc2VydEJlZm9yZSh0aGlzLmxpc3RzW3RoaXMubGlzdHMubGVuZ3RoLTRdLiRlbCksdGhpcy5iYXNlKCl9LGZsaXA6ZnVuY3Rpb24oYSxiKXt0aGlzLmF1dG9JbmNyZW1lbnQoKSxhPWE/YTp0aGlzLmZhY3RvcnkudGltZS5nZXRNaWxpdGFyeVRpbWUoITEsdGhpcy5zaG93U2Vjb25kcyksdGhpcy5iYXNlKGEsYil9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkNvdW50ZXJGYWNlPUZsaXBDbG9jay5GYWNlLmV4dGVuZCh7c2hvdWxkQXV0b0luY3JlbWVudDohMSxjb25zdHJ1Y3RvcjpmdW5jdGlvbihhLGIpeyJvYmplY3QiIT10eXBlb2YgYiYmKGI9e30pLGEuYXV0b1N0YXJ0PWIuYXV0b1N0YXJ0PyEwOiExLGIuYXV0b1N0YXJ0JiYodGhpcy5zaG91bGRBdXRvSW5jcmVtZW50PSEwKSxhLmluY3JlbWVudD1mdW5jdGlvbigpe2EuY291bnRkb3duPSExLGEuc2V0VGltZShhLmdldFRpbWUoKS5nZXRUaW1lU2Vjb25kcygpKzEpfSxhLmRlY3JlbWVudD1mdW5jdGlvbigpe2EuY291bnRkb3duPSEwO3ZhciBiPWEuZ2V0VGltZSgpLmdldFRpbWVTZWNvbmRzKCk7Yj4wJiZhLnNldFRpbWUoYi0xKX0sYS5zZXRWYWx1ZT1mdW5jdGlvbihiKXthLnNldFRpbWUoYil9LGEuc2V0Q291bnRlcj1mdW5jdGlvbihiKXthLnNldFRpbWUoYil9LHRoaXMuYmFzZShhLGIpfSxidWlsZDpmdW5jdGlvbigpe3ZhciBiPXRoaXMsYz10aGlzLmZhY3RvcnkuJGVsLmZpbmQoInVsIiksZD10aGlzLmZhY3RvcnkuZ2V0VGltZSgpLmRpZ2l0aXplKFt0aGlzLmZhY3RvcnkuZ2V0VGltZSgpLnRpbWVdKTtkLmxlbmd0aD5jLmxlbmd0aCYmYS5lYWNoKGQsZnVuY3Rpb24oYSxjKXt2YXIgZD1iLmNyZWF0ZUxpc3QoYyk7ZC5zZWxlY3QoYyl9KSxhLmVhY2godGhpcy5saXN0cyxmdW5jdGlvbihhLGIpe2IucGxheSgpfSksdGhpcy5iYXNlKCl9LGZsaXA6ZnVuY3Rpb24oYSxiKXt0aGlzLnNob3VsZEF1dG9JbmNyZW1lbnQmJnRoaXMuYXV0b0luY3JlbWVudCgpLGF8fChhPXRoaXMuZmFjdG9yeS5nZXRUaW1lKCkuZGlnaXRpemUoW3RoaXMuZmFjdG9yeS5nZXRUaW1lKCkudGltZV0pKSx0aGlzLmJhc2UoYSxiKX0scmVzZXQ6ZnVuY3Rpb24oKXt0aGlzLmZhY3RvcnkudGltZT1uZXcgRmxpcENsb2NrLlRpbWUodGhpcy5mYWN0b3J5LHRoaXMuZmFjdG9yeS5vcmlnaW5hbD9NYXRoLnJvdW5kKHRoaXMuZmFjdG9yeS5vcmlnaW5hbCk6MCksdGhpcy5mbGlwKCl9fSl9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkRhaWx5Q291bnRlckZhY2U9RmxpcENsb2NrLkZhY2UuZXh0ZW5kKHtzaG93U2Vjb25kczohMCxjb25zdHJ1Y3RvcjpmdW5jdGlvbihhLGIpe3RoaXMuYmFzZShhLGIpfSxidWlsZDpmdW5jdGlvbihiKXt2YXIgYz10aGlzLGQ9dGhpcy5mYWN0b3J5LiRlbC5maW5kKCJ1bCIpLGU9MDtiPWI/Yjp0aGlzLmZhY3RvcnkudGltZS5nZXREYXlDb3VudGVyKHRoaXMuc2hvd1NlY29uZHMpLGIubGVuZ3RoPmQubGVuZ3RoJiZhLmVhY2goYixmdW5jdGlvbihhLGIpe2MuY3JlYXRlTGlzdChiKX0pLHRoaXMuc2hvd1NlY29uZHM/YSh0aGlzLmNyZWF0ZURpdmlkZXIoIlNlY29uZHMiKSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbdGhpcy5saXN0cy5sZW5ndGgtMl0uJGVsKTplPTIsYSh0aGlzLmNyZWF0ZURpdmlkZXIoIk1pbnV0ZXMiKSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbdGhpcy5saXN0cy5sZW5ndGgtNCtlXS4kZWwpLGEodGhpcy5jcmVhdGVEaXZpZGVyKCJIb3VycyIpKS5pbnNlcnRCZWZvcmUodGhpcy5saXN0c1t0aGlzLmxpc3RzLmxlbmd0aC02K2VdLiRlbCksYSh0aGlzLmNyZWF0ZURpdmlkZXIoIkRheXMiLCEwKSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbMF0uJGVsKSx0aGlzLmJhc2UoKX0sZmxpcDpmdW5jdGlvbihhLGIpe2F8fChhPXRoaXMuZmFjdG9yeS50aW1lLmdldERheUNvdW50ZXIodGhpcy5zaG93U2Vjb25kcykpLHRoaXMuYXV0b0luY3JlbWVudCgpLHRoaXMuYmFzZShhLGIpfX0pfShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5Ib3VybHlDb3VudGVyRmFjZT1GbGlwQ2xvY2suRmFjZS5leHRlbmQoe2NvbnN0cnVjdG9yOmZ1bmN0aW9uKGEsYil7dGhpcy5iYXNlKGEsYil9LGJ1aWxkOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcyxlPXRoaXMuZmFjdG9yeS4kZWwuZmluZCgidWwiKTtjPWM/Yzp0aGlzLmZhY3RvcnkudGltZS5nZXRIb3VyQ291bnRlcigpLGMubGVuZ3RoPmUubGVuZ3RoJiZhLmVhY2goYyxmdW5jdGlvbihhLGIpe2QuY3JlYXRlTGlzdChiKX0pLGEodGhpcy5jcmVhdGVEaXZpZGVyKCJTZWNvbmRzIikpLmluc2VydEJlZm9yZSh0aGlzLmxpc3RzW3RoaXMubGlzdHMubGVuZ3RoLTJdLiRlbCksYSh0aGlzLmNyZWF0ZURpdmlkZXIoIk1pbnV0ZXMiKSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbdGhpcy5saXN0cy5sZW5ndGgtNF0uJGVsKSxifHxhKHRoaXMuY3JlYXRlRGl2aWRlcigiSG91cnMiLCEwKSkuaW5zZXJ0QmVmb3JlKHRoaXMubGlzdHNbMF0uJGVsKSx0aGlzLmJhc2UoKX0sZmxpcDpmdW5jdGlvbihhLGIpe2F8fChhPXRoaXMuZmFjdG9yeS50aW1lLmdldEhvdXJDb3VudGVyKCkpLHRoaXMuYXV0b0luY3JlbWVudCgpLHRoaXMuYmFzZShhLGIpfSxhcHBlbmREaWdpdFRvQ2xvY2s6ZnVuY3Rpb24oYSl7dGhpcy5iYXNlKGEpLHRoaXMuZGl2aWRlcnNbMF0uaW5zZXJ0QWZ0ZXIodGhpcy5kaXZpZGVyc1swXS5uZXh0KCkpfX0pfShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5NaW51dGVDb3VudGVyRmFjZT1GbGlwQ2xvY2suSG91cmx5Q291bnRlckZhY2UuZXh0ZW5kKHtjbGVhckV4Y2Vzc0RpZ2l0czohMSxjb25zdHJ1Y3RvcjpmdW5jdGlvbihhLGIpe3RoaXMuYmFzZShhLGIpfSxidWlsZDpmdW5jdGlvbigpe3RoaXMuYmFzZSghMCx0aGlzLmZhY3RvcnkudGltZS5nZXRNaW51dGVDb3VudGVyKCkpfSxmbGlwOmZ1bmN0aW9uKGEsYil7YXx8KGE9dGhpcy5mYWN0b3J5LnRpbWUuZ2V0TWludXRlQ291bnRlcigpKSx0aGlzLmJhc2UoYSxiKX19KX0oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suVHdlbHZlSG91ckNsb2NrRmFjZT1GbGlwQ2xvY2suVHdlbnR5Rm91ckhvdXJDbG9ja0ZhY2UuZXh0ZW5kKHttZXJpZGl1bTohMSxtZXJpZGl1bVRleHQ6IkFNIixidWlsZDpmdW5jdGlvbigpe3ZhciBiPXRoaXMuZmFjdG9yeS50aW1lLmdldFRpbWUoITEsdGhpcy5zaG93U2Vjb25kcyk7dGhpcy5iYXNlKGIpLHRoaXMubWVyaWRpdW1UZXh0PXRoaXMuZ2V0TWVyaWRpdW0oKSx0aGlzLm1lcmlkaXVtPWEoWyc8dWwgY2xhc3M9ImZsaXAtY2xvY2stbWVyaWRpdW0iPicsIjxsaT4iLCc8YSBocmVmPSIjIj4nK3RoaXMubWVyaWRpdW1UZXh0KyI8L2E+IiwiPC9saT4iLCI8L3VsPiJdLmpvaW4oIiIpKSx0aGlzLm1lcmlkaXVtLmluc2VydEFmdGVyKHRoaXMubGlzdHNbdGhpcy5saXN0cy5sZW5ndGgtMV0uJGVsKX0sZmxpcDpmdW5jdGlvbihhLGIpe3RoaXMubWVyaWRpdW1UZXh0IT10aGlzLmdldE1lcmlkaXVtKCkmJih0aGlzLm1lcmlkaXVtVGV4dD10aGlzLmdldE1lcmlkaXVtKCksdGhpcy5tZXJpZGl1bS5maW5kKCJhIikuaHRtbCh0aGlzLm1lcmlkaXVtVGV4dCkpLHRoaXMuYmFzZSh0aGlzLmZhY3RvcnkudGltZS5nZXRUaW1lKCExLHRoaXMuc2hvd1NlY29uZHMpLGIpfSxnZXRNZXJpZGl1bTpmdW5jdGlvbigpe3JldHVybihuZXcgRGF0ZSkuZ2V0SG91cnMoKT49MTI/IlBNIjoiQU0ifSxpc1BNOmZ1bmN0aW9uKCl7cmV0dXJuIlBNIj09dGhpcy5nZXRNZXJpZGl1bSgpPyEwOiExfSxpc0FNOmZ1bmN0aW9uKCl7cmV0dXJuIkFNIj09dGhpcy5nZXRNZXJpZGl1bSgpPyEwOiExfX0pfShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5MYW5nLkFyYWJpYz17eWVhcnM6Itiz2YbZiNin2KoiLG1vbnRoczoi2LTZh9mI2LEiLGRheXM6Itij2YrYp9mFIixob3Vyczoi2LPYp9i52KfYqiIsbWludXRlczoi2K/Zgtin2KbZgiIsc2Vjb25kczoi2KvZiNin2YbZiiJ9LEZsaXBDbG9jay5MYW5nLmFyPUZsaXBDbG9jay5MYW5nLkFyYWJpYyxGbGlwQ2xvY2suTGFuZ1siYXItYXIiXT1GbGlwQ2xvY2suTGFuZy5BcmFiaWMsRmxpcENsb2NrLkxhbmcuYXJhYmljPUZsaXBDbG9jay5MYW5nLkFyYWJpY30oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suTGFuZy5EYW5pc2g9e3llYXJzOiLDhXIiLG1vbnRoczoiTcOlbmVkZXIiLGRheXM6IkRhZ2UiLGhvdXJzOiJUaW1lciIsbWludXRlczoiTWludXR0ZXIiLHNlY29uZHM6IlNla3VuZGVyIn0sRmxpcENsb2NrLkxhbmcuZGE9RmxpcENsb2NrLkxhbmcuRGFuaXNoLEZsaXBDbG9jay5MYW5nWyJkYS1kayJdPUZsaXBDbG9jay5MYW5nLkRhbmlzaCxGbGlwQ2xvY2suTGFuZy5kYW5pc2g9RmxpcENsb2NrLkxhbmcuRGFuaXNofShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5MYW5nLkdlcm1hbj17eWVhcnM6IkphaHJlIixtb250aHM6Ik1vbmF0ZSIsZGF5czoiVGFnZSIsaG91cnM6IlN0dW5kZW4iLG1pbnV0ZXM6Ik1pbnV0ZW4iLHNlY29uZHM6IlNla3VuZGVuIn0sRmxpcENsb2NrLkxhbmcuZGU9RmxpcENsb2NrLkxhbmcuR2VybWFuLEZsaXBDbG9jay5MYW5nWyJkZS1kZSJdPUZsaXBDbG9jay5MYW5nLkdlcm1hbixGbGlwQ2xvY2suTGFuZy5nZXJtYW49RmxpcENsb2NrLkxhbmcuR2VybWFufShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5MYW5nLkVuZ2xpc2g9e3llYXJzOiJZZWFycyIsbW9udGhzOiJNb250aHMiLGRheXM6IkRheXMiLGhvdXJzOiJIb3VycyIsbWludXRlczoiTWludXRlcyIsc2Vjb25kczoiU2Vjb25kcyJ9LEZsaXBDbG9jay5MYW5nLmVuPUZsaXBDbG9jay5MYW5nLkVuZ2xpc2gsRmxpcENsb2NrLkxhbmdbImVuLXVzIl09RmxpcENsb2NrLkxhbmcuRW5nbGlzaCxGbGlwQ2xvY2suTGFuZy5lbmdsaXNoPUZsaXBDbG9jay5MYW5nLkVuZ2xpc2h9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuU3BhbmlzaD17eWVhcnM6IkHDsW9zIixtb250aHM6Ik1lc2VzIixkYXlzOiJEw61hcyIsaG91cnM6IkhvcmFzIixtaW51dGVzOiJNaW51dG9zIixzZWNvbmRzOiJTZWd1bmRvcyJ9LEZsaXBDbG9jay5MYW5nLmVzPUZsaXBDbG9jay5MYW5nLlNwYW5pc2gsRmxpcENsb2NrLkxhbmdbImVzLWVzIl09RmxpcENsb2NrLkxhbmcuU3BhbmlzaCxGbGlwQ2xvY2suTGFuZy5zcGFuaXNoPUZsaXBDbG9jay5MYW5nLlNwYW5pc2h9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuRmlubmlzaD17eWVhcnM6IlZ1b3R0YSIsbW9udGhzOiJLdXVrYXV0dGEiLGRheXM6IlDDpGl2w6TDpCIsaG91cnM6IlR1bnRpYSIsbWludXRlczoiTWludXV0dGlhIixzZWNvbmRzOiJTZWt1bnRpYSJ9LEZsaXBDbG9jay5MYW5nLmZpPUZsaXBDbG9jay5MYW5nLkZpbm5pc2gsRmxpcENsb2NrLkxhbmdbImZpLWZpIl09RmxpcENsb2NrLkxhbmcuRmlubmlzaCxGbGlwQ2xvY2suTGFuZy5maW5uaXNoPUZsaXBDbG9jay5MYW5nLkZpbm5pc2h9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuRnJlbmNoPXt5ZWFyczoiQW5zIixtb250aHM6Ik1vaXMiLGRheXM6IkpvdXJzIixob3VyczoiSGV1cmVzIixtaW51dGVzOiJNaW51dGVzIixzZWNvbmRzOiJTZWNvbmRlcyJ9LEZsaXBDbG9jay5MYW5nLmZyPUZsaXBDbG9jay5MYW5nLkZyZW5jaCxGbGlwQ2xvY2suTGFuZ1siZnItY2EiXT1GbGlwQ2xvY2suTGFuZy5GcmVuY2gsRmxpcENsb2NrLkxhbmcuZnJlbmNoPUZsaXBDbG9jay5MYW5nLkZyZW5jaH0oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suTGFuZy5JdGFsaWFuPXt5ZWFyczoiQW5uaSIsbW9udGhzOiJNZXNpIixkYXlzOiJHaW9ybmkiLGhvdXJzOiJPcmUiLG1pbnV0ZXM6Ik1pbnV0aSIsc2Vjb25kczoiU2Vjb25kaSJ9LEZsaXBDbG9jay5MYW5nLml0PUZsaXBDbG9jay5MYW5nLkl0YWxpYW4sRmxpcENsb2NrLkxhbmdbIml0LWl0Il09RmxpcENsb2NrLkxhbmcuSXRhbGlhbixGbGlwQ2xvY2suTGFuZy5pdGFsaWFuPUZsaXBDbG9jay5MYW5nLkl0YWxpYW59KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuTGF0dmlhbj17eWVhcnM6IkdhZGkiLG1vbnRoczoiTcSTbmXFoWkiLGRheXM6IkRpZW5hcyIsaG91cnM6IlN0dW5kYXMiLG1pbnV0ZXM6Ik1pbsWrdGVzIixzZWNvbmRzOiJTZWt1bmRlcyJ9LEZsaXBDbG9jay5MYW5nLmx2PUZsaXBDbG9jay5MYW5nLkxhdHZpYW4sRmxpcENsb2NrLkxhbmdbImx2LWx2Il09RmxpcENsb2NrLkxhbmcuTGF0dmlhbixGbGlwQ2xvY2suTGFuZy5sYXR2aWFuPUZsaXBDbG9jay5MYW5nLkxhdHZpYW59KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuRHV0Y2g9e3llYXJzOiJKYXJlbiIsbW9udGhzOiJNYWFuZGVuIixkYXlzOiJEYWdlbiIsaG91cnM6IlVyZW4iLG1pbnV0ZXM6Ik1pbnV0ZW4iLHNlY29uZHM6IlNlY29uZGVuIn0sRmxpcENsb2NrLkxhbmcubmw9RmxpcENsb2NrLkxhbmcuRHV0Y2gsRmxpcENsb2NrLkxhbmdbIm5sLWJlIl09RmxpcENsb2NrLkxhbmcuRHV0Y2gsRmxpcENsb2NrLkxhbmcuZHV0Y2g9RmxpcENsb2NrLkxhbmcuRHV0Y2h9KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuTm9yd2VnaWFuPXt5ZWFyczoiw4VyIixtb250aHM6Ik3DpW5lZGVyIixkYXlzOiJEYWdlciIsaG91cnM6IlRpbWVyIixtaW51dGVzOiJNaW51dHRlciIsc2Vjb25kczoiU2VrdW5kZXIifSxGbGlwQ2xvY2suTGFuZy5ubz1GbGlwQ2xvY2suTGFuZy5Ob3J3ZWdpYW4sRmxpcENsb2NrLkxhbmcubmI9RmxpcENsb2NrLkxhbmcuTm9yd2VnaWFuLEZsaXBDbG9jay5MYW5nWyJuby1uYiJdPUZsaXBDbG9jay5MYW5nLk5vcndlZ2lhbixGbGlwQ2xvY2suTGFuZy5ub3J3ZWdpYW49RmxpcENsb2NrLkxhbmcuTm9yd2VnaWFufShqUXVlcnkpLGZ1bmN0aW9uKGEpe0ZsaXBDbG9jay5MYW5nLlBvcnR1Z3Vlc2U9e3llYXJzOiJBbm9zIixtb250aHM6Ik1lc2VzIixkYXlzOiJEaWFzIixob3VyczoiSG9yYXMiLG1pbnV0ZXM6Ik1pbnV0b3MiLHNlY29uZHM6IlNlZ3VuZG9zIn0sRmxpcENsb2NrLkxhbmcucHQ9RmxpcENsb2NrLkxhbmcuUG9ydHVndWVzZSxGbGlwQ2xvY2suTGFuZ1sicHQtYnIiXT1GbGlwQ2xvY2suTGFuZy5Qb3J0dWd1ZXNlLEZsaXBDbG9jay5MYW5nLnBvcnR1Z3Vlc2U9RmxpcENsb2NrLkxhbmcuUG9ydHVndWVzZX0oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suTGFuZy5SdXNzaWFuPXt5ZWFyczoi0LvQtdGCIixtb250aHM6ItC80LXRgdGP0YbQtdCyIixkYXlzOiLQtNC90LXQuSIsaG91cnM6ItGH0LDRgdC+0LIiLG1pbnV0ZXM6ItC80LjQvdGD0YIiLHNlY29uZHM6ItGB0LXQutGD0L3QtCJ9LEZsaXBDbG9jay5MYW5nLnJ1PUZsaXBDbG9jay5MYW5nLlJ1c3NpYW4sRmxpcENsb2NrLkxhbmdbInJ1LXJ1Il09RmxpcENsb2NrLkxhbmcuUnVzc2lhbixGbGlwQ2xvY2suTGFuZy5ydXNzaWFuPUZsaXBDbG9jay5MYW5nLlJ1c3NpYW59KGpRdWVyeSksZnVuY3Rpb24oYSl7RmxpcENsb2NrLkxhbmcuU3dlZGlzaD17eWVhcnM6IsOFciIsbW9udGhzOiJNw6VuYWRlciIsZGF5czoiRGFnYXIiLGhvdXJzOiJUaW1tYXIiLG1pbnV0ZXM6Ik1pbnV0ZXIiLHNlY29uZHM6IlNla3VuZGVyIn0sRmxpcENsb2NrLkxhbmcuc3Y9RmxpcENsb2NrLkxhbmcuU3dlZGlzaCxGbGlwQ2xvY2suTGFuZ1sic3Ytc2UiXT1GbGlwQ2xvY2suTGFuZy5Td2VkaXNoLEZsaXBDbG9jay5MYW5nLnN3ZWRpc2g9RmxpcENsb2NrLkxhbmcuU3dlZGlzaH0oalF1ZXJ5KSxmdW5jdGlvbihhKXtGbGlwQ2xvY2suTGFuZy5DaGluZXNlPXt5ZWFyczoi5bm0Iixtb250aHM6IuaciCIsZGF5czoi5pelIixob3Vyczoi5pe2IixtaW51dGVzOiLliIYiLHNlY29uZHM6IuenkiJ9LEZsaXBDbG9jay5MYW5nLnpoPUZsaXBDbG9jay5MYW5nLkNoaW5lc2UsRmxpcENsb2NrLkxhbmdbInpoLWNuIl09RmxpcENsb2NrLkxhbmcuQ2hpbmVzZSxGbGlwQ2xvY2suTGFuZy5jaGluZXNlPUZsaXBDbG9jay5MYW5nLkNoaW5lc2V9KGpRdWVyeSk7DQoNCg0KLyoNCiAqICBpbnN0YWZlZWQuanMNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLy8gR2VuZXJhdGVkIGJ5IENvZmZlZVNjcmlwdCAxLjkuMw0KKGZ1bmN0aW9uKCl7dmFyIGU7ZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXt2YXIgbixyO3RoaXMub3B0aW9ucz17dGFyZ2V0OiJpbnN0YWZlZWQiLGdldDoicG9wdWxhciIscmVzb2x1dGlvbjoidGh1bWJuYWlsIixzb3J0Qnk6Im5vbmUiLGxpbmtzOiEwLG1vY2s6ITEsdXNlSHR0cDohMX07aWYodHlwZW9mIGU9PSJvYmplY3QiKWZvcihuIGluIGUpcj1lW25dLHRoaXMub3B0aW9uc1tuXT1yO3RoaXMuY29udGV4dD10IT1udWxsP3Q6dGhpcyx0aGlzLnVuaXF1ZT10aGlzLl9nZW5LZXkoKX1yZXR1cm4gZS5wcm90b3R5cGUuaGFzTmV4dD1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgdGhpcy5jb250ZXh0Lm5leHRVcmw9PSJzdHJpbmciJiZ0aGlzLmNvbnRleHQubmV4dFVybC5sZW5ndGg+MH0sZS5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmhhc05leHQoKT90aGlzLnJ1bih0aGlzLmNvbnRleHQubmV4dFVybCk6ITF9LGUucHJvdG90eXBlLnJ1bj1mdW5jdGlvbih0KXt2YXIgbixyLGk7aWYodHlwZW9mIHRoaXMub3B0aW9ucy5jbGllbnRJZCE9InN0cmluZyImJnR5cGVvZiB0aGlzLm9wdGlvbnMuYWNjZXNzVG9rZW4hPSJzdHJpbmciKXRocm93IG5ldyBFcnJvcigiTWlzc2luZyBjbGllbnRJZCBvciBhY2Nlc3NUb2tlbi4iKTtpZih0eXBlb2YgdGhpcy5vcHRpb25zLmFjY2Vzc1Rva2VuIT0ic3RyaW5nIiYmdHlwZW9mIHRoaXMub3B0aW9ucy5jbGllbnRJZCE9InN0cmluZyIpdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIGNsaWVudElkIG9yIGFjY2Vzc1Rva2VuLiIpO3JldHVybiB0aGlzLm9wdGlvbnMuYmVmb3JlIT1udWxsJiZ0eXBlb2YgdGhpcy5vcHRpb25zLmJlZm9yZT09ImZ1bmN0aW9uIiYmdGhpcy5vcHRpb25zLmJlZm9yZS5jYWxsKHRoaXMpLHR5cGVvZiBkb2N1bWVudCE9InVuZGVmaW5lZCImJmRvY3VtZW50IT09bnVsbCYmKGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic2NyaXB0IiksaS5pZD0iaW5zdGFmZWVkLWZldGNoZXIiLGkuc3JjPXR8fHRoaXMuX2J1aWxkVXJsKCksbj1kb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpLG5bMF0uYXBwZW5kQ2hpbGQoaSkscj0iaW5zdGFmZWVkQ2FjaGUiK3RoaXMudW5pcXVlLHdpbmRvd1tyXT1uZXcgZSh0aGlzLm9wdGlvbnMsdGhpcyksd2luZG93W3JdLnVuaXF1ZT10aGlzLnVuaXF1ZSksITB9LGUucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKGUpe3ZhciB0LG4scixpLHMsbyx1LGEsZixsLGMsaCxwLGQsdixtLGcseSxiLHcsRSxTLHgsVCxOLEMsayxMLEEsTyxNLF8sRDtpZih0eXBlb2YgZSE9Im9iamVjdCIpe2lmKHRoaXMub3B0aW9ucy5lcnJvciE9bnVsbCYmdHlwZW9mIHRoaXMub3B0aW9ucy5lcnJvcj09ImZ1bmN0aW9uIilyZXR1cm4gdGhpcy5vcHRpb25zLmVycm9yLmNhbGwodGhpcywiSW52YWxpZCBKU09OIGRhdGEiKSwhMTt0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgSlNPTiByZXNwb25zZSIpfWlmKGUubWV0YS5jb2RlIT09MjAwKXtpZih0aGlzLm9wdGlvbnMuZXJyb3IhPW51bGwmJnR5cGVvZiB0aGlzLm9wdGlvbnMuZXJyb3I9PSJmdW5jdGlvbiIpcmV0dXJuIHRoaXMub3B0aW9ucy5lcnJvci5jYWxsKHRoaXMsZS5tZXRhLmVycm9yX21lc3NhZ2UpLCExO3Rocm93IG5ldyBFcnJvcigiRXJyb3IgZnJvbSBJbnN0YWdyYW06ICIrZS5tZXRhLmVycm9yX21lc3NhZ2UpfWlmKGUuZGF0YS5sZW5ndGg9PT0wKXtpZih0aGlzLm9wdGlvbnMuZXJyb3IhPW51bGwmJnR5cGVvZiB0aGlzLm9wdGlvbnMuZXJyb3I9PSJmdW5jdGlvbiIpcmV0dXJuIHRoaXMub3B0aW9ucy5lcnJvci5jYWxsKHRoaXMsIk5vIGltYWdlcyB3ZXJlIHJldHVybmVkIGZyb20gSW5zdGFncmFtIiksITE7dGhyb3cgbmV3IEVycm9yKCJObyBpbWFnZXMgd2VyZSByZXR1cm5lZCBmcm9tIEluc3RhZ3JhbSIpfXRoaXMub3B0aW9ucy5zdWNjZXNzIT1udWxsJiZ0eXBlb2YgdGhpcy5vcHRpb25zLnN1Y2Nlc3M9PSJmdW5jdGlvbiImJnRoaXMub3B0aW9ucy5zdWNjZXNzLmNhbGwodGhpcyxlKSx0aGlzLmNvbnRleHQubmV4dFVybD0iIixlLnBhZ2luYXRpb24hPW51bGwmJih0aGlzLmNvbnRleHQubmV4dFVybD1lLnBhZ2luYXRpb24ubmV4dF91cmwpO2lmKHRoaXMub3B0aW9ucy5zb3J0QnkhPT0ibm9uZSIpe3RoaXMub3B0aW9ucy5zb3J0Qnk9PT0icmFuZG9tIj9NPVsiIiwicmFuZG9tIl06TT10aGlzLm9wdGlvbnMuc29ydEJ5LnNwbGl0KCItIiksTz1NWzBdPT09ImxlYXN0Ij8hMDohMTtzd2l0Y2goTVsxXSl7Y2FzZSJyYW5kb20iOmUuZGF0YS5zb3J0KGZ1bmN0aW9uKCl7cmV0dXJuLjUtTWF0aC5yYW5kb20oKX0pO2JyZWFrO2Nhc2UicmVjZW50IjplLmRhdGE9dGhpcy5fc29ydEJ5KGUuZGF0YSwiY3JlYXRlZF90aW1lIixPKTticmVhaztjYXNlImxpa2VkIjplLmRhdGE9dGhpcy5fc29ydEJ5KGUuZGF0YSwibGlrZXMuY291bnQiLE8pO2JyZWFrO2Nhc2UiY29tbWVudGVkIjplLmRhdGE9dGhpcy5fc29ydEJ5KGUuZGF0YSwiY29tbWVudHMuY291bnQiLE8pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKCJJbnZhbGlkIG9wdGlvbiBmb3Igc29ydEJ5OiAnIit0aGlzLm9wdGlvbnMuc29ydEJ5KyInLiIpfX1pZih0eXBlb2YgZG9jdW1lbnQhPSJ1bmRlZmluZWQiJiZkb2N1bWVudCE9PW51bGwmJnRoaXMub3B0aW9ucy5tb2NrPT09ITEpe209ZS5kYXRhLEE9cGFyc2VJbnQodGhpcy5vcHRpb25zLmxpbWl0LDEwKSx0aGlzLm9wdGlvbnMubGltaXQhPW51bGwmJm0ubGVuZ3RoPkEmJihtPW0uc2xpY2UoMCxBKSksdT1kb2N1bWVudC5jcmVhdGVEb2N1bWVudEZyYWdtZW50KCksdGhpcy5vcHRpb25zLmZpbHRlciE9bnVsbCYmdHlwZW9mIHRoaXMub3B0aW9ucy5maWx0ZXI9PSJmdW5jdGlvbiImJihtPXRoaXMuX2ZpbHRlcihtLHRoaXMub3B0aW9ucy5maWx0ZXIpKTtpZih0aGlzLm9wdGlvbnMudGVtcGxhdGUhPW51bGwmJnR5cGVvZiB0aGlzLm9wdGlvbnMudGVtcGxhdGU9PSJzdHJpbmciKXtmPSIiLGQ9IiIsdz0iIixEPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpO2ZvcihjPTAsTj1tLmxlbmd0aDtjPE47YysrKXtoPW1bY10scD1oLmltYWdlc1t0aGlzLm9wdGlvbnMucmVzb2x1dGlvbl07aWYodHlwZW9mIHAhPSJvYmplY3QiKXRocm93IG89Ik5vIGltYWdlIGZvdW5kIGZvciByZXNvbHV0aW9uOiAiK3RoaXMub3B0aW9ucy5yZXNvbHV0aW9uKyIuIixuZXcgRXJyb3Iobyk7RT1wLndpZHRoLHk9cC5oZWlnaHQsYj0ic3F1YXJlIixFPnkmJihiPSJsYW5kc2NhcGUiKSxFPHkmJihiPSJwb3J0cmFpdCIpLHY9cC51cmwsbD13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wuaW5kZXhPZigiaHR0cCIpPj0wLGwmJiF0aGlzLm9wdGlvbnMudXNlSHR0cCYmKHY9di5yZXBsYWNlKC9odHRwcz86XC9cLy8sIi8vIikpLGQ9dGhpcy5fbWFrZVRlbXBsYXRlKHRoaXMub3B0aW9ucy50ZW1wbGF0ZSx7bW9kZWw6aCxpZDpoLmlkLGxpbms6aC5saW5rLHR5cGU6aC50eXBlLGltYWdlOnYsd2lkdGg6RSxoZWlnaHQ6eSxvcmllbnRhdGlvbjpiLGNhcHRpb246dGhpcy5fZ2V0T2JqZWN0UHJvcGVydHkoaCwiY2FwdGlvbi50ZXh0IiksbGlrZXM6aC5saWtlcy5jb3VudCxjb21tZW50czpoLmNvbW1lbnRzLmNvdW50LGxvY2F0aW9uOnRoaXMuX2dldE9iamVjdFByb3BlcnR5KGgsImxvY2F0aW9uLm5hbWUiKX0pLGYrPWR9RC5pbm5lckhUTUw9ZixpPVtdLHI9MCxuPUQuY2hpbGROb2Rlcy5sZW5ndGg7d2hpbGUocjxuKWkucHVzaChELmNoaWxkTm9kZXNbcl0pLHIrPTE7Zm9yKHg9MCxDPWkubGVuZ3RoO3g8Qzt4KyspTD1pW3hdLHUuYXBwZW5kQ2hpbGQoTCl9ZWxzZSBmb3IoVD0wLGs9bS5sZW5ndGg7VDxrO1QrKyl7aD1tW1RdLGc9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiaW1nIikscD1oLmltYWdlc1t0aGlzLm9wdGlvbnMucmVzb2x1dGlvbl07aWYodHlwZW9mIHAhPSJvYmplY3QiKXRocm93IG89Ik5vIGltYWdlIGZvdW5kIGZvciByZXNvbHV0aW9uOiAiK3RoaXMub3B0aW9ucy5yZXNvbHV0aW9uKyIuIixuZXcgRXJyb3Iobyk7dj1wLnVybCxsPXdpbmRvdy5sb2NhdGlvbi5wcm90b2NvbC5pbmRleE9mKCJodHRwIik+PTAsbCYmIXRoaXMub3B0aW9ucy51c2VIdHRwJiYodj12LnJlcGxhY2UoL2h0dHBzPzpcL1wvLywiLy8iKSksZy5zcmM9dix0aGlzLm9wdGlvbnMubGlua3M9PT0hMD8odD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIiksdC5ocmVmPWgubGluayx0LmFwcGVuZENoaWxkKGcpLHUuYXBwZW5kQ2hpbGQodCkpOnUuYXBwZW5kQ2hpbGQoZyl9Xz10aGlzLm9wdGlvbnMudGFyZ2V0LHR5cGVvZiBfPT0ic3RyaW5nIiYmKF89ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXykpO2lmKF89PW51bGwpdGhyb3cgbz0nTm8gZWxlbWVudCB3aXRoIGlkPSInK3RoaXMub3B0aW9ucy50YXJnZXQrJyIgb24gcGFnZS4nLG5ldyBFcnJvcihvKTtfLmFwcGVuZENoaWxkKHUpLGE9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImhlYWQiKVswXSxhLnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJpbnN0YWZlZWQtZmV0Y2hlciIpKSxTPSJpbnN0YWZlZWRDYWNoZSIrdGhpcy51bmlxdWUsd2luZG93W1NdPXZvaWQgMDt0cnl7ZGVsZXRlIHdpbmRvd1tTXX1jYXRjaChQKXtzPVB9fXJldHVybiB0aGlzLm9wdGlvbnMuYWZ0ZXIhPW51bGwmJnR5cGVvZiB0aGlzLm9wdGlvbnMuYWZ0ZXI9PSJmdW5jdGlvbiImJnRoaXMub3B0aW9ucy5hZnRlci5jYWxsKHRoaXMpLCEwfSxlLnByb3RvdHlwZS5fYnVpbGRVcmw9ZnVuY3Rpb24oKXt2YXIgZSx0LG47ZT0iaHR0cHM6Ly9hcGkuaW5zdGFncmFtLmNvbS92MSI7c3dpdGNoKHRoaXMub3B0aW9ucy5nZXQpe2Nhc2UicG9wdWxhciI6dD0ibWVkaWEvcG9wdWxhciI7YnJlYWs7Y2FzZSJ0YWdnZWQiOmlmKCF0aGlzLm9wdGlvbnMudGFnTmFtZSl0aHJvdyBuZXcgRXJyb3IoIk5vIHRhZyBuYW1lIHNwZWNpZmllZC4gVXNlIHRoZSAndGFnTmFtZScgb3B0aW9uLiIpO3Q9InRhZ3MvIit0aGlzLm9wdGlvbnMudGFnTmFtZSsiL21lZGlhL3JlY2VudCI7YnJlYWs7Y2FzZSJsb2NhdGlvbiI6aWYoIXRoaXMub3B0aW9ucy5sb2NhdGlvbklkKXRocm93IG5ldyBFcnJvcigiTm8gbG9jYXRpb24gc3BlY2lmaWVkLiBVc2UgdGhlICdsb2NhdGlvbklkJyBvcHRpb24uIik7dD0ibG9jYXRpb25zLyIrdGhpcy5vcHRpb25zLmxvY2F0aW9uSWQrIi9tZWRpYS9yZWNlbnQiO2JyZWFrO2Nhc2UidXNlciI6aWYoIXRoaXMub3B0aW9ucy51c2VySWQpdGhyb3cgbmV3IEVycm9yKCJObyB1c2VyIHNwZWNpZmllZC4gVXNlIHRoZSAndXNlcklkJyBvcHRpb24uIik7dD0idXNlcnMvIit0aGlzLm9wdGlvbnMudXNlcklkKyIvbWVkaWEvcmVjZW50IjticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcigiSW52YWxpZCBvcHRpb24gZm9yIGdldDogJyIrdGhpcy5vcHRpb25zLmdldCsiJy4iKX1yZXR1cm4gbj1lKyIvIit0LHRoaXMub3B0aW9ucy5hY2Nlc3NUb2tlbiE9bnVsbD9uKz0iP2FjY2Vzc190b2tlbj0iK3RoaXMub3B0aW9ucy5hY2Nlc3NUb2tlbjpuKz0iP2NsaWVudF9pZD0iK3RoaXMub3B0aW9ucy5jbGllbnRJZCx0aGlzLm9wdGlvbnMubGltaXQhPW51bGwmJihuKz0iJmNvdW50PSIrdGhpcy5vcHRpb25zLmxpbWl0KSxuKz0iJmNhbGxiYWNrPWluc3RhZmVlZENhY2hlIit0aGlzLnVuaXF1ZSsiLnBhcnNlIixufSxlLnByb3RvdHlwZS5fZ2VuS2V5PWZ1bmN0aW9uKCl7dmFyIGU7cmV0dXJuIGU9ZnVuY3Rpb24oKXtyZXR1cm4oKDErTWF0aC5yYW5kb20oKSkqNjU1MzZ8MCkudG9TdHJpbmcoMTYpLnN1YnN0cmluZygxKX0sIiIrZSgpK2UoKStlKCkrZSgpfSxlLnByb3RvdHlwZS5fbWFrZVRlbXBsYXRlPWZ1bmN0aW9uKGUsdCl7dmFyIG4scixpLHMsbztyPS8oPzpce3syfSkoW1x3XFtcXVwuXSspKD86XH17Mn0pLyxuPWU7d2hpbGUoci50ZXN0KG4pKXM9bi5tYXRjaChyKVsxXSxvPShpPXRoaXMuX2dldE9iamVjdFByb3BlcnR5KHQscykpIT1udWxsP2k6IiIsbj1uLnJlcGxhY2UocixmdW5jdGlvbigpe3JldHVybiIiK299KTtyZXR1cm4gbn0sZS5wcm90b3R5cGUuX2dldE9iamVjdFByb3BlcnR5PWZ1bmN0aW9uKGUsdCl7dmFyIG4scjt0PXQucmVwbGFjZSgvXFsoXHcrKVxdL2csIi4kMSIpLHI9dC5zcGxpdCgiLiIpO3doaWxlKHIubGVuZ3RoKXtuPXIuc2hpZnQoKTtpZighKGUhPW51bGwmJm4gaW4gZSkpcmV0dXJuIG51bGw7ZT1lW25dfXJldHVybiBlfSxlLnByb3RvdHlwZS5fc29ydEJ5PWZ1bmN0aW9uKGUsdCxuKXt2YXIgcjtyZXR1cm4gcj1mdW5jdGlvbihlLHIpe3ZhciBpLHM7cmV0dXJuIGk9dGhpcy5fZ2V0T2JqZWN0UHJvcGVydHkoZSx0KSxzPXRoaXMuX2dldE9iamVjdFByb3BlcnR5KHIsdCksbj9pPnM/MTotMTppPHM/MTotMX0sZS5zb3J0KHIuYmluZCh0aGlzKSksZX0sZS5wcm90b3R5cGUuX2ZpbHRlcj1mdW5jdGlvbihlLHQpe3ZhciBuLHIsaSxzLG87bj1bXSxyPWZ1bmN0aW9uKGUpe2lmKHQoZSkpcmV0dXJuIG4ucHVzaChlKX07Zm9yKGk9MCxvPWUubGVuZ3RoO2k8bztpKyspcz1lW2ldLHIocyk7cmV0dXJuIG59LGV9KCksZnVuY3Rpb24oZSx0KXtyZXR1cm4gdHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoW10sdCk6dHlwZW9mIG1vZHVsZT09Im9iamVjdCImJm1vZHVsZS5leHBvcnRzP21vZHVsZS5leHBvcnRzPXQoKTplLkluc3RhZmVlZD10KCl9KHRoaXMsZnVuY3Rpb24oKXtyZXR1cm4gZX0pfSkuY2FsbCh0aGlzKTsNCg0KDQoNCi8qDQogKiAgalF1ZXJ5IFZhbGlkYXRpb24NCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLyohIGpRdWVyeSBWYWxpZGF0aW9uIFBsdWdpbiAtIHYxLjE0LjAgLSA2LzMwLzIwMTUNCiAqIGh0dHA6Ly9qcXVlcnl2YWxpZGF0aW9uLm9yZy8NCiAqIENvcHlyaWdodCAoYykgMjAxNSBKw7ZybiBaYWVmZmVyZXI7IExpY2Vuc2VkIE1JVCAqLw0KIWZ1bmN0aW9uKGEpeyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0sYSk6YShqUXVlcnkpfShmdW5jdGlvbihhKXthLmV4dGVuZChhLmZuLHt2YWxpZGF0ZTpmdW5jdGlvbihiKXtpZighdGhpcy5sZW5ndGgpcmV0dXJuIHZvaWQoYiYmYi5kZWJ1ZyYmd2luZG93LmNvbnNvbGUmJmNvbnNvbGUud2FybigiTm90aGluZyBzZWxlY3RlZCwgY2FuJ3QgdmFsaWRhdGUsIHJldHVybmluZyBub3RoaW5nLiIpKTt2YXIgYz1hLmRhdGEodGhpc1swXSwidmFsaWRhdG9yIik7cmV0dXJuIGM/YzoodGhpcy5hdHRyKCJub3ZhbGlkYXRlIiwibm92YWxpZGF0ZSIpLGM9bmV3IGEudmFsaWRhdG9yKGIsdGhpc1swXSksYS5kYXRhKHRoaXNbMF0sInZhbGlkYXRvciIsYyksYy5zZXR0aW5ncy5vbnN1Ym1pdCYmKHRoaXMub24oImNsaWNrLnZhbGlkYXRlIiwiOnN1Ym1pdCIsZnVuY3Rpb24oYil7Yy5zZXR0aW5ncy5zdWJtaXRIYW5kbGVyJiYoYy5zdWJtaXRCdXR0b249Yi50YXJnZXQpLGEodGhpcykuaGFzQ2xhc3MoImNhbmNlbCIpJiYoYy5jYW5jZWxTdWJtaXQ9ITApLHZvaWQgMCE9PWEodGhpcykuYXR0cigiZm9ybW5vdmFsaWRhdGUiKSYmKGMuY2FuY2VsU3VibWl0PSEwKX0pLHRoaXMub24oInN1Ym1pdC52YWxpZGF0ZSIsZnVuY3Rpb24oYil7ZnVuY3Rpb24gZCgpe3ZhciBkLGU7cmV0dXJuIGMuc2V0dGluZ3Muc3VibWl0SGFuZGxlcj8oYy5zdWJtaXRCdXR0b24mJihkPWEoIjxpbnB1dCB0eXBlPSdoaWRkZW4nLz4iKS5hdHRyKCJuYW1lIixjLnN1Ym1pdEJ1dHRvbi5uYW1lKS52YWwoYShjLnN1Ym1pdEJ1dHRvbikudmFsKCkpLmFwcGVuZFRvKGMuY3VycmVudEZvcm0pKSxlPWMuc2V0dGluZ3Muc3VibWl0SGFuZGxlci5jYWxsKGMsYy5jdXJyZW50Rm9ybSxiKSxjLnN1Ym1pdEJ1dHRvbiYmZC5yZW1vdmUoKSx2b2lkIDAhPT1lP2U6ITEpOiEwfXJldHVybiBjLnNldHRpbmdzLmRlYnVnJiZiLnByZXZlbnREZWZhdWx0KCksYy5jYW5jZWxTdWJtaXQ/KGMuY2FuY2VsU3VibWl0PSExLGQoKSk6Yy5mb3JtKCk/Yy5wZW5kaW5nUmVxdWVzdD8oYy5mb3JtU3VibWl0dGVkPSEwLCExKTpkKCk6KGMuZm9jdXNJbnZhbGlkKCksITEpfSkpLGMpfSx2YWxpZDpmdW5jdGlvbigpe3ZhciBiLGMsZDtyZXR1cm4gYSh0aGlzWzBdKS5pcygiZm9ybSIpP2I9dGhpcy52YWxpZGF0ZSgpLmZvcm0oKTooZD1bXSxiPSEwLGM9YSh0aGlzWzBdLmZvcm0pLnZhbGlkYXRlKCksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7Yj1jLmVsZW1lbnQodGhpcykmJmIsZD1kLmNvbmNhdChjLmVycm9yTGlzdCl9KSxjLmVycm9yTGlzdD1kKSxifSxydWxlczpmdW5jdGlvbihiLGMpe3ZhciBkLGUsZixnLGgsaSxqPXRoaXNbMF07aWYoYilzd2l0Y2goZD1hLmRhdGEoai5mb3JtLCJ2YWxpZGF0b3IiKS5zZXR0aW5ncyxlPWQucnVsZXMsZj1hLnZhbGlkYXRvci5zdGF0aWNSdWxlcyhqKSxiKXtjYXNlImFkZCI6YS5leHRlbmQoZixhLnZhbGlkYXRvci5ub3JtYWxpemVSdWxlKGMpKSxkZWxldGUgZi5tZXNzYWdlcyxlW2oubmFtZV09ZixjLm1lc3NhZ2VzJiYoZC5tZXNzYWdlc1tqLm5hbWVdPWEuZXh0ZW5kKGQubWVzc2FnZXNbai5uYW1lXSxjLm1lc3NhZ2VzKSk7YnJlYWs7Y2FzZSJyZW1vdmUiOnJldHVybiBjPyhpPXt9LGEuZWFjaChjLnNwbGl0KC9ccy8pLGZ1bmN0aW9uKGIsYyl7aVtjXT1mW2NdLGRlbGV0ZSBmW2NdLCJyZXF1aXJlZCI9PT1jJiZhKGopLnJlbW92ZUF0dHIoImFyaWEtcmVxdWlyZWQiKX0pLGkpOihkZWxldGUgZVtqLm5hbWVdLGYpfXJldHVybiBnPWEudmFsaWRhdG9yLm5vcm1hbGl6ZVJ1bGVzKGEuZXh0ZW5kKHt9LGEudmFsaWRhdG9yLmNsYXNzUnVsZXMoaiksYS52YWxpZGF0b3IuYXR0cmlidXRlUnVsZXMoaiksYS52YWxpZGF0b3IuZGF0YVJ1bGVzKGopLGEudmFsaWRhdG9yLnN0YXRpY1J1bGVzKGopKSxqKSxnLnJlcXVpcmVkJiYoaD1nLnJlcXVpcmVkLGRlbGV0ZSBnLnJlcXVpcmVkLGc9YS5leHRlbmQoe3JlcXVpcmVkOmh9LGcpLGEoaikuYXR0cigiYXJpYS1yZXF1aXJlZCIsInRydWUiKSksZy5yZW1vdGUmJihoPWcucmVtb3RlLGRlbGV0ZSBnLnJlbW90ZSxnPWEuZXh0ZW5kKGcse3JlbW90ZTpofSkpLGd9fSksYS5leHRlbmQoYS5leHByWyI6Il0se2JsYW5rOmZ1bmN0aW9uKGIpe3JldHVybiFhLnRyaW0oIiIrYShiKS52YWwoKSl9LGZpbGxlZDpmdW5jdGlvbihiKXtyZXR1cm4hIWEudHJpbSgiIithKGIpLnZhbCgpKX0sdW5jaGVja2VkOmZ1bmN0aW9uKGIpe3JldHVybiFhKGIpLnByb3AoImNoZWNrZWQiKX19KSxhLnZhbGlkYXRvcj1mdW5jdGlvbihiLGMpe3RoaXMuc2V0dGluZ3M9YS5leHRlbmQoITAse30sYS52YWxpZGF0b3IuZGVmYXVsdHMsYiksdGhpcy5jdXJyZW50Rm9ybT1jLHRoaXMuaW5pdCgpfSxhLnZhbGlkYXRvci5mb3JtYXQ9ZnVuY3Rpb24oYixjKXtyZXR1cm4gMT09PWFyZ3VtZW50cy5sZW5ndGg/ZnVuY3Rpb24oKXt2YXIgYz1hLm1ha2VBcnJheShhcmd1bWVudHMpO3JldHVybiBjLnVuc2hpZnQoYiksYS52YWxpZGF0b3IuZm9ybWF0LmFwcGx5KHRoaXMsYyl9Oihhcmd1bWVudHMubGVuZ3RoPjImJmMuY29uc3RydWN0b3IhPT1BcnJheSYmKGM9YS5tYWtlQXJyYXkoYXJndW1lbnRzKS5zbGljZSgxKSksYy5jb25zdHJ1Y3RvciE9PUFycmF5JiYoYz1bY10pLGEuZWFjaChjLGZ1bmN0aW9uKGEsYyl7Yj1iLnJlcGxhY2UobmV3IFJlZ0V4cCgiXFx7IithKyJcXH0iLCJnIiksZnVuY3Rpb24oKXtyZXR1cm4gY30pfSksYil9LGEuZXh0ZW5kKGEudmFsaWRhdG9yLHtkZWZhdWx0czp7bWVzc2FnZXM6e30sZ3JvdXBzOnt9LHJ1bGVzOnt9LGVycm9yQ2xhc3M6ImVycm9yIix2YWxpZENsYXNzOiJ2YWxpZCIsZXJyb3JFbGVtZW50OiJsYWJlbCIsZm9jdXNDbGVhbnVwOiExLGZvY3VzSW52YWxpZDohMCxlcnJvckNvbnRhaW5lcjphKFtdKSxlcnJvckxhYmVsQ29udGFpbmVyOmEoW10pLG9uc3VibWl0OiEwLGlnbm9yZToiOmhpZGRlbiIsaWdub3JlVGl0bGU6ITEsb25mb2N1c2luOmZ1bmN0aW9uKGEpe3RoaXMubGFzdEFjdGl2ZT1hLHRoaXMuc2V0dGluZ3MuZm9jdXNDbGVhbnVwJiYodGhpcy5zZXR0aW5ncy51bmhpZ2hsaWdodCYmdGhpcy5zZXR0aW5ncy51bmhpZ2hsaWdodC5jYWxsKHRoaXMsYSx0aGlzLnNldHRpbmdzLmVycm9yQ2xhc3MsdGhpcy5zZXR0aW5ncy52YWxpZENsYXNzKSx0aGlzLmhpZGVUaGVzZSh0aGlzLmVycm9yc0ZvcihhKSkpfSxvbmZvY3Vzb3V0OmZ1bmN0aW9uKGEpe3RoaXMuY2hlY2thYmxlKGEpfHwhKGEubmFtZSBpbiB0aGlzLnN1Ym1pdHRlZCkmJnRoaXMub3B0aW9uYWwoYSl8fHRoaXMuZWxlbWVudChhKX0sb25rZXl1cDpmdW5jdGlvbihiLGMpe3ZhciBkPVsxNiwxNywxOCwyMCwzNSwzNiwzNywzOCwzOSw0MCw0NSwxNDQsMjI1XTs5PT09Yy53aGljaCYmIiI9PT10aGlzLmVsZW1lbnRWYWx1ZShiKXx8LTEhPT1hLmluQXJyYXkoYy5rZXlDb2RlLGQpfHwoYi5uYW1lIGluIHRoaXMuc3VibWl0dGVkfHxiPT09dGhpcy5sYXN0RWxlbWVudCkmJnRoaXMuZWxlbWVudChiKX0sb25jbGljazpmdW5jdGlvbihhKXthLm5hbWUgaW4gdGhpcy5zdWJtaXR0ZWQ/dGhpcy5lbGVtZW50KGEpOmEucGFyZW50Tm9kZS5uYW1lIGluIHRoaXMuc3VibWl0dGVkJiZ0aGlzLmVsZW1lbnQoYS5wYXJlbnROb2RlKX0saGlnaGxpZ2h0OmZ1bmN0aW9uKGIsYyxkKXsicmFkaW8iPT09Yi50eXBlP3RoaXMuZmluZEJ5TmFtZShiLm5hbWUpLmFkZENsYXNzKGMpLnJlbW92ZUNsYXNzKGQpOmEoYikuYWRkQ2xhc3MoYykucmVtb3ZlQ2xhc3MoZCl9LHVuaGlnaGxpZ2h0OmZ1bmN0aW9uKGIsYyxkKXsicmFkaW8iPT09Yi50eXBlP3RoaXMuZmluZEJ5TmFtZShiLm5hbWUpLnJlbW92ZUNsYXNzKGMpLmFkZENsYXNzKGQpOmEoYikucmVtb3ZlQ2xhc3MoYykuYWRkQ2xhc3MoZCl9fSxzZXREZWZhdWx0czpmdW5jdGlvbihiKXthLmV4dGVuZChhLnZhbGlkYXRvci5kZWZhdWx0cyxiKX0sbWVzc2FnZXM6e3JlcXVpcmVkOiJUaGlzIGZpZWxkIGlzIHJlcXVpcmVkLiIscmVtb3RlOiJQbGVhc2UgZml4IHRoaXMgZmllbGQuIixlbWFpbDoiUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcy4iLHVybDoiUGxlYXNlIGVudGVyIGEgdmFsaWQgVVJMLiIsZGF0ZToiUGxlYXNlIGVudGVyIGEgdmFsaWQgZGF0ZS4iLGRhdGVJU086IlBsZWFzZSBlbnRlciBhIHZhbGlkIGRhdGUgKCBJU08gKS4iLG51bWJlcjoiUGxlYXNlIGVudGVyIGEgdmFsaWQgbnVtYmVyLiIsZGlnaXRzOiJQbGVhc2UgZW50ZXIgb25seSBkaWdpdHMuIixjcmVkaXRjYXJkOiJQbGVhc2UgZW50ZXIgYSB2YWxpZCBjcmVkaXQgY2FyZCBudW1iZXIuIixlcXVhbFRvOiJQbGVhc2UgZW50ZXIgdGhlIHNhbWUgdmFsdWUgYWdhaW4uIixtYXhsZW5ndGg6YS52YWxpZGF0b3IuZm9ybWF0KCJQbGVhc2UgZW50ZXIgbm8gbW9yZSB0aGFuIHswfSBjaGFyYWN0ZXJzLiIpLG1pbmxlbmd0aDphLnZhbGlkYXRvci5mb3JtYXQoIlBsZWFzZSBlbnRlciBhdCBsZWFzdCB7MH0gY2hhcmFjdGVycy4iKSxyYW5nZWxlbmd0aDphLnZhbGlkYXRvci5mb3JtYXQoIlBsZWFzZSBlbnRlciBhIHZhbHVlIGJldHdlZW4gezB9IGFuZCB7MX0gY2hhcmFjdGVycyBsb25nLiIpLHJhbmdlOmEudmFsaWRhdG9yLmZvcm1hdCgiUGxlYXNlIGVudGVyIGEgdmFsdWUgYmV0d2VlbiB7MH0gYW5kIHsxfS4iKSxtYXg6YS52YWxpZGF0b3IuZm9ybWF0KCJQbGVhc2UgZW50ZXIgYSB2YWx1ZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gezB9LiIpLG1pbjphLnZhbGlkYXRvci5mb3JtYXQoIlBsZWFzZSBlbnRlciBhIHZhbHVlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB7MH0uIil9LGF1dG9DcmVhdGVSYW5nZXM6ITEscHJvdG90eXBlOntpbml0OmZ1bmN0aW9uKCl7ZnVuY3Rpb24gYihiKXt2YXIgYz1hLmRhdGEodGhpcy5mb3JtLCJ2YWxpZGF0b3IiKSxkPSJvbiIrYi50eXBlLnJlcGxhY2UoL152YWxpZGF0ZS8sIiIpLGU9Yy5zZXR0aW5ncztlW2RdJiYhYSh0aGlzKS5pcyhlLmlnbm9yZSkmJmVbZF0uY2FsbChjLHRoaXMsYil9dGhpcy5sYWJlbENvbnRhaW5lcj1hKHRoaXMuc2V0dGluZ3MuZXJyb3JMYWJlbENvbnRhaW5lciksdGhpcy5lcnJvckNvbnRleHQ9dGhpcy5sYWJlbENvbnRhaW5lci5sZW5ndGgmJnRoaXMubGFiZWxDb250YWluZXJ8fGEodGhpcy5jdXJyZW50Rm9ybSksdGhpcy5jb250YWluZXJzPWEodGhpcy5zZXR0aW5ncy5lcnJvckNvbnRhaW5lcikuYWRkKHRoaXMuc2V0dGluZ3MuZXJyb3JMYWJlbENvbnRhaW5lciksdGhpcy5zdWJtaXR0ZWQ9e30sdGhpcy52YWx1ZUNhY2hlPXt9LHRoaXMucGVuZGluZ1JlcXVlc3Q9MCx0aGlzLnBlbmRpbmc9e30sdGhpcy5pbnZhbGlkPXt9LHRoaXMucmVzZXQoKTt2YXIgYyxkPXRoaXMuZ3JvdXBzPXt9O2EuZWFjaCh0aGlzLnNldHRpbmdzLmdyb3VwcyxmdW5jdGlvbihiLGMpeyJzdHJpbmciPT10eXBlb2YgYyYmKGM9Yy5zcGxpdCgvXHMvKSksYS5lYWNoKGMsZnVuY3Rpb24oYSxjKXtkW2NdPWJ9KX0pLGM9dGhpcy5zZXR0aW5ncy5ydWxlcyxhLmVhY2goYyxmdW5jdGlvbihiLGQpe2NbYl09YS52YWxpZGF0b3Iubm9ybWFsaXplUnVsZShkKX0pLGEodGhpcy5jdXJyZW50Rm9ybSkub24oImZvY3VzaW4udmFsaWRhdGUgZm9jdXNvdXQudmFsaWRhdGUga2V5dXAudmFsaWRhdGUiLCI6dGV4dCwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdmaWxlJ10sIHNlbGVjdCwgdGV4dGFyZWEsIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdyYW5nZSddLCBbdHlwZT0nY29sb3InXSwgW3R5cGU9J3JhZGlvJ10sIFt0eXBlPSdjaGVja2JveCddIixiKS5vbigiY2xpY2sudmFsaWRhdGUiLCJzZWxlY3QsIG9wdGlvbiwgW3R5cGU9J3JhZGlvJ10sIFt0eXBlPSdjaGVja2JveCddIixiKSx0aGlzLnNldHRpbmdzLmludmFsaWRIYW5kbGVyJiZhKHRoaXMuY3VycmVudEZvcm0pLm9uKCJpbnZhbGlkLWZvcm0udmFsaWRhdGUiLHRoaXMuc2V0dGluZ3MuaW52YWxpZEhhbmRsZXIpLGEodGhpcy5jdXJyZW50Rm9ybSkuZmluZCgiW3JlcXVpcmVkXSwgW2RhdGEtcnVsZS1yZXF1aXJlZF0sIC5yZXF1aXJlZCIpLmF0dHIoImFyaWEtcmVxdWlyZWQiLCJ0cnVlIil9LGZvcm06ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGVja0Zvcm0oKSxhLmV4dGVuZCh0aGlzLnN1Ym1pdHRlZCx0aGlzLmVycm9yTWFwKSx0aGlzLmludmFsaWQ9YS5leHRlbmQoe30sdGhpcy5lcnJvck1hcCksdGhpcy52YWxpZCgpfHxhKHRoaXMuY3VycmVudEZvcm0pLnRyaWdnZXJIYW5kbGVyKCJpbnZhbGlkLWZvcm0iLFt0aGlzXSksdGhpcy5zaG93RXJyb3JzKCksdGhpcy52YWxpZCgpfSxjaGVja0Zvcm06ZnVuY3Rpb24oKXt0aGlzLnByZXBhcmVGb3JtKCk7Zm9yKHZhciBhPTAsYj10aGlzLmN1cnJlbnRFbGVtZW50cz10aGlzLmVsZW1lbnRzKCk7YlthXTthKyspdGhpcy5jaGVjayhiW2FdKTtyZXR1cm4gdGhpcy52YWxpZCgpfSxlbGVtZW50OmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMuY2xlYW4oYiksZD10aGlzLnZhbGlkYXRpb25UYXJnZXRGb3IoYyksZT0hMDtyZXR1cm4gdGhpcy5sYXN0RWxlbWVudD1kLHZvaWQgMD09PWQ/ZGVsZXRlIHRoaXMuaW52YWxpZFtjLm5hbWVdOih0aGlzLnByZXBhcmVFbGVtZW50KGQpLHRoaXMuY3VycmVudEVsZW1lbnRzPWEoZCksZT10aGlzLmNoZWNrKGQpIT09ITEsZT9kZWxldGUgdGhpcy5pbnZhbGlkW2QubmFtZV06dGhpcy5pbnZhbGlkW2QubmFtZV09ITApLGEoYikuYXR0cigiYXJpYS1pbnZhbGlkIiwhZSksdGhpcy5udW1iZXJPZkludmFsaWRzKCl8fCh0aGlzLnRvSGlkZT10aGlzLnRvSGlkZS5hZGQodGhpcy5jb250YWluZXJzKSksdGhpcy5zaG93RXJyb3JzKCksZX0sc2hvd0Vycm9yczpmdW5jdGlvbihiKXtpZihiKXthLmV4dGVuZCh0aGlzLmVycm9yTWFwLGIpLHRoaXMuZXJyb3JMaXN0PVtdO2Zvcih2YXIgYyBpbiBiKXRoaXMuZXJyb3JMaXN0LnB1c2goe21lc3NhZ2U6YltjXSxlbGVtZW50OnRoaXMuZmluZEJ5TmFtZShjKVswXX0pO3RoaXMuc3VjY2Vzc0xpc3Q9YS5ncmVwKHRoaXMuc3VjY2Vzc0xpc3QsZnVuY3Rpb24oYSl7cmV0dXJuIShhLm5hbWUgaW4gYil9KX10aGlzLnNldHRpbmdzLnNob3dFcnJvcnM/dGhpcy5zZXR0aW5ncy5zaG93RXJyb3JzLmNhbGwodGhpcyx0aGlzLmVycm9yTWFwLHRoaXMuZXJyb3JMaXN0KTp0aGlzLmRlZmF1bHRTaG93RXJyb3JzKCl9LHJlc2V0Rm9ybTpmdW5jdGlvbigpe2EuZm4ucmVzZXRGb3JtJiZhKHRoaXMuY3VycmVudEZvcm0pLnJlc2V0Rm9ybSgpLHRoaXMuc3VibWl0dGVkPXt9LHRoaXMubGFzdEVsZW1lbnQ9bnVsbCx0aGlzLnByZXBhcmVGb3JtKCksdGhpcy5oaWRlRXJyb3JzKCk7dmFyIGIsYz10aGlzLmVsZW1lbnRzKCkucmVtb3ZlRGF0YSgicHJldmlvdXNWYWx1ZSIpLnJlbW92ZUF0dHIoImFyaWEtaW52YWxpZCIpO2lmKHRoaXMuc2V0dGluZ3MudW5oaWdobGlnaHQpZm9yKGI9MDtjW2JdO2IrKyl0aGlzLnNldHRpbmdzLnVuaGlnaGxpZ2h0LmNhbGwodGhpcyxjW2JdLHRoaXMuc2V0dGluZ3MuZXJyb3JDbGFzcywiIik7ZWxzZSBjLnJlbW92ZUNsYXNzKHRoaXMuc2V0dGluZ3MuZXJyb3JDbGFzcyl9LG51bWJlck9mSW52YWxpZHM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5vYmplY3RMZW5ndGgodGhpcy5pbnZhbGlkKX0sb2JqZWN0TGVuZ3RoOmZ1bmN0aW9uKGEpe3ZhciBiLGM9MDtmb3IoYiBpbiBhKWMrKztyZXR1cm4gY30saGlkZUVycm9yczpmdW5jdGlvbigpe3RoaXMuaGlkZVRoZXNlKHRoaXMudG9IaWRlKX0saGlkZVRoZXNlOmZ1bmN0aW9uKGEpe2Eubm90KHRoaXMuY29udGFpbmVycykudGV4dCgiIiksdGhpcy5hZGRXcmFwcGVyKGEpLmhpZGUoKX0sdmFsaWQ6ZnVuY3Rpb24oKXtyZXR1cm4gMD09PXRoaXMuc2l6ZSgpfSxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXJyb3JMaXN0Lmxlbmd0aH0sZm9jdXNJbnZhbGlkOmZ1bmN0aW9uKCl7aWYodGhpcy5zZXR0aW5ncy5mb2N1c0ludmFsaWQpdHJ5e2EodGhpcy5maW5kTGFzdEFjdGl2ZSgpfHx0aGlzLmVycm9yTGlzdC5sZW5ndGgmJnRoaXMuZXJyb3JMaXN0WzBdLmVsZW1lbnR8fFtdKS5maWx0ZXIoIjp2aXNpYmxlIikuZm9jdXMoKS50cmlnZ2VyKCJmb2N1c2luIil9Y2F0Y2goYil7fX0sZmluZExhc3RBY3RpdmU6ZnVuY3Rpb24oKXt2YXIgYj10aGlzLmxhc3RBY3RpdmU7cmV0dXJuIGImJjE9PT1hLmdyZXAodGhpcy5lcnJvckxpc3QsZnVuY3Rpb24oYSl7cmV0dXJuIGEuZWxlbWVudC5uYW1lPT09Yi5uYW1lfSkubGVuZ3RoJiZifSxlbGVtZW50czpmdW5jdGlvbigpe3ZhciBiPXRoaXMsYz17fTtyZXR1cm4gYSh0aGlzLmN1cnJlbnRGb3JtKS5maW5kKCJpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSIpLm5vdCgiOnN1Ym1pdCwgOnJlc2V0LCA6aW1hZ2UsIDpkaXNhYmxlZCIpLm5vdCh0aGlzLnNldHRpbmdzLmlnbm9yZSkuZmlsdGVyKGZ1bmN0aW9uKCl7cmV0dXJuIXRoaXMubmFtZSYmYi5zZXR0aW5ncy5kZWJ1ZyYmd2luZG93LmNvbnNvbGUmJmNvbnNvbGUuZXJyb3IoIiVvIGhhcyBubyBuYW1lIGFzc2lnbmVkIix0aGlzKSx0aGlzLm5hbWUgaW4gY3x8IWIub2JqZWN0TGVuZ3RoKGEodGhpcykucnVsZXMoKSk/ITE6KGNbdGhpcy5uYW1lXT0hMCwhMCl9KX0sY2xlYW46ZnVuY3Rpb24oYil7cmV0dXJuIGEoYilbMF19LGVycm9yczpmdW5jdGlvbigpe3ZhciBiPXRoaXMuc2V0dGluZ3MuZXJyb3JDbGFzcy5zcGxpdCgiICIpLmpvaW4oIi4iKTtyZXR1cm4gYSh0aGlzLnNldHRpbmdzLmVycm9yRWxlbWVudCsiLiIrYix0aGlzLmVycm9yQ29udGV4dCl9LHJlc2V0OmZ1bmN0aW9uKCl7dGhpcy5zdWNjZXNzTGlzdD1bXSx0aGlzLmVycm9yTGlzdD1bXSx0aGlzLmVycm9yTWFwPXt9LHRoaXMudG9TaG93PWEoW10pLHRoaXMudG9IaWRlPWEoW10pLHRoaXMuY3VycmVudEVsZW1lbnRzPWEoW10pfSxwcmVwYXJlRm9ybTpmdW5jdGlvbigpe3RoaXMucmVzZXQoKSx0aGlzLnRvSGlkZT10aGlzLmVycm9ycygpLmFkZCh0aGlzLmNvbnRhaW5lcnMpfSxwcmVwYXJlRWxlbWVudDpmdW5jdGlvbihhKXt0aGlzLnJlc2V0KCksdGhpcy50b0hpZGU9dGhpcy5lcnJvcnNGb3IoYSl9LGVsZW1lbnRWYWx1ZTpmdW5jdGlvbihiKXt2YXIgYyxkPWEoYiksZT1iLnR5cGU7cmV0dXJuInJhZGlvIj09PWV8fCJjaGVja2JveCI9PT1lP3RoaXMuZmluZEJ5TmFtZShiLm5hbWUpLmZpbHRlcigiOmNoZWNrZWQiKS52YWwoKToibnVtYmVyIj09PWUmJiJ1bmRlZmluZWQiIT10eXBlb2YgYi52YWxpZGl0eT9iLnZhbGlkaXR5LmJhZElucHV0PyExOmQudmFsKCk6KGM9ZC52YWwoKSwic3RyaW5nIj09dHlwZW9mIGM/Yy5yZXBsYWNlKC9cci9nLCIiKTpjKX0sY2hlY2s6ZnVuY3Rpb24oYil7Yj10aGlzLnZhbGlkYXRpb25UYXJnZXRGb3IodGhpcy5jbGVhbihiKSk7dmFyIGMsZCxlLGY9YShiKS5ydWxlcygpLGc9YS5tYXAoZixmdW5jdGlvbihhLGIpe3JldHVybiBifSkubGVuZ3RoLGg9ITEsaT10aGlzLmVsZW1lbnRWYWx1ZShiKTtmb3IoZCBpbiBmKXtlPXttZXRob2Q6ZCxwYXJhbWV0ZXJzOmZbZF19O3RyeXtpZihjPWEudmFsaWRhdG9yLm1ldGhvZHNbZF0uY2FsbCh0aGlzLGksYixlLnBhcmFtZXRlcnMpLCJkZXBlbmRlbmN5LW1pc21hdGNoIj09PWMmJjE9PT1nKXtoPSEwO2NvbnRpbnVlfWlmKGg9ITEsInBlbmRpbmciPT09YylyZXR1cm4gdm9pZCh0aGlzLnRvSGlkZT10aGlzLnRvSGlkZS5ub3QodGhpcy5lcnJvcnNGb3IoYikpKTtpZighYylyZXR1cm4gdGhpcy5mb3JtYXRBbmRBZGQoYixlKSwhMX1jYXRjaChqKXt0aHJvdyB0aGlzLnNldHRpbmdzLmRlYnVnJiZ3aW5kb3cuY29uc29sZSYmY29uc29sZS5sb2coIkV4Y2VwdGlvbiBvY2N1cnJlZCB3aGVuIGNoZWNraW5nIGVsZW1lbnQgIitiLmlkKyIsIGNoZWNrIHRoZSAnIitlLm1ldGhvZCsiJyBtZXRob2QuIixqKSxqIGluc3RhbmNlb2YgVHlwZUVycm9yJiYoai5tZXNzYWdlKz0iLiAgRXhjZXB0aW9uIG9jY3VycmVkIHdoZW4gY2hlY2tpbmcgZWxlbWVudCAiK2IuaWQrIiwgY2hlY2sgdGhlICciK2UubWV0aG9kKyInIG1ldGhvZC4iKSxqfX1pZighaClyZXR1cm4gdGhpcy5vYmplY3RMZW5ndGgoZikmJnRoaXMuc3VjY2Vzc0xpc3QucHVzaChiKSwhMH0sY3VzdG9tRGF0YU1lc3NhZ2U6ZnVuY3Rpb24oYixjKXtyZXR1cm4gYShiKS5kYXRhKCJtc2ciK2MuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrYy5zdWJzdHJpbmcoMSkudG9Mb3dlckNhc2UoKSl8fGEoYikuZGF0YSgibXNnIil9LGN1c3RvbU1lc3NhZ2U6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnNldHRpbmdzLm1lc3NhZ2VzW2FdO3JldHVybiBjJiYoYy5jb25zdHJ1Y3Rvcj09PVN0cmluZz9jOmNbYl0pfSxmaW5kRGVmaW5lZDpmdW5jdGlvbigpe2Zvcih2YXIgYT0wO2E8YXJndW1lbnRzLmxlbmd0aDthKyspaWYodm9pZCAwIT09YXJndW1lbnRzW2FdKXJldHVybiBhcmd1bWVudHNbYV07cmV0dXJuIHZvaWQgMH0sZGVmYXVsdE1lc3NhZ2U6ZnVuY3Rpb24oYixjKXtyZXR1cm4gdGhpcy5maW5kRGVmaW5lZCh0aGlzLmN1c3RvbU1lc3NhZ2UoYi5uYW1lLGMpLHRoaXMuY3VzdG9tRGF0YU1lc3NhZ2UoYixjKSwhdGhpcy5zZXR0aW5ncy5pZ25vcmVUaXRsZSYmYi50aXRsZXx8dm9pZCAwLGEudmFsaWRhdG9yLm1lc3NhZ2VzW2NdLCI8c3Ryb25nPldhcm5pbmc6IE5vIG1lc3NhZ2UgZGVmaW5lZCBmb3IgIitiLm5hbWUrIjwvc3Ryb25nPiIpfSxmb3JtYXRBbmRBZGQ6ZnVuY3Rpb24oYixjKXt2YXIgZD10aGlzLmRlZmF1bHRNZXNzYWdlKGIsYy5tZXRob2QpLGU9L1wkP1x7KFxkKylcfS9nOyJmdW5jdGlvbiI9PXR5cGVvZiBkP2Q9ZC5jYWxsKHRoaXMsYy5wYXJhbWV0ZXJzLGIpOmUudGVzdChkKSYmKGQ9YS52YWxpZGF0b3IuZm9ybWF0KGQucmVwbGFjZShlLCJ7JDF9IiksYy5wYXJhbWV0ZXJzKSksdGhpcy5lcnJvckxpc3QucHVzaCh7bWVzc2FnZTpkLGVsZW1lbnQ6YixtZXRob2Q6Yy5tZXRob2R9KSx0aGlzLmVycm9yTWFwW2IubmFtZV09ZCx0aGlzLnN1Ym1pdHRlZFtiLm5hbWVdPWR9LGFkZFdyYXBwZXI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc2V0dGluZ3Mud3JhcHBlciYmKGE9YS5hZGQoYS5wYXJlbnQodGhpcy5zZXR0aW5ncy53cmFwcGVyKSkpLGF9LGRlZmF1bHRTaG93RXJyb3JzOmZ1bmN0aW9uKCl7dmFyIGEsYixjO2ZvcihhPTA7dGhpcy5lcnJvckxpc3RbYV07YSsrKWM9dGhpcy5lcnJvckxpc3RbYV0sdGhpcy5zZXR0aW5ncy5oaWdobGlnaHQmJnRoaXMuc2V0dGluZ3MuaGlnaGxpZ2h0LmNhbGwodGhpcyxjLmVsZW1lbnQsdGhpcy5zZXR0aW5ncy5lcnJvckNsYXNzLHRoaXMuc2V0dGluZ3MudmFsaWRDbGFzcyksdGhpcy5zaG93TGFiZWwoYy5lbGVtZW50LGMubWVzc2FnZSk7aWYodGhpcy5lcnJvckxpc3QubGVuZ3RoJiYodGhpcy50b1Nob3c9dGhpcy50b1Nob3cuYWRkKHRoaXMuY29udGFpbmVycykpLHRoaXMuc2V0dGluZ3Muc3VjY2Vzcylmb3IoYT0wO3RoaXMuc3VjY2Vzc0xpc3RbYV07YSsrKXRoaXMuc2hvd0xhYmVsKHRoaXMuc3VjY2Vzc0xpc3RbYV0pO2lmKHRoaXMuc2V0dGluZ3MudW5oaWdobGlnaHQpZm9yKGE9MCxiPXRoaXMudmFsaWRFbGVtZW50cygpO2JbYV07YSsrKXRoaXMuc2V0dGluZ3MudW5oaWdobGlnaHQuY2FsbCh0aGlzLGJbYV0sdGhpcy5zZXR0aW5ncy5lcnJvckNsYXNzLHRoaXMuc2V0dGluZ3MudmFsaWRDbGFzcyk7dGhpcy50b0hpZGU9dGhpcy50b0hpZGUubm90KHRoaXMudG9TaG93KSx0aGlzLmhpZGVFcnJvcnMoKSx0aGlzLmFkZFdyYXBwZXIodGhpcy50b1Nob3cpLnNob3coKX0sdmFsaWRFbGVtZW50czpmdW5jdGlvbigpe3JldHVybiB0aGlzLmN1cnJlbnRFbGVtZW50cy5ub3QodGhpcy5pbnZhbGlkRWxlbWVudHMoKSl9LGludmFsaWRFbGVtZW50czpmdW5jdGlvbigpe3JldHVybiBhKHRoaXMuZXJyb3JMaXN0KS5tYXAoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lbGVtZW50fSl9LHNob3dMYWJlbDpmdW5jdGlvbihiLGMpe3ZhciBkLGUsZixnPXRoaXMuZXJyb3JzRm9yKGIpLGg9dGhpcy5pZE9yTmFtZShiKSxpPWEoYikuYXR0cigiYXJpYS1kZXNjcmliZWRieSIpO2cubGVuZ3RoPyhnLnJlbW92ZUNsYXNzKHRoaXMuc2V0dGluZ3MudmFsaWRDbGFzcykuYWRkQ2xhc3ModGhpcy5zZXR0aW5ncy5lcnJvckNsYXNzKSxnLmh0bWwoYykpOihnPWEoIjwiK3RoaXMuc2V0dGluZ3MuZXJyb3JFbGVtZW50KyI+IikuYXR0cigiaWQiLGgrIi1lcnJvciIpLmFkZENsYXNzKHRoaXMuc2V0dGluZ3MuZXJyb3JDbGFzcykuaHRtbChjfHwiIiksZD1nLHRoaXMuc2V0dGluZ3Mud3JhcHBlciYmKGQ9Zy5oaWRlKCkuc2hvdygpLndyYXAoIjwiK3RoaXMuc2V0dGluZ3Mud3JhcHBlcisiLz4iKS5wYXJlbnQoKSksdGhpcy5sYWJlbENvbnRhaW5lci5sZW5ndGg/dGhpcy5sYWJlbENvbnRhaW5lci5hcHBlbmQoZCk6dGhpcy5zZXR0aW5ncy5lcnJvclBsYWNlbWVudD90aGlzLnNldHRpbmdzLmVycm9yUGxhY2VtZW50KGQsYShiKSk6ZC5pbnNlcnRBZnRlcihiKSxnLmlzKCJsYWJlbCIpP2cuYXR0cigiZm9yIixoKTowPT09Zy5wYXJlbnRzKCJsYWJlbFtmb3I9JyIraCsiJ10iKS5sZW5ndGgmJihmPWcuYXR0cigiaWQiKS5yZXBsYWNlKC8oOnxcLnxcW3xcXXxcJCkvZywiXFwkMSIpLGk/aS5tYXRjaChuZXcgUmVnRXhwKCJcXGIiK2YrIlxcYiIpKXx8KGkrPSIgIitmKTppPWYsYShiKS5hdHRyKCJhcmlhLWRlc2NyaWJlZGJ5IixpKSxlPXRoaXMuZ3JvdXBzW2IubmFtZV0sZSYmYS5lYWNoKHRoaXMuZ3JvdXBzLGZ1bmN0aW9uKGIsYyl7Yz09PWUmJmEoIltuYW1lPSciK2IrIiddIix0aGlzLmN1cnJlbnRGb3JtKS5hdHRyKCJhcmlhLWRlc2NyaWJlZGJ5IixnLmF0dHIoImlkIikpfSkpKSwhYyYmdGhpcy5zZXR0aW5ncy5zdWNjZXNzJiYoZy50ZXh0KCIiKSwic3RyaW5nIj09dHlwZW9mIHRoaXMuc2V0dGluZ3Muc3VjY2Vzcz9nLmFkZENsYXNzKHRoaXMuc2V0dGluZ3Muc3VjY2Vzcyk6dGhpcy5zZXR0aW5ncy5zdWNjZXNzKGcsYikpLHRoaXMudG9TaG93PXRoaXMudG9TaG93LmFkZChnKX0sZXJyb3JzRm9yOmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMuaWRPck5hbWUoYiksZD1hKGIpLmF0dHIoImFyaWEtZGVzY3JpYmVkYnkiKSxlPSJsYWJlbFtmb3I9JyIrYysiJ10sIGxhYmVsW2Zvcj0nIitjKyInXSAqIjtyZXR1cm4gZCYmKGU9ZSsiLCAjIitkLnJlcGxhY2UoL1xzKy9nLCIsICMiKSksdGhpcy5lcnJvcnMoKS5maWx0ZXIoZSl9LGlkT3JOYW1lOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmdyb3Vwc1thLm5hbWVdfHwodGhpcy5jaGVja2FibGUoYSk/YS5uYW1lOmEuaWR8fGEubmFtZSl9LHZhbGlkYXRpb25UYXJnZXRGb3I6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuY2hlY2thYmxlKGIpJiYoYj10aGlzLmZpbmRCeU5hbWUoYi5uYW1lKSksYShiKS5ub3QodGhpcy5zZXR0aW5ncy5pZ25vcmUpWzBdfSxjaGVja2FibGU6ZnVuY3Rpb24oYSl7cmV0dXJuL3JhZGlvfGNoZWNrYm94L2kudGVzdChhLnR5cGUpfSxmaW5kQnlOYW1lOmZ1bmN0aW9uKGIpe3JldHVybiBhKHRoaXMuY3VycmVudEZvcm0pLmZpbmQoIltuYW1lPSciK2IrIiddIil9LGdldExlbmd0aDpmdW5jdGlvbihiLGMpe3N3aXRjaChjLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpe2Nhc2Uic2VsZWN0IjpyZXR1cm4gYSgib3B0aW9uOnNlbGVjdGVkIixjKS5sZW5ndGg7Y2FzZSJpbnB1dCI6aWYodGhpcy5jaGVja2FibGUoYykpcmV0dXJuIHRoaXMuZmluZEJ5TmFtZShjLm5hbWUpLmZpbHRlcigiOmNoZWNrZWQiKS5sZW5ndGh9cmV0dXJuIGIubGVuZ3RofSxkZXBlbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5kZXBlbmRUeXBlc1t0eXBlb2YgYV0/dGhpcy5kZXBlbmRUeXBlc1t0eXBlb2YgYV0oYSxiKTohMH0sZGVwZW5kVHlwZXM6eyJib29sZWFuIjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3RyaW5nOmZ1bmN0aW9uKGIsYyl7cmV0dXJuISFhKGIsYy5mb3JtKS5sZW5ndGh9LCJmdW5jdGlvbiI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYShiKX19LG9wdGlvbmFsOmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMuZWxlbWVudFZhbHVlKGIpO3JldHVybiFhLnZhbGlkYXRvci5tZXRob2RzLnJlcXVpcmVkLmNhbGwodGhpcyxjLGIpJiYiZGVwZW5kZW5jeS1taXNtYXRjaCJ9LHN0YXJ0UmVxdWVzdDpmdW5jdGlvbihhKXt0aGlzLnBlbmRpbmdbYS5uYW1lXXx8KHRoaXMucGVuZGluZ1JlcXVlc3QrKyx0aGlzLnBlbmRpbmdbYS5uYW1lXT0hMCl9LHN0b3BSZXF1ZXN0OmZ1bmN0aW9uKGIsYyl7dGhpcy5wZW5kaW5nUmVxdWVzdC0tLHRoaXMucGVuZGluZ1JlcXVlc3Q8MCYmKHRoaXMucGVuZGluZ1JlcXVlc3Q9MCksZGVsZXRlIHRoaXMucGVuZGluZ1tiLm5hbWVdLGMmJjA9PT10aGlzLnBlbmRpbmdSZXF1ZXN0JiZ0aGlzLmZvcm1TdWJtaXR0ZWQmJnRoaXMuZm9ybSgpPyhhKHRoaXMuY3VycmVudEZvcm0pLnN1Ym1pdCgpLHRoaXMuZm9ybVN1Ym1pdHRlZD0hMSk6IWMmJjA9PT10aGlzLnBlbmRpbmdSZXF1ZXN0JiZ0aGlzLmZvcm1TdWJtaXR0ZWQmJihhKHRoaXMuY3VycmVudEZvcm0pLnRyaWdnZXJIYW5kbGVyKCJpbnZhbGlkLWZvcm0iLFt0aGlzXSksdGhpcy5mb3JtU3VibWl0dGVkPSExKX0scHJldmlvdXNWYWx1ZTpmdW5jdGlvbihiKXtyZXR1cm4gYS5kYXRhKGIsInByZXZpb3VzVmFsdWUiKXx8YS5kYXRhKGIsInByZXZpb3VzVmFsdWUiLHtvbGQ6bnVsbCx2YWxpZDohMCxtZXNzYWdlOnRoaXMuZGVmYXVsdE1lc3NhZ2UoYiwicmVtb3RlIil9KX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMucmVzZXRGb3JtKCksYSh0aGlzLmN1cnJlbnRGb3JtKS5vZmYoIi52YWxpZGF0ZSIpLnJlbW92ZURhdGEoInZhbGlkYXRvciIpfX0sY2xhc3NSdWxlU2V0dGluZ3M6e3JlcXVpcmVkOntyZXF1aXJlZDohMH0sZW1haWw6e2VtYWlsOiEwfSx1cmw6e3VybDohMH0sZGF0ZTp7ZGF0ZTohMH0sZGF0ZUlTTzp7ZGF0ZUlTTzohMH0sbnVtYmVyOntudW1iZXI6ITB9LGRpZ2l0czp7ZGlnaXRzOiEwfSxjcmVkaXRjYXJkOntjcmVkaXRjYXJkOiEwfX0sYWRkQ2xhc3NSdWxlczpmdW5jdGlvbihiLGMpe2IuY29uc3RydWN0b3I9PT1TdHJpbmc/dGhpcy5jbGFzc1J1bGVTZXR0aW5nc1tiXT1jOmEuZXh0ZW5kKHRoaXMuY2xhc3NSdWxlU2V0dGluZ3MsYil9LGNsYXNzUnVsZXM6ZnVuY3Rpb24oYil7dmFyIGM9e30sZD1hKGIpLmF0dHIoImNsYXNzIik7cmV0dXJuIGQmJmEuZWFjaChkLnNwbGl0KCIgIiksZnVuY3Rpb24oKXt0aGlzIGluIGEudmFsaWRhdG9yLmNsYXNzUnVsZVNldHRpbmdzJiZhLmV4dGVuZChjLGEudmFsaWRhdG9yLmNsYXNzUnVsZVNldHRpbmdzW3RoaXNdKX0pLGN9LG5vcm1hbGl6ZUF0dHJpYnV0ZVJ1bGU6ZnVuY3Rpb24oYSxiLGMsZCl7L21pbnxtYXgvLnRlc3QoYykmJihudWxsPT09Ynx8L251bWJlcnxyYW5nZXx0ZXh0Ly50ZXN0KGIpKSYmKGQ9TnVtYmVyKGQpLGlzTmFOKGQpJiYoZD12b2lkIDApKSxkfHwwPT09ZD9hW2NdPWQ6Yj09PWMmJiJyYW5nZSIhPT1iJiYoYVtjXT0hMCl9LGF0dHJpYnV0ZVJ1bGVzOmZ1bmN0aW9uKGIpe3ZhciBjLGQsZT17fSxmPWEoYiksZz1iLmdldEF0dHJpYnV0ZSgidHlwZSIpO2ZvcihjIGluIGEudmFsaWRhdG9yLm1ldGhvZHMpInJlcXVpcmVkIj09PWM/KGQ9Yi5nZXRBdHRyaWJ1dGUoYyksIiI9PT1kJiYoZD0hMCksZD0hIWQpOmQ9Zi5hdHRyKGMpLHRoaXMubm9ybWFsaXplQXR0cmlidXRlUnVsZShlLGcsYyxkKTtyZXR1cm4gZS5tYXhsZW5ndGgmJi8tMXwyMTQ3NDgzNjQ3fDUyNDI4OC8udGVzdChlLm1heGxlbmd0aCkmJmRlbGV0ZSBlLm1heGxlbmd0aCxlfSxkYXRhUnVsZXM6ZnVuY3Rpb24oYil7dmFyIGMsZCxlPXt9LGY9YShiKSxnPWIuZ2V0QXR0cmlidXRlKCJ0eXBlIik7Zm9yKGMgaW4gYS52YWxpZGF0b3IubWV0aG9kcylkPWYuZGF0YSgicnVsZSIrYy5jaGFyQXQoMCkudG9VcHBlckNhc2UoKStjLnN1YnN0cmluZygxKS50b0xvd2VyQ2FzZSgpKSx0aGlzLm5vcm1hbGl6ZUF0dHJpYnV0ZVJ1bGUoZSxnLGMsZCk7cmV0dXJuIGV9LHN0YXRpY1J1bGVzOmZ1bmN0aW9uKGIpe3ZhciBjPXt9LGQ9YS5kYXRhKGIuZm9ybSwidmFsaWRhdG9yIik7cmV0dXJuIGQuc2V0dGluZ3MucnVsZXMmJihjPWEudmFsaWRhdG9yLm5vcm1hbGl6ZVJ1bGUoZC5zZXR0aW5ncy5ydWxlc1tiLm5hbWVdKXx8e30pLGN9LG5vcm1hbGl6ZVJ1bGVzOmZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuZWFjaChiLGZ1bmN0aW9uKGQsZSl7aWYoZT09PSExKXJldHVybiB2b2lkIGRlbGV0ZSBiW2RdO2lmKGUucGFyYW18fGUuZGVwZW5kcyl7dmFyIGY9ITA7c3dpdGNoKHR5cGVvZiBlLmRlcGVuZHMpe2Nhc2Uic3RyaW5nIjpmPSEhYShlLmRlcGVuZHMsYy5mb3JtKS5sZW5ndGg7YnJlYWs7Y2FzZSJmdW5jdGlvbiI6Zj1lLmRlcGVuZHMuY2FsbChjLGMpfWY/YltkXT12b2lkIDAhPT1lLnBhcmFtP2UucGFyYW06ITA6ZGVsZXRlIGJbZF19fSksYS5lYWNoKGIsZnVuY3Rpb24oZCxlKXtiW2RdPWEuaXNGdW5jdGlvbihlKT9lKGMpOmV9KSxhLmVhY2goWyJtaW5sZW5ndGgiLCJtYXhsZW5ndGgiXSxmdW5jdGlvbigpe2JbdGhpc10mJihiW3RoaXNdPU51bWJlcihiW3RoaXNdKSl9KSxhLmVhY2goWyJyYW5nZWxlbmd0aCIsInJhbmdlIl0sZnVuY3Rpb24oKXt2YXIgYztiW3RoaXNdJiYoYS5pc0FycmF5KGJbdGhpc10pP2JbdGhpc109W051bWJlcihiW3RoaXNdWzBdKSxOdW1iZXIoYlt0aGlzXVsxXSldOiJzdHJpbmciPT10eXBlb2YgYlt0aGlzXSYmKGM9Ylt0aGlzXS5yZXBsYWNlKC9bXFtcXV0vZywiIikuc3BsaXQoL1tccyxdKy8pLGJbdGhpc109W051bWJlcihjWzBdKSxOdW1iZXIoY1sxXSldKSl9KSxhLnZhbGlkYXRvci5hdXRvQ3JlYXRlUmFuZ2VzJiYobnVsbCE9Yi5taW4mJm51bGwhPWIubWF4JiYoYi5yYW5nZT1bYi5taW4sYi5tYXhdLGRlbGV0ZSBiLm1pbixkZWxldGUgYi5tYXgpLG51bGwhPWIubWlubGVuZ3RoJiZudWxsIT1iLm1heGxlbmd0aCYmKGIucmFuZ2VsZW5ndGg9W2IubWlubGVuZ3RoLGIubWF4bGVuZ3RoXSxkZWxldGUgYi5taW5sZW5ndGgsZGVsZXRlIGIubWF4bGVuZ3RoKSksYn0sbm9ybWFsaXplUnVsZTpmdW5jdGlvbihiKXtpZigic3RyaW5nIj09dHlwZW9mIGIpe3ZhciBjPXt9O2EuZWFjaChiLnNwbGl0KC9ccy8pLGZ1bmN0aW9uKCl7Y1t0aGlzXT0hMH0pLGI9Y31yZXR1cm4gYn0sYWRkTWV0aG9kOmZ1bmN0aW9uKGIsYyxkKXthLnZhbGlkYXRvci5tZXRob2RzW2JdPWMsYS52YWxpZGF0b3IubWVzc2FnZXNbYl09dm9pZCAwIT09ZD9kOmEudmFsaWRhdG9yLm1lc3NhZ2VzW2JdLGMubGVuZ3RoPDMmJmEudmFsaWRhdG9yLmFkZENsYXNzUnVsZXMoYixhLnZhbGlkYXRvci5ub3JtYWxpemVSdWxlKGIpKX0sbWV0aG9kczp7cmVxdWlyZWQ6ZnVuY3Rpb24oYixjLGQpe2lmKCF0aGlzLmRlcGVuZChkLGMpKXJldHVybiJkZXBlbmRlbmN5LW1pc21hdGNoIjtpZigic2VsZWN0Ij09PWMubm9kZU5hbWUudG9Mb3dlckNhc2UoKSl7dmFyIGU9YShjKS52YWwoKTtyZXR1cm4gZSYmZS5sZW5ndGg+MH1yZXR1cm4gdGhpcy5jaGVja2FibGUoYyk/dGhpcy5nZXRMZW5ndGgoYixjKT4wOmIubGVuZ3RoPjB9LGVtYWlsOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub3B0aW9uYWwoYil8fC9eW2EtekEtWjAtOS4hIyQlJicqK1wvPT9eX2B7fH1+LV0rQFthLXpBLVowLTldKD86W2EtekEtWjAtOS1dezAsNjF9W2EtekEtWjAtOV0pPyg/OlwuW2EtekEtWjAtOV0oPzpbYS16QS1aMC05LV17MCw2MX1bYS16QS1aMC05XSk/KSokLy50ZXN0KGEpfSx1cmw6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vcHRpb25hbChiKXx8L14oPzooPzooPzpodHRwcz98ZnRwKTopP1wvXC8pKD86XFMrKD86OlxTKik/QCk/KD86KD8hKD86MTB8MTI3KSg/OlwuXGR7MSwzfSl7M30pKD8hKD86MTY5XC4yNTR8MTkyXC4xNjgpKD86XC5cZHsxLDN9KXsyfSkoPyExNzJcLig/OjFbNi05XXwyXGR8M1swLTFdKSg/OlwuXGR7MSwzfSl7Mn0pKD86WzEtOV1cZD98MVxkXGR8MlswMV1cZHwyMlswLTNdKSg/OlwuKD86MT9cZHsxLDJ9fDJbMC00XVxkfDI1WzAtNV0pKXsyfSg/OlwuKD86WzEtOV1cZD98MVxkXGR8MlswLTRdXGR8MjVbMC00XSkpfCg/Oig/OlthLXpcdTAwYTEtXHVmZmZmMC05XS0qKSpbYS16XHUwMGExLVx1ZmZmZjAtOV0rKSg/OlwuKD86W2Etelx1MDBhMS1cdWZmZmYwLTldLSopKlthLXpcdTAwYTEtXHVmZmZmMC05XSspKig/OlwuKD86W2Etelx1MDBhMS1cdWZmZmZdezIsfSkpLj8pKD86OlxkezIsNX0pPyg/OlsvPyNdXFMqKT8kL2kudGVzdChhKX0sZGF0ZTpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9wdGlvbmFsKGIpfHwhL0ludmFsaWR8TmFOLy50ZXN0KG5ldyBEYXRlKGEpLnRvU3RyaW5nKCkpfSxkYXRlSVNPOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub3B0aW9uYWwoYil8fC9eXGR7NH1bXC9cLV0oMD9bMS05XXwxWzAxMl0pW1wvXC1dKDA/WzEtOV18WzEyXVswLTldfDNbMDFdKSQvLnRlc3QoYSl9LG51bWJlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm9wdGlvbmFsKGIpfHwvXig/Oi0/XGQrfC0/XGR7MSwzfSg/OixcZHszfSkrKT8oPzpcLlxkKyk/JC8udGVzdChhKX0sZGlnaXRzOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMub3B0aW9uYWwoYil8fC9eXGQrJC8udGVzdChhKX0sY3JlZGl0Y2FyZDpmdW5jdGlvbihhLGIpe2lmKHRoaXMub3B0aW9uYWwoYikpcmV0dXJuImRlcGVuZGVuY3ktbWlzbWF0Y2giO2lmKC9bXjAtOSBcLV0rLy50ZXN0KGEpKXJldHVybiExO3ZhciBjLGQsZT0wLGY9MCxnPSExO2lmKGE9YS5yZXBsYWNlKC9cRC9nLCIiKSxhLmxlbmd0aDwxM3x8YS5sZW5ndGg+MTkpcmV0dXJuITE7Zm9yKGM9YS5sZW5ndGgtMTtjPj0wO2MtLSlkPWEuY2hhckF0KGMpLGY9cGFyc2VJbnQoZCwxMCksZyYmKGYqPTIpPjkmJihmLT05KSxlKz1mLGc9IWc7cmV0dXJuIGUlMTA9PT0wfSxtaW5sZW5ndGg6ZnVuY3Rpb24oYixjLGQpe3ZhciBlPWEuaXNBcnJheShiKT9iLmxlbmd0aDp0aGlzLmdldExlbmd0aChiLGMpO3JldHVybiB0aGlzLm9wdGlvbmFsKGMpfHxlPj1kfSxtYXhsZW5ndGg6ZnVuY3Rpb24oYixjLGQpe3ZhciBlPWEuaXNBcnJheShiKT9iLmxlbmd0aDp0aGlzLmdldExlbmd0aChiLGMpO3JldHVybiB0aGlzLm9wdGlvbmFsKGMpfHxkPj1lfSxyYW5nZWxlbmd0aDpmdW5jdGlvbihiLGMsZCl7dmFyIGU9YS5pc0FycmF5KGIpP2IubGVuZ3RoOnRoaXMuZ2V0TGVuZ3RoKGIsYyk7cmV0dXJuIHRoaXMub3B0aW9uYWwoYyl8fGU+PWRbMF0mJmU8PWRbMV19LG1pbjpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub3B0aW9uYWwoYil8fGE+PWN9LG1heDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMub3B0aW9uYWwoYil8fGM+PWF9LHJhbmdlOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5vcHRpb25hbChiKXx8YT49Y1swXSYmYTw9Y1sxXX0sZXF1YWxUbzpmdW5jdGlvbihiLGMsZCl7dmFyIGU9YShkKTtyZXR1cm4gdGhpcy5zZXR0aW5ncy5vbmZvY3Vzb3V0JiZlLm9mZigiLnZhbGlkYXRlLWVxdWFsVG8iKS5vbigiYmx1ci52YWxpZGF0ZS1lcXVhbFRvIixmdW5jdGlvbigpe2EoYykudmFsaWQoKX0pLGI9PT1lLnZhbCgpfSxyZW1vdGU6ZnVuY3Rpb24oYixjLGQpe2lmKHRoaXMub3B0aW9uYWwoYykpcmV0dXJuImRlcGVuZGVuY3ktbWlzbWF0Y2giO3ZhciBlLGYsZz10aGlzLnByZXZpb3VzVmFsdWUoYyk7cmV0dXJuIHRoaXMuc2V0dGluZ3MubWVzc2FnZXNbYy5uYW1lXXx8KHRoaXMuc2V0dGluZ3MubWVzc2FnZXNbYy5uYW1lXT17fSksZy5vcmlnaW5hbE1lc3NhZ2U9dGhpcy5zZXR0aW5ncy5tZXNzYWdlc1tjLm5hbWVdLnJlbW90ZSx0aGlzLnNldHRpbmdzLm1lc3NhZ2VzW2MubmFtZV0ucmVtb3RlPWcubWVzc2FnZSxkPSJzdHJpbmciPT10eXBlb2YgZCYme3VybDpkfXx8ZCxnLm9sZD09PWI/Zy52YWxpZDooZy5vbGQ9YixlPXRoaXMsdGhpcy5zdGFydFJlcXVlc3QoYyksZj17fSxmW2MubmFtZV09YixhLmFqYXgoYS5leHRlbmQoITAse21vZGU6ImFib3J0Iixwb3J0OiJ2YWxpZGF0ZSIrYy5uYW1lLGRhdGFUeXBlOiJqc29uIixkYXRhOmYsY29udGV4dDplLmN1cnJlbnRGb3JtLHN1Y2Nlc3M6ZnVuY3Rpb24oZCl7dmFyIGYsaCxpLGo9ZD09PSEwfHwidHJ1ZSI9PT1kO2Uuc2V0dGluZ3MubWVzc2FnZXNbYy5uYW1lXS5yZW1vdGU9Zy5vcmlnaW5hbE1lc3NhZ2Usaj8oaT1lLmZvcm1TdWJtaXR0ZWQsZS5wcmVwYXJlRWxlbWVudChjKSxlLmZvcm1TdWJtaXR0ZWQ9aSxlLnN1Y2Nlc3NMaXN0LnB1c2goYyksZGVsZXRlIGUuaW52YWxpZFtjLm5hbWVdLGUuc2hvd0Vycm9ycygpKTooZj17fSxoPWR8fGUuZGVmYXVsdE1lc3NhZ2UoYywicmVtb3RlIiksZltjLm5hbWVdPWcubWVzc2FnZT1hLmlzRnVuY3Rpb24oaCk/aChiKTpoLGUuaW52YWxpZFtjLm5hbWVdPSEwLGUuc2hvd0Vycm9ycyhmKSksZy52YWxpZD1qLGUuc3RvcFJlcXVlc3QoYyxqKX19LGQpKSwicGVuZGluZyIpfX19KTt2YXIgYixjPXt9O2EuYWpheFByZWZpbHRlcj9hLmFqYXhQcmVmaWx0ZXIoZnVuY3Rpb24oYSxiLGQpe3ZhciBlPWEucG9ydDsiYWJvcnQiPT09YS5tb2RlJiYoY1tlXSYmY1tlXS5hYm9ydCgpLGNbZV09ZCl9KTooYj1hLmFqYXgsYS5hamF4PWZ1bmN0aW9uKGQpe3ZhciBlPSgibW9kZSJpbiBkP2Q6YS5hamF4U2V0dGluZ3MpLm1vZGUsZj0oInBvcnQiaW4gZD9kOmEuYWpheFNldHRpbmdzKS5wb3J0O3JldHVybiJhYm9ydCI9PT1lPyhjW2ZdJiZjW2ZdLmFib3J0KCksY1tmXT1iLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxjW2ZdKTpiLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSk7DQoNCg0KLyoNCiAqICBqUXVlcnkgRm9ybQ0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKiENCiAqIGpRdWVyeSBGb3JtIFBsdWdpbg0KICogdmVyc2lvbjogMy41MS4wLTIwMTQuMDYuMjANCiAqIFJlcXVpcmVzIGpRdWVyeSB2MS41IG9yIGxhdGVyDQogKiBDb3B5cmlnaHQgKGMpIDIwMTQgTS4gQWxzdXANCiAqIEV4YW1wbGVzIGFuZCBkb2N1bWVudGF0aW9uIGF0OiBodHRwOi8vbWFsc3VwLmNvbS9qcXVlcnkvZm9ybS8NCiAqIFByb2plY3QgcmVwb3NpdG9yeTogaHR0cHM6Ly9naXRodWIuY29tL21hbHN1cC9mb3JtDQogKiBEdWFsIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgYW5kIEdQTCBsaWNlbnNlcy4NCiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9tYWxzdXAvZm9ybSNjb3B5cmlnaHQtYW5kLWxpY2Vuc2UNCiAqLw0KIWZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGUpOmUoInVuZGVmaW5lZCIhPXR5cGVvZiBqUXVlcnk/alF1ZXJ5OndpbmRvdy5aZXB0byl9KGZ1bmN0aW9uKGUpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiB0KHQpe3ZhciByPXQuZGF0YTt0LmlzRGVmYXVsdFByZXZlbnRlZCgpfHwodC5wcmV2ZW50RGVmYXVsdCgpLGUodC50YXJnZXQpLmFqYXhTdWJtaXQocikpfWZ1bmN0aW9uIHIodCl7dmFyIHI9dC50YXJnZXQsYT1lKHIpO2lmKCFhLmlzKCJbdHlwZT1zdWJtaXRdLFt0eXBlPWltYWdlXSIpKXt2YXIgbj1hLmNsb3Nlc3QoIlt0eXBlPXN1Ym1pdF0iKTtpZigwPT09bi5sZW5ndGgpcmV0dXJuO3I9blswXX12YXIgaT10aGlzO2lmKGkuY2xrPXIsImltYWdlIj09ci50eXBlKWlmKHZvaWQgMCE9PXQub2Zmc2V0WClpLmNsa194PXQub2Zmc2V0WCxpLmNsa195PXQub2Zmc2V0WTtlbHNlIGlmKCJmdW5jdGlvbiI9PXR5cGVvZiBlLmZuLm9mZnNldCl7dmFyIG89YS5vZmZzZXQoKTtpLmNsa194PXQucGFnZVgtby5sZWZ0LGkuY2xrX3k9dC5wYWdlWS1vLnRvcH1lbHNlIGkuY2xrX3g9dC5wYWdlWC1yLm9mZnNldExlZnQsaS5jbGtfeT10LnBhZ2VZLXIub2Zmc2V0VG9wO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtpLmNsaz1pLmNsa194PWkuY2xrX3k9bnVsbH0sMTAwKX1mdW5jdGlvbiBhKCl7aWYoZS5mbi5hamF4U3VibWl0LmRlYnVnKXt2YXIgdD0iW2pxdWVyeS5mb3JtXSAiK0FycmF5LnByb3RvdHlwZS5qb2luLmNhbGwoYXJndW1lbnRzLCIiKTt3aW5kb3cuY29uc29sZSYmd2luZG93LmNvbnNvbGUubG9nP3dpbmRvdy5jb25zb2xlLmxvZyh0KTp3aW5kb3cub3BlcmEmJndpbmRvdy5vcGVyYS5wb3N0RXJyb3ImJndpbmRvdy5vcGVyYS5wb3N0RXJyb3IodCl9fXZhciBuPXt9O24uZmlsZWFwaT12b2lkIDAhPT1lKCI8aW5wdXQgdHlwZT0nZmlsZScvPiIpLmdldCgwKS5maWxlcyxuLmZvcm1kYXRhPXZvaWQgMCE9PXdpbmRvdy5Gb3JtRGF0YTt2YXIgaT0hIWUuZm4ucHJvcDtlLmZuLmF0dHIyPWZ1bmN0aW9uKCl7aWYoIWkpcmV0dXJuIHRoaXMuYXR0ci5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dmFyIGU9dGhpcy5wcm9wLmFwcGx5KHRoaXMsYXJndW1lbnRzKTtyZXR1cm4gZSYmZS5qcXVlcnl8fCJzdHJpbmciPT10eXBlb2YgZT9lOnRoaXMuYXR0ci5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGUuZm4uYWpheFN1Ym1pdD1mdW5jdGlvbih0KXtmdW5jdGlvbiByKHIpe3ZhciBhLG4saT1lLnBhcmFtKHIsdC50cmFkaXRpb25hbCkuc3BsaXQoIiYiKSxvPWkubGVuZ3RoLHM9W107Zm9yKGE9MDtvPmE7YSsrKWlbYV09aVthXS5yZXBsYWNlKC9cKy9nLCIgIiksbj1pW2FdLnNwbGl0KCI9Iikscy5wdXNoKFtkZWNvZGVVUklDb21wb25lbnQoblswXSksZGVjb2RlVVJJQ29tcG9uZW50KG5bMV0pXSk7cmV0dXJuIHN9ZnVuY3Rpb24gbyhhKXtmb3IodmFyIG49bmV3IEZvcm1EYXRhLGk9MDtpPGEubGVuZ3RoO2krKyluLmFwcGVuZChhW2ldLm5hbWUsYVtpXS52YWx1ZSk7aWYodC5leHRyYURhdGEpe3ZhciBvPXIodC5leHRyYURhdGEpO2ZvcihpPTA7aTxvLmxlbmd0aDtpKyspb1tpXSYmbi5hcHBlbmQob1tpXVswXSxvW2ldWzFdKX10LmRhdGE9bnVsbDt2YXIgcz1lLmV4dGVuZCghMCx7fSxlLmFqYXhTZXR0aW5ncyx0LHtjb250ZW50VHlwZTohMSxwcm9jZXNzRGF0YTohMSxjYWNoZTohMSx0eXBlOnV8fCJQT1NUIn0pO3QudXBsb2FkUHJvZ3Jlc3MmJihzLnhocj1mdW5jdGlvbigpe3ZhciByPWUuYWpheFNldHRpbmdzLnhocigpO3JldHVybiByLnVwbG9hZCYmci51cGxvYWQuYWRkRXZlbnRMaXN0ZW5lcigicHJvZ3Jlc3MiLGZ1bmN0aW9uKGUpe3ZhciByPTAsYT1lLmxvYWRlZHx8ZS5wb3NpdGlvbixuPWUudG90YWw7ZS5sZW5ndGhDb21wdXRhYmxlJiYocj1NYXRoLmNlaWwoYS9uKjEwMCkpLHQudXBsb2FkUHJvZ3Jlc3MoZSxhLG4scil9LCExKSxyfSkscy5kYXRhPW51bGw7dmFyIGM9cy5iZWZvcmVTZW5kO3JldHVybiBzLmJlZm9yZVNlbmQ9ZnVuY3Rpb24oZSxyKXt0LmZvcm1EYXRhP3IuZGF0YT10LmZvcm1EYXRhOnIuZGF0YT1uLGMmJmMuY2FsbCh0aGlzLGUscil9LGUuYWpheChzKX1mdW5jdGlvbiBzKHIpe2Z1bmN0aW9uIG4oZSl7dmFyIHQ9bnVsbDt0cnl7ZS5jb250ZW50V2luZG93JiYodD1lLmNvbnRlbnRXaW5kb3cuZG9jdW1lbnQpfWNhdGNoKHIpe2EoImNhbm5vdCBnZXQgaWZyYW1lLmNvbnRlbnRXaW5kb3cgZG9jdW1lbnQ6ICIrcil9aWYodClyZXR1cm4gdDt0cnl7dD1lLmNvbnRlbnREb2N1bWVudD9lLmNvbnRlbnREb2N1bWVudDplLmRvY3VtZW50fWNhdGNoKHIpe2EoImNhbm5vdCBnZXQgaWZyYW1lLmNvbnRlbnREb2N1bWVudDogIityKSx0PWUuZG9jdW1lbnR9cmV0dXJuIHR9ZnVuY3Rpb24gbygpe2Z1bmN0aW9uIHQoKXt0cnl7dmFyIGU9bihnKS5yZWFkeVN0YXRlO2EoInN0YXRlID0gIitlKSxlJiYidW5pbml0aWFsaXplZCI9PWUudG9Mb3dlckNhc2UoKSYmc2V0VGltZW91dCh0LDUwKX1jYXRjaChyKXthKCJTZXJ2ZXIgYWJvcnQ6ICIsciwiICgiLHIubmFtZSwiKSIpLHMoayksaiYmY2xlYXJUaW1lb3V0KGopLGo9dm9pZCAwfX12YXIgcj1mLmF0dHIyKCJ0YXJnZXQiKSxpPWYuYXR0cjIoImFjdGlvbiIpLG89Im11bHRpcGFydC9mb3JtLWRhdGEiLGM9Zi5hdHRyKCJlbmN0eXBlIil8fGYuYXR0cigiZW5jb2RpbmciKXx8bzt3LnNldEF0dHJpYnV0ZSgidGFyZ2V0IixwKSwoIXV8fC9wb3N0L2kudGVzdCh1KSkmJncuc2V0QXR0cmlidXRlKCJtZXRob2QiLCJQT1NUIiksaSE9bS51cmwmJncuc2V0QXR0cmlidXRlKCJhY3Rpb24iLG0udXJsKSxtLnNraXBFbmNvZGluZ092ZXJyaWRlfHx1JiYhL3Bvc3QvaS50ZXN0KHUpfHxmLmF0dHIoe2VuY29kaW5nOiJtdWx0aXBhcnQvZm9ybS1kYXRhIixlbmN0eXBlOiJtdWx0aXBhcnQvZm9ybS1kYXRhIn0pLG0udGltZW91dCYmKGo9c2V0VGltZW91dChmdW5jdGlvbigpe1Q9ITAscyhEKX0sbS50aW1lb3V0KSk7dmFyIGw9W107dHJ5e2lmKG0uZXh0cmFEYXRhKWZvcih2YXIgZCBpbiBtLmV4dHJhRGF0YSltLmV4dHJhRGF0YS5oYXNPd25Qcm9wZXJ0eShkKSYmKGUuaXNQbGFpbk9iamVjdChtLmV4dHJhRGF0YVtkXSkmJm0uZXh0cmFEYXRhW2RdLmhhc093blByb3BlcnR5KCJuYW1lIikmJm0uZXh0cmFEYXRhW2RdLmhhc093blByb3BlcnR5KCJ2YWx1ZSIpP2wucHVzaChlKCc8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSInK20uZXh0cmFEYXRhW2RdLm5hbWUrJyI+JykudmFsKG0uZXh0cmFEYXRhW2RdLnZhbHVlKS5hcHBlbmRUbyh3KVswXSk6bC5wdXNoKGUoJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicrZCsnIj4nKS52YWwobS5leHRyYURhdGFbZF0pLmFwcGVuZFRvKHcpWzBdKSk7bS5pZnJhbWVUYXJnZXR8fHYuYXBwZW5kVG8oImJvZHkiKSxnLmF0dGFjaEV2ZW50P2cuYXR0YWNoRXZlbnQoIm9ubG9hZCIscyk6Zy5hZGRFdmVudExpc3RlbmVyKCJsb2FkIixzLCExKSxzZXRUaW1lb3V0KHQsMTUpO3RyeXt3LnN1Ym1pdCgpfWNhdGNoKGgpe3ZhciB4PWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImZvcm0iKS5zdWJtaXQ7eC5hcHBseSh3KX19ZmluYWxseXt3LnNldEF0dHJpYnV0ZSgiYWN0aW9uIixpKSx3LnNldEF0dHJpYnV0ZSgiZW5jdHlwZSIsYykscj93LnNldEF0dHJpYnV0ZSgidGFyZ2V0IixyKTpmLnJlbW92ZUF0dHIoInRhcmdldCIpLGUobCkucmVtb3ZlKCl9fWZ1bmN0aW9uIHModCl7aWYoIXguYWJvcnRlZCYmIUYpe2lmKE09bihnKSxNfHwoYSgiY2Fubm90IGFjY2VzcyByZXNwb25zZSBkb2N1bWVudCIpLHQ9ayksdD09PUQmJngpcmV0dXJuIHguYWJvcnQoInRpbWVvdXQiKSx2b2lkIFMucmVqZWN0KHgsInRpbWVvdXQiKTtpZih0PT1rJiZ4KXJldHVybiB4LmFib3J0KCJzZXJ2ZXIgYWJvcnQiKSx2b2lkIFMucmVqZWN0KHgsImVycm9yIiwic2VydmVyIGFib3J0Iik7aWYoTSYmTS5sb2NhdGlvbi5ocmVmIT1tLmlmcmFtZVNyY3x8VCl7Zy5kZXRhY2hFdmVudD9nLmRldGFjaEV2ZW50KCJvbmxvYWQiLHMpOmcucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIscywhMSk7dmFyIHIsaT0ic3VjY2VzcyI7dHJ5e2lmKFQpdGhyb3cidGltZW91dCI7dmFyIG89InhtbCI9PW0uZGF0YVR5cGV8fE0uWE1MRG9jdW1lbnR8fGUuaXNYTUxEb2MoTSk7aWYoYSgiaXNYbWw9IitvKSwhbyYmd2luZG93Lm9wZXJhJiYobnVsbD09PU0uYm9keXx8IU0uYm9keS5pbm5lckhUTUwpJiYtLU8pcmV0dXJuIGEoInJlcXVlaW5nIG9uTG9hZCBjYWxsYmFjaywgRE9NIG5vdCBhdmFpbGFibGUiKSx2b2lkIHNldFRpbWVvdXQocywyNTApO3ZhciB1PU0uYm9keT9NLmJvZHk6TS5kb2N1bWVudEVsZW1lbnQ7eC5yZXNwb25zZVRleHQ9dT91LmlubmVySFRNTDpudWxsLHgucmVzcG9uc2VYTUw9TS5YTUxEb2N1bWVudD9NLlhNTERvY3VtZW50Ok0sbyYmKG0uZGF0YVR5cGU9InhtbCIpLHguZ2V0UmVzcG9uc2VIZWFkZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9eyJjb250ZW50LXR5cGUiOm0uZGF0YVR5cGV9O3JldHVybiB0W2UudG9Mb3dlckNhc2UoKV19LHUmJih4LnN0YXR1cz1OdW1iZXIodS5nZXRBdHRyaWJ1dGUoInN0YXR1cyIpKXx8eC5zdGF0dXMseC5zdGF0dXNUZXh0PXUuZ2V0QXR0cmlidXRlKCJzdGF0dXNUZXh0Iil8fHguc3RhdHVzVGV4dCk7dmFyIGM9KG0uZGF0YVR5cGV8fCIiKS50b0xvd2VyQ2FzZSgpLGw9Lyhqc29ufHNjcmlwdHx0ZXh0KS8udGVzdChjKTtpZihsfHxtLnRleHRhcmVhKXt2YXIgZj1NLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZXh0YXJlYSIpWzBdO2lmKGYpeC5yZXNwb25zZVRleHQ9Zi52YWx1ZSx4LnN0YXR1cz1OdW1iZXIoZi5nZXRBdHRyaWJ1dGUoInN0YXR1cyIpKXx8eC5zdGF0dXMseC5zdGF0dXNUZXh0PWYuZ2V0QXR0cmlidXRlKCJzdGF0dXNUZXh0Iil8fHguc3RhdHVzVGV4dDtlbHNlIGlmKGwpe3ZhciBwPU0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInByZSIpWzBdLGg9TS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYm9keSIpWzBdO3A/eC5yZXNwb25zZVRleHQ9cC50ZXh0Q29udGVudD9wLnRleHRDb250ZW50OnAuaW5uZXJUZXh0OmgmJih4LnJlc3BvbnNlVGV4dD1oLnRleHRDb250ZW50P2gudGV4dENvbnRlbnQ6aC5pbm5lclRleHQpfX1lbHNlInhtbCI9PWMmJiF4LnJlc3BvbnNlWE1MJiZ4LnJlc3BvbnNlVGV4dCYmKHgucmVzcG9uc2VYTUw9WCh4LnJlc3BvbnNlVGV4dCkpO3RyeXtFPV8oeCxjLG0pfWNhdGNoKHkpe2k9InBhcnNlcmVycm9yIix4LmVycm9yPXI9eXx8aX19Y2F0Y2goeSl7YSgiZXJyb3IgY2F1Z2h0OiAiLHkpLGk9ImVycm9yIix4LmVycm9yPXI9eXx8aX14LmFib3J0ZWQmJihhKCJ1cGxvYWQgYWJvcnRlZCIpLGk9bnVsbCkseC5zdGF0dXMmJihpPXguc3RhdHVzPj0yMDAmJnguc3RhdHVzPDMwMHx8MzA0PT09eC5zdGF0dXM/InN1Y2Nlc3MiOiJlcnJvciIpLCJzdWNjZXNzIj09PWk/KG0uc3VjY2VzcyYmbS5zdWNjZXNzLmNhbGwobS5jb250ZXh0LEUsInN1Y2Nlc3MiLHgpLFMucmVzb2x2ZSh4LnJlc3BvbnNlVGV4dCwic3VjY2VzcyIseCksZCYmZS5ldmVudC50cmlnZ2VyKCJhamF4U3VjY2VzcyIsW3gsbV0pKTppJiYodm9pZCAwPT09ciYmKHI9eC5zdGF0dXNUZXh0KSxtLmVycm9yJiZtLmVycm9yLmNhbGwobS5jb250ZXh0LHgsaSxyKSxTLnJlamVjdCh4LCJlcnJvciIsciksZCYmZS5ldmVudC50cmlnZ2VyKCJhamF4RXJyb3IiLFt4LG0scl0pKSxkJiZlLmV2ZW50LnRyaWdnZXIoImFqYXhDb21wbGV0ZSIsW3gsbV0pLGQmJiEtLWUuYWN0aXZlJiZlLmV2ZW50LnRyaWdnZXIoImFqYXhTdG9wIiksbS5jb21wbGV0ZSYmbS5jb21wbGV0ZS5jYWxsKG0uY29udGV4dCx4LGkpLEY9ITAsbS50aW1lb3V0JiZjbGVhclRpbWVvdXQoaiksc2V0VGltZW91dChmdW5jdGlvbigpe20uaWZyYW1lVGFyZ2V0P3YuYXR0cigic3JjIixtLmlmcmFtZVNyYyk6di5yZW1vdmUoKSx4LnJlc3BvbnNlWE1MPW51bGx9LDEwMCl9fX12YXIgYyxsLG0sZCxwLHYsZyx4LHksYixULGosdz1mWzBdLFM9ZS5EZWZlcnJlZCgpO2lmKFMuYWJvcnQ9ZnVuY3Rpb24oZSl7eC5hYm9ydChlKX0scilmb3IobD0wO2w8aC5sZW5ndGg7bCsrKWM9ZShoW2xdKSxpP2MucHJvcCgiZGlzYWJsZWQiLCExKTpjLnJlbW92ZUF0dHIoImRpc2FibGVkIik7aWYobT1lLmV4dGVuZCghMCx7fSxlLmFqYXhTZXR0aW5ncyx0KSxtLmNvbnRleHQ9bS5jb250ZXh0fHxtLHA9ImpxRm9ybUlPIisobmV3IERhdGUpLmdldFRpbWUoKSxtLmlmcmFtZVRhcmdldD8odj1lKG0uaWZyYW1lVGFyZ2V0KSxiPXYuYXR0cjIoIm5hbWUiKSxiP3A9Yjp2LmF0dHIyKCJuYW1lIixwKSk6KHY9ZSgnPGlmcmFtZSBuYW1lPSInK3ArJyIgc3JjPSInK20uaWZyYW1lU3JjKyciIC8+Jyksdi5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiItMTAwMHB4IixsZWZ0OiItMTAwMHB4In0pKSxnPXZbMF0seD17YWJvcnRlZDowLHJlc3BvbnNlVGV4dDpudWxsLHJlc3BvbnNlWE1MOm51bGwsc3RhdHVzOjAsc3RhdHVzVGV4dDoibi9hIixnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXt9LGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKCl7fSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKCl7fSxhYm9ydDpmdW5jdGlvbih0KXt2YXIgcj0idGltZW91dCI9PT10PyJ0aW1lb3V0IjoiYWJvcnRlZCI7YSgiYWJvcnRpbmcgdXBsb2FkLi4uICIrciksdGhpcy5hYm9ydGVkPTE7dHJ5e2cuY29udGVudFdpbmRvdy5kb2N1bWVudC5leGVjQ29tbWFuZCYmZy5jb250ZW50V2luZG93LmRvY3VtZW50LmV4ZWNDb21tYW5kKCJTdG9wIil9Y2F0Y2gobil7fXYuYXR0cigic3JjIixtLmlmcmFtZVNyYykseC5lcnJvcj1yLG0uZXJyb3ImJm0uZXJyb3IuY2FsbChtLmNvbnRleHQseCxyLHQpLGQmJmUuZXZlbnQudHJpZ2dlcigiYWpheEVycm9yIixbeCxtLHJdKSxtLmNvbXBsZXRlJiZtLmNvbXBsZXRlLmNhbGwobS5jb250ZXh0LHgscil9fSxkPW0uZ2xvYmFsLGQmJjA9PT1lLmFjdGl2ZSsrJiZlLmV2ZW50LnRyaWdnZXIoImFqYXhTdGFydCIpLGQmJmUuZXZlbnQudHJpZ2dlcigiYWpheFNlbmQiLFt4LG1dKSxtLmJlZm9yZVNlbmQmJm0uYmVmb3JlU2VuZC5jYWxsKG0uY29udGV4dCx4LG0pPT09ITEpcmV0dXJuIG0uZ2xvYmFsJiZlLmFjdGl2ZS0tLFMucmVqZWN0KCksUztpZih4LmFib3J0ZWQpcmV0dXJuIFMucmVqZWN0KCksUzt5PXcuY2xrLHkmJihiPXkubmFtZSxiJiYheS5kaXNhYmxlZCYmKG0uZXh0cmFEYXRhPW0uZXh0cmFEYXRhfHx7fSxtLmV4dHJhRGF0YVtiXT15LnZhbHVlLCJpbWFnZSI9PXkudHlwZSYmKG0uZXh0cmFEYXRhW2IrIi54Il09dy5jbGtfeCxtLmV4dHJhRGF0YVtiKyIueSJdPXcuY2xrX3kpKSk7dmFyIEQ9MSxrPTIsQT1lKCJtZXRhW25hbWU9Y3NyZi10b2tlbl0iKS5hdHRyKCJjb250ZW50IiksTD1lKCJtZXRhW25hbWU9Y3NyZi1wYXJhbV0iKS5hdHRyKCJjb250ZW50Iik7TCYmQSYmKG0uZXh0cmFEYXRhPW0uZXh0cmFEYXRhfHx7fSxtLmV4dHJhRGF0YVtMXT1BKSxtLmZvcmNlU3luYz9vKCk6c2V0VGltZW91dChvLDEwKTt2YXIgRSxNLEYsTz01MCxYPWUucGFyc2VYTUx8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHdpbmRvdy5BY3RpdmVYT2JqZWN0Pyh0PW5ldyBBY3RpdmVYT2JqZWN0KCJNaWNyb3NvZnQuWE1MRE9NIiksdC5hc3luYz0iZmFsc2UiLHQubG9hZFhNTChlKSk6dD0obmV3IERPTVBhcnNlcikucGFyc2VGcm9tU3RyaW5nKGUsInRleHQveG1sIiksdCYmdC5kb2N1bWVudEVsZW1lbnQmJiJwYXJzZXJlcnJvciIhPXQuZG9jdW1lbnRFbGVtZW50Lm5vZGVOYW1lP3Q6bnVsbH0sQz1lLnBhcnNlSlNPTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIHdpbmRvdy5ldmFsKCIoIitlKyIpIil9LF89ZnVuY3Rpb24odCxyLGEpe3ZhciBuPXQuZ2V0UmVzcG9uc2VIZWFkZXIoImNvbnRlbnQtdHlwZSIpfHwiIixpPSJ4bWwiPT09cnx8IXImJm4uaW5kZXhPZigieG1sIik+PTAsbz1pP3QucmVzcG9uc2VYTUw6dC5yZXNwb25zZVRleHQ7cmV0dXJuIGkmJiJwYXJzZXJlcnJvciI9PT1vLmRvY3VtZW50RWxlbWVudC5ub2RlTmFtZSYmZS5lcnJvciYmZS5lcnJvcigicGFyc2VyZXJyb3IiKSxhJiZhLmRhdGFGaWx0ZXImJihvPWEuZGF0YUZpbHRlcihvLHIpKSwic3RyaW5nIj09dHlwZW9mIG8mJigianNvbiI9PT1yfHwhciYmbi5pbmRleE9mKCJqc29uIik+PTA/bz1DKG8pOigic2NyaXB0Ij09PXJ8fCFyJiZuLmluZGV4T2YoImphdmFzY3JpcHQiKT49MCkmJmUuZ2xvYmFsRXZhbChvKSksb307cmV0dXJuIFN9aWYoIXRoaXMubGVuZ3RoKXJldHVybiBhKCJhamF4U3VibWl0OiBza2lwcGluZyBzdWJtaXQgcHJvY2VzcyAtIG5vIGVsZW1lbnQgc2VsZWN0ZWQiKSx0aGlzO3ZhciB1LGMsbCxmPXRoaXM7ImZ1bmN0aW9uIj09dHlwZW9mIHQ/dD17c3VjY2Vzczp0fTp2b2lkIDA9PT10JiYodD17fSksdT10LnR5cGV8fHRoaXMuYXR0cjIoIm1ldGhvZCIpLGM9dC51cmx8fHRoaXMuYXR0cjIoImFjdGlvbiIpLGw9InN0cmluZyI9PXR5cGVvZiBjP2UudHJpbShjKToiIixsPWx8fHdpbmRvdy5sb2NhdGlvbi5ocmVmfHwiIixsJiYobD0obC5tYXRjaCgvXihbXiNdKykvKXx8W10pWzFdKSx0PWUuZXh0ZW5kKCEwLHt1cmw6bCxzdWNjZXNzOmUuYWpheFNldHRpbmdzLnN1Y2Nlc3MsdHlwZTp1fHxlLmFqYXhTZXR0aW5ncy50eXBlLGlmcmFtZVNyYzovXmh0dHBzL2kudGVzdCh3aW5kb3cubG9jYXRpb24uaHJlZnx8IiIpPyJqYXZhc2NyaXB0OmZhbHNlIjoiYWJvdXQ6YmxhbmsifSx0KTt2YXIgbT17fTtpZih0aGlzLnRyaWdnZXIoImZvcm0tcHJlLXNlcmlhbGl6ZSIsW3RoaXMsdCxtXSksbS52ZXRvKXJldHVybiBhKCJhamF4U3VibWl0OiBzdWJtaXQgdmV0b2VkIHZpYSBmb3JtLXByZS1zZXJpYWxpemUgdHJpZ2dlciIpLHRoaXM7aWYodC5iZWZvcmVTZXJpYWxpemUmJnQuYmVmb3JlU2VyaWFsaXplKHRoaXMsdCk9PT0hMSlyZXR1cm4gYSgiYWpheFN1Ym1pdDogc3VibWl0IGFib3J0ZWQgdmlhIGJlZm9yZVNlcmlhbGl6ZSBjYWxsYmFjayIpLHRoaXM7dmFyIGQ9dC50cmFkaXRpb25hbDt2b2lkIDA9PT1kJiYoZD1lLmFqYXhTZXR0aW5ncy50cmFkaXRpb25hbCk7dmFyIHAsaD1bXSx2PXRoaXMuZm9ybVRvQXJyYXkodC5zZW1hbnRpYyxoKTtpZih0LmRhdGEmJih0LmV4dHJhRGF0YT10LmRhdGEscD1lLnBhcmFtKHQuZGF0YSxkKSksdC5iZWZvcmVTdWJtaXQmJnQuYmVmb3JlU3VibWl0KHYsdGhpcyx0KT09PSExKXJldHVybiBhKCJhamF4U3VibWl0OiBzdWJtaXQgYWJvcnRlZCB2aWEgYmVmb3JlU3VibWl0IGNhbGxiYWNrIiksdGhpcztpZih0aGlzLnRyaWdnZXIoImZvcm0tc3VibWl0LXZhbGlkYXRlIixbdix0aGlzLHQsbV0pLG0udmV0bylyZXR1cm4gYSgiYWpheFN1Ym1pdDogc3VibWl0IHZldG9lZCB2aWEgZm9ybS1zdWJtaXQtdmFsaWRhdGUgdHJpZ2dlciIpLHRoaXM7dmFyIGc9ZS5wYXJhbSh2LGQpO3AmJihnPWc/ZysiJiIrcDpwKSwiR0VUIj09dC50eXBlLnRvVXBwZXJDYXNlKCk/KHQudXJsKz0odC51cmwuaW5kZXhPZigiPyIpPj0wPyImIjoiPyIpK2csdC5kYXRhPW51bGwpOnQuZGF0YT1nO3ZhciB4PVtdO2lmKHQucmVzZXRGb3JtJiZ4LnB1c2goZnVuY3Rpb24oKXtmLnJlc2V0Rm9ybSgpfSksdC5jbGVhckZvcm0mJngucHVzaChmdW5jdGlvbigpe2YuY2xlYXJGb3JtKHQuaW5jbHVkZUhpZGRlbil9KSwhdC5kYXRhVHlwZSYmdC50YXJnZXQpe3ZhciB5PXQuc3VjY2Vzc3x8ZnVuY3Rpb24oKXt9O3gucHVzaChmdW5jdGlvbihyKXt2YXIgYT10LnJlcGxhY2VUYXJnZXQ/InJlcGxhY2VXaXRoIjoiaHRtbCI7ZSh0LnRhcmdldClbYV0ocikuZWFjaCh5LGFyZ3VtZW50cyl9KX1lbHNlIHQuc3VjY2VzcyYmeC5wdXNoKHQuc3VjY2Vzcyk7aWYodC5zdWNjZXNzPWZ1bmN0aW9uKGUscixhKXtmb3IodmFyIG49dC5jb250ZXh0fHx0aGlzLGk9MCxvPXgubGVuZ3RoO28+aTtpKyspeFtpXS5hcHBseShuLFtlLHIsYXx8ZixmXSl9LHQuZXJyb3Ipe3ZhciBiPXQuZXJyb3I7dC5lcnJvcj1mdW5jdGlvbihlLHIsYSl7dmFyIG49dC5jb250ZXh0fHx0aGlzO2IuYXBwbHkobixbZSxyLGEsZl0pfX1pZih0LmNvbXBsZXRlKXt2YXIgVD10LmNvbXBsZXRlO3QuY29tcGxldGU9ZnVuY3Rpb24oZSxyKXt2YXIgYT10LmNvbnRleHR8fHRoaXM7VC5hcHBseShhLFtlLHIsZl0pfX12YXIgaj1lKCJpbnB1dFt0eXBlPWZpbGVdOmVuYWJsZWQiLHRoaXMpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiIiIT09ZSh0aGlzKS52YWwoKX0pLHc9ai5sZW5ndGg+MCxTPSJtdWx0aXBhcnQvZm9ybS1kYXRhIixEPWYuYXR0cigiZW5jdHlwZSIpPT1TfHxmLmF0dHIoImVuY29kaW5nIik9PVMsaz1uLmZpbGVhcGkmJm4uZm9ybWRhdGE7YSgiZmlsZUFQSSA6IitrKTt2YXIgQSxMPSh3fHxEKSYmIWs7dC5pZnJhbWUhPT0hMSYmKHQuaWZyYW1lfHxMKT90LmNsb3NlS2VlcEFsaXZlP2UuZ2V0KHQuY2xvc2VLZWVwQWxpdmUsZnVuY3Rpb24oKXtBPXModil9KTpBPXModik6QT0od3x8RCkmJms/byh2KTplLmFqYXgodCksZi5yZW1vdmVEYXRhKCJqcXhociIpLmRhdGEoImpxeGhyIixBKTtmb3IodmFyIEU9MDtFPGgubGVuZ3RoO0UrKyloW0VdPW51bGw7cmV0dXJuIHRoaXMudHJpZ2dlcigiZm9ybS1zdWJtaXQtbm90aWZ5IixbdGhpcyx0XSksdGhpc30sZS5mbi5hamF4Rm9ybT1mdW5jdGlvbihuKXtpZihuPW58fHt9LG4uZGVsZWdhdGlvbj1uLmRlbGVnYXRpb24mJmUuaXNGdW5jdGlvbihlLmZuLm9uKSwhbi5kZWxlZ2F0aW9uJiYwPT09dGhpcy5sZW5ndGgpe3ZhciBpPXtzOnRoaXMuc2VsZWN0b3IsYzp0aGlzLmNvbnRleHR9O3JldHVybiFlLmlzUmVhZHkmJmkucz8oYSgiRE9NIG5vdCByZWFkeSwgcXVldWluZyBhamF4Rm9ybSIpLGUoZnVuY3Rpb24oKXtlKGkucyxpLmMpLmFqYXhGb3JtKG4pfSksdGhpcyk6KGEoInRlcm1pbmF0aW5nOyB6ZXJvIGVsZW1lbnRzIGZvdW5kIGJ5IHNlbGVjdG9yIisoZS5pc1JlYWR5PyIiOiIgKERPTSBub3QgcmVhZHkpIikpLHRoaXMpfXJldHVybiBuLmRlbGVnYXRpb24/KGUoZG9jdW1lbnQpLm9mZigic3VibWl0LmZvcm0tcGx1Z2luIix0aGlzLnNlbGVjdG9yLHQpLm9mZigiY2xpY2suZm9ybS1wbHVnaW4iLHRoaXMuc2VsZWN0b3Iscikub24oInN1Ym1pdC5mb3JtLXBsdWdpbiIsdGhpcy5zZWxlY3RvcixuLHQpLm9uKCJjbGljay5mb3JtLXBsdWdpbiIsdGhpcy5zZWxlY3RvcixuLHIpLHRoaXMpOnRoaXMuYWpheEZvcm1VbmJpbmQoKS5iaW5kKCJzdWJtaXQuZm9ybS1wbHVnaW4iLG4sdCkuYmluZCgiY2xpY2suZm9ybS1wbHVnaW4iLG4scil9LGUuZm4uYWpheEZvcm1VbmJpbmQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy51bmJpbmQoInN1Ym1pdC5mb3JtLXBsdWdpbiBjbGljay5mb3JtLXBsdWdpbiIpfSxlLmZuLmZvcm1Ub0FycmF5PWZ1bmN0aW9uKHQscil7dmFyIGE9W107aWYoMD09PXRoaXMubGVuZ3RoKXJldHVybiBhO3ZhciBpLG89dGhpc1swXSxzPXRoaXMuYXR0cigiaWQiKSx1PXQ/by5nZXRFbGVtZW50c0J5VGFnTmFtZSgiKiIpOm8uZWxlbWVudHM7aWYodSYmIS9NU0lFIFs2NzhdLy50ZXN0KG5hdmlnYXRvci51c2VyQWdlbnQpJiYodT1lKHUpLmdldCgpKSxzJiYoaT1lKCc6aW5wdXRbZm9ybT0iJytzKyciXScpLmdldCgpLGkubGVuZ3RoJiYodT0odXx8W10pLmNvbmNhdChpKSkpLCF1fHwhdS5sZW5ndGgpcmV0dXJuIGE7dmFyIGMsbCxmLG0sZCxwLGg7Zm9yKGM9MCxwPXUubGVuZ3RoO3A+YztjKyspaWYoZD11W2NdLGY9ZC5uYW1lLGYmJiFkLmRpc2FibGVkKWlmKHQmJm8uY2xrJiYiaW1hZ2UiPT1kLnR5cGUpby5jbGs9PWQmJihhLnB1c2goe25hbWU6Zix2YWx1ZTplKGQpLnZhbCgpLHR5cGU6ZC50eXBlfSksYS5wdXNoKHtuYW1lOmYrIi54Iix2YWx1ZTpvLmNsa194fSx7bmFtZTpmKyIueSIsdmFsdWU6by5jbGtfeX0pKTtlbHNlIGlmKG09ZS5maWVsZFZhbHVlKGQsITApLG0mJm0uY29uc3RydWN0b3I9PUFycmF5KWZvcihyJiZyLnB1c2goZCksbD0wLGg9bS5sZW5ndGg7aD5sO2wrKylhLnB1c2goe25hbWU6Zix2YWx1ZTptW2xdfSk7ZWxzZSBpZihuLmZpbGVhcGkmJiJmaWxlIj09ZC50eXBlKXtyJiZyLnB1c2goZCk7dmFyIHY9ZC5maWxlcztpZih2Lmxlbmd0aClmb3IobD0wO2w8di5sZW5ndGg7bCsrKWEucHVzaCh7bmFtZTpmLHZhbHVlOnZbbF0sdHlwZTpkLnR5cGV9KTtlbHNlIGEucHVzaCh7bmFtZTpmLHZhbHVlOiIiLHR5cGU6ZC50eXBlfSl9ZWxzZSBudWxsIT09bSYmInVuZGVmaW5lZCIhPXR5cGVvZiBtJiYociYmci5wdXNoKGQpLGEucHVzaCh7bmFtZTpmLHZhbHVlOm0sdHlwZTpkLnR5cGUscmVxdWlyZWQ6ZC5yZXF1aXJlZH0pKTtpZighdCYmby5jbGspe3ZhciBnPWUoby5jbGspLHg9Z1swXTtmPXgubmFtZSxmJiYheC5kaXNhYmxlZCYmImltYWdlIj09eC50eXBlJiYoYS5wdXNoKHtuYW1lOmYsdmFsdWU6Zy52YWwoKX0pLGEucHVzaCh7bmFtZTpmKyIueCIsdmFsdWU6by5jbGtfeH0se25hbWU6ZisiLnkiLHZhbHVlOm8uY2xrX3l9KSl9cmV0dXJuIGF9LGUuZm4uZm9ybVNlcmlhbGl6ZT1mdW5jdGlvbih0KXtyZXR1cm4gZS5wYXJhbSh0aGlzLmZvcm1Ub0FycmF5KHQpKX0sZS5mbi5maWVsZFNlcmlhbGl6ZT1mdW5jdGlvbih0KXt2YXIgcj1bXTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5uYW1lO2lmKGEpe3ZhciBuPWUuZmllbGRWYWx1ZSh0aGlzLHQpO2lmKG4mJm4uY29uc3RydWN0b3I9PUFycmF5KWZvcih2YXIgaT0wLG89bi5sZW5ndGg7bz5pO2krKylyLnB1c2goe25hbWU6YSx2YWx1ZTpuW2ldfSk7ZWxzZSBudWxsIT09biYmInVuZGVmaW5lZCIhPXR5cGVvZiBuJiZyLnB1c2goe25hbWU6dGhpcy5uYW1lLHZhbHVlOm59KX19KSxlLnBhcmFtKHIpfSxlLmZuLmZpZWxkVmFsdWU9ZnVuY3Rpb24odCl7Zm9yKHZhciByPVtdLGE9MCxuPXRoaXMubGVuZ3RoO24+YTthKyspe3ZhciBpPXRoaXNbYV0sbz1lLmZpZWxkVmFsdWUoaSx0KTtudWxsPT09b3x8InVuZGVmaW5lZCI9PXR5cGVvZiBvfHxvLmNvbnN0cnVjdG9yPT1BcnJheSYmIW8ubGVuZ3RofHwoby5jb25zdHJ1Y3Rvcj09QXJyYXk/ZS5tZXJnZShyLG8pOnIucHVzaChvKSl9cmV0dXJuIHJ9LGUuZmllbGRWYWx1ZT1mdW5jdGlvbih0LHIpe3ZhciBhPXQubmFtZSxuPXQudHlwZSxpPXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpO2lmKHZvaWQgMD09PXImJihyPSEwKSxyJiYoIWF8fHQuZGlzYWJsZWR8fCJyZXNldCI9PW58fCJidXR0b24iPT1ufHwoImNoZWNrYm94Ij09bnx8InJhZGlvIj09bikmJiF0LmNoZWNrZWR8fCgic3VibWl0Ij09bnx8ImltYWdlIj09bikmJnQuZm9ybSYmdC5mb3JtLmNsayE9dHx8InNlbGVjdCI9PWkmJi0xPT10LnNlbGVjdGVkSW5kZXgpKXJldHVybiBudWxsO2lmKCJzZWxlY3QiPT1pKXt2YXIgbz10LnNlbGVjdGVkSW5kZXg7aWYoMD5vKXJldHVybiBudWxsO2Zvcih2YXIgcz1bXSx1PXQub3B0aW9ucyxjPSJzZWxlY3Qtb25lIj09bixsPWM/bysxOnUubGVuZ3RoLGY9Yz9vOjA7bD5mO2YrKyl7dmFyIG09dVtmXTtpZihtLnNlbGVjdGVkKXt2YXIgZD1tLnZhbHVlO2lmKGR8fChkPW0uYXR0cmlidXRlcyYmbS5hdHRyaWJ1dGVzLnZhbHVlJiYhbS5hdHRyaWJ1dGVzLnZhbHVlLnNwZWNpZmllZD9tLnRleHQ6bS52YWx1ZSksYylyZXR1cm4gZDtzLnB1c2goZCl9fXJldHVybiBzfXJldHVybiBlKHQpLnZhbCgpfSxlLmZuLmNsZWFyRm9ybT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7ZSgiaW5wdXQsc2VsZWN0LHRleHRhcmVhIix0aGlzKS5jbGVhckZpZWxkcyh0KX0pfSxlLmZuLmNsZWFyRmllbGRzPWUuZm4uY2xlYXJJbnB1dHM9ZnVuY3Rpb24odCl7dmFyIHI9L14oPzpjb2xvcnxkYXRlfGRhdGV0aW1lfGVtYWlsfG1vbnRofG51bWJlcnxwYXNzd29yZHxyYW5nZXxzZWFyY2h8dGVsfHRleHR8dGltZXx1cmx8d2VlaykkL2k7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBhPXRoaXMudHlwZSxuPXRoaXMudGFnTmFtZS50b0xvd2VyQ2FzZSgpO3IudGVzdChhKXx8InRleHRhcmVhIj09bj90aGlzLnZhbHVlPSIiOiJjaGVja2JveCI9PWF8fCJyYWRpbyI9PWE/dGhpcy5jaGVja2VkPSExOiJzZWxlY3QiPT1uP3RoaXMuc2VsZWN0ZWRJbmRleD0tMToiZmlsZSI9PWE/L01TSUUvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudCk/ZSh0aGlzKS5yZXBsYWNlV2l0aChlKHRoaXMpLmNsb25lKCEwKSk6ZSh0aGlzKS52YWwoIiIpOnQmJih0PT09ITAmJi9oaWRkZW4vLnRlc3QoYSl8fCJzdHJpbmciPT10eXBlb2YgdCYmZSh0aGlzKS5pcyh0KSkmJih0aGlzLnZhbHVlPSIiKX0pfSxlLmZuLnJlc2V0Rm9ybT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXsoImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMucmVzZXR8fCJvYmplY3QiPT10eXBlb2YgdGhpcy5yZXNldCYmIXRoaXMucmVzZXQubm9kZVR5cGUpJiZ0aGlzLnJlc2V0KCl9KX0sZS5mbi5lbmFibGU9ZnVuY3Rpb24oZSl7cmV0dXJuIHZvaWQgMD09PWUmJihlPSEwKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt0aGlzLmRpc2FibGVkPSFlfSl9LGUuZm4uc2VsZWN0ZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQmJih0PSEwKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgcj10aGlzLnR5cGU7aWYoImNoZWNrYm94Ij09cnx8InJhZGlvIj09cil0aGlzLmNoZWNrZWQ9dDtlbHNlIGlmKCJvcHRpb24iPT10aGlzLnRhZ05hbWUudG9Mb3dlckNhc2UoKSl7dmFyIGE9ZSh0aGlzKS5wYXJlbnQoInNlbGVjdCIpO3QmJmFbMF0mJiJzZWxlY3Qtb25lIj09YVswXS50eXBlJiZhLmZpbmQoIm9wdGlvbiIpLnNlbGVjdGVkKCExKSx0aGlzLnNlbGVjdGVkPXR9fSl9LGUuZm4uYWpheFN1Ym1pdC5kZWJ1Zz0hMX0pOw0KDQoNCi8qDQogKiAgY29kZSBoaWdobGlnaHQNCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoqLw0KLyogaHR0cDovL3ByaXNtanMuY29tL2Rvd25sb2FkLmh0bWw/dGhlbWVzPXByaXNtJmxhbmd1YWdlcz1tYXJrdXArY3NzK2NsaWtlK2phdmFzY3JpcHQrYXNwbmV0K2Jhc2grYytjc2hhcnArY3BwK2NvZmZlZXNjcmlwdCtjc3MtZXh0cmFzK2dpdCtodHRwK2luaStqYXZhK2xhdGV4K2xlc3MrbWF0bGFiK29iamVjdGl2ZWMrcGVybCtwaHArcGhwLWV4dHJhcytweXRob24rcnVieStzY3NzK3NxbCtzd2lmdCZwbHVnaW5zPWxpbmUtbnVtYmVycytzaG93LWxhbmd1YWdlICovDQpzZWxmPSJ1bmRlZmluZWQiIT10eXBlb2Ygd2luZG93P3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIFdvcmtlckdsb2JhbFNjb3BlJiZzZWxmIGluc3RhbmNlb2YgV29ya2VyR2xvYmFsU2NvcGU/c2VsZjp7fTt2YXIgUHJpc209ZnVuY3Rpb24oKXt2YXIgZT0vXGJsYW5nKD86dWFnZSk/LSg/IVwqKShcdyspXGIvaSx0PXNlbGYuUHJpc209e3V0aWw6e2VuY29kZTpmdW5jdGlvbihlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIG4/bmV3IG4oZS50eXBlLHQudXRpbC5lbmNvZGUoZS5jb250ZW50KSxlLmFsaWFzKToiQXJyYXkiPT09dC51dGlsLnR5cGUoZSk/ZS5tYXAodC51dGlsLmVuY29kZSk6ZS5yZXBsYWNlKC8mL2csIiZhbXA7IikucmVwbGFjZSgvPC9nLCImbHQ7IikucmVwbGFjZSgvXHUwMGEwL2csIiAiKX0sdHlwZTpmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLm1hdGNoKC9cW29iamVjdCAoXHcrKVxdLylbMV19LGNsb25lOmZ1bmN0aW9uKGUpe3ZhciBuPXQudXRpbC50eXBlKGUpO3N3aXRjaChuKXtjYXNlIk9iamVjdCI6dmFyIGE9e307Zm9yKHZhciByIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShyKSYmKGFbcl09dC51dGlsLmNsb25lKGVbcl0pKTtyZXR1cm4gYTtjYXNlIkFycmF5IjpyZXR1cm4gZS5tYXAoZnVuY3Rpb24oZSl7cmV0dXJuIHQudXRpbC5jbG9uZShlKX0pfXJldHVybiBlfX0sbGFuZ3VhZ2VzOntleHRlbmQ6ZnVuY3Rpb24oZSxuKXt2YXIgYT10LnV0aWwuY2xvbmUodC5sYW5ndWFnZXNbZV0pO2Zvcih2YXIgciBpbiBuKWFbcl09bltyXTtyZXR1cm4gYX0saW5zZXJ0QmVmb3JlOmZ1bmN0aW9uKGUsbixhLHIpe3I9cnx8dC5sYW5ndWFnZXM7dmFyIGk9cltlXTtpZigyPT1hcmd1bWVudHMubGVuZ3RoKXthPWFyZ3VtZW50c1sxXTtmb3IodmFyIGwgaW4gYSlhLmhhc093blByb3BlcnR5KGwpJiYoaVtsXT1hW2xdKTtyZXR1cm4gaX12YXIgcz17fTtmb3IodmFyIG8gaW4gaSlpZihpLmhhc093blByb3BlcnR5KG8pKXtpZihvPT1uKWZvcih2YXIgbCBpbiBhKWEuaGFzT3duUHJvcGVydHkobCkmJihzW2xdPWFbbF0pO3Nbb109aVtvXX1yZXR1cm4gdC5sYW5ndWFnZXMuREZTKHQubGFuZ3VhZ2VzLGZ1bmN0aW9uKHQsbil7bj09PXJbZV0mJnQhPWUmJih0aGlzW3RdPXMpfSkscltlXT1zfSxERlM6ZnVuY3Rpb24oZSxuLGEpe2Zvcih2YXIgciBpbiBlKWUuaGFzT3duUHJvcGVydHkocikmJihuLmNhbGwoZSxyLGVbcl0sYXx8ciksIk9iamVjdCI9PT10LnV0aWwudHlwZShlW3JdKT90Lmxhbmd1YWdlcy5ERlMoZVtyXSxuKToiQXJyYXkiPT09dC51dGlsLnR5cGUoZVtyXSkmJnQubGFuZ3VhZ2VzLkRGUyhlW3JdLG4scikpfX0saGlnaGxpZ2h0QWxsOmZ1bmN0aW9uKGUsbil7Zm9yKHZhciBhLHI9ZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnY29kZVtjbGFzcyo9Imxhbmd1YWdlLSJdLCBbY2xhc3MqPSJsYW5ndWFnZS0iXSBjb2RlLCBjb2RlW2NsYXNzKj0ibGFuZy0iXSwgW2NsYXNzKj0ibGFuZy0iXSBjb2RlJyksaT0wO2E9cltpKytdOyl0LmhpZ2hsaWdodEVsZW1lbnQoYSxlPT09ITAsbil9LGhpZ2hsaWdodEVsZW1lbnQ6ZnVuY3Rpb24oYSxyLGkpe2Zvcih2YXIgbCxzLG89YTtvJiYhZS50ZXN0KG8uY2xhc3NOYW1lKTspbz1vLnBhcmVudE5vZGU7aWYobyYmKGw9KG8uY2xhc3NOYW1lLm1hdGNoKGUpfHxbLCIiXSlbMV0scz10Lmxhbmd1YWdlc1tsXSkscyl7YS5jbGFzc05hbWU9YS5jbGFzc05hbWUucmVwbGFjZShlLCIiKS5yZXBsYWNlKC9ccysvZywiICIpKyIgbGFuZ3VhZ2UtIitsLG89YS5wYXJlbnROb2RlLC9wcmUvaS50ZXN0KG8ubm9kZU5hbWUpJiYoby5jbGFzc05hbWU9by5jbGFzc05hbWUucmVwbGFjZShlLCIiKS5yZXBsYWNlKC9ccysvZywiICIpKyIgbGFuZ3VhZ2UtIitsKTt2YXIgdT1hLnRleHRDb250ZW50O2lmKHUpe3U9dS5yZXBsYWNlKC9eKD86XHI/XG58XHIpLywiIik7dmFyIGc9e2VsZW1lbnQ6YSxsYW5ndWFnZTpsLGdyYW1tYXI6cyxjb2RlOnV9O2lmKHQuaG9va3MucnVuKCJiZWZvcmUtaGlnaGxpZ2h0IixnKSxyJiZzZWxmLldvcmtlcil7dmFyIGM9bmV3IFdvcmtlcih0LmZpbGVuYW1lKTtjLm9ubWVzc2FnZT1mdW5jdGlvbihlKXtnLmhpZ2hsaWdodGVkQ29kZT1uLnN0cmluZ2lmeShKU09OLnBhcnNlKGUuZGF0YSksbCksdC5ob29rcy5ydW4oImJlZm9yZS1pbnNlcnQiLGcpLGcuZWxlbWVudC5pbm5lckhUTUw9Zy5oaWdobGlnaHRlZENvZGUsaSYmaS5jYWxsKGcuZWxlbWVudCksdC5ob29rcy5ydW4oImFmdGVyLWhpZ2hsaWdodCIsZyl9LGMucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkoe2xhbmd1YWdlOmcubGFuZ3VhZ2UsY29kZTpnLmNvZGV9KSl9ZWxzZSBnLmhpZ2hsaWdodGVkQ29kZT10LmhpZ2hsaWdodChnLmNvZGUsZy5ncmFtbWFyLGcubGFuZ3VhZ2UpLHQuaG9va3MucnVuKCJiZWZvcmUtaW5zZXJ0IixnKSxnLmVsZW1lbnQuaW5uZXJIVE1MPWcuaGlnaGxpZ2h0ZWRDb2RlLGkmJmkuY2FsbChhKSx0Lmhvb2tzLnJ1bigiYWZ0ZXItaGlnaGxpZ2h0IixnKX19fSxoaWdobGlnaHQ6ZnVuY3Rpb24oZSxhLHIpe3ZhciBpPXQudG9rZW5pemUoZSxhKTtyZXR1cm4gbi5zdHJpbmdpZnkodC51dGlsLmVuY29kZShpKSxyKX0sdG9rZW5pemU6ZnVuY3Rpb24oZSxuKXt2YXIgYT10LlRva2VuLHI9W2VdLGk9bi5yZXN0O2lmKGkpe2Zvcih2YXIgbCBpbiBpKW5bbF09aVtsXTtkZWxldGUgbi5yZXN0fWU6Zm9yKHZhciBsIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShsKSYmbltsXSl7dmFyIHM9bltsXTtzPSJBcnJheSI9PT10LnV0aWwudHlwZShzKT9zOltzXTtmb3IodmFyIG89MDtvPHMubGVuZ3RoOysrbyl7dmFyIHU9c1tvXSxnPXUuaW5zaWRlLGM9ISF1Lmxvb2tiZWhpbmQsZj0wLGg9dS5hbGlhczt1PXUucGF0dGVybnx8dTtmb3IodmFyIHA9MDtwPHIubGVuZ3RoO3ArKyl7dmFyIGQ9cltwXTtpZihyLmxlbmd0aD5lLmxlbmd0aClicmVhayBlO2lmKCEoZCBpbnN0YW5jZW9mIGEpKXt1Lmxhc3RJbmRleD0wO3ZhciBtPXUuZXhlYyhkKTtpZihtKXtjJiYoZj1tWzFdLmxlbmd0aCk7dmFyIHk9bS5pbmRleC0xK2YsbT1tWzBdLnNsaWNlKGYpLHY9bS5sZW5ndGgsaz15K3YsYj1kLnNsaWNlKDAseSsxKSx3PWQuc2xpY2UoaysxKSxOPVtwLDFdO2ImJk4ucHVzaChiKTt2YXIgTz1uZXcgYShsLGc/dC50b2tlbml6ZShtLGcpOm0saCk7Ti5wdXNoKE8pLHcmJk4ucHVzaCh3KSxBcnJheS5wcm90b3R5cGUuc3BsaWNlLmFwcGx5KHIsTil9fX19fXJldHVybiByfSxob29rczp7YWxsOnt9LGFkZDpmdW5jdGlvbihlLG4pe3ZhciBhPXQuaG9va3MuYWxsO2FbZV09YVtlXXx8W10sYVtlXS5wdXNoKG4pfSxydW46ZnVuY3Rpb24oZSxuKXt2YXIgYT10Lmhvb2tzLmFsbFtlXTtpZihhJiZhLmxlbmd0aClmb3IodmFyIHIsaT0wO3I9YVtpKytdOylyKG4pfX19LG49dC5Ub2tlbj1mdW5jdGlvbihlLHQsbil7dGhpcy50eXBlPWUsdGhpcy5jb250ZW50PXQsdGhpcy5hbGlhcz1ufTtpZihuLnN0cmluZ2lmeT1mdW5jdGlvbihlLGEscil7aWYoInN0cmluZyI9PXR5cGVvZiBlKXJldHVybiBlO2lmKCJBcnJheSI9PT10LnV0aWwudHlwZShlKSlyZXR1cm4gZS5tYXAoZnVuY3Rpb24odCl7cmV0dXJuIG4uc3RyaW5naWZ5KHQsYSxlKX0pLmpvaW4oIiIpO3ZhciBpPXt0eXBlOmUudHlwZSxjb250ZW50Om4uc3RyaW5naWZ5KGUuY29udGVudCxhLHIpLHRhZzoic3BhbiIsY2xhc3NlczpbInRva2VuIixlLnR5cGVdLGF0dHJpYnV0ZXM6e30sbGFuZ3VhZ2U6YSxwYXJlbnQ6cn07aWYoImNvbW1lbnQiPT1pLnR5cGUmJihpLmF0dHJpYnV0ZXMuc3BlbGxjaGVjaz0idHJ1ZSIpLGUuYWxpYXMpe3ZhciBsPSJBcnJheSI9PT10LnV0aWwudHlwZShlLmFsaWFzKT9lLmFsaWFzOltlLmFsaWFzXTtBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpLmNsYXNzZXMsbCl9dC5ob29rcy5ydW4oIndyYXAiLGkpO3ZhciBzPSIiO2Zvcih2YXIgbyBpbiBpLmF0dHJpYnV0ZXMpcys9bysnPSInKyhpLmF0dHJpYnV0ZXNbb118fCIiKSsnIic7cmV0dXJuIjwiK2kudGFnKycgY2xhc3M9IicraS5jbGFzc2VzLmpvaW4oIiAiKSsnIiAnK3MrIj4iK2kuY29udGVudCsiPC8iK2kudGFnKyI+In0sIXNlbGYuZG9jdW1lbnQpcmV0dXJuIHNlbGYuYWRkRXZlbnRMaXN0ZW5lcj8oc2VsZi5hZGRFdmVudExpc3RlbmVyKCJtZXNzYWdlIixmdW5jdGlvbihlKXt2YXIgbj1KU09OLnBhcnNlKGUuZGF0YSksYT1uLmxhbmd1YWdlLHI9bi5jb2RlO3NlbGYucG9zdE1lc3NhZ2UoSlNPTi5zdHJpbmdpZnkodC51dGlsLmVuY29kZSh0LnRva2VuaXplKHIsdC5sYW5ndWFnZXNbYV0pKSkpLHNlbGYuY2xvc2UoKX0sITEpLHNlbGYuUHJpc20pOnNlbGYuUHJpc207dmFyIGE9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO3JldHVybiBhPWFbYS5sZW5ndGgtMV0sYSYmKHQuZmlsZW5hbWU9YS5zcmMsZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lciYmIWEuaGFzQXR0cmlidXRlKCJkYXRhLW1hbnVhbCIpJiZkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIix0LmhpZ2hsaWdodEFsbCkpLHNlbGYuUHJpc219KCk7InVuZGVmaW5lZCIhPXR5cGVvZiBtb2R1bGUmJm1vZHVsZS5leHBvcnRzJiYobW9kdWxlLmV4cG9ydHM9UHJpc20pOzsNClByaXNtLmxhbmd1YWdlcy5tYXJrdXA9e2NvbW1lbnQ6LzwhLS1bXHdcV10qPy0tPi8scHJvbG9nOi88XD8uKz9cPz4vLGRvY3R5cGU6LzwhRE9DVFlQRS4rPz4vLGNkYXRhOi88IVxbQ0RBVEFcW1tcd1xXXSo/XV0+L2ksdGFnOntwYXR0ZXJuOi88XC8/W1x3Oi1dK1xzKig/OlxzK1tcdzotXSsoPzo9KD86KCJ8JykoXFw/W1x3XFddKSo/XDF8W15ccyciPj1dKykpP1xzKikqXC8/Pi9pLGluc2lkZTp7dGFnOntwYXR0ZXJuOi9ePFwvP1tcdzotXSsvaSxpbnNpZGU6e3B1bmN0dWF0aW9uOi9ePFwvPy8sbmFtZXNwYWNlOi9eW1x3LV0rPzovfX0sImF0dHItdmFsdWUiOntwYXR0ZXJuOi89KD86KCd8IilbXHdcV10qPyhcMSl8W15ccz5dKykvaSxpbnNpZGU6e3B1bmN0dWF0aW9uOi89fD58Ii99fSxwdW5jdHVhdGlvbjovXC8/Pi8sImF0dHItbmFtZSI6e3BhdHRlcm46L1tcdzotXSsvLGluc2lkZTp7bmFtZXNwYWNlOi9eW1x3LV0rPzovfX19fSxlbnRpdHk6LyYjP1tcZGEtel17MSw4fTsvaX0sUHJpc20uaG9va3MuYWRkKCJ3cmFwIixmdW5jdGlvbih0KXsiZW50aXR5Ij09PXQudHlwZSYmKHQuYXR0cmlidXRlcy50aXRsZT10LmNvbnRlbnQucmVwbGFjZSgvJmFtcDsvLCImIikpfSk7Ow0KUHJpc20ubGFuZ3VhZ2VzLmNzcz17Y29tbWVudDovXC9cKltcd1xXXSo/XCpcLy8sYXRydWxlOntwYXR0ZXJuOi9AW1x3LV0rPy4qPyg7fCg/PVxzKlx7KSkvaSxpbnNpZGU6e3B1bmN0dWF0aW9uOi9bOzpdL319LHVybDovdXJsXCgoPzooWyInXSkoXFxcbnxcXD8uKSo/XDF8Lio/KVwpL2ksc2VsZWN0b3I6L1teXHtcfVxzXVteXHtcfTtdKig/PVxzKlx7KS8sc3RyaW5nOi8oInwnKShcXFxufFxcPy4pKj9cMS8scHJvcGVydHk6LyhcYnxcQilbXHctXSsoPz1ccyo6KS9pLGltcG9ydGFudDovXEIhaW1wb3J0YW50XGIvaSxwdW5jdHVhdGlvbjovW1x7XH07Ol0vLCJmdW5jdGlvbiI6L1stYS16MC05XSsoPz1cKCkvaX0sUHJpc20ubGFuZ3VhZ2VzLm1hcmt1cCYmKFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoIm1hcmt1cCIsInRhZyIse3N0eWxlOntwYXR0ZXJuOi88c3R5bGVbXHdcV10qPz5bXHdcV10qPzxcL3N0eWxlPi9pLGluc2lkZTp7dGFnOntwYXR0ZXJuOi88c3R5bGVbXHdcV10qPz58PFwvc3R5bGU+L2ksaW5zaWRlOlByaXNtLmxhbmd1YWdlcy5tYXJrdXAudGFnLmluc2lkZX0scmVzdDpQcmlzbS5sYW5ndWFnZXMuY3NzfSxhbGlhczoibGFuZ3VhZ2UtY3NzIn19KSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJpbnNpZGUiLCJhdHRyLXZhbHVlIix7InN0eWxlLWF0dHIiOntwYXR0ZXJuOi9ccypzdHlsZT0oInwnKS4qP1wxL2ksaW5zaWRlOnsiYXR0ci1uYW1lIjp7cGF0dGVybjovXlxzKnN0eWxlL2ksaW5zaWRlOlByaXNtLmxhbmd1YWdlcy5tYXJrdXAudGFnLmluc2lkZX0scHVuY3R1YXRpb246L15ccyo9XHMqWyciXXxbJyJdXHMqJC8sImF0dHItdmFsdWUiOntwYXR0ZXJuOi8uKy9pLGluc2lkZTpQcmlzbS5sYW5ndWFnZXMuY3NzfX0sYWxpYXM6Imxhbmd1YWdlLWNzcyJ9fSxQcmlzbS5sYW5ndWFnZXMubWFya3VwLnRhZykpOzsNClByaXNtLmxhbmd1YWdlcy5jbGlrZT17Y29tbWVudDpbe3BhdHRlcm46LyhefFteXFxdKVwvXCpbXHdcV10qP1wqXC8vLGxvb2tiZWhpbmQ6ITB9LHtwYXR0ZXJuOi8oXnxbXlxcOl0pXC9cLy4qLyxsb29rYmVoaW5kOiEwfV0sc3RyaW5nOi8oInwnKShcXFxufFxcPy4pKj9cMS8sImNsYXNzLW5hbWUiOntwYXR0ZXJuOi8oKD86KD86Y2xhc3N8aW50ZXJmYWNlfGV4dGVuZHN8aW1wbGVtZW50c3x0cmFpdHxpbnN0YW5jZW9mfG5ldylccyspfCg/OmNhdGNoXHMrXCgpKVthLXowLTlfXC5cXF0rL2ksbG9va2JlaGluZDohMCxpbnNpZGU6e3B1bmN0dWF0aW9uOi8oXC58XFwpL319LGtleXdvcmQ6L1xiKGlmfGVsc2V8d2hpbGV8ZG98Zm9yfHJldHVybnxpbnxpbnN0YW5jZW9mfGZ1bmN0aW9ufG5ld3x0cnl8dGhyb3d8Y2F0Y2h8ZmluYWxseXxudWxsfGJyZWFrfGNvbnRpbnVlKVxiLywiYm9vbGVhbiI6L1xiKHRydWV8ZmFsc2UpXGIvLCJmdW5jdGlvbiI6e3BhdHRlcm46L1thLXowLTlfXStcKC9pLGluc2lkZTp7cHVuY3R1YXRpb246L1woL319LG51bWJlcjovXGItPygweFtcZEEtRmEtZl0rfFxkKlwuP1xkKyhbRWVdLT9cZCspPylcYi8sb3BlcmF0b3I6L1stK117MSwyfXwhfDw9P3w+PT98PXsxLDN9fCZ7MSwyfXxcfD9cfHxcP3xcKnxcL3x+fFxefCUvLGlnbm9yZTovJihsdHxndHxhbXApOy9pLHB1bmN0dWF0aW9uOi9be31bXF07KCksLjpdL307Ow0KUHJpc20ubGFuZ3VhZ2VzLmphdmFzY3JpcHQ9UHJpc20ubGFuZ3VhZ2VzLmV4dGVuZCgiY2xpa2UiLHtrZXl3b3JkOi9cYihicmVha3xjYXNlfGNhdGNofGNsYXNzfGNvbnN0fGNvbnRpbnVlfGRlYnVnZ2VyfGRlZmF1bHR8ZGVsZXRlfGRvfGVsc2V8ZW51bXxleHBvcnR8ZXh0ZW5kc3xmYWxzZXxmaW5hbGx5fGZvcnxmdW5jdGlvbnxnZXR8aWZ8aW1wbGVtZW50c3xpbXBvcnR8aW58aW5zdGFuY2VvZnxpbnRlcmZhY2V8bGV0fG5ld3xudWxsfHBhY2thZ2V8cHJpdmF0ZXxwcm90ZWN0ZWR8cHVibGljfHJldHVybnxzZXR8c3RhdGljfHN1cGVyfHN3aXRjaHx0aGlzfHRocm93fHRydWV8dHJ5fHR5cGVvZnx2YXJ8dm9pZHx3aGlsZXx3aXRofHlpZWxkKVxiLyxudW1iZXI6L1xiLT8oMHhbXGRBLUZhLWZdK3xcZCpcLj9cZCsoW0VlXVsrLV0/XGQrKT98TmFOfC0/SW5maW5pdHkpXGIvLCJmdW5jdGlvbiI6Lyg/IVxkKVthLXowLTlfJF0rKD89XCgpL2l9KSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJqYXZhc2NyaXB0Iiwia2V5d29yZCIse3JlZ2V4OntwYXR0ZXJuOi8oXnxbXi9dKVwvKD8hXC8pKFxbLis/XXxcXC58W14vXHJcbl0pK1wvW2dpbV17MCwzfSg/PVxzKigkfFtcclxuLC47fSldKSkvLGxvb2tiZWhpbmQ6ITB9fSksUHJpc20ubGFuZ3VhZ2VzLm1hcmt1cCYmUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgibWFya3VwIiwidGFnIix7c2NyaXB0OntwYXR0ZXJuOi88c2NyaXB0W1x3XFddKj8+W1x3XFddKj88XC9zY3JpcHQ+L2ksaW5zaWRlOnt0YWc6e3BhdHRlcm46LzxzY3JpcHRbXHdcV10qPz58PFwvc2NyaXB0Pi9pLGluc2lkZTpQcmlzbS5sYW5ndWFnZXMubWFya3VwLnRhZy5pbnNpZGV9LHJlc3Q6UHJpc20ubGFuZ3VhZ2VzLmphdmFzY3JpcHR9LGFsaWFzOiJsYW5ndWFnZS1qYXZhc2NyaXB0In19KTs7DQpQcmlzbS5sYW5ndWFnZXMuYXNwbmV0PVByaXNtLmxhbmd1YWdlcy5leHRlbmQoIm1hcmt1cCIseyJwYWdlLWRpcmVjdGl2ZSB0YWciOntwYXR0ZXJuOi88JVxzKkAuKiU+L2ksaW5zaWRlOnsicGFnZS1kaXJlY3RpdmUgdGFnIjovPCVccypAXHMqKD86QXNzZW1ibHl8Q29udHJvbHxJbXBsZW1lbnRzfEltcG9ydHxNYXN0ZXJ8TWFzdGVyVHlwZXxPdXRwdXRDYWNoZXxQYWdlfFByZXZpb3VzUGFnZVR5cGV8UmVmZXJlbmNlfFJlZ2lzdGVyKT98JT4vaSxyZXN0OlByaXNtLmxhbmd1YWdlcy5tYXJrdXAudGFnLmluc2lkZX19LCJkaXJlY3RpdmUgdGFnIjp7cGF0dGVybjovPCUuKiU+L2ksaW5zaWRlOnsiZGlyZWN0aXZlIHRhZyI6LzwlXHMqP1skPSUjOl17MCwyfXwlPi9pLHJlc3Q6UHJpc20ubGFuZ3VhZ2VzLmNzaGFycH19fSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiaW5zaWRlIiwicHVuY3R1YXRpb24iLHsiZGlyZWN0aXZlIHRhZyI6UHJpc20ubGFuZ3VhZ2VzLmFzcG5ldFsiZGlyZWN0aXZlIHRhZyJdfSxQcmlzbS5sYW5ndWFnZXMuYXNwbmV0LnRhZy5pbnNpZGVbImF0dHItdmFsdWUiXSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiYXNwbmV0IiwiY29tbWVudCIseyJhc3AgY29tbWVudCI6LzwlLS1bXHdcV10qPy0tJT4vfSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiYXNwbmV0IixQcmlzbS5sYW5ndWFnZXMuamF2YXNjcmlwdD8ic2NyaXB0IjoidGFnIix7ImFzcCBzY3JpcHQiOntwYXR0ZXJuOi88c2NyaXB0KD89LipydW5hdD1bJyJdP3NlcnZlclsnIl0/KVtcd1xXXSo/Pltcd1xXXSo/PFwvc2NyaXB0Pi9pLGluc2lkZTp7dGFnOntwYXR0ZXJuOi88XC8/c2NyaXB0XHMqKD86XHMrW1x3Oi1dKyg/Oj0oPzooInwnKShcXD9bXHdcV10pKj9cMXxcdyspKT9ccyopKlwvPz4vaSxpbnNpZGU6UHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC50YWcuaW5zaWRlfSxyZXN0OlByaXNtLmxhbmd1YWdlcy5jc2hhcnB8fHt9fX19KSxQcmlzbS5sYW5ndWFnZXMuYXNwbmV0LnN0eWxlJiYoUHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC5zdHlsZS5pbnNpZGUudGFnLnBhdHRlcm49LzxcLz9zdHlsZVxzKig/OlxzK1tcdzotXSsoPzo9KD86KCJ8JykoXFw/W1x3XFddKSo/XDF8XHcrKSk/XHMqKSpcLz8+L2ksUHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC5zdHlsZS5pbnNpZGUudGFnLmluc2lkZT1QcmlzbS5sYW5ndWFnZXMuYXNwbmV0LnRhZy5pbnNpZGUpLFByaXNtLmxhbmd1YWdlcy5hc3BuZXQuc2NyaXB0JiYoUHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC5zY3JpcHQuaW5zaWRlLnRhZy5wYXR0ZXJuPVByaXNtLmxhbmd1YWdlcy5hc3BuZXRbImFzcCBzY3JpcHQiXS5pbnNpZGUudGFnLnBhdHRlcm4sUHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC5zY3JpcHQuaW5zaWRlLnRhZy5pbnNpZGU9UHJpc20ubGFuZ3VhZ2VzLmFzcG5ldC50YWcuaW5zaWRlKTs7DQpQcmlzbS5sYW5ndWFnZXMuYmFzaD1QcmlzbS5sYW5ndWFnZXMuZXh0ZW5kKCJjbGlrZSIse2NvbW1lbnQ6e3BhdHRlcm46LyhefFteIntcXF0pKCMuKj8oXHI/XG58JCkpLyxsb29rYmVoaW5kOiEwfSxzdHJpbmc6e3BhdHRlcm46LygifCcpKFxcP1tcc1xTXSkqP1wxLyxpbnNpZGU6e3Byb3BlcnR5Oi9cJChbYS16QS1aMC05XyNcP1wtXCohQF0rfFx7W15cfV0rXH0pL319LG51bWJlcjp7cGF0dGVybjovKFteXHdcLl0pLT8oMHhbXGRBLUZhLWZdK3xcZCpcLj9cZCsoW0VlXS0/XGQrKT8pXGIvLGxvb2tiZWhpbmQ6ITB9LCJmdW5jdGlvbiI6L1xiKD86YWxpYXN8YXByb3Bvc3xhcHQtZ2V0fGFwdGl0dWRlfGFzcGVsbHxhd2t8YmFzZW5hbWV8YmFzaHxiY3xiZ3xidWlsdGlufGJ6aXAyfGNhbHxjYXR8Y2R8Y2ZkaXNrfGNoZ3JwfGNobW9kfGNob3dufGNocm9vdHxjaGtjb25maWd8Y2tzdW18Y2xlYXJ8Y21wfGNvbW18Y29tbWFuZHxjcHxjcm9ufGNyb250YWJ8Y3NwbGl0fGN1dHxkYXRlfGRjfGRkfGRkcmVzY3VlfGRlY2xhcmV8ZGZ8ZGlmZnxkaWZmM3xkaWd8ZGlyfGRpcmNvbG9yc3xkaXJuYW1lfGRpcnN8ZG1lc2d8ZHV8ZWNob3xlZ3JlcHxlamVjdHxlbmFibGV8ZW52fGV0aHRvb2x8ZXZhbHxleGVjfGV4aXR8ZXhwYW5kfGV4cGVjdHxleHBvcnR8ZXhwcnxmZGZvcm1hdHxmZGlza3xmZ3xmZ3JlcHxmaWxlfGZpbmR8Zm10fGZvbGR8Zm9ybWF0fGZyZWV8ZnNja3xmdHB8ZnVzZXJ8Z2F3a3xnZXRvcHRzfGdpdHxncmVwfGdyb3VwYWRkfGdyb3VwZGVsfGdyb3VwbW9kfGdyb3Vwc3xnemlwfGhhc2h8aGVhZHxoZWxwfGhnfGhpc3Rvcnl8aG9zdG5hbWV8aHRvcHxpY29udnxpZHxpZmNvbmZpZ3xpZmRvd258aWZ1cHxpbXBvcnR8aW5zdGFsbHxqb2JzfGpvaW58a2lsbHxraWxsYWxsfGxlc3N8bGlua3xsbnxsb2NhdGV8bG9nbmFtZXxsb2dvdXR8bG9va3xscGN8bHByfGxwcmludHxscHJpbnRkfGxwcmludHF8bHBybXxsc3xsc29mfG1ha2V8bWFufG1rZGlyfG1rZmlmb3xta2lzb2ZzfG1rbm9kfG1vcmV8bW9zdHxtb3VudHxtdG9vbHN8bXRyfG12fG1tdnxuYW5vfG5ldHN0YXR8bmljZXxubHxub2h1cHxub3RpZnktc2VuZHxuc2xvb2t1cHxvcGVufG9wfHBhc3N3ZHxwYXN0ZXxwYXRoY2hrfHBpbmd8cGtpbGx8cG9wZHxwcnxwcmludGNhcHxwcmludGVudnxwcmludGZ8cHN8cHVzaGR8cHZ8cHdkfHF1b3RhfHF1b3RhY2hlY2t8cXVvdGFjdGx8cmFtfHJhcnxyY3B8cmVhZHxyZWFkYXJyYXl8cmVhZG9ubHl8cmVib290fHJlbmFtZXxyZW5pY2V8cmVtc3luY3xyZXZ8cm18cm1kaXJ8cnN5bmN8c2NyZWVufHNjcHxzZGlmZnxzZWR8c2VsZWN0fHNlcXxzZXJ2aWNlfHNmdHB8c2hpZnR8c2hvcHR8c2h1dGRvd258c2xlZXB8c2xvY2F0ZXxzb3J0fHNvdXJjZXxzcGxpdHxzc2h8c3RhdHxzdHJhY2V8c3V8c3Vkb3xzdW18c3VzcGVuZHxzeW5jfHRhaWx8dGFyfHRlZXx0ZXN0fHRpbWV8dGltZW91dHx0aW1lc3x0b3VjaHx0b3B8dHJhY2Vyb3V0ZXx0cmFwfHRyfHRzb3J0fHR0eXx0eXBlfHVsaW1pdHx1bWFza3x1bW91bnR8dW5hbGlhc3x1bmFtZXx1bmV4cGFuZHx1bmlxfHVuaXRzfHVucmFyfHVuc2hhcnx1bnRpbHx1cHRpbWV8dXNlcmFkZHx1c2VyZGVsfHVzZXJtb2R8dXNlcnN8dXVlbmNvZGV8dXVkZWNvZGV8dnx2ZGlyfHZpfHZtc3RhdHx3YWl0fHdhdGNofHdjfHdnZXR8d2hlcmVpc3x3aGljaHx3aG98d2hvYW1pfHdyaXRlfHhhcmdzfHhkZy1vcGVufHllc3x6aXApXGIvLGtleXdvcmQ6L1xiKGlmfHRoZW58ZWxzZXxlbGlmfGZpfGZvcnxicmVha3xjb250aW51ZXx3aGlsZXxpbnxjYXNlfGZ1bmN0aW9ufHNlbGVjdHxkb3xkb25lfHVudGlsfGVjaG98ZXhpdHxyZXR1cm58c2V0fGRlY2xhcmUpXGIvfSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiYmFzaCIsImtleXdvcmQiLHtwcm9wZXJ0eTovXCQoW2EtekEtWjAtOV8jXD9cLVwqIUBdK3xce1tefV0rXH0pL30pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImJhc2giLCJjb21tZW50Iix7aW1wb3J0YW50Oi8oXiMhXHMqXC9iaW5cL2Jhc2gpfCheIyFccypcL2Jpblwvc2gpL30pOzsNClByaXNtLmxhbmd1YWdlcy5jPVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7c3RyaW5nOi8oInwnKShbXlxuXFxcMV18XFwufFxcXHIqXG4pKj9cMS8sa2V5d29yZDovXGIoYXNtfHR5cGVvZnxpbmxpbmV8YXV0b3xicmVha3xjYXNlfGNoYXJ8Y29uc3R8Y29udGludWV8ZGVmYXVsdHxkb3xkb3VibGV8ZWxzZXxlbnVtfGV4dGVybnxmbG9hdHxmb3J8Z290b3xpZnxpbnR8bG9uZ3xyZWdpc3RlcnxyZXR1cm58c2hvcnR8c2lnbmVkfHNpemVvZnxzdGF0aWN8c3RydWN0fHN3aXRjaHx0eXBlZGVmfHVuaW9ufHVuc2lnbmVkfHZvaWR8dm9sYXRpbGV8d2hpbGUpXGIvLG9wZXJhdG9yOi9bLStdezEsMn18IT0/fDx7MSwyfT0/fD57MSwyfT0/fFwtPnw9ezEsMn18XF58fnwlfCZ7MSwyfXxcfD9cfHxcP3xcKnxcLy99KSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJjIiwic3RyaW5nIix7cHJvcGVydHk6e3BhdHRlcm46LygoXnxcbilccyopI1xzKlthLXpdKyhbXlxuXFxdfFxcLnxcXFxyKlxuKSovaSxsb29rYmVoaW5kOiEwLGluc2lkZTp7c3RyaW5nOntwYXR0ZXJuOi8oI1xzKmluY2x1ZGVccyopKDwuKz8+fCgifCcpKFxcPy4pKz9cMykvLGxvb2tiZWhpbmQ6ITB9fX19KSxkZWxldGUgUHJpc20ubGFuZ3VhZ2VzLmNbImNsYXNzLW5hbWUiXSxkZWxldGUgUHJpc20ubGFuZ3VhZ2VzLmNbImJvb2xlYW4iXTs7DQpQcmlzbS5sYW5ndWFnZXMuY3NoYXJwPVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYWJzdHJhY3R8YXN8YXN5bmN8YXdhaXR8YmFzZXxib29sfGJyZWFrfGJ5dGV8Y2FzZXxjYXRjaHxjaGFyfGNoZWNrZWR8Y2xhc3N8Y29uc3R8Y29udGludWV8ZGVjaW1hbHxkZWZhdWx0fGRlbGVnYXRlfGRvfGRvdWJsZXxlbHNlfGVudW18ZXZlbnR8ZXhwbGljaXR8ZXh0ZXJufGZhbHNlfGZpbmFsbHl8Zml4ZWR8ZmxvYXR8Zm9yfGZvcmVhY2h8Z290b3xpZnxpbXBsaWNpdHxpbnxpbnR8aW50ZXJmYWNlfGludGVybmFsfGlzfGxvY2t8bG9uZ3xuYW1lc3BhY2V8bmV3fG51bGx8b2JqZWN0fG9wZXJhdG9yfG91dHxvdmVycmlkZXxwYXJhbXN8cHJpdmF0ZXxwcm90ZWN0ZWR8cHVibGljfHJlYWRvbmx5fHJlZnxyZXR1cm58c2J5dGV8c2VhbGVkfHNob3J0fHNpemVvZnxzdGFja2FsbG9jfHN0YXRpY3xzdHJpbmd8c3RydWN0fHN3aXRjaHx0aGlzfHRocm93fHRydWV8dHJ5fHR5cGVvZnx1aW50fHVsb25nfHVuY2hlY2tlZHx1bnNhZmV8dXNob3J0fHVzaW5nfHZpcnR1YWx8dm9pZHx2b2xhdGlsZXx3aGlsZXxhZGR8YWxpYXN8YXNjZW5kaW5nfGFzeW5jfGF3YWl0fGRlc2NlbmRpbmd8ZHluYW1pY3xmcm9tfGdldHxnbG9iYWx8Z3JvdXB8aW50b3xqb2lufGxldHxvcmRlcmJ5fHBhcnRpYWx8cmVtb3ZlfHNlbGVjdHxzZXR8dmFsdWV8dmFyfHdoZXJlfHlpZWxkKVxiLyxzdHJpbmc6Wy9AKCJ8JykoXDFcMXxcXFwxfFxcPyg/IVwxKVtcc1xTXSkqXDEvLC8oInwnKShcXD8uKSo/XDEvXSxwcmVwcm9jZXNzb3I6L15ccyojLiovbSxudW1iZXI6L1xiLT8oMHhbXGRhLWZdK3xcZCpcLj9cZCspXGIvaX0pOzsNClByaXNtLmxhbmd1YWdlcy5jcHA9UHJpc20ubGFuZ3VhZ2VzLmV4dGVuZCgiYyIse2tleXdvcmQ6L1xiKGFsaWduYXN8YWxpZ25vZnxhc218YXV0b3xib29sfGJyZWFrfGNhc2V8Y2F0Y2h8Y2hhcnxjaGFyMTZfdHxjaGFyMzJfdHxjbGFzc3xjb21wbHxjb25zdHxjb25zdGV4cHJ8Y29uc3RfY2FzdHxjb250aW51ZXxkZWNsdHlwZXxkZWZhdWx0fGRlbGV0ZXxkZWxldGVcW1xdfGRvfGRvdWJsZXxkeW5hbWljX2Nhc3R8ZWxzZXxlbnVtfGV4cGxpY2l0fGV4cG9ydHxleHRlcm58ZmxvYXR8Zm9yfGZyaWVuZHxnb3RvfGlmfGlubGluZXxpbnR8bG9uZ3xtdXRhYmxlfG5hbWVzcGFjZXxuZXd8bmV3XFtcXXxub2V4Y2VwdHxudWxscHRyfG9wZXJhdG9yfHByaXZhdGV8cHJvdGVjdGVkfHB1YmxpY3xyZWdpc3RlcnxyZWludGVycHJldF9jYXN0fHJldHVybnxzaG9ydHxzaWduZWR8c2l6ZW9mfHN0YXRpY3xzdGF0aWNfYXNzZXJ0fHN0YXRpY19jYXN0fHN0cnVjdHxzd2l0Y2h8dGVtcGxhdGV8dGhpc3x0aHJlYWRfbG9jYWx8dGhyb3d8dHJ5fHR5cGVkZWZ8dHlwZWlkfHR5cGVuYW1lfHVuaW9ufHVuc2lnbmVkfHVzaW5nfHZpcnR1YWx8dm9pZHx2b2xhdGlsZXx3Y2hhcl90fHdoaWxlKVxiLywiYm9vbGVhbiI6L1xiKHRydWV8ZmFsc2UpXGIvLG9wZXJhdG9yOi9bLStdezEsMn18IT0/fDx7MSwyfT0/fD57MSwyfT0/fFwtPnw6ezEsMn18PXsxLDJ9fFxefH58JXwmezEsMn18XHw/XHx8XD98XCp8XC98XGIoYW5kfGFuZF9lcXxiaXRhbmR8Yml0b3J8bm90fG5vdF9lcXxvcnxvcl9lcXx4b3J8eG9yX2VxKVxiL30pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImNwcCIsImtleXdvcmQiLHsiY2xhc3MtbmFtZSI6e3BhdHRlcm46LyhjbGFzc1xzKylbYS16MC05X10rL2ksbG9va2JlaGluZDohMH19KTs7DQohZnVuY3Rpb24oZSl7dmFyIG49LyMoPyFceykuKy8sdD17cGF0dGVybjovI1x7W159XStcfS8sYWxpYXM6InZhcmlhYmxlIn07ZS5sYW5ndWFnZXMuY29mZmVlc2NyaXB0PWUubGFuZ3VhZ2VzLmV4dGVuZCgiamF2YXNjcmlwdCIse2NvbW1lbnQ6bixzdHJpbmc6Wy8nKD86XFw/W1xzXFNdKSo/Jy8se3BhdHRlcm46LyIoPzpcXD9bXHNcU10pKj8iLyxpbnNpZGU6e2ludGVycG9sYXRpb246dH19XSxrZXl3b3JkOi9cYihhbmR8YnJlYWt8Ynl8Y2F0Y2h8Y2xhc3N8Y29udGludWV8ZGVidWdnZXJ8ZGVsZXRlfGRvfGVhY2h8ZWxzZXxleHRlbmR8ZXh0ZW5kc3xmYWxzZXxmaW5hbGx5fGZvcnxpZnxpbnxpbnN0YW5jZW9mfGlzfGlzbnR8bGV0fGxvb3B8bmFtZXNwYWNlfG5ld3xub3xub3R8bnVsbHxvZnxvZmZ8b258b3J8b3dufHJldHVybnxzdXBlcnxzd2l0Y2h8dGhlbnx0aGlzfHRocm93fHRydWV8dHJ5fHR5cGVvZnx1bmRlZmluZWR8dW5sZXNzfHVudGlsfHdoZW58d2hpbGV8d2luZG93fHdpdGh8eWVzfHlpZWxkKVxiLywiY2xhc3MtbWVtYmVyIjp7cGF0dGVybjovQCg/IVxkKVx3Ky8sYWxpYXM6InZhcmlhYmxlIn19KSxlLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImNvZmZlZXNjcmlwdCIsImNvbW1lbnQiLHsibXVsdGlsaW5lLWNvbW1lbnQiOntwYXR0ZXJuOi8jIyNbXHNcU10rPyMjIy8sYWxpYXM6ImNvbW1lbnQifSwiYmxvY2stcmVnZXgiOntwYXR0ZXJuOi9cL3szfVtcc1xTXSo/XC97M30vLGFsaWFzOiJyZWdleCIsaW5zaWRlOntjb21tZW50Om4saW50ZXJwb2xhdGlvbjp0fX19KSxlLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImNvZmZlZXNjcmlwdCIsInN0cmluZyIseyJpbmxpbmUtamF2YXNjcmlwdCI6e3BhdHRlcm46L2AoPzpcXD9bXHNcU10pKj9gLyxpbnNpZGU6e2RlbGltaXRlcjp7cGF0dGVybjovXmB8YCQvLGFsaWFzOiJwdW5jdHVhdGlvbiJ9LHJlc3Q6ZS5sYW5ndWFnZXMuamF2YXNjcmlwdH19LCJtdWx0aWxpbmUtc3RyaW5nIjpbe3BhdHRlcm46LycnJ1tcc1xTXSo/JycnLyxhbGlhczoic3RyaW5nIn0se3BhdHRlcm46LyIiIltcc1xTXSo/IiIiLyxhbGlhczoic3RyaW5nIixpbnNpZGU6e2ludGVycG9sYXRpb246dH19XX0pLGUubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiY29mZmVlc2NyaXB0Iiwia2V5d29yZCIse3Byb3BlcnR5Oi8oPyFcZClcdysoPz1ccyo6KD8hOikpL30pfShQcmlzbSk7Ow0KUHJpc20ubGFuZ3VhZ2VzLmNzcy5zZWxlY3Rvcj17cGF0dGVybjovW15ce1x9XHNdW15ce1x9XSooPz1ccypceykvLGluc2lkZTp7InBzZXVkby1lbGVtZW50IjovOig/OmFmdGVyfGJlZm9yZXxmaXJzdC1sZXR0ZXJ8Zmlyc3QtbGluZXxzZWxlY3Rpb24pfDo6Wy1cd10rLywicHNldWRvLWNsYXNzIjovOlstXHddKyg/OlwoLipcKSk/LywiY2xhc3MiOi9cLlstOlwuXHddKy8saWQ6LyNbLTpcLlx3XSsvfX0sUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgiY3NzIiwiZnVuY3Rpb24iLHtoZXhjb2RlOi8jW1xkYS1mXXszLDZ9L2ksZW50aXR5Oi9cXFtcZGEtZl17MSw4fS9pLG51bWJlcjovW1xkJVwuXSsvfSk7Ow0KUHJpc20ubGFuZ3VhZ2VzLmdpdD17Y29tbWVudDovXiMuKiQvbSxzdHJpbmc6LygifCcpKFxcPy4pKj9cMS9tLGNvbW1hbmQ6e3BhdHRlcm46L14uKlwkIGdpdCAuKiQvbSxpbnNpZGU6e3BhcmFtZXRlcjovXHMoLS18LSlcdysvbX19LGNvb3JkOi9eQEAuKkBAJC9tLGRlbGV0ZWQ6L14tKD8hLSkuKyQvbSxpbnNlcnRlZDovXlwrKD8hXCspLiskL20sY29tbWl0X3NoYTE6L15jb21taXQgXHd7NDB9JC9tfTs7DQpQcmlzbS5sYW5ndWFnZXMuaHR0cD17InJlcXVlc3QtbGluZSI6e3BhdHRlcm46L14oUE9TVHxHRVR8UFVUfERFTEVURXxPUFRJT05TfFBBVENIfFRSQUNFfENPTk5FQ1QpXGJcc2h0dHBzPzpcL1wvXFMrXHNIVFRQXC9bMC05Ll0rLyxpbnNpZGU6e3Byb3BlcnR5Oi9eXGIoUE9TVHxHRVR8UFVUfERFTEVURXxPUFRJT05TfFBBVENIfFRSQUNFfENPTk5FQ1QpXGIvLCJhdHRyLW5hbWUiOi86XHcrL319LCJyZXNwb25zZS1zdGF0dXMiOntwYXR0ZXJuOi9eSFRUUFwvMS5bMDFdIFswLTldKy4qLyxpbnNpZGU6e3Byb3BlcnR5Oi9bMC05XStbQS1aXHMtXSskL2l9fSxrZXl3b3JkOi9eW1x3LV0rOig/PS4rKS9tfTt2YXIgaHR0cExhbmd1YWdlcz17ImFwcGxpY2F0aW9uL2pzb24iOlByaXNtLmxhbmd1YWdlcy5qYXZhc2NyaXB0LCJhcHBsaWNhdGlvbi94bWwiOlByaXNtLmxhbmd1YWdlcy5tYXJrdXAsInRleHQveG1sIjpQcmlzbS5sYW5ndWFnZXMubWFya3VwLCJ0ZXh0L2h0bWwiOlByaXNtLmxhbmd1YWdlcy5tYXJrdXB9O2Zvcih2YXIgY29udGVudFR5cGUgaW4gaHR0cExhbmd1YWdlcylpZihodHRwTGFuZ3VhZ2VzW2NvbnRlbnRUeXBlXSl7dmFyIG9wdGlvbnM9e307b3B0aW9uc1tjb250ZW50VHlwZV09e3BhdHRlcm46bmV3IFJlZ0V4cCgiKGNvbnRlbnQtdHlwZTpcXHMqIitjb250ZW50VHlwZSsiW1xcd1xcV10qPylcXG5cXG5bXFx3XFxXXSoiLCJpIiksbG9va2JlaGluZDohMCxpbnNpZGU6e3Jlc3Q6aHR0cExhbmd1YWdlc1tjb250ZW50VHlwZV19fSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJodHRwIiwia2V5d29yZCIsb3B0aW9ucyl9Ow0KUHJpc20ubGFuZ3VhZ2VzLmluaT17Y29tbWVudDovXlxzKjsuKiQvbSxpbXBvcnRhbnQ6L1xbLio/XF0vbSxjb25zdGFudDovXlxzKlteXHM9XSs/KD89WyBcdF0qPSkvbSwiYXR0ci12YWx1ZSI6e3BhdHRlcm46Lz0uKi9tLGluc2lkZTp7cHVuY3R1YXRpb246L15bPV0vfX19OzsNClByaXNtLmxhbmd1YWdlcy5qYXZhPVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYWJzdHJhY3R8Y29udGludWV8Zm9yfG5ld3xzd2l0Y2h8YXNzZXJ0fGRlZmF1bHR8Z290b3xwYWNrYWdlfHN5bmNocm9uaXplZHxib29sZWFufGRvfGlmfHByaXZhdGV8dGhpc3xicmVha3xkb3VibGV8aW1wbGVtZW50c3xwcm90ZWN0ZWR8dGhyb3d8Ynl0ZXxlbHNlfGltcG9ydHxwdWJsaWN8dGhyb3dzfGNhc2V8ZW51bXxpbnN0YW5jZW9mfHJldHVybnx0cmFuc2llbnR8Y2F0Y2h8ZXh0ZW5kc3xpbnR8c2hvcnR8dHJ5fGNoYXJ8ZmluYWx8aW50ZXJmYWNlfHN0YXRpY3x2b2lkfGNsYXNzfGZpbmFsbHl8bG9uZ3xzdHJpY3RmcHx2b2xhdGlsZXxjb25zdHxmbG9hdHxuYXRpdmV8c3VwZXJ8d2hpbGUpXGIvLG51bWJlcjovXGIwYlswMV0rXGJ8XGIweFtcZGEtZl0qXC4/W1xkYS1mcFwtXStcYnxcYlxkKlwuP1xkK1tlXT9bXGRdKltkZl1cYnxcYlxkKlwuP1xkK1xiL2ksb3BlcmF0b3I6e3BhdHRlcm46LyhefFteXC5dKSg/OlwrPXxcK1wrP3wtPXwtLT98IT0/fDx7MSwyfT0/fD57MSwzfT0/fD09P3wmPXwmJj98XHw9fFx8XHw/fFw/fFwqPT98XC89P3wlPT98XF49P3w6fH4pL20sbG9va2JlaGluZDohMH19KTs7DQpQcmlzbS5sYW5ndWFnZXMubGF0ZXg9e2NvbW1lbnQ6LyUuKj8oXHI/XG58JCkkL20sc3RyaW5nOi8oXCQpKFxcPy4pKj9cMS8scHVuY3R1YXRpb246L1t7fV0vLHNlbGVjdG9yOi9cXFthLXo7LDpcLl0qL2l9OzsNClByaXNtLmxhbmd1YWdlcy5sZXNzPVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNzcyIse2NvbW1lbnQ6Wy9cL1wqW1x3XFddKj9cKlwvLyx7cGF0dGVybjovKF58W15cXF0pXC9cLy4qLyxsb29rYmVoaW5kOiEwfV0sYXRydWxlOntwYXR0ZXJuOi9AW1x3LV0rPyg/OlwoW157fV0rXCl8W14oKXt9O10pKj8oPz1ccypceykvaSxpbnNpZGU6e3B1bmN0dWF0aW9uOi9bOigpXS99fSxzZWxlY3Rvcjp7cGF0dGVybjovKD86QFx7W1x3LV0rXH18W157fTtcc0BdKSg/OkBce1tcdy1dK1x9fFwoW157fV0qXCl8W157fTtAXSkqPyg/PVxzKlx7KS8saW5zaWRlOnt2YXJpYWJsZTovQCtbXHctXSsvfX0scHJvcGVydHk6LyhcYnxcQikoPzpAXHtbXHctXStcfXxbXHctXSkrKD86XCtfPyk/KD89XHMqOikvaSxwdW5jdHVhdGlvbjovW3t9KCk7OixdLyxvcGVyYXRvcjovWytcLSpcL10vfSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgibGVzcyIsInB1bmN0dWF0aW9uIix7ImZ1bmN0aW9uIjpQcmlzbS5sYW5ndWFnZXMubGVzcy5mdW5jdGlvbn0pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoImxlc3MiLCJwcm9wZXJ0eSIse3ZhcmlhYmxlOlt7cGF0dGVybjovQFtcdy1dK1xzKjovLGluc2lkZTp7cHVuY3R1YXRpb246LzovfX0sL0BAP1tcdy1dKy9dLCJtaXhpbi11c2FnZSI6e3BhdHRlcm46LyhbeztdXHMqKVsuI10oPyFcZClbXHctXSsuKj8oPz1bKDtdKS8sbG9va2JlaGluZDohMCxhbGlhczoiZnVuY3Rpb24ifX0pOzsNClByaXNtLmxhbmd1YWdlcy5tYXRsYWI9e3N0cmluZzp7cGF0dGVybjovKF58XFcpJyg/OicnfFteJ1xuXSkqJy8sbG9va2JlaGluZDohMH0sY29tbWVudDpbLyVce1tcc1xTXSo/XH0lLywvJS4rL10sbnVtYmVyOi9cYi0/KD86XGQqXC4/XGQrKD86W2VFXVsrLV0/XGQrKT8oPzpbaWpdKT98W2lqXSlcYi8sa2V5d29yZDovXGIoPzpicmVha3xjYXNlfGNhdGNofGNvbnRpbnVlfGVsc2V8ZWxzZWlmfGVuZHxmb3J8ZnVuY3Rpb258aWZ8aW5mfE5hTnxvdGhlcndpc2V8cGFyZm9yfHBhdXNlfHBpfHJldHVybnxzd2l0Y2h8dHJ5fHdoaWxlKVxiLywiZnVuY3Rpb24iOi8oPyFcZClcdysoPz1ccypcKCkvLG9wZXJhdG9yOi9cLj9bKl5cL1xcJ118WytcLTpAXXxbPD49fl09P3wmJj98XHxcfD8vLHB1bmN0dWF0aW9uOi9cLnszfXxbLiw7XFtcXSgpe30hXS99OzsNClByaXNtLmxhbmd1YWdlcy5vYmplY3RpdmVjPVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImMiLHtrZXl3b3JkOi8oXGIoYXNtfHR5cGVvZnxpbmxpbmV8YXV0b3xicmVha3xjYXNlfGNoYXJ8Y29uc3R8Y29udGludWV8ZGVmYXVsdHxkb3xkb3VibGV8ZWxzZXxlbnVtfGV4dGVybnxmbG9hdHxmb3J8Z290b3xpZnxpbnR8bG9uZ3xyZWdpc3RlcnxyZXR1cm58c2hvcnR8c2lnbmVkfHNpemVvZnxzdGF0aWN8c3RydWN0fHN3aXRjaHx0eXBlZGVmfHVuaW9ufHVuc2lnbmVkfHZvaWR8dm9sYXRpbGV8d2hpbGV8aW58c2VsZnxzdXBlcilcYil8KCg/PVtcd3xAXSkoQGludGVyZmFjZXxAZW5kfEBpbXBsZW1lbnRhdGlvbnxAcHJvdG9jb2x8QGNsYXNzfEBwdWJsaWN8QHByb3RlY3RlZHxAcHJpdmF0ZXxAcHJvcGVydHl8QHRyeXxAY2F0Y2h8QGZpbmFsbHl8QHRocm93fEBzeW50aGVzaXplfEBkeW5hbWljfEBzZWxlY3RvcilcYikvLHN0cmluZzovKD86KCJ8JykoW15cblxcXDFdfFxcLnxcXFxyKlxuKSo/XDEpfChAIihbXlxuXFwiXXxcXC58XFxccipcbikqPyIpLyxvcGVyYXRvcjovWy0rXXsxLDJ9fCE9P3w8ezEsMn09P3w+ezEsMn09P3xcLT58PXsxLDJ9fFxefH58JXwmezEsMn18XHw/XHx8XD98XCp8XC98QC99KTs7DQpQcmlzbS5sYW5ndWFnZXMucGVybD17Y29tbWVudDpbe3BhdHRlcm46LygoPzpefFxuKVxzKik9XHcrW1xzXFNdKj89Y3V0LiovLGxvb2tiZWhpbmQ6ITB9LHtwYXR0ZXJuOi8oXnxbXlxcJF0pIy4qPyhccj9cbnwkKS8sbG9va2JlaGluZDohMH1dLHN0cmluZzpbL1xiKD86cXxxcXxxeHxxdylccyooW15hLXpBLVowLTlcc1x7XChcWzxdKShcXD8uKSo/XHMqXDEvLC9cYig/OnF8cXF8cXh8cXcpXHMrKFthLXpBLVowLTldKShcXD8uKSo/XHMqXDEvLC9cYig/OnF8cXF8cXh8cXcpXHMqXCgoW14oKV18XFwuKSpccypcKS8sL1xiKD86cXxxcXxxeHxxdylccypceyhbXnt9XXxcXC4pKlxzKlx9LywvXGIoPzpxfHFxfHF4fHF3KVxzKlxbKFteW1xdXXxcXC4pKlxzKlxdLywvXGIoPzpxfHFxfHF4fHF3KVxzKjwoW148Pl18XFwuKSpccyo+LywvKCJ8J3xgKShcXD8uKSo/XDEvXSxyZWdleDpbL1xiKD86bXxxcilccyooW15hLXpBLVowLTlcc1x7XChcWzxdKShcXD8uKSo/XHMqXDFbbXNpeHBvZHVhbGdjXSovLC9cYig/Om18cXIpXHMrKFthLXpBLVowLTldKShcXD8uKSo/XHMqXDFbbXNpeHBvZHVhbGdjXSovLC9cYig/Om18cXIpXHMqXCgoW14oKV18XFwuKSpccypcKVttc2l4cG9kdWFsZ2NdKi8sL1xiKD86bXxxcilccypceyhbXnt9XXxcXC4pKlxzKlx9W21zaXhwb2R1YWxnY10qLywvXGIoPzptfHFyKVxzKlxbKFteW1xdXXxcXC4pKlxzKlxdW21zaXhwb2R1YWxnY10qLywvXGIoPzptfHFyKVxzKjwoW148Pl18XFwuKSpccyo+W21zaXhwb2R1YWxnY10qLywvXGIoPzpzfHRyfHkpXHMqKFteYS16QS1aMC05XHNce1woXFs8XSkoXFw/LikqP1xzKlwxXHMqKCg/IVwxKS58XFwuKSpccypcMVttc2l4cG9kdWFsZ2Nlcl0qLywvXGIoPzpzfHRyfHkpXHMrKFthLXpBLVowLTldKShcXD8uKSo/XHMqXDFccyooKD8hXDEpLnxcXC4pKlxzKlwxW21zaXhwb2R1YWxnY2VyXSovLC9cYig/OnN8dHJ8eSlccypcKChbXigpXXxcXC4pKlxzKlwpXHMqXChccyooW14oKV18XFwuKSpccypcKVttc2l4cG9kdWFsZ2Nlcl0qLywvXGIoPzpzfHRyfHkpXHMqXHsoW157fV18XFwuKSpccypcfVxzKlx7XHMqKFtee31dfFxcLikqXHMqXH1bbXNpeHBvZHVhbGdjZXJdKi8sL1xiKD86c3x0cnx5KVxzKlxbKFteW1xdXXxcXC4pKlxzKlxdXHMqXFtccyooW15bXF1dfFxcLikqXHMqXF1bbXNpeHBvZHVhbGdjZXJdKi8sL1xiKD86c3x0cnx5KVxzKjwoW148Pl18XFwuKSpccyo+XHMqPFxzKihbXjw+XXxcXC4pKlxzKj5bbXNpeHBvZHVhbGdjZXJdKi8sL1wvKFxbLis/XXxcXC58W15cL1xyXG5dKSpcL1ttc2l4cG9kdWFsZ2NdKig/PVxzKigkfFtcclxuLC47fSkmfFwtKyo9fjw+IT9eXXwobHR8Z3R8bGV8Z2V8ZXF8bmV8Y21wfG5vdHxhbmR8b3J8eG9yfHgpXGIpKS9dLHZhcmlhYmxlOlsvWyYqXCRAJV1ce1xeW0EtWl0rXH0vLC9bJipcJEAlXVxeW0EtWl9dLywvWyYqXCRAJV0jPyg/PVx7KS8sL1smKlwkQCVdIz8oKDo6KSonPyg/IVxkKVtcdyRdKykrKDo6KSovaSwvWyYqXCRAJV1cZCsvLC9bXCRAJV1bISIjXCQlJicoKSorLFwtLlwvOjs8PT4/QFtcXFxdXl9ge3x9fl0vXSxmaWxlaGFuZGxlOntwYXR0ZXJuOi88KD8hPSkuKj58XGJfXGIvLGFsaWFzOiJzeW1ib2wifSx2c3RyaW5nOntwYXR0ZXJuOi92XGQrKFwuXGQrKSp8XGQrKFwuXGQrKXsyLH0vLGFsaWFzOiJzdHJpbmcifSwiZnVuY3Rpb24iOntwYXR0ZXJuOi9zdWIgW2EtejAtOV9dKy9pLGluc2lkZTp7a2V5d29yZDovc3ViL319LGtleXdvcmQ6L1xiKGFueXxicmVha3xjb250aW51ZXxkZWZhdWx0fGRlbGV0ZXxkaWV8ZG98ZWxzZXxlbHNpZnxldmFsfGZvcnxmb3JlYWNofGdpdmVufGdvdG98aWZ8bGFzdHxsb2NhbHxteXxuZXh0fG91cnxwYWNrYWdlfHByaW50fHJlZG98cmVxdWlyZXxzYXl8c3RhdGV8c3VifHN3aXRjaHx1bmRlZnx1bmxlc3N8dW50aWx8dXNlfHdoZW58d2hpbGUpXGIvLG51bWJlcjovKFxufFxiKS0/KDB4W1xkQS1GYS1mXShfP1tcZEEtRmEtZl0pKnwwYlswMV0oXz9bMDFdKSp8KFxkKF8/XGQpKik/XC4/XGQoXz9cZCkqKFtFZV0tP1xkKyk/KVxiLyxvcGVyYXRvcjovLVtyd3hvUldYT2V6c2ZkbHBTYmN0dWdrVEJNQUNdXGJ8Wy0rKj1+XC98Jl17MSwyfXw8PT98Pj0/fFwuezEsM318WyE/XFxeXXxcYihsdHxndHxsZXxnZXxlcXxuZXxjbXB8bm90fGFuZHxvcnx4b3J8eClcYi8scHVuY3R1YXRpb246L1t7fVtcXTsoKSw6XS99OzsNClByaXNtLmxhbmd1YWdlcy5waHA9UHJpc20ubGFuZ3VhZ2VzLmV4dGVuZCgiY2xpa2UiLHtrZXl3b3JkOi9cYihhbmR8b3J8eG9yfGFycmF5fGFzfGJyZWFrfGNhc2V8Y2Z1bmN0aW9ufGNsYXNzfGNvbnN0fGNvbnRpbnVlfGRlY2xhcmV8ZGVmYXVsdHxkaWV8ZG98ZWxzZXxlbHNlaWZ8ZW5kZGVjbGFyZXxlbmRmb3J8ZW5kZm9yZWFjaHxlbmRpZnxlbmRzd2l0Y2h8ZW5kd2hpbGV8ZXh0ZW5kc3xmb3J8Zm9yZWFjaHxmdW5jdGlvbnxpbmNsdWRlfGluY2x1ZGVfb25jZXxnbG9iYWx8aWZ8bmV3fHJldHVybnxzdGF0aWN8c3dpdGNofHVzZXxyZXF1aXJlfHJlcXVpcmVfb25jZXx2YXJ8d2hpbGV8YWJzdHJhY3R8aW50ZXJmYWNlfHB1YmxpY3xpbXBsZW1lbnRzfHByaXZhdGV8cHJvdGVjdGVkfHBhcmVudHx0aHJvd3xudWxsfGVjaG98cHJpbnR8dHJhaXR8bmFtZXNwYWNlfGZpbmFsfHlpZWxkfGdvdG98aW5zdGFuY2VvZnxmaW5hbGx5fHRyeXxjYXRjaClcYi9pLGNvbnN0YW50Oi9cYltBLVowLTlfXXsyLH1cYi8sY29tbWVudDp7cGF0dGVybjovKF58W15cXF0pKFwvXCpbXHdcV10qP1wqXC98KF58W146XSkoXC9cLykuKj8oXHI/XG58JCkpLyxsb29rYmVoaW5kOiEwfX0pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInBocCIsImNsYXNzLW5hbWUiLHsic2hlbGwtY29tbWVudCI6e3BhdHRlcm46LyhefFteXFxdKSMuKj8oXHI/XG58JCkvLGxvb2tiZWhpbmQ6ITAsYWxpYXM6ImNvbW1lbnQifX0pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInBocCIsImtleXdvcmQiLHtkZWxpbWl0ZXI6LyhcPz58PFw/cGhwfDxcPykvaSx2YXJpYWJsZTovKFwkXHcrKVxiL2ksInBhY2thZ2UiOntwYXR0ZXJuOi8oXFx8bmFtZXNwYWNlXHMrfHVzZVxzKylbXHdcXF0rLyxsb29rYmVoaW5kOiEwLGluc2lkZTp7cHVuY3R1YXRpb246L1xcL319fSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgicGhwIiwib3BlcmF0b3IiLHtwcm9wZXJ0eTp7cGF0dGVybjovKC0+KVtcd10rLyxsb29rYmVoaW5kOiEwfX0pLFByaXNtLmxhbmd1YWdlcy5tYXJrdXAmJihQcmlzbS5ob29rcy5hZGQoImJlZm9yZS1oaWdobGlnaHQiLGZ1bmN0aW9uKGUpeyJwaHAiPT09ZS5sYW5ndWFnZSYmKGUudG9rZW5TdGFjaz1bXSxlLmJhY2t1cENvZGU9ZS5jb2RlLGUuY29kZT1lLmNvZGUucmVwbGFjZSgvKD86PFw/cGhwfDxcPylbXHdcV10qPyg/Olw/PikvZ2ksZnVuY3Rpb24obil7cmV0dXJuIGUudG9rZW5TdGFjay5wdXNoKG4pLCJ7e3tQSFAiK2UudG9rZW5TdGFjay5sZW5ndGgrIn19fSJ9KSl9KSxQcmlzbS5ob29rcy5hZGQoImJlZm9yZS1pbnNlcnQiLGZ1bmN0aW9uKGUpeyJwaHAiPT09ZS5sYW5ndWFnZSYmKGUuY29kZT1lLmJhY2t1cENvZGUsZGVsZXRlIGUuYmFja3VwQ29kZSl9KSxQcmlzbS5ob29rcy5hZGQoImFmdGVyLWhpZ2hsaWdodCIsZnVuY3Rpb24oZSl7aWYoInBocCI9PT1lLmxhbmd1YWdlKXtmb3IodmFyIG4sYT0wO249ZS50b2tlblN0YWNrW2FdO2ErKyllLmhpZ2hsaWdodGVkQ29kZT1lLmhpZ2hsaWdodGVkQ29kZS5yZXBsYWNlKCJ7e3tQSFAiKyhhKzEpKyJ9fX0iLFByaXNtLmhpZ2hsaWdodChuLGUuZ3JhbW1hciwicGhwIikpO2UuZWxlbWVudC5pbm5lckhUTUw9ZS5oaWdobGlnaHRlZENvZGV9fSksUHJpc20uaG9va3MuYWRkKCJ3cmFwIixmdW5jdGlvbihlKXsicGhwIj09PWUubGFuZ3VhZ2UmJiJtYXJrdXAiPT09ZS50eXBlJiYoZS5jb250ZW50PWUuY29udGVudC5yZXBsYWNlKC8oXHtce1x7UEhQWzAtOV0rXH1cfVx9KS9nLCc8c3BhbiBjbGFzcz0idG9rZW4gcGhwIj4kMTwvc3Bhbj4nKSl9KSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJwaHAiLCJjb21tZW50Iix7bWFya3VwOntwYXR0ZXJuOi88W14/XVwvPyguKj8pPi8saW5zaWRlOlByaXNtLmxhbmd1YWdlcy5tYXJrdXB9LHBocDovXHtce1x7UEhQWzAtOV0rXH1cfVx9L30pKTs7DQpQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJwaHAiLCJ2YXJpYWJsZSIseyJ0aGlzIjovXCR0aGlzLyxnbG9iYWw6L1wkXz8oR0xPQkFMU3xTRVJWRVJ8R0VUfFBPU1R8RklMRVN8UkVRVUVTVHxTRVNTSU9OfEVOVnxDT09LSUV8SFRUUF9SQVdfUE9TVF9EQVRBfGFyZ2N8YXJndnxwaHBfZXJyb3Jtc2d8aHR0cF9yZXNwb25zZV9oZWFkZXIpLyxzY29wZTp7cGF0dGVybjovXGJbXHdcXF0rOjovLGluc2lkZTp7a2V5d29yZDovKHN0YXRpY3xzZWxmfHBhcmVudCkvLHB1bmN0dWF0aW9uOi8oOjp8XFwpL319fSk7Ow0KUHJpc20ubGFuZ3VhZ2VzLnB5dGhvbj17Y29tbWVudDp7cGF0dGVybjovKF58W15cXF0pIy4qPyhccj9cbnwkKS8sbG9va2JlaGluZDohMH0sc3RyaW5nOi8iIiJbXHNcU10rPyIiInwnJydbXHNcU10rPycnJ3woInwnKShcXD8uKSo/XDEvLGtleXdvcmQ6L1xiKGFzfGFzc2VydHxicmVha3xjbGFzc3xjb250aW51ZXxkZWZ8ZGVsfGVsaWZ8ZWxzZXxleGNlcHR8ZXhlY3xmaW5hbGx5fGZvcnxmcm9tfGdsb2JhbHxpZnxpbXBvcnR8aW58aXN8bGFtYmRhfHBhc3N8cHJpbnR8cmFpc2V8cmV0dXJufHRyeXx3aGlsZXx3aXRofHlpZWxkKVxiLywiYm9vbGVhbiI6L1xiKFRydWV8RmFsc2UpXGIvLG51bWJlcjovXGItPygwW2JveF0pPyg/OltcZGEtZl0rXC4/XGQqfFwuXGQrKSg/OmVbKy1dP1xkKyk/aj9cYi9pLG9wZXJhdG9yOi9bLStdfDw9P3w+PT98IXw9ezEsMn18JnsxLDJ9fFx8P1x8fFw/fFwqfFwvfH58XF58JXxcYihvcnxhbmR8bm90KVxiLyxwdW5jdHVhdGlvbjovW3t9W1xdOygpLC46XS99OzsNClByaXNtLmxhbmd1YWdlcy5ydWJ5PVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7Y29tbWVudDovI1teXHJcbl0qKFxyP1xufCQpLyxrZXl3b3JkOi9cYihhbGlhc3xhbmR8QkVHSU58YmVnaW58YnJlYWt8Y2FzZXxjbGFzc3xkZWZ8ZGVmaW5lX21ldGhvZHxkZWZpbmVkfGRvfGVhY2h8ZWxzZXxlbHNpZnxFTkR8ZW5kfGVuc3VyZXxmYWxzZXxmb3J8aWZ8aW58bW9kdWxlfG5ld3xuZXh0fG5pbHxub3R8b3J8cmFpc2V8cmVkb3xyZXF1aXJlfHJlc2N1ZXxyZXRyeXxyZXR1cm58c2VsZnxzdXBlcnx0aGVufHRocm93fHRydWV8dW5kZWZ8dW5sZXNzfHVudGlsfHdoZW58d2hpbGV8eWllbGQpXGIvLGJ1aWx0aW46L1xiKEFycmF5fEJpZ251bXxCaW5kaW5nfENsYXNzfENvbnRpbnVhdGlvbnxEaXJ8RXhjZXB0aW9ufEZhbHNlQ2xhc3N8RmlsZXxTdGF0fEZpbGV8Rml4bnVtfEZsb2FkfEhhc2h8SW50ZWdlcnxJT3xNYXRjaERhdGF8TWV0aG9kfE1vZHVsZXxOaWxDbGFzc3xOdW1lcmljfE9iamVjdHxQcm9jfFJhbmdlfFJlZ2V4cHxTdHJpbmd8U3RydWN0fFRNU3xTeW1ib2x8VGhyZWFkR3JvdXB8VGhyZWFkfFRpbWV8VHJ1ZUNsYXNzKVxiLyxjb25zdGFudDovXGJbQS1aXVthLXpBLVpfMC05XSpbPyFdP1xiL30pLFByaXNtLmxhbmd1YWdlcy5pbnNlcnRCZWZvcmUoInJ1YnkiLCJrZXl3b3JkIix7cmVnZXg6e3BhdHRlcm46LyhefFteL10pXC8oPyFcLykoXFsuKz9dfFxcLnxbXi9cclxuXSkrXC9bZ2ltXXswLDN9KD89XHMqKCR8W1xyXG4sLjt9KV0pKS8sbG9va2JlaGluZDohMH0sdmFyaWFibGU6L1tAJF0rXGJbYS16QS1aX11bYS16QS1aXzAtOV0qWz8hXT9cYi8sc3ltYm9sOi86XGJbYS16QS1aX11bYS16QS1aXzAtOV0qWz8hXT9cYi99KTs7DQpQcmlzbS5sYW5ndWFnZXMuc2Nzcz1QcmlzbS5sYW5ndWFnZXMuZXh0ZW5kKCJjc3MiLHtjb21tZW50OntwYXR0ZXJuOi8oXnxbXlxcXSkoXC9cKltcd1xXXSo/XCpcL3xcL1wvLio/KFxyP1xufCQpKS8sbG9va2JlaGluZDohMH0sYXRydWxlOi9AW1x3LV0rKD89XHMrKFwofFx7fDspKS9pLHVybDovKFstYS16XSstKSp1cmwoPz1cKCkvaSxzZWxlY3RvcjovKFteQDtce1x9XChcKV0/KFteQDtce1x9XChcKV18JnwjXHtcJFstX1x3XStcfSkrKSg/PVxzKlx7KFx9fFxzfFteXH1dKyg6fFx7KVteXH1dKykpL219KSxQcmlzbS5sYW5ndWFnZXMuaW5zZXJ0QmVmb3JlKCJzY3NzIiwiYXRydWxlIix7a2V5d29yZDovQChpZnxlbHNlIGlmfGVsc2V8Zm9yfGVhY2h8d2hpbGV8aW1wb3J0fGV4dGVuZHxkZWJ1Z3x3YXJufG1peGlufGluY2x1ZGV8ZnVuY3Rpb258cmV0dXJufGNvbnRlbnQpfCg/PUBmb3JccytcJFstX1x3XStccykrZnJvbS9pfSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgic2NzcyIsInByb3BlcnR5Iix7dmFyaWFibGU6LygoXCRbLV9cd10rKXwoI1x7XCRbLV9cd10rXH0pKS9pfSksUHJpc20ubGFuZ3VhZ2VzLmluc2VydEJlZm9yZSgic2NzcyIsImZ1bmN0aW9uIix7cGxhY2Vob2xkZXI6LyVbLV9cd10rL2ksc3RhdGVtZW50Oi9cQiEoZGVmYXVsdHxvcHRpb25hbClcYi9pLCJib29sZWFuIjovXGIodHJ1ZXxmYWxzZSlcYi8sIm51bGwiOi9cYihudWxsKVxiLyxvcGVyYXRvcjovXHMrKFstK117MSwyfXw9ezEsMn18IT18XHw/XHx8XD98XCp8XC98JSlccysvfSk7Ow0KUHJpc20ubGFuZ3VhZ2VzLnNxbD17Y29tbWVudDp7cGF0dGVybjovKF58W15cXF0pKFwvXCpbXHdcV10qP1wqXC98KCgtLSl8KFwvXC8pfCMpLio/KFxyP1xufCQpKS8sbG9va2JlaGluZDohMH0sc3RyaW5nOntwYXR0ZXJuOi8oXnxbXkBdKSgifCcpKFxcP1tcc1xTXSkqP1wyLyxsb29rYmVoaW5kOiEwfSx2YXJpYWJsZTovQFtcdy4kXSt8QCgifCd8YCkoXFw/W1xzXFNdKSs/XDEvLCJmdW5jdGlvbiI6L1xiKD86Q09VTlR8U1VNfEFWR3xNSU58TUFYfEZJUlNUfExBU1R8VUNBU0V8TENBU0V8TUlEfExFTnxST1VORHxOT1d8Rk9STUFUKSg/PVxzKlwoKS9pLGtleXdvcmQ6L1xiKD86QUNUSU9OfEFERHxBRlRFUnxBTEdPUklUSE18QUxURVJ8QU5BTFlaRXxBUFBMWXxBU3xBU0N8QVVUSE9SSVpBVElPTnxCQUNLVVB8QkRCfEJFR0lOfEJFUktFTEVZREJ8QklHSU5UfEJJTkFSWXxCSVR8QkxPQnxCT09MfEJPT0xFQU58QlJFQUt8QlJPV1NFfEJUUkVFfEJVTEt8Qll8Q0FMTHxDQVNDQURFfENBU0NBREVEfENBU0V8Q0hBSU58Q0hBUiBWQVJZSU5HfENIQVJBQ1RFUiBWQVJZSU5HfENIRUNLfENIRUNLUE9JTlR8Q0xPU0V8Q0xVU1RFUkVEfENPQUxFU0NFfENPTFVNTnxDT0xVTU5TfENPTU1FTlR8Q09NTUlUfENPTU1JVFRFRHxDT01QVVRFfENPTk5FQ1R8Q09OU0lTVEVOVHxDT05TVFJBSU5UfENPTlRBSU5TfENPTlRBSU5TVEFCTEV8Q09OVElOVUV8Q09OVkVSVHxDUkVBVEV8Q1JPU1N8Q1VSUkVOVHxDVVJSRU5UX0RBVEV8Q1VSUkVOVF9USU1FfENVUlJFTlRfVElNRVNUQU1QfENVUlJFTlRfVVNFUnxDVVJTT1J8REFUQXxEQVRBQkFTRXxEQVRBQkFTRVN8REFURVRJTUV8REJDQ3xERUFMTE9DQVRFfERFQ3xERUNJTUFMfERFQ0xBUkV8REVGQVVMVHxERUZJTkVSfERFTEFZRUR8REVMRVRFfERFTll8REVTQ3xERVNDUklCRXxERVRFUk1JTklTVElDfERJU0FCTEV8RElTQ0FSRHxESVNLfERJU1RJTkNUfERJU1RJTkNUUk9XfERJU1RSSUJVVEVEfERPfERPVUJMRXxET1VCTEUgUFJFQ0lTSU9OfERST1B8RFVNTVl8RFVNUHxEVU1QRklMRXxEVVBMSUNBVEUgS0VZfEVMU0V8RU5BQkxFfEVOQ0xPU0VEIEJZfEVORHxFTkdJTkV8RU5VTXxFUlJMVkx8RVJST1JTfEVTQ0FQRXxFU0NBUEVEIEJZfEVYQ0VQVHxFWEVDfEVYRUNVVEV8RVhJVHxFWFBMQUlOfEVYVEVOREVEfEZFVENIfEZJRUxEU3xGSUxFfEZJTExGQUNUT1J8RklSU1R8RklYRUR8RkxPQVR8Rk9MTE9XSU5HfEZPUnxGT1IgRUFDSCBST1d8Rk9SQ0V8Rk9SRUlHTnxGUkVFVEVYVHxGUkVFVEVYVFRBQkxFfEZST018RlVMTHxGVU5DVElPTnxHRU9NRVRSWXxHRU9NRVRSWUNPTExFQ1RJT058R0xPQkFMfEdPVE98R1JBTlR8R1JPVVB8SEFORExFUnxIQVNIfEhBVklOR3xIT0xETE9DS3xJREVOVElUWXxJREVOVElUWV9JTlNFUlR8SURFTlRJVFlDT0x8SUZ8SUdOT1JFfElNUE9SVHxJTkRFWHxJTkZJTEV8SU5ORVJ8SU5OT0RCfElOT1VUfElOU0VSVHxJTlR8SU5URUdFUnxJTlRFUlNFQ1R8SU5UT3xJTlZPS0VSfElTT0xBVElPTiBMRVZFTHxKT0lOfEtFWXxLRVlTfEtJTEx8TEFOR1VBR0UgU1FMfExBU1R8TEVGVHxMSU1JVHxMSU5FTk98TElORVN8TElORVNUUklOR3xMT0FEfExPQ0FMfExPQ0t8TE9OR0JMT0J8TE9OR1RFWFR8TUFUQ0h8TUFUQ0hFRHxNRURJVU1CTE9CfE1FRElVTUlOVHxNRURJVU1URVhUfE1FUkdFfE1JRERMRUlOVHxNT0RJRklFUyBTUUwgREFUQXxNT0RJRll8TVVMVElMSU5FU1RSSU5HfE1VTFRJUE9JTlR8TVVMVElQT0xZR09OfE5BVElPTkFMfE5BVElPTkFMIENIQVIgVkFSWUlOR3xOQVRJT05BTCBDSEFSQUNURVJ8TkFUSU9OQUwgQ0hBUkFDVEVSIFZBUllJTkd8TkFUSU9OQUwgVkFSQ0hBUnxOQVRVUkFMfE5DSEFSfE5DSEFSIFZBUkNIQVJ8TkVYVHxOT3xOTyBTUUx8Tk9DSEVDS3xOT0NZQ0xFfE5PTkNMVVNURVJFRHxOVUxMSUZ8TlVNRVJJQ3xPRnxPRkZ8T0ZGU0VUU3xPTnxPUEVOfE9QRU5EQVRBU09VUkNFfE9QRU5RVUVSWXxPUEVOUk9XU0VUfE9QVElNSVpFfE9QVElPTnxPUFRJT05BTExZfE9SREVSfE9VVHxPVVRFUnxPVVRGSUxFfE9WRVJ8UEFSVElBTHxQQVJUSVRJT058UEVSQ0VOVHxQSVZPVHxQTEFOfFBPSU5UfFBPTFlHT058UFJFQ0VESU5HfFBSRUNJU0lPTnxQUkVWfFBSSU1BUll8UFJJTlR8UFJJVklMRUdFU3xQUk9DfFBST0NFRFVSRXxQVUJMSUN8UFVSR0V8UVVJQ0t8UkFJU0VSUk9SfFJFQUR8UkVBRFMgU1FMIERBVEF8UkVBRFRFWFR8UkVBTHxSRUNPTkZJR1VSRXxSRUZFUkVOQ0VTfFJFTEVBU0V8UkVOQU1FfFJFUEVBVEFCTEV8UkVQTElDQVRJT058UkVRVUlSRXxSRVNUT1JFfFJFU1RSSUNUfFJFVFVSTnxSRVRVUk5TfFJFVk9LRXxSSUdIVHxST0xMQkFDS3xST1VUSU5FfFJPV0NPVU5UfFJPV0dVSURDT0x8Uk9XUz98UlRSRUV8UlVMRXxTQVZFfFNBVkVQT0lOVHxTQ0hFTUF8U0VMRUNUfFNFUklBTHxTRVJJQUxJWkFCTEV8U0VTU0lPTnxTRVNTSU9OX1VTRVJ8U0VUfFNFVFVTRVJ8U0hBUkUgTU9ERXxTSE9XfFNIVVRET1dOfFNJTVBMRXxTTUFMTElOVHxTTkFQU0hPVHxTT01FfFNPTkFNRXxTVEFSVHxTVEFSVElORyBCWXxTVEFUSVNUSUNTfFNUQVRVU3xTVFJJUEVEfFNZU1RFTV9VU0VSfFRBQkxFfFRBQkxFU3xUQUJMRVNQQUNFfFRFTVAoPzpPUkFSWSk/fFRFTVBUQUJMRXxURVJNSU5BVEVEIEJZfFRFWFR8VEVYVFNJWkV8VEhFTnxUSU1FU1RBTVB8VElOWUJMT0J8VElOWUlOVHxUSU5ZVEVYVHxUT3xUT1B8VFJBTnxUUkFOU0FDVElPTnxUUkFOU0FDVElPTlN8VFJJR0dFUnxUUlVOQ0FURXxUU0VRVUFMfFRZUEV8VFlQRVN8VU5CT1VOREVEfFVOQ09NTUlUVEVEfFVOREVGSU5FRHxVTklPTnxVTlBJVk9UfFVQREFURXxVUERBVEVURVhUfFVTQUdFfFVTRXxVU0VSfFVTSU5HfFZBTFVFfFZBTFVFU3xWQVJCSU5BUll8VkFSQ0hBUnxWQVJDSEFSQUNURVJ8VkFSWUlOR3xWSUVXfFdBSVRGT1J8V0FSTklOR1N8V0hFTnxXSEVSRXxXSElMRXxXSVRIfFdJVEggUk9MTFVQfFdJVEhJTnxXT1JLfFdSSVRFfFdSSVRFVEVYVClcYi9pLCJib29sZWFuIjovXGIoPzpUUlVFfEZBTFNFfE5VTEwpXGIvaSxudW1iZXI6L1xiLT8oMHgpP1xkKlwuP1tcZGEtZl0rXGIvLG9wZXJhdG9yOi9cYig/OkFMTHxBTkR8QU5ZfEJFVFdFRU58RVhJU1RTfElOfExJS0V8Tk9UfE9SfElTfFVOSVFVRXxDSEFSQUNURVIgU0VUfENPTExBVEV8RElWfE9GRlNFVHxSRUdFWFB8UkxJS0V8U09VTkRTIExJS0V8WE9SKVxifFstK118IXxbPTw+XXsxLDJ9fCgmKXsxLDJ9fFx8P1x8fFw/fFwqfFwvL2kscHVuY3R1YXRpb246L1s7W1xdKClgLC5dL307Ow0KUHJpc20ubGFuZ3VhZ2VzLnN3aWZ0PVByaXNtLmxhbmd1YWdlcy5leHRlbmQoImNsaWtlIix7a2V5d29yZDovXGIoYXN8YXNzb2NpYXRpdml0eXxicmVha3xjYXNlfGNsYXNzfGNvbnRpbnVlfGNvbnZlbmllbmNlfGRlZmF1bHR8ZGVpbml0fGRpZFNldHxkb3xkeW5hbWljVHlwZXxlbHNlfGVudW18ZXh0ZW5zaW9ufGZhbGx0aHJvdWdofGZpbmFsfGZvcnxmdW5jfGdldHxpZnxpbXBvcnR8aW58aW5maXh8aW5pdHxpbm91dHxpbnRlcm5hbHxpc3xsYXp5fGxlZnR8bGV0fG11dGF0aW5nfG5ld3xub25lfG5vbm11dGF0aW5nfG9wZXJhdG9yfG9wdGlvbmFsfG92ZXJyaWRlfHBvc3RmaXh8cHJlY2VkZW5jZXxwcmVmaXh8cHJpdmF0ZXxwcm90b2NvbHxwdWJsaWN8cmVxdWlyZWR8cmV0dXJufHJpZ2h0fHNhZmV8c2VsZnxTZWxmfHNldHxzdGF0aWN8c3RydWN0fHN1YnNjcmlwdHxzdXBlcnxzd2l0Y2h8VHlwZXx0eXBlYWxpYXN8dW5vd25lZHx1bm93bmVkfHVuc2FmZXx2YXJ8d2Vha3x3aGVyZXx3aGlsZXx3aWxsU2V0fF9fQ09MVU1OX198X19GSUxFX198X19GVU5DVElPTl9ffF9fTElORV9fKVxiLyxudW1iZXI6L1xiKFtcZF9dKyhcLltcZGVfXSspP3wweFthLWYwLTlfXSsoXC5bYS1mMC05cF9dKyk/fDBiWzAxX10rfDBvWzAtN19dKylcYi9pLGNvbnN0YW50Oi9cYihuaWx8W0EtWl9dezIsfXxrW0EtWl1bQS1aYS16X10rKVxiLyxhdHJ1bGU6L0BcYihJQk91dGxldHxJQkRlc2lnbmFibGV8SUJBY3Rpb258SUJJbnNwZWN0YWJsZXxjbGFzc19wcm90b2NvbHxleHBvcnRlZHxub3JldHVybnxOU0NvcHlpbmd8TlNNYW5hZ2VkfG9iamN8VUlBcHBsaWNhdGlvbk1haW58YXV0b19jbG9zdXJlKVxiLyxidWlsdGluOi9cYihbQS1aXVxTK3xhYnN8YWR2YW5jZXxhbGlnbm9mfGFsaWdub2ZWYWx1ZXxhc3NlcnR8Y29udGFpbnN8Y291bnR8Y291bnRFbGVtZW50c3xkZWJ1Z1ByaW50fGRlYnVnUHJpbnRsbnxkaXN0YW5jZXxkcm9wRmlyc3R8ZHJvcExhc3R8ZHVtcHxlbnVtZXJhdGV8ZXF1YWx8ZmlsdGVyfGZpbmR8Zmlyc3R8Z2V0VmFMaXN0fGluZGljZXN8aXNFbXB0eXxqb2lufGxhc3R8bGF6eXxsZXhpY29ncmFwaGljYWxDb21wYXJlfG1hcHxtYXh8bWF4RWxlbWVudHxtaW58bWluRWxlbWVudHxudW1lcmljQ2FzdHxvdmVybGFwc3xwYXJ0aXRpb258cHJlZml4fHByaW50fHByaW50bG58cmVkdWNlfHJlZmxlY3R8cmV2ZXJzZXxzaXplb2Z8c2l6ZW9mVmFsdWV8c29ydHxzb3J0ZWR8c3BsaXR8c3RhcnRzV2l0aHxzdHJpZGV8c3RyaWRlb2Z8c3RyaWRlb2ZWYWx1ZXxzdWZmaXh8c3dhcHx0b0RlYnVnU3RyaW5nfHRvU3RyaW5nfHRyYW5zY29kZXx1bmRlcmVzdGltYXRlQ291bnR8dW5zYWZlQml0Q2FzdHx3aXRoRXh0ZW5kZWRMaWZldGltZXx3aXRoVW5zYWZlTXV0YWJsZVBvaW50ZXJ8d2l0aFVuc2FmZU11dGFibGVQb2ludGVyc3x3aXRoVW5zYWZlUG9pbnRlcnx3aXRoVW5zYWZlUG9pbnRlcnN8d2l0aFZhTGlzdClcYi99KTs7DQpQcmlzbS5ob29rcy5hZGQoImFmdGVyLWhpZ2hsaWdodCIsZnVuY3Rpb24oZSl7dmFyIHQ9ZS5lbGVtZW50LnBhcmVudE5vZGUscz0vXHMqXGJsaW5lLW51bWJlcnNcYlxzKi87aWYodCYmL3ByZS9pLnRlc3QodC5ub2RlTmFtZSkmJihzLnRlc3QodC5jbGFzc05hbWUpfHxzLnRlc3QoZS5lbGVtZW50LmNsYXNzTmFtZSkpKXtzLnRlc3QoZS5lbGVtZW50LmNsYXNzTmFtZSkmJihlLmVsZW1lbnQuY2xhc3NOYW1lPWUuZWxlbWVudC5jbGFzc05hbWUucmVwbGFjZShzLCIiKSkscy50ZXN0KHQuY2xhc3NOYW1lKXx8KHQuY2xhc3NOYW1lKz0iIGxpbmUtbnVtYmVycyIpO3ZhciBhLG49MStlLmNvZGUuc3BsaXQoIlxuIikubGVuZ3RoLGw9bmV3IEFycmF5KG4pO2w9bC5qb2luKCI8c3Bhbj48L3NwYW4+IiksYT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIiksYS5jbGFzc05hbWU9ImxpbmUtbnVtYmVycy1yb3dzIixhLmlubmVySFRNTD1sLHQuaGFzQXR0cmlidXRlKCJkYXRhLXN0YXJ0IikmJih0LnN0eWxlLmNvdW50ZXJSZXNldD0ibGluZW51bWJlciAiKyhwYXJzZUludCh0LmdldEF0dHJpYnV0ZSgiZGF0YS1zdGFydCIpLDEwKS0xKSksZS5lbGVtZW50LmFwcGVuZENoaWxkKGEpfX0pOzsNCiFmdW5jdGlvbigpe2lmKHNlbGYuUHJpc20pe3ZhciBlPXtjc2hhcnA6IkMjIixjcHA6IkMrKyJ9O1ByaXNtLmhvb2tzLmFkZCgiYmVmb3JlLWhpZ2hsaWdodCIsZnVuY3Rpb24oYSl7dmFyIHQ9YS5lbGVtZW50LnBhcmVudE5vZGU7aWYodCYmL3ByZS9pLnRlc3QodC5ub2RlTmFtZSkpe3ZhciBpPWVbYS5sYW5ndWFnZV18fGEubGFuZ3VhZ2U7dC5zZXRBdHRyaWJ1dGUoImRhdGEtbGFuZ3VhZ2UiLGkpfX0pfX0oKTs7DQoNCg0KDQovKg0KICogIFlUUGxheWVyDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCi8qanF1ZXJ5Lm1iLllUUGxheWVyIDExLTA1LTIwMTcNCiBfIGpxdWVyeS5tYi5jb21wb25lbnRzIA0KIF8gZW1haWw6IG1hdHRlb0BvcGVuLWxhYi5jb20gDQogXyBDb3B5cmlnaHQgKGMpIDIwMDEtMjAxNy4gTWF0dGVvIEJpY29jY2hpIChQdXB1bnppKTsgDQogXyBibG9nOiBodHRwOi8vcHVwdW56aS5vcGVuLWxhYi5jb20gDQogXyBPcGVuIExhYiBzLnIubC4sIEZsb3JlbmNlIC0gSXRhbHkgDQogKi8NCmZ1bmN0aW9uIG9uWW91VHViZUlmcmFtZUFQSVJlYWR5KCl7eXRwLllUQVBJUmVhZHl8fCh5dHAuWVRBUElSZWFkeT0hMCxqUXVlcnkoZG9jdW1lbnQpLnRyaWdnZXIoIllUQVBJUmVhZHkiKSl9ZnVuY3Rpb24gdW5jYW1lbChhKXtyZXR1cm4gYS5yZXBsYWNlKC8oW0EtWl0pL2csZnVuY3Rpb24oYSl7cmV0dXJuIi0iK2EudG9Mb3dlckNhc2UoKX0pfWZ1bmN0aW9uIHNldFVuaXQoYSxiKXtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGF8fGEubWF0Y2goL15bXC0wLTlcLl0ralF1ZXJ5Lyk/IiIrYStiOmF9ZnVuY3Rpb24gc2V0RmlsdGVyKGEsYixjKXt2YXIgZD11bmNhbWVsKGIpLGU9alF1ZXJ5LmJyb3dzZXIubW96aWxsYT8iIjpqUXVlcnkuQ1NTLnNmeDthW2UrImZpbHRlciJdPWFbZSsiZmlsdGVyIl18fCIiLGM9c2V0VW5pdChjPmpRdWVyeS5DU1MuZmlsdGVyc1tiXS5tYXg/alF1ZXJ5LkNTUy5maWx0ZXJzW2JdLm1heDpjLGpRdWVyeS5DU1MuZmlsdGVyc1tiXS51bml0KSxhW2UrImZpbHRlciJdKz1kKyIoIitjKyIpICIsZGVsZXRlIGFbYl19ZnVuY3Rpb24gaXNUb3VjaFN1cHBvcnRlZCgpe3ZhciBhPW5BZ3QubXNNYXhUb3VjaFBvaW50cyxiPSJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7cmV0dXJuIGF8fGI/ITA6ITF9dmFyIHl0cD15dHB8fHt9LGdldFlUUFZpZGVvSUQ9ZnVuY3Rpb24oYSl7dmFyIGIsYztyZXR1cm4gYS5pbmRleE9mKCJ5b3V0dS5iZSIpPjA/KGI9YS5zdWJzdHIoYS5sYXN0SW5kZXhPZigiLyIpKzEsYS5sZW5ndGgpLGM9Yi5pbmRleE9mKCI/bGlzdD0iKT4wP2Iuc3Vic3RyKGIubGFzdEluZGV4T2YoIj0iKSxiLmxlbmd0aCk6bnVsbCxiPWM/Yi5zdWJzdHIoMCxiLmxhc3RJbmRleE9mKCI/IikpOmIpOmEuaW5kZXhPZigiaHR0cCIpPi0xPyhiPWEubWF0Y2goL1tcXD8mXXY9KFteJiNdKikvKVsxXSxjPWEuaW5kZXhPZigibGlzdD0iKT4wP2EubWF0Y2goL1tcXD8mXWxpc3Q9KFteJiNdKikvKVsxXTpudWxsKTooYj1hLmxlbmd0aD4xNT9udWxsOmEsYz1iP251bGw6YSkse3ZpZGVvSUQ6YixwbGF5bGlzdElEOmN9fTshZnVuY3Rpb24oalF1ZXJ5LHl0cCl7alF1ZXJ5Lm1iWVRQbGF5ZXI9e25hbWU6ImpxdWVyeS5tYi5ZVFBsYXllciIsdmVyc2lvbjoiMy4wLjE5IixidWlsZDoiNjI1MCIsYXV0aG9yOiJNYXR0ZW8gQmljb2NjaGkgKHB1cHVuemkpIixhcGlLZXk6IiIsZGVmYXVsdHM6e2NvbnRhaW5tZW50OiJib2R5IixyYXRpbzoiYXV0byIsdmlkZW9VUkw6bnVsbCxwbGF5bGlzdFVSTDpudWxsLHN0YXJ0QXQ6MCxzdG9wQXQ6MCxhdXRvUGxheTohMCx2b2w6NTAsYWRkUmFzdGVyOiExLG1hc2s6ITEsb3BhY2l0eToxLHF1YWxpdHk6ImRlZmF1bHQiLG11dGU6ITEsbG9vcDohMCxmYWRlT25TdGFydFRpbWU6NTAwLHNob3dDb250cm9sczohMCxzaG93QW5ub3RhdGlvbnM6ITEsc2hvd1lUTG9nbzohMCxzdG9wTW92aWVPbkJsdXI6ITAscmVhbGZ1bGxzY3JlZW46ITAsbW9iaWxlRmFsbGJhY2tJbWFnZTpudWxsLGdhVHJhY2s6ITAsb3B0aW1pemVEaXNwbGF5OiEwLHJlbWVtYmVyX2xhc3RfdGltZTohMSxhbmNob3I6ImNlbnRlcixjZW50ZXIiLG9uUmVhZHk6ZnVuY3Rpb24oYSl7fSxvbkVycm9yOmZ1bmN0aW9uKGEsYil7fX0sY29udHJvbHM6e3BsYXk6IlAiLHBhdXNlOiJwIixtdXRlOiJNIix1bm11dGU6IkEiLG9ubHlZVDoiTyIsc2hvd1NpdGU6IlIiLHl0TG9nbzoiWSJ9LGNvbnRyb2xCYXI6bnVsbCxsb2FkaW5nOm51bGwsbG9jYXRpb25Qcm90b2NvbDoiaHR0cHM6IixmaWx0ZXJzOntncmF5c2NhbGU6e3ZhbHVlOjAsdW5pdDoiJSJ9LGh1ZV9yb3RhdGU6e3ZhbHVlOjAsdW5pdDoiZGVnIn0saW52ZXJ0Ont2YWx1ZTowLHVuaXQ6IiUifSxvcGFjaXR5Ont2YWx1ZTowLHVuaXQ6IiUifSxzYXR1cmF0ZTp7dmFsdWU6MCx1bml0OiIlIn0sc2VwaWE6e3ZhbHVlOjAsdW5pdDoiJSJ9LGJyaWdodG5lc3M6e3ZhbHVlOjAsdW5pdDoiJSJ9LGNvbnRyYXN0Ont2YWx1ZTowLHVuaXQ6IiUifSxibHVyOnt2YWx1ZTowLHVuaXQ6InB4In19LGJ1aWxkUGxheWVyOmZ1bmN0aW9uKG9wdGlvbnMpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgWVRQbGF5ZXI9dGhpcywkWVRQbGF5ZXI9alF1ZXJ5KFlUUGxheWVyKTtZVFBsYXllci5sb29wPTAsWVRQbGF5ZXIub3B0PXt9LFlUUGxheWVyLnN0YXRlPXt9LFlUUGxheWVyLmZpbHRlcnM9alF1ZXJ5Lm1iWVRQbGF5ZXIuZmlsdGVycyxZVFBsYXllci5maWx0ZXJzRW5hYmxlZD0hMCxZVFBsYXllci5pZD1ZVFBsYXllci5pZHx8IllUUF8iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpLCRZVFBsYXllci5hZGRDbGFzcygibWJfWVRQbGF5ZXIiKTt2YXIgcHJvcGVydHk9JFlUUGxheWVyLmRhdGEoInByb3BlcnR5IikmJiJzdHJpbmciPT10eXBlb2YgJFlUUGxheWVyLmRhdGEoInByb3BlcnR5Iik/ZXZhbCgiKCIrJFlUUGxheWVyLmRhdGEoInByb3BlcnR5IikrIikiKTokWVRQbGF5ZXIuZGF0YSgicHJvcGVydHkiKTsidW5kZWZpbmVkIiE9dHlwZW9mIHByb3BlcnR5JiYidW5kZWZpbmVkIiE9dHlwZW9mIHByb3BlcnR5LnZvbCYmKHByb3BlcnR5LnZvbD0wPT09cHJvcGVydHkudm9sP3Byb3BlcnR5LnZvbD0xOnByb3BlcnR5LnZvbCksalF1ZXJ5LmV4dGVuZChZVFBsYXllci5vcHQsalF1ZXJ5Lm1iWVRQbGF5ZXIuZGVmYXVsdHMsb3B0aW9ucyxwcm9wZXJ0eSksWVRQbGF5ZXIuaGFzQ2hhbmdlZHx8KFlUUGxheWVyLmRlZmF1bHRPcHQ9e30salF1ZXJ5LmV4dGVuZChZVFBsYXllci5kZWZhdWx0T3B0LGpRdWVyeS5tYllUUGxheWVyLmRlZmF1bHRzLG9wdGlvbnMpKSwidHJ1ZSI9PVlUUGxheWVyLm9wdC5sb29wJiYoWVRQbGF5ZXIub3B0Lmxvb3A9OTk5OSksWVRQbGF5ZXIuaXNSZXRpbmE9d2luZG93LnJldGluYXx8d2luZG93LmRldmljZVBpeGVsUmF0aW8+MTt2YXIgaXNJZnJhbWU9ZnVuY3Rpb24oKXt2YXIgYT0hMTt0cnl7c2VsZi5sb2NhdGlvbi5ocmVmIT10b3AubG9jYXRpb24uaHJlZiYmKGE9ITApfWNhdGNoKGIpe2E9ITB9cmV0dXJuIGF9O1lUUGxheWVyLmNhbkdvRnVsbFNjcmVlbj0hKGpRdWVyeS5tYkJyb3dzZXIubXNpZXx8alF1ZXJ5Lm1iQnJvd3Nlci5vcGVyYXx8aXNJZnJhbWUoKSksWVRQbGF5ZXIuY2FuR29GdWxsU2NyZWVufHwoWVRQbGF5ZXIub3B0LnJlYWxmdWxsc2NyZWVuPSExKSwkWVRQbGF5ZXIuYXR0cigiaWQiKXx8JFlUUGxheWVyLmF0dHIoImlkIiwieXRwXyIrKG5ldyBEYXRlKS5nZXRUaW1lKCkpO3ZhciBwbGF5ZXJJRD0iaWZyYW1lXyIrWVRQbGF5ZXIuaWQ7WVRQbGF5ZXIuaXNBbG9uZT0hMSxZVFBsYXllci5oYXNGb2N1cz0hMCxZVFBsYXllci52aWRlb0lEPXRoaXMub3B0LnZpZGVvVVJMP2dldFlUUFZpZGVvSUQodGhpcy5vcHQudmlkZW9VUkwpLnZpZGVvSUQ6JFlUUGxheWVyLmF0dHIoImhyZWYiKT9nZXRZVFBWaWRlb0lEKCRZVFBsYXllci5hdHRyKCJocmVmIikpLnZpZGVvSUQ6ITEsWVRQbGF5ZXIucGxheWxpc3RJRD10aGlzLm9wdC52aWRlb1VSTD9nZXRZVFBWaWRlb0lEKHRoaXMub3B0LnZpZGVvVVJMKS5wbGF5bGlzdElEOiRZVFBsYXllci5hdHRyKCJocmVmIik/Z2V0WVRQVmlkZW9JRCgkWVRQbGF5ZXIuYXR0cigiaHJlZiIpKS5wbGF5bGlzdElEOiExLFlUUGxheWVyLm9wdC5zaG93QW5ub3RhdGlvbnM9WVRQbGF5ZXIub3B0LnNob3dBbm5vdGF0aW9ucz8iMSI6IjMiO3ZhciBzdGFydF9mcm9tX2xhc3Q9MDtqUXVlcnkubWJDb29raWUuZ2V0KCJZVFBsYXllcl8iK1lUUGxheWVyLnZpZGVvSUQpJiYoc3RhcnRfZnJvbV9sYXN0PXBhcnNlRmxvYXQoalF1ZXJ5Lm1iQ29va2llLmdldCgiWVRQbGF5ZXJfIitZVFBsYXllci52aWRlb0lEKSkpLFlUUGxheWVyLm9wdC5yZW1lbWJlcl9sYXN0X3RpbWUmJnN0YXJ0X2Zyb21fbGFzdCYmKFlUUGxheWVyLnN0YXJ0X2Zyb21fbGFzdD1zdGFydF9mcm9tX2xhc3QsalF1ZXJ5Lm1iQ29va2llLnJlbW92ZSgiWVRQbGF5ZXJfIitZVFBsYXllci52aWRlb0lEKSk7dmFyIHBsYXllclZhcnM9e21vZGVzdGJyYW5kaW5nOjEsYXV0b3BsYXk6MCxjb250cm9sczowLHNob3dpbmZvOjAscmVsOjAsZW5hYmxlanNhcGk6MSx2ZXJzaW9uOjMscGxheWVyYXBpaWQ6cGxheWVySUQsb3JpZ2luOiIqIixhbGxvd2Z1bGxzY3JlZW46ITAsd21vZGU6InRyYW5zcGFyZW50Iixpdl9sb2FkX3BvbGljeTpZVFBsYXllci5vcHQuc2hvd0Fubm90YXRpb25zfTtpZihkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ2aWRlbyIpLmNhblBsYXlUeXBlJiZqUXVlcnkuZXh0ZW5kKHBsYXllclZhcnMse2h0bWw1OjF9KSxqUXVlcnkubWJCcm93c2VyLm1zaWUmJmpRdWVyeS5tYkJyb3dzZXIudmVyc2lvbjw5JiYodGhpcy5vcHQub3BhY2l0eT0xKSxZVFBsYXllci5pc1NlbGY9InNlbGYiPT1ZVFBsYXllci5vcHQuY29udGFpbm1lbnQsWVRQbGF5ZXIuZGVmYXVsdE9wdC5jb250YWlubWVudD1ZVFBsYXllci5vcHQuY29udGFpbm1lbnQ9alF1ZXJ5KCJzZWxmIj09WVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50P3RoaXM6WVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50KSxZVFBsYXllci5pc0JhY2tncm91bmQ9WVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmlzKCJib2R5IiksIVlUUGxheWVyLmlzQmFja2dyb3VuZHx8IXl0cC5iYWNrZ3JvdW5kSXNJbml0ZWQpe3ZhciBpc1BsYXllcj1ZVFBsYXllci5vcHQuY29udGFpbm1lbnQuaXMoalF1ZXJ5KHRoaXMpKTtZVFBsYXllci5jYW5QbGF5T25Nb2JpbGU9aXNQbGF5ZXImJjA9PT1qUXVlcnkodGhpcykuY2hpbGRyZW4oKS5sZW5ndGgsWVRQbGF5ZXIuaXNQbGF5ZXI9ITEsaXNQbGF5ZXI/WVRQbGF5ZXIuaXNQbGF5ZXI9ITA6JFlUUGxheWVyLmhpZGUoKTt2YXIgb3ZlcmxheT1qUXVlcnkoIjxkaXYvPiIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6MCxsZWZ0OjAsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSJ9KS5hZGRDbGFzcygiWVRQT3ZlcmxheSIpO1lUUGxheWVyLmlzUGxheWVyJiZvdmVybGF5Lm9uKCJjbGljayIsZnVuY3Rpb24oKXskWVRQbGF5ZXIuWVRQVG9nZ2xlUGxheSgpfSk7dmFyIHdyYXBwZXI9alF1ZXJ5KCI8ZGl2Lz4iKS5hZGRDbGFzcygibWJZVFBfd3JhcHBlciIpLmF0dHIoImlkIiwid3JhcHBlcl8iK1lUUGxheWVyLmlkKTt3cmFwcGVyLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix6SW5kZXg6MCxtaW5XaWR0aDoiMTAwJSIsbWluSGVpZ2h0OiIxMDAlIixsZWZ0OjAsdG9wOjAsb3ZlcmZsb3c6ImhpZGRlbiIsb3BhY2l0eTowfSk7dmFyIHBsYXllckJveD1qUXVlcnkoIjxkaXYvPiIpLmF0dHIoImlkIixwbGF5ZXJJRCkuYWRkQ2xhc3MoInBsYXllckJveCIpO2lmKHBsYXllckJveC5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsekluZGV4OjAsd2lkdGg6IjEwMCUiLGhlaWdodDoiMTAwJSIsdG9wOjAsbGVmdDowLG92ZXJmbG93OiJoaWRkZW4ifSksd3JhcHBlci5hcHBlbmQocGxheWVyQm94KSxZVFBsYXllci5vcHQuY29udGFpbm1lbnQuY2hpbGRyZW4oKS5ub3QoInNjcmlwdCwgc3R5bGUiKS5lYWNoKGZ1bmN0aW9uKCl7InN0YXRpYyI9PWpRdWVyeSh0aGlzKS5jc3MoInBvc2l0aW9uIikmJmpRdWVyeSh0aGlzKS5jc3MoInBvc2l0aW9uIiwicmVsYXRpdmUiKX0pLFlUUGxheWVyLmlzQmFja2dyb3VuZD8oalF1ZXJ5KCJib2R5IikuY3NzKHtib3hTaXppbmc6ImJvcmRlci1ib3gifSksd3JhcHBlci5jc3Moe3Bvc2l0aW9uOiJmaXhlZCIsdG9wOjAsbGVmdDowLHpJbmRleDowfSksJFlUUGxheWVyLmhpZGUoKSk6InN0YXRpYyI9PVlUUGxheWVyLm9wdC5jb250YWlubWVudC5jc3MoInBvc2l0aW9uIikmJllUUGxheWVyLm9wdC5jb250YWlubWVudC5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSJ9KSxZVFBsYXllci5vcHQuY29udGFpbm1lbnQucHJlcGVuZCh3cmFwcGVyKSxZVFBsYXllci53cmFwcGVyPXdyYXBwZXIscGxheWVyQm94LmNzcyh7b3BhY2l0eToxfSksalF1ZXJ5Lm1iQnJvd3Nlci5tb2JpbGV8fChwbGF5ZXJCb3guYWZ0ZXIob3ZlcmxheSksWVRQbGF5ZXIub3ZlcmxheT1vdmVybGF5KSxZVFBsYXllci5pc0JhY2tncm91bmR8fG92ZXJsYXkub24oIm1vdXNlZW50ZXIiLGZ1bmN0aW9uKCl7WVRQbGF5ZXIuY29udHJvbEJhciYmWVRQbGF5ZXIuY29udHJvbEJhci5sZW5ndGgmJllUUGxheWVyLmNvbnRyb2xCYXIuYWRkQ2xhc3MoInZpc2libGUiKX0pLm9uKCJtb3VzZWxlYXZlIixmdW5jdGlvbigpe1lUUGxheWVyLmNvbnRyb2xCYXImJllUUGxheWVyLmNvbnRyb2xCYXIubGVuZ3RoJiZZVFBsYXllci5jb250cm9sQmFyLnJlbW92ZUNsYXNzKCJ2aXNpYmxlIil9KSx5dHAuWVRBUElSZWFkeSlzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7alF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCJZVEFQSVJlYWR5Iil9LDEwMCk7ZWxzZXtqUXVlcnkoIiNZVEFQSSIpLnJlbW92ZSgpO3ZhciB0YWc9alF1ZXJ5KCI8c2NyaXB0Pjwvc2NyaXB0PiIpLmF0dHIoe3NyYzpqUXVlcnkubWJZVFBsYXllci5sb2NhdGlvblByb3RvY29sKyIvL3d3dy55b3V0dWJlLmNvbS9pZnJhbWVfYXBpP3Y9IitqUXVlcnkubWJZVFBsYXllci52ZXJzaW9uLGlkOiJZVEFQSSJ9KTtqUXVlcnkoImhlYWQiKS5wcmVwZW5kKHRhZyl9aWYoalF1ZXJ5Lm1iQnJvd3Nlci5tb2JpbGUmJiFZVFBsYXllci5jYW5QbGF5T25Nb2JpbGUpcmV0dXJuIFlUUGxheWVyLm9wdC5tb2JpbGVGYWxsYmFja0ltYWdlJiZ3cmFwcGVyLmNzcyh7YmFja2dyb3VuZEltYWdlOiJ1cmwoIitZVFBsYXllci5vcHQubW9iaWxlRmFsbGJhY2tJbWFnZSsiKSIsYmFja2dyb3VuZFBvc2l0aW9uOiJjZW50ZXIgY2VudGVyIixiYWNrZ3JvdW5kU2l6ZToiY292ZXIiLGJhY2tncm91bmRSZXBlYXQ6Im5vLXJlcGVhdCIsb3BhY2l0eToxfSksJFlUUGxheWVyLnJlbW92ZSgpLHZvaWQgalF1ZXJ5KGRvY3VtZW50KS50cmlnZ2VyKCJZVFBVbmF2YWlsYWJsZSIpO2pRdWVyeShkb2N1bWVudCkub24oIllUQVBJUmVhZHkiLGZ1bmN0aW9uKCl7WVRQbGF5ZXIuaXNCYWNrZ3JvdW5kJiZ5dHAuYmFja2dyb3VuZElzSW5pdGVkfHxZVFBsYXllci5pc0luaXR8fChZVFBsYXllci5pc0JhY2tncm91bmQmJih5dHAuYmFja2dyb3VuZElzSW5pdGVkPSEwKSxZVFBsYXllci5vcHQuYXV0b1BsYXk9InVuZGVmaW5lZCI9PXR5cGVvZiBZVFBsYXllci5vcHQuYXV0b1BsYXk/WVRQbGF5ZXIuaXNCYWNrZ3JvdW5kPyEwOiExOllUUGxheWVyLm9wdC5hdXRvUGxheSxZVFBsYXllci5vcHQudm9sPVlUUGxheWVyLm9wdC52b2w/WVRQbGF5ZXIub3B0LnZvbDoxMDAsalF1ZXJ5Lm1iWVRQbGF5ZXIuZ2V0RGF0YUZyb21BUEkoWVRQbGF5ZXIpLGpRdWVyeShZVFBsYXllcikub24oIllUUENoYW5nZWQiLGZ1bmN0aW9uKCl7aWYoIVlUUGxheWVyLmlzSW5pdCl7aWYoWVRQbGF5ZXIuaXNJbml0PSEwLGpRdWVyeS5tYkJyb3dzZXIubW9iaWxlJiZZVFBsYXllci5jYW5QbGF5T25Nb2JpbGUpe2lmKFlUUGxheWVyLm9wdC5jb250YWlubWVudC5vdXRlcldpZHRoKCk+alF1ZXJ5KHdpbmRvdykud2lkdGgoKSl7WVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmNzcyh7bWF4V2lkdGg6IjEwMCUifSk7dmFyIGg9LjU2MypZVFBsYXllci5vcHQuY29udGFpbm1lbnQub3V0ZXJXaWR0aCgpO1lUUGxheWVyLm9wdC5jb250YWlubWVudC5jc3Moe21heEhlaWdodDpofSl9cmV0dXJuIHZvaWQgbmV3IFlULlBsYXllcihwbGF5ZXJJRCx7dmlkZW9JZDpZVFBsYXllci52aWRlb0lELnRvU3RyaW5nKCksd2lkdGg6IjEwMCUiLGhlaWdodDpoLHBsYXllclZhcnM6cGxheWVyVmFycyxldmVudHM6e29uUmVhZHk6ZnVuY3Rpb24oYSl7WVRQbGF5ZXIucGxheWVyPWEudGFyZ2V0LHBsYXllckJveC5jc3Moe29wYWNpdHk6MX0pLFlUUGxheWVyLndyYXBwZXIuY3NzKHtvcGFjaXR5OjF9KX19fSl9bmV3IFlULlBsYXllcihwbGF5ZXJJRCx7dmlkZW9JZDpZVFBsYXllci52aWRlb0lELnRvU3RyaW5nKCkscGxheWVyVmFyczpwbGF5ZXJWYXJzLGV2ZW50czp7b25SZWFkeTpmdW5jdGlvbihhKXtZVFBsYXllci5wbGF5ZXI9YS50YXJnZXQsWVRQbGF5ZXIuaXNSZWFkeXx8KFlUUGxheWVyLmlzUmVhZHk9WVRQbGF5ZXIuaXNQbGF5ZXImJiFZVFBsYXllci5vcHQuYXV0b1BsYXk/ITE6ITAsWVRQbGF5ZXIucGxheWVyRWw9WVRQbGF5ZXIucGxheWVyLmdldElmcmFtZSgpLGpRdWVyeShZVFBsYXllci5wbGF5ZXJFbCkudW5zZWxlY3RhYmxlKCksJFlUUGxheWVyLm9wdGltaXplRGlzcGxheSgpLGpRdWVyeSh3aW5kb3cpLm9mZigicmVzaXplLllUUF8iK1lUUGxheWVyLmlkKS5vbigicmVzaXplLllUUF8iK1lUUGxheWVyLmlkLGZ1bmN0aW9uKCl7JFlUUGxheWVyLm9wdGltaXplRGlzcGxheSgpfSksWVRQbGF5ZXIub3B0LnJlbWVtYmVyX2xhc3RfdGltZSYmalF1ZXJ5KHdpbmRvdykub24oInVubG9hZC5ZVFBfIitZVFBsYXllci5pZCxmdW5jdGlvbigpe3ZhciBhPVlUUGxheWVyLnBsYXllci5nZXRDdXJyZW50VGltZSgpO2pRdWVyeS5tYkNvb2tpZS5zZXQoIllUUGxheWVyXyIrWVRQbGF5ZXIudmlkZW9JRCxhLDEpfSksalF1ZXJ5Lm1iWVRQbGF5ZXIuY2hlY2tGb3JTdGF0ZShZVFBsYXllcikpfSxvblN0YXRlQ2hhbmdlOmZ1bmN0aW9uKGV2ZW50KXtpZigiZnVuY3Rpb24iPT10eXBlb2YgZXZlbnQudGFyZ2V0LmdldFBsYXllclN0YXRlKXt2YXIgc3RhdGU9ZXZlbnQudGFyZ2V0LmdldFBsYXllclN0YXRlKCk7aWYoWVRQbGF5ZXIucHJldmVudFRyaWdnZXIpcmV0dXJuIHZvaWQoWVRQbGF5ZXIucHJldmVudFRyaWdnZXI9ITEpO1lUUGxheWVyLnN0YXRlPXN0YXRlO3ZhciBldmVudFR5cGU7c3dpdGNoKHN0YXRlKXtjYXNlLTE6ZXZlbnRUeXBlPSJZVFBVbnN0YXJ0ZWQiO2JyZWFrO2Nhc2UgMDpldmVudFR5cGU9IllUUFJlYWxFbmQiO2JyZWFrO2Nhc2UgMTpldmVudFR5cGU9IllUUFBsYXkiLFlUUGxheWVyLmNvbnRyb2xCYXIubGVuZ3RoJiZZVFBsYXllci5jb250cm9sQmFyLmZpbmQoIi5tYl9ZVFBQbGF5cGF1c2UiKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnBhdXNlKSwidW5kZWZpbmVkIiE9dHlwZW9mIF9nYXEmJmV2YWwoWVRQbGF5ZXIub3B0LmdhVHJhY2spJiZfZ2FxLnB1c2goWyJfdHJhY2tFdmVudCIsIllUUGxheWVyIiwiUGxheSIsWVRQbGF5ZXIuaGFzRGF0YT9ZVFBsYXllci52aWRlb0RhdGEudGl0bGU6WVRQbGF5ZXIudmlkZW9JRC50b1N0cmluZygpXSksInVuZGVmaW5lZCIhPXR5cGVvZiBnYSYmZXZhbChZVFBsYXllci5vcHQuZ2FUcmFjaykmJmdhKCJzZW5kIiwiZXZlbnQiLCJZVFBsYXllciIsInBsYXkiLFlUUGxheWVyLmhhc0RhdGE/WVRQbGF5ZXIudmlkZW9EYXRhLnRpdGxlOllUUGxheWVyLnZpZGVvSUQudG9TdHJpbmcoKSk7YnJlYWs7Y2FzZSAyOmV2ZW50VHlwZT0iWVRQUGF1c2UiLFlUUGxheWVyLmNvbnRyb2xCYXIubGVuZ3RoJiZZVFBsYXllci5jb250cm9sQmFyLmZpbmQoIi5tYl9ZVFBQbGF5cGF1c2UiKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnBsYXkpO2JyZWFrO2Nhc2UgMzpZVFBsYXllci5wbGF5ZXIuc2V0UGxheWJhY2tRdWFsaXR5KFlUUGxheWVyLm9wdC5xdWFsaXR5KSxldmVudFR5cGU9IllUUEJ1ZmZlcmluZyIsWVRQbGF5ZXIuY29udHJvbEJhci5sZW5ndGgmJllUUGxheWVyLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFBsYXlwYXVzZSIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGxheSk7YnJlYWs7Y2FzZSA1OmV2ZW50VHlwZT0iWVRQQ3VlZCJ9dmFyIFlUUEV2ZW50PWpRdWVyeS5FdmVudChldmVudFR5cGUpO1lUUEV2ZW50LnRpbWU9WVRQbGF5ZXIuY3VycmVudFRpbWUsWVRQbGF5ZXIuY2FuVHJpZ2dlciYmalF1ZXJ5KFlUUGxheWVyKS50cmlnZ2VyKFlUUEV2ZW50KX19LG9uUGxheWJhY2tRdWFsaXR5Q2hhbmdlOmZ1bmN0aW9uKGEpe3ZhciBiPWEudGFyZ2V0LmdldFBsYXliYWNrUXVhbGl0eSgpLGM9alF1ZXJ5LkV2ZW50KCJZVFBRdWFsaXR5Q2hhbmdlIik7Yy5xdWFsaXR5PWIsalF1ZXJ5KFlUUGxheWVyKS50cmlnZ2VyKGMpfSxvbkVycm9yOmZ1bmN0aW9uKGEpezE1MD09YS5kYXRhJiYoY29uc29sZS5sb2coIkVtYmVkZGluZyB0aGlzIHZpZGVvIGlzIHJlc3RyaWN0ZWQgYnkgWW91dHViZS4iKSxZVFBsYXllci5pc1BsYXlMaXN0JiZqUXVlcnkoWVRQbGF5ZXIpLnBsYXlOZXh0KCkpLDI9PWEuZGF0YSYmWVRQbGF5ZXIuaXNQbGF5TGlzdCYmalF1ZXJ5KFlUUGxheWVyKS5wbGF5TmV4dCgpLCJmdW5jdGlvbiI9PXR5cGVvZiBZVFBsYXllci5vcHQub25FcnJvciYmWVRQbGF5ZXIub3B0Lm9uRXJyb3IoJFlUUGxheWVyLGEpfX19KX19KSl9KSwkWVRQbGF5ZXIub2ZmKCJZVFBUaW1lLm1hc2siKSxqUXVlcnkubWJZVFBsYXllci5hcHBseU1hc2soWVRQbGF5ZXIpfX0pfSxnZXREYXRhRnJvbUFQSTpmdW5jdGlvbihhKXtpZihhLnZpZGVvRGF0YT1qUXVlcnkubWJTdG9yYWdlLmdldCgiWVRQbGF5ZXJfZGF0YV8iK2EudmlkZW9JRCksalF1ZXJ5KGEpLm9mZigiWVRQRGF0YS5ZVFBsYXllciIpLm9uKCJZVFBEYXRhLllUUGxheWVyIixmdW5jdGlvbigpe2lmKGEuaGFzRGF0YSYmYS5pc1BsYXllciYmIWEub3B0LmF1dG9QbGF5KXt2YXIgYj1hLnZpZGVvRGF0YS50aHVtYl9tYXh8fGEudmlkZW9EYXRhLnRodW1iX2hpZ2h8fGEudmlkZW9EYXRhLnRodW1iX21lZGl1bTthLm9wdC5jb250YWlubWVudC5jc3Moe2JhY2tncm91bmQ6InJnYmEoMCwwLDAsMC41KSB1cmwoIitiKyIpIGNlbnRlciBjZW50ZXIiLGJhY2tncm91bmRTaXplOiJjb3ZlciJ9KSxhLm9wdC5iYWNrZ3JvdW5kVXJsPWJ9fSksYS52aWRlb0RhdGEpc2V0VGltZW91dChmdW5jdGlvbigpe2Eub3B0LnJhdGlvPSJhdXRvIj09YS5vcHQucmF0aW8/IjE2LzkiOmEub3B0LnJhdGlvLGEuZGF0YVJlY2VpdmVkPSEwLGpRdWVyeShhKS50cmlnZ2VyKCJZVFBDaGFuZ2VkIik7dmFyIGI9alF1ZXJ5LkV2ZW50KCJZVFBEYXRhIik7Yi5wcm9wPXt9O2Zvcih2YXIgYyBpbiBhLnZpZGVvRGF0YSliLnByb3BbY109YS52aWRlb0RhdGFbY107alF1ZXJ5KGEpLnRyaWdnZXIoYil9LGEub3B0LmZhZGVPblN0YXJ0VGltZSksYS5oYXNEYXRhPSEwO2Vsc2UgaWYoalF1ZXJ5Lm1iWVRQbGF5ZXIuYXBpS2V5KWpRdWVyeS5nZXRKU09OKGpRdWVyeS5tYllUUGxheWVyLmxvY2F0aW9uUHJvdG9jb2wrIi8vd3d3Lmdvb2dsZWFwaXMuY29tL3lvdXR1YmUvdjMvdmlkZW9zP2lkPSIrYS52aWRlb0lEKyIma2V5PSIralF1ZXJ5Lm1iWVRQbGF5ZXIuYXBpS2V5KyImcGFydD1zbmlwcGV0IixmdW5jdGlvbihiKXtmdW5jdGlvbiBjKGIpe2EudmlkZW9EYXRhPXt9LGEudmlkZW9EYXRhLmlkPWEudmlkZW9JRCxhLnZpZGVvRGF0YS5jaGFubmVsVGl0bGU9Yi5jaGFubmVsVGl0bGUsYS52aWRlb0RhdGEudGl0bGU9Yi50aXRsZSxhLnZpZGVvRGF0YS5kZXNjcmlwdGlvbj1iLmRlc2NyaXB0aW9uLmxlbmd0aDw0MDA/Yi5kZXNjcmlwdGlvbjpiLmRlc2NyaXB0aW9uLnN1YnN0cmluZygwLDQwMCkrIiAuLi4iLGEudmlkZW9EYXRhLmFzcGVjdHJhdGlvPSJhdXRvIj09YS5vcHQucmF0aW8/IjE2LzkiOmEub3B0LnJhdGlvLGEub3B0LnJhdGlvPWEudmlkZW9EYXRhLmFzcGVjdHJhdGlvLGEudmlkZW9EYXRhLnRodW1iX21heD1iLnRodW1ibmFpbHMubWF4cmVzP2IudGh1bWJuYWlscy5tYXhyZXMudXJsOm51bGwsYS52aWRlb0RhdGEudGh1bWJfaGlnaD1iLnRodW1ibmFpbHMuaGlnaD9iLnRodW1ibmFpbHMuaGlnaC51cmw6bnVsbCxhLnZpZGVvRGF0YS50aHVtYl9tZWRpdW09Yi50aHVtYm5haWxzLm1lZGl1bT9iLnRodW1ibmFpbHMubWVkaXVtLnVybDpudWxsLGpRdWVyeS5tYlN0b3JhZ2Uuc2V0KCJZVFBsYXllcl9kYXRhXyIrYS52aWRlb0lELGEudmlkZW9EYXRhKX1hLmRhdGFSZWNlaXZlZD0hMCxqUXVlcnkoYSkudHJpZ2dlcigiWVRQQ2hhbmdlZCIpLGMoYi5pdGVtc1swXS5zbmlwcGV0KSxhLmhhc0RhdGE9ITA7dmFyIGQ9alF1ZXJ5LkV2ZW50KCJZVFBEYXRhIik7ZC5wcm9wPXt9O2Zvcih2YXIgZSBpbiBhLnZpZGVvRGF0YSlkLnByb3BbZV09YS52aWRlb0RhdGFbZV07alF1ZXJ5KGEpLnRyaWdnZXIoZCl9KTtlbHNle2lmKHNldFRpbWVvdXQoZnVuY3Rpb24oKXtqUXVlcnkoYSkudHJpZ2dlcigiWVRQQ2hhbmdlZCIpfSw1MCksYS5pc1BsYXllciYmIWEub3B0LmF1dG9QbGF5KXt2YXIgYj1qUXVlcnkubWJZVFBsYXllci5sb2NhdGlvblByb3RvY29sKyIvL2kueXRpbWcuY29tL3ZpLyIrYS52aWRlb0lEKyIvaHFkZWZhdWx0LmpwZyI7YiYmYS5vcHQuY29udGFpbm1lbnQuY3NzKHtiYWNrZ3JvdW5kOiJyZ2JhKDAsMCwwLDAuNSkgdXJsKCIrYisiKSBjZW50ZXIgY2VudGVyIixiYWNrZ3JvdW5kU2l6ZToiY292ZXIifSksYS5vcHQuYmFja2dyb3VuZFVybD1ifWEudmlkZW9EYXRhPW51bGwsYS5vcHQucmF0aW89ImF1dG8iPT1hLm9wdC5yYXRpbz8iMTYvOSI6YS5vcHQucmF0aW99IWEuaXNQbGF5ZXJ8fGEub3B0LmF1dG9QbGF5fHxqUXVlcnkubWJCcm93c2VyLm1vYmlsZXx8KGEubG9hZGluZz1qUXVlcnkoIjxkaXYvPiIpLmFkZENsYXNzKCJsb2FkaW5nIikuaHRtbCgiTG9hZGluZyIpLmhpZGUoKSxqUXVlcnkoYSkuYXBwZW5kKGEubG9hZGluZyksYS5sb2FkaW5nLmZhZGVJbigpKX0scmVtb3ZlU3RvcmVkRGF0YTpmdW5jdGlvbigpe2pRdWVyeS5tYlN0b3JhZ2UucmVtb3ZlKCl9LGdldFZpZGVvRGF0YTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApO3JldHVybiBhLnZpZGVvRGF0YX0sZ2V0VmlkZW9JRDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApO3JldHVybiBhLnZpZGVvSUR8fCExfSxzZXRWaWRlb1F1YWxpdHk6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXQoMCk7Yi5wbGF5ZXIuc2V0UGxheWJhY2tRdWFsaXR5KGEpfSxwbGF5bGlzdDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9dGhpcyxlPWQuZ2V0KDApO3JldHVybiBlLmlzUGxheUxpc3Q9ITAsYiYmKGE9alF1ZXJ5LnNodWZmbGUoYSkpLGUudmlkZW9JRHx8KGUudmlkZW9zPWEsZS52aWRlb0NvdW50ZXI9MCxlLnZpZGVvTGVuZ3RoPWEubGVuZ3RoLGpRdWVyeShlKS5kYXRhKCJwcm9wZXJ0eSIsYVswXSksalF1ZXJ5KGUpLm1iX1lUUGxheWVyKCkpLCJmdW5jdGlvbiI9PXR5cGVvZiBjJiZqUXVlcnkoZSkub25lKCJZVFBDaGFuZ2VkIixmdW5jdGlvbigpe2MoZSl9KSxqUXVlcnkoZSkub24oIllUUEVuZCIsZnVuY3Rpb24oKXtqUXVlcnkoZSkucGxheU5leHQoKX0pLHRoaXN9LHBsYXlOZXh0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7cmV0dXJuIGEuY2hlY2tGb3JTdGFydEF0JiYoY2xlYXJJbnRlcnZhbChhLmNoZWNrRm9yU3RhcnRBdCksY2xlYXJJbnRlcnZhbChhLmdldFN0YXRlKSksYS52aWRlb0NvdW50ZXIrKyxhLnZpZGVvQ291bnRlcj49YS52aWRlb0xlbmd0aCYmKGEudmlkZW9Db3VudGVyPTApLGpRdWVyeShhKS5ZVFBDaGFuZ2VNb3ZpZShhLnZpZGVvc1thLnZpZGVvQ291bnRlcl0pLHRoaXN9LHBsYXlQcmV2OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7cmV0dXJuIGEuY2hlY2tGb3JTdGFydEF0JiYoY2xlYXJJbnRlcnZhbChhLmNoZWNrRm9yU3RhcnRBdCksY2xlYXJJbnRlcnZhbChhLmdldFN0YXRlKSksYS52aWRlb0NvdW50ZXItLSxhLnZpZGVvQ291bnRlcjwwJiYoYS52aWRlb0NvdW50ZXI9YS52aWRlb0xlbmd0aC0xKSxqUXVlcnkoYSkuWVRQQ2hhbmdlTW92aWUoYS52aWRlb3NbYS52aWRlb0NvdW50ZXJdKSx0aGlzfSxwbGF5SW5kZXg6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXQoMCk7cmV0dXJuIGEtPTEsYi5jaGVja0ZvclN0YXJ0QXQmJihjbGVhckludGVydmFsKGIuY2hlY2tGb3JTdGFydEF0KSxjbGVhckludGVydmFsKGIuZ2V0U3RhdGUpKSxiLnZpZGVvQ291bnRlcj1hLGIudmlkZW9Db3VudGVyPj1iLnZpZGVvTGVuZ3RoLTEmJihiLnZpZGVvQ291bnRlcj1iLnZpZGVvTGVuZ3RoLTEpLGpRdWVyeShiKS5ZVFBDaGFuZ2VNb3ZpZShiLnZpZGVvc1tiLnZpZGVvQ291bnRlcl0pLHRoaXN9LGNoYW5nZU1vdmllOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1iLmdldCgwKTtjLm9wdC5zdGFydEF0PTAsYy5vcHQuc3RvcEF0PTAsYy5vcHQubWFzaz0hMSxjLm9wdC5tdXRlPSEwLGMuaGFzRGF0YT0hMSxjLmhhc0NoYW5nZWQ9ITAsYy5wbGF5ZXIubG9vcFRpbWU9dm9pZCAwLGEmJmpRdWVyeS5leHRlbmQoYy5vcHQsYSksYy52aWRlb0lEPWdldFlUUFZpZGVvSUQoYy5vcHQudmlkZW9VUkwpLnZpZGVvSUQsInRydWUiPT1jLm9wdC5sb29wJiYoYy5vcHQubG9vcD05OTk5KSxqUXVlcnkoYy5wbGF5ZXJFbCkuQ1NTQW5pbWF0ZSh7b3BhY2l0eTowfSxjLm9wdC5mYWRlT25TdGFydFRpbWUsZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkuRXZlbnQoIllUUENoYW5nZU1vdmllIik7YS50aW1lPWMuY3VycmVudFRpbWUsYS52aWRlb0lkPWMudmlkZW9JRCxqUXVlcnkoYykudHJpZ2dlcihhKSxqUXVlcnkoYykuWVRQR2V0UGxheWVyKCkuY3VlVmlkZW9CeVVybChlbmNvZGVVUkkoalF1ZXJ5Lm1iWVRQbGF5ZXIubG9jYXRpb25Qcm90b2NvbCsiLy93d3cueW91dHViZS5jb20vdi8iK2MudmlkZW9JRCksMSxjLm9wdC5xdWFsaXR5KSxqUXVlcnkoYykub3B0aW1pemVEaXNwbGF5KCksalF1ZXJ5Lm1iWVRQbGF5ZXIuY2hlY2tGb3JTdGF0ZShjKSxqUXVlcnkubWJZVFBsYXllci5nZXREYXRhRnJvbUFQSShjKX0pLGpRdWVyeS5tYllUUGxheWVyLmFwcGx5TWFzayhjKX0sZ2V0UGxheWVyOmZ1bmN0aW9uKCl7cmV0dXJuIGpRdWVyeSh0aGlzKS5nZXQoMCkucGxheWVyfSxwbGF5ZXJEZXN0cm95OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7eXRwLllUQVBJUmVhZHk9ITAseXRwLmJhY2tncm91bmRJc0luaXRlZD0hMSxhLmlzSW5pdD0hMSxhLnZpZGVvSUQ9bnVsbCxhLmlzUmVhZHk9ITE7dmFyIGI9YS53cmFwcGVyO3JldHVybiBiLnJlbW92ZSgpLGpRdWVyeSgiI2NvbnRyb2xCYXJfIithLmlkKS5yZW1vdmUoKSxjbGVhckludGVydmFsKGEuY2hlY2tGb3JTdGFydEF0KSxjbGVhckludGVydmFsKGEuZ2V0U3RhdGUpLHRoaXN9LGZ1bGxzY3JlZW46ZnVuY3Rpb24ocmVhbCl7ZnVuY3Rpb24gaGlkZU1vdXNlKCl7WVRQbGF5ZXIub3ZlcmxheS5jc3Moe2N1cnNvcjoibm9uZSJ9KX1mdW5jdGlvbiBSdW5QcmVmaXhNZXRob2QoYSxiKXtmb3IodmFyIGMsZCxlPVsid2Via2l0IiwibW96IiwibXMiLCJvIiwiIl0sZj0wO2Y8ZS5sZW5ndGgmJiFhW2NdOyl7aWYoYz1iLCIiPT1lW2ZdJiYoYz1jLnN1YnN0cigwLDEpLnRvTG93ZXJDYXNlKCkrYy5zdWJzdHIoMSkpLGM9ZVtmXStjLGQ9dHlwZW9mIGFbY10sInVuZGVmaW5lZCIhPWQpcmV0dXJuIGU9W2VbZl1dLCJmdW5jdGlvbiI9PWQ/YVtjXSgpOmFbY107ZisrfX1mdW5jdGlvbiBsYXVuY2hGdWxsc2NyZWVuKGEpe1J1blByZWZpeE1ldGhvZChhLCJSZXF1ZXN0RnVsbFNjcmVlbiIpfWZ1bmN0aW9uIGNhbmNlbEZ1bGxzY3JlZW4oKXsoUnVuUHJlZml4TWV0aG9kKGRvY3VtZW50LCJGdWxsU2NyZWVuIil8fFJ1blByZWZpeE1ldGhvZChkb2N1bWVudCwiSXNGdWxsU2NyZWVuIikpJiZSdW5QcmVmaXhNZXRob2QoZG9jdW1lbnQsIkNhbmNlbEZ1bGxTY3JlZW4iKX12YXIgWVRQbGF5ZXI9dGhpcy5nZXQoMCk7InVuZGVmaW5lZCI9PXR5cGVvZiByZWFsJiYocmVhbD1ZVFBsYXllci5vcHQucmVhbGZ1bGxzY3JlZW4pLHJlYWw9ZXZhbChyZWFsKTt2YXIgY29udHJvbHM9alF1ZXJ5KCIjY29udHJvbEJhcl8iK1lUUGxheWVyLmlkKSxmdWxsU2NyZWVuQnRuPWNvbnRyb2xzLmZpbmQoIi5tYl9Pbmx5WVQiKSx2aWRlb1dyYXBwZXI9WVRQbGF5ZXIuaXNTZWxmP1lUUGxheWVyLm9wdC5jb250YWlubWVudDpZVFBsYXllci53cmFwcGVyO2lmKHJlYWwpe3ZhciBmdWxsc2NyZWVuY2hhbmdlPWpRdWVyeS5tYkJyb3dzZXIubW96aWxsYT8ibW96ZnVsbHNjcmVlbmNoYW5nZSI6alF1ZXJ5Lm1iQnJvd3Nlci53ZWJraXQ/IndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UiOiJmdWxsc2NyZWVuY2hhbmdlIjtqUXVlcnkoZG9jdW1lbnQpLm9mZihmdWxsc2NyZWVuY2hhbmdlKS5vbihmdWxsc2NyZWVuY2hhbmdlLGZ1bmN0aW9uKCl7dmFyIGE9UnVuUHJlZml4TWV0aG9kKGRvY3VtZW50LCJJc0Z1bGxTY3JlZW4iKXx8UnVuUHJlZml4TWV0aG9kKGRvY3VtZW50LCJGdWxsU2NyZWVuIik7YT8oalF1ZXJ5KFlUUGxheWVyKS5ZVFBTZXRWaWRlb1F1YWxpdHkoImRlZmF1bHQiKSxqUXVlcnkoWVRQbGF5ZXIpLnRyaWdnZXIoIllUUEZ1bGxTY3JlZW5TdGFydCIpKTooWVRQbGF5ZXIuaXNBbG9uZT0hMSxmdWxsU2NyZWVuQnRuLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMub25seVlUKSxqUXVlcnkoWVRQbGF5ZXIpLllUUFNldFZpZGVvUXVhbGl0eShZVFBsYXllci5vcHQucXVhbGl0eSksdmlkZW9XcmFwcGVyLnJlbW92ZUNsYXNzKCJZVFBGdWxsc2NyZWVuIiksdmlkZW9XcmFwcGVyLkNTU0FuaW1hdGUoe29wYWNpdHk6WVRQbGF5ZXIub3B0Lm9wYWNpdHl9LFlUUGxheWVyLm9wdC5mYWRlT25TdGFydFRpbWUpLHZpZGVvV3JhcHBlci5jc3Moe3pJbmRleDowfSksWVRQbGF5ZXIuaXNCYWNrZ3JvdW5kP2pRdWVyeSgiYm9keSIpLmFmdGVyKGNvbnRyb2xzKTpZVFBsYXllci53cmFwcGVyLmJlZm9yZShjb250cm9scyksalF1ZXJ5KHdpbmRvdykucmVzaXplKCksalF1ZXJ5KFlUUGxheWVyKS50cmlnZ2VyKCJZVFBGdWxsU2NyZWVuRW5kIikpfSl9cmV0dXJuIFlUUGxheWVyLmlzQWxvbmU/KGpRdWVyeShkb2N1bWVudCkub2ZmKCJtb3VzZW1vdmUuWVRQbGF5ZXIiKSxjbGVhclRpbWVvdXQoWVRQbGF5ZXIuaGlkZUN1cnNvciksWVRQbGF5ZXIub3ZlcmxheS5jc3Moe2N1cnNvcjoiYXV0byJ9KSxyZWFsP2NhbmNlbEZ1bGxzY3JlZW4oKToodmlkZW9XcmFwcGVyLkNTU0FuaW1hdGUoe29wYWNpdHk6WVRQbGF5ZXIub3B0Lm9wYWNpdHl9LFlUUGxheWVyLm9wdC5mYWRlT25TdGFydFRpbWUpLHZpZGVvV3JhcHBlci5jc3Moe3pJbmRleDowfSkpLGZ1bGxTY3JlZW5CdG4uaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy5vbmx5WVQpLFlUUGxheWVyLmlzQWxvbmU9ITEpOihqUXVlcnkoZG9jdW1lbnQpLm9uKCJtb3VzZW1vdmUuWVRQbGF5ZXIiLGZ1bmN0aW9uKGEpe1lUUGxheWVyLm92ZXJsYXkuY3NzKHtjdXJzb3I6ImF1dG8ifSksY2xlYXJUaW1lb3V0KFlUUGxheWVyLmhpZGVDdXJzb3IpLGpRdWVyeShhLnRhcmdldCkucGFyZW50cygpLmlzKCIubWJfWVRQQmFyIil8fChZVFBsYXllci5oaWRlQ3Vyc29yPXNldFRpbWVvdXQoaGlkZU1vdXNlLDNlMykpfSksaGlkZU1vdXNlKCkscmVhbD8odmlkZW9XcmFwcGVyLmNzcyh7b3BhY2l0eTowfSksdmlkZW9XcmFwcGVyLmFkZENsYXNzKCJZVFBGdWxsc2NyZWVuIiksbGF1bmNoRnVsbHNjcmVlbih2aWRlb1dyYXBwZXIuZ2V0KDApKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dmlkZW9XcmFwcGVyLkNTU0FuaW1hdGUoe29wYWNpdHk6MX0sMipZVFBsYXllci5vcHQuZmFkZU9uU3RhcnRUaW1lKSxZVFBsYXllci53cmFwcGVyLmFwcGVuZChjb250cm9scyksalF1ZXJ5KFlUUGxheWVyKS5vcHRpbWl6ZURpc3BsYXkoKSxZVFBsYXllci5wbGF5ZXIuc2Vla1RvKFlUUGxheWVyLnBsYXllci5nZXRDdXJyZW50VGltZSgpKy4xLCEwKX0sWVRQbGF5ZXIub3B0LmZhZGVPblN0YXJ0VGltZSkpOnZpZGVvV3JhcHBlci5jc3Moe3pJbmRleDoxZTR9KS5DU1NBbmltYXRlKHtvcGFjaXR5OjF9LDIqWVRQbGF5ZXIub3B0LmZhZGVPblN0YXJ0VGltZSksZnVsbFNjcmVlbkJ0bi5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnNob3dTaXRlKSxZVFBsYXllci5pc0Fsb25lPSEwKSx0aGlzfSx0b2dnbGVMb29wczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApLGI9YS5vcHQ7cmV0dXJuIDE9PWIubG9vcD9iLmxvb3A9MDooYi5zdGFydEF0P2EucGxheWVyLnNlZWtUbyhiLnN0YXJ0QXQpOmEucGxheWVyLnBsYXlWaWRlbygpLGIubG9vcD0xKSx0aGlzfSxwbGF5OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7aWYoIWEuaXNSZWFkeSlyZXR1cm4gdGhpczthLnBsYXllci5wbGF5VmlkZW8oKSxhLndyYXBwZXIuQ1NTQW5pbWF0ZSh7b3BhY2l0eTphLmlzQWxvbmU/MTphLm9wdC5vcGFjaXR5fSw0KmEub3B0LmZhZGVPblN0YXJ0VGltZSksalF1ZXJ5KGEucGxheWVyRWwpLkNTU0FuaW1hdGUoe29wYWNpdHk6MX0sMiphLm9wdC5mYWRlT25TdGFydFRpbWUpO3ZhciBiPWpRdWVyeSgiI2NvbnRyb2xCYXJfIithLmlkKSxjPWIuZmluZCgiLm1iX1lUUFBsYXlwYXVzZSIpO3JldHVybiBjLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGF1c2UpLGEuc3RhdGU9MSxhLm9yaWdfYmFja2dyb3VuZD1qUXVlcnkoYSkuY3NzKCJiYWNrZ3JvdW5kLWltYWdlIiksdGhpc30sdG9nZ2xlUGxheTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldCgwKTtyZXR1cm4gMT09Yi5zdGF0ZT90aGlzLllUUFBhdXNlKCk6dGhpcy5ZVFBQbGF5KCksImZ1bmN0aW9uIj09dHlwZW9mIGEmJmEoYi5zdGF0ZSksdGhpc30sc3RvcDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApLGI9alF1ZXJ5KCIjY29udHJvbEJhcl8iK2EuaWQpLGM9Yi5maW5kKCIubWJfWVRQUGxheXBhdXNlIik7cmV0dXJuIGMuaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy5wbGF5KSxhLnBsYXllci5zdG9wVmlkZW8oKSx0aGlzfSxwYXVzZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApO3JldHVybiBhLnBsYXllci5wYXVzZVZpZGVvKCksYS5zdGF0ZT0yLHRoaXN9LHNlZWtUbzpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldCgwKTtyZXR1cm4gYi5wbGF5ZXIuc2Vla1RvKGEsITApLHRoaXN9LHNldFZvbHVtZTpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmdldCgwKTtyZXR1cm4gYXx8Yi5vcHQudm9sfHwwIT1iLnBsYXllci5nZXRWb2x1bWUoKT8hYSYmYi5wbGF5ZXIuZ2V0Vm9sdW1lKCk+MHx8YSYmYi5vcHQudm9sPT1hP2IuaXNNdXRlP2pRdWVyeShiKS5ZVFBVbm11dGUoKTpqUXVlcnkoYikuWVRQTXV0ZSgpOihiLm9wdC52b2w9YSxiLnBsYXllci5zZXRWb2x1bWUoYi5vcHQudm9sKSxiLnZvbHVtZUJhciYmYi52b2x1bWVCYXIubGVuZ3RoJiZiLnZvbHVtZUJhci51cGRhdGVTbGlkZXJWYWwoYSkpOmpRdWVyeShiKS5ZVFBVbm11dGUoKSx0aGlzfSx0b2dnbGVWb2x1bWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldCgwKTtpZihhKXJldHVybiBhLnBsYXllci5pc011dGVkKCk/KGpRdWVyeShhKS5ZVFBVbm11dGUoKSwhMCk6KGpRdWVyeShhKS5ZVFBNdXRlKCksITEpfSxtdXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7aWYoIWEuaXNNdXRlKXthLnBsYXllci5tdXRlKCksYS5pc011dGU9ITAsYS5wbGF5ZXIuc2V0Vm9sdW1lKDApLGEudm9sdW1lQmFyJiZhLnZvbHVtZUJhci5sZW5ndGgmJmEudm9sdW1lQmFyLndpZHRoKCk+MTAmJmEudm9sdW1lQmFyLnVwZGF0ZVNsaWRlclZhbCgwKTt2YXIgYj1qUXVlcnkoIiNjb250cm9sQmFyXyIrYS5pZCksYz1iLmZpbmQoIi5tYl9ZVFBNdXRlVW5tdXRlIik7Yy5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnVubXV0ZSksalF1ZXJ5KGEpLmFkZENsYXNzKCJpc011dGVkIiksYS52b2x1bWVCYXImJmEudm9sdW1lQmFyLmxlbmd0aCYmYS52b2x1bWVCYXIuYWRkQ2xhc3MoIm11dGVkIik7dmFyIGQ9alF1ZXJ5LkV2ZW50KCJZVFBNdXRlZCIpO3JldHVybiBkLnRpbWU9YS5jdXJyZW50VGltZSxhLmNhblRyaWdnZXImJmpRdWVyeShhKS50cmlnZ2VyKGQpLHRoaXN9fSx1bm11dGU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldCgwKTtpZihhLmlzTXV0ZSl7YS5wbGF5ZXIudW5NdXRlKCksYS5pc011dGU9ITEsYS5wbGF5ZXIuc2V0Vm9sdW1lKGEub3B0LnZvbCksYS52b2x1bWVCYXImJmEudm9sdW1lQmFyLmxlbmd0aCYmYS52b2x1bWVCYXIudXBkYXRlU2xpZGVyVmFsKGEub3B0LnZvbD4xMD9hLm9wdC52b2w6MTApO3ZhciBiPWpRdWVyeSgiI2NvbnRyb2xCYXJfIithLmlkKSxjPWIuZmluZCgiLm1iX1lUUE11dGVVbm11dGUiKTtjLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMubXV0ZSksalF1ZXJ5KGEpLnJlbW92ZUNsYXNzKCJpc011dGVkIiksYS52b2x1bWVCYXImJmEudm9sdW1lQmFyLmxlbmd0aCYmYS52b2x1bWVCYXIucmVtb3ZlQ2xhc3MoIm11dGVkIik7dmFyIGQ9alF1ZXJ5LkV2ZW50KCJZVFBVbm11dGVkIik7cmV0dXJuIGQudGltZT1hLmN1cnJlbnRUaW1lLGEuY2FuVHJpZ2dlciYmalF1ZXJ5KGEpLnRyaWdnZXIoZCksdGhpc319LGFwcGx5RmlsdGVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPXRoaXM7Yy5maWx0ZXJzW2FdLnZhbHVlPWIsYy5maWx0ZXJzRW5hYmxlZCYmalF1ZXJ5KGMpLllUUEVuYWJsZUZpbHRlcnMoKX0pfSxhcHBseUZpbHRlcnM6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPXRoaXM7aWYoIWIuaXNSZWFkeSlyZXR1cm4gdm9pZCBqUXVlcnkoYikub24oIllUUFJlYWR5IixmdW5jdGlvbigpe2pRdWVyeShiKS5ZVFBBcHBseUZpbHRlcnMoYSl9KTtmb3IodmFyIGMgaW4gYSlqUXVlcnkoYikuWVRQQXBwbHlGaWx0ZXIoYyxhW2NdKTtqUXVlcnkoYikudHJpZ2dlcigiWVRQRmlsdGVyc0FwcGxpZWQiKX0pfSx0b2dnbGVGaWx0ZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9dGhpcztjLmZpbHRlcnNbYV0udmFsdWU/Yy5maWx0ZXJzW2FdLnZhbHVlPTA6Yy5maWx0ZXJzW2FdLnZhbHVlPWIsYy5maWx0ZXJzRW5hYmxlZCYmalF1ZXJ5KHRoaXMpLllUUEVuYWJsZUZpbHRlcnMoKX0pfSx0b2dnbGVGaWx0ZXJzOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj10aGlzO2IuZmlsdGVyc0VuYWJsZWQ/KGpRdWVyeShiKS50cmlnZ2VyKCJZVFBEaXNhYmxlRmlsdGVycyIpLGpRdWVyeShiKS5ZVFBEaXNhYmxlRmlsdGVycygpKTooalF1ZXJ5KGIpLllUUEVuYWJsZUZpbHRlcnMoKSxqUXVlcnkoYikudHJpZ2dlcigiWVRQRW5hYmxlRmlsdGVycyIpKSwiZnVuY3Rpb24iPT10eXBlb2YgYSYmYShiLmZpbHRlcnNFbmFibGVkKX0pfSxkaXNhYmxlRmlsdGVyczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYT10aGlzLGI9alF1ZXJ5KGEucGxheWVyRWwpO2IuY3NzKCItd2Via2l0LWZpbHRlciIsIiIpLGIuY3NzKCJmaWx0ZXIiLCIiKSxhLmZpbHRlcnNFbmFibGVkPSExfSl9LGVuYWJsZUZpbHRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxiPWpRdWVyeShhLnBsYXllckVsKSxjPSIiO2Zvcih2YXIgZCBpbiBhLmZpbHRlcnMpYS5maWx0ZXJzW2RdLnZhbHVlJiYoYys9ZC5yZXBsYWNlKCJfIiwiLSIpKyIoIithLmZpbHRlcnNbZF0udmFsdWUrYS5maWx0ZXJzW2RdLnVuaXQrIikgIik7Yi5jc3MoIi13ZWJraXQtZmlsdGVyIixjKSxiLmNzcygiZmlsdGVyIixjKSxhLmZpbHRlcnNFbmFibGVkPSEwfSl9LHJlbW92ZUZpbHRlcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYz10aGlzO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoYj1hLGE9bnVsbCksYSlqUXVlcnkodGhpcykuWVRQQXBwbHlGaWx0ZXIoYSwwKSwiZnVuY3Rpb24iPT10eXBlb2YgYiYmYihhKTtlbHNlIGZvcih2YXIgZCBpbiBjLmZpbHRlcnMpalF1ZXJ5KHRoaXMpLllUUEFwcGx5RmlsdGVyKGQsMCksImZ1bmN0aW9uIj09dHlwZW9mIGImJmIoZCl9KX0sZ2V0RmlsdGVyczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApO3JldHVybiBhLmZpbHRlcnN9LGFkZE1hc2s6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXQoMCksYz1iLm92ZXJsYXk7YXx8KGE9Yi5hY3R1YWxNYXNrKTt2YXIgZD1qUXVlcnkoIjxpbWcvPiIpLmF0dHIoInNyYyIsYSkub24oImxvYWQiLGZ1bmN0aW9uKCl7Yy5DU1NBbmltYXRlKHtvcGFjaXR5OjB9LGIub3B0LmZhZGVPblN0YXJ0VGltZSxmdW5jdGlvbigpe2IuaGFzTWFzaz0hMCxkLnJlbW92ZSgpLGMuY3NzKHtiYWNrZ3JvdW5kSW1hZ2U6InVybCgiK2ErIikiLGJhY2tncm91bmRSZXBlYXQ6Im5vLXJlcGVhdCIsYmFja2dyb3VuZFBvc2l0aW9uOiJjZW50ZXIgY2VudGVyIixiYWNrZ3JvdW5kU2l6ZToiY292ZXIifSksYy5DU1NBbmltYXRlKHtvcGFjaXR5OjF9LGIub3B0LmZhZGVPblN0YXJ0VGltZSl9KX0pO3JldHVybiB0aGlzfSxyZW1vdmVNYXNrOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCksYj1hLm92ZXJsYXk7cmV0dXJuIGIuQ1NTQW5pbWF0ZSh7b3BhY2l0eTowfSxhLm9wdC5mYWRlT25TdGFydFRpbWUsZnVuY3Rpb24oKXthLmhhc01hc2s9ITEsYi5jc3Moe2JhY2tncm91bmRJbWFnZToiIixiYWNrZ3JvdW5kUmVwZWF0OiIiLGJhY2tncm91bmRQb3NpdGlvbjoiIixiYWNrZ3JvdW5kU2l6ZToiIn0pLGIuQ1NTQW5pbWF0ZSh7b3BhY2l0eToxfSxhLm9wdC5mYWRlT25TdGFydFRpbWUpfSksdGhpc30sYXBwbHlNYXNrOmZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeShhKTtpZihiLm9mZigiWVRQVGltZS5tYXNrIiksYS5vcHQubWFzaylpZigic3RyaW5nIj09dHlwZW9mIGEub3B0Lm1hc2spYi5ZVFBBZGRNYXNrKGEub3B0Lm1hc2spLGEuYWN0dWFsTWFzaz1hLm9wdC5tYXNrO2Vsc2UgaWYoIm9iamVjdCI9PXR5cGVvZiBhLm9wdC5tYXNrKXtmb3IodmFyIGMgaW4gYS5vcHQubWFzaylpZihhLm9wdC5tYXNrW2NdKXtqUXVlcnkoIjxpbWcvPiIpLmF0dHIoInNyYyIsYS5vcHQubWFza1tjXSl9YS5vcHQubWFza1swXSYmYi5ZVFBBZGRNYXNrKGEub3B0Lm1hc2tbMF0pLGIub24oIllUUFRpbWUubWFzayIsZnVuY3Rpb24oYyl7Zm9yKHZhciBkIGluIGEub3B0Lm1hc2spYy50aW1lPT1kJiYoYS5vcHQubWFza1tkXT8oYi5ZVFBBZGRNYXNrKGEub3B0Lm1hc2tbZF0pLGEuYWN0dWFsTWFzaz1hLm9wdC5tYXNrW2RdKTpiLllUUFJlbW92ZU1hc2soKSl9KX19LHRvZ2dsZU1hc2s6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldCgwKSxiPSQoYSk7cmV0dXJuIGEuaGFzTWFzaz9iLllUUFJlbW92ZU1hc2soKTpiLllUUEFkZE1hc2soKSx0aGlzfSxtYW5hZ2VQcm9ncmVzczpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApLGI9alF1ZXJ5KCIjY29udHJvbEJhcl8iK2EuaWQpLGM9Yi5maW5kKCIubWJfWVRQUHJvZ3Jlc3MiKSxkPWIuZmluZCgiLm1iX1lUUExvYWRlZCIpLGU9Yi5maW5kKCIubWJfWVRQc2Vla2JhciIpLGY9Yy5vdXRlcldpZHRoKCksZz1NYXRoLmZsb29yKGEucGxheWVyLmdldEN1cnJlbnRUaW1lKCkpLGg9TWF0aC5mbG9vcihhLnBsYXllci5nZXREdXJhdGlvbigpKSxpPWcqZi9oLGo9MCxrPTEwMCphLnBsYXllci5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCk7cmV0dXJuIGQuY3NzKHtsZWZ0Omosd2lkdGg6aysiJSJ9KSxlLmNzcyh7bGVmdDowLHdpZHRoOml9KSx7dG90YWxUaW1lOmgsY3VycmVudFRpbWU6Z319LGJ1aWxkQ29udHJvbHM6ZnVuY3Rpb24oWVRQbGF5ZXIpe3ZhciBkYXRhPVlUUGxheWVyLm9wdDtpZihkYXRhLnNob3dZVExvZ289ZGF0YS5zaG93WVRMb2dvfHxkYXRhLnByaW50VXJsLCFqUXVlcnkoIiNjb250cm9sQmFyXyIrWVRQbGF5ZXIuaWQpLmxlbmd0aCl7WVRQbGF5ZXIuY29udHJvbEJhcj1qUXVlcnkoIjxzcGFuLz4iKS5hdHRyKCJpZCIsImNvbnRyb2xCYXJfIitZVFBsYXllci5pZCkuYWRkQ2xhc3MoIm1iX1lUUEJhciIpLmNzcyh7d2hpdGVTcGFjZToibm9XcmFwIixwb3NpdGlvbjpZVFBsYXllci5pc0JhY2tncm91bmQ/ImZpeGVkIjoiYWJzb2x1dGUiLHpJbmRleDpZVFBsYXllci5pc0JhY2tncm91bmQ/MWU0OjFlM30pLmhpZGUoKTt2YXIgYnV0dG9uQmFyPWpRdWVyeSgiPGRpdi8+IikuYWRkQ2xhc3MoImJ1dHRvbkJhciIpLHBsYXlwYXVzZT1qUXVlcnkoIjxzcGFuPiIralF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGxheSsiPC9zcGFuPiIpLmFkZENsYXNzKCJtYl9ZVFBQbGF5cGF1c2UgeXRwaWNvbiIpLmNsaWNrKGZ1bmN0aW9uKCl7MT09WVRQbGF5ZXIucGxheWVyLmdldFBsYXllclN0YXRlKCk/alF1ZXJ5KFlUUGxheWVyKS5ZVFBQYXVzZSgpOmpRdWVyeShZVFBsYXllcikuWVRQUGxheSgpfSksTXV0ZVVubXV0ZT1qUXVlcnkoIjxzcGFuPiIralF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMubXV0ZSsiPC9zcGFuPiIpLmFkZENsYXNzKCJtYl9ZVFBNdXRlVW5tdXRlIHl0cGljb24iKS5jbGljayhmdW5jdGlvbigpezA9PVlUUGxheWVyLnBsYXllci5nZXRWb2x1bWUoKT9qUXVlcnkoWVRQbGF5ZXIpLllUUFVubXV0ZSgpOmpRdWVyeShZVFBsYXllcikuWVRQTXV0ZSgpfSksdm9sdW1lQmFyPWpRdWVyeSgiPGRpdi8+IikuYWRkQ2xhc3MoIm1iX1lUUFZvbHVtZUJhciIpLmNzcyh7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0pO1lUUGxheWVyLnZvbHVtZUJhcj12b2x1bWVCYXI7dmFyIGlkeD1qUXVlcnkoIjxzcGFuLz4iKS5hZGRDbGFzcygibWJfWVRQVGltZSIpLHZVUkw9ZGF0YS52aWRlb1VSTD9kYXRhLnZpZGVvVVJMOiIiO3ZVUkwuaW5kZXhPZigiaHR0cCIpPDAmJih2VVJMPWpRdWVyeS5tYllUUGxheWVyLmxvY2F0aW9uUHJvdG9jb2wrIi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9IitkYXRhLnZpZGVvVVJMKTt2YXIgbW92aWVVcmw9alF1ZXJ5KCI8c3Bhbi8+IikuaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy55dExvZ28pLmFkZENsYXNzKCJtYl9ZVFBVcmwgeXRwaWNvbiIpLmF0dHIoInRpdGxlIiwidmlldyBvbiBZb3VUdWJlIikub24oImNsaWNrIixmdW5jdGlvbigpe3dpbmRvdy5vcGVuKHZVUkwsInZpZXdPbllUIil9KSxvbmx5VmlkZW89alF1ZXJ5KCI8c3Bhbi8+IikuaHRtbChqUXVlcnkubWJZVFBsYXllci5jb250cm9scy5vbmx5WVQpLmFkZENsYXNzKCJtYl9Pbmx5WVQgeXRwaWNvbiIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtqUXVlcnkoWVRQbGF5ZXIpLllUUEZ1bGxzY3JlZW4oZGF0YS5yZWFsZnVsbHNjcmVlbil9KSxwcm9ncmVzc0Jhcj1qUXVlcnkoIjxkaXYvPiIpLmFkZENsYXNzKCJtYl9ZVFBQcm9ncmVzcyIpLmNzcygicG9zaXRpb24iLCJhYnNvbHV0ZSIpLmNsaWNrKGZ1bmN0aW9uKGEpe3RpbWVCYXIuY3NzKHt3aWR0aDphLmNsaWVudFgtdGltZUJhci5vZmZzZXQoKS5sZWZ0fSksWVRQbGF5ZXIudGltZVc9YS5jbGllbnRYLXRpbWVCYXIub2Zmc2V0KCkubGVmdCxZVFBsYXllci5jb250cm9sQmFyLmZpbmQoIi5tYl9ZVFBMb2FkZWQiKS5jc3Moe3dpZHRoOjB9KTt2YXIgYj1NYXRoLmZsb29yKFlUUGxheWVyLnBsYXllci5nZXREdXJhdGlvbigpKTtZVFBsYXllclsiZ290byJdPXRpbWVCYXIub3V0ZXJXaWR0aCgpKmIvcHJvZ3Jlc3NCYXIub3V0ZXJXaWR0aCgpLFlUUGxheWVyLnBsYXllci5zZWVrVG8ocGFyc2VGbG9hdChZVFBsYXllclsiZ290byJdKSwhMCksWVRQbGF5ZXIuY29udHJvbEJhci5maW5kKCIubWJfWVRQTG9hZGVkIikuY3NzKHt3aWR0aDowfSl9KSxsb2FkZWRCYXI9alF1ZXJ5KCI8ZGl2Lz4iKS5hZGRDbGFzcygibWJfWVRQTG9hZGVkIikuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIiksdGltZUJhcj1qUXVlcnkoIjxkaXYvPiIpLmFkZENsYXNzKCJtYl9ZVFBzZWVrYmFyIikuY3NzKCJwb3NpdGlvbiIsImFic29sdXRlIik7cHJvZ3Jlc3NCYXIuYXBwZW5kKGxvYWRlZEJhcikuYXBwZW5kKHRpbWVCYXIpLGJ1dHRvbkJhci5hcHBlbmQocGxheXBhdXNlKS5hcHBlbmQoTXV0ZVVubXV0ZSkuYXBwZW5kKHZvbHVtZUJhcikuYXBwZW5kKGlkeCksZGF0YS5zaG93WVRMb2dvJiZidXR0b25CYXIuYXBwZW5kKG1vdmllVXJsKSwoWVRQbGF5ZXIuaXNCYWNrZ3JvdW5kfHxldmFsKFlUUGxheWVyLm9wdC5yZWFsZnVsbHNjcmVlbikmJiFZVFBsYXllci5pc0JhY2tncm91bmQpJiZidXR0b25CYXIuYXBwZW5kKG9ubHlWaWRlbyksWVRQbGF5ZXIuY29udHJvbEJhci5hcHBlbmQoYnV0dG9uQmFyKS5hcHBlbmQocHJvZ3Jlc3NCYXIpLFlUUGxheWVyLmlzQmFja2dyb3VuZD9qUXVlcnkoImJvZHkiKS5hZnRlcihZVFBsYXllci5jb250cm9sQmFyKTooWVRQbGF5ZXIuY29udHJvbEJhci5hZGRDbGFzcygiaW5saW5lUGxheWVyIiksWVRQbGF5ZXIud3JhcHBlci5iZWZvcmUoWVRQbGF5ZXIuY29udHJvbEJhcikpLHZvbHVtZUJhci5zaW1wbGVTbGlkZXIoe2luaXRpYWx2YWw6WVRQbGF5ZXIub3B0LnZvbCxzY2FsZToxMDAsb3JpZW50YXRpb246ImgiLGNhbGxiYWNrOmZ1bmN0aW9uKGEpezA9PWEudmFsdWU/alF1ZXJ5KFlUUGxheWVyKS5ZVFBNdXRlKCk6alF1ZXJ5KFlUUGxheWVyKS5ZVFBVbm11dGUoKSxZVFBsYXllci5wbGF5ZXIuc2V0Vm9sdW1lKGEudmFsdWUpLFlUUGxheWVyLmlzTXV0ZXx8KFlUUGxheWVyLm9wdC52b2w9YS52YWx1ZSl9fSl9fSxjaGVja0ZvclN0YXRlOmZ1bmN0aW9uKFlUUGxheWVyKXt2YXIgaW50ZXJ2YWw9WVRQbGF5ZXIub3B0LnNob3dDb250cm9scz8xMDA6NDAwO3JldHVybiBjbGVhckludGVydmFsKFlUUGxheWVyLmdldFN0YXRlKSxqUXVlcnkuY29udGFpbnMoZG9jdW1lbnQsWVRQbGF5ZXIpPyhqUXVlcnkubWJZVFBsYXllci5jaGVja0ZvclN0YXJ0KFlUUGxheWVyKSx2b2lkKFlUUGxheWVyLmdldFN0YXRlPXNldEludGVydmFsKGZ1bmN0aW9uKCl7dmFyIHByb2c9alF1ZXJ5KFlUUGxheWVyKS5ZVFBNYW5hZ2VQcm9ncmVzcygpLCRZVFBsYXllcj1qUXVlcnkoWVRQbGF5ZXIpLGRhdGE9WVRQbGF5ZXIub3B0LHN0YXJ0QXQ9WVRQbGF5ZXIub3B0LnN0YXJ0QXQ/WVRQbGF5ZXIuc3RhcnRfZnJvbV9sYXN0P1lUUGxheWVyLnN0YXJ0X2Zyb21fbGFzdDpZVFBsYXllci5vcHQuc3RhcnRBdDoxO1lUUGxheWVyLnN0YXJ0X2Zyb21fbGFzdD1udWxsO3ZhciBzdG9wQXQ9WVRQbGF5ZXIub3B0LnN0b3BBdD5ZVFBsYXllci5vcHQuc3RhcnRBdD9ZVFBsYXllci5vcHQuc3RvcEF0OjA7aWYoc3RvcEF0PXN0b3BBdDxZVFBsYXllci5wbGF5ZXIuZ2V0RHVyYXRpb24oKT9zdG9wQXQ6MCxZVFBsYXllci5jdXJyZW50VGltZSE9cHJvZy5jdXJyZW50VGltZSl7dmFyIFlUUEV2ZW50PWpRdWVyeS5FdmVudCgiWVRQVGltZSIpO1lUUEV2ZW50LnRpbWU9WVRQbGF5ZXIuY3VycmVudFRpbWUsalF1ZXJ5KFlUUGxheWVyKS50cmlnZ2VyKFlUUEV2ZW50KX1pZihZVFBsYXllci5jdXJyZW50VGltZT1wcm9nLmN1cnJlbnRUaW1lLFlUUGxheWVyLnRvdGFsVGltZT1ZVFBsYXllci5wbGF5ZXIuZ2V0RHVyYXRpb24oKSwwPT1ZVFBsYXllci5wbGF5ZXIuZ2V0Vm9sdW1lKCk/JFlUUGxheWVyLmFkZENsYXNzKCJpc011dGVkIik6JFlUUGxheWVyLnJlbW92ZUNsYXNzKCJpc011dGVkIiksWVRQbGF5ZXIub3B0LnNob3dDb250cm9scyYmKHByb2cudG90YWxUaW1lP1lUUGxheWVyLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFRpbWUiKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmZvcm1hdFRpbWUocHJvZy5jdXJyZW50VGltZSkrIiAvICIralF1ZXJ5Lm1iWVRQbGF5ZXIuZm9ybWF0VGltZShwcm9nLnRvdGFsVGltZSkpOllUUGxheWVyLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFRpbWUiKS5odG1sKCItLSA6IC0tIC8gLS0gOiAtLSIpKSxldmFsKFlUUGxheWVyLm9wdC5zdG9wTW92aWVPbkJsdXIpJiYoZG9jdW1lbnQuaGFzRm9jdXMoKT9kb2N1bWVudC5oYXNGb2N1cygpJiYhWVRQbGF5ZXIuaGFzRm9jdXMmJi0xIT1ZVFBsYXllci5zdGF0ZSYmMCE9WVRQbGF5ZXIuc3RhdGUmJihZVFBsYXllci5oYXNGb2N1cz0hMCwkWVRQbGF5ZXIuWVRQUGxheSgpKToxPT1ZVFBsYXllci5zdGF0ZSYmKFlUUGxheWVyLmhhc0ZvY3VzPSExLCRZVFBsYXllci5ZVFBQYXVzZSgpKSksWVRQbGF5ZXIuY29udHJvbEJhci5sZW5ndGgmJllUUGxheWVyLmNvbnRyb2xCYXIub3V0ZXJXaWR0aCgpPD00MDAmJiFZVFBsYXllci5pc0NvbXBhY3Q/KFlUUGxheWVyLmNvbnRyb2xCYXIuYWRkQ2xhc3MoImNvbXBhY3QiKSxZVFBsYXllci5pc0NvbXBhY3Q9ITAsIVlUUGxheWVyLmlzTXV0ZSYmWVRQbGF5ZXIudm9sdW1lQmFyJiZZVFBsYXllci52b2x1bWVCYXIudXBkYXRlU2xpZGVyVmFsKFlUUGxheWVyLm9wdC52b2wpKTpZVFBsYXllci5jb250cm9sQmFyLmxlbmd0aCYmWVRQbGF5ZXIuY29udHJvbEJhci5vdXRlcldpZHRoKCk+NDAwJiZZVFBsYXllci5pc0NvbXBhY3QmJihZVFBsYXllci5jb250cm9sQmFyLnJlbW92ZUNsYXNzKCJjb21wYWN0IiksWVRQbGF5ZXIuaXNDb21wYWN0PSExLCFZVFBsYXllci5pc011dGUmJllUUGxheWVyLnZvbHVtZUJhciYmWVRQbGF5ZXIudm9sdW1lQmFyLnVwZGF0ZVNsaWRlclZhbChZVFBsYXllci5vcHQudm9sKSksMT09WVRQbGF5ZXIucGxheWVyLmdldFBsYXllclN0YXRlKCkmJihwYXJzZUZsb2F0KFlUUGxheWVyLnBsYXllci5nZXREdXJhdGlvbigpLS41KTxZVFBsYXllci5wbGF5ZXIuZ2V0Q3VycmVudFRpbWUoKXx8c3RvcEF0PjAmJnBhcnNlRmxvYXQoWVRQbGF5ZXIucGxheWVyLmdldEN1cnJlbnRUaW1lKCkpPnN0b3BBdCkpe2lmKFlUUGxheWVyLmlzRW5kZWQpcmV0dXJuO2lmKFlUUGxheWVyLmlzRW5kZWQ9ITAsc2V0VGltZW91dChmdW5jdGlvbigpe1lUUGxheWVyLmlzRW5kZWQ9ITF9LDFlMyksWVRQbGF5ZXIuaXNQbGF5TGlzdCl7aWYoIWRhdGEubG9vcHx8ZGF0YS5sb29wPjAmJllUUGxheWVyLnBsYXllci5sb29wVGltZT09PWRhdGEubG9vcC0xKXtZVFBsYXllci5wbGF5ZXIubG9vcFRpbWU9dm9pZCAwLGNsZWFySW50ZXJ2YWwoWVRQbGF5ZXIuZ2V0U3RhdGUpO3ZhciBZVFBFbmQ9alF1ZXJ5LkV2ZW50KCJZVFBFbmQiKTtyZXR1cm4gWVRQRW5kLnRpbWU9WVRQbGF5ZXIuY3VycmVudFRpbWUsdm9pZCBqUXVlcnkoWVRQbGF5ZXIpLnRyaWdnZXIoWVRQRW5kKX19ZWxzZSBpZighZGF0YS5sb29wfHxkYXRhLmxvb3A+MCYmWVRQbGF5ZXIucGxheWVyLmxvb3BUaW1lPT09ZGF0YS5sb29wLTEpcmV0dXJuIFlUUGxheWVyLnBsYXllci5sb29wVGltZT12b2lkIDAsWVRQbGF5ZXIucHJldmVudFRyaWdnZXI9ITAsWVRQbGF5ZXIuc3RhdGU9MixqUXVlcnkoWVRQbGF5ZXIpLllUUFBhdXNlKCksdm9pZCBZVFBsYXllci53cmFwcGVyLkNTU0FuaW1hdGUoe29wYWNpdHk6MH0sWVRQbGF5ZXIub3B0LmZhZGVPblN0YXJ0VGltZSxmdW5jdGlvbigpe1lUUGxheWVyLmNvbnRyb2xCYXIubGVuZ3RoJiZZVFBsYXllci5jb250cm9sQmFyLmZpbmQoIi5tYl9ZVFBQbGF5cGF1c2UiKS5odG1sKGpRdWVyeS5tYllUUGxheWVyLmNvbnRyb2xzLnBsYXkpO3ZhciBhPWpRdWVyeS5FdmVudCgiWVRQRW5kIik7YS50aW1lPVlUUGxheWVyLmN1cnJlbnRUaW1lLGpRdWVyeShZVFBsYXllcikudHJpZ2dlcihhKSxZVFBsYXllci5wbGF5ZXIuc2Vla1RvKHN0YXJ0QXQsITApLFlUUGxheWVyLmlzQmFja2dyb3VuZD9ZVFBsYXllci5vcmlnX2JhY2tncm91bmQmJmpRdWVyeShZVFBsYXllcikuY3NzKCJiYWNrZ3JvdW5kLWltYWdlIixZVFBsYXllci5vcmlnX2JhY2tncm91bmQpOllUUGxheWVyLm9wdC5iYWNrZ3JvdW5kVXJsJiZZVFBsYXllci5pc1BsYXllciYmKFlUUGxheWVyLm9wdC5iYWNrZ3JvdW5kVXJsPVlUUGxheWVyLm9wdC5iYWNrZ3JvdW5kVXJsfHxZVFBsYXllci5vcmlnX2JhY2tncm91bmQsWVRQbGF5ZXIub3B0LmNvbnRhaW5tZW50LmNzcyh7YmFja2dyb3VuZDoidXJsKCIrWVRQbGF5ZXIub3B0LmJhY2tncm91bmRVcmwrIikgY2VudGVyIGNlbnRlciIsYmFja2dyb3VuZFNpemU6ImNvdmVyIn0pKX0pO1lUUGxheWVyLnBsYXllci5sb29wVGltZT1ZVFBsYXllci5wbGF5ZXIubG9vcFRpbWU/KytZVFBsYXllci5wbGF5ZXIubG9vcFRpbWU6MSxzdGFydEF0PXN0YXJ0QXR8fDEsWVRQbGF5ZXIucHJldmVudFRyaWdnZXI9ITAsWVRQbGF5ZXIuc3RhdGU9MixqUXVlcnkoWVRQbGF5ZXIpLllUUFBhdXNlKCksWVRQbGF5ZXIucGxheWVyLnNlZWtUbyhzdGFydEF0LCEwKSwkWVRQbGF5ZXIuWVRQUGxheSgpfX0saW50ZXJ2YWwpKSk6KGpRdWVyeShZVFBsYXllcikuWVRQUGxheWVyRGVzdHJveSgpLGNsZWFySW50ZXJ2YWwoWVRQbGF5ZXIuZ2V0U3RhdGUpLHZvaWQgY2xlYXJJbnRlcnZhbChZVFBsYXllci5jaGVja0ZvclN0YXJ0QXQpKX0sZ2V0VGltZTpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZ2V0KDApO3JldHVybiBqUXVlcnkubWJZVFBsYXllci5mb3JtYXRUaW1lKGEuY3VycmVudFRpbWUpfSxnZXRUb3RhbFRpbWU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmdldCgwKTtyZXR1cm4galF1ZXJ5Lm1iWVRQbGF5ZXIuZm9ybWF0VGltZShhLnRvdGFsVGltZSl9LGNoZWNrRm9yU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KGEpO2lmKCFqUXVlcnkuY29udGFpbnMoZG9jdW1lbnQsYSkpcmV0dXJuIHZvaWQgalF1ZXJ5KGEpLllUUFBsYXllckRlc3Ryb3koKTtpZihhLnByZXZlbnRUcmlnZ2VyPSEwLGEuc3RhdGU9MixqUXVlcnkoYSkuWVRQUGF1c2UoKSxqUXVlcnkoYSkubXV0ZVlUUFZvbHVtZSgpLGpRdWVyeSgiI2NvbnRyb2xCYXJfIithLmlkKS5yZW1vdmUoKSxhLmNvbnRyb2xCYXI9ITEsYS5vcHQuc2hvd0NvbnRyb2xzJiZqUXVlcnkubWJZVFBsYXllci5idWlsZENvbnRyb2xzKGEpLGEub3B0LmFkZFJhc3Rlcil7dmFyIGM9ImRvdCI9PWEub3B0LmFkZFJhc3Rlcj8icmFzdGVyLWRvdCI6InJhc3RlciI7YS5vdmVybGF5LmFkZENsYXNzKGEuaXNSZXRpbmE/YysiIHJldGluYSI6Yyl9ZWxzZSBhLm92ZXJsYXkucmVtb3ZlQ2xhc3MoZnVuY3Rpb24oYSxiKXt2YXIgYz1iLnNwbGl0KCIgIiksZD1bXTtyZXR1cm4galF1ZXJ5LmVhY2goYyxmdW5jdGlvbihhLGIpey9yYXN0ZXIuKi8udGVzdChiKSYmZC5wdXNoKGIpfSksZC5wdXNoKCJyZXRpbmEiKSxkLmpvaW4oIiAiKX0pO3ZhciBkPWEub3B0LnN0YXJ0QXQ/YS5zdGFydF9mcm9tX2xhc3Q/YS5zdGFydF9mcm9tX2xhc3Q6YS5vcHQuc3RhcnRBdDoxO2Euc3RhcnRfZnJvbV9sYXN0PW51bGwsYS5wbGF5ZXIucGxheVZpZGVvKCksYS5wbGF5ZXIuc2Vla1RvKGQsITApLGNsZWFySW50ZXJ2YWwoYS5jaGVja0ZvclN0YXJ0QXQpLGEuY2hlY2tGb3JTdGFydEF0PXNldEludGVydmFsKGZ1bmN0aW9uKCl7alF1ZXJ5KGEpLllUUE11dGUoKTt2YXIgYz1hLnBsYXllci5nZXRWaWRlb0xvYWRlZEZyYWN0aW9uKCk+PWQvYS5wbGF5ZXIuZ2V0RHVyYXRpb24oKTtpZihhLnBsYXllci5nZXREdXJhdGlvbigpPjAmJmEucGxheWVyLmdldEN1cnJlbnRUaW1lKCk+PWQmJmMpe2NsZWFySW50ZXJ2YWwoYS5jaGVja0ZvclN0YXJ0QXQpLCJmdW5jdGlvbiI9PXR5cGVvZiBhLm9wdC5vblJlYWR5JiZhLm9wdC5vblJlYWR5KGEpLGEuaXNSZWFkeT0hMDt2YXIgZT1qUXVlcnkuRXZlbnQoIllUUFJlYWR5Iik7aWYoZS50aW1lPWEuY3VycmVudFRpbWUsalF1ZXJ5KGEpLnRyaWdnZXIoZSksYS5wcmV2ZW50VHJpZ2dlcj0hMCxhLnN0YXRlPTIsalF1ZXJ5KGEpLllUUFBhdXNlKCksYS5vcHQubXV0ZXx8alF1ZXJ5KGEpLllUUFVubXV0ZSgpLGEuY2FuVHJpZ2dlcj0hMCxhLm9wdC5hdXRvUGxheSl7dmFyIGY9alF1ZXJ5LkV2ZW50KCJZVFBTdGFydCIpO2YudGltZT1hLmN1cnJlbnRUaW1lLGpRdWVyeShhKS50cmlnZ2VyKGYpLGpRdWVyeShhLnBsYXllckVsKS5DU1NBbmltYXRlKHtvcGFjaXR5OjF9LDFlMyksYi5ZVFBQbGF5KCksYS53cmFwcGVyLkNTU0FuaW1hdGUoe29wYWNpdHk6YS5pc0Fsb25lPzE6YS5vcHQub3BhY2l0eX0sMiphLm9wdC5mYWRlT25TdGFydFRpbWUpLCJtYWMiPT1qUXVlcnkubWJCcm93c2VyLm9zLm5hbWUmJmpRdWVyeS5tYkJyb3dzZXIuc2FmYXJpJiZqUXVlcnkubWJCcm93c2VyLnZlcnNpb25Db21wYXJlKGpRdWVyeS5tYkJyb3dzZXIuZnVsbFZlcnNpb24sIjEwLjEiKTwwJiYoYS5zYWZhcmlQbGF5PXNldEludGVydmFsKGZ1bmN0aW9uKCl7MSE9YS5zdGF0ZT9iLllUUFBsYXkoKTpjbGVhckludGVydmFsKGEuc2FmYXJpUGxheSl9LDEwKSksYi5vbmUoIllUUFJlYWR5IixmdW5jdGlvbigpe2IuWVRQUGxheSgpfSl9ZWxzZSBhLnBsYXllci5wYXVzZVZpZGVvKCksYS5pc1BsYXllcnx8KGpRdWVyeShhLnBsYXllckVsKS5DU1NBbmltYXRlKHtvcGFjaXR5OjF9LGEub3B0LmZhZGVPblN0YXJ0VGltZSksDQphLndyYXBwZXIuQ1NTQW5pbWF0ZSh7b3BhY2l0eTphLmlzQWxvbmU/MTphLm9wdC5vcGFjaXR5fSxhLm9wdC5mYWRlT25TdGFydFRpbWUpKSxhLmNvbnRyb2xCYXIubGVuZ3RoJiZhLmNvbnRyb2xCYXIuZmluZCgiLm1iX1lUUFBsYXlwYXVzZSIpLmh0bWwoalF1ZXJ5Lm1iWVRQbGF5ZXIuY29udHJvbHMucGxheSk7YS5pc1BsYXllciYmIWEub3B0LmF1dG9QbGF5JiZhLmxvYWRpbmcmJmEubG9hZGluZy5sZW5ndGgmJihhLmxvYWRpbmcuaHRtbCgiUmVhZHkiKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YS5sb2FkaW5nLmZhZGVPdXQoKX0sMTAwKSksYS5jb250cm9sQmFyJiZhLmNvbnRyb2xCYXIubGVuZ3RoJiZhLmNvbnRyb2xCYXIuc2xpZGVEb3duKDFlMyl9ZWxzZSJtYWMiPT1qUXVlcnkubWJCcm93c2VyLm9zLm5hbWUmJmpRdWVyeS5tYkJyb3dzZXIuc2FmYXJpJiZqUXVlcnkubWJCcm93c2VyLmZ1bGxWZXJzaW9uJiZqUXVlcnkubWJCcm93c2VyLnZlcnNpb25Db21wYXJlKGpRdWVyeS5tYkJyb3dzZXIuZnVsbFZlcnNpb24sIjEwLjEiKTwwJiYoYS5wbGF5ZXIucGxheVZpZGVvKCksZD49MCYmYS5wbGF5ZXIuc2Vla1RvKGQsITApKX0sMTApfSxzZXRBbmNob3I6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcztiLm9wdGltaXplRGlzcGxheShhKX0sZ2V0QW5jaG9yOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXQoMCk7cmV0dXJuIGEub3B0LmFuY2hvcn0sZm9ybWF0VGltZTpmdW5jdGlvbihhKXt2YXIgYj1NYXRoLmZsb29yKGEvNjApLGM9TWF0aC5mbG9vcihhLTYwKmIpO3JldHVybig5Pj1iPyIwIitiOmIpKyIgOiAiKyg5Pj1jPyIwIitjOmMpfX0salF1ZXJ5LmZuLm9wdGltaXplRGlzcGxheT1mdW5jdGlvbihhbmNob3Ipe3ZhciBZVFBsYXllcj10aGlzLmdldCgwKSxwbGF5ZXJCb3g9alF1ZXJ5KFlUUGxheWVyLnBsYXllckVsKSx2aWQ9e307WVRQbGF5ZXIub3B0LmFuY2hvcj1hbmNob3J8fFlUUGxheWVyLm9wdC5hbmNob3IsWVRQbGF5ZXIub3B0LmFuY2hvcj0idW5kZWZpbmVkICIhPXR5cGVvZiBZVFBsYXllci5vcHQuYW5jaG9yP1lUUGxheWVyLm9wdC5hbmNob3I6ImNlbnRlcixjZW50ZXIiO3ZhciBZVFBBbGlnbj1ZVFBsYXllci5vcHQuYW5jaG9yLnNwbGl0KCIsIik7aWYoWVRQbGF5ZXIub3B0Lm9wdGltaXplRGlzcGxheSl7dmFyIGFidW5kYW5jZT1ZVFBsYXllci5pc1BsYXllcj8wOjgwLHdpbj17fSxlbD1ZVFBsYXllci53cmFwcGVyO3dpbi53aWR0aD1lbC5vdXRlcldpZHRoKCksd2luLmhlaWdodD1lbC5vdXRlckhlaWdodCgpK2FidW5kYW5jZSxZVFBsYXllci5vcHQucmF0aW89ZXZhbChZVFBsYXllci5vcHQucmF0aW8pLHZpZC53aWR0aD13aW4ud2lkdGgsdmlkLmhlaWdodD1NYXRoLmNlaWwodmlkLndpZHRoL1lUUGxheWVyLm9wdC5yYXRpbyksdmlkLm1hcmdpblRvcD1NYXRoLmNlaWwoLSgodmlkLmhlaWdodC13aW4uaGVpZ2h0KS8yKSksdmlkLm1hcmdpbkxlZnQ9MDt2YXIgbG93ZXN0PXZpZC5oZWlnaHQ8d2luLmhlaWdodDtsb3dlc3QmJih2aWQuaGVpZ2h0PXdpbi5oZWlnaHQsdmlkLndpZHRoPU1hdGguY2VpbCh2aWQuaGVpZ2h0KllUUGxheWVyLm9wdC5yYXRpbyksdmlkLm1hcmdpblRvcD0wLHZpZC5tYXJnaW5MZWZ0PU1hdGguY2VpbCgtKCh2aWQud2lkdGgtd2luLndpZHRoKS8yKSkpO2Zvcih2YXIgYSBpbiBZVFBBbGlnbilpZihZVFBBbGlnbi5oYXNPd25Qcm9wZXJ0eShhKSl7dmFyIGFsPVlUUEFsaWduW2FdLnJlcGxhY2UoLyAvZywiIik7c3dpdGNoKGFsKXtjYXNlInRvcCI6dmlkLm1hcmdpblRvcD1sb3dlc3Q/LSgodmlkLmhlaWdodC13aW4uaGVpZ2h0KS8yKTowO2JyZWFrO2Nhc2UiYm90dG9tIjp2aWQubWFyZ2luVG9wPWxvd2VzdD8wOi0odmlkLmhlaWdodC13aW4uaGVpZ2h0KTticmVhaztjYXNlImxlZnQiOnZpZC5tYXJnaW5MZWZ0PTA7YnJlYWs7Y2FzZSJyaWdodCI6dmlkLm1hcmdpbkxlZnQ9bG93ZXN0Py0odmlkLndpZHRoLXdpbi53aWR0aCk6MDticmVhaztkZWZhdWx0OnZpZC53aWR0aD53aW4ud2lkdGgmJih2aWQubWFyZ2luTGVmdD0tKCh2aWQud2lkdGgtd2luLndpZHRoKS8yKSl9fX1lbHNlIHZpZC53aWR0aD0iMTAwJSIsdmlkLmhlaWdodD0iMTAwJSIsdmlkLm1hcmdpblRvcD0wLHZpZC5tYXJnaW5MZWZ0PTA7cGxheWVyQm94LmNzcyh7d2lkdGg6dmlkLndpZHRoLGhlaWdodDp2aWQuaGVpZ2h0LG1hcmdpblRvcDp2aWQubWFyZ2luVG9wLG1hcmdpbkxlZnQ6dmlkLm1hcmdpbkxlZnQsbWF4V2lkdGg6ImluaXRpYWwifSl9LGpRdWVyeS5zaHVmZmxlPWZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hLnNsaWNlKCksYz1iLmxlbmd0aCxkPWM7ZC0tOyl7dmFyIGU9cGFyc2VJbnQoTWF0aC5yYW5kb20oKSpjKSxmPWJbZF07YltkXT1iW2VdLGJbZV09Zn1yZXR1cm4gYn0salF1ZXJ5LmZuLnVuc2VsZWN0YWJsZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtqUXVlcnkodGhpcykuY3NzKHsiLW1vei11c2VyLXNlbGVjdCI6Im5vbmUiLCItd2Via2l0LXVzZXItc2VsZWN0Ijoibm9uZSIsInVzZXItc2VsZWN0Ijoibm9uZSJ9KS5hdHRyKCJ1bnNlbGVjdGFibGUiLCJvbiIpfSl9LGpRdWVyeS5mbi5ZVFBsYXllcj1qUXVlcnkubWJZVFBsYXllci5idWlsZFBsYXllcixqUXVlcnkuZm4uWVRQR2V0UGxheWVyPWpRdWVyeS5tYllUUGxheWVyLmdldFBsYXllcixqUXVlcnkuZm4uWVRQR2V0VmlkZW9JRD1qUXVlcnkubWJZVFBsYXllci5nZXRWaWRlb0lELGpRdWVyeS5mbi5ZVFBDaGFuZ2VNb3ZpZT1qUXVlcnkubWJZVFBsYXllci5jaGFuZ2VNb3ZpZSxqUXVlcnkuZm4uWVRQUGxheWVyRGVzdHJveT1qUXVlcnkubWJZVFBsYXllci5wbGF5ZXJEZXN0cm95LGpRdWVyeS5mbi5ZVFBQbGF5PWpRdWVyeS5tYllUUGxheWVyLnBsYXksalF1ZXJ5LmZuLllUUFRvZ2dsZVBsYXk9alF1ZXJ5Lm1iWVRQbGF5ZXIudG9nZ2xlUGxheSxqUXVlcnkuZm4uWVRQU3RvcD1qUXVlcnkubWJZVFBsYXllci5zdG9wLGpRdWVyeS5mbi5ZVFBQYXVzZT1qUXVlcnkubWJZVFBsYXllci5wYXVzZSxqUXVlcnkuZm4uWVRQU2Vla1RvPWpRdWVyeS5tYllUUGxheWVyLnNlZWtUbyxqUXVlcnkuZm4uWVRQbGF5bGlzdD1qUXVlcnkubWJZVFBsYXllci5wbGF5bGlzdCxqUXVlcnkuZm4uWVRQUGxheU5leHQ9alF1ZXJ5Lm1iWVRQbGF5ZXIucGxheU5leHQsalF1ZXJ5LmZuLllUUFBsYXlQcmV2PWpRdWVyeS5tYllUUGxheWVyLnBsYXlQcmV2LGpRdWVyeS5mbi5ZVFBQbGF5SW5kZXg9alF1ZXJ5Lm1iWVRQbGF5ZXIucGxheUluZGV4LGpRdWVyeS5mbi5ZVFBNdXRlPWpRdWVyeS5tYllUUGxheWVyLm11dGUsalF1ZXJ5LmZuLllUUFVubXV0ZT1qUXVlcnkubWJZVFBsYXllci51bm11dGUsalF1ZXJ5LmZuLllUUFRvZ2dsZVZvbHVtZT1qUXVlcnkubWJZVFBsYXllci50b2dnbGVWb2x1bWUsalF1ZXJ5LmZuLllUUFNldFZvbHVtZT1qUXVlcnkubWJZVFBsYXllci5zZXRWb2x1bWUsalF1ZXJ5LmZuLllUUEdldFZpZGVvRGF0YT1qUXVlcnkubWJZVFBsYXllci5nZXRWaWRlb0RhdGEsalF1ZXJ5LmZuLllUUEZ1bGxzY3JlZW49alF1ZXJ5Lm1iWVRQbGF5ZXIuZnVsbHNjcmVlbixqUXVlcnkuZm4uWVRQVG9nZ2xlTG9vcHM9alF1ZXJ5Lm1iWVRQbGF5ZXIudG9nZ2xlTG9vcHMsalF1ZXJ5LmZuLllUUFNldFZpZGVvUXVhbGl0eT1qUXVlcnkubWJZVFBsYXllci5zZXRWaWRlb1F1YWxpdHksalF1ZXJ5LmZuLllUUE1hbmFnZVByb2dyZXNzPWpRdWVyeS5tYllUUGxheWVyLm1hbmFnZVByb2dyZXNzLGpRdWVyeS5mbi5ZVFBBcHBseUZpbHRlcj1qUXVlcnkubWJZVFBsYXllci5hcHBseUZpbHRlcixqUXVlcnkuZm4uWVRQQXBwbHlGaWx0ZXJzPWpRdWVyeS5tYllUUGxheWVyLmFwcGx5RmlsdGVycyxqUXVlcnkuZm4uWVRQVG9nZ2xlRmlsdGVyPWpRdWVyeS5tYllUUGxheWVyLnRvZ2dsZUZpbHRlcixqUXVlcnkuZm4uWVRQVG9nZ2xlRmlsdGVycz1qUXVlcnkubWJZVFBsYXllci50b2dnbGVGaWx0ZXJzLGpRdWVyeS5mbi5ZVFBSZW1vdmVGaWx0ZXI9alF1ZXJ5Lm1iWVRQbGF5ZXIucmVtb3ZlRmlsdGVyLGpRdWVyeS5mbi5ZVFBEaXNhYmxlRmlsdGVycz1qUXVlcnkubWJZVFBsYXllci5kaXNhYmxlRmlsdGVycyxqUXVlcnkuZm4uWVRQRW5hYmxlRmlsdGVycz1qUXVlcnkubWJZVFBsYXllci5lbmFibGVGaWx0ZXJzLGpRdWVyeS5mbi5ZVFBHZXRGaWx0ZXJzPWpRdWVyeS5tYllUUGxheWVyLmdldEZpbHRlcnMsalF1ZXJ5LmZuLllUUEdldFRpbWU9alF1ZXJ5Lm1iWVRQbGF5ZXIuZ2V0VGltZSxqUXVlcnkuZm4uWVRQR2V0VG90YWxUaW1lPWpRdWVyeS5tYllUUGxheWVyLmdldFRvdGFsVGltZSxqUXVlcnkuZm4uWVRQQWRkTWFzaz1qUXVlcnkubWJZVFBsYXllci5hZGRNYXNrLGpRdWVyeS5mbi5ZVFBSZW1vdmVNYXNrPWpRdWVyeS5tYllUUGxheWVyLnJlbW92ZU1hc2ssalF1ZXJ5LmZuLllUUFRvZ2dsZU1hc2s9alF1ZXJ5Lm1iWVRQbGF5ZXIudG9nZ2xlTWFzayxqUXVlcnkuZm4uWVRQU2V0QW5jaG9yPWpRdWVyeS5tYllUUGxheWVyLnNldEFuY2hvcixqUXVlcnkuZm4uWVRQR2V0QW5jaG9yPWpRdWVyeS5tYllUUGxheWVyLmdldEFuY2hvcixqUXVlcnkuZm4ubWJfWVRQbGF5ZXI9alF1ZXJ5Lm1iWVRQbGF5ZXIuYnVpbGRQbGF5ZXIsalF1ZXJ5LmZuLnBsYXlOZXh0PWpRdWVyeS5tYllUUGxheWVyLnBsYXlOZXh0LGpRdWVyeS5mbi5wbGF5UHJldj1qUXVlcnkubWJZVFBsYXllci5wbGF5UHJldixqUXVlcnkuZm4uY2hhbmdlTW92aWU9alF1ZXJ5Lm1iWVRQbGF5ZXIuY2hhbmdlTW92aWUsalF1ZXJ5LmZuLmdldFZpZGVvSUQ9alF1ZXJ5Lm1iWVRQbGF5ZXIuZ2V0VmlkZW9JRCxqUXVlcnkuZm4uZ2V0UGxheWVyPWpRdWVyeS5tYllUUGxheWVyLmdldFBsYXllcixqUXVlcnkuZm4ucGxheWVyRGVzdHJveT1qUXVlcnkubWJZVFBsYXllci5wbGF5ZXJEZXN0cm95LGpRdWVyeS5mbi5mdWxsc2NyZWVuPWpRdWVyeS5tYllUUGxheWVyLmZ1bGxzY3JlZW4salF1ZXJ5LmZuLmJ1aWxkWVRQQ29udHJvbHM9alF1ZXJ5Lm1iWVRQbGF5ZXIuYnVpbGRDb250cm9scyxqUXVlcnkuZm4ucGxheVlUUD1qUXVlcnkubWJZVFBsYXllci5wbGF5LGpRdWVyeS5mbi50b2dnbGVMb29wcz1qUXVlcnkubWJZVFBsYXllci50b2dnbGVMb29wcyxqUXVlcnkuZm4uc3RvcFlUUD1qUXVlcnkubWJZVFBsYXllci5zdG9wLGpRdWVyeS5mbi5wYXVzZVlUUD1qUXVlcnkubWJZVFBsYXllci5wYXVzZSxqUXVlcnkuZm4uc2Vla1RvWVRQPWpRdWVyeS5tYllUUGxheWVyLnNlZWtUbyxqUXVlcnkuZm4ubXV0ZVlUUFZvbHVtZT1qUXVlcnkubWJZVFBsYXllci5tdXRlLGpRdWVyeS5mbi51bm11dGVZVFBWb2x1bWU9alF1ZXJ5Lm1iWVRQbGF5ZXIudW5tdXRlLGpRdWVyeS5mbi5zZXRZVFBWb2x1bWU9alF1ZXJ5Lm1iWVRQbGF5ZXIuc2V0Vm9sdW1lLGpRdWVyeS5mbi5zZXRWaWRlb1F1YWxpdHk9alF1ZXJ5Lm1iWVRQbGF5ZXIuc2V0VmlkZW9RdWFsaXR5LGpRdWVyeS5mbi5tYW5hZ2VZVFBQcm9ncmVzcz1qUXVlcnkubWJZVFBsYXllci5tYW5hZ2VQcm9ncmVzcyxqUXVlcnkuZm4uWVRQR2V0RGF0YUZyb21GZWVkPWpRdWVyeS5tYllUUGxheWVyLmdldFZpZGVvRGF0YX0oalF1ZXJ5LHl0cCksalF1ZXJ5LnN1cHBvcnQuQ1NTdHJhbnNpdGlvbj1mdW5jdGlvbigpe3ZhciBhPWRvY3VtZW50LmJvZHl8fGRvY3VtZW50LmRvY3VtZW50RWxlbWVudCxiPWEuc3R5bGU7cmV0dXJuIHZvaWQgMCE9PWIudHJhbnNpdGlvbnx8dm9pZCAwIT09Yi5XZWJraXRUcmFuc2l0aW9ufHx2b2lkIDAhPT1iLk1velRyYW5zaXRpb258fHZvaWQgMCE9PWIuTXNUcmFuc2l0aW9ufHx2b2lkIDAhPT1iLk9UcmFuc2l0aW9ufSgpLGpRdWVyeS5DU1M9e25hbWU6Im1iLkNTU0FuaW1hdGUiLGF1dGhvcjoiTWF0dGVvIEJpY29jY2hpIix2ZXJzaW9uOiIyLjAuMCIsdHJhbnNpdGlvbkVuZDoidHJhbnNpdGlvbkVuZCIsc2Z4OiIiLGZpbHRlcnM6e2JsdXI6e21pbjowLG1heDoxMDAsdW5pdDoicHgifSxicmlnaHRuZXNzOnttaW46MCxtYXg6NDAwLHVuaXQ6IiUifSxjb250cmFzdDp7bWluOjAsbWF4OjQwMCx1bml0OiIlIn0sZ3JheXNjYWxlOnttaW46MCxtYXg6MTAwLHVuaXQ6IiUifSxodWVSb3RhdGU6e21pbjowLG1heDozNjAsdW5pdDoiZGVnIn0saW52ZXJ0OnttaW46MCxtYXg6MTAwLHVuaXQ6IiUifSxzYXR1cmF0ZTp7bWluOjAsbWF4OjQwMCx1bml0OiIlIn0sc2VwaWE6e21pbjowLG1heDoxMDAsdW5pdDoiJSJ9fSxub3JtYWxpemVDc3M6ZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5LmV4dGVuZCghMCx7fSxhKTtqUXVlcnkuYnJvd3Nlci53ZWJraXR8fGpRdWVyeS5icm93c2VyLm9wZXJhP2pRdWVyeS5DU1Muc2Z4PSItd2Via2l0LSI6alF1ZXJ5LmJyb3dzZXIubW96aWxsYT9qUXVlcnkuQ1NTLnNmeD0iLW1vei0iOmpRdWVyeS5icm93c2VyLm1zaWUmJihqUXVlcnkuQ1NTLnNmeD0iLW1zLSIpO2Zvcih2YXIgYyBpbiBiKXsidHJhbnNmb3JtIj09PWMmJihiW2pRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iXT1iW2NdLGRlbGV0ZSBiW2NdKSwidHJhbnNmb3JtLW9yaWdpbiI9PT1jJiYoYltqUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtLW9yaWdpbiJdPWFbY10sZGVsZXRlIGJbY10pLCJmaWx0ZXIiIT09Y3x8alF1ZXJ5LmJyb3dzZXIubW96aWxsYXx8KGJbalF1ZXJ5LkNTUy5zZngrImZpbHRlciJdPWFbY10sZGVsZXRlIGJbY10pLCJibHVyIj09PWMmJnNldEZpbHRlcihiLCJibHVyIixhW2NdKSwiYnJpZ2h0bmVzcyI9PT1jJiZzZXRGaWx0ZXIoYiwiYnJpZ2h0bmVzcyIsYVtjXSksImNvbnRyYXN0Ij09PWMmJnNldEZpbHRlcihiLCJjb250cmFzdCIsYVtjXSksImdyYXlzY2FsZSI9PT1jJiZzZXRGaWx0ZXIoYiwiZ3JheXNjYWxlIixhW2NdKSwiaHVlUm90YXRlIj09PWMmJnNldEZpbHRlcihiLCJodWVSb3RhdGUiLGFbY10pLCJpbnZlcnQiPT09YyYmc2V0RmlsdGVyKGIsImludmVydCIsYVtjXSksInNhdHVyYXRlIj09PWMmJnNldEZpbHRlcihiLCJzYXR1cmF0ZSIsYVtjXSksInNlcGlhIj09PWMmJnNldEZpbHRlcihiLCJzZXBpYSIsYVtjXSk7dmFyIGQ9IiI7IngiPT09YyYmKGQ9alF1ZXJ5LkNTUy5zZngrInRyYW5zZm9ybSIsYltkXT1iW2RdfHwiIixiW2RdKz0iIHRyYW5zbGF0ZVgoIitzZXRVbml0KGFbY10sInB4IikrIikiLGRlbGV0ZSBiW2NdKSwieSI9PT1jJiYoZD1qUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtIixiW2RdPWJbZF18fCIiLGJbZF0rPSIgdHJhbnNsYXRlWSgiK3NldFVuaXQoYVtjXSwicHgiKSsiKSIsZGVsZXRlIGJbY10pLCJ6Ij09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiB0cmFuc2xhdGVaKCIrc2V0VW5pdChhW2NdLCJweCIpKyIpIixkZWxldGUgYltjXSksInJvdGF0ZSI9PT1jJiYoZD1qUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtIixiW2RdPWJbZF18fCIiLGJbZF0rPSIgcm90YXRlKCIrc2V0VW5pdChhW2NdLCJkZWciKSsiKSIsZGVsZXRlIGJbY10pLCJyb3RhdGVYIj09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiByb3RhdGVYKCIrc2V0VW5pdChhW2NdLCJkZWciKSsiKSIsZGVsZXRlIGJbY10pLCJyb3RhdGVZIj09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiByb3RhdGVZKCIrc2V0VW5pdChhW2NdLCJkZWciKSsiKSIsZGVsZXRlIGJbY10pLCJyb3RhdGVaIj09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiByb3RhdGVaKCIrc2V0VW5pdChhW2NdLCJkZWciKSsiKSIsZGVsZXRlIGJbY10pLCJzY2FsZSI9PT1jJiYoZD1qUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtIixiW2RdPWJbZF18fCIiLGJbZF0rPSIgc2NhbGUoIitzZXRVbml0KGFbY10sIiIpKyIpIixkZWxldGUgYltjXSksInNjYWxlWCI9PT1jJiYoZD1qUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtIixiW2RdPWJbZF18fCIiLGJbZF0rPSIgc2NhbGVYKCIrc2V0VW5pdChhW2NdLCIiKSsiKSIsZGVsZXRlIGJbY10pLCJzY2FsZVkiPT09YyYmKGQ9alF1ZXJ5LkNTUy5zZngrInRyYW5zZm9ybSIsYltkXT1iW2RdfHwiIixiW2RdKz0iIHNjYWxlWSgiK3NldFVuaXQoYVtjXSwiIikrIikiLGRlbGV0ZSBiW2NdKSwic2NhbGVaIj09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiBzY2FsZVooIitzZXRVbml0KGFbY10sIiIpKyIpIixkZWxldGUgYltjXSksInNrZXciPT09YyYmKGQ9alF1ZXJ5LkNTUy5zZngrInRyYW5zZm9ybSIsYltkXT1iW2RdfHwiIixiW2RdKz0iIHNrZXcoIitzZXRVbml0KGFbY10sImRlZyIpKyIpIixkZWxldGUgYltjXSksInNrZXdYIj09PWMmJihkPWpRdWVyeS5DU1Muc2Z4KyJ0cmFuc2Zvcm0iLGJbZF09YltkXXx8IiIsYltkXSs9IiBza2V3WCgiK3NldFVuaXQoYVtjXSwiZGVnIikrIikiLGRlbGV0ZSBiW2NdKSwic2tld1kiPT09YyYmKGQ9alF1ZXJ5LkNTUy5zZngrInRyYW5zZm9ybSIsYltkXT1iW2RdfHwiIixiW2RdKz0iIHNrZXdZKCIrc2V0VW5pdChhW2NdLCJkZWciKSsiKSIsZGVsZXRlIGJbY10pLCJwZXJzcGVjdGl2ZSI9PT1jJiYoZD1qUXVlcnkuQ1NTLnNmeCsidHJhbnNmb3JtIixiW2RdPWJbZF18fCIiLGJbZF0rPSIgcGVyc3BlY3RpdmUoIitzZXRVbml0KGFbY10sInB4IikrIikiLGRlbGV0ZSBiW2NdKX1yZXR1cm4gYn0sZ2V0UHJvcDpmdW5jdGlvbihhKXt2YXIgYj1bXTtmb3IodmFyIGMgaW4gYSliLmluZGV4T2YoYyk8MCYmYi5wdXNoKHVuY2FtZWwoYykpO3JldHVybiBiLmpvaW4oIiwiKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtmdW5jdGlvbiBmKCl7Zy5jYWxsZWQ9ITAsZy5DU1NBSXNSdW5uaW5nPSExLGgub2ZmKGpRdWVyeS5DU1MudHJhbnNpdGlvbkVuZCsiLiIrZy5pZCksY2xlYXJUaW1lb3V0KGcudGltZW91dCksaC5jc3MoalF1ZXJ5LkNTUy5zZngrInRyYW5zaXRpb24iLCIiKSwiZnVuY3Rpb24iPT10eXBlb2YgZSYmZS5hcHBseShnKSwiZnVuY3Rpb24iPT10eXBlb2YgZy5DU1NxdWV1ZSYmKGcuQ1NTcXVldWUoKSxnLkNTU3F1ZXVlPW51bGwpfXZhciBnPXRoaXMsaD1qUXVlcnkodGhpcyk7Zy5pZD1nLmlkfHwiQ1NTQV8iKyhuZXcgRGF0ZSkuZ2V0VGltZSgpO3ZhciBpPWl8fHt0eXBlOiJub0V2ZW50In07aWYoZy5DU1NBSXNSdW5uaW5nJiZnLmV2ZW50VHlwZT09aS50eXBlJiYhalF1ZXJ5LmJyb3dzZXIubXNpZSYmalF1ZXJ5LmJyb3dzZXIudmVyc2lvbjw9OSlyZXR1cm4gdm9pZChnLkNTU3F1ZXVlPWZ1bmN0aW9uKCl7aC5DU1NBbmltYXRlKGEsYixjLGQsZSl9KTtpZihnLkNTU3F1ZXVlPW51bGwsZy5ldmVudFR5cGU9aS50eXBlLDAhPT1oLmxlbmd0aCYmYSl7aWYoYT1qUXVlcnkubm9ybWFsaXplQ3NzKGEpLGcuQ1NTQUlzUnVubmluZz0hMCwiZnVuY3Rpb24iPT10eXBlb2YgYiYmKGU9YixiPWpRdWVyeS5meC5zcGVlZHMuX2RlZmF1bHQpLCJmdW5jdGlvbiI9PXR5cGVvZiBjJiYoZD1jLGM9MCksInN0cmluZyI9PXR5cGVvZiBjJiYoZT1jLGM9MCksImZ1bmN0aW9uIj09dHlwZW9mIGQmJihlPWQsZD0iY3ViaWMtYmV6aWVyKDAuNjUsMC4wMywwLjM2LDAuNzIpIiksInN0cmluZyI9PXR5cGVvZiBiKWZvcih2YXIgaiBpbiBqUXVlcnkuZnguc3BlZWRzKXtpZihiPT1qKXtiPWpRdWVyeS5meC5zcGVlZHNbal07YnJlYWt9Yj1qUXVlcnkuZnguc3BlZWRzLl9kZWZhdWx0fWlmKGJ8fChiPWpRdWVyeS5meC5zcGVlZHMuX2RlZmF1bHQpLCJzdHJpbmciPT10eXBlb2YgZSYmKGQ9ZSxlPW51bGwpLCFqUXVlcnkuc3VwcG9ydC5DU1N0cmFuc2l0aW9uKXtmb3IodmFyIGsgaW4gYSl7aWYoInRyYW5zZm9ybSI9PT1rJiZkZWxldGUgYVtrXSwiZmlsdGVyIj09PWsmJmRlbGV0ZSBhW2tdLCJ0cmFuc2Zvcm0tb3JpZ2luIj09PWsmJmRlbGV0ZSBhW2tdLCJhdXRvIj09PWFba10mJmRlbGV0ZSBhW2tdLCJ4Ij09PWspe3ZhciBsPWFba10sbT0ibGVmdCI7YVttXT1sLGRlbGV0ZSBhW2tdfWlmKCJ5Ij09PWspe3ZhciBsPWFba10sbT0idG9wIjthW21dPWwsZGVsZXRlIGFba119KCItbXMtdHJhbnNmb3JtIj09PWt8fCItbXMtZmlsdGVyIj09PWspJiZkZWxldGUgYVtrXX1yZXR1cm4gdm9pZCBoLmRlbGF5KGMpLmFuaW1hdGUoYSxiLGUpfXZhciBuPXsiZGVmYXVsdCI6ImVhc2UiLCJpbiI6ImVhc2UtaW4iLG91dDoiZWFzZS1vdXQiLCJpbi1vdXQiOiJlYXNlLWluLW91dCIsc25hcDoiY3ViaWMtYmV6aWVyKDAsMSwuNSwxKSIsZWFzZU91dEN1YmljOiJjdWJpYy1iZXppZXIoLjIxNSwuNjEsLjM1NSwxKSIsZWFzZUluT3V0Q3ViaWM6ImN1YmljLWJlemllciguNjQ1LC4wNDUsLjM1NSwxKSIsZWFzZUluQ2lyYzoiY3ViaWMtYmV6aWVyKC42LC4wNCwuOTgsLjMzNSkiLGVhc2VPdXRDaXJjOiJjdWJpYy1iZXppZXIoLjA3NSwuODIsLjE2NSwxKSIsZWFzZUluT3V0Q2lyYzoiY3ViaWMtYmV6aWVyKC43ODUsLjEzNSwuMTUsLjg2KSIsZWFzZUluRXhwbzoiY3ViaWMtYmV6aWVyKC45NSwuMDUsLjc5NSwuMDM1KSIsZWFzZU91dEV4cG86ImN1YmljLWJlemllciguMTksMSwuMjIsMSkiLGVhc2VJbk91dEV4cG86ImN1YmljLWJlemllcigxLDAsMCwxKSIsZWFzZUluUXVhZDoiY3ViaWMtYmV6aWVyKC41NSwuMDg1LC42OCwuNTMpIixlYXNlT3V0UXVhZDoiY3ViaWMtYmV6aWVyKC4yNSwuNDYsLjQ1LC45NCkiLGVhc2VJbk91dFF1YWQ6ImN1YmljLWJlemllciguNDU1LC4wMywuNTE1LC45NTUpIixlYXNlSW5RdWFydDoiY3ViaWMtYmV6aWVyKC44OTUsLjAzLC42ODUsLjIyKSIsZWFzZU91dFF1YXJ0OiJjdWJpYy1iZXppZXIoLjE2NSwuODQsLjQ0LDEpIixlYXNlSW5PdXRRdWFydDoiY3ViaWMtYmV6aWVyKC43NywwLC4xNzUsMSkiLGVhc2VJblF1aW50OiJjdWJpYy1iZXppZXIoLjc1NSwuMDUsLjg1NSwuMDYpIixlYXNlT3V0UXVpbnQ6ImN1YmljLWJlemllciguMjMsMSwuMzIsMSkiLGVhc2VJbk91dFF1aW50OiJjdWJpYy1iZXppZXIoLjg2LDAsLjA3LDEpIixlYXNlSW5TaW5lOiJjdWJpYy1iZXppZXIoLjQ3LDAsLjc0NSwuNzE1KSIsZWFzZU91dFNpbmU6ImN1YmljLWJlemllciguMzksLjU3NSwuNTY1LDEpIixlYXNlSW5PdXRTaW5lOiJjdWJpYy1iZXppZXIoLjQ0NSwuMDUsLjU1LC45NSkiLGVhc2VJbkJhY2s6ImN1YmljLWJlemllciguNiwtLjI4LC43MzUsLjA0NSkiLGVhc2VPdXRCYWNrOiJjdWJpYy1iZXppZXIoLjE3NSwgLjg4NSwuMzIsMS4yNzUpIixlYXNlSW5PdXRCYWNrOiJjdWJpYy1iZXppZXIoLjY4LC0uNTUsLjI2NSwxLjU1KSJ9O25bZF0mJihkPW5bZF0pLGgub2ZmKGpRdWVyeS5DU1MudHJhbnNpdGlvbkVuZCsiLiIrZy5pZCk7dmFyIG89alF1ZXJ5LkNTUy5nZXRQcm9wKGEpLHA9e307alF1ZXJ5LmV4dGVuZChwLGEpLHBbalF1ZXJ5LkNTUy5zZngrInRyYW5zaXRpb24tcHJvcGVydHkiXT1vLHBbalF1ZXJ5LkNTUy5zZngrInRyYW5zaXRpb24tZHVyYXRpb24iXT1iKyJtcyIscFtqUXVlcnkuQ1NTLnNmeCsidHJhbnNpdGlvbi1kZWxheSJdPWMrIm1zIixwW2pRdWVyeS5DU1Muc2Z4KyJ0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbiJdPWQsc2V0VGltZW91dChmdW5jdGlvbigpe2gub25lKGpRdWVyeS5DU1MudHJhbnNpdGlvbkVuZCsiLiIrZy5pZCxmKSxoLmNzcyhwKX0sMSksZy50aW1lb3V0PXNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gZy5jYWxsZWR8fCFlPyhnLmNhbGxlZD0hMSx2b2lkKGcuQ1NTQUlzUnVubmluZz0hMSkpOihoLmNzcyhqUXVlcnkuQ1NTLnNmeCsidHJhbnNpdGlvbiIsIiIpLGUuYXBwbHkoZyksZy5DU1NBSXNSdW5uaW5nPSExLHZvaWQoImZ1bmN0aW9uIj09dHlwZW9mIGcuQ1NTcXVldWUmJihnLkNTU3F1ZXVlKCksZy5DU1NxdWV1ZT1udWxsKSkpfSxiK2MrMTApfX0pfX0salF1ZXJ5LmZuLkNTU0FuaW1hdGU9alF1ZXJ5LkNTUy5hbmltYXRlLGpRdWVyeS5ub3JtYWxpemVDc3M9alF1ZXJ5LkNTUy5ub3JtYWxpemVDc3MsalF1ZXJ5LmZuLmNzczM9ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPWpRdWVyeS5ub3JtYWxpemVDc3MoYSk7Yi5jc3MoYyl9KX07dmFyIG5BZ3Q9bmF2aWdhdG9yLnVzZXJBZ2VudDtqUXVlcnkuYnJvd3Nlcj1qUXVlcnkuYnJvd3Nlcnx8e30salF1ZXJ5LmJyb3dzZXIubW96aWxsYT0hMSxqUXVlcnkuYnJvd3Nlci53ZWJraXQ9ITEsalF1ZXJ5LmJyb3dzZXIub3BlcmE9ITEsalF1ZXJ5LmJyb3dzZXIuc2FmYXJpPSExLGpRdWVyeS5icm93c2VyLmNocm9tZT0hMSxqUXVlcnkuYnJvd3Nlci5hbmRyb2lkU3RvY2s9ITEsalF1ZXJ5LmJyb3dzZXIubXNpZT0hMSxqUXVlcnkuYnJvd3Nlci5lZGdlPSExLGpRdWVyeS5icm93c2VyLnVhPW5BZ3Q7dmFyIGdldE9TPWZ1bmN0aW9uKCl7dmFyIGE9e3ZlcnNpb246IlVua25vd24gdmVyc2lvbiIsbmFtZToiVW5rbm93biBPUyJ9O3JldHVybi0xIT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJXaW4iKSYmKGEubmFtZT0iV2luZG93cyIpLC0xIT1uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNYWMiKSYmMD5uYXZpZ2F0b3IuYXBwVmVyc2lvbi5pbmRleE9mKCJNb2JpbGUiKSYmKGEubmFtZT0iTWFjIiksLTEhPW5hdmlnYXRvci5hcHBWZXJzaW9uLmluZGV4T2YoIkxpbnV4IikmJihhLm5hbWU9IkxpbnV4IiksL01hYyBPUyBYLy50ZXN0KG5BZ3QpJiYhL01vYmlsZS8udGVzdChuQWd0KSYmKGEudmVyc2lvbj0vTWFjIE9TIFggKDEwW1wuXF9cZF0rKS8uZXhlYyhuQWd0KVsxXSxhLnZlcnNpb249YS52ZXJzaW9uLnJlcGxhY2UoL18vZywiLiIpLnN1YnN0cmluZygwLDUpKSwvV2luZG93cy8udGVzdChuQWd0KSYmKGEudmVyc2lvbj0iVW5rbm93bi5Vbmtub3duIiksL1dpbmRvd3MgTlQgNS4xLy50ZXN0KG5BZ3QpJiYoYS52ZXJzaW9uPSI1LjEiKSwvV2luZG93cyBOVCA2LjAvLnRlc3QobkFndCkmJihhLnZlcnNpb249IjYuMCIpLC9XaW5kb3dzIE5UIDYuMS8udGVzdChuQWd0KSYmKGEudmVyc2lvbj0iNi4xIiksL1dpbmRvd3MgTlQgNi4yLy50ZXN0KG5BZ3QpJiYoYS52ZXJzaW9uPSI2LjIiKSwvV2luZG93cyBOVCAxMC4wLy50ZXN0KG5BZ3QpJiYoYS52ZXJzaW9uPSIxMC4wIiksL0xpbnV4Ly50ZXN0KG5BZ3QpJiYvTGludXgvLnRlc3QobkFndCkmJihhLnZlcnNpb249IlVua25vd24uVW5rbm93biIpLGEubmFtZT1hLm5hbWUudG9Mb3dlckNhc2UoKSxhLm1ham9yX3ZlcnNpb249IlVua25vd24iLGEubWlub3JfdmVyc2lvbj0iVW5rbm93biIsIlVua25vd24uVW5rbm93biIhPWEudmVyc2lvbiYmKGEubWFqb3JfdmVyc2lvbj1wYXJzZUZsb2F0KGEudmVyc2lvbi5zcGxpdCgiLiIpWzBdKSxhLm1pbm9yX3ZlcnNpb249cGFyc2VGbG9hdChhLnZlcnNpb24uc3BsaXQoIi4iKVsxXSkpLGF9O2pRdWVyeS5icm93c2VyLm9zPWdldE9TKCksalF1ZXJ5LmJyb3dzZXIuaGFzVG91Y2g9aXNUb3VjaFN1cHBvcnRlZCgpLGpRdWVyeS5icm93c2VyLm5hbWU9bmF2aWdhdG9yLmFwcE5hbWUsalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249IiIrcGFyc2VGbG9hdChuYXZpZ2F0b3IuYXBwVmVyc2lvbiksalF1ZXJ5LmJyb3dzZXIubWFqb3JWZXJzaW9uPXBhcnNlSW50KG5hdmlnYXRvci5hcHBWZXJzaW9uLDEwKTt2YXIgbmFtZU9mZnNldCx2ZXJPZmZzZXQsaXg7aWYoLTEhPSh2ZXJPZmZzZXQ9bkFndC5pbmRleE9mKCJPcGVyYSIpKSlqUXVlcnkuYnJvd3Nlci5vcGVyYT0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJPcGVyYSIsalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzYpLC0xIT0odmVyT2Zmc2V0PW5BZ3QuaW5kZXhPZigiVmVyc2lvbiIpKSYmKGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPW5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCs4KSk7ZWxzZSBpZigtMSE9KHZlck9mZnNldD1uQWd0LmluZGV4T2YoIk9QUiIpKSlqUXVlcnkuYnJvd3Nlci5vcGVyYT0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJPcGVyYSIsalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzQpO2Vsc2UgaWYoLTEhPSh2ZXJPZmZzZXQ9bkFndC5pbmRleE9mKCJNU0lFIikpKWpRdWVyeS5icm93c2VyLm1zaWU9ITAsalF1ZXJ5LmJyb3dzZXIubmFtZT0iTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIixqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbj1uQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQrNSk7ZWxzZSBpZigtMSE9bkFndC5pbmRleE9mKCJUcmlkZW50Iikpe2pRdWVyeS5icm93c2VyLm1zaWU9ITAsalF1ZXJ5LmJyb3dzZXIubmFtZT0iTWljcm9zb2Z0IEludGVybmV0IEV4cGxvcmVyIjt2YXIgc3RhcnQ9bkFndC5pbmRleE9mKCJydjoiKSszLGVuZD1zdGFydCs0O2pRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPW5BZ3Quc3Vic3RyaW5nKHN0YXJ0LGVuZCl9ZWxzZS0xIT0odmVyT2Zmc2V0PW5BZ3QuaW5kZXhPZigiRWRnZSIpKT8oalF1ZXJ5LmJyb3dzZXIuZWRnZT0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJNaWNyb3NvZnQgRWRnZSIsalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzUpKTotMSE9KHZlck9mZnNldD1uQWd0LmluZGV4T2YoIkNocm9tZSIpKT8oalF1ZXJ5LmJyb3dzZXIud2Via2l0PSEwLGpRdWVyeS5icm93c2VyLmNocm9tZT0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJDaHJvbWUiLGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPW5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCs3KSk6LTE8bkFndC5pbmRleE9mKCJtb3ppbGxhLzUuMCIpJiYtMTxuQWd0LmluZGV4T2YoImFuZHJvaWQgIikmJi0xPG5BZ3QuaW5kZXhPZigiYXBwbGV3ZWJraXQiKSYmISgtMTxuQWd0LmluZGV4T2YoImNocm9tZSIpKT8odmVyT2Zmc2V0PW5BZ3QuaW5kZXhPZigiQ2hyb21lIiksalF1ZXJ5LmJyb3dzZXIud2Via2l0PSEwLGpRdWVyeS5icm93c2VyLmFuZHJvaWRTdG9jaz0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJhbmRyb2lkU3RvY2siLGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPW5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCs3KSk6LTEhPSh2ZXJPZmZzZXQ9bkFndC5pbmRleE9mKCJTYWZhcmkiKSk/KGpRdWVyeS5icm93c2VyLndlYmtpdD0hMCxqUXVlcnkuYnJvd3Nlci5zYWZhcmk9ITAsalF1ZXJ5LmJyb3dzZXIubmFtZT0iU2FmYXJpIixqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbj1uQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQrNyksLTEhPSh2ZXJPZmZzZXQ9bkFndC5pbmRleE9mKCJWZXJzaW9uIikpJiYoalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzgpKSk6LTEhPSh2ZXJPZmZzZXQ9bkFndC5pbmRleE9mKCJBcHBsZVdlYmtpdCIpKT8oalF1ZXJ5LmJyb3dzZXIud2Via2l0PSEwLGpRdWVyeS5icm93c2VyLnNhZmFyaT0hMCxqUXVlcnkuYnJvd3Nlci5uYW1lPSJTYWZhcmkiLGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPW5BZ3Quc3Vic3RyaW5nKHZlck9mZnNldCs3KSwtMSE9KHZlck9mZnNldD1uQWd0LmluZGV4T2YoIlZlcnNpb24iKSkmJihqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbj1uQWd0LnN1YnN0cmluZyh2ZXJPZmZzZXQrOCkpKTotMSE9KHZlck9mZnNldD1uQWd0LmluZGV4T2YoIkZpcmVmb3giKSk/KGpRdWVyeS5icm93c2VyLm1vemlsbGE9ITAsalF1ZXJ5LmJyb3dzZXIubmFtZT0iRmlyZWZveCIsalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzgpKToobmFtZU9mZnNldD1uQWd0Lmxhc3RJbmRleE9mKCIgIikrMSk8KHZlck9mZnNldD1uQWd0Lmxhc3RJbmRleE9mKCIvIikpJiYoalF1ZXJ5LmJyb3dzZXIubmFtZT1uQWd0LnN1YnN0cmluZyhuYW1lT2Zmc2V0LHZlck9mZnNldCksalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249bkFndC5zdWJzdHJpbmcodmVyT2Zmc2V0KzEpLGpRdWVyeS5icm93c2VyLm5hbWUudG9Mb3dlckNhc2UoKT09alF1ZXJ5LmJyb3dzZXIubmFtZS50b1VwcGVyQ2FzZSgpJiYoalF1ZXJ5LmJyb3dzZXIubmFtZT1uYXZpZ2F0b3IuYXBwTmFtZSkpOy0xIT0oaXg9alF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24uaW5kZXhPZigiOyIpKSYmKGpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uPWpRdWVyeS5icm93c2VyLmZ1bGxWZXJzaW9uLnN1YnN0cmluZygwLGl4KSksLTEhPShpeD1qUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbi5pbmRleE9mKCIgIikpJiYoalF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb249alF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24uc3Vic3RyaW5nKDAsaXgpKSxqUXVlcnkuYnJvd3Nlci5tYWpvclZlcnNpb249cGFyc2VJbnQoIiIralF1ZXJ5LmJyb3dzZXIuZnVsbFZlcnNpb24sMTApLGlzTmFOKGpRdWVyeS5icm93c2VyLm1ham9yVmVyc2lvbikmJihqUXVlcnkuYnJvd3Nlci5mdWxsVmVyc2lvbj0iIitwYXJzZUZsb2F0KG5hdmlnYXRvci5hcHBWZXJzaW9uKSxqUXVlcnkuYnJvd3Nlci5tYWpvclZlcnNpb249cGFyc2VJbnQobmF2aWdhdG9yLmFwcFZlcnNpb24sMTApKSxqUXVlcnkuYnJvd3Nlci52ZXJzaW9uPWpRdWVyeS5icm93c2VyLm1ham9yVmVyc2lvbixqUXVlcnkuYnJvd3Nlci5hbmRyb2lkPS9BbmRyb2lkL2kudGVzdChuQWd0KSxqUXVlcnkuYnJvd3Nlci5ibGFja2JlcnJ5PS9CbGFja0JlcnJ5fEJCfFBsYXlCb29rL2kudGVzdChuQWd0KSxqUXVlcnkuYnJvd3Nlci5pb3M9L2lQaG9uZXxpUGFkfGlQb2R8d2ViT1MvaS50ZXN0KG5BZ3QpLGpRdWVyeS5icm93c2VyLm9wZXJhTW9iaWxlPS9PcGVyYSBNaW5pL2kudGVzdChuQWd0KSxqUXVlcnkuYnJvd3Nlci53aW5kb3dzTW9iaWxlPS9JRU1vYmlsZXxXaW5kb3dzIFBob25lL2kudGVzdChuQWd0KSxqUXVlcnkuYnJvd3Nlci5raW5kbGU9L0tpbmRsZXxTaWxrL2kudGVzdChuQWd0KSxqUXVlcnkuYnJvd3Nlci5tb2JpbGU9alF1ZXJ5LmJyb3dzZXIuYW5kcm9pZHx8alF1ZXJ5LmJyb3dzZXIuYmxhY2tiZXJyeXx8alF1ZXJ5LmJyb3dzZXIuaW9zfHxqUXVlcnkuYnJvd3Nlci53aW5kb3dzTW9iaWxlfHxqUXVlcnkuYnJvd3Nlci5vcGVyYU1vYmlsZXx8alF1ZXJ5LmJyb3dzZXIua2luZGxlLGpRdWVyeS5pc01vYmlsZT1qUXVlcnkuYnJvd3Nlci5tb2JpbGUsalF1ZXJ5LmlzVGFibGV0PWpRdWVyeS5icm93c2VyLm1vYmlsZSYmNzY1PGpRdWVyeSh3aW5kb3cpLndpZHRoKCksalF1ZXJ5LmlzQW5kcm9pZERlZmF1bHQ9alF1ZXJ5LmJyb3dzZXIuYW5kcm9pZCYmIS9jaHJvbWUvaS50ZXN0KG5BZ3QpLGpRdWVyeS5tYkJyb3dzZXI9alF1ZXJ5LmJyb3dzZXIsalF1ZXJ5LmJyb3dzZXIudmVyc2lvbkNvbXBhcmU9ZnVuY3Rpb24oYSxiKXtpZigic3RyaW5nc3RyaW5nIiE9dHlwZW9mIGErdHlwZW9mIGIpcmV0dXJuITE7Zm9yKHZhciBjPWEuc3BsaXQoIi4iKSxkPWIuc3BsaXQoIi4iKSxlPTAsZj1NYXRoLm1heChjLmxlbmd0aCxkLmxlbmd0aCk7Zj5lO2UrKyl7aWYoY1tlXSYmIWRbZV0mJjA8cGFyc2VJbnQoY1tlXSl8fHBhcnNlSW50KGNbZV0pPnBhcnNlSW50KGRbZV0pKXJldHVybiAxO2lmKGRbZV0mJiFjW2VdJiYwPHBhcnNlSW50KGRbZV0pfHxwYXJzZUludChjW2VdKTxwYXJzZUludChkW2VdKSlyZXR1cm4tMX1yZXR1cm4gMH0sZnVuY3Rpb24oYSl7YS5zaW1wbGVTbGlkZXI9e2RlZmF1bHRzOntpbml0aWFsdmFsOjAsc2NhbGU6MTAwLG9yaWVudGF0aW9uOiJoIixyZWFkb25seTohMSxjYWxsYmFjazohMX0sZXZlbnRzOntzdGFydDphLmJyb3dzZXIubW9iaWxlPyJ0b3VjaHN0YXJ0IjoibW91c2Vkb3duIixlbmQ6YS5icm93c2VyLm1vYmlsZT8idG91Y2hlbmQiOiJtb3VzZXVwIixtb3ZlOmEuYnJvd3Nlci5tb2JpbGU/InRvdWNobW92ZSI6Im1vdXNlbW92ZSJ9LGluaXQ6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBjPXRoaXMsZD1hKGMpO2QuYWRkQ2xhc3MoInNpbXBsZVNsaWRlciIpLGMub3B0PXt9LGEuZXh0ZW5kKGMub3B0LGEuc2ltcGxlU2xpZGVyLmRlZmF1bHRzLGIpLGEuZXh0ZW5kKGMub3B0LGQuZGF0YSgpKTt2YXIgZT0iaCI9PWMub3B0Lm9yaWVudGF0aW9uPyJob3Jpem9udGFsIjoidmVydGljYWwiLGU9YSgiPGRpdi8+IikuYWRkQ2xhc3MoImxldmVsIikuYWRkQ2xhc3MoZSk7ZC5wcmVwZW5kKGUpLGMubGV2ZWw9ZSxkLmNzcyh7Y3Vyc29yOiJkZWZhdWx0In0pLCJhdXRvIj09Yy5vcHQuc2NhbGUmJihjLm9wdC5zY2FsZT1hKGMpLm91dGVyV2lkdGgoKSksZC51cGRhdGVTbGlkZXJWYWwoKSxjLm9wdC5yZWFkb25seXx8KGQub24oYS5zaW1wbGVTbGlkZXIuZXZlbnRzLnN0YXJ0LGZ1bmN0aW9uKGIpe2EuYnJvd3Nlci5tb2JpbGUmJihiPWIuY2hhbmdlZFRvdWNoZXNbMF0pLGMuY2FuU2xpZGU9ITAsZC51cGRhdGVTbGlkZXJWYWwoYiksImgiPT1jLm9wdC5vcmllbnRhdGlvbj9kLmNzcyh7Y3Vyc29yOiJjb2wtcmVzaXplIn0pOmQuY3NzKHtjdXJzb3I6InJvdy1yZXNpemUifSksYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCl9KSxhKGRvY3VtZW50KS5vbihhLnNpbXBsZVNsaWRlci5ldmVudHMubW92ZSxmdW5jdGlvbihiKXthLmJyb3dzZXIubW9iaWxlJiYoYj1iLmNoYW5nZWRUb3VjaGVzWzBdKSxjLmNhblNsaWRlJiYoYShkb2N1bWVudCkuY3NzKHtjdXJzb3I6ImRlZmF1bHQifSksZC51cGRhdGVTbGlkZXJWYWwoYiksYi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCkpfSkub24oYS5zaW1wbGVTbGlkZXIuZXZlbnRzLmVuZCxmdW5jdGlvbigpe2EoZG9jdW1lbnQpLmNzcyh7Y3Vyc29yOiJhdXRvIn0pLGMuY2FuU2xpZGU9ITEsZC5jc3Moe2N1cnNvcjoiYXV0byJ9KX0pKX0pfSx1cGRhdGVTbGlkZXJWYWw6ZnVuY3Rpb24oYil7dmFyIGM9dGhpcy5nZXQoMCk7aWYoYy5vcHQpe2Mub3B0LmluaXRpYWx2YWw9Im51bWJlciI9PXR5cGVvZiBjLm9wdC5pbml0aWFsdmFsP2Mub3B0LmluaXRpYWx2YWw6Yy5vcHQuaW5pdGlhbHZhbChjKTt2YXIgZD1hKGMpLm91dGVyV2lkdGgoKSxlPWEoYykub3V0ZXJIZWlnaHQoKTtjLng9Im9iamVjdCI9PXR5cGVvZiBiP2IuY2xpZW50WCtkb2N1bWVudC5ib2R5LnNjcm9sbExlZnQtdGhpcy5vZmZzZXQoKS5sZWZ0OiJudW1iZXIiPT10eXBlb2YgYj9iKmQvYy5vcHQuc2NhbGU6Yy5vcHQuaW5pdGlhbHZhbCpkL2Mub3B0LnNjYWxlLGMueT0ib2JqZWN0Ij09dHlwZW9mIGI/Yi5jbGllbnRZK2RvY3VtZW50LmJvZHkuc2Nyb2xsVG9wLXRoaXMub2Zmc2V0KCkudG9wOiJudW1iZXIiPT10eXBlb2YgYj8oYy5vcHQuc2NhbGUtYy5vcHQuaW5pdGlhbHZhbC1iKSplL2Mub3B0LnNjYWxlOmMub3B0LmluaXRpYWx2YWwqZS9jLm9wdC5zY2FsZSxjLnk9dGhpcy5vdXRlckhlaWdodCgpLWMueSxjLnNjYWxlWD1jLngqYy5vcHQuc2NhbGUvZCxjLnNjYWxlWT1jLnkqYy5vcHQuc2NhbGUvZSxjLm91dE9mUmFuZ2VYPWMuc2NhbGVYPmMub3B0LnNjYWxlP2Muc2NhbGVYLWMub3B0LnNjYWxlOjA+Yy5zY2FsZVg/Yy5zY2FsZVg6MCxjLm91dE9mUmFuZ2VZPWMuc2NhbGVZPmMub3B0LnNjYWxlP2Muc2NhbGVZLWMub3B0LnNjYWxlOjA+Yy5zY2FsZVk/Yy5zY2FsZVk6MCxjLm91dE9mUmFuZ2U9ImgiPT1jLm9wdC5vcmllbnRhdGlvbj9jLm91dE9mUmFuZ2VYOmMub3V0T2ZSYW5nZVksYy52YWx1ZT0idW5kZWZpbmVkIiE9dHlwZW9mIGI/ImgiPT1jLm9wdC5vcmllbnRhdGlvbj9jLng+PXRoaXMub3V0ZXJXaWR0aCgpP2Mub3B0LnNjYWxlOjA+PWMueD8wOmMuc2NhbGVYOmMueT49dGhpcy5vdXRlckhlaWdodCgpP2Mub3B0LnNjYWxlOjA+PWMueT8wOmMuc2NhbGVZOiJoIj09Yy5vcHQub3JpZW50YXRpb24/Yy5zY2FsZVg6Yy5zY2FsZVksImgiPT1jLm9wdC5vcmllbnRhdGlvbj9jLmxldmVsLndpZHRoKE1hdGguZmxvb3IoMTAwKmMueC9kKSsiJSIpOmMubGV2ZWwuaGVpZ2h0KE1hdGguZmxvb3IoMTAwKmMueS9lKSksImZ1bmN0aW9uIj09dHlwZW9mIGMub3B0LmNhbGxiYWNrJiZjLm9wdC5jYWxsYmFjayhjKX19fSxhLmZuLnNpbXBsZVNsaWRlcj1hLnNpbXBsZVNsaWRlci5pbml0LGEuZm4udXBkYXRlU2xpZGVyVmFsPWEuc2ltcGxlU2xpZGVyLnVwZGF0ZVNsaWRlclZhbH0oalF1ZXJ5KSxmdW5jdGlvbihhKXthLm1iQ29va2llPXtzZXQ6ZnVuY3Rpb24oYSxiLGMsZCl7Im9iamVjdCI9PXR5cGVvZiBiJiYoYj1KU09OLnN0cmluZ2lmeShiKSksY3x8KGM9NyksZD1kPyI7IGRvbWFpbj0iK2Q6IiI7dmFyIGU9bmV3IERhdGU7ZS5zZXRUaW1lKGUuZ2V0VGltZSgpKzg2NGU1KmMpLGM9IjsgZXhwaXJlcz0iK2UudG9HTVRTdHJpbmcoKSxkb2N1bWVudC5jb29raWU9YSsiPSIrYitjKyI7IHBhdGg9LyIrZH0sZ2V0OmZ1bmN0aW9uKGEpe2ErPSI9Ijtmb3IodmFyIGI9ZG9jdW1lbnQuY29va2llLnNwbGl0KCI7IiksYz0wO2M8Yi5sZW5ndGg7YysrKXtmb3IodmFyIGQ9YltjXTsiICI9PWQuY2hhckF0KDApOylkPWQuc3Vic3RyaW5nKDEsZC5sZW5ndGgpO2lmKDA9PWQuaW5kZXhPZihhKSl0cnl7cmV0dXJuIEpTT04ucGFyc2UoZC5zdWJzdHJpbmcoYS5sZW5ndGgsZC5sZW5ndGgpKX1jYXRjaChlKXtyZXR1cm4gZC5zdWJzdHJpbmcoYS5sZW5ndGgsZC5sZW5ndGgpfX1yZXR1cm4gbnVsbH0scmVtb3ZlOmZ1bmN0aW9uKGIpe2EubWJDb29raWUuc2V0KGIsIiIsLTEpfX0sYS5tYlN0b3JhZ2U9e3NldDpmdW5jdGlvbihhLGIpeyJvYmplY3QiPT10eXBlb2YgYiYmKGI9SlNPTi5zdHJpbmdpZnkoYikpLGxvY2FsU3RvcmFnZS5zZXRJdGVtKGEsYil9LGdldDpmdW5jdGlvbihhKXtpZighbG9jYWxTdG9yYWdlW2FdKXJldHVybiBudWxsO3RyeXtyZXR1cm4gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2VbYV0pfWNhdGNoKGIpe3JldHVybiBsb2NhbFN0b3JhZ2VbYV19fSxyZW1vdmU6ZnVuY3Rpb24oYSl7YT9sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShhKTpsb2NhbFN0b3JhZ2UuY2xlYXIoKX19fShqUXVlcnkpOw0KDQoNCi8qDQogKiAgSW5maW5pdGUgU2Nyb2xsDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCg0KLyohDQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgSW5maW5pdGUgU2Nyb2xsDQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KICAgKyBodHRwczovL2dpdGh1Yi5jb20vcGF1bGlyaXNoL2luZmluaXRlLXNjcm9sbA0KICAgKyB2ZXJzaW9uIDIuMS4wDQogICArIENvcHlyaWdodCAyMDExLzEyIFBhdWwgSXJpc2ggJiBMdWtlIFNodW1hcmQNCiAgICsgTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlDQoNCiAgICsgRG9jdW1lbnRhdGlvbjogaHR0cDovL2luZmluaXRlLXNjcm9sbC5jb20vDQoqLw0KOyhmdW5jdGlvbihlKXtpZih0eXBlb2YgZGVmaW5lPT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZCl7ZGVmaW5lKFsianF1ZXJ5Il0sZSl9ZWxzZXtlKGpRdWVyeSl9fSkoZnVuY3Rpb24oZSx0KXsidXNlIHN0cmljdCI7ZS5pbmZpbml0ZXNjcm9sbD1mdW5jdGlvbihuLHIsaSl7dGhpcy5lbGVtZW50PWUoaSk7aWYoIXRoaXMuX2NyZWF0ZShuLHIpKXt0aGlzLmZhaWxlZD10cnVlfX07ZS5pbmZpbml0ZXNjcm9sbC5kZWZhdWx0cz17bG9hZGluZzp7ZmluaXNoZWQ6dCxmaW5pc2hlZE1zZzoiPGVtPkNvbmdyYXR1bGF0aW9ucywgeW91J3ZlIHJlYWNoZWQgdGhlIGVuZCBvZiB0aGUgaW50ZXJuZXQuPC9lbT4iLGltZzoiZGF0YTppbWFnZS9naWY7YmFzZTY0LFIwbEdPRGxoM0FBVEFQUWVBUER5K01uUTZMVy80TjNoOE16VDZyakM0c1RNNXIvSTVOSFg3TjdqOGM3VTZ0dmc4T0xsOHVYbzlPanI5YjNHNU1mUDZPdnU5dFBaN1BUMSt2WDIrdGJiN3ZmNCs4L1c2OWpkN3JDNzN2bjUvTy94K0syNDNhaTAyLy8vL3dBQUFDSC9DMDVGVkZORFFWQkZNaTR3QXdFQUFBQWgrUVFFQ2dEL0FDd0FBQUFBM0FBVEFBQUYvNkFuam1ScG5taXFybXpydm5Bc3ozUnQzM2l1NzN6di84Q2djRWowQkFTY3BITEpiRHFmMEtoMFNxMWFyOWlzZGlvSXRBS0d3K01BS1lNRmhiRjYzQ1c0MzhmMG1nMVIyTzhFdVhqL2FPUHRhSHg3Zm45NmdvUjRobXVJZDRxRGRYOTVjNCtSQklHQ0I0eUFqcG1RaFpOMFlHWUdYaXRkWkJJVkdBc0xvcTRCQktRRHN3bTFDUVJrY0c2eXRyWUt1YnE4dmJmQWNNSzl2N3E3RU1PMXljckh2c1c2emNUS3Njek56OEhadzl2RzNjalRzTUlZcVFrQ0xCd0hDZ3NNRFE0UkRBWUlxZllTRnhEeEVmejg4L1gzOE9ucjE2K0JwNEFEQ2NvN2VDOGhRWU1BRWU1N3lOQ2V3NElWQlU3RUdORGlSbjhaODMxY0dMSGhTSWdkRmY5Y2hJZUJnN29BN2dqYVdVV1RWUUFHRTNMcUJEQ1RsYzlXT0hmbTdQa1RxTkNoNTRyZVBEcUI2TStsUjUzNmhDcFVxczJnVlpNK3hiclRxdEdvV3FkeTFlbVZhbGVYS3pnZ1lCQkI1eTFhY0ZOWm1FdlhBb04yY0dmSnJUdjNibDY5RmZqMnhadDNMMSsvZnczWFJWdzRzR0RHY1IwZkpoeFpzRjNLdEJUVGhaeFo4bUxNZ0MzZlJhdENiWU1ORkN6d0xFcUxnRTROc0RXcy90dnFkZXpaZjEzSHZrMkE5U3pkdTJYM3BnMThOKzY4eFhuN3JoMWMrUExrc0kvRGhlNmN1TzNvdzNOZlY5MmJkQXJUcUMyRWJkM0E4dmpmNVFXZkg2Qmc3TnoxN2MyZmo2OStmbnErOE4yTHR5K2Z1UDc4L2VWMlgxM25lSWNDZUJSd3hvcmJackExQU5vQ0RHcmdvRzhSVHNoYWhROWlTS0VFelVtWUlZZk5XVmlVaGhlQ0dKeUlQNUU0b29tN1dXamdDZUJGQUpOdjFEVlYwMU1BZEpoaGpka3BsV056Ty81b1hJODQ2bmpqVkVJcVIyT1MyQjFwRTVQVnNjYWpreGhNeWNxTEpnaFFTd1Q0MFBnZkFsNEdxTlNYWWRaWEpuNWdTa21tbW1KdTFhWlliMTRWNTFkbytwVE9DbUE0MEFxVkNJaEc1SUo5UHZZbmhJRk94bWRxaHBhSTZHZUhDdHBvb2lzdXV0bWcrRWc2MktPTUt1cW9UYVhnaWNRV29JWXE2cWlrbG1vcUZWMFVvZXFxckxicTZxdXd4aXJyckxUV2F1dXRKNFFBQUNINUJBVUtBQndBTEFjQUJBRE9BQXNBQUFYL0lQZDBEMmR5UkNvVXAvazhncEhPS3RzZVI5eWlTbUdidUJ5a2xlcjlYTEFoa2JEYXZYVEw1azJvcUZxTk94elVaUFU1WVlaZDFYc0Q3MnJacEJqYmVoNTJtU05uTVNDOGx3YmxLWkd3aSswUWZJSjhDbmNuQ29DRGdvVm5CSG1LZkJ5R0ppbVBrSXd0aUFlQmtINlpISmFLbUNlVm5LS1RISWloZzVLTnE0dW9xbUV0Y1JVdEVSRU1CZ2d0RXI0UURyakN1UkM4aDcvQnd4RU5laWNTRjhES3k4MnB5TkxNT3h6V3lnekZtZHZEMkwzUDBkemU0K1hoMUFya3llcGk3ZGZGdnZUdExRa1pCQzBUL0ZYM0NSZ0NNT0JIc0orRUhZUVk3T2luQUdFQ2dRc0IrTHUzQU9LK0Nld2NXand4UWVKQmlodE5HSFNvUU9FK2lRMy8vNFhrd0JCaFJaTWNVUzZZU1hPQXdJTDhQR3FFYVNKQ2lZdDlTTm9DbW5KUEFnVVZMQ2hkYW9GQlVSTjhNQXpsMlBRcGh3UUxmREZkNmxUb3dnbEh2ZTZyS3BiamhLNy9wRzVWaW5aUDFxa2l6MXJsNCt0cjJMUndXVTY0Y0ZFaWh3RXRaZ2JnUjFVaUhhTVZ2eHBPU3dCQTM3a3pHejllOEcrQjVNSUVLTHV0T0dFc0FIMkFUUXdZZlRtdVg4YUVUV2RHUFptaVpjY2NOU3plVENBMVN3MGJkaWl0QzdMQldndThqUXI4SFJ6cWdwSzZnWDg4UWJyQjE0ei9rRitFTHB3QjhlVlFqL0prcWR5bEF1ZGppLyt0czMwMzl2RUVmSzhWejJkbHZ4WktHMENtYmtLREJ2bGxSZDZmQ3pEdkJMS0JEU0NlZmZoUkpFRmViRmsxay9NdjlqVklvSUpaU2VCZ2d3VWFOZUIrUWszNElFMGNYbGloY2ZSeGtPQUpGRmh3R21LbG1XRGlha1poVUp0bkxCcG5XV2NuS2FBWmN4STBwaUZHR0xCbTFtYzkwa2FqU0N2ZWVCVldLZVlFb1Uyd3FlYVFpMFBldG9FK3JyMTRFcFZDN29BYkFVSHFoWUV4Ym4yWEhIc1ZxYmNWZXc5dHg4K1hKS2s1QVpzcXFkbGRkR3BxQUtkYkFZQm4xcGNjem1TVGRXdmRtWjE3YzFiM0ZaOTl2blRkQ1JGTThPRWNBaEx3bTFOZFhuV2NCQlNNUldtZmtXWnFWbHNtTElpQXAvbzFnR1YydnBTNGxhbEdZc1VPcVhyZGRjS0NtSzYxYVo4U2pFcFVwVkZWb0NwVGo0cjY2MUttN2tCSGpyRHljMVJBSVFBQUlma0VCUW9BR3dBc0J3QUVBTTRBQ3dBQUJmL2d0bVVDZDRnb1FRZ0ZLajZQWUtpMHlycmJjOGk0b2hRdDEyRUhjYWwrTU5TUWlDUDhnaWdkejdpQ2lvYUNJdlVtWkxwOFFCelcwRU4ydlNsQ3VEdEZLYXE0UnlIelFMRUtaTmRpUURoUkRWb29Dd2tiZm01OUVBbUtpNFNHSW0rQWpJc0tqaHNxQjRtU2pUMklPSU9VbklDZUNhQi9tWktGTlRTUm1xVnBtSnFrbFNxc2txNlBmWVlDRHdZSERDNFJFUXdHQ0JMR3h4SVFEc0hNd2hBSVg4Ykt6Y0VOZ1NMR0Y5UFUxajNTeTl6WDJOcmd6UXppQ2hMazFCSFd4Y2pmN04wNDZ0dk44MjcxNWN6bjlQcnl6NklsYzRBQ2o0RUJPQ1pNOEtFbkFZWUFEQlJLbkFDQVlVTUZ2MXdvdEloQ0VjYUpDaXNxd0pGZ0FVU1FHeVgva0NTVlVVVElkS013Smx5bzBvWEhsaHNrd3JUSmNpWkhFWHNnYXFTNHM2UEppQ0FyMXV6WVU4a0JCU2duV0ZxcG9NSk1Vakd0RG1Vd2ttZlZtVnlwYWtXaEVLdlhzUzRuaExXNXdOalZyb0pJb2MwNXdTelRyMFB0aWlncFllNEVDMnZqNGlXckZ1NWV1V0lNUkJoYWNhVkpoWVFCRUZqQTlqSGp5UTB4RUFCd0djZUdBWllqWTBZQk9yUkxDeFVwMjlRTStiUmt4NXM3WnlZZ1ZiVHF3d3RpMnliSit2THREWXB5Y3laYllPbHB0eGR4MGtWK1Y3bEM1aUpBeXlScndZS3hBZGl6ODJuZzAvam5BZE1KRnowY1BpMTA0RWMxVmo5L002RjE3M3ZLTC9mZVh2MTU2ZHcxMXRscWVNTW52NFY1QXA1M0dtalFRSDk3bkZmZytJRml1Y2ZnUlg1WjhLQWdiVWxRNElVTElsZ2hoaGRPU0I2QWdYMElWbjhlUmVnaGVuM05SSUJzUmduSDRsNEx1RWlkWkJqd1JwdDZOTTVXR3dvVzBLU2pDd1g2eUpTTWFiMkd3d0FQRFhmYUJDdFdwbHVSVFFxQzVKTTVvVVpBalVOUytWZU9MV3BKRVE3VllRQU5XMElOSlNaVkRGU25acGhqU2lrZm16RTVONEVFYlFJMVFKbW5XWENtSHVsUnAyZWR3RFhGNDN0eHVrZW5Kd3ZJOXh5ZzlRMjZaM016R1VjQllGRUNoWmg2RFZUcTM0QVU4SWZsaDUxU2QrQ25LRllRNm1tWmtocWZCS2ZTeFpXcUE5RFphbldqeG1ocld3aTBxdENydC80M0s2V3FWampwbWhJcWdFR3ZjdWxhR0trbEtzdEFBQ0VBQUNINUJBVUtBQndBTEFjQUJBRE9BQXNBQUFYL0lDZHlRbWFNWXlBVXFQZ0lCaUhQeE5weTc5a3FSWEg4d0FQc1JtRGRYcEFXZ1dkRUlZbTJsbENIcWpWSFUrampKa3dxQlRlY3dJdFNoTVhrRWZOV1NoOGUxTkdBY0xncERHbFJnazdFSi82QWUzVktmb0YvZkR1RmhvaFZlRGVDZlhrY0NRcURWUWNRaG4rVk5ET1ltcFNXYW9xQmxVU2Ztb3dqRUEraUVBRUdEUkd6dEF3R0NEY1hFQTYwdFhFaUNycTh2UkVNRUJMSXlSTEN4TVdTSE16RXhuYlJ2UTJTeTd2TjB6dlZ0TmZVMnRMWTNyUGdMZG5EdmNhNFZRUy9DcGszQUJ3U0xRa1lBUXdUL1AzMDl2Y0k3T3ZYcjk0akJRTUovbnNra0dBL0JRQlJMTkRuY0FJQWlEY0c2THN4QVdPTGlRem1lVVJCS1dTTENRYnYvMUYwZURHaW5KVUtSNDdZWTFJRWdRQVNLazdZYzdBQ1J3Wm03bUh3ZVJKb3o1OUJKVW9naXNLQ1VhRk1SMHg0U2xKQlZCRlRrOHBaaXZUUjBLNzNyTjV3cWxYRUFxNUZ5M0lZZ0hiRXpRMG5MeTRRU29DalhMb29tOTZWT0pFZUNvc0s1bjRra0ZmcVhqbDk0d2ErbDFndkFjR0lDYmV3QU9BeFk4bC9LeS9RaEFHejRjVWtHeHUySE5vemh3TUdCbkNVcVVkQmc5VXVXOWVVeW5xU3dMSElCdWplUGVmMVpHUVpYY00rT0Z1RUJlQmhpM09ZZ0x5cWN1YXhiVDl2TGtmNFNlcXlXeFNRcEtHQjJnUXBtMUtkV2J1NzJyUFJ6UjlOZTJOdTlLenIvMUpxajB5RC9mdnFQNGFYT3Q1c1cvNXFzWFhWY3YxTnNwOElCVUFtZ3N3R0YzbGxHZ2VVMVlWWFhLVE4xRmxoV0ZYVzNnSUUrRFZDaEFweXNBQ0hIbzdRNEEzNWxMaWNoaCtST0JtTEtBemdZbVlFWURBaENneEtHT09NbjRXUjRra0Rhb0JCT3hKdGROS1F4Rm1nNUpJV0lCblFjMDdHYU9SZlVZNEFFa2RWNmpIbENFSVNTWjV5VFhwcDFwYkdaYmtXbWN1Wm1RQ2FFNmlKMEZoak1hRGpUTXNnWmFORUhGUkFRVnAzYnFYblpFRDFxWWNFQ096NVY2QmhTV0NvVkpRSUt1S1FpMktGS0VrRUZBcW9Bbzd1WVNtTzNqazYxd1VVTUtta25KNFNHaW1CbUFhMHFWUUJoQUFBSWZrRUJRb0FHd0FzQndBRUFNNEFDd0FBQmYvZ0ptNUZtUmxFcWhKQytieXdnSzVwTzRySEkwRDNwaWkyMitNZzYvMEVqOTZ3ZUNNQWs3Y0RrWGY3bFpUVG5yTWw3ZWFZb3kxMEpOMFpGZGNvMFhBdXZLSTZxa2dWRkpYWU53amtJQmNOQmdSOFRRb0dmUnNKQ1J1Q1lZUVFpSStJQ29zaUNvR09rSWlLZlNsOG1Ka0haNFU5a1pNYkthSTNwS0dYbUpLcm5nbXVnNFd3a2hBMGxyQ0JXZ1lGQ0NNUUZ3b1FEUkhHeHd3R0NCTE16UkxFeDhpR3pNTU8wY1lOZUNNS3pCRFcxOWxuRjlEWERJWS80OFhnMDkzZjBRM3MxZGNSOE9MZTgrWTkxT1R2NXdyajdvN0IrN1ZOUXFBQklvUlZDTUJnZ3NPSEUzNmtTb0NCSWNTSDNFYkZhbmd4b2dKWUZpOENrSmhxUWNpTEpFZi9MRERKRWVKSUJUMEdzT3dZVVlKR0JTMGZqcFFBTWlkR215VlA2c3g0WTZWUWh6czlWVXdrd3FhQ0NoMHRtS29GdFNNRG1CT2Y5cGhnNFNyVnJST3Vhc1JRQWF4WHBWVWhkc1U2SXNFQ1psdlgza3dMVVd6UnQwQkhPTFRiTmxiWkczdlppbkFyZ2U1RHZuN3dicXRRa1NZQUFndEttblNzWUtWS28yQWZXMDQ4dWFQbUczODZpNFE4RVFNQkFJQW5mQjd4QnhCcXZhcEo5elg5V2dSUzJZTXBudllNR2RQSzNhTWp0LzNkVWNOSTRibHBqN2l3a01GV0RYRHZTbWdBbGlqcnQ5UlRSNzgrUFM2ejF1QUpaSWU5M1E4ZzV6Y3NXQ2kvNFkrQzhiYWg1elV2M3Z2ODl1ZnQzMFFQMjNwdW5HQ3g1OTU0b0JCd253WWFOQ0RZL3dZcnNZZWdnbk05QjJGcGY4R0cyQ0VVVldoYldBdEdvdUVHRHk3WTRJRUpWcmJTaVhnaHFHS0lvN3oxSVZjWElrS1dXUjM2MVFPTFdXbklod0VScExhYUNDZWU1aU1CR0pRbUpHeVBGVG5ia2ZIVlpHUnRJR3JnNUhBTEVKQVpidTM5QnVVRVVtcTFKSlFJUHRaaWxZNWhHZVNXc1NrNTJHOVhxc21nbGpkSWNBQnl0cTEzSHlJTTZSY1VBK3IxcVo0RUJGM1dIV0IyOXRCZ0F6UmhFR2hpZzhLbXFLRnY4U2VDZW8rbWdzRjdZRlhhMXFXU2JrRHBvbS9tcVIxUG1IQ3FKM2Z3TlJWWGpDN1M2Q1poRlZDUTJsV3ZaaWlyaFFxNDJTQUN0MjVJSzJodjhUcHJyaVVWMXVzR2dla2E3TEZjTm1DbGRNTGk2cVpNZ0ZMZ3B3MTZDaXBiN2JDMWtuWHNCaUVBQUNINUJBVUtBQnNBTEFjQUJBRE9BQXNBQUFYLzRGWnNKUGtVbVVHc0xDRVVUeXdYZ2xGdVNnN2ZXMXhBdk5XTEY2c0ZGY1BiNDJDOEVaQ2oyNEVKZENwMnlvZWdXc29sUzBVdTZmbWFtZzhuOFlZY0xVMmJYU2lSYVhNR3ZxVjYvS0FlSkFoOFZnWnFDWCtCZXhDRmlvV0FZZ3FOaTRxQVI0T1JoUnVIWTQwOGpBZVVoQW1ZWWl1VmxwaWZscUdaYTVDV2t6YzVmS21iYmhJcHNBb1FEUkc4dlF3UUNCTEN3eEs2dmI1cXdoZkd4eEVOYWh2Q0VBN056c2tTeTd2Tnp6ekswOVcvUE5IRjFOdlgyZFhjTjhLNTVjZmg2OUx1dmVvbDN2Tzh6d2k0WWhqK0FRd21DQnc0SVljbERBQUpEbFFnZ1ZPQ2hBb0xLa2dGa1NDQUhEd1dMS2hJRU9PTkFSc0RLcnlvZ0ZQSWlBVWIvOTVnSk5JaXc0d25JNzc4R0ZQaHpCS0ZPQXE4cUxKRWhRcGlOQXJqTWNIQ21sVENVRElvdVRLQmhBcEVMU3hGV2lHaVZLWTRFMkNBZWtQZ1VwaER1MDc0Mm5SclZMSlpueXJGU3FLUTJvaG9TWUFNVzZJb0RwTko0YkxkSUxUbkFqOEtVRjdVZUVOakFLdUR5eElnT3VHaU9JMEVCQk1nTE5ldzVBVXJEVE1Hc0ZpeHdCSWFOQ1F1QVhKQjU3cU5KMk9XbTJBajRza3dDUUNJeU5raGh0TWtkc0l1b2RFMEFONExKRFJnZkxQdG41WURMZEJscmFBQnl1VWJCZ3hRd0lDeE1PbllwVk9QZWowNzRPRmRsZmMwVHFDNjJPSWJjcHBIalY0bytMcmllV2hmVDhKQy9JL1Q2VzhvQ2wyOXZRMFhqTGRCYUEzczFSY1BCTzdsRnZwWDhCVm9HNE81alRYUlFSRHVKNkZEVHpFV0YxL0JDWmhnYnlBS0U5cUlDWUxsb1FZT0Z0YWhWUnNXWWxaNEtRSkhsd0hTL0lZYVo2c1pkOXRtdTVIUW0yeGkxVWFUYnp4WXdKay93QkY1ZzVFRVlPQlplRWZHWm1OZEZ5RlptWklSNGppa2JMVGhsaDVrVVVWSkdtUlQ3c2Vra3ppUldVSUFDQUJrM1Q0cUNzZWRnTzR4aGdHY1k3cTVwSEo0a2xCQlRRUkowQ2VIY29ZSEhVaDZ3Z2Zkbjl1SmRTZE1pZWJHSjB6VVBUY29TMjg2RkNrclp4bllvWVlLV0xrQm93aFFvQmVhT2xaQWdWaExpZHJYcWcyR2lxcFFwWjRhcHdTd1J0anFyQjNtdW9GOUJib2FYS21zaGxxV3FzV2lHdDJ3cGhKa1FiQVU1aG9DQUNINUJBVUtBQnNBTEFjQUJBRE9BQXNBQUFYL29HRncyV1p1VDVvWlJPc1NRbkdhS2pSdmlsSTg5M01JdGxOT0o1djVnRGNGckhoS0lXY0VZdS94RkVxTnY2QjFONjJhY2x5c0Y3ZnNaWWU1YU94MnlMNWFBVUdTYVQxb1RZTUJ3UTVWR0NBSmdZSUpDbngxZ0lPQmhYZHdpSWw3ZDBwMmlZR1FVQVFCam9PRlNRUi9sSVFIblorVWU2T2FncVl6U3FTSmk1ZVRwVHhHY2pjU0NoQU5FYnU4REJBSUVzSEJDaGU1dkwxM0c3ZkZ1c2NSRGNuS3VNM0gwTGEzRUE3T3o4a0tFc1hhenI3Q3c5L0d6dGFyNXVISHZ0ZTQ3TWprdHpuWjJ3MEcxK0QzQmdpckFxSm1KTUFRZ01HRWd3Z241RWkwZ0tEQmhCTUFMR1JZRU9KQmI1UWNXbFFvNGNiQWloWnozR2dJTXFGRUJTTTEvNFpFT1dQQWdwSUlKWFlVK1BJaFJHOGphMXFVNlZIbHpaa25KTlE2VWFuQ2pRa1dDSUdTVUdFakF3VkxqYzQ0K0RUcVVRdFBQUzVnZWpVclRhNVRKM2c5c1dDcjFCTlVXWkkxNjFTdGlRVURtTFlkR2Zlc2liUTNYTXExT1BZdGhyd3VBMnlVMkxCczJjQkhJeXBZUVBQbFlBS0ZENWNWdk5QdFc4ZVZHYmRjUUFEQVRzaU5PNGNGQVBrdkhwZWRQemM4a1VjUGdOR2daNVJORFpHMDVyZW9FOXMydlNFUDc5TUVHaVFHeTFxUDhMQTRaY2R0c0pFNDhPTm9MVEJ0VFYwQjlMc1RuUGNlb0lEQkRRdlM3Vzd2ZmpWWTNxM2VaNEEzMzlKNGVhQW1LcVUvc1Y1OEh2SmgyUmNuSUJzRFV3MEFCcWhCQTVhVjVWOVhVRkdpSGZWZUFpV3dvRmdKSnJJWFJIMXRFTWlERlY0b0hvQUVHbGFXaGdJR1NHQk8ybkZvbVlZM21LalZnbGlkYU5ZSkdKRGtXVzJ4eFRmYmpDYlZhT0dOcW9YMkdsb1I4WmVUYUVDUzlwdGhSR0pIMmcwYjNBZ2JrNmhOQU50dGVIRDJHSlV1Y2ZhakNRQnk1T09UUTI1WmdVUHZhVlZRbWJLaDk1MTAvcVFwd1h4M1NRZGZrOHRaSk9kNWI2SkpGcGxUM1pubW1YM3FkNWwxZWc1cTAwSHJ0VWtVbjBBS2FpR2pDbFNBZ0tMWVpjZ1dYd29jR1JjQ0ZHQ0t3U0I2Y2VxcGh3bVlSVUZZVC8xV0tsT2RVcGlwbXhXMG1sQ3FIallrQWFlb1pscXJxWjRxZCt1cFFLYWFwbi9BbWdBZWdaOEtVdFl0RkFRUUFnQWgrUVFGQ2dBYkFDd0hBQVFBemdBTEFBQUYvK0MyUFVjbWlDaVpHVVRyRWtLQmlzOGpRRXF1S3dVNUh5WEliRVBneVg3QllhNXdUTm1FTXdXc1NYc3FGYkVoOERZczltcmdHamRLNkdrUFk1R09lVTZyeXo3VUZvcFNRRXp5Z09HaEpCam9JZ01EQkFjQk0wVi9DWXFMQ1FxRk93b2JpWXlLam4yVGxJNkdLQzJZakpaa25vdWFaQWNRbEpVSGw2ZW9vSndLb29vYnFvZXdySlNFbXlLZHQ1OU5oUktGTXhMRUVBNFJ5TWtNRUFqREVoZkd5Y3FBRzhUUXg5SVJEUkRFM2QzUjJjdEQxUkxnMHR0S0VuYlk1d1pEMyt6SjZNN1gyUkhpOU9ieTd1L3I5ZzM4VUZqVGgyeFpKQkVCTURBYm9vZ0Fnd2tRSTA3SU1VT1J3b2NTSndDZ1dERkJBSXdaT2FKSXNPQmpSb2dLSlA4d1RPRHc1RVNWSFZ0bTNBaHpwRWVRRWxPdU5EbFRaMHljRVVXS1dGQVNxRWFoR3dZVVBibnhvQWdFZGxZU3FEQmtnb1VOQ2xBbElIYlNBb09zcUNSUW5RSHhxMWF4VmIwNkZXRnhMSXF5YXplMFRmdDFKVnF5RStwV1hNRDFwRjZiWWwzK0hUcUFXTlc4Y1JVRnptaWgwWkFBQjJvR0t1a1NBQUdHUkhXSmdMaVI2QXlsQkxwdUhLS1VNbE1DbmdNcERTQWE5UUlVZ2daVlZ2RGFKb2JMZUMzWFpwdmdOZ0NtdFBjdXdQM1dnbVhTcTRkbzBEQzZvMi9ndXpjc2VFQ3RVb08waG1jc0dLRGdPdDdzc0JkMDd3cWVzQUlHWkMxWUlCYTdQUUh2YjErU0ZvKysrSHJKU1FmQjMzeGZhdjNpNWVYM0huYjRDVEpnZWdFcTh0SC9ZUUVPY0lKemJtMkcyRW9ZUkxnQlhGcFZtRllEY1JFVjRISWNubVVoaUdCUm91RU1KR0pHekhJc3BxZ2RYeEsweUNLSFJOWG9JWDR1b3JDZFR5amt5TnRkUFdyQTRVcDgyRWJBYnpNUnh4WlJSNTRXWFZMRElSbVJjYWc1ZDJSNnVnbDNaWHpOaFRlY2NocE1oSUdWQUtBWXBnSmpqc1NrbEJFZDk5bWFab281MzVadmRhbWpCRXB1c0p5Y3RnM2g0WDhYcW9kQk14MHRpTmVnL29HSmFLR0FCcG9nUzQwS1NxaWFFZ0JxbFFXTFV0cW9WUW55dGVrRWp6bzBoSHFoUm9ycHBPWnQycDkyM00yQUFWK29CdHBBbm5QTm9CNkhhVTZtQUFJVStJWG1pM2oybXRGWHVVb0hLd1hwelZyc2pjZ0dPYXVLRWpRcndxMTU3aGl0R3EyTm9XbWpoN3o2V214YjBtNXc2NisyVlJBdVhOL3lGVUFJQUNINUJBVUtBQnNBTEFjQUJBRE9BQXNBQUFYLzRDWnVSaWFNNDVNWnFCZ0lSYnM5QXFUY3VGTEU3VkhMT2g3S0I1RVJkakphRWFVNENsTy9sZ0tXaktLY01pSlE4S2d1bWNpZVZkUU1EOGNiQmV1QWtrQzZMWUxoT3hvUTJQRjVZczlQS1BCTWVuMTdmMENDZzRWU2gzMkpWNHQ4alNOcUVJT0VnSktQbGtZQmxKV1JJbktkaUpka21RbHZLQXNMQnhkQUJBNFJzYklNQmdndEVoY1FzTEt4REJDMlRBUzZ2TEVOZEpMRHhNWkF1YnU4dmpJYnpjUVJ0TXpKejc5UzA4b1FFdC9ndU5peXk3ZmN2TWJoNE9lemRBdkdyYWtMQVF3eUFCc0VMUWtZOUJQKy8vY2t5UERENEo5QmZBTWgxR3NCb0ltTWVRVU4rbE1nVUo5Q2lSTWE1bXN4b0I5R2gvbzhHbXhZTVpYSWd4dFIveVE0NlMvZ1FBVVJSMHBEd1lEZnl3b3lMUGlwNUFkbkN3c01GUEJVNEJQRmhLQkRpNDQ0cXVDbURLWk9md1o5S0VHcENLZ2NOMWpkQUxTcFBxSVlzYWJTK25TcXZxcGx2WXFRWUFlRFBnd0t3amFNdGlEbDBvYXFVQXlvKzNUdVd3VUFNUHBWQ2ZlZTBjRWpWQkdRcTJBQng3b1RXbVFrNEZnbFpNR045ZkdWRE1DdWlIMkFPVk91L1BteXhNNjMwZ3dNMENDbjZxOExqVko4R1h2cGE1VXduOTVPVEMvbk54a2RhMS9kTFNLNDc1SWpDRDZkSGJLMVpPYTRoWFA5RFhzNWNoSjAwVXBWbTV4bzJxUnBveHB0d0YyRTQvSWJKcEIvU0R6OStxOWIxYU5mUUgwOCtwNGE4dXZYOEI1M2ZMUCt5Y0FmZW1qc1JVQmdwMUgyMEsrQmdoSGdWZ3QxR1haWFpwWjVsdDRFQ2p4WVI0U2NVV2lTaEV0WnFCaUlJblJHV25FUk5uamlCZ2x3K0p5R254VW1Hb3dzeWlpWmcxODlsTnRQR0FDalYyK1M5VWpiVTBKV0Y2U1B2RWszUVpFcXNaWVRrM1VBYVJTVW56bkpJNUxtRVNDZEJWU3lhT1dVV0xLNEk1Z0RVWVZlVjFUOWwrRlpDbENBVVZBMDl1U21SSEJDS0FFQ0ZFaFc1MWh0NnJubVdCWGthUitOanVIcEo0MEQzRG1uUVh0MkYraWhaeGxxVktPZlFSQUNBQ0g1QkFVS0FCd0FMQWNBQkFET0FBc0FBQVgvSUNkeVVDa1VvL2c4bVVHOE1DR2tLZ3NwZUM2ajZYRUlFQnBCVWVDTmZFQ2FnbEJjT1ZmSkZLN1lRd1pIUTZKUlpCVXFUclN1VkV1RDNuSTQ1cFlqRnVXS3ZqalNrQ29SYUJVTVd4a3dCR2dKQ1hzcFEzNkJoNEVFQjBvS2hvaUJneU5Mam84S2k0UUVsSWlXZkpxSG5JU05FSStRbDVKOW82U2drcUtrZ3FZaWhhbVBrVzZvTkJnU2ZpTU1EUWtHQ0JMQ3d4SVFEaEhJeVF3UUNHTUt4c25LVnlQQ0Y5RFJFUTNNeE1QWDBjdTR3dDdKMnVIV3g5amxLZDNvMzlNaXVlZllFY3ZOa3VMdDVPOGMxZVBJMnR5RUxYR1F3b0dEQVFmK2lFQzJ4QnlEQ1JBalRsQWdJVVdDQlJnQ1BKUTRBUUJGWEFzMGNvVDQwV0xJalJ4TC80N0FjSExreElvbVJYTDBDSFBFUlprcGE0cTRpVktpeXAwdFIvN2t3SE1rVFVCQkpSNWRPQ0VCQVZjS0t0Q0F5T0hwb3dYQ3BrN2dvQUJxQlpkY3ZXcGxvQUNwQktrcElKSTFxNU9EMnJJV0UwUjF1VFp1MUxGd2JXTDlPbEt1V2I0YzYrbzlpM2RFZ3cwUkNHRFVHOUtsUnc1NmdEWTJxbUNCeVpCYUFTaStUQUNBMFR1Y0FhVHRlQ2N5MFp1T0szTjJ2Smx4NTgrTFJReVkzWG0wWnNnalpnK29QUUxpN2RVY05YaTBMT0p3MXBnTnRCN1hHNkNCeStVNzVTWWZQVFNRQWdaVE5VRG5RSHQ2N3duYlp5dndMZ0tpTU4zb0NaQjNDNzZ0ZGV3cExGZ0lQMkM4OHJiaTRZK1FUMys4UzVVU01JQ1pYV2oxcGtFRGVVVTNsT1lHQjNhbFNvRWlNSWpnWDRXbGdORjJFaWJJd1FJWGF1V1hTUmcyU0FPSElVNUlJSU1vWmtoaFdpSmFpRlZiS282QVFFZ1FYclRBYXpPMUpoa0JyQkczWTJZNkVzVWhhR245NWhwclNOMG9XcEZFN3Joa2VhUUJjaEdPRVdud0VtYzB1S1daajBMZXVOVjNXNFkybFpIRmxRQ1NSalRJbDh1WitrRzVIVS8zc1JsblRHMnl0eWFkeXRuRDNIcm11UmNTbiswaDFkeWNleElLMUtDallhQ25qQ0NWcU9GRkpUWjVHa1VVakVTV2FVSUtVMmxnQ21BS0tRSVVqSGFwWFJLRSt0Mm9nMVZnYW5rTllub2hxS0oyQ21LcGxzbzZHS3o3V1lDZ3F4ZXV5b0Y4dTlJUUFnQTciLG1zZzpudWxsLG1zZ1RleHQ6IjxlbT5Mb2FkaW5nIHRoZSBuZXh0IHNldCBvZiBwb3N0cy4uLjwvZW0+IixzZWxlY3RvcjpudWxsLHNwZWVkOiJmYXN0IixzdGFydDp0fSxzdGF0ZTp7aXNEdXJpbmdBamF4OmZhbHNlLGlzSW52YWxpZFBhZ2U6ZmFsc2UsaXNEZXN0cm95ZWQ6ZmFsc2UsaXNEb25lOmZhbHNlLGlzUGF1c2VkOmZhbHNlLGlzQmV5b25kTWF4UGFnZTpmYWxzZSxjdXJyUGFnZToxfSxkZWJ1ZzpmYWxzZSxiZWhhdmlvcjp0LGJpbmRlcjplKHdpbmRvdyksbmV4dFNlbGVjdG9yOiJkaXYubmF2aWdhdGlvbiBhOmZpcnN0IixuYXZTZWxlY3RvcjoiZGl2Lm5hdmlnYXRpb24iLGNvbnRlbnRTZWxlY3RvcjpudWxsLGV4dHJhU2Nyb2xsUHg6MTUwLGl0ZW1TZWxlY3RvcjoiZGl2LnBvc3QiLGFuaW1hdGU6ZmFsc2UscGF0aFBhcnNlOnQsZGF0YVR5cGU6Imh0bWwiLGFwcGVuZENhbGxiYWNrOnRydWUsYnVmZmVyUHg6NDAsZXJyb3JDYWxsYmFjazpmdW5jdGlvbigpe30saW5maWQ6MCxwaXhlbHNGcm9tTmF2VG9Cb3R0b206dCxwYXRoOnQscHJlZmlsbDpmYWxzZSxtYXhQYWdlOnR9O2UuaW5maW5pdGVzY3JvbGwucHJvdG90eXBlPXtfYmluZGluZzpmdW5jdGlvbihuKXt2YXIgcj10aGlzLGk9ci5vcHRpb25zO2kudj0iMi4wYjIuMTIwNTIwIjtpZighIWkuYmVoYXZpb3ImJnRoaXNbIl9iaW5kaW5nXyIraS5iZWhhdmlvcl0hPT10KXt0aGlzWyJfYmluZGluZ18iK2kuYmVoYXZpb3JdLmNhbGwodGhpcyk7cmV0dXJufWlmKG4hPT0iYmluZCImJm4hPT0idW5iaW5kIil7dGhpcy5fZGVidWcoIkJpbmRpbmcgdmFsdWUgICIrbisiIG5vdCB2YWxpZCIpO3JldHVybiBmYWxzZX1pZihuPT09InVuYmluZCIpe3RoaXMub3B0aW9ucy5iaW5kZXIudW5iaW5kKCJzbWFydHNjcm9sbC5pbmZzY3IuIityLm9wdGlvbnMuaW5maWQpfWVsc2V7dGhpcy5vcHRpb25zLmJpbmRlcltuXSgic21hcnRzY3JvbGwuaW5mc2NyLiIrci5vcHRpb25zLmluZmlkLGZ1bmN0aW9uKCl7ci5zY3JvbGwoKX0pfXRoaXMuX2RlYnVnKCJCaW5kaW5nIixuKX0sX2NyZWF0ZTpmdW5jdGlvbihyLGkpe3ZhciBzPWUuZXh0ZW5kKHRydWUse30sZS5pbmZpbml0ZXNjcm9sbC5kZWZhdWx0cyxyKTt0aGlzLm9wdGlvbnM9czt2YXIgbz1lKHdpbmRvdyk7dmFyIHU9dGhpcztpZighdS5fdmFsaWRhdGUocikpe3JldHVybiBmYWxzZX12YXIgYT1lKHMubmV4dFNlbGVjdG9yKS5hdHRyKCJocmVmIik7aWYoIWEpe3RoaXMuX2RlYnVnKCJOYXZpZ2F0aW9uIHNlbGVjdG9yIG5vdCBmb3VuZCIpO3JldHVybiBmYWxzZX1zLnBhdGg9cy5wYXRofHx0aGlzLl9kZXRlcm1pbmVwYXRoKGEpO3MuY29udGVudFNlbGVjdG9yPXMuY29udGVudFNlbGVjdG9yfHx0aGlzLmVsZW1lbnQ7cy5sb2FkaW5nLnNlbGVjdG9yPXMubG9hZGluZy5zZWxlY3Rvcnx8cy5jb250ZW50U2VsZWN0b3I7cy5sb2FkaW5nLm1zZz1zLmxvYWRpbmcubXNnfHxlKCc8ZGl2IGlkPSJpbmZzY3ItbG9hZGluZyI+PGltZyBhbHQ9IkxvYWRpbmcuLi4iIHNyYz0iJytzLmxvYWRpbmcuaW1nKyciIC8+PGRpdj4nK3MubG9hZGluZy5tc2dUZXh0KyI8L2Rpdj48L2Rpdj4iKTsobmV3IEltYWdlKS5zcmM9cy5sb2FkaW5nLmltZztpZihzLnBpeGVsc0Zyb21OYXZUb0JvdHRvbT09PXQpe3MucGl4ZWxzRnJvbU5hdlRvQm90dG9tPWUoZG9jdW1lbnQpLmhlaWdodCgpLWUocy5uYXZTZWxlY3Rvcikub2Zmc2V0KCkudG9wO3RoaXMuX2RlYnVnKCJwaXhlbHNGcm9tTmF2VG9Cb3R0b206ICIrcy5waXhlbHNGcm9tTmF2VG9Cb3R0b20pfXZhciBmPXRoaXM7cy5sb2FkaW5nLnN0YXJ0PXMubG9hZGluZy5zdGFydHx8ZnVuY3Rpb24oKXtlKHMubmF2U2VsZWN0b3IpLmhpZGUoKTtzLmxvYWRpbmcubXNnLmFwcGVuZFRvKHMubG9hZGluZy5zZWxlY3Rvcikuc2hvdyhzLmxvYWRpbmcuc3BlZWQsZS5wcm94eShmdW5jdGlvbigpe3RoaXMuYmVnaW5BamF4KHMpfSxmKSl9O3MubG9hZGluZy5maW5pc2hlZD1zLmxvYWRpbmcuZmluaXNoZWR8fGZ1bmN0aW9uKCl7aWYoIXMuc3RhdGUuaXNCZXlvbmRNYXhQYWdlKXMubG9hZGluZy5tc2cuZmFkZU91dChzLmxvYWRpbmcuc3BlZWQpfTtzLmNhbGxiYWNrPWZ1bmN0aW9uKG4scix1KXtpZighIXMuYmVoYXZpb3ImJm5bIl9jYWxsYmFja18iK3MuYmVoYXZpb3JdIT09dCl7blsiX2NhbGxiYWNrXyIrcy5iZWhhdmlvcl0uY2FsbChlKHMuY29udGVudFNlbGVjdG9yKVswXSxyLHUpfWlmKGkpe2kuY2FsbChlKHMuY29udGVudFNlbGVjdG9yKVswXSxyLHMsdSl9aWYocy5wcmVmaWxsKXtvLmJpbmQoInJlc2l6ZS5pbmZpbml0ZS1zY3JvbGwiLG4uX3ByZWZpbGwpfX07aWYoci5kZWJ1Zyl7aWYoRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQmJih0eXBlb2YgY29uc29sZT09PSJvYmplY3QifHx0eXBlb2YgY29uc29sZT09PSJmdW5jdGlvbiIpJiZ0eXBlb2YgY29uc29sZS5sb2c9PT0ib2JqZWN0Iil7WyJsb2ciLCJpbmZvIiwid2FybiIsImVycm9yIiwiYXNzZXJ0IiwiZGlyIiwiY2xlYXIiLCJwcm9maWxlIiwicHJvZmlsZUVuZCJdLmZvckVhY2goZnVuY3Rpb24oZSl7Y29uc29sZVtlXT10aGlzLmNhbGwoY29uc29sZVtlXSxjb25zb2xlKX0sRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQpfX10aGlzLl9zZXR1cCgpO2lmKHMucHJlZmlsbCl7dGhpcy5fcHJlZmlsbCgpfXJldHVybiB0cnVlfSxfcHJlZmlsbDpmdW5jdGlvbigpe2Z1bmN0aW9uIGkoKXtyZXR1cm4gZShuLm9wdGlvbnMuY29udGVudFNlbGVjdG9yKS5oZWlnaHQoKTw9ci5oZWlnaHQoKX12YXIgbj10aGlzO3ZhciByPWUod2luZG93KTt0aGlzLl9wcmVmaWxsPWZ1bmN0aW9uKCl7aWYoaSgpKXtuLnNjcm9sbCgpfXIuYmluZCgicmVzaXplLmluZmluaXRlLXNjcm9sbCIsZnVuY3Rpb24oKXtpZihpKCkpe3IudW5iaW5kKCJyZXNpemUuaW5maW5pdGUtc2Nyb2xsIik7bi5zY3JvbGwoKX19KX07dGhpcy5fcHJlZmlsbCgpfSxfZGVidWc6ZnVuY3Rpb24oKXtpZih0cnVlIT09dGhpcy5vcHRpb25zLmRlYnVnKXtyZXR1cm59aWYodHlwZW9mIGNvbnNvbGUhPT0idW5kZWZpbmVkIiYmdHlwZW9mIGNvbnNvbGUubG9nPT09ImZ1bmN0aW9uIil7aWYoQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKS5sZW5ndGg9PT0xJiZ0eXBlb2YgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKVswXT09PSJzdHJpbmciKXtjb25zb2xlLmxvZyhBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpLnRvU3RyaW5nKCkpfWVsc2V7Y29uc29sZS5sb2coQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKSl9fWVsc2UgaWYoIUZ1bmN0aW9uLnByb3RvdHlwZS5iaW5kJiZ0eXBlb2YgY29uc29sZSE9PSJ1bmRlZmluZWQiJiZ0eXBlb2YgY29uc29sZS5sb2c9PT0ib2JqZWN0Iil7RnVuY3Rpb24ucHJvdG90eXBlLmNhbGwuY2FsbChjb25zb2xlLmxvZyxjb25zb2xlLEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cykpfX0sX2RldGVybWluZXBhdGg6ZnVuY3Rpb24obil7dmFyIHI9dGhpcy5vcHRpb25zO2lmKCEhci5iZWhhdmlvciYmdGhpc1siX2RldGVybWluZXBhdGhfIityLmJlaGF2aW9yXSE9PXQpe3JldHVybiB0aGlzWyJfZGV0ZXJtaW5lcGF0aF8iK3IuYmVoYXZpb3JdLmNhbGwodGhpcyxuKX1pZighIXIucGF0aFBhcnNlKXt0aGlzLl9kZWJ1ZygicGF0aFBhcnNlIG1hbnVhbCIpO3JldHVybiByLnBhdGhQYXJzZShuLHRoaXMub3B0aW9ucy5zdGF0ZS5jdXJyUGFnZSsxKX1lbHNlIGlmKG4ubWF0Y2goL14oLio/KVxiMlxiKC4qPyQpLykpe249bi5tYXRjaCgvXiguKj8pXGIyXGIoLio/JCkvKS5zbGljZSgxKX1lbHNlIGlmKG4ubWF0Y2goL14oLio/KTIoLio/JCkvKSl7aWYobi5tYXRjaCgvXiguKj9wYWdlPSkyKFwvLip8JCkvKSl7bj1uLm1hdGNoKC9eKC4qP3BhZ2U9KTIoXC8uKnwkKS8pLnNsaWNlKDEpO3JldHVybiBufW49bi5tYXRjaCgvXiguKj8pMiguKj8kKS8pLnNsaWNlKDEpfWVsc2V7aWYobi5tYXRjaCgvXiguKj9wYWdlPSkxKFwvLip8JCkvKSl7bj1uLm1hdGNoKC9eKC4qP3BhZ2U9KTEoXC8uKnwkKS8pLnNsaWNlKDEpO3JldHVybiBufWVsc2V7dGhpcy5fZGVidWcoIlNvcnJ5LCB3ZSBjb3VsZG4ndCBwYXJzZSB5b3VyIE5leHQgKFByZXZpb3VzIFBvc3RzKSBVUkwuIFZlcmlmeSB5b3VyIHRoZSBjc3Mgc2VsZWN0b3IgcG9pbnRzIHRvIHRoZSBjb3JyZWN0IEEgdGFnLiBJZiB5b3Ugc3RpbGwgZ2V0IHRoaXMgZXJyb3I6IHllbGwsIHNjcmVhbSwgYW5kIGtpbmRseSBhc2sgZm9yIGhlbHAgYXQgaW5maW5pdGUtc2Nyb2xsLmNvbS4iKTtyLnN0YXRlLmlzSW52YWxpZFBhZ2U9dHJ1ZX19dGhpcy5fZGVidWcoImRldGVybWluZVBhdGgiLG4pO3JldHVybiBufSxfZXJyb3I6ZnVuY3Rpb24obil7dmFyIHI9dGhpcy5vcHRpb25zO2lmKCEhci5iZWhhdmlvciYmdGhpc1siX2Vycm9yXyIrci5iZWhhdmlvcl0hPT10KXt0aGlzWyJfZXJyb3JfIityLmJlaGF2aW9yXS5jYWxsKHRoaXMsbik7cmV0dXJufWlmKG4hPT0iZGVzdHJveSImJm4hPT0iZW5kIil7bj0idW5rbm93biJ9dGhpcy5fZGVidWcoIkVycm9yIixuKTtpZihuPT09ImVuZCJ8fHIuc3RhdGUuaXNCZXlvbmRNYXhQYWdlKXt0aGlzLl9zaG93ZG9uZW1zZygpfXIuc3RhdGUuaXNEb25lPXRydWU7ci5zdGF0ZS5jdXJyUGFnZT0xO3Iuc3RhdGUuaXNQYXVzZWQ9ZmFsc2U7ci5zdGF0ZS5pc0JleW9uZE1heFBhZ2U9ZmFsc2U7dGhpcy5fYmluZGluZygidW5iaW5kIil9LF9sb2FkY2FsbGJhY2s6ZnVuY3Rpb24ocixpLHMpe3ZhciBvPXRoaXMub3B0aW9ucyx1PXRoaXMub3B0aW9ucy5jYWxsYmFjayxhPW8uc3RhdGUuaXNEb25lPyJkb25lIjohby5hcHBlbmRDYWxsYmFjaz8ibm8tYXBwZW5kIjoiYXBwZW5kIixmO2lmKCEhby5iZWhhdmlvciYmdGhpc1siX2xvYWRjYWxsYmFja18iK28uYmVoYXZpb3JdIT09dCl7dGhpc1siX2xvYWRjYWxsYmFja18iK28uYmVoYXZpb3JdLmNhbGwodGhpcyxyLGkpO3JldHVybn1zd2l0Y2goYSl7Y2FzZSJkb25lIjp0aGlzLl9zaG93ZG9uZW1zZygpO3JldHVybiBmYWxzZTtjYXNlIm5vLWFwcGVuZCI6aWYoby5kYXRhVHlwZT09PSJodG1sIil7aT0iPGRpdj4iK2krIjwvZGl2PiI7aT1lKGkpLmZpbmQoby5pdGVtU2VsZWN0b3IpfWlmKGkubGVuZ3RoPT09MCl7cmV0dXJuIHRoaXMuX2Vycm9yKCJlbmQiKX1icmVhaztjYXNlImFwcGVuZCI6dmFyIGw9ci5jaGlsZHJlbigpO2lmKGwubGVuZ3RoPT09MCl7cmV0dXJuIHRoaXMuX2Vycm9yKCJlbmQiKX1mPWRvY3VtZW50LmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKTt3aGlsZShyWzBdLmZpcnN0Q2hpbGQpe2YuYXBwZW5kQ2hpbGQoclswXS5maXJzdENoaWxkKX10aGlzLl9kZWJ1ZygiY29udGVudFNlbGVjdG9yIixlKG8uY29udGVudFNlbGVjdG9yKVswXSk7ZShvLmNvbnRlbnRTZWxlY3RvcilbMF0uYXBwZW5kQ2hpbGQoZik7aT1sLmdldCgpO2JyZWFrfW8ubG9hZGluZy5maW5pc2hlZC5jYWxsKGUoby5jb250ZW50U2VsZWN0b3IpWzBdLG8pO2lmKG8uYW5pbWF0ZSl7dmFyIGM9ZSh3aW5kb3cpLnNjcm9sbFRvcCgpK2Uoby5sb2FkaW5nLm1zZykuaGVpZ2h0KCkrby5leHRyYVNjcm9sbFB4KyJweCI7ZSgiaHRtbCxib2R5IikuYW5pbWF0ZSh7c2Nyb2xsVG9wOmN9LDgwMCxmdW5jdGlvbigpe28uc3RhdGUuaXNEdXJpbmdBamF4PWZhbHNlfSl9aWYoIW8uYW5pbWF0ZSl7by5zdGF0ZS5pc0R1cmluZ0FqYXg9ZmFsc2V9dSh0aGlzLGkscyk7aWYoby5wcmVmaWxsKXt0aGlzLl9wcmVmaWxsKCl9fSxfbmVhcmJvdHRvbTpmdW5jdGlvbigpe3ZhciByPXRoaXMub3B0aW9ucyxpPTArZShkb2N1bWVudCkuaGVpZ2h0KCktci5iaW5kZXIuc2Nyb2xsVG9wKCktZSh3aW5kb3cpLmhlaWdodCgpO2lmKCEhci5iZWhhdmlvciYmdGhpc1siX25lYXJib3R0b21fIityLmJlaGF2aW9yXSE9PXQpe3JldHVybiB0aGlzWyJfbmVhcmJvdHRvbV8iK3IuYmVoYXZpb3JdLmNhbGwodGhpcyl9dGhpcy5fZGVidWcoIm1hdGg6IixpLHIucGl4ZWxzRnJvbU5hdlRvQm90dG9tKTtyZXR1cm4gaS1yLmJ1ZmZlclB4PHIucGl4ZWxzRnJvbU5hdlRvQm90dG9tfSxfcGF1c2luZzpmdW5jdGlvbihuKXt2YXIgcj10aGlzLm9wdGlvbnM7aWYoISFyLmJlaGF2aW9yJiZ0aGlzWyJfcGF1c2luZ18iK3IuYmVoYXZpb3JdIT09dCl7dGhpc1siX3BhdXNpbmdfIityLmJlaGF2aW9yXS5jYWxsKHRoaXMsbik7cmV0dXJufWlmKG4hPT0icGF1c2UiJiZuIT09InJlc3VtZSImJm4hPT1udWxsKXt0aGlzLl9kZWJ1ZygiSW52YWxpZCBhcmd1bWVudC4gVG9nZ2xpbmcgcGF1c2UgdmFsdWUgaW5zdGVhZCIpfW49biYmKG49PT0icGF1c2UifHxuPT09InJlc3VtZSIpP246InRvZ2dsZSI7c3dpdGNoKG4pe2Nhc2UicGF1c2UiOnIuc3RhdGUuaXNQYXVzZWQ9dHJ1ZTticmVhaztjYXNlInJlc3VtZSI6ci5zdGF0ZS5pc1BhdXNlZD1mYWxzZTticmVhaztjYXNlInRvZ2dsZSI6ci5zdGF0ZS5pc1BhdXNlZD0hci5zdGF0ZS5pc1BhdXNlZDticmVha310aGlzLl9kZWJ1ZygiUGF1c2VkIixyLnN0YXRlLmlzUGF1c2VkKTtyZXR1cm4gZmFsc2V9LF9zZXR1cDpmdW5jdGlvbigpe3ZhciBuPXRoaXMub3B0aW9ucztpZighIW4uYmVoYXZpb3ImJnRoaXNbIl9zZXR1cF8iK24uYmVoYXZpb3JdIT09dCl7dGhpc1siX3NldHVwXyIrbi5iZWhhdmlvcl0uY2FsbCh0aGlzKTtyZXR1cm59dGhpcy5fYmluZGluZygiYmluZCIpO3JldHVybiBmYWxzZX0sX3Nob3dkb25lbXNnOmZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5vcHRpb25zO2lmKCEhci5iZWhhdmlvciYmdGhpc1siX3Nob3dkb25lbXNnXyIrci5iZWhhdmlvcl0hPT10KXt0aGlzWyJfc2hvd2RvbmVtc2dfIityLmJlaGF2aW9yXS5jYWxsKHRoaXMpO3JldHVybn1yLmxvYWRpbmcubXNnLmZpbmQoImltZyIpLmhpZGUoKS5wYXJlbnQoKS5maW5kKCJkaXYiKS5odG1sKHIubG9hZGluZy5maW5pc2hlZE1zZykuYW5pbWF0ZSh7b3BhY2l0eToxfSwyZTMsZnVuY3Rpb24oKXtlKHRoaXMpLnBhcmVudCgpLmZhZGVPdXQoci5sb2FkaW5nLnNwZWVkKX0pO3IuZXJyb3JDYWxsYmFjay5jYWxsKGUoci5jb250ZW50U2VsZWN0b3IpWzBdLCJkb25lIil9LF92YWxpZGF0ZTpmdW5jdGlvbihuKXtmb3IodmFyIHIgaW4gbil7aWYoci5pbmRleE9mJiZyLmluZGV4T2YoIlNlbGVjdG9yIik+LTEmJmUobltyXSkubGVuZ3RoPT09MCl7dGhpcy5fZGVidWcoIllvdXIgIityKyIgZm91bmQgbm8gZWxlbWVudHMuIik7cmV0dXJuIGZhbHNlfX1yZXR1cm4gdHJ1ZX0sYmluZDpmdW5jdGlvbigpe3RoaXMuX2JpbmRpbmcoImJpbmQiKX0sZGVzdHJveTpmdW5jdGlvbigpe3RoaXMub3B0aW9ucy5zdGF0ZS5pc0Rlc3Ryb3llZD10cnVlO3RoaXMub3B0aW9ucy5sb2FkaW5nLmZpbmlzaGVkKCk7cmV0dXJuIHRoaXMuX2Vycm9yKCJkZXN0cm95Iil9LHBhdXNlOmZ1bmN0aW9uKCl7dGhpcy5fcGF1c2luZygicGF1c2UiKX0scmVzdW1lOmZ1bmN0aW9uKCl7dGhpcy5fcGF1c2luZygicmVzdW1lIil9LGJlZ2luQWpheDpmdW5jdGlvbihyKXt2YXIgaT10aGlzLHM9ci5wYXRoLG8sdSxhLGY7ci5zdGF0ZS5jdXJyUGFnZSsrO2lmKHIubWF4UGFnZSE9PXQmJnIuc3RhdGUuY3VyclBhZ2U+ci5tYXhQYWdlKXtyLnN0YXRlLmlzQmV5b25kTWF4UGFnZT10cnVlO3RoaXMuZGVzdHJveSgpO3JldHVybn1vPWUoci5jb250ZW50U2VsZWN0b3IpLmlzKCJ0YWJsZSwgdGJvZHkiKT9lKCI8dGJvZHkvPiIpOmUoIjxkaXYvPiIpO3U9dHlwZW9mIHM9PT0iZnVuY3Rpb24iP3Moci5zdGF0ZS5jdXJyUGFnZSk6cy5qb2luKHIuc3RhdGUuY3VyclBhZ2UpO2kuX2RlYnVnKCJoZWFkaW5nIGludG8gYWpheCIsdSk7YT1yLmRhdGFUeXBlPT09Imh0bWwifHxyLmRhdGFUeXBlPT09Impzb24iP3IuZGF0YVR5cGU6Imh0bWwrY2FsbGJhY2siO2lmKHIuYXBwZW5kQ2FsbGJhY2smJnIuZGF0YVR5cGU9PT0iaHRtbCIpe2ErPSIrY2FsbGJhY2sifXN3aXRjaChhKXtjYXNlImh0bWwrY2FsbGJhY2siOmkuX2RlYnVnKCJVc2luZyBIVE1MIHZpYSAubG9hZCgpIG1ldGhvZCIpO28ubG9hZCh1KyIgIityLml0ZW1TZWxlY3Rvcix0LGZ1bmN0aW9uKHQpe2kuX2xvYWRjYWxsYmFjayhvLHQsdSl9KTticmVhaztjYXNlImh0bWwiOmkuX2RlYnVnKCJVc2luZyAiK2EudG9VcHBlckNhc2UoKSsiIHZpYSAkLmFqYXgoKSBtZXRob2QiKTtlLmFqYXgoe3VybDp1LGRhdGFUeXBlOnIuZGF0YVR5cGUsY29tcGxldGU6ZnVuY3Rpb24odCxuKXtmPXR5cGVvZiB0LmlzUmVzb2x2ZWQhPT0idW5kZWZpbmVkIj90LmlzUmVzb2x2ZWQoKTpuPT09InN1Y2Nlc3MifHxuPT09Im5vdG1vZGlmaWVkIjtpZihmKXtpLl9sb2FkY2FsbGJhY2sobyx0LnJlc3BvbnNlVGV4dCx1KX1lbHNle2kuX2Vycm9yKCJlbmQiKX19fSk7YnJlYWs7Y2FzZSJqc29uIjppLl9kZWJ1ZygiVXNpbmcgIithLnRvVXBwZXJDYXNlKCkrIiB2aWEgJC5hamF4KCkgbWV0aG9kIik7ZS5hamF4KHtkYXRhVHlwZToianNvbiIsdHlwZToiR0VUIix1cmw6dSxzdWNjZXNzOmZ1bmN0aW9uKGUsbixzKXtmPXR5cGVvZiBzLmlzUmVzb2x2ZWQhPT0idW5kZWZpbmVkIj9zLmlzUmVzb2x2ZWQoKTpuPT09InN1Y2Nlc3MifHxuPT09Im5vdG1vZGlmaWVkIjtpZihyLmFwcGVuZENhbGxiYWNrKXtpZihyLnRlbXBsYXRlIT09dCl7dmFyIGE9ci50ZW1wbGF0ZShlKTtvLmFwcGVuZChhKTtpZihmKXtpLl9sb2FkY2FsbGJhY2sobyxhKX1lbHNle2kuX2Vycm9yKCJlbmQiKX19ZWxzZXtpLl9kZWJ1ZygidGVtcGxhdGUgbXVzdCBiZSBkZWZpbmVkLiIpO2kuX2Vycm9yKCJlbmQiKX19ZWxzZXtpZihmKXtpLl9sb2FkY2FsbGJhY2sobyxlLHUpfWVsc2V7aS5fZXJyb3IoImVuZCIpfX19LGVycm9yOmZ1bmN0aW9uKCl7aS5fZGVidWcoIkpTT04gYWpheCByZXF1ZXN0IGZhaWxlZC4iKTtpLl9lcnJvcigiZW5kIil9fSk7YnJlYWt9fSxyZXRyaWV2ZTpmdW5jdGlvbihyKXtyPXJ8fG51bGw7dmFyIGk9dGhpcyxzPWkub3B0aW9ucztpZighIXMuYmVoYXZpb3ImJnRoaXNbInJldHJpZXZlXyIrcy5iZWhhdmlvcl0hPT10KXt0aGlzWyJyZXRyaWV2ZV8iK3MuYmVoYXZpb3JdLmNhbGwodGhpcyxyKTtyZXR1cm59aWYocy5zdGF0ZS5pc0Rlc3Ryb3llZCl7dGhpcy5fZGVidWcoIkluc3RhbmNlIGlzIGRlc3Ryb3llZCIpO3JldHVybiBmYWxzZX1zLnN0YXRlLmlzRHVyaW5nQWpheD10cnVlO3MubG9hZGluZy5zdGFydC5jYWxsKGUocy5jb250ZW50U2VsZWN0b3IpWzBdLHMpfSxzY3JvbGw6ZnVuY3Rpb24oKXt2YXIgbj10aGlzLm9wdGlvbnMscj1uLnN0YXRlO2lmKCEhbi5iZWhhdmlvciYmdGhpc1sic2Nyb2xsXyIrbi5iZWhhdmlvcl0hPT10KXt0aGlzWyJzY3JvbGxfIituLmJlaGF2aW9yXS5jYWxsKHRoaXMpO3JldHVybn1pZihyLmlzRHVyaW5nQWpheHx8ci5pc0ludmFsaWRQYWdlfHxyLmlzRG9uZXx8ci5pc0Rlc3Ryb3llZHx8ci5pc1BhdXNlZCl7cmV0dXJufWlmKCF0aGlzLl9uZWFyYm90dG9tKCkpe3JldHVybn10aGlzLnJldHJpZXZlKCl9LHRvZ2dsZTpmdW5jdGlvbigpe3RoaXMuX3BhdXNpbmcoKX0sdW5iaW5kOmZ1bmN0aW9uKCl7dGhpcy5fYmluZGluZygidW5iaW5kIil9LHVwZGF0ZTpmdW5jdGlvbihuKXtpZihlLmlzUGxhaW5PYmplY3Qobikpe3RoaXMub3B0aW9ucz1lLmV4dGVuZCh0cnVlLHRoaXMub3B0aW9ucyxuKX19fTtlLmZuLmluZmluaXRlc2Nyb2xsPWZ1bmN0aW9uKG4scil7dmFyIGk9dHlwZW9mIG47c3dpdGNoKGkpe2Nhc2Uic3RyaW5nIjp2YXIgcz1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSk7dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9ZS5kYXRhKHRoaXMsImluZmluaXRlc2Nyb2xsIik7aWYoIXQpe3JldHVybiBmYWxzZX1pZighZS5pc0Z1bmN0aW9uKHRbbl0pfHxuLmNoYXJBdCgwKT09PSJfIil7cmV0dXJuIGZhbHNlfXRbbl0uYXBwbHkodCxzKX0pO2JyZWFrO2Nhc2Uib2JqZWN0Ijp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgdD1lLmRhdGEodGhpcywiaW5maW5pdGVzY3JvbGwiKTtpZih0KXt0LnVwZGF0ZShuKX1lbHNle3Q9bmV3IGUuaW5maW5pdGVzY3JvbGwobixyLHRoaXMpO2lmKCF0LmZhaWxlZCl7ZS5kYXRhKHRoaXMsImluZmluaXRlc2Nyb2xsIix0KX19fSk7YnJlYWt9cmV0dXJuIHRoaXN9O3ZhciBuPWUuZXZlbnQscjtuLnNwZWNpYWwuc21hcnRzY3JvbGw9e3NldHVwOmZ1bmN0aW9uKCl7ZSh0aGlzKS5iaW5kKCJzY3JvbGwiLG4uc3BlY2lhbC5zbWFydHNjcm9sbC5oYW5kbGVyKX0sdGVhcmRvd246ZnVuY3Rpb24oKXtlKHRoaXMpLnVuYmluZCgic2Nyb2xsIixuLnNwZWNpYWwuc21hcnRzY3JvbGwuaGFuZGxlcil9LGhhbmRsZXI6ZnVuY3Rpb24odCxuKXt2YXIgaT10aGlzLHM9YXJndW1lbnRzO3QudHlwZT0ic21hcnRzY3JvbGwiO2lmKHIpe2NsZWFyVGltZW91dChyKX1yPXNldFRpbWVvdXQoZnVuY3Rpb24oKXtlKGkpLnRyaWdnZXIoInNtYXJ0c2Nyb2xsIixzKX0sbj09PSJleGVjQXNhcCI/MDoxMDApfX07ZS5mbi5zbWFydHNjcm9sbD1mdW5jdGlvbihlKXtyZXR1cm4gZT90aGlzLmJpbmQoInNtYXJ0c2Nyb2xsIixlKTp0aGlzLnRyaWdnZXIoInNtYXJ0c2Nyb2xsIixbImV4ZWNBc2FwIl0pfX0pOw0KDQovKg0KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJSW5maW5pdGUgU2Nyb2xsIEJlaGF2aW9yDQoJTWFudWFsIC8gVHdpdHRlci1zdHlsZQ0KCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJDQoqLw0KJC5leHRlbmQoJC5pbmZpbml0ZXNjcm9sbC5wcm90b3R5cGUse19zZXR1cF90d2l0dGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGU9dGhpczskKHQubmV4dFNlbGVjdG9yKS5jbGljayhmdW5jdGlvbih0KXsxIT10LndoaWNofHx0Lm1ldGFLZXl8fHQuc2hpZnRLZXl8fCh0LnByZXZlbnREZWZhdWx0KCksZS5yZXRyaWV2ZSgpKX0pLGUub3B0aW9ucy5sb2FkaW5nLnN0YXJ0PWZ1bmN0aW9uKHQpe3QubG9hZGluZy5tc2cuYXBwZW5kVG8odC5sb2FkaW5nLnNlbGVjdG9yKS5zaG93KHQubG9hZGluZy5zcGVlZCxmdW5jdGlvbigpe2UuYmVnaW5BamF4KHQpfSl9fSxfc2hvd2RvbmVtc2dfdHdpdHRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9uczt0LmxvYWRpbmcubXNnLmZpbmQoImltZyIpLmhpZGUoKS5wYXJlbnQoKS5maW5kKCJkaXYiKS5odG1sKHQubG9hZGluZy5maW5pc2hlZE1zZykuYW5pbWF0ZSh7b3BhY2l0eToxfSwyZTMsZnVuY3Rpb24oKXskKHRoaXMpLnBhcmVudCgpLmZhZGVPdXQoIm5vcm1hbCIpfSksJCh0Lm5hdlNlbGVjdG9yKS5mYWRlT3V0KCJub3JtYWwiKSx0LmVycm9yQ2FsbGJhY2suY2FsbCgkKHQuY29udGVudFNlbGVjdG9yKVswXSwiZG9uZSIpfX0pOw0KDQoNCi8qDQogKiAgalF1ZXJ5IFBhZ2luYXRpb24gUGx1Z2luDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCg0KLyoNClBhamluYXRlIC0galF1ZXJ5IFBhZ2luYXRpb24gUGx1Z2luDQpBdXRob3I6ICAgIFdlc2xleSBOb2x0ZQ0KKi8NCjsoZnVuY3Rpb24oJCl7JC5mbi5wYWppbmF0ZT1mdW5jdGlvbihvcHRpb25zKXt2YXIgY3VycmVudF9wYWdlPSJjdXJyZW50X3BhZ2UiO3ZhciBpdGVtc19wZXJfcGFnZT0iaXRlbXNfcGVyX3BhZ2UiO3ZhciBtZXRhO3ZhciBkZWZhdWx0cz17aXRlbV9jb250YWluZXJfaWQ6Ii5jb250ZW50IixpdGVtc19wZXJfcGFnZToxMCxuYXZfcGFuZWxfaWQ6Ii5wYWdlX25hdmlnYXRpb24iLG5hdl9pbmZvX2lkOiIuaW5mb190ZXh0IixudW1fcGFnZV9saW5rc190b19kaXNwbGF5OjIwLHN0YXJ0X3BhZ2U6MCx3cmFwX2Fyb3VuZDpmYWxzZSxuYXZfbGFiZWxfZmlyc3Q6IkZpcnN0IixuYXZfbGFiZWxfcHJldjoiUHJldiIsbmF2X2xhYmVsX25leHQ6Ik5leHQiLG5hdl9sYWJlbF9sYXN0OiJMYXN0IixuYXZfb3JkZXI6WyJmaXJzdCIsInByZXYiLCJudW0iLCJuZXh0IiwibGFzdCJdLG5hdl9sYWJlbF9pbmZvOiJTaG93aW5nIHswfS17MX0gb2YgezJ9IHJlc3VsdHMiLHNob3dfZmlyc3RfbGFzdDp0cnVlLGFib3J0X29uX3NtYWxsX2xpc3RzOmZhbHNlLGpxdWVyeV91aTpmYWxzZSxqcXVlcnlfdWlfYWN0aXZlOiJ1aS1zdGF0ZS1oaWdobGlnaHQiLGpxdWVyeV91aV9kZWZhdWx0OiJ1aS1zdGF0ZS1kZWZhdWx0IixqcXVlcnlfdWlfZGlzYWJsZWQ6InVpLXN0YXRlLWRpc2FibGVkIn07dmFyIG9wdGlvbnM9JC5leHRlbmQoZGVmYXVsdHMsb3B0aW9ucyk7dmFyICRpdGVtX2NvbnRhaW5lcjt2YXIgJHBhZ2VfY29udGFpbmVyO3ZhciAkaXRlbXM7dmFyICRuYXZfcGFuZWxzO3ZhciB0b3RhbF9wYWdlX25vX2xpbmtzO3ZhciBqcXVlcnlfdWlfZGVmYXVsdF9jbGFzcz1vcHRpb25zLmpxdWVyeV91aT9vcHRpb25zLmpxdWVyeV91aV9kZWZhdWx0OiIiO3ZhciBqcXVlcnlfdWlfYWN0aXZlX2NsYXNzPW9wdGlvbnMuanF1ZXJ5X3VpP29wdGlvbnMuanF1ZXJ5X3VpX2FjdGl2ZToiIjt2YXIganF1ZXJ5X3VpX2Rpc2FibGVkX2NsYXNzPW9wdGlvbnMuanF1ZXJ5X3VpP29wdGlvbnMuanF1ZXJ5X3VpX2Rpc2FibGVkOiIiO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXskcGFnZV9jb250YWluZXI9JCh0aGlzKTskaXRlbV9jb250YWluZXI9JCh0aGlzKS5maW5kKG9wdGlvbnMuaXRlbV9jb250YWluZXJfaWQpOyRpdGVtcz0kcGFnZV9jb250YWluZXIuZmluZChvcHRpb25zLml0ZW1fY29udGFpbmVyX2lkKS5jaGlsZHJlbigpO2lmKG9wdGlvbnMuYWJvcnRfb25fc21hbGxfbGlzdHMmJm9wdGlvbnMuaXRlbXNfcGVyX3BhZ2U+PSRpdGVtcy5zaXplKCkpe3JldHVybiAkcGFnZV9jb250YWluZXJ9bWV0YT0kcGFnZV9jb250YWluZXI7bWV0YS5kYXRhKGN1cnJlbnRfcGFnZSwwKTttZXRhLmRhdGEoaXRlbXNfcGVyX3BhZ2Usb3B0aW9ucy5pdGVtc19wZXJfcGFnZSk7dmFyIHRvdGFsX2l0ZW1zPSRpdGVtX2NvbnRhaW5lci5jaGlsZHJlbigpLnNpemUoKTt2YXIgbnVtYmVyX29mX3BhZ2VzPU1hdGguY2VpbCh0b3RhbF9pdGVtcy9vcHRpb25zLml0ZW1zX3Blcl9wYWdlKTt2YXIgbW9yZT0nPGxpIGNsYXNzPSJkaXNhYmxlZCBlbGxpcHNlIG1vcmUiPjxzcGFuPi4uLjwvc3Bhbj48L2xpPic7dmFyIGxlc3M9JzxsaSBjbGFzcz0iZGlzYWJsZWQgZWxsaXBzZSBsZXNzIj48c3Bhbj4uLi48L3NwYW4+PC9saT4nO3ZhciBmaXJzdD0hb3B0aW9ucy5zaG93X2ZpcnN0X2xhc3Q/IiI6JzxsaSBjbGFzcz0iZmlyc3RfbGluayAnK2pxdWVyeV91aV9kZWZhdWx0X2NsYXNzKyciPjxhIGhyZWY9IiMiPicrb3B0aW9ucy5uYXZfbGFiZWxfZmlyc3QrIjwvYT48L2xpPiI7dmFyIGxhc3Q9IW9wdGlvbnMuc2hvd19maXJzdF9sYXN0PyIiOic8bGkgY2xhc3M9Imxhc3RfbGluayAnK2pxdWVyeV91aV9kZWZhdWx0X2NsYXNzKyciPjxhIGhyZWY9IiMiPicrb3B0aW9ucy5uYXZfbGFiZWxfbGFzdCsiPC9hPjwvbGk+Ijt2YXIgbmF2aWdhdGlvbl9odG1sPSIiO2Zvcih2YXIgaT0wO2k8b3B0aW9ucy5uYXZfb3JkZXIubGVuZ3RoO2krKyl7c3dpdGNoKG9wdGlvbnMubmF2X29yZGVyW2ldKXtjYXNlImZpcnN0IjpuYXZpZ2F0aW9uX2h0bWwrPWZpcnN0O2JyZWFrO2Nhc2UibGFzdCI6bmF2aWdhdGlvbl9odG1sKz1sYXN0O2JyZWFrO2Nhc2UibmV4dCI6bmF2aWdhdGlvbl9odG1sKz0nPGxpIGNsYXNzPSJuZXh0X2xpbmsgJytqcXVlcnlfdWlfZGVmYXVsdF9jbGFzcysnIj48YSBocmVmPSIjIj4nK29wdGlvbnMubmF2X2xhYmVsX25leHQrIjwvYT48L2xpPiI7YnJlYWs7Y2FzZSJwcmV2IjpuYXZpZ2F0aW9uX2h0bWwrPSc8bGkgY2xhc3M9InByZXZpb3VzX2xpbmsgJytqcXVlcnlfdWlfZGVmYXVsdF9jbGFzcysnIj48YSBocmVmPSIjIj4nK29wdGlvbnMubmF2X2xhYmVsX3ByZXYrIjwvYT48L2xpPiI7YnJlYWs7Y2FzZSJudW0iOm5hdmlnYXRpb25faHRtbCs9bGVzczt2YXIgY3VycmVudF9saW5rPTA7d2hpbGUobnVtYmVyX29mX3BhZ2VzPmN1cnJlbnRfbGluayl7bmF2aWdhdGlvbl9odG1sKz0nPGxpIGNsYXNzPSJwYWdlX2xpbmsgJytqcXVlcnlfdWlfZGVmYXVsdF9jbGFzcysnIiBsb25nZGVzYz0iJytjdXJyZW50X2xpbmsrJyI+PGEgaHJlZj0iIyI+JysoY3VycmVudF9saW5rKzEpKyI8L2E+PC9saT4iO2N1cnJlbnRfbGluaysrfW5hdmlnYXRpb25faHRtbCs9bW9yZTticmVhaztkZWZhdWx0OmJyZWFrfX0kbmF2X3BhbmVscz0kcGFnZV9jb250YWluZXIuZmluZChvcHRpb25zLm5hdl9wYW5lbF9pZCk7JG5hdl9wYW5lbHMuaHRtbChuYXZpZ2F0aW9uX2h0bWwpLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmZpbmQoIi5wYWdlX2xpbms6Zmlyc3QiKS5hZGRDbGFzcygiZmlyc3QiKTskKHRoaXMpLmZpbmQoIi5wYWdlX2xpbms6bGFzdCIpLmFkZENsYXNzKCJsYXN0Iil9KTskbmF2X3BhbmVscy5jaGlsZHJlbigiLmVsbGlwc2UiKS5oaWRlKCk7JG5hdl9wYW5lbHMuZmluZCgiLnByZXZpb3VzX2xpbmsiKS5uZXh0KCkubmV4dCgpLmFkZENsYXNzKCJhY3RpdmUgIitqcXVlcnlfdWlfYWN0aXZlX2NsYXNzKTskaXRlbXMuaGlkZSgpOyRpdGVtcy5zbGljZSgwLG1ldGEuZGF0YShpdGVtc19wZXJfcGFnZSkpLnNob3coKTt0b3RhbF9wYWdlX25vX2xpbmtzPSRwYWdlX2NvbnRhaW5lci5maW5kKG9wdGlvbnMubmF2X3BhbmVsX2lkKyI6Zmlyc3QiKS5jaGlsZHJlbigiLnBhZ2VfbGluayIpLnNpemUoKTtvcHRpb25zLm51bV9wYWdlX2xpbmtzX3RvX2Rpc3BsYXk9TWF0aC5taW4ob3B0aW9ucy5udW1fcGFnZV9saW5rc190b19kaXNwbGF5LHRvdGFsX3BhZ2Vfbm9fbGlua3MpOyRuYXZfcGFuZWxzLmNoaWxkcmVuKCIucGFnZV9saW5rIikuaGlkZSgpOyRuYXZfcGFuZWxzLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmNoaWxkcmVuKCIucGFnZV9saW5rIikuc2xpY2UoMCxvcHRpb25zLm51bV9wYWdlX2xpbmtzX3RvX2Rpc3BsYXkpLnNob3coKX0pOyRwYWdlX2NvbnRhaW5lci5maW5kKCIuZmlyc3RfbGluayIpLmNsaWNrKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTttb3ZlUGFnZU51bWJlcnNSaWdodCgkKHRoaXMpLDApO2dvdG9wYWdlKDApfSk7JHBhZ2VfY29udGFpbmVyLmZpbmQoIi5sYXN0X2xpbmsiKS5jbGljayhmdW5jdGlvbihlKXtlLnByZXZlbnREZWZhdWx0KCk7dmFyIGxhc3RQYWdlPXRvdGFsX3BhZ2Vfbm9fbGlua3MtMTttb3ZlUGFnZU51bWJlcnNMZWZ0KCQodGhpcyksbGFzdFBhZ2UpO2dvdG9wYWdlKGxhc3RQYWdlKX0pOyRwYWdlX2NvbnRhaW5lci5maW5kKCIucHJldmlvdXNfbGluayIpLmNsaWNrKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtzaG93UHJldlBhZ2UoJCh0aGlzKSl9KTskcGFnZV9jb250YWluZXIuZmluZCgiLm5leHRfbGluayIpLmNsaWNrKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtzaG93TmV4dFBhZ2UoJCh0aGlzKSl9KTskcGFnZV9jb250YWluZXIuZmluZCgiLnBhZ2VfbGluayIpLmNsaWNrKGZ1bmN0aW9uKGUpe2UucHJldmVudERlZmF1bHQoKTtnb3RvcGFnZSgkKHRoaXMpLmF0dHIoImxvbmdkZXNjIikpfSk7Z290b3BhZ2UocGFyc2VJbnQob3B0aW9ucy5zdGFydF9wYWdlKSk7dG9nZ2xlTW9yZUxlc3MoKTtpZighb3B0aW9ucy53cmFwX2Fyb3VuZCl7dGFnTmV4dFByZXYoKX19KTtmdW5jdGlvbiBzaG93UHJldlBhZ2UoZSl7bmV3X3BhZ2U9cGFyc2VJbnQobWV0YS5kYXRhKGN1cnJlbnRfcGFnZSkpLTE7aWYoJChlKS5zaWJsaW5ncygiLmFjdGl2ZSIpLnByZXYoIi5wYWdlX2xpbmsiKS5sZW5ndGg9PXRydWUpe21vdmVQYWdlTnVtYmVyc1JpZ2h0KGUsbmV3X3BhZ2UpO2dvdG9wYWdlKG5ld19wYWdlKX1lbHNle2lmKG9wdGlvbnMud3JhcF9hcm91bmQpe2dvdG9wYWdlKHRvdGFsX3BhZ2Vfbm9fbGlua3MtMSl9fX1mdW5jdGlvbiBzaG93TmV4dFBhZ2UoZSl7bmV3X3BhZ2U9cGFyc2VJbnQobWV0YS5kYXRhKGN1cnJlbnRfcGFnZSkpKzE7aWYoJChlKS5zaWJsaW5ncygiLmFjdGl2ZSIpLm5leHQoIi5wYWdlX2xpbmsiKS5sZW5ndGg9PXRydWUpe21vdmVQYWdlTnVtYmVyc0xlZnQoZSxuZXdfcGFnZSk7Z290b3BhZ2UobmV3X3BhZ2UpfWVsc2V7aWYob3B0aW9ucy53cmFwX2Fyb3VuZCl7Z290b3BhZ2UoMCl9fX1mdW5jdGlvbiBnb3RvcGFnZShwYWdlX251bSl7cGFnZV9udW09cGFyc2VJbnQocGFnZV9udW0sMTApO3ZhciBpcHA9cGFyc2VJbnQobWV0YS5kYXRhKGl0ZW1zX3Blcl9wYWdlKSk7c3RhcnRfZnJvbT1wYWdlX251bSppcHA7ZW5kX29uPXN0YXJ0X2Zyb20raXBwO3ZhciBpdGVtcz0kaXRlbXMuaGlkZSgpLnNsaWNlKHN0YXJ0X2Zyb20sZW5kX29uKTtpdGVtcy5mYWRlSW4oNzAwKTskcGFnZV9jb250YWluZXIuZmluZChvcHRpb25zLm5hdl9wYW5lbF9pZCkuY2hpbGRyZW4oIi5wYWdlX2xpbmtbbG9uZ2Rlc2M9IitwYWdlX251bSsiXSIpLmFkZENsYXNzKCJhY3RpdmUgIitqcXVlcnlfdWlfYWN0aXZlX2NsYXNzKS5zaWJsaW5ncygiLmFjdGl2ZSIpLnJlbW92ZUNsYXNzKCJhY3RpdmUgIitqcXVlcnlfdWlfYWN0aXZlX2NsYXNzKTttZXRhLmRhdGEoY3VycmVudF9wYWdlLHBhZ2VfbnVtKTt2YXIgJGN1cnJlbnRfcGFnZT1wYXJzZUludChtZXRhLmRhdGEoY3VycmVudF9wYWdlKSsxKTt2YXIgdG90YWxfaXRlbXM9JGl0ZW1fY29udGFpbmVyLmNoaWxkcmVuKCkuc2l6ZSgpO3ZhciAkbnVtYmVyX29mX3BhZ2VzPU1hdGguY2VpbCh0b3RhbF9pdGVtcy9vcHRpb25zLml0ZW1zX3Blcl9wYWdlKTskcGFnZV9jb250YWluZXIuZmluZChvcHRpb25zLm5hdl9pbmZvX2lkKS5odG1sKG9wdGlvbnMubmF2X2xhYmVsX2luZm8ucmVwbGFjZSgiezB9IixzdGFydF9mcm9tKzEpLnJlcGxhY2UoInsxfSIsc3RhcnRfZnJvbStpdGVtcy5sZW5ndGgpLnJlcGxhY2UoInsyfSIsJGl0ZW1zLmxlbmd0aCkucmVwbGFjZSgiezN9IiwkY3VycmVudF9wYWdlKS5yZXBsYWNlKCJ7NH0iLCRudW1iZXJfb2ZfcGFnZXMpKTt0b2dnbGVNb3JlTGVzcygpO3RhZ05leHRQcmV2KCk7aWYodHlwZW9mKG9wdGlvbnMub25QYWdlRGlzcGxheWVkKSE9PSJ1bmRlZmluZWQiKXtvcHRpb25zLm9uUGFnZURpc3BsYXllZC5jYWxsKHRoaXMscGFnZV9udW0rMSl9fWZ1bmN0aW9uIG1vdmVQYWdlTnVtYmVyc0xlZnQoZSxuZXdfcCl7dmFyIG5ld19wYWdlPW5ld19wO3ZhciAkY3VycmVudF9hY3RpdmVfbGluaz0kKGUpLnNpYmxpbmdzKCIuYWN0aXZlIik7aWYoJGN1cnJlbnRfYWN0aXZlX2xpbmsuc2libGluZ3MoIi5wYWdlX2xpbmtbbG9uZ2Rlc2M9IituZXdfcGFnZSsiXSIpLmNzcygiZGlzcGxheSIpPT0ibm9uZSIpeyRuYXZfcGFuZWxzLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmNoaWxkcmVuKCIucGFnZV9saW5rIikuaGlkZSgpLnNsaWNlKHBhcnNlSW50KG5ld19wYWdlLW9wdGlvbnMubnVtX3BhZ2VfbGlua3NfdG9fZGlzcGxheSsxKSxuZXdfcGFnZSsxKS5zaG93KCl9KX19ZnVuY3Rpb24gbW92ZVBhZ2VOdW1iZXJzUmlnaHQoZSxuZXdfcCl7dmFyIG5ld19wYWdlPW5ld19wO3ZhciAkY3VycmVudF9hY3RpdmVfbGluaz0kKGUpLnNpYmxpbmdzKCIuYWN0aXZlIik7aWYoJGN1cnJlbnRfYWN0aXZlX2xpbmsuc2libGluZ3MoIi5wYWdlX2xpbmtbbG9uZ2Rlc2M9IituZXdfcGFnZSsiXSIpLmNzcygiZGlzcGxheSIpPT0ibm9uZSIpeyRuYXZfcGFuZWxzLmVhY2goZnVuY3Rpb24oKXskKHRoaXMpLmNoaWxkcmVuKCIucGFnZV9saW5rIikuaGlkZSgpLnNsaWNlKG5ld19wYWdlLG5ld19wYWdlK3BhcnNlSW50KG9wdGlvbnMubnVtX3BhZ2VfbGlua3NfdG9fZGlzcGxheSkpLnNob3coKX0pfX1mdW5jdGlvbiB0b2dnbGVNb3JlTGVzcygpe31mdW5jdGlvbiB0YWdOZXh0UHJldigpe2lmKCRuYXZfcGFuZWxzLmNoaWxkcmVuKCIubGFzdCIpLmhhc0NsYXNzKCJhY3RpdmUiKSl7JG5hdl9wYW5lbHMuY2hpbGRyZW4oIi5uZXh0X2xpbmsiKS5hZGQoIi5sYXN0X2xpbmsiKS5hZGRDbGFzcygibm9fbW9yZSAiK2pxdWVyeV91aV9kaXNhYmxlZF9jbGFzcyl9ZWxzZXskbmF2X3BhbmVscy5jaGlsZHJlbigiLm5leHRfbGluayIpLmFkZCgiLmxhc3RfbGluayIpLnJlbW92ZUNsYXNzKCJub19tb3JlICIranF1ZXJ5X3VpX2Rpc2FibGVkX2NsYXNzKX1pZigkbmF2X3BhbmVscy5jaGlsZHJlbigiLmZpcnN0IikuaGFzQ2xhc3MoImFjdGl2ZSIpKXskbmF2X3BhbmVscy5jaGlsZHJlbigiLnByZXZpb3VzX2xpbmsiKS5hZGQoIi5maXJzdF9saW5rIikuYWRkQ2xhc3MoIm5vX21vcmUgIitqcXVlcnlfdWlfZGlzYWJsZWRfY2xhc3MpfWVsc2V7JG5hdl9wYW5lbHMuY2hpbGRyZW4oIi5wcmV2aW91c19saW5rIikuYWRkKCIuZmlyc3RfbGluayIpLnJlbW92ZUNsYXNzKCJub19tb3JlICIranF1ZXJ5X3VpX2Rpc2FibGVkX2NsYXNzKX19fX0pKGpRdWVyeSk7DQoNCi8qDQogKiAgVmlkZSBqUXVlcnkgcGx1Z2luIGZvciB2aWRlbyBiYWNrZ3JvdW5kcw0KICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiovDQovKg0KVmlkZQ0KRWFzeSBhcyBoZWxsIGpRdWVyeSBwbHVnaW4gZm9yIHZpZGVvIGJhY2tncm91bmRzLg0KaHR0cHM6Ly9naXRodWIuY29tL1ZvZGthQmVhcnMvVmlkZQ0KKi8NCg0KIWZ1bmN0aW9uKGUsdCl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiXSx0KTp0KCJvYmplY3QiPT10eXBlb2YgZXhwb3J0cz9yZXF1aXJlKCJqcXVlcnkiKTplLmpRdWVyeSl9KHRoaXMsZnVuY3Rpb24oZSl7InVzZSBzdHJpY3QiO2Z1bmN0aW9uIHQoZSl7dmFyIHQsbyxpLHIscyxuLGEscD17fTtmb3Iocz1lLnJlcGxhY2UoL1xzKjpccyovZywiOiIpLnJlcGxhY2UoL1xzKixccyovZywiLCIpLnNwbGl0KCIsIiksYT0wLG49cy5sZW5ndGg7bj5hJiYobz1zW2FdLC0xPT09by5zZWFyY2goL14oaHR0cHxodHRwc3xmdHApOlwvXC8vKSYmLTEhPT1vLnNlYXJjaCgiOiIpKTthKyspdD1vLmluZGV4T2YoIjoiKSxpPW8uc3Vic3RyaW5nKDAsdCkscj1vLnN1YnN0cmluZyh0KzEpLHJ8fChyPXZvaWQgMCksInN0cmluZyI9PXR5cGVvZiByJiYocj0idHJ1ZSI9PT1yfHwoImZhbHNlIj09PXI/ITE6cikpLCJzdHJpbmciPT10eXBlb2YgciYmKHI9aXNOYU4ocik/cjorcikscFtpXT1yO3JldHVybiBudWxsPT1pJiZudWxsPT1yP2U6cH1mdW5jdGlvbiBvKGUpe2U9IiIrZTt2YXIgdCxvLGkscj1lLnNwbGl0KC9ccysvKSxzPSI1MCUiLG49IjUwJSI7Zm9yKGk9MCx0PXIubGVuZ3RoO3Q+aTtpKyspbz1yW2ldLCJsZWZ0Ij09PW8/cz0iMCUiOiJyaWdodCI9PT1vP3M9IjEwMCUiOiJ0b3AiPT09bz9uPSIwJSI6ImJvdHRvbSI9PT1vP249IjEwMCUiOiJjZW50ZXIiPT09bz8wPT09aT9zPSI1MCUiOm49IjUwJSI6MD09PWk/cz1vOm49bztyZXR1cm57eDpzLHk6bn19ZnVuY3Rpb24gaSh0LG8pe3ZhciBpPWZ1bmN0aW9uKCl7byh0aGlzLnNyYyl9O2UoJzxpbWcgc3JjPSInK3QrJy5naWYiPicpLmxvYWQoaSksZSgnPGltZyBzcmM9IicrdCsnLmpwZyI+JykubG9hZChpKSxlKCc8aW1nIHNyYz0iJyt0KycuanBlZyI+JykubG9hZChpKSxlKCc8aW1nIHNyYz0iJyt0KycucG5nIj4nKS5sb2FkKGkpfWZ1bmN0aW9uIHIobyxpLHIpe2lmKHRoaXMuJGVsZW1lbnQ9ZShvKSwic3RyaW5nIj09dHlwZW9mIGkmJihpPXQoaSkpLHI/InN0cmluZyI9PXR5cGVvZiByJiYocj10KHIpKTpyPXt9LCJzdHJpbmciPT10eXBlb2YgaSlpPWkucmVwbGFjZSgvXC5cdyokLywiIik7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGkpZm9yKHZhciBzIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShzKSYmKGlbc109aVtzXS5yZXBsYWNlKC9cLlx3KiQvLCIiKSk7dGhpcy5zZXR0aW5ncz1lLmV4dGVuZCh7fSxuLHIpLHRoaXMucGF0aD1pO3RyeXt0aGlzLmluaXQoKX1jYXRjaChwKXtpZihwLm1lc3NhZ2UhPT1hKXRocm93IHB9fXZhciBzPSJ2aWRlIixuPXt2b2x1bWU6MSxwbGF5YmFja1JhdGU6MSxtdXRlZDohMCxsb29wOiEwLGF1dG9wbGF5OiEwLHBvc2l0aW9uOiI1MCUgNTAlIixwb3N0ZXJUeXBlOiJkZXRlY3QiLHJlc2l6aW5nOiEwLGJnQ29sb3I6InRyYW5zcGFyZW50IixjbGFzc05hbWU6IiJ9LGE9Ik5vdCBpbXBsZW1lbnRlZCI7ci5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3ZhciB0LHIsbj10aGlzLHA9bi5wYXRoLGM9cCxkPSIiLHU9bi4kZWxlbWVudCxsPW4uc2V0dGluZ3MsZz1vKGwucG9zaXRpb24pLGY9bC5wb3N0ZXJUeXBlO3I9bi4kd3JhcHBlcj1lKCI8ZGl2PiIpLmFkZENsYXNzKGwuY2xhc3NOYW1lKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOi0xLHRvcDowLGxlZnQ6MCxib3R0b206MCxyaWdodDowLG92ZXJmbG93OiJoaWRkZW4iLCItd2Via2l0LWJhY2tncm91bmQtc2l6ZSI6ImNvdmVyIiwiLW1vei1iYWNrZ3JvdW5kLXNpemUiOiJjb3ZlciIsIi1vLWJhY2tncm91bmQtc2l6ZSI6ImNvdmVyIiwiYmFja2dyb3VuZC1zaXplIjoiY292ZXIiLCJiYWNrZ3JvdW5kLWNvbG9yIjpsLmJnQ29sb3IsImJhY2tncm91bmQtcmVwZWF0Ijoibm8tcmVwZWF0IiwiYmFja2dyb3VuZC1wb3NpdGlvbiI6Zy54KyIgIitnLnl9KSwib2JqZWN0Ij09dHlwZW9mIHAmJihwLnBvc3Rlcj9jPXAucG9zdGVyOnAubXA0P2M9cC5tcDQ6cC53ZWJtP2M9cC53ZWJtOnAub2d2JiYoYz1wLm9ndikpLCJkZXRlY3QiPT09Zj9pKGMsZnVuY3Rpb24oZSl7ci5jc3MoImJhY2tncm91bmQtaW1hZ2UiLCJ1cmwoIitlKyIpIil9KToibm9uZSIhPT1mJiZyLmNzcygiYmFja2dyb3VuZC1pbWFnZSIsInVybCgiK2MrIi4iK2YrIikiKSwic3RhdGljIj09PXUuY3NzKCJwb3NpdGlvbiIpJiZ1LmNzcygicG9zaXRpb24iLCJyZWxhdGl2ZSIpLHUucHJlcGVuZChyKSwib2JqZWN0Ij09dHlwZW9mIHA/KHAubXA0JiYoZCs9Jzxzb3VyY2Ugc3JjPSInK3AubXA0KycubXA0IiB0eXBlPSJ2aWRlby9tcDQiPicpLHAud2VibSYmKGQrPSc8c291cmNlIHNyYz0iJytwLndlYm0rJy53ZWJtIiB0eXBlPSJ2aWRlby93ZWJtIj4nKSxwLm9ndiYmKGQrPSc8c291cmNlIHNyYz0iJytwLm9ndisnLm9ndiIgdHlwZT0idmlkZW8vb2dnIj4nKSx0PW4uJHZpZGVvPWUoIjx2aWRlbz4iK2QrIjwvdmlkZW8+IikpOnQ9bi4kdmlkZW89ZSgnPHZpZGVvPjxzb3VyY2Ugc3JjPSInK3ArJy5tcDQiIHR5cGU9InZpZGVvL21wNCI+PHNvdXJjZSBzcmM9IicrcCsnLndlYm0iIHR5cGU9InZpZGVvL3dlYm0iPjxzb3VyY2Ugc3JjPSInK3ArJy5vZ3YiIHR5cGU9InZpZGVvL29nZyI+PC92aWRlbz4nKTt0cnl7dC5wcm9wKHthdXRvcGxheTpsLmF1dG9wbGF5LGxvb3A6bC5sb29wLHZvbHVtZTpsLnZvbHVtZSxtdXRlZDpsLm11dGVkLGRlZmF1bHRNdXRlZDpsLm11dGVkLHBsYXliYWNrUmF0ZTpsLnBsYXliYWNrUmF0ZSxkZWZhdWx0UGxheWJhY2tSYXRlOmwucGxheWJhY2tSYXRlfSl9Y2F0Y2goaCl7dGhyb3cgbmV3IEVycm9yKGEpfXQuY3NzKHttYXJnaW46ImF1dG8iLHBvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOi0xLHRvcDpnLnksbGVmdDpnLngsIi13ZWJraXQtdHJhbnNmb3JtIjoidHJhbnNsYXRlKC0iK2cueCsiLCAtIitnLnkrIikiLCItbXMtdHJhbnNmb3JtIjoidHJhbnNsYXRlKC0iK2cueCsiLCAtIitnLnkrIikiLCItbW96LXRyYW5zZm9ybSI6InRyYW5zbGF0ZSgtIitnLngrIiwgLSIrZy55KyIpIix0cmFuc2Zvcm06InRyYW5zbGF0ZSgtIitnLngrIiwgLSIrZy55KyIpIix2aXNpYmlsaXR5OiJoaWRkZW4iLG9wYWNpdHk6MH0pLm9uZSgiY2FucGxheXRocm91Z2guIitzLGZ1bmN0aW9uKCl7bi5yZXNpemUoKX0pLm9uZSgicGxheWluZy4iK3MsZnVuY3Rpb24oKXt0LmNzcyh7dmlzaWJpbGl0eToidmlzaWJsZSIsb3BhY2l0eToxfSksci5jc3MoImJhY2tncm91bmQtaW1hZ2UiLCJub25lIil9KSx1Lm9uKCJyZXNpemUuIitzLGZ1bmN0aW9uKCl7bC5yZXNpemluZyYmbi5yZXNpemUoKX0pLHIuYXBwZW5kKHQpfSxyLnByb3RvdHlwZS5nZXRWaWRlb09iamVjdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLiR2aWRlb1swXX0sci5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7aWYodGhpcy4kdmlkZW8pe3ZhciBlPXRoaXMuJHdyYXBwZXIsdD10aGlzLiR2aWRlbyxvPXRbMF0saT1vLnZpZGVvSGVpZ2h0LHI9by52aWRlb1dpZHRoLHM9ZS5oZWlnaHQoKSxuPWUud2lkdGgoKTtuL3I+cy9pP3QuY3NzKHt3aWR0aDpuKzIsaGVpZ2h0OiJhdXRvIn0pOnQuY3NzKHt3aWR0aDoiYXV0byIsaGVpZ2h0OnMrMn0pfX0sci5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2RlbGV0ZSBlW3NdLmxvb2t1cFt0aGlzLmluZGV4XSx0aGlzLiR2aWRlbyYmdGhpcy4kdmlkZW8ub2ZmKHMpLHRoaXMuJGVsZW1lbnQub2ZmKHMpLnJlbW92ZURhdGEocyksdGhpcy4kd3JhcHBlci5yZW1vdmUoKX0sZVtzXT17bG9va3VwOltdfSxlLmZuW3NdPWZ1bmN0aW9uKHQsbyl7dmFyIGk7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2k9ZS5kYXRhKHRoaXMscyksaSYmaS5kZXN0cm95KCksaT1uZXcgcih0aGlzLHQsbyksaS5pbmRleD1lW3NdLmxvb2t1cC5wdXNoKGkpLTEsZS5kYXRhKHRoaXMscyxpKX0pLHRoaXN9LGUoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7dmFyIHQ9ZSh3aW5kb3cpO3Qub24oInJlc2l6ZS4iK3MsZnVuY3Rpb24oKXtmb3IodmFyIHQsbz1lW3NdLmxvb2t1cC5sZW5ndGgsaT0wO28+aTtpKyspdD1lW3NdLmxvb2t1cFtpXSx0JiZ0LnNldHRpbmdzLnJlc2l6aW5nJiZ0LnJlc2l6ZSgpfSksdC5vbigidW5sb2FkLiIrcyxmdW5jdGlvbigpe3JldHVybiExfSksZShkb2N1bWVudCkuZmluZCgiW2RhdGEtIitzKyItYmddIikuZWFjaChmdW5jdGlvbih0LG8pe3ZhciBpPWUobykscj1pLmRhdGEocysiLW9wdGlvbnMiKSxuPWkuZGF0YShzKyItYmciKTtpW3NdKG4scil9KX0pfSk7DQoNCg0KLyohDQogKiBEYXRlcGlja2VyIGZvciBCb290c3RyYXAgdjEuNy4wLWRldiAoaHR0cHM6Ly9naXRodWIuY29tL2V0ZXJuaWNvZGUvYm9vdHN0cmFwLWRhdGVwaWNrZXIpDQogKg0KICogQ29weXJpZ2h0IDIwMTIgU3RlZmFuIFBldHJlDQogKiBJbXByb3ZlbWVudHMgYnkgQW5kcmV3IFJvd2xzDQogKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UgdjIuMCAoaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wKQ0KICovDQoNCiFmdW5jdGlvbihhKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGEpOmEoIm9iamVjdCI9PXR5cGVvZiBleHBvcnRzP3JlcXVpcmUoImpxdWVyeSIpOmpRdWVyeSl9KGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb24gYygpe3JldHVybiBuZXcgRGF0ZShEYXRlLlVUQy5hcHBseShEYXRlLGFyZ3VtZW50cykpfWZ1bmN0aW9uIGQoKXt2YXIgYT1uZXcgRGF0ZTtyZXR1cm4gYyhhLmdldEZ1bGxZZWFyKCksYS5nZXRNb250aCgpLGEuZ2V0RGF0ZSgpKX1mdW5jdGlvbiBlKGEsYil7cmV0dXJuIGEuZ2V0VVRDRnVsbFllYXIoKT09PWIuZ2V0VVRDRnVsbFllYXIoKSYmYS5nZXRVVENNb250aCgpPT09Yi5nZXRVVENNb250aCgpJiZhLmdldFVUQ0RhdGUoKT09PWIuZ2V0VVRDRGF0ZSgpfWZ1bmN0aW9uIGYoYSl7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbYV0uYXBwbHkodGhpcyxhcmd1bWVudHMpfX1mdW5jdGlvbiBnKGEpe3JldHVybiBhJiYhaXNOYU4oYS5nZXRUaW1lKCkpfWZ1bmN0aW9uIGgoYixjKXtmdW5jdGlvbiBkKGEsYil7cmV0dXJuIGIudG9Mb3dlckNhc2UoKX12YXIgZSxmPWEoYikuZGF0YSgpLGc9e30saD1uZXcgUmVnRXhwKCJeIitjLnRvTG93ZXJDYXNlKCkrIihbQS1aXSkiKTtjPW5ldyBSZWdFeHAoIl4iK2MudG9Mb3dlckNhc2UoKSk7Zm9yKHZhciBpIGluIGYpYy50ZXN0KGkpJiYoZT1pLnJlcGxhY2UoaCxkKSxnW2VdPWZbaV0pO3JldHVybiBnfWZ1bmN0aW9uIGkoYil7dmFyIGM9e307aWYocVtiXXx8KGI9Yi5zcGxpdCgiLSIpWzBdLHFbYl0pKXt2YXIgZD1xW2JdO3JldHVybiBhLmVhY2gocCxmdW5jdGlvbihhLGIpe2IgaW4gZCYmKGNbYl09ZFtiXSl9KSxjfX12YXIgaj1mdW5jdGlvbigpe3ZhciBiPXtnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuc2xpY2UoYSlbMF19LGNvbnRhaW5zOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYj1hJiZhLnZhbHVlT2YoKSxjPTAsZD10aGlzLmxlbmd0aDtkPmM7YysrKWlmKDA8PXRoaXNbY10udmFsdWVPZigpLWImJnRoaXNbY10udmFsdWVPZigpLWI8ODY0ZTUpcmV0dXJuIGM7cmV0dXJuLTF9LHJlbW92ZTpmdW5jdGlvbihhKXt0aGlzLnNwbGljZShhLDEpfSxyZXBsYWNlOmZ1bmN0aW9uKGIpe2ImJihhLmlzQXJyYXkoYil8fChiPVtiXSksdGhpcy5jbGVhcigpLHRoaXMucHVzaC5hcHBseSh0aGlzLGIpKX0sY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLmxlbmd0aD0wfSxjb3B5OmZ1bmN0aW9uKCl7dmFyIGE9bmV3IGo7cmV0dXJuIGEucmVwbGFjZSh0aGlzKSxhfX07cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGM9W107cmV0dXJuIGMucHVzaC5hcHBseShjLGFyZ3VtZW50cyksYS5leHRlbmQoYyxiKSxjfX0oKSxrPWZ1bmN0aW9uKGIsYyl7YS5kYXRhKGIsImRhdGVwaWNrZXIiLHRoaXMpLHRoaXMuX3Byb2Nlc3Nfb3B0aW9ucyhjKSx0aGlzLmRhdGVzPW5ldyBqLHRoaXMudmlld0RhdGU9dGhpcy5vLmRlZmF1bHRWaWV3RGF0ZSx0aGlzLmZvY3VzRGF0ZT1udWxsLHRoaXMuZWxlbWVudD1hKGIpLHRoaXMuaXNJbnB1dD10aGlzLmVsZW1lbnQuaXMoImlucHV0IiksdGhpcy5pbnB1dEZpZWxkPXRoaXMuaXNJbnB1dD90aGlzLmVsZW1lbnQ6dGhpcy5lbGVtZW50LmZpbmQoImlucHV0IiksdGhpcy5jb21wb25lbnQ9dGhpcy5lbGVtZW50Lmhhc0NsYXNzKCJkYXRlIik/dGhpcy5lbGVtZW50LmZpbmQoIi5hZGQtb24sIC5pbnB1dC1ncm91cC1hZGRvbiwgLmJ0biIpOiExLHRoaXMuY29tcG9uZW50JiYwPT09dGhpcy5jb21wb25lbnQubGVuZ3RoJiYodGhpcy5jb21wb25lbnQ9ITEpLHRoaXMuaXNJbmxpbmU9IXRoaXMuY29tcG9uZW50JiZ0aGlzLmVsZW1lbnQuaXMoImRpdiIpLHRoaXMucGlja2VyPWEoci50ZW1wbGF0ZSksdGhpcy5fY2hlY2tfdGVtcGxhdGUodGhpcy5vLnRlbXBsYXRlcy5sZWZ0QXJyb3cpJiZ0aGlzLnBpY2tlci5maW5kKCIucHJldiIpLmh0bWwodGhpcy5vLnRlbXBsYXRlcy5sZWZ0QXJyb3cpLHRoaXMuX2NoZWNrX3RlbXBsYXRlKHRoaXMuby50ZW1wbGF0ZXMucmlnaHRBcnJvdykmJnRoaXMucGlja2VyLmZpbmQoIi5uZXh0IikuaHRtbCh0aGlzLm8udGVtcGxhdGVzLnJpZ2h0QXJyb3cpLHRoaXMuX2J1aWxkRXZlbnRzKCksdGhpcy5fYXR0YWNoRXZlbnRzKCksdGhpcy5pc0lubGluZT90aGlzLnBpY2tlci5hZGRDbGFzcygiZGF0ZXBpY2tlci1pbmxpbmUiKS5hcHBlbmRUbyh0aGlzLmVsZW1lbnQpOnRoaXMucGlja2VyLmFkZENsYXNzKCJkYXRlcGlja2VyLWRyb3Bkb3duIGRyb3Bkb3duLW1lbnUiKSx0aGlzLm8ucnRsJiZ0aGlzLnBpY2tlci5hZGRDbGFzcygiZGF0ZXBpY2tlci1ydGwiKSx0aGlzLm8uY2FsZW5kYXJXZWVrcyYmdGhpcy5waWNrZXIuZmluZCgiLmRhdGVwaWNrZXItZGF5cyAuZGF0ZXBpY2tlci1zd2l0Y2gsIHRoZWFkIC5kYXRlcGlja2VyLXRpdGxlLCB0Zm9vdCAudG9kYXksIHRmb290IC5jbGVhciIpLmF0dHIoImNvbHNwYW4iLGZ1bmN0aW9uKGEsYil7cmV0dXJuIE51bWJlcihiKSsxfSksdGhpcy5fYWxsb3dfdXBkYXRlPSExLHRoaXMuc2V0U3RhcnREYXRlKHRoaXMuX28uc3RhcnREYXRlKSx0aGlzLnNldEVuZERhdGUodGhpcy5fby5lbmREYXRlKSx0aGlzLnNldERheXNPZldlZWtEaXNhYmxlZCh0aGlzLm8uZGF5c09mV2Vla0Rpc2FibGVkKSx0aGlzLnNldERheXNPZldlZWtIaWdobGlnaHRlZCh0aGlzLm8uZGF5c09mV2Vla0hpZ2hsaWdodGVkKSx0aGlzLnNldERhdGVzRGlzYWJsZWQodGhpcy5vLmRhdGVzRGlzYWJsZWQpLHRoaXMuc2V0Vmlld01vZGUodGhpcy5vLnN0YXJ0VmlldyksdGhpcy5maWxsRG93KCksdGhpcy5maWxsTW9udGhzKCksdGhpcy5fYWxsb3dfdXBkYXRlPSEwLHRoaXMudXBkYXRlKCksdGhpcy5pc0lubGluZSYmdGhpcy5zaG93KCl9O2sucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjprLF9yZXNvbHZlVmlld05hbWU6ZnVuY3Rpb24oYil7cmV0dXJuIGEuZWFjaChyLnZpZXdNb2RlcyxmdW5jdGlvbihjLGQpe3JldHVybiBiPT09Y3x8LTEhPT1hLmluQXJyYXkoYixkLm5hbWVzKT8oYj1jLCExKTp2b2lkIDB9KSxifSxfcmVzb2x2ZURheXNPZldlZWs6ZnVuY3Rpb24oYil7cmV0dXJuIGEuaXNBcnJheShiKXx8KGI9Yi5zcGxpdCgvWyxcc10qLykpLGEubWFwKGIsTnVtYmVyKX0sX2NoZWNrX3RlbXBsYXRlOmZ1bmN0aW9uKGMpe3RyeXtpZihjPT09Ynx8IiI9PT1jKXJldHVybiExO2lmKChjLm1hdGNoKC9bPD5dL2cpfHxbXSkubGVuZ3RoPD0wKXJldHVybiEwO3ZhciBkPWEoYyk7cmV0dXJuIGQubGVuZ3RoPjB9Y2F0Y2goZSl7cmV0dXJuITF9fSxfcHJvY2Vzc19vcHRpb25zOmZ1bmN0aW9uKGIpe3RoaXMuX289YS5leHRlbmQoe30sdGhpcy5fbyxiKTt2YXIgZT10aGlzLm89YS5leHRlbmQoe30sdGhpcy5fbyksZj1lLmxhbmd1YWdlO3FbZl18fChmPWYuc3BsaXQoIi0iKVswXSxxW2ZdfHwoZj1vLmxhbmd1YWdlKSksZS5sYW5ndWFnZT1mLGUuc3RhcnRWaWV3PXRoaXMuX3Jlc29sdmVWaWV3TmFtZShlLnN0YXJ0VmlldyksZS5taW5WaWV3TW9kZT10aGlzLl9yZXNvbHZlVmlld05hbWUoZS5taW5WaWV3TW9kZSksZS5tYXhWaWV3TW9kZT10aGlzLl9yZXNvbHZlVmlld05hbWUoZS5tYXhWaWV3TW9kZSksZS5zdGFydFZpZXc9TWF0aC5tYXgodGhpcy5vLm1pblZpZXdNb2RlLE1hdGgubWluKHRoaXMuby5tYXhWaWV3TW9kZSxlLnN0YXJ0VmlldykpLGUubXVsdGlkYXRlIT09ITAmJihlLm11bHRpZGF0ZT1OdW1iZXIoZS5tdWx0aWRhdGUpfHwhMSxlLm11bHRpZGF0ZSE9PSExJiYoZS5tdWx0aWRhdGU9TWF0aC5tYXgoMCxlLm11bHRpZGF0ZSkpKSxlLm11bHRpZGF0ZVNlcGFyYXRvcj1TdHJpbmcoZS5tdWx0aWRhdGVTZXBhcmF0b3IpLGUud2Vla1N0YXJ0JT03LGUud2Vla0VuZD0oZS53ZWVrU3RhcnQrNiklNzt2YXIgZz1yLnBhcnNlRm9ybWF0KGUuZm9ybWF0KTtlLnN0YXJ0RGF0ZSE9PS0oMS8wKSYmKGUuc3RhcnREYXRlP2Uuc3RhcnREYXRlIGluc3RhbmNlb2YgRGF0ZT9lLnN0YXJ0RGF0ZT10aGlzLl9sb2NhbF90b191dGModGhpcy5femVyb190aW1lKGUuc3RhcnREYXRlKSk6ZS5zdGFydERhdGU9ci5wYXJzZURhdGUoZS5zdGFydERhdGUsZyxlLmxhbmd1YWdlLGUuYXNzdW1lTmVhcmJ5WWVhcik6ZS5zdGFydERhdGU9LSgxLzApKSxlLmVuZERhdGUhPT0xLzAmJihlLmVuZERhdGU/ZS5lbmREYXRlIGluc3RhbmNlb2YgRGF0ZT9lLmVuZERhdGU9dGhpcy5fbG9jYWxfdG9fdXRjKHRoaXMuX3plcm9fdGltZShlLmVuZERhdGUpKTplLmVuZERhdGU9ci5wYXJzZURhdGUoZS5lbmREYXRlLGcsZS5sYW5ndWFnZSxlLmFzc3VtZU5lYXJieVllYXIpOmUuZW5kRGF0ZT0xLzApLGUuZGF5c09mV2Vla0Rpc2FibGVkPXRoaXMuX3Jlc29sdmVEYXlzT2ZXZWVrKGUuZGF5c09mV2Vla0Rpc2FibGVkfHxbXSksZS5kYXlzT2ZXZWVrSGlnaGxpZ2h0ZWQ9dGhpcy5fcmVzb2x2ZURheXNPZldlZWsoZS5kYXlzT2ZXZWVrSGlnaGxpZ2h0ZWR8fFtdKSxlLmRhdGVzRGlzYWJsZWQ9ZS5kYXRlc0Rpc2FibGVkfHxbXSxhLmlzQXJyYXkoZS5kYXRlc0Rpc2FibGVkKXx8KGUuZGF0ZXNEaXNhYmxlZD1bZS5kYXRlc0Rpc2FibGVkXSksZS5kYXRlc0Rpc2FibGVkPWEubWFwKGUuZGF0ZXNEaXNhYmxlZCxmdW5jdGlvbihhKXtyZXR1cm4gci5wYXJzZURhdGUoYSxnLGUubGFuZ3VhZ2UsZS5hc3N1bWVOZWFyYnlZZWFyKX0pO3ZhciBoPVN0cmluZyhlLm9yaWVudGF0aW9uKS50b0xvd2VyQ2FzZSgpLnNwbGl0KC9ccysvZyksaT1lLm9yaWVudGF0aW9uLnRvTG93ZXJDYXNlKCk7aWYoaD1hLmdyZXAoaCxmdW5jdGlvbihhKXtyZXR1cm4vXmF1dG98bGVmdHxyaWdodHx0b3B8Ym90dG9tJC8udGVzdChhKX0pLGUub3JpZW50YXRpb249e3g6ImF1dG8iLHk6ImF1dG8ifSxpJiYiYXV0byIhPT1pKWlmKDE9PT1oLmxlbmd0aClzd2l0Y2goaFswXSl7Y2FzZSJ0b3AiOmNhc2UiYm90dG9tIjplLm9yaWVudGF0aW9uLnk9aFswXTticmVhaztjYXNlImxlZnQiOmNhc2UicmlnaHQiOmUub3JpZW50YXRpb24ueD1oWzBdfWVsc2UgaT1hLmdyZXAoaCxmdW5jdGlvbihhKXtyZXR1cm4vXmxlZnR8cmlnaHQkLy50ZXN0KGEpfSksZS5vcmllbnRhdGlvbi54PWlbMF18fCJhdXRvIixpPWEuZ3JlcChoLGZ1bmN0aW9uKGEpe3JldHVybi9edG9wfGJvdHRvbSQvLnRlc3QoYSl9KSxlLm9yaWVudGF0aW9uLnk9aVswXXx8ImF1dG8iO2Vsc2U7aWYoZS5kZWZhdWx0Vmlld0RhdGUpe3ZhciBqPWUuZGVmYXVsdFZpZXdEYXRlLnllYXJ8fChuZXcgRGF0ZSkuZ2V0RnVsbFllYXIoKSxrPWUuZGVmYXVsdFZpZXdEYXRlLm1vbnRofHwwLGw9ZS5kZWZhdWx0Vmlld0RhdGUuZGF5fHwxO2UuZGVmYXVsdFZpZXdEYXRlPWMoaixrLGwpfWVsc2UgZS5kZWZhdWx0Vmlld0RhdGU9ZCgpfSxfZXZlbnRzOltdLF9zZWNvbmRhcnlFdmVudHM6W10sX2FwcGx5RXZlbnRzOmZ1bmN0aW9uKGEpe2Zvcih2YXIgYyxkLGUsZj0wO2Y8YS5sZW5ndGg7ZisrKWM9YVtmXVswXSwyPT09YVtmXS5sZW5ndGg/KGQ9YixlPWFbZl1bMV0pOjM9PT1hW2ZdLmxlbmd0aCYmKGQ9YVtmXVsxXSxlPWFbZl1bMl0pLGMub24oZSxkKX0sX3VuYXBwbHlFdmVudHM6ZnVuY3Rpb24oYSl7Zm9yKHZhciBjLGQsZSxmPTA7ZjxhLmxlbmd0aDtmKyspYz1hW2ZdWzBdLDI9PT1hW2ZdLmxlbmd0aD8oZT1iLGQ9YVtmXVsxXSk6Mz09PWFbZl0ubGVuZ3RoJiYoZT1hW2ZdWzFdLGQ9YVtmXVsyXSksYy5vZmYoZCxlKX0sX2J1aWxkRXZlbnRzOmZ1bmN0aW9uKCl7dmFyIGI9e2tleXVwOmEucHJveHkoZnVuY3Rpb24oYil7LTE9PT1hLmluQXJyYXkoYi5rZXlDb2RlLFsyNywzNywzOSwzOCw0MCwzMiwxMyw5XSkmJnRoaXMudXBkYXRlKCl9LHRoaXMpLGtleWRvd246YS5wcm94eSh0aGlzLmtleWRvd24sdGhpcykscGFzdGU6YS5wcm94eSh0aGlzLnBhc3RlLHRoaXMpfTt0aGlzLm8uc2hvd09uRm9jdXM9PT0hMCYmKGIuZm9jdXM9YS5wcm94eSh0aGlzLnNob3csdGhpcykpLHRoaXMuaXNJbnB1dD90aGlzLl9ldmVudHM9W1t0aGlzLmVsZW1lbnQsYl1dOnRoaXMuY29tcG9uZW50JiZ0aGlzLmlucHV0RmllbGQubGVuZ3RoP3RoaXMuX2V2ZW50cz1bW3RoaXMuaW5wdXRGaWVsZCxiXSxbdGhpcy5jb21wb25lbnQse2NsaWNrOmEucHJveHkodGhpcy5zaG93LHRoaXMpfV1dOnRoaXMuX2V2ZW50cz1bW3RoaXMuZWxlbWVudCx7Y2xpY2s6YS5wcm94eSh0aGlzLnNob3csdGhpcyksa2V5ZG93bjphLnByb3h5KHRoaXMua2V5ZG93bix0aGlzKX1dXSx0aGlzLl9ldmVudHMucHVzaChbdGhpcy5lbGVtZW50LCIqIix7Ymx1cjphLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMuX2ZvY3VzZWRfZnJvbT1hLnRhcmdldH0sdGhpcyl9XSxbdGhpcy5lbGVtZW50LHtibHVyOmEucHJveHkoZnVuY3Rpb24oYSl7dGhpcy5fZm9jdXNlZF9mcm9tPWEudGFyZ2V0fSx0aGlzKX1dKSx0aGlzLm8uaW1tZWRpYXRlVXBkYXRlcyYmdGhpcy5fZXZlbnRzLnB1c2goW3RoaXMuZWxlbWVudCx7ImNoYW5nZVllYXIgY2hhbmdlTW9udGgiOmEucHJveHkoZnVuY3Rpb24oYSl7dGhpcy51cGRhdGUoYS5kYXRlKX0sdGhpcyl9XSksdGhpcy5fc2Vjb25kYXJ5RXZlbnRzPVtbdGhpcy5waWNrZXIse2NsaWNrOmEucHJveHkodGhpcy5jbGljayx0aGlzKX1dLFt0aGlzLnBpY2tlciwiLnByZXYsIC5uZXh0Iix7Y2xpY2s6YS5wcm94eSh0aGlzLm5hdkFycm93c0NsaWNrLHRoaXMpfV0sW2Eod2luZG93KSx7cmVzaXplOmEucHJveHkodGhpcy5wbGFjZSx0aGlzKX1dLFthKGRvY3VtZW50KSx7Im1vdXNlZG93biB0b3VjaHN0YXJ0IjphLnByb3h5KGZ1bmN0aW9uKGEpe3RoaXMuZWxlbWVudC5pcyhhLnRhcmdldCl8fHRoaXMuZWxlbWVudC5maW5kKGEudGFyZ2V0KS5sZW5ndGh8fHRoaXMucGlja2VyLmlzKGEudGFyZ2V0KXx8dGhpcy5waWNrZXIuZmluZChhLnRhcmdldCkubGVuZ3RofHx0aGlzLmlzSW5saW5lfHx0aGlzLmhpZGUoKX0sdGhpcyl9XV19LF9hdHRhY2hFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLl9kZXRhY2hFdmVudHMoKSx0aGlzLl9hcHBseUV2ZW50cyh0aGlzLl9ldmVudHMpfSxfZGV0YWNoRXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy5fdW5hcHBseUV2ZW50cyh0aGlzLl9ldmVudHMpfSxfYXR0YWNoU2Vjb25kYXJ5RXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy5fZGV0YWNoU2Vjb25kYXJ5RXZlbnRzKCksdGhpcy5fYXBwbHlFdmVudHModGhpcy5fc2Vjb25kYXJ5RXZlbnRzKX0sX2RldGFjaFNlY29uZGFyeUV2ZW50czpmdW5jdGlvbigpe3RoaXMuX3VuYXBwbHlFdmVudHModGhpcy5fc2Vjb25kYXJ5RXZlbnRzKX0sX3RyaWdnZXI6ZnVuY3Rpb24oYixjKXt2YXIgZD1jfHx0aGlzLmRhdGVzLmdldCgtMSksZT10aGlzLl91dGNfdG9fbG9jYWwoZCk7dGhpcy5lbGVtZW50LnRyaWdnZXIoe3R5cGU6YixkYXRlOmUsZGF0ZXM6YS5tYXAodGhpcy5kYXRlcyx0aGlzLl91dGNfdG9fbG9jYWwpLGZvcm1hdDphLnByb3h5KGZ1bmN0aW9uKGEsYil7MD09PWFyZ3VtZW50cy5sZW5ndGg/KGE9dGhpcy5kYXRlcy5sZW5ndGgtMSxiPXRoaXMuby5mb3JtYXQpOiJzdHJpbmciPT10eXBlb2YgYSYmKGI9YSxhPXRoaXMuZGF0ZXMubGVuZ3RoLTEpLGI9Ynx8dGhpcy5vLmZvcm1hdDt2YXIgYz10aGlzLmRhdGVzLmdldChhKTtyZXR1cm4gci5mb3JtYXREYXRlKGMsYix0aGlzLm8ubGFuZ3VhZ2UpfSx0aGlzKX0pfSxzaG93OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaW5wdXRGaWVsZC5wcm9wKCJkaXNhYmxlZCIpfHx0aGlzLmlucHV0RmllbGQucHJvcCgicmVhZG9ubHkiKSYmdGhpcy5vLmVuYWJsZU9uUmVhZG9ubHk9PT0hMT92b2lkIDA6KHRoaXMuaXNJbmxpbmV8fHRoaXMucGlja2VyLmFwcGVuZFRvKHRoaXMuby5jb250YWluZXIpLHRoaXMucGxhY2UoKSx0aGlzLnBpY2tlci5zaG93KCksdGhpcy5fYXR0YWNoU2Vjb25kYXJ5RXZlbnRzKCksdGhpcy5fdHJpZ2dlcigic2hvdyIpLCh3aW5kb3cubmF2aWdhdG9yLm1zTWF4VG91Y2hQb2ludHN8fCJvbnRvdWNoc3RhcnQiaW4gZG9jdW1lbnQpJiZ0aGlzLm8uZGlzYWJsZVRvdWNoS2V5Ym9hcmQmJmEodGhpcy5lbGVtZW50KS5ibHVyKCksdGhpcyl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0lubGluZXx8IXRoaXMucGlja2VyLmlzKCI6dmlzaWJsZSIpP3RoaXM6KHRoaXMuZm9jdXNEYXRlPW51bGwsdGhpcy5waWNrZXIuaGlkZSgpLmRldGFjaCgpLHRoaXMuX2RldGFjaFNlY29uZGFyeUV2ZW50cygpLHRoaXMuc2V0Vmlld01vZGUodGhpcy5vLnN0YXJ0VmlldyksdGhpcy5vLmZvcmNlUGFyc2UmJnRoaXMuaW5wdXRGaWVsZC52YWwoKSYmdGhpcy5zZXRWYWx1ZSgpLHRoaXMuX3RyaWdnZXIoImhpZGUiKSx0aGlzKX0sZGVzdHJveTpmdW5jdGlvbigpe3JldHVybiB0aGlzLmhpZGUoKSx0aGlzLl9kZXRhY2hFdmVudHMoKSx0aGlzLl9kZXRhY2hTZWNvbmRhcnlFdmVudHMoKSx0aGlzLnBpY2tlci5yZW1vdmUoKSxkZWxldGUgdGhpcy5lbGVtZW50LmRhdGEoKS5kYXRlcGlja2VyLHRoaXMuaXNJbnB1dHx8ZGVsZXRlIHRoaXMuZWxlbWVudC5kYXRhKCkuZGF0ZSx0aGlzfSxwYXN0ZTpmdW5jdGlvbihiKXt2YXIgYztpZihiLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YSYmYi5vcmlnaW5hbEV2ZW50LmNsaXBib2FyZERhdGEudHlwZXMmJi0xIT09YS5pbkFycmF5KCJ0ZXh0L3BsYWluIixiLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YS50eXBlcykpYz1iLm9yaWdpbmFsRXZlbnQuY2xpcGJvYXJkRGF0YS5nZXREYXRhKCJ0ZXh0L3BsYWluIik7ZWxzZXtpZighd2luZG93LmNsaXBib2FyZERhdGEpcmV0dXJuO2M9d2luZG93LmNsaXBib2FyZERhdGEuZ2V0RGF0YSgiVGV4dCIpfXRoaXMuc2V0RGF0ZShjKSx0aGlzLnVwZGF0ZSgpLGIucHJldmVudERlZmF1bHQoKX0sX3V0Y190b19sb2NhbDpmdW5jdGlvbihhKXtyZXR1cm4gYSYmbmV3IERhdGUoYS5nZXRUaW1lKCkrNmU0KmEuZ2V0VGltZXpvbmVPZmZzZXQoKSl9LF9sb2NhbF90b191dGM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJm5ldyBEYXRlKGEuZ2V0VGltZSgpLTZlNCphLmdldFRpbWV6b25lT2Zmc2V0KCkpfSxfemVyb190aW1lOmZ1bmN0aW9uKGEpe3JldHVybiBhJiZuZXcgRGF0ZShhLmdldEZ1bGxZZWFyKCksYS5nZXRNb250aCgpLGEuZ2V0RGF0ZSgpKX0sX3plcm9fdXRjX3RpbWU6ZnVuY3Rpb24oYSl7cmV0dXJuIGEmJmMoYS5nZXRVVENGdWxsWWVhcigpLGEuZ2V0VVRDTW9udGgoKSxhLmdldFVUQ0RhdGUoKSl9LGdldERhdGVzOmZ1bmN0aW9uKCl7cmV0dXJuIGEubWFwKHRoaXMuZGF0ZXMsdGhpcy5fdXRjX3RvX2xvY2FsKX0sZ2V0VVRDRGF0ZXM6ZnVuY3Rpb24oKXtyZXR1cm4gYS5tYXAodGhpcy5kYXRlcyxmdW5jdGlvbihhKXtyZXR1cm4gbmV3IERhdGUoYSl9KX0sZ2V0RGF0ZTpmdW5jdGlvbigpe3JldHVybiB0aGlzLl91dGNfdG9fbG9jYWwodGhpcy5nZXRVVENEYXRlKCkpfSxnZXRVVENEYXRlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5kYXRlcy5nZXQoLTEpO3JldHVybiBhIT09Yj9uZXcgRGF0ZShhKTpudWxsfSxjbGVhckRhdGVzOmZ1bmN0aW9uKCl7dGhpcy5pbnB1dEZpZWxkLnZhbCgiIiksdGhpcy51cGRhdGUoKSx0aGlzLl90cmlnZ2VyKCJjaGFuZ2VEYXRlIiksdGhpcy5vLmF1dG9jbG9zZSYmdGhpcy5oaWRlKCl9LHNldERhdGVzOmZ1bmN0aW9uKCl7dmFyIGI9YS5pc0FycmF5KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy51cGRhdGUuYXBwbHkodGhpcyxiKSx0aGlzLl90cmlnZ2VyKCJjaGFuZ2VEYXRlIiksdGhpcy5zZXRWYWx1ZSgpLHRoaXN9LHNldFVUQ0RhdGVzOmZ1bmN0aW9uKCl7dmFyIGI9YS5pc0FycmF5KGFyZ3VtZW50c1swXSk/YXJndW1lbnRzWzBdOmFyZ3VtZW50cztyZXR1cm4gdGhpcy5zZXREYXRlcy5hcHBseSh0aGlzLGEubWFwKGIsdGhpcy5fdXRjX3RvX2xvY2FsKSksdGhpc30sc2V0RGF0ZTpmKCJzZXREYXRlcyIpLHNldFVUQ0RhdGU6Zigic2V0VVRDRGF0ZXMiKSxyZW1vdmU6ZigiZGVzdHJveSIpLHNldFZhbHVlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5nZXRGb3JtYXR0ZWREYXRlKCk7cmV0dXJuIHRoaXMuaW5wdXRGaWVsZC52YWwoYSksdGhpc30sZ2V0Rm9ybWF0dGVkRGF0ZTpmdW5jdGlvbihjKXtjPT09YiYmKGM9dGhpcy5vLmZvcm1hdCk7dmFyIGQ9dGhpcy5vLmxhbmd1YWdlO3JldHVybiBhLm1hcCh0aGlzLmRhdGVzLGZ1bmN0aW9uKGEpe3JldHVybiByLmZvcm1hdERhdGUoYSxjLGQpfSkuam9pbih0aGlzLm8ubXVsdGlkYXRlU2VwYXJhdG9yKX0sZ2V0U3RhcnREYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5zdGFydERhdGV9LHNldFN0YXJ0RGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcHJvY2Vzc19vcHRpb25zKHtzdGFydERhdGU6YX0pLHRoaXMudXBkYXRlKCksdGhpcy51cGRhdGVOYXZBcnJvd3MoKSx0aGlzfSxnZXRFbmREYXRlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuby5lbmREYXRlfSxzZXRFbmREYXRlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLl9wcm9jZXNzX29wdGlvbnMoe2VuZERhdGU6YX0pLHRoaXMudXBkYXRlKCksdGhpcy51cGRhdGVOYXZBcnJvd3MoKSx0aGlzfSxzZXREYXlzT2ZXZWVrRGlzYWJsZWQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuX3Byb2Nlc3Nfb3B0aW9ucyh7ZGF5c09mV2Vla0Rpc2FibGVkOmF9KSx0aGlzLnVwZGF0ZSgpLHRoaXN9LHNldERheXNPZldlZWtIaWdobGlnaHRlZDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcHJvY2Vzc19vcHRpb25zKHtkYXlzT2ZXZWVrSGlnaGxpZ2h0ZWQ6YX0pLHRoaXMudXBkYXRlKCksdGhpc30sc2V0RGF0ZXNEaXNhYmxlZDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5fcHJvY2Vzc19vcHRpb25zKHtkYXRlc0Rpc2FibGVkOmF9KSx0aGlzLnVwZGF0ZSgpLHRoaXN9LHBsYWNlOmZ1bmN0aW9uKCl7aWYodGhpcy5pc0lubGluZSlyZXR1cm4gdGhpczt2YXIgYj10aGlzLnBpY2tlci5vdXRlcldpZHRoKCksYz10aGlzLnBpY2tlci5vdXRlckhlaWdodCgpLGQ9MTAsZT1hKHRoaXMuby5jb250YWluZXIpLGY9ZS53aWR0aCgpLGc9ImJvZHkiPT09dGhpcy5vLmNvbnRhaW5lcj9hKGRvY3VtZW50KS5zY3JvbGxUb3AoKTplLnNjcm9sbFRvcCgpLGg9ZS5vZmZzZXQoKSxpPVtdO3RoaXMuZWxlbWVudC5wYXJlbnRzKCkuZWFjaChmdW5jdGlvbigpe3ZhciBiPWEodGhpcykuY3NzKCJ6LWluZGV4Iik7ImF1dG8iIT09YiYmMCE9PWImJmkucHVzaChwYXJzZUludChiKSl9KTt2YXIgaj1NYXRoLm1heC5hcHBseShNYXRoLGkpK3RoaXMuby56SW5kZXhPZmZzZXQsaz10aGlzLmNvbXBvbmVudD90aGlzLmNvbXBvbmVudC5wYXJlbnQoKS5vZmZzZXQoKTp0aGlzLmVsZW1lbnQub2Zmc2V0KCksbD10aGlzLmNvbXBvbmVudD90aGlzLmNvbXBvbmVudC5vdXRlckhlaWdodCghMCk6dGhpcy5lbGVtZW50Lm91dGVySGVpZ2h0KCExKSxtPXRoaXMuY29tcG9uZW50P3RoaXMuY29tcG9uZW50Lm91dGVyV2lkdGgoITApOnRoaXMuZWxlbWVudC5vdXRlcldpZHRoKCExKSxuPWsubGVmdC1oLmxlZnQsbz1rLnRvcC1oLnRvcDsiYm9keSIhPT10aGlzLm8uY29udGFpbmVyJiYobys9ZyksdGhpcy5waWNrZXIucmVtb3ZlQ2xhc3MoImRhdGVwaWNrZXItb3JpZW50LXRvcCBkYXRlcGlja2VyLW9yaWVudC1ib3R0b20gZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQgZGF0ZXBpY2tlci1vcmllbnQtbGVmdCIpLCJhdXRvIiE9PXRoaXMuby5vcmllbnRhdGlvbi54Pyh0aGlzLnBpY2tlci5hZGRDbGFzcygiZGF0ZXBpY2tlci1vcmllbnQtIit0aGlzLm8ub3JpZW50YXRpb24ueCksInJpZ2h0Ij09PXRoaXMuby5vcmllbnRhdGlvbi54JiYobi09Yi1tKSk6ay5sZWZ0PDA/KHRoaXMucGlja2VyLmFkZENsYXNzKCJkYXRlcGlja2VyLW9yaWVudC1sZWZ0Iiksbi09ay5sZWZ0LWQpOm4rYj5mPyh0aGlzLnBpY2tlci5hZGRDbGFzcygiZGF0ZXBpY2tlci1vcmllbnQtcmlnaHQiKSxuKz1tLWIpOnRoaXMucGlja2VyLmFkZENsYXNzKCJkYXRlcGlja2VyLW9yaWVudC1sZWZ0Iik7dmFyIHAscT10aGlzLm8ub3JpZW50YXRpb24ueTtpZigiYXV0byI9PT1xJiYocD0tZytvLWMscT0wPnA/ImJvdHRvbSI6InRvcCIpLHRoaXMucGlja2VyLmFkZENsYXNzKCJkYXRlcGlja2VyLW9yaWVudC0iK3EpLCJ0b3AiPT09cT9vLT1jK3BhcnNlSW50KHRoaXMucGlja2VyLmNzcygicGFkZGluZy10b3AiKSk6bys9bCx0aGlzLm8ucnRsKXt2YXIgcj1mLShuK20pO3RoaXMucGlja2VyLmNzcyh7dG9wOm8scmlnaHQ6cix6SW5kZXg6an0pfWVsc2UgdGhpcy5waWNrZXIuY3NzKHt0b3A6byxsZWZ0Om4sekluZGV4Omp9KTtyZXR1cm4gdGhpc30sX2FsbG93X3VwZGF0ZTohMCx1cGRhdGU6ZnVuY3Rpb24oKXtpZighdGhpcy5fYWxsb3dfdXBkYXRlKXJldHVybiB0aGlzO3ZhciBiPXRoaXMuZGF0ZXMuY29weSgpLGM9W10sZD0hMTtyZXR1cm4gYXJndW1lbnRzLmxlbmd0aD8oYS5lYWNoKGFyZ3VtZW50cyxhLnByb3h5KGZ1bmN0aW9uKGEsYil7YiBpbnN0YW5jZW9mIERhdGUmJihiPXRoaXMuX2xvY2FsX3RvX3V0YyhiKSksYy5wdXNoKGIpfSx0aGlzKSksZD0hMCk6KGM9dGhpcy5pc0lucHV0P3RoaXMuZWxlbWVudC52YWwoKTp0aGlzLmVsZW1lbnQuZGF0YSgiZGF0ZSIpfHx0aGlzLmlucHV0RmllbGQudmFsKCksYz1jJiZ0aGlzLm8ubXVsdGlkYXRlP2Muc3BsaXQodGhpcy5vLm11bHRpZGF0ZVNlcGFyYXRvcik6W2NdLGRlbGV0ZSB0aGlzLmVsZW1lbnQuZGF0YSgpLmRhdGUpLGM9YS5tYXAoYyxhLnByb3h5KGZ1bmN0aW9uKGEpe3JldHVybiByLnBhcnNlRGF0ZShhLHRoaXMuby5mb3JtYXQsdGhpcy5vLmxhbmd1YWdlLHRoaXMuby5hc3N1bWVOZWFyYnlZZWFyKX0sdGhpcykpLGM9YS5ncmVwKGMsYS5wcm94eShmdW5jdGlvbihhKXtyZXR1cm4hdGhpcy5kYXRlV2l0aGluUmFuZ2UoYSl8fCFhfSx0aGlzKSwhMCksdGhpcy5kYXRlcy5yZXBsYWNlKGMpLHRoaXMuZGF0ZXMubGVuZ3RoP3RoaXMudmlld0RhdGU9bmV3IERhdGUodGhpcy5kYXRlcy5nZXQoLTEpKTp0aGlzLnZpZXdEYXRlPHRoaXMuby5zdGFydERhdGU/dGhpcy52aWV3RGF0ZT1uZXcgRGF0ZSh0aGlzLm8uc3RhcnREYXRlKTp0aGlzLnZpZXdEYXRlPnRoaXMuby5lbmREYXRlP3RoaXMudmlld0RhdGU9bmV3IERhdGUodGhpcy5vLmVuZERhdGUpOnRoaXMudmlld0RhdGU9dGhpcy5vLmRlZmF1bHRWaWV3RGF0ZSxkPyh0aGlzLnNldFZhbHVlKCksdGhpcy5lbGVtZW50LmNoYW5nZSgpKTp0aGlzLmRhdGVzLmxlbmd0aCYmU3RyaW5nKGIpIT09U3RyaW5nKHRoaXMuZGF0ZXMpJiZkJiYodGhpcy5fdHJpZ2dlcigiY2hhbmdlRGF0ZSIpLHRoaXMuZWxlbWVudC5jaGFuZ2UoKSksIXRoaXMuZGF0ZXMubGVuZ3RoJiZiLmxlbmd0aCYmKHRoaXMuX3RyaWdnZXIoImNsZWFyRGF0ZSIpLHRoaXMuZWxlbWVudC5jaGFuZ2UoKSksdGhpcy5maWxsKCksdGhpc30sZmlsbERvdzpmdW5jdGlvbigpe3ZhciBiPXRoaXMuby53ZWVrU3RhcnQsYz0iPHRyPiI7Zm9yKHRoaXMuby5jYWxlbmRhcldlZWtzJiYoYys9Jzx0aCBjbGFzcz0iY3ciPiYjMTYwOzwvdGg+Jyk7Yjx0aGlzLm8ud2Vla1N0YXJ0Kzc7KWMrPSc8dGggY2xhc3M9ImRvdycsLTEhPT1hLmluQXJyYXkoYix0aGlzLm8uZGF5c09mV2Vla0Rpc2FibGVkKSYmKGMrPSIgZGlzYWJsZWQiKSxjKz0nIj4nK3FbdGhpcy5vLmxhbmd1YWdlXS5kYXlzTWluW2IrKyU3XSsiPC90aD4iO2MrPSI8L3RyPiIsdGhpcy5waWNrZXIuZmluZCgiLmRhdGVwaWNrZXItZGF5cyB0aGVhZCIpLmFwcGVuZChjKX0sZmlsbE1vbnRoczpmdW5jdGlvbigpe2Zvcih2YXIgYT10aGlzLl91dGNfdG9fbG9jYWwodGhpcy52aWV3RGF0ZSksYj0iIixjPTA7MTI+Yzspe3ZhciBkPWEmJmEuZ2V0TW9udGgoKT09PWM/IiBmb2N1c2VkIjoiIjtiKz0nPHNwYW4gY2xhc3M9Im1vbnRoJytkKyciPicrcVt0aGlzLm8ubGFuZ3VhZ2VdLm1vbnRoc1Nob3J0W2MrK10rIjwvc3Bhbj4ifXRoaXMucGlja2VyLmZpbmQoIi5kYXRlcGlja2VyLW1vbnRocyB0ZCIpLmh0bWwoYil9LHNldFJhbmdlOmZ1bmN0aW9uKGIpe2ImJmIubGVuZ3RoP3RoaXMucmFuZ2U9YS5tYXAoYixmdW5jdGlvbihhKXtyZXR1cm4gYS52YWx1ZU9mKCl9KTpkZWxldGUgdGhpcy5yYW5nZSx0aGlzLmZpbGwoKX0sZ2V0Q2xhc3NOYW1lczpmdW5jdGlvbihiKXt2YXIgYz1bXSxmPXRoaXMudmlld0RhdGUuZ2V0VVRDRnVsbFllYXIoKSxnPXRoaXMudmlld0RhdGUuZ2V0VVRDTW9udGgoKSxoPWQoKTtyZXR1cm4gYi5nZXRVVENGdWxsWWVhcigpPGZ8fGIuZ2V0VVRDRnVsbFllYXIoKT09PWYmJmIuZ2V0VVRDTW9udGgoKTxnP2MucHVzaCgib2xkIik6KGIuZ2V0VVRDRnVsbFllYXIoKT5mfHxiLmdldFVUQ0Z1bGxZZWFyKCk9PT1mJiZiLmdldFVUQ01vbnRoKCk+ZykmJmMucHVzaCgibmV3IiksdGhpcy5mb2N1c0RhdGUmJmIudmFsdWVPZigpPT09dGhpcy5mb2N1c0RhdGUudmFsdWVPZigpJiZjLnB1c2goImZvY3VzZWQiKSx0aGlzLm8udG9kYXlIaWdobGlnaHQmJmUoYixoKSYmYy5wdXNoKCJ0b2RheSIpLC0xIT09dGhpcy5kYXRlcy5jb250YWlucyhiKSYmYy5wdXNoKCJhY3RpdmUiKSx0aGlzLmRhdGVXaXRoaW5SYW5nZShiKXx8Yy5wdXNoKCJkaXNhYmxlZCIpLHRoaXMuZGF0ZUlzRGlzYWJsZWQoYikmJmMucHVzaCgiZGlzYWJsZWQiLCJkaXNhYmxlZC1kYXRlIiksLTEhPT1hLmluQXJyYXkoYi5nZXRVVENEYXkoKSx0aGlzLm8uZGF5c09mV2Vla0hpZ2hsaWdodGVkKSYmYy5wdXNoKCJoaWdobGlnaHRlZCIpLHRoaXMucmFuZ2UmJihiPnRoaXMucmFuZ2VbMF0mJmI8dGhpcy5yYW5nZVt0aGlzLnJhbmdlLmxlbmd0aC0xXSYmYy5wdXNoKCJyYW5nZSIpLC0xIT09YS5pbkFycmF5KGIudmFsdWVPZigpLHRoaXMucmFuZ2UpJiZjLnB1c2goInNlbGVjdGVkIiksYi52YWx1ZU9mKCk9PT10aGlzLnJhbmdlWzBdJiZjLnB1c2goInJhbmdlLXN0YXJ0IiksYi52YWx1ZU9mKCk9PT10aGlzLnJhbmdlW3RoaXMucmFuZ2UubGVuZ3RoLTFdJiZjLnB1c2goInJhbmdlLWVuZCIpKSxjfSxfZmlsbF95ZWFyc1ZpZXc6ZnVuY3Rpb24oYyxkLGUsZixnLGgsaSxqKXt2YXIgayxsLG0sbixvLHAscSxyLHMsdCx1O2ZvcihrPSIiLGw9dGhpcy5waWNrZXIuZmluZChjKSxtPXBhcnNlSW50KGcvZSwxMCkqZSxvPXBhcnNlSW50KGgvZiwxMCkqZixwPXBhcnNlSW50KGkvZiwxMCkqZixuPWEubWFwKHRoaXMuZGF0ZXMsZnVuY3Rpb24oYSl7cmV0dXJuIHBhcnNlSW50KGEuZ2V0VVRDRnVsbFllYXIoKS9mLDEwKSpmfSksbC5maW5kKCIuZGF0ZXBpY2tlci1zd2l0Y2giKS50ZXh0KG0rIi0iKyhtKzkqZikpLHE9bS1mLHI9LTE7MTE+cjtyKz0xKXM9W2RdLHQ9bnVsbCwtMT09PXI/cy5wdXNoKCJvbGQiKToxMD09PXImJnMucHVzaCgibmV3IiksLTEhPT1hLmluQXJyYXkocSxuKSYmcy5wdXNoKCJhY3RpdmUiKSwobz5xfHxxPnApJiZzLnB1c2goImRpc2FibGVkIikscT09PXRoaXMudmlld0RhdGUuZ2V0RnVsbFllYXIoKSYmcy5wdXNoKCJmb2N1c2VkIiksaiE9PWEubm9vcCYmKHU9aihuZXcgRGF0ZShxLDAsMSkpLHU9PT1iP3U9e306ImJvb2xlYW4iPT10eXBlb2YgdT91PXtlbmFibGVkOnV9OiJzdHJpbmciPT10eXBlb2YgdSYmKHU9e2NsYXNzZXM6dX0pLHUuZW5hYmxlZD09PSExJiZzLnB1c2goImRpc2FibGVkIiksdS5jbGFzc2VzJiYocz1zLmNvbmNhdCh1LmNsYXNzZXMuc3BsaXQoL1xzKy8pKSksdS50b29sdGlwJiYodD11LnRvb2x0aXApKSxrKz0nPHNwYW4gY2xhc3M9Iicrcy5qb2luKCIgIikrJyInKyh0PycgdGl0bGU9IicrdCsnIic6IiIpKyI+IitxKyI8L3NwYW4+IixxKz1mO2wuZmluZCgidGQiKS5odG1sKGspfSxmaWxsOmZ1bmN0aW9uKCl7dmFyIGQsZSxmPW5ldyBEYXRlKHRoaXMudmlld0RhdGUpLGc9Zi5nZXRVVENGdWxsWWVhcigpLGg9Zi5nZXRVVENNb250aCgpLGk9dGhpcy5vLnN0YXJ0RGF0ZSE9PS0oMS8wKT90aGlzLm8uc3RhcnREYXRlLmdldFVUQ0Z1bGxZZWFyKCk6LSgxLzApLGo9dGhpcy5vLnN0YXJ0RGF0ZSE9PS0oMS8wKT90aGlzLm8uc3RhcnREYXRlLmdldFVUQ01vbnRoKCk6LSgxLzApLGs9dGhpcy5vLmVuZERhdGUhPT0xLzA/dGhpcy5vLmVuZERhdGUuZ2V0VVRDRnVsbFllYXIoKToxLzAsbD10aGlzLm8uZW5kRGF0ZSE9PTEvMD90aGlzLm8uZW5kRGF0ZS5nZXRVVENNb250aCgpOjEvMCxtPXFbdGhpcy5vLmxhbmd1YWdlXS50b2RheXx8cS5lbi50b2RheXx8IiIsbj1xW3RoaXMuby5sYW5ndWFnZV0uY2xlYXJ8fHEuZW4uY2xlYXJ8fCIiLG89cVt0aGlzLm8ubGFuZ3VhZ2VdLnRpdGxlRm9ybWF0fHxxLmVuLnRpdGxlRm9ybWF0O2lmKCFpc05hTihnKSYmIWlzTmFOKGgpKXt0aGlzLnBpY2tlci5maW5kKCIuZGF0ZXBpY2tlci1kYXlzIC5kYXRlcGlja2VyLXN3aXRjaCIpLnRleHQoci5mb3JtYXREYXRlKGYsbyx0aGlzLm8ubGFuZ3VhZ2UpKSx0aGlzLnBpY2tlci5maW5kKCJ0Zm9vdCAudG9kYXkiKS50ZXh0KG0pLnRvZ2dsZSh0aGlzLm8udG9kYXlCdG4hPT0hMSksdGhpcy5waWNrZXIuZmluZCgidGZvb3QgLmNsZWFyIikudGV4dChuKS50b2dnbGUodGhpcy5vLmNsZWFyQnRuIT09ITEpLHRoaXMucGlja2VyLmZpbmQoInRoZWFkIC5kYXRlcGlja2VyLXRpdGxlIikudGV4dCh0aGlzLm8udGl0bGUpLnRvZ2dsZSgiIiE9PXRoaXMuby50aXRsZSksdGhpcy51cGRhdGVOYXZBcnJvd3MoKSx0aGlzLmZpbGxNb250aHMoKTt2YXIgcD1jKGcsaCwwKSxzPXAuZ2V0VVRDRGF0ZSgpO3Auc2V0VVRDRGF0ZShzLShwLmdldFVUQ0RheSgpLXRoaXMuby53ZWVrU3RhcnQrNyklNyk7dmFyIHQ9bmV3IERhdGUocCk7cC5nZXRVVENGdWxsWWVhcigpPDEwMCYmdC5zZXRVVENGdWxsWWVhcihwLmdldFVUQ0Z1bGxZZWFyKCkpLHQuc2V0VVRDRGF0ZSh0LmdldFVUQ0RhdGUoKSs0MiksdD10LnZhbHVlT2YoKTtmb3IodmFyIHUsdix3PVtdO3AudmFsdWVPZigpPHQ7KXtpZih1PXAuZ2V0VVRDRGF5KCksdT09PXRoaXMuby53ZWVrU3RhcnQmJih3LnB1c2goIjx0cj4iKSx0aGlzLm8uY2FsZW5kYXJXZWVrcykpe3ZhciB4PW5ldyBEYXRlKCtwKyh0aGlzLm8ud2Vla1N0YXJ0LXUtNyklNyo4NjRlNSkseT1uZXcgRGF0ZShOdW1iZXIoeCkrKDExLXguZ2V0VVRDRGF5KCkpJTcqODY0ZTUpLHo9bmV3IERhdGUoTnVtYmVyKHo9Yyh5LmdldFVUQ0Z1bGxZZWFyKCksMCwxKSkrKDExLXouZ2V0VVRDRGF5KCkpJTcqODY0ZTUpLEE9KHkteikvODY0ZTUvNysxO3cucHVzaCgnPHRkIGNsYXNzPSJjdyI+JytBKyI8L3RkPiIpfXY9dGhpcy5nZXRDbGFzc05hbWVzKHApLHYucHVzaCgiZGF5IiksdGhpcy5vLmJlZm9yZVNob3dEYXkhPT1hLm5vb3AmJihlPXRoaXMuby5iZWZvcmVTaG93RGF5KHRoaXMuX3V0Y190b19sb2NhbChwKSksZT09PWI/ZT17fToiYm9vbGVhbiI9PXR5cGVvZiBlP2U9e2VuYWJsZWQ6ZX06InN0cmluZyI9PXR5cGVvZiBlJiYoZT17Y2xhc3NlczplfSksZS5lbmFibGVkPT09ITEmJnYucHVzaCgiZGlzYWJsZWQiKSxlLmNsYXNzZXMmJih2PXYuY29uY2F0KGUuY2xhc3Nlcy5zcGxpdCgvXHMrLykpKSxlLnRvb2x0aXAmJihkPWUudG9vbHRpcCkpLHY9YS51bmlxdWUodiksdy5wdXNoKCc8dGQgY2xhc3M9Iicrdi5qb2luKCIgIikrJyInKyhkPycgdGl0bGU9IicrZCsnIic6IiIpKyh0aGlzLm8uZGF0ZUNlbGxzPycgZGF0YS1kYXRlPSInK3AuZ2V0VGltZSgpLnRvU3RyaW5nKCkrJyInOiIiKSsiPiIrcC5nZXRVVENEYXRlKCkrIjwvdGQ+IiksZD1udWxsLHU9PT10aGlzLm8ud2Vla0VuZCYmdy5wdXNoKCI8L3RyPiIpLHAuc2V0VVRDRGF0ZShwLmdldFVUQ0RhdGUoKSsxKX10aGlzLnBpY2tlci5maW5kKCIuZGF0ZXBpY2tlci1kYXlzIHRib2R5IikuaHRtbCh3LmpvaW4oIiIpKTt2YXIgQj1xW3RoaXMuby5sYW5ndWFnZV0ubW9udGhzVGl0bGV8fHEuZW4ubW9udGhzVGl0bGV8fCJNb250aHMiLEM9dGhpcy5waWNrZXIuZmluZCgiLmRhdGVwaWNrZXItbW9udGhzIikuZmluZCgiLmRhdGVwaWNrZXItc3dpdGNoIikudGV4dCh0aGlzLm8ubWF4Vmlld01vZGU8Mj9COmcpLmVuZCgpLmZpbmQoInRib2R5IHNwYW4iKS5yZW1vdmVDbGFzcygiYWN0aXZlIik7aWYoYS5lYWNoKHRoaXMuZGF0ZXMsZnVuY3Rpb24oYSxiKXtiLmdldFVUQ0Z1bGxZZWFyKCk9PT1nJiZDLmVxKGIuZ2V0VVRDTW9udGgoKSkuYWRkQ2xhc3MoImFjdGl2ZSIpfSksKGk+Z3x8Zz5rKSYmQy5hZGRDbGFzcygiZGlzYWJsZWQiKSxnPT09aSYmQy5zbGljZSgwLGopLmFkZENsYXNzKCJkaXNhYmxlZCIpLGc9PT1rJiZDLnNsaWNlKGwrMSkuYWRkQ2xhc3MoImRpc2FibGVkIiksdGhpcy5vLmJlZm9yZVNob3dNb250aCE9PWEubm9vcCl7dmFyIEQ9dGhpczthLmVhY2goQyxmdW5jdGlvbihjLGQpe3ZhciBlPW5ldyBEYXRlKGcsYywxKSxmPUQuby5iZWZvcmVTaG93TW9udGgoZSk7Zj09PWI/Zj17fToiYm9vbGVhbiI9PXR5cGVvZiBmP2Y9e2VuYWJsZWQ6Zn06InN0cmluZyI9PXR5cGVvZiBmJiYoZj17Y2xhc3NlczpmfSksZi5lbmFibGVkIT09ITF8fGEoZCkuaGFzQ2xhc3MoImRpc2FibGVkIil8fGEoZCkuYWRkQ2xhc3MoImRpc2FibGVkIiksZi5jbGFzc2VzJiZhKGQpLmFkZENsYXNzKGYuY2xhc3NlcyksZi50b29sdGlwJiZhKGQpLnByb3AoInRpdGxlIixmLnRvb2x0aXApfSl9dGhpcy5fZmlsbF95ZWFyc1ZpZXcoIi5kYXRlcGlja2VyLXllYXJzIiwieWVhciIsMTAsMSxnLGksayx0aGlzLm8uYmVmb3JlU2hvd1llYXIpLHRoaXMuX2ZpbGxfeWVhcnNWaWV3KCIuZGF0ZXBpY2tlci1kZWNhZGVzIiwiZGVjYWRlIiwxMDAsMTAsZyxpLGssdGhpcy5vLmJlZm9yZVNob3dEZWNhZGUpLHRoaXMuX2ZpbGxfeWVhcnNWaWV3KCIuZGF0ZXBpY2tlci1jZW50dXJpZXMiLCJjZW50dXJ5IiwxZTMsMTAwLGcsaSxrLHRoaXMuby5iZWZvcmVTaG93Q2VudHVyeSl9fSx1cGRhdGVOYXZBcnJvd3M6ZnVuY3Rpb24oKXtpZih0aGlzLl9hbGxvd191cGRhdGUpe3ZhciBhLGIsYz1uZXcgRGF0ZSh0aGlzLnZpZXdEYXRlKSxkPWMuZ2V0VVRDRnVsbFllYXIoKSxlPWMuZ2V0VVRDTW9udGgoKTtzd2l0Y2godGhpcy52aWV3TW9kZSl7Y2FzZSAwOmE9dGhpcy5vLnN0YXJ0RGF0ZSE9PS0oMS8wKSYmZDw9dGhpcy5vLnN0YXJ0RGF0ZS5nZXRVVENGdWxsWWVhcigpJiZlPD10aGlzLm8uc3RhcnREYXRlLmdldFVUQ01vbnRoKCksYj10aGlzLm8uZW5kRGF0ZSE9PTEvMCYmZD49dGhpcy5vLmVuZERhdGUuZ2V0VVRDRnVsbFllYXIoKSYmZT49dGhpcy5vLmVuZERhdGUuZ2V0VVRDTW9udGgoKTticmVhaztjYXNlIDE6Y2FzZSAyOmNhc2UgMzpjYXNlIDQ6YT10aGlzLm8uc3RhcnREYXRlIT09LSgxLzApJiZkPD10aGlzLm8uc3RhcnREYXRlLmdldFVUQ0Z1bGxZZWFyKCksYj10aGlzLm8uZW5kRGF0ZSE9PTEvMCYmZD49dGhpcy5vLmVuZERhdGUuZ2V0VVRDRnVsbFllYXIoKX10aGlzLnBpY2tlci5maW5kKCIucHJldiIpLnRvZ2dsZUNsYXNzKCJkaXNhYmxlZCIsYSksdGhpcy5waWNrZXIuZmluZCgiLm5leHQiKS50b2dnbGVDbGFzcygiZGlzYWJsZWQiLGIpfX0sY2xpY2s6ZnVuY3Rpb24oYil7Yi5wcmV2ZW50RGVmYXVsdCgpLGIuc3RvcFByb3BhZ2F0aW9uKCk7dmFyIGUsZixnLGgsaTtlPWEoYi50YXJnZXQpLGUuaGFzQ2xhc3MoImRhdGVwaWNrZXItc3dpdGNoIikmJnRoaXMuc2V0Vmlld01vZGUodGhpcy52aWV3TW9kZSsxKSxlLmhhc0NsYXNzKCJ0b2RheSIpJiYhZS5oYXNDbGFzcygiZGF5IikmJih0aGlzLnNldFZpZXdNb2RlKDApLHRoaXMuX3NldERhdGUoZCgpLCJsaW5rZWQiPT09dGhpcy5vLnRvZGF5QnRuP251bGw6InZpZXciKSksZS5oYXNDbGFzcygiY2xlYXIiKSYmdGhpcy5jbGVhckRhdGVzKCksZS5oYXNDbGFzcygiZGlzYWJsZWQiKXx8KGUuaGFzQ2xhc3MoImRheSIpJiYoZz1OdW1iZXIoZS50ZXh0KCkpLGg9dGhpcy52aWV3RGF0ZS5nZXRVVENGdWxsWWVhcigpLGk9dGhpcy52aWV3RGF0ZS5nZXRVVENNb250aCgpLChlLmhhc0NsYXNzKCJvbGQiKXx8ZS5oYXNDbGFzcygibmV3IikpJiYoZj1lLmhhc0NsYXNzKCJvbGQiKT8tMToxLGk9KGkrZisxMiklMTIsKC0xPT09ZiYmMTE9PT1pfHwxPT09ZiYmMD09PWkpJiYoaCs9Zix0aGlzLl90cmlnZ2VyKCJjaGFuZ2VZZWFyIix0aGlzLnZpZXdEYXRlKSksdGhpcy5fdHJpZ2dlcigiY2hhbmdlTW9udGgiLHRoaXMudmlld0RhdGUpKSx0aGlzLl9zZXREYXRlKGMoaCxpLGcpKSksKGUuaGFzQ2xhc3MoIm1vbnRoIil8fGUuaGFzQ2xhc3MoInllYXIiKXx8ZS5oYXNDbGFzcygiZGVjYWRlIil8fGUuaGFzQ2xhc3MoImNlbnR1cnkiKSkmJih0aGlzLnZpZXdEYXRlLnNldFVUQ0RhdGUoMSksZz0xLDE9PT10aGlzLnZpZXdNb2RlPyhpPWUucGFyZW50KCkuZmluZCgic3BhbiIpLmluZGV4KGUpLGg9dGhpcy52aWV3RGF0ZS5nZXRVVENGdWxsWWVhcigpLHRoaXMudmlld0RhdGUuc2V0VVRDTW9udGgoaSkpOihpPTAsaD1OdW1iZXIoZS50ZXh0KCkpLHRoaXMudmlld0RhdGUuc2V0VVRDRnVsbFllYXIoaCkpLHRoaXMuX3RyaWdnZXIoci52aWV3TW9kZXNbdGhpcy52aWV3TW9kZS0xXS5lLHRoaXMudmlld0RhdGUpLHRoaXMudmlld01vZGU9PT10aGlzLm8ubWluVmlld01vZGU/dGhpcy5fc2V0RGF0ZShjKGgsaSxnKSk6KHRoaXMuc2V0Vmlld01vZGUodGhpcy52aWV3TW9kZS0xKSx0aGlzLmZpbGwoKSkpKSx0aGlzLnBpY2tlci5pcygiOnZpc2libGUiKSYmdGhpcy5fZm9jdXNlZF9mcm9tJiZ0aGlzLl9mb2N1c2VkX2Zyb20uZm9jdXMoKSxkZWxldGUgdGhpcy5fZm9jdXNlZF9mcm9tfSxuYXZBcnJvd3NDbGljazpmdW5jdGlvbihiKXt2YXIgYz1hKGIudGFyZ2V0KSxkPWMuaGFzQ2xhc3MoInByZXYiKT8tMToxOzAhPT10aGlzLnZpZXdNb2RlJiYoZCo9MTIqci52aWV3TW9kZXNbdGhpcy52aWV3TW9kZV0ubmF2U3RlcCksdGhpcy52aWV3RGF0ZT10aGlzLm1vdmVNb250aCh0aGlzLnZpZXdEYXRlLGQpLHRoaXMuX3RyaWdnZXIoci52aWV3TW9kZXNbdGhpcy52aWV3TW9kZV0uZSx0aGlzLnZpZXdEYXRlKSx0aGlzLmZpbGwoKX0sX3RvZ2dsZV9tdWx0aWRhdGU6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5kYXRlcy5jb250YWlucyhhKTtpZihhfHx0aGlzLmRhdGVzLmNsZWFyKCksLTEhPT1iPyh0aGlzLm8ubXVsdGlkYXRlPT09ITB8fHRoaXMuby5tdWx0aWRhdGU+MXx8dGhpcy5vLnRvZ2dsZUFjdGl2ZSkmJnRoaXMuZGF0ZXMucmVtb3ZlKGIpOnRoaXMuby5tdWx0aWRhdGU9PT0hMT8odGhpcy5kYXRlcy5jbGVhcigpLHRoaXMuZGF0ZXMucHVzaChhKSk6dGhpcy5kYXRlcy5wdXNoKGEpLCJudW1iZXIiPT10eXBlb2YgdGhpcy5vLm11bHRpZGF0ZSlmb3IoO3RoaXMuZGF0ZXMubGVuZ3RoPnRoaXMuby5tdWx0aWRhdGU7KXRoaXMuZGF0ZXMucmVtb3ZlKDApfSxfc2V0RGF0ZTpmdW5jdGlvbihhLGIpe2ImJiJkYXRlIiE9PWJ8fHRoaXMuX3RvZ2dsZV9tdWx0aWRhdGUoYSYmbmV3IERhdGUoYSkpLGImJiJ2aWV3IiE9PWJ8fCh0aGlzLnZpZXdEYXRlPWEmJm5ldyBEYXRlKGEpKSx0aGlzLmZpbGwoKSx0aGlzLnNldFZhbHVlKCksYiYmInZpZXciPT09Ynx8dGhpcy5fdHJpZ2dlcigiY2hhbmdlRGF0ZSIpLHRoaXMuaW5wdXRGaWVsZC50cmlnZ2VyKCJjaGFuZ2UiKSwhdGhpcy5vLmF1dG9jbG9zZXx8YiYmImRhdGUiIT09Ynx8dGhpcy5oaWRlKCl9LG1vdmVEYXk6ZnVuY3Rpb24oYSxiKXt2YXIgYz1uZXcgRGF0ZShhKTtyZXR1cm4gYy5zZXRVVENEYXRlKGEuZ2V0VVRDRGF0ZSgpK2IpLGN9LG1vdmVXZWVrOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubW92ZURheShhLDcqYil9LG1vdmVNb250aDpmdW5jdGlvbihhLGIpe2lmKCFnKGEpKXJldHVybiB0aGlzLm8uZGVmYXVsdFZpZXdEYXRlO2lmKCFiKXJldHVybiBhO3ZhciBjLGQsZT1uZXcgRGF0ZShhLnZhbHVlT2YoKSksZj1lLmdldFVUQ0RhdGUoKSxoPWUuZ2V0VVRDTW9udGgoKSxpPU1hdGguYWJzKGIpO2lmKGI9Yj4wPzE6LTEsMT09PWkpZD0tMT09PWI/ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXRVVENNb250aCgpPT09aH06ZnVuY3Rpb24oKXtyZXR1cm4gZS5nZXRVVENNb250aCgpIT09Y30sYz1oK2IsZS5zZXRVVENNb250aChjKSxjPShjKzEyKSUxMjtlbHNle2Zvcih2YXIgaj0wO2k+ajtqKyspZT10aGlzLm1vdmVNb250aChlLGIpO2M9ZS5nZXRVVENNb250aCgpLGUuc2V0VVRDRGF0ZShmKSxkPWZ1bmN0aW9uKCl7cmV0dXJuIGMhPT1lLmdldFVUQ01vbnRoKCl9fWZvcig7ZCgpOyllLnNldFVUQ0RhdGUoLS1mKSxlLnNldFVUQ01vbnRoKGMpO3JldHVybiBlfSxtb3ZlWWVhcjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLm1vdmVNb250aChhLDEyKmIpfSxtb3ZlQXZhaWxhYmxlRGF0ZTpmdW5jdGlvbihhLGIsYyl7ZG97aWYoYT10aGlzW2NdKGEsYiksIXRoaXMuZGF0ZVdpdGhpblJhbmdlKGEpKXJldHVybiExO2M9Im1vdmVEYXkifXdoaWxlKHRoaXMuZGF0ZUlzRGlzYWJsZWQoYSkpO3JldHVybiBhfSx3ZWVrT2ZEYXRlSXNEaXNhYmxlZDpmdW5jdGlvbihiKXtyZXR1cm4tMSE9PWEuaW5BcnJheShiLmdldFVUQ0RheSgpLHRoaXMuby5kYXlzT2ZXZWVrRGlzYWJsZWQpfSxkYXRlSXNEaXNhYmxlZDpmdW5jdGlvbihiKXtyZXR1cm4gdGhpcy53ZWVrT2ZEYXRlSXNEaXNhYmxlZChiKXx8YS5ncmVwKHRoaXMuby5kYXRlc0Rpc2FibGVkLGZ1bmN0aW9uKGEpe3JldHVybiBlKGIsYSl9KS5sZW5ndGg+MH0sZGF0ZVdpdGhpblJhbmdlOmZ1bmN0aW9uKGEpe3JldHVybiBhPj10aGlzLm8uc3RhcnREYXRlJiZhPD10aGlzLm8uZW5kRGF0ZX0sa2V5ZG93bjpmdW5jdGlvbihhKXtpZighdGhpcy5waWNrZXIuaXMoIjp2aXNpYmxlIikpcmV0dXJuIHZvaWQoKDQwPT09YS5rZXlDb2RlfHwyNz09PWEua2V5Q29kZSkmJih0aGlzLnNob3coKSxhLnN0b3BQcm9wYWdhdGlvbigpKSk7dmFyIGIsYyxkPSExLGU9dGhpcy5mb2N1c0RhdGV8fHRoaXMudmlld0RhdGU7c3dpdGNoKGEua2V5Q29kZSl7Y2FzZSAyNzp0aGlzLmZvY3VzRGF0ZT8odGhpcy5mb2N1c0RhdGU9bnVsbCx0aGlzLnZpZXdEYXRlPXRoaXMuZGF0ZXMuZ2V0KC0xKXx8dGhpcy52aWV3RGF0ZSx0aGlzLmZpbGwoKSk6dGhpcy5oaWRlKCksYS5wcmV2ZW50RGVmYXVsdCgpLGEuc3RvcFByb3BhZ2F0aW9uKCk7YnJlYWs7Y2FzZSAzNzpjYXNlIDM4OmNhc2UgMzk6Y2FzZSA0MDppZighdGhpcy5vLmtleWJvYXJkTmF2aWdhdGlvbnx8Nz09PXRoaXMuby5kYXlzT2ZXZWVrRGlzYWJsZWQubGVuZ3RoKWJyZWFrO2I9Mzc9PT1hLmtleUNvZGV8fDM4PT09YS5rZXlDb2RlPy0xOjEsMD09PXRoaXMudmlld01vZGU/YS5jdHJsS2V5PyhjPXRoaXMubW92ZUF2YWlsYWJsZURhdGUoZSxiLCJtb3ZlWWVhciIpLGMmJnRoaXMuX3RyaWdnZXIoImNoYW5nZVllYXIiLHRoaXMudmlld0RhdGUpKTphLnNoaWZ0S2V5PyhjPXRoaXMubW92ZUF2YWlsYWJsZURhdGUoZSxiLCJtb3ZlTW9udGgiKSxjJiZ0aGlzLl90cmlnZ2VyKCJjaGFuZ2VNb250aCIsdGhpcy52aWV3RGF0ZSkpOjM3PT09YS5rZXlDb2RlfHwzOT09PWEua2V5Q29kZT9jPXRoaXMubW92ZUF2YWlsYWJsZURhdGUoZSxiLCJtb3ZlRGF5Iik6dGhpcy53ZWVrT2ZEYXRlSXNEaXNhYmxlZChlKXx8KGM9dGhpcy5tb3ZlQXZhaWxhYmxlRGF0ZShlLGIsIm1vdmVXZWVrIikpOjE9PT10aGlzLnZpZXdNb2RlPygoMzg9PT1hLmtleUNvZGV8fDQwPT09YS5rZXlDb2RlKSYmKGI9NCpiKSxjPXRoaXMubW92ZUF2YWlsYWJsZURhdGUoZSxiLCJtb3ZlTW9udGgiKSk6Mj09PXRoaXMudmlld01vZGUmJigoMzg9PT1hLmtleUNvZGV8fDQwPT09YS5rZXlDb2RlKSYmKGI9NCpiKSxjPXRoaXMubW92ZUF2YWlsYWJsZURhdGUoZSxiLCJtb3ZlWWVhciIpKSxjJiYodGhpcy5mb2N1c0RhdGU9dGhpcy52aWV3RGF0ZT1jLHRoaXMuc2V0VmFsdWUoKSx0aGlzLmZpbGwoKSxhLnByZXZlbnREZWZhdWx0KCkpO2JyZWFrO2Nhc2UgMTM6aWYoIXRoaXMuby5mb3JjZVBhcnNlKWJyZWFrO2U9dGhpcy5mb2N1c0RhdGV8fHRoaXMuZGF0ZXMuZ2V0KC0xKXx8dGhpcy52aWV3RGF0ZSx0aGlzLm8ua2V5Ym9hcmROYXZpZ2F0aW9uJiYodGhpcy5fdG9nZ2xlX211bHRpZGF0ZShlKSxkPSEwKSx0aGlzLmZvY3VzRGF0ZT1udWxsLHRoaXMudmlld0RhdGU9dGhpcy5kYXRlcy5nZXQoLTEpfHx0aGlzLnZpZXdEYXRlLHRoaXMuc2V0VmFsdWUoKSx0aGlzLmZpbGwoKSx0aGlzLnBpY2tlci5pcygiOnZpc2libGUiKSYmKGEucHJldmVudERlZmF1bHQoKSxhLnN0b3BQcm9wYWdhdGlvbigpLHRoaXMuby5hdXRvY2xvc2UmJnRoaXMuaGlkZSgpKTticmVhaztjYXNlIDk6dGhpcy5mb2N1c0RhdGU9bnVsbCx0aGlzLnZpZXdEYXRlPXRoaXMuZGF0ZXMuZ2V0KC0xKXx8dGhpcy52aWV3RGF0ZSx0aGlzLmZpbGwoKSx0aGlzLmhpZGUoKX1kJiYodGhpcy5kYXRlcy5sZW5ndGg/dGhpcy5fdHJpZ2dlcigiY2hhbmdlRGF0ZSIpOnRoaXMuX3RyaWdnZXIoImNsZWFyRGF0ZSIpLHRoaXMuaW5wdXRGaWVsZC50cmlnZ2VyKCJjaGFuZ2UiKSl9LHNldFZpZXdNb2RlOmZ1bmN0aW9uKGEpe3RoaXMudmlld01vZGU9YSx0aGlzLnBpY2tlci5jaGlsZHJlbigiZGl2IikuaGlkZSgpLmZpbHRlcigiLmRhdGVwaWNrZXItIityLnZpZXdNb2Rlc1t0aGlzLnZpZXdNb2RlXS5jbHNOYW1lKS5zaG93KCksdGhpcy51cGRhdGVOYXZBcnJvd3MoKX19O3ZhciBsPWZ1bmN0aW9uKGIsYyl7YS5kYXRhKGIsImRhdGVwaWNrZXIiLHRoaXMpLHRoaXMuZWxlbWVudD1hKGIpLHRoaXMuaW5wdXRzPWEubWFwKGMuaW5wdXRzLGZ1bmN0aW9uKGEpe3JldHVybiBhLmpxdWVyeT9hWzBdOmF9KSxkZWxldGUgYy5pbnB1dHMsdGhpcy5rZWVwRW1wdHlWYWx1ZXM9Yy5rZWVwRW1wdHlWYWx1ZXMsZGVsZXRlIGMua2VlcEVtcHR5VmFsdWVzLG4uY2FsbChhKHRoaXMuaW5wdXRzKSxjKS5vbigiY2hhbmdlRGF0ZSIsYS5wcm94eSh0aGlzLmRhdGVVcGRhdGVkLHRoaXMpKSx0aGlzLnBpY2tlcnM9YS5tYXAodGhpcy5pbnB1dHMsZnVuY3Rpb24oYil7cmV0dXJuIGEuZGF0YShiLCJkYXRlcGlja2VyIil9KSx0aGlzLnVwZGF0ZURhdGVzKCl9O2wucHJvdG90eXBlPXt1cGRhdGVEYXRlczpmdW5jdGlvbigpe3RoaXMuZGF0ZXM9YS5tYXAodGhpcy5waWNrZXJzLGZ1bmN0aW9uKGEpe3JldHVybiBhLmdldFVUQ0RhdGUoKX0pLHRoaXMudXBkYXRlUmFuZ2VzKCl9LHVwZGF0ZVJhbmdlczpmdW5jdGlvbigpe3ZhciBiPWEubWFwKHRoaXMuZGF0ZXMsZnVuY3Rpb24oYSl7cmV0dXJuIGEudmFsdWVPZigpfSk7YS5lYWNoKHRoaXMucGlja2VycyxmdW5jdGlvbihhLGMpe2Muc2V0UmFuZ2UoYil9KX0sZGF0ZVVwZGF0ZWQ6ZnVuY3Rpb24oYyl7aWYoIXRoaXMudXBkYXRpbmcpe3RoaXMudXBkYXRpbmc9ITA7dmFyIGQ9YS5kYXRhKGMudGFyZ2V0LCJkYXRlcGlja2VyIik7aWYoZCE9PWIpe3ZhciBlPWQuZ2V0VVRDRGF0ZSgpLGY9dGhpcy5rZWVwRW1wdHlWYWx1ZXMsZz1hLmluQXJyYXkoYy50YXJnZXQsdGhpcy5pbnB1dHMpLGg9Zy0xLGk9ZysxLGo9dGhpcy5pbnB1dHMubGVuZ3RoO2lmKC0xIT09Zyl7aWYoYS5lYWNoKHRoaXMucGlja2VycyxmdW5jdGlvbihhLGIpe2IuZ2V0VVRDRGF0ZSgpfHxiIT09ZCYmZnx8Yi5zZXRVVENEYXRlKGUpfSksZTx0aGlzLmRhdGVzW2hdKWZvcig7aD49MCYmZTx0aGlzLmRhdGVzW2hdOyl0aGlzLnBpY2tlcnNbaC0tXS5zZXRVVENEYXRlKGUpO2Vsc2UgaWYoZT50aGlzLmRhdGVzW2ldKWZvcig7aj5pJiZlPnRoaXMuZGF0ZXNbaV07KXRoaXMucGlja2Vyc1tpKytdLnNldFVUQ0RhdGUoZSk7dGhpcy51cGRhdGVEYXRlcygpLGRlbGV0ZSB0aGlzLnVwZGF0aW5nfX19fSxkZXN0cm95OmZ1bmN0aW9uKCl7YS5tYXAodGhpcy5waWNrZXJzLGZ1bmN0aW9uKGEpe2EuZGVzdHJveSgpfSksZGVsZXRlIHRoaXMuZWxlbWVudC5kYXRhKCkuZGF0ZXBpY2tlcn0scmVtb3ZlOmYoImRlc3Ryb3kiKX07dmFyIG09YS5mbi5kYXRlcGlja2VyLG49ZnVuY3Rpb24oYyl7dmFyIGQ9QXJyYXkuYXBwbHkobnVsbCxhcmd1bWVudHMpO2Quc2hpZnQoKTt2YXIgZTtpZih0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYj1hKHRoaXMpLGY9Yi5kYXRhKCJkYXRlcGlja2VyIiksZz0ib2JqZWN0Ij09dHlwZW9mIGMmJmM7aWYoIWYpe3ZhciBqPWgodGhpcywiZGF0ZSIpLG09YS5leHRlbmQoe30sbyxqLGcpLG49aShtLmxhbmd1YWdlKSxwPWEuZXh0ZW5kKHt9LG8sbixqLGcpO2IuaGFzQ2xhc3MoImlucHV0LWRhdGVyYW5nZSIpfHxwLmlucHV0cz8oYS5leHRlbmQocCx7aW5wdXRzOnAuaW5wdXRzfHxiLmZpbmQoImlucHV0IikudG9BcnJheSgpfSksZj1uZXcgbCh0aGlzLHApKTpmPW5ldyBrKHRoaXMscCksYi5kYXRhKCJkYXRlcGlja2VyIixmKX0ic3RyaW5nIj09dHlwZW9mIGMmJiJmdW5jdGlvbiI9PXR5cGVvZiBmW2NdJiYoZT1mW2NdLmFwcGx5KGYsZCkpfSksZT09PWJ8fGUgaW5zdGFuY2VvZiBrfHxlIGluc3RhbmNlb2YgbClyZXR1cm4gdGhpcztpZih0aGlzLmxlbmd0aD4xKXRocm93IG5ldyBFcnJvcigiVXNpbmcgb25seSBhbGxvd2VkIGZvciB0aGUgY29sbGVjdGlvbiBvZiBhIHNpbmdsZSBlbGVtZW50ICgiK2MrIiBmdW5jdGlvbikiKTtyZXR1cm4gZX07YS5mbi5kYXRlcGlja2VyPW47dmFyIG89YS5mbi5kYXRlcGlja2VyLmRlZmF1bHRzPXthc3N1bWVOZWFyYnlZZWFyOiExLGF1dG9jbG9zZTohMSxiZWZvcmVTaG93RGF5OmEubm9vcCxiZWZvcmVTaG93TW9udGg6YS5ub29wLGJlZm9yZVNob3dZZWFyOmEubm9vcCxiZWZvcmVTaG93RGVjYWRlOmEubm9vcCxiZWZvcmVTaG93Q2VudHVyeTphLm5vb3AsY2FsZW5kYXJXZWVrczohMSxjbGVhckJ0bjohMSx0b2dnbGVBY3RpdmU6ITEsZGF5c09mV2Vla0Rpc2FibGVkOltdLGRheXNPZldlZWtIaWdobGlnaHRlZDpbXSxkYXRlc0Rpc2FibGVkOltdLGVuZERhdGU6MS8wLGZvcmNlUGFyc2U6ITAsZm9ybWF0OiJtbS9kZC95eXl5IixrZWVwRW1wdHlWYWx1ZXM6ITEsa2V5Ym9hcmROYXZpZ2F0aW9uOiEwLGxhbmd1YWdlOiJlbiIsbWluVmlld01vZGU6MCxtYXhWaWV3TW9kZTo0LG11bHRpZGF0ZTohMSxtdWx0aWRhdGVTZXBhcmF0b3I6IiwiLG9yaWVudGF0aW9uOiJhdXRvIixydGw6ITEsc3RhcnREYXRlOi0oMS8wKSxzdGFydFZpZXc6MCx0b2RheUJ0bjohMSx0b2RheUhpZ2hsaWdodDohMSx3ZWVrU3RhcnQ6MCxkaXNhYmxlVG91Y2hLZXlib2FyZDohMSxlbmFibGVPblJlYWRvbmx5OiEwLHNob3dPbkZvY3VzOiEwLHpJbmRleE9mZnNldDoxMCxjb250YWluZXI6ImJvZHkiLGltbWVkaWF0ZVVwZGF0ZXM6ITEsZGF0ZUNlbGxzOiExLHRpdGxlOiIiLHRlbXBsYXRlczp7bGVmdEFycm93OiImbGFxdW87IixyaWdodEFycm93OiImcmFxdW87In19LHA9YS5mbi5kYXRlcGlja2VyLmxvY2FsZV9vcHRzPVsiZm9ybWF0IiwicnRsIiwid2Vla1N0YXJ0Il07YS5mbi5kYXRlcGlja2VyLkNvbnN0cnVjdG9yPWs7dmFyIHE9YS5mbi5kYXRlcGlja2VyLmRhdGVzPXtlbjp7ZGF5czpbIlN1bmRheSIsIk1vbmRheSIsIlR1ZXNkYXkiLCJXZWRuZXNkYXkiLCJUaHVyc2RheSIsIkZyaWRheSIsIlNhdHVyZGF5Il0sZGF5c1Nob3J0OlsiU3VuIiwiTW9uIiwiVHVlIiwiV2VkIiwiVGh1IiwiRnJpIiwiU2F0Il0sZGF5c01pbjpbIlN1IiwiTW8iLCJUdSIsIldlIiwiVGgiLCJGciIsIlNhIl0sbW9udGhzOlsiSmFudWFyeSIsIkZlYnJ1YXJ5IiwiTWFyY2giLCJBcHJpbCIsIk1heSIsIkp1bmUiLCJKdWx5IiwiQXVndXN0IiwiU2VwdGVtYmVyIiwiT2N0b2JlciIsIk5vdmVtYmVyIiwiRGVjZW1iZXIiXSxtb250aHNTaG9ydDpbIkphbiIsIkZlYiIsIk1hciIsIkFwciIsIk1heSIsIkp1biIsIkp1bCIsIkF1ZyIsIlNlcCIsIk9jdCIsIk5vdiIsIkRlYyJdLHRvZGF5OiJUb2RheSIsY2xlYXI6IkNsZWFyIix0aXRsZUZvcm1hdDoiTU0geXl5eSJ9fSxyPXt2aWV3TW9kZXM6W3tuYW1lczpbImRheXMiLCJtb250aCJdLGNsc05hbWU6ImRheXMiLGU6ImNoYW5nZU1vbnRoIn0se25hbWVzOlsibW9udGhzIiwieWVhciJdLGNsc05hbWU6Im1vbnRocyIsZToiY2hhbmdlWWVhciIsbmF2U3RlcDoxfSx7bmFtZXM6WyJ5ZWFycyIsImRlY2FkZSJdLGNsc05hbWU6InllYXJzIixlOiJjaGFuZ2VEZWNhZGUiLG5hdlN0ZXA6MTB9LHtuYW1lczpbImRlY2FkZXMiLCJjZW50dXJ5Il0sY2xzTmFtZToiZGVjYWRlcyIsZToiY2hhbmdlQ2VudHVyeSIsbmF2U3RlcDoxMDB9LHtuYW1lczpbImNlbnR1cmllcyIsIm1pbGxlbm5pdW0iXSxjbHNOYW1lOiJjZW50dXJpZXMiLGU6ImNoYW5nZU1pbGxlbm5pdW0iLG5hdlN0ZXA6MWUzfV0sdmFsaWRQYXJ0czovZGQ/fEREP3xtbT98TU0/fHl5KD86eXkpPy9nLG5vbnB1bmN0dWF0aW9uOi9bXiAtXC86LUBcdTVlNzRcdTY3MDhcdTY1ZTVcWy1gey1+XHRcblxyXSsvZyxwYXJzZUZvcm1hdDpmdW5jdGlvbihhKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgYS50b1ZhbHVlJiYiZnVuY3Rpb24iPT10eXBlb2YgYS50b0Rpc3BsYXkpcmV0dXJuIGE7dmFyIGI9YS5yZXBsYWNlKHRoaXMudmFsaWRQYXJ0cywiXHgwMCIpLnNwbGl0KCJceDAwIiksYz1hLm1hdGNoKHRoaXMudmFsaWRQYXJ0cyk7aWYoIWJ8fCFiLmxlbmd0aHx8IWN8fDA9PT1jLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoIkludmFsaWQgZGF0ZSBmb3JtYXQuIik7cmV0dXJue3NlcGFyYXRvcnM6YixwYXJ0czpjfX0scGFyc2VEYXRlOmZ1bmN0aW9uKGUsZixnLGgpe2Z1bmN0aW9uIGkoYSxiKXtyZXR1cm4gYj09PSEwJiYoYj0xMCksMTAwPmEmJihhKz0yZTMsYT4obmV3IERhdGUpLmdldEZ1bGxZZWFyKCkrYiYmKGEtPTEwMCkpLGF9ZnVuY3Rpb24gaigpe3ZhciBhPXRoaXMuc2xpY2UoMCxzW25dLmxlbmd0aCksYj1zW25dLnNsaWNlKDAsYS5sZW5ndGgpO3JldHVybiBhLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9aWYoIWUpcmV0dXJuIGI7aWYoZSBpbnN0YW5jZW9mIERhdGUpcmV0dXJuIGU7aWYoInN0cmluZyI9PXR5cGVvZiBmJiYoZj1yLnBhcnNlRm9ybWF0KGYpKSxmLnRvVmFsdWUpcmV0dXJuIGYudG9WYWx1ZShlLGYsZyk7dmFyIGwsbSxuLG8scD0vKFtcLStdXGQrKShbZG13eV0pLyxzPWUubWF0Y2goLyhbXC0rXVxkKykoW2Rtd3ldKS9nKSx0PXtkOiJtb3ZlRGF5IixtOiJtb3ZlTW9udGgiLHc6Im1vdmVXZWVrIix5OiJtb3ZlWWVhciJ9LHU9e3llc3RlcmRheToiLTFkIix0b2RheToiKzBkIix0b21vcnJvdzoiKzFkIn07aWYoL15bXC0rXVxkK1tkbXd5XShbXHMsXStbXC0rXVxkK1tkbXd5XSkqJC8udGVzdChlKSl7Zm9yKGU9bmV3IERhdGUsbj0wO248cy5sZW5ndGg7bisrKWw9cC5leGVjKHNbbl0pLG09cGFyc2VJbnQobFsxXSksbz10W2xbMl1dLGU9ay5wcm90b3R5cGVbb10oZSxtKTtyZXR1cm4gYyhlLmdldFVUQ0Z1bGxZZWFyKCksZS5nZXRVVENNb250aCgpLGUuZ2V0VVRDRGF0ZSgpKX1pZihlIGluIHUmJihlPXVbZV0scz1lLm1hdGNoKC8oW1wtK11cZCspKFtkbXd5XSkvZyksL15bXC0rXVxkK1tkbXd5XShbXHMsXStbXC0rXVxkK1tkbXd5XSkqJC8udGVzdChlKSkpe2ZvcihlPW5ldyBEYXRlLG49MDtuPHMubGVuZ3RoO24rKylsPXAuZXhlYyhzW25dKSxtPXBhcnNlSW50KGxbMV0pLG89dFtsWzJdXSxlPWsucHJvdG90eXBlW29dKGUsbSk7cmV0dXJuIGMoZS5nZXRVVENGdWxsWWVhcigpLGUuZ2V0VVRDTW9udGgoKSxlLmdldFVUQ0RhdGUoKSl9cz1lJiZlLm1hdGNoKHRoaXMubm9ucHVuY3R1YXRpb24pfHxbXSxlPW5ldyBEYXRlO3ZhciB2LHcseD17fSx5PVsieXl5eSIsInl5IiwiTSIsIk1NIiwibSIsIm1tIiwiZCIsImRkIl0sej17eXl5eTpmdW5jdGlvbihhLGIpe3JldHVybiBhLnNldFVUQ0Z1bGxZZWFyKGg/aShiLGgpOmIpfSxtOmZ1bmN0aW9uKGEsYil7aWYoaXNOYU4oYSkpcmV0dXJuIGE7Zm9yKGItPTE7MD5iOyliKz0xMjtmb3IoYiU9MTIsYS5zZXRVVENNb250aChiKTthLmdldFVUQ01vbnRoKCkhPT1iOylhLnNldFVUQ0RhdGUoYS5nZXRVVENEYXRlKCktMSk7cmV0dXJuIGF9LGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYS5zZXRVVENEYXRlKGIpfX07ei55eT16Lnl5eXksei5NPXouTU09ei5tbT16Lm0sei5kZD16LmQsZT1kKCk7dmFyIEE9Zi5wYXJ0cy5zbGljZSgpO2lmKHMubGVuZ3RoIT09QS5sZW5ndGgmJihBPWEoQSkuZmlsdGVyKGZ1bmN0aW9uKGIsYyl7cmV0dXJuLTEhPT1hLmluQXJyYXkoYyx5KX0pLnRvQXJyYXkoKSkscy5sZW5ndGg9PT1BLmxlbmd0aCl7dmFyIEI7Zm9yKG49MCxCPUEubGVuZ3RoO0I+bjtuKyspe2lmKHY9cGFyc2VJbnQoc1tuXSwxMCksbD1BW25dLGlzTmFOKHYpKXN3aXRjaChsKXtjYXNlIk1NIjp3PWEocVtnXS5tb250aHMpLmZpbHRlcihqKSx2PWEuaW5BcnJheSh3WzBdLHFbZ10ubW9udGhzKSsxO2JyZWFrO2Nhc2UiTSI6dz1hKHFbZ10ubW9udGhzU2hvcnQpLmZpbHRlcihqKSx2PWEuaW5BcnJheSh3WzBdLHFbZ10ubW9udGhzU2hvcnQpKzF9eFtsXT12fXZhciBDLEQ7Zm9yKG49MDtuPHkubGVuZ3RoO24rKylEPXlbbl0sRCBpbiB4JiYhaXNOYU4oeFtEXSkmJihDPW5ldyBEYXRlKGUpLHpbRF0oQyx4W0RdKSxpc05hTihDKXx8KGU9QykpfXJldHVybiBlfSxmb3JtYXREYXRlOmZ1bmN0aW9uKGIsYyxkKXtpZighYilyZXR1cm4iIjtpZigic3RyaW5nIj09dHlwZW9mIGMmJihjPXIucGFyc2VGb3JtYXQoYykpLGMudG9EaXNwbGF5KXJldHVybiBjLnRvRGlzcGxheShiLGMsZCk7dmFyIGU9e2Q6Yi5nZXRVVENEYXRlKCksRDpxW2RdLmRheXNTaG9ydFtiLmdldFVUQ0RheSgpXSxERDpxW2RdLmRheXNbYi5nZXRVVENEYXkoKV0sbTpiLmdldFVUQ01vbnRoKCkrMSxNOnFbZF0ubW9udGhzU2hvcnRbYi5nZXRVVENNb250aCgpXSxNTTpxW2RdLm1vbnRoc1tiLmdldFVUQ01vbnRoKCldLHl5OmIuZ2V0VVRDRnVsbFllYXIoKS50b1N0cmluZygpLnN1YnN0cmluZygyKSx5eXl5OmIuZ2V0VVRDRnVsbFllYXIoKX07ZS5kZD0oZS5kPDEwPyIwIjoiIikrZS5kLGUubW09KGUubTwxMD8iMCI6IiIpK2UubSxiPVtdO2Zvcih2YXIgZj1hLmV4dGVuZChbXSxjLnNlcGFyYXRvcnMpLGc9MCxoPWMucGFydHMubGVuZ3RoO2g+PWc7ZysrKWYubGVuZ3RoJiZiLnB1c2goZi5zaGlmdCgpKSxiLnB1c2goZVtjLnBhcnRzW2ddXSk7cmV0dXJuIGIuam9pbigiIil9LGhlYWRUZW1wbGF0ZTonPHRoZWFkPjx0cj48dGggY29sc3Bhbj0iNyIgY2xhc3M9ImRhdGVwaWNrZXItdGl0bGUiPjwvdGg+PC90cj48dHI+PHRoIGNsYXNzPSJwcmV2Ij4mbGFxdW87PC90aD48dGggY29sc3Bhbj0iNSIgY2xhc3M9ImRhdGVwaWNrZXItc3dpdGNoIj48L3RoPjx0aCBjbGFzcz0ibmV4dCI+JnJhcXVvOzwvdGg+PC90cj48L3RoZWFkPicsY29udFRlbXBsYXRlOic8dGJvZHk+PHRyPjx0ZCBjb2xzcGFuPSI3Ij48L3RkPjwvdHI+PC90Ym9keT4nLGZvb3RUZW1wbGF0ZTonPHRmb290Pjx0cj48dGggY29sc3Bhbj0iNyIgY2xhc3M9InRvZGF5Ij48L3RoPjwvdHI+PHRyPjx0aCBjb2xzcGFuPSI3IiBjbGFzcz0iY2xlYXIiPjwvdGg+PC90cj48L3Rmb290Pid9O3IudGVtcGxhdGU9JzxkaXYgY2xhc3M9ImRhdGVwaWNrZXIiPjxkaXYgY2xhc3M9ImRhdGVwaWNrZXItZGF5cyI+PHRhYmxlIGNsYXNzPSJ0YWJsZS1jb25kZW5zZWQiPicrci5oZWFkVGVtcGxhdGUrIjx0Ym9keT48L3Rib2R5PiIrci5mb290VGVtcGxhdGUrJzwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0iZGF0ZXBpY2tlci1tb250aHMiPjx0YWJsZSBjbGFzcz0idGFibGUtY29uZGVuc2VkIj4nK3IuaGVhZFRlbXBsYXRlK3IuY29udFRlbXBsYXRlK3IuZm9vdFRlbXBsYXRlKyc8L3RhYmxlPjwvZGl2PjxkaXYgY2xhc3M9ImRhdGVwaWNrZXIteWVhcnMiPjx0YWJsZSBjbGFzcz0idGFibGUtY29uZGVuc2VkIj4nK3IuaGVhZFRlbXBsYXRlK3IuY29udFRlbXBsYXRlK3IuZm9vdFRlbXBsYXRlKyc8L3RhYmxlPjwvZGl2PjxkaXYgY2xhc3M9ImRhdGVwaWNrZXItZGVjYWRlcyI+PHRhYmxlIGNsYXNzPSJ0YWJsZS1jb25kZW5zZWQiPicrci5oZWFkVGVtcGxhdGUrci5jb250VGVtcGxhdGUrci5mb290VGVtcGxhdGUrJzwvdGFibGU+PC9kaXY+PGRpdiBjbGFzcz0iZGF0ZXBpY2tlci1jZW50dXJpZXMiPjx0YWJsZSBjbGFzcz0idGFibGUtY29uZGVuc2VkIj4nK3IuaGVhZFRlbXBsYXRlK3IuY29udFRlbXBsYXRlK3IuZm9vdFRlbXBsYXRlKyI8L3RhYmxlPjwvZGl2PjwvZGl2PiIsDQphLmZuLmRhdGVwaWNrZXIuRFBHbG9iYWw9cixhLmZuLmRhdGVwaWNrZXIubm9Db25mbGljdD1mdW5jdGlvbigpe3JldHVybiBhLmZuLmRhdGVwaWNrZXI9bSx0aGlzfSxhLmZuLmRhdGVwaWNrZXIudmVyc2lvbj0iMS43LjAtZGV2IixhKGRvY3VtZW50KS5vbigiZm9jdXMuZGF0ZXBpY2tlci5kYXRhLWFwaSBjbGljay5kYXRlcGlja2VyLmRhdGEtYXBpIiwnW2RhdGEtcHJvdmlkZT0iZGF0ZXBpY2tlciJdJyxmdW5jdGlvbihiKXt2YXIgYz1hKHRoaXMpO2MuZGF0YSgiZGF0ZXBpY2tlciIpfHwoYi5wcmV2ZW50RGVmYXVsdCgpLG4uY2FsbChjLCJzaG93IikpfSksYShmdW5jdGlvbigpe24uY2FsbChhKCdbZGF0YS1wcm92aWRlPSJkYXRlcGlja2VyLWlubGluZSJdJykpfSl9KTsNCg0KDQoNCi8qIQ0KICoganF1ZXJ5LXRpbWVwaWNrZXIgdjEuMTEuMSAtIEEgalF1ZXJ5IHRpbWVwaWNrZXIgcGx1Z2luIGluc3BpcmVkIGJ5IEdvb2dsZSBDYWxlbmRhci4gSXQgc3VwcG9ydHMgYm90aCBtb3VzZSBhbmQga2V5Ym9hcmQgbmF2aWdhdGlvbi4NCiAqIENvcHlyaWdodCAoYykgMjAxNiBKb24gVGhvcm50b24gLSBodHRwOi8vam9udGhvcm50b24uZ2l0aHViLmNvbS9qcXVlcnktdGltZXBpY2tlci8NCiAqIExpY2Vuc2U6IE1JVA0KICovDQoNCiFmdW5jdGlvbihhKXsib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMmJmV4cG9ydHMmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlJiZtb2R1bGUmJm1vZHVsZS5leHBvcnRzPT09ZXhwb3J0cz9hKHJlcXVpcmUoImpxdWVyeSIpKToiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGEpOmEoalF1ZXJ5KX0oZnVuY3Rpb24oYSl7ZnVuY3Rpb24gYihhKXt2YXIgYj1hWzBdO3JldHVybiBiLm9mZnNldFdpZHRoPjAmJmIub2Zmc2V0SGVpZ2h0PjB9ZnVuY3Rpb24gYyhiKXtpZihiLm1pblRpbWUmJihiLm1pblRpbWU9dChiLm1pblRpbWUpKSxiLm1heFRpbWUmJihiLm1heFRpbWU9dChiLm1heFRpbWUpKSxiLmR1cmF0aW9uVGltZSYmImZ1bmN0aW9uIiE9dHlwZW9mIGIuZHVyYXRpb25UaW1lJiYoYi5kdXJhdGlvblRpbWU9dChiLmR1cmF0aW9uVGltZSkpLCJub3ciPT1iLnNjcm9sbERlZmF1bHQpYi5zY3JvbGxEZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIGIucm91bmRpbmdGdW5jdGlvbih0KG5ldyBEYXRlKSxiKX07ZWxzZSBpZihiLnNjcm9sbERlZmF1bHQmJiJmdW5jdGlvbiIhPXR5cGVvZiBiLnNjcm9sbERlZmF1bHQpe3ZhciBjPWIuc2Nyb2xsRGVmYXVsdDtiLnNjcm9sbERlZmF1bHQ9ZnVuY3Rpb24oKXtyZXR1cm4gYi5yb3VuZGluZ0Z1bmN0aW9uKHQoYyksYil9fWVsc2UgYi5taW5UaW1lJiYoYi5zY3JvbGxEZWZhdWx0PWZ1bmN0aW9uKCl7cmV0dXJuIGIucm91bmRpbmdGdW5jdGlvbihiLm1pblRpbWUsYil9KTtpZigic3RyaW5nIj09PWEudHlwZShiLnRpbWVGb3JtYXQpJiZiLnRpbWVGb3JtYXQubWF0Y2goL1tnaF0vKSYmKGIuX3R3ZWx2ZUhvdXJUaW1lPSEwKSxiLnNob3dPbkZvY3VzPT09ITEmJi0xIT1iLnNob3dPbi5pbmRleE9mKCJmb2N1cyIpJiZiLnNob3dPbi5zcGxpY2UoYi5zaG93T24uaW5kZXhPZigiZm9jdXMiKSwxKSxiLmRpc2FibGVUaW1lUmFuZ2VzLmxlbmd0aD4wKXtmb3IodmFyIGQgaW4gYi5kaXNhYmxlVGltZVJhbmdlcyliLmRpc2FibGVUaW1lUmFuZ2VzW2RdPVt0KGIuZGlzYWJsZVRpbWVSYW5nZXNbZF1bMF0pLHQoYi5kaXNhYmxlVGltZVJhbmdlc1tkXVsxXSldO2IuZGlzYWJsZVRpbWVSYW5nZXM9Yi5kaXNhYmxlVGltZVJhbmdlcy5zb3J0KGZ1bmN0aW9uKGEsYil7cmV0dXJuIGFbMF0tYlswXX0pO2Zvcih2YXIgZD1iLmRpc2FibGVUaW1lUmFuZ2VzLmxlbmd0aC0xO2Q+MDtkLS0pYi5kaXNhYmxlVGltZVJhbmdlc1tkXVswXTw9Yi5kaXNhYmxlVGltZVJhbmdlc1tkLTFdWzFdJiYoYi5kaXNhYmxlVGltZVJhbmdlc1tkLTFdPVtNYXRoLm1pbihiLmRpc2FibGVUaW1lUmFuZ2VzW2RdWzBdLGIuZGlzYWJsZVRpbWVSYW5nZXNbZC0xXVswXSksTWF0aC5tYXgoYi5kaXNhYmxlVGltZVJhbmdlc1tkXVsxXSxiLmRpc2FibGVUaW1lUmFuZ2VzW2QtMV1bMV0pXSxiLmRpc2FibGVUaW1lUmFuZ2VzLnNwbGljZShkLDEpKX1yZXR1cm4gYn1mdW5jdGlvbiBkKGIpe3ZhciBjPWIuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpLGQ9Yi5kYXRhKCJ0aW1lcGlja2VyLWxpc3QiKTtpZihkJiZkLmxlbmd0aCYmKGQucmVtb3ZlKCksYi5kYXRhKCJ0aW1lcGlja2VyLWxpc3QiLCExKSksYy51c2VTZWxlY3Qpe2Q9YSgiPHNlbGVjdCAvPiIseyJjbGFzcyI6InVpLXRpbWVwaWNrZXItc2VsZWN0In0pO3ZhciBnPWR9ZWxzZXtkPWEoIjx1bCAvPiIseyJjbGFzcyI6InVpLXRpbWVwaWNrZXItbGlzdCJ9KTt2YXIgZz1hKCI8ZGl2IC8+Iix7ImNsYXNzIjoidWktdGltZXBpY2tlci13cmFwcGVyIix0YWJpbmRleDotMX0pO2cuY3NzKHtkaXNwbGF5OiJub25lIixwb3NpdGlvbjoiYWJzb2x1dGUifSkuYXBwZW5kKGQpfWlmKGMubm9uZU9wdGlvbilpZihjLm5vbmVPcHRpb249PT0hMCYmKGMubm9uZU9wdGlvbj1jLnVzZVNlbGVjdD8iVGltZS4uLiI6Ik5vbmUiKSxhLmlzQXJyYXkoYy5ub25lT3B0aW9uKSl7Zm9yKHZhciBpIGluIGMubm9uZU9wdGlvbilpZihwYXJzZUludChpLDEwKT09aSl7dmFyIGs9ZShjLm5vbmVPcHRpb25baV0sYy51c2VTZWxlY3QpO2QuYXBwZW5kKGspfX1lbHNle3ZhciBrPWUoYy5ub25lT3B0aW9uLGMudXNlU2VsZWN0KTtkLmFwcGVuZChrKX1pZihjLmNsYXNzTmFtZSYmZy5hZGRDbGFzcyhjLmNsYXNzTmFtZSksKG51bGwhPT1jLm1pblRpbWV8fG51bGwhPT1jLmR1cmF0aW9uVGltZSkmJmMuc2hvd0R1cmF0aW9uKXsiZnVuY3Rpb24iPT10eXBlb2YgYy5zdGVwPyJmdW5jdGlvbiI6Yy5zdGVwO2cuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItd2l0aC1kdXJhdGlvbiIpLGcuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItc3RlcC0iK2Muc3RlcCl9dmFyIGw9Yy5taW5UaW1lOyJmdW5jdGlvbiI9PXR5cGVvZiBjLmR1cmF0aW9uVGltZT9sPXQoYy5kdXJhdGlvblRpbWUoKSk6bnVsbCE9PWMuZHVyYXRpb25UaW1lJiYobD1jLmR1cmF0aW9uVGltZSk7dmFyIG49bnVsbCE9PWMubWluVGltZT9jLm1pblRpbWU6MCxvPW51bGwhPT1jLm1heFRpbWU/Yy5tYXhUaW1lOm4rdS0xO24+byYmKG8rPXUpLG89PT11LTEmJiJzdHJpbmciPT09YS50eXBlKGMudGltZUZvcm1hdCkmJmMuc2hvdzI0MDAmJihvPXUpO3ZhciBwPWMuZGlzYWJsZVRpbWVSYW5nZXMsdj0wLHg9cC5sZW5ndGgseT1jLnN0ZXA7ImZ1bmN0aW9uIiE9dHlwZW9mIHkmJih5PWZ1bmN0aW9uKCl7cmV0dXJuIGMuc3RlcH0pO2Zvcih2YXIgaT1uLHo9MDtvPj1pO3orKyxpKz02MCp5KHopKXt2YXIgQT1pLEI9cyhBLGMpO2lmKGMudXNlU2VsZWN0KXt2YXIgQz1hKCI8b3B0aW9uIC8+Iix7dmFsdWU6Qn0pO0MudGV4dChCKX1lbHNle3ZhciBDPWEoIjxsaSAvPiIpO0MuYWRkQ2xhc3MoNDMyMDA+QSU4NjQwMD8idWktdGltZXBpY2tlci1hbSI6InVpLXRpbWVwaWNrZXItcG0iKSxDLmRhdGEoInRpbWUiLDg2NDAwPj1BP0E6QSU4NjQwMCksQy50ZXh0KEIpfWlmKChudWxsIT09Yy5taW5UaW1lfHxudWxsIT09Yy5kdXJhdGlvblRpbWUpJiZjLnNob3dEdXJhdGlvbil7dmFyIEQ9cihpLWwsYy5zdGVwKTtpZihjLnVzZVNlbGVjdClDLnRleHQoQy50ZXh0KCkrIiAoIitEKyIpIik7ZWxzZXt2YXIgRT1hKCI8c3BhbiAvPiIseyJjbGFzcyI6InVpLXRpbWVwaWNrZXItZHVyYXRpb24ifSk7RS50ZXh0KCIgKCIrRCsiKSIpLEMuYXBwZW5kKEUpfX14PnYmJihBPj1wW3ZdWzFdJiYodis9MSkscFt2XSYmQT49cFt2XVswXSYmQTxwW3ZdWzFdJiYoYy51c2VTZWxlY3Q/Qy5wcm9wKCJkaXNhYmxlZCIsITApOkMuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItZGlzYWJsZWQiKSkpLGQuYXBwZW5kKEMpfWlmKGcuZGF0YSgidGltZXBpY2tlci1pbnB1dCIsYiksYi5kYXRhKCJ0aW1lcGlja2VyLWxpc3QiLGcpLGMudXNlU2VsZWN0KWIudmFsKCkmJmQudmFsKGYodChiLnZhbCgpKSxjKSksZC5vbigiZm9jdXMiLGZ1bmN0aW9uKCl7YSh0aGlzKS5kYXRhKCJ0aW1lcGlja2VyLWlucHV0IikudHJpZ2dlcigic2hvd1RpbWVwaWNrZXIiKX0pLGQub24oImJsdXIiLGZ1bmN0aW9uKCl7YSh0aGlzKS5kYXRhKCJ0aW1lcGlja2VyLWlucHV0IikudHJpZ2dlcigiaGlkZVRpbWVwaWNrZXIiKX0pLGQub24oImNoYW5nZSIsZnVuY3Rpb24oKXttKGIsYSh0aGlzKS52YWwoKSwic2VsZWN0Iil9KSxtKGIsZC52YWwoKSwiaW5pdGlhbCIpLGIuaGlkZSgpLmFmdGVyKGQpO2Vsc2V7dmFyIEY9Yy5hcHBlbmRUbzsic3RyaW5nIj09dHlwZW9mIEY/Rj1hKEYpOiJmdW5jdGlvbiI9PXR5cGVvZiBGJiYoRj1GKGIpKSxGLmFwcGVuZChnKSxqKGIsZCksZC5vbigibW91c2Vkb3duIGNsaWNrIiwibGkiLGZ1bmN0aW9uKGMpe2Iub2ZmKCJmb2N1cy50aW1lcGlja2VyIiksYi5vbigiZm9jdXMudGltZXBpY2tlci1pZS1oYWNrIixmdW5jdGlvbigpe2Iub2ZmKCJmb2N1cy50aW1lcGlja2VyLWllLWhhY2siKSxiLm9uKCJmb2N1cy50aW1lcGlja2VyIix3LnNob3cpfSksaChiKXx8YlswXS5mb2N1cygpLGQuZmluZCgibGkiKS5yZW1vdmVDbGFzcygidWktdGltZXBpY2tlci1zZWxlY3RlZCIpLGEodGhpcykuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKSxxKGIpJiYoYi50cmlnZ2VyKCJoaWRlVGltZXBpY2tlciIpLGQub24oIm1vdXNldXAudGltZXBpY2tlciBjbGljay50aW1lcGlja2VyIiwibGkiLGZ1bmN0aW9uKGEpe2Qub2ZmKCJtb3VzZXVwLnRpbWVwaWNrZXIgY2xpY2sudGltZXBpY2tlciIpLGcuaGlkZSgpfSkpfSl9fWZ1bmN0aW9uIGUoYixjKXt2YXIgZCxlLGY7cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBiPyhkPWIubGFiZWwsZT1iLmNsYXNzTmFtZSxmPWIudmFsdWUpOiJzdHJpbmciPT10eXBlb2YgYj9kPWI6YS5lcnJvcigiSW52YWxpZCBub25lT3B0aW9uIHZhbHVlIiksYz9hKCI8b3B0aW9uIC8+Iix7dmFsdWU6ZiwiY2xhc3MiOmUsdGV4dDpkfSk6YSgiPGxpIC8+Iix7ImNsYXNzIjplLHRleHQ6ZH0pLmRhdGEoInRpbWUiLFN0cmluZyhmKSl9ZnVuY3Rpb24gZihhLGIpe3JldHVybiBhPWIucm91bmRpbmdGdW5jdGlvbihhLGIpLG51bGwhPT1hP3MoYSxiKTp2b2lkIDB9ZnVuY3Rpb24gZyhiKXtpZihiLnRhcmdldCE9d2luZG93KXt2YXIgYz1hKGIudGFyZ2V0KTtjLmNsb3Nlc3QoIi51aS10aW1lcGlja2VyLWlucHV0IikubGVuZ3RofHxjLmNsb3Nlc3QoIi51aS10aW1lcGlja2VyLXdyYXBwZXIiKS5sZW5ndGh8fCh3LmhpZGUoKSxhKGRvY3VtZW50KS51bmJpbmQoIi51aS10aW1lcGlja2VyIiksYSh3aW5kb3cpLnVuYmluZCgiLnVpLXRpbWVwaWNrZXIiKSl9fWZ1bmN0aW9uIGgoYSl7dmFyIGI9YS5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIik7cmV0dXJuKHdpbmRvdy5uYXZpZ2F0b3IubXNNYXhUb3VjaFBvaW50c3x8Im9udG91Y2hzdGFydCJpbiBkb2N1bWVudCkmJmIuZGlzYWJsZVRvdWNoS2V5Ym9hcmR9ZnVuY3Rpb24gaShiLGMsZCl7aWYoIWQmJjAhPT1kKXJldHVybiExO3ZhciBlPWIuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpLGY9ITEsZD1lLnJvdW5kaW5nRnVuY3Rpb24oZCxlKTtyZXR1cm4gYy5maW5kKCJsaSIpLmVhY2goZnVuY3Rpb24oYixjKXt2YXIgZT1hKGMpO2lmKCJudW1iZXIiPT10eXBlb2YgZS5kYXRhKCJ0aW1lIikpcmV0dXJuIGUuZGF0YSgidGltZSIpPT1kPyhmPWUsITEpOnZvaWQgMH0pLGZ9ZnVuY3Rpb24gaihhLGIpe2IuZmluZCgibGkiKS5yZW1vdmVDbGFzcygidWktdGltZXBpY2tlci1zZWxlY3RlZCIpO3ZhciBjPXQobChhKSxhLmRhdGEoInRpbWVwaWNrZXItc2V0dGluZ3MiKSk7aWYobnVsbCE9PWMpe3ZhciBkPWkoYSxiLGMpO2lmKGQpe3ZhciBlPWQub2Zmc2V0KCkudG9wLWIub2Zmc2V0KCkudG9wOyhlK2Qub3V0ZXJIZWlnaHQoKT5iLm91dGVySGVpZ2h0KCl8fDA+ZSkmJmIuc2Nyb2xsVG9wKGIuc2Nyb2xsVG9wKCkrZC5wb3NpdGlvbigpLnRvcC1kLm91dGVySGVpZ2h0KCkpLGQuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKX19fWZ1bmN0aW9uIGsoYixjKXtpZigiIiE9PXRoaXMudmFsdWUmJiJ0aW1lcGlja2VyIiE9Yyl7dmFyIGQ9YSh0aGlzKTtpZighZC5pcygiOmZvY3VzIil8fGImJiJjaGFuZ2UiPT1iLnR5cGUpe3ZhciBlPWQuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpLGY9dCh0aGlzLnZhbHVlLGUpO2lmKG51bGw9PT1mKXJldHVybiB2b2lkIGQudHJpZ2dlcigidGltZUZvcm1hdEVycm9yIik7dmFyIGc9ITE7bnVsbCE9PWUubWluVGltZSYmZjxlLm1pblRpbWUmJm51bGwhPT1lLm1heFRpbWUmJmY+ZS5tYXhUaW1lJiYoZz0hMCksYS5lYWNoKGUuZGlzYWJsZVRpbWVSYW5nZXMsZnVuY3Rpb24oKXtyZXR1cm4gZj49dGhpc1swXSYmZjx0aGlzWzFdPyhnPSEwLCExKTp2b2lkIDB9KSxlLmZvcmNlUm91bmRUaW1lJiYoZj1lLnJvdW5kaW5nRnVuY3Rpb24oZixlKSk7dmFyIGg9cyhmLGUpO2c/bShkLGgsImVycm9yIikmJmQudHJpZ2dlcigidGltZVJhbmdlRXJyb3IiKTptKGQsaCl9fX1mdW5jdGlvbiBsKGEpe3JldHVybiBhLmlzKCJpbnB1dCIpP2EudmFsKCk6YS5kYXRhKCJ1aS10aW1lcGlja2VyLXZhbHVlIil9ZnVuY3Rpb24gbShhLGIsYyl7aWYoYS5pcygiaW5wdXQiKSl7YS52YWwoYik7dmFyIGQ9YS5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIik7ZC51c2VTZWxlY3QmJiJzZWxlY3QiIT1jJiYiaW5pdGlhbCIhPWMmJmEuZGF0YSgidGltZXBpY2tlci1saXN0IikudmFsKGYodChiKSxkKSl9cmV0dXJuIGEuZGF0YSgidWktdGltZXBpY2tlci12YWx1ZSIpIT1iPyhhLmRhdGEoInVpLXRpbWVwaWNrZXItdmFsdWUiLGIpLCJzZWxlY3QiPT1jP2EudHJpZ2dlcigic2VsZWN0VGltZSIpLnRyaWdnZXIoImNoYW5nZVRpbWUiKS50cmlnZ2VyKCJjaGFuZ2UiLCJ0aW1lcGlja2VyIik6ImVycm9yIiE9YyYmYS50cmlnZ2VyKCJjaGFuZ2VUaW1lIiksITApOihhLnRyaWdnZXIoInNlbGVjdFRpbWUiKSwhMSl9ZnVuY3Rpb24gbihhKXtzd2l0Y2goYS5rZXlDb2RlKXtjYXNlIDEzOmNhc2UgOTpyZXR1cm47ZGVmYXVsdDphLnByZXZlbnREZWZhdWx0KCl9fWZ1bmN0aW9uIG8oYyl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgidGltZXBpY2tlci1saXN0Iik7aWYoIWV8fCFiKGUpKXtpZig0MCE9Yy5rZXlDb2RlKXJldHVybiEwO3cuc2hvdy5jYWxsKGQuZ2V0KDApKSxlPWQuZGF0YSgidGltZXBpY2tlci1saXN0IiksaChkKXx8ZC5mb2N1cygpfXN3aXRjaChjLmtleUNvZGUpe2Nhc2UgMTM6cmV0dXJuIHEoZCkmJncuaGlkZS5hcHBseSh0aGlzKSxjLnByZXZlbnREZWZhdWx0KCksITE7Y2FzZSAzODp2YXIgZj1lLmZpbmQoIi51aS10aW1lcGlja2VyLXNlbGVjdGVkIik7cmV0dXJuIGYubGVuZ3RoP2YuaXMoIjpmaXJzdC1jaGlsZCIpfHwoZi5yZW1vdmVDbGFzcygidWktdGltZXBpY2tlci1zZWxlY3RlZCIpLGYucHJldigpLmFkZENsYXNzKCJ1aS10aW1lcGlja2VyLXNlbGVjdGVkIiksZi5wcmV2KCkucG9zaXRpb24oKS50b3A8Zi5vdXRlckhlaWdodCgpJiZlLnNjcm9sbFRvcChlLnNjcm9sbFRvcCgpLWYub3V0ZXJIZWlnaHQoKSkpOihlLmZpbmQoImxpIikuZWFjaChmdW5jdGlvbihiLGMpe3JldHVybiBhKGMpLnBvc2l0aW9uKCkudG9wPjA/KGY9YShjKSwhMSk6dm9pZCAwfSksZi5hZGRDbGFzcygidWktdGltZXBpY2tlci1zZWxlY3RlZCIpKSwhMTtjYXNlIDQwOnJldHVybiBmPWUuZmluZCgiLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKSwwPT09Zi5sZW5ndGg/KGUuZmluZCgibGkiKS5lYWNoKGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEoYykucG9zaXRpb24oKS50b3A+MD8oZj1hKGMpLCExKTp2b2lkIDB9KSxmLmFkZENsYXNzKCJ1aS10aW1lcGlja2VyLXNlbGVjdGVkIikpOmYuaXMoIjpsYXN0LWNoaWxkIil8fChmLnJlbW92ZUNsYXNzKCJ1aS10aW1lcGlja2VyLXNlbGVjdGVkIiksZi5uZXh0KCkuYWRkQ2xhc3MoInVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKSxmLm5leHQoKS5wb3NpdGlvbigpLnRvcCsyKmYub3V0ZXJIZWlnaHQoKT5lLm91dGVySGVpZ2h0KCkmJmUuc2Nyb2xsVG9wKGUuc2Nyb2xsVG9wKCkrZi5vdXRlckhlaWdodCgpKSksITE7Y2FzZSAyNzplLmZpbmQoImxpIikucmVtb3ZlQ2xhc3MoInVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKSx3LmhpZGUoKTticmVhaztjYXNlIDk6dy5oaWRlKCk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4hMH19ZnVuY3Rpb24gcChjKXt2YXIgZD1hKHRoaXMpLGU9ZC5kYXRhKCJ0aW1lcGlja2VyLWxpc3QiKSxmPWQuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpO2lmKCFlfHwhYihlKXx8Zi5kaXNhYmxlVGV4dElucHV0KXJldHVybiEwO3N3aXRjaChjLmtleUNvZGUpe2Nhc2UgOTY6Y2FzZSA5NzpjYXNlIDk4OmNhc2UgOTk6Y2FzZSAxMDA6Y2FzZSAxMDE6Y2FzZSAxMDI6Y2FzZSAxMDM6Y2FzZSAxMDQ6Y2FzZSAxMDU6Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmNhc2UgNTY6Y2FzZSA1NzpjYXNlIDY1OmNhc2UgNzc6Y2FzZSA4MDpjYXNlIDE4NjpjYXNlIDg6Y2FzZSA0NjpmLnR5cGVhaGVhZEhpZ2hsaWdodD9qKGQsZSk6ZS5oaWRlKCl9fWZ1bmN0aW9uIHEoYSl7dmFyIGI9YS5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIiksYz1hLmRhdGEoInRpbWVwaWNrZXItbGlzdCIpLGQ9bnVsbCxlPWMuZmluZCgiLnVpLXRpbWVwaWNrZXItc2VsZWN0ZWQiKTtyZXR1cm4gZS5oYXNDbGFzcygidWktdGltZXBpY2tlci1kaXNhYmxlZCIpPyExOihlLmxlbmd0aCYmKGQ9ZS5kYXRhKCJ0aW1lIikpLG51bGwhPT1kJiYoInN0cmluZyIhPXR5cGVvZiBkJiYoZD1zKGQsYikpLG0oYSxkLCJzZWxlY3QiKSksITApfWZ1bmN0aW9uIHIoYSxiKXthPU1hdGguYWJzKGEpO3ZhciBjLGQsZT1NYXRoLnJvdW5kKGEvNjApLGY9W107cmV0dXJuIDYwPmU/Zj1bZSx2Lm1pbnNdOihjPU1hdGguZmxvb3IoZS82MCksZD1lJTYwLDMwPT1iJiYzMD09ZCYmKGMrPXYuZGVjaW1hbCs1KSxmLnB1c2goYyksZi5wdXNoKDE9PWM/di5ocjp2LmhycyksMzAhPWImJmQmJihmLnB1c2goZCksZi5wdXNoKHYubWlucykpKSxmLmpvaW4oIiAiKX1mdW5jdGlvbiBzKGIsYyl7aWYoIm51bWJlciIhPXR5cGVvZiBiKXJldHVybiBudWxsO3ZhciBkPXBhcnNlSW50KGIlNjApLGU9cGFyc2VJbnQoYi82MCU2MCksZj1wYXJzZUludChiLzM2MDAlMjQpLGc9bmV3IERhdGUoMTk3MCwwLDIsZixlLGQsMCk7aWYoaXNOYU4oZy5nZXRUaW1lKCkpKXJldHVybiBudWxsO2lmKCJmdW5jdGlvbiI9PT1hLnR5cGUoYy50aW1lRm9ybWF0KSlyZXR1cm4gYy50aW1lRm9ybWF0KGcpO2Zvcih2YXIgaCxpLGo9IiIsaz0wO2s8Yy50aW1lRm9ybWF0Lmxlbmd0aDtrKyspc3dpdGNoKGk9Yy50aW1lRm9ybWF0LmNoYXJBdChrKSl7Y2FzZSJhIjpqKz1nLmdldEhvdXJzKCk+MTE/di5wbTp2LmFtO2JyZWFrO2Nhc2UiQSI6ais9Zy5nZXRIb3VycygpPjExP3YuUE06di5BTTticmVhaztjYXNlImciOmg9Zy5nZXRIb3VycygpJTEyLGorPTA9PT1oPyIxMiI6aDticmVhaztjYXNlIkciOmg9Zy5nZXRIb3VycygpLGI9PT11JiYoaD1jLnNob3cyNDAwPzI0OjApLGorPWg7YnJlYWs7Y2FzZSJoIjpoPWcuZ2V0SG91cnMoKSUxMiwwIT09aCYmMTA+aCYmKGg9IjAiK2gpLGorPTA9PT1oPyIxMiI6aDticmVhaztjYXNlIkgiOmg9Zy5nZXRIb3VycygpLGI9PT11JiYoaD1jLnNob3cyNDAwPzI0OjApLGorPWg+OT9oOiIwIitoO2JyZWFrO2Nhc2UiaSI6dmFyIGU9Zy5nZXRNaW51dGVzKCk7ais9ZT45P2U6IjAiK2U7YnJlYWs7Y2FzZSJzIjpkPWcuZ2V0U2Vjb25kcygpLGorPWQ+OT9kOiIwIitkO2JyZWFrO2Nhc2UiXFwiOmsrKyxqKz1jLnRpbWVGb3JtYXQuY2hhckF0KGspO2JyZWFrO2RlZmF1bHQ6ais9aX1yZXR1cm4gan1mdW5jdGlvbiB0KGEsYil7aWYoIiI9PT1hfHxudWxsPT09YSlyZXR1cm4gbnVsbDtpZigib2JqZWN0Ij09dHlwZW9mIGEpcmV0dXJuIDM2MDAqYS5nZXRIb3VycygpKzYwKmEuZ2V0TWludXRlcygpK2EuZ2V0U2Vjb25kcygpO2lmKCJzdHJpbmciIT10eXBlb2YgYSlyZXR1cm4gYTthPWEudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9bXHNcLl0vZywiIiksKCJhIj09YS5zbGljZSgtMSl8fCJwIj09YS5zbGljZSgtMSkpJiYoYSs9Im0iKTt2YXIgYz0iKCIrdi5hbS5yZXBsYWNlKCIuIiwiIikrInwiK3YucG0ucmVwbGFjZSgiLiIsIiIpKyJ8Iit2LkFNLnJlcGxhY2UoIi4iLCIiKSsifCIrdi5QTS5yZXBsYWNlKCIuIiwiIikrIik/IixkPW5ldyBSZWdFeHAoIl4iK2MrIihbMC05XT9bMC05XSlcXFc/KFswLTVdWzAtOV0pP1xcVz8oWzAtNV1bMC05XSk/IitjKyIkIiksZT1hLm1hdGNoKGQpO2lmKCFlKXJldHVybiBudWxsO3ZhciBmPXBhcnNlSW50KDEqZVsyXSwxMCk7aWYoZj4yNCl7aWYoYiYmYi53cmFwSG91cnM9PT0hMSlyZXR1cm4gbnVsbDtmJT0yNH12YXIgZz1lWzFdfHxlWzVdLGg9ZjtpZigxMj49ZiYmZyl7dmFyIGk9Zz09di5wbXx8Zz09di5QTTtoPTEyPT1mP2k/MTI6MDpmKyhpPzEyOjApfXZhciBqPTEqZVszXXx8MCxrPTEqZVs0XXx8MCxsPTM2MDAqaCs2MCpqK2s7aWYoMTI+ZiYmIWcmJmImJmIuX3R3ZWx2ZUhvdXJUaW1lJiZiLnNjcm9sbERlZmF1bHQpe3ZhciBtPWwtYi5zY3JvbGxEZWZhdWx0KCk7MD5tJiZtPj11Ly0yJiYobD0obCt1LzIpJXUpfXJldHVybiBsfXZhciB1PTg2NDAwLHY9e2FtOiJhbSIscG06InBtIixBTToiQU0iLFBNOiJQTSIsZGVjaW1hbDoiLiIsbWluczoibWlucyIsaHI6ImhyIixocnM6ImhycyJ9LHc9e2luaXQ6ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBlPWEodGhpcyksZj1bXTtmb3IodmFyIGcgaW4gYS5mbi50aW1lcGlja2VyLmRlZmF1bHRzKWUuZGF0YShnKSYmKGZbZ109ZS5kYXRhKGcpKTt2YXIgaD1hLmV4dGVuZCh7fSxhLmZuLnRpbWVwaWNrZXIuZGVmYXVsdHMsZixiKTtpZihoLmxhbmcmJih2PWEuZXh0ZW5kKHYsaC5sYW5nKSksaD1jKGgpLGUuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIsaCksZS5hZGRDbGFzcygidWktdGltZXBpY2tlci1pbnB1dCIpLGgudXNlU2VsZWN0KWQoZSk7ZWxzZXtpZihlLnByb3AoImF1dG9jb21wbGV0ZSIsIm9mZiIpLGguc2hvd09uKWZvcih2YXIgaSBpbiBoLnNob3dPbillLm9uKGguc2hvd09uW2ldKyIudGltZXBpY2tlciIsdy5zaG93KTtlLm9uKCJjaGFuZ2UudGltZXBpY2tlciIsayksZS5vbigia2V5ZG93bi50aW1lcGlja2VyIixvKSxlLm9uKCJrZXl1cC50aW1lcGlja2VyIixwKSxoLmRpc2FibGVUZXh0SW5wdXQmJmUub24oImtleWRvd24udGltZXBpY2tlciIsbiksay5jYWxsKGUuZ2V0KDApKX19KX0sc2hvdzpmdW5jdGlvbihjKXt2YXIgZT1hKHRoaXMpLGY9ZS5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIik7aWYoYyYmYy5wcmV2ZW50RGVmYXVsdCgpLGYudXNlU2VsZWN0KXJldHVybiB2b2lkIGUuZGF0YSgidGltZXBpY2tlci1saXN0IikuZm9jdXMoKTtoKGUpJiZlLmJsdXIoKTt2YXIgaz1lLmRhdGEoInRpbWVwaWNrZXItbGlzdCIpO2lmKCFlLnByb3AoInJlYWRvbmx5IikmJihrJiYwIT09ay5sZW5ndGgmJiJmdW5jdGlvbiIhPXR5cGVvZiBmLmR1cmF0aW9uVGltZXx8KGQoZSksaz1lLmRhdGEoInRpbWVwaWNrZXItbGlzdCIpKSwhYihrKSkpe2UuZGF0YSgidWktdGltZXBpY2tlci12YWx1ZSIsZS52YWwoKSksaihlLGspLHcuaGlkZSgpLGsuc2hvdygpO3ZhciBtPXt9O2Yub3JpZW50YXRpb24ubWF0Y2goL3IvKT9tLmxlZnQ9ZS5vZmZzZXQoKS5sZWZ0K2Uub3V0ZXJXaWR0aCgpLWsub3V0ZXJXaWR0aCgpK3BhcnNlSW50KGsuY3NzKCJtYXJnaW5MZWZ0IikucmVwbGFjZSgicHgiLCIiKSwxMCk6bS5sZWZ0PWUub2Zmc2V0KCkubGVmdCtwYXJzZUludChrLmNzcygibWFyZ2luTGVmdCIpLnJlcGxhY2UoInB4IiwiIiksMTApO3ZhciBuO249Zi5vcmllbnRhdGlvbi5tYXRjaCgvdC8pPyJ0IjpmLm9yaWVudGF0aW9uLm1hdGNoKC9iLyk/ImIiOmUub2Zmc2V0KCkudG9wK2Uub3V0ZXJIZWlnaHQoITApK2sub3V0ZXJIZWlnaHQoKT5hKHdpbmRvdykuaGVpZ2h0KCkrYSh3aW5kb3cpLnNjcm9sbFRvcCgpPyJ0IjoiYiIsInQiPT1uPyhrLmFkZENsYXNzKCJ1aS10aW1lcGlja2VyLXBvc2l0aW9uZWQtdG9wIiksbS50b3A9ZS5vZmZzZXQoKS50b3Atay5vdXRlckhlaWdodCgpK3BhcnNlSW50KGsuY3NzKCJtYXJnaW5Ub3AiKS5yZXBsYWNlKCJweCIsIiIpLDEwKSk6KGsucmVtb3ZlQ2xhc3MoInVpLXRpbWVwaWNrZXItcG9zaXRpb25lZC10b3AiKSxtLnRvcD1lLm9mZnNldCgpLnRvcCtlLm91dGVySGVpZ2h0KCkrcGFyc2VJbnQoay5jc3MoIm1hcmdpblRvcCIpLnJlcGxhY2UoInB4IiwiIiksMTApKSxrLm9mZnNldChtKTt2YXIgbz1rLmZpbmQoIi51aS10aW1lcGlja2VyLXNlbGVjdGVkIik7aWYoIW8ubGVuZ3RoKXt2YXIgcD10KGwoZSkpO251bGwhPT1wP289aShlLGsscCk6Zi5zY3JvbGxEZWZhdWx0JiYobz1pKGUsayxmLnNjcm9sbERlZmF1bHQoKSkpfWlmKG8mJm8ubGVuZ3RoKXt2YXIgcT1rLnNjcm9sbFRvcCgpK28ucG9zaXRpb24oKS50b3Atby5vdXRlckhlaWdodCgpO2suc2Nyb2xsVG9wKHEpfWVsc2Ugay5zY3JvbGxUb3AoMCk7cmV0dXJuIGYuc3RvcFNjcm9sbFByb3BhZ2F0aW9uJiZhKGRvY3VtZW50KS5vbigid2hlZWwudWktdGltZXBpY2tlciIsIi51aS10aW1lcGlja2VyLXdyYXBwZXIiLGZ1bmN0aW9uKGIpe2IucHJldmVudERlZmF1bHQoKTt2YXIgYz1hKHRoaXMpLnNjcm9sbFRvcCgpO2EodGhpcykuc2Nyb2xsVG9wKGMrYi5vcmlnaW5hbEV2ZW50LmRlbHRhWSl9KSxhKGRvY3VtZW50KS5vbigidG91Y2hzdGFydC51aS10aW1lcGlja2VyIG1vdXNlZG93bi51aS10aW1lcGlja2VyIixnKSxhKHdpbmRvdykub24oInJlc2l6ZS51aS10aW1lcGlja2VyIixnKSxmLmNsb3NlT25XaW5kb3dTY3JvbGwmJmEoZG9jdW1lbnQpLm9uKCJzY3JvbGwudWktdGltZXBpY2tlciIsZyksZS50cmlnZ2VyKCJzaG93VGltZXBpY2tlciIpLHRoaXN9fSxoaWRlOmZ1bmN0aW9uKGMpe3ZhciBkPWEodGhpcyksZT1kLmRhdGEoInRpbWVwaWNrZXItc2V0dGluZ3MiKTtyZXR1cm4gZSYmZS51c2VTZWxlY3QmJmQuYmx1cigpLGEoIi51aS10aW1lcGlja2VyLXdyYXBwZXIiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9YSh0aGlzKTtpZihiKGMpKXt2YXIgZD1jLmRhdGEoInRpbWVwaWNrZXItaW5wdXQiKSxlPWQuZGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpO2UmJmUuc2VsZWN0T25CbHVyJiZxKGQpLGMuaGlkZSgpLGQudHJpZ2dlcigiaGlkZVRpbWVwaWNrZXIiKX19KSx0aGlzfSxvcHRpb246ZnVuY3Rpb24oYixlKXtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJiJ1bmRlZmluZWQiPT10eXBlb2YgZT9hKHRoaXMpLmRhdGEoInRpbWVwaWNrZXItc2V0dGluZ3MiKVtiXTp0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgZj1hKHRoaXMpLGc9Zi5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIiksaD1mLmRhdGEoInRpbWVwaWNrZXItbGlzdCIpOyJvYmplY3QiPT10eXBlb2YgYj9nPWEuZXh0ZW5kKGcsYik6InN0cmluZyI9PXR5cGVvZiBiJiYoZ1tiXT1lKSxnPWMoZyksZi5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIixnKSxoJiYoaC5yZW1vdmUoKSxmLmRhdGEoInRpbWVwaWNrZXItbGlzdCIsITEpKSxnLnVzZVNlbGVjdCYmZChmKX0pfSxnZXRTZWNvbmRzRnJvbU1pZG5pZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIHQobCh0aGlzKSl9LGdldFRpbWU6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcyxjPWwoYik7aWYoIWMpcmV0dXJuIG51bGw7dmFyIGQ9dChjKTtpZihudWxsPT09ZClyZXR1cm4gbnVsbDthfHwoYT1uZXcgRGF0ZSk7dmFyIGU9bmV3IERhdGUoYSk7cmV0dXJuIGUuc2V0SG91cnMoZC8zNjAwKSxlLnNldE1pbnV0ZXMoZCUzNjAwLzYwKSxlLnNldFNlY29uZHMoZCU2MCksZS5zZXRNaWxsaXNlY29uZHMoMCksZX0saXNWaXNpYmxlOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcyxjPWEuZGF0YSgidGltZXBpY2tlci1saXN0Iik7cmV0dXJuISghY3x8IWIoYykpfSxzZXRUaW1lOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMsYz1iLmRhdGEoInRpbWVwaWNrZXItc2V0dGluZ3MiKTtpZihjLmZvcmNlUm91bmRUaW1lKXZhciBkPWYodChhKSxjKTtlbHNlIHZhciBkPXModChhKSxjKTtyZXR1cm4gYSYmbnVsbD09PWQmJmMubm9uZU9wdGlvbiYmKGQ9YSksbShiLGQpLGIuZGF0YSgidGltZXBpY2tlci1saXN0IikmJmooYixiLmRhdGEoInRpbWVwaWNrZXItbGlzdCIpKSx0aGlzfSxyZW1vdmU6ZnVuY3Rpb24oKXt2YXIgYT10aGlzO2lmKGEuaGFzQ2xhc3MoInVpLXRpbWVwaWNrZXItaW5wdXQiKSl7dmFyIGI9YS5kYXRhKCJ0aW1lcGlja2VyLXNldHRpbmdzIik7cmV0dXJuIGEucmVtb3ZlQXR0cigiYXV0b2NvbXBsZXRlIiwib2ZmIiksYS5yZW1vdmVDbGFzcygidWktdGltZXBpY2tlci1pbnB1dCIpLGEucmVtb3ZlRGF0YSgidGltZXBpY2tlci1zZXR0aW5ncyIpLGEub2ZmKCIudGltZXBpY2tlciIpLGEuZGF0YSgidGltZXBpY2tlci1saXN0IikmJmEuZGF0YSgidGltZXBpY2tlci1saXN0IikucmVtb3ZlKCksYi51c2VTZWxlY3QmJmEuc2hvdygpLGEucmVtb3ZlRGF0YSgidGltZXBpY2tlci1saXN0IiksdGhpc319fTthLmZuLnRpbWVwaWNrZXI9ZnVuY3Rpb24oYil7cmV0dXJuIHRoaXMubGVuZ3RoP3dbYl0/dGhpcy5oYXNDbGFzcygidWktdGltZXBpY2tlci1pbnB1dCIpP3dbYl0uYXBwbHkodGhpcyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpOnRoaXM6Im9iamVjdCIhPXR5cGVvZiBiJiZiP3ZvaWQgYS5lcnJvcigiTWV0aG9kICIrYisiIGRvZXMgbm90IGV4aXN0IG9uIGpRdWVyeS50aW1lcGlja2VyIik6dy5pbml0LmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzfSxhLmZuLnRpbWVwaWNrZXIuZGVmYXVsdHM9e2FwcGVuZFRvOiJib2R5IixjbGFzc05hbWU6bnVsbCxjbG9zZU9uV2luZG93U2Nyb2xsOiExLGRpc2FibGVUZXh0SW5wdXQ6ITEsZGlzYWJsZVRpbWVSYW5nZXM6W10sZGlzYWJsZVRvdWNoS2V5Ym9hcmQ6ITEsZHVyYXRpb25UaW1lOm51bGwsZm9yY2VSb3VuZFRpbWU6ITEsbWF4VGltZTpudWxsLG1pblRpbWU6bnVsbCxub25lT3B0aW9uOiExLG9yaWVudGF0aW9uOiJsIixyb3VuZGluZ0Z1bmN0aW9uOmZ1bmN0aW9uKGEsYil7aWYobnVsbD09PWEpcmV0dXJuIG51bGw7aWYoIm51bWJlciIhPXR5cGVvZiBiLnN0ZXApcmV0dXJuIGE7dmFyIGM9YSUoNjAqYi5zdGVwKTtyZXR1cm4gYz49MzAqYi5zdGVwP2ErPTYwKmIuc3RlcC1jOmEtPWMsYT09dSYmYi5zaG93MjQwMD9hOmEldX0sc2Nyb2xsRGVmYXVsdDpudWxsLHNlbGVjdE9uQmx1cjohMSxzaG93MjQwMDohMSxzaG93RHVyYXRpb246ITEsc2hvd09uOlsiY2xpY2siLCJmb2N1cyJdLHNob3dPbkZvY3VzOiEwLHN0ZXA6MzAsc3RvcFNjcm9sbFByb3BhZ2F0aW9uOiExLHRpbWVGb3JtYXQ6Imc6aWEiLHR5cGVhaGVhZEhpZ2hsaWdodDohMCx1c2VTZWxlY3Q6ITEsd3JhcEhvdXJzOiEwfX0pOw0KDQoNCi8qISB2ZXJzaW9uIDogNC4xNy4zNw0KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KIGJvb3RzdHJhcC1kYXRldGltZWpzDQogaHR0cHM6Ly9naXRodWIuY29tL0VvbmFzZGFuL2Jvb3RzdHJhcC1kYXRldGltZXBpY2tlcg0KIENvcHlyaWdodCAoYykgMjAxNSBKb25hdGhhbiBQZXRlcnNvbg0KID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KICovDQohZnVuY3Rpb24oYSl7InVzZSBzdHJpY3QiO2lmKCJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQpZGVmaW5lKFsianF1ZXJ5IiwibW9tZW50Il0sYSk7ZWxzZSBpZigib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHMpYShyZXF1aXJlKCJqcXVlcnkiKSxyZXF1aXJlKCJtb21lbnQiKSk7ZWxzZXtpZigidW5kZWZpbmVkIj09dHlwZW9mIGpRdWVyeSl0aHJvdyJib290c3RyYXAtZGF0ZXRpbWVwaWNrZXIgcmVxdWlyZXMgalF1ZXJ5IHRvIGJlIGxvYWRlZCBmaXJzdCI7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBtb21lbnQpdGhyb3ciYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyIHJlcXVpcmVzIE1vbWVudC5qcyB0byBiZSBsb2FkZWQgZmlyc3QiO2EoalF1ZXJ5LG1vbWVudCl9fShmdW5jdGlvbihhLGIpeyJ1c2Ugc3RyaWN0IjtpZighYil0aHJvdyBuZXcgRXJyb3IoImJvb3RzdHJhcC1kYXRldGltZXBpY2tlciByZXF1aXJlcyBNb21lbnQuanMgdG8gYmUgbG9hZGVkIGZpcnN0Iik7dmFyIGM9ZnVuY3Rpb24oYyxkKXt2YXIgZSxmLGcsaCxpLGosayxsPXt9LG09ITAsbj0hMSxvPSExLHA9MCxxPVt7Y2xzTmFtZToiZGF5cyIsbmF2Rm5jOiJNIixuYXZTdGVwOjF9LHtjbHNOYW1lOiJtb250aHMiLG5hdkZuYzoieSIsbmF2U3RlcDoxfSx7Y2xzTmFtZToieWVhcnMiLG5hdkZuYzoieSIsbmF2U3RlcDoxMH0se2Nsc05hbWU6ImRlY2FkZXMiLG5hdkZuYzoieSIsbmF2U3RlcDoxMDB9XSxyPVsiZGF5cyIsIm1vbnRocyIsInllYXJzIiwiZGVjYWRlcyJdLHM9WyJ0b3AiLCJib3R0b20iLCJhdXRvIl0sdD1bImxlZnQiLCJyaWdodCIsImF1dG8iXSx1PVsiZGVmYXVsdCIsInRvcCIsImJvdHRvbSJdLHY9e3VwOjM4LDM4OiJ1cCIsZG93bjo0MCw0MDoiZG93biIsbGVmdDozNywzNzoibGVmdCIscmlnaHQ6MzksMzk6InJpZ2h0Iix0YWI6OSw5OiJ0YWIiLGVzY2FwZToyNywyNzoiZXNjYXBlIixlbnRlcjoxMywxMzoiZW50ZXIiLHBhZ2VVcDozMywzMzoicGFnZVVwIixwYWdlRG93bjozNCwzNDoicGFnZURvd24iLHNoaWZ0OjE2LDE2OiJzaGlmdCIsY29udHJvbDoxNywxNzoiY29udHJvbCIsc3BhY2U6MzIsMzI6InNwYWNlIix0Ojg0LDg0OiJ0IiwiZGVsZXRlIjo0Niw0NjoiZGVsZXRlIn0sdz17fSx4PWZ1bmN0aW9uKGEpe3ZhciBjLGUsZixnLGgsaT0hMTtyZXR1cm4gdm9pZCAwIT09Yi50eiYmdm9pZCAwIT09ZC50aW1lWm9uZSYmbnVsbCE9PWQudGltZVpvbmUmJiIiIT09ZC50aW1lWm9uZSYmKGk9ITApLHZvaWQgMD09PWF8fG51bGw9PT1hP2M9aT9iKCkudHooZC50aW1lWm9uZSkuc3RhcnRPZigiZCIpOmIoKS5zdGFydE9mKCJkIik6aT8oZT1iKCkudHooZC50aW1lWm9uZSkudXRjT2Zmc2V0KCksZj1iKGEsaixkLnVzZVN0cmljdCkudXRjT2Zmc2V0KCksZiE9PWU/KGc9YigpLnR6KGQudGltZVpvbmUpLmZvcm1hdCgiWiIpLGg9YihhLGosZC51c2VTdHJpY3QpLmZvcm1hdCgiWVlZWS1NTS1ERFtUXUhIOm1tOnNzIikrZyxjPWIoaCxqLGQudXNlU3RyaWN0KS50eihkLnRpbWVab25lKSk6Yz1iKGEsaixkLnVzZVN0cmljdCkudHooZC50aW1lWm9uZSkpOmM9YihhLGosZC51c2VTdHJpY3QpLGN9LHk9ZnVuY3Rpb24oYSl7aWYoInN0cmluZyIhPXR5cGVvZiBhfHxhLmxlbmd0aD4xKXRocm93IG5ldyBUeXBlRXJyb3IoImlzRW5hYmxlZCBleHBlY3RzIGEgc2luZ2xlIGNoYXJhY3RlciBzdHJpbmcgcGFyYW1ldGVyIik7c3dpdGNoKGEpe2Nhc2UieSI6cmV0dXJuLTEhPT1pLmluZGV4T2YoIlkiKTtjYXNlIk0iOnJldHVybi0xIT09aS5pbmRleE9mKCJNIik7Y2FzZSJkIjpyZXR1cm4tMSE9PWkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJkIik7Y2FzZSJoIjpjYXNlIkgiOnJldHVybi0xIT09aS50b0xvd2VyQ2FzZSgpLmluZGV4T2YoImgiKTtjYXNlIm0iOnJldHVybi0xIT09aS5pbmRleE9mKCJtIik7Y2FzZSJzIjpyZXR1cm4tMSE9PWkuaW5kZXhPZigicyIpO2RlZmF1bHQ6cmV0dXJuITF9fSx6PWZ1bmN0aW9uKCl7cmV0dXJuIHkoImgiKXx8eSgibSIpfHx5KCJzIil9LEE9ZnVuY3Rpb24oKXtyZXR1cm4geSgieSIpfHx5KCJNIil8fHkoImQiKX0sQj1mdW5jdGlvbigpe3ZhciBiPWEoIjx0aGVhZD4iKS5hcHBlbmQoYSgiPHRyPiIpLmFwcGVuZChhKCI8dGg+IikuYWRkQ2xhc3MoInByZXYiKS5hdHRyKCJkYXRhLWFjdGlvbiIsInByZXZpb3VzIikuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKGQuaWNvbnMucHJldmlvdXMpKSkuYXBwZW5kKGEoIjx0aD4iKS5hZGRDbGFzcygicGlja2VyLXN3aXRjaCIpLmF0dHIoImRhdGEtYWN0aW9uIiwicGlja2VyU3dpdGNoIikuYXR0cigiY29sc3BhbiIsZC5jYWxlbmRhcldlZWtzPyI2IjoiNSIpKS5hcHBlbmQoYSgiPHRoPiIpLmFkZENsYXNzKCJuZXh0IikuYXR0cigiZGF0YS1hY3Rpb24iLCJuZXh0IikuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKGQuaWNvbnMubmV4dCkpKSksYz1hKCI8dGJvZHk+IikuYXBwZW5kKGEoIjx0cj4iKS5hcHBlbmQoYSgiPHRkPiIpLmF0dHIoImNvbHNwYW4iLGQuY2FsZW5kYXJXZWVrcz8iOCI6IjciKSkpO3JldHVyblthKCI8ZGl2PiIpLmFkZENsYXNzKCJkYXRlcGlja2VyLWRheXMiKS5hcHBlbmQoYSgiPHRhYmxlPiIpLmFkZENsYXNzKCJ0YWJsZS1jb25kZW5zZWQiKS5hcHBlbmQoYikuYXBwZW5kKGEoIjx0Ym9keT4iKSkpLGEoIjxkaXY+IikuYWRkQ2xhc3MoImRhdGVwaWNrZXItbW9udGhzIikuYXBwZW5kKGEoIjx0YWJsZT4iKS5hZGRDbGFzcygidGFibGUtY29uZGVuc2VkIikuYXBwZW5kKGIuY2xvbmUoKSkuYXBwZW5kKGMuY2xvbmUoKSkpLGEoIjxkaXY+IikuYWRkQ2xhc3MoImRhdGVwaWNrZXIteWVhcnMiKS5hcHBlbmQoYSgiPHRhYmxlPiIpLmFkZENsYXNzKCJ0YWJsZS1jb25kZW5zZWQiKS5hcHBlbmQoYi5jbG9uZSgpKS5hcHBlbmQoYy5jbG9uZSgpKSksYSgiPGRpdj4iKS5hZGRDbGFzcygiZGF0ZXBpY2tlci1kZWNhZGVzIikuYXBwZW5kKGEoIjx0YWJsZT4iKS5hZGRDbGFzcygidGFibGUtY29uZGVuc2VkIikuYXBwZW5kKGIuY2xvbmUoKSkuYXBwZW5kKGMuY2xvbmUoKSkpXX0sQz1mdW5jdGlvbigpe3ZhciBiPWEoIjx0cj4iKSxjPWEoIjx0cj4iKSxlPWEoIjx0cj4iKTtyZXR1cm4geSgiaCIpJiYoYi5hcHBlbmQoYSgiPHRkPiIpLmFwcGVuZChhKCI8YT4iKS5hdHRyKHtocmVmOiIjIix0YWJpbmRleDoiLTEiLHRpdGxlOmQudG9vbHRpcHMuaW5jcmVtZW50SG91cn0pLmFkZENsYXNzKCJidG4iKS5hdHRyKCJkYXRhLWFjdGlvbiIsImluY3JlbWVudEhvdXJzIikuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKGQuaWNvbnMudXApKSkpLGMuYXBwZW5kKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPHNwYW4+IikuYWRkQ2xhc3MoInRpbWVwaWNrZXItaG91ciIpLmF0dHIoeyJkYXRhLXRpbWUtY29tcG9uZW50IjoiaG91cnMiLHRpdGxlOmQudG9vbHRpcHMucGlja0hvdXJ9KS5hdHRyKCJkYXRhLWFjdGlvbiIsInNob3dIb3VycyIpKSksZS5hcHBlbmQoYSgiPHRkPiIpLmFwcGVuZChhKCI8YT4iKS5hdHRyKHtocmVmOiIjIix0YWJpbmRleDoiLTEiLHRpdGxlOmQudG9vbHRpcHMuZGVjcmVtZW50SG91cn0pLmFkZENsYXNzKCJidG4iKS5hdHRyKCJkYXRhLWFjdGlvbiIsImRlY3JlbWVudEhvdXJzIikuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKGQuaWNvbnMuZG93bikpKSkpLHkoIm0iKSYmKHkoImgiKSYmKGIuYXBwZW5kKGEoIjx0ZD4iKS5hZGRDbGFzcygic2VwYXJhdG9yIikpLGMuYXBwZW5kKGEoIjx0ZD4iKS5hZGRDbGFzcygic2VwYXJhdG9yIikuaHRtbCgiOiIpKSxlLmFwcGVuZChhKCI8dGQ+IikuYWRkQ2xhc3MoInNlcGFyYXRvciIpKSksYi5hcHBlbmQoYSgiPHRkPiIpLmFwcGVuZChhKCI8YT4iKS5hdHRyKHtocmVmOiIjIix0YWJpbmRleDoiLTEiLHRpdGxlOmQudG9vbHRpcHMuaW5jcmVtZW50TWludXRlfSkuYWRkQ2xhc3MoImJ0biIpLmF0dHIoImRhdGEtYWN0aW9uIiwiaW5jcmVtZW50TWludXRlcyIpLmFwcGVuZChhKCI8c3Bhbj4iKS5hZGRDbGFzcyhkLmljb25zLnVwKSkpKSxjLmFwcGVuZChhKCI8dGQ+IikuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKCJ0aW1lcGlja2VyLW1pbnV0ZSIpLmF0dHIoeyJkYXRhLXRpbWUtY29tcG9uZW50IjoibWludXRlcyIsdGl0bGU6ZC50b29sdGlwcy5waWNrTWludXRlfSkuYXR0cigiZGF0YS1hY3Rpb24iLCJzaG93TWludXRlcyIpKSksZS5hcHBlbmQoYSgiPHRkPiIpLmFwcGVuZChhKCI8YT4iKS5hdHRyKHtocmVmOiIjIix0YWJpbmRleDoiLTEiLHRpdGxlOmQudG9vbHRpcHMuZGVjcmVtZW50TWludXRlfSkuYWRkQ2xhc3MoImJ0biIpLmF0dHIoImRhdGEtYWN0aW9uIiwiZGVjcmVtZW50TWludXRlcyIpLmFwcGVuZChhKCI8c3Bhbj4iKS5hZGRDbGFzcyhkLmljb25zLmRvd24pKSkpKSx5KCJzIikmJih5KCJtIikmJihiLmFwcGVuZChhKCI8dGQ+IikuYWRkQ2xhc3MoInNlcGFyYXRvciIpKSxjLmFwcGVuZChhKCI8dGQ+IikuYWRkQ2xhc3MoInNlcGFyYXRvciIpLmh0bWwoIjoiKSksZS5hcHBlbmQoYSgiPHRkPiIpLmFkZENsYXNzKCJzZXBhcmF0b3IiKSkpLGIuYXBwZW5kKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPGE+IikuYXR0cih7aHJlZjoiIyIsdGFiaW5kZXg6Ii0xIix0aXRsZTpkLnRvb2x0aXBzLmluY3JlbWVudFNlY29uZH0pLmFkZENsYXNzKCJidG4iKS5hdHRyKCJkYXRhLWFjdGlvbiIsImluY3JlbWVudFNlY29uZHMiKS5hcHBlbmQoYSgiPHNwYW4+IikuYWRkQ2xhc3MoZC5pY29ucy51cCkpKSksYy5hcHBlbmQoYSgiPHRkPiIpLmFwcGVuZChhKCI8c3Bhbj4iKS5hZGRDbGFzcygidGltZXBpY2tlci1zZWNvbmQiKS5hdHRyKHsiZGF0YS10aW1lLWNvbXBvbmVudCI6InNlY29uZHMiLHRpdGxlOmQudG9vbHRpcHMucGlja1NlY29uZH0pLmF0dHIoImRhdGEtYWN0aW9uIiwic2hvd1NlY29uZHMiKSkpLGUuYXBwZW5kKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPGE+IikuYXR0cih7aHJlZjoiIyIsdGFiaW5kZXg6Ii0xIix0aXRsZTpkLnRvb2x0aXBzLmRlY3JlbWVudFNlY29uZH0pLmFkZENsYXNzKCJidG4iKS5hdHRyKCJkYXRhLWFjdGlvbiIsImRlY3JlbWVudFNlY29uZHMiKS5hcHBlbmQoYSgiPHNwYW4+IikuYWRkQ2xhc3MoZC5pY29ucy5kb3duKSkpKSksaHx8KGIuYXBwZW5kKGEoIjx0ZD4iKS5hZGRDbGFzcygic2VwYXJhdG9yIikpLGMuYXBwZW5kKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPGJ1dHRvbj4iKS5hZGRDbGFzcygiYnRuIGJ0bi1wcmltYXJ5IikuYXR0cih7ImRhdGEtYWN0aW9uIjoidG9nZ2xlUGVyaW9kIix0YWJpbmRleDoiLTEiLHRpdGxlOmQudG9vbHRpcHMudG9nZ2xlUGVyaW9kfSkpKSxlLmFwcGVuZChhKCI8dGQ+IikuYWRkQ2xhc3MoInNlcGFyYXRvciIpKSksYSgiPGRpdj4iKS5hZGRDbGFzcygidGltZXBpY2tlci1waWNrZXIiKS5hcHBlbmQoYSgiPHRhYmxlPiIpLmFkZENsYXNzKCJ0YWJsZS1jb25kZW5zZWQiKS5hcHBlbmQoW2IsYyxlXSkpfSxEPWZ1bmN0aW9uKCl7dmFyIGI9YSgiPGRpdj4iKS5hZGRDbGFzcygidGltZXBpY2tlci1ob3VycyIpLmFwcGVuZChhKCI8dGFibGU+IikuYWRkQ2xhc3MoInRhYmxlLWNvbmRlbnNlZCIpKSxjPWEoIjxkaXY+IikuYWRkQ2xhc3MoInRpbWVwaWNrZXItbWludXRlcyIpLmFwcGVuZChhKCI8dGFibGU+IikuYWRkQ2xhc3MoInRhYmxlLWNvbmRlbnNlZCIpKSxkPWEoIjxkaXY+IikuYWRkQ2xhc3MoInRpbWVwaWNrZXItc2Vjb25kcyIpLmFwcGVuZChhKCI8dGFibGU+IikuYWRkQ2xhc3MoInRhYmxlLWNvbmRlbnNlZCIpKSxlPVtDKCldO3JldHVybiB5KCJoIikmJmUucHVzaChiKSx5KCJtIikmJmUucHVzaChjKSx5KCJzIikmJmUucHVzaChkKSxlfSxFPWZ1bmN0aW9uKCl7dmFyIGI9W107cmV0dXJuIGQuc2hvd1RvZGF5QnV0dG9uJiZiLnB1c2goYSgiPHRkPiIpLmFwcGVuZChhKCI8YT4iKS5hdHRyKHsiZGF0YS1hY3Rpb24iOiJ0b2RheSIsdGl0bGU6ZC50b29sdGlwcy50b2RheX0pLmFwcGVuZChhKCI8c3Bhbj4iKS5hZGRDbGFzcyhkLmljb25zLnRvZGF5KSkpKSwhZC5zaWRlQnlTaWRlJiZBKCkmJnooKSYmYi5wdXNoKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPGE+IikuYXR0cih7ImRhdGEtYWN0aW9uIjoidG9nZ2xlUGlja2VyIix0aXRsZTpkLnRvb2x0aXBzLnNlbGVjdFRpbWV9KS5hcHBlbmQoYSgiPHNwYW4+IikuYWRkQ2xhc3MoZC5pY29ucy50aW1lKSkpKSxkLnNob3dDbGVhciYmYi5wdXNoKGEoIjx0ZD4iKS5hcHBlbmQoYSgiPGE+IikuYXR0cih7ImRhdGEtYWN0aW9uIjoiY2xlYXIiLHRpdGxlOmQudG9vbHRpcHMuY2xlYXJ9KS5hcHBlbmQoYSgiPHNwYW4+IikuYWRkQ2xhc3MoZC5pY29ucy5jbGVhcikpKSksZC5zaG93Q2xvc2UmJmIucHVzaChhKCI8dGQ+IikuYXBwZW5kKGEoIjxhPiIpLmF0dHIoeyJkYXRhLWFjdGlvbiI6ImNsb3NlIix0aXRsZTpkLnRvb2x0aXBzLmNsb3NlfSkuYXBwZW5kKGEoIjxzcGFuPiIpLmFkZENsYXNzKGQuaWNvbnMuY2xvc2UpKSkpLGEoIjx0YWJsZT4iKS5hZGRDbGFzcygidGFibGUtY29uZGVuc2VkIikuYXBwZW5kKGEoIjx0Ym9keT4iKS5hcHBlbmQoYSgiPHRyPiIpLmFwcGVuZChiKSkpfSxGPWZ1bmN0aW9uKCl7dmFyIGI9YSgiPGRpdj4iKS5hZGRDbGFzcygiYm9vdHN0cmFwLWRhdGV0aW1lcGlja2VyLXdpZGdldCBkcm9wZG93bi1tZW51IiksYz1hKCI8ZGl2PiIpLmFkZENsYXNzKCJkYXRlcGlja2VyIikuYXBwZW5kKEIoKSksZT1hKCI8ZGl2PiIpLmFkZENsYXNzKCJ0aW1lcGlja2VyIikuYXBwZW5kKEQoKSksZj1hKCI8dWw+IikuYWRkQ2xhc3MoImxpc3QtdW5zdHlsZWQiKSxnPWEoIjxsaT4iKS5hZGRDbGFzcygicGlja2VyLXN3aXRjaCIrKGQuY29sbGFwc2U/IiBhY2NvcmRpb24tdG9nZ2xlIjoiIikpLmFwcGVuZChFKCkpO3JldHVybiBkLmlubGluZSYmYi5yZW1vdmVDbGFzcygiZHJvcGRvd24tbWVudSIpLGgmJmIuYWRkQ2xhc3MoInVzZXR3ZW50eWZvdXIiKSx5KCJzIikmJiFoJiZiLmFkZENsYXNzKCJ3aWRlciIpLGQuc2lkZUJ5U2lkZSYmQSgpJiZ6KCk/KGIuYWRkQ2xhc3MoInRpbWVwaWNrZXItc2JzIiksInRvcCI9PT1kLnRvb2xiYXJQbGFjZW1lbnQmJmIuYXBwZW5kKGcpLGIuYXBwZW5kKGEoIjxkaXY+IikuYWRkQ2xhc3MoInJvdyIpLmFwcGVuZChjLmFkZENsYXNzKCJjb2wtbWQtNiIpKS5hcHBlbmQoZS5hZGRDbGFzcygiY29sLW1kLTYiKSkpLCJib3R0b20iPT09ZC50b29sYmFyUGxhY2VtZW50JiZiLmFwcGVuZChnKSxiKTooInRvcCI9PT1kLnRvb2xiYXJQbGFjZW1lbnQmJmYuYXBwZW5kKGcpLEEoKSYmZi5hcHBlbmQoYSgiPGxpPiIpLmFkZENsYXNzKGQuY29sbGFwc2UmJnooKT8iY29sbGFwc2UgaW4iOiIiKS5hcHBlbmQoYykpLCJkZWZhdWx0Ij09PWQudG9vbGJhclBsYWNlbWVudCYmZi5hcHBlbmQoZykseigpJiZmLmFwcGVuZChhKCI8bGk+IikuYWRkQ2xhc3MoZC5jb2xsYXBzZSYmQSgpPyJjb2xsYXBzZSI6IiIpLmFwcGVuZChlKSksImJvdHRvbSI9PT1kLnRvb2xiYXJQbGFjZW1lbnQmJmYuYXBwZW5kKGcpLGIuYXBwZW5kKGYpKX0sRz1mdW5jdGlvbigpe3ZhciBiLGU9e307cmV0dXJuIGI9Yy5pcygiaW5wdXQiKXx8ZC5pbmxpbmU/Yy5kYXRhKCk6Yy5maW5kKCJpbnB1dCIpLmRhdGEoKSxiLmRhdGVPcHRpb25zJiZiLmRhdGVPcHRpb25zIGluc3RhbmNlb2YgT2JqZWN0JiYoZT1hLmV4dGVuZCghMCxlLGIuZGF0ZU9wdGlvbnMpKSxhLmVhY2goZCxmdW5jdGlvbihhKXt2YXIgYz0iZGF0ZSIrYS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSthLnNsaWNlKDEpO3ZvaWQgMCE9PWJbY10mJihlW2FdPWJbY10pfSksZX0sSD1mdW5jdGlvbigpe3ZhciBiLGU9KG58fGMpLnBvc2l0aW9uKCksZj0obnx8Yykub2Zmc2V0KCksZz1kLndpZGdldFBvc2l0aW9uaW5nLnZlcnRpY2FsLGg9ZC53aWRnZXRQb3NpdGlvbmluZy5ob3Jpem9udGFsO2lmKGQud2lkZ2V0UGFyZW50KWI9ZC53aWRnZXRQYXJlbnQuYXBwZW5kKG8pO2Vsc2UgaWYoYy5pcygiaW5wdXQiKSliPWMuYWZ0ZXIobykucGFyZW50KCk7ZWxzZXtpZihkLmlubGluZSlyZXR1cm4gdm9pZChiPWMuYXBwZW5kKG8pKTtiPWMsYy5jaGlsZHJlbigpLmZpcnN0KCkuYWZ0ZXIobyl9aWYoImF1dG8iPT09ZyYmKGc9Zi50b3ArMS41Km8uaGVpZ2h0KCk+PWEod2luZG93KS5oZWlnaHQoKSthKHdpbmRvdykuc2Nyb2xsVG9wKCkmJm8uaGVpZ2h0KCkrYy5vdXRlckhlaWdodCgpPGYudG9wPyJ0b3AiOiJib3R0b20iKSwiYXV0byI9PT1oJiYoaD1iLndpZHRoKCk8Zi5sZWZ0K28ub3V0ZXJXaWR0aCgpLzImJmYubGVmdCtvLm91dGVyV2lkdGgoKT5hKHdpbmRvdykud2lkdGgoKT8icmlnaHQiOiJsZWZ0IiksInRvcCI9PT1nP28uYWRkQ2xhc3MoInRvcCIpLnJlbW92ZUNsYXNzKCJib3R0b20iKTpvLmFkZENsYXNzKCJib3R0b20iKS5yZW1vdmVDbGFzcygidG9wIiksInJpZ2h0Ij09PWg/by5hZGRDbGFzcygicHVsbC1yaWdodCIpOm8ucmVtb3ZlQ2xhc3MoInB1bGwtcmlnaHQiKSwicmVsYXRpdmUiIT09Yi5jc3MoInBvc2l0aW9uIikmJihiPWIucGFyZW50cygpLmZpbHRlcihmdW5jdGlvbigpe3JldHVybiJyZWxhdGl2ZSI9PT1hKHRoaXMpLmNzcygicG9zaXRpb24iKX0pLmZpcnN0KCkpLDA9PT1iLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoImRhdGV0aW1lcGlja2VyIGNvbXBvbmVudCBzaG91bGQgYmUgcGxhY2VkIHdpdGhpbiBhIHJlbGF0aXZlIHBvc2l0aW9uZWQgY29udGFpbmVyIik7by5jc3Moe3RvcDoidG9wIj09PWc/ImF1dG8iOmUudG9wK2Mub3V0ZXJIZWlnaHQoKSxib3R0b206InRvcCI9PT1nP2UudG9wK2Mub3V0ZXJIZWlnaHQoKToiYXV0byIsbGVmdDoibGVmdCI9PT1oP2I9PT1jPzA6ZS5sZWZ0OiJhdXRvIixyaWdodDoibGVmdCI9PT1oPyJhdXRvIjpiLm91dGVyV2lkdGgoKS1jLm91dGVyV2lkdGgoKS0oYj09PWM/MDplLmxlZnQpfSl9LEk9ZnVuY3Rpb24oYSl7ImRwLmNoYW5nZSI9PT1hLnR5cGUmJihhLmRhdGUmJmEuZGF0ZS5pc1NhbWUoYS5vbGREYXRlKXx8IWEuZGF0ZSYmIWEub2xkRGF0ZSl8fGMudHJpZ2dlcihhKX0sSj1mdW5jdGlvbihhKXsieSI9PT1hJiYoYT0iWVlZWSIpLEkoe3R5cGU6ImRwLnVwZGF0ZSIsY2hhbmdlOmEsdmlld0RhdGU6Zi5jbG9uZSgpfSl9LEs9ZnVuY3Rpb24oYSl7byYmKGEmJihrPU1hdGgubWF4KHAsTWF0aC5taW4oMyxrK2EpKSksby5maW5kKCIuZGF0ZXBpY2tlciA+IGRpdiIpLmhpZGUoKS5maWx0ZXIoIi5kYXRlcGlja2VyLSIrcVtrXS5jbHNOYW1lKS5zaG93KCkpfSxMPWZ1bmN0aW9uKCl7dmFyIGI9YSgiPHRyPiIpLGM9Zi5jbG9uZSgpLnN0YXJ0T2YoInciKS5zdGFydE9mKCJkIik7Zm9yKGQuY2FsZW5kYXJXZWVrcz09PSEwJiZiLmFwcGVuZChhKCI8dGg+IikuYWRkQ2xhc3MoImN3IikudGV4dCgiIyIpKTtjLmlzQmVmb3JlKGYuY2xvbmUoKS5lbmRPZigidyIpKTspYi5hcHBlbmQoYSgiPHRoPiIpLmFkZENsYXNzKCJkb3ciKS50ZXh0KGMuZm9ybWF0KCJkZCIpKSksYy5hZGQoMSwiZCIpO28uZmluZCgiLmRhdGVwaWNrZXItZGF5cyB0aGVhZCIpLmFwcGVuZChiKX0sTT1mdW5jdGlvbihhKXtyZXR1cm4gZC5kaXNhYmxlZERhdGVzW2EuZm9ybWF0KCJZWVlZLU1NLUREIildPT09ITB9LE49ZnVuY3Rpb24oYSl7cmV0dXJuIGQuZW5hYmxlZERhdGVzW2EuZm9ybWF0KCJZWVlZLU1NLUREIildPT09ITB9LE89ZnVuY3Rpb24oYSl7cmV0dXJuIGQuZGlzYWJsZWRIb3Vyc1thLmZvcm1hdCgiSCIpXT09PSEwfSxQPWZ1bmN0aW9uKGEpe3JldHVybiBkLmVuYWJsZWRIb3Vyc1thLmZvcm1hdCgiSCIpXT09PSEwfSxRPWZ1bmN0aW9uKGIsYyl7aWYoIWIuaXNWYWxpZCgpKXJldHVybiExO2lmKGQuZGlzYWJsZWREYXRlcyYmImQiPT09YyYmTShiKSlyZXR1cm4hMTtpZihkLmVuYWJsZWREYXRlcyYmImQiPT09YyYmIU4oYikpcmV0dXJuITE7aWYoZC5taW5EYXRlJiZiLmlzQmVmb3JlKGQubWluRGF0ZSxjKSlyZXR1cm4hMTtpZihkLm1heERhdGUmJmIuaXNBZnRlcihkLm1heERhdGUsYykpcmV0dXJuITE7aWYoZC5kYXlzT2ZXZWVrRGlzYWJsZWQmJiJkIj09PWMmJi0xIT09ZC5kYXlzT2ZXZWVrRGlzYWJsZWQuaW5kZXhPZihiLmRheSgpKSlyZXR1cm4hMTtpZihkLmRpc2FibGVkSG91cnMmJigiaCI9PT1jfHwibSI9PT1jfHwicyI9PT1jKSYmTyhiKSlyZXR1cm4hMTtpZihkLmVuYWJsZWRIb3VycyYmKCJoIj09PWN8fCJtIj09PWN8fCJzIj09PWMpJiYhUChiKSlyZXR1cm4hMTtpZihkLmRpc2FibGVkVGltZUludGVydmFscyYmKCJoIj09PWN8fCJtIj09PWN8fCJzIj09PWMpKXt2YXIgZT0hMTtpZihhLmVhY2goZC5kaXNhYmxlZFRpbWVJbnRlcnZhbHMsZnVuY3Rpb24oKXtyZXR1cm4gYi5pc0JldHdlZW4odGhpc1swXSx0aGlzWzFdKT8oZT0hMCwhMSk6dm9pZCAwfSksZSlyZXR1cm4hMX1yZXR1cm4hMH0sUj1mdW5jdGlvbigpe2Zvcih2YXIgYj1bXSxjPWYuY2xvbmUoKS5zdGFydE9mKCJ5Iikuc3RhcnRPZigiZCIpO2MuaXNTYW1lKGYsInkiKTspYi5wdXNoKGEoIjxzcGFuPiIpLmF0dHIoImRhdGEtYWN0aW9uIiwic2VsZWN0TW9udGgiKS5hZGRDbGFzcygibW9udGgiKS50ZXh0KGMuZm9ybWF0KCJNTU0iKSkpLGMuYWRkKDEsIk0iKTtvLmZpbmQoIi5kYXRlcGlja2VyLW1vbnRocyB0ZCIpLmVtcHR5KCkuYXBwZW5kKGIpfSxTPWZ1bmN0aW9uKCl7dmFyIGI9by5maW5kKCIuZGF0ZXBpY2tlci1tb250aHMiKSxjPWIuZmluZCgidGgiKSxnPWIuZmluZCgidGJvZHkiKS5maW5kKCJzcGFuIik7Yy5lcSgwKS5maW5kKCJzcGFuIikuYXR0cigidGl0bGUiLGQudG9vbHRpcHMucHJldlllYXIpLGMuZXEoMSkuYXR0cigidGl0bGUiLGQudG9vbHRpcHMuc2VsZWN0WWVhciksYy5lcSgyKS5maW5kKCJzcGFuIikuYXR0cigidGl0bGUiLGQudG9vbHRpcHMubmV4dFllYXIpLGIuZmluZCgiLmRpc2FibGVkIikucmVtb3ZlQ2xhc3MoImRpc2FibGVkIiksUShmLmNsb25lKCkuc3VidHJhY3QoMSwieSIpLCJ5Iil8fGMuZXEoMCkuYWRkQ2xhc3MoImRpc2FibGVkIiksYy5lcSgxKS50ZXh0KGYueWVhcigpKSxRKGYuY2xvbmUoKS5hZGQoMSwieSIpLCJ5Iil8fGMuZXEoMikuYWRkQ2xhc3MoImRpc2FibGVkIiksZy5yZW1vdmVDbGFzcygiYWN0aXZlIiksZS5pc1NhbWUoZiwieSIpJiYhbSYmZy5lcShlLm1vbnRoKCkpLmFkZENsYXNzKCJhY3RpdmUiKSxnLmVhY2goZnVuY3Rpb24oYil7UShmLmNsb25lKCkubW9udGgoYiksIk0iKXx8YSh0aGlzKS5hZGRDbGFzcygiZGlzYWJsZWQiKX0pfSxUPWZ1bmN0aW9uKCl7dmFyIGE9by5maW5kKCIuZGF0ZXBpY2tlci15ZWFycyIpLGI9YS5maW5kKCJ0aCIpLGM9Zi5jbG9uZSgpLnN1YnRyYWN0KDUsInkiKSxnPWYuY2xvbmUoKS5hZGQoNiwieSIpLGg9IiI7Zm9yKGIuZXEoMCkuZmluZCgic3BhbiIpLmF0dHIoInRpdGxlIixkLnRvb2x0aXBzLnByZXZEZWNhZGUpLGIuZXEoMSkuYXR0cigidGl0bGUiLGQudG9vbHRpcHMuc2VsZWN0RGVjYWRlKSxiLmVxKDIpLmZpbmQoInNwYW4iKS5hdHRyKCJ0aXRsZSIsZC50b29sdGlwcy5uZXh0RGVjYWRlKSxhLmZpbmQoIi5kaXNhYmxlZCIpLnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpLGQubWluRGF0ZSYmZC5taW5EYXRlLmlzQWZ0ZXIoYywieSIpJiZiLmVxKDApLmFkZENsYXNzKCJkaXNhYmxlZCIpLGIuZXEoMSkudGV4dChjLnllYXIoKSsiLSIrZy55ZWFyKCkpLGQubWF4RGF0ZSYmZC5tYXhEYXRlLmlzQmVmb3JlKGcsInkiKSYmYi5lcSgyKS5hZGRDbGFzcygiZGlzYWJsZWQiKTshYy5pc0FmdGVyKGcsInkiKTspaCs9JzxzcGFuIGRhdGEtYWN0aW9uPSJzZWxlY3RZZWFyIiBjbGFzcz0ieWVhcicrKGMuaXNTYW1lKGUsInkiKSYmIW0/IiBhY3RpdmUiOiIiKSsoUShjLCJ5Iik/IiI6IiBkaXNhYmxlZCIpKyciPicrYy55ZWFyKCkrIjwvc3Bhbj4iLGMuYWRkKDEsInkiKTthLmZpbmQoInRkIikuaHRtbChoKX0sVT1mdW5jdGlvbigpe3ZhciBhPW8uZmluZCgiLmRhdGVwaWNrZXItZGVjYWRlcyIpLGM9YS5maW5kKCJ0aCIpLGc9Yih7eTpmLnllYXIoKS1mLnllYXIoKSUxMDAtMX0pLGg9Zy5jbG9uZSgpLmFkZCgxMDAsInkiKSxpPWcuY2xvbmUoKSxqPSIiO2ZvcihjLmVxKDApLmZpbmQoInNwYW4iKS5hdHRyKCJ0aXRsZSIsZC50b29sdGlwcy5wcmV2Q2VudHVyeSksYy5lcSgyKS5maW5kKCJzcGFuIikuYXR0cigidGl0bGUiLGQudG9vbHRpcHMubmV4dENlbnR1cnkpLGEuZmluZCgiLmRpc2FibGVkIikucmVtb3ZlQ2xhc3MoImRpc2FibGVkIiksKGcuaXNTYW1lKGIoe3k6MTkwMH0pKXx8ZC5taW5EYXRlJiZkLm1pbkRhdGUuaXNBZnRlcihnLCJ5IikpJiZjLmVxKDApLmFkZENsYXNzKCJkaXNhYmxlZCIpLGMuZXEoMSkudGV4dChnLnllYXIoKSsiLSIraC55ZWFyKCkpLChnLmlzU2FtZShiKHt5OjJlM30pKXx8ZC5tYXhEYXRlJiZkLm1heERhdGUuaXNCZWZvcmUoaCwieSIpKSYmYy5lcSgyKS5hZGRDbGFzcygiZGlzYWJsZWQiKTshZy5pc0FmdGVyKGgsInkiKTspais9JzxzcGFuIGRhdGEtYWN0aW9uPSJzZWxlY3REZWNhZGUiIGNsYXNzPSJkZWNhZGUnKyhnLmlzU2FtZShlLCJ5Iik/IiBhY3RpdmUiOiIiKSsoUShnLCJ5Iik/IiI6IiBkaXNhYmxlZCIpKyciIGRhdGEtc2VsZWN0aW9uPSInKyhnLnllYXIoKSs2KSsnIj4nKyhnLnllYXIoKSsxKSsiIC0gIisoZy55ZWFyKCkrMTIpKyI8L3NwYW4+IixnLmFkZCgxMiwieSIpO2orPSI8c3Bhbj48L3NwYW4+PHNwYW4+PC9zcGFuPjxzcGFuPjwvc3Bhbj4iLGEuZmluZCgidGQiKS5odG1sKGopLGMuZXEoMSkudGV4dChpLnllYXIoKSsxKyItIitnLnllYXIoKSl9LFY9ZnVuY3Rpb24oKXt2YXIgYixjLGcsaCxpPW8uZmluZCgiLmRhdGVwaWNrZXItZGF5cyIpLGo9aS5maW5kKCJ0aCIpLGs9W107aWYoQSgpKXtmb3Ioai5lcSgwKS5maW5kKCJzcGFuIikuYXR0cigidGl0bGUiLGQudG9vbHRpcHMucHJldk1vbnRoKSxqLmVxKDEpLmF0dHIoInRpdGxlIixkLnRvb2x0aXBzLnNlbGVjdE1vbnRoKSxqLmVxKDIpLmZpbmQoInNwYW4iKS5hdHRyKCJ0aXRsZSIsZC50b29sdGlwcy5uZXh0TW9udGgpLGkuZmluZCgiLmRpc2FibGVkIikucmVtb3ZlQ2xhc3MoImRpc2FibGVkIiksai5lcSgxKS50ZXh0KGYuZm9ybWF0KGQuZGF5Vmlld0hlYWRlckZvcm1hdCkpLFEoZi5jbG9uZSgpLnN1YnRyYWN0KDEsIk0iKSwiTSIpfHxqLmVxKDApLmFkZENsYXNzKCJkaXNhYmxlZCIpLFEoZi5jbG9uZSgpLmFkZCgxLCJNIiksIk0iKXx8ai5lcSgyKS5hZGRDbGFzcygiZGlzYWJsZWQiKSxiPWYuY2xvbmUoKS5zdGFydE9mKCJNIikuc3RhcnRPZigidyIpLnN0YXJ0T2YoImQiKSxoPTA7NDI+aDtoKyspMD09PWIud2Vla2RheSgpJiYoYz1hKCI8dHI+IiksZC5jYWxlbmRhcldlZWtzJiZjLmFwcGVuZCgnPHRkIGNsYXNzPSJjdyI+JytiLndlZWsoKSsiPC90ZD4iKSxrLnB1c2goYykpLGc9IiIsYi5pc0JlZm9yZShmLCJNIikmJihnKz0iIG9sZCIpLGIuaXNBZnRlcihmLCJNIikmJihnKz0iIG5ldyIpLGIuaXNTYW1lKGUsImQiKSYmIW0mJihnKz0iIGFjdGl2ZSIpLFEoYiwiZCIpfHwoZys9IiBkaXNhYmxlZCIpLGIuaXNTYW1lKHgoKSwiZCIpJiYoZys9IiB0b2RheSIpLCgwPT09Yi5kYXkoKXx8Nj09PWIuZGF5KCkpJiYoZys9IiB3ZWVrZW5kIiksYy5hcHBlbmQoJzx0ZCBkYXRhLWFjdGlvbj0ic2VsZWN0RGF5IiBkYXRhLWRheT0iJytiLmZvcm1hdCgiTCIpKyciIGNsYXNzPSJkYXknK2crJyI+JytiLmRhdGUoKSsiPC90ZD4iKSxiLmFkZCgxLCJkIik7aS5maW5kKCJ0Ym9keSIpLmVtcHR5KCkuYXBwZW5kKGspLFMoKSxUKCksVSgpfX0sVz1mdW5jdGlvbigpe3ZhciBiPW8uZmluZCgiLnRpbWVwaWNrZXItaG91cnMgdGFibGUiKSxjPWYuY2xvbmUoKS5zdGFydE9mKCJkIiksZD1bXSxlPWEoIjx0cj4iKTtmb3IoZi5ob3VyKCk+MTEmJiFoJiZjLmhvdXIoMTIpO2MuaXNTYW1lKGYsImQiKSYmKGh8fGYuaG91cigpPDEyJiZjLmhvdXIoKTwxMnx8Zi5ob3VyKCk+MTEpOyljLmhvdXIoKSU0PT09MCYmKGU9YSgiPHRyPiIpLGQucHVzaChlKSksZS5hcHBlbmQoJzx0ZCBkYXRhLWFjdGlvbj0ic2VsZWN0SG91ciIgY2xhc3M9ImhvdXInKyhRKGMsImgiKT8iIjoiIGRpc2FibGVkIikrJyI+JytjLmZvcm1hdChoPyJISCI6ImhoIikrIjwvdGQ+IiksYy5hZGQoMSwiaCIpO2IuZW1wdHkoKS5hcHBlbmQoZCl9LFg9ZnVuY3Rpb24oKXtmb3IodmFyIGI9by5maW5kKCIudGltZXBpY2tlci1taW51dGVzIHRhYmxlIiksYz1mLmNsb25lKCkuc3RhcnRPZigiaCIpLGU9W10sZz1hKCI8dHI+IiksaD0xPT09ZC5zdGVwcGluZz81OmQuc3RlcHBpbmc7Zi5pc1NhbWUoYywiaCIpOyljLm1pbnV0ZSgpJSg0KmgpPT09MCYmKGc9YSgiPHRyPiIpLGUucHVzaChnKSksZy5hcHBlbmQoJzx0ZCBkYXRhLWFjdGlvbj0ic2VsZWN0TWludXRlIiBjbGFzcz0ibWludXRlJysoUShjLCJtIik/IiI6IiBkaXNhYmxlZCIpKyciPicrYy5mb3JtYXQoIm1tIikrIjwvdGQ+IiksYy5hZGQoaCwibSIpO2IuZW1wdHkoKS5hcHBlbmQoZSl9LFk9ZnVuY3Rpb24oKXtmb3IodmFyIGI9by5maW5kKCIudGltZXBpY2tlci1zZWNvbmRzIHRhYmxlIiksYz1mLmNsb25lKCkuc3RhcnRPZigibSIpLGQ9W10sZT1hKCI8dHI+Iik7Zi5pc1NhbWUoYywibSIpOyljLnNlY29uZCgpJTIwPT09MCYmKGU9YSgiPHRyPiIpLGQucHVzaChlKSksZS5hcHBlbmQoJzx0ZCBkYXRhLWFjdGlvbj0ic2VsZWN0U2Vjb25kIiBjbGFzcz0ic2Vjb25kJysoUShjLCJzIik/IiI6IiBkaXNhYmxlZCIpKyciPicrYy5mb3JtYXQoInNzIikrIjwvdGQ+IiksYy5hZGQoNSwicyIpO2IuZW1wdHkoKS5hcHBlbmQoZCl9LFo9ZnVuY3Rpb24oKXt2YXIgYSxiLGM9by5maW5kKCIudGltZXBpY2tlciBzcGFuW2RhdGEtdGltZS1jb21wb25lbnRdIik7aHx8KGE9by5maW5kKCIudGltZXBpY2tlciBbZGF0YS1hY3Rpb249dG9nZ2xlUGVyaW9kXSIpLGI9ZS5jbG9uZSgpLmFkZChlLmhvdXJzKCk+PTEyPy0xMjoxMiwiaCIpLGEudGV4dChlLmZvcm1hdCgiQSIpKSxRKGIsImgiKT9hLnJlbW92ZUNsYXNzKCJkaXNhYmxlZCIpOmEuYWRkQ2xhc3MoImRpc2FibGVkIikpLGMuZmlsdGVyKCJbZGF0YS10aW1lLWNvbXBvbmVudD1ob3Vyc10iKS50ZXh0KGUuZm9ybWF0KGg/IkhIIjoiaGgiKSksYy5maWx0ZXIoIltkYXRhLXRpbWUtY29tcG9uZW50PW1pbnV0ZXNdIikudGV4dChlLmZvcm1hdCgibW0iKSksYy5maWx0ZXIoIltkYXRhLXRpbWUtY29tcG9uZW50PXNlY29uZHNdIikudGV4dChlLmZvcm1hdCgic3MiKSksVygpLFgoKSxZKCl9LCQ9ZnVuY3Rpb24oKXtvJiYoVigpLFooKSl9LF89ZnVuY3Rpb24oYSl7dmFyIGI9bT9udWxsOmU7cmV0dXJuIGE/KGE9YS5jbG9uZSgpLmxvY2FsZShkLmxvY2FsZSksMSE9PWQuc3RlcHBpbmcmJmEubWludXRlcyhNYXRoLnJvdW5kKGEubWludXRlcygpL2Quc3RlcHBpbmcpKmQuc3RlcHBpbmclNjApLnNlY29uZHMoMCksdm9pZChRKGEpPyhlPWEsZj1lLmNsb25lKCksZy52YWwoZS5mb3JtYXQoaSkpLGMuZGF0YSgiZGF0ZSIsZS5mb3JtYXQoaSkpLG09ITEsJCgpLEkoe3R5cGU6ImRwLmNoYW5nZSIsZGF0ZTplLmNsb25lKCksb2xkRGF0ZTpifSkpOihkLmtlZXBJbnZhbGlkfHxnLnZhbChtPyIiOmUuZm9ybWF0KGkpKSxJKHt0eXBlOiJkcC5lcnJvciIsZGF0ZTphfSkpKSk6KG09ITAsZy52YWwoIiIpLGMuZGF0YSgiZGF0ZSIsIiIpLEkoe3R5cGU6ImRwLmNoYW5nZSIsZGF0ZTohMSxvbGREYXRlOmJ9KSx2b2lkICQoKSl9LGFhPWZ1bmN0aW9uKCl7dmFyIGI9ITE7cmV0dXJuIG8/KG8uZmluZCgiLmNvbGxhcHNlIikuZWFjaChmdW5jdGlvbigpe3ZhciBjPWEodGhpcykuZGF0YSgiY29sbGFwc2UiKTtyZXR1cm4gYyYmYy50cmFuc2l0aW9uaW5nPyhiPSEwLCExKTohMH0pLGI/bDoobiYmbi5oYXNDbGFzcygiYnRuIikmJm4udG9nZ2xlQ2xhc3MoImFjdGl2ZSIpLG8uaGlkZSgpLGEod2luZG93KS5vZmYoInJlc2l6ZSIsSCksby5vZmYoImNsaWNrIiwiW2RhdGEtYWN0aW9uXSIpLG8ub2ZmKCJtb3VzZWRvd24iLCExKSxvLnJlbW92ZSgpLG89ITEsSSh7dHlwZToiZHAuaGlkZSIsZGF0ZTplLmNsb25lKCl9KSxnLmJsdXIoKSxsKSk6bH0sYmE9ZnVuY3Rpb24oKXtfKG51bGwpfSxjYT17bmV4dDpmdW5jdGlvbigpe3ZhciBhPXFba10ubmF2Rm5jO2YuYWRkKHFba10ubmF2U3RlcCxhKSxWKCksSihhKX0scHJldmlvdXM6ZnVuY3Rpb24oKXt2YXIgYT1xW2tdLm5hdkZuYztmLnN1YnRyYWN0KHFba10ubmF2U3RlcCxhKSxWKCksSihhKX0scGlja2VyU3dpdGNoOmZ1bmN0aW9uKCl7SygxKX0sc2VsZWN0TW9udGg6ZnVuY3Rpb24oYil7dmFyIGM9YShiLnRhcmdldCkuY2xvc2VzdCgidGJvZHkiKS5maW5kKCJzcGFuIikuaW5kZXgoYShiLnRhcmdldCkpO2YubW9udGgoYyksaz09PXA/KF8oZS5jbG9uZSgpLnllYXIoZi55ZWFyKCkpLm1vbnRoKGYubW9udGgoKSkpLGQuaW5saW5lfHxhYSgpKTooSygtMSksVigpKSxKKCJNIil9LHNlbGVjdFllYXI6ZnVuY3Rpb24oYil7dmFyIGM9cGFyc2VJbnQoYShiLnRhcmdldCkudGV4dCgpLDEwKXx8MDtmLnllYXIoYyksaz09PXA/KF8oZS5jbG9uZSgpLnllYXIoZi55ZWFyKCkpKSxkLmlubGluZXx8YWEoKSk6KEsoLTEpLFYoKSksSigiWVlZWSIpfSxzZWxlY3REZWNhZGU6ZnVuY3Rpb24oYil7dmFyIGM9cGFyc2VJbnQoYShiLnRhcmdldCkuZGF0YSgic2VsZWN0aW9uIiksMTApfHwwO2YueWVhcihjKSxrPT09cD8oXyhlLmNsb25lKCkueWVhcihmLnllYXIoKSkpLGQuaW5saW5lfHxhYSgpKTooSygtMSksVigpKSxKKCJZWVlZIil9LHNlbGVjdERheTpmdW5jdGlvbihiKXt2YXIgYz1mLmNsb25lKCk7YShiLnRhcmdldCkuaXMoIi5vbGQiKSYmYy5zdWJ0cmFjdCgxLCJNIiksYShiLnRhcmdldCkuaXMoIi5uZXciKSYmYy5hZGQoMSwiTSIpLF8oYy5kYXRlKHBhcnNlSW50KGEoYi50YXJnZXQpLnRleHQoKSwxMCkpKSx6KCl8fGQua2VlcE9wZW58fGQuaW5saW5lfHxhYSgpfSxpbmNyZW1lbnRIb3VyczpmdW5jdGlvbigpe3ZhciBhPWUuY2xvbmUoKS5hZGQoMSwiaCIpO1EoYSwiaCIpJiZfKGEpfSxpbmNyZW1lbnRNaW51dGVzOmZ1bmN0aW9uKCl7dmFyIGE9ZS5jbG9uZSgpLmFkZChkLnN0ZXBwaW5nLCJtIik7UShhLCJtIikmJl8oYSl9LGluY3JlbWVudFNlY29uZHM6ZnVuY3Rpb24oKXt2YXIgYT1lLmNsb25lKCkuYWRkKDEsInMiKTtRKGEsInMiKSYmXyhhKX0sZGVjcmVtZW50SG91cnM6ZnVuY3Rpb24oKXt2YXIgYT1lLmNsb25lKCkuc3VidHJhY3QoMSwiaCIpO1EoYSwiaCIpJiZfKGEpfSxkZWNyZW1lbnRNaW51dGVzOmZ1bmN0aW9uKCl7dmFyIGE9ZS5jbG9uZSgpLnN1YnRyYWN0KGQuc3RlcHBpbmcsIm0iKTtRKGEsIm0iKSYmXyhhKX0sZGVjcmVtZW50U2Vjb25kczpmdW5jdGlvbigpe3ZhciBhPWUuY2xvbmUoKS5zdWJ0cmFjdCgxLCJzIik7UShhLCJzIikmJl8oYSl9LHRvZ2dsZVBlcmlvZDpmdW5jdGlvbigpe18oZS5jbG9uZSgpLmFkZChlLmhvdXJzKCk+PTEyPy0xMjoxMiwiaCIpKX0sdG9nZ2xlUGlja2VyOmZ1bmN0aW9uKGIpe3ZhciBjLGU9YShiLnRhcmdldCksZj1lLmNsb3Nlc3QoInVsIiksZz1mLmZpbmQoIi5pbiIpLGg9Zi5maW5kKCIuY29sbGFwc2U6bm90KC5pbikiKTtpZihnJiZnLmxlbmd0aCl7aWYoYz1nLmRhdGEoImNvbGxhcHNlIiksYyYmYy50cmFuc2l0aW9uaW5nKXJldHVybjtnLmNvbGxhcHNlPyhnLmNvbGxhcHNlKCJoaWRlIiksaC5jb2xsYXBzZSgic2hvdyIpKTooZy5yZW1vdmVDbGFzcygiaW4iKSxoLmFkZENsYXNzKCJpbiIpKSxlLmlzKCJzcGFuIik/ZS50b2dnbGVDbGFzcyhkLmljb25zLnRpbWUrIiAiK2QuaWNvbnMuZGF0ZSk6ZS5maW5kKCJzcGFuIikudG9nZ2xlQ2xhc3MoZC5pY29ucy50aW1lKyIgIitkLmljb25zLmRhdGUpfX0sc2hvd1BpY2tlcjpmdW5jdGlvbigpe28uZmluZCgiLnRpbWVwaWNrZXIgPiBkaXY6bm90KC50aW1lcGlja2VyLXBpY2tlcikiKS5oaWRlKCksby5maW5kKCIudGltZXBpY2tlciAudGltZXBpY2tlci1waWNrZXIiKS5zaG93KCl9LHNob3dIb3VyczpmdW5jdGlvbigpe28uZmluZCgiLnRpbWVwaWNrZXIgLnRpbWVwaWNrZXItcGlja2VyIikuaGlkZSgpLG8uZmluZCgiLnRpbWVwaWNrZXIgLnRpbWVwaWNrZXItaG91cnMiKS5zaG93KCl9LHNob3dNaW51dGVzOmZ1bmN0aW9uKCl7by5maW5kKCIudGltZXBpY2tlciAudGltZXBpY2tlci1waWNrZXIiKS5oaWRlKCksby5maW5kKCIudGltZXBpY2tlciAudGltZXBpY2tlci1taW51dGVzIikuc2hvdygpfSxzaG93U2Vjb25kczpmdW5jdGlvbigpe28uZmluZCgiLnRpbWVwaWNrZXIgLnRpbWVwaWNrZXItcGlja2VyIikuaGlkZSgpLG8uZmluZCgiLnRpbWVwaWNrZXIgLnRpbWVwaWNrZXItc2Vjb25kcyIpLnNob3coKX0sc2VsZWN0SG91cjpmdW5jdGlvbihiKXt2YXIgYz1wYXJzZUludChhKGIudGFyZ2V0KS50ZXh0KCksMTApO2h8fChlLmhvdXJzKCk+PTEyPzEyIT09YyYmKGMrPTEyKToxMj09PWMmJihjPTApKSxfKGUuY2xvbmUoKS5ob3VycyhjKSksY2Euc2hvd1BpY2tlci5jYWxsKGwpfSxzZWxlY3RNaW51dGU6ZnVuY3Rpb24oYil7XyhlLmNsb25lKCkubWludXRlcyhwYXJzZUludChhKGIudGFyZ2V0KS50ZXh0KCksMTApKSksY2Euc2hvd1BpY2tlci5jYWxsKGwpfSxzZWxlY3RTZWNvbmQ6ZnVuY3Rpb24oYil7XyhlLmNsb25lKCkuc2Vjb25kcyhwYXJzZUludChhKGIudGFyZ2V0KS50ZXh0KCksMTApKSksY2Euc2hvd1BpY2tlci5jYWxsKGwpfSxjbGVhcjpiYSx0b2RheTpmdW5jdGlvbigpe3ZhciBhPXgoKTtRKGEsImQiKSYmXyhhKX0sY2xvc2U6YWF9LGRhPWZ1bmN0aW9uKGIpe3JldHVybiBhKGIuY3VycmVudFRhcmdldCkuaXMoIi5kaXNhYmxlZCIpPyExOihjYVthKGIuY3VycmVudFRhcmdldCkuZGF0YSgiYWN0aW9uIildLmFwcGx5KGwsYXJndW1lbnRzKSwhMSl9LGVhPWZ1bmN0aW9uKCl7dmFyIGIsYz17eWVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYS5tb250aCgwKS5kYXRlKDEpLmhvdXJzKDApLnNlY29uZHMoMCkubWludXRlcygwKX0sbW9udGg6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuZGF0ZSgxKS5ob3VycygwKS5zZWNvbmRzKDApLm1pbnV0ZXMoMCl9LGRheTpmdW5jdGlvbihhKXtyZXR1cm4gYS5ob3VycygwKS5zZWNvbmRzKDApLm1pbnV0ZXMoMCl9LGhvdXI6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2Vjb25kcygwKS5taW51dGVzKDApfSxtaW51dGU6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuc2Vjb25kcygwKX19O3JldHVybiBnLnByb3AoImRpc2FibGVkIil8fCFkLmlnbm9yZVJlYWRvbmx5JiZnLnByb3AoInJlYWRvbmx5Iil8fG8/bDoodm9pZCAwIT09Zy52YWwoKSYmMCE9PWcudmFsKCkudHJpbSgpLmxlbmd0aD9fKGdhKGcudmFsKCkudHJpbSgpKSk6ZC51c2VDdXJyZW50JiZtJiYoZy5pcygiaW5wdXQiKSYmMD09PWcudmFsKCkudHJpbSgpLmxlbmd0aHx8ZC5pbmxpbmUpJiYoYj14KCksInN0cmluZyI9PXR5cGVvZiBkLnVzZUN1cnJlbnQmJihiPWNbZC51c2VDdXJyZW50XShiKSksXyhiKSksbz1GKCksTCgpLFIoKSxvLmZpbmQoIi50aW1lcGlja2VyLWhvdXJzIikuaGlkZSgpLG8uZmluZCgiLnRpbWVwaWNrZXItbWludXRlcyIpLmhpZGUoKSxvLmZpbmQoIi50aW1lcGlja2VyLXNlY29uZHMiKS5oaWRlKCksJCgpLEsoKSxhKHdpbmRvdykub24oInJlc2l6ZSIsSCksby5vbigiY2xpY2siLCJbZGF0YS1hY3Rpb25dIixkYSksby5vbigibW91c2Vkb3duIiwhMSksbiYmbi5oYXNDbGFzcygiYnRuIikmJm4udG9nZ2xlQ2xhc3MoImFjdGl2ZSIpLG8uc2hvdygpLEgoKSxkLmZvY3VzT25TaG93JiYhZy5pcygiOmZvY3VzIikmJmcuZm9jdXMoKSxJKHt0eXBlOiJkcC5zaG93In0pLGwpfSxmYT1mdW5jdGlvbigpe3JldHVybiBvP2FhKCk6ZWEoKX0sZ2E9ZnVuY3Rpb24oYSl7cmV0dXJuIGE9dm9pZCAwPT09ZC5wYXJzZUlucHV0RGF0ZT9iLmlzTW9tZW50KGEpfHxhIGluc3RhbmNlb2YgRGF0ZT9iKGEpOngoYSk6ZC5wYXJzZUlucHV0RGF0ZShhKSxhLmxvY2FsZShkLmxvY2FsZSksYX0saGE9ZnVuY3Rpb24oYSl7dmFyIGIsYyxlLGYsZz1udWxsLGg9W10saT17fSxqPWEud2hpY2gsaz0icCI7d1tqXT1rO2ZvcihiIGluIHcpdy5oYXNPd25Qcm9wZXJ0eShiKSYmd1tiXT09PWsmJihoLnB1c2goYikscGFyc2VJbnQoYiwxMCkhPT1qJiYoaVtiXT0hMCkpO2ZvcihiIGluIGQua2V5QmluZHMpaWYoZC5rZXlCaW5kcy5oYXNPd25Qcm9wZXJ0eShiKSYmImZ1bmN0aW9uIj09dHlwZW9mIGQua2V5QmluZHNbYl0mJihlPWIuc3BsaXQoIiAiKSxlLmxlbmd0aD09PWgubGVuZ3RoJiZ2W2pdPT09ZVtlLmxlbmd0aC0xXSkpe2ZvcihmPSEwLGM9ZS5sZW5ndGgtMjtjPj0wO2MtLSlpZighKHZbZVtjXV1pbiBpKSl7Zj0hMTticmVha31pZihmKXtnPWQua2V5QmluZHNbYl07YnJlYWt9fWcmJihnLmNhbGwobCxvKSxhLnN0b3BQcm9wYWdhdGlvbigpLGEucHJldmVudERlZmF1bHQoKSl9LGlhPWZ1bmN0aW9uKGEpe3dbYS53aGljaF09InIiLGEuc3RvcFByb3BhZ2F0aW9uKCksYS5wcmV2ZW50RGVmYXVsdCgpfSxqYT1mdW5jdGlvbihiKXt2YXIgYz1hKGIudGFyZ2V0KS52YWwoKS50cmltKCksZD1jP2dhKGMpOm51bGw7cmV0dXJuIF8oZCksYi5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSwhMX0sa2E9ZnVuY3Rpb24oKXtnLm9uKHtjaGFuZ2U6amEsYmx1cjpkLmRlYnVnPyIiOmFhLGtleWRvd246aGEsa2V5dXA6aWEsZm9jdXM6ZC5hbGxvd0lucHV0VG9nZ2xlP2VhOiIifSksYy5pcygiaW5wdXQiKT9nLm9uKHtmb2N1czplYX0pOm4mJihuLm9uKCJjbGljayIsZmEpLG4ub24oIm1vdXNlZG93biIsITEpKX0sbGE9ZnVuY3Rpb24oKXtnLm9mZih7Y2hhbmdlOmphLGJsdXI6Ymx1cixrZXlkb3duOmhhLGtleXVwOmlhLGZvY3VzOmQuYWxsb3dJbnB1dFRvZ2dsZT9hYToiIn0pLGMuaXMoImlucHV0Iik/Zy5vZmYoe2ZvY3VzOmVhfSk6biYmKG4ub2ZmKCJjbGljayIsZmEpLG4ub2ZmKCJtb3VzZWRvd24iLCExKSl9LG1hPWZ1bmN0aW9uKGIpe3ZhciBjPXt9O3JldHVybiBhLmVhY2goYixmdW5jdGlvbigpe3ZhciBhPWdhKHRoaXMpO2EuaXNWYWxpZCgpJiYoY1thLmZvcm1hdCgiWVlZWS1NTS1ERCIpXT0hMCl9KSxPYmplY3Qua2V5cyhjKS5sZW5ndGg/YzohMX0sbmE9ZnVuY3Rpb24oYil7dmFyIGM9e307cmV0dXJuIGEuZWFjaChiLGZ1bmN0aW9uKCl7Y1t0aGlzXT0hMH0pLE9iamVjdC5rZXlzKGMpLmxlbmd0aD9jOiExfSxvYT1mdW5jdGlvbigpe3ZhciBhPWQuZm9ybWF0fHwiTCBMVCI7aT1hLnJlcGxhY2UoLyhcW1teXFtdKlxdKXwoXFwpPyhMVFN8TFR8TEw/TD9MP3xsezEsNH0pL2csZnVuY3Rpb24oYSl7dmFyIGI9ZS5sb2NhbGVEYXRhKCkubG9uZ0RhdGVGb3JtYXQoYSl8fGE7cmV0dXJuIGIucmVwbGFjZSgvKFxbW15cW10qXF0pfChcXCk/KExUU3xMVHxMTD9MP0w/fGx7MSw0fSkvZyxmdW5jdGlvbihhKXtyZXR1cm4gZS5sb2NhbGVEYXRhKCkubG9uZ0RhdGVGb3JtYXQoYSl8fGF9KX0pLGo9ZC5leHRyYUZvcm1hdHM/ZC5leHRyYUZvcm1hdHMuc2xpY2UoKTpbXSxqLmluZGV4T2YoYSk8MCYmai5pbmRleE9mKGkpPDAmJmoucHVzaChpKSxoPWkudG9Mb3dlckNhc2UoKS5pbmRleE9mKCJhIik8MSYmaS5yZXBsYWNlKC9cWy4qP1xdL2csIiIpLmluZGV4T2YoImgiKTwxLHkoInkiKSYmKHA9MikseSgiTSIpJiYocD0xKSx5KCJkIikmJihwPTApLGs9TWF0aC5tYXgocCxrKSxtfHxfKGUpfTtpZihsLmRlc3Ryb3k9ZnVuY3Rpb24oKXthYSgpLGxhKCksYy5yZW1vdmVEYXRhKCJEYXRlVGltZVBpY2tlciIpLGMucmVtb3ZlRGF0YSgiZGF0ZSIpfSxsLnRvZ2dsZT1mYSxsLnNob3c9ZWEsbC5oaWRlPWFhLGwuZGlzYWJsZT1mdW5jdGlvbigpe3JldHVybiBhYSgpLG4mJm4uaGFzQ2xhc3MoImJ0biIpJiZuLmFkZENsYXNzKCJkaXNhYmxlZCIpLGcucHJvcCgiZGlzYWJsZWQiLCEwKSxsfSxsLmVuYWJsZT1mdW5jdGlvbigpe3JldHVybiBuJiZuLmhhc0NsYXNzKCJidG4iKSYmbi5yZW1vdmVDbGFzcygiZGlzYWJsZWQiKSxnLnByb3AoImRpc2FibGVkIiwhMSksbH0sbC5pZ25vcmVSZWFkb25seT1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5pZ25vcmVSZWFkb25seTtpZigiYm9vbGVhbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoImlnbm9yZVJlYWRvbmx5ICgpIGV4cGVjdHMgYSBib29sZWFuIHBhcmFtZXRlciIpO3JldHVybiBkLmlnbm9yZVJlYWRvbmx5PWEsbH0sbC5vcHRpb25zPWZ1bmN0aW9uKGIpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBhLmV4dGVuZCghMCx7fSxkKTtpZighKGIgaW5zdGFuY2VvZiBPYmplY3QpKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbnMoKSBvcHRpb25zIHBhcmFtZXRlciBzaG91bGQgYmUgYW4gb2JqZWN0Iik7cmV0dXJuIGEuZXh0ZW5kKCEwLGQsYiksYS5lYWNoKGQsZnVuY3Rpb24oYSxiKXtpZih2b2lkIDA9PT1sW2FdKXRocm93IG5ldyBUeXBlRXJyb3IoIm9wdGlvbiAiK2ErIiBpcyBub3QgcmVjb2duaXplZCEiKTtsW2FdKGIpfSksbH0sbC5kYXRlPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBtP251bGw6ZS5jbG9uZSgpO2lmKCEobnVsbD09PWF8fCJzdHJpbmciPT10eXBlb2YgYXx8Yi5pc01vbWVudChhKXx8YSBpbnN0YW5jZW9mIERhdGUpKXRocm93IG5ldyBUeXBlRXJyb3IoImRhdGUoKSBwYXJhbWV0ZXIgbXVzdCBiZSBvbmUgb2YgW251bGwsIHN0cmluZywgbW9tZW50IG9yIERhdGVdIik7cmV0dXJuIF8obnVsbD09PWE/bnVsbDpnYShhKSksbH0sbC5mb3JtYXQ9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZm9ybWF0O2lmKCJzdHJpbmciIT10eXBlb2YgYSYmKCJib29sZWFuIiE9dHlwZW9mIGF8fGEhPT0hMSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZm9ybWF0KCkgZXhwZWN0cyBhIHN0aW5nIG9yIGJvb2xlYW46ZmFsc2UgcGFyYW1ldGVyICIrYSk7cmV0dXJuIGQuZm9ybWF0PWEsaSYmb2EoKSxsfSxsLnRpbWVab25lPWZ1bmN0aW9uKGEpe3JldHVybiAwPT09YXJndW1lbnRzLmxlbmd0aD9kLnRpbWVab25lOihkLnRpbWVab25lPWEsbCl9LGwuZGF5Vmlld0hlYWRlckZvcm1hdD1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5kYXlWaWV3SGVhZGVyRm9ybWF0O2lmKCJzdHJpbmciIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJkYXlWaWV3SGVhZGVyRm9ybWF0KCkgZXhwZWN0cyBhIHN0cmluZyBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5kYXlWaWV3SGVhZGVyRm9ybWF0PWEsbH0sbC5leHRyYUZvcm1hdHM9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZXh0cmFGb3JtYXRzO2lmKGEhPT0hMSYmIShhIGluc3RhbmNlb2YgQXJyYXkpKXRocm93IG5ldyBUeXBlRXJyb3IoImV4dHJhRm9ybWF0cygpIGV4cGVjdHMgYW4gYXJyYXkgb3IgZmFsc2UgcGFyYW1ldGVyIik7cmV0dXJuIGQuZXh0cmFGb3JtYXRzPWEsaiYmb2EoKSxsfSxsLmRpc2FibGVkRGF0ZXM9ZnVuY3Rpb24oYil7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZGlzYWJsZWREYXRlcz9hLmV4dGVuZCh7fSxkLmRpc2FibGVkRGF0ZXMpOmQuZGlzYWJsZWREYXRlcztpZighYilyZXR1cm4gZC5kaXNhYmxlZERhdGVzPSExLCQoKSxsO2lmKCEoYiBpbnN0YW5jZW9mIEFycmF5KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJkaXNhYmxlZERhdGVzKCkgZXhwZWN0cyBhbiBhcnJheSBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5kaXNhYmxlZERhdGVzPW1hKGIpLGQuZW5hYmxlZERhdGVzPSExLCQoKSxsfSxsLmVuYWJsZWREYXRlcz1mdW5jdGlvbihiKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5lbmFibGVkRGF0ZXM/YS5leHRlbmQoe30sZC5lbmFibGVkRGF0ZXMpOmQuZW5hYmxlZERhdGVzO2lmKCFiKXJldHVybiBkLmVuYWJsZWREYXRlcz0hMSwkKCksbDtpZighKGIgaW5zdGFuY2VvZiBBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZW5hYmxlZERhdGVzKCkgZXhwZWN0cyBhbiBhcnJheSBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5lbmFibGVkRGF0ZXM9bWEoYiksZC5kaXNhYmxlZERhdGVzPSExLCQoKSxsfSxsLmRheXNPZldlZWtEaXNhYmxlZD1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5kYXlzT2ZXZWVrRGlzYWJsZWQuc3BsaWNlKDApO2lmKCJib29sZWFuIj09dHlwZW9mIGEmJiFhKXJldHVybiBkLmRheXNPZldlZWtEaXNhYmxlZD0hMSwkKCksbDtpZighKGEgaW5zdGFuY2VvZiBBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZGF5c09mV2Vla0Rpc2FibGVkKCkgZXhwZWN0cyBhbiBhcnJheSBwYXJhbWV0ZXIiKTtpZihkLmRheXNPZldlZWtEaXNhYmxlZD1hLnJlZHVjZShmdW5jdGlvbihhLGIpe3JldHVybiBiPXBhcnNlSW50KGIsMTApLGI+Nnx8MD5ifHxpc05hTihiKT9hOigtMT09PWEuaW5kZXhPZihiKSYmYS5wdXNoKGIpLGEpfSxbXSkuc29ydCgpLGQudXNlQ3VycmVudCYmIWQua2VlcEludmFsaWQpe2Zvcih2YXIgYj0wOyFRKGUsImQiKTspe2lmKGUuYWRkKDEsImQiKSw3PT09Yil0aHJvdyJUcmllZCA3IHRpbWVzIHRvIGZpbmQgYSB2YWxpZCBkYXRlIjtiKyt9XyhlKX1yZXR1cm4gJCgpLGx9LGwubWF4RGF0ZT1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5tYXhEYXRlP2QubWF4RGF0ZS5jbG9uZSgpOmQubWF4RGF0ZTtpZigiYm9vbGVhbiI9PXR5cGVvZiBhJiZhPT09ITEpcmV0dXJuIGQubWF4RGF0ZT0hMSwkKCksbDsic3RyaW5nIj09dHlwZW9mIGEmJigibm93Ij09PWF8fCJtb21lbnQiPT09YSkmJihhPXgoKSk7dmFyIGI9Z2EoYSk7aWYoIWIuaXNWYWxpZCgpKXRocm93IG5ldyBUeXBlRXJyb3IoIm1heERhdGUoKSBDb3VsZCBub3QgcGFyc2UgZGF0ZSBwYXJhbWV0ZXI6ICIrYSk7aWYoZC5taW5EYXRlJiZiLmlzQmVmb3JlKGQubWluRGF0ZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigibWF4RGF0ZSgpIGRhdGUgcGFyYW1ldGVyIGlzIGJlZm9yZSBvcHRpb25zLm1pbkRhdGU6ICIrYi5mb3JtYXQoaSkpO3JldHVybiBkLm1heERhdGU9YixkLnVzZUN1cnJlbnQmJiFkLmtlZXBJbnZhbGlkJiZlLmlzQWZ0ZXIoYSkmJl8oZC5tYXhEYXRlKSxmLmlzQWZ0ZXIoYikmJihmPWIuY2xvbmUoKS5zdWJ0cmFjdChkLnN0ZXBwaW5nLCJtIikpLCQoKSxsfSxsLm1pbkRhdGU9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQubWluRGF0ZT9kLm1pbkRhdGUuY2xvbmUoKTpkLm1pbkRhdGU7aWYoImJvb2xlYW4iPT10eXBlb2YgYSYmYT09PSExKXJldHVybiBkLm1pbkRhdGU9ITEsJCgpLGw7InN0cmluZyI9PXR5cGVvZiBhJiYoIm5vdyI9PT1hfHwibW9tZW50Ij09PWEpJiYoYT14KCkpO3ZhciBiPWdhKGEpO2lmKCFiLmlzVmFsaWQoKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJtaW5EYXRlKCkgQ291bGQgbm90IHBhcnNlIGRhdGUgcGFyYW1ldGVyOiAiK2EpO2lmKGQubWF4RGF0ZSYmYi5pc0FmdGVyKGQubWF4RGF0ZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigibWluRGF0ZSgpIGRhdGUgcGFyYW1ldGVyIGlzIGFmdGVyIG9wdGlvbnMubWF4RGF0ZTogIitiLmZvcm1hdChpKSk7cmV0dXJuIGQubWluRGF0ZT1iLGQudXNlQ3VycmVudCYmIWQua2VlcEludmFsaWQmJmUuaXNCZWZvcmUoYSkmJl8oZC5taW5EYXRlKSxmLmlzQmVmb3JlKGIpJiYoZj1iLmNsb25lKCkuYWRkKGQuc3RlcHBpbmcsIm0iKSksJCgpLGx9LGwuZGVmYXVsdERhdGU9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZGVmYXVsdERhdGU/ZC5kZWZhdWx0RGF0ZS5jbG9uZSgpOmQuZGVmYXVsdERhdGU7aWYoIWEpcmV0dXJuIGQuZGVmYXVsdERhdGU9ITEsbDsic3RyaW5nIj09dHlwZW9mIGEmJigibm93Ij09PWF8fCJtb21lbnQiPT09YSkmJihhPXgoKSk7dmFyIGI9Z2EoYSk7aWYoIWIuaXNWYWxpZCgpKXRocm93IG5ldyBUeXBlRXJyb3IoImRlZmF1bHREYXRlKCkgQ291bGQgbm90IHBhcnNlIGRhdGUgcGFyYW1ldGVyOiAiK2EpO2lmKCFRKGIpKXRocm93IG5ldyBUeXBlRXJyb3IoImRlZmF1bHREYXRlKCkgZGF0ZSBwYXNzZWQgaXMgaW52YWxpZCBhY2NvcmRpbmcgdG8gY29tcG9uZW50IHNldHVwIHZhbGlkYXRpb25zIik7cmV0dXJuIGQuZGVmYXVsdERhdGU9YiwoZC5kZWZhdWx0RGF0ZSYmZC5pbmxpbmV8fCIiPT09Zy52YWwoKS50cmltKCkpJiZfKGQuZGVmYXVsdERhdGUpLGx9LGwubG9jYWxlPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLmxvY2FsZTtpZighYi5sb2NhbGVEYXRhKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoImxvY2FsZSgpIGxvY2FsZSAiK2ErIiBpcyBub3QgbG9hZGVkIGZyb20gbW9tZW50IGxvY2FsZXMhIik7cmV0dXJuIGQubG9jYWxlPWEsZS5sb2NhbGUoZC5sb2NhbGUpLGYubG9jYWxlKGQubG9jYWxlKSxpJiZvYSgpLG8mJihhYSgpLGVhKCkpLGx9LGwuc3RlcHBpbmc9ZnVuY3Rpb24oYSl7cmV0dXJuIDA9PT1hcmd1bWVudHMubGVuZ3RoP2Quc3RlcHBpbmc6KGE9cGFyc2VJbnQoYSwxMCksKGlzTmFOKGEpfHwxPmEpJiYoYT0xKSxkLnN0ZXBwaW5nPWEsbCl9LGwudXNlQ3VycmVudD1mdW5jdGlvbihhKXt2YXIgYj1bInllYXIiLCJtb250aCIsImRheSIsImhvdXIiLCJtaW51dGUiXTtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC51c2VDdXJyZW50O2lmKCJib29sZWFuIiE9dHlwZW9mIGEmJiJzdHJpbmciIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ1c2VDdXJyZW50KCkgZXhwZWN0cyBhIGJvb2xlYW4gb3Igc3RyaW5nIHBhcmFtZXRlciIpO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmLTE9PT1iLmluZGV4T2YoYS50b0xvd2VyQ2FzZSgpKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ1c2VDdXJyZW50KCkgZXhwZWN0cyBhIHN0cmluZyBwYXJhbWV0ZXIgb2YgIitiLmpvaW4oIiwgIikpO3JldHVybiBkLnVzZUN1cnJlbnQ9YSxsfSxsLmNvbGxhcHNlPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLmNvbGxhcHNlO2lmKCJib29sZWFuIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigiY29sbGFwc2UoKSBleHBlY3RzIGEgYm9vbGVhbiBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5jb2xsYXBzZT09PWE/bDooZC5jb2xsYXBzZT1hLG8mJihhYSgpLGVhKCkpLGwpfSxsLmljb25zPWZ1bmN0aW9uKGIpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBhLmV4dGVuZCh7fSxkLmljb25zKTtpZighKGIgaW5zdGFuY2VvZiBPYmplY3QpKXRocm93IG5ldyBUeXBlRXJyb3IoImljb25zKCkgZXhwZWN0cyBwYXJhbWV0ZXIgdG8gYmUgYW4gT2JqZWN0Iik7cmV0dXJuIGEuZXh0ZW5kKGQuaWNvbnMsYiksbyYmKGFhKCksZWEoKSksbH0sbC50b29sdGlwcz1mdW5jdGlvbihiKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gYS5leHRlbmQoe30sZC50b29sdGlwcyk7aWYoIShiIGluc3RhbmNlb2YgT2JqZWN0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ0b29sdGlwcygpIGV4cGVjdHMgcGFyYW1ldGVyIHRvIGJlIGFuIE9iamVjdCIpO3JldHVybiBhLmV4dGVuZChkLnRvb2x0aXBzLGIpLG8mJihhYSgpLGVhKCkpLGx9LGwudXNlU3RyaWN0PWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLnVzZVN0cmljdDtpZigiYm9vbGVhbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoInVzZVN0cmljdCgpIGV4cGVjdHMgYSBib29sZWFuIHBhcmFtZXRlciIpO3JldHVybiBkLnVzZVN0cmljdD1hLGx9LGwuc2lkZUJ5U2lkZT1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5zaWRlQnlTaWRlO2lmKCJib29sZWFuIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigic2lkZUJ5U2lkZSgpIGV4cGVjdHMgYSBib29sZWFuIHBhcmFtZXRlciIpO3JldHVybiBkLnNpZGVCeVNpZGU9YSxvJiYoYWEoKSxlYSgpKSxsfSxsLnZpZXdNb2RlPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLnZpZXdNb2RlO2lmKCJzdHJpbmciIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ2aWV3TW9kZSgpIGV4cGVjdHMgYSBzdHJpbmcgcGFyYW1ldGVyIik7aWYoLTE9PT1yLmluZGV4T2YoYSkpdGhyb3cgbmV3IFR5cGVFcnJvcigidmlld01vZGUoKSBwYXJhbWV0ZXIgbXVzdCBiZSBvbmUgb2YgKCIrci5qb2luKCIsICIpKyIpIHZhbHVlIik7cmV0dXJuIGQudmlld01vZGU9YSxrPU1hdGgubWF4KHIuaW5kZXhPZihhKSxwKSxLKCksbH0sbC50b29sYmFyUGxhY2VtZW50PWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLnRvb2xiYXJQbGFjZW1lbnQ7aWYoInN0cmluZyIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoInRvb2xiYXJQbGFjZW1lbnQoKSBleHBlY3RzIGEgc3RyaW5nIHBhcmFtZXRlciIpO2lmKC0xPT09dS5pbmRleE9mKGEpKXRocm93IG5ldyBUeXBlRXJyb3IoInRvb2xiYXJQbGFjZW1lbnQoKSBwYXJhbWV0ZXIgbXVzdCBiZSBvbmUgb2YgKCIrdS5qb2luKCIsICIpKyIpIHZhbHVlIik7cmV0dXJuIGQudG9vbGJhclBsYWNlbWVudD1hLG8mJihhYSgpLGVhKCkpLGx9LGwud2lkZ2V0UG9zaXRpb25pbmc9ZnVuY3Rpb24oYil7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGEuZXh0ZW5kKHt9LGQud2lkZ2V0UG9zaXRpb25pbmcpO2lmKCJbb2JqZWN0IE9iamVjdF0iIT09e30udG9TdHJpbmcuY2FsbChiKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ3aWRnZXRQb3NpdGlvbmluZygpIGV4cGVjdHMgYW4gb2JqZWN0IHZhcmlhYmxlIik7aWYoYi5ob3Jpem9udGFsKXtpZigic3RyaW5nIiE9dHlwZW9mIGIuaG9yaXpvbnRhbCl0aHJvdyBuZXcgVHlwZUVycm9yKCJ3aWRnZXRQb3NpdGlvbmluZygpIGhvcml6b250YWwgdmFyaWFibGUgbXVzdCBiZSBhIHN0cmluZyIpO2lmKGIuaG9yaXpvbnRhbD1iLmhvcml6b250YWwudG9Mb3dlckNhc2UoKSwtMT09PXQuaW5kZXhPZihiLmhvcml6b250YWwpKXRocm93IG5ldyBUeXBlRXJyb3IoIndpZGdldFBvc2l0aW9uaW5nKCkgZXhwZWN0cyBob3Jpem9udGFsIHBhcmFtZXRlciB0byBiZSBvbmUgb2YgKCIrdC5qb2luKCIsICIpKyIpIik7ZC53aWRnZXRQb3NpdGlvbmluZy5ob3Jpem9udGFsPWIuaG9yaXpvbnRhbH1pZihiLnZlcnRpY2FsKXtpZigic3RyaW5nIiE9dHlwZW9mIGIudmVydGljYWwpdGhyb3cgbmV3IFR5cGVFcnJvcigid2lkZ2V0UG9zaXRpb25pbmcoKSB2ZXJ0aWNhbCB2YXJpYWJsZSBtdXN0IGJlIGEgc3RyaW5nIik7aWYoYi52ZXJ0aWNhbD1iLnZlcnRpY2FsLnRvTG93ZXJDYXNlKCksLTE9PT1zLmluZGV4T2YoYi52ZXJ0aWNhbCkpdGhyb3cgbmV3IFR5cGVFcnJvcigid2lkZ2V0UG9zaXRpb25pbmcoKSBleHBlY3RzIHZlcnRpY2FsIHBhcmFtZXRlciB0byBiZSBvbmUgb2YgKCIrcy5qb2luKCIsICIpKyIpIik7ZC53aWRnZXRQb3NpdGlvbmluZy52ZXJ0aWNhbD1iLnZlcnRpY2FsfXJldHVybiAkKCksbH0sbC5jYWxlbmRhcldlZWtzPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLmNhbGVuZGFyV2Vla3M7aWYoImJvb2xlYW4iIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJjYWxlbmRhcldlZWtzKCkgZXhwZWN0cyBwYXJhbWV0ZXIgdG8gYmUgYSBib29sZWFuIHZhbHVlIik7cmV0dXJuIGQuY2FsZW5kYXJXZWVrcz1hLCQoKSxsfSxsLnNob3dUb2RheUJ1dHRvbj1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5zaG93VG9kYXlCdXR0b247aWYoImJvb2xlYW4iIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJzaG93VG9kYXlCdXR0b24oKSBleHBlY3RzIGEgYm9vbGVhbiBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5zaG93VG9kYXlCdXR0b249YSxvJiYoYWEoKSxlYSgpKSxsfSxsLnNob3dDbGVhcj1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5zaG93Q2xlYXI7aWYoImJvb2xlYW4iIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJzaG93Q2xlYXIoKSBleHBlY3RzIGEgYm9vbGVhbiBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5zaG93Q2xlYXI9YSxvJiYoYWEoKSxlYSgpKSxsfSxsLndpZGdldFBhcmVudD1mdW5jdGlvbihiKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC53aWRnZXRQYXJlbnQ7aWYoInN0cmluZyI9PXR5cGVvZiBiJiYoYj1hKGIpKSxudWxsIT09YiYmInN0cmluZyIhPXR5cGVvZiBiJiYhKGIgaW5zdGFuY2VvZiBhKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJ3aWRnZXRQYXJlbnQoKSBleHBlY3RzIGEgc3RyaW5nIG9yIGEgalF1ZXJ5IG9iamVjdCBwYXJhbWV0ZXIiKTtyZXR1cm4gZC53aWRnZXRQYXJlbnQ9YixvJiYoYWEoKSxlYSgpKSxsfSxsLmtlZXBPcGVuPWZ1bmN0aW9uKGEpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLmtlZXBPcGVuO2lmKCJib29sZWFuIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigia2VlcE9wZW4oKSBleHBlY3RzIGEgYm9vbGVhbiBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5rZWVwT3Blbj1hLGx9LGwuZm9jdXNPblNob3c9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZm9jdXNPblNob3c7aWYoImJvb2xlYW4iIT10eXBlb2YgYSl0aHJvdyBuZXcgVHlwZUVycm9yKCJmb2N1c09uU2hvdygpIGV4cGVjdHMgYSBib29sZWFuIHBhcmFtZXRlciIpO3JldHVybiBkLmZvY3VzT25TaG93PWEsbH0sbC5pbmxpbmU9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuaW5saW5lO2lmKCJib29sZWFuIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW5saW5lKCkgZXhwZWN0cyBhIGJvb2xlYW4gcGFyYW1ldGVyIik7cmV0dXJuIGQuaW5saW5lPWEsbH0sbC5jbGVhcj1mdW5jdGlvbigpe3JldHVybiBiYSgpLGx9LGwua2V5QmluZHM9ZnVuY3Rpb24oYSl7cmV0dXJuIGQua2V5QmluZHM9YSxsfSxsLmdldE1vbWVudD1mdW5jdGlvbihhKXtyZXR1cm4geChhKX0sbC5kZWJ1Zz1mdW5jdGlvbihhKXtpZigiYm9vbGVhbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoImRlYnVnKCkgZXhwZWN0cyBhIGJvb2xlYW4gcGFyYW1ldGVyIik7cmV0dXJuIGQuZGVidWc9YSxsfSxsLmFsbG93SW5wdXRUb2dnbGU9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuYWxsb3dJbnB1dFRvZ2dsZTtpZigiYm9vbGVhbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoImFsbG93SW5wdXRUb2dnbGUoKSBleHBlY3RzIGEgYm9vbGVhbiBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5hbGxvd0lucHV0VG9nZ2xlPWEsbH0sbC5zaG93Q2xvc2U9ZnVuY3Rpb24oYSl7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuc2hvd0Nsb3NlO2lmKCJib29sZWFuIiE9dHlwZW9mIGEpdGhyb3cgbmV3IFR5cGVFcnJvcigic2hvd0Nsb3NlKCkgZXhwZWN0cyBhIGJvb2xlYW4gcGFyYW1ldGVyIik7cmV0dXJuIGQuc2hvd0Nsb3NlPWEsbH0sbC5rZWVwSW52YWxpZD1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5rZWVwSW52YWxpZDtpZigiYm9vbGVhbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoImtlZXBJbnZhbGlkKCkgZXhwZWN0cyBhIGJvb2xlYW4gcGFyYW1ldGVyIik7cmV0dXJuIGQua2VlcEludmFsaWQ9YSxsfSxsLmRhdGVwaWNrZXJJbnB1dD1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5kYXRlcGlja2VySW5wdXQ7aWYoInN0cmluZyIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoImRhdGVwaWNrZXJJbnB1dCgpIGV4cGVjdHMgYSBzdHJpbmcgcGFyYW1ldGVyIik7cmV0dXJuIGQuZGF0ZXBpY2tlcklucHV0PWEsbH0sbC5wYXJzZUlucHV0RGF0ZT1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5wYXJzZUlucHV0RGF0ZTsNCmlmKCJmdW5jdGlvbiIhPXR5cGVvZiBhKXRocm93IG5ldyBUeXBlRXJyb3IoInBhcnNlSW5wdXREYXRlKCkgc2hvbHVkIGJlIGFzIGZ1bmN0aW9uIik7cmV0dXJuIGQucGFyc2VJbnB1dERhdGU9YSxsfSxsLmRpc2FibGVkVGltZUludGVydmFscz1mdW5jdGlvbihiKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZC5kaXNhYmxlZFRpbWVJbnRlcnZhbHM/YS5leHRlbmQoe30sZC5kaXNhYmxlZFRpbWVJbnRlcnZhbHMpOmQuZGlzYWJsZWRUaW1lSW50ZXJ2YWxzO2lmKCFiKXJldHVybiBkLmRpc2FibGVkVGltZUludGVydmFscz0hMSwkKCksbDtpZighKGIgaW5zdGFuY2VvZiBBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZGlzYWJsZWRUaW1lSW50ZXJ2YWxzKCkgZXhwZWN0cyBhbiBhcnJheSBwYXJhbWV0ZXIiKTtyZXR1cm4gZC5kaXNhYmxlZFRpbWVJbnRlcnZhbHM9YiwkKCksbH0sbC5kaXNhYmxlZEhvdXJzPWZ1bmN0aW9uKGIpe2lmKDA9PT1hcmd1bWVudHMubGVuZ3RoKXJldHVybiBkLmRpc2FibGVkSG91cnM/YS5leHRlbmQoe30sZC5kaXNhYmxlZEhvdXJzKTpkLmRpc2FibGVkSG91cnM7aWYoIWIpcmV0dXJuIGQuZGlzYWJsZWRIb3Vycz0hMSwkKCksbDtpZighKGIgaW5zdGFuY2VvZiBBcnJheSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiZGlzYWJsZWRIb3VycygpIGV4cGVjdHMgYW4gYXJyYXkgcGFyYW1ldGVyIik7aWYoZC5kaXNhYmxlZEhvdXJzPW5hKGIpLGQuZW5hYmxlZEhvdXJzPSExLGQudXNlQ3VycmVudCYmIWQua2VlcEludmFsaWQpe2Zvcih2YXIgYz0wOyFRKGUsImgiKTspe2lmKGUuYWRkKDEsImgiKSwyND09PWMpdGhyb3ciVHJpZWQgMjQgdGltZXMgdG8gZmluZCBhIHZhbGlkIGRhdGUiO2MrK31fKGUpfXJldHVybiAkKCksbH0sbC5lbmFibGVkSG91cnM9ZnVuY3Rpb24oYil7aWYoMD09PWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQuZW5hYmxlZEhvdXJzP2EuZXh0ZW5kKHt9LGQuZW5hYmxlZEhvdXJzKTpkLmVuYWJsZWRIb3VycztpZighYilyZXR1cm4gZC5lbmFibGVkSG91cnM9ITEsJCgpLGw7aWYoIShiIGluc3RhbmNlb2YgQXJyYXkpKXRocm93IG5ldyBUeXBlRXJyb3IoImVuYWJsZWRIb3VycygpIGV4cGVjdHMgYW4gYXJyYXkgcGFyYW1ldGVyIik7aWYoZC5lbmFibGVkSG91cnM9bmEoYiksZC5kaXNhYmxlZEhvdXJzPSExLGQudXNlQ3VycmVudCYmIWQua2VlcEludmFsaWQpe2Zvcih2YXIgYz0wOyFRKGUsImgiKTspe2lmKGUuYWRkKDEsImgiKSwyND09PWMpdGhyb3ciVHJpZWQgMjQgdGltZXMgdG8gZmluZCBhIHZhbGlkIGRhdGUiO2MrK31fKGUpfXJldHVybiAkKCksbH0sbC52aWV3RGF0ZT1mdW5jdGlvbihhKXtpZigwPT09YXJndW1lbnRzLmxlbmd0aClyZXR1cm4gZi5jbG9uZSgpO2lmKCFhKXJldHVybiBmPWUuY2xvbmUoKSxsO2lmKCEoInN0cmluZyI9PXR5cGVvZiBhfHxiLmlzTW9tZW50KGEpfHxhIGluc3RhbmNlb2YgRGF0ZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigidmlld0RhdGUoKSBwYXJhbWV0ZXIgbXVzdCBiZSBvbmUgb2YgW3N0cmluZywgbW9tZW50IG9yIERhdGVdIik7cmV0dXJuIGY9Z2EoYSksSigpLGx9LGMuaXMoImlucHV0IikpZz1jO2Vsc2UgaWYoZz1jLmZpbmQoZC5kYXRlcGlja2VySW5wdXQpLDA9PT1nLnNpemUoKSlnPWMuZmluZCgiaW5wdXQiKTtlbHNlIGlmKCFnLmlzKCJpbnB1dCIpKXRocm93IG5ldyBFcnJvcignQ1NTIGNsYXNzICInK2QuZGF0ZXBpY2tlcklucHV0KyciIGNhbm5vdCBiZSBhcHBsaWVkIHRvIG5vbiBpbnB1dCBlbGVtZW50Jyk7aWYoYy5oYXNDbGFzcygiaW5wdXQtZ3JvdXAiKSYmKG49MD09PWMuZmluZCgiLmRhdGVwaWNrZXJidXR0b24iKS5zaXplKCk/Yy5maW5kKCIuaW5wdXQtZ3JvdXAtYWRkb24iKTpjLmZpbmQoIi5kYXRlcGlja2VyYnV0dG9uIikpLCFkLmlubGluZSYmIWcuaXMoImlucHV0IikpdGhyb3cgbmV3IEVycm9yKCJDb3VsZCBub3QgaW5pdGlhbGl6ZSBEYXRlVGltZVBpY2tlciB3aXRob3V0IGFuIGlucHV0IGVsZW1lbnQiKTtyZXR1cm4gZT14KCksZj1lLmNsb25lKCksYS5leHRlbmQoITAsZCxHKCkpLGwub3B0aW9ucyhkKSxvYSgpLGthKCksZy5wcm9wKCJkaXNhYmxlZCIpJiZsLmRpc2FibGUoKSxnLmlzKCJpbnB1dCIpJiYwIT09Zy52YWwoKS50cmltKCkubGVuZ3RoP18oZ2EoZy52YWwoKS50cmltKCkpKTpkLmRlZmF1bHREYXRlJiZ2b2lkIDA9PT1nLmF0dHIoInBsYWNlaG9sZGVyIikmJl8oZC5kZWZhdWx0RGF0ZSksZC5pbmxpbmUmJmVhKCksbH07YS5mbi5kYXRldGltZXBpY2tlcj1mdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKTtkLmRhdGEoIkRhdGVUaW1lUGlja2VyIil8fChiPWEuZXh0ZW5kKCEwLHt9LGEuZm4uZGF0ZXRpbWVwaWNrZXIuZGVmYXVsdHMsYiksZC5kYXRhKCJEYXRlVGltZVBpY2tlciIsYyhkLGIpKSl9KX0sYS5mbi5kYXRldGltZXBpY2tlci5kZWZhdWx0cz17dGltZVpvbmU6IkV0Yy9VVEMiLGZvcm1hdDohMSxkYXlWaWV3SGVhZGVyRm9ybWF0OiJNTU1NIFlZWVkiLGV4dHJhRm9ybWF0czohMSxzdGVwcGluZzoxLG1pbkRhdGU6ITEsbWF4RGF0ZTohMSx1c2VDdXJyZW50OiEwLGNvbGxhcHNlOiEwLGxvY2FsZTpiLmxvY2FsZSgpLGRlZmF1bHREYXRlOiExLGRpc2FibGVkRGF0ZXM6ITEsZW5hYmxlZERhdGVzOiExLGljb25zOnt0aW1lOiJnbHlwaGljb24gZ2x5cGhpY29uLXRpbWUiLGRhdGU6ImdseXBoaWNvbiBnbHlwaGljb24tY2FsZW5kYXIiLHVwOiJnbHlwaGljb24gZ2x5cGhpY29uLWNoZXZyb24tdXAiLGRvd246ImdseXBoaWNvbiBnbHlwaGljb24tY2hldnJvbi1kb3duIixwcmV2aW91czoiZ2x5cGhpY29uIGdseXBoaWNvbi1jaGV2cm9uLWxlZnQiLG5leHQ6ImdseXBoaWNvbiBnbHlwaGljb24tY2hldnJvbi1yaWdodCIsdG9kYXk6ImdseXBoaWNvbiBnbHlwaGljb24tc2NyZWVuc2hvdCIsY2xlYXI6ImdseXBoaWNvbiBnbHlwaGljb24tdHJhc2giLGNsb3NlOiJnbHlwaGljb24gZ2x5cGhpY29uLXJlbW92ZSJ9LHRvb2x0aXBzOnt0b2RheToiR28gdG8gdG9kYXkiLGNsZWFyOiJDbGVhciBzZWxlY3Rpb24iLGNsb3NlOiJDbG9zZSB0aGUgcGlja2VyIixzZWxlY3RNb250aDoiU2VsZWN0IE1vbnRoIixwcmV2TW9udGg6IlByZXZpb3VzIE1vbnRoIixuZXh0TW9udGg6Ik5leHQgTW9udGgiLHNlbGVjdFllYXI6IlNlbGVjdCBZZWFyIixwcmV2WWVhcjoiUHJldmlvdXMgWWVhciIsbmV4dFllYXI6Ik5leHQgWWVhciIsc2VsZWN0RGVjYWRlOiJTZWxlY3QgRGVjYWRlIixwcmV2RGVjYWRlOiJQcmV2aW91cyBEZWNhZGUiLG5leHREZWNhZGU6Ik5leHQgRGVjYWRlIixwcmV2Q2VudHVyeToiUHJldmlvdXMgQ2VudHVyeSIsbmV4dENlbnR1cnk6Ik5leHQgQ2VudHVyeSIscGlja0hvdXI6IlBpY2sgSG91ciIsaW5jcmVtZW50SG91cjoiSW5jcmVtZW50IEhvdXIiLGRlY3JlbWVudEhvdXI6IkRlY3JlbWVudCBIb3VyIixwaWNrTWludXRlOiJQaWNrIE1pbnV0ZSIsaW5jcmVtZW50TWludXRlOiJJbmNyZW1lbnQgTWludXRlIixkZWNyZW1lbnRNaW51dGU6IkRlY3JlbWVudCBNaW51dGUiLHBpY2tTZWNvbmQ6IlBpY2sgU2Vjb25kIixpbmNyZW1lbnRTZWNvbmQ6IkluY3JlbWVudCBTZWNvbmQiLGRlY3JlbWVudFNlY29uZDoiRGVjcmVtZW50IFNlY29uZCIsdG9nZ2xlUGVyaW9kOiJUb2dnbGUgUGVyaW9kIixzZWxlY3RUaW1lOiJTZWxlY3QgVGltZSJ9LHVzZVN0cmljdDohMSxzaWRlQnlTaWRlOiExLGRheXNPZldlZWtEaXNhYmxlZDohMSxjYWxlbmRhcldlZWtzOiExLHZpZXdNb2RlOiJkYXlzIix0b29sYmFyUGxhY2VtZW50OiJkZWZhdWx0IixzaG93VG9kYXlCdXR0b246ITEsc2hvd0NsZWFyOiExLHNob3dDbG9zZTohMSx3aWRnZXRQb3NpdGlvbmluZzp7aG9yaXpvbnRhbDoiYXV0byIsdmVydGljYWw6ImF1dG8ifSx3aWRnZXRQYXJlbnQ6bnVsbCxpZ25vcmVSZWFkb25seTohMSxrZWVwT3BlbjohMSxmb2N1c09uU2hvdzohMCxpbmxpbmU6ITEsa2VlcEludmFsaWQ6ITEsZGF0ZXBpY2tlcklucHV0OiIuZGF0ZXBpY2tlcmlucHV0IixrZXlCaW5kczp7dXA6ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9dGhpcy5kYXRlKCl8fHRoaXMuZ2V0TW9tZW50KCk7YS5maW5kKCIuZGF0ZXBpY2tlciIpLmlzKCI6dmlzaWJsZSIpP3RoaXMuZGF0ZShiLmNsb25lKCkuc3VidHJhY3QoNywiZCIpKTp0aGlzLmRhdGUoYi5jbG9uZSgpLmFkZCh0aGlzLnN0ZXBwaW5nKCksIm0iKSl9fSxkb3duOmZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiB2b2lkIHRoaXMuc2hvdygpO3ZhciBiPXRoaXMuZGF0ZSgpfHx0aGlzLmdldE1vbWVudCgpO2EuZmluZCgiLmRhdGVwaWNrZXIiKS5pcygiOnZpc2libGUiKT90aGlzLmRhdGUoYi5jbG9uZSgpLmFkZCg3LCJkIikpOnRoaXMuZGF0ZShiLmNsb25lKCkuc3VidHJhY3QodGhpcy5zdGVwcGluZygpLCJtIikpfSwiY29udHJvbCB1cCI6ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9dGhpcy5kYXRlKCl8fHRoaXMuZ2V0TW9tZW50KCk7YS5maW5kKCIuZGF0ZXBpY2tlciIpLmlzKCI6dmlzaWJsZSIpP3RoaXMuZGF0ZShiLmNsb25lKCkuc3VidHJhY3QoMSwieSIpKTp0aGlzLmRhdGUoYi5jbG9uZSgpLmFkZCgxLCJoIikpfX0sImNvbnRyb2wgZG93biI6ZnVuY3Rpb24oYSl7aWYoYSl7dmFyIGI9dGhpcy5kYXRlKCl8fHRoaXMuZ2V0TW9tZW50KCk7YS5maW5kKCIuZGF0ZXBpY2tlciIpLmlzKCI6dmlzaWJsZSIpP3RoaXMuZGF0ZShiLmNsb25lKCkuYWRkKDEsInkiKSk6dGhpcy5kYXRlKGIuY2xvbmUoKS5zdWJ0cmFjdCgxLCJoIikpfX0sbGVmdDpmdW5jdGlvbihhKXtpZihhKXt2YXIgYj10aGlzLmRhdGUoKXx8dGhpcy5nZXRNb21lbnQoKTthLmZpbmQoIi5kYXRlcGlja2VyIikuaXMoIjp2aXNpYmxlIikmJnRoaXMuZGF0ZShiLmNsb25lKCkuc3VidHJhY3QoMSwiZCIpKX19LHJpZ2h0OmZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPXRoaXMuZGF0ZSgpfHx0aGlzLmdldE1vbWVudCgpO2EuZmluZCgiLmRhdGVwaWNrZXIiKS5pcygiOnZpc2libGUiKSYmdGhpcy5kYXRlKGIuY2xvbmUoKS5hZGQoMSwiZCIpKX19LHBhZ2VVcDpmdW5jdGlvbihhKXtpZihhKXt2YXIgYj10aGlzLmRhdGUoKXx8dGhpcy5nZXRNb21lbnQoKTthLmZpbmQoIi5kYXRlcGlja2VyIikuaXMoIjp2aXNpYmxlIikmJnRoaXMuZGF0ZShiLmNsb25lKCkuc3VidHJhY3QoMSwiTSIpKX19LHBhZ2VEb3duOmZ1bmN0aW9uKGEpe2lmKGEpe3ZhciBiPXRoaXMuZGF0ZSgpfHx0aGlzLmdldE1vbWVudCgpO2EuZmluZCgiLmRhdGVwaWNrZXIiKS5pcygiOnZpc2libGUiKSYmdGhpcy5kYXRlKGIuY2xvbmUoKS5hZGQoMSwiTSIpKX19LGVudGVyOmZ1bmN0aW9uKCl7dGhpcy5oaWRlKCl9LGVzY2FwZTpmdW5jdGlvbigpe3RoaXMuaGlkZSgpfSwiY29udHJvbCBzcGFjZSI6ZnVuY3Rpb24oYSl7YS5maW5kKCIudGltZXBpY2tlciIpLmlzKCI6dmlzaWJsZSIpJiZhLmZpbmQoJy5idG5bZGF0YS1hY3Rpb249InRvZ2dsZVBlcmlvZCJdJykuY2xpY2soKX0sdDpmdW5jdGlvbigpe3RoaXMuZGF0ZSh0aGlzLmdldE1vbWVudCgpKX0sImRlbGV0ZSI6ZnVuY3Rpb24oKXt0aGlzLmNsZWFyKCl9fSxkZWJ1ZzohMSxhbGxvd0lucHV0VG9nZ2xlOiExLGRpc2FibGVkVGltZUludGVydmFsczohMSxkaXNhYmxlZEhvdXJzOiExLGVuYWJsZWRIb3VyczohMSx2aWV3RGF0ZTohMX19KTsNCg0KDQovKiENCiAqIGRhdGVwYWlyLmpzIHYwLjQuMTQgLSBBIGphdmFzY3JpcHQgcGx1Z2luIGZvciBpbnRlbGxpZ2VudGx5IHNlbGVjdGluZyBkYXRlIGFuZCB0aW1lIHJhbmdlcyBpbnNwaXJlZCBieSBHb29nbGUgQ2FsZW5kYXIuDQogKiBDb3B5cmlnaHQgKGMpIDIwMTUgSm9uIFRob3JudG9uIC0gaHR0cDovL2pvbnRob3JudG9uLmdpdGh1Yi5jb20vRGF0ZXBhaXIuanMNCiAqIExpY2Vuc2U6IE1JVA0KICovDQohZnVuY3Rpb24oYSxiKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gYyhhLGIpe3ZhciBjPWJ8fHt9O2Zvcih2YXIgZCBpbiBhKWQgaW4gY3x8KGNbZF09YVtkXSk7cmV0dXJuIGN9ZnVuY3Rpb24gZChhLGMpe2lmKGgpaChhKS50cmlnZ2VyKGMpO2Vsc2V7dmFyIGQ9Yi5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKTtkLmluaXRDdXN0b21FdmVudChjLCEwLCEwLHt9KSxhLmRpc3BhdGNoRXZlbnQoZCl9fWZ1bmN0aW9uIGUoYSxiKXtyZXR1cm4gaD9oKGEpLmhhc0NsYXNzKGIpOmEuY2xhc3NMaXN0LmNvbnRhaW5zKGIpfWZ1bmN0aW9uIGYoYSxiKXt0aGlzLmRhdGVEZWx0YT1udWxsLHRoaXMudGltZURlbHRhPW51bGwsdGhpcy5fZGVmYXVsdHM9e3N0YXJ0Q2xhc3M6InN0YXJ0IixlbmRDbGFzczoiZW5kIix0aW1lQ2xhc3M6InRpbWUiLGRhdGVDbGFzczoiZGF0ZSIsZGVmYXVsdERhdGVEZWx0YTowLGRlZmF1bHRUaW1lRGVsdGE6MzZlNSxhbmNob3I6InN0YXJ0IixwYXJzZVRpbWU6ZnVuY3Rpb24oYSl7cmV0dXJuIGgoYSkudGltZXBpY2tlcigiZ2V0VGltZSIpfSx1cGRhdGVUaW1lOmZ1bmN0aW9uKGEsYil7aChhKS50aW1lcGlja2VyKCJzZXRUaW1lIixiKX0sc2V0TWluVGltZTpmdW5jdGlvbihhLGIpe2goYSkudGltZXBpY2tlcigib3B0aW9uIiwibWluVGltZSIsYil9LHBhcnNlRGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4gYS52YWx1ZSYmaChhKS5kYXRlcGlja2VyKCJnZXREYXRlIil9LHVwZGF0ZURhdGU6ZnVuY3Rpb24oYSxiKXtoKGEpLmRhdGVwaWNrZXIoInVwZGF0ZSIsYil9fSx0aGlzLmNvbnRhaW5lcj1hLHRoaXMuc2V0dGluZ3M9Yyh0aGlzLl9kZWZhdWx0cyxiKSx0aGlzLnN0YXJ0RGF0ZUlucHV0PXRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi4iK3RoaXMuc2V0dGluZ3Muc3RhcnRDbGFzcysiLiIrdGhpcy5zZXR0aW5ncy5kYXRlQ2xhc3MpLHRoaXMuZW5kRGF0ZUlucHV0PXRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi4iK3RoaXMuc2V0dGluZ3MuZW5kQ2xhc3MrIi4iK3RoaXMuc2V0dGluZ3MuZGF0ZUNsYXNzKSx0aGlzLnN0YXJ0VGltZUlucHV0PXRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi4iK3RoaXMuc2V0dGluZ3Muc3RhcnRDbGFzcysiLiIrdGhpcy5zZXR0aW5ncy50aW1lQ2xhc3MpLHRoaXMuZW5kVGltZUlucHV0PXRoaXMuY29udGFpbmVyLnF1ZXJ5U2VsZWN0b3IoIi4iK3RoaXMuc2V0dGluZ3MuZW5kQ2xhc3MrIi4iK3RoaXMuc2V0dGluZ3MudGltZUNsYXNzKSx0aGlzLnJlZnJlc2goKSx0aGlzLl9iaW5kQ2hhbmdlSGFuZGxlcigpfXZhciBnPTg2NGU1LGg9YS5aZXB0b3x8YS5qUXVlcnk7Zi5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOmYsb3B0aW9uOmZ1bmN0aW9uKGEsYil7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXRoaXMuc2V0dGluZ3M9Yyh0aGlzLnNldHRpbmdzLGEpO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBhJiYidW5kZWZpbmVkIiE9dHlwZW9mIGIpdGhpcy5zZXR0aW5nc1thXT1iO2Vsc2UgaWYoInN0cmluZyI9PXR5cGVvZiBhKXJldHVybiB0aGlzLnNldHRpbmdzW2FdO3RoaXMuX3VwZGF0ZUVuZE1pbnRpbWUoKX0sZ2V0VGltZURpZmY6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmRhdGVEZWx0YSt0aGlzLnRpbWVEZWx0YTtyZXR1cm4hKDA+YSl8fHRoaXMuc3RhcnREYXRlSW5wdXQmJnRoaXMuZW5kRGF0ZUlucHV0fHwoYSs9ZyksYX0scmVmcmVzaDpmdW5jdGlvbigpe2lmKHRoaXMuc3RhcnREYXRlSW5wdXQmJnRoaXMuc3RhcnREYXRlSW5wdXQudmFsdWUmJnRoaXMuZW5kRGF0ZUlucHV0JiZ0aGlzLmVuZERhdGVJbnB1dC52YWx1ZSl7dmFyIGE9dGhpcy5zZXR0aW5ncy5wYXJzZURhdGUodGhpcy5zdGFydERhdGVJbnB1dCksYj10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZSh0aGlzLmVuZERhdGVJbnB1dCk7YSYmYiYmKHRoaXMuZGF0ZURlbHRhPWIuZ2V0VGltZSgpLWEuZ2V0VGltZSgpKX1pZih0aGlzLnN0YXJ0VGltZUlucHV0JiZ0aGlzLnN0YXJ0VGltZUlucHV0LnZhbHVlJiZ0aGlzLmVuZFRpbWVJbnB1dCYmdGhpcy5lbmRUaW1lSW5wdXQudmFsdWUpe3ZhciBjPXRoaXMuc2V0dGluZ3MucGFyc2VUaW1lKHRoaXMuc3RhcnRUaW1lSW5wdXQpLGQ9dGhpcy5zZXR0aW5ncy5wYXJzZVRpbWUodGhpcy5lbmRUaW1lSW5wdXQpO2MmJmQmJih0aGlzLnRpbWVEZWx0YT1kLmdldFRpbWUoKS1jLmdldFRpbWUoKSx0aGlzLl91cGRhdGVFbmRNaW50aW1lKCkpfX0scmVtb3ZlOmZ1bmN0aW9uKCl7dGhpcy5fdW5iaW5kQ2hhbmdlSGFuZGxlcigpfSxfYmluZENoYW5nZUhhbmRsZXI6ZnVuY3Rpb24oKXtoP2godGhpcy5jb250YWluZXIpLm9uKCJjaGFuZ2UuZGF0ZXBhaXIiLGgucHJveHkodGhpcy5oYW5kbGVFdmVudCx0aGlzKSk6dGhpcy5jb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLCExKX0sX3VuYmluZENoYW5nZUhhbmRsZXI6ZnVuY3Rpb24oKXtoP2godGhpcy5jb250YWluZXIpLm9mZigiY2hhbmdlLmRhdGVwYWlyIik6dGhpcy5jb250YWluZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIix0aGlzLCExKX0saGFuZGxlRXZlbnQ6ZnVuY3Rpb24oYSl7dGhpcy5fdW5iaW5kQ2hhbmdlSGFuZGxlcigpLGUoYS50YXJnZXQsdGhpcy5zZXR0aW5ncy5kYXRlQ2xhc3MpPyIiIT1hLnRhcmdldC52YWx1ZT8odGhpcy5fZGF0ZUNoYW5nZWQoYS50YXJnZXQpLHRoaXMuX3RpbWVDaGFuZ2VkKGEudGFyZ2V0KSk6dGhpcy5kYXRlRGVsdGE9bnVsbDplKGEudGFyZ2V0LHRoaXMuc2V0dGluZ3MudGltZUNsYXNzKSYmKCIiIT1hLnRhcmdldC52YWx1ZT90aGlzLl90aW1lQ2hhbmdlZChhLnRhcmdldCk6dGhpcy50aW1lRGVsdGE9bnVsbCksdGhpcy5fdmFsaWRhdGVSYW5nZXMoKSx0aGlzLl91cGRhdGVFbmRNaW50aW1lKCksdGhpcy5fYmluZENoYW5nZUhhbmRsZXIoKX0sX2RhdGVDaGFuZ2VkOmZ1bmN0aW9uKGEpe2lmKHRoaXMuc3RhcnREYXRlSW5wdXQmJnRoaXMuZW5kRGF0ZUlucHV0KXt2YXIgYj10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZSh0aGlzLnN0YXJ0RGF0ZUlucHV0KSxjPXRoaXMuc2V0dGluZ3MucGFyc2VEYXRlKHRoaXMuZW5kRGF0ZUlucHV0KTtpZihiJiZjKWlmKCJzdGFydCI9PXRoaXMuc2V0dGluZ3MuYW5jaG9yJiZlKGEsdGhpcy5zZXR0aW5ncy5zdGFydENsYXNzKSl7dmFyIGQ9bmV3IERhdGUoYi5nZXRUaW1lKCkrdGhpcy5kYXRlRGVsdGEpO3RoaXMuc2V0dGluZ3MudXBkYXRlRGF0ZSh0aGlzLmVuZERhdGVJbnB1dCxkKX1lbHNlIGlmKCJlbmQiPT10aGlzLnNldHRpbmdzLmFuY2hvciYmZShhLHRoaXMuc2V0dGluZ3MuZW5kQ2xhc3MpKXt2YXIgZD1uZXcgRGF0ZShjLmdldFRpbWUoKS10aGlzLmRhdGVEZWx0YSk7dGhpcy5zZXR0aW5ncy51cGRhdGVEYXRlKHRoaXMuc3RhcnREYXRlSW5wdXQsZCl9ZWxzZSBpZihiPmMpe3ZhciBmPWUoYSx0aGlzLnNldHRpbmdzLnN0YXJ0Q2xhc3MpP3RoaXMuZW5kRGF0ZUlucHV0OnRoaXMuc3RhcnREYXRlSW5wdXQsaD10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZShhKTt0aGlzLmRhdGVEZWx0YT0wLHRoaXMuc2V0dGluZ3MudXBkYXRlRGF0ZShmLGgpfWVsc2UgdGhpcy5kYXRlRGVsdGE9Yy5nZXRUaW1lKCktYi5nZXRUaW1lKCk7ZWxzZSBpZihudWxsIT09dGhpcy5zZXR0aW5ncy5kZWZhdWx0RGF0ZURlbHRhKXtpZihiKXt2YXIgaT1uZXcgRGF0ZShiLmdldFRpbWUoKSt0aGlzLnNldHRpbmdzLmRlZmF1bHREYXRlRGVsdGEqZyk7dGhpcy5zZXR0aW5ncy51cGRhdGVEYXRlKHRoaXMuZW5kRGF0ZUlucHV0LGkpfWVsc2UgaWYoYyl7dmFyIGo9bmV3IERhdGUoYy5nZXRUaW1lKCktdGhpcy5zZXR0aW5ncy5kZWZhdWx0RGF0ZURlbHRhKmcpO3RoaXMuc2V0dGluZ3MudXBkYXRlRGF0ZSh0aGlzLnN0YXJ0RGF0ZUlucHV0LGopfXRoaXMuZGF0ZURlbHRhPXRoaXMuc2V0dGluZ3MuZGVmYXVsdERhdGVEZWx0YSpnfWVsc2UgdGhpcy5kYXRlRGVsdGE9bnVsbH19LF90aW1lQ2hhbmdlZDpmdW5jdGlvbihhKXtpZih0aGlzLnN0YXJ0VGltZUlucHV0JiZ0aGlzLmVuZFRpbWVJbnB1dCl7dmFyIGI9dGhpcy5zZXR0aW5ncy5wYXJzZVRpbWUodGhpcy5zdGFydFRpbWVJbnB1dCksYz10aGlzLnNldHRpbmdzLnBhcnNlVGltZSh0aGlzLmVuZFRpbWVJbnB1dCk7aWYoYiYmYylpZigic3RhcnQiPT10aGlzLnNldHRpbmdzLmFuY2hvciYmZShhLHRoaXMuc2V0dGluZ3Muc3RhcnRDbGFzcykpe3ZhciBkPW5ldyBEYXRlKGIuZ2V0VGltZSgpK3RoaXMudGltZURlbHRhKTt0aGlzLnNldHRpbmdzLnVwZGF0ZVRpbWUodGhpcy5lbmRUaW1lSW5wdXQsZCksYz10aGlzLnNldHRpbmdzLnBhcnNlVGltZSh0aGlzLmVuZFRpbWVJbnB1dCksdGhpcy5fZG9NaWRuaWdodFJvbGxvdmVyKGIsYyl9ZWxzZSBpZigiZW5kIj09dGhpcy5zZXR0aW5ncy5hbmNob3ImJmUoYSx0aGlzLnNldHRpbmdzLmVuZENsYXNzKSl7dmFyIGQ9bmV3IERhdGUoYy5nZXRUaW1lKCktdGhpcy50aW1lRGVsdGEpO3RoaXMuc2V0dGluZ3MudXBkYXRlVGltZSh0aGlzLnN0YXJ0VGltZUlucHV0LGQpLGI9dGhpcy5zZXR0aW5ncy5wYXJzZVRpbWUodGhpcy5zdGFydFRpbWVJbnB1dCksdGhpcy5fZG9NaWRuaWdodFJvbGxvdmVyKGIsYyl9ZWxzZXt0aGlzLl9kb01pZG5pZ2h0Um9sbG92ZXIoYixjKTt2YXIgZixnO2lmKHRoaXMuc3RhcnREYXRlSW5wdXQmJnRoaXMuZW5kRGF0ZUlucHV0JiYoZj10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZSh0aGlzLnN0YXJ0RGF0ZUlucHV0KSxnPXRoaXMuc2V0dGluZ3MucGFyc2VEYXRlKHRoaXMuZW5kRGF0ZUlucHV0KSksK2Y9PStnJiZiPmMpe3ZhciBoPWUoYSx0aGlzLnNldHRpbmdzLmVuZENsYXNzKT90aGlzLmVuZFRpbWVJbnB1dDp0aGlzLnN0YXJ0VGltZUlucHV0LGk9ZShhLHRoaXMuc2V0dGluZ3Muc3RhcnRDbGFzcyk/dGhpcy5lbmRUaW1lSW5wdXQ6dGhpcy5zdGFydFRpbWVJbnB1dCxqPXRoaXMuc2V0dGluZ3MucGFyc2VUaW1lKGgpO3RoaXMudGltZURlbHRhPTAsdGhpcy5zZXR0aW5ncy51cGRhdGVUaW1lKGksail9ZWxzZSB0aGlzLnRpbWVEZWx0YT1jLmdldFRpbWUoKS1iLmdldFRpbWUoKX1lbHNlIGlmKG51bGwhPT10aGlzLnNldHRpbmdzLmRlZmF1bHRUaW1lRGVsdGEpe2lmKGIpe3ZhciBrPW5ldyBEYXRlKGIuZ2V0VGltZSgpK3RoaXMuc2V0dGluZ3MuZGVmYXVsdFRpbWVEZWx0YSk7dGhpcy5zZXR0aW5ncy51cGRhdGVUaW1lKHRoaXMuZW5kVGltZUlucHV0LGspfWVsc2UgaWYoYyl7dmFyIGw9bmV3IERhdGUoYy5nZXRUaW1lKCktdGhpcy5zZXR0aW5ncy5kZWZhdWx0VGltZURlbHRhKTt0aGlzLnNldHRpbmdzLnVwZGF0ZVRpbWUodGhpcy5zdGFydFRpbWVJbnB1dCxsKX10aGlzLnRpbWVEZWx0YT10aGlzLnNldHRpbmdzLmRlZmF1bHRUaW1lRGVsdGF9ZWxzZSB0aGlzLnRpbWVEZWx0YT1udWxsfX0sX2RvTWlkbmlnaHRSb2xsb3ZlcjpmdW5jdGlvbihhLGIpe2lmKHRoaXMuc3RhcnREYXRlSW5wdXQmJnRoaXMuZW5kRGF0ZUlucHV0KXt2YXIgYz10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZSh0aGlzLmVuZERhdGVJbnB1dCksZD10aGlzLnNldHRpbmdzLnBhcnNlRGF0ZSh0aGlzLnN0YXJ0RGF0ZUlucHV0KSxlPWIuZ2V0VGltZSgpLWEuZ2V0VGltZSgpLGY9YT5iP2c6LTEqZztudWxsIT09dGhpcy5kYXRlRGVsdGEmJnRoaXMuZGF0ZURlbHRhK3RoaXMudGltZURlbHRhPD1nJiZ0aGlzLmRhdGVEZWx0YStlIT0wJiYoZj4wfHwwIT10aGlzLmRhdGVEZWx0YSkmJihlPj0wJiZ0aGlzLnRpbWVEZWx0YTwwfHwwPmUmJnRoaXMudGltZURlbHRhPj0wKSYmKCJzdGFydCI9PXRoaXMuc2V0dGluZ3MuYW5jaG9yPyh0aGlzLnNldHRpbmdzLnVwZGF0ZURhdGUodGhpcy5lbmREYXRlSW5wdXQsbmV3IERhdGUoYy5nZXRUaW1lKCkrZikpLHRoaXMuX2RhdGVDaGFuZ2VkKHRoaXMuZW5kRGF0ZUlucHV0KSk6ImVuZCI9PXRoaXMuc2V0dGluZ3MuYW5jaG9yJiYodGhpcy5zZXR0aW5ncy51cGRhdGVEYXRlKHRoaXMuc3RhcnREYXRlSW5wdXQsbmV3IERhdGUoZC5nZXRUaW1lKCktZikpLHRoaXMuX2RhdGVDaGFuZ2VkKHRoaXMuc3RhcnREYXRlSW5wdXQpKSksdGhpcy50aW1lRGVsdGE9ZX19LF91cGRhdGVFbmRNaW50aW1lOmZ1bmN0aW9uKCl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMuc2V0dGluZ3Muc2V0TWluVGltZSl7dmFyIGE9bnVsbDsic3RhcnQiPT10aGlzLnNldHRpbmdzLmFuY2hvciYmKCF0aGlzLmRhdGVEZWx0YXx8dGhpcy5kYXRlRGVsdGE8Z3x8dGhpcy50aW1lRGVsdGEmJnRoaXMuZGF0ZURlbHRhK3RoaXMudGltZURlbHRhPGcpJiYoYT10aGlzLnNldHRpbmdzLnBhcnNlVGltZSh0aGlzLnN0YXJ0VGltZUlucHV0KSksdGhpcy5zZXR0aW5ncy5zZXRNaW5UaW1lKHRoaXMuZW5kVGltZUlucHV0LGEpfX0sX3ZhbGlkYXRlUmFuZ2VzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc3RhcnRUaW1lSW5wdXQmJnRoaXMuZW5kVGltZUlucHV0JiZudWxsPT09dGhpcy50aW1lRGVsdGE/dm9pZCBkKHRoaXMuY29udGFpbmVyLCJyYW5nZUluY29tcGxldGUiKTp0aGlzLnN0YXJ0RGF0ZUlucHV0JiZ0aGlzLmVuZERhdGVJbnB1dCYmbnVsbD09PXRoaXMuZGF0ZURlbHRhP3ZvaWQgZCh0aGlzLmNvbnRhaW5lciwicmFuZ2VJbmNvbXBsZXRlIik6dm9pZCghdGhpcy5zdGFydERhdGVJbnB1dHx8IXRoaXMuZW5kRGF0ZUlucHV0fHx0aGlzLmRhdGVEZWx0YSt0aGlzLnRpbWVEZWx0YT49MD9kKHRoaXMuY29udGFpbmVyLCJyYW5nZVNlbGVjdGVkIik6ZCh0aGlzLmNvbnRhaW5lciwicmFuZ2VFcnJvciIpKX19LGEuRGF0ZXBhaXI9Zn0od2luZG93LGRvY3VtZW50KSxmdW5jdGlvbihhKXthJiYoYS5mbi5kYXRlcGFpcj1mdW5jdGlvbihiKXt2YXIgYztyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ9YSh0aGlzKSxlPWQuZGF0YSgiZGF0ZXBhaXIiKSxmPSJvYmplY3QiPT10eXBlb2YgYiYmYjtlfHwoZT1uZXcgRGF0ZXBhaXIodGhpcyxmKSxkLmRhdGEoImRhdGVwYWlyIixlKSksInN0cmluZyI9PXR5cGVvZiBiJiYoYz1lW2JdKCkpfSksY3x8dGhpc30sYSgiW2RhdGEtZGF0ZXBhaXJdIikuZWFjaChmdW5jdGlvbigpe3ZhciBiPWEodGhpcyk7Yi5kYXRlcGFpcihiLmRhdGEoKSl9KSl9KHdpbmRvdy5aZXB0b3x8d2luZG93LmpRdWVyeSk7DQoNCg0KLyoqIQ0KICogZWFzeS1waWUtY2hhcnQNCiAqIExpZ2h0d2VpZ2h0IHBsdWdpbiB0byByZW5kZXIgc2ltcGxlLCBhbmltYXRlZCBhbmQgcmV0aW5hIG9wdGltaXplZCBwaWUgY2hhcnRzDQogKg0KICogQGxpY2Vuc2UgDQogKiBAYXV0aG9yIFJvYmVydCBGbGVpc2NobWFubiA8cmVuZHJvODdAZ21haWwuY29tPiAoaHR0cDovL3JvYmVydC1mbGVpc2NobWFubi5kZSkNCiAqIEB2ZXJzaW9uIDIuMS43DQogKiovDQohZnVuY3Rpb24oYSxiKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbImpxdWVyeSJdLGZ1bmN0aW9uKGEpe3JldHVybiBiKGEpfSk6Im9iamVjdCI9PXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWIocmVxdWlyZSgianF1ZXJ5IikpOmIoalF1ZXJ5KX0odGhpcyxmdW5jdGlvbihhKXt2YXIgYj1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7YS5hcHBlbmRDaGlsZChkKSwib2JqZWN0Ij09dHlwZW9mIEdfdm1sQ2FudmFzTWFuYWdlciYmR192bWxDYW52YXNNYW5hZ2VyLmluaXRFbGVtZW50KGQpO3ZhciBlPWQuZ2V0Q29udGV4dCgiMmQiKTtkLndpZHRoPWQuaGVpZ2h0PWIuc2l6ZTt2YXIgZj0xO3dpbmRvdy5kZXZpY2VQaXhlbFJhdGlvPjEmJihmPXdpbmRvdy5kZXZpY2VQaXhlbFJhdGlvLGQuc3R5bGUud2lkdGg9ZC5zdHlsZS5oZWlnaHQ9W2Iuc2l6ZSwicHgiXS5qb2luKCIiKSxkLndpZHRoPWQuaGVpZ2h0PWIuc2l6ZSpmLGUuc2NhbGUoZixmKSksZS50cmFuc2xhdGUoYi5zaXplLzIsYi5zaXplLzIpLGUucm90YXRlKCgtMC41K2Iucm90YXRlLzE4MCkqTWF0aC5QSSk7dmFyIGc9KGIuc2l6ZS1iLmxpbmVXaWR0aCkvMjtiLnNjYWxlQ29sb3ImJmIuc2NhbGVMZW5ndGgmJihnLT1iLnNjYWxlTGVuZ3RoKzIpLERhdGUubm93PURhdGUubm93fHxmdW5jdGlvbigpe3JldHVybituZXcgRGF0ZX07dmFyIGg9ZnVuY3Rpb24oYSxiLGMpe2M9TWF0aC5taW4oTWF0aC5tYXgoLTEsY3x8MCksMSk7dmFyIGQ9MD49Yz8hMDohMTtlLmJlZ2luUGF0aCgpLGUuYXJjKDAsMCxnLDAsMipNYXRoLlBJKmMsZCksZS5zdHJva2VTdHlsZT1hLGUubGluZVdpZHRoPWIsZS5zdHJva2UoKX0saT1mdW5jdGlvbigpe3ZhciBhLGM7ZS5saW5lV2lkdGg9MSxlLmZpbGxTdHlsZT1iLnNjYWxlQ29sb3IsZS5zYXZlKCk7Zm9yKHZhciBkPTI0O2Q+MDstLWQpZCU2PT09MD8oYz1iLnNjYWxlTGVuZ3RoLGE9MCk6KGM9LjYqYi5zY2FsZUxlbmd0aCxhPWIuc2NhbGVMZW5ndGgtYyksZS5maWxsUmVjdCgtYi5zaXplLzIrYSwwLGMsMSksZS5yb3RhdGUoTWF0aC5QSS8xMik7ZS5yZXN0b3JlKCl9LGo9ZnVuY3Rpb24oKXtyZXR1cm4gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93LndlYmtpdFJlcXVlc3RBbmltYXRpb25GcmFtZXx8d2luZG93Lm1velJlcXVlc3RBbmltYXRpb25GcmFtZXx8ZnVuY3Rpb24oYSl7d2luZG93LnNldFRpbWVvdXQoYSwxZTMvNjApfX0oKSxrPWZ1bmN0aW9uKCl7Yi5zY2FsZUNvbG9yJiZpKCksYi50cmFja0NvbG9yJiZoKGIudHJhY2tDb2xvcixiLnRyYWNrV2lkdGh8fGIubGluZVdpZHRoLDEpfTt0aGlzLmdldENhbnZhcz1mdW5jdGlvbigpe3JldHVybiBkfSx0aGlzLmdldEN0eD1mdW5jdGlvbigpe3JldHVybiBlfSx0aGlzLmNsZWFyPWZ1bmN0aW9uKCl7ZS5jbGVhclJlY3QoYi5zaXplLy0yLGIuc2l6ZS8tMixiLnNpemUsYi5zaXplKX0sdGhpcy5kcmF3PWZ1bmN0aW9uKGEpe2Iuc2NhbGVDb2xvcnx8Yi50cmFja0NvbG9yP2UuZ2V0SW1hZ2VEYXRhJiZlLnB1dEltYWdlRGF0YT9jP2UucHV0SW1hZ2VEYXRhKGMsMCwwKTooaygpLGM9ZS5nZXRJbWFnZURhdGEoMCwwLGIuc2l6ZSpmLGIuc2l6ZSpmKSk6KHRoaXMuY2xlYXIoKSxrKCkpOnRoaXMuY2xlYXIoKSxlLmxpbmVDYXA9Yi5saW5lQ2FwO3ZhciBkO2Q9ImZ1bmN0aW9uIj09dHlwZW9mIGIuYmFyQ29sb3I/Yi5iYXJDb2xvcihhKTpiLmJhckNvbG9yLGgoZCxiLmxpbmVXaWR0aCxhLzEwMCl9LmJpbmQodGhpcyksdGhpcy5hbmltYXRlPWZ1bmN0aW9uKGEsYyl7dmFyIGQ9RGF0ZS5ub3coKTtiLm9uU3RhcnQoYSxjKTt2YXIgZT1mdW5jdGlvbigpe3ZhciBmPU1hdGgubWluKERhdGUubm93KCktZCxiLmFuaW1hdGUuZHVyYXRpb24pLGc9Yi5lYXNpbmcodGhpcyxmLGEsYy1hLGIuYW5pbWF0ZS5kdXJhdGlvbik7dGhpcy5kcmF3KGcpLGIub25TdGVwKGEsYyxnKSxmPj1iLmFuaW1hdGUuZHVyYXRpb24/Yi5vblN0b3AoYSxjKTpqKGUpfS5iaW5kKHRoaXMpO2ooZSl9LmJpbmQodGhpcyl9LGM9ZnVuY3Rpb24oYSxjKXt2YXIgZD17YmFyQ29sb3I6IiNlZjFlMjUiLHRyYWNrQ29sb3I6IiNmOWY5ZjkiLHNjYWxlQ29sb3I6IiNkZmUwZTAiLHNjYWxlTGVuZ3RoOjUsbGluZUNhcDoicm91bmQiLGxpbmVXaWR0aDozLHRyYWNrV2lkdGg6dm9pZCAwLHNpemU6MTEwLHJvdGF0ZTowLGFuaW1hdGU6e2R1cmF0aW9uOjFlMyxlbmFibGVkOiEwfSxlYXNpbmc6ZnVuY3Rpb24oYSxiLGMsZCxlKXtyZXR1cm4gYi89ZS8yLDE+Yj9kLzIqYipiK2M6LWQvMiooLS1iKihiLTIpLTEpK2N9LG9uU3RhcnQ6ZnVuY3Rpb24oYSxiKXt9LG9uU3RlcDpmdW5jdGlvbihhLGIsYyl7fSxvblN0b3A6ZnVuY3Rpb24oYSxiKXt9fTtpZigidW5kZWZpbmVkIiE9dHlwZW9mIGIpZC5yZW5kZXJlcj1iO2Vsc2V7aWYoInVuZGVmaW5lZCI9PXR5cGVvZiBTVkdSZW5kZXJlcil0aHJvdyBuZXcgRXJyb3IoIlBsZWFzZSBsb2FkIGVpdGhlciB0aGUgU1ZHLSBvciB0aGUgQ2FudmFzUmVuZGVyZXIiKTtkLnJlbmRlcmVyPVNWR1JlbmRlcmVyfXZhciBlPXt9LGY9MCxnPWZ1bmN0aW9uKCl7dGhpcy5lbD1hLHRoaXMub3B0aW9ucz1lO2Zvcih2YXIgYiBpbiBkKWQuaGFzT3duUHJvcGVydHkoYikmJihlW2JdPWMmJiJ1bmRlZmluZWQiIT10eXBlb2YgY1tiXT9jW2JdOmRbYl0sImZ1bmN0aW9uIj09dHlwZW9mIGVbYl0mJihlW2JdPWVbYl0uYmluZCh0aGlzKSkpOyJzdHJpbmciPT10eXBlb2YgZS5lYXNpbmcmJiJ1bmRlZmluZWQiIT10eXBlb2YgalF1ZXJ5JiZqUXVlcnkuaXNGdW5jdGlvbihqUXVlcnkuZWFzaW5nW2UuZWFzaW5nXSk/ZS5lYXNpbmc9alF1ZXJ5LmVhc2luZ1tlLmVhc2luZ106ZS5lYXNpbmc9ZC5lYXNpbmcsIm51bWJlciI9PXR5cGVvZiBlLmFuaW1hdGUmJihlLmFuaW1hdGU9e2R1cmF0aW9uOmUuYW5pbWF0ZSxlbmFibGVkOiEwfSksImJvb2xlYW4iIT10eXBlb2YgZS5hbmltYXRlfHxlLmFuaW1hdGV8fChlLmFuaW1hdGU9e2R1cmF0aW9uOjFlMyxlbmFibGVkOmUuYW5pbWF0ZX0pLHRoaXMucmVuZGVyZXI9bmV3IGUucmVuZGVyZXIoYSxlKSx0aGlzLnJlbmRlcmVyLmRyYXcoZiksYS5kYXRhc2V0JiZhLmRhdGFzZXQucGVyY2VudD90aGlzLnVwZGF0ZShwYXJzZUZsb2F0KGEuZGF0YXNldC5wZXJjZW50KSk6YS5nZXRBdHRyaWJ1dGUmJmEuZ2V0QXR0cmlidXRlKCJkYXRhLXBlcmNlbnQiKSYmdGhpcy51cGRhdGUocGFyc2VGbG9hdChhLmdldEF0dHJpYnV0ZSgiZGF0YS1wZXJjZW50IikpKX0uYmluZCh0aGlzKTt0aGlzLnVwZGF0ZT1mdW5jdGlvbihhKXtyZXR1cm4gYT1wYXJzZUZsb2F0KGEpLGUuYW5pbWF0ZS5lbmFibGVkP3RoaXMucmVuZGVyZXIuYW5pbWF0ZShmLGEpOnRoaXMucmVuZGVyZXIuZHJhdyhhKSxmPWEsdGhpc30uYmluZCh0aGlzKSx0aGlzLmRpc2FibGVBbmltYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gZS5hbmltYXRlLmVuYWJsZWQ9ITEsdGhpc30sdGhpcy5lbmFibGVBbmltYXRpb249ZnVuY3Rpb24oKXtyZXR1cm4gZS5hbmltYXRlLmVuYWJsZWQ9ITAsdGhpc30sZygpfTthLmZuLmVhc3lQaWVDaGFydD1mdW5jdGlvbihiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGQ7YS5kYXRhKHRoaXMsImVhc3lQaWVDaGFydCIpfHwoZD1hLmV4dGVuZCh7fSxiLGEodGhpcykuZGF0YSgpKSxhLmRhdGEodGhpcywiZWFzeVBpZUNoYXJ0IixuZXcgYyh0aGlzLGQpKSl9KX19KTsNCg0KDQovKiENCiAJanF1ZXJ5LmRkc2xpY2subWluLmpzDQogKi8NCihmdW5jdGlvbihlKXtlLmZuLmRkc2xpY2s9ZnVuY3Rpb24obCl7aWYoY1tsXSl7cmV0dXJuIGNbbF0uYXBwbHkodGhpcyxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpfWVsc2V7aWYodHlwZW9mIGw9PT0ib2JqZWN0Inx8IWwpe3JldHVybiBjLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfWVsc2V7ZS5lcnJvcigiTWV0aG9kICIrbCsiIGRvZXMgbm90IGV4aXN0cy4iKX19fTt2YXIgYz17fSxkPXtkYXRhOltdLGtlZXBKU09OSXRlbXNPblRvcDpmYWxzZSx3aWR0aDoyNjAsaGVpZ2h0Om51bGwsYmFja2dyb3VuZDoiI2VlZSIsc2VsZWN0VGV4dDoiIixkZWZhdWx0U2VsZWN0ZWRJbmRleDpudWxsLHRydW5jYXRlRGVzY3JpcHRpb246dHJ1ZSxpbWFnZVBvc2l0aW9uOiJsZWZ0IixzaG93U2VsZWN0ZWRIVE1MOnRydWUsY2xpY2tPZmZUb0Nsb3NlOnRydWUsZW1iZWRDU1M6dHJ1ZSxvblNlbGVjdGVkOmZ1bmN0aW9uKCl7fX0saT0nPGRpdiBjbGFzcz0iZGQtc2VsZWN0Ij48aW5wdXQgY2xhc3M9ImRkLXNlbGVjdGVkLXZhbHVlIiB0eXBlPSJoaWRkZW4iIC8+PGEgY2xhc3M9ImRkLXNlbGVjdGVkIj48L2E+PHNwYW4gY2xhc3M9ImRkLXBvaW50ZXIgZGQtcG9pbnRlci1kb3duIj48L3NwYW4+PC9kaXY+JyxhPSc8dWwgY2xhc3M9ImRkLW9wdGlvbnMiPjwvdWw+JyxiPSc8c3R5bGUgaWQ9ImNzcy1kZHNsaWNrIiB0eXBlPSJ0ZXh0L2NzcyI+LmRkLXNlbGVjdHsgYm9yZGVyLXJhZGl1czoycHg7IGJvcmRlcjpzb2xpZCAxcHggI2NjYzsgcG9zaXRpb246cmVsYXRpdmU7IGN1cnNvcjpwb2ludGVyO30uZGQtZGVzYyB7IGNvbG9yOiNhYWE7IGRpc3BsYXk6YmxvY2s7IG92ZXJmbG93OiBoaWRkZW47IGZvbnQtd2VpZ2h0Om5vcm1hbDsgbGluZS1oZWlnaHQ6IDEuNGVtOyB9LmRkLXNlbGVjdGVkeyBvdmVyZmxvdzpoaWRkZW47IGRpc3BsYXk6YmxvY2s7IHBhZGRpbmc6MTBweDsgZm9udC13ZWlnaHQ6Ym9sZDt9LmRkLXBvaW50ZXJ7IHdpZHRoOjA7IGhlaWdodDowOyBwb3NpdGlvbjphYnNvbHV0ZTsgcmlnaHQ6MTBweDsgdG9wOjUwJTsgbWFyZ2luLXRvcDotM3B4O30uZGQtcG9pbnRlci1kb3dueyBib3JkZXI6c29saWQgNXB4IHRyYW5zcGFyZW50OyBib3JkZXItdG9wOnNvbGlkIDVweCAjMDAwOyB9LmRkLXBvaW50ZXItdXB7Ym9yZGVyOnNvbGlkIDVweCB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tOnNvbGlkIDVweCAjMDAwICFpbXBvcnRhbnQ7IG1hcmdpbi10b3A6LThweDt9LmRkLW9wdGlvbnN7IGJvcmRlcjpzb2xpZCAxcHggI2NjYzsgYm9yZGVyLXRvcDpub25lOyBsaXN0LXN0eWxlOm5vbmU7IGJveC1zaGFkb3c6MHB4IDFweCA1cHggI2RkZDsgZGlzcGxheTpub25lOyBwb3NpdGlvbjphYnNvbHV0ZTsgei1pbmRleDoyMDAwOyBtYXJnaW46MDsgcGFkZGluZzowO2JhY2tncm91bmQ6I2ZmZjsgb3ZlcmZsb3c6YXV0bzt9LmRkLW9wdGlvbnsgcGFkZGluZzoxMHB4OyBkaXNwbGF5OmJsb2NrOyBib3JkZXItYm90dG9tOnNvbGlkIDFweCAjZGRkOyBvdmVyZmxvdzpoaWRkZW47IHRleHQtZGVjb3JhdGlvbjpub25lOyBjb2xvcjojMzMzOyBjdXJzb3I6cG9pbnRlcjstd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluLW91dDsgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2UtaW4tb3V0Oy1tcy10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1pbi1vdXQ7IH0uZGQtb3B0aW9ucyA+IGxpOmxhc3QtY2hpbGQgPiAuZGQtb3B0aW9ueyBib3JkZXItYm90dG9tOm5vbmU7fS5kZC1vcHRpb246aG92ZXJ7IGJhY2tncm91bmQ6I2YzZjNmMzsgY29sb3I6IzAwMDt9LmRkLXNlbGVjdGVkLWRlc2NyaXB0aW9uLXRydW5jYXRlZCB7IHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOyB3aGl0ZS1zcGFjZTpub3dyYXA7IH0uZGQtb3B0aW9uLXNlbGVjdGVkIHsgYmFja2dyb3VuZDojZjZmNmY2OyB9LmRkLW9wdGlvbi1pbWFnZSwgLmRkLXNlbGVjdGVkLWltYWdlIHsgdmVydGljYWwtYWxpZ246bWlkZGxlOyBmbG9hdDpsZWZ0OyBtYXJnaW4tcmlnaHQ6NXB4OyBtYXgtd2lkdGg6NjRweDt9LmRkLWltYWdlLXJpZ2h0IHsgZmxvYXQ6cmlnaHQ7IG1hcmdpbi1yaWdodDoxNXB4OyBtYXJnaW4tbGVmdDo1cHg7fS5kZC1jb250YWluZXJ7IHBvc2l0aW9uOnJlbGF0aXZlO33DouKCrOKAuSAuZGQtc2VsZWN0ZWQtdGV4dCB7IGZvbnQtd2VpZ2h0OmJvbGR9w6LigqzigLk8L3N0eWxlPic7Yy5pbml0PWZ1bmN0aW9uKGwpe3ZhciBsPWUuZXh0ZW5kKHt9LGQsbCk7aWYoZSgiI2Nzcy1kZHNsaWNrIikubGVuZ3RoPD0wJiZsLmVtYmVkQ1NTKXtlKGIpLmFwcGVuZFRvKCJoZWFkIil9cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBwPWUodGhpcykscT1wLmRhdGEoImRkc2xpY2siKTtpZighcSl7dmFyIG49W10sbz1sLmRhdGE7cC5maW5kKCJvcHRpb24iKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIHc9ZSh0aGlzKSx2PXcuZGF0YSgpO24ucHVzaCh7dGV4dDplLnRyaW0ody50ZXh0KCkpLHZhbHVlOncudmFsKCksc2VsZWN0ZWQ6dy5pcygiOnNlbGVjdGVkIiksZGVzY3JpcHRpb246di5kZXNjcmlwdGlvbixpbWFnZVNyYzp2LmltYWdlc3JjfSl9KTtpZihsLmtlZXBKU09OSXRlbXNPblRvcCl7ZS5tZXJnZShsLmRhdGEsbil9ZWxzZXtsLmRhdGE9ZS5tZXJnZShuLGwuZGF0YSl9dmFyIG09cCxzPWUoJzxkaXYgaWQ9IicrcC5hdHRyKCJpZCIpKyciPjwvZGl2PicpO3AucmVwbGFjZVdpdGgocyk7cD1zO3AuYWRkQ2xhc3MoImRkLWNvbnRhaW5lciIpLmFwcGVuZChpKS5hcHBlbmQoYSk7dmFyIG49cC5maW5kKCIuZGQtc2VsZWN0IiksdT1wLmZpbmQoIi5kZC1vcHRpb25zIik7dS5jc3Moe3dpZHRoOmwud2lkdGh9KTtuLmNzcyh7d2lkdGg6bC53aWR0aCxiYWNrZ3JvdW5kOmwuYmFja2dyb3VuZH0pO3AuY3NzKHt3aWR0aDpsLndpZHRofSk7aWYobC5oZWlnaHQhPW51bGwpe3UuY3NzKHtoZWlnaHQ6bC5oZWlnaHQsb3ZlcmZsb3c6ImF1dG8ifSl9ZS5lYWNoKGwuZGF0YSxmdW5jdGlvbih2LHcpe2lmKHcuc2VsZWN0ZWQpe2wuZGVmYXVsdFNlbGVjdGVkSW5kZXg9dn11LmFwcGVuZCgnPGxpPjxhIGNsYXNzPSJkZC1vcHRpb24iPicrKHcudmFsdWU/JyA8aW5wdXQgY2xhc3M9ImRkLW9wdGlvbi12YWx1ZSIgdHlwZT0iaGlkZGVuIiB2YWx1ZT0iJyt3LnZhbHVlKyciIC8+JzoiIikrKHcuaW1hZ2VTcmM/JyA8aW1nIGNsYXNzPSJkZC1vcHRpb24taW1hZ2UnKyhsLmltYWdlUG9zaXRpb249PSJyaWdodCI/IiBkZC1pbWFnZS1yaWdodCI6IiIpKyciIHNyYz0iJyt3LmltYWdlU3JjKyciIC8+JzoiIikrKHcudGV4dD8nIDxsYWJlbCBjbGFzcz0iZGQtb3B0aW9uLXRleHQiPicrdy50ZXh0KyI8L2xhYmVsPiI6IiIpKyh3LmRlc2NyaXB0aW9uPycgPHNtYWxsIGNsYXNzPSJkZC1vcHRpb24tZGVzY3JpcHRpb24gZGQtZGVzYyI+Jyt3LmRlc2NyaXB0aW9uKyI8L3NtYWxsPiI6IiIpKyI8L2E+PC9saT4iKX0pO3ZhciB0PXtzZXR0aW5nczpsLG9yaWdpbmFsOm0sc2VsZWN0ZWRJbmRleDotMSxzZWxlY3RlZEl0ZW06bnVsbCxzZWxlY3RlZERhdGE6bnVsbH07cC5kYXRhKCJkZHNsaWNrIix0KTtpZihsLnNlbGVjdFRleHQubGVuZ3RoPjAmJmwuZGVmYXVsdFNlbGVjdGVkSW5kZXg9PW51bGwpe3AuZmluZCgiLmRkLXNlbGVjdGVkIikuaHRtbChsLnNlbGVjdFRleHQpfWVsc2V7dmFyIHI9KGwuZGVmYXVsdFNlbGVjdGVkSW5kZXghPW51bGwmJmwuZGVmYXVsdFNlbGVjdGVkSW5kZXg+PTAmJmwuZGVmYXVsdFNlbGVjdGVkSW5kZXg8bC5kYXRhLmxlbmd0aCk/bC5kZWZhdWx0U2VsZWN0ZWRJbmRleDowO2oocCxyKX1wLmZpbmQoIi5kZC1zZWxlY3QiKS5vbigiY2xpY2suZGRzbGljayIsZnVuY3Rpb24oKXtmKHApfSk7cC5maW5kKCIuZGQtb3B0aW9uIikub24oImNsaWNrLmRkc2xpY2siLGZ1bmN0aW9uKCl7aihwLGUodGhpcykuY2xvc2VzdCgibGkiKS5pbmRleCgpKX0pO2lmKGwuY2xpY2tPZmZUb0Nsb3NlKXt1LmFkZENsYXNzKCJkZC1jbGljay1vZmYtY2xvc2UiKTtwLm9uKCJjbGljay5kZHNsaWNrIixmdW5jdGlvbih2KXt2LnN0b3BQcm9wYWdhdGlvbigpfSk7ZSgiYm9keSIpLm9uKCJjbGljayIsZnVuY3Rpb24oKXtlKCIuZGQtY2xpY2stb2ZmLWNsb3NlIikuc2xpZGVVcCg1MCkuc2libGluZ3MoIi5kZC1zZWxlY3QiKS5maW5kKCIuZGQtcG9pbnRlciIpLnJlbW92ZUNsYXNzKCJkZC1wb2ludGVyLXVwIil9KX19fSl9O2Muc2VsZWN0PWZ1bmN0aW9uKGwpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtpZihsLmluZGV4IT09dW5kZWZpbmVkKXtqKGUodGhpcyksbC5pbmRleCl9fSl9O2Mub3Blbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbT1lKHRoaXMpLGw9bS5kYXRhKCJkZHNsaWNrIik7aWYobCl7ZihtKX19KX07Yy5jbG9zZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgbT1lKHRoaXMpLGw9bS5kYXRhKCJkZHNsaWNrIik7aWYobCl7ayhtKX19KX07Yy5kZXN0cm95PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBuPWUodGhpcyksbT1uLmRhdGEoImRkc2xpY2siKTtpZihtKXt2YXIgbD1tLm9yaWdpbmFsO24ucmVtb3ZlRGF0YSgiZGRzbGljayIpLnVuYmluZCgiLmRkc2xpY2siKS5yZXBsYWNlV2l0aChsKX19KX07ZnVuY3Rpb24gaihxLHMpe3ZhciB1PXEuZGF0YSgiZGRzbGljayIpO3ZhciByPXEuZmluZCgiLmRkLXNlbGVjdGVkIiksbj1yLnNpYmxpbmdzKCIuZGQtc2VsZWN0ZWQtdmFsdWUiKSx2PXEuZmluZCgiLmRkLW9wdGlvbnMiKSxsPXIuc2libGluZ3MoIi5kZC1wb2ludGVyIikscD1xLmZpbmQoIi5kZC1vcHRpb24iKS5lcShzKSxtPXAuY2xvc2VzdCgibGkiKSxvPXUuc2V0dGluZ3MsdD11LnNldHRpbmdzLmRhdGFbc107cS5maW5kKCIuZGQtb3B0aW9uIikucmVtb3ZlQ2xhc3MoImRkLW9wdGlvbi1zZWxlY3RlZCIpO3AuYWRkQ2xhc3MoImRkLW9wdGlvbi1zZWxlY3RlZCIpO3Uuc2VsZWN0ZWRJbmRleD1zO3Uuc2VsZWN0ZWRJdGVtPW07dS5zZWxlY3RlZERhdGE9dDtpZihvLnNob3dTZWxlY3RlZEhUTUwpe3IuaHRtbCgodC5pbWFnZVNyYz8nPGltZyBjbGFzcz0iZGQtc2VsZWN0ZWQtaW1hZ2UnKyhvLmltYWdlUG9zaXRpb249PSJyaWdodCI/IiBkZC1pbWFnZS1yaWdodCI6IiIpKyciIHNyYz0iJyt0LmltYWdlU3JjKyciIC8+JzoiIikrKHQudGV4dD8nPGxhYmVsIGNsYXNzPSJkZC1zZWxlY3RlZC10ZXh0Ij4nK3QudGV4dCsiPC9sYWJlbD4iOiIiKSsodC5kZXNjcmlwdGlvbj8nPHNtYWxsIGNsYXNzPSJkZC1zZWxlY3RlZC1kZXNjcmlwdGlvbiBkZC1kZXNjJysoby50cnVuY2F0ZURlc2NyaXB0aW9uPyIgZGQtc2VsZWN0ZWQtZGVzY3JpcHRpb24tdHJ1bmNhdGVkIjoiIikrJyIgPicrdC5kZXNjcmlwdGlvbisiPC9zbWFsbD4iOiIiKSl9ZWxzZXtyLmh0bWwodC50ZXh0KX1uLnZhbCh0LnZhbHVlKTt1Lm9yaWdpbmFsLnZhbCh0LnZhbHVlKTtxLmRhdGEoImRkc2xpY2siLHUpO2socSk7ZyhxKTtpZih0eXBlb2Ygby5vblNlbGVjdGVkPT0iZnVuY3Rpb24iKXtvLm9uU2VsZWN0ZWQuY2FsbCh0aGlzLHUpfX1mdW5jdGlvbiBmKHApe3ZhciBvPXAuZmluZCgiLmRkLXNlbGVjdCIpLG09by5zaWJsaW5ncygiLmRkLW9wdGlvbnMiKSxsPW8uZmluZCgiLmRkLXBvaW50ZXIiKSxuPW0uaXMoIjp2aXNpYmxlIik7ZSgiLmRkLWNsaWNrLW9mZi1jbG9zZSIpLm5vdChtKS5zbGlkZVVwKDUwKTtlKCIuZGQtcG9pbnRlciIpLnJlbW92ZUNsYXNzKCJkZC1wb2ludGVyLXVwIik7aWYobil7bS5zbGlkZVVwKCJmYXN0Iik7bC5yZW1vdmVDbGFzcygiZGQtcG9pbnRlci11cCIpfWVsc2V7bS5zbGlkZURvd24oImZhc3QiKTtsLmFkZENsYXNzKCJkZC1wb2ludGVyLXVwIil9aChwKX1mdW5jdGlvbiBrKGwpe2wuZmluZCgiLmRkLW9wdGlvbnMiKS5zbGlkZVVwKDUwKTtsLmZpbmQoIi5kZC1wb2ludGVyIikucmVtb3ZlQ2xhc3MoImRkLXBvaW50ZXItdXAiKS5yZW1vdmVDbGFzcygiZGQtcG9pbnRlci11cCIpfWZ1bmN0aW9uIGcobyl7dmFyIG49by5maW5kKCIuZGQtc2VsZWN0IikuY3NzKCJoZWlnaHQiKTt2YXIgbT1vLmZpbmQoIi5kZC1zZWxlY3RlZC1kZXNjcmlwdGlvbiIpO3ZhciBsPW8uZmluZCgiLmRkLXNlbGVjdGVkLWltYWdlIik7aWYobS5sZW5ndGg8PTAmJmwubGVuZ3RoPjApe28uZmluZCgiLmRkLXNlbGVjdGVkLXRleHQiKS5jc3MoImxpbmVIZWlnaHQiLG4pfX1mdW5jdGlvbiBoKGwpe2wuZmluZCgiLmRkLW9wdGlvbiIpLmVhY2goZnVuY3Rpb24oKXt2YXIgcD1lKHRoaXMpO3ZhciBuPXAuY3NzKCJoZWlnaHQiKTt2YXIgbz1wLmZpbmQoIi5kZC1vcHRpb24tZGVzY3JpcHRpb24iKTt2YXIgbT1sLmZpbmQoIi5kZC1vcHRpb24taW1hZ2UiKTtpZihvLmxlbmd0aDw9MCYmbS5sZW5ndGg+MCl7cC5maW5kKCIuZGQtb3B0aW9uLXRleHQiKS5jc3MoImxpbmVIZWlnaHQiLG4pfX0pfX0pKGpRdWVyeSk7DQoNCg0KLyohDQogKiBGdWxsQ2FsZW5kYXIgdjIuNi4wDQogKiBEb2NzICYgTGljZW5zZTogaHR0cDovL2Z1bGxjYWxlbmRhci5pby8NCiAqIChjKSAyMDE1IEFkYW0gU2hhdw0KICovDQohZnVuY3Rpb24oYSl7ImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZD9kZWZpbmUoWyJqcXVlcnkiLCJtb21lbnQiXSxhKToib2JqZWN0Ij09dHlwZW9mIGV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YShyZXF1aXJlKCJqcXVlcnkiKSxyZXF1aXJlKCJtb21lbnQiKSk6YShqUXVlcnksbW9tZW50KX0oZnVuY3Rpb24oYSxiKXtmdW5jdGlvbiBjKGEpe3JldHVybiBRKGEsUmEpfWZ1bmN0aW9uIGQoYil7dmFyIGMsZD17dmlld3M6Yi52aWV3c3x8e319O3JldHVybiBhLmVhY2goYixmdW5jdGlvbihiLGUpeyJ2aWV3cyIhPWImJihhLmlzUGxhaW5PYmplY3QoZSkmJiEvKHRpbWV8ZHVyYXRpb258aW50ZXJ2YWwpJC9pLnRlc3QoYikmJi0xPT1hLmluQXJyYXkoYixSYSk/KGM9bnVsbCxhLmVhY2goZSxmdW5jdGlvbihhLGUpey9eKG1vbnRofHdlZWt8ZGF5fGRlZmF1bHR8YmFzaWMoV2Vla3xEYXkpP3xhZ2VuZGEoV2Vla3xEYXkpPykkLy50ZXN0KGEpPyhkLnZpZXdzW2FdfHwoZC52aWV3c1thXT17fSksZC52aWV3c1thXVtiXT1lKTooY3x8KGM9e30pLGNbYV09ZSl9KSxjJiYoZFtiXT1jKSk6ZFtiXT1lKX0pLGR9ZnVuY3Rpb24gZShhLGIpe2IubGVmdCYmYS5jc3MoeyJib3JkZXItbGVmdC13aWR0aCI6MSwibWFyZ2luLWxlZnQiOmIubGVmdC0xfSksYi5yaWdodCYmYS5jc3MoeyJib3JkZXItcmlnaHQtd2lkdGgiOjEsIm1hcmdpbi1yaWdodCI6Yi5yaWdodC0xfSl9ZnVuY3Rpb24gZihhKXthLmNzcyh7Im1hcmdpbi1sZWZ0IjoiIiwibWFyZ2luLXJpZ2h0IjoiIiwiYm9yZGVyLWxlZnQtd2lkdGgiOiIiLCJib3JkZXItcmlnaHQtd2lkdGgiOiIifSl9ZnVuY3Rpb24gZygpe2EoImJvZHkiKS5hZGRDbGFzcygiZmMtbm90LWFsbG93ZWQiKX1mdW5jdGlvbiBoKCl7YSgiYm9keSIpLnJlbW92ZUNsYXNzKCJmYy1ub3QtYWxsb3dlZCIpfWZ1bmN0aW9uIGkoYixjLGQpe3ZhciBlPU1hdGguZmxvb3IoYy9iLmxlbmd0aCksZj1NYXRoLmZsb29yKGMtZSooYi5sZW5ndGgtMSkpLGc9W10saD1bXSxpPVtdLGs9MDtqKGIpLGIuZWFjaChmdW5jdGlvbihjLGQpe3ZhciBqPWM9PT1iLmxlbmd0aC0xP2Y6ZSxsPWEoZCkub3V0ZXJIZWlnaHQoITApO2o+bD8oZy5wdXNoKGQpLGgucHVzaChsKSxpLnB1c2goYShkKS5oZWlnaHQoKSkpOmsrPWx9KSxkJiYoYy09ayxlPU1hdGguZmxvb3IoYy9nLmxlbmd0aCksZj1NYXRoLmZsb29yKGMtZSooZy5sZW5ndGgtMSkpKSxhKGcpLmVhY2goZnVuY3Rpb24oYixjKXt2YXIgZD1iPT09Zy5sZW5ndGgtMT9mOmUsaj1oW2JdLGs9aVtiXSxsPWQtKGotayk7ZD5qJiZhKGMpLmhlaWdodChsKX0pfWZ1bmN0aW9uIGooYSl7YS5oZWlnaHQoIiIpfWZ1bmN0aW9uIGsoYil7dmFyIGM9MDtyZXR1cm4gYi5maW5kKCI+IHNwYW4iKS5lYWNoKGZ1bmN0aW9uKGIsZCl7dmFyIGU9YShkKS5vdXRlcldpZHRoKCk7ZT5jJiYoYz1lKX0pLGMrKyxiLndpZHRoKGMpLGN9ZnVuY3Rpb24gbChhLGIpe3JldHVybiBhLmhlaWdodChiKS5hZGRDbGFzcygiZmMtc2Nyb2xsZXIiKSxhWzBdLnNjcm9sbEhlaWdodC0xPmFbMF0uY2xpZW50SGVpZ2h0PyEwOihtKGEpLCExKX1mdW5jdGlvbiBtKGEpe2EuaGVpZ2h0KCIiKS5yZW1vdmVDbGFzcygiZmMtc2Nyb2xsZXIiKX1mdW5jdGlvbiBuKGIpe3ZhciBjPWIuY3NzKCJwb3NpdGlvbiIpLGQ9Yi5wYXJlbnRzKCkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGI9YSh0aGlzKTtyZXR1cm4vKGF1dG98c2Nyb2xsKS8udGVzdChiLmNzcygib3ZlcmZsb3ciKStiLmNzcygib3ZlcmZsb3cteSIpK2IuY3NzKCJvdmVyZmxvdy14IikpfSkuZXEoMCk7cmV0dXJuImZpeGVkIiE9PWMmJmQubGVuZ3RoP2Q6YShiWzBdLm93bmVyRG9jdW1lbnR8fGRvY3VtZW50KX1mdW5jdGlvbiBvKGEpe3ZhciBiPWEub2Zmc2V0KCk7cmV0dXJue2xlZnQ6Yi5sZWZ0LHJpZ2h0OmIubGVmdCthLm91dGVyV2lkdGgoKSx0b3A6Yi50b3AsYm90dG9tOmIudG9wK2Eub3V0ZXJIZWlnaHQoKX19ZnVuY3Rpb24gcChhKXt2YXIgYj1hLm9mZnNldCgpLGM9cihhKSxkPWIubGVmdCt1KGEsImJvcmRlci1sZWZ0LXdpZHRoIikrYy5sZWZ0LGU9Yi50b3ArdShhLCJib3JkZXItdG9wLXdpZHRoIikrYy50b3A7cmV0dXJue2xlZnQ6ZCxyaWdodDpkK2FbMF0uY2xpZW50V2lkdGgsdG9wOmUsYm90dG9tOmUrYVswXS5jbGllbnRIZWlnaHR9fWZ1bmN0aW9uIHEoYSl7dmFyIGI9YS5vZmZzZXQoKSxjPWIubGVmdCt1KGEsImJvcmRlci1sZWZ0LXdpZHRoIikrdShhLCJwYWRkaW5nLWxlZnQiKSxkPWIudG9wK3UoYSwiYm9yZGVyLXRvcC13aWR0aCIpK3UoYSwicGFkZGluZy10b3AiKTtyZXR1cm57bGVmdDpjLHJpZ2h0OmMrYS53aWR0aCgpLHRvcDpkLGJvdHRvbTpkK2EuaGVpZ2h0KCl9fWZ1bmN0aW9uIHIoYSl7dmFyIGI9YS5pbm5lcldpZHRoKCktYVswXS5jbGllbnRXaWR0aCxjPXtsZWZ0OjAscmlnaHQ6MCx0b3A6MCxib3R0b206YS5pbm5lckhlaWdodCgpLWFbMF0uY2xpZW50SGVpZ2h0fTtyZXR1cm4gcygpJiYicnRsIj09YS5jc3MoImRpcmVjdGlvbiIpP2MubGVmdD1iOmMucmlnaHQ9YixjfWZ1bmN0aW9uIHMoKXtyZXR1cm4gbnVsbD09PVNhJiYoU2E9dCgpKSxTYX1mdW5jdGlvbiB0KCl7dmFyIGI9YSgiPGRpdj48ZGl2Lz48L2Rpdj4iKS5jc3Moe3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOi0xZTMsbGVmdDowLGJvcmRlcjowLHBhZGRpbmc6MCxvdmVyZmxvdzoic2Nyb2xsIixkaXJlY3Rpb246InJ0bCJ9KS5hcHBlbmRUbygiYm9keSIpLGM9Yi5jaGlsZHJlbigpLGQ9Yy5vZmZzZXQoKS5sZWZ0PmIub2Zmc2V0KCkubGVmdDtyZXR1cm4gYi5yZW1vdmUoKSxkfWZ1bmN0aW9uIHUoYSxiKXtyZXR1cm4gcGFyc2VGbG9hdChhLmNzcyhiKSl8fDB9ZnVuY3Rpb24gdihhKXtyZXR1cm4gMT09YS53aGljaCYmIWEuY3RybEtleX1mdW5jdGlvbiB3KGEsYil7dmFyIGM9e2xlZnQ6TWF0aC5tYXgoYS5sZWZ0LGIubGVmdCkscmlnaHQ6TWF0aC5taW4oYS5yaWdodCxiLnJpZ2h0KSx0b3A6TWF0aC5tYXgoYS50b3AsYi50b3ApLGJvdHRvbTpNYXRoLm1pbihhLmJvdHRvbSxiLmJvdHRvbSl9O3JldHVybiBjLmxlZnQ8Yy5yaWdodCYmYy50b3A8Yy5ib3R0b20/YzohMX1mdW5jdGlvbiB4KGEsYil7cmV0dXJue2xlZnQ6TWF0aC5taW4oTWF0aC5tYXgoYS5sZWZ0LGIubGVmdCksYi5yaWdodCksdG9wOk1hdGgubWluKE1hdGgubWF4KGEudG9wLGIudG9wKSxiLmJvdHRvbSl9fWZ1bmN0aW9uIHkoYSl7cmV0dXJue2xlZnQ6KGEubGVmdCthLnJpZ2h0KS8yLHRvcDooYS50b3ArYS5ib3R0b20pLzJ9fWZ1bmN0aW9uIHooYSxiKXtyZXR1cm57bGVmdDphLmxlZnQtYi5sZWZ0LHRvcDphLnRvcC1iLnRvcH19ZnVuY3Rpb24gQShiKXt2YXIgYyxkLGU9W10sZj1bXTtmb3IoInN0cmluZyI9PXR5cGVvZiBiP2Y9Yi5zcGxpdCgvXHMqLFxzKi8pOiJmdW5jdGlvbiI9PXR5cGVvZiBiP2Y9W2JdOmEuaXNBcnJheShiKSYmKGY9YiksYz0wO2M8Zi5sZW5ndGg7YysrKWQ9ZltjXSwic3RyaW5nIj09dHlwZW9mIGQ/ZS5wdXNoKCItIj09ZC5jaGFyQXQoMCk/e2ZpZWxkOmQuc3Vic3RyaW5nKDEpLG9yZGVyOi0xfTp7ZmllbGQ6ZCxvcmRlcjoxfSk6ImZ1bmN0aW9uIj09dHlwZW9mIGQmJmUucHVzaCh7ZnVuYzpkfSk7cmV0dXJuIGV9ZnVuY3Rpb24gQihhLGIsYyl7dmFyIGQsZTtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKWlmKGU9QyhhLGIsY1tkXSkpcmV0dXJuIGU7cmV0dXJuIDB9ZnVuY3Rpb24gQyhhLGIsYyl7cmV0dXJuIGMuZnVuYz9jLmZ1bmMoYSxiKTpEKGFbYy5maWVsZF0sYltjLmZpZWxkXSkqKGMub3JkZXJ8fDEpfWZ1bmN0aW9uIEQoYixjKXtyZXR1cm4gYnx8Yz9udWxsPT1jPy0xOm51bGw9PWI/MToic3RyaW5nIj09PWEudHlwZShiKXx8InN0cmluZyI9PT1hLnR5cGUoYyk/U3RyaW5nKGIpLmxvY2FsZUNvbXBhcmUoU3RyaW5nKGMpKTpiLWM6MH1mdW5jdGlvbiBFKGEsYil7dmFyIGMsZCxlLGYsZz1hLnN0YXJ0LGg9YS5lbmQsaT1iLnN0YXJ0LGo9Yi5lbmQ7cmV0dXJuIGg+aSYmaj5nPyhnPj1pPyhjPWcuY2xvbmUoKSxlPSEwKTooYz1pLmNsb25lKCksZT0hMSksaj49aD8oZD1oLmNsb25lKCksZj0hMCk6KGQ9ai5jbG9uZSgpLGY9ITEpLHtzdGFydDpjLGVuZDpkLGlzU3RhcnQ6ZSxpc0VuZDpmfSk6dm9pZCAwfWZ1bmN0aW9uIEYoYSxjKXtyZXR1cm4gYi5kdXJhdGlvbih7ZGF5czphLmNsb25lKCkuc3RyaXBUaW1lKCkuZGlmZihjLmNsb25lKCkuc3RyaXBUaW1lKCksImRheXMiKSxtczphLnRpbWUoKS1jLnRpbWUoKX0pfWZ1bmN0aW9uIEcoYSxjKXtyZXR1cm4gYi5kdXJhdGlvbih7ZGF5czphLmNsb25lKCkuc3RyaXBUaW1lKCkuZGlmZihjLmNsb25lKCkuc3RyaXBUaW1lKCksImRheXMiKX0pfWZ1bmN0aW9uIEgoYSxjLGQpe3JldHVybiBiLmR1cmF0aW9uKE1hdGgucm91bmQoYS5kaWZmKGMsZCwhMCkpLGQpfWZ1bmN0aW9uIEkoYSxiKXt2YXIgYyxkLGU7Zm9yKGM9MDtjPFVhLmxlbmd0aCYmKGQ9VWFbY10sZT1KKGQsYSxiKSwhKGU+PTEmJmJhKGUpKSk7YysrKTtyZXR1cm4gZH1mdW5jdGlvbiBKKGEsYyxkKXtyZXR1cm4gbnVsbCE9ZD9kLmRpZmYoYyxhLCEwKTpiLmlzRHVyYXRpb24oYyk/Yy5hcyhhKTpjLmVuZC5kaWZmKGMuc3RhcnQsYSwhMCl9ZnVuY3Rpb24gSyhhLGIsYyl7dmFyIGQ7cmV0dXJuIE4oYyk/KGItYSkvYzooZD1jLmFzTW9udGhzKCksTWF0aC5hYnMoZCk+PTEmJmJhKGQpP2IuZGlmZihhLCJtb250aHMiLCEwKS9kOmIuZGlmZihhLCJkYXlzIiwhMCkvYy5hc0RheXMoKSl9ZnVuY3Rpb24gTChhLGIpe3ZhciBjLGQ7cmV0dXJuIE4oYSl8fE4oYik/YS9iOihjPWEuYXNNb250aHMoKSxkPWIuYXNNb250aHMoKSxNYXRoLmFicyhjKT49MSYmYmEoYykmJk1hdGguYWJzKGQpPj0xJiZiYShkKT9jL2Q6YS5hc0RheXMoKS9iLmFzRGF5cygpKX1mdW5jdGlvbiBNKGEsYyl7dmFyIGQ7cmV0dXJuIE4oYSk/Yi5kdXJhdGlvbihhKmMpOihkPWEuYXNNb250aHMoKSxNYXRoLmFicyhkKT49MSYmYmEoZCk/Yi5kdXJhdGlvbih7bW9udGhzOmQqY30pOmIuZHVyYXRpb24oe2RheXM6YS5hc0RheXMoKSpjfSkpfWZ1bmN0aW9uIE4oYSl7cmV0dXJuIEJvb2xlYW4oYS5ob3VycygpfHxhLm1pbnV0ZXMoKXx8YS5zZWNvbmRzKCl8fGEubWlsbGlzZWNvbmRzKCkpfWZ1bmN0aW9uIE8oYSl7cmV0dXJuIltvYmplY3QgRGF0ZV0iPT09T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGEpfHxhIGluc3RhbmNlb2YgRGF0ZX1mdW5jdGlvbiBQKGEpe3JldHVybi9eXGQrXDpcZCsoPzpcOlxkK1wuPyg/OlxkezN9KT8pPyQvLnRlc3QoYSl9ZnVuY3Rpb24gUShhLGIpe3ZhciBjLGQsZSxmLGcsaCxpPXt9O2lmKGIpZm9yKGM9MDtjPGIubGVuZ3RoO2MrKyl7Zm9yKGQ9YltjXSxlPVtdLGY9YS5sZW5ndGgtMTtmPj0wO2YtLSlpZihnPWFbZl1bZF0sIm9iamVjdCI9PXR5cGVvZiBnKWUudW5zaGlmdChnKTtlbHNlIGlmKHZvaWQgMCE9PWcpe2lbZF09ZzticmVha31lLmxlbmd0aCYmKGlbZF09UShlKSl9Zm9yKGM9YS5sZW5ndGgtMTtjPj0wO2MtLSl7aD1hW2NdO2ZvcihkIGluIGgpZCBpbiBpfHwoaVtkXT1oW2RdKX1yZXR1cm4gaX1mdW5jdGlvbiBSKGEpe3ZhciBiPWZ1bmN0aW9uKCl7fTtyZXR1cm4gYi5wcm90b3R5cGU9YSxuZXcgYn1mdW5jdGlvbiBTKGEsYil7Zm9yKHZhciBjIGluIGEpVShhLGMpJiYoYltjXT1hW2NdKX1mdW5jdGlvbiBUKGEsYil7dmFyIGMsZCxlPVsiY29uc3RydWN0b3IiLCJ0b1N0cmluZyIsInZhbHVlT2YiXTtmb3IoYz0wO2M8ZS5sZW5ndGg7YysrKWQ9ZVtjXSxhW2RdIT09T2JqZWN0LnByb3RvdHlwZVtkXSYmKGJbZF09YVtkXSl9ZnVuY3Rpb24gVShhLGIpe3JldHVybiBZYS5jYWxsKGEsYil9ZnVuY3Rpb24gVihiKXtyZXR1cm4vdW5kZWZpbmVkfG51bGx8Ym9vbGVhbnxudW1iZXJ8c3RyaW5nLy50ZXN0KGEudHlwZShiKSl9ZnVuY3Rpb24gVyhiLGMsZCl7aWYoYS5pc0Z1bmN0aW9uKGIpJiYoYj1bYl0pLGIpe3ZhciBlLGY7Zm9yKGU9MDtlPGIubGVuZ3RoO2UrKylmPWJbZV0uYXBwbHkoYyxkKXx8ZjtyZXR1cm4gZn19ZnVuY3Rpb24gWCgpe2Zvcih2YXIgYT0wO2E8YXJndW1lbnRzLmxlbmd0aDthKyspaWYodm9pZCAwIT09YXJndW1lbnRzW2FdKXJldHVybiBhcmd1bWVudHNbYV19ZnVuY3Rpb24gWShhKXtyZXR1cm4oYSsiIikucmVwbGFjZSgvJi9nLCImYW1wOyIpLnJlcGxhY2UoLzwvZywiJmx0OyIpLnJlcGxhY2UoLz4vZywiJmd0OyIpLnJlcGxhY2UoLycvZywiJiMwMzk7IikucmVwbGFjZSgvIi9nLCImcXVvdDsiKS5yZXBsYWNlKC9cbi9nLCI8YnIgLz4iKX1mdW5jdGlvbiBaKGEpe3JldHVybiBhLnJlcGxhY2UoLyYuKj87L2csIiIpfWZ1bmN0aW9uICQoYil7dmFyIGM9W107cmV0dXJuIGEuZWFjaChiLGZ1bmN0aW9uKGEsYil7bnVsbCE9YiYmYy5wdXNoKGErIjoiK2IpfSksYy5qb2luKCI7Iil9ZnVuY3Rpb24gXyhhKXtyZXR1cm4gYS5jaGFyQXQoMCkudG9VcHBlckNhc2UoKSthLnNsaWNlKDEpfWZ1bmN0aW9uIGFhKGEsYil7cmV0dXJuIGEtYn1mdW5jdGlvbiBiYShhKXtyZXR1cm4gYSUxPT09MH1mdW5jdGlvbiBjYShhLGIpe3ZhciBjPWFbYl07cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGMuYXBwbHkoYSxhcmd1bWVudHMpfX1mdW5jdGlvbiBkYShhLGIpe3ZhciBjLGQsZSxmLGc9ZnVuY3Rpb24oKXt2YXIgaD0rbmV3IERhdGUtZjtiPmgmJmg+MD9jPXNldFRpbWVvdXQoZyxiLWgpOihjPW51bGwsYS5hcHBseShlLGQpLGN8fChlPWQ9bnVsbCkpfTtyZXR1cm4gZnVuY3Rpb24oKXtlPXRoaXMsZD1hcmd1bWVudHMsZj0rbmV3IERhdGUsY3x8KGM9c2V0VGltZW91dChnLGIpKX19ZnVuY3Rpb24gZWEoYyxkLGUpe3ZhciBmLGcsaCxpLGo9Y1swXSxrPTE9PWMubGVuZ3RoJiYic3RyaW5nIj09dHlwZW9mIGo7cmV0dXJuIGIuaXNNb21lbnQoaik/KGk9Yi5hcHBseShudWxsLGMpLGdhKGosaSkpOk8oail8fHZvaWQgMD09PWo/aT1iLmFwcGx5KG51bGwsYyk6KGY9ITEsZz0hMSxrP1phLnRlc3Qoaik/KGorPSItMDEiLGM9W2pdLGY9ITAsZz0hMCk6KGg9JGEuZXhlYyhqKSkmJihmPSFoWzVdLGc9ITApOmEuaXNBcnJheShqKSYmKGc9ITApLGk9ZHx8Zj9iLnV0Yy5hcHBseShiLGMpOmIuYXBwbHkobnVsbCxjKSxmPyhpLl9hbWJpZ1RpbWU9ITAsaS5fYW1iaWdab25lPSEwKTplJiYoZz9pLl9hbWJpZ1pvbmU9ITA6ayYmKGkudXRjT2Zmc2V0P2kudXRjT2Zmc2V0KGopOmkuem9uZShqKSkpKSxpLl9mdWxsQ2FsZW5kYXI9ITAsaX1mdW5jdGlvbiBmYShhLGMpe3ZhciBkLGUsZj0hMSxnPSExLGg9YS5sZW5ndGgsaT1bXTtmb3IoZD0wO2g+ZDtkKyspZT1hW2RdLGIuaXNNb21lbnQoZSl8fChlPVBhLm1vbWVudC5wYXJzZVpvbmUoZSkpLGY9Znx8ZS5fYW1iaWdUaW1lLGc9Z3x8ZS5fYW1iaWdab25lLGkucHVzaChlKTtmb3IoZD0wO2g+ZDtkKyspZT1pW2RdLGN8fCFmfHxlLl9hbWJpZ1RpbWU/ZyYmIWUuX2FtYmlnWm9uZSYmKGlbZF09ZS5jbG9uZSgpLnN0cmlwWm9uZSgpKTppW2RdPWUuY2xvbmUoKS5zdHJpcFRpbWUoKTtyZXR1cm4gaX1mdW5jdGlvbiBnYShhLGIpe2EuX2FtYmlnVGltZT9iLl9hbWJpZ1RpbWU9ITA6Yi5fYW1iaWdUaW1lJiYoYi5fYW1iaWdUaW1lPSExKSxhLl9hbWJpZ1pvbmU/Yi5fYW1iaWdab25lPSEwOmIuX2FtYmlnWm9uZSYmKGIuX2FtYmlnWm9uZT0hMSl9ZnVuY3Rpb24gaGEoYSxiKXthLnllYXIoYlswXXx8MCkubW9udGgoYlsxXXx8MCkuZGF0ZShiWzJdfHwwKS5ob3VycyhiWzNdfHwwKS5taW51dGVzKGJbNF18fDApLnNlY29uZHMoYls1XXx8MCkubWlsbGlzZWNvbmRzKGJbNl18fDApfWZ1bmN0aW9uIGlhKGEsYil7cmV0dXJuIGFiLmZvcm1hdC5jYWxsKGEsYil9ZnVuY3Rpb24gamEoYSxiKXtyZXR1cm4ga2EoYSxwYShiKSl9ZnVuY3Rpb24ga2EoYSxiKXt2YXIgYyxkPSIiO2ZvcihjPTA7YzxiLmxlbmd0aDtjKyspZCs9bGEoYSxiW2NdKTtyZXR1cm4gZH1mdW5jdGlvbiBsYShhLGIpe3ZhciBjLGQ7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBiP2I6KGM9Yi50b2tlbik/YmJbY10/YmJbY10oYSk6aWEoYSxjKTpiLm1heWJlJiYoZD1rYShhLGIubWF5YmUpLGQubWF0Y2goL1sxLTldLykpP2Q6IiJ9ZnVuY3Rpb24gbWEoYSxiLGMsZCxlKXt2YXIgZjtyZXR1cm4gYT1QYS5tb21lbnQucGFyc2Vab25lKGEpLGI9UGEubW9tZW50LnBhcnNlWm9uZShiKSxmPShhLmxvY2FsZURhdGF8fGEubGFuZykuY2FsbChhKSxjPWYubG9uZ0RhdGVGb3JtYXQoYyl8fGMsZD1kfHwiIC0gIixuYShhLGIscGEoYyksZCxlKX1mdW5jdGlvbiBuYShhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGo9YS5jbG9uZSgpLnN0cmlwWm9uZSgpLGs9Yi5jbG9uZSgpLnN0cmlwWm9uZSgpLGw9IiIsbT0iIixuPSIiLG89IiIscD0iIjtmb3IoZz0wO2c8Yy5sZW5ndGgmJihmPW9hKGEsYixqLGssY1tnXSksZiE9PSExKTtnKyspbCs9Zjtmb3IoaD1jLmxlbmd0aC0xO2g+ZyYmKGY9b2EoYSxiLGosayxjW2hdKSxmIT09ITEpO2gtLSltPWYrbTtmb3IoaT1nO2g+PWk7aSsrKW4rPWxhKGEsY1tpXSksbys9bGEoYixjW2ldKTtyZXR1cm4obnx8bykmJihwPWU/bytkK246bitkK28pLGwrcCttfWZ1bmN0aW9uIG9hKGEsYixjLGQsZSl7dmFyIGYsZztyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGU/ZTooZj1lLnRva2VuKSYmKGc9Y2JbZi5jaGFyQXQoMCldLGcmJmMuaXNTYW1lKGQsZykpP2lhKGEsZik6ITF9ZnVuY3Rpb24gcGEoYSl7cmV0dXJuIGEgaW4gZGI/ZGJbYV06ZGJbYV09cWEoYSl9ZnVuY3Rpb24gcWEoYSl7Zm9yKHZhciBiLGM9W10sZD0vXFsoW15cXV0qKVxdfFwoKFteXCldKilcKXwoTFRTfExUfChcdylcNCpvPyl8KFteXHdcW1woXSspL2c7Yj1kLmV4ZWMoYSk7KWJbMV0/Yy5wdXNoKGJbMV0pOmJbMl0/Yy5wdXNoKHttYXliZTpxYShiWzJdKX0pOmJbM10/Yy5wdXNoKHt0b2tlbjpiWzNdfSk6Yls1XSYmYy5wdXNoKGJbNV0pO3JldHVybiBjfWZ1bmN0aW9uIHJhKCl7fWZ1bmN0aW9uIHNhKGEsYil7dmFyIGM7cmV0dXJuIFUoYiwiY29uc3RydWN0b3IiKSYmKGM9Yi5jb25zdHJ1Y3RvciksImZ1bmN0aW9uIiE9dHlwZW9mIGMmJihjPWIuY29uc3RydWN0b3I9ZnVuY3Rpb24oKXthLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLGMucHJvdG90eXBlPVIoYS5wcm90b3R5cGUpLFMoYixjLnByb3RvdHlwZSksVChiLGMucHJvdG90eXBlKSxTKGEsYyksY31mdW5jdGlvbiB0YShhLGIpe1MoYi5wcm90b3R5cGV8fGIsYS5wcm90b3R5cGUpfWZ1bmN0aW9uIHVhKGEsYil7cmV0dXJuIGF8fGI/YSYmYj9hLmNvbXBvbmVudD09PWIuY29tcG9uZW50JiZ2YShhLGIpJiZ2YShiLGEpOiExOiEwfWZ1bmN0aW9uIHZhKGEsYil7Zm9yKHZhciBjIGluIGEpaWYoIS9eKGNvbXBvbmVudHxsZWZ0fHJpZ2h0fHRvcHxib3R0b20pJC8udGVzdChjKSYmYVtjXSE9PWJbY10pcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gd2EoYSl7dmFyIGI9eWEoYSk7cmV0dXJuImJhY2tncm91bmQiPT09Ynx8ImludmVyc2UtYmFja2dyb3VuZCI9PT1ifWZ1bmN0aW9uIHhhKGEpe3JldHVybiJpbnZlcnNlLWJhY2tncm91bmQiPT09eWEoYSl9ZnVuY3Rpb24geWEoYSl7cmV0dXJuIFgoKGEuc291cmNlfHx7fSkucmVuZGVyaW5nLGEucmVuZGVyaW5nKX1mdW5jdGlvbiB6YShhKXt2YXIgYixjLGQ9e307Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKyljPWFbYl0sKGRbYy5faWRdfHwoZFtjLl9pZF09W10pKS5wdXNoKGMpO3JldHVybiBkfWZ1bmN0aW9uIEFhKGEsYil7cmV0dXJuIGEuc3RhcnQtYi5zdGFydH1mdW5jdGlvbiBCYShjKXt2YXIgZCxlLGYsZyxoPVBhLmRhdGFBdHRyUHJlZml4O3JldHVybiBoJiYoaCs9Ii0iKSxkPWMuZGF0YShoKyJldmVudCIpfHxudWxsLGQmJihkPSJvYmplY3QiPT10eXBlb2YgZD9hLmV4dGVuZCh7fSxkKTp7fSxlPWQuc3RhcnQsbnVsbD09ZSYmKGU9ZC50aW1lKSxmPWQuZHVyYXRpb24sZz1kLnN0aWNrLGRlbGV0ZSBkLnN0YXJ0LGRlbGV0ZSBkLnRpbWUsZGVsZXRlIGQuZHVyYXRpb24sZGVsZXRlIGQuc3RpY2spLG51bGw9PWUmJihlPWMuZGF0YShoKyJzdGFydCIpKSxudWxsPT1lJiYoZT1jLmRhdGEoaCsidGltZSIpKSxudWxsPT1mJiYoZj1jLmRhdGEoaCsiZHVyYXRpb24iKSksbnVsbD09ZyYmKGc9Yy5kYXRhKGgrInN0aWNrIikpLGU9bnVsbCE9ZT9iLmR1cmF0aW9uKGUpOm51bGwsZj1udWxsIT1mP2IuZHVyYXRpb24oZik6bnVsbCxnPUJvb2xlYW4oZykse2V2ZW50UHJvcHM6ZCxzdGFydFRpbWU6ZSxkdXJhdGlvbjpmLHN0aWNrOmd9fWZ1bmN0aW9uIENhKGEsYil7dmFyIGMsZDtmb3IoYz0wO2M8Yi5sZW5ndGg7YysrKWlmKGQ9YltjXSxkLmxlZnRDb2w8PWEucmlnaHRDb2wmJmQucmlnaHRDb2w+PWEubGVmdENvbClyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBEYShhLGIpe3JldHVybiBhLmxlZnRDb2wtYi5sZWZ0Q29sfWZ1bmN0aW9uIEVhKGEpe3ZhciBiLGMsZCxlPVtdO2ZvcihiPTA7YjxhLmxlbmd0aDtiKyspe2ZvcihjPWFbYl0sZD0wO2Q8ZS5sZW5ndGgmJkhhKGMsZVtkXSkubGVuZ3RoO2QrKyk7Yy5sZXZlbD1kLChlW2RdfHwoZVtkXT1bXSkpLnB1c2goYyl9cmV0dXJuIGV9ZnVuY3Rpb24gRmEoYSl7dmFyIGIsYyxkLGUsZjtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWZvcihjPWFbYl0sZD0wO2Q8Yy5sZW5ndGg7ZCsrKWZvcihlPWNbZF0sZS5mb3J3YXJkU2Vncz1bXSxmPWIrMTtmPGEubGVuZ3RoO2YrKylIYShlLGFbZl0sZS5mb3J3YXJkU2Vncyl9ZnVuY3Rpb24gR2EoYSl7dmFyIGIsYyxkPWEuZm9yd2FyZFNlZ3MsZT0wO2lmKHZvaWQgMD09PWEuZm9yd2FyZFByZXNzdXJlKXtmb3IoYj0wO2I8ZC5sZW5ndGg7YisrKWM9ZFtiXSxHYShjKSxlPU1hdGgubWF4KGUsMStjLmZvcndhcmRQcmVzc3VyZSk7YS5mb3J3YXJkUHJlc3N1cmU9ZX19ZnVuY3Rpb24gSGEoYSxiLGMpe2M9Y3x8W107Zm9yKHZhciBkPTA7ZDxiLmxlbmd0aDtkKyspSWEoYSxiW2RdKSYmYy5wdXNoKGJbZF0pO3JldHVybiBjfWZ1bmN0aW9uIElhKGEsYil7cmV0dXJuIGEuYm90dG9tPmIudG9wJiZhLnRvcDxiLmJvdHRvbX1mdW5jdGlvbiBKYShjLGQpe2Z1bmN0aW9uIGUoKXtVP2goKSYmKGsoKSxpKCkpOmYoKX1mdW5jdGlvbiBmKCl7Vj1PLnRoZW1lPyJ1aSI6ImZjIixjLmFkZENsYXNzKCJmYyIpLE8uaXNSVEw/Yy5hZGRDbGFzcygiZmMtcnRsIik6Yy5hZGRDbGFzcygiZmMtbHRyIiksTy50aGVtZT9jLmFkZENsYXNzKCJ1aS13aWRnZXQiKTpjLmFkZENsYXNzKCJmYy11bnRoZW1lZCIpLFU9YSgiPGRpdiBjbGFzcz0nZmMtdmlldy1jb250YWluZXInLz4iKS5wcmVwZW5kVG8oYyksUz1OLmhlYWRlcj1uZXcgTWEoTixPKSxUPVMucmVuZGVyKCksVCYmYy5wcmVwZW5kKFQpLGkoTy5kZWZhdWx0VmlldyksTy5oYW5kbGVXaW5kb3dSZXNpemUmJihZPWRhKG0sTy53aW5kb3dSZXNpemVEZWxheSksYSh3aW5kb3cpLnJlc2l6ZShZKSl9ZnVuY3Rpb24gZygpe1cmJlcucmVtb3ZlRWxlbWVudCgpLFMucmVtb3ZlRWxlbWVudCgpLFUucmVtb3ZlKCksYy5yZW1vdmVDbGFzcygiZmMgZmMtbHRyIGZjLXJ0bCBmYy11bnRoZW1lZCB1aS13aWRnZXQiKSxZJiZhKHdpbmRvdykudW5iaW5kKCJyZXNpemUiLFkpfWZ1bmN0aW9uIGgoKXtyZXR1cm4gYy5pcygiOnZpc2libGUiKX1mdW5jdGlvbiBpKGIpe2NhKyssVyYmYiYmVy50eXBlIT09YiYmKFMuZGVhY3RpdmF0ZUJ1dHRvbihXLnR5cGUpLEgoKSxXLnJlbW92ZUVsZW1lbnQoKSxXPU4udmlldz1udWxsKSwhVyYmYiYmKFc9Ti52aWV3PWJhW2JdfHwoYmFbYl09Ti5pbnN0YW50aWF0ZVZpZXcoYikpLFcuc2V0RWxlbWVudChhKCI8ZGl2IGNsYXNzPSdmYy12aWV3IGZjLSIrYisiLXZpZXcnIC8+IikuYXBwZW5kVG8oVSkpLFMuYWN0aXZhdGVCdXR0b24oYikpLFcmJihaPVcubWFzc2FnZUN1cnJlbnREYXRlKFopLFcuZGlzcGxheWluZyYmWi5pc1dpdGhpbihXLmludGVydmFsU3RhcnQsVy5pbnRlcnZhbEVuZCl8fGgoKSYmKFcuZGlzcGxheShaKSxJKCksdSgpLHYoKSxxKCkpKSxJKCksY2EtLX1mdW5jdGlvbiBqKGEpe3JldHVybiBoKCk/KGEmJmwoKSxjYSsrLFcudXBkYXRlU2l6ZSghMCksY2EtLSwhMCk6dm9pZCAwfWZ1bmN0aW9uIGsoKXtoKCkmJmwoKX1mdW5jdGlvbiBsKCl7WD0ibnVtYmVyIj09dHlwZW9mIE8uY29udGVudEhlaWdodD9PLmNvbnRlbnRIZWlnaHQ6Im51bWJlciI9PXR5cGVvZiBPLmhlaWdodD9PLmhlaWdodC0oVD9ULm91dGVySGVpZ2h0KCEwKTowKTpNYXRoLnJvdW5kKFUud2lkdGgoKS9NYXRoLm1heChPLmFzcGVjdFJhdGlvLC41KSl9ZnVuY3Rpb24gbShhKXshY2EmJmEudGFyZ2V0PT09d2luZG93JiZXLnN0YXJ0JiZqKCEwKSYmVy50cmlnZ2VyKCJ3aW5kb3dSZXNpemUiLGFhKX1mdW5jdGlvbiBuKCl7cCgpLHIoKX1mdW5jdGlvbiBvKCl7aCgpJiYoSCgpLFcuZGlzcGxheUV2ZW50cyhlYSksSSgpKX1mdW5jdGlvbiBwKCl7SCgpLFcuY2xlYXJFdmVudHMoKSxJKCl9ZnVuY3Rpb24gcSgpeyFPLmxhenlGZXRjaGluZ3x8JChXLnN0YXJ0LFcuZW5kKT9yKCk6bygpfWZ1bmN0aW9uIHIoKXtfKFcuc3RhcnQsVy5lbmQpfWZ1bmN0aW9uIHMoYSl7ZWE9YSxvKCl9ZnVuY3Rpb24gdCgpe28oKX1mdW5jdGlvbiB1KCl7Uy51cGRhdGVUaXRsZShXLnRpdGxlKX1mdW5jdGlvbiB2KCl7dmFyIGE9Ti5nZXROb3coKTthLmlzV2l0aGluKFcuaW50ZXJ2YWxTdGFydCxXLmludGVydmFsRW5kKT9TLmRpc2FibGVCdXR0b24oInRvZGF5Iik6Uy5lbmFibGVCdXR0b24oInRvZGF5Iil9ZnVuY3Rpb24gdyhhLGIpe1cuc2VsZWN0KE4uYnVpbGRTZWxlY3RTcGFuLmFwcGx5KE4sYXJndW1lbnRzKSl9ZnVuY3Rpb24geCgpe1cmJlcudW5zZWxlY3QoKX1mdW5jdGlvbiB5KCl7Wj1XLmNvbXB1dGVQcmV2RGF0ZShaKSxpKCl9ZnVuY3Rpb24geigpe1o9Vy5jb21wdXRlTmV4dERhdGUoWiksaSgpfWZ1bmN0aW9uIEEoKXtaLmFkZCgtMSwieWVhcnMiKSxpKCl9ZnVuY3Rpb24gQigpe1ouYWRkKDEsInllYXJzIiksaSgpfWZ1bmN0aW9uIEMoKXtaPU4uZ2V0Tm93KCksaSgpfWZ1bmN0aW9uIEQoYSl7Wj1OLm1vbWVudChhKS5zdHJpcFpvbmUoKSxpKCl9ZnVuY3Rpb24gRShhKXtaLmFkZChiLmR1cmF0aW9uKGEpKSxpKCl9ZnVuY3Rpb24gRihhLGIpe3ZhciBjO2I9Ynx8ImRheSIsYz1OLmdldFZpZXdTcGVjKGIpfHxOLmdldFVuaXRWaWV3U3BlYyhiKSxaPWEuY2xvbmUoKSxpKGM/Yy50eXBlOm51bGwpfWZ1bmN0aW9uIEcoKXtyZXR1cm4gTi5hcHBseVRpbWV6b25lKFopfWZ1bmN0aW9uIEgoKXtVLmNzcyh7d2lkdGg6IjEwMCUiLGhlaWdodDpVLmhlaWdodCgpLG92ZXJmbG93OiJoaWRkZW4ifSl9ZnVuY3Rpb24gSSgpe1UuY3NzKHt3aWR0aDoiIixoZWlnaHQ6IiIsb3ZlcmZsb3c6IiJ9KX1mdW5jdGlvbiBKKCl7cmV0dXJuIE59ZnVuY3Rpb24gSygpe3JldHVybiBXfWZ1bmN0aW9uIEwoYSxiKXtyZXR1cm4gdm9pZCAwPT09Yj9PW2FdOnZvaWQoKCJoZWlnaHQiPT1hfHwiY29udGVudEhlaWdodCI9PWF8fCJhc3BlY3RSYXRpbyI9PWEpJiYoT1thXT1iLGooITApKSl9ZnVuY3Rpb24gTShhLGIpe3ZhciBjPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywyKTtyZXR1cm4gYj1ifHxhYSx0aGlzLnRyaWdnZXJXaXRoKGEsYixjKSxPW2FdP09bYV0uYXBwbHkoYixjKTp2b2lkIDB9dmFyIE49dGhpcztOLmluaXRPcHRpb25zKGR8fHt9KTt2YXIgTz10aGlzLm9wdGlvbnM7Ti5yZW5kZXI9ZSxOLmRlc3Ryb3k9ZyxOLnJlZmV0Y2hFdmVudHM9bixOLnJlcG9ydEV2ZW50cz1zLE4ucmVwb3J0RXZlbnRDaGFuZ2U9dCxOLnJlcmVuZGVyRXZlbnRzPW8sTi5jaGFuZ2VWaWV3PWksTi5zZWxlY3Q9dyxOLnVuc2VsZWN0PXgsTi5wcmV2PXksTi5uZXh0PXosTi5wcmV2WWVhcj1BLE4ubmV4dFllYXI9QixOLnRvZGF5PUMsTi5nb3RvRGF0ZT1ELE4uaW5jcmVtZW50RGF0ZT1FLE4uem9vbVRvPUYsTi5nZXREYXRlPUcsTi5nZXRDYWxlbmRhcj1KLE4uZ2V0Vmlldz1LLE4ub3B0aW9uPUwsTi50cmlnZ2VyPU07dmFyIFA9UihMYShPLmxhbmcpKTtpZihPLm1vbnRoTmFtZXMmJihQLl9tb250aHM9Ty5tb250aE5hbWVzKSxPLm1vbnRoTmFtZXNTaG9ydCYmKFAuX21vbnRoc1Nob3J0PU8ubW9udGhOYW1lc1Nob3J0KSxPLmRheU5hbWVzJiYoUC5fd2Vla2RheXM9Ty5kYXlOYW1lcyksTy5kYXlOYW1lc1Nob3J0JiYoUC5fd2Vla2RheXNTaG9ydD1PLmRheU5hbWVzU2hvcnQpLG51bGwhPU8uZmlyc3REYXkpe3ZhciBRPVIoUC5fd2Vlayk7US5kb3c9Ty5maXJzdERheSxQLl93ZWVrPVF9UC5fZnVsbENhbGVuZGFyX3dlZWtDYWxjPWZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBhP2E6ImxvY2FsIj09PWE/YToiaXNvIj09PWF8fCJJU08iPT09YT8iSVNPIjp2b2lkIDB9KE8ud2Vla051bWJlckNhbGN1bGF0aW9uKSxOLmRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uPWIuZHVyYXRpb24oTy5kZWZhdWx0QWxsRGF5RXZlbnREdXJhdGlvbiksTi5kZWZhdWx0VGltZWRFdmVudER1cmF0aW9uPWIuZHVyYXRpb24oTy5kZWZhdWx0VGltZWRFdmVudER1cmF0aW9uKSxOLm1vbWVudD1mdW5jdGlvbigpe3ZhciBhO3JldHVybiJsb2NhbCI9PT1PLnRpbWV6b25lPyhhPVBhLm1vbWVudC5hcHBseShudWxsLGFyZ3VtZW50cyksYS5oYXNUaW1lKCkmJmEubG9jYWwoKSk6YT0iVVRDIj09PU8udGltZXpvbmU/UGEubW9tZW50LnV0Yy5hcHBseShudWxsLGFyZ3VtZW50cyk6UGEubW9tZW50LnBhcnNlWm9uZS5hcHBseShudWxsLGFyZ3VtZW50cyksIl9sb2NhbGUiaW4gYT9hLl9sb2NhbGU9UDphLl9sYW5nPVAsYX0sTi5nZXRJc0FtYmlnVGltZXpvbmU9ZnVuY3Rpb24oKXtyZXR1cm4ibG9jYWwiIT09Ty50aW1lem9uZSYmIlVUQyIhPT1PLnRpbWV6b25lfSxOLmFwcGx5VGltZXpvbmU9ZnVuY3Rpb24oYSl7aWYoIWEuaGFzVGltZSgpKXJldHVybiBhLmNsb25lKCk7dmFyIGIsYz1OLm1vbWVudChhLnRvQXJyYXkoKSksZD1hLnRpbWUoKS1jLnRpbWUoKTtyZXR1cm4gZCYmKGI9Yy5jbG9uZSgpLmFkZChkKSxhLnRpbWUoKS1iLnRpbWUoKT09PTAmJihjPWIpKSxjfSxOLmdldE5vdz1mdW5jdGlvbigpe3ZhciBhPU8ubm93O3JldHVybiJmdW5jdGlvbiI9PXR5cGVvZiBhJiYoYT1hKCkpLE4ubW9tZW50KGEpLnN0cmlwWm9uZSgpfSxOLmdldEV2ZW50RW5kPWZ1bmN0aW9uKGEpe3JldHVybiBhLmVuZD9hLmVuZC5jbG9uZSgpOk4uZ2V0RGVmYXVsdEV2ZW50RW5kKGEuYWxsRGF5LGEuc3RhcnQpfSxOLmdldERlZmF1bHRFdmVudEVuZD1mdW5jdGlvbihhLGIpe3ZhciBjPWIuY2xvbmUoKTtyZXR1cm4gYT9jLnN0cmlwVGltZSgpLmFkZChOLmRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uKTpjLmFkZChOLmRlZmF1bHRUaW1lZEV2ZW50RHVyYXRpb24pLE4uZ2V0SXNBbWJpZ1RpbWV6b25lKCkmJmMuc3RyaXBab25lKCksY30sTi5odW1hbml6ZUR1cmF0aW9uPWZ1bmN0aW9uKGEpe3JldHVybihhLmxvY2FsZXx8YS5sYW5nKS5jYWxsKGEsTy5sYW5nKS5odW1hbml6ZSgpfSxOYS5jYWxsKE4sTyk7dmFyIFMsVCxVLFYsVyxYLFksWiwkPU4uaXNGZXRjaE5lZWRlZCxfPU4uZmV0Y2hFdmVudHMsYWE9Y1swXSxiYT17fSxjYT0wLGVhPVtdO1o9bnVsbCE9Ty5kZWZhdWx0RGF0ZT9OLm1vbWVudChPLmRlZmF1bHREYXRlKS5zdHJpcFpvbmUoKTpOLmdldE5vdygpLE4uZ2V0U3VnZ2VzdGVkVmlld0hlaWdodD1mdW5jdGlvbigpe3JldHVybiB2b2lkIDA9PT1YJiZrKCksWH0sTi5pc0hlaWdodEF1dG89ZnVuY3Rpb24oKXtyZXR1cm4iYXV0byI9PT1PLmNvbnRlbnRIZWlnaHR8fCJhdXRvIj09PU8uaGVpZ2h0fSxOLmZyZWV6ZUNvbnRlbnRIZWlnaHQ9SCxOLnVuZnJlZXplQ29udGVudEhlaWdodD1JLE4uaW5pdGlhbGl6ZSgpfWZ1bmN0aW9uIEthKGIpe2EuZWFjaCh0YixmdW5jdGlvbihhLGMpe251bGw9PWJbYV0mJihiW2FdPWMoYikpfSl9ZnVuY3Rpb24gTGEoYSl7dmFyIGM9Yi5sb2NhbGVEYXRhfHxiLmxhbmdEYXRhO3JldHVybiBjLmNhbGwoYixhKXx8Yy5jYWxsKGIsImVuIil9ZnVuY3Rpb24gTWEoYixjKXtmdW5jdGlvbiBkKCl7dmFyIGI9Yy5oZWFkZXI7cmV0dXJuIG49Yy50aGVtZT8idWkiOiJmYyIsYj9vPWEoIjxkaXYgY2xhc3M9J2ZjLXRvb2xiYXInLz4iKS5hcHBlbmQoZigibGVmdCIpKS5hcHBlbmQoZigicmlnaHQiKSkuYXBwZW5kKGYoImNlbnRlciIpKS5hcHBlbmQoJzxkaXYgY2xhc3M9ImZjLWNsZWFyIi8+Jyk6dm9pZCAwfWZ1bmN0aW9uIGUoKXtvLnJlbW92ZSgpLG89YSgpfWZ1bmN0aW9uIGYoZCl7dmFyIGU9YSgnPGRpdiBjbGFzcz0iZmMtJytkKyciLz4nKSxmPWMuaGVhZGVyW2RdO3JldHVybiBmJiZhLmVhY2goZi5zcGxpdCgiICIpLGZ1bmN0aW9uKGQpe3ZhciBmLGc9YSgpLGg9ITA7YS5lYWNoKHRoaXMuc3BsaXQoIiwiKSxmdW5jdGlvbihkLGUpe3ZhciBmLGksaixrLGwsbSxvLHEscixzOyJ0aXRsZSI9PWU/KGc9Zy5hZGQoYSgiPGgyPiZuYnNwOzwvaDI+IikpLGg9ITEpOigoZj0oYi5vcHRpb25zLmN1c3RvbUJ1dHRvbnN8fHt9KVtlXSk/KGo9ZnVuY3Rpb24oYSl7Zi5jbGljayYmZi5jbGljay5jYWxsKHNbMF0sYSl9LGs9IiIsbD1mLnRleHQpOihpPWIuZ2V0Vmlld1NwZWMoZSkpPyhqPWZ1bmN0aW9uKCl7Yi5jaGFuZ2VWaWV3KGUpfSxwLnB1c2goZSksaz1pLmJ1dHRvblRleHRPdmVycmlkZSxsPWkuYnV0dG9uVGV4dERlZmF1bHQpOmJbZV0mJihqPWZ1bmN0aW9uKCl7YltlXSgpfSxrPShiLm92ZXJyaWRlcy5idXR0b25UZXh0fHx7fSlbZV0sbD1jLmJ1dHRvblRleHRbZV0pLGomJihtPWY/Zi50aGVtZUljb246Yy50aGVtZUJ1dHRvbkljb25zW2VdLG89Zj9mLmljb246Yy5idXR0b25JY29uc1tlXSxxPWs/WShrKTptJiZjLnRoZW1lPyI8c3BhbiBjbGFzcz0ndWktaWNvbiB1aS1pY29uLSIrbSsiJz48L3NwYW4+IjpvJiYhYy50aGVtZT8iPHNwYW4gY2xhc3M9J2ZjLWljb24gZmMtaWNvbi0iK28rIic+PC9zcGFuPiI6WShsKSxyPVsiZmMtIitlKyItYnV0dG9uIixuKyItYnV0dG9uIixuKyItc3RhdGUtZGVmYXVsdCJdLHM9YSgnPGJ1dHRvbiB0eXBlPSJidXR0b24iIGNsYXNzPSInK3Iuam9pbigiICIpKyciPicrcSsiPC9idXR0b24+IikuY2xpY2soZnVuY3Rpb24oYSl7cy5oYXNDbGFzcyhuKyItc3RhdGUtZGlzYWJsZWQiKXx8KGooYSksKHMuaGFzQ2xhc3MobisiLXN0YXRlLWFjdGl2ZSIpfHxzLmhhc0NsYXNzKG4rIi1zdGF0ZS1kaXNhYmxlZCIpKSYmcy5yZW1vdmVDbGFzcyhuKyItc3RhdGUtaG92ZXIiKSl9KS5tb3VzZWRvd24oZnVuY3Rpb24oKXtzLm5vdCgiLiIrbisiLXN0YXRlLWFjdGl2ZSIpLm5vdCgiLiIrbisiLXN0YXRlLWRpc2FibGVkIikuYWRkQ2xhc3MobisiLXN0YXRlLWRvd24iKX0pLm1vdXNldXAoZnVuY3Rpb24oKXtzLnJlbW92ZUNsYXNzKG4rIi1zdGF0ZS1kb3duIil9KS5ob3ZlcihmdW5jdGlvbigpe3Mubm90KCIuIituKyItc3RhdGUtYWN0aXZlIikubm90KCIuIituKyItc3RhdGUtZGlzYWJsZWQiKS5hZGRDbGFzcyhuKyItc3RhdGUtaG92ZXIiKX0sZnVuY3Rpb24oKXtzLnJlbW92ZUNsYXNzKG4rIi1zdGF0ZS1ob3ZlciIpLnJlbW92ZUNsYXNzKG4rIi1zdGF0ZS1kb3duIil9KSxnPWcuYWRkKHMpKSl9KSxoJiZnLmZpcnN0KCkuYWRkQ2xhc3MobisiLWNvcm5lci1sZWZ0IikuZW5kKCkubGFzdCgpLmFkZENsYXNzKG4rIi1jb3JuZXItcmlnaHQiKS5lbmQoKSxnLmxlbmd0aD4xPyhmPWEoIjxkaXYvPiIpLGgmJmYuYWRkQ2xhc3MoImZjLWJ1dHRvbi1ncm91cCIpLGYuYXBwZW5kKGcpLGUuYXBwZW5kKGYpKTplLmFwcGVuZChnKX0pLGV9ZnVuY3Rpb24gZyhhKXtvLmZpbmQoImgyIikudGV4dChhKX1mdW5jdGlvbiBoKGEpe28uZmluZCgiLmZjLSIrYSsiLWJ1dHRvbiIpLmFkZENsYXNzKG4rIi1zdGF0ZS1hY3RpdmUiKX1mdW5jdGlvbiBpKGEpe28uZmluZCgiLmZjLSIrYSsiLWJ1dHRvbiIpLnJlbW92ZUNsYXNzKG4rIi1zdGF0ZS1hY3RpdmUiKX1mdW5jdGlvbiBqKGEpe28uZmluZCgiLmZjLSIrYSsiLWJ1dHRvbiIpLmF0dHIoImRpc2FibGVkIiwiZGlzYWJsZWQiKS5hZGRDbGFzcyhuKyItc3RhdGUtZGlzYWJsZWQiKX1mdW5jdGlvbiBrKGEpe28uZmluZCgiLmZjLSIrYSsiLWJ1dHRvbiIpLnJlbW92ZUF0dHIoImRpc2FibGVkIikucmVtb3ZlQ2xhc3MobisiLXN0YXRlLWRpc2FibGVkIil9ZnVuY3Rpb24gbCgpe3JldHVybiBwfXZhciBtPXRoaXM7bS5yZW5kZXI9ZCxtLnJlbW92ZUVsZW1lbnQ9ZSxtLnVwZGF0ZVRpdGxlPWcsbS5hY3RpdmF0ZUJ1dHRvbj1oLG0uZGVhY3RpdmF0ZUJ1dHRvbj1pLG0uZGlzYWJsZUJ1dHRvbj1qLG0uZW5hYmxlQnV0dG9uPWssbS5nZXRWaWV3c1dpdGhCdXR0b25zPWw7dmFyIG4sbz1hKCkscD1bXX1mdW5jdGlvbiBOYShjKXtmdW5jdGlvbiBkKGEsYil7cmV0dXJuIUx8fEw+YXx8Yj5NfWZ1bmN0aW9uIGUoYSxiKXtMPWEsTT1iLFQ9W107dmFyIGM9KytSLGQ9US5sZW5ndGg7Uz1kO2Zvcih2YXIgZT0wO2Q+ZTtlKyspZihRW2VdLGMpfWZ1bmN0aW9uIGYoYixjKXtnKGIsZnVuY3Rpb24oZCl7dmFyIGUsZixnLGg9YS5pc0FycmF5KGIuZXZlbnRzKTtpZihjPT1SKXtpZihkKWZvcihlPTA7ZTxkLmxlbmd0aDtlKyspZj1kW2VdLGc9aD9mOnMoZixiKSxnJiZULnB1c2guYXBwbHkoVCx3KGcpKTtTLS0sU3x8TihUKX19KX1mdW5jdGlvbiBnKGIsZCl7dmFyIGUsZixoPVBhLnNvdXJjZUZldGNoZXJzO2ZvcihlPTA7ZTxoLmxlbmd0aDtlKyspe2lmKGY9aFtlXS5jYWxsKEssYixMLmNsb25lKCksTS5jbG9uZSgpLGMudGltZXpvbmUsZCksZj09PSEwKXJldHVybjtpZigib2JqZWN0Ij09dHlwZW9mIGYpcmV0dXJuIHZvaWQgZyhmLGQpfXZhciBpPWIuZXZlbnRzO2lmKGkpYS5pc0Z1bmN0aW9uKGkpPyhLLnB1c2hMb2FkaW5nKCksaS5jYWxsKEssTC5jbG9uZSgpLE0uY2xvbmUoKSxjLnRpbWV6b25lLGZ1bmN0aW9uKGEpe2QoYSksSy5wb3BMb2FkaW5nKCl9KSk6YS5pc0FycmF5KGkpP2QoaSk6ZCgpO2Vsc2V7dmFyIGo9Yi51cmw7aWYoail7dmFyIGssbD1iLnN1Y2Nlc3MsbT1iLmVycm9yLG49Yi5jb21wbGV0ZTtrPWEuaXNGdW5jdGlvbihiLmRhdGEpP2IuZGF0YSgpOmIuZGF0YTt2YXIgbz1hLmV4dGVuZCh7fSxrfHx7fSkscD1YKGIuc3RhcnRQYXJhbSxjLnN0YXJ0UGFyYW0pLHE9WChiLmVuZFBhcmFtLGMuZW5kUGFyYW0pLHI9WChiLnRpbWV6b25lUGFyYW0sYy50aW1lem9uZVBhcmFtKTtwJiYob1twXT1MLmZvcm1hdCgpKSxxJiYob1txXT1NLmZvcm1hdCgpKSxjLnRpbWV6b25lJiYibG9jYWwiIT1jLnRpbWV6b25lJiYob1tyXT1jLnRpbWV6b25lKSxLLnB1c2hMb2FkaW5nKCksYS5hamF4KGEuZXh0ZW5kKHt9LHViLGIse2RhdGE6byxzdWNjZXNzOmZ1bmN0aW9uKGIpe2I9Ynx8W107dmFyIGM9VyhsLHRoaXMsYXJndW1lbnRzKTthLmlzQXJyYXkoYykmJihiPWMpLGQoYil9LGVycm9yOmZ1bmN0aW9uKCl7VyhtLHRoaXMsYXJndW1lbnRzKSxkKCl9LGNvbXBsZXRlOmZ1bmN0aW9uKCl7VyhuLHRoaXMsYXJndW1lbnRzKSxLLnBvcExvYWRpbmcoKX19KSl9ZWxzZSBkKCl9fWZ1bmN0aW9uIGgoYSl7dmFyIGI9aShhKTtiJiYoUS5wdXNoKGIpLFMrKyxmKGIsUikpfWZ1bmN0aW9uIGkoYil7dmFyIGMsZCxlPVBhLnNvdXJjZU5vcm1hbGl6ZXJzO2lmKGEuaXNGdW5jdGlvbihiKXx8YS5pc0FycmF5KGIpP2M9e2V2ZW50czpifToic3RyaW5nIj09dHlwZW9mIGI/Yz17dXJsOmJ9OiJvYmplY3QiPT10eXBlb2YgYiYmKGM9YS5leHRlbmQoe30sYikpLGMpe2ZvcihjLmNsYXNzTmFtZT8ic3RyaW5nIj09dHlwZW9mIGMuY2xhc3NOYW1lJiYoYy5jbGFzc05hbWU9Yy5jbGFzc05hbWUuc3BsaXQoL1xzKy8pKTpjLmNsYXNzTmFtZT1bXSxhLmlzQXJyYXkoYy5ldmVudHMpJiYoYy5vcmlnQXJyYXk9Yy5ldmVudHMsYy5ldmVudHM9YS5tYXAoYy5ldmVudHMsZnVuY3Rpb24oYSl7cmV0dXJuIHMoYSxjKX0pKSxkPTA7ZDxlLmxlbmd0aDtkKyspZVtkXS5jYWxsKEssYyk7cmV0dXJuIGN9fWZ1bmN0aW9uIGooYil7UT1hLmdyZXAoUSxmdW5jdGlvbihhKXtyZXR1cm4hayhhLGIpfSksVD1hLmdyZXAoVCxmdW5jdGlvbihhKXtyZXR1cm4hayhhLnNvdXJjZSxiKX0pLE4oVCl9ZnVuY3Rpb24gayhhLGIpe3JldHVybiBhJiZiJiZsKGEpPT1sKGIpfWZ1bmN0aW9uIGwoYSl7cmV0dXJuKCJvYmplY3QiPT10eXBlb2YgYT9hLm9yaWdBcnJheXx8YS5nb29nbGVDYWxlbmRhcklkfHxhLnVybHx8YS5ldmVudHM6bnVsbCl8fGF9ZnVuY3Rpb24gbShhKXthLnN0YXJ0PUsubW9tZW50KGEuc3RhcnQpLGEuZW5kP2EuZW5kPUsubW9tZW50KGEuZW5kKTphLmVuZD1udWxsLHgoYSxuKGEpKSxOKFQpfWZ1bmN0aW9uIG4oYil7dmFyIGM9e307cmV0dXJuIGEuZWFjaChiLGZ1bmN0aW9uKGEsYil7byhhKSYmdm9pZCAwIT09YiYmVihiKSYmKGNbYV09Yil9KSxjfWZ1bmN0aW9uIG8oYSl7cmV0dXJuIS9eX3xeKGlkfGFsbERheXxzdGFydHxlbmQpJC8udGVzdChhKX1mdW5jdGlvbiBwKGEsYil7dmFyIGMsZCxlLGY9cyhhKTtpZihmKXtmb3IoYz13KGYpLGQ9MDtkPGMubGVuZ3RoO2QrKyllPWNbZF0sZS5zb3VyY2V8fChiJiYoTy5ldmVudHMucHVzaChlKSxlLnNvdXJjZT1PKSxULnB1c2goZSkpO3JldHVybiBOKFQpLGN9cmV0dXJuW119ZnVuY3Rpb24gcShiKXt2YXIgYyxkO2ZvcihudWxsPT1iP2I9ZnVuY3Rpb24oKXtyZXR1cm4hMH06YS5pc0Z1bmN0aW9uKGIpfHwoYz1iKyIiLGI9ZnVuY3Rpb24oYSl7cmV0dXJuIGEuX2lkPT1jfSksVD1hLmdyZXAoVCxiLCEwKSxkPTA7ZDxRLmxlbmd0aDtkKyspYS5pc0FycmF5KFFbZF0uZXZlbnRzKSYmKFFbZF0uZXZlbnRzPWEuZ3JlcChRW2RdLmV2ZW50cyxiLCEwKSk7TihUKX1mdW5jdGlvbiByKGIpe3JldHVybiBhLmlzRnVuY3Rpb24oYik/YS5ncmVwKFQsYik6bnVsbCE9Yj8oYis9IiIsYS5ncmVwKFQsZnVuY3Rpb24oYSl7cmV0dXJuIGEuX2lkPT1ifSkpOlR9ZnVuY3Rpb24gcyhkLGUpe3ZhciBmLGcsaCxpPXt9O2lmKGMuZXZlbnREYXRhVHJhbnNmb3JtJiYoZD1jLmV2ZW50RGF0YVRyYW5zZm9ybShkKSksZSYmZS5ldmVudERhdGFUcmFuc2Zvcm0mJihkPWUuZXZlbnREYXRhVHJhbnNmb3JtKGQpKSxhLmV4dGVuZChpLGQpLGUmJihpLnNvdXJjZT1lKSxpLl9pZD1kLl9pZHx8KHZvaWQgMD09PWQuaWQ/Il9mYyIrdmIrKzpkLmlkKyIiKSxkLmNsYXNzTmFtZT8ic3RyaW5nIj09dHlwZW9mIGQuY2xhc3NOYW1lP2kuY2xhc3NOYW1lPWQuY2xhc3NOYW1lLnNwbGl0KC9ccysvKTppLmNsYXNzTmFtZT1kLmNsYXNzTmFtZTppLmNsYXNzTmFtZT1bXSxmPWQuc3RhcnR8fGQuZGF0ZSxnPWQuZW5kLFAoZikmJihmPWIuZHVyYXRpb24oZikpLFAoZykmJihnPWIuZHVyYXRpb24oZykpLGQuZG93fHxiLmlzRHVyYXRpb24oZil8fGIuaXNEdXJhdGlvbihnKSlpLnN0YXJ0PWY/Yi5kdXJhdGlvbihmKTpudWxsLGkuZW5kPWc/Yi5kdXJhdGlvbihnKTpudWxsLGkuX3JlY3VycmluZz0hMDtlbHNle2lmKGYmJihmPUsubW9tZW50KGYpLCFmLmlzVmFsaWQoKSkpcmV0dXJuITE7ZyYmKGc9Sy5tb21lbnQoZyksZy5pc1ZhbGlkKCl8fChnPW51bGwpKSxoPWQuYWxsRGF5LHZvaWQgMD09PWgmJihoPVgoZT9lLmFsbERheURlZmF1bHQ6dm9pZCAwLGMuYWxsRGF5RGVmYXVsdCkpLHQoZixnLGgsaSl9cmV0dXJuIGl9ZnVuY3Rpb24gdChhLGIsYyxkKXtkLnN0YXJ0PWEsZC5lbmQ9YixkLmFsbERheT1jLHUoZCksT2EoZCl9ZnVuY3Rpb24gdShhKXt2KGEpLGEuZW5kJiYhYS5lbmQuaXNBZnRlcihhLnN0YXJ0KSYmKGEuZW5kPW51bGwpLGEuZW5kfHwoYy5mb3JjZUV2ZW50RHVyYXRpb24/YS5lbmQ9Sy5nZXREZWZhdWx0RXZlbnRFbmQoYS5hbGxEYXksYS5zdGFydCk6YS5lbmQ9bnVsbCl9ZnVuY3Rpb24gdihhKXtudWxsPT1hLmFsbERheSYmKGEuYWxsRGF5PSEoYS5zdGFydC5oYXNUaW1lKCl8fGEuZW5kJiZhLmVuZC5oYXNUaW1lKCkpKSxhLmFsbERheT8oYS5zdGFydC5zdHJpcFRpbWUoKSxhLmVuZCYmYS5lbmQuc3RyaXBUaW1lKCkpOihhLnN0YXJ0Lmhhc1RpbWUoKXx8KGEuc3RhcnQ9Sy5hcHBseVRpbWV6b25lKGEuc3RhcnQudGltZSgwKSkpLGEuZW5kJiYhYS5lbmQuaGFzVGltZSgpJiYoYS5lbmQ9Sy5hcHBseVRpbWV6b25lKGEuZW5kLnRpbWUoMCkpKSl9ZnVuY3Rpb24gdyhiLGMsZCl7dmFyIGUsZixnLGgsaSxqLGssbCxtLG49W107aWYoYz1jfHxMLGQ9ZHx8TSxiKWlmKGIuX3JlY3VycmluZyl7aWYoZj1iLmRvdylmb3IoZT17fSxnPTA7ZzxmLmxlbmd0aDtnKyspZVtmW2ddXT0hMDtmb3IoaD1jLmNsb25lKCkuc3RyaXBUaW1lKCk7aC5pc0JlZm9yZShkKTspKCFlfHxlW2guZGF5KCldKSYmKGk9Yi5zdGFydCxqPWIuZW5kLGs9aC5jbG9uZSgpLGw9bnVsbCxpJiYoaz1rLnRpbWUoaSkpLGomJihsPWguY2xvbmUoKS50aW1lKGopKSxtPWEuZXh0ZW5kKHt9LGIpLHQoayxsLCFpJiYhaixtKSxuLnB1c2gobSkpLGguYWRkKDEsImRheXMiKX1lbHNlIG4ucHVzaChiKTtyZXR1cm4gbn1mdW5jdGlvbiB4KGIsYyxkKXtmdW5jdGlvbiBlKGEsYil7cmV0dXJuIGQ/SChhLGIsZCk6Yy5hbGxEYXk/RyhhLGIpOkYoYSxiKX12YXIgZixnLGgsaSxqLGssbD17fTtyZXR1cm4gYz1jfHx7fSxjLnN0YXJ0fHwoYy5zdGFydD1iLnN0YXJ0LmNsb25lKCkpLHZvaWQgMD09PWMuZW5kJiYoYy5lbmQ9Yi5lbmQ/Yi5lbmQuY2xvbmUoKTpudWxsKSxudWxsPT1jLmFsbERheSYmKGMuYWxsRGF5PWIuYWxsRGF5KSx1KGMpLGY9e3N0YXJ0OmIuX3N0YXJ0LmNsb25lKCksZW5kOmIuX2VuZD9iLl9lbmQuY2xvbmUoKTpLLmdldERlZmF1bHRFdmVudEVuZChiLl9hbGxEYXksYi5fc3RhcnQpLGFsbERheTpjLmFsbERheX0sdShmKSxnPW51bGwhPT1iLl9lbmQmJm51bGw9PT1jLmVuZCxoPWUoYy5zdGFydCxmLnN0YXJ0KSxjLmVuZD8oaT1lKGMuZW5kLGYuZW5kKSxqPWkuc3VidHJhY3QoaCkpOmo9bnVsbCxhLmVhY2goYyxmdW5jdGlvbihhLGIpe28oYSkmJnZvaWQgMCE9PWImJihsW2FdPWIpfSksaz15KHIoYi5faWQpLGcsYy5hbGxEYXksaCxqLGwpLHtkYXRlRGVsdGE6aCxkdXJhdGlvbkRlbHRhOmosdW5kbzprfX1mdW5jdGlvbiB5KGIsYyxkLGUsZixnKXt2YXIgaD1LLmdldElzQW1iaWdUaW1lem9uZSgpLGk9W107cmV0dXJuIGUmJiFlLnZhbHVlT2YoKSYmKGU9bnVsbCksZiYmIWYudmFsdWVPZigpJiYoZj1udWxsKSxhLmVhY2goYixmdW5jdGlvbihiLGope3ZhciBrLGw7az17c3RhcnQ6ai5zdGFydC5jbG9uZSgpLGVuZDpqLmVuZD9qLmVuZC5jbG9uZSgpOm51bGwsYWxsRGF5OmouYWxsRGF5fSxhLmVhY2goZyxmdW5jdGlvbihhKXtrW2FdPWpbYV19KSxsPXtzdGFydDpqLl9zdGFydCxlbmQ6ai5fZW5kLGFsbERheTpkfSx1KGwpLGM/bC5lbmQ9bnVsbDpmJiYhbC5lbmQmJihsLmVuZD1LLmdldERlZmF1bHRFdmVudEVuZChsLmFsbERheSxsLnN0YXJ0KSksZSYmKGwuc3RhcnQuYWRkKGUpLGwuZW5kJiZsLmVuZC5hZGQoZSkpLGYmJmwuZW5kLmFkZChmKSxoJiYhbC5hbGxEYXkmJihlfHxmKSYmKGwuc3RhcnQuc3RyaXBab25lKCksbC5lbmQmJmwuZW5kLnN0cmlwWm9uZSgpKSxhLmV4dGVuZChqLGcsbCksT2EoaiksaS5wdXNoKGZ1bmN0aW9uKCl7YS5leHRlbmQoaixrKSxPYShqKX0pfSksZnVuY3Rpb24oKXtmb3IodmFyIGE9MDthPGkubGVuZ3RoO2ErKylpW2FdKCl9fWZ1bmN0aW9uIHooYil7dmFyIGQsZT1jLmJ1c2luZXNzSG91cnMsZj17Y2xhc3NOYW1lOiJmYy1ub25idXNpbmVzcyIsc3RhcnQ6IjA5OjAwIixlbmQ6IjE3OjAwIixkb3c6WzEsMiwzLDQsNV0scmVuZGVyaW5nOiJpbnZlcnNlLWJhY2tncm91bmQifSxnPUsuZ2V0VmlldygpO3JldHVybiBlJiYoZD1hLmV4dGVuZCh7fSxmLCJvYmplY3QiPT10eXBlb2YgZT9lOnt9KSksZD8oYiYmKGQuc3RhcnQ9bnVsbCxkLmVuZD1udWxsKSx3KHMoZCksZy5zdGFydCxnLmVuZCkpOltdfWZ1bmN0aW9uIEEoYSxiKXt2YXIgZD1iLnNvdXJjZXx8e30sZT1YKGIuY29uc3RyYWludCxkLmNvbnN0cmFpbnQsYy5ldmVudENvbnN0cmFpbnQpLGY9WChiLm92ZXJsYXAsZC5vdmVybGFwLGMuZXZlbnRPdmVybGFwKTtyZXR1cm4gRChhLGUsZixiKX1mdW5jdGlvbiBCKGIsYyxkKXt2YXIgZSxmO3JldHVybiBkJiYoZT1hLmV4dGVuZCh7fSxkLGMpLGY9dyhzKGUpKVswXSksZj9BKGIsZik6QyhiKX1mdW5jdGlvbiBDKGEpe3JldHVybiBEKGEsYy5zZWxlY3RDb25zdHJhaW50LGMuc2VsZWN0T3ZlcmxhcCl9ZnVuY3Rpb24gRChhLGIsYyxkKXt2YXIgZSxmLGcsaCxpLGo7aWYobnVsbCE9Yil7Zm9yKGU9RShiKSxmPSExLGg9MDtoPGUubGVuZ3RoO2grKylpZihJKGVbaF0sYSkpe2Y9ITA7YnJlYWt9aWYoIWYpcmV0dXJuITF9Zm9yKGc9Sy5nZXRQZWVyRXZlbnRzKGEsZCksaD0wO2g8Zy5sZW5ndGg7aCsrKWlmKGk9Z1toXSxKKGksYSkpe2lmKGM9PT0hMSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgYyYmIWMoaSxkKSlyZXR1cm4hMTtpZihkKXtpZihqPVgoaS5vdmVybGFwLChpLnNvdXJjZXx8e30pLm92ZXJsYXApLGo9PT0hMSlyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT10eXBlb2YgaiYmIWooZCxpKSlyZXR1cm4hMX19cmV0dXJuITB9ZnVuY3Rpb24gRShhKXtyZXR1cm4iYnVzaW5lc3NIb3VycyI9PT1hP3ooKToib2JqZWN0Ij09dHlwZW9mIGE/dyhzKGEpKTpyKGEpfWZ1bmN0aW9uIEkoYSxiKXt2YXIgYz1hLnN0YXJ0LmNsb25lKCkuc3RyaXBab25lKCksZD1LLmdldEV2ZW50RW5kKGEpLnN0cmlwWm9uZSgpO3JldHVybiBiLnN0YXJ0Pj1jJiZiLmVuZDw9ZH1mdW5jdGlvbiBKKGEsYil7dmFyIGM9YS5zdGFydC5jbG9uZSgpLnN0cmlwWm9uZSgpLGQ9Sy5nZXRFdmVudEVuZChhKS5zdHJpcFpvbmUoKTtyZXR1cm4gYi5zdGFydDxkJiZiLmVuZD5jfXZhciBLPXRoaXM7Sy5pc0ZldGNoTmVlZGVkPWQsSy5mZXRjaEV2ZW50cz1lLEsuYWRkRXZlbnRTb3VyY2U9aCxLLnJlbW92ZUV2ZW50U291cmNlPWosSy51cGRhdGVFdmVudD1tLEsucmVuZGVyRXZlbnQ9cCxLLnJlbW92ZUV2ZW50cz1xLEsuY2xpZW50RXZlbnRzPXIsSy5tdXRhdGVFdmVudD14LEsubm9ybWFsaXplRXZlbnREYXRlcz11LEsubm9ybWFsaXplRXZlbnRUaW1lcz12O3ZhciBMLE0sTj1LLnJlcG9ydEV2ZW50cyxPPXtldmVudHM6W119LFE9W09dLFI9MCxTPTAsVD1bXTthLmVhY2goKGMuZXZlbnRzP1tjLmV2ZW50c106W10pLmNvbmNhdChjLmV2ZW50U291cmNlc3x8W10pLGZ1bmN0aW9uKGEsYil7dmFyIGM9aShiKTtjJiZRLnB1c2goYyl9KSxLLmdldEJ1c2luZXNzSG91cnNFdmVudHM9eixLLmlzRXZlbnRTcGFuQWxsb3dlZD1BLEsuaXNFeHRlcm5hbFNwYW5BbGxvd2VkPUIsSy5pc1NlbGVjdGlvblNwYW5BbGxvd2VkPUMsSy5nZXRFdmVudENhY2hlPWZ1bmN0aW9uKCl7cmV0dXJuIFR9fWZ1bmN0aW9uIE9hKGEpe2EuX2FsbERheT1hLmFsbERheSxhLl9zdGFydD1hLnN0YXJ0LmNsb25lKCksYS5fZW5kPWEuZW5kP2EuZW5kLmNsb25lKCk6bnVsbH12YXIgUGE9YS5mdWxsQ2FsZW5kYXI9e3ZlcnNpb246IjIuNi4wIixpbnRlcm5hbEFwaVZlcnNpb246Mn0sUWE9UGEudmlld3M9e307YS5mbi5mdWxsQ2FsZW5kYXI9ZnVuY3Rpb24oYil7dmFyIGM9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLGQ9dGhpcztyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGUsZil7dmFyIGcsaD1hKGYpLGk9aC5kYXRhKCJmdWxsQ2FsZW5kYXIiKTsic3RyaW5nIj09dHlwZW9mIGI/aSYmYS5pc0Z1bmN0aW9uKGlbYl0pJiYoZz1pW2JdLmFwcGx5KGksYyksZXx8KGQ9ZyksImRlc3Ryb3kiPT09YiYmaC5yZW1vdmVEYXRhKCJmdWxsQ2FsZW5kYXIiKSk6aXx8KGk9bmV3IHBiKGgsYiksaC5kYXRhKCJmdWxsQ2FsZW5kYXIiLGkpLGkucmVuZGVyKCkpfSksZH07dmFyIFJhPVsiaGVhZGVyIiwiYnV0dG9uVGV4dCIsImJ1dHRvbkljb25zIiwidGhlbWVCdXR0b25JY29ucyJdO1BhLmludGVyc2VjdFJhbmdlcz1FLFBhLmFwcGx5QWxsPVcsUGEuZGVib3VuY2U9ZGEsUGEuaXNJbnQ9YmEsUGEuaHRtbEVzY2FwZT1ZLFBhLmNzc1RvU3RyPSQsUGEucHJveHk9Y2EsUGEuY2FwaXRhbGlzZUZpcnN0TGV0dGVyPV8sUGEuZ2V0T3V0ZXJSZWN0PW8sUGEuZ2V0Q2xpZW50UmVjdD1wLFBhLmdldENvbnRlbnRSZWN0PXEsUGEuZ2V0U2Nyb2xsYmFyV2lkdGhzPXI7dmFyIFNhPW51bGw7UGEuaW50ZXJzZWN0UmVjdHM9dyxQYS5wYXJzZUZpZWxkU3BlY3M9QSxQYS5jb21wYXJlQnlGaWVsZFNwZWNzPUIsUGEuY29tcGFyZUJ5RmllbGRTcGVjPUMsUGEuZmxleGlibGVDb21wYXJlPUQsUGEuY29tcHV0ZUludGVydmFsVW5pdD1JLFBhLmRpdmlkZVJhbmdlQnlEdXJhdGlvbj1LLFBhLmRpdmlkZUR1cmF0aW9uQnlEdXJhdGlvbj1MLFBhLm11bHRpcGx5RHVyYXRpb249TSxQYS5kdXJhdGlvbkhhc1RpbWU9Tjt2YXIgVGE9WyJzdW4iLCJtb24iLCJ0dWUiLCJ3ZWQiLCJ0aHUiLCJmcmkiLCJzYXQiXSxVYT1bInllYXIiLCJtb250aCIsIndlZWsiLCJkYXkiLCJob3VyIiwibWludXRlIiwic2Vjb25kIiwibWlsbGlzZWNvbmQiXTtQYS5sb2c9ZnVuY3Rpb24oKXt2YXIgYT13aW5kb3cuY29uc29sZTtyZXR1cm4gYSYmYS5sb2c/YS5sb2cuYXBwbHkoYSxhcmd1bWVudHMpOnZvaWQgMH0sUGEud2Fybj1mdW5jdGlvbigpe3ZhciBhPXdpbmRvdy5jb25zb2xlO3JldHVybiBhJiZhLndhcm4/YS53YXJuLmFwcGx5KGEsYXJndW1lbnRzKTpQYS5sb2cuYXBwbHkoUGEsYXJndW1lbnRzKX07dmFyIFZhLFdhLFhhLFlhPXt9Lmhhc093blByb3BlcnR5LFphPS9eXHMqXGR7NH0tXGRcZCQvLCRhPS9eXHMqXGR7NH0tKD86KFxkXGQtXGRcZCl8KFdcZFxkJCl8KFdcZFxkLVxkKXwoXGRcZFxkKSkoKFR8ICkoXGRcZCg6XGRcZCg6XGRcZChcLlxkKyk/KT8pPyk/KT8kLyxfYT1iLmZuLGFiPWEuZXh0ZW5kKHt9LF9hKTtQYS5tb21lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gZWEoYXJndW1lbnRzKX0sUGEubW9tZW50LnV0Yz1mdW5jdGlvbigpe3ZhciBhPWVhKGFyZ3VtZW50cywhMCk7cmV0dXJuIGEuaGFzVGltZSgpJiZhLnV0YygpLGF9LFBhLm1vbWVudC5wYXJzZVpvbmU9ZnVuY3Rpb24oKXtyZXR1cm4gZWEoYXJndW1lbnRzLCEwLCEwKX0sX2EuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgYT1hYi5jbG9uZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7cmV0dXJuIGdhKHRoaXMsYSksdGhpcy5fZnVsbENhbGVuZGFyJiYoYS5fZnVsbENhbGVuZGFyPSEwKSxhfSxfYS53ZWVrPV9hLndlZWtzPWZ1bmN0aW9uKGEpe3ZhciBiPSh0aGlzLl9sb2NhbGV8fHRoaXMuX2xhbmcpLl9mdWxsQ2FsZW5kYXJfd2Vla0NhbGM7cmV0dXJuIG51bGw9PWEmJiJmdW5jdGlvbiI9PXR5cGVvZiBiP2IodGhpcyk6IklTTyI9PT1iP2FiLmlzb1dlZWsuYXBwbHkodGhpcyxhcmd1bWVudHMpOmFiLndlZWsuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfYS50aW1lPWZ1bmN0aW9uKGEpe2lmKCF0aGlzLl9mdWxsQ2FsZW5kYXIpcmV0dXJuIGFiLnRpbWUuYXBwbHkodGhpcyxhcmd1bWVudHMpO2lmKG51bGw9PWEpcmV0dXJuIGIuZHVyYXRpb24oe2hvdXJzOnRoaXMuaG91cnMoKSxtaW51dGVzOnRoaXMubWludXRlcygpLHNlY29uZHM6dGhpcy5zZWNvbmRzKCksbWlsbGlzZWNvbmRzOnRoaXMubWlsbGlzZWNvbmRzKCl9KTt0aGlzLl9hbWJpZ1RpbWU9ITEsYi5pc0R1cmF0aW9uKGEpfHxiLmlzTW9tZW50KGEpfHwoYT1iLmR1cmF0aW9uKGEpKTt2YXIgYz0wO3JldHVybiBiLmlzRHVyYXRpb24oYSkmJihjPTI0Kk1hdGguZmxvb3IoYS5hc0RheXMoKSkpLHRoaXMuaG91cnMoYythLmhvdXJzKCkpLm1pbnV0ZXMoYS5taW51dGVzKCkpLnNlY29uZHMoYS5zZWNvbmRzKCkpLm1pbGxpc2Vjb25kcyhhLm1pbGxpc2Vjb25kcygpKX0sX2Euc3RyaXBUaW1lPWZ1bmN0aW9uKCl7dmFyIGE7cmV0dXJuIHRoaXMuX2FtYmlnVGltZXx8KGE9dGhpcy50b0FycmF5KCksdGhpcy51dGMoKSxXYSh0aGlzLGEuc2xpY2UoMCwzKSksdGhpcy5fYW1iaWdUaW1lPSEwLHRoaXMuX2FtYmlnWm9uZT0hMCksdGhpc30sX2EuaGFzVGltZT1mdW5jdGlvbigpe3JldHVybiF0aGlzLl9hbWJpZ1RpbWV9LF9hLnN0cmlwWm9uZT1mdW5jdGlvbigpe3ZhciBhLGI7cmV0dXJuIHRoaXMuX2FtYmlnWm9uZXx8KGE9dGhpcy50b0FycmF5KCksYj10aGlzLl9hbWJpZ1RpbWUsdGhpcy51dGMoKSxXYSh0aGlzLGEpLHRoaXMuX2FtYmlnVGltZT1ifHwhMSx0aGlzLl9hbWJpZ1pvbmU9ITApLHRoaXN9LF9hLmhhc1pvbmU9ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5fYW1iaWdab25lfSxfYS5sb2NhbD1mdW5jdGlvbigpe3ZhciBhPXRoaXMudG9BcnJheSgpLGI9dGhpcy5fYW1iaWdab25lO3JldHVybiBhYi5sb2NhbC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5fYW1iaWdUaW1lPSExLHRoaXMuX2FtYmlnWm9uZT0hMSxiJiZYYSh0aGlzLGEpLHRoaXN9LF9hLnV0Yz1mdW5jdGlvbigpe3JldHVybiBhYi51dGMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMuX2FtYmlnVGltZT0hMSx0aGlzLl9hbWJpZ1pvbmU9ITEsdGhpc30sYS5lYWNoKFsiem9uZSIsInV0Y09mZnNldCJdLGZ1bmN0aW9uKGEsYil7YWJbYl0mJihfYVtiXT1mdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmKHRoaXMuX2FtYmlnVGltZT0hMSx0aGlzLl9hbWJpZ1pvbmU9ITEpLGFiW2JdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pfSksX2EuZm9ybWF0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2Z1bGxDYWxlbmRhciYmYXJndW1lbnRzWzBdP2phKHRoaXMsYXJndW1lbnRzWzBdKTp0aGlzLl9hbWJpZ1RpbWU/aWEodGhpcywiWVlZWS1NTS1ERCIpOnRoaXMuX2FtYmlnWm9uZT9pYSh0aGlzLCJZWVlZLU1NLUREW1RdSEg6bW06c3MiKTphYi5mb3JtYXQuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxfYS50b0lTT1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9hbWJpZ1RpbWU/aWEodGhpcywiWVlZWS1NTS1ERCIpOnRoaXMuX2FtYmlnWm9uZT9pYSh0aGlzLCJZWVlZLU1NLUREW1RdSEg6bW06c3MiKTphYi50b0lTT1N0cmluZy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LF9hLmlzV2l0aGluPWZ1bmN0aW9uKGEsYil7dmFyIGM9ZmEoW3RoaXMsYSxiXSk7cmV0dXJuIGNbMF0+PWNbMV0mJmNbMF08Y1syXX0sX2EuaXNTYW1lPWZ1bmN0aW9uKGEsYil7dmFyIGM7cmV0dXJuIHRoaXMuX2Z1bGxDYWxlbmRhcj9iPyhjPWZhKFt0aGlzLGFdLCEwKSxhYi5pc1NhbWUuY2FsbChjWzBdLGNbMV0sYikpOihhPVBhLm1vbWVudC5wYXJzZVpvbmUoYSksYWIuaXNTYW1lLmNhbGwodGhpcyxhKSYmQm9vbGVhbih0aGlzLl9hbWJpZ1RpbWUpPT09Qm9vbGVhbihhLl9hbWJpZ1RpbWUpJiZCb29sZWFuKHRoaXMuX2FtYmlnWm9uZSk9PT1Cb29sZWFuKGEuX2FtYmlnWm9uZSkpOmFiLmlzU2FtZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGEuZWFjaChbImlzQmVmb3JlIiwiaXNBZnRlciJdLGZ1bmN0aW9uKGEsYil7X2FbYl09ZnVuY3Rpb24oYSxjKXt2YXIgZDtyZXR1cm4gdGhpcy5fZnVsbENhbGVuZGFyPyhkPWZhKFt0aGlzLGFdKSxhYltiXS5jYWxsKGRbMF0sZFsxXSxjKSk6YWJbYl0uYXBwbHkodGhpcyxhcmd1bWVudHMpfX0pLFZhPSJfZCJpbiBiKCkmJiJ1cGRhdGVPZmZzZXQiaW4gYixXYT1WYT9mdW5jdGlvbihhLGMpe2EuX2Quc2V0VGltZShEYXRlLlVUQy5hcHBseShEYXRlLGMpKSxiLnVwZGF0ZU9mZnNldChhLCExKX06aGEsWGE9VmE/ZnVuY3Rpb24oYSxjKXthLl9kLnNldFRpbWUoK25ldyBEYXRlKGNbMF18fDAsY1sxXXx8MCxjWzJdfHwwLGNbM118fDAsY1s0XXx8MCxjWzVdfHwwLGNbNl18fDApKSxiLnVwZGF0ZU9mZnNldChhLCExKX06aGE7dmFyIGJiPXt0OmZ1bmN0aW9uKGEpe3JldHVybiBpYShhLCJhIikuY2hhckF0KDApfSxUOmZ1bmN0aW9uKGEpe3JldHVybiBpYShhLCJBIikuY2hhckF0KDApfX07UGEuZm9ybWF0UmFuZ2U9bWE7dmFyIGNiPXtZOiJ5ZWFyIixNOiJtb250aCIsRDoiZGF5IixkOiJkYXkiLEE6InNlY29uZCIsYToic2Vjb25kIixUOiJzZWNvbmQiLHQ6InNlY29uZCIsSDoic2Vjb25kIixoOiJzZWNvbmQiLG06InNlY29uZCIsczoic2Vjb25kIn0sZGI9e307UGEuQ2xhc3M9cmEscmEuZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjPWFyZ3VtZW50cy5sZW5ndGg7Zm9yKGE9MDtjPmE7YSsrKWI9YXJndW1lbnRzW2FdLGMtMT5hJiZ0YSh0aGlzLGIpO3JldHVybiBzYSh0aGlzLGJ8fHt9KX0scmEubWl4aW49ZnVuY3Rpb24oYSl7dGEodGhpcyxhKX07dmFyIGViPVBhLkVtaXR0ZXI9cmEuZXh0ZW5kKHtjYWxsYmFja0hhc2g6bnVsbCxvbjpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmdldENhbGxiYWNrcyhhKS5hZGQoYiksdGhpc30sb2ZmOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuZ2V0Q2FsbGJhY2tzKGEpLnJlbW92ZShiKSx0aGlzfSx0cmlnZ2VyOmZ1bmN0aW9uKGEpe3ZhciBiPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtyZXR1cm4gdGhpcy50cmlnZ2VyV2l0aChhLHRoaXMsYiksdGhpc30sdHJpZ2dlcldpdGg6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMuZ2V0Q2FsbGJhY2tzKGEpO3JldHVybiBkLmZpcmVXaXRoKGIsYyksdGhpc30sZ2V0Q2FsbGJhY2tzOmZ1bmN0aW9uKGIpe3ZhciBjO3JldHVybiB0aGlzLmNhbGxiYWNrSGFzaHx8KHRoaXMuY2FsbGJhY2tIYXNoPXt9KSxjPXRoaXMuY2FsbGJhY2tIYXNoW2JdLGN8fChjPXRoaXMuY2FsbGJhY2tIYXNoW2JdPWEuQ2FsbGJhY2tzKCkpLGN9fSksZmI9cmEuZXh0ZW5kKHtpc0hpZGRlbjohMCxvcHRpb25zOm51bGwsZWw6bnVsbCxkb2N1bWVudE1vdXNlZG93blByb3h5Om51bGwsbWFyZ2luOjEwLGNvbnN0cnVjdG9yOmZ1bmN0aW9uKGEpe3RoaXMub3B0aW9ucz1hfHx7fX0sc2hvdzpmdW5jdGlvbigpe3RoaXMuaXNIaWRkZW4mJih0aGlzLmVsfHx0aGlzLnJlbmRlcigpLHRoaXMuZWwuc2hvdygpLHRoaXMucG9zaXRpb24oKSx0aGlzLmlzSGlkZGVuPSExLHRoaXMudHJpZ2dlcigic2hvdyIpKX0saGlkZTpmdW5jdGlvbigpe3RoaXMuaXNIaWRkZW58fCh0aGlzLmVsLmhpZGUoKSx0aGlzLmlzSGlkZGVuPSEwLHRoaXMudHJpZ2dlcigiaGlkZSIpKX0scmVuZGVyOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPXRoaXMub3B0aW9uczt0aGlzLmVsPWEoJzxkaXYgY2xhc3M9ImZjLXBvcG92ZXIiLz4nKS5hZGRDbGFzcyhjLmNsYXNzTmFtZXx8IiIpLmNzcyh7dG9wOjAsbGVmdDowfSkuYXBwZW5kKGMuY29udGVudCkuYXBwZW5kVG8oYy5wYXJlbnRFbCksdGhpcy5lbC5vbigiY2xpY2siLCIuZmMtY2xvc2UiLGZ1bmN0aW9uKCl7Yi5oaWRlKCl9KSxjLmF1dG9IaWRlJiZhKGRvY3VtZW50KS5vbigibW91c2Vkb3duIix0aGlzLmRvY3VtZW50TW91c2Vkb3duUHJveHk9Y2EodGhpcywiZG9jdW1lbnRNb3VzZWRvd24iKSl9LGRvY3VtZW50TW91c2Vkb3duOmZ1bmN0aW9uKGIpe3RoaXMuZWwmJiFhKGIudGFyZ2V0KS5jbG9zZXN0KHRoaXMuZWwpLmxlbmd0aCYmdGhpcy5oaWRlKCl9LHJlbW92ZUVsZW1lbnQ6ZnVuY3Rpb24oKXt0aGlzLmhpZGUoKSx0aGlzLmVsJiYodGhpcy5lbC5yZW1vdmUoKSx0aGlzLmVsPW51bGwpLGEoZG9jdW1lbnQpLm9mZigibW91c2Vkb3duIix0aGlzLmRvY3VtZW50TW91c2Vkb3duUHJveHkpfSxwb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBiLGMsZCxlLGYsZz10aGlzLm9wdGlvbnMsaD10aGlzLmVsLm9mZnNldFBhcmVudCgpLm9mZnNldCgpLGk9dGhpcy5lbC5vdXRlcldpZHRoKCksaj10aGlzLmVsLm91dGVySGVpZ2h0KCksaz1hKHdpbmRvdyksbD1uKHRoaXMuZWwpO2U9Zy50b3B8fDAsZj12b2lkIDAhPT1nLmxlZnQ/Zy5sZWZ0OnZvaWQgMCE9PWcucmlnaHQ/Zy5yaWdodC1pOjAsbC5pcyh3aW5kb3cpfHxsLmlzKGRvY3VtZW50KT8obD1rLGI9MCxjPTApOihkPWwub2Zmc2V0KCksYj1kLnRvcCxjPWQubGVmdCksYis9ay5zY3JvbGxUb3AoKSxjKz1rLnNjcm9sbExlZnQoKSxnLnZpZXdwb3J0Q29uc3RyYWluIT09ITEmJihlPU1hdGgubWluKGUsYitsLm91dGVySGVpZ2h0KCktai10aGlzLm1hcmdpbiksZT1NYXRoLm1heChlLGIrdGhpcy5tYXJnaW4pLGY9TWF0aC5taW4oZixjK2wub3V0ZXJXaWR0aCgpLWktdGhpcy5tYXJnaW4pLA0KZj1NYXRoLm1heChmLGMrdGhpcy5tYXJnaW4pKSx0aGlzLmVsLmNzcyh7dG9wOmUtaC50b3AsbGVmdDpmLWgubGVmdH0pfSx0cmlnZ2VyOmZ1bmN0aW9uKGEpe3RoaXMub3B0aW9uc1thXSYmdGhpcy5vcHRpb25zW2FdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKX19KSxnYj1QYS5Db29yZENhY2hlPXJhLmV4dGVuZCh7ZWxzOm51bGwsZm9yY2VkT2Zmc2V0UGFyZW50RWw6bnVsbCxvcmlnaW46bnVsbCxib3VuZGluZ1JlY3Q6bnVsbCxpc0hvcml6b250YWw6ITEsaXNWZXJ0aWNhbDohMSxsZWZ0czpudWxsLHJpZ2h0czpudWxsLHRvcHM6bnVsbCxib3R0b21zOm51bGwsY29uc3RydWN0b3I6ZnVuY3Rpb24oYil7dGhpcy5lbHM9YShiLmVscyksdGhpcy5pc0hvcml6b250YWw9Yi5pc0hvcml6b250YWwsdGhpcy5pc1ZlcnRpY2FsPWIuaXNWZXJ0aWNhbCx0aGlzLmZvcmNlZE9mZnNldFBhcmVudEVsPWIub2Zmc2V0UGFyZW50P2EoYi5vZmZzZXRQYXJlbnQpOm51bGx9LGJ1aWxkOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5mb3JjZWRPZmZzZXRQYXJlbnRFbHx8dGhpcy5lbHMuZXEoMCkub2Zmc2V0UGFyZW50KCk7dGhpcy5vcmlnaW49YS5vZmZzZXQoKSx0aGlzLmJvdW5kaW5nUmVjdD10aGlzLnF1ZXJ5Qm91bmRpbmdSZWN0KCksdGhpcy5pc0hvcml6b250YWwmJnRoaXMuYnVpbGRFbEhvcml6b250YWxzKCksdGhpcy5pc1ZlcnRpY2FsJiZ0aGlzLmJ1aWxkRWxWZXJ0aWNhbHMoKX0sY2xlYXI6ZnVuY3Rpb24oKXt0aGlzLm9yaWdpbj1udWxsLHRoaXMuYm91bmRpbmdSZWN0PW51bGwsdGhpcy5sZWZ0cz1udWxsLHRoaXMucmlnaHRzPW51bGwsdGhpcy50b3BzPW51bGwsdGhpcy5ib3R0b21zPW51bGx9LHF1ZXJ5Qm91bmRpbmdSZWN0OmZ1bmN0aW9uKCl7dmFyIGE9bih0aGlzLmVscy5lcSgwKSk7cmV0dXJuIGEuaXMoZG9jdW1lbnQpP3ZvaWQgMDpwKGEpfSxidWlsZEVsSG9yaXpvbnRhbHM6ZnVuY3Rpb24oKXt2YXIgYj1bXSxjPVtdO3RoaXMuZWxzLmVhY2goZnVuY3Rpb24oZCxlKXt2YXIgZj1hKGUpLGc9Zi5vZmZzZXQoKS5sZWZ0LGg9Zi5vdXRlcldpZHRoKCk7Yi5wdXNoKGcpLGMucHVzaChnK2gpfSksdGhpcy5sZWZ0cz1iLHRoaXMucmlnaHRzPWN9LGJ1aWxkRWxWZXJ0aWNhbHM6ZnVuY3Rpb24oKXt2YXIgYj1bXSxjPVtdO3RoaXMuZWxzLmVhY2goZnVuY3Rpb24oZCxlKXt2YXIgZj1hKGUpLGc9Zi5vZmZzZXQoKS50b3AsaD1mLm91dGVySGVpZ2h0KCk7Yi5wdXNoKGcpLGMucHVzaChnK2gpfSksdGhpcy50b3BzPWIsdGhpcy5ib3R0b21zPWN9LGdldEhvcml6b250YWxJbmRleDpmdW5jdGlvbihhKXt2YXIgYixjPXRoaXMuYm91bmRpbmdSZWN0LGQ9dGhpcy5sZWZ0cyxlPXRoaXMucmlnaHRzLGY9ZC5sZW5ndGg7aWYoIWN8fGE+PWMubGVmdCYmYTxjLnJpZ2h0KWZvcihiPTA7Zj5iO2IrKylpZihhPj1kW2JdJiZhPGVbYl0pcmV0dXJuIGJ9LGdldFZlcnRpY2FsSW5kZXg6ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLmJvdW5kaW5nUmVjdCxkPXRoaXMudG9wcyxlPXRoaXMuYm90dG9tcyxmPWQubGVuZ3RoO2lmKCFjfHxhPj1jLnRvcCYmYTxjLmJvdHRvbSlmb3IoYj0wO2Y+YjtiKyspaWYoYT49ZFtiXSYmYTxlW2JdKXJldHVybiBifSxnZXRMZWZ0T2Zmc2V0OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmxlZnRzW2FdfSxnZXRMZWZ0UG9zaXRpb246ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubGVmdHNbYV0tdGhpcy5vcmlnaW4ubGVmdH0sZ2V0UmlnaHRPZmZzZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucmlnaHRzW2FdfSxnZXRSaWdodFBvc2l0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnJpZ2h0c1thXS10aGlzLm9yaWdpbi5sZWZ0fSxnZXRXaWR0aDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yaWdodHNbYV0tdGhpcy5sZWZ0c1thXX0sZ2V0VG9wT2Zmc2V0OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnRvcHNbYV19LGdldFRvcFBvc2l0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnRvcHNbYV0tdGhpcy5vcmlnaW4udG9wfSxnZXRCb3R0b21PZmZzZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYm90dG9tc1thXX0sZ2V0Qm90dG9tUG9zaXRpb246ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYm90dG9tc1thXS10aGlzLm9yaWdpbi50b3B9LGdldEhlaWdodDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ib3R0b21zW2FdLXRoaXMudG9wc1thXX19KSxoYj1QYS5EcmFnTGlzdGVuZXI9cmEuZXh0ZW5kKHtvcHRpb25zOm51bGwsaXNMaXN0ZW5pbmc6ITEsaXNEcmFnZ2luZzohMSxvcmlnaW5YOm51bGwsb3JpZ2luWTpudWxsLG1vdXNlbW92ZVByb3h5Om51bGwsbW91c2V1cFByb3h5Om51bGwsc3ViamVjdEVsOm51bGwsc3ViamVjdEhyZWY6bnVsbCxzY3JvbGxFbDpudWxsLHNjcm9sbEJvdW5kczpudWxsLHNjcm9sbFRvcFZlbDpudWxsLHNjcm9sbExlZnRWZWw6bnVsbCxzY3JvbGxJbnRlcnZhbElkOm51bGwsc2Nyb2xsSGFuZGxlclByb3h5Om51bGwsc2Nyb2xsU2Vuc2l0aXZpdHk6MzAsc2Nyb2xsU3BlZWQ6MjAwLHNjcm9sbEludGVydmFsTXM6NTAsY29uc3RydWN0b3I6ZnVuY3Rpb24oYSl7YT1hfHx7fSx0aGlzLm9wdGlvbnM9YSx0aGlzLnN1YmplY3RFbD1hLnN1YmplY3RFbH0sbW91c2Vkb3duOmZ1bmN0aW9uKGEpe3YoYSkmJihhLnByZXZlbnREZWZhdWx0KCksdGhpcy5zdGFydExpc3RlbmluZyhhKSx0aGlzLm9wdGlvbnMuZGlzdGFuY2V8fHRoaXMuc3RhcnREcmFnKGEpKX0sc3RhcnRMaXN0ZW5pbmc6ZnVuY3Rpb24oYil7dmFyIGM7dGhpcy5pc0xpc3RlbmluZ3x8KGImJnRoaXMub3B0aW9ucy5zY3JvbGwmJihjPW4oYShiLnRhcmdldCkpLGMuaXMod2luZG93KXx8Yy5pcyhkb2N1bWVudCl8fCh0aGlzLnNjcm9sbEVsPWMsdGhpcy5zY3JvbGxIYW5kbGVyUHJveHk9ZGEoY2EodGhpcywic2Nyb2xsSGFuZGxlciIpLDEwMCksdGhpcy5zY3JvbGxFbC5vbigic2Nyb2xsIix0aGlzLnNjcm9sbEhhbmRsZXJQcm94eSkpKSxhKGRvY3VtZW50KS5vbigibW91c2Vtb3ZlIix0aGlzLm1vdXNlbW92ZVByb3h5PWNhKHRoaXMsIm1vdXNlbW92ZSIpKS5vbigibW91c2V1cCIsdGhpcy5tb3VzZXVwUHJveHk9Y2EodGhpcywibW91c2V1cCIpKS5vbigic2VsZWN0c3RhcnQiLHRoaXMucHJldmVudERlZmF1bHQpLGI/KHRoaXMub3JpZ2luWD1iLnBhZ2VYLHRoaXMub3JpZ2luWT1iLnBhZ2VZKToodGhpcy5vcmlnaW5YPTAsdGhpcy5vcmlnaW5ZPTApLHRoaXMuaXNMaXN0ZW5pbmc9ITAsdGhpcy5saXN0ZW5TdGFydChiKSl9LGxpc3RlblN0YXJ0OmZ1bmN0aW9uKGEpe3RoaXMudHJpZ2dlcigibGlzdGVuU3RhcnQiLGEpfSxtb3VzZW1vdmU6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPWEucGFnZVgtdGhpcy5vcmlnaW5YLGU9YS5wYWdlWS10aGlzLm9yaWdpblk7dGhpcy5pc0RyYWdnaW5nfHwoYj10aGlzLm9wdGlvbnMuZGlzdGFuY2V8fDEsYz1kKmQrZSplLGM+PWIqYiYmdGhpcy5zdGFydERyYWcoYSkpLHRoaXMuaXNEcmFnZ2luZyYmdGhpcy5kcmFnKGQsZSxhKX0sc3RhcnREcmFnOmZ1bmN0aW9uKGEpe3RoaXMuaXNMaXN0ZW5pbmd8fHRoaXMuc3RhcnRMaXN0ZW5pbmcoKSx0aGlzLmlzRHJhZ2dpbmd8fCh0aGlzLmlzRHJhZ2dpbmc9ITAsdGhpcy5kcmFnU3RhcnQoYSkpfSxkcmFnU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5zdWJqZWN0RWw7dGhpcy50cmlnZ2VyKCJkcmFnU3RhcnQiLGEpLCh0aGlzLnN1YmplY3RIcmVmPWI/Yi5hdHRyKCJocmVmIik6bnVsbCkmJmIucmVtb3ZlQXR0cigiaHJlZiIpfSxkcmFnOmZ1bmN0aW9uKGEsYixjKXt0aGlzLnRyaWdnZXIoImRyYWciLGEsYixjKSx0aGlzLnVwZGF0ZVNjcm9sbChjKX0sbW91c2V1cDpmdW5jdGlvbihhKXt0aGlzLnN0b3BMaXN0ZW5pbmcoYSl9LHN0b3BEcmFnOmZ1bmN0aW9uKGEpe3RoaXMuaXNEcmFnZ2luZyYmKHRoaXMuc3RvcFNjcm9sbGluZygpLHRoaXMuZHJhZ1N0b3AoYSksdGhpcy5pc0RyYWdnaW5nPSExKX0sZHJhZ1N0b3A6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpczt0aGlzLnRyaWdnZXIoImRyYWdTdG9wIixhKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Yi5zdWJqZWN0SHJlZiYmYi5zdWJqZWN0RWwuYXR0cigiaHJlZiIsYi5zdWJqZWN0SHJlZil9LDApfSxzdG9wTGlzdGVuaW5nOmZ1bmN0aW9uKGIpe3RoaXMuc3RvcERyYWcoYiksdGhpcy5pc0xpc3RlbmluZyYmKHRoaXMuc2Nyb2xsRWwmJih0aGlzLnNjcm9sbEVsLm9mZigic2Nyb2xsIix0aGlzLnNjcm9sbEhhbmRsZXJQcm94eSksdGhpcy5zY3JvbGxIYW5kbGVyUHJveHk9bnVsbCksYShkb2N1bWVudCkub2ZmKCJtb3VzZW1vdmUiLHRoaXMubW91c2Vtb3ZlUHJveHkpLm9mZigibW91c2V1cCIsdGhpcy5tb3VzZXVwUHJveHkpLm9mZigic2VsZWN0c3RhcnQiLHRoaXMucHJldmVudERlZmF1bHQpLHRoaXMubW91c2Vtb3ZlUHJveHk9bnVsbCx0aGlzLm1vdXNldXBQcm94eT1udWxsLHRoaXMuaXNMaXN0ZW5pbmc9ITEsdGhpcy5saXN0ZW5TdG9wKGIpKX0sbGlzdGVuU3RvcDpmdW5jdGlvbihhKXt0aGlzLnRyaWdnZXIoImxpc3RlblN0b3AiLGEpfSx0cmlnZ2VyOmZ1bmN0aW9uKGEpe3RoaXMub3B0aW9uc1thXSYmdGhpcy5vcHRpb25zW2FdLmFwcGx5KHRoaXMsQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpKX0scHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oYSl7YS5wcmV2ZW50RGVmYXVsdCgpfSxjb21wdXRlU2Nyb2xsQm91bmRzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5zY3JvbGxFbDt0aGlzLnNjcm9sbEJvdW5kcz1hP28oYSk6bnVsbH0sdXBkYXRlU2Nyb2xsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY9dGhpcy5zY3JvbGxTZW5zaXRpdml0eSxnPXRoaXMuc2Nyb2xsQm91bmRzLGg9MCxpPTA7ZyYmKGI9KGYtKGEucGFnZVktZy50b3ApKS9mLGM9KGYtKGcuYm90dG9tLWEucGFnZVkpKS9mLGQ9KGYtKGEucGFnZVgtZy5sZWZ0KSkvZixlPShmLShnLnJpZ2h0LWEucGFnZVgpKS9mLGI+PTAmJjE+PWI/aD1iKnRoaXMuc2Nyb2xsU3BlZWQqLTE6Yz49MCYmMT49YyYmKGg9Yyp0aGlzLnNjcm9sbFNwZWVkKSxkPj0wJiYxPj1kP2k9ZCp0aGlzLnNjcm9sbFNwZWVkKi0xOmU+PTAmJjE+PWUmJihpPWUqdGhpcy5zY3JvbGxTcGVlZCkpLHRoaXMuc2V0U2Nyb2xsVmVsKGgsaSl9LHNldFNjcm9sbFZlbDpmdW5jdGlvbihhLGIpe3RoaXMuc2Nyb2xsVG9wVmVsPWEsdGhpcy5zY3JvbGxMZWZ0VmVsPWIsdGhpcy5jb25zdHJhaW5TY3JvbGxWZWwoKSwhdGhpcy5zY3JvbGxUb3BWZWwmJiF0aGlzLnNjcm9sbExlZnRWZWx8fHRoaXMuc2Nyb2xsSW50ZXJ2YWxJZHx8KHRoaXMuc2Nyb2xsSW50ZXJ2YWxJZD1zZXRJbnRlcnZhbChjYSh0aGlzLCJzY3JvbGxJbnRlcnZhbEZ1bmMiKSx0aGlzLnNjcm9sbEludGVydmFsTXMpKX0sY29uc3RyYWluU2Nyb2xsVmVsOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5zY3JvbGxFbDt0aGlzLnNjcm9sbFRvcFZlbDwwP2Euc2Nyb2xsVG9wKCk8PTAmJih0aGlzLnNjcm9sbFRvcFZlbD0wKTp0aGlzLnNjcm9sbFRvcFZlbD4wJiZhLnNjcm9sbFRvcCgpK2FbMF0uY2xpZW50SGVpZ2h0Pj1hWzBdLnNjcm9sbEhlaWdodCYmKHRoaXMuc2Nyb2xsVG9wVmVsPTApLHRoaXMuc2Nyb2xsTGVmdFZlbDwwP2Euc2Nyb2xsTGVmdCgpPD0wJiYodGhpcy5zY3JvbGxMZWZ0VmVsPTApOnRoaXMuc2Nyb2xsTGVmdFZlbD4wJiZhLnNjcm9sbExlZnQoKSthWzBdLmNsaWVudFdpZHRoPj1hWzBdLnNjcm9sbFdpZHRoJiYodGhpcy5zY3JvbGxMZWZ0VmVsPTApfSxzY3JvbGxJbnRlcnZhbEZ1bmM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnNjcm9sbEVsLGI9dGhpcy5zY3JvbGxJbnRlcnZhbE1zLzFlMzt0aGlzLnNjcm9sbFRvcFZlbCYmYS5zY3JvbGxUb3AoYS5zY3JvbGxUb3AoKSt0aGlzLnNjcm9sbFRvcFZlbCpiKSx0aGlzLnNjcm9sbExlZnRWZWwmJmEuc2Nyb2xsTGVmdChhLnNjcm9sbExlZnQoKSt0aGlzLnNjcm9sbExlZnRWZWwqYiksdGhpcy5jb25zdHJhaW5TY3JvbGxWZWwoKSx0aGlzLnNjcm9sbFRvcFZlbHx8dGhpcy5zY3JvbGxMZWZ0VmVsfHx0aGlzLnN0b3BTY3JvbGxpbmcoKX0sc3RvcFNjcm9sbGluZzpmdW5jdGlvbigpe3RoaXMuc2Nyb2xsSW50ZXJ2YWxJZCYmKGNsZWFySW50ZXJ2YWwodGhpcy5zY3JvbGxJbnRlcnZhbElkKSx0aGlzLnNjcm9sbEludGVydmFsSWQ9bnVsbCx0aGlzLnNjcm9sbFN0b3AoKSl9LHNjcm9sbEhhbmRsZXI6ZnVuY3Rpb24oKXt0aGlzLnNjcm9sbEludGVydmFsSWR8fHRoaXMuc2Nyb2xsU3RvcCgpfSxzY3JvbGxTdG9wOmZ1bmN0aW9uKCl7fX0pLGliPWhiLmV4dGVuZCh7Y29tcG9uZW50Om51bGwsb3JpZ0hpdDpudWxsLGhpdDpudWxsLGNvb3JkQWRqdXN0Om51bGwsY29uc3RydWN0b3I6ZnVuY3Rpb24oYSxiKXtoYi5jYWxsKHRoaXMsYiksdGhpcy5jb21wb25lbnQ9YX0sbGlzdGVuU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGU9dGhpcy5zdWJqZWN0RWw7aGIucHJvdG90eXBlLmxpc3RlblN0YXJ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLmNvbXB1dGVDb29yZHMoKSxhPyhjPXtsZWZ0OmEucGFnZVgsdG9wOmEucGFnZVl9LGQ9YyxlJiYoYj1vKGUpLGQ9eChkLGIpKSx0aGlzLm9yaWdIaXQ9dGhpcy5xdWVyeUhpdChkLmxlZnQsZC50b3ApLGUmJnRoaXMub3B0aW9ucy5zdWJqZWN0Q2VudGVyJiYodGhpcy5vcmlnSGl0JiYoYj13KHRoaXMub3JpZ0hpdCxiKXx8YiksZD15KGIpKSx0aGlzLmNvb3JkQWRqdXN0PXooZCxjKSk6KHRoaXMub3JpZ0hpdD1udWxsLHRoaXMuY29vcmRBZGp1c3Q9bnVsbCl9LGNvbXB1dGVDb29yZHM6ZnVuY3Rpb24oKXt0aGlzLmNvbXBvbmVudC5wcmVwYXJlSGl0cygpLHRoaXMuY29tcHV0ZVNjcm9sbEJvdW5kcygpfSxkcmFnU3RhcnQ6ZnVuY3Rpb24oYSl7dmFyIGI7aGIucHJvdG90eXBlLmRyYWdTdGFydC5hcHBseSh0aGlzLGFyZ3VtZW50cyksYj10aGlzLnF1ZXJ5SGl0KGEucGFnZVgsYS5wYWdlWSksYiYmdGhpcy5oaXRPdmVyKGIpfSxkcmFnOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtoYi5wcm90b3R5cGUuZHJhZy5hcHBseSh0aGlzLGFyZ3VtZW50cyksZD10aGlzLnF1ZXJ5SGl0KGMucGFnZVgsYy5wYWdlWSksdWEoZCx0aGlzLmhpdCl8fCh0aGlzLmhpdCYmdGhpcy5oaXRPdXQoKSxkJiZ0aGlzLmhpdE92ZXIoZCkpfSxkcmFnU3RvcDpmdW5jdGlvbigpe3RoaXMuaGl0RG9uZSgpLGhiLnByb3RvdHlwZS5kcmFnU3RvcC5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGhpdE92ZXI6ZnVuY3Rpb24oYSl7dmFyIGI9dWEoYSx0aGlzLm9yaWdIaXQpO3RoaXMuaGl0PWEsdGhpcy50cmlnZ2VyKCJoaXRPdmVyIix0aGlzLmhpdCxiLHRoaXMub3JpZ0hpdCl9LGhpdE91dDpmdW5jdGlvbigpe3RoaXMuaGl0JiYodGhpcy50cmlnZ2VyKCJoaXRPdXQiLHRoaXMuaGl0KSx0aGlzLmhpdERvbmUoKSx0aGlzLmhpdD1udWxsKX0saGl0RG9uZTpmdW5jdGlvbigpe3RoaXMuaGl0JiZ0aGlzLnRyaWdnZXIoImhpdERvbmUiLHRoaXMuaGl0KX0sbGlzdGVuU3RvcDpmdW5jdGlvbigpe2hiLnByb3RvdHlwZS5saXN0ZW5TdG9wLmFwcGx5KHRoaXMsYXJndW1lbnRzKSx0aGlzLm9yaWdIaXQ9bnVsbCx0aGlzLmhpdD1udWxsLHRoaXMuY29tcG9uZW50LnJlbGVhc2VIaXRzKCl9LHNjcm9sbFN0b3A6ZnVuY3Rpb24oKXtoYi5wcm90b3R5cGUuc2Nyb2xsU3RvcC5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5jb21wdXRlQ29vcmRzKCl9LHF1ZXJ5SGl0OmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMuY29vcmRBZGp1c3QmJihhKz10aGlzLmNvb3JkQWRqdXN0LmxlZnQsYis9dGhpcy5jb29yZEFkanVzdC50b3ApLHRoaXMuY29tcG9uZW50LnF1ZXJ5SGl0KGEsYil9fSksamI9cmEuZXh0ZW5kKHtvcHRpb25zOm51bGwsc291cmNlRWw6bnVsbCxlbDpudWxsLHBhcmVudEVsOm51bGwsdG9wMDpudWxsLGxlZnQwOm51bGwsbW91c2VZMDpudWxsLG1vdXNlWDA6bnVsbCx0b3BEZWx0YTpudWxsLGxlZnREZWx0YTpudWxsLG1vdXNlbW92ZVByb3h5Om51bGwsaXNGb2xsb3dpbmc6ITEsaXNIaWRkZW46ITEsaXNBbmltYXRpbmc6ITEsY29uc3RydWN0b3I6ZnVuY3Rpb24oYixjKXt0aGlzLm9wdGlvbnM9Yz1jfHx7fSx0aGlzLnNvdXJjZUVsPWIsdGhpcy5wYXJlbnRFbD1jLnBhcmVudEVsP2EoYy5wYXJlbnRFbCk6Yi5wYXJlbnQoKX0sc3RhcnQ6ZnVuY3Rpb24oYil7dGhpcy5pc0ZvbGxvd2luZ3x8KHRoaXMuaXNGb2xsb3dpbmc9ITAsdGhpcy5tb3VzZVkwPWIucGFnZVksdGhpcy5tb3VzZVgwPWIucGFnZVgsdGhpcy50b3BEZWx0YT0wLHRoaXMubGVmdERlbHRhPTAsdGhpcy5pc0hpZGRlbnx8dGhpcy51cGRhdGVQb3NpdGlvbigpLGEoZG9jdW1lbnQpLm9uKCJtb3VzZW1vdmUiLHRoaXMubW91c2Vtb3ZlUHJveHk9Y2EodGhpcywibW91c2Vtb3ZlIikpKX0sc3RvcDpmdW5jdGlvbihiLGMpe2Z1bmN0aW9uIGQoKXt0aGlzLmlzQW5pbWF0aW5nPSExLGUucmVtb3ZlRWxlbWVudCgpLHRoaXMudG9wMD10aGlzLmxlZnQwPW51bGwsYyYmYygpfXZhciBlPXRoaXMsZj10aGlzLm9wdGlvbnMucmV2ZXJ0RHVyYXRpb247dGhpcy5pc0ZvbGxvd2luZyYmIXRoaXMuaXNBbmltYXRpbmcmJih0aGlzLmlzRm9sbG93aW5nPSExLGEoZG9jdW1lbnQpLm9mZigibW91c2Vtb3ZlIix0aGlzLm1vdXNlbW92ZVByb3h5KSxiJiZmJiYhdGhpcy5pc0hpZGRlbj8odGhpcy5pc0FuaW1hdGluZz0hMCx0aGlzLmVsLmFuaW1hdGUoe3RvcDp0aGlzLnRvcDAsbGVmdDp0aGlzLmxlZnQwfSx7ZHVyYXRpb246Zixjb21wbGV0ZTpkfSkpOmQoKSl9LGdldEVsOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5lbDtyZXR1cm4gYXx8KHRoaXMuc291cmNlRWwud2lkdGgoKSxhPXRoaXMuZWw9dGhpcy5zb3VyY2VFbC5jbG9uZSgpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix2aXNpYmlsaXR5OiIiLGRpc3BsYXk6dGhpcy5pc0hpZGRlbj8ibm9uZSI6IiIsbWFyZ2luOjAscmlnaHQ6ImF1dG8iLGJvdHRvbToiYXV0byIsd2lkdGg6dGhpcy5zb3VyY2VFbC53aWR0aCgpLGhlaWdodDp0aGlzLnNvdXJjZUVsLmhlaWdodCgpLG9wYWNpdHk6dGhpcy5vcHRpb25zLm9wYWNpdHl8fCIiLHpJbmRleDp0aGlzLm9wdGlvbnMuekluZGV4fSkuYXBwZW5kVG8odGhpcy5wYXJlbnRFbCkpLGF9LHJlbW92ZUVsZW1lbnQ6ZnVuY3Rpb24oKXt0aGlzLmVsJiYodGhpcy5lbC5yZW1vdmUoKSx0aGlzLmVsPW51bGwpfSx1cGRhdGVQb3NpdGlvbjpmdW5jdGlvbigpe3ZhciBhLGI7dGhpcy5nZXRFbCgpLG51bGw9PT10aGlzLnRvcDAmJih0aGlzLnNvdXJjZUVsLndpZHRoKCksYT10aGlzLnNvdXJjZUVsLm9mZnNldCgpLGI9dGhpcy5lbC5vZmZzZXRQYXJlbnQoKS5vZmZzZXQoKSx0aGlzLnRvcDA9YS50b3AtYi50b3AsdGhpcy5sZWZ0MD1hLmxlZnQtYi5sZWZ0KSx0aGlzLmVsLmNzcyh7dG9wOnRoaXMudG9wMCt0aGlzLnRvcERlbHRhLGxlZnQ6dGhpcy5sZWZ0MCt0aGlzLmxlZnREZWx0YX0pfSxtb3VzZW1vdmU6ZnVuY3Rpb24oYSl7dGhpcy50b3BEZWx0YT1hLnBhZ2VZLXRoaXMubW91c2VZMCx0aGlzLmxlZnREZWx0YT1hLnBhZ2VYLXRoaXMubW91c2VYMCx0aGlzLmlzSGlkZGVufHx0aGlzLnVwZGF0ZVBvc2l0aW9uKCl9LGhpZGU6ZnVuY3Rpb24oKXt0aGlzLmlzSGlkZGVufHwodGhpcy5pc0hpZGRlbj0hMCx0aGlzLmVsJiZ0aGlzLmVsLmhpZGUoKSl9LHNob3c6ZnVuY3Rpb24oKXt0aGlzLmlzSGlkZGVuJiYodGhpcy5pc0hpZGRlbj0hMSx0aGlzLnVwZGF0ZVBvc2l0aW9uKCksdGhpcy5nZXRFbCgpLnNob3coKSl9fSksa2I9UGEuR3JpZD1yYS5leHRlbmQoe3ZpZXc6bnVsbCxpc1JUTDpudWxsLHN0YXJ0Om51bGwsZW5kOm51bGwsZWw6bnVsbCxlbHNCeUZpbGw6bnVsbCxleHRlcm5hbERyYWdTdGFydFByb3h5Om51bGwsZXZlbnRUaW1lRm9ybWF0Om51bGwsZGlzcGxheUV2ZW50VGltZTpudWxsLGRpc3BsYXlFdmVudEVuZDpudWxsLG1pblJlc2l6ZUR1cmF0aW9uOm51bGwsbGFyZ2VVbml0Om51bGwsY29uc3RydWN0b3I6ZnVuY3Rpb24oYSl7dGhpcy52aWV3PWEsdGhpcy5pc1JUTD1hLm9wdCgiaXNSVEwiKSx0aGlzLmVsc0J5RmlsbD17fSx0aGlzLmV4dGVybmFsRHJhZ1N0YXJ0UHJveHk9Y2EodGhpcywiZXh0ZXJuYWxEcmFnU3RhcnQiKX0sY29tcHV0ZUV2ZW50VGltZUZvcm1hdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZpZXcub3B0KCJzbWFsbFRpbWVGb3JtYXQiKX0sY29tcHV0ZURpc3BsYXlFdmVudFRpbWU6ZnVuY3Rpb24oKXtyZXR1cm4hMH0sY29tcHV0ZURpc3BsYXlFdmVudEVuZDpmdW5jdGlvbigpe3JldHVybiEwfSxzZXRSYW5nZTpmdW5jdGlvbihhKXt0aGlzLnN0YXJ0PWEuc3RhcnQuY2xvbmUoKSx0aGlzLmVuZD1hLmVuZC5jbG9uZSgpLHRoaXMucmFuZ2VVcGRhdGVkKCksdGhpcy5wcm9jZXNzUmFuZ2VPcHRpb25zKCl9LHJhbmdlVXBkYXRlZDpmdW5jdGlvbigpe30scHJvY2Vzc1JhbmdlT3B0aW9uczpmdW5jdGlvbigpe3ZhciBhLGIsYz10aGlzLnZpZXc7dGhpcy5ldmVudFRpbWVGb3JtYXQ9Yy5vcHQoImV2ZW50VGltZUZvcm1hdCIpfHxjLm9wdCgidGltZUZvcm1hdCIpfHx0aGlzLmNvbXB1dGVFdmVudFRpbWVGb3JtYXQoKSxhPWMub3B0KCJkaXNwbGF5RXZlbnRUaW1lIiksbnVsbD09YSYmKGE9dGhpcy5jb21wdXRlRGlzcGxheUV2ZW50VGltZSgpKSxiPWMub3B0KCJkaXNwbGF5RXZlbnRFbmQiKSxudWxsPT1iJiYoYj10aGlzLmNvbXB1dGVEaXNwbGF5RXZlbnRFbmQoKSksdGhpcy5kaXNwbGF5RXZlbnRUaW1lPWEsdGhpcy5kaXNwbGF5RXZlbnRFbmQ9Yn0sc3BhblRvU2VnczpmdW5jdGlvbihhKXt9LGRpZmZEYXRlczpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmxhcmdlVW5pdD9IKGEsYix0aGlzLmxhcmdlVW5pdCk6RihhLGIpfSxwcmVwYXJlSGl0czpmdW5jdGlvbigpe30scmVsZWFzZUhpdHM6ZnVuY3Rpb24oKXt9LHF1ZXJ5SGl0OmZ1bmN0aW9uKGEsYil7fSxnZXRIaXRTcGFuOmZ1bmN0aW9uKGEpe30sZ2V0SGl0RWw6ZnVuY3Rpb24oYSl7fSxzZXRFbGVtZW50OmZ1bmN0aW9uKGIpe3ZhciBjPXRoaXM7dGhpcy5lbD1iLGIub24oIm1vdXNlZG93biIsZnVuY3Rpb24oYil7YShiLnRhcmdldCkuaXMoIi5mYy1ldmVudC1jb250YWluZXIgKiwgLmZjLW1vcmUiKXx8YShiLnRhcmdldCkuY2xvc2VzdCgiLmZjLXBvcG92ZXIiKS5sZW5ndGh8fGMuZGF5TW91c2Vkb3duKGIpfSksdGhpcy5iaW5kU2VnSGFuZGxlcnMoKSx0aGlzLmJpbmRHbG9iYWxIYW5kbGVycygpfSxyZW1vdmVFbGVtZW50OmZ1bmN0aW9uKCl7dGhpcy51bmJpbmRHbG9iYWxIYW5kbGVycygpLHRoaXMuZWwucmVtb3ZlKCl9LHJlbmRlclNrZWxldG9uOmZ1bmN0aW9uKCl7fSxyZW5kZXJEYXRlczpmdW5jdGlvbigpe30sdW5yZW5kZXJEYXRlczpmdW5jdGlvbigpe30sYmluZEdsb2JhbEhhbmRsZXJzOmZ1bmN0aW9uKCl7YShkb2N1bWVudCkub24oImRyYWdzdGFydCBzb3J0c3RhcnQiLHRoaXMuZXh0ZXJuYWxEcmFnU3RhcnRQcm94eSl9LHVuYmluZEdsb2JhbEhhbmRsZXJzOmZ1bmN0aW9uKCl7YShkb2N1bWVudCkub2ZmKCJkcmFnc3RhcnQgc29ydHN0YXJ0Iix0aGlzLmV4dGVybmFsRHJhZ1N0YXJ0UHJveHkpfSxkYXlNb3VzZWRvd246ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPXRoaXMsZT10aGlzLnZpZXcsZj1lLm9wdCgic2VsZWN0YWJsZSIpLGk9bmV3IGliKHRoaXMse3Njcm9sbDplLm9wdCgiZHJhZ1Njcm9sbCIpLGRyYWdTdGFydDpmdW5jdGlvbigpe2UudW5zZWxlY3QoKX0saGl0T3ZlcjpmdW5jdGlvbihhLGUsaCl7aCYmKGI9ZT9hOm51bGwsZiYmKGM9ZC5jb21wdXRlU2VsZWN0aW9uKGQuZ2V0SGl0U3BhbihoKSxkLmdldEhpdFNwYW4oYSkpLGM/ZC5yZW5kZXJTZWxlY3Rpb24oYyk6Yz09PSExJiZnKCkpKX0saGl0T3V0OmZ1bmN0aW9uKCl7Yj1udWxsLGM9bnVsbCxkLnVucmVuZGVyU2VsZWN0aW9uKCksaCgpfSxsaXN0ZW5TdG9wOmZ1bmN0aW9uKGEpe2ImJmUudHJpZ2dlckRheUNsaWNrKGQuZ2V0SGl0U3BhbihiKSxkLmdldEhpdEVsKGIpLGEpLGMmJmUucmVwb3J0U2VsZWN0aW9uKGMsYSksaCgpfX0pO2kubW91c2Vkb3duKGEpfSxyZW5kZXJFdmVudExvY2F0aW9uSGVscGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5mYWJyaWNhdGVIZWxwZXJFdmVudChhLGIpO3RoaXMucmVuZGVySGVscGVyKGMsYil9LGZhYnJpY2F0ZUhlbHBlckV2ZW50OmZ1bmN0aW9uKGEsYil7dmFyIGM9Yj9SKGIuZXZlbnQpOnt9O3JldHVybiBjLnN0YXJ0PWEuc3RhcnQuY2xvbmUoKSxjLmVuZD1hLmVuZD9hLmVuZC5jbG9uZSgpOm51bGwsYy5hbGxEYXk9bnVsbCx0aGlzLnZpZXcuY2FsZW5kYXIubm9ybWFsaXplRXZlbnREYXRlcyhjKSxjLmNsYXNzTmFtZT0oYy5jbGFzc05hbWV8fFtdKS5jb25jYXQoImZjLWhlbHBlciIpLGJ8fChjLmVkaXRhYmxlPSExKSxjfSxyZW5kZXJIZWxwZXI6ZnVuY3Rpb24oYSxiKXt9LHVucmVuZGVySGVscGVyOmZ1bmN0aW9uKCl7fSxyZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oYSl7dGhpcy5yZW5kZXJIaWdobGlnaHQoYSl9LHVucmVuZGVyU2VsZWN0aW9uOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckhpZ2hsaWdodCgpfSxjb21wdXRlU2VsZWN0aW9uOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jb21wdXRlU2VsZWN0aW9uU3BhbihhLGIpO3JldHVybiBjJiYhdGhpcy52aWV3LmNhbGVuZGFyLmlzU2VsZWN0aW9uU3BhbkFsbG93ZWQoYyk/ITE6Y30sY29tcHV0ZVNlbGVjdGlvblNwYW46ZnVuY3Rpb24oYSxiKXt2YXIgYz1bYS5zdGFydCxhLmVuZCxiLnN0YXJ0LGIuZW5kXTtyZXR1cm4gYy5zb3J0KGFhKSx7c3RhcnQ6Y1swXS5jbG9uZSgpLGVuZDpjWzNdLmNsb25lKCl9fSxyZW5kZXJIaWdobGlnaHQ6ZnVuY3Rpb24oYSl7dGhpcy5yZW5kZXJGaWxsKCJoaWdobGlnaHQiLHRoaXMuc3BhblRvU2VncyhhKSl9LHVucmVuZGVySGlnaGxpZ2h0OmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckZpbGwoImhpZ2hsaWdodCIpfSxoaWdobGlnaHRTZWdDbGFzc2VzOmZ1bmN0aW9uKCl7cmV0dXJuWyJmYy1oaWdobGlnaHQiXX0scmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe30sdW5yZW5kZXJCdXNpbmVzc0hvdXJzOmZ1bmN0aW9uKCl7fSxnZXROb3dJbmRpY2F0b3JVbml0OmZ1bmN0aW9uKCl7fSxyZW5kZXJOb3dJbmRpY2F0b3I6ZnVuY3Rpb24oYSl7fSx1bnJlbmRlck5vd0luZGljYXRvcjpmdW5jdGlvbigpe30scmVuZGVyRmlsbDpmdW5jdGlvbihhLGIpe30sdW5yZW5kZXJGaWxsOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZWxzQnlGaWxsW2FdO2ImJihiLnJlbW92ZSgpLGRlbGV0ZSB0aGlzLmVsc0J5RmlsbFthXSl9LHJlbmRlckZpbGxTZWdFbHM6ZnVuY3Rpb24oYixjKXt2YXIgZCxlPXRoaXMsZj10aGlzW2IrIlNlZ0VsIl0sZz0iIixoPVtdO2lmKGMubGVuZ3RoKXtmb3IoZD0wO2Q8Yy5sZW5ndGg7ZCsrKWcrPXRoaXMuZmlsbFNlZ0h0bWwoYixjW2RdKTthKGcpLmVhY2goZnVuY3Rpb24oYixkKXt2YXIgZz1jW2JdLGk9YShkKTtmJiYoaT1mLmNhbGwoZSxnLGkpKSxpJiYoaT1hKGkpLGkuaXMoZS5maWxsU2VnVGFnKSYmKGcuZWw9aSxoLnB1c2goZykpKX0pfXJldHVybiBofSxmaWxsU2VnVGFnOiJkaXYiLGZpbGxTZWdIdG1sOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpc1thKyJTZWdDbGFzc2VzIl0sZD10aGlzW2ErIlNlZ0NzcyJdLGU9Yz9jLmNhbGwodGhpcyxiKTpbXSxmPSQoZD9kLmNhbGwodGhpcyxiKTp7fSk7cmV0dXJuIjwiK3RoaXMuZmlsbFNlZ1RhZysoZS5sZW5ndGg/JyBjbGFzcz0iJytlLmpvaW4oIiAiKSsnIic6IiIpKyhmPycgc3R5bGU9IicrZisnIic6IiIpKyIgLz4ifSxnZXREYXlDbGFzc2VzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlldyxjPWIuY2FsZW5kYXIuZ2V0Tm93KCksZD1bImZjLSIrVGFbYS5kYXkoKV1dO3JldHVybiAxPT1iLmludGVydmFsRHVyYXRpb24uYXMoIm1vbnRocyIpJiZhLm1vbnRoKCkhPWIuaW50ZXJ2YWxTdGFydC5tb250aCgpJiZkLnB1c2goImZjLW90aGVyLW1vbnRoIiksYS5pc1NhbWUoYywiZGF5Iik/ZC5wdXNoKCJmYy10b2RheSIsYi5oaWdobGlnaHRTdGF0ZUNsYXNzKTpjPmE/ZC5wdXNoKCJmYy1wYXN0Iik6ZC5wdXNoKCJmYy1mdXR1cmUiKSxkfX0pO2tiLm1peGluKHttb3VzZWRPdmVyU2VnOm51bGwsaXNEcmFnZ2luZ1NlZzohMSxpc1Jlc2l6aW5nU2VnOiExLGlzRHJhZ2dpbmdFeHRlcm5hbDohMSxzZWdzOm51bGwscmVuZGVyRXZlbnRzOmZ1bmN0aW9uKGEpe3ZhciBiLGM9W10sZD1bXTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKSh3YShhW2JdKT9jOmQpLnB1c2goYVtiXSk7dGhpcy5zZWdzPVtdLmNvbmNhdCh0aGlzLnJlbmRlckJnRXZlbnRzKGMpLHRoaXMucmVuZGVyRmdFdmVudHMoZCkpfSxyZW5kZXJCZ0V2ZW50czpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmV2ZW50c1RvU2VncyhhKTtyZXR1cm4gdGhpcy5yZW5kZXJCZ1NlZ3MoYil8fGJ9LHJlbmRlckZnRXZlbnRzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuZXZlbnRzVG9TZWdzKGEpO3JldHVybiB0aGlzLnJlbmRlckZnU2VncyhiKXx8Yn0sdW5yZW5kZXJFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLnRyaWdnZXJTZWdNb3VzZW91dCgpLHRoaXMudW5yZW5kZXJGZ1NlZ3MoKSx0aGlzLnVucmVuZGVyQmdTZWdzKCksdGhpcy5zZWdzPW51bGx9LGdldEV2ZW50U2VnczpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNlZ3N8fFtdfSxyZW5kZXJGZ1NlZ3M6ZnVuY3Rpb24oYSl7fSx1bnJlbmRlckZnU2VnczpmdW5jdGlvbigpe30scmVuZGVyRmdTZWdFbHM6ZnVuY3Rpb24oYixjKXt2YXIgZCxlPXRoaXMudmlldyxmPSIiLGc9W107aWYoYi5sZW5ndGgpe2ZvcihkPTA7ZDxiLmxlbmd0aDtkKyspZis9dGhpcy5mZ1NlZ0h0bWwoYltkXSxjKTthKGYpLmVhY2goZnVuY3Rpb24oYyxkKXt2YXIgZj1iW2NdLGg9ZS5yZXNvbHZlRXZlbnRFbChmLmV2ZW50LGEoZCkpO2gmJihoLmRhdGEoImZjLXNlZyIsZiksZi5lbD1oLGcucHVzaChmKSl9KX1yZXR1cm4gZ30sZmdTZWdIdG1sOmZ1bmN0aW9uKGEsYil7fSxyZW5kZXJCZ1NlZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMucmVuZGVyRmlsbCgiYmdFdmVudCIsYSl9LHVucmVuZGVyQmdTZWdzOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckZpbGwoImJnRXZlbnQiKX0sYmdFdmVudFNlZ0VsOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMudmlldy5yZXNvbHZlRXZlbnRFbChhLmV2ZW50LGIpfSxiZ0V2ZW50U2VnQ2xhc3NlczpmdW5jdGlvbihhKXt2YXIgYj1hLmV2ZW50LGM9Yi5zb3VyY2V8fHt9O3JldHVyblsiZmMtYmdldmVudCJdLmNvbmNhdChiLmNsYXNzTmFtZSxjLmNsYXNzTmFtZXx8W10pfSxiZ0V2ZW50U2VnQ3NzOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlldyxjPWEuZXZlbnQsZD1jLnNvdXJjZXx8e307cmV0dXJueyJiYWNrZ3JvdW5kLWNvbG9yIjpjLmJhY2tncm91bmRDb2xvcnx8Yy5jb2xvcnx8ZC5iYWNrZ3JvdW5kQ29sb3J8fGQuY29sb3J8fGIub3B0KCJldmVudEJhY2tncm91bmRDb2xvciIpfHxiLm9wdCgiZXZlbnRDb2xvciIpfX0sYnVzaW5lc3NIb3Vyc1NlZ0NsYXNzZXM6ZnVuY3Rpb24oYSl7cmV0dXJuWyJmYy1ub25idXNpbmVzcyIsImZjLWJnZXZlbnQiXX0sYmluZFNlZ0hhbmRsZXJzOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPXRoaXMudmlldzthLmVhY2goe21vdXNlZW50ZXI6ZnVuY3Rpb24oYSxjKXtiLnRyaWdnZXJTZWdNb3VzZW92ZXIoYSxjKX0sbW91c2VsZWF2ZTpmdW5jdGlvbihhLGMpe2IudHJpZ2dlclNlZ01vdXNlb3V0KGEsYyl9LGNsaWNrOmZ1bmN0aW9uKGEsYil7cmV0dXJuIGMudHJpZ2dlcigiZXZlbnRDbGljayIsdGhpcyxhLmV2ZW50LGIpfSxtb3VzZWRvd246ZnVuY3Rpb24oZCxlKXthKGUudGFyZ2V0KS5pcygiLmZjLXJlc2l6ZXIiKSYmYy5pc0V2ZW50UmVzaXphYmxlKGQuZXZlbnQpP2Iuc2VnUmVzaXplTW91c2Vkb3duKGQsZSxhKGUudGFyZ2V0KS5pcygiLmZjLXN0YXJ0LXJlc2l6ZXIiKSk6Yy5pc0V2ZW50RHJhZ2dhYmxlKGQuZXZlbnQpJiZiLnNlZ0RyYWdNb3VzZWRvd24oZCxlKX19LGZ1bmN0aW9uKGMsZCl7Yi5lbC5vbihjLCIuZmMtZXZlbnQtY29udGFpbmVyID4gKiIsZnVuY3Rpb24oYyl7dmFyIGU9YSh0aGlzKS5kYXRhKCJmYy1zZWciKTtyZXR1cm4hZXx8Yi5pc0RyYWdnaW5nU2VnfHxiLmlzUmVzaXppbmdTZWc/dm9pZCAwOmQuY2FsbCh0aGlzLGUsYyl9KX0pfSx0cmlnZ2VyU2VnTW91c2VvdmVyOmZ1bmN0aW9uKGEsYil7dGhpcy5tb3VzZWRPdmVyU2VnfHwodGhpcy5tb3VzZWRPdmVyU2VnPWEsdGhpcy52aWV3LnRyaWdnZXIoImV2ZW50TW91c2VvdmVyIixhLmVsWzBdLGEuZXZlbnQsYikpfSx0cmlnZ2VyU2VnTW91c2VvdXQ6ZnVuY3Rpb24oYSxiKXtiPWJ8fHt9LHRoaXMubW91c2VkT3ZlclNlZyYmKGE9YXx8dGhpcy5tb3VzZWRPdmVyU2VnLHRoaXMubW91c2VkT3ZlclNlZz1udWxsLHRoaXMudmlldy50cmlnZ2VyKCJldmVudE1vdXNlb3V0IixhLmVsWzBdLGEuZXZlbnQsYikpfSxzZWdEcmFnTW91c2Vkb3duOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD10aGlzLGU9dGhpcy52aWV3LGY9ZS5jYWxlbmRhcixpPWEuZWwsaj1hLmV2ZW50LGs9bmV3IGpiKGEuZWwse3BhcmVudEVsOmUuZWwsb3BhY2l0eTplLm9wdCgiZHJhZ09wYWNpdHkiKSxyZXZlcnREdXJhdGlvbjplLm9wdCgiZHJhZ1JldmVydER1cmF0aW9uIiksekluZGV4OjJ9KSxsPW5ldyBpYihlLHtkaXN0YW5jZTo1LHNjcm9sbDplLm9wdCgiZHJhZ1Njcm9sbCIpLHN1YmplY3RFbDppLHN1YmplY3RDZW50ZXI6ITAsbGlzdGVuU3RhcnQ6ZnVuY3Rpb24oYSl7ay5oaWRlKCksay5zdGFydChhKX0sZHJhZ1N0YXJ0OmZ1bmN0aW9uKGIpe2QudHJpZ2dlclNlZ01vdXNlb3V0KGEsYiksZC5zZWdEcmFnU3RhcnQoYSxiKSxlLmhpZGVFdmVudChqKX0saGl0T3ZlcjpmdW5jdGlvbihiLGgsaSl7YS5oaXQmJihpPWEuaGl0KSxjPWQuY29tcHV0ZUV2ZW50RHJvcChpLmNvbXBvbmVudC5nZXRIaXRTcGFuKGkpLGIuY29tcG9uZW50LmdldEhpdFNwYW4oYiksaiksYyYmIWYuaXNFdmVudFNwYW5BbGxvd2VkKGQuZXZlbnRUb1NwYW4oYyksaikmJihnKCksYz1udWxsKSxjJiZlLnJlbmRlckRyYWcoYyxhKT9rLmhpZGUoKTprLnNob3coKSxoJiYoYz1udWxsKX0saGl0T3V0OmZ1bmN0aW9uKCl7ZS51bnJlbmRlckRyYWcoKSxrLnNob3coKSxjPW51bGx9LGhpdERvbmU6ZnVuY3Rpb24oKXtoKCl9LGRyYWdTdG9wOmZ1bmN0aW9uKGIpe2suc3RvcCghYyxmdW5jdGlvbigpe2UudW5yZW5kZXJEcmFnKCksZS5zaG93RXZlbnQoaiksZC5zZWdEcmFnU3RvcChhLGIpLGMmJmUucmVwb3J0RXZlbnREcm9wKGosYyx0aGlzLmxhcmdlVW5pdCxpLGIpfSl9LGxpc3RlblN0b3A6ZnVuY3Rpb24oKXtrLnN0b3AoKX19KTtsLm1vdXNlZG93bihiKX0sc2VnRHJhZ1N0YXJ0OmZ1bmN0aW9uKGEsYil7dGhpcy5pc0RyYWdnaW5nU2VnPSEwLHRoaXMudmlldy50cmlnZ2VyKCJldmVudERyYWdTdGFydCIsYS5lbFswXSxhLmV2ZW50LGIse30pfSxzZWdEcmFnU3RvcDpmdW5jdGlvbihhLGIpe3RoaXMuaXNEcmFnZ2luZ1NlZz0hMSx0aGlzLnZpZXcudHJpZ2dlcigiZXZlbnREcmFnU3RvcCIsYS5lbFswXSxhLmV2ZW50LGIse30pfSxjb21wdXRlRXZlbnREcm9wOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGY9dGhpcy52aWV3LmNhbGVuZGFyLGc9YS5zdGFydCxoPWIuc3RhcnQ7cmV0dXJuIGcuaGFzVGltZSgpPT09aC5oYXNUaW1lKCk/KGQ9dGhpcy5kaWZmRGF0ZXMoaCxnKSxjLmFsbERheSYmTihkKT8oZT17c3RhcnQ6Yy5zdGFydC5jbG9uZSgpLGVuZDpmLmdldEV2ZW50RW5kKGMpLGFsbERheTohMX0sZi5ub3JtYWxpemVFdmVudFRpbWVzKGUpKTplPXtzdGFydDpjLnN0YXJ0LmNsb25lKCksZW5kOmMuZW5kP2MuZW5kLmNsb25lKCk6bnVsbCxhbGxEYXk6Yy5hbGxEYXl9LGUuc3RhcnQuYWRkKGQpLGUuZW5kJiZlLmVuZC5hZGQoZCkpOmU9e3N0YXJ0OmguY2xvbmUoKSxlbmQ6bnVsbCxhbGxEYXk6IWguaGFzVGltZSgpfSxlfSxhcHBseURyYWdPcGFjaXR5OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlldy5vcHQoImRyYWdPcGFjaXR5Iik7bnVsbCE9YiYmYS5lYWNoKGZ1bmN0aW9uKGEsYyl7Yy5zdHlsZS5vcGFjaXR5PWJ9KX0sZXh0ZXJuYWxEcmFnU3RhcnQ6ZnVuY3Rpb24oYixjKXt2YXIgZCxlLGY9dGhpcy52aWV3O2Yub3B0KCJkcm9wcGFibGUiKSYmKGQ9YSgoYz9jLml0ZW06bnVsbCl8fGIudGFyZ2V0KSxlPWYub3B0KCJkcm9wQWNjZXB0IiksKGEuaXNGdW5jdGlvbihlKT9lLmNhbGwoZFswXSxkKTpkLmlzKGUpKSYmKHRoaXMuaXNEcmFnZ2luZ0V4dGVybmFsfHx0aGlzLmxpc3RlblRvRXh0ZXJuYWxEcmFnKGQsYixjKSkpfSxsaXN0ZW5Ub0V4dGVybmFsRHJhZzpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZT10aGlzLGY9dGhpcy52aWV3LmNhbGVuZGFyLGk9QmEoYSksaj1uZXcgaWIodGhpcyx7bGlzdGVuU3RhcnQ6ZnVuY3Rpb24oKXtlLmlzRHJhZ2dpbmdFeHRlcm5hbD0hMH0saGl0T3ZlcjpmdW5jdGlvbihhKXtkPWUuY29tcHV0ZUV4dGVybmFsRHJvcChhLmNvbXBvbmVudC5nZXRIaXRTcGFuKGEpLGkpLGQmJiFmLmlzRXh0ZXJuYWxTcGFuQWxsb3dlZChlLmV2ZW50VG9TcGFuKGQpLGQsaS5ldmVudFByb3BzKSYmKGcoKSxkPW51bGwpLGQmJmUucmVuZGVyRHJhZyhkKX0saGl0T3V0OmZ1bmN0aW9uKCl7ZD1udWxsfSxoaXREb25lOmZ1bmN0aW9uKCl7aCgpLGUudW5yZW5kZXJEcmFnKCl9LGRyYWdTdG9wOmZ1bmN0aW9uKCl7ZCYmZS52aWV3LnJlcG9ydEV4dGVybmFsRHJvcChpLGQsYSxiLGMpfSxsaXN0ZW5TdG9wOmZ1bmN0aW9uKCl7ZS5pc0RyYWdnaW5nRXh0ZXJuYWw9ITF9fSk7ai5zdGFydERyYWcoYil9LGNvbXB1dGVFeHRlcm5hbERyb3A6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnZpZXcuY2FsZW5kYXIsZD17c3RhcnQ6Yy5hcHBseVRpbWV6b25lKGEuc3RhcnQpLGVuZDpudWxsfTtyZXR1cm4gYi5zdGFydFRpbWUmJiFkLnN0YXJ0Lmhhc1RpbWUoKSYmZC5zdGFydC50aW1lKGIuc3RhcnRUaW1lKSxiLmR1cmF0aW9uJiYoZC5lbmQ9ZC5zdGFydC5jbG9uZSgpLmFkZChiLmR1cmF0aW9uKSksZH0scmVuZGVyRHJhZzpmdW5jdGlvbihhLGIpe30sdW5yZW5kZXJEcmFnOmZ1bmN0aW9uKCl7fSxzZWdSZXNpemVNb3VzZWRvd246ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGU9dGhpcyxmPXRoaXMudmlldyxpPWYuY2FsZW5kYXIsaj1hLmVsLGs9YS5ldmVudCxsPWkuZ2V0RXZlbnRFbmQoayksbT1uZXcgaWIodGhpcyx7ZGlzdGFuY2U6NSxzY3JvbGw6Zi5vcHQoImRyYWdTY3JvbGwiKSxzdWJqZWN0RWw6aixkcmFnU3RhcnQ6ZnVuY3Rpb24oYil7ZS50cmlnZ2VyU2VnTW91c2VvdXQoYSxiKSxlLnNlZ1Jlc2l6ZVN0YXJ0KGEsYil9LGhpdE92ZXI6ZnVuY3Rpb24oYixoLGope3ZhciBtPWUuZ2V0SGl0U3BhbihqKSxuPWUuZ2V0SGl0U3BhbihiKTtkPWM/ZS5jb21wdXRlRXZlbnRTdGFydFJlc2l6ZShtLG4sayk6ZS5jb21wdXRlRXZlbnRFbmRSZXNpemUobSxuLGspLGQmJihpLmlzRXZlbnRTcGFuQWxsb3dlZChlLmV2ZW50VG9TcGFuKGQpLGspP2Quc3RhcnQuaXNTYW1lKGsuc3RhcnQpJiZkLmVuZC5pc1NhbWUobCkmJihkPW51bGwpOihnKCksZD1udWxsKSksZCYmKGYuaGlkZUV2ZW50KGspLGUucmVuZGVyRXZlbnRSZXNpemUoZCxhKSl9LGhpdE91dDpmdW5jdGlvbigpe2Q9bnVsbH0saGl0RG9uZTpmdW5jdGlvbigpe2UudW5yZW5kZXJFdmVudFJlc2l6ZSgpLGYuc2hvd0V2ZW50KGspLGgoKX0sZHJhZ1N0b3A6ZnVuY3Rpb24oYil7ZS5zZWdSZXNpemVTdG9wKGEsYiksZCYmZi5yZXBvcnRFdmVudFJlc2l6ZShrLGQsdGhpcy5sYXJnZVVuaXQsaixiKX19KTttLm1vdXNlZG93bihiKX0sc2VnUmVzaXplU3RhcnQ6ZnVuY3Rpb24oYSxiKXt0aGlzLmlzUmVzaXppbmdTZWc9ITAsdGhpcy52aWV3LnRyaWdnZXIoImV2ZW50UmVzaXplU3RhcnQiLGEuZWxbMF0sYS5ldmVudCxiLHt9KX0sc2VnUmVzaXplU3RvcDpmdW5jdGlvbihhLGIpe3RoaXMuaXNSZXNpemluZ1NlZz0hMSx0aGlzLnZpZXcudHJpZ2dlcigiZXZlbnRSZXNpemVTdG9wIixhLmVsWzBdLGEuZXZlbnQsYix7fSl9LGNvbXB1dGVFdmVudFN0YXJ0UmVzaXplOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdGhpcy5jb21wdXRlRXZlbnRSZXNpemUoInN0YXJ0IixhLGIsYyl9LGNvbXB1dGVFdmVudEVuZFJlc2l6ZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHRoaXMuY29tcHV0ZUV2ZW50UmVzaXplKCJlbmQiLGEsYixjKX0sY29tcHV0ZUV2ZW50UmVzaXplOmZ1bmN0aW9uKGEsYixjLGQpe3ZhciBlLGYsZz10aGlzLnZpZXcuY2FsZW5kYXIsaD10aGlzLmRpZmZEYXRlcyhjW2FdLGJbYV0pO3JldHVybiBlPXtzdGFydDpkLnN0YXJ0LmNsb25lKCksZW5kOmcuZ2V0RXZlbnRFbmQoZCksYWxsRGF5OmQuYWxsRGF5fSxlLmFsbERheSYmTihoKSYmKGUuYWxsRGF5PSExLGcubm9ybWFsaXplRXZlbnRUaW1lcyhlKSksZVthXS5hZGQoaCksZS5zdGFydC5pc0JlZm9yZShlLmVuZCl8fChmPXRoaXMubWluUmVzaXplRHVyYXRpb258fChkLmFsbERheT9nLmRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uOmcuZGVmYXVsdFRpbWVkRXZlbnREdXJhdGlvbiksInN0YXJ0Ij09YT9lLnN0YXJ0PWUuZW5kLmNsb25lKCkuc3VidHJhY3QoZik6ZS5lbmQ9ZS5zdGFydC5jbG9uZSgpLmFkZChmKSksZX0scmVuZGVyRXZlbnRSZXNpemU6ZnVuY3Rpb24oYSxiKXt9LHVucmVuZGVyRXZlbnRSZXNpemU6ZnVuY3Rpb24oKXt9LGdldEV2ZW50VGltZVRleHQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBudWxsPT1iJiYoYj10aGlzLmV2ZW50VGltZUZvcm1hdCksbnVsbD09YyYmKGM9dGhpcy5kaXNwbGF5RXZlbnRFbmQpLHRoaXMuZGlzcGxheUV2ZW50VGltZSYmYS5zdGFydC5oYXNUaW1lKCk/YyYmYS5lbmQ/dGhpcy52aWV3LmZvcm1hdFJhbmdlKGEsYik6YS5zdGFydC5mb3JtYXQoYik6IiJ9LGdldFNlZ0NsYXNzZXM6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZXZlbnQsZT1bImZjLWV2ZW50IixhLmlzU3RhcnQ/ImZjLXN0YXJ0IjoiZmMtbm90LXN0YXJ0IixhLmlzRW5kPyJmYy1lbmQiOiJmYy1ub3QtZW5kIl0uY29uY2F0KGQuY2xhc3NOYW1lLGQuc291cmNlP2Quc291cmNlLmNsYXNzTmFtZTpbXSk7cmV0dXJuIGImJmUucHVzaCgiZmMtZHJhZ2dhYmxlIiksYyYmZS5wdXNoKCJmYy1yZXNpemFibGUiKSxlfSxnZXRFdmVudFNraW5Dc3M6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy52aWV3LGM9YS5zb3VyY2V8fHt9LGQ9YS5jb2xvcixlPWMuY29sb3IsZj1iLm9wdCgiZXZlbnRDb2xvciIpO3JldHVybnsiYmFja2dyb3VuZC1jb2xvciI6YS5iYWNrZ3JvdW5kQ29sb3J8fGR8fGMuYmFja2dyb3VuZENvbG9yfHxlfHxiLm9wdCgiZXZlbnRCYWNrZ3JvdW5kQ29sb3IiKXx8ZiwiYm9yZGVyLWNvbG9yIjphLmJvcmRlckNvbG9yfHxkfHxjLmJvcmRlckNvbG9yfHxlfHxiLm9wdCgiZXZlbnRCb3JkZXJDb2xvciIpfHxmLGNvbG9yOmEudGV4dENvbG9yfHxjLnRleHRDb2xvcnx8Yi5vcHQoImV2ZW50VGV4dENvbG9yIil9fSxldmVudFRvU2VnczpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5ldmVudHNUb1NlZ3MoW2FdKX0sZXZlbnRUb1NwYW46ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZXZlbnRUb1NwYW5zKGEpWzBdfSxldmVudFRvU3BhbnM6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5ldmVudFRvUmFuZ2UoYSk7cmV0dXJuIHRoaXMuZXZlbnRSYW5nZVRvU3BhbnMoYixhKX0sZXZlbnRzVG9TZWdzOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9dGhpcyxlPXphKGIpLGY9W107cmV0dXJuIGEuZWFjaChlLGZ1bmN0aW9uKGEsYil7dmFyIGUsZz1bXTtmb3IoZT0wO2U8Yi5sZW5ndGg7ZSsrKWcucHVzaChkLmV2ZW50VG9SYW5nZShiW2VdKSk7aWYoeGEoYlswXSkpZm9yKGc9ZC5pbnZlcnRSYW5nZXMoZyksZT0wO2U8Zy5sZW5ndGg7ZSsrKWYucHVzaC5hcHBseShmLGQuZXZlbnRSYW5nZVRvU2VncyhnW2VdLGJbMF0sYykpO2Vsc2UgZm9yKGU9MDtlPGcubGVuZ3RoO2UrKylmLnB1c2guYXBwbHkoZixkLmV2ZW50UmFuZ2VUb1NlZ3MoZ1tlXSxiW2VdLGMpKX0pLGZ9LGV2ZW50VG9SYW5nZTpmdW5jdGlvbihhKXtyZXR1cm57c3RhcnQ6YS5zdGFydC5jbG9uZSgpLnN0cmlwWm9uZSgpLGVuZDooYS5lbmQ/YS5lbmQuY2xvbmUoKTp0aGlzLnZpZXcuY2FsZW5kYXIuZ2V0RGVmYXVsdEV2ZW50RW5kKG51bGwhPWEuYWxsRGF5P2EuYWxsRGF5OiFhLnN0YXJ0Lmhhc1RpbWUoKSxhLnN0YXJ0KSkuc3RyaXBab25lKCl9fSxldmVudFJhbmdlVG9TZWdzOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPXRoaXMuZXZlbnRSYW5nZVRvU3BhbnMoYSxiKSxmPVtdO2ZvcihkPTA7ZDxlLmxlbmd0aDtkKyspZi5wdXNoLmFwcGx5KGYsdGhpcy5ldmVudFNwYW5Ub1NlZ3MoZVtkXSxiLGMpKTtyZXR1cm4gZn0sZXZlbnRSYW5nZVRvU3BhbnM6ZnVuY3Rpb24oYixjKXtyZXR1cm5bYS5leHRlbmQoe30sYildfSxldmVudFNwYW5Ub1NlZ3M6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1jP2MoYSk6dGhpcy5zcGFuVG9TZWdzKGEpO2ZvcihkPTA7ZDxmLmxlbmd0aDtkKyspZT1mW2RdLGUuZXZlbnQ9YixlLmV2ZW50U3RhcnRNUz0rYS5zdGFydCxlLmV2ZW50RHVyYXRpb25NUz1hLmVuZC1hLnN0YXJ0O3JldHVybiBmfSxpbnZlcnRSYW5nZXM6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPXRoaXMudmlldyxlPWQuc3RhcnQuY2xvbmUoKSxmPWQuZW5kLmNsb25lKCksZz1bXSxoPWU7Zm9yKGEuc29ydChBYSksYj0wO2I8YS5sZW5ndGg7YisrKWM9YVtiXSxjLnN0YXJ0PmgmJmcucHVzaCh7c3RhcnQ6aCxlbmQ6Yy5zdGFydH0pLGg9Yy5lbmQ7cmV0dXJuIGY+aCYmZy5wdXNoKHtzdGFydDpoLGVuZDpmfSksZ30sc29ydEV2ZW50U2VnczpmdW5jdGlvbihhKXthLnNvcnQoY2EodGhpcywiY29tcGFyZUV2ZW50U2VncyIpKX0sY29tcGFyZUV2ZW50U2VnczpmdW5jdGlvbihhLGIpe3JldHVybiBhLmV2ZW50U3RhcnRNUy1iLmV2ZW50U3RhcnRNU3x8Yi5ldmVudER1cmF0aW9uTVMtYS5ldmVudER1cmF0aW9uTVN8fGIuZXZlbnQuYWxsRGF5LWEuZXZlbnQuYWxsRGF5fHxCKGEuZXZlbnQsYi5ldmVudCx0aGlzLnZpZXcuZXZlbnRPcmRlclNwZWNzKX19KSxQYS5pc0JnRXZlbnQ9d2EsUGEuZGF0YUF0dHJQcmVmaXg9IiI7dmFyIGxiPVBhLkRheVRhYmxlTWl4aW49e2JyZWFrT25XZWVrczohMSxkYXlEYXRlczpudWxsLGRheUluZGljZXM6bnVsbCxkYXlzUGVyUm93Om51bGwscm93Q250Om51bGwsY29sQ250Om51bGwsY29sSGVhZEZvcm1hdDpudWxsLHVwZGF0ZURheVRhYmxlOmZ1bmN0aW9uKCl7Zm9yKHZhciBhLGIsYyxkPXRoaXMudmlldyxlPXRoaXMuc3RhcnQuY2xvbmUoKSxmPS0xLGc9W10saD1bXTtlLmlzQmVmb3JlKHRoaXMuZW5kKTspZC5pc0hpZGRlbkRheShlKT9nLnB1c2goZisuNSk6KGYrKyxnLnB1c2goZiksaC5wdXNoKGUuY2xvbmUoKSkpLGUuYWRkKDEsImRheXMiKTtpZih0aGlzLmJyZWFrT25XZWVrcyl7Zm9yKGI9aFswXS5kYXkoKSxhPTE7YTxoLmxlbmd0aCYmaFthXS5kYXkoKSE9YjthKyspO2M9TWF0aC5jZWlsKGgubGVuZ3RoL2EpfWVsc2UgYz0xLGE9aC5sZW5ndGg7dGhpcy5kYXlEYXRlcz1oLHRoaXMuZGF5SW5kaWNlcz1nLHRoaXMuZGF5c1BlclJvdz1hLHRoaXMucm93Q250PWMsdGhpcy51cGRhdGVEYXlUYWJsZUNvbHMoKX0sdXBkYXRlRGF5VGFibGVDb2xzOmZ1bmN0aW9uKCl7dGhpcy5jb2xDbnQ9dGhpcy5jb21wdXRlQ29sQ250KCksdGhpcy5jb2xIZWFkRm9ybWF0PXRoaXMudmlldy5vcHQoImNvbHVtbkZvcm1hdCIpfHx0aGlzLmNvbXB1dGVDb2xIZWFkRm9ybWF0KCl9LGNvbXB1dGVDb2xDbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5kYXlzUGVyUm93fSxnZXRDZWxsRGF0ZTpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmRheURhdGVzW3RoaXMuZ2V0Q2VsbERheUluZGV4KGEsYildLmNsb25lKCl9LGdldENlbGxSYW5nZTpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuZ2V0Q2VsbERhdGUoYSxiKSxkPWMuY2xvbmUoKS5hZGQoMSwiZGF5cyIpO3JldHVybntzdGFydDpjLGVuZDpkfX0sZ2V0Q2VsbERheUluZGV4OmZ1bmN0aW9uKGEsYil7cmV0dXJuIGEqdGhpcy5kYXlzUGVyUm93K3RoaXMuZ2V0Q29sRGF5SW5kZXgoYil9LGdldENvbERheUluZGV4OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlzUlRMP3RoaXMuY29sQ250LTEtYTphfSxnZXREYXRlRGF5SW5kZXg6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5kYXlJbmRpY2VzLGM9YS5kaWZmKHRoaXMuc3RhcnQsImRheXMiKTtyZXR1cm4gMD5jP2JbMF0tMTpjPj1iLmxlbmd0aD9iW2IubGVuZ3RoLTFdKzE6YltjXX0sY29tcHV0ZUNvbEhlYWRGb3JtYXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5yb3dDbnQ+MXx8dGhpcy5jb2xDbnQ+MTA/ImRkZCI6dGhpcy5jb2xDbnQ+MT90aGlzLnZpZXcub3B0KCJkYXlPZk1vbnRoRm9ybWF0Iik6ImRkZGQifSxzbGljZVJhbmdlQnlSb3c6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnPXRoaXMuZGF5c1BlclJvdyxoPXRoaXMudmlldy5jb21wdXRlRGF5UmFuZ2UoYSksaT10aGlzLmdldERhdGVEYXlJbmRleChoLnN0YXJ0KSxqPXRoaXMuZ2V0RGF0ZURheUluZGV4KGguZW5kLmNsb25lKCkuc3VidHJhY3QoMSwiZGF5cyIpKSxrPVtdO2ZvcihiPTA7Yjx0aGlzLnJvd0NudDtiKyspYz1iKmcsZD1jK2ctMSxlPU1hdGgubWF4KGksYyksZj1NYXRoLm1pbihqLGQpLGU9TWF0aC5jZWlsKGUpLGY9TWF0aC5mbG9vcihmKSxmPj1lJiZrLnB1c2goe3JvdzpiLGZpcnN0Um93RGF5SW5kZXg6ZS1jLGxhc3RSb3dEYXlJbmRleDpmLWMsaXNTdGFydDplPT09aSxpc0VuZDpmPT09an0pO3JldHVybiBrfSxzbGljZVJhbmdlQnlEYXk6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg9dGhpcy5kYXlzUGVyUm93LGk9dGhpcy52aWV3LmNvbXB1dGVEYXlSYW5nZShhKSxqPXRoaXMuZ2V0RGF0ZURheUluZGV4KGkuc3RhcnQpLGs9dGhpcy5nZXREYXRlRGF5SW5kZXgoaS5lbmQuY2xvbmUoKS5zdWJ0cmFjdCgxLCJkYXlzIikpLGw9W107Zm9yKGI9MDtiPHRoaXMucm93Q250O2IrKylmb3IoYz1iKmgsZD1jK2gtMSxlPWM7ZD49ZTtlKyspZj1NYXRoLm1heChqLGUpLGc9TWF0aC5taW4oayxlKSxmPU1hdGguY2VpbChmKSxnPU1hdGguZmxvb3IoZyksZz49ZiYmbC5wdXNoKHtyb3c6YixmaXJzdFJvd0RheUluZGV4OmYtYyxsYXN0Um93RGF5SW5kZXg6Zy1jLGlzU3RhcnQ6Zj09PWosaXNFbmQ6Zz09PWt9KTtyZXR1cm4gbH0scmVuZGVySGVhZEh0bWw6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnZpZXc7cmV0dXJuJzxkaXYgY2xhc3M9ImZjLXJvdyAnK2Eud2lkZ2V0SGVhZGVyQ2xhc3MrJyI+PHRhYmxlPjx0aGVhZD4nK3RoaXMucmVuZGVySGVhZFRySHRtbCgpKyI8L3RoZWFkPjwvdGFibGU+PC9kaXY+In0scmVuZGVySGVhZEludHJvSHRtbDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnJlbmRlckludHJvSHRtbCgpfSxyZW5kZXJIZWFkVHJIdG1sOmZ1bmN0aW9uKCl7cmV0dXJuIjx0cj4iKyh0aGlzLmlzUlRMPyIiOnRoaXMucmVuZGVySGVhZEludHJvSHRtbCgpKSt0aGlzLnJlbmRlckhlYWREYXRlQ2VsbHNIdG1sKCkrKHRoaXMuaXNSVEw/dGhpcy5yZW5kZXJIZWFkSW50cm9IdG1sKCk6IiIpKyI8L3RyPiJ9LHJlbmRlckhlYWREYXRlQ2VsbHNIdG1sOmZ1bmN0aW9uKCl7dmFyIGEsYixjPVtdO2ZvcihhPTA7YTx0aGlzLmNvbENudDthKyspYj10aGlzLmdldENlbGxEYXRlKDAsYSksYy5wdXNoKHRoaXMucmVuZGVySGVhZERhdGVDZWxsSHRtbChiKSk7cmV0dXJuIGMuam9pbigiIil9LHJlbmRlckhlYWREYXRlQ2VsbEh0bWw6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPXRoaXMudmlldztyZXR1cm4nPHRoIGNsYXNzPSJmYy1kYXktaGVhZGVyICcrZC53aWRnZXRIZWFkZXJDbGFzcysiIGZjLSIrVGFbYS5kYXkoKV0rJyInKygxPT10aGlzLnJvd0NudD8nIGRhdGEtZGF0ZT0iJythLmZvcm1hdCgiWVlZWS1NTS1ERCIpKyciJzoiIikrKGI+MT8nIGNvbHNwYW49IicrYisnIic6IiIpKyhjPyIgIitjOiIiKSsiPiIrWShhLmZvcm1hdCh0aGlzLmNvbEhlYWRGb3JtYXQpKSsiPC90aD4ifSxyZW5kZXJCZ1RySHRtbDpmdW5jdGlvbihhKXtyZXR1cm4iPHRyPiIrKHRoaXMuaXNSVEw/IiI6dGhpcy5yZW5kZXJCZ0ludHJvSHRtbChhKSkrdGhpcy5yZW5kZXJCZ0NlbGxzSHRtbChhKSsodGhpcy5pc1JUTD90aGlzLnJlbmRlckJnSW50cm9IdG1sKGEpOiIiKSsiPC90cj4ifSxyZW5kZXJCZ0ludHJvSHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yZW5kZXJJbnRyb0h0bWwoKX0scmVuZGVyQmdDZWxsc0h0bWw6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPVtdO2ZvcihiPTA7Yjx0aGlzLmNvbENudDtiKyspYz10aGlzLmdldENlbGxEYXRlKGEsYiksZC5wdXNoKHRoaXMucmVuZGVyQmdDZWxsSHRtbChjKSk7cmV0dXJuIGQuam9pbigiIil9LHJlbmRlckJnQ2VsbEh0bWw6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLnZpZXcsZD10aGlzLmdldERheUNsYXNzZXMoYSk7cmV0dXJuIGQudW5zaGlmdCgiZmMtZGF5IixjLndpZGdldENvbnRlbnRDbGFzcyksJzx0ZCBjbGFzcz0iJytkLmpvaW4oIiAiKSsnIiBkYXRhLWRhdGU9IicrYS5mb3JtYXQoIllZWVktTU0tREQiKSsnIicrKGI/IiAiK2I6IiIpKyI+PC90ZD4ifSxyZW5kZXJJbnRyb0h0bWw6ZnVuY3Rpb24oKXt9LGJvb2tlbmRDZWxsczpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnJlbmRlckludHJvSHRtbCgpO2ImJih0aGlzLmlzUlRMP2EuYXBwZW5kKGIpOmEucHJlcGVuZChiKSl9fSxtYj1QYS5EYXlHcmlkPWtiLmV4dGVuZChsYix7bnVtYmVyc1Zpc2libGU6ITEsYm90dG9tQ29vcmRQYWRkaW5nOjAscm93RWxzOm51bGwsY2VsbEVsczpudWxsLGhlbHBlckVsczpudWxsLHJvd0Nvb3JkQ2FjaGU6bnVsbCxjb2xDb29yZENhY2hlOm51bGwscmVuZGVyRGF0ZXM6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPXRoaXMudmlldyxlPXRoaXMucm93Q250LGY9dGhpcy5jb2xDbnQsZz0iIjtmb3IoYj0wO2U+YjtiKyspZys9dGhpcy5yZW5kZXJEYXlSb3dIdG1sKGIsYSk7Zm9yKHRoaXMuZWwuaHRtbChnKSx0aGlzLnJvd0Vscz10aGlzLmVsLmZpbmQoIi5mYy1yb3ciKSx0aGlzLmNlbGxFbHM9dGhpcy5lbC5maW5kKCIuZmMtZGF5IiksdGhpcy5yb3dDb29yZENhY2hlPW5ldyBnYih7ZWxzOnRoaXMucm93RWxzLGlzVmVydGljYWw6ITB9KSx0aGlzLmNvbENvb3JkQ2FjaGU9bmV3IGdiKHtlbHM6dGhpcy5jZWxsRWxzLnNsaWNlKDAsdGhpcy5jb2xDbnQpLGlzSG9yaXpvbnRhbDohMH0pLGI9MDtlPmI7YisrKWZvcihjPTA7Zj5jO2MrKylkLnRyaWdnZXIoImRheVJlbmRlciIsbnVsbCx0aGlzLmdldENlbGxEYXRlKGIsYyksdGhpcy5nZXRDZWxsRWwoYixjKSl9LHVucmVuZGVyRGF0ZXM6ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZVNlZ1BvcG92ZXIoKX0scmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe3ZhciBhPXRoaXMudmlldy5jYWxlbmRhci5nZXRCdXNpbmVzc0hvdXJzRXZlbnRzKCEwKSxiPXRoaXMuZXZlbnRzVG9TZWdzKGEpO3RoaXMucmVuZGVyRmlsbCgiYnVzaW5lc3NIb3VycyIsYiwiYmdldmVudCIpfSxyZW5kZXJEYXlSb3dIdG1sOmZ1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy52aWV3LGQ9WyJmYy1yb3ciLCJmYy13ZWVrIixjLndpZGdldENvbnRlbnRDbGFzc107cmV0dXJuIGImJmQucHVzaCgiZmMtcmlnaWQiKSwnPGRpdiBjbGFzcz0iJytkLmpvaW4oIiAiKSsnIj48ZGl2IGNsYXNzPSJmYy1iZyI+PHRhYmxlPicrdGhpcy5yZW5kZXJCZ1RySHRtbChhKSsnPC90YWJsZT48L2Rpdj48ZGl2IGNsYXNzPSJmYy1jb250ZW50LXNrZWxldG9uIj48dGFibGU+JysodGhpcy5udW1iZXJzVmlzaWJsZT8iPHRoZWFkPiIrdGhpcy5yZW5kZXJOdW1iZXJUckh0bWwoYSkrIjwvdGhlYWQ+IjoiIikrIjwvdGFibGU+PC9kaXY+PC9kaXY+In0scmVuZGVyTnVtYmVyVHJIdG1sOmZ1bmN0aW9uKGEpe3JldHVybiI8dHI+IisodGhpcy5pc1JUTD8iIjp0aGlzLnJlbmRlck51bWJlckludHJvSHRtbChhKSkrdGhpcy5yZW5kZXJOdW1iZXJDZWxsc0h0bWwoYSkrKHRoaXMuaXNSVEw/dGhpcy5yZW5kZXJOdW1iZXJJbnRyb0h0bWwoYSk6IiIpKyI8L3RyPiJ9LHJlbmRlck51bWJlckludHJvSHRtbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yZW5kZXJJbnRyb0h0bWwoKX0scmVuZGVyTnVtYmVyQ2VsbHNIdG1sOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD1bXTtmb3IoYj0wO2I8dGhpcy5jb2xDbnQ7YisrKWM9dGhpcy5nZXRDZWxsRGF0ZShhLGIpLGQucHVzaCh0aGlzLnJlbmRlck51bWJlckNlbGxIdG1sKGMpKTtyZXR1cm4gZC5qb2luKCIiKX0scmVuZGVyTnVtYmVyQ2VsbEh0bWw6ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIHRoaXMudmlldy5kYXlOdW1iZXJzVmlzaWJsZT8oYj10aGlzLmdldERheUNsYXNzZXMoYSksYi51bnNoaWZ0KCJmYy1kYXktbnVtYmVyIiksJzx0ZCBjbGFzcz0iJytiLmpvaW4oIiAiKSsnIiBkYXRhLWRhdGU9IicrYS5mb3JtYXQoKSsnIj4nK2EuZGF0ZSgpKyI8L3RkPiIpOiI8dGQvPiJ9LGNvbXB1dGVFdmVudFRpbWVGb3JtYXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy52aWV3Lm9wdCgiZXh0cmFTbWFsbFRpbWVGb3JtYXQiKX0sY29tcHV0ZURpc3BsYXlFdmVudEVuZDpmdW5jdGlvbigpe3JldHVybiAxPT10aGlzLmNvbENudH0scmFuZ2VVcGRhdGVkOmZ1bmN0aW9uKCl7dGhpcy51cGRhdGVEYXlUYWJsZSgpfSxzcGFuVG9TZWdzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD10aGlzLnNsaWNlUmFuZ2VCeVJvdyhhKTtmb3IoYj0wO2I8ZC5sZW5ndGg7YisrKWM9ZFtiXSx0aGlzLmlzUlRMPyhjLmxlZnRDb2w9dGhpcy5kYXlzUGVyUm93LTEtYy5sYXN0Um93RGF5SW5kZXgsYy5yaWdodENvbD10aGlzLmRheXNQZXJSb3ctMS1jLmZpcnN0Um93RGF5SW5kZXgpOihjLmxlZnRDb2w9Yy5maXJzdFJvd0RheUluZGV4LGMucmlnaHRDb2w9Yy5sYXN0Um93RGF5SW5kZXgpO3JldHVybiBkfSxwcmVwYXJlSGl0czpmdW5jdGlvbigpe3RoaXMuY29sQ29vcmRDYWNoZS5idWlsZCgpLHRoaXMucm93Q29vcmRDYWNoZS5idWlsZCgpLHRoaXMucm93Q29vcmRDYWNoZS5ib3R0b21zW3RoaXMucm93Q250LTFdKz10aGlzLmJvdHRvbUNvb3JkUGFkZGluZ30scmVsZWFzZUhpdHM6ZnVuY3Rpb24oKXt0aGlzLmNvbENvb3JkQ2FjaGUuY2xlYXIoKSx0aGlzLnJvd0Nvb3JkQ2FjaGUuY2xlYXIoKX0scXVlcnlIaXQ6ZnVuY3Rpb24oYSxiKXt2YXIgYz10aGlzLmNvbENvb3JkQ2FjaGUuZ2V0SG9yaXpvbnRhbEluZGV4KGEpLGQ9dGhpcy5yb3dDb29yZENhY2hlLmdldFZlcnRpY2FsSW5kZXgoYik7cmV0dXJuIG51bGwhPWQmJm51bGwhPWM/dGhpcy5nZXRDZWxsSGl0KGQsYyk6dm9pZCAwfSxnZXRIaXRTcGFuOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmdldENlbGxSYW5nZShhLnJvdyxhLmNvbCl9LGdldEhpdEVsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmdldENlbGxFbChhLnJvdyxhLmNvbCl9LGdldENlbGxIaXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm57cm93OmEsY29sOmIsY29tcG9uZW50OnRoaXMsbGVmdDp0aGlzLmNvbENvb3JkQ2FjaGUuZ2V0TGVmdE9mZnNldChiKSxyaWdodDp0aGlzLmNvbENvb3JkQ2FjaGUuZ2V0UmlnaHRPZmZzZXQoYiksdG9wOnRoaXMucm93Q29vcmRDYWNoZS5nZXRUb3BPZmZzZXQoYSksYm90dG9tOnRoaXMucm93Q29vcmRDYWNoZS5nZXRCb3R0b21PZmZzZXQoYSl9fSxnZXRDZWxsRWw6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5jZWxsRWxzLmVxKGEqdGhpcy5jb2xDbnQrYil9LHJlbmRlckRyYWc6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5yZW5kZXJIaWdobGlnaHQodGhpcy5ldmVudFRvU3BhbihhKSksYiYmIWIuZWwuY2xvc2VzdCh0aGlzLmVsKS5sZW5ndGg/KHRoaXMucmVuZGVyRXZlbnRMb2NhdGlvbkhlbHBlcihhLGIpLHRoaXMuYXBwbHlEcmFnT3BhY2l0eSh0aGlzLmhlbHBlckVscyksITApOnZvaWQgMH0sdW5yZW5kZXJEcmFnOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckhpZ2hsaWdodCgpLHRoaXMudW5yZW5kZXJIZWxwZXIoKX0scmVuZGVyRXZlbnRSZXNpemU6ZnVuY3Rpb24oYSxiKXt0aGlzLnJlbmRlckhpZ2hsaWdodCh0aGlzLmV2ZW50VG9TcGFuKGEpKSx0aGlzLnJlbmRlckV2ZW50TG9jYXRpb25IZWxwZXIoYSxiKX0sdW5yZW5kZXJFdmVudFJlc2l6ZTpmdW5jdGlvbigpe3RoaXMudW5yZW5kZXJIaWdobGlnaHQoKSx0aGlzLnVucmVuZGVySGVscGVyKCl9LHJlbmRlckhlbHBlcjpmdW5jdGlvbihiLGMpe3ZhciBkLGU9W10sZj10aGlzLmV2ZW50VG9TZWdzKGIpO2Y9dGhpcy5yZW5kZXJGZ1NlZ0VscyhmKSxkPXRoaXMucmVuZGVyU2VnUm93cyhmKSx0aGlzLnJvd0Vscy5lYWNoKGZ1bmN0aW9uKGIsZil7dmFyIGcsaD1hKGYpLGk9YSgnPGRpdiBjbGFzcz0iZmMtaGVscGVyLXNrZWxldG9uIj48dGFibGUvPjwvZGl2PicpO2c9YyYmYy5yb3c9PT1iP2MuZWwucG9zaXRpb24oKS50b3A6aC5maW5kKCIuZmMtY29udGVudC1za2VsZXRvbiB0Ym9keSIpLnBvc2l0aW9uKCkudG9wLGkuY3NzKCJ0b3AiLGcpLmZpbmQoInRhYmxlIikuYXBwZW5kKGRbYl0udGJvZHlFbCksaC5hcHBlbmQoaSksZS5wdXNoKGlbMF0pfSksdGhpcy5oZWxwZXJFbHM9YShlKX0sdW5yZW5kZXJIZWxwZXI6ZnVuY3Rpb24oKXt0aGlzLmhlbHBlckVscyYmKHRoaXMuaGVscGVyRWxzLnJlbW92ZSgpLHRoaXMuaGVscGVyRWxzPW51bGwpfSxmaWxsU2VnVGFnOiJ0ZCIscmVuZGVyRmlsbDpmdW5jdGlvbihiLGMsZCl7dmFyIGUsZixnLGg9W107Zm9yKGM9dGhpcy5yZW5kZXJGaWxsU2VnRWxzKGIsYyksZT0wO2U8Yy5sZW5ndGg7ZSsrKWY9Y1tlXSxnPXRoaXMucmVuZGVyRmlsbFJvdyhiLGYsZCksdGhpcy5yb3dFbHMuZXEoZi5yb3cpLmFwcGVuZChnKSxoLnB1c2goZ1swXSk7cmV0dXJuIHRoaXMuZWxzQnlGaWxsW2JdPWEoaCksY30scmVuZGVyRmlsbFJvdzpmdW5jdGlvbihiLGMsZCl7dmFyIGUsZixnPXRoaXMuY29sQ250LGg9Yy5sZWZ0Q29sLGk9Yy5yaWdodENvbCsxO3JldHVybiBkPWR8fGIudG9Mb3dlckNhc2UoKSxlPWEoJzxkaXYgY2xhc3M9ImZjLScrZCsnLXNrZWxldG9uIj48dGFibGU+PHRyLz48L3RhYmxlPjwvZGl2PicpLGY9ZS5maW5kKCJ0ciIpLGg+MCYmZi5hcHBlbmQoJzx0ZCBjb2xzcGFuPSInK2grJyIvPicpLGYuYXBwZW5kKGMuZWwuYXR0cigiY29sc3BhbiIsaS1oKSksZz5pJiZmLmFwcGVuZCgnPHRkIGNvbHNwYW49IicrKGctaSkrJyIvPicpLHRoaXMuYm9va2VuZENlbGxzKGYpLGV9fSk7bWIubWl4aW4oe3Jvd1N0cnVjdHM6bnVsbCx1bnJlbmRlckV2ZW50czpmdW5jdGlvbigpe3RoaXMucmVtb3ZlU2VnUG9wb3ZlcigpLGtiLnByb3RvdHlwZS51bnJlbmRlckV2ZW50cy5hcHBseSh0aGlzLGFyZ3VtZW50cyl9LGdldEV2ZW50U2VnczpmdW5jdGlvbigpe3JldHVybiBrYi5wcm90b3R5cGUuZ2V0RXZlbnRTZWdzLmNhbGwodGhpcykuY29uY2F0KHRoaXMucG9wb3ZlclNlZ3N8fFtdKX0scmVuZGVyQmdTZWdzOmZ1bmN0aW9uKGIpe3ZhciBjPWEuZ3JlcChiLGZ1bmN0aW9uKGEpe3JldHVybiBhLmV2ZW50LmFsbERheX0pO3JldHVybiBrYi5wcm90b3R5cGUucmVuZGVyQmdTZWdzLmNhbGwodGhpcyxjKX0scmVuZGVyRmdTZWdzOmZ1bmN0aW9uKGIpe3ZhciBjO3JldHVybiBiPXRoaXMucmVuZGVyRmdTZWdFbHMoYiksYz10aGlzLnJvd1N0cnVjdHM9dGhpcy5yZW5kZXJTZWdSb3dzKGIpLHRoaXMucm93RWxzLmVhY2goZnVuY3Rpb24oYixkKXthKGQpLmZpbmQoIi5mYy1jb250ZW50LXNrZWxldG9uID4gdGFibGUiKS5hcHBlbmQoY1tiXS50Ym9keUVsKX0pLGJ9LHVucmVuZGVyRmdTZWdzOmZ1bmN0aW9uKCl7Zm9yKHZhciBhLGI9dGhpcy5yb3dTdHJ1Y3RzfHxbXTthPWIucG9wKCk7KWEudGJvZHlFbC5yZW1vdmUoKTt0aGlzLnJvd1N0cnVjdHM9bnVsbH0scmVuZGVyU2VnUm93czpmdW5jdGlvbihhKXt2YXIgYixjLGQ9W107Zm9yKGI9dGhpcy5ncm91cFNlZ1Jvd3MoYSksYz0wO2M8Yi5sZW5ndGg7YysrKWQucHVzaCh0aGlzLnJlbmRlclNlZ1JvdyhjLGJbY10pKTsNCnJldHVybiBkfSxmZ1NlZ0h0bWw6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGU9dGhpcy52aWV3LGY9YS5ldmVudCxnPWUuaXNFdmVudERyYWdnYWJsZShmKSxoPSFiJiZmLmFsbERheSYmYS5pc1N0YXJ0JiZlLmlzRXZlbnRSZXNpemFibGVGcm9tU3RhcnQoZiksaT0hYiYmZi5hbGxEYXkmJmEuaXNFbmQmJmUuaXNFdmVudFJlc2l6YWJsZUZyb21FbmQoZiksaj10aGlzLmdldFNlZ0NsYXNzZXMoYSxnLGh8fGkpLGs9JCh0aGlzLmdldEV2ZW50U2tpbkNzcyhmKSksbD0iIjtyZXR1cm4gai51bnNoaWZ0KCJmYy1kYXktZ3JpZC1ldmVudCIsImZjLWgtZXZlbnQiKSxhLmlzU3RhcnQmJihjPXRoaXMuZ2V0RXZlbnRUaW1lVGV4dChmKSxjJiYobD0nPHNwYW4gY2xhc3M9ImZjLXRpbWUiPicrWShjKSsiPC9zcGFuPiIpKSxkPSc8c3BhbiBjbGFzcz0iZmMtdGl0bGUiPicrKFkoZi50aXRsZXx8IiIpfHwiJm5ic3A7IikrIjwvc3Bhbj4iLCc8YSBjbGFzcz0iJytqLmpvaW4oIiAiKSsnIicrKGYudXJsPycgaHJlZj0iJytZKGYudXJsKSsnIic6IiIpKyhrPycgc3R5bGU9IicraysnIic6IiIpKyc+PGRpdiBjbGFzcz0iZmMtY29udGVudCI+JysodGhpcy5pc1JUTD9kKyIgIitsOmwrIiAiK2QpKyI8L2Rpdj4iKyhoPyc8ZGl2IGNsYXNzPSJmYy1yZXNpemVyIGZjLXN0YXJ0LXJlc2l6ZXIiIC8+JzoiIikrKGk/JzxkaXYgY2xhc3M9ImZjLXJlc2l6ZXIgZmMtZW5kLXJlc2l6ZXIiIC8+JzoiIikrIjwvYT4ifSxyZW5kZXJTZWdSb3c6ZnVuY3Rpb24oYixjKXtmdW5jdGlvbiBkKGIpe2Zvcig7Yj5nOylrPShyW2UtMV18fFtdKVtnXSxrP2suYXR0cigicm93c3BhbiIscGFyc2VJbnQoay5hdHRyKCJyb3dzcGFuIil8fDEsMTApKzEpOihrPWEoIjx0ZC8+IiksaC5hcHBlbmQoaykpLHFbZV1bZ109ayxyW2VdW2ddPWssZysrfXZhciBlLGYsZyxoLGksaixrLGw9dGhpcy5jb2xDbnQsbT10aGlzLmJ1aWxkU2VnTGV2ZWxzKGMpLG49TWF0aC5tYXgoMSxtLmxlbmd0aCksbz1hKCI8dGJvZHkvPiIpLHA9W10scT1bXSxyPVtdO2ZvcihlPTA7bj5lO2UrKyl7aWYoZj1tW2VdLGc9MCxoPWEoIjx0ci8+IikscC5wdXNoKFtdKSxxLnB1c2goW10pLHIucHVzaChbXSksZilmb3IoaT0wO2k8Zi5sZW5ndGg7aSsrKXtmb3Ioaj1mW2ldLGQoai5sZWZ0Q29sKSxrPWEoJzx0ZCBjbGFzcz0iZmMtZXZlbnQtY29udGFpbmVyIi8+JykuYXBwZW5kKGouZWwpLGoubGVmdENvbCE9ai5yaWdodENvbD9rLmF0dHIoImNvbHNwYW4iLGoucmlnaHRDb2wtai5sZWZ0Q29sKzEpOnJbZV1bZ109aztnPD1qLnJpZ2h0Q29sOylxW2VdW2ddPWsscFtlXVtnXT1qLGcrKztoLmFwcGVuZChrKX1kKGwpLHRoaXMuYm9va2VuZENlbGxzKGgpLG8uYXBwZW5kKGgpfXJldHVybntyb3c6Yix0Ym9keUVsOm8sY2VsbE1hdHJpeDpxLHNlZ01hdHJpeDpwLHNlZ0xldmVsczptLHNlZ3M6Y319LGJ1aWxkU2VnTGV2ZWxzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPVtdO2Zvcih0aGlzLnNvcnRFdmVudFNlZ3MoYSksYj0wO2I8YS5sZW5ndGg7YisrKXtmb3IoYz1hW2JdLGQ9MDtkPGUubGVuZ3RoJiZDYShjLGVbZF0pO2QrKyk7Yy5sZXZlbD1kLChlW2RdfHwoZVtkXT1bXSkpLnB1c2goYyl9Zm9yKGQ9MDtkPGUubGVuZ3RoO2QrKyllW2RdLnNvcnQoRGEpO3JldHVybiBlfSxncm91cFNlZ1Jvd3M6ZnVuY3Rpb24oYSl7dmFyIGIsYz1bXTtmb3IoYj0wO2I8dGhpcy5yb3dDbnQ7YisrKWMucHVzaChbXSk7Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKyljW2FbYl0ucm93XS5wdXNoKGFbYl0pO3JldHVybiBjfX0pLG1iLm1peGluKHtzZWdQb3BvdmVyOm51bGwscG9wb3ZlclNlZ3M6bnVsbCxyZW1vdmVTZWdQb3BvdmVyOmZ1bmN0aW9uKCl7dGhpcy5zZWdQb3BvdmVyJiZ0aGlzLnNlZ1BvcG92ZXIuaGlkZSgpfSxsaW1pdFJvd3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPXRoaXMucm93U3RydWN0c3x8W107Zm9yKGI9MDtiPGQubGVuZ3RoO2IrKyl0aGlzLnVubGltaXRSb3coYiksYz1hPyJudW1iZXIiPT10eXBlb2YgYT9hOnRoaXMuY29tcHV0ZVJvd0xldmVsTGltaXQoYik6ITEsYyE9PSExJiZ0aGlzLmxpbWl0Um93KGIsYyl9LGNvbXB1dGVSb3dMZXZlbExpbWl0OmZ1bmN0aW9uKGIpe2Z1bmN0aW9uIGMoYixjKXtmPU1hdGgubWF4KGYsYShjKS5vdXRlckhlaWdodCgpKX12YXIgZCxlLGYsZz10aGlzLnJvd0Vscy5lcShiKSxoPWcuaGVpZ2h0KCksaT10aGlzLnJvd1N0cnVjdHNbYl0udGJvZHlFbC5jaGlsZHJlbigpO2ZvcihkPTA7ZDxpLmxlbmd0aDtkKyspaWYoZT1pLmVxKGQpLnJlbW92ZUNsYXNzKCJmYy1saW1pdGVkIiksZj0wLGUuZmluZCgiPiB0ZCA+IDpmaXJzdC1jaGlsZCIpLmVhY2goYyksZS5wb3NpdGlvbigpLnRvcCtmPmgpcmV0dXJuIGQ7cmV0dXJuITF9LGxpbWl0Um93OmZ1bmN0aW9uKGIsYyl7ZnVuY3Rpb24gZChkKXtmb3IoO2Q+dzspaj10LmdldENlbGxTZWdzKGIsdyxjKSxqLmxlbmd0aCYmKG09ZltjLTFdW3ddLHM9dC5yZW5kZXJNb3JlTGluayhiLHcsaikscj1hKCI8ZGl2Lz4iKS5hcHBlbmQocyksbS5hcHBlbmQociksdi5wdXNoKHJbMF0pKSx3Kyt9dmFyIGUsZixnLGgsaSxqLGssbCxtLG4sbyxwLHEscixzLHQ9dGhpcyx1PXRoaXMucm93U3RydWN0c1tiXSx2PVtdLHc9MDtpZihjJiZjPHUuc2VnTGV2ZWxzLmxlbmd0aCl7Zm9yKGU9dS5zZWdMZXZlbHNbYy0xXSxmPXUuY2VsbE1hdHJpeCxnPXUudGJvZHlFbC5jaGlsZHJlbigpLnNsaWNlKGMpLmFkZENsYXNzKCJmYy1saW1pdGVkIikuZ2V0KCksaD0wO2g8ZS5sZW5ndGg7aCsrKXtmb3IoaT1lW2hdLGQoaS5sZWZ0Q29sKSxsPVtdLGs9MDt3PD1pLnJpZ2h0Q29sOylqPXRoaXMuZ2V0Q2VsbFNlZ3MoYix3LGMpLGwucHVzaChqKSxrKz1qLmxlbmd0aCx3Kys7aWYoayl7Zm9yKG09ZltjLTFdW2kubGVmdENvbF0sbj1tLmF0dHIoInJvd3NwYW4iKXx8MSxvPVtdLHA9MDtwPGwubGVuZ3RoO3ArKylxPWEoJzx0ZCBjbGFzcz0iZmMtbW9yZS1jZWxsIi8+JykuYXR0cigicm93c3BhbiIsbiksaj1sW3BdLHM9dGhpcy5yZW5kZXJNb3JlTGluayhiLGkubGVmdENvbCtwLFtpXS5jb25jYXQoaikpLHI9YSgiPGRpdi8+IikuYXBwZW5kKHMpLHEuYXBwZW5kKHIpLG8ucHVzaChxWzBdKSx2LnB1c2gocVswXSk7bS5hZGRDbGFzcygiZmMtbGltaXRlZCIpLmFmdGVyKGEobykpLGcucHVzaChtWzBdKX19ZCh0aGlzLmNvbENudCksdS5tb3JlRWxzPWEodiksdS5saW1pdGVkRWxzPWEoZyl9fSx1bmxpbWl0Um93OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMucm93U3RydWN0c1thXTtiLm1vcmVFbHMmJihiLm1vcmVFbHMucmVtb3ZlKCksYi5tb3JlRWxzPW51bGwpLGIubGltaXRlZEVscyYmKGIubGltaXRlZEVscy5yZW1vdmVDbGFzcygiZmMtbGltaXRlZCIpLGIubGltaXRlZEVscz1udWxsKX0scmVuZGVyTW9yZUxpbms6ZnVuY3Rpb24oYixjLGQpe3ZhciBlPXRoaXMsZj10aGlzLnZpZXc7cmV0dXJuIGEoJzxhIGNsYXNzPSJmYy1tb3JlIi8+JykudGV4dCh0aGlzLmdldE1vcmVMaW5rVGV4dChkLmxlbmd0aCkpLm9uKCJjbGljayIsZnVuY3Rpb24oZyl7dmFyIGg9Zi5vcHQoImV2ZW50TGltaXRDbGljayIpLGk9ZS5nZXRDZWxsRGF0ZShiLGMpLGo9YSh0aGlzKSxrPWUuZ2V0Q2VsbEVsKGIsYyksbD1lLmdldENlbGxTZWdzKGIsYyksbT1lLnJlc2xpY2VEYXlTZWdzKGwsaSksbj1lLnJlc2xpY2VEYXlTZWdzKGQsaSk7ImZ1bmN0aW9uIj09dHlwZW9mIGgmJihoPWYudHJpZ2dlcigiZXZlbnRMaW1pdENsaWNrIixudWxsLHtkYXRlOmksZGF5RWw6ayxtb3JlRWw6aixzZWdzOm0saGlkZGVuU2VnczpufSxnKSksInBvcG92ZXIiPT09aD9lLnNob3dTZWdQb3BvdmVyKGIsYyxqLG0pOiJzdHJpbmciPT10eXBlb2YgaCYmZi5jYWxlbmRhci56b29tVG8oaSxoKX0pfSxzaG93U2VnUG9wb3ZlcjpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGc9dGhpcyxoPXRoaXMudmlldyxpPWMucGFyZW50KCk7ZT0xPT10aGlzLnJvd0NudD9oLmVsOnRoaXMucm93RWxzLmVxKGEpLGY9e2NsYXNzTmFtZToiZmMtbW9yZS1wb3BvdmVyIixjb250ZW50OnRoaXMucmVuZGVyU2VnUG9wb3ZlckNvbnRlbnQoYSxiLGQpLHBhcmVudEVsOnRoaXMuZWwsdG9wOmUub2Zmc2V0KCkudG9wLGF1dG9IaWRlOiEwLHZpZXdwb3J0Q29uc3RyYWluOmgub3B0KCJwb3BvdmVyVmlld3BvcnRDb25zdHJhaW4iKSxoaWRlOmZ1bmN0aW9uKCl7Zy5zZWdQb3BvdmVyLnJlbW92ZUVsZW1lbnQoKSxnLnNlZ1BvcG92ZXI9bnVsbCxnLnBvcG92ZXJTZWdzPW51bGx9fSx0aGlzLmlzUlRMP2YucmlnaHQ9aS5vZmZzZXQoKS5sZWZ0K2kub3V0ZXJXaWR0aCgpKzE6Zi5sZWZ0PWkub2Zmc2V0KCkubGVmdC0xLHRoaXMuc2VnUG9wb3Zlcj1uZXcgZmIoZiksdGhpcy5zZWdQb3BvdmVyLnNob3coKX0scmVuZGVyU2VnUG9wb3ZlckNvbnRlbnQ6ZnVuY3Rpb24oYixjLGQpe3ZhciBlLGY9dGhpcy52aWV3LGc9Zi5vcHQoInRoZW1lIiksaD10aGlzLmdldENlbGxEYXRlKGIsYykuZm9ybWF0KGYub3B0KCJkYXlQb3BvdmVyRm9ybWF0IikpLGk9YSgnPGRpdiBjbGFzcz0iZmMtaGVhZGVyICcrZi53aWRnZXRIZWFkZXJDbGFzcysnIj48c3BhbiBjbGFzcz0iZmMtY2xvc2UgJysoZz8idWktaWNvbiB1aS1pY29uLWNsb3NldGhpY2siOiJmYy1pY29uIGZjLWljb24teCIpKyciPjwvc3Bhbj48c3BhbiBjbGFzcz0iZmMtdGl0bGUiPicrWShoKSsnPC9zcGFuPjxkaXYgY2xhc3M9ImZjLWNsZWFyIi8+PC9kaXY+PGRpdiBjbGFzcz0iZmMtYm9keSAnK2Yud2lkZ2V0Q29udGVudENsYXNzKyciPjxkaXYgY2xhc3M9ImZjLWV2ZW50LWNvbnRhaW5lciI+PC9kaXY+PC9kaXY+Jyksaj1pLmZpbmQoIi5mYy1ldmVudC1jb250YWluZXIiKTtmb3IoZD10aGlzLnJlbmRlckZnU2VnRWxzKGQsITApLHRoaXMucG9wb3ZlclNlZ3M9ZCxlPTA7ZTxkLmxlbmd0aDtlKyspdGhpcy5wcmVwYXJlSGl0cygpLGRbZV0uaGl0PXRoaXMuZ2V0Q2VsbEhpdChiLGMpLHRoaXMucmVsZWFzZUhpdHMoKSxqLmFwcGVuZChkW2VdLmVsKTtyZXR1cm4gaX0scmVzbGljZURheVNlZ3M6ZnVuY3Rpb24oYixjKXt2YXIgZD1hLm1hcChiLGZ1bmN0aW9uKGEpe3JldHVybiBhLmV2ZW50fSksZT1jLmNsb25lKCksZj1lLmNsb25lKCkuYWRkKDEsImRheXMiKSxnPXtzdGFydDplLGVuZDpmfTtyZXR1cm4gYj10aGlzLmV2ZW50c1RvU2VncyhkLGZ1bmN0aW9uKGEpe3ZhciBiPUUoYSxnKTtyZXR1cm4gYj9bYl06W119KSx0aGlzLnNvcnRFdmVudFNlZ3MoYiksYn0sZ2V0TW9yZUxpbmtUZXh0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlldy5vcHQoImV2ZW50TGltaXRUZXh0Iik7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIGI/YihhKToiKyIrYSsiICIrYn0sZ2V0Q2VsbFNlZ3M6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPXRoaXMucm93U3RydWN0c1thXS5zZWdNYXRyaXgsZj1jfHwwLGc9W107ZjxlLmxlbmd0aDspZD1lW2ZdW2JdLGQmJmcucHVzaChkKSxmKys7cmV0dXJuIGd9fSk7dmFyIG5iPVBhLlRpbWVHcmlkPWtiLmV4dGVuZChsYix7c2xvdER1cmF0aW9uOm51bGwsc25hcER1cmF0aW9uOm51bGwsc25hcHNQZXJTbG90Om51bGwsbWluVGltZTpudWxsLG1heFRpbWU6bnVsbCxsYWJlbEZvcm1hdDpudWxsLGxhYmVsSW50ZXJ2YWw6bnVsbCxjb2xFbHM6bnVsbCxzbGF0RWxzOm51bGwsbm93SW5kaWNhdG9yRWxzOm51bGwsY29sQ29vcmRDYWNoZTpudWxsLHNsYXRDb29yZENhY2hlOm51bGwsY29uc3RydWN0b3I6ZnVuY3Rpb24oKXtrYi5hcHBseSh0aGlzLGFyZ3VtZW50cyksdGhpcy5wcm9jZXNzT3B0aW9ucygpfSxyZW5kZXJEYXRlczpmdW5jdGlvbigpe3RoaXMuZWwuaHRtbCh0aGlzLnJlbmRlckh0bWwoKSksdGhpcy5jb2xFbHM9dGhpcy5lbC5maW5kKCIuZmMtZGF5IiksdGhpcy5zbGF0RWxzPXRoaXMuZWwuZmluZCgiLmZjLXNsYXRzIHRyIiksdGhpcy5jb2xDb29yZENhY2hlPW5ldyBnYih7ZWxzOnRoaXMuY29sRWxzLGlzSG9yaXpvbnRhbDohMH0pLHRoaXMuc2xhdENvb3JkQ2FjaGU9bmV3IGdiKHtlbHM6dGhpcy5zbGF0RWxzLGlzVmVydGljYWw6ITB9KSx0aGlzLnJlbmRlckNvbnRlbnRTa2VsZXRvbigpfSxyZW5kZXJIdG1sOmZ1bmN0aW9uKCl7cmV0dXJuJzxkaXYgY2xhc3M9ImZjLWJnIj48dGFibGU+Jyt0aGlzLnJlbmRlckJnVHJIdG1sKDApKyc8L3RhYmxlPjwvZGl2PjxkaXYgY2xhc3M9ImZjLXNsYXRzIj48dGFibGU+Jyt0aGlzLnJlbmRlclNsYXRSb3dIdG1sKCkrIjwvdGFibGU+PC9kaXY+In0scmVuZGVyU2xhdFJvd0h0bWw6ZnVuY3Rpb24oKXtmb3IodmFyIGEsYyxkLGU9dGhpcy52aWV3LGY9dGhpcy5pc1JUTCxnPSIiLGg9Yi5kdXJhdGlvbigrdGhpcy5taW5UaW1lKTtoPHRoaXMubWF4VGltZTspYT10aGlzLnN0YXJ0LmNsb25lKCkudGltZShoKSxjPWJhKEwoaCx0aGlzLmxhYmVsSW50ZXJ2YWwpKSxkPSc8dGQgY2xhc3M9ImZjLWF4aXMgZmMtdGltZSAnK2Uud2lkZ2V0Q29udGVudENsYXNzKyciICcrZS5heGlzU3R5bGVBdHRyKCkrIj4iKyhjPyI8c3Bhbj4iK1koYS5mb3JtYXQodGhpcy5sYWJlbEZvcm1hdCkpKyI8L3NwYW4+IjoiIikrIjwvdGQ+IixnKz0nPHRyIGRhdGEtdGltZT0iJythLmZvcm1hdCgiSEg6bW06c3MiKSsnIicrKGM/IiI6JyBjbGFzcz0iZmMtbWlub3IiJykrIj4iKyhmPyIiOmQpKyc8dGQgY2xhc3M9IicrZS53aWRnZXRDb250ZW50Q2xhc3MrJyIvPicrKGY/ZDoiIikrIjwvdHI+IixoLmFkZCh0aGlzLnNsb3REdXJhdGlvbik7cmV0dXJuIGd9LHByb2Nlc3NPcHRpb25zOmZ1bmN0aW9uKCl7dmFyIGMsZD10aGlzLnZpZXcsZT1kLm9wdCgic2xvdER1cmF0aW9uIiksZj1kLm9wdCgic25hcER1cmF0aW9uIik7ZT1iLmR1cmF0aW9uKGUpLGY9Zj9iLmR1cmF0aW9uKGYpOmUsdGhpcy5zbG90RHVyYXRpb249ZSx0aGlzLnNuYXBEdXJhdGlvbj1mLHRoaXMuc25hcHNQZXJTbG90PWUvZix0aGlzLm1pblJlc2l6ZUR1cmF0aW9uPWYsdGhpcy5taW5UaW1lPWIuZHVyYXRpb24oZC5vcHQoIm1pblRpbWUiKSksdGhpcy5tYXhUaW1lPWIuZHVyYXRpb24oZC5vcHQoIm1heFRpbWUiKSksYz1kLm9wdCgic2xvdExhYmVsRm9ybWF0IiksYS5pc0FycmF5KGMpJiYoYz1jW2MubGVuZ3RoLTFdKSx0aGlzLmxhYmVsRm9ybWF0PWN8fGQub3B0KCJheGlzRm9ybWF0Iil8fGQub3B0KCJzbWFsbFRpbWVGb3JtYXQiKSxjPWQub3B0KCJzbG90TGFiZWxJbnRlcnZhbCIpLHRoaXMubGFiZWxJbnRlcnZhbD1jP2IuZHVyYXRpb24oYyk6dGhpcy5jb21wdXRlTGFiZWxJbnRlcnZhbChlKX0sY29tcHV0ZUxhYmVsSW50ZXJ2YWw6ZnVuY3Rpb24oYSl7dmFyIGMsZCxlO2ZvcihjPURiLmxlbmd0aC0xO2M+PTA7Yy0tKWlmKGQ9Yi5kdXJhdGlvbihEYltjXSksZT1MKGQsYSksYmEoZSkmJmU+MSlyZXR1cm4gZDtyZXR1cm4gYi5kdXJhdGlvbihhKX0sY29tcHV0ZUV2ZW50VGltZUZvcm1hdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnZpZXcub3B0KCJub01lcmlkaWVtVGltZUZvcm1hdCIpfSxjb21wdXRlRGlzcGxheUV2ZW50RW5kOmZ1bmN0aW9uKCl7cmV0dXJuITB9LHByZXBhcmVIaXRzOmZ1bmN0aW9uKCl7dGhpcy5jb2xDb29yZENhY2hlLmJ1aWxkKCksdGhpcy5zbGF0Q29vcmRDYWNoZS5idWlsZCgpfSxyZWxlYXNlSGl0czpmdW5jdGlvbigpe3RoaXMuY29sQ29vcmRDYWNoZS5jbGVhcigpfSxxdWVyeUhpdDpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuc25hcHNQZXJTbG90LGQ9dGhpcy5jb2xDb29yZENhY2hlLGU9dGhpcy5zbGF0Q29vcmRDYWNoZSxmPWQuZ2V0SG9yaXpvbnRhbEluZGV4KGEpLGc9ZS5nZXRWZXJ0aWNhbEluZGV4KGIpO2lmKG51bGwhPWYmJm51bGwhPWcpe3ZhciBoPWUuZ2V0VG9wT2Zmc2V0KGcpLGk9ZS5nZXRIZWlnaHQoZyksaj0oYi1oKS9pLGs9TWF0aC5mbG9vcihqKmMpLGw9ZypjK2ssbT1oK2svYyppLG49aCsoaysxKS9jKmk7cmV0dXJue2NvbDpmLHNuYXA6bCxjb21wb25lbnQ6dGhpcyxsZWZ0OmQuZ2V0TGVmdE9mZnNldChmKSxyaWdodDpkLmdldFJpZ2h0T2Zmc2V0KGYpLHRvcDptLGJvdHRvbTpufX19LGdldEhpdFNwYW46ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLmdldENlbGxEYXRlKDAsYS5jb2wpLGQ9dGhpcy5jb21wdXRlU25hcFRpbWUoYS5zbmFwKTtyZXR1cm4gYy50aW1lKGQpLGI9Yy5jbG9uZSgpLmFkZCh0aGlzLnNuYXBEdXJhdGlvbikse3N0YXJ0OmMsZW5kOmJ9fSxnZXRIaXRFbDpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5jb2xFbHMuZXEoYS5jb2wpfSxyYW5nZVVwZGF0ZWQ6ZnVuY3Rpb24oKXt0aGlzLnVwZGF0ZURheVRhYmxlKCl9LGNvbXB1dGVTbmFwVGltZTpmdW5jdGlvbihhKXtyZXR1cm4gYi5kdXJhdGlvbih0aGlzLm1pblRpbWUrdGhpcy5zbmFwRHVyYXRpb24qYSl9LHNwYW5Ub1NlZ3M6ZnVuY3Rpb24oYSl7dmFyIGIsYz10aGlzLnNsaWNlUmFuZ2VCeVRpbWVzKGEpO2ZvcihiPTA7YjxjLmxlbmd0aDtiKyspdGhpcy5pc1JUTD9jW2JdLmNvbD10aGlzLmRheXNQZXJSb3ctMS1jW2JdLmRheUluZGV4OmNbYl0uY29sPWNbYl0uZGF5SW5kZXg7cmV0dXJuIGN9LHNsaWNlUmFuZ2VCeVRpbWVzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlLGY9W107Zm9yKGM9MDtjPHRoaXMuZGF5c1BlclJvdztjKyspZD10aGlzLmRheURhdGVzW2NdLmNsb25lKCksZT17c3RhcnQ6ZC5jbG9uZSgpLnRpbWUodGhpcy5taW5UaW1lKSxlbmQ6ZC5jbG9uZSgpLnRpbWUodGhpcy5tYXhUaW1lKX0sYj1FKGEsZSksYiYmKGIuZGF5SW5kZXg9YyxmLnB1c2goYikpO3JldHVybiBmfSx1cGRhdGVTaXplOmZ1bmN0aW9uKGEpe3RoaXMuc2xhdENvb3JkQ2FjaGUuYnVpbGQoKSxhJiZ0aGlzLnVwZGF0ZVNlZ1ZlcnRpY2FscyhbXS5jb25jYXQodGhpcy5mZ1NlZ3N8fFtdLHRoaXMuYmdTZWdzfHxbXSx0aGlzLmJ1c2luZXNzU2Vnc3x8W10pKX0sY29tcHV0ZURhdGVUb3A6ZnVuY3Rpb24oYSxjKXtyZXR1cm4gdGhpcy5jb21wdXRlVGltZVRvcChiLmR1cmF0aW9uKGEtYy5jbG9uZSgpLnN0cmlwVGltZSgpKSl9LGNvbXB1dGVUaW1lVG9wOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD10aGlzLnNsYXRFbHMubGVuZ3RoLGU9KGEtdGhpcy5taW5UaW1lKS90aGlzLnNsb3REdXJhdGlvbjtyZXR1cm4gZT1NYXRoLm1heCgwLGUpLGU9TWF0aC5taW4oZCxlKSxiPU1hdGguZmxvb3IoZSksYj1NYXRoLm1pbihiLGQtMSksYz1lLWIsdGhpcy5zbGF0Q29vcmRDYWNoZS5nZXRUb3BQb3NpdGlvbihiKSt0aGlzLnNsYXRDb29yZENhY2hlLmdldEhlaWdodChiKSpjfSxyZW5kZXJEcmFnOmZ1bmN0aW9uKGEsYil7aWYoYil7dGhpcy5yZW5kZXJFdmVudExvY2F0aW9uSGVscGVyKGEsYik7Zm9yKHZhciBjPTA7Yzx0aGlzLmhlbHBlclNlZ3MubGVuZ3RoO2MrKyl0aGlzLmFwcGx5RHJhZ09wYWNpdHkodGhpcy5oZWxwZXJTZWdzW2NdLmVsKTtyZXR1cm4hMH10aGlzLnJlbmRlckhpZ2hsaWdodCh0aGlzLmV2ZW50VG9TcGFuKGEpKX0sdW5yZW5kZXJEcmFnOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckhlbHBlcigpLHRoaXMudW5yZW5kZXJIaWdobGlnaHQoKX0scmVuZGVyRXZlbnRSZXNpemU6ZnVuY3Rpb24oYSxiKXt0aGlzLnJlbmRlckV2ZW50TG9jYXRpb25IZWxwZXIoYSxiKX0sdW5yZW5kZXJFdmVudFJlc2l6ZTpmdW5jdGlvbigpe3RoaXMudW5yZW5kZXJIZWxwZXIoKX0scmVuZGVySGVscGVyOmZ1bmN0aW9uKGEsYil7dGhpcy5yZW5kZXJIZWxwZXJTZWdzKHRoaXMuZXZlbnRUb1NlZ3MoYSksYil9LHVucmVuZGVySGVscGVyOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckhlbHBlclNlZ3MoKX0scmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe3ZhciBhPXRoaXMudmlldy5jYWxlbmRhci5nZXRCdXNpbmVzc0hvdXJzRXZlbnRzKCksYj10aGlzLmV2ZW50c1RvU2VncyhhKTt0aGlzLnJlbmRlckJ1c2luZXNzU2VncyhiKX0sdW5yZW5kZXJCdXNpbmVzc0hvdXJzOmZ1bmN0aW9uKCl7dGhpcy51bnJlbmRlckJ1c2luZXNzU2VncygpfSxnZXROb3dJbmRpY2F0b3JVbml0OmZ1bmN0aW9uKCl7cmV0dXJuIm1pbnV0ZSJ9LHJlbmRlck5vd0luZGljYXRvcjpmdW5jdGlvbihiKXt2YXIgYyxkPXRoaXMuc3BhblRvU2Vncyh7c3RhcnQ6YixlbmQ6Yn0pLGU9dGhpcy5jb21wdXRlRGF0ZVRvcChiLGIpLGY9W107Zm9yKGM9MDtjPGQubGVuZ3RoO2MrKylmLnB1c2goYSgnPGRpdiBjbGFzcz0iZmMtbm93LWluZGljYXRvciBmYy1ub3ctaW5kaWNhdG9yLWxpbmUiPjwvZGl2PicpLmNzcygidG9wIixlKS5hcHBlbmRUbyh0aGlzLmNvbENvbnRhaW5lckVscy5lcShkW2NdLmNvbCkpWzBdKTtkLmxlbmd0aD4wJiZmLnB1c2goYSgnPGRpdiBjbGFzcz0iZmMtbm93LWluZGljYXRvciBmYy1ub3ctaW5kaWNhdG9yLWFycm93Ij48L2Rpdj4nKS5jc3MoInRvcCIsZSkuYXBwZW5kVG8odGhpcy5lbC5maW5kKCIuZmMtY29udGVudC1za2VsZXRvbiIpKVswXSksdGhpcy5ub3dJbmRpY2F0b3JFbHM9YShmKX0sdW5yZW5kZXJOb3dJbmRpY2F0b3I6ZnVuY3Rpb24oKXt0aGlzLm5vd0luZGljYXRvckVscyYmKHRoaXMubm93SW5kaWNhdG9yRWxzLnJlbW92ZSgpLHRoaXMubm93SW5kaWNhdG9yRWxzPW51bGwpfSxyZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oYSl7dGhpcy52aWV3Lm9wdCgic2VsZWN0SGVscGVyIik/dGhpcy5yZW5kZXJFdmVudExvY2F0aW9uSGVscGVyKGEpOnRoaXMucmVuZGVySGlnaGxpZ2h0KGEpfSx1bnJlbmRlclNlbGVjdGlvbjpmdW5jdGlvbigpe3RoaXMudW5yZW5kZXJIZWxwZXIoKSx0aGlzLnVucmVuZGVySGlnaGxpZ2h0KCl9LHJlbmRlckhpZ2hsaWdodDpmdW5jdGlvbihhKXt0aGlzLnJlbmRlckhpZ2hsaWdodFNlZ3ModGhpcy5zcGFuVG9TZWdzKGEpKX0sdW5yZW5kZXJIaWdobGlnaHQ6ZnVuY3Rpb24oKXt0aGlzLnVucmVuZGVySGlnaGxpZ2h0U2VncygpfX0pO25iLm1peGluKHtjb2xDb250YWluZXJFbHM6bnVsbCxmZ0NvbnRhaW5lckVsczpudWxsLGJnQ29udGFpbmVyRWxzOm51bGwsaGVscGVyQ29udGFpbmVyRWxzOm51bGwsaGlnaGxpZ2h0Q29udGFpbmVyRWxzOm51bGwsYnVzaW5lc3NDb250YWluZXJFbHM6bnVsbCxmZ1NlZ3M6bnVsbCxiZ1NlZ3M6bnVsbCxoZWxwZXJTZWdzOm51bGwsaGlnaGxpZ2h0U2VnczpudWxsLGJ1c2luZXNzU2VnczpudWxsLHJlbmRlckNvbnRlbnRTa2VsZXRvbjpmdW5jdGlvbigpe3ZhciBiLGMsZD0iIjtmb3IoYj0wO2I8dGhpcy5jb2xDbnQ7YisrKWQrPSc8dGQ+PGRpdiBjbGFzcz0iZmMtY29udGVudC1jb2wiPjxkaXYgY2xhc3M9ImZjLWV2ZW50LWNvbnRhaW5lciBmYy1oZWxwZXItY29udGFpbmVyIj48L2Rpdj48ZGl2IGNsYXNzPSJmYy1ldmVudC1jb250YWluZXIiPjwvZGl2PjxkaXYgY2xhc3M9ImZjLWhpZ2hsaWdodC1jb250YWluZXIiPjwvZGl2PjxkaXYgY2xhc3M9ImZjLWJnZXZlbnQtY29udGFpbmVyIj48L2Rpdj48ZGl2IGNsYXNzPSJmYy1idXNpbmVzcy1jb250YWluZXIiPjwvZGl2PjwvZGl2PjwvdGQ+JztjPWEoJzxkaXYgY2xhc3M9ImZjLWNvbnRlbnQtc2tlbGV0b24iPjx0YWJsZT48dHI+JytkKyI8L3RyPjwvdGFibGU+PC9kaXY+IiksdGhpcy5jb2xDb250YWluZXJFbHM9Yy5maW5kKCIuZmMtY29udGVudC1jb2wiKSx0aGlzLmhlbHBlckNvbnRhaW5lckVscz1jLmZpbmQoIi5mYy1oZWxwZXItY29udGFpbmVyIiksdGhpcy5mZ0NvbnRhaW5lckVscz1jLmZpbmQoIi5mYy1ldmVudC1jb250YWluZXI6bm90KC5mYy1oZWxwZXItY29udGFpbmVyKSIpLHRoaXMuYmdDb250YWluZXJFbHM9Yy5maW5kKCIuZmMtYmdldmVudC1jb250YWluZXIiKSx0aGlzLmhpZ2hsaWdodENvbnRhaW5lckVscz1jLmZpbmQoIi5mYy1oaWdobGlnaHQtY29udGFpbmVyIiksdGhpcy5idXNpbmVzc0NvbnRhaW5lckVscz1jLmZpbmQoIi5mYy1idXNpbmVzcy1jb250YWluZXIiKSx0aGlzLmJvb2tlbmRDZWxscyhjLmZpbmQoInRyIikpLHRoaXMuZWwuYXBwZW5kKGMpfSxyZW5kZXJGZ1NlZ3M6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9dGhpcy5yZW5kZXJGZ1NlZ3NJbnRvQ29udGFpbmVycyhhLHRoaXMuZmdDb250YWluZXJFbHMpLHRoaXMuZmdTZWdzPWEsYX0sdW5yZW5kZXJGZ1NlZ3M6ZnVuY3Rpb24oKXt0aGlzLnVucmVuZGVyTmFtZWRTZWdzKCJmZ1NlZ3MiKX0scmVuZGVySGVscGVyU2VnczpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZTtmb3IoYT10aGlzLnJlbmRlckZnU2Vnc0ludG9Db250YWluZXJzKGEsdGhpcy5oZWxwZXJDb250YWluZXJFbHMpLGM9MDtjPGEubGVuZ3RoO2MrKylkPWFbY10sYiYmYi5jb2w9PT1kLmNvbCYmKGU9Yi5lbCxkLmVsLmNzcyh7bGVmdDplLmNzcygibGVmdCIpLHJpZ2h0OmUuY3NzKCJyaWdodCIpLCJtYXJnaW4tbGVmdCI6ZS5jc3MoIm1hcmdpbi1sZWZ0IiksIm1hcmdpbi1yaWdodCI6ZS5jc3MoIm1hcmdpbi1yaWdodCIpfSkpO3RoaXMuaGVscGVyU2Vncz1hfSx1bnJlbmRlckhlbHBlclNlZ3M6ZnVuY3Rpb24oKXt0aGlzLnVucmVuZGVyTmFtZWRTZWdzKCJoZWxwZXJTZWdzIil9LHJlbmRlckJnU2VnczpmdW5jdGlvbihhKXtyZXR1cm4gYT10aGlzLnJlbmRlckZpbGxTZWdFbHMoImJnRXZlbnQiLGEpLHRoaXMudXBkYXRlU2VnVmVydGljYWxzKGEpLHRoaXMuYXR0YWNoU2Vnc0J5Q29sKHRoaXMuZ3JvdXBTZWdzQnlDb2woYSksdGhpcy5iZ0NvbnRhaW5lckVscyksdGhpcy5iZ1NlZ3M9YSxhfSx1bnJlbmRlckJnU2VnczpmdW5jdGlvbigpe3RoaXMudW5yZW5kZXJOYW1lZFNlZ3MoImJnU2VncyIpfSxyZW5kZXJIaWdobGlnaHRTZWdzOmZ1bmN0aW9uKGEpe2E9dGhpcy5yZW5kZXJGaWxsU2VnRWxzKCJoaWdobGlnaHQiLGEpLHRoaXMudXBkYXRlU2VnVmVydGljYWxzKGEpLHRoaXMuYXR0YWNoU2Vnc0J5Q29sKHRoaXMuZ3JvdXBTZWdzQnlDb2woYSksdGhpcy5oaWdobGlnaHRDb250YWluZXJFbHMpLHRoaXMuaGlnaGxpZ2h0U2Vncz1hfSx1bnJlbmRlckhpZ2hsaWdodFNlZ3M6ZnVuY3Rpb24oKXt0aGlzLnVucmVuZGVyTmFtZWRTZWdzKCJoaWdobGlnaHRTZWdzIil9LHJlbmRlckJ1c2luZXNzU2VnczpmdW5jdGlvbihhKXthPXRoaXMucmVuZGVyRmlsbFNlZ0VscygiYnVzaW5lc3NIb3VycyIsYSksdGhpcy51cGRhdGVTZWdWZXJ0aWNhbHMoYSksdGhpcy5hdHRhY2hTZWdzQnlDb2wodGhpcy5ncm91cFNlZ3NCeUNvbChhKSx0aGlzLmJ1c2luZXNzQ29udGFpbmVyRWxzKSx0aGlzLmJ1c2luZXNzU2Vncz1hfSx1bnJlbmRlckJ1c2luZXNzU2VnczpmdW5jdGlvbigpe3RoaXMudW5yZW5kZXJOYW1lZFNlZ3MoImJ1c2luZXNzU2VncyIpfSxncm91cFNlZ3NCeUNvbDpmdW5jdGlvbihhKXt2YXIgYixjPVtdO2ZvcihiPTA7Yjx0aGlzLmNvbENudDtiKyspYy5wdXNoKFtdKTtmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWNbYVtiXS5jb2xdLnB1c2goYVtiXSk7cmV0dXJuIGN9LGF0dGFjaFNlZ3NCeUNvbDpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZTtmb3IoYz0wO2M8dGhpcy5jb2xDbnQ7YysrKWZvcihkPWFbY10sZT0wO2U8ZC5sZW5ndGg7ZSsrKWIuZXEoYykuYXBwZW5kKGRbZV0uZWwpfSx1bnJlbmRlck5hbWVkU2VnczpmdW5jdGlvbihhKXt2YXIgYixjPXRoaXNbYV07aWYoYyl7Zm9yKGI9MDtiPGMubGVuZ3RoO2IrKyljW2JdLmVsLnJlbW92ZSgpO3RoaXNbYV09bnVsbH19LHJlbmRlckZnU2Vnc0ludG9Db250YWluZXJzOmZ1bmN0aW9uKGEsYil7dmFyIGMsZDtmb3IoYT10aGlzLnJlbmRlckZnU2VnRWxzKGEpLGM9dGhpcy5ncm91cFNlZ3NCeUNvbChhKSxkPTA7ZDx0aGlzLmNvbENudDtkKyspdGhpcy51cGRhdGVGZ1NlZ0Nvb3JkcyhjW2RdKTtyZXR1cm4gdGhpcy5hdHRhY2hTZWdzQnlDb2woYyxiKSxhfSxmZ1NlZ0h0bWw6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj10aGlzLnZpZXcsZz1hLmV2ZW50LGg9Zi5pc0V2ZW50RHJhZ2dhYmxlKGcpLGk9IWImJmEuaXNTdGFydCYmZi5pc0V2ZW50UmVzaXphYmxlRnJvbVN0YXJ0KGcpLGo9IWImJmEuaXNFbmQmJmYuaXNFdmVudFJlc2l6YWJsZUZyb21FbmQoZyksaz10aGlzLmdldFNlZ0NsYXNzZXMoYSxoLGl8fGopLGw9JCh0aGlzLmdldEV2ZW50U2tpbkNzcyhnKSk7cmV0dXJuIGsudW5zaGlmdCgiZmMtdGltZS1ncmlkLWV2ZW50IiwiZmMtdi1ldmVudCIpLGYuaXNNdWx0aURheUV2ZW50KGcpPyhhLmlzU3RhcnR8fGEuaXNFbmQpJiYoYz10aGlzLmdldEV2ZW50VGltZVRleHQoYSksZD10aGlzLmdldEV2ZW50VGltZVRleHQoYSwiTFQiKSxlPXRoaXMuZ2V0RXZlbnRUaW1lVGV4dChhLG51bGwsITEpKTooYz10aGlzLmdldEV2ZW50VGltZVRleHQoZyksZD10aGlzLmdldEV2ZW50VGltZVRleHQoZywiTFQiKSxlPXRoaXMuZ2V0RXZlbnRUaW1lVGV4dChnLG51bGwsITEpKSwnPGEgY2xhc3M9Iicray5qb2luKCIgIikrJyInKyhnLnVybD8nIGhyZWY9IicrWShnLnVybCkrJyInOiIiKSsobD8nIHN0eWxlPSInK2wrJyInOiIiKSsnPjxkaXYgY2xhc3M9ImZjLWNvbnRlbnQiPicrKGM/JzxkaXYgY2xhc3M9ImZjLXRpbWUiIGRhdGEtc3RhcnQ9IicrWShlKSsnIiBkYXRhLWZ1bGw9IicrWShkKSsnIj48c3Bhbj4nK1koYykrIjwvc3Bhbj48L2Rpdj4iOiIiKSsoZy50aXRsZT8nPGRpdiBjbGFzcz0iZmMtdGl0bGUiPicrWShnLnRpdGxlKSsiPC9kaXY+IjoiIikrJzwvZGl2PjxkaXYgY2xhc3M9ImZjLWJnIi8+Jysoaj8nPGRpdiBjbGFzcz0iZmMtcmVzaXplciBmYy1lbmQtcmVzaXplciIgLz4nOiIiKSsiPC9hPiJ9LHVwZGF0ZVNlZ1ZlcnRpY2FsczpmdW5jdGlvbihhKXt0aGlzLmNvbXB1dGVTZWdWZXJ0aWNhbHMoYSksdGhpcy5hc3NpZ25TZWdWZXJ0aWNhbHMoYSl9LGNvbXB1dGVTZWdWZXJ0aWNhbHM6ZnVuY3Rpb24oYSl7dmFyIGIsYztmb3IoYj0wO2I8YS5sZW5ndGg7YisrKWM9YVtiXSxjLnRvcD10aGlzLmNvbXB1dGVEYXRlVG9wKGMuc3RhcnQsYy5zdGFydCksYy5ib3R0b209dGhpcy5jb21wdXRlRGF0ZVRvcChjLmVuZCxjLnN0YXJ0KX0sYXNzaWduU2VnVmVydGljYWxzOmZ1bmN0aW9uKGEpe3ZhciBiLGM7Zm9yKGI9MDtiPGEubGVuZ3RoO2IrKyljPWFbYl0sYy5lbC5jc3ModGhpcy5nZW5lcmF0ZVNlZ1ZlcnRpY2FsQ3NzKGMpKX0sZ2VuZXJhdGVTZWdWZXJ0aWNhbENzczpmdW5jdGlvbihhKXtyZXR1cm57dG9wOmEudG9wLGJvdHRvbTotYS5ib3R0b219fSx1cGRhdGVGZ1NlZ0Nvb3JkczpmdW5jdGlvbihhKXt0aGlzLmNvbXB1dGVTZWdWZXJ0aWNhbHMoYSksdGhpcy5jb21wdXRlRmdTZWdIb3Jpem9udGFscyhhKSx0aGlzLmFzc2lnblNlZ1ZlcnRpY2FscyhhKSx0aGlzLmFzc2lnbkZnU2VnSG9yaXpvbnRhbHMoYSl9LGNvbXB1dGVGZ1NlZ0hvcml6b250YWxzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZDtpZih0aGlzLnNvcnRFdmVudFNlZ3MoYSksYj1FYShhKSxGYShiKSxjPWJbMF0pe2ZvcihkPTA7ZDxjLmxlbmd0aDtkKyspR2EoY1tkXSk7Zm9yKGQ9MDtkPGMubGVuZ3RoO2QrKyl0aGlzLmNvbXB1dGVGZ1NlZ0ZvcndhcmRCYWNrKGNbZF0sMCwwKX19LGNvbXB1dGVGZ1NlZ0ZvcndhcmRCYWNrOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPWEuZm9yd2FyZFNlZ3M7aWYodm9pZCAwPT09YS5mb3J3YXJkQ29vcmQpZm9yKGUubGVuZ3RoPyh0aGlzLnNvcnRGb3J3YXJkU2VncyhlKSx0aGlzLmNvbXB1dGVGZ1NlZ0ZvcndhcmRCYWNrKGVbMF0sYisxLGMpLGEuZm9yd2FyZENvb3JkPWVbMF0uYmFja3dhcmRDb29yZCk6YS5mb3J3YXJkQ29vcmQ9MSxhLmJhY2t3YXJkQ29vcmQ9YS5mb3J3YXJkQ29vcmQtKGEuZm9yd2FyZENvb3JkLWMpLyhiKzEpLGQ9MDtkPGUubGVuZ3RoO2QrKyl0aGlzLmNvbXB1dGVGZ1NlZ0ZvcndhcmRCYWNrKGVbZF0sMCxhLmZvcndhcmRDb29yZCl9LHNvcnRGb3J3YXJkU2VnczpmdW5jdGlvbihhKXthLnNvcnQoY2EodGhpcywiY29tcGFyZUZvcndhcmRTZWdzIikpfSxjb21wYXJlRm9yd2FyZFNlZ3M6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi5mb3J3YXJkUHJlc3N1cmUtYS5mb3J3YXJkUHJlc3N1cmV8fChhLmJhY2t3YXJkQ29vcmR8fDApLShiLmJhY2t3YXJkQ29vcmR8fDApfHx0aGlzLmNvbXBhcmVFdmVudFNlZ3MoYSxiKX0sYXNzaWduRmdTZWdIb3Jpem9udGFsczpmdW5jdGlvbihhKXt2YXIgYixjO2ZvcihiPTA7YjxhLmxlbmd0aDtiKyspYz1hW2JdLGMuZWwuY3NzKHRoaXMuZ2VuZXJhdGVGZ1NlZ0hvcml6b250YWxDc3MoYykpLGMuYm90dG9tLWMudG9wPDMwJiZjLmVsLmFkZENsYXNzKCJmYy1zaG9ydCIpfSxnZW5lcmF0ZUZnU2VnSG9yaXpvbnRhbENzczpmdW5jdGlvbihhKXt2YXIgYixjLGQ9dGhpcy52aWV3Lm9wdCgic2xvdEV2ZW50T3ZlcmxhcCIpLGU9YS5iYWNrd2FyZENvb3JkLGY9YS5mb3J3YXJkQ29vcmQsZz10aGlzLmdlbmVyYXRlU2VnVmVydGljYWxDc3MoYSk7cmV0dXJuIGQmJihmPU1hdGgubWluKDEsZSsyKihmLWUpKSksdGhpcy5pc1JUTD8oYj0xLWYsYz1lKTooYj1lLGM9MS1mKSxnLnpJbmRleD1hLmxldmVsKzEsZy5sZWZ0PTEwMCpiKyIlIixnLnJpZ2h0PTEwMCpjKyIlIixkJiZhLmZvcndhcmRQcmVzc3VyZSYmKGdbdGhpcy5pc1JUTD8ibWFyZ2luTGVmdCI6Im1hcmdpblJpZ2h0Il09MjApLGd9fSk7dmFyIG9iPVBhLlZpZXc9cmEuZXh0ZW5kKHt0eXBlOm51bGwsbmFtZTpudWxsLHRpdGxlOm51bGwsY2FsZW5kYXI6bnVsbCxvcHRpb25zOm51bGwsZWw6bnVsbCxkaXNwbGF5aW5nOm51bGwsaXNTa2VsZXRvblJlbmRlcmVkOiExLGlzRXZlbnRzUmVuZGVyZWQ6ITEsc3RhcnQ6bnVsbCxlbmQ6bnVsbCxpbnRlcnZhbFN0YXJ0Om51bGwsaW50ZXJ2YWxFbmQ6bnVsbCxpbnRlcnZhbER1cmF0aW9uOm51bGwsaW50ZXJ2YWxVbml0Om51bGwsaXNSVEw6ITEsaXNTZWxlY3RlZDohMSxldmVudE9yZGVyU3BlY3M6bnVsbCxzY3JvbGxlckVsOm51bGwsc2Nyb2xsVG9wOm51bGwsd2lkZ2V0SGVhZGVyQ2xhc3M6bnVsbCx3aWRnZXRDb250ZW50Q2xhc3M6bnVsbCxoaWdobGlnaHRTdGF0ZUNsYXNzOm51bGwsbmV4dERheVRocmVzaG9sZDpudWxsLGlzSGlkZGVuRGF5SGFzaDpudWxsLGRvY3VtZW50TW91c2Vkb3duUHJveHk6bnVsbCxub3dJbmRpY2F0b3JUaW1lb3V0SUQ6bnVsbCxub3dJbmRpY2F0b3JJbnRlcnZhbElEOm51bGwsY29uc3RydWN0b3I6ZnVuY3Rpb24oYSxjLGQsZSl7dGhpcy5jYWxlbmRhcj1hLHRoaXMudHlwZT10aGlzLm5hbWU9Yyx0aGlzLm9wdGlvbnM9ZCx0aGlzLmludGVydmFsRHVyYXRpb249ZXx8Yi5kdXJhdGlvbigxLCJkYXkiKSx0aGlzLm5leHREYXlUaHJlc2hvbGQ9Yi5kdXJhdGlvbih0aGlzLm9wdCgibmV4dERheVRocmVzaG9sZCIpKSx0aGlzLmluaXRUaGVtaW5nUHJvcHMoKSx0aGlzLmluaXRIaWRkZW5EYXlzKCksdGhpcy5pc1JUTD10aGlzLm9wdCgiaXNSVEwiKSx0aGlzLmV2ZW50T3JkZXJTcGVjcz1BKHRoaXMub3B0KCJldmVudE9yZGVyIikpLHRoaXMuZG9jdW1lbnRNb3VzZWRvd25Qcm94eT1jYSh0aGlzLCJkb2N1bWVudE1vdXNlZG93biIpLHRoaXMuaW5pdGlhbGl6ZSgpfSxpbml0aWFsaXplOmZ1bmN0aW9uKCl7fSxvcHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub3B0aW9uc1thXX0sdHJpZ2dlcjpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMuY2FsZW5kYXI7cmV0dXJuIGMudHJpZ2dlci5hcHBseShjLFthLGJ8fHRoaXNdLmNvbmNhdChBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMsMiksW3RoaXNdKSl9LHNldERhdGU6ZnVuY3Rpb24oYSl7dGhpcy5zZXRSYW5nZSh0aGlzLmNvbXB1dGVSYW5nZShhKSl9LHNldFJhbmdlOmZ1bmN0aW9uKGIpe2EuZXh0ZW5kKHRoaXMsYiksdGhpcy51cGRhdGVUaXRsZSgpfSxjb21wdXRlUmFuZ2U6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPUkodGhpcy5pbnRlcnZhbER1cmF0aW9uKSxlPWEuY2xvbmUoKS5zdGFydE9mKGQpLGY9ZS5jbG9uZSgpLmFkZCh0aGlzLmludGVydmFsRHVyYXRpb24pO3JldHVybi95ZWFyfG1vbnRofHdlZWt8ZGF5Ly50ZXN0KGQpPyhlLnN0cmlwVGltZSgpLGYuc3RyaXBUaW1lKCkpOihlLmhhc1RpbWUoKXx8KGU9dGhpcy5jYWxlbmRhci50aW1lKDApKSxmLmhhc1RpbWUoKXx8KGY9dGhpcy5jYWxlbmRhci50aW1lKDApKSksYj1lLmNsb25lKCksYj10aGlzLnNraXBIaWRkZW5EYXlzKGIpLGM9Zi5jbG9uZSgpLGM9dGhpcy5za2lwSGlkZGVuRGF5cyhjLC0xLCEwKSx7aW50ZXJ2YWxVbml0OmQsaW50ZXJ2YWxTdGFydDplLGludGVydmFsRW5kOmYsc3RhcnQ6YixlbmQ6Y319LGNvbXB1dGVQcmV2RGF0ZTpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5tYXNzYWdlQ3VycmVudERhdGUoYS5jbG9uZSgpLnN0YXJ0T2YodGhpcy5pbnRlcnZhbFVuaXQpLnN1YnRyYWN0KHRoaXMuaW50ZXJ2YWxEdXJhdGlvbiksLTEpfSxjb21wdXRlTmV4dERhdGU6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMubWFzc2FnZUN1cnJlbnREYXRlKGEuY2xvbmUoKS5zdGFydE9mKHRoaXMuaW50ZXJ2YWxVbml0KS5hZGQodGhpcy5pbnRlcnZhbER1cmF0aW9uKSl9LG1hc3NhZ2VDdXJyZW50RGF0ZTpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmludGVydmFsRHVyYXRpb24uYXMoImRheXMiKTw9MSYmdGhpcy5pc0hpZGRlbkRheShhKSYmKGE9dGhpcy5za2lwSGlkZGVuRGF5cyhhLGIpLGEuc3RhcnRPZigiZGF5IikpLGF9LHVwZGF0ZVRpdGxlOmZ1bmN0aW9uKCl7dGhpcy50aXRsZT10aGlzLmNvbXB1dGVUaXRsZSgpfSxjb21wdXRlVGl0bGU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5mb3JtYXRSYW5nZSh7c3RhcnQ6dGhpcy5jYWxlbmRhci5hcHBseVRpbWV6b25lKHRoaXMuaW50ZXJ2YWxTdGFydCksZW5kOnRoaXMuY2FsZW5kYXIuYXBwbHlUaW1lem9uZSh0aGlzLmludGVydmFsRW5kKX0sdGhpcy5vcHQoInRpdGxlRm9ybWF0Iil8fHRoaXMuY29tcHV0ZVRpdGxlRm9ybWF0KCksdGhpcy5vcHQoInRpdGxlUmFuZ2VTZXBhcmF0b3IiKSl9LGNvbXB1dGVUaXRsZUZvcm1hdDpmdW5jdGlvbigpe3JldHVybiJ5ZWFyIj09dGhpcy5pbnRlcnZhbFVuaXQ/IllZWVkiOiJtb250aCI9PXRoaXMuaW50ZXJ2YWxVbml0P3RoaXMub3B0KCJtb250aFllYXJGb3JtYXQiKTp0aGlzLmludGVydmFsRHVyYXRpb24uYXMoImRheXMiKT4xPyJsbCI6IkxMIn0sZm9ybWF0UmFuZ2U6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuZW5kO3JldHVybiBkLmhhc1RpbWUoKXx8KGQ9ZC5jbG9uZSgpLnN1YnRyYWN0KDEpKSxtYShhLnN0YXJ0LGQsYixjLHRoaXMub3B0KCJpc1JUTCIpKX0sc2V0RWxlbWVudDpmdW5jdGlvbihhKXt0aGlzLmVsPWEsdGhpcy5iaW5kR2xvYmFsSGFuZGxlcnMoKX0scmVtb3ZlRWxlbWVudDpmdW5jdGlvbigpe3RoaXMuY2xlYXIoKSx0aGlzLmlzU2tlbGV0b25SZW5kZXJlZCYmKHRoaXMudW5yZW5kZXJTa2VsZXRvbigpLHRoaXMuaXNTa2VsZXRvblJlbmRlcmVkPSExKSx0aGlzLnVuYmluZEdsb2JhbEhhbmRsZXJzKCksdGhpcy5lbC5yZW1vdmUoKX0sZGlzcGxheTpmdW5jdGlvbihiKXt2YXIgYz10aGlzLGQ9bnVsbDtyZXR1cm4gdGhpcy5kaXNwbGF5aW5nJiYoZD10aGlzLnF1ZXJ5U2Nyb2xsKCkpLHRoaXMuY2FsZW5kYXIuZnJlZXplQ29udGVudEhlaWdodCgpLHRoaXMuY2xlYXIoKS50aGVuKGZ1bmN0aW9uKCl7cmV0dXJuIGMuZGlzcGxheWluZz1hLndoZW4oYy5kaXNwbGF5VmlldyhiKSkudGhlbihmdW5jdGlvbigpe2MuZm9yY2VTY3JvbGwoYy5jb21wdXRlSW5pdGlhbFNjcm9sbChkKSksYy5jYWxlbmRhci51bmZyZWV6ZUNvbnRlbnRIZWlnaHQoKSxjLnRyaWdnZXJSZW5kZXIoKX0pfSl9LGNsZWFyOmZ1bmN0aW9uKCl7dmFyIGI9dGhpcyxjPXRoaXMuZGlzcGxheWluZztyZXR1cm4gYz9jLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gYi5kaXNwbGF5aW5nPW51bGwsYi5jbGVhckV2ZW50cygpLGIuY2xlYXJWaWV3KCl9KTphLndoZW4oKX0scmVkaXNwbGF5OmZ1bmN0aW9uKCl7aWYodGhpcy5pc1NrZWxldG9uUmVuZGVyZWQpe3ZhciBhPXRoaXMuaXNFdmVudHNSZW5kZXJlZDt0aGlzLmNsZWFyRXZlbnRzKCksdGhpcy5jbGVhclZpZXcoKSx0aGlzLmRpc3BsYXlWaWV3KCksYSYmdGhpcy5kaXNwbGF5RXZlbnRzKHRoaXMuY2FsZW5kYXIuZ2V0RXZlbnRDYWNoZSgpKX19LGRpc3BsYXlWaWV3OmZ1bmN0aW9uKGEpe3RoaXMuaXNTa2VsZXRvblJlbmRlcmVkfHwodGhpcy5yZW5kZXJTa2VsZXRvbigpLHRoaXMuaXNTa2VsZXRvblJlbmRlcmVkPSEwKSxhJiZ0aGlzLnNldERhdGUoYSksdGhpcy5yZW5kZXImJnRoaXMucmVuZGVyKCksdGhpcy5yZW5kZXJEYXRlcygpLHRoaXMudXBkYXRlU2l6ZSgpLHRoaXMucmVuZGVyQnVzaW5lc3NIb3VycygpLHRoaXMub3B0KCJub3dJbmRpY2F0b3IiKSYmdGhpcy5zdGFydE5vd0luZGljYXRvcigpfSxjbGVhclZpZXc6ZnVuY3Rpb24oKXt0aGlzLnVuc2VsZWN0KCksdGhpcy5zdG9wTm93SW5kaWNhdG9yKCksdGhpcy50cmlnZ2VyVW5yZW5kZXIoKSx0aGlzLnVucmVuZGVyQnVzaW5lc3NIb3VycygpLHRoaXMudW5yZW5kZXJEYXRlcygpLHRoaXMuZGVzdHJveSYmdGhpcy5kZXN0cm95KCl9LHJlbmRlclNrZWxldG9uOmZ1bmN0aW9uKCl7fSx1bnJlbmRlclNrZWxldG9uOmZ1bmN0aW9uKCl7fSxyZW5kZXJEYXRlczpmdW5jdGlvbigpe30sdW5yZW5kZXJEYXRlczpmdW5jdGlvbigpe30sdHJpZ2dlclJlbmRlcjpmdW5jdGlvbigpe3RoaXMudHJpZ2dlcigidmlld1JlbmRlciIsdGhpcyx0aGlzLHRoaXMuZWwpfSx0cmlnZ2VyVW5yZW5kZXI6ZnVuY3Rpb24oKXt0aGlzLnRyaWdnZXIoInZpZXdEZXN0cm95Iix0aGlzLHRoaXMsdGhpcy5lbCl9LGJpbmRHbG9iYWxIYW5kbGVyczpmdW5jdGlvbigpe2EoZG9jdW1lbnQpLm9uKCJtb3VzZWRvd24iLHRoaXMuZG9jdW1lbnRNb3VzZWRvd25Qcm94eSl9LHVuYmluZEdsb2JhbEhhbmRsZXJzOmZ1bmN0aW9uKCl7YShkb2N1bWVudCkub2ZmKCJtb3VzZWRvd24iLHRoaXMuZG9jdW1lbnRNb3VzZWRvd25Qcm94eSl9LGluaXRUaGVtaW5nUHJvcHM6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9wdCgidGhlbWUiKT8idWkiOiJmYyI7dGhpcy53aWRnZXRIZWFkZXJDbGFzcz1hKyItd2lkZ2V0LWhlYWRlciIsdGhpcy53aWRnZXRDb250ZW50Q2xhc3M9YSsiLXdpZGdldC1jb250ZW50Iix0aGlzLmhpZ2hsaWdodFN0YXRlQ2xhc3M9YSsiLXN0YXRlLWhpZ2hsaWdodCJ9LHJlbmRlckJ1c2luZXNzSG91cnM6ZnVuY3Rpb24oKXt9LHVucmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe30sc3RhcnROb3dJbmRpY2F0b3I6ZnVuY3Rpb24oKXtmdW5jdGlvbiBhKCl7Zi51bnJlbmRlck5vd0luZGljYXRvcigpLGYucmVuZGVyTm93SW5kaWNhdG9yKGMuY2xvbmUoKS5hZGQobmV3IERhdGUtZCkpfXZhciBjLGQsZSxmPXRoaXMsZz10aGlzLmdldE5vd0luZGljYXRvclVuaXQoKTtnJiYoYz10aGlzLmNhbGVuZGFyLmdldE5vdygpLGQ9K25ldyBEYXRlLHRoaXMucmVuZGVyTm93SW5kaWNhdG9yKGMpLGU9Yy5jbG9uZSgpLnN0YXJ0T2YoZykuYWRkKDEsZyktYyx0aGlzLm5vd0luZGljYXRvclRpbWVvdXRJRD1zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7dGhpcy5ub3dJbmRpY2F0b3JUaW1lb3V0SUQ9bnVsbCxhKCksZT0rYi5kdXJhdGlvbigxLGcpLGU9TWF0aC5tYXgoMTAwLGUpLHRoaXMubm93SW5kaWNhdG9ySW50ZXJ2YWxJRD1zZXRJbnRlcnZhbChhLGUpfSxlKSl9LHN0b3BOb3dJbmRpY2F0b3I6ZnVuY3Rpb24oKXt2YXIgYT0hMTt0aGlzLm5vd0luZGljYXRvclRpbWVvdXRJRCYmKGNsZWFyVGltZW91dCh0aGlzLm5vd0luZGljYXRvclRpbWVvdXRJRCksYT0hMCksdGhpcy5ub3dJbmRpY2F0b3JJbnRlcnZhbElEJiYoY2xlYXJUaW1lb3V0KHRoaXMubm93SW5kaWNhdG9ySW50ZXJ2YWxJRCksYT0hMCksYSYmdGhpcy51bnJlbmRlck5vd0luZGljYXRvcigpfSxnZXROb3dJbmRpY2F0b3JVbml0OmZ1bmN0aW9uKCl7fSxyZW5kZXJOb3dJbmRpY2F0b3I6ZnVuY3Rpb24oYSl7fSx1bnJlbmRlck5vd0luZGljYXRvcjpmdW5jdGlvbigpe30sdXBkYXRlU2l6ZTpmdW5jdGlvbihhKXt2YXIgYjthJiYoYj10aGlzLnF1ZXJ5U2Nyb2xsKCkpLHRoaXMudXBkYXRlSGVpZ2h0KGEpLHRoaXMudXBkYXRlV2lkdGgoYSksYSYmdGhpcy5zZXRTY3JvbGwoYil9LHVwZGF0ZVdpZHRoOmZ1bmN0aW9uKGEpe30sdXBkYXRlSGVpZ2h0OmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMuY2FsZW5kYXI7dGhpcy5zZXRIZWlnaHQoYi5nZXRTdWdnZXN0ZWRWaWV3SGVpZ2h0KCksYi5pc0hlaWdodEF1dG8oKSl9LHNldEhlaWdodDpmdW5jdGlvbihhLGIpe30sY29tcHV0ZVNjcm9sbGVySGVpZ2h0OmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD10aGlzLnNjcm9sbGVyRWw7cmV0dXJuIGI9dGhpcy5lbC5hZGQoZCksYi5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsbGVmdDotMX0pLGM9dGhpcy5lbC5vdXRlckhlaWdodCgpLWQuaGVpZ2h0KCksYi5jc3Moe3Bvc2l0aW9uOiIiLGxlZnQ6IiJ9KSxhLWN9LGNvbXB1dGVJbml0aWFsU2Nyb2xsOmZ1bmN0aW9uKGEpe3JldHVybiAwfSxxdWVyeVNjcm9sbDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnNjcm9sbGVyRWw/dGhpcy5zY3JvbGxlckVsLnNjcm9sbFRvcCgpOnZvaWQgMH0sc2V0U2Nyb2xsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnNjcm9sbGVyRWw/dGhpcy5zY3JvbGxlckVsLnNjcm9sbFRvcChhKTp2b2lkIDB9LGZvcmNlU2Nyb2xsOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXM7dGhpcy5zZXRTY3JvbGwoYSksc2V0VGltZW91dChmdW5jdGlvbigpe2Iuc2V0U2Nyb2xsKGEpfSwwKX0sZGlzcGxheUV2ZW50czpmdW5jdGlvbihhKXt2YXIgYj10aGlzLnF1ZXJ5U2Nyb2xsKCk7dGhpcy5jbGVhckV2ZW50cygpLHRoaXMucmVuZGVyRXZlbnRzKGEpLHRoaXMuaXNFdmVudHNSZW5kZXJlZD0hMCx0aGlzLnNldFNjcm9sbChiKSx0aGlzLnRyaWdnZXJFdmVudFJlbmRlcigpfSxjbGVhckV2ZW50czpmdW5jdGlvbigpe3ZhciBhO3RoaXMuaXNFdmVudHNSZW5kZXJlZCYmKGE9dGhpcy5xdWVyeVNjcm9sbCgpLHRoaXMudHJpZ2dlckV2ZW50VW5yZW5kZXIoKSx0aGlzLmRlc3Ryb3lFdmVudHMmJnRoaXMuZGVzdHJveUV2ZW50cygpLHRoaXMudW5yZW5kZXJFdmVudHMoKSx0aGlzLnNldFNjcm9sbChhKSx0aGlzLmlzRXZlbnRzUmVuZGVyZWQ9ITEpfSxyZW5kZXJFdmVudHM6ZnVuY3Rpb24oYSl7fSx1bnJlbmRlckV2ZW50czpmdW5jdGlvbigpe30sdHJpZ2dlckV2ZW50UmVuZGVyOmZ1bmN0aW9uKCl7dGhpcy5yZW5kZXJlZEV2ZW50U2VnRWFjaChmdW5jdGlvbihhKXt0aGlzLnRyaWdnZXIoImV2ZW50QWZ0ZXJSZW5kZXIiLGEuZXZlbnQsYS5ldmVudCxhLmVsKX0pLHRoaXMudHJpZ2dlcigiZXZlbnRBZnRlckFsbFJlbmRlciIpfSx0cmlnZ2VyRXZlbnRVbnJlbmRlcjpmdW5jdGlvbigpe3RoaXMucmVuZGVyZWRFdmVudFNlZ0VhY2goZnVuY3Rpb24oYSl7dGhpcy50cmlnZ2VyKCJldmVudERlc3Ryb3kiLGEuZXZlbnQsYS5ldmVudCxhLmVsKX0pfSxyZXNvbHZlRXZlbnRFbDpmdW5jdGlvbihiLGMpe3ZhciBkPXRoaXMudHJpZ2dlcigiZXZlbnRSZW5kZXIiLGIsYixjKTtyZXR1cm4gZD09PSExP2M9bnVsbDpkJiZkIT09ITAmJihjPWEoZCkpLGN9LHNob3dFdmVudDpmdW5jdGlvbihhKXt0aGlzLnJlbmRlcmVkRXZlbnRTZWdFYWNoKGZ1bmN0aW9uKGEpe2EuZWwuY3NzKCJ2aXNpYmlsaXR5IiwiIil9LGEpfSxoaWRlRXZlbnQ6ZnVuY3Rpb24oYSl7dGhpcy5yZW5kZXJlZEV2ZW50U2VnRWFjaChmdW5jdGlvbihhKXthLmVsLmNzcygidmlzaWJpbGl0eSIsImhpZGRlbiIpfSxhKX0scmVuZGVyZWRFdmVudFNlZ0VhY2g6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPXRoaXMuZ2V0RXZlbnRTZWdzKCk7Zm9yKGM9MDtjPGQubGVuZ3RoO2MrKyliJiZkW2NdLmV2ZW50Ll9pZCE9PWIuX2lkfHxkW2NdLmVsJiZhLmNhbGwodGhpcyxkW2NdKX0sZ2V0RXZlbnRTZWdzOmZ1bmN0aW9uKCl7cmV0dXJuW119LGlzRXZlbnREcmFnZ2FibGU6ZnVuY3Rpb24oYSl7dmFyIGI9YS5zb3VyY2V8fHt9O3JldHVybiBYKGEuc3RhcnRFZGl0YWJsZSxiLnN0YXJ0RWRpdGFibGUsdGhpcy5vcHQoImV2ZW50U3RhcnRFZGl0YWJsZSIpLGEuZWRpdGFibGUsYi5lZGl0YWJsZSx0aGlzLm9wdCgiZWRpdGFibGUiKSl9LHJlcG9ydEV2ZW50RHJvcDpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmPXRoaXMuY2FsZW5kYXIsZz1mLm11dGF0ZUV2ZW50KGEsYixjKSxoPWZ1bmN0aW9uKCl7Zy51bmRvKCksZi5yZXBvcnRFdmVudENoYW5nZSgpfTt0aGlzLnRyaWdnZXJFdmVudERyb3AoYSxnLmRhdGVEZWx0YSxoLGQsZSksZi5yZXBvcnRFdmVudENoYW5nZSgpfSx0cmlnZ2VyRXZlbnREcm9wOmZ1bmN0aW9uKGEsYixjLGQsZSl7dGhpcy50cmlnZ2VyKCJldmVudERyb3AiLGRbMF0sYSxiLGMsZSx7fSl9LHJlcG9ydEV4dGVybmFsRHJvcDpmdW5jdGlvbihiLGMsZCxlLGYpe3ZhciBnLGgsaT1iLmV2ZW50UHJvcHM7aSYmKGc9YS5leHRlbmQoe30saSxjKSxoPXRoaXMuY2FsZW5kYXIucmVuZGVyRXZlbnQoZyxiLnN0aWNrKVswXSksdGhpcy50cmlnZ2VyRXh0ZXJuYWxEcm9wKGgsYyxkLGUsZil9LHRyaWdnZXJFeHRlcm5hbERyb3A6ZnVuY3Rpb24oYSxiLGMsZCxlKXt0aGlzLnRyaWdnZXIoImRyb3AiLGNbMF0sYi5zdGFydCxkLGUpLGEmJnRoaXMudHJpZ2dlcigiZXZlbnRSZWNlaXZlIixudWxsLGEpfSxyZW5kZXJEcmFnOmZ1bmN0aW9uKGEsYil7fSx1bnJlbmRlckRyYWc6ZnVuY3Rpb24oKXt9LGlzRXZlbnRSZXNpemFibGVGcm9tU3RhcnQ6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMub3B0KCJldmVudFJlc2l6YWJsZUZyb21TdGFydCIpJiZ0aGlzLmlzRXZlbnRSZXNpemFibGUoYSl9LGlzRXZlbnRSZXNpemFibGVGcm9tRW5kOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmlzRXZlbnRSZXNpemFibGUoYSl9LGlzRXZlbnRSZXNpemFibGU6ZnVuY3Rpb24oYSl7dmFyIGI9YS5zb3VyY2V8fHt9O3JldHVybiBYKGEuZHVyYXRpb25FZGl0YWJsZSxiLmR1cmF0aW9uRWRpdGFibGUsdGhpcy5vcHQoImV2ZW50RHVyYXRpb25FZGl0YWJsZSIpLGEuZWRpdGFibGUsYi5lZGl0YWJsZSx0aGlzLm9wdCgiZWRpdGFibGUiKSl9LHJlcG9ydEV2ZW50UmVzaXplOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9dGhpcy5jYWxlbmRhcixnPWYubXV0YXRlRXZlbnQoYSxiLGMpLGg9ZnVuY3Rpb24oKXtnLnVuZG8oKSxmLnJlcG9ydEV2ZW50Q2hhbmdlKCl9O3RoaXMudHJpZ2dlckV2ZW50UmVzaXplKGEsZy5kdXJhdGlvbkRlbHRhLGgsZCxlKSxmLnJlcG9ydEV2ZW50Q2hhbmdlKCl9LHRyaWdnZXJFdmVudFJlc2l6ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3RoaXMudHJpZ2dlcigiZXZlbnRSZXNpemUiLGRbMF0sYSxiLGMsZSx7fSl9LHNlbGVjdDpmdW5jdGlvbihhLGIpe3RoaXMudW5zZWxlY3QoYiksdGhpcy5yZW5kZXJTZWxlY3Rpb24oYSksdGhpcy5yZXBvcnRTZWxlY3Rpb24oYSxiKX0scmVuZGVyU2VsZWN0aW9uOmZ1bmN0aW9uKGEpe30scmVwb3J0U2VsZWN0aW9uOmZ1bmN0aW9uKGEsYil7dGhpcy5pc1NlbGVjdGVkPSEwLHRoaXMudHJpZ2dlclNlbGVjdChhLGIpfSx0cmlnZ2VyU2VsZWN0OmZ1bmN0aW9uKGEsYil7dGhpcy50cmlnZ2VyKCJzZWxlY3QiLG51bGwsdGhpcy5jYWxlbmRhci5hcHBseVRpbWV6b25lKGEuc3RhcnQpLHRoaXMuY2FsZW5kYXIuYXBwbHlUaW1lem9uZShhLmVuZCksYil9LHVuc2VsZWN0OmZ1bmN0aW9uKGEpe3RoaXMuaXNTZWxlY3RlZCYmKHRoaXMuaXNTZWxlY3RlZD0hMSx0aGlzLmRlc3Ryb3lTZWxlY3Rpb24mJnRoaXMuZGVzdHJveVNlbGVjdGlvbigpLHRoaXMudW5yZW5kZXJTZWxlY3Rpb24oKSx0aGlzLnRyaWdnZXIoInVuc2VsZWN0IixudWxsLGEpKX0sdW5yZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oKXt9LGRvY3VtZW50TW91c2Vkb3duOmZ1bmN0aW9uKGIpe3ZhciBjO3RoaXMuaXNTZWxlY3RlZCYmdGhpcy5vcHQoInVuc2VsZWN0QXV0byIpJiZ2KGIpJiYoYz10aGlzLm9wdCgidW5zZWxlY3RDYW5jZWwiKSxjJiZhKGIudGFyZ2V0KS5jbG9zZXN0KGMpLmxlbmd0aHx8dGhpcy51bnNlbGVjdChiKSl9LHRyaWdnZXJEYXlDbGljazpmdW5jdGlvbihhLGIsYyl7dGhpcy50cmlnZ2VyKCJkYXlDbGljayIsYix0aGlzLmNhbGVuZGFyLmFwcGx5VGltZXpvbmUoYS5zdGFydCksYyl9LGluaXRIaWRkZW5EYXlzOmZ1bmN0aW9uKCl7dmFyIGIsYz10aGlzLm9wdCgiaGlkZGVuRGF5cyIpfHxbXSxkPVtdLGU9MDtmb3IodGhpcy5vcHQoIndlZWtlbmRzIik9PT0hMSYmYy5wdXNoKDAsNiksYj0wOzc+YjtiKyspKGRbYl09LTEhPT1hLmluQXJyYXkoYixjKSl8fGUrKztpZighZSl0aHJvdyJpbnZhbGlkIGhpZGRlbkRheXMiO3RoaXMuaXNIaWRkZW5EYXlIYXNoPWR9LGlzSGlkZGVuRGF5OmZ1bmN0aW9uKGEpe3JldHVybiBiLmlzTW9tZW50KGEpJiYoYT1hLmRheSgpKSx0aGlzLmlzSGlkZGVuRGF5SGFzaFthXX0sc2tpcEhpZGRlbkRheXM6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEuY2xvbmUoKTtmb3IoYj1ifHwxO3RoaXMuaXNIaWRkZW5EYXlIYXNoWyhkLmRheSgpKyhjP2I6MCkrNyklN107KWQuYWRkKGIsImRheXMiKTtyZXR1cm4gZH0sY29tcHV0ZURheVJhbmdlOmZ1bmN0aW9uKGEpe3ZhciBiLGM9YS5zdGFydC5jbG9uZSgpLnN0cmlwVGltZSgpLGQ9YS5lbmQsZT1udWxsO3JldHVybiBkJiYoZT1kLmNsb25lKCkuc3RyaXBUaW1lKCksYj0rZC50aW1lKCksYiYmYj49dGhpcy5uZXh0RGF5VGhyZXNob2xkJiZlLmFkZCgxLCJkYXlzIikpLCghZHx8Yz49ZSkmJihlPWMuY2xvbmUoKS5hZGQoMSwiZGF5cyIpKSx7c3RhcnQ6YyxlbmQ6ZX19LGlzTXVsdGlEYXlFdmVudDpmdW5jdGlvbihhKXt2YXIgYj10aGlzLmNvbXB1dGVEYXlSYW5nZShhKTtyZXR1cm4gYi5lbmQuZGlmZihiLnN0YXJ0LCJkYXlzIik+MX19KSxwYj1QYS5DYWxlbmRhcj1yYS5leHRlbmQoe2RpckRlZmF1bHRzOm51bGwsbGFuZ0RlZmF1bHRzOm51bGwsb3ZlcnJpZGVzOm51bGwsb3B0aW9uczpudWxsLHZpZXdTcGVjQ2FjaGU6bnVsbCx2aWV3Om51bGwsaGVhZGVyOm51bGwsbG9hZGluZ0xldmVsOjAsY29uc3RydWN0b3I6SmEsaW5pdGlhbGl6ZTpmdW5jdGlvbigpe30saW5pdE9wdGlvbnM6ZnVuY3Rpb24oYSl7dmFyIGIsZSxmLGc7YT1kKGEpLGI9YS5sYW5nLGU9cWJbYl0sZXx8KGI9cGIuZGVmYXVsdHMubGFuZyxlPXFiW2JdfHx7fSksZj1YKGEuaXNSVEwsZS5pc1JUTCxwYi5kZWZhdWx0cy5pc1JUTCksZz1mP3BiLnJ0bERlZmF1bHRzOnt9LHRoaXMuZGlyRGVmYXVsdHM9Zyx0aGlzLmxhbmdEZWZhdWx0cz1lLHRoaXMub3ZlcnJpZGVzPWEsdGhpcy5vcHRpb25zPWMoW3BiLmRlZmF1bHRzLGcsZSxhXSksS2EodGhpcy5vcHRpb25zKSx0aGlzLnZpZXdTcGVjQ2FjaGU9e319LGdldFZpZXdTcGVjOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlld1NwZWNDYWNoZTtyZXR1cm4gYlthXXx8KGJbYV09dGhpcy5idWlsZFZpZXdTcGVjKGEpKX0sZ2V0VW5pdFZpZXdTcGVjOmZ1bmN0aW9uKGIpe3ZhciBjLGQsZTtpZigtMSE9YS5pbkFycmF5KGIsVWEpKWZvcihjPXRoaXMuaGVhZGVyLmdldFZpZXdzV2l0aEJ1dHRvbnMoKSxhLmVhY2goUGEudmlld3MsZnVuY3Rpb24oYSl7Yy5wdXNoKGEpfSksZD0wO2Q8Yy5sZW5ndGg7ZCsrKWlmKGU9dGhpcy5nZXRWaWV3U3BlYyhjW2RdKSxlJiZlLnNpbmdsZVVuaXQ9PWIpcmV0dXJuIGV9LGJ1aWxkVmlld1NwZWM6ZnVuY3Rpb24oYSl7Zm9yKHZhciBkLGUsZixnLGg9dGhpcy5vdmVycmlkZXMudmlld3N8fHt9LGk9W10saj1bXSxrPVtdLGw9YTtsOylkPVFhW2xdLGU9aFtsXSxsPW51bGwsImZ1bmN0aW9uIj09dHlwZW9mIGQmJihkPXsiY2xhc3MiOmR9KSxkJiYoaS51bnNoaWZ0KGQpLGoudW5zaGlmdChkLmRlZmF1bHRzfHx7fSksZj1mfHxkLmR1cmF0aW9uLGw9bHx8ZC50eXBlKSxlJiYoay51bnNoaWZ0KGUpLGY9Znx8ZS5kdXJhdGlvbixsPWx8fGUudHlwZSk7cmV0dXJuIGQ9UShpKSxkLnR5cGU9YSxkWyJjbGFzcyJdPyhmJiYoZj1iLmR1cmF0aW9uKGYpLGYudmFsdWVPZigpJiYoZC5kdXJhdGlvbj1mLGc9SShmKSwxPT09Zi5hcyhnKSYmKGQuc2luZ2xlVW5pdD1nLGsudW5zaGlmdChoW2ddfHx7fSkpKSksZC5kZWZhdWx0cz1jKGopLGQub3ZlcnJpZGVzPWMoayksdGhpcy5idWlsZFZpZXdTcGVjT3B0aW9ucyhkKSx0aGlzLmJ1aWxkVmlld1NwZWNCdXR0b25UZXh0KGQsYSksZCk6ITF9LGJ1aWxkVmlld1NwZWNPcHRpb25zOmZ1bmN0aW9uKGEpe2Eub3B0aW9ucz1jKFtwYi5kZWZhdWx0cyxhLmRlZmF1bHRzLHRoaXMuZGlyRGVmYXVsdHMsdGhpcy5sYW5nRGVmYXVsdHMsdGhpcy5vdmVycmlkZXMsYS5vdmVycmlkZXNdKSxLYShhLm9wdGlvbnMpfSxidWlsZFZpZXdTcGVjQnV0dG9uVGV4dDpmdW5jdGlvbihhLGIpe2Z1bmN0aW9uIGMoYyl7dmFyIGQ9Yy5idXR0b25UZXh0fHx7fTtyZXR1cm4gZFtiXXx8KGEuc2luZ2xlVW5pdD9kW2Euc2luZ2xlVW5pdF06bnVsbCl9YS5idXR0b25UZXh0T3ZlcnJpZGU9Yyh0aGlzLm92ZXJyaWRlcyl8fGEub3ZlcnJpZGVzLmJ1dHRvblRleHQsYS5idXR0b25UZXh0RGVmYXVsdD1jKHRoaXMubGFuZ0RlZmF1bHRzKXx8Yyh0aGlzLmRpckRlZmF1bHRzKXx8YS5kZWZhdWx0cy5idXR0b25UZXh0fHxjKHBiLmRlZmF1bHRzKXx8KGEuZHVyYXRpb24/dGhpcy5odW1hbml6ZUR1cmF0aW9uKGEuZHVyYXRpb24pOm51bGwpfHxifSxpbnN0YW50aWF0ZVZpZXc6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5nZXRWaWV3U3BlYyhhKTtyZXR1cm4gbmV3IGJbImNsYXNzIl0odGhpcyxhLGIub3B0aW9ucyxiLmR1cmF0aW9uKX0saXNWYWxpZFZpZXdUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiBCb29sZWFuKHRoaXMuZ2V0Vmlld1NwZWMoYSkpfSxwdXNoTG9hZGluZzpmdW5jdGlvbigpe3RoaXMubG9hZGluZ0xldmVsKyt8fHRoaXMudHJpZ2dlcigibG9hZGluZyIsbnVsbCwhMCx0aGlzLnZpZXcpfSxwb3BMb2FkaW5nOmZ1bmN0aW9uKCl7LS10aGlzLmxvYWRpbmdMZXZlbHx8dGhpcy50cmlnZ2VyKCJsb2FkaW5nIixudWxsLCExLHRoaXMudmlldyl9LGJ1aWxkU2VsZWN0U3BhbjpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9dGhpcy5tb21lbnQoYSkuc3RyaXBab25lKCk7cmV0dXJuIGM9Yj90aGlzLm1vbWVudChiKS5zdHJpcFpvbmUoKTpkLmhhc1RpbWUoKT9kLmNsb25lKCkuYWRkKHRoaXMuZGVmYXVsdFRpbWVkRXZlbnREdXJhdGlvbik6ZC5jbG9uZSgpLmFkZCh0aGlzLmRlZmF1bHRBbGxEYXlFdmVudER1cmF0aW9uKSx7c3RhcnQ6ZCxlbmQ6Y319fSk7cGIubWl4aW4oZWIpLHBiLmRlZmF1bHRzPXt0aXRsZVJhbmdlU2VwYXJhdG9yOiIg4oCUICIsbW9udGhZZWFyRm9ybWF0OiJNTU1NIFlZWVkiLGRlZmF1bHRUaW1lZEV2ZW50RHVyYXRpb246IjAyOjAwOjAwIixkZWZhdWx0QWxsRGF5RXZlbnREdXJhdGlvbjp7ZGF5czoxfSxmb3JjZUV2ZW50RHVyYXRpb246ITEsbmV4dERheVRocmVzaG9sZDoiMDk6MDA6MDAiLGRlZmF1bHRWaWV3OiJtb250aCIsYXNwZWN0UmF0aW86MS4zNSxoZWFkZXI6e2xlZnQ6InRpdGxlIixjZW50ZXI6IiIscmlnaHQ6InRvZGF5IHByZXYsbmV4dCJ9LHdlZWtlbmRzOiEwLHdlZWtOdW1iZXJzOiExLHdlZWtOdW1iZXJUaXRsZToiVyIsd2Vla051bWJlckNhbGN1bGF0aW9uOiJsb2NhbCIsc2Nyb2xsVGltZToiMDY6MDA6MDAiLGxhenlGZXRjaGluZzohMCxzdGFydFBhcmFtOiJzdGFydCIsZW5kUGFyYW06ImVuZCIsdGltZXpvbmVQYXJhbToidGltZXpvbmUiLHRpbWV6b25lOiExLGlzUlRMOiExLGJ1dHRvblRleHQ6e3ByZXY6InByZXYiLG5leHQ6Im5leHQiLHByZXZZZWFyOiJwcmV2IHllYXIiLG5leHRZZWFyOiJuZXh0IHllYXIiLHllYXI6InllYXIiLHRvZGF5OiJ0b2RheSIsbW9udGg6Im1vbnRoIix3ZWVrOiJ3ZWVrIixkYXk6ImRheSJ9LGJ1dHRvbkljb25zOntwcmV2OiJsZWZ0LXNpbmdsZS1hcnJvdyIsbmV4dDoicmlnaHQtc2luZ2xlLWFycm93IixwcmV2WWVhcjoibGVmdC1kb3VibGUtYXJyb3ciLG5leHRZZWFyOiJyaWdodC1kb3VibGUtYXJyb3cifSx0aGVtZTohMSx0aGVtZUJ1dHRvbkljb25zOntwcmV2OiJjaXJjbGUtdHJpYW5nbGUtdyIsbmV4dDoiY2lyY2xlLXRyaWFuZ2xlLWUiLHByZXZZZWFyOiJzZWVrLXByZXYiLG5leHRZZWFyOiJzZWVrLW5leHQifSxkcmFnT3BhY2l0eTouNzUsZHJhZ1JldmVydER1cmF0aW9uOjUwMCxkcmFnU2Nyb2xsOiEwLHVuc2VsZWN0QXV0bzohMCxkcm9wQWNjZXB0OiIqIixldmVudE9yZGVyOiJ0aXRsZSIsZXZlbnRMaW1pdDohMSxldmVudExpbWl0VGV4dDoibW9yZSIsZXZlbnRMaW1pdENsaWNrOiJwb3BvdmVyIixkYXlQb3BvdmVyRm9ybWF0OiJMTCIsaGFuZGxlV2luZG93UmVzaXplOiEwLHdpbmRvd1Jlc2l6ZURlbGF5OjIwMH0scGIuZW5nbGlzaERlZmF1bHRzPXtkYXlQb3BvdmVyRm9ybWF0OiJkZGRkLCBNTU1NIEQifSxwYi5ydGxEZWZhdWx0cz17aGVhZGVyOntsZWZ0OiJuZXh0LHByZXYgdG9kYXkiLGNlbnRlcjoiIixyaWdodDoidGl0bGUifSxidXR0b25JY29uczp7cHJldjoicmlnaHQtc2luZ2xlLWFycm93IixuZXh0OiJsZWZ0LXNpbmdsZS1hcnJvdyIscHJldlllYXI6InJpZ2h0LWRvdWJsZS1hcnJvdyIsbmV4dFllYXI6ImxlZnQtZG91YmxlLWFycm93In0sdGhlbWVCdXR0b25JY29uczp7cHJldjoiY2lyY2xlLXRyaWFuZ2xlLWUiLG5leHQ6ImNpcmNsZS10cmlhbmdsZS13IixuZXh0WWVhcjoic2Vlay1wcmV2IixwcmV2WWVhcjoic2Vlay1uZXh0In19O3ZhciBxYj1QYS5sYW5ncz17fTtQYS5kYXRlcGlja2VyTGFuZz1mdW5jdGlvbihiLGMsZCl7dmFyIGU9cWJbYl18fChxYltiXT17fSk7ZS5pc1JUTD1kLmlzUlRMLGUud2Vla051bWJlclRpdGxlPWQud2Vla0hlYWRlcixhLmVhY2gocmIsZnVuY3Rpb24oYSxiKXtlW2FdPWIoZCl9KSxhLmRhdGVwaWNrZXImJihhLmRhdGVwaWNrZXIucmVnaW9uYWxbY109YS5kYXRlcGlja2VyLnJlZ2lvbmFsW2JdPWQsYS5kYXRlcGlja2VyLnJlZ2lvbmFsLmVuPWEuZGF0ZXBpY2tlci5yZWdpb25hbFsiIl0sYS5kYXRlcGlja2VyLnNldERlZmF1bHRzKGQpKX0sUGEubGFuZz1mdW5jdGlvbihiLGQpe3ZhciBlLGY7ZT1xYltiXXx8KHFiW2JdPXt9KSxkJiYoZT1xYltiXT1jKFtlLGRdKSksZj1MYShiKSxhLmVhY2goc2IsZnVuY3Rpb24oYSxiKXtudWxsPT1lW2FdJiYoZVthXT1iKGYsZSkpfSkscGIuZGVmYXVsdHMubGFuZz1ifTt2YXIgcmI9e2J1dHRvblRleHQ6ZnVuY3Rpb24oYSl7cmV0dXJue3ByZXY6WihhLnByZXZUZXh0KSxuZXh0OlooYS5uZXh0VGV4dCksdG9kYXk6WihhLmN1cnJlbnRUZXh0KX19LG1vbnRoWWVhckZvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5zaG93TW9udGhBZnRlclllYXI/IllZWVlbIithLnllYXJTdWZmaXgrIl0gTU1NTSI6Ik1NTU0gWVlZWVsiK2EueWVhclN1ZmZpeCsiXSJ9fSxzYj17ZGF5T2ZNb250aEZvcm1hdDpmdW5jdGlvbihhLGIpe3ZhciBjPWEubG9uZ0RhdGVGb3JtYXQoImwiKTtyZXR1cm4gYz1jLnJlcGxhY2UoL15ZK1teXHdcc10qfFteXHdcc10qWSskL2csIiIpLGIuaXNSVEw/Yys9IiBkZGQiOmM9ImRkZCAiK2MsY30sbWVkaXVtVGltZUZvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5sb25nRGF0ZUZvcm1hdCgiTFQiKS5yZXBsYWNlKC9ccyphJC9pLCJhIil9LHNtYWxsVGltZUZvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5sb25nRGF0ZUZvcm1hdCgiTFQiKS5yZXBsYWNlKCI6bW0iLCIoOm1tKSIpLnJlcGxhY2UoLyhcV21tKSQvLCIoJDEpIikucmVwbGFjZSgvXHMqYSQvaSwiYSIpfSxleHRyYVNtYWxsVGltZUZvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5sb25nRGF0ZUZvcm1hdCgiTFQiKS5yZXBsYWNlKCI6bW0iLCIoOm1tKSIpLnJlcGxhY2UoLyhcV21tKSQvLCIoJDEpIikucmVwbGFjZSgvXHMqYSQvaSwidCIpfSxob3VyRm9ybWF0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmxvbmdEYXRlRm9ybWF0KCJMVCIpLnJlcGxhY2UoIjptbSIsIiIpLnJlcGxhY2UoLyhcV21tKSQvLCIiKS5yZXBsYWNlKC9ccyphJC9pLCJhIil9LG5vTWVyaWRpZW1UaW1lRm9ybWF0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmxvbmdEYXRlRm9ybWF0KCJMVCIpLnJlcGxhY2UoL1xzKmEkL2ksIiIpfX0sdGI9e3NtYWxsRGF5RGF0ZUZvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5pc1JUTD8iRCBkZCI6ImRkIEQiOw0KfSx3ZWVrRm9ybWF0OmZ1bmN0aW9uKGEpe3JldHVybiBhLmlzUlRMPyJ3WyAiK2Eud2Vla051bWJlclRpdGxlKyJdIjoiWyIrYS53ZWVrTnVtYmVyVGl0bGUrIiBddyJ9LHNtYWxsV2Vla0Zvcm1hdDpmdW5jdGlvbihhKXtyZXR1cm4gYS5pc1JUTD8id1siK2Eud2Vla051bWJlclRpdGxlKyJdIjoiWyIrYS53ZWVrTnVtYmVyVGl0bGUrIl13In19O1BhLmxhbmcoImVuIixwYi5lbmdsaXNoRGVmYXVsdHMpLFBhLnNvdXJjZU5vcm1hbGl6ZXJzPVtdLFBhLnNvdXJjZUZldGNoZXJzPVtdO3ZhciB1Yj17ZGF0YVR5cGU6Impzb24iLGNhY2hlOiExfSx2Yj0xO3BiLnByb3RvdHlwZS5nZXRQZWVyRXZlbnRzPWZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPXRoaXMuZ2V0RXZlbnRDYWNoZSgpLGY9W107Zm9yKGM9MDtjPGUubGVuZ3RoO2MrKylkPWVbY10sYiYmYi5faWQ9PT1kLl9pZHx8Zi5wdXNoKGQpO3JldHVybiBmfTt2YXIgd2I9UGEuQmFzaWNWaWV3PW9iLmV4dGVuZCh7ZGF5R3JpZENsYXNzOm1iLGRheUdyaWQ6bnVsbCxkYXlOdW1iZXJzVmlzaWJsZTohMSx3ZWVrTnVtYmVyc1Zpc2libGU6ITEsd2Vla051bWJlcldpZHRoOm51bGwsaGVhZENvbnRhaW5lckVsOm51bGwsaGVhZFJvd0VsOm51bGwsaW5pdGlhbGl6ZTpmdW5jdGlvbigpe3RoaXMuZGF5R3JpZD10aGlzLmluc3RhbnRpYXRlRGF5R3JpZCgpfSxpbnN0YW50aWF0ZURheUdyaWQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLmRheUdyaWRDbGFzcy5leHRlbmQoeGIpO3JldHVybiBuZXcgYSh0aGlzKX0sc2V0UmFuZ2U6ZnVuY3Rpb24oYSl7b2IucHJvdG90eXBlLnNldFJhbmdlLmNhbGwodGhpcyxhKSx0aGlzLmRheUdyaWQuYnJlYWtPbldlZWtzPS95ZWFyfG1vbnRofHdlZWsvLnRlc3QodGhpcy5pbnRlcnZhbFVuaXQpLHRoaXMuZGF5R3JpZC5zZXRSYW5nZShhKX0sY29tcHV0ZVJhbmdlOmZ1bmN0aW9uKGEpe3ZhciBiPW9iLnByb3RvdHlwZS5jb21wdXRlUmFuZ2UuY2FsbCh0aGlzLGEpO3JldHVybi95ZWFyfG1vbnRoLy50ZXN0KGIuaW50ZXJ2YWxVbml0KSYmKGIuc3RhcnQuc3RhcnRPZigid2VlayIpLGIuc3RhcnQ9dGhpcy5za2lwSGlkZGVuRGF5cyhiLnN0YXJ0KSxiLmVuZC53ZWVrZGF5KCkmJihiLmVuZC5hZGQoMSwid2VlayIpLnN0YXJ0T2YoIndlZWsiKSxiLmVuZD10aGlzLnNraXBIaWRkZW5EYXlzKGIuZW5kLC0xLCEwKSkpLGJ9LHJlbmRlckRhdGVzOmZ1bmN0aW9uKCl7dGhpcy5kYXlOdW1iZXJzVmlzaWJsZT10aGlzLmRheUdyaWQucm93Q250PjEsdGhpcy53ZWVrTnVtYmVyc1Zpc2libGU9dGhpcy5vcHQoIndlZWtOdW1iZXJzIiksdGhpcy5kYXlHcmlkLm51bWJlcnNWaXNpYmxlPXRoaXMuZGF5TnVtYmVyc1Zpc2libGV8fHRoaXMud2Vla051bWJlcnNWaXNpYmxlLHRoaXMuZWwuYWRkQ2xhc3MoImZjLWJhc2ljLXZpZXciKS5odG1sKHRoaXMucmVuZGVyU2tlbGV0b25IdG1sKCkpLHRoaXMucmVuZGVySGVhZCgpLHRoaXMuc2Nyb2xsZXJFbD10aGlzLmVsLmZpbmQoIi5mYy1kYXktZ3JpZC1jb250YWluZXIiKSx0aGlzLmRheUdyaWQuc2V0RWxlbWVudCh0aGlzLmVsLmZpbmQoIi5mYy1kYXktZ3JpZCIpKSx0aGlzLmRheUdyaWQucmVuZGVyRGF0ZXModGhpcy5oYXNSaWdpZFJvd3MoKSl9LHJlbmRlckhlYWQ6ZnVuY3Rpb24oKXt0aGlzLmhlYWRDb250YWluZXJFbD10aGlzLmVsLmZpbmQoIi5mYy1oZWFkLWNvbnRhaW5lciIpLmh0bWwodGhpcy5kYXlHcmlkLnJlbmRlckhlYWRIdG1sKCkpLHRoaXMuaGVhZFJvd0VsPXRoaXMuaGVhZENvbnRhaW5lckVsLmZpbmQoIi5mYy1yb3ciKX0sdW5yZW5kZXJEYXRlczpmdW5jdGlvbigpe3RoaXMuZGF5R3JpZC51bnJlbmRlckRhdGVzKCksdGhpcy5kYXlHcmlkLnJlbW92ZUVsZW1lbnQoKX0scmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe3RoaXMuZGF5R3JpZC5yZW5kZXJCdXNpbmVzc0hvdXJzKCl9LHJlbmRlclNrZWxldG9uSHRtbDpmdW5jdGlvbigpe3JldHVybic8dGFibGU+PHRoZWFkIGNsYXNzPSJmYy1oZWFkIj48dHI+PHRkIGNsYXNzPSJmYy1oZWFkLWNvbnRhaW5lciAnK3RoaXMud2lkZ2V0SGVhZGVyQ2xhc3MrJyI+PC90ZD48L3RyPjwvdGhlYWQ+PHRib2R5IGNsYXNzPSJmYy1ib2R5Ij48dHI+PHRkIGNsYXNzPSInK3RoaXMud2lkZ2V0Q29udGVudENsYXNzKyciPjxkaXYgY2xhc3M9ImZjLWRheS1ncmlkLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0iZmMtZGF5LWdyaWQiLz48L2Rpdj48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxlPid9LHdlZWtOdW1iZXJTdHlsZUF0dHI6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbCE9PXRoaXMud2Vla051bWJlcldpZHRoPydzdHlsZT0id2lkdGg6Jyt0aGlzLndlZWtOdW1iZXJXaWR0aCsncHgiJzoiIn0saGFzUmlnaWRSb3dzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHQoImV2ZW50TGltaXQiKTtyZXR1cm4gYSYmIm51bWJlciIhPXR5cGVvZiBhfSx1cGRhdGVXaWR0aDpmdW5jdGlvbigpe3RoaXMud2Vla051bWJlcnNWaXNpYmxlJiYodGhpcy53ZWVrTnVtYmVyV2lkdGg9ayh0aGlzLmVsLmZpbmQoIi5mYy13ZWVrLW51bWJlciIpKSl9LHNldEhlaWdodDpmdW5jdGlvbihhLGIpe3ZhciBjLGQ9dGhpcy5vcHQoImV2ZW50TGltaXQiKTttKHRoaXMuc2Nyb2xsZXJFbCksZih0aGlzLmhlYWRSb3dFbCksdGhpcy5kYXlHcmlkLnJlbW92ZVNlZ1BvcG92ZXIoKSxkJiYibnVtYmVyIj09dHlwZW9mIGQmJnRoaXMuZGF5R3JpZC5saW1pdFJvd3MoZCksYz10aGlzLmNvbXB1dGVTY3JvbGxlckhlaWdodChhKSx0aGlzLnNldEdyaWRIZWlnaHQoYyxiKSxkJiYibnVtYmVyIiE9dHlwZW9mIGQmJnRoaXMuZGF5R3JpZC5saW1pdFJvd3MoZCksIWImJmwodGhpcy5zY3JvbGxlckVsLGMpJiYoZSh0aGlzLmhlYWRSb3dFbCxyKHRoaXMuc2Nyb2xsZXJFbCkpLGM9dGhpcy5jb21wdXRlU2Nyb2xsZXJIZWlnaHQoYSksdGhpcy5zY3JvbGxlckVsLmhlaWdodChjKSl9LHNldEdyaWRIZWlnaHQ6ZnVuY3Rpb24oYSxiKXtiP2oodGhpcy5kYXlHcmlkLnJvd0Vscyk6aSh0aGlzLmRheUdyaWQucm93RWxzLGEsITApfSxwcmVwYXJlSGl0czpmdW5jdGlvbigpe3RoaXMuZGF5R3JpZC5wcmVwYXJlSGl0cygpfSxyZWxlYXNlSGl0czpmdW5jdGlvbigpe3RoaXMuZGF5R3JpZC5yZWxlYXNlSGl0cygpfSxxdWVyeUhpdDpmdW5jdGlvbihhLGIpe3JldHVybiB0aGlzLmRheUdyaWQucXVlcnlIaXQoYSxiKX0sZ2V0SGl0U3BhbjpmdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5kYXlHcmlkLmdldEhpdFNwYW4oYSl9LGdldEhpdEVsOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRheUdyaWQuZ2V0SGl0RWwoYSl9LHJlbmRlckV2ZW50czpmdW5jdGlvbihhKXt0aGlzLmRheUdyaWQucmVuZGVyRXZlbnRzKGEpLHRoaXMudXBkYXRlSGVpZ2h0KCl9LGdldEV2ZW50U2VnczpmdW5jdGlvbigpe3JldHVybiB0aGlzLmRheUdyaWQuZ2V0RXZlbnRTZWdzKCl9LHVucmVuZGVyRXZlbnRzOmZ1bmN0aW9uKCl7dGhpcy5kYXlHcmlkLnVucmVuZGVyRXZlbnRzKCl9LHJlbmRlckRyYWc6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5kYXlHcmlkLnJlbmRlckRyYWcoYSxiKX0sdW5yZW5kZXJEcmFnOmZ1bmN0aW9uKCl7dGhpcy5kYXlHcmlkLnVucmVuZGVyRHJhZygpfSxyZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oYSl7dGhpcy5kYXlHcmlkLnJlbmRlclNlbGVjdGlvbihhKX0sdW5yZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oKXt0aGlzLmRheUdyaWQudW5yZW5kZXJTZWxlY3Rpb24oKX19KSx4Yj17cmVuZGVySGVhZEludHJvSHRtbDpmdW5jdGlvbigpe3ZhciBhPXRoaXMudmlldztyZXR1cm4gYS53ZWVrTnVtYmVyc1Zpc2libGU/Jzx0aCBjbGFzcz0iZmMtd2Vlay1udW1iZXIgJythLndpZGdldEhlYWRlckNsYXNzKyciICcrYS53ZWVrTnVtYmVyU3R5bGVBdHRyKCkrIj48c3Bhbj4iK1koYS5vcHQoIndlZWtOdW1iZXJUaXRsZSIpKSsiPC9zcGFuPjwvdGg+IjoiIn0scmVuZGVyTnVtYmVySW50cm9IdG1sOmZ1bmN0aW9uKGEpe3ZhciBiPXRoaXMudmlldztyZXR1cm4gYi53ZWVrTnVtYmVyc1Zpc2libGU/Jzx0ZCBjbGFzcz0iZmMtd2Vlay1udW1iZXIiICcrYi53ZWVrTnVtYmVyU3R5bGVBdHRyKCkrIj48c3Bhbj4iK3RoaXMuZ2V0Q2VsbERhdGUoYSwwKS5mb3JtYXQoInciKSsiPC9zcGFuPjwvdGQ+IjoiIn0scmVuZGVyQmdJbnRyb0h0bWw6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnZpZXc7cmV0dXJuIGEud2Vla051bWJlcnNWaXNpYmxlPyc8dGQgY2xhc3M9ImZjLXdlZWstbnVtYmVyICcrYS53aWRnZXRDb250ZW50Q2xhc3MrJyIgJythLndlZWtOdW1iZXJTdHlsZUF0dHIoKSsiPjwvdGQ+IjoiIn0scmVuZGVySW50cm9IdG1sOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy52aWV3O3JldHVybiBhLndlZWtOdW1iZXJzVmlzaWJsZT8nPHRkIGNsYXNzPSJmYy13ZWVrLW51bWJlciIgJythLndlZWtOdW1iZXJTdHlsZUF0dHIoKSsiPjwvdGQ+IjoiIn19LHliPVBhLk1vbnRoVmlldz13Yi5leHRlbmQoe2NvbXB1dGVSYW5nZTpmdW5jdGlvbihhKXt2YXIgYixjPXdiLnByb3RvdHlwZS5jb21wdXRlUmFuZ2UuY2FsbCh0aGlzLGEpO3JldHVybiB0aGlzLmlzRml4ZWRXZWVrcygpJiYoYj1NYXRoLmNlaWwoYy5lbmQuZGlmZihjLnN0YXJ0LCJ3ZWVrcyIsITApKSxjLmVuZC5hZGQoNi1iLCJ3ZWVrcyIpKSxjfSxzZXRHcmlkSGVpZ2h0OmZ1bmN0aW9uKGEsYil7Yj1ifHwidmFyaWFibGUiPT09dGhpcy5vcHQoIndlZWtNb2RlIiksYiYmKGEqPXRoaXMucm93Q250LzYpLGkodGhpcy5kYXlHcmlkLnJvd0VscyxhLCFiKX0saXNGaXhlZFdlZWtzOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcHQoIndlZWtNb2RlIik7cmV0dXJuIGE/ImZpeGVkIj09PWE6dGhpcy5vcHQoImZpeGVkV2Vla0NvdW50Iil9fSk7UWEuYmFzaWM9eyJjbGFzcyI6d2J9LFFhLmJhc2ljRGF5PXt0eXBlOiJiYXNpYyIsZHVyYXRpb246e2RheXM6MX19LFFhLmJhc2ljV2Vlaz17dHlwZToiYmFzaWMiLGR1cmF0aW9uOnt3ZWVrczoxfX0sUWEubW9udGg9eyJjbGFzcyI6eWIsZHVyYXRpb246e21vbnRoczoxfSxkZWZhdWx0czp7Zml4ZWRXZWVrQ291bnQ6ITB9fTt2YXIgemI9UGEuQWdlbmRhVmlldz1vYi5leHRlbmQoe3RpbWVHcmlkQ2xhc3M6bmIsdGltZUdyaWQ6bnVsbCxkYXlHcmlkQ2xhc3M6bWIsZGF5R3JpZDpudWxsLGF4aXNXaWR0aDpudWxsLGhlYWRDb250YWluZXJFbDpudWxsLG5vU2Nyb2xsUm93RWxzOm51bGwsYm90dG9tUnVsZUVsOm51bGwsYm90dG9tUnVsZUhlaWdodDpudWxsLGluaXRpYWxpemU6ZnVuY3Rpb24oKXt0aGlzLnRpbWVHcmlkPXRoaXMuaW5zdGFudGlhdGVUaW1lR3JpZCgpLHRoaXMub3B0KCJhbGxEYXlTbG90IikmJih0aGlzLmRheUdyaWQ9dGhpcy5pbnN0YW50aWF0ZURheUdyaWQoKSl9LGluc3RhbnRpYXRlVGltZUdyaWQ6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnRpbWVHcmlkQ2xhc3MuZXh0ZW5kKEFiKTtyZXR1cm4gbmV3IGEodGhpcyl9LGluc3RhbnRpYXRlRGF5R3JpZDpmdW5jdGlvbigpe3ZhciBhPXRoaXMuZGF5R3JpZENsYXNzLmV4dGVuZChCYik7cmV0dXJuIG5ldyBhKHRoaXMpfSxzZXRSYW5nZTpmdW5jdGlvbihhKXtvYi5wcm90b3R5cGUuc2V0UmFuZ2UuY2FsbCh0aGlzLGEpLHRoaXMudGltZUdyaWQuc2V0UmFuZ2UoYSksdGhpcy5kYXlHcmlkJiZ0aGlzLmRheUdyaWQuc2V0UmFuZ2UoYSl9LHJlbmRlckRhdGVzOmZ1bmN0aW9uKCl7dGhpcy5lbC5hZGRDbGFzcygiZmMtYWdlbmRhLXZpZXciKS5odG1sKHRoaXMucmVuZGVyU2tlbGV0b25IdG1sKCkpLHRoaXMucmVuZGVySGVhZCgpLHRoaXMuc2Nyb2xsZXJFbD10aGlzLmVsLmZpbmQoIi5mYy10aW1lLWdyaWQtY29udGFpbmVyIiksdGhpcy50aW1lR3JpZC5zZXRFbGVtZW50KHRoaXMuZWwuZmluZCgiLmZjLXRpbWUtZ3JpZCIpKSx0aGlzLnRpbWVHcmlkLnJlbmRlckRhdGVzKCksdGhpcy5ib3R0b21SdWxlRWw9YSgnPGhyIGNsYXNzPSJmYy1kaXZpZGVyICcrdGhpcy53aWRnZXRIZWFkZXJDbGFzcysnIi8+JykuYXBwZW5kVG8odGhpcy50aW1lR3JpZC5lbCksdGhpcy5kYXlHcmlkJiYodGhpcy5kYXlHcmlkLnNldEVsZW1lbnQodGhpcy5lbC5maW5kKCIuZmMtZGF5LWdyaWQiKSksdGhpcy5kYXlHcmlkLnJlbmRlckRhdGVzKCksdGhpcy5kYXlHcmlkLmJvdHRvbUNvb3JkUGFkZGluZz10aGlzLmRheUdyaWQuZWwubmV4dCgiaHIiKS5vdXRlckhlaWdodCgpKSx0aGlzLm5vU2Nyb2xsUm93RWxzPXRoaXMuZWwuZmluZCgiLmZjLXJvdzpub3QoLmZjLXNjcm9sbGVyICopIil9LHJlbmRlckhlYWQ6ZnVuY3Rpb24oKXt0aGlzLmhlYWRDb250YWluZXJFbD10aGlzLmVsLmZpbmQoIi5mYy1oZWFkLWNvbnRhaW5lciIpLmh0bWwodGhpcy50aW1lR3JpZC5yZW5kZXJIZWFkSHRtbCgpKX0sdW5yZW5kZXJEYXRlczpmdW5jdGlvbigpe3RoaXMudGltZUdyaWQudW5yZW5kZXJEYXRlcygpLHRoaXMudGltZUdyaWQucmVtb3ZlRWxlbWVudCgpLHRoaXMuZGF5R3JpZCYmKHRoaXMuZGF5R3JpZC51bnJlbmRlckRhdGVzKCksdGhpcy5kYXlHcmlkLnJlbW92ZUVsZW1lbnQoKSl9LHJlbmRlclNrZWxldG9uSHRtbDpmdW5jdGlvbigpe3JldHVybic8dGFibGU+PHRoZWFkIGNsYXNzPSJmYy1oZWFkIj48dHI+PHRkIGNsYXNzPSJmYy1oZWFkLWNvbnRhaW5lciAnK3RoaXMud2lkZ2V0SGVhZGVyQ2xhc3MrJyI+PC90ZD48L3RyPjwvdGhlYWQ+PHRib2R5IGNsYXNzPSJmYy1ib2R5Ij48dHI+PHRkIGNsYXNzPSInK3RoaXMud2lkZ2V0Q29udGVudENsYXNzKyciPicrKHRoaXMuZGF5R3JpZD8nPGRpdiBjbGFzcz0iZmMtZGF5LWdyaWQiLz48aHIgY2xhc3M9ImZjLWRpdmlkZXIgJyt0aGlzLndpZGdldEhlYWRlckNsYXNzKyciLz4nOiIiKSsnPGRpdiBjbGFzcz0iZmMtdGltZS1ncmlkLWNvbnRhaW5lciI+PGRpdiBjbGFzcz0iZmMtdGltZS1ncmlkIi8+PC9kaXY+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT4nfSxheGlzU3R5bGVBdHRyOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGwhPT10aGlzLmF4aXNXaWR0aD8nc3R5bGU9IndpZHRoOicrdGhpcy5heGlzV2lkdGgrJ3B4Iic6IiJ9LHJlbmRlckJ1c2luZXNzSG91cnM6ZnVuY3Rpb24oKXt0aGlzLnRpbWVHcmlkLnJlbmRlckJ1c2luZXNzSG91cnMoKSx0aGlzLmRheUdyaWQmJnRoaXMuZGF5R3JpZC5yZW5kZXJCdXNpbmVzc0hvdXJzKCl9LHVucmVuZGVyQnVzaW5lc3NIb3VyczpmdW5jdGlvbigpe3RoaXMudGltZUdyaWQudW5yZW5kZXJCdXNpbmVzc0hvdXJzKCksdGhpcy5kYXlHcmlkJiZ0aGlzLmRheUdyaWQudW5yZW5kZXJCdXNpbmVzc0hvdXJzKCl9LGdldE5vd0luZGljYXRvclVuaXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50aW1lR3JpZC5nZXROb3dJbmRpY2F0b3JVbml0KCl9LHJlbmRlck5vd0luZGljYXRvcjpmdW5jdGlvbihhKXt0aGlzLnRpbWVHcmlkLnJlbmRlck5vd0luZGljYXRvcihhKX0sdW5yZW5kZXJOb3dJbmRpY2F0b3I6ZnVuY3Rpb24oKXt0aGlzLnRpbWVHcmlkLnVucmVuZGVyTm93SW5kaWNhdG9yKCl9LHVwZGF0ZVNpemU6ZnVuY3Rpb24oYSl7dGhpcy50aW1lR3JpZC51cGRhdGVTaXplKGEpLG9iLnByb3RvdHlwZS51cGRhdGVTaXplLmNhbGwodGhpcyxhKX0sdXBkYXRlV2lkdGg6ZnVuY3Rpb24oKXt0aGlzLmF4aXNXaWR0aD1rKHRoaXMuZWwuZmluZCgiLmZjLWF4aXMiKSl9LHNldEhlaWdodDpmdW5jdGlvbihhLGIpe3ZhciBjLGQ7bnVsbD09PXRoaXMuYm90dG9tUnVsZUhlaWdodCYmKHRoaXMuYm90dG9tUnVsZUhlaWdodD10aGlzLmJvdHRvbVJ1bGVFbC5vdXRlckhlaWdodCgpKSx0aGlzLmJvdHRvbVJ1bGVFbC5oaWRlKCksdGhpcy5zY3JvbGxlckVsLmNzcygib3ZlcmZsb3ciLCIiKSxtKHRoaXMuc2Nyb2xsZXJFbCksZih0aGlzLm5vU2Nyb2xsUm93RWxzKSx0aGlzLmRheUdyaWQmJih0aGlzLmRheUdyaWQucmVtb3ZlU2VnUG9wb3ZlcigpLGM9dGhpcy5vcHQoImV2ZW50TGltaXQiKSxjJiYibnVtYmVyIiE9dHlwZW9mIGMmJihjPUNiKSxjJiZ0aGlzLmRheUdyaWQubGltaXRSb3dzKGMpKSxifHwoZD10aGlzLmNvbXB1dGVTY3JvbGxlckhlaWdodChhKSxsKHRoaXMuc2Nyb2xsZXJFbCxkKT8oZSh0aGlzLm5vU2Nyb2xsUm93RWxzLHIodGhpcy5zY3JvbGxlckVsKSksZD10aGlzLmNvbXB1dGVTY3JvbGxlckhlaWdodChhKSx0aGlzLnNjcm9sbGVyRWwuaGVpZ2h0KGQpKToodGhpcy5zY3JvbGxlckVsLmhlaWdodChkKS5jc3MoIm92ZXJmbG93IiwiaGlkZGVuIiksdGhpcy5ib3R0b21SdWxlRWwuc2hvdygpKSl9LGNvbXB1dGVJbml0aWFsU2Nyb2xsOmZ1bmN0aW9uKCl7dmFyIGE9Yi5kdXJhdGlvbih0aGlzLm9wdCgic2Nyb2xsVGltZSIpKSxjPXRoaXMudGltZUdyaWQuY29tcHV0ZVRpbWVUb3AoYSk7cmV0dXJuIGM9TWF0aC5jZWlsKGMpLGMmJmMrKyxjfSxwcmVwYXJlSGl0czpmdW5jdGlvbigpe3RoaXMudGltZUdyaWQucHJlcGFyZUhpdHMoKSx0aGlzLmRheUdyaWQmJnRoaXMuZGF5R3JpZC5wcmVwYXJlSGl0cygpfSxyZWxlYXNlSGl0czpmdW5jdGlvbigpe3RoaXMudGltZUdyaWQucmVsZWFzZUhpdHMoKSx0aGlzLmRheUdyaWQmJnRoaXMuZGF5R3JpZC5yZWxlYXNlSGl0cygpfSxxdWVyeUhpdDpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXMudGltZUdyaWQucXVlcnlIaXQoYSxiKTtyZXR1cm4hYyYmdGhpcy5kYXlHcmlkJiYoYz10aGlzLmRheUdyaWQucXVlcnlIaXQoYSxiKSksY30sZ2V0SGl0U3BhbjpmdW5jdGlvbihhKXtyZXR1cm4gYS5jb21wb25lbnQuZ2V0SGl0U3BhbihhKX0sZ2V0SGl0RWw6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29tcG9uZW50LmdldEhpdEVsKGEpfSxyZW5kZXJFdmVudHM6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkPVtdLGU9W10sZj1bXTtmb3IoYz0wO2M8YS5sZW5ndGg7YysrKWFbY10uYWxsRGF5P2QucHVzaChhW2NdKTplLnB1c2goYVtjXSk7Yj10aGlzLnRpbWVHcmlkLnJlbmRlckV2ZW50cyhlKSx0aGlzLmRheUdyaWQmJihmPXRoaXMuZGF5R3JpZC5yZW5kZXJFdmVudHMoZCkpLHRoaXMudXBkYXRlSGVpZ2h0KCl9LGdldEV2ZW50U2VnczpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRpbWVHcmlkLmdldEV2ZW50U2VncygpLmNvbmNhdCh0aGlzLmRheUdyaWQ/dGhpcy5kYXlHcmlkLmdldEV2ZW50U2VncygpOltdKX0sdW5yZW5kZXJFdmVudHM6ZnVuY3Rpb24oKXt0aGlzLnRpbWVHcmlkLnVucmVuZGVyRXZlbnRzKCksdGhpcy5kYXlHcmlkJiZ0aGlzLmRheUdyaWQudW5yZW5kZXJFdmVudHMoKX0scmVuZGVyRHJhZzpmdW5jdGlvbihhLGIpe3JldHVybiBhLnN0YXJ0Lmhhc1RpbWUoKT90aGlzLnRpbWVHcmlkLnJlbmRlckRyYWcoYSxiKTp0aGlzLmRheUdyaWQ/dGhpcy5kYXlHcmlkLnJlbmRlckRyYWcoYSxiKTp2b2lkIDB9LHVucmVuZGVyRHJhZzpmdW5jdGlvbigpe3RoaXMudGltZUdyaWQudW5yZW5kZXJEcmFnKCksdGhpcy5kYXlHcmlkJiZ0aGlzLmRheUdyaWQudW5yZW5kZXJEcmFnKCl9LHJlbmRlclNlbGVjdGlvbjpmdW5jdGlvbihhKXthLnN0YXJ0Lmhhc1RpbWUoKXx8YS5lbmQuaGFzVGltZSgpP3RoaXMudGltZUdyaWQucmVuZGVyU2VsZWN0aW9uKGEpOnRoaXMuZGF5R3JpZCYmdGhpcy5kYXlHcmlkLnJlbmRlclNlbGVjdGlvbihhKX0sdW5yZW5kZXJTZWxlY3Rpb246ZnVuY3Rpb24oKXt0aGlzLnRpbWVHcmlkLnVucmVuZGVyU2VsZWN0aW9uKCksdGhpcy5kYXlHcmlkJiZ0aGlzLmRheUdyaWQudW5yZW5kZXJTZWxlY3Rpb24oKX19KSxBYj17cmVuZGVySGVhZEludHJvSHRtbDpmdW5jdGlvbigpe3ZhciBhLGI9dGhpcy52aWV3O3JldHVybiBiLm9wdCgid2Vla051bWJlcnMiKT8oYT10aGlzLnN0YXJ0LmZvcm1hdChiLm9wdCgic21hbGxXZWVrRm9ybWF0IikpLCc8dGggY2xhc3M9ImZjLWF4aXMgZmMtd2Vlay1udW1iZXIgJytiLndpZGdldEhlYWRlckNsYXNzKyciICcrYi5heGlzU3R5bGVBdHRyKCkrIj48c3Bhbj4iK1koYSkrIjwvc3Bhbj48L3RoPiIpOic8dGggY2xhc3M9ImZjLWF4aXMgJytiLndpZGdldEhlYWRlckNsYXNzKyciICcrYi5heGlzU3R5bGVBdHRyKCkrIj48L3RoPiJ9LHJlbmRlckJnSW50cm9IdG1sOmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy52aWV3O3JldHVybic8dGQgY2xhc3M9ImZjLWF4aXMgJythLndpZGdldENvbnRlbnRDbGFzcysnIiAnK2EuYXhpc1N0eWxlQXR0cigpKyI+PC90ZD4ifSxyZW5kZXJJbnRyb0h0bWw6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnZpZXc7cmV0dXJuJzx0ZCBjbGFzcz0iZmMtYXhpcyIgJythLmF4aXNTdHlsZUF0dHIoKSsiPjwvdGQ+In19LEJiPXtyZW5kZXJCZ0ludHJvSHRtbDpmdW5jdGlvbigpe3ZhciBhPXRoaXMudmlldztyZXR1cm4nPHRkIGNsYXNzPSJmYy1heGlzICcrYS53aWRnZXRDb250ZW50Q2xhc3MrJyIgJythLmF4aXNTdHlsZUF0dHIoKSsiPjxzcGFuPiIrKGEub3B0KCJhbGxEYXlIdG1sIil8fFkoYS5vcHQoImFsbERheVRleHQiKSkpKyI8L3NwYW4+PC90ZD4ifSxyZW5kZXJJbnRyb0h0bWw6ZnVuY3Rpb24oKXt2YXIgYT10aGlzLnZpZXc7cmV0dXJuJzx0ZCBjbGFzcz0iZmMtYXhpcyIgJythLmF4aXNTdHlsZUF0dHIoKSsiPjwvdGQ+In19LENiPTUsRGI9W3tob3VyczoxfSx7bWludXRlczozMH0se21pbnV0ZXM6MTV9LHtzZWNvbmRzOjMwfSx7c2Vjb25kczoxNX1dO3JldHVybiBRYS5hZ2VuZGE9eyJjbGFzcyI6emIsZGVmYXVsdHM6e2FsbERheVNsb3Q6ITAsYWxsRGF5VGV4dDoiYWxsLWRheSIsc2xvdER1cmF0aW9uOiIwMDozMDowMCIsbWluVGltZToiMDA6MDA6MDAiLG1heFRpbWU6IjI0OjAwOjAwIixzbG90RXZlbnRPdmVybGFwOiEwfX0sUWEuYWdlbmRhRGF5PXt0eXBlOiJhZ2VuZGEiLGR1cmF0aW9uOntkYXlzOjF9fSxRYS5hZ2VuZGFXZWVrPXt0eXBlOiJhZ2VuZGEiLGR1cmF0aW9uOnt3ZWVrczoxfX0sUGF9KTsNCg0KDQovKiENCiAJb2RvbWV0ZXIgMC40LjgNCiAqLw0KKGZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1LHYsdyx4LHkseixBLEIsQyxELEUsRixHPVtdLnNsaWNlO3E9JzxzcGFuIGNsYXNzPSJvZG9tZXRlci12YWx1ZSI+PC9zcGFuPicsbj0nPHNwYW4gY2xhc3M9Im9kb21ldGVyLXJpYmJvbiI+PHNwYW4gY2xhc3M9Im9kb21ldGVyLXJpYmJvbi1pbm5lciI+JytxKyI8L3NwYW4+PC9zcGFuPiIsZD0nPHNwYW4gY2xhc3M9Im9kb21ldGVyLWRpZ2l0Ij48c3BhbiBjbGFzcz0ib2RvbWV0ZXItZGlnaXQtc3BhY2VyIj44PC9zcGFuPjxzcGFuIGNsYXNzPSJvZG9tZXRlci1kaWdpdC1pbm5lciI+JytuKyI8L3NwYW4+PC9zcGFuPiIsZz0nPHNwYW4gY2xhc3M9Im9kb21ldGVyLWZvcm1hdHRpbmctbWFyayI+PC9zcGFuPicsYz0iKCxkZGQpLmRkIixoPS9eXCg/KFteKV0qKVwpPyg/OiguKShkKykpPyQvLGk9MzAsZj0yZTMsYT0yMCxqPTIsZT0uNSxrPTFlMy9pLGI9MWUzL2Esbz0idHJhbnNpdGlvbmVuZCB3ZWJraXRUcmFuc2l0aW9uRW5kIG9UcmFuc2l0aW9uRW5kIG90cmFuc2l0aW9uZW5kIE1TVHJhbnNpdGlvbkVuZCIseT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSxwPW51bGwhPXkudHJhbnNpdGlvbnx8bnVsbCE9eS53ZWJraXRUcmFuc2l0aW9ufHxudWxsIT15Lm1velRyYW5zaXRpb258fG51bGwhPXkub1RyYW5zaXRpb24sdz13aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubW96UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cud2Via2l0UmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWUsbD13aW5kb3cuTXV0YXRpb25PYnNlcnZlcnx8d2luZG93LldlYktpdE11dGF0aW9uT2JzZXJ2ZXJ8fHdpbmRvdy5Nb3pNdXRhdGlvbk9ic2VydmVyLHM9ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuIGI9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IiksYi5pbm5lckhUTUw9YSxiLmNoaWxkcmVuWzBdfSx2PWZ1bmN0aW9uKGEsYil7cmV0dXJuIGEuY2xhc3NOYW1lPWEuY2xhc3NOYW1lLnJlcGxhY2UobmV3IFJlZ0V4cCgiKF58ICkiK2Iuc3BsaXQoIiAiKS5qb2luKCJ8IikrIiggfCQpIiwiZ2kiKSwiICIpfSxyPWZ1bmN0aW9uKGEsYil7cmV0dXJuIHYoYSxiKSxhLmNsYXNzTmFtZSs9IiAiK2J9LHo9ZnVuY3Rpb24oYSxiKXt2YXIgYztyZXR1cm4gbnVsbCE9ZG9jdW1lbnQuY3JlYXRlRXZlbnQ/KGM9ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkhUTUxFdmVudHMiKSxjLmluaXRFdmVudChiLCEwLCEwKSxhLmRpc3BhdGNoRXZlbnQoYykpOnZvaWQgMH0sdT1mdW5jdGlvbigpe3ZhciBhLGI7cmV0dXJuIG51bGwhPShhPW51bGwhPShiPXdpbmRvdy5wZXJmb3JtYW5jZSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBiLm5vdz9iLm5vdygpOnZvaWQgMCk/YTorbmV3IERhdGV9LHg9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbnVsbD09YiYmKGI9MCksYj8oYSo9TWF0aC5wb3coMTAsYiksYSs9LjUsYT1NYXRoLmZsb29yKGEpLGEvPU1hdGgucG93KDEwLGIpKTpNYXRoLnJvdW5kKGEpfSxBPWZ1bmN0aW9uKGEpe3JldHVybiAwPmE/TWF0aC5jZWlsKGEpOk1hdGguZmxvb3IoYSl9LHQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGEteChhKX0sQz0hMSwoQj1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGU7aWYoIUMmJm51bGwhPXdpbmRvdy5qUXVlcnkpe2ZvcihDPSEwLGQ9WyJodG1sIiwidGV4dCJdLGU9W10sYj0wLGM9ZC5sZW5ndGg7Yz5iO2IrKylhPWRbYl0sZS5wdXNoKGZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiBiPXdpbmRvdy5qUXVlcnkuZm5bYV0sd2luZG93LmpRdWVyeS5mblthXT1mdW5jdGlvbihhKXt2YXIgYztyZXR1cm4gbnVsbD09YXx8bnVsbD09KG51bGwhPShjPXRoaXNbMF0pP2Mub2RvbWV0ZXI6dm9pZCAwKT9iLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzWzBdLm9kb21ldGVyLnVwZGF0ZShhKX19KGEpKTtyZXR1cm4gZX19KSgpLHNldFRpbWVvdXQoQiwwKSxtPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gYShiKXt2YXIgYyxkLGUsZyxoLGksbCxtLG4sbyxwPXRoaXM7aWYodGhpcy5vcHRpb25zPWIsdGhpcy5lbD10aGlzLm9wdGlvbnMuZWwsbnVsbCE9dGhpcy5lbC5vZG9tZXRlcilyZXR1cm4gdGhpcy5lbC5vZG9tZXRlcjt0aGlzLmVsLm9kb21ldGVyPXRoaXMsbT1hLm9wdGlvbnM7Zm9yKGQgaW4gbSlnPW1bZF0sbnVsbD09dGhpcy5vcHRpb25zW2RdJiYodGhpcy5vcHRpb25zW2RdPWcpO251bGw9PShoPXRoaXMub3B0aW9ucykuZHVyYXRpb24mJihoLmR1cmF0aW9uPWYpLHRoaXMuTUFYX1ZBTFVFUz10aGlzLm9wdGlvbnMuZHVyYXRpb24vay9qfDAsdGhpcy5yZXNldEZvcm1hdCgpLHRoaXMudmFsdWU9dGhpcy5jbGVhblZhbHVlKG51bGwhPShuPXRoaXMub3B0aW9ucy52YWx1ZSk/bjoiIiksdGhpcy5yZW5kZXJJbnNpZGUoKSx0aGlzLnJlbmRlcigpO3RyeXtmb3Iobz1bImlubmVySFRNTCIsImlubmVyVGV4dCIsInRleHRDb250ZW50Il0saT0wLGw9by5sZW5ndGg7bD5pO2krKyllPW9baV0sbnVsbCE9dGhpcy5lbFtlXSYmIWZ1bmN0aW9uKGEpe3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkocC5lbCxhLHtnZXQ6ZnVuY3Rpb24oKXt2YXIgYjtyZXR1cm4iaW5uZXJIVE1MIj09PWE/cC5pbnNpZGUub3V0ZXJIVE1MOm51bGwhPShiPXAuaW5zaWRlLmlubmVyVGV4dCk/YjpwLmluc2lkZS50ZXh0Q29udGVudH0sc2V0OmZ1bmN0aW9uKGEpe3JldHVybiBwLnVwZGF0ZShhKX19KX0oZSl9Y2F0Y2gocSl7Yz1xLHRoaXMud2F0Y2hGb3JNdXRhdGlvbnMoKX19cmV0dXJuIGEucHJvdG90eXBlLnJlbmRlckluc2lkZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLmluc2lkZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKSx0aGlzLmluc2lkZS5jbGFzc05hbWU9Im9kb21ldGVyLWluc2lkZSIsdGhpcy5lbC5pbm5lckhUTUw9IiIsdGhpcy5lbC5hcHBlbmRDaGlsZCh0aGlzLmluc2lkZSl9LGEucHJvdG90eXBlLndhdGNoRm9yTXV0YXRpb25zPWZ1bmN0aW9uKCl7dmFyIGEsYj10aGlzO2lmKG51bGwhPWwpdHJ5e3JldHVybiBudWxsPT10aGlzLm9ic2VydmVyJiYodGhpcy5vYnNlcnZlcj1uZXcgbChmdW5jdGlvbihhKXt2YXIgYztyZXR1cm4gYz1iLmVsLmlubmVyVGV4dCxiLnJlbmRlckluc2lkZSgpLGIucmVuZGVyKGIudmFsdWUpLGIudXBkYXRlKGMpfSkpLHRoaXMud2F0Y2hNdXRhdGlvbnM9ITAsdGhpcy5zdGFydFdhdGNoaW5nTXV0YXRpb25zKCl9Y2F0Y2goYyl7YT1jfX0sYS5wcm90b3R5cGUuc3RhcnRXYXRjaGluZ011dGF0aW9ucz1mdW5jdGlvbigpe3JldHVybiB0aGlzLndhdGNoTXV0YXRpb25zP3RoaXMub2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsLHtjaGlsZExpc3Q6ITB9KTp2b2lkIDB9LGEucHJvdG90eXBlLnN0b3BXYXRjaGluZ011dGF0aW9ucz1mdW5jdGlvbigpe3ZhciBhO3JldHVybiBudWxsIT0oYT10aGlzLm9ic2VydmVyKT9hLmRpc2Nvbm5lY3QoKTp2b2lkIDB9LGEucHJvdG90eXBlLmNsZWFuVmFsdWU9ZnVuY3Rpb24oYSl7dmFyIGI7cmV0dXJuInN0cmluZyI9PXR5cGVvZiBhJiYoYT1hLnJlcGxhY2UobnVsbCE9KGI9dGhpcy5mb3JtYXQucmFkaXgpP2I6Ii4iLCI8cmFkaXg+IiksYT1hLnJlcGxhY2UoL1suLF0vZywiIiksYT1hLnJlcGxhY2UoIjxyYWRpeD4iLCIuIiksYT1wYXJzZUZsb2F0KGEsMTApfHwwKSx4KGEsdGhpcy5mb3JtYXQucHJlY2lzaW9uKX0sYS5wcm90b3R5cGUuYmluZFRyYW5zaXRpb25FbmQ9ZnVuY3Rpb24oKXt2YXIgYSxiLGMsZCxlLGYsZz10aGlzO2lmKCF0aGlzLnRyYW5zaXRpb25FbmRCb3VuZCl7Zm9yKHRoaXMudHJhbnNpdGlvbkVuZEJvdW5kPSEwLGI9ITEsZT1vLnNwbGl0KCIgIiksZj1bXSxjPTAsZD1lLmxlbmd0aDtkPmM7YysrKWE9ZVtjXSxmLnB1c2godGhpcy5lbC5hZGRFdmVudExpc3RlbmVyKGEsZnVuY3Rpb24oKXtyZXR1cm4gYj8hMDooYj0hMCxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cmV0dXJuIGcucmVuZGVyKCksYj0hMSx6KGcuZWwsIm9kb21ldGVyZG9uZSIpfSwwKSwhMCl9LCExKSk7cmV0dXJuIGZ9fSxhLnByb3RvdHlwZS5yZXNldEZvcm1hdD1mdW5jdGlvbigpe3ZhciBhLGIsZCxlLGYsZyxpLGo7aWYoYT1udWxsIT0oaT10aGlzLm9wdGlvbnMuZm9ybWF0KT9pOmMsYXx8KGE9ImQiKSxkPWguZXhlYyhhKSwhZCl0aHJvdyBuZXcgRXJyb3IoIk9kb21ldGVyOiBVbnBhcnNhYmxlIGRpZ2l0IGZvcm1hdCIpO3JldHVybiBqPWQuc2xpY2UoMSw0KSxnPWpbMF0sZj1qWzFdLGI9alsyXSxlPShudWxsIT1iP2IubGVuZ3RoOnZvaWQgMCl8fDAsdGhpcy5mb3JtYXQ9e3JlcGVhdGluZzpnLHJhZGl4OmYscHJlY2lzaW9uOmV9fSxhLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGg7Zm9yKG51bGw9PWEmJihhPXRoaXMudmFsdWUpLHRoaXMuc3RvcFdhdGNoaW5nTXV0YXRpb25zKCksdGhpcy5yZXNldEZvcm1hdCgpLHRoaXMuaW5zaWRlLmlubmVySFRNTD0iIixmPXRoaXMub3B0aW9ucy50aGVtZSxiPXRoaXMuZWwuY2xhc3NOYW1lLnNwbGl0KCIgIiksZT1bXSxnPTAsaD1iLmxlbmd0aDtoPmc7ZysrKWM9YltnXSxjLmxlbmd0aCYmKChkPS9eb2RvbWV0ZXItdGhlbWUtKC4rKSQvLmV4ZWMoYykpP2Y9ZFsxXTovXm9kb21ldGVyKC18JCkvLnRlc3QoYyl8fGUucHVzaChjKSk7cmV0dXJuIGUucHVzaCgib2RvbWV0ZXIiKSxwfHxlLnB1c2goIm9kb21ldGVyLW5vLXRyYW5zaXRpb25zIiksZj9lLnB1c2goIm9kb21ldGVyLXRoZW1lLSIrZik6ZS5wdXNoKCJvZG9tZXRlci1hdXRvLXRoZW1lIiksdGhpcy5lbC5jbGFzc05hbWU9ZS5qb2luKCIgIiksdGhpcy5yaWJib25zPXt9LHRoaXMuZm9ybWF0RGlnaXRzKGEpLHRoaXMuc3RhcnRXYXRjaGluZ011dGF0aW9ucygpfSxhLnByb3RvdHlwZS5mb3JtYXREaWdpdHM9ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaSxqLGs7aWYodGhpcy5kaWdpdHM9W10sdGhpcy5vcHRpb25zLmZvcm1hdEZ1bmN0aW9uKWZvcihkPXRoaXMub3B0aW9ucy5mb3JtYXRGdW5jdGlvbihhKSxqPWQuc3BsaXQoIiIpLnJldmVyc2UoKSxmPTAsaD1qLmxlbmd0aDtoPmY7ZisrKWM9altmXSxjLm1hdGNoKC8wLTkvKT8oYj10aGlzLnJlbmRlckRpZ2l0KCksYi5xdWVyeVNlbGVjdG9yKCIub2RvbWV0ZXItdmFsdWUiKS5pbm5lckhUTUw9Yyx0aGlzLmRpZ2l0cy5wdXNoKGIpLHRoaXMuaW5zZXJ0RGlnaXQoYikpOnRoaXMuYWRkU3BhY2VyKGMpO2Vsc2UgZm9yKGU9IXRoaXMuZm9ybWF0LnByZWNpc2lvbnx8IXQoYSl8fCExLGs9YS50b1N0cmluZygpLnNwbGl0KCIiKS5yZXZlcnNlKCksZz0wLGk9ay5sZW5ndGg7aT5nO2crKyliPWtbZ10sIi4iPT09YiYmKGU9ITApLHRoaXMuYWRkRGlnaXQoYixlKX0sYS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKGEpe3ZhciBiLGM9dGhpcztyZXR1cm4gYT10aGlzLmNsZWFuVmFsdWUoYSksKGI9YS10aGlzLnZhbHVlKT8odih0aGlzLmVsLCJvZG9tZXRlci1hbmltYXRpbmctdXAgb2RvbWV0ZXItYW5pbWF0aW5nLWRvd24gb2RvbWV0ZXItYW5pbWF0aW5nIiksYj4wP3IodGhpcy5lbCwib2RvbWV0ZXItYW5pbWF0aW5nLXVwIik6cih0aGlzLmVsLCJvZG9tZXRlci1hbmltYXRpbmctZG93biIpLHRoaXMuc3RvcFdhdGNoaW5nTXV0YXRpb25zKCksdGhpcy5hbmltYXRlKGEpLHRoaXMuc3RhcnRXYXRjaGluZ011dGF0aW9ucygpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtyZXR1cm4gYy5lbC5vZmZzZXRIZWlnaHQscihjLmVsLCJvZG9tZXRlci1hbmltYXRpbmciKX0sMCksdGhpcy52YWx1ZT1hKTp2b2lkIDB9LGEucHJvdG90eXBlLnJlbmRlckRpZ2l0PWZ1bmN0aW9uKCl7cmV0dXJuIHMoZCl9LGEucHJvdG90eXBlLmluc2VydERpZ2l0PWZ1bmN0aW9uKGEsYil7cmV0dXJuIG51bGwhPWI/dGhpcy5pbnNpZGUuaW5zZXJ0QmVmb3JlKGEsYik6dGhpcy5pbnNpZGUuY2hpbGRyZW4ubGVuZ3RoP3RoaXMuaW5zaWRlLmluc2VydEJlZm9yZShhLHRoaXMuaW5zaWRlLmNoaWxkcmVuWzBdKTp0aGlzLmluc2lkZS5hcHBlbmRDaGlsZChhKX0sYS5wcm90b3R5cGUuYWRkU3BhY2VyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gZD1zKGcpLGQuaW5uZXJIVE1MPWEsYyYmcihkLGMpLHRoaXMuaW5zZXJ0RGlnaXQoZCxiKX0sYS5wcm90b3R5cGUuYWRkRGlnaXQ9ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZjtpZihudWxsPT1iJiYoYj0hMCksIi0iPT09YSlyZXR1cm4gdGhpcy5hZGRTcGFjZXIoYSxudWxsLCJvZG9tZXRlci1uZWdhdGlvbi1tYXJrIik7aWYoIi4iPT09YSlyZXR1cm4gdGhpcy5hZGRTcGFjZXIobnVsbCE9KGY9dGhpcy5mb3JtYXQucmFkaXgpP2Y6Ii4iLG51bGwsIm9kb21ldGVyLXJhZGl4LW1hcmsiKTtpZihiKWZvcihlPSExOzspe2lmKCF0aGlzLmZvcm1hdC5yZXBlYXRpbmcubGVuZ3RoKXtpZihlKXRocm93IG5ldyBFcnJvcigiQmFkIG9kb21ldGVyIGZvcm1hdCB3aXRob3V0IGRpZ2l0cyIpO3RoaXMucmVzZXRGb3JtYXQoKSxlPSEwfWlmKGM9dGhpcy5mb3JtYXQucmVwZWF0aW5nW3RoaXMuZm9ybWF0LnJlcGVhdGluZy5sZW5ndGgtMV0sdGhpcy5mb3JtYXQucmVwZWF0aW5nPXRoaXMuZm9ybWF0LnJlcGVhdGluZy5zdWJzdHJpbmcoMCx0aGlzLmZvcm1hdC5yZXBlYXRpbmcubGVuZ3RoLTEpLCJkIj09PWMpYnJlYWs7dGhpcy5hZGRTcGFjZXIoYyl9cmV0dXJuIGQ9dGhpcy5yZW5kZXJEaWdpdCgpLGQucXVlcnlTZWxlY3RvcigiLm9kb21ldGVyLXZhbHVlIikuaW5uZXJIVE1MPWEsdGhpcy5kaWdpdHMucHVzaChkKSx0aGlzLmluc2VydERpZ2l0KGQpfSxhLnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKGEpe3JldHVybiBwJiYiY291bnQiIT09dGhpcy5vcHRpb25zLmFuaW1hdGlvbj90aGlzLmFuaW1hdGVTbGlkZShhKTp0aGlzLmFuaW1hdGVDb3VudChhKX0sYS5wcm90b3R5cGUuYW5pbWF0ZUNvdW50PWZ1bmN0aW9uKGEpe3ZhciBjLGQsZSxmLGcsaD10aGlzO2lmKGQ9K2EtdGhpcy52YWx1ZSlyZXR1cm4gZj1lPXUoKSxjPXRoaXMudmFsdWUsKGc9ZnVuY3Rpb24oKXt2YXIgaSxqLGs7cmV0dXJuIHUoKS1mPmgub3B0aW9ucy5kdXJhdGlvbj8oaC52YWx1ZT1hLGgucmVuZGVyKCksdm9pZCB6KGguZWwsIm9kb21ldGVyZG9uZSIpKTooaT11KCktZSxpPmImJihlPXUoKSxrPWkvaC5vcHRpb25zLmR1cmF0aW9uLGo9ZCprLGMrPWosaC5yZW5kZXIoTWF0aC5yb3VuZChjKSkpLG51bGwhPXc/dyhnKTpzZXRUaW1lb3V0KGcsYikpfSkoKX0sYS5wcm90b3R5cGUuZ2V0RGlnaXRDb3VudD1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGUsZjtmb3IoZD0xPD1hcmd1bWVudHMubGVuZ3RoP0cuY2FsbChhcmd1bWVudHMsMCk6W10sYT1lPTAsZj1kLmxlbmd0aDtmPmU7YT0rK2UpYz1kW2FdLGRbYV09TWF0aC5hYnMoYyk7cmV0dXJuIGI9TWF0aC5tYXguYXBwbHkoTWF0aCxkKSxNYXRoLmNlaWwoTWF0aC5sb2coYisxKS9NYXRoLmxvZygxMCkpfSxhLnByb3RvdHlwZS5nZXRGcmFjdGlvbmFsRGlnaXRDb3VudD1mdW5jdGlvbigpe3ZhciBhLGIsYyxkLGUsZixnO2ZvcihlPTE8PWFyZ3VtZW50cy5sZW5ndGg/Ry5jYWxsKGFyZ3VtZW50cywwKTpbXSxiPS9eXC0/XGQqXC4oXGQqPykwKiQvLGE9Zj0wLGc9ZS5sZW5ndGg7Zz5mO2E9KytmKWQ9ZVthXSxlW2FdPWQudG9TdHJpbmcoKSxjPWIuZXhlYyhlW2FdKSxudWxsPT1jP2VbYV09MDplW2FdPWNbMV0ubGVuZ3RoO3JldHVybiBNYXRoLm1heC5hcHBseShNYXRoLGUpfSxhLnByb3RvdHlwZS5yZXNldERpZ2l0cz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmRpZ2l0cz1bXSx0aGlzLnJpYmJvbnM9W10sdGhpcy5pbnNpZGUuaW5uZXJIVE1MPSIiLHRoaXMucmVzZXRGb3JtYXQoKX0sYS5wcm90b3R5cGUuYW5pbWF0ZVNsaWRlPWZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxmLGcsaCxpLGosayxsLG0sbixvLHAscSxzLHQsdSx2LHcseCx5LHosQixDLEQsRTtpZihzPXRoaXMudmFsdWUsaj10aGlzLmdldEZyYWN0aW9uYWxEaWdpdENvdW50KHMsYSksaiYmKGEqPU1hdGgucG93KDEwLGopLHMqPU1hdGgucG93KDEwLGopKSxkPWEtcyl7Zm9yKHRoaXMuYmluZFRyYW5zaXRpb25FbmQoKSxmPXRoaXMuZ2V0RGlnaXRDb3VudChzLGEpLGc9W10sYj0wLG09dj0wO2Y+PTA/Zj52OnY+ZjttPWY+PTA/Kyt2Oi0tdil7aWYodD1BKHMvTWF0aC5wb3coMTAsZi1tLTEpKSxpPUEoYS9NYXRoLnBvdygxMCxmLW0tMSkpLGg9aS10LE1hdGguYWJzKGgpPnRoaXMuTUFYX1ZBTFVFUyl7Zm9yKGw9W10sbj1oLyh0aGlzLk1BWF9WQUxVRVMrdGhpcy5NQVhfVkFMVUVTKmIqZSksYz10O2g+MCYmaT5jfHwwPmgmJmM+aTspbC5wdXNoKE1hdGgucm91bmQoYykpLGMrPW47bFtsLmxlbmd0aC0xXSE9PWkmJmwucHVzaChpKSxiKyt9ZWxzZSBsPWZ1bmN0aW9uKCl7RT1bXTtmb3IodmFyIGE9dDtpPj10P2k+PWE6YT49aTtpPj10P2ErKzphLS0pRS5wdXNoKGEpO3JldHVybiBFfS5hcHBseSh0aGlzKTtmb3IobT13PTAseT1sLmxlbmd0aDt5Pnc7bT0rK3cpaz1sW21dLGxbbV09TWF0aC5hYnMoayUxMCk7Zy5wdXNoKGwpfWZvcih0aGlzLnJlc2V0RGlnaXRzKCksRD1nLnJldmVyc2UoKSxtPXg9MCx6PUQubGVuZ3RoO3o+eDttPSsreClmb3IobD1EW21dLHRoaXMuZGlnaXRzW21dfHx0aGlzLmFkZERpZ2l0KCIgIixtPj1qKSxudWxsPT0odT10aGlzLnJpYmJvbnMpW21dJiYodVttXT10aGlzLmRpZ2l0c1ttXS5xdWVyeVNlbGVjdG9yKCIub2RvbWV0ZXItcmliYm9uLWlubmVyIikpLHRoaXMucmliYm9uc1ttXS5pbm5lckhUTUw9IiIsMD5kJiYobD1sLnJldmVyc2UoKSksbz1DPTAsQj1sLmxlbmd0aDtCPkM7bz0rK0Mpaz1sW29dLHE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2IikscS5jbGFzc05hbWU9Im9kb21ldGVyLXZhbHVlIixxLmlubmVySFRNTD1rLHRoaXMucmliYm9uc1ttXS5hcHBlbmRDaGlsZChxKSxvPT09bC5sZW5ndGgtMSYmcihxLCJvZG9tZXRlci1sYXN0LXZhbHVlIiksMD09PW8mJnIocSwib2RvbWV0ZXItZmlyc3QtdmFsdWUiKTtyZXR1cm4gMD50JiZ0aGlzLmFkZERpZ2l0KCItIikscD10aGlzLmluc2lkZS5xdWVyeVNlbGVjdG9yKCIub2RvbWV0ZXItcmFkaXgtbWFyayIpLG51bGwhPXAmJnAucGFyZW50LnJlbW92ZUNoaWxkKHApLGo/dGhpcy5hZGRTcGFjZXIodGhpcy5mb3JtYXQucmFkaXgsdGhpcy5kaWdpdHNbai0xXSwib2RvbWV0ZXItcmFkaXgtbWFyayIpOnZvaWQgMH19LGF9KCksbS5vcHRpb25zPW51bGwhPShFPXdpbmRvdy5vZG9tZXRlck9wdGlvbnMpP0U6e30sc2V0VGltZW91dChmdW5jdGlvbigpe3ZhciBhLGIsYyxkLGU7aWYod2luZG93Lm9kb21ldGVyT3B0aW9ucyl7ZD13aW5kb3cub2RvbWV0ZXJPcHRpb25zLGU9W107Zm9yKGEgaW4gZCliPWRbYV0sZS5wdXNoKG51bGwhPShjPW0ub3B0aW9ucylbYV0/KGM9bS5vcHRpb25zKVthXTpjW2FdPWIpO3JldHVybiBlfX0sMCksbS5pbml0PWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmO2lmKG51bGwhPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwpe2ZvcihiPWRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwobS5vcHRpb25zLnNlbGVjdG9yfHwiLm9kb21ldGVyIiksZj1bXSxjPTAsZD1iLmxlbmd0aDtkPmM7YysrKWE9YltjXSxmLnB1c2goYS5vZG9tZXRlcj1uZXcgbSh7ZWw6YSx2YWx1ZTpudWxsIT0oZT1hLmlubmVyVGV4dCk/ZTphLnRleHRDb250ZW50fSkpO3JldHVybiBmfX0sbnVsbCE9KG51bGwhPShGPWRvY3VtZW50LmRvY3VtZW50RWxlbWVudCk/Ri5kb1Njcm9sbDp2b2lkIDApJiZudWxsIT1kb2N1bWVudC5jcmVhdGVFdmVudE9iamVjdD8oRD1kb2N1bWVudC5vbnJlYWR5c3RhdGVjaGFuZ2UsZG9jdW1lbnQub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuImNvbXBsZXRlIj09PWRvY3VtZW50LnJlYWR5U3RhdGUmJm0ub3B0aW9ucy5hdXRvIT09ITEmJm0uaW5pdCgpLG51bGwhPUQ/RC5hcHBseSh0aGlzLGFyZ3VtZW50cyk6dm9pZCAwfSk6ZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiRE9NQ29udGVudExvYWRlZCIsZnVuY3Rpb24oKXtyZXR1cm4gbS5vcHRpb25zLmF1dG8hPT0hMT9tLmluaXQoKTp2b2lkIDB9LCExKSwiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxmdW5jdGlvbigpe3JldHVybiBtfSk6InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzJiZudWxsIT09ZXhwb3J0cz9tb2R1bGUuZXhwb3J0cz1tOndpbmRvdy5PZG9tZXRlcj1tfSkuY2FsbCh0aGlzKTsNCg0KDQovKiENCiBzbGljayBzbGlkZXINCiBWZXJzaW9uOiAxLjguMA0KICBBdXRob3I6IEtlbiBXaGVlbGVyDQogICAgUmVwbzogaHR0cDovL2dpdGh1Yi5jb20va2Vud2hlZWxlci9zbGljaw0KICovDQohZnVuY3Rpb24oaSl7InVzZSBzdHJpY3QiOyJmdW5jdGlvbiI9PXR5cGVvZiBkZWZpbmUmJmRlZmluZS5hbWQ/ZGVmaW5lKFsianF1ZXJ5Il0saSk6InVuZGVmaW5lZCIhPXR5cGVvZiBleHBvcnRzP21vZHVsZS5leHBvcnRzPWkocmVxdWlyZSgianF1ZXJ5IikpOmkoalF1ZXJ5KX0oZnVuY3Rpb24oaSl7InVzZSBzdHJpY3QiO3ZhciBlPXdpbmRvdy5TbGlja3x8e307KGU9ZnVuY3Rpb24oKXt2YXIgZT0wO3JldHVybiBmdW5jdGlvbih0LG8pe3ZhciBzLG49dGhpcztuLmRlZmF1bHRzPXthY2Nlc3NpYmlsaXR5OiEwLGFkYXB0aXZlSGVpZ2h0OiExLGFwcGVuZEFycm93czppKHQpLGFwcGVuZERvdHM6aSh0KSxhcnJvd3M6ITAsYXNOYXZGb3I6bnVsbCxwcmV2QXJyb3c6JzxidXR0b24gY2xhc3M9InNsaWNrLXByZXYiIGFyaWEtbGFiZWw9IlByZXZpb3VzIiB0eXBlPSJidXR0b24iPlByZXZpb3VzPC9idXR0b24+JyxuZXh0QXJyb3c6JzxidXR0b24gY2xhc3M9InNsaWNrLW5leHQiIGFyaWEtbGFiZWw9Ik5leHQiIHR5cGU9ImJ1dHRvbiI+TmV4dDwvYnV0dG9uPicsYXV0b3BsYXk6ITEsYXV0b3BsYXlTcGVlZDozZTMsY2VudGVyTW9kZTohMSxjZW50ZXJQYWRkaW5nOiI1MHB4Iixjc3NFYXNlOiJlYXNlIixjdXN0b21QYWdpbmc6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gaSgnPGJ1dHRvbiB0eXBlPSJidXR0b24iIC8+JykudGV4dCh0KzEpfSxkb3RzOiExLGRvdHNDbGFzczoic2xpY2stZG90cyIsZHJhZ2dhYmxlOiEwLGVhc2luZzoibGluZWFyIixlZGdlRnJpY3Rpb246LjM1LGZhZGU6ITEsZm9jdXNPblNlbGVjdDohMSxmb2N1c09uQ2hhbmdlOiExLGluZmluaXRlOiEwLGluaXRpYWxTbGlkZTowLGxhenlMb2FkOiJvbmRlbWFuZCIsbW9iaWxlRmlyc3Q6ITEscGF1c2VPbkhvdmVyOiEwLHBhdXNlT25Gb2N1czohMCxwYXVzZU9uRG90c0hvdmVyOiExLHJlc3BvbmRUbzoid2luZG93IixyZXNwb25zaXZlOm51bGwscm93czoxLHJ0bDohMSxzbGlkZToiIixzbGlkZXNQZXJSb3c6MSxzbGlkZXNUb1Nob3c6MSxzbGlkZXNUb1Njcm9sbDoxLHNwZWVkOjUwMCxzd2lwZTohMCxzd2lwZVRvU2xpZGU6ITEsdG91Y2hNb3ZlOiEwLHRvdWNoVGhyZXNob2xkOjUsdXNlQ1NTOiEwLHVzZVRyYW5zZm9ybTohMCx2YXJpYWJsZVdpZHRoOiExLHZlcnRpY2FsOiExLHZlcnRpY2FsU3dpcGluZzohMSx3YWl0Rm9yQW5pbWF0ZTohMCx6SW5kZXg6MWUzfSxuLmluaXRpYWxzPXthbmltYXRpbmc6ITEsZHJhZ2dpbmc6ITEsYXV0b1BsYXlUaW1lcjpudWxsLGN1cnJlbnREaXJlY3Rpb246MCxjdXJyZW50TGVmdDpudWxsLGN1cnJlbnRTbGlkZTowLGRpcmVjdGlvbjoxLCRkb3RzOm51bGwsbGlzdFdpZHRoOm51bGwsbGlzdEhlaWdodDpudWxsLGxvYWRJbmRleDowLCRuZXh0QXJyb3c6bnVsbCwkcHJldkFycm93Om51bGwsc2Nyb2xsaW5nOiExLHNsaWRlQ291bnQ6bnVsbCxzbGlkZVdpZHRoOm51bGwsJHNsaWRlVHJhY2s6bnVsbCwkc2xpZGVzOm51bGwsc2xpZGluZzohMSxzbGlkZU9mZnNldDowLHN3aXBlTGVmdDpudWxsLHN3aXBpbmc6ITEsJGxpc3Q6bnVsbCx0b3VjaE9iamVjdDp7fSx0cmFuc2Zvcm1zRW5hYmxlZDohMSx1bnNsaWNrZWQ6ITF9LGkuZXh0ZW5kKG4sbi5pbml0aWFscyksbi5hY3RpdmVCcmVha3BvaW50PW51bGwsbi5hbmltVHlwZT1udWxsLG4uYW5pbVByb3A9bnVsbCxuLmJyZWFrcG9pbnRzPVtdLG4uYnJlYWtwb2ludFNldHRpbmdzPVtdLG4uY3NzVHJhbnNpdGlvbnM9ITEsbi5mb2N1c3NlZD0hMSxuLmludGVycnVwdGVkPSExLG4uaGlkZGVuPSJoaWRkZW4iLG4ucGF1c2VkPSEwLG4ucG9zaXRpb25Qcm9wPW51bGwsbi5yZXNwb25kVG89bnVsbCxuLnJvd0NvdW50PTEsbi5zaG91bGRDbGljaz0hMCxuLiRzbGlkZXI9aSh0KSxuLiRzbGlkZXNDYWNoZT1udWxsLG4udHJhbnNmb3JtVHlwZT1udWxsLG4udHJhbnNpdGlvblR5cGU9bnVsbCxuLnZpc2liaWxpdHlDaGFuZ2U9InZpc2liaWxpdHljaGFuZ2UiLG4ud2luZG93V2lkdGg9MCxuLndpbmRvd1RpbWVyPW51bGwscz1pKHQpLmRhdGEoInNsaWNrIil8fHt9LG4ub3B0aW9ucz1pLmV4dGVuZCh7fSxuLmRlZmF1bHRzLG8scyksbi5jdXJyZW50U2xpZGU9bi5vcHRpb25zLmluaXRpYWxTbGlkZSxuLm9yaWdpbmFsU2V0dGluZ3M9bi5vcHRpb25zLHZvaWQgMCE9PWRvY3VtZW50Lm1vekhpZGRlbj8obi5oaWRkZW49Im1vekhpZGRlbiIsbi52aXNpYmlsaXR5Q2hhbmdlPSJtb3p2aXNpYmlsaXR5Y2hhbmdlIik6dm9pZCAwIT09ZG9jdW1lbnQud2Via2l0SGlkZGVuJiYobi5oaWRkZW49IndlYmtpdEhpZGRlbiIsbi52aXNpYmlsaXR5Q2hhbmdlPSJ3ZWJraXR2aXNpYmlsaXR5Y2hhbmdlIiksbi5hdXRvUGxheT1pLnByb3h5KG4uYXV0b1BsYXksbiksbi5hdXRvUGxheUNsZWFyPWkucHJveHkobi5hdXRvUGxheUNsZWFyLG4pLG4uYXV0b1BsYXlJdGVyYXRvcj1pLnByb3h5KG4uYXV0b1BsYXlJdGVyYXRvcixuKSxuLmNoYW5nZVNsaWRlPWkucHJveHkobi5jaGFuZ2VTbGlkZSxuKSxuLmNsaWNrSGFuZGxlcj1pLnByb3h5KG4uY2xpY2tIYW5kbGVyLG4pLG4uc2VsZWN0SGFuZGxlcj1pLnByb3h5KG4uc2VsZWN0SGFuZGxlcixuKSxuLnNldFBvc2l0aW9uPWkucHJveHkobi5zZXRQb3NpdGlvbixuKSxuLnN3aXBlSGFuZGxlcj1pLnByb3h5KG4uc3dpcGVIYW5kbGVyLG4pLG4uZHJhZ0hhbmRsZXI9aS5wcm94eShuLmRyYWdIYW5kbGVyLG4pLG4ua2V5SGFuZGxlcj1pLnByb3h5KG4ua2V5SGFuZGxlcixuKSxuLmluc3RhbmNlVWlkPWUrKyxuLmh0bWxFeHByPS9eKD86XHMqKDxbXHdcV10rPilbXj5dKikkLyxuLnJlZ2lzdGVyQnJlYWtwb2ludHMoKSxuLmluaXQoITApfX0oKSkucHJvdG90eXBlLmFjdGl2YXRlQURBPWZ1bmN0aW9uKCl7dGhpcy4kc2xpZGVUcmFjay5maW5kKCIuc2xpY2stYWN0aXZlIikuYXR0cih7ImFyaWEtaGlkZGVuIjoiZmFsc2UifSkuZmluZCgiYSwgaW5wdXQsIGJ1dHRvbiwgc2VsZWN0IikuYXR0cih7dGFiaW5kZXg6IjAifSl9LGUucHJvdG90eXBlLmFkZFNsaWRlPWUucHJvdG90eXBlLnNsaWNrQWRkPWZ1bmN0aW9uKGUsdCxvKXt2YXIgcz10aGlzO2lmKCJib29sZWFuIj09dHlwZW9mIHQpbz10LHQ9bnVsbDtlbHNlIGlmKHQ8MHx8dD49cy5zbGlkZUNvdW50KXJldHVybiExO3MudW5sb2FkKCksIm51bWJlciI9PXR5cGVvZiB0PzA9PT10JiYwPT09cy4kc2xpZGVzLmxlbmd0aD9pKGUpLmFwcGVuZFRvKHMuJHNsaWRlVHJhY2spOm8/aShlKS5pbnNlcnRCZWZvcmUocy4kc2xpZGVzLmVxKHQpKTppKGUpLmluc2VydEFmdGVyKHMuJHNsaWRlcy5lcSh0KSk6ITA9PT1vP2koZSkucHJlcGVuZFRvKHMuJHNsaWRlVHJhY2spOmkoZSkuYXBwZW5kVG8ocy4kc2xpZGVUcmFjaykscy4kc2xpZGVzPXMuJHNsaWRlVHJhY2suY2hpbGRyZW4odGhpcy5vcHRpb25zLnNsaWRlKSxzLiRzbGlkZVRyYWNrLmNoaWxkcmVuKHRoaXMub3B0aW9ucy5zbGlkZSkuZGV0YWNoKCkscy4kc2xpZGVUcmFjay5hcHBlbmQocy4kc2xpZGVzKSxzLiRzbGlkZXMuZWFjaChmdW5jdGlvbihlLHQpe2kodCkuYXR0cigiZGF0YS1zbGljay1pbmRleCIsZSl9KSxzLiRzbGlkZXNDYWNoZT1zLiRzbGlkZXMscy5yZWluaXQoKX0sZS5wcm90b3R5cGUuYW5pbWF0ZUhlaWdodD1mdW5jdGlvbigpe3ZhciBpPXRoaXM7aWYoMT09PWkub3B0aW9ucy5zbGlkZXNUb1Nob3cmJiEwPT09aS5vcHRpb25zLmFkYXB0aXZlSGVpZ2h0JiYhMT09PWkub3B0aW9ucy52ZXJ0aWNhbCl7dmFyIGU9aS4kc2xpZGVzLmVxKGkuY3VycmVudFNsaWRlKS5vdXRlckhlaWdodCghMCk7aS4kbGlzdC5hbmltYXRlKHtoZWlnaHQ6ZX0saS5vcHRpb25zLnNwZWVkKX19LGUucHJvdG90eXBlLmFuaW1hdGVTbGlkZT1mdW5jdGlvbihlLHQpe3ZhciBvPXt9LHM9dGhpcztzLmFuaW1hdGVIZWlnaHQoKSwhMD09PXMub3B0aW9ucy5ydGwmJiExPT09cy5vcHRpb25zLnZlcnRpY2FsJiYoZT0tZSksITE9PT1zLnRyYW5zZm9ybXNFbmFibGVkPyExPT09cy5vcHRpb25zLnZlcnRpY2FsP3MuJHNsaWRlVHJhY2suYW5pbWF0ZSh7bGVmdDplfSxzLm9wdGlvbnMuc3BlZWQscy5vcHRpb25zLmVhc2luZyx0KTpzLiRzbGlkZVRyYWNrLmFuaW1hdGUoe3RvcDplfSxzLm9wdGlvbnMuc3BlZWQscy5vcHRpb25zLmVhc2luZyx0KTohMT09PXMuY3NzVHJhbnNpdGlvbnM/KCEwPT09cy5vcHRpb25zLnJ0bCYmKHMuY3VycmVudExlZnQ9LXMuY3VycmVudExlZnQpLGkoe2FuaW1TdGFydDpzLmN1cnJlbnRMZWZ0fSkuYW5pbWF0ZSh7YW5pbVN0YXJ0OmV9LHtkdXJhdGlvbjpzLm9wdGlvbnMuc3BlZWQsZWFzaW5nOnMub3B0aW9ucy5lYXNpbmcsc3RlcDpmdW5jdGlvbihpKXtpPU1hdGguY2VpbChpKSwhMT09PXMub3B0aW9ucy52ZXJ0aWNhbD8ob1tzLmFuaW1UeXBlXT0idHJhbnNsYXRlKCIraSsicHgsIDBweCkiLHMuJHNsaWRlVHJhY2suY3NzKG8pKToob1tzLmFuaW1UeXBlXT0idHJhbnNsYXRlKDBweCwiK2krInB4KSIscy4kc2xpZGVUcmFjay5jc3MobykpfSxjb21wbGV0ZTpmdW5jdGlvbigpe3QmJnQuY2FsbCgpfX0pKToocy5hcHBseVRyYW5zaXRpb24oKSxlPU1hdGguY2VpbChlKSwhMT09PXMub3B0aW9ucy52ZXJ0aWNhbD9vW3MuYW5pbVR5cGVdPSJ0cmFuc2xhdGUzZCgiK2UrInB4LCAwcHgsIDBweCkiOm9bcy5hbmltVHlwZV09InRyYW5zbGF0ZTNkKDBweCwiK2UrInB4LCAwcHgpIixzLiRzbGlkZVRyYWNrLmNzcyhvKSx0JiZzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7cy5kaXNhYmxlVHJhbnNpdGlvbigpLHQuY2FsbCgpfSxzLm9wdGlvbnMuc3BlZWQpKX0sZS5wcm90b3R5cGUuZ2V0TmF2VGFyZ2V0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PWUub3B0aW9ucy5hc05hdkZvcjtyZXR1cm4gdCYmbnVsbCE9PXQmJih0PWkodCkubm90KGUuJHNsaWRlcikpLHR9LGUucHJvdG90eXBlLmFzTmF2Rm9yPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuZ2V0TmF2VGFyZ2V0KCk7bnVsbCE9PXQmJiJvYmplY3QiPT10eXBlb2YgdCYmdC5lYWNoKGZ1bmN0aW9uKCl7dmFyIHQ9aSh0aGlzKS5zbGljaygiZ2V0U2xpY2siKTt0LnVuc2xpY2tlZHx8dC5zbGlkZUhhbmRsZXIoZSwhMCl9KX0sZS5wcm90b3R5cGUuYXBwbHlUcmFuc2l0aW9uPWZ1bmN0aW9uKGkpe3ZhciBlPXRoaXMsdD17fTshMT09PWUub3B0aW9ucy5mYWRlP3RbZS50cmFuc2l0aW9uVHlwZV09ZS50cmFuc2Zvcm1UeXBlKyIgIitlLm9wdGlvbnMuc3BlZWQrIm1zICIrZS5vcHRpb25zLmNzc0Vhc2U6dFtlLnRyYW5zaXRpb25UeXBlXT0ib3BhY2l0eSAiK2Uub3B0aW9ucy5zcGVlZCsibXMgIitlLm9wdGlvbnMuY3NzRWFzZSwhMT09PWUub3B0aW9ucy5mYWRlP2UuJHNsaWRlVHJhY2suY3NzKHQpOmUuJHNsaWRlcy5lcShpKS5jc3ModCl9LGUucHJvdG90eXBlLmF1dG9QbGF5PWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLmF1dG9QbGF5Q2xlYXIoKSxpLnNsaWRlQ291bnQ+aS5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKGkuYXV0b1BsYXlUaW1lcj1zZXRJbnRlcnZhbChpLmF1dG9QbGF5SXRlcmF0b3IsaS5vcHRpb25zLmF1dG9wbGF5U3BlZWQpKX0sZS5wcm90b3R5cGUuYXV0b1BsYXlDbGVhcj1mdW5jdGlvbigpe3ZhciBpPXRoaXM7aS5hdXRvUGxheVRpbWVyJiZjbGVhckludGVydmFsKGkuYXV0b1BsYXlUaW1lcil9LGUucHJvdG90eXBlLmF1dG9QbGF5SXRlcmF0b3I9ZnVuY3Rpb24oKXt2YXIgaT10aGlzLGU9aS5jdXJyZW50U2xpZGUraS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsO2kucGF1c2VkfHxpLmludGVycnVwdGVkfHxpLmZvY3Vzc2VkfHwoITE9PT1pLm9wdGlvbnMuaW5maW5pdGUmJigxPT09aS5kaXJlY3Rpb24mJmkuY3VycmVudFNsaWRlKzE9PT1pLnNsaWRlQ291bnQtMT9pLmRpcmVjdGlvbj0wOjA9PT1pLmRpcmVjdGlvbiYmKGU9aS5jdXJyZW50U2xpZGUtaS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsLGkuY3VycmVudFNsaWRlLTE9PTAmJihpLmRpcmVjdGlvbj0xKSkpLGkuc2xpZGVIYW5kbGVyKGUpKX0sZS5wcm90b3R5cGUuYnVpbGRBcnJvd3M9ZnVuY3Rpb24oKXt2YXIgZT10aGlzOyEwPT09ZS5vcHRpb25zLmFycm93cyYmKGUuJHByZXZBcnJvdz1pKGUub3B0aW9ucy5wcmV2QXJyb3cpLmFkZENsYXNzKCJzbGljay1hcnJvdyIpLGUuJG5leHRBcnJvdz1pKGUub3B0aW9ucy5uZXh0QXJyb3cpLmFkZENsYXNzKCJzbGljay1hcnJvdyIpLGUuc2xpZGVDb3VudD5lLm9wdGlvbnMuc2xpZGVzVG9TaG93PyhlLiRwcmV2QXJyb3cucmVtb3ZlQ2xhc3MoInNsaWNrLWhpZGRlbiIpLnJlbW92ZUF0dHIoImFyaWEtaGlkZGVuIHRhYmluZGV4IiksZS4kbmV4dEFycm93LnJlbW92ZUNsYXNzKCJzbGljay1oaWRkZW4iKS5yZW1vdmVBdHRyKCJhcmlhLWhpZGRlbiB0YWJpbmRleCIpLGUuaHRtbEV4cHIudGVzdChlLm9wdGlvbnMucHJldkFycm93KSYmZS4kcHJldkFycm93LnByZXBlbmRUbyhlLm9wdGlvbnMuYXBwZW5kQXJyb3dzKSxlLmh0bWxFeHByLnRlc3QoZS5vcHRpb25zLm5leHRBcnJvdykmJmUuJG5leHRBcnJvdy5hcHBlbmRUbyhlLm9wdGlvbnMuYXBwZW5kQXJyb3dzKSwhMCE9PWUub3B0aW9ucy5pbmZpbml0ZSYmZS4kcHJldkFycm93LmFkZENsYXNzKCJzbGljay1kaXNhYmxlZCIpLmF0dHIoImFyaWEtZGlzYWJsZWQiLCJ0cnVlIikpOmUuJHByZXZBcnJvdy5hZGQoZS4kbmV4dEFycm93KS5hZGRDbGFzcygic2xpY2staGlkZGVuIikuYXR0cih7ImFyaWEtZGlzYWJsZWQiOiJ0cnVlIix0YWJpbmRleDoiLTEifSkpfSxlLnByb3RvdHlwZS5idWlsZERvdHM9ZnVuY3Rpb24oKXt2YXIgZSx0LG89dGhpcztpZighMD09PW8ub3B0aW9ucy5kb3RzKXtmb3Ioby4kc2xpZGVyLmFkZENsYXNzKCJzbGljay1kb3R0ZWQiKSx0PWkoIjx1bCAvPiIpLmFkZENsYXNzKG8ub3B0aW9ucy5kb3RzQ2xhc3MpLGU9MDtlPD1vLmdldERvdENvdW50KCk7ZSs9MSl0LmFwcGVuZChpKCI8bGkgLz4iKS5hcHBlbmQoby5vcHRpb25zLmN1c3RvbVBhZ2luZy5jYWxsKHRoaXMsbyxlKSkpO28uJGRvdHM9dC5hcHBlbmRUbyhvLm9wdGlvbnMuYXBwZW5kRG90cyksby4kZG90cy5maW5kKCJsaSIpLmZpcnN0KCkuYWRkQ2xhc3MoInNsaWNrLWFjdGl2ZSIpfX0sZS5wcm90b3R5cGUuYnVpbGRPdXQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO2UuJHNsaWRlcz1lLiRzbGlkZXIuY2hpbGRyZW4oZS5vcHRpb25zLnNsaWRlKyI6bm90KC5zbGljay1jbG9uZWQpIikuYWRkQ2xhc3MoInNsaWNrLXNsaWRlIiksZS5zbGlkZUNvdW50PWUuJHNsaWRlcy5sZW5ndGgsZS4kc2xpZGVzLmVhY2goZnVuY3Rpb24oZSx0KXtpKHQpLmF0dHIoImRhdGEtc2xpY2staW5kZXgiLGUpLmRhdGEoIm9yaWdpbmFsU3R5bGluZyIsaSh0KS5hdHRyKCJzdHlsZSIpfHwiIil9KSxlLiRzbGlkZXIuYWRkQ2xhc3MoInNsaWNrLXNsaWRlciIpLGUuJHNsaWRlVHJhY2s9MD09PWUuc2xpZGVDb3VudD9pKCc8ZGl2IGNsYXNzPSJzbGljay10cmFjayIvPicpLmFwcGVuZFRvKGUuJHNsaWRlcik6ZS4kc2xpZGVzLndyYXBBbGwoJzxkaXYgY2xhc3M9InNsaWNrLXRyYWNrIi8+JykucGFyZW50KCksZS4kbGlzdD1lLiRzbGlkZVRyYWNrLndyYXAoJzxkaXYgY2xhc3M9InNsaWNrLWxpc3QiLz4nKS5wYXJlbnQoKSxlLiRzbGlkZVRyYWNrLmNzcygib3BhY2l0eSIsMCksITAhPT1lLm9wdGlvbnMuY2VudGVyTW9kZSYmITAhPT1lLm9wdGlvbnMuc3dpcGVUb1NsaWRlfHwoZS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsPTEpLGkoImltZ1tkYXRhLWxhenldIixlLiRzbGlkZXIpLm5vdCgiW3NyY10iKS5hZGRDbGFzcygic2xpY2stbG9hZGluZyIpLGUuc2V0dXBJbmZpbml0ZSgpLGUuYnVpbGRBcnJvd3MoKSxlLmJ1aWxkRG90cygpLGUudXBkYXRlRG90cygpLGUuc2V0U2xpZGVDbGFzc2VzKCJudW1iZXIiPT10eXBlb2YgZS5jdXJyZW50U2xpZGU/ZS5jdXJyZW50U2xpZGU6MCksITA9PT1lLm9wdGlvbnMuZHJhZ2dhYmxlJiZlLiRsaXN0LmFkZENsYXNzKCJkcmFnZ2FibGUiKX0sZS5wcm90b3R5cGUuYnVpbGRSb3dzPWZ1bmN0aW9uKCl7dmFyIGksZSx0LG8scyxuLHIsbD10aGlzO2lmKG89ZG9jdW1lbnQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLG49bC4kc2xpZGVyLmNoaWxkcmVuKCksbC5vcHRpb25zLnJvd3M+MSl7Zm9yKHI9bC5vcHRpb25zLnNsaWRlc1BlclJvdypsLm9wdGlvbnMucm93cyxzPU1hdGguY2VpbChuLmxlbmd0aC9yKSxpPTA7aTxzO2krKyl7dmFyIGQ9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zm9yKGU9MDtlPGwub3B0aW9ucy5yb3dzO2UrKyl7dmFyIGE9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Zm9yKHQ9MDt0PGwub3B0aW9ucy5zbGlkZXNQZXJSb3c7dCsrKXt2YXIgYz1pKnIrKGUqbC5vcHRpb25zLnNsaWRlc1BlclJvdyt0KTtuLmdldChjKSYmYS5hcHBlbmRDaGlsZChuLmdldChjKSl9ZC5hcHBlbmRDaGlsZChhKX1vLmFwcGVuZENoaWxkKGQpfWwuJHNsaWRlci5lbXB0eSgpLmFwcGVuZChvKSxsLiRzbGlkZXIuY2hpbGRyZW4oKS5jaGlsZHJlbigpLmNoaWxkcmVuKCkuY3NzKHt3aWR0aDoxMDAvbC5vcHRpb25zLnNsaWRlc1BlclJvdysiJSIsZGlzcGxheToiaW5saW5lLWJsb2NrIn0pfX0sZS5wcm90b3R5cGUuY2hlY2tSZXNwb25zaXZlPWZ1bmN0aW9uKGUsdCl7dmFyIG8scyxuLHI9dGhpcyxsPSExLGQ9ci4kc2xpZGVyLndpZHRoKCksYT13aW5kb3cuaW5uZXJXaWR0aHx8aSh3aW5kb3cpLndpZHRoKCk7aWYoIndpbmRvdyI9PT1yLnJlc3BvbmRUbz9uPWE6InNsaWRlciI9PT1yLnJlc3BvbmRUbz9uPWQ6Im1pbiI9PT1yLnJlc3BvbmRUbyYmKG49TWF0aC5taW4oYSxkKSksci5vcHRpb25zLnJlc3BvbnNpdmUmJnIub3B0aW9ucy5yZXNwb25zaXZlLmxlbmd0aCYmbnVsbCE9PXIub3B0aW9ucy5yZXNwb25zaXZlKXtzPW51bGw7Zm9yKG8gaW4gci5icmVha3BvaW50cylyLmJyZWFrcG9pbnRzLmhhc093blByb3BlcnR5KG8pJiYoITE9PT1yLm9yaWdpbmFsU2V0dGluZ3MubW9iaWxlRmlyc3Q/bjxyLmJyZWFrcG9pbnRzW29dJiYocz1yLmJyZWFrcG9pbnRzW29dKTpuPnIuYnJlYWtwb2ludHNbb10mJihzPXIuYnJlYWtwb2ludHNbb10pKTtudWxsIT09cz9udWxsIT09ci5hY3RpdmVCcmVha3BvaW50PyhzIT09ci5hY3RpdmVCcmVha3BvaW50fHx0KSYmKHIuYWN0aXZlQnJlYWtwb2ludD1zLCJ1bnNsaWNrIj09PXIuYnJlYWtwb2ludFNldHRpbmdzW3NdP3IudW5zbGljayhzKTooci5vcHRpb25zPWkuZXh0ZW5kKHt9LHIub3JpZ2luYWxTZXR0aW5ncyxyLmJyZWFrcG9pbnRTZXR0aW5nc1tzXSksITA9PT1lJiYoci5jdXJyZW50U2xpZGU9ci5vcHRpb25zLmluaXRpYWxTbGlkZSksci5yZWZyZXNoKGUpKSxsPXMpOihyLmFjdGl2ZUJyZWFrcG9pbnQ9cywidW5zbGljayI9PT1yLmJyZWFrcG9pbnRTZXR0aW5nc1tzXT9yLnVuc2xpY2socyk6KHIub3B0aW9ucz1pLmV4dGVuZCh7fSxyLm9yaWdpbmFsU2V0dGluZ3Msci5icmVha3BvaW50U2V0dGluZ3Nbc10pLCEwPT09ZSYmKHIuY3VycmVudFNsaWRlPXIub3B0aW9ucy5pbml0aWFsU2xpZGUpLHIucmVmcmVzaChlKSksbD1zKTpudWxsIT09ci5hY3RpdmVCcmVha3BvaW50JiYoci5hY3RpdmVCcmVha3BvaW50PW51bGwsci5vcHRpb25zPXIub3JpZ2luYWxTZXR0aW5ncywhMD09PWUmJihyLmN1cnJlbnRTbGlkZT1yLm9wdGlvbnMuaW5pdGlhbFNsaWRlKSxyLnJlZnJlc2goZSksbD1zKSxlfHwhMT09PWx8fHIuJHNsaWRlci50cmlnZ2VyKCJicmVha3BvaW50IixbcixsXSl9fSxlLnByb3RvdHlwZS5jaGFuZ2VTbGlkZT1mdW5jdGlvbihlLHQpe3ZhciBvLHMsbixyPXRoaXMsbD1pKGUuY3VycmVudFRhcmdldCk7c3dpdGNoKGwuaXMoImEiKSYmZS5wcmV2ZW50RGVmYXVsdCgpLGwuaXMoImxpIil8fChsPWwuY2xvc2VzdCgibGkiKSksbj1yLnNsaWRlQ291bnQlci5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsIT0wLG89bj8wOihyLnNsaWRlQ291bnQtci5jdXJyZW50U2xpZGUpJXIub3B0aW9ucy5zbGlkZXNUb1Njcm9sbCxlLmRhdGEubWVzc2FnZSl7Y2FzZSJwcmV2aW91cyI6cz0wPT09bz9yLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGw6ci5vcHRpb25zLnNsaWRlc1RvU2hvdy1vLHIuc2xpZGVDb3VudD5yLm9wdGlvbnMuc2xpZGVzVG9TaG93JiZyLnNsaWRlSGFuZGxlcihyLmN1cnJlbnRTbGlkZS1zLCExLHQpO2JyZWFrO2Nhc2UibmV4dCI6cz0wPT09bz9yLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGw6byxyLnNsaWRlQ291bnQ+ci5vcHRpb25zLnNsaWRlc1RvU2hvdyYmci5zbGlkZUhhbmRsZXIoci5jdXJyZW50U2xpZGUrcywhMSx0KTticmVhaztjYXNlImluZGV4Ijp2YXIgZD0wPT09ZS5kYXRhLmluZGV4PzA6ZS5kYXRhLmluZGV4fHxsLmluZGV4KCkqci5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsO3Iuc2xpZGVIYW5kbGVyKHIuY2hlY2tOYXZpZ2FibGUoZCksITEsdCksbC5jaGlsZHJlbigpLnRyaWdnZXIoImZvY3VzIik7YnJlYWs7ZGVmYXVsdDpyZXR1cm59fSxlLnByb3RvdHlwZS5jaGVja05hdmlnYWJsZT1mdW5jdGlvbihpKXt2YXIgZSx0O2lmKGU9dGhpcy5nZXROYXZpZ2FibGVJbmRleGVzKCksdD0wLGk+ZVtlLmxlbmd0aC0xXSlpPWVbZS5sZW5ndGgtMV07ZWxzZSBmb3IodmFyIG8gaW4gZSl7aWYoaTxlW29dKXtpPXQ7YnJlYWt9dD1lW29dfXJldHVybiBpfSxlLnByb3RvdHlwZS5jbGVhblVwRXZlbnRzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztlLm9wdGlvbnMuZG90cyYmbnVsbCE9PWUuJGRvdHMmJihpKCJsaSIsZS4kZG90cykub2ZmKCJjbGljay5zbGljayIsZS5jaGFuZ2VTbGlkZSkub2ZmKCJtb3VzZWVudGVyLnNsaWNrIixpLnByb3h5KGUuaW50ZXJydXB0LGUsITApKS5vZmYoIm1vdXNlbGVhdmUuc2xpY2siLGkucHJveHkoZS5pbnRlcnJ1cHQsZSwhMSkpLCEwPT09ZS5vcHRpb25zLmFjY2Vzc2liaWxpdHkmJmUuJGRvdHMub2ZmKCJrZXlkb3duLnNsaWNrIixlLmtleUhhbmRsZXIpKSxlLiRzbGlkZXIub2ZmKCJmb2N1cy5zbGljayBibHVyLnNsaWNrIiksITA9PT1lLm9wdGlvbnMuYXJyb3dzJiZlLnNsaWRlQ291bnQ+ZS5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKGUuJHByZXZBcnJvdyYmZS4kcHJldkFycm93Lm9mZigiY2xpY2suc2xpY2siLGUuY2hhbmdlU2xpZGUpLGUuJG5leHRBcnJvdyYmZS4kbmV4dEFycm93Lm9mZigiY2xpY2suc2xpY2siLGUuY2hhbmdlU2xpZGUpLCEwPT09ZS5vcHRpb25zLmFjY2Vzc2liaWxpdHkmJihlLiRwcmV2QXJyb3cmJmUuJHByZXZBcnJvdy5vZmYoImtleWRvd24uc2xpY2siLGUua2V5SGFuZGxlciksZS4kbmV4dEFycm93JiZlLiRuZXh0QXJyb3cub2ZmKCJrZXlkb3duLnNsaWNrIixlLmtleUhhbmRsZXIpKSksZS4kbGlzdC5vZmYoInRvdWNoc3RhcnQuc2xpY2sgbW91c2Vkb3duLnNsaWNrIixlLnN3aXBlSGFuZGxlciksZS4kbGlzdC5vZmYoInRvdWNobW92ZS5zbGljayBtb3VzZW1vdmUuc2xpY2siLGUuc3dpcGVIYW5kbGVyKSxlLiRsaXN0Lm9mZigidG91Y2hlbmQuc2xpY2sgbW91c2V1cC5zbGljayIsZS5zd2lwZUhhbmRsZXIpLGUuJGxpc3Qub2ZmKCJ0b3VjaGNhbmNlbC5zbGljayBtb3VzZWxlYXZlLnNsaWNrIixlLnN3aXBlSGFuZGxlciksZS4kbGlzdC5vZmYoImNsaWNrLnNsaWNrIixlLmNsaWNrSGFuZGxlciksaShkb2N1bWVudCkub2ZmKGUudmlzaWJpbGl0eUNoYW5nZSxlLnZpc2liaWxpdHkpLGUuY2xlYW5VcFNsaWRlRXZlbnRzKCksITA9PT1lLm9wdGlvbnMuYWNjZXNzaWJpbGl0eSYmZS4kbGlzdC5vZmYoImtleWRvd24uc2xpY2siLGUua2V5SGFuZGxlciksITA9PT1lLm9wdGlvbnMuZm9jdXNPblNlbGVjdCYmaShlLiRzbGlkZVRyYWNrKS5jaGlsZHJlbigpLm9mZigiY2xpY2suc2xpY2siLGUuc2VsZWN0SGFuZGxlciksaSh3aW5kb3cpLm9mZigib3JpZW50YXRpb25jaGFuZ2Uuc2xpY2suc2xpY2stIitlLmluc3RhbmNlVWlkLGUub3JpZW50YXRpb25DaGFuZ2UpLGkod2luZG93KS5vZmYoInJlc2l6ZS5zbGljay5zbGljay0iK2UuaW5zdGFuY2VVaWQsZS5yZXNpemUpLGkoIltkcmFnZ2FibGUhPXRydWVdIixlLiRzbGlkZVRyYWNrKS5vZmYoImRyYWdzdGFydCIsZS5wcmV2ZW50RGVmYXVsdCksaSh3aW5kb3cpLm9mZigibG9hZC5zbGljay5zbGljay0iK2UuaW5zdGFuY2VVaWQsZS5zZXRQb3NpdGlvbil9LGUucHJvdG90eXBlLmNsZWFuVXBTbGlkZUV2ZW50cz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS4kbGlzdC5vZmYoIm1vdXNlZW50ZXIuc2xpY2siLGkucHJveHkoZS5pbnRlcnJ1cHQsZSwhMCkpLGUuJGxpc3Qub2ZmKCJtb3VzZWxlYXZlLnNsaWNrIixpLnByb3h5KGUuaW50ZXJydXB0LGUsITEpKX0sZS5wcm90b3R5cGUuY2xlYW5VcFJvd3M9ZnVuY3Rpb24oKXt2YXIgaSxlPXRoaXM7ZS5vcHRpb25zLnJvd3M+MSYmKChpPWUuJHNsaWRlcy5jaGlsZHJlbigpLmNoaWxkcmVuKCkpLnJlbW92ZUF0dHIoInN0eWxlIiksZS4kc2xpZGVyLmVtcHR5KCkuYXBwZW5kKGkpKX0sZS5wcm90b3R5cGUuY2xpY2tIYW5kbGVyPWZ1bmN0aW9uKGkpeyExPT09dGhpcy5zaG91bGRDbGljayYmKGkuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksaS5zdG9wUHJvcGFnYXRpb24oKSxpLnByZXZlbnREZWZhdWx0KCkpfSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC5hdXRvUGxheUNsZWFyKCksdC50b3VjaE9iamVjdD17fSx0LmNsZWFuVXBFdmVudHMoKSxpKCIuc2xpY2stY2xvbmVkIix0LiRzbGlkZXIpLmRldGFjaCgpLHQuJGRvdHMmJnQuJGRvdHMucmVtb3ZlKCksdC4kcHJldkFycm93JiZ0LiRwcmV2QXJyb3cubGVuZ3RoJiYodC4kcHJldkFycm93LnJlbW92ZUNsYXNzKCJzbGljay1kaXNhYmxlZCBzbGljay1hcnJvdyBzbGljay1oaWRkZW4iKS5yZW1vdmVBdHRyKCJhcmlhLWhpZGRlbiBhcmlhLWRpc2FibGVkIHRhYmluZGV4IikuY3NzKCJkaXNwbGF5IiwiIiksdC5odG1sRXhwci50ZXN0KHQub3B0aW9ucy5wcmV2QXJyb3cpJiZ0LiRwcmV2QXJyb3cucmVtb3ZlKCkpLHQuJG5leHRBcnJvdyYmdC4kbmV4dEFycm93Lmxlbmd0aCYmKHQuJG5leHRBcnJvdy5yZW1vdmVDbGFzcygic2xpY2stZGlzYWJsZWQgc2xpY2stYXJyb3cgc2xpY2staGlkZGVuIikucmVtb3ZlQXR0cigiYXJpYS1oaWRkZW4gYXJpYS1kaXNhYmxlZCB0YWJpbmRleCIpLmNzcygiZGlzcGxheSIsIiIpLHQuaHRtbEV4cHIudGVzdCh0Lm9wdGlvbnMubmV4dEFycm93KSYmdC4kbmV4dEFycm93LnJlbW92ZSgpKSx0LiRzbGlkZXMmJih0LiRzbGlkZXMucmVtb3ZlQ2xhc3MoInNsaWNrLXNsaWRlIHNsaWNrLWFjdGl2ZSBzbGljay1jZW50ZXIgc2xpY2stdmlzaWJsZSBzbGljay1jdXJyZW50IikucmVtb3ZlQXR0cigiYXJpYS1oaWRkZW4iKS5yZW1vdmVBdHRyKCJkYXRhLXNsaWNrLWluZGV4IikuZWFjaChmdW5jdGlvbigpe2kodGhpcykuYXR0cigic3R5bGUiLGkodGhpcykuZGF0YSgib3JpZ2luYWxTdHlsaW5nIikpfSksdC4kc2xpZGVUcmFjay5jaGlsZHJlbih0aGlzLm9wdGlvbnMuc2xpZGUpLmRldGFjaCgpLHQuJHNsaWRlVHJhY2suZGV0YWNoKCksdC4kbGlzdC5kZXRhY2goKSx0LiRzbGlkZXIuYXBwZW5kKHQuJHNsaWRlcykpLHQuY2xlYW5VcFJvd3MoKSx0LiRzbGlkZXIucmVtb3ZlQ2xhc3MoInNsaWNrLXNsaWRlciIpLHQuJHNsaWRlci5yZW1vdmVDbGFzcygic2xpY2staW5pdGlhbGl6ZWQiKSx0LiRzbGlkZXIucmVtb3ZlQ2xhc3MoInNsaWNrLWRvdHRlZCIpLHQudW5zbGlja2VkPSEwLGV8fHQuJHNsaWRlci50cmlnZ2VyKCJkZXN0cm95IixbdF0pfSxlLnByb3RvdHlwZS5kaXNhYmxlVHJhbnNpdGlvbj1mdW5jdGlvbihpKXt2YXIgZT10aGlzLHQ9e307dFtlLnRyYW5zaXRpb25UeXBlXT0iIiwhMT09PWUub3B0aW9ucy5mYWRlP2UuJHNsaWRlVHJhY2suY3NzKHQpOmUuJHNsaWRlcy5lcShpKS5jc3ModCl9LGUucHJvdG90eXBlLmZhZGVTbGlkZT1mdW5jdGlvbihpLGUpe3ZhciB0PXRoaXM7ITE9PT10LmNzc1RyYW5zaXRpb25zPyh0LiRzbGlkZXMuZXEoaSkuY3NzKHt6SW5kZXg6dC5vcHRpb25zLnpJbmRleH0pLHQuJHNsaWRlcy5lcShpKS5hbmltYXRlKHtvcGFjaXR5OjF9LHQub3B0aW9ucy5zcGVlZCx0Lm9wdGlvbnMuZWFzaW5nLGUpKToodC5hcHBseVRyYW5zaXRpb24oaSksdC4kc2xpZGVzLmVxKGkpLmNzcyh7b3BhY2l0eToxLHpJbmRleDp0Lm9wdGlvbnMuekluZGV4fSksZSYmc2V0VGltZW91dChmdW5jdGlvbigpe3QuZGlzYWJsZVRyYW5zaXRpb24oaSksZS5jYWxsKCl9LHQub3B0aW9ucy5zcGVlZCkpfSxlLnByb3RvdHlwZS5mYWRlU2xpZGVPdXQ9ZnVuY3Rpb24oaSl7dmFyIGU9dGhpczshMT09PWUuY3NzVHJhbnNpdGlvbnM/ZS4kc2xpZGVzLmVxKGkpLmFuaW1hdGUoe29wYWNpdHk6MCx6SW5kZXg6ZS5vcHRpb25zLnpJbmRleC0yfSxlLm9wdGlvbnMuc3BlZWQsZS5vcHRpb25zLmVhc2luZyk6KGUuYXBwbHlUcmFuc2l0aW9uKGkpLGUuJHNsaWRlcy5lcShpKS5jc3Moe29wYWNpdHk6MCx6SW5kZXg6ZS5vcHRpb25zLnpJbmRleC0yfSkpfSxlLnByb3RvdHlwZS5maWx0ZXJTbGlkZXM9ZS5wcm90b3R5cGUuc2xpY2tGaWx0ZXI9ZnVuY3Rpb24oaSl7dmFyIGU9dGhpcztudWxsIT09aSYmKGUuJHNsaWRlc0NhY2hlPWUuJHNsaWRlcyxlLnVubG9hZCgpLGUuJHNsaWRlVHJhY2suY2hpbGRyZW4odGhpcy5vcHRpb25zLnNsaWRlKS5kZXRhY2goKSxlLiRzbGlkZXNDYWNoZS5maWx0ZXIoaSkuYXBwZW5kVG8oZS4kc2xpZGVUcmFjayksZS5yZWluaXQoKSl9LGUucHJvdG90eXBlLmZvY3VzSGFuZGxlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS4kc2xpZGVyLm9mZigiZm9jdXMuc2xpY2sgYmx1ci5zbGljayIpLm9uKCJmb2N1cy5zbGljayBibHVyLnNsaWNrIiwiKiIsZnVuY3Rpb24odCl7dC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTt2YXIgbz1pKHRoaXMpO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtlLm9wdGlvbnMucGF1c2VPbkZvY3VzJiYoZS5mb2N1c3NlZD1vLmlzKCI6Zm9jdXMiKSxlLmF1dG9QbGF5KCkpfSwwKX0pfSxlLnByb3RvdHlwZS5nZXRDdXJyZW50PWUucHJvdG90eXBlLnNsaWNrQ3VycmVudFNsaWRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY3VycmVudFNsaWRlfSxlLnByb3RvdHlwZS5nZXREb3RDb3VudD1mdW5jdGlvbigpe3ZhciBpPXRoaXMsZT0wLHQ9MCxvPTA7aWYoITA9PT1pLm9wdGlvbnMuaW5maW5pdGUpaWYoaS5zbGlkZUNvdW50PD1pLm9wdGlvbnMuc2xpZGVzVG9TaG93KSsrbztlbHNlIGZvcig7ZTxpLnNsaWRlQ291bnQ7KSsrbyxlPXQraS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsLHQrPWkub3B0aW9ucy5zbGlkZXNUb1Njcm9sbDw9aS5vcHRpb25zLnNsaWRlc1RvU2hvdz9pLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGw6aS5vcHRpb25zLnNsaWRlc1RvU2hvdztlbHNlIGlmKCEwPT09aS5vcHRpb25zLmNlbnRlck1vZGUpbz1pLnNsaWRlQ291bnQ7ZWxzZSBpZihpLm9wdGlvbnMuYXNOYXZGb3IpZm9yKDtlPGkuc2xpZGVDb3VudDspKytvLGU9dCtpLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwsdCs9aS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsPD1pLm9wdGlvbnMuc2xpZGVzVG9TaG93P2kub3B0aW9ucy5zbGlkZXNUb1Njcm9sbDppLm9wdGlvbnMuc2xpZGVzVG9TaG93O2Vsc2Ugbz0xK01hdGguY2VpbCgoaS5zbGlkZUNvdW50LWkub3B0aW9ucy5zbGlkZXNUb1Nob3cpL2kub3B0aW9ucy5zbGlkZXNUb1Njcm9sbCk7cmV0dXJuIG8tMX0sZS5wcm90b3R5cGUuZ2V0TGVmdD1mdW5jdGlvbihpKXt2YXIgZSx0LG8scyxuPXRoaXMscj0wO3JldHVybiBuLnNsaWRlT2Zmc2V0PTAsdD1uLiRzbGlkZXMuZmlyc3QoKS5vdXRlckhlaWdodCghMCksITA9PT1uLm9wdGlvbnMuaW5maW5pdGU/KG4uc2xpZGVDb3VudD5uLm9wdGlvbnMuc2xpZGVzVG9TaG93JiYobi5zbGlkZU9mZnNldD1uLnNsaWRlV2lkdGgqbi5vcHRpb25zLnNsaWRlc1RvU2hvdyotMSxzPS0xLCEwPT09bi5vcHRpb25zLnZlcnRpY2FsJiYhMD09PW4ub3B0aW9ucy5jZW50ZXJNb2RlJiYoMj09PW4ub3B0aW9ucy5zbGlkZXNUb1Nob3c/cz0tMS41OjE9PT1uLm9wdGlvbnMuc2xpZGVzVG9TaG93JiYocz0tMikpLHI9dCpuLm9wdGlvbnMuc2xpZGVzVG9TaG93KnMpLG4uc2xpZGVDb3VudCVuLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwhPTAmJmkrbi5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsPm4uc2xpZGVDb3VudCYmbi5zbGlkZUNvdW50Pm4ub3B0aW9ucy5zbGlkZXNUb1Nob3cmJihpPm4uc2xpZGVDb3VudD8obi5zbGlkZU9mZnNldD0obi5vcHRpb25zLnNsaWRlc1RvU2hvdy0oaS1uLnNsaWRlQ291bnQpKSpuLnNsaWRlV2lkdGgqLTEscj0obi5vcHRpb25zLnNsaWRlc1RvU2hvdy0oaS1uLnNsaWRlQ291bnQpKSp0Ki0xKToobi5zbGlkZU9mZnNldD1uLnNsaWRlQ291bnQlbi5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsKm4uc2xpZGVXaWR0aCotMSxyPW4uc2xpZGVDb3VudCVuLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwqdCotMSkpKTppK24ub3B0aW9ucy5zbGlkZXNUb1Nob3c+bi5zbGlkZUNvdW50JiYobi5zbGlkZU9mZnNldD0oaStuLm9wdGlvbnMuc2xpZGVzVG9TaG93LW4uc2xpZGVDb3VudCkqbi5zbGlkZVdpZHRoLHI9KGkrbi5vcHRpb25zLnNsaWRlc1RvU2hvdy1uLnNsaWRlQ291bnQpKnQpLG4uc2xpZGVDb3VudDw9bi5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKG4uc2xpZGVPZmZzZXQ9MCxyPTApLCEwPT09bi5vcHRpb25zLmNlbnRlck1vZGUmJm4uc2xpZGVDb3VudDw9bi5vcHRpb25zLnNsaWRlc1RvU2hvdz9uLnNsaWRlT2Zmc2V0PW4uc2xpZGVXaWR0aCpNYXRoLmZsb29yKG4ub3B0aW9ucy5zbGlkZXNUb1Nob3cpLzItbi5zbGlkZVdpZHRoKm4uc2xpZGVDb3VudC8yOiEwPT09bi5vcHRpb25zLmNlbnRlck1vZGUmJiEwPT09bi5vcHRpb25zLmluZmluaXRlP24uc2xpZGVPZmZzZXQrPW4uc2xpZGVXaWR0aCpNYXRoLmZsb29yKG4ub3B0aW9ucy5zbGlkZXNUb1Nob3cvMiktbi5zbGlkZVdpZHRoOiEwPT09bi5vcHRpb25zLmNlbnRlck1vZGUmJihuLnNsaWRlT2Zmc2V0PTAsbi5zbGlkZU9mZnNldCs9bi5zbGlkZVdpZHRoKk1hdGguZmxvb3Iobi5vcHRpb25zLnNsaWRlc1RvU2hvdy8yKSksZT0hMT09PW4ub3B0aW9ucy52ZXJ0aWNhbD9pKm4uc2xpZGVXaWR0aCotMStuLnNsaWRlT2Zmc2V0OmkqdCotMStyLCEwPT09bi5vcHRpb25zLnZhcmlhYmxlV2lkdGgmJihvPW4uc2xpZGVDb3VudDw9bi5vcHRpb25zLnNsaWRlc1RvU2hvd3x8ITE9PT1uLm9wdGlvbnMuaW5maW5pdGU/bi4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikuZXEoaSk6bi4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikuZXEoaStuLm9wdGlvbnMuc2xpZGVzVG9TaG93KSxlPSEwPT09bi5vcHRpb25zLnJ0bD9vWzBdPy0xKihuLiRzbGlkZVRyYWNrLndpZHRoKCktb1swXS5vZmZzZXRMZWZ0LW8ud2lkdGgoKSk6MDpvWzBdPy0xKm9bMF0ub2Zmc2V0TGVmdDowLCEwPT09bi5vcHRpb25zLmNlbnRlck1vZGUmJihvPW4uc2xpZGVDb3VudDw9bi5vcHRpb25zLnNsaWRlc1RvU2hvd3x8ITE9PT1uLm9wdGlvbnMuaW5maW5pdGU/bi4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikuZXEoaSk6bi4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikuZXEoaStuLm9wdGlvbnMuc2xpZGVzVG9TaG93KzEpLGU9ITA9PT1uLm9wdGlvbnMucnRsP29bMF0/LTEqKG4uJHNsaWRlVHJhY2sud2lkdGgoKS1vWzBdLm9mZnNldExlZnQtby53aWR0aCgpKTowOm9bMF0/LTEqb1swXS5vZmZzZXRMZWZ0OjAsZSs9KG4uJGxpc3Qud2lkdGgoKS1vLm91dGVyV2lkdGgoKSkvMikpLGV9LGUucHJvdG90eXBlLmdldE9wdGlvbj1lLnByb3RvdHlwZS5zbGlja0dldE9wdGlvbj1mdW5jdGlvbihpKXtyZXR1cm4gdGhpcy5vcHRpb25zW2ldfSxlLnByb3RvdHlwZS5nZXROYXZpZ2FibGVJbmRleGVzPWZ1bmN0aW9uKCl7dmFyIGksZT10aGlzLHQ9MCxvPTAscz1bXTtmb3IoITE9PT1lLm9wdGlvbnMuaW5maW5pdGU/aT1lLnNsaWRlQ291bnQ6KHQ9LTEqZS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsLG89LTEqZS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsLGk9MiplLnNsaWRlQ291bnQpO3Q8aTspcy5wdXNoKHQpLHQ9bytlLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwsbys9ZS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsPD1lLm9wdGlvbnMuc2xpZGVzVG9TaG93P2Uub3B0aW9ucy5zbGlkZXNUb1Njcm9sbDplLm9wdGlvbnMuc2xpZGVzVG9TaG93O3JldHVybiBzfSxlLnByb3RvdHlwZS5nZXRTbGljaz1mdW5jdGlvbigpe3JldHVybiB0aGlzfSxlLnByb3RvdHlwZS5nZXRTbGlkZUNvdW50PWZ1bmN0aW9uKCl7dmFyIGUsdCxvPXRoaXM7cmV0dXJuIHQ9ITA9PT1vLm9wdGlvbnMuY2VudGVyTW9kZT9vLnNsaWRlV2lkdGgqTWF0aC5mbG9vcihvLm9wdGlvbnMuc2xpZGVzVG9TaG93LzIpOjAsITA9PT1vLm9wdGlvbnMuc3dpcGVUb1NsaWRlPyhvLiRzbGlkZVRyYWNrLmZpbmQoIi5zbGljay1zbGlkZSIpLmVhY2goZnVuY3Rpb24ocyxuKXtpZihuLm9mZnNldExlZnQtdCtpKG4pLm91dGVyV2lkdGgoKS8yPi0xKm8uc3dpcGVMZWZ0KXJldHVybiBlPW4sITF9KSxNYXRoLmFicyhpKGUpLmF0dHIoImRhdGEtc2xpY2staW5kZXgiKS1vLmN1cnJlbnRTbGlkZSl8fDEpOm8ub3B0aW9ucy5zbGlkZXNUb1Njcm9sbH0sZS5wcm90b3R5cGUuZ29Ubz1lLnByb3RvdHlwZS5zbGlja0dvVG89ZnVuY3Rpb24oaSxlKXt0aGlzLmNoYW5nZVNsaWRlKHtkYXRhOnttZXNzYWdlOiJpbmRleCIsaW5kZXg6cGFyc2VJbnQoaSl9fSxlKX0sZS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihlKXt2YXIgdD10aGlzO2kodC4kc2xpZGVyKS5oYXNDbGFzcygic2xpY2staW5pdGlhbGl6ZWQiKXx8KGkodC4kc2xpZGVyKS5hZGRDbGFzcygic2xpY2staW5pdGlhbGl6ZWQiKSx0LmJ1aWxkUm93cygpLHQuYnVpbGRPdXQoKSx0LnNldFByb3BzKCksdC5zdGFydExvYWQoKSx0LmxvYWRTbGlkZXIoKSx0LmluaXRpYWxpemVFdmVudHMoKSx0LnVwZGF0ZUFycm93cygpLHQudXBkYXRlRG90cygpLHQuY2hlY2tSZXNwb25zaXZlKCEwKSx0LmZvY3VzSGFuZGxlcigpKSxlJiZ0LiRzbGlkZXIudHJpZ2dlcigiaW5pdCIsW3RdKSwhMD09PXQub3B0aW9ucy5hY2Nlc3NpYmlsaXR5JiZ0LmluaXRBREEoKSx0Lm9wdGlvbnMuYXV0b3BsYXkmJih0LnBhdXNlZD0hMSx0LmF1dG9QbGF5KCkpfSxlLnByb3RvdHlwZS5pbml0QURBPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyx0PU1hdGguY2VpbChlLnNsaWRlQ291bnQvZS5vcHRpb25zLnNsaWRlc1RvU2hvdyksbz1lLmdldE5hdmlnYWJsZUluZGV4ZXMoKS5maWx0ZXIoZnVuY3Rpb24oaSl7cmV0dXJuIGk+PTAmJmk8ZS5zbGlkZUNvdW50fSk7ZS4kc2xpZGVzLmFkZChlLiRzbGlkZVRyYWNrLmZpbmQoIi5zbGljay1jbG9uZWQiKSkuYXR0cih7ImFyaWEtaGlkZGVuIjoidHJ1ZSIsdGFiaW5kZXg6Ii0xIn0pLmZpbmQoImEsIGlucHV0LCBidXR0b24sIHNlbGVjdCIpLmF0dHIoe3RhYmluZGV4OiItMSJ9KSxudWxsIT09ZS4kZG90cyYmKGUuJHNsaWRlcy5ub3QoZS4kc2xpZGVUcmFjay5maW5kKCIuc2xpY2stY2xvbmVkIikpLmVhY2goZnVuY3Rpb24odCl7dmFyIHM9by5pbmRleE9mKHQpO2kodGhpcykuYXR0cih7cm9sZToidGFicGFuZWwiLGlkOiJzbGljay1zbGlkZSIrZS5pbnN0YW5jZVVpZCt0LHRhYmluZGV4Oi0xfSksLTEhPT1zJiZpKHRoaXMpLmF0dHIoeyJhcmlhLWRlc2NyaWJlZGJ5Ijoic2xpY2stc2xpZGUtY29udHJvbCIrZS5pbnN0YW5jZVVpZCtzfSl9KSxlLiRkb3RzLmF0dHIoInJvbGUiLCJ0YWJsaXN0IikuZmluZCgibGkiKS5lYWNoKGZ1bmN0aW9uKHMpe3ZhciBuPW9bc107aSh0aGlzKS5hdHRyKHtyb2xlOiJwcmVzZW50YXRpb24ifSksaSh0aGlzKS5maW5kKCJidXR0b24iKS5maXJzdCgpLmF0dHIoe3JvbGU6InRhYiIsaWQ6InNsaWNrLXNsaWRlLWNvbnRyb2wiK2UuaW5zdGFuY2VVaWQrcywiYXJpYS1jb250cm9scyI6InNsaWNrLXNsaWRlIitlLmluc3RhbmNlVWlkK24sImFyaWEtbGFiZWwiOnMrMSsiIG9mICIrdCwiYXJpYS1zZWxlY3RlZCI6bnVsbCx0YWJpbmRleDoiLTEifSl9KS5lcShlLmN1cnJlbnRTbGlkZSkuZmluZCgiYnV0dG9uIikuYXR0cih7ImFyaWEtc2VsZWN0ZWQiOiJ0cnVlIix0YWJpbmRleDoiMCJ9KS5lbmQoKSk7Zm9yKHZhciBzPWUuY3VycmVudFNsaWRlLG49cytlLm9wdGlvbnMuc2xpZGVzVG9TaG93O3M8bjtzKyspZS4kc2xpZGVzLmVxKHMpLmF0dHIoInRhYmluZGV4IiwwKTtlLmFjdGl2YXRlQURBKCl9LGUucHJvdG90eXBlLmluaXRBcnJvd0V2ZW50cz1mdW5jdGlvbigpe3ZhciBpPXRoaXM7ITA9PT1pLm9wdGlvbnMuYXJyb3dzJiZpLnNsaWRlQ291bnQ+aS5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKGkuJHByZXZBcnJvdy5vZmYoImNsaWNrLnNsaWNrIikub24oImNsaWNrLnNsaWNrIix7bWVzc2FnZToicHJldmlvdXMifSxpLmNoYW5nZVNsaWRlKSxpLiRuZXh0QXJyb3cub2ZmKCJjbGljay5zbGljayIpLm9uKCJjbGljay5zbGljayIse21lc3NhZ2U6Im5leHQifSxpLmNoYW5nZVNsaWRlKSwhMD09PWkub3B0aW9ucy5hY2Nlc3NpYmlsaXR5JiYoaS4kcHJldkFycm93Lm9uKCJrZXlkb3duLnNsaWNrIixpLmtleUhhbmRsZXIpLGkuJG5leHRBcnJvdy5vbigia2V5ZG93bi5zbGljayIsaS5rZXlIYW5kbGVyKSkpfSxlLnByb3RvdHlwZS5pbml0RG90RXZlbnRzPWZ1bmN0aW9uKCl7dmFyIGU9dGhpczshMD09PWUub3B0aW9ucy5kb3RzJiYoaSgibGkiLGUuJGRvdHMpLm9uKCJjbGljay5zbGljayIse21lc3NhZ2U6ImluZGV4In0sZS5jaGFuZ2VTbGlkZSksITA9PT1lLm9wdGlvbnMuYWNjZXNzaWJpbGl0eSYmZS4kZG90cy5vbigia2V5ZG93bi5zbGljayIsZS5rZXlIYW5kbGVyKSksITA9PT1lLm9wdGlvbnMuZG90cyYmITA9PT1lLm9wdGlvbnMucGF1c2VPbkRvdHNIb3ZlciYmaSgibGkiLGUuJGRvdHMpLm9uKCJtb3VzZWVudGVyLnNsaWNrIixpLnByb3h5KGUuaW50ZXJydXB0LGUsITApKS5vbigibW91c2VsZWF2ZS5zbGljayIsaS5wcm94eShlLmludGVycnVwdCxlLCExKSl9LGUucHJvdG90eXBlLmluaXRTbGlkZUV2ZW50cz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5vcHRpb25zLnBhdXNlT25Ib3ZlciYmKGUuJGxpc3Qub24oIm1vdXNlZW50ZXIuc2xpY2siLGkucHJveHkoZS5pbnRlcnJ1cHQsZSwhMCkpLGUuJGxpc3Qub24oIm1vdXNlbGVhdmUuc2xpY2siLGkucHJveHkoZS5pbnRlcnJ1cHQsZSwhMSkpKX0sZS5wcm90b3R5cGUuaW5pdGlhbGl6ZUV2ZW50cz1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS5pbml0QXJyb3dFdmVudHMoKSxlLmluaXREb3RFdmVudHMoKSxlLmluaXRTbGlkZUV2ZW50cygpLGUuJGxpc3Qub24oInRvdWNoc3RhcnQuc2xpY2sgbW91c2Vkb3duLnNsaWNrIix7YWN0aW9uOiJzdGFydCJ9LGUuc3dpcGVIYW5kbGVyKSxlLiRsaXN0Lm9uKCJ0b3VjaG1vdmUuc2xpY2sgbW91c2Vtb3ZlLnNsaWNrIix7YWN0aW9uOiJtb3ZlIn0sZS5zd2lwZUhhbmRsZXIpLGUuJGxpc3Qub24oInRvdWNoZW5kLnNsaWNrIG1vdXNldXAuc2xpY2siLHthY3Rpb246ImVuZCJ9LGUuc3dpcGVIYW5kbGVyKSxlLiRsaXN0Lm9uKCJ0b3VjaGNhbmNlbC5zbGljayBtb3VzZWxlYXZlLnNsaWNrIix7YWN0aW9uOiJlbmQifSxlLnN3aXBlSGFuZGxlciksZS4kbGlzdC5vbigiY2xpY2suc2xpY2siLGUuY2xpY2tIYW5kbGVyKSxpKGRvY3VtZW50KS5vbihlLnZpc2liaWxpdHlDaGFuZ2UsaS5wcm94eShlLnZpc2liaWxpdHksZSkpLCEwPT09ZS5vcHRpb25zLmFjY2Vzc2liaWxpdHkmJmUuJGxpc3Qub24oImtleWRvd24uc2xpY2siLGUua2V5SGFuZGxlciksITA9PT1lLm9wdGlvbnMuZm9jdXNPblNlbGVjdCYmaShlLiRzbGlkZVRyYWNrKS5jaGlsZHJlbigpLm9uKCJjbGljay5zbGljayIsZS5zZWxlY3RIYW5kbGVyKSxpKHdpbmRvdykub24oIm9yaWVudGF0aW9uY2hhbmdlLnNsaWNrLnNsaWNrLSIrZS5pbnN0YW5jZVVpZCxpLnByb3h5KGUub3JpZW50YXRpb25DaGFuZ2UsZSkpLGkod2luZG93KS5vbigicmVzaXplLnNsaWNrLnNsaWNrLSIrZS5pbnN0YW5jZVVpZCxpLnByb3h5KGUucmVzaXplLGUpKSxpKCJbZHJhZ2dhYmxlIT10cnVlXSIsZS4kc2xpZGVUcmFjaykub24oImRyYWdzdGFydCIsZS5wcmV2ZW50RGVmYXVsdCksaSh3aW5kb3cpLm9uKCJsb2FkLnNsaWNrLnNsaWNrLSIrZS5pbnN0YW5jZVVpZCxlLnNldFBvc2l0aW9uKSxpKGUuc2V0UG9zaXRpb24pfSxlLnByb3RvdHlwZS5pbml0VUk9ZnVuY3Rpb24oKXt2YXIgaT10aGlzOyEwPT09aS5vcHRpb25zLmFycm93cyYmaS5zbGlkZUNvdW50Pmkub3B0aW9ucy5zbGlkZXNUb1Nob3cmJihpLiRwcmV2QXJyb3cuc2hvdygpLGkuJG5leHRBcnJvdy5zaG93KCkpLCEwPT09aS5vcHRpb25zLmRvdHMmJmkuc2xpZGVDb3VudD5pLm9wdGlvbnMuc2xpZGVzVG9TaG93JiZpLiRkb3RzLnNob3coKX0sZS5wcm90b3R5cGUua2V5SGFuZGxlcj1mdW5jdGlvbihpKXt2YXIgZT10aGlzO2kudGFyZ2V0LnRhZ05hbWUubWF0Y2goIlRFWFRBUkVBfElOUFVUfFNFTEVDVCIpfHwoMzc9PT1pLmtleUNvZGUmJiEwPT09ZS5vcHRpb25zLmFjY2Vzc2liaWxpdHk/ZS5jaGFuZ2VTbGlkZSh7ZGF0YTp7bWVzc2FnZTohMD09PWUub3B0aW9ucy5ydGw/Im5leHQiOiJwcmV2aW91cyJ9fSk6Mzk9PT1pLmtleUNvZGUmJiEwPT09ZS5vcHRpb25zLmFjY2Vzc2liaWxpdHkmJmUuY2hhbmdlU2xpZGUoe2RhdGE6e21lc3NhZ2U6ITA9PT1lLm9wdGlvbnMucnRsPyJwcmV2aW91cyI6Im5leHQifX0pKX0sZS5wcm90b3R5cGUubGF6eUxvYWQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKGUpe2koImltZ1tkYXRhLWxhenldIixlKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGU9aSh0aGlzKSx0PWkodGhpcykuYXR0cigiZGF0YS1sYXp5Iiksbz1pKHRoaXMpLmF0dHIoImRhdGEtc3Jjc2V0Iikscz1pKHRoaXMpLmF0dHIoImRhdGEtc2l6ZXMiKXx8bi4kc2xpZGVyLmF0dHIoImRhdGEtc2l6ZXMiKSxyPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImltZyIpO3Iub25sb2FkPWZ1bmN0aW9uKCl7ZS5hbmltYXRlKHtvcGFjaXR5OjB9LDEwMCxmdW5jdGlvbigpe28mJihlLmF0dHIoInNyY3NldCIsbykscyYmZS5hdHRyKCJzaXplcyIscykpLGUuYXR0cigic3JjIix0KS5hbmltYXRlKHtvcGFjaXR5OjF9LDIwMCxmdW5jdGlvbigpe2UucmVtb3ZlQXR0cigiZGF0YS1sYXp5IGRhdGEtc3Jjc2V0IGRhdGEtc2l6ZXMiKS5yZW1vdmVDbGFzcygic2xpY2stbG9hZGluZyIpfSksbi4kc2xpZGVyLnRyaWdnZXIoImxhenlMb2FkZWQiLFtuLGUsdF0pfSl9LHIub25lcnJvcj1mdW5jdGlvbigpe2UucmVtb3ZlQXR0cigiZGF0YS1sYXp5IikucmVtb3ZlQ2xhc3MoInNsaWNrLWxvYWRpbmciKS5hZGRDbGFzcygic2xpY2stbGF6eWxvYWQtZXJyb3IiKSxuLiRzbGlkZXIudHJpZ2dlcigibGF6eUxvYWRFcnJvciIsW24sZSx0XSl9LHIuc3JjPXR9KX12YXIgdCxvLHMsbj10aGlzO2lmKCEwPT09bi5vcHRpb25zLmNlbnRlck1vZGU/ITA9PT1uLm9wdGlvbnMuaW5maW5pdGU/cz0obz1uLmN1cnJlbnRTbGlkZSsobi5vcHRpb25zLnNsaWRlc1RvU2hvdy8yKzEpKStuLm9wdGlvbnMuc2xpZGVzVG9TaG93KzI6KG89TWF0aC5tYXgoMCxuLmN1cnJlbnRTbGlkZS0obi5vcHRpb25zLnNsaWRlc1RvU2hvdy8yKzEpKSxzPW4ub3B0aW9ucy5zbGlkZXNUb1Nob3cvMisxKzIrbi5jdXJyZW50U2xpZGUpOihvPW4ub3B0aW9ucy5pbmZpbml0ZT9uLm9wdGlvbnMuc2xpZGVzVG9TaG93K24uY3VycmVudFNsaWRlOm4uY3VycmVudFNsaWRlLHM9TWF0aC5jZWlsKG8rbi5vcHRpb25zLnNsaWRlc1RvU2hvdyksITA9PT1uLm9wdGlvbnMuZmFkZSYmKG8+MCYmby0tLHM8PW4uc2xpZGVDb3VudCYmcysrKSksdD1uLiRzbGlkZXIuZmluZCgiLnNsaWNrLXNsaWRlIikuc2xpY2UobyxzKSwiYW50aWNpcGF0ZWQiPT09bi5vcHRpb25zLmxhenlMb2FkKWZvcih2YXIgcj1vLTEsbD1zLGQ9bi4kc2xpZGVyLmZpbmQoIi5zbGljay1zbGlkZSIpLGE9MDthPG4ub3B0aW9ucy5zbGlkZXNUb1Njcm9sbDthKyspcjwwJiYocj1uLnNsaWRlQ291bnQtMSksdD0odD10LmFkZChkLmVxKHIpKSkuYWRkKGQuZXEobCkpLHItLSxsKys7ZSh0KSxuLnNsaWRlQ291bnQ8PW4ub3B0aW9ucy5zbGlkZXNUb1Nob3c/ZShuLiRzbGlkZXIuZmluZCgiLnNsaWNrLXNsaWRlIikpOm4uY3VycmVudFNsaWRlPj1uLnNsaWRlQ291bnQtbi5vcHRpb25zLnNsaWRlc1RvU2hvdz9lKG4uJHNsaWRlci5maW5kKCIuc2xpY2stY2xvbmVkIikuc2xpY2UoMCxuLm9wdGlvbnMuc2xpZGVzVG9TaG93KSk6MD09PW4uY3VycmVudFNsaWRlJiZlKG4uJHNsaWRlci5maW5kKCIuc2xpY2stY2xvbmVkIikuc2xpY2UoLTEqbi5vcHRpb25zLnNsaWRlc1RvU2hvdykpfSxlLnByb3RvdHlwZS5sb2FkU2xpZGVyPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLnNldFBvc2l0aW9uKCksaS4kc2xpZGVUcmFjay5jc3Moe29wYWNpdHk6MX0pLGkuJHNsaWRlci5yZW1vdmVDbGFzcygic2xpY2stbG9hZGluZyIpLGkuaW5pdFVJKCksInByb2dyZXNzaXZlIj09PWkub3B0aW9ucy5sYXp5TG9hZCYmaS5wcm9ncmVzc2l2ZUxhenlMb2FkKCl9LGUucHJvdG90eXBlLm5leHQ9ZS5wcm90b3R5cGUuc2xpY2tOZXh0PWZ1bmN0aW9uKCl7dGhpcy5jaGFuZ2VTbGlkZSh7ZGF0YTp7bWVzc2FnZToibmV4dCJ9fSl9LGUucHJvdG90eXBlLm9yaWVudGF0aW9uQ2hhbmdlPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLmNoZWNrUmVzcG9uc2l2ZSgpLGkuc2V0UG9zaXRpb24oKX0sZS5wcm90b3R5cGUucGF1c2U9ZS5wcm90b3R5cGUuc2xpY2tQYXVzZT1mdW5jdGlvbigpe3ZhciBpPXRoaXM7aS5hdXRvUGxheUNsZWFyKCksaS5wYXVzZWQ9ITB9LGUucHJvdG90eXBlLnBsYXk9ZS5wcm90b3R5cGUuc2xpY2tQbGF5PWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLmF1dG9QbGF5KCksaS5vcHRpb25zLmF1dG9wbGF5PSEwLGkucGF1c2VkPSExLGkuZm9jdXNzZWQ9ITEsaS5pbnRlcnJ1cHRlZD0hMX0sZS5wcm90b3R5cGUucG9zdFNsaWRlPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXM7dC51bnNsaWNrZWR8fCh0LiRzbGlkZXIudHJpZ2dlcigiYWZ0ZXJDaGFuZ2UiLFt0LGVdKSx0LmFuaW1hdGluZz0hMSx0LnNsaWRlQ291bnQ+dC5vcHRpb25zLnNsaWRlc1RvU2hvdyYmdC5zZXRQb3NpdGlvbigpLHQuc3dpcGVMZWZ0PW51bGwsdC5vcHRpb25zLmF1dG9wbGF5JiZ0LmF1dG9QbGF5KCksITA9PT10Lm9wdGlvbnMuYWNjZXNzaWJpbGl0eSYmKHQuaW5pdEFEQSgpLHQub3B0aW9ucy5mb2N1c09uQ2hhbmdlJiZpKHQuJHNsaWRlcy5nZXQodC5jdXJyZW50U2xpZGUpKS5hdHRyKCJ0YWJpbmRleCIsMCkuZm9jdXMoKSkpfSxlLnByb3RvdHlwZS5wcmV2PWUucHJvdG90eXBlLnNsaWNrUHJldj1mdW5jdGlvbigpe3RoaXMuY2hhbmdlU2xpZGUoe2RhdGE6e21lc3NhZ2U6InByZXZpb3VzIn19KX0sZS5wcm90b3R5cGUucHJldmVudERlZmF1bHQ9ZnVuY3Rpb24oaSl7aS5wcmV2ZW50RGVmYXVsdCgpfSxlLnByb3RvdHlwZS5wcm9ncmVzc2l2ZUxhenlMb2FkPWZ1bmN0aW9uKGUpe2U9ZXx8MTt2YXIgdCxvLHMsbixyLGw9dGhpcyxkPWkoImltZ1tkYXRhLWxhenldIixsLiRzbGlkZXIpO2QubGVuZ3RoPyh0PWQuZmlyc3QoKSxvPXQuYXR0cigiZGF0YS1sYXp5Iikscz10LmF0dHIoImRhdGEtc3Jjc2V0Iiksbj10LmF0dHIoImRhdGEtc2l6ZXMiKXx8bC4kc2xpZGVyLmF0dHIoImRhdGEtc2l6ZXMiKSwocj1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbWciKSkub25sb2FkPWZ1bmN0aW9uKCl7cyYmKHQuYXR0cigic3Jjc2V0IixzKSxuJiZ0LmF0dHIoInNpemVzIixuKSksdC5hdHRyKCJzcmMiLG8pLnJlbW92ZUF0dHIoImRhdGEtbGF6eSBkYXRhLXNyY3NldCBkYXRhLXNpemVzIikucmVtb3ZlQ2xhc3MoInNsaWNrLWxvYWRpbmciKSwhMD09PWwub3B0aW9ucy5hZGFwdGl2ZUhlaWdodCYmbC5zZXRQb3NpdGlvbigpLGwuJHNsaWRlci50cmlnZ2VyKCJsYXp5TG9hZGVkIixbbCx0LG9dKSxsLnByb2dyZXNzaXZlTGF6eUxvYWQoKX0sci5vbmVycm9yPWZ1bmN0aW9uKCl7ZTwzP3NldFRpbWVvdXQoZnVuY3Rpb24oKXtsLnByb2dyZXNzaXZlTGF6eUxvYWQoZSsxKX0sNTAwKToodC5yZW1vdmVBdHRyKCJkYXRhLWxhenkiKS5yZW1vdmVDbGFzcygic2xpY2stbG9hZGluZyIpLmFkZENsYXNzKCJzbGljay1sYXp5bG9hZC1lcnJvciIpLGwuJHNsaWRlci50cmlnZ2VyKCJsYXp5TG9hZEVycm9yIixbbCx0LG9dKSxsLnByb2dyZXNzaXZlTGF6eUxvYWQoKSl9LHIuc3JjPW8pOmwuJHNsaWRlci50cmlnZ2VyKCJhbGxJbWFnZXNMb2FkZWQiLFtsXSl9LGUucHJvdG90eXBlLnJlZnJlc2g9ZnVuY3Rpb24oZSl7dmFyIHQsbyxzPXRoaXM7bz1zLnNsaWRlQ291bnQtcy5vcHRpb25zLnNsaWRlc1RvU2hvdywhcy5vcHRpb25zLmluZmluaXRlJiZzLmN1cnJlbnRTbGlkZT5vJiYocy5jdXJyZW50U2xpZGU9bykscy5zbGlkZUNvdW50PD1zLm9wdGlvbnMuc2xpZGVzVG9TaG93JiYocy5jdXJyZW50U2xpZGU9MCksdD1zLmN1cnJlbnRTbGlkZSxzLmRlc3Ryb3koITApLGkuZXh0ZW5kKHMscy5pbml0aWFscyx7Y3VycmVudFNsaWRlOnR9KSxzLmluaXQoKSxlfHxzLmNoYW5nZVNsaWRlKHtkYXRhOnttZXNzYWdlOiJpbmRleCIsaW5kZXg6dH19LCExKX0sZS5wcm90b3R5cGUucmVnaXN0ZXJCcmVha3BvaW50cz1mdW5jdGlvbigpe3ZhciBlLHQsbyxzPXRoaXMsbj1zLm9wdGlvbnMucmVzcG9uc2l2ZXx8bnVsbDtpZigiYXJyYXkiPT09aS50eXBlKG4pJiZuLmxlbmd0aCl7cy5yZXNwb25kVG89cy5vcHRpb25zLnJlc3BvbmRUb3x8IndpbmRvdyI7Zm9yKGUgaW4gbilpZihvPXMuYnJlYWtwb2ludHMubGVuZ3RoLTEsbi5oYXNPd25Qcm9wZXJ0eShlKSl7Zm9yKHQ9bltlXS5icmVha3BvaW50O28+PTA7KXMuYnJlYWtwb2ludHNbb10mJnMuYnJlYWtwb2ludHNbb109PT10JiZzLmJyZWFrcG9pbnRzLnNwbGljZShvLDEpLG8tLTtzLmJyZWFrcG9pbnRzLnB1c2godCkscy5icmVha3BvaW50U2V0dGluZ3NbdF09bltlXS5zZXR0aW5nc31zLmJyZWFrcG9pbnRzLnNvcnQoZnVuY3Rpb24oaSxlKXtyZXR1cm4gcy5vcHRpb25zLm1vYmlsZUZpcnN0P2ktZTplLWl9KX19LGUucHJvdG90eXBlLnJlaW5pdD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7ZS4kc2xpZGVzPWUuJHNsaWRlVHJhY2suY2hpbGRyZW4oZS5vcHRpb25zLnNsaWRlKS5hZGRDbGFzcygic2xpY2stc2xpZGUiKSxlLnNsaWRlQ291bnQ9ZS4kc2xpZGVzLmxlbmd0aCxlLmN1cnJlbnRTbGlkZT49ZS5zbGlkZUNvdW50JiYwIT09ZS5jdXJyZW50U2xpZGUmJihlLmN1cnJlbnRTbGlkZT1lLmN1cnJlbnRTbGlkZS1lLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwpLGUuc2xpZGVDb3VudDw9ZS5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKGUuY3VycmVudFNsaWRlPTApLGUucmVnaXN0ZXJCcmVha3BvaW50cygpLGUuc2V0UHJvcHMoKSxlLnNldHVwSW5maW5pdGUoKSxlLmJ1aWxkQXJyb3dzKCksZS51cGRhdGVBcnJvd3MoKSxlLmluaXRBcnJvd0V2ZW50cygpLGUuYnVpbGREb3RzKCksZS51cGRhdGVEb3RzKCksZS5pbml0RG90RXZlbnRzKCksZS5jbGVhblVwU2xpZGVFdmVudHMoKSxlLmluaXRTbGlkZUV2ZW50cygpLGUuY2hlY2tSZXNwb25zaXZlKCExLCEwKSwhMD09PWUub3B0aW9ucy5mb2N1c09uU2VsZWN0JiZpKGUuJHNsaWRlVHJhY2spLmNoaWxkcmVuKCkub24oImNsaWNrLnNsaWNrIixlLnNlbGVjdEhhbmRsZXIpLGUuc2V0U2xpZGVDbGFzc2VzKCJudW1iZXIiPT10eXBlb2YgZS5jdXJyZW50U2xpZGU/ZS5jdXJyZW50U2xpZGU6MCksZS5zZXRQb3NpdGlvbigpLGUuZm9jdXNIYW5kbGVyKCksZS5wYXVzZWQ9IWUub3B0aW9ucy5hdXRvcGxheSxlLmF1dG9QbGF5KCksZS4kc2xpZGVyLnRyaWdnZXIoInJlSW5pdCIsW2VdKX0sZS5wcm90b3R5cGUucmVzaXplPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztpKHdpbmRvdykud2lkdGgoKSE9PWUud2luZG93V2lkdGgmJihjbGVhclRpbWVvdXQoZS53aW5kb3dEZWxheSksZS53aW5kb3dEZWxheT13aW5kb3cuc2V0VGltZW91dChmdW5jdGlvbigpe2Uud2luZG93V2lkdGg9aSh3aW5kb3cpLndpZHRoKCksZS5jaGVja1Jlc3BvbnNpdmUoKSxlLnVuc2xpY2tlZHx8ZS5zZXRQb3NpdGlvbigpfSw1MCkpfSxlLnByb3RvdHlwZS5yZW1vdmVTbGlkZT1lLnByb3RvdHlwZS5zbGlja1JlbW92ZT1mdW5jdGlvbihpLGUsdCl7dmFyIG89dGhpcztpZihpPSJib29sZWFuIj09dHlwZW9mIGk/ITA9PT0oZT1pKT8wOm8uc2xpZGVDb3VudC0xOiEwPT09ZT8tLWk6aSxvLnNsaWRlQ291bnQ8MXx8aTwwfHxpPm8uc2xpZGVDb3VudC0xKXJldHVybiExO28udW5sb2FkKCksITA9PT10P28uJHNsaWRlVHJhY2suY2hpbGRyZW4oKS5yZW1vdmUoKTpvLiRzbGlkZVRyYWNrLmNoaWxkcmVuKHRoaXMub3B0aW9ucy5zbGlkZSkuZXEoaSkucmVtb3ZlKCksby4kc2xpZGVzPW8uJHNsaWRlVHJhY2suY2hpbGRyZW4odGhpcy5vcHRpb25zLnNsaWRlKSxvLiRzbGlkZVRyYWNrLmNoaWxkcmVuKHRoaXMub3B0aW9ucy5zbGlkZSkuZGV0YWNoKCksby4kc2xpZGVUcmFjay5hcHBlbmQoby4kc2xpZGVzKSxvLiRzbGlkZXNDYWNoZT1vLiRzbGlkZXMsby5yZWluaXQoKX0sZS5wcm90b3R5cGUuc2V0Q1NTPWZ1bmN0aW9uKGkpe3ZhciBlLHQsbz10aGlzLHM9e307ITA9PT1vLm9wdGlvbnMucnRsJiYoaT0taSksZT0ibGVmdCI9PW8ucG9zaXRpb25Qcm9wP01hdGguY2VpbChpKSsicHgiOiIwcHgiLHQ9InRvcCI9PW8ucG9zaXRpb25Qcm9wP01hdGguY2VpbChpKSsicHgiOiIwcHgiLHNbby5wb3NpdGlvblByb3BdPWksITE9PT1vLnRyYW5zZm9ybXNFbmFibGVkP28uJHNsaWRlVHJhY2suY3NzKHMpOihzPXt9LCExPT09by5jc3NUcmFuc2l0aW9ucz8oc1tvLmFuaW1UeXBlXT0idHJhbnNsYXRlKCIrZSsiLCAiK3QrIikiLG8uJHNsaWRlVHJhY2suY3NzKHMpKTooc1tvLmFuaW1UeXBlXT0idHJhbnNsYXRlM2QoIitlKyIsICIrdCsiLCAwcHgpIixvLiRzbGlkZVRyYWNrLmNzcyhzKSkpfSxlLnByb3RvdHlwZS5zZXREaW1lbnNpb25zPWZ1bmN0aW9uKCl7dmFyIGk9dGhpczshMT09PWkub3B0aW9ucy52ZXJ0aWNhbD8hMD09PWkub3B0aW9ucy5jZW50ZXJNb2RlJiZpLiRsaXN0LmNzcyh7cGFkZGluZzoiMHB4ICIraS5vcHRpb25zLmNlbnRlclBhZGRpbmd9KTooaS4kbGlzdC5oZWlnaHQoaS4kc2xpZGVzLmZpcnN0KCkub3V0ZXJIZWlnaHQoITApKmkub3B0aW9ucy5zbGlkZXNUb1Nob3cpLCEwPT09aS5vcHRpb25zLmNlbnRlck1vZGUmJmkuJGxpc3QuY3NzKHtwYWRkaW5nOmkub3B0aW9ucy5jZW50ZXJQYWRkaW5nKyIgMHB4In0pKSxpLmxpc3RXaWR0aD1pLiRsaXN0LndpZHRoKCksaS5saXN0SGVpZ2h0PWkuJGxpc3QuaGVpZ2h0KCksITE9PT1pLm9wdGlvbnMudmVydGljYWwmJiExPT09aS5vcHRpb25zLnZhcmlhYmxlV2lkdGg/KGkuc2xpZGVXaWR0aD1NYXRoLmNlaWwoaS5saXN0V2lkdGgvaS5vcHRpb25zLnNsaWRlc1RvU2hvdyksaS4kc2xpZGVUcmFjay53aWR0aChNYXRoLmNlaWwoaS5zbGlkZVdpZHRoKmkuJHNsaWRlVHJhY2suY2hpbGRyZW4oIi5zbGljay1zbGlkZSIpLmxlbmd0aCkpKTohMD09PWkub3B0aW9ucy52YXJpYWJsZVdpZHRoP2kuJHNsaWRlVHJhY2sud2lkdGgoNWUzKmkuc2xpZGVDb3VudCk6KGkuc2xpZGVXaWR0aD1NYXRoLmNlaWwoaS5saXN0V2lkdGgpLGkuJHNsaWRlVHJhY2suaGVpZ2h0KE1hdGguY2VpbChpLiRzbGlkZXMuZmlyc3QoKS5vdXRlckhlaWdodCghMCkqaS4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikubGVuZ3RoKSkpO3ZhciBlPWkuJHNsaWRlcy5maXJzdCgpLm91dGVyV2lkdGgoITApLWkuJHNsaWRlcy5maXJzdCgpLndpZHRoKCk7ITE9PT1pLm9wdGlvbnMudmFyaWFibGVXaWR0aCYmaS4kc2xpZGVUcmFjay5jaGlsZHJlbigiLnNsaWNrLXNsaWRlIikud2lkdGgoaS5zbGlkZVdpZHRoLWUpfSxlLnByb3RvdHlwZS5zZXRGYWRlPWZ1bmN0aW9uKCl7dmFyIGUsdD10aGlzO3QuJHNsaWRlcy5lYWNoKGZ1bmN0aW9uKG8scyl7ZT10LnNsaWRlV2lkdGgqbyotMSwhMD09PXQub3B0aW9ucy5ydGw/aShzKS5jc3Moe3Bvc2l0aW9uOiJyZWxhdGl2ZSIscmlnaHQ6ZSx0b3A6MCx6SW5kZXg6dC5vcHRpb25zLnpJbmRleC0yLG9wYWNpdHk6MH0pOmkocykuY3NzKHtwb3NpdGlvbjoicmVsYXRpdmUiLGxlZnQ6ZSx0b3A6MCx6SW5kZXg6dC5vcHRpb25zLnpJbmRleC0yLG9wYWNpdHk6MH0pfSksdC4kc2xpZGVzLmVxKHQuY3VycmVudFNsaWRlKS5jc3Moe3pJbmRleDp0Lm9wdGlvbnMuekluZGV4LTEsb3BhY2l0eToxfSl9LGUucHJvdG90eXBlLnNldEhlaWdodD1mdW5jdGlvbigpe3ZhciBpPXRoaXM7aWYoMT09PWkub3B0aW9ucy5zbGlkZXNUb1Nob3cmJiEwPT09aS5vcHRpb25zLmFkYXB0aXZlSGVpZ2h0JiYhMT09PWkub3B0aW9ucy52ZXJ0aWNhbCl7dmFyIGU9aS4kc2xpZGVzLmVxKGkuY3VycmVudFNsaWRlKS5vdXRlckhlaWdodCghMCk7aS4kbGlzdC5jc3MoImhlaWdodCIsZSl9fSxlLnByb3RvdHlwZS5zZXRPcHRpb249ZS5wcm90b3R5cGUuc2xpY2tTZXRPcHRpb249ZnVuY3Rpb24oKXt2YXIgZSx0LG8scyxuLHI9dGhpcyxsPSExO2lmKCJvYmplY3QiPT09aS50eXBlKGFyZ3VtZW50c1swXSk/KG89YXJndW1lbnRzWzBdLGw9YXJndW1lbnRzWzFdLG49Im11bHRpcGxlIik6InN0cmluZyI9PT1pLnR5cGUoYXJndW1lbnRzWzBdKSYmKG89YXJndW1lbnRzWzBdLHM9YXJndW1lbnRzWzFdLGw9YXJndW1lbnRzWzJdLCJyZXNwb25zaXZlIj09PWFyZ3VtZW50c1swXSYmImFycmF5Ij09PWkudHlwZShhcmd1bWVudHNbMV0pP249InJlc3BvbnNpdmUiOnZvaWQgMCE9PWFyZ3VtZW50c1sxXSYmKG49InNpbmdsZSIpKSwic2luZ2xlIj09PW4pci5vcHRpb25zW29dPXM7ZWxzZSBpZigibXVsdGlwbGUiPT09bilpLmVhY2gobyxmdW5jdGlvbihpLGUpe3Iub3B0aW9uc1tpXT1lfSk7ZWxzZSBpZigicmVzcG9uc2l2ZSI9PT1uKWZvcih0IGluIHMpaWYoImFycmF5IiE9PWkudHlwZShyLm9wdGlvbnMucmVzcG9uc2l2ZSkpci5vcHRpb25zLnJlc3BvbnNpdmU9W3NbdF1dO2Vsc2V7Zm9yKGU9ci5vcHRpb25zLnJlc3BvbnNpdmUubGVuZ3RoLTE7ZT49MDspci5vcHRpb25zLnJlc3BvbnNpdmVbZV0uYnJlYWtwb2ludD09PXNbdF0uYnJlYWtwb2ludCYmci5vcHRpb25zLnJlc3BvbnNpdmUuc3BsaWNlKGUsMSksZS0tO3Iub3B0aW9ucy5yZXNwb25zaXZlLnB1c2goc1t0XSl9bCYmKHIudW5sb2FkKCksci5yZWluaXQoKSl9LGUucHJvdG90eXBlLnNldFBvc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztpLnNldERpbWVuc2lvbnMoKSxpLnNldEhlaWdodCgpLCExPT09aS5vcHRpb25zLmZhZGU/aS5zZXRDU1MoaS5nZXRMZWZ0KGkuY3VycmVudFNsaWRlKSk6aS5zZXRGYWRlKCksaS4kc2xpZGVyLnRyaWdnZXIoInNldFBvc2l0aW9uIixbaV0pfSxlLnByb3RvdHlwZS5zZXRQcm9wcz1mdW5jdGlvbigpe3ZhciBpPXRoaXMsZT1kb2N1bWVudC5ib2R5LnN0eWxlO2kucG9zaXRpb25Qcm9wPSEwPT09aS5vcHRpb25zLnZlcnRpY2FsPyJ0b3AiOiJsZWZ0IiwidG9wIj09PWkucG9zaXRpb25Qcm9wP2kuJHNsaWRlci5hZGRDbGFzcygic2xpY2stdmVydGljYWwiKTppLiRzbGlkZXIucmVtb3ZlQ2xhc3MoInNsaWNrLXZlcnRpY2FsIiksdm9pZCAwPT09ZS5XZWJraXRUcmFuc2l0aW9uJiZ2b2lkIDA9PT1lLk1velRyYW5zaXRpb24mJnZvaWQgMD09PWUubXNUcmFuc2l0aW9ufHwhMD09PWkub3B0aW9ucy51c2VDU1MmJihpLmNzc1RyYW5zaXRpb25zPSEwKSxpLm9wdGlvbnMuZmFkZSYmKCJudW1iZXIiPT10eXBlb2YgaS5vcHRpb25zLnpJbmRleD9pLm9wdGlvbnMuekluZGV4PDMmJihpLm9wdGlvbnMuekluZGV4PTMpOmkub3B0aW9ucy56SW5kZXg9aS5kZWZhdWx0cy56SW5kZXgpLHZvaWQgMCE9PWUuT1RyYW5zZm9ybSYmKGkuYW5pbVR5cGU9Ik9UcmFuc2Zvcm0iLGkudHJhbnNmb3JtVHlwZT0iLW8tdHJhbnNmb3JtIixpLnRyYW5zaXRpb25UeXBlPSJPVHJhbnNpdGlvbiIsdm9pZCAwPT09ZS5wZXJzcGVjdGl2ZVByb3BlcnR5JiZ2b2lkIDA9PT1lLndlYmtpdFBlcnNwZWN0aXZlJiYoaS5hbmltVHlwZT0hMSkpLHZvaWQgMCE9PWUuTW96VHJhbnNmb3JtJiYoaS5hbmltVHlwZT0iTW96VHJhbnNmb3JtIixpLnRyYW5zZm9ybVR5cGU9Ii1tb3otdHJhbnNmb3JtIixpLnRyYW5zaXRpb25UeXBlPSJNb3pUcmFuc2l0aW9uIix2b2lkIDA9PT1lLnBlcnNwZWN0aXZlUHJvcGVydHkmJnZvaWQgMD09PWUuTW96UGVyc3BlY3RpdmUmJihpLmFuaW1UeXBlPSExKSksdm9pZCAwIT09ZS53ZWJraXRUcmFuc2Zvcm0mJihpLmFuaW1UeXBlPSJ3ZWJraXRUcmFuc2Zvcm0iLGkudHJhbnNmb3JtVHlwZT0iLXdlYmtpdC10cmFuc2Zvcm0iLGkudHJhbnNpdGlvblR5cGU9IndlYmtpdFRyYW5zaXRpb24iLHZvaWQgMD09PWUucGVyc3BlY3RpdmVQcm9wZXJ0eSYmdm9pZCAwPT09ZS53ZWJraXRQZXJzcGVjdGl2ZSYmKGkuYW5pbVR5cGU9ITEpKSx2b2lkIDAhPT1lLm1zVHJhbnNmb3JtJiYoaS5hbmltVHlwZT0ibXNUcmFuc2Zvcm0iLGkudHJhbnNmb3JtVHlwZT0iLW1zLXRyYW5zZm9ybSIsaS50cmFuc2l0aW9uVHlwZT0ibXNUcmFuc2l0aW9uIix2b2lkIDA9PT1lLm1zVHJhbnNmb3JtJiYoaS5hbmltVHlwZT0hMSkpLHZvaWQgMCE9PWUudHJhbnNmb3JtJiYhMSE9PWkuYW5pbVR5cGUmJihpLmFuaW1UeXBlPSJ0cmFuc2Zvcm0iLGkudHJhbnNmb3JtVHlwZT0idHJhbnNmb3JtIixpLnRyYW5zaXRpb25UeXBlPSJ0cmFuc2l0aW9uIiksaS50cmFuc2Zvcm1zRW5hYmxlZD1pLm9wdGlvbnMudXNlVHJhbnNmb3JtJiZudWxsIT09aS5hbmltVHlwZSYmITEhPT1pLmFuaW1UeXBlfSxlLnByb3RvdHlwZS5zZXRTbGlkZUNsYXNzZXM9ZnVuY3Rpb24oaSl7dmFyIGUsdCxvLHMsbj10aGlzO2lmKHQ9bi4kc2xpZGVyLmZpbmQoIi5zbGljay1zbGlkZSIpLnJlbW92ZUNsYXNzKCJzbGljay1hY3RpdmUgc2xpY2stY2VudGVyIHNsaWNrLWN1cnJlbnQiKS5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKSxuLiRzbGlkZXMuZXEoaSkuYWRkQ2xhc3MoInNsaWNrLWN1cnJlbnQiKSwhMD09PW4ub3B0aW9ucy5jZW50ZXJNb2RlKXt2YXIgcj1uLm9wdGlvbnMuc2xpZGVzVG9TaG93JTI9PTA/MTowO2U9TWF0aC5mbG9vcihuLm9wdGlvbnMuc2xpZGVzVG9TaG93LzIpLCEwPT09bi5vcHRpb25zLmluZmluaXRlJiYoaT49ZSYmaTw9bi5zbGlkZUNvdW50LTEtZT9uLiRzbGlkZXMuc2xpY2UoaS1lK3IsaStlKzEpLmFkZENsYXNzKCJzbGljay1hY3RpdmUiKS5hdHRyKCJhcmlhLWhpZGRlbiIsImZhbHNlIik6KG89bi5vcHRpb25zLnNsaWRlc1RvU2hvdytpLHQuc2xpY2Uoby1lKzErcixvK2UrMikuYWRkQ2xhc3MoInNsaWNrLWFjdGl2ZSIpLmF0dHIoImFyaWEtaGlkZGVuIiwiZmFsc2UiKSksMD09PWk/dC5lcSh0Lmxlbmd0aC0xLW4ub3B0aW9ucy5zbGlkZXNUb1Nob3cpLmFkZENsYXNzKCJzbGljay1jZW50ZXIiKTppPT09bi5zbGlkZUNvdW50LTEmJnQuZXEobi5vcHRpb25zLnNsaWRlc1RvU2hvdykuYWRkQ2xhc3MoInNsaWNrLWNlbnRlciIpKSxuLiRzbGlkZXMuZXEoaSkuYWRkQ2xhc3MoInNsaWNrLWNlbnRlciIpfWVsc2UgaT49MCYmaTw9bi5zbGlkZUNvdW50LW4ub3B0aW9ucy5zbGlkZXNUb1Nob3c/bi4kc2xpZGVzLnNsaWNlKGksaStuLm9wdGlvbnMuc2xpZGVzVG9TaG93KS5hZGRDbGFzcygic2xpY2stYWN0aXZlIikuYXR0cigiYXJpYS1oaWRkZW4iLCJmYWxzZSIpOnQubGVuZ3RoPD1uLm9wdGlvbnMuc2xpZGVzVG9TaG93P3QuYWRkQ2xhc3MoInNsaWNrLWFjdGl2ZSIpLmF0dHIoImFyaWEtaGlkZGVuIiwiZmFsc2UiKToocz1uLnNsaWRlQ291bnQlbi5vcHRpb25zLnNsaWRlc1RvU2hvdyxvPSEwPT09bi5vcHRpb25zLmluZmluaXRlP24ub3B0aW9ucy5zbGlkZXNUb1Nob3craTppLG4ub3B0aW9ucy5zbGlkZXNUb1Nob3c9PW4ub3B0aW9ucy5zbGlkZXNUb1Njcm9sbCYmbi5zbGlkZUNvdW50LWk8bi5vcHRpb25zLnNsaWRlc1RvU2hvdz90LnNsaWNlKG8tKG4ub3B0aW9ucy5zbGlkZXNUb1Nob3ctcyksbytzKS5hZGRDbGFzcygic2xpY2stYWN0aXZlIikuYXR0cigiYXJpYS1oaWRkZW4iLCJmYWxzZSIpOnQuc2xpY2UobyxvK24ub3B0aW9ucy5zbGlkZXNUb1Nob3cpLmFkZENsYXNzKCJzbGljay1hY3RpdmUiKS5hdHRyKCJhcmlhLWhpZGRlbiIsImZhbHNlIikpOyJvbmRlbWFuZCIhPT1uLm9wdGlvbnMubGF6eUxvYWQmJiJhbnRpY2lwYXRlZCIhPT1uLm9wdGlvbnMubGF6eUxvYWR8fG4ubGF6eUxvYWQoKX0sZS5wcm90b3R5cGUuc2V0dXBJbmZpbml0ZT1mdW5jdGlvbigpe3ZhciBlLHQsbyxzPXRoaXM7aWYoITA9PT1zLm9wdGlvbnMuZmFkZSYmKHMub3B0aW9ucy5jZW50ZXJNb2RlPSExKSwhMD09PXMub3B0aW9ucy5pbmZpbml0ZSYmITE9PT1zLm9wdGlvbnMuZmFkZSYmKHQ9bnVsbCxzLnNsaWRlQ291bnQ+cy5vcHRpb25zLnNsaWRlc1RvU2hvdykpe2ZvcihvPSEwPT09cy5vcHRpb25zLmNlbnRlck1vZGU/cy5vcHRpb25zLnNsaWRlc1RvU2hvdysxOnMub3B0aW9ucy5zbGlkZXNUb1Nob3csZT1zLnNsaWRlQ291bnQ7ZT5zLnNsaWRlQ291bnQtbztlLT0xKXQ9ZS0xLGkocy4kc2xpZGVzW3RdKS5jbG9uZSghMCkuYXR0cigiaWQiLCIiKS5hdHRyKCJkYXRhLXNsaWNrLWluZGV4Iix0LXMuc2xpZGVDb3VudCkucHJlcGVuZFRvKHMuJHNsaWRlVHJhY2spLmFkZENsYXNzKCJzbGljay1jbG9uZWQiKTtmb3IoZT0wO2U8bytzLnNsaWRlQ291bnQ7ZSs9MSl0PWUsaShzLiRzbGlkZXNbdF0pLmNsb25lKCEwKS5hdHRyKCJpZCIsIiIpLmF0dHIoImRhdGEtc2xpY2staW5kZXgiLHQrcy5zbGlkZUNvdW50KS5hcHBlbmRUbyhzLiRzbGlkZVRyYWNrKS5hZGRDbGFzcygic2xpY2stY2xvbmVkIik7cy4kc2xpZGVUcmFjay5maW5kKCIuc2xpY2stY2xvbmVkIikuZmluZCgiW2lkXSIpLmVhY2goZnVuY3Rpb24oKXtpKHRoaXMpLmF0dHIoImlkIiwiIil9KX19LGUucHJvdG90eXBlLmludGVycnVwdD1mdW5jdGlvbihpKXt2YXIgZT10aGlzO2l8fGUuYXV0b1BsYXkoKSxlLmludGVycnVwdGVkPWl9LGUucHJvdG90eXBlLnNlbGVjdEhhbmRsZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcyxvPWkoZS50YXJnZXQpLmlzKCIuc2xpY2stc2xpZGUiKT9pKGUudGFyZ2V0KTppKGUudGFyZ2V0KS5wYXJlbnRzKCIuc2xpY2stc2xpZGUiKSxzPXBhcnNlSW50KG8uYXR0cigiZGF0YS1zbGljay1pbmRleCIpKTtzfHwocz0wKSx0LnNsaWRlQ291bnQ8PXQub3B0aW9ucy5zbGlkZXNUb1Nob3c/dC5zbGlkZUhhbmRsZXIocywhMSwhMCk6dC5zbGlkZUhhbmRsZXIocyl9LGUucHJvdG90eXBlLnNsaWRlSGFuZGxlcj1mdW5jdGlvbihpLGUsdCl7dmFyIG8scyxuLHIsbCxkPW51bGwsYT10aGlzO2lmKGU9ZXx8ITEsISghMD09PWEuYW5pbWF0aW5nJiYhMD09PWEub3B0aW9ucy53YWl0Rm9yQW5pbWF0ZXx8ITA9PT1hLm9wdGlvbnMuZmFkZSYmYS5jdXJyZW50U2xpZGU9PT1pKSlpZighMT09PWUmJmEuYXNOYXZGb3IoaSksbz1pLGQ9YS5nZXRMZWZ0KG8pLHI9YS5nZXRMZWZ0KGEuY3VycmVudFNsaWRlKSxhLmN1cnJlbnRMZWZ0PW51bGw9PT1hLnN3aXBlTGVmdD9yOmEuc3dpcGVMZWZ0LCExPT09YS5vcHRpb25zLmluZmluaXRlJiYhMT09PWEub3B0aW9ucy5jZW50ZXJNb2RlJiYoaTwwfHxpPmEuZ2V0RG90Q291bnQoKSphLm9wdGlvbnMuc2xpZGVzVG9TY3JvbGwpKSExPT09YS5vcHRpb25zLmZhZGUmJihvPWEuY3VycmVudFNsaWRlLCEwIT09dD9hLmFuaW1hdGVTbGlkZShyLGZ1bmN0aW9uKCl7YS5wb3N0U2xpZGUobyl9KTphLnBvc3RTbGlkZShvKSk7ZWxzZSBpZighMT09PWEub3B0aW9ucy5pbmZpbml0ZSYmITA9PT1hLm9wdGlvbnMuY2VudGVyTW9kZSYmKGk8MHx8aT5hLnNsaWRlQ291bnQtYS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsKSkhMT09PWEub3B0aW9ucy5mYWRlJiYobz1hLmN1cnJlbnRTbGlkZSwhMCE9PXQ/YS5hbmltYXRlU2xpZGUocixmdW5jdGlvbigpe2EucG9zdFNsaWRlKG8pfSk6YS5wb3N0U2xpZGUobykpO2Vsc2V7aWYoYS5vcHRpb25zLmF1dG9wbGF5JiZjbGVhckludGVydmFsKGEuYXV0b1BsYXlUaW1lcikscz1vPDA/YS5zbGlkZUNvdW50JWEub3B0aW9ucy5zbGlkZXNUb1Njcm9sbCE9MD9hLnNsaWRlQ291bnQtYS5zbGlkZUNvdW50JWEub3B0aW9ucy5zbGlkZXNUb1Njcm9sbDphLnNsaWRlQ291bnQrbzpvPj1hLnNsaWRlQ291bnQ/YS5zbGlkZUNvdW50JWEub3B0aW9ucy5zbGlkZXNUb1Njcm9sbCE9MD8wOm8tYS5zbGlkZUNvdW50Om8sYS5hbmltYXRpbmc9ITAsYS4kc2xpZGVyLnRyaWdnZXIoImJlZm9yZUNoYW5nZSIsW2EsYS5jdXJyZW50U2xpZGUsc10pLG49YS5jdXJyZW50U2xpZGUsYS5jdXJyZW50U2xpZGU9cyxhLnNldFNsaWRlQ2xhc3NlcyhhLmN1cnJlbnRTbGlkZSksYS5vcHRpb25zLmFzTmF2Rm9yJiYobD0obD1hLmdldE5hdlRhcmdldCgpKS5zbGljaygiZ2V0U2xpY2siKSkuc2xpZGVDb3VudDw9bC5vcHRpb25zLnNsaWRlc1RvU2hvdyYmbC5zZXRTbGlkZUNsYXNzZXMoYS5jdXJyZW50U2xpZGUpLGEudXBkYXRlRG90cygpLGEudXBkYXRlQXJyb3dzKCksITA9PT1hLm9wdGlvbnMuZmFkZSlyZXR1cm4hMCE9PXQ/KGEuZmFkZVNsaWRlT3V0KG4pLGEuZmFkZVNsaWRlKHMsZnVuY3Rpb24oKXthLnBvc3RTbGlkZShzKX0pKTphLnBvc3RTbGlkZShzKSx2b2lkIGEuYW5pbWF0ZUhlaWdodCgpOyEwIT09dD9hLmFuaW1hdGVTbGlkZShkLGZ1bmN0aW9uKCl7YS5wb3N0U2xpZGUocyl9KTphLnBvc3RTbGlkZShzKX19LGUucHJvdG90eXBlLnN0YXJ0TG9hZD1mdW5jdGlvbigpe3ZhciBpPXRoaXM7ITA9PT1pLm9wdGlvbnMuYXJyb3dzJiZpLnNsaWRlQ291bnQ+aS5vcHRpb25zLnNsaWRlc1RvU2hvdyYmKGkuJHByZXZBcnJvdy5oaWRlKCksaS4kbmV4dEFycm93LmhpZGUoKSksITA9PT1pLm9wdGlvbnMuZG90cyYmaS5zbGlkZUNvdW50Pmkub3B0aW9ucy5zbGlkZXNUb1Nob3cmJmkuJGRvdHMuaGlkZSgpLGkuJHNsaWRlci5hZGRDbGFzcygic2xpY2stbG9hZGluZyIpfSxlLnByb3RvdHlwZS5zd2lwZURpcmVjdGlvbj1mdW5jdGlvbigpe3ZhciBpLGUsdCxvLHM9dGhpcztyZXR1cm4gaT1zLnRvdWNoT2JqZWN0LnN0YXJ0WC1zLnRvdWNoT2JqZWN0LmN1clgsZT1zLnRvdWNoT2JqZWN0LnN0YXJ0WS1zLnRvdWNoT2JqZWN0LmN1clksdD1NYXRoLmF0YW4yKGUsaSksKG89TWF0aC5yb3VuZCgxODAqdC9NYXRoLlBJKSk8MCYmKG89MzYwLU1hdGguYWJzKG8pKSxvPD00NSYmbz49MD8hMT09PXMub3B0aW9ucy5ydGw/ImxlZnQiOiJyaWdodCI6bzw9MzYwJiZvPj0zMTU/ITE9PT1zLm9wdGlvbnMucnRsPyJsZWZ0IjoicmlnaHQiOm8+PTEzNSYmbzw9MjI1PyExPT09cy5vcHRpb25zLnJ0bD8icmlnaHQiOiJsZWZ0IjohMD09PXMub3B0aW9ucy52ZXJ0aWNhbFN3aXBpbmc/bz49MzUmJm88PTEzNT8iZG93biI6InVwIjoidmVydGljYWwifSxlLnByb3RvdHlwZS5zd2lwZUVuZD1mdW5jdGlvbihpKXt2YXIgZSx0LG89dGhpcztpZihvLmRyYWdnaW5nPSExLG8uc3dpcGluZz0hMSxvLnNjcm9sbGluZylyZXR1cm4gby5zY3JvbGxpbmc9ITEsITE7aWYoby5pbnRlcnJ1cHRlZD0hMSxvLnNob3VsZENsaWNrPSEoby50b3VjaE9iamVjdC5zd2lwZUxlbmd0aD4xMCksdm9pZCAwPT09by50b3VjaE9iamVjdC5jdXJYKXJldHVybiExO2lmKCEwPT09by50b3VjaE9iamVjdC5lZGdlSGl0JiZvLiRzbGlkZXIudHJpZ2dlcigiZWRnZSIsW28sby5zd2lwZURpcmVjdGlvbigpXSksby50b3VjaE9iamVjdC5zd2lwZUxlbmd0aD49by50b3VjaE9iamVjdC5taW5Td2lwZSl7c3dpdGNoKHQ9by5zd2lwZURpcmVjdGlvbigpKXtjYXNlImxlZnQiOmNhc2UiZG93biI6ZT1vLm9wdGlvbnMuc3dpcGVUb1NsaWRlP28uY2hlY2tOYXZpZ2FibGUoby5jdXJyZW50U2xpZGUrby5nZXRTbGlkZUNvdW50KCkpOm8uY3VycmVudFNsaWRlK28uZ2V0U2xpZGVDb3VudCgpLG8uY3VycmVudERpcmVjdGlvbj0wO2JyZWFrO2Nhc2UicmlnaHQiOmNhc2UidXAiOmU9by5vcHRpb25zLnN3aXBlVG9TbGlkZT9vLmNoZWNrTmF2aWdhYmxlKG8uY3VycmVudFNsaWRlLW8uZ2V0U2xpZGVDb3VudCgpKTpvLmN1cnJlbnRTbGlkZS1vLmdldFNsaWRlQ291bnQoKSxvLmN1cnJlbnREaXJlY3Rpb249MX0idmVydGljYWwiIT10JiYoby5zbGlkZUhhbmRsZXIoZSksby50b3VjaE9iamVjdD17fSxvLiRzbGlkZXIudHJpZ2dlcigic3dpcGUiLFtvLHRdKSl9ZWxzZSBvLnRvdWNoT2JqZWN0LnN0YXJ0WCE9PW8udG91Y2hPYmplY3QuY3VyWCYmKG8uc2xpZGVIYW5kbGVyKG8uY3VycmVudFNsaWRlKSxvLnRvdWNoT2JqZWN0PXt9KX0sZS5wcm90b3R5cGUuc3dpcGVIYW5kbGVyPWZ1bmN0aW9uKGkpe3ZhciBlPXRoaXM7aWYoISghMT09PWUub3B0aW9ucy5zd2lwZXx8Im9udG91Y2hlbmQiaW4gZG9jdW1lbnQmJiExPT09ZS5vcHRpb25zLnN3aXBlfHwhMT09PWUub3B0aW9ucy5kcmFnZ2FibGUmJi0xIT09aS50eXBlLmluZGV4T2YoIm1vdXNlIikpKXN3aXRjaChlLnRvdWNoT2JqZWN0LmZpbmdlckNvdW50PWkub3JpZ2luYWxFdmVudCYmdm9pZCAwIT09aS5vcmlnaW5hbEV2ZW50LnRvdWNoZXM/aS5vcmlnaW5hbEV2ZW50LnRvdWNoZXMubGVuZ3RoOjEsZS50b3VjaE9iamVjdC5taW5Td2lwZT1lLmxpc3RXaWR0aC9lLm9wdGlvbnMudG91Y2hUaHJlc2hvbGQsITA9PT1lLm9wdGlvbnMudmVydGljYWxTd2lwaW5nJiYoZS50b3VjaE9iamVjdC5taW5Td2lwZT1lLmxpc3RIZWlnaHQvZS5vcHRpb25zLnRvdWNoVGhyZXNob2xkKSxpLmRhdGEuYWN0aW9uKXtjYXNlInN0YXJ0IjplLnN3aXBlU3RhcnQoaSk7YnJlYWs7Y2FzZSJtb3ZlIjplLnN3aXBlTW92ZShpKTticmVhaztjYXNlImVuZCI6ZS5zd2lwZUVuZChpKX19LGUucHJvdG90eXBlLnN3aXBlTW92ZT1mdW5jdGlvbihpKXt2YXIgZSx0LG8scyxuLHIsbD10aGlzO3JldHVybiBuPXZvaWQgMCE9PWkub3JpZ2luYWxFdmVudD9pLm9yaWdpbmFsRXZlbnQudG91Y2hlczpudWxsLCEoIWwuZHJhZ2dpbmd8fGwuc2Nyb2xsaW5nfHxuJiYxIT09bi5sZW5ndGgpJiYoZT1sLmdldExlZnQobC5jdXJyZW50U2xpZGUpLGwudG91Y2hPYmplY3QuY3VyWD12b2lkIDAhPT1uP25bMF0ucGFnZVg6aS5jbGllbnRYLGwudG91Y2hPYmplY3QuY3VyWT12b2lkIDAhPT1uP25bMF0ucGFnZVk6aS5jbGllbnRZLGwudG91Y2hPYmplY3Quc3dpcGVMZW5ndGg9TWF0aC5yb3VuZChNYXRoLnNxcnQoTWF0aC5wb3cobC50b3VjaE9iamVjdC5jdXJYLWwudG91Y2hPYmplY3Quc3RhcnRYLDIpKSkscj1NYXRoLnJvdW5kKE1hdGguc3FydChNYXRoLnBvdyhsLnRvdWNoT2JqZWN0LmN1clktbC50b3VjaE9iamVjdC5zdGFydFksMikpKSwhbC5vcHRpb25zLnZlcnRpY2FsU3dpcGluZyYmIWwuc3dpcGluZyYmcj40PyhsLnNjcm9sbGluZz0hMCwhMSk6KCEwPT09bC5vcHRpb25zLnZlcnRpY2FsU3dpcGluZyYmKGwudG91Y2hPYmplY3Quc3dpcGVMZW5ndGg9ciksdD1sLnN3aXBlRGlyZWN0aW9uKCksdm9pZCAwIT09aS5vcmlnaW5hbEV2ZW50JiZsLnRvdWNoT2JqZWN0LnN3aXBlTGVuZ3RoPjQmJihsLnN3aXBpbmc9ITAsaS5wcmV2ZW50RGVmYXVsdCgpKSxzPSghMT09PWwub3B0aW9ucy5ydGw/MTotMSkqKGwudG91Y2hPYmplY3QuY3VyWD5sLnRvdWNoT2JqZWN0LnN0YXJ0WD8xOi0xKSwhMD09PWwub3B0aW9ucy52ZXJ0aWNhbFN3aXBpbmcmJihzPWwudG91Y2hPYmplY3QuY3VyWT5sLnRvdWNoT2JqZWN0LnN0YXJ0WT8xOi0xKSxvPWwudG91Y2hPYmplY3Quc3dpcGVMZW5ndGgsbC50b3VjaE9iamVjdC5lZGdlSGl0PSExLCExPT09bC5vcHRpb25zLmluZmluaXRlJiYoMD09PWwuY3VycmVudFNsaWRlJiYicmlnaHQiPT09dHx8bC5jdXJyZW50U2xpZGU+PWwuZ2V0RG90Q291bnQoKSYmImxlZnQiPT09dCkmJihvPWwudG91Y2hPYmplY3Quc3dpcGVMZW5ndGgqbC5vcHRpb25zLmVkZ2VGcmljdGlvbixsLnRvdWNoT2JqZWN0LmVkZ2VIaXQ9ITApLCExPT09bC5vcHRpb25zLnZlcnRpY2FsP2wuc3dpcGVMZWZ0PWUrbypzOmwuc3dpcGVMZWZ0PWUrbyoobC4kbGlzdC5oZWlnaHQoKS9sLmxpc3RXaWR0aCkqcywhMD09PWwub3B0aW9ucy52ZXJ0aWNhbFN3aXBpbmcmJihsLnN3aXBlTGVmdD1lK28qcyksITAhPT1sLm9wdGlvbnMuZmFkZSYmITEhPT1sLm9wdGlvbnMudG91Y2hNb3ZlJiYoITA9PT1sLmFuaW1hdGluZz8obC5zd2lwZUxlZnQ9bnVsbCwhMSk6dm9pZCBsLnNldENTUyhsLnN3aXBlTGVmdCkpKSl9LGUucHJvdG90eXBlLnN3aXBlU3RhcnQ9ZnVuY3Rpb24oaSl7dmFyIGUsdD10aGlzO2lmKHQuaW50ZXJydXB0ZWQ9ITAsMSE9PXQudG91Y2hPYmplY3QuZmluZ2VyQ291bnR8fHQuc2xpZGVDb3VudDw9dC5vcHRpb25zLnNsaWRlc1RvU2hvdylyZXR1cm4gdC50b3VjaE9iamVjdD17fSwhMTt2b2lkIDAhPT1pLm9yaWdpbmFsRXZlbnQmJnZvaWQgMCE9PWkub3JpZ2luYWxFdmVudC50b3VjaGVzJiYoZT1pLm9yaWdpbmFsRXZlbnQudG91Y2hlc1swXSksdC50b3VjaE9iamVjdC5zdGFydFg9dC50b3VjaE9iamVjdC5jdXJYPXZvaWQgMCE9PWU/ZS5wYWdlWDppLmNsaWVudFgsdC50b3VjaE9iamVjdC5zdGFydFk9dC50b3VjaE9iamVjdC5jdXJZPXZvaWQgMCE9PWU/ZS5wYWdlWTppLmNsaWVudFksdC5kcmFnZ2luZz0hMH0sZS5wcm90b3R5cGUudW5maWx0ZXJTbGlkZXM9ZS5wcm90b3R5cGUuc2xpY2tVbmZpbHRlcj1mdW5jdGlvbigpe3ZhciBpPXRoaXM7bnVsbCE9PWkuJHNsaWRlc0NhY2hlJiYoaS51bmxvYWQoKSxpLiRzbGlkZVRyYWNrLmNoaWxkcmVuKHRoaXMub3B0aW9ucy5zbGlkZSkuZGV0YWNoKCksaS4kc2xpZGVzQ2FjaGUuYXBwZW5kVG8oaS4kc2xpZGVUcmFjayksaS5yZWluaXQoKSl9LGUucHJvdG90eXBlLnVubG9hZD1mdW5jdGlvbigpe3ZhciBlPXRoaXM7aSgiLnNsaWNrLWNsb25lZCIsZS4kc2xpZGVyKS5yZW1vdmUoKSxlLiRkb3RzJiZlLiRkb3RzLnJlbW92ZSgpLGUuJHByZXZBcnJvdyYmZS5odG1sRXhwci50ZXN0KGUub3B0aW9ucy5wcmV2QXJyb3cpJiZlLiRwcmV2QXJyb3cucmVtb3ZlKCksZS4kbmV4dEFycm93JiZlLmh0bWxFeHByLnRlc3QoZS5vcHRpb25zLm5leHRBcnJvdykmJmUuJG5leHRBcnJvdy5yZW1vdmUoKSxlLiRzbGlkZXMucmVtb3ZlQ2xhc3MoInNsaWNrLXNsaWRlIHNsaWNrLWFjdGl2ZSBzbGljay12aXNpYmxlIHNsaWNrLWN1cnJlbnQiKS5hdHRyKCJhcmlhLWhpZGRlbiIsInRydWUiKS5jc3MoIndpZHRoIiwiIil9LGUucHJvdG90eXBlLnVuc2xpY2s9ZnVuY3Rpb24oaSl7dmFyIGU9dGhpcztlLiRzbGlkZXIudHJpZ2dlcigidW5zbGljayIsW2UsaV0pLGUuZGVzdHJveSgpfSxlLnByb3RvdHlwZS51cGRhdGVBcnJvd3M9ZnVuY3Rpb24oKXt2YXIgaT10aGlzO01hdGguZmxvb3IoaS5vcHRpb25zLnNsaWRlc1RvU2hvdy8yKSwhMD09PWkub3B0aW9ucy5hcnJvd3MmJmkuc2xpZGVDb3VudD5pLm9wdGlvbnMuc2xpZGVzVG9TaG93JiYhaS5vcHRpb25zLmluZmluaXRlJiYoaS4kcHJldkFycm93LnJlbW92ZUNsYXNzKCJzbGljay1kaXNhYmxlZCIpLmF0dHIoImFyaWEtZGlzYWJsZWQiLCJmYWxzZSIpLGkuJG5leHRBcnJvdy5yZW1vdmVDbGFzcygic2xpY2stZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwiZmFsc2UiKSwwPT09aS5jdXJyZW50U2xpZGU/KGkuJHByZXZBcnJvdy5hZGRDbGFzcygic2xpY2stZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwidHJ1ZSIpLGkuJG5leHRBcnJvdy5yZW1vdmVDbGFzcygic2xpY2stZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwiZmFsc2UiKSk6aS5jdXJyZW50U2xpZGU+PWkuc2xpZGVDb3VudC1pLm9wdGlvbnMuc2xpZGVzVG9TaG93JiYhMT09PWkub3B0aW9ucy5jZW50ZXJNb2RlPyhpLiRuZXh0QXJyb3cuYWRkQ2xhc3MoInNsaWNrLWRpc2FibGVkIikuYXR0cigiYXJpYS1kaXNhYmxlZCIsInRydWUiKSxpLiRwcmV2QXJyb3cucmVtb3ZlQ2xhc3MoInNsaWNrLWRpc2FibGVkIikuYXR0cigiYXJpYS1kaXNhYmxlZCIsImZhbHNlIikpOmkuY3VycmVudFNsaWRlPj1pLnNsaWRlQ291bnQtMSYmITA9PT1pLm9wdGlvbnMuY2VudGVyTW9kZSYmKGkuJG5leHRBcnJvdy5hZGRDbGFzcygic2xpY2stZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwidHJ1ZSIpLGkuJHByZXZBcnJvdy5yZW1vdmVDbGFzcygic2xpY2stZGlzYWJsZWQiKS5hdHRyKCJhcmlhLWRpc2FibGVkIiwiZmFsc2UiKSkpfSxlLnByb3RvdHlwZS51cGRhdGVEb3RzPWZ1bmN0aW9uKCl7dmFyIGk9dGhpcztudWxsIT09aS4kZG90cyYmKGkuJGRvdHMuZmluZCgibGkiKS5yZW1vdmVDbGFzcygic2xpY2stYWN0aXZlIikuZW5kKCksaS4kZG90cy5maW5kKCJsaSIpLmVxKE1hdGguZmxvb3IoaS5jdXJyZW50U2xpZGUvaS5vcHRpb25zLnNsaWRlc1RvU2Nyb2xsKSkuYWRkQ2xhc3MoInNsaWNrLWFjdGl2ZSIpKX0sZS5wcm90b3R5cGUudmlzaWJpbGl0eT1mdW5jdGlvbigpe3ZhciBpPXRoaXM7aS5vcHRpb25zLmF1dG9wbGF5JiYoZG9jdW1lbnRbaS5oaWRkZW5dP2kuaW50ZXJydXB0ZWQ9ITA6aS5pbnRlcnJ1cHRlZD0hMSl9LGkuZm4uc2xpY2s9ZnVuY3Rpb24oKXt2YXIgaSx0LG89dGhpcyxzPWFyZ3VtZW50c1swXSxuPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSxyPW8ubGVuZ3RoO2ZvcihpPTA7aTxyO2krKylpZigib2JqZWN0Ij09dHlwZW9mIHN8fHZvaWQgMD09PXM/b1tpXS5zbGljaz1uZXcgZShvW2ldLHMpOnQ9b1tpXS5zbGlja1tzXS5hcHBseShvW2ldLnNsaWNrLG4pLHZvaWQgMCE9PXQpcmV0dXJuIHQ7cmV0dXJuIG99fSk7DQoNCg0KDQoNCi8qDQogKiAganF1ZXJ5IFR3ZW50eVR3ZW50eSBCZWZvcmUgQWZ0ZXIgU2xpZGVyDQogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KKi8NCiFmdW5jdGlvbihlKXsiZnVuY3Rpb24iPT10eXBlb2YgZGVmaW5lJiZkZWZpbmUuYW1kP2RlZmluZShbXSxlKToidW5kZWZpbmVkIiE9dHlwZW9mIG1vZHVsZSYmbnVsbCE9PW1vZHVsZSYmbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9ZTplKCl9KGZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4gbmV3IEN1c3RvbUV2ZW50KGUsTil9ZnVuY3Rpb24gdChlKXtyZXR1cm4gZVt6XXx8KGVbel09e30pfWZ1bmN0aW9uIG4oZSxuLG8saSxhKXtmdW5jdGlvbiB1KGUpe28oZSxpKX1uPW4uc3BsaXQoRCk7Zm9yKHZhciBjLHI9dChlKSxkPW4ubGVuZ3RoO2QtLTspKHJbYz1uW2RdXXx8KHJbY109W10pKS5wdXNoKFtvLHVdKSxlLmFkZEV2ZW50TGlzdGVuZXIoYyx1KX1mdW5jdGlvbiBvKGUsbixvLGkpe249bi5zcGxpdChEKTt2YXIgYSx1LGMscj10KGUpLGQ9bi5sZW5ndGg7aWYocilmb3IoO2QtLTspaWYoYT1uW2RdLHU9clthXSlmb3IoYz11Lmxlbmd0aDtjLS07KXVbY11bMF09PT1vJiYoZS5yZW1vdmVFdmVudExpc3RlbmVyKGEsdVtjXVsxXSksdS5zcGxpY2UoYywxKSl9ZnVuY3Rpb24gaSh0LG4sbyl7dmFyIGk9ZShuKTtvJiZBKGksbyksdC5kaXNwYXRjaEV2ZW50KGkpfWZ1bmN0aW9uIGEoZSl7ZnVuY3Rpb24gdChlKXtvPyhuKCksTSh0KSxpPSEwLG89ITEpOmk9ITF9dmFyIG49ZSxvPSExLGk9ITE7dGhpcy5raWNrPWZ1bmN0aW9uKGUpe289ITAsaXx8dCgpfSx0aGlzLmVuZD1mdW5jdGlvbihlKXt2YXIgdD1uO2UmJihpPyhuPW8/ZnVuY3Rpb24oKXt0KCksZSgpfTplLG89ITApOmUoKSl9fWZ1bmN0aW9uIHUoKXt9ZnVuY3Rpb24gYyhlKXtlLnByZXZlbnREZWZhdWx0KCl9ZnVuY3Rpb24gcihlKXtyZXR1cm4hIXhbZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpXX1mdW5jdGlvbiBkKGUpe3JldHVybiAxPT09ZS53aGljaCYmIWUuY3RybEtleSYmIWUuYWx0S2V5fWZ1bmN0aW9uIG0oZSx0KXt2YXIgbixvO2lmKGUuaWRlbnRpZmllZFRvdWNoKXJldHVybiBlLmlkZW50aWZpZWRUb3VjaCh0KTtmb3Iobj0tMSxvPWUubGVuZ3RoOysrbjxvOylpZihlW25dLmlkZW50aWZpZXI9PT10KXJldHVybiBlW25dfWZ1bmN0aW9uIGYoZSx0KXt2YXIgbj1tKGUuY2hhbmdlZFRvdWNoZXMsdC5pZGVudGlmaWVyKTtpZihuJiYobi5wYWdlWCE9PXQucGFnZVh8fG4ucGFnZVkhPT10LnBhZ2VZKSlyZXR1cm4gbn1mdW5jdGlvbiB2KGUsdCl7WChlLHQsZSxsKX1mdW5jdGlvbiBzKGUsdCl7bCgpfWZ1bmN0aW9uIGwoKXtvKGRvY3VtZW50LEwubW92ZSx2KSxvKGRvY3VtZW50LEwuY2FuY2VsLHMpfWZ1bmN0aW9uIHAoZSx0KXt2YXIgbj1mKGUsdCk7biYmWChlLHQsbixoKX1mdW5jdGlvbiBnKGUsdCl7bShlLmNoYW5nZWRUb3VjaGVzLHQuaWRlbnRpZmllcikmJmgodCl9ZnVuY3Rpb24gaChlKXtvKGRvY3VtZW50LFIubW92ZSxlLnRvdWNobW92ZSksbyhkb2N1bWVudCxSLmNhbmNlbCxlLnRvdWNoZW5kKX1mdW5jdGlvbiBYKGUsdCxuLG8pe3ZhciBpPW4ucGFnZVgtdC5wYWdlWCxhPW4ucGFnZVktdC5wYWdlWTtpKmkrYSphPEYqRnx8WShlLHQsbixpLGEsbyl9ZnVuY3Rpb24gWShlLHQsbixvLGEsYyl7dmFyIHI9ZS50YXJnZXRUb3VjaGVzLGQ9ZS50aW1lU3RhbXAtdC50aW1lU3RhbXAsbT17YWx0S2V5OmUuYWx0S2V5LGN0cmxLZXk6ZS5jdHJsS2V5LHNoaWZ0S2V5OmUuc2hpZnRLZXksc3RhcnRYOnQucGFnZVgsc3RhcnRZOnQucGFnZVksZGlzdFg6byxkaXN0WTphLGRlbHRhWDpvLGRlbHRhWTphLHBhZ2VYOm4ucGFnZVgscGFnZVk6bi5wYWdlWSx2ZWxvY2l0eVg6by9kLHZlbG9jaXR5WTphL2QsaWRlbnRpZmllcjp0LmlkZW50aWZpZXIsdGFyZ2V0VG91Y2hlczpyLGZpbmdlcjpyP3IubGVuZ3RoOjEsZW5hYmxlTW92ZTpmdW5jdGlvbigpe3RoaXMubW92ZUVuYWJsZWQ9ITAsdGhpcy5lbmFibGVNb3ZlPXUsZS5wcmV2ZW50RGVmYXVsdCgpfX07aSh0LnRhcmdldCwibW92ZXN0YXJ0IixtKSxjKHQpfWZ1bmN0aW9uIHkoZSx0KXt2YXIgbj10LnRpbWVyO3QudG91Y2g9ZSx0LnRpbWVTdGFtcD1lLnRpbWVTdGFtcCxuLmtpY2soKX1mdW5jdGlvbiB3KGUsdCl7dmFyIG49dC50YXJnZXQsaT10LmV2ZW50LGE9dC50aW1lcjtiKCksSyhuLGksYSxmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtvKG4sImNsaWNrIixjKX0sMCl9KX1mdW5jdGlvbiBiKCl7byhkb2N1bWVudCxMLm1vdmUseSksbyhkb2N1bWVudCxMLmVuZCx3KX1mdW5jdGlvbiBUKGUsdCl7dmFyIG49dC5ldmVudCxvPXQudGltZXIsaT1mKGUsbik7aSYmKGUucHJldmVudERlZmF1bHQoKSxuLnRhcmdldFRvdWNoZXM9ZS50YXJnZXRUb3VjaGVzLHQudG91Y2g9aSx0LnRpbWVTdGFtcD1lLnRpbWVTdGFtcCxvLmtpY2soKSl9ZnVuY3Rpb24gRShlLHQpe3ZhciBuPXQudGFyZ2V0LG89dC5ldmVudCxpPXQudGltZXI7bShlLmNoYW5nZWRUb3VjaGVzLG8uaWRlbnRpZmllcikmJihTKHQpLEsobixvLGkpKX1mdW5jdGlvbiBTKGUpe28oZG9jdW1lbnQsUi5tb3ZlLGUuYWN0aXZlVG91Y2htb3ZlKSxvKGRvY3VtZW50LFIuZW5kLGUuYWN0aXZlVG91Y2hlbmQpfWZ1bmN0aW9uIGsoZSx0LG4pe3ZhciBvPW4tZS50aW1lU3RhbXA7ZS5kaXN0WD10LnBhZ2VYLWUuc3RhcnRYLGUuZGlzdFk9dC5wYWdlWS1lLnN0YXJ0WSxlLmRlbHRhWD10LnBhZ2VYLWUucGFnZVgsZS5kZWx0YVk9dC5wYWdlWS1lLnBhZ2VZLGUudmVsb2NpdHlYPS4zKmUudmVsb2NpdHlYKy43KmUuZGVsdGFYL28sZS52ZWxvY2l0eVk9LjMqZS52ZWxvY2l0eVkrLjcqZS5kZWx0YVkvbyxlLnBhZ2VYPXQucGFnZVgsZS5wYWdlWT10LnBhZ2VZfWZ1bmN0aW9uIEsoZSx0LG4sbyl7bi5lbmQoZnVuY3Rpb24oKXtyZXR1cm4gaShlLCJtb3ZlZW5kIix0KSxvJiZvKCl9KX1mdW5jdGlvbiBqKGUpe2UuZW5hYmxlTW92ZSgpfWZ1bmN0aW9uIEMoZSl7ZS5lbmFibGVNb3ZlKCl9ZnVuY3Rpb24gUShlKXtlLmVuYWJsZU1vdmUoKX1mdW5jdGlvbiBxKGUpe3ZhciB0PWUuaGFuZGxlcjtlLmhhbmRsZXI9ZnVuY3Rpb24oZSl7Zm9yKHZhciBuLG89Ty5sZW5ndGg7by0tOyllW249T1tvXV09ZS5vcmlnaW5hbEV2ZW50W25dO3QuYXBwbHkodGhpcyxhcmd1bWVudHMpfX12YXIgQT1PYmplY3QuYXNzaWdufHx3aW5kb3cualF1ZXJ5JiZqUXVlcnkuZXh0ZW5kLEY9OCxNPXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy53ZWJraXRSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5tb3pSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fHdpbmRvdy5vUmVxdWVzdEFuaW1hdGlvbkZyYW1lfHx3aW5kb3cubXNSZXF1ZXN0QW5pbWF0aW9uRnJhbWV8fGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ZSgpfSwyNSl9OyFmdW5jdGlvbigpe2Z1bmN0aW9uIGUoZSx0KXt0PXR8fHtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOnZvaWQgMH07dmFyIG49ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50Iik7cmV0dXJuIG4uaW5pdEN1c3RvbUV2ZW50KGUsdC5idWJibGVzLHQuY2FuY2VsYWJsZSx0LmRldGFpbCksbn1pZigiZnVuY3Rpb24iPT10eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50KXJldHVybiExO2UucHJvdG90eXBlPXdpbmRvdy5FdmVudC5wcm90b3R5cGUsd2luZG93LkN1c3RvbUV2ZW50PWV9KCk7dmFyIHg9e3RleHRhcmVhOiEwLGlucHV0OiEwLHNlbGVjdDohMCxidXR0b246ITB9LEw9e21vdmU6Im1vdXNlbW92ZSIsY2FuY2VsOiJtb3VzZXVwIGRyYWdzdGFydCIsZW5kOiJtb3VzZXVwIn0sUj17bW92ZToidG91Y2htb3ZlIixjYW5jZWw6InRvdWNoZW5kIixlbmQ6InRvdWNoZW5kIn0sRD0vXHMrLyxOPXtidWJibGVzOiEwLGNhbmNlbGFibGU6ITB9LHo9ImZ1bmN0aW9uIj09dHlwZW9mIFN5bWJvbD9TeW1ib2woImV2ZW50cyIpOnt9O2lmKG4oZG9jdW1lbnQsIm1vdXNlZG93biIsZnVuY3Rpb24oZSl7ZChlKSYmKHIoZSl8fChuKGRvY3VtZW50LEwubW92ZSx2LGUpLG4oZG9jdW1lbnQsTC5jYW5jZWwscyxlKSkpfSksbihkb2N1bWVudCwidG91Y2hzdGFydCIsZnVuY3Rpb24oZSl7aWYoIXhbZS50YXJnZXQudGFnTmFtZS50b0xvd2VyQ2FzZSgpXSl7dmFyIHQ9ZS5jaGFuZ2VkVG91Y2hlc1swXSxvPXt0YXJnZXQ6dC50YXJnZXQscGFnZVg6dC5wYWdlWCxwYWdlWTp0LnBhZ2VZLGlkZW50aWZpZXI6dC5pZGVudGlmaWVyLHRvdWNobW92ZTpmdW5jdGlvbihlLHQpe3AoZSx0KX0sdG91Y2hlbmQ6ZnVuY3Rpb24oZSx0KXtnKGUsdCl9fTtuKGRvY3VtZW50LFIubW92ZSxvLnRvdWNobW92ZSxvKSxuKGRvY3VtZW50LFIuY2FuY2VsLG8udG91Y2hlbmQsbyl9fSksbihkb2N1bWVudCwibW92ZXN0YXJ0IixmdW5jdGlvbihlKXtpZighZS5kZWZhdWx0UHJldmVudGVkJiZlLm1vdmVFbmFibGVkKXt2YXIgdD17c3RhcnRYOmUuc3RhcnRYLHN0YXJ0WTplLnN0YXJ0WSxwYWdlWDplLnBhZ2VYLHBhZ2VZOmUucGFnZVksZGlzdFg6ZS5kaXN0WCxkaXN0WTplLmRpc3RZLGRlbHRhWDplLmRlbHRhWCxkZWx0YVk6ZS5kZWx0YVksdmVsb2NpdHlYOmUudmVsb2NpdHlYLHZlbG9jaXR5WTplLnZlbG9jaXR5WSxpZGVudGlmaWVyOmUuaWRlbnRpZmllcix0YXJnZXRUb3VjaGVzOmUudGFyZ2V0VG91Y2hlcyxmaW5nZXI6ZS5maW5nZXJ9LG89e3RhcmdldDplLnRhcmdldCxldmVudDp0LHRpbWVyOm5ldyBhKGZ1bmN0aW9uKGUpe2sodCxvLnRvdWNoLG8udGltZVN0YW1wKSxpKG8udGFyZ2V0LCJtb3ZlIix0KX0pLHRvdWNoOnZvaWQgMCx0aW1lU3RhbXA6ZS50aW1lU3RhbXB9O3ZvaWQgMD09PWUuaWRlbnRpZmllcj8obihlLnRhcmdldCwiY2xpY2siLGMpLG4oZG9jdW1lbnQsTC5tb3ZlLHksbyksbihkb2N1bWVudCxMLmVuZCx3LG8pKTooby5hY3RpdmVUb3VjaG1vdmU9ZnVuY3Rpb24oZSx0KXtUKGUsdCl9LG8uYWN0aXZlVG91Y2hlbmQ9ZnVuY3Rpb24oZSx0KXtFKGUsdCl9LG4oZG9jdW1lbnQsUi5tb3ZlLG8uYWN0aXZlVG91Y2htb3ZlLG8pLG4oZG9jdW1lbnQsUi5lbmQsby5hY3RpdmVUb3VjaGVuZCxvKSl9fSksd2luZG93LmpRdWVyeSl7dmFyIE89InN0YXJ0WCBzdGFydFkgcGFnZVggcGFnZVkgZGlzdFggZGlzdFkgZGVsdGFYIGRlbHRhWSB2ZWxvY2l0eVggdmVsb2NpdHlZIi5zcGxpdCgiICIpO2pRdWVyeS5ldmVudC5zcGVjaWFsLm1vdmVzdGFydD17c2V0dXA6ZnVuY3Rpb24oKXtyZXR1cm4gbih0aGlzLCJtb3Zlc3RhcnQiLGopLCExfSx0ZWFyZG93bjpmdW5jdGlvbigpe3JldHVybiBvKHRoaXMsIm1vdmVzdGFydCIsaiksITF9LGFkZDpxfSxqUXVlcnkuZXZlbnQuc3BlY2lhbC5tb3ZlPXtzZXR1cDpmdW5jdGlvbigpe3JldHVybiBuKHRoaXMsIm1vdmVzdGFydCIsQyksITF9LHRlYXJkb3duOmZ1bmN0aW9uKCl7cmV0dXJuIG8odGhpcywibW92ZXN0YXJ0IixDKSwhMX0sYWRkOnF9LGpRdWVyeS5ldmVudC5zcGVjaWFsLm1vdmVlbmQ9e3NldHVwOmZ1bmN0aW9uKCl7cmV0dXJuIG4odGhpcywibW92ZXN0YXJ0IixRKSwhMX0sdGVhcmRvd246ZnVuY3Rpb24oKXtyZXR1cm4gbyh0aGlzLCJtb3Zlc3RhcnQiLFEpLCExfSxhZGQ6cX19fSk7DQoNCiFmdW5jdGlvbih0KXt0LmZuLnR3ZW50eXR3ZW50eT1mdW5jdGlvbihlKXt2YXIgZT10LmV4dGVuZCh7ZGVmYXVsdF9vZmZzZXRfcGN0Oi41LG9yaWVudGF0aW9uOiJob3Jpem9udGFsIixiZWZvcmVfbGFiZWw6IkJlZm9yZSIsYWZ0ZXJfbGFiZWw6IkFmdGVyIixub19vdmVybGF5OiExfSxlKTtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIG49ZS5kZWZhdWx0X29mZnNldF9wY3QsYT10KHRoaXMpLGk9ZS5vcmllbnRhdGlvbixzPSJ2ZXJ0aWNhbCI9PT1pPyJkb3duIjoibGVmdCIscj0idmVydGljYWwiPT09aT8idXAiOiJyaWdodCI7YS53cmFwKCI8ZGl2IGNsYXNzPSd0d2VudHl0d2VudHktd3JhcHBlciB0d2VudHl0d2VudHktIitpKyInPjwvZGl2PiIpLGUubm9fb3ZlcmxheXx8YS5hcHBlbmQoIjxkaXYgY2xhc3M9J3R3ZW50eXR3ZW50eS1vdmVybGF5Jz48L2Rpdj4iKTt2YXIgZD1hLmZpbmQoImltZzpmaXJzdCIpLGM9YS5maW5kKCJpbWc6bGFzdCIpO2EuYXBwZW5kKCI8ZGl2IGNsYXNzPSd0d2VudHl0d2VudHktaGFuZGxlJz48L2Rpdj4iKTt2YXIgbD1hLmZpbmQoIi50d2VudHl0d2VudHktaGFuZGxlIik7bC5hcHBlbmQoIjxzcGFuIGNsYXNzPSd0d2VudHl0d2VudHktIitzKyItYXJyb3cnPjwvc3Bhbj4iKSxsLmFwcGVuZCgiPHNwYW4gY2xhc3M9J3R3ZW50eXR3ZW50eS0iK3IrIi1hcnJvdyc+PC9zcGFuPiIpLGEuYWRkQ2xhc3MoInR3ZW50eXR3ZW50eS1jb250YWluZXIiKSxkLmFkZENsYXNzKCJ0d2VudHl0d2VudHktYmVmb3JlIiksYy5hZGRDbGFzcygidHdlbnR5dHdlbnR5LWFmdGVyIik7dmFyIG89YS5maW5kKCIudHdlbnR5dHdlbnR5LW92ZXJsYXkiKTtvLmFwcGVuZCgiPGRpdiBjbGFzcz0ndHdlbnR5dHdlbnR5LWJlZm9yZS1sYWJlbCcgZGF0YS1jb250ZW50PSciK2UuYmVmb3JlX2xhYmVsKyInPjwvZGl2PiIpLG8uYXBwZW5kKCI8ZGl2IGNsYXNzPSd0d2VudHl0d2VudHktYWZ0ZXItbGFiZWwnIGRhdGEtY29udGVudD0nIitlLmFmdGVyX2xhYmVsKyInPjwvZGl2PiIpO3ZhciB3PWZ1bmN0aW9uKHQpe3ZhciBlPWQud2lkdGgoKSxuPWQuaGVpZ2h0KCk7cmV0dXJue3c6ZSsicHgiLGg6bisicHgiLGN3OnQqZSsicHgiLGNoOnQqbisicHgifX0sZj1mdW5jdGlvbih0KXsidmVydGljYWwiPT09aT8oZC5jc3MoImNsaXAiLCJyZWN0KDAsIit0LncrIiwiK3QuY2grIiwwKSIpLGMuY3NzKCJjbGlwIiwicmVjdCgiK3QuY2grIiwiK3QudysiLCIrdC5oKyIsMCkiKSk6KGQuY3NzKCJjbGlwIiwicmVjdCgwLCIrdC5jdysiLCIrdC5oKyIsMCkiKSxjLmNzcygiY2xpcCIsInJlY3QoMCwiK3QudysiLCIrdC5oKyIsIit0LmN3KyIpIikpLGEuY3NzKCJoZWlnaHQiLHQuaCl9LHY9ZnVuY3Rpb24odCl7dmFyIGU9dyh0KTtsLmNzcygidmVydGljYWwiPT09aT8idG9wIjoibGVmdCIsInZlcnRpY2FsIj09PWk/ZS5jaDplLmN3KSxmKGUpfTt0KHdpbmRvdykub24oInJlc2l6ZS50d2VudHl0d2VudHkiLGZ1bmN0aW9uKHQpe3Yobil9KTt2YXIgcD0wLHk9MCxoPTAsdT0wO2wub24oIm1vdmVzdGFydCIsZnVuY3Rpb24odCl7KHQuZGlzdFg+dC5kaXN0WSYmdC5kaXN0WDwtdC5kaXN0WXx8dC5kaXN0WDx0LmRpc3RZJiZ0LmRpc3RYPi10LmRpc3RZKSYmInZlcnRpY2FsIiE9PWk/dC5wcmV2ZW50RGVmYXVsdCgpOih0LmRpc3RYPHQuZGlzdFkmJnQuZGlzdFg8LXQuZGlzdFl8fHQuZGlzdFg+dC5kaXN0WSYmdC5kaXN0WD4tdC5kaXN0WSkmJiJ2ZXJ0aWNhbCI9PT1pJiZ0LnByZXZlbnREZWZhdWx0KCksYS5hZGRDbGFzcygiYWN0aXZlIikscD1hLm9mZnNldCgpLmxlZnQseT1hLm9mZnNldCgpLnRvcCxoPWQud2lkdGgoKSx1PWQuaGVpZ2h0KCl9KSxsLm9uKCJtb3ZlZW5kIixmdW5jdGlvbih0KXthLnJlbW92ZUNsYXNzKCJhY3RpdmUiKX0pLGwub24oIm1vdmUiLGZ1bmN0aW9uKHQpe2EuaGFzQ2xhc3MoImFjdGl2ZSIpJiYoKG49InZlcnRpY2FsIj09PWk/KHQucGFnZVkteSkvdToodC5wYWdlWC1wKS9oKTwwJiYobj0wKSxuPjEmJihuPTEpLHYobikpfSksYS5maW5kKCJpbWciKS5vbigibW91c2Vkb3duIixmdW5jdGlvbih0KXt0LnByZXZlbnREZWZhdWx0KCl9KSx0KHdpbmRvdykudHJpZ2dlcigicmVzaXplLnR3ZW50eXR3ZW50eSIpfSl9fShqUXVlcnkpOw0KDQo="}},"time_used":594,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":483,"receive":111,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/js/extensions/revolution.extension.slideanims.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.608Z","timestamp":1785133989608,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/revolution-slider/js/extensions/revolution.extension.slideanims.min.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Wed, 08 Jan 2020 01:16:44 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6656\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":29401,"size_decoded":6893,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (29149), with CRLF line terminators","md5":"8cc105dfeffdc03367dcbe7ea3ef264a","sha1":"9aa2e656e163d9a3ea622b4897974884583e4cac","sha256":"80a9123891e91ebbb1c06a2d2c79533155a8f17c51ac09013efa57bc007f303a","sha512":"bd11bf18cac33ab7a76618c84aedbaf123d050b4f9bbeedf5ba560e81b514a7e169f95d89afeebe3a28227ed453ae0f8afd43d774be2d3e59b88c31b27cfe08a","ssdeep":"384:Ky1KpMxWR1zy40Islk/4EfoXdOM8w706DvCQ41b0zouFwhq1Tdo+2sb3AB8kNv1A:KsIslkQEfoXdOM8w7HvfzoiHRBm4","tlshash":"a8d2ebebaa265c6290532142c3a54d192168ce36fd32aeda33d6d0f506c305d37fafd6","first_seen":"2023-03-07T01:03:16Z","last_seen":"2026-08-04T06:10:37.764808Z","times_seen":1679,"resource_available":true,"data":"LyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KICogUkVWT0xVVElPTiA1LjQuMiBFWFRFTlNJT04gLSBTTElERSBBTklNQVRJT05TDQogKiBAdmVyc2lvbjogMS44ICgxNy4wNS4yMDE3KQ0KICogQHJlcXVpcmVzIGpxdWVyeS50aGVtZXB1bmNoLnJldm9sdXRpb24uanMNCiAqIEBhdXRob3IgVGhlbWVQdW5jaA0KKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLw0KIWZ1bmN0aW9uKGEpeyJ1c2Ugc3RyaWN0Ijt2YXIgYj1qUXVlcnkuZm4ucmV2b2x1dGlvbixjPXthbGlhczoiU2xpZGVBbmltYXRpb25zIE1pbiBKUyIsbmFtZToicmV2b2x1dGlvbi5leHRlbnNpb25zLnNsaWRlYW5pbXMubWluLmpzIixtaW5fY29yZToiNS40LjUiLHZlcnNpb246IjEuOCJ9O2pRdWVyeS5leHRlbmQoITAsYix7YW5pbWF0ZVNsaWRlOmZ1bmN0aW9uKGEsZCxlLGYsaCxpLGosayl7cmV0dXJuInN0b3AiPT09Yi5jb21wYXJlX3ZlcnNpb24oYykuY2hlY2s/azpnKGEsZCxlLGYsaCxpLGosayl9fSk7dmFyIGQ9ZnVuY3Rpb24oYSxjLGQsZSl7dmFyIGY9YSxnPWYuZmluZCgiLmRlZmF1bHRpbWciKSxoPWcuZGF0YSgibWVkaWFmaWx0ZXIiKSxpPWYuZGF0YSgiem9vbXN0YXJ0Iiksaj1mLmRhdGEoInJvdGF0aW9uc3RhcnQiKTt2b2lkIDAhPWcuZGF0YSgiY3Vycm90YXRlIikmJihqPWcuZGF0YSgiY3Vycm90YXRlIikpLHZvaWQgMCE9Zy5kYXRhKCJjdXJzY2FsZSIpJiYiYm94Ij09ZT9pPTEwMCpnLmRhdGEoImN1cnNjYWxlIik6dm9pZCAwIT1nLmRhdGEoImN1cnNjYWxlIikmJihpPWcuZGF0YSgiY3Vyc2NhbGUiKSksYi5zbG90U2l6ZShnLGMpO3ZhciBrPWcuYXR0cigic3JjIiksbD1nLmRhdGEoImJnY29sb3IiKSxtPWMud2lkdGgsbj1jLmhlaWdodCxvPWcuZGF0YSgiZnhvZiIpLHA9MDt2b2lkIDA9PT1sJiYobD1nLmNzcygiYmFja2dyb3VuZENvbG9yIikpLCJvbiI9PWMuYXV0b0hlaWdodCYmKG49Yy5jLmhlaWdodCgpKSx2b2lkIDA9PW8mJihvPTApO3ZhciBxPTAscj1nLmRhdGEoImJnZml0Iikscz1nLmRhdGEoImJncmVwZWF0IiksdD1nLmRhdGEoImJncG9zaXRpb24iKTt2b2lkIDA9PXImJihyPSJjb3ZlciIpLHZvaWQgMD09cyYmKHM9Im5vLXJlcGVhdCIpLHZvaWQgMD09dCYmKHQ9ImNlbnRlciBjZW50ZXIiKTt2YXIgdT0iIjtzd2l0Y2godT12b2lkIDAhPT1sJiZsLmluZGV4T2YoImdyYWRpZW50Iik+PTA/ImJhY2tncm91bmQ6IitsOiJiYWNrZ3JvdW5kLWNvbG9yOiIrbCsiO2JhY2tncm91bmQtaW1hZ2U6dXJsKCIraysiKTtiYWNrZ3JvdW5kLXJlcGVhdDoiK3MrIjtiYWNrZ3JvdW5kLXNpemU6IityKyI7YmFja2dyb3VuZC1wb3NpdGlvbjoiK3QsZSl7Y2FzZSJib3giOmZvcih2YXIgdj0wLHc9MCx4PTA7eDxjLnNsb3RzO3grKyl7dz0wO2Zvcih2YXIgeT0wO3k8Yy5zbG90czt5KyspZi5hcHBlbmQoJzxkaXYgY2xhc3M9InNsb3QiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysocCt3KSsicHg7bGVmdDoiKyhvK3YpKyJweDt3aWR0aDoiK2Muc2xvdHcrInB4O2hlaWdodDoiK2Muc2xvdGgrJ3B4O292ZXJmbG93OmhpZGRlbjsiPjxkaXYgY2xhc3M9InNsb3RzbGlkZSAnK2grJyIgZGF0YS14PSInK3YrJyIgZGF0YS15PSInK3crJyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDowcHg7d2lkdGg6JytjLnNsb3R3KyJweDtoZWlnaHQ6IitjLnNsb3RoKydweDtvdmVyZmxvdzpoaWRkZW47Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysoMC13KSsicHg7bGVmdDoiKygwLXYpKyJweDt3aWR0aDoiK20rInB4O2hlaWdodDoiK24rInB4OyIrdSsnOyI+PC9kaXY+PC9kaXY+PC9kaXY+Jyksdys9Yy5zbG90aCx2b2lkIDAhPWkmJnZvaWQgMCE9aiYmcHVuY2hncy5Ud2VlbkxpdGUuc2V0KGYuZmluZCgiLnNsb3QiKS5sYXN0KCkse3JvdGF0aW9uWjpqfSk7dis9Yy5zbG90d31icmVhaztjYXNlInZlcnRpY2FsIjpjYXNlImhvcml6b250YWwiOmlmKCJob3Jpem9udGFsIj09ZSl7aWYoIWQpdmFyIHE9MC1jLnNsb3R3O2Zvcih2YXIgeT0wO3k8Yy5zbG90czt5KyspZi5hcHBlbmQoJzxkaXYgY2xhc3M9InNsb3QiIHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysoMCtwKSsicHg7bGVmdDoiKyhvK3kqYy5zbG90dykrInB4O292ZXJmbG93OmhpZGRlbjt3aWR0aDoiKyhjLnNsb3R3Ky4zKSsicHg7aGVpZ2h0OiIrbisncHgiPjxkaXYgY2xhc3M9InNsb3RzbGlkZSAnK2grJyIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDowcHg7bGVmdDonK3ErInB4O3dpZHRoOiIrKGMuc2xvdHcrLjYpKyJweDtoZWlnaHQ6IituKydweDtvdmVyZmxvdzpoaWRkZW47Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6JysoMC15KmMuc2xvdHcpKyJweDt3aWR0aDoiK20rInB4O2hlaWdodDoiK24rInB4OyIrdSsnOyI+PC9kaXY+PC9kaXY+PC9kaXY+Jyksdm9pZCAwIT1pJiZ2b2lkIDAhPWomJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChmLmZpbmQoIi5zbG90IikubGFzdCgpLHtyb3RhdGlvblo6an0pfWVsc2V7aWYoIWQpdmFyIHE9MC1jLnNsb3RoO2Zvcih2YXIgeT0wO3k8Yy5zbG90cysyO3krKylmLmFwcGVuZCgnPGRpdiBjbGFzcz0ic2xvdCIgc3R5bGU9InBvc2l0aW9uOmFic29sdXRlO3RvcDonKyhwK3kqYy5zbG90aCkrInB4O2xlZnQ6IitvKyJweDtvdmVyZmxvdzpoaWRkZW47d2lkdGg6IittKyJweDtoZWlnaHQ6IitjLnNsb3RoKydweCI+PGRpdiBjbGFzcz0ic2xvdHNsaWRlICcraCsnIiBzdHlsZT0icG9zaXRpb246YWJzb2x1dGU7dG9wOicrcSsicHg7bGVmdDowcHg7d2lkdGg6IittKyJweDtoZWlnaHQ6IitjLnNsb3RoKydweDtvdmVyZmxvdzpoaWRkZW47Ij48ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6JysoMC15KmMuc2xvdGgpKyJweDtsZWZ0OjBweDt3aWR0aDoiK20rInB4O2hlaWdodDoiK24rInB4OyIrdSsnOyI+PC9kaXY+PC9kaXY+PC9kaXY+Jyksdm9pZCAwIT1pJiZ2b2lkIDAhPWomJnB1bmNoZ3MuVHdlZW5MaXRlLnNldChmLmZpbmQoIi5zbG90IikubGFzdCgpLHtyb3RhdGlvblo6an0pfX19LGU9ZnVuY3Rpb24oYSxiLGMsZCl7ZnVuY3Rpb24geSgpe2pRdWVyeS5lYWNoKHYsZnVuY3Rpb24oYSxjKXtjWzBdIT1iJiZjWzhdIT1ifHwocT1jWzFdLHI9Y1syXSxzPXQpLHQrPTF9KX12YXIgZT1hWzBdLm9wdCxmPXB1bmNoZ3MuUG93ZXIxLmVhc2VJbixnPXB1bmNoZ3MuUG93ZXIxLmVhc2VPdXQsaD1wdW5jaGdzLlBvd2VyMS5lYXNlSW5PdXQsaT1wdW5jaGdzLlBvd2VyMi5lYXNlSW4saj1wdW5jaGdzLlBvd2VyMi5lYXNlT3V0LGs9cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0LG09KHB1bmNoZ3MuUG93ZXIzLmVhc2VJbixwdW5jaGdzLlBvd2VyMy5lYXNlT3V0KSxuPXB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dCxvPVswLDEsMiwzLDQsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDI4LDI5LDMwLDMxLDMyLDMzLDM0LDM1LDM2LDM3LDM4LDM5LDQwLDQxLDQyLDQzLDQ0LDQ1XSxwPVsxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyN10scT0wLHI9MSxzPTAsdD0wLHY9KG5ldyBBcnJheSxbWyJib3hzbGlkZSIsMCwxLDEwLDAsImJveCIsITEsbnVsbCwwLGcsZyw1MDAsNl0sWyJib3hmYWRlIiwxLDAsMTAsMCwiYm94IiwhMSxudWxsLDEsaCxoLDcwMCw1XSxbInNsb3RzbGlkZS1ob3Jpem9udGFsIiwyLDAsMCwyMDAsImhvcml6b250YWwiLCEwLCExLDIsayxrLDcwMCwzXSxbInNsb3RzbGlkZS12ZXJ0aWNhbCIsMywwLDAsMjAwLCJ2ZXJ0aWNhbCIsITAsITEsMyxrLGssNzAwLDNdLFsiY3VydGFpbi0xIiw0LDMsMCwwLCJob3Jpem9udGFsIiwhMCwhMCw0LGcsZywzMDAsNV0sWyJjdXJ0YWluLTIiLDUsMywwLDAsImhvcml6b250YWwiLCEwLCEwLDUsZyxnLDMwMCw1XSxbImN1cnRhaW4tMyIsNiwzLDI1LDAsImhvcml6b250YWwiLCEwLCEwLDYsZyxnLDMwMCw1XSxbInNsb3R6b29tLWhvcml6b250YWwiLDcsMCwwLDQwMCwiaG9yaXpvbnRhbCIsITAsITAsNyxnLGcsMzAwLDddLFsic2xvdHpvb20tdmVydGljYWwiLDgsMCwwLDAsInZlcnRpY2FsIiwhMCwhMCw4LGosaiw1MDAsOF0sWyJzbG90ZmFkZS1ob3Jpem9udGFsIiw5LDAsMCwxZTMsImhvcml6b250YWwiLCEwLG51bGwsOSxqLGosMmUzLDEwXSxbInNsb3RmYWRlLXZlcnRpY2FsIiwxMCwwLDAsMWUzLCJ2ZXJ0aWNhbCIsITAsbnVsbCwxMCxqLGosMmUzLDEwXSxbImZhZGUiLDExLDAsMSwzMDAsImhvcml6b250YWwiLCEwLG51bGwsMTEsayxrLDFlMywxXSxbImNyb3NzZmFkZSIsMTEsMSwxLDMwMCwiaG9yaXpvbnRhbCIsITAsbnVsbCwxMSxrLGssMWUzLDFdLFsiZmFkZXRocm91Z2hkYXJrIiwxMSwyLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJmYWRldGhyb3VnaGxpZ2h0IiwxMSwzLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJmYWRldGhyb3VnaHRyYW5zcGFyZW50IiwxMSw0LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJzbGlkZWxlZnQiLDEyLDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxMixuLG4sMWUzLDFdLFsic2xpZGV1cCIsMTMsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDEzLG4sbiwxZTMsMV0sWyJzbGlkZWRvd24iLDE0LDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNCxuLG4sMWUzLDFdLFsic2xpZGVyaWdodCIsMTUsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDE1LG4sbiwxZTMsMV0sWyJzbGlkZW92ZXJsZWZ0IiwxMiw3LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTIsbixuLDFlMywxXSxbInNsaWRlb3ZlcnVwIiwxMyw3LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTMsbixuLDFlMywxXSxbInNsaWRlb3ZlcmRvd24iLDE0LDcsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNCxuLG4sMWUzLDFdLFsic2xpZGVvdmVycmlnaHQiLDE1LDcsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNSxuLG4sMWUzLDFdLFsic2xpZGVyZW1vdmVsZWZ0IiwxMiw4LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTIsbixuLDFlMywxXSxbInNsaWRlcmVtb3ZldXAiLDEzLDgsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxMyxuLG4sMWUzLDFdLFsic2xpZGVyZW1vdmVkb3duIiwxNCw4LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMTQsbixuLDFlMywxXSxbInNsaWRlcmVtb3ZlcmlnaHQiLDE1LDgsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwxNSxuLG4sMWUzLDFdLFsicGFwZXJjdXQiLDE2LDAsMCw2MDAsIiIsbnVsbCxudWxsLDE2LG4sbiwxZTMsMl0sWyIzZGN1cnRhaW4taG9yaXpvbnRhbCIsMTcsMCwyMCwxMDAsInZlcnRpY2FsIiwhMSwhMCwxNyxoLGgsNTAwLDddLFsiM2RjdXJ0YWluLXZlcnRpY2FsIiwxOCwwLDEwLDEwMCwiaG9yaXpvbnRhbCIsITEsITAsMTgsaCxoLDUwMCw1XSxbImN1YmljIiwxOSwwLDIwLDYwMCwiaG9yaXpvbnRhbCIsITEsITAsMTksbixuLDUwMCwxXSxbImN1YmUiLDE5LDAsMjAsNjAwLCJob3Jpem9udGFsIiwhMSwhMCwyMCxuLG4sNTAwLDFdLFsiZmx5aW4iLDIwLDAsNCw2MDAsInZlcnRpY2FsIiwhMSwhMCwyMSxtLG4sNTAwLDFdLFsidHVybm9mZiIsMjEsMCwxLDUwMCwiaG9yaXpvbnRhbCIsITEsITAsMjIsbixuLDUwMCwxXSxbImluY3ViZSIsMjIsMCwyMCwyMDAsImhvcml6b250YWwiLCExLCEwLDIzLGssayw1MDAsMV0sWyJjdWJpYy1ob3Jpem9udGFsIiwyMywwLDIwLDUwMCwidmVydGljYWwiLCExLCEwLDI0LGosaiw1MDAsMV0sWyJjdWJlLWhvcml6b250YWwiLDIzLDAsMjAsNTAwLCJ2ZXJ0aWNhbCIsITEsITAsMjUsaixqLDUwMCwxXSxbImluY3ViZS1ob3Jpem9udGFsIiwyNCwwLDIwLDUwMCwidmVydGljYWwiLCExLCEwLDI2LGssayw1MDAsMV0sWyJ0dXJub2ZmLXZlcnRpY2FsIiwyNSwwLDEsMjAwLCJob3Jpem9udGFsIiwhMSwhMCwyNyxrLGssNTAwLDFdLFsiZmFkZWZyb21yaWdodCIsMTIsMSwxLDAsImhvcml6b250YWwiLCEwLCEwLDI4LGssaywxZTMsMV0sWyJmYWRlZnJvbWxlZnQiLDE1LDEsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwyOSxrLGssMWUzLDFdLFsiZmFkZWZyb210b3AiLDE0LDEsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMCxrLGssMWUzLDFdLFsiZmFkZWZyb21ib3R0b20iLDEzLDEsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMSxrLGssMWUzLDFdLFsiZmFkZXRvbGVmdGZhZGVmcm9tcmlnaHQiLDEyLDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMixrLGssMWUzLDFdLFsiZmFkZXRvcmlnaHRmYWRlZnJvbWxlZnQiLDE1LDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzMyxrLGssMWUzLDFdLFsiZmFkZXRvYm90dG9tZmFkZWZyb210b3AiLDE0LDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzNCxrLGssMWUzLDFdLFsiZmFkZXRvdG9wZmFkZWZyb21ib3R0b20iLDEzLDIsMSwwLCJob3Jpem9udGFsIiwhMCwhMCwzNSxrLGssMWUzLDFdLFsicGFyYWxsYXh0b3JpZ2h0IiwxNSwzLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsMzYsayxpLDE1MDAsMV0sWyJwYXJhbGxheHRvbGVmdCIsMTIsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDM3LGssaSwxNTAwLDFdLFsicGFyYWxsYXh0b3RvcCIsMTQsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDM4LGssZiwxNTAwLDFdLFsicGFyYWxsYXh0b2JvdHRvbSIsMTMsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDM5LGssZiwxNTAwLDFdLFsic2NhbGVkb3duZnJvbXJpZ2h0IiwxMiw0LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDAsayxpLDFlMywxXSxbInNjYWxlZG93bmZyb21sZWZ0IiwxNSw0LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDEsayxpLDFlMywxXSxbInNjYWxlZG93bmZyb210b3AiLDE0LDQsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw0MixrLGksMWUzLDFdLFsic2NhbGVkb3duZnJvbWJvdHRvbSIsMTMsNCwxLDAsImhvcml6b250YWwiLCEwLCEwLDQzLGssaSwxZTMsMV0sWyJ6b29tb3V0IiwxMyw1LDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDQsayxpLDFlMywxXSxbInpvb21pbiIsMTMsNiwxLDAsImhvcml6b250YWwiLCEwLCEwLDQ1LGssaSwxZTMsMV0sWyJzbGlkaW5nb3ZlcmxheXVwIiwyNywwLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDcsaCxnLDJlMywxXSxbInNsaWRpbmdvdmVybGF5ZG93biIsMjgsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDQ4LGgsZywyZTMsMV0sWyJzbGlkaW5nb3ZlcmxheXJpZ2h0IiwzMCwwLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNDksaCxnLDJlMywxXSxbInNsaWRpbmdvdmVybGF5bGVmdCIsMjksMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDUwLGgsZywyZTMsMV0sWyJwYXJhbGxheGNpcmNsZXN1cCIsMzEsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDUxLGssZiwxNTAwLDFdLFsicGFyYWxsYXhjaXJjbGVzZG93biIsMzIsMCwxLDAsImhvcml6b250YWwiLCEwLCEwLDUyLGssZiwxNTAwLDFdLFsicGFyYWxsYXhjaXJjbGVzcmlnaHQiLDMzLDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw1MyxrLGYsMTUwMCwxXSxbInBhcmFsbGF4Y2lyY2xlc2xlZnQiLDM0LDAsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw1NCxrLGYsMTUwMCwxXSxbIm5vdHJhbnNpdGlvbiIsMjYsMCwxLDAsImhvcml6b250YWwiLCEwLG51bGwsNDYsayxpLDFlMywxXSxbInBhcmFsbGF4cmlnaHQiLDE1LDMsMSwwLCJob3Jpem9udGFsIiwhMCwhMCw1NSxrLGksMTUwMCwxXSxbInBhcmFsbGF4bGVmdCIsMTIsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDU2LGssaSwxNTAwLDFdLFsicGFyYWxsYXh1cCIsMTQsMywxLDAsImhvcml6b250YWwiLCEwLCEwLDU3LGssZiwxNTAwLDFdLFsicGFyYWxsYXhkb3duIiwxMywzLDEsMCwiaG9yaXpvbnRhbCIsITAsITAsNTgsayxmLDE1MDAsMV0sWyJncmF5c2NhbGUiLDExLDUsMSwzMDAsImhvcml6b250YWwiLCEwLG51bGwsMTEsayxrLDFlMywxXSxbImdyYXlzY2FsZWNyb3NzIiwxMSw2LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJicmlnaHRuZXNzIiwxMSw3LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJicmlnaHRuZXNzY3Jvc3MiLDExLDgsMSwzMDAsImhvcml6b250YWwiLCEwLG51bGwsMTEsayxrLDFlMywxXSxbImJsdXJsaWdodCIsMTEsOSwxLDMwMCwiaG9yaXpvbnRhbCIsITAsbnVsbCwxMSxrLGssMWUzLDFdLFsiYmx1cmxpZ2h0Y3Jvc3MiLDExLDEwLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJibHVyc3Ryb25nIiwxMSw5LDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV0sWyJibHVyc3Ryb25nY3Jvc3MiLDExLDEwLDEsMzAwLCJob3Jpem9udGFsIiwhMCxudWxsLDExLGssaywxZTMsMV1dKTtlLmR1cmluZ3NsaWRlY2hhbmdlPSEwLGUudGVzdGFuaW1zPSExLDE9PWUudGVzdGFuaW1zJiYoZS5uZXh0dGVzdHRyYW5zZm9ybT12b2lkIDA9PT1lLm5leHR0ZXN0dHJhbnNmb3JtPzM0OmUubmV4dHRlc3R0cmFuc2Zvcm0rMSxlLm5leHR0ZXN0dHJhbnNmb3JtPWUubmV4dHRlc3R0cmFuc2Zvcm0+NzA/MDplLm5leHR0ZXN0dHJhbnNmb3JtLGI9dltlLm5leHR0ZXN0dHJhbnNmb3JtXVswXSxjb25zb2xlLmxvZyhiKyIgICIrZS5uZXh0dGVzdHRyYW5zZm9ybSsiICAiK3ZbZS5uZXh0dGVzdHRyYW5zZm9ybV1bMV0rIiAgIit2W2UubmV4dHRlc3R0cmFuc2Zvcm1dWzJdKSksalF1ZXJ5LmVhY2goWyJwYXJhbGxheGNpcmNsZXMiLCJzbGlkaW5nb3ZlcmxheSIsInNsaWRlIiwic2xpZGVvdmVyIiwic2xpZGVyZW1vdmUiLCJwYXJhbGxheCIsInBhcnJhbGF4dG8iXSxmdW5jdGlvbihhLGMpe2I9PWMrImhvcml6b250YWwiJiYoYj0xIT1kP2MrImxlZnQiOmMrInJpZ2h0IiksYj09YysidmVydGljYWwiJiYoYj0xIT1kP2MrInVwIjpjKyJkb3duIil9KSwicmFuZG9tIj09YiYmKGI9TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKnYubGVuZ3RoLTEpKT52Lmxlbmd0aC0xJiYoYj12Lmxlbmd0aC0xKSwicmFuZG9tLXN0YXRpYyI9PWImJihiPU1hdGgucm91bmQoTWF0aC5yYW5kb20oKSpvLmxlbmd0aC0xKSxiPm8ubGVuZ3RoLTEmJihiPW8ubGVuZ3RoLTEpLGI9b1tiXSksInJhbmRvbS1wcmVtaXVtIj09YiYmKGI9TWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpKnAubGVuZ3RoLTEpLGI+cC5sZW5ndGgtMSYmKGI9cC5sZW5ndGgtMSksYj1wW2JdKTt2YXIgdz1bMTIsMTMsMTQsMTUsMTYsMjgsMjksMzAsMzEsMzIsMzMsMzQsMzUsMzYsMzcsMzgsMzksNDAsNDEsNDIsNDMsNDQsNDVdO2lmKDE9PWUuaXNKb29tbGEmJnZvaWQgMCE9d2luZG93Lk1vb1Rvb2xzJiYtMSE9dy5pbmRleE9mKGIpKXt2YXIgeD1NYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkqKHAubGVuZ3RoLTIpKSsxO3g+cC5sZW5ndGgtMSYmKHg9cC5sZW5ndGgtMSksMD09eCYmKHg9MSksYj1wW3hdfXkoKSxxPjMwJiYocT0zMCkscTwwJiYocT0wKTt2YXIgej1uZXcgT2JqZWN0O3JldHVybiB6Lm5leHR0cmFucz1xLHouU1RBPXZbc10sei5zcGVjaWFscz1yLHp9LGY9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdm9pZCAwPT1ifHxqUXVlcnkuaXNOdW1lcmljKGEpP2E6dm9pZCAwPT1hP2E6YS5zcGxpdCgiLCIpW2JdfSxnPWZ1bmN0aW9uKGEsYixjLGcsaCxpLGosayl7ZnVuY3Rpb24gVihhLGIsYyxkLGUpe3ZhciBmPWEuZmluZCgiLnNsb3QiKSxnPTYsaD1bMiwxLjIsLjksLjcsLjU1LC40Ml0saj1hLndpZHRoKCksbD1hLmhlaWdodCgpO2Yud3JhcCgnPGRpdiBjbGFzcz0ic2xvdC1jaXJjbGUtd3JhcHBlciIgc3R5bGU9Im92ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjphYnNvbHV0ZTtib3JkZXI6MXB4IHNvbGlkICNmZmYiPjwvZGl2PicpO2Zvcih2YXIgbj0wO248ZztuKyspZi5wYXJlbnQoKS5jbG9uZSghMSkuYXBwZW5kVG8oaSk7YS5maW5kKCIuc2xvdC1jaXJjbGUtd3JhcHBlciIpLmVhY2goZnVuY3Rpb24oYSl7aWYoYTxnKXt2YXIgZD1qUXVlcnkodGhpcyksZj1kLmZpbmQoIi5zbG90IiksaT1qPmw/aFthXSpqOmhbYV0qbCxtPWksbj1tLzItai8yKzAsbz1pLzItbC8yKzAscD0wIT1hPyI1MCUiOiIwIixxPWwvMi1pLzIscj0zMz09Yz9qLzItbS8yOjM0PT1jP2otbTpqLzItbS8yLHM9e3NjYWxlOjEsdHJhbnNmb3JtT3JpZ286IjUwJSA1MCUiLHdpZHRoOm0rInB4IixoZWlnaHQ6aSsicHgiLHRvcDpxKyJweCIsbGVmdDpyKyJweCIsYm9yZGVyUmFkaXVzOnB9LHQ9e3NjYWxlOjEsdG9wOmwvMi1pLzIsbGVmdDpqLzItbS8yLGVhc2U6ZX0sdT1vLHY9MzM9PWM/bjozND09Yz9uK2ovMjpuLHc9e3dpZHRoOmosaGVpZ2h0OmwsYXV0b0FscGhhOjEsdG9wOnUrInB4Iixwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6disicHgifSx4PXt0b3A6bysicHgiLGxlZnQ6bisicHgiLGVhc2U6ZX0seT1iLHo9MDtrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oZCx5LHMsdCkseiksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGYseSx3LHgpLHopLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhkLC4wMDEse2F1dG9BbHBoYTowfSx7YXV0b0FscGhhOjF9KSwwKX19KX12YXIgbD1jWzBdLm9wdCxtPWguaW5kZXgoKSxuPWcuaW5kZXgoKSxvPW48bT8xOjA7ImFycm93Ij09bC5zY19pbmRpY2F0b3ImJihvPWwuc2NfaW5kaWNhdG9yX2Rpcik7dmFyIHA9ZShjLGIsaSxvKSxxPXAuU1RBLHI9cC5zcGVjaWFscyxhPXAubmV4dHRyYW5zOyJvbiI9PWkuZGF0YSgia2VuYnVybnMiKSYmKGE9MTEpO3ZhciBzPWcuZGF0YSgibmV4dHRyYW5zaWQiKXx8MCx0PWYoZy5kYXRhKCJtYXN0ZXJzcGVlZCIpLHMpO3Q9ImRlZmF1bHQiPT09dD9xWzExXToicmFuZG9tIj09PXQ/TWF0aC5yb3VuZCgxZTMqTWF0aC5yYW5kb20oKSszMDApOnZvaWQgMCE9dD9wYXJzZUludCh0LDApOnFbMTFdLHQ9dD5sLmRlbGF5P2wuZGVsYXk6dCx0Kz1xWzRdLGwuc2xvdHM9ZihnLmRhdGEoInNsb3RhbW91bnQiKSxzKSxsLnNsb3RzPXZvaWQgMD09bC5zbG90c3x8ImRlZmF1bHQiPT1sLnNsb3RzP3FbMTJdOiJyYW5kb20iPT1sLnNsb3RzP01hdGgucm91bmQoMTIqTWF0aC5yYW5kb20oKSs0KTpsLnNsb3RzLGwuc2xvdHM9bC5zbG90czwxPyJib3hzbGlkZSI9PWI/TWF0aC5yb3VuZCg2Kk1hdGgucmFuZG9tKCkrMyk6ImZseWluIj09Yj9NYXRoLnJvdW5kKDQqTWF0aC5yYW5kb20oKSsxKTpsLnNsb3RzOmwuc2xvdHMsbC5zbG90cz0oND09YXx8NT09YXx8Nj09YSkmJmwuc2xvdHM8Mz8zOmwuc2xvdHMsbC5zbG90cz0wIT1xWzNdP01hdGgubWluKGwuc2xvdHMscVszXSk6bC5zbG90cyxsLnNsb3RzPTk9PWE/bC53aWR0aC9sLnNsb3RzOjEwPT1hP2wuaGVpZ2h0L2wuc2xvdHM6bC5zbG90cyxsLnJvdGF0ZT1mKGcuZGF0YSgicm90YXRlIikscyksbC5yb3RhdGU9dm9pZCAwPT1sLnJvdGF0ZXx8ImRlZmF1bHQiPT1sLnJvdGF0ZT8wOjk5OT09bC5yb3RhdGV8fCJyYW5kb20iPT1sLnJvdGF0ZT9NYXRoLnJvdW5kKDM2MCpNYXRoLnJhbmRvbSgpKTpsLnJvdGF0ZSxsLnJvdGF0ZT1sLmllfHxsLmllOT8wOmwucm90YXRlLDExIT1hJiYobnVsbCE9cVs3XSYmZChqLGwscVs3XSxxWzVdKSxudWxsIT1xWzZdJiZkKGksbCxxWzZdLHFbNV0pKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5maW5kKCIuZGVmYXVsdHZpZCIpLHt5OjAseDowLHRvcDowLGxlZnQ6MCxzY2FsZToxfSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGouZmluZCgiLmRlZmF1bHR2aWQiKSx7eTowLHg6MCx0b3A6MCxsZWZ0OjAsc2NhbGU6MX0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLmZpbmQoIi5kZWZhdWx0dmlkIikse3k6IiswJSIseDoiKzAlIn0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLmZpbmQoIi5kZWZhdWx0dmlkIikse3k6IiswJSIseDoiKzAlIn0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLHthdXRvQWxwaGE6MSx5OiIrMCUiLHg6IiswJSJ9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaix7YXV0b0FscGhhOjEseToiKzAlIix4OiIrMCUifSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkucGFyZW50KCkse2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQifSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGoucGFyZW50KCkse2JhY2tncm91bmRDb2xvcjoidHJhbnNwYXJlbnQifSksMCk7dmFyIHU9ZihnLmRhdGEoImVhc2VpbiIpLHMpLHY9ZihnLmRhdGEoImVhc2VvdXQiKSxzKTtpZih1PSJkZWZhdWx0Ij09PXU/cVs5XXx8cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0OnV8fHFbOV18fHB1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dCx2PSJkZWZhdWx0Ij09PXY/cVsxMF18fHB1bmNoZ3MuUG93ZXIyLmVhc2VJbk91dDp2fHxxWzEwXXx8cHVuY2hncy5Qb3dlcjIuZWFzZUluT3V0LDA9PWEpe3ZhciB3PU1hdGguY2VpbChsLmhlaWdodC9sLnNsb3RoKSx4PTA7aS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihhKXt2YXIgYj1qUXVlcnkodGhpcyk7eCs9MSx4PT13JiYoeD0wKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGIsdC82MDAse29wYWNpdHk6MCx0b3A6MC1sLnNsb3RoLGxlZnQ6MC1sLnNsb3R3LHJvdGF0aW9uOmwucm90YXRlLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dX0pLCgxNSphKzMwKngpLzE1MDApfSl9aWYoMT09YSl7dmFyIHksej0wO2kuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9TWF0aC5yYW5kb20oKSp0KzMwMCxkPTUwMCpNYXRoLnJhbmRvbSgpKzIwMDtjK2Q+eSYmKHk9ZCtkLHo9YSksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbShiLGMvMWUzLHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixyb3RhdGlvbjpsLnJvdGF0ZSxlYXNlOnV9KSxkLzFlMyl9KX1pZigyPT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ai5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLHQvMWUzLHtsZWZ0Omwuc2xvdHcsZWFzZTp1LGZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOjAtbC5yb3RhdGV9KSwwKSxrLmFkZChBLDApfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGEsdC8xZTMse2xlZnQ6MC1sLnNsb3R3LGVhc2U6dSxmb3JjZTNEOiJhdXRvIixyb3RhdGlvbjpsLnJvdGF0ZX0pLDApLGsuYWRkKEEsMCl9KX1pZigzPT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ai5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbigpe3ZhciBhPWpRdWVyeSh0aGlzKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhhLHQvMWUzLHt0b3A6bC5zbG90aCxlYXNlOnUscm90YXRpb246bC5yb3RhdGUsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSksMCksay5hZGQoQSwwKX0pLGkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcyk7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbShhLHQvMWUzLHt0b3A6MC1sLnNsb3RoLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dixmb3JjZTNEOiJhdXRvIix0cmFuc2Zvcm1QZXJzcGVjdGl2ZTo2MDB9KSwwKSxrLmFkZChBLDApfSl9aWYoND09YXx8NT09YSl7c2V0VGltZW91dChmdW5jdGlvbigpe2ouZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MH0pfSwxMDApO3ZhciBCPXQvMWUzLEE9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO2ouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9alF1ZXJ5KHRoaXMpLGQ9YipCL2wuc2xvdHM7NT09YSYmKGQ9KGwuc2xvdHMtYi0xKSpCL2wuc2xvdHMvMS41KSxBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhjLDMqQix7dHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLGZvcmNlM0Q6ImF1dG8iLHRvcDowK2wuaGVpZ2h0LG9wYWNpdHk6LjUscm90YXRpb246bC5yb3RhdGUsZWFzZTp1LGRlbGF5OmR9KSwwKSxrLmFkZChBLDApfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihiKXt2YXIgYz1qUXVlcnkodGhpcyksZD1iKkIvbC5zbG90czs1PT1hJiYoZD0obC5zbG90cy1iLTEpKkIvbC5zbG90cy8xLjUpLEEuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb20oYywzKkIse3RvcDowLWwuaGVpZ2h0LG9wYWNpdHk6LjUscm90YXRpb246bC5yb3RhdGUsZm9yY2UzRDoiYXV0byIsZWFzZTpwdW5jaGdzLmVvLGRlbGF5OmR9KSwwKSxrLmFkZChBLDApfSl9aWYoNj09YSl7bC5zbG90czwyJiYobC5zbG90cz0yKSxsLnNsb3RzJTImJihsLnNsb3RzPWwuc2xvdHMrMSk7dmFyIEE9bmV3IHB1bmNoZ3MuVGltZWxpbmVMaXRlO3NldFRpbWVvdXQoZnVuY3Rpb24oKXtqLmZpbmQoIi5kZWZhdWx0aW1nIikuY3NzKHtvcGFjaXR5OjB9KX0sMTAwKSxqLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtpZihhKzE8bC5zbG90cy8yKXZhciBjPTkwKihhKzIpO2Vsc2UgdmFyIGM9OTAqKDIrbC5zbG90cy1hKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhiLCh0K2MpLzFlMyx7dG9wOjArbC5oZWlnaHQsb3BhY2l0eToxLGZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dX0pLDApLGsuYWRkKEEsMCl9KSxpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtpZihhKzE8bC5zbG90cy8yKXZhciBjPTkwKihhKzIpO2Vsc2UgdmFyIGM9OTAqKDIrbC5zbG90cy1hKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGIsKHQrYykvMWUzLHt0b3A6MC1sLmhlaWdodCxvcGFjaXR5OjEsZm9yY2UzRDoiYXV0byIscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCksay5hZGQoQSwwKX0pfWlmKDc9PWEpe3QqPTIsdD5sLmRlbGF5JiYodD1sLmRlbGF5KTt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7c2V0VGltZW91dChmdW5jdGlvbigpe2ouZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MH0pfSwxMDApLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oKXt2YXIgYT1qUXVlcnkodGhpcykuZmluZCgiZGl2Iik7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oYSx0LzFlMyx7bGVmdDowLWwuc2xvdHcvMisicHgiLHRvcDowLWwuaGVpZ2h0LzIrInB4Iix3aWR0aDoyKmwuc2xvdHcrInB4IixoZWlnaHQ6MipsLmhlaWdodCsicHgiLG9wYWNpdHk6MCxyb3RhdGlvbjpsLnJvdGF0ZSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxrLmFkZChBLDApfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihhKXt2YXIgYj1qUXVlcnkodGhpcykuZmluZCgiZGl2Iik7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsdC8xZTMse2xlZnQ6MCx0b3A6MCxvcGFjaXR5OjAsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSx7bGVmdDowLWEqbC5zbG90dysicHgiLGVhc2U6dixmb3JjZTNEOiJhdXRvIix0b3A6IjBweCIsd2lkdGg6bC53aWR0aCxoZWlnaHQ6bC5oZWlnaHQsb3BhY2l0eToxLHJvdGF0aW9uOjAsZGVsYXk6LjF9KSwwKSxrLmFkZChBLDApfSl9aWYoOD09YSl7dCo9Myx0PmwuZGVsYXkmJih0PWwuZGVsYXkpO3ZhciBBPW5ldyBwdW5jaGdzLlRpbWVsaW5lTGl0ZTtqLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKCl7dmFyIGE9alF1ZXJ5KHRoaXMpLmZpbmQoImRpdiIpO0EuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnRvKGEsdC8xZTMse2xlZnQ6MC1sLndpZHRoLzIrInB4Iix0b3A6MC1sLnNsb3RoLzIrInB4Iix3aWR0aDoyKmwud2lkdGgrInB4IixoZWlnaHQ6MipsLnNsb3RoKyJweCIsZm9yY2UzRDoiYXV0byIsZWFzZTp1LG9wYWNpdHk6MCxyb3RhdGlvbjpsLnJvdGF0ZX0pLDApLGsuYWRkKEEsMCl9KSxpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKS5maW5kKCJkaXYiKTtBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzFlMyx7bGVmdDowLHRvcDowLG9wYWNpdHk6MCxmb3JjZTNEOiJhdXRvIn0se2xlZnQ6IjBweCIsdG9wOjAtYSpsLnNsb3RoKyJweCIsd2lkdGg6aS5maW5kKCIuZGVmYXVsdGltZyIpLmRhdGEoIm5ld3ciKSsicHgiLGhlaWdodDppLmZpbmQoIi5kZWZhdWx0aW1nIikuZGF0YSgibmV3aCIpKyJweCIsb3BhY2l0eToxLGVhc2U6dixyb3RhdGlvbjowfSksMCksay5hZGQoQSwwKX0pfWlmKDk9PWF8fDEwPT1hKXt2YXIgRD0wO2kuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO0QrKyxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzJlMyx7YXV0b0FscGhhOjAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSx7YXV0b0FscGhhOjEsZWFzZTp1LGRlbGF5OmEqbC5zbG90cy8xMDAvMmUzfSksMCl9KX1pZigyNz09YXx8Mjg9PWF8fDI5PT1hfHwzMD09YSl7dmFyIEU9aS5maW5kKCIuc2xvdCIpLEY9Mjc9PWF8fDI4PT1hPzE6MixHPTI3PT1hfHwyOT09YT8iLTEwMCUiOiIrMTAwJSIsSD0yNz09YXx8Mjk9PWE/IisxMDAlIjoiLTEwMCUiLEk9Mjc9PWF8fDI5PT1hPyItODAlIjoiODAlIixKPTI3PT1hfHwyOT09YT8iKzgwJSI6Ii04MCUiLEs9Mjc9PWF8fDI5PT1hPyIrMTAlIjoiLTEwJSIsTD17b3ZlcndyaXRlOiJhbGwifSxNPXthdXRvQWxwaGE6MCx6SW5kZXg6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9LE49e3Bvc2l0aW9uOiJpbmhlcml0IixhdXRvQWxwaGE6MCxvdmVyd3JpdGU6ImFsbCIsekluZGV4OjF9LE89e2F1dG9BbHBoYToxLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dn0sUD17b3ZlcndyaXRlOiJhbGwiLHpJbmRleDoyLG9wYWNpdHk6MSxhdXRvQWxwaGE6MX0sUT17YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsb3ZlcndyaXRlOiJhbGwiLGVhc2U6dX0sUj17b3ZlcndyaXRlOiJhbGwiLHpJbmRleDoyLGF1dG9BbHBoYToxfSxTPXthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9LFQ9MT09Rj8ieSI6IngiO0xbVF09IjBweCIsTVtUXT1HLE5bVF09SyxPW1RdPSIwJSIsUFtUXT1ILFFbVF09RyxSW1RdPUksU1tUXT1KLEUuYXBwZW5kKCc8c3BhbiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuNik7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MHB4O2xlZnQ6MHB4O2Rpc3BsYXk6YmxvY2s7ei1pbmRleDoyIj48L3NwYW4+Jyksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGosdC8xZTMsTCxNKSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaS5maW5kKCIuZGVmYXVsdGltZyIpLHQvMmUzLE4sTyksdC8yZTMpLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhFLHQvMWUzLFAsUSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKEUuZmluZCgiLnNsb3RzbGlkZSBkaXYiKSx0LzFlMyxSLFMpLDApfWlmKDMxPT1hfHwzMj09YXx8MzM9PWF8fDM0PT1hKXt0PTZlMyx1PXB1bmNoZ3MuUG93ZXIzLmVhc2VJbk91dDt2YXIgVT10LzFlMzttYXM9VS1VLzUsX250PWEsZnk9MzE9PV9udD8iKzEwMCUiOjMyPT1fbnQ/Ii0xMDAlIjoiMCUiLGZ4PTMzPT1fbnQ/IisxMDAlIjozND09X250PyItMTAwJSI6IjAlIix0eT0zMT09X250PyItMTAwJSI6MzI9PV9udD8iKzEwMCUiOiIwJSIsdHg9MzM9PV9udD8iLTEwMCUiOjM0PT1fbnQ/IisxMDAlIjoiMCUiLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhqLFUtLjIqVSx7eTowLHg6MH0se3k6dHkseDp0eCxlYXNlOnZ9KSwuMipVKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSxVLHt5OmZ5LHg6Znh9LHt5OiIwJSIseDoiMCUiLGVhc2U6dX0pLDApLGkuZmluZCgiLnNsb3QiKS5yZW1vdmUoKSxpLmZpbmQoIi5kZWZhdWx0aW1nIikuY2xvbmUoKS5hcHBlbmRUbyhpKS5hZGRDbGFzcygic2xvdCIpLFYoaSxVLF9udCwiaW4iLHUpfWlmKDExPT1hKXtyPjEyJiYocj0wKTt2YXIgRD0wLFc9Mj09cj8iIzAwMDAwMCI6Mz09cj8iI2ZmZmZmZiI6InRyYW5zcGFyZW50Ijtzd2l0Y2gocil7Y2FzZSAwOmsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhpLHQvMWUzLHthdXRvQWxwaGE6MH0se2F1dG9BbHBoYToxLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dX0pLDApO2JyZWFrO2Nhc2UgMTprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSx0LzFlMyx7YXV0b0FscGhhOjB9LHthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaix0LzFlMyx7YXV0b0FscGhhOjF9LHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKTticmVhaztjYXNlIDI6Y2FzZSAzOmNhc2UgNDprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5wYXJlbnQoKSx7YmFja2dyb3VuZENvbG9yOlcsZm9yY2UzRDoiYXV0byJ9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5wYXJlbnQoKSx7YmFja2dyb3VuZENvbG9yOiJ0cmFuc3BhcmVudCIsZm9yY2UzRDoiYXV0byJ9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhqLHQvMmUzLHthdXRvQWxwaGE6MCxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oaSx0LzJlMyx7YXV0b0FscGhhOjB9LHthdXRvQWxwaGE6MSxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSx0LzJlMyk7YnJlYWs7Y2FzZSA1OmNhc2UgNjpjYXNlIDc6Y2FzZSA4OmNhc2UgOTpjYXNlIDEwOmNhc2UgMTE6Y2FzZSAxMjp2YXIgWD1qUXVlcnkuaW5BcnJheShyLFs5LDEwXSk+PTA/NTpqUXVlcnkuaW5BcnJheShyLFsxMSwxMl0pPj0wPzEwOjAsWT1qUXVlcnkuaW5BcnJheShyLFs1LDYsNyw4XSk+PTA/MTAwOjAsWj1qUXVlcnkuaW5BcnJheShyLFs3LDhdKT49MD8zMDA6MCwkPSJibHVyKCIrWCsicHgpIGdyYXlzY2FsZSgiK1krIiUpIGJyaWdodG5lc3MoIitaKyIlKSIsXz0iYmx1cigwcHgpIGdyYXlzY2FsZSgwJSkgYnJpZ2h0bmVzcygxMDAlKSI7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGksdC8xZTMse2F1dG9BbHBoYTowLGZpbHRlcjokLCItd2Via2l0LWZpbHRlciI6JH0se2F1dG9BbHBoYToxLGZpbHRlcjpfLCItd2Via2l0LWZpbHRlciI6Xyxmb3JjZTNEOiJhdXRvIixlYXNlOnV9KSwwKSxqUXVlcnkuaW5BcnJheShyLFs2LDgsMTBdKT49MCYmay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGosdC8xZTMse2F1dG9BbHBoYToxLGZpbHRlcjpfLCItd2Via2l0LWZpbHRlciI6X30se2F1dG9BbHBoYTowLGZvcmNlM0Q6ImF1dG8iLGVhc2U6dSxmaWx0ZXI6JCwiLXdlYmtpdC1maWx0ZXIiOiR9KSwwKX1rLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaS5maW5kKCIuZGVmYXVsdGltZyIpLHthdXRvQWxwaGE6MX0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChqLmZpbmQoImRlZmF1bHRpbWciKSx7YXV0b0FscGhhOjF9KSwwKX1pZigyNj09YSl7dmFyIEQ9MDt0PTAsay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGksdC8xZTMse2F1dG9BbHBoYTowfSx7YXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsZWFzZTp1fSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oaix0LzFlMyx7YXV0b0FscGhhOjAsZm9yY2UzRDoiYXV0byIsZWFzZTp1fSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGkuZmluZCgiLmRlZmF1bHRpbWciKSx7YXV0b0FscGhhOjF9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5maW5kKCJkZWZhdWx0aW1nIikse2F1dG9BbHBoYToxfSksMCl9aWYoMTI9PWF8fDEzPT1hfHwxND09YXx8MTU9PWEpe3Q9dCx0PmwuZGVsYXkmJih0PWwuZGVsYXkpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoai5maW5kKCIuZGVmYXVsdGltZyIpLHthdXRvQWxwaGE6MH0pfSwxMDApO3ZhciBhYT1sLndpZHRoLGJhPWwuaGVpZ2h0LGNhPWkuZmluZCgiLnNsb3RzbGlkZSwgLmRlZmF1bHR2aWQiKSxkYT0wLGVhPTAsZmE9MSxnYT0xLGhhPTEsaWE9dC8xZTMsamE9aWE7ImZ1bGx3aWR0aCIhPWwuc2xpZGVyTGF5b3V0JiYiZnVsbHNjcmVlbiIhPWwuc2xpZGVyTGF5b3V0fHwoYWE9Y2Eud2lkdGgoKSxiYT1jYS5oZWlnaHQoKSksMTI9PWE/ZGE9YWE6MTU9PWE/ZGE9MC1hYToxMz09YT9lYT1iYToxND09YSYmKGVhPTAtYmEpLDE9PXImJihmYT0wKSwyPT1yJiYoZmE9MCksMz09ciYmKGlhPXQvMTMwMCksNCE9ciYmNSE9cnx8KGdhPS42KSw2PT1yJiYoZ2E9MS40KSw1IT1yJiY2IT1yfHwoaGE9MS40LGZhPTAsYWE9MCxiYT0wLGRhPTAsZWE9MCksNj09ciYmKGhhPS42KTs3PT1yJiYoYWE9MCxiYT0wKTt2YXIgbGE9aS5maW5kKCIuc2xvdHNsaWRlIiksbWE9ai5maW5kKCIuc2xvdHNsaWRlLCAuZGVmYXVsdHZpZCIpO2lmKGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt6SW5kZXg6MTV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZyx7ekluZGV4OjIwfSksMCksOD09cj8oay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgse3pJbmRleDoyMH0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChnLHt6SW5kZXg6MTV9KSwwKSxrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQobGEse2xlZnQ6MCx0b3A6MCxzY2FsZToxLG9wYWNpdHk6MSxyb3RhdGlvbjowLGVhc2U6dSxmb3JjZTNEOiJhdXRvIn0pLDApKTprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tKGxhLGlhLHtsZWZ0OmRhLHRvcDplYSxzY2FsZTpoYSxvcGFjaXR5OmZhLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dSxmb3JjZTNEOiJhdXRvIn0pLDApLDQhPXImJjUhPXJ8fChhYT0wLGJhPTApLDEhPXIpc3dpdGNoKGEpe2Nhc2UgMTI6ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8obWEsamEse2xlZnQ6MC1hYSsicHgiLGZvcmNlM0Q6ImF1dG8iLHNjYWxlOmdhLG9wYWNpdHk6ZmEscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCk7YnJlYWs7Y2FzZSAxNTprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhtYSxqYSx7bGVmdDphYSsicHgiLGZvcmNlM0Q6ImF1dG8iLHNjYWxlOmdhLG9wYWNpdHk6ZmEscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCk7YnJlYWs7Y2FzZSAxMzprLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS50byhtYSxqYSx7dG9wOjAtYmErInB4Iixmb3JjZTNEOiJhdXRvIixzY2FsZTpnYSxvcGFjaXR5OmZhLHJvdGF0aW9uOmwucm90YXRlLGVhc2U6dn0pLDApO2JyZWFrO2Nhc2UgMTQ6ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8obWEsamEse3RvcDpiYSsicHgiLGZvcmNlM0Q6ImF1dG8iLHNjYWxlOmdhLG9wYWNpdHk6ZmEscm90YXRpb246bC5yb3RhdGUsZWFzZTp2fSksMCl9fWlmKDE2PT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOjIwfSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGcse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsInotaW5kZXgiOjE1fSksMCksaC53cmFwSW5uZXIoJzxkaXYgY2xhc3M9InRwLWhhbGYtb25lIiBzdHlsZT0icG9zaXRpb246cmVsYXRpdmU7IHdpZHRoOjEwMCU7aGVpZ2h0OjEwMCUiPjwvZGl2PicpLGguZmluZCgiLnRwLWhhbGYtb25lIikuY2xvbmUoITApLmFwcGVuZFRvKGgpLmFkZENsYXNzKCJ0cC1oYWxmLXR3byIpLGguZmluZCgiLnRwLWhhbGYtdHdvIikucmVtb3ZlQ2xhc3MoInRwLWhhbGYtb25lIik7dmFyIGFhPWwud2lkdGgsYmE9bC5oZWlnaHQ7Im9uIj09bC5hdXRvSGVpZ2h0JiYoYmE9Yy5oZWlnaHQoKSksaC5maW5kKCIudHAtaGFsZi1vbmUgLmRlZmF1bHRpbWciKS53cmFwKCc8ZGl2IGNsYXNzPSJ0cC1wYXBlcmN1dCIgc3R5bGU9IndpZHRoOicrYWErInB4O2hlaWdodDoiK2JhKydweDsiPjwvZGl2PicpLGguZmluZCgiLnRwLWhhbGYtdHdvIC5kZWZhdWx0aW1nIikud3JhcCgnPGRpdiBjbGFzcz0idHAtcGFwZXJjdXQiIHN0eWxlPSJ3aWR0aDonK2FhKyJweDtoZWlnaHQ6IitiYSsncHg7Ij48L2Rpdj4nKSxoLmZpbmQoIi50cC1oYWxmLXR3byAuZGVmYXVsdGltZyIpLmNzcyh7cG9zaXRpb246ImFic29sdXRlIix0b3A6Ii01MCUifSksaC5maW5kKCIudHAtaGFsZi10d28gLnRwLWNhcHRpb24iKS53cmFwQWxsKCc8ZGl2IHN0eWxlPSJwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTUwJTtsZWZ0OjBweDsiPjwvZGl2PicpLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLmZpbmQoIi50cC1oYWxmLXR3byIpLHt3aWR0aDphYSxoZWlnaHQ6YmEsb3ZlcmZsb3c6ImhpZGRlbiIsekluZGV4OjE1LHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOmJhLzIsbGVmdDoiMHB4Iix0cmFuc2Zvcm1QZXJzcGVjdGl2ZTo2MDAsdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgYm90dG9tIn0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLmZpbmQoIi50cC1oYWxmLW9uZSIpLHt3aWR0aDphYSxoZWlnaHQ6YmEvMixvdmVyZmxvdzoidmlzaWJsZSIsekluZGV4OjEwLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBweCIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIHRvcCJ9KSwwKTt2YXIgb2E9KGguZmluZCgiLmRlZmF1bHRpbWciKSxNYXRoLnJvdW5kKDIwKk1hdGgucmFuZG9tKCktMTApKSxwYT1NYXRoLnJvdW5kKDIwKk1hdGgucmFuZG9tKCktMTApLHFhPU1hdGgucm91bmQoMjAqTWF0aC5yYW5kb20oKS0xMCkscmE9LjQqTWF0aC5yYW5kb20oKS0uMixzYT0uNCpNYXRoLnJhbmRvbSgpLS4yLHRhPTEqTWF0aC5yYW5kb20oKSsxLHVhPTEqTWF0aC5yYW5kb20oKSsxLHZhPS4zKk1hdGgucmFuZG9tKCkrLjM7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGguZmluZCgiLnRwLWhhbGYtb25lIikse292ZXJmbG93OiJoaWRkZW4ifSksMCksay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGguZmluZCgiLnRwLWhhbGYtb25lIiksdC84MDAse3dpZHRoOmFhLGhlaWdodDpiYS8yLHBvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiIwcHgiLGxlZnQ6IjBweCIsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgdG9wIn0se3NjYWxlOnRhLHJvdGF0aW9uOm9hLHk6MC1iYS1iYS80LGF1dG9BbHBoYTowLGVhc2U6dX0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhoLmZpbmQoIi50cC1oYWxmLXR3byIpLHQvODAwLHt3aWR0aDphYSxoZWlnaHQ6YmEsb3ZlcmZsb3c6ImhpZGRlbiIscG9zaXRpb246ImFic29sdXRlIix0b3A6YmEvMixsZWZ0OiIwcHgiLGZvcmNlM0Q6ImF1dG8iLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGJvdHRvbSJ9LHtzY2FsZTp1YSxyb3RhdGlvbjpwYSx5OmJhK2JhLzQsZWFzZTp1LGF1dG9BbHBoYTowLG9uQ29tcGxldGU6ZnVuY3Rpb24oKXtwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoaCx7cG9zaXRpb246ImFic29sdXRlIiwiei1pbmRleCI6MTV9KSxwdW5jaGdzLlR3ZWVuTGl0ZS5zZXQoZyx7cG9zaXRpb246ImFic29sdXRlIiwiei1pbmRleCI6MjB9KSxoLmZpbmQoIi50cC1oYWxmLW9uZSIpLmxlbmd0aD4wJiYoaC5maW5kKCIudHAtaGFsZi1vbmUgLmRlZmF1bHRpbWciKS51bndyYXAoKSxoLmZpbmQoIi50cC1oYWxmLW9uZSAuc2xvdGhvbGRlciIpLnVud3JhcCgpKSxoLmZpbmQoIi50cC1oYWxmLXR3byIpLnJlbW92ZSgpfX0pLDApLEEuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChpLmZpbmQoIi5kZWZhdWx0aW1nIikse2F1dG9BbHBoYToxfSksMCksbnVsbCE9aC5odG1sKCkmJmsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhnLCh0LTIwMCkvMWUzLHtzY2FsZTp2YSx4Omwud2lkdGgvNCpyYSx5OmJhLzQqc2Escm90YXRpb246cWEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtT3JpZ2luOiJjZW50ZXIgY2VudGVyIixlYXNlOnZ9LHthdXRvQWxwaGE6MSxzY2FsZToxLHg6MCx5OjAscm90YXRpb246MH0pLDApLGsuYWRkKEEsMCl9aWYoMTc9PWEmJmkuZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhiLHQvODAwLHtvcGFjaXR5OjAscm90YXRpb25ZOjAsc2NhbGU6Ljkscm90YXRpb25YOi0xMTAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGNlbnRlciJ9LHtvcGFjaXR5OjEsdG9wOjAsbGVmdDowLHNjYWxlOjEscm90YXRpb246MCxyb3RhdGlvblg6MCxmb3JjZTNEOiJhdXRvIixyb3RhdGlvblk6MCxlYXNlOnUsZGVsYXk6LjA2KmF9KSwwKX0pLDE4PT1hJiZpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzUwMCx7YXV0b0FscGhhOjAscm90YXRpb25ZOjExMCxzY2FsZTouOSxyb3RhdGlvblg6MTAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjoiY2VudGVyIGNlbnRlciJ9LHthdXRvQWxwaGE6MSx0b3A6MCxsZWZ0OjAsc2NhbGU6MSxyb3RhdGlvbjowLHJvdGF0aW9uWDowLGZvcmNlM0Q6ImF1dG8iLHJvdGF0aW9uWTowLGVhc2U6dSxkZWxheTouMDYqYX0pLDApfSksMTk9PWF8fDIyPT1hKXt2YXIgQT1uZXcgcHVuY2hncy5UaW1lbGluZUxpdGU7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuc2V0KGgse3pJbmRleDoyMH0pLDApLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChnLHt6SW5kZXg6MjB9KSwwKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ai5maW5kKCIuZGVmYXVsdGltZyIpLmNzcyh7b3BhY2l0eTowfSl9LDEwMCk7dmFyIHdhPTkwLGZhPTEseGE9ImNlbnRlciBjZW50ZXIgIjsxPT1vJiYod2E9LTkwKSwxOT09YT8oeGE9eGErIi0iK2wuaGVpZ2h0LzIsZmE9MCk6eGErPWwuaGVpZ2h0LzIscHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3RyYW5zZm9ybVN0eWxlOiJmbGF0IixiYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwfSksaS5maW5kKCIuc2xvdHNsaWRlIikuZWFjaChmdW5jdGlvbihhKXt2YXIgYj1qUXVlcnkodGhpcyk7QS5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsdC8xZTMse3RyYW5zZm9ybVN0eWxlOiJmbGF0IixiYWNrZmFjZVZpc2liaWxpdHk6ImhpZGRlbiIsbGVmdDowLHJvdGF0aW9uWTpsLnJvdGF0ZSx6OjEwLHRvcDowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjp4YSxyb3RhdGlvblg6d2F9LHtsZWZ0OjAscm90YXRpb25ZOjAsdG9wOjAsejowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIscm90YXRpb25YOjAsZGVsYXk6NTAqYS8xZTMsZWFzZTp1fSksMCksQS5hZGQocHVuY2hncy5Ud2VlbkxpdGUudG8oYiwuMSx7YXV0b0FscGhhOjEsZGVsYXk6NTAqYS8xZTN9KSwwKSxrLmFkZChBKX0pLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9LTkwOzE9PW8mJihjPTkwKSxBLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzFlMyx7dHJhbnNmb3JtU3R5bGU6ImZsYXQiLGJhY2tmYWNlVmlzaWJpbGl0eToiaGlkZGVuIixhdXRvQWxwaGE6MSxyb3RhdGlvblk6MCx0b3A6MCx6OjAsc2NhbGU6MSxmb3JjZTNEOiJhdXRvIix0cmFuc2Zvcm1QZXJzcGVjdGl2ZTo2MDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWDowfSx7YXV0b0FscGhhOjEscm90YXRpb25ZOmwucm90YXRlLHRvcDowLHo6MTAsc2NhbGU6MSxyb3RhdGlvblg6YyxkZWxheTo1MCphLzFlMyxmb3JjZTNEOiJhdXRvIixlYXNlOnZ9KSwwKSxrLmFkZChBKX0pLGsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLnNldChoLHt6SW5kZXg6MTh9KSwwKX1pZigyMD09YSl7aWYoc2V0VGltZW91dChmdW5jdGlvbigpe2ouZmluZCgiLmRlZmF1bHRpbWciKS5jc3Moe29wYWNpdHk6MH0pfSwxMDApLDE9PW8pdmFyIHlhPS1sLndpZHRoLHdhPTgwLHhhPSIyMCUgNzAlIC0iK2wuaGVpZ2h0LzI7ZWxzZSB2YXIgeWE9bC53aWR0aCx3YT0tODAseGE9IjgwJSA3MCUgLSIrbC5oZWlnaHQvMjtpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPTUwKmEvMWUzO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhiLHQvMWUzLHtsZWZ0OnlhLHJvdGF0aW9uWDo0MCx6Oi02MDAsb3BhY2l0eTpmYSx0b3A6MCxzY2FsZToxLGZvcmNlM0Q6ImF1dG8iLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjYwMCx0cmFuc2Zvcm1PcmlnaW46eGEsdHJhbnNmb3JtU3R5bGU6ImZsYXQiLHJvdGF0aW9uWTp3YX0se2xlZnQ6MCxyb3RhdGlvblg6MCxvcGFjaXR5OjEsdG9wOjAsejowLHNjYWxlOjEscm90YXRpb25ZOjAsZGVsYXk6YyxlYXNlOnV9KSwwKX0pLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpLGM9NTAqYS8xZTM7aWYoYz1hPjA/Yyt0LzllMzowLDEhPW8pdmFyIGQ9LWwud2lkdGgvMixlPTMwLGY9IjIwJSA3MCUgLSIrbC5oZWlnaHQvMjtlbHNlIHZhciBkPWwud2lkdGgvMixlPS0zMCxmPSI4MCUgNzAlIC0iK2wuaGVpZ2h0LzI7dj1wdW5jaGdzLlBvd2VyMi5lYXNlSW5PdXQsay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsdC8xZTMse29wYWNpdHk6MSxyb3RhdGlvblg6MCx0b3A6MCx6OjAsc2NhbGU6MSxsZWZ0OjAsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6NjAwLHRyYW5zZm9ybU9yaWdpbjpmLHRyYW5zZm9ybVN0eWxlOiJmbGF0Iixyb3RhdGlvblk6MH0se29wYWNpdHk6MSxyb3RhdGlvblg6MjAsdG9wOjAsejotNjAwLGxlZnQ6ZCxmb3JjZTNEOiJhdXRvIixyb3RhdGlvblk6ZSxkZWxheTpjLGVhc2U6dn0pLDApfSl9aWYoMjE9PWF8fDI1PT1hKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7ai5maW5kKCIuZGVmYXVsdGltZyIpLmNzcyh7b3BhY2l0eTowfSl9LDEwMCk7dmFyIHdhPTkwLHlhPS1sLndpZHRoLHphPS13YTtpZigxPT1vKWlmKDI1PT1hKXt2YXIgeGE9ImNlbnRlciB0b3AgMCI7d2E9bC5yb3RhdGV9ZWxzZXt2YXIgeGE9ImxlZnQgY2VudGVyIDAiO3phPWwucm90YXRlfWVsc2UgaWYoeWE9bC53aWR0aCx3YT0tOTAsMjU9PWEpe3ZhciB4YT0iY2VudGVyIGJvdHRvbSAwIjt6YT0td2Esd2E9bC5yb3RhdGV9ZWxzZXt2YXIgeGE9InJpZ2h0IGNlbnRlciAwIjt6YT1sLnJvdGF0ZX1pLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKSxjPXQvMS41LzM7ay5hZGQocHVuY2hncy5Ud2VlbkxpdGUuZnJvbVRvKGIsMipjLzFlMyx7bGVmdDowLHRyYW5zZm9ybVN0eWxlOiJmbGF0Iixyb3RhdGlvblg6emEsejowLGF1dG9BbHBoYTowLHRvcDowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtUGVyc3BlY3RpdmU6MTIwMCx0cmFuc2Zvcm1PcmlnaW46eGEscm90YXRpb25ZOndhfSx7bGVmdDowLHJvdGF0aW9uWDowLHRvcDowLHo6MCxhdXRvQWxwaGE6MSxzY2FsZToxLHJvdGF0aW9uWTowLGZvcmNlM0Q6ImF1dG8iLGRlbGF5OmMvMWUzLGVhc2U6dX0pLDApfSksMSE9bz8oeWE9LWwud2lkdGgsd2E9OTAsMjU9PWE/KHhhPSJjZW50ZXIgdG9wIDAiLHphPS13YSx3YT1sLnJvdGF0ZSk6KHhhPSJsZWZ0IGNlbnRlciAwIix6YT1sLnJvdGF0ZSkpOih5YT1sLndpZHRoLHdhPS05MCwyNT09YT8oeGE9ImNlbnRlciBib3R0b20gMCIsemE9LXdhLHdhPWwucm90YXRlKTooeGE9InJpZ2h0IGNlbnRlciAwIix6YT1sLnJvdGF0ZSkpLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYSl7dmFyIGI9alF1ZXJ5KHRoaXMpO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhiLHQvMWUzLHtsZWZ0OjAsdHJhbnNmb3JtU3R5bGU6ImZsYXQiLHJvdGF0aW9uWDowLHo6MCxhdXRvQWxwaGE6MSx0b3A6MCxzY2FsZToxLGZvcmNlM0Q6ImF1dG8iLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjEyMDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWTowfSx7bGVmdDowLHJvdGF0aW9uWDp6YSx0b3A6MCx6OjAsYXV0b0FscGhhOjEsZm9yY2UzRDoiYXV0byIsc2NhbGU6MSxyb3RhdGlvblk6d2EsZWFzZTp2fSksMCl9KX1pZigyMz09YXx8MjQ9PWEpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtqLmZpbmQoIi5kZWZhdWx0aW1nIikuY3NzKHtvcGFjaXR5OjB9KX0sMTAwKTt2YXIgd2E9LTkwLGZhPTEsQWE9MDtpZigxPT1vJiYod2E9OTApLDIzPT1hKXt2YXIgeGE9ImNlbnRlciBjZW50ZXIgLSIrbC53aWR0aC8yO2ZhPTB9ZWxzZSB2YXIgeGE9ImNlbnRlciBjZW50ZXIgIitsLndpZHRoLzI7cHVuY2hncy5Ud2VlbkxpdGUuc2V0KGMse3RyYW5zZm9ybVN0eWxlOiJwcmVzZXJ2ZS0zZCIsYmFja2ZhY2VWaXNpYmlsaXR5OiJoaWRkZW4iLHBlcnNwZWN0aXZlOjI1MDB9KSxpLmZpbmQoIi5zbG90c2xpZGUiKS5lYWNoKGZ1bmN0aW9uKGEpe3ZhciBiPWpRdWVyeSh0aGlzKTtrLmFkZChwdW5jaGdzLlR3ZWVuTGl0ZS5mcm9tVG8oYix0LzFlMyx7bGVmdDpBYSxyb3RhdGlvblg6bC5yb3RhdGUsZm9yY2UzRDoiYXV0byIsb3BhY2l0eTpmYSx0b3A6MCxzY2FsZToxLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjEyMDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWTp3YX0se2xlZnQ6MCxyb3RhdGlvblg6MCxhdXRvQWxwaGE6MSx0b3A6MCx6OjAsc2NhbGU6MSxyb3RhdGlvblk6MCxkZWxheTo1MCphLzUwMCxlYXNlOnV9KSwwKX0pLHdhPTkwLDE9PW8mJih3YT0tOTApLGouZmluZCgiLnNsb3RzbGlkZSIpLmVhY2goZnVuY3Rpb24oYil7dmFyIGM9alF1ZXJ5KHRoaXMpO2suYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhjLHQvMWUzLHtsZWZ0OjAscm90YXRpb25YOjAsdG9wOjAsejowLHNjYWxlOjEsZm9yY2UzRDoiYXV0byIsdHJhbnNmb3JtU3R5bGU6ImZsYXQiLHRyYW5zZm9ybVBlcnNwZWN0aXZlOjEyMDAsdHJhbnNmb3JtT3JpZ2luOnhhLHJvdGF0aW9uWTowfSx7bGVmdDpBYSxyb3RhdGlvblg6bC5yb3RhdGUsdG9wOjAsc2NhbGU6MSxyb3RhdGlvblk6d2EsZGVsYXk6NTAqYi81MDAsZWFzZTp2fSksMCksMjM9PWEmJmsuYWRkKHB1bmNoZ3MuVHdlZW5MaXRlLmZyb21UbyhjLHQvMmUzLHthdXRvQWxwaGE6MX0se2F1dG9BbHBoYTowLGRlbGF5OjUwKmIvNTAwK3QvM2UzLGVhc2U6dn0pLDApfSl9cmV0dXJuIGt9fShqUXVlcnkpOw=="}},"time_used":612,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":609,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/logo-wide.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.820Z","timestamp":1785133989820,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/logo-wide.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/png\r\nlast-modified: Sat, 04 May 2024 14:25:48 GMT\r\naccept-ranges: bytes\r\ncontent-length: 52164\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":52164,"size_decoded":52351,"mime_type":"image/png","magic":"PNG image data, 577 x 117, 8-bit/color RGBA, non-interlaced","md5":"6f6801ac2d918e8003cde43e0d43e491","sha1":"e7e6179f18259ef25cef441edac08964ca0977a8","sha256":"2b91a01772cd4e33b9e7e5c9999835aca42b0e2e946d7aee8ae730c931ed694c","sha512":"1992b379ce5d99c22f6b76a7eda1b81781a27e70375769ff75fd70b1479d531e0b57e800d5d05a6bc2a80fab48a8191c2b0207dc2ddd72c0802abcedb030a8ca","ssdeep":"1536:uqiivcpiSZ2xxt0o0BYhWIWWeOVRWoMrTXei:Mikpi3xxioLBecRdli","tlshash":"8033025cdda7ca35d4a54b421301b45cc8091835bde878bd62bed5a3f828238874e3a9","first_seen":"2026-07-27T05:16:56.331919Z","last_seen":"2026-07-27T06:33:54.000424Z","times_seen":2,"resource_available":false,"data":"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"}},"time_used":438,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":424,"receive":14,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/backoffice/uploads/test3.jpg","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.838Z","timestamp":1785133989838,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /backoffice/uploads/test3.jpg HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/jpeg\r\nlast-modified: Thu, 06 Feb 2020 22:04:46 GMT\r\naccept-ranges: bytes\r\ncontent-length: 27178\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":27178,"size_decoded":27366,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=12, height=426, bps=0, PhotometricInterpretation=RGB, orientation=upper-left, width=640], baseline, precision 8, 150x150, components 3","md5":"f0e7009ee235056400b7c94a058d4d45","sha1":"8880e830b44ec17a2094e8999d49c8d4cc91e2d1","sha256":"d0a916afebcd6e2efb5ae524e118386572cd08e44c4b273fbc10c8c3913c5cd4","sha512":"ccc92748d92fc78e7aff84335af39cf22f22060c2dccc768f9d536b63026703c0843c801cdb75d72743e1bd9bb00d14a37c1aa21b146c7451fa79f1d08a19095","ssdeep":"384:DKxDTA6ed9VhC9s7icKxDTA6ed9VhC9RnB5YNg7HWCraKchYNCP1tdUu3jEn:2TA6+VSs7kTA6+VSRPYyXahhYQPRRja","tlshash":"67c29f7e7f80dd96f5e185348884dbc27331ea94b1a74a42785c3d0d3ffa5c15d8868a","first_seen":"2023-12-01T08:51:25Z","last_seen":"2026-07-27T13:18:12.805949Z","times_seen":46,"resource_available":false,"data":"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AAAAADhCSU0D7QAAAAAAEABIAAAAAQABAEgAAAABAAE4QklNBCYAAAAAAA4AAAAAAAAAAAAAP4AAADhCSU0EDQAAAAAABAAAAB44QklNBBkAAAAAAAQAAAAeOEJJTQPzAAAAAAAJAAAAAAAAAAABADhCSU0nEAAAAAAACgABAAAAAAAAAAE4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA2MAAAAGAAAAAAAAAAAAAACWAAAAlgAAABcAcABlAHgAZQBsAHMALQBwAGgAbwB0AG8ALQA3ADgAMgAyADUALgBqAHAAZQBnAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAACWAAAAlgAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAABAAAAAAAAbnVsbAAAAAIAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAlgAAAABSZ2h0bG9uZwAAAJYAAAAGc2xpY2VzVmxMcwAAAAFPYmpjAAAAAQAAAAAABXNsaWNlAAAAEgAAAAdzbGljZUlEbG9uZwAAAAAAAAAHZ3JvdXBJRGxvbmcAAAAAAAAABm9yaWdpbmVudW0AAAAMRVNsaWNlT3JpZ2luAAAADWF1dG9HZW5lcmF0ZWQAAAAAVHlwZWVudW0AAAAKRVNsaWNlVHlwZQAAAABJbWcgAAAABmJvdW5kc09iamMAAAABAAAAAAAAUmN0MQAAAAQAAAAAVG9wIGxvbmcAAAAAAAAAAExlZnRsb25nAAAAAAAAAABCdG9tbG9uZwAAAJYA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LB0fUcAM+0aHUsPreQhGHqerX+8CNvn/AKtXlCSiKJdX6iw3Wuxqzc3ZZtG4aH8iOvlZJSjYMPQP1SkvlZJFT//ZOEJJTQQhAAAAAABdAAAAAQEAAAAPAEEAZABvAGIAZQAgAFAAaABvAHQAbwBzAGgAbwBwAAAAFwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAgAEMAQwAgADIAMAAxADUAAAABADhCSU0EBgAAAAAABwAEAAAAAQEA/+EM6mh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8APD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS42LWMxMTEgNzkuMTU4MzI1LCAyMDE1LzA5LzEwLTAxOjEwOjIwICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0iMDFGNTlCMDczNUJDNDhFQTVDNUU0RDk2M0I4RTU2QkMiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6OWJjZjBhNWQtMTUzOC03ZDRjLWIwMGUtYzliZTAyOTg3ZmZhIiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9IjAxRjU5QjA3MzVCQzQ4RUE1QzVFNEQ5NjNCOEU1NkJDIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wOkNyZWF0ZURhdGU9IjIwMTctMDgtMTdUMTI6MzU6MjcrMDU6MzAiIHhtcDpNb2RpZnlEYXRlPSIyMDE3LTA4LTE3VDEyOjU4OjM0KzA1OjMwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE3LTA4LTE3VDEyOjU4OjM0KzA1OjMwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6OWJjZjBhNWQtMTUzOC03ZDRjLWIwMGUtYzliZTAyOTg3ZmZhIiBzdEV2dDp3aGVuPSIyMDE3LTA4LTE3VDEyOjU4OjM0KzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz7/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQ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"}},"time_used":581,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":575,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/ionicons.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.917Z","timestamp":1785133989917,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/ionicons.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/css/style-main.css\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 7630\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":57253,"size_decoded":7860,"mime_type":"text/css","magic":"Unicode text, UTF-8 text, with very long lines (20240)","md5":"58b694597fbf4f549e23dcc63c90aa0e","sha1":"7b4e139f5812386b135748a6e6535bf2139fd443","sha256":"1e5ecb24fbb9ad923dbcb2a42d933fd8e8a41e76f236810b92fbfaa4f55c43d0","sha512":"df2195699700fbb7a40ed777bac3196e0a24595116734958dea744ee38c5831abf88f830fe6a7729c3444d86ed2412a11439cd26cf3121a79a0b0c10240cb0c4","ssdeep":"384:j48jrtpbxxYlbDiLq2LEg+KjL5w62s1zIZbyzid:j4+rTxilbOLVLEj+LfJ1kZmzid","tlshash":"814310f6d71e0ee14e35d480330bab905775b5fda4580c59e00ba88df6cba28e2d29dd","first_seen":"2025-11-24T04:10:26.84156Z","last_seen":"2026-07-27T06:33:54.022673Z","times_seen":6,"resource_available":false,"data":"QGNoYXJzZXQgIlVURi04IjsKLyohCiAgSW9uaWNvbnMsIHYyLjAuMQogIENyZWF0ZWQgYnkgQmVuIFNwZXJyeSBmb3IgdGhlIElvbmljIEZyYW1ld29yaywgaHR0cDovL2lvbmljb25zLmNvbS8KICBodHRwczovL3R3aXR0ZXIuY29tL2JlbmpzcGVycnkgIGh0dHBzOi8vdHdpdHRlci5jb20vaW9uaWNmcmFtZXdvcmsKICBNSVQgTGljZW5zZTogaHR0cHM6Ly9naXRodWIuY29tL2RyaWZ0eWNvL2lvbmljb25zCgogIEFuZHJvaWQtc3R5bGUgaWNvbnMgb3JpZ2luYWxseSBidWlsdCBieSBHb29nbGXigJlzCiAgTWF0ZXJpYWwgRGVzaWduIEljb25zOiBodHRwczovL2dpdGh1Yi5jb20vZ29vZ2xlL21hdGVyaWFsLWRlc2lnbi1pY29ucwogIHVzZWQgdW5kZXIgQ0MgQlkgaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnkvNC4wLwogIE1vZGlmaWVkIGljb25zIHRvIGZpdCBpb25pY29u4oCZcyBncmlkIGZyb20gb3JpZ2luYWwuCiovCkBmb250LWZhY2UgeyBmb250LWZhbWlseTogIklvbmljb25zIjsgc3JjOiB1cmwoIi4uL2ZvbnRzL2lvbmljb25zNzkwZjc5MGY3OTBmLmVvdD92PTIuMC4xIik7IHNyYzogdXJsKCIuLi9mb250cy9pb25pY29uczc5MGY3OTBmNzkwZi5lb3Q/dj0yLjAuMSNpZWZpeCIpIGZvcm1hdCgiZW1iZWRkZWQtb3BlbnR5cGUiKSwgdXJsKCIuLi9mb250cy9pb25pY29uczc5MGY3OTBmNzkwZi50dGY/dj0yLjAuMSIpIGZvcm1hdCgidHJ1ZXR5cGUiKSwgdXJsKCIuLi9mb250cy9pb25pY29uczc5MGY3OTBmNzkwZi53b2ZmP3Y9Mi4wLjEiKSBmb3JtYXQoIndvZmYiKSwgdXJsKCIuLi9mb250cy9pb25pY29uczc5MGY3OTBmNzkwZi5zdmc/dj0yLjAuMSNJb25pY29ucyIpIGZvcm1hdCgic3ZnIik7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtc3R5bGU6IG5vcm1hbDsgfQouaW9uLCAuaW9uaWNvbnMsIC5pb24tYWxlcnQ6YmVmb3JlLCAuaW9uLWFsZXJ0LWNpcmNsZWQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYWRkOmJlZm9yZSwgLmluZHJvaWQtYWRkLWNpcmNsZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1hbGFybS1jbG9jazpiZWZvcmUsIC5pb24tYW5kcm9pZC1hbGVydDpiZWZvcmUsIC5pb24tYW5kcm9pZC1hcHBzOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFyY2hpdmU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYXJyb3ctYmFjazpiZWZvcmUsIC5pb24tYW5kcm9pZC1hcnJvdy1kb3duOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFycm93LWRyb3Bkb3duOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFycm93LWRyb3Bkb3duLWNpcmNsZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wbGVmdDpiZWZvcmUsIC5pb24tYW5kcm9pZC1hcnJvdy1kcm9wbGVmdC1jaXJjbGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYXJyb3ctZHJvcHJpZ2h0OmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFycm93LWRyb3ByaWdodC1jaXJjbGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYXJyb3ctZHJvcHVwOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWFycm93LWRyb3B1cC1jaXJjbGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYXJyb3ctZm9yd2FyZDpiZWZvcmUsIC5pb24tYW5kcm9pZC1hcnJvdy11cDpiZWZvcmUsIC5pb24tYW5kcm9pZC1hdHRhY2g6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYmFyOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWJpY3ljbGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtYm9hdDpiZWZvcmUsIC5pb24tYW5kcm9pZC1ib29rbWFyazpiZWZvcmUsIC5pb24tYW5kcm9pZC1idWxiOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWJ1czpiZWZvcmUsIC5pb24tYW5kcm9pZC1jYWxlbmRhcjpiZWZvcmUsIC5pb24tYW5kcm9pZC1jYWxsOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNhbWVyYTpiZWZvcmUsIC5pb24tYW5kcm9pZC1jYW5jZWw6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2FyOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNhcnQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2hhdDpiZWZvcmUsIC5pb24tYW5kcm9pZC1jaGVja2JveDpiZWZvcmUsIC5pb24tYW5kcm9pZC1jaGVja2JveC1ibGFuazpiZWZvcmUsIC5pb24tYW5kcm9pZC1jaGVja2JveC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNoZWNrYm94LW91dGxpbmUtYmxhbms6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2hlY2ttYXJrLWNpcmNsZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1jbGlwYm9hcmQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2xvc2U6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2xvdWQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2xvdWQtY2lyY2xlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNsb3VkLWRvbmU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY2xvdWQtb3V0bGluZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1jb2xvci1wYWxldHRlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWNvbXBhc3M6YmVmb3JlLCAuaW9uLWFuZHJvaWQtY29udGFjdDpiZWZvcmUsIC5pb24tYW5kcm9pZC1jb250YWN0czpiZWZvcmUsIC5pb24tYW5kcm9pZC1jb250cmFjdDpiZWZvcmUsIC5pb24tYW5kcm9pZC1jcmVhdGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZGVsZXRlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWRlc2t0b3A6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZG9jdW1lbnQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZG9uZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1kb25lLWFsbDpiZWZvcmUsIC5pb24tYW5kcm9pZC1kb3dubG9hZDpiZWZvcmUsIC5pb24tYW5kcm9pZC1kcmFmdHM6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZXhpdDpiZWZvcmUsIC5pb24tYW5kcm9pZC1leHBhbmQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZmF2b3JpdGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZmF2b3JpdGUtb3V0bGluZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1maWxtOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWZvbGRlcjpiZWZvcmUsIC5pb24tYW5kcm9pZC1mb2xkZXItb3BlbjpiZWZvcmUsIC5pb24tYW5kcm9pZC1mdW5uZWw6YmVmb3JlLCAuaW9uLWFuZHJvaWQtZ2xvYmU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtaGFuZDpiZWZvcmUsIC5pb24tYW5kcm9pZC1oYW5nb3V0OmJlZm9yZSwgLmlvbi1hbmRyb2lkLWhhcHB5OmJlZm9yZSwgLmlvbi1hbmRyb2lkLWhvbWU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtaW1hZ2U6YmVmb3JlLCAuaW9uLWFuZHJvaWQtbGFwdG9wOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWxpc3Q6YmVmb3JlLCAuaW9uLWFuZHJvaWQtbG9jYXRlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLWxvY2s6YmVmb3JlLCAuaW9uLWFuZHJvaWQtbWFpbDpiZWZvcmUsIC5pb24tYW5kcm9pZC1tYXA6YmVmb3JlLCAuaW9uLWFuZHJvaWQtbWVudTpiZWZvcmUsIC5pb24tYW5kcm9pZC1taWNyb3Bob25lOmJlZm9yZSwgLmlvbi1hbmRyb2lkLW1pY3JvcGhvbmUtb2ZmOmJlZm9yZSwgLmlvbi1hbmRyb2lkLW1vcmUtaG9yaXpvbnRhbDpiZWZvcmUsIC5pb24tYW5kcm9pZC1tb3JlLXZlcnRpY2FsOmJlZm9yZSwgLmlvbi1hbmRyb2lkLW5hdmlnYXRlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnM6YmVmb3JlLCAuaW9uLWFuZHJvaWQtbm90aWZpY2F0aW9ucy1ub25lOmJlZm9yZSwgLmlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnMtb2ZmOmJlZm9yZSwgLmlvbi1hbmRyb2lkLW9wZW46YmVmb3JlLCAuaW9uLWFuZHJvaWQtb3B0aW9uczpiZWZvcmUsIC5pb24tYW5kcm9pZC1wZW9wbGU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtcGVyc29uOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXBlcnNvbi1hZGQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtcGhvbmUtbGFuZHNjYXBlOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXBob25lLXBvcnRyYWl0OmJlZm9yZSwgLmlvbi1hbmRyb2lkLXBpbjpiZWZvcmUsIC5pb24tYW5kcm9pZC1wbGFuZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1wbGF5c3RvcmU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtcHJpbnQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtcmFkaW8tYnV0dG9uLW9mZjpiZWZvcmUsIC5pb24tYW5kcm9pZC1yYWRpby1idXR0b24tb246YmVmb3JlLCAuaW9uLWFuZHJvaWQtcmVmcmVzaDpiZWZvcmUsIC5pb24tYW5kcm9pZC1yZW1vdmU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtcmVtb3ZlLWNpcmNsZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1yZXN0YXVyYW50OmJlZm9yZSwgLmlvbi1hbmRyb2lkLXNhZDpiZWZvcmUsIC5pb24tYW5kcm9pZC1zZWFyY2g6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc2VuZDpiZWZvcmUsIC5pb24tYW5kcm9pZC1zZXR0aW5nczpiZWZvcmUsIC5pb24tYW5kcm9pZC1zaGFyZTpiZWZvcmUsIC5pb24tYW5kcm9pZC1zaGFyZS1hbHQ6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc3RhcjpiZWZvcmUsIC5pb24tYW5kcm9pZC1zdGFyLWhhbGY6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc3Rhci1vdXRsaW5lOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXN0b3B3YXRjaDpiZWZvcmUsIC5pb24tYW5kcm9pZC1zdWJ3YXk6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc3Vubnk6YmVmb3JlLCAuaW9uLWFuZHJvaWQtc3luYzpiZWZvcmUsIC5pb24tYW5kcm9pZC10ZXh0c21zOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXRpbWU6YmVmb3JlLCAuaW9uLWFuZHJvaWQtdHJhaW46YmVmb3JlLCAuaW9uLWFuZHJvaWQtdW5sb2NrOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXVwbG9hZDpiZWZvcmUsIC5pb24tYW5kcm9pZC12b2x1bWUtZG93bjpiZWZvcmUsIC5pb24tYW5kcm9pZC12b2x1bWUtbXV0ZTpiZWZvcmUsIC5pb24tYW5kcm9pZC12b2x1bWUtb2ZmOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXZvbHVtZS11cDpiZWZvcmUsIC5pb24tYW5kcm9pZC13YWxrOmJlZm9yZSwgLmlvbi1hbmRyb2lkLXdhcm5pbmc6YmVmb3JlLCAuaW9uLWFuZHJvaWQtd2F0Y2g6YmVmb3JlLCAuaW9uLWFuZHJvaWQtd2lmaTpiZWZvcmUsIC5pb24tYXBlcnR1cmU6YmVmb3JlLCAuaW9uLWFyY2hpdmU6YmVmb3JlLCAuaW9uLWFycm93LWRvd24tYTpiZWZvcmUsIC5pb24tYXJyb3ctZG93bi1iOmJlZm9yZSwgLmlvbi1hcnJvdy1kb3duLWM6YmVmb3JlLCAuaW9uLWFycm93LWV4cGFuZDpiZWZvcmUsIC5pb24tYXJyb3ctZ3JhcGgtZG93bi1sZWZ0OmJlZm9yZSwgLmlvbi1hcnJvdy1ncmFwaC1kb3duLXJpZ2h0OmJlZm9yZSwgLmlvbi1hcnJvdy1ncmFwaC11cC1sZWZ0OmJlZm9yZSwgLmlvbi1hcnJvdy1ncmFwaC11cC1yaWdodDpiZWZvcmUsIC5pb24tYXJyb3ctbGVmdC1hOmJlZm9yZSwgLmlvbi1hcnJvdy1sZWZ0LWI6YmVmb3JlLCAuaW9uLWFycm93LWxlZnQtYzpiZWZvcmUsIC5pb24tYXJyb3ctbW92ZTpiZWZvcmUsIC5pb24tYXJyb3ctcmVzaXplOmJlZm9yZSwgLmlvbi1hcnJvdy1yZXR1cm4tbGVmdDpiZWZvcmUsIC5pb24tYXJyb3ctcmV0dXJuLXJpZ2h0OmJlZm9yZSwgLmlvbi1hcnJvdy1yaWdodC1hOmJlZm9yZSwgLmlvbi1hcnJvdy1yaWdodC1iOmJlZm9yZSwgLmlvbi1hcnJvdy1yaWdodC1jOmJlZm9yZSwgLmlvbi1hcnJvdy1zaHJpbms6YmVmb3JlLCAuaW9uLWFycm93LXN3YXA6YmVmb3JlLCAuaW9uLWFycm93LXVwLWE6YmVmb3JlLCAuaW9uLWFycm93LXVwLWI6YmVmb3JlLCAuaW9uLWFycm93LXVwLWM6YmVmb3JlLCAuaW9uLWFzdGVyaXNrOmJlZm9yZSwgLmlvbi1hdDpiZWZvcmUsIC5pb24tYmFja3NwYWNlOmJlZm9yZSwgLmlvbi1iYWNrc3BhY2Utb3V0bGluZTpiZWZvcmUsIC5pb24tYmFnOmJlZm9yZSwgLmlvbi1iYXR0ZXJ5LWNoYXJnaW5nOmJlZm9yZSwgLmlvbi1iYXR0ZXJ5LWVtcHR5OmJlZm9yZSwgLmlvbi1iYXR0ZXJ5LWZ1bGw6YmVmb3JlLCAuaW9uLWJhdHRlcnktaGFsZjpiZWZvcmUsIC5pb24tYmF0dGVyeS1sb3c6YmVmb3JlLCAuaW9uLWJlYWtlcjpiZWZvcmUsIC5pb24tYmVlcjpiZWZvcmUsIC5pb24tYmx1ZXRvb3RoOmJlZm9yZSwgLmlvbi1ib25maXJlOmJlZm9yZSwgLmlvbi1ib29rbWFyazpiZWZvcmUsIC5pb24tYm93dGllOmJlZm9yZSwgLmlvbi1icmllZmNhc2U6YmVmb3JlLCAuaW9uLWJ1ZzpiZWZvcmUsIC5pb24tY2FsY3VsYXRvcjpiZWZvcmUsIC5pb24tY2FsZW5kYXI6YmVmb3JlLCAuaW9uLWNhbWVyYTpiZWZvcmUsIC5pb24tY2FyZDpiZWZvcmUsIC5pb24tY2FzaDpiZWZvcmUsIC5pb24tY2hhdGJveDpiZWZvcmUsIC5pb24tY2hhdGJveC13b3JraW5nOmJlZm9yZSwgLmlvbi1jaGF0Ym94ZXM6YmVmb3JlLCAuaW9uLWNoYXRidWJibGU6YmVmb3JlLCAuaW9uLWNoYXRidWJibGUtd29ya2luZzpiZWZvcmUsIC5pb24tY2hhdGJ1YmJsZXM6YmVmb3JlLCAuaW9uLWNoZWNrbWFyazpiZWZvcmUsIC5pb24tY2hlY2ttYXJrLWNpcmNsZWQ6YmVmb3JlLCAuaW9uLWNoZWNrbWFyay1yb3VuZDpiZWZvcmUsIC5pb24tY2hldnJvbi1kb3duOmJlZm9yZSwgLmlvbi1jaGV2cm9uLWxlZnQ6YmVmb3JlLCAuaW9uLWNoZXZyb24tcmlnaHQ6YmVmb3JlLCAuaW9uLWNoZXZyb24tdXA6YmVmb3JlLCAuaW9uLWNsaXBib2FyZDpiZWZvcmUsIC5pb24tY2xvY2s6YmVmb3JlLCAuaW9uLWNsb3NlOmJlZm9yZSwgLmlvbi1jbG9zZS1jaXJjbGVkOmJlZm9yZSwgLmlvbi1jbG9zZS1yb3VuZDpiZWZvcmUsIC5pb24tY2xvc2VkLWNhcHRpb25pbmc6YmVmb3JlLCAuaW9uLWNsb3VkOmJlZm9yZSwgLmlvbi1jb2RlOmJlZm9yZSwgLmlvbi1jb2RlLWRvd25sb2FkOmJlZm9yZSwgLmlvbi1jb2RlLXdvcmtpbmc6YmVmb3JlLCAuaW9uLWNvZmZlZTpiZWZvcmUsIC5pb24tY29tcGFzczpiZWZvcmUsIC5pb24tY29tcG9zZTpiZWZvcmUsIC5pb24tY29ubmVjdGlvbi1iYXJzOmJlZm9yZSwgLmlvbi1jb250cmFzdDpiZWZvcmUsIC5pb24tY3JvcDpiZWZvcmUsIC5pb24tY3ViZTpiZWZvcmUsIC5pb24tZGlzYzpiZWZvcmUsIC5pb24tZG9jdW1lbnQ6YmVmb3JlLCAuaW9uLWRvY3VtZW50LXRleHQ6YmVmb3JlLCAuaW9uLWRyYWc6YmVmb3JlLCAuaW9uLWVhcnRoOmJlZm9yZSwgLmlvbi1lYXNlbDpiZWZvcmUsIC5pb24tZWRpdDpiZWZvcmUsIC5pb24tZWdnOmJlZm9yZSwgLmlvbi1lamVjdDpiZWZvcmUsIC5pb24tZW1haWw6YmVmb3JlLCAuaW9uLWVtYWlsLXVucmVhZDpiZWZvcmUsIC5pb24tZXJsZW5tZXllci1mbGFzazpiZWZvcmUsIC5pb24tZXJsZW5tZXllci1mbGFzay1idWJibGVzOmJlZm9yZSwgLmlvbi1leWU6YmVmb3JlLCAuaW9uLWV5ZS1kaXNhYmxlZDpiZWZvcmUsIC5pb24tZmVtYWxlOmJlZm9yZSwgLmlvbi1maWxpbmc6YmVmb3JlLCAuaW9uLWZpbG0tbWFya2VyOmJlZm9yZSwgLmlvbi1maXJlYmFsbDpiZWZvcmUsIC5pb24tZmxhZzpiZWZvcmUsIC5pb24tZmxhbWU6YmVmb3JlLCAuaW9uLWZsYXNoOmJlZm9yZSwgLmlvbi1mbGFzaC1vZmY6YmVmb3JlLCAuaW9uLWZvbGRlcjpiZWZvcmUsIC5pb24tZm9yazpiZWZvcmUsIC5pb24tZm9yay1yZXBvOmJlZm9yZSwgLmlvbi1mb3J3YXJkOmJlZm9yZSwgLmlvbi1mdW5uZWw6YmVmb3JlLCAuaW9uLWdlYXItYTpiZWZvcmUsIC5pb24tZ2Vhci1iOmJlZm9yZSwgLmlvbi1ncmlkOmJlZm9yZSwgLmlvbi1oYW1tZXI6YmVmb3JlLCAuaW9uLWhhcHB5OmJlZm9yZSwgLmlvbi1oYXBweS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1oZWFkcGhvbmU6YmVmb3JlLCAuaW9uLWhlYXJ0OmJlZm9yZSwgLmlvbi1oZWFydC1icm9rZW46YmVmb3JlLCAuaW9uLWhlbHA6YmVmb3JlLCAuaW9uLWhlbHAtYnVveTpiZWZvcmUsIC5pb24taGVscC1jaXJjbGVkOmJlZm9yZSwgLmlvbi1ob21lOmJlZm9yZSwgLmlvbi1pY2VjcmVhbTpiZWZvcmUsIC5pb24taW1hZ2U6YmVmb3JlLCAuaW9uLWltYWdlczpiZWZvcmUsIC5pb24taW5mb3JtYXRpb246YmVmb3JlLCAuaW9uLWluZm9ybWF0aW9uLWNpcmNsZWQ6YmVmb3JlLCAuaW9uLWlvbmljOmJlZm9yZSwgLmlvbi1pb3MtYWxhcm06YmVmb3JlLCAuaW9uLWlvcy1hbGFybS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYWxidW1zOmJlZm9yZSwgLmlvbi1pb3MtYWxidW1zLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1hbWVyaWNhbmZvb3RiYWxsOmJlZm9yZSwgLmlvbi1pb3MtYW1lcmljYW5mb290YmFsbC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYW5hbHl0aWNzOmJlZm9yZSwgLmlvbi1pb3MtYW5hbHl0aWNzLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1hcnJvdy1iYWNrOmJlZm9yZSwgLmlvbi1pb3MtYXJyb3ctZG93bjpiZWZvcmUsIC5pb24taW9zLWFycm93LWZvcndhcmQ6YmVmb3JlLCAuaW9uLWlvcy1hcnJvdy1sZWZ0OmJlZm9yZSwgLmlvbi1pb3MtYXJyb3ctcmlnaHQ6YmVmb3JlLCAuaW9uLWlvcy1hcnJvdy10aGluLWRvd246YmVmb3JlLCAuaW9uLWlvcy1hcnJvdy10aGluLWxlZnQ6YmVmb3JlLCAuaW9uLWlvcy1hcnJvdy10aGluLXJpZ2h0OmJlZm9yZSwgLmlvbi1pb3MtYXJyb3ctdGhpbi11cDpiZWZvcmUsIC5pb24taW9zLWFycm93LXVwOmJlZm9yZSwgLmlvbi1pb3MtYXQ6YmVmb3JlLCAuaW9uLWlvcy1hdC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYmFyY29kZTpiZWZvcmUsIC5pb24taW9zLWJhcmNvZGUtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWJhc2ViYWxsOmJlZm9yZSwgLmlvbi1pb3MtYmFzZWJhbGwtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWJhc2tldGJhbGw6YmVmb3JlLCAuaW9uLWlvcy1iYXNrZXRiYWxsLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1iZWxsOmJlZm9yZSwgLmlvbi1pb3MtYmVsbC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYm9keTpiZWZvcmUsIC5pb24taW9zLWJvZHktb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWJvbHQ6YmVmb3JlLCAuaW9uLWlvcy1ib2x0LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1ib29rOmJlZm9yZSwgLmlvbi1pb3MtYm9vay1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYm9va21hcmtzOmJlZm9yZSwgLmlvbi1pb3MtYm9va21hcmtzLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1ib3g6YmVmb3JlLCAuaW9uLWlvcy1ib3gtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWJyaWVmY2FzZTpiZWZvcmUsIC5pb24taW9zLWJyaWVmY2FzZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtYnJvd3NlcnM6YmVmb3JlLCAuaW9uLWlvcy1icm93c2Vycy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY2FsY3VsYXRvcjpiZWZvcmUsIC5pb24taW9zLWNhbGN1bGF0b3Itb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNhbGVuZGFyOmJlZm9yZSwgLmlvbi1pb3MtY2FsZW5kYXItb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNhbWVyYTpiZWZvcmUsIC5pb24taW9zLWNhbWVyYS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY2FydDpiZWZvcmUsIC5pb24taW9zLWNhcnQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNoYXRib3hlczpiZWZvcmUsIC5pb24taW9zLWNoYXRib3hlcy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY2hhdGJ1YmJsZTpiZWZvcmUsIC5pb24taW9zLWNoYXRidWJibGUtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNoZWNrbWFyazpiZWZvcmUsIC5pb24taW9zLWNoZWNrbWFyay1lbXB0eTpiZWZvcmUsIC5pb24taW9zLWNoZWNrbWFyay1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY2lyY2xlLWZpbGxlZDpiZWZvcmUsIC5pb24taW9zLWNpcmNsZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY2xvY2s6YmVmb3JlLCAuaW9uLWlvcy1jbG9jay1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY2xvc2U6YmVmb3JlLCAuaW9uLWlvcy1jbG9zZS1lbXB0eTpiZWZvcmUsIC5pb24taW9zLWNsb3NlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jbG91ZDpiZWZvcmUsIC5pb24taW9zLWNsb3VkLWRvd25sb2FkOmJlZm9yZSwgLmlvbi1pb3MtY2xvdWQtZG93bmxvYWQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNsb3VkLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jbG91ZC11cGxvYWQ6YmVmb3JlLCAuaW9uLWlvcy1jbG91ZC11cGxvYWQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNsb3VkeTpiZWZvcmUsIC5pb24taW9zLWNsb3VkeS1uaWdodDpiZWZvcmUsIC5pb24taW9zLWNsb3VkeS1uaWdodC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY2xvdWR5LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jb2c6YmVmb3JlLCAuaW9uLWlvcy1jb2ctb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNvbG9yLWZpbHRlcjpiZWZvcmUsIC5pb24taW9zLWNvbG9yLWZpbHRlci1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY29sb3Itd2FuZDpiZWZvcmUsIC5pb24taW9zLWNvbG9yLXdhbmQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNvbXBvc2U6YmVmb3JlLCAuaW9uLWlvcy1jb21wb3NlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1jb250YWN0OmJlZm9yZSwgLmlvbi1pb3MtY29udGFjdC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtY29weTpiZWZvcmUsIC5pb24taW9zLWNvcHktb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWNyb3A6YmVmb3JlLCAuaW9uLWlvcy1jcm9wLXN0cm9uZzpiZWZvcmUsIC5pb24taW9zLWRvd25sb2FkOmJlZm9yZSwgLmlvbi1pb3MtZG93bmxvYWQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWRyYWc6YmVmb3JlLCAuaW9uLWlvcy1lbWFpbDpiZWZvcmUsIC5pb24taW9zLWVtYWlsLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1leWU6YmVmb3JlLCAuaW9uLWlvcy1leWUtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWZhc3Rmb3J3YXJkOmJlZm9yZSwgLmlvbi1pb3MtZmFzdGZvcndhcmQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWZpbGluZzpiZWZvcmUsIC5pb24taW9zLWZpbGluZy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtZmlsbTpiZWZvcmUsIC5pb24taW9zLWZpbG0tb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWZsYWc6YmVmb3JlLCAuaW9uLWlvcy1mbGFnLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1mbGFtZTpiZWZvcmUsIC5pb24taW9zLWZsYW1lLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1mbGFzazpiZWZvcmUsIC5pb24taW9zLWZsYXNrLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1mbG93ZXI6YmVmb3JlLCAuaW9uLWlvcy1mbG93ZXItb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWZvbGRlcjpiZWZvcmUsIC5pb24taW9zLWZvbGRlci1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtZm9vdGJhbGw6YmVmb3JlLCAuaW9uLWlvcy1mb290YmFsbC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWE6YmVmb3JlLCAuaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtZ2FtZS1jb250cm9sbGVyLWI6YmVmb3JlLCAuaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYi1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtZ2VhcjpiZWZvcmUsIC5pb24taW9zLWdlYXItb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWdsYXNzZXM6YmVmb3JlLCAuaW9uLWlvcy1nbGFzc2VzLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1ncmlkLXZpZXc6YmVmb3JlLCAuaW9uLWlvcy1ncmlkLXZpZXctb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWhlYXJ0OmJlZm9yZSwgLmlvbi1pb3MtaGVhcnQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWhlbHA6YmVmb3JlLCAuaW9uLWlvcy1oZWxwLWVtcHR5OmJlZm9yZSwgLmlvbi1pb3MtaGVscC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtaG9tZTpiZWZvcmUsIC5pb24taW9zLWhvbWUtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWluZmluaXRlOmJlZm9yZSwgLmlvbi1pb3MtaW5maW5pdGUtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWluZm9ybWF0aW9uOmJlZm9yZSwgLmlvbi1pb3MtaW5mb3JtYXRpb24tZW1wdHk6YmVmb3JlLCAuaW9uLWlvcy1pbmZvcm1hdGlvbi1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtaW9uaWMtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLWtleXBhZDpiZWZvcmUsIC5pb24taW9zLWtleXBhZC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbGlnaHRidWxiOmJlZm9yZSwgLmlvbi1pb3MtbGlnaHRidWxiLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1saXN0OmJlZm9yZSwgLmlvbi1pb3MtbGlzdC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbG9jYXRpb246YmVmb3JlLCAuaW9uLWlvcy1sb2NhdGlvbi1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbG9ja2VkOmJlZm9yZSwgLmlvbi1pb3MtbG9ja2VkLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1sb29wOmJlZm9yZSwgLmlvbi1pb3MtbG9vcC1zdHJvbmc6YmVmb3JlLCAuaW9uLWlvcy1tZWRpY2FsOmJlZm9yZSwgLmlvbi1pb3MtbWVkaWNhbC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbWVka2l0OmJlZm9yZSwgLmlvbi1pb3MtbWVka2l0LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1taWM6YmVmb3JlLCAuaW9uLWlvcy1taWMtb2ZmOmJlZm9yZSwgLmlvbi1pb3MtbWljLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1taW51czpiZWZvcmUsIC5pb24taW9zLW1pbnVzLWVtcHR5OmJlZm9yZSwgLmlvbi1pb3MtbWludXMtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLW1vbml0b3I6YmVmb3JlLCAuaW9uLWlvcy1tb25pdG9yLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1tb29uOmJlZm9yZSwgLmlvbi1pb3MtbW9vbi1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtbW9yZTpiZWZvcmUsIC5pb24taW9zLW1vcmUtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLW11c2ljYWwtbm90ZTpiZWZvcmUsIC5pb24taW9zLW11c2ljYWwtbm90ZXM6YmVmb3JlLCAuaW9uLWlvcy1uYXZpZ2F0ZTpiZWZvcmUsIC5pb24taW9zLW5hdmlnYXRlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1udXRyaXRpb246YmVmb3JlLCAuaW9uLWlvcy1udXRyaXRpb24tb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXBhcGVyOmJlZm9yZSwgLmlvbi1pb3MtcGFwZXItb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXBhcGVycGxhbmU6YmVmb3JlLCAuaW9uLWlvcy1wYXBlcnBsYW5lLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1wYXJ0bHlzdW5ueTpiZWZvcmUsIC5pb24taW9zLXBhcnRseXN1bm55LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1wYXVzZTpiZWZvcmUsIC5pb24taW9zLXBhdXNlLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1wYXc6YmVmb3JlLCAuaW9uLWlvcy1wYXctb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXBlb3BsZTpiZWZvcmUsIC5pb24taW9zLXBlb3BsZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcGVyc29uOmJlZm9yZSwgLmlvbi1pb3MtcGVyc29uLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1wZXJzb25hZGQ6YmVmb3JlLCAuaW9uLWlvcy1wZXJzb25hZGQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXBob3RvczpiZWZvcmUsIC5pb24taW9zLXBob3Rvcy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcGllOmJlZm9yZSwgLmlvbi1pb3MtcGllLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1waW50OmJlZm9yZSwgLmlvbi1pb3MtcGludC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcGxheTpiZWZvcmUsIC5pb24taW9zLXBsYXktb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXBsdXM6YmVmb3JlLCAuaW9uLWlvcy1wbHVzLWVtcHR5OmJlZm9yZSwgLmlvbi1pb3MtcGx1cy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcHJpY2V0YWc6YmVmb3JlLCAuaW9uLWlvcy1wcmljZXRhZy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcHJpY2V0YWdzOmJlZm9yZSwgLmlvbi1pb3MtcHJpY2V0YWdzLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1wcmludGVyOmJlZm9yZSwgLmlvbi1pb3MtcHJpbnRlci1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3MtcHVsc2U6YmVmb3JlLCAuaW9uLWlvcy1wdWxzZS1zdHJvbmc6YmVmb3JlLCAuaW9uLWlvcy1yYWlueTpiZWZvcmUsIC5pb24taW9zLXJhaW55LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1yZWNvcmRpbmc6YmVmb3JlLCAuaW9uLWlvcy1yZWNvcmRpbmctb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXJlZG86YmVmb3JlLCAuaW9uLWlvcy1yZWRvLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1yZWZyZXNoOmJlZm9yZSwgLmlvbi1pb3MtcmVmcmVzaC1lbXB0eTpiZWZvcmUsIC5pb24taW9zLXJlZnJlc2gtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXJlbG9hZDpiZWZvcmUsIC5pb24taW9zLXJldmVyc2UtY2FtZXJhOmJlZm9yZSwgLmlvbi1pb3MtcmV2ZXJzZS1jYW1lcmEtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXJld2luZDpiZWZvcmUsIC5pb24taW9zLXJld2luZC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3Mtcm9zZTpiZWZvcmUsIC5pb24taW9zLXJvc2Utb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXNlYXJjaDpiZWZvcmUsIC5pb24taW9zLXNlYXJjaC1zdHJvbmc6YmVmb3JlLCAuaW9uLWlvcy1zZXR0aW5nczpiZWZvcmUsIC5pb24taW9zLXNldHRpbmdzLXN0cm9uZzpiZWZvcmUsIC5pb24taW9zLXNodWZmbGU6YmVmb3JlLCAuaW9uLWlvcy1zaHVmZmxlLXN0cm9uZzpiZWZvcmUsIC5pb24taW9zLXNraXBiYWNrd2FyZDpiZWZvcmUsIC5pb24taW9zLXNraXBiYWNrd2FyZC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3Mtc2tpcGZvcndhcmQ6YmVmb3JlLCAuaW9uLWlvcy1za2lwZm9yd2FyZC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3Mtc25vd3k6YmVmb3JlLCAuaW9uLWlvcy1zcGVlZG9tZXRlcjpiZWZvcmUsIC5pb24taW9zLXNwZWVkb21ldGVyLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1zdGFyOmJlZm9yZSwgLmlvbi1pb3Mtc3Rhci1oYWxmOmJlZm9yZSwgLmlvbi1pb3Mtc3Rhci1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3Mtc3RvcHdhdGNoOmJlZm9yZSwgLmlvbi1pb3Mtc3RvcHdhdGNoLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy1zdW5ueTpiZWZvcmUsIC5pb24taW9zLXN1bm55LW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy10ZWxlcGhvbmU6YmVmb3JlLCAuaW9uLWlvcy10ZWxlcGhvbmUtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXRlbm5pc2JhbGw6YmVmb3JlLCAuaW9uLWlvcy10ZW5uaXNiYWxsLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy10aHVuZGVyc3Rvcm06YmVmb3JlLCAuaW9uLWlvcy10aHVuZGVyc3Rvcm0tb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXRpbWU6YmVmb3JlLCAuaW9uLWlvcy10aW1lLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy10aW1lcjpiZWZvcmUsIC5pb24taW9zLXRpbWVyLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy10b2dnbGU6YmVmb3JlLCAuaW9uLWlvcy10b2dnbGUtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXRyYXNoOmJlZm9yZSwgLmlvbi1pb3MtdHJhc2gtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXVuZG86YmVmb3JlLCAuaW9uLWlvcy11bmRvLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy11bmxvY2tlZDpiZWZvcmUsIC5pb24taW9zLXVubG9ja2VkLW91dGxpbmU6YmVmb3JlLCAuaW9uLWlvcy11cGxvYWQ6YmVmb3JlLCAuaW9uLWlvcy11cGxvYWQtb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXZpZGVvY2FtOmJlZm9yZSwgLmlvbi1pb3MtdmlkZW9jYW0tb3V0bGluZTpiZWZvcmUsIC5pb24taW9zLXZvbHVtZS1oaWdoOmJlZm9yZSwgLmlvbi1pb3Mtdm9sdW1lLWxvdzpiZWZvcmUsIC5pb24taW9zLXdpbmVnbGFzczpiZWZvcmUsIC5pb24taW9zLXdpbmVnbGFzcy1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pb3Mtd29ybGQ6YmVmb3JlLCAuaW9uLWlvcy13b3JsZC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1pcGFkOmJlZm9yZSwgLmlvbi1pcGhvbmU6YmVmb3JlLCAuaW9uLWlwb2Q6YmVmb3JlLCAuaW9uLWpldDpiZWZvcmUsIC5pb24ta2V5OmJlZm9yZSwgLmlvbi1rbmlmZTpiZWZvcmUsIC5pb24tbGFwdG9wOmJlZm9yZSwgLmlvbi1sZWFmOmJlZm9yZSwgLmlvbi1sZXZlbHM6YmVmb3JlLCAuaW9uLWxpZ2h0YnVsYjpiZWZvcmUsIC5pb24tbGluazpiZWZvcmUsIC5pb24tbG9hZC1hOmJlZm9yZSwgLmlvbi1sb2FkLWI6YmVmb3JlLCAuaW9uLWxvYWQtYzpiZWZvcmUsIC5pb24tbG9hZC1kOmJlZm9yZSwgLmlvbi1sb2NhdGlvbjpiZWZvcmUsIC5pb24tbG9jay1jb21iaW5hdGlvbjpiZWZvcmUsIC5pb24tbG9ja2VkOmJlZm9yZSwgLmlvbi1sb2ctaW46YmVmb3JlLCAuaW9uLWxvZy1vdXQ6YmVmb3JlLCAuaW9uLWxvb3A6YmVmb3JlLCAuaW9uLW1hZ25ldDpiZWZvcmUsIC5pb24tbWFsZTpiZWZvcmUsIC5pb24tbWFuOmJlZm9yZSwgLmlvbi1tYXA6YmVmb3JlLCAuaW9uLW1lZGtpdDpiZWZvcmUsIC5pb24tbWVyZ2U6YmVmb3JlLCAuaW9uLW1pYy1hOmJlZm9yZSwgLmlvbi1taWMtYjpiZWZvcmUsIC5pb24tbWljLWM6YmVmb3JlLCAuaW9uLW1pbnVzOmJlZm9yZSwgLmlvbi1taW51cy1jaXJjbGVkOmJlZm9yZSwgLmlvbi1taW51cy1yb3VuZDpiZWZvcmUsIC5pb24tbW9kZWwtczpiZWZvcmUsIC5pb24tbW9uaXRvcjpiZWZvcmUsIC5pb24tbW9yZTpiZWZvcmUsIC5pb24tbW91c2U6YmVmb3JlLCAuaW9uLW11c2ljLW5vdGU6YmVmb3JlLCAuaW9uLW5hdmljb246YmVmb3JlLCAuaW9uLW5hdmljb24tcm91bmQ6YmVmb3JlLCAuaW9uLW5hdmlnYXRlOmJlZm9yZSwgLmlvbi1uZXR3b3JrOmJlZm9yZSwgLmlvbi1uby1zbW9raW5nOmJlZm9yZSwgLmlvbi1udWNsZWFyOmJlZm9yZSwgLmlvbi1vdXRsZXQ6YmVmb3JlLCAuaW9uLXBhaW50YnJ1c2g6YmVmb3JlLCAuaW9uLXBhaW50YnVja2V0OmJlZm9yZSwgLmlvbi1wYXBlci1haXJwbGFuZTpiZWZvcmUsIC5pb24tcGFwZXJjbGlwOmJlZm9yZSwgLmlvbi1wYXVzZTpiZWZvcmUsIC5pb24tcGVyc29uOmJlZm9yZSwgLmlvbi1wZXJzb24tYWRkOmJlZm9yZSwgLmlvbi1wZXJzb24tc3RhbGtlcjpiZWZvcmUsIC5pb24tcGllLWdyYXBoOmJlZm9yZSwgLmlvbi1waW46YmVmb3JlLCAuaW9uLXBpbnBvaW50OmJlZm9yZSwgLmlvbi1waXp6YTpiZWZvcmUsIC5pb24tcGxhbmU6YmVmb3JlLCAuaW9uLXBsYW5ldDpiZWZvcmUsIC5pb24tcGxheTpiZWZvcmUsIC5pb24tcGxheXN0YXRpb246YmVmb3JlLCAuaW9uLXBsdXM6YmVmb3JlLCAuaW9uLXBsdXMtY2lyY2xlZDpiZWZvcmUsIC5pb24tcGx1cy1yb3VuZDpiZWZvcmUsIC5pb24tcG9kaXVtOmJlZm9yZSwgLmlvbi1wb3VuZDpiZWZvcmUsIC5pb24tcG93ZXI6YmVmb3JlLCAuaW9uLXByaWNldGFnOmJlZm9yZSwgLmlvbi1wcmljZXRhZ3M6YmVmb3JlLCAuaW9uLXByaW50ZXI6YmVmb3JlLCAuaW9uLXB1bGwtcmVxdWVzdDpiZWZvcmUsIC5pb24tcXItc2Nhbm5lcjpiZWZvcmUsIC5pb24tcXVvdGU6YmVmb3JlLCAuaW9uLXJhZGlvLXdhdmVzOmJlZm9yZSwgLmlvbi1yZWNvcmQ6YmVmb3JlLCAuaW9uLXJlZnJlc2g6YmVmb3JlLCAuaW9uLXJlcGx5OmJlZm9yZSwgLmlvbi1yZXBseS1hbGw6YmVmb3JlLCAuaW9uLXJpYmJvbi1hOmJlZm9yZSwgLmlvbi1yaWJib24tYjpiZWZvcmUsIC5pb24tc2FkOmJlZm9yZSwgLmlvbi1zYWQtb3V0bGluZTpiZWZvcmUsIC5pb24tc2Npc3NvcnM6YmVmb3JlLCAuaW9uLXNlYXJjaDpiZWZvcmUsIC5pb24tc2V0dGluZ3M6YmVmb3JlLCAuaW9uLXNoYXJlOmJlZm9yZSwgLmlvbi1zaHVmZmxlOmJlZm9yZSwgLmlvbi1za2lwLWJhY2t3YXJkOmJlZm9yZSwgLmlvbi1za2lwLWZvcndhcmQ6YmVmb3JlLCAuaW9uLXNvY2lhbC1hbmRyb2lkOmJlZm9yZSwgLmlvbi1zb2NpYWwtYW5kcm9pZC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtYW5ndWxhcjpiZWZvcmUsIC5pb24tc29jaWFsLWFuZ3VsYXItb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWFwcGxlOmJlZm9yZSwgLmlvbi1zb2NpYWwtYXBwbGUtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWJpdGNvaW46YmVmb3JlLCAuaW9uLXNvY2lhbC1iaXRjb2luLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1idWZmZXI6YmVmb3JlLCAuaW9uLXNvY2lhbC1idWZmZXItb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWNocm9tZTpiZWZvcmUsIC5pb24tc29jaWFsLWNocm9tZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtY29kZXBlbjpiZWZvcmUsIC5pb24tc29jaWFsLWNvZGVwZW4tb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWNzczM6YmVmb3JlLCAuaW9uLXNvY2lhbC1jc3MzLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1kZXNpZ25lcm5ld3M6YmVmb3JlLCAuaW9uLXNvY2lhbC1kZXNpZ25lcm5ld3Mtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWRyaWJiYmxlOmJlZm9yZSwgLmlvbi1zb2NpYWwtZHJpYmJibGUtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWRyb3Bib3g6YmVmb3JlLCAuaW9uLXNvY2lhbC1kcm9wYm94LW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1ldXJvOmJlZm9yZSwgLmlvbi1zb2NpYWwtZXVyby1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtZmFjZWJvb2s6YmVmb3JlLCAuaW9uLXNvY2lhbC1mYWNlYm9vay1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtZm91cnNxdWFyZTpiZWZvcmUsIC5pb24tc29jaWFsLWZvdXJzcXVhcmUtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWZyZWVic2QtZGV2aWw6YmVmb3JlLCAuaW9uLXNvY2lhbC1naXRodWI6YmVmb3JlLCAuaW9uLXNvY2lhbC1naXRodWItb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWdvb2dsZTpiZWZvcmUsIC5pb24tc29jaWFsLWdvb2dsZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtZ29vZ2xlcGx1czpiZWZvcmUsIC5pb24tc29jaWFsLWdvb2dsZXBsdXMtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWhhY2tlcm5ld3M6YmVmb3JlLCAuaW9uLXNvY2lhbC1oYWNrZXJuZXdzLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1odG1sNTpiZWZvcmUsIC5pb24tc29jaWFsLWh0bWw1LW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1pbnN0YWdyYW06YmVmb3JlLCAuaW9uLXNvY2lhbC1pbnN0YWdyYW0tb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLWphdmFzY3JpcHQ6YmVmb3JlLCAuaW9uLXNvY2lhbC1qYXZhc2NyaXB0LW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1saW5rZWRpbjpiZWZvcmUsIC5pb24tc29jaWFsLWxpbmtlZGluLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1tYXJrZG93bjpiZWZvcmUsIC5pb24tc29jaWFsLW5vZGVqczpiZWZvcmUsIC5pb24tc29jaWFsLW9jdG9jYXQ6YmVmb3JlLCAuaW9uLXNvY2lhbC1waW50ZXJlc3Q6YmVmb3JlLCAuaW9uLXNvY2lhbC1waW50ZXJlc3Qtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXB5dGhvbjpiZWZvcmUsIC5pb24tc29jaWFsLXJlZGRpdDpiZWZvcmUsIC5pb24tc29jaWFsLXJlZGRpdC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtcnNzOmJlZm9yZSwgLmlvbi1zb2NpYWwtcnNzLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC1zYXNzOmJlZm9yZSwgLmlvbi1zb2NpYWwtc2t5cGU6YmVmb3JlLCAuaW9uLXNvY2lhbC1za3lwZS1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtc25hcGNoYXQ6YmVmb3JlLCAuaW9uLXNvY2lhbC1zbmFwY2hhdC1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwtdHVtYmxyOmJlZm9yZSwgLmlvbi1zb2NpYWwtdHVtYmxyLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC10dXg6YmVmb3JlLCAuaW9uLXNvY2lhbC10d2l0Y2g6YmVmb3JlLCAuaW9uLXNvY2lhbC10d2l0Y2gtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXR3aXR0ZXI6YmVmb3JlLCAuaW9uLXNvY2lhbC10d2l0dGVyLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC11c2Q6YmVmb3JlLCAuaW9uLXNvY2lhbC11c2Qtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXZpbWVvOmJlZm9yZSwgLmlvbi1zb2NpYWwtdmltZW8tb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXdoYXRzYXBwOmJlZm9yZSwgLmlvbi1zb2NpYWwtd2hhdHNhcHAtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXdpbmRvd3M6YmVmb3JlLCAuaW9uLXNvY2lhbC13aW5kb3dzLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNvY2lhbC13b3JkcHJlc3M6YmVmb3JlLCAuaW9uLXNvY2lhbC13b3JkcHJlc3Mtb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXlhaG9vOmJlZm9yZSwgLmlvbi1zb2NpYWwteWFob28tb3V0bGluZTpiZWZvcmUsIC5pb24tc29jaWFsLXllbjpiZWZvcmUsIC5pb24tc29jaWFsLXllbi1vdXRsaW5lOmJlZm9yZSwgLmlvbi1zb2NpYWwteW91dHViZTpiZWZvcmUsIC5pb24tc29jaWFsLXlvdXR1YmUtb3V0bGluZTpiZWZvcmUsIC5pb24tc291cC1jYW46YmVmb3JlLCAuaW9uLXNvdXAtY2FuLW91dGxpbmU6YmVmb3JlLCAuaW9uLXNwZWFrZXJwaG9uZTpiZWZvcmUsIC5pb24tc3BlZWRvbWV0ZXI6YmVmb3JlLCAuaW9uLXNwb29uOmJlZm9yZSwgLmlvbi1zdGFyOmJlZm9yZSwgLmlvbi1zdGF0cy1iYXJzOmJlZm9yZSwgLmlvbi1zdGVhbTpiZWZvcmUsIC5pb24tc3RvcDpiZWZvcmUsIC5pb24tdGhlcm1vbWV0ZXI6YmVmb3JlLCAuaW9uLXRodW1ic2Rvd246YmVmb3JlLCAuaW9uLXRodW1ic3VwOmJlZm9yZSwgLmlvbi10b2dnbGU6YmVmb3JlLCAuaW9uLXRvZ2dsZS1maWxsZWQ6YmVmb3JlLCAuaW9uLXRyYW5zZ2VuZGVyOmJlZm9yZSwgLmlvbi10cmFzaC1hOmJlZm9yZSwgLmlvbi10cmFzaC1iOmJlZm9yZSwgLmlvbi10cm9waHk6YmVmb3JlLCAuaW9uLXRzaGlydDpiZWZvcmUsIC5pb24tdHNoaXJ0LW91dGxpbmU6YmVmb3JlLCAuaW9uLXVtYnJlbGxhOmJlZm9yZSwgLmlvbi11bml2ZXJzaXR5OmJlZm9yZSwgLmlvbi11bmxvY2tlZDpiZWZvcmUsIC5pb24tdXBsb2FkOmJlZm9yZSwgLmlvbi11c2I6YmVmb3JlLCAuaW9uLXZpZGVvY2FtZXJhOmJlZm9yZSwgLmlvbi12b2x1bWUtaGlnaDpiZWZvcmUsIC5pb24tdm9sdW1lLWxvdzpiZWZvcmUsIC5pb24tdm9sdW1lLW1lZGl1bTpiZWZvcmUsIC5pb24tdm9sdW1lLW11dGU6YmVmb3JlLCAuaW9uLXdhbmQ6YmVmb3JlLCAuaW9uLXdhdGVyZHJvcDpiZWZvcmUsIC5pb24td2lmaTpiZWZvcmUsIC5pb24td2luZWdsYXNzOmJlZm9yZSwgLmlvbi13b21hbjpiZWZvcmUsIC5pb24td3JlbmNoOmJlZm9yZSwgLmlvbi14Ym94OmJlZm9yZSB7IGRpc3BsYXk6IGlubGluZS1ibG9jazsgZm9udC1mYW1pbHk6ICJJb25pY29ucyI7IHNwZWFrOiBub25lOyBmb250LXN0eWxlOiBub3JtYWw7IGZvbnQtd2VpZ2h0OiBub3JtYWw7IGZvbnQtdmFyaWFudDogbm9ybWFsOyB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgdGV4dC1yZW5kZXJpbmc6IGF1dG87IGxpbmUtaGVpZ2h0OiAxOyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfQoKLmlvbi1hbGVydDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDEiOyB9CgouaW9uLWFsZXJ0LWNpcmNsZWQ6YmVmb3JlIHsgY29udGVudDogIlxmMTAwIjsgfQoKLmlvbi1hbmRyb2lkLWFkZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyYzciOyB9CgouaW9uLWFuZHJvaWQtYWRkLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNTkiOyB9CgouaW9uLWFuZHJvaWQtYWxhcm0tY2xvY2s6YmVmb3JlIHsgY29udGVudDogIlxmMzVhIjsgfQoKLmlvbi1hbmRyb2lkLWFsZXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1YiI7IH0KCi5pb24tYW5kcm9pZC1hcHBzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1YyI7IH0KCi5pb24tYW5kcm9pZC1hcmNoaXZlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJjOSI7IH0KCi5pb24tYW5kcm9pZC1hcnJvdy1iYWNrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJjYSI7IH0KCi5pb24tYW5kcm9pZC1hcnJvdy1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1ZCI7IH0KCi5pb24tYW5kcm9pZC1hcnJvdy1kcm9wZG93bjpiZWZvcmUgeyBjb250ZW50OiAiXGYzNWYiOyB9CgouaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGRvd24tY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1ZSI7IH0KCi5pb24tYW5kcm9pZC1hcnJvdy1kcm9wbGVmdDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNjEiOyB9CgouaW9uLWFuZHJvaWQtYXJyb3ctZHJvcGxlZnQtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM2MCI7IH0KCi5pb24tYW5kcm9pZC1hcnJvdy1kcm9wcmlnaHQ6YmVmb3JlIHsgY29udGVudDogIlxmMzYzIjsgfQoKLmlvbi1hbmRyb2lkLWFycm93LWRyb3ByaWdodC1jaXJjbGU6YmVmb3JlIHsgY29udGVudDogIlxmMzYyIjsgfQoKLmlvbi1hbmRyb2lkLWFycm93LWRyb3B1cDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNjUiOyB9CgouaW9uLWFuZHJvaWQtYXJyb3ctZHJvcHVwLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNjQiOyB9CgouaW9uLWFuZHJvaWQtYXJyb3ctZm9yd2FyZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzMGYiOyB9CgouaW9uLWFuZHJvaWQtYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogIlxmMzY2IjsgfQoKLmlvbi1hbmRyb2lkLWF0dGFjaDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNjciOyB9CgouaW9uLWFuZHJvaWQtYmFyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM2OCI7IH0KCi5pb24tYW5kcm9pZC1iaWN5Y2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM2OSI7IH0KCi5pb24tYW5kcm9pZC1ib2F0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM2YSI7IH0KCi5pb24tYW5kcm9pZC1ib29rbWFyazpiZWZvcmUgeyBjb250ZW50OiAiXGYzNmIiOyB9CgouaW9uLWFuZHJvaWQtYnVsYjpiZWZvcmUgeyBjb250ZW50OiAiXGYzNmMiOyB9CgouaW9uLWFuZHJvaWQtYnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM2ZCI7IH0KCi5pb24tYW5kcm9pZC1jYWxlbmRhcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyZDEiOyB9CgouaW9uLWFuZHJvaWQtY2FsbDpiZWZvcmUgeyBjb250ZW50OiAiXGYyZDIiOyB9CgouaW9uLWFuZHJvaWQtY2FtZXJhOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJkMyI7IH0KCi5pb24tYW5kcm9pZC1jYW5jZWw6YmVmb3JlIHsgY29udGVudDogIlxmMzZlIjsgfQoKLmlvbi1hbmRyb2lkLWNhcjpiZWZvcmUgeyBjb250ZW50OiAiXGYzNmYiOyB9CgouaW9uLWFuZHJvaWQtY2FydDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNzAiOyB9CgouaW9uLWFuZHJvaWQtY2hhdDpiZWZvcmUgeyBjb250ZW50OiAiXGYyZDQiOyB9CgouaW9uLWFuZHJvaWQtY2hlY2tib3g6YmVmb3JlIHsgY29udGVudDogIlxmMzc0IjsgfQoKLmlvbi1hbmRyb2lkLWNoZWNrYm94LWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3MSI7IH0KCi5pb24tYW5kcm9pZC1jaGVja2JveC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3MyI7IH0KCi5pb24tYW5kcm9pZC1jaGVja2JveC1vdXRsaW5lLWJsYW5rOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3MiI7IH0KCi5pb24tYW5kcm9pZC1jaGVja21hcmstY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3NSI7IH0KCi5pb24tYW5kcm9pZC1jbGlwYm9hcmQ6YmVmb3JlIHsgY29udGVudDogIlxmMzc2IjsgfQoKLmlvbi1hbmRyb2lkLWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJkNyI7IH0KCi5pb24tYW5kcm9pZC1jbG91ZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzN2EiOyB9CgouaW9uLWFuZHJvaWQtY2xvdWQtY2lyY2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3NyI7IH0KCi5pb24tYW5kcm9pZC1jbG91ZC1kb25lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3OCI7IH0KCi5pb24tYW5kcm9pZC1jbG91ZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3OSI7IH0KCi5pb24tYW5kcm9pZC1jb2xvci1wYWxldHRlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3YiI7IH0KCi5pb24tYW5kcm9pZC1jb21wYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3YyI7IH0KCi5pb24tYW5kcm9pZC1jb250YWN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJkOCI7IH0KCi5pb24tYW5kcm9pZC1jb250YWN0czpiZWZvcmUgeyBjb250ZW50OiAiXGYyZDkiOyB9CgouaW9uLWFuZHJvaWQtY29udHJhY3Q6YmVmb3JlIHsgY29udGVudDogIlxmMzdkIjsgfQoKLmlvbi1hbmRyb2lkLWNyZWF0ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzN2UiOyB9CgouaW9uLWFuZHJvaWQtZGVsZXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM3ZiI7IH0KCi5pb24tYW5kcm9pZC1kZXNrdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4MCI7IH0KCi5pb24tYW5kcm9pZC1kb2N1bWVudDpiZWZvcmUgeyBjb250ZW50OiAiXGYzODEiOyB9CgouaW9uLWFuZHJvaWQtZG9uZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzODMiOyB9CgouaW9uLWFuZHJvaWQtZG9uZS1hbGw6YmVmb3JlIHsgY29udGVudDogIlxmMzgyIjsgfQoKLmlvbi1hbmRyb2lkLWRvd25sb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJkZCI7IH0KCi5pb24tYW5kcm9pZC1kcmFmdHM6YmVmb3JlIHsgY29udGVudDogIlxmMzg0IjsgfQoKLmlvbi1hbmRyb2lkLWV4aXQ6YmVmb3JlIHsgY29udGVudDogIlxmMzg1IjsgfQoKLmlvbi1hbmRyb2lkLWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzODYiOyB9CgouaW9uLWFuZHJvaWQtZmF2b3JpdGU6YmVmb3JlIHsgY29udGVudDogIlxmMzg4IjsgfQoKLmlvbi1hbmRyb2lkLWZhdm9yaXRlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMzg3IjsgfQoKLmlvbi1hbmRyb2lkLWZpbG06YmVmb3JlIHsgY29udGVudDogIlxmMzg5IjsgfQoKLmlvbi1hbmRyb2lkLWZvbGRlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyZTAiOyB9CgouaW9uLWFuZHJvaWQtZm9sZGVyLW9wZW46YmVmb3JlIHsgY29udGVudDogIlxmMzhhIjsgfQoKLmlvbi1hbmRyb2lkLWZ1bm5lbDpiZWZvcmUgeyBjb250ZW50OiAiXGYzOGIiOyB9CgouaW9uLWFuZHJvaWQtZ2xvYmU6YmVmb3JlIHsgY29udGVudDogIlxmMzhjIjsgfQoKLmlvbi1hbmRyb2lkLWhhbmQ6YmVmb3JlIHsgY29udGVudDogIlxmMmUzIjsgfQoKLmlvbi1hbmRyb2lkLWhhbmdvdXQ6YmVmb3JlIHsgY29udGVudDogIlxmMzhkIjsgfQoKLmlvbi1hbmRyb2lkLWhhcHB5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4ZSI7IH0KCi5pb24tYW5kcm9pZC1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM4ZiI7IH0KCi5pb24tYW5kcm9pZC1pbWFnZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyZTQiOyB9CgouaW9uLWFuZHJvaWQtbGFwdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM5MCI7IH0KCi5pb24tYW5kcm9pZC1saXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM5MSI7IH0KCi5pb24tYW5kcm9pZC1sb2NhdGU6YmVmb3JlIHsgY29udGVudDogIlxmMmU5IjsgfQoKLmlvbi1hbmRyb2lkLWxvY2s6YmVmb3JlIHsgY29udGVudDogIlxmMzkyIjsgfQoKLmlvbi1hbmRyb2lkLW1haWw6YmVmb3JlIHsgY29udGVudDogIlxmMmViIjsgfQoKLmlvbi1hbmRyb2lkLW1hcDpiZWZvcmUgeyBjb250ZW50OiAiXGYzOTMiOyB9CgouaW9uLWFuZHJvaWQtbWVudTpiZWZvcmUgeyBjb250ZW50OiAiXGYzOTQiOyB9CgouaW9uLWFuZHJvaWQtbWljcm9waG9uZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyZWMiOyB9CgouaW9uLWFuZHJvaWQtbWljcm9waG9uZS1vZmY6YmVmb3JlIHsgY29udGVudDogIlxmMzk1IjsgfQoKLmlvbi1hbmRyb2lkLW1vcmUtaG9yaXpvbnRhbDpiZWZvcmUgeyBjb250ZW50OiAiXGYzOTYiOyB9CgouaW9uLWFuZHJvaWQtbW9yZS12ZXJ0aWNhbDpiZWZvcmUgeyBjb250ZW50OiAiXGYzOTciOyB9CgouaW9uLWFuZHJvaWQtbmF2aWdhdGU6YmVmb3JlIHsgY29udGVudDogIlxmMzk4IjsgfQoKLmlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnM6YmVmb3JlIHsgY29udGVudDogIlxmMzliIjsgfQoKLmlvbi1hbmRyb2lkLW5vdGlmaWNhdGlvbnMtbm9uZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzOTkiOyB9CgouaW9uLWFuZHJvaWQtbm90aWZpY2F0aW9ucy1vZmY6YmVmb3JlIHsgY29udGVudDogIlxmMzlhIjsgfQoKLmlvbi1hbmRyb2lkLW9wZW46YmVmb3JlIHsgY29udGVudDogIlxmMzljIjsgfQoKLmlvbi1hbmRyb2lkLW9wdGlvbnM6YmVmb3JlIHsgY29udGVudDogIlxmMzlkIjsgfQoKLmlvbi1hbmRyb2lkLXBlb3BsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzOWUiOyB9CgouaW9uLWFuZHJvaWQtcGVyc29uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhMCI7IH0KCi5pb24tYW5kcm9pZC1wZXJzb24tYWRkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM5ZiI7IH0KCi5pb24tYW5kcm9pZC1waG9uZS1sYW5kc2NhcGU6YmVmb3JlIHsgY29udGVudDogIlxmM2ExIjsgfQoKLmlvbi1hbmRyb2lkLXBob25lLXBvcnRyYWl0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhMiI7IH0KCi5pb24tYW5kcm9pZC1waW46YmVmb3JlIHsgY29udGVudDogIlxmM2EzIjsgfQoKLmlvbi1hbmRyb2lkLXBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhNCI7IH0KCi5pb24tYW5kcm9pZC1wbGF5c3RvcmU6YmVmb3JlIHsgY29udGVudDogIlxmMmYwIjsgfQoKLmlvbi1hbmRyb2lkLXByaW50OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhNSI7IH0KCi5pb24tYW5kcm9pZC1yYWRpby1idXR0b24tb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhNiI7IH0KCi5pb24tYW5kcm9pZC1yYWRpby1idXR0b24tb246YmVmb3JlIHsgY29udGVudDogIlxmM2E3IjsgfQoKLmlvbi1hbmRyb2lkLXJlZnJlc2g6YmVmb3JlIHsgY29udGVudDogIlxmM2E4IjsgfQoKLmlvbi1hbmRyb2lkLXJlbW92ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyZjQiOyB9CgouaW9uLWFuZHJvaWQtcmVtb3ZlLWNpcmNsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzYTkiOyB9CgouaW9uLWFuZHJvaWQtcmVzdGF1cmFudDpiZWZvcmUgeyBjb250ZW50OiAiXGYzYWEiOyB9CgouaW9uLWFuZHJvaWQtc2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhYiI7IH0KCi5pb24tYW5kcm9pZC1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogIlxmMmY1IjsgfQoKLmlvbi1hbmRyb2lkLXNlbmQ6YmVmb3JlIHsgY29udGVudDogIlxmMmY2IjsgfQoKLmlvbi1hbmRyb2lkLXNldHRpbmdzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJmNyI7IH0KCi5pb24tYW5kcm9pZC1zaGFyZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyZjgiOyB9CgouaW9uLWFuZHJvaWQtc2hhcmUtYWx0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNhYyI7IH0KCi5pb24tYW5kcm9pZC1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJmYyI7IH0KCi5pb24tYW5kcm9pZC1zdGFyLWhhbGY6YmVmb3JlIHsgY29udGVudDogIlxmM2FkIjsgfQoKLmlvbi1hbmRyb2lkLXN0YXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzYWUiOyB9CgouaW9uLWFuZHJvaWQtc3RvcHdhdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJmZCI7IH0KCi5pb24tYW5kcm9pZC1zdWJ3YXk6YmVmb3JlIHsgY29udGVudDogIlxmM2FmIjsgfQoKLmlvbi1hbmRyb2lkLXN1bm55OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiMCI7IH0KCi5pb24tYW5kcm9pZC1zeW5jOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiMSI7IH0KCi5pb24tYW5kcm9pZC10ZXh0c21zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiMiI7IH0KCi5pb24tYW5kcm9pZC10aW1lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiMyI7IH0KCi5pb24tYW5kcm9pZC10cmFpbjpiZWZvcmUgeyBjb250ZW50OiAiXGYzYjQiOyB9CgouaW9uLWFuZHJvaWQtdW5sb2NrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiNSI7IH0KCi5pb24tYW5kcm9pZC11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogIlxmM2I2IjsgfQoKLmlvbi1hbmRyb2lkLXZvbHVtZS1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiNyI7IH0KCi5pb24tYW5kcm9pZC12b2x1bWUtbXV0ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzYjgiOyB9CgouaW9uLWFuZHJvaWQtdm9sdW1lLW9mZjpiZWZvcmUgeyBjb250ZW50OiAiXGYzYjkiOyB9CgouaW9uLWFuZHJvaWQtdm9sdW1lLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiYSI7IH0KCi5pb24tYW5kcm9pZC13YWxrOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiYiI7IH0KCi5pb24tYW5kcm9pZC13YXJuaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiYyI7IH0KCi5pb24tYW5kcm9pZC13YXRjaDpiZWZvcmUgeyBjb250ZW50OiAiXGYzYmQiOyB9CgouaW9uLWFuZHJvaWQtd2lmaTpiZWZvcmUgeyBjb250ZW50OiAiXGYzMDUiOyB9CgouaW9uLWFwZXJ0dXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMxMyI7IH0KCi5pb24tYXJjaGl2ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDIiOyB9CgouaW9uLWFycm93LWRvd24tYTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDMiOyB9CgouaW9uLWFycm93LWRvd24tYjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDQiOyB9CgouaW9uLWFycm93LWRvd24tYzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMDUiOyB9CgouaW9uLWFycm93LWV4cGFuZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyNWUiOyB9CgouaW9uLWFycm93LWdyYXBoLWRvd24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAiXGYyNWYiOyB9CgouaW9uLWFycm93LWdyYXBoLWRvd24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogIlxmMjYwIjsgfQoKLmlvbi1hcnJvdy1ncmFwaC11cC1sZWZ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2MSI7IH0KCi5pb24tYXJyb3ctZ3JhcGgtdXAtcmlnaHQ6YmVmb3JlIHsgY29udGVudDogIlxmMjYyIjsgfQoKLmlvbi1hcnJvdy1sZWZ0LWE6YmVmb3JlIHsgY29udGVudDogIlxmMTA2IjsgfQoKLmlvbi1hcnJvdy1sZWZ0LWI6YmVmb3JlIHsgY29udGVudDogIlxmMTA3IjsgfQoKLmlvbi1hcnJvdy1sZWZ0LWM6YmVmb3JlIHsgY29udGVudDogIlxmMTA4IjsgfQoKLmlvbi1hcnJvdy1tb3ZlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2MyI7IH0KCi5pb24tYXJyb3ctcmVzaXplOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2NCI7IH0KCi5pb24tYXJyb3ctcmV0dXJuLWxlZnQ6YmVmb3JlIHsgY29udGVudDogIlxmMjY1IjsgfQoKLmlvbi1hcnJvdy1yZXR1cm4tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogIlxmMjY2IjsgfQoKLmlvbi1hcnJvdy1yaWdodC1hOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwOSI7IH0KCi5pb24tYXJyb3ctcmlnaHQtYjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGEiOyB9CgouaW9uLWFycm93LXJpZ2h0LWM6YmVmb3JlIHsgY29udGVudDogIlxmMTBiIjsgfQoKLmlvbi1hcnJvdy1zaHJpbms6YmVmb3JlIHsgY29udGVudDogIlxmMjY3IjsgfQoKLmlvbi1hcnJvdy1zd2FwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2OCI7IH0KCi5pb24tYXJyb3ctdXAtYTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGMiOyB9CgouaW9uLWFycm93LXVwLWI6YmVmb3JlIHsgY29udGVudDogIlxmMTBkIjsgfQoKLmlvbi1hcnJvdy11cC1jOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEwZSI7IH0KCi5pb24tYXN0ZXJpc2s6YmVmb3JlIHsgY29udGVudDogIlxmMzE0IjsgfQoKLmlvbi1hdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMGYiOyB9CgouaW9uLWJhY2tzcGFjZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzYmYiOyB9CgouaW9uLWJhY2tzcGFjZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNiZSI7IH0KCi5pb24tYmFnOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExMCI7IH0KCi5pb24tYmF0dGVyeS1jaGFyZ2luZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTEiOyB9CgouaW9uLWJhdHRlcnktZW1wdHk6YmVmb3JlIHsgY29udGVudDogIlxmMTEyIjsgfQoKLmlvbi1iYXR0ZXJ5LWZ1bGw6YmVmb3JlIHsgY29udGVudDogIlxmMTEzIjsgfQoKLmlvbi1iYXR0ZXJ5LWhhbGY6YmVmb3JlIHsgY29udGVudDogIlxmMTE0IjsgfQoKLmlvbi1iYXR0ZXJ5LWxvdzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMTUiOyB9CgouaW9uLWJlYWtlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyNjkiOyB9CgouaW9uLWJlZXI6YmVmb3JlIHsgY29udGVudDogIlxmMjZhIjsgfQoKLmlvbi1ibHVldG9vdGg6YmVmb3JlIHsgY29udGVudDogIlxmMTE2IjsgfQoKLmlvbi1ib25maXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMxNSI7IH0KCi5pb24tYm9va21hcms6YmVmb3JlIHsgY29udGVudDogIlxmMjZiIjsgfQoKLmlvbi1ib3d0aWU6YmVmb3JlIHsgY29udGVudDogIlxmM2MwIjsgfQoKLmlvbi1icmllZmNhc2U6YmVmb3JlIHsgY29udGVudDogIlxmMjZjIjsgfQoKLmlvbi1idWc6YmVmb3JlIHsgY29udGVudDogIlxmMmJlIjsgfQoKLmlvbi1jYWxjdWxhdG9yOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI2ZCI7IH0KCi5pb24tY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogIlxmMTE3IjsgfQoKLmlvbi1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogIlxmMTE4IjsgfQoKLmlvbi1jYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExOSI7IH0KCi5pb24tY2FzaDpiZWZvcmUgeyBjb250ZW50OiAiXGYzMTYiOyB9CgouaW9uLWNoYXRib3g6YmVmb3JlIHsgY29udGVudDogIlxmMTFiIjsgfQoKLmlvbi1jaGF0Ym94LXdvcmtpbmc6YmVmb3JlIHsgY29udGVudDogIlxmMTFhIjsgfQoKLmlvbi1jaGF0Ym94ZXM6YmVmb3JlIHsgY29udGVudDogIlxmMTFjIjsgfQoKLmlvbi1jaGF0YnViYmxlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExZSI7IH0KCi5pb24tY2hhdGJ1YmJsZS13b3JraW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjExZCI7IH0KCi5pb24tY2hhdGJ1YmJsZXM6YmVmb3JlIHsgY29udGVudDogIlxmMTFmIjsgfQoKLmlvbi1jaGVja21hcms6YmVmb3JlIHsgY29udGVudDogIlxmMTIyIjsgfQoKLmlvbi1jaGVja21hcmstY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjAiOyB9CgouaW9uLWNoZWNrbWFyay1yb3VuZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjEiOyB9CgouaW9uLWNoZXZyb24tZG93bjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjMiOyB9CgouaW9uLWNoZXZyb24tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjQiOyB9CgouaW9uLWNoZXZyb24tcmlnaHQ6YmVmb3JlIHsgY29udGVudDogIlxmMTI1IjsgfQoKLmlvbi1jaGV2cm9uLXVwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyNiI7IH0KCi5pb24tY2xpcGJvYXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyNyI7IH0KCi5pb24tY2xvY2s6YmVmb3JlIHsgY29udGVudDogIlxmMjZlIjsgfQoKLmlvbi1jbG9zZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmEiOyB9CgouaW9uLWNsb3NlLWNpcmNsZWQ6YmVmb3JlIHsgY29udGVudDogIlxmMTI4IjsgfQoKLmlvbi1jbG9zZS1yb3VuZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMjkiOyB9CgouaW9uLWNsb3NlZC1jYXB0aW9uaW5nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMxNyI7IH0KCi5pb24tY2xvdWQ6YmVmb3JlIHsgY29udGVudDogIlxmMTJiIjsgfQoKLmlvbi1jb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI3MSI7IH0KCi5pb24tY29kZS1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyNmYiOyB9CgouaW9uLWNvZGUtd29ya2luZzpiZWZvcmUgeyBjb250ZW50OiAiXGYyNzAiOyB9CgouaW9uLWNvZmZlZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNzIiOyB9CgouaW9uLWNvbXBhc3M6YmVmb3JlIHsgY29udGVudDogIlxmMjczIjsgfQoKLmlvbi1jb21wb3NlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEyYyI7IH0KCi5pb24tY29ubmVjdGlvbi1iYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI3NCI7IH0KCi5pb24tY29udHJhc3Q6YmVmb3JlIHsgY29udGVudDogIlxmMjc1IjsgfQoKLmlvbi1jcm9wOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNjMSI7IH0KCi5pb24tY3ViZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzMTgiOyB9CgouaW9uLWRpc2M6YmVmb3JlIHsgY29udGVudDogIlxmMTJkIjsgfQoKLmlvbi1kb2N1bWVudDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMmYiOyB9CgouaW9uLWRvY3VtZW50LXRleHQ6YmVmb3JlIHsgY29udGVudDogIlxmMTJlIjsgfQoKLmlvbi1kcmFnOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzMCI7IH0KCi5pb24tZWFydGg6YmVmb3JlIHsgY29udGVudDogIlxmMjc2IjsgfQoKLmlvbi1lYXNlbDpiZWZvcmUgeyBjb250ZW50OiAiXGYzYzIiOyB9CgouaW9uLWVkaXQ6YmVmb3JlIHsgY29udGVudDogIlxmMmJmIjsgfQoKLmlvbi1lZ2c6YmVmb3JlIHsgY29udGVudDogIlxmMjc3IjsgfQoKLmlvbi1lamVjdDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzEiOyB9CgouaW9uLWVtYWlsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzMiI7IH0KCi5pb24tZW1haWwtdW5yZWFkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNjMyI7IH0KCi5pb24tZXJsZW5tZXllci1mbGFzazpiZWZvcmUgeyBjb250ZW50OiAiXGYzYzUiOyB9CgouaW9uLWVybGVubWV5ZXItZmxhc2stYnViYmxlczpiZWZvcmUgeyBjb250ZW50OiAiXGYzYzQiOyB9CgouaW9uLWV5ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzMiOyB9CgouaW9uLWV5ZS1kaXNhYmxlZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzMDYiOyB9CgouaW9uLWZlbWFsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNzgiOyB9CgouaW9uLWZpbGluZzpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzQiOyB9CgouaW9uLWZpbG0tbWFya2VyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzNSI7IH0KCi5pb24tZmlyZWJhbGw6YmVmb3JlIHsgY29udGVudDogIlxmMzE5IjsgfQoKLmlvbi1mbGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI3OSI7IH0KCi5pb24tZmxhbWU6YmVmb3JlIHsgY29udGVudDogIlxmMzFhIjsgfQoKLmlvbi1mbGFzaDpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzciOyB9CgouaW9uLWZsYXNoLW9mZjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzYiOyB9CgouaW9uLWZvbGRlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYxMzkiOyB9CgouaW9uLWZvcms6YmVmb3JlIHsgY29udGVudDogIlxmMjdhIjsgfQoKLmlvbi1mb3JrLXJlcG86YmVmb3JlIHsgY29udGVudDogIlxmMmMwIjsgfQoKLmlvbi1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzYSI7IH0KCi5pb24tZnVubmVsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMxYiI7IH0KCi5pb24tZ2Vhci1hOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzZCI7IH0KCi5pb24tZ2Vhci1iOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjEzZSI7IH0KCi5pb24tZ3JpZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxM2YiOyB9CgouaW9uLWhhbW1lcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyN2IiOyB9CgouaW9uLWhhcHB5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMxYyI7IH0KCi5pb24taGFwcHktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzYzYiOyB9CgouaW9uLWhlYWRwaG9uZTpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDAiOyB9CgouaW9uLWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0MSI7IH0KCi5pb24taGVhcnQtYnJva2VuOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMxZCI7IH0KCi5pb24taGVscDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDMiOyB9CgouaW9uLWhlbHAtYnVveTpiZWZvcmUgeyBjb250ZW50OiAiXGYyN2MiOyB9CgouaW9uLWhlbHAtY2lyY2xlZDpiZWZvcmUgeyBjb250ZW50OiAiXGYxNDIiOyB9CgouaW9uLWhvbWU6YmVmb3JlIHsgY29udGVudDogIlxmMTQ0IjsgfQoKLmlvbi1pY2VjcmVhbTpiZWZvcmUgeyBjb250ZW50OiAiXGYyN2QiOyB9CgouaW9uLWltYWdlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0NyI7IH0KCi5pb24taW1hZ2VzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0OCI7IH0KCi5pb24taW5mb3JtYXRpb246YmVmb3JlIHsgY29udGVudDogIlxmMTRhIjsgfQoKLmlvbi1pbmZvcm1hdGlvbi1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjE0OSI7IH0KCi5pb24taW9uaWM6YmVmb3JlIHsgY29udGVudDogIlxmMTRiIjsgfQoKLmlvbi1pb3MtYWxhcm06YmVmb3JlIHsgY29udGVudDogIlxmM2M4IjsgfQoKLmlvbi1pb3MtYWxhcm0tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzYzciOyB9CgouaW9uLWlvcy1hbGJ1bXM6YmVmb3JlIHsgY29udGVudDogIlxmM2NhIjsgfQoKLmlvbi1pb3MtYWxidW1zLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2M5IjsgfQoKLmlvbi1pb3MtYW1lcmljYW5mb290YmFsbDpiZWZvcmUgeyBjb250ZW50OiAiXGYzY2MiOyB9CgouaW9uLWlvcy1hbWVyaWNhbmZvb3RiYWxsLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2NiIjsgfQoKLmlvbi1pb3MtYW5hbHl0aWNzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNjZSI7IH0KCi5pb24taW9zLWFuYWx5dGljcy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNjZCI7IH0KCi5pb24taW9zLWFycm93LWJhY2s6YmVmb3JlIHsgY29udGVudDogIlxmM2NmIjsgfQoKLmlvbi1pb3MtYXJyb3ctZG93bjpiZWZvcmUgeyBjb250ZW50OiAiXGYzZDAiOyB9CgouaW9uLWlvcy1hcnJvdy1mb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkMSI7IH0KCi5pb24taW9zLWFycm93LWxlZnQ6YmVmb3JlIHsgY29udGVudDogIlxmM2QyIjsgfQoKLmlvbi1pb3MtYXJyb3ctcmlnaHQ6YmVmb3JlIHsgY29udGVudDogIlxmM2QzIjsgfQoKLmlvbi1pb3MtYXJyb3ctdGhpbi1kb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkNCI7IH0KCi5pb24taW9zLWFycm93LXRoaW4tbGVmdDpiZWZvcmUgeyBjb250ZW50OiAiXGYzZDUiOyB9CgouaW9uLWlvcy1hcnJvdy10aGluLXJpZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkNiI7IH0KCi5pb24taW9zLWFycm93LXRoaW4tdXA6YmVmb3JlIHsgY29udGVudDogIlxmM2Q3IjsgfQoKLmlvbi1pb3MtYXJyb3ctdXA6YmVmb3JlIHsgY29udGVudDogIlxmM2Q4IjsgfQoKLmlvbi1pb3MtYXQ6YmVmb3JlIHsgY29udGVudDogIlxmM2RhIjsgfQoKLmlvbi1pb3MtYXQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZDkiOyB9CgouaW9uLWlvcy1iYXJjb2RlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkYyI7IH0KCi5pb24taW9zLWJhcmNvZGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZGIiOyB9CgouaW9uLWlvcy1iYXNlYmFsbDpiZWZvcmUgeyBjb250ZW50OiAiXGYzZGUiOyB9CgouaW9uLWlvcy1iYXNlYmFsbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkZCI7IH0KCi5pb24taW9zLWJhc2tldGJhbGw6YmVmb3JlIHsgY29udGVudDogIlxmM2UwIjsgfQoKLmlvbi1pb3MtYmFza2V0YmFsbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNkZiI7IH0KCi5pb24taW9zLWJlbGw6YmVmb3JlIHsgY29udGVudDogIlxmM2UyIjsgfQoKLmlvbi1pb3MtYmVsbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlMSI7IH0KCi5pb24taW9zLWJvZHk6YmVmb3JlIHsgY29udGVudDogIlxmM2U0IjsgfQoKLmlvbi1pb3MtYm9keS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlMyI7IH0KCi5pb24taW9zLWJvbHQ6YmVmb3JlIHsgY29udGVudDogIlxmM2U2IjsgfQoKLmlvbi1pb3MtYm9sdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlNSI7IH0KCi5pb24taW9zLWJvb2s6YmVmb3JlIHsgY29udGVudDogIlxmM2U4IjsgfQoKLmlvbi1pb3MtYm9vay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlNyI7IH0KCi5pb24taW9zLWJvb2ttYXJrczpiZWZvcmUgeyBjb250ZW50OiAiXGYzZWEiOyB9CgouaW9uLWlvcy1ib29rbWFya3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZTkiOyB9CgouaW9uLWlvcy1ib3g6YmVmb3JlIHsgY29udGVudDogIlxmM2VjIjsgfQoKLmlvbi1pb3MtYm94LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2ViIjsgfQoKLmlvbi1pb3MtYnJpZWZjYXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlZSI7IH0KCi5pb24taW9zLWJyaWVmY2FzZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNlZCI7IH0KCi5pb24taW9zLWJyb3dzZXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmMCI7IH0KCi5pb24taW9zLWJyb3dzZXJzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2VmIjsgfQoKLmlvbi1pb3MtY2FsY3VsYXRvcjpiZWZvcmUgeyBjb250ZW50OiAiXGYzZjIiOyB9CgouaW9uLWlvcy1jYWxjdWxhdG9yLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2YxIjsgfQoKLmlvbi1pb3MtY2FsZW5kYXI6YmVmb3JlIHsgY29udGVudDogIlxmM2Y0IjsgfQoKLmlvbi1pb3MtY2FsZW5kYXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzZjMiOyB9CgouaW9uLWlvcy1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogIlxmM2Y2IjsgfQoKLmlvbi1pb3MtY2FtZXJhLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2Y1IjsgfQoKLmlvbi1pb3MtY2FydDpiZWZvcmUgeyBjb250ZW50OiAiXGYzZjgiOyB9CgouaW9uLWlvcy1jYXJ0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2Y3IjsgfQoKLmlvbi1pb3MtY2hhdGJveGVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmYSI7IH0KCi5pb24taW9zLWNoYXRib3hlcy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmOSI7IH0KCi5pb24taW9zLWNoYXRidWJibGU6YmVmb3JlIHsgY29udGVudDogIlxmM2ZjIjsgfQoKLmlvbi1pb3MtY2hhdGJ1YmJsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjNmYiI7IH0KCi5pb24taW9zLWNoZWNrbWFyazpiZWZvcmUgeyBjb250ZW50OiAiXGYzZmYiOyB9CgouaW9uLWlvcy1jaGVja21hcmstZW1wdHk6YmVmb3JlIHsgY29udGVudDogIlxmM2ZkIjsgfQoKLmlvbi1pb3MtY2hlY2ttYXJrLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmM2ZlIjsgfQoKLmlvbi1pb3MtY2lyY2xlLWZpbGxlZDpiZWZvcmUgeyBjb250ZW50OiAiXGY0MDAiOyB9CgouaW9uLWlvcy1jaXJjbGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MDEiOyB9CgouaW9uLWlvcy1jbG9jazpiZWZvcmUgeyBjb250ZW50OiAiXGY0MDMiOyB9CgouaW9uLWlvcy1jbG9jay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQwMiI7IH0KCi5pb24taW9zLWNsb3NlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQwNiI7IH0KCi5pb24taW9zLWNsb3NlLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQwNCI7IH0KCi5pb24taW9zLWNsb3NlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDA1IjsgfQoKLmlvbi1pb3MtY2xvdWQ6YmVmb3JlIHsgY29udGVudDogIlxmNDBjIjsgfQoKLmlvbi1pb3MtY2xvdWQtZG93bmxvYWQ6YmVmb3JlIHsgY29udGVudDogIlxmNDA4IjsgfQoKLmlvbi1pb3MtY2xvdWQtZG93bmxvYWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MDciOyB9CgouaW9uLWlvcy1jbG91ZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQwOSI7IH0KCi5pb24taW9zLWNsb3VkLXVwbG9hZDpiZWZvcmUgeyBjb250ZW50OiAiXGY0MGIiOyB9CgouaW9uLWlvcy1jbG91ZC11cGxvYWQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MGEiOyB9CgouaW9uLWlvcy1jbG91ZHk6YmVmb3JlIHsgY29udGVudDogIlxmNDEwIjsgfQoKLmlvbi1pb3MtY2xvdWR5LW5pZ2h0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQwZSI7IH0KCi5pb24taW9zLWNsb3VkeS1uaWdodC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQwZCI7IH0KCi5pb24taW9zLWNsb3VkeS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQwZiI7IH0KCi5pb24taW9zLWNvZzpiZWZvcmUgeyBjb250ZW50OiAiXGY0MTIiOyB9CgouaW9uLWlvcy1jb2ctb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MTEiOyB9CgouaW9uLWlvcy1jb2xvci1maWx0ZXI6YmVmb3JlIHsgY29udGVudDogIlxmNDE0IjsgfQoKLmlvbi1pb3MtY29sb3ItZmlsdGVyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDEzIjsgfQoKLmlvbi1pb3MtY29sb3Itd2FuZDpiZWZvcmUgeyBjb250ZW50OiAiXGY0MTYiOyB9CgouaW9uLWlvcy1jb2xvci13YW5kLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDE1IjsgfQoKLmlvbi1pb3MtY29tcG9zZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MTgiOyB9CgouaW9uLWlvcy1jb21wb3NlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDE3IjsgfQoKLmlvbi1pb3MtY29udGFjdDpiZWZvcmUgeyBjb250ZW50OiAiXGY0MWEiOyB9CgouaW9uLWlvcy1jb250YWN0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDE5IjsgfQoKLmlvbi1pb3MtY29weTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MWMiOyB9CgouaW9uLWlvcy1jb3B5LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDFiIjsgfQoKLmlvbi1pb3MtY3JvcDpiZWZvcmUgeyBjb250ZW50OiAiXGY0MWUiOyB9CgouaW9uLWlvcy1jcm9wLXN0cm9uZzpiZWZvcmUgeyBjb250ZW50OiAiXGY0MWQiOyB9CgouaW9uLWlvcy1kb3dubG9hZDpiZWZvcmUgeyBjb250ZW50OiAiXGY0MjAiOyB9CgouaW9uLWlvcy1kb3dubG9hZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQxZiI7IH0KCi5pb24taW9zLWRyYWc6YmVmb3JlIHsgY29udGVudDogIlxmNDIxIjsgfQoKLmlvbi1pb3MtZW1haWw6YmVmb3JlIHsgY29udGVudDogIlxmNDIzIjsgfQoKLmlvbi1pb3MtZW1haWwtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MjIiOyB9CgouaW9uLWlvcy1leWU6YmVmb3JlIHsgY29udGVudDogIlxmNDI1IjsgfQoKLmlvbi1pb3MtZXllLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDI0IjsgfQoKLmlvbi1pb3MtZmFzdGZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogIlxmNDI3IjsgfQoKLmlvbi1pb3MtZmFzdGZvcndhcmQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MjYiOyB9CgouaW9uLWlvcy1maWxpbmc6YmVmb3JlIHsgY29udGVudDogIlxmNDI5IjsgfQoKLmlvbi1pb3MtZmlsaW5nLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDI4IjsgfQoKLmlvbi1pb3MtZmlsbTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MmIiOyB9CgouaW9uLWlvcy1maWxtLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDJhIjsgfQoKLmlvbi1pb3MtZmxhZzpiZWZvcmUgeyBjb250ZW50OiAiXGY0MmQiOyB9CgouaW9uLWlvcy1mbGFnLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDJjIjsgfQoKLmlvbi1pb3MtZmxhbWU6YmVmb3JlIHsgY29udGVudDogIlxmNDJmIjsgfQoKLmlvbi1pb3MtZmxhbWUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MmUiOyB9CgouaW9uLWlvcy1mbGFzazpiZWZvcmUgeyBjb250ZW50OiAiXGY0MzEiOyB9CgouaW9uLWlvcy1mbGFzay1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQzMCI7IH0KCi5pb24taW9zLWZsb3dlcjpiZWZvcmUgeyBjb250ZW50OiAiXGY0MzMiOyB9CgouaW9uLWlvcy1mbG93ZXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MzIiOyB9CgouaW9uLWlvcy1mb2xkZXI6YmVmb3JlIHsgY29udGVudDogIlxmNDM1IjsgfQoKLmlvbi1pb3MtZm9sZGVyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDM0IjsgfQoKLmlvbi1pb3MtZm9vdGJhbGw6YmVmb3JlIHsgY29udGVudDogIlxmNDM3IjsgfQoKLmlvbi1pb3MtZm9vdGJhbGwtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MzYiOyB9CgouaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYTpiZWZvcmUgeyBjb250ZW50OiAiXGY0MzkiOyB9CgouaW9uLWlvcy1nYW1lLWNvbnRyb2xsZXItYS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQzOCI7IH0KCi5pb24taW9zLWdhbWUtY29udHJvbGxlci1iOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQzYiI7IH0KCi5pb24taW9zLWdhbWUtY29udHJvbGxlci1iLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDNhIjsgfQoKLmlvbi1pb3MtZ2VhcjpiZWZvcmUgeyBjb250ZW50OiAiXGY0M2QiOyB9CgouaW9uLWlvcy1nZWFyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDNjIjsgfQoKLmlvbi1pb3MtZ2xhc3NlczpiZWZvcmUgeyBjb250ZW50OiAiXGY0M2YiOyB9CgouaW9uLWlvcy1nbGFzc2VzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDNlIjsgfQoKLmlvbi1pb3MtZ3JpZC12aWV3OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0MSI7IH0KCi5pb24taW9zLWdyaWQtdmlldy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0MCI7IH0KCi5pb24taW9zLWhlYXJ0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0MyI7IH0KCi5pb24taW9zLWhlYXJ0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDQyIjsgfQoKLmlvbi1pb3MtaGVscDpiZWZvcmUgeyBjb250ZW50OiAiXGY0NDYiOyB9CgouaW9uLWlvcy1oZWxwLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0NCI7IH0KCi5pb24taW9zLWhlbHAtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NDUiOyB9CgouaW9uLWlvcy1ob21lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0OCI7IH0KCi5pb24taW9zLWhvbWUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NDciOyB9CgouaW9uLWlvcy1pbmZpbml0ZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NGEiOyB9CgouaW9uLWlvcy1pbmZpbml0ZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0OSI7IH0KCi5pb24taW9zLWluZm9ybWF0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0ZCI7IH0KCi5pb24taW9zLWluZm9ybWF0aW9uLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ0YiI7IH0KCi5pb24taW9zLWluZm9ybWF0aW9uLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDRjIjsgfQoKLmlvbi1pb3MtaW9uaWMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NGUiOyB9CgouaW9uLWlvcy1rZXlwYWQ6YmVmb3JlIHsgY29udGVudDogIlxmNDUwIjsgfQoKLmlvbi1pb3Mta2V5cGFkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDRmIjsgfQoKLmlvbi1pb3MtbGlnaHRidWxiOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1MiI7IH0KCi5pb24taW9zLWxpZ2h0YnVsYi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1MSI7IH0KCi5pb24taW9zLWxpc3Q6YmVmb3JlIHsgY29udGVudDogIlxmNDU0IjsgfQoKLmlvbi1pb3MtbGlzdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1MyI7IH0KCi5pb24taW9zLWxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1NiI7IH0KCi5pb24taW9zLWxvY2F0aW9uLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDU1IjsgfQoKLmlvbi1pb3MtbG9ja2VkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1OCI7IH0KCi5pb24taW9zLWxvY2tlZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1NyI7IH0KCi5pb24taW9zLWxvb3A6YmVmb3JlIHsgY29udGVudDogIlxmNDVhIjsgfQoKLmlvbi1pb3MtbG9vcC1zdHJvbmc6YmVmb3JlIHsgY29udGVudDogIlxmNDU5IjsgfQoKLmlvbi1pb3MtbWVkaWNhbDpiZWZvcmUgeyBjb250ZW50OiAiXGY0NWMiOyB9CgouaW9uLWlvcy1tZWRpY2FsLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDViIjsgfQoKLmlvbi1pb3MtbWVka2l0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1ZSI7IH0KCi5pb24taW9zLW1lZGtpdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1ZCI7IH0KCi5pb24taW9zLW1pYzpiZWZvcmUgeyBjb250ZW50OiAiXGY0NjEiOyB9CgouaW9uLWlvcy1taWMtb2ZmOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ1ZiI7IH0KCi5pb24taW9zLW1pYy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2MCI7IH0KCi5pb24taW9zLW1pbnVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2NCI7IH0KCi5pb24taW9zLW1pbnVzLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2MiI7IH0KCi5pb24taW9zLW1pbnVzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDYzIjsgfQoKLmlvbi1pb3MtbW9uaXRvcjpiZWZvcmUgeyBjb250ZW50OiAiXGY0NjYiOyB9CgouaW9uLWlvcy1tb25pdG9yLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDY1IjsgfQoKLmlvbi1pb3MtbW9vbjpiZWZvcmUgeyBjb250ZW50OiAiXGY0NjgiOyB9CgouaW9uLWlvcy1tb29uLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDY3IjsgfQoKLmlvbi1pb3MtbW9yZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NmEiOyB9CgouaW9uLWlvcy1tb3JlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDY5IjsgfQoKLmlvbi1pb3MtbXVzaWNhbC1ub3RlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ2YiI7IH0KCi5pb24taW9zLW11c2ljYWwtbm90ZXM6YmVmb3JlIHsgY29udGVudDogIlxmNDZjIjsgfQoKLmlvbi1pb3MtbmF2aWdhdGU6YmVmb3JlIHsgY29udGVudDogIlxmNDZlIjsgfQoKLmlvbi1pb3MtbmF2aWdhdGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NmQiOyB9CgouaW9uLWlvcy1udXRyaXRpb246YmVmb3JlIHsgY29udGVudDogIlxmNDcwIjsgfQoKLmlvbi1pb3MtbnV0cml0aW9uLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDZmIjsgfQoKLmlvbi1pb3MtcGFwZXI6YmVmb3JlIHsgY29udGVudDogIlxmNDcyIjsgfQoKLmlvbi1pb3MtcGFwZXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NzEiOyB9CgouaW9uLWlvcy1wYXBlcnBsYW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3NCI7IH0KCi5pb24taW9zLXBhcGVycGxhbmUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NzMiOyB9CgouaW9uLWlvcy1wYXJ0bHlzdW5ueTpiZWZvcmUgeyBjb250ZW50OiAiXGY0NzYiOyB9CgouaW9uLWlvcy1wYXJ0bHlzdW5ueS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3NSI7IH0KCi5pb24taW9zLXBhdXNlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3OCI7IH0KCi5pb24taW9zLXBhdXNlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDc3IjsgfQoKLmlvbi1pb3MtcGF3OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3YSI7IH0KCi5pb24taW9zLXBhdy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3OSI7IH0KCi5pb24taW9zLXBlb3BsZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0N2MiOyB9CgouaW9uLWlvcy1wZW9wbGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0N2IiOyB9CgouaW9uLWlvcy1wZXJzb246YmVmb3JlIHsgY29udGVudDogIlxmNDdlIjsgfQoKLmlvbi1pb3MtcGVyc29uLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDdkIjsgfQoKLmlvbi1pb3MtcGVyc29uYWRkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ4MCI7IH0KCi5pb24taW9zLXBlcnNvbmFkZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ3ZiI7IH0KCi5pb24taW9zLXBob3RvczpiZWZvcmUgeyBjb250ZW50OiAiXGY0ODIiOyB9CgouaW9uLWlvcy1waG90b3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ODEiOyB9CgouaW9uLWlvcy1waWU6YmVmb3JlIHsgY29udGVudDogIlxmNDg0IjsgfQoKLmlvbi1pb3MtcGllLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDgzIjsgfQoKLmlvbi1pb3MtcGludDpiZWZvcmUgeyBjb250ZW50OiAiXGY0ODYiOyB9CgouaW9uLWlvcy1waW50LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDg1IjsgfQoKLmlvbi1pb3MtcGxheTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ODgiOyB9CgouaW9uLWlvcy1wbGF5LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDg3IjsgfQoKLmlvbi1pb3MtcGx1czpiZWZvcmUgeyBjb250ZW50OiAiXGY0OGIiOyB9CgouaW9uLWlvcy1wbHVzLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ4OSI7IH0KCi5pb24taW9zLXBsdXMtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0OGEiOyB9CgouaW9uLWlvcy1wcmljZXRhZzpiZWZvcmUgeyBjb250ZW50OiAiXGY0OGQiOyB9CgouaW9uLWlvcy1wcmljZXRhZy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ4YyI7IH0KCi5pb24taW9zLXByaWNldGFnczpiZWZvcmUgeyBjb250ZW50OiAiXGY0OGYiOyB9CgouaW9uLWlvcy1wcmljZXRhZ3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0OGUiOyB9CgouaW9uLWlvcy1wcmludGVyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ5MSI7IH0KCi5pb24taW9zLXByaW50ZXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0OTAiOyB9CgouaW9uLWlvcy1wdWxzZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0OTMiOyB9CgouaW9uLWlvcy1wdWxzZS1zdHJvbmc6YmVmb3JlIHsgY29udGVudDogIlxmNDkyIjsgfQoKLmlvbi1pb3MtcmFpbnk6YmVmb3JlIHsgY29udGVudDogIlxmNDk1IjsgfQoKLmlvbi1pb3MtcmFpbnktb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0OTQiOyB9CgouaW9uLWlvcy1yZWNvcmRpbmc6YmVmb3JlIHsgY29udGVudDogIlxmNDk3IjsgfQoKLmlvbi1pb3MtcmVjb3JkaW5nLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDk2IjsgfQoKLmlvbi1pb3MtcmVkbzpiZWZvcmUgeyBjb250ZW50OiAiXGY0OTkiOyB9CgouaW9uLWlvcy1yZWRvLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNDk4IjsgfQoKLmlvbi1pb3MtcmVmcmVzaDpiZWZvcmUgeyBjb250ZW50OiAiXGY0OWMiOyB9CgouaW9uLWlvcy1yZWZyZXNoLWVtcHR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjQ5YSI7IH0KCi5pb24taW9zLXJlZnJlc2gtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0OWIiOyB9CgouaW9uLWlvcy1yZWxvYWQ6YmVmb3JlIHsgY29udGVudDogIlxmNDlkIjsgfQoKLmlvbi1pb3MtcmV2ZXJzZS1jYW1lcmE6YmVmb3JlIHsgY29udGVudDogIlxmNDlmIjsgfQoKLmlvbi1pb3MtcmV2ZXJzZS1jYW1lcmEtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0OWUiOyB9CgouaW9uLWlvcy1yZXdpbmQ6YmVmb3JlIHsgY29udGVudDogIlxmNGExIjsgfQoKLmlvbi1pb3MtcmV3aW5kLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGEwIjsgfQoKLmlvbi1pb3Mtcm9zZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YTMiOyB9CgouaW9uLWlvcy1yb3NlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGEyIjsgfQoKLmlvbi1pb3Mtc2VhcmNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhNSI7IH0KCi5pb24taW9zLXNlYXJjaC1zdHJvbmc6YmVmb3JlIHsgY29udGVudDogIlxmNGE0IjsgfQoKLmlvbi1pb3Mtc2V0dGluZ3M6YmVmb3JlIHsgY29udGVudDogIlxmNGE3IjsgfQoKLmlvbi1pb3Mtc2V0dGluZ3Mtc3Ryb25nOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhNiI7IH0KCi5pb24taW9zLXNodWZmbGU6YmVmb3JlIHsgY29udGVudDogIlxmNGE5IjsgfQoKLmlvbi1pb3Mtc2h1ZmZsZS1zdHJvbmc6YmVmb3JlIHsgY29udGVudDogIlxmNGE4IjsgfQoKLmlvbi1pb3Mtc2tpcGJhY2t3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhYiI7IH0KCi5pb24taW9zLXNraXBiYWNrd2FyZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhYSI7IH0KCi5pb24taW9zLXNraXBmb3J3YXJkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRhZCI7IH0KCi5pb24taW9zLXNraXBmb3J3YXJkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGFjIjsgfQoKLmlvbi1pb3Mtc25vd3k6YmVmb3JlIHsgY29udGVudDogIlxmNGFlIjsgfQoKLmlvbi1pb3Mtc3BlZWRvbWV0ZXI6YmVmb3JlIHsgY29udGVudDogIlxmNGIwIjsgfQoKLmlvbi1pb3Mtc3BlZWRvbWV0ZXItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YWYiOyB9CgouaW9uLWlvcy1zdGFyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiMyI7IH0KCi5pb24taW9zLXN0YXItaGFsZjpiZWZvcmUgeyBjb250ZW50OiAiXGY0YjEiOyB9CgouaW9uLWlvcy1zdGFyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGIyIjsgfQoKLmlvbi1pb3Mtc3RvcHdhdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiNSI7IH0KCi5pb24taW9zLXN0b3B3YXRjaC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiNCI7IH0KCi5pb24taW9zLXN1bm55OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiNyI7IH0KCi5pb24taW9zLXN1bm55LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGI2IjsgfQoKLmlvbi1pb3MtdGVsZXBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiOSI7IH0KCi5pb24taW9zLXRlbGVwaG9uZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiOCI7IH0KCi5pb24taW9zLXRlbm5pc2JhbGw6YmVmb3JlIHsgY29udGVudDogIlxmNGJiIjsgfQoKLmlvbi1pb3MtdGVubmlzYmFsbC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiYSI7IH0KCi5pb24taW9zLXRodW5kZXJzdG9ybTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YmQiOyB9CgouaW9uLWlvcy10aHVuZGVyc3Rvcm0tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YmMiOyB9CgouaW9uLWlvcy10aW1lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRiZiI7IH0KCi5pb24taW9zLXRpbWUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YmUiOyB9CgouaW9uLWlvcy10aW1lcjpiZWZvcmUgeyBjb250ZW50OiAiXGY0YzEiOyB9CgouaW9uLWlvcy10aW1lci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjMCI7IH0KCi5pb24taW9zLXRvZ2dsZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YzMiOyB9CgouaW9uLWlvcy10b2dnbGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0YzIiOyB9CgouaW9uLWlvcy10cmFzaDpiZWZvcmUgeyBjb250ZW50OiAiXGY0YzUiOyB9CgouaW9uLWlvcy10cmFzaC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjNCI7IH0KCi5pb24taW9zLXVuZG86YmVmb3JlIHsgY29udGVudDogIlxmNGM3IjsgfQoKLmlvbi1pb3MtdW5kby1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjNiI7IH0KCi5pb24taW9zLXVubG9ja2VkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjOSI7IH0KCi5pb24taW9zLXVubG9ja2VkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGM4IjsgfQoKLmlvbi1pb3MtdXBsb2FkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjYiI7IH0KCi5pb24taW9zLXVwbG9hZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjYSI7IH0KCi5pb24taW9zLXZpZGVvY2FtOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRjZCI7IH0KCi5pb24taW9zLXZpZGVvY2FtLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGNjIjsgfQoKLmlvbi1pb3Mtdm9sdW1lLWhpZ2g6YmVmb3JlIHsgY29udGVudDogIlxmNGNlIjsgfQoKLmlvbi1pb3Mtdm9sdW1lLWxvdzpiZWZvcmUgeyBjb250ZW50OiAiXGY0Y2YiOyB9CgouaW9uLWlvcy13aW5lZ2xhc3M6YmVmb3JlIHsgY29udGVudDogIlxmNGQxIjsgfQoKLmlvbi1pb3Mtd2luZWdsYXNzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGQwIjsgfQoKLmlvbi1pb3Mtd29ybGQ6YmVmb3JlIHsgY29udGVudDogIlxmNGQzIjsgfQoKLmlvbi1pb3Mtd29ybGQtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZDIiOyB9CgouaW9uLWlwYWQ6YmVmb3JlIHsgY29udGVudDogIlxmMWY5IjsgfQoKLmlvbi1pcGhvbmU6YmVmb3JlIHsgY29udGVudDogIlxmMWZhIjsgfQoKLmlvbi1pcG9kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmYiI7IH0KCi5pb24tamV0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI5NSI7IH0KCi5pb24ta2V5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI5NiI7IH0KCi5pb24ta25pZmU6YmVmb3JlIHsgY29udGVudDogIlxmMjk3IjsgfQoKLmlvbi1sYXB0b3A6YmVmb3JlIHsgY29udGVudDogIlxmMWZjIjsgfQoKLmlvbi1sZWFmOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmZCI7IH0KCi5pb24tbGV2ZWxzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI5OCI7IH0KCi5pb24tbGlnaHRidWxiOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI5OSI7IH0KCi5pb24tbGluazpiZWZvcmUgeyBjb250ZW50OiAiXGYxZmUiOyB9CgouaW9uLWxvYWQtYTpiZWZvcmUgeyBjb250ZW50OiAiXGYyOWEiOyB9CgouaW9uLWxvYWQtYjpiZWZvcmUgeyBjb250ZW50OiAiXGYyOWIiOyB9CgouaW9uLWxvYWQtYzpiZWZvcmUgeyBjb250ZW50OiAiXGYyOWMiOyB9CgouaW9uLWxvYWQtZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyOWQiOyB9CgouaW9uLWxvY2F0aW9uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjFmZiI7IH0KCi5pb24tbG9jay1jb21iaW5hdGlvbjpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZDQiOyB9CgouaW9uLWxvY2tlZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMDAiOyB9CgouaW9uLWxvZy1pbjpiZWZvcmUgeyBjb250ZW50OiAiXGYyOWUiOyB9CgouaW9uLWxvZy1vdXQ6YmVmb3JlIHsgY29udGVudDogIlxmMjlmIjsgfQoKLmlvbi1sb29wOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwMSI7IH0KCi5pb24tbWFnbmV0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJhMCI7IH0KCi5pb24tbWFsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyYTEiOyB9CgouaW9uLW1hbjpiZWZvcmUgeyBjb250ZW50OiAiXGYyMDIiOyB9CgouaW9uLW1hcDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMDMiOyB9CgouaW9uLW1lZGtpdDpiZWZvcmUgeyBjb250ZW50OiAiXGYyYTIiOyB9CgouaW9uLW1lcmdlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMzZiI7IH0KCi5pb24tbWljLWE6YmVmb3JlIHsgY29udGVudDogIlxmMjA0IjsgfQoKLmlvbi1taWMtYjpiZWZvcmUgeyBjb250ZW50OiAiXGYyMDUiOyB9CgouaW9uLW1pYy1jOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwNiI7IH0KCi5pb24tbWludXM6YmVmb3JlIHsgY29udGVudDogIlxmMjA5IjsgfQoKLmlvbi1taW51cy1jaXJjbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwNyI7IH0KCi5pb24tbWludXMtcm91bmQ6YmVmb3JlIHsgY29udGVudDogIlxmMjA4IjsgfQoKLmlvbi1tb2RlbC1zOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJjMSI7IH0KCi5pb24tbW9uaXRvcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyMGEiOyB9CgouaW9uLW1vcmU6YmVmb3JlIHsgY29udGVudDogIlxmMjBiIjsgfQoKLmlvbi1tb3VzZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNDAiOyB9CgouaW9uLW11c2ljLW5vdGU6YmVmb3JlIHsgY29udGVudDogIlxmMjBjIjsgfQoKLmlvbi1uYXZpY29uOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIwZSI7IH0KCi5pb24tbmF2aWNvbi1yb3VuZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMGQiOyB9CgouaW9uLW5hdmlnYXRlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJhMyI7IH0KCi5pb24tbmV0d29yazpiZWZvcmUgeyBjb250ZW50OiAiXGYzNDEiOyB9CgouaW9uLW5vLXNtb2tpbmc6YmVmb3JlIHsgY29udGVudDogIlxmMmMyIjsgfQoKLmlvbi1udWNsZWFyOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJhNCI7IH0KCi5pb24tb3V0bGV0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM0MiI7IH0KCi5pb24tcGFpbnRicnVzaDpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZDUiOyB9CgouaW9uLXBhaW50YnVja2V0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkNiI7IH0KCi5pb24tcGFwZXItYWlycGxhbmU6YmVmb3JlIHsgY29udGVudDogIlxmMmMzIjsgfQoKLmlvbi1wYXBlcmNsaXA6YmVmb3JlIHsgY29udGVudDogIlxmMjBmIjsgfQoKLmlvbi1wYXVzZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMTAiOyB9CgouaW9uLXBlcnNvbjpiZWZvcmUgeyBjb250ZW50OiAiXGYyMTMiOyB9CgouaW9uLXBlcnNvbi1hZGQ6YmVmb3JlIHsgY29udGVudDogIlxmMjExIjsgfQoKLmlvbi1wZXJzb24tc3RhbGtlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyMTIiOyB9CgouaW9uLXBpZS1ncmFwaDpiZWZvcmUgeyBjb250ZW50OiAiXGYyYTUiOyB9CgouaW9uLXBpbjpiZWZvcmUgeyBjb250ZW50OiAiXGYyYTYiOyB9CgouaW9uLXBpbnBvaW50OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJhNyI7IH0KCi5pb24tcGl6emE6YmVmb3JlIHsgY29udGVudDogIlxmMmE4IjsgfQoKLmlvbi1wbGFuZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMTQiOyB9CgouaW9uLXBsYW5ldDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNDMiOyB9CgouaW9uLXBsYXk6YmVmb3JlIHsgY29udGVudDogIlxmMjE1IjsgfQoKLmlvbi1wbGF5c3RhdGlvbjpiZWZvcmUgeyBjb250ZW50OiAiXGYzMGEiOyB9CgouaW9uLXBsdXM6YmVmb3JlIHsgY29udGVudDogIlxmMjE4IjsgfQoKLmlvbi1wbHVzLWNpcmNsZWQ6YmVmb3JlIHsgY29udGVudDogIlxmMjE2IjsgfQoKLmlvbi1wbHVzLXJvdW5kOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxNyI7IH0KCi5pb24tcG9kaXVtOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM0NCI7IH0KCi5pb24tcG91bmQ6YmVmb3JlIHsgY29udGVudDogIlxmMjE5IjsgfQoKLmlvbi1wb3dlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyYTkiOyB9CgouaW9uLXByaWNldGFnOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJhYSI7IH0KCi5pb24tcHJpY2V0YWdzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJhYiI7IH0KCi5pb24tcHJpbnRlcjpiZWZvcmUgeyBjb250ZW50OiAiXGYyMWEiOyB9CgouaW9uLXB1bGwtcmVxdWVzdDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNDUiOyB9CgouaW9uLXFyLXNjYW5uZXI6YmVmb3JlIHsgY29udGVudDogIlxmMzQ2IjsgfQoKLmlvbi1xdW90ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNDciOyB9CgouaW9uLXJhZGlvLXdhdmVzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJhYyI7IH0KCi5pb24tcmVjb3JkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxYiI7IH0KCi5pb24tcmVmcmVzaDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMWMiOyB9CgouaW9uLXJlcGx5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxZSI7IH0KCi5pb24tcmVwbHktYWxsOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIxZCI7IH0KCi5pb24tcmliYm9uLWE6YmVmb3JlIHsgY29udGVudDogIlxmMzQ4IjsgfQoKLmlvbi1yaWJib24tYjpiZWZvcmUgeyBjb250ZW50OiAiXGYzNDkiOyB9CgouaW9uLXNhZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNGEiOyB9CgouaW9uLXNhZC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkNyI7IH0KCi5pb24tc2Npc3NvcnM6YmVmb3JlIHsgY29udGVudDogIlxmMzRiIjsgfQoKLmlvbi1zZWFyY2g6YmVmb3JlIHsgY29udGVudDogIlxmMjFmIjsgfQoKLmlvbi1zZXR0aW5nczpiZWZvcmUgeyBjb250ZW50OiAiXGYyYWQiOyB9CgouaW9uLXNoYXJlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIyMCI7IH0KCi5pb24tc2h1ZmZsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMjEiOyB9CgouaW9uLXNraXAtYmFja3dhcmQ6YmVmb3JlIHsgY29udGVudDogIlxmMjIyIjsgfQoKLmlvbi1za2lwLWZvcndhcmQ6YmVmb3JlIHsgY29udGVudDogIlxmMjIzIjsgfQoKLmlvbi1zb2NpYWwtYW5kcm9pZDpiZWZvcmUgeyBjb250ZW50OiAiXGYyMjUiOyB9CgouaW9uLXNvY2lhbC1hbmRyb2lkLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjI0IjsgfQoKLmlvbi1zb2NpYWwtYW5ndWxhcjpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZDkiOyB9CgouaW9uLXNvY2lhbC1hbmd1bGFyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGQ4IjsgfQoKLmlvbi1zb2NpYWwtYXBwbGU6YmVmb3JlIHsgY29udGVudDogIlxmMjI3IjsgfQoKLmlvbi1zb2NpYWwtYXBwbGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMjYiOyB9CgouaW9uLXNvY2lhbC1iaXRjb2luOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJhZiI7IH0KCi5pb24tc29jaWFsLWJpdGNvaW4tb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyYWUiOyB9CgouaW9uLXNvY2lhbC1idWZmZXI6YmVmb3JlIHsgY29udGVudDogIlxmMjI5IjsgfQoKLmlvbi1zb2NpYWwtYnVmZmVyLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjI4IjsgfQoKLmlvbi1zb2NpYWwtY2hyb21lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkYiI7IH0KCi5pb24tc29jaWFsLWNocm9tZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkYSI7IH0KCi5pb24tc29jaWFsLWNvZGVwZW46YmVmb3JlIHsgY29udGVudDogIlxmNGRkIjsgfQoKLmlvbi1zb2NpYWwtY29kZXBlbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkYyI7IH0KCi5pb24tc29jaWFsLWNzczM6YmVmb3JlIHsgY29udGVudDogIlxmNGRmIjsgfQoKLmlvbi1zb2NpYWwtY3NzMy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRkZSI7IH0KCi5pb24tc29jaWFsLWRlc2lnbmVybmV3czpiZWZvcmUgeyBjb250ZW50OiAiXGYyMmIiOyB9CgouaW9uLXNvY2lhbC1kZXNpZ25lcm5ld3Mtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMmEiOyB9CgouaW9uLXNvY2lhbC1kcmliYmJsZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyMmQiOyB9CgouaW9uLXNvY2lhbC1kcmliYmJsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIyYyI7IH0KCi5pb24tc29jaWFsLWRyb3Bib3g6YmVmb3JlIHsgY29udGVudDogIlxmMjJmIjsgfQoKLmlvbi1zb2NpYWwtZHJvcGJveC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIyZSI7IH0KCi5pb24tc29jaWFsLWV1cm86YmVmb3JlIHsgY29udGVudDogIlxmNGUxIjsgfQoKLmlvbi1zb2NpYWwtZXVyby1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlMCI7IH0KCi5pb24tc29jaWFsLWZhY2Vib29rOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzMSI7IH0KCi5pb24tc29jaWFsLWZhY2Vib29rLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjMwIjsgfQoKLmlvbi1zb2NpYWwtZm91cnNxdWFyZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNGQiOyB9CgouaW9uLXNvY2lhbC1mb3Vyc3F1YXJlLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMzRjIjsgfQoKLmlvbi1zb2NpYWwtZnJlZWJzZC1kZXZpbDpiZWZvcmUgeyBjb250ZW50OiAiXGYyYzQiOyB9CgouaW9uLXNvY2lhbC1naXRodWI6YmVmb3JlIHsgY29udGVudDogIlxmMjMzIjsgfQoKLmlvbi1zb2NpYWwtZ2l0aHViLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjMyIjsgfQoKLmlvbi1zb2NpYWwtZ29vZ2xlOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM0ZiI7IH0KCi5pb24tc29jaWFsLWdvb2dsZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM0ZSI7IH0KCi5pb24tc29jaWFsLWdvb2dsZXBsdXM6YmVmb3JlIHsgY29udGVudDogIlxmMjM1IjsgfQoKLmlvbi1zb2NpYWwtZ29vZ2xlcGx1cy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzNCI7IH0KCi5pb24tc29jaWFsLWhhY2tlcm5ld3M6YmVmb3JlIHsgY29udGVudDogIlxmMjM3IjsgfQoKLmlvbi1zb2NpYWwtaGFja2VybmV3cy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzNiI7IH0KCi5pb24tc29jaWFsLWh0bWw1OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlMyI7IH0KCi5pb24tc29jaWFsLWh0bWw1LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGUyIjsgfQoKLmlvbi1zb2NpYWwtaW5zdGFncmFtOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1MSI7IH0KCi5pb24tc29jaWFsLWluc3RhZ3JhbS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1MCI7IH0KCi5pb24tc29jaWFsLWphdmFzY3JpcHQ6YmVmb3JlIHsgY29udGVudDogIlxmNGU1IjsgfQoKLmlvbi1zb2NpYWwtamF2YXNjcmlwdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlNCI7IH0KCi5pb24tc29jaWFsLWxpbmtlZGluOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzOSI7IH0KCi5pb24tc29jaWFsLWxpbmtlZGluLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjM4IjsgfQoKLmlvbi1zb2NpYWwtbWFya2Rvd246YmVmb3JlIHsgY29udGVudDogIlxmNGU2IjsgfQoKLmlvbi1zb2NpYWwtbm9kZWpzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlNyI7IH0KCi5pb24tc29jaWFsLW9jdG9jYXQ6YmVmb3JlIHsgY29udGVudDogIlxmNGU4IjsgfQoKLmlvbi1zb2NpYWwtcGludGVyZXN0OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiMSI7IH0KCi5pb24tc29jaWFsLXBpbnRlcmVzdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiMCI7IH0KCi5pb24tc29jaWFsLXB5dGhvbjpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZTkiOyB9CgouaW9uLXNvY2lhbC1yZWRkaXQ6YmVmb3JlIHsgY29udGVudDogIlxmMjNiIjsgfQoKLmlvbi1zb2NpYWwtcmVkZGl0LW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjNhIjsgfQoKLmlvbi1zb2NpYWwtcnNzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzZCI7IH0KCi5pb24tc29jaWFsLXJzcy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjIzYyI7IH0KCi5pb24tc29jaWFsLXNhc3M6YmVmb3JlIHsgY29udGVudDogIlxmNGVhIjsgfQoKLmlvbi1zb2NpYWwtc2t5cGU6YmVmb3JlIHsgY29udGVudDogIlxmMjNmIjsgfQoKLmlvbi1zb2NpYWwtc2t5cGUtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyM2UiOyB9CgouaW9uLXNvY2lhbC1zbmFwY2hhdDpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZWMiOyB9CgouaW9uLXNvY2lhbC1zbmFwY2hhdC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlYiI7IH0KCi5pb24tc29jaWFsLXR1bWJscjpiZWZvcmUgeyBjb250ZW50OiAiXGYyNDEiOyB9CgouaW9uLXNvY2lhbC10dW1ibHItb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNDAiOyB9CgouaW9uLXNvY2lhbC10dXg6YmVmb3JlIHsgY29udGVudDogIlxmMmM1IjsgfQoKLmlvbi1zb2NpYWwtdHdpdGNoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlZSI7IH0KCi5pb24tc29jaWFsLXR3aXRjaC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRlZCI7IH0KCi5pb24tc29jaWFsLXR3aXR0ZXI6YmVmb3JlIHsgY29udGVudDogIlxmMjQzIjsgfQoKLmlvbi1zb2NpYWwtdHdpdHRlci1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0MiI7IH0KCi5pb24tc29jaWFsLXVzZDpiZWZvcmUgeyBjb250ZW50OiAiXGYzNTMiOyB9CgouaW9uLXNvY2lhbC11c2Qtb3V0bGluZTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNTIiOyB9CgouaW9uLXNvY2lhbC12aW1lbzpiZWZvcmUgeyBjb250ZW50OiAiXGYyNDUiOyB9CgouaW9uLXNvY2lhbC12aW1lby1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0NCI7IH0KCi5pb24tc29jaWFsLXdoYXRzYXBwOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRmMCI7IH0KCi5pb24tc29jaWFsLXdoYXRzYXBwLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmNGVmIjsgfQoKLmlvbi1zb2NpYWwtd2luZG93czpiZWZvcmUgeyBjb250ZW50OiAiXGYyNDciOyB9CgouaW9uLXNvY2lhbC13aW5kb3dzLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjQ2IjsgfQoKLmlvbi1zb2NpYWwtd29yZHByZXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0OSI7IH0KCi5pb24tc29jaWFsLXdvcmRwcmVzcy1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0OCI7IH0KCi5pb24tc29jaWFsLXlhaG9vOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0YiI7IH0KCi5pb24tc29jaWFsLXlhaG9vLW91dGxpbmU6YmVmb3JlIHsgY29udGVudDogIlxmMjRhIjsgfQoKLmlvbi1zb2NpYWwteWVuOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRmMiI7IH0KCi5pb24tc29jaWFsLXllbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRmMSI7IH0KCi5pb24tc29jaWFsLXlvdXR1YmU6YmVmb3JlIHsgY29udGVudDogIlxmMjRkIjsgfQoKLmlvbi1zb2NpYWwteW91dHViZS1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0YyI7IH0KCi5pb24tc291cC1jYW46YmVmb3JlIHsgY29udGVudDogIlxmNGY0IjsgfQoKLmlvbi1zb3VwLWNhbi1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRmMyI7IH0KCi5pb24tc3BlYWtlcnBob25lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiMiI7IH0KCi5pb24tc3BlZWRvbWV0ZXI6YmVmb3JlIHsgY29udGVudDogIlxmMmIzIjsgfQoKLmlvbi1zcG9vbjpiZWZvcmUgeyBjb250ZW50OiAiXGYyYjQiOyB9CgouaW9uLXN0YXI6YmVmb3JlIHsgY29udGVudDogIlxmMjRlIjsgfQoKLmlvbi1zdGF0cy1iYXJzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiNSI7IH0KCi5pb24tc3RlYW06YmVmb3JlIHsgY29udGVudDogIlxmMzBiIjsgfQoKLmlvbi1zdG9wOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI0ZiI7IH0KCi5pb24tdGhlcm1vbWV0ZXI6YmVmb3JlIHsgY29udGVudDogIlxmMmI2IjsgfQoKLmlvbi10aHVtYnNkb3duOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI1MCI7IH0KCi5pb24tdGh1bWJzdXA6YmVmb3JlIHsgY29udGVudDogIlxmMjUxIjsgfQoKLmlvbi10b2dnbGU6YmVmb3JlIHsgY29udGVudDogIlxmMzU1IjsgfQoKLmlvbi10b2dnbGUtZmlsbGVkOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1NCI7IH0KCi5pb24tdHJhbnNnZW5kZXI6YmVmb3JlIHsgY29udGVudDogIlxmNGY1IjsgfQoKLmlvbi10cmFzaC1hOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI1MiI7IH0KCi5pb24tdHJhc2gtYjpiZWZvcmUgeyBjb250ZW50OiAiXGYyNTMiOyB9CgouaW9uLXRyb3BoeTpiZWZvcmUgeyBjb250ZW50OiAiXGYzNTYiOyB9CgouaW9uLXRzaGlydDpiZWZvcmUgeyBjb250ZW50OiAiXGY0ZjciOyB9CgouaW9uLXRzaGlydC1vdXRsaW5lOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjRmNiI7IH0KCi5pb24tdW1icmVsbGE6YmVmb3JlIHsgY29udGVudDogIlxmMmI3IjsgfQoKLmlvbi11bml2ZXJzaXR5OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjM1NyI7IH0KCi5pb24tdW5sb2NrZWQ6YmVmb3JlIHsgY29udGVudDogIlxmMjU0IjsgfQoKLmlvbi11cGxvYWQ6YmVmb3JlIHsgY29udGVudDogIlxmMjU1IjsgfQoKLmlvbi11c2I6YmVmb3JlIHsgY29udGVudDogIlxmMmI4IjsgfQoKLmlvbi12aWRlb2NhbWVyYTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNTYiOyB9CgouaW9uLXZvbHVtZS1oaWdoOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI1NyI7IH0KCi5pb24tdm9sdW1lLWxvdzpiZWZvcmUgeyBjb250ZW50OiAiXGYyNTgiOyB9CgouaW9uLXZvbHVtZS1tZWRpdW06YmVmb3JlIHsgY29udGVudDogIlxmMjU5IjsgfQoKLmlvbi12b2x1bWUtbXV0ZTpiZWZvcmUgeyBjb250ZW50OiAiXGYyNWEiOyB9CgouaW9uLXdhbmQ6YmVmb3JlIHsgY29udGVudDogIlxmMzU4IjsgfQoKLmlvbi13YXRlcmRyb3A6YmVmb3JlIHsgY29udGVudDogIlxmMjViIjsgfQoKLmlvbi13aWZpOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjI1YyI7IH0KCi5pb24td2luZWdsYXNzOmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjJiOSI7IH0KCi5pb24td29tYW46YmVmb3JlIHsgY29udGVudDogIlxmMjVkIjsgfQoKLmlvbi13cmVuY2g6YmVmb3JlIHsgY29udGVudDogIlxmMmJhIjsgfQoKLmlvbi14Ym94OmJlZm9yZSB7IGNvbnRlbnQ6ICJcZjMwYyI7IH0K"}},"time_used":511,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":137,"receive":374,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.googleapis.com/css?family=Open+Sans:400,600,700|PT+Serif:400,700","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://frxoptmarkt.com/","date":"2026-07-27T06:33:09.920Z","timestamp":1785133989920,"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 /css?family=Open+Sans:400,600,700|PT+Serif:400,700 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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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:33:09 GMT\r\ndate: Mon, 27 Jul 2026 06:33: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":20132,"size_decoded":2565,"mime_type":"text/css; charset=utf-8","magic":"ASCII text, with very long lines (1572)","md5":"3e86b2ba70d8197111073cd9c94d3d90","sha1":"df9a6ab3569d0388db93f9b9d880b21220d8d613","sha256":"c9fe9703430cd438d49341d228b541a1203587daae629ef8aaa3bcdbe73318ae","sha512":"6e0bd9a50ebcd71ef9c4ed59aba116ba16dcfde1385f85e1a36aba85daab57f0ece655e30c88cba4f9756433286f85aa5cd48884e86e974173118ed8d9020904","ssdeep":"192:wCAAN21/rqbnbqGIwV4RazqbCuuH2PlrqxnbqGIwV478zM4CZZE2s6rqmnbqGIw4:TjXqY4ahhqY4tU8qY40uV","tlshash":"5c925da1002b585067431dd623ce7e34ee0f92657044d0766bfe8b9aeedad7963b031d","first_seen":"2025-09-28T21:01:26.594192Z","last_seen":"2026-07-27T12:40:24.591222Z","times_seen":57,"resource_available":false,"data":"LyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0ttdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3VtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGdyZWVrLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNPbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzFGMDAtMUZGRjsKfQovKiBncmVlayAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFN5bXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzNzAtMDM3NywgVSswMzdBLTAzN0YsIFUrMDM4NC0wMzhBLCBVKzAzOEMsIFUrMDM4RS0wM0ExLCBVKzAzQTMtMDNGRjsKfQovKiBoZWJyZXcgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTMm11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzA3LTAzMDgsIFUrMDU5MC0wNUZGLCBVKzIwMEMtMjAxMCwgVSsyMEFBLCBVKzI1Q0MsIFUrRkIxRC1GQjRGOwp9Ci8qIG1hdGggKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRWT211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAyLTAzMDMsIFUrMDMwNSwgVSswMzA3LTAzMDgsIFUrMDMxMCwgVSswMzEyLCBVKzAzMTUsIFUrMDMxQSwgVSswMzI2LTAzMjcsIFUrMDMyQywgVSswMzJGLTAzMzAsIFUrMDMzMi0wMzMzLCBVKzAzMzgsIFUrMDMzQSwgVSswMzQ2LCBVKzAzNEQsIFUrMDM5MS0wM0ExLCBVKzAzQTMtMDNBOSwgVSswM0IxLTAzQzksIFUrMDNEMSwgVSswM0Q1LTAzRDYsIFUrMDNGMC0wM0YxLCBVKzAzRjQtMDNGNSwgVSsyMDE2LTIwMTcsIFUrMjAzNC0yMDM4LCBVKzIwM0MsIFUrMjA0MCwgVSsyMDQzLCBVKzIwNDcsIFUrMjA1MCwgVSsyMDU3LCBVKzIwNUYsIFUrMjA3MC0yMDcxLCBVKzIwNzQtMjA4RSwgVSsyMDkwLTIwOUMsIFUrMjBEMC0yMERDLCBVKzIwRTEsIFUrMjBFNS0yMEVGLCBVKzIxMDAtMjExMiwgVSsyMTE0LTIxMTUsIFUrMjExNy0yMTIxLCBVKzIxMjMtMjE0RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMUFFLCBVKzIxQjAtMjFFNSwgVSsyMUYxLTIxRjIsIFUrMjFGNC0yMjExLCBVKzIyMTMtMjIxNCwgVSsyMjE2LTIyRkYsIFUrMjMwOC0yMzBCLCBVKzIzMTAsIFUrMjMxOSwgVSsyMzFDLTIzMjEsIFUrMjMzNi0yMzdBLCBVKzIzN0MsIFUrMjM5NSwgVSsyMzlCLTIzQjcsIFUrMjNEMCwgVSsyM0RDLTIzRTEsIFUrMjQ3NC0yNDc1LCBVKzI1QUYsIFUrMjVCMywgVSsyNUI3LCBVKzI1QkQsIFUrMjVDMSwgVSsyNUNBLCBVKzI1Q0MsIFUrMjVGQiwgVSsyNjZELTI2NkYsIFUrMjdDMC0yN0ZGLCBVKzI5MDAtMkFGRiwgVSsyQjBFLTJCMTEsIFUrMkIzMC0yQjRDLCBVKzJCRkUsIFUrMzAzMCwgVStGRjVCLCBVK0ZGNUQsIFUrMUQ0MDAtMUQ3RkYsIFUrMUVFMDAtMUVFRkY7Cn0KLyogc3ltYm9scyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFVHbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDEtMDAwQywgVSswMDBFLTAwMUYsIFUrMDA3Ri0wMDlGLCBVKzIwREQtMjBFMCwgVSsyMEUyLTIwRTQsIFUrMjE1MC0yMThGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxOTksIFUrMjFBRiwgVSsyMUU2LTIxRjAsIFUrMjFGMywgVSsyMjE4LTIyMTksIFUrMjI5OSwgVSsyMkM0LTIyQzYsIFUrMjMwMC0yNDNGLCBVKzI0NDAtMjQ0QSwgVSsyNDYwLTI0RkYsIFUrMjVBMC0yN0JGLCBVKzI4MDAtMjhGRiwgVSsyOTIxLTI5MjIsIFUrMjk4MSwgVSsyOUJGLCBVKzI5RUIsIFUrMkIwMC0yQkZGLCBVKzREQzAtNERGRiwgVStGRkY5LUZGRkIsIFUrMTAxNDAtMTAxOEUsIFUrMTAxOTAtMTAxOUMsIFUrMTAxQTAsIFUrMTAxRDAtMTAxRkQsIFUrMTAyRTAtMTAyRkIsIFUrMTBFNjAtMTBFN0UsIFUrMUQyQzAtMUQyRDMsIFUrMUQyRTAtMUQzN0YsIFUrMUYwMDAtMUYwRkYsIFUrMUYxMDAtMUYxQUQsIFUrMUYxRTYtMUYxRkYsIFUrMUYzMEQtMUYzMEYsIFUrMUYzMTUsIFUrMUYzMUMsIFUrMUYzMUUsIFUrMUYzMjAtMUYzMkMsIFUrMUYzMzYsIFUrMUYzNzgsIFUrMUYzN0QsIFUrMUYzODIsIFUrMUYzOTMtMUYzOUYsIFUrMUYzQTctMUYzQTgsIFUrMUYzQUMtMUYzQUYsIFUrMUYzQzIsIFUrMUYzQzQtMUYzQzYsIFUrMUYzQ0EtMUYzQ0UsIFUrMUYzRDQtMUYzRTAsIFUrMUYzRUQsIFUrMUYzRjEtMUYzRjMsIFUrMUYzRjUtMUYzRjcsIFUrMUY0MDgsIFUrMUY0MTUsIFUrMUY0MUYsIFUrMUY0MjYsIFUrMUY0M0YsIFUrMUY0NDEtMUY0NDIsIFUrMUY0NDQsIFUrMUY0NDYtMUY0NDksIFUrMUY0NEMtMUY0NEUsIFUrMUY0NTMsIFUrMUY0NkEsIFUrMUY0N0QsIFUrMUY0QTMsIFUrMUY0QjAsIFUrMUY0QjMsIFUrMUY0QjksIFUrMUY0QkIsIFUrMUY0QkYsIFUrMUY0QzgtMUY0Q0IsIFUrMUY0RDYsIFUrMUY0REEsIFUrMUY0REYsIFUrMUY0RTMtMUY0RTYsIFUrMUY0RUEtMUY0RUQsIFUrMUY0RjcsIFUrMUY0RjktMUY0RkIsIFUrMUY0RkQtMUY0RkUsIFUrMUY1MDMsIFUrMUY1MDctMUY1MEIsIFUrMUY1MEQsIFUrMUY1MTItMUY1MTMsIFUrMUY1M0UtMUY1NEEsIFUrMUY1NEYtMUY1RkEsIFUrMUY2MTAsIFUrMUY2NTAtMUY2N0YsIFUrMUY2ODcsIFUrMUY2OEQsIFUrMUY2OTEsIFUrMUY2OTQsIFUrMUY2OTgsIFUrMUY2QUQsIFUrMUY2QjIsIFUrMUY2QjktMUY2QkEsIFUrMUY2QkMsIFUrMUY2QzYtMUY2Q0YsIFUrMUY2RDMtMUY2RDcsIFUrMUY2RTAtMUY2RUEsIFUrMUY2RjAtMUY2RjMsIFUrMUY2RjctMUY2RkMsIFUrMUY3MDAtMUY3RkYsIFUrMUY4MDAtMUY4MEIsIFUrMUY4MTAtMUY4NDcsIFUrMUY4NTAtMUY4NTksIFUrMUY4NjAtMUY4ODcsIFUrMUY4OTAtMUY4QUQsIFUrMUY4QjAtMUY4QkIsIFUrMUY4QzAtMUY4QzEsIFUrMUY5MDAtMUY5MEIsIFUrMUY5M0IsIFUrMUY5NDYsIFUrMUY5ODQsIFUrMUY5OTYsIFUrMUY5RTksIFUrMUZBMDAtMUZBNkYsIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODksIFUrMUZBOEYtMUZBQzYsIFUrMUZBQ0UtMUZBREMsIFUrMUZBREYtMUZBRTksIFUrMUZBRjAtMUZBRjgsIFUrMUZCMDAtMUZCRkY7Cn0KLyogdmlldG5hbWVzZSAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNDbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDItMDEwMywgVSswMTEwLTAxMTEsIFUrMDEyOC0wMTI5LCBVKzAxNjgtMDE2OSwgVSswMUEwLTAxQTEsIFUrMDFBRi0wMUIwLCBVKzAzMDAtMDMwMSwgVSswMzAzLTAzMDQsIFUrMDMwOC0wMzA5LCBVKzAzMjMsIFUrMDMyOSwgVSsxRUEwLTFFRjksIFUrMjBBQjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTR211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAwLTAyQkEsIFUrMDJCRC0wMkM1LCBVKzAyQzctMDJDQywgVSswMkNFLTAyRDcsIFUrMDJERC0wMkZGLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzFEMDAtMURCRiwgVSsxRTAwLTFFOUYsIFUrMUVGMi0xRUZGLCBVKzIwMjAsIFUrMjBBMC0yMEFCLCBVKzIwQUQtMjBDMCwgVSsyMTEzLCBVKzJDNjAtMkM3RiwgVStBNzIwLUE3RkY7Cn0KLyogbGF0aW4gKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTLW11dy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMC0wMEZGLCBVKzAxMzEsIFUrMDE1Mi0wMTUzLCBVKzAyQkItMDJCQywgVSswMkM2LCBVKzAyREEsIFUrMDJEQywgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsyMDAwLTIwNkYsIFUrMjBBQywgVSsyMTIyLCBVKzIxOTEsIFUrMjE5MywgVSsyMjEyLCBVKzIyMTUsIFUrRkVGRiwgVStGRkZEOwp9Ci8qIGN5cmlsbGljLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNLbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzA0NjAtMDUyRiwgVSsxQzgwLTFDOEEsIFUrMjBCNCwgVSsyREUwLTJERkYsIFUrQTY0MC1BNjlGLCBVK0ZFMkUtRkUyRjsKfQovKiBjeXJpbGxpYyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA2MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFN1bXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBncmVlay1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTT211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSsxRjAwLTFGRkY7Cn0KLyogZ3JlZWsgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTeW11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzcwLTAzNzcsIFUrMDM3QS0wMzdGLCBVKzAzODQtMDM4QSwgVSswMzhDLCBVKzAzOEUtMDNBMSwgVSswM0EzLTAzRkY7Cn0KLyogaGVicmV3ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUzJtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwNy0wMzA4LCBVKzA1OTAtMDVGRiwgVSsyMDBDLTIwMTAsIFUrMjBBQSwgVSsyNUNDLCBVK0ZCMUQtRkI0RjsKfQovKiBtYXRoICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUVk9tdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMi0wMzAzLCBVKzAzMDUsIFUrMDMwNy0wMzA4LCBVKzAzMTAsIFUrMDMxMiwgVSswMzE1LCBVKzAzMUEsIFUrMDMyNi0wMzI3LCBVKzAzMkMsIFUrMDMyRi0wMzMwLCBVKzAzMzItMDMzMywgVSswMzM4LCBVKzAzM0EsIFUrMDM0NiwgVSswMzRELCBVKzAzOTEtMDNBMSwgVSswM0EzLTAzQTksIFUrMDNCMS0wM0M5LCBVKzAzRDEsIFUrMDNENS0wM0Q2LCBVKzAzRjAtMDNGMSwgVSswM0Y0LTAzRjUsIFUrMjAxNi0yMDE3LCBVKzIwMzQtMjAzOCwgVSsyMDNDLCBVKzIwNDAsIFUrMjA0MywgVSsyMDQ3LCBVKzIwNTAsIFUrMjA1NywgVSsyMDVGLCBVKzIwNzAtMjA3MSwgVSsyMDc0LTIwOEUsIFUrMjA5MC0yMDlDLCBVKzIwRDAtMjBEQywgVSsyMEUxLCBVKzIwRTUtMjBFRiwgVSsyMTAwLTIxMTIsIFUrMjExNC0yMTE1LCBVKzIxMTctMjEyMSwgVSsyMTIzLTIxNEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjFBRSwgVSsyMUIwLTIxRTUsIFUrMjFGMS0yMUYyLCBVKzIxRjQtMjIxMSwgVSsyMjEzLTIyMTQsIFUrMjIxNi0yMkZGLCBVKzIzMDgtMjMwQiwgVSsyMzEwLCBVKzIzMTksIFUrMjMxQy0yMzIxLCBVKzIzMzYtMjM3QSwgVSsyMzdDLCBVKzIzOTUsIFUrMjM5Qi0yM0I3LCBVKzIzRDAsIFUrMjNEQy0yM0UxLCBVKzI0NzQtMjQ3NSwgVSsyNUFGLCBVKzI1QjMsIFUrMjVCNywgVSsyNUJELCBVKzI1QzEsIFUrMjVDQSwgVSsyNUNDLCBVKzI1RkIsIFUrMjY2RC0yNjZGLCBVKzI3QzAtMjdGRiwgVSsyOTAwLTJBRkYsIFUrMkIwRS0yQjExLCBVKzJCMzAtMkI0QywgVSsyQkZFLCBVKzMwMzAsIFUrRkY1QiwgVStGRjVELCBVKzFENDAwLTFEN0ZGLCBVKzFFRTAwLTFFRUZGOwp9Ci8qIHN5bWJvbHMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRVR211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAxLTAwMEMsIFUrMDAwRS0wMDFGLCBVKzAwN0YtMDA5RiwgVSsyMERELTIwRTAsIFUrMjBFMi0yMEU0LCBVKzIxNTAtMjE4RiwgVSsyMTkwLCBVKzIxOTIsIFUrMjE5NC0yMTk5LCBVKzIxQUYsIFUrMjFFNi0yMUYwLCBVKzIxRjMsIFUrMjIxOC0yMjE5LCBVKzIyOTksIFUrMjJDNC0yMkM2LCBVKzIzMDAtMjQzRiwgVSsyNDQwLTI0NEEsIFUrMjQ2MC0yNEZGLCBVKzI1QTAtMjdCRiwgVSsyODAwLTI4RkYsIFUrMjkyMS0yOTIyLCBVKzI5ODEsIFUrMjlCRiwgVSsyOUVCLCBVKzJCMDAtMkJGRiwgVSs0REMwLTRERkYsIFUrRkZGOS1GRkZCLCBVKzEwMTQwLTEwMThFLCBVKzEwMTkwLTEwMTlDLCBVKzEwMUEwLCBVKzEwMUQwLTEwMUZELCBVKzEwMkUwLTEwMkZCLCBVKzEwRTYwLTEwRTdFLCBVKzFEMkMwLTFEMkQzLCBVKzFEMkUwLTFEMzdGLCBVKzFGMDAwLTFGMEZGLCBVKzFGMTAwLTFGMUFELCBVKzFGMUU2LTFGMUZGLCBVKzFGMzBELTFGMzBGLCBVKzFGMzE1LCBVKzFGMzFDLCBVKzFGMzFFLCBVKzFGMzIwLTFGMzJDLCBVKzFGMzM2LCBVKzFGMzc4LCBVKzFGMzdELCBVKzFGMzgyLCBVKzFGMzkzLTFGMzlGLCBVKzFGM0E3LTFGM0E4LCBVKzFGM0FDLTFGM0FGLCBVKzFGM0MyLCBVKzFGM0M0LTFGM0M2LCBVKzFGM0NBLTFGM0NFLCBVKzFGM0Q0LTFGM0UwLCBVKzFGM0VELCBVKzFGM0YxLTFGM0YzLCBVKzFGM0Y1LTFGM0Y3LCBVKzFGNDA4LCBVKzFGNDE1LCBVKzFGNDFGLCBVKzFGNDI2LCBVKzFGNDNGLCBVKzFGNDQxLTFGNDQyLCBVKzFGNDQ0LCBVKzFGNDQ2LTFGNDQ5LCBVKzFGNDRDLTFGNDRFLCBVKzFGNDUzLCBVKzFGNDZBLCBVKzFGNDdELCBVKzFGNEEzLCBVKzFGNEIwLCBVKzFGNEIzLCBVKzFGNEI5LCBVKzFGNEJCLCBVKzFGNEJGLCBVKzFGNEM4LTFGNENCLCBVKzFGNEQ2LCBVKzFGNERBLCBVKzFGNERGLCBVKzFGNEUzLTFGNEU2LCBVKzFGNEVBLTFGNEVELCBVKzFGNEY3LCBVKzFGNEY5LTFGNEZCLCBVKzFGNEZELTFGNEZFLCBVKzFGNTAzLCBVKzFGNTA3LTFGNTBCLCBVKzFGNTBELCBVKzFGNTEyLTFGNTEzLCBVKzFGNTNFLTFGNTRBLCBVKzFGNTRGLTFGNUZBLCBVKzFGNjEwLCBVKzFGNjUwLTFGNjdGLCBVKzFGNjg3LCBVKzFGNjhELCBVKzFGNjkxLCBVKzFGNjk0LCBVKzFGNjk4LCBVKzFGNkFELCBVKzFGNkIyLCBVKzFGNkI5LTFGNkJBLCBVKzFGNkJDLCBVKzFGNkM2LTFGNkNGLCBVKzFGNkQzLTFGNkQ3LCBVKzFGNkUwLTFGNkVBLCBVKzFGNkYwLTFGNkYzLCBVKzFGNkY3LTFGNkZDLCBVKzFGNzAwLTFGN0ZGLCBVKzFGODAwLTFGODBCLCBVKzFGODEwLTFGODQ3LCBVKzFGODUwLTFGODU5LCBVKzFGODYwLTFGODg3LCBVKzFGODkwLTFGOEFELCBVKzFGOEIwLTFGOEJCLCBVKzFGOEMwLTFGOEMxLCBVKzFGOTAwLTFGOTBCLCBVKzFGOTNCLCBVKzFGOTQ2LCBVKzFGOTg0LCBVKzFGOTk2LCBVKzFGOUU5LCBVKzFGQTAwLTFGQTZGLCBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg5LCBVKzFGQThGLTFGQUM2LCBVKzFGQUNFLTFGQURDLCBVKzFGQURGLTFGQUU5LCBVKzFGQUYwLTFGQUY4LCBVKzFGQjAwLTFGQkZGOwp9Ci8qIHZpZXRuYW1lc2UgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNjAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTQ211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMTAyLTAxMDMsIFUrMDExMC0wMTExLCBVKzAxMjgtMDEyOSwgVSswMTY4LTAxNjksIFUrMDFBMC0wMUExLCBVKzAxQUYtMDFCMCwgVSswMzAwLTAzMDEsIFUrMDMwMy0wMzA0LCBVKzAzMDgtMDMwOSwgVSswMzIzLCBVKzAzMjksIFUrMUVBMC0xRUY5LCBVKzIwQUI7Cn0KLyogbGF0aW4tZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0dtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDYwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUUy1tdXcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTS211MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswNDYwLTA1MkYsIFUrMUM4MC0xQzhBLCBVKzIwQjQsIFUrMkRFMC0yREZGLCBVK0E2NDAtQTY5RiwgVStGRTJFLUZFMkY7Cn0KLyogY3lyaWxsaWMgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIGZvbnQtc3RyZXRjaDogMTAwJTsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3Mvb3BlbnNhbnMvdjQ0L21lbXZZYUdzMTI2TWlacEJBLVV2V2JYMnZWblhCYk9iajJPVlRTdW11MWFCLndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMzAxLCBVKzA0MDAtMDQ1RiwgVSswNDkwLTA0OTEsIFUrMDRCMC0wNEIxLCBVKzIxMTY7Cn0KLyogZ3JlZWstZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU09tdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMUYwMC0xRkZGOwp9Ci8qIGdyZWVrICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU3ltdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDM3MC0wMzc3LCBVKzAzN0EtMDM3RiwgVSswMzg0LTAzOEEsIFUrMDM4QywgVSswMzhFLTAzQTEsIFUrMDNBMy0wM0ZGOwp9Ci8qIGhlYnJldyAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFMybXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDctMDMwOCwgVSswNTkwLTA1RkYsIFUrMjAwQy0yMDEwLCBVKzIwQUEsIFUrMjVDQywgVStGQjFELUZCNEY7Cn0KLyogbWF0aCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFZPbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDItMDMwMywgVSswMzA1LCBVKzAzMDctMDMwOCwgVSswMzEwLCBVKzAzMTIsIFUrMDMxNSwgVSswMzFBLCBVKzAzMjYtMDMyNywgVSswMzJDLCBVKzAzMkYtMDMzMCwgVSswMzMyLTAzMzMsIFUrMDMzOCwgVSswMzNBLCBVKzAzNDYsIFUrMDM0RCwgVSswMzkxLTAzQTEsIFUrMDNBMy0wM0E5LCBVKzAzQjEtMDNDOSwgVSswM0QxLCBVKzAzRDUtMDNENiwgVSswM0YwLTAzRjEsIFUrMDNGNC0wM0Y1LCBVKzIwMTYtMjAxNywgVSsyMDM0LTIwMzgsIFUrMjAzQywgVSsyMDQwLCBVKzIwNDMsIFUrMjA0NywgVSsyMDUwLCBVKzIwNTcsIFUrMjA1RiwgVSsyMDcwLTIwNzEsIFUrMjA3NC0yMDhFLCBVKzIwOTAtMjA5QywgVSsyMEQwLTIwREMsIFUrMjBFMSwgVSsyMEU1LTIwRUYsIFUrMjEwMC0yMTEyLCBVKzIxMTQtMjExNSwgVSsyMTE3LTIxMjEsIFUrMjEyMy0yMTRGLCBVKzIxOTAsIFUrMjE5MiwgVSsyMTk0LTIxQUUsIFUrMjFCMC0yMUU1LCBVKzIxRjEtMjFGMiwgVSsyMUY0LTIyMTEsIFUrMjIxMy0yMjE0LCBVKzIyMTYtMjJGRiwgVSsyMzA4LTIzMEIsIFUrMjMxMCwgVSsyMzE5LCBVKzIzMUMtMjMyMSwgVSsyMzM2LTIzN0EsIFUrMjM3QywgVSsyMzk1LCBVKzIzOUItMjNCNywgVSsyM0QwLCBVKzIzREMtMjNFMSwgVSsyNDc0LTI0NzUsIFUrMjVBRiwgVSsyNUIzLCBVKzI1QjcsIFUrMjVCRCwgVSsyNUMxLCBVKzI1Q0EsIFUrMjVDQywgVSsyNUZCLCBVKzI2NkQtMjY2RiwgVSsyN0MwLTI3RkYsIFUrMjkwMC0yQUZGLCBVKzJCMEUtMkIxMSwgVSsyQjMwLTJCNEMsIFUrMkJGRSwgVSszMDMwLCBVK0ZGNUIsIFUrRkY1RCwgVSsxRDQwMC0xRDdGRiwgVSsxRUUwMC0xRUVGRjsKfQovKiBzeW1ib2xzICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUVUdtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDAwMS0wMDBDLCBVKzAwMEUtMDAxRiwgVSswMDdGLTAwOUYsIFUrMjBERC0yMEUwLCBVKzIwRTItMjBFNCwgVSsyMTUwLTIxOEYsIFUrMjE5MCwgVSsyMTkyLCBVKzIxOTQtMjE5OSwgVSsyMUFGLCBVKzIxRTYtMjFGMCwgVSsyMUYzLCBVKzIyMTgtMjIxOSwgVSsyMjk5LCBVKzIyQzQtMjJDNiwgVSsyMzAwLTI0M0YsIFUrMjQ0MC0yNDRBLCBVKzI0NjAtMjRGRiwgVSsyNUEwLTI3QkYsIFUrMjgwMC0yOEZGLCBVKzI5MjEtMjkyMiwgVSsyOTgxLCBVKzI5QkYsIFUrMjlFQiwgVSsyQjAwLTJCRkYsIFUrNERDMC00REZGLCBVK0ZGRjktRkZGQiwgVSsxMDE0MC0xMDE4RSwgVSsxMDE5MC0xMDE5QywgVSsxMDFBMCwgVSsxMDFEMC0xMDFGRCwgVSsxMDJFMC0xMDJGQiwgVSsxMEU2MC0xMEU3RSwgVSsxRDJDMC0xRDJEMywgVSsxRDJFMC0xRDM3RiwgVSsxRjAwMC0xRjBGRiwgVSsxRjEwMC0xRjFBRCwgVSsxRjFFNi0xRjFGRiwgVSsxRjMwRC0xRjMwRiwgVSsxRjMxNSwgVSsxRjMxQywgVSsxRjMxRSwgVSsxRjMyMC0xRjMyQywgVSsxRjMzNiwgVSsxRjM3OCwgVSsxRjM3RCwgVSsxRjM4MiwgVSsxRjM5My0xRjM5RiwgVSsxRjNBNy0xRjNBOCwgVSsxRjNBQy0xRjNBRiwgVSsxRjNDMiwgVSsxRjNDNC0xRjNDNiwgVSsxRjNDQS0xRjNDRSwgVSsxRjNENC0xRjNFMCwgVSsxRjNFRCwgVSsxRjNGMS0xRjNGMywgVSsxRjNGNS0xRjNGNywgVSsxRjQwOCwgVSsxRjQxNSwgVSsxRjQxRiwgVSsxRjQyNiwgVSsxRjQzRiwgVSsxRjQ0MS0xRjQ0MiwgVSsxRjQ0NCwgVSsxRjQ0Ni0xRjQ0OSwgVSsxRjQ0Qy0xRjQ0RSwgVSsxRjQ1MywgVSsxRjQ2QSwgVSsxRjQ3RCwgVSsxRjRBMywgVSsxRjRCMCwgVSsxRjRCMywgVSsxRjRCOSwgVSsxRjRCQiwgVSsxRjRCRiwgVSsxRjRDOC0xRjRDQiwgVSsxRjRENiwgVSsxRjREQSwgVSsxRjRERiwgVSsxRjRFMy0xRjRFNiwgVSsxRjRFQS0xRjRFRCwgVSsxRjRGNywgVSsxRjRGOS0xRjRGQiwgVSsxRjRGRC0xRjRGRSwgVSsxRjUwMywgVSsxRjUwNy0xRjUwQiwgVSsxRjUwRCwgVSsxRjUxMi0xRjUxMywgVSsxRjUzRS0xRjU0QSwgVSsxRjU0Ri0xRjVGQSwgVSsxRjYxMCwgVSsxRjY1MC0xRjY3RiwgVSsxRjY4NywgVSsxRjY4RCwgVSsxRjY5MSwgVSsxRjY5NCwgVSsxRjY5OCwgVSsxRjZBRCwgVSsxRjZCMiwgVSsxRjZCOS0xRjZCQSwgVSsxRjZCQywgVSsxRjZDNi0xRjZDRiwgVSsxRjZEMy0xRjZENywgVSsxRjZFMC0xRjZFQSwgVSsxRjZGMC0xRjZGMywgVSsxRjZGNy0xRjZGQywgVSsxRjcwMC0xRjdGRiwgVSsxRjgwMC0xRjgwQiwgVSsxRjgxMC0xRjg0NywgVSsxRjg1MC0xRjg1OSwgVSsxRjg2MC0xRjg4NywgVSsxRjg5MC0xRjhBRCwgVSsxRjhCMC0xRjhCQiwgVSsxRjhDMC0xRjhDMSwgVSsxRjkwMC0xRjkwQiwgVSsxRjkzQiwgVSsxRjk0NiwgVSsxRjk4NCwgVSsxRjk5NiwgVSsxRjlFOSwgVSsxRkEwMC0xRkE2RiwgVSsxRkE3MC0xRkE3QywgVSsxRkE4MC0xRkE4OSwgVSsxRkE4Ri0xRkFDNiwgVSsxRkFDRS0xRkFEQywgVSsxRkFERi0xRkFFOSwgVSsxRkFGMC0xRkFGOCwgVSsxRkIwMC0xRkJGRjsKfQovKiB2aWV0bmFtZXNlICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBmb250LXN0cmV0Y2g6IDEwMCU7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL29wZW5zYW5zL3Y0NC9tZW12WWFHczEyNk1pWnBCQS1VdldiWDJ2Vm5YQmJPYmoyT1ZUU0NtdTFhQi53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMi0wMTAzLCBVKzAxMTAtMDExMSwgVSswMTI4LTAxMjksIFUrMDE2OC0wMTY5LCBVKzAxQTAtMDFBMSwgVSswMUFGLTAxQjAsIFUrMDMwMC0wMzAxLCBVKzAzMDMtMDMwNCwgVSswMzA4LTAzMDksIFUrMDMyMywgVSswMzI5LCBVKzFFQTAtMUVGOSwgVSsyMEFCOwp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFNHbXUxYUIud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ09wZW4gU2Fucyc7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgZm9udC1zdHJldGNoOiAxMDAlOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9vcGVuc2Fucy92NDQvbWVtdllhR3MxMjZNaVpwQkEtVXZXYlgydlZuWEJiT2JqMk9WVFMtbXV3LndvZmYyKSBmb3JtYXQoJ3dvZmYyJyk7CiAgdW5pY29kZS1yYW5nZTogVSswMDAwLTAwRkYsIFUrMDEzMSwgVSswMTUyLTAxNTMsIFUrMDJCQi0wMkJDLCBVKzAyQzYsIFUrMDJEQSwgVSswMkRDLCBVKzAzMDQsIFUrMDMwOCwgVSswMzI5LCBVKzIwMDAtMjA2RiwgVSsyMEFDLCBVKzIxMjIsIFUrMjE5MSwgVSsyMTkzLCBVKzIyMTIsIFUrMjIxNSwgVStGRUZGLCBVK0ZGRkQ7Cn0KLyogY3lyaWxsaWMtZXh0ICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wdHNlcmlmL3YxOS9FSlJWUWdZb1paWTJ2Q0Z1dkFGYnpyLXRkZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNDAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wdHNlcmlmL3YxOS9FSlJWUWdZb1paWTJ2Q0Z1dkFGU3pyLXRkZy53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDMwMSwgVSswNDAwLTA0NUYsIFUrMDQ5MC0wNDkxLCBVKzA0QjAtMDRCMSwgVSsyMTE2Owp9Ci8qIGxhdGluLWV4dCAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BUIFNlcmlmJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcHRzZXJpZi92MTkvRUpSVlFnWW9aWlkydkNGdXZBRll6ci10ZGcud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAxMDAtMDJCQSwgVSswMkJELTAyQzUsIFUrMDJDNy0wMkNDLCBVKzAyQ0UtMDJENywgVSswMkRELTAyRkYsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMUQwMC0xREJGLCBVKzFFMDAtMUU5RiwgVSsxRUYyLTFFRkYsIFUrMjAyMCwgVSsyMEEwLTIwQUIsIFUrMjBBRC0yMEMwLCBVKzIxMTMsIFUrMkM2MC0yQzdGLCBVK0E3MjAtQTdGRjsKfQovKiBsYXRpbiAqLwpAZm9udC1mYWNlIHsKICBmb250LWZhbWlseTogJ1BUIFNlcmlmJzsKICBmb250LXN0eWxlOiBub3JtYWw7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBzcmM6IHVybChodHRwczovL2ZvbnRzLmdzdGF0aWMuY29tL3MvcHRzZXJpZi92MTkvRUpSVlFnWW9aWlkydkNGdXZBRld6cjgud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQovKiBjeXJpbGxpYy1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQVCBTZXJpZic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3B0c2VyaWYvdjE5L0VKUlNRZ1lvWlpZMnZDRnV2QW50NjZxZlZ5dkhwQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDQ2MC0wNTJGLCBVKzFDODAtMUM4QSwgVSsyMEI0LCBVKzJERTAtMkRGRiwgVStBNjQwLUE2OUYsIFUrRkUyRS1GRTJGOwp9Ci8qIGN5cmlsbGljICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wdHNlcmlmL3YxOS9FSlJTUWdZb1paWTJ2Q0Z1dkFudDY2cVdWeXZIcEEud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAzMDEsIFUrMDQwMC0wNDVGLCBVKzA0OTAtMDQ5MSwgVSswNEIwLTA0QjEsIFUrMjExNjsKfQovKiBsYXRpbi1leHQgKi8KQGZvbnQtZmFjZSB7CiAgZm9udC1mYW1pbHk6ICdQVCBTZXJpZic7CiAgZm9udC1zdHlsZTogbm9ybWFsOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgc3JjOiB1cmwoaHR0cHM6Ly9mb250cy5nc3RhdGljLmNvbS9zL3B0c2VyaWYvdjE5L0VKUlNRZ1lvWlpZMnZDRnV2QW50NjZxY1Z5dkhwQS53b2ZmMikgZm9ybWF0KCd3b2ZmMicpOwogIHVuaWNvZGUtcmFuZ2U6IFUrMDEwMC0wMkJBLCBVKzAyQkQtMDJDNSwgVSswMkM3LTAyQ0MsIFUrMDJDRS0wMkQ3LCBVKzAyREQtMDJGRiwgVSswMzA0LCBVKzAzMDgsIFUrMDMyOSwgVSsxRDAwLTFEQkYsIFUrMUUwMC0xRTlGLCBVKzFFRjItMUVGRiwgVSsyMDIwLCBVKzIwQTAtMjBBQiwgVSsyMEFELTIwQzAsIFUrMjExMywgVSsyQzYwLTJDN0YsIFUrQTcyMC1BN0ZGOwp9Ci8qIGxhdGluICovCkBmb250LWZhY2UgewogIGZvbnQtZmFtaWx5OiAnUFQgU2VyaWYnOwogIGZvbnQtc3R5bGU6IG5vcm1hbDsKICBmb250LXdlaWdodDogNzAwOwogIHNyYzogdXJsKGh0dHBzOi8vZm9udHMuZ3N0YXRpYy5jb20vcy9wdHNlcmlmL3YxOS9FSlJTUWdZb1paWTJ2Q0Z1dkFudDY2cVNWeXMud29mZjIpIGZvcm1hdCgnd29mZjInKTsKICB1bmljb2RlLXJhbmdlOiBVKzAwMDAtMDBGRiwgVSswMTMxLCBVKzAxNTItMDE1MywgVSswMkJCLTAyQkMsIFUrMDJDNiwgVSswMkRBLCBVKzAyREMsIFUrMDMwNCwgVSswMzA4LCBVKzAzMjksIFUrMjAwMC0yMDZGLCBVKzIwQUMsIFUrMjEyMiwgVSsyMTkxLCBVKzIxOTMsIFUrMjIxMiwgVSsyMjE1LCBVK0ZFRkYsIFUrRkZGRDsKfQo="}},"time_used":91,"timings":{"blocked":-1,"dns":2,"connect":16,"send":0,"wait":37,"receive":0,"ssl":36},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/ptserif/v19/EJRVQgYoZZY2vCFuvAFWzr8.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://frxoptmarkt.com/","date":"2026-07-27T06:33:10.695Z","timestamp":1785133990695,"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/ptserif/v19/EJRVQgYoZZY2vCFuvAFWzr8.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://frxoptmarkt.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: 33116\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: Thu, 04 Sep 2025 17:38:18 GMT\r\ncontent-type: font/woff2\r\nage: 408176\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":33116,"size_decoded":33929,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 33116, version 1.0","md5":"48b1fa647f5ccfa511cc07a10fc22e55","sha1":"12e1e0d36983a8d900bc66b4784a6f9b9ace4b60","sha256":"4271064a37f3ffc0aac5f3806db8a72acc23e19447d1804e4e80d8796cbf6330","sha512":"7749703e473f0921d37b5f983896d0da11fe7d5377002bbae7d53c1c20c83f8812fcb43fcf043ccb487b378e4ace47ca113a174573f285e39a40e92c07b90428","ssdeep":"768:SwHBYO+MdvLS9dVksqgeZDkTk2bAt6//LkGWKKey2lcExP/KNu:naMdE0rgIwlbAt6nlhlLBqu","tlshash":"94e201ef699b3b9981638338477189192b0054d4fa6c5678f4edd2fb1013fa904aac3f","first_seen":"2023-05-03T04:45:14Z","last_seen":"2026-08-04T12:23:43.235584Z","times_seen":13004,"resource_available":false,"data":"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"}},"time_used":20,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":17,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/jquery-2.2.4.min.js","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.600Z","timestamp":1785133989600,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/jquery-2.2.4.min.js HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/javascript\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 29167\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":85578,"size_decoded":29405,"mime_type":"text/javascript","magic":"JavaScript source, ASCII text, with very long lines (32065)","md5":"2f6b11a7e914718e0290410e85366fe9","sha1":"69bb69e25ca7d5ef0935317584e6153f3fd9a88c","sha256":"05b85d96f41fff14d8f608dad03ab71e2c1017c2da0914d7c59291bad7a54f8e","sha512":"0d40bccaa59fedecf7243d63b33c42592541d0330fefc78ec81a4c6b9689922d5b211011ca4be23ae22621cce4c658f52a1552c92d7ac3615241eb640f8514db","ssdeep":"1536:EYE1JVoiB9JqZdXXe2pD3PgoIiulrUndZ6a4tfOR7WpfWBZ2BJda4w9W3qG9a986:v4J+OlfOhWppCW6G9a98Hr2","tlshash":"1e83c6d9b2d6706297b734b850bf410bb17a98dab44c8c60f059d4e47eb4a8e507bf2c","first_seen":"2023-03-07T01:02:00Z","last_seen":"2026-08-04T12:24:07.151418Z","times_seen":293653,"resource_available":true,"data":"LyohIGpRdWVyeSB2Mi4yLjQgfCAoYykgalF1ZXJ5IEZvdW5kYXRpb24gfCBqcXVlcnkub3JnL2xpY2Vuc2UgKi8KIWZ1bmN0aW9uKGEsYil7Im9iamVjdCI9PXR5cGVvZiBtb2R1bGUmJiJvYmplY3QiPT10eXBlb2YgbW9kdWxlLmV4cG9ydHM/bW9kdWxlLmV4cG9ydHM9YS5kb2N1bWVudD9iKGEsITApOmZ1bmN0aW9uKGEpe2lmKCFhLmRvY3VtZW50KXRocm93IG5ldyBFcnJvcigialF1ZXJ5IHJlcXVpcmVzIGEgd2luZG93IHdpdGggYSBkb2N1bWVudCIpO3JldHVybiBiKGEpfTpiKGEpfSgidW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcyxmdW5jdGlvbihhLGIpe3ZhciBjPVtdLGQ9YS5kb2N1bWVudCxlPWMuc2xpY2UsZj1jLmNvbmNhdCxnPWMucHVzaCxoPWMuaW5kZXhPZixpPXt9LGo9aS50b1N0cmluZyxrPWkuaGFzT3duUHJvcGVydHksbD17fSxtPSIyLjIuNCIsbj1mdW5jdGlvbihhLGIpe3JldHVybiBuZXcgbi5mbi5pbml0KGEsYil9LG89L15bXHNcdUZFRkZceEEwXSt8W1xzXHVGRUZGXHhBMF0rJC9nLHA9L14tbXMtLyxxPS8tKFtcZGEtel0pL2dpLHI9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYi50b1VwcGVyQ2FzZSgpfTtuLmZuPW4ucHJvdG90eXBlPXtqcXVlcnk6bSxjb25zdHJ1Y3RvcjpuLHNlbGVjdG9yOiIiLGxlbmd0aDowLHRvQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gZS5jYWxsKHRoaXMpfSxnZXQ6ZnVuY3Rpb24oYSl7cmV0dXJuIG51bGwhPWE/MD5hP3RoaXNbYSt0aGlzLmxlbmd0aF06dGhpc1thXTplLmNhbGwodGhpcyl9LHB1c2hTdGFjazpmdW5jdGlvbihhKXt2YXIgYj1uLm1lcmdlKHRoaXMuY29uc3RydWN0b3IoKSxhKTtyZXR1cm4gYi5wcmV2T2JqZWN0PXRoaXMsYi5jb250ZXh0PXRoaXMuY29udGV4dCxifSxlYWNoOmZ1bmN0aW9uKGEpe3JldHVybiBuLmVhY2godGhpcyxhKX0sbWFwOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayhuLm1hcCh0aGlzLGZ1bmN0aW9uKGIsYyl7cmV0dXJuIGEuY2FsbChiLGMsYil9KSl9LHNsaWNlOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGUuYXBwbHkodGhpcyxhcmd1bWVudHMpKX0sZmlyc3Q6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcSgwKX0sbGFzdDpmdW5jdGlvbigpe3JldHVybiB0aGlzLmVxKC0xKX0sZXE6ZnVuY3Rpb24oYSl7dmFyIGI9dGhpcy5sZW5ndGgsYz0rYSsoMD5hP2I6MCk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGM+PTAmJmI+Yz9bdGhpc1tjXV06W10pfSxlbmQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wcmV2T2JqZWN0fHx0aGlzLmNvbnN0cnVjdG9yKCl9LHB1c2g6Zyxzb3J0OmMuc29ydCxzcGxpY2U6Yy5zcGxpY2V9LG4uZXh0ZW5kPW4uZm4uZXh0ZW5kPWZ1bmN0aW9uKCl7dmFyIGEsYixjLGQsZSxmLGc9YXJndW1lbnRzWzBdfHx7fSxoPTEsaT1hcmd1bWVudHMubGVuZ3RoLGo9ITE7Zm9yKCJib29sZWFuIj09dHlwZW9mIGcmJihqPWcsZz1hcmd1bWVudHNbaF18fHt9LGgrKyksIm9iamVjdCI9PXR5cGVvZiBnfHxuLmlzRnVuY3Rpb24oZyl8fChnPXt9KSxoPT09aSYmKGc9dGhpcyxoLS0pO2k+aDtoKyspaWYobnVsbCE9KGE9YXJndW1lbnRzW2hdKSlmb3IoYiBpbiBhKWM9Z1tiXSxkPWFbYl0sZyE9PWQmJihqJiZkJiYobi5pc1BsYWluT2JqZWN0KGQpfHwoZT1uLmlzQXJyYXkoZCkpKT8oZT8oZT0hMSxmPWMmJm4uaXNBcnJheShjKT9jOltdKTpmPWMmJm4uaXNQbGFpbk9iamVjdChjKT9jOnt9LGdbYl09bi5leHRlbmQoaixmLGQpKTp2b2lkIDAhPT1kJiYoZ1tiXT1kKSk7cmV0dXJuIGd9LG4uZXh0ZW5kKHtleHBhbmRvOiJqUXVlcnkiKyhtK01hdGgucmFuZG9tKCkpLnJlcGxhY2UoL1xEL2csIiIpLGlzUmVhZHk6ITAsZXJyb3I6ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKGEpfSxub29wOmZ1bmN0aW9uKCl7fSxpc0Z1bmN0aW9uOmZ1bmN0aW9uKGEpe3JldHVybiJmdW5jdGlvbiI9PT1uLnR5cGUoYSl9LGlzQXJyYXk6QXJyYXkuaXNBcnJheSxpc1dpbmRvdzpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbCE9YSYmYT09PWEud2luZG93fSxpc051bWVyaWM6ZnVuY3Rpb24oYSl7dmFyIGI9YSYmYS50b1N0cmluZygpO3JldHVybiFuLmlzQXJyYXkoYSkmJmItcGFyc2VGbG9hdChiKSsxPj0wfSxpc1BsYWluT2JqZWN0OmZ1bmN0aW9uKGEpe3ZhciBiO2lmKCJvYmplY3QiIT09bi50eXBlKGEpfHxhLm5vZGVUeXBlfHxuLmlzV2luZG93KGEpKXJldHVybiExO2lmKGEuY29uc3RydWN0b3ImJiFrLmNhbGwoYSwiY29uc3RydWN0b3IiKSYmIWsuY2FsbChhLmNvbnN0cnVjdG9yLnByb3RvdHlwZXx8e30sImlzUHJvdG90eXBlT2YiKSlyZXR1cm4hMTtmb3IoYiBpbiBhKTtyZXR1cm4gdm9pZCAwPT09Ynx8ay5jYWxsKGEsYil9LGlzRW1wdHlPYmplY3Q6ZnVuY3Rpb24oYSl7dmFyIGI7Zm9yKGIgaW4gYSlyZXR1cm4hMTtyZXR1cm4hMH0sdHlwZTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT9hKyIiOiJvYmplY3QiPT10eXBlb2YgYXx8ImZ1bmN0aW9uIj09dHlwZW9mIGE/aVtqLmNhbGwoYSldfHwib2JqZWN0Ijp0eXBlb2YgYX0sZ2xvYmFsRXZhbDpmdW5jdGlvbihhKXt2YXIgYixjPWV2YWw7YT1uLnRyaW0oYSksYSYmKDE9PT1hLmluZGV4T2YoInVzZSBzdHJpY3QiKT8oYj1kLmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpLGIudGV4dD1hLGQuaGVhZC5hcHBlbmRDaGlsZChiKS5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGIpKTpjKGEpKX0sY2FtZWxDYXNlOmZ1bmN0aW9uKGEpe3JldHVybiBhLnJlcGxhY2UocCwibXMtIikucmVwbGFjZShxLHIpfSxub2RlTmFtZTpmdW5jdGlvbihhLGIpe3JldHVybiBhLm5vZGVOYW1lJiZhLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk9PT1iLnRvTG93ZXJDYXNlKCl9LGVhY2g6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPTA7aWYocyhhKSl7Zm9yKGM9YS5sZW5ndGg7Yz5kO2QrKylpZihiLmNhbGwoYVtkXSxkLGFbZF0pPT09ITEpYnJlYWt9ZWxzZSBmb3IoZCBpbiBhKWlmKGIuY2FsbChhW2RdLGQsYVtkXSk9PT0hMSlicmVhaztyZXR1cm4gYX0sdHJpbTpmdW5jdGlvbihhKXtyZXR1cm4gbnVsbD09YT8iIjooYSsiIikucmVwbGFjZShvLCIiKX0sbWFrZUFycmF5OmZ1bmN0aW9uKGEsYil7dmFyIGM9Ynx8W107cmV0dXJuIG51bGwhPWEmJihzKE9iamVjdChhKSk/bi5tZXJnZShjLCJzdHJpbmciPT10eXBlb2YgYT9bYV06YSk6Zy5jYWxsKGMsYSkpLGN9LGluQXJyYXk6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBudWxsPT1iPy0xOmguY2FsbChiLGEsYyl9LG1lcmdlOmZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPStiLmxlbmd0aCxkPTAsZT1hLmxlbmd0aDtjPmQ7ZCsrKWFbZSsrXT1iW2RdO3JldHVybiBhLmxlbmd0aD1lLGF9LGdyZXA6ZnVuY3Rpb24oYSxiLGMpe2Zvcih2YXIgZCxlPVtdLGY9MCxnPWEubGVuZ3RoLGg9IWM7Zz5mO2YrKylkPSFiKGFbZl0sZiksZCE9PWgmJmUucHVzaChhW2ZdKTtyZXR1cm4gZX0sbWFwOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlLGc9MCxoPVtdO2lmKHMoYSkpZm9yKGQ9YS5sZW5ndGg7ZD5nO2crKyllPWIoYVtnXSxnLGMpLG51bGwhPWUmJmgucHVzaChlKTtlbHNlIGZvcihnIGluIGEpZT1iKGFbZ10sZyxjKSxudWxsIT1lJiZoLnB1c2goZSk7cmV0dXJuIGYuYXBwbHkoW10saCl9LGd1aWQ6MSxwcm94eTpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZjtyZXR1cm4ic3RyaW5nIj09dHlwZW9mIGImJihjPWFbYl0sYj1hLGE9Yyksbi5pc0Z1bmN0aW9uKGEpPyhkPWUuY2FsbChhcmd1bWVudHMsMiksZj1mdW5jdGlvbigpe3JldHVybiBhLmFwcGx5KGJ8fHRoaXMsZC5jb25jYXQoZS5jYWxsKGFyZ3VtZW50cykpKX0sZi5ndWlkPWEuZ3VpZD1hLmd1aWR8fG4uZ3VpZCsrLGYpOnZvaWQgMH0sbm93OkRhdGUubm93LHN1cHBvcnQ6bH0pLCJmdW5jdGlvbiI9PXR5cGVvZiBTeW1ib2wmJihuLmZuW1N5bWJvbC5pdGVyYXRvcl09Y1tTeW1ib2wuaXRlcmF0b3JdKSxuLmVhY2goIkJvb2xlYW4gTnVtYmVyIFN0cmluZyBGdW5jdGlvbiBBcnJheSBEYXRlIFJlZ0V4cCBPYmplY3QgRXJyb3IgU3ltYm9sIi5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7aVsiW29iamVjdCAiK2IrIl0iXT1iLnRvTG93ZXJDYXNlKCl9KTtmdW5jdGlvbiBzKGEpe3ZhciBiPSEhYSYmImxlbmd0aCJpbiBhJiZhLmxlbmd0aCxjPW4udHlwZShhKTtyZXR1cm4iZnVuY3Rpb24iPT09Y3x8bi5pc1dpbmRvdyhhKT8hMToiYXJyYXkiPT09Y3x8MD09PWJ8fCJudW1iZXIiPT10eXBlb2YgYiYmYj4wJiZiLTEgaW4gYX12YXIgdD1mdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpLGosayxsLG0sbixvLHAscSxyLHMsdCx1PSJzaXp6bGUiKzEqbmV3IERhdGUsdj1hLmRvY3VtZW50LHc9MCx4PTAseT1nYSgpLHo9Z2EoKSxBPWdhKCksQj1mdW5jdGlvbihhLGIpe3JldHVybiBhPT09YiYmKGw9ITApLDB9LEM9MTw8MzEsRD17fS5oYXNPd25Qcm9wZXJ0eSxFPVtdLEY9RS5wb3AsRz1FLnB1c2gsSD1FLnB1c2gsST1FLnNsaWNlLEo9ZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MCxkPWEubGVuZ3RoO2Q+YztjKyspaWYoYVtjXT09PWIpcmV0dXJuIGM7cmV0dXJuLTF9LEs9ImNoZWNrZWR8c2VsZWN0ZWR8YXN5bmN8YXV0b2ZvY3VzfGF1dG9wbGF5fGNvbnRyb2xzfGRlZmVyfGRpc2FibGVkfGhpZGRlbnxpc21hcHxsb29wfG11bHRpcGxlfG9wZW58cmVhZG9ubHl8cmVxdWlyZWR8c2NvcGVkIixMPSJbXFx4MjBcXHRcXHJcXG5cXGZdIixNPSIoPzpcXFxcLnxbXFx3LV18W15cXHgwMC1cXHhhMF0pKyIsTj0iXFxbIitMKyIqKCIrTSsiKSg/OiIrTCsiKihbKl4kfCF+XT89KSIrTCsiKig/OicoKD86XFxcXC58W15cXFxcJ10pKiknfFwiKCg/OlxcXFwufFteXFxcXFwiXSkqKVwifCgiK00rIikpfCkiK0wrIipcXF0iLE89IjooIitNKyIpKD86XFwoKCgnKCg/OlxcXFwufFteXFxcXCddKSopJ3xcIigoPzpcXFxcLnxbXlxcXFxcIl0pKilcIil8KCg/OlxcXFwufFteXFxcXCgpW1xcXV18IitOKyIpKil8LiopXFwpfCkiLFA9bmV3IFJlZ0V4cChMKyIrIiwiZyIpLFE9bmV3IFJlZ0V4cCgiXiIrTCsiK3woKD86XnxbXlxcXFxdKSg/OlxcXFwuKSopIitMKyIrJCIsImciKSxSPW5ldyBSZWdFeHAoIl4iK0wrIiosIitMKyIqIiksUz1uZXcgUmVnRXhwKCJeIitMKyIqKFs+K35dfCIrTCsiKSIrTCsiKiIpLFQ9bmV3IFJlZ0V4cCgiPSIrTCsiKihbXlxcXSdcIl0qPykiK0wrIipcXF0iLCJnIiksVT1uZXcgUmVnRXhwKE8pLFY9bmV3IFJlZ0V4cCgiXiIrTSsiJCIpLFc9e0lEOm5ldyBSZWdFeHAoIl4jKCIrTSsiKSIpLENMQVNTOm5ldyBSZWdFeHAoIl5cXC4oIitNKyIpIiksVEFHOm5ldyBSZWdFeHAoIl4oIitNKyJ8WypdKSIpLEFUVFI6bmV3IFJlZ0V4cCgiXiIrTiksUFNFVURPOm5ldyBSZWdFeHAoIl4iK08pLENISUxEOm5ldyBSZWdFeHAoIl46KG9ubHl8Zmlyc3R8bGFzdHxudGh8bnRoLWxhc3QpLShjaGlsZHxvZi10eXBlKSg/OlxcKCIrTCsiKihldmVufG9kZHwoKFsrLV18KShcXGQqKW58KSIrTCsiKig/OihbKy1dfCkiK0wrIiooXFxkKyl8KSkiK0wrIipcXCl8KSIsImkiKSxib29sOm5ldyBSZWdFeHAoIl4oPzoiK0srIikkIiwiaSIpLG5lZWRzQ29udGV4dDpuZXcgUmVnRXhwKCJeIitMKyIqWz4rfl18OihldmVufG9kZHxlcXxndHxsdHxudGh8Zmlyc3R8bGFzdCkoPzpcXCgiK0wrIiooKD86LVxcZCk/XFxkKikiK0wrIipcXCl8KSg/PVteLV18JCkiLCJpIil9LFg9L14oPzppbnB1dHxzZWxlY3R8dGV4dGFyZWF8YnV0dG9uKSQvaSxZPS9eaFxkJC9pLFo9L15bXntdK1x7XHMqXFtuYXRpdmUgXHcvLCQ9L14oPzojKFtcdy1dKyl8KFx3Kyl8XC4oW1x3LV0rKSkkLyxfPS9bK35dLyxhYT0vJ3xcXC9nLGJhPW5ldyBSZWdFeHAoIlxcXFwoW1xcZGEtZl17MSw2fSIrTCsiP3woIitMKyIpfC4pIiwiaWciKSxjYT1mdW5jdGlvbihhLGIsYyl7dmFyIGQ9IjB4IitiLTY1NTM2O3JldHVybiBkIT09ZHx8Yz9iOjA+ZD9TdHJpbmcuZnJvbUNoYXJDb2RlKGQrNjU1MzYpOlN0cmluZy5mcm9tQ2hhckNvZGUoZD4+MTB8NTUyOTYsMTAyMyZkfDU2MzIwKX0sZGE9ZnVuY3Rpb24oKXttKCl9O3RyeXtILmFwcGx5KEU9SS5jYWxsKHYuY2hpbGROb2Rlcyksdi5jaGlsZE5vZGVzKSxFW3YuY2hpbGROb2Rlcy5sZW5ndGhdLm5vZGVUeXBlfWNhdGNoKGVhKXtIPXthcHBseTpFLmxlbmd0aD9mdW5jdGlvbihhLGIpe0cuYXBwbHkoYSxJLmNhbGwoYikpfTpmdW5jdGlvbihhLGIpe3ZhciBjPWEubGVuZ3RoLGQ9MDt3aGlsZShhW2MrK109YltkKytdKTthLmxlbmd0aD1jLTF9fX1mdW5jdGlvbiBmYShhLGIsZCxlKXt2YXIgZixoLGosayxsLG8scixzLHc9YiYmYi5vd25lckRvY3VtZW50LHg9Yj9iLm5vZGVUeXBlOjk7aWYoZD1kfHxbXSwic3RyaW5nIiE9dHlwZW9mIGF8fCFhfHwxIT09eCYmOSE9PXgmJjExIT09eClyZXR1cm4gZDtpZighZSYmKChiP2Iub3duZXJEb2N1bWVudHx8Yjp2KSE9PW4mJm0oYiksYj1ifHxuLHApKXtpZigxMSE9PXgmJihvPSQuZXhlYyhhKSkpaWYoZj1vWzFdKXtpZig5PT09eCl7aWYoIShqPWIuZ2V0RWxlbWVudEJ5SWQoZikpKXJldHVybiBkO2lmKGouaWQ9PT1mKXJldHVybiBkLnB1c2goaiksZH1lbHNlIGlmKHcmJihqPXcuZ2V0RWxlbWVudEJ5SWQoZikpJiZ0KGIsaikmJmouaWQ9PT1mKXJldHVybiBkLnB1c2goaiksZH1lbHNle2lmKG9bMl0pcmV0dXJuIEguYXBwbHkoZCxiLmdldEVsZW1lbnRzQnlUYWdOYW1lKGEpKSxkO2lmKChmPW9bM10pJiZjLmdldEVsZW1lbnRzQnlDbGFzc05hbWUmJmIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSlyZXR1cm4gSC5hcHBseShkLGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZShmKSksZH1pZihjLnFzYSYmIUFbYSsiICJdJiYoIXF8fCFxLnRlc3QoYSkpKXtpZigxIT09eCl3PWIscz1hO2Vsc2UgaWYoIm9iamVjdCIhPT1iLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkpeyhrPWIuZ2V0QXR0cmlidXRlKCJpZCIpKT9rPWsucmVwbGFjZShhYSwiXFwkJiIpOmIuc2V0QXR0cmlidXRlKCJpZCIsaz11KSxyPWcoYSksaD1yLmxlbmd0aCxsPVYudGVzdChrKT8iIyIrazoiW2lkPSciK2srIiddIjt3aGlsZShoLS0pcltoXT1sKyIgIitxYShyW2hdKTtzPXIuam9pbigiLCIpLHc9Xy50ZXN0KGEpJiZvYShiLnBhcmVudE5vZGUpfHxifWlmKHMpdHJ5e3JldHVybiBILmFwcGx5KGQsdy5xdWVyeVNlbGVjdG9yQWxsKHMpKSxkfWNhdGNoKHkpe31maW5hbGx5e2s9PT11JiZiLnJlbW92ZUF0dHJpYnV0ZSgiaWQiKX19fXJldHVybiBpKGEucmVwbGFjZShRLCIkMSIpLGIsZCxlKX1mdW5jdGlvbiBnYSgpe3ZhciBhPVtdO2Z1bmN0aW9uIGIoYyxlKXtyZXR1cm4gYS5wdXNoKGMrIiAiKT5kLmNhY2hlTGVuZ3RoJiZkZWxldGUgYlthLnNoaWZ0KCldLGJbYysiICJdPWV9cmV0dXJuIGJ9ZnVuY3Rpb24gaGEoYSl7cmV0dXJuIGFbdV09ITAsYX1mdW5jdGlvbiBpYShhKXt2YXIgYj1uLmNyZWF0ZUVsZW1lbnQoImRpdiIpO3RyeXtyZXR1cm4hIWEoYil9Y2F0Y2goYyl7cmV0dXJuITF9ZmluYWxseXtiLnBhcmVudE5vZGUmJmIucGFyZW50Tm9kZS5yZW1vdmVDaGlsZChiKSxiPW51bGx9fWZ1bmN0aW9uIGphKGEsYil7dmFyIGM9YS5zcGxpdCgifCIpLGU9Yy5sZW5ndGg7d2hpbGUoZS0tKWQuYXR0ckhhbmRsZVtjW2VdXT1ifWZ1bmN0aW9uIGthKGEsYil7dmFyIGM9YiYmYSxkPWMmJjE9PT1hLm5vZGVUeXBlJiYxPT09Yi5ub2RlVHlwZSYmKH5iLnNvdXJjZUluZGV4fHxDKS0ofmEuc291cmNlSW5kZXh8fEMpO2lmKGQpcmV0dXJuIGQ7aWYoYyl3aGlsZShjPWMubmV4dFNpYmxpbmcpaWYoYz09PWIpcmV0dXJuLTE7cmV0dXJuIGE/MTotMX1mdW5jdGlvbiBsYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1jJiZiLnR5cGU9PT1hfX1mdW5jdGlvbiBtYShhKXtyZXR1cm4gZnVuY3Rpb24oYil7dmFyIGM9Yi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybigiaW5wdXQiPT09Y3x8ImJ1dHRvbiI9PT1jKSYmYi50eXBlPT09YX19ZnVuY3Rpb24gbmEoYSl7cmV0dXJuIGhhKGZ1bmN0aW9uKGIpe3JldHVybiBiPStiLGhhKGZ1bmN0aW9uKGMsZCl7dmFyIGUsZj1hKFtdLGMubGVuZ3RoLGIpLGc9Zi5sZW5ndGg7d2hpbGUoZy0tKWNbZT1mW2ddXSYmKGNbZV09IShkW2VdPWNbZV0pKX0pfSl9ZnVuY3Rpb24gb2EoYSl7cmV0dXJuIGEmJiJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZSYmYX1jPWZhLnN1cHBvcnQ9e30sZj1mYS5pc1hNTD1mdW5jdGlvbihhKXt2YXIgYj1hJiYoYS5vd25lckRvY3VtZW50fHxhKS5kb2N1bWVudEVsZW1lbnQ7cmV0dXJuIGI/IkhUTUwiIT09Yi5ub2RlTmFtZTohMX0sbT1mYS5zZXREb2N1bWVudD1mdW5jdGlvbihhKXt2YXIgYixlLGc9YT9hLm93bmVyRG9jdW1lbnR8fGE6djtyZXR1cm4gZyE9PW4mJjk9PT1nLm5vZGVUeXBlJiZnLmRvY3VtZW50RWxlbWVudD8obj1nLG89bi5kb2N1bWVudEVsZW1lbnQscD0hZihuKSwoZT1uLmRlZmF1bHRWaWV3KSYmZS50b3AhPT1lJiYoZS5hZGRFdmVudExpc3RlbmVyP2UuYWRkRXZlbnRMaXN0ZW5lcigidW5sb2FkIixkYSwhMSk6ZS5hdHRhY2hFdmVudCYmZS5hdHRhY2hFdmVudCgib251bmxvYWQiLGRhKSksYy5hdHRyaWJ1dGVzPWlhKGZ1bmN0aW9uKGEpe3JldHVybiBhLmNsYXNzTmFtZT0iaSIsIWEuZ2V0QXR0cmlidXRlKCJjbGFzc05hbWUiKX0pLGMuZ2V0RWxlbWVudHNCeVRhZ05hbWU9aWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuYXBwZW5kQ2hpbGQobi5jcmVhdGVDb21tZW50KCIiKSksIWEuZ2V0RWxlbWVudHNCeVRhZ05hbWUoIioiKS5sZW5ndGh9KSxjLmdldEVsZW1lbnRzQnlDbGFzc05hbWU9Wi50ZXN0KG4uZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSksYy5nZXRCeUlkPWlhKGZ1bmN0aW9uKGEpe3JldHVybiBvLmFwcGVuZENoaWxkKGEpLmlkPXUsIW4uZ2V0RWxlbWVudHNCeU5hbWV8fCFuLmdldEVsZW1lbnRzQnlOYW1lKHUpLmxlbmd0aH0pLGMuZ2V0QnlJZD8oZC5maW5kLklEPWZ1bmN0aW9uKGEsYil7aWYoInVuZGVmaW5lZCIhPXR5cGVvZiBiLmdldEVsZW1lbnRCeUlkJiZwKXt2YXIgYz1iLmdldEVsZW1lbnRCeUlkKGEpO3JldHVybiBjP1tjXTpbXX19LGQuZmlsdGVyLklEPWZ1bmN0aW9uKGEpe3ZhciBiPWEucmVwbGFjZShiYSxjYSk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSgiaWQiKT09PWJ9fSk6KGRlbGV0ZSBkLmZpbmQuSUQsZC5maWx0ZXIuSUQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKGJhLGNhKTtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyIGM9InVuZGVmaW5lZCIhPXR5cGVvZiBhLmdldEF0dHJpYnV0ZU5vZGUmJmEuZ2V0QXR0cmlidXRlTm9kZSgiaWQiKTtyZXR1cm4gYyYmYy52YWx1ZT09PWJ9fSksZC5maW5kLlRBRz1jLmdldEVsZW1lbnRzQnlUYWdOYW1lP2Z1bmN0aW9uKGEsYil7cmV0dXJuInVuZGVmaW5lZCIhPXR5cGVvZiBiLmdldEVsZW1lbnRzQnlUYWdOYW1lP2IuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSk6Yy5xc2E/Yi5xdWVyeVNlbGVjdG9yQWxsKGEpOnZvaWQgMH06ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9MCxmPWIuZ2V0RWxlbWVudHNCeVRhZ05hbWUoYSk7aWYoIioiPT09YSl7d2hpbGUoYz1mW2UrK10pMT09PWMubm9kZVR5cGUmJmQucHVzaChjKTtyZXR1cm4gZH1yZXR1cm4gZn0sZC5maW5kLkNMQVNTPWMuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmZnVuY3Rpb24oYSxiKXtyZXR1cm4idW5kZWZpbmVkIiE9dHlwZW9mIGIuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSYmcD9iLmdldEVsZW1lbnRzQnlDbGFzc05hbWUoYSk6dm9pZCAwfSxyPVtdLHE9W10sKGMucXNhPVoudGVzdChuLnF1ZXJ5U2VsZWN0b3JBbGwpKSYmKGlhKGZ1bmN0aW9uKGEpe28uYXBwZW5kQ2hpbGQoYSkuaW5uZXJIVE1MPSI8YSBpZD0nIit1KyInPjwvYT48c2VsZWN0IGlkPSciK3UrIi1cclxcJyBtc2FsbG93Y2FwdHVyZT0nJz48b3B0aW9uIHNlbGVjdGVkPScnPjwvb3B0aW9uPjwvc2VsZWN0PiIsYS5xdWVyeVNlbGVjdG9yQWxsKCJbbXNhbGxvd2NhcHR1cmVePScnXSIpLmxlbmd0aCYmcS5wdXNoKCJbKl4kXT0iK0wrIiooPzonJ3xcIlwiKSIpLGEucXVlcnlTZWxlY3RvckFsbCgiW3NlbGVjdGVkXSIpLmxlbmd0aHx8cS5wdXNoKCJcXFsiK0wrIiooPzp2YWx1ZXwiK0srIikiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIltpZH49Iit1KyItXSIpLmxlbmd0aHx8cS5wdXNoKCJ+PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmNoZWNrZWQiKS5sZW5ndGh8fHEucHVzaCgiOmNoZWNrZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoImEjIit1KyIrKiIpLmxlbmd0aHx8cS5wdXNoKCIuIy4rWyt+XSIpfSksaWEoZnVuY3Rpb24oYSl7dmFyIGI9bi5jcmVhdGVFbGVtZW50KCJpbnB1dCIpO2Iuc2V0QXR0cmlidXRlKCJ0eXBlIiwiaGlkZGVuIiksYS5hcHBlbmRDaGlsZChiKS5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJEIiksYS5xdWVyeVNlbGVjdG9yQWxsKCJbbmFtZT1kXSIpLmxlbmd0aCYmcS5wdXNoKCJuYW1lIitMKyIqWypeJHwhfl0/PSIpLGEucXVlcnlTZWxlY3RvckFsbCgiOmVuYWJsZWQiKS5sZW5ndGh8fHEucHVzaCgiOmVuYWJsZWQiLCI6ZGlzYWJsZWQiKSxhLnF1ZXJ5U2VsZWN0b3JBbGwoIiosOngiKSxxLnB1c2goIiwuKjoiKX0pKSwoYy5tYXRjaGVzU2VsZWN0b3I9Wi50ZXN0KHM9by5tYXRjaGVzfHxvLndlYmtpdE1hdGNoZXNTZWxlY3Rvcnx8by5tb3pNYXRjaGVzU2VsZWN0b3J8fG8ub01hdGNoZXNTZWxlY3Rvcnx8by5tc01hdGNoZXNTZWxlY3RvcikpJiZpYShmdW5jdGlvbihhKXtjLmRpc2Nvbm5lY3RlZE1hdGNoPXMuY2FsbChhLCJkaXYiKSxzLmNhbGwoYSwiW3MhPScnXTp4Iiksci5wdXNoKCIhPSIsTyl9KSxxPXEubGVuZ3RoJiZuZXcgUmVnRXhwKHEuam9pbigifCIpKSxyPXIubGVuZ3RoJiZuZXcgUmVnRXhwKHIuam9pbigifCIpKSxiPVoudGVzdChvLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKSx0PWJ8fFoudGVzdChvLmNvbnRhaW5zKT9mdW5jdGlvbihhLGIpe3ZhciBjPTk9PT1hLm5vZGVUeXBlP2EuZG9jdW1lbnRFbGVtZW50OmEsZD1iJiZiLnBhcmVudE5vZGU7cmV0dXJuIGE9PT1kfHwhKCFkfHwxIT09ZC5ub2RlVHlwZXx8IShjLmNvbnRhaW5zP2MuY29udGFpbnMoZCk6YS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbiYmMTYmYS5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihkKSkpfTpmdW5jdGlvbihhLGIpe2lmKGIpd2hpbGUoYj1iLnBhcmVudE5vZGUpaWYoYj09PWEpcmV0dXJuITA7cmV0dXJuITF9LEI9Yj9mdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGQ9IWEuY29tcGFyZURvY3VtZW50UG9zaXRpb24tIWIuY29tcGFyZURvY3VtZW50UG9zaXRpb247cmV0dXJuIGQ/ZDooZD0oYS5vd25lckRvY3VtZW50fHxhKT09PShiLm93bmVyRG9jdW1lbnR8fGIpP2EuY29tcGFyZURvY3VtZW50UG9zaXRpb24oYik6MSwxJmR8fCFjLnNvcnREZXRhY2hlZCYmYi5jb21wYXJlRG9jdW1lbnRQb3NpdGlvbihhKT09PWQ/YT09PW58fGEub3duZXJEb2N1bWVudD09PXYmJnQodixhKT8tMTpiPT09bnx8Yi5vd25lckRvY3VtZW50PT09diYmdCh2LGIpPzE6az9KKGssYSktSihrLGIpOjA6NCZkPy0xOjEpfTpmdW5jdGlvbihhLGIpe2lmKGE9PT1iKXJldHVybiBsPSEwLDA7dmFyIGMsZD0wLGU9YS5wYXJlbnROb2RlLGY9Yi5wYXJlbnROb2RlLGc9W2FdLGg9W2JdO2lmKCFlfHwhZilyZXR1cm4gYT09PW4/LTE6Yj09PW4/MTplPy0xOmY/MTprP0ooayxhKS1KKGssYik6MDtpZihlPT09ZilyZXR1cm4ga2EoYSxiKTtjPWE7d2hpbGUoYz1jLnBhcmVudE5vZGUpZy51bnNoaWZ0KGMpO2M9Yjt3aGlsZShjPWMucGFyZW50Tm9kZSloLnVuc2hpZnQoYyk7d2hpbGUoZ1tkXT09PWhbZF0pZCsrO3JldHVybiBkP2thKGdbZF0saFtkXSk6Z1tkXT09PXY/LTE6aFtkXT09PXY/MTowfSxuKTpufSxmYS5tYXRjaGVzPWZ1bmN0aW9uKGEsYil7cmV0dXJuIGZhKGEsbnVsbCxudWxsLGIpfSxmYS5tYXRjaGVzU2VsZWN0b3I9ZnVuY3Rpb24oYSxiKXtpZigoYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksYj1iLnJlcGxhY2UoVCwiPSckMSddIiksYy5tYXRjaGVzU2VsZWN0b3ImJnAmJiFBW2IrIiAiXSYmKCFyfHwhci50ZXN0KGIpKSYmKCFxfHwhcS50ZXN0KGIpKSl0cnl7dmFyIGQ9cy5jYWxsKGEsYik7aWYoZHx8Yy5kaXNjb25uZWN0ZWRNYXRjaHx8YS5kb2N1bWVudCYmMTEhPT1hLmRvY3VtZW50Lm5vZGVUeXBlKXJldHVybiBkfWNhdGNoKGUpe31yZXR1cm4gZmEoYixuLG51bGwsW2FdKS5sZW5ndGg+MH0sZmEuY29udGFpbnM9ZnVuY3Rpb24oYSxiKXtyZXR1cm4oYS5vd25lckRvY3VtZW50fHxhKSE9PW4mJm0oYSksdChhLGIpfSxmYS5hdHRyPWZ1bmN0aW9uKGEsYil7KGEub3duZXJEb2N1bWVudHx8YSkhPT1uJiZtKGEpO3ZhciBlPWQuYXR0ckhhbmRsZVtiLnRvTG93ZXJDYXNlKCldLGY9ZSYmRC5jYWxsKGQuYXR0ckhhbmRsZSxiLnRvTG93ZXJDYXNlKCkpP2UoYSxiLCFwKTp2b2lkIDA7cmV0dXJuIHZvaWQgMCE9PWY/ZjpjLmF0dHJpYnV0ZXN8fCFwP2EuZ2V0QXR0cmlidXRlKGIpOihmPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmYuc3BlY2lmaWVkP2YudmFsdWU6bnVsbH0sZmEuZXJyb3I9ZnVuY3Rpb24oYSl7dGhyb3cgbmV3IEVycm9yKCJTeW50YXggZXJyb3IsIHVucmVjb2duaXplZCBleHByZXNzaW9uOiAiK2EpfSxmYS51bmlxdWVTb3J0PWZ1bmN0aW9uKGEpe3ZhciBiLGQ9W10sZT0wLGY9MDtpZihsPSFjLmRldGVjdER1cGxpY2F0ZXMsaz0hYy5zb3J0U3RhYmxlJiZhLnNsaWNlKDApLGEuc29ydChCKSxsKXt3aGlsZShiPWFbZisrXSliPT09YVtmXSYmKGU9ZC5wdXNoKGYpKTt3aGlsZShlLS0pYS5zcGxpY2UoZFtlXSwxKX1yZXR1cm4gaz1udWxsLGF9LGU9ZmEuZ2V0VGV4dD1mdW5jdGlvbihhKXt2YXIgYixjPSIiLGQ9MCxmPWEubm9kZVR5cGU7aWYoZil7aWYoMT09PWZ8fDk9PT1mfHwxMT09PWYpe2lmKCJzdHJpbmciPT10eXBlb2YgYS50ZXh0Q29udGVudClyZXR1cm4gYS50ZXh0Q29udGVudDtmb3IoYT1hLmZpcnN0Q2hpbGQ7YTthPWEubmV4dFNpYmxpbmcpYys9ZShhKX1lbHNlIGlmKDM9PT1mfHw0PT09ZilyZXR1cm4gYS5ub2RlVmFsdWV9ZWxzZSB3aGlsZShiPWFbZCsrXSljKz1lKGIpO3JldHVybiBjfSxkPWZhLnNlbGVjdG9ycz17Y2FjaGVMZW5ndGg6NTAsY3JlYXRlUHNldWRvOmhhLG1hdGNoOlcsYXR0ckhhbmRsZTp7fSxmaW5kOnt9LHJlbGF0aXZlOnsiPiI6e2RpcjoicGFyZW50Tm9kZSIsZmlyc3Q6ITB9LCIgIjp7ZGlyOiJwYXJlbnROb2RlIn0sIisiOntkaXI6InByZXZpb3VzU2libGluZyIsZmlyc3Q6ITB9LCJ+Ijp7ZGlyOiJwcmV2aW91c1NpYmxpbmcifX0scHJlRmlsdGVyOntBVFRSOmZ1bmN0aW9uKGEpe3JldHVybiBhWzFdPWFbMV0ucmVwbGFjZShiYSxjYSksYVszXT0oYVszXXx8YVs0XXx8YVs1XXx8IiIpLnJlcGxhY2UoYmEsY2EpLCJ+PSI9PT1hWzJdJiYoYVszXT0iICIrYVszXSsiICIpLGEuc2xpY2UoMCw0KX0sQ0hJTEQ6ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09YVsxXS50b0xvd2VyQ2FzZSgpLCJudGgiPT09YVsxXS5zbGljZSgwLDMpPyhhWzNdfHxmYS5lcnJvcihhWzBdKSxhWzRdPSsoYVs0XT9hWzVdKyhhWzZdfHwxKToyKigiZXZlbiI9PT1hWzNdfHwib2RkIj09PWFbM10pKSxhWzVdPSsoYVs3XSthWzhdfHwib2RkIj09PWFbM10pKTphWzNdJiZmYS5lcnJvcihhWzBdKSxhfSxQU0VVRE86ZnVuY3Rpb24oYSl7dmFyIGIsYz0hYVs2XSYmYVsyXTtyZXR1cm4gVy5DSElMRC50ZXN0KGFbMF0pP251bGw6KGFbM10/YVsyXT1hWzRdfHxhWzVdfHwiIjpjJiZVLnRlc3QoYykmJihiPWcoYywhMCkpJiYoYj1jLmluZGV4T2YoIikiLGMubGVuZ3RoLWIpLWMubGVuZ3RoKSYmKGFbMF09YVswXS5zbGljZSgwLGIpLGFbMl09Yy5zbGljZSgwLGIpKSxhLnNsaWNlKDAsMykpfX0sZmlsdGVyOntUQUc6ZnVuY3Rpb24oYSl7dmFyIGI9YS5yZXBsYWNlKGJhLGNhKS50b0xvd2VyQ2FzZSgpO3JldHVybiIqIj09PWE/ZnVuY3Rpb24oKXtyZXR1cm4hMH06ZnVuY3Rpb24oYSl7cmV0dXJuIGEubm9kZU5hbWUmJmEubm9kZU5hbWUudG9Mb3dlckNhc2UoKT09PWJ9fSxDTEFTUzpmdW5jdGlvbihhKXt2YXIgYj15W2ErIiAiXTtyZXR1cm4gYnx8KGI9bmV3IFJlZ0V4cCgiKF58IitMKyIpIithKyIoIitMKyJ8JCkiKSkmJnkoYSxmdW5jdGlvbihhKXtyZXR1cm4gYi50ZXN0KCJzdHJpbmciPT10eXBlb2YgYS5jbGFzc05hbWUmJmEuY2xhc3NOYW1lfHwidW5kZWZpbmVkIiE9dHlwZW9mIGEuZ2V0QXR0cmlidXRlJiZhLmdldEF0dHJpYnV0ZSgiY2xhc3MiKXx8IiIpfSl9LEFUVFI6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXt2YXIgZT1mYS5hdHRyKGQsYSk7cmV0dXJuIG51bGw9PWU/IiE9Ij09PWI6Yj8oZSs9IiIsIj0iPT09Yj9lPT09YzoiIT0iPT09Yj9lIT09YzoiXj0iPT09Yj9jJiYwPT09ZS5pbmRleE9mKGMpOiIqPSI9PT1iP2MmJmUuaW5kZXhPZihjKT4tMToiJD0iPT09Yj9jJiZlLnNsaWNlKC1jLmxlbmd0aCk9PT1jOiJ+PSI9PT1iPygiICIrZS5yZXBsYWNlKFAsIiAiKSsiICIpLmluZGV4T2YoYyk+LTE6Inw9Ij09PWI/ZT09PWN8fGUuc2xpY2UoMCxjLmxlbmd0aCsxKT09PWMrIi0iOiExKTohMH19LENISUxEOmZ1bmN0aW9uKGEsYixjLGQsZSl7dmFyIGY9Im50aCIhPT1hLnNsaWNlKDAsMyksZz0ibGFzdCIhPT1hLnNsaWNlKC00KSxoPSJvZi10eXBlIj09PWI7cmV0dXJuIDE9PT1kJiYwPT09ZT9mdW5jdGlvbihhKXtyZXR1cm4hIWEucGFyZW50Tm9kZX06ZnVuY3Rpb24oYixjLGkpe3ZhciBqLGssbCxtLG4sbyxwPWYhPT1nPyJuZXh0U2libGluZyI6InByZXZpb3VzU2libGluZyIscT1iLnBhcmVudE5vZGUscj1oJiZiLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkscz0haSYmIWgsdD0hMTtpZihxKXtpZihmKXt3aGlsZShwKXttPWI7d2hpbGUobT1tW3BdKWlmKGg/bS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bS5ub2RlVHlwZSlyZXR1cm4hMTtvPXA9Im9ubHkiPT09YSYmIW8mJiJuZXh0U2libGluZyJ9cmV0dXJuITB9aWYobz1bZz9xLmZpcnN0Q2hpbGQ6cS5sYXN0Q2hpbGRdLGcmJnMpe209cSxsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxqPWtbYV18fFtdLG49alswXT09PXcmJmpbMV0sdD1uJiZqWzJdLG09biYmcS5jaGlsZE5vZGVzW25dO3doaWxlKG09KytuJiZtJiZtW3BdfHwodD1uPTApfHxvLnBvcCgpKWlmKDE9PT1tLm5vZGVUeXBlJiYrK3QmJm09PT1iKXtrW2FdPVt3LG4sdF07YnJlYWt9fWVsc2UgaWYocyYmKG09YixsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxqPWtbYV18fFtdLG49alswXT09PXcmJmpbMV0sdD1uKSx0PT09ITEpd2hpbGUobT0rK24mJm0mJm1bcF18fCh0PW49MCl8fG8ucG9wKCkpaWYoKGg/bS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpPT09cjoxPT09bS5ub2RlVHlwZSkmJisrdCYmKHMmJihsPW1bdV18fChtW3VdPXt9KSxrPWxbbS51bmlxdWVJRF18fChsW20udW5pcXVlSURdPXt9KSxrW2FdPVt3LHRdKSxtPT09YikpYnJlYWs7cmV0dXJuIHQtPWUsdD09PWR8fHQlZD09PTAmJnQvZD49MH19fSxQU0VVRE86ZnVuY3Rpb24oYSxiKXt2YXIgYyxlPWQucHNldWRvc1thXXx8ZC5zZXRGaWx0ZXJzW2EudG9Mb3dlckNhc2UoKV18fGZhLmVycm9yKCJ1bnN1cHBvcnRlZCBwc2V1ZG86ICIrYSk7cmV0dXJuIGVbdV0/ZShiKTplLmxlbmd0aD4xPyhjPVthLGEsIiIsYl0sZC5zZXRGaWx0ZXJzLmhhc093blByb3BlcnR5KGEudG9Mb3dlckNhc2UoKSk/aGEoZnVuY3Rpb24oYSxjKXt2YXIgZCxmPWUoYSxiKSxnPWYubGVuZ3RoO3doaWxlKGctLSlkPUooYSxmW2ddKSxhW2RdPSEoY1tkXT1mW2ddKX0pOmZ1bmN0aW9uKGEpe3JldHVybiBlKGEsMCxjKX0pOmV9fSxwc2V1ZG9zOntub3Q6aGEoZnVuY3Rpb24oYSl7dmFyIGI9W10sYz1bXSxkPWgoYS5yZXBsYWNlKFEsIiQxIikpO3JldHVybiBkW3VdP2hhKGZ1bmN0aW9uKGEsYixjLGUpe3ZhciBmLGc9ZChhLG51bGwsZSxbXSksaD1hLmxlbmd0aDt3aGlsZShoLS0pKGY9Z1toXSkmJihhW2hdPSEoYltoXT1mKSl9KTpmdW5jdGlvbihhLGUsZil7cmV0dXJuIGJbMF09YSxkKGIsbnVsbCxmLGMpLGJbMF09bnVsbCwhYy5wb3AoKX19KSxoYXM6aGEoZnVuY3Rpb24oYSl7cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBmYShhLGIpLmxlbmd0aD4wfX0pLGNvbnRhaW5zOmhhKGZ1bmN0aW9uKGEpe3JldHVybiBhPWEucmVwbGFjZShiYSxjYSksZnVuY3Rpb24oYil7cmV0dXJuKGIudGV4dENvbnRlbnR8fGIuaW5uZXJUZXh0fHxlKGIpKS5pbmRleE9mKGEpPi0xfX0pLGxhbmc6aGEoZnVuY3Rpb24oYSl7cmV0dXJuIFYudGVzdChhfHwiIil8fGZhLmVycm9yKCJ1bnN1cHBvcnRlZCBsYW5nOiAiK2EpLGE9YS5yZXBsYWNlKGJhLGNhKS50b0xvd2VyQ2FzZSgpLGZ1bmN0aW9uKGIpe3ZhciBjO2RvIGlmKGM9cD9iLmxhbmc6Yi5nZXRBdHRyaWJ1dGUoInhtbDpsYW5nIil8fGIuZ2V0QXR0cmlidXRlKCJsYW5nIikpcmV0dXJuIGM9Yy50b0xvd2VyQ2FzZSgpLGM9PT1hfHwwPT09Yy5pbmRleE9mKGErIi0iKTt3aGlsZSgoYj1iLnBhcmVudE5vZGUpJiYxPT09Yi5ub2RlVHlwZSk7cmV0dXJuITF9fSksdGFyZ2V0OmZ1bmN0aW9uKGIpe3ZhciBjPWEubG9jYXRpb24mJmEubG9jYXRpb24uaGFzaDtyZXR1cm4gYyYmYy5zbGljZSgxKT09PWIuaWR9LHJvb3Q6ZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1vfSxmb2N1czpmdW5jdGlvbihhKXtyZXR1cm4gYT09PW4uYWN0aXZlRWxlbWVudCYmKCFuLmhhc0ZvY3VzfHxuLmhhc0ZvY3VzKCkpJiYhIShhLnR5cGV8fGEuaHJlZnx8fmEudGFiSW5kZXgpfSxlbmFibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITF9LGRpc2FibGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLmRpc2FibGVkPT09ITB9LGNoZWNrZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYhIWEuY2hlY2tlZHx8Im9wdGlvbiI9PT1iJiYhIWEuc2VsZWN0ZWR9LHNlbGVjdGVkOmZ1bmN0aW9uKGEpe3JldHVybiBhLnBhcmVudE5vZGUmJmEucGFyZW50Tm9kZS5zZWxlY3RlZEluZGV4LGEuc2VsZWN0ZWQ9PT0hMH0sZW1wdHk6ZnVuY3Rpb24oYSl7Zm9yKGE9YS5maXJzdENoaWxkO2E7YT1hLm5leHRTaWJsaW5nKWlmKGEubm9kZVR5cGU8NilyZXR1cm4hMTtyZXR1cm4hMH0scGFyZW50OmZ1bmN0aW9uKGEpe3JldHVybiFkLnBzZXVkb3MuZW1wdHkoYSl9LGhlYWRlcjpmdW5jdGlvbihhKXtyZXR1cm4gWS50ZXN0KGEubm9kZU5hbWUpfSxpbnB1dDpmdW5jdGlvbihhKXtyZXR1cm4gWC50ZXN0KGEubm9kZU5hbWUpfSxidXR0b246ZnVuY3Rpb24oYSl7dmFyIGI9YS5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpO3JldHVybiJpbnB1dCI9PT1iJiYiYnV0dG9uIj09PWEudHlwZXx8ImJ1dHRvbiI9PT1ifSx0ZXh0OmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiJpbnB1dCI9PT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkmJiJ0ZXh0Ij09PWEudHlwZSYmKG51bGw9PShiPWEuZ2V0QXR0cmlidXRlKCJ0eXBlIikpfHwidGV4dCI9PT1iLnRvTG93ZXJDYXNlKCkpfSxmaXJzdDpuYShmdW5jdGlvbigpe3JldHVyblswXX0pLGxhc3Q6bmEoZnVuY3Rpb24oYSxiKXtyZXR1cm5bYi0xXX0pLGVxOm5hKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm5bMD5jP2MrYjpjXX0pLGV2ZW46bmEoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MDtiPmM7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxvZGQ6bmEoZnVuY3Rpb24oYSxiKXtmb3IodmFyIGM9MTtiPmM7Yys9MilhLnB1c2goYyk7cmV0dXJuIGF9KSxsdDpuYShmdW5jdGlvbihhLGIsYyl7Zm9yKHZhciBkPTA+Yz9jK2I6YzstLWQ+PTA7KWEucHVzaChkKTtyZXR1cm4gYX0pLGd0Om5hKGZ1bmN0aW9uKGEsYixjKXtmb3IodmFyIGQ9MD5jP2MrYjpjOysrZDxiOylhLnB1c2goZCk7cmV0dXJuIGF9KX19LGQucHNldWRvcy5udGg9ZC5wc2V1ZG9zLmVxO2ZvcihiIGlue3JhZGlvOiEwLGNoZWNrYm94OiEwLGZpbGU6ITAscGFzc3dvcmQ6ITAsaW1hZ2U6ITB9KWQucHNldWRvc1tiXT1sYShiKTtmb3IoYiBpbntzdWJtaXQ6ITAscmVzZXQ6ITB9KWQucHNldWRvc1tiXT1tYShiKTtmdW5jdGlvbiBwYSgpe31wYS5wcm90b3R5cGU9ZC5maWx0ZXJzPWQucHNldWRvcyxkLnNldEZpbHRlcnM9bmV3IHBhLGc9ZmEudG9rZW5pemU9ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZyxoLGksaixrPXpbYSsiICJdO2lmKGspcmV0dXJuIGI/MDprLnNsaWNlKDApO2g9YSxpPVtdLGo9ZC5wcmVGaWx0ZXI7d2hpbGUoaCl7YyYmIShlPVIuZXhlYyhoKSl8fChlJiYoaD1oLnNsaWNlKGVbMF0ubGVuZ3RoKXx8aCksaS5wdXNoKGY9W10pKSxjPSExLChlPVMuZXhlYyhoKSkmJihjPWUuc2hpZnQoKSxmLnB1c2goe3ZhbHVlOmMsdHlwZTplWzBdLnJlcGxhY2UoUSwiICIpfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7Zm9yKGcgaW4gZC5maWx0ZXIpIShlPVdbZ10uZXhlYyhoKSl8fGpbZ10mJiEoZT1qW2ddKGUpKXx8KGM9ZS5zaGlmdCgpLGYucHVzaCh7dmFsdWU6Yyx0eXBlOmcsbWF0Y2hlczplfSksaD1oLnNsaWNlKGMubGVuZ3RoKSk7aWYoIWMpYnJlYWt9cmV0dXJuIGI/aC5sZW5ndGg6aD9mYS5lcnJvcihhKTp6KGEsaSkuc2xpY2UoMCl9O2Z1bmN0aW9uIHFhKGEpe2Zvcih2YXIgYj0wLGM9YS5sZW5ndGgsZD0iIjtjPmI7YisrKWQrPWFbYl0udmFsdWU7cmV0dXJuIGR9ZnVuY3Rpb24gcmEoYSxiLGMpe3ZhciBkPWIuZGlyLGU9YyYmInBhcmVudE5vZGUiPT09ZCxmPXgrKztyZXR1cm4gYi5maXJzdD9mdW5jdGlvbihiLGMsZil7d2hpbGUoYj1iW2RdKWlmKDE9PT1iLm5vZGVUeXBlfHxlKXJldHVybiBhKGIsYyxmKX06ZnVuY3Rpb24oYixjLGcpe3ZhciBoLGksaixrPVt3LGZdO2lmKGcpe3doaWxlKGI9YltkXSlpZigoMT09PWIubm9kZVR5cGV8fGUpJiZhKGIsYyxnKSlyZXR1cm4hMH1lbHNlIHdoaWxlKGI9YltkXSlpZigxPT09Yi5ub2RlVHlwZXx8ZSl7aWYoaj1iW3VdfHwoYlt1XT17fSksaT1qW2IudW5pcXVlSURdfHwoaltiLnVuaXF1ZUlEXT17fSksKGg9aVtkXSkmJmhbMF09PT13JiZoWzFdPT09ZilyZXR1cm4ga1syXT1oWzJdO2lmKGlbZF09ayxrWzJdPWEoYixjLGcpKXJldHVybiEwfX19ZnVuY3Rpb24gc2EoYSl7cmV0dXJuIGEubGVuZ3RoPjE/ZnVuY3Rpb24oYixjLGQpe3ZhciBlPWEubGVuZ3RoO3doaWxlKGUtLSlpZighYVtlXShiLGMsZCkpcmV0dXJuITE7cmV0dXJuITB9OmFbMF19ZnVuY3Rpb24gdGEoYSxiLGMpe2Zvcih2YXIgZD0wLGU9Yi5sZW5ndGg7ZT5kO2QrKylmYShhLGJbZF0sYyk7cmV0dXJuIGN9ZnVuY3Rpb24gdWEoYSxiLGMsZCxlKXtmb3IodmFyIGYsZz1bXSxoPTAsaT1hLmxlbmd0aCxqPW51bGwhPWI7aT5oO2grKykoZj1hW2hdKSYmKGMmJiFjKGYsZCxlKXx8KGcucHVzaChmKSxqJiZiLnB1c2goaCkpKTtyZXR1cm4gZ31mdW5jdGlvbiB2YShhLGIsYyxkLGUsZil7cmV0dXJuIGQmJiFkW3VdJiYoZD12YShkKSksZSYmIWVbdV0mJihlPXZhKGUsZikpLGhhKGZ1bmN0aW9uKGYsZyxoLGkpe3ZhciBqLGssbCxtPVtdLG49W10sbz1nLmxlbmd0aCxwPWZ8fHRhKGJ8fCIqIixoLm5vZGVUeXBlP1toXTpoLFtdKSxxPSFhfHwhZiYmYj9wOnVhKHAsbSxhLGgsaSkscj1jP2V8fChmP2E6b3x8ZCk/W106ZzpxO2lmKGMmJmMocSxyLGgsaSksZCl7aj11YShyLG4pLGQoaixbXSxoLGkpLGs9ai5sZW5ndGg7d2hpbGUoay0tKShsPWpba10pJiYocltuW2tdXT0hKHFbbltrXV09bCkpfWlmKGYpe2lmKGV8fGEpe2lmKGUpe2o9W10saz1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJmoucHVzaChxW2tdPWwpO2UobnVsbCxyPVtdLGosaSl9az1yLmxlbmd0aDt3aGlsZShrLS0pKGw9cltrXSkmJihqPWU/SihmLGwpOm1ba10pPi0xJiYoZltqXT0hKGdbal09bCkpfX1lbHNlIHI9dWEocj09PWc/ci5zcGxpY2UobyxyLmxlbmd0aCk6ciksZT9lKG51bGwsZyxyLGkpOkguYXBwbHkoZyxyKX0pfWZ1bmN0aW9uIHdhKGEpe2Zvcih2YXIgYixjLGUsZj1hLmxlbmd0aCxnPWQucmVsYXRpdmVbYVswXS50eXBlXSxoPWd8fGQucmVsYXRpdmVbIiAiXSxpPWc/MTowLGs9cmEoZnVuY3Rpb24oYSl7cmV0dXJuIGE9PT1ifSxoLCEwKSxsPXJhKGZ1bmN0aW9uKGEpe3JldHVybiBKKGIsYSk+LTF9LGgsITApLG09W2Z1bmN0aW9uKGEsYyxkKXt2YXIgZT0hZyYmKGR8fGMhPT1qKXx8KChiPWMpLm5vZGVUeXBlP2soYSxjLGQpOmwoYSxjLGQpKTtyZXR1cm4gYj1udWxsLGV9XTtmPmk7aSsrKWlmKGM9ZC5yZWxhdGl2ZVthW2ldLnR5cGVdKW09W3JhKHNhKG0pLGMpXTtlbHNle2lmKGM9ZC5maWx0ZXJbYVtpXS50eXBlXS5hcHBseShudWxsLGFbaV0ubWF0Y2hlcyksY1t1XSl7Zm9yKGU9KytpO2Y+ZTtlKyspaWYoZC5yZWxhdGl2ZVthW2VdLnR5cGVdKWJyZWFrO3JldHVybiB2YShpPjEmJnNhKG0pLGk+MSYmcWEoYS5zbGljZSgwLGktMSkuY29uY2F0KHt2YWx1ZToiICI9PT1hW2ktMl0udHlwZT8iKiI6IiJ9KSkucmVwbGFjZShRLCIkMSIpLGMsZT5pJiZ3YShhLnNsaWNlKGksZSkpLGY+ZSYmd2EoYT1hLnNsaWNlKGUpKSxmPmUmJnFhKGEpKX1tLnB1c2goYyl9cmV0dXJuIHNhKG0pfWZ1bmN0aW9uIHhhKGEsYil7dmFyIGM9Yi5sZW5ndGg+MCxlPWEubGVuZ3RoPjAsZj1mdW5jdGlvbihmLGcsaCxpLGspe3ZhciBsLG8scSxyPTAscz0iMCIsdD1mJiZbXSx1PVtdLHY9aix4PWZ8fGUmJmQuZmluZC5UQUcoIioiLGspLHk9dys9bnVsbD09dj8xOk1hdGgucmFuZG9tKCl8fC4xLHo9eC5sZW5ndGg7Zm9yKGsmJihqPWc9PT1ufHxnfHxrKTtzIT09eiYmbnVsbCE9KGw9eFtzXSk7cysrKXtpZihlJiZsKXtvPTAsZ3x8bC5vd25lckRvY3VtZW50PT09bnx8KG0obCksaD0hcCk7d2hpbGUocT1hW28rK10paWYocShsLGd8fG4saCkpe2kucHVzaChsKTticmVha31rJiYodz15KX1jJiYoKGw9IXEmJmwpJiZyLS0sZiYmdC5wdXNoKGwpKX1pZihyKz1zLGMmJnMhPT1yKXtvPTA7d2hpbGUocT1iW28rK10pcSh0LHUsZyxoKTtpZihmKXtpZihyPjApd2hpbGUocy0tKXRbc118fHVbc118fCh1W3NdPUYuY2FsbChpKSk7dT11YSh1KX1ILmFwcGx5KGksdSksayYmIWYmJnUubGVuZ3RoPjAmJnIrYi5sZW5ndGg+MSYmZmEudW5pcXVlU29ydChpKX1yZXR1cm4gayYmKHc9eSxqPXYpLHR9O3JldHVybiBjP2hhKGYpOmZ9cmV0dXJuIGg9ZmEuY29tcGlsZT1mdW5jdGlvbihhLGIpe3ZhciBjLGQ9W10sZT1bXSxmPUFbYSsiICJdO2lmKCFmKXtifHwoYj1nKGEpKSxjPWIubGVuZ3RoO3doaWxlKGMtLSlmPXdhKGJbY10pLGZbdV0/ZC5wdXNoKGYpOmUucHVzaChmKTtmPUEoYSx4YShlLGQpKSxmLnNlbGVjdG9yPWF9cmV0dXJuIGZ9LGk9ZmEuc2VsZWN0PWZ1bmN0aW9uKGEsYixlLGYpe3ZhciBpLGosayxsLG0sbj0iZnVuY3Rpb24iPT10eXBlb2YgYSYmYSxvPSFmJiZnKGE9bi5zZWxlY3Rvcnx8YSk7aWYoZT1lfHxbXSwxPT09by5sZW5ndGgpe2lmKGo9b1swXT1vWzBdLnNsaWNlKDApLGoubGVuZ3RoPjImJiJJRCI9PT0oaz1qWzBdKS50eXBlJiZjLmdldEJ5SWQmJjk9PT1iLm5vZGVUeXBlJiZwJiZkLnJlbGF0aXZlW2pbMV0udHlwZV0pe2lmKGI9KGQuZmluZC5JRChrLm1hdGNoZXNbMF0ucmVwbGFjZShiYSxjYSksYil8fFtdKVswXSwhYilyZXR1cm4gZTtuJiYoYj1iLnBhcmVudE5vZGUpLGE9YS5zbGljZShqLnNoaWZ0KCkudmFsdWUubGVuZ3RoKX1pPVcubmVlZHNDb250ZXh0LnRlc3QoYSk/MDpqLmxlbmd0aDt3aGlsZShpLS0pe2lmKGs9altpXSxkLnJlbGF0aXZlW2w9ay50eXBlXSlicmVhaztpZigobT1kLmZpbmRbbF0pJiYoZj1tKGsubWF0Y2hlc1swXS5yZXBsYWNlKGJhLGNhKSxfLnRlc3QoalswXS50eXBlKSYmb2EoYi5wYXJlbnROb2RlKXx8YikpKXtpZihqLnNwbGljZShpLDEpLGE9Zi5sZW5ndGgmJnFhKGopLCFhKXJldHVybiBILmFwcGx5KGUsZiksZTticmVha319fXJldHVybihufHxoKGEsbykpKGYsYiwhcCxlLCFifHxfLnRlc3QoYSkmJm9hKGIucGFyZW50Tm9kZSl8fGIpLGV9LGMuc29ydFN0YWJsZT11LnNwbGl0KCIiKS5zb3J0KEIpLmpvaW4oIiIpPT09dSxjLmRldGVjdER1cGxpY2F0ZXM9ISFsLG0oKSxjLnNvcnREZXRhY2hlZD1pYShmdW5jdGlvbihhKXtyZXR1cm4gMSZhLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKG4uY3JlYXRlRWxlbWVudCgiZGl2IikpfSksaWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8YSBocmVmPScjJz48L2E+IiwiIyI9PT1hLmZpcnN0Q2hpbGQuZ2V0QXR0cmlidXRlKCJocmVmIil9KXx8amEoInR5cGV8aHJlZnxoZWlnaHR8d2lkdGgiLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYz92b2lkIDA6YS5nZXRBdHRyaWJ1dGUoYiwidHlwZSI9PT1iLnRvTG93ZXJDYXNlKCk/MToyKX0pLGMuYXR0cmlidXRlcyYmaWEoZnVuY3Rpb24oYSl7cmV0dXJuIGEuaW5uZXJIVE1MPSI8aW5wdXQvPiIsYS5maXJzdENoaWxkLnNldEF0dHJpYnV0ZSgidmFsdWUiLCIiKSwiIj09PWEuZmlyc3RDaGlsZC5nZXRBdHRyaWJ1dGUoInZhbHVlIil9KXx8amEoInZhbHVlIixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGN8fCJpbnB1dCIhPT1hLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk/dm9pZCAwOmEuZGVmYXVsdFZhbHVlfSksaWEoZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWEuZ2V0QXR0cmlidXRlKCJkaXNhYmxlZCIpfSl8fGphKEssZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiBjP3ZvaWQgMDphW2JdPT09ITA/Yi50b0xvd2VyQ2FzZSgpOihkPWEuZ2V0QXR0cmlidXRlTm9kZShiKSkmJmQuc3BlY2lmaWVkP2QudmFsdWU6bnVsbH0pLGZhfShhKTtuLmZpbmQ9dCxuLmV4cHI9dC5zZWxlY3RvcnMsbi5leHByWyI6Il09bi5leHByLnBzZXVkb3Msbi51bmlxdWVTb3J0PW4udW5pcXVlPXQudW5pcXVlU29ydCxuLnRleHQ9dC5nZXRUZXh0LG4uaXNYTUxEb2M9dC5pc1hNTCxuLmNvbnRhaW5zPXQuY29udGFpbnM7dmFyIHU9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPVtdLGU9dm9pZCAwIT09Yzt3aGlsZSgoYT1hW2JdKSYmOSE9PWEubm9kZVR5cGUpaWYoMT09PWEubm9kZVR5cGUpe2lmKGUmJm4oYSkuaXMoYykpYnJlYWs7ZC5wdXNoKGEpfXJldHVybiBkfSx2PWZ1bmN0aW9uKGEsYil7Zm9yKHZhciBjPVtdO2E7YT1hLm5leHRTaWJsaW5nKTE9PT1hLm5vZGVUeXBlJiZhIT09YiYmYy5wdXNoKGEpO3JldHVybiBjfSx3PW4uZXhwci5tYXRjaC5uZWVkc0NvbnRleHQseD0vXjwoW1x3LV0rKVxzKlwvPz4oPzo8XC9cMT58KSQvLHk9L14uW146I1xbXC4sXSokLztmdW5jdGlvbiB6KGEsYixjKXtpZihuLmlzRnVuY3Rpb24oYikpcmV0dXJuIG4uZ3JlcChhLGZ1bmN0aW9uKGEsZCl7cmV0dXJuISFiLmNhbGwoYSxkLGEpIT09Y30pO2lmKGIubm9kZVR5cGUpcmV0dXJuIG4uZ3JlcChhLGZ1bmN0aW9uKGEpe3JldHVybiBhPT09YiE9PWN9KTtpZigic3RyaW5nIj09dHlwZW9mIGIpe2lmKHkudGVzdChiKSlyZXR1cm4gbi5maWx0ZXIoYixhLGMpO2I9bi5maWx0ZXIoYixhKX1yZXR1cm4gbi5ncmVwKGEsZnVuY3Rpb24oYSl7cmV0dXJuIGguY2FsbChiLGEpPi0xIT09Y30pfW4uZmlsdGVyPWZ1bmN0aW9uKGEsYixjKXt2YXIgZD1iWzBdO3JldHVybiBjJiYoYT0iOm5vdCgiK2ErIikiKSwxPT09Yi5sZW5ndGgmJjE9PT1kLm5vZGVUeXBlP24uZmluZC5tYXRjaGVzU2VsZWN0b3IoZCxhKT9bZF06W106bi5maW5kLm1hdGNoZXMoYSxuLmdyZXAoYixmdW5jdGlvbihhKXtyZXR1cm4gMT09PWEubm9kZVR5cGV9KSl9LG4uZm4uZXh0ZW5kKHtmaW5kOmZ1bmN0aW9uKGEpe3ZhciBiLGM9dGhpcy5sZW5ndGgsZD1bXSxlPXRoaXM7aWYoInN0cmluZyIhPXR5cGVvZiBhKXJldHVybiB0aGlzLnB1c2hTdGFjayhuKGEpLmZpbHRlcihmdW5jdGlvbigpe2ZvcihiPTA7Yz5iO2IrKylpZihuLmNvbnRhaW5zKGVbYl0sdGhpcykpcmV0dXJuITB9KSk7Zm9yKGI9MDtjPmI7YisrKW4uZmluZChhLGVbYl0sZCk7cmV0dXJuIGQ9dGhpcy5wdXNoU3RhY2soYz4xP24udW5pcXVlKGQpOmQpLGQuc2VsZWN0b3I9dGhpcy5zZWxlY3Rvcj90aGlzLnNlbGVjdG9yKyIgIithOmEsZH0sZmlsdGVyOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayh6KHRoaXMsYXx8W10sITEpKX0sbm90OmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnB1c2hTdGFjayh6KHRoaXMsYXx8W10sITApKX0saXM6ZnVuY3Rpb24oYSl7cmV0dXJuISF6KHRoaXMsInN0cmluZyI9PXR5cGVvZiBhJiZ3LnRlc3QoYSk/bihhKTphfHxbXSwhMSkubGVuZ3RofX0pO3ZhciBBLEI9L14oPzpccyooPFtcd1xXXSs+KVtePl0qfCMoW1x3LV0qKSkkLyxDPW4uZm4uaW5pdD1mdW5jdGlvbihhLGIsYyl7dmFyIGUsZjtpZighYSlyZXR1cm4gdGhpcztpZihjPWN8fEEsInN0cmluZyI9PXR5cGVvZiBhKXtpZihlPSI8Ij09PWFbMF0mJiI+Ij09PWFbYS5sZW5ndGgtMV0mJmEubGVuZ3RoPj0zP1tudWxsLGEsbnVsbF06Qi5leGVjKGEpLCFlfHwhZVsxXSYmYilyZXR1cm4hYnx8Yi5qcXVlcnk/KGJ8fGMpLmZpbmQoYSk6dGhpcy5jb25zdHJ1Y3RvcihiKS5maW5kKGEpO2lmKGVbMV0pe2lmKGI9YiBpbnN0YW5jZW9mIG4/YlswXTpiLG4ubWVyZ2UodGhpcyxuLnBhcnNlSFRNTChlWzFdLGImJmIubm9kZVR5cGU/Yi5vd25lckRvY3VtZW50fHxiOmQsITApKSx4LnRlc3QoZVsxXSkmJm4uaXNQbGFpbk9iamVjdChiKSlmb3IoZSBpbiBiKW4uaXNGdW5jdGlvbih0aGlzW2VdKT90aGlzW2VdKGJbZV0pOnRoaXMuYXR0cihlLGJbZV0pO3JldHVybiB0aGlzfXJldHVybiBmPWQuZ2V0RWxlbWVudEJ5SWQoZVsyXSksZiYmZi5wYXJlbnROb2RlJiYodGhpcy5sZW5ndGg9MSx0aGlzWzBdPWYpLHRoaXMuY29udGV4dD1kLHRoaXMuc2VsZWN0b3I9YSx0aGlzfXJldHVybiBhLm5vZGVUeXBlPyh0aGlzLmNvbnRleHQ9dGhpc1swXT1hLHRoaXMubGVuZ3RoPTEsdGhpcyk6bi5pc0Z1bmN0aW9uKGEpP3ZvaWQgMCE9PWMucmVhZHk/Yy5yZWFkeShhKTphKG4pOih2b2lkIDAhPT1hLnNlbGVjdG9yJiYodGhpcy5zZWxlY3Rvcj1hLnNlbGVjdG9yLHRoaXMuY29udGV4dD1hLmNvbnRleHQpLG4ubWFrZUFycmF5KGEsdGhpcykpfTtDLnByb3RvdHlwZT1uLmZuLEE9bihkKTt2YXIgRD0vXig/OnBhcmVudHN8cHJldig/OlVudGlsfEFsbCkpLyxFPXtjaGlsZHJlbjohMCxjb250ZW50czohMCxuZXh0OiEwLHByZXY6ITB9O24uZm4uZXh0ZW5kKHtoYXM6ZnVuY3Rpb24oYSl7dmFyIGI9bihhLHRoaXMpLGM9Yi5sZW5ndGg7cmV0dXJuIHRoaXMuZmlsdGVyKGZ1bmN0aW9uKCl7Zm9yKHZhciBhPTA7Yz5hO2ErKylpZihuLmNvbnRhaW5zKHRoaXMsYlthXSkpcmV0dXJuITB9KX0sY2xvc2VzdDpmdW5jdGlvbihhLGIpe2Zvcih2YXIgYyxkPTAsZT10aGlzLmxlbmd0aCxmPVtdLGc9dy50ZXN0KGEpfHwic3RyaW5nIiE9dHlwZW9mIGE/bihhLGJ8fHRoaXMuY29udGV4dCk6MDtlPmQ7ZCsrKWZvcihjPXRoaXNbZF07YyYmYyE9PWI7Yz1jLnBhcmVudE5vZGUpaWYoYy5ub2RlVHlwZTwxMSYmKGc/Zy5pbmRleChjKT4tMToxPT09Yy5ub2RlVHlwZSYmbi5maW5kLm1hdGNoZXNTZWxlY3RvcihjLGEpKSl7Zi5wdXNoKGMpO2JyZWFrfXJldHVybiB0aGlzLnB1c2hTdGFjayhmLmxlbmd0aD4xP24udW5pcXVlU29ydChmKTpmKX0saW5kZXg6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/InN0cmluZyI9PXR5cGVvZiBhP2guY2FsbChuKGEpLHRoaXNbMF0pOmguY2FsbCh0aGlzLGEuanF1ZXJ5P2FbMF06YSk6dGhpc1swXSYmdGhpc1swXS5wYXJlbnROb2RlP3RoaXMuZmlyc3QoKS5wcmV2QWxsKCkubGVuZ3RoOi0xfSxhZGQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5wdXNoU3RhY2sobi51bmlxdWVTb3J0KG4ubWVyZ2UodGhpcy5nZXQoKSxuKGEsYikpKSl9LGFkZEJhY2s6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuYWRkKG51bGw9PWE/dGhpcy5wcmV2T2JqZWN0OnRoaXMucHJldk9iamVjdC5maWx0ZXIoYSkpfX0pO2Z1bmN0aW9uIEYoYSxiKXt3aGlsZSgoYT1hW2JdKSYmMSE9PWEubm9kZVR5cGUpO3JldHVybiBhfW4uZWFjaCh7cGFyZW50OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtyZXR1cm4gYiYmMTEhPT1iLm5vZGVUeXBlP2I6bnVsbH0scGFyZW50czpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJwYXJlbnROb2RlIil9LHBhcmVudHNVbnRpbDpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHUoYSwicGFyZW50Tm9kZSIsYyl9LG5leHQ6ZnVuY3Rpb24oYSl7cmV0dXJuIEYoYSwibmV4dFNpYmxpbmciKX0scHJldjpmdW5jdGlvbihhKXtyZXR1cm4gRihhLCJwcmV2aW91c1NpYmxpbmciKX0sbmV4dEFsbDpmdW5jdGlvbihhKXtyZXR1cm4gdShhLCJuZXh0U2libGluZyIpfSxwcmV2QWxsOmZ1bmN0aW9uKGEpe3JldHVybiB1KGEsInByZXZpb3VzU2libGluZyIpfSxuZXh0VW50aWw6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB1KGEsIm5leHRTaWJsaW5nIixjKX0scHJldlVudGlsOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gdShhLCJwcmV2aW91c1NpYmxpbmciLGMpfSxzaWJsaW5nczpmdW5jdGlvbihhKXtyZXR1cm4gdigoYS5wYXJlbnROb2RlfHx7fSkuZmlyc3RDaGlsZCxhKX0sY2hpbGRyZW46ZnVuY3Rpb24oYSl7cmV0dXJuIHYoYS5maXJzdENoaWxkKX0sY29udGVudHM6ZnVuY3Rpb24oYSl7cmV0dXJuIGEuY29udGVudERvY3VtZW50fHxuLm1lcmdlKFtdLGEuY2hpbGROb2Rlcyl9fSxmdW5jdGlvbihhLGIpe24uZm5bYV09ZnVuY3Rpb24oYyxkKXt2YXIgZT1uLm1hcCh0aGlzLGIsYyk7cmV0dXJuIlVudGlsIiE9PWEuc2xpY2UoLTUpJiYoZD1jKSxkJiYic3RyaW5nIj09dHlwZW9mIGQmJihlPW4uZmlsdGVyKGQsZSkpLHRoaXMubGVuZ3RoPjEmJihFW2FdfHxuLnVuaXF1ZVNvcnQoZSksRC50ZXN0KGEpJiZlLnJldmVyc2UoKSksdGhpcy5wdXNoU3RhY2soZSl9fSk7dmFyIEc9L1xTKy9nO2Z1bmN0aW9uIEgoYSl7dmFyIGI9e307cmV0dXJuIG4uZWFjaChhLm1hdGNoKEcpfHxbXSxmdW5jdGlvbihhLGMpe2JbY109ITB9KSxifW4uQ2FsbGJhY2tzPWZ1bmN0aW9uKGEpe2E9InN0cmluZyI9PXR5cGVvZiBhP0goYSk6bi5leHRlbmQoe30sYSk7dmFyIGIsYyxkLGUsZj1bXSxnPVtdLGg9LTEsaT1mdW5jdGlvbigpe2ZvcihlPWEub25jZSxkPWI9ITA7Zy5sZW5ndGg7aD0tMSl7Yz1nLnNoaWZ0KCk7d2hpbGUoKytoPGYubGVuZ3RoKWZbaF0uYXBwbHkoY1swXSxjWzFdKT09PSExJiZhLnN0b3BPbkZhbHNlJiYoaD1mLmxlbmd0aCxjPSExKX1hLm1lbW9yeXx8KGM9ITEpLGI9ITEsZSYmKGY9Yz9bXToiIil9LGo9e2FkZDpmdW5jdGlvbigpe3JldHVybiBmJiYoYyYmIWImJihoPWYubGVuZ3RoLTEsZy5wdXNoKGMpKSxmdW5jdGlvbiBkKGIpe24uZWFjaChiLGZ1bmN0aW9uKGIsYyl7bi5pc0Z1bmN0aW9uKGMpP2EudW5pcXVlJiZqLmhhcyhjKXx8Zi5wdXNoKGMpOmMmJmMubGVuZ3RoJiYic3RyaW5nIiE9PW4udHlwZShjKSYmZChjKX0pfShhcmd1bWVudHMpLGMmJiFiJiZpKCkpLHRoaXN9LHJlbW92ZTpmdW5jdGlvbigpe3JldHVybiBuLmVhY2goYXJndW1lbnRzLGZ1bmN0aW9uKGEsYil7dmFyIGM7d2hpbGUoKGM9bi5pbkFycmF5KGIsZixjKSk+LTEpZi5zcGxpY2UoYywxKSxoPj1jJiZoLS19KSx0aGlzfSxoYXM6ZnVuY3Rpb24oYSl7cmV0dXJuIGE/bi5pbkFycmF5KGEsZik+LTE6Zi5sZW5ndGg+MH0sZW1wdHk6ZnVuY3Rpb24oKXtyZXR1cm4gZiYmKGY9W10pLHRoaXN9LGRpc2FibGU6ZnVuY3Rpb24oKXtyZXR1cm4gZT1nPVtdLGY9Yz0iIix0aGlzfSxkaXNhYmxlZDpmdW5jdGlvbigpe3JldHVybiFmfSxsb2NrOmZ1bmN0aW9uKCl7cmV0dXJuIGU9Zz1bXSxjfHwoZj1jPSIiKSx0aGlzfSxsb2NrZWQ6ZnVuY3Rpb24oKXtyZXR1cm4hIWV9LGZpcmVXaXRoOmZ1bmN0aW9uKGEsYyl7cmV0dXJuIGV8fChjPWN8fFtdLGM9W2EsYy5zbGljZT9jLnNsaWNlKCk6Y10sZy5wdXNoKGMpLGJ8fGkoKSksdGhpc30sZmlyZTpmdW5jdGlvbigpe3JldHVybiBqLmZpcmVXaXRoKHRoaXMsYXJndW1lbnRzKSx0aGlzfSxmaXJlZDpmdW5jdGlvbigpe3JldHVybiEhZH19O3JldHVybiBqfSxuLmV4dGVuZCh7RGVmZXJyZWQ6ZnVuY3Rpb24oYSl7dmFyIGI9W1sicmVzb2x2ZSIsImRvbmUiLG4uQ2FsbGJhY2tzKCJvbmNlIG1lbW9yeSIpLCJyZXNvbHZlZCJdLFsicmVqZWN0IiwiZmFpbCIsbi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IiksInJlamVjdGVkIl0sWyJub3RpZnkiLCJwcm9ncmVzcyIsbi5DYWxsYmFja3MoIm1lbW9yeSIpXV0sYz0icGVuZGluZyIsZD17c3RhdGU6ZnVuY3Rpb24oKXtyZXR1cm4gY30sYWx3YXlzOmZ1bmN0aW9uKCl7cmV0dXJuIGUuZG9uZShhcmd1bWVudHMpLmZhaWwoYXJndW1lbnRzKSx0aGlzfSx0aGVuOmZ1bmN0aW9uKCl7dmFyIGE9YXJndW1lbnRzO3JldHVybiBuLkRlZmVycmVkKGZ1bmN0aW9uKGMpe24uZWFjaChiLGZ1bmN0aW9uKGIsZil7dmFyIGc9bi5pc0Z1bmN0aW9uKGFbYl0pJiZhW2JdO2VbZlsxXV0oZnVuY3Rpb24oKXt2YXIgYT1nJiZnLmFwcGx5KHRoaXMsYXJndW1lbnRzKTthJiZuLmlzRnVuY3Rpb24oYS5wcm9taXNlKT9hLnByb21pc2UoKS5wcm9ncmVzcyhjLm5vdGlmeSkuZG9uZShjLnJlc29sdmUpLmZhaWwoYy5yZWplY3QpOmNbZlswXSsiV2l0aCJdKHRoaXM9PT1kP2MucHJvbWlzZSgpOnRoaXMsZz9bYV06YXJndW1lbnRzKX0pfSksYT1udWxsfSkucHJvbWlzZSgpfSxwcm9taXNlOmZ1bmN0aW9uKGEpe3JldHVybiBudWxsIT1hP24uZXh0ZW5kKGEsZCk6ZH19LGU9e307cmV0dXJuIGQucGlwZT1kLnRoZW4sbi5lYWNoKGIsZnVuY3Rpb24oYSxmKXt2YXIgZz1mWzJdLGg9ZlszXTtkW2ZbMV1dPWcuYWRkLGgmJmcuYWRkKGZ1bmN0aW9uKCl7Yz1ofSxiWzFeYV1bMl0uZGlzYWJsZSxiWzJdWzJdLmxvY2spLGVbZlswXV09ZnVuY3Rpb24oKXtyZXR1cm4gZVtmWzBdKyJXaXRoIl0odGhpcz09PWU/ZDp0aGlzLGFyZ3VtZW50cyksdGhpc30sZVtmWzBdKyJXaXRoIl09Zy5maXJlV2l0aH0pLGQucHJvbWlzZShlKSxhJiZhLmNhbGwoZSxlKSxlfSx3aGVuOmZ1bmN0aW9uKGEpe3ZhciBiPTAsYz1lLmNhbGwoYXJndW1lbnRzKSxkPWMubGVuZ3RoLGY9MSE9PWR8fGEmJm4uaXNGdW5jdGlvbihhLnByb21pc2UpP2Q6MCxnPTE9PT1mP2E6bi5EZWZlcnJlZCgpLGg9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBmdW5jdGlvbihkKXtiW2FdPXRoaXMsY1thXT1hcmd1bWVudHMubGVuZ3RoPjE/ZS5jYWxsKGFyZ3VtZW50cyk6ZCxjPT09aT9nLm5vdGlmeVdpdGgoYixjKTotLWZ8fGcucmVzb2x2ZVdpdGgoYixjKX19LGksaixrO2lmKGQ+MSlmb3IoaT1uZXcgQXJyYXkoZCksaj1uZXcgQXJyYXkoZCksaz1uZXcgQXJyYXkoZCk7ZD5iO2IrKyljW2JdJiZuLmlzRnVuY3Rpb24oY1tiXS5wcm9taXNlKT9jW2JdLnByb21pc2UoKS5wcm9ncmVzcyhoKGIsaixpKSkuZG9uZShoKGIsayxjKSkuZmFpbChnLnJlamVjdCk6LS1mO3JldHVybiBmfHxnLnJlc29sdmVXaXRoKGssYyksZy5wcm9taXNlKCl9fSk7dmFyIEk7bi5mbi5yZWFkeT1mdW5jdGlvbihhKXtyZXR1cm4gbi5yZWFkeS5wcm9taXNlKCkuZG9uZShhKSx0aGlzfSxuLmV4dGVuZCh7aXNSZWFkeTohMSxyZWFkeVdhaXQ6MSxob2xkUmVhZHk6ZnVuY3Rpb24oYSl7YT9uLnJlYWR5V2FpdCsrOm4ucmVhZHkoITApfSxyZWFkeTpmdW5jdGlvbihhKXsoYT09PSEwPy0tbi5yZWFkeVdhaXQ6bi5pc1JlYWR5KXx8KG4uaXNSZWFkeT0hMCxhIT09ITAmJi0tbi5yZWFkeVdhaXQ+MHx8KEkucmVzb2x2ZVdpdGgoZCxbbl0pLG4uZm4udHJpZ2dlckhhbmRsZXImJihuKGQpLnRyaWdnZXJIYW5kbGVyKCJyZWFkeSIpLG4oZCkub2ZmKCJyZWFkeSIpKSkpfX0pO2Z1bmN0aW9uIEooKXtkLnJlbW92ZUV2ZW50TGlzdGVuZXIoIkRPTUNvbnRlbnRMb2FkZWQiLEopLGEucmVtb3ZlRXZlbnRMaXN0ZW5lcigibG9hZCIsSiksbi5yZWFkeSgpfW4ucmVhZHkucHJvbWlzZT1mdW5jdGlvbihiKXtyZXR1cm4gSXx8KEk9bi5EZWZlcnJlZCgpLCJjb21wbGV0ZSI9PT1kLnJlYWR5U3RhdGV8fCJsb2FkaW5nIiE9PWQucmVhZHlTdGF0ZSYmIWQuZG9jdW1lbnRFbGVtZW50LmRvU2Nyb2xsP2Euc2V0VGltZW91dChuLnJlYWR5KTooZC5hZGRFdmVudExpc3RlbmVyKCJET01Db250ZW50TG9hZGVkIixKKSxhLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLEopKSksSS5wcm9taXNlKGIpfSxuLnJlYWR5LnByb21pc2UoKTt2YXIgSz1mdW5jdGlvbihhLGIsYyxkLGUsZixnKXt2YXIgaD0wLGk9YS5sZW5ndGgsaj1udWxsPT1jO2lmKCJvYmplY3QiPT09bi50eXBlKGMpKXtlPSEwO2ZvcihoIGluIGMpSyhhLGIsaCxjW2hdLCEwLGYsZyl9ZWxzZSBpZih2b2lkIDAhPT1kJiYoZT0hMCxuLmlzRnVuY3Rpb24oZCl8fChnPSEwKSxqJiYoZz8oYi5jYWxsKGEsZCksYj1udWxsKTooaj1iLGI9ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqLmNhbGwobihhKSxjKX0pKSxiKSlmb3IoO2k+aDtoKyspYihhW2hdLGMsZz9kOmQuY2FsbChhW2hdLGgsYihhW2hdLGMpKSk7cmV0dXJuIGU/YTpqP2IuY2FsbChhKTppP2IoYVswXSxjKTpmfSxMPWZ1bmN0aW9uKGEpe3JldHVybiAxPT09YS5ub2RlVHlwZXx8OT09PWEubm9kZVR5cGV8fCErYS5ub2RlVHlwZX07ZnVuY3Rpb24gTSgpe3RoaXMuZXhwYW5kbz1uLmV4cGFuZG8rTS51aWQrK31NLnVpZD0xLE0ucHJvdG90eXBlPXtyZWdpc3RlcjpmdW5jdGlvbihhLGIpe3ZhciBjPWJ8fHt9O3JldHVybiBhLm5vZGVUeXBlP2FbdGhpcy5leHBhbmRvXT1jOk9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLHRoaXMuZXhwYW5kbyx7dmFsdWU6Yyx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KSxhW3RoaXMuZXhwYW5kb119LGNhY2hlOmZ1bmN0aW9uKGEpe2lmKCFMKGEpKXJldHVybnt9O3ZhciBiPWFbdGhpcy5leHBhbmRvXTtyZXR1cm4gYnx8KGI9e30sTChhKSYmKGEubm9kZVR5cGU/YVt0aGlzLmV4cGFuZG9dPWI6T2JqZWN0LmRlZmluZVByb3BlcnR5KGEsdGhpcy5leHBhbmRvLHt2YWx1ZTpiLGNvbmZpZ3VyYWJsZTohMH0pKSksYn0sc2V0OmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlPXRoaXMuY2FjaGUoYSk7aWYoInN0cmluZyI9PXR5cGVvZiBiKWVbYl09YztlbHNlIGZvcihkIGluIGIpZVtkXT1iW2RdO3JldHVybiBlfSxnZXQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdm9pZCAwPT09Yj90aGlzLmNhY2hlKGEpOmFbdGhpcy5leHBhbmRvXSYmYVt0aGlzLmV4cGFuZG9dW2JdfSxhY2Nlc3M6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkO3JldHVybiB2b2lkIDA9PT1ifHxiJiYic3RyaW5nIj09dHlwZW9mIGImJnZvaWQgMD09PWM/KGQ9dGhpcy5nZXQoYSxiKSx2b2lkIDAhPT1kP2Q6dGhpcy5nZXQoYSxuLmNhbWVsQ2FzZShiKSkpOih0aGlzLnNldChhLGIsYyksdm9pZCAwIT09Yz9jOmIpfSxyZW1vdmU6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj1hW3RoaXMuZXhwYW5kb107aWYodm9pZCAwIT09Zil7aWYodm9pZCAwPT09Yil0aGlzLnJlZ2lzdGVyKGEpO2Vsc2V7bi5pc0FycmF5KGIpP2Q9Yi5jb25jYXQoYi5tYXAobi5jYW1lbENhc2UpKTooZT1uLmNhbWVsQ2FzZShiKSxiIGluIGY/ZD1bYixlXTooZD1lLGQ9ZCBpbiBmP1tkXTpkLm1hdGNoKEcpfHxbXSkpLGM9ZC5sZW5ndGg7d2hpbGUoYy0tKWRlbGV0ZSBmW2RbY11dfSh2b2lkIDA9PT1ifHxuLmlzRW1wdHlPYmplY3QoZikpJiYoYS5ub2RlVHlwZT9hW3RoaXMuZXhwYW5kb109dm9pZCAwOmRlbGV0ZSBhW3RoaXMuZXhwYW5kb10pfX0saGFzRGF0YTpmdW5jdGlvbihhKXt2YXIgYj1hW3RoaXMuZXhwYW5kb107cmV0dXJuIHZvaWQgMCE9PWImJiFuLmlzRW1wdHlPYmplY3QoYil9fTt2YXIgTj1uZXcgTSxPPW5ldyBNLFA9L14oPzpce1tcd1xXXSpcfXxcW1tcd1xXXSpcXSkkLyxRPS9bQS1aXS9nO2Z1bmN0aW9uIFIoYSxiLGMpe3ZhciBkO2lmKHZvaWQgMD09PWMmJjE9PT1hLm5vZGVUeXBlKWlmKGQ9ImRhdGEtIitiLnJlcGxhY2UoUSwiLSQmIikudG9Mb3dlckNhc2UoKSxjPWEuZ2V0QXR0cmlidXRlKGQpLCJzdHJpbmciPT10eXBlb2YgYyl7dHJ5e2M9InRydWUiPT09Yz8hMDoiZmFsc2UiPT09Yz8hMToibnVsbCI9PT1jP251bGw6K2MrIiI9PT1jPytjOlAudGVzdChjKT9uLnBhcnNlSlNPTihjKTpjOwp9Y2F0Y2goZSl7fU8uc2V0KGEsYixjKX1lbHNlIGM9dm9pZCAwO3JldHVybiBjfW4uZXh0ZW5kKHtoYXNEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiBPLmhhc0RhdGEoYSl8fE4uaGFzRGF0YShhKX0sZGF0YTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIE8uYWNjZXNzKGEsYixjKX0scmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe08ucmVtb3ZlKGEsYil9LF9kYXRhOmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gTi5hY2Nlc3MoYSxiLGMpfSxfcmVtb3ZlRGF0YTpmdW5jdGlvbihhLGIpe04ucmVtb3ZlKGEsYil9fSksbi5mbi5leHRlbmQoe2RhdGE6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZj10aGlzWzBdLGc9ZiYmZi5hdHRyaWJ1dGVzO2lmKHZvaWQgMD09PWEpe2lmKHRoaXMubGVuZ3RoJiYoZT1PLmdldChmKSwxPT09Zi5ub2RlVHlwZSYmIU4uZ2V0KGYsImhhc0RhdGFBdHRycyIpKSl7Yz1nLmxlbmd0aDt3aGlsZShjLS0pZ1tjXSYmKGQ9Z1tjXS5uYW1lLDA9PT1kLmluZGV4T2YoImRhdGEtIikmJihkPW4uY2FtZWxDYXNlKGQuc2xpY2UoNSkpLFIoZixkLGVbZF0pKSk7Ti5zZXQoZiwiaGFzRGF0YUF0dHJzIiwhMCl9cmV0dXJuIGV9cmV0dXJuIm9iamVjdCI9PXR5cGVvZiBhP3RoaXMuZWFjaChmdW5jdGlvbigpe08uc2V0KHRoaXMsYSl9KTpLKHRoaXMsZnVuY3Rpb24oYil7dmFyIGMsZDtpZihmJiZ2b2lkIDA9PT1iKXtpZihjPU8uZ2V0KGYsYSl8fE8uZ2V0KGYsYS5yZXBsYWNlKFEsIi0kJiIpLnRvTG93ZXJDYXNlKCkpLHZvaWQgMCE9PWMpcmV0dXJuIGM7aWYoZD1uLmNhbWVsQ2FzZShhKSxjPU8uZ2V0KGYsZCksdm9pZCAwIT09YylyZXR1cm4gYztpZihjPVIoZixkLHZvaWQgMCksdm9pZCAwIT09YylyZXR1cm4gY31lbHNlIGQ9bi5jYW1lbENhc2UoYSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9Ty5nZXQodGhpcyxkKTtPLnNldCh0aGlzLGQsYiksYS5pbmRleE9mKCItIik+LTEmJnZvaWQgMCE9PWMmJk8uc2V0KHRoaXMsYSxiKX0pfSxudWxsLGIsYXJndW1lbnRzLmxlbmd0aD4xLG51bGwsITApfSxyZW1vdmVEYXRhOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtPLnJlbW92ZSh0aGlzLGEpfSl9fSksbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYixjKXt2YXIgZDtyZXR1cm4gYT8oYj0oYnx8ImZ4IikrInF1ZXVlIixkPU4uZ2V0KGEsYiksYyYmKCFkfHxuLmlzQXJyYXkoYyk/ZD1OLmFjY2VzcyhhLGIsbi5tYWtlQXJyYXkoYykpOmQucHVzaChjKSksZHx8W10pOnZvaWQgMH0sZGVxdWV1ZTpmdW5jdGlvbihhLGIpe2I9Ynx8ImZ4Ijt2YXIgYz1uLnF1ZXVlKGEsYiksZD1jLmxlbmd0aCxlPWMuc2hpZnQoKSxmPW4uX3F1ZXVlSG9va3MoYSxiKSxnPWZ1bmN0aW9uKCl7bi5kZXF1ZXVlKGEsYil9OyJpbnByb2dyZXNzIj09PWUmJihlPWMuc2hpZnQoKSxkLS0pLGUmJigiZngiPT09YiYmYy51bnNoaWZ0KCJpbnByb2dyZXNzIiksZGVsZXRlIGYuc3RvcCxlLmNhbGwoYSxnLGYpKSwhZCYmZiYmZi5lbXB0eS5maXJlKCl9LF9xdWV1ZUhvb2tzOmZ1bmN0aW9uKGEsYil7dmFyIGM9YisicXVldWVIb29rcyI7cmV0dXJuIE4uZ2V0KGEsYyl8fE4uYWNjZXNzKGEsYyx7ZW1wdHk6bi5DYWxsYmFja3MoIm9uY2UgbWVtb3J5IikuYWRkKGZ1bmN0aW9uKCl7Ti5yZW1vdmUoYSxbYisicXVldWUiLGNdKX0pfSl9fSksbi5mbi5leHRlbmQoe3F1ZXVlOmZ1bmN0aW9uKGEsYil7dmFyIGM9MjtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGEmJihiPWEsYT0iZngiLGMtLSksYXJndW1lbnRzLmxlbmd0aDxjP24ucXVldWUodGhpc1swXSxhKTp2b2lkIDA9PT1iP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGM9bi5xdWV1ZSh0aGlzLGEsYik7bi5fcXVldWVIb29rcyh0aGlzLGEpLCJmeCI9PT1hJiYiaW5wcm9ncmVzcyIhPT1jWzBdJiZuLmRlcXVldWUodGhpcyxhKX0pfSxkZXF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oKXtuLmRlcXVldWUodGhpcyxhKX0pfSxjbGVhclF1ZXVlOmZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLnF1ZXVlKGF8fCJmeCIsW10pfSxwcm9taXNlOmZ1bmN0aW9uKGEsYil7dmFyIGMsZD0xLGU9bi5EZWZlcnJlZCgpLGY9dGhpcyxnPXRoaXMubGVuZ3RoLGg9ZnVuY3Rpb24oKXstLWR8fGUucmVzb2x2ZVdpdGgoZixbZl0pfTsic3RyaW5nIiE9dHlwZW9mIGEmJihiPWEsYT12b2lkIDApLGE9YXx8ImZ4Ijt3aGlsZShnLS0pYz1OLmdldChmW2ddLGErInF1ZXVlSG9va3MiKSxjJiZjLmVtcHR5JiYoZCsrLGMuZW1wdHkuYWRkKGgpKTtyZXR1cm4gaCgpLGUucHJvbWlzZShiKX19KTt2YXIgUz0vWystXT8oPzpcZCpcLnwpXGQrKD86W2VFXVsrLV0/XGQrfCkvLnNvdXJjZSxUPW5ldyBSZWdFeHAoIl4oPzooWystXSk9fCkoIitTKyIpKFthLXolXSopJCIsImkiKSxVPVsiVG9wIiwiUmlnaHQiLCJCb3R0b20iLCJMZWZ0Il0sVj1mdW5jdGlvbihhLGIpe3JldHVybiBhPWJ8fGEsIm5vbmUiPT09bi5jc3MoYSwiZGlzcGxheSIpfHwhbi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSl9O2Z1bmN0aW9uIFcoYSxiLGMsZCl7dmFyIGUsZj0xLGc9MjAsaD1kP2Z1bmN0aW9uKCl7cmV0dXJuIGQuY3VyKCl9OmZ1bmN0aW9uKCl7cmV0dXJuIG4uY3NzKGEsYiwiIil9LGk9aCgpLGo9YyYmY1szXXx8KG4uY3NzTnVtYmVyW2JdPyIiOiJweCIpLGs9KG4uY3NzTnVtYmVyW2JdfHwicHgiIT09aiYmK2kpJiZULmV4ZWMobi5jc3MoYSxiKSk7aWYoayYma1szXSE9PWope2o9anx8a1szXSxjPWN8fFtdLGs9K2l8fDE7ZG8gZj1mfHwiLjUiLGsvPWYsbi5zdHlsZShhLGIsaytqKTt3aGlsZShmIT09KGY9aCgpL2kpJiYxIT09ZiYmLS1nKX1yZXR1cm4gYyYmKGs9K2t8fCtpfHwwLGU9Y1sxXT9rKyhjWzFdKzEpKmNbMl06K2NbMl0sZCYmKGQudW5pdD1qLGQuc3RhcnQ9ayxkLmVuZD1lKSksZX12YXIgWD0vXig/OmNoZWNrYm94fHJhZGlvKSQvaSxZPS88KFtcdzotXSspLyxaPS9eJHxcLyg/OmphdmF8ZWNtYSlzY3JpcHQvaSwkPXtvcHRpb246WzEsIjxzZWxlY3QgbXVsdGlwbGU9J211bHRpcGxlJz4iLCI8L3NlbGVjdD4iXSx0aGVhZDpbMSwiPHRhYmxlPiIsIjwvdGFibGU+Il0sY29sOlsyLCI8dGFibGU+PGNvbGdyb3VwPiIsIjwvY29sZ3JvdXA+PC90YWJsZT4iXSx0cjpbMiwiPHRhYmxlPjx0Ym9keT4iLCI8L3Rib2R5PjwvdGFibGU+Il0sdGQ6WzMsIjx0YWJsZT48dGJvZHk+PHRyPiIsIjwvdHI+PC90Ym9keT48L3RhYmxlPiJdLF9kZWZhdWx0OlswLCIiLCIiXX07JC5vcHRncm91cD0kLm9wdGlvbiwkLnRib2R5PSQudGZvb3Q9JC5jb2xncm91cD0kLmNhcHRpb249JC50aGVhZCwkLnRoPSQudGQ7ZnVuY3Rpb24gXyhhLGIpe3ZhciBjPSJ1bmRlZmluZWQiIT10eXBlb2YgYS5nZXRFbGVtZW50c0J5VGFnTmFtZT9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKGJ8fCIqIik6InVuZGVmaW5lZCIhPXR5cGVvZiBhLnF1ZXJ5U2VsZWN0b3JBbGw/YS5xdWVyeVNlbGVjdG9yQWxsKGJ8fCIqIik6W107cmV0dXJuIHZvaWQgMD09PWJ8fGImJm4ubm9kZU5hbWUoYSxiKT9uLm1lcmdlKFthXSxjKTpjfWZ1bmN0aW9uIGFhKGEsYil7Zm9yKHZhciBjPTAsZD1hLmxlbmd0aDtkPmM7YysrKU4uc2V0KGFbY10sImdsb2JhbEV2YWwiLCFifHxOLmdldChiW2NdLCJnbG9iYWxFdmFsIikpfXZhciBiYT0vPHwmIz9cdys7LztmdW5jdGlvbiBjYShhLGIsYyxkLGUpe2Zvcih2YXIgZixnLGgsaSxqLGssbD1iLmNyZWF0ZURvY3VtZW50RnJhZ21lbnQoKSxtPVtdLG89MCxwPWEubGVuZ3RoO3A+bztvKyspaWYoZj1hW29dLGZ8fDA9PT1mKWlmKCJvYmplY3QiPT09bi50eXBlKGYpKW4ubWVyZ2UobSxmLm5vZGVUeXBlP1tmXTpmKTtlbHNlIGlmKGJhLnRlc3QoZikpe2c9Z3x8bC5hcHBlbmRDaGlsZChiLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxoPShZLmV4ZWMoZil8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCksaT0kW2hdfHwkLl9kZWZhdWx0LGcuaW5uZXJIVE1MPWlbMV0rbi5odG1sUHJlZmlsdGVyKGYpK2lbMl0saz1pWzBdO3doaWxlKGstLSlnPWcubGFzdENoaWxkO24ubWVyZ2UobSxnLmNoaWxkTm9kZXMpLGc9bC5maXJzdENoaWxkLGcudGV4dENvbnRlbnQ9IiJ9ZWxzZSBtLnB1c2goYi5jcmVhdGVUZXh0Tm9kZShmKSk7bC50ZXh0Q29udGVudD0iIixvPTA7d2hpbGUoZj1tW28rK10paWYoZCYmbi5pbkFycmF5KGYsZCk+LTEpZSYmZS5wdXNoKGYpO2Vsc2UgaWYoaj1uLmNvbnRhaW5zKGYub3duZXJEb2N1bWVudCxmKSxnPV8obC5hcHBlbmRDaGlsZChmKSwic2NyaXB0IiksaiYmYWEoZyksYyl7az0wO3doaWxlKGY9Z1trKytdKVoudGVzdChmLnR5cGV8fCIiKSYmYy5wdXNoKGYpfXJldHVybiBsfSFmdW5jdGlvbigpe3ZhciBhPWQuY3JlYXRlRG9jdW1lbnRGcmFnbWVudCgpLGI9YS5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoImRpdiIpKSxjPWQuY3JlYXRlRWxlbWVudCgiaW5wdXQiKTtjLnNldEF0dHJpYnV0ZSgidHlwZSIsInJhZGlvIiksYy5zZXRBdHRyaWJ1dGUoImNoZWNrZWQiLCJjaGVja2VkIiksYy5zZXRBdHRyaWJ1dGUoIm5hbWUiLCJ0IiksYi5hcHBlbmRDaGlsZChjKSxsLmNoZWNrQ2xvbmU9Yi5jbG9uZU5vZGUoITApLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmNoZWNrZWQsYi5pbm5lckhUTUw9Ijx0ZXh0YXJlYT54PC90ZXh0YXJlYT4iLGwubm9DbG9uZUNoZWNrZWQ9ISFiLmNsb25lTm9kZSghMCkubGFzdENoaWxkLmRlZmF1bHRWYWx1ZX0oKTt2YXIgZGE9L15rZXkvLGVhPS9eKD86bW91c2V8cG9pbnRlcnxjb250ZXh0bWVudXxkcmFnfGRyb3ApfGNsaWNrLyxmYT0vXihbXi5dKikoPzpcLiguKyl8KS87ZnVuY3Rpb24gZ2EoKXtyZXR1cm4hMH1mdW5jdGlvbiBoYSgpe3JldHVybiExfWZ1bmN0aW9uIGlhKCl7dHJ5e3JldHVybiBkLmFjdGl2ZUVsZW1lbnR9Y2F0Y2goYSl7fX1mdW5jdGlvbiBqYShhLGIsYyxkLGUsZil7dmFyIGcsaDtpZigib2JqZWN0Ij09dHlwZW9mIGIpeyJzdHJpbmciIT10eXBlb2YgYyYmKGQ9ZHx8YyxjPXZvaWQgMCk7Zm9yKGggaW4gYilqYShhLGgsYyxkLGJbaF0sZik7cmV0dXJuIGF9aWYobnVsbD09ZCYmbnVsbD09ZT8oZT1jLGQ9Yz12b2lkIDApOm51bGw9PWUmJigic3RyaW5nIj09dHlwZW9mIGM/KGU9ZCxkPXZvaWQgMCk6KGU9ZCxkPWMsYz12b2lkIDApKSxlPT09ITEpZT1oYTtlbHNlIGlmKCFlKXJldHVybiBhO3JldHVybiAxPT09ZiYmKGc9ZSxlPWZ1bmN0aW9uKGEpe3JldHVybiBuKCkub2ZmKGEpLGcuYXBwbHkodGhpcyxhcmd1bWVudHMpfSxlLmd1aWQ9Zy5ndWlkfHwoZy5ndWlkPW4uZ3VpZCsrKSksYS5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC5hZGQodGhpcyxiLGUsZCxjKX0pfW4uZXZlbnQ9e2dsb2JhbDp7fSxhZGQ6ZnVuY3Rpb24oYSxiLGMsZCxlKXt2YXIgZixnLGgsaSxqLGssbCxtLG8scCxxLHI9Ti5nZXQoYSk7aWYocil7Yy5oYW5kbGVyJiYoZj1jLGM9Zi5oYW5kbGVyLGU9Zi5zZWxlY3RvciksYy5ndWlkfHwoYy5ndWlkPW4uZ3VpZCsrKSwoaT1yLmV2ZW50cyl8fChpPXIuZXZlbnRzPXt9KSwoZz1yLmhhbmRsZSl8fChnPXIuaGFuZGxlPWZ1bmN0aW9uKGIpe3JldHVybiJ1bmRlZmluZWQiIT10eXBlb2YgbiYmbi5ldmVudC50cmlnZ2VyZWQhPT1iLnR5cGU/bi5ldmVudC5kaXNwYXRjaC5hcHBseShhLGFyZ3VtZW50cyk6dm9pZCAwfSksYj0oYnx8IiIpLm1hdGNoKEcpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWg9ZmEuZXhlYyhiW2pdKXx8W10sbz1xPWhbMV0scD0oaFsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLG8mJihsPW4uZXZlbnQuc3BlY2lhbFtvXXx8e30sbz0oZT9sLmRlbGVnYXRlVHlwZTpsLmJpbmRUeXBlKXx8byxsPW4uZXZlbnQuc3BlY2lhbFtvXXx8e30saz1uLmV4dGVuZCh7dHlwZTpvLG9yaWdUeXBlOnEsZGF0YTpkLGhhbmRsZXI6YyxndWlkOmMuZ3VpZCxzZWxlY3RvcjplLG5lZWRzQ29udGV4dDplJiZuLmV4cHIubWF0Y2gubmVlZHNDb250ZXh0LnRlc3QoZSksbmFtZXNwYWNlOnAuam9pbigiLiIpfSxmKSwobT1pW29dKXx8KG09aVtvXT1bXSxtLmRlbGVnYXRlQ291bnQ9MCxsLnNldHVwJiZsLnNldHVwLmNhbGwoYSxkLHAsZykhPT0hMXx8YS5hZGRFdmVudExpc3RlbmVyJiZhLmFkZEV2ZW50TGlzdGVuZXIobyxnKSksbC5hZGQmJihsLmFkZC5jYWxsKGEsayksay5oYW5kbGVyLmd1aWR8fChrLmhhbmRsZXIuZ3VpZD1jLmd1aWQpKSxlP20uc3BsaWNlKG0uZGVsZWdhdGVDb3VudCsrLDAsayk6bS5wdXNoKGspLG4uZXZlbnQuZ2xvYmFsW29dPSEwKX19LHJlbW92ZTpmdW5jdGlvbihhLGIsYyxkLGUpe3ZhciBmLGcsaCxpLGosayxsLG0sbyxwLHEscj1OLmhhc0RhdGEoYSkmJk4uZ2V0KGEpO2lmKHImJihpPXIuZXZlbnRzKSl7Yj0oYnx8IiIpLm1hdGNoKEcpfHxbIiJdLGo9Yi5sZW5ndGg7d2hpbGUoai0tKWlmKGg9ZmEuZXhlYyhiW2pdKXx8W10sbz1xPWhbMV0scD0oaFsyXXx8IiIpLnNwbGl0KCIuIikuc29ydCgpLG8pe2w9bi5ldmVudC5zcGVjaWFsW29dfHx7fSxvPShkP2wuZGVsZWdhdGVUeXBlOmwuYmluZFR5cGUpfHxvLG09aVtvXXx8W10saD1oWzJdJiZuZXcgUmVnRXhwKCIoXnxcXC4pIitwLmpvaW4oIlxcLig/Oi4qXFwufCkiKSsiKFxcLnwkKSIpLGc9Zj1tLmxlbmd0aDt3aGlsZShmLS0paz1tW2ZdLCFlJiZxIT09ay5vcmlnVHlwZXx8YyYmYy5ndWlkIT09ay5ndWlkfHxoJiYhaC50ZXN0KGsubmFtZXNwYWNlKXx8ZCYmZCE9PWsuc2VsZWN0b3ImJigiKioiIT09ZHx8IWsuc2VsZWN0b3IpfHwobS5zcGxpY2UoZiwxKSxrLnNlbGVjdG9yJiZtLmRlbGVnYXRlQ291bnQtLSxsLnJlbW92ZSYmbC5yZW1vdmUuY2FsbChhLGspKTtnJiYhbS5sZW5ndGgmJihsLnRlYXJkb3duJiZsLnRlYXJkb3duLmNhbGwoYSxwLHIuaGFuZGxlKSE9PSExfHxuLnJlbW92ZUV2ZW50KGEsbyxyLmhhbmRsZSksZGVsZXRlIGlbb10pfWVsc2UgZm9yKG8gaW4gaSluLmV2ZW50LnJlbW92ZShhLG8rYltqXSxjLGQsITApO24uaXNFbXB0eU9iamVjdChpKSYmTi5yZW1vdmUoYSwiaGFuZGxlIGV2ZW50cyIpfX0sZGlzcGF0Y2g6ZnVuY3Rpb24oYSl7YT1uLmV2ZW50LmZpeChhKTt2YXIgYixjLGQsZixnLGg9W10saT1lLmNhbGwoYXJndW1lbnRzKSxqPShOLmdldCh0aGlzLCJldmVudHMiKXx8e30pW2EudHlwZV18fFtdLGs9bi5ldmVudC5zcGVjaWFsW2EudHlwZV18fHt9O2lmKGlbMF09YSxhLmRlbGVnYXRlVGFyZ2V0PXRoaXMsIWsucHJlRGlzcGF0Y2h8fGsucHJlRGlzcGF0Y2guY2FsbCh0aGlzLGEpIT09ITEpe2g9bi5ldmVudC5oYW5kbGVycy5jYWxsKHRoaXMsYSxqKSxiPTA7d2hpbGUoKGY9aFtiKytdKSYmIWEuaXNQcm9wYWdhdGlvblN0b3BwZWQoKSl7YS5jdXJyZW50VGFyZ2V0PWYuZWxlbSxjPTA7d2hpbGUoKGc9Zi5oYW5kbGVyc1tjKytdKSYmIWEuaXNJbW1lZGlhdGVQcm9wYWdhdGlvblN0b3BwZWQoKSlhLnJuYW1lc3BhY2UmJiFhLnJuYW1lc3BhY2UudGVzdChnLm5hbWVzcGFjZSl8fChhLmhhbmRsZU9iaj1nLGEuZGF0YT1nLmRhdGEsZD0oKG4uZXZlbnQuc3BlY2lhbFtnLm9yaWdUeXBlXXx8e30pLmhhbmRsZXx8Zy5oYW5kbGVyKS5hcHBseShmLmVsZW0saSksdm9pZCAwIT09ZCYmKGEucmVzdWx0PWQpPT09ITEmJihhLnByZXZlbnREZWZhdWx0KCksYS5zdG9wUHJvcGFnYXRpb24oKSkpfXJldHVybiBrLnBvc3REaXNwYXRjaCYmay5wb3N0RGlzcGF0Y2guY2FsbCh0aGlzLGEpLGEucmVzdWx0fX0saGFuZGxlcnM6ZnVuY3Rpb24oYSxiKXt2YXIgYyxkLGUsZixnPVtdLGg9Yi5kZWxlZ2F0ZUNvdW50LGk9YS50YXJnZXQ7aWYoaCYmaS5ub2RlVHlwZSYmKCJjbGljayIhPT1hLnR5cGV8fGlzTmFOKGEuYnV0dG9uKXx8YS5idXR0b248MSkpZm9yKDtpIT09dGhpcztpPWkucGFyZW50Tm9kZXx8dGhpcylpZigxPT09aS5ub2RlVHlwZSYmKGkuZGlzYWJsZWQhPT0hMHx8ImNsaWNrIiE9PWEudHlwZSkpe2ZvcihkPVtdLGM9MDtoPmM7YysrKWY9YltjXSxlPWYuc2VsZWN0b3IrIiAiLHZvaWQgMD09PWRbZV0mJihkW2VdPWYubmVlZHNDb250ZXh0P24oZSx0aGlzKS5pbmRleChpKT4tMTpuLmZpbmQoZSx0aGlzLG51bGwsW2ldKS5sZW5ndGgpLGRbZV0mJmQucHVzaChmKTtkLmxlbmd0aCYmZy5wdXNoKHtlbGVtOmksaGFuZGxlcnM6ZH0pfXJldHVybiBoPGIubGVuZ3RoJiZnLnB1c2goe2VsZW06dGhpcyxoYW5kbGVyczpiLnNsaWNlKGgpfSksZ30scHJvcHM6ImFsdEtleSBidWJibGVzIGNhbmNlbGFibGUgY3RybEtleSBjdXJyZW50VGFyZ2V0IGRldGFpbCBldmVudFBoYXNlIG1ldGFLZXkgcmVsYXRlZFRhcmdldCBzaGlmdEtleSB0YXJnZXQgdGltZVN0YW1wIHZpZXcgd2hpY2giLnNwbGl0KCIgIiksZml4SG9va3M6e30sa2V5SG9va3M6e3Byb3BzOiJjaGFyIGNoYXJDb2RlIGtleSBrZXlDb2RlIi5zcGxpdCgiICIpLGZpbHRlcjpmdW5jdGlvbihhLGIpe3JldHVybiBudWxsPT1hLndoaWNoJiYoYS53aGljaD1udWxsIT1iLmNoYXJDb2RlP2IuY2hhckNvZGU6Yi5rZXlDb2RlKSxhfX0sbW91c2VIb29rczp7cHJvcHM6ImJ1dHRvbiBidXR0b25zIGNsaWVudFggY2xpZW50WSBvZmZzZXRYIG9mZnNldFkgcGFnZVggcGFnZVkgc2NyZWVuWCBzY3JlZW5ZIHRvRWxlbWVudCIuc3BsaXQoIiAiKSxmaWx0ZXI6ZnVuY3Rpb24oYSxiKXt2YXIgYyxlLGYsZz1iLmJ1dHRvbjtyZXR1cm4gbnVsbD09YS5wYWdlWCYmbnVsbCE9Yi5jbGllbnRYJiYoYz1hLnRhcmdldC5vd25lckRvY3VtZW50fHxkLGU9Yy5kb2N1bWVudEVsZW1lbnQsZj1jLmJvZHksYS5wYWdlWD1iLmNsaWVudFgrKGUmJmUuc2Nyb2xsTGVmdHx8ZiYmZi5zY3JvbGxMZWZ0fHwwKS0oZSYmZS5jbGllbnRMZWZ0fHxmJiZmLmNsaWVudExlZnR8fDApLGEucGFnZVk9Yi5jbGllbnRZKyhlJiZlLnNjcm9sbFRvcHx8ZiYmZi5zY3JvbGxUb3B8fDApLShlJiZlLmNsaWVudFRvcHx8ZiYmZi5jbGllbnRUb3B8fDApKSxhLndoaWNofHx2b2lkIDA9PT1nfHwoYS53aGljaD0xJmc/MToyJmc/Mzo0Jmc/MjowKSxhfX0sZml4OmZ1bmN0aW9uKGEpe2lmKGFbbi5leHBhbmRvXSlyZXR1cm4gYTt2YXIgYixjLGUsZj1hLnR5cGUsZz1hLGg9dGhpcy5maXhIb29rc1tmXTtofHwodGhpcy5maXhIb29rc1tmXT1oPWVhLnRlc3QoZik/dGhpcy5tb3VzZUhvb2tzOmRhLnRlc3QoZik/dGhpcy5rZXlIb29rczp7fSksZT1oLnByb3BzP3RoaXMucHJvcHMuY29uY2F0KGgucHJvcHMpOnRoaXMucHJvcHMsYT1uZXcgbi5FdmVudChnKSxiPWUubGVuZ3RoO3doaWxlKGItLSljPWVbYl0sYVtjXT1nW2NdO3JldHVybiBhLnRhcmdldHx8KGEudGFyZ2V0PWQpLDM9PT1hLnRhcmdldC5ub2RlVHlwZSYmKGEudGFyZ2V0PWEudGFyZ2V0LnBhcmVudE5vZGUpLGguZmlsdGVyP2guZmlsdGVyKGEsZyk6YX0sc3BlY2lhbDp7bG9hZDp7bm9CdWJibGU6ITB9LGZvY3VzOnt0cmlnZ2VyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMhPT1pYSgpJiZ0aGlzLmZvY3VzPyh0aGlzLmZvY3VzKCksITEpOnZvaWQgMH0sZGVsZWdhdGVUeXBlOiJmb2N1c2luIn0sYmx1cjp7dHJpZ2dlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzPT09aWEoKSYmdGhpcy5ibHVyPyh0aGlzLmJsdXIoKSwhMSk6dm9pZCAwfSxkZWxlZ2F0ZVR5cGU6ImZvY3Vzb3V0In0sY2xpY2s6e3RyaWdnZXI6ZnVuY3Rpb24oKXtyZXR1cm4iY2hlY2tib3giPT09dGhpcy50eXBlJiZ0aGlzLmNsaWNrJiZuLm5vZGVOYW1lKHRoaXMsImlucHV0Iik/KHRoaXMuY2xpY2soKSwhMSk6dm9pZCAwfSxfZGVmYXVsdDpmdW5jdGlvbihhKXtyZXR1cm4gbi5ub2RlTmFtZShhLnRhcmdldCwiYSIpfX0sYmVmb3JldW5sb2FkOntwb3N0RGlzcGF0Y2g6ZnVuY3Rpb24oYSl7dm9pZCAwIT09YS5yZXN1bHQmJmEub3JpZ2luYWxFdmVudCYmKGEub3JpZ2luYWxFdmVudC5yZXR1cm5WYWx1ZT1hLnJlc3VsdCl9fX19LG4ucmVtb3ZlRXZlbnQ9ZnVuY3Rpb24oYSxiLGMpe2EucmVtb3ZlRXZlbnRMaXN0ZW5lciYmYS5yZW1vdmVFdmVudExpc3RlbmVyKGIsYyl9LG4uRXZlbnQ9ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcyBpbnN0YW5jZW9mIG4uRXZlbnQ/KGEmJmEudHlwZT8odGhpcy5vcmlnaW5hbEV2ZW50PWEsdGhpcy50eXBlPWEudHlwZSx0aGlzLmlzRGVmYXVsdFByZXZlbnRlZD1hLmRlZmF1bHRQcmV2ZW50ZWR8fHZvaWQgMD09PWEuZGVmYXVsdFByZXZlbnRlZCYmYS5yZXR1cm5WYWx1ZT09PSExP2dhOmhhKTp0aGlzLnR5cGU9YSxiJiZuLmV4dGVuZCh0aGlzLGIpLHRoaXMudGltZVN0YW1wPWEmJmEudGltZVN0YW1wfHxuLm5vdygpLHZvaWQodGhpc1tuLmV4cGFuZG9dPSEwKSk6bmV3IG4uRXZlbnQoYSxiKX0sbi5FdmVudC5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOm4uRXZlbnQsaXNEZWZhdWx0UHJldmVudGVkOmhhLGlzUHJvcGFnYXRpb25TdG9wcGVkOmhhLGlzSW1tZWRpYXRlUHJvcGFnYXRpb25TdG9wcGVkOmhhLGlzU2ltdWxhdGVkOiExLHByZXZlbnREZWZhdWx0OmZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vcmlnaW5hbEV2ZW50O3RoaXMuaXNEZWZhdWx0UHJldmVudGVkPWdhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnByZXZlbnREZWZhdWx0KCl9LHN0b3BQcm9wYWdhdGlvbjpmdW5jdGlvbigpe3ZhciBhPXRoaXMub3JpZ2luYWxFdmVudDt0aGlzLmlzUHJvcGFnYXRpb25TdG9wcGVkPWdhLGEmJiF0aGlzLmlzU2ltdWxhdGVkJiZhLnN0b3BQcm9wYWdhdGlvbigpfSxzdG9wSW1tZWRpYXRlUHJvcGFnYXRpb246ZnVuY3Rpb24oKXt2YXIgYT10aGlzLm9yaWdpbmFsRXZlbnQ7dGhpcy5pc0ltbWVkaWF0ZVByb3BhZ2F0aW9uU3RvcHBlZD1nYSxhJiYhdGhpcy5pc1NpbXVsYXRlZCYmYS5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKSx0aGlzLnN0b3BQcm9wYWdhdGlvbigpfX0sbi5lYWNoKHttb3VzZWVudGVyOiJtb3VzZW92ZXIiLG1vdXNlbGVhdmU6Im1vdXNlb3V0Iixwb2ludGVyZW50ZXI6InBvaW50ZXJvdmVyIixwb2ludGVybGVhdmU6InBvaW50ZXJvdXQifSxmdW5jdGlvbihhLGIpe24uZXZlbnQuc3BlY2lhbFthXT17ZGVsZWdhdGVUeXBlOmIsYmluZFR5cGU6YixoYW5kbGU6ZnVuY3Rpb24oYSl7dmFyIGMsZD10aGlzLGU9YS5yZWxhdGVkVGFyZ2V0LGY9YS5oYW5kbGVPYmo7cmV0dXJuIGUmJihlPT09ZHx8bi5jb250YWlucyhkLGUpKXx8KGEudHlwZT1mLm9yaWdUeXBlLGM9Zi5oYW5kbGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKSxhLnR5cGU9YiksY319fSksbi5mbi5leHRlbmQoe29uOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiBqYSh0aGlzLGEsYixjLGQpfSxvbmU6ZnVuY3Rpb24oYSxiLGMsZCl7cmV0dXJuIGphKHRoaXMsYSxiLGMsZCwxKX0sb2ZmOmZ1bmN0aW9uKGEsYixjKXt2YXIgZCxlO2lmKGEmJmEucHJldmVudERlZmF1bHQmJmEuaGFuZGxlT2JqKXJldHVybiBkPWEuaGFuZGxlT2JqLG4oYS5kZWxlZ2F0ZVRhcmdldCkub2ZmKGQubmFtZXNwYWNlP2Qub3JpZ1R5cGUrIi4iK2QubmFtZXNwYWNlOmQub3JpZ1R5cGUsZC5zZWxlY3RvcixkLmhhbmRsZXIpLHRoaXM7aWYoIm9iamVjdCI9PXR5cGVvZiBhKXtmb3IoZSBpbiBhKXRoaXMub2ZmKGUsYixhW2VdKTtyZXR1cm4gdGhpc31yZXR1cm4gYiE9PSExJiYiZnVuY3Rpb24iIT10eXBlb2YgYnx8KGM9YixiPXZvaWQgMCksYz09PSExJiYoYz1oYSksdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC5yZW1vdmUodGhpcyxhLGMsYil9KX19KTt2YXIga2E9LzwoPyFhcmVhfGJyfGNvbHxlbWJlZHxocnxpbWd8aW5wdXR8bGlua3xtZXRhfHBhcmFtKSgoW1x3Oi1dKylbXj5dKilcLz4vZ2ksbGE9LzxzY3JpcHR8PHN0eWxlfDxsaW5rL2ksbWE9L2NoZWNrZWRccyooPzpbXj1dfD1ccyouY2hlY2tlZC4pL2ksbmE9L150cnVlXC8oLiopLyxvYT0vXlxzKjwhKD86XFtDREFUQVxbfC0tKXwoPzpcXVxdfC0tKT5ccyokL2c7ZnVuY3Rpb24gcGEoYSxiKXtyZXR1cm4gbi5ub2RlTmFtZShhLCJ0YWJsZSIpJiZuLm5vZGVOYW1lKDExIT09Yi5ub2RlVHlwZT9iOmIuZmlyc3RDaGlsZCwidHIiKT9hLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdfHxhLmFwcGVuZENoaWxkKGEub3duZXJEb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0Ym9keSIpKTphfWZ1bmN0aW9uIHFhKGEpe3JldHVybiBhLnR5cGU9KG51bGwhPT1hLmdldEF0dHJpYnV0ZSgidHlwZSIpKSsiLyIrYS50eXBlLGF9ZnVuY3Rpb24gcmEoYSl7dmFyIGI9bmEuZXhlYyhhLnR5cGUpO3JldHVybiBiP2EudHlwZT1iWzFdOmEucmVtb3ZlQXR0cmlidXRlKCJ0eXBlIiksYX1mdW5jdGlvbiBzYShhLGIpe3ZhciBjLGQsZSxmLGcsaCxpLGo7aWYoMT09PWIubm9kZVR5cGUpe2lmKE4uaGFzRGF0YShhKSYmKGY9Ti5hY2Nlc3MoYSksZz1OLnNldChiLGYpLGo9Zi5ldmVudHMpKXtkZWxldGUgZy5oYW5kbGUsZy5ldmVudHM9e307Zm9yKGUgaW4gailmb3IoYz0wLGQ9altlXS5sZW5ndGg7ZD5jO2MrKyluLmV2ZW50LmFkZChiLGUsaltlXVtjXSl9Ty5oYXNEYXRhKGEpJiYoaD1PLmFjY2VzcyhhKSxpPW4uZXh0ZW5kKHt9LGgpLE8uc2V0KGIsaSkpfX1mdW5jdGlvbiB0YShhLGIpe3ZhciBjPWIubm9kZU5hbWUudG9Mb3dlckNhc2UoKTsiaW5wdXQiPT09YyYmWC50ZXN0KGEudHlwZSk/Yi5jaGVja2VkPWEuY2hlY2tlZDoiaW5wdXQiIT09YyYmInRleHRhcmVhIiE9PWN8fChiLmRlZmF1bHRWYWx1ZT1hLmRlZmF1bHRWYWx1ZSl9ZnVuY3Rpb24gdWEoYSxiLGMsZCl7Yj1mLmFwcGx5KFtdLGIpO3ZhciBlLGcsaCxpLGosayxtPTAsbz1hLmxlbmd0aCxwPW8tMSxxPWJbMF0scj1uLmlzRnVuY3Rpb24ocSk7aWYocnx8bz4xJiYic3RyaW5nIj09dHlwZW9mIHEmJiFsLmNoZWNrQ2xvbmUmJm1hLnRlc3QocSkpcmV0dXJuIGEuZWFjaChmdW5jdGlvbihlKXt2YXIgZj1hLmVxKGUpO3ImJihiWzBdPXEuY2FsbCh0aGlzLGUsZi5odG1sKCkpKSx1YShmLGIsYyxkKX0pO2lmKG8mJihlPWNhKGIsYVswXS5vd25lckRvY3VtZW50LCExLGEsZCksZz1lLmZpcnN0Q2hpbGQsMT09PWUuY2hpbGROb2Rlcy5sZW5ndGgmJihlPWcpLGd8fGQpKXtmb3IoaD1uLm1hcChfKGUsInNjcmlwdCIpLHFhKSxpPWgubGVuZ3RoO28+bTttKyspaj1lLG0hPT1wJiYoaj1uLmNsb25lKGosITAsITApLGkmJm4ubWVyZ2UoaCxfKGosInNjcmlwdCIpKSksYy5jYWxsKGFbbV0saixtKTtpZihpKWZvcihrPWhbaC5sZW5ndGgtMV0ub3duZXJEb2N1bWVudCxuLm1hcChoLHJhKSxtPTA7aT5tO20rKylqPWhbbV0sWi50ZXN0KGoudHlwZXx8IiIpJiYhTi5hY2Nlc3MoaiwiZ2xvYmFsRXZhbCIpJiZuLmNvbnRhaW5zKGssaikmJihqLnNyYz9uLl9ldmFsVXJsJiZuLl9ldmFsVXJsKGouc3JjKTpuLmdsb2JhbEV2YWwoai50ZXh0Q29udGVudC5yZXBsYWNlKG9hLCIiKSkpfXJldHVybiBhfWZ1bmN0aW9uIHZhKGEsYixjKXtmb3IodmFyIGQsZT1iP24uZmlsdGVyKGIsYSk6YSxmPTA7bnVsbCE9KGQ9ZVtmXSk7ZisrKWN8fDEhPT1kLm5vZGVUeXBlfHxuLmNsZWFuRGF0YShfKGQpKSxkLnBhcmVudE5vZGUmJihjJiZuLmNvbnRhaW5zKGQub3duZXJEb2N1bWVudCxkKSYmYWEoXyhkLCJzY3JpcHQiKSksZC5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKGQpKTtyZXR1cm4gYX1uLmV4dGVuZCh7aHRtbFByZWZpbHRlcjpmdW5jdGlvbihhKXtyZXR1cm4gYS5yZXBsYWNlKGthLCI8JDE+PC8kMj4iKX0sY2xvbmU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jbG9uZU5vZGUoITApLGk9bi5jb250YWlucyhhLm93bmVyRG9jdW1lbnQsYSk7aWYoIShsLm5vQ2xvbmVDaGVja2VkfHwxIT09YS5ub2RlVHlwZSYmMTEhPT1hLm5vZGVUeXBlfHxuLmlzWE1MRG9jKGEpKSlmb3IoZz1fKGgpLGY9XyhhKSxkPTAsZT1mLmxlbmd0aDtlPmQ7ZCsrKXRhKGZbZF0sZ1tkXSk7aWYoYilpZihjKWZvcihmPWZ8fF8oYSksZz1nfHxfKGgpLGQ9MCxlPWYubGVuZ3RoO2U+ZDtkKyspc2EoZltkXSxnW2RdKTtlbHNlIHNhKGEsaCk7cmV0dXJuIGc9XyhoLCJzY3JpcHQiKSxnLmxlbmd0aD4wJiZhYShnLCFpJiZfKGEsInNjcmlwdCIpKSxofSxjbGVhbkRhdGE6ZnVuY3Rpb24oYSl7Zm9yKHZhciBiLGMsZCxlPW4uZXZlbnQuc3BlY2lhbCxmPTA7dm9pZCAwIT09KGM9YVtmXSk7ZisrKWlmKEwoYykpe2lmKGI9Y1tOLmV4cGFuZG9dKXtpZihiLmV2ZW50cylmb3IoZCBpbiBiLmV2ZW50cyllW2RdP24uZXZlbnQucmVtb3ZlKGMsZCk6bi5yZW1vdmVFdmVudChjLGQsYi5oYW5kbGUpO2NbTi5leHBhbmRvXT12b2lkIDB9Y1tPLmV4cGFuZG9dJiYoY1tPLmV4cGFuZG9dPXZvaWQgMCl9fX0pLG4uZm4uZXh0ZW5kKHtkb21NYW5pcDp1YSxkZXRhY2g6ZnVuY3Rpb24oYSl7cmV0dXJuIHZhKHRoaXMsYSwhMCl9LHJlbW92ZTpmdW5jdGlvbihhKXtyZXR1cm4gdmEodGhpcyxhKX0sdGV4dDpmdW5jdGlvbihhKXtyZXR1cm4gSyh0aGlzLGZ1bmN0aW9uKGEpe3JldHVybiB2b2lkIDA9PT1hP24udGV4dCh0aGlzKTp0aGlzLmVtcHR5KCkuZWFjaChmdW5jdGlvbigpezEhPT10aGlzLm5vZGVUeXBlJiYxMSE9PXRoaXMubm9kZVR5cGUmJjkhPT10aGlzLm5vZGVUeXBlfHwodGhpcy50ZXh0Q29udGVudD1hKX0pfSxudWxsLGEsYXJndW1lbnRzLmxlbmd0aCl9LGFwcGVuZDpmdW5jdGlvbigpe3JldHVybiB1YSh0aGlzLGFyZ3VtZW50cyxmdW5jdGlvbihhKXtpZigxPT09dGhpcy5ub2RlVHlwZXx8MTE9PT10aGlzLm5vZGVUeXBlfHw5PT09dGhpcy5ub2RlVHlwZSl7dmFyIGI9cGEodGhpcyxhKTtiLmFwcGVuZENoaWxkKGEpfX0pfSxwcmVwZW5kOmZ1bmN0aW9uKCl7cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGEpe2lmKDE9PT10aGlzLm5vZGVUeXBlfHwxMT09PXRoaXMubm9kZVR5cGV8fDk9PT10aGlzLm5vZGVUeXBlKXt2YXIgYj1wYSh0aGlzLGEpO2IuaW5zZXJ0QmVmb3JlKGEsYi5maXJzdENoaWxkKX19KX0sYmVmb3JlOmZ1bmN0aW9uKCl7cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGEpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLHRoaXMpfSl9LGFmdGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGEpe3RoaXMucGFyZW50Tm9kZSYmdGhpcy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShhLHRoaXMubmV4dFNpYmxpbmcpfSl9LGVtcHR5OmZ1bmN0aW9uKCl7Zm9yKHZhciBhLGI9MDtudWxsIT0oYT10aGlzW2JdKTtiKyspMT09PWEubm9kZVR5cGUmJihuLmNsZWFuRGF0YShfKGEsITEpKSxhLnRleHRDb250ZW50PSIiKTtyZXR1cm4gdGhpc30sY2xvbmU6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gYT1udWxsPT1hPyExOmEsYj1udWxsPT1iP2E6Yix0aGlzLm1hcChmdW5jdGlvbigpe3JldHVybiBuLmNsb25lKHRoaXMsYSxiKX0pfSxodG1sOmZ1bmN0aW9uKGEpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSl7dmFyIGI9dGhpc1swXXx8e30sYz0wLGQ9dGhpcy5sZW5ndGg7aWYodm9pZCAwPT09YSYmMT09PWIubm9kZVR5cGUpcmV0dXJuIGIuaW5uZXJIVE1MO2lmKCJzdHJpbmciPT10eXBlb2YgYSYmIWxhLnRlc3QoYSkmJiEkWyhZLmV4ZWMoYSl8fFsiIiwiIl0pWzFdLnRvTG93ZXJDYXNlKCldKXthPW4uaHRtbFByZWZpbHRlcihhKTt0cnl7Zm9yKDtkPmM7YysrKWI9dGhpc1tjXXx8e30sMT09PWIubm9kZVR5cGUmJihuLmNsZWFuRGF0YShfKGIsITEpKSxiLmlubmVySFRNTD1hKTtiPTB9Y2F0Y2goZSl7fX1iJiZ0aGlzLmVtcHR5KCkuYXBwZW5kKGEpfSxudWxsLGEsYXJndW1lbnRzLmxlbmd0aCl9LHJlcGxhY2VXaXRoOmZ1bmN0aW9uKCl7dmFyIGE9W107cmV0dXJuIHVhKHRoaXMsYXJndW1lbnRzLGZ1bmN0aW9uKGIpe3ZhciBjPXRoaXMucGFyZW50Tm9kZTtuLmluQXJyYXkodGhpcyxhKTwwJiYobi5jbGVhbkRhdGEoXyh0aGlzKSksYyYmYy5yZXBsYWNlQ2hpbGQoYix0aGlzKSl9LGEpfX0pLG4uZWFjaCh7YXBwZW5kVG86ImFwcGVuZCIscHJlcGVuZFRvOiJwcmVwZW5kIixpbnNlcnRCZWZvcmU6ImJlZm9yZSIsaW5zZXJ0QWZ0ZXI6ImFmdGVyIixyZXBsYWNlQWxsOiJyZXBsYWNlV2l0aCJ9LGZ1bmN0aW9uKGEsYil7bi5mblthXT1mdW5jdGlvbihhKXtmb3IodmFyIGMsZD1bXSxlPW4oYSksZj1lLmxlbmd0aC0xLGg9MDtmPj1oO2grKyljPWg9PT1mP3RoaXM6dGhpcy5jbG9uZSghMCksbihlW2hdKVtiXShjKSxnLmFwcGx5KGQsYy5nZXQoKSk7cmV0dXJuIHRoaXMucHVzaFN0YWNrKGQpfX0pO3ZhciB3YSx4YT17SFRNTDoiYmxvY2siLEJPRFk6ImJsb2NrIn07ZnVuY3Rpb24geWEoYSxiKXt2YXIgYz1uKGIuY3JlYXRlRWxlbWVudChhKSkuYXBwZW5kVG8oYi5ib2R5KSxkPW4uY3NzKGNbMF0sImRpc3BsYXkiKTtyZXR1cm4gYy5kZXRhY2goKSxkfWZ1bmN0aW9uIHphKGEpe3ZhciBiPWQsYz14YVthXTtyZXR1cm4gY3x8KGM9eWEoYSxiKSwibm9uZSIhPT1jJiZjfHwod2E9KHdhfHxuKCI8aWZyYW1lIGZyYW1lYm9yZGVyPScwJyB3aWR0aD0nMCcgaGVpZ2h0PScwJy8+IikpLmFwcGVuZFRvKGIuZG9jdW1lbnRFbGVtZW50KSxiPXdhWzBdLmNvbnRlbnREb2N1bWVudCxiLndyaXRlKCksYi5jbG9zZSgpLGM9eWEoYSxiKSx3YS5kZXRhY2goKSkseGFbYV09YyksY312YXIgQWE9L15tYXJnaW4vLEJhPW5ldyBSZWdFeHAoIl4oIitTKyIpKD8hcHgpW2EteiVdKyQiLCJpIiksQ2E9ZnVuY3Rpb24oYil7dmFyIGM9Yi5vd25lckRvY3VtZW50LmRlZmF1bHRWaWV3O3JldHVybiBjJiZjLm9wZW5lcnx8KGM9YSksYy5nZXRDb21wdXRlZFN0eWxlKGIpfSxEYT1mdW5jdGlvbihhLGIsYyxkKXt2YXIgZSxmLGc9e307Zm9yKGYgaW4gYilnW2ZdPWEuc3R5bGVbZl0sYS5zdHlsZVtmXT1iW2ZdO2U9Yy5hcHBseShhLGR8fFtdKTtmb3IoZiBpbiBiKWEuc3R5bGVbZl09Z1tmXTtyZXR1cm4gZX0sRWE9ZC5kb2N1bWVudEVsZW1lbnQ7IWZ1bmN0aW9uKCl7dmFyIGIsYyxlLGYsZz1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLGg9ZC5jcmVhdGVFbGVtZW50KCJkaXYiKTtpZihoLnN0eWxlKXtoLnN0eWxlLmJhY2tncm91bmRDbGlwPSJjb250ZW50LWJveCIsaC5jbG9uZU5vZGUoITApLnN0eWxlLmJhY2tncm91bmRDbGlwPSIiLGwuY2xlYXJDbG9uZVN0eWxlPSJjb250ZW50LWJveCI9PT1oLnN0eWxlLmJhY2tncm91bmRDbGlwLGcuc3R5bGUuY3NzVGV4dD0iYm9yZGVyOjA7d2lkdGg6OHB4O2hlaWdodDowO3RvcDowO2xlZnQ6LTk5OTlweDtwYWRkaW5nOjA7bWFyZ2luLXRvcDoxcHg7cG9zaXRpb246YWJzb2x1dGUiLGcuYXBwZW5kQ2hpbGQoaCk7ZnVuY3Rpb24gaSgpe2guc3R5bGUuY3NzVGV4dD0iLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94O3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luOmF1dG87Ym9yZGVyOjFweDtwYWRkaW5nOjFweDt0b3A6MSU7d2lkdGg6NTAlIixoLmlubmVySFRNTD0iIixFYS5hcHBlbmRDaGlsZChnKTt2YXIgZD1hLmdldENvbXB1dGVkU3R5bGUoaCk7Yj0iMSUiIT09ZC50b3AsZj0iMnB4Ij09PWQubWFyZ2luTGVmdCxjPSI0cHgiPT09ZC53aWR0aCxoLnN0eWxlLm1hcmdpblJpZ2h0PSI1MCUiLGU9IjRweCI9PT1kLm1hcmdpblJpZ2h0LEVhLnJlbW92ZUNoaWxkKGcpfW4uZXh0ZW5kKGwse3BpeGVsUG9zaXRpb246ZnVuY3Rpb24oKXtyZXR1cm4gaSgpLGJ9LGJveFNpemluZ1JlbGlhYmxlOmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWMmJmkoKSxjfSxwaXhlbE1hcmdpblJpZ2h0OmZ1bmN0aW9uKCl7cmV0dXJuIG51bGw9PWMmJmkoKSxlfSxyZWxpYWJsZU1hcmdpbkxlZnQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnVsbD09YyYmaSgpLGZ9LHJlbGlhYmxlTWFyZ2luUmlnaHQ6ZnVuY3Rpb24oKXt2YXIgYixjPWguYXBwZW5kQ2hpbGQoZC5jcmVhdGVFbGVtZW50KCJkaXYiKSk7cmV0dXJuIGMuc3R5bGUuY3NzVGV4dD1oLnN0eWxlLmNzc1RleHQ9Ii13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94O2Rpc3BsYXk6YmxvY2s7bWFyZ2luOjA7Ym9yZGVyOjA7cGFkZGluZzowIixjLnN0eWxlLm1hcmdpblJpZ2h0PWMuc3R5bGUud2lkdGg9IjAiLGguc3R5bGUud2lkdGg9IjFweCIsRWEuYXBwZW5kQ2hpbGQoZyksYj0hcGFyc2VGbG9hdChhLmdldENvbXB1dGVkU3R5bGUoYykubWFyZ2luUmlnaHQpLEVhLnJlbW92ZUNoaWxkKGcpLGgucmVtb3ZlQ2hpbGQoYyksYn19KX19KCk7ZnVuY3Rpb24gRmEoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5zdHlsZTtyZXR1cm4gYz1jfHxDYShhKSxnPWM/Yy5nZXRQcm9wZXJ0eVZhbHVlKGIpfHxjW2JdOnZvaWQgMCwiIiE9PWcmJnZvaWQgMCE9PWd8fG4uY29udGFpbnMoYS5vd25lckRvY3VtZW50LGEpfHwoZz1uLnN0eWxlKGEsYikpLGMmJiFsLnBpeGVsTWFyZ2luUmlnaHQoKSYmQmEudGVzdChnKSYmQWEudGVzdChiKSYmKGQ9aC53aWR0aCxlPWgubWluV2lkdGgsZj1oLm1heFdpZHRoLGgubWluV2lkdGg9aC5tYXhXaWR0aD1oLndpZHRoPWcsZz1jLndpZHRoLGgud2lkdGg9ZCxoLm1pbldpZHRoPWUsaC5tYXhXaWR0aD1mKSx2b2lkIDAhPT1nP2crIiI6Z31mdW5jdGlvbiBHYShhLGIpe3JldHVybntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYSgpP3ZvaWQgZGVsZXRlIHRoaXMuZ2V0Oih0aGlzLmdldD1iKS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9fX12YXIgSGE9L14obm9uZXx0YWJsZSg/IS1jW2VhXSkuKykvLElhPXtwb3NpdGlvbjoiYWJzb2x1dGUiLHZpc2liaWxpdHk6ImhpZGRlbiIsZGlzcGxheToiYmxvY2sifSxKYT17bGV0dGVyU3BhY2luZzoiMCIsZm9udFdlaWdodDoiNDAwIn0sS2E9WyJXZWJraXQiLCJPIiwiTW96IiwibXMiXSxMYT1kLmNyZWF0ZUVsZW1lbnQoImRpdiIpLnN0eWxlO2Z1bmN0aW9uIE1hKGEpe2lmKGEgaW4gTGEpcmV0dXJuIGE7dmFyIGI9YVswXS50b1VwcGVyQ2FzZSgpK2Euc2xpY2UoMSksYz1LYS5sZW5ndGg7d2hpbGUoYy0tKWlmKGE9S2FbY10rYixhIGluIExhKXJldHVybiBhfWZ1bmN0aW9uIE5hKGEsYixjKXt2YXIgZD1ULmV4ZWMoYik7cmV0dXJuIGQ/TWF0aC5tYXgoMCxkWzJdLShjfHwwKSkrKGRbM118fCJweCIpOmJ9ZnVuY3Rpb24gT2EoYSxiLGMsZCxlKXtmb3IodmFyIGY9Yz09PShkPyJib3JkZXIiOiJjb250ZW50Iik/NDoid2lkdGgiPT09Yj8xOjAsZz0wOzQ+ZjtmKz0yKSJtYXJnaW4iPT09YyYmKGcrPW4uY3NzKGEsYytVW2ZdLCEwLGUpKSxkPygiY29udGVudCI9PT1jJiYoZy09bi5jc3MoYSwicGFkZGluZyIrVVtmXSwhMCxlKSksIm1hcmdpbiIhPT1jJiYoZy09bi5jc3MoYSwiYm9yZGVyIitVW2ZdKyJXaWR0aCIsITAsZSkpKTooZys9bi5jc3MoYSwicGFkZGluZyIrVVtmXSwhMCxlKSwicGFkZGluZyIhPT1jJiYoZys9bi5jc3MoYSwiYm9yZGVyIitVW2ZdKyJXaWR0aCIsITAsZSkpKTtyZXR1cm4gZ31mdW5jdGlvbiBQYShhLGIsYyl7dmFyIGQ9ITAsZT0id2lkdGgiPT09Yj9hLm9mZnNldFdpZHRoOmEub2Zmc2V0SGVpZ2h0LGY9Q2EoYSksZz0iYm9yZGVyLWJveCI9PT1uLmNzcyhhLCJib3hTaXppbmciLCExLGYpO2lmKDA+PWV8fG51bGw9PWUpe2lmKGU9RmEoYSxiLGYpLCgwPmV8fG51bGw9PWUpJiYoZT1hLnN0eWxlW2JdKSxCYS50ZXN0KGUpKXJldHVybiBlO2Q9ZyYmKGwuYm94U2l6aW5nUmVsaWFibGUoKXx8ZT09PWEuc3R5bGVbYl0pLGU9cGFyc2VGbG9hdChlKXx8MH1yZXR1cm4gZStPYShhLGIsY3x8KGc/ImJvcmRlciI6ImNvbnRlbnQiKSxkLGYpKyJweCJ9ZnVuY3Rpb24gUWEoYSxiKXtmb3IodmFyIGMsZCxlLGY9W10sZz0wLGg9YS5sZW5ndGg7aD5nO2crKylkPWFbZ10sZC5zdHlsZSYmKGZbZ109Ti5nZXQoZCwib2xkZGlzcGxheSIpLGM9ZC5zdHlsZS5kaXNwbGF5LGI/KGZbZ118fCJub25lIiE9PWN8fChkLnN0eWxlLmRpc3BsYXk9IiIpLCIiPT09ZC5zdHlsZS5kaXNwbGF5JiZWKGQpJiYoZltnXT1OLmFjY2VzcyhkLCJvbGRkaXNwbGF5Iix6YShkLm5vZGVOYW1lKSkpKTooZT1WKGQpLCJub25lIj09PWMmJmV8fE4uc2V0KGQsIm9sZGRpc3BsYXkiLGU/YzpuLmNzcyhkLCJkaXNwbGF5IikpKSk7Zm9yKGc9MDtoPmc7ZysrKWQ9YVtnXSxkLnN0eWxlJiYoYiYmIm5vbmUiIT09ZC5zdHlsZS5kaXNwbGF5JiYiIiE9PWQuc3R5bGUuZGlzcGxheXx8KGQuc3R5bGUuZGlzcGxheT1iP2ZbZ118fCIiOiJub25lIikpO3JldHVybiBhfW4uZXh0ZW5kKHtjc3NIb29rczp7b3BhY2l0eTp7Z2V0OmZ1bmN0aW9uKGEsYil7aWYoYil7dmFyIGM9RmEoYSwib3BhY2l0eSIpO3JldHVybiIiPT09Yz8iMSI6Y319fX0sY3NzTnVtYmVyOnthbmltYXRpb25JdGVyYXRpb25Db3VudDohMCxjb2x1bW5Db3VudDohMCxmaWxsT3BhY2l0eTohMCxmbGV4R3JvdzohMCxmbGV4U2hyaW5rOiEwLGZvbnRXZWlnaHQ6ITAsbGluZUhlaWdodDohMCxvcGFjaXR5OiEwLG9yZGVyOiEwLG9ycGhhbnM6ITAsd2lkb3dzOiEwLHpJbmRleDohMCx6b29tOiEwfSxjc3NQcm9wczp7ImZsb2F0IjoiY3NzRmxvYXQifSxzdHlsZTpmdW5jdGlvbihhLGIsYyxkKXtpZihhJiYzIT09YS5ub2RlVHlwZSYmOCE9PWEubm9kZVR5cGUmJmEuc3R5bGUpe3ZhciBlLGYsZyxoPW4uY2FtZWxDYXNlKGIpLGk9YS5zdHlsZTtyZXR1cm4gYj1uLmNzc1Byb3BzW2hdfHwobi5jc3NQcm9wc1toXT1NYShoKXx8aCksZz1uLmNzc0hvb2tzW2JdfHxuLmNzc0hvb2tzW2hdLHZvaWQgMD09PWM/ZyYmImdldCJpbiBnJiZ2b2lkIDAhPT0oZT1nLmdldChhLCExLGQpKT9lOmlbYl06KGY9dHlwZW9mIGMsInN0cmluZyI9PT1mJiYoZT1ULmV4ZWMoYykpJiZlWzFdJiYoYz1XKGEsYixlKSxmPSJudW1iZXIiKSxudWxsIT1jJiZjPT09YyYmKCJudW1iZXIiPT09ZiYmKGMrPWUmJmVbM118fChuLmNzc051bWJlcltoXT8iIjoicHgiKSksbC5jbGVhckNsb25lU3R5bGV8fCIiIT09Y3x8MCE9PWIuaW5kZXhPZigiYmFja2dyb3VuZCIpfHwoaVtiXT0iaW5oZXJpdCIpLGcmJiJzZXQiaW4gZyYmdm9pZCAwPT09KGM9Zy5zZXQoYSxjLGQpKXx8KGlbYl09YykpLHZvaWQgMCl9fSxjc3M6ZnVuY3Rpb24oYSxiLGMsZCl7dmFyIGUsZixnLGg9bi5jYW1lbENhc2UoYik7cmV0dXJuIGI9bi5jc3NQcm9wc1toXXx8KG4uY3NzUHJvcHNbaF09TWEoaCl8fGgpLGc9bi5jc3NIb29rc1tiXXx8bi5jc3NIb29rc1toXSxnJiYiZ2V0ImluIGcmJihlPWcuZ2V0KGEsITAsYykpLHZvaWQgMD09PWUmJihlPUZhKGEsYixkKSksIm5vcm1hbCI9PT1lJiZiIGluIEphJiYoZT1KYVtiXSksIiI9PT1jfHxjPyhmPXBhcnNlRmxvYXQoZSksYz09PSEwfHxpc0Zpbml0ZShmKT9mfHwwOmUpOmV9fSksbi5lYWNoKFsiaGVpZ2h0Iiwid2lkdGgiXSxmdW5jdGlvbihhLGIpe24uY3NzSG9va3NbYl09e2dldDpmdW5jdGlvbihhLGMsZCl7cmV0dXJuIGM/SGEudGVzdChuLmNzcyhhLCJkaXNwbGF5IikpJiYwPT09YS5vZmZzZXRXaWR0aD9EYShhLElhLGZ1bmN0aW9uKCl7cmV0dXJuIFBhKGEsYixkKX0pOlBhKGEsYixkKTp2b2lkIDB9LHNldDpmdW5jdGlvbihhLGMsZCl7dmFyIGUsZj1kJiZDYShhKSxnPWQmJk9hKGEsYixkLCJib3JkZXItYm94Ij09PW4uY3NzKGEsImJveFNpemluZyIsITEsZiksZik7cmV0dXJuIGcmJihlPVQuZXhlYyhjKSkmJiJweCIhPT0oZVszXXx8InB4IikmJihhLnN0eWxlW2JdPWMsYz1uLmNzcyhhLGIpKSxOYShhLGMsZyl9fX0pLG4uY3NzSG9va3MubWFyZ2luTGVmdD1HYShsLnJlbGlhYmxlTWFyZ2luTGVmdCxmdW5jdGlvbihhLGIpe3JldHVybiBiPyhwYXJzZUZsb2F0KEZhKGEsIm1hcmdpbkxlZnQiKSl8fGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdC1EYShhLHttYXJnaW5MZWZ0OjB9LGZ1bmN0aW9uKCl7cmV0dXJuIGEuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkubGVmdH0pKSsicHgiOnZvaWQgMH0pLG4uY3NzSG9va3MubWFyZ2luUmlnaHQ9R2EobC5yZWxpYWJsZU1hcmdpblJpZ2h0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/RGEoYSx7ZGlzcGxheToiaW5saW5lLWJsb2NrIn0sRmEsW2EsIm1hcmdpblJpZ2h0Il0pOnZvaWQgMH0pLG4uZWFjaCh7bWFyZ2luOiIiLHBhZGRpbmc6IiIsYm9yZGVyOiJXaWR0aCJ9LGZ1bmN0aW9uKGEsYil7bi5jc3NIb29rc1thK2JdPXtleHBhbmQ6ZnVuY3Rpb24oYyl7Zm9yKHZhciBkPTAsZT17fSxmPSJzdHJpbmciPT10eXBlb2YgYz9jLnNwbGl0KCIgIik6W2NdOzQ+ZDtkKyspZVthK1VbZF0rYl09ZltkXXx8ZltkLTJdfHxmWzBdO3JldHVybiBlfX0sQWEudGVzdChhKXx8KG4uY3NzSG9va3NbYStiXS5zZXQ9TmEpfSksbi5mbi5leHRlbmQoe2NzczpmdW5jdGlvbihhLGIpe3JldHVybiBLKHRoaXMsZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj17fSxnPTA7aWYobi5pc0FycmF5KGIpKXtmb3IoZD1DYShhKSxlPWIubGVuZ3RoO2U+ZztnKyspZltiW2ddXT1uLmNzcyhhLGJbZ10sITEsZCk7cmV0dXJuIGZ9cmV0dXJuIHZvaWQgMCE9PWM/bi5zdHlsZShhLGIsYyk6bi5jc3MoYSxiKX0sYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHNob3c6ZnVuY3Rpb24oKXtyZXR1cm4gUWEodGhpcywhMCl9LGhpZGU6ZnVuY3Rpb24oKXtyZXR1cm4gUWEodGhpcyl9LHRvZ2dsZTpmdW5jdGlvbihhKXtyZXR1cm4iYm9vbGVhbiI9PXR5cGVvZiBhP2E/dGhpcy5zaG93KCk6dGhpcy5oaWRlKCk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7Vih0aGlzKT9uKHRoaXMpLnNob3coKTpuKHRoaXMpLmhpZGUoKX0pfX0pO2Z1bmN0aW9uIFJhKGEsYixjLGQsZSl7cmV0dXJuIG5ldyBSYS5wcm90b3R5cGUuaW5pdChhLGIsYyxkLGUpfW4uVHdlZW49UmEsUmEucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpSYSxpbml0OmZ1bmN0aW9uKGEsYixjLGQsZSxmKXt0aGlzLmVsZW09YSx0aGlzLnByb3A9Yyx0aGlzLmVhc2luZz1lfHxuLmVhc2luZy5fZGVmYXVsdCx0aGlzLm9wdGlvbnM9Yix0aGlzLnN0YXJ0PXRoaXMubm93PXRoaXMuY3VyKCksdGhpcy5lbmQ9ZCx0aGlzLnVuaXQ9Znx8KG4uY3NzTnVtYmVyW2NdPyIiOiJweCIpfSxjdXI6ZnVuY3Rpb24oKXt2YXIgYT1SYS5wcm9wSG9va3NbdGhpcy5wcm9wXTtyZXR1cm4gYSYmYS5nZXQ/YS5nZXQodGhpcyk6UmEucHJvcEhvb2tzLl9kZWZhdWx0LmdldCh0aGlzKX0scnVuOmZ1bmN0aW9uKGEpe3ZhciBiLGM9UmEucHJvcEhvb2tzW3RoaXMucHJvcF07cmV0dXJuIHRoaXMub3B0aW9ucy5kdXJhdGlvbj90aGlzLnBvcz1iPW4uZWFzaW5nW3RoaXMuZWFzaW5nXShhLHRoaXMub3B0aW9ucy5kdXJhdGlvbiphLDAsMSx0aGlzLm9wdGlvbnMuZHVyYXRpb24pOnRoaXMucG9zPWI9YSx0aGlzLm5vdz0odGhpcy5lbmQtdGhpcy5zdGFydCkqYit0aGlzLnN0YXJ0LHRoaXMub3B0aW9ucy5zdGVwJiZ0aGlzLm9wdGlvbnMuc3RlcC5jYWxsKHRoaXMuZWxlbSx0aGlzLm5vdyx0aGlzKSxjJiZjLnNldD9jLnNldCh0aGlzKTpSYS5wcm9wSG9va3MuX2RlZmF1bHQuc2V0KHRoaXMpLHRoaXN9fSxSYS5wcm90b3R5cGUuaW5pdC5wcm90b3R5cGU9UmEucHJvdG90eXBlLFJhLnByb3BIb29rcz17X2RlZmF1bHQ6e2dldDpmdW5jdGlvbihhKXt2YXIgYjtyZXR1cm4gMSE9PWEuZWxlbS5ub2RlVHlwZXx8bnVsbCE9YS5lbGVtW2EucHJvcF0mJm51bGw9PWEuZWxlbS5zdHlsZVthLnByb3BdP2EuZWxlbVthLnByb3BdOihiPW4uY3NzKGEuZWxlbSxhLnByb3AsIiIpLGImJiJhdXRvIiE9PWI/YjowKX0sc2V0OmZ1bmN0aW9uKGEpe24uZnguc3RlcFthLnByb3BdP24uZnguc3RlcFthLnByb3BdKGEpOjEhPT1hLmVsZW0ubm9kZVR5cGV8fG51bGw9PWEuZWxlbS5zdHlsZVtuLmNzc1Byb3BzW2EucHJvcF1dJiYhbi5jc3NIb29rc1thLnByb3BdP2EuZWxlbVthLnByb3BdPWEubm93Om4uc3R5bGUoYS5lbGVtLGEucHJvcCxhLm5vdythLnVuaXQpfX19LFJhLnByb3BIb29rcy5zY3JvbGxUb3A9UmEucHJvcEhvb2tzLnNjcm9sbExlZnQ9e3NldDpmdW5jdGlvbihhKXthLmVsZW0ubm9kZVR5cGUmJmEuZWxlbS5wYXJlbnROb2RlJiYoYS5lbGVtW2EucHJvcF09YS5ub3cpfX0sbi5lYXNpbmc9e2xpbmVhcjpmdW5jdGlvbihhKXtyZXR1cm4gYX0sc3dpbmc6ZnVuY3Rpb24oYSl7cmV0dXJuLjUtTWF0aC5jb3MoYSpNYXRoLlBJKS8yfSxfZGVmYXVsdDoic3dpbmcifSxuLmZ4PVJhLnByb3RvdHlwZS5pbml0LG4uZnguc3RlcD17fTt2YXIgU2EsVGEsVWE9L14oPzp0b2dnbGV8c2hvd3xoaWRlKSQvLFZhPS9xdWV1ZUhvb2tzJC87ZnVuY3Rpb24gV2EoKXtyZXR1cm4gYS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7U2E9dm9pZCAwfSksU2E9bi5ub3coKX1mdW5jdGlvbiBYYShhLGIpe3ZhciBjLGQ9MCxlPXtoZWlnaHQ6YX07Zm9yKGI9Yj8xOjA7ND5kO2QrPTItYiljPVVbZF0sZVsibWFyZ2luIitjXT1lWyJwYWRkaW5nIitjXT1hO3JldHVybiBiJiYoZS5vcGFjaXR5PWUud2lkdGg9YSksZX1mdW5jdGlvbiBZYShhLGIsYyl7Zm9yKHZhciBkLGU9KF9hLnR3ZWVuZXJzW2JdfHxbXSkuY29uY2F0KF9hLnR3ZWVuZXJzWyIqIl0pLGY9MCxnPWUubGVuZ3RoO2c+ZjtmKyspaWYoZD1lW2ZdLmNhbGwoYyxiLGEpKXJldHVybiBkfWZ1bmN0aW9uIFphKGEsYixjKXt2YXIgZCxlLGYsZyxoLGksaixrLGw9dGhpcyxtPXt9LG89YS5zdHlsZSxwPWEubm9kZVR5cGUmJlYoYSkscT1OLmdldChhLCJmeHNob3ciKTtjLnF1ZXVlfHwoaD1uLl9xdWV1ZUhvb2tzKGEsImZ4IiksbnVsbD09aC51bnF1ZXVlZCYmKGgudW5xdWV1ZWQ9MCxpPWguZW1wdHkuZmlyZSxoLmVtcHR5LmZpcmU9ZnVuY3Rpb24oKXtoLnVucXVldWVkfHxpKCl9KSxoLnVucXVldWVkKyssbC5hbHdheXMoZnVuY3Rpb24oKXtsLmFsd2F5cyhmdW5jdGlvbigpe2gudW5xdWV1ZWQtLSxuLnF1ZXVlKGEsImZ4IikubGVuZ3RofHxoLmVtcHR5LmZpcmUoKX0pfSkpLDE9PT1hLm5vZGVUeXBlJiYoImhlaWdodCJpbiBifHwid2lkdGgiaW4gYikmJihjLm92ZXJmbG93PVtvLm92ZXJmbG93LG8ub3ZlcmZsb3dYLG8ub3ZlcmZsb3dZXSxqPW4uY3NzKGEsImRpc3BsYXkiKSxrPSJub25lIj09PWo/Ti5nZXQoYSwib2xkZGlzcGxheSIpfHx6YShhLm5vZGVOYW1lKTpqLCJpbmxpbmUiPT09ayYmIm5vbmUiPT09bi5jc3MoYSwiZmxvYXQiKSYmKG8uZGlzcGxheT0iaW5saW5lLWJsb2NrIikpLGMub3ZlcmZsb3cmJihvLm92ZXJmbG93PSJoaWRkZW4iLGwuYWx3YXlzKGZ1bmN0aW9uKCl7by5vdmVyZmxvdz1jLm92ZXJmbG93WzBdLG8ub3ZlcmZsb3dYPWMub3ZlcmZsb3dbMV0sby5vdmVyZmxvd1k9Yy5vdmVyZmxvd1syXX0pKTtmb3IoZCBpbiBiKWlmKGU9YltkXSxVYS5leGVjKGUpKXtpZihkZWxldGUgYltkXSxmPWZ8fCJ0b2dnbGUiPT09ZSxlPT09KHA/ImhpZGUiOiJzaG93Iikpe2lmKCJzaG93IiE9PWV8fCFxfHx2b2lkIDA9PT1xW2RdKWNvbnRpbnVlO3A9ITB9bVtkXT1xJiZxW2RdfHxuLnN0eWxlKGEsZCl9ZWxzZSBqPXZvaWQgMDtpZihuLmlzRW1wdHlPYmplY3QobSkpImlubGluZSI9PT0oIm5vbmUiPT09aj96YShhLm5vZGVOYW1lKTpqKSYmKG8uZGlzcGxheT1qKTtlbHNle3E/ImhpZGRlbiJpbiBxJiYocD1xLmhpZGRlbik6cT1OLmFjY2VzcyhhLCJmeHNob3ciLHt9KSxmJiYocS5oaWRkZW49IXApLHA/bihhKS5zaG93KCk6bC5kb25lKGZ1bmN0aW9uKCl7bihhKS5oaWRlKCl9KSxsLmRvbmUoZnVuY3Rpb24oKXt2YXIgYjtOLnJlbW92ZShhLCJmeHNob3ciKTtmb3IoYiBpbiBtKW4uc3R5bGUoYSxiLG1bYl0pfSk7Zm9yKGQgaW4gbSlnPVlhKHA/cVtkXTowLGQsbCksZCBpbiBxfHwocVtkXT1nLnN0YXJ0LHAmJihnLmVuZD1nLnN0YXJ0LGcuc3RhcnQ9IndpZHRoIj09PWR8fCJoZWlnaHQiPT09ZD8xOjApKX19ZnVuY3Rpb24gJGEoYSxiKXt2YXIgYyxkLGUsZixnO2ZvcihjIGluIGEpaWYoZD1uLmNhbWVsQ2FzZShjKSxlPWJbZF0sZj1hW2NdLG4uaXNBcnJheShmKSYmKGU9ZlsxXSxmPWFbY109ZlswXSksYyE9PWQmJihhW2RdPWYsZGVsZXRlIGFbY10pLGc9bi5jc3NIb29rc1tkXSxnJiYiZXhwYW5kImluIGcpe2Y9Zy5leHBhbmQoZiksZGVsZXRlIGFbZF07Zm9yKGMgaW4gZiljIGluIGF8fChhW2NdPWZbY10sYltjXT1lKX1lbHNlIGJbZF09ZX1mdW5jdGlvbiBfYShhLGIsYyl7dmFyIGQsZSxmPTAsZz1fYS5wcmVmaWx0ZXJzLmxlbmd0aCxoPW4uRGVmZXJyZWQoKS5hbHdheXMoZnVuY3Rpb24oKXtkZWxldGUgaS5lbGVtfSksaT1mdW5jdGlvbigpe2lmKGUpcmV0dXJuITE7Zm9yKHZhciBiPVNhfHxXYSgpLGM9TWF0aC5tYXgoMCxqLnN0YXJ0VGltZStqLmR1cmF0aW9uLWIpLGQ9Yy9qLmR1cmF0aW9ufHwwLGY9MS1kLGc9MCxpPWoudHdlZW5zLmxlbmd0aDtpPmc7ZysrKWoudHdlZW5zW2ddLnJ1bihmKTtyZXR1cm4gaC5ub3RpZnlXaXRoKGEsW2osZixjXSksMT5mJiZpP2M6KGgucmVzb2x2ZVdpdGgoYSxbal0pLCExKX0saj1oLnByb21pc2Uoe2VsZW06YSxwcm9wczpuLmV4dGVuZCh7fSxiKSxvcHRzOm4uZXh0ZW5kKCEwLHtzcGVjaWFsRWFzaW5nOnt9LGVhc2luZzpuLmVhc2luZy5fZGVmYXVsdH0sYyksb3JpZ2luYWxQcm9wZXJ0aWVzOmIsb3JpZ2luYWxPcHRpb25zOmMsc3RhcnRUaW1lOlNhfHxXYSgpLGR1cmF0aW9uOmMuZHVyYXRpb24sdHdlZW5zOltdLGNyZWF0ZVR3ZWVuOmZ1bmN0aW9uKGIsYyl7dmFyIGQ9bi5Ud2VlbihhLGoub3B0cyxiLGMsai5vcHRzLnNwZWNpYWxFYXNpbmdbYl18fGoub3B0cy5lYXNpbmcpO3JldHVybiBqLnR3ZWVucy5wdXNoKGQpLGR9LHN0b3A6ZnVuY3Rpb24oYil7dmFyIGM9MCxkPWI/ai50d2VlbnMubGVuZ3RoOjA7aWYoZSlyZXR1cm4gdGhpcztmb3IoZT0hMDtkPmM7YysrKWoudHdlZW5zW2NdLnJ1bigxKTtyZXR1cm4gYj8oaC5ub3RpZnlXaXRoKGEsW2osMSwwXSksaC5yZXNvbHZlV2l0aChhLFtqLGJdKSk6aC5yZWplY3RXaXRoKGEsW2osYl0pLHRoaXN9fSksaz1qLnByb3BzO2ZvcigkYShrLGoub3B0cy5zcGVjaWFsRWFzaW5nKTtnPmY7ZisrKWlmKGQ9X2EucHJlZmlsdGVyc1tmXS5jYWxsKGosYSxrLGoub3B0cykpcmV0dXJuIG4uaXNGdW5jdGlvbihkLnN0b3ApJiYobi5fcXVldWVIb29rcyhqLmVsZW0sai5vcHRzLnF1ZXVlKS5zdG9wPW4ucHJveHkoZC5zdG9wLGQpKSxkO3JldHVybiBuLm1hcChrLFlhLGopLG4uaXNGdW5jdGlvbihqLm9wdHMuc3RhcnQpJiZqLm9wdHMuc3RhcnQuY2FsbChhLGopLG4uZngudGltZXIobi5leHRlbmQoaSx7ZWxlbTphLGFuaW06aixxdWV1ZTpqLm9wdHMucXVldWV9KSksai5wcm9ncmVzcyhqLm9wdHMucHJvZ3Jlc3MpLmRvbmUoai5vcHRzLmRvbmUsai5vcHRzLmNvbXBsZXRlKS5mYWlsKGoub3B0cy5mYWlsKS5hbHdheXMoai5vcHRzLmFsd2F5cyl9bi5BbmltYXRpb249bi5leHRlbmQoX2Ese3R3ZWVuZXJzOnsiKiI6W2Z1bmN0aW9uKGEsYil7dmFyIGM9dGhpcy5jcmVhdGVUd2VlbihhLGIpO3JldHVybiBXKGMuZWxlbSxhLFQuZXhlYyhiKSxjKSxjfV19LHR3ZWVuZXI6ZnVuY3Rpb24oYSxiKXtuLmlzRnVuY3Rpb24oYSk/KGI9YSxhPVsiKiJdKTphPWEubWF0Y2goRyk7Zm9yKHZhciBjLGQ9MCxlPWEubGVuZ3RoO2U+ZDtkKyspYz1hW2RdLF9hLnR3ZWVuZXJzW2NdPV9hLnR3ZWVuZXJzW2NdfHxbXSxfYS50d2VlbmVyc1tjXS51bnNoaWZ0KGIpfSxwcmVmaWx0ZXJzOltaYV0scHJlZmlsdGVyOmZ1bmN0aW9uKGEsYil7Yj9fYS5wcmVmaWx0ZXJzLnVuc2hpZnQoYSk6X2EucHJlZmlsdGVycy5wdXNoKGEpfX0pLG4uc3BlZWQ9ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPWEmJiJvYmplY3QiPT10eXBlb2YgYT9uLmV4dGVuZCh7fSxhKTp7Y29tcGxldGU6Y3x8IWMmJmJ8fG4uaXNGdW5jdGlvbihhKSYmYSxkdXJhdGlvbjphLGVhc2luZzpjJiZifHxiJiYhbi5pc0Z1bmN0aW9uKGIpJiZifTtyZXR1cm4gZC5kdXJhdGlvbj1uLmZ4Lm9mZj8wOiJudW1iZXIiPT10eXBlb2YgZC5kdXJhdGlvbj9kLmR1cmF0aW9uOmQuZHVyYXRpb24gaW4gbi5meC5zcGVlZHM/bi5meC5zcGVlZHNbZC5kdXJhdGlvbl06bi5meC5zcGVlZHMuX2RlZmF1bHQsbnVsbCE9ZC5xdWV1ZSYmZC5xdWV1ZSE9PSEwfHwoZC5xdWV1ZT0iZngiKSxkLm9sZD1kLmNvbXBsZXRlLGQuY29tcGxldGU9ZnVuY3Rpb24oKXtuLmlzRnVuY3Rpb24oZC5vbGQpJiZkLm9sZC5jYWxsKHRoaXMpLGQucXVldWUmJm4uZGVxdWV1ZSh0aGlzLGQucXVldWUpfSxkfSxuLmZuLmV4dGVuZCh7ZmFkZVRvOmZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB0aGlzLmZpbHRlcihWKS5jc3MoIm9wYWNpdHkiLDApLnNob3coKS5lbmQoKS5hbmltYXRlKHtvcGFjaXR5OmJ9LGEsYyxkKX0sYW5pbWF0ZTpmdW5jdGlvbihhLGIsYyxkKXt2YXIgZT1uLmlzRW1wdHlPYmplY3QoYSksZj1uLnNwZWVkKGIsYyxkKSxnPWZ1bmN0aW9uKCl7dmFyIGI9X2EodGhpcyxuLmV4dGVuZCh7fSxhKSxmKTsoZXx8Ti5nZXQodGhpcywiZmluaXNoIikpJiZiLnN0b3AoITApfTtyZXR1cm4gZy5maW5pc2g9ZyxlfHxmLnF1ZXVlPT09ITE/dGhpcy5lYWNoKGcpOnRoaXMucXVldWUoZi5xdWV1ZSxnKX0sc3RvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQ9ZnVuY3Rpb24oYSl7dmFyIGI9YS5zdG9wO2RlbGV0ZSBhLnN0b3AsYihjKX07cmV0dXJuInN0cmluZyIhPXR5cGVvZiBhJiYoYz1iLGI9YSxhPXZvaWQgMCksYiYmYSE9PSExJiZ0aGlzLnF1ZXVlKGF8fCJmeCIsW10pLHRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPSEwLGU9bnVsbCE9YSYmYSsicXVldWVIb29rcyIsZj1uLnRpbWVycyxnPU4uZ2V0KHRoaXMpO2lmKGUpZ1tlXSYmZ1tlXS5zdG9wJiZkKGdbZV0pO2Vsc2UgZm9yKGUgaW4gZylnW2VdJiZnW2VdLnN0b3AmJlZhLnRlc3QoZSkmJmQoZ1tlXSk7Zm9yKGU9Zi5sZW5ndGg7ZS0tOylmW2VdLmVsZW0hPT10aGlzfHxudWxsIT1hJiZmW2VdLnF1ZXVlIT09YXx8KGZbZV0uYW5pbS5zdG9wKGMpLGI9ITEsZi5zcGxpY2UoZSwxKSk7IWImJmN8fG4uZGVxdWV1ZSh0aGlzLGEpfSl9LGZpbmlzaDpmdW5jdGlvbihhKXtyZXR1cm4gYSE9PSExJiYoYT1hfHwiZngiKSx0aGlzLmVhY2goZnVuY3Rpb24oKXt2YXIgYixjPU4uZ2V0KHRoaXMpLGQ9Y1thKyJxdWV1ZSJdLGU9Y1thKyJxdWV1ZUhvb2tzIl0sZj1uLnRpbWVycyxnPWQ/ZC5sZW5ndGg6MDtmb3IoYy5maW5pc2g9ITAsbi5xdWV1ZSh0aGlzLGEsW10pLGUmJmUuc3RvcCYmZS5zdG9wLmNhbGwodGhpcywhMCksYj1mLmxlbmd0aDtiLS07KWZbYl0uZWxlbT09PXRoaXMmJmZbYl0ucXVldWU9PT1hJiYoZltiXS5hbmltLnN0b3AoITApLGYuc3BsaWNlKGIsMSkpO2ZvcihiPTA7Zz5iO2IrKylkW2JdJiZkW2JdLmZpbmlzaCYmZFtiXS5maW5pc2guY2FsbCh0aGlzKTtkZWxldGUgYy5maW5pc2h9KX19KSxuLmVhY2goWyJ0b2dnbGUiLCJzaG93IiwiaGlkZSJdLGZ1bmN0aW9uKGEsYil7dmFyIGM9bi5mbltiXTtuLmZuW2JdPWZ1bmN0aW9uKGEsZCxlKXtyZXR1cm4gbnVsbD09YXx8ImJvb2xlYW4iPT10eXBlb2YgYT9jLmFwcGx5KHRoaXMsYXJndW1lbnRzKTp0aGlzLmFuaW1hdGUoWGEoYiwhMCksYSxkLGUpfX0pLG4uZWFjaCh7c2xpZGVEb3duOlhhKCJzaG93Iiksc2xpZGVVcDpYYSgiaGlkZSIpLHNsaWRlVG9nZ2xlOlhhKCJ0b2dnbGUiKSxmYWRlSW46e29wYWNpdHk6InNob3cifSxmYWRlT3V0OntvcGFjaXR5OiJoaWRlIn0sZmFkZVRvZ2dsZTp7b3BhY2l0eToidG9nZ2xlIn19LGZ1bmN0aW9uKGEsYil7bi5mblthXT1mdW5jdGlvbihhLGMsZCl7cmV0dXJuIHRoaXMuYW5pbWF0ZShiLGEsYyxkKX19KSxuLnRpbWVycz1bXSxuLmZ4LnRpY2s9ZnVuY3Rpb24oKXt2YXIgYSxiPTAsYz1uLnRpbWVycztmb3IoU2E9bi5ub3coKTtiPGMubGVuZ3RoO2IrKylhPWNbYl0sYSgpfHxjW2JdIT09YXx8Yy5zcGxpY2UoYi0tLDEpO2MubGVuZ3RofHxuLmZ4LnN0b3AoKSxTYT12b2lkIDB9LG4uZngudGltZXI9ZnVuY3Rpb24oYSl7bi50aW1lcnMucHVzaChhKSxhKCk/bi5meC5zdGFydCgpOm4udGltZXJzLnBvcCgpfSxuLmZ4LmludGVydmFsPTEzLG4uZnguc3RhcnQ9ZnVuY3Rpb24oKXtUYXx8KFRhPWEuc2V0SW50ZXJ2YWwobi5meC50aWNrLG4uZnguaW50ZXJ2YWwpKX0sbi5meC5zdG9wPWZ1bmN0aW9uKCl7YS5jbGVhckludGVydmFsKFRhKSxUYT1udWxsfSxuLmZ4LnNwZWVkcz17c2xvdzo2MDAsZmFzdDoyMDAsX2RlZmF1bHQ6NDAwfSxuLmZuLmRlbGF5PWZ1bmN0aW9uKGIsYyl7cmV0dXJuIGI9bi5meD9uLmZ4LnNwZWVkc1tiXXx8YjpiLGM9Y3x8ImZ4Iix0aGlzLnF1ZXVlKGMsZnVuY3Rpb24oYyxkKXt2YXIgZT1hLnNldFRpbWVvdXQoYyxiKTtkLnN0b3A9ZnVuY3Rpb24oKXthLmNsZWFyVGltZW91dChlKX19KX0sZnVuY3Rpb24oKXt2YXIgYT1kLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksYj1kLmNyZWF0ZUVsZW1lbnQoInNlbGVjdCIpLGM9Yi5hcHBlbmRDaGlsZChkLmNyZWF0ZUVsZW1lbnQoIm9wdGlvbiIpKTthLnR5cGU9ImNoZWNrYm94IixsLmNoZWNrT249IiIhPT1hLnZhbHVlLGwub3B0U2VsZWN0ZWQ9Yy5zZWxlY3RlZCxiLmRpc2FibGVkPSEwLGwub3B0RGlzYWJsZWQ9IWMuZGlzYWJsZWQsYT1kLmNyZWF0ZUVsZW1lbnQoImlucHV0IiksYS52YWx1ZT0idCIsYS50eXBlPSJyYWRpbyIsbC5yYWRpb1ZhbHVlPSJ0Ij09PWEudmFsdWV9KCk7dmFyIGFiLGJiPW4uZXhwci5hdHRySGFuZGxlO24uZm4uZXh0ZW5kKHthdHRyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIEsodGhpcyxuLmF0dHIsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZUF0dHI6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe24ucmVtb3ZlQXR0cih0aGlzLGEpfSl9fSksbi5leHRlbmQoe2F0dHI6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkLGUsZj1hLm5vZGVUeXBlO2lmKDMhPT1mJiY4IT09ZiYmMiE9PWYpcmV0dXJuInVuZGVmaW5lZCI9PXR5cGVvZiBhLmdldEF0dHJpYnV0ZT9uLnByb3AoYSxiLGMpOigxPT09ZiYmbi5pc1hNTERvYyhhKXx8KGI9Yi50b0xvd2VyQ2FzZSgpLGU9bi5hdHRySG9va3NbYl18fChuLmV4cHIubWF0Y2guYm9vbC50ZXN0KGIpP2FiOnZvaWQgMCkpLHZvaWQgMCE9PWM/bnVsbD09PWM/dm9pZCBuLnJlbW92ZUF0dHIoYSxiKTplJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDooYS5zZXRBdHRyaWJ1dGUoYixjKyIiKSxjKTplJiYiZ2V0ImluIGUmJm51bGwhPT0oZD1lLmdldChhLGIpKT9kOihkPW4uZmluZC5hdHRyKGEsYiksbnVsbD09ZD92b2lkIDA6ZCkpfSxhdHRySG9va3M6e3R5cGU6e3NldDpmdW5jdGlvbihhLGIpe2lmKCFsLnJhZGlvVmFsdWUmJiJyYWRpbyI9PT1iJiZuLm5vZGVOYW1lKGEsImlucHV0Iikpe3ZhciBjPWEudmFsdWU7cmV0dXJuIGEuc2V0QXR0cmlidXRlKCJ0eXBlIixiKSxjJiYoYS52YWx1ZT1jKSxifX19fSxyZW1vdmVBdHRyOmZ1bmN0aW9uKGEsYil7dmFyIGMsZCxlPTAsZj1iJiZiLm1hdGNoKEcpO2lmKGYmJjE9PT1hLm5vZGVUeXBlKXdoaWxlKGM9ZltlKytdKWQ9bi5wcm9wRml4W2NdfHxjLG4uZXhwci5tYXRjaC5ib29sLnRlc3QoYykmJihhW2RdPSExKSxhLnJlbW92ZUF0dHJpYnV0ZShjKX19KSxhYj17c2V0OmZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYj09PSExP24ucmVtb3ZlQXR0cihhLGMpOmEuc2V0QXR0cmlidXRlKGMsYyksY319LG4uZWFjaChuLmV4cHIubWF0Y2guYm9vbC5zb3VyY2UubWF0Y2goL1x3Ky9nKSxmdW5jdGlvbihhLGIpe3ZhciBjPWJiW2JdfHxuLmZpbmQuYXR0cjtiYltiXT1mdW5jdGlvbihhLGIsZCl7dmFyIGUsZjtyZXR1cm4gZHx8KGY9YmJbYl0sYmJbYl09ZSxlPW51bGwhPWMoYSxiLGQpP2IudG9Mb3dlckNhc2UoKTpudWxsLGJiW2JdPWYpLGV9fSk7dmFyIGNiPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGJ1dHRvbikkL2ksZGI9L14oPzphfGFyZWEpJC9pO24uZm4uZXh0ZW5kKHtwcm9wOmZ1bmN0aW9uKGEsYil7cmV0dXJuIEsodGhpcyxuLnByb3AsYSxiLGFyZ3VtZW50cy5sZW5ndGg+MSl9LHJlbW92ZVByb3A6ZnVuY3Rpb24oYSl7cmV0dXJuIHRoaXMuZWFjaChmdW5jdGlvbigpe2RlbGV0ZSB0aGlzW24ucHJvcEZpeFthXXx8YV19KX19KSxuLmV4dGVuZCh7cHJvcDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmPWEubm9kZVR5cGU7aWYoMyE9PWYmJjghPT1mJiYyIT09ZilyZXR1cm4gMT09PWYmJm4uaXNYTUxEb2MoYSl8fChiPW4ucHJvcEZpeFtiXXx8YixlPW4ucHJvcEhvb2tzW2JdKSwKdm9pZCAwIT09Yz9lJiYic2V0ImluIGUmJnZvaWQgMCE9PShkPWUuc2V0KGEsYyxiKSk/ZDphW2JdPWM6ZSYmImdldCJpbiBlJiZudWxsIT09KGQ9ZS5nZXQoYSxiKSk/ZDphW2JdfSxwcm9wSG9va3M6e3RhYkluZGV4OntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bi5maW5kLmF0dHIoYSwidGFiaW5kZXgiKTtyZXR1cm4gYj9wYXJzZUludChiLDEwKTpjYi50ZXN0KGEubm9kZU5hbWUpfHxkYi50ZXN0KGEubm9kZU5hbWUpJiZhLmhyZWY/MDotMX19fSxwcm9wRml4OnsiZm9yIjoiaHRtbEZvciIsImNsYXNzIjoiY2xhc3NOYW1lIn19KSxsLm9wdFNlbGVjdGVkfHwobi5wcm9wSG9va3Muc2VsZWN0ZWQ9e2dldDpmdW5jdGlvbihhKXt2YXIgYj1hLnBhcmVudE5vZGU7cmV0dXJuIGImJmIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgsbnVsbH0sc2V0OmZ1bmN0aW9uKGEpe3ZhciBiPWEucGFyZW50Tm9kZTtiJiYoYi5zZWxlY3RlZEluZGV4LGIucGFyZW50Tm9kZSYmYi5wYXJlbnROb2RlLnNlbGVjdGVkSW5kZXgpfX0pLG4uZWFjaChbInRhYkluZGV4IiwicmVhZE9ubHkiLCJtYXhMZW5ndGgiLCJjZWxsU3BhY2luZyIsImNlbGxQYWRkaW5nIiwicm93U3BhbiIsImNvbFNwYW4iLCJ1c2VNYXAiLCJmcmFtZUJvcmRlciIsImNvbnRlbnRFZGl0YWJsZSJdLGZ1bmN0aW9uKCl7bi5wcm9wRml4W3RoaXMudG9Mb3dlckNhc2UoKV09dGhpc30pO3ZhciBlYj0vW1x0XHJcblxmXS9nO2Z1bmN0aW9uIGZiKGEpe3JldHVybiBhLmdldEF0dHJpYnV0ZSYmYS5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIifW4uZm4uZXh0ZW5kKHthZGRDbGFzczpmdW5jdGlvbihhKXt2YXIgYixjLGQsZSxmLGcsaCxpPTA7aWYobi5pc0Z1bmN0aW9uKGEpKXJldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYil7bih0aGlzKS5hZGRDbGFzcyhhLmNhbGwodGhpcyxiLGZiKHRoaXMpKSl9KTtpZigic3RyaW5nIj09dHlwZW9mIGEmJmEpe2I9YS5tYXRjaChHKXx8W107d2hpbGUoYz10aGlzW2krK10paWYoZT1mYihjKSxkPTE9PT1jLm5vZGVUeXBlJiYoIiAiK2UrIiAiKS5yZXBsYWNlKGViLCIgIikpe2c9MDt3aGlsZShmPWJbZysrXSlkLmluZGV4T2YoIiAiK2YrIiAiKTwwJiYoZCs9ZisiICIpO2g9bi50cmltKGQpLGUhPT1oJiZjLnNldEF0dHJpYnV0ZSgiY2xhc3MiLGgpfX1yZXR1cm4gdGhpc30scmVtb3ZlQ2xhc3M6ZnVuY3Rpb24oYSl7dmFyIGIsYyxkLGUsZixnLGgsaT0wO2lmKG4uaXNGdW5jdGlvbihhKSlyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykucmVtb3ZlQ2xhc3MoYS5jYWxsKHRoaXMsYixmYih0aGlzKSkpfSk7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIHRoaXMuYXR0cigiY2xhc3MiLCIiKTtpZigic3RyaW5nIj09dHlwZW9mIGEmJmEpe2I9YS5tYXRjaChHKXx8W107d2hpbGUoYz10aGlzW2krK10paWYoZT1mYihjKSxkPTE9PT1jLm5vZGVUeXBlJiYoIiAiK2UrIiAiKS5yZXBsYWNlKGViLCIgIikpe2c9MDt3aGlsZShmPWJbZysrXSl3aGlsZShkLmluZGV4T2YoIiAiK2YrIiAiKT4tMSlkPWQucmVwbGFjZSgiICIrZisiICIsIiAiKTtoPW4udHJpbShkKSxlIT09aCYmYy5zZXRBdHRyaWJ1dGUoImNsYXNzIixoKX19cmV0dXJuIHRoaXN9LHRvZ2dsZUNsYXNzOmZ1bmN0aW9uKGEsYil7dmFyIGM9dHlwZW9mIGE7cmV0dXJuImJvb2xlYW4iPT10eXBlb2YgYiYmInN0cmluZyI9PT1jP2I/dGhpcy5hZGRDbGFzcyhhKTp0aGlzLnJlbW92ZUNsYXNzKGEpOm4uaXNGdW5jdGlvbihhKT90aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS50b2dnbGVDbGFzcyhhLmNhbGwodGhpcyxjLGZiKHRoaXMpLGIpLGIpfSk6dGhpcy5lYWNoKGZ1bmN0aW9uKCl7dmFyIGIsZCxlLGY7aWYoInN0cmluZyI9PT1jKXtkPTAsZT1uKHRoaXMpLGY9YS5tYXRjaChHKXx8W107d2hpbGUoYj1mW2QrK10pZS5oYXNDbGFzcyhiKT9lLnJlbW92ZUNsYXNzKGIpOmUuYWRkQ2xhc3MoYil9ZWxzZSB2b2lkIDAhPT1hJiYiYm9vbGVhbiIhPT1jfHwoYj1mYih0aGlzKSxiJiZOLnNldCh0aGlzLCJfX2NsYXNzTmFtZV9fIixiKSx0aGlzLnNldEF0dHJpYnV0ZSYmdGhpcy5zZXRBdHRyaWJ1dGUoImNsYXNzIixifHxhPT09ITE/IiI6Ti5nZXQodGhpcywiX19jbGFzc05hbWVfXyIpfHwiIikpfSl9LGhhc0NsYXNzOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZD0wO2I9IiAiK2ErIiAiO3doaWxlKGM9dGhpc1tkKytdKWlmKDE9PT1jLm5vZGVUeXBlJiYoIiAiK2ZiKGMpKyIgIikucmVwbGFjZShlYiwiICIpLmluZGV4T2YoYik+LTEpcmV0dXJuITA7cmV0dXJuITF9fSk7dmFyIGdiPS9cci9nLGhiPS9bXHgyMFx0XHJcblxmXSsvZztuLmZuLmV4dGVuZCh7dmFsOmZ1bmN0aW9uKGEpe3ZhciBiLGMsZCxlPXRoaXNbMF07e2lmKGFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGQ9bi5pc0Z1bmN0aW9uKGEpLHRoaXMuZWFjaChmdW5jdGlvbihjKXt2YXIgZTsxPT09dGhpcy5ub2RlVHlwZSYmKGU9ZD9hLmNhbGwodGhpcyxjLG4odGhpcykudmFsKCkpOmEsbnVsbD09ZT9lPSIiOiJudW1iZXIiPT10eXBlb2YgZT9lKz0iIjpuLmlzQXJyYXkoZSkmJihlPW4ubWFwKGUsZnVuY3Rpb24oYSl7cmV0dXJuIG51bGw9PWE/IiI6YSsiIn0pKSxiPW4udmFsSG9va3NbdGhpcy50eXBlXXx8bi52YWxIb29rc1t0aGlzLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJzZXQiaW4gYiYmdm9pZCAwIT09Yi5zZXQodGhpcyxlLCJ2YWx1ZSIpfHwodGhpcy52YWx1ZT1lKSl9KTtpZihlKXJldHVybiBiPW4udmFsSG9va3NbZS50eXBlXXx8bi52YWxIb29rc1tlLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCldLGImJiJnZXQiaW4gYiYmdm9pZCAwIT09KGM9Yi5nZXQoZSwidmFsdWUiKSk/YzooYz1lLnZhbHVlLCJzdHJpbmciPT10eXBlb2YgYz9jLnJlcGxhY2UoZ2IsIiIpOm51bGw9PWM/IiI6Yyl9fX0pLG4uZXh0ZW5kKHt2YWxIb29rczp7b3B0aW9uOntnZXQ6ZnVuY3Rpb24oYSl7dmFyIGI9bi5maW5kLmF0dHIoYSwidmFsdWUiKTtyZXR1cm4gbnVsbCE9Yj9iOm4udHJpbShuLnRleHQoYSkpLnJlcGxhY2UoaGIsIiAiKX19LHNlbGVjdDp7Z2V0OmZ1bmN0aW9uKGEpe2Zvcih2YXIgYixjLGQ9YS5vcHRpb25zLGU9YS5zZWxlY3RlZEluZGV4LGY9InNlbGVjdC1vbmUiPT09YS50eXBlfHwwPmUsZz1mP251bGw6W10saD1mP2UrMTpkLmxlbmd0aCxpPTA+ZT9oOmY/ZTowO2g+aTtpKyspaWYoYz1kW2ldLChjLnNlbGVjdGVkfHxpPT09ZSkmJihsLm9wdERpc2FibGVkPyFjLmRpc2FibGVkOm51bGw9PT1jLmdldEF0dHJpYnV0ZSgiZGlzYWJsZWQiKSkmJighYy5wYXJlbnROb2RlLmRpc2FibGVkfHwhbi5ub2RlTmFtZShjLnBhcmVudE5vZGUsIm9wdGdyb3VwIikpKXtpZihiPW4oYykudmFsKCksZilyZXR1cm4gYjtnLnB1c2goYil9cmV0dXJuIGd9LHNldDpmdW5jdGlvbihhLGIpe3ZhciBjLGQsZT1hLm9wdGlvbnMsZj1uLm1ha2VBcnJheShiKSxnPWUubGVuZ3RoO3doaWxlKGctLSlkPWVbZ10sKGQuc2VsZWN0ZWQ9bi5pbkFycmF5KG4udmFsSG9va3Mub3B0aW9uLmdldChkKSxmKT4tMSkmJihjPSEwKTtyZXR1cm4gY3x8KGEuc2VsZWN0ZWRJbmRleD0tMSksZn19fX0pLG4uZWFjaChbInJhZGlvIiwiY2hlY2tib3giXSxmdW5jdGlvbigpe24udmFsSG9va3NbdGhpc109e3NldDpmdW5jdGlvbihhLGIpe3JldHVybiBuLmlzQXJyYXkoYik/YS5jaGVja2VkPW4uaW5BcnJheShuKGEpLnZhbCgpLGIpPi0xOnZvaWQgMH19LGwuY2hlY2tPbnx8KG4udmFsSG9va3NbdGhpc10uZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiBudWxsPT09YS5nZXRBdHRyaWJ1dGUoInZhbHVlIik/Im9uIjphLnZhbHVlfSl9KTt2YXIgaWI9L14oPzpmb2N1c2luZm9jdXN8Zm9jdXNvdXRibHVyKSQvO24uZXh0ZW5kKG4uZXZlbnQse3RyaWdnZXI6ZnVuY3Rpb24oYixjLGUsZil7dmFyIGcsaCxpLGosbCxtLG8scD1bZXx8ZF0scT1rLmNhbGwoYiwidHlwZSIpP2IudHlwZTpiLHI9ay5jYWxsKGIsIm5hbWVzcGFjZSIpP2IubmFtZXNwYWNlLnNwbGl0KCIuIik6W107aWYoaD1pPWU9ZXx8ZCwzIT09ZS5ub2RlVHlwZSYmOCE9PWUubm9kZVR5cGUmJiFpYi50ZXN0KHErbi5ldmVudC50cmlnZ2VyZWQpJiYocS5pbmRleE9mKCIuIik+LTEmJihyPXEuc3BsaXQoIi4iKSxxPXIuc2hpZnQoKSxyLnNvcnQoKSksbD1xLmluZGV4T2YoIjoiKTwwJiYib24iK3EsYj1iW24uZXhwYW5kb10/YjpuZXcgbi5FdmVudChxLCJvYmplY3QiPT10eXBlb2YgYiYmYiksYi5pc1RyaWdnZXI9Zj8yOjMsYi5uYW1lc3BhY2U9ci5qb2luKCIuIiksYi5ybmFtZXNwYWNlPWIubmFtZXNwYWNlP25ldyBSZWdFeHAoIihefFxcLikiK3Iuam9pbigiXFwuKD86LipcXC58KSIpKyIoXFwufCQpIik6bnVsbCxiLnJlc3VsdD12b2lkIDAsYi50YXJnZXR8fChiLnRhcmdldD1lKSxjPW51bGw9PWM/W2JdOm4ubWFrZUFycmF5KGMsW2JdKSxvPW4uZXZlbnQuc3BlY2lhbFtxXXx8e30sZnx8IW8udHJpZ2dlcnx8by50cmlnZ2VyLmFwcGx5KGUsYykhPT0hMSkpe2lmKCFmJiYhby5ub0J1YmJsZSYmIW4uaXNXaW5kb3coZSkpe2ZvcihqPW8uZGVsZWdhdGVUeXBlfHxxLGliLnRlc3QoaitxKXx8KGg9aC5wYXJlbnROb2RlKTtoO2g9aC5wYXJlbnROb2RlKXAucHVzaChoKSxpPWg7aT09PShlLm93bmVyRG9jdW1lbnR8fGQpJiZwLnB1c2goaS5kZWZhdWx0Vmlld3x8aS5wYXJlbnRXaW5kb3d8fGEpfWc9MDt3aGlsZSgoaD1wW2crK10pJiYhYi5pc1Byb3BhZ2F0aW9uU3RvcHBlZCgpKWIudHlwZT1nPjE/ajpvLmJpbmRUeXBlfHxxLG09KE4uZ2V0KGgsImV2ZW50cyIpfHx7fSlbYi50eXBlXSYmTi5nZXQoaCwiaGFuZGxlIiksbSYmbS5hcHBseShoLGMpLG09bCYmaFtsXSxtJiZtLmFwcGx5JiZMKGgpJiYoYi5yZXN1bHQ9bS5hcHBseShoLGMpLGIucmVzdWx0PT09ITEmJmIucHJldmVudERlZmF1bHQoKSk7cmV0dXJuIGIudHlwZT1xLGZ8fGIuaXNEZWZhdWx0UHJldmVudGVkKCl8fG8uX2RlZmF1bHQmJm8uX2RlZmF1bHQuYXBwbHkocC5wb3AoKSxjKSE9PSExfHwhTChlKXx8bCYmbi5pc0Z1bmN0aW9uKGVbcV0pJiYhbi5pc1dpbmRvdyhlKSYmKGk9ZVtsXSxpJiYoZVtsXT1udWxsKSxuLmV2ZW50LnRyaWdnZXJlZD1xLGVbcV0oKSxuLmV2ZW50LnRyaWdnZXJlZD12b2lkIDAsaSYmKGVbbF09aSkpLGIucmVzdWx0fX0sc2ltdWxhdGU6ZnVuY3Rpb24oYSxiLGMpe3ZhciBkPW4uZXh0ZW5kKG5ldyBuLkV2ZW50LGMse3R5cGU6YSxpc1NpbXVsYXRlZDohMH0pO24uZXZlbnQudHJpZ2dlcihkLG51bGwsYil9fSksbi5mbi5leHRlbmQoe3RyaWdnZXI6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5lYWNoKGZ1bmN0aW9uKCl7bi5ldmVudC50cmlnZ2VyKGEsYix0aGlzKX0pfSx0cmlnZ2VySGFuZGxlcjpmdW5jdGlvbihhLGIpe3ZhciBjPXRoaXNbMF07cmV0dXJuIGM/bi5ldmVudC50cmlnZ2VyKGEsYixjLCEwKTp2b2lkIDB9fSksbi5lYWNoKCJibHVyIGZvY3VzIGZvY3VzaW4gZm9jdXNvdXQgbG9hZCByZXNpemUgc2Nyb2xsIHVubG9hZCBjbGljayBkYmxjbGljayBtb3VzZWRvd24gbW91c2V1cCBtb3VzZW1vdmUgbW91c2VvdmVyIG1vdXNlb3V0IG1vdXNlZW50ZXIgbW91c2VsZWF2ZSBjaGFuZ2Ugc2VsZWN0IHN1Ym1pdCBrZXlkb3duIGtleXByZXNzIGtleXVwIGVycm9yIGNvbnRleHRtZW51Ii5zcGxpdCgiICIpLGZ1bmN0aW9uKGEsYil7bi5mbltiXT1mdW5jdGlvbihhLGMpe3JldHVybiBhcmd1bWVudHMubGVuZ3RoPjA/dGhpcy5vbihiLG51bGwsYSxjKTp0aGlzLnRyaWdnZXIoYil9fSksbi5mbi5leHRlbmQoe2hvdmVyOmZ1bmN0aW9uKGEsYil7cmV0dXJuIHRoaXMubW91c2VlbnRlcihhKS5tb3VzZWxlYXZlKGJ8fGEpfX0pLGwuZm9jdXNpbj0ib25mb2N1c2luImluIGEsbC5mb2N1c2lufHxuLmVhY2goe2ZvY3VzOiJmb2N1c2luIixibHVyOiJmb2N1c291dCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9ZnVuY3Rpb24oYSl7bi5ldmVudC5zaW11bGF0ZShiLGEudGFyZ2V0LG4uZXZlbnQuZml4KGEpKX07bi5ldmVudC5zcGVjaWFsW2JdPXtzZXR1cDpmdW5jdGlvbigpe3ZhciBkPXRoaXMub3duZXJEb2N1bWVudHx8dGhpcyxlPU4uYWNjZXNzKGQsYik7ZXx8ZC5hZGRFdmVudExpc3RlbmVyKGEsYywhMCksTi5hY2Nlc3MoZCxiLChlfHwwKSsxKX0sdGVhcmRvd246ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm93bmVyRG9jdW1lbnR8fHRoaXMsZT1OLmFjY2VzcyhkLGIpLTE7ZT9OLmFjY2VzcyhkLGIsZSk6KGQucmVtb3ZlRXZlbnRMaXN0ZW5lcihhLGMsITApLE4ucmVtb3ZlKGQsYikpfX19KTt2YXIgamI9YS5sb2NhdGlvbixrYj1uLm5vdygpLGxiPS9cPy87bi5wYXJzZUpTT049ZnVuY3Rpb24oYSl7cmV0dXJuIEpTT04ucGFyc2UoYSsiIil9LG4ucGFyc2VYTUw9ZnVuY3Rpb24oYil7dmFyIGM7aWYoIWJ8fCJzdHJpbmciIT10eXBlb2YgYilyZXR1cm4gbnVsbDt0cnl7Yz0obmV3IGEuRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcoYiwidGV4dC94bWwiKX1jYXRjaChkKXtjPXZvaWQgMH1yZXR1cm4gYyYmIWMuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInBhcnNlcmVycm9yIikubGVuZ3RofHxuLmVycm9yKCJJbnZhbGlkIFhNTDogIitiKSxjfTt2YXIgbWI9LyMuKiQvLG5iPS8oWz8mXSlfPVteJl0qLyxvYj0vXiguKj8pOlsgXHRdKihbXlxyXG5dKikkL2dtLHBiPS9eKD86YWJvdXR8YXBwfGFwcC1zdG9yYWdlfC4rLWV4dGVuc2lvbnxmaWxlfHJlc3x3aWRnZXQpOiQvLHFiPS9eKD86R0VUfEhFQUQpJC8scmI9L15cL1wvLyxzYj17fSx0Yj17fSx1Yj0iKi8iLmNvbmNhdCgiKiIpLHZiPWQuY3JlYXRlRWxlbWVudCgiYSIpO3ZiLmhyZWY9amIuaHJlZjtmdW5jdGlvbiB3YihhKXtyZXR1cm4gZnVuY3Rpb24oYixjKXsic3RyaW5nIiE9dHlwZW9mIGImJihjPWIsYj0iKiIpO3ZhciBkLGU9MCxmPWIudG9Mb3dlckNhc2UoKS5tYXRjaChHKXx8W107aWYobi5pc0Z1bmN0aW9uKGMpKXdoaWxlKGQ9ZltlKytdKSIrIj09PWRbMF0/KGQ9ZC5zbGljZSgxKXx8IioiLChhW2RdPWFbZF18fFtdKS51bnNoaWZ0KGMpKTooYVtkXT1hW2RdfHxbXSkucHVzaChjKX19ZnVuY3Rpb24geGIoYSxiLGMsZCl7dmFyIGU9e30sZj1hPT09dGI7ZnVuY3Rpb24gZyhoKXt2YXIgaTtyZXR1cm4gZVtoXT0hMCxuLmVhY2goYVtoXXx8W10sZnVuY3Rpb24oYSxoKXt2YXIgaj1oKGIsYyxkKTtyZXR1cm4ic3RyaW5nIiE9dHlwZW9mIGp8fGZ8fGVbal0/Zj8hKGk9aik6dm9pZCAwOihiLmRhdGFUeXBlcy51bnNoaWZ0KGopLGcoaiksITEpfSksaX1yZXR1cm4gZyhiLmRhdGFUeXBlc1swXSl8fCFlWyIqIl0mJmcoIioiKX1mdW5jdGlvbiB5YihhLGIpe3ZhciBjLGQsZT1uLmFqYXhTZXR0aW5ncy5mbGF0T3B0aW9uc3x8e307Zm9yKGMgaW4gYil2b2lkIDAhPT1iW2NdJiYoKGVbY10/YTpkfHwoZD17fSkpW2NdPWJbY10pO3JldHVybiBkJiZuLmV4dGVuZCghMCxhLGQpLGF9ZnVuY3Rpb24gemIoYSxiLGMpe3ZhciBkLGUsZixnLGg9YS5jb250ZW50cyxpPWEuZGF0YVR5cGVzO3doaWxlKCIqIj09PWlbMF0paS5zaGlmdCgpLHZvaWQgMD09PWQmJihkPWEubWltZVR5cGV8fGIuZ2V0UmVzcG9uc2VIZWFkZXIoIkNvbnRlbnQtVHlwZSIpKTtpZihkKWZvcihlIGluIGgpaWYoaFtlXSYmaFtlXS50ZXN0KGQpKXtpLnVuc2hpZnQoZSk7YnJlYWt9aWYoaVswXWluIGMpZj1pWzBdO2Vsc2V7Zm9yKGUgaW4gYyl7aWYoIWlbMF18fGEuY29udmVydGVyc1tlKyIgIitpWzBdXSl7Zj1lO2JyZWFrfWd8fChnPWUpfWY9Znx8Z31yZXR1cm4gZj8oZiE9PWlbMF0mJmkudW5zaGlmdChmKSxjW2ZdKTp2b2lkIDB9ZnVuY3Rpb24gQWIoYSxiLGMsZCl7dmFyIGUsZixnLGgsaSxqPXt9LGs9YS5kYXRhVHlwZXMuc2xpY2UoKTtpZihrWzFdKWZvcihnIGluIGEuY29udmVydGVycylqW2cudG9Mb3dlckNhc2UoKV09YS5jb252ZXJ0ZXJzW2ddO2Y9ay5zaGlmdCgpO3doaWxlKGYpaWYoYS5yZXNwb25zZUZpZWxkc1tmXSYmKGNbYS5yZXNwb25zZUZpZWxkc1tmXV09YiksIWkmJmQmJmEuZGF0YUZpbHRlciYmKGI9YS5kYXRhRmlsdGVyKGIsYS5kYXRhVHlwZSkpLGk9ZixmPWsuc2hpZnQoKSlpZigiKiI9PT1mKWY9aTtlbHNlIGlmKCIqIiE9PWkmJmkhPT1mKXtpZihnPWpbaSsiICIrZl18fGpbIiogIitmXSwhZylmb3IoZSBpbiBqKWlmKGg9ZS5zcGxpdCgiICIpLGhbMV09PT1mJiYoZz1qW2krIiAiK2hbMF1dfHxqWyIqICIraFswXV0pKXtnPT09ITA/Zz1qW2VdOmpbZV0hPT0hMCYmKGY9aFswXSxrLnVuc2hpZnQoaFsxXSkpO2JyZWFrfWlmKGchPT0hMClpZihnJiZhWyJ0aHJvd3MiXSliPWcoYik7ZWxzZSB0cnl7Yj1nKGIpfWNhdGNoKGwpe3JldHVybntzdGF0ZToicGFyc2VyZXJyb3IiLGVycm9yOmc/bDoiTm8gY29udmVyc2lvbiBmcm9tICIraSsiIHRvICIrZn19fXJldHVybntzdGF0ZToic3VjY2VzcyIsZGF0YTpifX1uLmV4dGVuZCh7YWN0aXZlOjAsbGFzdE1vZGlmaWVkOnt9LGV0YWc6e30sYWpheFNldHRpbmdzOnt1cmw6amIuaHJlZix0eXBlOiJHRVQiLGlzTG9jYWw6cGIudGVzdChqYi5wcm90b2NvbCksZ2xvYmFsOiEwLHByb2Nlc3NEYXRhOiEwLGFzeW5jOiEwLGNvbnRlbnRUeXBlOiJhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7IGNoYXJzZXQ9VVRGLTgiLGFjY2VwdHM6eyIqIjp1Yix0ZXh0OiJ0ZXh0L3BsYWluIixodG1sOiJ0ZXh0L2h0bWwiLHhtbDoiYXBwbGljYXRpb24veG1sLCB0ZXh0L3htbCIsanNvbjoiYXBwbGljYXRpb24vanNvbiwgdGV4dC9qYXZhc2NyaXB0In0sY29udGVudHM6e3htbDovXGJ4bWxcYi8saHRtbDovXGJodG1sLyxqc29uOi9cYmpzb25cYi99LHJlc3BvbnNlRmllbGRzOnt4bWw6InJlc3BvbnNlWE1MIix0ZXh0OiJyZXNwb25zZVRleHQiLGpzb246InJlc3BvbnNlSlNPTiJ9LGNvbnZlcnRlcnM6eyIqIHRleHQiOlN0cmluZywidGV4dCBodG1sIjohMCwidGV4dCBqc29uIjpuLnBhcnNlSlNPTiwidGV4dCB4bWwiOm4ucGFyc2VYTUx9LGZsYXRPcHRpb25zOnt1cmw6ITAsY29udGV4dDohMH19LGFqYXhTZXR1cDpmdW5jdGlvbihhLGIpe3JldHVybiBiP3liKHliKGEsbi5hamF4U2V0dGluZ3MpLGIpOnliKG4uYWpheFNldHRpbmdzLGEpfSxhamF4UHJlZmlsdGVyOndiKHNiKSxhamF4VHJhbnNwb3J0OndiKHRiKSxhamF4OmZ1bmN0aW9uKGIsYyl7Im9iamVjdCI9PXR5cGVvZiBiJiYoYz1iLGI9dm9pZCAwKSxjPWN8fHt9O3ZhciBlLGYsZyxoLGksaixrLGwsbT1uLmFqYXhTZXR1cCh7fSxjKSxvPW0uY29udGV4dHx8bSxwPW0uY29udGV4dCYmKG8ubm9kZVR5cGV8fG8uanF1ZXJ5KT9uKG8pOm4uZXZlbnQscT1uLkRlZmVycmVkKCkscj1uLkNhbGxiYWNrcygib25jZSBtZW1vcnkiKSxzPW0uc3RhdHVzQ29kZXx8e30sdD17fSx1PXt9LHY9MCx3PSJjYW5jZWxlZCIseD17cmVhZHlTdGF0ZTowLGdldFJlc3BvbnNlSGVhZGVyOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKDI9PT12KXtpZighaCl7aD17fTt3aGlsZShiPW9iLmV4ZWMoZykpaFtiWzFdLnRvTG93ZXJDYXNlKCldPWJbMl19Yj1oW2EudG9Mb3dlckNhc2UoKV19cmV0dXJuIG51bGw9PWI/bnVsbDpifSxnZXRBbGxSZXNwb25zZUhlYWRlcnM6ZnVuY3Rpb24oKXtyZXR1cm4gMj09PXY/ZzpudWxsfSxzZXRSZXF1ZXN0SGVhZGVyOmZ1bmN0aW9uKGEsYil7dmFyIGM9YS50b0xvd2VyQ2FzZSgpO3JldHVybiB2fHwoYT11W2NdPXVbY118fGEsdFthXT1iKSx0aGlzfSxvdmVycmlkZU1pbWVUeXBlOmZ1bmN0aW9uKGEpe3JldHVybiB2fHwobS5taW1lVHlwZT1hKSx0aGlzfSxzdGF0dXNDb2RlOmZ1bmN0aW9uKGEpe3ZhciBiO2lmKGEpaWYoMj52KWZvcihiIGluIGEpc1tiXT1bc1tiXSxhW2JdXTtlbHNlIHguYWx3YXlzKGFbeC5zdGF0dXNdKTtyZXR1cm4gdGhpc30sYWJvcnQ6ZnVuY3Rpb24oYSl7dmFyIGI9YXx8dztyZXR1cm4gZSYmZS5hYm9ydChiKSx6KDAsYiksdGhpc319O2lmKHEucHJvbWlzZSh4KS5jb21wbGV0ZT1yLmFkZCx4LnN1Y2Nlc3M9eC5kb25lLHguZXJyb3I9eC5mYWlsLG0udXJsPSgoYnx8bS51cmx8fGpiLmhyZWYpKyIiKS5yZXBsYWNlKG1iLCIiKS5yZXBsYWNlKHJiLGpiLnByb3RvY29sKyIvLyIpLG0udHlwZT1jLm1ldGhvZHx8Yy50eXBlfHxtLm1ldGhvZHx8bS50eXBlLG0uZGF0YVR5cGVzPW4udHJpbShtLmRhdGFUeXBlfHwiKiIpLnRvTG93ZXJDYXNlKCkubWF0Y2goRyl8fFsiIl0sbnVsbD09bS5jcm9zc0RvbWFpbil7aj1kLmNyZWF0ZUVsZW1lbnQoImEiKTt0cnl7ai5ocmVmPW0udXJsLGouaHJlZj1qLmhyZWYsbS5jcm9zc0RvbWFpbj12Yi5wcm90b2NvbCsiLy8iK3ZiLmhvc3QhPWoucHJvdG9jb2wrIi8vIitqLmhvc3R9Y2F0Y2goeSl7bS5jcm9zc0RvbWFpbj0hMH19aWYobS5kYXRhJiZtLnByb2Nlc3NEYXRhJiYic3RyaW5nIiE9dHlwZW9mIG0uZGF0YSYmKG0uZGF0YT1uLnBhcmFtKG0uZGF0YSxtLnRyYWRpdGlvbmFsKSkseGIoc2IsbSxjLHgpLDI9PT12KXJldHVybiB4O2s9bi5ldmVudCYmbS5nbG9iYWwsayYmMD09PW4uYWN0aXZlKysmJm4uZXZlbnQudHJpZ2dlcigiYWpheFN0YXJ0IiksbS50eXBlPW0udHlwZS50b1VwcGVyQ2FzZSgpLG0uaGFzQ29udGVudD0hcWIudGVzdChtLnR5cGUpLGY9bS51cmwsbS5oYXNDb250ZW50fHwobS5kYXRhJiYoZj1tLnVybCs9KGxiLnRlc3QoZik/IiYiOiI/IikrbS5kYXRhLGRlbGV0ZSBtLmRhdGEpLG0uY2FjaGU9PT0hMSYmKG0udXJsPW5iLnRlc3QoZik/Zi5yZXBsYWNlKG5iLCIkMV89IitrYisrKTpmKyhsYi50ZXN0KGYpPyImIjoiPyIpKyJfPSIra2IrKykpLG0uaWZNb2RpZmllZCYmKG4ubGFzdE1vZGlmaWVkW2ZdJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU1vZGlmaWVkLVNpbmNlIixuLmxhc3RNb2RpZmllZFtmXSksbi5ldGFnW2ZdJiZ4LnNldFJlcXVlc3RIZWFkZXIoIklmLU5vbmUtTWF0Y2giLG4uZXRhZ1tmXSkpLChtLmRhdGEmJm0uaGFzQ29udGVudCYmbS5jb250ZW50VHlwZSE9PSExfHxjLmNvbnRlbnRUeXBlKSYmeC5zZXRSZXF1ZXN0SGVhZGVyKCJDb250ZW50LVR5cGUiLG0uY29udGVudFR5cGUpLHguc2V0UmVxdWVzdEhlYWRlcigiQWNjZXB0IixtLmRhdGFUeXBlc1swXSYmbS5hY2NlcHRzW20uZGF0YVR5cGVzWzBdXT9tLmFjY2VwdHNbbS5kYXRhVHlwZXNbMF1dKygiKiIhPT1tLmRhdGFUeXBlc1swXT8iLCAiK3ViKyI7IHE9MC4wMSI6IiIpOm0uYWNjZXB0c1siKiJdKTtmb3IobCBpbiBtLmhlYWRlcnMpeC5zZXRSZXF1ZXN0SGVhZGVyKGwsbS5oZWFkZXJzW2xdKTtpZihtLmJlZm9yZVNlbmQmJihtLmJlZm9yZVNlbmQuY2FsbChvLHgsbSk9PT0hMXx8Mj09PXYpKXJldHVybiB4LmFib3J0KCk7dz0iYWJvcnQiO2ZvcihsIGlue3N1Y2Nlc3M6MSxlcnJvcjoxLGNvbXBsZXRlOjF9KXhbbF0obVtsXSk7aWYoZT14Yih0YixtLGMseCkpe2lmKHgucmVhZHlTdGF0ZT0xLGsmJnAudHJpZ2dlcigiYWpheFNlbmQiLFt4LG1dKSwyPT09dilyZXR1cm4geDttLmFzeW5jJiZtLnRpbWVvdXQ+MCYmKGk9YS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7eC5hYm9ydCgidGltZW91dCIpfSxtLnRpbWVvdXQpKTt0cnl7dj0xLGUuc2VuZCh0LHopfWNhdGNoKHkpe2lmKCEoMj52KSl0aHJvdyB5O3ooLTEseSl9fWVsc2UgeigtMSwiTm8gVHJhbnNwb3J0Iik7ZnVuY3Rpb24geihiLGMsZCxoKXt2YXIgaixsLHQsdSx3LHk9YzsyIT09diYmKHY9MixpJiZhLmNsZWFyVGltZW91dChpKSxlPXZvaWQgMCxnPWh8fCIiLHgucmVhZHlTdGF0ZT1iPjA/NDowLGo9Yj49MjAwJiYzMDA+Ynx8MzA0PT09YixkJiYodT16YihtLHgsZCkpLHU9QWIobSx1LHgsaiksaj8obS5pZk1vZGlmaWVkJiYodz14LmdldFJlc3BvbnNlSGVhZGVyKCJMYXN0LU1vZGlmaWVkIiksdyYmKG4ubGFzdE1vZGlmaWVkW2ZdPXcpLHc9eC5nZXRSZXNwb25zZUhlYWRlcigiZXRhZyIpLHcmJihuLmV0YWdbZl09dykpLDIwND09PWJ8fCJIRUFEIj09PW0udHlwZT95PSJub2NvbnRlbnQiOjMwND09PWI/eT0ibm90bW9kaWZpZWQiOih5PXUuc3RhdGUsbD11LmRhdGEsdD11LmVycm9yLGo9IXQpKToodD15LCFiJiZ5fHwoeT0iZXJyb3IiLDA+YiYmKGI9MCkpKSx4LnN0YXR1cz1iLHguc3RhdHVzVGV4dD0oY3x8eSkrIiIsaj9xLnJlc29sdmVXaXRoKG8sW2wseSx4XSk6cS5yZWplY3RXaXRoKG8sW3gseSx0XSkseC5zdGF0dXNDb2RlKHMpLHM9dm9pZCAwLGsmJnAudHJpZ2dlcihqPyJhamF4U3VjY2VzcyI6ImFqYXhFcnJvciIsW3gsbSxqP2w6dF0pLHIuZmlyZVdpdGgobyxbeCx5XSksayYmKHAudHJpZ2dlcigiYWpheENvbXBsZXRlIixbeCxtXSksLS1uLmFjdGl2ZXx8bi5ldmVudC50cmlnZ2VyKCJhamF4U3RvcCIpKSl9cmV0dXJuIHh9LGdldEpTT046ZnVuY3Rpb24oYSxiLGMpe3JldHVybiBuLmdldChhLGIsYywianNvbiIpfSxnZXRTY3JpcHQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gbi5nZXQoYSx2b2lkIDAsYiwic2NyaXB0Iil9fSksbi5lYWNoKFsiZ2V0IiwicG9zdCJdLGZ1bmN0aW9uKGEsYil7bltiXT1mdW5jdGlvbihhLGMsZCxlKXtyZXR1cm4gbi5pc0Z1bmN0aW9uKGMpJiYoZT1lfHxkLGQ9YyxjPXZvaWQgMCksbi5hamF4KG4uZXh0ZW5kKHt1cmw6YSx0eXBlOmIsZGF0YVR5cGU6ZSxkYXRhOmMsc3VjY2VzczpkfSxuLmlzUGxhaW5PYmplY3QoYSkmJmEpKX19KSxuLl9ldmFsVXJsPWZ1bmN0aW9uKGEpe3JldHVybiBuLmFqYXgoe3VybDphLHR5cGU6IkdFVCIsZGF0YVR5cGU6InNjcmlwdCIsYXN5bmM6ITEsZ2xvYmFsOiExLCJ0aHJvd3MiOiEwfSl9LG4uZm4uZXh0ZW5kKHt3cmFwQWxsOmZ1bmN0aW9uKGEpe3ZhciBiO3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcEFsbChhLmNhbGwodGhpcyxiKSl9KToodGhpc1swXSYmKGI9bihhLHRoaXNbMF0ub3duZXJEb2N1bWVudCkuZXEoMCkuY2xvbmUoITApLHRoaXNbMF0ucGFyZW50Tm9kZSYmYi5pbnNlcnRCZWZvcmUodGhpc1swXSksYi5tYXAoZnVuY3Rpb24oKXt2YXIgYT10aGlzO3doaWxlKGEuZmlyc3RFbGVtZW50Q2hpbGQpYT1hLmZpcnN0RWxlbWVudENoaWxkO3JldHVybiBhfSkuYXBwZW5kKHRoaXMpKSx0aGlzKX0sd3JhcElubmVyOmZ1bmN0aW9uKGEpe3JldHVybiBuLmlzRnVuY3Rpb24oYSk/dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24odGhpcykud3JhcElubmVyKGEuY2FsbCh0aGlzLGIpKX0pOnRoaXMuZWFjaChmdW5jdGlvbigpe3ZhciBiPW4odGhpcyksYz1iLmNvbnRlbnRzKCk7Yy5sZW5ndGg/Yy53cmFwQWxsKGEpOmIuYXBwZW5kKGEpfSl9LHdyYXA6ZnVuY3Rpb24oYSl7dmFyIGI9bi5pc0Z1bmN0aW9uKGEpO3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24oYyl7bih0aGlzKS53cmFwQWxsKGI/YS5jYWxsKHRoaXMsYyk6YSl9KX0sdW53cmFwOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucGFyZW50KCkuZWFjaChmdW5jdGlvbigpe24ubm9kZU5hbWUodGhpcywiYm9keSIpfHxuKHRoaXMpLnJlcGxhY2VXaXRoKHRoaXMuY2hpbGROb2Rlcyl9KS5lbmQoKX19KSxuLmV4cHIuZmlsdGVycy5oaWRkZW49ZnVuY3Rpb24oYSl7cmV0dXJuIW4uZXhwci5maWx0ZXJzLnZpc2libGUoYSl9LG4uZXhwci5maWx0ZXJzLnZpc2libGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGEub2Zmc2V0V2lkdGg+MHx8YS5vZmZzZXRIZWlnaHQ+MHx8YS5nZXRDbGllbnRSZWN0cygpLmxlbmd0aD4wfTt2YXIgQmI9LyUyMC9nLENiPS9cW1xdJC8sRGI9L1xyP1xuL2csRWI9L14oPzpzdWJtaXR8YnV0dG9ufGltYWdlfHJlc2V0fGZpbGUpJC9pLEZiPS9eKD86aW5wdXR8c2VsZWN0fHRleHRhcmVhfGtleWdlbikvaTtmdW5jdGlvbiBHYihhLGIsYyxkKXt2YXIgZTtpZihuLmlzQXJyYXkoYikpbi5lYWNoKGIsZnVuY3Rpb24oYixlKXtjfHxDYi50ZXN0KGEpP2QoYSxlKTpHYihhKyJbIisoIm9iamVjdCI9PXR5cGVvZiBlJiZudWxsIT1lP2I6IiIpKyJdIixlLGMsZCl9KTtlbHNlIGlmKGN8fCJvYmplY3QiIT09bi50eXBlKGIpKWQoYSxiKTtlbHNlIGZvcihlIGluIGIpR2IoYSsiWyIrZSsiXSIsYltlXSxjLGQpfW4ucGFyYW09ZnVuY3Rpb24oYSxiKXt2YXIgYyxkPVtdLGU9ZnVuY3Rpb24oYSxiKXtiPW4uaXNGdW5jdGlvbihiKT9iKCk6bnVsbD09Yj8iIjpiLGRbZC5sZW5ndGhdPWVuY29kZVVSSUNvbXBvbmVudChhKSsiPSIrZW5jb2RlVVJJQ29tcG9uZW50KGIpfTtpZih2b2lkIDA9PT1iJiYoYj1uLmFqYXhTZXR0aW5ncyYmbi5hamF4U2V0dGluZ3MudHJhZGl0aW9uYWwpLG4uaXNBcnJheShhKXx8YS5qcXVlcnkmJiFuLmlzUGxhaW5PYmplY3QoYSkpbi5lYWNoKGEsZnVuY3Rpb24oKXtlKHRoaXMubmFtZSx0aGlzLnZhbHVlKX0pO2Vsc2UgZm9yKGMgaW4gYSlHYihjLGFbY10sYixlKTtyZXR1cm4gZC5qb2luKCImIikucmVwbGFjZShCYiwiKyIpfSxuLmZuLmV4dGVuZCh7c2VyaWFsaXplOmZ1bmN0aW9uKCl7cmV0dXJuIG4ucGFyYW0odGhpcy5zZXJpYWxpemVBcnJheSgpKX0sc2VyaWFsaXplQXJyYXk6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoZnVuY3Rpb24oKXt2YXIgYT1uLnByb3AodGhpcywiZWxlbWVudHMiKTtyZXR1cm4gYT9uLm1ha2VBcnJheShhKTp0aGlzfSkuZmlsdGVyKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy50eXBlO3JldHVybiB0aGlzLm5hbWUmJiFuKHRoaXMpLmlzKCI6ZGlzYWJsZWQiKSYmRmIudGVzdCh0aGlzLm5vZGVOYW1lKSYmIUViLnRlc3QoYSkmJih0aGlzLmNoZWNrZWR8fCFYLnRlc3QoYSkpfSkubWFwKGZ1bmN0aW9uKGEsYil7dmFyIGM9bih0aGlzKS52YWwoKTtyZXR1cm4gbnVsbD09Yz9udWxsOm4uaXNBcnJheShjKT9uLm1hcChjLGZ1bmN0aW9uKGEpe3JldHVybntuYW1lOmIubmFtZSx2YWx1ZTphLnJlcGxhY2UoRGIsIlxyXG4iKX19KTp7bmFtZTpiLm5hbWUsdmFsdWU6Yy5yZXBsYWNlKERiLCJcclxuIil9fSkuZ2V0KCl9fSksbi5hamF4U2V0dGluZ3MueGhyPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiBuZXcgYS5YTUxIdHRwUmVxdWVzdH1jYXRjaChiKXt9fTt2YXIgSGI9ezA6MjAwLDEyMjM6MjA0fSxJYj1uLmFqYXhTZXR0aW5ncy54aHIoKTtsLmNvcnM9ISFJYiYmIndpdGhDcmVkZW50aWFscyJpbiBJYixsLmFqYXg9SWI9ISFJYixuLmFqYXhUcmFuc3BvcnQoZnVuY3Rpb24oYil7dmFyIGMsZDtyZXR1cm4gbC5jb3JzfHxJYiYmIWIuY3Jvc3NEb21haW4/e3NlbmQ6ZnVuY3Rpb24oZSxmKXt2YXIgZyxoPWIueGhyKCk7aWYoaC5vcGVuKGIudHlwZSxiLnVybCxiLmFzeW5jLGIudXNlcm5hbWUsYi5wYXNzd29yZCksYi54aHJGaWVsZHMpZm9yKGcgaW4gYi54aHJGaWVsZHMpaFtnXT1iLnhockZpZWxkc1tnXTtiLm1pbWVUeXBlJiZoLm92ZXJyaWRlTWltZVR5cGUmJmgub3ZlcnJpZGVNaW1lVHlwZShiLm1pbWVUeXBlKSxiLmNyb3NzRG9tYWlufHxlWyJYLVJlcXVlc3RlZC1XaXRoIl18fChlWyJYLVJlcXVlc3RlZC1XaXRoIl09IlhNTEh0dHBSZXF1ZXN0Iik7Zm9yKGcgaW4gZSloLnNldFJlcXVlc3RIZWFkZXIoZyxlW2ddKTtjPWZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbigpe2MmJihjPWQ9aC5vbmxvYWQ9aC5vbmVycm9yPWgub25hYm9ydD1oLm9ucmVhZHlzdGF0ZWNoYW5nZT1udWxsLCJhYm9ydCI9PT1hP2guYWJvcnQoKToiZXJyb3IiPT09YT8ibnVtYmVyIiE9dHlwZW9mIGguc3RhdHVzP2YoMCwiZXJyb3IiKTpmKGguc3RhdHVzLGguc3RhdHVzVGV4dCk6ZihIYltoLnN0YXR1c118fGguc3RhdHVzLGguc3RhdHVzVGV4dCwidGV4dCIhPT0oaC5yZXNwb25zZVR5cGV8fCJ0ZXh0Iil8fCJzdHJpbmciIT10eXBlb2YgaC5yZXNwb25zZVRleHQ/e2JpbmFyeTpoLnJlc3BvbnNlfTp7dGV4dDpoLnJlc3BvbnNlVGV4dH0saC5nZXRBbGxSZXNwb25zZUhlYWRlcnMoKSkpfX0saC5vbmxvYWQ9YygpLGQ9aC5vbmVycm9yPWMoImVycm9yIiksdm9pZCAwIT09aC5vbmFib3J0P2gub25hYm9ydD1kOmgub25yZWFkeXN0YXRlY2hhbmdlPWZ1bmN0aW9uKCl7ND09PWgucmVhZHlTdGF0ZSYmYS5zZXRUaW1lb3V0KGZ1bmN0aW9uKCl7YyYmZCgpfSl9LGM9YygiYWJvcnQiKTt0cnl7aC5zZW5kKGIuaGFzQ29udGVudCYmYi5kYXRhfHxudWxsKX1jYXRjaChpKXtpZihjKXRocm93IGl9fSxhYm9ydDpmdW5jdGlvbigpe2MmJmMoKX19OnZvaWQgMH0pLG4uYWpheFNldHVwKHthY2NlcHRzOntzY3JpcHQ6InRleHQvamF2YXNjcmlwdCwgYXBwbGljYXRpb24vamF2YXNjcmlwdCwgYXBwbGljYXRpb24vZWNtYXNjcmlwdCwgYXBwbGljYXRpb24veC1lY21hc2NyaXB0In0sY29udGVudHM6e3NjcmlwdDovXGIoPzpqYXZhfGVjbWEpc2NyaXB0XGIvfSxjb252ZXJ0ZXJzOnsidGV4dCBzY3JpcHQiOmZ1bmN0aW9uKGEpe3JldHVybiBuLmdsb2JhbEV2YWwoYSksYX19fSksbi5hamF4UHJlZmlsdGVyKCJzY3JpcHQiLGZ1bmN0aW9uKGEpe3ZvaWQgMD09PWEuY2FjaGUmJihhLmNhY2hlPSExKSxhLmNyb3NzRG9tYWluJiYoYS50eXBlPSJHRVQiKX0pLG4uYWpheFRyYW5zcG9ydCgic2NyaXB0IixmdW5jdGlvbihhKXtpZihhLmNyb3NzRG9tYWluKXt2YXIgYixjO3JldHVybntzZW5kOmZ1bmN0aW9uKGUsZil7Yj1uKCI8c2NyaXB0PiIpLnByb3Aoe2NoYXJzZXQ6YS5zY3JpcHRDaGFyc2V0LHNyYzphLnVybH0pLm9uKCJsb2FkIGVycm9yIixjPWZ1bmN0aW9uKGEpe2IucmVtb3ZlKCksYz1udWxsLGEmJmYoImVycm9yIj09PWEudHlwZT80MDQ6MjAwLGEudHlwZSl9KSxkLmhlYWQuYXBwZW5kQ2hpbGQoYlswXSl9LGFib3J0OmZ1bmN0aW9uKCl7YyYmYygpfX19fSk7dmFyIEpiPVtdLEtiPS8oPSlcPyg/PSZ8JCl8XD9cPy87bi5hamF4U2V0dXAoe2pzb25wOiJjYWxsYmFjayIsanNvbnBDYWxsYmFjazpmdW5jdGlvbigpe3ZhciBhPUpiLnBvcCgpfHxuLmV4cGFuZG8rIl8iK2tiKys7cmV0dXJuIHRoaXNbYV09ITAsYX19KSxuLmFqYXhQcmVmaWx0ZXIoImpzb24ganNvbnAiLGZ1bmN0aW9uKGIsYyxkKXt2YXIgZSxmLGcsaD1iLmpzb25wIT09ITEmJihLYi50ZXN0KGIudXJsKT8idXJsIjoic3RyaW5nIj09dHlwZW9mIGIuZGF0YSYmMD09PShiLmNvbnRlbnRUeXBlfHwiIikuaW5kZXhPZigiYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkIikmJktiLnRlc3QoYi5kYXRhKSYmImRhdGEiKTtyZXR1cm4gaHx8Impzb25wIj09PWIuZGF0YVR5cGVzWzBdPyhlPWIuanNvbnBDYWxsYmFjaz1uLmlzRnVuY3Rpb24oYi5qc29ucENhbGxiYWNrKT9iLmpzb25wQ2FsbGJhY2soKTpiLmpzb25wQ2FsbGJhY2ssaD9iW2hdPWJbaF0ucmVwbGFjZShLYiwiJDEiK2UpOmIuanNvbnAhPT0hMSYmKGIudXJsKz0obGIudGVzdChiLnVybCk/IiYiOiI/IikrYi5qc29ucCsiPSIrZSksYi5jb252ZXJ0ZXJzWyJzY3JpcHQganNvbiJdPWZ1bmN0aW9uKCl7cmV0dXJuIGd8fG4uZXJyb3IoZSsiIHdhcyBub3QgY2FsbGVkIiksZ1swXX0sYi5kYXRhVHlwZXNbMF09Impzb24iLGY9YVtlXSxhW2VdPWZ1bmN0aW9uKCl7Zz1hcmd1bWVudHN9LGQuYWx3YXlzKGZ1bmN0aW9uKCl7dm9pZCAwPT09Zj9uKGEpLnJlbW92ZVByb3AoZSk6YVtlXT1mLGJbZV0mJihiLmpzb25wQ2FsbGJhY2s9Yy5qc29ucENhbGxiYWNrLEpiLnB1c2goZSkpLGcmJm4uaXNGdW5jdGlvbihmKSYmZihnWzBdKSxnPWY9dm9pZCAwfSksInNjcmlwdCIpOnZvaWQgMH0pLG4ucGFyc2VIVE1MPWZ1bmN0aW9uKGEsYixjKXtpZighYXx8InN0cmluZyIhPXR5cGVvZiBhKXJldHVybiBudWxsOyJib29sZWFuIj09dHlwZW9mIGImJihjPWIsYj0hMSksYj1ifHxkO3ZhciBlPXguZXhlYyhhKSxmPSFjJiZbXTtyZXR1cm4gZT9bYi5jcmVhdGVFbGVtZW50KGVbMV0pXTooZT1jYShbYV0sYixmKSxmJiZmLmxlbmd0aCYmbihmKS5yZW1vdmUoKSxuLm1lcmdlKFtdLGUuY2hpbGROb2RlcykpfTt2YXIgTGI9bi5mbi5sb2FkO24uZm4ubG9hZD1mdW5jdGlvbihhLGIsYyl7aWYoInN0cmluZyIhPXR5cGVvZiBhJiZMYilyZXR1cm4gTGIuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBkLGUsZixnPXRoaXMsaD1hLmluZGV4T2YoIiAiKTtyZXR1cm4gaD4tMSYmKGQ9bi50cmltKGEuc2xpY2UoaCkpLGE9YS5zbGljZSgwLGgpKSxuLmlzRnVuY3Rpb24oYik/KGM9YixiPXZvaWQgMCk6YiYmIm9iamVjdCI9PXR5cGVvZiBiJiYoZT0iUE9TVCIpLGcubGVuZ3RoPjAmJm4uYWpheCh7dXJsOmEsdHlwZTplfHwiR0VUIixkYXRhVHlwZToiaHRtbCIsZGF0YTpifSkuZG9uZShmdW5jdGlvbihhKXtmPWFyZ3VtZW50cyxnLmh0bWwoZD9uKCI8ZGl2PiIpLmFwcGVuZChuLnBhcnNlSFRNTChhKSkuZmluZChkKTphKX0pLmFsd2F5cyhjJiZmdW5jdGlvbihhLGIpe2cuZWFjaChmdW5jdGlvbigpe2MuYXBwbHkodGhpcyxmfHxbYS5yZXNwb25zZVRleHQsYixhXSl9KX0pLHRoaXN9LG4uZWFjaChbImFqYXhTdGFydCIsImFqYXhTdG9wIiwiYWpheENvbXBsZXRlIiwiYWpheEVycm9yIiwiYWpheFN1Y2Nlc3MiLCJhamF4U2VuZCJdLGZ1bmN0aW9uKGEsYil7bi5mbltiXT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5vbihiLGEpfX0pLG4uZXhwci5maWx0ZXJzLmFuaW1hdGVkPWZ1bmN0aW9uKGEpe3JldHVybiBuLmdyZXAobi50aW1lcnMsZnVuY3Rpb24oYil7cmV0dXJuIGE9PT1iLmVsZW19KS5sZW5ndGh9O2Z1bmN0aW9uIE1iKGEpe3JldHVybiBuLmlzV2luZG93KGEpP2E6OT09PWEubm9kZVR5cGUmJmEuZGVmYXVsdFZpZXd9bi5vZmZzZXQ9e3NldE9mZnNldDpmdW5jdGlvbihhLGIsYyl7dmFyIGQsZSxmLGcsaCxpLGosaz1uLmNzcyhhLCJwb3NpdGlvbiIpLGw9bihhKSxtPXt9OyJzdGF0aWMiPT09ayYmKGEuc3R5bGUucG9zaXRpb249InJlbGF0aXZlIiksaD1sLm9mZnNldCgpLGY9bi5jc3MoYSwidG9wIiksaT1uLmNzcyhhLCJsZWZ0Iiksaj0oImFic29sdXRlIj09PWt8fCJmaXhlZCI9PT1rKSYmKGYraSkuaW5kZXhPZigiYXV0byIpPi0xLGo/KGQ9bC5wb3NpdGlvbigpLGc9ZC50b3AsZT1kLmxlZnQpOihnPXBhcnNlRmxvYXQoZil8fDAsZT1wYXJzZUZsb2F0KGkpfHwwKSxuLmlzRnVuY3Rpb24oYikmJihiPWIuY2FsbChhLGMsbi5leHRlbmQoe30saCkpKSxudWxsIT1iLnRvcCYmKG0udG9wPWIudG9wLWgudG9wK2cpLG51bGwhPWIubGVmdCYmKG0ubGVmdD1iLmxlZnQtaC5sZWZ0K2UpLCJ1c2luZyJpbiBiP2IudXNpbmcuY2FsbChhLG0pOmwuY3NzKG0pfX0sbi5mbi5leHRlbmQoe29mZnNldDpmdW5jdGlvbihhKXtpZihhcmd1bWVudHMubGVuZ3RoKXJldHVybiB2b2lkIDA9PT1hP3RoaXM6dGhpcy5lYWNoKGZ1bmN0aW9uKGIpe24ub2Zmc2V0LnNldE9mZnNldCh0aGlzLGEsYil9KTt2YXIgYixjLGQ9dGhpc1swXSxlPXt0b3A6MCxsZWZ0OjB9LGY9ZCYmZC5vd25lckRvY3VtZW50O2lmKGYpcmV0dXJuIGI9Zi5kb2N1bWVudEVsZW1lbnQsbi5jb250YWlucyhiLGQpPyhlPWQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksYz1NYihmKSx7dG9wOmUudG9wK2MucGFnZVlPZmZzZXQtYi5jbGllbnRUb3AsbGVmdDplLmxlZnQrYy5wYWdlWE9mZnNldC1iLmNsaWVudExlZnR9KTplfSxwb3NpdGlvbjpmdW5jdGlvbigpe2lmKHRoaXNbMF0pe3ZhciBhLGIsYz10aGlzWzBdLGQ9e3RvcDowLGxlZnQ6MH07cmV0dXJuImZpeGVkIj09PW4uY3NzKGMsInBvc2l0aW9uIik/Yj1jLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOihhPXRoaXMub2Zmc2V0UGFyZW50KCksYj10aGlzLm9mZnNldCgpLG4ubm9kZU5hbWUoYVswXSwiaHRtbCIpfHwoZD1hLm9mZnNldCgpKSxkLnRvcCs9bi5jc3MoYVswXSwiYm9yZGVyVG9wV2lkdGgiLCEwKSxkLmxlZnQrPW4uY3NzKGFbMF0sImJvcmRlckxlZnRXaWR0aCIsITApKSx7dG9wOmIudG9wLWQudG9wLW4uY3NzKGMsIm1hcmdpblRvcCIsITApLGxlZnQ6Yi5sZWZ0LWQubGVmdC1uLmNzcyhjLCJtYXJnaW5MZWZ0IiwhMCl9fX0sb2Zmc2V0UGFyZW50OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKCl7dmFyIGE9dGhpcy5vZmZzZXRQYXJlbnQ7d2hpbGUoYSYmInN0YXRpYyI9PT1uLmNzcyhhLCJwb3NpdGlvbiIpKWE9YS5vZmZzZXRQYXJlbnQ7cmV0dXJuIGF8fEVhfSl9fSksbi5lYWNoKHtzY3JvbGxMZWZ0OiJwYWdlWE9mZnNldCIsc2Nyb2xsVG9wOiJwYWdlWU9mZnNldCJ9LGZ1bmN0aW9uKGEsYil7dmFyIGM9InBhZ2VZT2Zmc2V0Ij09PWI7bi5mblthXT1mdW5jdGlvbihkKXtyZXR1cm4gSyh0aGlzLGZ1bmN0aW9uKGEsZCxlKXt2YXIgZj1NYihhKTtyZXR1cm4gdm9pZCAwPT09ZT9mP2ZbYl06YVtkXTp2b2lkKGY/Zi5zY3JvbGxUbyhjP2YucGFnZVhPZmZzZXQ6ZSxjP2U6Zi5wYWdlWU9mZnNldCk6YVtkXT1lKX0sYSxkLGFyZ3VtZW50cy5sZW5ndGgpfX0pLG4uZWFjaChbInRvcCIsImxlZnQiXSxmdW5jdGlvbihhLGIpe24uY3NzSG9va3NbYl09R2EobC5waXhlbFBvc2l0aW9uLGZ1bmN0aW9uKGEsYyl7cmV0dXJuIGM/KGM9RmEoYSxiKSxCYS50ZXN0KGMpP24oYSkucG9zaXRpb24oKVtiXSsicHgiOmMpOnZvaWQgMH0pfSksbi5lYWNoKHtIZWlnaHQ6ImhlaWdodCIsV2lkdGg6IndpZHRoIn0sZnVuY3Rpb24oYSxiKXtuLmVhY2goe3BhZGRpbmc6ImlubmVyIithLGNvbnRlbnQ6YiwiIjoib3V0ZXIiK2F9LGZ1bmN0aW9uKGMsZCl7bi5mbltkXT1mdW5jdGlvbihkLGUpe3ZhciBmPWFyZ3VtZW50cy5sZW5ndGgmJihjfHwiYm9vbGVhbiIhPXR5cGVvZiBkKSxnPWN8fChkPT09ITB8fGU9PT0hMD8ibWFyZ2luIjoiYm9yZGVyIik7cmV0dXJuIEsodGhpcyxmdW5jdGlvbihiLGMsZCl7dmFyIGU7cmV0dXJuIG4uaXNXaW5kb3coYik/Yi5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnRbImNsaWVudCIrYV06OT09PWIubm9kZVR5cGU/KGU9Yi5kb2N1bWVudEVsZW1lbnQsTWF0aC5tYXgoYi5ib2R5WyJzY3JvbGwiK2FdLGVbInNjcm9sbCIrYV0sYi5ib2R5WyJvZmZzZXQiK2FdLGVbIm9mZnNldCIrYV0sZVsiY2xpZW50IithXSkpOnZvaWQgMD09PWQ/bi5jc3MoYixjLGcpOm4uc3R5bGUoYixjLGQsZyl9LGIsZj9kOnZvaWQgMCxmLG51bGwpfX0pfSksbi5mbi5leHRlbmQoe2JpbmQ6ZnVuY3Rpb24oYSxiLGMpe3JldHVybiB0aGlzLm9uKGEsbnVsbCxiLGMpfSx1bmJpbmQ6ZnVuY3Rpb24oYSxiKXtyZXR1cm4gdGhpcy5vZmYoYSxudWxsLGIpfSxkZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyxkKXtyZXR1cm4gdGhpcy5vbihiLGEsYyxkKX0sdW5kZWxlZ2F0ZTpmdW5jdGlvbihhLGIsYyl7cmV0dXJuIDE9PT1hcmd1bWVudHMubGVuZ3RoP3RoaXMub2ZmKGEsIioqIik6dGhpcy5vZmYoYixhfHwiKioiLGMpfSxzaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubGVuZ3RofX0pLG4uZm4uYW5kU2VsZj1uLmZuLmFkZEJhY2ssImZ1bmN0aW9uIj09dHlwZW9mIGRlZmluZSYmZGVmaW5lLmFtZCYmZGVmaW5lKCJqcXVlcnkiLFtdLGZ1bmN0aW9uKCl7cmV0dXJuIG59KTt2YXIgTmI9YS5qUXVlcnksT2I9YS4kO3JldHVybiBuLm5vQ29uZmxpY3Q9ZnVuY3Rpb24oYil7cmV0dXJuIGEuJD09PW4mJihhLiQ9T2IpLGImJmEualF1ZXJ5PT09biYmKGEualF1ZXJ5PU5iKSxufSxifHwoYS5qUXVlcnk9YS4kPW4pLG59KTsK"}},"time_used":424,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":392,"receive":32,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/payments.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.844Z","timestamp":1785133989844,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/payments.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/png\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 22894\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":22894,"size_decoded":23081,"mime_type":"image/png","magic":"PNG image data, 852 x 35, 8-bit/color RGBA, non-interlaced","md5":"f01c24fbdc9104f5eccdab2a05be65f0","sha1":"767b9cf60db411bcfd558cb3d40a02efa2b944c1","sha256":"5dfae8647b9f0c7004f23b2027c7f353afd4a13113eae132698b285ce42793dc","sha512":"983cdd8be66f4c2679c3d09ac1022a961f190fd98d7fa710c09705aade343ed0f9e26025fb1b0982a0ceffb3d3f05282bd818499bd5dfad2bd486c8cb0e9f5b8","ssdeep":"384:/fBg5vULNvxoVyFnYyk1p1KdqA840GlJJiwwUg8dQGQzcXLNaXtN8T68jIV:RgJUZvxIyFYt13AhBlJJifr8dfXS2Bjk","tlshash":"09a2e16e958637a359c62710a03a8f69c5b50ce35ff0504b7e0a9e2c9f065c947d1cfb","first_seen":"2023-05-30T11:35:27Z","last_seen":"2026-07-27T06:37:47.052559Z","times_seen":39,"resource_available":false,"data":"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"}},"time_used":579,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":145,"receive":434,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coin-images.coingecko.com/coins/images/1/large/bitcoin.png?1696501400","fqdn":"coin-images.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.67.142.173","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.865Z","timestamp":1785133990865,"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":"coin-images.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 11 Jun 2026 22:42:48 GMT","end":"Wed, 09 Sep 2026 23:41:15 GMT"},"fingerprint":{"sha1":"7A:6C:D0:D5:FD:4F:F2:F6:0E:21:8F:DB:FC:C2:6A:FB:03:26:BA:A8","sha256":"8F:4C:5D:49:64:66:ED:34:00:50:8C:D4:D9:03:C8:38:40:42:53:9D:67:B3:CD:AA:9E:0E:D5:41:02:8E:46:BA"}}},"request":{"raw":"GET /coins/images/1/large/bitcoin.png?1696501400 HTTP/1.1\r\nHost: coin-images.coingecko.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\nx-amz-id-2: acfy4yV0hNGDZyfoIOBuAcpZ830diCRSUHcw7R7Y15TMkuSwLz169JCJW401UG51dQimFeY3Pl8=\r\nx-amz-request-id: XJT10ZHWT65SDYTK\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nx-amz-replication-status: COMPLETED\r\nlast-modified: Wed, 29 May 2024 02:28:22 GMT\r\netag: \"565e8c524f6da22928811f836d0b92a2\"\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: K_Yd_oAsiQpaEoTt9rotaTCh6C_AUMdt\r\naccept-ranges: bytes\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\nserver: cloudflare\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-polished: ok, orig_size=12242\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=hF7JoU0Ap6TunyZmDhlyT8Z5iKYEZBCN121QNT0DHskcUwgqXjaviztS8aT9JKqUeeDfgUsmeYuxL%2Boh5HTVkhzaLwabfLFqGbNfdndX8pAMwWq9C9jeY5rPBRN9qleuMC8fzVmWIL5cP%2BP1\"}]}\r\npriority: u=4,i\r\ncf-bgj: imgq:85,h2pri\r\nage: 6335\r\ncf-ray: a2199c730e755699-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 9454\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":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":9454,"size_decoded":10459,"mime_type":"image/png","magic":"PNG image data, 250 x 250, 8-bit/color RGBA, non-interlaced","md5":"66a88a80de5eed33ed8583255445b6c4","sha1":"6d934c7f34286a0344dfbfa63c9ae12b34b5812a","sha256":"39d2790e598859909bf6cb1ed16377e3b220f7e8f2152ca733f70f28abb969b5","sha512":"4c621d0562ae0ecf2be57889fdc0710f9a7baef55514ce3d32f990359e6d2366dbe2c0fe41ab800d5840ea33da5c2d5aaa0fe513274ab58111008e6779e6abf9","ssdeep":"192:dItEpiWFaNPITJaSaLLg+1bslrPN8dUWCspKo8GtRlUV1QQRwD:9GHlvgTpNbcKo8GtRlUVWZD","tlshash":"b412bf52bb7469abfd7223332a2f355f990619d60895b0405c6b8fb31dc3da9f11730a","first_seen":"2025-04-01T12:02:22.596262Z","last_seen":"2026-07-31T04:31:36.308185Z","times_seen":854,"resource_available":false,"data":"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"}},"time_used":34,"timings":{"blocked":-1,"dns":6,"connect":9,"send":0,"wait":14,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coin-images.coingecko.com/coins/images/738/large/CG_EOS_Icon.png?1731705232","fqdn":"coin-images.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.67.142.173","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.868Z","timestamp":1785133990868,"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":"coin-images.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 11 Jun 2026 22:42:48 GMT","end":"Wed, 09 Sep 2026 23:41:15 GMT"},"fingerprint":{"sha1":"7A:6C:D0:D5:FD:4F:F2:F6:0E:21:8F:DB:FC:C2:6A:FB:03:26:BA:A8","sha256":"8F:4C:5D:49:64:66:ED:34:00:50:8C:D4:D9:03:C8:38:40:42:53:9D:67:B3:CD:AA:9E:0E:D5:41:02:8E:46:BA"}}},"request":{"raw":"GET /coins/images/738/large/CG_EOS_Icon.png?1731705232 HTTP/1.1\r\nHost: coin-images.coingecko.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\nx-amz-id-2: j4JbaE+1OAQ01dbRmtoaMgm5FE8oW+TAjdRBLrOHM6QgcK7n90ny8IZZ73Q6G3ILfkzHZOgLmMg=\r\nx-amz-request-id: KH85E3PFM52W5MF7\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nx-amz-replication-status: REPLICA\r\nlast-modified: Fri, 15 Nov 2024 21:13:55 GMT\r\netag: \"e57d503851189addb2768cf2c838a64d\"\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: 1WzZRILTVssxSmYKEl54vLexpATuWM8L\r\naccept-ranges: bytes\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\nserver: cloudflare\r\nage: 6434\r\ncf-cache-status: HIT\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=54NkoM3VMkCce2EOLI0BRsar1IoMbo%2F5oa4WCBCFg%2B2%2FwYD6c6sQh6CFs%2F2b9t2SXGKx056KFV04SgszxorVNBqcVQq7XC2rXkPpDeeIgGybwNkIJ0%2FdLQ8yZJNqAsE%2BPJJKzvDwWw7hhv1C\"}]}\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\npriority: u=5,i\r\ncf-ray: a2199c730e745699-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 24537\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":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]}],"data":{"size":24537,"size_decoded":25492,"mime_type":"image/png","magic":"PNG image data, 250 x 250, 8-bit/color RGBA, non-interlaced","md5":"e57d503851189addb2768cf2c838a64d","sha1":"9e549bcc32f84550061ad391348c883f900f208c","sha256":"16bd234f9403281e3bcf1eaa6d291b47c6b051926b942e7790e9ca114bcaf511","sha512":"a2b016e9c4b77bee3c47f4d47b3377aa178fa35e961eb4abcdcf7579bf9c20a0557a350858a7e99760d66f20c12f222352be0ae9482542785d56a2b512d0c587","ssdeep":"384:IrUUKAlDpY+iqWepCiwr4bAoMKJTGa+YQAi9bUxAivP5z9SHb2hhMlRepSTtIvQq:IRPfTWeLwbOr+Yqbr+z92bp5+oq","tlshash":"85b2e053bfa045652f998c7090bbc24637f78f81d55e0e8acabd192c7fa72c451d720a","first_seen":"2024-11-25T11:23:20.548553Z","last_seen":"2026-08-04T06:10:33.351819Z","times_seen":1139,"resource_available":false,"data":"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"}},"time_used":31,"timings":{"blocked":11,"dns":0,"connect":0,"send":0,"wait":14,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/responsive.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.591Z","timestamp":1785133989591,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/responsive.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 267\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":1142,"size_decoded":496,"mime_type":"text/css","magic":"ASCII text","md5":"e722852e1c375001600d2467496f6bd2","sha1":"fe2a819a76748b7821c0029dfa645074bf3604d6","sha256":"b5e84915c65f9e908de18c745a0cba385ca89b0ee34fb64c0fd0e32ab610e62b","sha512":"31250dd7b6b7f6b906094db4bf4b512b8e209f64a813245326ee91a8258c079effabb10e71c125f09837e240770f011d2ff5df74819f4eb72f81e81dd20d4dee","ssdeep":"","tlshash":"7821e4f7ce83764a2cd278274c56106c03a57c38a76f7787bd89a0195fc43a95025fe8","first_seen":"2023-04-07T09:30:32Z","last_seen":"2026-07-27T14:34:25.25451Z","times_seen":237,"resource_available":false,"data":"Lyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo9ICAgICAgICAgICAgQm9vdHN0cmFwIDMgTWVkaWEgUXVlcmllcyAgICAgICAgICAgICA9Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8KIAogCi8qPT09PT09PT09PSAgTW9iaWxlIEZpcnN0IE1ldGhvZCAgPT09PT09PT09PSovCiAKLyogQ3VzdG9tLCBpUGhvbmUgUmV0aW5hICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDMyMHB4KSB7Cn0KCi8qIEV4dHJhIFNtYWxsIERldmljZXMsIFBob25lcyAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA0ODBweCkgewp9CgovKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aCA6IDc2OHB4KSB7Cn0KCi8qIE1lZGl1bSBEZXZpY2VzLCBEZXNrdG9wcyAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGggOiA5OTJweCkgewp9CgovKiBMYXJnZSBEZXZpY2VzLCBXaWRlIFNjcmVlbnMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoIDogMTIwMHB4KSB7Cn0KCgovKj09PT09PT09PT0gIE5vbi1Nb2JpbGUgRmlyc3QgTWV0aG9kICA9PT09PT09PT09Ki8KIAovKiBMYXJnZSBEZXZpY2VzLCBXaWRlIFNjcmVlbnMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoIDogMTE5OXB4KSB7Cn0KCi8qIE1lZGl1bSBEZXZpY2VzLCBEZXNrdG9wcyAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiA5OTFweCkgewp9CgovKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDc2N3B4KSB7Cn0KLyogRXh0cmEgU21hbGwgRGV2aWNlcywgUGhvbmVzICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDQ3OXB4KSB7Cn0KCi8qIEV4dHJhIFNtYWxsIERldmljZXMsIFBob25lcyAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGggOiAzNjBweCkgewoKfQoKLyogQ3VzdG9tLCBpUGhvbmUgUmV0aW5hICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aCA6IDMxOXB4KSB7Cn0="}},"time_used":312,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":312,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/flaticon-png/small/f2.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.829Z","timestamp":1785133989829,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/flaticon-png/small/f2.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/png\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 10951\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":10951,"size_decoded":11138,"mime_type":"image/png","magic":"PNG image data, 90 x 90, 8-bit/color RGBA, non-interlaced","md5":"2b449c42338fc8211f185f6a8495c04d","sha1":"254a749bc9175b5c2cea9866eefaaf7cd430e18b","sha256":"d8521151ebffc92bafb23c643177760350204c82f8af10b39f15c099b1983cf1","sha512":"f93bf20fd6806bfa7455d0555dd7af5ca94ea764f45a7f15bf14b83f825d3d06386ee82f2f71b8867a5d3c70a3fa4528936a6423733474ad24589217b52a9542","ssdeep":"192:qkn20Ym+QbWkaMA6bu3ctLcJNBKHLHWMPcKMAyVuzkcCAszjpyr:5n201PbWfF42ErHtMokgs3Ar","tlshash":"7732c09eede27cb136a2150f176a2155471928acd1b39cdfb85188e384d07f354b8b61","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T14:34:25.244595Z","times_seen":47,"resource_available":false,"data":"iVBORw0KGgoAAAANSUhEUgAAAFoAAABaCAYAAAA4qEECAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA+tpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDE4LTAxLTAxVDE4OjE5OjU0KzA2OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxOC0wMS0wMVQxODoyNjozOCswNjowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxOC0wMS0wMVQxODoyNjozOCswNjowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MDM5ODg2OTFFRUVGMTFFN0FFQzhCMEFENjA0QkQ1RTciIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MDM5ODg2OTJFRUVGMTFFN0FFQzhCMEFENjA0QkQ1RTciPiA8eG1wTU06RGVyaXZlZEZyb20gc3RS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"}},"time_used":574,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":568,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/backoffice/uploads/test1.jpg","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.834Z","timestamp":1785133989834,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /backoffice/uploads/test1.jpg HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/jpeg\r\nlast-modified: Thu, 06 Feb 2020 22:04:32 GMT\r\naccept-ranges: bytes\r\ncontent-length: 27408\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":27408,"size_decoded":27596,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=12, height=960, bps=0, PhotometricInterpretation=RGB, orientation=upper-left, width=640], baseline, precision 8, 150x150, components 3","md5":"dff80d08ebfb11b16bd47a23ea9285e5","sha1":"54c971a12da79f2a5af0ccc9169612085a0832fa","sha256":"029a9f73596373572da3aa2b3bf601804ae209e0fbc6bb74e81ffcf3a4f374b9","sha512":"bceb0009cad30118b05084dd7b28d34c5015b86abfea49aab2a23cc7d1298a2446908c196351b8dfce51e6d227ffb841004b96103992fda2b737f20c33cd0ccd","ssdeep":"384:Krd6j/WAa7iFrd6j/WAWn2B5YNg7He6zHeWBgkh7aY1PKJ2h:KkTS7OkT+2PYydz+Agkh2Qh","tlshash":"a4c29e35abe3dd62f8d0963d1db1d39393219b85926376c6381c6a443f3b2926d2c21a","first_seen":"2023-12-01T08:51:25Z","last_seen":"2026-07-27T13:52:26.8731Z","times_seen":58,"resource_available":false,"data":"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aGVuUHJpbnRpbmdib29sAAAAAA5jcm9wUmVjdEJvdHRvbWxvbmcAAAAAAAAADGNyb3BSZWN0TGVmdGxvbmcAAAAAAAAADWNyb3BSZWN0UmlnaHRsb25nAAAAAAAAAAtjcm9wUmVjdFRvcGxvbmcAAAAAADhCSU0D7QAAAAAAEABIAAAAAQABAEgAAAABAAE4QklNBCYAAAAAAA4AAAAAAAAAAAAAP4AAADhCSU0EDQAAAAAABAAAAB44QklNBBkAAAAAAAQAAAAeOEJJTQPzAAAAAAAJAAAAAAAAAAABADhCSU0nEAAAAAAACgABAAAAAAAAAAE4QklNA/UAAAAAAEgAL2ZmAAEAbGZmAAYAAAAAAAEAL2ZmAAEAoZmaAAYAAAAAAAEAMgAAAAEAWgAAAAYAAAAAAAEANQAAAAEALQAAAAYAAAAAAAE4QklNA/gAAAAAAHAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAOEJJTQQIAAAAAAAQAAAAAQAAAkAAAAJAAAAAADhCSU0EHgAAAAAABAAAAAA4QklNBBoAAAAAA30AAAAGAAAAAAAAAAAAAACWAAAAlgAAACQAZwBpAHIAbAAtAHAAZQBvAHAAbABlAC0AbABhAG4AZABzAGMAYQBwAGUALQBzAHUAbgAtADMAOAA1ADUANAAuAGoAcABlAGcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAJYAAACWAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAACWAAAAAFJnaHRsb25nAAAAlgAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VP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b3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOnhtcD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wLyIgeG1wTU06RG9jdW1lbnRJRD0iNzZGNDJBOTNDQUFFN0Y1RTBBQkI2NTc1N0FCMUI3MTIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NWM4NzIyMGUtMTAwMi1lZjQyLTgxMDItNTVkNmEwYjFmZGY3IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9Ijc2RjQyQTkzQ0FBRTdGNUUwQUJCNjU3NTdBQjFCNzEyIiBkYzpmb3JtYXQ9ImltYWdlL2pwZWciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wOkNyZWF0ZURhdGU9IjIwMTctMDgtMTdUMTI6MzU6NDcrMDU6MzAiIHhtcDpNb2RpZnlEYXRlPSIyMDE3LTA4LTE3VDEyOjUzOjM0KzA1OjMwIiB4bXA6TWV0YWRhdGFEYXRlPSIyMDE3LTA4LTE3VDEyOjUzOjM0KzA1OjMwIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NWM4NzIyMGUtMTAwMi1lZjQyLTgxMDItNTVkNmEwYjFmZGY3IiBzdEV2dDp3aGVuPSIyMDE3LTA4LTE3VDEyOjUzOjM0KzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDw/eHBhY2tldCBlbmQ9InciPz7/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////7gAOQWRvYmUAZAAAAAAB/9sAhAAGBAQEBQQGBQUGCQYFBgkLCAYGCAsMCgoLCgoMEAwMDAwMDBAMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQcHBw0MDRgQEBgUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCACWAJYDAREAAhEBAxEB/90ABAAT/8QBogAAAAcBAQEBAQAAAAAAAAAABAUDAgYBAAcICQoLAQACAgMBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAIBAwMCBAIGBwMEAgYCcwECAxEEAAUhEjFBUQYTYSJxgRQykaEHFbFCI8FS0eEzFmLwJHKC8SVDNFOSorJjc8I1RCeTo7M2F1RkdMPS4ggmgwkKGBmElEVGpLRW01UoGvLj88TU5PRldYWVpbXF1eX1ZnaGlqa2xtbm9jdHV2d3h5ent8fX5/c4SFhoeIiYqLjI2Oj4KTlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+hEAAgIBAgMFBQQFBgQIAwNtAQACEQMEIRIxQQVRE2EiBnGBkTKhsfAUwdHhI0IVUmJy8TMkNEOCFpJTJaJjssIHc9I14kSDF1STCAkKGBkmNkUaJ2R0VTfyo7PDKCnT4/OElKS0xNTk9GV1hZWltcXV5fVGVmZ2hpamtsbW5vZHV2d3h5ent8fX5/c4SFhoeIiYqLjI2Oj4OUlZaXmJmam5ydnp+So6SlpqeoqaqrrK2ur6/9oADAMBAAIRAxEAPwCR359NyqZqqcglUiY+kAw3HfAO5LviWSh6YCoRiOY4xTr2xSF6y+qjV7b5IboOyEt2cytTp44sUXbMtWDilPtE9z7DCIgpsptBbLwoqHk37A3Zvu6DMgRpQFs0Wm2wpdXFtaD+V3UEf7EGuAkBmATyWW36Glk422tQh2/YQ1U/Q9VxBHekxl3KmoeWy8YMdzEGPQsCit/stwMJDEHyYrPruveVNTRLyORbd915/EhHsw+FlysyMS2ACQZk+p6fqmlx39q4RZgQSu4RyKUI8N8vErDSY0aYmDqsNZNR4l6lQw5Fdj1oN8iL6sjTaahBOaepyalR3B+Td8xcsBdryVIXkHJm3jOVgUwDXquT8DGnhkww6ohJB6Z4NSTIENgKl6026nZ+3vhvZL//0JNNGvMct804LkyCuoVe29K5I81DSLzYsdhgkyAaMhoQd/fACpFK4t3MRcHqOmEAqSo2EbNcFADUdcMgwiiGvIYWkki4ytAQJJWJMMZPRajeSRv5E+LLImmwQ71ty1zInqajePAj7i3Q8CwP+SnxH7+OSIvmWQ8kre40NG429o0z9PUAUUP+sQ7YKCd+9XaO7EPN7SG0ib7El1P6VfkONT/wOJChAf4ru9LuuCNFLbNswgm9ZAf8uNgDx/ylyPHTLgtGyeYoLq2NrOnOwuASIGNRDKN/gJ6K/wDwrZLjRwFry4wsfrNpES1lLxeL2U7dO22GBo+SzjbJLhI3tiYlDGleBJINP+I5kOO8/wBWC2d095Zsfq6yBL21b7cMh8QP5h+0vwtmPNsA6FPdPvealBupFVPsco8mnyXczFKKjbEbbFJ2VYqNOCNiTjSgu9RjPyr8QamDdm//0ZlNZtIFKdTmoEXLKoLYqeLbsy7fRhIpCyWEogA6ntiRYSChyhDFemQ8mRTNYG+qh1alBU16UHXLYjZrkEqvL2P6o800n1ayVeUhXZ2B6fS3Zf8AgsbsNsY1y5oCK99CJNSvo1jKqW0rTDssMfeeUDrI/wDwX7OSHeUkXsFOxh1HXb1g5dfU3f8AmI7Fm7f6v7OEWSpIAZLqdxpflKyDxwxTaiy/u2nYJHH/AJRrv8lUcsMjXLmxjHi58nmGq+bfNWt3R9K4glB+0iIfSYexJYg5VIlyIwHc1Z+XtQumEl3HR1+zMmzU/lalOQB+zkGwRpktnpM8MKod+IpWldj1yQCkBObO1fiiKAKCm3h9OWBqKcreJax8ZacQNttx45cJU45ikurWWk6u4kt5PQu6enIzLxWRG24Meh8UyMiCgAhKrWGewV7Sc/6RbH0nPUbbjf5ZRKLXk52r3MtEVw1W65DdiZBVtLglkYGlTkooB3VBIv1hmPXkAPnjbJ//0uihAsfWhXNWBs5apGkckVf92LWhwjcIQBicxlv2l6jK47KVnpKW5UqK41uylyV7lB+jJk5cQ44MQaUDdd/9WuWVsxjzYvcTR3ErahdimnWbf6PAdhJKB8P+xQDfB5twHRJYJrvXdX4LWR+Y9Tlsgem1f8mNd6YY7pOwZ7qWqad5L8rvegCW7cH6uGpV2pvIfBcnOXCGEI8cnkek6H5h82am+satKwEzcljBI+Gu3I5QBbmEAB6fo/lSztI1QIAAN6DL442szTn9G26rQbDJeGGBkpehGnQio6DI8KeJCT3YtlI499j4ZGUqSI2lOoay3EitR2/pkPEQcaWw62eRBUVG/H9kEd2P9MeJgYr7m9t9S9Qxp6bKOEkgNSxG9fpxu2rJDZUaw9SFHik3AoVbbfCA4xClZO8E4gl2I3LHIgqIotrj94p2qH69umJZP//T6Kv7yOpFK9c1nNy19sqREitajbDwgIWOyK9KbNWuQCSoWxDSEAVG4yUFKlq0kNvZNFK/Go5P7A+3jTphIoJgHmnmLXhdzehbp+6iokUVdtz3p1Zj9rKjKy3iNBlfkfTUtbP1ZzXlUyOdv3YNWoP+LH/4XLotUt0j886g+u+ZEtDvBb8QyjpXrT5LlGWVlzNPCgzPQLZbe2VVUAAdQMyMfJhkTgOytXr7ZY1rJZJGBp32GKEGwlA3rTIFmENOAylSOVRkSkMJ153t7lgjHi+xWu9fY5RKO6bSAW6XJo0rlK7t8Ssp7Vp0OGLXJPNHna1n9GRHaNlo0pFUYHx7hv5WwkUbYcxSb3BltIEiDkpzqr+x6V8KYS4pClqU7MjQtvPQOrDrT2yJO6lSjnc28rftLSvz6ZJX/9TpkAjCFf5s1+1OQCtMBZeQNKdsACeJDTgrEHG/E0yuQpN2h7adozJKF5cTRABX4j7Drhhso3Yt5svporF+Un79i0lxU1AIFAtfbK5lyYBifl3Tpbi/5zHikQ9STb7Ne58MMFmWZDU0hsJLnZII19VVPVgPhiHzLfFhErRwsb8s273d0b2QEmRmcn3LZVEWXMOwel2TJFCKim2ZkXGluqm6i5fjvk7Y0smvYkI338MSVpSacybAgA9a0H68BCVn1dXUiKRZG7hWB/VkeFbYR5nsZl5OwqFryHU5RMU2R3YxY6nYSTAu7eoh4evHTkAP2XHcfMYBKmuUGV2U0kkS/Vbu2kQ/7puFABHgrr9k+GWggtRjXRUvJQY0XiY9qmNyOSkdgRs2RpqyBSklS6iSYUEkIow6GmAsBupRuBBKwB+JVLD3BxIQ/wD/1egR3NGRSKnpXNbdN/NUe5ZA6jZhv8xk7RSBlmf0mADVdwAPc5VLdmGr+ZrdPqtoaTv/AHko/ZJ7V/HCTWwbIR6liWvKr0j9VI4YiAZZN6ufsqF6sx+1lJ3LeEI6R2NmbO2Vi85qQ397NK53kkPif2V/YXBM9AmI6lLfPeofVbJbBGonMC4Zd+bIAOK/6rUQZI7Ckw52jdIutVstNjkggtYIkX4jdShTt3Y/ZGSgKDdLdJ2/NLW2uhDBc6XOtaGKKcFjv0HvlsgQGmJBZrpOrXd8FcIUDCrL1+Y+jBEsyBSU+aL7VY4JUgPozEFY5TvxJ74yKiubzibWrKwJudYuNV1OJZPTeS3+GESU5FAxI5NT9nJxgSLacmUA0eaf+XfzA8pXs4tYYX026K1hivKx+oR/JIDTl9PxZIwIWGWMnocZXU9P5ipYrxfkeRHhv3rlR3Z1ReQeavL8un6lJcW/L1XcFQpI996ZV1ptiAUHL5lu7SbTo5/3sV7zMsb0r6asF2b7QNT44BA0T3MsoAIHe9K0utxpoguJDM0NDDM32mQmqkn8MlA24OUUiLKyl9ckrSLoy0ocnIOMDumo0uFIylR6ko69qDen4Yq//9abXCyRMCpqAd81hckBExRNdSxv2H2sYiykqr0RXNOIU/APfth5IAY7qeoC3ieahYrsi9S0h8PllMpOTCLC5NWtLa49aVWvtU3MdvGOQiLeLfZXxeQ5WLbiPkjtEhuZp21Gccp0B9Ff91xk1qxJ+2wyUIkb9WEpDl0YT5iu/wBI6zBaW5LIkgDN4lW2Hz5tU4TybIDdPNa/LPUNantnvbyVtMhoxsIVoGPWrsT8X3Zdilw9N0ZcfFzOy21/KvSEnpZaPPJuQJZ2VUUHrxFPfL/EkejSNPCPV6h5N8ttpixQNUqFoVc8j7b4Ix3ZyNu80+XV1C59MgCPY/SD7YyhuoOyRW35e30Efo2htkt68hC8QdeR6tU1+L/K+1ho1sVsdQmtn+XFrK6y6ssF1woVQxrwWnTjUYOE9UmugTi+tLaCHhCioFGwUU6fLBIIAeYeZbE3crBQAZSAzk04IDVmX/KH7OYpO7kQrq8t81on+JLazg2FnCkND/NI/Lr/ADUNWyyP0e9hlNz+D1zy5FL9WiHR1UA5XicbOySYBIQwp6hFVHcnL3EQcjS84qGux5DuDQ5TvdNlB//X6HBEHueLDY7V9s1QLllU9RYp2jQUCnpkgd1QWrSNHC8ztsKkfwyOQpgN2A61cvczragssQ/vDHQuVPZa/tN/N+yuUUSXLFAIdbHy9ZRepJHKqcuS28ky0lk6gyFFqwXrxy4RprJJW6vrM9xZC1syLWIrSZlBWit4A1asg7t8XHDLbZEe9iemx28HmbSrIijyTcytRULGpIB+ZOQrZvgfU+hNMSJbZRIBSm+ZUBssiijJaxjkeKqO5yxgQv0yWC5lDwNyXf4u30YxLCSzWBLB8SRGZ3OyL1OGRQEhs/NemSStbsxiuoiQ8Mg4uCO1D1yAyBu8Mo5tbjccTIKdhiZJ4UDf30EsVUb4h0yuZQBu8w/MHzdo/lzUoIbpJJrl7czwQxqCCS1FDMfshiu/+TlfhGXJRljHY83nXlq2n1bVJdUvDzeWVpphT9s7n5oo+FcjmPQIjfMvUPL93J6ZYkipLUHYdKZCBa8gT6e5kSJJVq9NyvenbMgOJILkuP3D3BRvUqGUe1d8BPqUDZ//0OjKCo4oaN15ZqnMV/0cjkSyTBGNKjc1+gYeEKkvmuWGK29MTAKELSNQgingD/HI5GzGGNWNlDMjspWCIASXEm7O3IdOR6uw/wCBTGI2ZyKW6smmWZNxMnL0l9SG37qtftEfzE/Y9RuP+TjYCKJY7eeYJTbT3CRx2VpDyZpd3diBVqO32m7fAv8AssiCSyIAeVab5juG886bqDSGn1qMcegCF6cT99Tmb4Q4CHHjlIyAvpeLzbGIXRm4Sxni6HqCMxo5NnZcG7HpNdvPMGqCwt3b6mh/0l06H/IB/wCJYgmRTIiI82exeZV0eKC2lsnWOGMJFcIQVI/yh1BGX8VdHG4RLqkuqfmffNMF0q0jndjRTMxCqRsTtv8ARkDmJ5M/CA5pFrWm39+jahdUW8lPMtH8PE07YJRsbpjMA7JJFruqW7fV5/3hXZZF7/MdjlJkQ3Agptpep3k9zwkHEDrXvXAJWxkHlf5rSPq35lXFshqLKG3tSewKpzf/AIZ8yuLhg4IFzLKfKmlpFB6ES7hKADrUita5g8y3yLIfLtrI6xx1IDh1Yj6aH7xkoc2GTkyuxtGWBpWUyBKGp8OhOZMHFmqpG/OR2AMZACDwFd9sJ5hiOT//0ehLNGH3Y0Y7U6jNVblhExSkMQPs+x3oO/zyXVLHfNMNxeWEsEZMcs7Rxct9g5DMf+B+HK8m7bjNFByywqZo0/d2FkKyeL8dya++G6SAwrV52u1Mkq1N5PHwhPSgPLiae/8AxHK2xhfnm6mFt+ja0aQVdhtXrQDwUN2yeM7gqRYLyu7ikgeI14sBVSNqUPbNnA263IKp9FeWrqy81+W7PVQR60iCG+UHdZ4xR6/P7Y/yWzXZMfDIh22LLxRBWRaf5p0G+nfQvRnig4SGymWrSK32uD1FGA+yMsxC0yFs3kv9bv7H1RYQ6hasgPqQOUdeTcOLRturgn4l/ZyZstAMAd7iUlj0jVo7qVtO0NoJI5FSeW5cUVmNKqP2wtak5AQI6Mzlx1ubQGvjzBNAbFNQMt5IXSRbQBIYgH4VaXc8wPi9P7TYQCTusTxchwj+chfLvliHRrNoJZHuZno8k0zFmZ+7bk0r4ZXl5s4CgmSy2lgs1/ckR21sjTTueyIKn7/sjIAbplKg8f0tbrUtWutYuwUe9ma4eu55OeXH/YKVXJZpdA04xT0GyuGs4BcKvKWWiW0Y7uduvgv2mOUx2TLdkui2T2kUETMVLR1V2BoeR3P8cmBTAm2a2SoIDGpABWhruScuiXGmt4IIvToDKwr8gDiSi3//0pnZyD0SzGpHQnNUPptyzzpGWYZqSSOBvXgaV9sMRtaTzWX6gEcZKgENuKjavQ4CziWC+YnltNEkVpOTO/GZh3BqwFR78f8Agcrk3R5sPfVSbqGEEKzAPEeg5Kaca/5Q/wCGyIlbIxSX8xbJnVNRhr6JVqkbUVtwfmj/AAtlmM70vR5vryVtNNmYUkkiIf5qQDmfh5lwM42DIvym82z6HrJtZavpeoHjcp/I6j4JFH/Ct/k5HUxBFs9LIg10L6N0VIrmcTIRIrJwPup3GY2Pm5szsqXrvp0hk+rtMCKerE5imA8CRQP88vMq5qKkN0pvfMc80b28Vrdy+t/eJPLRD7NxAPHI+IO5IwwBtW0iynZucq/F1CqOMa1/lHc/5WDiJWcluq2wjmBJ+JtwMqnzRA28k86eaG1u6TQdKJksTJ/pEy9LiVDsq/8AFEZ3Z/su3+rhA4RfVEjZ8lZ7eKForCH7duoWRqE0cmrbZjlQzS10pJY4FkUqilVQA7jcVPzxAYGTIdVuCLS3dqB0WtRt1+EinbcVyeQsMY3ZBolwlxaBHP7ziW5eDA1ycJWGrJsUWWPrggLULxL/AEdKfPJWwp//05NC4jGx5K3UZqdnLkmwuLSKzae5ASJCEjkNTVmNAOI8clGqTRJSu/1IzhvQHIMCA3RVUbb5CUr5N0YUw/Wv30X1eQ8lPxlR0PHb6a9sqbQ828xSc5DFEKHdUA3J36/R2xizUotbuJom0m6JuHGzzdTyp0bxbx/4F8nOPUNcJb0xHzPbySPaQwqPTgRlAHYs1TmXpcgo206nESRSO8taO0epWSkbs4qfoOV5svEC24sPC900S7udHkinjBktf92Q9wO/HKYTrdtlG3oiX+i3VolxzWSJxyFaH6KZl2CGoAoA6hoHIqqIgB60GCwmipXWvaTbxEiRS3RVXAZhPAXlP5ra5dHR5E9VoJb5vTQJ9pYh8T/eu2VQBMrYZJAR7nlumau1gyiGT2EoRVoO1WO+XmJLjmY97JdO1u5spRIQsyseTqT8RPWobu2DwAUeMQ9K8u61pV/Ckgn9ElQojenJXLV4mnt8S5VPFw+5nGfEnOuAS2ECwEOBKvKn2grbUP68pyCxs2Y9junOgx8YY5QPgGzHt075ZBqyDdNC0n10TECnQCm1aUw36mD/AP/UOGcw2yMrCnt1rmoPK3MHNfe3El7ohjVayxTROwqRVVkHIGniMhKTZAbrpZGS2ZIUVlDFXZd1PE7KKfa4+GSLYGI65LK/LmwiAqzyCg47UNT06fayotoDz/Vo5pATpsbCM7PqTqePh+5X/dh/4XLIUNyiV8gr+W9FRUkuEjaO2g3kvJ9hy8anr9H7WM5WiMUvg0tL3UHnQcoi5PKmzVPVciJUKcjhZRpPl8Jewycdl3H8Mhaa2Z8LdRbivh9GWBqJSa6jmh5CKRo1bqFNBhBK2lUq3BO9zIK+JwEllavpcYW4DOxkYb774IsZFh/5iSTXGuW8Mo/cm3Zrdq9XD0lB9x8H+xzN0/IuBqeYed6hpVCWT7sygXEIdp19c21IJGPp9EJ/ZxKgsn0iYhyC5XlsSppQ9iPDBSbeveT9ffVNNW0uKG5tXWppQtTow/1h/wANlWXFYsNsMm+70bT40pSNeIpQoe65RQ6M770SyxmREBAdd2bsag7ZHqr/AP/VPo9Ea6tyJKxl6FfYjNWI3zcziTKLSvT06SBSBXaRn7juqkdzg4NkxluxnWNTmtwbGwiSJ1H25AWAB6BY02Ff8s5AhyAWB3OqWH1oiaQ6rer1jApbR+J3PH/ZP/sVyuvk2tvFPqZWSMtMOoWMkxV+nr/xHKyW2MEbB5Q1LUGCalOzWsVOFovwxgnxUdclG0mgm0WgQ2oAVRRdgBh4UAoyKJYgpCgcTsfn2+/HkpRqXAMYH4d8mCwIS68K8SvWu/8AmMLEpbJGtKgYKS3a8IRI4WhIoWwBBY354tGk0i11VVr+jrgSTbb+hOPTl+6qtmRp5Ua/nNGohcb7mG6nacGPHo3T6DmfTrksktUdCGX5HFCO03lEPTlFaf3b+IH7J98QpZx5XumhBkRqOrKPfj9r9YySvatAvlvLEXakcyvCRe9fH6cxcsOGVjkW2JsJjHcW/wBVlXieJZRy/arWu2UCQ3DbT//W6C8bhlCKOCj7RptmuckIe7ltY7Uy3Eyw2q1rK+3L/UU9a92xJHXk2RienNjEl9BJPbrFGBa3LkSADkZA/wAKsxUUHso+zg2rk2cjzYJ5s8rtHdtY2kYgXgnMKKKZWZnc08aMuCGMyKZTEQs00X+kIi2p9EoOJ6EEe46ZlHCJCi40cpibBZjoeuW+oRGMJ6N7GP3kJ6N4sniv/Ecw8mAw9znYs4yDzRkkZNT3p18MqpuBQc6BlKHeowUm0vkkeLZzXAFQ8tyXpQ/TjaDFQnmpSpxtQFrFnVYx0c0p88bWk6ttJhuLSa2nUNBOjRSqehVl4n8MsDEvJI40nsYt+VFpy/mCniD/AMLm0DpigLi3CvxG4O+KEVHEoSn7VPvGFU70dvRtJJCaUYBT7kGmKHo/knWPTW3jJ+CcMjD6djjOPEKZRNFmslwFMNB8Lk1b5KR99c1d7uW//9eZX+rej8IKqDIUXb1HJX7Xpr0anRf+GzWEm6c6MRzQcdimop9evVeWDdorEHlzp0MrU+I16IvGNcyYYOsmuebpFZNdWmnut1elJbs1W2tEoqoafYr0CRj7bDGR4jwxWIrcsWvWF1evcTSRyTSNyoCw6+FRl8MYi0yyWhZrWJyyVU06qrBiPo65KmNpPcWckc4lhcpNEeUcq7MpyJHQpBI3DK9F11b9PRlTjdIKyRr+0B1ZR+tf2c1+XEYb/wALs8OYT/rIuRVc1Qivh0/A5S5FJZc2UjAila9D4eByJCUuXT7tXoYzSvT3wUUqtxYOCoYUFKnGkBH6ZpayTI7j4EFQfxyUYsZGgq+abs6b5fvZYTR1hfj8+OWtfR43oDhtGsKj/dND9DkZs3Tr7lOUy/dgVeUoVHcYqj7uX0NHUjblMBX/AGJwoTzQL8xTWifyFV+k/awgq9KGtc9KMq7vG3Bj4OTwr9IauY8sdZQehbRK4kP/0JNaR29sgkuXpfXK/FM68lUH9hRUcUqfs/8ABZiaaBA4upcnNO9uijf6y9sgt7UPJGvwgtRIyaVJ4r8Tf6tVXLjAnm1iQDGprOe6uPrV3MZJ36segXsqgbKo/lGThABhKVoW60u34tRjzH2aHfJsUnuNNYNyMpPH7D13p4NX8DgVJL3Vtc0y4rcg3lm26ll4so9mGRKUw0vWLHUHSawnMV7EQyCvGVSO4/mwEWGQO99Xo+i6rbaxB6dxGqahGKzIBQMB+2n/ABsP2cwcuHh9zscOfi96IlsIV+ICg8K5RwuQJqahEJQiu1R40Hb6MQkqF3HDKy8aF9wcSkK1qrRxMAKUFB82O/4DEIKQed0aXQr2OtT6D/qw9WMuTyXQo/8AcFYEbVjfb/Zk5tHTS5omZFbix7bn54ULo15EDxOKojXD6OlWrMPhExJB8Qm2ArTtEuy1zA1fhiq7H5b4QrJoPMBXy/cSBtnmHLwqHU5JD//RkGuFysQIpJ6ikMfHfYe2JVK71pxxopNAeJqNx3xVLZWuu67U6CnTCqEdp9vhNPmK4q2noFP31VXx2P04qhXgs0gd1uY5bMk84plYKPHgzAYFed+abPy+92JtCvzHqQIpbIkpJP8AkMqkffkDSWWeUbrzi8sMGpWRi1BCDa3iPGS/tIisWU/Nf9fBKq35MoXYrm9RWW5ktla4h9GalJY6qwqOpBUkUOa6Yo7cnawJI32KAuvWKHhVWqOJ9+3TKy3B0AXmCT+8/aXwxCSi0LgPxFRUfqwsCk+uCM6fdiYhV9CSp69jhU8nkmiBf0DYAHbi1G9+ZzaDk6af1FVem4+44sWrbl6ngK7EYQqp5w5foW07D1viA6fZOAqlllLdLZutvCZC6lWcMAI17samrfJcKE2TfRJFqwtgtBJ4vyFTT54Vf//Z"}},"time_used":575,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":568,"receive":7,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/icomoon.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.913Z","timestamp":1785133989913,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/icomoon.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/css/style-main.css\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 3888\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":29855,"size_decoded":4118,"mime_type":"text/css","magic":"ASCII text","md5":"193d96887f59ca490e1672508b721681","sha1":"90f335068725e6ae52693e48d8954a20d42ee866","sha256":"9e0f71d66b77a6228b0b9bccd1114dffdd7fd29de559cc22cf8fd7e8a6a1a6ed","sha512":"37292130723a3148b0d1f92d36cefcb7137ad76edaacbe5bd711ca24347ded80bba65cd5ea2b6b9dff6419f053ca50f1f8cbb133ee0b6b2d634fb9310dae9a9e","ssdeep":"384:5ovKIuaj8lev3D8+HzU86jLt174iq1gqq2:gF84v3DpYqV","tlshash":"04d267a4e9bd1c8113a1d0d5726b3602eb19b36ac90e6d1cf653fa8cbbc1695c5c23dc","first_seen":"2023-07-02T17:41:12Z","last_seen":"2026-07-27T12:40:24.593815Z","times_seen":97,"resource_available":false,"data":"QGZvbnQtZmFjZSB7CiAgICBmb250LWZhbWlseTogJ2ljb21vb24nOwogICAgc3JjOiB1cmwoJy4uL2ZvbnRzL2ljb21vb24udHRmJykgZm9ybWF0KCd0cnVldHlwZScpOwogICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKfQoKCltjbGFzc149Imljb21vb24tIl0sIFtjbGFzcyo9IiBpY29tb29uLSJdIHsKICAgIC8qIHVzZSAhaW1wb3J0YW50IHRvIHByZXZlbnQgaXNzdWVzIHdpdGggYnJvd3NlciBleHRlbnNpb25zIHRoYXQgY2hhbmdlIGZvbnRzICovCiAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7CiAgICBzcGVhazogbm9uZTsKICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsKICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDsKICAgIHRleHQtdHJhbnNmb3JtOiBub25lOwogICAgbGluZS1oZWlnaHQ6IDE7CgogICAgLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovCiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7Cn0KCi5pY29tb29uLWhvbWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwMCI7Cn0KLmljb21vb24taG9tZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwMSI7Cn0KLmljb21vb24taG9tZTM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwMiI7Cn0KLmljb21vb24tb2ZmaWNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MDMiOwp9Ci5pY29tb29uLW5ld3NwYXBlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTA0IjsKfQouaWNvbW9vbi1wZW5jaWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwNSI7Cn0KLmljb21vb24tcGVuY2lsMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTA2IjsKfQouaWNvbW9vbi1xdWlsbDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTA3IjsKfQouaWNvbW9vbi1wZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwOCI7Cn0KLmljb21vb24tYmxvZzpiZWZvcmUgewogICAgY29udGVudDogIlxlOTA5IjsKfQouaWNvbW9vbi1leWVkcm9wcGVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MGEiOwp9Ci5pY29tb29uLWRyb3BsZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwYiI7Cn0KLmljb21vb24tcGFpbnQtZm9ybWF0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MGMiOwp9Ci5pY29tb29uLWltYWdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MGQiOwp9Ci5pY29tb29uLWltYWdlczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTBlIjsKfQouaWNvbW9vbi1jYW1lcmE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkwZiI7Cn0KLmljb21vb24taGVhZHBob25lczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTEwIjsKfQouaWNvbW9vbi1tdXNpYzpiZWZvcmUgewogICAgY29udGVudDogIlxlOTExIjsKfQouaWNvbW9vbi1wbGF5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MTIiOwp9Ci5pY29tb29uLWZpbG06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkxMyI7Cn0KLmljb21vb24tdmlkZW8tY2FtZXJhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MTQiOwp9Ci5pY29tb29uLWRpY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkxNSI7Cn0KLmljb21vb24tcGFjbWFuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MTYiOwp9Ci5pY29tb29uLXNwYWRlczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTE3IjsKfQouaWNvbW9vbi1jbHViczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTE4IjsKfQouaWNvbW9vbi1kaWFtb25kczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTE5IjsKfQouaWNvbW9vbi1idWxsaG9ybjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTFhIjsKfQouaWNvbW9vbi1jb25uZWN0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MWIiOwp9Ci5pY29tb29uLXBvZGNhc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkxYyI7Cn0KLmljb21vb24tZmVlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTFkIjsKfQouaWNvbW9vbi1taWM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkxZSI7Cn0KLmljb21vb24tYm9vazpiZWZvcmUgewogICAgY29udGVudDogIlxlOTFmIjsKfQouaWNvbW9vbi1ib29rczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTIwIjsKfQouaWNvbW9vbi1saWJyYXJ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MjEiOwp9Ci5pY29tb29uLWZpbGUtdGV4dDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTIyIjsKfQouaWNvbW9vbi1wcm9maWxlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MjMiOwp9Ci5pY29tb29uLWZpbGUtZW1wdHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkyNCI7Cn0KLmljb21vb24tZmlsZXMtZW1wdHk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkyNSI7Cn0KLmljb21vb24tZmlsZS10ZXh0MjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTI2IjsKfQouaWNvbW9vbi1maWxlLXBpY3R1cmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkyNyI7Cn0KLmljb21vb24tZmlsZS1tdXNpYzpiZWZvcmUgewogICAgY29udGVudDogIlxlOTI4IjsKfQouaWNvbW9vbi1maWxlLXBsYXk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkyOSI7Cn0KLmljb21vb24tZmlsZS12aWRlbzpiZWZvcmUgewogICAgY29udGVudDogIlxlOTJhIjsKfQouaWNvbW9vbi1maWxlLXppcDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTJiIjsKfQouaWNvbW9vbi1jb3B5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MmMiOwp9Ci5pY29tb29uLXBhc3RlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MmQiOwp9Ci5pY29tb29uLXN0YWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MmUiOwp9Ci5pY29tb29uLWZvbGRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTJmIjsKfQouaWNvbW9vbi1mb2xkZXItb3BlbjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTMwIjsKfQouaWNvbW9vbi1mb2xkZXItcGx1czpiZWZvcmUgewogICAgY29udGVudDogIlxlOTMxIjsKfQouaWNvbW9vbi1mb2xkZXItbWludXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzMiI7Cn0KLmljb21vb24tZm9sZGVyLWRvd25sb2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MzMiOwp9Ci5pY29tb29uLWZvbGRlci11cGxvYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzNCI7Cn0KLmljb21vb24tcHJpY2UtdGFnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MzUiOwp9Ci5pY29tb29uLXByaWNlLXRhZ3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzNiI7Cn0KLmljb21vb24tYmFyY29kZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTM3IjsKfQouaWNvbW9vbi1xcmNvZGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzOCI7Cn0KLmljb21vb24tdGlja2V0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5MzkiOwp9Ci5pY29tb29uLWNhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzYSI7Cn0KLmljb21vb24tY29pbi1kb2xsYXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzYiI7Cn0KLmljb21vb24tY29pbi1ldXJvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5M2MiOwp9Ci5pY29tb29uLWNvaW4tcG91bmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzZCI7Cn0KLmljb21vb24tY29pbi15ZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzZSI7Cn0KLmljb21vb24tY3JlZGl0LWNhcmQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTkzZiI7Cn0KLmljb21vb24tY2FsY3VsYXRvcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTQwIjsKfQouaWNvbW9vbi1saWZlYnVveTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTQxIjsKfQouaWNvbW9vbi1waG9uZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTQyIjsKfQouaWNvbW9vbi1waG9uZS1oYW5nLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NDMiOwp9Ci5pY29tb29uLWFkZHJlc3MtYm9vazpiZWZvcmUgewogICAgY29udGVudDogIlxlOTQ0IjsKfQouaWNvbW9vbi1lbnZlbG9wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NDUiOwp9Ci5pY29tb29uLXB1c2hwaW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0NiI7Cn0KLmljb21vb24tbG9jYXRpb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0NyI7Cn0KLmljb21vb24tbG9jYXRpb24yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NDgiOwp9Ci5pY29tb29uLWNvbXBhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0OSI7Cn0KLmljb21vb24tY29tcGFzczI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0YSI7Cn0KLmljb21vb24tbWFwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NGIiOwp9Ci5pY29tb29uLW1hcDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0YyI7Cn0KLmljb21vb24taGlzdG9yeTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTRkIjsKfQouaWNvbW9vbi1jbG9jazpiZWZvcmUgewogICAgY29udGVudDogIlxlOTRlIjsKfQouaWNvbW9vbi1jbG9jazI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk0ZiI7Cn0KLmljb21vb24tYWxhcm06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1MCI7Cn0KLmljb21vb24tYmVsbDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTUxIjsKfQouaWNvbW9vbi1zdG9wd2F0Y2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1MiI7Cn0KLmljb21vb24tY2FsZW5kYXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1MyI7Cn0KLmljb21vb24tcHJpbnRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTU0IjsKfQouaWNvbW9vbi1rZXlib2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTU1IjsKfQouaWNvbW9vbi1kaXNwbGF5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NTYiOwp9Ci5pY29tb29uLWxhcHRvcDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTU3IjsKfQouaWNvbW9vbi1tb2JpbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1OCI7Cn0KLmljb21vb24tbW9iaWxlMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTU5IjsKfQouaWNvbW9vbi10YWJsZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1YSI7Cn0KLmljb21vb24tdHY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1YiI7Cn0KLmljb21vb24tZHJhd2VyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NWMiOwp9Ci5pY29tb29uLWRyYXdlcjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk1ZCI7Cn0KLmljb21vb24tYm94LWFkZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTVlIjsKfQouaWNvbW9vbi1ib3gtcmVtb3ZlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NWYiOwp9Ci5pY29tb29uLWRvd25sb2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NjAiOwp9Ci5pY29tb29uLXVwbG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTYxIjsKfQouaWNvbW9vbi1mbG9wcHktZGlzazpiZWZvcmUgewogICAgY29udGVudDogIlxlOTYyIjsKfQouaWNvbW9vbi1kcml2ZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTYzIjsKfQouaWNvbW9vbi1kYXRhYmFzZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTY0IjsKfQouaWNvbW9vbi11bmRvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NjUiOwp9Ci5pY29tb29uLXJlZG86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk2NiI7Cn0KLmljb21vb24tdW5kbzI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk2NyI7Cn0KLmljb21vb24tcmVkbzI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk2OCI7Cn0KLmljb21vb24tZm9yd2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTY5IjsKfQouaWNvbW9vbi1yZXBseTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTZhIjsKfQouaWNvbW9vbi1idWJibGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk2YiI7Cn0KLmljb21vb24tYnViYmxlczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTZjIjsKfQouaWNvbW9vbi1idWJibGVzMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTZkIjsKfQouaWNvbW9vbi1idWJibGUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NmUiOwp9Ci5pY29tb29uLWJ1YmJsZXMzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NmYiOwp9Ci5pY29tb29uLWJ1YmJsZXM0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NzAiOwp9Ci5pY29tb29uLXVzZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk3MSI7Cn0KLmljb21vb24tdXNlcnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk3MiI7Cn0KLmljb21vb24tdXNlci1wbHVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5NzMiOwp9Ci5pY29tb29uLXVzZXItbWludXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk3NCI7Cn0KLmljb21vb24tdXNlci1jaGVjazpiZWZvcmUgewogICAgY29udGVudDogIlxlOTc1IjsKfQouaWNvbW9vbi11c2VyLXRpZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOTc2IjsKfQouaWNvbW9vbi1xdW90ZXMtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTc3IjsKfQouaWNvbW9vbi1xdW90ZXMtcmlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk3OCI7Cn0KLmljb21vb24taG91ci1nbGFzczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTc5IjsKfQouaWNvbW9vbi1zcGlubmVyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2EiOwp9Ci5pY29tb29uLXNwaW5uZXIyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2IiOwp9Ci5pY29tb29uLXNwaW5uZXIzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2MiOwp9Ci5pY29tb29uLXNwaW5uZXI0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2QiOwp9Ci5pY29tb29uLXNwaW5uZXI1OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2UiOwp9Ci5pY29tb29uLXNwaW5uZXI2OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5N2YiOwp9Ci5pY29tb29uLXNwaW5uZXI3OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ODAiOwp9Ci5pY29tb29uLXNwaW5uZXI4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ODEiOwp9Ci5pY29tb29uLXNwaW5uZXI5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ODIiOwp9Ci5pY29tb29uLXNwaW5uZXIxMDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTgzIjsKfQouaWNvbW9vbi1zcGlubmVyMTE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk4NCI7Cn0KLmljb21vb24tYmlub2N1bGFyczpiZWZvcmUgewogICAgY29udGVudDogIlxlOTg1IjsKfQouaWNvbW9vbi1zZWFyY2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk4NiI7Cn0KLmljb21vb24tem9vbS1pbjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTg3IjsKfQouaWNvbW9vbi16b29tLW91dDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTg4IjsKfQouaWNvbW9vbi1lbmxhcmdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ODkiOwp9Ci5pY29tb29uLXNocmluazpiZWZvcmUgewogICAgY29udGVudDogIlxlOThhIjsKfQouaWNvbW9vbi1lbmxhcmdlMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOThiIjsKfQouaWNvbW9vbi1zaHJpbmsyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OGMiOwp9Ci5pY29tb29uLWtleTpiZWZvcmUgewogICAgY29udGVudDogIlxlOThkIjsKfQouaWNvbW9vbi1rZXkyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OGUiOwp9Ci5pY29tb29uLWxvY2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk4ZiI7Cn0KLmljb21vb24tdW5sb2NrZWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk5MCI7Cn0KLmljb21vb24td3JlbmNoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OTEiOwp9Ci5pY29tb29uLWVxdWFsaXplcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTkyIjsKfQouaWNvbW9vbi1lcXVhbGl6ZXIyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OTMiOwp9Ci5pY29tb29uLWNvZzpiZWZvcmUgewogICAgY29udGVudDogIlxlOTk0IjsKfQouaWNvbW9vbi1jb2dzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OTUiOwp9Ci5pY29tb29uLWhhbW1lcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOTk2IjsKfQouaWNvbW9vbi1tYWdpYy13YW5kOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OTciOwp9Ci5pY29tb29uLWFpZC1raXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk5OCI7Cn0KLmljb21vb24tYnVnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OTkiOwp9Ci5pY29tb29uLXBpZS1jaGFydDpiZWZvcmUgewogICAgY29udGVudDogIlxlOTlhIjsKfQouaWNvbW9vbi1zdGF0cy1kb3RzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OWIiOwp9Ci5pY29tb29uLXN0YXRzLWJhcnM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk5YyI7Cn0KLmljb21vb24tc3RhdHMtYmFyczI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk5ZCI7Cn0KLmljb21vb24tdHJvcGh5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5OWUiOwp9Ci5pY29tb29uLWdpZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTk5ZiI7Cn0KLmljb21vb24tZ2xhc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlhMCI7Cn0KLmljb21vb24tZ2xhc3MyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YTEiOwp9Ci5pY29tb29uLW11ZzpiZWZvcmUgewogICAgY29udGVudDogIlxlOWEyIjsKfQouaWNvbW9vbi1zcG9vbi1rbmlmZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOWEzIjsKfQouaWNvbW9vbi1sZWFmOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YTQiOwp9Ci5pY29tb29uLXJvY2tldDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWE1IjsKfQouaWNvbW9vbi1tZXRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWE2IjsKfQouaWNvbW9vbi1tZXRlcjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlhNyI7Cn0KLmljb21vb24taGFtbWVyMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWE4IjsKfQouaWNvbW9vbi1maXJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YTkiOwp9Ci5pY29tb29uLWxhYjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWFhIjsKfQouaWNvbW9vbi1tYWduZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlhYiI7Cn0KLmljb21vb24tYmluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YWMiOwp9Ci5pY29tb29uLWJpbjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlhZCI7Cn0KLmljb21vb24tYnJpZWZjYXNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YWUiOwp9Ci5pY29tb29uLWFpcnBsYW5lOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YWYiOwp9Ci5pY29tb29uLXRydWNrOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YjAiOwp9Ci5pY29tb29uLXJvYWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTliMSI7Cn0KLmljb21vb24tYWNjZXNzaWJpbGl0eTpiZWZvcmUgewogICAgY29udGVudDogIlxlOWIyIjsKfQouaWNvbW9vbi10YXJnZXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTliMyI7Cn0KLmljb21vb24tc2hpZWxkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YjQiOwp9Ci5pY29tb29uLXBvd2VyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YjUiOwp9Ci5pY29tb29uLXN3aXRjaDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWI2IjsKfQouaWNvbW9vbi1wb3dlci1jb3JkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YjciOwp9Ci5pY29tb29uLWNsaXBib2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWI4IjsKfQouaWNvbW9vbi1saXN0LW51bWJlcmVkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YjkiOwp9Ci5pY29tb29uLWxpc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTliYSI7Cn0KLmljb21vb24tbGlzdDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTliYiI7Cn0KLmljb21vb24tdHJlZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOWJjIjsKfQouaWNvbW9vbi1tZW51OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YmQiOwp9Ci5pY29tb29uLW1lbnUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YmUiOwp9Ci5pY29tb29uLW1lbnUzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YmYiOwp9Ci5pY29tb29uLW1lbnU0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YzAiOwp9Ci5pY29tb29uLWNsb3VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YzEiOwp9Ci5pY29tb29uLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5YzIiOwp9Ci5pY29tb29uLWNsb3VkLXVwbG9hZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWMzIjsKfQouaWNvbW9vbi1jbG91ZC1jaGVjazpiZWZvcmUgewogICAgY29udGVudDogIlxlOWM0IjsKfQouaWNvbW9vbi1kb3dubG9hZDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTljNSI7Cn0KLmljb21vb24tdXBsb2FkMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWM2IjsKfQouaWNvbW9vbi1kb3dubG9hZDM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTljNyI7Cn0KLmljb21vb24tdXBsb2FkMzpiZWZvcmUgewogICAgY29udGVudDogIlxlOWM4IjsKfQouaWNvbW9vbi1zcGhlcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTljOSI7Cn0KLmljb21vb24tZWFydGg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTljYSI7Cn0KLmljb21vb24tbGluazpiZWZvcmUgewogICAgY29udGVudDogIlxlOWNiIjsKfQouaWNvbW9vbi1mbGFnOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5Y2MiOwp9Ci5pY29tb29uLWF0dGFjaG1lbnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTljZCI7Cn0KLmljb21vb24tZXllOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5Y2UiOwp9Ci5pY29tb29uLWV5ZS1wbHVzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5Y2YiOwp9Ci5pY29tb29uLWV5ZS1taW51czpiZWZvcmUgewogICAgY29udGVudDogIlxlOWQwIjsKfQouaWNvbW9vbi1leWUtYmxvY2tlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWQxIjsKfQouaWNvbW9vbi1ib29rbWFyazpiZWZvcmUgewogICAgY29udGVudDogIlxlOWQyIjsKfQouaWNvbW9vbi1ib29rbWFya3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlkMyI7Cn0KLmljb21vb24tc3VuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZDQiOwp9Ci5pY29tb29uLWNvbnRyYXN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZDUiOwp9Ci5pY29tb29uLWJyaWdodG5lc3MtY29udHJhc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlkNiI7Cn0KLmljb21vb24tc3Rhci1lbXB0eTpiZWZvcmUgewogICAgY29udGVudDogIlxlOWQ3IjsKfQouaWNvbW9vbi1zdGFyLWhhbGY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlkOCI7Cn0KLmljb21vb24tc3Rhci1mdWxsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZDkiOwp9Ci5pY29tb29uLWhlYXJ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZGEiOwp9Ci5pY29tb29uLWhlYXJ0LWJyb2tlbjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWRiIjsKfQouaWNvbW9vbi1tYW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlkYyI7Cn0KLmljb21vb24td29tYW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlkZCI7Cn0KLmljb21vb24tbWFuLXdvbWFuOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZGUiOwp9Ci5pY29tb29uLWhhcHB5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZGYiOwp9Ci5pY29tb29uLWhhcHB5MjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWUwIjsKfQouaWNvbW9vbi1zbWlsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlOWUxIjsKfQouaWNvbW9vbi1zbWlsZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllMiI7Cn0KLmljb21vb24tdG9uZ3VlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZTMiOwp9Ci5pY29tb29uLXRvbmd1ZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllNCI7Cn0KLmljb21vb24tc2FkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZTUiOwp9Ci5pY29tb29uLXNhZDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllNiI7Cn0KLmljb21vb24td2luazpiZWZvcmUgewogICAgY29udGVudDogIlxlOWU3IjsKfQouaWNvbW9vbi13aW5rMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWU4IjsKfQouaWNvbW9vbi1ncmluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZTkiOwp9Ci5pY29tb29uLWdyaW4yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZWEiOwp9Ci5pY29tb29uLWNvb2w6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllYiI7Cn0KLmljb21vb24tY29vbDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllYyI7Cn0KLmljb21vb24tYW5ncnk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllZCI7Cn0KLmljb21vb24tYW5ncnkyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZWUiOwp9Ci5pY29tb29uLWV2aWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTllZiI7Cn0KLmljb21vb24tZXZpbDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlmMCI7Cn0KLmljb21vb24tc2hvY2tlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWYxIjsKfQouaWNvbW9vbi1zaG9ja2VkMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWYyIjsKfQouaWNvbW9vbi1iYWZmbGVkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZjMiOwp9Ci5pY29tb29uLWJhZmZsZWQyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZjQiOwp9Ci5pY29tb29uLWNvbmZ1c2VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZjUiOwp9Ci5pY29tb29uLWNvbmZ1c2VkMjpiZWZvcmUgewogICAgY29udGVudDogIlxlOWY2IjsKfQouaWNvbW9vbi1uZXV0cmFsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZjciOwp9Ci5pY29tb29uLW5ldXRyYWwyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZjgiOwp9Ci5pY29tb29uLWhpcHN0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlmOSI7Cn0KLmljb21vb24taGlwc3RlcjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlmYSI7Cn0KLmljb21vb24td29uZGVyaW5nOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZmIiOwp9Ci5pY29tb29uLXdvbmRlcmluZzI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlmYyI7Cn0KLmljb21vb24tc2xlZXB5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGU5ZmQiOwp9Ci5pY29tb29uLXNsZWVweTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZTlmZSI7Cn0KLmljb21vb24tZnJ1c3RyYXRlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlOWZmIjsKfQouaWNvbW9vbi1mcnVzdHJhdGVkMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTAwIjsKfQouaWNvbW9vbi1jcnlpbmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEwMSI7Cn0KLmljb21vb24tY3J5aW5nMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTAyIjsKfQouaWNvbW9vbi1wb2ludC11cDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTAzIjsKfQouaWNvbW9vbi1wb2ludC1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTA0IjsKfQouaWNvbW9vbi1wb2ludC1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMDUiOwp9Ci5pY29tb29uLXBvaW50LWxlZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEwNiI7Cn0KLmljb21vb24td2FybmluZzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTA3IjsKfQouaWNvbW9vbi1ub3RpZmljYXRpb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEwOCI7Cn0KLmljb21vb24tcXVlc3Rpb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEwOSI7Cn0KLmljb21vb24tcGx1czpiZWZvcmUgewogICAgY29udGVudDogIlxlYTBhIjsKfQouaWNvbW9vbi1taW51czpiZWZvcmUgewogICAgY29udGVudDogIlxlYTBiIjsKfQouaWNvbW9vbi1pbmZvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMGMiOwp9Ci5pY29tb29uLWNhbmNlbC1jaXJjbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEwZCI7Cn0KLmljb21vb24tYmxvY2tlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTBlIjsKfQouaWNvbW9vbi1jcm9zczpiZWZvcmUgewogICAgY29udGVudDogIlxlYTBmIjsKfQouaWNvbW9vbi1jaGVja21hcms6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWExMCI7Cn0KLmljb21vb24tY2hlY2ttYXJrMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTExIjsKfQouaWNvbW9vbi1zcGVsbC1jaGVjazpiZWZvcmUgewogICAgY29udGVudDogIlxlYTEyIjsKfQouaWNvbW9vbi1lbnRlcjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTEzIjsKfQouaWNvbW9vbi1leGl0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMTQiOwp9Ci5pY29tb29uLXBsYXkyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMTUiOwp9Ci5pY29tb29uLXBhdXNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMTYiOwp9Ci5pY29tb29uLXN0b3A6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWExNyI7Cn0KLmljb21vb24tcHJldmlvdXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWExOCI7Cn0KLmljb21vb24tbmV4dDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTE5IjsKfQouaWNvbW9vbi1iYWNrd2FyZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTFhIjsKfQouaWNvbW9vbi1mb3J3YXJkMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTFiIjsKfQouaWNvbW9vbi1wbGF5MzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTFjIjsKfQouaWNvbW9vbi1wYXVzZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWExZCI7Cn0KLmljb21vb24tc3RvcDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWExZSI7Cn0KLmljb21vb24tYmFja3dhcmQyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMWYiOwp9Ci5pY29tb29uLWZvcndhcmQzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjAiOwp9Ci5pY29tb29uLWZpcnN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjEiOwp9Ci5pY29tb29uLWxhc3Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEyMiI7Cn0KLmljb21vb24tcHJldmlvdXMyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjMiOwp9Ci5pY29tb29uLW5leHQyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjQiOwp9Ci5pY29tb29uLWVqZWN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjUiOwp9Ci5pY29tb29uLXZvbHVtZS1oaWdoOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMjYiOwp9Ci5pY29tb29uLXZvbHVtZS1tZWRpdW06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEyNyI7Cn0KLmljb21vb24tdm9sdW1lLWxvdzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTI4IjsKfQouaWNvbW9vbi12b2x1bWUtbXV0ZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTI5IjsKfQouaWNvbW9vbi12b2x1bWUtbXV0ZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEyYSI7Cn0KLmljb21vb24tdm9sdW1lLWluY3JlYXNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMmIiOwp9Ci5pY29tb29uLXZvbHVtZS1kZWNyZWFzZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTJjIjsKfQouaWNvbW9vbi1sb29wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMmQiOwp9Ci5pY29tb29uLWxvb3AyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMmUiOwp9Ci5pY29tb29uLWluZmluaXRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMmYiOwp9Ci5pY29tb29uLXNodWZmbGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzMCI7Cn0KLmljb21vb24tYXJyb3ctdXAtbGVmdDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTMxIjsKfQouaWNvbW9vbi1hcnJvdy11cDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTMyIjsKfQouaWNvbW9vbi1hcnJvdy11cC1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTMzIjsKfQouaWNvbW9vbi1hcnJvdy1yaWdodDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTM0IjsKfQouaWNvbW9vbi1hcnJvdy1kb3duLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMzUiOwp9Ci5pY29tb29uLWFycm93LWRvd246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzNiI7Cn0KLmljb21vb24tYXJyb3ctZG93bi1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhMzciOwp9Ci5pY29tb29uLWFycm93LWxlZnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzOCI7Cn0KLmljb21vb24tYXJyb3ctdXAtbGVmdDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzOSI7Cn0KLmljb21vb24tYXJyb3ctdXAyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhM2EiOwp9Ci5pY29tb29uLWFycm93LXVwLXJpZ2h0MjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTNiIjsKfQouaWNvbW9vbi1hcnJvdy1yaWdodDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzYyI7Cn0KLmljb21vb24tYXJyb3ctZG93bi1yaWdodDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzZCI7Cn0KLmljb21vb24tYXJyb3ctZG93bjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWEzZSI7Cn0KLmljb21vb24tYXJyb3ctZG93bi1sZWZ0MjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTNmIjsKfQouaWNvbW9vbi1hcnJvdy1sZWZ0MjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTQwIjsKfQouaWNvbW9vbi1jaXJjbGUtdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE0MSI7Cn0KLmljb21vb24tY2lyY2xlLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNDIiOwp9Ci5pY29tb29uLWNpcmNsZS1kb3duOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNDMiOwp9Ci5pY29tb29uLWNpcmNsZS1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNDQiOwp9Ci5pY29tb29uLXRhYjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTQ1IjsKfQouaWNvbW9vbi1tb3ZlLXVwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNDYiOwp9Ci5pY29tb29uLW1vdmUtZG93bjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTQ3IjsKfQouaWNvbW9vbi1zb3J0LWFscGhhLWFzYzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTQ4IjsKfQouaWNvbW9vbi1zb3J0LWFscGhhLWRlc2M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE0OSI7Cn0KLmljb21vb24tc29ydC1udW1lcmljLWFzYzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTRhIjsKfQouaWNvbW9vbi1zb3J0LW51bWJlcmljLWRlc2M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE0YiI7Cn0KLmljb21vb24tc29ydC1hbW91bnQtYXNjOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNGMiOwp9Ci5pY29tb29uLXNvcnQtYW1vdW50LWRlc2M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE0ZCI7Cn0KLmljb21vb24tY29tbWFuZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTRlIjsKfQouaWNvbW9vbi1zaGlmdDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTRmIjsKfQouaWNvbW9vbi1jdHJsOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNTAiOwp9Ci5pY29tb29uLW9wdDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTUxIjsKfQouaWNvbW9vbi1jaGVja2JveC1jaGVja2VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNTIiOwp9Ci5pY29tb29uLWNoZWNrYm94LXVuY2hlY2tlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTUzIjsKfQouaWNvbW9vbi1yYWRpby1jaGVja2VkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNTQiOwp9Ci5pY29tb29uLXJhZGlvLWNoZWNrZWQyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNTUiOwp9Ci5pY29tb29uLXJhZGlvLXVuY2hlY2tlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTU2IjsKfQouaWNvbW9vbi1jcm9wOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNTciOwp9Ci5pY29tb29uLW1ha2UtZ3JvdXA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE1OCI7Cn0KLmljb21vb24tdW5ncm91cDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTU5IjsKfQouaWNvbW9vbi1zY2lzc29yczpiZWZvcmUgewogICAgY29udGVudDogIlxlYTVhIjsKfQouaWNvbW9vbi1maWx0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE1YiI7Cn0KLmljb21vb24tZm9udDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTVjIjsKfQouaWNvbW9vbi1saWdhdHVyZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTVkIjsKfQouaWNvbW9vbi1saWdhdHVyZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE1ZSI7Cn0KLmljb21vb24tdGV4dC1oZWlnaHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE1ZiI7Cn0KLmljb21vb24tdGV4dC13aWR0aDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTYwIjsKfQouaWNvbW9vbi1mb250LXNpemU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2MSI7Cn0KLmljb21vb24tYm9sZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTYyIjsKfQouaWNvbW9vbi11bmRlcmxpbmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2MyI7Cn0KLmljb21vb24taXRhbGljOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNjQiOwp9Ci5pY29tb29uLXN0cmlrZXRocm91Z2g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2NSI7Cn0KLmljb21vb24tb21lZ2E6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2NiI7Cn0KLmljb21vb24tc2lnbWE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2NyI7Cn0KLmljb21vb24tcGFnZS1icmVhazpiZWZvcmUgewogICAgY29udGVudDogIlxlYTY4IjsKfQouaWNvbW9vbi1zdXBlcnNjcmlwdDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTY5IjsKfQouaWNvbW9vbi1zdWJzY3JpcHQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2YSI7Cn0KLmljb21vb24tc3VwZXJzY3JpcHQyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNmIiOwp9Ci5pY29tb29uLXN1YnNjcmlwdDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2YyI7Cn0KLmljb21vb24tdGV4dC1jb2xvcjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTZkIjsKfQouaWNvbW9vbi1wYWdlYnJlYWs6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE2ZSI7Cn0KLmljb21vb24tY2xlYXItZm9ybWF0dGluZzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTZmIjsKfQouaWNvbW9vbi10YWJsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTcwIjsKfQouaWNvbW9vbi10YWJsZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE3MSI7Cn0KLmljb21vb24taW5zZXJ0LXRlbXBsYXRlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNzIiOwp9Ci5pY29tb29uLXBpbGNyb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE3MyI7Cn0KLmljb21vb24tbHRyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNzQiOwp9Ci5pY29tb29uLXJ0bDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTc1IjsKfQouaWNvbW9vbi1zZWN0aW9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNzYiOwp9Ci5pY29tb29uLXBhcmFncmFwaC1sZWZ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNzciOwp9Ci5pY29tb29uLXBhcmFncmFwaC1jZW50ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE3OCI7Cn0KLmljb21vb24tcGFyYWdyYXBoLXJpZ2h0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhNzkiOwp9Ci5pY29tb29uLXBhcmFncmFwaC1qdXN0aWZ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhN2EiOwp9Ci5pY29tb29uLWluZGVudC1pbmNyZWFzZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTdiIjsKfQouaWNvbW9vbi1pbmRlbnQtZGVjcmVhc2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE3YyI7Cn0KLmljb21vb24tc2hhcmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE3ZCI7Cn0KLmljb21vb24tbmV3LXRhYjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTdlIjsKfQouaWNvbW9vbi1lbWJlZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTdmIjsKfQouaWNvbW9vbi1lbWJlZDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4MCI7Cn0KLmljb21vb24tdGVybWluYWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4MSI7Cn0KLmljb21vb24tc2hhcmUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhODIiOwp9Ci5pY29tb29uLW1haWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4MyI7Cn0KLmljb21vb24tbWFpbDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4NCI7Cn0KLmljb21vb24tbWFpbDM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4NSI7Cn0KLmljb21vb24tbWFpbDQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4NiI7Cn0KLmljb21vb24tYW1hem9uOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhODciOwp9Ci5pY29tb29uLWdvb2dsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTg4IjsKfQouaWNvbW9vbi1nb29nbGUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhODkiOwp9Ci5pY29tb29uLWdvb2dsZTM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4YSI7Cn0KLmljb21vb24tZ29vZ2xlLXBsdXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4YiI7Cn0KLmljb21vb24tZ29vZ2xlLXBsdXMyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOGMiOwp9Ci5pY29tb29uLWdvb2dsZS1wbHVzMzpiZWZvcmUgewogICAgY29udGVudDogIlxlYThkIjsKfQouaWNvbW9vbi1oYW5nb3V0czpiZWZvcmUgewogICAgY29udGVudDogIlxlYThlIjsKfQouaWNvbW9vbi1nb29nbGUtZHJpdmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE4ZiI7Cn0KLmljb21vb24tZmFjZWJvb2s6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE5MCI7Cn0KLmljb21vb24tZmFjZWJvb2syOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOTEiOwp9Ci5pY29tb29uLWluc3RhZ3JhbTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTkyIjsKfQouaWNvbW9vbi13aGF0c2FwcDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTkzIjsKfQouaWNvbW9vbi1zcG90aWZ5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOTQiOwp9Ci5pY29tb29uLXRlbGVncmFtOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOTUiOwp9Ci5pY29tb29uLXR3aXR0ZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE5NiI7Cn0KLmljb21vb24tdmluZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYTk3IjsKfQouaWNvbW9vbi12azpiZWZvcmUgewogICAgY29udGVudDogIlxlYTk4IjsKfQouaWNvbW9vbi1yZW5yZW46YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE5OSI7Cn0KLmljb21vb24tc2luYS13ZWlibzpiZWZvcmUgewogICAgY29udGVudDogIlxlYTlhIjsKfQouaWNvbW9vbi1yc3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWE5YiI7Cn0KLmljb21vb24tcnNzMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYTljIjsKfQouaWNvbW9vbi15b3V0dWJlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOWQiOwp9Ci5pY29tb29uLXlvdXR1YmUyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhOWUiOwp9Ci5pY29tb29uLXR3aXRjaDpiZWZvcmUgewogICAgY29udGVudDogIlxlYTlmIjsKfQouaWNvbW9vbi12aW1lbzpiZWZvcmUgewogICAgY29udGVudDogIlxlYWEwIjsKfQouaWNvbW9vbi12aW1lbzI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhMSI7Cn0KLmljb21vb24tbGFueXJkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYTIiOwp9Ci5pY29tb29uLWZsaWNrcjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWEzIjsKfQouaWNvbW9vbi1mbGlja3IyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYTQiOwp9Ci5pY29tb29uLWZsaWNrcjM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhNSI7Cn0KLmljb21vb24tZmxpY2tyNDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWE2IjsKfQouaWNvbW9vbi1kcmliYmJsZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWE3IjsKfQouaWNvbW9vbi1iZWhhbmNlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYTgiOwp9Ci5pY29tb29uLWJlaGFuY2UyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYTkiOwp9Ci5pY29tb29uLWRldmlhbnRhcnQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhYSI7Cn0KLmljb21vb24tNTAwcHg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhYiI7Cn0KLmljb21vb24tc3RlYW06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhYyI7Cn0KLmljb21vb24tc3RlYW0yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYWQiOwp9Ci5pY29tb29uLWRyb3Bib3g6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhZSI7Cn0KLmljb21vb24tb25lZHJpdmU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFhZiI7Cn0KLmljb21vb24tZ2l0aHViOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYjAiOwp9Ci5pY29tb29uLW5wbTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWIxIjsKfQouaWNvbW9vbi1iYXNlY2FtcDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWIyIjsKfQouaWNvbW9vbi10cmVsbG86YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiMyI7Cn0KLmljb21vb24td29yZHByZXNzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYjQiOwp9Ci5pY29tb29uLWpvb21sYTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWI1IjsKfQouaWNvbW9vbi1lbGxvOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYjYiOwp9Ci5pY29tb29uLWJsb2dnZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiNyI7Cn0KLmljb21vb24tYmxvZ2dlcjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiOCI7Cn0KLmljb21vb24tdHVtYmxyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYjkiOwp9Ci5pY29tb29uLXR1bWJscjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiYSI7Cn0KLmljb21vb24teWFob286YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiYiI7Cn0KLmljb21vb24teWFob28yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYmMiOwp9Ci5pY29tb29uLXR1eDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWJkIjsKfQouaWNvbW9vbi1hcHBsZWluYzpiZWZvcmUgewogICAgY29udGVudDogIlxlYWJlIjsKfQouaWNvbW9vbi1maW5kZXI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFiZiI7Cn0KLmljb21vb24tYW5kcm9pZDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWMwIjsKfQouaWNvbW9vbi13aW5kb3dzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYzEiOwp9Ci5pY29tb29uLXdpbmRvd3M4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYzIiOwp9Ci5pY29tb29uLXNvdW5kY2xvdWQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjMyI7Cn0KLmljb21vb24tc291bmRjbG91ZDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjNCI7Cn0KLmljb21vb24tc2t5cGU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjNSI7Cn0KLmljb21vb24tcmVkZGl0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYzYiOwp9Ci5pY29tb29uLWhhY2tlcm5ld3M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjNyI7Cn0KLmljb21vb24td2lraXBlZGlhOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYzgiOwp9Ci5pY29tb29uLWxpbmtlZGluOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhYzkiOwp9Ci5pY29tb29uLWxpbmtlZGluMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWNhIjsKfQouaWNvbW9vbi1sYXN0Zm06YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjYiI7Cn0KLmljb21vb24tbGFzdGZtMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWNjIjsKfQouaWNvbW9vbi1kZWxpY2lvdXM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjZCI7Cn0KLmljb21vb24tc3R1bWJsZXVwb246YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFjZSI7Cn0KLmljb21vb24tc3R1bWJsZXVwb24yOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhY2YiOwp9Ci5pY29tb29uLXN0YWNrb3ZlcmZsb3c6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFkMCI7Cn0KLmljb21vb24tcGludGVyZXN0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhZDEiOwp9Ci5pY29tb29uLXBpbnRlcmVzdDI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFkMiI7Cn0KLmljb21vb24teGluZzpiZWZvcmUgewogICAgY29udGVudDogIlxlYWQzIjsKfQouaWNvbW9vbi14aW5nMjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWQ0IjsKfQouaWNvbW9vbi1mbGF0dHI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFkNSI7Cn0KLmljb21vb24tZm91cnNxdWFyZTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWQ2IjsKfQouaWNvbW9vbi15ZWxwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhZDciOwp9Ci5pY29tb29uLXBheXBhbDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWQ4IjsKfQouaWNvbW9vbi1jaHJvbWU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFkOSI7Cn0KLmljb21vb24tZmlyZWZveDpiZWZvcmUgewogICAgY29udGVudDogIlxlYWRhIjsKfQouaWNvbW9vbi1JRTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWRiIjsKfQouaWNvbW9vbi1lZGdlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhZGMiOwp9Ci5pY29tb29uLXNhZmFyaTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWRkIjsKfQouaWNvbW9vbi1vcGVyYTpiZWZvcmUgewogICAgY29udGVudDogIlxlYWRlIjsKfQouaWNvbW9vbi1maWxlLXBkZjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWRmIjsKfQouaWNvbW9vbi1maWxlLW9wZW5vZmZpY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlMCI7Cn0KLmljb21vb24tZmlsZS13b3JkOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhZTEiOwp9Ci5pY29tb29uLWZpbGUtZXhjZWw6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlMiI7Cn0KLmljb21vb24tbGlicmVvZmZpY2U6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlMyI7Cn0KLmljb21vb24taHRtbC1maXZlOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXGVhZTQiOwp9Ci5pY29tb29uLWh0bWwtZml2ZTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlNSI7Cn0KLmljb21vb24tY3NzMzpiZWZvcmUgewogICAgY29udGVudDogIlxlYWU2IjsKfQouaWNvbW9vbi1naXQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlNyI7Cn0KLmljb21vb24tY29kZXBlbjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWU4IjsKfQouaWNvbW9vbi1zdmc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcZWFlOSI7Cn0KLmljb21vb24tSWNvTW9vbjpiZWZvcmUgewogICAgY29udGVudDogIlxlYWVhIjsKfQouaWNvbW9vbi11bmkyMTpiZWZvcmUgewogICAgY29udGVudDogIlwyMSI7Cn0KLmljb21vb24tdW5pMjI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMjIiOwp9Ci5pY29tb29uLXVuaTIzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDIzIjsKfQouaWNvbW9vbi11bmkyNDpiZWZvcmUgewogICAgY29udGVudDogIlwyNCI7Cn0KLmljb21vb24tdW5pMjU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMjUiOwp9Ci5pY29tb29uLXVuaTI2OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDI2IjsKfQouaWNvbW9vbi11bmkyNzpiZWZvcmUgewogICAgY29udGVudDogIlwyNyI7Cn0KLmljb21vb24tdW5pMjg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMjgiOwp9Ci5pY29tb29uLXVuaTI5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDI5IjsKfQouaWNvbW9vbi11bmkyQTpiZWZvcmUgewogICAgY29udGVudDogIlwyYSI7Cn0KLmljb21vb24tdW5pMkI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMmIiOwp9Ci5pY29tb29uLXVuaTJDOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDJjIjsKfQouaWNvbW9vbi11bmkyRDpiZWZvcmUgewogICAgY29udGVudDogIlwyZCI7Cn0KLmljb21vb24tdW5pMkU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMmUiOwp9Ci5pY29tb29uLXVuaTJGOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDJmIjsKfQouaWNvbW9vbi11bmkzMDpiZWZvcmUgewogICAgY29udGVudDogIlwzMCI7Cn0KLmljb21vb24tdW5pMzE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMzEiOwp9Ci5pY29tb29uLXVuaTMyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDMyIjsKfQouaWNvbW9vbi11bmkzMzpiZWZvcmUgewogICAgY29udGVudDogIlwzMyI7Cn0KLmljb21vb24tdW5pMzQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMzQiOwp9Ci5pY29tb29uLXVuaTM1OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDM1IjsKfQouaWNvbW9vbi11bmkzNjpiZWZvcmUgewogICAgY29udGVudDogIlwzNiI7Cn0KLmljb21vb24tdW5pMzc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcMzciOwp9Ci5pY29tb29uLXVuaTM4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDM4IjsKfQouaWNvbW9vbi11bmkzOTpiZWZvcmUgewogICAgY29udGVudDogIlwzOSI7Cn0KLmljb21vb24tdW5pM0E6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcM2EiOwp9Ci5pY29tb29uLXVuaTNCOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDNiIjsKfQouaWNvbW9vbi11bmkzQzpiZWZvcmUgewogICAgY29udGVudDogIlwzYyI7Cn0KLmljb21vb24tdW5pM0Q6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcM2QiOwp9Ci5pY29tb29uLXVuaTNFOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDNlIjsKfQouaWNvbW9vbi11bmkzRjpiZWZvcmUgewogICAgY29udGVudDogIlwzZiI7Cn0KLmljb21vb24tdW5pNDA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNDAiOwp9Ci5pY29tb29uLXVuaTQxOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDQxIjsKfQouaWNvbW9vbi11bmk0MjpiZWZvcmUgewogICAgY29udGVudDogIlw0MiI7Cn0KLmljb21vb24tdW5pNDM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNDMiOwp9Ci5pY29tb29uLXVuaTQ0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDQ0IjsKfQouaWNvbW9vbi11bmk0NTpiZWZvcmUgewogICAgY29udGVudDogIlw0NSI7Cn0KLmljb21vb24tdW5pNDY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNDYiOwp9Ci5pY29tb29uLXVuaTQ3OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDQ3IjsKfQouaWNvbW9vbi11bmk0ODpiZWZvcmUgewogICAgY29udGVudDogIlw0OCI7Cn0KLmljb21vb24tdW5pNDk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNDkiOwp9Ci5pY29tb29uLXVuaTRBOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDRhIjsKfQouaWNvbW9vbi11bmk0QjpiZWZvcmUgewogICAgY29udGVudDogIlw0YiI7Cn0KLmljb21vb24tdW5pNEM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNGMiOwp9Ci5pY29tb29uLXVuaTREOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDRkIjsKfQouaWNvbW9vbi11bmk0RTpiZWZvcmUgewogICAgY29udGVudDogIlw0ZSI7Cn0KLmljb21vb24tdW5pNEY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNGYiOwp9Ci5pY29tb29uLXVuaTUwOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDUwIjsKfQouaWNvbW9vbi11bmk1MTpiZWZvcmUgewogICAgY29udGVudDogIlw1MSI7Cn0KLmljb21vb24tdW5pNTI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNTIiOwp9Ci5pY29tb29uLXVuaTUzOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDUzIjsKfQouaWNvbW9vbi11bmk1NDpiZWZvcmUgewogICAgY29udGVudDogIlw1NCI7Cn0KLmljb21vb24tdW5pNTU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNTUiOwp9Ci5pY29tb29uLXVuaTU2OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDU2IjsKfQouaWNvbW9vbi11bmk1NzpiZWZvcmUgewogICAgY29udGVudDogIlw1NyI7Cn0KLmljb21vb24tdW5pNTg6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNTgiOwp9Ci5pY29tb29uLXVuaTU5OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDU5IjsKfQouaWNvbW9vbi11bmk1QTpiZWZvcmUgewogICAgY29udGVudDogIlw1YSI7Cn0KLmljb21vb24tdW5pNUI6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNWIiOwp9Ci5pY29tb29uLXVuaTVDOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDVjIjsKfQouaWNvbW9vbi11bmk1RDpiZWZvcmUgewogICAgY29udGVudDogIlw1ZCI7Cn0KLmljb21vb24tdW5pNUU6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNWUiOwp9Ci5pY29tb29uLXVuaTVGOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDVmIjsKfQouaWNvbW9vbi11bmk2MDpiZWZvcmUgewogICAgY29udGVudDogIlw2MCI7Cn0KLmljb21vb24tdW5pNjE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNjEiOwp9Ci5pY29tb29uLXVuaTYyOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDYyIjsKfQouaWNvbW9vbi11bmk2MzpiZWZvcmUgewogICAgY29udGVudDogIlw2MyI7Cn0KLmljb21vb24tdW5pNjQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNjQiOwp9Ci5pY29tb29uLXVuaTY1OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDY1IjsKfQouaWNvbW9vbi11bmk2NjpiZWZvcmUgewogICAgY29udGVudDogIlw2NiI7Cn0KLmljb21vb24tdW5pNjc6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNjciOwp9Ci5pY29tb29uLXVuaTY4OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDY4IjsKfQouaWNvbW9vbi11bmk2OTpiZWZvcmUgewogICAgY29udGVudDogIlw2OSI7Cn0KLmljb21vb24tdW5pNkE6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNmEiOwp9Ci5pY29tb29uLXVuaTZCOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDZiIjsKfQouaWNvbW9vbi11bmk2QzpiZWZvcmUgewogICAgY29udGVudDogIlw2YyI7Cn0KLmljb21vb24tdW5pNkQ6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNmQiOwp9Ci5pY29tb29uLXVuaTZFOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDZlIjsKfQouaWNvbW9vbi11bmk2RjpiZWZvcmUgewogICAgY29udGVudDogIlw2ZiI7Cn0KLmljb21vb24tdW5pNzA6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNzAiOwp9Ci5pY29tb29uLXVuaTcxOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDcxIjsKfQouaWNvbW9vbi11bmk3MjpiZWZvcmUgewogICAgY29udGVudDogIlw3MiI7Cn0KLmljb21vb24tdW5pNzM6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNzMiOwp9Ci5pY29tb29uLXVuaTc0OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDc0IjsKfQouaWNvbW9vbi11bmk3NTpiZWZvcmUgewogICAgY29udGVudDogIlw3NSI7Cn0KLmljb21vb24tdW5pNzY6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNzYiOwp9Ci5pY29tb29uLXVuaTc3OmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDc3IjsKfQouaWNvbW9vbi11bmk3ODpiZWZvcmUgewogICAgY29udGVudDogIlw3OCI7Cn0KLmljb21vb24tdW5pNzk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcNzkiOwp9Ci5pY29tb29uLXVuaTdBOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDdhIjsKfQouaWNvbW9vbi11bmk3QjpiZWZvcmUgewogICAgY29udGVudDogIlw3YiI7Cn0KLmljb21vb24tdW5pN0M6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcN2MiOwp9Ci5pY29tb29uLXVuaTdEOmJlZm9yZSB7CiAgICBjb250ZW50OiAiXDdkIjsKfQouaWNvbW9vbi11bmk3RTpiZWZvcmUgewogICAgY29udGVudDogIlw3ZSI7Cn0KLmljb21vb24tdW5pQTk6YmVmb3JlIHsKICAgIGNvbnRlbnQ6ICJcYTkiOwp9Cgo="}},"time_used":141,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":139,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widgets.cryptocompare.com/serve/v2/coin/header?fsyms=BTC,ETH,LTC,BCH,ETC,XRP\u0026tsyms=USD\u0026app=frxoptmarkt.com","fqdn":"widgets.cryptocompare.com","domain":"cryptocompare.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.595Z","timestamp":1785133990595,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /serve/v2/coin/header?fsyms=BTC,ETH,LTC,BCH,ETC,XRP\u0026tsyms=USD\u0026app=frxoptmarkt.com HTTP/1.1\r\nHost: widgets.cryptocompare.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T12:30:22.34111Z","times_seen":17708041,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/fonts/fontawesome-webfont3e6e3e6e3e6e.html?v=4.7.0","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"font","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.641Z","timestamp":1785133990641,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /fonts/fontawesome-webfont3e6e3e6e3e6e.html?v=4.7.0 HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/css/font-awesome.min.css\r\nSec-Fetch-Dest: font\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/3 200 \r\ncontent-type: text/html\r\nlast-modified: Tue, 10 Mar 2020 01:08:36 GMT\r\naccept-ranges: bytes\r\ncontent-length: 77160\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":77160,"size_decoded":77347,"mime_type":"text/html","magic":"Web Open Font Format (Version 2), TrueType, length 77160, version 11534.4","md5":"8be1c8f32747c80cb7774b29ec81beef","sha1":"0240c2c024ff55c02a213159bc8937007babed30","sha256":"26611d99cced0a9dfbbc4f47818921a0ebe247d9d4eb2eccac697da36f89a0eb","sha512":"2bdfcbe54dd175b1cefec1d84b1839d7813b9a341fa3c7bbf1b311d98e2cff830f9d13e9e5302753e9eed2380b6d820857d658536c8555f5de01b63c4a351c2b","ssdeep":"3072:PWGmiOeFF7zjktPaEV2k07DURADtJXhlZePWJeyEKAuDSt:PWGmiOCQPK7DUevhHePye/4c","tlshash":"3db3f1068385f3e0d2fb89f994961ae4a3064b95dbc37990c724c3712dca21873efc96","first_seen":"2023-04-09T23:40:01Z","last_seen":"2026-08-02T18:49:22.840381Z","times_seen":2973,"resource_available":false,"data":"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"}},"time_used":134,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":131,"receive":3,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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://frxoptmarkt.com/","date":"2026-07-27T06:33:10.642Z","timestamp":1785133990642,"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/opensans/v44/memvYaGs126MiZpBA-UvWbX2vVnXBbObj2OVTS-muw.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://frxoptmarkt.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: 48320\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:19 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:19 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Mon, 15 Sep 2025 16:30:41 GMT\r\ncontent-type: font/woff2\r\nage: 408171\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":48320,"size_decoded":49133,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 48320, version 1.0","md5":"dcf31ebe107435bd68e0164d59e19b87","sha1":"b68160c9333af833fe483928b3ef7128c07a56a0","sha256":"d8e4fe0452aa2076429a9bb5d8757d00a994dd95986cf950e9a1a371b9a072a0","sha512":"130cd52c3cccc36a7029bf92b2ddb363b8b36d206454aacc246739919552fccec5cacbad615ba4ac3817da3e83239371fe51324bdadd08357e3495087f62cb08","ssdeep":"768:Jzqdwl5YV7FVmpudK5a8dF8D8Z7J78VGnNFZEKh02dmSTPe9UiallHcOEi2c0NC1:9q+SYuMaVwZ7oGRNh02dd6UialBcOEpE","tlshash":"1623f218f29471f7edecd4d500a18c72baa528d442f116ed07b8d53ca36ca817a729fb","first_seen":"2025-09-17T00:07:53.723302Z","last_seen":"2026-08-04T12:35:31.907874Z","times_seen":320992,"resource_available":false,"data":"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"}},"time_used":19,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":15,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/color-switcher/style-switcher.html","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.833Z","timestamp":1785133990833,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /color-switcher/style-switcher.html HTTP/1.1\r\nHost: frxoptmarkt.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, */*; q=0.01\r\nAccept-Language: en-US,en;q=0.9\r\nAccept-Encoding: gzip, deflate, br, zstd\r\nX-Requested-With: XMLHttpRequest\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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":"GET"},"response":{"raw":"HTTP/3 404 \r\ncache-control: private, no-cache, no-store, must-revalidate, max-age=0\r\npragma: no-cache\r\ncontent-type: text/html\r\ncontent-length: 796\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":796,"size_decoded":1003,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"265e51037981a14ed99a5fc8c5ec1b51","sha1":"d12ac588953298fdaf46dd5b4af8eb4cf6b06f0a","sha256":"c4b07931b3fc37bc80d56a367783e7fa7c04ced4befec7f57ed079c38c960400","sha512":"b18aa610811c5f9bc1dd829ad90a95568e81a41e1fd1472983dc00147f65045fd91fbc498b5263ce4f4c88b041be21f186ed2ce357d3bcf86c0429ca18991151","ssdeep":"","tlshash":"1101f12ac182a80fe0231070fa91e37451594212629b4f647b9ff676f6ce1ab56b22cc","first_seen":"2024-02-05T05:35:22Z","last_seen":"2026-08-04T11:50:04.712488Z","times_seen":52943,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48c3R5bGU+QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2JhY2tncm91bmQtY29sb3I6IzAwMCFpbXBvcnRhbnR9fTwvc3R5bGU+PC9oZWFkPgo8Ym9keSBzdHlsZT0iY29sb3I6ICM0NDQ7IG1hcmdpbjowO2ZvbnQ6IG5vcm1hbCAxNHB4LzIwcHggQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgaGVpZ2h0OjEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7Ij4KPGRpdiBzdHlsZT0iaGVpZ2h0OmF1dG87IG1pbi1oZWlnaHQ6MTAwJTsgIj4gICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6ODAwcHg7IG1hcmdpbi1sZWZ0OiAtNDAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDMwJTsgbGVmdDo1MCU7Ij4KICAgICAgICA8aDEgc3R5bGU9Im1hcmdpbjowOyBmb250LXNpemU6MTUwcHg7IGxpbmUtaGVpZ2h0OjE1MHB4OyBmb250LXdlaWdodDpib2xkOyI+NDA0PC9oMT4KPGgyIHN0eWxlPSJtYXJnaW4tdG9wOjIwcHg7Zm9udC1zaXplOiAzMHB4OyI+Tm90IEZvdW5kDQo8L2gyPgo8cD5UaGUgcmVzb3VyY2UgcmVxdWVzdGVkIGNvdWxkIG5vdCBiZSBmb3VuZCBvbiB0aGlzIHNlcnZlciE8L3A+CjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+Cg=="}},"time_used":129,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":129,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/bg/bh7.jpg","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.836Z","timestamp":1785133990836,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/bg/bh7.jpg HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\ncache-control: private, no-cache, no-store, must-revalidate, max-age=0\r\npragma: no-cache\r\ncontent-type: text/html\r\ncontent-length: 796\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":796,"size_decoded":1003,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"265e51037981a14ed99a5fc8c5ec1b51","sha1":"d12ac588953298fdaf46dd5b4af8eb4cf6b06f0a","sha256":"c4b07931b3fc37bc80d56a367783e7fa7c04ced4befec7f57ed079c38c960400","sha512":"b18aa610811c5f9bc1dd829ad90a95568e81a41e1fd1472983dc00147f65045fd91fbc498b5263ce4f4c88b041be21f186ed2ce357d3bcf86c0429ca18991151","ssdeep":"","tlshash":"1101f12ac182a80fe0231070fa91e37451594212629b4f647b9ff676f6ce1ab56b22cc","first_seen":"2024-02-05T05:35:22Z","last_seen":"2026-08-04T11:50:04.712488Z","times_seen":52943,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48c3R5bGU+QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2JhY2tncm91bmQtY29sb3I6IzAwMCFpbXBvcnRhbnR9fTwvc3R5bGU+PC9oZWFkPgo8Ym9keSBzdHlsZT0iY29sb3I6ICM0NDQ7IG1hcmdpbjowO2ZvbnQ6IG5vcm1hbCAxNHB4LzIwcHggQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgaGVpZ2h0OjEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7Ij4KPGRpdiBzdHlsZT0iaGVpZ2h0OmF1dG87IG1pbi1oZWlnaHQ6MTAwJTsgIj4gICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6ODAwcHg7IG1hcmdpbi1sZWZ0OiAtNDAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDMwJTsgbGVmdDo1MCU7Ij4KICAgICAgICA8aDEgc3R5bGU9Im1hcmdpbjowOyBmb250LXNpemU6MTUwcHg7IGxpbmUtaGVpZ2h0OjE1MHB4OyBmb250LXdlaWdodDpib2xkOyI+NDA0PC9oMT4KPGgyIHN0eWxlPSJtYXJnaW4tdG9wOjIwcHg7Zm9udC1zaXplOiAzMHB4OyI+Tm90IEZvdW5kDQo8L2gyPgo8cD5UaGUgcmVzb3VyY2UgcmVxdWVzdGVkIGNvdWxkIG5vdCBiZSBmb3VuZCBvbiB0aGlzIHNlcnZlciE8L3A+CjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+Cg=="}},"time_used":129,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":129,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widget-v3.smartsuppcdn.com/assets/style-CliJwUTR.css","fqdn":"widget-v3.smartsuppcdn.com","domain":"smartsuppcdn.com","tld":"com"},"ip":{"addr":"185.76.9.12","port":443,"asn":60068,"as":"Datacamp Limited","country":"Sweden","country_code":"SE"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:14.259Z","timestamp":1785133994259,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_256_GCM_SHA384","key_group_name":"x25519","signature_name":"ECDSA-P256-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"1857279285.rsc.cdn77.org","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 04 Jun 2026 14:34:45 GMT","end":"Wed, 02 Sep 2026 14:34:44 GMT"},"fingerprint":{"sha1":"92:5D:A0:17:13:91:72:7B:B6:8C:6A:7D:A9:55:7F:C8:A9:47:11:99","sha256":"0E:FC:E3:4D:AD:32:B2:11:05:DC:E3:CD:CC:9E:10:DC:C5:2D:9E:1C:D7:C1:9C:00:92:15:43:C5:B7:0B:3A:D6"}}},"request":{"raw":"GET /assets/style-CliJwUTR.css HTTP/1.1\r\nHost: widget-v3.smartsuppcdn.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\nOrigin: https://frxoptmarkt.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: 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\ndate: Mon, 27 Jul 2026 06:33:14 GMT\r\ncontent-type: text/css\r\naccess-control-allow-origin: *\r\ncache-control: max-age=31536000, public, immutable\r\netag: W/\"6a4cb803-8d68\"\r\nexpires: Wed, 07 Jul 2027 08:30:01 GMT\r\nlast-modified: Tue, 07 Jul 2026 08:25:39 GMT\r\nx-77-nzt: k/56Jporc0KbKIgMhl5h6aRMs0PhRWIug4kcswauTOqjQsm90LeOAFqprcgPherlud3yQwk\r\nx-77-nzt-ray: e2f75420e9f098feaafb666a27f0750f\r\nx-77-cache: HIT\r\nx-77-age: 1720952\r\nvary: Accept-Encoding\r\ncontent-encoding: gzip\r\nserver: CDN77-Turbo\r\nx-77-pop: stockholmSE\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"CDN77","description":"CDN77 is a content delivery network (CDN).","website":"https://www.cdn77.com","common_platform_enumeration":"","icon":"CDN77.png","categories":["CDN"]}],"data":{"size":36200,"size_decoded":8208,"mime_type":"text/css","magic":"ASCII text, with very long lines (36187)","md5":"840dfdb09fc1a11a5c3a5b5f808e3160","sha1":"46140a50b100fa33b974027c13bb9f2de5c784b7","sha256":"b5b9a339413a55a0d828ab6be236e2a495594a19fb3283f846c607d7b6996ad7","sha512":"61e37700ee60ed584c8ae7b6313c5dddf6950c9664aa57f32bb4a70d775b1a1d5bfc249c6c1238495ef2cb7e12bae5f00c4ddb3df4dde44a01081117b74e2ba2","ssdeep":"384:F8fY2l091g7Tc6/WYtGLadKzSVX8Kj6+eZcrNSN56qB56YR9evZLLq51vZLLq5G:F8wM091gTcCWYtG4XqcrNSN56DwQ43","tlshash":"05f2966daad9093dac23c179e3f8e58c911af5d5df3226daf74239008ac17ff0986514","first_seen":"2026-07-07T11:50:17.712499Z","last_seen":"2026-08-04T11:43:18.62572Z","times_seen":3082,"resource_available":false,"data":"LmJ0bi5zdmVsdGUteXdvZm1se2JvcmRlci1yYWRpdXM6OTk5OXB4O2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmc6LjI1cmVtO2ZvbnQtc2l6ZToxLjEyNXJlbTtsaW5lLWhlaWdodDoxLjc1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmlubGluZS1mbGV4fS5idG4tcHJpbWFyeS5zdmVsdGUteXdvZm1se2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1wcmltYXJ5LnN2ZWx0ZS15d29mbWw6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tZ2hvc3Quc3ZlbHRlLXl3b2ZtbDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6LjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYnRuLXN1Y2Nlc3Muc3ZlbHRlLXl3b2ZtbHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxNiAxODUgMTI5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5idG4tc3VjY2Vzcy5zdmVsdGUteXdvZm1sOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDUgMTUwIDEwNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5idG4tc20uc3ZlbHRlLXl3b2ZtbHt3aWR0aDoxLjVyZW07aGVpZ2h0OjEuNXJlbX0uYnRuLW1kLnN2ZWx0ZS15d29mbWx7d2lkdGg6MnJlbTtoZWlnaHQ6MnJlbX0uYnRuLWxnLnN2ZWx0ZS15d29mbWx7d2lkdGg6Mi43NXJlbTtoZWlnaHQ6Mi43NXJlbX0uYnRuLXhsLnN2ZWx0ZS15d29mbWx7d2lkdGg6M3JlbTtoZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS15d29mbWx7Y3Vyc29yOm5vdC1hbGxvd2VkO29wYWNpdHk6LjJ9LmJ0bi1kaXNhYmxlZC5zdmVsdGUteXdvZm1sOmhvdmVyOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzAwMDB9Kiw6YmVmb3JlLDphZnRlcntib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym9yZGVyLXN0eWxlOnNvbGlkO2JvcmRlci13aWR0aDowO2JvcmRlci1jb2xvcjp2YXIoLS11bi1kZWZhdWx0LWJvcmRlci1jb2xvciwjZTVlN2ViKX06YmVmb3JlLDphZnRlcnstLXVuLWNvbnRlbnQ6IiJ9aHRtbCw6aG9zdHstd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6MTAwJTt0YWItc2l6ZTo0O2ZvbnQtZmVhdHVyZS1zZXR0aW5nczpub3JtYWw7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6bm9ybWFsOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjp0cmFuc3BhcmVudDtmb250LWZhbWlseTp1aS1zYW5zLXNlcmlmLHN5c3RlbS11aSxzYW5zLXNlcmlmLEFwcGxlIENvbG9yIEVtb2ppLFNlZ29lIFVJIEVtb2ppLFNlZ29lIFVJIFN5bWJvbCxOb3RvIENvbG9yIEVtb2ppO2xpbmUtaGVpZ2h0OjEuNX1ib2R5e2xpbmUtaGVpZ2h0OmluaGVyaXQ7bWFyZ2luOjB9aHJ7aGVpZ2h0OjA7Y29sb3I6aW5oZXJpdDtib3JkZXItdG9wLXdpZHRoOjFweH1hYmJyOndoZXJlKFt0aXRsZV0pey13ZWJraXQtdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWQ7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZSBkb3R0ZWR9aDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1zaXplOmluaGVyaXQ7Zm9udC13ZWlnaHQ6aW5oZXJpdH1he2NvbG9yOmluaGVyaXQ7LXdlYmtpdC10ZXh0LWRlY29yYXRpb246aW5oZXJpdDt0ZXh0LWRlY29yYXRpb246aW5oZXJpdH1iLHN0cm9uZ3tmb250LXdlaWdodDpib2xkZXJ9Y29kZSxrYmQsc2FtcCxwcmV7Zm9udC1mZWF0dXJlLXNldHRpbmdzOm5vcm1hbDtmb250LXZhcmlhdGlvbi1zZXR0aW5nczpub3JtYWw7Zm9udC1mYW1pbHk6dWktbW9ub3NwYWNlLFNGTW9uby1SZWd1bGFyLE1lbmxvLE1vbmFjbyxDb25zb2xhcyxMaWJlcmF0aW9uIE1vbm8sQ291cmllciBOZXcsbW9ub3NwYWNlO2ZvbnQtc2l6ZToxZW19c21hbGx7Zm9udC1zaXplOjgwJX1zdWIsc3Vwe3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lO2ZvbnQtc2l6ZTo3NSU7bGluZS1oZWlnaHQ6MDtwb3NpdGlvbjpyZWxhdGl2ZX1zdWJ7Ym90dG9tOi0uMjVlbX1zdXB7dG9wOi0uNWVtfXRhYmxle3RleHQtaW5kZW50OjA7Ym9yZGVyLWNvbG9yOmluaGVyaXQ7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlfWJ1dHRvbixpbnB1dCxvcHRncm91cCxzZWxlY3QsdGV4dGFyZWF7Zm9udC1mZWF0dXJlLXNldHRpbmdzOmluaGVyaXQ7Zm9udC12YXJpYXRpb24tc2V0dGluZ3M6aW5oZXJpdDtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OmluaGVyaXQ7bGluZS1oZWlnaHQ6aW5oZXJpdDtjb2xvcjppbmhlcml0O21hcmdpbjowO3BhZGRpbmc6MH1idXR0b24sc2VsZWN0e3RleHQtdHJhbnNmb3JtOm5vbmV9YnV0dG9uLFt0eXBlPWJ1dHRvbl0sW3R5cGU9cmVzZXRdLFt0eXBlPXN1Ym1pdF17LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JhY2tncm91bmQtaW1hZ2U6bm9uZX06LW1vei1mb2N1c3Jpbmd7b3V0bGluZTphdXRvfTotbW96LXVpLWludmFsaWR7Ym94LXNoYWRvdzpub25lfXByb2dyZXNze3ZlcnRpY2FsLWFsaWduOmJhc2VsaW5lfTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbntoZWlnaHQ6YXV0b306Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99W3R5cGU9c2VhcmNoXXstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkO291dGxpbmUtb2Zmc2V0Oi0ycHh9Ojotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uey13ZWJraXQtYXBwZWFyYW5jZTpub25lfTo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b257LXdlYmtpdC1hcHBlYXJhbmNlOmJ1dHRvbjtmb250OmluaGVyaXR9c3VtbWFyeXtkaXNwbGF5Omxpc3QtaXRlbX1ibG9ja3F1b3RlLGRsLGRkLGgxLGgyLGgzLGg0LGg1LGg2LGhyLGZpZ3VyZSxwLHByZXttYXJnaW46MH1maWVsZHNldHttYXJnaW46MDtwYWRkaW5nOjB9bGVnZW5ke3BhZGRpbmc6MH1vbCx1bCxtZW51e21hcmdpbjowO3BhZGRpbmc6MDtsaXN0LXN0eWxlOm5vbmV9ZGlhbG9ne3BhZGRpbmc6MH10ZXh0YXJlYXtyZXNpemU6dmVydGljYWx9aW5wdXQ6OnBsYWNlaG9sZGVyLHRleHRhcmVhOjpwbGFjZWhvbGRlcntvcGFjaXR5OjE7Y29sb3I6IzljYTNhZn1idXR0b24sW3JvbGU9YnV0dG9uXXtjdXJzb3I6cG9pbnRlcn06ZGlzYWJsZWR7Y3Vyc29yOmRlZmF1bHR9aW1nLHN2Zyx2aWRlbyxjYW52YXMsYXVkaW8saWZyYW1lLGVtYmVkLG9iamVjdHt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7ZGlzcGxheTpibG9ja31pbWcsdmlkZW97bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG99W2hpZGRlbl06d2hlcmUoOm5vdChbaGlkZGVuPXVudGlsLWZvdW5kXSkpe2Rpc3BsYXk6bm9uZX0qLDpiZWZvcmUsOmFmdGVyLDo6YmFja2Ryb3B7LS11bi1yb3RhdGU6MDstLXVuLXJvdGF0ZS14OjA7LS11bi1yb3RhdGUteTowOy0tdW4tcm90YXRlLXo6MDstLXVuLXNjYWxlLXg6MTstLXVuLXNjYWxlLXk6MTstLXVuLXNjYWxlLXo6MTstLXVuLXNrZXcteDowOy0tdW4tc2tldy15OjA7LS11bi10cmFuc2xhdGUteDowOy0tdW4tdHJhbnNsYXRlLXk6MDstLXVuLXRyYW5zbGF0ZS16OjA7LS11bi1wYW4teDogOy0tdW4tcGFuLXk6IDstLXVuLXBpbmNoLXpvb206IDstLXVuLXNjcm9sbC1zbmFwLXN0cmljdG5lc3M6cHJveGltaXR5Oy0tdW4tb3JkaW5hbDogOy0tdW4tc2xhc2hlZC16ZXJvOiA7LS11bi1udW1lcmljLWZpZ3VyZTogOy0tdW4tbnVtZXJpYy1zcGFjaW5nOiA7LS11bi1udW1lcmljLWZyYWN0aW9uOiA7LS11bi1ib3JkZXItc3BhY2luZy14OjA7LS11bi1ib3JkZXItc3BhY2luZy15OjA7LS11bi1yaW5nLW9mZnNldC1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1zaGFkb3c6MCAwICMwMDAwOy0tdW4tc2hhZG93LWluc2V0OiA7LS11bi1zaGFkb3c6MCAwICMwMDAwOy0tdW4tcmluZy1pbnNldDogOy0tdW4tcmluZy1vZmZzZXQtd2lkdGg6MHB4Oy0tdW4tcmluZy1vZmZzZXQtY29sb3I6I2ZmZjstLXVuLXJpbmctd2lkdGg6MHB4Oy0tdW4tcmluZy1jb2xvcjojOTNjNWZkODA7LS11bi1ibHVyOiA7LS11bi1icmlnaHRuZXNzOiA7LS11bi1jb250cmFzdDogOy0tdW4tZHJvcC1zaGFkb3c6IDstLXVuLWdyYXlzY2FsZTogOy0tdW4taHVlLXJvdGF0ZTogOy0tdW4taW52ZXJ0OiA7LS11bi1zYXR1cmF0ZTogOy0tdW4tc2VwaWE6IDstLXVuLWJhY2tkcm9wLWJsdXI6IDstLXVuLWJhY2tkcm9wLWJyaWdodG5lc3M6IDstLXVuLWJhY2tkcm9wLWNvbnRyYXN0OiA7LS11bi1iYWNrZHJvcC1ncmF5c2NhbGU6IDstLXVuLWJhY2tkcm9wLWh1ZS1yb3RhdGU6IDstLXVuLWJhY2tkcm9wLWludmVydDogOy0tdW4tYmFja2Ryb3Atb3BhY2l0eTogOy0tdW4tYmFja2Ryb3Atc2F0dXJhdGU6IDstLXVuLWJhY2tkcm9wLXNlcGlhOiB9LmZsZXgtY2VudGVye2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO2Rpc3BsYXk6ZmxleH0uYnV0dG9uLWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6MXB4O291dGxpbmUtc3R5bGU6c29saWR9LmJ1dHRvbi1mb2N1cy1zZWNvbmRhcnk6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLXdpZHRoOjJweDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktZm9jdXMpIDtvdXRsaW5lLWNvbG9yOnZhcigtLWNvbG9yLXNlY29uZGFyeS1mb2N1cykgO291dGxpbmUtb2Zmc2V0OjFweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzOmZvY3VzLXZpc2libGV7b3V0bGluZS13aWR0aDoycHg7b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5jb250ZW50LWZvY3VzLXNlY29uZGFyeTpmb2N1cy12aXNpYmxle291dGxpbmUtd2lkdGg6MnB4O291dGxpbmUtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1mb2N1cykgO291dGxpbmUtY29sb3I6dmFyKC0tY29sb3Itc2Vjb25kYXJ5LWZvY3VzKSA7b3V0bGluZS1vZmZzZXQ6LTVweDtvdXRsaW5lLXN0eWxlOnNvbGlkfS5cW2NsaXBcOnJlY3RcKDBcLDBcLDBcLDBcKVxde2NsaXA6cmVjdCgwLDAsMCwwKX0uc3Itb25seXtjbGlwOnJlY3QoMCwwLDAsMCk7d2hpdGUtc3BhY2U6bm93cmFwO2JvcmRlci13aWR0aDowO3dpZHRoOjFweDtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O3BhZGRpbmc6MDtwb3NpdGlvbjphYnNvbHV0ZTtvdmVyZmxvdzpoaWRkZW59LnBvaW50ZXItZXZlbnRzLWF1dG97cG9pbnRlci1ldmVudHM6YXV0b30ucG9pbnRlci1ldmVudHMtbm9uZXtwb2ludGVyLWV2ZW50czpub25lfS5hYnNvbHV0ZXtwb3NpdGlvbjphYnNvbHV0ZX0uZml4ZWR7cG9zaXRpb246Zml4ZWR9LnJlbGF0aXZle3Bvc2l0aW9uOnJlbGF0aXZlfS5zdGlja3l7cG9zaXRpb246c3RpY2t5fS4tYm90dG9tLTRcLjV7Ym90dG9tOi0xLjEyNXJlbX0uLXJpZ2h0LVxbNHB4XF17cmlnaHQ6LTRweH0uLXRvcC1cWzRweFxde3RvcDotNHB4fS5ib3R0b20tXFstOHB4XF17Ym90dG9tOi04cHh9LmJvdHRvbS0we2JvdHRvbTowfS5ib3R0b20tM3tib3R0b206Ljc1cmVtfS5ib3R0b20tZnVsbHtib3R0b206MTAwJX0ubGVmdC1cWzJweFxde2xlZnQ6MnB4fS5sZWZ0LTB7bGVmdDowfS5sZWZ0LTFcLzJ7bGVmdDo1MCV9LmxlZnQtMntsZWZ0Oi41cmVtfS5sZWZ0LTNcLjd7bGVmdDouOTI1cmVtfS5yaWdodC1cWzE2cHhcXXtyaWdodDoxNnB4fS5yaWdodC0we3JpZ2h0OjB9LnJpZ2h0LTBcLjV7cmlnaHQ6LjEyNXJlbX0ucmlnaHQtMntyaWdodDouNXJlbX0ucmlnaHQtM3tyaWdodDouNzVyZW19LnRvcC1cWzJweFxde3RvcDoycHh9LnRvcC0we3RvcDowfS50b3AtMnt0b3A6LjVyZW19LnRvcC0ze3RvcDouNzVyZW19LnRvcC0zXC43e3RvcDouOTI1cmVtfS50b3AtMzB7dG9wOjcuNXJlbX0udG9wLTQwe3RvcDoxMHJlbX0ubGluZS1jbGFtcC0xey13ZWJraXQtbGluZS1jbGFtcDoxO2xpbmUtY2xhbXA6MTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LmxpbmUtY2xhbXAtMnstd2Via2l0LWxpbmUtY2xhbXA6MjtsaW5lLWNsYW1wOjI7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS5saW5lLWNsYW1wLTN7LXdlYmtpdC1saW5lLWNsYW1wOjM7bGluZS1jbGFtcDozOy13ZWJraXQtYm94LW9yaWVudDp2ZXJ0aWNhbDtkaXNwbGF5Oi13ZWJraXQtYm94O292ZXJmbG93OmhpZGRlbn0ubGluZS1jbGFtcC01ey13ZWJraXQtbGluZS1jbGFtcDo1O2xpbmUtY2xhbXA6NTstd2Via2l0LWJveC1vcmllbnQ6dmVydGljYWw7ZGlzcGxheTotd2Via2l0LWJveDtvdmVyZmxvdzpoaWRkZW59LnotMXt6LWluZGV4OjF9LnotMTB7ei1pbmRleDoxMH0uei0xMDB7ei1pbmRleDoxMDB9LnotNTB7ei1pbmRleDo1MH0uZ3JpZHtkaXNwbGF5OmdyaWR9LmZsb2F0LXJpZ2h0e2Zsb2F0OnJpZ2h0fS4tbS1weHttYXJnaW46LTFweH0ubS0ze21hcmdpbjouNzVyZW19Lm0tYXV0b3ttYXJnaW46YXV0b30ubTE1e21hcmdpbjozLjc1cmVtfS5tMTZ7bWFyZ2luOjRyZW19Lm0xOHttYXJnaW46NC41cmVtfS5tMjF7bWFyZ2luOjUuMjVyZW19Lm0yMnttYXJnaW46NS41cmVtfS5tNnttYXJnaW46MS41cmVtfS5tN3ttYXJnaW46MS43NXJlbX0ubTh7bWFyZ2luOjJyZW19Lm05e21hcmdpbjoyLjI1cmVtfS5teC0ye21hcmdpbi1sZWZ0Oi41cmVtO21hcmdpbi1yaWdodDouNXJlbX0ubXgtM3ttYXJnaW4tbGVmdDouNzVyZW07bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXgtNHttYXJnaW4tbGVmdDoxcmVtO21hcmdpbi1yaWdodDoxcmVtfS5teS0ze21hcmdpbi10b3A6Ljc1cmVtO21hcmdpbi1ib3R0b206Ljc1cmVtfS5teS00e21hcmdpbi10b3A6MXJlbTttYXJnaW4tYm90dG9tOjFyZW19Li1tdC0ze21hcmdpbi10b3A6LS43NXJlbX0ubWItXFsycHhcXXttYXJnaW4tYm90dG9tOjJweH0ubWItMHttYXJnaW4tYm90dG9tOjB9Lm1iLTEsLm5vdC1sYXN0LW9mLXR5cGVcOm1iLTE6bm90KDpsYXN0LW9mLXR5cGUpe21hcmdpbi1ib3R0b206LjI1cmVtfS5tYi0ye21hcmdpbi1ib3R0b206LjVyZW19Lm1iLTN7bWFyZ2luLWJvdHRvbTouNzVyZW19Lm1iLTR7bWFyZ2luLWJvdHRvbToxcmVtfS5tYi02e21hcmdpbi1ib3R0b206MS41cmVtfS5tbC0wXC41e21hcmdpbi1sZWZ0Oi4xMjVyZW19Lm1sLTF7bWFyZ2luLWxlZnQ6LjI1cmVtfS5tbC0ye21hcmdpbi1sZWZ0Oi41cmVtfS5tbC0ze21hcmdpbi1sZWZ0Oi43NXJlbX0ubWwtNHttYXJnaW4tbGVmdDoxcmVtfS5tbC04e21hcmdpbi1sZWZ0OjJyZW19Lm1yLTF7bWFyZ2luLXJpZ2h0Oi4yNXJlbX0ubXItMVwuNXttYXJnaW4tcmlnaHQ6LjM3NXJlbX0ubXItMTB7bWFyZ2luLXJpZ2h0OjIuNXJlbX0ubXItMnttYXJnaW4tcmlnaHQ6LjVyZW19Lm1yLTN7bWFyZ2luLXJpZ2h0Oi43NXJlbX0ubXItNHttYXJnaW4tcmlnaHQ6MXJlbX0ubXQtXFsxcHhcXXttYXJnaW4tdG9wOjFweH0ubXQtMFwuNXttYXJnaW4tdG9wOi4xMjVyZW19Lm10LTJ7bWFyZ2luLXRvcDouNXJlbX0ubXQtM3ttYXJnaW4tdG9wOi43NXJlbX0ubXQtNHttYXJnaW4tdG9wOjFyZW19Lm10LTZ7bWFyZ2luLXRvcDoxLjVyZW19Lm10LTh7bWFyZ2luLXRvcDoycmVtfS5maXJzdC1vZi10eXBlXDptdC0yOmZpcnN0LW9mLXR5cGV7bWFyZ2luLXRvcDouNXJlbX0uaW5saW5le2Rpc3BsYXk6aW5saW5lfS5ibG9ja3tkaXNwbGF5OmJsb2NrfS5pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmhpZGRlbntkaXNwbGF5Om5vbmV9LmgtXFsxXC4yZW1cXXtoZWlnaHQ6MS4yZW19LmgtXFsxZW1cXXtoZWlnaHQ6MWVtfS5oLVxbNTBweFxde2hlaWdodDo1MHB4fS5oLTF7aGVpZ2h0Oi4yNXJlbX0uaC0xMHtoZWlnaHQ6Mi41cmVtfS5oLTExe2hlaWdodDoyLjc1cmVtfS5oLTEye2hlaWdodDozcmVtfS5oLTJ7aGVpZ2h0Oi41cmVtfS5oLTJcLjV7aGVpZ2h0Oi42MjVyZW19LmgtMjB7aGVpZ2h0OjVyZW19LmgtMzB7aGVpZ2h0OjcuNXJlbX0uaC00e2hlaWdodDoxcmVtfS5oLTQwe2hlaWdodDoxMHJlbX0uaC00MDBweHtoZWlnaHQ6NDAwcHh9LmgtNXtoZWlnaHQ6MS4yNXJlbX0uaC01NHB4e2hlaWdodDo1NHB4fS5oLTZ7aGVpZ2h0OjEuNXJlbX0uaC02MHB4e2hlaWdodDo2MHB4fS5oLTY0cHh7aGVpZ2h0OjY0cHh9LmgtN3toZWlnaHQ6MS43NXJlbX0uaC04e2hlaWdodDoycmVtfS5oLWZ1bGx7aGVpZ2h0OjEwMCV9LmgtcHh7aGVpZ2h0OjFweH0ubWF4LWgtXFsxMjVweFxde21heC1oZWlnaHQ6MTI1cHh9Lm1heC1oLVxbMjQwcHhcXXttYXgtaGVpZ2h0OjI0MHB4fS5tYXgtaC1cWzMycHhcXXttYXgtaGVpZ2h0OjMycHh9Lm1heC1oLTEzMnB4e21heC1oZWlnaHQ6MTMycHh9Lm1heC1oLTY0e21heC1oZWlnaHQ6MTZyZW19Lm1heC1oLTgwdmh7bWF4LWhlaWdodDo4MHZofS5tYXgtaC04NnttYXgtaGVpZ2h0OjIxLjVyZW19Lm1heC1oLWZ1bGx7bWF4LWhlaWdodDoxMDAlfS5tYXgtdy1cWzgwXCVcXXttYXgtd2lkdGg6ODAlfS5tYXgtdy1cWzg1XCVcXXttYXgtd2lkdGg6ODUlfS5tYXgtdy1cW2NhbGNcKDEwMFwlLTE1MHB4XClcXXttYXgtd2lkdGg6Y2FsYygxMDAlIC0gMTUwcHgpfS5tYXgtdy1mdWxse21heC13aWR0aDoxMDAlfS5taW4taC1cWzE2cHhcXXttaW4taGVpZ2h0OjE2cHh9Lm1pbi13LVxbMTZweFxde21pbi13aWR0aDoxNnB4fS5taW4tdy0we21pbi13aWR0aDowfS5taW4tdy01e21pbi13aWR0aDoxLjI1cmVtfS5taW4tdy01XC41e21pbi13aWR0aDoxLjM3NXJlbX0ubWluLXctNnttaW4td2lkdGg6MS41cmVtfS53LVxbMVwuMmVtXF17d2lkdGg6MS4yZW19LnctXFsxZW1cXXt3aWR0aDoxZW19LnctXFs1MHB4XF17d2lkdGg6NTBweH0udy0we3dpZHRoOjB9LnctMXt3aWR0aDouMjVyZW19LnctMTF7d2lkdGg6Mi43NXJlbX0udy0xMTZ7d2lkdGg6MjlyZW19LnctMTJ7d2lkdGg6M3JlbX0udy0ye3dpZHRoOi41cmVtfS53LTJcLjV7d2lkdGg6LjYyNXJlbX0udy0yODBweHt3aWR0aDoyODBweH0udy0zNDhweHt3aWR0aDozNDhweH0udy00e3dpZHRoOjFyZW19LnctNXt3aWR0aDoxLjI1cmVtfS53LTUye3dpZHRoOjEzcmVtfS53LTU2e3dpZHRoOjE0cmVtfS53LTZ7d2lkdGg6MS41cmVtfS53LTYwcHh7d2lkdGg6NjBweH0udy03e3dpZHRoOjEuNzVyZW19LnctOHt3aWR0aDoycmVtfS53LWZ1bGx7d2lkdGg6MTAwJX0udy1tYXh7d2lkdGg6bWF4LWNvbnRlbnR9LnctcHh7d2lkdGg6MXB4fS5mbGV4e2Rpc3BsYXk6ZmxleH0uaW5saW5lLWZsZXh7ZGlzcGxheTppbmxpbmUtZmxleH0uZmxleC0xe2ZsZXg6MX0uZmxleC1ub25le2ZsZXg6bm9uZX0uZmxleC1zaHJpbmt7ZmxleC1zaHJpbms6MX0uZmxleC1zaHJpbmstMCwuc2hyaW5rLTB7ZmxleC1zaHJpbms6MH0uZmxleC1ncm93LC5ncm93e2ZsZXgtZ3JvdzoxfS5mbGV4LXJvd3tmbGV4LWRpcmVjdGlvbjpyb3d9LmZsZXgtY29se2ZsZXgtZGlyZWN0aW9uOmNvbHVtbn0uZmxleC13cmFwe2ZsZXgtd3JhcDp3cmFwfS4tdHJhbnNsYXRlLXgtMVwvMnstLXVuLXRyYW5zbGF0ZS14Oi01MCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNsYXRlLXgtZnVsbHstLXVuLXRyYW5zbGF0ZS14OjEwMCU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpzY2FsZS0xMTV7LS11bi1zY2FsZS14OjEuMTU7LS11bi1zY2FsZS15OjEuMTU7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0uaG92ZXJcOnNjYWxlLTEyMDpob3ZlcnstLXVuLXNjYWxlLXg6MS4yOy0tdW4tc2NhbGUteToxLjI7dHJhbnNmb3JtOnRyYW5zbGF0ZVgodmFyKC0tdW4tdHJhbnNsYXRlLXgpKSB0cmFuc2xhdGVZKHZhcigtLXVuLXRyYW5zbGF0ZS15KSkgdHJhbnNsYXRlWih2YXIoLS11bi10cmFuc2xhdGUteikpIHJvdGF0ZSh2YXIoLS11bi1yb3RhdGUpKSByb3RhdGVYKHZhcigtLXVuLXJvdGF0ZS14KSkgcm90YXRlWSh2YXIoLS11bi1yb3RhdGUteSkpIHJvdGF0ZVoodmFyKC0tdW4tcm90YXRlLXopKSBza2V3WCh2YXIoLS11bi1za2V3LXgpKSBza2V3WSh2YXIoLS11bi1za2V3LXkpKSBzY2FsZVgodmFyKC0tdW4tc2NhbGUteCkpIHNjYWxlWSh2YXIoLS11bi1zY2FsZS15KSkgc2NhbGVaKHZhcigtLXVuLXNjYWxlLXopKX0udHJhbnNmb3Jte3RyYW5zZm9ybTp0cmFuc2xhdGVYKHZhcigtLXVuLXRyYW5zbGF0ZS14KSkgdHJhbnNsYXRlWSh2YXIoLS11bi10cmFuc2xhdGUteSkpIHRyYW5zbGF0ZVoodmFyKC0tdW4tdHJhbnNsYXRlLXopKSByb3RhdGUodmFyKC0tdW4tcm90YXRlKSkgcm90YXRlWCh2YXIoLS11bi1yb3RhdGUteCkpIHJvdGF0ZVkodmFyKC0tdW4tcm90YXRlLXkpKSByb3RhdGVaKHZhcigtLXVuLXJvdGF0ZS16KSkgc2tld1godmFyKC0tdW4tc2tldy14KSkgc2tld1kodmFyKC0tdW4tc2tldy15KSkgc2NhbGVYKHZhcigtLXVuLXNjYWxlLXgpKSBzY2FsZVkodmFyKC0tdW4tc2NhbGUteSkpIHNjYWxlWih2YXIoLS11bi1zY2FsZS16KSl9QGtleWZyYW1lcyBwdWxzZXswJSx0b3tvcGFjaXR5OjF9NTAle29wYWNpdHk6LjV9fUBrZXlmcmFtZXMgcHVzaC10by1sZWZ0ezAle21hcmdpbi1yaWdodDotNTAlO3RyYW5zZm9ybTpzY2FsZSgwKX10b3ttYXJnaW4tcmlnaHQ6aW5oZXJpdDt0cmFuc2Zvcm06c2NhbGUoMSl9fUBrZXlmcmFtZXMgc3BpbnswJXtyb3RhdGU6MGRlZ310b3tyb3RhdGU6MzYwZGVnfX1Aa2V5ZnJhbWVzIHR5cGluZ3swJSw1MCUsdG97dHJhbnNmb3JtOnRyYW5zbGF0ZVkoMCl9MjUle3RyYW5zZm9ybTp0cmFuc2xhdGVZKC02cHgpfX0uYW5pbWF0ZS1wdWxzZXthbmltYXRpb246MnMgY3ViaWMtYmV6aWVyKC40LDAsLjYsMSkgaW5maW5pdGUgcHVsc2V9LmFuaW1hdGUtcHVzaC10by1sZWZ0e2FuaW1hdGlvbjouMjVzIGVhc2UtaW4tb3V0IHB1c2gtdG8tbGVmdH0uYW5pbWF0ZS1zcGlue2FuaW1hdGlvbjoxcyBsaW5lYXIgaW5maW5pdGUgc3Bpbn0uYW5pbWF0ZS10eXBpbmd7YW5pbWF0aW9uOi44cyBlYXNlLWluLW91dCB0eXBpbmd9LmN1cnNvci1hdXRve2N1cnNvcjphdXRvfS5jdXJzb3ItcG9pbnRlciwuaG92ZXJcOmN1cnNvci1wb2ludGVyOmhvdmVye2N1cnNvcjpwb2ludGVyfS5jdXJzb3Itbm90LWFsbG93ZWR7Y3Vyc29yOm5vdC1hbGxvd2VkfS5zZWxlY3Qtbm9uZXstd2Via2l0LXVzZXItc2VsZWN0Om5vbmU7dXNlci1zZWxlY3Q6bm9uZX0ucmVzaXple3Jlc2l6ZTpib3RofS5yZXNpemUtbm9uZXtyZXNpemU6bm9uZX0uc2Nyb2xsLW10LTJ7c2Nyb2xsLW1hcmdpbi10b3A6LjVyZW19Lmxpc3QtZGVjaW1hbHtsaXN0LXN0eWxlLXR5cGU6ZGVjaW1hbH0ubGlzdC1kaXNje2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5jb250ZW50LWNlbnRlcnthbGlnbi1jb250ZW50OmNlbnRlcn0uaXRlbXMtc3RhcnR7YWxpZ24taXRlbXM6ZmxleC1zdGFydH0uaXRlbXMtZW5ke2FsaWduLWl0ZW1zOmZsZXgtZW5kfS5pdGVtcy1jZW50ZXJ7YWxpZ24taXRlbXM6Y2VudGVyfS5pdGVtcy1iYXNlbGluZXthbGlnbi1pdGVtczpiYXNlbGluZX0uc2VsZi1zdHJldGNoe2FsaWduLXNlbGY6c3RyZXRjaH0uanVzdGlmeS1zdGFydHtqdXN0aWZ5LWNvbnRlbnQ6ZmxleC1zdGFydH0uanVzdGlmeS1lbmR7anVzdGlmeS1jb250ZW50OmZsZXgtZW5kfS5qdXN0aWZ5LWNlbnRlcntqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyfS5qdXN0aWZ5LWJldHdlZW57anVzdGlmeS1jb250ZW50OnNwYWNlLWJldHdlZW59LmdhcC0ye2dhcDouNXJlbX0uZ2FwLTN7Z2FwOi43NXJlbX0uc3BhY2UteC0yPjpub3QoW2hpZGRlbl0pfjpub3QoW2hpZGRlbl0pey0tdW4tc3BhY2UteC1yZXZlcnNlOjA7bWFyZ2luLWxlZnQ6Y2FsYyguNXJlbSAqIGNhbGMoMSAtIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpKTttYXJnaW4tcmlnaHQ6Y2FsYyguNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS14LTU+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS14LXJldmVyc2U6MDttYXJnaW4tbGVmdDpjYWxjKDEuMjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS14LXJldmVyc2UpKSk7bWFyZ2luLXJpZ2h0OmNhbGMoMS4yNXJlbSAqIHZhcigtLXVuLXNwYWNlLXgtcmV2ZXJzZSkpfS5zcGFjZS15LTI+Om5vdChbaGlkZGVuXSl+Om5vdChbaGlkZGVuXSl7LS11bi1zcGFjZS15LXJldmVyc2U6MDttYXJnaW4tdG9wOmNhbGMoLjVyZW0gKiBjYWxjKDEgLSB2YXIoLS11bi1zcGFjZS15LXJldmVyc2UpKSk7bWFyZ2luLWJvdHRvbTpjYWxjKC41cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktND46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxcmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxcmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9LnNwYWNlLXktNT46bm90KFtoaWRkZW5dKX46bm90KFtoaWRkZW5dKXstLXVuLXNwYWNlLXktcmV2ZXJzZTowO21hcmdpbi10b3A6Y2FsYygxLjI1cmVtICogY2FsYygxIC0gdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSkpO21hcmdpbi1ib3R0b206Y2FsYygxLjI1cmVtICogdmFyKC0tdW4tc3BhY2UteS1yZXZlcnNlKSl9Lm92ZXJmbG93LWF1dG97b3ZlcmZsb3c6YXV0b30ub3ZlcmZsb3ctY2xpcHtvdmVyZmxvdzpjbGlwfS5vdmVyZmxvdy1oaWRkZW57b3ZlcmZsb3c6aGlkZGVufS5vdmVyZmxvdy14LWhpZGRlbntvdmVyZmxvdy14OmhpZGRlbn0ub3ZlcmZsb3cteS1hdXRve292ZXJmbG93LXk6YXV0b30ub3ZlcmZsb3cteS1zY3JvbGx7b3ZlcmZsb3cteTpzY3JvbGx9Lm92ZXJzY3JvbGwtY29udGFpbntvdmVyc2Nyb2xsLWJlaGF2aW9yOmNvbnRhaW59LnRydW5jYXRle3RleHQtb3ZlcmZsb3c6ZWxsaXBzaXM7d2hpdGUtc3BhY2U6bm93cmFwO292ZXJmbG93OmhpZGRlbn0udGV4dC1lbGxpcHNpc3t0ZXh0LW92ZXJmbG93OmVsbGlwc2lzfS53aGl0ZXNwYWNlLW5vcm1hbHt3aGl0ZS1zcGFjZTpub3JtYWx9LndoaXRlc3BhY2Utbm93cmFwe3doaXRlLXNwYWNlOm5vd3JhcH0ud2hpdGVzcGFjZS1wcmV7d2hpdGUtc3BhY2U6cHJlfS53aGl0ZXNwYWNlLXByZS13cmFwe3doaXRlLXNwYWNlOnByZS13cmFwfS5icmVhay13b3Jkc3tvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9LmJyZWFrLWFsbHt3b3JkLWJyZWFrOmJyZWFrLWFsbH0uYm9yZGVyLC5ib3JkZXItMXtib3JkZXItd2lkdGg6MXB4fS5ib3JkZXItMHtib3JkZXItd2lkdGg6MH0uYm9yZGVyLTJ7Ym9yZGVyLXdpZHRoOjJweH0uYm9yZGVyLXQtMntib3JkZXItdG9wLXdpZHRoOjJweH0uYm9yZGVyLWdyYXktMzAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci1ncmVlbi00MDB7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoNzQgMjIyIDEyOC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItcHJpbWFyeXtib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeSl9LmJvcmRlci1wcmltYXJ5LWJ1dHRvbntib3JkZXItY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pfS5ib3JkZXItcmVkLTUwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uYm9yZGVyLXNsYXRlLTIwMHstLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5ib3JkZXItd2hpdGV7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKX0uZm9jdXNcOmJvcmRlci1ibHVlLTUwMDpmb2N1c3stLXVuLWJvcmRlci1vcGFjaXR5OjE7Ym9yZGVyLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9LmJvcmRlci10LW5ldXRyYWwtMTAwey0tdW4tYm9yZGVyLW9wYWNpdHk6MTstLXVuLWJvcmRlci10b3Atb3BhY2l0eTp2YXIoLS11bi1ib3JkZXItb3BhY2l0eSk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYm9yZGVyLXRvcC1vcGFjaXR5KSl9LmJvcmRlci1yb3VuZGVkLWZ1bGwsLnJvdW5kZWQtZnVsbHtib3JkZXItcmFkaXVzOjk5OTlweH0ucm91bmRlZC0yLC5yb3VuZGVkLWxne2JvcmRlci1yYWRpdXM6LjVyZW19LnJvdW5kZWQtMnhse2JvcmRlci1yYWRpdXM6MXJlbX0ucm91bmRlZC0zeGwsLnJvdW5kZWQtNntib3JkZXItcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1tZHtib3JkZXItcmFkaXVzOi4zNzVyZW19LnJvdW5kZWQteGx7Ym9yZGVyLXJhZGl1czouNzVyZW19LnJvdW5kZWQtbHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOi4yNXJlbX0ucm91bmRlZC1sLTN4bHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbTtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ye2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOi4yNXJlbTtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czouMjVyZW19LnJvdW5kZWQtci0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC10LTZ7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW07Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5yb3VuZGVkLWxiLTN4bHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1sdC0zeGx7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czoxLjVyZW19LnJvdW5kZWQtcmItM3hse2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjEuNXJlbX0ucm91bmRlZC1ydC0zeGx7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5ib3JkZXItZGFzaGVke2JvcmRlci1zdHlsZTpkYXNoZWR9LmJvcmRlci1ub25le2JvcmRlci1zdHlsZTpub25lfS5iZy1ibGFja3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ibGFja1wvODB7YmFja2dyb3VuZC1jb2xvcjojMDAwY30uYmctZW1lcmFsZC01MDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTYgMTg1IDEyOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjkgMjMxIDIzNS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTMwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1ncmF5LTQwMFwvXFtcLjk1XF17YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjJ9LmJnLWdyYXktNjAwXC9cW1wuOTVcXXtiYWNrZ3JvdW5kLWNvbG9yOiM0YjU1NjNmMn0uYmctZ3JlZW4tNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDc0IDIyMiAxMjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctZ3JlZW4tNTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDM0IDE5NyA5NC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDUgMjQ1IDI0NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1uZXV0cmFsLTEwMFwvNTB7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1ODB9LmJnLW5ldXRyYWwtNjAwXC80MHtiYWNrZ3JvdW5kLWNvbG9yOiM1MjUyNTI2Nn0uYmctb3JhbmdlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDkgMTE1IDIyL3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXByaW1hcnktYnV0dG9ue2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIH0uYmctcmVkLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMzkgNjggNjgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctcmVkLTYwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtMTAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTIwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyMjYgMjMyIDI0MC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy1zbGF0ZS0zMDB7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjAzIDIxMyAyMjUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uYmctc2xhdGUtNDAwey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLXNsYXRlLTUwMHstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5iZy10cmFuc3BhcmVudHtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5iZy13aGl0ZXstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNTUgMjU1IDI1NS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1ibGFjazpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy1lbWVyYWxkLTYwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYig1IDE1MCAxMDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uaG92ZXItYmctcHJpbWFyeS1idXR0b24taG92ZXI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5ob3Zlci1iZy1wcmltYXJ5LWJ1dHRvbjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmhvdmVyLWJnLXNsYXRlLTEwMDpob3ZlcnstLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDEgMjQ1IDI0OS92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS5ob3Zlci1iZy10cmFuc3BhcmVudDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwfS5ob3Zlclw6Ymctc2xhdGUtMTAwOmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJnLW9wYWNpdHktMTAsLmhvdmVyLWJnLW9wYWNpdHktMTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5Oi4xfS5mcm9tLXdoaXRlXC8xMDB7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlOy0tdW4tZ3JhZGllbnQtZnJvbTojZmZmIHZhcigtLXVuLWdyYWRpZW50LWZyb20tcG9zaXRpb24pOy0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwIHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKTstLXVuLWdyYWRpZW50LXN0b3BzOnZhcigtLXVuLWdyYWRpZW50LWZyb20pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnZpYS13aGl0ZVwvNDB7LS11bi1ncmFkaWVudC12aWEtcG9zaXRpb246NTAlOy0tdW4tZ3JhZGllbnQtdG86I2ZmZjA7LS11bi1ncmFkaWVudC1zdG9wczp2YXIoLS11bi1ncmFkaWVudC1mcm9tKSwgI2ZmZjYgdmFyKC0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uKSwgdmFyKC0tdW4tZ3JhZGllbnQtdG8pfS52aWEtd2hpdGVcLzUwey0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjUwJTstLXVuLWdyYWRpZW50LXRvOiNmZmYwOy0tdW4tZ3JhZGllbnQtc3RvcHM6dmFyKC0tdW4tZ3JhZGllbnQtZnJvbSksICNmZmZmZmY4MCB2YXIoLS11bi1ncmFkaWVudC12aWEtcG9zaXRpb24pLCB2YXIoLS11bi1ncmFkaWVudC10byl9LnRvLXRyYW5zcGFyZW50ey0tdW4tZ3JhZGllbnQtdG8tcG9zaXRpb246MTAwJTstLXVuLWdyYWRpZW50LXRvOnRyYW5zcGFyZW50IHZhcigtLXVuLWdyYWRpZW50LXRvLXBvc2l0aW9uKX0uZnJvbS0wXCV7LS11bi1ncmFkaWVudC1mcm9tLXBvc2l0aW9uOjAlfS52aWEtNTBcJXstLXVuLWdyYWRpZW50LXZpYS1wb3NpdGlvbjo1MCV9LnZpYS03MFwley0tdW4tZ3JhZGllbnQtdmlhLXBvc2l0aW9uOjcwJX0uYmctZ3JhZGllbnQtdG8tdHstLXVuLWdyYWRpZW50LXNoYXBlOnRvIHRvcCBpbiBva2xjaDstLXVuLWdyYWRpZW50OnZhcigtLXVuLWdyYWRpZW50LXNoYXBlKSwgdmFyKC0tdW4tZ3JhZGllbnQtc3RvcHMpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KHZhcigtLXVuLWdyYWRpZW50KSl9LmZpbGwtY3VycmVudHtmaWxsOmN1cnJlbnRDb2xvcn0uZmlsbC1wcmltYXJ5LWJ1dHRvbntmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LmZpbGwtcHJpbWFyeS1idXR0b24tY29udGVudHtmaWxsOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0ub2JqZWN0LWNvbnRhaW57b2JqZWN0LWZpdDpjb250YWlufS5wLTB7cGFkZGluZzowfS5wLTBcLjh7cGFkZGluZzouMnJlbX0ucC0xe3BhZGRpbmc6LjI1cmVtfS5wLTFcLjV7cGFkZGluZzouMzc1cmVtfS5wLTJ7cGFkZGluZzouNXJlbX0ucC0ze3BhZGRpbmc6Ljc1cmVtfS5wLTR7cGFkZGluZzoxcmVtfS5wLTh7cGFkZGluZzoycmVtfS5weCwucHgtNHtwYWRkaW5nLWxlZnQ6MXJlbTtwYWRkaW5nLXJpZ2h0OjFyZW19LnB4LTF7cGFkZGluZy1sZWZ0Oi4yNXJlbTtwYWRkaW5nLXJpZ2h0Oi4yNXJlbX0ucHgtMntwYWRkaW5nLWxlZnQ6LjVyZW07cGFkZGluZy1yaWdodDouNXJlbX0ucHgtM3twYWRkaW5nLWxlZnQ6Ljc1cmVtO3BhZGRpbmctcmlnaHQ6Ljc1cmVtfS5weC04e3BhZGRpbmctbGVmdDoycmVtO3BhZGRpbmctcmlnaHQ6MnJlbX0ucHktMXtwYWRkaW5nLXRvcDouMjVyZW07cGFkZGluZy1ib3R0b206LjI1cmVtfS5weS0ye3BhZGRpbmctdG9wOi41cmVtO3BhZGRpbmctYm90dG9tOi41cmVtfS5weS0yXC41e3BhZGRpbmctdG9wOi42MjVyZW07cGFkZGluZy1ib3R0b206LjYyNXJlbX0ucHktM3twYWRkaW5nLXRvcDouNzVyZW07cGFkZGluZy1ib3R0b206Ljc1cmVtfS5wYi0we3BhZGRpbmctYm90dG9tOjB9LnBiLTF7cGFkZGluZy1ib3R0b206LjI1cmVtfS5wYi0ye3BhZGRpbmctYm90dG9tOi41cmVtfS5wYi0ze3BhZGRpbmctYm90dG9tOi43NXJlbX0ucGItNHtwYWRkaW5nLWJvdHRvbToxcmVtfS5wbC0ye3BhZGRpbmctbGVmdDouNXJlbX0ucGwtNCwuZ3JvdXA6aG92ZXIgLmdyb3VwLWhvdmVyXDpub3QtZmlyc3RcOnBsLTQ6bm90KDpmaXJzdC1jaGlsZCl7cGFkZGluZy1sZWZ0OjFyZW19LnByLTF7cGFkZGluZy1yaWdodDouMjVyZW19LnByLTR7cGFkZGluZy1yaWdodDoxcmVtfS5wdC0xe3BhZGRpbmctdG9wOi4yNXJlbX0ucHQtNntwYWRkaW5nLXRvcDoxLjVyZW19LnB0LTl7cGFkZGluZy10b3A6Mi4yNXJlbX0udGV4dC1jZW50ZXJ7dGV4dC1hbGlnbjpjZW50ZXJ9LnRleHQtbGVmdHt0ZXh0LWFsaWduOmxlZnR9LnRleHQtMnhse2ZvbnQtc2l6ZToxLjVyZW07bGluZS1oZWlnaHQ6MnJlbX0udGV4dC1iYXNle2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuNXJlbX0udGV4dC1iYXNlLWlucHV0e2ZvbnQtc2l6ZToxcmVtO2xpbmUtaGVpZ2h0OjEuMjVyZW19LnRleHQtbGd7Zm9udC1zaXplOjEuMTI1cmVtO2xpbmUtaGVpZ2h0OjEuNzVyZW19LnRleHQtc217Zm9udC1zaXplOi44NzVyZW07bGluZS1oZWlnaHQ6MS4yNXJlbX0udGV4dC14c3tmb250LXNpemU6Ljc1cmVtO2xpbmUtaGVpZ2h0OjFyZW19LnRleHQtYmxhY2t7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMCAwIDAvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LWdyYXktMzAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwOSAyMTMgMjE5L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1ncmF5LTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDcgMTE0IDEyOC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtbmV1dHJhbC00MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTYzIDE2MyAxNjMvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LW5ldXRyYWwtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDExNSAxMTUgMTE1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1wcmltYXJ5e2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnkpIH0udGV4dC1wcmltYXJ5LWJ1dHRvbntjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgfS50ZXh0LXByaW1hcnktYnV0dG9uLWNvbnRlbnR7Y29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24tY29udGVudCkgfS50ZXh0LXByaW1hcnktY29udGVudHtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWNvbnRlbnQpIH0udGV4dC1yZWQtNTAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNDAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDE0OCAxNjMgMTg0L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3Itc2xhdGUtNTAwLC50ZXh0LXNsYXRlLTUwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LnRleHQtc2xhdGUtNjAwey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDcxIDg1IDEwNS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmNvbG9yLXNsYXRlLTgwMCwudGV4dC1zbGF0ZS04MDB7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS50ZXh0LXdoaXRley0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDI1NSAyNTUgMjU1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uaG92ZXItdGV4dC1wcmltYXJ5LWJ1dHRvbi1jb250ZW50OmhvdmVye2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uaG92ZXJcOnRleHQtZ3JheS00MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMTU2IDE2MyAxNzUvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6dGV4dC1zbGF0ZS04MDA6aG92ZXJ7LS11bi10ZXh0LW9wYWNpdHk6MTtjb2xvcjpyZ2IoMzAgNDEgNTkvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5wbGFjZWhvbGRlclw6dGV4dC1zbGF0ZS0zMDA6OnBsYWNlaG9sZGVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDIwMyAyMTMgMjI1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0uY29sb3ItcmVkLTYwMHstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigyMjAgMzggMzgvdmFyKC0tdW4tdGV4dC1vcGFjaXR5KSkgfS5ob3Zlclw6Y29sb3Itc2xhdGUtNzAwOmhvdmVyey0tdW4tdGV4dC1vcGFjaXR5OjE7Y29sb3I6cmdiKDUxIDY1IDg1L3ZhcigtLXVuLXRleHQtb3BhY2l0eSkpIH0udGV4dC1vcGFjaXR5LTIwey0tdW4tdGV4dC1vcGFjaXR5Oi4yfS5mb250LTIwMHtmb250LXdlaWdodDoyMDB9LmZvbnQtNTAwLC5mb250LW1lZGl1bXtmb250LXdlaWdodDo1MDB9LmZvbnQtYm9sZHtmb250LXdlaWdodDo3MDB9LmZvbnQtbGlnaHR7Zm9udC13ZWlnaHQ6MzAwfS5mb250LXNlbWlib2xke2ZvbnQtd2VpZ2h0OjYwMH0ubGVhZGluZy1cWzIycHhcXXtsaW5lLWhlaWdodDoyMnB4fS5sZWFkaW5nLTRcLjV7bGluZS1oZWlnaHQ6MS4xMjVyZW19LmxlYWRpbmctNVwuNXtsaW5lLWhlaWdodDoxLjM3NXJlbX0ubGVhZGluZy02e2xpbmUtaGVpZ2h0OjEuNXJlbX0ubGVhZGluZy1ub3JtYWx7bGluZS1oZWlnaHQ6MS41fS5pdGFsaWN7Zm9udC1zdHlsZTppdGFsaWN9LnVuZGVybGluZXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm5vLXVuZGVybGluZSwuaG92ZXItbm8tdW5kZXJsaW5lOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5vcGFjaXR5LTEwe29wYWNpdHk6LjF9Lm9wYWNpdHktMTAwe29wYWNpdHk6MX0ub3BhY2l0eS0yMHtvcGFjaXR5Oi4yfS5vcGFjaXR5LTMwe29wYWNpdHk6LjN9Lm9wYWNpdHktNjB7b3BhY2l0eTouNn0uc2hhZG93ey0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxcHggM3B4IDAgdmFyKC0tdW4tc2hhZG93LWNvbG9yLCMwMDAwMDAxYSksdmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uc2hhZG93LWxney0tdW4tc2hhZG93OnZhcigtLXVuLXNoYWRvdy1pbnNldCkgMCAxMHB4IDE1cHggLTNweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgNHB4IDZweCAtNHB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctbWR7LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDRweCA2cHggLTFweCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDFhKSx2YXIoLS11bi1zaGFkb3ctaW5zZXQpIDAgMnB4IDRweCAtMnB4IHZhcigtLXVuLXNoYWRvdy1jb2xvciwjMDAwMDAwMWEpO2JveC1zaGFkb3c6dmFyKC0tdW4tcmluZy1vZmZzZXQtc2hhZG93KSwgdmFyKC0tdW4tcmluZy1zaGFkb3cpLCB2YXIoLS11bi1zaGFkb3cpfS5zaGFkb3ctc217LS11bi1zaGFkb3c6dmFyKC0tdW4tc2hhZG93LWluc2V0KSAwIDFweCAycHggMCB2YXIoLS11bi1zaGFkb3ctY29sb3IsIzAwMDAwMDBkKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpvdXRsaW5lLTI6Zm9jdXMtd2l0aGlue291dGxpbmUtd2lkdGg6MnB4fS5mb2N1cy13aXRoaW5cOm91dGxpbmUtcHJpbWFyeS1mb2N1czpmb2N1cy13aXRoaW57b3V0bGluZS1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWZvY3VzKSB9Lm91dGxpbmUsLmZvY3VzLXdpdGhpblw6b3V0bGluZS1zb2xpZDpmb2N1cy13aXRoaW57b3V0bGluZS1zdHlsZTpzb2xpZH0ub3V0bGluZS1ub25lLC5mb2N1c1w6b3V0bGluZS1ub25lOmZvY3VzLC5mb2N1cy12aXNpYmxlXDpvdXRsaW5lLW5vbmU6Zm9jdXMtdmlzaWJsZXtvdXRsaW5lLW9mZnNldDoycHg7b3V0bGluZToycHggc29saWQgIzAwMDB9LmZvY3VzLXdpdGhpblw6cmluZy0zOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctd2lkdGg6M3B4Oy0tdW4tcmluZy1vZmZzZXQtc2hhZG93OnZhcigtLXVuLXJpbmctaW5zZXQpIDAgMCAwIHZhcigtLXVuLXJpbmctb2Zmc2V0LXdpZHRoKSB2YXIoLS11bi1yaW5nLW9mZnNldC1jb2xvcik7LS11bi1yaW5nLXNoYWRvdzp2YXIoLS11bi1yaW5nLWluc2V0KSAwIDAgMCBjYWxjKHZhcigtLXVuLXJpbmctd2lkdGgpICsgdmFyKC0tdW4tcmluZy1vZmZzZXQtd2lkdGgpKSB2YXIoLS11bi1yaW5nLWNvbG9yKTtib3gtc2hhZG93OnZhcigtLXVuLXJpbmctb2Zmc2V0LXNoYWRvdyksIHZhcigtLXVuLXJpbmctc2hhZG93KSwgdmFyKC0tdW4tc2hhZG93KX0uZm9jdXMtd2l0aGluXDpyaW5nLW9mZnNldC0xOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb2Zmc2V0LXdpZHRoOjFweH0uZm9jdXMtd2l0aGluXDpyaW5nLWJsdWUtNDAwOmZvY3VzLXdpdGhpbnstLXVuLXJpbmctb3BhY2l0eToxOy0tdW4tcmluZy1jb2xvcjpyZ2IoOTYgMTY1IDI1MC92YXIoLS11bi1yaW5nLW9wYWNpdHkpKSB9LmZvY3VzXDpyaW5nLWJsdWUtNTAwOmZvY3Vzey0tdW4tcmluZy1vcGFjaXR5OjE7LS11bi1yaW5nLWNvbG9yOnJnYig1OSAxMzAgMjQ2L3ZhcigtLXVuLXJpbmctb3BhY2l0eSkpIH0udHJhbnNpdGlvbnt0cmFuc2l0aW9uLXByb3BlcnR5OmNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yLHRleHQtZGVjb3JhdGlvbi1jb2xvcixmaWxsLHN0cm9rZSxvcGFjaXR5LGJveC1zaGFkb3csdHJhbnNmb3JtLGZpbHRlciwtd2Via2l0LWJhY2tkcm9wLWZpbHRlcixiYWNrZHJvcC1maWx0ZXI7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLWFsbHt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tY29sb3Jze3RyYW5zaXRpb24tcHJvcGVydHk6Y29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IsdGV4dC1kZWNvcmF0aW9uLWNvbG9yLGZpbGwsc3Ryb2tlO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0udHJhbnNpdGlvbi1vcGFjaXR5e3RyYW5zaXRpb24tcHJvcGVydHk6b3BhY2l0eTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24tcGFkZGluZy00MDB7dHJhbnNpdGlvbi1wcm9wZXJ0eTpwYWRkaW5nO3RyYW5zaXRpb24tZHVyYXRpb246LjRzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS50cmFuc2l0aW9uLXRyYW5zZm9ybXt0cmFuc2l0aW9uLXByb3BlcnR5OnRyYW5zZm9ybTt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSl9LnRyYW5zaXRpb24td2lkdGgtMjUwe3RyYW5zaXRpb24tcHJvcGVydHk6d2lkdGg7dHJhbnNpdGlvbi1kdXJhdGlvbjouMjVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5kdXJhdGlvbi0xNTB7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzfS5kdXJhdGlvbi0zMDB7dHJhbnNpdGlvbi1kdXJhdGlvbjouM3N9LmR1cmF0aW9uLTc1e3RyYW5zaXRpb24tZHVyYXRpb246NzVtc30uZGVsYXktMHt0cmFuc2l0aW9uLWRlbGF5OjBzfS5lYXNlLWluLW91dHt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uZWFzZS1vdXR7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKDAsMCwuMiwxKX0uY29udGVudC1cW1wiXCJcXXtjb250ZW50OiIifS5iZy1wcmltYXJ5LWdyYWRpZW50e2JhY2tncm91bmQ6bGluZWFyLWdyYWRpZW50KDgwZGVnLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LXRvKSAxMzAlKX0uYmctcHJpbWFyeS1ncmFkaWVudC1idXR0b257YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtYnV0dG9uLWZyb20pLCB2YXIoLS1jb2xvci1wcmltYXJ5LWdyYWRpZW50LWJ1dHRvbi10bykgMTMwJSl9LmJnLXByaW1hcnktZ3JhZGllbnQtaG92ZXI6aG92ZXJ7YmFja2dyb3VuZDpsaW5lYXItZ3JhZGllbnQoODBkZWcsIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItZnJvbSksIHZhcigtLWNvbG9yLXByaW1hcnktZ3JhZGllbnQtaG92ZXItdG8pIDEzMCUpfS5saW5lLWNsYW1wLTV7LXdlYmtpdC1saW5lLWNsYW1wOjU7LXdlYmtpdC1ib3gtb3JpZW50OnZlcnRpY2FsO2Rpc3BsYXk6LXdlYmtpdC1ib3g7b3ZlcmZsb3c6aGlkZGVufS50eXBpbmctaW5kaWNhdG9yLnN2ZWx0ZS1zNDB4Z2t7Ym9yZGVyLXJhZGl1czo5OTk5cHh9LnR5cGluZy1pbmRpY2F0b3Iuc20uc3ZlbHRlLXM0MHhna3t3aWR0aDouMjVyZW07aGVpZ2h0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci5tZC5zdmVsdGUtczQweGdre3dpZHRoOi41cmVtO2hlaWdodDouNXJlbX0udHlwaW5nLWluZGljYXRvci5pbmRpY2F0b3ItY29sb3ItYmxhY2suc3ZlbHRlLXM0MHhna3stLXVuLWJnLW9wYWNpdHk6MTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigwIDAgMC92YXIoLS11bi1iZy1vcGFjaXR5KSkgfS50eXBpbmctaW5kaWNhdG9yLmluZGljYXRvci1jb2xvci1ncmF5LnN2ZWx0ZS1zNDB4Z2t7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMTAwIDExNiAxMzkvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0udHlwaW5nLWluZGljYXRvci5zdmVsdGUtczQweGdrOm5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi4yNXJlbX0udHlwaW5nLWluZGljYXRvci1zZWNvbmQuc3ZlbHRlLXM0MHhna3thbmltYXRpb24tZGVsYXk6LjFzfS50eXBpbmctaW5kaWNhdG9yLXRoaXJkLnN2ZWx0ZS1zNDB4Z2t7YW5pbWF0aW9uLWRlbGF5Oi4yc30uYnRuLnN2ZWx0ZS0xZTg0bjd3e2JvcmRlci1yYWRpdXM6MS41cmVtO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyO3BhZGRpbmctbGVmdDoxcmVtO3BhZGRpbmctcmlnaHQ6MXJlbTt0cmFuc2l0aW9uLXByb3BlcnR5OmFsbDt0cmFuc2l0aW9uLWR1cmF0aW9uOi4xNXM7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246Y3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTppbmxpbmUtZmxleH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3d7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbikgO2NvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uLWNvbnRlbnQpIH0uYnRuLXByaW1hcnkuc3ZlbHRlLTFlODRuN3c6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1ob3ZlcikgfS5idG4tb3V0bGluZS5zdmVsdGUtMWU4NG43d3tib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbik7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigwIDAgMC92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSB9LmJ0bi1vdXRsaW5lLnN2ZWx0ZS0xZTg0bjd3OmhvdmVye2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSB9LmJ0bi1yYWlzZWQuc3ZlbHRlLTFlODRuN3d7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjU1IDI1NSAyNTUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDstLXVuLXRleHQtb3BhY2l0eToxO2NvbG9yOnJnYigxMDAgMTE2IDEzOS92YXIoLS11bi10ZXh0LW9wYWNpdHkpKSA7Ym94LXNoYWRvdzowIDJweCA2cHggIzAwMDAwMDI5fS5idG4tcmFpc2VkLnN2ZWx0ZS0xZTg0bjd3OmhvdmVyey0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0MSAyNDUgMjQ5L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmJ0bi1zbS5zdmVsdGUtMWU4NG43d3toZWlnaHQ6MnJlbX0uYnRuLW1kLnN2ZWx0ZS0xZTg0bjd3e2hlaWdodDoyLjVyZW19LmJ0bi1sZy5zdmVsdGUtMWU4NG43d3toZWlnaHQ6M3JlbX0uYnRuLWRpc2FibGVkLnN2ZWx0ZS0xZTg0bjd3e2N1cnNvcjpub3QtYWxsb3dlZDtvcGFjaXR5Oi4yfS5kYXJrLnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojNGI1NTYzZjI7cGFkZGluZzouNXJlbSAuNzVyZW19LmxpZ2h0LnN2ZWx0ZS1zajk5aDN7YmFja2dyb3VuZC1jb2xvcjojOWNhM2FmZjI7cGFkZGluZzouMjVyZW0gLjVyZW19c3ZnLnN2ZWx0ZS15aXhoYXR7ZmlsbDpjdXJyZW50Q29sb3I7d2lkdGg6MWVtO2hlaWdodDoxZW19LmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpke2p1c3RpZnktY29udGVudDpzdGFydDthbGlnbi1pdGVtczpzdGFydDt3aWR0aDoxMDAlfS5jYXJvdXNlbC5zdmVsdGUtMTBxcWp6ZDpob3ZlciAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCksLmNhcm91c2VsLnN2ZWx0ZS0xMHFxanpkOmZvY3VzLXdpdGhpbiAuYnV0dG9uOndoZXJlKC5zdmVsdGUtMTBxcWp6ZCl7b3BhY2l0eToxfS5idXR0b24uc3ZlbHRlLTEwcXFqemR7b3BhY2l0eTowO3otaW5kZXg6MTtiYWNrZ3JvdW5kLWNvbG9yOiMwMDAwO2JvcmRlcjpub25lO3RyYW5zaXRpb246b3BhY2l0eSAuNHM7cG9zaXRpb246YWJzb2x1dGV9LmxlZnQuc3ZlbHRlLTEwcXFqemR7bGVmdDotMWVtfS5yaWdodC5zdmVsdGUtMTBxcWp6ZHtyaWdodDotMWVtfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCB1bHttYXJnaW4tcmlnaHQ6LjI1cmVtO3BhZGRpbmctbGVmdDoxcmVtO2xpc3Qtc3R5bGUtdHlwZTpkaXNjfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBsaTpub3QoOmZpcnN0LWNoaWxkKSwubWVzc2FnZS1jb250ZW50LWh0bWwgbGk+dWwsLm1lc3NhZ2UtY29udGVudC1odG1sIGxpPm9se21hcmdpbi10b3A6LjVyZW19Lm1lc3NhZ2UtY29udGVudC1odG1sIG9se21hcmdpbi1yaWdodDouMjVyZW07cGFkZGluZy1sZWZ0OjFyZW07bGlzdC1zdHlsZS10eXBlOmRlY2ltYWx9Lm1lc3NhZ2UtY29udGVudC1odG1sIGF7dGV4dC1kZWNvcmF0aW9uLWxpbmU6dW5kZXJsaW5lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCBhOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5tZXNzYWdlLWNvbnRlbnQtaHRtbCAqe3doaXRlLXNwYWNlOm5vcm1hbDtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmR9Lm1lc3NhZ2UtY29udGVudC10ZXh0LnN2ZWx0ZS1uZmIweW17b3ZlcmZsb3ctd3JhcDpicmVhay13b3JkO3dvcmQtYnJlYWs6YnJlYWstd29yZDt3aGl0ZS1zcGFjZTpwcmUtd3JhcH0ubWVzc2FnZS1jb250ZW50LXRleHQgYXt0ZXh0LWRlY29yYXRpb24tbGluZTp1bmRlcmxpbmV9Lm1lc3NhZ2UtY29udGVudC10ZXh0IGE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6Zmlyc3Qtb2YtdHlwZXt6LWluZGV4OjN9LmF2YXRhci1ncm91cC1pdGVtLnN2ZWx0ZS15ZnhhN3Q6bnRoLW9mLXR5cGUoMil7ei1pbmRleDoyfS5hdmF0YXItZ3JvdXAtaXRlbS5zdmVsdGUteWZ4YTd0Om50aC1vZi10eXBlKDMpe3otaW5kZXg6MX0uYXZhdGFyLXNtLnN2ZWx0ZS15ZnhhN3Q6bm90KDpmaXJzdC1jaGlsZCl7bWFyZ2luLWxlZnQ6LTEycHh9LmF2YXRhci1tZC5zdmVsdGUteWZ4YTd0Om5vdCg6Zmlyc3QtY2hpbGQpe21hcmdpbi1sZWZ0Oi0xNnB4fS5hdmF0YXItbGcuc3ZlbHRlLXlmeGE3dDpub3QoOmZpcnN0LWNoaWxkKXttYXJnaW4tbGVmdDotMjJweH0ucmVtb3ZlSWNvbi5zdmVsdGUtMTFmM2Jkd3tvcGFjaXR5OjA7dHJhbnNpdGlvbi1wcm9wZXJ0eTpvcGFjaXR5O3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKX0uYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6aG92ZXIgLnJlbW92ZUljb246d2hlcmUoLnN2ZWx0ZS0xMWYzYmR3KSwuYXR0YWNobWVudFdyYXBwZXIuc3ZlbHRlLTExZjNiZHc6Zm9jdXMtd2l0aGluIC5yZW1vdmVJY29uOndoZXJlKC5zdmVsdGUtMTFmM2Jkdyl7b3BhY2l0eToxfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2V7b3ZlcnNjcm9sbC1iZWhhdmlvcjpjb250YWluO3Njcm9sbGJhci13aWR0aDpub25lO2ZsZXg6MTttYXgtaGVpZ2h0OjMycHg7bWFyZ2luLXRvcDouNzVyZW07bWFyZ2luLWJvdHRvbTouNzVyZW07ZGlzcGxheTpncmlkO292ZXJmbG93OmhpZGRlbiBhdXRvfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6Oi13ZWJraXQtc2Nyb2xsYmFye2Rpc3BsYXk6bm9uZX0udGV4dGFyZWEtY29udGFpbmVyLXJlc2l6YWJsZS5zdmVsdGUtMXRsOWxjZXttYXgtaGVpZ2h0OjEyNXB4fS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXJ7Y29udGVudDphdHRyKGRhdGEtdGV4dGFyZWEtdmFsdWUpICIgIjt3aGl0ZS1zcGFjZTpwcmUtd3JhcDt2aXNpYmlsaXR5OmhpZGRlbjtvdmVyZmxvdy13cmFwOmJyZWFrLXdvcmQ7d29yZC1icmVhazpicmVhay13b3JkfS50ZXh0YXJlYS1jb250YWluZXIuc3ZlbHRlLTF0bDlsY2U6YWZ0ZXIsdGV4dGFyZWEuc3ZlbHRlLTF0bDlsY2V7Zm9udC1zaXplOmluaGVyaXQ7Z3JpZC1hcmVhOjEvMS8yLzI7bWFyZ2luLWxlZnQ6MXJlbTttYXJnaW4tcmlnaHQ6Ljc1cmVtfXRleHRhcmVhLnN2ZWx0ZS0xdGw5bGNlOjpwbGFjZWhvbGRlcnt3b3JkLWJyZWFrOmJyZWFrLWFsbDtvdmVyZmxvdzpoaWRkZW59ZW0tZW1vamktcGlja2Vyey0tYm9yZGVyLXJhZGl1czoxMnB4Oy0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItd2lkdGg6MXB4O2JvcmRlci1jb2xvcjpyZ2IoMjI2IDIzMiAyNDAvdmFyKC0tdW4tYm9yZGVyLW9wYWNpdHkpKTtib3JkZXItcmFkaXVzOi43NXJlbTt3aWR0aDoxMDAlO2hlaWdodDo0MDBweDttYXgtaGVpZ2h0Ojgwdmg7cGFkZGluZy10b3A6LjI1cmVtO2JveC1zaGFkb3c6MCAxcHggMTVweCAxcHggIzAwMDAwMDFmfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em97LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjI5IDIzMSAyMzUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIDtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoyLjc1cmVtO2hlaWdodDoxLjVyZW07dHJhbnNpdGlvbi1wcm9wZXJ0eTpjb2xvcixiYWNrZ3JvdW5kLWNvbG9yLGJvcmRlci1jb2xvcix0ZXh0LWRlY29yYXRpb24tY29sb3IsZmlsbCxzdHJva2U7dHJhbnNpdGlvbi1kdXJhdGlvbjouMTVzO3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmN1YmljLWJlemllciguNCwwLC4yLDEpfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86Zm9jdXN7b3V0bGluZS1vZmZzZXQ6MnB4O291dGxpbmU6MnB4IHNvbGlkICMwMDAwfS5zd2l0Y2guc3ZlbHRlLTF5emZ6em86YWZ0ZXJ7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci13aWR0aDoxcHg7Ym9yZGVyLWNvbG9yOnJnYigyMDkgMjEzIDIxOS92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSA7Y29udGVudDoiIjtib3JkZXItcmFkaXVzOjk5OTlweDt3aWR0aDoxLjI1cmVtO2hlaWdodDoxLjI1cmVtO3RyYW5zaXRpb24tcHJvcGVydHk6dHJhbnNmb3JtO3RyYW5zaXRpb24tZHVyYXRpb246LjE1czt0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjpjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O2xlZnQ6MnB4fS5zd2l0Y2guY2hlY2tlZC5zdmVsdGUtMXl6Znp6b3tiYWNrZ3JvdW5kLWNvbG9yOnZhcigtLWNvbG9yLXByaW1hcnktYnV0dG9uKSB9LnN3aXRjaC5jaGVja2VkLnN2ZWx0ZS0xeXpmenpvOmFmdGVyey0tdW4tdHJhbnNsYXRlLXg6MTAwJTt0cmFuc2Zvcm06dHJhbnNsYXRlWCh2YXIoLS11bi10cmFuc2xhdGUteCkpIHRyYW5zbGF0ZVkodmFyKC0tdW4tdHJhbnNsYXRlLXkpKSB0cmFuc2xhdGVaKHZhcigtLXVuLXRyYW5zbGF0ZS16KSkgcm90YXRlKHZhcigtLXVuLXJvdGF0ZSkpIHJvdGF0ZVgodmFyKC0tdW4tcm90YXRlLXgpKSByb3RhdGVZKHZhcigtLXVuLXJvdGF0ZS15KSkgcm90YXRlWih2YXIoLS11bi1yb3RhdGUteikpIHNrZXdYKHZhcigtLXVuLXNrZXcteCkpIHNrZXdZKHZhcigtLXVuLXNrZXcteSkpIHNjYWxlWCh2YXIoLS11bi1zY2FsZS14KSkgc2NhbGVZKHZhcigtLXVuLXNjYWxlLXkpKSBzY2FsZVoodmFyKC0tdW4tc2NhbGUteikpOy0tdW4tYmctb3BhY2l0eToxO2JhY2tncm91bmQtY29sb3I6cmdiKDI0NSAyNDUgMjQ1L3ZhcigtLXVuLWJnLW9wYWNpdHkpKSB9LmludmFsaWQuc3ZlbHRlLTEyZjRjMWcsLmludmFsaWQuc3ZlbHRlLTE5bTN1Y3l7LS11bi1ib3JkZXItb3BhY2l0eToxO2JvcmRlci1jb2xvcjpyZ2IoMjM5IDY4IDY4L3ZhcigtLXVuLWJvcmRlci1vcGFjaXR5KSl9c2VsZWN0LnN2ZWx0ZS04aDVycTR7YXBwZWFyYW5jZTpub25lO2JhY2tncm91bmQtaW1hZ2U6dXJsKCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGYtOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPSdub25lJyB2aWV3Qm94PScwIDAgMjAgMjAnJTNFJTNDcGF0aCBzdHJva2U9JyUyMzZCNzI4MCcgc3Ryb2tlLWxpbmVjYXA9J3JvdW5kJyBzdHJva2UtbGluZWpvaW49J3JvdW5kJyBzdHJva2Utd2lkdGg9JzEuNScgZD0nbTYgOCA0IDQgNC00Jy8lM0UlM0Mvc3ZnJTNFIik7YmFja2dyb3VuZC1wb3NpdGlvbjpyaWdodCAuNXJlbSBjZW50ZXI7YmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O2JhY2tncm91bmQtc2l6ZToxLjVlbSAxLjVlbX0uaW52YWxpZC5zdmVsdGUtOGg1cnE0ey0tdW4tYm9yZGVyLW9wYWNpdHk6MTtib3JkZXItY29sb3I6cmdiKDIzOSA2OCA2OC92YXIoLS11bi1ib3JkZXItb3BhY2l0eSkpfS5pY29uLnN2ZWx0ZS0xcnNhMnF2e2JhY2tncm91bmQtY29sb3I6dmFyKC0tY29sb3ItcHJpbWFyeS1idXR0b24pIDtjb2xvcjp2YXIoLS1jb2xvci1wcmltYXJ5LWJ1dHRvbi1jb250ZW50KSA7Ym9yZGVyLXJhZGl1czoxLjVyZW07cGFkZGluZzouNXJlbTtkaXNwbGF5OmlubGluZS1ibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX0uZHJhd2VyLWJ1dHRvbi5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtib3JkZXItcmFkaXVzOi41cmVtO2FsaWduLWl0ZW1zOmNlbnRlcjt3aWR0aDoxMDAlO3BhZGRpbmc6LjVyZW07dHJhbnNpdGlvbjpjb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJhY2tncm91bmQtY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxib3JkZXItY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSx0ZXh0LWRlY29yYXRpb24tY29sb3IgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxmaWxsIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksc3Ryb2tlIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSk7ZGlzcGxheTpmbGV4fS5kcmF3ZXItYnV0dG9uLnN2ZWx0ZS1qNmV4cTA6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0uZHJhd2VyLWJ1dHRvbi1kaXNhYmxlZC5zdmVsdGUtajZleHEwe3RleHQtYWxpZ246bGVmdDtvcGFjaXR5Oi4zO2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTtkaXNwbGF5OmZsZXh9LmRyYXdlci1idXR0b24tZGlzYWJsZWQuc3ZlbHRlLWo2ZXhxMDpob3ZlcntjdXJzb3I6bm90LWFsbG93ZWR9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGN7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lO3VzZXItc2VsZWN0Om5vbmU7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci1yYWRpdXM6LjVyZW07YWxpZ24taXRlbXM6Y2VudGVyO3dpZHRoOjEwMCU7cGFkZGluZzouNXJlbTt0cmFuc2l0aW9uOmNvbG9yIDc1bXMgY3ViaWMtYmV6aWVyKC40LDAsLjIsMSksYmFja2dyb3VuZC1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGJvcmRlci1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLHRleHQtZGVjb3JhdGlvbi1jb2xvciA3NW1zIGN1YmljLWJlemllciguNCwwLC4yLDEpLGZpbGwgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKSxzdHJva2UgNzVtcyBjdWJpYy1iZXppZXIoLjQsMCwuMiwxKTtkaXNwbGF5OmZsZXh9LmRyYXdlci1zd2l0Y2guc3ZlbHRlLTFqZXN4dGM6aG92ZXJ7LS11bi1iZy1vcGFjaXR5OjE7YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ1IDI0NSAyNDUvdmFyKC0tdW4tYmctb3BhY2l0eSkpIH0ubWVzc2FnZS1jb250ZW50LnN2ZWx0ZS0xZ2Z2aGk2e292ZXJmbG93LXdyYXA6YnJlYWstd29yZDt3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7d2hpdGUtc3BhY2U6cHJlLXdyYXB9Lm1lc3NhZ2UtY29udGVudC1sZWZ0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6LjI1cmVtIDEuNXJlbSAxLjVyZW0gLjI1cmVtfS5tZXNzYWdlLWNvbnRlbnQtbGVmdC1maXJzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItdG9wLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LWxlZnQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjEuNXJlbX0ubWVzc2FnZS1jb250ZW50LXJpZ2h0LnN2ZWx0ZS0xZ2Z2aGk2e2JvcmRlci1yYWRpdXM6MS41cmVtIC4yNXJlbSAuMjVyZW0gMS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtZmlyc3Quc3ZlbHRlLTFnZnZoaTZ7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MS41cmVtfS5tZXNzYWdlLWNvbnRlbnQtcmlnaHQtbGFzdC5zdmVsdGUtMWdmdmhpNntib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czoxLjVyZW19LmNvdW50LWFuaW1hdGUuc3ZlbHRlLTIyOGM3bnthbmltYXRpb246LjJzIGN1YmljLWJlemllciguNCwyLC42LDEpIHN2ZWx0ZS0yMjhjN24tcG9wLXNjYWxlfUBrZXlmcmFtZXMgc3ZlbHRlLTIyOGM3bi1wb3Atc2NhbGV7MCV7dHJhbnNmb3JtOnNjYWxlKDEpfTUwJXt0cmFuc2Zvcm06c2NhbGUoMS4xKX10b3t0cmFuc2Zvcm06c2NhbGUoMSl9fQovKiR2aXRlJDoxKi8="}},"time_used":19,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":19,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/bootstrap.min.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.576Z","timestamp":1785133989576,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/bootstrap.min.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 18285\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":121276,"size_decoded":18694,"mime_type":"text/css","magic":"ASCII text, with very long lines (65367), with CRLF line terminators","md5":"304afb89a4c5e38a2dd61343d4648911","sha1":"0d55805eb697cfb2e8871686383b807ac85dde83","sha256":"bbdc0f05c4556e5b8f80d65c22dba7d5db83c87383120bf9e085784f1709d00a","sha512":"65c578d56f763851b628d7732344c015881473e4448fb4cf417059d5093de926416c4b8fd6bcddf990a78b8d006149d5c304e5b266df2046d4123dfae4290692","ssdeep":"768:RyJGxw/jc/QWlJxtQ8IuiHlqLmzI4X8OAduFKbv2ctg2Bd8JP7ecQVvH1Fx:fw/o1BIuiHlqLmN8lDbNmPbU","tlshash":"47c3c7a0f21031ea7333c55a75d0ed872219a153e56a4fb7f22f25d88f845ca1673f1a","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:33:54.038095Z","times_seen":15,"resource_available":false,"data":"LyohDQogKiBCb290c3RyYXAgdjMuMy42IChodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbSkNCiAqIENvcHlyaWdodCAyMDExLTIwMTUgVHdpdHRlciwgSW5jLg0KICogTGljZW5zZWQgdW5kZXIgTUlUIChodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvYmxvYi9tYXN0ZXIvTElDRU5TRSkNCiAqLy8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9odG1se2ZvbnQtZmFtaWx5OnNhbnMtc2VyaWY7LXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OjEwMCU7LW1zLXRleHQtc2l6ZS1hZGp1c3Q6MTAwJX1ib2R5e21hcmdpbjowfWFydGljbGUsYXNpZGUsZGV0YWlscyxmaWdjYXB0aW9uLGZpZ3VyZSxmb290ZXIsaGVhZGVyLGhncm91cCxtYWluLG1lbnUsbmF2LHNlY3Rpb24sc3VtbWFyeXtkaXNwbGF5OmJsb2NrfWF1ZGlvLGNhbnZhcyxwcm9ncmVzcyx2aWRlb3tkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjpiYXNlbGluZX1hdWRpbzpub3QoW2NvbnRyb2xzXSl7ZGlzcGxheTpub25lO2hlaWdodDowfVtoaWRkZW5dLHRlbXBsYXRle2Rpc3BsYXk6bm9uZX1he2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9YTphY3RpdmUsYTpob3ZlcntvdXRsaW5lOjB9YWJiclt0aXRsZV17Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkfWIsc3Ryb25ne2ZvbnQtd2VpZ2h0OjcwMH1kZm57Zm9udC1zdHlsZTppdGFsaWN9aDF7bWFyZ2luOi42N2VtIDA7Zm9udC1zaXplOjJlbX1tYXJre2NvbG9yOiMwMDA7YmFja2dyb3VuZDojZmYwfXNtYWxse2ZvbnQtc2l6ZTo4MCV9c3ViLHN1cHtwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6NzUlO2xpbmUtaGVpZ2h0OjA7dmVydGljYWwtYWxpZ246YmFzZWxpbmV9c3Vwe3RvcDotLjVlbX1zdWJ7Ym90dG9tOi0uMjVlbX1pbWd7Ym9yZGVyOjB9c3ZnOm5vdCg6cm9vdCl7b3ZlcmZsb3c6aGlkZGVufWZpZ3VyZXttYXJnaW46MWVtIDQwcHh9aHJ7aGVpZ2h0OjA7LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94Oy1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtib3gtc2l6aW5nOmNvbnRlbnQtYm94fXByZXtvdmVyZmxvdzphdXRvfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Om1vbm9zcGFjZSxtb25vc3BhY2U7Zm9udC1zaXplOjFlbX1idXR0b24saW5wdXQsb3B0Z3JvdXAsc2VsZWN0LHRleHRhcmVhe21hcmdpbjowO2ZvbnQ6aW5oZXJpdDtjb2xvcjppbmhlcml0fWJ1dHRvbntvdmVyZmxvdzp2aXNpYmxlfWJ1dHRvbixzZWxlY3R7dGV4dC10cmFuc2Zvcm06bm9uZX1idXR0b24saHRtbCBpbnB1dFt0eXBlPWJ1dHRvbl0saW5wdXRbdHlwZT1yZXNldF0saW5wdXRbdHlwZT1zdWJtaXRdey13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247Y3Vyc29yOnBvaW50ZXJ9YnV0dG9uW2Rpc2FibGVkXSxodG1sIGlucHV0W2Rpc2FibGVkXXtjdXJzb3I6ZGVmYXVsdH1idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXJ7cGFkZGluZzowO2JvcmRlcjowfWlucHV0e2xpbmUtaGVpZ2h0Om5vcm1hbH1pbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXXstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3g7cGFkZGluZzowfWlucHV0W3R5cGU9bnVtYmVyXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixpbnB1dFt0eXBlPW51bWJlcl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b257aGVpZ2h0OmF1dG99aW5wdXRbdHlwZT1zZWFyY2hdey13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDstbW96LWJveC1zaXppbmc6Y29udGVudC1ib3g7Ym94LXNpemluZzpjb250ZW50LWJveDstd2Via2l0LWFwcGVhcmFuY2U6dGV4dGZpZWxkfWlucHV0W3R5cGU9c2VhcmNoXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixpbnB1dFt0eXBlPXNlYXJjaF06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb257LXdlYmtpdC1hcHBlYXJhbmNlOm5vbmV9ZmllbGRzZXR7cGFkZGluZzouMzVlbSAuNjI1ZW0gLjc1ZW07bWFyZ2luOjAgMnB4O2JvcmRlcjoxcHggc29saWQgc2lsdmVyfWxlZ2VuZHtwYWRkaW5nOjA7Ym9yZGVyOjB9dGV4dGFyZWF7b3ZlcmZsb3c6YXV0b31vcHRncm91cHtmb250LXdlaWdodDo3MDB9dGFibGV7Ym9yZGVyLXNwYWNpbmc6MDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9dGQsdGh7cGFkZGluZzowfS8qISBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvbWFzdGVyL3NyYy9jc3MvbWFpbi5jc3MgKi9AbWVkaWEgcHJpbnR7Kiw6YWZ0ZXIsOmJlZm9yZXtjb2xvcjojMDAwIWltcG9ydGFudDt0ZXh0LXNoYWRvdzpub25lIWltcG9ydGFudDtiYWNrZ3JvdW5kOjAgMCFpbXBvcnRhbnQ7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmUhaW1wb3J0YW50O2JveC1zaGFkb3c6bm9uZSFpbXBvcnRhbnR9YSxhOnZpc2l0ZWR7dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZX1hW2hyZWZdOmFmdGVye2NvbnRlbnQ6IiAoIiBhdHRyKGhyZWYpICIpIn1hYmJyW3RpdGxlXTphZnRlcntjb250ZW50OiIgKCIgYXR0cih0aXRsZSkgIikifWFbaHJlZl49ImphdmFzY3JpcHQ6Il06YWZ0ZXIsYVtocmVmXj0iIyJdOmFmdGVye2NvbnRlbnQ6IiJ9YmxvY2txdW90ZSxwcmV7Ym9yZGVyOjFweCBzb2xpZCAjOTk5O3BhZ2UtYnJlYWstaW5zaWRlOmF2b2lkfXRoZWFke2Rpc3BsYXk6dGFibGUtaGVhZGVyLWdyb3VwfWltZyx0cntwYWdlLWJyZWFrLWluc2lkZTphdm9pZH1pbWd7bWF4LXdpZHRoOjEwMCUhaW1wb3J0YW50fWgyLGgzLHB7b3JwaGFuczozO3dpZG93czozfWgyLGgze3BhZ2UtYnJlYWstYWZ0ZXI6YXZvaWR9Lm5hdmJhcntkaXNwbGF5Om5vbmV9LmJ0bj4uY2FyZXQsLmRyb3B1cD4uYnRuPi5jYXJldHtib3JkZXItdG9wLWNvbG9yOiMwMDAhaW1wb3J0YW50fS5sYWJlbHtib3JkZXI6MXB4IHNvbGlkICMwMDB9LnRhYmxle2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZSFpbXBvcnRhbnR9LnRhYmxlIHRkLC50YWJsZSB0aHtiYWNrZ3JvdW5kLWNvbG9yOiNmZmYhaW1wb3J0YW50fS50YWJsZS1ib3JkZXJlZCB0ZCwudGFibGUtYm9yZGVyZWQgdGh7Ym9yZGVyOjFweCBzb2xpZCAjZGRkIWltcG9ydGFudH19QGZvbnQtZmFjZXtmb250LWZhbWlseTonR2x5cGhpY29ucyBIYWxmbGluZ3MnO3NyYzp1cmwoLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhci5lb3QpO3NyYzp1cmwoLi4vZm9udHMvZ2x5cGhpY29ucy1oYWxmbGluZ3MtcmVndWxhcmQ0MWRkNDFkZDQxZC5lb3Q/I2llZml4KSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKC4uL2ZvbnRzL2dseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXIuaHRtbCkgZm9ybWF0KCd3b2ZmMicpLHVybCguLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLndvZmYpIGZvcm1hdCgnd29mZicpLHVybCguLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnR0ZikgZm9ybWF0KCd0cnVldHlwZScpLHVybCguLi9mb250cy9nbHlwaGljb25zLWhhbGZsaW5ncy1yZWd1bGFyLnN2ZyNnbHlwaGljb25zX2hhbGZsaW5nc3JlZ3VsYXIpIGZvcm1hdCgnc3ZnJyl9LmdseXBoaWNvbntwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6MXB4O2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtZmFtaWx5OidHbHlwaGljb25zIEhhbGZsaW5ncyc7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE7LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LmdseXBoaWNvbi1hc3RlcmlzazpiZWZvcmV7Y29udGVudDoiXDAwMmEifS5nbHlwaGljb24tcGx1czpiZWZvcmV7Y29udGVudDoiXDAwMmIifS5nbHlwaGljb24tZXVyOmJlZm9yZSwuZ2x5cGhpY29uLWV1cm86YmVmb3Jle2NvbnRlbnQ6IlwyMGFjIn0uZ2x5cGhpY29uLW1pbnVzOmJlZm9yZXtjb250ZW50OiJcMjIxMiJ9LmdseXBoaWNvbi1jbG91ZDpiZWZvcmV7Y29udGVudDoiXDI2MDEifS5nbHlwaGljb24tZW52ZWxvcGU6YmVmb3Jle2NvbnRlbnQ6IlwyNzA5In0uZ2x5cGhpY29uLXBlbmNpbDpiZWZvcmV7Y29udGVudDoiXDI3MGYifS5nbHlwaGljb24tZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6IlxlMDAxIn0uZ2x5cGhpY29uLW11c2ljOmJlZm9yZXtjb250ZW50OiJcZTAwMiJ9LmdseXBoaWNvbi1zZWFyY2g6YmVmb3Jle2NvbnRlbnQ6IlxlMDAzIn0uZ2x5cGhpY29uLWhlYXJ0OmJlZm9yZXtjb250ZW50OiJcZTAwNSJ9LmdseXBoaWNvbi1zdGFyOmJlZm9yZXtjb250ZW50OiJcZTAwNiJ9LmdseXBoaWNvbi1zdGFyLWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZTAwNyJ9LmdseXBoaWNvbi11c2VyOmJlZm9yZXtjb250ZW50OiJcZTAwOCJ9LmdseXBoaWNvbi1maWxtOmJlZm9yZXtjb250ZW50OiJcZTAwOSJ9LmdseXBoaWNvbi10aC1sYXJnZTpiZWZvcmV7Y29udGVudDoiXGUwMTAifS5nbHlwaGljb24tdGg6YmVmb3Jle2NvbnRlbnQ6IlxlMDExIn0uZ2x5cGhpY29uLXRoLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDEyIn0uZ2x5cGhpY29uLW9rOmJlZm9yZXtjb250ZW50OiJcZTAxMyJ9LmdseXBoaWNvbi1yZW1vdmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDE0In0uZ2x5cGhpY29uLXpvb20taW46YmVmb3Jle2NvbnRlbnQ6IlxlMDE1In0uZ2x5cGhpY29uLXpvb20tb3V0OmJlZm9yZXtjb250ZW50OiJcZTAxNiJ9LmdseXBoaWNvbi1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlMDE3In0uZ2x5cGhpY29uLXNpZ25hbDpiZWZvcmV7Y29udGVudDoiXGUwMTgifS5nbHlwaGljb24tY29nOmJlZm9yZXtjb250ZW50OiJcZTAxOSJ9LmdseXBoaWNvbi10cmFzaDpiZWZvcmV7Y29udGVudDoiXGUwMjAifS5nbHlwaGljb24taG9tZTpiZWZvcmV7Y29udGVudDoiXGUwMjEifS5nbHlwaGljb24tZmlsZTpiZWZvcmV7Y29udGVudDoiXGUwMjIifS5nbHlwaGljb24tdGltZTpiZWZvcmV7Y29udGVudDoiXGUwMjMifS5nbHlwaGljb24tcm9hZDpiZWZvcmV7Y29udGVudDoiXGUwMjQifS5nbHlwaGljb24tZG93bmxvYWQtYWx0OmJlZm9yZXtjb250ZW50OiJcZTAyNSJ9LmdseXBoaWNvbi1kb3dubG9hZDpiZWZvcmV7Y29udGVudDoiXGUwMjYifS5nbHlwaGljb24tdXBsb2FkOmJlZm9yZXtjb250ZW50OiJcZTAyNyJ9LmdseXBoaWNvbi1pbmJveDpiZWZvcmV7Y29udGVudDoiXGUwMjgifS5nbHlwaGljb24tcGxheS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDI5In0uZ2x5cGhpY29uLXJlcGVhdDpiZWZvcmV7Y29udGVudDoiXGUwMzAifS5nbHlwaGljb24tcmVmcmVzaDpiZWZvcmV7Y29udGVudDoiXGUwMzEifS5nbHlwaGljb24tbGlzdC1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDMyIn0uZ2x5cGhpY29uLWxvY2s6YmVmb3Jle2NvbnRlbnQ6IlxlMDMzIn0uZ2x5cGhpY29uLWZsYWc6YmVmb3Jle2NvbnRlbnQ6IlxlMDM0In0uZ2x5cGhpY29uLWhlYWRwaG9uZXM6YmVmb3Jle2NvbnRlbnQ6IlxlMDM1In0uZ2x5cGhpY29uLXZvbHVtZS1vZmY6YmVmb3Jle2NvbnRlbnQ6IlxlMDM2In0uZ2x5cGhpY29uLXZvbHVtZS1kb3duOmJlZm9yZXtjb250ZW50OiJcZTAzNyJ9LmdseXBoaWNvbi12b2x1bWUtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMDM4In0uZ2x5cGhpY29uLXFyY29kZTpiZWZvcmV7Y29udGVudDoiXGUwMzkifS5nbHlwaGljb24tYmFyY29kZTpiZWZvcmV7Y29udGVudDoiXGUwNDAifS5nbHlwaGljb24tdGFnOmJlZm9yZXtjb250ZW50OiJcZTA0MSJ9LmdseXBoaWNvbi10YWdzOmJlZm9yZXtjb250ZW50OiJcZTA0MiJ9LmdseXBoaWNvbi1ib29rOmJlZm9yZXtjb250ZW50OiJcZTA0MyJ9LmdseXBoaWNvbi1ib29rbWFyazpiZWZvcmV7Y29udGVudDoiXGUwNDQifS5nbHlwaGljb24tcHJpbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDQ1In0uZ2x5cGhpY29uLWNhbWVyYTpiZWZvcmV7Y29udGVudDoiXGUwNDYifS5nbHlwaGljb24tZm9udDpiZWZvcmV7Y29udGVudDoiXGUwNDcifS5nbHlwaGljb24tYm9sZDpiZWZvcmV7Y29udGVudDoiXGUwNDgifS5nbHlwaGljb24taXRhbGljOmJlZm9yZXtjb250ZW50OiJcZTA0OSJ9LmdseXBoaWNvbi10ZXh0LWhlaWdodDpiZWZvcmV7Y29udGVudDoiXGUwNTAifS5nbHlwaGljb24tdGV4dC13aWR0aDpiZWZvcmV7Y29udGVudDoiXGUwNTEifS5nbHlwaGljb24tYWxpZ24tbGVmdDpiZWZvcmV7Y29udGVudDoiXGUwNTIifS5nbHlwaGljb24tYWxpZ24tY2VudGVyOmJlZm9yZXtjb250ZW50OiJcZTA1MyJ9LmdseXBoaWNvbi1hbGlnbi1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUwNTQifS5nbHlwaGljb24tYWxpZ24tanVzdGlmeTpiZWZvcmV7Y29udGVudDoiXGUwNTUifS5nbHlwaGljb24tbGlzdDpiZWZvcmV7Y29udGVudDoiXGUwNTYifS5nbHlwaGljb24taW5kZW50LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDU3In0uZ2x5cGhpY29uLWluZGVudC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUwNTgifS5nbHlwaGljb24tZmFjZXRpbWUtdmlkZW86YmVmb3Jle2NvbnRlbnQ6IlxlMDU5In0uZ2x5cGhpY29uLXBpY3R1cmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDYwIn0uZ2x5cGhpY29uLW1hcC1tYXJrZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMDYyIn0uZ2x5cGhpY29uLWFkanVzdDpiZWZvcmV7Y29udGVudDoiXGUwNjMifS5nbHlwaGljb24tdGludDpiZWZvcmV7Y29udGVudDoiXGUwNjQifS5nbHlwaGljb24tZWRpdDpiZWZvcmV7Y29udGVudDoiXGUwNjUifS5nbHlwaGljb24tc2hhcmU6YmVmb3Jle2NvbnRlbnQ6IlxlMDY2In0uZ2x5cGhpY29uLWNoZWNrOmJlZm9yZXtjb250ZW50OiJcZTA2NyJ9LmdseXBoaWNvbi1tb3ZlOmJlZm9yZXtjb250ZW50OiJcZTA2OCJ9LmdseXBoaWNvbi1zdGVwLWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZTA2OSJ9LmdseXBoaWNvbi1mYXN0LWJhY2t3YXJkOmJlZm9yZXtjb250ZW50OiJcZTA3MCJ9LmdseXBoaWNvbi1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDoiXGUwNzEifS5nbHlwaGljb24tcGxheTpiZWZvcmV7Y29udGVudDoiXGUwNzIifS5nbHlwaGljb24tcGF1c2U6YmVmb3Jle2NvbnRlbnQ6IlxlMDczIn0uZ2x5cGhpY29uLXN0b3A6YmVmb3Jle2NvbnRlbnQ6IlxlMDc0In0uZ2x5cGhpY29uLWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDc1In0uZ2x5cGhpY29uLWZhc3QtZm9yd2FyZDpiZWZvcmV7Y29udGVudDoiXGUwNzYifS5nbHlwaGljb24tc3RlcC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OiJcZTA3NyJ9LmdseXBoaWNvbi1lamVjdDpiZWZvcmV7Y29udGVudDoiXGUwNzgifS5nbHlwaGljb24tY2hldnJvbi1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTA3OSJ9LmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTA4MCJ9LmdseXBoaWNvbi1wbHVzLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMDgxIn0uZ2x5cGhpY29uLW1pbnVzLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMDgyIn0uZ2x5cGhpY29uLXJlbW92ZS1zaWduOmJlZm9yZXtjb250ZW50OiJcZTA4MyJ9LmdseXBoaWNvbi1vay1zaWduOmJlZm9yZXtjb250ZW50OiJcZTA4NCJ9LmdseXBoaWNvbi1xdWVzdGlvbi1zaWduOmJlZm9yZXtjb250ZW50OiJcZTA4NSJ9LmdseXBoaWNvbi1pbmZvLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMDg2In0uZ2x5cGhpY29uLXNjcmVlbnNob3Q6YmVmb3Jle2NvbnRlbnQ6IlxlMDg3In0uZ2x5cGhpY29uLXJlbW92ZS1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMDg4In0uZ2x5cGhpY29uLW9rLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGUwODkifS5nbHlwaGljb24tYmFuLWNpcmNsZTpiZWZvcmV7Y29udGVudDoiXGUwOTAifS5nbHlwaGljb24tYXJyb3ctbGVmdDpiZWZvcmV7Y29udGVudDoiXGUwOTEifS5nbHlwaGljb24tYXJyb3ctcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDkyIn0uZ2x5cGhpY29uLWFycm93LXVwOmJlZm9yZXtjb250ZW50OiJcZTA5MyJ9LmdseXBoaWNvbi1hcnJvdy1kb3duOmJlZm9yZXtjb250ZW50OiJcZTA5NCJ9LmdseXBoaWNvbi1zaGFyZS1hbHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMDk1In0uZ2x5cGhpY29uLXJlc2l6ZS1mdWxsOmJlZm9yZXtjb250ZW50OiJcZTA5NiJ9LmdseXBoaWNvbi1yZXNpemUtc21hbGw6YmVmb3Jle2NvbnRlbnQ6IlxlMDk3In0uZ2x5cGhpY29uLWV4Y2xhbWF0aW9uLXNpZ246YmVmb3Jle2NvbnRlbnQ6IlxlMTAxIn0uZ2x5cGhpY29uLWdpZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTAyIn0uZ2x5cGhpY29uLWxlYWY6YmVmb3Jle2NvbnRlbnQ6IlxlMTAzIn0uZ2x5cGhpY29uLWZpcmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTA0In0uZ2x5cGhpY29uLWV5ZS1vcGVuOmJlZm9yZXtjb250ZW50OiJcZTEwNSJ9LmdseXBoaWNvbi1leWUtY2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlMTA2In0uZ2x5cGhpY29uLXdhcm5pbmctc2lnbjpiZWZvcmV7Y29udGVudDoiXGUxMDcifS5nbHlwaGljb24tcGxhbmU6YmVmb3Jle2NvbnRlbnQ6IlxlMTA4In0uZ2x5cGhpY29uLWNhbGVuZGFyOmJlZm9yZXtjb250ZW50OiJcZTEwOSJ9LmdseXBoaWNvbi1yYW5kb206YmVmb3Jle2NvbnRlbnQ6IlxlMTEwIn0uZ2x5cGhpY29uLWNvbW1lbnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTExIn0uZ2x5cGhpY29uLW1hZ25ldDpiZWZvcmV7Y29udGVudDoiXGUxMTIifS5nbHlwaGljb24tY2hldnJvbi11cDpiZWZvcmV7Y29udGVudDoiXGUxMTMifS5nbHlwaGljb24tY2hldnJvbi1kb3duOmJlZm9yZXtjb250ZW50OiJcZTExNCJ9LmdseXBoaWNvbi1yZXR3ZWV0OmJlZm9yZXtjb250ZW50OiJcZTExNSJ9LmdseXBoaWNvbi1zaG9wcGluZy1jYXJ0OmJlZm9yZXtjb250ZW50OiJcZTExNiJ9LmdseXBoaWNvbi1mb2xkZXItY2xvc2U6YmVmb3Jle2NvbnRlbnQ6IlxlMTE3In0uZ2x5cGhpY29uLWZvbGRlci1vcGVuOmJlZm9yZXtjb250ZW50OiJcZTExOCJ9LmdseXBoaWNvbi1yZXNpemUtdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMTE5In0uZ2x5cGhpY29uLXJlc2l6ZS1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZTEyMCJ9LmdseXBoaWNvbi1oZGQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTIxIn0uZ2x5cGhpY29uLWJ1bGxob3JuOmJlZm9yZXtjb250ZW50OiJcZTEyMiJ9LmdseXBoaWNvbi1iZWxsOmJlZm9yZXtjb250ZW50OiJcZTEyMyJ9LmdseXBoaWNvbi1jZXJ0aWZpY2F0ZTpiZWZvcmV7Y29udGVudDoiXGUxMjQifS5nbHlwaGljb24tdGh1bWJzLXVwOmJlZm9yZXtjb250ZW50OiJcZTEyNSJ9LmdseXBoaWNvbi10aHVtYnMtZG93bjpiZWZvcmV7Y29udGVudDoiXGUxMjYifS5nbHlwaGljb24taGFuZC1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUxMjcifS5nbHlwaGljb24taGFuZC1sZWZ0OmJlZm9yZXtjb250ZW50OiJcZTEyOCJ9LmdseXBoaWNvbi1oYW5kLXVwOmJlZm9yZXtjb250ZW50OiJcZTEyOSJ9LmdseXBoaWNvbi1oYW5kLWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMTMwIn0uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUxMzEifS5nbHlwaGljb24tY2lyY2xlLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTMyIn0uZ2x5cGhpY29uLWNpcmNsZS1hcnJvdy11cDpiZWZvcmV7Y29udGVudDoiXGUxMzMifS5nbHlwaGljb24tY2lyY2xlLWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6IlxlMTM0In0uZ2x5cGhpY29uLWdsb2JlOmJlZm9yZXtjb250ZW50OiJcZTEzNSJ9LmdseXBoaWNvbi13cmVuY2g6YmVmb3Jle2NvbnRlbnQ6IlxlMTM2In0uZ2x5cGhpY29uLXRhc2tzOmJlZm9yZXtjb250ZW50OiJcZTEzNyJ9LmdseXBoaWNvbi1maWx0ZXI6YmVmb3Jle2NvbnRlbnQ6IlxlMTM4In0uZ2x5cGhpY29uLWJyaWVmY2FzZTpiZWZvcmV7Y29udGVudDoiXGUxMzkifS5nbHlwaGljb24tZnVsbHNjcmVlbjpiZWZvcmV7Y29udGVudDoiXGUxNDAifS5nbHlwaGljb24tZGFzaGJvYXJkOmJlZm9yZXtjb250ZW50OiJcZTE0MSJ9LmdseXBoaWNvbi1wYXBlcmNsaXA6YmVmb3Jle2NvbnRlbnQ6IlxlMTQyIn0uZ2x5cGhpY29uLWhlYXJ0LWVtcHR5OmJlZm9yZXtjb250ZW50OiJcZTE0MyJ9LmdseXBoaWNvbi1saW5rOmJlZm9yZXtjb250ZW50OiJcZTE0NCJ9LmdseXBoaWNvbi1waG9uZTpiZWZvcmV7Y29udGVudDoiXGUxNDUifS5nbHlwaGljb24tcHVzaHBpbjpiZWZvcmV7Y29udGVudDoiXGUxNDYifS5nbHlwaGljb24tdXNkOmJlZm9yZXtjb250ZW50OiJcZTE0OCJ9LmdseXBoaWNvbi1nYnA6YmVmb3Jle2NvbnRlbnQ6IlxlMTQ5In0uZ2x5cGhpY29uLXNvcnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTUwIn0uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTUxIn0uZ2x5cGhpY29uLXNvcnQtYnktYWxwaGFiZXQtYWx0OmJlZm9yZXtjb250ZW50OiJcZTE1MiJ9LmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyOmJlZm9yZXtjb250ZW50OiJcZTE1MyJ9LmdseXBoaWNvbi1zb3J0LWJ5LW9yZGVyLWFsdDpiZWZvcmV7Y29udGVudDoiXGUxNTQifS5nbHlwaGljb24tc29ydC1ieS1hdHRyaWJ1dGVzOmJlZm9yZXtjb250ZW50OiJcZTE1NSJ9LmdseXBoaWNvbi1zb3J0LWJ5LWF0dHJpYnV0ZXMtYWx0OmJlZm9yZXtjb250ZW50OiJcZTE1NiJ9LmdseXBoaWNvbi11bmNoZWNrZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTU3In0uZ2x5cGhpY29uLWV4cGFuZDpiZWZvcmV7Y29udGVudDoiXGUxNTgifS5nbHlwaGljb24tY29sbGFwc2UtZG93bjpiZWZvcmV7Y29udGVudDoiXGUxNTkifS5nbHlwaGljb24tY29sbGFwc2UtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMTYwIn0uZ2x5cGhpY29uLWxvZy1pbjpiZWZvcmV7Y29udGVudDoiXGUxNjEifS5nbHlwaGljb24tZmxhc2g6YmVmb3Jle2NvbnRlbnQ6IlxlMTYyIn0uZ2x5cGhpY29uLWxvZy1vdXQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTYzIn0uZ2x5cGhpY29uLW5ldy13aW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlMTY0In0uZ2x5cGhpY29uLXJlY29yZDpiZWZvcmV7Y29udGVudDoiXGUxNjUifS5nbHlwaGljb24tc2F2ZTpiZWZvcmV7Y29udGVudDoiXGUxNjYifS5nbHlwaGljb24tb3BlbjpiZWZvcmV7Y29udGVudDoiXGUxNjcifS5nbHlwaGljb24tc2F2ZWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTY4In0uZ2x5cGhpY29uLWltcG9ydDpiZWZvcmV7Y29udGVudDoiXGUxNjkifS5nbHlwaGljb24tZXhwb3J0OmJlZm9yZXtjb250ZW50OiJcZTE3MCJ9LmdseXBoaWNvbi1zZW5kOmJlZm9yZXtjb250ZW50OiJcZTE3MSJ9LmdseXBoaWNvbi1mbG9wcHktZGlzazpiZWZvcmV7Y29udGVudDoiXGUxNzIifS5nbHlwaGljb24tZmxvcHB5LXNhdmVkOmJlZm9yZXtjb250ZW50OiJcZTE3MyJ9LmdseXBoaWNvbi1mbG9wcHktcmVtb3ZlOmJlZm9yZXtjb250ZW50OiJcZTE3NCJ9LmdseXBoaWNvbi1mbG9wcHktc2F2ZTpiZWZvcmV7Y29udGVudDoiXGUxNzUifS5nbHlwaGljb24tZmxvcHB5LW9wZW46YmVmb3Jle2NvbnRlbnQ6IlxlMTc2In0uZ2x5cGhpY29uLWNyZWRpdC1jYXJkOmJlZm9yZXtjb250ZW50OiJcZTE3NyJ9LmdseXBoaWNvbi10cmFuc2ZlcjpiZWZvcmV7Y29udGVudDoiXGUxNzgifS5nbHlwaGljb24tY3V0bGVyeTpiZWZvcmV7Y29udGVudDoiXGUxNzkifS5nbHlwaGljb24taGVhZGVyOmJlZm9yZXtjb250ZW50OiJcZTE4MCJ9LmdseXBoaWNvbi1jb21wcmVzc2VkOmJlZm9yZXtjb250ZW50OiJcZTE4MSJ9LmdseXBoaWNvbi1lYXJwaG9uZTpiZWZvcmV7Y29udGVudDoiXGUxODIifS5nbHlwaGljb24tcGhvbmUtYWx0OmJlZm9yZXtjb250ZW50OiJcZTE4MyJ9LmdseXBoaWNvbi10b3dlcjpiZWZvcmV7Y29udGVudDoiXGUxODQifS5nbHlwaGljb24tc3RhdHM6YmVmb3Jle2NvbnRlbnQ6IlxlMTg1In0uZ2x5cGhpY29uLXNkLXZpZGVvOmJlZm9yZXtjb250ZW50OiJcZTE4NiJ9LmdseXBoaWNvbi1oZC12aWRlbzpiZWZvcmV7Y29udGVudDoiXGUxODcifS5nbHlwaGljb24tc3VidGl0bGVzOmJlZm9yZXtjb250ZW50OiJcZTE4OCJ9LmdseXBoaWNvbi1zb3VuZC1zdGVyZW86YmVmb3Jle2NvbnRlbnQ6IlxlMTg5In0uZ2x5cGhpY29uLXNvdW5kLWRvbGJ5OmJlZm9yZXtjb250ZW50OiJcZTE5MCJ9LmdseXBoaWNvbi1zb3VuZC01LTE6YmVmb3Jle2NvbnRlbnQ6IlxlMTkxIn0uZ2x5cGhpY29uLXNvdW5kLTYtMTpiZWZvcmV7Y29udGVudDoiXGUxOTIifS5nbHlwaGljb24tc291bmQtNy0xOmJlZm9yZXtjb250ZW50OiJcZTE5MyJ9LmdseXBoaWNvbi1jb3B5cmlnaHQtbWFyazpiZWZvcmV7Y29udGVudDoiXGUxOTQifS5nbHlwaGljb24tcmVnaXN0cmF0aW9uLW1hcms6YmVmb3Jle2NvbnRlbnQ6IlxlMTk1In0uZ2x5cGhpY29uLWNsb3VkLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OiJcZTE5NyJ9LmdseXBoaWNvbi1jbG91ZC11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6IlxlMTk4In0uZ2x5cGhpY29uLXRyZWUtY29uaWZlcjpiZWZvcmV7Y29udGVudDoiXGUxOTkifS5nbHlwaGljb24tdHJlZS1kZWNpZHVvdXM6YmVmb3Jle2NvbnRlbnQ6IlxlMjAwIn0uZ2x5cGhpY29uLWNkOmJlZm9yZXtjb250ZW50OiJcZTIwMSJ9LmdseXBoaWNvbi1zYXZlLWZpbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMjAyIn0uZ2x5cGhpY29uLW9wZW4tZmlsZTpiZWZvcmV7Y29udGVudDoiXGUyMDMifS5nbHlwaGljb24tbGV2ZWwtdXA6YmVmb3Jle2NvbnRlbnQ6IlxlMjA0In0uZ2x5cGhpY29uLWNvcHk6YmVmb3Jle2NvbnRlbnQ6IlxlMjA1In0uZ2x5cGhpY29uLXBhc3RlOmJlZm9yZXtjb250ZW50OiJcZTIwNiJ9LmdseXBoaWNvbi1hbGVydDpiZWZvcmV7Y29udGVudDoiXGUyMDkifS5nbHlwaGljb24tZXF1YWxpemVyOmJlZm9yZXtjb250ZW50OiJcZTIxMCJ9LmdseXBoaWNvbi1raW5nOmJlZm9yZXtjb250ZW50OiJcZTIxMSJ9LmdseXBoaWNvbi1xdWVlbjpiZWZvcmV7Y29udGVudDoiXGUyMTIifS5nbHlwaGljb24tcGF3bjpiZWZvcmV7Y29udGVudDoiXGUyMTMifS5nbHlwaGljb24tYmlzaG9wOmJlZm9yZXtjb250ZW50OiJcZTIxNCJ9LmdseXBoaWNvbi1rbmlnaHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjE1In0uZ2x5cGhpY29uLWJhYnktZm9ybXVsYTpiZWZvcmV7Y29udGVudDoiXGUyMTYifS5nbHlwaGljb24tdGVudDpiZWZvcmV7Y29udGVudDoiXDI2ZmEifS5nbHlwaGljb24tYmxhY2tib2FyZDpiZWZvcmV7Y29udGVudDoiXGUyMTgifS5nbHlwaGljb24tYmVkOmJlZm9yZXtjb250ZW50OiJcZTIxOSJ9LmdseXBoaWNvbi1hcHBsZTpiZWZvcmV7Y29udGVudDoiXGY4ZmYifS5nbHlwaGljb24tZXJhc2U6YmVmb3Jle2NvbnRlbnQ6IlxlMjIxIn0uZ2x5cGhpY29uLWhvdXJnbGFzczpiZWZvcmV7Y29udGVudDoiXDIzMWIifS5nbHlwaGljb24tbGFtcDpiZWZvcmV7Y29udGVudDoiXGUyMjMifS5nbHlwaGljb24tZHVwbGljYXRlOmJlZm9yZXtjb250ZW50OiJcZTIyNCJ9LmdseXBoaWNvbi1waWdneS1iYW5rOmJlZm9yZXtjb250ZW50OiJcZTIyNSJ9LmdseXBoaWNvbi1zY2lzc29yczpiZWZvcmV7Y29udGVudDoiXGUyMjYifS5nbHlwaGljb24tYml0Y29pbjpiZWZvcmV7Y29udGVudDoiXGUyMjcifS5nbHlwaGljb24tYnRjOmJlZm9yZXtjb250ZW50OiJcZTIyNyJ9LmdseXBoaWNvbi14YnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjI3In0uZ2x5cGhpY29uLXllbjpiZWZvcmV7Y29udGVudDoiXDAwYTUifS5nbHlwaGljb24tanB5OmJlZm9yZXtjb250ZW50OiJcMDBhNSJ9LmdseXBoaWNvbi1ydWJsZTpiZWZvcmV7Y29udGVudDoiXDIwYmQifS5nbHlwaGljb24tcnViOmJlZm9yZXtjb250ZW50OiJcMjBiZCJ9LmdseXBoaWNvbi1zY2FsZTpiZWZvcmV7Y29udGVudDoiXGUyMzAifS5nbHlwaGljb24taWNlLWxvbGx5OmJlZm9yZXtjb250ZW50OiJcZTIzMSJ9LmdseXBoaWNvbi1pY2UtbG9sbHktdGFzdGVkOmJlZm9yZXtjb250ZW50OiJcZTIzMiJ9LmdseXBoaWNvbi1lZHVjYXRpb246YmVmb3Jle2NvbnRlbnQ6IlxlMjMzIn0uZ2x5cGhpY29uLW9wdGlvbi1ob3Jpem9udGFsOmJlZm9yZXtjb250ZW50OiJcZTIzNCJ9LmdseXBoaWNvbi1vcHRpb24tdmVydGljYWw6YmVmb3Jle2NvbnRlbnQ6IlxlMjM1In0uZ2x5cGhpY29uLW1lbnUtaGFtYnVyZ2VyOmJlZm9yZXtjb250ZW50OiJcZTIzNiJ9LmdseXBoaWNvbi1tb2RhbC13aW5kb3c6YmVmb3Jle2NvbnRlbnQ6IlxlMjM3In0uZ2x5cGhpY29uLW9pbDpiZWZvcmV7Y29udGVudDoiXGUyMzgifS5nbHlwaGljb24tZ3JhaW46YmVmb3Jle2NvbnRlbnQ6IlxlMjM5In0uZ2x5cGhpY29uLXN1bmdsYXNzZXM6YmVmb3Jle2NvbnRlbnQ6IlxlMjQwIn0uZ2x5cGhpY29uLXRleHQtc2l6ZTpiZWZvcmV7Y29udGVudDoiXGUyNDEifS5nbHlwaGljb24tdGV4dC1jb2xvcjpiZWZvcmV7Y29udGVudDoiXGUyNDIifS5nbHlwaGljb24tdGV4dC1iYWNrZ3JvdW5kOmJlZm9yZXtjb250ZW50OiJcZTI0MyJ9LmdseXBoaWNvbi1vYmplY3QtYWxpZ24tdG9wOmJlZm9yZXtjb250ZW50OiJcZTI0NCJ9LmdseXBoaWNvbi1vYmplY3QtYWxpZ24tYm90dG9tOmJlZm9yZXtjb250ZW50OiJcZTI0NSJ9LmdseXBoaWNvbi1vYmplY3QtYWxpZ24taG9yaXpvbnRhbDpiZWZvcmV7Y29udGVudDoiXGUyNDYifS5nbHlwaGljb24tb2JqZWN0LWFsaWduLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjQ3In0uZ2x5cGhpY29uLW9iamVjdC1hbGlnbi12ZXJ0aWNhbDpiZWZvcmV7Y29udGVudDoiXGUyNDgifS5nbHlwaGljb24tb2JqZWN0LWFsaWduLXJpZ2h0OmJlZm9yZXtjb250ZW50OiJcZTI0OSJ9LmdseXBoaWNvbi10cmlhbmdsZS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUyNTAifS5nbHlwaGljb24tdHJpYW5nbGUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGUyNTEifS5nbHlwaGljb24tdHJpYW5nbGUtYm90dG9tOmJlZm9yZXtjb250ZW50OiJcZTI1MiJ9LmdseXBoaWNvbi10cmlhbmdsZS10b3A6YmVmb3Jle2NvbnRlbnQ6IlxlMjUzIn0uZ2x5cGhpY29uLWNvbnNvbGU6YmVmb3Jle2NvbnRlbnQ6IlxlMjU0In0uZ2x5cGhpY29uLXN1cGVyc2NyaXB0OmJlZm9yZXtjb250ZW50OiJcZTI1NSJ9LmdseXBoaWNvbi1zdWJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6IlxlMjU2In0uZ2x5cGhpY29uLW1lbnUtbGVmdDpiZWZvcmV7Y29udGVudDoiXGUyNTcifS5nbHlwaGljb24tbWVudS1yaWdodDpiZWZvcmV7Y29udGVudDoiXGUyNTgifS5nbHlwaGljb24tbWVudS1kb3duOmJlZm9yZXtjb250ZW50OiJcZTI1OSJ9LmdseXBoaWNvbi1tZW51LXVwOmJlZm9yZXtjb250ZW50OiJcZTI2MCJ9Knstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9OmFmdGVyLDpiZWZvcmV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fWh0bWx7Zm9udC1zaXplOjEwcHg7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOnJnYmEoMCwwLDAsMCl9Ym9keXtmb250LWZhbWlseToiSGVsdmV0aWNhIE5ldWUiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9YnV0dG9uLGlucHV0LHNlbGVjdCx0ZXh0YXJlYXtmb250LWZhbWlseTppbmhlcml0O2ZvbnQtc2l6ZTppbmhlcml0O2xpbmUtaGVpZ2h0OmluaGVyaXR9YXtjb2xvcjojMzM3YWI3O3RleHQtZGVjb3JhdGlvbjpub25lfWE6Zm9jdXMsYTpob3Zlcntjb2xvcjojMjM1MjdjO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmV9YTpmb2N1c3tvdXRsaW5lOnRoaW4gZG90dGVkO291dGxpbmU6NXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHh9ZmlndXJle21hcmdpbjowfWltZ3t2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmNhcm91c2VsLWlubmVyPi5pdGVtPmE+aW1nLC5jYXJvdXNlbC1pbm5lcj4uaXRlbT5pbWcsLmltZy1yZXNwb25zaXZlLC50aHVtYm5haWwgYT5pbWcsLnRodW1ibmFpbD5pbWd7ZGlzcGxheTpibG9jazttYXgtd2lkdGg6MTAwJTtoZWlnaHQ6YXV0b30uaW1nLXJvdW5kZWR7Ym9yZGVyLXJhZGl1czo2cHh9LmltZy10aHVtYm5haWx7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWF4LXdpZHRoOjEwMCU7aGVpZ2h0OmF1dG87cGFkZGluZzo0cHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0MztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjphbGwgLjJzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246YWxsIC4ycyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmFsbCAuMnMgZWFzZS1pbi1vdXR9LmltZy1jaXJjbGV7Ym9yZGVyLXJhZGl1czo1MCV9aHJ7bWFyZ2luLXRvcDoyMHB4O21hcmdpbi1ib3R0b206MjBweDtib3JkZXI6MDtib3JkZXItdG9wOjFweCBzb2xpZCAjZWVlfS5zci1vbmx5e3Bvc2l0aW9uOmFic29sdXRlO3dpZHRoOjFweDtoZWlnaHQ6MXB4O3BhZGRpbmc6MDttYXJnaW46LTFweDtvdmVyZmxvdzpoaWRkZW47Y2xpcDpyZWN0KDAsMCwwLDApO2JvcmRlcjowfS5zci1vbmx5LWZvY3VzYWJsZTphY3RpdmUsLnNyLW9ubHktZm9jdXNhYmxlOmZvY3Vze3Bvc2l0aW9uOnN0YXRpYzt3aWR0aDphdXRvO2hlaWdodDphdXRvO21hcmdpbjowO292ZXJmbG93OnZpc2libGU7Y2xpcDphdXRvfVtyb2xlPWJ1dHRvbl17Y3Vyc29yOnBvaW50ZXJ9LmgxLC5oMiwuaDMsLmg0LC5oNSwuaDYsaDEsaDIsaDMsaDQsaDUsaDZ7Zm9udC1mYW1pbHk6aW5oZXJpdDtmb250LXdlaWdodDo1MDA7bGluZS1oZWlnaHQ6MS4xO2NvbG9yOmluaGVyaXR9LmgxIC5zbWFsbCwuaDEgc21hbGwsLmgyIC5zbWFsbCwuaDIgc21hbGwsLmgzIC5zbWFsbCwuaDMgc21hbGwsLmg0IC5zbWFsbCwuaDQgc21hbGwsLmg1IC5zbWFsbCwuaDUgc21hbGwsLmg2IC5zbWFsbCwuaDYgc21hbGwsaDEgLnNtYWxsLGgxIHNtYWxsLGgyIC5zbWFsbCxoMiBzbWFsbCxoMyAuc21hbGwsaDMgc21hbGwsaDQgLnNtYWxsLGg0IHNtYWxsLGg1IC5zbWFsbCxoNSBzbWFsbCxoNiAuc21hbGwsaDYgc21hbGx7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6Izc3N30uaDEsLmgyLC5oMyxoMSxoMixoM3ttYXJnaW4tdG9wOjIwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5oMSAuc21hbGwsLmgxIHNtYWxsLC5oMiAuc21hbGwsLmgyIHNtYWxsLC5oMyAuc21hbGwsLmgzIHNtYWxsLGgxIC5zbWFsbCxoMSBzbWFsbCxoMiAuc21hbGwsaDIgc21hbGwsaDMgLnNtYWxsLGgzIHNtYWxse2ZvbnQtc2l6ZTo2NSV9Lmg0LC5oNSwuaDYsaDQsaDUsaDZ7bWFyZ2luLXRvcDoxMHB4O21hcmdpbi1ib3R0b206MTBweH0uaDQgLnNtYWxsLC5oNCBzbWFsbCwuaDUgLnNtYWxsLC5oNSBzbWFsbCwuaDYgLnNtYWxsLC5oNiBzbWFsbCxoNCAuc21hbGwsaDQgc21hbGwsaDUgLnNtYWxsLGg1IHNtYWxsLGg2IC5zbWFsbCxoNiBzbWFsbHtmb250LXNpemU6NzUlfS5oMSxoMXtmb250LXNpemU6MzZweH0uaDIsaDJ7Zm9udC1zaXplOjMwcHh9LmgzLGgze2ZvbnQtc2l6ZToyNHB4fS5oNCxoNHtmb250LXNpemU6MThweH0uaDUsaDV7Zm9udC1zaXplOjE0cHh9Lmg2LGg2e2ZvbnQtc2l6ZToxMnB4fXB7bWFyZ2luOjAgMCAxMHB4fS5sZWFke21hcmdpbi1ib3R0b206MjBweDtmb250LXNpemU6MTZweDtmb250LXdlaWdodDozMDA7bGluZS1oZWlnaHQ6MS40fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubGVhZHtmb250LXNpemU6MjFweH19LnNtYWxsLHNtYWxse2ZvbnQtc2l6ZTo4NSV9Lm1hcmssbWFya3twYWRkaW5nOi4yZW07YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzfS50ZXh0LWxlZnR7dGV4dC1hbGlnbjpsZWZ0fS50ZXh0LXJpZ2h0e3RleHQtYWxpZ246cmlnaHR9LnRleHQtY2VudGVye3RleHQtYWxpZ246Y2VudGVyfS50ZXh0LWp1c3RpZnl7dGV4dC1hbGlnbjpqdXN0aWZ5fS50ZXh0LW5vd3JhcHt3aGl0ZS1zcGFjZTpub3dyYXB9LnRleHQtbG93ZXJjYXNle3RleHQtdHJhbnNmb3JtOmxvd2VyY2FzZX0udGV4dC11cHBlcmNhc2V7dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlfS50ZXh0LWNhcGl0YWxpemV7dGV4dC10cmFuc2Zvcm06Y2FwaXRhbGl6ZX0udGV4dC1tdXRlZHtjb2xvcjojNzc3fS50ZXh0LXByaW1hcnl7Y29sb3I6IzMzN2FiN31hLnRleHQtcHJpbWFyeTpmb2N1cyxhLnRleHQtcHJpbWFyeTpob3Zlcntjb2xvcjojMjg2MDkwfS50ZXh0LXN1Y2Nlc3N7Y29sb3I6IzNjNzYzZH1hLnRleHQtc3VjY2Vzczpmb2N1cyxhLnRleHQtc3VjY2Vzczpob3Zlcntjb2xvcjojMmI1NDJjfS50ZXh0LWluZm97Y29sb3I6IzMxNzA4Zn1hLnRleHQtaW5mbzpmb2N1cyxhLnRleHQtaW5mbzpob3Zlcntjb2xvcjojMjQ1MjY5fS50ZXh0LXdhcm5pbmd7Y29sb3I6IzhhNmQzYn1hLnRleHQtd2FybmluZzpmb2N1cyxhLnRleHQtd2FybmluZzpob3Zlcntjb2xvcjojNjY1MTJjfS50ZXh0LWRhbmdlcntjb2xvcjojYTk0NDQyfWEudGV4dC1kYW5nZXI6Zm9jdXMsYS50ZXh0LWRhbmdlcjpob3Zlcntjb2xvcjojODQzNTM0fS5iZy1wcmltYXJ5e2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3fWEuYmctcHJpbWFyeTpmb2N1cyxhLmJnLXByaW1hcnk6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojMjg2MDkwfS5iZy1zdWNjZXNze2JhY2tncm91bmQtY29sb3I6I2RmZjBkOH1hLmJnLXN1Y2Nlc3M6Zm9jdXMsYS5iZy1zdWNjZXNzOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2MxZTJiM30uYmctaW5mb3tiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjd9YS5iZy1pbmZvOmZvY3VzLGEuYmctaW5mbzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNhZmQ5ZWV9LmJnLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzfWEuYmctd2FybmluZzpmb2N1cyxhLmJnLXdhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjdlY2I1fS5iZy1kYW5nZXJ7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlfWEuYmctZGFuZ2VyOmZvY3VzLGEuYmctZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2U0YjliOX0ucGFnZS1oZWFkZXJ7cGFkZGluZy1ib3R0b206OXB4O21hcmdpbjo0MHB4IDAgMjBweDtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZWVlfW9sLHVse21hcmdpbi10b3A6MDttYXJnaW4tYm90dG9tOjEwcHh9b2wgb2wsb2wgdWwsdWwgb2wsdWwgdWx7bWFyZ2luLWJvdHRvbTowfS5saXN0LXVuc3R5bGVke3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1pbmxpbmV7cGFkZGluZy1sZWZ0OjA7bWFyZ2luLWxlZnQ6LTVweDtsaXN0LXN0eWxlOm5vbmV9Lmxpc3QtaW5saW5lPmxpe2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctcmlnaHQ6NXB4O3BhZGRpbmctbGVmdDo1cHh9ZGx7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MjBweH1kZCxkdHtsaW5lLWhlaWdodDoxLjQyODU3MTQzfWR0e2ZvbnQtd2VpZ2h0OjcwMH1kZHttYXJnaW4tbGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZGwtaG9yaXpvbnRhbCBkdHtmbG9hdDpsZWZ0O3dpZHRoOjE2MHB4O292ZXJmbG93OmhpZGRlbjtjbGVhcjpsZWZ0O3RleHQtYWxpZ246cmlnaHQ7dGV4dC1vdmVyZmxvdzplbGxpcHNpczt3aGl0ZS1zcGFjZTpub3dyYXB9LmRsLWhvcml6b250YWwgZGR7bWFyZ2luLWxlZnQ6MTgwcHh9fWFiYnJbZGF0YS1vcmlnaW5hbC10aXRsZV0sYWJiclt0aXRsZV17Y3Vyc29yOmhlbHA7Ym9yZGVyLWJvdHRvbToxcHggZG90dGVkICM3Nzd9LmluaXRpYWxpc217Zm9udC1zaXplOjkwJTt0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2V9YmxvY2txdW90ZXtwYWRkaW5nOjEwcHggMjBweDttYXJnaW46MCAwIDIwcHg7Zm9udC1zaXplOjE3LjVweDtib3JkZXItbGVmdDo1cHggc29saWQgI2VlZX1ibG9ja3F1b3RlIG9sOmxhc3QtY2hpbGQsYmxvY2txdW90ZSBwOmxhc3QtY2hpbGQsYmxvY2txdW90ZSB1bDpsYXN0LWNoaWxke21hcmdpbi1ib3R0b206MH1ibG9ja3F1b3RlIC5zbWFsbCxibG9ja3F1b3RlIGZvb3RlcixibG9ja3F1b3RlIHNtYWxse2Rpc3BsYXk6YmxvY2s7Zm9udC1zaXplOjgwJTtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiM3Nzd9YmxvY2txdW90ZSAuc21hbGw6YmVmb3JlLGJsb2NrcXVvdGUgZm9vdGVyOmJlZm9yZSxibG9ja3F1b3RlIHNtYWxsOmJlZm9yZXtjb250ZW50OidcMjAxNCBcMDBBMCd9LmJsb2NrcXVvdGUtcmV2ZXJzZSxibG9ja3F1b3RlLnB1bGwtcmlnaHR7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDowO3RleHQtYWxpZ246cmlnaHQ7Ym9yZGVyLXJpZ2h0OjVweCBzb2xpZCAjZWVlO2JvcmRlci1sZWZ0OjB9LmJsb2NrcXVvdGUtcmV2ZXJzZSAuc21hbGw6YmVmb3JlLC5ibG9ja3F1b3RlLXJldmVyc2UgZm9vdGVyOmJlZm9yZSwuYmxvY2txdW90ZS1yZXZlcnNlIHNtYWxsOmJlZm9yZSxibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmJlZm9yZSxibG9ja3F1b3RlLnB1bGwtcmlnaHQgZm9vdGVyOmJlZm9yZSxibG9ja3F1b3RlLnB1bGwtcmlnaHQgc21hbGw6YmVmb3Jle2NvbnRlbnQ6Jyd9LmJsb2NrcXVvdGUtcmV2ZXJzZSAuc21hbGw6YWZ0ZXIsLmJsb2NrcXVvdGUtcmV2ZXJzZSBmb290ZXI6YWZ0ZXIsLmJsb2NrcXVvdGUtcmV2ZXJzZSBzbWFsbDphZnRlcixibG9ja3F1b3RlLnB1bGwtcmlnaHQgLnNtYWxsOmFmdGVyLGJsb2NrcXVvdGUucHVsbC1yaWdodCBmb290ZXI6YWZ0ZXIsYmxvY2txdW90ZS5wdWxsLXJpZ2h0IHNtYWxsOmFmdGVye2NvbnRlbnQ6J1wwMEEwIFwyMDE0J31hZGRyZXNze21hcmdpbi1ib3R0b206MjBweDtmb250LXN0eWxlOm5vcm1hbDtsaW5lLWhlaWdodDoxLjQyODU3MTQzfWNvZGUsa2JkLHByZSxzYW1we2ZvbnQtZmFtaWx5Ok1lbmxvLE1vbmFjbyxDb25zb2xhcywiQ291cmllciBOZXciLG1vbm9zcGFjZX1jb2Rle3BhZGRpbmc6MnB4IDRweDtmb250LXNpemU6OTAlO2NvbG9yOiNjNzI1NGU7YmFja2dyb3VuZC1jb2xvcjojZjlmMmY0O2JvcmRlci1yYWRpdXM6NHB4fWtiZHtwYWRkaW5nOjJweCA0cHg7Zm9udC1zaXplOjkwJTtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzMztib3JkZXItcmFkaXVzOjNweDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpO2JveC1zaGFkb3c6aW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpfWtiZCBrYmR7cGFkZGluZzowO2ZvbnQtc2l6ZToxMDAlO2ZvbnQtd2VpZ2h0OjcwMDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9cHJle2Rpc3BsYXk6YmxvY2s7cGFkZGluZzo5LjVweDttYXJnaW46MCAwIDEwcHg7Zm9udC1zaXplOjEzcHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojMzMzO3dvcmQtYnJlYWs6YnJlYWstYWxsO3dvcmQtd3JhcDpicmVhay13b3JkO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLXJhZGl1czo0cHh9cHJlIGNvZGV7cGFkZGluZzowO2ZvbnQtc2l6ZTppbmhlcml0O2NvbG9yOmluaGVyaXQ7d2hpdGUtc3BhY2U6cHJlLXdyYXA7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjB9LnByZS1zY3JvbGxhYmxle21heC1oZWlnaHQ6MzQwcHg7b3ZlcmZsb3cteTpzY3JvbGx9LmNvbnRhaW5lcntwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b31AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7LmNvbnRhaW5lcnt3aWR0aDo3NTBweH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5jb250YWluZXJ7d2lkdGg6OTcwcHh9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmNvbnRhaW5lcnt3aWR0aDoxMTcwcHh9fS5jb250YWluZXItZmx1aWR7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4O21hcmdpbi1yaWdodDphdXRvO21hcmdpbi1sZWZ0OmF1dG99LnJvd3ttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9LmNvbC1sZy0xLC5jb2wtbGctMTAsLmNvbC1sZy0xMSwuY29sLWxnLTEyLC5jb2wtbGctMiwuY29sLWxnLTMsLmNvbC1sZy00LC5jb2wtbGctNSwuY29sLWxnLTYsLmNvbC1sZy03LC5jb2wtbGctOCwuY29sLWxnLTksLmNvbC1tZC0xLC5jb2wtbWQtMTAsLmNvbC1tZC0xMSwuY29sLW1kLTEyLC5jb2wtbWQtMiwuY29sLW1kLTMsLmNvbC1tZC00LC5jb2wtbWQtNSwuY29sLW1kLTYsLmNvbC1tZC03LC5jb2wtbWQtOCwuY29sLW1kLTksLmNvbC1zbS0xLC5jb2wtc20tMTAsLmNvbC1zbS0xMSwuY29sLXNtLTEyLC5jb2wtc20tMiwuY29sLXNtLTMsLmNvbC1zbS00LC5jb2wtc20tNSwuY29sLXNtLTYsLmNvbC1zbS03LC5jb2wtc20tOCwuY29sLXNtLTksLmNvbC14cy0xLC5jb2wteHMtMTAsLmNvbC14cy0xMSwuY29sLXhzLTEyLC5jb2wteHMtMiwuY29sLXhzLTMsLmNvbC14cy00LC5jb2wteHMtNSwuY29sLXhzLTYsLmNvbC14cy03LC5jb2wteHMtOCwuY29sLXhzLTl7cG9zaXRpb246cmVsYXRpdmU7bWluLWhlaWdodDoxcHg7cGFkZGluZy1yaWdodDoxNXB4O3BhZGRpbmctbGVmdDoxNXB4fS5jb2wteHMtMSwuY29sLXhzLTEwLC5jb2wteHMtMTEsLmNvbC14cy0xMiwuY29sLXhzLTIsLmNvbC14cy0zLC5jb2wteHMtNCwuY29sLXhzLTUsLmNvbC14cy02LC5jb2wteHMtNywuY29sLXhzLTgsLmNvbC14cy05e2Zsb2F0OmxlZnR9LmNvbC14cy0xMnt3aWR0aDoxMDAlfS5jb2wteHMtMTF7d2lkdGg6OTEuNjY2NjY2NjclfS5jb2wteHMtMTB7d2lkdGg6ODMuMzMzMzMzMzMlfS5jb2wteHMtOXt3aWR0aDo3NSV9LmNvbC14cy04e3dpZHRoOjY2LjY2NjY2NjY3JX0uY29sLXhzLTd7d2lkdGg6NTguMzMzMzMzMzMlfS5jb2wteHMtNnt3aWR0aDo1MCV9LmNvbC14cy01e3dpZHRoOjQxLjY2NjY2NjY3JX0uY29sLXhzLTR7d2lkdGg6MzMuMzMzMzMzMzMlfS5jb2wteHMtM3t3aWR0aDoyNSV9LmNvbC14cy0ye3dpZHRoOjE2LjY2NjY2NjY3JX0uY29sLXhzLTF7d2lkdGg6OC4zMzMzMzMzMyV9LmNvbC14cy1wdWxsLTEye3JpZ2h0OjEwMCV9LmNvbC14cy1wdWxsLTExe3JpZ2h0OjkxLjY2NjY2NjY3JX0uY29sLXhzLXB1bGwtMTB7cmlnaHQ6ODMuMzMzMzMzMzMlfS5jb2wteHMtcHVsbC05e3JpZ2h0Ojc1JX0uY29sLXhzLXB1bGwtOHtyaWdodDo2Ni42NjY2NjY2NyV9LmNvbC14cy1wdWxsLTd7cmlnaHQ6NTguMzMzMzMzMzMlfS5jb2wteHMtcHVsbC02e3JpZ2h0OjUwJX0uY29sLXhzLXB1bGwtNXtyaWdodDo0MS42NjY2NjY2NyV9LmNvbC14cy1wdWxsLTR7cmlnaHQ6MzMuMzMzMzMzMzMlfS5jb2wteHMtcHVsbC0ze3JpZ2h0OjI1JX0uY29sLXhzLXB1bGwtMntyaWdodDoxNi42NjY2NjY2NyV9LmNvbC14cy1wdWxsLTF7cmlnaHQ6OC4zMzMzMzMzMyV9LmNvbC14cy1wdWxsLTB7cmlnaHQ6YXV0b30uY29sLXhzLXB1c2gtMTJ7bGVmdDoxMDAlfS5jb2wteHMtcHVzaC0xMXtsZWZ0OjkxLjY2NjY2NjY3JX0uY29sLXhzLXB1c2gtMTB7bGVmdDo4My4zMzMzMzMzMyV9LmNvbC14cy1wdXNoLTl7bGVmdDo3NSV9LmNvbC14cy1wdXNoLTh7bGVmdDo2Ni42NjY2NjY2NyV9LmNvbC14cy1wdXNoLTd7bGVmdDo1OC4zMzMzMzMzMyV9LmNvbC14cy1wdXNoLTZ7bGVmdDo1MCV9LmNvbC14cy1wdXNoLTV7bGVmdDo0MS42NjY2NjY2NyV9LmNvbC14cy1wdXNoLTR7bGVmdDozMy4zMzMzMzMzMyV9LmNvbC14cy1wdXNoLTN7bGVmdDoyNSV9LmNvbC14cy1wdXNoLTJ7bGVmdDoxNi42NjY2NjY2NyV9LmNvbC14cy1wdXNoLTF7bGVmdDo4LjMzMzMzMzMzJX0uY29sLXhzLXB1c2gtMHtsZWZ0OmF1dG99LmNvbC14cy1vZmZzZXQtMTJ7bWFyZ2luLWxlZnQ6MTAwJX0uY29sLXhzLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NyV9LmNvbC14cy1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzMzMlfS5jb2wteHMtb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5jb2wteHMtb2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY2NjclfS5jb2wteHMtb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMlfS5jb2wteHMtb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5jb2wteHMtb2Zmc2V0LTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjclfS5jb2wteHMtb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzMzMlfS5jb2wteHMtb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5jb2wteHMtb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjclfS5jb2wteHMtb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMzMyV9LmNvbC14cy1vZmZzZXQtMHttYXJnaW4tbGVmdDowfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuY29sLXNtLTEsLmNvbC1zbS0xMCwuY29sLXNtLTExLC5jb2wtc20tMTIsLmNvbC1zbS0yLC5jb2wtc20tMywuY29sLXNtLTQsLmNvbC1zbS01LC5jb2wtc20tNiwuY29sLXNtLTcsLmNvbC1zbS04LC5jb2wtc20tOXtmbG9hdDpsZWZ0fS5jb2wtc20tMTJ7d2lkdGg6MTAwJX0uY29sLXNtLTExe3dpZHRoOjkxLjY2NjY2NjY3JX0uY29sLXNtLTEwe3dpZHRoOjgzLjMzMzMzMzMzJX0uY29sLXNtLTl7d2lkdGg6NzUlfS5jb2wtc20tOHt3aWR0aDo2Ni42NjY2NjY2NyV9LmNvbC1zbS03e3dpZHRoOjU4LjMzMzMzMzMzJX0uY29sLXNtLTZ7d2lkdGg6NTAlfS5jb2wtc20tNXt3aWR0aDo0MS42NjY2NjY2NyV9LmNvbC1zbS00e3dpZHRoOjMzLjMzMzMzMzMzJX0uY29sLXNtLTN7d2lkdGg6MjUlfS5jb2wtc20tMnt3aWR0aDoxNi42NjY2NjY2NyV9LmNvbC1zbS0xe3dpZHRoOjguMzMzMzMzMzMlfS5jb2wtc20tcHVsbC0xMntyaWdodDoxMDAlfS5jb2wtc20tcHVsbC0xMXtyaWdodDo5MS42NjY2NjY2NyV9LmNvbC1zbS1wdWxsLTEwe3JpZ2h0OjgzLjMzMzMzMzMzJX0uY29sLXNtLXB1bGwtOXtyaWdodDo3NSV9LmNvbC1zbS1wdWxsLTh7cmlnaHQ6NjYuNjY2NjY2NjclfS5jb2wtc20tcHVsbC03e3JpZ2h0OjU4LjMzMzMzMzMzJX0uY29sLXNtLXB1bGwtNntyaWdodDo1MCV9LmNvbC1zbS1wdWxsLTV7cmlnaHQ6NDEuNjY2NjY2NjclfS5jb2wtc20tcHVsbC00e3JpZ2h0OjMzLjMzMzMzMzMzJX0uY29sLXNtLXB1bGwtM3tyaWdodDoyNSV9LmNvbC1zbS1wdWxsLTJ7cmlnaHQ6MTYuNjY2NjY2NjclfS5jb2wtc20tcHVsbC0xe3JpZ2h0OjguMzMzMzMzMzMlfS5jb2wtc20tcHVsbC0we3JpZ2h0OmF1dG99LmNvbC1zbS1wdXNoLTEye2xlZnQ6MTAwJX0uY29sLXNtLXB1c2gtMTF7bGVmdDo5MS42NjY2NjY2NyV9LmNvbC1zbS1wdXNoLTEwe2xlZnQ6ODMuMzMzMzMzMzMlfS5jb2wtc20tcHVzaC05e2xlZnQ6NzUlfS5jb2wtc20tcHVzaC04e2xlZnQ6NjYuNjY2NjY2NjclfS5jb2wtc20tcHVzaC03e2xlZnQ6NTguMzMzMzMzMzMlfS5jb2wtc20tcHVzaC02e2xlZnQ6NTAlfS5jb2wtc20tcHVzaC01e2xlZnQ6NDEuNjY2NjY2NjclfS5jb2wtc20tcHVzaC00e2xlZnQ6MzMuMzMzMzMzMzMlfS5jb2wtc20tcHVzaC0ze2xlZnQ6MjUlfS5jb2wtc20tcHVzaC0ye2xlZnQ6MTYuNjY2NjY2NjclfS5jb2wtc20tcHVzaC0xe2xlZnQ6OC4zMzMzMzMzMyV9LmNvbC1zbS1wdXNoLTB7bGVmdDphdXRvfS5jb2wtc20tb2Zmc2V0LTEye21hcmdpbi1sZWZ0OjEwMCV9LmNvbC1zbS1vZmZzZXQtMTF7bWFyZ2luLWxlZnQ6OTEuNjY2NjY2NjclfS5jb2wtc20tb2Zmc2V0LTEwe21hcmdpbi1sZWZ0OjgzLjMzMzMzMzMzJX0uY29sLXNtLW9mZnNldC05e21hcmdpbi1sZWZ0Ojc1JX0uY29sLXNtLW9mZnNldC04e21hcmdpbi1sZWZ0OjY2LjY2NjY2NjY3JX0uY29sLXNtLW9mZnNldC03e21hcmdpbi1sZWZ0OjU4LjMzMzMzMzMzJX0uY29sLXNtLW9mZnNldC02e21hcmdpbi1sZWZ0OjUwJX0uY29sLXNtLW9mZnNldC01e21hcmdpbi1sZWZ0OjQxLjY2NjY2NjY3JX0uY29sLXNtLW9mZnNldC00e21hcmdpbi1sZWZ0OjMzLjMzMzMzMzMzJX0uY29sLXNtLW9mZnNldC0ze21hcmdpbi1sZWZ0OjI1JX0uY29sLXNtLW9mZnNldC0ye21hcmdpbi1sZWZ0OjE2LjY2NjY2NjY3JX0uY29sLXNtLW9mZnNldC0xe21hcmdpbi1sZWZ0OjguMzMzMzMzMzMlfS5jb2wtc20tb2Zmc2V0LTB7bWFyZ2luLWxlZnQ6MH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpey5jb2wtbWQtMSwuY29sLW1kLTEwLC5jb2wtbWQtMTEsLmNvbC1tZC0xMiwuY29sLW1kLTIsLmNvbC1tZC0zLC5jb2wtbWQtNCwuY29sLW1kLTUsLmNvbC1tZC02LC5jb2wtbWQtNywuY29sLW1kLTgsLmNvbC1tZC05e2Zsb2F0OmxlZnR9LmNvbC1tZC0xMnt3aWR0aDoxMDAlfS5jb2wtbWQtMTF7d2lkdGg6OTEuNjY2NjY2NjclfS5jb2wtbWQtMTB7d2lkdGg6ODMuMzMzMzMzMzMlfS5jb2wtbWQtOXt3aWR0aDo3NSV9LmNvbC1tZC04e3dpZHRoOjY2LjY2NjY2NjY3JX0uY29sLW1kLTd7d2lkdGg6NTguMzMzMzMzMzMlfS5jb2wtbWQtNnt3aWR0aDo1MCV9LmNvbC1tZC01e3dpZHRoOjQxLjY2NjY2NjY3JX0uY29sLW1kLTR7d2lkdGg6MzMuMzMzMzMzMzMlfS5jb2wtbWQtM3t3aWR0aDoyNSV9LmNvbC1tZC0ye3dpZHRoOjE2LjY2NjY2NjY3JX0uY29sLW1kLTF7d2lkdGg6OC4zMzMzMzMzMyV9LmNvbC1tZC1wdWxsLTEye3JpZ2h0OjEwMCV9LmNvbC1tZC1wdWxsLTExe3JpZ2h0OjkxLjY2NjY2NjY3JX0uY29sLW1kLXB1bGwtMTB7cmlnaHQ6ODMuMzMzMzMzMzMlfS5jb2wtbWQtcHVsbC05e3JpZ2h0Ojc1JX0uY29sLW1kLXB1bGwtOHtyaWdodDo2Ni42NjY2NjY2NyV9LmNvbC1tZC1wdWxsLTd7cmlnaHQ6NTguMzMzMzMzMzMlfS5jb2wtbWQtcHVsbC02e3JpZ2h0OjUwJX0uY29sLW1kLXB1bGwtNXtyaWdodDo0MS42NjY2NjY2NyV9LmNvbC1tZC1wdWxsLTR7cmlnaHQ6MzMuMzMzMzMzMzMlfS5jb2wtbWQtcHVsbC0ze3JpZ2h0OjI1JX0uY29sLW1kLXB1bGwtMntyaWdodDoxNi42NjY2NjY2NyV9LmNvbC1tZC1wdWxsLTF7cmlnaHQ6OC4zMzMzMzMzMyV9LmNvbC1tZC1wdWxsLTB7cmlnaHQ6YXV0b30uY29sLW1kLXB1c2gtMTJ7bGVmdDoxMDAlfS5jb2wtbWQtcHVzaC0xMXtsZWZ0OjkxLjY2NjY2NjY3JX0uY29sLW1kLXB1c2gtMTB7bGVmdDo4My4zMzMzMzMzMyV9LmNvbC1tZC1wdXNoLTl7bGVmdDo3NSV9LmNvbC1tZC1wdXNoLTh7bGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1tZC1wdXNoLTd7bGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1tZC1wdXNoLTZ7bGVmdDo1MCV9LmNvbC1tZC1wdXNoLTV7bGVmdDo0MS42NjY2NjY2NyV9LmNvbC1tZC1wdXNoLTR7bGVmdDozMy4zMzMzMzMzMyV9LmNvbC1tZC1wdXNoLTN7bGVmdDoyNSV9LmNvbC1tZC1wdXNoLTJ7bGVmdDoxNi42NjY2NjY2NyV9LmNvbC1tZC1wdXNoLTF7bGVmdDo4LjMzMzMzMzMzJX0uY29sLW1kLXB1c2gtMHtsZWZ0OmF1dG99LmNvbC1tZC1vZmZzZXQtMTJ7bWFyZ2luLWxlZnQ6MTAwJX0uY29sLW1kLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NyV9LmNvbC1tZC1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzMzMlfS5jb2wtbWQtb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5jb2wtbWQtb2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY2NjclfS5jb2wtbWQtb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMlfS5jb2wtbWQtb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5jb2wtbWQtb2Zmc2V0LTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjclfS5jb2wtbWQtb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzMzMlfS5jb2wtbWQtb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5jb2wtbWQtb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjclfS5jb2wtbWQtb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMzMyV9LmNvbC1tZC1vZmZzZXQtMHttYXJnaW4tbGVmdDowfX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey5jb2wtbGctMSwuY29sLWxnLTEwLC5jb2wtbGctMTEsLmNvbC1sZy0xMiwuY29sLWxnLTIsLmNvbC1sZy0zLC5jb2wtbGctNCwuY29sLWxnLTUsLmNvbC1sZy02LC5jb2wtbGctNywuY29sLWxnLTgsLmNvbC1sZy05e2Zsb2F0OmxlZnR9LmNvbC1sZy0xMnt3aWR0aDoxMDAlfS5jb2wtbGctMTF7d2lkdGg6OTEuNjY2NjY2NjclfS5jb2wtbGctMTB7d2lkdGg6ODMuMzMzMzMzMzMlfS5jb2wtbGctOXt3aWR0aDo3NSV9LmNvbC1sZy04e3dpZHRoOjY2LjY2NjY2NjY3JX0uY29sLWxnLTd7d2lkdGg6NTguMzMzMzMzMzMlfS5jb2wtbGctNnt3aWR0aDo1MCV9LmNvbC1sZy01e3dpZHRoOjQxLjY2NjY2NjY3JX0uY29sLWxnLTR7d2lkdGg6MzMuMzMzMzMzMzMlfS5jb2wtbGctM3t3aWR0aDoyNSV9LmNvbC1sZy0ye3dpZHRoOjE2LjY2NjY2NjY3JX0uY29sLWxnLTF7d2lkdGg6OC4zMzMzMzMzMyV9LmNvbC1sZy1wdWxsLTEye3JpZ2h0OjEwMCV9LmNvbC1sZy1wdWxsLTExe3JpZ2h0OjkxLjY2NjY2NjY3JX0uY29sLWxnLXB1bGwtMTB7cmlnaHQ6ODMuMzMzMzMzMzMlfS5jb2wtbGctcHVsbC05e3JpZ2h0Ojc1JX0uY29sLWxnLXB1bGwtOHtyaWdodDo2Ni42NjY2NjY2NyV9LmNvbC1sZy1wdWxsLTd7cmlnaHQ6NTguMzMzMzMzMzMlfS5jb2wtbGctcHVsbC02e3JpZ2h0OjUwJX0uY29sLWxnLXB1bGwtNXtyaWdodDo0MS42NjY2NjY2NyV9LmNvbC1sZy1wdWxsLTR7cmlnaHQ6MzMuMzMzMzMzMzMlfS5jb2wtbGctcHVsbC0ze3JpZ2h0OjI1JX0uY29sLWxnLXB1bGwtMntyaWdodDoxNi42NjY2NjY2NyV9LmNvbC1sZy1wdWxsLTF7cmlnaHQ6OC4zMzMzMzMzMyV9LmNvbC1sZy1wdWxsLTB7cmlnaHQ6YXV0b30uY29sLWxnLXB1c2gtMTJ7bGVmdDoxMDAlfS5jb2wtbGctcHVzaC0xMXtsZWZ0OjkxLjY2NjY2NjY3JX0uY29sLWxnLXB1c2gtMTB7bGVmdDo4My4zMzMzMzMzMyV9LmNvbC1sZy1wdXNoLTl7bGVmdDo3NSV9LmNvbC1sZy1wdXNoLTh7bGVmdDo2Ni42NjY2NjY2NyV9LmNvbC1sZy1wdXNoLTd7bGVmdDo1OC4zMzMzMzMzMyV9LmNvbC1sZy1wdXNoLTZ7bGVmdDo1MCV9LmNvbC1sZy1wdXNoLTV7bGVmdDo0MS42NjY2NjY2NyV9LmNvbC1sZy1wdXNoLTR7bGVmdDozMy4zMzMzMzMzMyV9LmNvbC1sZy1wdXNoLTN7bGVmdDoyNSV9LmNvbC1sZy1wdXNoLTJ7bGVmdDoxNi42NjY2NjY2NyV9LmNvbC1sZy1wdXNoLTF7bGVmdDo4LjMzMzMzMzMzJX0uY29sLWxnLXB1c2gtMHtsZWZ0OmF1dG99LmNvbC1sZy1vZmZzZXQtMTJ7bWFyZ2luLWxlZnQ6MTAwJX0uY29sLWxnLW9mZnNldC0xMXttYXJnaW4tbGVmdDo5MS42NjY2NjY2NyV9LmNvbC1sZy1vZmZzZXQtMTB7bWFyZ2luLWxlZnQ6ODMuMzMzMzMzMzMlfS5jb2wtbGctb2Zmc2V0LTl7bWFyZ2luLWxlZnQ6NzUlfS5jb2wtbGctb2Zmc2V0LTh7bWFyZ2luLWxlZnQ6NjYuNjY2NjY2NjclfS5jb2wtbGctb2Zmc2V0LTd7bWFyZ2luLWxlZnQ6NTguMzMzMzMzMzMlfS5jb2wtbGctb2Zmc2V0LTZ7bWFyZ2luLWxlZnQ6NTAlfS5jb2wtbGctb2Zmc2V0LTV7bWFyZ2luLWxlZnQ6NDEuNjY2NjY2NjclfS5jb2wtbGctb2Zmc2V0LTR7bWFyZ2luLWxlZnQ6MzMuMzMzMzMzMzMlfS5jb2wtbGctb2Zmc2V0LTN7bWFyZ2luLWxlZnQ6MjUlfS5jb2wtbGctb2Zmc2V0LTJ7bWFyZ2luLWxlZnQ6MTYuNjY2NjY2NjclfS5jb2wtbGctb2Zmc2V0LTF7bWFyZ2luLWxlZnQ6OC4zMzMzMzMzMyV9LmNvbC1sZy1vZmZzZXQtMHttYXJnaW4tbGVmdDowfX10YWJsZXtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fWNhcHRpb257cGFkZGluZy10b3A6OHB4O3BhZGRpbmctYm90dG9tOjhweDtjb2xvcjojNzc3O3RleHQtYWxpZ246bGVmdH10aHt0ZXh0LWFsaWduOmxlZnR9LnRhYmxle3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbToyMHB4fS50YWJsZT50Ym9keT50cj50ZCwudGFibGU+dGJvZHk+dHI+dGgsLnRhYmxlPnRmb290PnRyPnRkLC50YWJsZT50Zm9vdD50cj50aCwudGFibGU+dGhlYWQ+dHI+dGQsLnRhYmxlPnRoZWFkPnRyPnRoe3BhZGRpbmc6OHB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7dmVydGljYWwtYWxpZ246dG9wO2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGR9LnRhYmxlPnRoZWFkPnRyPnRoe3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZGRkfS50YWJsZT5jYXB0aW9uK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRkLC50YWJsZT5jYXB0aW9uK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRoLC50YWJsZT5jb2xncm91cCt0aGVhZD50cjpmaXJzdC1jaGlsZD50ZCwudGFibGU+Y29sZ3JvdXArdGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGgsLnRhYmxlPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkPnRkLC50YWJsZT50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZD50aHtib3JkZXItdG9wOjB9LnRhYmxlPnRib2R5K3Rib2R5e2JvcmRlci10b3A6MnB4IHNvbGlkICNkZGR9LnRhYmxlIC50YWJsZXtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnRhYmxlLWNvbmRlbnNlZD50Ym9keT50cj50ZCwudGFibGUtY29uZGVuc2VkPnRib2R5PnRyPnRoLC50YWJsZS1jb25kZW5zZWQ+dGZvb3Q+dHI+dGQsLnRhYmxlLWNvbmRlbnNlZD50Zm9vdD50cj50aCwudGFibGUtY29uZGVuc2VkPnRoZWFkPnRyPnRkLC50YWJsZS1jb25kZW5zZWQ+dGhlYWQ+dHI+dGh7cGFkZGluZzo1cHh9LnRhYmxlLWJvcmRlcmVke2JvcmRlcjoxcHggc29saWQgI2RkZH0udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQsLnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoLC50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZCwudGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGgsLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkLC50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aHtib3JkZXI6MXB4IHNvbGlkICNkZGR9LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkLC50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aHtib3JkZXItYm90dG9tLXdpZHRoOjJweH0udGFibGUtc3RyaXBlZD50Ym9keT50cjpudGgtb2YtdHlwZShvZGQpe2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOX0udGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1fXRhYmxlIGNvbFtjbGFzcyo9Y29sLV17cG9zaXRpb246c3RhdGljO2Rpc3BsYXk6dGFibGUtY29sdW1uO2Zsb2F0Om5vbmV9dGFibGUgdGRbY2xhc3MqPWNvbC1dLHRhYmxlIHRoW2NsYXNzKj1jb2wtXXtwb3NpdGlvbjpzdGF0aWM7ZGlzcGxheTp0YWJsZS1jZWxsO2Zsb2F0Om5vbmV9LnRhYmxlPnRib2R5PnRyLmFjdGl2ZT50ZCwudGFibGU+dGJvZHk+dHIuYWN0aXZlPnRoLC50YWJsZT50Ym9keT50cj50ZC5hY3RpdmUsLnRhYmxlPnRib2R5PnRyPnRoLmFjdGl2ZSwudGFibGU+dGZvb3Q+dHIuYWN0aXZlPnRkLC50YWJsZT50Zm9vdD50ci5hY3RpdmU+dGgsLnRhYmxlPnRmb290PnRyPnRkLmFjdGl2ZSwudGFibGU+dGZvb3Q+dHI+dGguYWN0aXZlLC50YWJsZT50aGVhZD50ci5hY3RpdmU+dGQsLnRhYmxlPnRoZWFkPnRyLmFjdGl2ZT50aCwudGFibGU+dGhlYWQ+dHI+dGQuYWN0aXZlLC50YWJsZT50aGVhZD50cj50aC5hY3RpdmV7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1fS50YWJsZS1ob3Zlcj50Ym9keT50ci5hY3RpdmU6aG92ZXI+dGQsLnRhYmxlLWhvdmVyPnRib2R5PnRyLmFjdGl2ZTpob3Zlcj50aCwudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXI+LmFjdGl2ZSwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGQuYWN0aXZlOmhvdmVyLC50YWJsZS1ob3Zlcj50Ym9keT50cj50aC5hY3RpdmU6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZThlOGU4fS50YWJsZT50Ym9keT50ci5zdWNjZXNzPnRkLC50YWJsZT50Ym9keT50ci5zdWNjZXNzPnRoLC50YWJsZT50Ym9keT50cj50ZC5zdWNjZXNzLC50YWJsZT50Ym9keT50cj50aC5zdWNjZXNzLC50YWJsZT50Zm9vdD50ci5zdWNjZXNzPnRkLC50YWJsZT50Zm9vdD50ci5zdWNjZXNzPnRoLC50YWJsZT50Zm9vdD50cj50ZC5zdWNjZXNzLC50YWJsZT50Zm9vdD50cj50aC5zdWNjZXNzLC50YWJsZT50aGVhZD50ci5zdWNjZXNzPnRkLC50YWJsZT50aGVhZD50ci5zdWNjZXNzPnRoLC50YWJsZT50aGVhZD50cj50ZC5zdWNjZXNzLC50YWJsZT50aGVhZD50cj50aC5zdWNjZXNze2JhY2tncm91bmQtY29sb3I6I2RmZjBkOH0udGFibGUtaG92ZXI+dGJvZHk+dHIuc3VjY2Vzczpob3Zlcj50ZCwudGFibGUtaG92ZXI+dGJvZHk+dHIuc3VjY2Vzczpob3Zlcj50aCwudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXI+LnN1Y2Nlc3MsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRkLnN1Y2Nlc3M6aG92ZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRoLnN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZDBlOWM2fS50YWJsZT50Ym9keT50ci5pbmZvPnRkLC50YWJsZT50Ym9keT50ci5pbmZvPnRoLC50YWJsZT50Ym9keT50cj50ZC5pbmZvLC50YWJsZT50Ym9keT50cj50aC5pbmZvLC50YWJsZT50Zm9vdD50ci5pbmZvPnRkLC50YWJsZT50Zm9vdD50ci5pbmZvPnRoLC50YWJsZT50Zm9vdD50cj50ZC5pbmZvLC50YWJsZT50Zm9vdD50cj50aC5pbmZvLC50YWJsZT50aGVhZD50ci5pbmZvPnRkLC50YWJsZT50aGVhZD50ci5pbmZvPnRoLC50YWJsZT50aGVhZD50cj50ZC5pbmZvLC50YWJsZT50aGVhZD50cj50aC5pbmZve2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmN30udGFibGUtaG92ZXI+dGJvZHk+dHIuaW5mbzpob3Zlcj50ZCwudGFibGUtaG92ZXI+dGJvZHk+dHIuaW5mbzpob3Zlcj50aCwudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXI+LmluZm8sLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRkLmluZm86aG92ZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRoLmluZm86aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYzRlM2YzfS50YWJsZT50Ym9keT50ci53YXJuaW5nPnRkLC50YWJsZT50Ym9keT50ci53YXJuaW5nPnRoLC50YWJsZT50Ym9keT50cj50ZC53YXJuaW5nLC50YWJsZT50Ym9keT50cj50aC53YXJuaW5nLC50YWJsZT50Zm9vdD50ci53YXJuaW5nPnRkLC50YWJsZT50Zm9vdD50ci53YXJuaW5nPnRoLC50YWJsZT50Zm9vdD50cj50ZC53YXJuaW5nLC50YWJsZT50Zm9vdD50cj50aC53YXJuaW5nLC50YWJsZT50aGVhZD50ci53YXJuaW5nPnRkLC50YWJsZT50aGVhZD50ci53YXJuaW5nPnRoLC50YWJsZT50aGVhZD50cj50ZC53YXJuaW5nLC50YWJsZT50aGVhZD50cj50aC53YXJuaW5ne2JhY2tncm91bmQtY29sb3I6I2ZjZjhlM30udGFibGUtaG92ZXI+dGJvZHk+dHIud2FybmluZzpob3Zlcj50ZCwudGFibGUtaG92ZXI+dGJvZHk+dHIud2FybmluZzpob3Zlcj50aCwudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXI+Lndhcm5pbmcsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRkLndhcm5pbmc6aG92ZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRoLndhcm5pbmc6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZmFmMmNjfS50YWJsZT50Ym9keT50ci5kYW5nZXI+dGQsLnRhYmxlPnRib2R5PnRyLmRhbmdlcj50aCwudGFibGU+dGJvZHk+dHI+dGQuZGFuZ2VyLC50YWJsZT50Ym9keT50cj50aC5kYW5nZXIsLnRhYmxlPnRmb290PnRyLmRhbmdlcj50ZCwudGFibGU+dGZvb3Q+dHIuZGFuZ2VyPnRoLC50YWJsZT50Zm9vdD50cj50ZC5kYW5nZXIsLnRhYmxlPnRmb290PnRyPnRoLmRhbmdlciwudGFibGU+dGhlYWQ+dHIuZGFuZ2VyPnRkLC50YWJsZT50aGVhZD50ci5kYW5nZXI+dGgsLnRhYmxlPnRoZWFkPnRyPnRkLmRhbmdlciwudGFibGU+dGhlYWQ+dHI+dGguZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2YyZGVkZX0udGFibGUtaG92ZXI+dGJvZHk+dHIuZGFuZ2VyOmhvdmVyPnRkLC50YWJsZS1ob3Zlcj50Ym9keT50ci5kYW5nZXI6aG92ZXI+dGgsLnRhYmxlLWhvdmVyPnRib2R5PnRyOmhvdmVyPi5kYW5nZXIsLnRhYmxlLWhvdmVyPnRib2R5PnRyPnRkLmRhbmdlcjpob3ZlciwudGFibGUtaG92ZXI+dGJvZHk+dHI+dGguZGFuZ2VyOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2ViY2NjY30udGFibGUtcmVzcG9uc2l2ZXttaW4taGVpZ2h0Oi4wMSU7b3ZlcmZsb3cteDphdXRvfUBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY3cHgpey50YWJsZS1yZXNwb25zaXZle3dpZHRoOjEwMCU7bWFyZ2luLWJvdHRvbToxNXB4O292ZXJmbG93LXk6aGlkZGVuOy1tcy1vdmVyZmxvdy1zdHlsZTotbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZXttYXJnaW4tYm90dG9tOjB9LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlPnRib2R5PnRyPnRkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZT50Ym9keT50cj50aCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGU+dGZvb3Q+dHI+dGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlPnRmb290PnRyPnRoLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZT50aGVhZD50cj50ZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGU+dGhlYWQ+dHI+dGh7d2hpdGUtc3BhY2U6bm93cmFwfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZHtib3JkZXI6MH0udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQ6Zmlyc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmZpcnN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpmaXJzdC1jaGlsZCwudGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGg6Zmlyc3QtY2hpbGQsLnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmZpcnN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpmaXJzdC1jaGlsZHtib3JkZXItbGVmdDowfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZDpsYXN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50aDpsYXN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZDpsYXN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aDpsYXN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZDpsYXN0LWNoaWxkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aDpsYXN0LWNoaWxke2JvcmRlci1yaWdodDowfS50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpsYXN0LWNoaWxkPnRkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpsYXN0LWNoaWxkPnRoLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRkLC50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRoe2JvcmRlci1ib3R0b206MH19ZmllbGRzZXR7bWluLXdpZHRoOjA7cGFkZGluZzowO21hcmdpbjowO2JvcmRlcjowfWxlZ2VuZHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7cGFkZGluZzowO21hcmdpbi1ib3R0b206MjBweDtmb250LXNpemU6MjFweDtsaW5lLWhlaWdodDppbmhlcml0O2NvbG9yOiMzMzM7Ym9yZGVyOjA7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U1ZTVlNX1sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXgtd2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjVweDtmb250LXdlaWdodDo3MDB9aW5wdXRbdHlwZT1zZWFyY2hdey13ZWJraXQtYm94LXNpemluZzpib3JkZXItYm94Oy1tb3otYm94LXNpemluZzpib3JkZXItYm94O2JveC1zaXppbmc6Ym9yZGVyLWJveH1pbnB1dFt0eXBlPWNoZWNrYm94XSxpbnB1dFt0eXBlPXJhZGlvXXttYXJnaW46NHB4IDAgMDttYXJnaW4tdG9wOjFweFw5O2xpbmUtaGVpZ2h0Om5vcm1hbH1pbnB1dFt0eXBlPWZpbGVde2Rpc3BsYXk6YmxvY2t9aW5wdXRbdHlwZT1yYW5nZV17ZGlzcGxheTpibG9jazt3aWR0aDoxMDAlfXNlbGVjdFttdWx0aXBsZV0sc2VsZWN0W3NpemVde2hlaWdodDphdXRvfWlucHV0W3R5cGU9ZmlsZV06Zm9jdXMsaW5wdXRbdHlwZT1jaGVja2JveF06Zm9jdXMsaW5wdXRbdHlwZT1yYWRpb106Zm9jdXN7b3V0bGluZTp0aGluIGRvdHRlZDtvdXRsaW5lOjVweCBhdXRvIC13ZWJraXQtZm9jdXMtcmluZy1jb2xvcjtvdXRsaW5lLW9mZnNldDotMnB4fW91dHB1dHtkaXNwbGF5OmJsb2NrO3BhZGRpbmctdG9wOjdweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiM1NTV9LmZvcm0tY29udHJvbHtkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCU7aGVpZ2h0OjM0cHg7cGFkZGluZzo2cHggMTJweDtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiM1NTU7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSk7LXdlYmtpdC10cmFuc2l0aW9uOmJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLC13ZWJraXQtYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzOy1vLXRyYW5zaXRpb246Ym9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO3RyYW5zaXRpb246Ym9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzfS5mb3JtLWNvbnRyb2w6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM2NmFmZTk7b3V0bGluZTowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgOHB4IHJnYmEoMTAyLDE3NSwyMzMsLjYpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDhweCByZ2JhKDEwMiwxNzUsMjMzLC42KX0uZm9ybS1jb250cm9sOjotbW96LXBsYWNlaG9sZGVye2NvbG9yOiM5OTk7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2w6LW1zLWlucHV0LXBsYWNlaG9sZGVye2NvbG9yOiM5OTl9LmZvcm0tY29udHJvbDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlcntjb2xvcjojOTk5fS5mb3JtLWNvbnRyb2w6Oi1tcy1leHBhbmR7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MH0uZm9ybS1jb250cm9sW2Rpc2FibGVkXSwuZm9ybS1jb250cm9sW3JlYWRvbmx5XSxmaWVsZHNldFtkaXNhYmxlZF0gLmZvcm0tY29udHJvbHtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7b3BhY2l0eToxfS5mb3JtLWNvbnRyb2xbZGlzYWJsZWRdLGZpZWxkc2V0W2Rpc2FibGVkXSAuZm9ybS1jb250cm9se2N1cnNvcjpub3QtYWxsb3dlZH10ZXh0YXJlYS5mb3JtLWNvbnRyb2x7aGVpZ2h0OmF1dG99aW5wdXRbdHlwZT1zZWFyY2hdey13ZWJraXQtYXBwZWFyYW5jZTpub25lfUBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCl7aW5wdXRbdHlwZT1kYXRlXS5mb3JtLWNvbnRyb2wsaW5wdXRbdHlwZT10aW1lXS5mb3JtLWNvbnRyb2wsaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0uZm9ybS1jb250cm9sLGlucHV0W3R5cGU9bW9udGhdLmZvcm0tY29udHJvbHtsaW5lLWhlaWdodDozNHB4fS5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPWRhdGVdLC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPXRpbWVdLC5pbnB1dC1ncm91cC1zbSBpbnB1dFt0eXBlPWRhdGV0aW1lLWxvY2FsXSwuaW5wdXQtZ3JvdXAtc20gaW5wdXRbdHlwZT1tb250aF0saW5wdXRbdHlwZT1kYXRlXS5pbnB1dC1zbSxpbnB1dFt0eXBlPXRpbWVdLmlucHV0LXNtLGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLmlucHV0LXNtLGlucHV0W3R5cGU9bW9udGhdLmlucHV0LXNte2xpbmUtaGVpZ2h0OjMwcHh9LmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ZGF0ZV0sLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9dGltZV0sLmlucHV0LWdyb3VwLWxnIGlucHV0W3R5cGU9ZGF0ZXRpbWUtbG9jYWxdLC5pbnB1dC1ncm91cC1sZyBpbnB1dFt0eXBlPW1vbnRoXSxpbnB1dFt0eXBlPWRhdGVdLmlucHV0LWxnLGlucHV0W3R5cGU9dGltZV0uaW5wdXQtbGcsaW5wdXRbdHlwZT1kYXRldGltZS1sb2NhbF0uaW5wdXQtbGcsaW5wdXRbdHlwZT1tb250aF0uaW5wdXQtbGd7bGluZS1oZWlnaHQ6NDZweH19LmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbToxNXB4fS5jaGVja2JveCwucmFkaW97cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jazttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5jaGVja2JveCBsYWJlbCwucmFkaW8gbGFiZWx7bWluLWhlaWdodDoyMHB4O3BhZGRpbmctbGVmdDoyMHB4O21hcmdpbi1ib3R0b206MDtmb250LXdlaWdodDo0MDA7Y3Vyc29yOnBvaW50ZXJ9LmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLC5jaGVja2JveC1pbmxpbmUgaW5wdXRbdHlwZT1jaGVja2JveF0sLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dLC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246YWJzb2x1dGU7bWFyZ2luLXRvcDo0cHhcOTttYXJnaW4tbGVmdDotMjBweH0uY2hlY2tib3grLmNoZWNrYm94LC5yYWRpbysucmFkaW97bWFyZ2luLXRvcDotNXB4fS5jaGVja2JveC1pbmxpbmUsLnJhZGlvLWlubGluZXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLWxlZnQ6MjBweDttYXJnaW4tYm90dG9tOjA7Zm9udC13ZWlnaHQ6NDAwO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtjdXJzb3I6cG9pbnRlcn0uY2hlY2tib3gtaW5saW5lKy5jaGVja2JveC1pbmxpbmUsLnJhZGlvLWlubGluZSsucmFkaW8taW5saW5le21hcmdpbi10b3A6MDttYXJnaW4tbGVmdDoxMHB4fWZpZWxkc2V0W2Rpc2FibGVkXSBpbnB1dFt0eXBlPWNoZWNrYm94XSxmaWVsZHNldFtkaXNhYmxlZF0gaW5wdXRbdHlwZT1yYWRpb10saW5wdXRbdHlwZT1jaGVja2JveF0uZGlzYWJsZWQsaW5wdXRbdHlwZT1jaGVja2JveF1bZGlzYWJsZWRdLGlucHV0W3R5cGU9cmFkaW9dLmRpc2FibGVkLGlucHV0W3R5cGU9cmFkaW9dW2Rpc2FibGVkXXtjdXJzb3I6bm90LWFsbG93ZWR9LmNoZWNrYm94LWlubGluZS5kaXNhYmxlZCwucmFkaW8taW5saW5lLmRpc2FibGVkLGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3gtaW5saW5lLGZpZWxkc2V0W2Rpc2FibGVkXSAucmFkaW8taW5saW5le2N1cnNvcjpub3QtYWxsb3dlZH0uY2hlY2tib3guZGlzYWJsZWQgbGFiZWwsLnJhZGlvLmRpc2FibGVkIGxhYmVsLGZpZWxkc2V0W2Rpc2FibGVkXSAuY2hlY2tib3ggbGFiZWwsZmllbGRzZXRbZGlzYWJsZWRdIC5yYWRpbyBsYWJlbHtjdXJzb3I6bm90LWFsbG93ZWR9LmZvcm0tY29udHJvbC1zdGF0aWN7bWluLWhlaWdodDozNHB4O3BhZGRpbmctdG9wOjdweDtwYWRkaW5nLWJvdHRvbTo3cHg7bWFyZ2luLWJvdHRvbTowfS5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LWxnLC5mb3JtLWNvbnRyb2wtc3RhdGljLmlucHV0LXNte3BhZGRpbmctcmlnaHQ6MDtwYWRkaW5nLWxlZnQ6MH0uaW5wdXQtc217aGVpZ2h0OjMwcHg7cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czozcHh9c2VsZWN0LmlucHV0LXNte2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHh9c2VsZWN0W211bHRpcGxlXS5pbnB1dC1zbSx0ZXh0YXJlYS5pbnB1dC1zbXtoZWlnaHQ6YXV0b30uZm9ybS1ncm91cC1zbSAuZm9ybS1jb250cm9se2hlaWdodDozMHB4O3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6M3B4fS5mb3JtLWdyb3VwLXNtIHNlbGVjdC5mb3JtLWNvbnRyb2x7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweH0uZm9ybS1ncm91cC1zbSBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCwuZm9ybS1ncm91cC1zbSB0ZXh0YXJlYS5mb3JtLWNvbnRyb2x7aGVpZ2h0OmF1dG99LmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbC1zdGF0aWN7aGVpZ2h0OjMwcHg7bWluLWhlaWdodDozMnB4O3BhZGRpbmc6NnB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41fS5pbnB1dC1sZ3toZWlnaHQ6NDZweDtwYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzM7Ym9yZGVyLXJhZGl1czo2cHh9c2VsZWN0LmlucHV0LWxne2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9c2VsZWN0W211bHRpcGxlXS5pbnB1dC1sZyx0ZXh0YXJlYS5pbnB1dC1sZ3toZWlnaHQ6YXV0b30uZm9ybS1ncm91cC1sZyAuZm9ybS1jb250cm9se2hlaWdodDo0NnB4O3BhZGRpbmc6MTBweCAxNnB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjEuMzMzMzMzMztib3JkZXItcmFkaXVzOjZweH0uZm9ybS1ncm91cC1sZyBzZWxlY3QuZm9ybS1jb250cm9se2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9LmZvcm0tZ3JvdXAtbGcgc2VsZWN0W211bHRpcGxlXS5mb3JtLWNvbnRyb2wsLmZvcm0tZ3JvdXAtbGcgdGV4dGFyZWEuZm9ybS1jb250cm9se2hlaWdodDphdXRvfS5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wtc3RhdGlje2hlaWdodDo0NnB4O21pbi1oZWlnaHQ6MzhweDtwYWRkaW5nOjExcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzN9Lmhhcy1mZWVkYmFja3twb3NpdGlvbjpyZWxhdGl2ZX0uaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2x7cGFkZGluZy1yaWdodDo0Mi41cHh9LmZvcm0tY29udHJvbC1mZWVkYmFja3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtyaWdodDowO3otaW5kZXg6MjtkaXNwbGF5OmJsb2NrO3dpZHRoOjM0cHg7aGVpZ2h0OjM0cHg7bGluZS1oZWlnaHQ6MzRweDt0ZXh0LWFsaWduOmNlbnRlcjtwb2ludGVyLWV2ZW50czpub25lfS5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wrLmZvcm0tY29udHJvbC1mZWVkYmFjaywuaW5wdXQtZ3JvdXAtbGcrLmZvcm0tY29udHJvbC1mZWVkYmFjaywuaW5wdXQtbGcrLmZvcm0tY29udHJvbC1mZWVkYmFja3t3aWR0aDo0NnB4O2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9LmZvcm0tZ3JvdXAtc20gLmZvcm0tY29udHJvbCsuZm9ybS1jb250cm9sLWZlZWRiYWNrLC5pbnB1dC1ncm91cC1zbSsuZm9ybS1jb250cm9sLWZlZWRiYWNrLC5pbnB1dC1zbSsuZm9ybS1jb250cm9sLWZlZWRiYWNre3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bGluZS1oZWlnaHQ6MzBweH0uaGFzLXN1Y2Nlc3MgLmNoZWNrYm94LC5oYXMtc3VjY2VzcyAuY2hlY2tib3gtaW5saW5lLC5oYXMtc3VjY2VzcyAuY29udHJvbC1sYWJlbCwuaGFzLXN1Y2Nlc3MgLmhlbHAtYmxvY2ssLmhhcy1zdWNjZXNzIC5yYWRpbywuaGFzLXN1Y2Nlc3MgLnJhZGlvLWlubGluZSwuaGFzLXN1Y2Nlc3MuY2hlY2tib3ggbGFiZWwsLmhhcy1zdWNjZXNzLmNoZWNrYm94LWlubGluZSBsYWJlbCwuaGFzLXN1Y2Nlc3MucmFkaW8gbGFiZWwsLmhhcy1zdWNjZXNzLnJhZGlvLWlubGluZSBsYWJlbHtjb2xvcjojM2M3NjNkfS5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9se2JvcmRlci1jb2xvcjojM2M3NjNkOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpfS5oYXMtc3VjY2VzcyAuZm9ybS1jb250cm9sOmZvY3Vze2JvcmRlci1jb2xvcjojMmI1NDJjOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICM2N2IxNjg7Ym94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwwIDAgNnB4ICM2N2IxNjh9Lmhhcy1zdWNjZXNzIC5pbnB1dC1ncm91cC1hZGRvbntjb2xvcjojM2M3NjNkO2JhY2tncm91bmQtY29sb3I6I2RmZjBkODtib3JkZXItY29sb3I6IzNjNzYzZH0uaGFzLXN1Y2Nlc3MgLmZvcm0tY29udHJvbC1mZWVkYmFja3tjb2xvcjojM2M3NjNkfS5oYXMtd2FybmluZyAuY2hlY2tib3gsLmhhcy13YXJuaW5nIC5jaGVja2JveC1pbmxpbmUsLmhhcy13YXJuaW5nIC5jb250cm9sLWxhYmVsLC5oYXMtd2FybmluZyAuaGVscC1ibG9jaywuaGFzLXdhcm5pbmcgLnJhZGlvLC5oYXMtd2FybmluZyAucmFkaW8taW5saW5lLC5oYXMtd2FybmluZy5jaGVja2JveCBsYWJlbCwuaGFzLXdhcm5pbmcuY2hlY2tib3gtaW5saW5lIGxhYmVsLC5oYXMtd2FybmluZy5yYWRpbyBsYWJlbCwuaGFzLXdhcm5pbmcucmFkaW8taW5saW5lIGxhYmVse2NvbG9yOiM4YTZkM2J9Lmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2x7Ym9yZGVyLWNvbG9yOiM4YTZkM2I7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSl9Lmhhcy13YXJuaW5nIC5mb3JtLWNvbnRyb2w6Zm9jdXN7Ym9yZGVyLWNvbG9yOiM2NjUxMmM7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggI2MwYTE2Yjtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpLDAgMCA2cHggI2MwYTE2Yn0uaGFzLXdhcm5pbmcgLmlucHV0LWdyb3VwLWFkZG9ue2NvbG9yOiM4YTZkM2I7YmFja2dyb3VuZC1jb2xvcjojZmNmOGUzO2JvcmRlci1jb2xvcjojOGE2ZDNifS5oYXMtd2FybmluZyAuZm9ybS1jb250cm9sLWZlZWRiYWNre2NvbG9yOiM4YTZkM2J9Lmhhcy1lcnJvciAuY2hlY2tib3gsLmhhcy1lcnJvciAuY2hlY2tib3gtaW5saW5lLC5oYXMtZXJyb3IgLmNvbnRyb2wtbGFiZWwsLmhhcy1lcnJvciAuaGVscC1ibG9jaywuaGFzLWVycm9yIC5yYWRpbywuaGFzLWVycm9yIC5yYWRpby1pbmxpbmUsLmhhcy1lcnJvci5jaGVja2JveCBsYWJlbCwuaGFzLWVycm9yLmNoZWNrYm94LWlubGluZSBsYWJlbCwuaGFzLWVycm9yLnJhZGlvIGxhYmVsLC5oYXMtZXJyb3IucmFkaW8taW5saW5lIGxhYmVse2NvbG9yOiNhOTQ0NDJ9Lmhhcy1lcnJvciAuZm9ybS1jb250cm9se2JvcmRlci1jb2xvcjojYTk0NDQyOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpfS5oYXMtZXJyb3IgLmZvcm0tY29udHJvbDpmb2N1c3tib3JkZXItY29sb3I6Izg0MzUzNDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjY2U4NDgzO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksMCAwIDZweCAjY2U4NDgzfS5oYXMtZXJyb3IgLmlucHV0LWdyb3VwLWFkZG9ue2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZjJkZWRlO2JvcmRlci1jb2xvcjojYTk0NDQyfS5oYXMtZXJyb3IgLmZvcm0tY29udHJvbC1mZWVkYmFja3tjb2xvcjojYTk0NDQyfS5oYXMtZmVlZGJhY2sgbGFiZWx+LmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MjVweH0uaGFzLWZlZWRiYWNrIGxhYmVsLnNyLW9ubHl+LmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MH0uaGVscC1ibG9ja3tkaXNwbGF5OmJsb2NrO21hcmdpbi10b3A6NXB4O21hcmdpbi1ib3R0b206MTBweDtjb2xvcjojNzM3MzczfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZm9ybS1pbmxpbmUgLmZvcm0tZ3JvdXB7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbC1zdGF0aWN7ZGlzcGxheTppbmxpbmUtYmxvY2t9LmZvcm0taW5saW5lIC5pbnB1dC1ncm91cHtkaXNwbGF5OmlubGluZS10YWJsZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0bnt3aWR0aDphdXRvfS5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbHt3aWR0aDoxMDAlfS5mb3JtLWlubGluZSAuY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb3JtLWlubGluZSAuY2hlY2tib3gsLmZvcm0taW5saW5lIC5yYWRpb3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9ybS1pbmxpbmUgLmNoZWNrYm94IGxhYmVsLC5mb3JtLWlubGluZSAucmFkaW8gbGFiZWx7cGFkZGluZy1sZWZ0OjB9LmZvcm0taW5saW5lIC5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSwuZm9ybS1pbmxpbmUgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9de3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1sZWZ0OjB9LmZvcm0taW5saW5lIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MH19LmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gsLmZvcm0taG9yaXpvbnRhbCAuY2hlY2tib3gtaW5saW5lLC5mb3JtLWhvcml6b250YWwgLnJhZGlvLC5mb3JtLWhvcml6b250YWwgLnJhZGlvLWlubGluZXtwYWRkaW5nLXRvcDo3cHg7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206MH0uZm9ybS1ob3Jpem9udGFsIC5jaGVja2JveCwuZm9ybS1ob3Jpem9udGFsIC5yYWRpb3ttaW4taGVpZ2h0OjI3cHh9LmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cHttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5mb3JtLWhvcml6b250YWwgLmNvbnRyb2wtbGFiZWx7cGFkZGluZy10b3A6N3B4O21hcmdpbi1ib3R0b206MDt0ZXh0LWFsaWduOnJpZ2h0fX0uZm9ybS1ob3Jpem9udGFsIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFja3tyaWdodDoxNXB4fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLWxnIC5jb250cm9sLWxhYmVse3BhZGRpbmctdG9wOjExcHg7Zm9udC1zaXplOjE4cHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwLXNtIC5jb250cm9sLWxhYmVse3BhZGRpbmctdG9wOjZweDtmb250LXNpemU6MTJweH19LmJ0bntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nOjZweCAxMnB4O21hcmdpbi1ib3R0b206MDtmb250LXNpemU6MTRweDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mzt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246bWlkZGxlOy1tcy10b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO3RvdWNoLWFjdGlvbjptYW5pcHVsYXRpb247Y3Vyc29yOnBvaW50ZXI7LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NHB4fS5idG4uYWN0aXZlLmZvY3VzLC5idG4uYWN0aXZlOmZvY3VzLC5idG4uZm9jdXMsLmJ0bjphY3RpdmUuZm9jdXMsLmJ0bjphY3RpdmU6Zm9jdXMsLmJ0bjpmb2N1c3tvdXRsaW5lOnRoaW4gZG90dGVkO291dGxpbmU6NXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO291dGxpbmUtb2Zmc2V0Oi0ycHh9LmJ0bi5mb2N1cywuYnRuOmZvY3VzLC5idG46aG92ZXJ7Y29sb3I6IzMzMzt0ZXh0LWRlY29yYXRpb246bm9uZX0uYnRuLmFjdGl2ZSwuYnRuOmFjdGl2ZXtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7b3V0bGluZTowOy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KTtib3gtc2hhZG93Omluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpfS5idG4uZGlzYWJsZWQsLmJ0bltkaXNhYmxlZF0sZmllbGRzZXRbZGlzYWJsZWRdIC5idG57Y3Vyc29yOm5vdC1hbGxvd2VkO2ZpbHRlcjphbHBoYShvcGFjaXR5PTY1KTstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmU7b3BhY2l0eTouNjV9YS5idG4uZGlzYWJsZWQsZmllbGRzZXRbZGlzYWJsZWRdIGEuYnRue3BvaW50ZXItZXZlbnRzOm5vbmV9LmJ0bi1kZWZhdWx0e2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1jb2xvcjojY2NjfS5idG4tZGVmYXVsdC5mb2N1cywuYnRuLWRlZmF1bHQ6Zm9jdXN7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOiM4YzhjOGN9LmJ0bi1kZWZhdWx0OmhvdmVye2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZTZlNmU2O2JvcmRlci1jb2xvcjojYWRhZGFkfS5idG4tZGVmYXVsdC5hY3RpdmUsLmJ0bi1kZWZhdWx0OmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0e2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZTZlNmU2O2JvcmRlci1jb2xvcjojYWRhZGFkfS5idG4tZGVmYXVsdC5hY3RpdmUuZm9jdXMsLmJ0bi1kZWZhdWx0LmFjdGl2ZTpmb2N1cywuYnRuLWRlZmF1bHQuYWN0aXZlOmhvdmVyLC5idG4tZGVmYXVsdDphY3RpdmUuZm9jdXMsLmJ0bi1kZWZhdWx0OmFjdGl2ZTpmb2N1cywuYnRuLWRlZmF1bHQ6YWN0aXZlOmhvdmVyLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQuZm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdDpmb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0OmhvdmVye2NvbG9yOiMzMzM7YmFja2dyb3VuZC1jb2xvcjojZDRkNGQ0O2JvcmRlci1jb2xvcjojOGM4YzhjfS5idG4tZGVmYXVsdC5hY3RpdmUsLmJ0bi1kZWZhdWx0OmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0e2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uYnRuLWRlZmF1bHQuZGlzYWJsZWQuZm9jdXMsLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmZvY3VzLC5idG4tZGVmYXVsdC5kaXNhYmxlZDpob3ZlciwuYnRuLWRlZmF1bHRbZGlzYWJsZWRdLmZvY3VzLC5idG4tZGVmYXVsdFtkaXNhYmxlZF06Zm9jdXMsLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0LmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQ6Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNjY2N9LmJ0bi1kZWZhdWx0IC5iYWRnZXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzM30uYnRuLXByaW1hcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMyZTZkYTR9LmJ0bi1wcmltYXJ5LmZvY3VzLC5idG4tcHJpbWFyeTpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4NjA5MDtib3JkZXItY29sb3I6IzEyMmI0MH0uYnRuLXByaW1hcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTA7Ym9yZGVyLWNvbG9yOiMyMDRkNzR9LmJ0bi1wcmltYXJ5LmFjdGl2ZSwuYnRuLXByaW1hcnk6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnl7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyODYwOTA7Ym9yZGVyLWNvbG9yOiMyMDRkNzR9LmJ0bi1wcmltYXJ5LmFjdGl2ZS5mb2N1cywuYnRuLXByaW1hcnkuYWN0aXZlOmZvY3VzLC5idG4tcHJpbWFyeS5hY3RpdmU6aG92ZXIsLmJ0bi1wcmltYXJ5OmFjdGl2ZS5mb2N1cywuYnRuLXByaW1hcnk6YWN0aXZlOmZvY3VzLC5idG4tcHJpbWFyeTphY3RpdmU6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeS5mb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5OmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnk6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMyMDRkNzQ7Ym9yZGVyLWNvbG9yOiMxMjJiNDB9LmJ0bi1wcmltYXJ5LmFjdGl2ZSwuYnRuLXByaW1hcnk6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXByaW1hcnl7YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4tcHJpbWFyeS5kaXNhYmxlZC5mb2N1cywuYnRuLXByaW1hcnkuZGlzYWJsZWQ6Zm9jdXMsLmJ0bi1wcmltYXJ5LmRpc2FibGVkOmhvdmVyLC5idG4tcHJpbWFyeVtkaXNhYmxlZF0uZm9jdXMsLmJ0bi1wcmltYXJ5W2Rpc2FibGVkXTpmb2N1cywuYnRuLXByaW1hcnlbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXByaW1hcnkuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tcHJpbWFyeTpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1wcmltYXJ5OmhvdmVye2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzJlNmRhNH0uYnRuLXByaW1hcnkgLmJhZGdle2NvbG9yOiMzMzdhYjc7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5idG4tc3VjY2Vzc3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzVjYjg1Yztib3JkZXItY29sb3I6IzRjYWU0Y30uYnRuLXN1Y2Nlc3MuZm9jdXMsLmJ0bi1zdWNjZXNzOmZvY3Vze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNDQ5ZDQ0O2JvcmRlci1jb2xvcjojMjU1NjI1fS5idG4tc3VjY2Vzczpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzQ0OWQ0NDtib3JkZXItY29sb3I6IzM5ODQzOX0uYnRuLXN1Y2Nlc3MuYWN0aXZlLC5idG4tc3VjY2VzczphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzc3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzQ0OWQ0NDtib3JkZXItY29sb3I6IzM5ODQzOX0uYnRuLXN1Y2Nlc3MuYWN0aXZlLmZvY3VzLC5idG4tc3VjY2Vzcy5hY3RpdmU6Zm9jdXMsLmJ0bi1zdWNjZXNzLmFjdGl2ZTpob3ZlciwuYnRuLXN1Y2Nlc3M6YWN0aXZlLmZvY3VzLC5idG4tc3VjY2VzczphY3RpdmU6Zm9jdXMsLmJ0bi1zdWNjZXNzOmFjdGl2ZTpob3Zlciwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1zdWNjZXNzLmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXN1Y2Nlc3M6Zm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzczpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzM5ODQzOTtib3JkZXItY29sb3I6IzI1NTYyNX0uYnRuLXN1Y2Nlc3MuYWN0aXZlLC5idG4tc3VjY2VzczphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tc3VjY2Vzc3tiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LmJ0bi1zdWNjZXNzLmRpc2FibGVkLmZvY3VzLC5idG4tc3VjY2Vzcy5kaXNhYmxlZDpmb2N1cywuYnRuLXN1Y2Nlc3MuZGlzYWJsZWQ6aG92ZXIsLmJ0bi1zdWNjZXNzW2Rpc2FibGVkXS5mb2N1cywuYnRuLXN1Y2Nlc3NbZGlzYWJsZWRdOmZvY3VzLC5idG4tc3VjY2Vzc1tkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tc3VjY2Vzcy5mb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1zdWNjZXNzOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXN1Y2Nlc3M6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNWNiODVjO2JvcmRlci1jb2xvcjojNGNhZTRjfS5idG4tc3VjY2VzcyAuYmFkZ2V7Y29sb3I6IzVjYjg1YztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmJ0bi1pbmZve2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojNWJjMGRlO2JvcmRlci1jb2xvcjojNDZiOGRhfS5idG4taW5mby5mb2N1cywuYnRuLWluZm86Zm9jdXN7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMWIwZDU7Ym9yZGVyLWNvbG9yOiMxYjZkODV9LmJ0bi1pbmZvOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzFiMGQ1O2JvcmRlci1jb2xvcjojMjY5YWJjfS5idG4taW5mby5hY3RpdmUsLmJ0bi1pbmZvOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZve2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMzFiMGQ1O2JvcmRlci1jb2xvcjojMjY5YWJjfS5idG4taW5mby5hY3RpdmUuZm9jdXMsLmJ0bi1pbmZvLmFjdGl2ZTpmb2N1cywuYnRuLWluZm8uYWN0aXZlOmhvdmVyLC5idG4taW5mbzphY3RpdmUuZm9jdXMsLmJ0bi1pbmZvOmFjdGl2ZTpmb2N1cywuYnRuLWluZm86YWN0aXZlOmhvdmVyLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWluZm8uZm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4taW5mbzpmb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZvOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMjY5YWJjO2JvcmRlci1jb2xvcjojMWI2ZDg1fS5idG4taW5mby5hY3RpdmUsLmJ0bi1pbmZvOmFjdGl2ZSwub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1pbmZve2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uYnRuLWluZm8uZGlzYWJsZWQuZm9jdXMsLmJ0bi1pbmZvLmRpc2FibGVkOmZvY3VzLC5idG4taW5mby5kaXNhYmxlZDpob3ZlciwuYnRuLWluZm9bZGlzYWJsZWRdLmZvY3VzLC5idG4taW5mb1tkaXNhYmxlZF06Zm9jdXMsLmJ0bi1pbmZvW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1pbmZvLmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWluZm86Zm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4taW5mbzpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM1YmMwZGU7Ym9yZGVyLWNvbG9yOiM0NmI4ZGF9LmJ0bi1pbmZvIC5iYWRnZXtjb2xvcjojNWJjMGRlO2JhY2tncm91bmQtY29sb3I6I2ZmZn0uYnRuLXdhcm5pbmd7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNmMGFkNGU7Ym9yZGVyLWNvbG9yOiNlZWEyMzZ9LmJ0bi13YXJuaW5nLmZvY3VzLC5idG4td2FybmluZzpmb2N1c3tjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6I2VjOTcxZjtib3JkZXItY29sb3I6Izk4NWYwZH0uYnRuLXdhcm5pbmc6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNlYzk3MWY7Ym9yZGVyLWNvbG9yOiNkNTg1MTJ9LmJ0bi13YXJuaW5nLmFjdGl2ZSwuYnRuLXdhcm5pbmc6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmd7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNlYzk3MWY7Ym9yZGVyLWNvbG9yOiNkNTg1MTJ9LmJ0bi13YXJuaW5nLmFjdGl2ZS5mb2N1cywuYnRuLXdhcm5pbmcuYWN0aXZlOmZvY3VzLC5idG4td2FybmluZy5hY3RpdmU6aG92ZXIsLmJ0bi13YXJuaW5nOmFjdGl2ZS5mb2N1cywuYnRuLXdhcm5pbmc6YWN0aXZlOmZvY3VzLC5idG4td2FybmluZzphY3RpdmU6aG92ZXIsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4td2FybmluZy5mb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi13YXJuaW5nOmZvY3VzLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmc6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiNkNTg1MTI7Ym9yZGVyLWNvbG9yOiM5ODVmMGR9LmJ0bi13YXJuaW5nLmFjdGl2ZSwuYnRuLXdhcm5pbmc6YWN0aXZlLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLXdhcm5pbmd7YmFja2dyb3VuZC1pbWFnZTpub25lfS5idG4td2FybmluZy5kaXNhYmxlZC5mb2N1cywuYnRuLXdhcm5pbmcuZGlzYWJsZWQ6Zm9jdXMsLmJ0bi13YXJuaW5nLmRpc2FibGVkOmhvdmVyLC5idG4td2FybmluZ1tkaXNhYmxlZF0uZm9jdXMsLmJ0bi13YXJuaW5nW2Rpc2FibGVkXTpmb2N1cywuYnRuLXdhcm5pbmdbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLXdhcm5pbmcuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4td2FybmluZzpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi13YXJuaW5nOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2YwYWQ0ZTtib3JkZXItY29sb3I6I2VlYTIzNn0uYnRuLXdhcm5pbmcgLmJhZGdle2NvbG9yOiNmMGFkNGU7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5idG4tZGFuZ2Vye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojZDk1MzRmO2JvcmRlci1jb2xvcjojZDQzZjNhfS5idG4tZGFuZ2VyLmZvY3VzLC5idG4tZGFuZ2VyOmZvY3Vze2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYzkzMDJjO2JvcmRlci1jb2xvcjojNzYxYzE5fS5idG4tZGFuZ2VyOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYzkzMDJjO2JvcmRlci1jb2xvcjojYWMyOTI1fS5idG4tZGFuZ2VyLmFjdGl2ZSwuYnRuLWRhbmdlcjphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2Vye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYzkzMDJjO2JvcmRlci1jb2xvcjojYWMyOTI1fS5idG4tZGFuZ2VyLmFjdGl2ZS5mb2N1cywuYnRuLWRhbmdlci5hY3RpdmU6Zm9jdXMsLmJ0bi1kYW5nZXIuYWN0aXZlOmhvdmVyLC5idG4tZGFuZ2VyOmFjdGl2ZS5mb2N1cywuYnRuLWRhbmdlcjphY3RpdmU6Zm9jdXMsLmJ0bi1kYW5nZXI6YWN0aXZlOmhvdmVyLC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRhbmdlci5mb2N1cywub3Blbj4uZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYW5nZXI6Zm9jdXMsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2VyOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYWMyOTI1O2JvcmRlci1jb2xvcjojNzYxYzE5fS5idG4tZGFuZ2VyLmFjdGl2ZSwuYnRuLWRhbmdlcjphY3RpdmUsLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFuZ2Vye2JhY2tncm91bmQtaW1hZ2U6bm9uZX0uYnRuLWRhbmdlci5kaXNhYmxlZC5mb2N1cywuYnRuLWRhbmdlci5kaXNhYmxlZDpmb2N1cywuYnRuLWRhbmdlci5kaXNhYmxlZDpob3ZlciwuYnRuLWRhbmdlcltkaXNhYmxlZF0uZm9jdXMsLmJ0bi1kYW5nZXJbZGlzYWJsZWRdOmZvY3VzLC5idG4tZGFuZ2VyW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYW5nZXIuZm9jdXMsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFuZ2VyOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhbmdlcjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkOTUzNGY7Ym9yZGVyLWNvbG9yOiNkNDNmM2F9LmJ0bi1kYW5nZXIgLmJhZGdle2NvbG9yOiNkOTUzNGY7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5idG4tbGlua3tmb250LXdlaWdodDo0MDA7Y29sb3I6IzMzN2FiNztib3JkZXItcmFkaXVzOjB9LmJ0bi1saW5rLC5idG4tbGluay5hY3RpdmUsLmJ0bi1saW5rOmFjdGl2ZSwuYnRuLWxpbmtbZGlzYWJsZWRdLGZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWxpbmt7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9LmJ0bi1saW5rLC5idG4tbGluazphY3RpdmUsLmJ0bi1saW5rOmZvY3VzLC5idG4tbGluazpob3Zlcntib3JkZXItY29sb3I6dHJhbnNwYXJlbnR9LmJ0bi1saW5rOmZvY3VzLC5idG4tbGluazpob3Zlcntjb2xvcjojMjM1MjdjO3RleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0uYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLC5idG4tbGlua1tkaXNhYmxlZF06aG92ZXIsZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tbGluazpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1saW5rOmhvdmVye2NvbG9yOiM3Nzc7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LmJ0bi1ncm91cC1sZz4uYnRuLC5idG4tbGd7cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS4zMzMzMzMzO2JvcmRlci1yYWRpdXM6NnB4fS5idG4tZ3JvdXAtc20+LmJ0biwuYnRuLXNte3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6M3B4fS5idG4tZ3JvdXAteHM+LmJ0biwuYnRuLXhze3BhZGRpbmc6MXB4IDVweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czozcHh9LmJ0bi1ibG9ja3tkaXNwbGF5OmJsb2NrO3dpZHRoOjEwMCV9LmJ0bi1ibG9jaysuYnRuLWJsb2Nre21hcmdpbi10b3A6NXB4fWlucHV0W3R5cGU9YnV0dG9uXS5idG4tYmxvY2ssaW5wdXRbdHlwZT1yZXNldF0uYnRuLWJsb2NrLGlucHV0W3R5cGU9c3VibWl0XS5idG4tYmxvY2t7d2lkdGg6MTAwJX0uZmFkZXtvcGFjaXR5OjA7LXdlYmtpdC10cmFuc2l0aW9uOm9wYWNpdHkgLjE1cyBsaW5lYXI7LW8tdHJhbnNpdGlvbjpvcGFjaXR5IC4xNXMgbGluZWFyO3RyYW5zaXRpb246b3BhY2l0eSAuMTVzIGxpbmVhcn0uZmFkZS5pbntvcGFjaXR5OjF9LmNvbGxhcHNle2Rpc3BsYXk6bm9uZX0uY29sbGFwc2UuaW57ZGlzcGxheTpibG9ja310ci5jb2xsYXBzZS5pbntkaXNwbGF5OnRhYmxlLXJvd310Ym9keS5jb2xsYXBzZS5pbntkaXNwbGF5OnRhYmxlLXJvdy1ncm91cH0uY29sbGFwc2luZ3twb3NpdGlvbjpyZWxhdGl2ZTtoZWlnaHQ6MDtvdmVyZmxvdzpoaWRkZW47LXdlYmtpdC10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjplYXNlOy1vLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOmVhc2U7dHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ZWFzZTstd2Via2l0LXRyYW5zaXRpb24tZHVyYXRpb246LjM1czstby10cmFuc2l0aW9uLWR1cmF0aW9uOi4zNXM7dHJhbnNpdGlvbi1kdXJhdGlvbjouMzVzOy13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTpoZWlnaHQsdmlzaWJpbGl0eTstby10cmFuc2l0aW9uLXByb3BlcnR5OmhlaWdodCx2aXNpYmlsaXR5O3RyYW5zaXRpb24tcHJvcGVydHk6aGVpZ2h0LHZpc2liaWxpdHl9LmNhcmV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOjA7aGVpZ2h0OjA7bWFyZ2luLWxlZnQ6MnB4O3ZlcnRpY2FsLWFsaWduOm1pZGRsZTtib3JkZXItdG9wOjRweCBkYXNoZWQ7Ym9yZGVyLXRvcDo0cHggc29saWRcOTtib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudH0uZHJvcGRvd24sLmRyb3B1cHtwb3NpdGlvbjpyZWxhdGl2ZX0uZHJvcGRvd24tdG9nZ2xlOmZvY3Vze291dGxpbmU6MH0uZHJvcGRvd24tbWVudXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MTAwJTtsZWZ0OjA7ei1pbmRleDoxMDAwO2Rpc3BsYXk6bm9uZTtmbG9hdDpsZWZ0O21pbi13aWR0aDoxNjBweDtwYWRkaW5nOjVweCAwO21hcmdpbjoycHggMCAwO2ZvbnQtc2l6ZToxNHB4O3RleHQtYWxpZ246bGVmdDtsaXN0LXN0eWxlOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZmZmOy13ZWJraXQtYmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtib3JkZXI6MXB4IHNvbGlkICNjY2M7Ym9yZGVyOjFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSk7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93OjAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KTtib3gtc2hhZG93OjAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KX0uZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wZG93bi1tZW51IC5kaXZpZGVye2hlaWdodDoxcHg7bWFyZ2luOjlweCAwO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNlNWU1ZTV9LmRyb3Bkb3duLW1lbnU+bGk+YXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6M3B4IDIwcHg7Y2xlYXI6Ym90aDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojMzMzO3doaXRlLXNwYWNlOm5vd3JhcH0uZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5kcm9wZG93bi1tZW51PmxpPmE6aG92ZXJ7Y29sb3I6IzI2MjYyNjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9LmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hLC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpmb2N1cywuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7b3V0bGluZTowfS5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hLC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmZvY3VzLC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM3Nzd9LmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6Zm9jdXMsLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoZW5hYmxlZD1mYWxzZSl9Lm9wZW4+LmRyb3Bkb3duLW1lbnV7ZGlzcGxheTpibG9ja30ub3Blbj5he291dGxpbmU6MH0uZHJvcGRvd24tbWVudS1yaWdodHtyaWdodDowO2xlZnQ6YXV0b30uZHJvcGRvd24tbWVudS1sZWZ0e3JpZ2h0OmF1dG87bGVmdDowfS5kcm9wZG93bi1oZWFkZXJ7ZGlzcGxheTpibG9jaztwYWRkaW5nOjNweCAyMHB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6Izc3Nzt3aGl0ZS1zcGFjZTpub3dyYXB9LmRyb3Bkb3duLWJhY2tkcm9we3Bvc2l0aW9uOmZpeGVkO3RvcDowO3JpZ2h0OjA7Ym90dG9tOjA7bGVmdDowO3otaW5kZXg6OTkwfS5wdWxsLXJpZ2h0Pi5kcm9wZG93bi1tZW51e3JpZ2h0OjA7bGVmdDphdXRvfS5kcm9wdXAgLmNhcmV0LC5uYXZiYXItZml4ZWQtYm90dG9tIC5kcm9wZG93biAuY2FyZXR7Y29udGVudDoiIjtib3JkZXItdG9wOjA7Ym9yZGVyLWJvdHRvbTo0cHggZGFzaGVkO2JvcmRlci1ib3R0b206NHB4IHNvbGlkXDl9LmRyb3B1cCAuZHJvcGRvd24tbWVudSwubmF2YmFyLWZpeGVkLWJvdHRvbSAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87Ym90dG9tOjEwMCU7bWFyZ2luLWJvdHRvbToycHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItcmlnaHQgLmRyb3Bkb3duLW1lbnV7cmlnaHQ6MDtsZWZ0OmF1dG99Lm5hdmJhci1yaWdodCAuZHJvcGRvd24tbWVudS1sZWZ0e3JpZ2h0OmF1dG87bGVmdDowfX0uYnRuLWdyb3VwLC5idG4tZ3JvdXAtdmVydGljYWx7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTppbmxpbmUtYmxvY2s7dmVydGljYWwtYWxpZ246bWlkZGxlfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0biwuYnRuLWdyb3VwPi5idG57cG9zaXRpb246cmVsYXRpdmU7ZmxvYXQ6bGVmdH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4uYWN0aXZlLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjphY3RpdmUsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmZvY3VzLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpob3ZlciwuYnRuLWdyb3VwPi5idG4uYWN0aXZlLC5idG4tZ3JvdXA+LmJ0bjphY3RpdmUsLmJ0bi1ncm91cD4uYnRuOmZvY3VzLC5idG4tZ3JvdXA+LmJ0bjpob3Zlcnt6LWluZGV4OjJ9LmJ0bi1ncm91cCAuYnRuKy5idG4sLmJ0bi1ncm91cCAuYnRuKy5idG4tZ3JvdXAsLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4sLmJ0bi1ncm91cCAuYnRuLWdyb3VwKy5idG4tZ3JvdXB7bWFyZ2luLWxlZnQ6LTFweH0uYnRuLXRvb2xiYXJ7bWFyZ2luLWxlZnQ6LTVweH0uYnRuLXRvb2xiYXIgLmJ0biwuYnRuLXRvb2xiYXIgLmJ0bi1ncm91cCwuYnRuLXRvb2xiYXIgLmlucHV0LWdyb3Vwe2Zsb2F0OmxlZnR9LmJ0bi10b29sYmFyPi5idG4sLmJ0bi10b29sYmFyPi5idG4tZ3JvdXAsLmJ0bi10b29sYmFyPi5pbnB1dC1ncm91cHttYXJnaW4tbGVmdDo1cHh9LmJ0bi1ncm91cD4uYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpe2JvcmRlci1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG46Zmlyc3QtY2hpbGR7bWFyZ2luLWxlZnQ6MH0uYnRuLWdyb3VwPi5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLC5idG4tZ3JvdXA+LmRyb3Bkb3duLXRvZ2dsZTpub3QoOmZpcnN0LWNoaWxkKXtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bi1ncm91cHtmbG9hdDpsZWZ0fS5idG4tZ3JvdXA+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpPi5idG57Ym9yZGVyLXJhZGl1czowfS5idG4tZ3JvdXA+LmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpPi5idG46bGFzdC1jaGlsZCwuYnRuLWdyb3VwPi5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKT4uZHJvcGRvd24tdG9nZ2xle2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6MH0uYnRuLWdyb3VwPi5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSwuYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZXtvdXRsaW5lOjB9LmJ0bi1ncm91cD4uYnRuKy5kcm9wZG93bi10b2dnbGV7cGFkZGluZy1yaWdodDo4cHg7cGFkZGluZy1sZWZ0OjhweH0uYnRuLWdyb3VwPi5idG4tbGcrLmRyb3Bkb3duLXRvZ2dsZXtwYWRkaW5nLXJpZ2h0OjEycHg7cGFkZGluZy1sZWZ0OjEycHh9LmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGV7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpO2JveC1zaGFkb3c6aW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSl9LmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUuYnRuLWxpbmt7LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7Ym94LXNoYWRvdzpub25lfS5idG4gLmNhcmV0e21hcmdpbi1sZWZ0OjB9LmJ0bi1sZyAuY2FyZXR7Ym9yZGVyLXdpZHRoOjVweCA1cHggMDtib3JkZXItYm90dG9tLXdpZHRoOjB9LmRyb3B1cCAuYnRuLWxnIC5jYXJldHtib3JkZXItd2lkdGg6MCA1cHggNXB4fS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXAsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwPi5idG57ZGlzcGxheTpibG9jaztmbG9hdDpub25lO3dpZHRoOjEwMCU7bWF4LXdpZHRoOjEwMCV9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwPi5idG57ZmxvYXQ6bm9uZX0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4rLmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4rLmJ0bi1ncm91cCwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXArLmJ0biwuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXArLmJ0bi1ncm91cHttYXJnaW4tdG9wOi0xcHg7bWFyZ2luLWxlZnQ6MH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG46bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKXtib3JkZXItcmFkaXVzOjB9LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpe2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjRweH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKT4uYnRue2JvcmRlci1yYWRpdXM6MH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKT4uYnRuOmxhc3QtY2hpbGQsLmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOmZpcnN0LWNoaWxkOm5vdCg6bGFzdC1jaGlsZCk+LmRyb3Bkb3duLXRvZ2dsZXtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6MH0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5idG4tZ3JvdXAtanVzdGlmaWVke2Rpc3BsYXk6dGFibGU7d2lkdGg6MTAwJTt0YWJsZS1sYXlvdXQ6Zml4ZWQ7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlfS5idG4tZ3JvdXAtanVzdGlmaWVkPi5idG4sLmJ0bi1ncm91cC1qdXN0aWZpZWQ+LmJ0bi1ncm91cHtkaXNwbGF5OnRhYmxlLWNlbGw7ZmxvYXQ6bm9uZTt3aWR0aDoxJX0uYnRuLWdyb3VwLWp1c3RpZmllZD4uYnRuLWdyb3VwIC5idG57d2lkdGg6MTAwJX0uYnRuLWdyb3VwLWp1c3RpZmllZD4uYnRuLWdyb3VwIC5kcm9wZG93bi1tZW51e2xlZnQ6YXV0b31bZGF0YS10b2dnbGU9YnV0dG9uc10+LmJ0biBpbnB1dFt0eXBlPWNoZWNrYm94XSxbZGF0YS10b2dnbGU9YnV0dG9uc10+LmJ0biBpbnB1dFt0eXBlPXJhZGlvXSxbZGF0YS10b2dnbGU9YnV0dG9uc10+LmJ0bi1ncm91cD4uYnRuIGlucHV0W3R5cGU9Y2hlY2tib3hdLFtkYXRhLXRvZ2dsZT1idXR0b25zXT4uYnRuLWdyb3VwPi5idG4gaW5wdXRbdHlwZT1yYWRpb117cG9zaXRpb246YWJzb2x1dGU7Y2xpcDpyZWN0KDAsMCwwLDApO3BvaW50ZXItZXZlbnRzOm5vbmV9LmlucHV0LWdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6dGFibGU7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlfS5pbnB1dC1ncm91cFtjbGFzcyo9Y29sLV17ZmxvYXQ6bm9uZTtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2x7cG9zaXRpb246cmVsYXRpdmU7ei1pbmRleDoyO2Zsb2F0OmxlZnQ7d2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjB9LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6Zm9jdXN7ei1pbmRleDozfS5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLC5pbnB1dC1ncm91cC1sZz4uaW5wdXQtZ3JvdXAtYWRkb24sLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6NDZweDtwYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzM7Ym9yZGVyLXJhZGl1czo2cHh9c2VsZWN0LmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2wsc2VsZWN0LmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1hZGRvbixzZWxlY3QuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWJ0bj4uYnRue2hlaWdodDo0NnB4O2xpbmUtaGVpZ2h0OjQ2cHh9c2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1sZz4uZm9ybS1jb250cm9sLHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFkZG9uLHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWJ0bj4uYnRuLHRleHRhcmVhLmlucHV0LWdyb3VwLWxnPi5mb3JtLWNvbnRyb2wsdGV4dGFyZWEuaW5wdXQtZ3JvdXAtbGc+LmlucHV0LWdyb3VwLWFkZG9uLHRleHRhcmVhLmlucHV0LWdyb3VwLWxnPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6YXV0b30uaW5wdXQtZ3JvdXAtc20+LmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFkZG9uLC5pbnB1dC1ncm91cC1zbT4uaW5wdXQtZ3JvdXAtYnRuPi5idG57aGVpZ2h0OjMwcHg7cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjU7Ym9yZGVyLXJhZGl1czozcHh9c2VsZWN0LmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wsc2VsZWN0LmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1hZGRvbixzZWxlY3QuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWJ0bj4uYnRue2hlaWdodDozMHB4O2xpbmUtaGVpZ2h0OjMwcHh9c2VsZWN0W211bHRpcGxlXS5pbnB1dC1ncm91cC1zbT4uZm9ybS1jb250cm9sLHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFkZG9uLHNlbGVjdFttdWx0aXBsZV0uaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWJ0bj4uYnRuLHRleHRhcmVhLmlucHV0LWdyb3VwLXNtPi5mb3JtLWNvbnRyb2wsdGV4dGFyZWEuaW5wdXQtZ3JvdXAtc20+LmlucHV0LWdyb3VwLWFkZG9uLHRleHRhcmVhLmlucHV0LWdyb3VwLXNtPi5pbnB1dC1ncm91cC1idG4+LmJ0bntoZWlnaHQ6YXV0b30uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCwuaW5wdXQtZ3JvdXAtYWRkb24sLmlucHV0LWdyb3VwLWJ0bntkaXNwbGF5OnRhYmxlLWNlbGx9LmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSwuaW5wdXQtZ3JvdXAtYWRkb246bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSwuaW5wdXQtZ3JvdXAtYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCl7Ym9yZGVyLXJhZGl1czowfS5pbnB1dC1ncm91cC1hZGRvbiwuaW5wdXQtZ3JvdXAtYnRue3dpZHRoOjElO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmlucHV0LWdyb3VwLWFkZG9ue3BhZGRpbmc6NnB4IDEycHg7Zm9udC1zaXplOjE0cHg7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzU1NTt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiNlZWU7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6NHB4fS5pbnB1dC1ncm91cC1hZGRvbi5pbnB1dC1zbXtwYWRkaW5nOjVweCAxMHB4O2ZvbnQtc2l6ZToxMnB4O2JvcmRlci1yYWRpdXM6M3B4fS5pbnB1dC1ncm91cC1hZGRvbi5pbnB1dC1sZ3twYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtib3JkZXItcmFkaXVzOjZweH0uaW5wdXQtZ3JvdXAtYWRkb24gaW5wdXRbdHlwZT1jaGVja2JveF0sLmlucHV0LWdyb3VwLWFkZG9uIGlucHV0W3R5cGU9cmFkaW9de21hcmdpbi10b3A6MH0uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCwuaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQsLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZD4uYnRuLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0bi1ncm91cD4uYnRuLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmRyb3Bkb3duLXRvZ2dsZSwuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZHtib3JkZXItcmlnaHQ6MH0uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLC5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKT4uYnRuLC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmJ0bi1ncm91cD4uYnRuLC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uZHJvcGRvd24tdG9nZ2xle2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGR7Ym9yZGVyLWxlZnQ6MH0uaW5wdXQtZ3JvdXAtYnRue3Bvc2l0aW9uOnJlbGF0aXZlO2ZvbnQtc2l6ZTowO3doaXRlLXNwYWNlOm5vd3JhcH0uaW5wdXQtZ3JvdXAtYnRuPi5idG57cG9zaXRpb246cmVsYXRpdmV9LmlucHV0LWdyb3VwLWJ0bj4uYnRuKy5idG57bWFyZ2luLWxlZnQ6LTFweH0uaW5wdXQtZ3JvdXAtYnRuPi5idG46YWN0aXZlLC5pbnB1dC1ncm91cC1idG4+LmJ0bjpmb2N1cywuaW5wdXQtZ3JvdXAtYnRuPi5idG46aG92ZXJ7ei1pbmRleDoyfS5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0biwuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG4tZ3JvdXB7bWFyZ2luLXJpZ2h0Oi0xcHh9LmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4sLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4tZ3JvdXB7ei1pbmRleDoyO21hcmdpbi1sZWZ0Oi0xcHh9Lm5hdntwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjA7bGlzdC1zdHlsZTpub25lfS5uYXY+bGl7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9ja30ubmF2PmxpPmF7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztwYWRkaW5nOjEwcHggMTVweH0ubmF2PmxpPmE6Zm9jdXMsLm5hdj5saT5hOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lO2JhY2tncm91bmQtY29sb3I6I2VlZX0ubmF2PmxpLmRpc2FibGVkPmF7Y29sb3I6Izc3N30ubmF2PmxpLmRpc2FibGVkPmE6Zm9jdXMsLm5hdj5saS5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM3Nzc7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Y3Vyc29yOm5vdC1hbGxvd2VkO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdiAub3Blbj5hLC5uYXYgLm9wZW4+YTpmb2N1cywubmF2IC5vcGVuPmE6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlci1jb2xvcjojMzM3YWI3fS5uYXYgLm5hdi1kaXZpZGVye2hlaWdodDoxcHg7bWFyZ2luOjlweCAwO292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNlNWU1ZTV9Lm5hdj5saT5hPmltZ3ttYXgtd2lkdGg6bm9uZX0ubmF2LXRhYnN7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH0ubmF2LXRhYnM+bGl7ZmxvYXQ6bGVmdDttYXJnaW4tYm90dG9tOi0xcHh9Lm5hdi10YWJzPmxpPmF7bWFyZ2luLXJpZ2h0OjJweDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHggNHB4IDAgMH0ubmF2LXRhYnM+bGk+YTpob3Zlcntib3JkZXItY29sb3I6I2VlZSAjZWVlICNkZGR9Lm5hdi10YWJzPmxpLmFjdGl2ZT5hLC5uYXYtdGFicz5saS5hY3RpdmU+YTpmb2N1cywubmF2LXRhYnM+bGkuYWN0aXZlPmE6aG92ZXJ7Y29sb3I6IzU1NTtjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1ib3R0b20tY29sb3I6dHJhbnNwYXJlbnR9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWR7d2lkdGg6MTAwJTtib3JkZXItYm90dG9tOjB9Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+bGl7ZmxvYXQ6bm9uZX0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD5saT5he21hcmdpbi1ib3R0b206NXB4O3RleHQtYWxpZ246Y2VudGVyfS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5kcm9wZG93biAuZHJvcGRvd24tbWVudXt0b3A6YXV0bztsZWZ0OmF1dG99QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXYtdGFicy5uYXYtanVzdGlmaWVkPmxpe2Rpc3BsYXk6dGFibGUtY2VsbDt3aWR0aDoxJX0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD5saT5he21hcmdpbi1ib3R0b206MH19Lm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tcmlnaHQ6MDtib3JkZXItcmFkaXVzOjRweH0ubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uYWN0aXZlPmEsLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmZvY3VzLC5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5hY3RpdmU+YTpob3Zlcntib3JkZXI6MXB4IHNvbGlkICNkZGR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXYtdGFicy5uYXYtanVzdGlmaWVkPmxpPmF7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjRweCA0cHggMCAwfS5uYXYtdGFicy5uYXYtanVzdGlmaWVkPi5hY3RpdmU+YSwubmF2LXRhYnMubmF2LWp1c3RpZmllZD4uYWN0aXZlPmE6Zm9jdXMsLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQ+LmFjdGl2ZT5hOmhvdmVye2JvcmRlci1ib3R0b20tY29sb3I6I2ZmZn19Lm5hdi1waWxscz5saXtmbG9hdDpsZWZ0fS5uYXYtcGlsbHM+bGk+YXtib3JkZXItcmFkaXVzOjRweH0ubmF2LXBpbGxzPmxpK2xpe21hcmdpbi1sZWZ0OjJweH0ubmF2LXBpbGxzPmxpLmFjdGl2ZT5hLC5uYXYtcGlsbHM+bGkuYWN0aXZlPmE6Zm9jdXMsLm5hdi1waWxscz5saS5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzN2FiN30ubmF2LXN0YWNrZWQ+bGl7ZmxvYXQ6bm9uZX0ubmF2LXN0YWNrZWQ+bGkrbGl7bWFyZ2luLXRvcDoycHg7bWFyZ2luLWxlZnQ6MH0ubmF2LWp1c3RpZmllZHt3aWR0aDoxMDAlfS5uYXYtanVzdGlmaWVkPmxpe2Zsb2F0Om5vbmV9Lm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tYm90dG9tOjVweDt0ZXh0LWFsaWduOmNlbnRlcn0ubmF2LWp1c3RpZmllZD4uZHJvcGRvd24gLmRyb3Bkb3duLW1lbnV7dG9wOmF1dG87bGVmdDphdXRvfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2LWp1c3RpZmllZD5saXtkaXNwbGF5OnRhYmxlLWNlbGw7d2lkdGg6MSV9Lm5hdi1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tYm90dG9tOjB9fS5uYXYtdGFicy1qdXN0aWZpZWR7Ym9yZGVyLWJvdHRvbTowfS5uYXYtdGFicy1qdXN0aWZpZWQ+bGk+YXttYXJnaW4tcmlnaHQ6MDtib3JkZXItcmFkaXVzOjRweH0ubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YSwubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YTpmb2N1cywubmF2LXRhYnMtanVzdGlmaWVkPi5hY3RpdmU+YTpob3Zlcntib3JkZXI6MXB4IHNvbGlkICNkZGR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXYtdGFicy1qdXN0aWZpZWQ+bGk+YXtib3JkZXItYm90dG9tOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6NHB4IDRweCAwIDB9Lm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmEsLm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmE6Zm9jdXMsLm5hdi10YWJzLWp1c3RpZmllZD4uYWN0aXZlPmE6aG92ZXJ7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmZmfX0udGFiLWNvbnRlbnQ+LnRhYi1wYW5le2Rpc3BsYXk6bm9uZX0udGFiLWNvbnRlbnQ+LmFjdGl2ZXtkaXNwbGF5OmJsb2NrfS5uYXYtdGFicyAuZHJvcGRvd24tbWVudXttYXJnaW4tdG9wOi0xcHg7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czowO2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjB9Lm5hdmJhcntwb3NpdGlvbjpyZWxhdGl2ZTttaW4taGVpZ2h0OjUwcHg7bWFyZ2luLWJvdHRvbToyMHB4O2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnR9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXJ7Ym9yZGVyLXJhZGl1czo0cHh9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWhlYWRlcntmbG9hdDpsZWZ0fX0ubmF2YmFyLWNvbGxhcHNle3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweDtvdmVyZmxvdy14OnZpc2libGU7LXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6dG91Y2g7Ym9yZGVyLXRvcDoxcHggc29saWQgdHJhbnNwYXJlbnQ7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuMSk7Ym94LXNoYWRvdzppbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpfS5uYXZiYXItY29sbGFwc2UuaW57b3ZlcmZsb3cteTphdXRvfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWNvbGxhcHNle3dpZHRoOmF1dG87Ym9yZGVyLXRvcDowOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ubmF2YmFyLWNvbGxhcHNlLmNvbGxhcHNle2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O2hlaWdodDphdXRvIWltcG9ydGFudDtwYWRkaW5nLWJvdHRvbTowO292ZXJmbG93OnZpc2libGUhaW1wb3J0YW50fS5uYXZiYXItY29sbGFwc2UuaW57b3ZlcmZsb3cteTp2aXNpYmxlfS5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZSwubmF2YmFyLXN0YXRpYy10b3AgLm5hdmJhci1jb2xsYXBzZXtwYWRkaW5nLXJpZ2h0OjA7cGFkZGluZy1sZWZ0OjB9fS5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZXttYXgtaGVpZ2h0OjM0MHB4fUBtZWRpYSAobWF4LWRldmljZS13aWR0aDo0ODBweCkgYW5kIChvcmllbnRhdGlvbjpsYW5kc2NhcGUpey5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1maXhlZC10b3AgLm5hdmJhci1jb2xsYXBzZXttYXgtaGVpZ2h0OjIwMHB4fX0uY29udGFpbmVyLWZsdWlkPi5uYXZiYXItY29sbGFwc2UsLmNvbnRhaW5lci1mbHVpZD4ubmF2YmFyLWhlYWRlciwuY29udGFpbmVyPi5uYXZiYXItY29sbGFwc2UsLmNvbnRhaW5lcj4ubmF2YmFyLWhlYWRlcnttYXJnaW4tcmlnaHQ6LTE1cHg7bWFyZ2luLWxlZnQ6LTE1cHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5jb250YWluZXItZmx1aWQ+Lm5hdmJhci1jb2xsYXBzZSwuY29udGFpbmVyLWZsdWlkPi5uYXZiYXItaGVhZGVyLC5jb250YWluZXI+Lm5hdmJhci1jb2xsYXBzZSwuY29udGFpbmVyPi5uYXZiYXItaGVhZGVye21hcmdpbi1yaWdodDowO21hcmdpbi1sZWZ0OjB9fS5uYXZiYXItc3RhdGljLXRvcHt6LWluZGV4OjEwMDA7Ym9yZGVyLXdpZHRoOjAgMCAxcHh9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItc3RhdGljLXRvcHtib3JkZXItcmFkaXVzOjB9fS5uYXZiYXItZml4ZWQtYm90dG9tLC5uYXZiYXItZml4ZWQtdG9we3Bvc2l0aW9uOmZpeGVkO3JpZ2h0OjA7bGVmdDowO3otaW5kZXg6MTAzMH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1maXhlZC1ib3R0b20sLm5hdmJhci1maXhlZC10b3B7Ym9yZGVyLXJhZGl1czowfX0ubmF2YmFyLWZpeGVkLXRvcHt0b3A6MDtib3JkZXItd2lkdGg6MCAwIDFweH0ubmF2YmFyLWZpeGVkLWJvdHRvbXtib3R0b206MDttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLXdpZHRoOjFweCAwIDB9Lm5hdmJhci1icmFuZHtmbG9hdDpsZWZ0O2hlaWdodDo1MHB4O3BhZGRpbmc6MTVweCAxNXB4O2ZvbnQtc2l6ZToxOHB4O2xpbmUtaGVpZ2h0OjIwcHh9Lm5hdmJhci1icmFuZDpmb2N1cywubmF2YmFyLWJyYW5kOmhvdmVye3RleHQtZGVjb3JhdGlvbjpub25lfS5uYXZiYXItYnJhbmQ+aW1ne2Rpc3BsYXk6YmxvY2t9QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXI+LmNvbnRhaW5lciAubmF2YmFyLWJyYW5kLC5uYXZiYXI+LmNvbnRhaW5lci1mbHVpZCAubmF2YmFyLWJyYW5ke21hcmdpbi1sZWZ0Oi0xNXB4fX0ubmF2YmFyLXRvZ2dsZXtwb3NpdGlvbjpyZWxhdGl2ZTtmbG9hdDpyaWdodDtwYWRkaW5nOjlweCAxMHB4O21hcmdpbi10b3A6OHB4O21hcmdpbi1yaWdodDoxNXB4O21hcmdpbi1ib3R0b206OHB4O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7YmFja2dyb3VuZC1pbWFnZTpub25lO2JvcmRlcjoxcHggc29saWQgdHJhbnNwYXJlbnQ7Ym9yZGVyLXJhZGl1czo0cHh9Lm5hdmJhci10b2dnbGU6Zm9jdXN7b3V0bGluZTowfS5uYXZiYXItdG9nZ2xlIC5pY29uLWJhcntkaXNwbGF5OmJsb2NrO3dpZHRoOjIycHg7aGVpZ2h0OjJweDtib3JkZXItcmFkaXVzOjFweH0ubmF2YmFyLXRvZ2dsZSAuaWNvbi1iYXIrLmljb24tYmFye21hcmdpbi10b3A6NHB4fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLXRvZ2dsZXtkaXNwbGF5Om5vbmV9fS5uYXZiYXItbmF2e21hcmdpbjo3LjVweCAtMTVweH0ubmF2YmFyLW5hdj5saT5he3BhZGRpbmctdG9wOjEwcHg7cGFkZGluZy1ib3R0b206MTBweDtsaW5lLWhlaWdodDoyMHB4fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudXtwb3NpdGlvbjpzdGF0aWM7ZmxvYXQ6bm9uZTt3aWR0aDphdXRvO21hcmdpbi10b3A6MDtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O2JvcmRlcjowOy13ZWJraXQtYm94LXNoYWRvdzpub25lO2JveC1zaGFkb3c6bm9uZX0ubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taGVhZGVyLC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmF7cGFkZGluZzo1cHggMTVweCA1cHggMjVweH0ubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5he2xpbmUtaGVpZ2h0OjIwcHh9Lm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YTpmb2N1cywubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmhvdmVye2JhY2tncm91bmQtaW1hZ2U6bm9uZX19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpey5uYXZiYXItbmF2e2Zsb2F0OmxlZnQ7bWFyZ2luOjB9Lm5hdmJhci1uYXY+bGl7ZmxvYXQ6bGVmdH0ubmF2YmFyLW5hdj5saT5he3BhZGRpbmctdG9wOjE1cHg7cGFkZGluZy1ib3R0b206MTVweH19Lm5hdmJhci1mb3Jte3BhZGRpbmc6MTBweCAxNXB4O21hcmdpbi10b3A6OHB4O21hcmdpbi1yaWdodDotMTVweDttYXJnaW4tYm90dG9tOjhweDttYXJnaW4tbGVmdDotMTVweDtib3JkZXItdG9wOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItYm90dG9tOjFweCBzb2xpZCB0cmFuc3BhcmVudDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWZvcm0gLmZvcm0tZ3JvdXB7ZGlzcGxheTppbmxpbmUtYmxvY2s7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubmF2YmFyLWZvcm0gLmZvcm0tY29udHJvbHtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDphdXRvO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubmF2YmFyLWZvcm0gLmZvcm0tY29udHJvbC1zdGF0aWN7ZGlzcGxheTppbmxpbmUtYmxvY2t9Lm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cHtkaXNwbGF5OmlubGluZS10YWJsZTt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm5hdmJhci1mb3JtIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWFkZG9uLC5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0bnt3aWR0aDphdXRvfS5uYXZiYXItZm9ybSAuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbHt3aWR0aDoxMDAlfS5uYXZiYXItZm9ybSAuY29udHJvbC1sYWJlbHttYXJnaW4tYm90dG9tOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS5uYXZiYXItZm9ybSAuY2hlY2tib3gsLm5hdmJhci1mb3JtIC5yYWRpb3tkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0ubmF2YmFyLWZvcm0gLmNoZWNrYm94IGxhYmVsLC5uYXZiYXItZm9ybSAucmFkaW8gbGFiZWx7cGFkZGluZy1sZWZ0OjB9Lm5hdmJhci1mb3JtIC5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSwubmF2YmFyLWZvcm0gLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9de3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbi1sZWZ0OjB9Lm5hdmJhci1mb3JtIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFja3t0b3A6MH19QG1lZGlhIChtYXgtd2lkdGg6NzY3cHgpey5uYXZiYXItZm9ybSAuZm9ybS1ncm91cHttYXJnaW4tYm90dG9tOjVweH0ubmF2YmFyLWZvcm0gLmZvcm0tZ3JvdXA6bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjB9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLWZvcm17d2lkdGg6YXV0bztwYWRkaW5nLXRvcDowO3BhZGRpbmctYm90dG9tOjA7bWFyZ2luLXJpZ2h0OjA7bWFyZ2luLWxlZnQ6MDtib3JkZXI6MDstd2Via2l0LWJveC1zaGFkb3c6bm9uZTtib3gtc2hhZG93Om5vbmV9fS5uYXZiYXItbmF2PmxpPi5kcm9wZG93bi1tZW51e21hcmdpbi10b3A6MDtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjA7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MH0ubmF2YmFyLWZpeGVkLWJvdHRvbSAubmF2YmFyLW5hdj5saT4uZHJvcGRvd24tbWVudXttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjA7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czowfS5uYXZiYXItYnRue21hcmdpbi10b3A6OHB4O21hcmdpbi1ib3R0b206OHB4fS5uYXZiYXItYnRuLmJ0bi1zbXttYXJnaW4tdG9wOjEwcHg7bWFyZ2luLWJvdHRvbToxMHB4fS5uYXZiYXItYnRuLmJ0bi14c3ttYXJnaW4tdG9wOjE0cHg7bWFyZ2luLWJvdHRvbToxNHB4fS5uYXZiYXItdGV4dHttYXJnaW4tdG9wOjE1cHg7bWFyZ2luLWJvdHRvbToxNXB4fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsubmF2YmFyLXRleHR7ZmxvYXQ6bGVmdDttYXJnaW4tcmlnaHQ6MTVweDttYXJnaW4tbGVmdDoxNXB4fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm5hdmJhci1sZWZ0e2Zsb2F0OmxlZnQhaW1wb3J0YW50fS5uYXZiYXItcmlnaHR7ZmxvYXQ6cmlnaHQhaW1wb3J0YW50O21hcmdpbi1yaWdodDotMTVweH0ubmF2YmFyLXJpZ2h0fi5uYXZiYXItcmlnaHR7bWFyZ2luLXJpZ2h0OjB9fS5uYXZiYXItZGVmYXVsdHtiYWNrZ3JvdW5kLWNvbG9yOiNmOGY4Zjg7Ym9yZGVyLWNvbG9yOiNlN2U3ZTd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItYnJhbmR7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1icmFuZDpob3Zlcntjb2xvcjojNWU1ZTVlO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdGV4dHtjb2xvcjojNzc3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj5saT5he2NvbG9yOiM3Nzd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2PmxpPmE6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2PmxpPmE6aG92ZXJ7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uYWN0aXZlPmEsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5hY3RpdmU+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmFjdGl2ZT5hOmhvdmVye2NvbG9yOiM1NTU7YmFja2dyb3VuZC1jb2xvcjojZTdlN2U3fS5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdj4uZGlzYWJsZWQ+YSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+LmRpc2FibGVkPmE6Zm9jdXMsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiNjY2M7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci10b2dnbGV7Ym9yZGVyLWNvbG9yOiNkZGR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNkZGR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiM4ODh9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItZm9ybXtib3JkZXItY29sb3I6I2U3ZTdlN30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+Lm9wZW4+YSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+Lm9wZW4+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXY+Lm9wZW4+YTpob3Zlcntjb2xvcjojNTU1O2JhY2tncm91bmQtY29sb3I6I2U3ZTdlN31AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51PmxpPmF7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YTpob3Zlcntjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YSwubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6aG92ZXJ7Y29sb3I6IzU1NTtiYWNrZ3JvdW5kLWNvbG9yOiNlN2U3ZTd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hLC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmE6aG92ZXJ7Y29sb3I6I2NjYztiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fX0ubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1saW5re2NvbG9yOiM3Nzd9Lm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbGluazpob3Zlcntjb2xvcjojMzMzfS5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbmt7Y29sb3I6Izc3N30ubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rOmZvY3VzLC5uYXZiYXItZGVmYXVsdCAuYnRuLWxpbms6aG92ZXJ7Y29sb3I6IzMzM30ubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cywubmF2YmFyLWRlZmF1bHQgLmJ0bi1saW5rW2Rpc2FibGVkXTpob3ZlcixmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpmb2N1cyxmaWVsZHNldFtkaXNhYmxlZF0gLm5hdmJhci1kZWZhdWx0IC5idG4tbGluazpob3Zlcntjb2xvcjojY2NjfS5uYXZiYXItaW52ZXJzZXtiYWNrZ3JvdW5kLWNvbG9yOiMyMjI7Ym9yZGVyLWNvbG9yOiMwODA4MDh9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItYnJhbmR7Y29sb3I6IzlkOWQ5ZH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZDpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1icmFuZDpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdGV4dHtjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj5saT5he2NvbG9yOiM5ZDlkOWR9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2PmxpPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2PmxpPmE6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4uYWN0aXZlPmEsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5hY3RpdmU+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+LmFjdGl2ZT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojMDgwODA4fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdj4uZGlzYWJsZWQ+YSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+LmRpc2FibGVkPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2Pi5kaXNhYmxlZD5hOmhvdmVye2NvbG9yOiM0NDQ7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci10b2dnbGV7Ym9yZGVyLWNvbG9yOiMzMzN9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLXRvZ2dsZTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMzMzN9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItdG9nZ2xlIC5pY29uLWJhcntiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItY29sbGFwc2UsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItZm9ybXtib3JkZXItY29sb3I6IzEwMTAxMH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+Lm9wZW4+YSwubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+Lm9wZW4+YTpmb2N1cywubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXY+Lm9wZW4+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzA4MDgwOH1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kcm9wZG93bi1oZWFkZXJ7Ym9yZGVyLWNvbG9yOiMwODA4MDh9Lm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IC5kaXZpZGVye2JhY2tncm91bmQtY29sb3I6IzA4MDgwOH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+bGk+YXtjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT5saT5hOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmFjdGl2ZT5hLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uYWN0aXZlPmE6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5hY3RpdmU+YTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzA4MDgwOH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnU+LmRpc2FibGVkPmEsLm5hdmJhci1pbnZlcnNlIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51Pi5kaXNhYmxlZD5hOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudT4uZGlzYWJsZWQ+YTpob3Zlcntjb2xvcjojNDQ0O2JhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnR9fS5uYXZiYXItaW52ZXJzZSAubmF2YmFyLWxpbmt7Y29sb3I6IzlkOWQ5ZH0ubmF2YmFyLWludmVyc2UgLm5hdmJhci1saW5rOmhvdmVye2NvbG9yOiNmZmZ9Lm5hdmJhci1pbnZlcnNlIC5idG4tbGlua3tjb2xvcjojOWQ5ZDlkfS5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbms6Zm9jdXMsLm5hdmJhci1pbnZlcnNlIC5idG4tbGluazpob3Zlcntjb2xvcjojZmZmfS5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmtbZGlzYWJsZWRdOmZvY3VzLC5uYXZiYXItaW52ZXJzZSAuYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmZvY3VzLGZpZWxkc2V0W2Rpc2FibGVkXSAubmF2YmFyLWludmVyc2UgLmJ0bi1saW5rOmhvdmVye2NvbG9yOiM0NDR9LmJyZWFkY3J1bWJ7cGFkZGluZzo4cHggMTVweDttYXJnaW4tYm90dG9tOjIwcHg7bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXItcmFkaXVzOjRweH0uYnJlYWRjcnVtYj5saXtkaXNwbGF5OmlubGluZS1ibG9ja30uYnJlYWRjcnVtYj5saStsaTpiZWZvcmV7cGFkZGluZzowIDVweDtjb2xvcjojY2NjO2NvbnRlbnQ6Ii9cMDBhMCJ9LmJyZWFkY3J1bWI+LmFjdGl2ZXtjb2xvcjojNzc3fS5wYWdpbmF0aW9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmctbGVmdDowO21hcmdpbjoyMHB4IDA7Ym9yZGVyLXJhZGl1czo0cHh9LnBhZ2luYXRpb24+bGl7ZGlzcGxheTppbmxpbmV9LnBhZ2luYXRpb24+bGk+YSwucGFnaW5hdGlvbj5saT5zcGFue3Bvc2l0aW9uOnJlbGF0aXZlO2Zsb2F0OmxlZnQ7cGFkZGluZzo2cHggMTJweDttYXJnaW4tbGVmdDotMXB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzMzN2FiNzt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS5wYWdpbmF0aW9uPmxpOmZpcnN0LWNoaWxkPmEsLnBhZ2luYXRpb24+bGk6Zmlyc3QtY2hpbGQ+c3BhbnttYXJnaW4tbGVmdDowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5wYWdpbmF0aW9uPmxpOmxhc3QtY2hpbGQ+YSwucGFnaW5hdGlvbj5saTpsYXN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjRweH0ucGFnaW5hdGlvbj5saT5hOmZvY3VzLC5wYWdpbmF0aW9uPmxpPmE6aG92ZXIsLnBhZ2luYXRpb24+bGk+c3Bhbjpmb2N1cywucGFnaW5hdGlvbj5saT5zcGFuOmhvdmVye3otaW5kZXg6Mjtjb2xvcjojMjM1MjdjO2JhY2tncm91bmQtY29sb3I6I2VlZTtib3JkZXItY29sb3I6I2RkZH0ucGFnaW5hdGlvbj4uYWN0aXZlPmEsLnBhZ2luYXRpb24+LmFjdGl2ZT5hOmZvY3VzLC5wYWdpbmF0aW9uPi5hY3RpdmU+YTpob3ZlciwucGFnaW5hdGlvbj4uYWN0aXZlPnNwYW4sLnBhZ2luYXRpb24+LmFjdGl2ZT5zcGFuOmZvY3VzLC5wYWdpbmF0aW9uPi5hY3RpdmU+c3Bhbjpob3Zlcnt6LWluZGV4OjM7Y29sb3I6I2ZmZjtjdXJzb3I6ZGVmYXVsdDtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9LnBhZ2luYXRpb24+LmRpc2FibGVkPmEsLnBhZ2luYXRpb24+LmRpc2FibGVkPmE6Zm9jdXMsLnBhZ2luYXRpb24+LmRpc2FibGVkPmE6aG92ZXIsLnBhZ2luYXRpb24+LmRpc2FibGVkPnNwYW4sLnBhZ2luYXRpb24+LmRpc2FibGVkPnNwYW46Zm9jdXMsLnBhZ2luYXRpb24+LmRpc2FibGVkPnNwYW46aG92ZXJ7Y29sb3I6Izc3NztjdXJzb3I6bm90LWFsbG93ZWQ7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlci1jb2xvcjojZGRkfS5wYWdpbmF0aW9uLWxnPmxpPmEsLnBhZ2luYXRpb24tbGc+bGk+c3BhbntwYWRkaW5nOjEwcHggMTZweDtmb250LXNpemU6MThweDtsaW5lLWhlaWdodDoxLjMzMzMzMzN9LnBhZ2luYXRpb24tbGc+bGk6Zmlyc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1sZz5saTpmaXJzdC1jaGlsZD5zcGFue2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NnB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NnB4fS5wYWdpbmF0aW9uLWxnPmxpOmxhc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1sZz5saTpsYXN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NnB4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjZweH0ucGFnaW5hdGlvbi1zbT5saT5hLC5wYWdpbmF0aW9uLXNtPmxpPnNwYW57cGFkZGluZzo1cHggMTBweDtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoxLjV9LnBhZ2luYXRpb24tc20+bGk6Zmlyc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1zbT5saTpmaXJzdC1jaGlsZD5zcGFue2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4fS5wYWdpbmF0aW9uLXNtPmxpOmxhc3QtY2hpbGQ+YSwucGFnaW5hdGlvbi1zbT5saTpsYXN0LWNoaWxkPnNwYW57Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweH0ucGFnZXJ7cGFkZGluZy1sZWZ0OjA7bWFyZ2luOjIwcHggMDt0ZXh0LWFsaWduOmNlbnRlcjtsaXN0LXN0eWxlOm5vbmV9LnBhZ2VyIGxpe2Rpc3BsYXk6aW5saW5lfS5wYWdlciBsaT5hLC5wYWdlciBsaT5zcGFue2Rpc3BsYXk6aW5saW5lLWJsb2NrO3BhZGRpbmc6NXB4IDE0cHg7YmFja2dyb3VuZC1jb2xvcjojZmZmO2JvcmRlcjoxcHggc29saWQgI2RkZDtib3JkZXItcmFkaXVzOjE1cHh9LnBhZ2VyIGxpPmE6Zm9jdXMsLnBhZ2VyIGxpPmE6aG92ZXJ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZWVlfS5wYWdlciAubmV4dD5hLC5wYWdlciAubmV4dD5zcGFue2Zsb2F0OnJpZ2h0fS5wYWdlciAucHJldmlvdXM+YSwucGFnZXIgLnByZXZpb3VzPnNwYW57ZmxvYXQ6bGVmdH0ucGFnZXIgLmRpc2FibGVkPmEsLnBhZ2VyIC5kaXNhYmxlZD5hOmZvY3VzLC5wYWdlciAuZGlzYWJsZWQ+YTpob3ZlciwucGFnZXIgLmRpc2FibGVkPnNwYW57Y29sb3I6Izc3NztjdXJzb3I6bm90LWFsbG93ZWQ7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5sYWJlbHtkaXNwbGF5OmlubGluZTtwYWRkaW5nOi4yZW0gLjZlbSAuM2VtO2ZvbnQtc2l6ZTo3NSU7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Ym9yZGVyLXJhZGl1czouMjVlbX1hLmxhYmVsOmZvY3VzLGEubGFiZWw6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn0ubGFiZWw6ZW1wdHl7ZGlzcGxheTpub25lfS5idG4gLmxhYmVse3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMXB4fS5sYWJlbC1kZWZhdWx0e2JhY2tncm91bmQtY29sb3I6Izc3N30ubGFiZWwtZGVmYXVsdFtocmVmXTpmb2N1cywubGFiZWwtZGVmYXVsdFtocmVmXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiM1ZTVlNWV9LmxhYmVsLXByaW1hcnl7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3fS5sYWJlbC1wcmltYXJ5W2hyZWZdOmZvY3VzLC5sYWJlbC1wcmltYXJ5W2hyZWZdOmhvdmVye2JhY2tncm91bmQtY29sb3I6IzI4NjA5MH0ubGFiZWwtc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiM1Y2I4NWN9LmxhYmVsLXN1Y2Nlc3NbaHJlZl06Zm9jdXMsLmxhYmVsLXN1Y2Nlc3NbaHJlZl06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojNDQ5ZDQ0fS5sYWJlbC1pbmZve2JhY2tncm91bmQtY29sb3I6IzViYzBkZX0ubGFiZWwtaW5mb1tocmVmXTpmb2N1cywubGFiZWwtaW5mb1tocmVmXTpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiMzMWIwZDV9LmxhYmVsLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZjBhZDRlfS5sYWJlbC13YXJuaW5nW2hyZWZdOmZvY3VzLC5sYWJlbC13YXJuaW5nW2hyZWZdOmhvdmVye2JhY2tncm91bmQtY29sb3I6I2VjOTcxZn0ubGFiZWwtZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2Q5NTM0Zn0ubGFiZWwtZGFuZ2VyW2hyZWZdOmZvY3VzLC5sYWJlbC1kYW5nZXJbaHJlZl06aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojYzkzMDJjfS5iYWRnZXtkaXNwbGF5OmlubGluZS1ibG9jazttaW4td2lkdGg6MTBweDtwYWRkaW5nOjNweCA3cHg7Zm9udC1zaXplOjEycHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246bWlkZGxlO2JhY2tncm91bmQtY29sb3I6Izc3Nztib3JkZXItcmFkaXVzOjEwcHh9LmJhZGdlOmVtcHR5e2Rpc3BsYXk6bm9uZX0uYnRuIC5iYWRnZXtwb3NpdGlvbjpyZWxhdGl2ZTt0b3A6LTFweH0uYnRuLWdyb3VwLXhzPi5idG4gLmJhZGdlLC5idG4teHMgLmJhZGdle3RvcDowO3BhZGRpbmc6MXB4IDVweH1hLmJhZGdlOmZvY3VzLGEuYmFkZ2U6aG92ZXJ7Y29sb3I6I2ZmZjt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn0ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZT4uYmFkZ2UsLm5hdi1waWxscz4uYWN0aXZlPmE+LmJhZGdle2NvbG9yOiMzMzdhYjc7YmFja2dyb3VuZC1jb2xvcjojZmZmfS5saXN0LWdyb3VwLWl0ZW0+LmJhZGdle2Zsb2F0OnJpZ2h0fS5saXN0LWdyb3VwLWl0ZW0+LmJhZGdlKy5iYWRnZXttYXJnaW4tcmlnaHQ6NXB4fS5uYXYtcGlsbHM+bGk+YT4uYmFkZ2V7bWFyZ2luLWxlZnQ6M3B4fS5qdW1ib3Ryb257cGFkZGluZy10b3A6MzBweDtwYWRkaW5nLWJvdHRvbTozMHB4O21hcmdpbi1ib3R0b206MzBweDtjb2xvcjppbmhlcml0O2JhY2tncm91bmQtY29sb3I6I2VlZX0uanVtYm90cm9uIC5oMSwuanVtYm90cm9uIGgxe2NvbG9yOmluaGVyaXR9Lmp1bWJvdHJvbiBwe21hcmdpbi1ib3R0b206MTVweDtmb250LXNpemU6MjFweDtmb250LXdlaWdodDoyMDB9Lmp1bWJvdHJvbj5ocntib3JkZXItdG9wLWNvbG9yOiNkNWQ1ZDV9LmNvbnRhaW5lciAuanVtYm90cm9uLC5jb250YWluZXItZmx1aWQgLmp1bWJvdHJvbntwYWRkaW5nLXJpZ2h0OjE1cHg7cGFkZGluZy1sZWZ0OjE1cHg7Ym9yZGVyLXJhZGl1czo2cHh9Lmp1bWJvdHJvbiAuY29udGFpbmVye21heC13aWR0aDoxMDAlfUBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6NzY4cHgpey5qdW1ib3Ryb257cGFkZGluZy10b3A6NDhweDtwYWRkaW5nLWJvdHRvbTo0OHB4fS5jb250YWluZXIgLmp1bWJvdHJvbiwuY29udGFpbmVyLWZsdWlkIC5qdW1ib3Ryb257cGFkZGluZy1yaWdodDo2MHB4O3BhZGRpbmctbGVmdDo2MHB4fS5qdW1ib3Ryb24gLmgxLC5qdW1ib3Ryb24gaDF7Zm9udC1zaXplOjYzcHh9fS50aHVtYm5haWx7ZGlzcGxheTpibG9jaztwYWRkaW5nOjRweDttYXJnaW4tYm90dG9tOjIwcHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0MztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtdHJhbnNpdGlvbjpib3JkZXIgLjJzIGVhc2UtaW4tb3V0Oy1vLXRyYW5zaXRpb246Ym9yZGVyIC4ycyBlYXNlLWluLW91dDt0cmFuc2l0aW9uOmJvcmRlciAuMnMgZWFzZS1pbi1vdXR9LnRodW1ibmFpbCBhPmltZywudGh1bWJuYWlsPmltZ3ttYXJnaW4tcmlnaHQ6YXV0bzttYXJnaW4tbGVmdDphdXRvfWEudGh1bWJuYWlsLmFjdGl2ZSxhLnRodW1ibmFpbDpmb2N1cyxhLnRodW1ibmFpbDpob3Zlcntib3JkZXItY29sb3I6IzMzN2FiN30udGh1bWJuYWlsIC5jYXB0aW9ue3BhZGRpbmc6OXB4O2NvbG9yOiMzMzN9LmFsZXJ0e3BhZGRpbmc6MTVweDttYXJnaW4tYm90dG9tOjIwcHg7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweH0uYWxlcnQgaDR7bWFyZ2luLXRvcDowO2NvbG9yOmluaGVyaXR9LmFsZXJ0IC5hbGVydC1saW5re2ZvbnQtd2VpZ2h0OjcwMH0uYWxlcnQ+cCwuYWxlcnQ+dWx7bWFyZ2luLWJvdHRvbTowfS5hbGVydD5wK3B7bWFyZ2luLXRvcDo1cHh9LmFsZXJ0LWRpc21pc3NhYmxlLC5hbGVydC1kaXNtaXNzaWJsZXtwYWRkaW5nLXJpZ2h0OjM1cHh9LmFsZXJ0LWRpc21pc3NhYmxlIC5jbG9zZSwuYWxlcnQtZGlzbWlzc2libGUgLmNsb3Nle3Bvc2l0aW9uOnJlbGF0aXZlO3RvcDotMnB4O3JpZ2h0Oi0yMXB4O2NvbG9yOmluaGVyaXR9LmFsZXJ0LXN1Y2Nlc3N7Y29sb3I6IzNjNzYzZDtiYWNrZ3JvdW5kLWNvbG9yOiNkZmYwZDg7Ym9yZGVyLWNvbG9yOiNkNmU5YzZ9LmFsZXJ0LXN1Y2Nlc3MgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojYzllMmIzfS5hbGVydC1zdWNjZXNzIC5hbGVydC1saW5re2NvbG9yOiMyYjU0MmN9LmFsZXJ0LWluZm97Y29sb3I6IzMxNzA4ZjtiYWNrZ3JvdW5kLWNvbG9yOiNkOWVkZjc7Ym9yZGVyLWNvbG9yOiNiY2U4ZjF9LmFsZXJ0LWluZm8gaHJ7Ym9yZGVyLXRvcC1jb2xvcjojYTZlMWVjfS5hbGVydC1pbmZvIC5hbGVydC1saW5re2NvbG9yOiMyNDUyNjl9LmFsZXJ0LXdhcm5pbmd7Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTM7Ym9yZGVyLWNvbG9yOiNmYWViY2N9LmFsZXJ0LXdhcm5pbmcgaHJ7Ym9yZGVyLXRvcC1jb2xvcjojZjdlMWI1fS5hbGVydC13YXJuaW5nIC5hbGVydC1saW5re2NvbG9yOiM2NjUxMmN9LmFsZXJ0LWRhbmdlcntjb2xvcjojYTk0NDQyO2JhY2tncm91bmQtY29sb3I6I2YyZGVkZTtib3JkZXItY29sb3I6I2ViY2NkMX0uYWxlcnQtZGFuZ2VyIGhye2JvcmRlci10b3AtY29sb3I6I2U0YjljMH0uYWxlcnQtZGFuZ2VyIC5hbGVydC1saW5re2NvbG9yOiM4NDM1MzR9QC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVze2Zyb217YmFja2dyb3VuZC1wb3NpdGlvbjo0MHB4IDB9dG97YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9fUAtby1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXN7ZnJvbXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjQwcHggMH10b3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH19QGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlc3tmcm9te2JhY2tncm91bmQtcG9zaXRpb246NDBweCAwfXRve2JhY2tncm91bmQtcG9zaXRpb246MCAwfX0ucHJvZ3Jlc3N7aGVpZ2h0OjIwcHg7bWFyZ2luLWJvdHRvbToyMHB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXJhZGl1czo0cHg7LXdlYmtpdC1ib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKX0ucHJvZ3Jlc3MtYmFye2Zsb2F0OmxlZnQ7d2lkdGg6MDtoZWlnaHQ6MTAwJTtmb250LXNpemU6MTJweDtsaW5lLWhlaWdodDoyMHB4O2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7YmFja2dyb3VuZC1jb2xvcjojMzM3YWI3Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSk7Ym94LXNoYWRvdzppbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSk7LXdlYmtpdC10cmFuc2l0aW9uOndpZHRoIC42cyBlYXNlOy1vLXRyYW5zaXRpb246d2lkdGggLjZzIGVhc2U7dHJhbnNpdGlvbjp3aWR0aCAuNnMgZWFzZX0ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQsLnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhcntiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpOy13ZWJraXQtYmFja2dyb3VuZC1zaXplOjQwcHggNDBweDtiYWNrZ3JvdW5kLXNpemU6NDBweCA0MHB4fS5wcm9ncmVzcy1iYXIuYWN0aXZlLC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcnstd2Via2l0LWFuaW1hdGlvbjpwcm9ncmVzcy1iYXItc3RyaXBlcyAycyBsaW5lYXIgaW5maW5pdGU7LW8tYW5pbWF0aW9uOnByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTthbmltYXRpb246cHJvZ3Jlc3MtYmFyLXN0cmlwZXMgMnMgbGluZWFyIGluZmluaXRlfS5wcm9ncmVzcy1iYXItc3VjY2Vzc3tiYWNrZ3JvdW5kLWNvbG9yOiM1Y2I4NWN9LnByb2dyZXNzLXN0cmlwZWQgLnByb2dyZXNzLWJhci1zdWNjZXNze2JhY2tncm91bmQtaW1hZ2U6LXdlYmtpdC1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6LW8tbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCl9LnByb2dyZXNzLWJhci1pbmZve2JhY2tncm91bmQtY29sb3I6IzViYzBkZX0ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLWluZm97YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTotby1saW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpO2JhY2tncm91bmQtaW1hZ2U6bGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KX0ucHJvZ3Jlc3MtYmFyLXdhcm5pbmd7YmFja2dyb3VuZC1jb2xvcjojZjBhZDRlfS5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXItd2FybmluZ3tiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpfS5wcm9ncmVzcy1iYXItZGFuZ2Vye2JhY2tncm91bmQtY29sb3I6I2Q5NTM0Zn0ucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyLWRhbmdlcntiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KDQ1ZGVnLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsdHJhbnNwYXJlbnQgMjUlLHRyYW5zcGFyZW50IDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsdHJhbnNwYXJlbnQgNzUlLHRyYW5zcGFyZW50KTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudCg0NWRlZyxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLHRyYW5zcGFyZW50IDI1JSx0cmFuc3BhcmVudCA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSxyZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLHRyYW5zcGFyZW50IDc1JSx0cmFuc3BhcmVudCk7YmFja2dyb3VuZC1pbWFnZTpsaW5lYXItZ3JhZGllbnQoNDVkZWcscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSx0cmFuc3BhcmVudCAyNSUsdHJhbnNwYXJlbnQgNTAlLHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUscmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSx0cmFuc3BhcmVudCA3NSUsdHJhbnNwYXJlbnQpfS5tZWRpYXttYXJnaW4tdG9wOjE1cHh9Lm1lZGlhOmZpcnN0LWNoaWxke21hcmdpbi10b3A6MH0ubWVkaWEsLm1lZGlhLWJvZHl7b3ZlcmZsb3c6aGlkZGVuO3pvb206MX0ubWVkaWEtYm9keXt3aWR0aDoxMDAwMHB4fS5tZWRpYS1vYmplY3R7ZGlzcGxheTpibG9ja30ubWVkaWEtb2JqZWN0LmltZy10aHVtYm5haWx7bWF4LXdpZHRoOm5vbmV9Lm1lZGlhLXJpZ2h0LC5tZWRpYT4ucHVsbC1yaWdodHtwYWRkaW5nLWxlZnQ6MTBweH0ubWVkaWEtbGVmdCwubWVkaWE+LnB1bGwtbGVmdHtwYWRkaW5nLXJpZ2h0OjEwcHh9Lm1lZGlhLWJvZHksLm1lZGlhLWxlZnQsLm1lZGlhLXJpZ2h0e2Rpc3BsYXk6dGFibGUtY2VsbDt2ZXJ0aWNhbC1hbGlnbjp0b3B9Lm1lZGlhLW1pZGRsZXt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9Lm1lZGlhLWJvdHRvbXt2ZXJ0aWNhbC1hbGlnbjpib3R0b219Lm1lZGlhLWhlYWRpbmd7bWFyZ2luLXRvcDowO21hcmdpbi1ib3R0b206NXB4fS5tZWRpYS1saXN0e3BhZGRpbmctbGVmdDowO2xpc3Qtc3R5bGU6bm9uZX0ubGlzdC1ncm91cHtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tYm90dG9tOjIwcHh9Lmxpc3QtZ3JvdXAtaXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6MTBweCAxNXB4O21hcmdpbi1ib3R0b206LTFweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czo0cHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6NHB4fS5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZHttYXJnaW4tYm90dG9tOjA7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fWEubGlzdC1ncm91cC1pdGVtLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW17Y29sb3I6IzU1NX1hLmxpc3QtZ3JvdXAtaXRlbSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6IzMzM31hLmxpc3QtZ3JvdXAtaXRlbTpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbTpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW06aG92ZXJ7Y29sb3I6IzU1NTt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjV9YnV0dG9uLmxpc3QtZ3JvdXAtaXRlbXt3aWR0aDoxMDAlO3RleHQtYWxpZ246bGVmdH0ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkLC5saXN0LWdyb3VwLWl0ZW0uZGlzYWJsZWQ6Zm9jdXMsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3Zlcntjb2xvcjojNzc3O2N1cnNvcjpub3QtYWxsb3dlZDtiYWNrZ3JvdW5kLWNvbG9yOiNlZWV9Lmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZCAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpmb2N1cyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsLmxpc3QtZ3JvdXAtaXRlbS5kaXNhYmxlZDpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6aW5oZXJpdH0ubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwubGlzdC1ncm91cC1pdGVtLmRpc2FibGVkOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0tdGV4dHtjb2xvcjojNzc3fS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVye3otaW5kZXg6Mjtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzMzN2FiN30ubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nPi5zbWFsbCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZSAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmc+c21hbGwsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmZvY3VzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZz4uc21hbGwsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6Zm9jdXMgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nPnNtYWxsLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZywubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpob3ZlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmc+LnNtYWxsLC5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlOmhvdmVyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZz5zbWFsbHtjb2xvcjppbmhlcml0fS5saXN0LWdyb3VwLWl0ZW0uYWN0aXZlIC5saXN0LWdyb3VwLWl0ZW0tdGV4dCwubGlzdC1ncm91cC1pdGVtLmFjdGl2ZTpmb2N1cyAubGlzdC1ncm91cC1pdGVtLXRleHQsLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmU6aG92ZXIgLmxpc3QtZ3JvdXAtaXRlbS10ZXh0e2NvbG9yOiNjN2RkZWZ9Lmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNze2NvbG9yOiMzYzc2M2Q7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4fWEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNze2NvbG9yOiMzYzc2M2R9YS5saXN0LWdyb3VwLWl0ZW0tc3VjY2VzcyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3tjb2xvcjppbmhlcml0fWEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzczpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3M6Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzOmhvdmVye2NvbG9yOiMzYzc2M2Q7YmFja2dyb3VuZC1jb2xvcjojZDBlOWM2fWEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlLGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tc3VjY2Vzcy5hY3RpdmUsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzLmFjdGl2ZTpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXN1Y2Nlc3MuYWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojM2M3NjNkO2JvcmRlci1jb2xvcjojM2M3NjNkfS5saXN0LWdyb3VwLWl0ZW0taW5mb3tjb2xvcjojMzE3MDhmO2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmN31hLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mb3tjb2xvcjojMzE3MDhmfWEubGlzdC1ncm91cC1pdGVtLWluZm8gLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbyAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6aW5oZXJpdH1hLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmZvY3VzLGEubGlzdC1ncm91cC1pdGVtLWluZm86aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mbzpob3Zlcntjb2xvcjojMzE3MDhmO2JhY2tncm91bmQtY29sb3I6I2M0ZTNmM31hLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZSxhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpob3ZlcixidXR0b24ubGlzdC1ncm91cC1pdGVtLWluZm8uYWN0aXZlLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0taW5mby5hY3RpdmU6Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1pbmZvLmFjdGl2ZTpob3Zlcntjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMxNzA4Zjtib3JkZXItY29sb3I6IzMxNzA4Zn0ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmd7Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTN9YS5saXN0LWdyb3VwLWl0ZW0td2FybmluZyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmd7Y29sb3I6IzhhNmQzYn1hLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5ne2NvbG9yOmluaGVyaXR9YS5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZzpmb2N1cyxidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmc6aG92ZXJ7Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmYWYyY2N9YS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmUsYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6aG92ZXIsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS13YXJuaW5nLmFjdGl2ZSxidXR0b24ubGlzdC1ncm91cC1pdGVtLXdhcm5pbmcuYWN0aXZlOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0td2FybmluZy5hY3RpdmU6aG92ZXJ7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiM4YTZkM2I7Ym9yZGVyLWNvbG9yOiM4YTZkM2J9Lmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXJ7Y29sb3I6I2E5NDQ0MjtiYWNrZ3JvdW5kLWNvbG9yOiNmMmRlZGV9YS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2Vye2NvbG9yOiNhOTQ0NDJ9YS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyIC5saXN0LWdyb3VwLWl0ZW0taGVhZGluZyxidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlciAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmd7Y29sb3I6aW5oZXJpdH1hLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXI6Zm9jdXMsYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmZvY3VzLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyOmhvdmVye2NvbG9yOiNhOTQ0NDI7YmFja2dyb3VuZC1jb2xvcjojZWJjY2NjfWEubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmUsYS5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZTpmb2N1cyxhLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVyLGJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0tZGFuZ2VyLmFjdGl2ZSxidXR0b24ubGlzdC1ncm91cC1pdGVtLWRhbmdlci5hY3RpdmU6Zm9jdXMsYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbS1kYW5nZXIuYWN0aXZlOmhvdmVye2NvbG9yOiNmZmY7YmFja2dyb3VuZC1jb2xvcjojYTk0NDQyO2JvcmRlci1jb2xvcjojYTk0NDQyfS5saXN0LWdyb3VwLWl0ZW0taGVhZGluZ3ttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTo1cHh9Lmxpc3QtZ3JvdXAtaXRlbS10ZXh0e21hcmdpbi1ib3R0b206MDtsaW5lLWhlaWdodDoxLjN9LnBhbmVse21hcmdpbi1ib3R0b206MjBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6MCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93OjAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSl9LnBhbmVsLWJvZHl7cGFkZGluZzoxNXB4fS5wYW5lbC1oZWFkaW5ne3BhZGRpbmc6MTBweCAxNXB4O2JvcmRlci1ib3R0b206MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4O2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweH0ucGFuZWwtaGVhZGluZz4uZHJvcGRvd24gLmRyb3Bkb3duLXRvZ2dsZXtjb2xvcjppbmhlcml0fS5wYW5lbC10aXRsZXttYXJnaW4tdG9wOjA7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxNnB4O2NvbG9yOmluaGVyaXR9LnBhbmVsLXRpdGxlPi5zbWFsbCwucGFuZWwtdGl0bGU+LnNtYWxsPmEsLnBhbmVsLXRpdGxlPmEsLnBhbmVsLXRpdGxlPnNtYWxsLC5wYW5lbC10aXRsZT5zbWFsbD5he2NvbG9yOmluaGVyaXR9LnBhbmVsLWZvb3RlcntwYWRkaW5nOjEwcHggMTVweDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhbmVsPi5saXN0LWdyb3VwLC5wYW5lbD4ucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXB7bWFyZ2luLWJvdHRvbTowfS5wYW5lbD4ubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtLC5wYW5lbD4ucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXAgLmxpc3QtZ3JvdXAtaXRlbXtib3JkZXItd2lkdGg6MXB4IDA7Ym9yZGVyLXJhZGl1czowfS5wYW5lbD4ubGlzdC1ncm91cDpmaXJzdC1jaGlsZCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkLC5wYW5lbD4ucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXA6Zmlyc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZHtib3JkZXItdG9wOjA7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4ubGlzdC1ncm91cDpsYXN0LWNoaWxkIC5saXN0LWdyb3VwLWl0ZW06bGFzdC1jaGlsZCwucGFuZWw+LnBhbmVsLWNvbGxhcHNlPi5saXN0LWdyb3VwOmxhc3QtY2hpbGQgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxke2JvcmRlci1ib3R0b206MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czozcHg7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnBhbmVsPi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ubGlzdC1ncm91cCAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxke2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowfS5wYW5lbC1oZWFkaW5nKy5saXN0LWdyb3VwIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC13aWR0aDowfS5saXN0LWdyb3VwKy5wYW5lbC1mb290ZXJ7Ym9yZGVyLXRvcC13aWR0aDowfS5wYW5lbD4ucGFuZWwtY29sbGFwc2U+LnRhYmxlLC5wYW5lbD4udGFibGUsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZXttYXJnaW4tYm90dG9tOjB9LnBhbmVsPi5wYW5lbC1jb2xsYXBzZT4udGFibGUgY2FwdGlvbiwucGFuZWw+LnRhYmxlIGNhcHRpb24sLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZSBjYXB0aW9ue3BhZGRpbmctcmlnaHQ6MTVweDtwYWRkaW5nLWxlZnQ6MTVweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGR7Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czozcHg7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZHtib3JkZXItdG9wLWxlZnQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmZpcnN0LWNoaWxkPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZD4udGFibGU6Zmlyc3QtY2hpbGQ+dGhlYWQ6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6Zmlyc3QtY2hpbGQ+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6Zmlyc3QtY2hpbGQ+dGJvZHk6Zmlyc3QtY2hpbGQ+dHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmZpcnN0LWNoaWxkPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpmaXJzdC1jaGlsZD50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0aDpsYXN0LWNoaWxke2JvcmRlci10b3AtcmlnaHQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6M3B4fS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxke2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlOmxhc3QtY2hpbGQ+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZTpsYXN0LWNoaWxkPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRmb290Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpmaXJzdC1jaGlsZHtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjNweH0ucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Ym9keTpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGJvZHk6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZTpsYXN0LWNoaWxkPnRib2R5Omxhc3QtY2hpbGQ+dHI6bGFzdC1jaGlsZCB0aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGU6bGFzdC1jaGlsZD50Zm9vdDpsYXN0LWNoaWxkPnRyOmxhc3QtY2hpbGQgdGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlOmxhc3QtY2hpbGQ+dGZvb3Q6bGFzdC1jaGlsZD50cjpsYXN0LWNoaWxkIHRoOmxhc3QtY2hpbGR7Ym9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6M3B4fS5wYW5lbD4ucGFuZWwtYm9keSsudGFibGUsLnBhbmVsPi5wYW5lbC1ib2R5Ky50YWJsZS1yZXNwb25zaXZlLC5wYW5lbD4udGFibGUrLnBhbmVsLWJvZHksLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlKy5wYW5lbC1ib2R5e2JvcmRlci10b3A6MXB4IHNvbGlkICNkZGR9LnBhbmVsPi50YWJsZT50Ym9keTpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZCB0ZCwucGFuZWw+LnRhYmxlPnRib2R5OmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkIHRoe2JvcmRlci10b3A6MH0ucGFuZWw+LnRhYmxlLWJvcmRlcmVkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWR7Ym9yZGVyOjB9LnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGg6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50ZDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQ6Zmlyc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50aDpmaXJzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkOmZpcnN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGg6Zmlyc3QtY2hpbGR7Ym9yZGVyLWxlZnQ6MH0ucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGg6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cj50aDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGQ6bGFzdC1jaGlsZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoOmxhc3QtY2hpbGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50ZDpsYXN0LWNoaWxkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGg6bGFzdC1jaGlsZHtib3JkZXItcmlnaHQ6MH0ucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmZpcnN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6Zmlyc3QtY2hpbGQ+dGgsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50aGVhZD50cjpmaXJzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyOmZpcnN0LWNoaWxkPnRoLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6Zmlyc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpmaXJzdC1jaGlsZD50aCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyOmZpcnN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGh7Ym9yZGVyLWJvdHRvbTowfS5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6bGFzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGgsLnBhbmVsPi50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpsYXN0LWNoaWxkPnRkLC5wYW5lbD4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI6bGFzdC1jaGlsZD50aCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmxhc3QtY2hpbGQ+dGQsLnBhbmVsPi50YWJsZS1yZXNwb25zaXZlPi50YWJsZS1ib3JkZXJlZD50Ym9keT50cjpsYXN0LWNoaWxkPnRoLC5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZT4udGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI6bGFzdC1jaGlsZD50ZCwucGFuZWw+LnRhYmxlLXJlc3BvbnNpdmU+LnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmxhc3QtY2hpbGQ+dGh7Ym9yZGVyLWJvdHRvbTowfS5wYW5lbD4udGFibGUtcmVzcG9uc2l2ZXttYXJnaW4tYm90dG9tOjA7Ym9yZGVyOjB9LnBhbmVsLWdyb3Vwe21hcmdpbi1ib3R0b206MjBweH0ucGFuZWwtZ3JvdXAgLnBhbmVse21hcmdpbi1ib3R0b206MDtib3JkZXItcmFkaXVzOjRweH0ucGFuZWwtZ3JvdXAgLnBhbmVsKy5wYW5lbHttYXJnaW4tdG9wOjVweH0ucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmd7Ym9yZGVyLWJvdHRvbTowfS5wYW5lbC1ncm91cCAucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+Lmxpc3QtZ3JvdXAsLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wOjFweCBzb2xpZCAjZGRkfS5wYW5lbC1ncm91cCAucGFuZWwtZm9vdGVye2JvcmRlci10b3A6MH0ucGFuZWwtZ3JvdXAgLnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2UgLnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2RkZH0ucGFuZWwtZGVmYXVsdHtib3JkZXItY29sb3I6I2RkZH0ucGFuZWwtZGVmYXVsdD4ucGFuZWwtaGVhZGluZ3tjb2xvcjojMzMzO2JhY2tncm91bmQtY29sb3I6I2Y1ZjVmNTtib3JkZXItY29sb3I6I2RkZH0ucGFuZWwtZGVmYXVsdD4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcC1jb2xvcjojZGRkfS5wYW5lbC1kZWZhdWx0Pi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojZjVmNWY1O2JhY2tncm91bmQtY29sb3I6IzMzM30ucGFuZWwtZGVmYXVsdD4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiNkZGR9LnBhbmVsLXByaW1hcnl7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9LnBhbmVsLXByaW1hcnk+LnBhbmVsLWhlYWRpbmd7Y29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWNvbG9yOiMzMzdhYjc7Ym9yZGVyLWNvbG9yOiMzMzdhYjd9LnBhbmVsLXByaW1hcnk+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3AtY29sb3I6IzMzN2FiN30ucGFuZWwtcHJpbWFyeT4ucGFuZWwtaGVhZGluZyAuYmFkZ2V7Y29sb3I6IzMzN2FiNztiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LnBhbmVsLXByaW1hcnk+LnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMzM3YWI3fS5wYW5lbC1zdWNjZXNze2JvcmRlci1jb2xvcjojZDZlOWM2fS5wYW5lbC1zdWNjZXNzPi5wYW5lbC1oZWFkaW5ne2NvbG9yOiMzYzc2M2Q7YmFja2dyb3VuZC1jb2xvcjojZGZmMGQ4O2JvcmRlci1jb2xvcjojZDZlOWM2fS5wYW5lbC1zdWNjZXNzPi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wLWNvbG9yOiNkNmU5YzZ9LnBhbmVsLXN1Y2Nlc3M+LnBhbmVsLWhlYWRpbmcgLmJhZGdle2NvbG9yOiNkZmYwZDg7YmFja2dyb3VuZC1jb2xvcjojM2M3NjNkfS5wYW5lbC1zdWNjZXNzPi5wYW5lbC1mb290ZXIrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci1ib3R0b20tY29sb3I6I2Q2ZTljNn0ucGFuZWwtaW5mb3tib3JkZXItY29sb3I6I2JjZThmMX0ucGFuZWwtaW5mbz4ucGFuZWwtaGVhZGluZ3tjb2xvcjojMzE3MDhmO2JhY2tncm91bmQtY29sb3I6I2Q5ZWRmNztib3JkZXItY29sb3I6I2JjZThmMX0ucGFuZWwtaW5mbz4ucGFuZWwtaGVhZGluZysucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLXRvcC1jb2xvcjojYmNlOGYxfS5wYW5lbC1pbmZvPi5wYW5lbC1oZWFkaW5nIC5iYWRnZXtjb2xvcjojZDllZGY3O2JhY2tncm91bmQtY29sb3I6IzMxNzA4Zn0ucGFuZWwtaW5mbz4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiNiY2U4ZjF9LnBhbmVsLXdhcm5pbmd7Ym9yZGVyLWNvbG9yOiNmYWViY2N9LnBhbmVsLXdhcm5pbmc+LnBhbmVsLWhlYWRpbmd7Y29sb3I6IzhhNmQzYjtiYWNrZ3JvdW5kLWNvbG9yOiNmY2Y4ZTM7Ym9yZGVyLWNvbG9yOiNmYWViY2N9LnBhbmVsLXdhcm5pbmc+LnBhbmVsLWhlYWRpbmcrLnBhbmVsLWNvbGxhcHNlPi5wYW5lbC1ib2R5e2JvcmRlci10b3AtY29sb3I6I2ZhZWJjY30ucGFuZWwtd2FybmluZz4ucGFuZWwtaGVhZGluZyAuYmFkZ2V7Y29sb3I6I2ZjZjhlMztiYWNrZ3JvdW5kLWNvbG9yOiM4YTZkM2J9LnBhbmVsLXdhcm5pbmc+LnBhbmVsLWZvb3RlcisucGFuZWwtY29sbGFwc2U+LnBhbmVsLWJvZHl7Ym9yZGVyLWJvdHRvbS1jb2xvcjojZmFlYmNjfS5wYW5lbC1kYW5nZXJ7Ym9yZGVyLWNvbG9yOiNlYmNjZDF9LnBhbmVsLWRhbmdlcj4ucGFuZWwtaGVhZGluZ3tjb2xvcjojYTk0NDQyO2JhY2tncm91bmQtY29sb3I6I2YyZGVkZTtib3JkZXItY29sb3I6I2ViY2NkMX0ucGFuZWwtZGFuZ2VyPi5wYW5lbC1oZWFkaW5nKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItdG9wLWNvbG9yOiNlYmNjZDF9LnBhbmVsLWRhbmdlcj4ucGFuZWwtaGVhZGluZyAuYmFkZ2V7Y29sb3I6I2YyZGVkZTtiYWNrZ3JvdW5kLWNvbG9yOiNhOTQ0NDJ9LnBhbmVsLWRhbmdlcj4ucGFuZWwtZm9vdGVyKy5wYW5lbC1jb2xsYXBzZT4ucGFuZWwtYm9keXtib3JkZXItYm90dG9tLWNvbG9yOiNlYmNjZDF9LmVtYmVkLXJlc3BvbnNpdmV7cG9zaXRpb246cmVsYXRpdmU7ZGlzcGxheTpibG9jaztoZWlnaHQ6MDtwYWRkaW5nOjA7b3ZlcmZsb3c6aGlkZGVufS5lbWJlZC1yZXNwb25zaXZlIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sLmVtYmVkLXJlc3BvbnNpdmUgZW1iZWQsLmVtYmVkLXJlc3BvbnNpdmUgaWZyYW1lLC5lbWJlZC1yZXNwb25zaXZlIG9iamVjdCwuZW1iZWQtcmVzcG9uc2l2ZSB2aWRlb3twb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtib3R0b206MDtsZWZ0OjA7d2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTtib3JkZXI6MH0uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OXtwYWRkaW5nLWJvdHRvbTo1Ni4yNSV9LmVtYmVkLXJlc3BvbnNpdmUtNGJ5M3twYWRkaW5nLWJvdHRvbTo3NSV9LndlbGx7bWluLWhlaWdodDoyMHB4O3BhZGRpbmc6MTlweDttYXJnaW4tYm90dG9tOjIwcHg7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1O2JvcmRlcjoxcHggc29saWQgI2UzZTNlMztib3JkZXItcmFkaXVzOjRweDstd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSl9LndlbGwgYmxvY2txdW90ZXtib3JkZXItY29sb3I6I2RkZDtib3JkZXItY29sb3I6cmdiYSgwLDAsMCwuMTUpfS53ZWxsLWxne3BhZGRpbmc6MjRweDtib3JkZXItcmFkaXVzOjZweH0ud2VsbC1zbXtwYWRkaW5nOjlweDtib3JkZXItcmFkaXVzOjNweH0uY2xvc2V7ZmxvYXQ6cmlnaHQ7Zm9udC1zaXplOjIxcHg7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDt0ZXh0LXNoYWRvdzowIDFweCAwICNmZmY7ZmlsdGVyOmFscGhhKG9wYWNpdHk9MjApO29wYWNpdHk6LjJ9LmNsb3NlOmZvY3VzLC5jbG9zZTpob3Zlcntjb2xvcjojMDAwO3RleHQtZGVjb3JhdGlvbjpub25lO2N1cnNvcjpwb2ludGVyO2ZpbHRlcjphbHBoYShvcGFjaXR5PTUwKTtvcGFjaXR5Oi41fWJ1dHRvbi5jbG9zZXstd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtwYWRkaW5nOjA7Y3Vyc29yOnBvaW50ZXI7YmFja2dyb3VuZDowIDA7Ym9yZGVyOjB9Lm1vZGFsLW9wZW57b3ZlcmZsb3c6aGlkZGVufS5tb2RhbHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjEwNTA7ZGlzcGxheTpub25lO292ZXJmbG93OmhpZGRlbjstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzp0b3VjaDtvdXRsaW5lOjB9Lm1vZGFsLmZhZGUgLm1vZGFsLWRpYWxvZ3std2Via2l0LXRyYW5zaXRpb246LXdlYmtpdC10cmFuc2Zvcm0gLjNzIGVhc2Utb3V0Oy1vLXRyYW5zaXRpb246LW8tdHJhbnNmb3JtIC4zcyBlYXNlLW91dDt0cmFuc2l0aW9uOnRyYW5zZm9ybSAuM3MgZWFzZS1vdXQ7LXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSk7LW1zLXRyYW5zZm9ybTp0cmFuc2xhdGUoMCwtMjUlKTstby10cmFuc2Zvcm06dHJhbnNsYXRlKDAsLTI1JSk7dHJhbnNmb3JtOnRyYW5zbGF0ZSgwLC0yNSUpfS5tb2RhbC5pbiAubW9kYWwtZGlhbG9ney13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApOy1tcy10cmFuc2Zvcm06dHJhbnNsYXRlKDAsMCk7LW8tdHJhbnNmb3JtOnRyYW5zbGF0ZSgwLDApO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX0ubW9kYWwtb3BlbiAubW9kYWx7b3ZlcmZsb3cteDpoaWRkZW47b3ZlcmZsb3cteTphdXRvfS5tb2RhbC1kaWFsb2d7cG9zaXRpb246cmVsYXRpdmU7d2lkdGg6YXV0bzttYXJnaW46MTBweH0ubW9kYWwtY29udGVudHtwb3NpdGlvbjpyZWxhdGl2ZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgIzk5OTtib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci1yYWRpdXM6NnB4O291dGxpbmU6MDstd2Via2l0LWJveC1zaGFkb3c6MCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6MCAzcHggOXB4IHJnYmEoMCwwLDAsLjUpfS5tb2RhbC1iYWNrZHJvcHtwb3NpdGlvbjpmaXhlZDt0b3A6MDtyaWdodDowO2JvdHRvbTowO2xlZnQ6MDt6LWluZGV4OjEwNDA7YmFja2dyb3VuZC1jb2xvcjojMDAwfS5tb2RhbC1iYWNrZHJvcC5mYWRle2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO29wYWNpdHk6MH0ubW9kYWwtYmFja2Ryb3AuaW57ZmlsdGVyOmFscGhhKG9wYWNpdHk9NTApO29wYWNpdHk6LjV9Lm1vZGFsLWhlYWRlcntwYWRkaW5nOjE1cHg7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2U1ZTVlNX0ubW9kYWwtaGVhZGVyIC5jbG9zZXttYXJnaW4tdG9wOi0ycHh9Lm1vZGFsLXRpdGxle21hcmdpbjowO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDN9Lm1vZGFsLWJvZHl7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzoxNXB4fS5tb2RhbC1mb290ZXJ7cGFkZGluZzoxNXB4O3RleHQtYWxpZ246cmlnaHQ7Ym9yZGVyLXRvcDoxcHggc29saWQgI2U1ZTVlNX0ubW9kYWwtZm9vdGVyIC5idG4rLmJ0bnttYXJnaW4tYm90dG9tOjA7bWFyZ2luLWxlZnQ6NXB4fS5tb2RhbC1mb290ZXIgLmJ0bi1ncm91cCAuYnRuKy5idG57bWFyZ2luLWxlZnQ6LTFweH0ubW9kYWwtZm9vdGVyIC5idG4tYmxvY2srLmJ0bi1ibG9ja3ttYXJnaW4tbGVmdDowfS5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZXtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6LTk5OTlweDt3aWR0aDo1MHB4O2hlaWdodDo1MHB4O292ZXJmbG93OnNjcm9sbH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7Lm1vZGFsLWRpYWxvZ3t3aWR0aDo2MDBweDttYXJnaW46MzBweCBhdXRvfS5tb2RhbC1jb250ZW50ey13ZWJraXQtYm94LXNoYWRvdzowIDVweCAxNXB4IHJnYmEoMCwwLDAsLjUpO2JveC1zaGFkb3c6MCA1cHggMTVweCByZ2JhKDAsMCwwLC41KX0ubW9kYWwtc217d2lkdGg6MzAwcHh9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KXsubW9kYWwtbGd7d2lkdGg6OTAwcHh9fS50b29sdGlwe3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6MTA3MDtkaXNwbGF5OmJsb2NrO2ZvbnQtZmFtaWx5OiJIZWx2ZXRpY2EgTmV1ZSIsSGVsdmV0aWNhLEFyaWFsLHNhbnMtc2VyaWY7Zm9udC1zaXplOjEycHg7Zm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6NDAwO2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7dGV4dC1hbGlnbjpsZWZ0O3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dGV4dC1zaGFkb3c6bm9uZTt0ZXh0LXRyYW5zZm9ybTpub25lO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLWJyZWFrOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3dvcmQtd3JhcDpub3JtYWw7d2hpdGUtc3BhY2U6bm9ybWFsO2ZpbHRlcjphbHBoYShvcGFjaXR5PTApO29wYWNpdHk6MDtsaW5lLWJyZWFrOmF1dG99LnRvb2x0aXAuaW57ZmlsdGVyOmFscGhhKG9wYWNpdHk9OTApO29wYWNpdHk6Ljl9LnRvb2x0aXAudG9we3BhZGRpbmc6NXB4IDA7bWFyZ2luLXRvcDotM3B4fS50b29sdGlwLnJpZ2h0e3BhZGRpbmc6MCA1cHg7bWFyZ2luLWxlZnQ6M3B4fS50b29sdGlwLmJvdHRvbXtwYWRkaW5nOjVweCAwO21hcmdpbi10b3A6M3B4fS50b29sdGlwLmxlZnR7cGFkZGluZzowIDVweDttYXJnaW4tbGVmdDotM3B4fS50b29sdGlwLWlubmVye21heC13aWR0aDoyMDBweDtwYWRkaW5nOjNweCA4cHg7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjtiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7Ym9yZGVyLXJhZGl1czo0cHh9LnRvb2x0aXAtYXJyb3d7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkfS50b29sdGlwLnRvcCAudG9vbHRpcC1hcnJvd3tib3R0b206MDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotNXB4O2JvcmRlci13aWR0aDo1cHggNXB4IDA7Ym9yZGVyLXRvcC1jb2xvcjojMDAwfS50b29sdGlwLnRvcC1sZWZ0IC50b29sdGlwLWFycm93e3JpZ2h0OjVweDtib3R0b206MDttYXJnaW4tYm90dG9tOi01cHg7Ym9yZGVyLXdpZHRoOjVweCA1cHggMDtib3JkZXItdG9wLWNvbG9yOiMwMDB9LnRvb2x0aXAudG9wLXJpZ2h0IC50b29sdGlwLWFycm93e2JvdHRvbTowO2xlZnQ6NXB4O21hcmdpbi1ib3R0b206LTVweDtib3JkZXItd2lkdGg6NXB4IDVweCAwO2JvcmRlci10b3AtY29sb3I6IzAwMH0udG9vbHRpcC5yaWdodCAudG9vbHRpcC1hcnJvd3t0b3A6NTAlO2xlZnQ6MDttYXJnaW4tdG9wOi01cHg7Ym9yZGVyLXdpZHRoOjVweCA1cHggNXB4IDA7Ym9yZGVyLXJpZ2h0LWNvbG9yOiMwMDB9LnRvb2x0aXAubGVmdCAudG9vbHRpcC1hcnJvd3t0b3A6NTAlO3JpZ2h0OjA7bWFyZ2luLXRvcDotNXB4O2JvcmRlci13aWR0aDo1cHggMCA1cHggNXB4O2JvcmRlci1sZWZ0LWNvbG9yOiMwMDB9LnRvb2x0aXAuYm90dG9tIC50b29sdGlwLWFycm93e3RvcDowO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi01cHg7Ym9yZGVyLXdpZHRoOjAgNXB4IDVweDtib3JkZXItYm90dG9tLWNvbG9yOiMwMDB9LnRvb2x0aXAuYm90dG9tLWxlZnQgLnRvb2x0aXAtYXJyb3d7dG9wOjA7cmlnaHQ6NXB4O21hcmdpbi10b3A6LTVweDtib3JkZXItd2lkdGg6MCA1cHggNXB4O2JvcmRlci1ib3R0b20tY29sb3I6IzAwMH0udG9vbHRpcC5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3d7dG9wOjA7bGVmdDo1cHg7bWFyZ2luLXRvcDotNXB4O2JvcmRlci13aWR0aDowIDVweCA1cHg7Ym9yZGVyLWJvdHRvbS1jb2xvcjojMDAwfS5wb3BvdmVye3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDt6LWluZGV4OjEwNjA7ZGlzcGxheTpub25lO21heC13aWR0aDoyNzZweDtwYWRkaW5nOjFweDtmb250LWZhbWlseToiSGVsdmV0aWNhIE5ldWUiLEhlbHZldGljYSxBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO3RleHQtYWxpZ246bGVmdDt0ZXh0LWFsaWduOnN0YXJ0O3RleHQtZGVjb3JhdGlvbjpub25lO3RleHQtc2hhZG93Om5vbmU7dGV4dC10cmFuc2Zvcm06bm9uZTtsZXR0ZXItc3BhY2luZzpub3JtYWw7d29yZC1icmVhazpub3JtYWw7d29yZC1zcGFjaW5nOm5vcm1hbDt3b3JkLXdyYXA6bm9ybWFsO3doaXRlLXNwYWNlOm5vcm1hbDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7YmFja2dyb3VuZC1jbGlwOnBhZGRpbmctYm94O2JvcmRlcjoxcHggc29saWQgI2NjYztib3JkZXI6MXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO2JvcmRlci1yYWRpdXM6NnB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpO2JveC1zaGFkb3c6MCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKTtsaW5lLWJyZWFrOmF1dG99LnBvcG92ZXIudG9we21hcmdpbi10b3A6LTEwcHh9LnBvcG92ZXIucmlnaHR7bWFyZ2luLWxlZnQ6MTBweH0ucG9wb3Zlci5ib3R0b217bWFyZ2luLXRvcDoxMHB4fS5wb3BvdmVyLmxlZnR7bWFyZ2luLWxlZnQ6LTEwcHh9LnBvcG92ZXItdGl0bGV7cGFkZGluZzo4cHggMTRweDttYXJnaW46MDtmb250LXNpemU6MTRweDtiYWNrZ3JvdW5kLWNvbG9yOiNmN2Y3Zjc7Ym9yZGVyLWJvdHRvbToxcHggc29saWQgI2ViZWJlYjtib3JkZXItcmFkaXVzOjVweCA1cHggMCAwfS5wb3BvdmVyLWNvbnRlbnR7cGFkZGluZzo5cHggMTRweH0ucG9wb3Zlcj4uYXJyb3csLnBvcG92ZXI+LmFycm93OmFmdGVye3Bvc2l0aW9uOmFic29sdXRlO2Rpc3BsYXk6YmxvY2s7d2lkdGg6MDtoZWlnaHQ6MDtib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7Ym9yZGVyLXN0eWxlOnNvbGlkfS5wb3BvdmVyPi5hcnJvd3tib3JkZXItd2lkdGg6MTFweH0ucG9wb3Zlcj4uYXJyb3c6YWZ0ZXJ7Y29udGVudDoiIjtib3JkZXItd2lkdGg6MTBweH0ucG9wb3Zlci50b3A+LmFycm93e2JvdHRvbTotMTFweDtsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTFweDtib3JkZXItdG9wLWNvbG9yOiM5OTk7Ym9yZGVyLXRvcC1jb2xvcjpyZ2JhKDAsMCwwLC4yNSk7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5wb3BvdmVyLnRvcD4uYXJyb3c6YWZ0ZXJ7Ym90dG9tOjFweDttYXJnaW4tbGVmdDotMTBweDtjb250ZW50OiIgIjtib3JkZXItdG9wLWNvbG9yOiNmZmY7Ym9yZGVyLWJvdHRvbS13aWR0aDowfS5wb3BvdmVyLnJpZ2h0Pi5hcnJvd3t0b3A6NTAlO2xlZnQ6LTExcHg7bWFyZ2luLXRvcDotMTFweDtib3JkZXItcmlnaHQtY29sb3I6Izk5OTtib3JkZXItcmlnaHQtY29sb3I6cmdiYSgwLDAsMCwuMjUpO2JvcmRlci1sZWZ0LXdpZHRoOjB9LnBvcG92ZXIucmlnaHQ+LmFycm93OmFmdGVye2JvdHRvbTotMTBweDtsZWZ0OjFweDtjb250ZW50OiIgIjtib3JkZXItcmlnaHQtY29sb3I6I2ZmZjtib3JkZXItbGVmdC13aWR0aDowfS5wb3BvdmVyLmJvdHRvbT4uYXJyb3d7dG9wOi0xMXB4O2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi0xMXB4O2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLWNvbG9yOiM5OTk7Ym9yZGVyLWJvdHRvbS1jb2xvcjpyZ2JhKDAsMCwwLC4yNSl9LnBvcG92ZXIuYm90dG9tPi5hcnJvdzphZnRlcnt0b3A6MXB4O21hcmdpbi1sZWZ0Oi0xMHB4O2NvbnRlbnQ6IiAiO2JvcmRlci10b3Atd2lkdGg6MDtib3JkZXItYm90dG9tLWNvbG9yOiNmZmZ9LnBvcG92ZXIubGVmdD4uYXJyb3d7dG9wOjUwJTtyaWdodDotMTFweDttYXJnaW4tdG9wOi0xMXB4O2JvcmRlci1yaWdodC13aWR0aDowO2JvcmRlci1sZWZ0LWNvbG9yOiM5OTk7Ym9yZGVyLWxlZnQtY29sb3I6cmdiYSgwLDAsMCwuMjUpfS5wb3BvdmVyLmxlZnQ+LmFycm93OmFmdGVye3JpZ2h0OjFweDtib3R0b206LTEwcHg7Y29udGVudDoiICI7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtY29sb3I6I2ZmZn0uY2Fyb3VzZWx7cG9zaXRpb246cmVsYXRpdmV9LmNhcm91c2VsLWlubmVye3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7b3ZlcmZsb3c6aGlkZGVufS5jYXJvdXNlbC1pbm5lcj4uaXRlbXtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5Om5vbmU7LXdlYmtpdC10cmFuc2l0aW9uOi42cyBlYXNlLWluLW91dCBsZWZ0Oy1vLXRyYW5zaXRpb246LjZzIGVhc2UtaW4tb3V0IGxlZnQ7dHJhbnNpdGlvbjouNnMgZWFzZS1pbi1vdXQgbGVmdH0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0+YT5pbWcsLmNhcm91c2VsLWlubmVyPi5pdGVtPmltZ3tsaW5lLWhlaWdodDoxfUBtZWRpYSBhbGwgYW5kICh0cmFuc2Zvcm0tM2QpLCgtd2Via2l0LXRyYW5zZm9ybS0zZCl7LmNhcm91c2VsLWlubmVyPi5pdGVtey13ZWJraXQtdHJhbnNpdGlvbjotd2Via2l0LXRyYW5zZm9ybSAuNnMgZWFzZS1pbi1vdXQ7LW8tdHJhbnNpdGlvbjotby10cmFuc2Zvcm0gLjZzIGVhc2UtaW4tb3V0O3RyYW5zaXRpb246dHJhbnNmb3JtIC42cyBlYXNlLWluLW91dDstd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuO2JhY2tmYWNlLXZpc2liaWxpdHk6aGlkZGVuOy13ZWJraXQtcGVyc3BlY3RpdmU6MTAwMHB4O3BlcnNwZWN0aXZlOjEwMDBweH0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0uYWN0aXZlLnJpZ2h0LC5jYXJvdXNlbC1pbm5lcj4uaXRlbS5uZXh0e2xlZnQ6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgxMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDEwMCUsMCwwKX0uY2Fyb3VzZWwtaW5uZXI+Lml0ZW0uYWN0aXZlLmxlZnQsLmNhcm91c2VsLWlubmVyPi5pdGVtLnByZXZ7bGVmdDowOy13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKC0xMDAlLDAsMCl9LmNhcm91c2VsLWlubmVyPi5pdGVtLmFjdGl2ZSwuY2Fyb3VzZWwtaW5uZXI+Lml0ZW0ubmV4dC5sZWZ0LC5jYXJvdXNlbC1pbm5lcj4uaXRlbS5wcmV2LnJpZ2h0e2xlZnQ6MDstd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGUzZCgwLDAsMCk7dHJhbnNmb3JtOnRyYW5zbGF0ZTNkKDAsMCwwKX19LmNhcm91c2VsLWlubmVyPi5hY3RpdmUsLmNhcm91c2VsLWlubmVyPi5uZXh0LC5jYXJvdXNlbC1pbm5lcj4ucHJldntkaXNwbGF5OmJsb2NrfS5jYXJvdXNlbC1pbm5lcj4uYWN0aXZle2xlZnQ6MH0uY2Fyb3VzZWwtaW5uZXI+Lm5leHQsLmNhcm91c2VsLWlubmVyPi5wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO3dpZHRoOjEwMCV9LmNhcm91c2VsLWlubmVyPi5uZXh0e2xlZnQ6MTAwJX0uY2Fyb3VzZWwtaW5uZXI+LnByZXZ7bGVmdDotMTAwJX0uY2Fyb3VzZWwtaW5uZXI+Lm5leHQubGVmdCwuY2Fyb3VzZWwtaW5uZXI+LnByZXYucmlnaHR7bGVmdDowfS5jYXJvdXNlbC1pbm5lcj4uYWN0aXZlLmxlZnR7bGVmdDotMTAwJX0uY2Fyb3VzZWwtaW5uZXI+LmFjdGl2ZS5yaWdodHtsZWZ0OjEwMCV9LmNhcm91c2VsLWNvbnRyb2x7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDowO3dpZHRoOjE1JTtmb250LXNpemU6MjBweDtjb2xvcjojZmZmO3RleHQtYWxpZ246Y2VudGVyO3RleHQtc2hhZG93OjAgMXB4IDJweCByZ2JhKDAsMCwwLC42KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7ZmlsdGVyOmFscGhhKG9wYWNpdHk9NTApO29wYWNpdHk6LjV9LmNhcm91c2VsLWNvbnRyb2wubGVmdHtiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQscmdiYSgwLDAsMCwuNSkgMCxyZ2JhKDAsMCwwLC4wMDAxKSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMCwwLDAsLjUpIDAscmdiYSgwLDAsMCwuMDAwMSkgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbShyZ2JhKDAsMCwwLC41KSksdG8ocmdiYSgwLDAsMCwuMDAwMSkpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC41KSAwLHJnYmEoMCwwLDAsLjAwMDEpIDEwMCUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzgwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0uY2Fyb3VzZWwtY29udHJvbC5yaWdodHtyaWdodDowO2xlZnQ6YXV0bztiYWNrZ3JvdW5kLWltYWdlOi13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQscmdiYSgwLDAsMCwuMDAwMSkgMCxyZ2JhKDAsMCwwLC41KSAxMDAlKTtiYWNrZ3JvdW5kLWltYWdlOi1vLWxpbmVhci1ncmFkaWVudChsZWZ0LHJnYmEoMCwwLDAsLjAwMDEpIDAscmdiYSgwLDAsMCwuNSkgMTAwJSk7YmFja2dyb3VuZC1pbWFnZTotd2Via2l0LWdyYWRpZW50KGxpbmVhcixsZWZ0IHRvcCxyaWdodCB0b3AsZnJvbShyZ2JhKDAsMCwwLC4wMDAxKSksdG8ocmdiYSgwLDAsMCwuNSkpKTtiYWNrZ3JvdW5kLWltYWdlOmxpbmVhci1ncmFkaWVudCh0byByaWdodCxyZ2JhKDAsMCwwLC4wMDAxKSAwLHJnYmEoMCwwLDAsLjUpIDEwMCUpO2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nIzAwMDAwMDAwJywgZW5kQ29sb3JzdHI9JyM4MDAwMDAwMCcsIEdyYWRpZW50VHlwZT0xKTtiYWNrZ3JvdW5kLXJlcGVhdDpyZXBlYXQteH0uY2Fyb3VzZWwtY29udHJvbDpmb2N1cywuY2Fyb3VzZWwtY29udHJvbDpob3Zlcntjb2xvcjojZmZmO3RleHQtZGVjb3JhdGlvbjpub25lO2ZpbHRlcjphbHBoYShvcGFjaXR5PTkwKTtvdXRsaW5lOjA7b3BhY2l0eTouOX0uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2e3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7ei1pbmRleDo1O2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi10b3A6LTEwcHh9LmNhcm91c2VsLWNvbnRyb2wgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldntsZWZ0OjUwJTttYXJnaW4tbGVmdDotMTBweH0uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dHtyaWdodDo1MCU7bWFyZ2luLXJpZ2h0Oi0xMHB4fS5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldnt3aWR0aDoyMHB4O2hlaWdodDoyMHB4O2ZvbnQtZmFtaWx5OnNlcmlmO2xpbmUtaGVpZ2h0OjF9LmNhcm91c2VsLWNvbnRyb2wgLmljb24tcHJldjpiZWZvcmV7Y29udGVudDonXDIwMzknfS5jYXJvdXNlbC1jb250cm9sIC5pY29uLW5leHQ6YmVmb3Jle2NvbnRlbnQ6J1wyMDNhJ30uY2Fyb3VzZWwtaW5kaWNhdG9yc3twb3NpdGlvbjphYnNvbHV0ZTtib3R0b206MTBweDtsZWZ0OjUwJTt6LWluZGV4OjE1O3dpZHRoOjYwJTtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tbGVmdDotMzAlO3RleHQtYWxpZ246Y2VudGVyO2xpc3Qtc3R5bGU6bm9uZX0uY2Fyb3VzZWwtaW5kaWNhdG9ycyBsaXtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoxMHB4O2hlaWdodDoxMHB4O21hcmdpbjoxcHg7dGV4dC1pbmRlbnQ6LTk5OXB4O2N1cnNvcjpwb2ludGVyO2JhY2tncm91bmQtY29sb3I6IzAwMFw5O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTtib3JkZXI6MXB4IHNvbGlkICNmZmY7Ym9yZGVyLXJhZGl1czoxMHB4fS5jYXJvdXNlbC1pbmRpY2F0b3JzIC5hY3RpdmV7d2lkdGg6MTJweDtoZWlnaHQ6MTJweDttYXJnaW46MDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmZ9LmNhcm91c2VsLWNhcHRpb257cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6MTUlO2JvdHRvbToyMHB4O2xlZnQ6MTUlO3otaW5kZXg6MTA7cGFkZGluZy10b3A6MjBweDtwYWRkaW5nLWJvdHRvbToyMHB4O2NvbG9yOiNmZmY7dGV4dC1hbGlnbjpjZW50ZXI7dGV4dC1zaGFkb3c6MCAxcHggMnB4IHJnYmEoMCwwLDAsLjYpfS5jYXJvdXNlbC1jYXB0aW9uIC5idG57dGV4dC1zaGFkb3c6bm9uZX1AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjc2OHB4KXsuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwuY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQsLmNhcm91c2VsLWNvbnRyb2wgLmljb24tbmV4dCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2e3dpZHRoOjMwcHg7aGVpZ2h0OjMwcHg7bWFyZ2luLXRvcDotMTBweDtmb250LXNpemU6MzBweH0uY2Fyb3VzZWwtY29udHJvbCAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1wcmV2e21hcmdpbi1sZWZ0Oi0xMHB4fS5jYXJvdXNlbC1jb250cm9sIC5nbHlwaGljb24tY2hldnJvbi1yaWdodCwuY2Fyb3VzZWwtY29udHJvbCAuaWNvbi1uZXh0e21hcmdpbi1yaWdodDotMTBweH0uY2Fyb3VzZWwtY2FwdGlvbntyaWdodDoyMCU7bGVmdDoyMCU7cGFkZGluZy1ib3R0b206MzBweH0uY2Fyb3VzZWwtaW5kaWNhdG9yc3tib3R0b206MjBweH19LmJ0bi1ncm91cC12ZXJ0aWNhbD4uYnRuLWdyb3VwOmFmdGVyLC5idG4tZ3JvdXAtdmVydGljYWw+LmJ0bi1ncm91cDpiZWZvcmUsLmJ0bi10b29sYmFyOmFmdGVyLC5idG4tdG9vbGJhcjpiZWZvcmUsLmNsZWFyZml4OmFmdGVyLC5jbGVhcmZpeDpiZWZvcmUsLmNvbnRhaW5lci1mbHVpZDphZnRlciwuY29udGFpbmVyLWZsdWlkOmJlZm9yZSwuY29udGFpbmVyOmFmdGVyLC5jb250YWluZXI6YmVmb3JlLC5kbC1ob3Jpem9udGFsIGRkOmFmdGVyLC5kbC1ob3Jpem9udGFsIGRkOmJlZm9yZSwuZm9ybS1ob3Jpem9udGFsIC5mb3JtLWdyb3VwOmFmdGVyLC5mb3JtLWhvcml6b250YWwgLmZvcm0tZ3JvdXA6YmVmb3JlLC5tb2RhbC1mb290ZXI6YWZ0ZXIsLm1vZGFsLWZvb3RlcjpiZWZvcmUsLm1vZGFsLWhlYWRlcjphZnRlciwubW9kYWwtaGVhZGVyOmJlZm9yZSwubmF2OmFmdGVyLC5uYXY6YmVmb3JlLC5uYXZiYXItY29sbGFwc2U6YWZ0ZXIsLm5hdmJhci1jb2xsYXBzZTpiZWZvcmUsLm5hdmJhci1oZWFkZXI6YWZ0ZXIsLm5hdmJhci1oZWFkZXI6YmVmb3JlLC5uYXZiYXI6YWZ0ZXIsLm5hdmJhcjpiZWZvcmUsLnBhZ2VyOmFmdGVyLC5wYWdlcjpiZWZvcmUsLnBhbmVsLWJvZHk6YWZ0ZXIsLnBhbmVsLWJvZHk6YmVmb3JlLC5yb3c6YWZ0ZXIsLnJvdzpiZWZvcmV7ZGlzcGxheTp0YWJsZTtjb250ZW50OiIgIn0uYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4tZ3JvdXA6YWZ0ZXIsLmJ0bi10b29sYmFyOmFmdGVyLC5jbGVhcmZpeDphZnRlciwuY29udGFpbmVyLWZsdWlkOmFmdGVyLC5jb250YWluZXI6YWZ0ZXIsLmRsLWhvcml6b250YWwgZGQ6YWZ0ZXIsLmZvcm0taG9yaXpvbnRhbCAuZm9ybS1ncm91cDphZnRlciwubW9kYWwtZm9vdGVyOmFmdGVyLC5tb2RhbC1oZWFkZXI6YWZ0ZXIsLm5hdjphZnRlciwubmF2YmFyLWNvbGxhcHNlOmFmdGVyLC5uYXZiYXItaGVhZGVyOmFmdGVyLC5uYXZiYXI6YWZ0ZXIsLnBhZ2VyOmFmdGVyLC5wYW5lbC1ib2R5OmFmdGVyLC5yb3c6YWZ0ZXJ7Y2xlYXI6Ym90aH0uY2VudGVyLWJsb2Nre2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXJpZ2h0OmF1dG87bWFyZ2luLWxlZnQ6YXV0b30ucHVsbC1yaWdodHtmbG9hdDpyaWdodCFpbXBvcnRhbnR9LnB1bGwtbGVmdHtmbG9hdDpsZWZ0IWltcG9ydGFudH0uaGlkZXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fS5zaG93e2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fS5pbnZpc2libGV7dmlzaWJpbGl0eTpoaWRkZW59LnRleHQtaGlkZXtmb250OjAvMCBhO2NvbG9yOnRyYW5zcGFyZW50O3RleHQtc2hhZG93Om5vbmU7YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtib3JkZXI6MH0uaGlkZGVue2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LmFmZml4e3Bvc2l0aW9uOmZpeGVkfUAtbXMtdmlld3BvcnR7d2lkdGg6ZGV2aWNlLXdpZHRofS52aXNpYmxlLWxnLC52aXNpYmxlLW1kLC52aXNpYmxlLXNtLC52aXNpYmxlLXhze2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9LnZpc2libGUtbGctYmxvY2ssLnZpc2libGUtbGctaW5saW5lLC52aXNpYmxlLWxnLWlubGluZS1ibG9jaywudmlzaWJsZS1tZC1ibG9jaywudmlzaWJsZS1tZC1pbmxpbmUsLnZpc2libGUtbWQtaW5saW5lLWJsb2NrLC52aXNpYmxlLXNtLWJsb2NrLC52aXNpYmxlLXNtLWlubGluZSwudmlzaWJsZS1zbS1pbmxpbmUtYmxvY2ssLnZpc2libGUteHMtYmxvY2ssLnZpc2libGUteHMtaW5saW5lLC52aXNpYmxlLXhzLWlubGluZS1ibG9ja3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudmlzaWJsZS14c3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH10YWJsZS52aXNpYmxlLXhze2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fXRyLnZpc2libGUteHN7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fXRkLnZpc2libGUteHMsdGgudmlzaWJsZS14c3tkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnZpc2libGUteHMtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsudmlzaWJsZS14cy1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1heC13aWR0aDo3NjdweCl7LnZpc2libGUteHMtaW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6NzY4cHgpIGFuZCAobWF4LXdpZHRoOjk5MXB4KXsudmlzaWJsZS1zbXtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH10YWJsZS52aXNpYmxlLXNte2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fXRyLnZpc2libGUtc217ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fXRkLnZpc2libGUtc20sdGgudmlzaWJsZS1zbXtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6OTkxcHgpey52aXNpYmxlLXNtLWJsb2Nre2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6OTkxcHgpey52aXNpYmxlLXNtLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDo5OTFweCl7LnZpc2libGUtc20taW5saW5lLWJsb2Nre2Rpc3BsYXk6aW5saW5lLWJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpIGFuZCAobWF4LXdpZHRoOjExOTlweCl7LnZpc2libGUtbWR7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9dGFibGUudmlzaWJsZS1tZHtkaXNwbGF5OnRhYmxlIWltcG9ydGFudH10ci52aXNpYmxlLW1ke2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH10ZC52aXNpYmxlLW1kLHRoLnZpc2libGUtbWR7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6OTkycHgpIGFuZCAobWF4LXdpZHRoOjExOTlweCl7LnZpc2libGUtbWQtYmxvY2t7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSBhbmQgKG1heC13aWR0aDoxMTk5cHgpey52aXNpYmxlLW1kLWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjk5MnB4KSBhbmQgKG1heC13aWR0aDoxMTk5cHgpey52aXNpYmxlLW1kLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LnZpc2libGUtbGd7ZGlzcGxheTpibG9jayFpbXBvcnRhbnR9dGFibGUudmlzaWJsZS1sZ3tkaXNwbGF5OnRhYmxlIWltcG9ydGFudH10ci52aXNpYmxlLWxne2Rpc3BsYXk6dGFibGUtcm93IWltcG9ydGFudH10ZC52aXNpYmxlLWxnLHRoLnZpc2libGUtbGd7ZGlzcGxheTp0YWJsZS1jZWxsIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudmlzaWJsZS1sZy1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH19QG1lZGlhIChtaW4td2lkdGg6MTIwMHB4KXsudmlzaWJsZS1sZy1pbmxpbmV7ZGlzcGxheTppbmxpbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDoxMjAwcHgpey52aXNpYmxlLWxnLWlubGluZS1ibG9ja3tkaXNwbGF5OmlubGluZS1ibG9jayFpbXBvcnRhbnR9fUBtZWRpYSAobWF4LXdpZHRoOjc2N3B4KXsuaGlkZGVuLXhze2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDo5OTFweCl7LmhpZGRlbi1zbXtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX1AbWVkaWEgKG1pbi13aWR0aDo5OTJweCkgYW5kIChtYXgtd2lkdGg6MTE5OXB4KXsuaGlkZGVuLW1ke2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9fUBtZWRpYSAobWluLXdpZHRoOjEyMDBweCl7LmhpZGRlbi1sZ3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX0udmlzaWJsZS1wcmludHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsudmlzaWJsZS1wcmludHtkaXNwbGF5OmJsb2NrIWltcG9ydGFudH10YWJsZS52aXNpYmxlLXByaW50e2Rpc3BsYXk6dGFibGUhaW1wb3J0YW50fXRyLnZpc2libGUtcHJpbnR7ZGlzcGxheTp0YWJsZS1yb3chaW1wb3J0YW50fXRkLnZpc2libGUtcHJpbnQsdGgudmlzaWJsZS1wcmludHtkaXNwbGF5OnRhYmxlLWNlbGwhaW1wb3J0YW50fX0udmlzaWJsZS1wcmludC1ibG9ja3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsudmlzaWJsZS1wcmludC1ibG9ja3tkaXNwbGF5OmJsb2NrIWltcG9ydGFudH19LnZpc2libGUtcHJpbnQtaW5saW5le2Rpc3BsYXk6bm9uZSFpbXBvcnRhbnR9QG1lZGlhIHByaW50ey52aXNpYmxlLXByaW50LWlubGluZXtkaXNwbGF5OmlubGluZSFpbXBvcnRhbnR9fS52aXNpYmxlLXByaW50LWlubGluZS1ibG9ja3tkaXNwbGF5Om5vbmUhaW1wb3J0YW50fUBtZWRpYSBwcmludHsudmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2t7ZGlzcGxheTppbmxpbmUtYmxvY2shaW1wb3J0YW50fX1AbWVkaWEgcHJpbnR7LmhpZGRlbi1wcmludHtkaXNwbGF5Om5vbmUhaW1wb3J0YW50fX0NCi8qIyBzb3VyY2VNYXBwaW5nVVJMPWJvb3RzdHJhcC5taW4uY3NzLm1hcCAqLw=="}},"time_used":168,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":131,"receive":37,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/style-main.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.588Z","timestamp":1785133989588,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/style-main.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 21 Feb 2021 05:03:46 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 29910\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":210610,"size_decoded":30141,"mime_type":"text/css","magic":"assembler source, ASCII text","md5":"892f98a2513192acdd6a73c7b39d1aa2","sha1":"aef582b2da1adcbea4e368934cbe8b5d0b948ac1","sha256":"e87b0f82bd9d9c783275d139e6fb4666fa21c8b20f937a74036f10a33f50ae7f","sha512":"11b43d162ae3742a3dc9e9b0d0878afd924143310311bb3f443c9a3af1f3b8958947e174c36c2f145bfca61fb905fbef7dd035b1002a571ef2758db5b8f8e19b","ssdeep":"6144:KsOh7oQ4bQbp16L6Vnyrrsw0KZbMfQug6nltJ6MmZHLJlG:KsOh7oQ4bQbp16L6Vnyrrsw0KZbMfQun","tlshash":"302473d5aeb11504301bd2adb1826aa5f73c5012ea0fdcbcbbd2205d9fc96d8817fb49","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:33:54.039083Z","times_seen":14,"resource_available":false,"data":"QGNoYXJzZXQgInV0Zi04IjsKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KW01hc3RlciBTdHlsZXNoZWV0XQoKUHJvamVjdDogICAgICAgIENyeXB0b1ByZXNzClZlcnNpb246ICAgICAgICAyLjAKTGFzdCBjaGFuZ2U6ICAgIDAxLjE1LjIwMTgKUHJpbWFyeSB1c2U6ICAgIENyeXB0b1ByZXNzIC0gQ3J5cHRvY3VycmVuY3kgUmVzcG9uc2l2ZSBIVE1MNSBUZW1wbGF0ZQpBdXRob3I6ICAgICAgICAgVGhlbWVNYXNjb3QKVVJMOiAgICAgICAgICAgIGh0dHA6Ly90aGVtZWZvcmVzdC5uZXQvdXNlci9UaGVtZU1hc2NvdAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyoKVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBjb21tb24gc3R5bGVzIG9mIHRoaXMgdGhlbWUuCiovCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tClt0YWJsZSBvZiBjb250ZW50c10KCiogdHlwb2dyYXBoeS5sZXNzCiogY29tbW9uLmxlc3MKKiBleHRyYS5sZXNzCiogb3ZlcmxheS5sZXNzCiogaGVhZGVyLmxlc3MKKiBuYXYubGVzcwoqIHRvcGJhci5sZXNzCiogaW5uZXItaGVhZGVyLXRpdGxlLmxlc3MKKiB2ZXJ0aWNhbC1uYXYubGVzcwoqIG1lbnUtZnVsbC1wYWdlLmxlc3MKKiBib3hlZC1sYXlvdXQubGVzcwoqIGZvcm0ubGVzcwoqIHNpZGUtcHVzaC1wYW5lbC5sZXNzCiogYm94LWhvdmVyLWVmZmVjdC5sZXNzCiogZ2FsbGVyeS1pc290b3BlLmxlc3MKKiBzbGlkZXIubGVzcwoqIGhvbWUubGVzcwoqIGFib3V0Lmxlc3MKKiBjYXVzZXMubGVzcwoqIHZvbHVudGVlci5sZXNzCiogY29udGFjdC5sZXNzCiogZXZlbnQubGVzcwoqIHByYWN0aWNlLWFyZWEubGVzcwoqIHNlcnZpY2VzLmxlc3MKKiBqb2IubGVzcwoqIHNob3AubGVzcwoqIGJsb2cubGVzcwoqIHNob3J0Y29kZXMubGVzcyAKCSogYWxlcnRzLmxlc3MKCSogYmxvY2txdW90ZS5sZXNzCgkqIGJ1dHRvbnMubGVzcwoJKiBjbGllbnRzLmxlc3MKCSogY291bnRkb3duLVRpbWVyLmxlc3MKCSogY291bnRkb3duLmxlc3MKCSogZGl2aWRlcnMubGVzcwoJKiBmYWNlYm9vay1kaXNxdXMtY29tbWVudHMubGVzcwoJKiBmYXFzLmxlc3MKCSogZmxleC1zbGlkZXIubGVzcwoJKiBmbGlwLWJveC5sZXNzCgkqIGZvbnQtaWNvbnMubGVzcwoJKiBmdW5mYWN0cy5sZXNzCgkqIGluZmluaXRlc2Nyb2xsLmxlc3MKCSogaW5zdGFncmFtLmxlc3MKCSogbGlnaHRib3gubGVzcwoJKiBtYXAubGVzcwoJKiBwZWdpbmF0aW9uLmxlc3MKCSogcHJpY2luZy5sZXNzCgkqIHByb2Nlc3Mtc3RlcHMubGVzcwoJKiBwcm9ncmVzcy1iYXIubGVzcwoJKiBwcm9tby5sZXNzCgkqIHNlY3Rpb24tdGl0bGUubGVzcwoJKiBzZXBhcmF0b3JzLmxlc3MKCSogc3R5bGVkLWljb25zLmxlc3MKCSogdGFicy5sZXNzCgkqIHRlYW1zLmxlc3MKCSogdGVzdGltb25pYWxzLmxlc3MKCSogdG9nZ2xlcy1hY2NvcmRpb25zLmxlc3MKCSogdmVydGljYWwtdGltZWxpbmUubGVzcwoJKiB3b3JraW5nLXByb2Nlc3MubGVzcwoqIEZvb3RlcgoqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiovCkBpbXBvcnQgImZvbnQtYXdlc29tZS5taW4uY3NzIjsKQGltcG9ydCAiZm9udC1hd2Vzb21lLWFuaW1hdGlvbi5taW4uY3NzIjsKQGltcG9ydCAicGUtaWNvbi03LXN0cm9rZS5jc3MiOwpAaW1wb3J0ICJlbGVnYW50LWljb25zLmNzcyI7CkBpbXBvcnQgImljb21vb24uY3NzIjsKQGltcG9ydCAiaW9uaWNvbnMuY3NzIjsKLyogQGltcG9ydCAiLi4vY3NzL3N0cm9rZS1nYXAtaWNvbnMuY3NzIjsgKi8KQGltcG9ydCAidXRpbGl0eS1jbGFzc2VzLmNzcyI7CkBpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjQwMCw2MDAsNzAwfFBUK1NlcmlmOjQwMCw3MDAnKTsKLyoKICogdHlwb2dyYXBoeS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCjo6c2VsZWN0aW9uIHsKICBiYWNrZ3JvdW5kOiAjMzMzMzMzOwogIGNvbG9yOiAjZmZmOwogIHRleHQtc2hhZG93OiBub25lOwp9Cjo6LW1vei1zZWxlY3Rpb24gewogIGJhY2tncm91bmQ6ICMzMzMzMzM7CiAgLyogRmlyZWZveCAqLwogIGNvbG9yOiAjZmZmOwogIHRleHQtc2hhZG93OiBub25lOwp9Cjo6LXdlYmtpdC1zZWxlY3Rpb24gewogIGJhY2tncm91bmQ6ICMzMzMzMzM7CiAgLyogU2FmYXJpICovCiAgY29sb3I6ICNmZmY7CiAgdGV4dC1zaGFkb3c6IG5vbmU7Cn0KOmFjdGl2ZSwKOmZvY3VzIHsKICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7Cn0KYm9keSB7CiAgbGluZS1oZWlnaHQ6IDEuNzsKICBjb2xvcjogIzc3Nzc3NzsKICBmb250LXNpemU6IDE0cHg7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6IGZpeGVkOwp9CmEgewogIGNvbG9yOiAjOTk5OTk5OwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKfQphOmhvdmVyLAphOmZvY3VzIHsKICBjb2xvcjogIzczNzM3MzsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KYSBpbWcgewogIGJvcmRlcjogbm9uZTsKfQppbWcgewogIG1heC13aWR0aDogMTAwJTsKfQppZnJhbWUgewogIGJvcmRlcjogbm9uZTsKfQovKiAtLS0tLS0tLSBIZWFkaW5ncyAtLS0tLS0tLS0tICovCmgxLAouaDEgewogIGZvbnQtc2l6ZTogMy40cmVtOwp9CmgyLAouaDIgewogIGZvbnQtc2l6ZTogMnJlbTsKfQpoMywKLmgzIHsKICBmb250LXNpemU6IDI0cHg7Cn0KaDQsCi5oNCB7CiAgZm9udC1zaXplOiAxOHB4Owp9Cmg1LAouaDUgewogIGZvbnQtc2l6ZTogMTRweDsKfQpoNiwKLmg2IHsKICBmb250LXNpemU6IDEycHg7Cn0KaDEsCmgyLApoMywKaDQsCmg1LApoNiwKLmgxLAouaDIsCi5oMywKLmg0LAouaDUsCi5oNiB7CiAgZm9udC1mYW1pbHk6ICdQVCBTZXJpZicsIHNlcmlmOwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7CiAgY29sb3I6ICMzMzMzMzM7Cn0KaDEgc21hbGwsCmgyIHNtYWxsLApoMyBzbWFsbCwKaDQgc21hbGwsCmg1IHNtYWxsLApoNiBzbWFsbCwKLmgxIHNtYWxsLAouaDIgc21hbGwsCi5oMyBzbWFsbCwKLmg0IHNtYWxsLAouaDUgc21hbGwsCi5oNiBzbWFsbCwKaDEgLnNtYWxsLApoMiAuc21hbGwsCmgzIC5zbWFsbCwKaDQgLnNtYWxsLApoNSAuc21hbGwsCmg2IC5zbWFsbCwKLmgxIC5zbWFsbCwKLmgyIC5zbWFsbCwKLmgzIC5zbWFsbCwKLmg0IC5zbWFsbCwKLmg1IC5zbWFsbCwKLmg2IC5zbWFsbCB7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKICBsaW5lLWhlaWdodDogMTsKICBjb2xvcjogIzMzMzMzMzsKfQpoMSBhLApoMiBhLApoMyBhLApoNCBhLApoNSBhLApoNiBhLAouaDEgYSwKLmgyIGEsCi5oMyBhLAouaDQgYSwKLmg1IGEsCi5oNiBhIHsKICBjb2xvcjogIzMzMzMzMzsKfQouaDEsCi5oMiwKLmgzLApoMSwKaDIsCmgzIHsKICBtYXJnaW4tYm90dG9tOiAxMHB4OwogIG1hcmdpbi10b3A6IDE1cHg7Cn0KaDQsCmg1LApoNiwKLmg0LAouaDUsCi5oNiB7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQovKiAtLS0tLS0tLSBCb2R5IFRleHQgLS0tLS0tLS0tLSAqLwpwLApwcmUsCnVsLApvbCwKZGwsCmRkLApibG9ja3F1b3RlLAphZGRyZXNzLAp0YWJsZSwKZmllbGRzZXQsCmZvcm0gewogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLyogLS0tLS0tLS0gQ3VzdG9tIEZvbnQgRmFtaWx5IC0tLS0tLS0tLS0gKi8KLmZvbnQtT3BlbnNhbnMgewogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsKfQouZm9udC1Nb250c2VycmF0IHsKICBmb250LWZhbWlseTogJ1BUIFNlcmlmJywgc2VyaWY7Cn0KLyogYnJlYWRjcnVtYiAqLwouYnJlYWRjcnVtYiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgcGFkZGluZy1sZWZ0OiAwOwp9Ci5icmVhZGNydW1iID4gbGkgKyBsaTo6YmVmb3JlIHsKICBjb250ZW50OiAiXGYyMmQiOwogIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTsKICBmb250LXNpemU6IDlweDsKfQouYnJlYWRjcnVtYiBsaS5hY3RpdmUgewogIGNvbG9yOiAjMTExMTExOwp9Ci5icmVhZGNydW1iIGxpIGEgewogIGNvbG9yOiAjNTU1NTU1Owp9Ci5icmVhZGNydW1iLndoaXRlIGxpIGEgewogIGNvbG9yOiAjZmZmOwogIGZvbnQtd2VpZ2h0OiA2MDA7Cn0KLmJyZWFkY3J1bWIud2hpdGUgbGkuYWN0aXZlIHsKICBjb2xvcjogI2MwYzBjMDsKICBmb250LXdlaWdodDogNzAwOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHsKICAuYnJlYWRjcnVtYi50ZXh0LXJpZ2h0IHsKICAgIHRleHQtYWxpZ246IHJpZ2h0OwogIH0KfQovKkRyb3AgQ2FwcyovCi5kcm9wLWNhcHMgcCB7CiAgdGV4dC1hbGlnbjoganVzdGlmeTsKfQouZHJvcC1jYXBzIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGV0dGVyIHsKICBjb2xvcjogIzExMTExMTsKICBkaXNwbGF5OiBibG9jazsKICBmbG9hdDogbGVmdDsKICBmb250LXNpemU6IDQ4cHg7CiAgbGluZS1oZWlnaHQ6IDQ4cHg7CiAgbWFyZ2luOiA2cHggM3B4OwogIHBhZGRpbmc6IDEwcHggMThweDsKfQouZHJvcC1jYXBzLnRleHQtY29sb3JlZCBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciB7CiAgZGlzcGxheTogYmxvY2s7CiAgZmxvYXQ6IGxlZnQ7CiAgZm9udC1zaXplOiA0OHB4OwogIGxpbmUtaGVpZ2h0OiA0OHB4OwogIG1hcmdpbjogNnB4IDNweDsKICBwYWRkaW5nOiAxMHB4IDE4cHg7Cn0KLmRyb3AtY2Fwcy5ib3JkZXIgcDpmaXJzdC1jaGlsZDpmaXJzdC1sZXR0ZXIgewogIGJvcmRlcjogMXB4IHNvbGlkOwogIG1hcmdpbjogOHB4IDE2cHggMCAwOwogIHBhZGRpbmc6IDE1cHggMjBweDsKfQouZHJvcC1jYXBzLmJvcmRlci1yb3VuZGVkIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGV0dGVyIHsKICBib3JkZXI6IDFweCBzb2xpZDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgbWFyZ2luOiA4cHggMTZweCAwIDA7CiAgcGFkZGluZzogMTVweCAyMHB4Owp9Ci5kcm9wLWNhcHMuY29sb3JlZC1zcXVhcmUgcDpmaXJzdC1jaGlsZDpmaXJzdC1sZXR0ZXIgewogIGNvbG9yOiAjZmZmOwogIG1hcmdpbjogOHB4IDE2cHggMCAwOwogIHBhZGRpbmc6IDE1cHggMjBweDsKfQouZHJvcC1jYXBzLmNvbG9yZWQtcm91bmRlZCBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciB7CiAgY29sb3I6ICNmZmY7CiAgbWFyZ2luOiA4cHggMTZweCAwIDA7CiAgcGFkZGluZzogMTVweCAyMHB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKfQouZHJvcC1jYXBzLmRhcmstc3F1YXJlIHA6Zmlyc3QtY2hpbGQ6Zmlyc3QtbGV0dGVyIHsKICBiYWNrZ3JvdW5kOiAjMjIyMjIyOwogIGNvbG9yOiAjZmZmOwogIG1hcmdpbjogOHB4IDE2cHggMCAwOwogIHBhZGRpbmc6IDE1cHggMjBweDsKfQouZHJvcC1jYXBzLmRhcmstcm91bmRlZCBwOmZpcnN0LWNoaWxkOmZpcnN0LWxldHRlciB7CiAgYmFja2dyb3VuZDogIzIyMjIyMjsKICBjb2xvcjogI2ZmZjsKICBtYXJnaW46IDhweCAxNnB4IDAgMDsKICBwYWRkaW5nOiAxNXB4IDIwcHg7CiAgYm9yZGVyLXJhZGl1czogNTAlOwp9Ci8qVGV4dCBIaWdobGlnaHQqLwoudGV4dC1oaWdobGlnaHQgewogIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgIzExMTExMTsKICBib3JkZXItcmFkaXVzOiA0cHg7CiAgY29sb3I6ICNmZmY7CiAgcGFkZGluZzogMCA1cHggM3B4Owp9Ci50ZXh0LWhpZ2hsaWdodC5saWdodCB7CiAgYmFja2dyb3VuZDogIzgwODA4MDsKfQovKgogKiBjb21tb24ubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBCYXNpYyBTdHJ1Y3R1cmUgLS0tLS0tLS0tLSAqLwpodG1sIHsKICBmb250LXNpemU6IDEwMCU7CiAgbWF4LXdpZHRoOiAxMDAlOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsKICBodG1sIHsKICAgIGZvbnQtc2l6ZTogOTAlOwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7CiAgaHRtbCB7CiAgICBmb250LXNpemU6IDg1JTsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkgewogIGh0bWwgewogICAgZm9udC1zaXplOiA4MCU7CiAgfQp9Cmh0bWwsCmh0bWwgYSB7CiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7Cn0KYm9keSB7CiAgbWF4LXdpZHRoOiAxMDAlOwogIG92ZXJmbG93LXg6IGhpZGRlbjsKfQppbWcgewogIG1heC13aWR0aDogMTAwJTsKfQp1bCwKb2wgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KLmZsdWlkLXZpZGVvLXdyYXBwZXIgewogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAxMDAlOwp9CmlmcmFtZSB7CiAgYm9yZGVyOiBub25lOwogIHdpZHRoOiAxMDAlOwp9Ci5sZWFkIHsKICBmb250LXNpemU6IDE4cHg7Cn0KLnRleHQtaGlnaGxpZ2h0IHsKICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICMxMTExMTE7CiAgYm9yZGVyLXJhZGl1czogNHB4OwogIGNvbG9yOiAjZmZmOwogIHBhZGRpbmc6IDAgNXB4IDNweDsKfQoudGV4dC1oaWdobGlnaHQubGlnaHQgewogIGJhY2tncm91bmQ6ICM4MDgwODA7Cn0KLmlubGluZS1ibG9jayB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Ci5kaXNwbGF5LWJsb2NrIHsKICBkaXNwbGF5OiBibG9jazsKfQouZnVsbHdpZHRoIHsKICB3aWR0aDogMTAwJTsKfQouYmctaG92ZXItdGhlbWUtY29sb3JlZCB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKfQovKiBUZXh0LWRlY29yYXRpb24gKi8KLnRleHQtdW5kZXJsaW5lIHsKICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsKfQovKiAtLS0tLS0tLSBMaW5lLUJvdHRvbSAtLS0tLS0tLS0tICovCi5oZWFkaW5nLWxpbmUtYm90dG9tIHsKICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICM4MDgwODA7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbjogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luOiAyMHB4IDA7Cn0KLmhlYWRpbmctbGluZS1ib3R0b206OmFmdGVyIHsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDRweDsKICB3aWR0aDogMjBweDsKfQouaGVhZGluZy10aXRsZSB7CiAgbWFyZ2luLXRvcDogMTBweDsKfQoubGluZS1ib3R0b20gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIHBhZGRpbmctYm90dG9tOiAxMHB4Owp9Ci5saW5lLWJvdHRvbTphZnRlciB7CiAgYm90dG9tOiAtMXB4OwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMnB4OwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA1MHB4Owp9Ci50aXRsZS1pY29uIFtjbGFzc149ImZsYXRpY29uLSJdOjphZnRlciwKLnRpdGxlLWljb24gW2NsYXNzXj0iZmxhdGljb24tIl06OmJlZm9yZSB7CiAgZm9udC1zaXplOiA0OHB4OwogIG1hcmdpbi1sZWZ0OiAxMHB4Owp9Ci50aXRsZS1pY29uIHsKICBtYXJnaW46IDAgYXV0bzsKICBtYXgtd2lkdGg6IDE2MHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudGl0bGUtaWNvbjo6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMnB4OwogIGxlZnQ6IDI0cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTBweDsKICB3aWR0aDogMzBweDsKfQoudGl0bGUtaWNvbjo6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDIwcHg7CiAgdG9wOiAxMHB4OwogIHdpZHRoOiAzMHB4Owp9Ci8qIC0tLS0tLS0tIExpc3QgLS0tLS0tLS0tLSAqLwp1bCwKb2wgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7Cn0KdWwgdWwsCm9sIHVsIHsKICBtYXJnaW4tbGVmdDogMTVweDsKfQp1bC5saXN0IHsKICBsaXN0LXN0eWxlOiBvdXRzaWRlIG5vbmUgbm9uZTsKICBtYXJnaW4tdG9wOiAxM3B4OwogIHBhZGRpbmctbGVmdDogMDsKfQp1bC5saXN0IGxpIHsKICBtYXJnaW46IDVweCAwOwogIGZvbnQtd2VpZ2h0OiA1MDA7CiAgcGFkZGluZy1sZWZ0OiAxNXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQp1bC5saXN0IGxpOmJlZm9yZSB7CiAgYm9yZGVyOiBub25lOwogIGNvbG9yOiAjYTlhOWE5OwogIGNvbnRlbnQ6ICJcZjExMSI7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTsKICBmb250LXNpemU6IDlweDsKICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgcGFkZGluZzogMDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDFweDsKfQp1bC5saXN0IGxpOmhvdmVyOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Owp9CnVsLmxpc3QgbGkgYSB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW47CiAgLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW47CiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW47Cn0KLyogLS0tLS0tLS0gTGlzdCBXaGl0ZSAtLS0tLS0tLS0tICovCnVsLmxpc3QubGlzdC13aGl0ZSBsaTpiZWZvcmUgewogIGNvbG9yOiAjZmZmOwp9CnVsLmxpc3QubGlzdC13aGl0ZSBsaTpob3ZlcjpiZWZvcmUgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsKfQp1bC5saXN0Lmxpc3Qtd2hpdGUgbGkgYSB7CiAgY29sb3I6ICNmZmY7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW47CiAgLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW47CiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW47Cn0KLyogLS0tLS0tLS0gTGlzdCBib3JkZXIgYm90dG9tIC0tLS0tLS0tLS0gKi8KdWwubGlzdC1ib3JkZXItYm90dG9tIGxpIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZTsKICBwYWRkaW5nLWJvdHRvbTogMTBweDsKfQp1bC5saXN0Lmxpc3QtYm9yZGVyLWJvdHRvbSBsaTpsYXN0LWNoaWxkIHsKICBib3JkZXItYm90dG9tOiBub25lOwp9CnVsLmxpc3QtYm9yZGVyLWJvdHRvbS5uby1wYWRkaW5nIGxpIHsKICBwYWRkaW5nLWJvdHRvbTogMHB4Owp9CnVsLmxpc3QtYm9yZGVyLWJvdHRvbS5uby1wYWRkaW5nIGxpOmxhc3QtY2hpbGQgewogIGJvcmRlci1ib3R0b206IG5vbmU7Cn0KLyogLS0tLS0tLS0gTGlzdCBJY29ucyAtLS0tLS0tLS0tICovCi5saXN0LWJvcmRlciBsaSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjZDNkM2QzOwogIHBhZGRpbmc6IDEwcHggMDsKfQouZGFyayAubGlzdC1ib3JkZXIgbGkgewogIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgIzMzMzMzMzsKfQoubGlzdC1pY29uIGxpIHsKICBmb250LXNpemU6IDE0cHg7CiAgbWFyZ2luOiAwOwp9Ci5saXN0LWljb24gbGkgaSB7CiAgY29sb3I6ICM1NTU1NTU7CiAgZm9udC1zaXplOiAxNHB4OwogIGhlaWdodDogMjhweDsKICBsaW5lLWhlaWdodDogMjhweDsKICBtYXJnaW46IDVweCAxMHB4IDVweCAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogMjhweDsKfQoubGlzdC1pY29uLnNxdWFyZSBsaSBpIHsKICBiYWNrZ3JvdW5kOiAjYzBjMGMwOwogIGNvbG9yOiAjNTU1NTU1OwogIGZvbnQtc2l6ZTogMTJweDsKICBoZWlnaHQ6IDI4cHg7CiAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgbWFyZ2luOiA1cHggMTBweCA1cHggMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgd2lkdGg6IDI4cHg7Cn0KLmxpc3QtaWNvbi5yb3VuZGVkIGxpIGkgewogIGNvbG9yOiAjNTU1NTU1OwogIGJhY2tncm91bmQ6ICNjMGMwYzA7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGZvbnQtc2l6ZTogMTJweDsKICBoZWlnaHQ6IDI4cHg7CiAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgbWFyZ2luOiA1cHggMTBweCA1cHggMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgd2lkdGg6IDI4cHg7Cn0KLmxpc3QtaWNvbi50aGVtZS1jb2xvcmVkLnNxdWFyZSBsaSBpIHsKICBjb2xvcjogI2ZmZjsKfQoubGlzdC1pY29uLnRoZW1lLWNvbG9yZWQucm91bmRlZCBsaSBpIHsKICBjb2xvcjogI2ZmZjsKfQovKiAtLS0tLS0tLSBQZXJzb25hbCBJbmZvIExpc3QgLS0tLS0tLS0tLSAqLwoubGlzdC1pbmZvIGxpIHsKICBjbGVhcjogYm90aDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmxpc3QtaW5mbyBsaSBsYWJlbCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtd2VpZ2h0OiBib2xkOwogIHBhZGRpbmc6IDVweCAwIDA7Cn0KLmxpc3QtaW5mbyBsaSBzcGFuIHsKICBsZWZ0OiAxMTBweDsKICBwYWRkaW5nOiA1cHggMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KLmxpc3QtZmVhdHVyZXMgewogIC1tb3otY29sdW1uLWNvdW50OiAzOwogIGNvbHVtbi1jb3VudDogMzsKfQoubGlzdC1kYXNoZWQgPiBhcnRpY2xlIHsKICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNkM2QzZDMgIWltcG9ydGFudDsKICBtYXJnaW4tYm90dG9tOiA3cHg7CiAgcGFkZGluZy1ib3R0b206IDdweDsKfQoubGlzdC1kYXNoZWQgPiBkaXYgewogIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2QzZDNkMyAhaW1wb3J0YW50OwogIG1hcmdpbi1ib3R0b206IDdweDsKICBwYWRkaW5nLWJvdHRvbTogN3B4Owp9Ci5saXN0LWRhc2hlZCA+IGxpIHsKICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICNkM2QzZDMgIWltcG9ydGFudDsKICBtYXJnaW4tYm90dG9tOiA3cHg7CiAgcGFkZGluZy1ib3R0b206IDdweDsKfQoubGlzdC1kYXNoZWQuZGFyay1kYXNoID4gYXJ0aWNsZSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMzMzMzMzICFpbXBvcnRhbnQ7Cn0KLmxpc3QtZGFzaGVkLmRhcmstZGFzaCA+IGRpdiB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IGRhc2hlZCAjMzMzMzMzICFpbXBvcnRhbnQ7Cn0KLmxpc3QtZGFzaGVkLmRhcmstZGFzaCA+IGxpIHsKICBib3JkZXItYm90dG9tOiAxcHggZGFzaGVkICMzMzMzMzMgIWltcG9ydGFudDsKfQp1bC5saXN0LmNoZWNrIGxpOmJlZm9yZSB7CiAgY29udGVudDogIlxmMDBjIjsKICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7CiAgZm9udC1zaXplOiAxMnB4Owp9CnVsLmxpc3QuYW5nbGUtZG91YmxlLXJpZ2h0IGxpOmJlZm9yZSB7CiAgY29udGVudDogIlxmMTAxIjsKICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7CiAgZm9udC1zaXplOiAxMnB4Owp9CnVsLmxpc3QuYW5nbGUtcmlnaHQgbGk6YmVmb3JlIHsKICBjb250ZW50OiAiXGYxMDUiOwogIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTsKfQp1bC5saXN0LmNoZWNrLWNpcmNsZSBsaTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjA1OCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMTRweDsKfQovKiAtLS0tLS0tLSBDYWxsIFRvIEFjdGlvbnMgLS0tLS0tLS0tLSAqLwouY2FsbC10by1hY3Rpb24gewogIHdpZHRoOiAxMDAlOwogIHBhZGRpbmctYm90dG9tOiAyMHB4OwogIHBhZGRpbmctdG9wOiAyMHB4Owp9Ci8qIC0tLS0tLS0tIFNlY3Rpb24gJiBEaXZpZGVyIC0tLS0tLS0tLS0gKi8Kc2VjdGlvbiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9CnNlY3Rpb24gPiAuY29udGFpbmVyLApzZWN0aW9uID4gLmNvbnRhaW5lci1mbHVpZCB7CiAgcGFkZGluZy10b3A6IDYwcHg7CiAgcGFkZGluZy1ib3R0b206IDYwcHg7Cn0KLyogLS0tLS0tLS0gQmFja2dyb3VuZCBWaWRlbyAtLS0tLS0tLS0tICovCi5iZy12aWRlbyB7CiAgaGVpZ2h0OiAxMDAlOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogLTE7Cn0KLmJnLXZpZGVvIC52aWRlbyB7CiAgaGVpZ2h0OiAxMDAlOwogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIWltcG9ydGFudDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdG9wOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5iZy12aWRlbyAudmlkZW8gLm1iWVRQX3dyYXBwZXIgewogIHotaW5kZXg6IC0xICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gQm94IFRhYmxlIC0tLS0tLS0tLS0gKi8KLmRpc3BsYXktdGFibGUtcGFyZW50IHsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci5kaXNwbGF5LXRhYmxlIHsKICBkaXNwbGF5OiB0YWJsZTsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAxMDAlOwp9Ci5kaXNwbGF5LXRhYmxlLWNlbGwgewogIGRpc3BsYXk6IHRhYmxlLWNlbGw7CiAgaGVpZ2h0OiAxMDAlOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLyogLS0tLS0tLS0gU2Nyb2xsIFRvIFRvcCAtLS0tLS0tLS0tICovCi5zY3JvbGxUb1RvcCB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpOwogIGJvdHRvbTogMTVweDsKICBkaXNwbGF5OiBub25lOwogIGhlaWdodDogNTBweDsKICBwYWRkaW5nOiAycHg7CiAgcG9zaXRpb246IGZpeGVkOwogIHJpZ2h0OiAxNXB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7CiAgd2lkdGg6IDUwcHg7CiAgei1pbmRleDogOTk5OTk7Cn0KLnNjcm9sbFRvVG9wIGkgewogIGNvbG9yOiAjZmZmOwogIGZvbnQtc2l6ZTogNDJweDsKfQouc2Nyb2xsVG9Ub3A6aG92ZXIgewogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLyogLS0tLS0tLS0gbWFnbmlmaWMgcG9wdXAgLS0tLS0tLS0tLSAqLwoubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHsKICBjb2xvcjogI2VlZTsKICBmb250LXNpemU6IDY0cHg7Cn0KLyogIAogKiBleHRyYS5sZXNzIAogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBIZWFkaW5nIFN0eWxlIC0tLS0tLS0tLS0gKi8KLmhlYWRpbmctYm9yZGVyIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzZDNkMzsKICBtYXJnaW46IDMwcHggMDsKICBwYWRkaW5nOiAyMHB4IDA7Cn0KLyogLS0tLS0tLS0gRnVsbENhbGVuZGFyIC0gUGx1Z2luIC0tLS0tLS0tLS0gKi8KLmZjLWRheS1udW1iZXIgewogIGNvbG9yOiAjMzMzMzMzOwp9Ci5mYy1kYXktbnVtYmVyLmZjLW90aGVyLW1vbnRoIHsKICBvcGFjaXR5OiAwLjQ7Cn0KLyogc2Nyb2xsdG9maXhlZC1jb250YWluZXIgKi8KLnNjcm9sbHRvZml4ZWQtY29udGFpbmVyIHsKICBwb3NpdGlvbjogc3RhdGljOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAuc2Nyb2xsdG9maXhlZC1jb250YWluZXIgLnNjcm9sbHRvZml4ZWQgewogICAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50OwogIH0KICAuc2Nyb2xsdG9maXhlZC1jb250YWluZXIgLnNjcm9sbHRvZml4ZWQgKyBkaXYgewogICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OwogIH0KfQovKiBzbGlkZXIgcmV2b2x1dGlvbiAqLwoudHAtYmFubmVydGltZXIgewogIHotaW5kZXg6IDIxOwp9Ci5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2UgewogIGNvbG9yOiAjZmZmOwogIGZvbnQtc2l6ZTogNDhweDsKfQoubWZwLWJnIHsKICB6LWluZGV4OiAxMTEyOwp9Ci5tZnAtd3JhcCB7CiAgei1pbmRleDogMTExMzsKfQovKgogKiBvdmVybGF5cy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5sYXllci1vdmVybGF5IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgLyogb3ZlcmxheS1kYXJrICovCiAgLyogb3ZlcmxheS13aGl0ZSAqLwp9Ci5sYXllci1vdmVybGF5OjpiZWZvcmUgewogIGJhY2tncm91bmQ6IHJnYmEoMTcsIDE3LCAxNywgMC41KSBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGNvbnRlbnQ6ICIgIjsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIHdpZHRoOiAxMDAlOwogIHotaW5kZXg6IDA7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1saWdodDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1saWdodGVyOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWRlZXA6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktZGFyazo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuODUpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktZGFyay0xOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMC4xKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWRhcmstMjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuMik7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1kYXJrLTM6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjMpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktZGFyay00OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMC40KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWRhcmstNTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuNSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1kYXJrLTY6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjYpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktZGFyay03OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMC43KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWRhcmstODo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuOCk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1kYXJrLTk6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNywgMTcsIDE3LCAwLjkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktd2hpdGU6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktd2hpdGUtMTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS13aGl0ZS0yOjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXdoaXRlLTM6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktd2hpdGUtNDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS13aGl0ZS01OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXdoaXRlLTY6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktd2hpdGUtNzo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS13aGl0ZS04OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXdoaXRlLTk6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpOwp9Ci5sYXllci1vdmVybGF5LmxheWVyLXBhdHRlcm46OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlcy9wYXR0ZXJuMS5wbmcpOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsKfQoubGF5ZXItb3ZlcmxheS5sYXllci1wYXR0ZXJuMjo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1hZ2VzL3BhdHRlcm4yLnBuZyk7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpOwp9Ci5sYXllci1vdmVybGF5LmxheWVyLXBhdHRlcm4zOjpiZWZvcmUgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvcGF0dGVybjMucG5nKTsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOCk7Cn0KLmxheWVyLW92ZXJsYXkubWF4aW1hZ2UtbGF5ZXItb3ZlcmxheTo6YmVmb3JlIHsKICB6LWluZGV4OiAxOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktYmx1ZTo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEsIDE2MiwgMjA4LCAwLjkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktYmx1ZS1saWdodDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEsIDE2MiwgMjA4LCAwLjQ1KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LXBpbms6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzUsIDExMCwgMTQyLCAwLjkpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktcGluay1saWdodDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNSwgMTEwLCAxNDIsIDAuNDUpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktYnJvd246OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg2MCwgMTcxLCAxMTEsIDAuOSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS1icm93bi1saWdodDo6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDYwLCAxNzEsIDExMSwgMC40NSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS15ZWxsb3c6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE4NywgMzQsIDAuOSk7Cn0KLmxheWVyLW92ZXJsYXkub3ZlcmxheS15ZWxsb3ctbGlnaHQ6OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDE4NywgMzQsIDAuNDUpOwp9Ci5sYXllci1vdmVybGF5Lm92ZXJsYXktZ3JlZW46OmJlZm9yZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNiwgMTk2LCA5MiwgMC45KTsKfQoubGF5ZXItb3ZlcmxheS5vdmVybGF5LWdyZWVuLWxpZ2h0OjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTYsIDE5NiwgOTIsIDAuNDUpOwp9Ci5oYWxmLWRpdmlkZXIgLm92ZXJsYXktdGhlbWUtY29sb3ItMSwKLmhhbGYtZGl2aWRlciAub3ZlcmxheS10aGVtZS1jb2xvci0yLAouaGFsZi1kaXZpZGVyIC5vdmVybGF5LXRoZW1lLWNvbG9yLTMgewogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTAwJTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAwOwogIHdpZHRoOiA1MCU7Cn0KLyoKICogaGVhZGVyLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLm5hdmJhci1zY3JvbGx0b2ZpeGVkIHsKICB6LWluZGV4OiA5OTkgIWltcG9ydGFudDsKfQouaGVhZGVyLXRvcCB7CiAgcGFkZGluZzogMDsKfQouaGVhZGVyLXRvcCAud2lkZ2V0IHsKICBsaW5lLWhlaWdodDogMi41cmVtOwogIG1hcmdpbi1ib3R0b206IDA7CiAgZm9udC1zaXplOiAxM3B4Owp9Ci5oZWFkZXItdG9wIC53aWRnZXQgdWwgbGkgewogIG1hcmdpbi1ib3R0b206IDA7CiAgcGFkZGluZy1ib3R0b206IDA7Cn0KLmhlYWRlci10b3AgLndpZGdldCB1bCBsaTpmaXJzdC1jaGlsZCB7CiAgcGFkZGluZy1sZWZ0OiAwOwp9Ci5oZWFkZXItdG9wIC53aWRnZXQgLnN0eWxlZC1pY29ucyB7CiAgbGluZS1oZWlnaHQ6IDE7Cn0KLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOwp9Ci5oZWFkZXItdG9wLnN0eWxlLWJvcmRlcmVkIC53aWRnZXQgdWwubGlzdC1ib3JkZXJlZCBsaSB7CiAgcGFkZGluZy1sZWZ0OiAxcmVtOwogIHBhZGRpbmctcmlnaHQ6IDFyZW07CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYzsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgewogIC5oZWFkZXItdG9wLnN0eWxlLWJvcmRlcmVkIC53aWRnZXQgdWwubGlzdC1ib3JkZXJlZCBsaSB7CiAgICBib3JkZXI6IG5vbmU7CiAgfQp9Ci5oZWFkZXItdG9wLnN0eWxlLWJvcmRlcmVkIC53aWRnZXQgdWwubGlzdC1ib3JkZXJlZCBsaTpmaXJzdC1jaGlsZCB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7CiAgLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkIGxpOmZpcnN0LWNoaWxkIHsKICAgIGJvcmRlcjogbm9uZTsKICB9Cn0KLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkLm5hdmJhci1uYXYgbGkgewogIHBhZGRpbmctbGVmdDogMDsKICBwYWRkaW5nLXJpZ2h0OiAwOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7CiAgLmhlYWRlci10b3AgLmxhbmd1YWdlLXN3aXRjaGVyIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7CiAgfQp9Ci5oZWFkZXItdG9wIC5sYW5ndWFnZS1zd2l0Y2hlciBsaSBhIHsKICBwYWRkaW5nLXRvcDogMTBweDsKICBwYWRkaW5nLWJvdHRvbTogMTBweDsKfQoubWVudXpvcmQtYnJhbmQgaW1nIHsKICBtYXgtaGVpZ2h0OiAzOHB4Owp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAubWVudXpvcmQtYnJhbmQgaW1nIHsKICAgIG1heC1oZWlnaHQ6IDMwcHg7CiAgfQp9Ci8qIC0tLS0tLS0tIElubmVyIEhlYWRlciAtLS0tLS0tLS0tICovCi5pbm5lci1oZWFkZXIgLnRpdGxlIHsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci8qIC0tLS0tLS0tIEN1c3RvbSB0aGVtZSBzdHlsZSAtLS0tLS0tLS0tICovCi5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIgLm1lbnV6b3JkIHsKICBwYWRkaW5nOiAwOwp9Ci8qIFRyYW5zcGFyZW50IEhlYWRlciAqLwouaGVhZGVyIHsKICAvKiAtLS0tLS0tLSBIZWFkZXIgZmxvYXRpbmcgLS0tLS0tLS0tLSAqLwp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB0b3A6IDA7CiAgei1pbmRleDogMTExMTsKICAvKiAtLS0tLS0tLSBIZWFkZXIgVHJhbnNwYXJlbnQgRGFyayAtLS0tLS0tLS0tICovCiAgLyogLS0tLS0tLS0gSGVhZGVyIFRyYW5zcGFyZW50IERhcmsgLS0tLS0tLS0tLSAqLwogIC8qIC0tLS0tLS0tIEhlYWRlciBUcmFuc3BhcmVudCBXaGl0ZSAtLS0tLS0tLS0tICovCiAgLyogLS0tLS0tLS0gSGVhZGVyIFRyYW5zcGFyZW50IERhcmsgLS0tLS0tLS0tLSAqLwp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nIC5oZWFkZXItdG9wLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZyAuaGVhZGVyLW1pZCB7CiAgY29sb3I6ICNmZmY7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcgLmhlYWRlci10b3AgLndpZGdldCBhLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZyAuaGVhZGVyLW1pZCAud2lkZ2V0IGEgewogIGNvbG9yOiAjZmZmOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcgLmhlYWRlci1uYXYubmF2YmFyLXNjcm9sbHRvZml4ZWQ6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIC5tZW51em9yZC1tZW51ID4gbGk6bm90KC5hY3RpdmUpOm5vdCg6aG92ZXIpID4gYSB7CiAgICBjb2xvcjogI2ZmZjsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZyAuc3RpY2t5LXdyYXBwZXI6bm90KC5pcy1zdGlja3kpIC5oZWFkZXItbmF2Lm5hdmJhci1zdGlja3kgLm1lbnV6b3JkLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgPiBhIHsKICAgIGNvbG9yOiAjZmZmOwogIH0KfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZyAuaGVhZGVyLW5hdiAuaGVhZGVyLW5hdi13cmFwcGVyIHsKICBib3gtc2hhZG93OiBub25lOwp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nIC5zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreSB7CiAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpOwp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nIC5zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreSAuaGVhZGVyLW5hdi13cmFwcGVyIHsKICBib3gtc2hhZG93OiBub25lOwp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nIC5oZWFkZXItbmF2LnNjcm9sbC10by1maXhlZC1maXhlZCAuaGVhZGVyLW5hdi13cmFwcGVyIHsKICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuYm90dG9tLWJveC1zaGFkb3cgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlciB7CiAgYm94LXNoYWRvdzogMCA4cHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMik7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLWZsb2F0aW5nLXRleHQtZGFyayAuaGVhZGVyLXRvcCwKLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLWZsb2F0aW5nLXRleHQtZGFyayAuaGVhZGVyLW1pZCB7CiAgY29sb3I6ICMzMzM7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLWZsb2F0aW5nLXRleHQtZGFyayAuaGVhZGVyLXRvcCAud2lkZ2V0IGEsCi5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci1mbG9hdGluZy10ZXh0LWRhcmsgLmhlYWRlci1taWQgLndpZGdldCBhIHsKICBjb2xvcjogIzMzMzsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci1mbG9hdGluZy10ZXh0LWRhcmsgLmhlYWRlci1uYXYubmF2YmFyLXNjcm9sbHRvZml4ZWQ6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIC5tZW51em9yZC1tZW51ID4gbGk6bm90KC5hY3RpdmUpOm5vdCg6aG92ZXIpID4gYSB7CiAgICBjb2xvcjogIzMzMzsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItZmxvYXRpbmctdGV4dC1kYXJrIC5zdGlja3ktd3JhcHBlcjpub3QoLmlzLXN0aWNreSkgLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreSAubWVudXpvcmQtbWVudSA+IGxpOm5vdCguYWN0aXZlKTpub3QoOmhvdmVyKSA+IGEgewogICAgY29sb3I6ICMzMzM7CiAgfQp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci1mbG9hdGluZy10ZXh0LXdoaXRlIC5oZWFkZXItdG9wLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItZmxvYXRpbmctdGV4dC13aGl0ZSAuaGVhZGVyLW1pZCB7CiAgY29sb3I6ICNmZmY7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLWZsb2F0aW5nLXRleHQtd2hpdGUgLmhlYWRlci10b3AgLndpZGdldCBhLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItZmxvYXRpbmctdGV4dC13aGl0ZSAuaGVhZGVyLW1pZCAud2lkZ2V0IGEgewogIGNvbG9yOiAjZmZmOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLWZsb2F0aW5nLXRleHQtd2hpdGUgLmhlYWRlci1uYXYubmF2YmFyLXNjcm9sbHRvZml4ZWQ6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIC5tZW51em9yZC1tZW51ID4gbGk6bm90KC5hY3RpdmUpOm5vdCg6aG92ZXIpID4gYSB7CiAgICBjb2xvcjogI2ZmZjsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItZmxvYXRpbmctdGV4dC13aGl0ZSAuc3RpY2t5LXdyYXBwZXI6bm90KC5pcy1zdGlja3kpIC5oZWFkZXItbmF2Lm5hdmJhci1zdGlja3kgLm1lbnV6b3JkLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgPiBhIHsKICAgIGNvbG9yOiAjZmZmOwogIH0KfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgLmhlYWRlci10b3AsCi5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuaGVhZGVyLW1pZCwKLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5oZWFkZXItbmF2IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpOwp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuaGVhZGVyLXRvcCwKLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5oZWFkZXItbWlkIHsKICBjb2xvcjogIzMzMzsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgLmhlYWRlci10b3AgLndpZGdldCBhLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgLmhlYWRlci1taWQgLndpZGdldCBhIHsKICBjb2xvcjogIzMzMzsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuaGVhZGVyLW5hdi5uYXZiYXItc2Nyb2xsdG9maXhlZDpub3QoLnNjcm9sbC10by1maXhlZC1maXhlZCkgLm1lbnV6b3JkLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgPiBhIHsKICAgIGNvbG9yOiAjMzMzOwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuc3RpY2t5LXdyYXBwZXI6bm90KC5pcy1zdGlja3kpIC5oZWFkZXItbmF2Lm5hdmJhci1zdGlja3kgLm1lbnV6b3JkLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgPiBhIHsKICAgIGNvbG9yOiAjMzMzOwogIH0KfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgewogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkOwp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCAud2lkZ2V0IHVsLmxpc3QtYm9yZGVyZWQgbGkgewogIHBhZGRpbmctbGVmdDogMXJlbTsKICBwYWRkaW5nLXJpZ2h0OiAxcmVtOwogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtd2hpdGUgLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkIGxpIHsKICAgIGJvcmRlcjogbm9uZTsKICB9Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5oZWFkZXItdG9wLnN0eWxlLWJvcmRlcmVkIC53aWRnZXQgdWwubGlzdC1ib3JkZXJlZCBsaTpmaXJzdC1jaGlsZCB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5oZWFkZXItdG9wLnN0eWxlLWJvcmRlcmVkIC53aWRnZXQgdWwubGlzdC1ib3JkZXJlZCBsaTpmaXJzdC1jaGlsZCB7CiAgICBib3JkZXI6IG5vbmU7CiAgfQp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC13aGl0ZSAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCAud2lkZ2V0IHVsLmxpc3QtYm9yZGVyZWQubmF2YmFyLW5hdiBsaSB7CiAgcGFkZGluZy1sZWZ0OiAwOwogIHBhZGRpbmctcmlnaHQ6IDA7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIC5oZWFkZXItbmF2LnNjcm9sbC10by1maXhlZC1maXhlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjsKfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLXRvcCwKLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LWRhcmsgLmhlYWRlci1taWQsCi5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC1kYXJrIC5oZWFkZXItbmF2IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuODUpOwp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC1kYXJrIC5oZWFkZXItdG9wLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLW1pZCB7CiAgY29sb3I6ICNmZmY7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LWRhcmsgLmhlYWRlci10b3AgLndpZGdldCBhLAouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLW1pZCAud2lkZ2V0IGEgewogIGNvbG9yOiAjZmZmOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LWRhcmsgLmhlYWRlci1uYXYubmF2YmFyLXNjcm9sbHRvZml4ZWQ6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIC5tZW51em9yZC1tZW51ID4gbGk6bm90KC5hY3RpdmUpOm5vdCg6aG92ZXIpID4gYSB7CiAgICBjb2xvcjogI2ZmZjsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuc3RpY2t5LXdyYXBwZXI6bm90KC5pcy1zdGlja3kpIC5oZWFkZXItbmF2Lm5hdmJhci1zdGlja3kgLm1lbnV6b3JkLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgPiBhIHsKICAgIGNvbG9yOiAjZmZmOwogIH0KfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMzMzM7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LWRhcmsgLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkIGxpIHsKICBwYWRkaW5nLWxlZnQ6IDFyZW07CiAgcGFkZGluZy1yaWdodDogMXJlbTsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMzMzOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LWRhcmsgLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkIGxpIHsKICAgIGJvcmRlcjogbm9uZTsKICB9Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LWRhcmsgLmhlYWRlci10b3Auc3R5bGUtYm9yZGVyZWQgLndpZGdldCB1bC5saXN0LWJvcmRlcmVkIGxpOmZpcnN0LWNoaWxkIHsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMzMzM7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAuaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCAud2lkZ2V0IHVsLmxpc3QtYm9yZGVyZWQgbGk6Zmlyc3QtY2hpbGQgewogICAgYm9yZGVyOiBub25lOwogIH0KfQouaGVhZGVyLmhlYWRlci1mbG9hdGluZy5oZWFkZXItdHJhbnNwYXJlbnQtZGFyayAuaGVhZGVyLXRvcC5zdHlsZS1ib3JkZXJlZCAud2lkZ2V0IHVsLmxpc3QtYm9yZGVyZWQubmF2YmFyLW5hdiBsaSB7CiAgcGFkZGluZy1sZWZ0OiAwOwogIHBhZGRpbmctcmlnaHQ6IDA7Cn0KLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LWRhcmsgLmhlYWRlci1uYXYuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTYxNjE2Owp9Ci5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci10cmFuc3BhcmVudC1kYXJrIC5zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE2MTYxNjsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgewogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7CiAgfQogIC5oZWFkZXIuaGVhZGVyLWZsb2F0aW5nLmhlYWRlci1mbG9hdGluZy10ZXh0LWRhcmsgewogICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsKICB9CiAgLmhlYWRlci5oZWFkZXItZmxvYXRpbmcuaGVhZGVyLXRyYW5zcGFyZW50LXdoaXRlIHsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgfQp9Ci8qIC0tLS0tLS0tIFNjcm9sbHRvZml4ZWQgLS0tLS0tLS0tLSAqLwouaGVhZGVyLW5hdiB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICAvKiAtLS0tLS0tLSBOYXZiYXIgU3RpY2t5IEFuaW1hdGVkIC0tLS0tLS0tLS0gKi8KfQouaGVhZGVyLW5hdi5uYXZiYXItc2Nyb2xsdG9maXhlZC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7Cn0KLmhlYWRlci1uYXYubmF2YmFyLXN0aWNreS1hbmltYXRlZCAuY29udGFpbmVyIHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwp9Ci5oZWFkZXItbmF2Lm5hdmJhci1zdGlja3ktYW5pbWF0ZWQ6bm90KC5zY3JvbGwtdG8tZml4ZWQtZml4ZWQpIC5jb250YWluZXIgewogIHBhZGRpbmctdG9wOiAxMHB4OwogIHBhZGRpbmctYm90dG9tOiAxMHB4Owp9Ci8qIC0tLS0tLS0tIHN0aWNreS5qcyAtLS0tLS0tLS0tICovCi5zdGlja3ktd3JhcHBlciAuaGVhZGVyLW5hdi5uYXZiYXItc3RpY2t5Lm5hdmJhci1zdGlja3ktYW5pbWF0ZWQgLmNvbnRhaW5lciB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKfQouc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5oZWFkZXItbmF2Lm5hdmJhci1zdGlja3kgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7Cn0KLnN0aWNreS13cmFwcGVyOm5vdCguaXMtc3RpY2t5KSAuaGVhZGVyLW5hdi5uYXZiYXItc3RpY2t5Lm5hdmJhci1zdGlja3ktYW5pbWF0ZWQgLmNvbnRhaW5lciB7CiAgcGFkZGluZy10b3A6IDEwcHg7CiAgcGFkZGluZy1ib3R0b206IDEwcHg7Cn0KLyogLS0tLS0tLS0gU3dpdGNoYWJsZSBMb2dvIC0tLS0tLS0tLS0gKi8KLmhlYWRlci1uYXYgLnN3aXRjaGFibGUtbG9nbyAubG9nby1zY3JvbGxlZC10by1maXhlZCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGVhZGVyLW5hdi5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgLnN3aXRjaGFibGUtbG9nbyAubG9nby1kZWZhdWx0LAouaGVhZGVyLW5hdiAuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIC5zd2l0Y2hhYmxlLWxvZ28gLmxvZ28tZGVmYXVsdCB7CiAgZGlzcGxheTogbm9uZTsKfQouaGVhZGVyLW5hdi5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgLnN3aXRjaGFibGUtbG9nbyAubG9nby1zY3JvbGxlZC10by1maXhlZCwKLmhlYWRlci1uYXYgLnNjcm9sbC10by1maXhlZC1maXhlZCAuc3dpdGNoYWJsZS1sb2dvIC5sb2dvLXNjcm9sbGVkLXRvLWZpeGVkIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLnN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuaGVhZGVyLW5hdi5uYXZiYXItc3RpY2t5IC5zd2l0Y2hhYmxlLWxvZ28gLmxvZ28tZGVmYXVsdCB7CiAgZGlzcGxheTogbm9uZTsKfQouc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5oZWFkZXItbmF2Lm5hdmJhci1zdGlja3kgLnN3aXRjaGFibGUtbG9nbyAubG9nby1zY3JvbGxlZC10by1maXhlZCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Ci8qIE1vZGVybiBIZWFkZXIgKi8KLm1vZGVybi1oZWFkZXIgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlciB7CiAgbWFyZ2luLXRvcDogLTM1cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IDExMTE7CiAgbGVmdDogMDsKICByaWdodDogMDsKfQoubW9kZXJuLWhlYWRlciAuaGVhZGVyLW5hdiAuaGVhZGVyLW5hdi13cmFwcGVyOm5vdCguc2Nyb2xsLXRvLWZpeGVkLWZpeGVkKSB7CiAgYm94LXNoYWRvdzogbm9uZTsKfQoubW9kZXJuLWhlYWRlciAuaGVhZGVyLW5hdiAuaGVhZGVyLW5hdi13cmFwcGVyOm5vdCguc2Nyb2xsLXRvLWZpeGVkLWZpeGVkKSBuYXYgewogIGJhY2tncm91bmQ6ICMyMjI7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAubW9kZXJuLWhlYWRlciAuaGVhZGVyLW5hdiAuaGVhZGVyLW5hdi13cmFwcGVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgIG1hcmdpbi10b3A6IDA7CiAgfQogIC5tb2Rlcm4taGVhZGVyIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIgLmNvbnRhaW5lciB7CiAgICBwYWRkaW5nLWxlZnQ6IDA7CiAgICBwYWRkaW5nLXJpZ2h0OiAwOwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5tb2Rlcm4taGVhZGVyIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIgLm1lbnV6b3JkLW1lbnUgPiBsaSA+IGEgewogICAgY29sb3I6ICNmZmY7CiAgfQp9Ci5tb2Rlcm4taGVhZGVyIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIgLm1lbnV6b3JkLW1lbnUgPiBsaS5ob21lID4gYSB7CiAgcGFkZGluZzogMjBweCAzMHB4Owp9Ci5tb2Rlcm4taGVhZGVyIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIHsKICBtYXJnaW4tdG9wOiAwOwogIGJhY2tncm91bmQ6ICMyMjI7Cn0KLm1vZGVybi1oZWFkZXIgLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlci5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgbmF2IHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQoubW9kZXJuLWhlYWRlcjpub3QoLm1vZGVybi1oZWFkZXItbmF2LWF1dG9wYWRkaW5nKSAubWVudXpvcmQtbWVudSA+IGxpIHsKICBwYWRkaW5nOiAwOwp9Ci5tb2Rlcm4taGVhZGVyOm5vdCgubW9kZXJuLWhlYWRlci1uYXYtYXV0b3BhZGRpbmcpIC5tZW51em9yZC1tZW51ID4gbGkgPiBhIHsKICBwYWRkaW5nOiAyNXB4IDMwcHg7Cn0KLm1vZGVybi1oZWFkZXIubW9kZXJuLWhlYWRlci13aGl0ZSAuaGVhZGVyLW5hdiAuaGVhZGVyLW5hdi13cmFwcGVyOm5vdCguc2Nyb2xsLXRvLWZpeGVkLWZpeGVkKSBuYXYgewogIGJhY2tncm91bmQ6ICNmZmY7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHsKICAubW9kZXJuLWhlYWRlci5tb2Rlcm4taGVhZGVyLXdoaXRlIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIgLm1lbnV6b3JkLW1lbnUgPiBsaTpub3QoLmFjdGl2ZSk6bm90KDpob3ZlcikgPiBhIHsKICAgIGNvbG9yOiAjMjIyOwogIH0KfQoubW9kZXJuLWhlYWRlci5tb2Rlcm4taGVhZGVyLXdoaXRlIC5oZWFkZXItbmF2IC5oZWFkZXItbmF2LXdyYXBwZXIuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwp9Ci5tb2Rlcm4taGVhZGVyIC5uYXZiYXItc3RpY2t5LWFuaW1hdGVkIC5jb250YWluZXIgbmF2IHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwp9Ci5tb2Rlcm4taGVhZGVyIC5uYXZiYXItc3RpY2t5LWFuaW1hdGVkOm5vdCguc2Nyb2xsLXRvLWZpeGVkLWZpeGVkKSAuY29udGFpbmVyIG5hdiB7CiAgcGFkZGluZy10b3A6IDEwcHg7CiAgcGFkZGluZy1ib3R0b206IDEwcHg7Cn0KLnN0eWxlZC1pY29uLWluZm8gaSB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOwogIGNvbG9yOiAjZmZmZmZmOwogIGhlaWdodDogMzBweDsKICBsaW5lLWhlaWdodDogMzBweDsKICBtYXJnaW4tcmlnaHQ6IDEwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIHdpZHRoOiAzMHB4Owp9Ci8qIGhlYWRlciB3aWRnZXQgY29udGFjdCBpbmZvIGJveCAqLwouaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IHsKICBkaXNwbGF5OiBmbGV4OwogIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogIC5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggewogICAgZGlzcGxheTogYmxvY2s7CiAgfQp9Ci5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmVsZW1lbnQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBtYXJnaW4tYm90dG9tOiAxNXB4OwogIG1hcmdpbi10b3A6IDEwcHg7CiAgcGFkZGluZy1yaWdodDogMTBweDsKICBtYXJnaW4tbGVmdDogMjBweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAuaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5lbGVtZW50IHsKICAgIGRpc3BsYXk6IGJsb2NrOwogIH0KfQouaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5jb250YWN0LWluZm8gewogIGZsb2F0OiByaWdodDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogIC5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mbyB7CiAgICBmbG9hdDogbm9uZTsKICB9Cn0KLmhlYWRlci13aWRnZXQtY29udGFjdC1pbmZvLWJveCAuY29udGFjdC1pbmZvLm1lZGlhIHsKICBtYXJnaW4tdG9wOiAxMHB4Owp9Ci5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mbyAubWVkaWEtYm9keSB7CiAgd2lkdGg6IGF1dG87Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogIC5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mbyAubWVkaWEtYm9keSwKICAuaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5jb250YWN0LWluZm8gLm1lZGlhLWxlZnQsCiAgLmhlYWRlci13aWRnZXQtY29udGFjdC1pbmZvLWJveCAuY29udGFjdC1pbmZvIC5tZWRpYS1yaWdodCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIHBhZGRpbmctcmlnaHQ6IDA7CiAgfQp9Ci5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mbyAuZm9udC1pY29uIHsKICBmb250LXNpemU6IDMwcHg7CiAgbWFyZ2luLXRvcDogNXB4Owp9Ci5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mbyAudGl0bGUgewogIGNvbG9yOiAjODA4MDgwOwogIGZvbnQtc2l6ZTogMTJweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mbyAuc3VidGl0bGUgewogIGZvbnQtc2l6ZTogMTJweDsKICBtYXJnaW46IDA7Cn0KLmhlYWRlci13aWRnZXQtY29udGFjdC1pbmZvLWJveCAuY29udGFjdC1pbmZvLnNtYWxsLWljb24gLmZvbnQtaWNvbiB7CiAgZm9udC1zaXplOiAxNXB4OwogIG1hcmdpbi10b3A6IDA7Cn0KLmhlYWRlci13aWRnZXQtY29udGFjdC1pbmZvLWJveCAuY29udGFjdC1pbmZvLnNtYWxsLWljb24gLmljb24gewogIGZvbnQtc2l6ZTogaW5oZXJpdDsKICBmb250LXdlaWdodDogYm9sZDsKICBwYWRkaW5nLXJpZ2h0OiA1cHg7CiAgbWFyZ2luLXRvcDogMDsKfQouaGVhZGVyLXdpZGdldC1jb250YWN0LWluZm8tYm94IC5jb250YWN0LWluZm8uc21hbGwtaWNvbiAudGl0bGUgewogIGNvbG9yOiAjMzMzMzMzOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogYm9sZDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci5oZWFkZXItd2lkZ2V0LWNvbnRhY3QtaW5mby1ib3ggLmNvbnRhY3QtaW5mby5zbWFsbC1pY29uIC5zdWJ0aXRsZSB7CiAgY29sb3I6ICM4MDgwODA7CiAgZm9udC1zaXplOiAxMnB4OwogIGZvbnQtd2VpZ2h0OiBub3JtYWw7CiAgbWFyZ2luOiAwOwp9Ci8qCiAqIG5hdi5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qIC0tLS0tLS0tIG5hdiBzaWRlYmFyIC0tLS0tLS0tLS0gKi8KLm5hdi1zaWRlYmFyIGxpIHsKICBiYWNrZ3JvdW5kOiAjZjFmMWYxOwogIHBhZGRpbmctYm90dG9tOiAwOwp9Ci5uYXYtc2lkZWJhciBsaSBhIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5uYXYtcGlsbHMgbGkgYTpob3ZlciwKLm5hdi1waWxscyBsaS5hY3RpdmUgPiBhLAoubmF2LXBpbGxzIGxpLmFjdGl2ZSA+IGE6aG92ZXIsCi5uYXYtcGlsbHMgbGkuYWN0aXZlID4gYTpmb2N1cyB7CiAgYmFja2dyb3VuZDogI2QzZDNkMzsKICBjb2xvcjogIzc3Nzc3NzsKfQovKiAtLS0tLS0tLSBIZWFkZXIgTmF2IC0tLS0tLS0tLS0gKi8KLmhlYWRlci1uYXYgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouaGVhZGVyLW5hdiAuaGVhZGVyLW5hdi13cmFwcGVyIHsKICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7Cn0KLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtYWJzb2x1dGUtd3JhcHBlciB7CiAgd2lkdGg6IDEwMCU7Cn0KLmhlYWRlci1uYXYgLmhlYWRlci1uYXYtd3JhcHBlciAubWVudXpvcmQgewogIHBhZGRpbmc6IDA7Cn0KLyogLS0tLS0tLS0gTWVudXpvcmQgLS0tLS0tLS0tLSAqLwoubWVudXpvcmQtbWVudSA+IGxpLmhvbWUgPiBhID4gaSB7CiAgZmxvYXQ6IG5vbmU7CiAgbGluZS1oZWlnaHQ6IDE7CiAgbWFyZ2luOiAwOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gewogICAgYm94LXNoYWRvdzogMCAxMHB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIH0KfQoubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSB7CiAgbWFyZ2luOiAwOwp9Ci5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpIGEgewogIGNvbG9yOiAjNjY2NjY2OwogIGZvbnQtc2l6ZTogMTNweDsKICBmb250LXdlaWdodDogNjAwOwogIHBhZGRpbmc6IDdweCAyNXB4IDdweCAyMnB4Owp9Ci5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpIC5pbmRpY2F0b3IgewogIHRvcDogNHB4Owp9Ci5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duLAoubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSB1bC5kcm9wZG93biB7CiAgbWluLXdpZHRoOiAyMzBweDsKfQovKiAtLS0tLS0tLSBNZWdhbWVudS1Sb3cgLS0tLS0tLS0tLSAqLwoubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IHsKICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gcmlnaHQ7Cn0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudS5tZWdhbWVudS1iZy1pbWcgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL21lZ2FtZW51L21lZ2FtZW51LWRyb3Bkb3duLmh0bWwnKTsKfQoubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgdWwgewogIG1hcmdpbi1sZWZ0OiAwOwp9Ci5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyB1bCBsaSB7CiAgYm9yZGVyOiAwIG5vbmU7CiAgY2xlYXI6IGJvdGg7CiAgZm9udC1zaXplOiAxMnB4OwogIG1hcmdpbjogMDsKICBwYWRkaW5nOiAycHggMCAycHggMTVweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7Cn0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IHVsIGxpIGEgewogIGRpc3BsYXk6IGJsb2NrOwogIHBhZGRpbmc6IDhweCAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogcGFkZGluZyAwLjJzIGxpbmVhcjsKICAtby10cmFuc2l0aW9uOiBwYWRkaW5nIDAuMnMgbGluZWFyOwogIHRyYW5zaXRpb246IHBhZGRpbmcgMC4ycyBsaW5lYXI7Cn0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IHVsIGxpLmFjdGl2ZSA+IGEsCi5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyB1bCBsaTpob3ZlciA+IGEgewogIGNvbG9yOiAjMTExOwogIHBhZGRpbmctbGVmdDogNXB4Owp9Ci5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyB1bCBsaSBhIGkgewogIGNvbG9yOiAjNDQ0Owp9Ci5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyB1bCBsaS5hY3RpdmUgYSBpLAoubWVudXpvcmQtbWVudSA+IGxpID4gLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IHVsIGxpOmhvdmVyIGEgaSB7CiAgY29sb3I6ICNmZmY7Cn0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IHVsLmxpc3QtaWNvbiBsaTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjEwMSI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMTJweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDEwcHg7Cn0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5tZWdhbWVudS1jb2wtdGl0bGUgewogIG1hcmdpbi1ib3R0b206IDE1cHg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAubWVudXpvcmQtbWVudSB7CiAgICBiYWNrZ3JvdW5kOiAjZmZmOwogIH0KfQoubmF2LXNpZGUtaWNvbi1saXN0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDc5cHgpIHsKICAubmF2LXNpZGUtaWNvbi1saXN0IHsKICAgIGZsb2F0OiBsZWZ0OwogIH0KfQoubmF2LXNpZGUtaWNvbi1saXN0ID4gbGkgewogIGZsb2F0OiBsZWZ0OwogIHBhZGRpbmc6IDIwcHggMTJweDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogIC5uYXYtc2lkZS1pY29uLWxpc3QgPiBsaSB7CiAgICBwYWRkaW5nOiAxM3B4IDEycHg7CiAgfQp9Ci5uYXYtc2lkZS1pY29uLWxpc3QgPiBsaSAuY3VzdG9tLWJ1dHRvbiB7CiAgbWFyZ2luLXRvcDogLTVweDsKfQovKiBmdWxsc2NyZWVuIHNlYXJjaCBmb3JtICovCiNmdWxsc2NyZWVuLXNlYXJjaC1idG4gLnNlYXJjaC1pY29uIHsKICBjb2xvcjogIzU1NTsKICBmb250LXNpemU6IDE3cHg7CiAgbGluZS1oZWlnaHQ6IDE7CiAgcGFkZGluZzogNXB4Owp9CiNmdWxsc2NyZWVuLXNlYXJjaC1idG4gLnNlYXJjaC1pY29uOmhvdmVyIHsKICBjb2xvcjogIzg4ODsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogICNmdWxsc2NyZWVuLXNlYXJjaC1idG4gewogICAgbWFyZ2luLXRvcDogMTJweDsKICB9Cn0KI2Z1bGxzY3JlZW4tc2VhcmNoLWZvcm0gewogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDBweDsKICBsZWZ0OiAwcHg7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45NSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OwogIC1tcy10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTEwMCUpIHNjYWxlKDAsIDApOwogIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtMTAwJSkgc2NhbGUoMCwgMCk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMHB4LCAtMTAwJSkgc2NhbGUoMCwgMCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTEwMCUpIHNjYWxlKDAsIDApOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgLTEwMCUpIHNjYWxlKDAsIDApOwogIG9wYWNpdHk6IDA7CiAgei1pbmRleDogMTsKfQojZnVsbHNjcmVlbi1zZWFyY2gtZm9ybSBmb3JtIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiA1MCU7CiAgd2lkdGg6IDQwMHB4OwogIG1heC13aWR0aDogOTYlOwogIG1hcmdpbjogMHB4IGF1dG87CiAgbWFyZ2luLXRvcDogLTUxcHg7CiAgb3V0bGluZTogbm9uZTsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIHBhZGRpbmctbGVmdDogMTVweDsKICBwYWRkaW5nLXJpZ2h0OiAxNXB4Owp9CiNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtIGZvcm0gaW5wdXRbdHlwZT0ic2VhcmNoIl0gewogIGNvbG9yOiAjZmZmZmZmOwogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMCk7CiAgZm9udC1zaXplOiAzMHB4OwogIGZvbnQtd2VpZ2h0OiAzMDA7CiAgbWF4LXdpZHRoOiAxMDAlOwogIGJvcmRlcjogMHB4OwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNzc3Owp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA3OXB4KSB7CiAgI2Z1bGxzY3JlZW4tc2VhcmNoLWZvcm0gZm9ybSBpbnB1dFt0eXBlPSJzZWFyY2giXSB7CiAgICBmb250LXNpemU6IDIwcHg7CiAgfQp9CiNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtIGZvcm0gYnV0dG9uW3R5cGU9InN1Ym1pdCJdIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDhweDsKICB0b3A6IDA7CiAgaGVpZ2h0OiAxMDAlOwogIGZvbnQtc2l6ZTogMjRweDsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogMDsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogICNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtIGZvcm0gYnV0dG9uW3R5cGU9InN1Ym1pdCJdIHsKICAgIGZvbnQtc2l6ZTogMjBweDsKICB9Cn0KI2Z1bGxzY3JlZW4tc2VhcmNoLWZvcm0gLmNsb3NlIHsKICBwb3NpdGlvbjogZml4ZWQ7CiAgdG9wOiAxNXB4OwogIHJpZ2h0OiAxNXB4OwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGNvbG9yOiAjZmZmOwogIGJvcmRlci1jb2xvcjogZ3JlZW47CiAgb3BhY2l0eTogMTsKICBwYWRkaW5nOiAxMHB4IDE3cHg7CiAgZm9udC1zaXplOiAzNnB4Owp9CiNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtLmhhbmdpbmctdG9wLXNlYXJjaC1mb3JtIHsKICBoZWlnaHQ6IGF1dG87CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjAwJSk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMDAlKTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlOwogIC1tb3otdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2U7Cn0KI2Z1bGxzY3JlZW4tc2VhcmNoLWZvcm0uaGFuZ2luZy10b3Atc2VhcmNoLWZvcm0gZm9ybSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG1hcmdpbjogM2VtIDA7CiAgcGFkZGluZzogMCAxNXB4OwogIHdpZHRoOiAxMDAlOwp9CiNmdWxsc2NyZWVuLXNlYXJjaC1mb3JtLmhhbmdpbmctdG9wLXNlYXJjaC1mb3JtIGZvcm0gaW5wdXRbdHlwZT0ic2VhcmNoIl0gewogIGhlaWdodDogNjBweDsKICB3aWR0aDogMTAwJTsKfQojZnVsbHNjcmVlbi1zZWFyY2gtZm9ybS5vcGVuIHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSBzY2FsZSgxLCAxKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSBzY2FsZSgxLCAxKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgc2NhbGUoMSwgMSk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDBweCwgMHB4KSBzY2FsZSgxLCAxKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwcHgsIDBweCkgc2NhbGUoMSwgMSk7CiAgb3BhY2l0eTogMTsKfQovKiBUb3AgTmF2IFNlYXJjaCBCdXR0b24gJiBGb3JtICovCiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1idG4gLnNlYXJjaC1pY29uIHsKICBjb2xvcjogIzU1NTsKICBmb250LXNpemU6IDE3cHg7CiAgbGluZS1oZWlnaHQ6IDE7CiAgcGFkZGluZzogNXB4Owp9CiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1idG4gLnNlYXJjaC1pY29uOmhvdmVyIHsKICBjb2xvcjogIzg4ODsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogICNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1idG4gewogICAgbWFyZ2luLXRvcDogMTJweDsKICB9Cn0KI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0gewogIGJhY2tncm91bmQ6ICMyMjI7CiAgYm9yZGVyOiAzcHggc29saWQgIzExMTsKICBkaXNwbGF5OiBub25lOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogOTk5OTE7Cn0KI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0uZHJvcGRvd24tc2VhcmNoLWZvcm0gewogIHRvcDogMTAwJTsKfQojaW5saW5lLWZ1bGx3aWR0aC1zZWFyY2gtZm9ybSBmb3JtIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtIGlucHV0W3R5cGU9InRleHQiXSB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogbm9uZTsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDI0cHg7CiAgaGVpZ2h0OiAxMDAlOwogIGxlZnQ6IDE1cHg7CiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsKICBvdXRsaW5lOiBtZWRpdW0gbm9uZTsKICBwYWRkaW5nOiAwIDUwcHggMCAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogOTAlOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTA3OXB4KSB7CiAgI2lubGluZS1mdWxsd2lkdGgtc2VhcmNoLWZvcm0gaW5wdXRbdHlwZT0idGV4dCJdIHsKICAgIGZvbnQtc2l6ZTogMThweDsKICAgIHdpZHRoOiA4MCU7CiAgfQp9CiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtIGJ1dHRvblt0eXBlPSJzdWJtaXQiXSB7CiAgcmlnaHQ6IDUwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGhlaWdodDogMTAwJTsKICBmb250LXNpemU6IDI0cHg7CiAgdG9wOiAwOwogIGJvcmRlcjogbm9uZTsKICBib3JkZXItcmFkaXVzOiAwOwogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50Owp9CiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtICNjbG9zZS1zZWFyY2gtYnRuIHsKICBjb2xvcjogI2ZmZjsKICBmbG9hdDogcmlnaHQ7CiAgZm9udC1zaXplOiAyOHB4OwogIGxpbmUtaGVpZ2h0OiA3NXB4OwogIG1hcmdpbjogMCAxNXB4IDAgMDsKICBwYWRkaW5nOiAwOwp9CiNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtICNjbG9zZS1zZWFyY2gtYnRuOmhvdmVyIHsKICBjb2xvcjogIzU1NTsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwNzlweCkgewogICNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1mb3JtICNjbG9zZS1zZWFyY2gtYnRuIHsKICAgIGxpbmUtaGVpZ2h0OiA2MHB4OwogIH0KfQoubW9kZXJuLWhlYWRlcjpub3QoLm1vZGVybi1oZWFkZXItd2hpdGUpICNpbmxpbmUtZnVsbHdpZHRoLXNlYXJjaC1idG4gLnNlYXJjaC1pY29uIHsKICBjb2xvcjogI2ZmZjsKfQoubW9kZXJuLWhlYWRlcjpub3QoLm1vZGVybi1oZWFkZXItd2hpdGUpIC50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAubWluaS1jYXJ0LWljb24gaSB7CiAgY29sb3I6ICNmZmY7Cn0KLm1vZGVybi1oZWFkZXI6bm90KC5tb2Rlcm4taGVhZGVyLXdoaXRlKSAuc2lkZS1wYW5lbC10cmlnZ2VyIGkgewogIGNvbG9yOiAjZmZmOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgLmhlYWRlci1uYXYtY2VudGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICB9CiAgLmhlYWRlci1uYXYtY2VudGVyIC5tZW51em9yZCB7CiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgICBmbG9hdDogbm9uZTsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgd2lkdGg6IGF1dG87CiAgICB0ZXh0LWFsaWduOiBsZWZ0OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIC5oZWFkZXItbmF2LWNlbnRlcmVkLWxvZ28gbmF2Lm1lbnV6b3JkIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9CiAgLmhlYWRlci1uYXYtY2VudGVyZWQtbG9nbyBuYXYubWVudXpvcmQgLm1lbnV6b3JkLWJyYW5kIHsKICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICAgIGxlZnQ6IDA7CiAgICByaWdodDogMDsKICAgIG1hcmdpbjogMCBhdXRvOwogICAgd2lkdGg6IDIyMHB4OwogICAgdG9wOiAxMHB4OwogICAgdGV4dC1hbGlnbjogY2VudGVyOwogIH0KICAuaGVhZGVyLW5hdi1jZW50ZXJlZC1sb2dvIG5hdi5tZW51em9yZCAubWVudXpvcmQtYnJhbmQgaW1nIHsKICAgIG1heC1oZWlnaHQ6IDgwcHg7CiAgfQogIC5oZWFkZXItbmF2LWNlbnRlcmVkLWxvZ28gbmF2Lm1lbnV6b3JkIC5tZW51em9yZC1tZW51ID4gbGkgPiBhIHsKICAgIG1hcmdpbi1yaWdodDogMTVweDsKICAgIHBhZGRpbmc6IDM1cHggMTZweCAzNXB4OwogIH0KICAuaGVhZGVyLW5hdi1jZW50ZXJlZC1sb2dvIG5hdi5tZW51em9yZCAubWVudXpvcmQtbWVudSA+IGxpOm50aC1jaGlsZCgzKSA+IGEgewogICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsKICB9CiAgLmhlYWRlci1uYXYtY2VudGVyZWQtbG9nbyBuYXYubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgPiBsaTpsYXN0LWNoaWxkID4gYSB7CiAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7CiAgLmhlYWRlci1uYXYtY2VudGVyZWQtbG9nbyBuYXYubWVudXpvcmQgLm1lbnV6b3JkLWJyYW5kIHsKICAgIGRpc3BsYXk6IGJsb2NrOwogICAgZmxvYXQ6IG5vbmU7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgICBtYXJnaW46IDEwcHg7CiAgfQogIC5oZWFkZXItbmF2LWNlbnRlcmVkLWxvZ28gbmF2Lm1lbnV6b3JkIC5tZW51em9yZC1icmFuZCBpbWcgewogICAgbWF4LWhlaWdodDogODBweDsKICB9CiAgLmhlYWRlci1uYXYtY2VudGVyZWQtbG9nbyBuYXYubWVudXpvcmQgLnNob3doaWRlICsgLm1lbnV6b3JkLWJyYW5kIHsKICAgIG1hcmdpbi1sZWZ0OiA2MHB4OwogIH0KfQovKiBUb3AgUHVzaCBEb3duIFNlYXJjaCBGb3JtICovCi50b3AtcHVzaGRvd24tc2VhcmNoLWJ0biAuc2VhcmNoLWljb24gewogIGNvbG9yOiAjNTU1OwogIGZvbnQtc2l6ZTogMTdweDsKICBsaW5lLWhlaWdodDogMTsKICBwYWRkaW5nOiA1cHg7Cn0KLnRvcC1wdXNoZG93bi1zZWFyY2gtYnRuIC5zZWFyY2gtaWNvbjpob3ZlciB7CiAgY29sb3I6ICM4ODg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDc5cHgpIHsKICAudG9wLXB1c2hkb3duLXNlYXJjaC1idG4gewogICAgbWFyZ2luLXRvcDogMTJweDsKICB9Cn0KLyogRHJvcGRvd24gU2VhcmNoIEZvcm0gKi8KLmRyb3Bkb3duLXNlYXJjaC1mb3JtLWNvbnRlbnQgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouZHJvcGRvd24tc2VhcmNoLWZvcm0tY29udGVudCAuc2VhcmNoLWljb24gewogIGNvbG9yOiAjNTU1OwogIGZvbnQtc2l6ZTogMTdweDsKICBsaW5lLWhlaWdodDogMTsKICBwYWRkaW5nOiA1cHg7Cn0KLmRyb3Bkb3duLXNlYXJjaC1mb3JtLWNvbnRlbnQgLnNlYXJjaC1pY29uOmhvdmVyIHsKICBjb2xvcjogIzg4ODsKfQouZHJvcGRvd24tc2VhcmNoLWZvcm0tY29udGVudCAuZHJvcGRvd24tc2VhcmNoLWZvcm0gewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OwogIGJvcmRlcjogbm9uZTsKICBib3gtc2hhZG93OiBub25lOwogIGxlZnQ6IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgdG9wOiAxMDAlOwogIHBhZGRpbmctdG9wOiAyN3B4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgd2lkdGg6IDMwMHB4OwogIHotaW5kZXg6IDEwMDA7Cn0KLmRyb3Bkb3duLXNlYXJjaC1mb3JtLWNvbnRlbnQgLmRyb3Bkb3duLXNlYXJjaC1mb3JtIC5pbnB1dC1ncm91cCB7CiAgYm9yZGVyLXJhZGl1czogM3B4OwogIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7Cn0KLmRyb3Bkb3duLXNlYXJjaC1mb3JtLWNvbnRlbnQgLmRyb3Bkb3duLXNlYXJjaC1mb3JtIGlucHV0W3R5cGU9InNlYXJjaCJdIHsKICBmb250LXNpemU6IDE2cHg7Cn0KLmRyb3Bkb3duLXNlYXJjaC1mb3JtLWNvbnRlbnQgLmRyb3Bkb3duLXNlYXJjaC1mb3JtIGJ1dHRvblt0eXBlPSJzdWJtaXQiXSB7CiAgYm9yZGVyOiBub25lOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYmFja2dyb3VuZDogI2YzZjNmMzsKfQovKgogKiBpbm5lci1oZWFkZXItdGl0bGUubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouaW5uZXItaGVhZGVyIC50aXRsZSB7CiAgZm9udC1zaXplOiAzNnB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLyoKICoJVmVydGljYWwtTmF2Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KYm9keS52ZXJ0aWNhbC1uYXYgLmNvbnRhaW5lciB7CiAgbWF4LXdpZHRoOiAxMTAwcHg7Cn0KYm9keS52ZXJ0aWNhbC1uYXYgaGVhZGVyI2hlYWRlciB7CiAgd2lkdGg6IDI2MHB4OwogIHBvc2l0aW9uOiBmaXhlZDsKICB0b3A6IDA7CiAgbGVmdDogMDsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGNvbG9yOiAjNTU1OwogIHotaW5kZXg6IDEwMTsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkOwogIC13ZWJraXQtdHJhbnNpdGlvbjogbm9uZTsKICAtby10cmFuc2l0aW9uOiBub25lOwogIHRyYW5zaXRpb246IG5vbmU7Cn0KYm9keS52ZXJ0aWNhbC1uYXYgaGVhZGVyI2hlYWRlciAuY29udGFpbmVyIHsKICBtYXgtd2lkdGg6IDEwMCU7CiAgcGFkZGluZzogMDsKfQpib2R5LnZlcnRpY2FsLW5hdiBoZWFkZXIjaGVhZGVyIC5oZWFkZXItbmF2LXdyYXBwZXIgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDAxcHgpIHsKICBib2R5LnZlcnRpY2FsLW5hdiBoZWFkZXIjaGVhZGVyIC5oZWFkZXItbmF2LXdyYXBwZXIgewogICAgYm94LXNoYWRvdzogbm9uZTsKICB9Cn0KYm9keS52ZXJ0aWNhbC1uYXYgaGVhZGVyI2hlYWRlci52ZXJ0aWNhbC1uYXYtYmxhY2sgewogIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMyMjI7Cn0KYm9keS52ZXJ0aWNhbC1uYXYgLm1haW4tY29udGVudCwKYm9keS52ZXJ0aWNhbC1uYXYgLmZvb3RlciB7CiAgbWFyZ2luLWxlZnQ6IDI2MHB4Owp9CmJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCB7CiAgYmFja2dyb3VuZDogbm9uZTsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIGJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMDFweCkgewogIGJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtYnJhbmQgewogICAgcGFkZGluZzogMTVweDsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgfQp9CmJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGEgewogIGJhY2tncm91bmQ6ICNlZWVlZWUgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBjb2xvcjogIzExMTExMTsKfQpib2R5LnZlcnRpY2FsLW5hdiAubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgbGkgewogIHBhZGRpbmc6IDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAxMDAlOwp9CmJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtbWVudSBsaSAuaW5kaWNhdG9yIHsKICBmbG9hdDogcmlnaHQ7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luLXJpZ2h0OiAxNXB4Owp9CmJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtbWVudSBsaSBhIHsKICB3aWR0aDogMTAwJTsKfQpib2R5LnZlcnRpY2FsLW5hdiAubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgPiBsaSB7CiAgcGFkZGluZzogNXB4IDA7Cn0KYm9keS52ZXJ0aWNhbC1uYXYgLm1lbnV6b3JkIC5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwKYm9keS52ZXJ0aWNhbC1uYXYgLm1lbnV6b3JkIC5tZW51em9yZC1tZW51ID4gbGk6aG92ZXIgPiBhIHsKICBiYWNrZ3JvdW5kOiBub25lOwogIGNvbG9yOiAjMzMzOwp9CmJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biwKYm9keS52ZXJ0aWNhbC1uYXYgLm1lbnV6b3JkIC5tZW51em9yZC1tZW51IC5tZWdhbWVudSB7CiAgbGVmdDogMTAwJTsKICB0b3A6IDRweDsKfQpib2R5LnZlcnRpY2FsLW5hdiAudmVydGljYWwtbmF2LXdpZGdldCB7CiAgcGFkZGluZzogMTVweDsKfQpib2R5LnZlcnRpY2FsLW5hdi52ZXJ0aWNhbC1uYXYtcmlnaHQgaGVhZGVyI2hlYWRlciB7CiAgbGVmdDogYXV0bzsKICByaWdodDogMDsKfQpib2R5LnZlcnRpY2FsLW5hdi52ZXJ0aWNhbC1uYXYtcmlnaHQgLm1haW4tY29udGVudCwKYm9keS52ZXJ0aWNhbC1uYXYudmVydGljYWwtbmF2LXJpZ2h0IC5mb290ZXIgewogIHBhZGRpbmctbGVmdDogYXV0bzsKICBtYXJnaW4tcmlnaHQ6IDI2MHB4OwogIHBhZGRpbmctdG9wOiAwOwp9CmJvZHkudmVydGljYWwtbmF2LnZlcnRpY2FsLW5hdi1yaWdodCAubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24sCmJvZHkudmVydGljYWwtbmF2LnZlcnRpY2FsLW5hdi1yaWdodCAubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgLm1lZ2FtZW51IHsKICBsZWZ0OiBhdXRvOwogIHJpZ2h0OiAxMDAlOwogIHRvcDogMDsKfQpib2R5LnZlcnRpY2FsLW5hdiAucmV2X3NsaWRlcl93cmFwcGVyIHsKICBsZWZ0OiAwICFpbXBvcnRhbnQ7CiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkgewogIGJvZHkudmVydGljYWwtbmF2IC5jb250YWluZXIgewogICAgd2lkdGg6IDEwMCU7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwMXB4KSB7CiAgYm9keS52ZXJ0aWNhbC1uYXYgaGVhZGVyI2hlYWRlciAuc2l0ZS1icmFuZCB7CiAgICBkaXNwbGF5OiBibG9jazsKICAgIGZsb2F0OiBub25lOwogICAgbWFyZ2luOiA1MHB4IDAgMzBweDsKICAgIHRleHQtYWxpZ246IGNlbnRlcjsKICB9CiAgYm9keS52ZXJ0aWNhbC1uYXYgLm1lZ2FtZW51IHsKICAgIGxlZnQ6IDEwMCUgIWltcG9ydGFudDsKICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgICB3aWR0aDogODAwcHggIWltcG9ydGFudDsKICB9CiAgYm9keS52ZXJ0aWNhbC1uYXYgLm1lbnV6b3JkIC5tZW51em9yZC1tZW51IHsKICAgIHBhZGRpbmc6IDA7CiAgICBtYXJnaW4tbGVmdDogMTVweDsKICB9CiAgYm9keS52ZXJ0aWNhbC1uYXYgLm1lbnV6b3JkLW1lbnUgPiBsaSA+IGEgewogICAgcGFkZGluZy1sZWZ0OiAwOwogICAgcGFkZGluZy1yaWdodDogMDsKICB9CiAgYm9keS52ZXJ0aWNhbC1uYXYgLnZlcnRpY2FsLW5hdi1zaWRlYmFyLXdpZGdldC13cmFwcGVyIHsKICAgIHBhZGRpbmc6IDMwcHggMTVweCA1cHg7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAwMHB4KSB7CiAgYm9keS52ZXJ0aWNhbC1uYXYgaGVhZGVyI2hlYWRlciB7CiAgICBib3JkZXI6IDA7CiAgICBwYWRkaW5nOiAwOwogICAgcG9zaXRpb246IGZpeGVkOwogICAgdG9wOiAwOwogICAgaGVpZ2h0OiBhdXRvOwogICAgd2lkdGg6IDEwMCU7CiAgICBiYWNrZ3JvdW5kOiAjZmZmICFpbXBvcnRhbnQ7CiAgfQogIGJvZHkudmVydGljYWwtbmF2IC5tZW51em9yZCAubWVudXpvcmQtbWVudSA+IGxpIHsKICAgIHBhZGRpbmc6IDA7CiAgfQogIGJvZHkudmVydGljYWwtbmF2IC52ZXJ0aWNhbC1uYXYtd2lkZ2V0IHsKICAgIGRpc3BsYXk6IG5vbmU7CiAgfQogIGJvZHkudmVydGljYWwtbmF2IC5tYWluLWNvbnRlbnQsCiAgYm9keS52ZXJ0aWNhbC1uYXYgLmZvb3RlciB7CiAgICBtYXJnaW4tbGVmdDogMDsKICB9CiAgYm9keS52ZXJ0aWNhbC1uYXYudmVydGljYWwtbmF2LXJpZ2h0IC5tYWluLWNvbnRlbnQsCiAgYm9keS52ZXJ0aWNhbC1uYXYudmVydGljYWwtbmF2LXJpZ2h0IC5mb290ZXIgewogICAgbWFyZ2luLXJpZ2h0OiAwOwogIH0KICBib2R5LnZlcnRpY2FsLW5hdiAudmVydGljYWwtbmF2LXNpZGViYXItd2lkZ2V0LXdyYXBwZXIgewogICAgZGlzcGxheTogbm9uZTsKICB9Cn0KLyoKICoJbWVudS1mdWxsLXBhZ2UubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiBtZW51LWZ1bGwtcGFnZSBwbHVnaW4gY29kZSAqLwoubWVudS1mdWxsLXBhZ2UgI2Z1bGxwYWdlLW5hdiB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk3KTsKICB6LWluZGV4OiAtMTsKICBwb3NpdGlvbjogZml4ZWQ7CiAgLypsZWZ0OiAtMTAwJTsqLwogIC8qbGVmdCBvciByaWdodCBhbmQgdGhlIHdpZHRoIG9mIHlvdXIgbmF2aWdhdGlvbiBwYW5lbCovCiAgbGVmdDogMCAhaW1wb3J0YW50OwogIC8qbGVmdCBvciByaWdodCBhbmQgdGhlIHdpZHRoIG9mIHlvdXIgbmF2aWdhdGlvbiBwYW5lbCovCiAgb3BhY2l0eTogMDsKICB3aWR0aDogMTAwJTsKICAvKnNob3VsZCBtYXRjaCB0aGUgYWJvdmUgdmFsdWUqLwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDJzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAycyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMnMgZWFzZS1pbi1vdXQ7Cn0KLm1lbnUtZnVsbC1wYWdlICNmdWxscGFnZS1uYXYgdWwgewogIGxpc3Qtc3R5bGU6IG5vbmU7CiAgbWFyZ2luLXRvcDogNTBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2UtaW4tb3V0OwogIHRyYW5zaXRpb246IGFsbCAwLjdzIGVhc2UtaW4tb3V0Owp9Ci5tZW51LWZ1bGwtcGFnZSAjZnVsbHBhZ2UtbmF2IHVsIGxpIHsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICBwYWRkaW5nOiAxMHB4IDA7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5tZW51LWZ1bGwtcGFnZSAjZnVsbHBhZ2UtbmF2IHVsIGxpIGEgewogIGNvbG9yOiAjMTExOwogIGZvbnQtc2l6ZTogMThweDsKICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwogIGZvbnQtd2VpZ2h0OiA0MDA7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoubWVudS1mdWxsLXBhZ2UgI2Z1bGxwYWdlLW5hdiB1bCBsaSBhOmhvdmVyIHsKICBjb2xvcjogIzg4ODsKICAtd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIDJzIHRpbWU7CiAgLW8tdHJhbnNpdGlvbjogY29sb3IgMnMgdGltZTsKICB0cmFuc2l0aW9uOiBjb2xvciAycyB0aW1lOwp9Ci5tZW51LWZ1bGwtcGFnZSAjZnVsbHBhZ2UtbmF2IHVsIGxpOmhvdmVyOmFmdGVyIGEgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBjb250ZW50OiAnJzsKICBjb2xvcjogI0ZGRjsKfQoubWVudS1mdWxsLXBhZ2UgI2Z1bGxwYWdlLW5hdiB1bCB1bCB7CiAgZGlzcGxheTogbm9uZTsKfQoubWVudS1mdWxsLXBhZ2UgI2Z1bGxwYWdlLW5hdiB1bCB1bCBsaSBhIHsKICBmb250LXNpemU6IDEzcHg7Cn0KLm1lbnUtZnVsbC1wYWdlICNmdWxscGFnZS1uYXYgdWwgdWwgbGkgYTpob3ZlciB7CiAgY29sb3I6ICM4ODg7Cn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlLm1lbnUtb3BlbiArICNmdWxscGFnZS1uYXYgewogIG9wYWNpdHk6IDE7CiAgei1pbmRleDogMTExMTsKfQoubWVudS1mdWxsLXBhZ2UgLmZ1bGxwYWdlLW5hdi10b2dnbGUubWVudS1vcGVuICsgI2Z1bGxwYWdlLW5hdiA+IHVsIHsKICBtYXJnaW4tdG9wOiA3MHB4Owp9Ci5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZSB7CiAgei1pbmRleDogMTExMjsKICBkaXNwbGF5OiBibG9jazsKICBwb3NpdGlvbjogZml4ZWQ7CiAgdG9wOiAwOwogIHJpZ2h0OiAwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IDcwcHg7CiAgaGVpZ2h0OiA3MHB4OwogIGZvbnQtc2l6ZTogMDsKICB0ZXh0LWluZGVudDogLTk5OTlweDsKICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7CiAgLW1vei1hcHBlYXJhbmNlOiBub25lOwogIGFwcGVhcmFuY2U6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXItcmFkaXVzOiBub25lOwogIGJvcmRlcjogbm9uZTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3M7CiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzOwogIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4zczsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICAvKiBhY3RpdmUgc3RhdGUsIGkuZS4gbWVudSBvcGVuICovCn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlIGkgewogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICBmb250LXNpemU6IDQwcHg7CiAgY29sb3I6ICNmZmY7Cn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlOmZvY3VzIHsKICBvdXRsaW5lOiBub25lOwp9Ci5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZSBzcGFuIHsKICBkaXNwbGF5OiBibG9jazsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiA0NXB4OwogIGxlZnQ6IDE4cHg7CiAgcmlnaHQ6IDE4cHg7CiAgaGVpZ2h0OiA0cHg7CiAgYm9yZGVyLXJhZGl1czogMnB4OwogIGJhY2tncm91bmQ6ICM4ODg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAgMC4zczsKICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAgMC4zczsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAgMC4zczsKfQoubWVudS1mdWxsLXBhZ2UgLmZ1bGxwYWdlLW5hdi10b2dnbGUgc3BhbjpiZWZvcmUsCi5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZSBzcGFuOmFmdGVyIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgZGlzcGxheTogYmxvY2s7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDRweDsKICBib3JkZXItcmFkaXVzOiAwOwogIGJhY2tncm91bmQtY29sb3I6ICM4ODg7CiAgY29udGVudDogIiI7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzLCAwLjNzOwogIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3MsIDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjNzLCAwOwogIHRyYW5zaXRpb24tZGVsYXk6IDAuM3MsIDA7Cn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlIHNwYW46YmVmb3JlIHsKICB0b3A6IC0xMnB4OwogIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogdG9wLCAtd2Via2l0LXRyYW5zZm9ybTsKICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHRyYW5zZm9ybTsKfQoubWVudS1mdWxsLXBhZ2UgLmZ1bGxwYWdlLW5hdi10b2dnbGUgc3BhbjphZnRlciB7CiAgYm90dG9tOiAtMTJweDsKICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJvdHRvbSwgLXdlYmtpdC10cmFuc2Zvcm07CiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07Cn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlLm1lbnUtb3BlbiB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLm1lbnUtZnVsbC1wYWdlIC5mdWxscGFnZS1uYXYtdG9nZ2xlLm1lbnUtb3BlbiBzcGFuIHsKICBiYWNrZ3JvdW5kOiBub25lOwp9Ci5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZS5tZW51LW9wZW4gc3BhbjpiZWZvcmUsCi5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZS5tZW51LW9wZW4gc3BhbjphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTsKICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAsIDAuM3M7CiAgdHJhbnNpdGlvbi1kZWxheTogMCwgMC4zczsKfQoubWVudS1mdWxsLXBhZ2UgLmZ1bGxwYWdlLW5hdi10b2dnbGUubWVudS1vcGVuIHNwYW46YmVmb3JlIHsKICB0b3A6IDA7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwp9Ci5tZW51LWZ1bGwtcGFnZSAuZnVsbHBhZ2UtbmF2LXRvZ2dsZS5tZW51LW9wZW4gc3BhbjphZnRlciB7CiAgYm90dG9tOiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7Cn0KLyogbWVudS1mdWxsLXBhZ2UgY3VzdG9tIGNvZGUgKi8KLm1lbnUtZnVsbC1wYWdlIC5oZWFkZXIgI2Z1bGxwYWdlLW5hdiBsaSB7CiAgcGFkZGluZzogNXB4IDA7Cn0KLm1lbnUtZnVsbC1wYWdlIC5oZWFkZXIgI2Z1bGxwYWdlLW5hdiBsaSBhIHsKICBiYWNrZ3JvdW5kOiBub25lOwogIGRpc3BsYXk6IGlubGluZTsKICBmb250LXNpemU6IDE4cHg7CiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7Cn0KLm1lbnUtZnVsbC1wYWdlIC5oZWFkZXIgI2Z1bGxwYWdlLW5hdiB1bCB1bCB7CiAgbWFyZ2luLXRvcDogMDsKfQoubWVudS1mdWxsLXBhZ2UgLmhlYWRlciAjZnVsbHBhZ2UtbmF2IHVsIHVsIGxpIHsKICBwYWRkaW5nOiAzcHggMDsKfQoubWVudS1mdWxsLXBhZ2UgLmhlYWRlciAjZnVsbHBhZ2UtbmF2IHVsIHVsIGxpIGEgewogIGZvbnQtc2l6ZTogMTJweDsKfQoubWVudS1mdWxsLXBhZ2UgLmhlYWRlciAjZnVsbHBhZ2UtbmF2IHVsIGxpIC5kcm9wZG93biB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBib3gtc2hhZG93OiBub25lOwogIGJvcmRlcjogbm9uZTsKICBmbG9hdDogbm9uZTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXgtaGVpZ2h0OiAwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC45cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xNzUsIDEpICFpbXBvcnRhbnQ7CiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC45cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xNzUsIDEpICFpbXBvcnRhbnQ7CiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjlzIGN1YmljLWJlemllcigwLjU1LCAwLCAwLjE3NSwgMSkgIWltcG9ydGFudDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC45cyBjdWJpYy1iZXppZXIoMC41NSwgMCwgMC4xNzUsIDEpICFpbXBvcnRhbnQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuOXMgY3ViaWMtYmV6aWVyKDAuNTUsIDAsIDAuMTc1LCAxKSAhaW1wb3J0YW50OwogIGRpc3BsYXk6IGJsb2NrIWltcG9ydGFudDsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5tZW51LWZ1bGwtcGFnZSAuaGVhZGVyICNmdWxscGFnZS1uYXYgdWwgbGk6aG92ZXIgLmRyb3Bkb3duIHsKICBtYXgtaGVpZ2h0OiA3MDBweDsKfQovKgogKglib3hlZC1sYXlvdXQubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwpib2R5LmNvbnRhaW5lci0xMzQwcHggLmNvbnRhaW5lciB7CiAgd2lkdGg6IDEzNDBweDsKfQpib2R5LmNvbnRhaW5lci05NzBweCAuY29udGFpbmVyIHsKICB3aWR0aDogOTcwcHg7Cn0KLmJveGVkLWxheW91dCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDA0MDsKICBwYWRkaW5nLXRvcDogNDBweDsKICBwYWRkaW5nLWJvdHRvbTogNDBweDsKICBwYWRkaW5nLWxlZnQ6IDE1cHg7CiAgcGFkZGluZy1yaWdodDogMTVweDsKfQouYm94ZWQtbGF5b3V0LmxheWVyLW92ZXJsYXk6YmVmb3JlIHsKICB6LWluZGV4OiAtMTsKfQouYm94ZWQtbGF5b3V0ICN3cmFwcGVyIHsKICBtYXJnaW46IDAgYXV0bzsKfQpAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7CiAgLmJveGVkLWxheW91dCAjd3JhcHBlciB7CiAgICB3aWR0aDogY2FsYygxMTcwcHgpOwogIH0KfQouYm94ZWQtbGF5b3V0IC5jb250YWluZXIgLmNvbnRhaW5lciB7CiAgd2lkdGg6IDEwMCU7Cn0KQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkgewogIC5ib3hlZC1sYXlvdXQgLmNvbnRhaW5lciB7CiAgICB3aWR0aDogMTE0MHB4OwogIH0KfQpAbWVkaWEgKG1pbi13aWR0aDogMTM0MHB4KSB7CiAgLmJveGVkLWxheW91dC5jb250YWluZXItMTM0MHB4ICN3cmFwcGVyIHsKICAgIHdpZHRoOiBjYWxjKDEzMzBweCk7CiAgfQp9Ci5ib3hlZC1sYXlvdXQuY29udGFpbmVyLTEzNDBweCAuY29udGFpbmVyLAouYm94ZWQtbGF5b3V0LmNvbnRhaW5lci0xMzQwcHggLmNvbnRhaW5lci1mbHVpZCB7CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZy1sZWZ0OiAyMHB4OwogIHBhZGRpbmctcmlnaHQ6IDIwcHg7Cn0KLmJveGVkLWxheW91dC5jb250YWluZXItMTM0MHB4IC5jb250YWluZXIgLmNvbnRhaW5lciwKLmJveGVkLWxheW91dC5jb250YWluZXItMTM0MHB4IC5jb250YWluZXItZmx1aWQgLmNvbnRhaW5lciwKLmJveGVkLWxheW91dC5jb250YWluZXItMTM0MHB4IC5jb250YWluZXIgLmNvbnRhaW5lci1mbHVpZCwKLmJveGVkLWxheW91dC5jb250YWluZXItMTM0MHB4IC5jb250YWluZXItZmx1aWQgLmNvbnRhaW5lci1mbHVpZCB7CiAgcGFkZGluZy1sZWZ0OiAwOwogIHBhZGRpbmctcmlnaHQ6IDA7Cn0KQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLmJveGVkLWxheW91dC5jb250YWluZXItOTcwcHggI3dyYXBwZXIgewogICAgd2lkdGg6IGNhbGMoOTcwcHgpOwogIH0KfQouYm94ZWQtbGF5b3V0LmNvbnRhaW5lci05NzBweCAuY29udGFpbmVyLAouYm94ZWQtbGF5b3V0LmNvbnRhaW5lci05NzBweCAuY29udGFpbmVyLWZsdWlkIHsKICB3aWR0aDogMTAwJTsKICBwYWRkaW5nLWxlZnQ6IDIwcHg7CiAgcGFkZGluZy1yaWdodDogMjBweDsKfQouYm94ZWQtbGF5b3V0LmNvbnRhaW5lci05NzBweCAuY29udGFpbmVyIC5jb250YWluZXIsCi5ib3hlZC1sYXlvdXQuY29udGFpbmVyLTk3MHB4IC5jb250YWluZXItZmx1aWQgLmNvbnRhaW5lciwKLmJveGVkLWxheW91dC5jb250YWluZXItOTcwcHggLmNvbnRhaW5lciAuY29udGFpbmVyLWZsdWlkLAouYm94ZWQtbGF5b3V0LmNvbnRhaW5lci05NzBweCAuY29udGFpbmVyLWZsdWlkIC5jb250YWluZXItZmx1aWQgewogIHBhZGRpbmctbGVmdDogMDsKICBwYWRkaW5nLXJpZ2h0OiAwOwp9Ci5ib3hlZC1sYXlvdXQuY29udGFpbmVyLTEwMHByICN3cmFwcGVyIHsKICB3aWR0aDogOTUlOwp9Ci5ib3hlZC1sYXlvdXQuY29udGFpbmVyLTEwMHByICN3cmFwcGVyIC5jb250YWluZXIsCi5ib3hlZC1sYXlvdXQuY29udGFpbmVyLTEwMHByICN3cmFwcGVyIC5jb250YWluZXItZmx1aWQgewogIHdpZHRoOiAxMDAlOwp9Ci5ib3hlZC1sYXlvdXQuY29udGFpbmVyLXNoYWRvdyAjd3JhcHBlciB7CiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMjVweCAwICM3Nzc7CiAgYm94LXNoYWRvdzogMCAwIDI1cHggMCAjNzc3Owp9Ci5ib3hlZC1sYXlvdXQgLmhlYWRlciwKLmJveGVkLWxheW91dCBzZWN0aW9uLAouYm94ZWQtbGF5b3V0IC5mb290ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7Cn0KLmJveGVkLWxheW91dCAuaGVhZGVyIC5uYXZiYXItZGVmYXVsdCB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItY29sb3I6ICNmZmY7CiAgcGFkZGluZzogMDsKfQouYm94ZWQtbGF5b3V0IC5oZWFkZXIgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItbmF2ID4gbGkgPiBhIHsKICBwYWRkaW5nOiAzMHB4IDVweDsKfQouYm94ZWQtbGF5b3V0IC5oZWFkZXIgLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItY29sbGFwc2UgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjZmZmOwogIG1hcmdpbi1yaWdodDogMzBweDsKfQouYm94ZWQtbGF5b3V0IC5oZWFkZXIgI2hlYWRlci1sb2dvIHsKICBtYXJnaW46IDA7CiAgcGFkZGluZy10b3A6IDI3cHg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogIC5ib3hlZC1sYXlvdXQgewogICAgcGFkZGluZy10b3A6IDE1cHg7CiAgfQogIC5ib3hlZC1sYXlvdXQgLmhlYWRlciAubmF2YmFyLWRlZmF1bHQgLm5hdmJhci1uYXYgPiBsaSA+IGEgewogICAgcGFkZGluZzogMTBweDsKICB9CiAgLmJveGVkLWxheW91dCAuaGVhZGVyIC5uYXZiYXItZGVmYXVsdCAubmF2YmFyLWNvbGxhcHNlIHsKICAgIG1hcmdpbi1yaWdodDogMTVweDsKICB9CiAgLmJveGVkLWxheW91dCAubmF2YmFyLWhlYWRlciB7CiAgICBwYWRkaW5nOiAxNXB4IDA7CiAgfQogIC5ib3hlZC1sYXlvdXQgLm5hdmJhci1jb2xsYXBzZSAubmF2YmFyLW5hdiBsaSBhIC5jYXJldCB7CiAgICBtYXJnaW4tcmlnaHQ6IDA7CiAgfQp9Ci8qCiAqIGZvcm0ubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBGb3JtIC0tLS0tLS0tLS0gKi8KLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCwKLmlucHV0LWdyb3VwLWxnID4gLmlucHV0LWdyb3VwLWFkZG9uLAouaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biB7CiAgZm9udC1zaXplOiAxNHB4Owp9Ci5mb3JtLWNvbnRyb2wgewogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogbm9uZTsKICBoZWlnaHQ6IDQ1cHg7CiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsKfQpsYWJlbCB7CiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsKfQouZm9ybS1jb250cm9sOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9InRleHQiXTpmb2N1cywKZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9Im51bWJlciJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9InVybCJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9InNlYXJjaCJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9InRlbCJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9InBhc3N3b3JkIl06Zm9jdXMsCmZvcm0gaW5wdXRbdHlwZT0iZGF0ZSJdOmZvY3VzLApmb3JtIGlucHV0W3R5cGU9ImNvbG9yIl06Zm9jdXMsCmZvcm0gc2VsZWN0OmZvY3VzLApmb3JtIHRleHRhcmVhOmZvY3VzIHsKICBjb2xvcjogIzQwNDA0MDsKICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTsKICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMCAzcHggcmdiYSgwLCAwLCAwLCAwLjEpOwogIC1tb3otYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgYm94LXNoYWRvdzogMCAwIDNweCByZ2JhKDAsIDAsIDAsIDAuMSk7CiAgb3V0bGluZTogbm9uZTsKfQouZm9ybS10cmFuc3BhcmVudCAuZm9ybS1jb250cm9sIHsKICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsKICBjb2xvcjogI2Y3ZjdmNzsKfQouZm9ybS10cmFuc3BhcmVudCAuZm9ybS1jb250cm9sOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9InRleHQiXTpmb2N1cywKLmZvcm0tdHJhbnNwYXJlbnQgZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9Im51bWJlciJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9InVybCJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9InNlYXJjaCJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9InRlbCJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9InBhc3N3b3JkIl06Zm9jdXMsCi5mb3JtLXRyYW5zcGFyZW50IGZvcm0gaW5wdXRbdHlwZT0iZGF0ZSJdOmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIGlucHV0W3R5cGU9ImNvbG9yIl06Zm9jdXMsCi5mb3JtLXRyYW5zcGFyZW50IGZvcm0gc2VsZWN0OmZvY3VzLAouZm9ybS10cmFuc3BhcmVudCBmb3JtIHRleHRhcmVhOmZvY3VzIHsKICBjb2xvcjogI2Y3ZjdmNzsKfQouZm9ybS10cmFuc3BhcmVudCB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wsCi5mb3JtLXdoaXRlIHRleHRhcmVhLmZvcm0tY29udHJvbCB7CiAgaGVpZ2h0OiAxNTBweDsKfQouZm9ybS13aGl0ZSAuZm9ybS1jb250cm9sIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwp9Ci5mb3JtLXRyYW5zcGFyZW50LmZvcm0tbGluZSAuZm9ybS1jb250cm9sIHsKICBib3JkZXI6IG5vbmU7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjMGMwYzA7CiAgcGFkZGluZy1sZWZ0OiAwOwp9Ci5mb3JtLXRyYW5zcGFyZW50LmZvcm0tbGluZSB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wgewogIGhlaWdodDogNzBweDsKfQpmb3JtIGxhYmVsIHsKICBmb250LXdlaWdodDogYm9sZDsKfQovKiBmb3JtIGVycm9yICovCmZvcm0gLmZvcm0tY29udHJvbC5lcnJvciB7CiAgYm9yZGVyOiAycHggc29saWQgI2VlMTYzYjsKfQpmb3JtIC5lcnJvciB7CiAgY29sb3I6ICNlZTE2M2I7Cn0KLyogLS0tLS0tLS0gRG9uYXRpb24gRm9ybSAtLS0tLS0tLS0tICovCi5kb25hdGlvbi1mb3JtIC5mb3JtLWdyb3VwIGxhYmVsLnJhZGlvLWlubGluZSB7CiAgY29sb3I6ICM4MDgwODA7Cn0KLyotLS0tLS0tLSBmb3JtLXRleHQtd2hpdGUgLS0tLS0tLS0tKi8KLmZvcm0tdGV4dC13aGl0ZSAuZm9ybS1ncm91cCBsYWJlbCB7CiAgY29sb3I6ICNmZmY7Cn0KLyoKICogIHNpZGUtcHVzaC1wYW5lbC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5zaWRlLXB1c2gtcGFuZWwgewogIG92ZXJmbG93LXg6IGhpZGRlbjsKfQouc2lkZS1wdXNoLXBhbmVsLmZ1bGx3aWR0aC1wYWdlICN3cmFwcGVyIHsKICByaWdodDogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNpZGUtcHVzaC1wYW5lbC5mdWxsd2lkdGgtcGFnZSBoZWFkZXIgLmhlYWRlci1uYXYtd3JhcHBlci5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgLmNvbnRhaW5lciB7CiAgcmlnaHQ6IDA7Cn0KLnNpZGUtcHVzaC1wYW5lbC5mdWxsd2lkdGgtcGFnZS5zaWRlLXBhbmVsLWxlZnQgI3dyYXBwZXIgewogIGxlZnQ6IDA7CiAgcmlnaHQ6IGF1dG87Cn0KLnNpZGUtcHVzaC1wYW5lbC5mdWxsd2lkdGgtcGFnZS5zaWRlLXBhbmVsLWxlZnQgaGVhZGVyIC5oZWFkZXItbmF2LXdyYXBwZXIuc2Nyb2xsLXRvLWZpeGVkLWZpeGVkIC5jb250YWluZXIgewogIGxlZnQ6IDA7CiAgcmlnaHQ6IGF1dG87Cn0KLnNpZGUtcHVzaC1wYW5lbC5mdWxsd2lkdGgtcGFnZS5zaWRlLXBhbmVsLW9wZW4gI3dyYXBwZXIgewogIHJpZ2h0OiAzNTBweDsKfQouc2lkZS1wdXNoLXBhbmVsLmZ1bGx3aWR0aC1wYWdlLnNpZGUtcGFuZWwtb3BlbiBoZWFkZXIgLmhlYWRlci1uYXYtd3JhcHBlci5zY3JvbGwtdG8tZml4ZWQtZml4ZWQgLmNvbnRhaW5lciB7CiAgcmlnaHQ6IDM1MHB4Owp9Ci5zaWRlLXB1c2gtcGFuZWwuZnVsbHdpZHRoLXBhZ2Uuc2lkZS1wYW5lbC1sZWZ0LnNpZGUtcGFuZWwtb3BlbiAjd3JhcHBlciB7CiAgbGVmdDogMzUwcHg7CiAgcmlnaHQ6IGF1dG87Cn0KLnNpZGUtcHVzaC1wYW5lbC5mdWxsd2lkdGgtcGFnZS5zaWRlLXBhbmVsLWxlZnQuc2lkZS1wYW5lbC1vcGVuIGhlYWRlciAuaGVhZGVyLW5hdi13cmFwcGVyLnNjcm9sbC10by1maXhlZC1maXhlZCAuY29udGFpbmVyIHsKICBsZWZ0OiAzNTBweDsKICByaWdodDogYXV0bzsKfQovKiAtLS0tLS0tLSBIYXMgU2lkZSBQYW5lbCAtLS0tLS0tLS0tICovCi5zaWRlLXB1c2gtcGFuZWwuaGFzLXNpZGUtcGFuZWwgLm1lbnV6b3JkIC5zaG93aGlkZSB7CiAgZmxvYXQ6IGxlZnQ7Cn0KLyogLS0tLS0tLS0gQm9keSBPdmVybGF5IC0tLS0tLS0tLS0gKi8KLmhhcy1zaWRlLXBhbmVsIC5ib2R5LW92ZXJsYXkgewogIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjYpOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAwOwogIG9wYWNpdHk6IDA7CiAgcG9pbnRlci1ldmVudHM6IG5vbmU7CiAgcG9zaXRpb246IGZpeGVkOwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKICB6LWluZGV4OiAtMTsKfQouaGFzLXNpZGUtcGFuZWwuc2lkZS1wYW5lbC1vcGVuIC5ib2R5LW92ZXJsYXkgewogIG9wYWNpdHk6IDE7CiAgcG9pbnRlci1ldmVudHM6IGF1dG87CiAgei1pbmRleDogMTExMjsKfQouc2lkZS1wYW5lbC1vcGVuOm5vdCguZGV2aWNlLXh4cyk6bm90KC5kZXZpY2UteHMpOm5vdCguZGV2aWNlLXNtKSAuYm9keS1vdmVybGF5OmhvdmVyIHsKICBjdXJzb3I6IHVybCgnLi4vaW1hZ2VzL2Nsb3NlLnBuZycpIDE1IDE1LCBkZWZhdWx0Owp9Ci8qIC0tLS0tLS0tIFNpZGUgUGFuZWwgLS0tLS0tLS0tLSAqLwojc2lkZS1wYW5lbCB7CiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjNmMzsKICBoZWlnaHQ6IDEwMCU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwb3NpdGlvbjogZml4ZWQ7CiAgcmlnaHQ6IC0zNTBweDsKICB0b3A6IDA7CiAgd2lkdGg6IDM1MHB4OwogIHotaW5kZXg6IDExMTM7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEwMDBweCkgewogICNzaWRlLXBhbmVsIHsKICAgIHdpZHRoOiAzMDBweDsKICB9Cn0KI3NpZGUtcGFuZWwgLnNpZGUtcGFuZWwtd3JhcCB7CiAgYm90dG9tOiAwOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAwOwogIG92ZXJmbG93OiBhdXRvOwogIHBhZGRpbmc6IDQwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKfQojc2lkZS1wYW5lbCAud2lkZ2V0IHsKICBtYXJnaW4tYm90dG9tOiAyMHB4OwogIHBhZGRpbmctYm90dG9tOiAyMHB4OwogIHdpZHRoOiAxMDAlOwp9Ci5zaWRlLXBhbmVsLW9wZW4gI3NpZGUtcGFuZWwgewogIHJpZ2h0OiAwOwp9Ci5zaWRlLXBhbmVsLWxlZnQgI3NpZGUtcGFuZWwgewogIGxlZnQ6IC0zNTBweDsKICByaWdodDogYXV0bzsKfQouc2lkZS1wYW5lbC1sZWZ0LnNpZGUtcGFuZWwtb3BlbiAjc2lkZS1wYW5lbCB7CiAgbGVmdDogMDsKICByaWdodDogYXV0bzsKfQouZGV2aWNlLXRvdWNoICNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLXdyYXAgewogIG92ZXJmbG93LXk6IHNjcm9sbDsKfQovKiAtLS0tLS0tLSBTaWRlLVBhbmVsLU5hdiAtLS0tLS0tLS0tICovCiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLW5hdiAubmF2IGxpIGEsCiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLXdpZGdldCAubmF2IGxpIGEgewogIHBhZGRpbmc6IDNweCAwOwp9CiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLW5hdiAubmF2IGxpIGE6aG92ZXIsCiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLXdpZGdldCAubmF2IGxpIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGNvbG9yOiAjYTlhOWE5Owp9CiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLW5hdiAubmF2IHVsLnRyZWUsCiNzaWRlLXBhbmVsIC5zaWRlLXBhbmVsLXdpZGdldCAubmF2IHVsLnRyZWUgewogIGRpc3BsYXk6IG5vbmU7CiAgbWFyZ2luLWxlZnQ6IDE1cHg7Cn0KLyogLS0tLS0tLS0gU2lkZS1QYW5lbC1UcmlnZ2VyIEFuZCBDbG9zZSAtLS0tLS0tLS0tICovCiNzaWRlLXBhbmVsLXRyaWdnZXIgewogIGN1cnNvcjogcG9pbnRlcjsKICBtYXJnaW4tbGVmdDogMTBweDsKICBtYXJnaW4tcmlnaHQ6IDVweDsKICB6LWluZGV4OiAxMTsKfQojc2lkZS1wYW5lbC10cmlnZ2VyLWNsb3NlIHsKICBsZWZ0OiAwOwogIG1hcmdpbjogMTBweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwp9Ci8qIC0tLS0tLS0tIFRyYW5zaXRpb24gLS0tLS0tLS0tLSAqLwouc2lkZS1wdXNoLXBhbmVsLmZ1bGx3aWR0aC1wYWdlICN3cmFwcGVyLAouc2lkZS1wdXNoLXBhbmVsLmZ1bGx3aWR0aC1wYWdlIGhlYWRlciAuaGVhZGVyLW5hdi13cmFwcGVyLnNjcm9sbC10by1maXhlZC1maXhlZCAuY29udGFpbmVyIHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwp9Ci8qCiAqICBib3gtaG92ZXItZWZmZWN0Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmJveC1ob3Zlci1lZmZlY3QgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgbWFyZ2luOiAwOwogIHdpZHRoOiAxMDAlOwogIC8qIEljb25zIEhvbGRlciAqLwogIC8qIEljb25zIEhvbGRlciBtaWRkbGUgKi8KICAvKiBJY29ucyBIb2xkZXIgdG9wIGxlZnQgKi8KICAvKiBJY29ucyBIb2xkZXIgdG9wIHJpZ2h0ICovCiAgLyogSWNvbnMgSG9sZGVyIGJvdHRvbSBsZWZ0ICovCiAgLyogSWNvbnMgSG9sZGVyIGJvdHRvbSByaWdodCAqLwogIC8qIFRleHQgSG9sZGVyICovCiAgLyogVGV4dCBIb2xkZXIgbWlkZGxlICovCiAgLyogVGV4dCBIb2xkZXIgdG9wICovCiAgLyogVGV4dCBIb2xkZXIgYm90dG9tICovCn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC50aHVtYiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47CiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEpOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLnRodW1iLmdyYWRpZW50LWVmZmVjdDphZnRlciB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGNvbnRlbnQ6ICIiOwogIHRvcDogMDsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzYwZGVnLCByZ2JhKDAsIDAsIDAsIDAuNikgMTBweCwgdHJhbnNwYXJlbnQpOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAuaG92ZXItbGluayB7CiAgYm90dG9tOiAwOwogIGRpc3BsYXk6IGJsb2NrOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICBiYWNrZ3JvdW5kOiBub25lIWltcG9ydGFudDsKICBjb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50OwogIHotaW5kZXg6IDExOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAub3ZlcmxheS1zaGFkZSB7CiAgYm90dG9tOiAwOwogIGRpc3BsYXk6IGJsb2NrOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICB6LWluZGV4OiAxMDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOwogIG9wYWNpdHk6IDA7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC5vdmVybGF5LXNoYWRlLnNoYWRlLXdoaXRlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAuaWNvbnMtaG9sZGVyIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgb3BhY2l0eTogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgei1pbmRleDogMTM7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlciAuaWNvbnMtaG9sZGVyLWlubmVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luOiAwOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAuaWNvbnMtaG9sZGVyIC5pY29ucy1ob2xkZXItaW5uZXIgYSB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci1taWRkbGUgewogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgcmlnaHQ6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRvcDogNDAlOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgd2lkdGg6IDgwJTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci1taWRkbGUgLmljb25zLWhvbGRlci1pbm5lciB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItbWlkZGxlIC5pY29ucy1ob2xkZXItaW5uZXIgYSB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci10b3AtbGVmdCB7CiAgdG9wOiAtMjAlOwogIGxlZnQ6IDA7CiAgcGFkZGluZzogMTVweDsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci10b3AtbGVmdCAuaWNvbnMtaG9sZGVyLWlubmVyIHsKICBkaXNwbGF5OiBibG9jazsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci10b3AtcmlnaHQgewogIHRvcDogLTIwJTsKICByaWdodDogMDsKICBwYWRkaW5nOiAxNXB4Owp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAuaWNvbnMtaG9sZGVyLXRvcC1yaWdodCAuaWNvbnMtaG9sZGVyLWlubmVyIHsKICBkaXNwbGF5OiBibG9jazsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci1ib3R0b20tbGVmdCB7CiAgYm90dG9tOiAtMjAlOwogIGxlZnQ6IDA7CiAgcGFkZGluZzogNXB4IDE1cHg7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItYm90dG9tLWxlZnQgLmljb25zLWhvbGRlci1pbm5lciB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItYm90dG9tLXJpZ2h0IHsKICBib3R0b206IC0yMCU7CiAgcmlnaHQ6IDA7CiAgcGFkZGluZzogNXB4IDE1cHg7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItYm90dG9tLXJpZ2h0IC5pY29ucy1ob2xkZXItaW5uZXIgewogIGRpc3BsYXk6IGJsb2NrOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXIgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBvcGFjaXR5OiAwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IGFic29sdXRlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7CiAgei1pbmRleDogMTM7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlciAudGl0bGUgewogIGNvbG9yOiAjZmZmOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXIgLnRleHRfaG9sZGVyX2lubmVyIHsKICBkaXNwbGF5OiB0YWJsZTsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiAxMDAlOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXIgLnRleHRfaG9sZGVyX2lubmVyMiB7CiAgZGlzcGxheTogdGFibGUtY2VsbDsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHdpZHRoOiAxMDAlOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAub3ZlcmxheS1zaGFkZS5zaGFkZS13aGl0ZSArIC50ZXh0LWhvbGRlciAudGl0bGUgewogIGNvbG9yOiAjMzMzOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXItbWlkZGxlIHsKICBkaXNwbGF5OiBibG9jazsKICBsZWZ0OiAwOwogIG1hcmdpbjogMCBhdXRvOwogIHJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0b3A6IDMwJTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIHdpZHRoOiA4MCU7Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci10b3AgewogIGRpc3BsYXk6IGJsb2NrOwogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgcmlnaHQ6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRvcDogLTQwcHg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogODAlOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXItYm90dG9tIHsKICBkaXNwbGF5OiBibG9jazsKICBsZWZ0OiAwOwogIG1hcmdpbjogMCBhdXRvOwogIHJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBib3R0b206IC00MHB4OwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgd2lkdGg6IDgwJTsKfQouYm94LWhvdmVyLWVmZmVjdCAuZWZmZWN0LXdyYXBwZXIgLnRleHQtaG9sZGVyLXRvcC1sZWZ0IHsKICBsZWZ0OiAwOwogIHBhZGRpbmc6IDVweCAxNXB4OwogIHRvcDogLTQwcHg7CiAgd2lkdGg6IGF1dG87Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci10b3AtcmlnaHQgewogIHJpZ2h0OiAwOwogIHBhZGRpbmc6IDVweCAxNXB4OwogIHRvcDogLTQwcHg7CiAgd2lkdGg6IGF1dG87Cn0KLmJveC1ob3Zlci1lZmZlY3QgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci1ib3R0b20tbGVmdCB7CiAgbGVmdDogMDsKICBwYWRkaW5nOiA1cHggMTVweDsKICBib3R0b206IC00MHB4OwogIHdpZHRoOiBhdXRvOwp9Ci5ib3gtaG92ZXItZWZmZWN0IC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXItYm90dG9tLXJpZ2h0IHsKICByaWdodDogMDsKICBwYWRkaW5nOiA1cHggMTVweDsKICBib3R0b206IC00MHB4OwogIHdpZHRoOiBhdXRvOwp9Ci5ib3gtaG92ZXItZWZmZWN0OmhvdmVyIC5lZmZlY3Qtd3JhcHBlciAudGh1bWIgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC5vdmVybGF5LXNoYWRlIHsKICBvcGFjaXR5OiAwLjg7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTgwKTsKfQouYm94LWhvdmVyLWVmZmVjdDpob3ZlciAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlciB7CiAgb3BhY2l0eTogMTsKfQouYm94LWhvdmVyLWVmZmVjdDpob3ZlciAuZWZmZWN0LXdyYXBwZXIgLmljb25zLWhvbGRlci1taWRkbGUgewogIHRvcDogNDUlOwp9Ci5ib3gtaG92ZXItZWZmZWN0OmhvdmVyIC5lZmZlY3Qtd3JhcHBlciAuaWNvbnMtaG9sZGVyLXRvcC1sZWZ0IHsKICB0b3A6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItdG9wLXJpZ2h0IHsKICB0b3A6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItYm90dG9tLWxlZnQgewogIGJvdHRvbTogMiU7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC5pY29ucy1ob2xkZXItYm90dG9tLXJpZ2h0IHsKICBib3R0b206IDIlOwp9Ci5ib3gtaG92ZXItZWZmZWN0OmhvdmVyIC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXIgewogIG9wYWNpdHk6IDE7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci1taWRkbGUgewogIHRvcDogNDAlOwp9Ci5ib3gtaG92ZXItZWZmZWN0OmhvdmVyIC5lZmZlY3Qtd3JhcHBlciAudGV4dC1ob2xkZXItdG9wIHsKICB0b3A6IDIwcHg7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci1ib3R0b20gewogIGJvdHRvbTogMjBweDsKfQouYm94LWhvdmVyLWVmZmVjdDpob3ZlciAuZWZmZWN0LXdyYXBwZXIgLnRleHQtaG9sZGVyLXRvcC1sZWZ0IHsKICB0b3A6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci10b3AtcmlnaHQgewogIHRvcDogMDsKfQouYm94LWhvdmVyLWVmZmVjdDpob3ZlciAuZWZmZWN0LXdyYXBwZXIgLnRleHQtaG9sZGVyLWJvdHRvbS1sZWZ0IHsKICBib3R0b206IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3Q6aG92ZXIgLmVmZmVjdC13cmFwcGVyIC50ZXh0LWhvbGRlci1ib3R0b20tcmlnaHQgewogIGJvdHRvbTogMDsKfQouc2hhZG93LW92ZXJsYXkgewogIGJhY2tncm91bmQtaW1hZ2U6IHVybCgiLi4vaW1hZ2VzL3NoYWRvdy1vdmVybGF5LnBuZyIpOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b207CiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14OwogIGJvdHRvbTogMDsKICBjb2xvcjogI2ZmZjsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgd2lkdGg6IDEwMCU7Cn0KLyogSW5kaXZpZHVhbCBlZmZlY3RzICovCi8qIEluZGl2aWR1YWwgZWZmZWN0ID0gaW1hZ2Utem9vbS1pbiAqLwouYm94LWhvdmVyLWVmZmVjdC5pbWFnZS16b29tLWluIC50aHVtYiB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQouYm94LWhvdmVyLWVmZmVjdC5pbWFnZS16b29tLWluOmhvdmVyIC50aHVtYiB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwp9Ci8qIEluZGl2aWR1YWwgZWZmZWN0ID0gaW1hZ2Utem9vbS1vdXQgKi8KLmJveC1ob3Zlci1lZmZlY3QuaW1hZ2Utem9vbS1vdXQgLnRodW1iIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7Cn0KLmJveC1ob3Zlci1lZmZlY3QuaW1hZ2Utem9vbS1vdXQ6aG92ZXIgLnRodW1iIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEpOwp9Ci8qIEluZGl2aWR1YWwgZWZmZWN0ID0gcGxheSBidXR0b24gKi8KLmJveC1ob3Zlci1lZmZlY3QucGxheS1idXR0b24gewogIC8qIFRleHQgSG9sZGVyICovCn0KLmJveC1ob3Zlci1lZmZlY3QucGxheS1idXR0b24gLnRodW1iIHsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEpOwp9Ci5ib3gtaG92ZXItZWZmZWN0LnBsYXktYnV0dG9uOmhvdmVyIC50aHVtYiB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMDUpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4wNSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsKfQouYm94LWhvdmVyLWVmZmVjdC5wbGF5LWJ1dHRvbiAudGV4dC1ob2xkZXIgewogIG9wYWNpdHk6IDE7Cn0KLmJveC1ob3Zlci1lZmZlY3QucGxheS1idXR0b24gLnRleHQtaG9sZGVyLW1pZGRsZSB7CiAgdG9wOiAzNCU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQouYm94LWhvdmVyLWVmZmVjdC5wbGF5LWJ1dHRvbjpob3ZlciAudGV4dC1ob2xkZXItbWlkZGxlIHsKICB0b3A6IDM0JTsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7Cn0KLmJveC1ob3Zlci1lZmZlY3QucGxheS1idXR0b24gLnZpZGVvLWJ1dHRvbiB7CiAgei1pbmRleDogMTE7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIGxlZnQ6IDUwJTsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgd2lkdGg6IDYwcHg7CiAgaGVpZ2h0OiA2MHB4OwogIGJvcmRlci1yYWRpdXM6IDEwMCU7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsKICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDAsIDAsIDAsIDAuMyk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdC5wbGF5LWJ1dHRvbiAudmlkZW8tYnV0dG9uOmJlZm9yZSB7CiAgY29udGVudDogJyc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogNTAlOwogIGxlZnQ6IDUwJTsKICBkaXNwbGF5OiBibG9jazsKICB3aWR0aDogMDsKICBoZWlnaHQ6IDA7CiAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjNjY2OwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1JSwgLTUwJSk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTE1JSwgLTUwJSk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKfQouYm94LWhvdmVyLWVmZmVjdC5wbGF5LWJ1dHRvbjpob3ZlciAudmlkZW8tYnV0dG9uIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgNTEsIDUxLCAwLjkpOwogIHdpZHRoOiA4MHB4OwogIGhlaWdodDogODBweDsKICBib3gtc2hhZG93OiAxcHggMXB4IDIwcHggcmdiYSgwLCAwLCAwLCAwLjMpOwp9Ci5ib3gtaG92ZXItZWZmZWN0LnBsYXktYnV0dG9uOmhvdmVyIC52aWRlby1idXR0b246YmVmb3JlIHsKICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZmZmOwp9Ci8qIEluZGl2aWR1YWwgZWZmZWN0ID0gYWxhc2thICovCi5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1hbGFza2EgLmJvdHRvbS1pbmZvLWJveCB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgcGFkZGluZzogMTVweCAzMHB4IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogNzUlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWFsYXNrYSAuYm90dG9tLWluZm8tYm94IC5pbnZpc2libGUtcGFydHMgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWFsYXNrYTpob3ZlciAuYm90dG9tLWluZm8tYm94IHsKICBwYWRkaW5nLXRvcDogMzhweDsKICB0b3A6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWFsYXNrYTpob3ZlciAuYm90dG9tLWluZm8tYm94IC5pbnZpc2libGUtcGFydHMgewogIGRpc3BsYXk6IGJsb2NrOwp9Ci8qIEluZGl2aWR1YWwgZWZmZWN0ID0gc2liZXJpYSAqLwouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3Qtc2liZXJpYSAuaW5mby1ib3ggLmluZm8tdGl0bGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIGJvdHRvbTogMDsKICBwYWRkaW5nOiAxNXB4IDcwcHggMTVweCAxNXB4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1zaWJlcmlhIC5pbmZvLWJveCAuaW5mby10aXRsZTpiZWZvcmUgewogIGNvbG9yOiAjZmZmOwogIGNvbnRlbnQ6ICJcZjA1NCI7CiAgZm9udC1mYW1pbHk6ICJmb250QXdlc29tZSI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBsaW5lLWhlaWdodDogNTBweDsKICBib3R0b206IDVweDsKICB0b3A6IDdweDsKICByaWdodDogN3B4OwogIHdpZHRoOiA1MHB4OwogIGhlaWdodDogNTBweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDksIDksIDksIDAuMyk7CiAgdGV4dC1zaGFkb3c6IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNSk7CiAgZm9udC1zaXplOiAxOHB4Owp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1zaWJlcmlhIC5pbmZvLWJveCAuaW5mby1jb250ZW50IHsKICBjb2xvcjogI2ZmZmZmZjsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB0b3A6IDA7CiAgcGFkZGluZzogMzBweDsKICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdmlzaWJpbGl0eTogaGlkZGVuOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOwogIC13ZWJraXQtb3BhY2l0eTogMDsKICAta2h0bWwtb3BhY2l0eTogMDsKICAtbW96LW9wYWNpdHk6IDA7CiAgb3BhY2l0eTogMDsKICAtbXMtZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEob3BhY2l0eT0wKTsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OwogIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKfQouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3Qtc2liZXJpYTpob3ZlciAuaW5mby1ib3ggLmluZm8tdGl0bGUgewogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOwogIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOwogIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsKfQouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3Qtc2liZXJpYTpob3ZlciAuaW5mby1ib3ggLmluZm8tY29udGVudCB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOwogIHZpc2liaWxpdHk6IHZpc2libGU7CiAgLXdlYmtpdC1vcGFjaXR5OiAxOwogIC1raHRtbC1vcGFjaXR5OiAxOwogIC1tb3otb3BhY2l0eTogMTsKICBvcGFjaXR5OiAxOwogIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PTEwMCk7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7Cn0KLyogSW5kaXZpZHVhbCBlZmZlY3QgPSBmbG9yaWRhICovCi5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1mbG9yaWRhIC5pbmZvLWJveCAuaW5mby10aXRsZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDE1cHg7CiAgcmlnaHQ6IDE1cHg7CiAgYm90dG9tOiAxNXB4OwogIHBhZGRpbmc6IDE1cHggNzBweCAxNXB4IDE1cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWZsb3JpZGEgLmluZm8tYm94IC5pbmZvLXRpdGxlOmJlZm9yZSB7CiAgY29sb3I6ICNmZmY7CiAgY29udGVudDogIlxmMDU0IjsKICBmb250LWZhbWlseTogImZvbnRBd2Vzb21lIjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIGxpbmUtaGVpZ2h0OiA1MHB4OwogIGJvdHRvbTogNXB4OwogIHRvcDogN3B4OwogIHJpZ2h0OiA3cHg7CiAgd2lkdGg6IDUwcHg7CiAgaGVpZ2h0OiA1MHB4OwogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoOSwgOSwgOSwgMC4zKTsKICB0ZXh0LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC41KTsKICBmb250LXNpemU6IDE4cHg7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWZsb3JpZGEgLmluZm8tYm94IC5pbmZvLWNvbnRlbnQgewogIGNvbG9yOiAjZmZmZmZmOwogIGJvdHRvbTogMDsKICBsZWZ0OiAwOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICBwYWRkaW5nOiAzMHB4OwogIHRleHQtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjIpOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7CiAgLXdlYmtpdC1vcGFjaXR5OiAwOwogIC1raHRtbC1vcGFjaXR5OiAwOwogIC1tb3otb3BhY2l0eTogMDsKICBvcGFjaXR5OiAwOwogIC1tcy1maWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShvcGFjaXR5PTApOwogIGZpbHRlcjogYWxwaGEob3BhY2l0eT0wKTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OwogIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0Owp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1mbG9yaWRhOmhvdmVyIC5pbmZvLWJveCAuaW5mby10aXRsZSB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7CiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOwp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1mbG9yaWRhOmhvdmVyIC5pbmZvLWJveCAuaW5mby1jb250ZW50IHsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOwogIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7CiAgdmlzaWJpbGl0eTogdmlzaWJsZTsKICAtd2Via2l0LW9wYWNpdHk6IDE7CiAgLWtodG1sLW9wYWNpdHk6IDE7CiAgLW1vei1vcGFjaXR5OiAxOwogIG9wYWNpdHk6IDE7CiAgLW1zLWZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkFscGhhKG9wYWNpdHk9MTAwKTsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsKfQovKiBJbmRpdmlkdWFsIGVmZmVjdCA9IGxvbmRvbiAqLwouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3QtbG9uZG9uIC50ZXh0LWhvbGRlciB7CiAgdG9wOiAtMzBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1sb25kb246aG92ZXIgLnRleHQtaG9sZGVyIHsKICB0b3A6IDA7Cn0KLyogSW5kaXZpZHVhbCBlZmZlY3QgPSByb21lICovCi5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1yb21lOmhvdmVyIC50ZXh0LWhvbGRlciB7CiAgdG9wOiBhdXRvOwogIGJvdHRvbTogMDsKfQovKiBJbmRpdmlkdWFsIGVmZmVjdCA9IHBhcmlzICovCi5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1wYXJpczpob3ZlciAudGh1bWIgewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEpOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNzBweCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC03MHB4KTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNzBweCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTcwcHgpOwp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1wYXJpcyAudGV4dC1ob2xkZXIgewogIGJhY2tncm91bmQ6ICMzMzM7CiAgcGFkZGluZzogNXB4IDE1cHggNXB4OwogIHRvcDogYXV0bzsKICBib3R0b206IC0zMHB4OwogIHdpZHRoOiAxMDAlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LXBhcmlzOmhvdmVyIC50ZXh0LWhvbGRlciB7CiAgdG9wOiBhdXRvOwogIGJvdHRvbTogMDsKfQovKiBJbmRpdmlkdWFsIGVmZmVjdCA9IGJhcmxpbiAqLwouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3QtYmFybGluOmhvdmVyIC50aHVtYiB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1vLXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3QtYmFybGluIC50ZXh0LWhvbGRlci1taWRkbGUgewogIGJvdHRvbTogMDsKICBwYWRkaW5nOiAyMHB4OwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKfQouYm94LWhvdmVyLWVmZmVjdC5lZmZlY3QtYmFybGluIC50ZXh0LWhvbGRlci1taWRkbGUgLnRleHRfaG9sZGVyX2lubmVyIC50ZXh0X2hvbGRlcl9pbm5lcjIgLnRpdGxlMSB7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpOwogIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAxMHB4KTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMC4yczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDAuMnM7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwLjJzOwp9Ci5ib3gtaG92ZXItZWZmZWN0LmVmZmVjdC1iYXJsaW4gLnRleHQtaG9sZGVyLW1pZGRsZSAudGV4dF9ob2xkZXJfaW5uZXIgLnRleHRfaG9sZGVyX2lubmVyMiAudGl0bGUyIHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMTBweCk7CiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpOwogIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDEwcHgpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwLjNzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMC4zczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDAuM3M7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWJhcmxpbjpob3ZlciAudGV4dC1ob2xkZXItbWlkZGxlIHsKICB0b3A6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWJhcmxpbjpob3ZlciAudGV4dC1ob2xkZXItbWlkZGxlIC50ZXh0X2hvbGRlcl9pbm5lciAudGV4dF9ob2xkZXJfaW5uZXIyIC50aXRsZTEgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWJhcmxpbjpob3ZlciAudGV4dC1ob2xkZXItbWlkZGxlIC50ZXh0X2hvbGRlcl9pbm5lciAudGV4dF9ob2xkZXJfaW5uZXIyIC50aXRsZTIgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7Cn0KLmJveC1ob3Zlci1lZmZlY3QuZWZmZWN0LWJhcmxpbiAuaG92ZXItbGluayB7CiAgei1pbmRleDogMTM7Cn0KLyogSW5kaXZpZHVhbCBlZmZlY3QgPSB0aHVtYi1hbmdsZS1lZmZlY3QgKi8KLmJveC1ob3Zlci1lZmZlY3QudGh1bWItYW5nbGUtZWZmZWN0IC50aHVtYjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsKICBsZWZ0OiAtNDAlOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTUwJTsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC00MCU7CiAgd2lkdGg6IDEwMCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKC03MGRlZyk7CiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKC03MGRlZyk7CiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoLTcwZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZSgtNzBkZWcpOwogIHotaW5kZXg6IDE7Cn0KLmJveC1ob3Zlci1lZmZlY3QudGh1bWItYW5nbGUtZWZmZWN0OmhvdmVyIC50aHVtYjpiZWZvcmUgewogIG9wYWNpdHk6IDE7Cn0KLmJveC1ob3Zlci1lZmZlY3QudGh1bWItYW5nbGUtZWZmZWN0OmhvdmVyIGltZyB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMS4xKTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEuMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2U7Cn0KLyogSW5kaXZpZHVhbCBlZmZlY3QgPSB0aHVtYi1jcm9zcy1lZmZlY3QgKi8KLmJveC1ob3Zlci1lZmZlY3QudGh1bWItY3Jvc3MtZWZmZWN0IC50aHVtYjphZnRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpOwogIGJvdHRvbTogMDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgd2lkdGg6IDA7Cn0KLmJveC1ob3Zlci1lZmZlY3QudGh1bWItY3Jvc3MtZWZmZWN0IC50aHVtYjpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KTsKICBsZWZ0OiAwOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQgMHM7CiAgd2lkdGg6IDA7CiAgei1pbmRleDogMTsKfQouYm94LWhvdmVyLWVmZmVjdC50aHVtYi1jcm9zcy1lZmZlY3Q6aG92ZXIgLnRodW1iOmJlZm9yZSwKLmJveC1ob3Zlci1lZmZlY3QudGh1bWItY3Jvc3MtZWZmZWN0OmhvdmVyIC50aHVtYjphZnRlciB7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxMDAlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZS1vdXQgMHM7Cn0KLyoKICogZ2FsbGVyeS1pc290b3BlLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogLS0tLS0tLS0gUG9ydGZvbGlvIElzb3RvcCBGaWx0ZXIgLS0tLS0tLS0tLSAqLwoucG9ydGZvbGlvLWZpbHRlciB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoucG9ydGZvbGlvLWZpbHRlciBhIHsKICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZsb2F0OiBub25lOwogIGZvbnQtc2l6ZTogMTZweDsKICBmb250LXdlaWdodDogNDAwOwogIGxpbmUtaGVpZ2h0OiBub3JtYWw7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgb3V0bGluZTogbWVkaXVtIG5vbmU7CiAgcGFkZGluZzogNXB4IDE1cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMTAwbXMgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDEwMG1zIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAxMDBtcyBlYXNlLWluLW91dCAwczsKfQoucG9ydGZvbGlvLWZpbHRlciBhLmFjdGl2ZSwKLnBvcnRmb2xpby1maWx0ZXIgYTpob3ZlciB7CiAgY29sb3I6ICNmZmY7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NzlweCkgewogIC5wb3J0Zm9saW8tZmlsdGVyIGEgewogICAgbWFyZ2luLWJvdHRvbTogMTBweDsKICB9Cn0KLyogLS0tLS0tLS0gUG9ydGZvbGlvIElzb3RvcCBHYWxsZXJ5IC0tLS0tLS0tLS0gKi8KLmdhbGxlcnktaXNvdG9wZSB7CiAgLypndXR0ZXIqLwogIC8qIGl0ZW0gc2l6ZXIgKi8KICAvKiBieSBkZWZhdWx0IDQgZ3JpZHMgKi8KICAvKnBvcnRmb2xpbyAyIGdyaWRzKi8KICAvKnBvcnRmb2xpbyAyIGdyaWRzKi8KICAvKnBvcnRmb2xpbyAzIGdyaWRzKi8KICAvKnBvcnRmb2xpbyA0IGdyaWRzKi8KICAvKnBvcnRmb2xpbyA1IGdyaWRzKi8KICAvKnBvcnRmb2xpbyA2IGdyaWRzKi8KICAvKnBvcnRmb2xpbyA3IGdyaWRzKi8KICAvKnBvcnRmb2xpbyA4IGdyaWRzKi8KICAvKnBvcnRmb2xpbyA5IGdyaWRzKi8KICAvKnBvcnRmb2xpbyAxMCBncmlkcyovCn0KLmdhbGxlcnktaXNvdG9wZS5ndXR0ZXIgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogNXB4OwogIHBhZGRpbmctYm90dG9tOiA1cHg7Cn0KLmdhbGxlcnktaXNvdG9wZS5ndXR0ZXItc21hbGwgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogMnB4OwogIHBhZGRpbmctYm90dG9tOiAycHg7Cn0KLmdhbGxlcnktaXNvdG9wZS5ndXR0ZXItMCAuZ2FsbGVyeS1pdGVtIHsKICBwYWRkaW5nLXJpZ2h0OiAwOwogIHBhZGRpbmctYm90dG9tOiAwOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3V0dGVyLTUgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogNXB4OwogIHBhZGRpbmctYm90dG9tOiA1cHg7Cn0KLmdhbGxlcnktaXNvdG9wZS5ndXR0ZXItMTAgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogMTBweDsKICBwYWRkaW5nLWJvdHRvbTogMTBweDsKfQouZ2FsbGVyeS1pc290b3BlLmd1dHRlci0yMCAuZ2FsbGVyeS1pdGVtIHsKICBwYWRkaW5nLXJpZ2h0OiAyMHB4OwogIHBhZGRpbmctYm90dG9tOiAyMHB4Owp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3V0dGVyLTMwIC5nYWxsZXJ5LWl0ZW0gewogIHBhZGRpbmctcmlnaHQ6IDMwcHg7CiAgcGFkZGluZy1ib3R0b206IDMwcHg7Cn0KLmdhbGxlcnktaXNvdG9wZS5ndXR0ZXItNDAgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogNDBweDsKICBwYWRkaW5nLWJvdHRvbTogNDBweDsKfQouZ2FsbGVyeS1pc290b3BlLmd1dHRlci01MCAuZ2FsbGVyeS1pdGVtIHsKICBwYWRkaW5nLXJpZ2h0OiA1MHB4OwogIHBhZGRpbmctYm90dG9tOiA1MHB4Owp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3V0dGVyLTYwIC5nYWxsZXJ5LWl0ZW0gewogIHBhZGRpbmctcmlnaHQ6IDYwcHg7CiAgcGFkZGluZy1ib3R0b206IDYwcHg7Cn0KLmdhbGxlcnktaXNvdG9wZSAuZ2FsbGVyeS1pdGVtLXNpemVyIHsKICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDsKICB3aWR0aDogMjUlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbS1zaXplci53aWRlIHsKICB3aWR0aDogNTAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbSB7CiAgcGFkZGluZy1yaWdodDogMDsKICBwYWRkaW5nLWJvdHRvbTogMDsKICB3aWR0aDogMjUlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbS53aWRlIHsKICB3aWR0aDogNTAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC0xIC5nYWxsZXJ5LWl0ZW0gewogIHdpZHRoOiAxMDAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC0xIC5nYWxsZXJ5LWl0ZW0ud2lkZSB7CiAgd2lkdGg6IDEwMCU7Cn0KLmdhbGxlcnktaXNvdG9wZS5ncmlkLTIgLmdhbGxlcnktaXRlbSB7CiAgd2lkdGg6IDUwJTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtMiAuZ2FsbGVyeS1pdGVtLndpZGUgewogIHdpZHRoOiAxMDAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC0zIC5nYWxsZXJ5LWl0ZW0gewogIHdpZHRoOiAzMy4zMzMzJTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtMyAuZ2FsbGVyeS1pdGVtLndpZGUgewogIHdpZHRoOiA2Ni42NjY3JTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtNCAuZ2FsbGVyeS1pdGVtIHsKICB3aWR0aDogMjUlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC00IC5nYWxsZXJ5LWl0ZW0ud2lkZSB7CiAgd2lkdGg6IDUwJTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtNSAuZ2FsbGVyeS1pdGVtIHsKICB3aWR0aDogMjAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC01IC5nYWxsZXJ5LWl0ZW0ud2lkZSB7CiAgd2lkdGg6IDQwJTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtNiAuZ2FsbGVyeS1pdGVtIHsKICB3aWR0aDogMTYuNjY2NjY2NjY3JTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtNiAuZ2FsbGVyeS1pdGVtLndpZGUgewogIHdpZHRoOiAzMy4zMzMlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC03IC5nYWxsZXJ5LWl0ZW0gewogIHdpZHRoOiAxNC4yODU3MTQzJTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtNyAuZ2FsbGVyeS1pdGVtLndpZGUgewogIHdpZHRoOiAyOC41NzE0Mjg2JTsKfQouZ2FsbGVyeS1pc290b3BlLmdyaWQtOCAuZ2FsbGVyeS1pdGVtIHsKICB3aWR0aDogMTIuNSU7Cn0KLmdhbGxlcnktaXNvdG9wZS5ncmlkLTggLmdhbGxlcnktaXRlbS53aWRlIHsKICB3aWR0aDogMjUlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC05IC5nYWxsZXJ5LWl0ZW0gewogIHdpZHRoOiAxMS4xMSU7Cn0KLmdhbGxlcnktaXNvdG9wZS5ncmlkLTkgLmdhbGxlcnktaXRlbS53aWRlIHsKICB3aWR0aDogMjIuMjIlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC0xMCAuZ2FsbGVyeS1pdGVtIHsKICB3aWR0aDogMTAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZ3JpZC0xMCAuZ2FsbGVyeS1pdGVtLndpZGUgewogIHdpZHRoOiAyMCU7Cn0KLyogLS0tLS0tLS0gUG9ydGZvbGlvIElzb3RvcCBJdGVtIE1lZGlhIFF1ZXJ5IC0tLS0tLS0tLS0gKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogIC5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbSB7CiAgICB3aWR0aDogMzMuMzMzJSAhaW1wb3J0YW50OwogIH0KICAuZ2FsbGVyeS1pc290b3BlIC5nYWxsZXJ5LWl0ZW0ud2lkZSB7CiAgICB3aWR0aDogNjYuNjY2NyUgIWltcG9ydGFudDsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbSB7CiAgICB3aWR0aDogNTAlICFpbXBvcnRhbnQ7CiAgfQogIC5nYWxsZXJ5LWlzb3RvcGUgLmdhbGxlcnktaXRlbS53aWRlIHsKICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsKICAuZ2FsbGVyeS1pc290b3BlIC5nYWxsZXJ5LWl0ZW0gewogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICB9CiAgLmdhbGxlcnktaXNvdG9wZSAuZ2FsbGVyeS1pdGVtLndpZGUgewogICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsKICB9Cn0KLyogLS0tLS0tLS0gUG9ydGZvbGlvIElzb3RvcCBPdmVybGF5IEVmZmVjdCAtLS0tLS0tLS0tICovCi5nYWxsZXJ5LWlzb3RvcGUuZGVmYXVsdC1hbmltYXRpb24tZWZmZWN0IC5nYWxsZXJ5LWl0ZW0gewogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmdhbGxlcnktaXRlbSAudGh1bWIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZGVmYXVsdC1hbmltYXRpb24tZWZmZWN0IC5nYWxsZXJ5LWl0ZW0gLmhvdmVyLWxpbmsgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgYmFja2dyb3VuZDogbm9uZSFpbXBvcnRhbnQ7CiAgY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDsKICB6LWluZGV4OiAxMTsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtIC5vdmVybGF5LXNoYWRlIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIHotaW5kZXg6IDEyOwogIGJhY2tncm91bmQtY29sb3I6ICMzMzM7CiAgb3BhY2l0eTogMDsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2UtaW4tb3V0OwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dDsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtOmhvdmVyIC5vdmVybGF5LXNoYWRlIHsKICBvcGFjaXR5OiAwLjk7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTkwKTsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtIC5pY29ucy1ob2xkZXIgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDAlOwogIGxlZnQ6IDUwJTsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IGF1dG87CiAgaGVpZ2h0OiAzNnB4OwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7CiAgei1pbmRleDogMTM7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtIC5pY29ucy1ob2xkZXIgLmljb25zLWhvbGRlci1pbm5lciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIG1hcmdpbjogLTE4cHggMCAwIC01MCU7Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmdhbGxlcnktaXRlbSAuaWNvbnMtaG9sZGVyIC5pY29ucy1ob2xkZXItaW5uZXIgYSB7CiAgb3BhY2l0eTogMDsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtOmhvdmVyIC5pY29ucy1ob2xkZXIgewogIHRvcDogNTAlOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZGVmYXVsdC1hbmltYXRpb24tZWZmZWN0IC5nYWxsZXJ5LWl0ZW06aG92ZXIgLmljb25zLWhvbGRlciAuaWNvbnMtaG9sZGVyLWlubmVyIGEgewogIG9wYWNpdHk6IDE7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEpOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZGVmYXVsdC1hbmltYXRpb24tZWZmZWN0IC5nYWxsZXJ5LWl0ZW0gLnBvcnRmb2xpby1kZXNjcmlwdGlvbiB7CiAgcGFkZGluZzogMTBweCAxNXB4OwogIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmdhbGxlcnktaXRlbSAucG9ydGZvbGlvLWRlc2NyaXB0aW9uIC50aXRsZSB7CiAgbWFyZ2luOiAwOwp9Ci5nYWxsZXJ5LWlzb3RvcGUuZGVmYXVsdC1hbmltYXRpb24tZWZmZWN0IC5nYWxsZXJ5LWl0ZW0gLnBvcnRmb2xpby1kZXNjcmlwdGlvbiAudGl0bGUgYSB7CiAgY29sb3I6ICMzMzMzMzM7Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmdhbGxlcnktaXRlbSAudGV4dC1ob2xkZXIgewogIGJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAxMDAlOwogIGxlZnQ6IDA7CiAgb3BhY2l0eTogMDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBhZGRpbmc6IDI1cHggMzBweCA2MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDEwMHB4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMTM7Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmdhbGxlcnktaXRlbSAudGV4dC1ob2xkZXIgLnRpdGxlIHsKICBjb2xvcjogI2ZmZjsKfQouZ2FsbGVyeS1pc290b3BlLmRlZmF1bHQtYW5pbWF0aW9uLWVmZmVjdCAuZ2FsbGVyeS1pdGVtOmhvdmVyIC50ZXh0LWhvbGRlciB7CiAgb3BhY2l0eTogMTsKICB0b3A6IDA7Cn0KLmdhbGxlcnktaXNvdG9wZS5kZWZhdWx0LWFuaW1hdGlvbi1lZmZlY3QgLmZsZXgtY29udHJvbC1uYXYgewogIHotaW5kZXg6IDExMTsKfQovKgogKiBzbGlkZXIubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBSZXYgU2xpZGVyIC0tLS0tLS0tLS0gKi8KI2hvbWUgLnJldnNsaWRlci1mdWxsc2NyZWVuIHsKICBtaW4taGVpZ2h0OiBhdXRvOwp9Ci8qIC0tLS0tLS0tIEhvbWUgUmV2b2x1dGlvbiBTbGlkZXIgRm9yIE1pbmltYWwgTGF5b3V0cyAtLS0tLS0tLS0tICovCi5taW5pbWFsLXJldnNsaWRlci13cmFwcGVyIHsKICBsZWZ0OiAwIWltcG9ydGFudDsKICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7Cn0KLm1pbmltYWwtcmV2c2xpZGVyLXdyYXBwZXIgLnRwLWxlZnRhcnJvdyB7CiAgbGVmdDogMCFpbXBvcnRhbnQ7Cn0KLm1pbmltYWwtcmV2c2xpZGVyLXdyYXBwZXIgLnRwLXJpZ2h0YXJyb3cgewogIHJpZ2h0OiAwIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBUYWItU2xpZGVyIC0tLS0tLS0tLS0gKi8KLnRhYi1zbGlkZXIgLnRhYi1jb250ZW50IHsKICBwYWRkaW5nOiAwOwogIGJvcmRlcjogMDsKfQoudGFiLXNsaWRlciAubmF2Lm5hdi1waWxscyA+IGRpdiB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBmbG9hdDogbGVmdDsKICBtYXJnaW4tYm90dG9tOiAxNXB4OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7Cn0KLnRhYi1zbGlkZXIgLm5hdi5uYXYtcGlsbHMgaSB7CiAgY29sb3I6ICNkM2QzZDM7Cn0KLnRhYi1zbGlkZXIgLm5hdi5uYXYtcGlsbHMgYSB7CiAgZGlzcGxheTogYmxvY2s7CiAgcGFkZGluZzogNDBweCAzMHB4OwogIGJhY2tncm91bmQ6ICNmM2YzZjM7Cn0KLnRhYi1zbGlkZXIgLm5hdi5uYXYtcGlsbHMgYTpob3ZlciBpLAoudGFiLXNsaWRlciAubmF2Lm5hdi1waWxscyBhOmhvdmVyIGg2LAoudGFiLXNsaWRlciAubmF2Lm5hdi1waWxscyBhLmFjdGl2ZSBpLAoudGFiLXNsaWRlciAubmF2Lm5hdi1waWxscyBhLmFjdGl2ZSBoNiB7CiAgY29sb3I6ICNmZmY7Cn0KLyogLS0tLS0tLS0gTWF4SW1hZ2UgU2xpZGVyIC0tLS0tLS0tLS0gKi8KLm1heGltYWdlLXNsaWRlciAuZnVsbHNjcmVlbi1jb250cm9scyAuaW1nLXByZXYsCi5tYXhpbWFnZS1zbGlkZXIgLmZ1bGxzY3JlZW4tY29udHJvbHMgLmltZy1uZXh0IHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMyk7Cn0KLyogLS0tLS0tLS0gVGVzdGltb25pYWwtQ2Fyb3VzZWwgLS0tLS0tLS0tLSAqLwoudGVzdGltb25pYWwtY2Fyb3VzZWwsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIgewogIC8qIGZ1bGx3aWR0aCAqLwp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbCAucXVvdGUsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIgLnF1b3RlLAoudGVzdGltb25pYWwtY2Fyb3VzZWwgLnRodW1iLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyIC50aHVtYiB7CiAgbWFyZ2luLWJvdHRvbTogNDBweDsKfQoudGVzdGltb25pYWwtY2Fyb3VzZWwgLnF1b3RlIGksCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIgLnF1b3RlIGkgewogIGJhY2tncm91bmQ6ICM1NTU1NTU7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGNvbG9yOiAjZmZmOwogIGZvbnQtc2l6ZTogMjVweDsKICBoZWlnaHQ6IDYwcHg7CiAgbGluZS1oZWlnaHQ6IDE7CiAgcGFkZGluZzogMjBweCAwIDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHdpZHRoOiA2MHB4Owp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbCAuYXV0aG9yLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyIC5hdXRob3IgewogIG1hcmdpbi10b3A6IDMwcHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoudGVzdGltb25pYWwtY2Fyb3VzZWwub3dsLXRoZW1lIC5vd2wtY29udHJvbHMsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIub3dsLXRoZW1lIC5vd2wtY29udHJvbHMgewogIG1hcmdpbi10b3A6IDEwcHg7Cn0KLnRlc3RpbW9uaWFsLWNhcm91c2VsLmZ1bGx3aWR0aCAuY29udGVudCBwLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyLmZ1bGx3aWR0aCAuY29udGVudCBwIHsKICBmb250LXNpemU6IDE1cHg7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIGNvbG9yOiAjZmZmOwp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbC5mdWxsd2lkdGggLmNvbnRlbnQgcDo6YWZ0ZXIsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIuZnVsbHdpZHRoIC5jb250ZW50IHA6OmFmdGVyIHsKICBjb250ZW50OiAiXGYxMGUiOwogIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTsKICBmb250LXNpemU6IDEwMHB4OwogIGxlZnQ6IDQyJTsKICBvcGFjaXR5OiAwLjE7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbC5idWxsZXQtd2hpdGUgLm93bC1kb3RzIHNwYW4sCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIuYnVsbGV0LXdoaXRlIC5vd2wtZG90cyBzcGFuIHsKICBiYWNrZ3JvdW5kOiAjZmZmOwp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyIC5vd2wtaXRlbSBpbWcgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB3aWR0aDogYXV0bzsKICBtYXgtd2lkdGg6IDkwcHg7Cn0KLnRlc3RpbW9uaWFsLWNhcm91c2VsLmJveGVkIC5xdW90ZSwKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXN0eWxlMi5ib3hlZCAucXVvdGUsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC5ib3hlZCAudGh1bWIsCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIuYm94ZWQgLnRodW1iIHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbC5ib3hlZCAub3dsLWl0ZW0gaW1nLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyLmJveGVkIC5vd2wtaXRlbSBpbWcgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB3aWR0aDogYXV0bzsKICBtYXgtd2lkdGg6IDY1cHg7Cn0KLnRlc3RpbW9uaWFsLWNhcm91c2VsLmJveGVkIC5jb250ZW50OjphZnRlciwKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXN0eWxlMi5ib3hlZCAuY29udGVudDo6YWZ0ZXIgewogIGJvdHRvbTogMTJweDsKICBjb250ZW50OiAiXGYxMGUiOwogIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTsKICBmb250LXNpemU6IDU1cHg7CiAgb3BhY2l0eTogMC4yOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMTBweDsKfQoudGVzdGltb25pYWwtY2Fyb3VzZWwuYm94ZWQgLm93bC1jb250cm9scywKLnRlc3RpbW9uaWFsLWNhcm91c2VsLXN0eWxlMi5ib3hlZCAub3dsLWNvbnRyb2xzIHsKICBtYXJnaW4tdG9wOiAwOwp9Ci50ZXN0aW1vbmlhbC1jYXJvdXNlbC5ib3hlZC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLAoudGVzdGltb25pYWwtY2Fyb3VzZWwtc3R5bGUyLmJveGVkLm93bC10aGVtZSAub3dsLWRvdHMgLm93bC1kb3QuYWN0aXZlIHNwYW4sCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC5ib3hlZC5vd2wtdGhlbWUgLm93bC1kb3RzIC5vd2wtZG90OmhvdmVyIHNwYW4sCi50ZXN0aW1vbmlhbC1jYXJvdXNlbC1zdHlsZTIuYm94ZWQub3dsLXRoZW1lIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHsKICBvcGFjaXR5OiAxOwp9Ci8qIC0tLS0tLS0tIFdpZGdldC1UZXN0aW1vbmlhbC1DYXJvdXNlbCAtLS0tLS0tLS0tICovCi53aWRnZXQtdGVzdGltb25pYWwtY2Fyb3VzZWwgLml0ZW0gaW1nIHsKICBtYXgtd2lkdGg6IDc1cHg7CiAgZmxvYXQ6IHJpZ2h0Owp9Ci8qCiAqIG93bC1jYXJvdXNlbC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5vd2wtY2Fyb3VzZWwgewogIC8qIG93bCBkb3RzICovCn0KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gaW1nIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IGF1dG87Cn0KLm93bC1jYXJvdXNlbCAub3dsLWRvdHMgewogIHRleHQtYWxpZ246IGNlbnRlcjsKICBtYXJnaW4tdG9wOiAxMHB4Owp9Ci5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzIC5vd2wtZG90IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgem9vbTogMTsKfQoub3dsLWNhcm91c2VsIC5vd2wtZG90cyAub3dsLWRvdCBzcGFuIHsKICBiYWNrZ3JvdW5kOiAjRDZENkQ2OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBkaXNwbGF5OiBibG9jazsKICBoZWlnaHQ6IDEycHg7CiAgbWFyZ2luOiA1cHggM3B4OwogIG9wYWNpdHk6IDAuODsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDBzOwogIHdpZHRoOiAxMnB4Owp9Ci5vd2wtY2Fyb3VzZWwgLm93bC1kb3RzIC5vd2wtZG90LmFjdGl2ZSBzcGFuLAoub3dsLWNhcm91c2VsIC5vd2wtZG90cyAub3dsLWRvdDpob3ZlciBzcGFuIHsKICBiYWNrZ3JvdW5kOiAjODY5NzkxOwp9Ci5vd2wtY2Fyb3VzZWwgLm93bC1uYXYgYnV0dG9uIHsKICBib3JkZXItcmFkaXVzOiAwOwogIGRpc3BsYXk6IGJsb2NrOwogIHotaW5kZXg6IDY7CiAgbWFyZ2luOiAtMzVweCBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICBvcGFjaXR5OiAwLjQ7CiAgdG9wOiA1MCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwczsKfQoub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbiBpIHsKICBjb2xvcjogIzU1NTsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwogIGZvbnQtc2l6ZTogMTZweDsKfQoub3dsLWNhcm91c2VsIC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldiB7CiAgbGVmdDogMDsKICBiYWNrZ3JvdW5kOiByZ2JhKDI0MCwgMjQwLCAyNDAsIDAuOCkgIWltcG9ydGFudDsKICBwYWRkaW5nOiAxMHB4ICFpbXBvcnRhbnQ7Cn0KLm93bC1jYXJvdXNlbCAub3dsLW5hdiBidXR0b24ub3dsLW5leHQgewogIHJpZ2h0OiAwOwogIGJhY2tncm91bmQ6IHJnYmEoMjQwLCAyNDAsIDI0MCwgMC44KSAhaW1wb3J0YW50OwogIHBhZGRpbmc6IDEwcHggIWltcG9ydGFudDsKfQoub3dsLWNhcm91c2VsOmhvdmVyIC5vd2wtbmF2ID4gYnV0dG9uIHsKICBvcGFjaXR5OiAxOwp9Ci8qIE93bCBEb3RzCSovCi5vd2wtZG90cy1ib3R0b20tcmlnaHQgLm93bC1kb3RzIHsKICBib3R0b206IC0xMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKfQoub3dsLWRvdHMtY2VudGVyLWJvdHRvbSAub3dsLWRvdHMgewogIGJvdHRvbTogMTVweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLyogSW1hZ2UgQ2Fyb3VzZWwgKi8KLmltYWdlLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIG9wYWNpdHk6IDA7Cn0KLmltYWdlLWNhcm91c2VsOmhvdmVyIC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIG9wYWNpdHk6IDE7Cn0KLyogT3dsIHRvcCBuYXYgc3R5bGUgKi8KLm93bC1jYXJvdXNlbC5vd2wtbmF2LXRvcC5idWxsZXQtd2hpdGUgLm93bC1kb3RzIHNwYW4gewogIGJhY2tncm91bmQ6ICNmZmY7Cn0KLm93bC1jYXJvdXNlbC5vd2wtbmF2LXRvcCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2ID4gZGl2IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICB0b3A6IC02MHB4OwogIHJpZ2h0OiAwOwp9Ci5vd2wtY2Fyb3VzZWwub3dsLW5hdi10b3AgLm93bC1jb250cm9scyAub3dsLW5hdiA+IGRpdjpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2QzZDNkMzsKfQoub3dsLWNhcm91c2VsLm93bC1uYXYtdG9wIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1wcmV2IHsKICByaWdodDogMzVweDsKfQoub3dsLWNhcm91c2VsLm93bC1uYXYtdG9wIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1uZXh0IHsKICByaWdodDogMDsKfQoub3dsLWNhcm91c2VsLm93bC1uYXYtdG9wIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1wcmV2LAoub3dsLWNhcm91c2VsLm93bC1uYXYtdG9wIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1uZXh0IHsKICBiYWNrZ3JvdW5kOiAjZWVlZWVlOwogIGJvcmRlcjogbm9uZTsKICBsaW5lLWhlaWdodDogMjhweDsKICBwYWRkaW5nOiAwIDEycHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5vd2wtY2Fyb3VzZWwub3dsLW5hdi10b3AgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLXByZXYgaSwKLm93bC1jYXJvdXNlbC5vd2wtbmF2LXRvcCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtbmV4dCBpIHsKICBjb2xvcjogIzg4ODsKICBmb250LXNpemU6IDE0cHg7Cn0KLm93bC1jYXJvdXNlbC5uby1idWxsZXQgLm93bC1uYXYgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnJlY2VudC1wcm9qZWN0IC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIHRvcDogMzglOwp9Ci5yZWNlbnQtcHJvamVjdCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtcHJldiBpLAoucmVjZW50LXByb2plY3QgLm93bC1jb250cm9scyAub3dsLW5hdiAub3dsLW5leHQgaSB7CiAgcGFkZGluZzogMnB4IDE2cHg7Cn0KLmZlYXR1cmVkLWdhbGxlcnkuc3R5bGUyIHsKICBmbG9hdDogcmlnaHQ7CiAgd2lkdGg6IDkyJTsKfQouZmVhdHVyZWQtZ2FsbGVyeS5zdHlsZTIgLm93bC1jb250cm9scyB7CiAgYm90dG9tOiA1OHB4OwogIGxlZnQ6IC04MHB4OwogIG1hcmdpbjogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KLmZlYXR1cmVkLWdhbGxlcnkuc3R5bGUyIC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIHRvcDogOTUlOwp9Ci5mZWF0dXJlZC1nYWxsZXJ5LnN0eWxlMiAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtcHJldiB7CiAgbGVmdDogMHB4Owp9Ci5mZWF0dXJlZC1nYWxsZXJ5LnN0eWxlMiAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtbmV4dCB7CiAgZGlzcGxheTogaW5saW5lLXRhYmxlOwogIGxlZnQ6IDQwcHg7Cn0KLmZlYXR1cmVkLWdhbGxlcnkuc3R5bGUyIC5vd2wtY29udHJvbHMgLm93bC1uYXYgLm93bC1wcmV2IGksCi5mZWF0dXJlZC1nYWxsZXJ5LnN0eWxlMiAub3dsLWNvbnRyb2xzIC5vd2wtbmF2IC5vd2wtbmV4dCBpIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDM1cHg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTFweCkgewogIC5mZWF0dXJlZC1nYWxsZXJ5LnN0eWxlMiB7CiAgICBmbG9hdDogbm9uZTsKICAgIG1hcmdpbi10b3A6IDU4cHg7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLmZlYXR1cmVkLWdhbGxlcnkuc3R5bGUyIC5vd2wtY29udHJvbHMgewogICAgYm90dG9tOiBhdXRvOwogICAgbGVmdDogYXV0bzsKICAgIHRvcDogLTQ1cHg7CiAgfQp9Ci5pbWFnZS1jYXJvdXNlbCAub3dsLWNvbnRyb2xzIC5vd2wtbmF2ID4gZGl2IHsKICBvcGFjaXR5OiAwOwp9Ci5pbWFnZS1jYXJvdXNlbDpob3ZlciAub3dsLWNvbnRyb2xzIC5vd2wtbmF2ID4gZGl2IHsKICBvcGFjaXR5OiAxOwp9Ci8qIC0tLS0tLS0tIE93bCBGdWxsd2lkdGggQ2Fyb3VzZWwgLS0tLS0tLS0tLSAqLwouZnVsbHdpZHRoLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIHRvcDogNDUlOwp9Ci5mdWxsd2lkdGgtY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0gewogIG1pbi1oZWlnaHQ6IDYxNXB4OwogIHdpZHRoOiAxMDAlOwp9Ci5mdWxsd2lkdGgtY2Fyb3VzZWwuYmxvZy1mdWxsd2lkdGgtY2Fyb3VzZWwgLmNhcm91c2VsLWl0ZW0gewogIGhlaWdodDogNjAwcHg7CiAgbWluLWhlaWdodDogYXV0bzsKICB3aWR0aDogMTAwJTsKfQouZnVsbHdpZHRoLWNhcm91c2VsLmJsb2ctZnVsbHdpZHRoLWNhcm91c2VsIC5vd2wtY29udHJvbHMgLm93bC1uYXYgPiBkaXYgewogIGJhY2tncm91bmQ6IG5vbmU7Cn0KLyogLS0tLS0tLS0gVHdpdHRlciBGZWVkIENhcm91c2VsIC0tLS0tLS0tLS0gKi8KLm93bC1kb3RzLWJvdHRvbS1yaWdodCAub3dsLWRvdHMgewogIGJvdHRvbTogLTEwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwp9Ci8qIC0tLS0tLS0tIFR3aXR0ZXIgRmVlZCBDYXJvdXNlbCAtLS0tLS0tLS0tICovCi50d2l0dGVyLWZlZWQudHdpdHRlci1jYXJvdXNlbCB7CiAgY29sb3I6ICMxMTExMTE7CiAgZm9udC1zaXplOiAxNnB4Owp9Ci50d2l0dGVyLWZlZWQudHdpdHRlci1jYXJvdXNlbCBhIHsKICBjb2xvcjogIzExMTExMTsKfQoudHdpdHRlci1mZWVkIC5kYXRlIHsKICBmb250LXNpemU6IDEycHg7Cn0KLnR3aXR0ZXItZmVlZC50d2l0dGVyLXdoaXRlLAoudHdpdHRlci1mZWVkLnR3aXR0ZXItd2hpdGUgYSB7CiAgY29sb3I6ICNmZmY7Cn0KLyogLS0tLS0tLS0gQlggU2xpZGVyIC0tLS0tLS0tLS0gKi8KLmJ4LXdyYXBwZXIgewogIG1hcmdpbjogMCBhdXRvIDdweDsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouYngtd3JhcHBlciAuYngtdmlld3BvcnQgewogIGJhY2tncm91bmQ6IGluaGVyaXQ7CiAgYm9yZGVyOiAwIHNvbGlkICNmZmY7CiAgYm94LXNoYWRvdzogMCAwIDAgI2NjYzsKICBsZWZ0OiAwOwogIHRyYW5zZm9ybTogdHJhbnNsYXRlWigwcHgpOwp9Ci8qIGJ4IHRvcCBuYXYgc3R5bGUgKi8KLmJ4LWNvbnRyb2xzIC5ieC1jb250cm9scy1kaXJlY3Rpb24gPiBhIHsKICBiYWNrZ3JvdW5kOiAjZWVlIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm9yZGVyOiBtZWRpdW0gbm9uZTsKICBoZWlnaHQ6IGF1dG87CiAgbGluZS1oZWlnaHQ6IDI4cHg7CiAgcGFkZGluZzogMCAxMnB4OwogIHdpZHRoOiBhdXRvOwogIHRleHQtaW5kZW50OiAwOwogIHRvcDogLTMwcHg7CiAgei1pbmRleDogMDsKfQouYngtY29udHJvbHMgLmJ4LWNvbnRyb2xzLWRpcmVjdGlvbiA+IGE6aG92ZXIgewogIGJhY2tncm91bmQ6ICNkZGQ7Cn0KLmJ4LWNvbnRyb2xzIC5ieC1jb250cm9scy1kaXJlY3Rpb24gPiBhIGkgewogIGNvbG9yOiAjODg4Owp9Ci5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIC5ieC1wcmV2IHsKICByaWdodDogMzVweDsKICBsZWZ0OiBhdXRvOwp9Ci5ieC1jb250cm9scyAuYngtY29udHJvbHMtZGlyZWN0aW9uIC5ieC1uZXh0IHsKICByaWdodDogMDsKfQovKiAtLS0tLS0tLSBUeXBlZCBBbmltYXRpb24gU2xpZGVyIC0tLS0tLS0tLS0gKi8KLnR5cGVkLWN1cnNvciB7CiAgb3BhY2l0eTogMTsKICAtd2Via2l0LWFuaW1hdGlvbjogYmxpbmsgMC43cyBpbmZpbml0ZTsKICAtbW96LWFuaW1hdGlvbjogYmxpbmsgMC43cyBpbmZpbml0ZTsKICBhbmltYXRpb246IGJsaW5rIDAuN3MgaW5maW5pdGU7Cn0KQGtleWZyYW1lcyBibGluayB7CiAgMCUgewogICAgb3BhY2l0eTogMTsKICB9CiAgNTAlIHsKICAgIG9wYWNpdHk6IDA7CiAgfQogIDEwMCUgewogICAgb3BhY2l0eTogMTsKICB9Cn0KQC13ZWJraXQta2V5ZnJhbWVzIGJsaW5rIHsKICAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KICA1MCUgewogICAgb3BhY2l0eTogMDsKICB9CiAgMTAwJSB7CiAgICBvcGFjaXR5OiAxOwogIH0KfQpALW1vei1rZXlmcmFtZXMgYmxpbmsgewogIDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgfQogIDUwJSB7CiAgICBvcGFjaXR5OiAwOwogIH0KICAxMDAlIHsKICAgIG9wYWNpdHk6IDE7CiAgfQp9Ci8qCiAqIGhvbWUubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBTZXRpb24tQm90dG9tLUFic29sdXRlLURpdiAtLS0tLS0tLS0tICovCi5zZXRpb24tYm90dG9tLWFic29sdXRlLWRpdiB7CiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwp9Ci8qCiAqIGFib3V0Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogLS0tLS0tLS0gQmcgSW1nIEJveCAtLS0tLS0tLS0tICovCi5iZy1pbWctYm94IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmJnLWltZy1ib3ggLmNhcHRpb24gewogIHBhZGRpbmctbGVmdDogMzBweDsKICBwYWRkaW5nLXJpZ2h0OiAzMHB4OwogIHBhZGRpbmctdG9wOiAyMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7Cn0KLmJnLWltZy1ib3ggLmNhcHRpb24gLnRpdGxlIHsKICBmb250LXNpemU6IDMwcHg7CiAgbGluZS1oZWlnaHQ6IDM5cHg7Cn0KLmJnLWltZy1ib3ggLmNhcHRpb24gcCB7CiAgbWF4LXdpZHRoOiAyODBweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi13aGl0ZTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKfQouaGFsZi1kaXZpZGVyIC5oYWxmIHsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDEwMCU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICB3aWR0aDogNTAlOwp9Ci52aWRlby1pY29uIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBtYXJnaW46IGF1dG87CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRvcDogNDAlOwp9Ci8qCiAqIHZvbHVudGVlci5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi52b2x1bnRlZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudm9sdW50ZWVyIC5vdmVybGF5IHsKICBoZWlnaHQ6IDA7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBvcGFjaXR5OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dCAwczsKfQoudm9sdW50ZWVyIC5jb250ZW50IHsKICBsZWZ0OiAwOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0IDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0IDBzOwp9Ci52b2x1bnRlZXI6aG92ZXIgLm92ZXJsYXkgewogIG9wYWNpdHk6IDE7CiAgaGVpZ2h0OiAxMDAlOwp9Ci52b2x1bnRlZXI6aG92ZXIgLmNvbnRlbnQgewogIG9wYWNpdHk6IDE7CiAgdG9wOiAzMCU7Cn0KLnZvbHVudGVlci5ib3JkZXIgewogIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7Cn0KLnZvbHVudGVlciAuaW5mbyB7CiAgcGFkZGluZzogMTVweCAwOwogIHBhZGRpbmctYm90dG9tOiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoudm9sdW50ZWVyIC5pbmZvIC5uYW1lIHsKICBmb250LXdlaWdodDogNzAwOwogIG1hcmdpbjogMHB4Owp9Ci52b2x1bnRlZXIgLmluZm8gLm5hbWUgYSB7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQoudm9sdW50ZWVyIC5pbmZvIC5vY2N1cGF0aW9uIHsKICBjb2xvcjogIzk5OTsKICBtYXJnaW4tYm90dG9tOiAxMHB4OwogIG1hcmdpbi10b3A6IDBweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci8qCiAqIGNvbnRhY3QubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouY29udGFjdC13cmFwcGVyIHsKICBwYWRkaW5nOiA1MHB4IDUwcHggNTBweCAxMDBweDsKfQouY29udGFjdC1mb3JtIC5mb3JtLWdyb3VwIHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5jb250YWN0LWZvcm0gLmZvcm0tY29udHJvbCB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm94LXNoYWRvdzogbm9uZTsKICBoZWlnaHQ6IDQ4cHg7Cn0KLmNvbnRhY3QtZm9ybSAuZm9ybS1jb250cm9sOmZvY3VzLAouY29udGFjdC1mb3JtIC5mb3JtLWNvbnRyb2w6YWN0aXZlIHsKICBib3gtc2hhZG93OiBub25lOwogIGNvbG9yOiAjMzMzMzMzOwp9Ci5jb250YWN0LWZvcm0gLmZvcm0tY29udHJvbDIgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsKICBjb2xvcjogI2MwYzBjMDsKfQouY29udGFjdC1mb3JtIC5mb3JtLWdyb3VwIGJ1dHRvbiB7CiAgbWFyZ2luLXRvcDogMDsKfQouY29udGFjdC1mb3JtIHRleHRhcmVhLmZvcm0tY29udHJvbCB7CiAgaGVpZ2h0OiAxMTBweDsKICByZXNpemU6IG5vbmU7Cn0KdGV4dGFyZWEgewogIHJlc2l6ZTogbm9uZTsKfQovKgogKiBldmVudC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5ldmVudCB7CiAgYmFja2dyb3VuZDogI2Y2ZjZmNjsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDBzOwp9Ci5ldmVudDpob3ZlciB7CiAgYmFja2dyb3VuZDogI2ZhZmFmYTsKfQouZXZlbnQgLmV2ZW50LWNvbnRlbnQgLm1lZGlhLWhlYWRpbmcgYSB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlIDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjRzIGVhc2UgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuNHMgZWFzZSAwczsKfQouZXZlbnQgLmV2ZW50LWNvbnRlbnQgdWwgbGkgewogIGZvbnQtc2l6ZTogMTJweDsKICBsaW5lLWhlaWdodDogMTsKICBtYXJnaW4tdG9wOiAxMHB4OwogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLmV2ZW50IC5ldmVudC1kYXRlIHVsIGxpIHsKICBsaW5lLWhlaWdodDogMTsKfQouZXZlbnQgLmV2ZW50LWRhdGUgdWwgbGk6Zmlyc3QtY2hpbGQgewogIG1hcmdpbi1ib3R0b206IDEwcHg7Cn0KLyogLS0tLS0tLS0gU2NoZWR1bGUtQm94IFN0eWxlIC0tLS0tLS0tLS0gKi8KLnNjaGVkdWxlLWJveCAudGh1bWIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdy14OiBoaWRkZW47Cn0KLnNjaGVkdWxlLWJveCAudGh1bWIgLm92ZXJsYXkgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgb3BhY2l0eTogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogMC4zcyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdG9wOiAtMTAwJTsKfQouc2NoZWR1bGUtYm94IC50aHVtYiAub3ZlcmxheSBhIGkgewogIGJhY2tncm91bmQtY29sb3I6ICMzMzM7CiAgY29sb3I6ICNmZmY7CiAgbWFyZ2luOiAwIGF1dG87CiAgcGFkZGluZzogMTNweCAxMnB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40NXMgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNDVzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjQ1cyBlYXNlLWluLW91dCAwczsKICB0b3A6IDA7Cn0KLnNjaGVkdWxlLWJveCAuc2NoZWR1bGUtZGV0YWlscyB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYmI7Cn0KLnNjaGVkdWxlLWJveCAuc2NoZWR1bGUtZGV0YWlscyB1bCBsaSB7CiAgbWFyZ2luOiAwOwp9Ci5zY2hlZHVsZS1ib3ggLnNjaGVkdWxlLWRldGFpbHMgLnRpdGxlIGEgewogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7Cn0KLnNjaGVkdWxlLWJveDpob3ZlciAudGh1bWIgLm92ZXJsYXkgewogIG9wYWNpdHk6IDE7CiAgdG9wOiAwOwp9Ci5zY2hlZHVsZS1ib3g6aG92ZXIgLnRodW1iIC5vdmVybGF5IGEgaSB7CiAgb3BhY2l0eTogMTsKICB0b3A6IDQwJTsKfQovKiAtLS0tLS0tLSBFdmVudC1UYWJsZSAtLS0tLS0tLS0tICovCi50YWJsZS1zY2hlZHVsZSB0aGVhZCB0ciB0aCB7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiAxNnB4OwogIHBhZGRpbmc6IDE1cHggMjVweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci50YWJsZS1zY2hlZHVsZSA+IHRib2R5ID4gdHIgewogIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmM7Cn0KLnRhYmxlLXNjaGVkdWxlID4gdGJvZHkgPiB0cjpudGgtY2hpbGQoMm4rMSkgewogIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7Cn0KLnRhYmxlLXNjaGVkdWxlIHRib2R5IHRyIHRkIHsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDsKICBjb2xvcjogIzMzMzsKICBmb250LXdlaWdodDogMzAwOwogIHBhZGRpbmc6IDE1cHggMjVweDsKfQoudGFibGUtc2NoZWR1bGUgdGJvZHkgdHIgdGQgLnNwZWFrZXItdGh1bWIgewogIGZsb2F0OiBsZWZ0OwogIG1hcmdpbi1yaWdodDogMTVweDsKICBtYXJnaW4tdG9wOiA1cHg7CiAgd2lkdGg6IDU1cHg7Cn0KLnRhYmxlLXNjaGVkdWxlIHRib2R5IHRyIHRkIC50aXRsZSB7CiAgZm9udC1zaXplOiAxNXB4OwogIG1hcmdpbi1ib3R0b206IDA7CiAgbWFyZ2luLXRvcDogM3B4Owp9Ci50YWJsZS1zY2hlZHVsZSB0Ym9keSB0ciB0ZCAubmFtZSB7CiAgZm9udC1zaXplOiAxM3B4OwogIG1hcmdpbjogMDsKfQoudGFibGUtc2NoZWR1bGUgdGJvZHkgdHIgdGQgc3Ryb25nIHsKICBmb250LXdlaWdodDogNzAwOwp9Ci50YWJsZS1zY2hlZHVsZSAudG9nZ2xlLWNvbnRlbnQgewogIGN1cnNvcjogcG9pbnRlcjsKfQoudGFibGUtc2NoZWR1bGUgLnNlc3Npb24tZGV0YWlscyB7CiAgZGlzcGxheTogbm9uZTsKfQovKgogKiBwcmFjdGljZS1hcmVhLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnByYWN0aWNlLWFyZWEgewogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5wcmFjdGljZS1hcmVhOmhvdmVyIC5wcmFjdGljZS1uYW1lIHsKICBvcGFjaXR5OiAxOwogIHJpZ2h0OiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7Cn0KLyoKICogc2VydmljZXMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoucm90YXRlZC1zZXJ2aWNlLWJveCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5yb3RhdGVkLXNlcnZpY2UtYm94IC5pY29uIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IDkwcHg7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBwYWRkaW5nOiAzMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IC00NXB4OwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICB3aWR0aDogOTBweDsKfQoucm90YXRlZC1zZXJ2aWNlLWJveCAuaWNvbiBpIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDMycHg7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogIC1vLXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKfQoucm90YXRlZC1zZXJ2aWNlLWJveCAuaGVhZGluZyB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsKfQouc2VydmljZXMtbGlzdCBsaSB7CiAgYm9yZGVyOiBtZWRpdW0gbm9uZTsKICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7Cn0KLnNlcnZpY2VzLWxpc3QgbGkuYWN0aXZlIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgcGFkZGluZy1sZWZ0OiAzMHB4Owp9Ci5zZXJ2aWNlcy1saXN0IHVsIGxpIGEgewogIGJhY2tncm91bmQ6ICNmOGY4Zjggbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxOwogIGNvbG9yOiAjMTExMTExOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDE1cHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBwYWRkaW5nOiAyMHB4IDQ1cHg7CiAgd2lkdGg6IDEwMCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNTBtcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCA1MG1zIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDUwbXMgZWFzZTsKfQouc2VydmljZXMtbGlzdCBsaS5hY3RpdmUgYSB7CiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgY29sb3I6ICNmZmY7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQouc2VydmljZXMtbGlzdCBsaS5hY3RpdmU6OmFmdGVyIHsKICBjb2xvcjogI2ZmZjsKICBjb250ZW50OiAiXGU2ODYiOwogIGZvbnQtZmFtaWx5OiAiUGUtaWNvbi03LXN0cm9rZSI7CiAgZm9udC1zaXplOiAzNXB4OwogIHJpZ2h0OiAxMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDVweDsKfQouYnJvY2h1cmVkIGxpIGEgewogIGJhY2tncm91bmQ6ICNmOGY4Zjggbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBwYWRkaW5nOiAxNnB4IDMwcHg7CiAgd2lkdGg6IDEwMCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4xcyBlYXNlICFpbXBvcnRhbnQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMXMgZWFzZSAhaW1wb3J0YW50OwogIHRyYW5zaXRpb246IGFsbCAwLjFzIGVhc2UgIWltcG9ydGFudDsKfQouYnJvY2h1cmVkIGxpIGEgaSB7CiAgZm9udC1zaXplOiAxOHB4OwogIG1hcmdpbi1yaWdodDogMTJweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci8qCiAqIGpvYi5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5qb2Itb3ZlcnZpZXcgewogIGJveC1zaGFkb3c6IDAgMCAwIDJweCAjZWVlOwogIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7Cn0KLmpvYi1vdmVydmlldyAuZGwtaG9yaXpvbnRhbCBkdCB7CiAgd2lkdGg6IGF1dG87Cn0KLmpvYi1vdmVydmlldyAuZGwtaG9yaXpvbnRhbCBkZCB7CiAgbWFyZ2luLWxlZnQ6IDQwcHg7Cn0KLyoKICogc2hvcC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qIC0tLS0tLS0tIFByb2R1Y3QgRGV0YWlscyBQYWdlIC0tLS0tLS0tLS0gKi8KLnByb2R1Y3QgewogIG1hcmdpbi1sZWZ0OiBhdXRvOwogIG1hcmdpbi1yaWdodDogYXV0bzsKICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucHJvZHVjdHMgLnByb2R1Y3QgewogIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7Cn0KLnByb2R1Y3RzIC5wcm9kdWN0OmhvdmVyIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZWVlOwp9Ci5idG4tYWRkLXRvLWNhcnQtd3JhcHBlciB7CiAgb3BhY2l0eTogMC45OwogIGhlaWdodDogYXV0bzsKICBtYXJnaW46IDAgMCAxNXB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogMTAwJTsKICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwogIC13ZWJraXQtdHJhbnNpdGlvbjogNDAwbXM7CiAgLW8tdHJhbnNpdGlvbjogNDAwbXM7CiAgdHJhbnNpdGlvbjogNDAwbXM7Cn0KLyogLS0tLS0tLS0gUHJpY2UgLS0tLS0tLS0tLSAqLwoucHJvZHVjdCAucHJpY2UgewogIGNvbG9yOiAjMzMzMDM4OwogIGZvbnQtc2l6ZTogMTVweDsKICBmb250LXdlaWdodDogNTAwOwogIHBhZGRpbmc6IDVweCAwIDE1cHg7Cn0KLnByb2R1Y3QgLnByaWNlIGRlbCB7CiAgY29sb3I6ICM5ZTlkOWU7CiAgZm9udC1zaXplOiAxM3B4OwogIG1hcmdpbi1yaWdodDogNXB4Owp9Ci5wcm9kdWN0IC5wcmljZSBpbnMgewogIGNvbG9yOiAjMzMzMzMzOwogIGZvbnQtc2l6ZTogMTZweDsKICB0ZXh0LWRlY29yYXRpb246IG5vbmU7Cn0KLnByb2R1Y3QgLnByaWNlIGlucywKLnByb2R1Y3QgLnByaWNlIGlucyB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKSBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGZvbnQtd2VpZ2h0OiA2MDA7Cn0KLyogLS0tLS0tLS0gUHJvZHVjdC1TdW1tYXJ5IC0tLS0tLS0tLS0gKi8KLnByb2R1Y3QgLnByb2R1Y3Qtc3VtbWFyeSAucHJvZHVjdC10aXRsZSB7CiAgbWFyZ2luLXRvcDogMDsKfQoucHJvZHVjdCAucHJvZHVjdC1zdW1tYXJ5IC5zaG9ydC1kZXNjcmlwdGlvbiB7CiAgbWFyZ2luLWJvdHRvbTogMTVweDsKfQoucHJvZHVjdCAucHJvZHVjdC1zdW1tYXJ5IC5jYXJ0LWZvcm0td3JhcHBlciAuYnRuIHsKICBtYXJnaW4tdG9wOiAwOwp9Ci5wcm9kdWN0IC5wcm9kdWN0LXN1bW1hcnkgLnZhcmlhdGlvbnMgewogIHdpZHRoOiAxMDAlOwp9Ci5wcm9kdWN0IC5wcm9kdWN0LXRhYiB7CiAgbWFyZ2luLXRvcDogMzBweDsKfQoucHJvZHVjdCAuY29tbWVudGxpc3QgLmNvbW1lbnQgewogIG1hcmdpbi10b3A6IDMwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5wcm9kdWN0IC5jb21tZW50bGlzdCAuY29tbWVudCAubWV0YSB7CiAgZm9udC1zaXplOiAxMnB4Owp9Ci5wcm9kdWN0IC5jb21tZW50bGlzdCAuY29tbWVudCAuYXV0aG9yIHsKICBmb250LXNpemU6IDE0cHg7CiAgZm9udC13ZWlnaHQ6IGJvbGQ7Cn0KLnByb2R1Y3QgLnByb2R1Y3QtdGh1bWIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucHJvZHVjdCAucHJvZHVjdC10aHVtYjpob3ZlciAub3ZlcmxheSB7CiAgb3BhY2l0eTogMTsKfQoucHJvZHVjdCAucHJvZHVjdC10aHVtYiAub3ZlcmxheSAuYWRkLXRvLXdpc2hsaXN0IHsKICBjb2xvcjogI2ZmZjsKICByaWdodDogMTBweDsKICB0b3A6IDEwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwp9Ci5wcm9kdWN0IC5wcm9kdWN0LXN1bW1hcnkgLmNhcnQtZm9ybS13cmFwcGVyIC5xdWFudGl0eSwKLnRibC1zaG9wcGluZy1jYXJ0IC5xdWFudGl0eSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbi1yaWdodDogLjg1NzFlbTsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDQuMTQyOWVtOwogIHZlcnRpY2FsLWFsaWduOiB0b3A7Cn0KLnByb2R1Y3QgLnByb2R1Y3Qtc3VtbWFyeSAuY2FydC1mb3JtLXdyYXBwZXIgLnF1YW50aXR5IC5taW51cywKLnRibC1zaG9wcGluZy1jYXJ0IC5xdWFudGl0eSAubWludXMsCi5wcm9kdWN0IC5wcm9kdWN0LXN1bW1hcnkgLmNhcnQtZm9ybS13cmFwcGVyIC5xdWFudGl0eSAucGx1cywKLnRibC1zaG9wcGluZy1jYXJ0IC5xdWFudGl0eSAucGx1cyB7CiAgYmFja2dyb3VuZDogbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCB0cmFuc3BhcmVudDsKICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOwogIGJvcmRlci1yYWRpdXM6IDNweDsKICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7CiAgaGVpZ2h0OiAxOHB4OwogIGxlZnQ6IDNlbTsKICBsaW5lLWhlaWdodDogMTsKICBvdXRsaW5lOiBtZWRpdW0gbm9uZTsKICBwYWRkaW5nOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMThweDsKfQoucHJvZHVjdCAucHJvZHVjdC1zdW1tYXJ5IC5jYXJ0LWZvcm0td3JhcHBlciAucXVhbnRpdHkgLm1pbnVzLAoudGJsLXNob3BwaW5nLWNhcnQgLnF1YW50aXR5IC5taW51cyB7CiAgYm90dG9tOiAwOwp9Ci5wcm9kdWN0IC5wcm9kdWN0LXN1bW1hcnkgLmNhcnQtZm9ybS13cmFwcGVyIC5xdWFudGl0eSAucGx1cywKLnRibC1zaG9wcGluZy1jYXJ0IC5xdWFudGl0eSAucGx1cyB7CiAgdG9wOiAwOwp9Ci5wcm9kdWN0IC5wcm9kdWN0LXN1bW1hcnkgLmNhcnQtZm9ybS13cmFwcGVyIC5xdWFudGl0eSAucXR5LAoudGJsLXNob3BwaW5nLWNhcnQgLnF1YW50aXR5IC5xdHkgewogIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOwogIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7CiAgaGVpZ2h0OiA0MXB4OwogIHBhZGRpbmctbGVmdDogMDsKICBwYWRkaW5nLXJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogNDBweDsKfQovKiAtLS0tLS0tLSBTdGFyLVJhdGluZyAtLS0tLS0tLS0tICovCi5zdGFyLXJhdGluZyB7CiAgZm9udC1zaXplOiAxNHB4OwogIGhlaWdodDogMTZweDsKICBsaW5lLWhlaWdodDogMTsKICBtYXJnaW46IDAgYXV0bzsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0b3A6IDVweDsKICB3aWR0aDogNzVweDsKfQouc3Rhci1yYXRpbmc6OmJlZm9yZSwKLnN0YXItcmF0aW5nIHNwYW46OmJlZm9yZSB7CiAgY29sb3I6ICNhOWE5YTk7CiAgY29udGVudDogIu+Ahu+Ahu+Ahu+Ahu+AhiI7CiAgZmxvYXQ6IGxlZnQ7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGxlZnQ6IDA7CiAgbGV0dGVyLXNwYWNpbmc6IDJweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwp9Ci5zdGFyLXJhdGluZyBzcGFuIHsKICBmbG9hdDogbGVmdDsKICBsZWZ0OiAwOwogIG92ZXJmbG93OiBoaWRkZW47CiAgcGFkZGluZy10b3A6IDEuNWVtOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7Cn0KLyogLS0tLS0tLS0gVGFnIFNhbGUgLS0tLS0tLS0tLSAqLwoucHJvZHVjdCAudGFnLXNhbGUgewogIG1hcmdpbjogMDsKICB0b3A6IDA7CiAgZGlzcGxheTogYmxvY2s7CiAgbGVmdDogYXV0bzsKICByaWdodDogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IDQwMG1zOwogIC1vLXRyYW5zaXRpb246IDQwMG1zOwogIHRyYW5zaXRpb246IDQwMG1zOwogIGNvbG9yOiAjZmZmOwogIGZvbnQtc2l6ZTogMTNweDsKICBmb250LXdlaWdodDogNjAwOwogIGxpbmUtaGVpZ2h0OiAxOHB4OwogIHBhZGRpbmc6IDRweCAxMHB4IDRweCAxNnB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiByaWdodDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwogIHotaW5kZXg6IDk7Cn0KLnByb2R1Y3QgLnRhZy1zYWxlIC50YWctc2FsZTo6YmVmb3JlIHsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNkZGQ7CiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICBib3JkZXItd2lkdGg6IDEycHggMTNweCAxM3B4IDhweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDA7CiAgbGVmdDogMDsKICBwb2ludGVyLWV2ZW50czogbm9uZTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAxcHg7CiAgd2lkdGg6IDA7Cn0KLyogLS0tLS0tLS0gQ2FydCBQYWdlIC0tLS0tLS0tLS0gKi8KLnRibC1zaG9wcGluZy1jYXJ0IC5wcm9kdWN0LXRodW1ibmFpbCBpbWcgewogIG1heC13aWR0aDogNzJweDsKICBtYXgtaGVpZ2h0OiA3MnB4Owp9Ci50Ymwtc2hvcHBpbmctY2FydCAucHJvZHVjdC1yZW1vdmUgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoudGJsLXNob3BwaW5nLWNhcnQgLnZhcmlhdGlvbiAudmFyaWF0aW9uLXNpemUsCi50Ymwtc2hvcHBpbmctY2FydCAudmFyaWF0aW9uIC52YXJpYXRpb24tc2l6ZSBzcGFuIHsKICBmb250LXNpemU6IDEycHg7Cn0KLnRibC1zaG9wcGluZy1jYXJ0IHRyIHRoLAoudGJsLXNob3BwaW5nLWNhcnQgdHIgdGQsCi50Ymwtc2hvcHBpbmctY2FydCAuY291cG9uIGxhYmVsLAoudGJsLXNob3BwaW5nLWNhcnQgLmNvdXBvbiBpbnB1dCwKLnRibC1zaG9wcGluZy1jYXJ0IC5jb3Vwb24gYnV0dG9uIHsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlIWltcG9ydGFudDsKfQoudGJsLXNob3BwaW5nLWNhcnQgdHIgdGQgewogIHBhZGRpbmc6IDEwcHggMTJweCFpbXBvcnRhbnQ7Cn0KdGFibGUubm8tYm9yZGVyIHRkIHsKICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBDaGVja291dCBQYWdlIC0tLS0tLS0tLS0gKi8KLnBheW1lbnQtbWV0aG9kIC5yYWRpbyB7CiAgYm9yZGVyOiAxcHggc29saWQgI2VlZTsKICBwYWRkaW5nOiAxMHB4Owp9Ci5wYXltZW50LW1ldGhvZCAucmFkaW8gPiBsYWJlbCB7CiAgY29sb3I6ICMxMTE7CiAgZm9udC1zaXplOiAxN3B4Owp9Ci5wYXltZW50LW1ldGhvZCAucmFkaW8gaW5wdXQgewogIG1hcmdpbi10b3A6IDhweDsKICB2ZXJ0aWNhbC1hbGlnbjogaW5pdGlhbDsKfQoucGF5bWVudC1tZXRob2QgLnJhZGlvID4gcCB7CiAgbWFyZ2luLWxlZnQ6IDIwcHg7Cn0KI2NoZWNrb3V0LXNoaXBwaW5nLWFkZHJlc3MgewogIGRpc3BsYXk6IG5vbmU7Cn0KLyogLS0tLS0tLS0gVG9wIE5hdiBTZWFyY2ggQW5kIENhcnQgLS0tLS0tLS0tLSAqLwoudG9wLW5hdi1zZWFyY2gtYm94IC5pbmRpY2F0b3IsCi50b3AtbmF2LWNhcnQtYm94IC5pbmRpY2F0b3IgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmRyb3Bkb3duLWNhcnQgewogIHBhZGRpbmc6IDEwcHg7Cn0KLmRyb3Bkb3duLWNhcnQgLmNhcnQtdGFibGUtbGlzdCwKLmRyb3Bkb3duLWNhcnQgLmNhcnQtdGFibGUtbGlzdCBpIHsKICBjb2xvcjogIzIyMjsKICBib3JkZXI6IG5vbmU7Cn0KLmRyb3Bkb3duLWNhcnQgLmNhcnQtdGFibGUtbGlzdCBhIHsKICBsaW5lLWhlaWdodDogbm9ybWFsOwogIGNvbG9yOiAjMjIyOwp9Ci5kcm9wZG93bi1jYXJ0IC5jYXJ0LXRhYmxlLWxpc3QgdGQgaW1nIHsKICB3aWR0aDogNTBweDsKICBoZWlnaHQ6IGF1dG87Cn0KLmRyb3Bkb3duLWNhcnQgLmNhcnQtdGFibGUtbGlzdC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCB7CiAgYm9yZGVyOiBub25lOwogIGxpbmUtaGVpZ2h0OiAyMHB4OwogIGhlaWdodDogMjBweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5kcm9wZG93bi1jYXJ0IC50b3RhbC1jYXJ0IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgd2lkdGg6IDEwMCU7CiAgcGFkZGluZy10b3A6IDIwcHg7CiAgY29sb3I6ICMyMjI7CiAgdGV4dC1hbGlnbjogcmlnaHQ7Cn0KLmRyb3Bkb3duLWNhcnQgLnRvdGFsLWNhcnQgdWwgewogIGZsb2F0OiByaWdodDsKICBsaXN0LXN0eWxlOiBub25lOwogIHBhZGRpbmc6IDA7CiAgd2lkdGg6IDEwMCU7Cn0KLmRyb3Bkb3duLWNhcnQgLnRvdGFsLWNhcnQgdWwgbGkgewogIGRpc3BsYXk6IGJsb2NrOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmRyb3Bkb3duLWNhcnQgLnRvdGFsLWNhcnQgdWwgbGkgc3BhbiB7CiAgd2lkdGg6IDEwMHB4OwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICB0ZXh0LWFsaWduOiByaWdodDsKICB3aGl0ZS1zcGFjZTogbm93cmFwOwp9Ci5kcm9wZG93bi1jYXJ0IC50b3RhbC1jYXJ0IC50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwKLmRyb3Bkb3duLWNhcnQgLnRvdGFsLWNhcnQgLnRhYmxlID4gdGJvZHkgPiB0ciA+IHRoLAouZHJvcGRvd24tY2FydCAudG90YWwtY2FydCAudGFibGUgPiB0Zm9vdCA+IHRyID4gdGQsCi5kcm9wZG93bi1jYXJ0IC50b3RhbC1jYXJ0IC50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwKLmRyb3Bkb3duLWNhcnQgLnRvdGFsLWNhcnQgLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLAouZHJvcGRvd24tY2FydCAudG90YWwtY2FydCAudGFibGUgPiB0aGVhZCA+IHRyID4gdGggewogIGJvcmRlcjogMDsKfQouZHJvcGRvd24tY2FydCAuY2FydC1idG4gLmJ0biB7CiAgd2lkdGg6IGF1dG87CiAgZmxvYXQ6IG5vbmU7CiAgcGFkZGluZzogNXB4IDE1cHg7Cn0KLyoKICogc2hvcC1taW5pLWNhcnQubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKioKICogQ2FydCBzaWRlYmFyCiAqLwp1bC5jYXJ0X2xpc3QsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgewogIGxpc3Qtc3R5bGU6IG5vbmUgb3V0c2lkZTsKICBwYWRkaW5nOiAwOwogIG1hcmdpbjogMDsKfQp1bC5jYXJ0X2xpc3QgbGksCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgewogIHBhZGRpbmc6IDRweCAwOwogIG1hcmdpbjogMDsKICBsaXN0LXN0eWxlOiBub25lOwp9CnVsLmNhcnRfbGlzdCBsaSBhLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGEgewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtd2VpZ2h0OiA3MDA7Cn0KdWwuY2FydF9saXN0IGxpIGltZywKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBpbWcgewogIGZsb2F0OiByaWdodDsKICBtYXJnaW4tbGVmdDogNHB4OwogIHdpZHRoOiA2NHB4OwogIGhlaWdodDogYXV0bzsKICBib3gtc2hhZG93OiBub25lOwp9CnVsLmNhcnRfbGlzdCBsaSBkbCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbCB7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmctbGVmdDogMWVtOwogIGJvcmRlci1sZWZ0OiAycHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjEpOwp9CnVsLmNhcnRfbGlzdCBsaSBkbCBkdCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbCBkdCwKdWwuY2FydF9saXN0IGxpIGRsIGRkLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIGRkIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgZmxvYXQ6IGxlZnQ7CiAgbWFyZ2luLWJvdHRvbTogMWVtOwp9CnVsLmNhcnRfbGlzdCBsaSBkbCBkdCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbCBkdCB7CiAgZm9udC13ZWlnaHQ6IDcwMDsKICBwYWRkaW5nOiAwIDAgMC4yNWVtOwogIG1hcmdpbjogMCA0cHggMCAwOwogIGNsZWFyOiBsZWZ0Owp9CnVsLmNhcnRfbGlzdCBsaSBkbCBkZCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbCBkZCB7CiAgcGFkZGluZzogMCAwIDAuMjVlbTsKfQp1bC5jYXJ0X2xpc3QgbGkgZGwgZGQgcDpsYXN0LWNoaWxkLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIGRkIHA6bGFzdC1jaGlsZCB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQp1bC5jYXJ0X2xpc3QgbGkgLnN0YXItcmF0aW5nLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIC5zdGFyLXJhdGluZyB7CiAgZmxvYXQ6IG5vbmU7Cn0KdWwuY2FydF9saXN0LAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IHsKICBsaXN0LXN0eWxlOiBub25lIG91dHNpZGU7CiAgcGFkZGluZzogMDsKICBtYXJnaW46IDA7Cn0KdWwuY2FydF9saXN0IGxpLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTsKICBwYWRkaW5nOiA0cHggMCAxMHB4OwogIG1hcmdpbjogMCAwIDEwcHg7CiAgbGlzdC1zdHlsZTogbm9uZTsKfQp1bC5jYXJ0X2xpc3QgbGk6YmVmb3JlLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpOmJlZm9yZSwKdWwuY2FydF9saXN0IGxpOmFmdGVyLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpOmFmdGVyIHsKICBjb250ZW50OiAiICI7CiAgZGlzcGxheTogdGFibGU7Cn0KdWwuY2FydF9saXN0IGxpOmFmdGVyLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpOmFmdGVyIHsKICBjbGVhcjogYm90aDsKfQp1bC5jYXJ0X2xpc3QgbGkgYSwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBhIHsKICBkaXNwbGF5OiBibG9jazsKICBjb2xvcjogIzQwNDA0MDsKfQp1bC5jYXJ0X2xpc3QgbGkgYS5yZW1vdmUsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgYS5yZW1vdmUgewogIGNvbG9yOiAjZTgxMTIzOwogIGZsb2F0OiBsZWZ0OwogIGZvbnQtc2l6ZTogMTZweDsKICBmb250LXdlaWdodDogODAwOwogIG1hcmdpbi1sZWZ0OiAwOwogIG1hcmdpbi1yaWdodDogNnB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB0b3A6IC00cHg7Cn0KdWwuY2FydF9saXN0IGxpIC5hdHRhY2htZW50LXNob3BfdGh1bWJuYWlsLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIC5hdHRhY2htZW50LXNob3BfdGh1bWJuYWlsIHsKICB3aWR0aDogNjRweDsKfQp1bC5jYXJ0X2xpc3QgbGkgaW1nLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGltZyB7CiAgZmxvYXQ6IHJpZ2h0OwogIG1hcmdpbi1sZWZ0OiA0cHg7CiAgd2lkdGg6IDUwcHg7CiAgaGVpZ2h0OiBhdXRvOwogIGJveC1zaGFkb3c6IG5vbmU7Cn0KdWwuY2FydF9saXN0IGxpIGRsLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIHsKICBtYXJnaW46IDA7CiAgcGFkZGluZy1sZWZ0OiAxZW07CiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7Cn0KdWwuY2FydF9saXN0IGxpIGRsOmJlZm9yZSwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbDpiZWZvcmUsCnVsLmNhcnRfbGlzdCBsaSBkbDphZnRlciwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbDphZnRlciB7CiAgY29udGVudDogIiAiOwogIGRpc3BsYXk6IHRhYmxlOwp9CnVsLmNhcnRfbGlzdCBsaSBkbDphZnRlciwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkbDphZnRlciB7CiAgY2xlYXI6IGJvdGg7Cn0KdWwuY2FydF9saXN0IGxpIGRsIGR0LAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIGR0LAp1bC5jYXJ0X2xpc3QgbGkgZGwgZGQsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgZGwgZGQgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmbG9hdDogbGVmdDsKICBtYXJnaW4tYm90dG9tOiAxZW07Cn0KdWwuY2FydF9saXN0IGxpIGRsIGR0LAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIGR0IHsKICBmb250LXdlaWdodDogNzAwOwogIHBhZGRpbmc6IDAgMCAwLjI1ZW07CiAgbWFyZ2luOiAwIDRweCAwIDA7CiAgY2xlYXI6IGxlZnQ7Cn0KdWwuY2FydF9saXN0IGxpIGRsIGRkLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGRsIGRkIHsKICBwYWRkaW5nOiAwIDAgMC4yNWVtOwp9CnVsLmNhcnRfbGlzdCBsaSBkbCBkZCBwOmxhc3QtY2hpbGQsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgZGwgZGQgcDpsYXN0LWNoaWxkIHsKICBtYXJnaW4tYm90dG9tOiAwOwp9CnVsLmNhcnRfbGlzdCBsaSBkZWwsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgZGVsLAp1bC5jYXJ0X2xpc3QgbGkgaW5zLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGlucyB7CiAgZm9udC13ZWlnaHQ6IDYwMDsKfQp1bC5jYXJ0X2xpc3QgbGkgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSAud29vY29tbWVyY2UtUHJpY2UtYW1vdW50IHsKICBjb2xvcjogIzc3YTQ2NDsKfQp1bC5jYXJ0X2xpc3QgbGkgaW5zLAp1bC5wcm9kdWN0X2xpc3Rfd2lkZ2V0IGxpIGlucyB7CiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOwp9CnVsLmNhcnRfbGlzdCBsaSBkZWwsCnVsLnByb2R1Y3RfbGlzdF93aWRnZXQgbGkgZGVsIHsKICBtYXJnaW4tcmlnaHQ6IDVweDsKICBmb250LXdlaWdodDogNDAwOwp9CnVsLmNhcnRfbGlzdCBsaSBkZWwgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCwKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSBkZWwgLndvb2NvbW1lcmNlLVByaWNlLWFtb3VudCB7CiAgY29sb3I6ICNhYWE7Cn0KdWwuY2FydF9saXN0IGxpIC5zdGFyLXJhdGluZywKdWwucHJvZHVjdF9saXN0X3dpZGdldCBsaSAuc3Rhci1yYXRpbmcgewogIGZsb2F0OiBub25lOwp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyAubWluaS1jYXJ0LWljb24gewogIGNvbG9yOiAjNTU1OwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMjBweDsKICBsaW5lLWhlaWdodDogMTsKICBwYWRkaW5nOiA1cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyAubWluaS1jYXJ0LWljb24gLml0ZW1zLWNvdW50IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOwogIGJvcmRlci1yYWRpdXM6IDUwJTsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDExcHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBoZWlnaHQ6IDE4cHg7CiAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgbWFyZ2luLXJpZ2h0OiAtM3B4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgdG9wOiAtM3B4OwogIHdpZHRoOiAxOHB4Owp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyAubWluaS1jYXJ0LWljb24gLmNhcnQtcXVpY2staW5mbyB7CiAgZGlzcGxheTogbm9uZTsKfQoudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250YWluZXIgLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGVudHMgLmRyb3Bkb3duLWNvbnRlbnQgewogIGxlZnQ6IGF1dG87CiAgb3BhY2l0eTogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdGV4dC1hbGlnbjogbGVmdDsKICB0b3A6IDEwMCU7CiAgcGFkZGluZy10b3A6IDI3cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTsKICB2aXNpYmlsaXR5OiBoaWRkZW47CiAgd2lkdGg6IDMwMHB4OwogIHotaW5kZXg6IDEwMDA7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDAwcHgpIHsKICAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250YWluZXIgLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGVudHMgLmRyb3Bkb3duLWNvbnRlbnQgewogICAgZGlzcGxheTogbm9uZTsKICAgIC8qIGxlZnQ6IDA7CgkJCQl0b3A6IGNhbGMoMTAwJSArIDU0cHgpOyAqLwogIH0KfQoudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250YWluZXIgLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGVudHMgLmRyb3Bkb3duLWNvbnRlbnQgLmRyb3Bkb3duLWNvbnRlbnQtd3JhcHBlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCAjZWVlOwogIHBhZGRpbmc6IDIwcHg7Cn0KLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGFpbmVyIC50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRlbnRzIC5kcm9wZG93bi1jb250ZW50IHVsIHsKICBsaXN0LXN0eWxlOiBub25lOwp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyAuZHJvcGRvd24tY29udGVudCAuY2FydC1zdWJ0b3RhbCB7CiAgcGFkZGluZzogMTBweCAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250YWluZXIgLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGVudHMgLmRyb3Bkb3duLWNvbnRlbnQgLmNhcnRfbGlzdCAubWluaV9jYXJ0X2l0ZW0gYSB7CiAgY29sb3I6ICM0MDQwNDA7Cn0KLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGFpbmVyIC50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRlbnRzIC5kcm9wZG93bi1jb250ZW50IC5jYXJ0X2xpc3QgLm1pbmlfY2FydF9pdGVtIGEucmVtb3ZlIHsKICBjb2xvcjogI2U4MTEyMzsKICBmbG9hdDogbGVmdDsKICBmb250LXNpemU6IDE2cHg7CiAgZm9udC13ZWlnaHQ6IDgwMDsKICBtYXJnaW4tbGVmdDogMDsKICBtYXJnaW4tcmlnaHQ6IDZweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdG9wOiAtNHB4Owp9Ci50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRhaW5lciAudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250ZW50cyAuZHJvcGRvd24tY29udGVudCAuY2FydF9saXN0IC5taW5pX2NhcnRfaXRlbSAuYXR0YWNobWVudC1zaG9wX3RodW1ibmFpbCB7CiAgd2lkdGg6IDY0cHg7Cn0KLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGFpbmVyIC50b3AtbmF2LW1pbmktY2FydC1pY29uLWNvbnRlbnRzOmhvdmVyIHsKICBjb2xvcjogIzg4ODsKfQoudG9wLW5hdi1taW5pLWNhcnQtaWNvbi1jb250YWluZXIgLnRvcC1uYXYtbWluaS1jYXJ0LWljb24tY29udGVudHM6aG92ZXIgLmRyb3Bkb3duLWNvbnRlbnQgewogIG9wYWNpdHk6IDE7CiAgdmlzaWJpbGl0eTogdmlzaWJsZTsKfQovKgogKiBibG9nLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmJsb2ctcG9zdHMgLnBvc3QgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouYmxvZy1wb3N0cyAucG9zdCAuZW50cnktdGl0bGUgewogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLmJsb2ctcG9zdHMgLnBvc3QgLnBvc3QtdGh1bWIgewogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5ibG9nLXBvc3RzIC5wb3N0IC5lbnRyeS1jb250ZW50IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmJsb2ctcG9zdHMgLnBvc3QgLmVudHJ5LWNvbnRlbnQgLnBvc3QtZGF0ZSwKLmJsb2ctcG9zdHMgLnBvc3QgLmVudHJ5LWNvbnRlbnQgLnBvc3QtdmlzaXRlZCB7CiAgY29sb3I6ICNhOWE5YTk7CiAgZm9udC1zaXplOiAxM3B4Owp9Ci5ibG9nLXBvc3RzIC5wb3N0IC5lbnRyeS1jb250ZW50IC5wb3N0LWRhdGUucmlnaHQgewogIHRvcDogLTEwcHg7CiAgaGVpZ2h0OiA2MHB4OwogIHBhZGRpbmc6IDZweCA4cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogNjBweDsKfQouYmxvZy1wb3N0cyAucG9zdCAuZW50cnktY29udGVudCAucG9zdC1kYXRlIHsKICBiYWNrZ3JvdW5kOiAjMjIyMjIyIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBhZGRpbmc6IDBweCAxNHB4OwogIHRvcDogMDsKfQouYmxvZy1wb3N0cyAucG9zdCAuZW50cnktY29udGVudCB1bCBsaSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBtYXJnaW4tdG9wOiAwOwp9Ci5ibG9nLXBvc3RzIC5wb3N0IC5lbnRyeS1tZXRhIHNwYW4gaSB7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7Cn0KLmJsb2ctcG9zdHMgLnBvc3QgLmVudHJ5LW1ldGEgc3BhbiB7CiAgZm9udC1zaXplOiAxMnB4OwogIG1hcmdpbi1yaWdodDogMTVweDsKfQouYmxvZy1wb3N0cyAucG9zdCAucG9zdC1kYXRlIHAsCi5ibG9nLXBvc3RzIC5wb3N0IC5wb3N0LWRhdGUgYSB7CiAgZm9udC1zaXplOiAxNHB4OwogIGNvbG9yOiAjYTlhOWE5Owp9Ci5ibG9nLXBvc3RzIC5wb3N0IC5wb3N0LWRhdGUgYTpob3ZlciB7CiAgY29sb3I6ICMzMzMzMzM7Cn0KLmJsb2ctcG9zdHMgLnBvc3QgLmxpa2UtY29tbWVudCBsaSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBtYXJnaW4tdG9wOiAwOwp9Ci5ibG9nLXBvc3RzIC5wb3N0IC5wb3N0LXRodW1iIC5vd2wtZG90cyB7CiAgYm90dG9tOiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMTBweDsKfQouYmxvZy1wb3N0cyAucG9zdCAucG9zdC10aHVtYiAub3dsLWRvdHMgLm93bC1kb3Qgc3BhbiB7CiAgYm9yZGVyLXJhZGl1czogNTAlOwogIGhlaWdodDogMTBweDsKICB3aWR0aDogMTBweDsKfQoubGlrZS1jb21tZW50IGxpIGkgewogIGZvbnQtc2l6ZTogMjBweDsKICBtYXJnaW4tcmlnaHQ6IDNweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5saWtlLWNvbW1lbnQuc21hbGwtZm9udCBsaSBpIHsKICBmb250LXNpemU6IDE2cHg7Cn0KLmJsb2ctcHVsbC1yaWdodCB7CiAgZmxvYXQ6IHJpZ2h0Owp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAuYmxvZy1wdWxsLXJpZ2h0IHsKICAgIGZsb2F0OiBub25lOwogIH0KfQoubWVkaWEtcG9zdCAucG9zdC10aHVtYiB7CiAgZmxvYXQ6IGxlZnQ7CiAgbWFyZ2luOiAwIDEwcHggMTBweCAwOwp9Ci5tZWRpYS1wb3N0IC5wb3N0LXJpZ2h0IHsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5tZWRpYS1wb3N0IC5wb3N0LXRpdGxlIGEgewogIGZvbnQtc2l6ZTogMTNweDsKICBsZXR0ZXItc3BhY2luZzogMXB4Owp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsKICAuYmxvZy1wb3N0cyAucG9zdCB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIH0KfQovKiAtLS0tLS0tLSBFbnRyeS1NZXRhIEFic29sdXRlIC0tLS0tLS0tLS0gKi8KLnBvc3QgLmVudHJ5LWhlYWRlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLnBvc3QgLmVudHJ5LW1ldGEubWV0YS1hYnNvbHV0ZSB7CiAgaGVpZ2h0OiAxMDAlOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IDA7Cn0KLnBvc3QgLmVudHJ5LW1ldGEubWV0YS1hYnNvbHV0ZSBpIHsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXNpemU6IDI4cHg7Cn0KLnBvc3QgLmVudHJ5LWhlYWRlciAuZW50cnktZGF0ZSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKfQoucG9zdC1vdmVybGF5OjphZnRlciB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxMDAlOwogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTEwMCU7CiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0IDBzOwogIHdpZHRoOiAxMDAlOwp9Ci5wb3N0OmhvdmVyIC5wb3N0LW92ZXJsYXk6OmFmdGVyIHsKICBvcGFjaXR5OiAxOwogIHRvcDogMDsKfQoucG9zdCAuZW50cnktaGVhZGVyIC5wb3N0LWxpbmsgewogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgbGVmdDogMDsKICByaWdodDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IGF1dG87CiAgdG9wOiAwOwogIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsKICBvcGFjaXR5OiAwOwp9Ci5wb3N0OmhvdmVyIC5lbnRyeS1oZWFkZXIgLnBvc3QtbGluayB7CiAgb3BhY2l0eTogMTsKICB0b3A6IDQ1JTsKfQoucG9zdCAuZW50cnktaGVhZGVyIC5wb3N0LWxpbmsgYSB7CiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgaGVpZ2h0OiAzMnB4OwogIGxpbmUtaGVpZ2h0OiAzMnB4OwogIHdpZHRoOiAzMnB4Owp9Ci5wb3N0IC5lbnRyeS1oZWFkZXIgLnBvc3QtbGluayBpIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDE0cHg7Cn0KLnBvc3QgLmVudHJ5LWhlYWRlciAucG9zdC1saW5rIGE6aG92ZXIgaSB7CiAgY29sb3I6ICNmZmY7Cn0KLyogLS0tLS0tLS0gQmxvZyBTaW5nbGUgLS0tLS0tLS0tLSAqLwouc2luZ2xlLXBvc3QgYXJ0aWNsZSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkM2QzZDM7CiAgbWFyZ2luLWJvdHRvbTogMjBweDsKICBwYWRkaW5nLWJvdHRvbTogMzBweDsKfQouc2luZ2xlLXBvc3QgYXJ0aWNsZSAuZW50cnktdGl0bGUgewogIGZvbnQtZmFtaWx5OiAiT3BlbiBTYW5zIiwgc2Fucy1zZXJpZjsKICBwYWRkaW5nOiAxNXB4IDAgMDsKICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsKfQouc2luZ2xlLXBvc3QgLmVudHJ5LWNvbnRlbnQgewogIGJvcmRlcjogbm9uZTsKfQouc2luZ2xlLXBvc3QgLmF1dGhvci1kZXRhaWxzIHsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2QzZDNkMzsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzZDNkMzsKICBtYXJnaW46IDIwcHggMDsKICBwYWRkaW5nOiAyMHB4IDA7Cn0KLnNpbmdsZS1wb3N0IC5wb3N0LXNoYXJlIHVsIHsKICBtYXJnaW4tYm90dG9tOiAxNXB4Owp9Ci5zaW5nbGUtcG9zdCAucG9zdC1zaGFyZSB1bCBsaSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbi1yaWdodDogNXB4Owp9Ci5zaW5nbGUtcG9zdCAucG9zdC1zaGFyZSB1bCBsaSBhIHsKICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICNlZWVlZWU7CiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5zaW5nbGUtcG9zdCAucG9zdC1zaGFyZSB1bCBsaSBhIGkgewogIGNvbG9yOiAjNTU1NTU1Owp9Ci5zaW5nbGUtcG9zdCAucG9zdC1zaGFyZSB1bCBsaSBhOmhvdmVyIGkgewogIGNvbG9yOiAjMTExMTExOwp9Ci5zaW5nbGUtcG9zdCAubWVkaWEtaGVhZGluZyB7CiAgbWFyZ2luLWJvdHRvbTogNXB4OwogIG1hcmdpbi10b3A6IDA7Cn0KLnNpbmdsZS1wb3N0IC5jb21tZW50cy10aXRsZSB7CiAgbWFyZ2luLWJvdHRvbTogMTVweDsKfQouc2luZ2xlLXBvc3QgLmNvbW1lbnQtbGlzdCB7CiAgcGFkZGluZy1sZWZ0OiAwOwp9Ci5zaW5nbGUtcG9zdCAuY29tbWVudC1saXN0IGg2IHsKICBmb250LWZhbWlseTogaGVsdmV0aWNhOwp9Ci5zaW5nbGUtcG9zdCAuY29tbWVudC1saXN0IGxpIHsKICBsaXN0LXN0eWxlOiBub25lOwp9Ci5zaW5nbGUtcG9zdCAuY29tbWVudC1saXN0IC5jb21tZW50LWF1dGhvciB7CiAgbWFyZ2luLXRvcDogMzBweDsKfQouc2luZ2xlLXBvc3QgLmNvbW1lbnQtbGlzdCAuY29tbWVudC1kYXRlLAouc2luZ2xlLXBvc3QgLmNvbW1lbnQtbGlzdCAuY29tbWVudC1oZWFkaW5nIHsKICBmb250LXNpemU6IDEzcHg7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggaDQgewogIG1hcmdpbi1ib3R0b206IDE1cHg7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggLmZvcm0tZ3JvdXAgaW5wdXQgewogIGJvcmRlci1yYWRpdXM6IDA7CiAgaGVpZ2h0OiA0NXB4OwogIG1hcmdpbi1ib3R0b206IDI4cHg7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggLmZvcm0tZ3JvdXAgdGV4dGFyZWEgewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggI2NvbW1lbnQtZm9ybSBidXR0b24uYnRuIHsKICBtYXJnaW4tcmlnaHQ6IDA7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggLmJ0bi1wcmltYXJ5IHsKICBtYXJnaW4tcmlnaHQ6IDA7Cn0KLnNpbmdsZS1wb3N0IC5yZXBseS1ib3ggLnRhZ2xpbmUgewogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDNkM2QzOwp9Ci5yZXBseS1ib3ggLmZvcm0tZ3JvdXAgaW5wdXQgewogIGJvcmRlci1yYWRpdXM6IDA7CiAgaGVpZ2h0OiA0NXB4OwogIG1hcmdpbi1ib3R0b206IDMwcHg7Cn0KLnBvc3QgLmVudHJ5LWNvbnRlbnQgewogIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsKfQoucG9zdDpob3ZlciAuZW50cnktY29udGVudCB7CiAgYm94LXNoYWRvdzogMnB4IDEwcHggMjhweCAtMTVweCAjYWFhOwp9Ci5ibG9nLXBvc3RzLnNpbmdsZS1wb3N0IC5wb3N0IC5lbnRyeS1jb250ZW50IHsKICBib3JkZXI6IG1lZGl1bSBub25lOwp9Ci5ibG9nLXBvc3RzLnNpbmdsZS1wb3N0IC5wb3N0OmhvdmVyIC5lbnRyeS1jb250ZW50IHsKICBib3gtc2hhZG93OiBub25lOwp9Ci8qCiAqIHNob3J0Y29kZS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qCiAqIFNob3J0Y29kZTogQWxlcnRzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyoKICogU2hvcnRjb2RlOiBCdXR0b25zLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogLS0tLS0tLS0gQnRuLURlZmF1bHQgLS0tLS0tLS0tLSAqLwouYnRuLWRlZmF1bHQgewogIGNvbG9yOiAjMzMzOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjY2NjOwp9Ci5idG4tZGVmYXVsdDpmb2N1cywKLmJ0bi1kZWZhdWx0LmZvY3VzIHsKICBjb2xvcjogIzMzMzsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OwogIGJvcmRlci1jb2xvcjogIzhjOGM4YzsKfQouYnRuLWRlZmF1bHQ6aG92ZXIgewogIGNvbG9yOiAjMzMzOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjYWRhZGFkOwp9Ci5idG4tZGVmYXVsdDphY3RpdmUsCi5idG4tZGVmYXVsdC5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdCB7CiAgY29sb3I6ICMzMzM7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICNhZGFkYWQ7Cn0KLmJ0bi1kZWZhdWx0OmFjdGl2ZTpob3ZlciwKLmJ0bi1kZWZhdWx0LmFjdGl2ZTpob3ZlciwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0OmhvdmVyLAouYnRuLWRlZmF1bHQ6YWN0aXZlOmZvY3VzLAouYnRuLWRlZmF1bHQuYWN0aXZlOmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHQ6Zm9jdXMsCi5idG4tZGVmYXVsdDphY3RpdmUuZm9jdXMsCi5idG4tZGVmYXVsdC5hY3RpdmUuZm9jdXMsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdC5mb2N1cyB7CiAgY29sb3I6ICMzMzM7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDsKICBib3JkZXItY29sb3I6ICM4YzhjOGM7Cn0KLmJ0bi1kZWZhdWx0OmFjdGl2ZSwKLmJ0bi1kZWZhdWx0LmFjdGl2ZSwKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kZWZhdWx0IHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tZGVmYXVsdC5kaXNhYmxlZDpob3ZlciwKLmJ0bi1kZWZhdWx0W2Rpc2FibGVkXTpob3ZlciwKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGVmYXVsdDpob3ZlciwKLmJ0bi1kZWZhdWx0LmRpc2FibGVkOmZvY3VzLAouYnRuLWRlZmF1bHRbZGlzYWJsZWRdOmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kZWZhdWx0OmZvY3VzLAouYnRuLWRlZmF1bHQuZGlzYWJsZWQuZm9jdXMsCi5idG4tZGVmYXVsdFtkaXNhYmxlZF0uZm9jdXMsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRlZmF1bHQuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjY2NjOwp9Ci5idG4tZGVmYXVsdCAuYmFkZ2UgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMzMzM7Cn0KLmJ0bi1kZWZhdWx0OmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGJvcmRlci1jb2xvcjogI2VlZWVlZTsKfQovKiAtLS0tLS0tLSBCdG4tQm9yZGVyIC0tLS0tLS0tLS0gKi8KLmJ0bi1ib3JkZXIgewogIGNvbG9yOiAjMjIyMjIyOwogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjMjIyMjIyOwp9Ci5idG4tYm9yZGVyOmZvY3VzLAouYnRuLWJvcmRlci5mb2N1cyB7CiAgY29sb3I6ICMyMjIyMjI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICMwMDAwMDA7Cn0KLmJ0bi1ib3JkZXI6aG92ZXIgewogIGNvbG9yOiAjMjIyMjIyOwogIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7CiAgYm9yZGVyLWNvbG9yOiAjMDQwNDA0Owp9Ci5idG4tYm9yZGVyOmFjdGl2ZSwKLmJ0bi1ib3JkZXIuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWJvcmRlciB7CiAgY29sb3I6ICMyMjIyMjI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsKICBib3JkZXItY29sb3I6ICMwNDA0MDQ7Cn0KLmJ0bi1ib3JkZXI6YWN0aXZlOmhvdmVyLAouYnRuLWJvcmRlci5hY3RpdmU6aG92ZXIsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tYm9yZGVyOmhvdmVyLAouYnRuLWJvcmRlcjphY3RpdmU6Zm9jdXMsCi5idG4tYm9yZGVyLmFjdGl2ZTpmb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ib3JkZXI6Zm9jdXMsCi5idG4tYm9yZGVyOmFjdGl2ZS5mb2N1cywKLmJ0bi1ib3JkZXIuYWN0aXZlLmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWJvcmRlci5mb2N1cyB7CiAgY29sb3I6ICMyMjIyMjI7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Q0ZDRkNDsKICBib3JkZXItY29sb3I6ICMwMDAwMDA7Cn0KLmJ0bi1ib3JkZXI6YWN0aXZlLAouYnRuLWJvcmRlci5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tYm9yZGVyIHsKICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOwp9Ci5idG4tYm9yZGVyLmRpc2FibGVkOmhvdmVyLAouYnRuLWJvcmRlcltkaXNhYmxlZF06aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWJvcmRlcjpob3ZlciwKLmJ0bi1ib3JkZXIuZGlzYWJsZWQ6Zm9jdXMsCi5idG4tYm9yZGVyW2Rpc2FibGVkXTpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tYm9yZGVyOmZvY3VzLAouYnRuLWJvcmRlci5kaXNhYmxlZC5mb2N1cywKLmJ0bi1ib3JkZXJbZGlzYWJsZWRdLmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ib3JkZXIuZm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjMjIyMjIyOwp9Ci5idG4tYm9yZGVyIC5iYWRnZSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjIyMjsKfQouYnRuLWJvcmRlciB7CiAgYm9yZGVyLXdpZHRoOiAycHg7Cn0KLmJ0bi1ib3JkZXI6aG92ZXIsCi5idG4tYm9yZGVyOmFjdGl2ZSwKLmJ0bi1ib3JkZXI6Zm9jdXMgewogIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjI7CiAgYm9yZGVyLWNvbG9yOiAjMjIyMjIyOwogIGNvbG9yOiAjZmZmOwp9Ci8qIC0tLS0tLS0tIEJ0bi1EYXJrIC0tLS0tLS0tLS0gKi8KLmJ0bi1kYXJrIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOwogIGJvcmRlci1jb2xvcjogIzIyMjIyMjsKfQouYnRuLWRhcms6Zm9jdXMsCi5idG4tZGFyay5mb2N1cyB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzA5MDkwOTsKICBib3JkZXItY29sb3I6ICMwMDAwMDA7Cn0KLmJ0bi1kYXJrOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDkwOTA5OwogIGJvcmRlci1jb2xvcjogIzA0MDQwNDsKfQouYnRuLWRhcms6YWN0aXZlLAouYnRuLWRhcmsuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwOTA5MDk7CiAgYm9yZGVyLWNvbG9yOiAjMDQwNDA0Owp9Ci5idG4tZGFyazphY3RpdmU6aG92ZXIsCi5idG4tZGFyay5hY3RpdmU6aG92ZXIsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFyazpob3ZlciwKLmJ0bi1kYXJrOmFjdGl2ZTpmb2N1cywKLmJ0bi1kYXJrLmFjdGl2ZTpmb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1kYXJrOmZvY3VzLAouYnRuLWRhcms6YWN0aXZlLmZvY3VzLAouYnRuLWRhcmsuYWN0aXZlLmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWRhcmsuZm9jdXMgewogIGNvbG9yOiAjZmZmOwogIGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7CiAgYm9yZGVyLWNvbG9yOiAjMDAwMDAwOwp9Ci5idG4tZGFyazphY3RpdmUsCi5idG4tZGFyay5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGFyayB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQouYnRuLWRhcmsuZGlzYWJsZWQ6aG92ZXIsCi5idG4tZGFya1tkaXNhYmxlZF06aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWRhcms6aG92ZXIsCi5idG4tZGFyay5kaXNhYmxlZDpmb2N1cywKLmJ0bi1kYXJrW2Rpc2FibGVkXTpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZGFyazpmb2N1cywKLmJ0bi1kYXJrLmRpc2FibGVkLmZvY3VzLAouYnRuLWRhcmtbZGlzYWJsZWRdLmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1kYXJrLmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyMjIyOwogIGJvcmRlci1jb2xvcjogIzIyMjIyMjsKfQouYnRuLWRhcmsgLmJhZGdlIHsKICBjb2xvcjogIzIyMjIyMjsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwp9Ci8qIC0tLS0tLS0tIEJ0bi1HcmF5IC0tLS0tLS0tLS0gKi8KLmJ0bi1ncmF5IHsKICBjb2xvcjogIzMzMzMzMzsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGJvcmRlci1jb2xvcjogI2VlZWVlZTsKfQouYnRuLWdyYXk6Zm9jdXMsCi5idG4tZ3JheS5mb2N1cyB7CiAgY29sb3I6ICMzMzMzMzM7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Q1ZDVkNTsKICBib3JkZXItY29sb3I6ICNhZmFmYWY7Cn0KLmJ0bi1ncmF5OmhvdmVyIHsKICBjb2xvcjogIzMzMzMzMzsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1OwogIGJvcmRlci1jb2xvcjogI2QwZDBkMDsKfQouYnRuLWdyYXk6YWN0aXZlLAouYnRuLWdyYXkuYWN0aXZlLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkgewogIGNvbG9yOiAjMzMzMzMzOwogIGJhY2tncm91bmQtY29sb3I6ICNkNWQ1ZDU7CiAgYm9yZGVyLWNvbG9yOiAjZDBkMGQwOwp9Ci5idG4tZ3JheTphY3RpdmU6aG92ZXIsCi5idG4tZ3JheS5hY3RpdmU6aG92ZXIsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheTpob3ZlciwKLmJ0bi1ncmF5OmFjdGl2ZTpmb2N1cywKLmJ0bi1ncmF5LmFjdGl2ZTpmb2N1cywKLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1ncmF5OmZvY3VzLAouYnRuLWdyYXk6YWN0aXZlLmZvY3VzLAouYnRuLWdyYXkuYWN0aXZlLmZvY3VzLAoub3BlbiA+IC5kcm9wZG93bi10b2dnbGUuYnRuLWdyYXkuZm9jdXMgewogIGNvbG9yOiAjMzMzMzMzOwogIGJhY2tncm91bmQtY29sb3I6ICNjM2MzYzM7CiAgYm9yZGVyLWNvbG9yOiAjYWZhZmFmOwp9Ci5idG4tZ3JheTphY3RpdmUsCi5idG4tZ3JheS5hY3RpdmUsCi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZ3JheSB7CiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsKfQouYnRuLWdyYXkuZGlzYWJsZWQ6aG92ZXIsCi5idG4tZ3JheVtkaXNhYmxlZF06aG92ZXIsCmZpZWxkc2V0W2Rpc2FibGVkXSAuYnRuLWdyYXk6aG92ZXIsCi5idG4tZ3JheS5kaXNhYmxlZDpmb2N1cywKLmJ0bi1ncmF5W2Rpc2FibGVkXTpmb2N1cywKZmllbGRzZXRbZGlzYWJsZWRdIC5idG4tZ3JheTpmb2N1cywKLmJ0bi1ncmF5LmRpc2FibGVkLmZvY3VzLAouYnRuLWdyYXlbZGlzYWJsZWRdLmZvY3VzLApmaWVsZHNldFtkaXNhYmxlZF0gLmJ0bi1ncmF5LmZvY3VzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGJvcmRlci1jb2xvcjogI2VlZWVlZTsKfQouYnRuLWdyYXkgLmJhZGdlIHsKICBjb2xvcjogI2VlZWVlZTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOwp9Ci5idG4tY2lyY2xlZCB7CiAgYm9yZGVyLXJhZGl1czogMjVweDsKfQouYnRuLWZsYXQgewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLyogLS0tLS0tLS0gQnRuLURlZmF1bHQgLS0tLS0tLS0tLSAqLwouYnRuIHsKICBmb250LXNpemU6IDE0cHg7CiAgcGFkZGluZzogOHB4IDIycHg7CiAgbGluZS1oZWlnaHQ6IDEuMzg7Cn0KLyogLS0tLS0tLS0gQnRuLXhzIC0tLS0tLS0tLS0gKi8KLmJ0bi14cyB7CiAgZm9udC1zaXplOiAxMXB4OwogIHBhZGRpbmc6IDNweCAxNHB4Owp9Ci8qIC0tLS0tLS0tIEJ0bi1zbSAtLS0tLS0tLS0tICovCi5idG4tc20gewogIGZvbnQtc2l6ZTogMTJweDsKICBwYWRkaW5nOiA1cHggMTdweDsKfQovKiAtLS0tLS0tLSBCdG4tbGcgLS0tLS0tLS0tLSAqLwouYnRuLWxnIHsKICBmb250LXNpemU6IDE0cHg7CiAgcGFkZGluZzogMTBweCAyNnB4Owp9Ci8qIC0tLS0tLS0tIEJ0bi14bCAtLS0tLS0tLS0tICovCi5idG4teGwgewogIGZvbnQtc2l6ZTogMTZweDsKICBwYWRkaW5nOiAxM3B4IDMycHg7Cn0KLyogLS0tLS0tLS0gQnRuLXRyYW5zcGFyZW50IC0tLS0tLS0tLS0gKi8KLmJ0bi10cmFuc3BhcmVudCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgY29sb3I6ICNmZmY7Cn0KLmh2ci1zaHV0dGVyLW91dC1ob3Jpem9udGFsOjpiZWZvcmUgewogIGJhY2tncm91bmQ6ICMwMDA7Cn0KLyoKICogQmxvY2txdW90ZS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCmJsb2NrcXVvdGUgewogIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2VlZWVlZTsKICBtYXJnaW46IDIwcHggMDsKICBwYWRkaW5nOiAzMHB4Owp9CmJsb2NrcXVvdGUuZ3JheSB7CiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjNjY2NjY2OwogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7CiAgY29sb3I6ICMzMzMzMzM7Cn0KYmxvY2txdW90ZS5ncmF5LmJnLXRoZW1lLWNvbG9yZWQgewogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7Cn0KYmxvY2txdW90ZS5kYXJrIHsKICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMzYzNjM2M7CiAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NTsKICBjb2xvcjogI2ZmZjsKfQpibG9ja3F1b3RlLmRhcmsgZm9vdGVyIHsKICBjb2xvcjogI2QzZDNkMzsKfQpibG9ja3F1b3RlIHAgewogIGZvbnQtZmFtaWx5OiAiUGxheWZhaXIgRGlzcGxheSIsIHNlcmlmOwogIGZvbnQtc2l6ZTogMTZweDsKICBmb250LXN0eWxlOiBpdGFsaWM7Cn0KLyoKICogU2hvcnRjb2RlOiBjbGllbnRzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmNsaWVudHMtbG9nbyAuaXRlbSB7CiAgYmFja2dyb3VuZDogI2VlZWVlZTsKICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50OwogIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggI2ZmZmZmZjsKICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIHBhZGRpbmc6IDEwcHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKfQouY2xpZW50cy1sb2dvIGltZyB7CiAgbWF4LWhlaWdodDogOTBweDsKICB3aWR0aDogYXV0bzsKICBkaXNwbGF5OiBpbmxpbmU7CiAgb3BhY2l0eTogMC42Owp9Ci5jbGllbnRzLWxvZ28gaW1nOmhvdmVyIHsKICBvcGFjaXR5OiAxOwp9Ci5jbGllbnRzLWxvZ28uY2Fyb3VzZWwgewogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouY2xpZW50cy1sb2dvLmNhcm91c2VsIC5pdGVtIHsKICBib3gtc2hhZG93OiBub25lOwogIG1hcmdpbjogMCAxMHB4Owp9Ci5jbGllbnRzLWxvZ28uc3R5bGUyIC5pdGVtIHsKICBib3gtc2hhZG93OiBub25lOwp9Ci5jbGllbnRzLWxvZ28uc3R5bGUyIC5pdGVtIGltZyB7CiAgbWF4LWhlaWdodDogMTIwcHg7Cn0KLmNsaWVudC1pbWcgewogIG9wYWNpdHk6IDAuNjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlIDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZSAwczsKfQouY2xpZW50LWltZzpob3ZlciB7CiAgb3BhY2l0eTogMTsKfQouY2xpZW50LWltZyBpbWcgewogIG1heC1oZWlnaHQ6IDkwcHg7Cn0KLmNsaWVudHMtbG9nby5jYXJvdXNlbCB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jbGllbnRzLWxvZ28uY2Fyb3VzZWwgLml0ZW0gewogIGJveC1zaGFkb3c6IG5vbmU7CiAgbWFyZ2luOiAwIDEwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBDb3VudGRvd24ubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouY291bnRkb3duLXRpbWVyIGxpIHsKICBjb2xvcjogIzgwODA4MDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgcGFkZGluZzogMzBweCAyMHB4OwogIGJhY2tncm91bmQtY29sb3I6ICNmMWYxZjE7CiAgbWFyZ2luLXJpZ2h0OiAxNXB4OwogIGZvbnQtc2l6ZTogNDBweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgbWluLXdpZHRoOiAxMjBweDsKICBtaW4taGVpZ2h0OiAxMjBweDsKfQouY291bnRkb3duLXRpbWVyIGxpIHNwYW4gewogIGNvbG9yOiAjYzBjMGMwOwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMTVweDsKICBtYXJnaW4tdG9wOiA1cHg7Cn0KLmNvdW50ZG93bi10aW1lci50aW1lci1ib3ggewogIHBhZGRpbmc6IDIwcHg7CiAgcGFkZGluZy10b3A6IDQwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jb3VudGRvd24tdGltZXIudGltZXItYm94IGxpIHsKICBjb2xvcjogI2ZmZjsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpOwogIG1hcmdpbi1ib3R0b206IDE1cHg7Cn0KLmNvdW50ZG93bi10aW1lci50aW1lci1ib3ggbGkgc3BhbiB7CiAgY29sb3I6ICNlZWVlZWU7Cn0KLmNvdW50ZG93bi10aW1lci50aW1lci1kZWVwLWJnIGxpIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDUpOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAudGltZXItcmVzcG9uc2l2ZSBsaSB7CiAgICBtYXJnaW4tdG9wOiAzMHB4OwogICAgZm9udC1zaXplOiAyMHB4OwogICAgbWluLXdpZHRoOiA2MHB4OwogICAgbWluLWhlaWdodDogNjBweDsKICAgIHBhZGRpbmc6IDIwcHggMTBweDsKICB9CiAgLmNvdW50ZG93bi10aW1lciBsaSBzcGFuIHsKICAgIGZvbnQtc2l6ZTogMTJweDsKICB9Cn0KLyoKICogU2hvcnRjb2RlOiBDb3VudGRvd24tVGltZXIubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKgogKiBTaG9ydGNvZGU6IERpdmlkZXJzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmRpdmlkZXIsCi5wYXJhbGxheCB7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyOwogIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDsKICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgYm94LXNpemluZzogYm9yZGVyLWJveDsKICBkaXNwbGF5OiBibG9jazsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB3aWR0aDogMTAwJTsKfQovKiAtLS0tLS0tLSBQYXJhbGxheCAtLS0tLS0tLS0tICovCi5wYXJhbGxheCB7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIG1hcmdpbjogMCBhdXRvOwogIGJhY2tncm91bmQtc2l6ZTogY292ZXI7CiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsKICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXk7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIGNlbnRlcjsKfQoubW9iaWxlLXBhcmFsbGF4IHsKICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOwogIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsOwogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7Cn0KLmRpdmlkZXIgLmNvbnRhaW5lciB7CiAgcGFkZGluZy10b3A6IDIwcHg7CiAgcGFkZGluZy1ib3R0b206IDMwcHg7Cn0KLmRpdmlkZXIgLmNvbnRhaW5lci5zbWFsbC1wYWRkaW5nIHsKICBwYWRkaW5nLXRvcDogMzBweDsKICBwYWRkaW5nLWJvdHRvbTogMzBweDsKfQouZGl2aWRlciAuY29udGFpbmVyLmV4dHJhLXBhZGRpbmcgewogIHBhZGRpbmctdG9wOiAxODBweDsKICBwYWRkaW5nLWJvdHRvbTogMTgwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBGYWNlYm9vay1EaXNxdXMtQ29tbWVudHMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwouZmItY29tbWVudHMsCi5mYl9pZnJhbWVfd2lkZ2V0LAouZmItY29tbWVudHMgPiBzcGFuLAouZmJfaWZyYW1lX3dpZGdldCA+IHNwYW4sCi5mYi1jb21tZW50cyA+IHNwYW4gPiBpZnJhbWUsCi5mYl9pZnJhbWVfd2lkZ2V0ID4gc3BhbiA+IGlmcmFtZSB7CiAgZGlzcGxheTogYmxvY2s7CiAgbWFyZ2luOiAwOwogIHdpZHRoOiAxMDAlOwp9Ci8qCiAqIFNob3J0Y29kZTogZmFxcy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qCiAqIFNob3J0Y29kZTogRmxleHNsaWRlci5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5mbGV4LWNvbnRhaW5lciBhOmFjdGl2ZSwKLmZsZXhzbGlkZXIgYTphY3RpdmUsCi5mbGV4LWNvbnRhaW5lciBhOmZvY3VzLAouZmxleHNsaWRlciBhOmZvY3VzIHsKICBvdXRsaW5lOiBub25lOwogIGJvcmRlcjogbm9uZTsKfQouZmxleC1kaXJlY3Rpb24tbmF2IHsKICBkaXNwbGF5OiBub25lOwp9Ci5mbGV4c2xpZGVyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgYm9yZGVyOiAwOwp9Ci5mbGV4LXZpZXdwb3J0IHsKICBtYXgtaGVpZ2h0OiAyMDAwcHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsKICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZTsKfQouZmxleC1jb250cm9sLW5hdiB7CiAgbWFyZ2luOiAwOwogIHBhZGRpbmc6IDA7CiAgbGlzdC1zdHlsZTogbm9uZTsKICBib3JkZXI6IG5vbmU7CiAgd2lkdGg6IGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHotaW5kZXg6IDEwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICBib3R0b206IDE1cHg7CiAgcmlnaHQ6IDE1cHg7Cn0KLmZsZXgtY29udHJvbC1uYXYgbGkgewogIGZsb2F0OiBsZWZ0OwogIGRpc3BsYXk6IGJsb2NrOwogIG1hcmdpbjogMCAzcHg7CiAgd2lkdGg6IDEwcHg7CiAgaGVpZ2h0OiAxMHB4Owp9Ci5mbGV4LWNvbnRyb2wtbmF2IGxpIGEgewogIGRpc3BsYXk6IGJsb2NrOwogIGN1cnNvcjogcG9pbnRlcjsKICB0ZXh0LWluZGVudDogLTk5OTlweDsKICB3aWR0aDogMTBweDsKICBoZWlnaHQ6IDEwcHg7CiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDsKfQouZmxleC1jb250cm9sLW5hdiBsaTpob3ZlciBhLAouZmxleC1jb250cm9sLW5hdiBsaSBhLmZsZXgtYWN0aXZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwp9Ci8qCiAqIFNob3J0Y29kZTogRmxpcCBCb3gKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmNhcmQgewogIGZsb2F0OiBsZWZ0OwogIG1pbi1oZWlnaHQ6IDMwMHB4OwogIHBhZGRpbmctYm90dG9tOiAyNSU7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB3aWR0aDogMTAwJTsKfQouY2FyZDpudGgtY2hpbGQoMSkgewogIG1hcmdpbi1sZWZ0OiAtM3B4OwogIG1hcmdpbi1yaWdodDogMXB4Owp9Ci5jYXJkOm50aC1jaGlsZCgxKSwKLmNhcmQgLmNhcmQ6bnRoLWNoaWxkKDMpIHsKICBtYXJnaW4tcmlnaHQ6IDFweDsKfQouY2FyZCAuY2FyZF9fZnJvbnQsCi5jYXJkIC5jYXJkX19iYWNrIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwogIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOwogIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7Cn0KLmNhcmQgLmNhcmRfX2JhY2sgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsKfQouY2FyZCAuY2FyZF9fdGV4dCB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgcmlnaHQ6IDA7CiAgYm90dG9tOiAwOwogIGxlZnQ6IDA7CiAgbWFyZ2luOiBhdXRvOwogIGxpbmUtaGVpZ2h0OiAyMHB4Owp9Ci5jYXJkLmVmZmVjdF9faG92ZXI6aG92ZXIgLmNhcmRfX2Zyb250IHsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7Cn0KLmNhcmQuZWZmZWN0X19ob3Zlcjpob3ZlciAuY2FyZF9fYmFjayB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoMCk7CiAgdHJhbnNmb3JtOiByb3RhdGVZKDApOwp9Ci5jYXJkLmVmZmVjdF9fY2xpY2suZmxpcHBlZCAuY2FyZF9fZnJvbnQgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlWSgtMTgwZGVnKTsKfQouY2FyZC5lZmZlY3RfX2NsaWNrLmZsaXBwZWQgLmNhcmRfX2JhY2sgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDApOwogIHRyYW5zZm9ybTogcm90YXRlWSgwKTsKfQouY2FyZC5lZmZlY3RfX3JhbmRvbS5mbGlwcGVkIC5jYXJkX19mcm9udCB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTE4MGRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGVZKC0xODBkZWcpOwp9Ci5jYXJkLmVmZmVjdF9fcmFuZG9tLmZsaXBwZWQgLmNhcmRfX2JhY2sgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDApOwogIHRyYW5zZm9ybTogcm90YXRlWSgwKTsKfQovKgogKiBSZXNwb25zaXZlIDogRmxpcCBCb3gKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5jYXJkIHsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICBtaW4taGVpZ2h0OiA0ODlweDsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA1MDFweCkgYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7CiAgLmNhcmQgewogICAgbWFyZ2luLWJvdHRvbTogMzBweDsKICAgIG1pbi1oZWlnaHQ6IDQwMHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ1MHB4KSBhbmQgKG1heC13aWR0aDogNTAwcHgpIHsKICAuY2FyZCB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogICAgbWluLWhlaWdodDogMzUwcHg7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0NDlweCkgewogIC5jYXJkIHsKICAgIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgICBtaW4taGVpZ2h0OiAzMDBweDsKICB9Cn0KLyoKICogU2hvcnRjb2RlOiBmdW5mYWN0cy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5mdW5mYWN0IHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsKICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOwp9Ci5mdW5mYWN0LmJvcmRlciB7CiAgYm9yZGVyOiAxcHggc29saWQgI2QzZDNkMzsKfQouZnVuZmFjdC5uby1ib3JkZXIgewogIGJvcmRlcjogMDsKfQouZnVuZmFjdC5ib3JkZXIgewogIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7Cn0KLmZ1bmZhY3QgaSB7CiAgZm9udC1zaXplOiA0NXB4Owp9Ci5mdW5mYWN0IGgyIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmZ1bmZhY3QgaDI6YWZ0ZXIgewogIGJvdHRvbTogMDsKfQouZnVuZmFjdCAuYW5pbWF0ZS1udW1iZXIgewogIGxpbmUtaGVpZ2h0OiAxOwp9Ci8qIGZ1bmZhY3Qgc3R5bGUtMSovCi5mdW5mYWN0LnN0eWxlLTEgaSwKLmZ1bmZhY3Quc3R5bGUtMSAuZnVuZmFjdC10aXRsZSB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsKfQouZnVuZmFjdC5zdHlsZS0xIC5mdW5mYWN0LXRpdGxlIHsKICBjb2xvcjogIzk5OTk5OTsKICBmb250LXNpemU6IDE0cHg7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKfQouZnVuZmFjdC5zdHlsZS0xOmhvdmVyIGkgewogIGZvbnQtc2l6ZTogNDBweDsKICBvcGFjaXR5OiAwLjM7Cn0KLmZ1bmZhY3Quc3R5bGUtMTpob3ZlciAuZnVuZmFjdC10aXRsZSB7CiAgY29sb3I6ICMzMzMzMzM7Cn0KLyoKICogU2hvcnRjb2RlOiBJY29uIEJveGVzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5pY29uLWJveCB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQouaWNvbi1ib3ggLmljb24gewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IDcwcHg7CiAgbWFyZ2luLWJvdHRvbTogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIHdpZHRoOiA3MHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouaWNvbi1ib3ggLmljb24gaSB7CiAgbGluZS1oZWlnaHQ6IDcwcHg7Cn0KLmljb24tYm94IC5pY29uLmljb24tZ3JheSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZTsKICBjb2xvcjogIzU1NTU1NTsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1ncmF5OmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDVkNWQ1OwogIGNvbG9yOiAjYmJiYmJiOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZCB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZTsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1ncmF5Lmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7CiAgY29sb3I6ICM1NTU1NTU7Cn0KLmljb24tYm94IC5pY29uLmljb24tZGFyayB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1kYXJrOmhvdmVyIHsKICBjb2xvcjogIzVlNWU1ZTsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1kYXJrLmljb24tYm9yZGVyZWQgewogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OwogIGJvcmRlcjogMnB4IHNvbGlkICMxMTExMTE7CiAgY29sb3I6ICMxMTExMTE7Cn0KLmljb24tYm94IC5pY29uLmljb24tZGFyay5pY29uLWJvcmRlcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTExMTExOwogIGJvcmRlci1jb2xvcjogIzExMTExMTsKICBjb2xvcjogI2ZmZjsKfQouaWNvbi1ib3ggLmljb24uaWNvbi13aGl0ZSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBjb2xvcjogIzMzMzMzMzsKfQouaWNvbi1ib3ggLmljb24uaWNvbi13aGl0ZTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2IzYjNiMzsKICBjb2xvcjogIzAwMDAwMDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi13aGl0ZS5pY29uLWJvcmRlcmVkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDJweCBzb2xpZCAjZmZmOwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLXdoaXRlLmljb24tYm9yZGVyZWQ6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyLWNvbG9yOiAjZmZmOwogIGNvbG9yOiAjMTExMTExOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLXdoaXRlLmljb24tYm9yZGVyLWVmZmVjdCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLXdoaXRlLmljb24tYm9yZGVyLWVmZmVjdDo6YWZ0ZXIgewogIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjZmZmOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLWJvcmRlcmVkIHsKICBib3JkZXI6IDFweCBzb2xpZCAjNzc3Nzc3Owp9Ci5pY29uLWJveCAuaWNvbi5pY29uLWJvcmRlcmVkOmhvdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3Nzc3OwogIGNvbG9yOiAjZmZmOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLXJvdW5kZWQgewogIGJvcmRlci1yYWRpdXM6IDNweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1jaXJjbGVkIHsKICBib3JkZXItcmFkaXVzOiA1MCU7Cn0KLmljb24tYm94IC5pY29uLmljb24teHMgewogIGhlaWdodDogMzBweDsKICB3aWR0aDogMzBweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi14cyBpIHsKICBmb250LXNpemU6IDE4cHg7CiAgbGluZS1oZWlnaHQ6IDMwcHg7Cn0KLmljb24tYm94IC5pY29uLmljb24tc20gewogIGhlaWdodDogNTBweDsKICB3aWR0aDogNTBweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1zbSBpIHsKICBmb250LXNpemU6IDIycHg7CiAgbGluZS1oZWlnaHQ6IDUwcHg7Cn0KLmljb24tYm94IC5pY29uLmljb24tbWQgewogIGhlaWdodDogNzVweDsKICB3aWR0aDogNzVweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1tZCBpIHsKICBmb250LXNpemU6IDM2cHg7CiAgbGluZS1oZWlnaHQ6IDc1cHg7Cn0KLmljb24tYm94IC5pY29uLmljb24tbGcgewogIGhlaWdodDogOTBweDsKICB3aWR0aDogOTBweDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1sZyBpIHsKICBmb250LXNpemU6IDQ4cHg7CiAgbGluZS1oZWlnaHQ6IDkwcHg7Cn0KLmljb24tYm94IC5pY29uLmljb24teGwgewogIGhlaWdodDogMTIwcHg7CiAgd2lkdGg6IDEyMHB4Owp9Ci5pY29uLWJveCAuaWNvbi5pY29uLXhsIGkgewogIGZvbnQtc2l6ZTogNjBweDsKICBsaW5lLWhlaWdodDogMTIwcHg7Cn0KLmljb24tYm94IC5pY29uLmljb24tYm9yZGVyLWVmZmVjdCB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5pY29uLWJveCAuaWNvbi5pY29uLWJvcmRlci1lZmZlY3Q6OmFmdGVyIHsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IDsKICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogLTRweDsKICBvcGFjaXR5OiAwOwogIHBhZGRpbmc6IDRweDsKICB0b3A6IC00cHg7CiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UgMHMsIG9wYWNpdHkgMC4ycyBlYXNlIDBzOwogIHBvaW50ZXItZXZlbnRzOiBub25lOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTAwJTsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1ib3JkZXItZWZmZWN0LmVmZmVjdC1mbGF0OjphZnRlciB7CiAgYm9yZGVyLXJhZGl1czogMDsKfQouaWNvbi1ib3ggLmljb24uaWNvbi1ib3JkZXItZWZmZWN0LmVmZmVjdC1yb3VuZGVkOjphZnRlciB7CiAgYm9yZGVyLXJhZGl1czogM3B4Owp9Ci5pY29uLWJveCAuaWNvbi5pY29uLWJvcmRlci1lZmZlY3QuZWZmZWN0LWNpcmNsZWQ6OmFmdGVyIHsKICBib3JkZXItcmFkaXVzOiA1MCU7Cn0KLmljb24tYm94IC5pY29uLmljb24tYm9yZGVyLWVmZmVjdC5pY29uLWdyYXk6OmFmdGVyIHsKICBib3gtc2hhZG93OiAwIDAgMCAzcHggI2VlZWVlZTsKfQouaWNvbi1ib3ggLmljb24uaWNvbi10b3AgewogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogLTMycHg7Cn0KLmljb24tYm94IGkgewogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBmb250LXNpemU6IDQwcHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKfQouaWNvbi1ib3ggaVtjbGFzcyo9InBlLTdzLSJdIHsKICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207Cn0KLmljb24tYm94LmxlZnQgewogIHRleHQtYWxpZ246IGxlZnQ7Cn0KLmljb24tYm94LmxlZnQgYSB7CiAgbWFyZ2luLXJpZ2h0OiAzMHB4OwogIHBhZGRpbmc6IDA7Cn0KLmljb24tYm94Lmljb25ib3gtYm9yZGVyIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZGNkY2RjOwp9Ci5pY29uLWJveC5pY29uYm94LWJnIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOwp9Ci5pY29uLWJveC5pY29uYm94LWJnLmljb25ib3gtYmctZGFyayB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsKfQouaWNvbi1ib3guaWNvbi1sZWZ0IC5pY29uIHsKICBmbG9hdDogbGVmdDsKICBtYXJnaW4tcmlnaHQ6IDE1cHg7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5pY29uLWJveC5pY29uLWxlZnQgLmljb24gewogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICAgIG1hcmdpbi1yaWdodDogMDsKICB9Cn0KLmljb24tYm94Lmljb24tbGVmdCAuaWNvbi5uby1iZyB7CiAgd2lkdGg6IGF1dG87CiAgaGVpZ2h0OiBhdXRvOwp9Ci5yb3RhdGUgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA3MDBtcyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgNzAwbXMgZWFzZS1pbi1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDcwMG1zIGVhc2UtaW4tb3V0IDBzOwp9Ci5uby1yb3RhdGUgewogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNzAwbXMgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDcwMG1zIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCA3MDBtcyBlYXNlLWluLW91dCAwczsKfQouaWNvbi1ib3g6aG92ZXIgLmljb24tYm9yZGVyLWVmZmVjdDo6YWZ0ZXIgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQouaWNvbi1ib3ggLmljb24tYm9yZGVyLWVmZmVjdDpob3Zlcjo6YWZ0ZXIgewogIG9wYWNpdHk6IDE7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKfQovKgogKiA1LjAgLT4gSW1nIEljb24gQm94CiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5pbWctaWNvbi1ib3ggewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KSAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpIDBzOwogIHRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSkgMHM7Cn0KLmltZy1pY29uLWJveDpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgY29udGVudDogJyc7CiAgaGVpZ2h0OiAxMDAlOwogIHdpZHRoOiAxMDAlOwogIGRpc3BsYXk6IGJsb2NrOwp9Ci5pbWctaWNvbi1ib3ggaSwKLmltZy1pY29uLWJveCAuaW1nLWljb24tYm94IGgzIHsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSkgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KSAwczsKICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpIDBzOwp9Ci5pbWctaWNvbi1ib3ggLmltZy1pY29uLWRldGFpbHMgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtaW4taGVpZ2h0OiAzMzBweDsKfQouaW1nLWljb24tYm94IC5pbWctaWNvbi1kZXRhaWxzIGkgewogIGNvbG9yOiAjRkZGOwp9Ci5pbWctaWNvbi1ib3ggLmltZy1pY29uLWNvbnRlbnQgewogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgNTAwbXMgY3ViaWMtYmV6aWVyKDAuMTc1LCAwLjg4NSwgMC4zMiwgMS4yNzUpIDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCA1MDBtcyBjdWJpYy1iZXppZXIoMC4xNzUsIDAuODg1LCAwLjMyLCAxLjI3NSkgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDUwMG1zIGN1YmljLWJlemllcigwLjE3NSwgMC44ODUsIDAuMzIsIDEuMjc1KSAwczsKfQouaW1nLWljb24tYm94OmhvdmVyIGkgewogIGZvbnQtc2l6ZTogMDsKfQouaW1nLWljb24tYm94OmhvdmVyIC5pbWctaWNvbi1jb250ZW50IHsKICBvcGFjaXR5OiAxOwp9Ci8qIC0tLS0tLS0tIEljb24gQm94IFNlcnZpY2VzIC0tLS0tLS0tLS0gKi8KLnNlcnZpY2UtaWNvbi1ib3ggewogIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQouc2VydmljZS1pY29uLWJveCBhIHsKICBiYWNrZ3JvdW5kOiAjZWVlZWVlOwogIGNvbG9yOiAjZmZmOwogIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICBoZWlnaHQ6IDcwcHg7CiAgbGluZS1oZWlnaHQ6IDgwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtZGVjb3JhdGlvbjogbm9uZTsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOwogIHdpZHRoOiA3MHB4Owp9Ci5zZXJ2aWNlLWljb24tYm94IGEgaSB7CiAgZm9udC1zaXplOiAyOHB4Owp9Ci5zZXJ2aWNlLWljb24tYm94OmhvdmVyIGEgaSB7CiAgY29sb3I6ICNmZmY7Cn0KLyogLS0tLS0tLS0gRmVhdHVyZXMgU2VydmljZXMgLS0tLS0tLQotLS0gKi8KLmZlYXR1cmUtaWNvbi1ib3ggewogIGJvcmRlcjogMXB4IHNvbGlkICNmMWYxZjE7Cn0KLmZlYXR1cmUtaWNvbi1ib3ggLmZlYXR1cmUtaWNvbiB7CiAgYm9yZGVyOiA0cHggc29saWQgI2YxZjFmMTsKICBwYWRkaW5nOiAxMHB4IDE1cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTMwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBJbmZpbml0ZXNjcm9sbC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCiNpbmZzY3ItbG9hZGluZyB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjA3KTsKICBib3JkZXItcmFkaXVzOiAzcHg7CiAgY29sb3I6ICNmZmY7CiAgZm9udC1zaXplOiAyNHB4OwogIGhlaWdodDogNTBweDsKICBsaW5lLWhlaWdodDogNTBweDsKICBsZWZ0OiA0OCU7CiAgcG9zaXRpb246IGZpeGVkOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0b3A6IDUwJTsKICB3aWR0aDogNTBweDsKICB6LWluZGV4OiAxMDA7Cn0KI2luZnNjci1sb2FkaW5nIGltZyB7CiAgZGlzcGxheTogbm9uZTsKfQovKgogKiBTaG9ydGNvZGU6IEluc3RhZ3JhbS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qIC0tLS0tLS0tIEluc3RhZ3JhbS1GZWVkIC0tLS0tLS0tLS0gKi8KLmluc3RhZ3JhbS1mZWVkLWNhcm91c2VsIGZpZ3VyZSwKLmluc3RhZ3JhbS1mZWVkIGZpZ3VyZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5pbnN0YWdyYW0tZmVlZC1jYXJvdXNlbCBmaWd1cmUgLmxpbmstb3V0LAouaW5zdGFncmFtLWZlZWQgZmlndXJlIC5saW5rLW91dCB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxMHB4OwogIGJvdHRvbTogMTBweDsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNDUpOwogIGNvbG9yOiAjZjhmOGY4OwogIGxpbmUtaGVpZ2h0OiAxOwogIHBhZGRpbmc6IDEwcHg7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICBvcGFjaXR5OiAwOwp9Ci5pbnN0YWdyYW0tZmVlZC1jYXJvdXNlbCBmaWd1cmUgLmxpbmstb3V0OmhvdmVyLAouaW5zdGFncmFtLWZlZWQgZmlndXJlIC5saW5rLW91dDpob3ZlciB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjcpOwogIGNvbG9yOiAjZjhmOGY4Owp9Ci5pbnN0YWdyYW0tZmVlZC1jYXJvdXNlbCBmaWd1cmU6aG92ZXIgLmxpbmstb3V0LAouaW5zdGFncmFtLWZlZWQgZmlndXJlOmhvdmVyIC5saW5rLW91dCB7CiAgb3BhY2l0eTogMTsKfQovKiAtLS0tLS0tLSBJbnN0YWdyYW0tRmVlZCAtLS0tLS0tLS0tICovCi5pbnN0YWdyYW0tZmVlZCAuaXRlbSB7CiAgd2lkdGg6IDEwMHB4OwogIGZsb2F0OiBsZWZ0OwogIG1hcmdpbi1ib3R0b206IDJweDsKICBtYXJnaW4tcmlnaHQ6IDJweDsKfQovKiAtLS0tLS0tLSBXaWRnZXQgLSBJbnN0YWdyYW0tRmVlZCAtLS0tLS0tLS0tICovCi53aWRnZXQgLmluc3RhZ3JhbS1mZWVkIC5pdGVtIHsKICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgbWFyZ2luLXJpZ2h0OiA1cHg7CiAgd2lkdGg6IDcwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBsaWdodGJveC5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5uaXZvLWxpZ2h0Ym94LXRoZW1lLWRlZmF1bHQgLm5pdm8tbGlnaHRib3gtbmF2IHsKICBoZWlnaHQ6IDEwMCU7CiAgdG9wOiAwOwp9Ci5saWdodGJveCAubGItZGF0YUNvbnRhaW5lciB7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAtNDVweDsKfQovKioKICogRmFkZS16b29tIGFuaW1hdGlvbiBmb3IgZmlyc3QgZGlhbG9nCiAqLwovKiBzdGFydCBzdGF0ZSAqLwoubXktbWZwLXpvb20taW4gLnpvb20tYW5pbS1kaWFsb2cgewogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OwogIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIHRyYW5zZm9ybTogc2NhbGUoMC44KTsKfQovKiBhbmltYXRlIGluICovCi5teS1tZnAtem9vbS1pbi5tZnAtcmVhZHkgLnpvb20tYW5pbS1kaWFsb2cgewogIG9wYWNpdHk6IDE7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDEpOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7Cn0KLyogYW5pbWF0ZSBvdXQgKi8KLm15LW1mcC16b29tLWluLm1mcC1yZW1vdmluZyAuem9vbS1hbmltLWRpYWxvZyB7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMC44KTsKICAtby10cmFuc2Zvcm06IHNjYWxlKDAuOCk7CiAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpOwogIG9wYWNpdHk6IDA7Cn0KLyogRGFyayBvdmVybGF5LCBzdGFydCBzdGF0ZSAqLwoubXktbWZwLXpvb20taW4ubWZwLWJnIHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0OwogIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0OwogIC1vLXRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDsKICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7Cn0KLyogYW5pbWF0ZSBpbiAqLwoubXktbWZwLXpvb20taW4ubWZwLXJlYWR5Lm1mcC1iZyB7CiAgb3BhY2l0eTogMC44Owp9Ci8qIGFuaW1hdGUgb3V0ICovCi5teS1tZnAtem9vbS1pbi5tZnAtcmVtb3ZpbmcubWZwLWJnIHsKICBvcGFjaXR5OiAwOwp9Ci8qKgogKiBGYWRlLW1vdmUgYW5pbWF0aW9uIGZvciBzZWNvbmQgZGlhbG9nCiAqLwovKiBhdCBzdGFydCAqLwoubXktbWZwLXNsaWRlLWJvdHRvbSAuem9vbS1hbmltLWRpYWxvZyB7CiAgb3BhY2l0eTogMDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2Utb3V0OwogIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1vdXQ7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjBweCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMTBkZWcpOwogIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTsKfQovKiBhbmltYXRlIGluICovCi5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZWFkeSAuem9vbS1hbmltLWRpYWxvZyB7CiAgb3BhY2l0eTogMTsKICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgwKTsKICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgwKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDApOwogIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgwKTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgcGVyc3BlY3RpdmUoNjAwcHgpIHJvdGF0ZVgoMCk7Cn0KLyogYW5pbWF0ZSBvdXQgKi8KLm15LW1mcC1zbGlkZS1ib3R0b20ubWZwLXJlbW92aW5nIC56b29tLWFuaW0tZGlhbG9nIHsKICBvcGFjaXR5OiAwOwogIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7CiAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpIHBlcnNwZWN0aXZlKDYwMHB4KSByb3RhdGVYKDEwZGVnKTsKICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7CiAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7CiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHB4KSBwZXJzcGVjdGl2ZSg2MDBweCkgcm90YXRlWCgxMGRlZyk7Cn0KLyogRGFyayBvdmVybGF5LCBzdGFydCBzdGF0ZSAqLwoubXktbWZwLXNsaWRlLWJvdHRvbS5tZnAtYmcgewogIG9wYWNpdHk6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7CiAgLW1vei10cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2Utb3V0OwogIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLW91dDsKfQovKiBhbmltYXRlIGluICovCi5teS1tZnAtc2xpZGUtYm90dG9tLm1mcC1yZWFkeS5tZnAtYmcgewogIG9wYWNpdHk6IDAuODsKfQovKiBhbmltYXRlIG91dCAqLwoubXktbWZwLXNsaWRlLWJvdHRvbS5tZnAtcmVtb3ZpbmcubWZwLWJnIHsKICBvcGFjaXR5OiAwOwp9Ci8qCiAqIFNob3J0Y29kZTogTWFwLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnRvZ2dsZS1tYXAgewogIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC43KTsKICBjb2xvcjogI2ZmZjsKICBjdXJzb3I6IHBvaW50ZXI7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC1zaXplOiAxNnB4OwogIHBhZGRpbmc6IDMwcHggMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgd2lkdGg6IDEwMCU7CiAgei1pbmRleDogMjAwOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDIwMG1zIGxpbmVhcjsKICAtby10cmFuc2l0aW9uOiBhbGwgMjAwbXMgbGluZWFyOwogIHRyYW5zaXRpb246IGFsbCAyMDBtcyBsaW5lYXI7Cn0KLnRvZ2dsZS1tYXA6aG92ZXIgewogIGNvbG9yOiAjZmZmOwp9Ci50b2dnbGUtbWFwIHNwYW46YWZ0ZXIgewogIGNvbnRlbnQ6ICJcZjEwNyI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIG1hcmdpbi1sZWZ0OiAxMHB4Owp9Ci50b2dnbGUtbWFwLm9wZW4gc3BhbjphZnRlciB7CiAgY29udGVudDogIlxmMTA2IjsKfQoubWFwLWNhbnZhcyB7CiAgaGVpZ2h0OiA0MDBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhciAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXIgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyIDBzOwp9Ci5tYXAtY2FudmFzLmJpZyB7CiAgaGVpZ2h0OiA3MjBweDsKfQoubWFwLWNhbnZhcy5tYXAtaGlkZGVuIHsKICBoZWlnaHQ6IDA7Cn0KLmJ0bi1zaG93LW1hcCB7CiAgY29sb3I6ICMxMTExMTE7CiAgZm9udC1zaXplOiAxOHB4OwogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRleHQtYWxpZ246IGNlbnRlcjsKICB0b3A6IDQ1JTsKfQouYnRuLXNob3ctbWFwIGkgewogIGZvbnQtc2l6ZTogNDhweDsKfQovKgogKiBTaG9ydGNvZGU6IG9kb21ldGVyLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLm9kb21ldGVyLm9kb21ldGVyLXRoZW1lLWRlZmF1bHQsCi5vZG9tZXRlci5vZG9tZXRlci10aGVtZS1taW5pbWFsIHsKICBkaXNwbGF5OiBibG9jazsKfQovKgogKiBTaG9ydGNvZGU6IG9wZW5pbmctaG91cnMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoub3BlbmluZy1ob3VycyB1bCBsaSB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7CiAgcGFkZGluZzogMTBweCAwOwogIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsKfQoub3BlbmluZy1ob3VycyB1bCBsaSBzcGFuIHsKICBmbG9hdDogbGVmdDsKfQoub3BlbmluZy1ob3VycyB1bCBsaSAudmFsdWUgewogIGZsb2F0OiByaWdodDsKfQovKgogKiBTaG9ydGNvZGU6IFBlZ2luYXRpb24ubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoucGFnaW5hdGlvbi50aGVtZS1jb2xvcmVkIGxpLmFjdGl2ZSBhIHsKICBjb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKfQoucGFnaW5hdGlvbi50aGVtZS1jb2xvcmVkIGxpIGE6aG92ZXIgewogIGNvbG9yOiAjZmZmOwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci5wYWdpbmF0aW9uLmRhcmsgbGkgYSB7CiAgY29sb3I6ICMzMzMzMzM7Cn0KLnBhZ2luYXRpb24uZGFyayBsaS5hY3RpdmUgYSB7CiAgYmFja2dyb3VuZDogIzMzMzMzMzsKICBjb2xvcjogI2ZmZjsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKfQoucGFnZXIudGhlbWUtY29sb3JlZCBsaS5hY3RpdmUgYSB7CiAgY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KLnBhZ2VyLmRhcmsgbGkgYSB7CiAgY29sb3I6ICNmZmY7CiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsKICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKfQovKgogKiBTaG9ydGNvZGU6IHByaWNpbmcubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoucHJpY2luZy10YWJsZSB7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnByaWNpbmctdGFibGUgLnRhYmxlLXByaWNlIHsKICBjb2xvcjogIzExMTExMTsKICBmb250LXNpemU6IDQ1cHg7Cn0KLnByaWNpbmctdGFibGUgLnRhYmxlLXByaWNlIHNwYW4gewogIGZvbnQtc2l6ZTogMTNweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5wcmljaW5nLXRhYmxlLmZlYXR1cmVkIHsKICBib3JkZXI6IDFweCBzb2xpZCAjMTExMTExOwp9Ci5wcmljaW5nLXRhYmxlIC50YWJsZS10eXBlIHsKICBkaXNwbGF5OiBpbmxpbmU7Cn0KLnByaWNpbmctdGFibGUgLmJ0bi1zaWdudXAgewogIG1hcmdpbi1yaWdodDogMDsKICB3aWR0aDogMTAwJTsKfQoucHJpY2luZy10YWJsZSAudGFibGUtbGlzdCB7CiAgbGlzdC1zdHlsZTogb3V0c2lkZSBub25lIG5vbmU7CiAgcGFkZGluZzogMTBweCAwIDEwcHggMjBweDsKfQoucHJpY2luZy10YWJsZSAudGFibGUtbGlzdCBsaSB7CiAgYm9yZGVyLWJvdHRvbTogMDsKICBmb250LXNpemU6IDEycHg7CiAgcGFkZGluZzogMTBweCAwOwp9Ci5wcmljaW5nLXRhYmxlIC50YWJsZS1saXN0IGxpIGkgewogIG1hcmdpbi1yaWdodDogOHB4Owp9Ci8qCiAqIFNob3J0Y29kZTogUHJvY2Vzcy1TdGVwcy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi8qCiAqIFNob3J0Y29kZTogcGllLWNoYXJ0Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnBpZWNoYXJ0IHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiAxMTBweDsKICBoZWlnaHQ6IDExMHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoucGllY2hhcnQgY2FudmFzIHsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwogIGxlZnQ6IDA7Cn0KLnBpZWNoYXJ0IC5wZXJjZW50IHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgbGluZS1oZWlnaHQ6IDExMHB4OwogIHotaW5kZXg6IDI7Cn0KLnBpZWNoYXJ0IC5wZXJjZW50OmFmdGVyIHsKICBjb250ZW50OiAnJSc7CiAgbWFyZ2luLWxlZnQ6IDAuMWVtOwogIGZvbnQtc2l6ZTogLjhlbTsKfQovKgogKiBTaG9ydGNvZGU6IFByb2dyZXNzLUJhci5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5wcm9ncmVzcy1pdGVtIHsKICBtYXJnaW4tdG9wOiAyMHB4Owp9Ci5wcm9ncmVzcy1pdGVtIC5wcm9ncmVzcyB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsKICBib3gtc2hhZG93OiAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC40KSBpbnNldDsKICBib3JkZXItcmFkaXVzOiAwOwogIGhlaWdodDogMTBweDsKICBtYXJnaW4tYm90dG9tOiAxNXB4OwogIG92ZXJmbG93OiB2aXNpYmxlOwp9Ci5wcm9ncmVzcy1pdGVtIC5wcm9ncmVzcy1iYXIgewogIGZvbnQtc2l6ZTogMTFweDsKICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtYWxpZ246IGxlZnQ7CiAgd2lkdGg6IDA7CiAgbGluZS1oZWlnaHQ6IDE4cHg7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZSAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZSAwczsKICB0cmFuc2l0aW9uOiBhbGwgMXMgZWFzZSAwczsKfQoucHJvZ3Jlc3MtaXRlbSAucHJvZ3Jlc3MtYmFyIC5wZXJjZW50IHsKICBiYWNrZ3JvdW5kOiBub25lIHJlcGVhdCBzY3JvbGwgMCAwICM1NTU1NTU7CiAgYm9yZGVyLXJhZGl1czogOHB4IDAgMDsKICBwYWRkaW5nOiAzcHggNXB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0b3A6IC0zMHB4Owp9Ci5wcm9ncmVzcy1pdGVtLnByb2dyZXNzLXdoaXRlIC5wcm9ncmVzcyB7CiAgcGFkZGluZzogMnB4Owp9Ci5wcm9ncmVzcy1pdGVtLnN0eWxlMiAucHJvZ3Jlc3MgewogIGhlaWdodDogMjVweDsKfQoucHJvZ3Jlc3MtaXRlbS5zdHlsZTIgLnByb2dyZXNzLWJhciAucGVyY2VudCB7CiAgYmFja2dyb3VuZDogbm9uZTsKICBjb2xvcjogIzU1NTU1NTsKICBmb250LXNpemU6IDE0cHg7Cn0KLyoKICogU2hvcnRjb2RlOiBQcm9tby5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5tb2RhbC1wcm9tby1ib3ggewogIG1heC13aWR0aDogNzAwcHg7CiAgcGFkZGluZzogOTBweCA2MHB4OwogIG1hcmdpbjogMCBhdXRvOwp9Ci8qCiAqIFNob3J0Y29kZTogc2VjdGlvbi10aXRsZS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5zbWFsbC10aXRsZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5zbWFsbC10aXRsZSBpIHsKICBmb250LXNpemU6IDM2cHg7CiAgbWFyZ2luLXRvcDogN3B4OwogIHBhZGRpbmctdG9wOiAwcHg7Cn0KLnNtYWxsLXRpdGxlIC50aXRsZSB7CiAgbWFyZ2luLWxlZnQ6IDE1cHg7Cn0KLnNtYWxsLXRpdGxlIC50aXRsZTphZnRlciB7CiAgYm90dG9tOiAtNnB4OwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMXB4OwogIGxlZnQ6IDQ1cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA0NXB4Owp9Ci5zZWN0aW9uLXRpdGxlIC5ib3RoLXNpZGUtbGluZTo6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMnB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogLTQwcHg7CiAgdG9wOiAxMHB4OwogIHdpZHRoOiAzMHB4Owp9Ci5zZWN0aW9uLXRpdGxlIC5ib3RoLXNpZGUtbGluZTo6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogLTQwcHg7CiAgdG9wOiAxMHB4OwogIHdpZHRoOiAzMHB4Owp9Ci5zZWN0aW9uLXRpdGxlIC50b3Atc2lkZS1saW5lOjphZnRlciB7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAycHg7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAtOHB4OwogIHdpZHRoOiA0MHB4Owp9Ci5zZWN0aW9uLXRpdGxlIC5sZWZ0LXNpZGUtbGluZTo6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC04cHg7CiAgd2lkdGg6IDM1cHg7Cn0KLnNlY3Rpb24tdGl0bGUgLnJpZ2h0LXNpZGUtbGluZTo6YmVmb3JlIHsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAtOHB4OwogIHdpZHRoOiAzNXB4Owp9Ci5zZWN0aW9uLXRpdGxlIC5zdWItdGl0bGUgewogIG1hcmdpbjogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwp9Ci5zZWN0aW9uLXRpdGxlIC50aXRsZSB7CiAgbWFyZ2luLXRvcDogMDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbGluZS1oZWlnaHQ6IDE7Cn0KLnNlY3Rpb24tdGl0bGUgLmljb24gaSB7CiAgZm9udC1zaXplOiA1MHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IC0zcHg7CiAgbGVmdDogMTRweDsKICBvcGFjaXR5OiAwLjEwOwp9Ci5zZWN0aW9uLXRpdGxlIHAgewogIGZvbnQtc2l6ZTogMTVweDsKfQouc2VjdGlvbi10aXRsZSBwLmxlZnQtYm9yZGVyZWQgewogIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2MwYzBjMDsKICBwYWRkaW5nLWxlZnQ6IDEwcHg7Cn0KLnNlY3Rpb24tdGl0bGUgcC5yaWdodC1ib3JkZXJlZCB7CiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2MwYzBjMDsKICBwYWRkaW5nLXJpZ2h0OiAxMHB4Owp9Ci8qVGhlbWUgU2VjdGlvbiBUaXRsZSovCi5zZWN0aW9uLXRpdGxlIHsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9Ci5zZWN0aW9uLXRpdGxlLnRpdGxlLWJvcmRlciB7CiAgcGFkZGluZy1sZWZ0OiAzMHB4Owp9Ci5zZWN0aW9uLXRpdGxlLnRpdGxlLWJvcmRlci50aXRsZS1yaWdodCB7CiAgYm9yZGVyLWxlZnQ6IDA7CiAgcGFkZGluZy1sZWZ0OiAwOwogIHBhZGRpbmctcmlnaHQ6IDMwcHg7CiAgdGV4dC1hbGlnbjogcmlnaHQ7Cn0KLnNlY3Rpb24tdGl0bGUuaWNvbi1iZyBwIHsKICBmb250LXNpemU6IDE0cHg7CiAgZm9udC1zdHlsZTogaXRhbGljOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KLnNlY3Rpb24tdGl0bGUuaWNvbi1iZyAucGFnZS10aXRsZSB7CiAgZm9udC1zaXplOiAzOHB4OwogIGxpbmUtaGVpZ2h0OiA1MnB4Owp9Ci5zZWN0aW9uLXRpdGxlLmljb24tYmcgLnBhZ2UtdGl0bGUgaSB7CiAgZm9udC1zaXplOiA0MnB4OwogIGxpbmUtaGVpZ2h0OiAxLjM7CiAgcG9zaXRpb246IGFic29sdXRlOwogIG9wYWNpdHk6IDAuMTU7CiAgbGVmdDogMDsKICByaWdodDogMDsKICBtYXJnaW46IDAgYXV0bzsKfQovKgogKiBTaG9ydGNvZGU6IFNlcGFyYXRvcnMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoudGl0bGUtc2VwYXJhdG9yIHsKICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsKICBib3JkZXItdG9wLXdpZHRoOiAxcHg7CiAgZm9udC1zaXplOiAxNnB4OwogIGhlaWdodDogYXV0bzsKICBsaW5lLWhlaWdodDogMjBweDsKICBtYXJnaW46IDEwcHggMDsKICB3aWR0aDogNzAlOwp9Ci50aXRsZS1zZXBhcmF0b3Igc3BhbiB7CiAgYmFja2dyb3VuZDogI2ZmZiBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvcmRlci1yYWRpdXM6IDJweDsKICBsZXR0ZXItc3BhY2luZzogMC4yZW07CiAgcGFkZGluZzogMnB4IDEwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7CiAgdG9wOiAtMTJweDsKfQouc2VwYXJhdG9yIHsKICBjb2xvcjogI2MwYzBjMDsKICBsaW5lLWhlaWdodDogMS4yZW07CiAgbWFyZ2luOiAzMHB4IGF1dG87CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlcGFyYXRvcjo6YmVmb3JlLAouc2VwYXJhdG9yOjphZnRlciB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWVlZWU7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGhlaWdodDogLjY1ZW07CiAgbWFyZ2luOiAwIC00cHggMCAtMTAwJTsKICB2ZXJ0aWNhbC1hbGlnbjogdG9wOwogIHdpZHRoOiA1MCU7Cn0KLnNlcGFyYXRvcjo6YWZ0ZXIgewogIG1hcmdpbjogMCAtMTAwJSAwIDA7Cn0KLnNlcGFyYXRvciBpLAouc2VwYXJhdG9yIHNwYW4sCi5zZXBhcmF0b3IgYSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbjogMCAyMHB4IDAgMjRweDsKICBmb250LXNpemU6IDIwcHg7Cn0KLnNlcGFyYXRvci5zZXBhcmF0b3ItbGVmdCwKLnNlcGFyYXRvci5sZWZ0IGkgewogIGZsb2F0OiBsZWZ0OwogIG1hcmdpbjogMnB4IDUwcHggMCAwOwp9Ci5zZXBhcmF0b3IucmlnaHQgaSB7CiAgZmxvYXQ6IHJpZ2h0OwogIG1hcmdpbjogMCAwIDJweCA1MHB4Owp9Ci5zZXBhcmF0b3Iuc2VwYXJhdG9yLW1lZGl1bS1saW5lIHsKICBtYXJnaW46IDEwcHggYXV0bzsKICB3aWR0aDogMjAlOwp9Ci5zZXBhcmF0b3Iuc2VwYXJhdG9yLXNtYWxsLWxpbmUgewogIHdpZHRoOiAxMCU7Cn0KLnNlcGFyYXRvci5zZXBhcmF0b3Itcm91bmVkIGksCi5zZXBhcmF0b3Iuc2VwYXJhdG9yLWJvcmRlci1yb3VuZWQgaSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgaGVpZ2h0OiA0MHB4OwogIGxlZnQ6IDA7CiAgbGluZS1oZWlnaHQ6IDQwcHg7CiAgbWFyZ2luOiAtMTJweCBhdXRvIGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHdpZHRoOiA0MHB4Owp9Ci5zZXBhcmF0b3Iuc2VwYXJhdG9yLWJvcmRlci1yb3VuZWQgaSB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7CiAgYm9yZGVyOiAxcHggc29saWQgI2Y1ZjVmNTsKfQouc2VwYXJhdG9yLnNlcGFyYXRvci1yb3VuZWQuc2VwYXJhdG9yLXJvdW5lZC1sZWZ0IGkgewogIG1hcmdpbjogLTEycHggYXV0byBhdXRvOwogIHJpZ2h0OiBhdXRvOwogIGxlZnQ6IDA7Cn0KLnNlcGFyYXRvci5zZXBhcmF0b3Itcm91bmVkLnNlcGFyYXRvci1yb3VuZWQtcmlnaHQgaSB7CiAgbWFyZ2luOiAtMTJweCBhdXRvIGF1dG87CiAgcmlnaHQ6IDA7CiAgbGVmdDogYXV0bzsKfQouc2VwYXJhdG9yLmRvdHRlZDo6YmVmb3JlLAouc2VwYXJhdG9yLmRvdHRlZDo6YWZ0ZXIgewogIGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgI2MwYzBjMDsKfQovKgogKiBTaG9ydGNvZGU6IHN0eWxlZC1pY29ucy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5zdHlsZWQtaWNvbnMgYSB7CiAgY29sb3I6ICMzMzMzMzM7CiAgZm9udC1zaXplOiAxOHB4OwogIGhlaWdodDogMzJweDsKICBsaW5lLWhlaWdodDogMzJweDsKICB3aWR0aDogMzJweDsKICBmbG9hdDogbGVmdDsKICBtYXJnaW46IDVweCA3cHggNXB4IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7Cn0KLnN0eWxlZC1pY29ucyBhOmhvdmVyIHsKICBjb2xvcjogIzY2NjY2NjsKfQouc3R5bGVkLWljb25zLmljb24tZ3JheSBhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlZWVlOwogIGNvbG9yOiAjNTU1NTU1OwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMThweDsKICBoZWlnaHQ6IDM2cHg7CiAgbGluZS1oZWlnaHQ6IDM2cHg7CiAgd2lkdGg6IDM2cHg7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWdyYXkgYTpob3ZlciB7CiAgY29sb3I6ICNiYmJiYmI7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWdyYXkuaWNvbi1ib3JkZXJlZCBhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDJweCBzb2xpZCAjZWVlZWVlOwp9Ci5zdHlsZWQtaWNvbnMuaWNvbi1ncmF5Lmljb24tYm9yZGVyZWQgYTpob3ZlciB7CiAgYm9yZGVyOiAycHggc29saWQgI2Q1ZDVkNTsKfQouc3R5bGVkLWljb25zLmljb24tZGFyayBhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzOwogIGNvbG9yOiAjZWVlZWVlOwogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMThweDsKICBoZWlnaHQ6IDM2cHg7CiAgbGluZS1oZWlnaHQ6IDM2cHg7CiAgd2lkdGg6IDM2cHg7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWRhcmsuaWNvbi1ib3JkZXJlZCBhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKICBib3JkZXI6IDJweCBzb2xpZCAjMTExMTExOwogIGNvbG9yOiAjMTExMTExOwp9Ci5zdHlsZWQtaWNvbnMuaWNvbi1kYXJrLmljb24tYm9yZGVyZWQgYTpob3ZlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMTsKICBib3JkZXItY29sb3I6ICMxMTExMTE7CiAgY29sb3I6ICNmZmY7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWJvcmRlcmVkIGEgewogIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc3Nzc7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWJvcmRlcmVkIGE6aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3Nzc7CiAgY29sb3I6ICNmZmY7Cn0KLnN0eWxlZC1pY29ucy5pY29uLXJvdW5kZWQgYSB7CiAgYm9yZGVyLXJhZGl1czogM3B4Owp9Ci5zdHlsZWQtaWNvbnMuaWNvbi1jaXJjbGVkIGEgewogIGJvcmRlci1yYWRpdXM6IDUwJTsKfQouc3R5bGVkLWljb25zLmljb24tc20gYSB7CiAgZm9udC1zaXplOiAxM3B4OwogIGhlaWdodDogMzBweDsKICBsaW5lLWhlaWdodDogMzBweDsKICBtYXJnaW46IDJweCA3cHggMnB4IDA7CiAgd2lkdGg6IDMwcHg7Cn0KLnN0eWxlZC1pY29ucy5pY29uLW1kIGEgewogIGZvbnQtc2l6ZTogMjRweDsKICBoZWlnaHQ6IDUwcHg7CiAgbGluZS1oZWlnaHQ6IDUwcHg7CiAgd2lkdGg6IDUwcHg7Cn0KLnN0eWxlZC1pY29ucy5pY29uLWxnIGEgewogIGZvbnQtc2l6ZTogMzJweDsKICBoZWlnaHQ6IDYwcHg7CiAgbGluZS1oZWlnaHQ6IDYwcHg7CiAgd2lkdGg6IDYwcHg7Cn0KLnN0eWxlZC1pY29ucy5pY29uLXhsIGEgewogIGZvbnQtc2l6ZTogNjBweDsKICBoZWlnaHQ6IDEyMHB4OwogIGxpbmUtaGVpZ2h0OiAxMjBweDsKICB3aWR0aDogMTIwcHg7Cn0KLnN0eWxlZC1pY29ucyBsaSB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIG1hcmdpbi1ib3R0b206IDA7CiAgbWFyZ2luLXRvcDogMDsKfQovKgogKiBTaG9ydGNvZGU6IFRhYnMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoudGFiLWNvbnRlbnQgewogIHBhZGRpbmc6IDE1cHg7CiAgYm9yZGVyOiAxcHggc29saWQgI2VlZWVlZTsKfQoubmF2LXRhYnMgewogIGJvcmRlcjogbm9uZTsKfQoubmF2LXRhYnMgPiBsaSB7CiAgZmxvYXQ6IGxlZnQ7CiAgbWFyZ2luLWJvdHRvbTogLTFweDsKfQoubmF2LXRhYnMgPiBsaS5hY3RpdmUgYSwKLm5hdi10YWJzID4gbGkuYWN0aXZlIGE6aG92ZXIsCi5uYXYtdGFicyA+IGxpLmFjdGl2ZSBhOmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKfQoubmF2LXRhYnMgPiBsaSA+IGEgewogIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7CiAgYm9yZGVyLXJhZGl1czogMDsKICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7CiAgZm9udC1zaXplOiAxMnB4OwogIGNvbG9yOiAjNTU1NTU1OwogIHBhZGRpbmc6IDdweCAxNXB4OwogIG1hcmdpbi1yaWdodDogMDsKfQoubmF2LXRhYnMgPiBsaSA+IGEgLmZhIHsKICBtYXJnaW4tcmlnaHQ6IDEwcHg7Cn0KLm5hdi10YWJzID4gbGkgPiBhOmhvdmVyLAoubmF2LXRhYnMgPiBsaSA+IGE6Zm9jdXMgewogIGNvbG9yOiAjMzMzMzMzOwogIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Owp9Ci5uYXYtdGFicyA+IGxpID4gYSBpIHsKICBmb250LXNpemU6IDMycHg7CiAgbWFyZ2luLXJpZ2h0OiAyMHB4OwogIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7Cn0KLyogLS0tLS0tLS0gTmF2IFRhYnMgLS0tLS0tLS0tLSAqLwoubmF2LXRhYnMgPiBsaSB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5uYXYtdGFicyA+IGxpID4gYSBpIHsKICBkaXNwbGF5OiBibG9jazsKICBmb250LXNpemU6IDQ4cHg7CiAgbWFyZ2luLXJpZ2h0OiAwOwogIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQovKiAtLS0tLS0tLSBIb3Jpem9udGFsLVRhYi1DZW50ZXJlZCAtLS0tLS0tLS0tICovCi5ob3Jpem9udGFsLXRhYi1jZW50ZXJlZCAubmF2LXBpbGxzIHsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7Cn0KLmhvcml6b250YWwtdGFiLWNlbnRlcmVkIC5uYXYtcGlsbHMgPiBsaSA+IGEgewogIGJhY2tncm91bmQ6ICNlZWVlZWU7CiAgY29sb3I6ICM1NTU1NTU7CiAgZm9udC1zaXplOiAxNHB4OwogIHBhZGRpbmc6IDhweCAxMHB4OwogIG1hcmdpbi1yaWdodDogMTBweDsKICBtYXJnaW4tYm90dG9tOiAxMHB4OwogIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOwp9Ci5ob3Jpem9udGFsLXRhYi1jZW50ZXJlZCAubmF2LXBpbGxzID4gbGkgPiBhOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKfQouaG9yaXpvbnRhbC10YWItY2VudGVyZWQgLm5hdi1waWxscyA+IGxpID4gYSBpIHsKICBmb250LXNpemU6IDE0cHg7CiAgbWFyZ2luLXJpZ2h0OiA4cHg7Cn0KLmhvcml6b250YWwtdGFiLWNlbnRlcmVkIC5uYXYtcGlsbHMgPiBsaS5hY3RpdmUgPiBhLAouaG9yaXpvbnRhbC10YWItY2VudGVyZWQgLm5hdi1waWxscyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsCi5ob3Jpem9udGFsLXRhYi1jZW50ZXJlZCAubmF2LXBpbGxzID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7CiAgY29sb3I6ICNmZmY7Cn0KLyogLS0tLS0tLS0gSG9yaXpvbnRhbC1UYWIgRnVsbHdpZGUgLS0tLS0tLS0tLSAqLwouaG9yaXpvbnRhbC10YWIuZnVsbHdpZGUgLm5hdi10YWJzID4gbGkgewogIHdpZHRoOiAyMCU7Cn0KLyogLS0tLS0tLS0gVmVydGljYWwgTmF2LVRhYnMgLS0tLS0tLS0tLSAqLwoudmVydGljYWwtdGFiIC50YWItY29udGVudCB7CiAgcGFkZGluZzogNXB4IDVweCAyMHB4IDIwcHg7CiAgYm9yZGVyOiBub25lOwp9Ci52ZXJ0aWNhbC10YWIgLm5hdi10YWJzID4gbGkgewogIGZsb2F0OiBub25lOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KLnZlcnRpY2FsLXRhYiAubmF2LXRhYnMgPiBsaSA+IGEgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm9yZGVyLXJhZGl1czogMDsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzZDNkMzsKICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDNkM2QzOwogIGJvcmRlci10b3A6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGZvbnQtc2l6ZTogMTRweDsKICBwYWRkaW5nOiAzMHB4IDAgMzBweCAxNXB4Owp9Ci52ZXJ0aWNhbC10YWIgLm5hdi10YWJzID4gbGk6Zmlyc3QtY2hpbGQgPiBhIHsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2QzZDNkMyAhaW1wb3J0YW50Owp9Ci52ZXJ0aWNhbC10YWIgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYSwKLnZlcnRpY2FsLXRhYiAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLAoudmVydGljYWwtdGFiIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMgewogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGJvcmRlci1sZWZ0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkM2QzZDM7Cn0KLnZlcnRpY2FsLXRhYiAuc21hbGwtcGFkZGluZyAubmF2LXRhYnMgPiBsaSBhIHsKICBwYWRkaW5nOiAyMHB4IDAgMjBweCAxNXB4Owp9Ci52ZXJ0aWNhbC10YWIgLnNtYWxsLXBhZGRpbmcgLm5hdi10YWJzID4gbGkgaSB7CiAgZm9udC1zaXplOiAyNHB4Owp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsKICAudmVydGljYWwtdGFiIC50YWItY29udGVudCB7CiAgICBwYWRkaW5nOiAyMHB4IDVweDsKICB9CiAgLm5hdi10YWJzID4gbGkgPiBhIHsKICAgIGJvcmRlci1yYWRpdXM6IDA7CiAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZDNkM2QzOwogIH0KICAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhLAogIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6aG92ZXIsCiAgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpmb2N1cyB7CiAgICBib3JkZXItYm90dG9tOiBub25lOwogICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjZDNkM2QzOwogIH0KfQouY3VzdG9tLW5hdi10YWJzIHsKICAtbW96LWJvcmRlci1ib3R0b20tY29sb3JzOiBub25lOwogIC1tb3otYm9yZGVyLWxlZnQtY29sb3JzOiBub25lOwogIC1tb3otYm9yZGVyLXJpZ2h0LWNvbG9yczogbm9uZTsKICAtbW96LWJvcmRlci10b3AtY29sb3JzOiBub25lOwogIGJvcmRlci1jb2xvcjogLW1vei11c2UtdGV4dC1jb2xvcjsKICBib3JkZXItaW1hZ2U6IG5vbmU7CiAgYm9yZGVyLXN0eWxlOiBub25lIHNvbGlkIG5vbmUgbm9uZTsKICBib3JkZXItd2lkdGg6IG1lZGl1bSAwcHggbWVkaXVtIG1lZGl1bTsKICBtYXJnaW4tcmlnaHQ6IDUzcHg7Cn0KLmN1c3RvbS1uYXYtdGFicyA+IGxpIHsKICBmbG9hdDogbm9uZTsKICBtYXJnaW46IDAgMCAxcHg7Cn0KLmN1c3RvbS1uYXYtdGFicyA+IGxpIGEgewogIGJhY2tncm91bmQ6ICNlZWVlZWUgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBib3JkZXI6IG1lZGl1bSBub25lOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgZGlzcGxheTogYmxvY2s7CiAgZm9udC1zaXplOiAxN3B4OwogIGZvbnQtd2VpZ2h0OiA3MDA7CiAgbGluZS1oZWlnaHQ6IDU5cHg7CiAgbWFyZ2luOiAwOwogIG91dGxpbmU6IG1lZGl1bSBub25lOwogIHBhZGRpbmc6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLmN1c3RvbS1uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGEsCi5jdXN0b20tbmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLAouY3VzdG9tLW5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpmb2N1cywKLmN1c3RvbS1uYXYtdGFicyA+IGxpID4gYTpob3ZlciwKLmN1c3RvbS1uYXYtdGFicyA+IGxpID4gYTpmb2N1cyB7CiAgYm9yZGVyOiBtZWRpdW0gbm9uZTsKICBjb2xvcjogIzAwMDsKICBwYWRkaW5nOiAwOwp9Ci8qIC0tLS0tLS0tIFNlcnZpY2VzIFRhYiAtLS0tLS0tLS0tICovCi5zZXJ2aWNlcy10YWIgLm5hdi10YWJzIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZjFmMTsKICB0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLnNlcnZpY2VzLXRhYiAubmF2LXRhYnMgPiBsaSB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZWVlZWVlOwogIG1hcmdpbi1ib3R0b206IDA7CiAgd2lkdGg6IDIwJTsKfQouc2VydmljZXMtdGFiIC5uYXYtdGFicyA+IGxpOmZpcnN0LWNoaWxkIHsKICBib3JkZXItbGVmdDogbm9uZTsKfQouc2VydmljZXMtdGFiIC5uYXYtdGFicyA+IGxpID4gYSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBjb2xvcjogI2E5YTlhOTsKICBmb250LXNpemU6IDEzcHg7CiAgbWFyZ2luLXJpZ2h0OiAwOwogIHBhZGRpbmc6IDM1cHggMjBweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci5zZXJ2aWNlcy10YWIgLm5hdi10YWJzID4gbGkgPiBhIGkgewogIGRpc3BsYXk6IGJsb2NrOwogIGZvbnQtc2l6ZTogMzZweDsKICBtYXJnaW4tcmlnaHQ6IDA7CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5zZXJ2aWNlcy10YWIgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYSwKLnNlcnZpY2VzLXRhYiAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyLAouc2VydmljZXMtdGFiIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMsCi5zZXJ2aWNlcy10YWIgLm5hdi10YWJzID4gbGkgYTpob3ZlciwKLnNlcnZpY2VzLXRhYiAubmF2LXRhYnMgPiBsaSBhOmZvY3VzIHsKICBjb2xvcjogI2ZmZjsKfQouc2VydmljZXMtdGFiIC5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGEgaSwKLnNlcnZpY2VzLXRhYiAubmF2LXRhYnMgPiBsaS5hY3RpdmUgPiBhOmhvdmVyIGksCi5zZXJ2aWNlcy10YWIgLm5hdi10YWJzID4gbGkuYWN0aXZlID4gYTpmb2N1cyBpLAouc2VydmljZXMtdGFiIC5uYXYtdGFicyA+IGxpIGE6aG92ZXIgaSwKLnNlcnZpY2VzLXRhYiAubmF2LXRhYnMgPiBsaSBhOmZvY3VzIGkgewogIGNvbG9yOiAjZmZmOwp9Ci5zZXJ2aWNlcy10YWIgLnRhYi1jb250ZW50IC5zZXJ2aWNlLWNvbnRlbnQgLnN1Yi10aXRsZSB7CiAgY29sb3I6ICNjOGM4Yzg7CiAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2Fucy1zZXJpZjsKfQouc2VydmljZXMtdGFiIC50YWItY29udGVudCAuc2VydmljZS1jb250ZW50IC50aXRsZSB7CiAgY29sb3I6ICM1NTU1NTU7CiAgZm9udC1mYW1pbHk6ICdQbGF5ZmFpciBEaXNwbGF5Jywgc2Fucy1zZXJpZjsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExOTlweCkgewogIC5zZXJ2aWNlcy10YWIgLnNlcnZpY2UtY29udGVudCB7CiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7CiAgLnNlcnZpY2VzLXRhYiAuc2VydmljZS1jb250ZW50IHsKICAgIHBhZGRpbmc6IDAgMjBweDsKICB9Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5zZXJ2aWNlcy10YWIgLm5hdi5uYXYtdGFicyBhIHsKICAgIHBhZGRpbmc6IDEwcHggMDsKICAgIGZvbnQtc2l6ZTogOXB4OwogIH0KICAuc2VydmljZXMtdGFiIC5uYXYubmF2LXRhYnMgYSBpIHsKICAgIGZvbnQtc2l6ZTogMjhweDsKICB9Cn0KLnZlcnRpY2FsLXRhYiAubmF2LXRhYnMgbGkgYTphY3RpdmUgewogIGNvbG9yOiAjZDNkM2QzOwp9Ci8qCiAqIFNob3J0Y29kZTogdGVhbXMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoudGVhbS1tZW1iZXIgLnRodW1iIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoudGVhbS1tZW1iZXIgLnRodW1iIGltZyB7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0IDBzOwogIHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsKfQoudGVhbS1tZW1iZXI6aG92ZXIgLnRodW1iIGltZyB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpOwp9Ci50ZWFtLW1lbWJlciAudGh1bWIgLmluZm8gewogIGJvdHRvbTogLTUwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0IDBzOwogIC1vLXRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dCAwczsKICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQgMHM7CiAgd2lkdGg6IDEwMCU7Cn0KLnRlYW0tbWVtYmVyOmhvdmVyIC50aHVtYiAuaW5mbyB7CiAgYm90dG9tOiAwOwp9Ci5kbC1ob3Jpem9udGFsLmRvY3Rvci1pbmZvIGR0IHsKICBjb2xvcjogIzMzMzMzMzsKICBmb250LXNpemU6IDE0cHg7CiAgd2lkdGg6IGF1dG87Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgewogIC5kbC1ob3Jpem9udGFsLmRvY3Rvci1pbmZvIGR0IHsKICAgIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgfQp9Ci8qCiAqIFNob3J0Y29kZTogdGVzdGltb25pYWxzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnRlc3RpbW9uaWFsIC5pdGVtIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKfQoudGVzdGltb25pYWwgLml0ZW0gLnRodW1iIGltZyB7CiAgbWFyZ2luOiBhdXRvOwogIG1heC13aWR0aDogNzVweDsKfQoudGVzdGltb25pYWwgLmNvbW1lbnQgcCB7CiAgY29sb3I6ICNhOWE5YTk7CiAgZm9udC13ZWlnaHQ6IDQwMDsKfQovKiAtLS0tLS0tLSBUZXN0aW1vbmlhbC1TdHlsZTEgLS0tLS0tLS0tLSAqLwoudGVzdGltb25pYWxzLmF0dG9ybmV5LWRldGFpbHMgLnRodW1iIGltZyB7CiAgd2lkdGg6IGF1dG87Cn0KLyogLS0tLS0tLS0gVGVzdGltb25pYWwtU3R5bGUyIC0tLS0tLS0tLS0gKi8KLnRlc3RpbW9uaWFsLnN0eWxlMiB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci50ZXN0aW1vbmlhbC5zdHlsZTIgLnRodW1iIGltZyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiA3NXB4Owp9Ci8qIC0tLS0tLS0tIFRlc3RpbW9uaWFsLVN0eWxlMSAtLS0tLS0tLS0tICovCi50ZXN0aW1vbmlhbC5zdHlsZTEgLml0ZW0gewogIGJvcmRlcjogbm9uZTsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5pdGVtOjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAucXVvdGUsCi50ZXN0aW1vbmlhbC5zdHlsZTEgLnRodW1iIHsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9Ci50ZXN0aW1vbmlhbC5zdHlsZTEgLmF1dGhvciB7CiAgbWFyZ2luLWJvdHRvbTogNXB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAudGl0bGUgewogIGNvbG9yOiAjYzBjMGMwOwogIG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAuY29tbWVudCB7CiAgcGFkZGluZzogMzVweCAyNXB4Owp9Ci50ZXN0aW1vbmlhbC5zdHlsZTEgLmNvbW1lbnQgcCB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBtYXJnaW4tbGVmdDogMzBweDsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5jb21tZW50IHsKICBiYWNrZ3JvdW5kOiAjZjhmOGY4OwogIGNvbG9yOiAjNzc3Nzc3OwogIGJvcmRlcjogM3B4IHNvbGlkIHdoaXRlOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpOwogIG1hcmdpbjogMXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5jb21tZW50OjpiZWZvcmUgewogIGNvbG9yOiAjZDNkM2QzOwogIGNvbnRlbnQ6ICJcZjEwZCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMzBweDsKICBsZWZ0OiAyMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDdweDsKfQovKi50ZXN0aW1vbmlhbC5zdHlsZTEgLmNvbW1lbnQ6OmFmdGVyIHsKICBib3R0b206IC0xOHB4OwogIHJpZ2h0OiAxOXB4OwogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMDsKICBoZWlnaHQ6IDA7CiAgYm9yZGVyLXN0eWxlOiBzb2xpZDsKICBib3JkZXItd2lkdGg6IDE1cHggMTVweCAwIDE1cHg7CiAgYm9yZGVyLWNvbG9yOiBmYWRlKEBibGFjaywgMDQlKSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKfSovCi50ZXN0aW1vbmlhbC5zdHlsZTEgLmNvbW1lbnQ6OmFmdGVyIHsKICBjb250ZW50OiAiIjsKICB3aWR0aDogMTRweDsKICBoZWlnaHQ6IDE0cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDMwcHg7CiAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWFnZXMvdGVzdGltb25pYWxzL3F1b3RlX2Fycm93LnBuZycpIDBweCAwcHggbm8tcmVwZWF0OwogIHRvcDogOTclOwp9Ci5vd2wtY2Fyb3VzZWwgLm93bC1pdGVtIC50ZXN0aW1vbmlhbCBpbWcgewogIGRpc3BsYXk6IGlubGluZTsKICB3aWR0aDogYXV0bzsKfQoudGVzdGltb25pYWwgLnNpZ25hdHVyZSB7CiAgd2lkdGg6IDYwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBUb2dnbGVzLUFjY29yZGlvbnMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcgewogIHBhZGRpbmc6IDA7Cn0KLnBhbmVsLWdyb3VwIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSB7CiAgZm9udC1zaXplOiAxM3B4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoucGFuZWwtZ3JvdXAgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEgewogIGNvbG9yOiAjMTExMTExOwogIGRpc3BsYXk6IGJsb2NrOwogIHBhZGRpbmc6IDEwcHggMTVweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tcmlnaHQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YWZ0ZXIgewogIGNvbnRlbnQ6ICJcZjA2OCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMTBweDsKICByaWdodDogMDsKICBwYWRkaW5nOiA0cHggMTBweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLXJpZ2h0IC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhLmNvbGxhcHNlZDo6YWZ0ZXIgewogIGNvbnRlbnQ6ICJcZjA2NyI7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEgewogIHBhZGRpbmctbGVmdDogMzBweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tbGVmdCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjA2OCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMTBweDsKICBsZWZ0OiAwOwogIHBhZGRpbmc6IDNweCAxMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tbGVmdCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYS5jb2xsYXBzZWQ6OmJlZm9yZSB7CiAgY29udGVudDogIlxmMDY3IjsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWJvcmRlcmVkIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRkOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tYm9yZGVyZWQgLnBhbmVsIHsKICBib3JkZXI6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RkZGRkZDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWJvcmRlcmVkIC5wYW5lbDpsYXN0LWNoaWxkIHsKICBib3JkZXItYm90dG9tOiBub25lOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tYm9yZGVyZWQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWZsYXQgLnBhbmVsIHsKICBib3JkZXItcmFkaXVzOiAwOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tZmxhdCAucGFuZWwgLnBhbmVsLWhlYWRpbmcgewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIgewogIGJvcmRlcjogMDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLW5vLWJvcmRlciAucGFuZWwgewogIGJvcmRlcjogbm9uZTsKICBib3gtc2hhZG93OiBub25lOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tbm8tYm9yZGVyIC5wYW5lbDpsYXN0LWNoaWxkIHsKICBib3JkZXItYm90dG9tOiBub25lOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tbm8tYm9yZGVyIC5wYW5lbCAucGFuZWwtaGVhZGluZyB7CiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSB7CiAgZm9udC1zaXplOiAxNHB4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tbm8tYm9yZGVyIC5wYW5lbCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYSB7CiAgcGFkZGluZy1sZWZ0OiAwOwogIHBhZGRpbmctcmlnaHQ6IDA7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIgLnBhbmVsIC5wYW5lbC1ib2R5IHsKICBib3JkZXItdG9wOiBub25lOwogIHBhZGRpbmctbGVmdDogMDsKICBwYWRkaW5nLXJpZ2h0OiAwOwogIHBhZGRpbmctdG9wOiAwOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tbm8tYm9yZGVyLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhIHsKICBwYWRkaW5nLWxlZnQ6IDIwcHg7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIuYWNjb3JkaW9uLWljb24tbGVmdCAucGFuZWwgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YmVmb3JlIHsKICBwYWRkaW5nLWxlZnQ6IDA7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIuYWNjb3JkaW9uLWljb24tbGVmdCAucGFuZWwgLnBhbmVsLWJvZHkgewogIHBhZGRpbmctbGVmdDogMjBweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLW5vLWJvcmRlci5hY2NvcmRpb24taWNvbi1yaWdodCAucGFuZWwgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEgewogIHBhZGRpbmctcmlnaHQ6IDIwcHg7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1uby1ib3JkZXIuYWNjb3JkaW9uLWljb24tcmlnaHQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhOmJlZm9yZSB7CiAgcGFkZGluZy1yaWdodDogMDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tZmlsbGVkLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhIHsKICBwYWRkaW5nLWxlZnQ6IDMwcHg7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLWZpbGxlZC5hY2NvcmRpb24taWNvbi1sZWZ0IC5wYW5lbCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTpiZWZvcmUgewogIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7CiAgY29sb3I6ICNmZmY7CiAgcGFkZGluZzogNHB4IDZweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tZmlsbGVkLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsIC5wYW5lbC1ib2R5IHsKICBwYWRkaW5nLWxlZnQ6IDMwcHg7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1pY29uLWZpbGxlZC5hY2NvcmRpb24taWNvbi1yaWdodCAucGFuZWwgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGE6YWZ0ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7CiAgY29sb3I6ICNmZmY7CiAgcGFkZGluZzogNHB4IDZweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWljb24tZmlsbGVkLmFjY29yZGlvbi1pY29uLXJpZ2h0IC5wYW5lbCAucGFuZWwtYm9keSB7CiAgcGFkZGluZy1yaWdodDogMzBweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLXN0eWxpc2hlZC1sZWZ0LWJvcmRlciAucGFuZWwgewogIGJveC1zaGFkb3c6IG5vbmU7CiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDAgMCAwOwogIC1tb3otYm9yZGVyLXJhZGl1czogMDsKICAtbXMtYm9yZGVyLXJhZGl1czogMCAwIDAgMDsKICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOwogIGJvcmRlcjogbm9uZTsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1zdHlsaXNoZWQtbGVmdC1ib3JkZXIgLnBhbmVsOm5vdCg6bGFzdC1jaGlsZCk6YmVmb3JlIHsKICBib3JkZXItbGVmdDogMXB4IGRhc2hlZCAjY2NjY2NjOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAxNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDE1cHg7CiAgd2lkdGg6IDFweDsKICB6LWluZGV4OiAwOwp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tc3R5bGlzaGVkLWxlZnQtYm9yZGVyLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIHsKICBwYWRkaW5nLWJvdHRvbTogMTVweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLXN0eWxpc2hlZC1sZWZ0LWJvcmRlci5hY2NvcmRpb24taWNvbi1sZWZ0IC5wYW5lbCAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYSB7CiAgcGFkZGluZy1sZWZ0OiA0MHB4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tc3R5bGlzaGVkLWxlZnQtYm9yZGVyLmFjY29yZGlvbi1pY29uLWxlZnQgLnBhbmVsIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhOmJlZm9yZSB7CiAgYm9yZGVyLXJhZGl1czogNXB4OwogIGZvbnQtc2l6ZTogMTJweDsKICBwYWRkaW5nOiA2cHggMTBweDsKICB0b3A6IDVweDsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLXN0eWxpc2hlZC1sZWZ0LWJvcmRlci5hY2NvcmRpb24taWNvbi1sZWZ0IC5wYW5lbCAucGFuZWwtYm9keSB7CiAgcGFkZGluZy1sZWZ0OiA0MHB4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYyAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYSB7CiAgcGFkZGluZy1sZWZ0OiA0NXB4Owp9Ci5wYW5lbC1ncm91cC5hY2NvcmRpb24tY2xhc3NpYyAucGFuZWwtaGVhZGluZyAucGFuZWwtdGl0bGUgYTpiZWZvcmUgewogIGJhY2tncm91bmQ6ICNlZWU7CiAgY29udGVudDogIlxmMDY4IjsKICBjb2xvcjogIzMzMzsKICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7CiAgZm9udC1zaXplOiAxMHB4OwogIGxlZnQ6IDA7CiAgcGFkZGluZzogMTJweCAxNHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKfQoucGFuZWwtZ3JvdXAuYWNjb3JkaW9uLWNsYXNzaWMgLnBhbmVsLWhlYWRpbmcgLnBhbmVsLXRpdGxlIGEuY29sbGFwc2VkOjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjA2NyI7Cn0KLnBhbmVsLWdyb3VwLmFjY29yZGlvbi1jbGFzc2ljIC5wYW5lbC1oZWFkaW5nIC5wYW5lbC10aXRsZSBhLmFjdGl2ZTpiZWZvcmUgewogIGJhY2tncm91bmQ6ICMzMzM7CiAgY29sb3I6ICNmZmY7CiAgcGFkZGluZzogMTIuNXB4IDE0cHg7Cn0KLyogLS0tLS0tLS0gVG9nZ2xlIC0tLS0tLS0tLS0gKi8KLyoKICogU2hvcnRjb2RlOiB0aW1ldGFibGUtZnVsbGNhbGVuZGFyLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy1zY3JvbGxlciB7CiAgaGVpZ2h0OiBhdXRvOwogIG92ZXJmbG93OiBoaWRkZW47Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy10b29sYmFyIHsKICBkaXNwbGF5OiBub25lOwogIGhlaWdodDogMzhweDsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdG9vbGJhciBoMiB7CiAgY29sb3I6ICM3ZjdmN2Y7CiAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDE4cHg7CiAgZm9udC13ZWlnaHQ6IDQwMDsKICBsaW5lLWhlaWdodDogMzhweDsKICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdG9vbGJhciAuZmMtYnV0dG9uIHsKICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7CiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwogIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7CiAgYm94LXNoYWRvdzogbm9uZTsKICBib3gtc2l6aW5nOiBib3JkZXItYm94OwogIGhlaWdodDogMzhweDsKICBsaW5lLWhlaWdodDogMzZweDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIHdpZHRoOiA0MHB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdG9vbGJhciAuZmMtYnV0dG9uOmhvdmVyIHsKICBiYWNrZ3JvdW5kOiAjNWZjN2FlOwogIGJvcmRlci1jb2xvcjogIzVmYzdhZTsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRvb2xiYXIgLmZjLWJ1dHRvbjpob3ZlciAuZmMtaWNvbi5mYy1pY29uLWxlZnQtc2luZ2xlLWFycm93IHsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTA4cHggLTUwcHg7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy10b29sYmFyIC5mYy1idXR0b246aG92ZXIgLmZjLWljb24uZmMtaWNvbi1yaWdodC1zaW5nbGUtYXJyb3cgewogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMTVweCAtNTBweDsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRvb2xiYXIgLmZjLWJ1dHRvbiAuZmMtaWNvbiB7CiAgaGVpZ2h0OiAxMXB4OwogIHRvcDogLTFweDsKICB3aWR0aDogNnB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdG9vbGJhciAuZmMtYnV0dG9uIC5mYy1pY29uOmFmdGVyIHsKICBkaXNwbGF5OiBub25lOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdG9vbGJhciAuZmMtYnV0dG9uIC5mYy1pY29uLmZjLWljb24tbGVmdC1zaW5nbGUtYXJyb3cgewogIGJhY2tncm91bmQtcG9zaXRpb246IC0xMDBweCAtNTBweDsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRvb2xiYXIgLmZjLWJ1dHRvbiAuZmMtaWNvbi5mYy1pY29uLXJpZ2h0LXNpbmdsZS1hcnJvdyB7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMnB4IC01MHB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtZGF5LWhlYWRlciB7CiAgYmFja2dyb3VuZDogI2ZmZmZmZjsKICBjb2xvcjogIzdmN2Y3ZjsKICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTRweDsKICBmb250LXdlaWdodDogMzAwOwogIGxpbmUtaGVpZ2h0OiA1MnB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtdGltZS1ncmlkIC5mYy1kYXkuZmMtd2lkZ2V0LWNvbnRlbnQgewogIGJhY2tncm91bmQ6ICNmZmZmZmY7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy1heGlzIHsKICBiYWNrZ3JvdW5kOiAjZmZmZmZmOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIGxpIHsKICBtYXJnaW4tYm90dG9tOiAyMHB4Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIGEgewogIGJhY2tncm91bmQ6ICNlZWVlZWU7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlOwogIGJvcmRlci1yYWRpdXM6IDVweDsKICBjb2xvcjogIzMzMzMzMzsKICBwYWRkaW5nOiA1cHg7CiAgcGFkZGluZzogN3B4IDE1cHg7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5maWx0ZXItZGVwYXJ0bWVudHMgLmFjdGl2ZSB7CiAgYmFja2dyb3VuZDogIzg4ODg4ODsKICBib3JkZXItY29sb3I6ICM4ODg4ODg7CiAgY29sb3I6ICNmZmZmZmY7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5maWx0ZXItZGVwYXJ0bWVudHMgLmZjLWRlcGFydG1lbnRzLW9ydGhvcGFlZGljcyB7CiAgYmFja2dyb3VuZDogIzcyYTIzMDsKICBib3JkZXItY29sb3I6ICM3MmEyMzA7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5maWx0ZXItZGVwYXJ0bWVudHMgLmZjLWRlcGFydG1lbnRzLWNhcmRpb2xvZ3kgewogIGJhY2tncm91bmQ6ICNmZmFiMDA7CiAgYm9yZGVyLWNvbG9yOiAjZmZhYjAwOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIC5mYy1kZXBhcnRtZW50cy1uZXVyb2xvZ3kgewogIGJhY2tncm91bmQ6ICNmZDQwODQ7CiAgYm9yZGVyLWNvbG9yOiAjZmQ0MDg0Owp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIC5mYy1kZXBhcnRtZW50cy1kZW50YWwgewogIGJhY2tncm91bmQ6ICMwMGE0ZWY7CiAgYm9yZGVyLWNvbG9yOiAjMDBhNGVmOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmlsdGVyLWRlcGFydG1lbnRzIC5mYy1kZXBhcnRtZW50cy1oYWVtYXRvbG9neSB7CiAgYmFja2dyb3VuZDogIzgwYWNkZDsKICBib3JkZXItY29sb3I6ICM4MGFjZGQ7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy1ldmVudCB7CiAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgYm9yZGVyOiAwOwogIGJvcmRlcjogMnB4IHNvbGlkICM1ZmM3YWU7CiAgY29sb3I6ICNmZmZmZmY7CiAgZm9udC1mYW1pbHk6ICdMYXRvJywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDE2cHg7CiAgZm9udC13ZWlnaHQ6IDMwMDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtZXZlbnQgLmZjLWJnIHsKICBvcGFjaXR5OiAwOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtZXZlbnQgLmZjLWNvbnRlbnQgewogIHBhZGRpbmctbGVmdDogMTBweDsKICBwYWRkaW5nLXRvcDogMTBweDsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWV2ZW50IC5mYy1jb250ZW50IGRpdi5mYy10aW1lIHsKICBkaXNwbGF5OiBub25lOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtZXZlbnQuaGlkZSB7CiAgb3BhY2l0eTogMDsKICB6LWluZGV4OiAtMjsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWV2ZW50LmZjLWRlcGFydG1lbnRzLW9ydGhvcGFlZGljcyB7CiAgYmFja2dyb3VuZDogIzcyYTIzMDsKICBib3JkZXItY29sb3I6ICM3MmEyMzA7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy1ldmVudC5mYy1kZXBhcnRtZW50cy1jYXJkaW9sb2d5IHsKICBiYWNrZ3JvdW5kOiAjZmZhYjAwOwogIGJvcmRlci1jb2xvcjogI2ZmYWIwMDsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWV2ZW50LmZjLWRlcGFydG1lbnRzLW5ldXJvbG9neSB7CiAgYmFja2dyb3VuZDogI2ZkNDA4NDsKICBib3JkZXItY29sb3I6ICNmZDQwODQ7Cn0KLmZjLXRpbWV0YWJsZS13cmFwcGVyIC5mYy1ldmVudC5mYy1kZXBhcnRtZW50cy1kZW50YWwgewogIGJhY2tncm91bmQ6ICMwMGE0ZWY7CiAgYm9yZGVyLWNvbG9yOiAjMDBhNGVmOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciAuZmMtZXZlbnQuZmMtZGVwYXJ0bWVudHMtaGFlbWF0b2xvZ3kgewogIGJhY2tncm91bmQ6ICM4MGFjZGQ7CiAgYm9yZGVyLWNvbG9yOiAjODBhY2RkOwp9Ci5mYy10aW1ldGFibGUtd3JhcHBlciB0ZC5mYy10aW1lIHsKICBjb2xvcjogIzdmN2Y3ZjsKICBmb250LWZhbWlseTogJ0xhdG8nLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTJweDsKICBmb250LXdlaWdodDogNDAwOwogIGxpbmUtaGVpZ2h0OiA3MHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRpbWUtZ3JpZC1jb250YWluZXIgewogIGhlaWdodDogYXV0bzsKfQouZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWNvbnRlbnQtc2tlbGV0b24gLmZjLWV2ZW50LWNvbnRhaW5lciB7CiAgbWFyZ2luOiAwOwp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAuZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWRheS1oZWFkZXIgewogICAgZm9udC1zaXplOiAxMHB4OwogIH0KICAuZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGltZSwKICAuZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLXRpbWUtZ3JpZC1ldmVudCAuZmMtdGl0bGUgewogICAgZm9udC1zaXplOiAxMnB4OwogIH0KICAuZmMtdGltZXRhYmxlLXdyYXBwZXIgLmZjLWV2ZW50IC5mYy1jb250ZW50IHsKICAgIHBhZGRpbmctbGVmdDogMDsKICAgIHBhZGRpbmctdG9wOiAwOwogIH0KfQovKgogKiBTaG9ydGNvZGU6IFZlcnRpY2FsLVRpbWVsaW5lLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmNkLXRpbWVsaW5lLWNvbnRlbnQgewogIGJhY2tncm91bmQ6ICNmMWYxZjE7Cn0KLmNkLXRpbWVsaW5lLWNvbnRlbnQ6OmJlZm9yZSB7CiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZWVlOwp9Ci5jZC10aW1lbGluZS1ibG9jazpudGgtY2hpbGQoMm4pIC5jZC10aW1lbGluZS1jb250ZW50OjpiZWZvcmUgewogIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2VlZSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsKfQojY2QtdGltZWxpbmUuY2QtdGltZWxpbmUtc2ltcGxlOjpiZWZvcmUgewogIGJhY2tncm91bmQ6ICNjY2Mgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBoZWlnaHQ6IDgyJTsKICB0b3A6IDY1cHg7CiAgd2lkdGg6IDJweDsKfQojY2QtdGltZWxpbmUuY2QtdGltZWxpbmUtc2ltcGxlLnRpbWUtbGluZS1tZWRpYTo6YmVmb3JlIHsKICBoZWlnaHQ6IDY1JTsKfQouY2QtdGltZWxpbmUtc2ltcGxlIC5jZC10aW1lbGluZS1ibG9jayB7CiAgbWFyZ2luOiAzOHB4IDAgMjBweCAwOwp9Ci5jZC10aW1lbGluZS1zaW1wbGUgLmNkLXRpbWVsaW5lLWJsb2NrIC5jZC10aW1lbGluZS1jb250ZW50OjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmNkLXRpbWVsaW5lLXNpbXBsZSAuY2QtdGltZWxpbmUtYmxvY2sgLmNkLXRpbWVsaW5lLWNvbnRlbnQgewogIHBhZGRpbmctdG9wOiAwOwogIGJhY2tncm91bmQ6IG5vbmU7CiAgYm94LXNoYWRvdzogbm9uZTsKfQouY2QtdGltZWxpbmUtc2ltcGxlIC5jZC10aW1lbGluZS1ibG9jayAuY2QtdGltZWxpbmUtY29udGVudCBwIHsKICBmb250LXNpemU6IDE0cHg7Cn0KLmNkLXRpbWVsaW5lLXNpbXBsZSAuY2QtdGltZWxpbmUtYmxvY2sgLmNkLXRpbWVsaW5lLWltZyB7CiAgYmFja2dyb3VuZDogIzMzMyBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjY2NjLCAwIDNweCAwIHJnYmEoMCwgMCwgMCwgMC4wNikgaW5zZXQsIDAgMHB4IDAgM3B4IHJnYmEoMCwgMCwgMCwgMC4wNSk7Cn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIC5jZC10aW1lbGluZS1zaW1wbGUgLmNkLXRpbWVsaW5lLWJsb2NrIC5jZC10aW1lbGluZS1jb250ZW50IHsKICAgIHRleHQtYWxpZ246IGxlZnQ7CiAgfQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAuY2QtdGltZWxpbmUtc2ltcGxlIC5jZC10aW1lbGluZS1ibG9jayAuY2QtdGltZWxpbmUtY29udGVudCB7CiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk5MnB4KSB7CiAgLmNkLXRpbWVsaW5lLXNpbXBsZSAuY2QtdGltZWxpbmUtYmxvY2sgLmNkLXRpbWVsaW5lLWNvbnRlbnQgaDIgewogICAgZm9udC1zaXplOiAyMHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLmNkLXRpbWVsaW5lLXNpbXBsZSAuY2QtdGltZWxpbmUtYmxvY2sgLmNkLXRpbWVsaW5lLWNvbnRlbnQgaDIgewogICAgZm9udC1zaXplOiAxOHB4OwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLmNkLXRpbWVsaW5lLXNpbXBsZSAuY2QtdGltZWxpbmUtYmxvY2sgLmNkLXRpbWVsaW5lLWNvbnRlbnQgLmNkLWRhdGUgewogICAgZm9udC1zaXplOiAxNHB4OwogIH0KfQovKiBWZXJ0aWNhbCBNYXNvbnJ5IFRpbWVsaW5lICovCi52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbSB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHdpZHRoOiA1MCU7CiAgbWFyZ2luLWJvdHRvbTogMzBweDsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDIpIHsKICBtYXJnaW4tdG9wOiA4MHB4Owp9Ci52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbTpudGgtY2hpbGQoMm4pIHsKICBwYWRkaW5nLWxlZnQ6IDUwcHg7Cn0KLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtOm50aC1jaGlsZCgybisxKSB7CiAgcGFkZGluZy1yaWdodDogNTBweDsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW0gLnRpbWVsaW5lLWJsb2NrIHsKICBiYWNrZ3JvdW5kOiAjZmZmIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm9yZGVyOiAxcHggc29saWQgI2Q3ZTRlZDsKICBoZWlnaHQ6IDEwMCU7CiAgcGFkZGluZzogMjBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgd2lkdGg6IDEwMCU7Cn0KLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtIC50aW1lbGluZS1ibG9jazpiZWZvcmUsCi52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbSAudGltZWxpbmUtYmxvY2s6YWZ0ZXIgewogIGJvcmRlci1zdHlsZTogc29saWQ7CiAgYm9yZGVyLXdpZHRoOiA4cHg7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMjBweDsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIC50aW1lbGluZS1ibG9jazpiZWZvcmUgewogIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSByZ2JhKDAsIDAsIDAsIDApIHJnYmEoMCwgMCwgMCwgMCkgI2M2ZDJkYjsKICBsZWZ0OiBhdXRvOwogIHJpZ2h0OiAtMTZweDsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIC50aW1lbGluZS1ibG9jazphZnRlciB7CiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApIHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKSAjZmZmZmZmOwogIGxlZnQ6IGF1dG87CiAgcmlnaHQ6IC0xNXB4Owp9Ci52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbTpudGgtY2hpbGQoMm4pIC50aW1lbGluZS1ibG9jazpiZWZvcmUgewogIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSAjYzZkMmRiIHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKTsKICBsZWZ0OiAtMTZweDsKICByaWdodDogYXV0bzsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKSAudGltZWxpbmUtYmxvY2s6YWZ0ZXIgewogIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSAjZmZmZmZmIHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKTsKICBsZWZ0OiAtMTVweDsKICByaWdodDogYXV0bzsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIC50aW1lbGluZS1wb3N0LWZvcm1hdCB7CiAgbGVmdDogYXV0bzsKICByaWdodDogLTgycHg7Cn0KLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtOm50aC1jaGlsZCgybikgLnRpbWVsaW5lLXBvc3QtZm9ybWF0IHsKICBsZWZ0OiAtODBweDsKICByaWdodDogYXV0bzsKfQoudGltZWxpbmUtcG9zdC1mb3JtYXQgewogIGJvcmRlcjogM3B4IHNvbGlkICNiYmI7CiAgYm9yZGVyLXJhZGl1czogMTAwJTsKICBjb2xvcjogI2JiYjsKICBoZWlnaHQ6IDYwcHg7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAtMnB4OwogIHdpZHRoOiA2MHB4OwogIHotaW5kZXg6IDE7Cn0KLnRpbWVsaW5lLXBvc3QtZm9ybWF0OmFmdGVyIHsKICBiYWNrZ3JvdW5kOiAjZmZmIG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgY29sb3I6ICNmZmY7CiAgY29udGVudDogIiI7CiAgZGlzcGxheTogYmxvY2s7CiAgaGVpZ2h0OiAxMDAlOwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICB3aWR0aDogMTAwJTsKfQoudGltZWxpbmUtcG9zdC1mb3JtYXQgaSB7CiAgZm9udC1zaXplOiAxOHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB6LWluZGV4OiAxOwogIGxlZnQ6IDUwJTsKICB0b3A6IDUwJTsKICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTsKfQoudmVydGljYWwtbWFzb25yeS10aW1lbGluZS13cmFwcGVyOmJlZm9yZSB7CiAgYmFja2dyb3VuZDogI2RkZCBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvdHRvbTogMDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogNTAlOwogIG1hcmdpbi1sZWZ0OiAwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA0cHg7Cn0KLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUtd3JhcHBlcjphZnRlciB7CiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKSBsaW5lYXItZ3JhZGllbnQoI2RkZCwgdHJhbnNwYXJlbnQpIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvdHRvbTogLTEwMHB4OwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTAwcHg7CiAgbGVmdDogNTAlOwogIG1hcmdpbi1sZWZ0OiAwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA0cHg7Cn0KLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmU6OmFmdGVyIHsKICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgI2RkZCkgcmVwZWF0IHNjcm9sbCAwIDA7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxMDBweDsKICBsZWZ0OiA1MCU7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogLTY1cHg7CiAgd2lkdGg6IDRweDsKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtLml0ZW0tcmlnaHQgewogICAgcGFkZGluZy1yaWdodDogMHB4OwogICAgcGFkZGluZy1sZWZ0OiA1MHB4OwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW0uaXRlbS1yaWdodCAudGltZWxpbmUtYmxvY2s6YmVmb3JlIHsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSAjYzZkMmRiIHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKTsKICAgIGxlZnQ6IC0xNnB4OwogICAgcmlnaHQ6IGF1dG87CiAgfQogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbS5pdGVtLXJpZ2h0IC50aW1lbGluZS1ibG9jazphZnRlciB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgI2ZmZmZmZiByZ2JhKDAsIDAsIDAsIDApIHJnYmEoMCwgMCwgMCwgMCk7CiAgICBsZWZ0OiAtMTVweDsKICAgIHJpZ2h0OiBhdXRvOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW0uaXRlbS1yaWdodCAudGltZWxpbmUtcG9zdC1mb3JtYXQgewogICAgbGVmdDogLTgwcHg7CiAgICByaWdodDogYXV0bzsKICB9CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtLml0ZW0tbGVmdCB7CiAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OwogICAgcGFkZGluZy1sZWZ0OiAwcHg7CiAgfQogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbS5pdGVtLWxlZnQgLnRpbWVsaW5lLWJsb2NrOmJlZm9yZSB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKSByZ2JhKDAsIDAsIDAsIDApICNjNmQyZGI7CiAgICByaWdodDogLTE2cHg7CiAgICBsZWZ0OiBhdXRvOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW0uaXRlbS1sZWZ0IC50aW1lbGluZS1ibG9jazphZnRlciB7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKSByZ2JhKDAsIDAsIDAsIDApICNmZmZmZmY7CiAgICByaWdodDogLTE1cHg7CiAgICBsZWZ0OiBhdXRvOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW0uaXRlbS1sZWZ0IC50aW1lbGluZS1wb3N0LWZvcm1hdCB7CiAgICByaWdodDogLTgxcHg7CiAgICBsZWZ0OiBhdXRvOwogIH0KfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtIHsKICAgIHdpZHRoOiAxMDAlOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIHsKICAgIHBhZGRpbmctcmlnaHQ6IDBweDsKICAgIHBhZGRpbmctbGVmdDogNzFweDsKICB9CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtOm50aC1jaGlsZCgybikgewogICAgcGFkZGluZy1sZWZ0OiA3MXB4OwogICAgcGFkZGluZy1yaWdodDogaW5oZXJpdDsKICB9CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtOm50aC1jaGlsZCgyKSB7CiAgICBtYXJnaW4tdG9wOiAwOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKzEpIC50aW1lbGluZS1wb3N0LWZvcm1hdCB7CiAgICBsZWZ0OiAtNzJweDsKICAgIHJpZ2h0OiBhdXRvOwogIH0KICAudmVydGljYWwtbWFzb25yeS10aW1lbGluZSAuZWFjaC1tYXNvbnJ5LWl0ZW06bnRoLWNoaWxkKDJuKSAudGltZWxpbmUtcG9zdC1mb3JtYXQgewogICAgbGVmdDogLTcycHg7CiAgfQogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lIC5lYWNoLW1hc29ucnktaXRlbTpudGgtY2hpbGQoMm4rMSkgLnRpbWVsaW5lLWJsb2NrOjpiZWZvcmUgewogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApICNjNmQyZGIgcmdiYSgwLCAwLCAwLCAwKSByZ2JhKDAsIDAsIDAsIDApOwogICAgbGVmdDogLTE2cHg7CiAgICByaWdodDogYXV0bzsKICB9CiAgLnZlcnRpY2FsLW1hc29ucnktdGltZWxpbmUgLmVhY2gtbWFzb25yeS1pdGVtOm50aC1jaGlsZCgybisxKSAudGltZWxpbmUtYmxvY2s6OmFmdGVyIHsKICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKSAjZmZmZmZmIHJnYmEoMCwgMCwgMCwgMCkgcmdiYSgwLCAwLCAwLCAwKTsKICAgIGxlZnQ6IC0xNXB4OwogICAgcmlnaHQ6IGF1dG87CiAgfQogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lOmFmdGVyIHsKICAgIGxlZnQ6IDI5cHg7CiAgfQogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lLXdyYXBwZXI6YmVmb3JlLAogIC52ZXJ0aWNhbC1tYXNvbnJ5LXRpbWVsaW5lLXdyYXBwZXI6YWZ0ZXIgewogICAgbGVmdDogNDRweDsKICB9Cn0KLyoKICogU2hvcnRjb2RlOiBXb3JraW5nLVByb2Nlc3MubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoud29ya2luZy1wcm9jZXNzID4gbGkgewogIGZsb2F0OiBsZWZ0OwogIG92ZXJmbG93OiBoaWRkZW47CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHRleHQtYWxpZ246IGNlbnRlcjsKfQoud29ya2luZy1wcm9jZXNzID4gbGk6OmFmdGVyIHsKICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMzMzMzMzM7CiAgY29udGVudDogIiI7CiAgbGVmdDogNnB4OwogIG1hcmdpbi1sZWZ0OiAtMzJweDsKICBvdmVyZmxvdzogaGlkZGVuOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDI1cHg7CiAgd2lkdGg6IDUwJTsKfQoud29ya2luZy1wcm9jZXNzID4gbGk6OmJlZm9yZSB7CiAgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCAjMzMzMzMzOwogIGNvbnRlbnQ6ICIiOwogIG1hcmdpbi1yaWdodDogLTI1cHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHRvcDogMjVweDsKICB3aWR0aDogNTAlOwp9Ci53b3JraW5nLXByb2Nlc3MgPiBsaSA6Zmlyc3QtY2hpbGQ6OmFmdGVyIHsKICBib3JkZXItdG9wOiBtZWRpdW0gbm9uZTsKfQoud29ya2luZy1wcm9jZXNzID4gbGkgOmxhc3QtY2hpbGQ6OmJlZm9yZSB7CiAgYm9yZGVyLXRvcDogbWVkaXVtIG5vbmU7Cn0KLndvcmtpbmctcHJvY2VzcyBsaSBhIHsKICBib3JkZXI6IDFweCBzb2xpZDsKICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgaGVpZ2h0OiA1MHB4OwogIGxpbmUtaGVpZ2h0OiA1MHB4OwogIG92ZXJmbG93OiBoaWRkZW47CiAgd2lkdGg6IDUwcHg7CiAgYm9yZGVyLXJhZGl1czogNTAlOwp9Ci53b3JraW5nLXByb2Nlc3MgbGkgYTpob3ZlciB7CiAgYmFja2dyb3VuZDogIzMzMzMzMyBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50OwogIGNvbG9yOiAjZmZmOwp9Ci53b3JraW5nLXByb2Nlc3MgbGkgYSBpIHsKICBmb250LXNpemU6IDE4cHg7Cn0KLndvcmtpbmctcHJvY2Vzcy5zcXVhcmUgbGkgYSwKLndvcmtpbmctcHJvY2Vzcy5zcXVhcmUubGFyZ2UtY2lyY2xlIGxpIGEgewogIGJvcmRlci1yYWRpdXM6IDA7Cn0KLndvcmtpbmctcHJvY2Vzcy5sYXJnZS1jaXJjbGUgbGkgYSB7CiAgaGVpZ2h0OiAxMjBweDsKICBsaW5lLWhlaWdodDogMTMwcHg7CiAgd2lkdGg6IDEyMHB4OwogIGJvcmRlci1yYWRpdXM6IDUwJTsKfQoud29ya2luZy1wcm9jZXNzLmxhcmdlLWNpcmNsZSBsaSBhIGkgewogIGZvbnQtc2l6ZTogMjhweDsKfQoud29ya2luZy1wcm9jZXNzLmxhcmdlLWNpcmNsZSA+IGxpOjpiZWZvcmUgewogIG1hcmdpbi1yaWdodDogLTYwcHg7CiAgdG9wOiA2MHB4Owp9Ci53b3JraW5nLXByb2Nlc3MubGFyZ2UtY2lyY2xlID4gbGk6OmFmdGVyIHsKICBtYXJnaW4tbGVmdDogLTY0cHg7CiAgdG9wOiA2MHB4Owp9Ci53b3JraW5nLXByb2Nlc3MudGhlbWUtY29sb3JlZCBsaSBhIHsKICBjb2xvcjogI2ZmZjsKfQovKgogKiBTaG9ydGNvZGU6IHNsaWNrLXNsaWRlci5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIHsKICBtYXJnaW46IDBweCAyMHB4OwogIHRyYW5zaXRpb246IGFsbCBlYXNlLWluLW91dCAwLjNzOwogIG9wYWNpdHk6IC4yOwp9Ci5zbGljay1zbGlkZXIgLnNsaWNrLXNsaWRlIGltZyB7CiAgd2lkdGg6IDEwMCU7Cn0KLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldjpiZWZvcmUsCi5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQ6YmVmb3JlIHsKICBjb2xvcjogYmxhY2s7Cn0KLnNsaWNrLXNsaWRlciAuc2xpY2stYWN0aXZlIHsKICBvcGFjaXR5OiAuNTsKfQouc2xpY2stc2xpZGVyIC5zbGljay1jdXJyZW50IHsKICBvcGFjaXR5OiAxOwp9Ci8qIHNsaWNrIHNsaWRlciB3aXRoIGNlbnRlciBmb2N1cyBtb2RlICovCi5zbGljay1zbGlkZXItY2VudGVyLW1vZGUgewogIHBhZGRpbmctdG9wOiA4MHB4OwogIHBhZGRpbmctYm90dG9tOiA4MHB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1zbGlkZXIgewogIHRleHQtYWxpZ246IGNlbnRlcjsKICBwb3NpdGlvbjogc3RhdGljOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2LAouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1zbGlkZXIgLnNsaWNrLW5leHQgewogIHotaW5kZXg6IDExMTsKICB3aWR0aDogNDBweDsKICBoZWlnaHQ6IDQwcHg7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyIC5zbGljay1wcmV2OmJlZm9yZSwKLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyIC5zbGljay1uZXh0OmJlZm9yZSB7CiAgZm9udC1zaXplOiA0MHB4Owp9Ci5zbGljay1zbGlkZXItY2VudGVyLW1vZGUgLnNsaWNrLXNsaWRlciAuc2xpY2stcHJldjpob3ZlcjpiZWZvcmUsCi5zbGljay1zbGlkZXItY2VudGVyLW1vZGUgLnNsaWNrLXNsaWRlciAuc2xpY2stbmV4dDpob3ZlcjpiZWZvcmUgewogIG9wYWNpdHk6IC42NTsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1zbGlkZSB7CiAgbWFyZ2luOiAwcHg7CiAgb3BhY2l0eTogaW5oZXJpdDsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1saXN0IHsKICBvdmVyZmxvdzogdmlzaWJsZTsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1zbGlkZXItaW5uZXIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB6LWluZGV4OiAxOwogIG1hcmdpbi1sZWZ0OiAxNXB4OwogIG1hcmdpbi1yaWdodDogMTVweDsKICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsKICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0OwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyLWlubmVyIC5zbGljay1zbGlkZXItb3ZlcmxheSB7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiAxMDAlOwogIGhlaWdodDogMTAwJTsKICBsZWZ0OiAwOwogIHRvcDogMDsKICB6LWluZGV4OiAxMDA7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyLWlubmVyIC50aHVtYiB7CiAgZGlzcGxheTogYmxvY2s7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIGJhY2tncm91bmQ6ICMyNTI1MjU7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stc2xpZGVyLWlubmVyIC50aHVtYiBpbWcgewogIHdpZHRoOiAxMDAlOwogIGRpc3BsYXk6IGJsb2NrOwogIG9wYWNpdHk6IDAuMzsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MzApOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2Utb3V0OwogIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1vdXQ7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLW91dDsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1jZW50ZXIgLnNsaWNrLXNsaWRlci1pbm5lciB7CiAgdHJhbnNmb3JtOiBzY2FsZSgxLjMpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEuMyk7CiAgei1pbmRleDogMjsKfQouc2xpY2stc2xpZGVyLWNlbnRlci1tb2RlIC5zbGljay1jZW50ZXIgLnNsaWNrLXNsaWRlci1pbm5lciAuc2xpY2stc2xpZGVyLW92ZXJsYXkgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNsaWNrLXNsaWRlci1jZW50ZXItbW9kZSAuc2xpY2stY2VudGVyIC5zbGljay1zbGlkZXItaW5uZXIgLnRodW1iIGltZyB7CiAgb3BhY2l0eTogMTsKICBmaWx0ZXI6IGFscGhhKG9wYWNpdHk9MTAwKTsKfQovKgogKiBXaWRnZXRzLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLyogLS0tLS0tLS0gVG9wIFNlYXJjaCBCYXIgLS0tLS0tLS0tLSAqLwouc2VhcmNoLWZvcm0td3JhcHBlciB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIC8qIGZvcm0gYWJzb2x1dGUgKi8KfQouc2VhcmNoLWZvcm0td3JhcHBlci50b2dnbGUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIudG9nZ2xlLmFjdGl2ZSB7CiAgZGlzcGxheTogYmxvY2s7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIgZm9ybSB7CiAgcGFkZGluZzogMTBweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIgZm9ybSBsYWJlbCB7CiAgbWFyZ2luOiAwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAxMXB4OwogIHRvcDogMTFweDsKfQouc2VhcmNoLWZvcm0td3JhcHBlciBmb3JtIGxhYmVsOmJlZm9yZSB7CiAgY29sb3I6ICM1NTU1NTU7CiAgY3Vyc29yOiBwb2ludGVyOwogIGNvbnRlbnQ6ICJcZjAwMiI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMTZweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDEzcHg7CiAgdG9wOiA2cHg7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0gewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDsKICBoZWlnaHQ6IDQ2cHg7CiAgcGFkZGluZzogOHB4IDE3cHg7CiAgd2lkdGg6IDEwMCU7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIgZm9ybSBpbnB1dFt0eXBlPSJzdWJtaXQiXSB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsKICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjMGMwYzA7CiAgYm9yZGVyOiBub25lOwogIGhlaWdodDogNDRweDsKICB3aWR0aDogNTBweDsKICB0ZXh0LWluZGVudDogLTk5OXB4Owp9Ci5zZWFyY2gtZm9ybS13cmFwcGVyLmZvcm0tYWJzb2x1dGUgZm9ybSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzMzMzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDBweDsKICB0b3A6IDEycHg7CiAgd2lkdGg6IDM3MHB4OwogIHotaW5kZXg6IDk5Owp9Ci8qIC0tLS0tLS0tIEZvcm0gUm91bmQgLS0tLS0tLS0tLSAqLwouc2VhcmNoLWZvcm0td3JhcHBlci5yb3VuZCBmb3JtIGlucHV0W3R5cGU9InRleHQiXSB7CiAgYm9yZGVyLXJhZGl1czogMzBweDsKICBib3JkZXItd2lkdGg6IDRweDsKfQouc2VhcmNoLWZvcm0td3JhcHBlci5yb3VuZCBmb3JtIGlucHV0W3R5cGU9InN1Ym1pdCJdIHsKICBoZWlnaHQ6IGF1dG87CiAgd2lkdGg6IGF1dG87CiAgbWFyZ2luLXJpZ2h0OiAxMHB4OwogIG1hcmdpbi10b3A6IDEwcHg7Cn0KLnNlYXJjaC1mb3JtLXdyYXBwZXIucm91bmQgZm9ybSBsYWJlbDo6YmVmb3JlIHsKICBjb2xvcjogI2MwYzBjMDsKfQovKiAtLS0tLS0tLSBGb290ZXIgJiBTaWRlYmFyIFdpZGdldHMgLS0tLS0tLS0tLSAqLwoud2lkZ2V0IHsKICBtYXJnaW4tYm90dG9tOiA0MHB4Owp9Ci53aWRnZXQgLndpZGdldC10aXRsZSB7CiAgbWFyZ2luLXRvcDogMDsKICBtYXJnaW4tYm90dG9tOiAyMHB4OwogIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZjsKICBmb250LXNpemU6IDE4cHg7CiAgZm9udC13ZWlnaHQ6IDUwMDsKfQoud2lkZ2V0IHVsIGxpIHsKICBtYXJnaW4tYm90dG9tOiA1cHg7CiAgcGFkZGluZy1ib3R0b206IDVweDsKfQoud2lkZ2V0IHVsLmxpc3QgbGksCi53aWRnZXQgLnBvc3QgewogIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgcGFkZGluZy1ib3R0b206IDEwcHg7Cn0KLndpZGdldCAubGlzdC1ib3JkZXIgbGkgewogIG1hcmdpbi1ib3R0b206IDA7CiAgcGFkZGluZzogMTBweCAwOwp9Ci53aWRnZXQuYnJvY2h1cmVzID4gbGkgewogIG1hcmdpbi1ib3R0b206IDEwcHg7CiAgcGFkZGluZzogMTBweDsKfQoud2lkZ2V0LmJyb2NodXJlcyBpIHsKICBjb2xvcjogIzY2NjY2NjsKICBmb250LXNpemU6IDE2cHg7CiAgbWFyZ2luLXJpZ2h0OiAxMHB4Owp9Ci53aWRnZXQuYWRkcmVzcyA+IGxpIHsKICBmb250LXNpemU6IDEzcHg7CiAgbWFyZ2luLWJvdHRvbTogMTBweDsKICBwYWRkaW5nOiA1cHggMTBweDsKfQoud2lkZ2V0LmFkZHJlc3MgPiBsaSBpIHsKICBmb250LXNpemU6IDE2cHg7CiAgbWFyZ2luLXJpZ2h0OiA4cHg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoud2lkZ2V0IC50d2l0dGVyLWZlZWQgbGksCi53aWRnZXQgLnR3aXR0ZXItZmVlZC1jYXJvdXNlbCBsaSB7CiAgZm9udC1zaXplOiAxM3B4OwogIG1hcmdpbi1ib3R0b206IDE1cHg7CiAgbWFyZ2luLXRvcDogMHB4OwogIHBhZGRpbmctbGVmdDogMzBweDsKfQoud2lkZ2V0IC50d2l0dGVyLWZlZWQgbGkuaXRlbSwKLndpZGdldCAudHdpdHRlci1mZWVkLWNhcm91c2VsIGxpLml0ZW0gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoud2lkZ2V0IC50d2l0dGVyLWZlZWQgbGk6OmFmdGVyLAoud2lkZ2V0IC50d2l0dGVyLWZlZWQtY2Fyb3VzZWwgbGk6OmFmdGVyIHsKICBjb250ZW50OiAiXGYwOTkiOwogIGZvbnQtc2l6ZTogMjRweDsKICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdG9wOiAwOwp9Ci53aWRnZXQgLnN0eWxlZC1pY29ucyBsaSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQoud2lkZ2V0IC5zdHlsZWQtaWNvbnMgbGkgYSB7CiAgbWFyZ2luLWJvdHRvbTogMDsKfQoud2lkZ2V0IC50YWdzIGEgewogIGJvcmRlcjogMXB4IHNvbGlkICNkM2QzZDM7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIGZvbnQtc2l6ZTogMTFweDsKICBtYXJnaW46IDVweCA0cHggNXB4IC0ycHg7CiAgcGFkZGluZzogNXB4IDEwcHg7Cn0KLndpZGdldCAudGFncyBhOmhvdmVyIHsKICBjb2xvcjogI2ZmZjsKfQoud2lkZ2V0IC5zZWFyY2gtaW5wdXQgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDsKICBib3JkZXItcmFkaXVzOiBpbml0aWFsOwogIGJveC1zaGFkb3c6IG5vbmU7CiAgaGVpZ2h0OiA0NXB4OwogIHBhZGRpbmc6IDEwcHg7Cn0KLndpZGdldCAuc2VhcmNoLWJ1dHRvbiB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMDsKICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwOwogIGJvcmRlci1yYWRpdXM6IDA7CiAgaGVpZ2h0OiA0NXB4Owp9Ci53aWRnZXQgLm5hdi10YWJzIGxpIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgbWFyZ2luLWJvdHRvbTogLTJweDsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQoud2lkZ2V0IC5uYXYtdGFicyBsaTpob3ZlciB7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50Owp9Ci53aWRnZXQgLnBvc3QtdGl0bGUgYSB7CiAgbGV0dGVyLXNwYWNpbmc6IDA7CiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmOwogIGZvbnQtc2l6ZTogMTRweDsKICBmb250LXdlaWdodDogNTAwOwp9Ci53aWRnZXQgLnF1aWNrLWNvbnRhY3QtZm9ybSAuZm9ybS1jb250cm9sIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MSwgMjQxLCAyNDEsIDAuOCk7CiAgYm9yZGVyLWNvbG9yOiAjZDNkM2QzOwogIGNvbG9yOiAjYTlhOWE5Owp9Ci53aWRnZXQgLnByb2R1Y3QtbGlzdCAucHJvZHVjdC10aXRsZSB7CiAgZm9udC1zaXplOiAxNHB4OwogIGZvbnQtd2VpZ2h0OiA0MDA7Cn0KLndpZGdldCAudGVzdGltb25pYWwtd2lkZ2V0LWNhcm91c2VsIC5pdGVtIGltZyB7CiAgZGlzcGxheTogaW5saW5lOwogIHdpZHRoOiBhdXRvOwogIGZsb2F0OiByaWdodDsKfQoud2lkZ2V0LmRhcmsgLndpZGdldC10aXRsZSB7CiAgY29sb3I6ICNmZmY7Cn0KLndpZGdldC5kYXJrIC50YWdzIGEgewogIGJvcmRlcjogMXB4IHNvbGlkICM3Nzc3Nzc7Cn0KLndpZGdldC5kYXJrIC53aWRnZXQtaW1hZ2UtY2Fyb3VzZWwgLnRpdGxlIHsKICBjb2xvcjogI2ZmZjsKfQoud2lkZ2V0LmRhcmsgLnNlYXJjaC1pbnB1dCB7CiAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMzsKfQoud2lkZ2V0LmRhcmsgLnN0eWxlZC1pY29ucyBsaSBhOmhvdmVyIGkgewogIGNvbG9yOiAjZmZmOwp9Ci53aWRnZXQuZGFyayAuc2VhcmNoLWJ1dHRvbiB7CiAgYm9yZGVyOiAxcHggc29saWQgIzMzMzMzMzsKfQoud2lkZ2V0LmRhcmsgLndpZGdldC1zdWJzY3JpYmUgLnN1YnNjcmliZS10aXRsZSB7CiAgY29sb3I6ICNmZmY7Cn0KLndpZGdldC5kYXJrIC53aWRnZXQtc3Vic2NyaWJlIC5zdWJzY3JpYmUtc3ViLXRpdGxlIHsKICBjb2xvcjogIzY2NjY2NjsKfQoud2lkZ2V0LmRhcmsgLm5hdi10YWJzIGxpIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgbWFyZ2luLWJvdHRvbTogLTJweDsKICBwYWRkaW5nLWJvdHRvbTogMDsKfQoud2lkZ2V0LmRhcmsgLm5hdi10YWJzIGxpOmhvdmVyIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7Cn0KLndpZGdldC5kYXJrIC5uYXYtdGFicyBsaTpob3ZlciBhIHsKICBib3JkZXI6IDFweCBzb2xpZCAjNTU1NTU1Owp9Ci53aWRnZXQuZGFyayAubmF2LXRhYnMgbGkuYWN0aXZlIGEgewogIC1tb3otYm9yZGVyLWJvdHRvbS1jb2xvcnM6IG5vbmU7CiAgLW1vei1ib3JkZXItbGVmdC1jb2xvcnM6IG5vbmU7CiAgLW1vei1ib3JkZXItcmlnaHQtY29sb3JzOiBub25lOwogIC1tb3otYm9yZGVyLXRvcC1jb2xvcnM6IG5vbmU7CiAgYmFja2dyb3VuZDogIzMzMzMzMyBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvcmRlci1jb2xvcjogIzU1NTU1NSAjNTU1NTU1IHRyYW5zcGFyZW50OwogIGJvcmRlci1pbWFnZTogbm9uZTsKICBib3JkZXItc3R5bGU6IHNvbGlkOwogIGJvcmRlci13aWR0aDogMXB4Owp9Ci53aWRnZXQuZGFyayAucHJvZHVjdC10aXRsZSBhIHsKICBjb2xvcjogIzgwODA4MDsKfQoud2lkZ2V0LmRhcmsgLnBvc3QtdGl0bGUgYSB7CiAgY29sb3I6ICNkZGQ7Cn0KLndpZGdldC5kYXJrIC50YWItY29udGVudCB7CiAgYmFja2dyb3VuZDogIzMzMzMzMyBub25lIHJlcGVhdCBzY3JvbGwgMCAwOwogIGJvcmRlcjogMXB4IHNvbGlkICM1NTU1NTU7Cn0KLndpZGdldC5kYXJrIC5xdWljay1jb250YWN0LWZvcm0gLmZvcm0tY29udHJvbCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAwLjMpOwogIGJvcmRlci1jb2xvcjogIzMzMzMzMzsKfQoud2lkZ2V0Lm5vLWJvcmRlciB1bCBsaSB7CiAgYm9yZGVyOiBub25lOwogIHBhZGRpbmctYm90dG9tOiAwOwogIG1hcmdpbi1ib3R0b206IDA7Cn0KLndpZGdldCB1bC5saXN0IGxpOjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLndpZGdldC5kYXJrIHVsLmxpc3QgbGk6OmJlZm9yZSB7CiAgZGlzcGxheTogbm9uZTsKfQovKiAtLS0tLS0tLUhvcml6b250YWwgQ29udGFjdCBXaWRnZXQgIC0tLS0tLS0tLS0gKi8KLmhvcml6b250YWwtY29udGFjdC13aWRnZXQgewogIGJvcmRlci10b3A6IDFweCBkYXNoZWQgI2QzZDNkMzsKfQouaG9yaXpvbnRhbC1jb250YWN0LXdpZGdldCAuZWFjaC13aWRnZXQ6OmJlZm9yZSB7CiAgY29udGVudDogIlxmMTExIjsKICBmb250LWZhbWlseTogRm9udEF3ZXNvbWU7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAtNDJweDsKfQovKiAtLS0tLS0tLSBIb3Jpem9udGFsIENvbnRhY3QgV2lkZ2V0IERhcmsgLS0tLS0tLS0tLSAqLwouaG9yaXpvbnRhbC1jb250YWN0LXdpZGdldC5kYXJrIHsKICBib3JkZXItdG9wOiAxcHggZGFzaGVkICMzMzMzMzM7Cn0KLndpZGdldC5kYXJrIC5idG4uYnRuLWRlZmF1bHQgewogIGJvcmRlci1jb2xvcjogIzMzMzsKfQovKiAtLS0tLS0tLSBGbGlja3ItRmVlZCAtLS0tLS0tLS0tICovCiNmbGlja3ItZmVlZCBpbWcgewogIGJhY2tncm91bmQ6IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgIzAwMDsKICBmbG9hdDogbGVmdDsKICBoZWlnaHQ6IDYwcHg7CiAgbWFyZ2luOiAwIDVweCA1cHggMDsKICBwYWRkaW5nOiAwOwogIHdpZHRoOiA3MHB4Owp9Ci50ZXh0LWhvdmVyLXRoZW1lLWNvbG9yZWQgewogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTsKICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7Cn0KLyogQGltcG9ydCAidGVhbS5sZXNzIjsgKi8KLyoKICogbGluZS1ib3R0b20ubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoubGluZS1ib3R0b20gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBtYXJnaW4tYm90dG9tOiAzMHB4OwogIHBhZGRpbmctYm90dG9tOiAxMHB4Owp9Ci5saW5lLWJvdHRvbTphZnRlciB7CiAgYm90dG9tOiAtMXB4OwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMnB4OwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA1MHB4Owp9Ci5saW5lLWJvdHRvbS10aGVtZS1jb2xvcmVkMiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgcGFkZGluZy1ib3R0b206IDEwcHg7Cn0KLmxpbmUtYm90dG9tLXRoZW1lLWNvbG9yZWQyOmFmdGVyIHsKICBib3JkZXItcmFkaXVzOiAxMHB4OwogIGJvdHRvbTogLTFweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogNTBweDsKfQoubGluZS1ib3R0b20tcm91bmRlZC10aGVtZS1jb2xvcmVkMiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIG1hcmdpbi1ib3R0b206IDEycHg7CiAgcGFkZGluZy1ib3R0b206IDRweDsKfQoubGluZS1ib3R0b20tcm91bmRlZC10aGVtZS1jb2xvcmVkMjphZnRlciB7CiAgYm9yZGVyLXJhZGl1czogMTVweDsKICBib3R0b206IC0xcHg7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiA0cHg7CiAgYm9yZGVyLXJhZGl1czogNnB4OwogIGxlZnQ6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHdpZHRoOiA0MnB4Owp9Ci5kb3VibGUtbGluZS1ib3R0b20tdGhlbWUtY29sb3JlZDIgewogIG1hcmdpbi1ib3R0b206IDIwcHg7CiAgbWFyZ2luLXRvcDogOHB4OwogIHBhZGRpbmctYm90dG9tOiA1cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5kb3VibGUtbGluZS1ib3R0b20tdGhlbWUtY29sb3JlZDI6YWZ0ZXIgewogIGJvcmRlci1yYWRpdXM6IDhweDsKICBib3R0b206IDFweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDJweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogNjRweDsKfQouZG91YmxlLWxpbmUtYm90dG9tLXRoZW1lLWNvbG9yZWQyOmJlZm9yZSB7CiAgYm9yZGVyLXJhZGl1czogOHB4OwogIGJvdHRvbTogLTFweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDZweDsKICBsZWZ0OiAxMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMjRweDsKfQouZGlhbW9uZC1saW5lLWNlbnRlcmVkLXRoZW1lLWNvbG9yZWQyIHsKICBtYXJnaW4tYm90dG9tOiAyNXB4OwogIG1hcmdpbi10b3A6IDI1cHg7CiAgcGFkZGluZy1ib3R0b206IDVweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLmRpYW1vbmQtbGluZS1jZW50ZXJlZC10aGVtZS1jb2xvcmVkMjphZnRlciB7CiAgYm90dG9tOiAwOwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogM3B4OwogIGxlZnQ6IDA7CiAgbWFyZ2luOiAwIGF1dG87CiAgcG9zaXRpb246IGFic29sdXRlOwogIHJpZ2h0OiAwOwogIHdpZHRoOiA5MHB4Owp9Ci5kaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtY29sb3JlZDI6YmVmb3JlIHsKICBib3JkZXI6IDNweCBzb2xpZCAjZmZmOwogIGJvdHRvbTogLTVweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE0cHg7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgd2lkdGg6IDE0cHg7CiAgei1pbmRleDogMzsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7Cn0KLmRpYW1vbmQtbGluZS1jZW50ZXJlZC10aGVtZS13aGl0ZSB7CiAgbWFyZ2luLWJvdHRvbTogMjVweDsKICBtYXJnaW4tdG9wOiAyNXB4OwogIHBhZGRpbmctYm90dG9tOiA1cHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5kaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtd2hpdGU6YWZ0ZXIgewogIGJvdHRvbTogMDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDNweDsKICBsZWZ0OiAwOwogIG1hcmdpbjogMCBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB3aWR0aDogOTBweDsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwp9Ci5kaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtd2hpdGU6YmVmb3JlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOwogIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7CiAgYm90dG9tOiAtNXB4OwogIGNvbnRlbnQ6ICIiOwogIGhlaWdodDogMTRweDsKICBsZWZ0OiAwOwogIG1hcmdpbjogMCBhdXRvOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB3aWR0aDogMTRweDsKICB6LWluZGV4OiAzOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIC1vLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpOwogIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKfQouZGlhbW9uZC1saW5lLWxlZnQtdGhlbWUtY29sb3JlZDIgewogIG1hcmdpbi1ib3R0b206IDI1cHg7CiAgbWFyZ2luLXRvcDogMjVweDsKICBwYWRkaW5nLWJvdHRvbTogNXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQouZGlhbW9uZC1saW5lLWxlZnQtdGhlbWUtY29sb3JlZDI6YWZ0ZXIgewogIGJvdHRvbTogMDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDNweDsKICBsZWZ0OiAwOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB3aWR0aDogOTBweDsKfQouZGlhbW9uZC1saW5lLWxlZnQtdGhlbWUtY29sb3JlZDI6YmVmb3JlIHsKICBib3JkZXI6IDNweCBzb2xpZCAjZmZmOwogIGJvdHRvbTogLTVweDsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDE0cHg7CiAgbGVmdDogMTVweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgd2lkdGg6IDE0cHg7CiAgei1pbmRleDogMzsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICAtby10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7CiAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7Cn0KLmxpbmUtYm90dG9tLWNlbnRlcmVkIHsKICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgbWFyZ2luOiAxMHB4IDAgMzVweDsKfQoubGluZS1ib3R0b20tY2VudGVyZWQ6YWZ0ZXIgewogIGJvdHRvbTogLTEzcHg7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAzcHg7CiAgbGVmdDogMDsKICBtYXJnaW4tbGVmdDogYXV0bzsKICBtYXJnaW4tcmlnaHQ6IGF1dG87CiAgbWFyZ2luLXRvcDogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgd2lkdGg6IDQwcHg7Cn0KLmxpbmUtYm90dG9tLWRvdWJsZS1saW5lLWNlbnRlcmVkIHsKICBtYXJnaW4tYm90dG9tOiAxNXB4OwogIHBhZGRpbmctYm90dG9tOiAxNXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoubGluZS1ib3R0b20tZG91YmxlLWxpbmUtY2VudGVyZWQ6OmJlZm9yZSB7CiAgYm90dG9tOiAzcHg7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxcHg7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgd2lkdGg6IDIwcHg7Cn0KLmxpbmUtYm90dG9tLWRvdWJsZS1saW5lLWNlbnRlcmVkOjphZnRlciB7CiAgYm90dG9tOiA3cHg7CiAgY29udGVudDogIiI7CiAgaGVpZ2h0OiAxcHg7CiAgbGVmdDogMDsKICBtYXJnaW46IDAgYXV0bzsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgd2lkdGg6IDQ1cHg7Cn0KLyoKICogdGVhbS5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi50ZWFtLW1lbWJlciB7CiAgb3ZlcmZsb3c6IGhpZGRlbjsKICBwYWRkaW5nLWJvdHRvbTogMzVweDsKICBwb3NpdGlvbjogcmVsYXRpdmU7Cn0KLnRlYW0tbWVtYmVyIC50ZWFtLWluZm8gewogIGJvdHRvbTogLTE4cHg7CiAgbGVmdDogMDsKICBwYWRkaW5nOiAxNXB4OwogIG1hcmdpbjogMTVweCAzMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICByaWdodDogMDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICB6LWluZGV4OiAxOwp9Ci50ZWFtLW1lbWJlcjpob3ZlciAudGVhbS1pbmZvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDMsIDMsIDMsIDAuOTUpOwp9Ci50ZWFtLW1lbWJlciAudGVhbS1pbmZvIC5hdXRob3IgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KLnRlYW0tbWVtYmVyIC50ZWFtLWluZm8gLnN0eWxlZC1pY29ucyB7CiAgbGVmdDogMDsKICBtYXJnaW46IDA7CiAgb3BhY2l0eTogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICAtby10cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICB0cmFuc2l0aW9uOiBhbGwgMC40cyBlYXNlLWluLW91dCAwczsKICB0b3A6IC0yMHB4Owp9Ci50ZWFtLW1lbWJlcjpob3ZlciAudGVhbS1pbmZvIC5zdHlsZWQtaWNvbnMgewogIG9wYWNpdHk6IDE7CiAgdG9wOiAtODBweDsKfQoudGVhbS1tZW1iZXIgLnRlYW0tdGh1bWIgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudGVhbS1tZW1iZXIgLnRlYW0tdGh1bWIgLm92ZXJsYXkgewogIGJvdHRvbTogMDsKICBsZWZ0OiAwOwogIG9wYWNpdHk6IDA7CiAgcGFkZGluZzogMzBweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQgMHM7CiAgdG9wOiAtMTAwJTsKfQoudGVhbS1tZW1iZXIgLnRlYW0tdGh1bWIgLm92ZXJsYXkgLmNvbnRlbnQgewogIGxlZnQ6IDA7CiAgcGFkZGluZzogNDBweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDA7CiAgdG9wOiAyNSU7Cn0KLnRlYW0tbWVtYmVyOmhvdmVyIC50ZWFtLXRodW1iIC5vdmVybGF5IHsKICBvcGFjaXR5OiAxOwogIHRvcDogMDsKfQovKgogKiB0ZXN0aW1vbmlhbHMubGVzcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwoudGVzdGltb25pYWwgLmNvbW1lbnQ6OmFmdGVyIHsKICB0b3A6IC0xMHB4OwogIGNvbnRlbnQ6ICJcZjEwZCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogNDhweDsKICBvcGFjaXR5OiAwLjI7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGxlZnQ6IDA7Cn0KLm93bC1jYXJvdXNlbC5vd2wtbmF2LWJvdHRvbSAub3dsLW5hdiB7CiAgYm90dG9tOiAtNDVweDsKICBsZWZ0OiAzMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKfQoub3dsLWNhcm91c2VsLm93bC1uYXYtYm90dG9tIC5vd2wtbmF2IC5vd2wtcHJldiB7CiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm9uZSByZXBlYXQgc2Nyb2xsIDAgMCAhaW1wb3J0YW50OwogIHBhZGRpbmc6IDZweCAxOHB4ICFpbXBvcnRhbnQ7CiAgbGVmdDogLTMwcHg7Cn0KLm93bC1jYXJvdXNlbC5vd2wtbmF2LWJvdHRvbSAub3dsLW5hdiAub3dsLW5leHQgewogIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDAgIWltcG9ydGFudDsKICBwYWRkaW5nOiA2cHggMThweCAhaW1wb3J0YW50OwogIGxlZnQ6IDI2cHg7Cn0KLyogLS0tLS0tLS0gVGVzdGltb25pYWwtU3R5bGUyIC0tLS0tLS0tLS0gKi8KLnRlc3RpbW9uaWFsLnN0eWxlMiB7CiAgdGV4dC1hbGlnbjogY2VudGVyOwp9Ci50ZXN0aW1vbmlhbC5zdHlsZTIgLnRodW1iIGltZyB7CiAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogIHdpZHRoOiBhdXRvOwogIHdpZHRoOiA3NXB4Owp9Ci8qIC0tLS0tLS0tIFRlc3RpbW9uaWFsLVN0eWxlMSAtLS0tLS0tLS0tICovCi50ZXN0aW1vbmlhbC5zdHlsZTEgLml0ZW0gewogIGJvcmRlcjogbm9uZTsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5pdGVtOjpiZWZvcmUgewogIGRpc3BsYXk6IG5vbmU7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAucXVvdGUsCi50ZXN0aW1vbmlhbC5zdHlsZTEgLnRodW1iIHsKICBtYXJnaW4tYm90dG9tOiAzMHB4Owp9Ci50ZXN0aW1vbmlhbC5zdHlsZTEgLmF1dGhvciB7CiAgbWFyZ2luLWJvdHRvbTogNXB4OwogIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAudGl0bGUgewogIGNvbG9yOiAjYzBjMGMwOwogIG1hcmdpbi1ib3R0b206IDIwcHg7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAuY29tbWVudCB7CiAgcGFkZGluZzogMzVweCAyNXB4Owp9Ci50ZXN0aW1vbmlhbC5zdHlsZTEgLmNvbW1lbnQgcCB7CiAgZm9udC13ZWlnaHQ6IDUwMDsKICBtYXJnaW4tbGVmdDogMzBweDsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5jb21tZW50IHsKICBiYWNrZ3JvdW5kOiAjZmZmOwogIGNvbG9yOiAjNzc3Nzc3OwogIGJvcmRlcjogM3B4IHNvbGlkIHdoaXRlOwogIGJvcmRlci1yYWRpdXM6IDEwcHg7CiAgYm94LXNoYWRvdzogMCAxcHggM3B4IDAgcmdiYSgwLCAwLCAwLCAwLjEpOwogIG1hcmdpbjogMXB4OwogIHBvc2l0aW9uOiByZWxhdGl2ZTsKfQoudGVzdGltb25pYWwuc3R5bGUxIC5jb21tZW50OjpiZWZvcmUgewogIGNvbnRlbnQ6ICJcZjEwZCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogMzBweDsKICBsZWZ0OiAyMHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDdweDsKICBvcGFjaXR5OiAwLjg7Cn0KLnRlc3RpbW9uaWFsLnN0eWxlMSAuY29tbWVudDo6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIHdpZHRoOiAxNHB4OwogIGhlaWdodDogMTRweDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgbGVmdDogMzBweDsKICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltYWdlcy90ZXN0aW1vbmlhbHMvcXVvdGVfYXJyb3cucG5nJykgMHB4IDBweCBuby1yZXBlYXQ7CiAgdG9wOiA5NyU7Cn0KLm93bC1jYXJvdXNlbCAub3dsLWl0ZW0gLnRlc3RpbW9uaWFsIGltZyB7CiAgZGlzcGxheTogaW5saW5lOwogIHdpZHRoOiBhdXRvOwp9Ci50ZXN0aW1vbmlhbCAuc2lnbmF0dXJlIHsKICB3aWR0aDogNjBweDsKfQoudGVzdGltb25pYWwtY29udGVudDo6YWZ0ZXIgewogIGNvbnRlbnQ6ICJcZjEwZCI7CiAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOwogIGZvbnQtc2l6ZTogNjFweDsKICByaWdodDogNTBweDsKICBvcGFjaXR5OiAwLjE7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogLTMycHg7Cn0KLnRlc3RpbW9uaWFsLWNvbnRlbnQgewogIG1hcmdpbi10b3A6IDBweDsKICBtYXJnaW4tbGVmdDogMTQwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci8qCiAqIFNob3J0Y29kZTogcHJpY2luZy5sZXNzCiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiovCi5wcmljaW5nLXRhYmxlIHsKICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOwogIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5wcmljaW5nLXRhYmxlIC50YWJsZS1wcmljZSB7CiAgY29sb3I6ICMxMTExMTE7CiAgZm9udC1zaXplOiA0NXB4Owp9Ci5wcmljaW5nLXRhYmxlIC50YWJsZS1wcmljZSBzcGFuIHsKICBmb250LXNpemU6IDEzcHg7CiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsKfQoucHJpY2luZy10YWJsZS5mZWF0dXJlZCB7CiAgYm9yZGVyOiAxcHggc29saWQgIzExMTExMTsKfQoucHJpY2luZy10YWJsZSAudGFibGUtdHlwZSB7CiAgZGlzcGxheTogaW5saW5lOwp9Ci5wcmljaW5nLXRhYmxlIC5idG4tc2lnbnVwIHsKICBtYXJnaW4tcmlnaHQ6IDA7CiAgd2lkdGg6IDEwMCU7Cn0KLnByaWNpbmctdGFibGUgLnRhYmxlLWxpc3QgewogIGxpc3Qtc3R5bGU6IG91dHNpZGUgbm9uZSBub25lOwogIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7Cn0KLnByaWNpbmctdGFibGUgLnRhYmxlLWxpc3QgbGkgewogIGJvcmRlci1ib3R0b206IDA7CiAgZm9udC1zaXplOiAxM3B4OwogIHBhZGRpbmc6IDEwcHggMDsKfQoucHJpY2luZy10YWJsZSAudGFibGUtbGlzdCBsaSBpIHsKICBtYXJnaW4tcmlnaHQ6IDhweDsKfQoucHJpY2luZy10YWJsZSAucGFja2FnZS10eXBlIHNwYW4gewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBwYWRkaW5nLWxlZnQ6IDE1cHg7CiAgbWFyZ2luLWxlZnQ6IDEwcHg7Cn0KLnByaWNpbmctdGFibGUgLnBhY2thZ2UtdHlwZSBzcGFuOjphZnRlciB7CiAgYmFja2dyb3VuZDogIzJkOTE1YjsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDIwcHg7CiAgbGVmdDogLTIwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTFweDsKICB3aWR0aDogMjBweDsKfQoucHJpY2luZy10YWJsZSAucHJpY2UtbGlzdCBsaTo6YmVmb3JlIHsKICBsZWZ0OiAxOHB4OwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB0b3A6IDExcHg7Cn0KLnByaWNpbmctdGFibGUgLnByaWNlLWxpc3QgbGkgewogIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlOwogIHBhZGRpbmc6IDEwcHggNDVweDsKfQoucHJpY2luZy10YWJsZSAucHJpY2UtbGlzdCBsaTpmaXJzdC1jaGlsZCB7CiAgbWFyZ2luLXRvcDogMDsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgewogIG1hcmdpbi1ib3R0b206IDMwcHg7CiAgcG9zaXRpb246IHJlbGF0aXZlOwp9Ci5wcmljaW5nLXRhYmxlLnN0eWxlMiAudGFibGUtcHJpY2UgewogIGNvbG9yOiAjMTExMTExOwogIGZvbnQtc2l6ZTogNDVweDsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLnRhYmxlLXByaWNlIHNwYW4gewogIGZvbnQtc2l6ZTogMTNweDsKICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOwp9Ci5wcmljaW5nLXRhYmxlLnN0eWxlMi5mZWF0dXJlZCB7CiAgYm9yZGVyOiAxcHggc29saWQgIzExMTExMTsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLnRhYmxlLXR5cGUgewogIGRpc3BsYXk6IGlubGluZTsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLmJ0bi1zaWdudXAgewogIG1hcmdpbi1yaWdodDogMDsKICB3aWR0aDogMTAwJTsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLnRhYmxlLWxpc3QgewogIGxpc3Qtc3R5bGU6IG91dHNpZGUgbm9uZSBub25lOwogIHBhZGRpbmc6IDEwcHggMCAxMHB4IDIwcHg7Cn0KLnByaWNpbmctdGFibGUuc3R5bGUyIC50YWJsZS1saXN0IGxpIHsKICBib3JkZXItYm90dG9tOiAwOwogIGZvbnQtc2l6ZTogMTRweDsKICBmb250LWZhbWlseTogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7CiAgcGFkZGluZzogMTBweCAwOwp9Ci5wcmljaW5nLXRhYmxlLnN0eWxlMiAudGFibGUtbGlzdCBsaSBpIHsKICBtYXJnaW4tcmlnaHQ6IDhweDsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLnRhYmxlLWxpc3QgbGk6bnRoLWNoaWxkKDJuKzEpIHsKICBiYWNrZ3JvdW5kOiAjZjhmOGY4IG5vbmUgcmVwZWF0IHNjcm9sbCAwIDA7CiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7CiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlZWU7Cn0KLnByaWNpbmctdGFibGUuc3R5bGUyIC5wYWNrYWdlLXR5cGUgc3BhbiB7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHBhZGRpbmctbGVmdDogMTVweDsKICBtYXJnaW4tbGVmdDogMTBweDsKfQoucHJpY2luZy10YWJsZS5zdHlsZTIgLnBhY2thZ2UtdHlwZSBzcGFuOjphZnRlciB7CiAgYmFja2dyb3VuZDogIzJkOTE1YjsKICBjb250ZW50OiAiIjsKICBoZWlnaHQ6IDIwcHg7CiAgbGVmdDogLTIwcHg7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMTFweDsKICB3aWR0aDogMjBweDsKfQoucGFja2FnZS1pY29uIHsKICBjb2xvcjogI2ZmZjsKICBmb250LXNpemU6IDYwcHg7CiAgb3BhY2l0eTogMC4xNTsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgcmlnaHQ6IDE1cHg7CiAgdG9wOiAtOHB4Owp9Ci5wcmljZSAuY3VycmVuY3kgewogIHZlcnRpY2FsLWFsaWduOiBzdXBlcjsKfQouZC1uYW1lIHsKICBkaXNwbGF5OiBibG9jazsKICBsaW5lLWhlaWdodDogMTVweDsKfQoucHJpY2luZy1yaWJib24gaDUgewogIGNvbG9yOiAjZmZmOwogIGxlZnQ6IC02MHB4OwogIGxpbmUtaGVpZ2h0OiA0MHB4OwogIG1hcmdpbjogMDsKICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICB0b3A6IDE1cHg7CiAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsKICB3aWR0aDogMTkwcHg7Cn0KLyoKICogU2hvcnRjb2RlOiBQcm9qZWN0Lmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLnByb2plY3QtYmxvY2sgewogIHBvc2l0aW9uOiByZWxhdGl2ZTsKICBvdmVyZmxvdzogaGlkZGVuOwp9Ci5wcm9qZWN0LWRldGFpbHMgewogIG9wYWNpdHk6IDA7CiAgcG9zaXRpb246IGFic29sdXRlOwogIHRvcDogMDsKICB0cmFuc2Zvcm06IHNjYWxlKDAuNSkgcm90YXRlWSgxODBkZWcpOwogIHRyYW5zaXRpb246IGFsbCAwLjZzIGVhc2UgMHM7CiAgd2lkdGg6IDEwMCU7CiAgaGVpZ2h0OiAxMDAlOwp9Ci5wcm9qZWN0LWJsb2NrOmhvdmVyIC5wcm9qZWN0LWRldGFpbHMgewogIG9wYWNpdHk6IDY7CiAgcGFkZGluZy10b3A6IDExMHB4OwogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGVZKDBkZWcpOwogIC1tb3otdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGVZKDBkZWcpOwogIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEpIHJvdGF0ZVkoMGRlZyk7CiAgLW8tdHJhbnNmb3JtOiBzY2FsZSgxKSByb3RhdGVZKDBkZWcpOwogIHRyYW5zZm9ybTogc2NhbGUoMSkgcm90YXRlWSgwZGVnKTsKICB2aXNpYmlsaXR5OiB2aXNpYmxlOwp9Ci5jcnlwdG9uYXRvcndpZGdldCB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7CiAgcGFkZGluZzogMCAhaW1wb3J0YW50Owp9Ci5jcnlwdG9uYXRvcndpZGdldCBpbnB1dCwKLmNyeXB0b25hdG9yd2lkZ2V0IHNlbGVjdCB7CiAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7CiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsKICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDsKICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgYm9yZGVyLXJhZGl1czogMTZweDsKfQpAbWVkaWEgKG1heC13aWR0aDogNDk5cHgpIHsKICAuY3J5cHRvbmF0b3J3aWRnZXQgaW5wdXQsCiAgLmNyeXB0b25hdG9yd2lkZ2V0IHNlbGVjdCB7CiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7CiAgfQp9Ci5jcnlwdG9uYXRvcndpZGdldCBzZWxlY3QgewogIHBhZGRpbmctcmlnaHQ6IDQwcHg7Cn0KLmNyeXB0b25hdG9yd2lkZ2V0IC5zZWxlY3QtZ3JvdXAgewogIG1hcmdpbi1ib3R0b206IDA7Cn0KLmNyeXB0b25hdG9yd2lkZ2V0ID4gZGl2Omxhc3QtY2hpbGQgewogIGRpc3BsYXk6IG5vbmU7Cn0KLmNyeXB0b25hdG9yd2lkZ2V0IHRhYmxlIHRkIHsKICBwYWRkaW5nOiA1cHg7Cn0KLyoKICogZm9vdGVyLmxlc3MKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLmZvb3RlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzE1MTUxNTsKfQouZm9vdGVyIGEgewogIGNvbG9yOiAjODA4MDgwOwp9Ci5mb290ZXIgYTpmb2N1cywKLmZvb3RlciBhOmhvdmVyLAouZm9vdGVyIGE6YWN0aXZlIHsKICBjb2xvcjogIzY2NjY2NjsKfQouZm9vdGVyIC53aWRnZXQgLndpZGdldC10aXRsZSB7CiAgbWFyZ2luLXRvcDogMHB4Owp9Ci5mb290ZXIgLndpZGdldC5kYXJrIC5xdWljay1jb250YWN0LWZvcm0gYnV0dG9uIHsKICBib3JkZXItY29sb3I6ICMzMzMzMzM7CiAgY29sb3I6ICM5MDkwOTA7Cn0KLmZvb3RlciAud2lkZ2V0LmRhcmsgLnF1aWNrLWNvbnRhY3QtZm9ybSBidXR0b246aG92ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNlZWVlZWU7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlOwogIGNvbG9yOiAjMzMzMzMzOwp9Ci5mb290ZXIgLmZvb3Rlci1ib3R0b20gewogIGJhY2tncm91bmQtY29sb3I6ICMxMjEyMTI7Cn0KLyogZml4ZWQgZm9vdGVyICovCmZvb3RlciNmb290ZXIuZml4ZWQtZm9vdGVyIHsKICBib3R0b206IDA7CiAgbGVmdDogMDsKICBwb3NpdGlvbjogZml4ZWQ7CiAgcmlnaHQ6IDA7CiAgei1pbmRleDogMTsKfQpAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OTJweCkgewogIGZvb3RlciNmb290ZXIuZml4ZWQtZm9vdGVyIHsKICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICB9Cn0KYm9keS5oYXMtZml4ZWQtZm9vdGVyIC5tYWluLWNvbnRlbnQgewogIGJhY2tncm91bmQtY29sb3I6ICNmZmY7CiAgcG9zaXRpb246IHJlbGF0aXZlOwogIHotaW5kZXg6IDI7Cn0KQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpIHsKICBib2R5Lmhhcy1maXhlZC1mb290ZXIgLm1haW4tY29udGVudCB7CiAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7CiAgfQp9Cg=="}},"time_used":307,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":274,"receive":33,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/bg/bh9","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.837Z","timestamp":1785133990837,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/bg/bh9 HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\ncache-control: private, no-cache, no-store, must-revalidate, max-age=0\r\npragma: no-cache\r\ncontent-type: text/html\r\ncontent-length: 796\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":796,"size_decoded":1003,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"265e51037981a14ed99a5fc8c5ec1b51","sha1":"d12ac588953298fdaf46dd5b4af8eb4cf6b06f0a","sha256":"c4b07931b3fc37bc80d56a367783e7fa7c04ced4befec7f57ed079c38c960400","sha512":"b18aa610811c5f9bc1dd829ad90a95568e81a41e1fd1472983dc00147f65045fd91fbc498b5263ce4f4c88b041be21f186ed2ce357d3bcf86c0429ca18991151","ssdeep":"","tlshash":"1101f12ac182a80fe0231070fa91e37451594212629b4f647b9ff676f6ce1ab56b22cc","first_seen":"2024-02-05T05:35:22Z","last_seen":"2026-08-04T11:50:04.712488Z","times_seen":52943,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48c3R5bGU+QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2JhY2tncm91bmQtY29sb3I6IzAwMCFpbXBvcnRhbnR9fTwvc3R5bGU+PC9oZWFkPgo8Ym9keSBzdHlsZT0iY29sb3I6ICM0NDQ7IG1hcmdpbjowO2ZvbnQ6IG5vcm1hbCAxNHB4LzIwcHggQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgaGVpZ2h0OjEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7Ij4KPGRpdiBzdHlsZT0iaGVpZ2h0OmF1dG87IG1pbi1oZWlnaHQ6MTAwJTsgIj4gICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6ODAwcHg7IG1hcmdpbi1sZWZ0OiAtNDAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDMwJTsgbGVmdDo1MCU7Ij4KICAgICAgICA8aDEgc3R5bGU9Im1hcmdpbjowOyBmb250LXNpemU6MTUwcHg7IGxpbmUtaGVpZ2h0OjE1MHB4OyBmb250LXdlaWdodDpib2xkOyI+NDA0PC9oMT4KPGgyIHN0eWxlPSJtYXJnaW4tdG9wOjIwcHg7Zm9udC1zaXplOiAzMHB4OyI+Tm90IEZvdW5kDQo8L2gyPgo8cD5UaGUgcmVzb3VyY2UgcmVxdWVzdGVkIGNvdWxkIG5vdCBiZSBmb3VuZCBvbiB0aGlzIHNlcnZlciE8L3A+CjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+Cg=="}},"time_used":129,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":129,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"bootstrap.smartsuppchat.com/widget/9bf5bec9e07ac5c09e8f07cb3aba2466dc8f7a87.json","fqdn":"bootstrap.smartsuppchat.com","domain":"smartsuppchat.com","tld":"com"},"ip":{"addr":"18.195.8.146","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"xhr","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:14.089Z","timestamp":1785133994089,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsuppchat.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Tue, 02 Dec 2025 00:00:00 GMT","end":"Wed, 30 Dec 2026 23:59:59 GMT"},"fingerprint":{"sha1":"DC:47:26:FC:2D:4B:14:19:23:BC:B7:70:14:DA:60:A6:21:B0:1E:81","sha256":"0D:5E:FD:70:25:9E:DE:DD:47:CF:0C:58:1C:08:A2:A1:05:AC:A6:7E:0C:43:6F:50:E7:49:E0:A1:60:D0:0E:0F"}}},"request":{"raw":"GET /widget/9bf5bec9e07ac5c09e8f07cb3aba2466dc8f7a87.json HTTP/1.1\r\nHost: bootstrap.smartsuppchat.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\nContent-Type: text/plain\r\nOrigin: https://frxoptmarkt.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/2 200 \r\ndate: Mon, 27 Jul 2026 06:33:14 GMT\r\ncontent-type: application/json; charset=utf-8\r\nx-version: 6cb79abf75047496934c7756b55ec6f26e7d2373\r\nvary: Accept-Encoding\r\naccess-control-allow-origin: *\r\ncache-control: private, max-age=0, must-revalidate\r\nx-hit: redis\r\netag: \"4c4-mZaf8Kmns6WVyQDlXgw4e3EVdMY\"\r\ncontent-encoding: br\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":null,"data":{"size":1220,"size_decoded":876,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"ced4f015b2ad964f1c6191258bebcd21","sha1":"99969ff0a9a7b3a595c900e55e0c387b711574c6","sha256":"21e3ef41688073e0471ebe1555d9458f5699827534e9d67dbf57f2c60495989a","sha512":"013e6636d958af6f6b43df76672a46817f698fc5e3c6ea64d137b7ffd5944b72255bc0542aed6ec9302085f76a4c272e34deccd8040484dc7f8988b0eae431ee","ssdeep":"","tlshash":"c721766d4a6822fd5245c7d6c5087f035bbcdcb371003a7eea0d4a0d70eb2e6213546b","first_seen":"2026-07-03T04:36:30.815251Z","last_seen":"2026-08-03T22:28:44.38723Z","times_seen":15,"resource_available":false,"data":"eyJhaVJhdGluZ0VuYWJsZWQiOnRydWUsImFsbG93ZWREb21haW5zIjpbXSwiYnV0dG9uU3R5bGUiOiJncmVldGluZyIsImNvbG9yIjoiIzEyMzNkZiIsImNvbG9yMiI6bnVsbCwiY29sb3JHcmFkaWVudCI6dHJ1ZSwiY29uc2VudE1vZGVFbmFibGVkIjpmYWxzZSwiY3Jvc3NEb21haW5FbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdFbmFibGVkIjpmYWxzZSwiY3VzdG9tQnJhbmRpbmdMaW5rIjoiIiwiY3VzdG9tQnJhbmRpbmdUZXh0IjoiIiwiZW1haWxDb250cm9sIjp0cnVlLCJmZWF0dXJlcyI6eyJhcGkiOmZhbHNlLCJjdXN0b21pemUiOnRydWUsImdhIjpmYWxzZSwiZ3JvdXBzIjpmYWxzZSwicmF0aW5nIjp0cnVlLCJ3aGl0ZUxhYmVsIjpmYWxzZX0sImdvb2dsZUFuYWx5dGljc0VuYWJsZWQiOmZhbHNlLCJnb29nbGVBbmFseXRpY3NNYW51YWwiOmZhbHNlLCJnb29nbGVBbmFseXRpY3NNZWFzdXJlbWVudElkcyI6W10sImdyb3VwU2VsZWN0RW5hYmxlZCI6ZmFsc2UsImhlYWRlclN0eWxlIjoic3RhbmRhcmQiLCJoaWRlT2ZmbGluZUNoYXQiOmZhbHNlLCJoaWRlV2lkZ2V0IjpmYWxzZSwiaG9zdCI6IndlYnNvY2tldC12aXNpdG9ycy5zbWFydHN1cHAuY29tIiwiaW50ZXJuYWxBbmFseXRpY3NFbmFibGVkIjpmYWxzZSwiaXNCbG9ja2VkIjpmYWxzZSwibGFuZyI6ImVuIiwibW9iaWxlUG9wdXBzRW5hYmxlZCI6dHJ1ZSwibmFtZUNvbnRyb2wiOnRydWUsIm51bWJlckNvbnRyb2wiOmZhbHNlLCJvcGVuT25UcmlnZ2VyIjpmYWxzZSwib3JpZW50YXRpb24iOiJyaWdodCIsInBhY2thZ2VOYW1lIjoic29sbyIsInBvcHVwVGV4dGFyZWFFbmFibGVkIjpmYWxzZSwicHJpdmFjeU5vdGljZUNoZWNrUmVxdWlyZWQiOmZhbHNlLCJwcml2YWN5Tm90aWNlRW5hYmxlZCI6dHJ1ZSwicHJpdmFjeU5vdGljZVVybCI6IiIsInJhdGluZ0VuYWJsZWQiOnRydWUsInJlcXVpcmVMb2dpbiI6ZmFsc2UsInRyYW5zbGF0ZXMiOnt9LCJ1cmxDYXJkc0VuYWJsZWQiOnRydWUsIndpZGdldFZlcnNpb24iOjMsImhhc0ludGVybmFsQXBpIjpmYWxzZSwiY29uZmlnIjp7fSwiYnJvd3NlckxhbmciOiJlbiIsIndpZGdldFRyYWNrZXJVcmwiOiJodHRwczovL3dpZGdldC10cmFja2VyLnNtYXJ0c3VwcC5jb20iLCJ0cmFuc2xhdGlvbnNCYXNlVXJsIjoiaHR0cHM6Ly90cmFuc2xhdGlvbnMuc21hcnRzdXBwY2RuLmNvbSIsIndpZGdldFRyYWNrZXJFbmFibGVkIjpmYWxzZX0="}},"time_used":87,"timings":{"blocked":0,"dns":3,"connect":24,"send":0,"wait":29,"receive":0,"ssl":31},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://cable.coingecko.com/cable","fqdn":"cable.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:20.120Z","timestamp":1785134000120,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /cable HTTP/1.1\r\nHost: cable.coingecko.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\nSec-WebSocket-Version: 13\r\nOrigin: https://frxoptmarkt.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: IFKfnBdTzWGFvB8DraKoJw==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T12:30:22.34111Z","times_seen":17708041,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/css/navigation.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.596Z","timestamp":1785133989596,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/revolution-slider/css/navigation.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 7646\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":59576,"size_decoded":7876,"mime_type":"text/css","magic":"ASCII text","md5":"c8f8666090883e07c43c886896157556","sha1":"0a8f9fe0f46c959954bd69173062d8b042a2db70","sha256":"c9c5f901eeef711f631164c4cd4108b433cf07adfa16cf1d544bc6f8505bf128","sha512":"fdd15582e7c1073eee77d974340453f597fc5b22e4625019779cd82540b5df21a0bf3823c349f16935ceb43c51100e5017564deb476271a82fef6220ddc4c0a3","ssdeep":"1536:Gww1nwqr7ymxY5XYWlSDWLam+aIjU742TzJq3:Vt9Xt/2","tlshash":"ac4372aa5e936100b127c6049fc54bace33e8017e552cdaeb79e74cedf415c891ae38d","first_seen":"2023-04-07T16:02:15Z","last_seen":"2026-08-04T10:39:11.0751Z","times_seen":2595,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBBUkVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLmFyZXMudHBhcnJvd3MgewogIGN1cnNvcjpwb2ludGVyOwogIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4td2lkdGg6NjBweDsKICAgIG1pbi1oZWlnaHQ6NjBweDsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBkaXNwbGF5OmJsb2NrOwogIHotaW5kZXg6MTAwOwogICAgYm9yZGVyLXJhZGl1czo1MCU7Cn0KLmFyZXMudHBhcnJvd3M6aG92ZXIgewp9Ci5hcmVzLnRwYXJyb3dzOmJlZm9yZSB7CiAgZm9udC1mYW1pbHk6ICJyZXZpY29ucyI7CiAgZm9udC1zaXplOjI1cHg7CiAgY29sb3I6I2FhYTsKICBkaXNwbGF5OmJsb2NrOwogIGxpbmUtaGVpZ2h0OiA2MHB4OwogIHRleHQtYWxpZ246IGNlbnRlcjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgIC1tb3otdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgICB6LWluZGV4OjI7CiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQouYXJlcy50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MWYiOwp9Ci5hcmVzLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MWUiOwp9Ci5hcmVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiBjb2xvcjojMDAwOwogICAgICB9Ci5hcmVzIC50cC10aXRsZS13cmFwIHsgCiAgcG9zaXRpb246YWJzb2x1dGU7CiAgei1pbmRleDoxOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4taGVpZ2h0OjYwcHg7CiAgbGluZS1oZWlnaHQ6NjBweDsKICB0b3A6MHB4OwogIG1hcmdpbi1sZWZ0OjMwcHg7CiAgYm9yZGVyLXJhZGl1czowcHggMzBweCAzMHB4IDBweDsKICBvdmVyZmxvdzpoaWRkZW47CiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjNzOwogIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzOwogIHRyYW5zZm9ybTpzY2FsZVgoMCk7ICAKICAtd2Via2l0LXRyYW5zZm9ybTpzY2FsZVgoMCk7ICAKICB0cmFuc2Zvcm0tb3JpZ2luOjAlIDUwJTsgCiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjowJSA1MCU7Cn0KIC5hcmVzLnRwLXJpZ2h0YXJyb3cgLnRwLXRpdGxlLXdyYXAgeyAKICAgcmlnaHQ6MHB4OwogICBtYXJnaW4tcmlnaHQ6MzBweDttYXJnaW4tbGVmdDowcHg7CiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTsKYm9yZGVyLXJhZGl1czozMHB4IDBweCAwcHggMzBweDsKIH0KLmFyZXMudHBhcnJvd3M6aG92ZXIgLnRwLXRpdGxlLXdyYXAgewogIHRyYW5zZm9ybTpzY2FsZVgoMSkgc2NhbGVZKDEpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpIHNjYWxlWSgxKTsKfQouYXJlcyAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjAwcHgpOyAgCiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogIGNvbG9yOiMwMDA7CiAgZm9udC13ZWlnaHQ6NDAwOwogIGZvbnQtc2l6ZToxNHB4OwogIGxpbmUtaGVpZ2h0OjYwcHg7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwogIHBhZGRpbmc6MHB4IDIwcHg7CiAgbWFyZ2luLWxlZnQ6MTBweDsKICBvcGFjaXR5OjA7Cn0KCi5hcmVzLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMDBweCk7IAogICBtYXJnaW4tbGVmdDowcHg7IG1hcmdpbi1yaWdodDoxMHB4OwogICAgICB9CgouYXJlcy50cGFycm93czpob3ZlciAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KTsKICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwogIHRyYW5zaXRpb24tZGVsYXk6IDAuMXM7CiAgb3BhY2l0eToxOwp9CgovKiBCVUxMRVRTICovCi5hcmVzLnRwLWJ1bGxldHMgewp9Ci5hcmVzLnRwLWJ1bGxldHM6YmVmb3JlIHsKCWNvbnRlbnQ6IiAiOwoJcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmFyZXMgLnRwLWJ1bGxldCB7Cgl3aWR0aDoxM3B4OwoJaGVpZ2h0OjEzcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWJhY2tncm91bmQ6I2U1ZTVlNTsKCWJvcmRlci1yYWRpdXM6NTAlOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQouYXJlcyAudHAtYnVsbGV0OmhvdmVyLAouYXJlcyAudHAtYnVsbGV0LnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6I2ZmZjsKfQouYXJlcyAudHAtYnVsbGV0LXRpdGxlIHsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBjb2xvcjojODg4OwogIGZvbnQtc2l6ZToxMnB4OwogIHBhZGRpbmc6MHB4IDEwcHg7CiAgZm9udC13ZWlnaHQ6NjAwOwogIHJpZ2h0OjI3cHg7CiAgdG9wOi00cHg7CiAgYmFja2dyb3VuZDojZmZmOwogIGJhY2tncm91bmQ6cmdiYSgyNTUsMjU1LDI1NSwwLjc1KTsKICB2aXNpYmlsaXR5OmhpZGRlbjsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7CiAgdHJhbnNpdGlvbjp0cmFuc2Zvcm0gMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246dHJhbnNmb3JtIDAuM3M7CiAgbGluZS1oZWlnaHQ6MjBweDsKICB3aGl0ZS1zcGFjZTpub3dyYXA7Cn0gICAgIAoKLmFyZXMgLnRwLWJ1bGxldC10aXRsZTphZnRlciB7CiAgICB3aWR0aDogMHB4OwoJaGVpZ2h0OiAwcHg7Cglib3JkZXItc3R5bGU6IHNvbGlkOwoJYm9yZGVyLXdpZHRoOiAxMHB4IDAgMTBweCAxMHB4OwoJYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCByZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOwoJY29udGVudDoiICI7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgIHJpZ2h0Oi0xMHB4OwoJdG9wOjBweDsKfQogICAgCi5hcmVzIC50cC1idWxsZXQ6aG92ZXIgLnRwLWJ1bGxldC10aXRsZXsKICB2aXNpYmlsaXR5OnZpc2libGU7CiAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwp9CgouYXJlcyAudHAtYnVsbGV0LnNlbGVjdGVkOmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgYmFja2dyb3VuZDojZmZmOwogICAgICAgIH0KLmFyZXMgLnRwLWJ1bGxldC5zZWxlY3RlZDpob3ZlciAudHAtYnVsbGV0LXRpdGxlOmFmdGVyIHsKICBib3JkZXItY29sb3I6dHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjsKfQouYXJlcy50cC1idWxsZXRzOmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgICAgIHZpc2liaWxpdHk6aGlkZGVuOwp9Ci5hcmVzLnRwLWJ1bGxldHM6aG92ZXIgLnRwLWJ1bGxldDpob3ZlciAudHAtYnVsbGV0LXRpdGxlIHsKICAgIHZpc2liaWxpdHk6dmlzaWJsZTsKICAgICAgfQoKLyogVEFCUyAqLwouYXJlcyAudHAtdGFiIHsgCiAgb3BhY2l0eToxOyAgICAgIAogIHBhZGRpbmc6MTBweDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgZm9udC1mYW1pbHk6ICJSb2JvdG8iLCBzYW5zLXNlcmlmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTVlNWU1OwogfQouYXJlcyAudHAtdGFiLWltYWdlIAp7IAogIHdpZHRoOjYwcHg7CiAgaGVpZ2h0OjYwcHg7IG1heC1oZWlnaHQ6MTAwJTsgbWF4LXdpZHRoOjEwMCU7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgZGlzcGxheTppbmxpbmUtYmxvY2s7CiAgZmxvYXQ6bGVmdDsKCn0KLmFyZXMgLnRwLXRhYi1jb250ZW50IAp7CiAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMCk7IAogICAgcG9zaXRpb246cmVsYXRpdmU7CiAgICBwYWRkaW5nOjE1cHggMTVweCAxNXB4IDg1cHg7CiBsZWZ0OjBweDsKIG92ZXJmbG93OmhpZGRlbjsKIG1hcmdpbi10b3A6LTE1cHg7CiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgICBjb2xvcjojMzMzOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6MTAwJTsKICAgIGhlaWdodDoxMDAlOwogcG9zaXRpb246YWJzb2x1dGU7IH0KLmFyZXMgLnRwLXRhYi1kYXRlCiAgewogIGRpc3BsYXk6YmxvY2s7CiAgY29sb3I6ICNhYWE7CiAgZm9udC13ZWlnaHQ6NTAwOwogIGZvbnQtc2l6ZToxMnB4OwogIG1hcmdpbi1ib3R0b206MHB4OwogIH0KLmFyZXMgLnRwLXRhYi10aXRsZSAKewogICAgZGlzcGxheTpibG9jazsJCiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgICBjb2xvcjojMzMzOwogICAgZm9udC1zaXplOjE0cHg7CiAgICBmb250LXdlaWdodDo1MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTpub25lOwogICAgbGluZS1oZWlnaHQ6MTdweDsKfQouYXJlcyAudHAtdGFiOmhvdmVyLAouYXJlcyAudHAtdGFiLnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6I2VlZTsgCn0KCi5hcmVzIC50cC10YWItbWFzayB7Cn0KCi8qIE1FRElBIFFVRVJJRVMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgewoKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7Cgp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIENVU1RPTSBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwouY3VzdG9tLnRwYXJyb3dzIHsKCWN1cnNvcjpwb2ludGVyOwoJYmFja2dyb3VuZDojMDAwOwoJYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjQwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWRpc3BsYXk6YmxvY2s7Cgl6LWluZGV4OjEwMDAwOwp9Ci5jdXN0b20udHBhcnJvd3M6aG92ZXIgewoJYmFja2dyb3VuZDojMDAwOwp9Ci5jdXN0b20udHBhcnJvd3M6YmVmb3JlIHsKCWZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwoJZm9udC1zaXplOjE1cHg7Cgljb2xvcjojZmZmOwoJZGlzcGxheTpibG9jazsKCWxpbmUtaGVpZ2h0OiA0MHB4OwoJdGV4dC1hbGlnbjogY2VudGVyOwp9Ci5jdXN0b20udHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MjQiOwp9Ci5jdXN0b20udHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI1IjsKfQoKCgovKiBCVUxMRVRTICovCi5jdXN0b20udHAtYnVsbGV0cyB7Cn0KLmN1c3RvbS50cC1idWxsZXRzOmJlZm9yZSB7Cgljb250ZW50OiIgIjsKCXBvc2l0aW9uOmFic29sdXRlOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJYmFja2dyb3VuZDp0cmFuc3BhcmVudDsKCXBhZGRpbmc6MTBweDsKCW1hcmdpbi1sZWZ0Oi0xMHB4O21hcmdpbi10b3A6LTEwcHg7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94Owp9Ci5jdXN0b20gLnRwLWJ1bGxldCB7Cgl3aWR0aDoxMnB4OwoJaGVpZ2h0OjEycHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWJhY2tncm91bmQ6I2FhYTsKICAgIGJhY2tncm91bmQ6cmdiYSgxMjUsMTI1LDEyNSwwLjUpOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQouY3VzdG9tIC50cC1idWxsZXQ6aG92ZXIsCi5jdXN0b20gLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOnJnYigxMjUsMTI1LDEyNSk7Cn0KLmN1c3RvbSAudHAtYnVsbGV0LWltYWdlIHsKfQouY3VzdG9tIC50cC1idWxsZXQtdGl0bGUgewp9CgoKLyogVEhVTUJTICovCgoKLyogVEFCUyAqLwoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogRElPTkUgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KLmRpb25lLnRwYXJyb3dzIHsKICBoZWlnaHQ6MTAwJTsKICB3aWR0aDoxMDBweDsKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTsKICBsaW5lLWhlaWdodDoxMDAlOwogIHRyYW5zaXRpb246YWxsIDAuM3M7Ci13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKfQoKLmRpb25lLnRwYXJyb3dzOmhvdmVyIHsKIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjQ1KTsKIH0KLmRpb25lIC50cC1hcnItaW1nd3JhcHBlciB7CiB3aWR0aDoxMDBweDsKIGxlZnQ6MHB4OwogcG9zaXRpb246YWJzb2x1dGU7CiBoZWlnaHQ6MTAwJTsKIHRvcDowcHg7CiBvdmVyZmxvdzpoaWRkZW47CiB9Ci5kaW9uZS50cC1yaWdodGFycm93IC50cC1hcnItaW1nd3JhcHBlciB7CmxlZnQ6YXV0bzsKcmlnaHQ6MHB4Owp9CgouZGlvbmUgLnRwLWFyci1pbWdob2xkZXIgewpiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CmJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKd2lkdGg6MTAwcHg7CmhlaWdodDoxMDAlOwp0b3A6MHB4Owp2aXNpYmlsaXR5OmhpZGRlbjsKdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwcHgpOwotd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MHB4KTsKdHJhbnNpdGlvbjphbGwgMC4zczsKLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwpvcGFjaXR5OjA7CmxlZnQ6MHB4Owp9CgouZGlvbmUudHBhcnJvd3MudHAtcmlnaHRhcnJvdyAudHAtYXJyLWltZ2hvbGRlciB7CiAgcmlnaHQ6MHB4OwogIGxlZnQ6YXV0bzsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCg1MHB4KTsKIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoNTBweCk7Cn0KCi5kaW9uZS50cGFycm93czpiZWZvcmUgewpwb3NpdGlvbjphYnNvbHV0ZTsKbGluZS1oZWlnaHQ6MzBweDsKbWFyZ2luLWxlZnQ6LTIycHg7CnRvcDo1MCU7CmxlZnQ6NTAlOwpmb250LXNpemU6MzBweDsKbWFyZ2luLXRvcDotMTVweDsKdHJhbnNpdGlvbjphbGwgMC4zczsKLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwp9CgouZGlvbmUudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewptYXJnaW4tbGVmdDo2cHg7Cn0KCi5kaW9uZS50cGFycm93czpob3ZlcjpiZWZvcmUgewogIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC0yMHB4KTsKLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7Cm9wYWNpdHk6MDsKfQoKLmRpb25lLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6aG92ZXI6YmVmb3JlIHsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTsKLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgyMHB4KTsKfQoKLmRpb25lLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItaW1naG9sZGVyIHsKIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7Ci13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KTsKb3BhY2l0eToxOwp2aXNpYmlsaXR5OnZpc2libGU7Cn0KCgoKLyogQlVMTEVUUyAqLwouZGlvbmUgLnRwLWJ1bGxldCB7IAogICAgb3BhY2l0eToxOwogICAgd2lkdGg6NTBweDsKICAgIGhlaWdodDo1MHB4OyAgICAKICAgIHBhZGRpbmc6M3B4OwogICAgYmFja2dyb3VuZDojMDAwOwogICAgYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMjUpOwogICAgbWFyZ2luOjBweDsKICAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CgogIH0KCi5kaW9uZSAudHAtYnVsbGV0LWltYWdlIHsKICAgZGlzcGxheTpibG9jazsKICAgYm94LXNpemluZzpib3JkZXItYm94OwogICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIC1tb3otYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIGJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKICB3aWR0aDo0NHB4OwogIGhlaWdodDo0NHB4OwogIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiB9ICAKLmRpb25lIC50cC1idWxsZXQtdGl0bGUgeyAKICAgICBwb3NpdGlvbjphYnNvbHV0ZTsgCiAgIGJvdHRvbTo2NXB4OwogICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogICAgIGxlZnQ6NTAlOwogICAgIGJhY2tncm91bmQ6IzAwMDsKICAgICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC43NSk7CiAgICAgY29sb3I6I2ZmZjsKICAgICBwYWRkaW5nOjEwcHggMzBweDsKICAgICBib3JkZXItcmFkaXVzOjRweDsKICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDsKICAgICBvcGFjaXR5OjA7CiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIG9wYWNpdHk6MDsKICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsKIH0KCi5kaW9uZSAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogICAgIHRyYW5zZm9ybTpyb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVgoLTUwJSk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTpyb3RhdGVYKDBkZWcpIHRyYW5zbGF0ZVgoLTUwJSk7CiAgICBvcGFjaXR5OjE7Cn0KCi5kaW9uZSAudHAtYnVsbGV0LnNlbGVjdGVkLAouZGlvbmUgLnRwLWJ1bGxldDpob3ZlciAgewogIAogICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDEpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9IiNmZmZmZmYiLCBlbmRDb2xvcnN0cj0iIzc3Nzc3NyIsIEdyYWRpZW50VHlwZT0wICk7CiAKICAgICAgfQouZGlvbmUgLnRwLWJ1bGxldC10aXRsZTphZnRlciB7CiAgICAgICAgY29udGVudDoiICI7CiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgICAgbGVmdDo1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6LThweDsKICAgICAgICB3aWR0aDogMDsKICAgIGhlaWdodDogMDsKICAgIGJvcmRlci1zdHlsZTogc29saWQ7CiAgICBib3JkZXItd2lkdGg6IDhweCA4cHggMCA4cHg7CiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIEVSSU5ZRU4gU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KLmVyaW55ZW4udHBhcnJvd3MgewogIGN1cnNvcjpwb2ludGVyOwogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC41KTsKICBtaW4td2lkdGg6NzBweDsKICBtaW4taGVpZ2h0OjcwcHg7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgZGlzcGxheTpibG9jazsKICB6LWluZGV4OjEwMDA7CiAgYm9yZGVyLXJhZGl1czozNXB4OyAgIAp9CgouZXJpbnllbi50cGFycm93czpiZWZvcmUgewogIGZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwogIGZvbnQtc2l6ZToyMHB4OwogIGNvbG9yOiNmZmY7CiAgZGlzcGxheTpibG9jazsKICBsaW5lLWhlaWdodDogNzBweDsKICB0ZXh0LWFsaWduOiBjZW50ZXI7ICAgIAogIHotaW5kZXg6MjsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKfQouZXJpbnllbi50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjQiOwp9Ci5lcmlueWVuLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgouZXJpbnllbiAudHAtdGl0bGUtd3JhcCB7IAogIHBvc2l0aW9uOmFic29sdXRlOwogIHotaW5kZXg6MTsKICBkaXNwbGF5OmlubGluZS1ibG9jazsKICBiYWNrZ3JvdW5kOiMwMDA7CiAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7CiAgbWluLWhlaWdodDo3MHB4OwogIGxpbmUtaGVpZ2h0OjcwcHg7CiAgdG9wOjBweDsKICBtYXJnaW4tbGVmdDowcHg7CiAgYm9yZGVyLXJhZGl1czozNXB4OwogIG92ZXJmbG93OmhpZGRlbjsgCiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbjpvcGFjaXR5IDAuM3M7CiAgLW1vei10cmFuc2l0aW9uOm9wYWNpdHkgMC4zczsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7CiAgLW1vei10cmFuc2Zvcm06IHNjYWxlKDApOwogIHRyYW5zZm9ybTogc2NhbGUoMCk7ICAKICB2aXNpYmlsaXR5OmhpZGRlbjsKICBvcGFjaXR5OjA7Cn0KCi5lcmlueWVuLnRwYXJyb3dzOmhvdmVyIC50cC10aXRsZS13cmFwewogIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTsKICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMSk7CiAgdHJhbnNmb3JtOiBzY2FsZSgxKTsKICBvcGFjaXR5OjE7CiAgdmlzaWJpbGl0eTp2aXNpYmxlOwp9CiAgICAgICAgCiAuZXJpbnllbi50cC1yaWdodGFycm93IC50cC10aXRsZS13cmFwIHsgCiAgIHJpZ2h0OjBweDsKICAgbWFyZ2luLXJpZ2h0OjBweDttYXJnaW4tbGVmdDowcHg7CiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTsKICBib3JkZXItcmFkaXVzOjM1cHg7CiAgcGFkZGluZy1yaWdodDoyMHB4OwogIHBhZGRpbmctbGVmdDoxMHB4OwogfQoKCi5lcmlueWVuLnRwLWxlZnRhcnJvdyAudHAtdGl0bGUtd3JhcCB7IAogICBwYWRkaW5nLWxlZnQ6MjBweDsKICBwYWRkaW5nLXJpZ2h0OjEwcHg7Cn0KCi5lcmlueWVuIC50cC1hcnItdGl0bGVob2xkZXIgewogIGxldHRlci1zcGFjaW5nOiAzcHg7CiAgIHBvc2l0aW9uOnJlbGF0aXZlOwogIC13ZWJraXQtdHJhbnNpdGlvbjogLXdlYmtpdC10cmFuc2Zvcm0gMC4zczsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zczsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgyMDBweCk7ICAKICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgY29sb3I6I2ZmZjsKICBmb250LXdlaWdodDo2MDA7CiAgZm9udC1zaXplOjEzcHg7CiAgbGluZS1oZWlnaHQ6NzBweDsKICB3aGl0ZS1zcGFjZTpub3dyYXA7CiAgcGFkZGluZzowcHggMjBweDsKICBtYXJnaW4tbGVmdDoxMXB4OwogIG9wYWNpdHk6MDsgIAp9CgouZXJpbnllbiAudHAtYXJyLWltZ2hvbGRlciB7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7CiAgICB9CiAuZXJpbnllbiAudHAtYXJyLWltZy1vdmVyIHsKICAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogICBiYWNrZ3JvdW5kOiMwMDA7CiAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpOwogICAgICAgIH0KLmVyaW55ZW4udHAtcmlnaHRhcnJvdyAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwMHB4KTsgCiAgIG1hcmdpbi1sZWZ0OjBweDsgbWFyZ2luLXJpZ2h0OjExcHg7CiAgICAgIH0KCi5lcmlueWVuLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItdGl0bGVob2xkZXIgewogICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwogICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgdHJhbnNpdGlvbi1kZWxheTogMC4xczsKICBvcGFjaXR5OjE7Cn0KCi8qIEJVTExFVFMgKi8KLmVyaW55ZW4udHAtYnVsbGV0cyB7Cn0KLmVyaW55ZW4udHAtYnVsbGV0czpiZWZvcmUgewoJY29udGVudDoiICI7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6MTAwJTsKCWJhY2tncm91bmQ6ICM1NTU1NTU7IC8qIG9sZCBicm93c2VycyAqLwogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgIzU1NTU1NSAwJSwgIzIyMjIyMiAxMDAlKTsgLyogZmYzLjYrICovCiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCM1NTU1NTUpLCBjb2xvci1zdG9wKDEwMCUsIzIyMjIyMikpOyAvKiBjaHJvbWUsc2FmYXJpNCsgKi8KICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICM1NTU1NTUgMCUsIzIyMjIyMiAxMDAlKTsgLyogY2hyb21lMTArLHNhZmFyaTUuMSsgKi8KICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNTU1NTU1IDAlLCMyMjIyMjIgMTAwJSk7IC8qIG9wZXJhIDExLjEwKyAqLwogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNTU1NTU1IDAlLCMyMjIyMjIgMTAwJSk7IC8qIGllMTArICovCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgIzU1NTU1NSAwJSwjMjIyMjIyIDEwMCUpOyAvKiB3M2MgKi8KICAgIGZpbHRlcjogcHJvZ2lkOmR4aW1hZ2V0cmFuc2Zvcm0ubWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydGNvbG9yc3RyPSIjNTU1NTU1IiwgZW5kY29sb3JzdHI9IiMyMjIyMjIiLGdyYWRpZW50dHlwZT0wICk7IC8qIGllNi05ICovCglwYWRkaW5nOjEwcHggMTVweDsKCW1hcmdpbi1sZWZ0Oi0xNXB4O21hcmdpbi10b3A6LTEwcHg7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94OwogICBib3JkZXItcmFkaXVzOjEwcHg7CiAgIGJveC1zaGFkb3c6MHB4IDBweCAycHggMXB4IHJnYmEoMzMsMzMsMzMsMC4zKTsKfQouZXJpbnllbiAudHAtYnVsbGV0IHsKCXdpZHRoOjEzcHg7CgloZWlnaHQ6MTNweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojMTExOwkKCWJvcmRlci1yYWRpdXM6NTAlOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQouZXJpbnllbiAudHAtYnVsbGV0OmhvdmVyLAouZXJpbnllbiAudHAtYnVsbGV0LnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6ICNlNWU1ZTU7IC8qIG9sZCBicm93c2VycyAqLwpiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjZTVlNWU1IDAlLCAjOTk5OTk5IDEwMCUpOyAvKiBmZjMuNisgKi8KYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwjZTVlNWU1KSwgY29sb3Itc3RvcCgxMDAlLCM5OTk5OTkpKTsgLyogY2hyb21lLHNhZmFyaTQrICovCmJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICNlNWU1ZTUgMCUsIzk5OTk5OSAxMDAlKTsgLyogY2hyb21lMTArLHNhZmFyaTUuMSsgKi8KYmFja2dyb3VuZDogLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgICNlNWU1ZTUgMCUsIzk5OTk5OSAxMDAlKTsgLyogb3BlcmEgMTEuMTArICovCmJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgI2U1ZTVlNSAwJSwjOTk5OTk5IDEwMCUpOyAvKiBpZTEwKyAqLwpiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2U1ZTVlNSAwJSwjOTk5OTk5IDEwMCUpOyAvKiB3M2MgKi8KZmlsdGVyOiBwcm9naWQ6ZHhpbWFnZXRyYW5zZm9ybS5taWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Y29sb3JzdHI9IiNlNWU1ZTUiLCBlbmRjb2xvcnN0cj0iIzk5OTk5OSIsZ3JhZGllbnR0eXBlPTAgKTsgLyogaWU2LTkgKi8KICBib3JkZXI6MXB4IHNvbGlkICM1NTU7CiAgd2lkdGg6MTJweDtoZWlnaHQ6MTJweDsKfQouZXJpbnllbiAudHAtYnVsbGV0LWltYWdlIHsKfQouZXJpbnllbiAudHAtYnVsbGV0LXRpdGxlIHsKfQoKCi8qIFRIVU1CUyAqLwouZXJpbnllbiAudHAtdGh1bWIgewpvcGFjaXR5OjEKfQoKLmVyaW55ZW4gLnRwLXRodW1iLW92ZXIgewogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4yNSk7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MTsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKfQoKLmVyaW55ZW4gLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MTJweDsKICBjb2xvcjojYWFhOwogIGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43NSk7CiAgZGlzcGxheTpibG9jazsKICBsaW5lLWhlaWdodDogMTJweDsKICB0ZXh0LWFsaWduOiBsZWZ0OyAgICAKICB6LWluZGV4OjI7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgdG9wOjIwcHg7CiAgcmlnaHQ6MjBweDsKICB6LWluZGV4OjI7Cn0KLmVyaW55ZW4gLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgouZXJpbnllbiAudHAtdGh1bWItdGl0bGUgewogIGZvbnQtZmFtaWx5OiJSYWxld2F5IjsKICBsZXR0ZXItc3BhY2luZzoxcHg7CiAgZm9udC1zaXplOjEycHg7CiAgY29sb3I6I2ZmZjsKICBkaXNwbGF5OmJsb2NrOwogIGxpbmUtaGVpZ2h0OiAxNXB4OwogIHRleHQtYWxpZ246IGxlZnQ7ICAgIAogIHotaW5kZXg6MjsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MjsKICBwYWRkaW5nOjIwcHggMzVweCAyMHB4IDIwcHg7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgZm9udC13ZWlnaHQ6NTAwOwp9CgouZXJpbnllbiAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW1vcmU6YmVmb3JlLAouZXJpbnllbiAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKIGNvbG9yOiNhYWE7Cgp9CgouZXJpbnllbiAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW92ZXIsCi5lcmlueWVuIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItb3ZlciB7CiBiYWNrZ3JvdW5kOiNmZmY7Cn0KLmVyaW55ZW4gLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi10aXRsZSwKLmVyaW55ZW4gLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi10aXRsZSB7CiAgY29sb3I6IzAwMDsKCn0KCgovKiBUQUJTICovCi5lcmlueWVuIC50cC10YWItdGl0bGUgewogICAgY29sb3I6I2E4ZDhlZTsKICAgIGZvbnQtc2l6ZToxM3B4OwogICAgZm9udC13ZWlnaHQ6NzAwOwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIgogICAgbWFyZ2luLWJvdHRvbTo1cHg7Cn0KCi5lcmlueWVuIC50cC10YWItZGVzYyB7Cglmb250LXNpemU6MThweDsKICAgIGZvbnQtd2VpZ2h0OjQwMDsKICAgIGNvbG9yOiNmZmY7CiAgICBsaW5lLWhlaWdodDoyNXB4OwoJZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIjsKfQogICAgICAKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogR1lHRVMgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KCgovKiBCVUxMRVRTICovCi5neWdlcy50cC1idWxsZXRzIHsKfQouZ3lnZXMudHAtYnVsbGV0czpiZWZvcmUgewoJY29udGVudDoiICI7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCXdpZHRoOjEwMCU7CgloZWlnaHQ6MTAwJTsKCWJhY2tncm91bmQ6ICM3Nzc3Nzc7IC8qIE9sZCBicm93c2VycyAqLwogICAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAgIzc3Nzc3NyAwJSwgIzY2NjY2NiAxMDAlKTsgCiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCAKICAgIGNvbG9yLXN0b3AoMCUsIzc3Nzc3NyksIGNvbG9yLXN0b3AoMTAwJSwjNjY2NjY2KSk7IAogICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAgIzc3Nzc3NyAwJSwjNjY2NjY2IDEwMCUpOyAKICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNzc3Nzc3IDAlLCM2NjY2NjYgMTAwJSk7IAogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjNzc3Nzc3IDAlLCM2NjY2NjYgMTAwJSk7IAogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICM3Nzc3NzcgMCUsIzY2NjY2NiAxMDAlKTsgCiAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0iIzc3Nzc3NyIsIAogICAgZW5kQ29sb3JzdHI9IiM2NjY2NjYiLEdyYWRpZW50VHlwZT0wICk7IAoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7CiAgYm9yZGVyLXJhZGl1czoxMHB4Owp9Ci5neWdlcyAudHAtYnVsbGV0IHsKCXdpZHRoOjEycHg7CgloZWlnaHQ6MTJweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojMzMzOwoJYm9yZGVyOjNweCBzb2xpZCAjNDQ0OwoJYm9yZGVyLXJhZGl1czo1MCU7CgljdXJzb3I6IHBvaW50ZXI7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94Owp9Ci5neWdlcyAudHAtYnVsbGV0OmhvdmVyLAouZ3lnZXMgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiAjZmZmZmZmOyAvKiBPbGQgYnJvd3NlcnMgKi8KICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgICNmZmZmZmYgMCUsICNlMWUxZTEgMTAwJSk7IC8qIEZGMy42KyAqLwogICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgCiAgICBjb2xvci1zdG9wKDAlLCNmZmZmZmYpLCBjb2xvci1zdG9wKDEwMCUsI2UxZTFlMSkpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi8KICAgIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgICNmZmZmZmYgMCUsI2UxZTFlMSAxMDAlKTsgLyogQ2hyb21lMTArLFNhZmFyaTUuMSsgKi8KICAgIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmZmZmIDAlLCNlMWUxZTEgMTAwJSk7IC8qIE9wZXJhIDExLjEwKyAqLwogICAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICAjZmZmZmZmIDAlLCNlMWUxZTEgMTAwJSk7IC8qIElFMTArICovCiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAgI2ZmZmZmZiAwJSwjZTFlMWUxIDEwMCUpOyAvKiBXM0MgKi8KICAgIGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPSIjZmZmZmZmIiwgCiAgICBlbmRDb2xvcnN0cj0iI2UxZTFlMSIsR3JhZGllbnRUeXBlPTAgKTsgLyogSUU2LTkgKi8KCn0KLmd5Z2VzIC50cC1idWxsZXQtaW1hZ2Ugewp9Ci5neWdlcyAudHAtYnVsbGV0LXRpdGxlIHsKfQoJCgovKiBUSFVNQlMgKi8KLmd5Z2VzIC50cC10aHVtYiB7IAogICAgICBvcGFjaXR5OjEKICB9Ci5neWdlcyAudHAtdGh1bWItaW1nLXdyYXAgewogIHBhZGRpbmc6M3B4OwogICAgYmFja2dyb3VuZDojMDAwOwogIGJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjI1KTsKICBkaXNwbGF5OmlubGluZS1ibG9jazsKCiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBtYXJnaW46MHB4OwogIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7Cn0KLmd5Z2VzIC50cC10aHVtYi1pbWFnZSB7CiAgIHBhZGRpbmc6M3B4OyAKICAgZGlzcGxheTpibG9jazsKICAgYm94LXNpemluZzpib3JkZXItYm94OwogICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIC1tb3otYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIGJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKIH0gIAouZ3lnZXMgLnRwLXRodW1iLXRpdGxlIHsgCiAgICAgcG9zaXRpb246YWJzb2x1dGU7IAogICAgIGJvdHRvbToxMDAlOyAKICAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKICAgICBsZWZ0OjUwJTsKICAgICBiYWNrZ3JvdW5kOnJnYmEoMjU1LDI1NSwyNTUsMC44KTsKICAgICBwYWRkaW5nOjEwcHggMzBweDsKICAgICBib3JkZXItcmFkaXVzOjRweDsKCSAtd2Via2l0LWJvcmRlci1yYWRpdXM6NHB4OwogICAgIG1hcmdpbi1ib3R0b206MjBweDsKICAgICBvcGFjaXR5OjA7CiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsKIH0KLmd5Z2VzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItdGl0bGUgewogIAkgdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIG9wYWNpdHk6MTsKfQoKLmd5Z2VzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItaW1nLXdyYXAsCiAuZ3lnZXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1pbWctd3JhcCB7CgogIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDExOSwxMTksMTE5LDEpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0iI2ZmZmZmZiIsIGVuZENvbG9yc3RyPSIjNzc3Nzc3IiwgR3JhZGllbnRUeXBlPTAgKTsKIH0KLmd5Z2VzIC50cC10aHVtYi10aXRsZTphZnRlciB7CiAgICAgICAgY29udGVudDoiICI7CiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICAgICAgbGVmdDo1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6LThweDsKICAgICAgICB3aWR0aDogMDsKCQloZWlnaHQ6IDA7CgkJYm9yZGVyLXN0eWxlOiBzb2xpZDsKCQlib3JkZXItd2lkdGg6IDhweCA4cHggMCA4cHg7CgkJYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuOCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCgovKiBUQUJTICovCi5neWdlcyAudHAtdGFiIHsgCiAgb3BhY2l0eToxOyAgICAgIAogIHBhZGRpbmc6MTBweDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgZm9udC1mYW1pbHk6ICJSb2JvdG8iLCBzYW5zLXNlcmlmOwogIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOwogfQouZ3lnZXMgLnRwLXRhYi1pbWFnZSAKeyAKICB3aWR0aDo2MHB4OwogIGhlaWdodDo2MHB4OyBtYXgtaGVpZ2h0OjEwMCU7IG1heC13aWR0aDoxMDAlOwogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGZsb2F0OmxlZnQ7Cgp9Ci5neWdlcyAudHAtdGFiLWNvbnRlbnQgCnsKICAgIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwKTsgCiAgICBwb3NpdGlvbjpyZWxhdGl2ZTsKICAgIHBhZGRpbmc6MTVweCAxNXB4IDE1cHggODVweDsKIGxlZnQ6MHB4OwogIG92ZXJmbG93OmhpZGRlbjsKIG1hcmdpbi10b3A6LTE1cHg7CiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgICBjb2xvcjojMzMzOwogICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgd2lkdGg6MTAwJTsKICAgIGhlaWdodDoxMDAlOwogcG9zaXRpb246YWJzb2x1dGU7IH0KLmd5Z2VzIC50cC10YWItZGF0ZQogIHsKICBkaXNwbGF5OmJsb2NrOwogIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuMjUpOwogIGZvbnQtd2VpZ2h0OjUwMDsKICBmb250LXNpemU6MTJweDsKICBtYXJnaW4tYm90dG9tOjBweDsKICB9Ci5neWdlcyAudHAtdGFiLXRpdGxlIAp7CiAgICBkaXNwbGF5OmJsb2NrOyAgCiAgICB0ZXh0LWFsaWduOmxlZnQ7CiAgICBjb2xvcjojZmZmOwogICAgZm9udC1zaXplOjE0cHg7CiAgICBmb250LXdlaWdodDo1MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTpub25lOwogICAgbGluZS1oZWlnaHQ6MTdweDsKfQouZ3lnZXMgLnRwLXRhYjpob3ZlciwKLmd5Z2VzIC50cC10YWIuc2VsZWN0ZWQgewogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpOyAKfQoKLmd5Z2VzIC50cC10YWItbWFzayB7Cn0KCi8qIE1FRElBIFFVRVJJRVMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgewoKfQpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7Cgp9CgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIEhBREVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi5oYWRlcy50cGFycm93cyB7CgljdXJzb3I6cG9pbnRlcjsKCWJhY2tncm91bmQ6IzAwMDsKCWJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjE1KTsKCXdpZHRoOjEwMHB4OwoJaGVpZ2h0OjEwMHB4OwoJcG9zaXRpb246YWJzb2x1dGU7CglkaXNwbGF5OmJsb2NrOwoJei1pbmRleDoxMDAwOwp9CgouaGFkZXMudHBhcnJvd3M6YmVmb3JlIHsKCWZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwoJZm9udC1zaXplOjMwcHg7Cgljb2xvcjojZmZmOwoJZGlzcGxheTpibG9jazsKCWxpbmUtaGVpZ2h0OiAxMDBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MsIGNvbG9yIDAuM3M7Cn0KLmhhZGVzLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI0IjsKfQouaGFkZXMudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI1IjsKfQoKLmhhZGVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiAgIGNvbG9yOiNhYWE7CiAgIGJhY2tncm91bmQ6I2ZmZjsKICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDEpOwogfQouaGFkZXMgLnRwLWFyci1hbGx3cmFwcGVyIHsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBsZWZ0OjEwMCU7CiAgdG9wOjBweDsKICBiYWNrZ3JvdW5kOiM4ODg7IAogIHdpZHRoOjEwMHB4O2hlaWdodDoxMDBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIC1tcy1maWx0ZXI6ICJwcm9naWQ6ZHhpbWFnZXRyYW5zZm9ybS5taWNyb3NvZnQuYWxwaGEob3BhY2l0eT0wKSI7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTApOwogIC1tb3otb3BhY2l0eTogMC4wOwogIC1raHRtbC1vcGFjaXR5OiAwLjA7CiAgb3BhY2l0eTogMC4wOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KC05MGRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGV5KC05MGRlZyk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlOwp9Ci5oYWRlcy50cC1yaWdodGFycm93IC50cC1hcnItYWxsd3JhcHBlciB7CiAgIGxlZnQ6YXV0bzsKICAgcmlnaHQ6MTAwJTsKICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsKICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDUwJTsKICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZXkoOTBkZWcpOwogIHRyYW5zZm9ybTogcm90YXRleSg5MGRlZyk7Cn0KCi5oYWRlczpob3ZlciAudHAtYXJyLWFsbHdyYXBwZXIgewogICAtbXMtZmlsdGVyOiAicHJvZ2lkOmR4aW1hZ2V0cmFuc2Zvcm0ubWljcm9zb2Z0LmFscGhhKG9wYWNpdHk9MTAwKSI7CiAgZmlsdGVyOiBhbHBoYShvcGFjaXR5PTEwMCk7CiAgLW1vei1vcGFjaXR5OiAxOwogIC1raHRtbC1vcGFjaXR5OiAxOwogIG9wYWNpdHk6IDE7ICAKICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV5KDBkZWcpOwogIHRyYW5zZm9ybTogcm90YXRleSgwZGVnKTsKCiB9CiAgICAKLmhhZGVzIC50cC1hcnItaXdyYXBwZXIgewp9Ci5oYWRlcyAudHAtYXJyLWltZ2hvbGRlciB7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7bGVmdDowcHg7CiAgd2lkdGg6MTAwJTtoZWlnaHQ6MTAwJTsKfQouaGFkZXMgLnRwLWFyci10aXRsZWhvbGRlciB7Cn0KLmhhZGVzIC50cC1hcnItc3VidGl0bGVob2xkZXIgewp9CgoKLyogQlVMTEVUUyAqLwouaGFkZXMudHAtYnVsbGV0cyB7Cn0KLmhhZGVzLnRwLWJ1bGxldHM6YmVmb3JlIHsKCWNvbnRlbnQ6IiAiOwoJcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmhhZGVzIC50cC1idWxsZXQgewoJd2lkdGg6M3B4OwoJaGVpZ2h0OjNweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojODg4OwkKCWN1cnNvcjogcG9pbnRlcjsKICAgIGJvcmRlcjo1cHggc29saWQgI2ZmZjsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7CiAgICBib3gtc2hhZG93OjBweCAwcHggM3B4IDFweCByZ2JhKDAsMCwwLDAuMik7CiAgICAtd2Via2l0LXBlcnNwZWN0aXZlOjQwMDsKICAgIHBlcnNwZWN0aXZlOjQwMDsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZXooMC4wMXB4KTsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGV6KDAuMDFweCk7Cn0KLmhhZGVzIC50cC1idWxsZXQ6aG92ZXIsCi5oYWRlcyAudHAtYnVsbGV0LnNlbGVjdGVkIHsKCWJhY2tncm91bmQ6IzU1NTsKICAKfQoKLmhhZGVzIC50cC1idWxsZXQtaW1hZ2UgewogIHBvc2l0aW9uOmFic29sdXRlO3RvcDotODBweDsgbGVmdDotNjBweDt3aWR0aDoxMjBweDtoZWlnaHQ6NjBweDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIHZpc2liaWxpdHk6aGlkZGVuOwogIG9wYWNpdHk6MDsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgcGVyc3BlY3RpdmU6NjAwOwogIC13ZWJraXQtcGVyc3BlY3RpdmU6NjAwOwogIHRyYW5zZm9ybTogcm90YXRleCgtOTBkZWcpOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGV4KC05MGRlZyk7CiAgYm94LXNoYWRvdzowcHggMHB4IDNweCAxcHggcmdiYSgwLDAsMCwwLjIpOwogIHRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOwogIAogIAp9Ci5oYWRlcyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtaW1hZ2UgewogIGRpc3BsYXk6YmxvY2s7CiAgb3BhY2l0eToxOwogIHRyYW5zZm9ybTogcm90YXRleCgwZGVnKTsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRleCgwZGVnKTsKICB2aXNpYmlsaXR5OnZpc2libGU7CiAgICB9Ci5oYWRlcyAudHAtYnVsbGV0LXRpdGxlIHsKfQoKCi8qIFRIVU1CUyAqLwouaGFkZXMgLnRwLXRodW1iIHsgCiAgICAgIG9wYWNpdHk6MQogIH0KLmhhZGVzIC50cC10aHVtYi1pbWctd3JhcCB7CiAgYm9yZGVyLXJhZGl1czo1MCU7CiAgcGFkZGluZzozcHg7CiAgZGlzcGxheTppbmxpbmUtYmxvY2s7CmJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4yNSk7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjpyZWxhdGl2ZTsKICBtYXJnaW46MHB4OwogIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7Cn0KLmhhZGVzIC50cC10aHVtYi1pbWFnZSB7CiAgIHBhZGRpbmc6M3B4OyAKICAgYm9yZGVyLXJhZGl1czo1MCU7CiAgIGRpc3BsYXk6YmxvY2s7CiAgIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICAgcG9zaXRpb246cmVsYXRpdmU7CiAgICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLDAsMCwwLjI1KTsKICBib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7CiB9ICAKCgouaGFkZXMgLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi1pbWctd3JhcCwKLmhhZGVzIC50cC10aHVtYi5zZWxlY3RlZCAudHAtdGh1bWItaW1nLXdyYXAgewogIAogICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwyNTUsMjU1LDEpOwogIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgY29sb3Itc3RvcCgwJSwgcmdiYSgyNTUsMjU1LDI1NSwxKSksIGNvbG9yLXN0b3AoMTAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSkpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9IiNmZmZmZmYiLCBlbmRDb2xvcnN0cj0iIzc3Nzc3NyIsIEdyYWRpZW50VHlwZT0wICk7CiAKICAgICAgfQouaGFkZXMgLnRwLXRodW1iLXRpdGxlOmFmdGVyIHsKICAgICAgICBjb250ZW50OiIgIjsKICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgICBsZWZ0OjUwJTsKICAgICAgICBtYXJnaW4tbGVmdDotOHB4OwogICAgICAgIHdpZHRoOiAwOwoJCWhlaWdodDogMDsKCQlib3JkZXItc3R5bGU6IHNvbGlkOwoJCWJvcmRlci13aWR0aDogOHB4IDhweCAwIDhweDsKCQlib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCgovKiBUQUJTICovCi5oYWRlcyAudHAtdGFiIHsKICBvcGFjaXR5OjE7CiB9CiAgICAKLmhhZGVzIC50cC10YWItdGl0bGUKIHsKICAgICAgZGlzcGxheTpibG9jazsKICAgICAgY29sb3I6IzMzMzsKICAgICAgZm9udC13ZWlnaHQ6NjAwOwogICAgICBmb250LXNpemU6MThweDsKICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICAgIGxpbmUtaGVpZ2h0OjI1cHg7ICAgICAgCiAgICB9IAouaGFkZXMgLnRwLXRhYi1wcmljZQogewoJZGlzcGxheTpibG9jazsKICAgIHRleHQtYWxpZ246Y2VudGVyOwogICAgY29sb3I6Izk5OTsKICAgIGZvbnQtc2l6ZToxNnB4OwogICAgbWFyZ2luLXRvcDoxMHB4OwogICBsaW5lLWhlaWdodDoyMHB4Cn0KCi5oYWRlcyAudHAtdGFiLWJ1dHRvbiB7CiAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKICAgIG1hcmdpbi10b3A6MTVweDsKICAgIHRleHQtYWxpZ246Y2VudGVyOwoJcGFkZGluZzo1cHggMTVweDsKICAJY29sb3I6I2ZmZjsKICAJZm9udC1zaXplOjE0cHg7CiAgCWJhY2tncm91bmQ6IzIxOWJkNzsKICAgCWJvcmRlci1yYWRpdXM6NHB4OwogICBmb250LXdlaWdodDo0MDA7Cn0KLmhhZGVzIC50cC10YWItaW5uZXIgewoJdGV4dC1hbGlnbjpjZW50ZXI7Cn0KCiAgICAgICAgICAgICAgCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIEhFQkUgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwovKiBBUlJPV1MgKi8KLmhlYmUudHBhcnJvd3MgewogIGN1cnNvcjpwb2ludGVyOwogIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4td2lkdGg6NzBweDsKICAgIG1pbi1oZWlnaHQ6NzBweDsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICBkaXNwbGF5OmJsb2NrOwogIHotaW5kZXg6MTAwMDsKfQouaGViZS50cGFycm93czpob3ZlciB7Cn0KLmhlYmUudHBhcnJvd3M6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MzBweDsKICBjb2xvcjojYWFhOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDcwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOwogIC13ZWJraXQtdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICAtbW96LXRyYW5zaXRpb246IGNvbG9yIDAuM3M7CiAgdHJhbnNpdGlvbjogY29sb3IgMC4zczsKICB6LWluZGV4OjI7CiAgcG9zaXRpb246cmVsYXRpdmU7CiAgIGJhY2tncm91bmQ6I2ZmZjsKICBtaW4td2lkdGg6NzBweDsKICAgIG1pbi1oZWlnaHQ6NzBweDsKfQouaGViZS50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjQiOwp9Ci5oZWJlLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9Ci5oZWJlLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiBjb2xvcjojMDAwOwogICAgICB9Ci5oZWJlIC50cC10aXRsZS13cmFwIHsgCiAgcG9zaXRpb246YWJzb2x1dGU7CiAgei1pbmRleDowOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC43NSk7CiAgbWluLWhlaWdodDo2MHB4OwogIGxpbmUtaGVpZ2h0OjYwcHg7CiAgdG9wOi0xMHB4OwogIG1hcmdpbi1sZWZ0OjBweDsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3M7CiAgdHJhbnNmb3JtOnNjYWxlWCgwKTsgIAogIC13ZWJraXQtdHJhbnNmb3JtOnNjYWxlWCgwKTsgIAogIHRyYW5zZm9ybS1vcmlnaW46MCUgNTAlOyAKICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjAlIDUwJTsKfQogLmhlYmUudHAtcmlnaHRhcnJvdyAudHAtdGl0bGUtd3JhcCB7IAogICByaWdodDowcHg7CiAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjoxMDAlIDUwJTsKIH0KLmhlYmUudHBhcnJvd3M6aG92ZXIgLnRwLXRpdGxlLXdyYXAgewogIHRyYW5zZm9ybTpzY2FsZVgoMSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06c2NhbGVYKDEpOwp9Ci5oZWJlIC50cC1hcnItdGl0bGVob2xkZXIgewogIHBvc2l0aW9uOnJlbGF0aXZlOwogIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTsKICBjb2xvcjojZmZmOwogIGZvbnQtd2VpZ2h0OjYwMDsKICBmb250LXNpemU6MTJweDsKICBsaW5lLWhlaWdodDo5MHB4OwogIHdoaXRlLXNwYWNlOm5vd3JhcDsKICBwYWRkaW5nOjBweCAyMHB4IDBweCA5MHB4Owp9CgouaGViZS50cC1yaWdodGFycm93IC50cC1hcnItdGl0bGVob2xkZXIgewogICBtYXJnaW4tbGVmdDowcHg7IAogICBwYWRkaW5nOjBweCA5MHB4IDBweCAyMHB4OwogfQoKLmhlYmUudHBhcnJvd3M6aG92ZXIgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMHB4KTsKICB0cmFuc2l0aW9uLWRlbGF5OiAwLjFzOwogIG9wYWNpdHk6MTsKfQoKLmhlYmUgLnRwLWFyci1pbWdob2xkZXJ7CiAgICAgIHdpZHRoOjkwcHg7CiAgICAgIGhlaWdodDo5MHB4OwogICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgbGVmdDoxMDAlOwogICAgICBkaXNwbGF5OmJsb2NrOwogICAgICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7CiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKICAJIHRvcDowcHg7IHJpZ2h0Oi05MHB4OwogICAgfQouaGViZS50cC1yaWdodGFycm93IC50cC1hcnItaW1naG9sZGVyewogICAgICAgIHJpZ2h0OmF1dG87bGVmdDotOTBweDsKICAgICAgfQoKLyogQlVMTEVUUyAqLwouaGViZS50cC1idWxsZXRzIHsKfQouaGViZS50cC1idWxsZXRzOmJlZm9yZSB7CiAgY29udGVudDoiICI7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwogIHBhZGRpbmc6MTBweDsKICBtYXJnaW4tbGVmdDotMTBweDttYXJnaW4tdG9wOi0xMHB4OwogIGJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KCi5oZWJlIC50cC1idWxsZXQgewogIHdpZHRoOjNweDsKICBoZWlnaHQ6M3B4OwogIHBvc2l0aW9uOmFic29sdXRlOwogIGJhY2tncm91bmQ6I2ZmZjsgIAogIGN1cnNvcjogcG9pbnRlcjsKICBib3JkZXI6NXB4IHNvbGlkICMyMjI7CiAgYm9yZGVyLXJhZGl1czo1MCU7CiAgYm94LXNpemluZzpjb250ZW50LWJveDsKICAtd2Via2l0LXBlcnNwZWN0aXZlOjQwMDsKICBwZXJzcGVjdGl2ZTo0MDA7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWigwLjAxcHgpOwogIHRyYW5zZm9ybTp0cmFuc2xhdGVaKDAuMDFweCk7CiAgIHRyYW5zaXRpb246YWxsIDAuM3M7Cn0KLmhlYmUgLnRwLWJ1bGxldDpob3ZlciwKLmhlYmUgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CiAgYmFja2dyb3VuZDojMjIyOwogIGJvcmRlci1jb2xvcjojZmZmOwp9CgouaGViZSAudHAtYnVsbGV0LWltYWdlIHsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6LTkwcHg7IGxlZnQ6LTQwcHg7CiAgd2lkdGg6NzBweDsKICBoZWlnaHQ6NzBweDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIHZpc2liaWxpdHk6aGlkZGVuOwogIG9wYWNpdHk6MDsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgdHJhbnNmb3JtLXN0eWxlOmZsYXQ7CiAgcGVyc3BlY3RpdmU6NjAwOwogIC13ZWJraXQtcGVyc3BlY3RpdmU6NjAwOwogIHRyYW5zZm9ybTogc2NhbGUoMCk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApOwogIHRyYW5zZm9ybS1vcmlnaW46NTAlIDEwMCU7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOwpib3JkZXItcmFkaXVzOjZweDsKICAKICAKfQouaGViZSAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtaW1hZ2UgewogIGRpc3BsYXk6YmxvY2s7CiAgb3BhY2l0eToxOwogIHRyYW5zZm9ybTogc2NhbGUoMSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpOwogIHZpc2liaWxpdHk6dmlzaWJsZTsKICAgIH0KLmhlYmUgLnRwLWJ1bGxldC10aXRsZSB7Cn0KCgovKiBUQUJTICovCi5oZWJlIC50cC10YWItdGl0bGUgewogICAgY29sb3I6I2E4ZDhlZTsKICAgIGZvbnQtc2l6ZToxM3B4OwogICAgZm9udC13ZWlnaHQ6NzAwOwogICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlOwogICAgZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIgogICAgbWFyZ2luLWJvdHRvbTo1cHg7Cn0KCi5oZWJlIC50cC10YWItZGVzYyB7Cglmb250LXNpemU6MThweDsKICAgIGZvbnQtd2VpZ2h0OjQwMDsKICAgIGNvbG9yOiNmZmY7CiAgICBsaW5lLWhlaWdodDoyNXB4OwoJZm9udC1mYW1pbHk6IlJvYm90byBTbGFiIjsKfQoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogSEVQSEFJU1RPUyBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwouaGVwaGFpc3Rvcy50cGFycm93cyB7CgljdXJzb3I6cG9pbnRlcjsKCWJhY2tncm91bmQ6IzAwMDsKCWJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjUpOwoJd2lkdGg6NDBweDsKCWhlaWdodDo0MHB4OwoJcG9zaXRpb246YWJzb2x1dGU7CglkaXNwbGF5OmJsb2NrOwoJei1pbmRleDoxMDAwOwogICAgYm9yZGVyLXJhZGl1czo1MCU7Cn0KLmhlcGhhaXN0b3MudHBhcnJvd3M6aG92ZXIgewoJYmFja2dyb3VuZDojMDAwOwp9Ci5oZXBoYWlzdG9zLnRwYXJyb3dzOmJlZm9yZSB7Cglmb250LWZhbWlseTogInJldmljb25zIjsKCWZvbnQtc2l6ZToxOHB4OwoJY29sb3I6I2ZmZjsKCWRpc3BsYXk6YmxvY2s7CglsaW5lLWhlaWdodDogNDBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQouaGVwaGFpc3Rvcy50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyYyI7CiAgbWFyZ2luLWxlZnQ6LTJweDsKICAKfQouaGVwaGFpc3Rvcy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MmQiOwogICBtYXJnaW4tcmlnaHQ6LTJweDsKfQoKCgovKiBCVUxMRVRTICovCi5oZXBoYWlzdG9zLnRwLWJ1bGxldHMgewp9Ci5oZXBoYWlzdG9zLnRwLWJ1bGxldHM6YmVmb3JlIHsKCWNvbnRlbnQ6IiAiOwoJcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxMDAlOwoJaGVpZ2h0OjEwMCU7CgliYWNrZ3JvdW5kOnRyYW5zcGFyZW50OwoJcGFkZGluZzoxMHB4OwoJbWFyZ2luLWxlZnQ6LTEwcHg7bWFyZ2luLXRvcDotMTBweDsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmhlcGhhaXN0b3MgLnRwLWJ1bGxldCB7Cgl3aWR0aDoxMnB4OwoJaGVpZ2h0OjEycHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWJhY2tncm91bmQ6Izk5OTsKCWJvcmRlcjozcHggc29saWQgI2Y1ZjVmNTsKCWJvcmRlci1yYWRpdXM6NTAlOwoJY3Vyc29yOiBwb2ludGVyOwoJYm94LXNpemluZzpjb250ZW50LWJveDsKICBib3gtc2hhZG93OiAwcHggMHB4IDJweCAxcHggcmdiYSgxMzAsMTMwLDEzMCwgMC4zKTsKCn0KLmhlcGhhaXN0b3MgLnRwLWJ1bGxldDpob3ZlciwKLmhlcGhhaXN0b3MgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiNmZmY7CiAgICBib3JkZXItY29sb3I6IzAwMDsKfQouaGVwaGFpc3RvcyAudHAtYnVsbGV0LWltYWdlIHsKfQouaGVwaGFpc3RvcyAudHAtYnVsbGV0LXRpdGxlIHsKfQoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogSEVSTUVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi5oZXJtZXMudHBhcnJvd3MgewoJY3Vyc29yOnBvaW50ZXI7CgliYWNrZ3JvdW5kOiMwMDA7CgliYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC41KTsKCXdpZHRoOjMwcHg7CgloZWlnaHQ6MTEwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWRpc3BsYXk6YmxvY2s7Cgl6LWluZGV4OjEwMDA7Cn0KCi5oZXJtZXMudHBhcnJvd3M6YmVmb3JlIHsKCWZvbnQtZmFtaWx5OiAicmV2aWNvbnMiOwoJZm9udC1zaXplOjE1cHg7Cgljb2xvcjojZmZmOwoJZGlzcGxheTpibG9jazsKCWxpbmUtaGVpZ2h0OiAxMTBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7CiAgICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwp9Ci5oZXJtZXMudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MjQiOwp9Ci5oZXJtZXMudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlODI1IjsKfQouaGVybWVzLnRwYXJyb3dzLnRwLWxlZnRhcnJvdzpob3ZlcjpiZWZvcmUgewogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTIwcHgpOwogICAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMjBweCk7CiAgICAgb3BhY2l0eTowOwp9Ci5oZXJtZXMudHBhcnJvd3MudHAtcmlnaHRhcnJvdzpob3ZlcjpiZWZvcmUgewogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjBweCk7CiAgICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDIwcHgpOwogICAgIG9wYWNpdHk6MDsKfQoKLmhlcm1lcyAudHAtYXJyLWFsbHdyYXBwZXIgewogICAgb3ZlcmZsb3c6aGlkZGVuOwogICAgcG9zaXRpb246YWJzb2x1dGU7Cgl3aWR0aDoxODBweDsKICAgIGhlaWdodDoxNDBweDsKICAgIHRvcDowcHg7CiAgICBsZWZ0OjBweDsKICAgIHZpc2liaWxpdHk6aGlkZGVuOwogICAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgMC4zczsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyAwLjNzOwogIC13ZWJraXQtcGVyc3BlY3RpdmU6IDEwMDBweDsKICBwZXJzcGVjdGl2ZTogMTAwMHB4OwogICAgfQouaGVybWVzLnRwLXJpZ2h0YXJyb3cgLnRwLWFyci1hbGx3cmFwcGVyIHsKICAgcmlnaHQ6MHB4O2xlZnQ6YXV0bzsKICAgICAgfQouaGVybWVzLnRwYXJyb3dzOmhvdmVyIC50cC1hcnItYWxsd3JhcHBlciB7CiAgIHZpc2liaWxpdHk6dmlzaWJsZTsKICAgICAgICAgIH0KLmhlcm1lcyAudHAtYXJyLWltZ2hvbGRlciB7CiAgd2lkdGg6MTgwcHg7cG9zaXRpb246YWJzb2x1dGU7CiAgbGVmdDowcHg7dG9wOjBweDtoZWlnaHQ6MTEwcHg7CiAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTE4MHB4KTsKICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKC0xODBweCk7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICB0cmFuc2l0aW9uLWRlbGF5OjAuM3M7Cn0KLmhlcm1lcy50cC1yaWdodGFycm93IC50cC1hcnItaW1naG9sZGVyewogICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTgwcHgpOwogIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTgwcHgpOwogICAgICB9CiAgCi5oZXJtZXMudHBhcnJvd3M6aG92ZXIgLnRwLWFyci1pbWdob2xkZXIgewogICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgwcHgpOwogICAtd2Via2l0LXRyYW5zZm9ybTp0cmFuc2xhdGVYKDBweCk7ICAgICAgICAgICAgCn0KLmhlcm1lcyAudHAtYXJyLXRpdGxlaG9sZGVyIHsKICB0b3A6MTEwcHg7CiAgd2lkdGg6MTgwcHg7CiAgdGV4dC1hbGlnbjpsZWZ0OyAKICBkaXNwbGF5OmJsb2NrOwogIHBhZGRpbmc6MHB4IDEwcHg7CiAgbGluZS1oZWlnaHQ6MzBweDsgYmFja2dyb3VuZDojMDAwOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjc1KTtjb2xvcjojZmZmOwogIGZvbnQtd2VpZ2h0OjYwMDsgcG9zaXRpb246YWJzb2x1dGU7CiAgZm9udC1zaXplOjEycHg7CiAgd2hpdGUtc3BhY2U6bm93cmFwOwogIGxldHRlci1zcGFjaW5nOjFweDsKICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzOwogIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVYKC05MGRlZyk7CiAgdHJhbnNmb3JtOiByb3RhdGVYKC05MGRlZyk7CiAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsKICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgMDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7Cgp9Ci5oZXJtZXMudHBhcnJvd3M6aG92ZXIgLnRwLWFyci10aXRsZWhvbGRlciB7CiAgICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IDAuNnM7CiAgdHJhbnNpdGlvbi1kZWxheTogMC42czsKICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWCgwZGVnKTsKICB0cmFuc2Zvcm06IHJvdGF0ZVgoMGRlZyk7Cn0KCgovKiBCVUxMRVRTICovCi5oZXJtZXMudHAtYnVsbGV0cyB7Cn0KCi5oZXJtZXMgLnRwLWJ1bGxldCB7CiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICBib3JkZXItcmFkaXVzOjUwJTsKICAgIHdpZHRoOjE2cHg7CiAgICBoZWlnaHQ6MTZweDsKICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAycHggI0ZGRjsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7CiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuM3MgZWFzZTsKICAgIHBvc2l0aW9uOmFic29sdXRlOwp9CgouaGVybWVzIC50cC1idWxsZXQ6aG92ZXIgewoJICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7Cn0KLmhlcm1lcyAudHAtYnVsbGV0OmFmdGVyIHsKICBjb250ZW50OiAnICc7CiAgcG9zaXRpb246IGFic29sdXRlOwogIGJvdHRvbTogMDsKICBoZWlnaHQ6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGOwogIGJveC1zaGFkb3c6IDAgMCAxcHggI0ZGRjsKICAtd2Via2l0LXRyYW5zaXRpb246IGhlaWdodCAwLjNzIGVhc2U7CiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuM3MgZWFzZTsKfQouaGVybWVzIC50cC1idWxsZXQuc2VsZWN0ZWQ6YWZ0ZXIgewogIGhlaWdodDoxMDAlOwp9CgoKLyogVEFCUyAqLwouaGVybWVzIC50cC10YWIgeyAKICBvcGFjaXR5OjE7ICAKICBwYWRkaW5nLXJpZ2h0OjEwcHg7CiAgYm94LXNpemluZzpib3JkZXItYm94OwogfQouaGVybWVzIC50cC10YWItaW1hZ2UgCnsgCiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6NjAlOwogIHBvc2l0aW9uOnJlbGF0aXZlOwp9Ci5oZXJtZXMgLnRwLXRhYi1jb250ZW50IAp7CiAgICBiYWNrZ3JvdW5kOnJnYig1NCw1NCw1NCk7IAogICAgcG9zaXRpb246YWJzb2x1dGU7CiAgICBwYWRkaW5nOjIwcHggMjBweCAyMHB4IDMwcHg7CiAgICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgICBjb2xvcjojZmZmOwogIGRpc3BsYXk6YmxvY2s7CiAgd2lkdGg6MTAwJTsKICBtaW4taGVpZ2h0OjQwJTsKICBib3R0b206MHB4OwogIGxlZnQ6LTEwcHg7CiAgfQouaGVybWVzIC50cC10YWItZGF0ZQogIHsKICBkaXNwbGF5OmJsb2NrOwogIGNvbG9yOiM4ODg7CiAgZm9udC13ZWlnaHQ6NjAwOwogIGZvbnQtc2l6ZToxMnB4OwogIG1hcmdpbi1ib3R0b206MTBweDsKICB9Ci5oZXJtZXMgLnRwLXRhYi10aXRsZSAKewogICAgZGlzcGxheTpibG9jazsJCiAgICBjb2xvcjojZmZmOwogICAgZm9udC1zaXplOjE2cHg7CiAgICBmb250LXdlaWdodDo4MDA7CiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7CiAgIGxpbmUtaGVpZ2h0OjE5cHg7Cn0KCi5oZXJtZXMgLnRwLXRhYi5zZWxlY3RlZCAudHAtdGFiLXRpdGxlOmFmdGVyIHsKICAgIHdpZHRoOiAwcHg7CgloZWlnaHQ6IDBweDsKCWJvcmRlci1zdHlsZTogc29saWQ7Cglib3JkZXItd2lkdGg6IDMwcHggMCAzMHB4IDEwcHg7Cglib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYig1NCw1NCw1NCk7Cgljb250ZW50OiIgIjsKICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgcmlnaHQ6LTlweDsKICAgIGJvdHRvbTo1MCU7CiAgICBtYXJnaW4tYm90dG9tOi0zMHB4Owp9Ci5oZXJtZXMgLnRwLXRhYi1tYXNrIHsKICAgICBwYWRkaW5nLXJpZ2h0OjEwcHggIWltcG9ydGFudDsKICAgICAgICAgIH0KCi8qIE1FRElBIFFVRVJJRVMgKi8KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkgewogIC5oZXJtZXMgLnRwLXRhYiAudHAtdGFiLXRpdGxlIHtmb250LXNpemU6MTRweDtsaW5lLWhlaWdodDoxNnB4O30KICAuaGVybWVzIC50cC10YWItZGF0ZSB7IGZvbnQtc2l6ZToxMXB4OyBsaW5lLWhlaWdodDoxM3B4O21hcmdpbi1ib3R0b206MTBweDt9CiAgLmhlcm1lcyAudHAtdGFiLWNvbnRlbnQgeyBwYWRkaW5nOjE1cHggMTVweCAxNXB4IDI1cHg7fQp9CkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHsKICAuaGVybWVzIC50cC10YWIgLnRwLXRhYi10aXRsZSB7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MTRweDt9CiAgLmhlcm1lcyAudHAtdGFiLWRhdGUge2ZvbnQtc2l6ZToxMHB4OyBsaW5lLWhlaWdodDoxMnB4O21hcmdpbi1ib3R0b206NXB4O30KICAuaGVybWVzIC50cC10YWItY29udGVudCB7cGFkZGluZzoxMHB4IDEwcHggMTBweCAyMHB4O30KfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBIRVNQRVJJREVOIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi5oZXNwZXJpZGVuLnRwYXJyb3dzIHsKCWN1cnNvcjpwb2ludGVyOwoJYmFja2dyb3VuZDojMDAwOwoJYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7Cgl3aWR0aDo0MHB4OwoJaGVpZ2h0OjQwcHg7Cglwb3NpdGlvbjphYnNvbHV0ZTsKCWRpc3BsYXk6YmxvY2s7Cgl6LWluZGV4OjEwMDA7CiAgICBib3JkZXItcmFkaXVzOiA1MCU7Cn0KLmhlc3BlcmlkZW4udHBhcnJvd3M6aG92ZXIgewoJYmFja2dyb3VuZDojMDAwOwp9Ci5oZXNwZXJpZGVuLnRwYXJyb3dzOmJlZm9yZSB7Cglmb250LWZhbWlseTogInJldmljb25zIjsKCWZvbnQtc2l6ZToyMHB4OwoJY29sb3I6I2ZmZjsKCWRpc3BsYXk6YmxvY2s7CglsaW5lLWhlaWdodDogNDBweDsKCXRleHQtYWxpZ246IGNlbnRlcjsKfQouaGVzcGVyaWRlbi50cGFycm93cy50cC1sZWZ0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyYyI7CiAgICBtYXJnaW4tbGVmdDotM3B4Owp9Ci5oZXNwZXJpZGVuLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyZCI7CiAgICBtYXJnaW4tcmlnaHQ6LTNweDsKfQoKLyogQlVMTEVUUyAqLwouaGVzcGVyaWRlbi50cC1idWxsZXRzIHsKfQouaGVzcGVyaWRlbi50cC1idWxsZXRzOmJlZm9yZSB7Cgljb250ZW50OiIgIjsKCXBvc2l0aW9uOmFic29sdXRlOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJYmFja2dyb3VuZDp0cmFuc3BhcmVudDsKCXBhZGRpbmc6MTBweDsKCW1hcmdpbi1sZWZ0Oi0xMHB4O21hcmdpbi10b3A6LTEwcHg7Cglib3gtc2l6aW5nOmNvbnRlbnQtYm94OwogICBib3JkZXItcmFkaXVzOjhweDsKICAKfQouaGVzcGVyaWRlbiAudHAtYnVsbGV0IHsKCXdpZHRoOjEycHg7CgloZWlnaHQ6MTJweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDogIzk5OTk5OTsgLyogb2xkIGJyb3dzZXJzICovCiAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICAjOTk5OTk5IDAlLCAjZTFlMWUxIDEwMCUpOyAvKiBmZjMuNisgKi8KICAgIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCBsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIzk5OTk5OSksIAogICAgY29sb3Itc3RvcCgxMDAlLCNlMWUxZTEpKTsgLyogY2hyb21lLHNhZmFyaTQrICovCiAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsICAjOTk5OTk5IDAlLCNlMWUxZTEgMTAwJSk7IC8qIGNocm9tZTEwKyxzYWZhcmk1LjErICovCiAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCAgIzk5OTk5OSAwJSwjZTFlMWUxIDEwMCUpOyAvKiBvcGVyYSAxMS4xMCsgKi8KICAgIGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAgIzk5OTk5OSAwJSwjZTFlMWUxIDEwMCUpOyAvKiBpZTEwKyAqLwogICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgICM5OTk5OTkgMCUsI2UxZTFlMSAxMDAlKTsgLyogdzNjICovCiAgICBmaWx0ZXI6IHByb2dpZDpkeGltYWdldHJhbnNmb3JtLm1pY3Jvc29mdC5ncmFkaWVudCggCiAgICBzdGFydGNvbG9yc3RyPSIjOTk5OTk5IiwgZW5kY29sb3JzdHI9IiNlMWUxZTEiLGdyYWRpZW50dHlwZT0wICk7IC8qIGllNi05ICovCglib3JkZXI6M3B4IHNvbGlkICNlNWU1ZTU7Cglib3JkZXItcmFkaXVzOjUwJTsKCWN1cnNvcjogcG9pbnRlcjsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLmhlc3BlcmlkZW4gLnRwLWJ1bGxldDpob3ZlciwKLmhlc3BlcmlkZW4gLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiM2NjY7Cn0KLmhlc3BlcmlkZW4gLnRwLWJ1bGxldC1pbWFnZSB7Cn0KLmhlc3BlcmlkZW4gLnRwLWJ1bGxldC10aXRsZSB7Cn0KCgovKiBUSFVNQlMgKi8KLmhlc3BlcmlkZW4gLnRwLXRodW1iIHsKICBvcGFjaXR5OjE7CiAgLXdlYmtpdC1wZXJzcGVjdGl2ZTogNjAwcHg7CiAgcGVyc3BlY3RpdmU6IDYwMHB4Owp9Ci5oZXNwZXJpZGVuIC50cC10aHVtYiAudHAtdGh1bWItdGl0bGUgewogICAgZm9udC1zaXplOjEycHg7CiAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgIG1hcmdpbi10b3A6LTEwcHg7CiAgICBjb2xvcjojZmZmOwogICAgZGlzcGxheTpibG9jazsKICAgIHotaW5kZXg6MTAwMDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiMwMDA7CiAgICBwYWRkaW5nOjVweCAxMHB4OyAKICAgIGJvdHRvbTowcHg7CiAgICBsZWZ0OjBweDsKICAgIHdpZHRoOjEwMCU7CiAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgdGV4dC1hbGlnbjpjZW50ZXI7CiAgICBvdmVyZmxvdzpoaWRkZW47CiAgICB3aGl0ZS1zcGFjZTpub3dyYXA7CiAgICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogICAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwogICAgdHJhbnNmb3JtOnJvdGF0ZXgoOTBkZWcpIHRyYW5zbGF0ZXooMC4wMDFweCk7CiAgICB0cmFuc2Zvcm0tb3JpZ2luOjUwJSAxMDAlOwogICAgLXdlYmtpdC10cmFuc2Zvcm06cm90YXRleCg5MGRlZykgdHJhbnNsYXRleigwLjAwMXB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIG9wYWNpdHk6MDsKIH0KLmhlc3BlcmlkZW4gLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi10aXRsZSB7CiAgCSB0cmFuc2Zvcm06cm90YXRleCgwZGVnKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZXgoMGRlZyk7CiAgICBvcGFjaXR5OjE7Cn0KCi8qIFRBQlMgKi8KLmhlc3BlcmlkZW4gLnRwLXRhYiB7IAogIG9wYWNpdHk6MTsgICAgICAKICBwYWRkaW5nOjEwcHg7CiAgYm94LXNpemluZzpib3JkZXItYm94OwogIGZvbnQtZmFtaWx5OiAiUm9ib3RvIiwgc2Fucy1zZXJpZjsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTsKIH0KLmhlc3BlcmlkZW4gLnRwLXRhYi1pbWFnZSAKeyAKICB3aWR0aDo2MHB4OwogIGhlaWdodDo2MHB4OyBtYXgtaGVpZ2h0OjEwMCU7IG1heC13aWR0aDoxMDAlOwogIHBvc2l0aW9uOnJlbGF0aXZlOwogIGRpc3BsYXk6aW5saW5lLWJsb2NrOwogIGZsb2F0OmxlZnQ7Cgp9Ci5oZXNwZXJpZGVuIC50cC10YWItY29udGVudCAKewogICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDApOyAKICAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgcGFkZGluZzoxNXB4IDE1cHggMTVweCA4NXB4OwogbGVmdDowcHg7CiBvdmVyZmxvdzpoaWRkZW47CiBtYXJnaW4tdG9wOi0xNXB4OwogICAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgY29sb3I6IzMzMzsKICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgIHdpZHRoOjEwMCU7CiAgICBoZWlnaHQ6MTAwJTsKIHBvc2l0aW9uOmFic29sdXRlOyB9Ci5oZXNwZXJpZGVuIC50cC10YWItZGF0ZQogIHsKICBkaXNwbGF5OmJsb2NrOwogIGNvbG9yOiAjYWFhOwogIGZvbnQtd2VpZ2h0OjUwMDsKICBmb250LXNpemU6MTJweDsKICBtYXJnaW4tYm90dG9tOjBweDsKICB9Ci5oZXNwZXJpZGVuIC50cC10YWItdGl0bGUgCnsKICAgIGRpc3BsYXk6YmxvY2s7CQogICAgdGV4dC1hbGlnbjpsZWZ0OwogICAgY29sb3I6IzMzMzsKICAgIGZvbnQtc2l6ZToxNHB4OwogICAgZm9udC13ZWlnaHQ6NTAwOwogICAgdGV4dC10cmFuc2Zvcm06bm9uZTsKICAgIGxpbmUtaGVpZ2h0OjE3cHg7Cn0KLmhlc3BlcmlkZW4gLnRwLXRhYjpob3ZlciwKLmhlc3BlcmlkZW4gLnRwLXRhYi5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiNlZWU7IAp9CgouaGVzcGVyaWRlbiAudHAtdGFiLW1hc2sgewp9CgovKiBNRURJQSBRVUVSSUVTICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHsKCn0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkgewoKfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBNRVRJUyBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwoubWV0aXMudHBhcnJvd3MgewogIGJhY2tncm91bmQ6I2ZmZjsKICBwYWRkaW5nOjEwcHg7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgd2lkdGg6NjBweDsKICBoZWlnaHQ6NjBweDsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiB9CiAKIC5tZXRpcy50cGFycm93czpob3ZlciB7CiAgIGJhY2tncm91bmQ6I2ZmZjsKICAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOwogfQogCiAubWV0aXMudHBhcnJvd3M6YmVmb3JlIHsKICBjb2xvcjojMDAwOyAgCiAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwogfQogCiAubWV0aXMudHBhcnJvd3M6aG92ZXI6YmVmb3JlIHsKICAgdHJhbnNmb3JtOnNjYWxlKDEuNSk7CiAgfQogCgovKiBCVUxMRVRTICovCi5tZXRpcyAudHAtYnVsbGV0IHsgCiAgICBvcGFjaXR5OjE7CiAgICB3aWR0aDo1MHB4OwogICAgaGVpZ2h0OjUwcHg7ICAgIAogICAgcGFkZGluZzozcHg7CiAgICBiYWNrZ3JvdW5kOiMwMDA7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4yNSk7CiAgICBtYXJnaW46MHB4OwogICAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAgIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICAgIGJvcmRlci1yYWRpdXM6NTAlOwogIH0KCi5tZXRpcyAudHAtYnVsbGV0LWltYWdlIHsKCiAgIGJvcmRlci1yYWRpdXM6NTAlOwogICBkaXNwbGF5OmJsb2NrOwogICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgIHBvc2l0aW9uOnJlbGF0aXZlOwogICAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7CiAgLW1vei1ib3gtc2hhZG93OiBpbnNldCA1cHggNXB4IDEwcHggMHB4IHJnYmEoMCwwLDAsMC4yNSk7CiAgYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsMCwwLDAuMjUpOwogIHdpZHRoOjQ0cHg7CiAgaGVpZ2h0OjQ0cHg7CiAgYmFja2dyb3VuZC1zaXplOmNvdmVyOwogIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjsKIH0gIAoubWV0aXMgLnRwLWJ1bGxldC10aXRsZSB7IAogICAgIHBvc2l0aW9uOmFic29sdXRlOyAKCSBib3R0b206NjVweDsKICAgICBkaXNwbGF5OmlubGluZS1ibG9jazsKICAgICBsZWZ0OjUwJTsKICAgICBiYWNrZ3JvdW5kOiMwMDA7CiAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNzUpOwogICAgIGNvbG9yOiNmZmY7CiAgICAgcGFkZGluZzoxMHB4IDMwcHg7CiAgICAgYm9yZGVyLXJhZGl1czo0cHg7CgkgLXdlYmtpdC1ib3JkZXItcmFkaXVzOjRweDsKICAgICBvcGFjaXR5OjA7CiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3M7CiAgICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMC4wMDFweCkgdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDE0cHgpOwogICAgdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDAuMDAxcHgpIHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgxNHB4KTsKICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjo1MCUgMTAwJTsKICAgIG9wYWNpdHk6MDsKICAgIHdoaXRlLXNwYWNlOm5vd3JhcDsKIH0KCi5tZXRpcyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUgewogIAkgdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIC13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZVgoMGRlZykgdHJhbnNsYXRlWCgtNTAlKTsKICAgIG9wYWNpdHk6MTsKfQoKLm1ldGlzIC50cC1idWxsZXQuc2VsZWN0ZWQsCi5tZXRpcyAudHAtYnVsbGV0OmhvdmVyICB7CiAgCiAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LDI1NSwyNTUsMSk7CiAgYmFja2dyb3VuZDogLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC13ZWJraXQtZ3JhZGllbnQobGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCByZ2JhKDI1NSwyNTUsMjU1LDEpKSwgY29sb3Itc3RvcCgxMDAlLCByZ2JhKDExOSwxMTksMTE5LDEpKSk7CiAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwyNTUsMjU1LDEpIDAlLCByZ2JhKDExOSwxMTksMTE5LDEpIDEwMCUpOwogIGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMjU1LDI1NSwyNTUsMSkgMCUsIHJnYmEoMTE5LDExOSwxMTksMSkgMTAwJSk7CiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsMjU1LDI1NSwxKSAwJSwgcmdiYSgxMTksMTE5LDExOSwxKSAxMDAlKTsKICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0iI2ZmZmZmZiIsIGVuZENvbG9yc3RyPSIjNzc3Nzc3IiwgR3JhZGllbnRUeXBlPTAgKTsKIAogICAgICB9Ci5tZXRpcyAudHAtYnVsbGV0LXRpdGxlOmFmdGVyIHsKICAgICAgICBjb250ZW50OiIgIjsKICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgICBsZWZ0OjUwJTsKICAgICAgICBtYXJnaW4tbGVmdDotOHB4OwogICAgICAgIHdpZHRoOiAwOwoJCWhlaWdodDogMDsKCQlib3JkZXItc3R5bGU6IHNvbGlkOwoJCWJvcmRlci13aWR0aDogOHB4IDhweCAwIDhweDsKCQlib3JkZXItY29sb3I6IHJnYmEoMCwwLDAsMC43NSkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7CiAgICAgICAgYm90dG9tOi04cHg7CiAgIH0KCi5tZXRpcyAudHAtdGFiLW51bWJlciB7CiAgICAgICAgY29sb3I6ICNmZmY7CiAgICAgICAgZm9udC1zaXplOiA0MHB4OwogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OwogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7CiAgICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsKICAgICAgICB3aWR0aDogNTBweDsKICAgICAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIGZsb2F0OiBsZWZ0OwogICAgfQogICAgLm1ldGlzIC50cC10YWItbWFzayB7CiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OwogICAgICAgIGxlZnQ6IDBweDsKICAgICAgICBtYXgtd2lkdGg6IDkwcHggIWltcG9ydGFudDsKICAgICAgICB0cmFuc2l0aW9uOiAwLjRzIHBhZGRpbmctbGVmdCwgMC40cyBsZWZ0LCAwLjRzIG1heC13aWR0aDsKICAgIH0KICAgIC5tZXRpczpob3ZlciAudHAtdGFiLW1hc2sgewogICAgICAgIHBhZGRpbmctbGVmdDogMHB4OwogICAgICAgIGxlZnQ6IDUwcHg7CiAgICAgICAgbWF4LXdpZHRoOiA1MDBweCAhaW1wb3J0YW50OwogICAgfQogICAgLm1ldGlzIC50cC10YWItZGl2aWRlciB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgdHJhbnNwYXJlbnQ7CiAgICAgICAgaGVpZ2h0OiAzMHB4OwogICAgICAgIHdpZHRoOiAxcHg7CiAgICAgICAgbWFyZ2luLXRvcDogNXB4OwogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgICAgICBmbG9hdDogbGVmdDsKICAgIH0KICAgIC5tZXRpcyAudHAtdGFiLXRpdGxlIHsKICAgICAgICBjb2xvcjogI2ZmZjsKICAgICAgICBmb250LXNpemU6IDIwcHg7CiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7CiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsKICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOwogICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsKICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7CiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7CiAgICAgICAgdHJhbnNpdGlvbjogMC40cyBhbGw7CiAgICB9CiAgICAubWV0aXMgLnRwLXRhYi10aXRsZS1tYXNrIHsKICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsKICAgICAgICBsZWZ0OiA2N3B4OwogICAgfQogICAgLm1ldGlzOmhvdmVyIC50cC10YWItdGl0bGUgewogICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKICAgIH0KICAgIC5tZXRpcyAudHAtdGFiIHsKICAgICAgICBvcGFjaXR5OiAwLjE1OwogICAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsOwogICAgfQogICAgLm1ldGlzIC50cC10YWI6aG92ZXIsCiAgICAubWV0aXMgLnRwLXRhYi5zZWxlY3RlZCB7CiAgICAgICAgb3BhY2l0eTogMTsKICAgIH0KICAgIC5tZXRpcyAudHAtdGFiLnNlbGVjdGVkIC50cC10YWItZGl2aWRlciB7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NkYjA4MzsKICAgIH0KICAgIC5tZXRpcy50cC10YWJzIHsKICAgICAgICBtYXgtd2lkdGg6IDExOHB4ICFpbXBvcnRhbnQ7CiAgICAgICAgcGFkZGluZy1sZWZ0OiA1MHB4OwogICAgfQogICAgLm1ldGlzLnRwLXRhYnM6YmVmb3JlIHsKICAgICAgICBjb250ZW50OiAiICI7CiAgICAgICAgaGVpZ2h0OiAxMDAlOwogICAgICAgIHdpZHRoOiA4OHB4OwogICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4xNSk7CiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEwKTsKICAgICAgICBsZWZ0OiAwcHg7CiAgICAgICAgdG9wOiAwcHg7CiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwogICAgICAgIHRyYW5zaXRpb246IDAuNHMgYWxsOwogICAgfQogICAgLm1ldGlzLnRwLXRhYnM6aG92ZXI6YmVmb3JlIHsKICAgICAgICB3aWR0aDogMTE4cHg7CiAgICB9CiAgICBAbWVkaWEgKG1heC13aWR0aDogNDk5cHgpIHsKICAgICAgICAubWV0aXMudHAtdGFiczpiZWZvcmUgewogICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNzUpOwogICAgICAgIH0KICAgIH0KCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCi0gUmV2b2x1dGlvbiBTbGlkZXIgNS4wIE5hdmlnYXRpbiBTa2luIFN0eWxlICAtCgogUEVSU0VQSE9ORSBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwoucGVyc2VwaG9uZS50cGFycm93cyB7CgljdXJzb3I6cG9pbnRlcjsKCWJhY2tncm91bmQ6I2FhYTsKCWJhY2tncm91bmQ6cmdiYSgyMDAsMjAwLDIwMCwwLjUpOwoJd2lkdGg6NDBweDsKCWhlaWdodDo0MHB4OwoJcG9zaXRpb246YWJzb2x1dGU7CglkaXNwbGF5OmJsb2NrOwoJei1pbmRleDoxMDA7CiAgYm9yZGVyOjFweCBzb2xpZCAjZjVmNWY1Owp9Ci5wZXJzZXBob25lLnRwYXJyb3dzOmhvdmVyIHsKCWJhY2tncm91bmQ6IzMzMzsKfQoucGVyc2VwaG9uZS50cGFycm93czpiZWZvcmUgewoJZm9udC1mYW1pbHk6ICJyZXZpY29ucyI7Cglmb250LXNpemU6MTVweDsKCWNvbG9yOiNmZmY7CglkaXNwbGF5OmJsb2NrOwoJbGluZS1oZWlnaHQ6IDQwcHg7Cgl0ZXh0LWFsaWduOiBjZW50ZXI7Cn0KLnBlcnNlcGhvbmUudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU4MjQiOwp9Ci5wZXJzZXBob25lLnRwYXJyb3dzLnRwLXJpZ2h0YXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTgyNSI7Cn0KCgoKLyogQlVMTEVUUyAqLwoucGVyc2VwaG9uZS50cC1idWxsZXRzIHsKfQoucGVyc2VwaG9uZS50cC1idWxsZXRzOmJlZm9yZSB7Cgljb250ZW50OiIgIjsKCXBvc2l0aW9uOmFic29sdXRlOwoJd2lkdGg6MTAwJTsKCWhlaWdodDoxMDAlOwoJYmFja2dyb3VuZDojdHJhbnNwYXJlbnQ7CglwYWRkaW5nOjEwcHg7CgltYXJnaW4tbGVmdDotMTBweDttYXJnaW4tdG9wOi0xMHB4OwoJYm94LXNpemluZzpjb250ZW50LWJveDsKfQoucGVyc2VwaG9uZSAudHAtYnVsbGV0IHsKCXdpZHRoOjEycHg7CgloZWlnaHQ6MTJweDsKCXBvc2l0aW9uOmFic29sdXRlOwoJYmFja2dyb3VuZDojYWFhOwoJYm9yZGVyOjFweCBzb2xpZCAjZTVlNWU1OwkKCWN1cnNvcjogcG9pbnRlcjsKCWJveC1zaXppbmc6Y29udGVudC1ib3g7Cn0KLnBlcnNlcGhvbmUgLnRwLWJ1bGxldDpob3ZlciwKLnBlcnNlcGhvbmUgLnRwLWJ1bGxldC5zZWxlY3RlZCB7CgliYWNrZ3JvdW5kOiMyMjI7Cn0KLnBlcnNlcGhvbmUgLnRwLWJ1bGxldC1pbWFnZSB7Cn0KLnBlcnNlcGhvbmUgLnRwLWJ1bGxldC10aXRsZSB7Cn0KCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIFVSQU5VUyBTS0lOCgphdXRob3I6ICBUaGVtZVB1bmNoCmVtYWlsOiAgICAgIGluZm9AdGhlbWVwdW5jaC5jb20Kd2Vic2l0ZTogICAgaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCi8qIEFSUk9XUyAqLwoudXJhbnVzLnRwYXJyb3dzIHsKICB3aWR0aDo1MHB4OwogIGhlaWdodDo1MHB4OwogIGJhY2tncm91bmQ6dHJhbnNwYXJlbnQ7CiB9CiAudXJhbnVzLnRwYXJyb3dzOmJlZm9yZSB7CiB3aWR0aDo1MHB4OwogaGVpZ2h0OjUwcHg7CiBsaW5lLWhlaWdodDo1MHB4OwogZm9udC1zaXplOjQwcHg7CiB0cmFuc2l0aW9uOmFsbCAwLjNzOwotd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiB9CiAKICAudXJhbnVzLnRwYXJyb3dzOmhvdmVyOmJlZm9yZSB7CiAgICBvcGFjaXR5OjAuNzU7CiAgfQoKLyogQlVMTEVUUyAqLwoudXJhbnVzIC50cC1idWxsZXR7Cglib3JkZXItcmFkaXVzOiA1MCU7CiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7CiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3MgZWFzZTsKICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Owp9Ci51cmFudXMgLnRwLWJ1bGxldC5zZWxlY3RlZCwKLnVyYW51cyAudHAtYnVsbGV0OmhvdmVyIHsKICBib3gtc2hhZG93OiAwIDAgMCAycHggI0ZGRjsKICBib3JkZXI6bm9uZTsKICBib3JkZXItcmFkaXVzOiA1MCU7CgogICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Owp9CgoKCi51cmFudXMgLnRwLWJ1bGxldC1pbm5lciB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpOwogIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzIGVhc2UsIC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZSwgdHJhbnNmb3JtIDAuM3MgZWFzZTsKICB0b3A6IDA7CiAgbGVmdDogMDsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgb3V0bGluZTogbm9uZTsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7CiAgdGV4dC1pbmRlbnQ6IC05OTllbTsKICBjdXJzb3I6IHBvaW50ZXI7CiAgcG9zaXRpb246IGFic29sdXRlOwp9CgoudXJhbnVzIC50cC1idWxsZXQuc2VsZWN0ZWQgLnRwLWJ1bGxldC1pbm5lciwKLnVyYW51cyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtaW5uZXJ7CiB0cmFuc2Zvcm06IHNjYWxlKDAuNCk7CiAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC40KTsKIGJhY2tncm91bmQtY29sb3I6I2ZmZjsKfQoKLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKLSBSZXZvbHV0aW9uIFNsaWRlciA1LjAgTmF2aWdhdGluIFNraW4gU3R5bGUgIC0KCiBaRVVTIFNLSU4KCmF1dGhvcjogIFRoZW1lUHVuY2gKZW1haWw6ICAgICAgaW5mb0B0aGVtZXB1bmNoLmNvbQp3ZWJzaXRlOiAgICBodHRwOi8vd3d3LnRoZW1lcHVuY2guY29tCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KLyogQVJST1dTICovCi56ZXVzLnRwYXJyb3dzIHsKICBjdXJzb3I6cG9pbnRlcjsKICBtaW4td2lkdGg6NzBweDsKICBtaW4taGVpZ2h0OjcwcHg7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgZGlzcGxheTpibG9jazsKICB6LWluZGV4OjEwMDsKICBib3JkZXItcmFkaXVzOjM1cHg7ICAgCiAgb3ZlcmZsb3c6aGlkZGVuOwogIGJhY2tncm91bmQ6cmdiYSgwLDAsMCwwLjEwKTsKfQoKLnpldXMudHBhcnJvd3M6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MjBweDsKICBjb2xvcjojZmZmOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDcwcHg7CiAgdGV4dC1hbGlnbjogY2VudGVyOyAgICAKICB6LWluZGV4OjI7CiAgcG9zaXRpb246cmVsYXRpdmU7Cn0KLnpldXMudHBhcnJvd3MudHAtbGVmdGFycm93OmJlZm9yZSB7CiAgY29udGVudDogIlxlODI0IjsKfQouemV1cy50cGFycm93cy50cC1yaWdodGFycm93OmJlZm9yZSB7CiAgY29udGVudDogIlxlODI1IjsKfQoKLnpldXMgLnRwLXRpdGxlLXdyYXAgewogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC41KTsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgb3BhY2l0eTowOwogIHRyYW5zZm9ybTpzY2FsZSgwKTsKICAtd2Via2l0LXRyYW5zZm9ybTpzY2FsZSgwKTsKICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7CiAgLXdlYmtpdC10cmFuc2l0aW9uOmFsbCAwLjNzOwogIC1tb3otdHJhbnNpdGlvbjphbGwgMC4zczsKICAgYm9yZGVyLXJhZGl1czo1MCU7CiB9Ci56ZXVzIC50cC1hcnItaW1naG9sZGVyIHsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyOwogIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKICBib3JkZXItcmFkaXVzOjUwJTsKICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7CiAgLXdlYmtpdC10cmFuc2Zvcm06dHJhbnNsYXRlWCgtMTAwJSk7CiAgIHRyYW5zaXRpb246IGFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICAtbW96LXRyYW5zaXRpb246YWxsIDAuM3M7CgogfQouemV1cy50cC1yaWdodGFycm93IC50cC1hcnItaW1naG9sZGVyIHsKICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDEwMCUpOwogIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMTAwJSk7CiAgICAgIH0KLnpldXMudHBhcnJvd3M6aG92ZXIgLnRwLWFyci1pbWdob2xkZXIgewogIHRyYW5zZm9ybTp0cmFuc2xhdGVYKDApOwogIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVgoMCk7CiAgb3BhY2l0eToxOwp9CiAgICAgIAouemV1cy50cGFycm93czpob3ZlciAudHAtdGl0bGUtd3JhcCB7CiAgdHJhbnNmb3JtOnNjYWxlKDEpOwogIC13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKDEpOwogIG9wYWNpdHk6MTsKfQogCgovKiBCVUxMRVRTICovCi56ZXVzIC50cC1idWxsZXQgewogICAgIGJveC1zaXppbmc6Y29udGVudC1ib3g7IC13ZWJraXQtYm94LXNpemluZzpjb250ZW50LWJveDsgYm9yZGVyLXJhZGl1czo1MCU7CiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7CiAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogb3BhY2l0eSAwLjNzIGVhc2U7CiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlOwoJICB3aWR0aDoxM3B4O2hlaWdodDoxM3B4OwoJICBib3JkZXI6MnB4IHNvbGlkICNmZmY7CiB9Ci56ZXVzIC50cC1idWxsZXQ6YWZ0ZXIgewogIGNvbnRlbnQ6ICIiOwogIHBvc2l0aW9uOiBhYnNvbHV0ZTsKICB3aWR0aDogMTAwJTsKICBoZWlnaHQ6IDEwMCU7CiAgbGVmdDogMDsKICBib3JkZXItcmFkaXVzOiA1MCU7CiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjsKICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7CiAgdHJhbnNmb3JtOiBzY2FsZSgwKTsKICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsKICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtdHJhbnNmb3JtIDAuM3MgZWFzZTsKICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOwp9Ci56ZXVzIC50cC1idWxsZXQ6aG92ZXI6YWZ0ZXIsCi56ZXVzIC50cC1idWxsZXQuc2VsZWN0ZWQ6YWZ0ZXJ7CiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsKICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7Cn0KICAKIC56ZXVzIC50cC1idWxsZXQtaW1hZ2UsCiAuemV1cyAudHAtYnVsbGV0LWltYWdlb3ZlcmxheXsKICAgICAgICB3aWR0aDoxMzVweDsKICAgICAgICBoZWlnaHQ6NjBweDsKICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTsKICAgICAgICBiYWNrZ3JvdW5kOiMwMDA7CiAgICAgICAgYmFja2dyb3VuZDpyZ2JhKDAsMCwwLDAuNSk7CiAgICAgICAgYm90dG9tOjI1cHg7CiAgICAgICAgbGVmdDo1MCU7CiAgICAgICAgbWFyZ2luLWxlZnQ6LTY1cHg7CiAgICAgICAgYm94LXNpemluZzpib3JkZXItYm94OwogICAgICAgIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjsKICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7CiAgICAgICAgdmlzaWJpbGl0eTpoaWRkZW47CiAgICAgICAgb3BhY2l0eTowOwogICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgCiAgICAgIAliYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwoJCXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgCQktd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgCQl0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIGJvcmRlci1yYWRpdXM6NHB4OwoKfQogICAgICAgICAgCgouemV1cyAudHAtYnVsbGV0LXRpdGxlLAouemV1cyAudHAtYnVsbGV0LWltYWdlb3ZlcmxheSB7CiAgICAgICAgei1pbmRleDoyOwogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsKCSAgCXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7Cn0gICAgIAouemV1cyAudHAtYnVsbGV0LXRpdGxlIHsgCiAgICAgICAgY29sb3I6I2ZmZjsKICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjsKICAgICAgICBsaW5lLWhlaWdodDoxNXB4OwogICAgICAgIGZvbnQtc2l6ZToxM3B4OwogICAgICAgIGZvbnQtd2VpZ2h0OjYwMDsgIAogICAgICAgIHotaW5kZXg6MzsKICAgICAgICAgdmlzaWJpbGl0eTpoaWRkZW47CiAgICAgICAgb3BhY2l0eTowOwogICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgCiAgICAgIAliYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlOwoJCXRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7CiAgCQktd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2U7CiAgCQl0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlOwogICAgICAgIHBvc2l0aW9uOmFic29sdXRlOwogICAgICAgIGJvdHRvbTo0NXB4OwogICAgICAgIHdpZHRoOjEzNXB4OwogICAgCXZlcnRpY2FsLWFsaWduOm1pZGRsZTsKICAgICAgICBsZWZ0Oi01N3B4Owp9CiAgICAgIAouemV1cyAudHAtYnVsbGV0OmhvdmVyIC50cC1idWxsZXQtdGl0bGUsCi56ZXVzIC50cC1idWxsZXQ6aG92ZXIgLnRwLWJ1bGxldC1pbWFnZSwKLnpldXMgLnRwLWJ1bGxldDpob3ZlciAudHAtYnVsbGV0LWltYWdlb3ZlcmxheXsKICAgICAgb3BhY2l0eToxOwogICAgICB2aXNpYmlsaXR5OnZpc2libGU7CgkgIC13ZWJraXQtdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KTsKICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoMHB4KTsgICAgICAgICAKICAgIH0KCi8qIFRIVU1CUyAqLwouemV1cyAudHAtdGh1bWIgewpvcGFjaXR5OjEKfQoKLnpldXMgLnRwLXRodW1iLW92ZXIgewogIGJhY2tncm91bmQ6IzAwMDsKICBiYWNrZ3JvdW5kOnJnYmEoMCwwLDAsMC4yNSk7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MTsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKfQoKLnpldXMgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBmb250LWZhbWlseTogInJldmljb25zIjsKICBmb250LXNpemU6MTJweDsKICBjb2xvcjojYWFhOwogIGNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC43NSk7CiAgZGlzcGxheTpibG9jazsKICBsaW5lLWhlaWdodDogMTJweDsKICB0ZXh0LWFsaWduOiBsZWZ0OyAgICAKICB6LWluZGV4OjI7CiAgcG9zaXRpb246YWJzb2x1dGU7CiAgdG9wOjIwcHg7CiAgcmlnaHQ6MjBweDsKICB6LWluZGV4OjI7Cn0KLnpldXMgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgouemV1cyAudHAtdGh1bWItdGl0bGUgewogIGZvbnQtZmFtaWx5OiJSYWxld2F5IjsKICBsZXR0ZXItc3BhY2luZzoxcHg7CiAgZm9udC1zaXplOjEycHg7CiAgY29sb3I6I2ZmZjsKICBkaXNwbGF5OmJsb2NrOwogIGxpbmUtaGVpZ2h0OiAxNXB4OwogIHRleHQtYWxpZ246IGxlZnQ7ICAgIAogIHotaW5kZXg6MjsKICBwb3NpdGlvbjphYnNvbHV0ZTsKICB0b3A6MHB4OwogIGxlZnQ6MHB4OwogIHotaW5kZXg6MjsKICBwYWRkaW5nOjIwcHggMzVweCAyMHB4IDIwcHg7CiAgd2lkdGg6MTAwJTsKICBoZWlnaHQ6MTAwJTsKICBib3gtc2l6aW5nOmJvcmRlci1ib3g7CiAgdHJhbnNpdGlvbjphbGwgMC4zczsKICAtd2Via2l0LXRyYW5zaXRpb246YWxsIDAuM3M7CiAgZm9udC13ZWlnaHQ6NTAwOwp9CgouemV1cyAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW1vcmU6YmVmb3JlLAouemV1cyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKIGNvbG9yOiNhYWE7Cgp9CgouemV1cyAudHAtdGh1bWIuc2VsZWN0ZWQgLnRwLXRodW1iLW92ZXIsCi56ZXVzIC50cC10aHVtYjpob3ZlciAudHAtdGh1bWItb3ZlciB7CiBiYWNrZ3JvdW5kOiMwMDA7Cn0KLnpldXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi10aXRsZSwKLnpldXMgLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi10aXRsZSB7CiAgY29sb3I6I2ZmZjsKCn0KCgovKiBUQUJTICovCi56ZXVzIC50cC10YWIgeyAKICBvcGFjaXR5OjE7ICAgICAgCiAgYm94LXNpemluZzpib3JkZXItYm94Owp9CgouemV1cyAudHAtdGFiLXRpdGxlIHsgCmRpc3BsYXk6IGJsb2NrOwp0ZXh0LWFsaWduOiBjZW50ZXI7CmJhY2tncm91bmQ6IHJnYmEoMCwwLDAsMC4yNSk7CmZvbnQtZmFtaWx5OiAiUm9ib3RvIFNsYWIiLCBzZXJpZjsgCmZvbnQtd2VpZ2h0OiA3MDA7IApmb250LXNpemU6IDEzcHg7IApsaW5lLWhlaWdodDogMTNweDsKY29sb3I6ICNmZmY7IApwYWRkaW5nOiA5cHggMTBweDsgfQoKLnpldXMgLnRwLXRhYjpob3ZlciAudHAtdGFiLXRpdGxlLAouemV1cyAudHAtdGFiLnNlbGVjdGVkIC50cC10YWItdGl0bGUgewogY29sb3I6ICMwMDA7CiAgYmFja2dyb3VuZDpyZ2JhKDI1NSwyNTUsMjU1LDEpOyAKfQoKCgovKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgotIFJldm9sdXRpb24gU2xpZGVyIDUuMCBOYXZpZ2F0aW4gU2tpbiBTdHlsZSAgLQoKIFpFVVMgU0tJTgoKYXV0aG9yOiAgVGhlbWVQdW5jaAplbWFpbDogICAgICBpbmZvQHRoZW1lcHVuY2guY29tCndlYnNpdGU6ICAgIGh0dHA6Ly93d3cudGhlbWVwdW5jaC5jb20KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKCi5wb3N0LXRhYnMgLnRwLXRodW1iIHsKb3BhY2l0eToxCn0KCi5wb3N0LXRhYnMgLnRwLXRodW1iLW92ZXIgewogIGJhY2tncm91bmQ6IzI1MjUyNTsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgei1pbmRleDoxOwogIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwp9CgoucG9zdC10YWJzIC50cC10aHVtYi1tb3JlOmJlZm9yZSB7CiAgZm9udC1mYW1pbHk6ICJyZXZpY29ucyI7CiAgZm9udC1zaXplOjEycHg7CiAgY29sb3I6I2FhYTsKICBjb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNzUpOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDEycHg7CiAgdGV4dC1hbGlnbjogbGVmdDsgICAgCiAgei1pbmRleDoyOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDoxNXB4OwogIHJpZ2h0OjE1cHg7CiAgei1pbmRleDoyOwp9Ci5wb3N0LXRhYnMgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKICBjb250ZW50OiAiXGU4MjUiOwp9CgoucG9zdC10YWJzIC50cC10aHVtYi10aXRsZSB7CiAgZm9udC1mYW1pbHk6InJhbGV3YXkiOwogIGxldHRlci1zcGFjaW5nOjFweDsKICBmb250LXNpemU6MTJweDsKICBjb2xvcjojZmZmOwogIGRpc3BsYXk6YmxvY2s7CiAgbGluZS1oZWlnaHQ6IDE1cHg7CiAgdGV4dC1hbGlnbjogbGVmdDsgICAgCiAgei1pbmRleDoyOwogIHBvc2l0aW9uOmFic29sdXRlOwogIHRvcDowcHg7CiAgbGVmdDowcHg7CiAgei1pbmRleDoyOwogIHBhZGRpbmc6MTVweCAzMHB4IDE1cHggMTVweDsKICB3aWR0aDoxMDAlOwogIGhlaWdodDoxMDAlOwogIGJveC1zaXppbmc6Ym9yZGVyLWJveDsKICB0cmFuc2l0aW9uOmFsbCAwLjNzOwogIC13ZWJraXQtdHJhbnNpdGlvbjphbGwgMC4zczsKICBmb250LXdlaWdodDo1MDA7Cn0KCi5wb3N0LXRhYnMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1tb3JlOmJlZm9yZSwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW1vcmU6YmVmb3JlIHsKIGNvbG9yOiNhYWE7Cgp9CgoucG9zdC10YWJzIC50cC10aHVtYi5zZWxlY3RlZCAudHAtdGh1bWItb3ZlciwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLW92ZXIgewogYmFja2dyb3VuZDojZmZmOwp9Ci5wb3N0LXRhYnMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi10aXRsZSwKLnBvc3QtdGFicyAudHAtdGh1bWI6aG92ZXIgLnRwLXRodW1iLXRpdGxlIHsKICBjb2xvcjojMDAwOwoKfQo="}},"time_used":364,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":325,"receive":39,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"widgets.coingecko.com/gecko-coin-price-chart-widget.js","fqdn":"widgets.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"104.18.5.118","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"script","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.808Z","timestamp":1785133989808,"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":"coingecko.com","organization":""},"issuer":{"commonName":"YE2","organization":"Let's Encrypt"},"validity":{"start":"Thu, 25 Jun 2026 14:12:31 GMT","end":"Wed, 23 Sep 2026 14:12:30 GMT"},"fingerprint":{"sha1":"79:92:C9:C4:9C:3B:8E:38:3D:B4:5C:FA:23:B7:32:6D:E5:6E:21:4C","sha256":"9F:04:05:47:D7:AB:A2:ED:CE:9E:40:05:15:CB:1D:E0:9F:A7:BB:C0:DC:EC:A2:90:53:EC:F5:8E:57:D6:62:B0"}}},"request":{"raw":"GET /gecko-coin-price-chart-widget.js HTTP/1.1\r\nHost: widgets.coingecko.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: script\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 200 \r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\ncontent-type: application/javascript\r\nx-amz-id-2: Ppdpj6ZjFv5OaRR+Ggz4XMbBordGB+fVp2S6kVF3glTtlLi1CquewQ+IIJwdMfW/exKUstvvnqcQun7WuBP9WzRfxPgFVQaI\r\nx-amz-request-id: MQAMCHJPSDXND42R\r\nx-amz-replication-status: COMPLETED\r\nlast-modified: Fri, 03 Jul 2026 04:41:24 GMT\r\nvary: accept-encoding\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: bXJhuM088flBatDBlwtGcaH9Qrb.nBdK\r\nserver: cloudflare\r\npriority: u=3,i=?0\r\nage: 265554\r\nexpires: Tue, 28 Jul 2026 06:33:09 GMT\r\ncache-control: public, max-age=86400\r\ncf-cache-status: HIT\r\nstrict-transport-security: max-age=31536000; includeSubDomains; preload\r\nx-content-type-options: nosniff\r\nspeculation-rules: \"/cdn-cgi/speculation\"\r\netag: W/\"5b39b08ffac90fe7904ea4d53bf5f620\"\r\ncontent-encoding: br\r\ncf-ray: a2199c6c7e8cb4f9-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"name":"HSTS","description":"HTTP Strict Transport Security (HSTS) informs browsers that the site should only be accessed using HTTPS.","website":"https://www.rfc-editor.org/rfc/rfc6797#section-6.1","common_platform_enumeration":"","icon":"","categories":["Security"]}],"data":{"size":704402,"size_decoded":218162,"mime_type":"application/javascript","magic":"JavaScript source, Unicode text, UTF-8 text, with very long lines (34859)","md5":"5b39b08ffac90fe7904ea4d53bf5f620","sha1":"243f022c973de8aff998bf958074b495db6750ac","sha256":"25eaa361b84444c605a6f9998113c8fd9363fc83d88e86201e7fd46bdc4437bf","sha512":"d7d018d8e41eb48b1e9b8d45b4f2cd56767306b1971184503e3e61894033f8b547865cc3478c9166eef01a1304c1c0f228e3d2fc3f6ca03c8ef3d815217b397d","ssdeep":"6144:k4iNTigEwPzmhIY6w9sGQV9lG8YOupgjLFTSANkuidkbyrdAjosETmsmY3m6z:B0emqhIPw9sYFOGgjxTZErdVhmQ","tlshash":"dee4298df250712546a373e0a01f160ba237687ca54981acf6a9e8f61c7d48d763bf7c","first_seen":"2026-07-27T05:09:21.349488Z","last_seen":"2026-07-27T13:28:19.773144Z","times_seen":11,"resource_available":true,"data":"KGZ1bmN0aW9uKHQpe3ZhciBlPXt9O2Z1bmN0aW9uIGkobil7aWYoZVtuXSlyZXR1cm4gZVtuXS5leHBvcnRzO3ZhciByPWVbbl09e2k6bixsOiExLGV4cG9ydHM6e319O3JldHVybiB0W25dLmNhbGwoci5leHBvcnRzLHIsci5leHBvcnRzLGkpLHIubD0hMCxyLmV4cG9ydHN9aS5tPXQsaS5jPWUsaS5kPWZ1bmN0aW9uKHQsZSxuKXtpLm8odCxlKXx8T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7ZW51bWVyYWJsZTohMCxnZXQ6bn0pfSxpLnI9ZnVuY3Rpb24odCl7InVuZGVmaW5lZCIhPT10eXBlb2YgU3ltYm9sJiZTeW1ib2wudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LFN5bWJvbC50b1N0cmluZ1RhZyx7dmFsdWU6Ik1vZHVsZSJ9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiX19lc01vZHVsZSIse3ZhbHVlOiEwfSl9LGkudD1mdW5jdGlvbih0LGUpe2lmKDEmZSYmKHQ9aSh0KSksOCZlKXJldHVybiB0O2lmKDQmZSYmIm9iamVjdCI9PT10eXBlb2YgdCYmdCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBuPU9iamVjdC5jcmVhdGUobnVsbCk7aWYoaS5yKG4pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLCJkZWZhdWx0Iix7ZW51bWVyYWJsZTohMCx2YWx1ZTp0fSksMiZlJiYic3RyaW5nIiE9dHlwZW9mIHQpZm9yKHZhciByIGluIHQpaS5kKG4scixmdW5jdGlvbihlKXtyZXR1cm4gdFtlXX0uYmluZChudWxsLHIpKTtyZXR1cm4gbn0saS5uPWZ1bmN0aW9uKHQpe3ZhciBlPXQmJnQuX19lc01vZHVsZT9mdW5jdGlvbigpe3JldHVybiB0WyJkZWZhdWx0Il19OmZ1bmN0aW9uKCl7cmV0dXJuIHR9O3JldHVybiBpLmQoZSwiYSIsZSksZX0saS5vPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfSxpLnA9Ii8iLGkoaS5zPTEzKX0pKHsiMDE0YiI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCJlNTNkIikscj1pKCIwN2UzIiksbz1pKCI4ZTYwIiksYT1pKCI2M2I2Iikscz1pKCI5MTM4IiksYz1pKCJlYmZkIikuS0VZLGg9aSgiMjk0YyIpLGw9aSgiZGJkYiIpLHA9aSgiNDVmMiIpLGQ9aSgiNjJhMCIpLHU9aSgiNTE2OCIpLGY9aSgiY2NiOSIpLG09aSgiNjcxOCIpLGc9aSgiNDdlZSIpLHY9aSgiOTAwMyIpLHk9aSgiZTRhZSIpLF89aSgiZjc3MiIpLGI9aSgiMjQxZSIpLHg9aSgiMzZjMyIpLHc9aSgiMWJjMyIpLGs9aSgiYWViZCIpLEM9aSgiYTE1OSIpLFM9aSgiMDM5NSIpLEE9aSgiYmYwYiIpLE09aSgiOWFhOSIpLFA9aSgiZDlmNiIpLE89aSgiYzNhMSIpLFQ9QS5mLEU9UC5mLEw9Uy5mLGo9bi5TeW1ib2wsRD1uLkpTT04sST1EJiZELnN0cmluZ2lmeSx6PSJwcm90b3R5cGUiLEI9dSgiX2hpZGRlbiIpLFI9dSgidG9QcmltaXRpdmUiKSxOPXt9LnByb3BlcnR5SXNFbnVtZXJhYmxlLEc9bCgic3ltYm9sLXJlZ2lzdHJ5IiksRj1sKCJzeW1ib2xzIiksSD1sKCJvcC1zeW1ib2xzIiksVz1PYmplY3Rbel0sVT0iZnVuY3Rpb24iPT10eXBlb2YgaiYmISFNLmYsWD1uLlFPYmplY3QsVj0hWHx8IVhbel18fCFYW3pdLmZpbmRDaGlsZCxZPW8mJmgoKGZ1bmN0aW9uKCl7cmV0dXJuIDchPUMoRSh7fSwiYSIse2dldDpmdW5jdGlvbigpe3JldHVybiBFKHRoaXMsImEiLHt2YWx1ZTo3fSkuYX19KSkuYX0pKT9mdW5jdGlvbih0LGUsaSl7dmFyIG49VChXLGUpO24mJmRlbGV0ZSBXW2VdLEUodCxlLGkpLG4mJnQhPT1XJiZFKFcsZSxuKX06RSwkPWZ1bmN0aW9uKHQpe3ZhciBlPUZbdF09QyhqW3pdKTtyZXR1cm4gZS5faz10LGV9LEs9VSYmInN5bWJvbCI9PXR5cGVvZiBqLml0ZXJhdG9yP2Z1bmN0aW9uKHQpe3JldHVybiJzeW1ib2wiPT10eXBlb2YgdH06ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBqfSxaPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdD09PVcmJlooSCxlLGkpLHkodCksZT13KGUsITApLHkoaSkscihGLGUpPyhpLmVudW1lcmFibGU/KHIodCxCKSYmdFtCXVtlXSYmKHRbQl1bZV09ITEpLGk9QyhpLHtlbnVtZXJhYmxlOmsoMCwhMSl9KSk6KHIodCxCKXx8RSh0LEIsaygxLHt9KSksdFtCXVtlXT0hMCksWSh0LGUsaSkpOkUodCxlLGkpfSxxPWZ1bmN0aW9uKHQsZSl7eSh0KTt2YXIgaSxuPWcoZT14KGUpKSxyPTAsbz1uLmxlbmd0aDt3aGlsZShvPnIpWih0LGk9bltyKytdLGVbaV0pO3JldHVybiB0fSxKPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHZvaWQgMD09PWU/Qyh0KTpxKEModCksZSl9LFE9ZnVuY3Rpb24odCl7dmFyIGU9Ti5jYWxsKHRoaXMsdD13KHQsITApKTtyZXR1cm4hKHRoaXM9PT1XJiZyKEYsdCkmJiFyKEgsdCkpJiYoIShlfHwhcih0aGlzLHQpfHwhcihGLHQpfHxyKHRoaXMsQikmJnRoaXNbQl1bdF0pfHxlKX0sdHQ9ZnVuY3Rpb24odCxlKXtpZih0PXgodCksZT13KGUsITApLHQhPT1XfHwhcihGLGUpfHxyKEgsZSkpe3ZhciBpPVQodCxlKTtyZXR1cm4haXx8IXIoRixlKXx8cih0LEIpJiZ0W0JdW2VdfHwoaS5lbnVtZXJhYmxlPSEwKSxpfX0sZXQ9ZnVuY3Rpb24odCl7dmFyIGUsaT1MKHgodCkpLG49W10sbz0wO3doaWxlKGkubGVuZ3RoPm8pcihGLGU9aVtvKytdKXx8ZT09Qnx8ZT09Y3x8bi5wdXNoKGUpO3JldHVybiBufSxpdD1mdW5jdGlvbih0KXt2YXIgZSxpPXQ9PT1XLG49TChpP0g6eCh0KSksbz1bXSxhPTA7d2hpbGUobi5sZW5ndGg+YSkhcihGLGU9blthKytdKXx8aSYmIXIoVyxlKXx8by5wdXNoKEZbZV0pO3JldHVybiBvfTtVfHwoaj1mdW5jdGlvbigpe2lmKHRoaXMgaW5zdGFuY2VvZiBqKXRocm93IFR5cGVFcnJvcigiU3ltYm9sIGlzIG5vdCBhIGNvbnN0cnVjdG9yISIpO3ZhciB0PWQoYXJndW1lbnRzLmxlbmd0aD4wP2FyZ3VtZW50c1swXTp2b2lkIDApLGU9ZnVuY3Rpb24oaSl7dGhpcz09PVcmJmUuY2FsbChILGkpLHIodGhpcyxCKSYmcih0aGlzW0JdLHQpJiYodGhpc1tCXVt0XT0hMSksWSh0aGlzLHQsaygxLGkpKX07cmV0dXJuIG8mJlYmJlkoVyx0LHtjb25maWd1cmFibGU6ITAsc2V0OmV9KSwkKHQpfSxzKGpbel0sInRvU3RyaW5nIiwoZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fa30pKSxBLmY9dHQsUC5mPVosaSgiNmFiZiIpLmY9Uy5mPWV0LGkoIjM1NWQiKS5mPVEsTS5mPWl0LG8mJiFpKCJiOGUzIikmJnMoVywicHJvcGVydHlJc0VudW1lcmFibGUiLFEsITApLGYuZj1mdW5jdGlvbih0KXtyZXR1cm4gJCh1KHQpKX0pLGEoYS5HK2EuVythLkYqIVUse1N5bWJvbDpqfSk7Zm9yKHZhciBudD0iaGFzSW5zdGFuY2UsaXNDb25jYXRTcHJlYWRhYmxlLGl0ZXJhdG9yLG1hdGNoLHJlcGxhY2Usc2VhcmNoLHNwZWNpZXMsc3BsaXQsdG9QcmltaXRpdmUsdG9TdHJpbmdUYWcsdW5zY29wYWJsZXMiLnNwbGl0KCIsIikscnQ9MDtudC5sZW5ndGg+cnQ7KXUobnRbcnQrK10pO2Zvcih2YXIgb3Q9Tyh1LnN0b3JlKSxhdD0wO290Lmxlbmd0aD5hdDspbShvdFthdCsrXSk7YShhLlMrYS5GKiFVLCJTeW1ib2wiLHtmb3I6ZnVuY3Rpb24odCl7cmV0dXJuIHIoRyx0Kz0iIik/R1t0XTpHW3RdPWoodCl9LGtleUZvcjpmdW5jdGlvbih0KXtpZighSyh0KSl0aHJvdyBUeXBlRXJyb3IodCsiIGlzIG5vdCBhIHN5bWJvbCEiKTtmb3IodmFyIGUgaW4gRylpZihHW2VdPT09dClyZXR1cm4gZX0sdXNlU2V0dGVyOmZ1bmN0aW9uKCl7Vj0hMH0sdXNlU2ltcGxlOmZ1bmN0aW9uKCl7Vj0hMX19KSxhKGEuUythLkYqIVUsIk9iamVjdCIse2NyZWF0ZTpKLGRlZmluZVByb3BlcnR5OlosZGVmaW5lUHJvcGVydGllczpxLGdldE93blByb3BlcnR5RGVzY3JpcHRvcjp0dCxnZXRPd25Qcm9wZXJ0eU5hbWVzOmV0LGdldE93blByb3BlcnR5U3ltYm9sczppdH0pO3ZhciBzdD1oKChmdW5jdGlvbigpe00uZigxKX0pKTthKGEuUythLkYqc3QsIk9iamVjdCIse2dldE93blByb3BlcnR5U3ltYm9sczpmdW5jdGlvbih0KXtyZXR1cm4gTS5mKGIodCkpfX0pLEQmJmEoYS5TK2EuRiooIVV8fGgoKGZ1bmN0aW9uKCl7dmFyIHQ9aigpO3JldHVybiJbbnVsbF0iIT1JKFt0XSl8fCJ7fSIhPUkoe2E6dH0pfHwie30iIT1JKE9iamVjdCh0KSl9KSkpLCJKU09OIix7c3RyaW5naWZ5OmZ1bmN0aW9uKHQpe3ZhciBlLGksbj1bdF0scj0xO3doaWxlKGFyZ3VtZW50cy5sZW5ndGg+ciluLnB1c2goYXJndW1lbnRzW3IrK10pO2lmKGk9ZT1uWzFdLChfKGUpfHx2b2lkIDAhPT10KSYmIUsodCkpcmV0dXJuIHYoZSl8fChlPWZ1bmN0aW9uKHQsZSl7aWYoImZ1bmN0aW9uIj09dHlwZW9mIGkmJihlPWkuY2FsbCh0aGlzLHQsZSkpLCFLKGUpKXJldHVybiBlfSksblsxXT1lLEkuYXBwbHkoRCxuKX19KSxqW3pdW1JdfHxpKCIzNWU4Iikoalt6XSxSLGpbel0udmFsdWVPZikscChqLCJTeW1ib2wiKSxwKE1hdGgsIk1hdGgiLCEwKSxwKG4uSlNPTiwiSlNPTiIsITApfSwiMDFmOSI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCIyZDAwIikscj1pKCI1Y2ExIiksbz1pKCIyYWJhIiksYT1pKCIzMmU5Iikscz1pKCI4NGYyIiksYz1pKCI0MWEwIiksaD1pKCI3ZjIwIiksbD1pKCIzOGZkIikscD1pKCIyYjRjIikoIml0ZXJhdG9yIiksZD0hKFtdLmtleXMmJiJuZXh0ImluW10ua2V5cygpKSx1PSJAQGl0ZXJhdG9yIixmPSJrZXlzIixtPSJ2YWx1ZXMiLGc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc307dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxpLHYseSxfLGIpe2MoaSxlLHYpO3ZhciB4LHcsayxDPWZ1bmN0aW9uKHQpe2lmKCFkJiZ0IGluIFApcmV0dXJuIFBbdF07c3dpdGNoKHQpe2Nhc2UgZjpyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGkodGhpcyx0KX07Y2FzZSBtOnJldHVybiBmdW5jdGlvbigpe3JldHVybiBuZXcgaSh0aGlzLHQpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGkodGhpcyx0KX19LFM9ZSsiIEl0ZXJhdG9yIixBPXk9PW0sTT0hMSxQPXQucHJvdG90eXBlLE89UFtwXXx8UFt1XXx8eSYmUFt5XSxUPU98fEMoeSksRT15P0E/QygiZW50cmllcyIpOlQ6dm9pZCAwLEw9IkFycmF5Ij09ZSYmUC5lbnRyaWVzfHxPO2lmKEwmJihrPWwoTC5jYWxsKG5ldyB0KSksayE9PU9iamVjdC5wcm90b3R5cGUmJmsubmV4dCYmKGgoayxTLCEwKSxufHwiZnVuY3Rpb24iPT10eXBlb2Yga1twXXx8YShrLHAsZykpKSxBJiZPJiZPLm5hbWUhPT1tJiYoTT0hMCxUPWZ1bmN0aW9uKCl7cmV0dXJuIE8uY2FsbCh0aGlzKX0pLG4mJiFifHwhZCYmIU0mJlBbcF18fGEoUCxwLFQpLHNbZV09VCxzW1NdPWcseSlpZih4PXt2YWx1ZXM6QT9UOkMobSksa2V5czpfP1Q6QyhmKSxlbnRyaWVzOkV9LGIpZm9yKHcgaW4geCl3IGluIFB8fG8oUCx3LHhbd10pO2Vsc2UgcihyLlArci5GKihkfHxNKSxlLHgpO3JldHVybiB4fX0sIjAyZjQiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI0NTg4Iikscj1pKCJiZTEzIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLGkpe3ZhciBvLGEscz1TdHJpbmcocihlKSksYz1uKGkpLGg9cy5sZW5ndGg7cmV0dXJuIGM8MHx8Yz49aD90PyIiOnZvaWQgMDoobz1zLmNoYXJDb2RlQXQoYyksbzw1NTI5Nnx8bz41NjMxOXx8YysxPT09aHx8KGE9cy5jaGFyQ29kZUF0KGMrMSkpPDU2MzIwfHxhPjU3MzQzP3Q/cy5jaGFyQXQoYyk6bzp0P3Muc2xpY2UoYyxjKzIpOmEtNTYzMjArKG8tNTUyOTY8PDEwKSs2NTUzNil9fX0sIjAzOTAiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiMDJmNCIpKCEwKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBlKyhpP24odCxlKS5sZW5ndGg6MSl9fSwiMDM5NSI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoIjM2YzMiKSxyPWkoIjZhYmYiKS5mLG89e30udG9TdHJpbmcsYT0ib2JqZWN0Ij09dHlwZW9mIHdpbmRvdyYmd2luZG93JiZPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcz9PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh3aW5kb3cpOltdLHM9ZnVuY3Rpb24odCl7dHJ5e3JldHVybiByKHQpfWNhdGNoKGUpe3JldHVybiBhLnNsaWNlKCl9fTt0LmV4cG9ydHMuZj1mdW5jdGlvbih0KXtyZXR1cm4gYSYmIltvYmplY3QgV2luZG93XSI9PW8uY2FsbCh0KT9zKHQpOnIobih0KSl9fSwiMDQyMyI6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6IuaZguS+oee3j+mhjeODqeODs+OCryIsIm1jYXAiOiLmmYLkvqHnt4/poY0iLCIyNGhfdm9sdW1lIjoiMjTmmYLplpPps6XosrTml48iLCIyNGhfaGlnaF9sb3ciOiIyNOaZgumWkyDmnIDpq5jlgKQv5pyA5a6J5YCkIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH3jgavjgojjgovmj5DkvpsiLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IuS7ruaDs+mAmuiyqOS+oeagvOOBruavlOi8gyIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiLku67mg7PpgJrosqjmmYLkvqHnt4/poY3jga7mr5TovIMifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR944Gr44KI44KL5o+Q5L6bIn0sImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjRI5pyA6auY5YCkIiwiMjRoX2xvdyI6IjI0SOacgOWuieWApCIsInZpZXdfcHJpY2VfY2hhcnQiOiIle2NvaW5944Gu5L6h5qC844OB44Oj44O844OI44KS6KaL44KLIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH3jgavjgojjgovmj5DkvpsifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfeOBq+OCiOOCi+aPkOS+myJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR944Gr44KI44KL5o+Q5L6bIn0sImJlYW1fd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR944Gr44KI44KL5o+Q5L6bIn0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0SOacgOmrmOWApCIsIjI0aF9sb3ciOiIyNEjmnIDlronlgKQiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiJXtjb2lufeOBruS+oeagvOODgeODo+ODvOODiOOCkuimi+OCiyIsInBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR944Gr44KI44KL5o+Q5L6bIn0sImNvaW5fY29udmVydGVyX3dpZGdldCI6eyJ2aWV3X3ByaWNlX2NoYXJ0IjoiJXtjb2lufeOBruS+oeagvOODgeODo+ODvOODiOOCkuimi+OCiyIsInBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR944Gr44KI44KL5o+Q5L6bIn0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiLku67mg7PpgJrosqjjg4fjg7zjgr/kuIDopqciLCJzdWJ0aXRsZSI6IijmmYLkvqHnt4/poY3kuIrkvY0le3RvcH0pIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH3jgavjgojjgovmj5DkvpsifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiLlhY3osqzkuovpoIU6IOOBk+OBruODhOODvOODq+OBr+OCqOODs+OCv+ODvOODhuOCpOODoeODs+ODiOOCkuebrueahOOBqOOBl+OBpuaPkOS+m+OBleOCjOOBpuOBiuOCiuOAgeiyoeWLmeeahOOBquWKqeiogOOCkuaIkOOBmeOCguOBruOBp+OBr+OBguOCiuOBvuOBm+OCk+OAgiIsInNwaW4iOiLjgrnjg5Tjg7MiLCJhdmFpbGFibGVfY29pbnMiOiLliKnnlKjlj6/og73jgarjgrPjgqTjg7MifSwiY29pbl9kYWlseV9wcmljZV93aWRnZXQiOnsidGl0bGUiOiJDb2luR2Vja28g5L6h5qC844Ki44OD44OX44OH44O844OIIiwidG90YWxfbWNhcCI6IuaZguS+oee3j+mhjeWQiOioiCIsIjI0aF92b2wiOiIyNEjlj5blvJXpq5giLCJkb20iOiLljaDmnInnjocifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoi5Y+W5byV5omAIiwicGFpciI6IumAmuiyqOODmuOCoiIsInByaWNlIjoi5L6h5qC8Iiwidm9sdW1lIjoi5Y+W5byV6auYIiwidHJ1c3Rfc2NvcmUiOiLjg4jjg6njgrnjg4jjgrnjgrPjgqIiLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi5L6h5qC844OB44Oj44O844OI44KS6KaL44KLIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH3jgavjgojjgovmj5DkvpsiLCJ2aWV3X2FsbCI6IuOBmeOBueOBpuOBriAle2NvaW59IOODnuODvOOCseODg+ODiOOCkuihqOekuiJ9fScpfSwiMDU2YyI6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6Iue4veW4guWAvOaOkuWQjSIsIm1jYXAiOiLnuL3luILlgLwiLCIyNGhfdm9sdW1lIjoiMjQg5bCP5pmC5Lqk5piT6YePIiwiMjRoX2hpZ2hfbG93IjoiMjQg5bCP5pmC6auY5YO5L+S9juWDuSJ9LCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmj5DkvpsiLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IuWKoOWvhuiyqOW5o+WMr+eOh+avlOi8gyIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiLliqDlr4bosqjluaPluILlgLzmr5TovIMifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmj5DkvpsifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNCDlsI/mmYLpq5jlg7kiLCIyNGhfbG93IjoiMjQg5bCP5pmC5L2O5YO5Iiwidmlld19wcmljZV9jaGFydCI6IuafpeeciyAle2NvaW59IOeahOWMr+eOh+WcluihqCIsInBvd2VyZWRfYnkiOiLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmj5DkvpsifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5o+Q5L6bIn0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IueUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOaPkOS+myJ9LCJiZWFtX3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5o+Q5L6bIn0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0IOWwj+aZgumrmOWDuSIsIjI0aF9sb3ciOiIyNCDlsI/mmYLkvY7lg7kiLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi5p+l55yLICV7Y29pbn0g55qE5Yyv546H5ZyW6KGoIiwicG93ZXJlZF9ieSI6IueUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOaPkOS+myJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6IuafpeeciyAle2NvaW59IOeahOWMr+eOh+i1sOWLouWcliIsInBvd2VyZWRfYnkiOiLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmj5DkvpsifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6IuWKoOWvhuiyqOW5o+aoueeLgOWcliIsInN1YnRpdGxlIjoiKOW4guWAvOWJjSAle3RvcH0g5ZCNKSIsInBvd2VyZWRfYnkiOiLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmj5DkvpsifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiLlhY3osqzogbLmmI7vvJrmraTlt6Xlhbflg4XkvpvlqJvmqILkuYvnlKjvvIzkuI3mp4vmiJDosqHli5nlu7rorbDjgIIiLCJzcGluIjoiU3BpbiIsImF2YWlsYWJsZV9jb2lucyI6IuWPr+eUqOiyqOW5oyJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkNvaW5HZWNrbyDljK/njofmm7TmlrAiLCJ0b3RhbF9tY2FwIjoi57i95biC5YC8IiwiMjRoX3ZvbCI6IjI0IOWwj+aZguS6pOaYk+mHjyIsImRvbSI6IuW4guS9lOeOhyJ9LCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXQiOnsiZXhjaGFuZ2UiOiLkuqTmmJPlubPlj7AiLCJwYWlyIjoi5bCNIiwicHJpY2UiOiLlg7nmoLwiLCJ2b2x1bWUiOiLkuqTmmJPph48iLCJ0cnVzdF9zY29yZSI6IuS/oeS7u+WIhuaVuCIsInZpZXdfcHJpY2VfY2hhcnQiOiLmn6XnnIvljK/njofotbDli6LlnJYiLCJwb3dlcmVkX2J5Ijoi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5o+Q5L6bIiwidmlld19hbGwiOiLmn6XnnIvmiYDmnIkgJXtjb2lufSDluILloLQifX0nKX0sIjA3ZTMiOmZ1bmN0aW9uKHQsZSl7dmFyIGk9e30uaGFzT3duUHJvcGVydHk7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGkuY2FsbCh0LGUpfX0sIjA4MjUiOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiJDbGFzc2lmaWNhIGNhcC4gZGkgbWVyY2F0byIsIm1jYXAiOiJDYXAuIGRpIG1lcmNhdG8iLCIyNGhfdm9sdW1lIjoiVm9sdW1lIGluIDI0IG9yZSIsIjI0aF9oaWdoX2xvdyI6Ik1heC9taW4gaW4gMjQgb3JlIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsImNyeXB0b19wcmljZV9jb21wYXJpc29uIjoiQ29uZnJvbnRvIHByZXp6aSBkZWxsZSBjcmlwdG8iLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoiQ29uZnJvbnRvIGRpIGNhcGl0YWxpenphemlvbmUgZGkgbWVyY2F0byBkZWxsZSBjcmlwdG8ifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiJNYXNzaW1vIGluIDI0IG9yZSIsIjI0aF9sb3ciOiJNaW5pbW8gaW4gMjQgb3JlIiwidmlld19wcmljZV9jaGFydCI6IlZpc3VhbGl6emEgZ3JhZmljbyBwcmV6emkgJXtjb2lufSIsInBvd2VyZWRfYnkiOiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJiZWFtX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6Ik1hc3NpbW8gaW4gMjQgb3JlIiwiMjRoX2xvdyI6Ik1pbmltbyBpbiAyNCBvcmUiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiVmlzdWFsaXp6YSBncmFmaWNvIHByZXp6aSAle2NvaW59IiwicG93ZXJlZF9ieSI6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6IlZpc3VhbGl6emEgZ3JhZmljbyBwcmV6emkgJXtjb2lufSIsInBvd2VyZWRfYnkiOiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6Ik1hcHBhIGFkIGFsYmVybyBkZWxsZSBjcmlwdG92YWx1dGUiLCJzdWJ0aXRsZSI6IihWYWx1dGUgdG9wICV7dG9wfSBwZXIgY2FwaXRhbGl6emF6aW9uZSBkaSBtZXJjYXRvKSIsInBvd2VyZWRfYnkiOiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiJEaXNjbGFpbWVyOiBRdWVzdGkgc3RydW1lbnRpIHNvbm8gYSBzY29wbyBkaSBpbnRyYXR0ZW5pbWVudG8gZSBub24gY29zdGl0dWlzY29ubyB1bmEgY29uc3VsZW56YSBmaW5hbnppYXJpYS4iLCJzcGluIjoiU3BpbiIsImF2YWlsYWJsZV9jb2lucyI6IlZhbHV0ZSBEaXNwb25pYmlsaSJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkFnZ2lvcm5hbWVudG8gcHJlenppIENvaW5HZWNrbyIsInRvdGFsX21jYXAiOiJDYXAuIGRpIG1lcmNhdG8gdG90YWxlIiwiMjRoX3ZvbCI6IlZvbHVtZSBpbiAyNCBvcmUiLCJkb20iOiJEb20ifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoiRXhjaGFuZ2UiLCJwYWlyIjoiQ29wcGlhIiwicHJpY2UiOiJQcmV6em8iLCJ2b2x1bWUiOiJWb2x1bWUiLCJ0cnVzdF9zY29yZSI6IlB1bnRlZ2dpbyBkaSBmaWR1Y2lhIiwidmlld19wcmljZV9jaGFydCI6IlZpc3VhbGl6emEgZ3JhZmljbyBwcmV6emkiLCJwb3dlcmVkX2J5IjoiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9Iiwidmlld19hbGwiOiJWaXN1YWxpenphIHR1dHRpIGkgbWVyY2F0aSAle2NvaW59In19Jyl9LCIwYmZiIjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoImNiN2MiKTt0LmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD1uKHRoaXMpLGU9IiI7cmV0dXJuIHQuZ2xvYmFsJiYoZSs9ImciKSx0Lmlnbm9yZUNhc2UmJihlKz0iaSIpLHQubXVsdGlsaW5lJiYoZSs9Im0iKSx0LnVuaWNvZGUmJihlKz0idSIpLHQuc3RpY2t5JiYoZSs9InkiKSxlfX0sIjBkNTgiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCJjZTEwIikscj1pKCJlMTFlIik7dC5leHBvcnRzPU9iamVjdC5rZXlzfHxmdW5jdGlvbih0KXtyZXR1cm4gbih0LHIpfX0sIjBmN2MiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiNjg4ZSIpO3QuZXhwb3J0cz1GdW5jdGlvbi5wcm90b3R5cGUuYmluZHx8bn0sIjBmYzkiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCIzYTM4Iikscj1NYXRoLm1heCxvPU1hdGgubWluO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0PW4odCksdDwwP3IodCtlLDApOm8odCxlKX19LDExNTM6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCI4M2MyIikscj1uKCIlU3RyaW5nJSIpLG89bigiJVR5cGVFcnJvciUiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoInN5bWJvbCI9PT10eXBlb2YgdCl0aHJvdyBuZXcgbygiQ2Fubm90IGNvbnZlcnQgYSBTeW1ib2wgdmFsdWUgdG8gYSBzdHJpbmciKTtyZXR1cm4gcih0KX19LDExNjk6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoIjJkOTUiKTt0LmV4cG9ydHM9QXJyYXkuaXNBcnJheXx8ZnVuY3Rpb24odCl7cmV0dXJuIkFycmF5Ij09bih0KX19LDExNzM6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLGksbil7aWYoISh0IGluc3RhbmNlb2YgZSl8fHZvaWQgMCE9PW4mJm4gaW4gdCl0aHJvdyBUeXBlRXJyb3IoaSsiOiBpbmNvcnJlY3QgaW52b2NhdGlvbiEiKTtyZXR1cm4gdH19LCIxMWU5IjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiNTJhNyIpLHI9aSgiNDYzMCIpLG89aSgiNjgyMSIpLGE9aSgiNmE5OSIpLHM9aSgiNjlhOCIpLGM9aSgiYzY5YSIpLGg9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtlLmY9aSgiOWUxZSIpP2g6ZnVuY3Rpb24odCxlKXtpZih0PW8odCksZT1hKGUsITApLGMpdHJ5e3JldHVybiBoKHQsZSl9Y2F0Y2goaSl7fWlmKHModCxlKSlyZXR1cm4gcighbi5mLmNhbGwodCxlKSx0W2VdKX19LDEzOmZ1bmN0aW9uKHQsZSxpKXt0LmV4cG9ydHM9aSgiNGY5MiIpfSwxNDk1OmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI4NmNjIikscj1pKCJjYjdjIiksbz1pKCIwZDU4Iik7dC5leHBvcnRzPWkoIjllMWUiKT9PYmplY3QuZGVmaW5lUHJvcGVydGllczpmdW5jdGlvbih0LGUpe3IodCk7dmFyIGksYT1vKGUpLHM9YS5sZW5ndGgsYz0wO3doaWxlKHM+YyluLmYodCxpPWFbYysrXSxlW2ldKTtyZXR1cm4gdH19LDE2NTQ6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCI3MWMxIikoITApO2koIjMwZjEiKShTdHJpbmcsIlN0cmluZyIsKGZ1bmN0aW9uKHQpe3RoaXMuX3Q9U3RyaW5nKHQpLHRoaXMuX2k9MH0pLChmdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5fdCxpPXRoaXMuX2k7cmV0dXJuIGk+PWUubGVuZ3RoP3t2YWx1ZTp2b2lkIDAsZG9uZTohMH06KHQ9bihlLGkpLHRoaXMuX2krPXQubGVuZ3RoLHt2YWx1ZTp0LGRvbmU6ITF9KX0pKX0sMTY5MTpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz0iY29uc3RydWN0b3IsaGFzT3duUHJvcGVydHksaXNQcm90b3R5cGVPZixwcm9wZXJ0eUlzRW51bWVyYWJsZSx0b0xvY2FsZVN0cmluZyx0b1N0cmluZyx2YWx1ZU9mIi5zcGxpdCgiLCIpfSwiMWI3ZiI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCI1NjJlIikscj0i4oCLIjt0LmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gU3RyaW5nLnByb3RvdHlwZS50cmltJiZyLnRyaW0oKT09PXI/U3RyaW5nLnByb3RvdHlwZS50cmltOm59fSwiMWJjMyI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImY3NzIiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZighbih0KSlyZXR1cm4gdDt2YXIgaSxyO2lmKGUmJiJmdW5jdGlvbiI9PXR5cGVvZihpPXQudG9TdHJpbmcpJiYhbihyPWkuY2FsbCh0KSkpcmV0dXJuIHI7aWYoImZ1bmN0aW9uIj09dHlwZW9mKGk9dC52YWx1ZU9mKSYmIW4ocj1pLmNhbGwodCkpKXJldHVybiByO2lmKCFlJiYiZnVuY3Rpb24iPT10eXBlb2YoaT10LnRvU3RyaW5nKSYmIW4ocj1pLmNhbGwodCkpKXJldHVybiByO3Rocm93IFR5cGVFcnJvcigiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlIil9fSwiMWVjOSI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImY3NzIiKSxyPWkoImU1M2QiKS5kb2N1bWVudCxvPW4ocikmJm4oci5jcmVhdGVFbGVtZW50KTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG8/ci5jcmVhdGVFbGVtZW50KHQpOnt9fX0sIjIxMGMiOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiJQZXJpbmdrYXQgS2FwIFBhc2FyIiwibWNhcCI6IkthcGl0YWxpc2FzaSBQYXNhciIsIjI0aF92b2x1bWUiOiJWb2x1bWUgMjRKIiwiMjRoX2hpZ2hfbG93IjoiVGluZ2dpL1JlbmRhaCAyNEoifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiRGlkdWt1bmcgb2xlaCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiJQZXJiYW5kaW5nYW4gSGFyZ2EgS3JpcHRvIiwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvbiI6IlBlcmJhbmRpbmdhbiBLYXAgUGFhciBLcmlwdG8ifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJEaWR1a3VuZyBvbGVoICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNEogVGluZ2dpIiwiMjRoX2xvdyI6IjI0SiBSZW5kYWgiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiTGloYXQgR3JhZmlrIEhhcmdhICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiRGlkdWt1bmcgb2xlaCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJEaWR1a3VuZyBvbGVoICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IkRpZHVrdW5nIG9sZWggJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNEogVGluZ2dpIiwiMjRoX2xvdyI6IjI0SiBSZW5kYWgiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiTGloYXQgR3JhZmlrIEhhcmdhICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiRGlkdWt1bmcgb2xlaCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fY29udmVydGVyX3dpZGdldCI6eyJ2aWV3X3ByaWNlX2NoYXJ0IjoiTGloYXQgR3JhZmlrIEhhcmdhICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiRGlkdWt1bmcgb2xlaCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJQZXRhIFBvaG9uIENyeXB0b2N1cnJlbmN5Iiwic3VidGl0bGUiOiIoJXt0b3B9IFRlcmF0YXMgQmVyZGFzYXJrYW4gS2FwIFBhc2FyKSIsInBvd2VyZWRfYnkiOiJEaWR1a3VuZyBvbGVoICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiJTYW5na2FsYW46IEFsYXQgaW5pIGJlcmZ1bmdzaSBzZWJhZ2FpIGhpYnVyYW4gZGFuIGJ1a2FuIG1lcnVwYWthbiBzYXJhbiBrZXVhbmdhbi4iLCJzcGluIjoiUHV0YXIiLCJhdmFpbGFibGVfY29pbnMiOiJLb2luIHlhbmcgVGVyc2VkaWEifSwiY29pbl9kYWlseV9wcmljZV93aWRnZXQiOnsidGl0bGUiOiJQZW1iYXJ1YW4gSGFyZ2EgQ29pbkdlY2tvIiwidG90YWxfbWNhcCI6IlRvdGFsIEthcCBQIiwiMjRoX3ZvbCI6IlZvbHVtZSAyNEoiLCJkb20iOiJEb20ifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoiQnVyc2EiLCJwYWlyIjoiUGFzYW5nYW4iLCJwcmljZSI6IkhhcmdhIiwidm9sdW1lIjoiVm9sdW1lIiwidHJ1c3Rfc2NvcmUiOiJTa29yIEtlcGVyY2F5YWFuIiwidmlld19wcmljZV9jaGFydCI6IkxpaGF0IEdyYWZpayBIYXJnYSIsInBvd2VyZWRfYnkiOiJEaWR1a3VuZyBvbGVoICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJ2aWV3X2FsbCI6IkxpaGF0IHNlbXVhIHBhc2FyICV7Y29pbn0ifX0nKX0sIjIxNGYiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7aSgiYjBjNSIpO3ZhciBuPWkoIjJhYmEiKSxyPWkoIjMyZTkiKSxvPWkoIjc5ZTUiKSxhPWkoImJlMTMiKSxzPWkoIjJiNGMiKSxjPWkoIjUyMGEiKSxoPXMoInNwZWNpZXMiKSxsPSFvKChmdW5jdGlvbigpe3ZhciB0PS8uLztyZXR1cm4gdC5leGVjPWZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHQuZ3JvdXBzPXthOiI3In0sdH0sIjciIT09IiIucmVwbGFjZSh0LCIkPGE+Iil9KSkscD1mdW5jdGlvbigpe3ZhciB0PS8oPzopLyxlPXQuZXhlYzt0LmV4ZWM9ZnVuY3Rpb24oKXtyZXR1cm4gZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl9O3ZhciBpPSJhYiIuc3BsaXQodCk7cmV0dXJuIDI9PT1pLmxlbmd0aCYmImEiPT09aVswXSYmImIiPT09aVsxXX0oKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLGkpe3ZhciBkPXModCksdT0hbygoZnVuY3Rpb24oKXt2YXIgZT17fTtyZXR1cm4gZVtkXT1mdW5jdGlvbigpe3JldHVybiA3fSw3IT0iIlt0XShlKX0pKSxmPXU/IW8oKGZ1bmN0aW9uKCl7dmFyIGU9ITEsaT0vYS87cmV0dXJuIGkuZXhlYz1mdW5jdGlvbigpe3JldHVybiBlPSEwLG51bGx9LCJzcGxpdCI9PT10JiYoaS5jb25zdHJ1Y3Rvcj17fSxpLmNvbnN0cnVjdG9yW2hdPWZ1bmN0aW9uKCl7cmV0dXJuIGl9KSxpW2RdKCIiKSwhZX0pKTp2b2lkIDA7aWYoIXV8fCFmfHwicmVwbGFjZSI9PT10JiYhbHx8InNwbGl0Ij09PXQmJiFwKXt2YXIgbT0vLi9bZF0sZz1pKGEsZCwiIlt0XSwoZnVuY3Rpb24odCxlLGksbixyKXtyZXR1cm4gZS5leGVjPT09Yz91JiYhcj97ZG9uZTohMCx2YWx1ZTptLmNhbGwoZSxpLG4pfTp7ZG9uZTohMCx2YWx1ZTp0LmNhbGwoaSxlLG4pfTp7ZG9uZTohMX19KSksdj1nWzBdLHk9Z1sxXTtuKFN0cmluZy5wcm90b3R5cGUsdCx2KSxyKFJlZ0V4cC5wcm90b3R5cGUsZCwyPT1lP2Z1bmN0aW9uKHQsZSl7cmV0dXJuIHkuY2FsbCh0LHRoaXMsZSl9OmZ1bmN0aW9uKHQpe3JldHVybiB5LmNhbGwodCx0aGlzKX0pfX19LCIyMWFhIjpmdW5jdGlvbih0KXt0LmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2luX2RldGFpbHMiOnsibWNhcF9yYW5rIjoiUmFuZ2xpc3RlIGVmdGVyIG1hcmtlZHN2w6ZyZGkiLCJtY2FwIjoiTWFya2Vkc3bDpnJkaSIsIjI0aF92b2x1bWUiOiIyNHQgdm9sdW1lbiIsIjI0aF9oaWdoX2xvdyI6IjI0dCBow7hqL2xhdiJ9LCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJEcmV2ZXQgYWYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsImNyeXB0b19wcmljZV9jb21wYXJpc29uIjoiU2FtbWVubGlnbmluZyBhZiBrcnlwdG9rdXJzIiwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvbiI6IlNhbW1lbmxpZ25pbmcgYWYga3J5cHRvbWFya2Vkc3bDpnJkaSJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IkRyZXZldCBhZiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjR0IGjDuGoiLCIyNGhfbG93IjoiMjR0IGxhdiIsInZpZXdfcHJpY2VfY2hhcnQiOiJWaXMga3Vyc2RpYWdyYW0gZm9yICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiRHJldmV0IGFmICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiRHJldmV0IGFmICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9saXN0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiRHJldmV0IGFmICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IkRyZXZldCBhZiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0dCBow7hqIiwiMjRoX2xvdyI6IjI0dCBsYXYiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiVmlzIGt1cnNkaWFncmFtIGZvciAle2NvaW59IiwicG93ZXJlZF9ieSI6IkRyZXZldCBhZiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fY29udmVydGVyX3dpZGdldCI6eyJ2aWV3X3ByaWNlX2NoYXJ0IjoiVmlzIGt1cnNkaWFncmFtIGZvciAle2NvaW59IiwicG93ZXJlZF9ieSI6IkRyZXZldCBhZiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJPdmVyc2lndCBvdmVyIGtyeXB0b3ZhbHV0YWVyIiwic3VidGl0bGUiOiIoVG9wICV7dG9wfSB1ZCBmcmEgbWFya2Vkc3bDpnJkaSkiLCJwb3dlcmVkX2J5IjoiRHJldmV0IGFmICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiJBbnN2YXJzZnJhc2tyaXZlbHNlOiBEaXNzZSB2w6Zya3TDuGplciBmdW5nZXJlciBzb20gdW5kZXJob2xkbmluZyBvZyB1ZGfDuHIgaWtrZSBmaW5hbnNpZWwgcsOlZGdpdm5pbmcuIiwic3BpbiI6Ikthc3QiLCJhdmFpbGFibGVfY29pbnMiOiJUaWxnw6ZuZ2VsaWdlIGNvaW5zIn0sImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0Ijp7InRpdGxlIjoiQ29pbkdlY2tvIGt1cnNvcGRhdGVyaW5nIiwidG90YWxfbWNhcCI6Ik1hcmtlZHN2w6ZyZGkgaSBhbHQiLCIyNGhfdm9sIjoiMjR0IHZvbHVtZW4iLCJkb20iOiJEb20ifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoiQsO4cnMiLCJwYWlyIjoiUGFyIiwicHJpY2UiOiJQcmlzIiwidm9sdW1lIjoiVm9sdW1lbiIsInRydXN0X3Njb3JlIjoiVGlsbGlkc3Njb3JlIiwidmlld19wcmljZV9jaGFydCI6IlZpcyBrdXJzZGlhZ3JhbSIsInBvd2VyZWRfYnkiOiJEcmV2ZXQgYWYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsInZpZXdfYWxsIjoiVmlzIGFsbGUgJXtjb2lufS1tYXJrZWRlciJ9fScpfSwiMjFkMCI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcscj0vXlxzKmNsYXNzXGIvLG89ZnVuY3Rpb24odCl7dHJ5e3ZhciBlPW4uY2FsbCh0KTtyZXR1cm4gci50ZXN0KGUpfWNhdGNoKGkpe3JldHVybiExfX0sYT1mdW5jdGlvbih0KXt0cnl7cmV0dXJuIW8odCkmJihuLmNhbGwodCksITApfWNhdGNoKGUpe3JldHVybiExfX0scz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGM9IltvYmplY3QgRnVuY3Rpb25dIixoPSJbb2JqZWN0IEdlbmVyYXRvckZ1bmN0aW9uXSIsbD0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmInN5bWJvbCI9PT10eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtpZighdClyZXR1cm4hMTtpZigiZnVuY3Rpb24iIT09dHlwZW9mIHQmJiJvYmplY3QiIT09dHlwZW9mIHQpcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiB0JiYhdC5wcm90b3R5cGUpcmV0dXJuITA7aWYobClyZXR1cm4gYSh0KTtpZihvKHQpKXJldHVybiExO3ZhciBlPXMuY2FsbCh0KTtyZXR1cm4gZT09PWN8fGU9PT1ofX0sIjIzMGUiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCJkM2Y0Iikscj1pKCI3NzI2IikuZG9jdW1lbnQsbz1uKHIpJiZuKHIuY3JlYXRlRWxlbWVudCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBvP3IuY3JlYXRlRWxlbWVudCh0KTp7fX19LCIyM2M2IjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiMmQ5NSIpLHI9aSgiMmI0YyIpKCJ0b1N0cmluZ1RhZyIpLG89IkFyZ3VtZW50cyI9PW4oZnVuY3Rpb24oKXtyZXR1cm4gYXJndW1lbnRzfSgpKSxhPWZ1bmN0aW9uKHQsZSl7dHJ5e3JldHVybiB0W2VdfWNhdGNoKGkpe319O3QuZXhwb3J0cz1mdW5jdGlvbih0KXt2YXIgZSxpLHM7cmV0dXJuIHZvaWQgMD09PXQ/IlVuZGVmaW5lZCI6bnVsbD09PXQ/Ik51bGwiOiJzdHJpbmciPT10eXBlb2YoaT1hKGU9T2JqZWN0KHQpLHIpKT9pOm8/bihlKToiT2JqZWN0Ij09KHM9bihlKSkmJiJmdW5jdGlvbiI9PXR5cGVvZiBlLmNhbGxlZT8iQXJndW1lbnRzIjpzfX0sIjI0MWUiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCIyNWViIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBPYmplY3Qobih0KSl9fSwiMjRjNSI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixyLG8sYSxzPWkoImI4ZTMiKSxjPWkoImU1M2QiKSxoPWkoImQ4NjQiKSxsPWkoIjQwYzMiKSxwPWkoIjYzYjYiKSxkPWkoImY3NzIiKSx1PWkoIjc5YWEiKSxmPWkoIjExNzMiKSxtPWkoImEyMmEiKSxnPWkoImYyMDEiKSx2PWkoIjQxNzgiKS5zZXQseT1pKCJhYmEyIikoKSxfPWkoIjY1NmUiKSxiPWkoIjQ0MzkiKSx4PWkoImJjMTMiKSx3PWkoImNkNzgiKSxrPSJQcm9taXNlIixDPWMuVHlwZUVycm9yLFM9Yy5wcm9jZXNzLEE9UyYmUy52ZXJzaW9ucyxNPUEmJkEudjh8fCIiLFA9Y1trXSxPPSJwcm9jZXNzIj09bChTKSxUPWZ1bmN0aW9uKCl7fSxFPXI9Xy5mLEw9ISFmdW5jdGlvbigpe3RyeXt2YXIgdD1QLnJlc29sdmUoMSksZT0odC5jb25zdHJ1Y3Rvcj17fSlbaSgiNTE2OCIpKCJzcGVjaWVzIildPWZ1bmN0aW9uKHQpe3QoVCxUKX07cmV0dXJuKE98fCJmdW5jdGlvbiI9PXR5cGVvZiBQcm9taXNlUmVqZWN0aW9uRXZlbnQpJiZ0LnRoZW4oVClpbnN0YW5jZW9mIGUmJjAhPT1NLmluZGV4T2YoIjYuNiIpJiYtMT09PXguaW5kZXhPZigiQ2hyb21lLzY2Iil9Y2F0Y2gobil7fX0oKSxqPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiEoIWQodCl8fCJmdW5jdGlvbiIhPXR5cGVvZihlPXQudGhlbikpJiZlfSxEPWZ1bmN0aW9uKHQsZSl7aWYoIXQuX24pe3QuX249ITA7dmFyIGk9dC5fYzt5KChmdW5jdGlvbigpe3ZhciBuPXQuX3Yscj0xPT10Ll9zLG89MCxhPWZ1bmN0aW9uKGUpe3ZhciBpLG8sYSxzPXI/ZS5vazplLmZhaWwsYz1lLnJlc29sdmUsaD1lLnJlamVjdCxsPWUuZG9tYWluO3RyeXtzPyhyfHwoMj09dC5faCYmQih0KSx0Ll9oPTEpLCEwPT09cz9pPW46KGwmJmwuZW50ZXIoKSxpPXMobiksbCYmKGwuZXhpdCgpLGE9ITApKSxpPT09ZS5wcm9taXNlP2goQygiUHJvbWlzZS1jaGFpbiBjeWNsZSIpKToobz1qKGkpKT9vLmNhbGwoaSxjLGgpOmMoaSkpOmgobil9Y2F0Y2gocCl7bCYmIWEmJmwuZXhpdCgpLGgocCl9fTt3aGlsZShpLmxlbmd0aD5vKWEoaVtvKytdKTt0Ll9jPVtdLHQuX249ITEsZSYmIXQuX2gmJkkodCl9KSl9fSxJPWZ1bmN0aW9uKHQpe3YuY2FsbChjLChmdW5jdGlvbigpe3ZhciBlLGksbixyPXQuX3Ysbz16KHQpO2lmKG8mJihlPWIoKGZ1bmN0aW9uKCl7Tz9TLmVtaXQoInVuaGFuZGxlZFJlamVjdGlvbiIscix0KTooaT1jLm9udW5oYW5kbGVkcmVqZWN0aW9uKT9pKHtwcm9taXNlOnQscmVhc29uOnJ9KToobj1jLmNvbnNvbGUpJiZuLmVycm9yJiZuLmVycm9yKCJVbmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb24iLHIpfSkpLHQuX2g9T3x8eih0KT8yOjEpLHQuX2E9dm9pZCAwLG8mJmUuZSl0aHJvdyBlLnZ9KSl9LHo9ZnVuY3Rpb24odCl7cmV0dXJuIDEhPT10Ll9oJiYwPT09KHQuX2F8fHQuX2MpLmxlbmd0aH0sQj1mdW5jdGlvbih0KXt2LmNhbGwoYywoZnVuY3Rpb24oKXt2YXIgZTtPP1MuZW1pdCgicmVqZWN0aW9uSGFuZGxlZCIsdCk6KGU9Yy5vbnJlamVjdGlvbmhhbmRsZWQpJiZlKHtwcm9taXNlOnQscmVhc29uOnQuX3Z9KX0pKX0sUj1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2UuX2R8fChlLl9kPSEwLGU9ZS5fd3x8ZSxlLl92PXQsZS5fcz0yLGUuX2F8fChlLl9hPWUuX2Muc2xpY2UoKSksRChlLCEwKSl9LE49ZnVuY3Rpb24odCl7dmFyIGUsaT10aGlzO2lmKCFpLl9kKXtpLl9kPSEwLGk9aS5fd3x8aTt0cnl7aWYoaT09PXQpdGhyb3cgQygiUHJvbWlzZSBjYW4ndCBiZSByZXNvbHZlZCBpdHNlbGYiKTsoZT1qKHQpKT95KChmdW5jdGlvbigpe3ZhciBuPXtfdzppLF9kOiExfTt0cnl7ZS5jYWxsKHQsaChOLG4sMSksaChSLG4sMSkpfWNhdGNoKHIpe1IuY2FsbChuLHIpfX0pKTooaS5fdj10LGkuX3M9MSxEKGksITEpKX1jYXRjaChuKXtSLmNhbGwoe193OmksX2Q6ITF9LG4pfX19O0x8fChQPWZ1bmN0aW9uKHQpe2YodGhpcyxQLGssIl9oIiksdSh0KSxuLmNhbGwodGhpcyk7dHJ5e3QoaChOLHRoaXMsMSksaChSLHRoaXMsMSkpfWNhdGNoKGUpe1IuY2FsbCh0aGlzLGUpfX0sbj1mdW5jdGlvbih0KXt0aGlzLl9jPVtdLHRoaXMuX2E9dm9pZCAwLHRoaXMuX3M9MCx0aGlzLl9kPSExLHRoaXMuX3Y9dm9pZCAwLHRoaXMuX2g9MCx0aGlzLl9uPSExfSxuLnByb3RvdHlwZT1pKCI1Yzk1IikoUC5wcm90b3R5cGUse3RoZW46ZnVuY3Rpb24odCxlKXt2YXIgaT1FKGcodGhpcyxQKSk7cmV0dXJuIGkub2s9ImZ1bmN0aW9uIiE9dHlwZW9mIHR8fHQsaS5mYWlsPSJmdW5jdGlvbiI9PXR5cGVvZiBlJiZlLGkuZG9tYWluPU8/Uy5kb21haW46dm9pZCAwLHRoaXMuX2MucHVzaChpKSx0aGlzLl9hJiZ0aGlzLl9hLnB1c2goaSksdGhpcy5fcyYmRCh0aGlzLCExKSxpLnByb21pc2V9LGNhdGNoOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLHQpfX0pLG89ZnVuY3Rpb24oKXt2YXIgdD1uZXcgbjt0aGlzLnByb21pc2U9dCx0aGlzLnJlc29sdmU9aChOLHQsMSksdGhpcy5yZWplY3Q9aChSLHQsMSl9LF8uZj1FPWZ1bmN0aW9uKHQpe3JldHVybiB0PT09UHx8dD09PWE/bmV3IG8odCk6cih0KX0pLHAocC5HK3AuVytwLkYqIUwse1Byb21pc2U6UH0pLGkoIjQ1ZjIiKShQLGspLGkoIjRjOTUiKShrKSxhPWkoIjU4NGEiKVtrXSxwKHAuUytwLkYqIUwsayx7cmVqZWN0OmZ1bmN0aW9uKHQpe3ZhciBlPUUodGhpcyksaT1lLnJlamVjdDtyZXR1cm4gaSh0KSxlLnByb21pc2V9fSkscChwLlMrcC5GKihzfHwhTCksayx7cmVzb2x2ZTpmdW5jdGlvbih0KXtyZXR1cm4gdyhzJiZ0aGlzPT09YT9QOnRoaXMsdCl9fSkscChwLlMrcC5GKiEoTCYmaSgiNGVlMSIpKChmdW5jdGlvbih0KXtQLmFsbCh0KVsiY2F0Y2giXShUKX0pKSksayx7YWxsOmZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsaT1FKGUpLG49aS5yZXNvbHZlLHI9aS5yZWplY3Qsbz1iKChmdW5jdGlvbigpe3ZhciBpPVtdLG89MCxhPTE7bSh0LCExLChmdW5jdGlvbih0KXt2YXIgcz1vKyssYz0hMTtpLnB1c2godm9pZCAwKSxhKyssZS5yZXNvbHZlKHQpLnRoZW4oKGZ1bmN0aW9uKHQpe2N8fChjPSEwLGlbc109dCwtLWF8fG4oaSkpfSkscil9KSksLS1hfHxuKGkpfSkpO3JldHVybiBvLmUmJnIoby52KSxpLnByb21pc2V9LHJhY2U6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPUUoZSksbj1pLnJlamVjdCxyPWIoKGZ1bmN0aW9uKCl7bSh0LCExLChmdW5jdGlvbih0KXtlLnJlc29sdmUodCkudGhlbihpLnJlc29sdmUsbil9KSl9KSk7cmV0dXJuIHIuZSYmbihyLnYpLGkucHJvbWlzZX19KX0sIjI0ZmIiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7ZnVuY3Rpb24gbih0LGUpe3ZhciBpPXRbMV18fCIiLG49dFszXTtpZighbilyZXR1cm4gaTtpZihlJiYiZnVuY3Rpb24iPT09dHlwZW9mIGJ0b2Epe3ZhciBvPXIobiksYT1uLnNvdXJjZXMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4iLyojIHNvdXJjZVVSTD0iK24uc291cmNlUm9vdCt0KyIgKi8ifSkpO3JldHVybltpXS5jb25jYXQoYSkuY29uY2F0KFtvXSkuam9pbigiXG4iKX1yZXR1cm5baV0uam9pbigiXG4iKX1mdW5jdGlvbiByKHQpe3ZhciBlPWJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KHQpKSkpLGk9InNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LCIrZTtyZXR1cm4iLyojICIraSsiICovIn10LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9W107cmV0dXJuIGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoKGZ1bmN0aW9uKGUpe3ZhciBpPW4oZSx0KTtyZXR1cm4gZVsyXT8iQG1lZGlhICIrZVsyXSsieyIraSsifSI6aX0pKS5qb2luKCIiKX0sZS5pPWZ1bmN0aW9uKHQsaSl7InN0cmluZyI9PT10eXBlb2YgdCYmKHQ9W1tudWxsLHQsIiJdXSk7Zm9yKHZhciBuPXt9LHI9MDtyPHRoaXMubGVuZ3RoO3IrKyl7dmFyIG89dGhpc1tyXVswXTtudWxsIT1vJiYobltvXT0hMCl9Zm9yKHI9MDtyPHQubGVuZ3RoO3IrKyl7dmFyIGE9dFtyXTtudWxsIT1hWzBdJiZuW2FbMF1dfHwoaSYmIWFbMl0/YVsyXT1pOmkmJihhWzJdPSIoIithWzJdKyIpIGFuZCAoIitpKyIpIiksZS5wdXNoKGEpKX19LGV9fSwiMjVlYiI6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYodm9pZCAwPT10KXRocm93IFR5cGVFcnJvcigiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gICIrdCk7cmV0dXJuIHR9fSwyNjIxOmZ1bmN0aW9uKHQsZSl7ZS5mPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHN9LDI4Nzc6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSxpLG4scixvLGEscyl7dmFyIGMsaD0iZnVuY3Rpb24iPT09dHlwZW9mIHQ/dC5vcHRpb25zOnQ7aWYoZSYmKGgucmVuZGVyPWUsaC5zdGF0aWNSZW5kZXJGbnM9aSxoLl9jb21waWxlZD0hMCksbiYmKGguZnVuY3Rpb25hbD0hMCksbyYmKGguX3Njb3BlSWQ9ImRhdGEtdi0iK28pLGE/KGM9ZnVuY3Rpb24odCl7dD10fHx0aGlzLiR2bm9kZSYmdGhpcy4kdm5vZGUuc3NyQ29udGV4dHx8dGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LiR2bm9kZSYmdGhpcy5wYXJlbnQuJHZub2RlLnNzckNvbnRleHQsdHx8InVuZGVmaW5lZCI9PT10eXBlb2YgX19WVUVfU1NSX0NPTlRFWFRfX3x8KHQ9X19WVUVfU1NSX0NPTlRFWFRfXyksciYmci5jYWxsKHRoaXMsdCksdCYmdC5fcmVnaXN0ZXJlZENvbXBvbmVudHMmJnQuX3JlZ2lzdGVyZWRDb21wb25lbnRzLmFkZChhKX0saC5fc3NyUmVnaXN0ZXI9Yyk6ciYmKGM9cz9mdW5jdGlvbigpe3IuY2FsbCh0aGlzLHRoaXMuJHJvb3QuJG9wdGlvbnMuc2hhZG93Um9vdCl9OnIpLGMpaWYoaC5mdW5jdGlvbmFsKXtoLl9pbmplY3RTdHlsZXM9Yzt2YXIgbD1oLnJlbmRlcjtoLnJlbmRlcj1mdW5jdGlvbih0LGUpe3JldHVybiBjLmNhbGwoZSksbCh0LGUpfX1lbHNle3ZhciBwPWguYmVmb3JlQ3JlYXRlO2guYmVmb3JlQ3JlYXRlPXA/W10uY29uY2F0KHAsYyk6W2NdfXJldHVybntleHBvcnRzOnQsb3B0aW9uczpofX1pLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSl9LCIyODhhIjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoImQwMjQiKSxyPWkoImZhNGUiKSxvPWkoImEwZDMiKSxhPWkoImNhOWYiKSxzPWZ1bmN0aW9uKHQpe3IoITEsdCl9LGM9U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLGg9U3RyaW5nLnByb3RvdHlwZS5zcGxpdCxsPSJ8fHx8IixwPWZ1bmN0aW9uKHQpe3ZhciBlPXQlMTA7cmV0dXJuIDExIT09dCYmMT09PWU/MDoyPD1lJiZlPD00JiYhKHQ+PTEyJiZ0PD0xNCk/MToyfSxkPXthcmFiaWM6ZnVuY3Rpb24odCl7aWYodDwzKXJldHVybiB0O3ZhciBlPXQlMTAwO3JldHVybiBlPj0zJiZlPD0xMD8zOmU+PTExPzQ6NX0sYm9zbmlhbl9zZXJiaWFuOnAsY2hpbmVzZTpmdW5jdGlvbigpe3JldHVybiAwfSxjcm9hdGlhbjpwLGZyZW5jaDpmdW5jdGlvbih0KXtyZXR1cm4gdD4xPzE6MH0sZ2VybWFuOmZ1bmN0aW9uKHQpe3JldHVybiAxIT09dD8xOjB9LHJ1c3NpYW46cCxsaXRodWFuaWFuOmZ1bmN0aW9uKHQpe3JldHVybiB0JTEwPT09MSYmdCUxMDAhPT0xMT8wOnQlMTA+PTImJnQlMTA8PTkmJih0JTEwMDwxMXx8dCUxMDA+MTkpPzE6Mn0sY3plY2g6ZnVuY3Rpb24odCl7cmV0dXJuIDE9PT10PzA6dD49MiYmdDw9ND8xOjJ9LHBvbGlzaDpmdW5jdGlvbih0KXtpZigxPT09dClyZXR1cm4gMDt2YXIgZT10JTEwO3JldHVybiAyPD1lJiZlPD00JiYodCUxMDA8MTB8fHQlMTAwPj0yMCk/MToyfSxpY2VsYW5kaWM6ZnVuY3Rpb24odCl7cmV0dXJuIHQlMTAhPT0xfHx0JTEwMD09PTExPzE6MH0sc2xvdmVuaWFuOmZ1bmN0aW9uKHQpe3ZhciBlPXQlMTAwO3JldHVybiAxPT09ZT8wOjI9PT1lPzE6Mz09PWV8fDQ9PT1lPzI6M319LHU9e2FyYWJpYzpbImFyIl0sYm9zbmlhbl9zZXJiaWFuOlsiYnMtTGF0bi1CQSIsImJzLUN5cmwtQkEiLCJzcmwtUlMiLCJzci1SUyJdLGNoaW5lc2U6WyJpZCIsImlkLUlEIiwiamEiLCJrbyIsImtvLUtSIiwibG8iLCJtcyIsInRoIiwidGgtVEgiLCJ6aCJdLGNyb2F0aWFuOlsiaHIiLCJoci1IUiJdLGdlcm1hbjpbImZhIiwiZGEiLCJkZSIsImVuIiwiZXMiLCJmaSIsImVsIiwiaGUiLCJoaS1JTiIsImh1IiwiaHUtSFUiLCJpdCIsIm5sIiwibm8iLCJwdCIsInN2IiwidHIiXSxmcmVuY2g6WyJmciIsInRsIiwicHQtYnIiXSxydXNzaWFuOlsicnUiLCJydS1SVSJdLGxpdGh1YW5pYW46WyJsdCJdLGN6ZWNoOlsiY3MiLCJjcy1DWiIsInNrIl0scG9saXNoOlsicGwiXSxpY2VsYW5kaWM6WyJpcyJdLHNsb3ZlbmlhbjpbInNsLVNMIl19O2Z1bmN0aW9uIGYodCl7dmFyIGU9e307cmV0dXJuIG4odCwoZnVuY3Rpb24odCxpKXtuKHQsKGZ1bmN0aW9uKHQpe2VbdF09aX0pKX0pKSxlfWZ1bmN0aW9uIG0odCl7dmFyIGU9Zih1KTtyZXR1cm4gZVt0XXx8ZVtoLmNhbGwodCwvLS8sMSlbMF1dfHxlLmVufWZ1bmN0aW9uIGcodCxlKXtyZXR1cm4gZFttKHQpXShlKX1mdW5jdGlvbiB2KHQpe3JldHVybiB0LnJlcGxhY2UoL1suKis/XiR7fSgpfFtcXVxcXS9nLCJcXCQmIil9ZnVuY3Rpb24geSh0KXt2YXIgZT10JiZ0LnByZWZpeHx8IiV7IixpPXQmJnQuc3VmZml4fHwifSI7aWYoZT09PWx8fGk9PT1sKXRocm93IG5ldyBSYW5nZUVycm9yKCciJytsKyciIHRva2VuIGlzIHJlc2VydmVkIGZvciBwbHVyYWxpemF0aW9uJyk7cmV0dXJuIG5ldyBSZWdFeHAodihlKSsiKC4qPykiK3YoaSksImciKX12YXIgXz0vXCQvZyxiPSIkJCIseD0vJVx7KC4qPylcfS9nO2Z1bmN0aW9uIHcodCxlLGksbil7aWYoInN0cmluZyIhPT10eXBlb2YgdCl0aHJvdyBuZXcgVHlwZUVycm9yKCJQb2x5Z2xvdC50cmFuc2Zvcm1QaHJhc2UgZXhwZWN0cyBhcmd1bWVudCAjMSB0byBiZSBzdHJpbmciKTtpZihudWxsPT1lKXJldHVybiB0O3ZhciByPXQscz1ufHx4LHA9Im51bWJlciI9PT10eXBlb2YgZT97c21hcnRfY291bnQ6ZX06ZTtpZihudWxsIT1wLnNtYXJ0X2NvdW50JiZyKXt2YXIgZD1oLmNhbGwocixsKTtyPWEoZFtnKGl8fCJlbiIscC5zbWFydF9jb3VudCldfHxkWzBdKX1yZXR1cm4gcj1jLmNhbGwocixzLChmdW5jdGlvbih0LGUpe3JldHVybiBvKHAsZSkmJm51bGwhPXBbZV0/Yy5jYWxsKHBbZV0sXyxiKTp0fSkpLHJ9ZnVuY3Rpb24gayh0KXt2YXIgZT10fHx7fTt0aGlzLnBocmFzZXM9e30sdGhpcy5leHRlbmQoZS5waHJhc2VzfHx7fSksdGhpcy5jdXJyZW50TG9jYWxlPWUubG9jYWxlfHwiZW4iO3ZhciBpPWUuYWxsb3dNaXNzaW5nP3c6bnVsbDt0aGlzLm9uTWlzc2luZ0tleT0iZnVuY3Rpb24iPT09dHlwZW9mIGUub25NaXNzaW5nS2V5P2Uub25NaXNzaW5nS2V5OmksdGhpcy53YXJuPWUud2Fybnx8cyx0aGlzLnRva2VuUmVnZXg9eShlLmludGVycG9sYXRpb24pfWsucHJvdG90eXBlLmxvY2FsZT1mdW5jdGlvbih0KXtyZXR1cm4gdCYmKHRoaXMuY3VycmVudExvY2FsZT10KSx0aGlzLmN1cnJlbnRMb2NhbGV9LGsucHJvdG90eXBlLmV4dGVuZD1mdW5jdGlvbih0LGUpe24odCwoZnVuY3Rpb24odCxpKXt2YXIgbj1lP2UrIi4iK2k6aTsib2JqZWN0Ij09PXR5cGVvZiB0P3RoaXMuZXh0ZW5kKHQsbik6dGhpcy5waHJhc2VzW25dPXR9KSx0aGlzKX0say5wcm90b3R5cGUudW5zZXQ9ZnVuY3Rpb24odCxlKXsic3RyaW5nIj09PXR5cGVvZiB0P2RlbGV0ZSB0aGlzLnBocmFzZXNbdF06bih0LChmdW5jdGlvbih0LGkpe3ZhciBuPWU/ZSsiLiIraTppOyJvYmplY3QiPT09dHlwZW9mIHQ/dGhpcy51bnNldCh0LG4pOmRlbGV0ZSB0aGlzLnBocmFzZXNbbl19KSx0aGlzKX0say5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLnBocmFzZXM9e319LGsucHJvdG90eXBlLnJlcGxhY2U9ZnVuY3Rpb24odCl7dGhpcy5jbGVhcigpLHRoaXMuZXh0ZW5kKHQpfSxrLnByb3RvdHlwZS50PWZ1bmN0aW9uKHQsZSl7dmFyIGksbixyPW51bGw9PWU/e306ZTtpZigic3RyaW5nIj09PXR5cGVvZiB0aGlzLnBocmFzZXNbdF0paT10aGlzLnBocmFzZXNbdF07ZWxzZSBpZigic3RyaW5nIj09PXR5cGVvZiByLl8paT1yLl87ZWxzZSBpZih0aGlzLm9uTWlzc2luZ0tleSl7dmFyIG89dGhpcy5vbk1pc3NpbmdLZXk7bj1vKHQscix0aGlzLmN1cnJlbnRMb2NhbGUsdGhpcy50b2tlblJlZ2V4KX1lbHNlIHRoaXMud2FybignTWlzc2luZyB0cmFuc2xhdGlvbiBmb3Iga2V5OiAiJyt0KyciJyksbj10O3JldHVybiJzdHJpbmciPT09dHlwZW9mIGkmJihuPXcoaSxyLHRoaXMuY3VycmVudExvY2FsZSx0aGlzLnRva2VuUmVnZXgpKSxufSxrLnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuIG8odGhpcy5waHJhc2VzLHQpfSxrLnRyYW5zZm9ybVBocmFzZT1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIHcodCxlLGkpfSx0LmV4cG9ydHM9a30sIjI5NGMiOmZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4hIXQoKX1jYXRjaChlKXtyZXR1cm4hMH19fSwiMmFiYSI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoIjc3MjYiKSxyPWkoIjMyZTkiKSxvPWkoIjY5YTgiKSxhPWkoImNhNWEiKSgic3JjIikscz1pKCJmYTViIiksYz0idG9TdHJpbmciLGg9KCIiK3MpLnNwbGl0KGMpO2koIjgzNzgiKS5pbnNwZWN0U291cmNlPWZ1bmN0aW9uKHQpe3JldHVybiBzLmNhbGwodCl9LCh0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLGkscyl7dmFyIGM9ImZ1bmN0aW9uIj09dHlwZW9mIGk7YyYmKG8oaSwibmFtZSIpfHxyKGksIm5hbWUiLGUpKSx0W2VdIT09aSYmKGMmJihvKGksYSl8fHIoaSxhLHRbZV0/IiIrdFtlXTpoLmpvaW4oU3RyaW5nKGUpKSkpLHQ9PT1uP3RbZV09aTpzP3RbZV0/dFtlXT1pOnIodCxlLGkpOihkZWxldGUgdFtlXSxyKHQsZSxpKSkpfSkoRnVuY3Rpb24ucHJvdG90eXBlLGMsKGZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09dHlwZW9mIHRoaXMmJnRoaXNbYV18fHMuY2FsbCh0aGlzKX0pKX0sIjJhZWIiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCJjYjdjIikscj1pKCIxNDk1Iiksbz1pKCJlMTFlIiksYT1pKCI2MTNiIikoIklFX1BST1RPIikscz1mdW5jdGlvbigpe30sYz0icHJvdG90eXBlIixoPWZ1bmN0aW9uKCl7dmFyIHQsZT1pKCIyMzBlIikoImlmcmFtZSIpLG49by5sZW5ndGgscj0iPCIsYT0iPiI7ZS5zdHlsZS5kaXNwbGF5PSJub25lIixpKCJmYWIyIikuYXBwZW5kQ2hpbGQoZSksZS5zcmM9ImphdmFzY3JpcHQ6Iix0PWUuY29udGVudFdpbmRvdy5kb2N1bWVudCx0Lm9wZW4oKSx0LndyaXRlKHIrInNjcmlwdCIrYSsiZG9jdW1lbnQuRj1PYmplY3QiK3IrIi9zY3JpcHQiK2EpLHQuY2xvc2UoKSxoPXQuRjt3aGlsZShuLS0pZGVsZXRlIGhbY11bb1tuXV07cmV0dXJuIGgoKX07dC5leHBvcnRzPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKHQsZSl7dmFyIGk7cmV0dXJuIG51bGwhPT10PyhzW2NdPW4odCksaT1uZXcgcyxzW2NdPW51bGwsaVthXT10KTppPWgoKSx2b2lkIDA9PT1lP2k6cihpLGUpfX0sIjJiMGUiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7KGZ1bmN0aW9uKHQpewovKiEKICogVnVlLmpzIHYyLjUuMjEKICogKGMpIDIwMTQtMjAxOCBFdmFuIFlvdQogKiBSZWxlYXNlZCB1bmRlciB0aGUgTUlUIExpY2Vuc2UuCiAqLwp2YXIgaT1PYmplY3QuZnJlZXplKHt9KTtmdW5jdGlvbiBuKHQpe3JldHVybiB2b2lkIDA9PT10fHxudWxsPT09dH1mdW5jdGlvbiByKHQpe3JldHVybiB2b2lkIDAhPT10JiZudWxsIT09dH1mdW5jdGlvbiBvKHQpe3JldHVybiEwPT09dH1mdW5jdGlvbiBhKHQpe3JldHVybiExPT09dH1mdW5jdGlvbiBzKHQpe3JldHVybiJzdHJpbmciPT09dHlwZW9mIHR8fCJudW1iZXIiPT09dHlwZW9mIHR8fCJzeW1ib2wiPT09dHlwZW9mIHR8fCJib29sZWFuIj09PXR5cGVvZiB0fWZ1bmN0aW9uIGModCl7cmV0dXJuIG51bGwhPT10JiYib2JqZWN0Ij09PXR5cGVvZiB0fXZhciBoPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7ZnVuY3Rpb24gbCh0KXtyZXR1cm4iW29iamVjdCBPYmplY3RdIj09PWguY2FsbCh0KX1mdW5jdGlvbiBwKHQpe3JldHVybiJbb2JqZWN0IFJlZ0V4cF0iPT09aC5jYWxsKHQpfWZ1bmN0aW9uIGQodCl7dmFyIGU9cGFyc2VGbG9hdChTdHJpbmcodCkpO3JldHVybiBlPj0wJiZNYXRoLmZsb29yKGUpPT09ZSYmaXNGaW5pdGUodCl9ZnVuY3Rpb24gdSh0KXtyZXR1cm4gbnVsbD09dD8iIjoib2JqZWN0Ij09PXR5cGVvZiB0P0pTT04uc3RyaW5naWZ5KHQsbnVsbCwyKTpTdHJpbmcodCl9ZnVuY3Rpb24gZih0KXt2YXIgZT1wYXJzZUZsb2F0KHQpO3JldHVybiBpc05hTihlKT90OmV9ZnVuY3Rpb24gbSh0LGUpe2Zvcih2YXIgaT1PYmplY3QuY3JlYXRlKG51bGwpLG49dC5zcGxpdCgiLCIpLHI9MDtyPG4ubGVuZ3RoO3IrKylpW25bcl1dPSEwO3JldHVybiBlP2Z1bmN0aW9uKHQpe3JldHVybiBpW3QudG9Mb3dlckNhc2UoKV19OmZ1bmN0aW9uKHQpe3JldHVybiBpW3RdfX1tKCJzbG90LGNvbXBvbmVudCIsITApO3ZhciBnPW0oImtleSxyZWYsc2xvdCxzbG90LXNjb3BlLGlzIik7ZnVuY3Rpb24gdih0LGUpe2lmKHQubGVuZ3RoKXt2YXIgaT10LmluZGV4T2YoZSk7aWYoaT4tMSlyZXR1cm4gdC5zcGxpY2UoaSwxKX19dmFyIHk9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBfKHQsZSl7cmV0dXJuIHkuY2FsbCh0LGUpfWZ1bmN0aW9uIGIodCl7dmFyIGU9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gZnVuY3Rpb24oaSl7dmFyIG49ZVtpXTtyZXR1cm4gbnx8KGVbaV09dChpKSl9fXZhciB4PS8tKFx3KS9nLHc9YigoZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSh4LChmdW5jdGlvbih0LGUpe3JldHVybiBlP2UudG9VcHBlckNhc2UoKToiIn0pKX0pKSxrPWIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSl9KSksQz0vXEIoW0EtWl0pL2csUz1iKChmdW5jdGlvbih0KXtyZXR1cm4gdC5yZXBsYWNlKEMsIi0kMSIpLnRvTG93ZXJDYXNlKCl9KSk7ZnVuY3Rpb24gQSh0LGUpe2Z1bmN0aW9uIGkoaSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aDtyZXR1cm4gbj9uPjE/dC5hcHBseShlLGFyZ3VtZW50cyk6dC5jYWxsKGUsaSk6dC5jYWxsKGUpfXJldHVybiBpLl9sZW5ndGg9dC5sZW5ndGgsaX1mdW5jdGlvbiBNKHQsZSl7cmV0dXJuIHQuYmluZChlKX12YXIgUD1GdW5jdGlvbi5wcm90b3R5cGUuYmluZD9NOkE7ZnVuY3Rpb24gTyh0LGUpe2U9ZXx8MDt2YXIgaT10Lmxlbmd0aC1lLG49bmV3IEFycmF5KGkpO3doaWxlKGktLSluW2ldPXRbaStlXTtyZXR1cm4gbn1mdW5jdGlvbiBUKHQsZSl7Zm9yKHZhciBpIGluIGUpdFtpXT1lW2ldO3JldHVybiB0fWZ1bmN0aW9uIEUodCl7Zm9yKHZhciBlPXt9LGk9MDtpPHQubGVuZ3RoO2krKyl0W2ldJiZUKGUsdFtpXSk7cmV0dXJuIGV9ZnVuY3Rpb24gTCh0LGUsaSl7fXZhciBqPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4hMX0sRD1mdW5jdGlvbih0KXtyZXR1cm4gdH07ZnVuY3Rpb24gSSh0LGUpe2lmKHQ9PT1lKXJldHVybiEwO3ZhciBpPWModCksbj1jKGUpO2lmKCFpfHwhbilyZXR1cm4haSYmIW4mJlN0cmluZyh0KT09PVN0cmluZyhlKTt0cnl7dmFyIHI9QXJyYXkuaXNBcnJheSh0KSxvPUFycmF5LmlzQXJyYXkoZSk7aWYociYmbylyZXR1cm4gdC5sZW5ndGg9PT1lLmxlbmd0aCYmdC5ldmVyeSgoZnVuY3Rpb24odCxpKXtyZXR1cm4gSSh0LGVbaV0pfSkpO2lmKHQgaW5zdGFuY2VvZiBEYXRlJiZlIGluc3RhbmNlb2YgRGF0ZSlyZXR1cm4gdC5nZXRUaW1lKCk9PT1lLmdldFRpbWUoKTtpZihyfHxvKXJldHVybiExO3ZhciBhPU9iamVjdC5rZXlzKHQpLHM9T2JqZWN0LmtleXMoZSk7cmV0dXJuIGEubGVuZ3RoPT09cy5sZW5ndGgmJmEuZXZlcnkoKGZ1bmN0aW9uKGkpe3JldHVybiBJKHRbaV0sZVtpXSl9KSl9Y2F0Y2goaCl7cmV0dXJuITF9fWZ1bmN0aW9uIHoodCxlKXtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKylpZihJKHRbaV0sZSkpcmV0dXJuIGk7cmV0dXJuLTF9ZnVuY3Rpb24gQih0KXt2YXIgZT0hMTtyZXR1cm4gZnVuY3Rpb24oKXtlfHwoZT0hMCx0LmFwcGx5KHRoaXMsYXJndW1lbnRzKSl9fXZhciBSPSJkYXRhLXNlcnZlci1yZW5kZXJlZCIsTj1bImNvbXBvbmVudCIsImRpcmVjdGl2ZSIsImZpbHRlciJdLEc9WyJiZWZvcmVDcmVhdGUiLCJjcmVhdGVkIiwiYmVmb3JlTW91bnQiLCJtb3VudGVkIiwiYmVmb3JlVXBkYXRlIiwidXBkYXRlZCIsImJlZm9yZURlc3Ryb3kiLCJkZXN0cm95ZWQiLCJhY3RpdmF0ZWQiLCJkZWFjdGl2YXRlZCIsImVycm9yQ2FwdHVyZWQiXSxGPXtvcHRpb25NZXJnZVN0cmF0ZWdpZXM6T2JqZWN0LmNyZWF0ZShudWxsKSxzaWxlbnQ6ITEscHJvZHVjdGlvblRpcDohMSxkZXZ0b29sczohMSxwZXJmb3JtYW5jZTohMSxlcnJvckhhbmRsZXI6bnVsbCx3YXJuSGFuZGxlcjpudWxsLGlnbm9yZWRFbGVtZW50czpbXSxrZXlDb2RlczpPYmplY3QuY3JlYXRlKG51bGwpLGlzUmVzZXJ2ZWRUYWc6aixpc1Jlc2VydmVkQXR0cjpqLGlzVW5rbm93bkVsZW1lbnQ6aixnZXRUYWdOYW1lc3BhY2U6TCxwYXJzZVBsYXRmb3JtVGFnTmFtZTpELG11c3RVc2VQcm9wOmosYXN5bmM6ITAsX2xpZmVjeWNsZUhvb2tzOkd9O2Z1bmN0aW9uIEgodCl7dmFyIGU9KHQrIiIpLmNoYXJDb2RlQXQoMCk7cmV0dXJuIDM2PT09ZXx8OTU9PT1lfWZ1bmN0aW9uIFcodCxlLGksbil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7dmFsdWU6aSxlbnVtZXJhYmxlOiEhbix3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KX12YXIgVT0vW15cdy4kXS87ZnVuY3Rpb24gWCh0KXtpZighVS50ZXN0KHQpKXt2YXIgZT10LnNwbGl0KCIuIik7cmV0dXJuIGZ1bmN0aW9uKHQpe2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXtpZighdClyZXR1cm47dD10W2VbaV1dfXJldHVybiB0fX19dmFyIFYsWT0iX19wcm90b19fImlue30sJD0idW5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3csSz0idW5kZWZpbmVkIiE9PXR5cGVvZiBXWEVudmlyb25tZW50JiYhIVdYRW52aXJvbm1lbnQucGxhdGZvcm0sWj1LJiZXWEVudmlyb25tZW50LnBsYXRmb3JtLnRvTG93ZXJDYXNlKCkscT0kJiZ3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpLEo9cSYmL21zaWV8dHJpZGVudC8udGVzdChxKSxRPXEmJnEuaW5kZXhPZigibXNpZSA5LjAiKT4wLHR0PXEmJnEuaW5kZXhPZigiZWRnZS8iKT4wLGV0PShxJiZxLmluZGV4T2YoImFuZHJvaWQiKSxxJiYvaXBob25lfGlwYWR8aXBvZHxpb3MvLnRlc3QocSl8fCJpb3MiPT09WiksaXQ9KHEmJi9jaHJvbWVcL1xkKy8udGVzdChxKSx7fS53YXRjaCksbnQ9ITE7aWYoJCl0cnl7dmFyIHJ0PXt9O09iamVjdC5kZWZpbmVQcm9wZXJ0eShydCwicGFzc2l2ZSIse2dldDpmdW5jdGlvbigpe250PSEwfX0pLHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0LXBhc3NpdmUiLG51bGwscnQpfWNhdGNoKHNhKXt9dmFyIG90PWZ1bmN0aW9uKCl7cmV0dXJuIHZvaWQgMD09PVYmJihWPSEkJiYhSyYmInVuZGVmaW5lZCIhPT10eXBlb2YgdCYmKHRbInByb2Nlc3MiXSYmInNlcnZlciI9PT10WyJwcm9jZXNzIl0uZW52LlZVRV9FTlYpKSxWfSxhdD0kJiZ3aW5kb3cuX19WVUVfREVWVE9PTFNfR0xPQkFMX0hPT0tfXztmdW5jdGlvbiBzdCh0KXtyZXR1cm4iZnVuY3Rpb24iPT09dHlwZW9mIHQmJi9uYXRpdmUgY29kZS8udGVzdCh0LnRvU3RyaW5nKCkpfXZhciBjdCxodD0idW5kZWZpbmVkIiE9PXR5cGVvZiBTeW1ib2wmJnN0KFN5bWJvbCkmJiJ1bmRlZmluZWQiIT09dHlwZW9mIFJlZmxlY3QmJnN0KFJlZmxlY3Qub3duS2V5cyk7Y3Q9InVuZGVmaW5lZCIhPT10eXBlb2YgU2V0JiZzdChTZXQpP1NldDpmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLnNldD1PYmplY3QuY3JlYXRlKG51bGwpfXJldHVybiB0LnByb3RvdHlwZS5oYXM9ZnVuY3Rpb24odCl7cmV0dXJuITA9PT10aGlzLnNldFt0XX0sdC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3RoaXMuc2V0W3RdPSEwfSx0LnByb3RvdHlwZS5jbGVhcj1mdW5jdGlvbigpe3RoaXMuc2V0PU9iamVjdC5jcmVhdGUobnVsbCl9LHR9KCk7dmFyIGx0PUwscHQ9MCxkdD1mdW5jdGlvbigpe3RoaXMuaWQ9cHQrKyx0aGlzLnN1YnM9W119O2R0LnByb3RvdHlwZS5hZGRTdWI9ZnVuY3Rpb24odCl7dGhpcy5zdWJzLnB1c2godCl9LGR0LnByb3RvdHlwZS5yZW1vdmVTdWI9ZnVuY3Rpb24odCl7dih0aGlzLnN1YnMsdCl9LGR0LnByb3RvdHlwZS5kZXBlbmQ9ZnVuY3Rpb24oKXtkdC50YXJnZXQmJmR0LnRhcmdldC5hZGREZXAodGhpcyl9LGR0LnByb3RvdHlwZS5ub3RpZnk9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnN1YnMuc2xpY2UoKTtmb3IodmFyIGU9MCxpPXQubGVuZ3RoO2U8aTtlKyspdFtlXS51cGRhdGUoKX0sZHQudGFyZ2V0PW51bGw7dmFyIHV0PVtdO2Z1bmN0aW9uIGZ0KHQpe3V0LnB1c2godCksZHQudGFyZ2V0PXR9ZnVuY3Rpb24gbXQoKXt1dC5wb3AoKSxkdC50YXJnZXQ9dXRbdXQubGVuZ3RoLTFdfXZhciBndD1mdW5jdGlvbih0LGUsaSxuLHIsbyxhLHMpe3RoaXMudGFnPXQsdGhpcy5kYXRhPWUsdGhpcy5jaGlsZHJlbj1pLHRoaXMudGV4dD1uLHRoaXMuZWxtPXIsdGhpcy5ucz12b2lkIDAsdGhpcy5jb250ZXh0PW8sdGhpcy5mbkNvbnRleHQ9dm9pZCAwLHRoaXMuZm5PcHRpb25zPXZvaWQgMCx0aGlzLmZuU2NvcGVJZD12b2lkIDAsdGhpcy5rZXk9ZSYmZS5rZXksdGhpcy5jb21wb25lbnRPcHRpb25zPWEsdGhpcy5jb21wb25lbnRJbnN0YW5jZT12b2lkIDAsdGhpcy5wYXJlbnQ9dm9pZCAwLHRoaXMucmF3PSExLHRoaXMuaXNTdGF0aWM9ITEsdGhpcy5pc1Jvb3RJbnNlcnQ9ITAsdGhpcy5pc0NvbW1lbnQ9ITEsdGhpcy5pc0Nsb25lZD0hMSx0aGlzLmlzT25jZT0hMSx0aGlzLmFzeW5jRmFjdG9yeT1zLHRoaXMuYXN5bmNNZXRhPXZvaWQgMCx0aGlzLmlzQXN5bmNQbGFjZWhvbGRlcj0hMX0sdnQ9e2NoaWxkOntjb25maWd1cmFibGU6ITB9fTt2dC5jaGlsZC5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb21wb25lbnRJbnN0YW5jZX0sT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZ3QucHJvdG90eXBlLHZ0KTt2YXIgeXQ9ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9IiIpO3ZhciBlPW5ldyBndDtyZXR1cm4gZS50ZXh0PXQsZS5pc0NvbW1lbnQ9ITAsZX07ZnVuY3Rpb24gX3QodCl7cmV0dXJuIG5ldyBndCh2b2lkIDAsdm9pZCAwLHZvaWQgMCxTdHJpbmcodCkpfWZ1bmN0aW9uIGJ0KHQpe3ZhciBlPW5ldyBndCh0LnRhZyx0LmRhdGEsdC5jaGlsZHJlbiYmdC5jaGlsZHJlbi5zbGljZSgpLHQudGV4dCx0LmVsbSx0LmNvbnRleHQsdC5jb21wb25lbnRPcHRpb25zLHQuYXN5bmNGYWN0b3J5KTtyZXR1cm4gZS5ucz10Lm5zLGUuaXNTdGF0aWM9dC5pc1N0YXRpYyxlLmtleT10LmtleSxlLmlzQ29tbWVudD10LmlzQ29tbWVudCxlLmZuQ29udGV4dD10LmZuQ29udGV4dCxlLmZuT3B0aW9ucz10LmZuT3B0aW9ucyxlLmZuU2NvcGVJZD10LmZuU2NvcGVJZCxlLmFzeW5jTWV0YT10LmFzeW5jTWV0YSxlLmlzQ2xvbmVkPSEwLGV9dmFyIHh0PUFycmF5LnByb3RvdHlwZSx3dD1PYmplY3QuY3JlYXRlKHh0KSxrdD1bInB1c2giLCJwb3AiLCJzaGlmdCIsInVuc2hpZnQiLCJzcGxpY2UiLCJzb3J0IiwicmV2ZXJzZSJdO2t0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXh0W3RdO1cod3QsdCwoZnVuY3Rpb24oKXt2YXIgaT1bXSxuPWFyZ3VtZW50cy5sZW5ndGg7d2hpbGUobi0tKWlbbl09YXJndW1lbnRzW25dO3ZhciByLG89ZS5hcHBseSh0aGlzLGkpLGE9dGhpcy5fX29iX187c3dpdGNoKHQpe2Nhc2UicHVzaCI6Y2FzZSJ1bnNoaWZ0IjpyPWk7YnJlYWs7Y2FzZSJzcGxpY2UiOnI9aS5zbGljZSgyKTticmVha31yZXR1cm4gciYmYS5vYnNlcnZlQXJyYXkociksYS5kZXAubm90aWZ5KCksb30pKX0pKTt2YXIgQ3Q9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMod3QpLFN0PSEwO2Z1bmN0aW9uIEF0KHQpe1N0PXR9dmFyIE10PWZ1bmN0aW9uKHQpe3RoaXMudmFsdWU9dCx0aGlzLmRlcD1uZXcgZHQsdGhpcy52bUNvdW50PTAsVyh0LCJfX29iX18iLHRoaXMpLEFycmF5LmlzQXJyYXkodCk/KFk/UHQodCx3dCk6T3QodCx3dCxDdCksdGhpcy5vYnNlcnZlQXJyYXkodCkpOnRoaXMud2Fsayh0KX07ZnVuY3Rpb24gUHQodCxlKXt0Ll9fcHJvdG9fXz1lfWZ1bmN0aW9uIE90KHQsZSxpKXtmb3IodmFyIG49MCxyPWkubGVuZ3RoO248cjtuKyspe3ZhciBvPWlbbl07Vyh0LG8sZVtvXSl9fWZ1bmN0aW9uIFR0KHQsZSl7dmFyIGk7aWYoYyh0KSYmISh0IGluc3RhbmNlb2YgZ3QpKXJldHVybiBfKHQsIl9fb2JfXyIpJiZ0Ll9fb2JfXyBpbnN0YW5jZW9mIE10P2k9dC5fX29iX186U3QmJiFvdCgpJiYoQXJyYXkuaXNBcnJheSh0KXx8bCh0KSkmJk9iamVjdC5pc0V4dGVuc2libGUodCkmJiF0Ll9pc1Z1ZSYmKGk9bmV3IE10KHQpKSxlJiZpJiZpLnZtQ291bnQrKyxpfWZ1bmN0aW9uIEV0KHQsZSxpLG4scil7dmFyIG89bmV3IGR0LGE9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpO2lmKCFhfHwhMSE9PWEuY29uZmlndXJhYmxlKXt2YXIgcz1hJiZhLmdldCxjPWEmJmEuc2V0O3MmJiFjfHwyIT09YXJndW1lbnRzLmxlbmd0aHx8KGk9dFtlXSk7dmFyIGg9IXImJlR0KGkpO09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3ZhciBlPXM/cy5jYWxsKHQpOmk7cmV0dXJuIGR0LnRhcmdldCYmKG8uZGVwZW5kKCksaCYmKGguZGVwLmRlcGVuZCgpLEFycmF5LmlzQXJyYXkoZSkmJkR0KGUpKSksZX0sc2V0OmZ1bmN0aW9uKGUpe3ZhciBuPXM/cy5jYWxsKHQpOmk7ZT09PW58fGUhPT1lJiZuIT09bnx8cyYmIWN8fChjP2MuY2FsbCh0LGUpOmk9ZSxoPSFyJiZUdChlKSxvLm5vdGlmeSgpKX19KX19ZnVuY3Rpb24gTHQodCxlLGkpe2lmKEFycmF5LmlzQXJyYXkodCkmJmQoZSkpcmV0dXJuIHQubGVuZ3RoPU1hdGgubWF4KHQubGVuZ3RoLGUpLHQuc3BsaWNlKGUsMSxpKSxpO2lmKGUgaW4gdCYmIShlIGluIE9iamVjdC5wcm90b3R5cGUpKXJldHVybiB0W2VdPWksaTt2YXIgbj10Ll9fb2JfXztyZXR1cm4gdC5faXNWdWV8fG4mJm4udm1Db3VudD9pOm4/KEV0KG4udmFsdWUsZSxpKSxuLmRlcC5ub3RpZnkoKSxpKToodFtlXT1pLGkpfWZ1bmN0aW9uIGp0KHQsZSl7aWYoQXJyYXkuaXNBcnJheSh0KSYmZChlKSl0LnNwbGljZShlLDEpO2Vsc2V7dmFyIGk9dC5fX29iX187dC5faXNWdWV8fGkmJmkudm1Db3VudHx8Xyh0LGUpJiYoZGVsZXRlIHRbZV0saSYmaS5kZXAubm90aWZ5KCkpfX1mdW5jdGlvbiBEdCh0KXtmb3IodmFyIGU9dm9pZCAwLGk9MCxuPXQubGVuZ3RoO2k8bjtpKyspZT10W2ldLGUmJmUuX19vYl9fJiZlLl9fb2JfXy5kZXAuZGVwZW5kKCksQXJyYXkuaXNBcnJheShlKSYmRHQoZSl9TXQucHJvdG90eXBlLndhbGs9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPU9iamVjdC5rZXlzKHQpLGk9MDtpPGUubGVuZ3RoO2krKylFdCh0LGVbaV0pfSxNdC5wcm90b3R5cGUub2JzZXJ2ZUFycmF5PWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLGk9dC5sZW5ndGg7ZTxpO2UrKylUdCh0W2VdKX07dmFyIEl0PUYub3B0aW9uTWVyZ2VTdHJhdGVnaWVzO2Z1bmN0aW9uIHp0KHQsZSl7aWYoIWUpcmV0dXJuIHQ7Zm9yKHZhciBpLG4scixvPU9iamVjdC5rZXlzKGUpLGE9MDthPG8ubGVuZ3RoO2ErKylpPW9bYV0sbj10W2ldLHI9ZVtpXSxfKHQsaSk/biE9PXImJmwobikmJmwocikmJnp0KG4scik6THQodCxpLHIpO3JldHVybiB0fWZ1bmN0aW9uIEJ0KHQsZSxpKXtyZXR1cm4gaT9mdW5jdGlvbigpe3ZhciBuPSJmdW5jdGlvbiI9PT10eXBlb2YgZT9lLmNhbGwoaSxpKTplLHI9ImZ1bmN0aW9uIj09PXR5cGVvZiB0P3QuY2FsbChpLGkpOnQ7cmV0dXJuIG4/enQobixyKTpyfTplP3Q/ZnVuY3Rpb24oKXtyZXR1cm4genQoImZ1bmN0aW9uIj09PXR5cGVvZiBlP2UuY2FsbCh0aGlzLHRoaXMpOmUsImZ1bmN0aW9uIj09PXR5cGVvZiB0P3QuY2FsbCh0aGlzLHRoaXMpOnQpfTplOnR9ZnVuY3Rpb24gUnQodCxlKXtyZXR1cm4gZT90P3QuY29uY2F0KGUpOkFycmF5LmlzQXJyYXkoZSk/ZTpbZV06dH1mdW5jdGlvbiBOdCh0LGUsaSxuKXt2YXIgcj1PYmplY3QuY3JlYXRlKHR8fG51bGwpO3JldHVybiBlP1QocixlKTpyfUl0LmRhdGE9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBpP0J0KHQsZSxpKTplJiYiZnVuY3Rpb24iIT09dHlwZW9mIGU/dDpCdCh0LGUpfSxHLmZvckVhY2goKGZ1bmN0aW9uKHQpe0l0W3RdPVJ0fSkpLE4uZm9yRWFjaCgoZnVuY3Rpb24odCl7SXRbdCsicyJdPU50fSkpLEl0LndhdGNoPWZ1bmN0aW9uKHQsZSxpLG4pe2lmKHQ9PT1pdCYmKHQ9dm9pZCAwKSxlPT09aXQmJihlPXZvaWQgMCksIWUpcmV0dXJuIE9iamVjdC5jcmVhdGUodHx8bnVsbCk7aWYoIXQpcmV0dXJuIGU7dmFyIHI9e307Zm9yKHZhciBvIGluIFQocix0KSxlKXt2YXIgYT1yW29dLHM9ZVtvXTthJiYhQXJyYXkuaXNBcnJheShhKSYmKGE9W2FdKSxyW29dPWE/YS5jb25jYXQocyk6QXJyYXkuaXNBcnJheShzKT9zOltzXX1yZXR1cm4gcn0sSXQucHJvcHM9SXQubWV0aG9kcz1JdC5pbmplY3Q9SXQuY29tcHV0ZWQ9ZnVuY3Rpb24odCxlLGksbil7aWYoIXQpcmV0dXJuIGU7dmFyIHI9T2JqZWN0LmNyZWF0ZShudWxsKTtyZXR1cm4gVChyLHQpLGUmJlQocixlKSxyfSxJdC5wcm92aWRlPUJ0O3ZhciBHdD1mdW5jdGlvbih0LGUpe3JldHVybiB2b2lkIDA9PT1lP3Q6ZX07ZnVuY3Rpb24gRnQodCxlKXt2YXIgaT10LnByb3BzO2lmKGkpe3ZhciBuLHIsbyxhPXt9O2lmKEFycmF5LmlzQXJyYXkoaSkpe249aS5sZW5ndGg7d2hpbGUobi0tKXI9aVtuXSwic3RyaW5nIj09PXR5cGVvZiByJiYobz13KHIpLGFbb109e3R5cGU6bnVsbH0pfWVsc2UgaWYobChpKSlmb3IodmFyIHMgaW4gaSlyPWlbc10sbz13KHMpLGFbb109bChyKT9yOnt0eXBlOnJ9O2Vsc2UgMDt0LnByb3BzPWF9fWZ1bmN0aW9uIEh0KHQsZSl7dmFyIGk9dC5pbmplY3Q7aWYoaSl7dmFyIG49dC5pbmplY3Q9e307aWYoQXJyYXkuaXNBcnJheShpKSlmb3IodmFyIHI9MDtyPGkubGVuZ3RoO3IrKyluW2lbcl1dPXtmcm9tOmlbcl19O2Vsc2UgaWYobChpKSlmb3IodmFyIG8gaW4gaSl7dmFyIGE9aVtvXTtuW29dPWwoYSk/VCh7ZnJvbTpvfSxhKTp7ZnJvbTphfX1lbHNlIDB9fWZ1bmN0aW9uIFd0KHQpe3ZhciBlPXQuZGlyZWN0aXZlcztpZihlKWZvcih2YXIgaSBpbiBlKXt2YXIgbj1lW2ldOyJmdW5jdGlvbiI9PT10eXBlb2YgbiYmKGVbaV09e2JpbmQ6bix1cGRhdGU6bn0pfX1mdW5jdGlvbiBVdCh0LGUsaSl7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBlJiYoZT1lLm9wdGlvbnMpLEZ0KGUsaSksSHQoZSxpKSxXdChlKSwhZS5fYmFzZSYmKGUuZXh0ZW5kcyYmKHQ9VXQodCxlLmV4dGVuZHMsaSkpLGUubWl4aW5zKSlmb3IodmFyIG49MCxyPWUubWl4aW5zLmxlbmd0aDtuPHI7bisrKXQ9VXQodCxlLm1peGluc1tuXSxpKTt2YXIgbyxhPXt9O2ZvcihvIGluIHQpcyhvKTtmb3IobyBpbiBlKV8odCxvKXx8cyhvKTtmdW5jdGlvbiBzKG4pe3ZhciByPUl0W25dfHxHdDthW25dPXIodFtuXSxlW25dLGksbil9cmV0dXJuIGF9ZnVuY3Rpb24gWHQodCxlLGksbil7aWYoInN0cmluZyI9PT10eXBlb2YgaSl7dmFyIHI9dFtlXTtpZihfKHIsaSkpcmV0dXJuIHJbaV07dmFyIG89dyhpKTtpZihfKHIsbykpcmV0dXJuIHJbb107dmFyIGE9ayhvKTtpZihfKHIsYSkpcmV0dXJuIHJbYV07dmFyIHM9cltpXXx8cltvXXx8clthXTtyZXR1cm4gc319ZnVuY3Rpb24gVnQodCxlLGksbil7dmFyIHI9ZVt0XSxvPSFfKGksdCksYT1pW3RdLHM9WnQoQm9vbGVhbixyLnR5cGUpO2lmKHM+LTEpaWYobyYmIV8ociwiZGVmYXVsdCIpKWE9ITE7ZWxzZSBpZigiIj09PWF8fGE9PT1TKHQpKXt2YXIgYz1adChTdHJpbmcsci50eXBlKTsoYzwwfHxzPGMpJiYoYT0hMCl9aWYodm9pZCAwPT09YSl7YT1ZdChuLHIsdCk7dmFyIGg9U3Q7QXQoITApLFR0KGEpLEF0KGgpfXJldHVybiBhfWZ1bmN0aW9uIFl0KHQsZSxpKXtpZihfKGUsImRlZmF1bHQiKSl7dmFyIG49ZS5kZWZhdWx0O3JldHVybiB0JiZ0LiRvcHRpb25zLnByb3BzRGF0YSYmdm9pZCAwPT09dC4kb3B0aW9ucy5wcm9wc0RhdGFbaV0mJnZvaWQgMCE9PXQuX3Byb3BzW2ldP3QuX3Byb3BzW2ldOiJmdW5jdGlvbiI9PT10eXBlb2YgbiYmIkZ1bmN0aW9uIiE9PSR0KGUudHlwZSk/bi5jYWxsKHQpOm59fWZ1bmN0aW9uICR0KHQpe3ZhciBlPXQmJnQudG9TdHJpbmcoKS5tYXRjaCgvXlxzKmZ1bmN0aW9uIChcdyspLyk7cmV0dXJuIGU/ZVsxXToiIn1mdW5jdGlvbiBLdCh0LGUpe3JldHVybiAkdCh0KT09PSR0KGUpfWZ1bmN0aW9uIFp0KHQsZSl7aWYoIUFycmF5LmlzQXJyYXkoZSkpcmV0dXJuIEt0KGUsdCk/MDotMTtmb3IodmFyIGk9MCxuPWUubGVuZ3RoO2k8bjtpKyspaWYoS3QoZVtpXSx0KSlyZXR1cm4gaTtyZXR1cm4tMX1mdW5jdGlvbiBxdCh0LGUsaSl7aWYoZSl7dmFyIG49ZTt3aGlsZShuPW4uJHBhcmVudCl7dmFyIHI9bi4kb3B0aW9ucy5lcnJvckNhcHR1cmVkO2lmKHIpZm9yKHZhciBvPTA7bzxyLmxlbmd0aDtvKyspdHJ5e3ZhciBhPSExPT09cltvXS5jYWxsKG4sdCxlLGkpO2lmKGEpcmV0dXJufWNhdGNoKHNhKXtKdChzYSxuLCJlcnJvckNhcHR1cmVkIGhvb2siKX19fUp0KHQsZSxpKX1mdW5jdGlvbiBKdCh0LGUsaSl7aWYoRi5lcnJvckhhbmRsZXIpdHJ5e3JldHVybiBGLmVycm9ySGFuZGxlci5jYWxsKG51bGwsdCxlLGkpfWNhdGNoKHNhKXtRdChzYSxudWxsLCJjb25maWcuZXJyb3JIYW5kbGVyIil9UXQodCxlLGkpfWZ1bmN0aW9uIFF0KHQsZSxpKXtpZighJCYmIUt8fCJ1bmRlZmluZWQiPT09dHlwZW9mIGNvbnNvbGUpdGhyb3cgdDtjb25zb2xlLmVycm9yKHQpfXZhciB0ZSxlZSxpZT1bXSxuZT0hMTtmdW5jdGlvbiByZSgpe25lPSExO3ZhciB0PWllLnNsaWNlKDApO2llLmxlbmd0aD0wO2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7ZSsrKXRbZV0oKX12YXIgb2U9ITE7aWYoInVuZGVmaW5lZCIhPT10eXBlb2Ygc2V0SW1tZWRpYXRlJiZzdChzZXRJbW1lZGlhdGUpKWVlPWZ1bmN0aW9uKCl7c2V0SW1tZWRpYXRlKHJlKX07ZWxzZSBpZigidW5kZWZpbmVkIj09PXR5cGVvZiBNZXNzYWdlQ2hhbm5lbHx8IXN0KE1lc3NhZ2VDaGFubmVsKSYmIltvYmplY3QgTWVzc2FnZUNoYW5uZWxDb25zdHJ1Y3Rvcl0iIT09TWVzc2FnZUNoYW5uZWwudG9TdHJpbmcoKSllZT1mdW5jdGlvbigpe3NldFRpbWVvdXQocmUsMCl9O2Vsc2V7dmFyIGFlPW5ldyBNZXNzYWdlQ2hhbm5lbCxzZT1hZS5wb3J0MjthZS5wb3J0MS5vbm1lc3NhZ2U9cmUsZWU9ZnVuY3Rpb24oKXtzZS5wb3N0TWVzc2FnZSgxKX19aWYoInVuZGVmaW5lZCIhPT10eXBlb2YgUHJvbWlzZSYmc3QoUHJvbWlzZSkpe3ZhciBjZT1Qcm9taXNlLnJlc29sdmUoKTt0ZT1mdW5jdGlvbigpe2NlLnRoZW4ocmUpLGV0JiZzZXRUaW1lb3V0KEwpfX1lbHNlIHRlPWVlO2Z1bmN0aW9uIGhlKHQpe3JldHVybiB0Ll93aXRoVGFza3x8KHQuX3dpdGhUYXNrPWZ1bmN0aW9uKCl7b2U9ITA7dHJ5e3JldHVybiB0LmFwcGx5KG51bGwsYXJndW1lbnRzKX1maW5hbGx5e29lPSExfX0pfWZ1bmN0aW9uIGxlKHQsZSl7dmFyIGk7aWYoaWUucHVzaCgoZnVuY3Rpb24oKXtpZih0KXRyeXt0LmNhbGwoZSl9Y2F0Y2goc2Epe3F0KHNhLGUsIm5leHRUaWNrIil9ZWxzZSBpJiZpKGUpfSkpLG5lfHwobmU9ITAsb2U/ZWUoKTp0ZSgpKSwhdCYmInVuZGVmaW5lZCIhPT10eXBlb2YgUHJvbWlzZSlyZXR1cm4gbmV3IFByb21pc2UoKGZ1bmN0aW9uKHQpe2k9dH0pKX12YXIgcGU9bmV3IGN0O2Z1bmN0aW9uIGRlKHQpe3VlKHQscGUpLHBlLmNsZWFyKCl9ZnVuY3Rpb24gdWUodCxlKXt2YXIgaSxuLHI9QXJyYXkuaXNBcnJheSh0KTtpZighKCFyJiYhYyh0KXx8T2JqZWN0LmlzRnJvemVuKHQpfHx0IGluc3RhbmNlb2YgZ3QpKXtpZih0Ll9fb2JfXyl7dmFyIG89dC5fX29iX18uZGVwLmlkO2lmKGUuaGFzKG8pKXJldHVybjtlLmFkZChvKX1pZihyKXtpPXQubGVuZ3RoO3doaWxlKGktLSl1ZSh0W2ldLGUpfWVsc2V7bj1PYmplY3Qua2V5cyh0KSxpPW4ubGVuZ3RoO3doaWxlKGktLSl1ZSh0W25baV1dLGUpfX19dmFyIGZlLG1lPWIoKGZ1bmN0aW9uKHQpe3ZhciBlPSImIj09PXQuY2hhckF0KDApO3Q9ZT90LnNsaWNlKDEpOnQ7dmFyIGk9In4iPT09dC5jaGFyQXQoMCk7dD1pP3Quc2xpY2UoMSk6dDt2YXIgbj0iISI9PT10LmNoYXJBdCgwKTtyZXR1cm4gdD1uP3Quc2xpY2UoMSk6dCx7bmFtZTp0LG9uY2U6aSxjYXB0dXJlOm4scGFzc2l2ZTplfX0pKTtmdW5jdGlvbiBnZSh0KXtmdW5jdGlvbiBlKCl7dmFyIHQ9YXJndW1lbnRzLGk9ZS5mbnM7aWYoIUFycmF5LmlzQXJyYXkoaSkpcmV0dXJuIGkuYXBwbHkobnVsbCxhcmd1bWVudHMpO2Zvcih2YXIgbj1pLnNsaWNlKCkscj0wO3I8bi5sZW5ndGg7cisrKW5bcl0uYXBwbHkobnVsbCx0KX1yZXR1cm4gZS5mbnM9dCxlfWZ1bmN0aW9uIHZlKHQsZSxpLHIsYSxzKXt2YXIgYyxoLGwscDtmb3IoYyBpbiB0KWg9dFtjXSxsPWVbY10scD1tZShjKSxuKGgpfHwobihsKT8obihoLmZucykmJihoPXRbY109Z2UoaCkpLG8ocC5vbmNlKSYmKGg9dFtjXT1hKHAubmFtZSxoLHAuY2FwdHVyZSkpLGkocC5uYW1lLGgscC5jYXB0dXJlLHAucGFzc2l2ZSxwLnBhcmFtcykpOmghPT1sJiYobC5mbnM9aCx0W2NdPWwpKTtmb3IoYyBpbiBlKW4odFtjXSkmJihwPW1lKGMpLHIocC5uYW1lLGVbY10scC5jYXB0dXJlKSl9ZnVuY3Rpb24geWUodCxlLGkpe3ZhciBhO3QgaW5zdGFuY2VvZiBndCYmKHQ9dC5kYXRhLmhvb2t8fCh0LmRhdGEuaG9vaz17fSkpO3ZhciBzPXRbZV07ZnVuY3Rpb24gYygpe2kuYXBwbHkodGhpcyxhcmd1bWVudHMpLHYoYS5mbnMsYyl9bihzKT9hPWdlKFtjXSk6cihzLmZucykmJm8ocy5tZXJnZWQpPyhhPXMsYS5mbnMucHVzaChjKSk6YT1nZShbcyxjXSksYS5tZXJnZWQ9ITAsdFtlXT1hfWZ1bmN0aW9uIF9lKHQsZSxpKXt2YXIgbz1lLm9wdGlvbnMucHJvcHM7aWYoIW4obykpe3ZhciBhPXt9LHM9dC5hdHRycyxjPXQucHJvcHM7aWYocihzKXx8cihjKSlmb3IodmFyIGggaW4gbyl7dmFyIGw9UyhoKTtiZShhLGMsaCxsLCEwKXx8YmUoYSxzLGgsbCwhMSl9cmV0dXJuIGF9fWZ1bmN0aW9uIGJlKHQsZSxpLG4sbyl7aWYocihlKSl7aWYoXyhlLGkpKXJldHVybiB0W2ldPWVbaV0sb3x8ZGVsZXRlIGVbaV0sITA7aWYoXyhlLG4pKXJldHVybiB0W2ldPWVbbl0sb3x8ZGVsZXRlIGVbbl0sITB9cmV0dXJuITF9ZnVuY3Rpb24geGUodCl7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspaWYoQXJyYXkuaXNBcnJheSh0W2VdKSlyZXR1cm4gQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSx0KTtyZXR1cm4gdH1mdW5jdGlvbiB3ZSh0KXtyZXR1cm4gcyh0KT9bX3QodCldOkFycmF5LmlzQXJyYXkodCk/Q2UodCk6dm9pZCAwfWZ1bmN0aW9uIGtlKHQpe3JldHVybiByKHQpJiZyKHQudGV4dCkmJmEodC5pc0NvbW1lbnQpfWZ1bmN0aW9uIENlKHQsZSl7dmFyIGksYSxjLGgsbD1bXTtmb3IoaT0wO2k8dC5sZW5ndGg7aSsrKWE9dFtpXSxuKGEpfHwiYm9vbGVhbiI9PT10eXBlb2YgYXx8KGM9bC5sZW5ndGgtMSxoPWxbY10sQXJyYXkuaXNBcnJheShhKT9hLmxlbmd0aD4wJiYoYT1DZShhLChlfHwiIikrIl8iK2kpLGtlKGFbMF0pJiZrZShoKSYmKGxbY109X3QoaC50ZXh0K2FbMF0udGV4dCksYS5zaGlmdCgpKSxsLnB1c2guYXBwbHkobCxhKSk6cyhhKT9rZShoKT9sW2NdPV90KGgudGV4dCthKToiIiE9PWEmJmwucHVzaChfdChhKSk6a2UoYSkmJmtlKGgpP2xbY109X3QoaC50ZXh0K2EudGV4dCk6KG8odC5faXNWTGlzdCkmJnIoYS50YWcpJiZuKGEua2V5KSYmcihlKSYmKGEua2V5PSJfX3ZsaXN0IitlKyJfIitpKyJfXyIpLGwucHVzaChhKSkpO3JldHVybiBsfWZ1bmN0aW9uIFNlKHQsZSl7cmV0dXJuKHQuX19lc01vZHVsZXx8aHQmJiJNb2R1bGUiPT09dFtTeW1ib2wudG9TdHJpbmdUYWddKSYmKHQ9dC5kZWZhdWx0KSxjKHQpP2UuZXh0ZW5kKHQpOnR9ZnVuY3Rpb24gQWUodCxlLGksbixyKXt2YXIgbz15dCgpO3JldHVybiBvLmFzeW5jRmFjdG9yeT10LG8uYXN5bmNNZXRhPXtkYXRhOmUsY29udGV4dDppLGNoaWxkcmVuOm4sdGFnOnJ9LG99ZnVuY3Rpb24gTWUodCxlLGkpe2lmKG8odC5lcnJvcikmJnIodC5lcnJvckNvbXApKXJldHVybiB0LmVycm9yQ29tcDtpZihyKHQucmVzb2x2ZWQpKXJldHVybiB0LnJlc29sdmVkO2lmKG8odC5sb2FkaW5nKSYmcih0LmxvYWRpbmdDb21wKSlyZXR1cm4gdC5sb2FkaW5nQ29tcDtpZighcih0LmNvbnRleHRzKSl7dmFyIGE9dC5jb250ZXh0cz1baV0scz0hMCxoPWZ1bmN0aW9uKHQpe2Zvcih2YXIgZT0wLGk9YS5sZW5ndGg7ZTxpO2UrKylhW2VdLiRmb3JjZVVwZGF0ZSgpO3QmJihhLmxlbmd0aD0wKX0sbD1CKChmdW5jdGlvbihpKXt0LnJlc29sdmVkPVNlKGksZSksc3x8aCghMCl9KSkscD1CKChmdW5jdGlvbihlKXtyKHQuZXJyb3JDb21wKSYmKHQuZXJyb3I9ITAsaCghMCkpfSkpLGQ9dChsLHApO3JldHVybiBjKGQpJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBkLnRoZW4/bih0LnJlc29sdmVkKSYmZC50aGVuKGwscCk6cihkLmNvbXBvbmVudCkmJiJmdW5jdGlvbiI9PT10eXBlb2YgZC5jb21wb25lbnQudGhlbiYmKGQuY29tcG9uZW50LnRoZW4obCxwKSxyKGQuZXJyb3IpJiYodC5lcnJvckNvbXA9U2UoZC5lcnJvcixlKSkscihkLmxvYWRpbmcpJiYodC5sb2FkaW5nQ29tcD1TZShkLmxvYWRpbmcsZSksMD09PWQuZGVsYXk/dC5sb2FkaW5nPSEwOnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bih0LnJlc29sdmVkKSYmbih0LmVycm9yKSYmKHQubG9hZGluZz0hMCxoKCExKSl9KSxkLmRlbGF5fHwyMDApKSxyKGQudGltZW91dCkmJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7bih0LnJlc29sdmVkKSYmcChudWxsKX0pLGQudGltZW91dCkpKSxzPSExLHQubG9hZGluZz90LmxvYWRpbmdDb21wOnQucmVzb2x2ZWR9dC5jb250ZXh0cy5wdXNoKGkpfWZ1bmN0aW9uIFBlKHQpe3JldHVybiB0LmlzQ29tbWVudCYmdC5hc3luY0ZhY3Rvcnl9ZnVuY3Rpb24gT2UodCl7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl7dmFyIGk9dFtlXTtpZihyKGkpJiYocihpLmNvbXBvbmVudE9wdGlvbnMpfHxQZShpKSkpcmV0dXJuIGl9fWZ1bmN0aW9uIFRlKHQpe3QuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLHQuX2hhc0hvb2tFdmVudD0hMTt2YXIgZT10LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7ZSYmRGUodCxlKX1mdW5jdGlvbiBFZSh0LGUpe2ZlLiRvbih0LGUpfWZ1bmN0aW9uIExlKHQsZSl7ZmUuJG9mZih0LGUpfWZ1bmN0aW9uIGplKHQsZSl7dmFyIGk9ZmU7cmV0dXJuIGZ1bmN0aW9uIG4oKXt2YXIgcj1lLmFwcGx5KG51bGwsYXJndW1lbnRzKTtudWxsIT09ciYmaS4kb2ZmKHQsbil9fWZ1bmN0aW9uIERlKHQsZSxpKXtmZT10LHZlKGUsaXx8e30sRWUsTGUsamUsdCksZmU9dm9pZCAwfWZ1bmN0aW9uIEllKHQpe3ZhciBlPS9eaG9vazovO3QucHJvdG90eXBlLiRvbj1mdW5jdGlvbih0LGkpe3ZhciBuPXRoaXM7aWYoQXJyYXkuaXNBcnJheSh0KSlmb3IodmFyIHI9MCxvPXQubGVuZ3RoO3I8bztyKyspbi4kb24odFtyXSxpKTtlbHNlKG4uX2V2ZW50c1t0XXx8KG4uX2V2ZW50c1t0XT1bXSkpLnB1c2goaSksZS50ZXN0KHQpJiYobi5faGFzSG9va0V2ZW50PSEwKTtyZXR1cm4gbn0sdC5wcm90b3R5cGUuJG9uY2U9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzO2Z1bmN0aW9uIG4oKXtpLiRvZmYodCxuKSxlLmFwcGx5KGksYXJndW1lbnRzKX1yZXR1cm4gbi5mbj1lLGkuJG9uKHQsbiksaX0sdC5wcm90b3R5cGUuJG9mZj1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXM7aWYoIWFyZ3VtZW50cy5sZW5ndGgpcmV0dXJuIGkuX2V2ZW50cz1PYmplY3QuY3JlYXRlKG51bGwpLGk7aWYoQXJyYXkuaXNBcnJheSh0KSl7Zm9yKHZhciBuPTAscj10Lmxlbmd0aDtuPHI7bisrKWkuJG9mZih0W25dLGUpO3JldHVybiBpfXZhciBvPWkuX2V2ZW50c1t0XTtpZighbylyZXR1cm4gaTtpZighZSlyZXR1cm4gaS5fZXZlbnRzW3RdPW51bGwsaTtpZihlKXt2YXIgYSxzPW8ubGVuZ3RoO3doaWxlKHMtLSlpZihhPW9bc10sYT09PWV8fGEuZm49PT1lKXtvLnNwbGljZShzLDEpO2JyZWFrfX1yZXR1cm4gaX0sdC5wcm90b3R5cGUuJGVtaXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPWUuX2V2ZW50c1t0XTtpZihpKXtpPWkubGVuZ3RoPjE/TyhpKTppO2Zvcih2YXIgbj1PKGFyZ3VtZW50cywxKSxyPTAsbz1pLmxlbmd0aDtyPG87cisrKXRyeXtpW3JdLmFwcGx5KGUsbil9Y2F0Y2goc2Epe3F0KHNhLGUsJ2V2ZW50IGhhbmRsZXIgZm9yICInK3QrJyInKX19cmV0dXJuIGV9fWZ1bmN0aW9uIHplKHQsZSl7dmFyIGk9e307aWYoIXQpcmV0dXJuIGk7Zm9yKHZhciBuPTAscj10Lmxlbmd0aDtuPHI7bisrKXt2YXIgbz10W25dLGE9by5kYXRhO2lmKGEmJmEuYXR0cnMmJmEuYXR0cnMuc2xvdCYmZGVsZXRlIGEuYXR0cnMuc2xvdCxvLmNvbnRleHQhPT1lJiZvLmZuQ29udGV4dCE9PWV8fCFhfHxudWxsPT1hLnNsb3QpKGkuZGVmYXVsdHx8KGkuZGVmYXVsdD1bXSkpLnB1c2gobyk7ZWxzZXt2YXIgcz1hLnNsb3QsYz1pW3NdfHwoaVtzXT1bXSk7InRlbXBsYXRlIj09PW8udGFnP2MucHVzaC5hcHBseShjLG8uY2hpbGRyZW58fFtdKTpjLnB1c2gobyl9fWZvcih2YXIgaCBpbiBpKWlbaF0uZXZlcnkoQmUpJiZkZWxldGUgaVtoXTtyZXR1cm4gaX1mdW5jdGlvbiBCZSh0KXtyZXR1cm4gdC5pc0NvbW1lbnQmJiF0LmFzeW5jRmFjdG9yeXx8IiAiPT09dC50ZXh0fWZ1bmN0aW9uIFJlKHQsZSl7ZT1lfHx7fTtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krKylBcnJheS5pc0FycmF5KHRbaV0pP1JlKHRbaV0sZSk6ZVt0W2ldLmtleV09dFtpXS5mbjtyZXR1cm4gZX12YXIgTmU9bnVsbDtmdW5jdGlvbiBHZSh0KXt2YXIgZT1OZTtyZXR1cm4gTmU9dCxmdW5jdGlvbigpe05lPWV9fWZ1bmN0aW9uIEZlKHQpe3ZhciBlPXQuJG9wdGlvbnMsaT1lLnBhcmVudDtpZihpJiYhZS5hYnN0cmFjdCl7d2hpbGUoaS4kb3B0aW9ucy5hYnN0cmFjdCYmaS4kcGFyZW50KWk9aS4kcGFyZW50O2kuJGNoaWxkcmVuLnB1c2godCl9dC4kcGFyZW50PWksdC4kcm9vdD1pP2kuJHJvb3Q6dCx0LiRjaGlsZHJlbj1bXSx0LiRyZWZzPXt9LHQuX3dhdGNoZXI9bnVsbCx0Ll9pbmFjdGl2ZT1udWxsLHQuX2RpcmVjdEluYWN0aXZlPSExLHQuX2lzTW91bnRlZD0hMSx0Ll9pc0Rlc3Ryb3llZD0hMSx0Ll9pc0JlaW5nRGVzdHJveWVkPSExfWZ1bmN0aW9uIEhlKHQpe3QucHJvdG90eXBlLl91cGRhdGU9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLG49aS4kZWwscj1pLl92bm9kZSxvPUdlKGkpO2kuX3Zub2RlPXQsaS4kZWw9cj9pLl9fcGF0Y2hfXyhyLHQpOmkuX19wYXRjaF9fKGkuJGVsLHQsZSwhMSksbygpLG4mJihuLl9fdnVlX189bnVsbCksaS4kZWwmJihpLiRlbC5fX3Z1ZV9fPWkpLGkuJHZub2RlJiZpLiRwYXJlbnQmJmkuJHZub2RlPT09aS4kcGFyZW50Ll92bm9kZSYmKGkuJHBhcmVudC4kZWw9aS4kZWwpfSx0LnByb3RvdHlwZS4kZm9yY2VVcGRhdGU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3QuX3dhdGNoZXImJnQuX3dhdGNoZXIudXBkYXRlKCl9LHQucHJvdG90eXBlLiRkZXN0cm95PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcztpZighdC5faXNCZWluZ0Rlc3Ryb3llZCl7JGUodCwiYmVmb3JlRGVzdHJveSIpLHQuX2lzQmVpbmdEZXN0cm95ZWQ9ITA7dmFyIGU9dC4kcGFyZW50OyFlfHxlLl9pc0JlaW5nRGVzdHJveWVkfHx0LiRvcHRpb25zLmFic3RyYWN0fHx2KGUuJGNoaWxkcmVuLHQpLHQuX3dhdGNoZXImJnQuX3dhdGNoZXIudGVhcmRvd24oKTt2YXIgaT10Ll93YXRjaGVycy5sZW5ndGg7d2hpbGUoaS0tKXQuX3dhdGNoZXJzW2ldLnRlYXJkb3duKCk7dC5fZGF0YS5fX29iX18mJnQuX2RhdGEuX19vYl9fLnZtQ291bnQtLSx0Ll9pc0Rlc3Ryb3llZD0hMCx0Ll9fcGF0Y2hfXyh0Ll92bm9kZSxudWxsKSwkZSh0LCJkZXN0cm95ZWQiKSx0LiRvZmYoKSx0LiRlbCYmKHQuJGVsLl9fdnVlX189bnVsbCksdC4kdm5vZGUmJih0LiR2bm9kZS5wYXJlbnQ9bnVsbCl9fX1mdW5jdGlvbiBXZSh0LGUsaSl7dmFyIG47cmV0dXJuIHQuJGVsPWUsdC4kb3B0aW9ucy5yZW5kZXJ8fCh0LiRvcHRpb25zLnJlbmRlcj15dCksJGUodCwiYmVmb3JlTW91bnQiKSxuPWZ1bmN0aW9uKCl7dC5fdXBkYXRlKHQuX3JlbmRlcigpLGkpfSxuZXcgY2kodCxuLEwse2JlZm9yZTpmdW5jdGlvbigpe3QuX2lzTW91bnRlZCYmIXQuX2lzRGVzdHJveWVkJiYkZSh0LCJiZWZvcmVVcGRhdGUiKX19LCEwKSxpPSExLG51bGw9PXQuJHZub2RlJiYodC5faXNNb3VudGVkPSEwLCRlKHQsIm1vdW50ZWQiKSksdH1mdW5jdGlvbiBVZSh0LGUsbixyLG8pe3ZhciBhPSEhKG98fHQuJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVufHxyLmRhdGEuc2NvcGVkU2xvdHN8fHQuJHNjb3BlZFNsb3RzIT09aSk7aWYodC4kb3B0aW9ucy5fcGFyZW50Vm5vZGU9cix0LiR2bm9kZT1yLHQuX3Zub2RlJiYodC5fdm5vZGUucGFyZW50PXIpLHQuJG9wdGlvbnMuX3JlbmRlckNoaWxkcmVuPW8sdC4kYXR0cnM9ci5kYXRhLmF0dHJzfHxpLHQuJGxpc3RlbmVycz1ufHxpLGUmJnQuJG9wdGlvbnMucHJvcHMpe0F0KCExKTtmb3IodmFyIHM9dC5fcHJvcHMsYz10LiRvcHRpb25zLl9wcm9wS2V5c3x8W10saD0wO2g8Yy5sZW5ndGg7aCsrKXt2YXIgbD1jW2hdLHA9dC4kb3B0aW9ucy5wcm9wcztzW2xdPVZ0KGwscCxlLHQpfUF0KCEwKSx0LiRvcHRpb25zLnByb3BzRGF0YT1lfW49bnx8aTt2YXIgZD10LiRvcHRpb25zLl9wYXJlbnRMaXN0ZW5lcnM7dC4kb3B0aW9ucy5fcGFyZW50TGlzdGVuZXJzPW4sRGUodCxuLGQpLGEmJih0LiRzbG90cz16ZShvLHIuY29udGV4dCksdC4kZm9yY2VVcGRhdGUoKSl9ZnVuY3Rpb24gWGUodCl7d2hpbGUodCYmKHQ9dC4kcGFyZW50KSlpZih0Ll9pbmFjdGl2ZSlyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBWZSh0LGUpe2lmKGUpe2lmKHQuX2RpcmVjdEluYWN0aXZlPSExLFhlKHQpKXJldHVybn1lbHNlIGlmKHQuX2RpcmVjdEluYWN0aXZlKXJldHVybjtpZih0Ll9pbmFjdGl2ZXx8bnVsbD09PXQuX2luYWN0aXZlKXt0Ll9pbmFjdGl2ZT0hMTtmb3IodmFyIGk9MDtpPHQuJGNoaWxkcmVuLmxlbmd0aDtpKyspVmUodC4kY2hpbGRyZW5baV0pOyRlKHQsImFjdGl2YXRlZCIpfX1mdW5jdGlvbiBZZSh0LGUpe2lmKCghZXx8KHQuX2RpcmVjdEluYWN0aXZlPSEwLCFYZSh0KSkpJiYhdC5faW5hY3RpdmUpe3QuX2luYWN0aXZlPSEwO2Zvcih2YXIgaT0wO2k8dC4kY2hpbGRyZW4ubGVuZ3RoO2krKylZZSh0LiRjaGlsZHJlbltpXSk7JGUodCwiZGVhY3RpdmF0ZWQiKX19ZnVuY3Rpb24gJGUodCxlKXtmdCgpO3ZhciBpPXQuJG9wdGlvbnNbZV07aWYoaSlmb3IodmFyIG49MCxyPWkubGVuZ3RoO248cjtuKyspdHJ5e2lbbl0uY2FsbCh0KX1jYXRjaChzYSl7cXQoc2EsdCxlKyIgaG9vayIpfXQuX2hhc0hvb2tFdmVudCYmdC4kZW1pdCgiaG9vazoiK2UpLG10KCl9dmFyIEtlPVtdLFplPVtdLHFlPXt9LEplPSExLFFlPSExLHRpPTA7ZnVuY3Rpb24gZWkoKXt0aT1LZS5sZW5ndGg9WmUubGVuZ3RoPTAscWU9e30sSmU9UWU9ITF9ZnVuY3Rpb24gaWkoKXt2YXIgdCxlO2ZvcihRZT0hMCxLZS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0LmlkLWUuaWR9KSksdGk9MDt0aTxLZS5sZW5ndGg7dGkrKyl0PUtlW3RpXSx0LmJlZm9yZSYmdC5iZWZvcmUoKSxlPXQuaWQscWVbZV09bnVsbCx0LnJ1bigpO3ZhciBpPVplLnNsaWNlKCksbj1LZS5zbGljZSgpO2VpKCksb2koaSksbmkobiksYXQmJkYuZGV2dG9vbHMmJmF0LmVtaXQoImZsdXNoIil9ZnVuY3Rpb24gbmkodCl7dmFyIGU9dC5sZW5ndGg7d2hpbGUoZS0tKXt2YXIgaT10W2VdLG49aS52bTtuLl93YXRjaGVyPT09aSYmbi5faXNNb3VudGVkJiYhbi5faXNEZXN0cm95ZWQmJiRlKG4sInVwZGF0ZWQiKX19ZnVuY3Rpb24gcmkodCl7dC5faW5hY3RpdmU9ITEsWmUucHVzaCh0KX1mdW5jdGlvbiBvaSh0KXtmb3IodmFyIGU9MDtlPHQubGVuZ3RoO2UrKyl0W2VdLl9pbmFjdGl2ZT0hMCxWZSh0W2VdLCEwKX1mdW5jdGlvbiBhaSh0KXt2YXIgZT10LmlkO2lmKG51bGw9PXFlW2VdKXtpZihxZVtlXT0hMCxRZSl7dmFyIGk9S2UubGVuZ3RoLTE7d2hpbGUoaT50aSYmS2VbaV0uaWQ+dC5pZClpLS07S2Uuc3BsaWNlKGkrMSwwLHQpfWVsc2UgS2UucHVzaCh0KTtKZXx8KEplPSEwLGxlKGlpKSl9fXZhciBzaT0wLGNpPWZ1bmN0aW9uKHQsZSxpLG4scil7dGhpcy52bT10LHImJih0Ll93YXRjaGVyPXRoaXMpLHQuX3dhdGNoZXJzLnB1c2godGhpcyksbj8odGhpcy5kZWVwPSEhbi5kZWVwLHRoaXMudXNlcj0hIW4udXNlcix0aGlzLmxhenk9ISFuLmxhenksdGhpcy5zeW5jPSEhbi5zeW5jLHRoaXMuYmVmb3JlPW4uYmVmb3JlKTp0aGlzLmRlZXA9dGhpcy51c2VyPXRoaXMubGF6eT10aGlzLnN5bmM9ITEsdGhpcy5jYj1pLHRoaXMuaWQ9KytzaSx0aGlzLmFjdGl2ZT0hMCx0aGlzLmRpcnR5PXRoaXMubGF6eSx0aGlzLmRlcHM9W10sdGhpcy5uZXdEZXBzPVtdLHRoaXMuZGVwSWRzPW5ldyBjdCx0aGlzLm5ld0RlcElkcz1uZXcgY3QsdGhpcy5leHByZXNzaW9uPSIiLCJmdW5jdGlvbiI9PT10eXBlb2YgZT90aGlzLmdldHRlcj1lOih0aGlzLmdldHRlcj1YKGUpLHRoaXMuZ2V0dGVyfHwodGhpcy5nZXR0ZXI9TCkpLHRoaXMudmFsdWU9dGhpcy5sYXp5P3ZvaWQgMDp0aGlzLmdldCgpfTtjaS5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKCl7dmFyIHQ7ZnQodGhpcyk7dmFyIGU9dGhpcy52bTt0cnl7dD10aGlzLmdldHRlci5jYWxsKGUsZSl9Y2F0Y2goc2Epe2lmKCF0aGlzLnVzZXIpdGhyb3cgc2E7cXQoc2EsZSwnZ2V0dGVyIGZvciB3YXRjaGVyICInK3RoaXMuZXhwcmVzc2lvbisnIicpfWZpbmFsbHl7dGhpcy5kZWVwJiZkZSh0KSxtdCgpLHRoaXMuY2xlYW51cERlcHMoKX1yZXR1cm4gdH0sY2kucHJvdG90eXBlLmFkZERlcD1mdW5jdGlvbih0KXt2YXIgZT10LmlkO3RoaXMubmV3RGVwSWRzLmhhcyhlKXx8KHRoaXMubmV3RGVwSWRzLmFkZChlKSx0aGlzLm5ld0RlcHMucHVzaCh0KSx0aGlzLmRlcElkcy5oYXMoZSl8fHQuYWRkU3ViKHRoaXMpKX0sY2kucHJvdG90eXBlLmNsZWFudXBEZXBzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5kZXBzLmxlbmd0aDt3aGlsZSh0LS0pe3ZhciBlPXRoaXMuZGVwc1t0XTt0aGlzLm5ld0RlcElkcy5oYXMoZS5pZCl8fGUucmVtb3ZlU3ViKHRoaXMpfXZhciBpPXRoaXMuZGVwSWRzO3RoaXMuZGVwSWRzPXRoaXMubmV3RGVwSWRzLHRoaXMubmV3RGVwSWRzPWksdGhpcy5uZXdEZXBJZHMuY2xlYXIoKSxpPXRoaXMuZGVwcyx0aGlzLmRlcHM9dGhpcy5uZXdEZXBzLHRoaXMubmV3RGVwcz1pLHRoaXMubmV3RGVwcy5sZW5ndGg9MH0sY2kucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbigpe3RoaXMubGF6eT90aGlzLmRpcnR5PSEwOnRoaXMuc3luYz90aGlzLnJ1bigpOmFpKHRoaXMpfSxjaS5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKCl7aWYodGhpcy5hY3RpdmUpe3ZhciB0PXRoaXMuZ2V0KCk7aWYodCE9PXRoaXMudmFsdWV8fGModCl8fHRoaXMuZGVlcCl7dmFyIGU9dGhpcy52YWx1ZTtpZih0aGlzLnZhbHVlPXQsdGhpcy51c2VyKXRyeXt0aGlzLmNiLmNhbGwodGhpcy52bSx0LGUpfWNhdGNoKHNhKXtxdChzYSx0aGlzLnZtLCdjYWxsYmFjayBmb3Igd2F0Y2hlciAiJyt0aGlzLmV4cHJlc3Npb24rJyInKX1lbHNlIHRoaXMuY2IuY2FsbCh0aGlzLnZtLHQsZSl9fX0sY2kucHJvdG90eXBlLmV2YWx1YXRlPWZ1bmN0aW9uKCl7dGhpcy52YWx1ZT10aGlzLmdldCgpLHRoaXMuZGlydHk9ITF9LGNpLnByb3RvdHlwZS5kZXBlbmQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmRlcHMubGVuZ3RoO3doaWxlKHQtLSl0aGlzLmRlcHNbdF0uZGVwZW5kKCl9LGNpLnByb3RvdHlwZS50ZWFyZG93bj1mdW5jdGlvbigpe2lmKHRoaXMuYWN0aXZlKXt0aGlzLnZtLl9pc0JlaW5nRGVzdHJveWVkfHx2KHRoaXMudm0uX3dhdGNoZXJzLHRoaXMpO3ZhciB0PXRoaXMuZGVwcy5sZW5ndGg7d2hpbGUodC0tKXRoaXMuZGVwc1t0XS5yZW1vdmVTdWIodGhpcyk7dGhpcy5hY3RpdmU9ITF9fTt2YXIgaGk9e2VudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLGdldDpMLHNldDpMfTtmdW5jdGlvbiBsaSh0LGUsaSl7aGkuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXNbZV1baV19LGhpLnNldD1mdW5jdGlvbih0KXt0aGlzW2VdW2ldPXR9LE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGksaGkpfWZ1bmN0aW9uIHBpKHQpe3QuX3dhdGNoZXJzPVtdO3ZhciBlPXQuJG9wdGlvbnM7ZS5wcm9wcyYmZGkodCxlLnByb3BzKSxlLm1ldGhvZHMmJmJpKHQsZS5tZXRob2RzKSxlLmRhdGE/dWkodCk6VHQodC5fZGF0YT17fSwhMCksZS5jb21wdXRlZCYmZ2kodCxlLmNvbXB1dGVkKSxlLndhdGNoJiZlLndhdGNoIT09aXQmJnhpKHQsZS53YXRjaCl9ZnVuY3Rpb24gZGkodCxlKXt2YXIgaT10LiRvcHRpb25zLnByb3BzRGF0YXx8e30sbj10Ll9wcm9wcz17fSxyPXQuJG9wdGlvbnMuX3Byb3BLZXlzPVtdLG89IXQuJHBhcmVudDtvfHxBdCghMSk7dmFyIGE9ZnVuY3Rpb24obyl7ci5wdXNoKG8pO3ZhciBhPVZ0KG8sZSxpLHQpO0V0KG4sbyxhKSxvIGluIHR8fGxpKHQsIl9wcm9wcyIsbyl9O2Zvcih2YXIgcyBpbiBlKWEocyk7QXQoITApfWZ1bmN0aW9uIHVpKHQpe3ZhciBlPXQuJG9wdGlvbnMuZGF0YTtlPXQuX2RhdGE9ImZ1bmN0aW9uIj09PXR5cGVvZiBlP2ZpKGUsdCk6ZXx8e30sbChlKXx8KGU9e30pO3ZhciBpPU9iamVjdC5rZXlzKGUpLG49dC4kb3B0aW9ucy5wcm9wcyxyPSh0LiRvcHRpb25zLm1ldGhvZHMsaS5sZW5ndGgpO3doaWxlKHItLSl7dmFyIG89aVtyXTswLG4mJl8obixvKXx8SChvKXx8bGkodCwiX2RhdGEiLG8pfVR0KGUsITApfWZ1bmN0aW9uIGZpKHQsZSl7ZnQoKTt0cnl7cmV0dXJuIHQuY2FsbChlLGUpfWNhdGNoKHNhKXtyZXR1cm4gcXQoc2EsZSwiZGF0YSgpIikse319ZmluYWxseXttdCgpfX12YXIgbWk9e2xhenk6ITB9O2Z1bmN0aW9uIGdpKHQsZSl7dmFyIGk9dC5fY29tcHV0ZWRXYXRjaGVycz1PYmplY3QuY3JlYXRlKG51bGwpLG49b3QoKTtmb3IodmFyIHIgaW4gZSl7dmFyIG89ZVtyXSxhPSJmdW5jdGlvbiI9PT10eXBlb2Ygbz9vOm8uZ2V0OzAsbnx8KGlbcl09bmV3IGNpKHQsYXx8TCxMLG1pKSksciBpbiB0fHx2aSh0LHIsbyl9fWZ1bmN0aW9uIHZpKHQsZSxpKXt2YXIgbj0hb3QoKTsiZnVuY3Rpb24iPT09dHlwZW9mIGk/KGhpLmdldD1uP3lpKGUpOl9pKGkpLGhpLnNldD1MKTooaGkuZ2V0PWkuZ2V0P24mJiExIT09aS5jYWNoZT95aShlKTpfaShpLmdldCk6TCxoaS5zZXQ9aS5zZXR8fEwpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUsaGkpfWZ1bmN0aW9uIHlpKHQpe3JldHVybiBmdW5jdGlvbigpe3ZhciBlPXRoaXMuX2NvbXB1dGVkV2F0Y2hlcnMmJnRoaXMuX2NvbXB1dGVkV2F0Y2hlcnNbdF07aWYoZSlyZXR1cm4gZS5kaXJ0eSYmZS5ldmFsdWF0ZSgpLGR0LnRhcmdldCYmZS5kZXBlbmQoKSxlLnZhbHVlfX1mdW5jdGlvbiBfaSh0KXtyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5jYWxsKHRoaXMsdGhpcyl9fWZ1bmN0aW9uIGJpKHQsZSl7dC4kb3B0aW9ucy5wcm9wcztmb3IodmFyIGkgaW4gZSl0W2ldPSJmdW5jdGlvbiIhPT10eXBlb2YgZVtpXT9MOlAoZVtpXSx0KX1mdW5jdGlvbiB4aSh0LGUpe2Zvcih2YXIgaSBpbiBlKXt2YXIgbj1lW2ldO2lmKEFycmF5LmlzQXJyYXkobikpZm9yKHZhciByPTA7cjxuLmxlbmd0aDtyKyspd2kodCxpLG5bcl0pO2Vsc2Ugd2kodCxpLG4pfX1mdW5jdGlvbiB3aSh0LGUsaSxuKXtyZXR1cm4gbChpKSYmKG49aSxpPWkuaGFuZGxlciksInN0cmluZyI9PT10eXBlb2YgaSYmKGk9dFtpXSksdC4kd2F0Y2goZSxpLG4pfWZ1bmN0aW9uIGtpKHQpe3ZhciBlPXtnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZGF0YX19LGk9e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcm9wc319O09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwiJGRhdGEiLGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LnByb3RvdHlwZSwiJHByb3BzIixpKSx0LnByb3RvdHlwZS4kc2V0PUx0LHQucHJvdG90eXBlLiRkZWxldGU9anQsdC5wcm90b3R5cGUuJHdhdGNoPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzO2lmKGwoZSkpcmV0dXJuIHdpKG4sdCxlLGkpO2k9aXx8e30saS51c2VyPSEwO3ZhciByPW5ldyBjaShuLHQsZSxpKTtpZihpLmltbWVkaWF0ZSl0cnl7ZS5jYWxsKG4sci52YWx1ZSl9Y2F0Y2gobyl7cXQobyxuLCdjYWxsYmFjayBmb3IgaW1tZWRpYXRlIHdhdGNoZXIgIicrci5leHByZXNzaW9uKyciJyl9cmV0dXJuIGZ1bmN0aW9uKCl7ci50ZWFyZG93bigpfX19ZnVuY3Rpb24gQ2kodCl7dmFyIGU9dC4kb3B0aW9ucy5wcm92aWRlO2UmJih0Ll9wcm92aWRlZD0iZnVuY3Rpb24iPT09dHlwZW9mIGU/ZS5jYWxsKHQpOmUpfWZ1bmN0aW9uIFNpKHQpe3ZhciBlPUFpKHQuJG9wdGlvbnMuaW5qZWN0LHQpO2UmJihBdCghMSksT2JqZWN0LmtleXMoZSkuZm9yRWFjaCgoZnVuY3Rpb24oaSl7RXQodCxpLGVbaV0pfSkpLEF0KCEwKSl9ZnVuY3Rpb24gQWkodCxlKXtpZih0KXtmb3IodmFyIGk9T2JqZWN0LmNyZWF0ZShudWxsKSxuPWh0P1JlZmxlY3Qub3duS2V5cyh0KS5maWx0ZXIoKGZ1bmN0aW9uKGUpe3JldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSkuZW51bWVyYWJsZX0pKTpPYmplY3Qua2V5cyh0KSxyPTA7cjxuLmxlbmd0aDtyKyspe3ZhciBvPW5bcl0sYT10W29dLmZyb20scz1lO3doaWxlKHMpe2lmKHMuX3Byb3ZpZGVkJiZfKHMuX3Byb3ZpZGVkLGEpKXtpW29dPXMuX3Byb3ZpZGVkW2FdO2JyZWFrfXM9cy4kcGFyZW50fWlmKCFzKWlmKCJkZWZhdWx0ImluIHRbb10pe3ZhciBjPXRbb10uZGVmYXVsdDtpW29dPSJmdW5jdGlvbiI9PT10eXBlb2YgYz9jLmNhbGwoZSk6Y31lbHNlIDB9cmV0dXJuIGl9fWZ1bmN0aW9uIE1pKHQsZSl7dmFyIGksbixvLGEscztpZihBcnJheS5pc0FycmF5KHQpfHwic3RyaW5nIj09PXR5cGVvZiB0KWZvcihpPW5ldyBBcnJheSh0Lmxlbmd0aCksbj0wLG89dC5sZW5ndGg7bjxvO24rKylpW25dPWUodFtuXSxuKTtlbHNlIGlmKCJudW1iZXIiPT09dHlwZW9mIHQpZm9yKGk9bmV3IEFycmF5KHQpLG49MDtuPHQ7bisrKWlbbl09ZShuKzEsbik7ZWxzZSBpZihjKHQpKWZvcihhPU9iamVjdC5rZXlzKHQpLGk9bmV3IEFycmF5KGEubGVuZ3RoKSxuPTAsbz1hLmxlbmd0aDtuPG87bisrKXM9YVtuXSxpW25dPWUodFtzXSxzLG4pO3JldHVybiByKGkpfHwoaT1bXSksaS5faXNWTGlzdD0hMCxpfWZ1bmN0aW9uIFBpKHQsZSxpLG4pe3ZhciByLG89dGhpcy4kc2NvcGVkU2xvdHNbdF07bz8oaT1pfHx7fSxuJiYoaT1UKFQoe30sbiksaSkpLHI9byhpKXx8ZSk6cj10aGlzLiRzbG90c1t0XXx8ZTt2YXIgYT1pJiZpLnNsb3Q7cmV0dXJuIGE/dGhpcy4kY3JlYXRlRWxlbWVudCgidGVtcGxhdGUiLHtzbG90OmF9LHIpOnJ9ZnVuY3Rpb24gT2kodCl7cmV0dXJuIFh0KHRoaXMuJG9wdGlvbnMsImZpbHRlcnMiLHQsITApfHxEfWZ1bmN0aW9uIFRpKHQsZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/LTE9PT10LmluZGV4T2YoZSk6dCE9PWV9ZnVuY3Rpb24gRWkodCxlLGksbixyKXt2YXIgbz1GLmtleUNvZGVzW2VdfHxpO3JldHVybiByJiZuJiYhRi5rZXlDb2Rlc1tlXT9UaShyLG4pOm8/VGkobyx0KTpuP1MobikhPT1lOnZvaWQgMH1mdW5jdGlvbiBMaSh0LGUsaSxuLHIpe2lmKGkpaWYoYyhpKSl7dmFyIG87QXJyYXkuaXNBcnJheShpKSYmKGk9RShpKSk7dmFyIGE9ZnVuY3Rpb24oYSl7aWYoImNsYXNzIj09PWF8fCJzdHlsZSI9PT1hfHxnKGEpKW89dDtlbHNle3ZhciBzPXQuYXR0cnMmJnQuYXR0cnMudHlwZTtvPW58fEYubXVzdFVzZVByb3AoZSxzLGEpP3QuZG9tUHJvcHN8fCh0LmRvbVByb3BzPXt9KTp0LmF0dHJzfHwodC5hdHRycz17fSl9dmFyIGM9dyhhKTtpZighKGEgaW4gbykmJiEoYyBpbiBvKSYmKG9bYV09aVthXSxyKSl7dmFyIGg9dC5vbnx8KHQub249e30pO2hbInVwZGF0ZToiK2NdPWZ1bmN0aW9uKHQpe2lbYV09dH19fTtmb3IodmFyIHMgaW4gaSlhKHMpfWVsc2U7cmV0dXJuIHR9ZnVuY3Rpb24gamkodCxlKXt2YXIgaT10aGlzLl9zdGF0aWNUcmVlc3x8KHRoaXMuX3N0YXRpY1RyZWVzPVtdKSxuPWlbdF07cmV0dXJuIG4mJiFlP246KG49aVt0XT10aGlzLiRvcHRpb25zLnN0YXRpY1JlbmRlckZuc1t0XS5jYWxsKHRoaXMuX3JlbmRlclByb3h5LG51bGwsdGhpcyksSWkobiwiX19zdGF0aWNfXyIrdCwhMSksbil9ZnVuY3Rpb24gRGkodCxlLGkpe3JldHVybiBJaSh0LCJfX29uY2VfXyIrZSsoaT8iXyIraToiIiksITApLHR9ZnVuY3Rpb24gSWkodCxlLGkpe2lmKEFycmF5LmlzQXJyYXkodCkpZm9yKHZhciBuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXSYmInN0cmluZyIhPT10eXBlb2YgdFtuXSYmemkodFtuXSxlKyJfIituLGkpO2Vsc2UgemkodCxlLGkpfWZ1bmN0aW9uIHppKHQsZSxpKXt0LmlzU3RhdGljPSEwLHQua2V5PWUsdC5pc09uY2U9aX1mdW5jdGlvbiBCaSh0LGUpe2lmKGUpaWYobChlKSl7dmFyIGk9dC5vbj10Lm9uP1Qoe30sdC5vbik6e307Zm9yKHZhciBuIGluIGUpe3ZhciByPWlbbl0sbz1lW25dO2lbbl09cj9bXS5jb25jYXQocixvKTpvfX1lbHNlO3JldHVybiB0fWZ1bmN0aW9uIFJpKHQpe3QuX289RGksdC5fbj1mLHQuX3M9dSx0Ll9sPU1pLHQuX3Q9UGksdC5fcT1JLHQuX2k9eix0Ll9tPWppLHQuX2Y9T2ksdC5faz1FaSx0Ll9iPUxpLHQuX3Y9X3QsdC5fZT15dCx0Ll91PVJlLHQuX2c9Qml9ZnVuY3Rpb24gTmkodCxlLG4scixhKXt2YXIgcyxjPWEub3B0aW9ucztfKHIsIl91aWQiKT8ocz1PYmplY3QuY3JlYXRlKHIpLHMuX29yaWdpbmFsPXIpOihzPXIscj1yLl9vcmlnaW5hbCk7dmFyIGg9byhjLl9jb21waWxlZCksbD0haDt0aGlzLmRhdGE9dCx0aGlzLnByb3BzPWUsdGhpcy5jaGlsZHJlbj1uLHRoaXMucGFyZW50PXIsdGhpcy5saXN0ZW5lcnM9dC5vbnx8aSx0aGlzLmluamVjdGlvbnM9QWkoYy5pbmplY3QsciksdGhpcy5zbG90cz1mdW5jdGlvbigpe3JldHVybiB6ZShuLHIpfSxoJiYodGhpcy4kb3B0aW9ucz1jLHRoaXMuJHNsb3RzPXRoaXMuc2xvdHMoKSx0aGlzLiRzY29wZWRTbG90cz10LnNjb3BlZFNsb3RzfHxpKSxjLl9zY29wZUlkP3RoaXMuX2M9ZnVuY3Rpb24odCxlLGksbil7dmFyIG89Smkocyx0LGUsaSxuLGwpO3JldHVybiBvJiYhQXJyYXkuaXNBcnJheShvKSYmKG8uZm5TY29wZUlkPWMuX3Njb3BlSWQsby5mbkNvbnRleHQ9ciksb306dGhpcy5fYz1mdW5jdGlvbih0LGUsaSxuKXtyZXR1cm4gSmkocyx0LGUsaSxuLGwpfX1mdW5jdGlvbiBHaSh0LGUsbixvLGEpe3ZhciBzPXQub3B0aW9ucyxjPXt9LGg9cy5wcm9wcztpZihyKGgpKWZvcih2YXIgbCBpbiBoKWNbbF09VnQobCxoLGV8fGkpO2Vsc2UgcihuLmF0dHJzKSYmSGkoYyxuLmF0dHJzKSxyKG4ucHJvcHMpJiZIaShjLG4ucHJvcHMpO3ZhciBwPW5ldyBOaShuLGMsYSxvLHQpLGQ9cy5yZW5kZXIuY2FsbChudWxsLHAuX2MscCk7aWYoZCBpbnN0YW5jZW9mIGd0KXJldHVybiBGaShkLG4scC5wYXJlbnQscyxwKTtpZihBcnJheS5pc0FycmF5KGQpKXtmb3IodmFyIHU9d2UoZCl8fFtdLGY9bmV3IEFycmF5KHUubGVuZ3RoKSxtPTA7bTx1Lmxlbmd0aDttKyspZlttXT1GaSh1W21dLG4scC5wYXJlbnQscyxwKTtyZXR1cm4gZn19ZnVuY3Rpb24gRmkodCxlLGksbixyKXt2YXIgbz1idCh0KTtyZXR1cm4gby5mbkNvbnRleHQ9aSxvLmZuT3B0aW9ucz1uLGUuc2xvdCYmKChvLmRhdGF8fChvLmRhdGE9e30pKS5zbG90PWUuc2xvdCksb31mdW5jdGlvbiBIaSh0LGUpe2Zvcih2YXIgaSBpbiBlKXRbdyhpKV09ZVtpXX1SaShOaS5wcm90b3R5cGUpO3ZhciBXaT17aW5pdDpmdW5jdGlvbih0LGUpe2lmKHQuY29tcG9uZW50SW5zdGFuY2UmJiF0LmNvbXBvbmVudEluc3RhbmNlLl9pc0Rlc3Ryb3llZCYmdC5kYXRhLmtlZXBBbGl2ZSl7dmFyIGk9dDtXaS5wcmVwYXRjaChpLGkpfWVsc2V7dmFyIG49dC5jb21wb25lbnRJbnN0YW5jZT1WaSh0LE5lKTtuLiRtb3VudChlP3QuZWxtOnZvaWQgMCxlKX19LHByZXBhdGNoOmZ1bmN0aW9uKHQsZSl7dmFyIGk9ZS5jb21wb25lbnRPcHRpb25zLG49ZS5jb21wb25lbnRJbnN0YW5jZT10LmNvbXBvbmVudEluc3RhbmNlO1VlKG4saS5wcm9wc0RhdGEsaS5saXN0ZW5lcnMsZSxpLmNoaWxkcmVuKX0saW5zZXJ0OmZ1bmN0aW9uKHQpe3ZhciBlPXQuY29udGV4dCxpPXQuY29tcG9uZW50SW5zdGFuY2U7aS5faXNNb3VudGVkfHwoaS5faXNNb3VudGVkPSEwLCRlKGksIm1vdW50ZWQiKSksdC5kYXRhLmtlZXBBbGl2ZSYmKGUuX2lzTW91bnRlZD9yaShpKTpWZShpLCEwKSl9LGRlc3Ryb3k6ZnVuY3Rpb24odCl7dmFyIGU9dC5jb21wb25lbnRJbnN0YW5jZTtlLl9pc0Rlc3Ryb3llZHx8KHQuZGF0YS5rZWVwQWxpdmU/WWUoZSwhMCk6ZS4kZGVzdHJveSgpKX19LFVpPU9iamVjdC5rZXlzKFdpKTtmdW5jdGlvbiBYaSh0LGUsaSxhLHMpe2lmKCFuKHQpKXt2YXIgaD1pLiRvcHRpb25zLl9iYXNlO2lmKGModCkmJih0PWguZXh0ZW5kKHQpKSwiZnVuY3Rpb24iPT09dHlwZW9mIHQpe3ZhciBsO2lmKG4odC5jaWQpJiYobD10LHQ9TWUobCxoLGkpLHZvaWQgMD09PXQpKXJldHVybiBBZShsLGUsaSxhLHMpO2U9ZXx8e30sY24odCkscihlLm1vZGVsKSYmS2kodC5vcHRpb25zLGUpO3ZhciBwPV9lKGUsdCxzKTtpZihvKHQub3B0aW9ucy5mdW5jdGlvbmFsKSlyZXR1cm4gR2kodCxwLGUsaSxhKTt2YXIgZD1lLm9uO2lmKGUub249ZS5uYXRpdmVPbixvKHQub3B0aW9ucy5hYnN0cmFjdCkpe3ZhciB1PWUuc2xvdDtlPXt9LHUmJihlLnNsb3Q9dSl9WWkoZSk7dmFyIGY9dC5vcHRpb25zLm5hbWV8fHMsbT1uZXcgZ3QoInZ1ZS1jb21wb25lbnQtIit0LmNpZCsoZj8iLSIrZjoiIiksZSx2b2lkIDAsdm9pZCAwLHZvaWQgMCxpLHtDdG9yOnQscHJvcHNEYXRhOnAsbGlzdGVuZXJzOmQsdGFnOnMsY2hpbGRyZW46YX0sbCk7cmV0dXJuIG19fX1mdW5jdGlvbiBWaSh0LGUpe3ZhciBpPXtfaXNDb21wb25lbnQ6ITAsX3BhcmVudFZub2RlOnQscGFyZW50OmV9LG49dC5kYXRhLmlubGluZVRlbXBsYXRlO3JldHVybiByKG4pJiYoaS5yZW5kZXI9bi5yZW5kZXIsaS5zdGF0aWNSZW5kZXJGbnM9bi5zdGF0aWNSZW5kZXJGbnMpLG5ldyB0LmNvbXBvbmVudE9wdGlvbnMuQ3RvcihpKX1mdW5jdGlvbiBZaSh0KXtmb3IodmFyIGU9dC5ob29rfHwodC5ob29rPXt9KSxpPTA7aTxVaS5sZW5ndGg7aSsrKXt2YXIgbj1VaVtpXSxyPWVbbl0sbz1XaVtuXTtyPT09b3x8ciYmci5fbWVyZ2VkfHwoZVtuXT1yPyRpKG8scik6byl9fWZ1bmN0aW9uICRpKHQsZSl7dmFyIGk9ZnVuY3Rpb24oaSxuKXt0KGksbiksZShpLG4pfTtyZXR1cm4gaS5fbWVyZ2VkPSEwLGl9ZnVuY3Rpb24gS2kodCxlKXt2YXIgaT10Lm1vZGVsJiZ0Lm1vZGVsLnByb3B8fCJ2YWx1ZSIsbj10Lm1vZGVsJiZ0Lm1vZGVsLmV2ZW50fHwiaW5wdXQiOyhlLnByb3BzfHwoZS5wcm9wcz17fSkpW2ldPWUubW9kZWwudmFsdWU7dmFyIG89ZS5vbnx8KGUub249e30pLGE9b1tuXSxzPWUubW9kZWwuY2FsbGJhY2s7cihhKT8oQXJyYXkuaXNBcnJheShhKT8tMT09PWEuaW5kZXhPZihzKTphIT09cykmJihvW25dPVtzXS5jb25jYXQoYSkpOm9bbl09c312YXIgWmk9MSxxaT0yO2Z1bmN0aW9uIEppKHQsZSxpLG4scixhKXtyZXR1cm4oQXJyYXkuaXNBcnJheShpKXx8cyhpKSkmJihyPW4sbj1pLGk9dm9pZCAwKSxvKGEpJiYocj1xaSksUWkodCxlLGksbixyKX1mdW5jdGlvbiBRaSh0LGUsaSxuLG8pe2lmKHIoaSkmJnIoaS5fX29iX18pKXJldHVybiB5dCgpO2lmKHIoaSkmJnIoaS5pcykmJihlPWkuaXMpLCFlKXJldHVybiB5dCgpO3ZhciBhLHMsYzsoQXJyYXkuaXNBcnJheShuKSYmImZ1bmN0aW9uIj09PXR5cGVvZiBuWzBdJiYoaT1pfHx7fSxpLnNjb3BlZFNsb3RzPXtkZWZhdWx0Om5bMF19LG4ubGVuZ3RoPTApLG89PT1xaT9uPXdlKG4pOm89PT1aaSYmKG49eGUobikpLCJzdHJpbmciPT09dHlwZW9mIGUpPyhzPXQuJHZub2RlJiZ0LiR2bm9kZS5uc3x8Ri5nZXRUYWdOYW1lc3BhY2UoZSksYT1GLmlzUmVzZXJ2ZWRUYWcoZSk/bmV3IGd0KEYucGFyc2VQbGF0Zm9ybVRhZ05hbWUoZSksaSxuLHZvaWQgMCx2b2lkIDAsdCk6aSYmaS5wcmV8fCFyKGM9WHQodC4kb3B0aW9ucywiY29tcG9uZW50cyIsZSkpP25ldyBndChlLGksbix2b2lkIDAsdm9pZCAwLHQpOlhpKGMsaSx0LG4sZSkpOmE9WGkoZSxpLHQsbik7cmV0dXJuIEFycmF5LmlzQXJyYXkoYSk/YTpyKGEpPyhyKHMpJiZ0bihhLHMpLHIoaSkmJmVuKGkpLGEpOnl0KCl9ZnVuY3Rpb24gdG4odCxlLGkpe2lmKHQubnM9ZSwiZm9yZWlnbk9iamVjdCI9PT10LnRhZyYmKGU9dm9pZCAwLGk9ITApLHIodC5jaGlsZHJlbikpZm9yKHZhciBhPTAscz10LmNoaWxkcmVuLmxlbmd0aDthPHM7YSsrKXt2YXIgYz10LmNoaWxkcmVuW2FdO3IoYy50YWcpJiYobihjLm5zKXx8byhpKSYmInN2ZyIhPT1jLnRhZykmJnRuKGMsZSxpKX19ZnVuY3Rpb24gZW4odCl7Yyh0LnN0eWxlKSYmZGUodC5zdHlsZSksYyh0LmNsYXNzKSYmZGUodC5jbGFzcyl9ZnVuY3Rpb24gbm4odCl7dC5fdm5vZGU9bnVsbCx0Ll9zdGF0aWNUcmVlcz1udWxsO3ZhciBlPXQuJG9wdGlvbnMsbj10LiR2bm9kZT1lLl9wYXJlbnRWbm9kZSxyPW4mJm4uY29udGV4dDt0LiRzbG90cz16ZShlLl9yZW5kZXJDaGlsZHJlbixyKSx0LiRzY29wZWRTbG90cz1pLHQuX2M9ZnVuY3Rpb24oZSxpLG4scil7cmV0dXJuIEppKHQsZSxpLG4sciwhMSl9LHQuJGNyZWF0ZUVsZW1lbnQ9ZnVuY3Rpb24oZSxpLG4scil7cmV0dXJuIEppKHQsZSxpLG4sciwhMCl9O3ZhciBvPW4mJm4uZGF0YTtFdCh0LCIkYXR0cnMiLG8mJm8uYXR0cnN8fGksbnVsbCwhMCksRXQodCwiJGxpc3RlbmVycyIsZS5fcGFyZW50TGlzdGVuZXJzfHxpLG51bGwsITApfWZ1bmN0aW9uIHJuKHQpe1JpKHQucHJvdG90eXBlKSx0LnByb3RvdHlwZS4kbmV4dFRpY2s9ZnVuY3Rpb24odCl7cmV0dXJuIGxlKHQsdGhpcyl9LHQucHJvdG90eXBlLl9yZW5kZXI9ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMsbj1lLiRvcHRpb25zLHI9bi5yZW5kZXIsbz1uLl9wYXJlbnRWbm9kZTtvJiYoZS4kc2NvcGVkU2xvdHM9by5kYXRhLnNjb3BlZFNsb3RzfHxpKSxlLiR2bm9kZT1vO3RyeXt0PXIuY2FsbChlLl9yZW5kZXJQcm94eSxlLiRjcmVhdGVFbGVtZW50KX1jYXRjaChzYSl7cXQoc2EsZSwicmVuZGVyIiksdD1lLl92bm9kZX1yZXR1cm4gdCBpbnN0YW5jZW9mIGd0fHwodD15dCgpKSx0LnBhcmVudD1vLHR9fXZhciBvbj0wO2Z1bmN0aW9uIGFuKHQpe3QucHJvdG90eXBlLl9pbml0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7ZS5fdWlkPW9uKyssZS5faXNWdWU9ITAsdCYmdC5faXNDb21wb25lbnQ/c24oZSx0KTplLiRvcHRpb25zPVV0KGNuKGUuY29uc3RydWN0b3IpLHR8fHt9LGUpLGUuX3JlbmRlclByb3h5PWUsZS5fc2VsZj1lLEZlKGUpLFRlKGUpLG5uKGUpLCRlKGUsImJlZm9yZUNyZWF0ZSIpLFNpKGUpLHBpKGUpLENpKGUpLCRlKGUsImNyZWF0ZWQiKSxlLiRvcHRpb25zLmVsJiZlLiRtb3VudChlLiRvcHRpb25zLmVsKX19ZnVuY3Rpb24gc24odCxlKXt2YXIgaT10LiRvcHRpb25zPU9iamVjdC5jcmVhdGUodC5jb25zdHJ1Y3Rvci5vcHRpb25zKSxuPWUuX3BhcmVudFZub2RlO2kucGFyZW50PWUucGFyZW50LGkuX3BhcmVudFZub2RlPW47dmFyIHI9bi5jb21wb25lbnRPcHRpb25zO2kucHJvcHNEYXRhPXIucHJvcHNEYXRhLGkuX3BhcmVudExpc3RlbmVycz1yLmxpc3RlbmVycyxpLl9yZW5kZXJDaGlsZHJlbj1yLmNoaWxkcmVuLGkuX2NvbXBvbmVudFRhZz1yLnRhZyxlLnJlbmRlciYmKGkucmVuZGVyPWUucmVuZGVyLGkuc3RhdGljUmVuZGVyRm5zPWUuc3RhdGljUmVuZGVyRm5zKX1mdW5jdGlvbiBjbih0KXt2YXIgZT10Lm9wdGlvbnM7aWYodC5zdXBlcil7dmFyIGk9Y24odC5zdXBlciksbj10LnN1cGVyT3B0aW9ucztpZihpIT09bil7dC5zdXBlck9wdGlvbnM9aTt2YXIgcj1obih0KTtyJiZUKHQuZXh0ZW5kT3B0aW9ucyxyKSxlPXQub3B0aW9ucz1VdChpLHQuZXh0ZW5kT3B0aW9ucyksZS5uYW1lJiYoZS5jb21wb25lbnRzW2UubmFtZV09dCl9fXJldHVybiBlfWZ1bmN0aW9uIGhuKHQpe3ZhciBlLGk9dC5vcHRpb25zLG49dC5leHRlbmRPcHRpb25zLHI9dC5zZWFsZWRPcHRpb25zO2Zvcih2YXIgbyBpbiBpKWlbb10hPT1yW29dJiYoZXx8KGU9e30pLGVbb109bG4oaVtvXSxuW29dLHJbb10pKTtyZXR1cm4gZX1mdW5jdGlvbiBsbih0LGUsaSl7aWYoQXJyYXkuaXNBcnJheSh0KSl7dmFyIG49W107aT1BcnJheS5pc0FycmF5KGkpP2k6W2ldLGU9QXJyYXkuaXNBcnJheShlKT9lOltlXTtmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKykoZS5pbmRleE9mKHRbcl0pPj0wfHxpLmluZGV4T2YodFtyXSk8MCkmJm4ucHVzaCh0W3JdKTtyZXR1cm4gbn1yZXR1cm4gdH1mdW5jdGlvbiBwbih0KXt0aGlzLl9pbml0KHQpfWZ1bmN0aW9uIGRuKHQpe3QudXNlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuX2luc3RhbGxlZFBsdWdpbnN8fCh0aGlzLl9pbnN0YWxsZWRQbHVnaW5zPVtdKTtpZihlLmluZGV4T2YodCk+LTEpcmV0dXJuIHRoaXM7dmFyIGk9Tyhhcmd1bWVudHMsMSk7cmV0dXJuIGkudW5zaGlmdCh0aGlzKSwiZnVuY3Rpb24iPT09dHlwZW9mIHQuaW5zdGFsbD90Lmluc3RhbGwuYXBwbHkodCxpKToiZnVuY3Rpb24iPT09dHlwZW9mIHQmJnQuYXBwbHkobnVsbCxpKSxlLnB1c2godCksdGhpc319ZnVuY3Rpb24gdW4odCl7dC5taXhpbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5vcHRpb25zPVV0KHRoaXMub3B0aW9ucyx0KSx0aGlzfX1mdW5jdGlvbiBmbih0KXt0LmNpZD0wO3ZhciBlPTE7dC5leHRlbmQ9ZnVuY3Rpb24odCl7dD10fHx7fTt2YXIgaT10aGlzLG49aS5jaWQscj10Ll9DdG9yfHwodC5fQ3Rvcj17fSk7aWYocltuXSlyZXR1cm4gcltuXTt2YXIgbz10Lm5hbWV8fGkub3B0aW9ucy5uYW1lO3ZhciBhPWZ1bmN0aW9uKHQpe3RoaXMuX2luaXQodCl9O3JldHVybiBhLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGkucHJvdG90eXBlKSxhLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hLGEuY2lkPWUrKyxhLm9wdGlvbnM9VXQoaS5vcHRpb25zLHQpLGFbInN1cGVyIl09aSxhLm9wdGlvbnMucHJvcHMmJm1uKGEpLGEub3B0aW9ucy5jb21wdXRlZCYmZ24oYSksYS5leHRlbmQ9aS5leHRlbmQsYS5taXhpbj1pLm1peGluLGEudXNlPWkudXNlLE4uZm9yRWFjaCgoZnVuY3Rpb24odCl7YVt0XT1pW3RdfSkpLG8mJihhLm9wdGlvbnMuY29tcG9uZW50c1tvXT1hKSxhLnN1cGVyT3B0aW9ucz1pLm9wdGlvbnMsYS5leHRlbmRPcHRpb25zPXQsYS5zZWFsZWRPcHRpb25zPVQoe30sYS5vcHRpb25zKSxyW25dPWEsYX19ZnVuY3Rpb24gbW4odCl7dmFyIGU9dC5vcHRpb25zLnByb3BzO2Zvcih2YXIgaSBpbiBlKWxpKHQucHJvdG90eXBlLCJfcHJvcHMiLGkpfWZ1bmN0aW9uIGduKHQpe3ZhciBlPXQub3B0aW9ucy5jb21wdXRlZDtmb3IodmFyIGkgaW4gZSl2aSh0LnByb3RvdHlwZSxpLGVbaV0pfWZ1bmN0aW9uIHZuKHQpe04uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dFtlXT1mdW5jdGlvbih0LGkpe3JldHVybiBpPygiY29tcG9uZW50Ij09PWUmJmwoaSkmJihpLm5hbWU9aS5uYW1lfHx0LGk9dGhpcy5vcHRpb25zLl9iYXNlLmV4dGVuZChpKSksImRpcmVjdGl2ZSI9PT1lJiYiZnVuY3Rpb24iPT09dHlwZW9mIGkmJihpPXtiaW5kOmksdXBkYXRlOml9KSx0aGlzLm9wdGlvbnNbZSsicyJdW3RdPWksaSk6dGhpcy5vcHRpb25zW2UrInMiXVt0XX19KSl9ZnVuY3Rpb24geW4odCl7cmV0dXJuIHQmJih0LkN0b3Iub3B0aW9ucy5uYW1lfHx0LnRhZyl9ZnVuY3Rpb24gX24odCxlKXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KT90LmluZGV4T2YoZSk+LTE6InN0cmluZyI9PT10eXBlb2YgdD90LnNwbGl0KCIsIikuaW5kZXhPZihlKT4tMTohIXAodCkmJnQudGVzdChlKX1mdW5jdGlvbiBibih0LGUpe3ZhciBpPXQuY2FjaGUsbj10LmtleXMscj10Ll92bm9kZTtmb3IodmFyIG8gaW4gaSl7dmFyIGE9aVtvXTtpZihhKXt2YXIgcz15bihhLmNvbXBvbmVudE9wdGlvbnMpO3MmJiFlKHMpJiZ4bihpLG8sbixyKX19fWZ1bmN0aW9uIHhuKHQsZSxpLG4pe3ZhciByPXRbZV07IXJ8fG4mJnIudGFnPT09bi50YWd8fHIuY29tcG9uZW50SW5zdGFuY2UuJGRlc3Ryb3koKSx0W2VdPW51bGwsdihpLGUpfWFuKHBuKSxraShwbiksSWUocG4pLEhlKHBuKSxybihwbik7dmFyIHduPVtTdHJpbmcsUmVnRXhwLEFycmF5XSxrbj17bmFtZToia2VlcC1hbGl2ZSIsYWJzdHJhY3Q6ITAscHJvcHM6e2luY2x1ZGU6d24sZXhjbHVkZTp3bixtYXg6W1N0cmluZyxOdW1iZXJdfSxjcmVhdGVkOmZ1bmN0aW9uKCl7dGhpcy5jYWNoZT1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMua2V5cz1bXX0sZGVzdHJveWVkOmZ1bmN0aW9uKCl7Zm9yKHZhciB0IGluIHRoaXMuY2FjaGUpeG4odGhpcy5jYWNoZSx0LHRoaXMua2V5cyl9LG1vdW50ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuJHdhdGNoKCJpbmNsdWRlIiwoZnVuY3Rpb24oZSl7Ym4odCwoZnVuY3Rpb24odCl7cmV0dXJuIF9uKGUsdCl9KSl9KSksdGhpcy4kd2F0Y2goImV4Y2x1ZGUiLChmdW5jdGlvbihlKXtibih0LChmdW5jdGlvbih0KXtyZXR1cm4hX24oZSx0KX0pKX0pKX0scmVuZGVyOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy4kc2xvdHMuZGVmYXVsdCxlPU9lKHQpLGk9ZSYmZS5jb21wb25lbnRPcHRpb25zO2lmKGkpe3ZhciBuPXluKGkpLHI9dGhpcyxvPXIuaW5jbHVkZSxhPXIuZXhjbHVkZTtpZihvJiYoIW58fCFfbihvLG4pKXx8YSYmbiYmX24oYSxuKSlyZXR1cm4gZTt2YXIgcz10aGlzLGM9cy5jYWNoZSxoPXMua2V5cyxsPW51bGw9PWUua2V5P2kuQ3Rvci5jaWQrKGkudGFnPyI6OiIraS50YWc6IiIpOmUua2V5O2NbbF0/KGUuY29tcG9uZW50SW5zdGFuY2U9Y1tsXS5jb21wb25lbnRJbnN0YW5jZSx2KGgsbCksaC5wdXNoKGwpKTooY1tsXT1lLGgucHVzaChsKSx0aGlzLm1heCYmaC5sZW5ndGg+cGFyc2VJbnQodGhpcy5tYXgpJiZ4bihjLGhbMF0saCx0aGlzLl92bm9kZSkpLGUuZGF0YS5rZWVwQWxpdmU9ITB9cmV0dXJuIGV8fHQmJnRbMF19fSxDbj17S2VlcEFsaXZlOmtufTtmdW5jdGlvbiBTbih0KXt2YXIgZT17Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEZ9fTtPYmplY3QuZGVmaW5lUHJvcGVydHkodCwiY29uZmlnIixlKSx0LnV0aWw9e3dhcm46bHQsZXh0ZW5kOlQsbWVyZ2VPcHRpb25zOlV0LGRlZmluZVJlYWN0aXZlOkV0fSx0LnNldD1MdCx0LmRlbGV0ZT1qdCx0Lm5leHRUaWNrPWxlLHQub3B0aW9ucz1PYmplY3QuY3JlYXRlKG51bGwpLE4uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dC5vcHRpb25zW2UrInMiXT1PYmplY3QuY3JlYXRlKG51bGwpfSkpLHQub3B0aW9ucy5fYmFzZT10LFQodC5vcHRpb25zLmNvbXBvbmVudHMsQ24pLGRuKHQpLHVuKHQpLGZuKHQpLHZuKHQpfVNuKHBuKSxPYmplY3QuZGVmaW5lUHJvcGVydHkocG4ucHJvdG90eXBlLCIkaXNTZXJ2ZXIiLHtnZXQ6b3R9KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocG4ucHJvdG90eXBlLCIkc3NyQ29udGV4dCIse2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLiR2bm9kZSYmdGhpcy4kdm5vZGUuc3NyQ29udGV4dH19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkocG4sIkZ1bmN0aW9uYWxSZW5kZXJDb250ZXh0Iix7dmFsdWU6Tml9KSxwbi52ZXJzaW9uPSIyLjUuMjEiO3ZhciBBbj1tKCJzdHlsZSxjbGFzcyIpLE1uPW0oImlucHV0LHRleHRhcmVhLG9wdGlvbixzZWxlY3QscHJvZ3Jlc3MiKSxQbj1mdW5jdGlvbih0LGUsaSl7cmV0dXJuInZhbHVlIj09PWkmJk1uKHQpJiYiYnV0dG9uIiE9PWV8fCJzZWxlY3RlZCI9PT1pJiYib3B0aW9uIj09PXR8fCJjaGVja2VkIj09PWkmJiJpbnB1dCI9PT10fHwibXV0ZWQiPT09aSYmInZpZGVvIj09PXR9LE9uPW0oImNvbnRlbnRlZGl0YWJsZSxkcmFnZ2FibGUsc3BlbGxjaGVjayIpLFRuPW0oImFsbG93ZnVsbHNjcmVlbixhc3luYyxhdXRvZm9jdXMsYXV0b3BsYXksY2hlY2tlZCxjb21wYWN0LGNvbnRyb2xzLGRlY2xhcmUsZGVmYXVsdCxkZWZhdWx0Y2hlY2tlZCxkZWZhdWx0bXV0ZWQsZGVmYXVsdHNlbGVjdGVkLGRlZmVyLGRpc2FibGVkLGVuYWJsZWQsZm9ybW5vdmFsaWRhdGUsaGlkZGVuLGluZGV0ZXJtaW5hdGUsaW5lcnQsaXNtYXAsaXRlbXNjb3BlLGxvb3AsbXVsdGlwbGUsbXV0ZWQsbm9ocmVmLG5vcmVzaXplLG5vc2hhZGUsbm92YWxpZGF0ZSxub3dyYXAsb3BlbixwYXVzZW9uZXhpdCxyZWFkb25seSxyZXF1aXJlZCxyZXZlcnNlZCxzY29wZWQsc2VhbWxlc3Msc2VsZWN0ZWQsc29ydGFibGUsdHJhbnNsYXRlLHRydWVzcGVlZCx0eXBlbXVzdG1hdGNoLHZpc2libGUiKSxFbj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIsTG49ZnVuY3Rpb24odCl7cmV0dXJuIjoiPT09dC5jaGFyQXQoNSkmJiJ4bGluayI9PT10LnNsaWNlKDAsNSl9LGpuPWZ1bmN0aW9uKHQpe3JldHVybiBMbih0KT90LnNsaWNlKDYsdC5sZW5ndGgpOiIifSxEbj1mdW5jdGlvbih0KXtyZXR1cm4gbnVsbD09dHx8ITE9PT10fTtmdW5jdGlvbiBJbih0KXt2YXIgZT10LmRhdGEsaT10LG49dDt3aGlsZShyKG4uY29tcG9uZW50SW5zdGFuY2UpKW49bi5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUsbiYmbi5kYXRhJiYoZT16bihuLmRhdGEsZSkpO3doaWxlKHIoaT1pLnBhcmVudCkpaSYmaS5kYXRhJiYoZT16bihlLGkuZGF0YSkpO3JldHVybiBCbihlLnN0YXRpY0NsYXNzLGUuY2xhc3MpfWZ1bmN0aW9uIHpuKHQsZSl7cmV0dXJue3N0YXRpY0NsYXNzOlJuKHQuc3RhdGljQ2xhc3MsZS5zdGF0aWNDbGFzcyksY2xhc3M6cih0LmNsYXNzKT9bdC5jbGFzcyxlLmNsYXNzXTplLmNsYXNzfX1mdW5jdGlvbiBCbih0LGUpe3JldHVybiByKHQpfHxyKGUpP1JuKHQsTm4oZSkpOiIifWZ1bmN0aW9uIFJuKHQsZSl7cmV0dXJuIHQ/ZT90KyIgIitlOnQ6ZXx8IiJ9ZnVuY3Rpb24gTm4odCl7cmV0dXJuIEFycmF5LmlzQXJyYXkodCk/R24odCk6Yyh0KT9Gbih0KToic3RyaW5nIj09PXR5cGVvZiB0P3Q6IiJ9ZnVuY3Rpb24gR24odCl7Zm9yKHZhciBlLGk9IiIsbj0wLG89dC5sZW5ndGg7bjxvO24rKylyKGU9Tm4odFtuXSkpJiYiIiE9PWUmJihpJiYoaSs9IiAiKSxpKz1lKTtyZXR1cm4gaX1mdW5jdGlvbiBGbih0KXt2YXIgZT0iIjtmb3IodmFyIGkgaW4gdCl0W2ldJiYoZSYmKGUrPSIgIiksZSs9aSk7cmV0dXJuIGV9dmFyIEhuPXtzdmc6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIixtYXRoOiJodHRwOi8vd3d3LnczLm9yZy8xOTk4L01hdGgvTWF0aE1MIn0sV249bSgiaHRtbCxib2R5LGJhc2UsaGVhZCxsaW5rLG1ldGEsc3R5bGUsdGl0bGUsYWRkcmVzcyxhcnRpY2xlLGFzaWRlLGZvb3RlcixoZWFkZXIsaDEsaDIsaDMsaDQsaDUsaDYsaGdyb3VwLG5hdixzZWN0aW9uLGRpdixkZCxkbCxkdCxmaWdjYXB0aW9uLGZpZ3VyZSxwaWN0dXJlLGhyLGltZyxsaSxtYWluLG9sLHAscHJlLHVsLGEsYixhYmJyLGJkaSxiZG8sYnIsY2l0ZSxjb2RlLGRhdGEsZGZuLGVtLGksa2JkLG1hcmsscSxycCxydCxydGMscnVieSxzLHNhbXAsc21hbGwsc3BhbixzdHJvbmcsc3ViLHN1cCx0aW1lLHUsdmFyLHdicixhcmVhLGF1ZGlvLG1hcCx0cmFjayx2aWRlbyxlbWJlZCxvYmplY3QscGFyYW0sc291cmNlLGNhbnZhcyxzY3JpcHQsbm9zY3JpcHQsZGVsLGlucyxjYXB0aW9uLGNvbCxjb2xncm91cCx0YWJsZSx0aGVhZCx0Ym9keSx0ZCx0aCx0cixidXR0b24sZGF0YWxpc3QsZmllbGRzZXQsZm9ybSxpbnB1dCxsYWJlbCxsZWdlbmQsbWV0ZXIsb3B0Z3JvdXAsb3B0aW9uLG91dHB1dCxwcm9ncmVzcyxzZWxlY3QsdGV4dGFyZWEsZGV0YWlscyxkaWFsb2csbWVudSxtZW51aXRlbSxzdW1tYXJ5LGNvbnRlbnQsZWxlbWVudCxzaGFkb3csdGVtcGxhdGUsYmxvY2txdW90ZSxpZnJhbWUsdGZvb3QiKSxVbj1tKCJzdmcsYW5pbWF0ZSxjaXJjbGUsY2xpcHBhdGgsY3Vyc29yLGRlZnMsZGVzYyxlbGxpcHNlLGZpbHRlcixmb250LWZhY2UsZm9yZWlnbk9iamVjdCxnLGdseXBoLGltYWdlLGxpbmUsbWFya2VyLG1hc2ssbWlzc2luZy1nbHlwaCxwYXRoLHBhdHRlcm4scG9seWdvbixwb2x5bGluZSxyZWN0LHN3aXRjaCxzeW1ib2wsdGV4dCx0ZXh0cGF0aCx0c3Bhbix1c2UsdmlldyIsITApLFhuPWZ1bmN0aW9uKHQpe3JldHVybiBXbih0KXx8VW4odCl9O2Z1bmN0aW9uIFZuKHQpe3JldHVybiBVbih0KT8ic3ZnIjoibWF0aCI9PT10PyJtYXRoIjp2b2lkIDB9dmFyIFluPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gJG4odCl7aWYoISQpcmV0dXJuITA7aWYoWG4odCkpcmV0dXJuITE7aWYodD10LnRvTG93ZXJDYXNlKCksbnVsbCE9WW5bdF0pcmV0dXJuIFluW3RdO3ZhciBlPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7cmV0dXJuIHQuaW5kZXhPZigiLSIpPi0xP1luW3RdPWUuY29uc3RydWN0b3I9PT13aW5kb3cuSFRNTFVua25vd25FbGVtZW50fHxlLmNvbnN0cnVjdG9yPT09d2luZG93LkhUTUxFbGVtZW50OlluW3RdPS9IVE1MVW5rbm93bkVsZW1lbnQvLnRlc3QoZS50b1N0cmluZygpKX12YXIgS249bSgidGV4dCxudW1iZXIscGFzc3dvcmQsc2VhcmNoLGVtYWlsLHRlbCx1cmwiKTtmdW5jdGlvbiBabih0KXtpZigic3RyaW5nIj09PXR5cGVvZiB0KXt2YXIgZT1kb2N1bWVudC5xdWVyeVNlbGVjdG9yKHQpO3JldHVybiBlfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKX1yZXR1cm4gdH1mdW5jdGlvbiBxbih0LGUpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQodCk7cmV0dXJuInNlbGVjdCIhPT10P2k6KGUuZGF0YSYmZS5kYXRhLmF0dHJzJiZ2b2lkIDAhPT1lLmRhdGEuYXR0cnMubXVsdGlwbGUmJmkuc2V0QXR0cmlidXRlKCJtdWx0aXBsZSIsIm11bHRpcGxlIiksaSl9ZnVuY3Rpb24gSm4odCxlKXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKEhuW3RdLGUpfWZ1bmN0aW9uIFFuKHQpe3JldHVybiBkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh0KX1mdW5jdGlvbiB0cih0KXtyZXR1cm4gZG9jdW1lbnQuY3JlYXRlQ29tbWVudCh0KX1mdW5jdGlvbiBlcih0LGUsaSl7dC5pbnNlcnRCZWZvcmUoZSxpKX1mdW5jdGlvbiBpcih0LGUpe3QucmVtb3ZlQ2hpbGQoZSl9ZnVuY3Rpb24gbnIodCxlKXt0LmFwcGVuZENoaWxkKGUpfWZ1bmN0aW9uIHJyKHQpe3JldHVybiB0LnBhcmVudE5vZGV9ZnVuY3Rpb24gb3IodCl7cmV0dXJuIHQubmV4dFNpYmxpbmd9ZnVuY3Rpb24gYXIodCl7cmV0dXJuIHQudGFnTmFtZX1mdW5jdGlvbiBzcih0LGUpe3QudGV4dENvbnRlbnQ9ZX1mdW5jdGlvbiBjcih0LGUpe3Quc2V0QXR0cmlidXRlKGUsIiIpfXZhciBocj1PYmplY3QuZnJlZXplKHtjcmVhdGVFbGVtZW50OnFuLGNyZWF0ZUVsZW1lbnROUzpKbixjcmVhdGVUZXh0Tm9kZTpRbixjcmVhdGVDb21tZW50OnRyLGluc2VydEJlZm9yZTplcixyZW1vdmVDaGlsZDppcixhcHBlbmRDaGlsZDpucixwYXJlbnROb2RlOnJyLG5leHRTaWJsaW5nOm9yLHRhZ05hbWU6YXIsc2V0VGV4dENvbnRlbnQ6c3Isc2V0U3R5bGVTY29wZTpjcn0pLGxyPXtjcmVhdGU6ZnVuY3Rpb24odCxlKXtwcihlKX0sdXBkYXRlOmZ1bmN0aW9uKHQsZSl7dC5kYXRhLnJlZiE9PWUuZGF0YS5yZWYmJihwcih0LCEwKSxwcihlKSl9LGRlc3Ryb3k6ZnVuY3Rpb24odCl7cHIodCwhMCl9fTtmdW5jdGlvbiBwcih0LGUpe3ZhciBpPXQuZGF0YS5yZWY7aWYocihpKSl7dmFyIG49dC5jb250ZXh0LG89dC5jb21wb25lbnRJbnN0YW5jZXx8dC5lbG0sYT1uLiRyZWZzO2U/QXJyYXkuaXNBcnJheShhW2ldKT92KGFbaV0sbyk6YVtpXT09PW8mJihhW2ldPXZvaWQgMCk6dC5kYXRhLnJlZkluRm9yP0FycmF5LmlzQXJyYXkoYVtpXSk/YVtpXS5pbmRleE9mKG8pPDAmJmFbaV0ucHVzaChvKTphW2ldPVtvXTphW2ldPW99fXZhciBkcj1uZXcgZ3QoIiIse30sW10pLHVyPVsiY3JlYXRlIiwiYWN0aXZhdGUiLCJ1cGRhdGUiLCJyZW1vdmUiLCJkZXN0cm95Il07ZnVuY3Rpb24gZnIodCxlKXtyZXR1cm4gdC5rZXk9PT1lLmtleSYmKHQudGFnPT09ZS50YWcmJnQuaXNDb21tZW50PT09ZS5pc0NvbW1lbnQmJnIodC5kYXRhKT09PXIoZS5kYXRhKSYmbXIodCxlKXx8byh0LmlzQXN5bmNQbGFjZWhvbGRlcikmJnQuYXN5bmNGYWN0b3J5PT09ZS5hc3luY0ZhY3RvcnkmJm4oZS5hc3luY0ZhY3RvcnkuZXJyb3IpKX1mdW5jdGlvbiBtcih0LGUpe2lmKCJpbnB1dCIhPT10LnRhZylyZXR1cm4hMDt2YXIgaSxuPXIoaT10LmRhdGEpJiZyKGk9aS5hdHRycykmJmkudHlwZSxvPXIoaT1lLmRhdGEpJiZyKGk9aS5hdHRycykmJmkudHlwZTtyZXR1cm4gbj09PW98fEtuKG4pJiZLbihvKX1mdW5jdGlvbiBncih0LGUsaSl7dmFyIG4sbyxhPXt9O2ZvcihuPWU7bjw9aTsrK24pbz10W25dLmtleSxyKG8pJiYoYVtvXT1uKTtyZXR1cm4gYX1mdW5jdGlvbiB2cih0KXt2YXIgZSxpLGE9e30sYz10Lm1vZHVsZXMsaD10Lm5vZGVPcHM7Zm9yKGU9MDtlPHVyLmxlbmd0aDsrK2UpZm9yKGFbdXJbZV1dPVtdLGk9MDtpPGMubGVuZ3RoOysraSlyKGNbaV1bdXJbZV1dKSYmYVt1cltlXV0ucHVzaChjW2ldW3VyW2VdXSk7ZnVuY3Rpb24gbCh0KXtyZXR1cm4gbmV3IGd0KGgudGFnTmFtZSh0KS50b0xvd2VyQ2FzZSgpLHt9LFtdLHZvaWQgMCx0KX1mdW5jdGlvbiBwKHQsZSl7ZnVuY3Rpb24gaSgpezA9PT0tLWkubGlzdGVuZXJzJiZkKHQpfXJldHVybiBpLmxpc3RlbmVycz1lLGl9ZnVuY3Rpb24gZCh0KXt2YXIgZT1oLnBhcmVudE5vZGUodCk7cihlKSYmaC5yZW1vdmVDaGlsZChlLHQpfWZ1bmN0aW9uIHUodCxlLGksbixhLHMsYyl7aWYocih0LmVsbSkmJnIocykmJih0PXNbY109YnQodCkpLHQuaXNSb290SW5zZXJ0PSFhLCFmKHQsZSxpLG4pKXt2YXIgbD10LmRhdGEscD10LmNoaWxkcmVuLGQ9dC50YWc7cihkKT8odC5lbG09dC5ucz9oLmNyZWF0ZUVsZW1lbnROUyh0Lm5zLGQpOmguY3JlYXRlRWxlbWVudChkLHQpLHcodCksXyh0LHAsZSkscihsKSYmeCh0LGUpLHkoaSx0LmVsbSxuKSk6byh0LmlzQ29tbWVudCk/KHQuZWxtPWguY3JlYXRlQ29tbWVudCh0LnRleHQpLHkoaSx0LmVsbSxuKSk6KHQuZWxtPWguY3JlYXRlVGV4dE5vZGUodC50ZXh0KSx5KGksdC5lbG0sbikpfX1mdW5jdGlvbiBmKHQsZSxpLG4pe3ZhciBhPXQuZGF0YTtpZihyKGEpKXt2YXIgcz1yKHQuY29tcG9uZW50SW5zdGFuY2UpJiZhLmtlZXBBbGl2ZTtpZihyKGE9YS5ob29rKSYmcihhPWEuaW5pdCkmJmEodCwhMSkscih0LmNvbXBvbmVudEluc3RhbmNlKSlyZXR1cm4gZyh0LGUpLHkoaSx0LmVsbSxuKSxvKHMpJiZ2KHQsZSxpLG4pLCEwfX1mdW5jdGlvbiBnKHQsZSl7cih0LmRhdGEucGVuZGluZ0luc2VydCkmJihlLnB1c2guYXBwbHkoZSx0LmRhdGEucGVuZGluZ0luc2VydCksdC5kYXRhLnBlbmRpbmdJbnNlcnQ9bnVsbCksdC5lbG09dC5jb21wb25lbnRJbnN0YW5jZS4kZWwsYih0KT8oeCh0LGUpLHcodCkpOihwcih0KSxlLnB1c2godCkpfWZ1bmN0aW9uIHYodCxlLGksbil7dmFyIG8scz10O3doaWxlKHMuY29tcG9uZW50SW5zdGFuY2UpaWYocz1zLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSxyKG89cy5kYXRhKSYmcihvPW8udHJhbnNpdGlvbikpe2ZvcihvPTA7bzxhLmFjdGl2YXRlLmxlbmd0aDsrK28pYS5hY3RpdmF0ZVtvXShkcixzKTtlLnB1c2gocyk7YnJlYWt9eShpLHQuZWxtLG4pfWZ1bmN0aW9uIHkodCxlLGkpe3IodCkmJihyKGkpP2gucGFyZW50Tm9kZShpKT09PXQmJmguaW5zZXJ0QmVmb3JlKHQsZSxpKTpoLmFwcGVuZENoaWxkKHQsZSkpfWZ1bmN0aW9uIF8odCxlLGkpe2lmKEFycmF5LmlzQXJyYXkoZSkpezA7Zm9yKHZhciBuPTA7bjxlLmxlbmd0aDsrK24pdShlW25dLGksdC5lbG0sbnVsbCwhMCxlLG4pfWVsc2Ugcyh0LnRleHQpJiZoLmFwcGVuZENoaWxkKHQuZWxtLGguY3JlYXRlVGV4dE5vZGUoU3RyaW5nKHQudGV4dCkpKX1mdW5jdGlvbiBiKHQpe3doaWxlKHQuY29tcG9uZW50SW5zdGFuY2UpdD10LmNvbXBvbmVudEluc3RhbmNlLl92bm9kZTtyZXR1cm4gcih0LnRhZyl9ZnVuY3Rpb24geCh0LGkpe2Zvcih2YXIgbj0wO248YS5jcmVhdGUubGVuZ3RoOysrbilhLmNyZWF0ZVtuXShkcix0KTtlPXQuZGF0YS5ob29rLHIoZSkmJihyKGUuY3JlYXRlKSYmZS5jcmVhdGUoZHIsdCkscihlLmluc2VydCkmJmkucHVzaCh0KSl9ZnVuY3Rpb24gdyh0KXt2YXIgZTtpZihyKGU9dC5mblNjb3BlSWQpKWguc2V0U3R5bGVTY29wZSh0LmVsbSxlKTtlbHNle3ZhciBpPXQ7d2hpbGUoaSlyKGU9aS5jb250ZXh0KSYmcihlPWUuJG9wdGlvbnMuX3Njb3BlSWQpJiZoLnNldFN0eWxlU2NvcGUodC5lbG0sZSksaT1pLnBhcmVudH1yKGU9TmUpJiZlIT09dC5jb250ZXh0JiZlIT09dC5mbkNvbnRleHQmJnIoZT1lLiRvcHRpb25zLl9zY29wZUlkKSYmaC5zZXRTdHlsZVNjb3BlKHQuZWxtLGUpfWZ1bmN0aW9uIGsodCxlLGksbixyLG8pe2Zvcig7bjw9cjsrK24pdShpW25dLG8sdCxlLCExLGksbil9ZnVuY3Rpb24gQyh0KXt2YXIgZSxpLG49dC5kYXRhO2lmKHIobikpZm9yKHIoZT1uLmhvb2spJiZyKGU9ZS5kZXN0cm95KSYmZSh0KSxlPTA7ZTxhLmRlc3Ryb3kubGVuZ3RoOysrZSlhLmRlc3Ryb3lbZV0odCk7aWYocihlPXQuY2hpbGRyZW4pKWZvcihpPTA7aTx0LmNoaWxkcmVuLmxlbmd0aDsrK2kpQyh0LmNoaWxkcmVuW2ldKX1mdW5jdGlvbiBTKHQsZSxpLG4pe2Zvcig7aTw9bjsrK2kpe3ZhciBvPWVbaV07cihvKSYmKHIoby50YWcpPyhBKG8pLEMobykpOmQoby5lbG0pKX19ZnVuY3Rpb24gQSh0LGUpe2lmKHIoZSl8fHIodC5kYXRhKSl7dmFyIGksbj1hLnJlbW92ZS5sZW5ndGgrMTtmb3IocihlKT9lLmxpc3RlbmVycys9bjplPXAodC5lbG0sbikscihpPXQuY29tcG9uZW50SW5zdGFuY2UpJiZyKGk9aS5fdm5vZGUpJiZyKGkuZGF0YSkmJkEoaSxlKSxpPTA7aTxhLnJlbW92ZS5sZW5ndGg7KytpKWEucmVtb3ZlW2ldKHQsZSk7cihpPXQuZGF0YS5ob29rKSYmcihpPWkucmVtb3ZlKT9pKHQsZSk6ZSgpfWVsc2UgZCh0LmVsbSl9ZnVuY3Rpb24gTSh0LGUsaSxvLGEpe3ZhciBzLGMsbCxwLGQ9MCxmPTAsbT1lLmxlbmd0aC0xLGc9ZVswXSx2PWVbbV0seT1pLmxlbmd0aC0xLF89aVswXSxiPWlbeV0seD0hYTt3aGlsZShkPD1tJiZmPD15KW4oZyk/Zz1lWysrZF06bih2KT92PWVbLS1tXTpmcihnLF8pPyhPKGcsXyxvLGksZiksZz1lWysrZF0sXz1pWysrZl0pOmZyKHYsYik/KE8odixiLG8saSx5KSx2PWVbLS1tXSxiPWlbLS15XSk6ZnIoZyxiKT8oTyhnLGIsbyxpLHkpLHgmJmguaW5zZXJ0QmVmb3JlKHQsZy5lbG0saC5uZXh0U2libGluZyh2LmVsbSkpLGc9ZVsrK2RdLGI9aVstLXldKTpmcih2LF8pPyhPKHYsXyxvLGksZikseCYmaC5pbnNlcnRCZWZvcmUodCx2LmVsbSxnLmVsbSksdj1lWy0tbV0sXz1pWysrZl0pOihuKHMpJiYocz1ncihlLGQsbSkpLGM9cihfLmtleSk/c1tfLmtleV06UChfLGUsZCxtKSxuKGMpP3UoXyxvLHQsZy5lbG0sITEsaSxmKToobD1lW2NdLGZyKGwsXyk/KE8obCxfLG8saSxmKSxlW2NdPXZvaWQgMCx4JiZoLmluc2VydEJlZm9yZSh0LGwuZWxtLGcuZWxtKSk6dShfLG8sdCxnLmVsbSwhMSxpLGYpKSxfPWlbKytmXSk7ZD5tPyhwPW4oaVt5KzFdKT9udWxsOmlbeSsxXS5lbG0sayh0LHAsaSxmLHksbykpOmY+eSYmUyh0LGUsZCxtKX1mdW5jdGlvbiBQKHQsZSxpLG4pe2Zvcih2YXIgbz1pO288bjtvKyspe3ZhciBhPWVbb107aWYocihhKSYmZnIodCxhKSlyZXR1cm4gb319ZnVuY3Rpb24gTyh0LGUsaSxzLGMsbCl7aWYodCE9PWUpe3IoZS5lbG0pJiZyKHMpJiYoZT1zW2NdPWJ0KGUpKTt2YXIgcD1lLmVsbT10LmVsbTtpZihvKHQuaXNBc3luY1BsYWNlaG9sZGVyKSlyKGUuYXN5bmNGYWN0b3J5LnJlc29sdmVkKT9MKHQuZWxtLGUsaSk6ZS5pc0FzeW5jUGxhY2Vob2xkZXI9ITA7ZWxzZSBpZihvKGUuaXNTdGF0aWMpJiZvKHQuaXNTdGF0aWMpJiZlLmtleT09PXQua2V5JiYobyhlLmlzQ2xvbmVkKXx8byhlLmlzT25jZSkpKWUuY29tcG9uZW50SW5zdGFuY2U9dC5jb21wb25lbnRJbnN0YW5jZTtlbHNle3ZhciBkLHU9ZS5kYXRhO3IodSkmJnIoZD11Lmhvb2spJiZyKGQ9ZC5wcmVwYXRjaCkmJmQodCxlKTt2YXIgZj10LmNoaWxkcmVuLG09ZS5jaGlsZHJlbjtpZihyKHUpJiZiKGUpKXtmb3IoZD0wO2Q8YS51cGRhdGUubGVuZ3RoOysrZClhLnVwZGF0ZVtkXSh0LGUpO3IoZD11Lmhvb2spJiZyKGQ9ZC51cGRhdGUpJiZkKHQsZSl9bihlLnRleHQpP3IoZikmJnIobSk/ZiE9PW0mJk0ocCxmLG0saSxsKTpyKG0pPyhyKHQudGV4dCkmJmguc2V0VGV4dENvbnRlbnQocCwiIiksayhwLG51bGwsbSwwLG0ubGVuZ3RoLTEsaSkpOnIoZik/UyhwLGYsMCxmLmxlbmd0aC0xKTpyKHQudGV4dCkmJmguc2V0VGV4dENvbnRlbnQocCwiIik6dC50ZXh0IT09ZS50ZXh0JiZoLnNldFRleHRDb250ZW50KHAsZS50ZXh0KSxyKHUpJiZyKGQ9dS5ob29rKSYmcihkPWQucG9zdHBhdGNoKSYmZCh0LGUpfX19ZnVuY3Rpb24gVCh0LGUsaSl7aWYobyhpKSYmcih0LnBhcmVudCkpdC5wYXJlbnQuZGF0YS5wZW5kaW5nSW5zZXJ0PWU7ZWxzZSBmb3IodmFyIG49MDtuPGUubGVuZ3RoOysrbillW25dLmRhdGEuaG9vay5pbnNlcnQoZVtuXSl9dmFyIEU9bSgiYXR0cnMsY2xhc3Msc3RhdGljQ2xhc3Msc3RhdGljU3R5bGUsa2V5Iik7ZnVuY3Rpb24gTCh0LGUsaSxuKXt2YXIgYSxzPWUudGFnLGM9ZS5kYXRhLGg9ZS5jaGlsZHJlbjtpZihuPW58fGMmJmMucHJlLGUuZWxtPXQsbyhlLmlzQ29tbWVudCkmJnIoZS5hc3luY0ZhY3RvcnkpKXJldHVybiBlLmlzQXN5bmNQbGFjZWhvbGRlcj0hMCwhMDtpZihyKGMpJiYocihhPWMuaG9vaykmJnIoYT1hLmluaXQpJiZhKGUsITApLHIoYT1lLmNvbXBvbmVudEluc3RhbmNlKSkpcmV0dXJuIGcoZSxpKSwhMDtpZihyKHMpKXtpZihyKGgpKWlmKHQuaGFzQ2hpbGROb2RlcygpKWlmKHIoYT1jKSYmcihhPWEuZG9tUHJvcHMpJiZyKGE9YS5pbm5lckhUTUwpKXtpZihhIT09dC5pbm5lckhUTUwpcmV0dXJuITF9ZWxzZXtmb3IodmFyIGw9ITAscD10LmZpcnN0Q2hpbGQsZD0wO2Q8aC5sZW5ndGg7ZCsrKXtpZighcHx8IUwocCxoW2RdLGksbikpe2w9ITE7YnJlYWt9cD1wLm5leHRTaWJsaW5nfWlmKCFsfHxwKXJldHVybiExfWVsc2UgXyhlLGgsaSk7aWYocihjKSl7dmFyIHU9ITE7Zm9yKHZhciBmIGluIGMpaWYoIUUoZikpe3U9ITAseChlLGkpO2JyZWFrfSF1JiZjWyJjbGFzcyJdJiZkZShjWyJjbGFzcyJdKX19ZWxzZSB0LmRhdGEhPT1lLnRleHQmJih0LmRhdGE9ZS50ZXh0KTtyZXR1cm4hMH1yZXR1cm4gZnVuY3Rpb24odCxlLGkscyl7aWYoIW4oZSkpe3ZhciBjPSExLHA9W107aWYobih0KSljPSEwLHUoZSxwKTtlbHNle3ZhciBkPXIodC5ub2RlVHlwZSk7aWYoIWQmJmZyKHQsZSkpTyh0LGUscCxudWxsLG51bGwscyk7ZWxzZXtpZihkKXtpZigxPT09dC5ub2RlVHlwZSYmdC5oYXNBdHRyaWJ1dGUoUikmJih0LnJlbW92ZUF0dHJpYnV0ZShSKSxpPSEwKSxvKGkpJiZMKHQsZSxwKSlyZXR1cm4gVChlLHAsITApLHQ7dD1sKHQpfXZhciBmPXQuZWxtLG09aC5wYXJlbnROb2RlKGYpO2lmKHUoZSxwLGYuX2xlYXZlQ2I/bnVsbDptLGgubmV4dFNpYmxpbmcoZikpLHIoZS5wYXJlbnQpKXt2YXIgZz1lLnBhcmVudCx2PWIoZSk7d2hpbGUoZyl7Zm9yKHZhciB5PTA7eTxhLmRlc3Ryb3kubGVuZ3RoOysreSlhLmRlc3Ryb3lbeV0oZyk7aWYoZy5lbG09ZS5lbG0sdil7Zm9yKHZhciBfPTA7XzxhLmNyZWF0ZS5sZW5ndGg7KytfKWEuY3JlYXRlW19dKGRyLGcpO3ZhciB4PWcuZGF0YS5ob29rLmluc2VydDtpZih4Lm1lcmdlZClmb3IodmFyIHc9MTt3PHguZm5zLmxlbmd0aDt3KyspeC5mbnNbd10oKX1lbHNlIHByKGcpO2c9Zy5wYXJlbnR9fXIobSk/UyhtLFt0XSwwLDApOnIodC50YWcpJiZDKHQpfX1yZXR1cm4gVChlLHAsYyksZS5lbG19cih0KSYmQyh0KX19dmFyIHlyPXtjcmVhdGU6X3IsdXBkYXRlOl9yLGRlc3Ryb3k6ZnVuY3Rpb24odCl7X3IodCxkcil9fTtmdW5jdGlvbiBfcih0LGUpeyh0LmRhdGEuZGlyZWN0aXZlc3x8ZS5kYXRhLmRpcmVjdGl2ZXMpJiZicih0LGUpfWZ1bmN0aW9uIGJyKHQsZSl7dmFyIGksbixyLG89dD09PWRyLGE9ZT09PWRyLHM9d3IodC5kYXRhLmRpcmVjdGl2ZXMsdC5jb250ZXh0KSxjPXdyKGUuZGF0YS5kaXJlY3RpdmVzLGUuY29udGV4dCksaD1bXSxsPVtdO2ZvcihpIGluIGMpbj1zW2ldLHI9Y1tpXSxuPyhyLm9sZFZhbHVlPW4udmFsdWUsQ3IociwidXBkYXRlIixlLHQpLHIuZGVmJiZyLmRlZi5jb21wb25lbnRVcGRhdGVkJiZsLnB1c2gocikpOihDcihyLCJiaW5kIixlLHQpLHIuZGVmJiZyLmRlZi5pbnNlcnRlZCYmaC5wdXNoKHIpKTtpZihoLmxlbmd0aCl7dmFyIHA9ZnVuY3Rpb24oKXtmb3IodmFyIGk9MDtpPGgubGVuZ3RoO2krKylDcihoW2ldLCJpbnNlcnRlZCIsZSx0KX07bz95ZShlLCJpbnNlcnQiLHApOnAoKX1pZihsLmxlbmd0aCYmeWUoZSwicG9zdHBhdGNoIiwoZnVuY3Rpb24oKXtmb3IodmFyIGk9MDtpPGwubGVuZ3RoO2krKylDcihsW2ldLCJjb21wb25lbnRVcGRhdGVkIixlLHQpfSkpLCFvKWZvcihpIGluIHMpY1tpXXx8Q3Ioc1tpXSwidW5iaW5kIix0LHQsYSl9dmFyIHhyPU9iamVjdC5jcmVhdGUobnVsbCk7ZnVuY3Rpb24gd3IodCxlKXt2YXIgaSxuLHI9T2JqZWN0LmNyZWF0ZShudWxsKTtpZighdClyZXR1cm4gcjtmb3IoaT0wO2k8dC5sZW5ndGg7aSsrKW49dFtpXSxuLm1vZGlmaWVyc3x8KG4ubW9kaWZpZXJzPXhyKSxyW2tyKG4pXT1uLG4uZGVmPVh0KGUuJG9wdGlvbnMsImRpcmVjdGl2ZXMiLG4ubmFtZSwhMCk7cmV0dXJuIHJ9ZnVuY3Rpb24ga3IodCl7cmV0dXJuIHQucmF3TmFtZXx8dC5uYW1lKyIuIitPYmplY3Qua2V5cyh0Lm1vZGlmaWVyc3x8e30pLmpvaW4oIi4iKX1mdW5jdGlvbiBDcih0LGUsaSxuLHIpe3ZhciBvPXQuZGVmJiZ0LmRlZltlXTtpZihvKXRyeXtvKGkuZWxtLHQsaSxuLHIpfWNhdGNoKHNhKXtxdChzYSxpLmNvbnRleHQsImRpcmVjdGl2ZSAiK3QubmFtZSsiICIrZSsiIGhvb2siKX19dmFyIFNyPVtscix5cl07ZnVuY3Rpb24gQXIodCxlKXt2YXIgaT1lLmNvbXBvbmVudE9wdGlvbnM7aWYoKCFyKGkpfHwhMSE9PWkuQ3Rvci5vcHRpb25zLmluaGVyaXRBdHRycykmJighbih0LmRhdGEuYXR0cnMpfHwhbihlLmRhdGEuYXR0cnMpKSl7dmFyIG8sYSxzLGM9ZS5lbG0saD10LmRhdGEuYXR0cnN8fHt9LGw9ZS5kYXRhLmF0dHJzfHx7fTtmb3IobyBpbiByKGwuX19vYl9fKSYmKGw9ZS5kYXRhLmF0dHJzPVQoe30sbCkpLGwpYT1sW29dLHM9aFtvXSxzIT09YSYmTXIoYyxvLGEpO2ZvcihvIGluKEp8fHR0KSYmbC52YWx1ZSE9PWgudmFsdWUmJk1yKGMsInZhbHVlIixsLnZhbHVlKSxoKW4obFtvXSkmJihMbihvKT9jLnJlbW92ZUF0dHJpYnV0ZU5TKEVuLGpuKG8pKTpPbihvKXx8Yy5yZW1vdmVBdHRyaWJ1dGUobykpfX1mdW5jdGlvbiBNcih0LGUsaSl7dC50YWdOYW1lLmluZGV4T2YoIi0iKT4tMT9Qcih0LGUsaSk6VG4oZSk/RG4oaSk/dC5yZW1vdmVBdHRyaWJ1dGUoZSk6KGk9ImFsbG93ZnVsbHNjcmVlbiI9PT1lJiYiRU1CRUQiPT09dC50YWdOYW1lPyJ0cnVlIjplLHQuc2V0QXR0cmlidXRlKGUsaSkpOk9uKGUpP3Quc2V0QXR0cmlidXRlKGUsRG4oaSl8fCJmYWxzZSI9PT1pPyJmYWxzZSI6InRydWUiKTpMbihlKT9EbihpKT90LnJlbW92ZUF0dHJpYnV0ZU5TKEVuLGpuKGUpKTp0LnNldEF0dHJpYnV0ZU5TKEVuLGUsaSk6UHIodCxlLGkpfWZ1bmN0aW9uIFByKHQsZSxpKXtpZihEbihpKSl0LnJlbW92ZUF0dHJpYnV0ZShlKTtlbHNle2lmKEomJiFRJiYoIlRFWFRBUkVBIj09PXQudGFnTmFtZXx8IklOUFVUIj09PXQudGFnTmFtZSkmJiJwbGFjZWhvbGRlciI9PT1lJiYhdC5fX2llcGgpe3ZhciBuPWZ1bmN0aW9uKGUpe2Uuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCksdC5yZW1vdmVFdmVudExpc3RlbmVyKCJpbnB1dCIsbil9O3QuYWRkRXZlbnRMaXN0ZW5lcigiaW5wdXQiLG4pLHQuX19pZXBoPSEwfXQuc2V0QXR0cmlidXRlKGUsaSl9fXZhciBPcj17Y3JlYXRlOkFyLHVwZGF0ZTpBcn07ZnVuY3Rpb24gVHIodCxlKXt2YXIgaT1lLmVsbSxvPWUuZGF0YSxhPXQuZGF0YTtpZighKG4oby5zdGF0aWNDbGFzcykmJm4oby5jbGFzcykmJihuKGEpfHxuKGEuc3RhdGljQ2xhc3MpJiZuKGEuY2xhc3MpKSkpe3ZhciBzPUluKGUpLGM9aS5fdHJhbnNpdGlvbkNsYXNzZXM7cihjKSYmKHM9Um4ocyxObihjKSkpLHMhPT1pLl9wcmV2Q2xhc3MmJihpLnNldEF0dHJpYnV0ZSgiY2xhc3MiLHMpLGkuX3ByZXZDbGFzcz1zKX19dmFyIEVyLExyPXtjcmVhdGU6VHIsdXBkYXRlOlRyfSxqcj0iX19yIixEcj0iX19jIjtmdW5jdGlvbiBJcih0KXtpZihyKHRbanJdKSl7dmFyIGU9Sj8iY2hhbmdlIjoiaW5wdXQiO3RbZV09W10uY29uY2F0KHRbanJdLHRbZV18fFtdKSxkZWxldGUgdFtqcl19cih0W0RyXSkmJih0LmNoYW5nZT1bXS5jb25jYXQodFtEcl0sdC5jaGFuZ2V8fFtdKSxkZWxldGUgdFtEcl0pfWZ1bmN0aW9uIHpyKHQsZSxpKXt2YXIgbj1FcjtyZXR1cm4gZnVuY3Rpb24gcigpe3ZhciBvPWUuYXBwbHkobnVsbCxhcmd1bWVudHMpO251bGwhPT1vJiZScih0LHIsaSxuKX19ZnVuY3Rpb24gQnIodCxlLGksbil7ZT1oZShlKSxFci5hZGRFdmVudExpc3RlbmVyKHQsZSxudD97Y2FwdHVyZTppLHBhc3NpdmU6bn06aSl9ZnVuY3Rpb24gUnIodCxlLGksbil7KG58fEVyKS5yZW1vdmVFdmVudExpc3RlbmVyKHQsZS5fd2l0aFRhc2t8fGUsaSl9ZnVuY3Rpb24gTnIodCxlKXtpZighbih0LmRhdGEub24pfHwhbihlLmRhdGEub24pKXt2YXIgaT1lLmRhdGEub258fHt9LHI9dC5kYXRhLm9ufHx7fTtFcj1lLmVsbSxJcihpKSx2ZShpLHIsQnIsUnIsenIsZS5jb250ZXh0KSxFcj12b2lkIDB9fXZhciBHcj17Y3JlYXRlOk5yLHVwZGF0ZTpOcn07ZnVuY3Rpb24gRnIodCxlKXtpZighbih0LmRhdGEuZG9tUHJvcHMpfHwhbihlLmRhdGEuZG9tUHJvcHMpKXt2YXIgaSxvLGE9ZS5lbG0scz10LmRhdGEuZG9tUHJvcHN8fHt9LGM9ZS5kYXRhLmRvbVByb3BzfHx7fTtmb3IoaSBpbiByKGMuX19vYl9fKSYmKGM9ZS5kYXRhLmRvbVByb3BzPVQoe30sYykpLHMpbihjW2ldKSYmKGFbaV09IiIpO2ZvcihpIGluIGMpe2lmKG89Y1tpXSwidGV4dENvbnRlbnQiPT09aXx8ImlubmVySFRNTCI9PT1pKXtpZihlLmNoaWxkcmVuJiYoZS5jaGlsZHJlbi5sZW5ndGg9MCksbz09PXNbaV0pY29udGludWU7MT09PWEuY2hpbGROb2Rlcy5sZW5ndGgmJmEucmVtb3ZlQ2hpbGQoYS5jaGlsZE5vZGVzWzBdKX1pZigidmFsdWUiPT09aSl7YS5fdmFsdWU9bzt2YXIgaD1uKG8pPyIiOlN0cmluZyhvKTtIcihhLGgpJiYoYS52YWx1ZT1oKX1lbHNlIGFbaV09b319fWZ1bmN0aW9uIEhyKHQsZSl7cmV0dXJuIXQuY29tcG9zaW5nJiYoIk9QVElPTiI9PT10LnRhZ05hbWV8fFdyKHQsZSl8fFVyKHQsZSkpfWZ1bmN0aW9uIFdyKHQsZSl7dmFyIGk9ITA7dHJ5e2k9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCE9PXR9Y2F0Y2goc2Epe31yZXR1cm4gaSYmdC52YWx1ZSE9PWV9ZnVuY3Rpb24gVXIodCxlKXt2YXIgaT10LnZhbHVlLG49dC5fdk1vZGlmaWVycztpZihyKG4pKXtpZihuLmxhenkpcmV0dXJuITE7aWYobi5udW1iZXIpcmV0dXJuIGYoaSkhPT1mKGUpO2lmKG4udHJpbSlyZXR1cm4gaS50cmltKCkhPT1lLnRyaW0oKX1yZXR1cm4gaSE9PWV9dmFyIFhyPXtjcmVhdGU6RnIsdXBkYXRlOkZyfSxWcj1iKChmdW5jdGlvbih0KXt2YXIgZT17fSxpPS87KD8hW14oXSpcKSkvZyxuPS86KC4rKS87cmV0dXJuIHQuc3BsaXQoaSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7aWYodCl7dmFyIGk9dC5zcGxpdChuKTtpLmxlbmd0aD4xJiYoZVtpWzBdLnRyaW0oKV09aVsxXS50cmltKCkpfX0pKSxlfSkpO2Z1bmN0aW9uIFlyKHQpe3ZhciBlPSRyKHQuc3R5bGUpO3JldHVybiB0LnN0YXRpY1N0eWxlP1QodC5zdGF0aWNTdHlsZSxlKTplfWZ1bmN0aW9uICRyKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpP0UodCk6InN0cmluZyI9PT10eXBlb2YgdD9Wcih0KTp0fWZ1bmN0aW9uIEtyKHQsZSl7dmFyIGksbj17fTtpZihlKXt2YXIgcj10O3doaWxlKHIuY29tcG9uZW50SW5zdGFuY2Upcj1yLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZSxyJiZyLmRhdGEmJihpPVlyKHIuZGF0YSkpJiZUKG4saSl9KGk9WXIodC5kYXRhKSkmJlQobixpKTt2YXIgbz10O3doaWxlKG89by5wYXJlbnQpby5kYXRhJiYoaT1ZcihvLmRhdGEpKSYmVChuLGkpO3JldHVybiBufXZhciBacixxcj0vXi0tLyxKcj0vXHMqIWltcG9ydGFudCQvLFFyPWZ1bmN0aW9uKHQsZSxpKXtpZihxci50ZXN0KGUpKXQuc3R5bGUuc2V0UHJvcGVydHkoZSxpKTtlbHNlIGlmKEpyLnRlc3QoaSkpdC5zdHlsZS5zZXRQcm9wZXJ0eShlLGkucmVwbGFjZShKciwiIiksImltcG9ydGFudCIpO2Vsc2V7dmFyIG49ZW8oZSk7aWYoQXJyYXkuaXNBcnJheShpKSlmb3IodmFyIHI9MCxvPWkubGVuZ3RoO3I8bztyKyspdC5zdHlsZVtuXT1pW3JdO2Vsc2UgdC5zdHlsZVtuXT1pfX0sdG89WyJXZWJraXQiLCJNb3oiLCJtcyJdLGVvPWIoKGZ1bmN0aW9uKHQpe2lmKFpyPVpyfHxkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKS5zdHlsZSx0PXcodCksImZpbHRlciIhPT10JiZ0IGluIFpyKXJldHVybiB0O2Zvcih2YXIgZT10LmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSksaT0wO2k8dG8ubGVuZ3RoO2krKyl7dmFyIG49dG9baV0rZTtpZihuIGluIFpyKXJldHVybiBufX0pKTtmdW5jdGlvbiBpbyh0LGUpe3ZhciBpPWUuZGF0YSxvPXQuZGF0YTtpZighKG4oaS5zdGF0aWNTdHlsZSkmJm4oaS5zdHlsZSkmJm4oby5zdGF0aWNTdHlsZSkmJm4oby5zdHlsZSkpKXt2YXIgYSxzLGM9ZS5lbG0saD1vLnN0YXRpY1N0eWxlLGw9by5ub3JtYWxpemVkU3R5bGV8fG8uc3R5bGV8fHt9LHA9aHx8bCxkPSRyKGUuZGF0YS5zdHlsZSl8fHt9O2UuZGF0YS5ub3JtYWxpemVkU3R5bGU9cihkLl9fb2JfXyk/VCh7fSxkKTpkO3ZhciB1PUtyKGUsITApO2ZvcihzIGluIHApbih1W3NdKSYmUXIoYyxzLCIiKTtmb3IocyBpbiB1KWE9dVtzXSxhIT09cFtzXSYmUXIoYyxzLG51bGw9PWE/IiI6YSl9fXZhciBubz17Y3JlYXRlOmlvLHVwZGF0ZTppb30scm89L1xzKy87ZnVuY3Rpb24gb28odCxlKXtpZihlJiYoZT1lLnRyaW0oKSkpaWYodC5jbGFzc0xpc3QpZS5pbmRleE9mKCIgIik+LTE/ZS5zcGxpdChybykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2xhc3NMaXN0LmFkZChlKX0pKTp0LmNsYXNzTGlzdC5hZGQoZSk7ZWxzZXt2YXIgaT0iICIrKHQuZ2V0QXR0cmlidXRlKCJjbGFzcyIpfHwiIikrIiAiO2kuaW5kZXhPZigiICIrZSsiICIpPDAmJnQuc2V0QXR0cmlidXRlKCJjbGFzcyIsKGkrZSkudHJpbSgpKX19ZnVuY3Rpb24gYW8odCxlKXtpZihlJiYoZT1lLnRyaW0oKSkpaWYodC5jbGFzc0xpc3QpZS5pbmRleE9mKCIgIik+LTE/ZS5zcGxpdChybykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cmV0dXJuIHQuY2xhc3NMaXN0LnJlbW92ZShlKX0pKTp0LmNsYXNzTGlzdC5yZW1vdmUoZSksdC5jbGFzc0xpc3QubGVuZ3RofHx0LnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKTtlbHNle3ZhciBpPSIgIisodC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKSsiICIsbj0iICIrZSsiICI7d2hpbGUoaS5pbmRleE9mKG4pPj0wKWk9aS5yZXBsYWNlKG4sIiAiKTtpPWkudHJpbSgpLGk/dC5zZXRBdHRyaWJ1dGUoImNsYXNzIixpKTp0LnJlbW92ZUF0dHJpYnV0ZSgiY2xhc3MiKX19ZnVuY3Rpb24gc28odCl7aWYodCl7aWYoIm9iamVjdCI9PT10eXBlb2YgdCl7dmFyIGU9e307cmV0dXJuITEhPT10LmNzcyYmVChlLGNvKHQubmFtZXx8InYiKSksVChlLHQpLGV9cmV0dXJuInN0cmluZyI9PT10eXBlb2YgdD9jbyh0KTp2b2lkIDB9fXZhciBjbz1iKChmdW5jdGlvbih0KXtyZXR1cm57ZW50ZXJDbGFzczp0KyItZW50ZXIiLGVudGVyVG9DbGFzczp0KyItZW50ZXItdG8iLGVudGVyQWN0aXZlQ2xhc3M6dCsiLWVudGVyLWFjdGl2ZSIsbGVhdmVDbGFzczp0KyItbGVhdmUiLGxlYXZlVG9DbGFzczp0KyItbGVhdmUtdG8iLGxlYXZlQWN0aXZlQ2xhc3M6dCsiLWxlYXZlLWFjdGl2ZSJ9fSkpLGhvPSQmJiFRLGxvPSJ0cmFuc2l0aW9uIixwbz0iYW5pbWF0aW9uIix1bz0idHJhbnNpdGlvbiIsZm89InRyYW5zaXRpb25lbmQiLG1vPSJhbmltYXRpb24iLGdvPSJhbmltYXRpb25lbmQiO2hvJiYodm9pZCAwPT09d2luZG93Lm9udHJhbnNpdGlvbmVuZCYmdm9pZCAwIT09d2luZG93Lm9ud2Via2l0dHJhbnNpdGlvbmVuZCYmKHVvPSJXZWJraXRUcmFuc2l0aW9uIixmbz0id2Via2l0VHJhbnNpdGlvbkVuZCIpLHZvaWQgMD09PXdpbmRvdy5vbmFuaW1hdGlvbmVuZCYmdm9pZCAwIT09d2luZG93Lm9ud2Via2l0YW5pbWF0aW9uZW5kJiYobW89IldlYmtpdEFuaW1hdGlvbiIsZ289IndlYmtpdEFuaW1hdGlvbkVuZCIpKTt2YXIgdm89JD93aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lP3dpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUuYmluZCh3aW5kb3cpOnNldFRpbWVvdXQ6ZnVuY3Rpb24odCl7cmV0dXJuIHQoKX07ZnVuY3Rpb24geW8odCl7dm8oKGZ1bmN0aW9uKCl7dm8odCl9KSl9ZnVuY3Rpb24gX28odCxlKXt2YXIgaT10Ll90cmFuc2l0aW9uQ2xhc3Nlc3x8KHQuX3RyYW5zaXRpb25DbGFzc2VzPVtdKTtpLmluZGV4T2YoZSk8MCYmKGkucHVzaChlKSxvbyh0LGUpKX1mdW5jdGlvbiBibyh0LGUpe3QuX3RyYW5zaXRpb25DbGFzc2VzJiZ2KHQuX3RyYW5zaXRpb25DbGFzc2VzLGUpLGFvKHQsZSl9ZnVuY3Rpb24geG8odCxlLGkpe3ZhciBuPWtvKHQsZSkscj1uLnR5cGUsbz1uLnRpbWVvdXQsYT1uLnByb3BDb3VudDtpZighcilyZXR1cm4gaSgpO3ZhciBzPXI9PT1sbz9mbzpnbyxjPTAsaD1mdW5jdGlvbigpe3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihzLGwpLGkoKX0sbD1mdW5jdGlvbihlKXtlLnRhcmdldD09PXQmJisrYz49YSYmaCgpfTtzZXRUaW1lb3V0KChmdW5jdGlvbigpe2M8YSYmaCgpfSksbysxKSx0LmFkZEV2ZW50TGlzdGVuZXIocyxsKX12YXIgd289L1xiKHRyYW5zZm9ybXxhbGwpKCx8JCkvO2Z1bmN0aW9uIGtvKHQsZSl7dmFyIGksbj13aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0KSxyPShuW3VvKyJEZWxheSJdfHwiIikuc3BsaXQoIiwgIiksbz0oblt1bysiRHVyYXRpb24iXXx8IiIpLnNwbGl0KCIsICIpLGE9Q28ocixvKSxzPShuW21vKyJEZWxheSJdfHwiIikuc3BsaXQoIiwgIiksYz0oblttbysiRHVyYXRpb24iXXx8IiIpLnNwbGl0KCIsICIpLGg9Q28ocyxjKSxsPTAscD0wO2U9PT1sbz9hPjAmJihpPWxvLGw9YSxwPW8ubGVuZ3RoKTplPT09cG8/aD4wJiYoaT1wbyxsPWgscD1jLmxlbmd0aCk6KGw9TWF0aC5tYXgoYSxoKSxpPWw+MD9hPmg/bG86cG86bnVsbCxwPWk/aT09PWxvP28ubGVuZ3RoOmMubGVuZ3RoOjApO3ZhciBkPWk9PT1sbyYmd28udGVzdChuW3VvKyJQcm9wZXJ0eSJdKTtyZXR1cm57dHlwZTppLHRpbWVvdXQ6bCxwcm9wQ291bnQ6cCxoYXNUcmFuc2Zvcm06ZH19ZnVuY3Rpb24gQ28odCxlKXt3aGlsZSh0Lmxlbmd0aDxlLmxlbmd0aCl0PXQuY29uY2F0KHQpO3JldHVybiBNYXRoLm1heC5hcHBseShudWxsLGUubWFwKChmdW5jdGlvbihlLGkpe3JldHVybiBTbyhlKStTbyh0W2ldKX0pKSl9ZnVuY3Rpb24gU28odCl7cmV0dXJuIDFlMypOdW1iZXIodC5zbGljZSgwLC0xKS5yZXBsYWNlKCIsIiwiLiIpKX1mdW5jdGlvbiBBbyh0LGUpe3ZhciBpPXQuZWxtO3IoaS5fbGVhdmVDYikmJihpLl9sZWF2ZUNiLmNhbmNlbGxlZD0hMCxpLl9sZWF2ZUNiKCkpO3ZhciBvPXNvKHQuZGF0YS50cmFuc2l0aW9uKTtpZighbihvKSYmIXIoaS5fZW50ZXJDYikmJjE9PT1pLm5vZGVUeXBlKXt2YXIgYT1vLmNzcyxzPW8udHlwZSxoPW8uZW50ZXJDbGFzcyxsPW8uZW50ZXJUb0NsYXNzLHA9by5lbnRlckFjdGl2ZUNsYXNzLGQ9by5hcHBlYXJDbGFzcyx1PW8uYXBwZWFyVG9DbGFzcyxtPW8uYXBwZWFyQWN0aXZlQ2xhc3MsZz1vLmJlZm9yZUVudGVyLHY9by5lbnRlcix5PW8uYWZ0ZXJFbnRlcixfPW8uZW50ZXJDYW5jZWxsZWQsYj1vLmJlZm9yZUFwcGVhcix4PW8uYXBwZWFyLHc9by5hZnRlckFwcGVhcixrPW8uYXBwZWFyQ2FuY2VsbGVkLEM9by5kdXJhdGlvbixTPU5lLEE9TmUuJHZub2RlO3doaWxlKEEmJkEucGFyZW50KUE9QS5wYXJlbnQsUz1BLmNvbnRleHQ7dmFyIE09IVMuX2lzTW91bnRlZHx8IXQuaXNSb290SW5zZXJ0O2lmKCFNfHx4fHwiIj09PXgpe3ZhciBQPU0mJmQ/ZDpoLE89TSYmbT9tOnAsVD1NJiZ1P3U6bCxFPU0mJmJ8fGcsTD1NJiYiZnVuY3Rpb24iPT09dHlwZW9mIHg/eDp2LGo9TSYmd3x8eSxEPU0mJmt8fF8sST1mKGMoQyk/Qy5lbnRlcjpDKTswO3ZhciB6PSExIT09YSYmIVEsUj1PbyhMKSxOPWkuX2VudGVyQ2I9QigoZnVuY3Rpb24oKXt6JiYoYm8oaSxUKSxibyhpLE8pKSxOLmNhbmNlbGxlZD8oeiYmYm8oaSxQKSxEJiZEKGkpKTpqJiZqKGkpLGkuX2VudGVyQ2I9bnVsbH0pKTt0LmRhdGEuc2hvd3x8eWUodCwiaW5zZXJ0IiwoZnVuY3Rpb24oKXt2YXIgZT1pLnBhcmVudE5vZGUsbj1lJiZlLl9wZW5kaW5nJiZlLl9wZW5kaW5nW3Qua2V5XTtuJiZuLnRhZz09PXQudGFnJiZuLmVsbS5fbGVhdmVDYiYmbi5lbG0uX2xlYXZlQ2IoKSxMJiZMKGksTil9KSksRSYmRShpKSx6JiYoX28oaSxQKSxfbyhpLE8pLHlvKChmdW5jdGlvbigpe2JvKGksUCksTi5jYW5jZWxsZWR8fChfbyhpLFQpLFJ8fChQbyhJKT9zZXRUaW1lb3V0KE4sSSk6eG8oaSxzLE4pKSl9KSkpLHQuZGF0YS5zaG93JiYoZSYmZSgpLEwmJkwoaSxOKSksenx8Unx8TigpfX19ZnVuY3Rpb24gTW8odCxlKXt2YXIgaT10LmVsbTtyKGkuX2VudGVyQ2IpJiYoaS5fZW50ZXJDYi5jYW5jZWxsZWQ9ITAsaS5fZW50ZXJDYigpKTt2YXIgbz1zbyh0LmRhdGEudHJhbnNpdGlvbik7aWYobihvKXx8MSE9PWkubm9kZVR5cGUpcmV0dXJuIGUoKTtpZighcihpLl9sZWF2ZUNiKSl7dmFyIGE9by5jc3Mscz1vLnR5cGUsaD1vLmxlYXZlQ2xhc3MsbD1vLmxlYXZlVG9DbGFzcyxwPW8ubGVhdmVBY3RpdmVDbGFzcyxkPW8uYmVmb3JlTGVhdmUsdT1vLmxlYXZlLG09by5hZnRlckxlYXZlLGc9by5sZWF2ZUNhbmNlbGxlZCx2PW8uZGVsYXlMZWF2ZSx5PW8uZHVyYXRpb24sXz0hMSE9PWEmJiFRLGI9T28odSkseD1mKGMoeSk/eS5sZWF2ZTp5KTswO3ZhciB3PWkuX2xlYXZlQ2I9QigoZnVuY3Rpb24oKXtpLnBhcmVudE5vZGUmJmkucGFyZW50Tm9kZS5fcGVuZGluZyYmKGkucGFyZW50Tm9kZS5fcGVuZGluZ1t0LmtleV09bnVsbCksXyYmKGJvKGksbCksYm8oaSxwKSksdy5jYW5jZWxsZWQ/KF8mJmJvKGksaCksZyYmZyhpKSk6KGUoKSxtJiZtKGkpKSxpLl9sZWF2ZUNiPW51bGx9KSk7dj92KGspOmsoKX1mdW5jdGlvbiBrKCl7dy5jYW5jZWxsZWR8fCghdC5kYXRhLnNob3cmJmkucGFyZW50Tm9kZSYmKChpLnBhcmVudE5vZGUuX3BlbmRpbmd8fChpLnBhcmVudE5vZGUuX3BlbmRpbmc9e30pKVt0LmtleV09dCksZCYmZChpKSxfJiYoX28oaSxoKSxfbyhpLHApLHlvKChmdW5jdGlvbigpe2JvKGksaCksdy5jYW5jZWxsZWR8fChfbyhpLGwpLGJ8fChQbyh4KT9zZXRUaW1lb3V0KHcseCk6eG8oaSxzLHcpKSl9KSkpLHUmJnUoaSx3KSxffHxifHx3KCkpfX1mdW5jdGlvbiBQbyh0KXtyZXR1cm4ibnVtYmVyIj09PXR5cGVvZiB0JiYhaXNOYU4odCl9ZnVuY3Rpb24gT28odCl7aWYobih0KSlyZXR1cm4hMTt2YXIgZT10LmZucztyZXR1cm4gcihlKT9PbyhBcnJheS5pc0FycmF5KGUpP2VbMF06ZSk6KHQuX2xlbmd0aHx8dC5sZW5ndGgpPjF9ZnVuY3Rpb24gVG8odCxlKXshMCE9PWUuZGF0YS5zaG93JiZBbyhlKX12YXIgRW89JD97Y3JlYXRlOlRvLGFjdGl2YXRlOlRvLHJlbW92ZTpmdW5jdGlvbih0LGUpeyEwIT09dC5kYXRhLnNob3c/TW8odCxlKTplKCl9fTp7fSxMbz1bT3IsTHIsR3IsWHIsbm8sRW9dLGpvPUxvLmNvbmNhdChTciksRG89dnIoe25vZGVPcHM6aHIsbW9kdWxlczpqb30pO1EmJmRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoInNlbGVjdGlvbmNoYW5nZSIsKGZ1bmN0aW9uKCl7dmFyIHQ9ZG9jdW1lbnQuYWN0aXZlRWxlbWVudDt0JiZ0LnZtb2RlbCYmSG8odCwiaW5wdXQiKX0pKTt2YXIgSW89e2luc2VydGVkOmZ1bmN0aW9uKHQsZSxpLG4peyJzZWxlY3QiPT09aS50YWc/KG4uZWxtJiYhbi5lbG0uX3ZPcHRpb25zP3llKGksInBvc3RwYXRjaCIsKGZ1bmN0aW9uKCl7SW8uY29tcG9uZW50VXBkYXRlZCh0LGUsaSl9KSk6em8odCxlLGkuY29udGV4dCksdC5fdk9wdGlvbnM9W10ubWFwLmNhbGwodC5vcHRpb25zLE5vKSk6KCJ0ZXh0YXJlYSI9PT1pLnRhZ3x8S24odC50eXBlKSkmJih0Ll92TW9kaWZpZXJzPWUubW9kaWZpZXJzLGUubW9kaWZpZXJzLmxhenl8fCh0LmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uc3RhcnQiLEdvKSx0LmFkZEV2ZW50TGlzdGVuZXIoImNvbXBvc2l0aW9uZW5kIixGbyksdC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLEZvKSxRJiYodC52bW9kZWw9ITApKSl9LGNvbXBvbmVudFVwZGF0ZWQ6ZnVuY3Rpb24odCxlLGkpe2lmKCJzZWxlY3QiPT09aS50YWcpe3pvKHQsZSxpLmNvbnRleHQpO3ZhciBuPXQuX3ZPcHRpb25zLHI9dC5fdk9wdGlvbnM9W10ubWFwLmNhbGwodC5vcHRpb25zLE5vKTtpZihyLnNvbWUoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIUkodCxuW2VdKX0pKSl7dmFyIG89dC5tdWx0aXBsZT9lLnZhbHVlLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiBSbyh0LHIpfSkpOmUudmFsdWUhPT1lLm9sZFZhbHVlJiZSbyhlLnZhbHVlLHIpO28mJkhvKHQsImNoYW5nZSIpfX19fTtmdW5jdGlvbiB6byh0LGUsaSl7Qm8odCxlLGkpLChKfHx0dCkmJnNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7Qm8odCxlLGkpfSksMCl9ZnVuY3Rpb24gQm8odCxlLGkpe3ZhciBuPWUudmFsdWUscj10Lm11bHRpcGxlO2lmKCFyfHxBcnJheS5pc0FycmF5KG4pKXtmb3IodmFyIG8sYSxzPTAsYz10Lm9wdGlvbnMubGVuZ3RoO3M8YztzKyspaWYoYT10Lm9wdGlvbnNbc10scilvPXoobixObyhhKSk+LTEsYS5zZWxlY3RlZCE9PW8mJihhLnNlbGVjdGVkPW8pO2Vsc2UgaWYoSShObyhhKSxuKSlyZXR1cm4gdm9pZCh0LnNlbGVjdGVkSW5kZXghPT1zJiYodC5zZWxlY3RlZEluZGV4PXMpKTtyfHwodC5zZWxlY3RlZEluZGV4PS0xKX19ZnVuY3Rpb24gUm8odCxlKXtyZXR1cm4gZS5ldmVyeSgoZnVuY3Rpb24oZSl7cmV0dXJuIUkoZSx0KX0pKX1mdW5jdGlvbiBObyh0KXtyZXR1cm4iX3ZhbHVlImluIHQ/dC5fdmFsdWU6dC52YWx1ZX1mdW5jdGlvbiBHbyh0KXt0LnRhcmdldC5jb21wb3Npbmc9ITB9ZnVuY3Rpb24gRm8odCl7dC50YXJnZXQuY29tcG9zaW5nJiYodC50YXJnZXQuY29tcG9zaW5nPSExLEhvKHQudGFyZ2V0LCJpbnB1dCIpKX1mdW5jdGlvbiBIbyh0LGUpe3ZhciBpPWRvY3VtZW50LmNyZWF0ZUV2ZW50KCJIVE1MRXZlbnRzIik7aS5pbml0RXZlbnQoZSwhMCwhMCksdC5kaXNwYXRjaEV2ZW50KGkpfWZ1bmN0aW9uIFdvKHQpe3JldHVybiF0LmNvbXBvbmVudEluc3RhbmNlfHx0LmRhdGEmJnQuZGF0YS50cmFuc2l0aW9uP3Q6V28odC5jb21wb25lbnRJbnN0YW5jZS5fdm5vZGUpfXZhciBVbz17YmluZDpmdW5jdGlvbih0LGUsaSl7dmFyIG49ZS52YWx1ZTtpPVdvKGkpO3ZhciByPWkuZGF0YSYmaS5kYXRhLnRyYW5zaXRpb24sbz10Ll9fdk9yaWdpbmFsRGlzcGxheT0ibm9uZSI9PT10LnN0eWxlLmRpc3BsYXk/IiI6dC5zdHlsZS5kaXNwbGF5O24mJnI/KGkuZGF0YS5zaG93PSEwLEFvKGksKGZ1bmN0aW9uKCl7dC5zdHlsZS5kaXNwbGF5PW99KSkpOnQuc3R5bGUuZGlzcGxheT1uP286Im5vbmUifSx1cGRhdGU6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWUudmFsdWUscj1lLm9sZFZhbHVlO2lmKCFuIT09IXIpe2k9V28oaSk7dmFyIG89aS5kYXRhJiZpLmRhdGEudHJhbnNpdGlvbjtvPyhpLmRhdGEuc2hvdz0hMCxuP0FvKGksKGZ1bmN0aW9uKCl7dC5zdHlsZS5kaXNwbGF5PXQuX192T3JpZ2luYWxEaXNwbGF5fSkpOk1vKGksKGZ1bmN0aW9uKCl7dC5zdHlsZS5kaXNwbGF5PSJub25lIn0pKSk6dC5zdHlsZS5kaXNwbGF5PW4/dC5fX3ZPcmlnaW5hbERpc3BsYXk6Im5vbmUifX0sdW5iaW5kOmZ1bmN0aW9uKHQsZSxpLG4scil7cnx8KHQuc3R5bGUuZGlzcGxheT10Ll9fdk9yaWdpbmFsRGlzcGxheSl9fSxYbz17bW9kZWw6SW8sc2hvdzpVb30sVm89e25hbWU6U3RyaW5nLGFwcGVhcjpCb29sZWFuLGNzczpCb29sZWFuLG1vZGU6U3RyaW5nLHR5cGU6U3RyaW5nLGVudGVyQ2xhc3M6U3RyaW5nLGxlYXZlQ2xhc3M6U3RyaW5nLGVudGVyVG9DbGFzczpTdHJpbmcsbGVhdmVUb0NsYXNzOlN0cmluZyxlbnRlckFjdGl2ZUNsYXNzOlN0cmluZyxsZWF2ZUFjdGl2ZUNsYXNzOlN0cmluZyxhcHBlYXJDbGFzczpTdHJpbmcsYXBwZWFyQWN0aXZlQ2xhc3M6U3RyaW5nLGFwcGVhclRvQ2xhc3M6U3RyaW5nLGR1cmF0aW9uOltOdW1iZXIsU3RyaW5nLE9iamVjdF19O2Z1bmN0aW9uIFlvKHQpe3ZhciBlPXQmJnQuY29tcG9uZW50T3B0aW9ucztyZXR1cm4gZSYmZS5DdG9yLm9wdGlvbnMuYWJzdHJhY3Q/WW8oT2UoZS5jaGlsZHJlbikpOnR9ZnVuY3Rpb24gJG8odCl7dmFyIGU9e30saT10LiRvcHRpb25zO2Zvcih2YXIgbiBpbiBpLnByb3BzRGF0YSllW25dPXRbbl07dmFyIHI9aS5fcGFyZW50TGlzdGVuZXJzO2Zvcih2YXIgbyBpbiByKWVbdyhvKV09cltvXTtyZXR1cm4gZX1mdW5jdGlvbiBLbyh0LGUpe2lmKC9cZC1rZWVwLWFsaXZlJC8udGVzdChlLnRhZykpcmV0dXJuIHQoImtlZXAtYWxpdmUiLHtwcm9wczplLmNvbXBvbmVudE9wdGlvbnMucHJvcHNEYXRhfSl9ZnVuY3Rpb24gWm8odCl7d2hpbGUodD10LnBhcmVudClpZih0LmRhdGEudHJhbnNpdGlvbilyZXR1cm4hMH1mdW5jdGlvbiBxbyh0LGUpe3JldHVybiBlLmtleT09PXQua2V5JiZlLnRhZz09PXQudGFnfXZhciBKbz1mdW5jdGlvbih0KXtyZXR1cm4gdC50YWd8fFBlKHQpfSxRbz1mdW5jdGlvbih0KXtyZXR1cm4ic2hvdyI9PT10Lm5hbWV9LHRhPXtuYW1lOiJ0cmFuc2l0aW9uIixwcm9wczpWbyxhYnN0cmFjdDohMCxyZW5kZXI6ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPXRoaXMuJHNsb3RzLmRlZmF1bHQ7aWYoaSYmKGk9aS5maWx0ZXIoSm8pLGkubGVuZ3RoKSl7MDt2YXIgbj10aGlzLm1vZGU7MDt2YXIgcj1pWzBdO2lmKFpvKHRoaXMuJHZub2RlKSlyZXR1cm4gcjt2YXIgbz1ZbyhyKTtpZighbylyZXR1cm4gcjtpZih0aGlzLl9sZWF2aW5nKXJldHVybiBLbyh0LHIpO3ZhciBhPSJfX3RyYW5zaXRpb24tIit0aGlzLl91aWQrIi0iO28ua2V5PW51bGw9PW8ua2V5P28uaXNDb21tZW50P2ErImNvbW1lbnQiOmErby50YWc6cyhvLmtleSk/MD09PVN0cmluZyhvLmtleSkuaW5kZXhPZihhKT9vLmtleTphK28ua2V5Om8ua2V5O3ZhciBjPShvLmRhdGF8fChvLmRhdGE9e30pKS50cmFuc2l0aW9uPSRvKHRoaXMpLGg9dGhpcy5fdm5vZGUsbD1ZbyhoKTtpZihvLmRhdGEuZGlyZWN0aXZlcyYmby5kYXRhLmRpcmVjdGl2ZXMuc29tZShRbykmJihvLmRhdGEuc2hvdz0hMCksbCYmbC5kYXRhJiYhcW8obyxsKSYmIVBlKGwpJiYoIWwuY29tcG9uZW50SW5zdGFuY2V8fCFsLmNvbXBvbmVudEluc3RhbmNlLl92bm9kZS5pc0NvbW1lbnQpKXt2YXIgcD1sLmRhdGEudHJhbnNpdGlvbj1UKHt9LGMpO2lmKCJvdXQtaW4iPT09bilyZXR1cm4gdGhpcy5fbGVhdmluZz0hMCx5ZShwLCJhZnRlckxlYXZlIiwoZnVuY3Rpb24oKXtlLl9sZWF2aW5nPSExLGUuJGZvcmNlVXBkYXRlKCl9KSksS28odCxyKTtpZigiaW4tb3V0Ij09PW4pe2lmKFBlKG8pKXJldHVybiBoO3ZhciBkLHU9ZnVuY3Rpb24oKXtkKCl9O3llKGMsImFmdGVyRW50ZXIiLHUpLHllKGMsImVudGVyQ2FuY2VsbGVkIix1KSx5ZShwLCJkZWxheUxlYXZlIiwoZnVuY3Rpb24odCl7ZD10fSkpfX1yZXR1cm4gcn19fSxlYT1UKHt0YWc6U3RyaW5nLG1vdmVDbGFzczpTdHJpbmd9LFZvKTtkZWxldGUgZWEubW9kZTt2YXIgaWE9e3Byb3BzOmVhLGJlZm9yZU1vdW50OmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuX3VwZGF0ZTt0aGlzLl91cGRhdGU9ZnVuY3Rpb24oaSxuKXt2YXIgcj1HZSh0KTt0Ll9fcGF0Y2hfXyh0Ll92bm9kZSx0LmtlcHQsITEsITApLHQuX3Zub2RlPXQua2VwdCxyKCksZS5jYWxsKHQsaSxuKX19LHJlbmRlcjpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy50YWd8fHRoaXMuJHZub2RlLmRhdGEudGFnfHwic3BhbiIsaT1PYmplY3QuY3JlYXRlKG51bGwpLG49dGhpcy5wcmV2Q2hpbGRyZW49dGhpcy5jaGlsZHJlbixyPXRoaXMuJHNsb3RzLmRlZmF1bHR8fFtdLG89dGhpcy5jaGlsZHJlbj1bXSxhPSRvKHRoaXMpLHM9MDtzPHIubGVuZ3RoO3MrKyl7dmFyIGM9cltzXTtpZihjLnRhZylpZihudWxsIT1jLmtleSYmMCE9PVN0cmluZyhjLmtleSkuaW5kZXhPZigiX192bGlzdCIpKW8ucHVzaChjKSxpW2Mua2V5XT1jLChjLmRhdGF8fChjLmRhdGE9e30pKS50cmFuc2l0aW9uPWE7ZWxzZTt9aWYobil7Zm9yKHZhciBoPVtdLGw9W10scD0wO3A8bi5sZW5ndGg7cCsrKXt2YXIgZD1uW3BdO2QuZGF0YS50cmFuc2l0aW9uPWEsZC5kYXRhLnBvcz1kLmVsbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKSxpW2Qua2V5XT9oLnB1c2goZCk6bC5wdXNoKGQpfXRoaXMua2VwdD10KGUsbnVsbCxoKSx0aGlzLnJlbW92ZWQ9bH1yZXR1cm4gdChlLG51bGwsbyl9LHVwZGF0ZWQ6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnByZXZDaGlsZHJlbixlPXRoaXMubW92ZUNsYXNzfHwodGhpcy5uYW1lfHwidiIpKyItbW92ZSI7dC5sZW5ndGgmJnRoaXMuaGFzTW92ZSh0WzBdLmVsbSxlKSYmKHQuZm9yRWFjaChuYSksdC5mb3JFYWNoKHJhKSx0LmZvckVhY2gob2EpLHRoaXMuX3JlZmxvdz1kb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodCx0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKHQuZGF0YS5tb3ZlZCl7dmFyIGk9dC5lbG0sbj1pLnN0eWxlO19vKGksZSksbi50cmFuc2Zvcm09bi5XZWJraXRUcmFuc2Zvcm09bi50cmFuc2l0aW9uRHVyYXRpb249IiIsaS5hZGRFdmVudExpc3RlbmVyKGZvLGkuX21vdmVDYj1mdW5jdGlvbiB0KG4pe24mJm4udGFyZ2V0IT09aXx8biYmIS90cmFuc2Zvcm0kLy50ZXN0KG4ucHJvcGVydHlOYW1lKXx8KGkucmVtb3ZlRXZlbnRMaXN0ZW5lcihmbyx0KSxpLl9tb3ZlQ2I9bnVsbCxibyhpLGUpKX0pfX0pKSl9LG1ldGhvZHM6e2hhc01vdmU6ZnVuY3Rpb24odCxlKXtpZighaG8pcmV0dXJuITE7aWYodGhpcy5faGFzTW92ZSlyZXR1cm4gdGhpcy5faGFzTW92ZTt2YXIgaT10LmNsb25lTm9kZSgpO3QuX3RyYW5zaXRpb25DbGFzc2VzJiZ0Ll90cmFuc2l0aW9uQ2xhc3Nlcy5mb3JFYWNoKChmdW5jdGlvbih0KXthbyhpLHQpfSkpLG9vKGksZSksaS5zdHlsZS5kaXNwbGF5PSJub25lIix0aGlzLiRlbC5hcHBlbmRDaGlsZChpKTt2YXIgbj1rbyhpKTtyZXR1cm4gdGhpcy4kZWwucmVtb3ZlQ2hpbGQoaSksdGhpcy5faGFzTW92ZT1uLmhhc1RyYW5zZm9ybX19fTtmdW5jdGlvbiBuYSh0KXt0LmVsbS5fbW92ZUNiJiZ0LmVsbS5fbW92ZUNiKCksdC5lbG0uX2VudGVyQ2ImJnQuZWxtLl9lbnRlckNiKCl9ZnVuY3Rpb24gcmEodCl7dC5kYXRhLm5ld1Bvcz10LmVsbS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKX1mdW5jdGlvbiBvYSh0KXt2YXIgZT10LmRhdGEucG9zLGk9dC5kYXRhLm5ld1BvcyxuPWUubGVmdC1pLmxlZnQscj1lLnRvcC1pLnRvcDtpZihufHxyKXt0LmRhdGEubW92ZWQ9ITA7dmFyIG89dC5lbG0uc3R5bGU7by50cmFuc2Zvcm09by5XZWJraXRUcmFuc2Zvcm09InRyYW5zbGF0ZSgiK24rInB4LCIrcisicHgpIixvLnRyYW5zaXRpb25EdXJhdGlvbj0iMHMifX12YXIgYWE9e1RyYW5zaXRpb246dGEsVHJhbnNpdGlvbkdyb3VwOmlhfTtwbi5jb25maWcubXVzdFVzZVByb3A9UG4scG4uY29uZmlnLmlzUmVzZXJ2ZWRUYWc9WG4scG4uY29uZmlnLmlzUmVzZXJ2ZWRBdHRyPUFuLHBuLmNvbmZpZy5nZXRUYWdOYW1lc3BhY2U9Vm4scG4uY29uZmlnLmlzVW5rbm93bkVsZW1lbnQ9JG4sVChwbi5vcHRpb25zLmRpcmVjdGl2ZXMsWG8pLFQocG4ub3B0aW9ucy5jb21wb25lbnRzLGFhKSxwbi5wcm90b3R5cGUuX19wYXRjaF9fPSQ/RG86TCxwbi5wcm90b3R5cGUuJG1vdW50PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9dCYmJD9abih0KTp2b2lkIDAsV2UodGhpcyx0LGUpfSwkJiZzZXRUaW1lb3V0KChmdW5jdGlvbigpe0YuZGV2dG9vbHMmJmF0JiZhdC5lbWl0KCJpbml0Iixwbil9KSwwKSxlWyJhIl09cG59KS5jYWxsKHRoaXMsaSgiYzhiYSIpKX0sIjJiNGMiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI1NTM3IikoIndrcyIpLHI9aSgiY2E1YSIpLG89aSgiNzcyNiIpLlN5bWJvbCxhPSJmdW5jdGlvbiI9PXR5cGVvZiBvLHM9dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBuW3RdfHwoblt0XT1hJiZvW3RdfHwoYT9vOnIpKCJTeW1ib2wuIit0KSl9O3Muc3RvcmU9bn0sIjJkMDAiOmZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPSExfSwiMmQ5NSI6ZnVuY3Rpb24odCxlKXt2YXIgaT17fS50b1N0cmluZzt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGkuY2FsbCh0KS5zbGljZSg4LC0xKX19LCIyZjIxIjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoIjc5ZTUiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4hIXQmJm4oKGZ1bmN0aW9uKCl7ZT90LmNhbGwobnVsbCwoZnVuY3Rpb24oKXt9KSwxKTp0LmNhbGwobnVsbCl9KSl9fSwiMmZkYiI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCI1Y2ExIikscj1pKCJkMmM4Iiksbz0iaW5jbHVkZXMiO24obi5QK24uRippKCI1MTQ3IikobyksIlN0cmluZyIse2luY2x1ZGVzOmZ1bmN0aW9uKHQpe3JldHVybiEhfnIodGhpcyx0LG8pLmluZGV4T2YodCxhcmd1bWVudHMubGVuZ3RoPjE/YXJndW1lbnRzWzFdOnZvaWQgMCl9fSl9LDMwMjQ6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXZvaWQgMD09PWk7c3dpdGNoKGUubGVuZ3RoKXtjYXNlIDA6cmV0dXJuIG4/dCgpOnQuY2FsbChpKTtjYXNlIDE6cmV0dXJuIG4/dChlWzBdKTp0LmNhbGwoaSxlWzBdKTtjYXNlIDI6cmV0dXJuIG4/dChlWzBdLGVbMV0pOnQuY2FsbChpLGVbMF0sZVsxXSk7Y2FzZSAzOnJldHVybiBuP3QoZVswXSxlWzFdLGVbMl0pOnQuY2FsbChpLGVbMF0sZVsxXSxlWzJdKTtjYXNlIDQ6cmV0dXJuIG4/dChlWzBdLGVbMV0sZVsyXSxlWzNdKTp0LmNhbGwoaSxlWzBdLGVbMV0sZVsyXSxlWzNdKX1yZXR1cm4gdC5hcHBseShpLGUpfX0sIjMwZjEiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiYjhlMyIpLHI9aSgiNjNiNiIpLG89aSgiOTEzOCIpLGE9aSgiMzVlOCIpLHM9aSgiNDgxYiIpLGM9aSgiOGY2MCIpLGg9aSgiNDVmMiIpLGw9aSgiNTNlMiIpLHA9aSgiNTE2OCIpKCJpdGVyYXRvciIpLGQ9IShbXS5rZXlzJiYibmV4dCJpbltdLmtleXMoKSksdT0iQEBpdGVyYXRvciIsZj0ia2V5cyIsbT0idmFsdWVzIixnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9O3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsaSx2LHksXyxiKXtjKGksZSx2KTt2YXIgeCx3LGssQz1mdW5jdGlvbih0KXtpZighZCYmdCBpbiBQKXJldHVybiBQW3RdO3N3aXRjaCh0KXtjYXNlIGY6cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBpKHRoaXMsdCl9O2Nhc2UgbTpyZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGkodGhpcyx0KX19cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBpKHRoaXMsdCl9fSxTPWUrIiBJdGVyYXRvciIsQT15PT1tLE09ITEsUD10LnByb3RvdHlwZSxPPVBbcF18fFBbdV18fHkmJlBbeV0sVD1PfHxDKHkpLEU9eT9BP0MoImVudHJpZXMiKTpUOnZvaWQgMCxMPSJBcnJheSI9PWUmJlAuZW50cmllc3x8TztpZihMJiYoaz1sKEwuY2FsbChuZXcgdCkpLGshPT1PYmplY3QucHJvdG90eXBlJiZrLm5leHQmJihoKGssUywhMCksbnx8ImZ1bmN0aW9uIj09dHlwZW9mIGtbcF18fGEoayxwLGcpKSksQSYmTyYmTy5uYW1lIT09bSYmKE09ITAsVD1mdW5jdGlvbigpe3JldHVybiBPLmNhbGwodGhpcyl9KSxuJiYhYnx8IWQmJiFNJiZQW3BdfHxhKFAscCxUKSxzW2VdPVQsc1tTXT1nLHkpaWYoeD17dmFsdWVzOkE/VDpDKG0pLGtleXM6Xz9UOkMoZiksZW50cmllczpFfSxiKWZvcih3IGluIHgpdyBpbiBQfHxvKFAsdyx4W3ddKTtlbHNlIHIoci5QK3IuRiooZHx8TSksZSx4KTtyZXR1cm4geH19LCIzMmU5IjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiODZjYyIpLHI9aSgiNDYzMCIpO3QuZXhwb3J0cz1pKCI5ZTFlIik/ZnVuY3Rpb24odCxlLGkpe3JldHVybiBuLmYodCxlLHIoMSxpKSl9OmZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdFtlXT1pLHR9fSwiMzJmYyI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImU1M2QiKS5kb2N1bWVudDt0LmV4cG9ydHM9biYmbi5kb2N1bWVudEVsZW1lbnR9LCIzMzVjIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiNmI0YyIpO3QuZXhwb3J0cz1PYmplY3QoInoiKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKT9PYmplY3Q6ZnVuY3Rpb24odCl7cmV0dXJuIlN0cmluZyI9PW4odCk/dC5zcGxpdCgiIik6T2JqZWN0KHQpfX0sMzUwNDpmdW5jdGlvbih0KXt0LmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2luX2RldGFpbHMiOnsibWNhcF9yYW5rIjoi5oC75biC5YC85o6S5ZCNIiwibWNhcCI6IuaAu+W4guWAvCIsIjI0aF92b2x1bWUiOiIyNCDlsI/ml7bkuqTmmJPph48iLCIyNGhfaGlnaF9sb3ciOiIyNOWwj+aXtumrmC/kvY4ifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5pSv5oyBIiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiLliqDlr4bku7fmoLzmr5TovoMiLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoi5Yqg5a+G6LSn5biB5biC5YC85q+U6L6DIn0sImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5pSv5oyBIn0sImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjQg5bCP5pe25pyA6auY5Lu35qC8IiwiMjRoX2xvdyI6IjI0IOWwj+aXtuacgOS9juS7t+agvCIsInZpZXdfcHJpY2VfY2hhcnQiOiLmn6XnnIsgJXtjb2lufSDku7fmoLzotbDlir/lm74iLCJwb3dlcmVkX2J5Ijoi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5pSv5oyBIn0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IueUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOaUr+aMgSJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmlK/mjIEifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IueUsSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOaUr+aMgSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNCDlsI/ml7bmnIDpq5jku7fmoLwiLCIyNGhfbG93IjoiMjQg5bCP5pe25pyA5L2O5Lu35qC8Iiwidmlld19wcmljZV9jaGFydCI6IuafpeeciyAle2NvaW59IOS7t+agvOi1sOWKv+WbviIsInBvd2VyZWRfYnkiOiLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmlK/mjIEifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiLmn6XnnIsgJXtjb2lufSDku7fmoLzotbDlir/lm74iLCJwb3dlcmVkX2J5Ijoi55SxICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g5pSv5oyBIn0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiLliqDlr4botKfluIHmoJHlnovlm74iLCJzdWJ0aXRsZSI6Iu+8iOW4guWAvOaOkuWQjeWJjSV7dG9wfe+8iSIsInBvd2VyZWRfYnkiOiLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmlK/mjIEifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiLlhY3otKPlo7DmmI7vvJrmraTlt6Xlhbfku4XnlKjkuo7lqLHkuZDnm67nmoTvvIzkuI3mnoTmiJDku7vkvZXph5Hono3lu7rorq7jgIIiLCJzcGluIjoiU3BpbiIsImF2YWlsYWJsZV9jb2lucyI6IuWPr+eUqOS7o+W4gSJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkNvaW5HZWNrbyDku7fmoLzmm7TmlrAiLCJ0b3RhbF9tY2FwIjoi5oC75biC5YC8IiwiMjRoX3ZvbCI6IjI05bCP5pe25Lqk5piT6YePIiwiZG9tIjoi5biC5Y2g546HIn0sImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldCI6eyJleGNoYW5nZSI6IuS6pOaYk+aJgCIsInBhaXIiOiLotKfluIHnu4TlkIgiLCJwcmljZSI6IuS7t+agvCIsInZvbHVtZSI6IuS6pOaYk+mHjyIsInRydXN0X3Njb3JlIjoi5L+h55So6K+E5YiGIiwidmlld19wcmljZV9jaGFydCI6Iuafpeeci+S7t+agvOi1sOWKv+WbviIsInBvd2VyZWRfYnkiOiLnlLEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDmlK/mjIEiLCJ2aWV3X2FsbCI6Iuafpeeci+aJgOaciSAle2NvaW59IOW4guWcuiJ9fScpfSwiMzU1ZCI6ZnVuY3Rpb24odCxlKXtlLmY9e30ucHJvcGVydHlJc0VudW1lcmFibGV9LCIzNWU4IjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZDlmNiIpLHI9aSgiYWViZCIpO3QuZXhwb3J0cz1pKCI4ZTYwIik/ZnVuY3Rpb24odCxlLGkpe3JldHVybiBuLmYodCxlLHIoMSxpKSl9OmZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdFtlXT1pLHR9fSwiMzZjMyI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoIjMzNWMiKSxyPWkoIjI1ZWIiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIG4ocih0KSl9fSwzNzAyOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI0ODFiIikscj1pKCI1MTY4IikoIml0ZXJhdG9yIiksbz1BcnJheS5wcm90b3R5cGU7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDAhPT10JiYobi5BcnJheT09PXR8fG9bcl09PT10KX19LCIzN2M4IjpmdW5jdGlvbih0LGUsaSl7ZS5mPWkoIjJiNGMiKX0sMzg0NjpmdW5jdGlvbih0LGUsaSl7aSgiOWUxZSIpJiYiZyIhPS8uL2cuZmxhZ3MmJmkoIjg2Y2MiKS5mKFJlZ0V4cC5wcm90b3R5cGUsImZsYWdzIix7Y29uZmlndXJhYmxlOiEwLGdldDppKCIwYmZiIil9KX0sIjM4ZmQiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI2OWE4Iikscj1pKCI0YmY4Iiksbz1pKCI2MTNiIikoIklFX1BST1RPIiksYT1PYmplY3QucHJvdG90eXBlO3QuZXhwb3J0cz1PYmplY3QuZ2V0UHJvdG90eXBlT2Z8fGZ1bmN0aW9uKHQpe3JldHVybiB0PXIodCksbih0LG8pP3Rbb106ImZ1bmN0aW9uIj09dHlwZW9mIHQuY29uc3RydWN0b3ImJnQgaW5zdGFuY2VvZiB0LmNvbnN0cnVjdG9yP3QuY29uc3RydWN0b3IucHJvdG90eXBlOnQgaW5zdGFuY2VvZiBPYmplY3Q/YTpudWxsfX0sIjNhMzgiOmZ1bmN0aW9uKHQsZSl7dmFyIGk9TWF0aC5jZWlsLG49TWF0aC5mbG9vcjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIGlzTmFOKHQ9K3QpPzA6KHQ+MD9uOmkpKHQpfX0sIjNhNzIiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI3NzI2Iikscj1pKCI4Mzc4Iiksbz1pKCIyZDAwIiksYT1pKCIzN2M4Iikscz1pKCI4NmNjIikuZjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9ci5TeW1ib2x8fChyLlN5bWJvbD1vP3t9Om4uU3ltYm9sfHx7fSk7Il8iPT10LmNoYXJBdCgwKXx8dCBpbiBlfHxzKGUsdCx7dmFsdWU6YS5mKHQpfSl9fSwiM2I4ZCI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIGF9KSk7dmFyIG49aSgiNzk1YiIpLHI9aS5uKG4pO2Z1bmN0aW9uIG8odCxlLGksbixvLGEscyl7dHJ5e3ZhciBjPXRbYV0ocyksaD1jLnZhbHVlfWNhdGNoKGwpe3JldHVybiB2b2lkIGkobCl9Yy5kb25lP2UoaCk6ci5hLnJlc29sdmUoaCkudGhlbihuLG8pfWZ1bmN0aW9uIGEodCl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxpPWFyZ3VtZW50cztyZXR1cm4gbmV3IHIuYSgoZnVuY3Rpb24obixyKXt2YXIgYT10LmFwcGx5KGUsaSk7ZnVuY3Rpb24gcyh0KXtvKGEsbixyLHMsYywibmV4dCIsdCl9ZnVuY3Rpb24gYyh0KXtvKGEsbixyLHMsYywidGhyb3ciLHQpfXModm9pZCAwKX0pKX19fSwiM2MxMSI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCI2M2I2Iikscj1pKCI1ODRhIiksbz1pKCJlNTNkIiksYT1pKCJmMjAxIikscz1pKCJjZDc4Iik7bihuLlArbi5SLCJQcm9taXNlIix7ZmluYWxseTpmdW5jdGlvbih0KXt2YXIgZT1hKHRoaXMsci5Qcm9taXNlfHxvLlByb21pc2UpLGk9ImZ1bmN0aW9uIj09dHlwZW9mIHQ7cmV0dXJuIHRoaXMudGhlbihpP2Z1bmN0aW9uKGkpe3JldHVybiBzKGUsdCgpKS50aGVuKChmdW5jdGlvbigpe3JldHVybiBpfSkpfTp0LGk/ZnVuY3Rpb24oaSl7cmV0dXJuIHMoZSx0KCkpLnRoZW4oKGZ1bmN0aW9uKCl7dGhyb3cgaX0pKX06dCl9fSl9LCIzZGE5IjpmdW5jdGlvbih0KXt0LmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2luX2RldGFpbHMiOnsibWNhcF9yYW5rIjoiUG9yYWRpZSB0cmhvdmVqIGthcGl0YWxpesOhY2llIiwibWNhcCI6IlRyaG92w6Ega2FwaXRhbGl6w6FjaWEiLCIyNGhfdm9sdW1lIjoiT2JqZW0gemEgMjRIIiwiMjRoX2hpZ2hfbG93IjoiMjRIIHZ5c29rw6EvbsOtemthIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlBvaMOhxYhhbsOpICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IlBvcm92bmFuaWUgY2llbiBrcnlwdG9taWVuIiwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvbiI6IlBvcm92bmFuaWUgdHJob3ZlaiBrYXBpdGFsaXrDoWNpZSBrcnlwdG9taWVuIn0sImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUG9ow6HFiGFuw6kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0SCB2eXNva8OhIiwiMjRoX2xvdyI6IjI0SCBuw616a2EiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiWm9icmF6acWlIGNlbm92w70gZ3JhZiBwcmUgJXtjb2lufSIsInBvd2VyZWRfYnkiOiJQb2jDocWIYW7DqSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlBvaMOhxYhhbsOpICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9saXN0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUG9ow6HFiGFuw6kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJiZWFtX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUG9ow6HFiGFuw6kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNEggdnlzb2vDoSIsIjI0aF9sb3ciOiIyNEggbsOtemthIiwidmlld19wcmljZV9jaGFydCI6IlpvYnJhemnFpSBjZW5vdsO9IGdyYWYgcHJlICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiUG9ow6HFiGFuw6kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6IlpvYnJhemnFpSBjZW5vdsO9IGdyYWYgcHJlICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiUG9ow6HFiGFuw6kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2hlYXRtYXBfd2lkZ2V0Ijp7InRpdGxlIjoiTWFwYSBrcnlwdG9taWVuIiwic3VidGl0bGUiOiIoVG9wICV7dG9wfSBwb2TEvmEgdHJob3ZlaiBrYXApIiwicG93ZXJlZF9ieSI6IlBvaMOhxYhhbsOpICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiJacmlla251dGllIHNhIHpvZHBvdmVkbm9zdGk6IFRlbnRvIG7DoXN0cm9qIHNsw7rFvmlhIG5hIHrDoWJhdnUgYSBuZXByZWRzdGF2dWrDuiBmaW5hbsSNbsOpIHBvcmFkZW5zdHZvLiIsInNwaW4iOiJUb8SNacWlIiwiYXZhaWxhYmxlX2NvaW5zIjoiRG9zdHVwbsOpIGNvaW55In0sImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0Ijp7InRpdGxlIjoiQWt0dWFsaXrDoWNpYSBjZW55IENvaW5HZWNrbyIsInRvdGFsX21jYXAiOiJDZWxrb3bDoSB0cmguIGthcC4iLCIyNGhfdm9sIjoiT2JqZW0gemEgMjRoIiwiZG9tIjoiRG9taW5hbmNpYSJ9LCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXQiOnsiZXhjaGFuZ2UiOiJCdXJ6YSIsInBhaXIiOiJQw6FyIiwicHJpY2UiOiJDZW5hIiwidm9sdW1lIjoiT2JqZW0iLCJ0cnVzdF9zY29yZSI6IlNrw7NyZSBkw7R2ZXJ5aG9kbm9zdGkiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiWm9icmF6acWlIGNlbm92w70gZ3JhZiIsInBvd2VyZWRfYnkiOiJQb2jDocWIYW7DqSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9Iiwidmlld19hbGwiOiJab2JyYXppxaUgdsWhZXRreSB0cmh5ICV7Y29pbn0ifX0nKX0sIjQwYzMiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI2YjRjIikscj1pKCI1MTY4IikoInRvU3RyaW5nVGFnIiksbz0iQXJndW1lbnRzIj09bihmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpLGE9ZnVuY3Rpb24odCxlKXt0cnl7cmV0dXJuIHRbZV19Y2F0Y2goaSl7fX07dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlLGkscztyZXR1cm4gdm9pZCAwPT09dD8iVW5kZWZpbmVkIjpudWxsPT09dD8iTnVsbCI6InN0cmluZyI9PXR5cGVvZihpPWEoZT1PYmplY3QodCkscikpP2k6bz9uKGUpOiJPYmplY3QiPT0ocz1uKGUpKSYmImZ1bmN0aW9uIj09dHlwZW9mIGUuY2FsbGVlPyJBcmd1bWVudHMiOnN9fSw0MTc4OmZ1bmN0aW9uKHQsZSxpKXt2YXIgbixyLG8sYT1pKCJkODY0Iikscz1pKCIzMDI0IiksYz1pKCIzMmZjIiksaD1pKCIxZWM5IiksbD1pKCJlNTNkIikscD1sLnByb2Nlc3MsZD1sLnNldEltbWVkaWF0ZSx1PWwuY2xlYXJJbW1lZGlhdGUsZj1sLk1lc3NhZ2VDaGFubmVsLG09bC5EaXNwYXRjaCxnPTAsdj17fSx5PSJvbnJlYWR5c3RhdGVjaGFuZ2UiLF89ZnVuY3Rpb24oKXt2YXIgdD0rdGhpcztpZih2Lmhhc093blByb3BlcnR5KHQpKXt2YXIgZT12W3RdO2RlbGV0ZSB2W3RdLGUoKX19LGI9ZnVuY3Rpb24odCl7Xy5jYWxsKHQuZGF0YSl9O2QmJnV8fChkPWZ1bmN0aW9uKHQpe3ZhciBlPVtdLGk9MTt3aGlsZShhcmd1bWVudHMubGVuZ3RoPmkpZS5wdXNoKGFyZ3VtZW50c1tpKytdKTtyZXR1cm4gdlsrK2ddPWZ1bmN0aW9uKCl7cygiZnVuY3Rpb24iPT10eXBlb2YgdD90OkZ1bmN0aW9uKHQpLGUpfSxuKGcpLGd9LHU9ZnVuY3Rpb24odCl7ZGVsZXRlIHZbdF19LCJwcm9jZXNzIj09aSgiNmI0YyIpKHApP249ZnVuY3Rpb24odCl7cC5uZXh0VGljayhhKF8sdCwxKSl9Om0mJm0ubm93P249ZnVuY3Rpb24odCl7bS5ub3coYShfLHQsMSkpfTpmPyhyPW5ldyBmLG89ci5wb3J0MixyLnBvcnQxLm9ubWVzc2FnZT1iLG49YShvLnBvc3RNZXNzYWdlLG8sMSkpOmwuYWRkRXZlbnRMaXN0ZW5lciYmImZ1bmN0aW9uIj09dHlwZW9mIHBvc3RNZXNzYWdlJiYhbC5pbXBvcnRTY3JpcHRzPyhuPWZ1bmN0aW9uKHQpe2wucG9zdE1lc3NhZ2UodCsiIiwiKiIpfSxsLmFkZEV2ZW50TGlzdGVuZXIoIm1lc3NhZ2UiLGIsITEpKTpuPXkgaW4gaCgic2NyaXB0Iik/ZnVuY3Rpb24odCl7Yy5hcHBlbmRDaGlsZChoKCJzY3JpcHQiKSlbeV09ZnVuY3Rpb24oKXtjLnJlbW92ZUNoaWxkKHRoaXMpLF8uY2FsbCh0KX19OmZ1bmN0aW9uKHQpe3NldFRpbWVvdXQoYShfLHQsMSksMCl9KSx0LmV4cG9ydHM9e3NldDpkLGNsZWFyOnV9fSwiNDFhMCI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCIyYWViIikscj1pKCI0NjMwIiksbz1pKCI3ZjIwIiksYT17fTtpKCIzMmU5IikoYSxpKCIyYjRjIikoIml0ZXJhdG9yIiksKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksdC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxpKXt0LnByb3RvdHlwZT1uKGEse25leHQ6cigxLGkpfSksbyh0LGUrIiBJdGVyYXRvciIpfX0sIjQyYjgiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7aS5kKGUsImEiLChmdW5jdGlvbigpe3JldHVybiBhfSkpO3ZhciBuPWkoIjI4OGEiKSxyPWkubihuKSxvPWkoImJmMGYiKSxhPXtwcm9wczp7bG9jYWxlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJlbiJ9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue3BvbHlnbG90Om5ldyByLmEoe3BocmFzZXM6T2JqZWN0KG9bImIiXSkoImVuIil9KX19LG1ldGhvZHM6e3Q6ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5wb2x5Z2xvdC50KHQsZSl9LF9yZWxvYWRMb2NhbGU6ZnVuY3Rpb24oKXtpZih2b2lkIDA9PT10aGlzLmxvY2FsZXx8IW9bImEiXVt0aGlzLmxvY2FsZV0pcmV0dXJuIHRoaXMuX2Vycm9yKCJMb2NhbGUgbm90IHN1cHBvcnRlZCBieSB3aWRnZXQuIENvbnRhY3Qgc3VwcG9ydEBjb2luZ2Vja28uY29tIGZvciBoZWxwLiIpO3RoaXMucG9seWdsb3Q9bmV3IHIuYSh7cGhyYXNlczpPYmplY3Qob1siYiJdKSh0aGlzLmxvY2FsZSwiZW4iKX0pfX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuX3JlbG9hZExvY2FsZSgpfX19LCI0M2ZjIjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoIjYzYjYiKSxyPWkoIjY1NmUiKSxvPWkoIjQ0MzkiKTtuKG4uUywiUHJvbWlzZSIse3RyeTpmdW5jdGlvbih0KXt2YXIgZT1yLmYodGhpcyksaT1vKHQpO3JldHVybihpLmU/ZS5yZWplY3Q6ZS5yZXNvbHZlKShpLnYpLGUucHJvbWlzZX19KX0sNDQzOTpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXt0cnl7cmV0dXJue2U6ITEsdjp0KCl9fWNhdGNoKGUpe3JldHVybntlOiEwLHY6ZX19fX0sIjQ1NGYiOmZ1bmN0aW9uKHQsZSxpKXtpKCI0NmE3Iik7dmFyIG49aSgiNTg0YSIpLk9iamVjdDt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLGkpe3JldHVybiBuLmRlZmluZVByb3BlcnR5KHQsZSxpKX19LCI0NTZkIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiNGJmOCIpLHI9aSgiMGQ1OCIpO2koIjVlZGEiKSgia2V5cyIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ1bmN0aW9uKHQpe3JldHVybiByKG4odCkpfX0pKX0sNDU4ODpmdW5jdGlvbih0LGUpe3ZhciBpPU1hdGguY2VpbCxuPU1hdGguZmxvb3I7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBpc05hTih0PSt0KT8wOih0PjA/bjppKSh0KX19LCI0NWYyIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZDlmNiIpLmYscj1pKCIwN2UzIiksbz1pKCI1MTY4IikoInRvU3RyaW5nVGFnIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxpKXt0JiYhcih0PWk/dDp0LnByb3RvdHlwZSxvKSYmbih0LG8se2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTplfSl9fSw0NjAxOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiODNjMiIpLHI9bigiJVR5cGVFcnJvciUiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZihudWxsPT10KXRocm93IG5ldyByKGV8fCJDYW5ub3QgY2FsbCBtZXRob2Qgb24gIit0KTtyZXR1cm4gdH19LDQ2MzA6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm57ZW51bWVyYWJsZTohKDEmdCksY29uZmlndXJhYmxlOiEoMiZ0KSx3cml0YWJsZTohKDQmdCksdmFsdWU6ZX19fSwiNDZhNyI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoIjYzYjYiKTtuKG4uUytuLkYqIWkoIjhlNjAiKSwiT2JqZWN0Iix7ZGVmaW5lUHJvcGVydHk6aSgiZDlmNiIpLmZ9KX0sIjQ3ZWUiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCJjM2ExIikscj1pKCI5YWE5Iiksbz1pKCIzNTVkIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPW4odCksaT1yLmY7aWYoaSl7dmFyIGEscz1pKHQpLGM9by5mLGg9MDt3aGlsZShzLmxlbmd0aD5oKWMuY2FsbCh0LGE9c1toKytdKSYmZS5wdXNoKGEpfXJldHVybiBlfX0sIjQ4MWIiOmZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPXt9fSwiNDk5ZSI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBuKHQsZSl7Zm9yKHZhciBpPVtdLG49e30scj0wO3I8ZS5sZW5ndGg7cisrKXt2YXIgbz1lW3JdLGE9b1swXSxzPW9bMV0sYz1vWzJdLGg9b1szXSxsPXtpZDp0KyI6IityLGNzczpzLG1lZGlhOmMsc291cmNlTWFwOmh9O25bYV0/blthXS5wYXJ0cy5wdXNoKGwpOmkucHVzaChuW2FdPXtpZDphLHBhcnRzOltsXX0pfXJldHVybiBpfWkucihlKSxpLmQoZSwiZGVmYXVsdCIsKGZ1bmN0aW9uKCl7cmV0dXJuIGZ9KSk7dmFyIHI9InVuZGVmaW5lZCIhPT10eXBlb2YgZG9jdW1lbnQ7aWYoInVuZGVmaW5lZCIhPT10eXBlb2YgREVCVUcmJkRFQlVHJiYhcil0aHJvdyBuZXcgRXJyb3IoInZ1ZS1zdHlsZS1sb2FkZXIgY2Fubm90IGJlIHVzZWQgaW4gYSBub24tYnJvd3NlciBlbnZpcm9ubWVudC4gVXNlIHsgdGFyZ2V0OiAnbm9kZScgfSBpbiB5b3VyIFdlYnBhY2sgY29uZmlnIHRvIGluZGljYXRlIGEgc2VydmVyLXJlbmRlcmluZyBlbnZpcm9ubWVudC4iKTt2YXIgbz17fSxhPXImJihkb2N1bWVudC5oZWFkfHxkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiaGVhZCIpWzBdKSxzPW51bGwsYz0wLGg9ITEsbD1mdW5jdGlvbigpe30scD1udWxsLGQ9ImRhdGEtdnVlLXNzci1pZCIsdT0idW5kZWZpbmVkIiE9PXR5cGVvZiBuYXZpZ2F0b3ImJi9tc2llIFs2LTldXGIvLnRlc3QobmF2aWdhdG9yLnVzZXJBZ2VudC50b0xvd2VyQ2FzZSgpKTtmdW5jdGlvbiBmKHQsZSxpLHIpe2g9aSxwPXJ8fHt9O3ZhciBhPW4odCxlKTtyZXR1cm4gbShhKSxmdW5jdGlvbihlKXtmb3IodmFyIGk9W10scj0wO3I8YS5sZW5ndGg7cisrKXt2YXIgcz1hW3JdLGM9b1tzLmlkXTtjLnJlZnMtLSxpLnB1c2goYyl9ZT8oYT1uKHQsZSksbShhKSk6YT1bXTtmb3Iocj0wO3I8aS5sZW5ndGg7cisrKXtjPWlbcl07aWYoMD09PWMucmVmcyl7Zm9yKHZhciBoPTA7aDxjLnBhcnRzLmxlbmd0aDtoKyspYy5wYXJ0c1toXSgpO2RlbGV0ZSBvW2MuaWRdfX19fWZ1bmN0aW9uIG0odCl7Zm9yKHZhciBlPTA7ZTx0Lmxlbmd0aDtlKyspe3ZhciBpPXRbZV0sbj1vW2kuaWRdO2lmKG4pe24ucmVmcysrO2Zvcih2YXIgcj0wO3I8bi5wYXJ0cy5sZW5ndGg7cisrKW4ucGFydHNbcl0oaS5wYXJ0c1tyXSk7Zm9yKDtyPGkucGFydHMubGVuZ3RoO3IrKyluLnBhcnRzLnB1c2godihpLnBhcnRzW3JdKSk7bi5wYXJ0cy5sZW5ndGg+aS5wYXJ0cy5sZW5ndGgmJihuLnBhcnRzLmxlbmd0aD1pLnBhcnRzLmxlbmd0aCl9ZWxzZXt2YXIgYT1bXTtmb3Iocj0wO3I8aS5wYXJ0cy5sZW5ndGg7cisrKWEucHVzaCh2KGkucGFydHNbcl0pKTtvW2kuaWRdPXtpZDppLmlkLHJlZnM6MSxwYXJ0czphfX19fWZ1bmN0aW9uIGcoKXt2YXIgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzdHlsZSIpO3JldHVybiB0LnR5cGU9InRleHQvY3NzIixhLmFwcGVuZENoaWxkKHQpLHR9ZnVuY3Rpb24gdih0KXt2YXIgZSxpLG49ZG9jdW1lbnQucXVlcnlTZWxlY3Rvcigic3R5bGVbIitkKyd+PSInK3QuaWQrJyJdJyk7aWYobil7aWYoaClyZXR1cm4gbDtuLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobil9aWYodSl7dmFyIHI9YysrO249c3x8KHM9ZygpKSxlPV8uYmluZChudWxsLG4sciwhMSksaT1fLmJpbmQobnVsbCxuLHIsITApfWVsc2Ugbj1nKCksZT1iLmJpbmQobnVsbCxuKSxpPWZ1bmN0aW9uKCl7bi5wYXJlbnROb2RlLnJlbW92ZUNoaWxkKG4pfTtyZXR1cm4gZSh0KSxmdW5jdGlvbihuKXtpZihuKXtpZihuLmNzcz09PXQuY3NzJiZuLm1lZGlhPT09dC5tZWRpYSYmbi5zb3VyY2VNYXA9PT10LnNvdXJjZU1hcClyZXR1cm47ZSh0PW4pfWVsc2UgaSgpfX12YXIgeT1mdW5jdGlvbigpe3ZhciB0PVtdO3JldHVybiBmdW5jdGlvbihlLGkpe3JldHVybiB0W2VdPWksdC5maWx0ZXIoQm9vbGVhbikuam9pbigiXG4iKX19KCk7ZnVuY3Rpb24gXyh0LGUsaSxuKXt2YXIgcj1pPyIiOm4uY3NzO2lmKHQuc3R5bGVTaGVldCl0LnN0eWxlU2hlZXQuY3NzVGV4dD15KGUscik7ZWxzZXt2YXIgbz1kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShyKSxhPXQuY2hpbGROb2RlczthW2VdJiZ0LnJlbW92ZUNoaWxkKGFbZV0pLGEubGVuZ3RoP3QuaW5zZXJ0QmVmb3JlKG8sYVtlXSk6dC5hcHBlbmRDaGlsZChvKX19ZnVuY3Rpb24gYih0LGUpe3ZhciBpPWUuY3NzLG49ZS5tZWRpYSxyPWUuc291cmNlTWFwO2lmKG4mJnQuc2V0QXR0cmlidXRlKCJtZWRpYSIsbikscC5zc3JJZCYmdC5zZXRBdHRyaWJ1dGUoZCxlLmlkKSxyJiYoaSs9IlxuLyojIHNvdXJjZVVSTD0iK3Iuc291cmNlc1swXSsiICovIixpKz0iXG4vKiMgc291cmNlTWFwcGluZ1VSTD1kYXRhOmFwcGxpY2F0aW9uL2pzb247YmFzZTY0LCIrYnRvYSh1bmVzY2FwZShlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkocikpKSkrIiAqLyIpLHQuc3R5bGVTaGVldCl0LnN0eWxlU2hlZXQuY3NzVGV4dD1pO2Vsc2V7d2hpbGUodC5maXJzdENoaWxkKXQucmVtb3ZlQ2hpbGQodC5maXJzdENoaWxkKTt0LmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGkpKX19fSwiNDljMyI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCI5YjkwIikscj1pLm4obik7ci5hfSwiNGJmOCI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImJlMTMiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIE9iamVjdChuKHQpKX19LCI0YzViIjpmdW5jdGlvbih0KXt0LmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2luX2RldGFpbHMiOnsibWNhcF9yYW5rIjoiQsO2cnN2w6RyZGVzcmFua25pbmciLCJtY2FwIjoiQsO2cnN2w6RyZGUiLCIyNGhfdm9sdW1lIjoiVm9seW0gMjQgaCIsIjI0aF9oaWdoX2xvdyI6IjI0SCBow7Znc3QvbMOkZ3N0YSJ9LCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJEcml2cyBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiJKw6RtZsO2cmVsc2UgYXYga3J5cHRvcHJpc2VyIiwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvbiI6IkrDpG1mw7ZyZWxzZSBhdiBrcnlwdG9iw7Zyc3bDpHJkZSJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IkRyaXZzIGF2ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNCBoIGjDtmdzdGEiLCIyNGhfbG93IjoiMjRoIGzDpGdzdGEiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiVmlzYSBwcmlzbGlzdGEgZsO2ciAle2NvaW59IiwicG93ZXJlZF9ieSI6IkRyaXZzIGF2ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiRHJpdnMgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJEcml2cyBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImJlYW1fd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJEcml2cyBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0IGggaMO2Z3N0YSIsIjI0aF9sb3ciOiIyNGggbMOkZ3N0YSIsInZpZXdfcHJpY2VfY2hhcnQiOiJWaXNhIHByaXNsaXN0YSBmw7ZyICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiRHJpdnMgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6IlZpc2EgcHJpc2xpc3RhIGbDtnIgJXtjb2lufSIsInBvd2VyZWRfYnkiOiJEcml2cyBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJUcsOkZGthcnRhIMO2dmVyIGtyeXB0b3ZhbHV0b3IiLCJzdWJ0aXRsZSI6Iigle3RvcH0gaSB0b3BwIGVmdGVyIGLDtnJzdsOkcmRlKSIsInBvd2VyZWRfYnkiOiJEcml2cyBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sInJhbmRvbV9jb2luX3dpZGdldCI6eyJkaXNjbGFpbWVyIjoiT2JzISBEZXNzYSB2ZXJrdHlnIGZ1bmdlcmFyIHNvbSB1bmRlcmjDpWxsbmluZyBvY2ggdXRnw7ZyIGludGUgZmluYW5zaWVsbCByw6VkZ2l2bmluZy4iLCJzcGluIjoiU251cnJhIiwiYXZhaWxhYmxlX2NvaW5zIjoiVGlsbGfDpG5nbGlnYSBteW50In0sImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0Ijp7InRpdGxlIjoiUHJpc3VwcGRhdGVyaW5nIGhvcyBDb2luR2Vja28iLCJ0b3RhbF9tY2FwIjoiVG90YWx0IGLDtnJzdsOkcmRlIiwiMjRoX3ZvbCI6IlZvbHltIDI0IGgiLCJkb20iOiJEb20ifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoiSGFuZGVsIiwicGFpciI6IlBhciIsInByaWNlIjoiUHJpcyIsInZvbHVtZSI6IlZvbHltIiwidHJ1c3Rfc2NvcmUiOiJGw7ZydHJvZW5kZWJldHlnIiwidmlld19wcmljZV9jaGFydCI6IlZpc2EgcHJpc3RhYmVsbCIsInBvd2VyZWRfYnkiOiJEcml2cyBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9Iiwidmlld19hbGwiOiJWaXNhIGFsbGEgJXtjb2lufS1tYXJrbmFkZXIifX0nKX0sIjRjOTUiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiZTUzZCIpLHI9aSgiNTg0YSIpLG89aSgiZDlmNiIpLGE9aSgiOGU2MCIpLHM9aSgiNTE2OCIpKCJzcGVjaWVzIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPSJmdW5jdGlvbiI9PXR5cGVvZiByW3RdP3JbdF06blt0XTthJiZlJiYhZVtzXSYmby5mKGUscyx7Y29uZmlndXJhYmxlOiEwLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzfX0pfX0sIjRkMDEiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiMGY3YyIpLHI9aSgiODNjMiIpLG89cigiJUZ1bmN0aW9uJSIpLGE9by5hcHBseSxzPW8uY2FsbDt0LmV4cG9ydHM9ZnVuY3Rpb24oKXtyZXR1cm4gbi5hcHBseShzLGFyZ3VtZW50cyl9LHQuZXhwb3J0cy5hcHBseT1mdW5jdGlvbigpe3JldHVybiBuLmFwcGx5KGEsYXJndW1lbnRzKX19LCI0ZTM4IjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsaT10Ll9zZWxmLl9jfHxlO3JldHVybiBpKCJhIix7YXR0cnM6e2hyZWY6dC51cmwsdGFyZ2V0OiJfYmxhbmsifX0sW3QuX3QoImRlZmF1bHQiKV0sMil9LHI9W10sbz0oaSgiNmI1NCIpLHtuYW1lOiJHZWNrb1JlZGlyZWN0Iixwcm9wczp7bG9jYWxlOnt0eXBlOlN0cmluZyxkZWZhdWx0OiJlbiJ9LGlkOnt0eXBlOlN0cmluZyxyZXF1aXJlZDohMH0sdHlwZTp7dHlwZTpTdHJpbmcscmVxdWlyZWQ6ITB9LHV0bU1lZGl1bTp7dHlwZTpTdHJpbmd9LHV0bUNvbnRlbnQ6e3R5cGU6U3RyaW5nfX0sY29tcHV0ZWQ6e3VybDpmdW5jdGlvbigpe3ZhciB0PW5ldyBVUkwoImh0dHBzOi8vd3d3LmNvaW5nZWNrby5jb20vcmVzb3VyY2VfcmVkaXJlY3QiKTtyZXR1cm4gdC5zZWFyY2hQYXJhbXMuc2V0KCJsb2NhbGUiLHRoaXMubG9jYWxlKSx0LnNlYXJjaFBhcmFtcy5zZXQoInJvdXRlIiwiIi5jb25jYXQodGhpcy50eXBlLCIvIikuY29uY2F0KHRoaXMuaWQpKSx0LnNlYXJjaFBhcmFtcy5zZXQoInV0bV9zb3VyY2UiLHdpbmRvdy5sb2NhdGlvbi5ob3N0KSx0LnNlYXJjaFBhcmFtcy5zZXQoInV0bV9tZWRpdW0iLHRoaXMudXRtTWVkaXVtKSx0LnNlYXJjaFBhcmFtcy5zZXQoInV0bV9jb250ZW50Iix0aGlzLnV0bUNvbnRlbnQpLHQudG9TdHJpbmcoKX19fSksYT1vLHM9aSgiMjg3NyIpLGM9T2JqZWN0KHNbImEiXSkoYSxuLHIsITEsbnVsbCxudWxsLG51bGwpO2VbImEiXT1jLmV4cG9ydHN9LCI0ZTczIjpmdW5jdGlvbih0KXt0LmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2luX2RldGFpbHMiOnsibWNhcF9yYW5rIjoiS2FwaXRhbGl6w6FjacOzcyByYW5nIiwibWNhcCI6IlBpYWNpIGthcGl0YWxpesOhY2nDsyIsIjI0aF92b2x1bWUiOiIyNCDDs3LDoXMgZm9yZ2Fsb20iLCIyNGhfaGlnaF9sb3ciOiIyNCDDs3LDoXMgbWF4aW11bS9taW5pbXVtIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IkEoeikgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSBqw7N2b2x0w6Fiw7NsIiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiJLcmlwdG/DoXJmb2x5YW1vayDDtnNzemVoYXNvbmzDrXTDoXNhIiwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvbiI6IktyaXB0b3BpYWNpIGthcGl0YWxpesOhY2nDsyDDtnNzemVoYXNvbmzDrXTDoXNhIn0sImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiQSh6KSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IGrDs3ZvbHTDoWLDs2wifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNCDDs3LDoXMgbWF4aW11bSIsIjI0aF9sb3ciOiIyNCDDs3LDoXMgbWluaW11bSIsInZpZXdfcHJpY2VfY2hhcnQiOiIle2NvaW59LcOhcmZvbHlhbWRpYWdyYW0gbWVndGVraW50w6lzZSIsInBvd2VyZWRfYnkiOiJBKHopICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gasOzdm9sdMOhYsOzbCJ9LCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJBKHopICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gasOzdm9sdMOhYsOzbCJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJBKHopICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gasOzdm9sdMOhYsOzbCJ9LCJiZWFtX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiQSh6KSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IGrDs3ZvbHTDoWLDs2wifSwiY29pbl90aWNrZXJfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjQgw7Nyw6FzIG1heGltdW0iLCIyNGhfbG93IjoiMjQgw7Nyw6FzIG1pbmltdW0iLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiJXtjb2lufS3DoXJmb2x5YW1kaWFncmFtIG1lZ3Rla2ludMOpc2UiLCJwb3dlcmVkX2J5IjoiQSh6KSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IGrDs3ZvbHTDoWLDs2wifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiIle2NvaW59LcOhcmZvbHlhbWRpYWdyYW0gbWVndGVraW50w6lzZSIsInBvd2VyZWRfYnkiOiJBKHopICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gasOzdm9sdMOhYsOzbCJ9LCJjb2luX2hlYXRtYXBfd2lkZ2V0Ijp7InRpdGxlIjoiS3JpcHRvZGV2aXrDoWsgZmFzdHJ1a3TDunJhLXTDqXJrw6lwZSIsInN1YnRpdGxlIjoiKEVsc8WRICV7dG9wfSBrYXBpdGFsaXrDoWNpw7MgYWxhcGrDoW4pIiwicG93ZXJlZF9ieSI6IkEoeikgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSBqw7N2b2x0w6Fiw7NsIn0sInJhbmRvbV9jb2luX3dpZGdldCI6eyJkaXNjbGFpbWVyIjoiRmVsZWzFkXNzw6lnaSBueWlsYXRrb3phdDogZXogYXogY3NhayBlc3prw7Z6IHN6w7NyYWtvenRhdMOhc3JhIHN6b2xnw6FsLCBuZW0gbWluxZFzw7xsIHDDqW56w7xneWkgdGFuw6Fjc2Fkw6FzbmFrLiIsInNwaW4iOiJQw7ZyZ2V0w6lzIiwiYXZhaWxhYmxlX2NvaW5zIjoiRWzDqXJoZXTFkSDDqXJtw6lrIn0sImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0Ijp7InRpdGxlIjoiQ29pbkdlY2tvLcOhcmZvbHlhbWZyaXNzw610w6lzIiwidG90YWxfbWNhcCI6IlRlbGplcyBwLiBrYXAuIiwiMjRoX3ZvbCI6IjI0IMOzcsOhcyBmb3JnYWxvbSIsImRvbSI6IkRvbWluYW5jaWEifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoiVMWRenNkZSIsInBhaXIiOiJEZXZpemFww6FyIiwicHJpY2UiOiLDgXJmb2x5YW0iLCJ2b2x1bWUiOiJGb3JnYWxvbSIsInRydXN0X3Njb3JlIjoiTWVnYsOtemhhdMOzc8OhZ2kgcG9udHN6w6FtIiwidmlld19wcmljZV9jaGFydCI6IsOBcmZvbHlhbWRpYWdyYW0gbWVndGVraW50w6lzZSIsInBvd2VyZWRfYnkiOiJBKHopICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gasOzdm9sdMOhYsOzbCIsInZpZXdfYWxsIjoiw5Zzc3plcyAle2NvaW59LXBpYWMgbWVndGVraW50w6lzZSJ9fScpfSwiNGVlMSI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoIjUxNjgiKSgiaXRlcmF0b3IiKSxyPSExO3RyeXt2YXIgbz1bN11bbl0oKTtvWyJyZXR1cm4iXT1mdW5jdGlvbigpe3I9ITB9LEFycmF5LmZyb20obywoZnVuY3Rpb24oKXt0aHJvdyAyfSkpfWNhdGNoKGEpe310LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZighZSYmIXIpcmV0dXJuITE7dmFyIGk9ITE7dHJ5e3ZhciBvPVs3XSxzPW9bbl0oKTtzLm5leHQ9ZnVuY3Rpb24oKXtyZXR1cm57ZG9uZTppPSEwfX0sb1tuXT1mdW5jdGlvbigpe3JldHVybiBzfSx0KG8pfWNhdGNoKGEpe31yZXR1cm4gaX19LCI0ZjkyIjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO2kucihlKTtpKCI2YjU0Iik7dmFyIG49aSgiMmIwZSIpLHI9aSgiYzg5NCIpLG89aSgiNTMwOSIpLGE9aSgiYWYxNCIpLHM9aSgiYzY0OSIpLGM9aSgiNWYxNyIpLGg9aSgiNjg4YyIpLGw9aS5uKGgpO25bImEiXS51c2UoclsiYSJdKTt2YXIgcD1mdW5jdGlvbigpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTp7c2hhZG93OiExfTtuWyJhIl0uY3VzdG9tRWxlbWVudCgiZ2Vja28tY29pbi1wcmljZS1jaGFydC13aWRnZXQiLGNbImEiXSx7c2hhZG93OnQuc2hhZG93LHNoYWRvd0NzczpsLmEudG9TdHJpbmcoKSxjb25uZWN0ZWRDYWxsYmFjazpmdW5jdGlvbigpe2lmKCF0LnNoYWRvdyl7dmFyIGU9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtlLmlubmVySFRNTD1sLmEudG9TdHJpbmcoKSxkb2N1bWVudC5oZWFkLmFwcGVuZChlKX19fSl9O09iamVjdChhWyJhIl0pKCk/cCh7c2hhZG93OiEwfSk6T2JqZWN0KHNbImMiXSkoW29bImEiXS5jdXN0b21FbGVtZW50LG9bImEiXS5mZXRjaCxvWyJhIl0uY3NzdmFyXSkudGhlbigoZnVuY3Rpb24oKXtyZXR1cm4gcCh7c2hhZG93OiExfSl9KSl9LCI1MGVkIjpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybnt2YWx1ZTplLGRvbmU6ISF0fX19LDUxNDc6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoIjJiNGMiKSgibWF0Y2giKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9Ly4vO3RyeXsiLy4vIlt0XShlKX1jYXRjaChpKXt0cnl7cmV0dXJuIGVbbl09ITEsISIvLi8iW3RdKGUpfWNhdGNoKHIpe319cmV0dXJuITB9fSw1MTY4OmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCJkYmRiIikoIndrcyIpLHI9aSgiNjJhMCIpLG89aSgiZTUzZCIpLlN5bWJvbCxhPSJmdW5jdGlvbiI9PXR5cGVvZiBvLHM9dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBuW3RdfHwoblt0XT1hJiZvW3RdfHwoYT9vOnIpKCJTeW1ib2wuIit0KSl9O3Muc3RvcmU9bn0sIjUyMGEiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiMGJmYiIpLHI9UmVnRXhwLnByb3RvdHlwZS5leGVjLG89U3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlLGE9cixzPSJsYXN0SW5kZXgiLGM9ZnVuY3Rpb24oKXt2YXIgdD0vYS8sZT0vYiovZztyZXR1cm4gci5jYWxsKHQsImEiKSxyLmNhbGwoZSwiYSIpLDAhPT10W3NdfHwwIT09ZVtzXX0oKSxoPXZvaWQgMCE9PS8oKT8/Ly5leGVjKCIiKVsxXSxsPWN8fGg7bCYmKGE9ZnVuY3Rpb24odCl7dmFyIGUsaSxhLGwscD10aGlzO3JldHVybiBoJiYoaT1uZXcgUmVnRXhwKCJeIitwLnNvdXJjZSsiJCg/IVxccykiLG4uY2FsbChwKSkpLGMmJihlPXBbc10pLGE9ci5jYWxsKHAsdCksYyYmYSYmKHBbc109cC5nbG9iYWw/YS5pbmRleCthWzBdLmxlbmd0aDplKSxoJiZhJiZhLmxlbmd0aD4xJiZvLmNhbGwoYVswXSxpLChmdW5jdGlvbigpe2ZvcihsPTE7bDxhcmd1bWVudHMubGVuZ3RoLTI7bCsrKXZvaWQgMD09PWFyZ3VtZW50c1tsXSYmKGFbbF09dm9pZCAwKX0pKSxhfSksdC5leHBvcnRzPWF9LCI1MmE3IjpmdW5jdGlvbih0LGUpe2UuZj17fS5wcm9wZXJ0eUlzRW51bWVyYWJsZX0sNTMwOTpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKTt2YXIgbj17Y3VzdG9tRWxlbWVudDp7c3JjOiJodHRwczovL2NkbmpzLmNsb3VkZmxhcmUuY29tL2FqYXgvbGlicy9kb2N1bWVudC1yZWdpc3Rlci1lbGVtZW50LzEuMTEuMS9kb2N1bWVudC1yZWdpc3Rlci1lbGVtZW50LmpzIixpbnRlZ3JpdHk6InNoYTM4NC16QTZWNGNoWUZHZ3NlemgxeUFRenVzMlZOVWN5VHlHSTNOTzdMNXBFaUU4QU9YdjNFQytPUzJDLy83MlZVNk1nIn0sZmV0Y2g6e3NyYzoiaHR0cHM6Ly9jZG5qcy5jbG91ZGZsYXJlLmNvbS9hamF4L2xpYnMvZmV0Y2gvMi4wLjQvZmV0Y2gubWluLmpzIixpbnRlZ3JpdHk6InNoYTM4NC0ya2t1cXdTQ0Z6ZTF5N1VjQWVqVUg2d3QyTXBRNG5hYSsreldQMFN4eVVDL2pud3E5MVNBZmUxNFJBcnVYdG5WIn0sY3NzdmFyOntzcmM6Imh0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vY3NzLXZhcnMtcG9ueWZpbGxAMS4xNi4yIixpbnRlZ3JpdHk6InNoYTM4NC00c1ZWc3RHQVg1RUVIUXp4c2ZmMDVDZWRZNDZVVmpYT01jVTVlbHU5NHZ6dEc1Yk8yVlNBcTY5RDFaUEdQTDVFIn0sY29uZmV0dGk6e3NyYzoiaHR0cHM6Ly9jZG4uanNkZWxpdnIubmV0L25wbS9jYW52YXMtY29uZmV0dGlAMS45LjMvZGlzdC9jb25mZXR0aS5icm93c2VyLm1pbi5qcyIsaW50ZWdyaXR5OiJzaGEzODQtR3ZKMjRPN0Jwbjd6TG5rVHpLRndhUE8wVWN6MG5uSlJra24yeFMwK1NaOHZ1Q01Zbi9QakMvaCtXSWVobkdTTSJ9fX0sIjUzZTIiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCIwN2UzIikscj1pKCIyNDFlIiksbz1pKCI1NTU5IikoIklFX1BST1RPIiksYT1PYmplY3QucHJvdG90eXBlO3QuZXhwb3J0cz1PYmplY3QuZ2V0UHJvdG90eXBlT2Z8fGZ1bmN0aW9uKHQpe3JldHVybiB0PXIodCksbih0LG8pP3Rbb106ImZ1bmN0aW9uIj09dHlwZW9mIHQuY29uc3RydWN0b3ImJnQgaW5zdGFuY2VvZiB0LmNvbnN0cnVjdG9yP3QuY29uc3RydWN0b3IucHJvdG90eXBlOnQgaW5zdGFuY2VvZiBPYmplY3Q/YTpudWxsfX0sNTUzNzpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiODM3OCIpLHI9aSgiNzcyNiIpLG89Il9fY29yZS1qc19zaGFyZWRfXyIsYT1yW29dfHwocltvXT17fSk7KHQuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiBhW3RdfHwoYVt0XT12b2lkIDAhPT1lP2U6e30pfSkoInZlcnNpb25zIixbXSkucHVzaCh7dmVyc2lvbjpuLnZlcnNpb24sbW9kZTppKCIyZDAwIik/InB1cmUiOiJnbG9iYWwiLGNvcHlyaWdodDoiwqkgMjAxOSBEZW5pcyBQdXNoa2FyZXYgKHpsb2lyb2NrLnJ1KSJ9KX0sNTU1OTpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZGJkYiIpKCJrZXlzIikscj1pKCI2MmEwIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBuW3RdfHwoblt0XT1yKHQpKX19LCI1NWRkIjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoIjVjYTEiKSxyPWkoImQ4ZTgiKSxvPWkoIjRiZjgiKSxhPWkoIjc5ZTUiKSxzPVtdLnNvcnQsYz1bMSwyLDNdO24obi5QK24uRiooYSgoZnVuY3Rpb24oKXtjLnNvcnQodm9pZCAwKX0pKXx8IWEoKGZ1bmN0aW9uKCl7Yy5zb3J0KG51bGwpfSkpfHwhaSgiMmYyMSIpKHMpKSwiQXJyYXkiLHtzb3J0OmZ1bmN0aW9uKHQpe3JldHVybiB2b2lkIDA9PT10P3MuY2FsbChvKHRoaXMpKTpzLmNhbGwobyh0aGlzKSxyKHQpKX19KX0sIjU2MmUiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiNDYwMSIpLHI9aSgiMTE1MyIpLG89aSgiOGFiNSIpLGE9bygiU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlIikscz0vXltceDA5XHgwQVx4MEJceDBDXHgwRFx4MjBceEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDJGXHUyMDVGXHUzMDAwXHUyMDI4XHUyMDI5XHVGRUZGXSsvLGM9L1tceDA5XHgwQVx4MEJceDBDXHgwRFx4MjBceEEwXHUxNjgwXHUxODBFXHUyMDAwXHUyMDAxXHUyMDAyXHUyMDAzXHUyMDA0XHUyMDA1XHUyMDA2XHUyMDA3XHUyMDA4XHUyMDA5XHUyMDBBXHUyMDJGXHUyMDVGXHUzMDAwXHUyMDI4XHUyMDI5XHVGRUZGXSskLzt0LmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD1yKG4odGhpcykpO3JldHVybiBhKGEodCxzLCIiKSxjLCIiKX19LDU3NTQ6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6Ik1hcmtraW5hLWFydm9uIHNpamEiLCJtY2FwIjoiTWFya2tpbmEtYXJ2byIsIjI0aF92b2x1bWUiOiIyNHQgdm9seXltaSIsIjI0aF9oaWdoX2xvdyI6IjI0dCBrb3JrZWluIC8gYWxpbiBoaW50YSJ9LCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJQYWx2ZWx1biB0YXJqb2FhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IktyeXB0b2plbiBoaW5uYW52ZXJ0YWlsdSIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiJLcnlwdG9qZW4gbWFya2tpbmEtYXJ2b2plbiB2ZXJ0YWlsdSJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlBhbHZlbHVuIHRhcmpvYWEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0dCBLb3JrZWluIiwiMjRoX2xvdyI6IjI0dCBBbGhhaXNpbiIsInZpZXdfcHJpY2VfY2hhcnQiOiJOw6R5dMOkIGtvbGlrb24gJXtjb2lufSBoaW50YWthYXZpbyIsInBvd2VyZWRfYnkiOiJQYWx2ZWx1biB0YXJqb2FhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUGFsdmVsdW4gdGFyam9hYSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlBhbHZlbHVuIHRhcmpvYWEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJiZWFtX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUGFsdmVsdW4gdGFyam9hYSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0dCBLb3JrZWluIiwiMjRoX2xvdyI6IjI0dCBBbGhhaXNpbiIsInZpZXdfcHJpY2VfY2hhcnQiOiJOw6R5dMOkIGtvbGlrb24gJXtjb2lufSBoaW50YWthYXZpbyIsInBvd2VyZWRfYnkiOiJQYWx2ZWx1biB0YXJqb2FhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiJOw6R5dMOkIGtvbGlrb24gJXtjb2lufSBoaW50YWthYXZpbyIsInBvd2VyZWRfYnkiOiJQYWx2ZWx1biB0YXJqb2FhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6IktyeXB0b3ZhbHV1dHRvamVuIHB1dWthYXZpbyIsInN1YnRpdGxlIjoiKFBhcmhhYXQgJXt0b3B9IG1hcmtraW5hLWFydm9uIG11a2FhbikiLCJwb3dlcmVkX2J5IjoiUGFsdmVsdW4gdGFyam9hYSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sInJhbmRvbV9jb2luX3dpZGdldCI6eyJkaXNjbGFpbWVyIjoiVmFzdHV1dmFwYXVzbGF1c2VrZTogVMOkbcOkIHR5w7ZrYWx1IG9uIHRhcmtvaXRldHR1IHZpaWhkZWvDpHl0dMO2w7ZuLCBqYSBzZW4gc2lzw6RsdMO2IGVpIG9sZSB0YWxvdWRlbGxpc3RhIG5ldXZvbnRhYS4iLCJzcGluIjoiUHnDtnLDpHl0w6QiLCJhdmFpbGFibGVfY29pbnMiOiJTYWF0YXZpbGxhIG9sZXZhdCBrb2xpa290In0sImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0Ijp7InRpdGxlIjoiQ29pbkdlY2tvIGhpbm5hbnDDpGl2aXR5cyIsInRvdGFsX21jYXAiOiJLb2tvbmFpc21hcmtraW5hLWFydm8iLCIyNGhfdm9sIjoiMjQgdHVubmluIHZvbHl5bWkiLCJkb20iOiJEb21pbmFuc3NpIn0sImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldCI6eyJleGNoYW5nZSI6IktyeXB0b3DDtnJzc2kiLCJwYWlyIjoiUGFyaSIsInByaWNlIjoiSGludGEiLCJ2b2x1bWUiOiJWb2x5eW1pIiwidHJ1c3Rfc2NvcmUiOiJUcnVzdCBTY29yZSIsInZpZXdfcHJpY2VfY2hhcnQiOiJOw6R5dMOkIGhpbnRha2FhdmlvIiwicG93ZXJlZF9ieSI6IlBhbHZlbHVuIHRhcmpvYWEgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsInZpZXdfYWxsIjoiTsOkeXTDpCBrYWlra2kgJXtjb2lufSBtYXJra2luYXQifX0nKX0sIjU4NGEiOmZ1bmN0aW9uKHQsZSl7dmFyIGk9dC5leHBvcnRzPXt2ZXJzaW9uOiIyLjYuMTEifTsibnVtYmVyIj09dHlwZW9mIF9fZSYmKF9fZT1pKX0sIjViNGUiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCIzNmMzIikscj1pKCJiNDQ3Iiksbz1pKCIwZmM5Iik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLGksYSl7dmFyIHMsYz1uKGUpLGg9cihjLmxlbmd0aCksbD1vKGEsaCk7aWYodCYmaSE9aSl7d2hpbGUoaD5sKWlmKHM9Y1tsKytdLHMhPXMpcmV0dXJuITB9ZWxzZSBmb3IoO2g+bDtsKyspaWYoKHR8fGwgaW4gYykmJmNbbF09PT1pKXJldHVybiB0fHxsfHwwO3JldHVybiF0JiYtMX19fSwiNWJmZCI6ZnVuY3Rpb24odCxlLGkpe2U9dC5leHBvcnRzPWkoIjI0ZmIiKSghMSksZS5wdXNoKFt0LmksIkBpbXBvcnQgdXJsKGh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzMj9mYW1pbHk9SW50ZXI6d2dodEAxMDAuLjkwMCZkaXNwbGF5PXN3YXApOyIsIiJdKSxlLnB1c2goW3QuaSwiIiwiIl0pfSwiNWM5NSI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoIjM1ZTgiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlLGkpe2Zvcih2YXIgciBpbiBlKWkmJnRbcl0/dFtyXT1lW3JdOm4odCxyLGVbcl0pO3JldHVybiB0fX0sIjVjYTEiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI3NzI2Iikscj1pKCI4Mzc4Iiksbz1pKCIzMmU5IiksYT1pKCIyYWJhIikscz1pKCI5YjQzIiksYz0icHJvdG90eXBlIixoPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbCxwLGQsdSxmPXQmaC5GLG09dCZoLkcsZz10JmguUyx2PXQmaC5QLHk9dCZoLkIsXz1tP246Zz9uW2VdfHwobltlXT17fSk6KG5bZV18fHt9KVtjXSxiPW0/cjpyW2VdfHwocltlXT17fSkseD1iW2NdfHwoYltjXT17fSk7Zm9yKGwgaW4gbSYmKGk9ZSksaSlwPSFmJiZfJiZ2b2lkIDAhPT1fW2xdLGQ9KHA/XzppKVtsXSx1PXkmJnA/cyhkLG4pOnYmJiJmdW5jdGlvbiI9PXR5cGVvZiBkP3MoRnVuY3Rpb24uY2FsbCxkKTpkLF8mJmEoXyxsLGQsdCZoLlUpLGJbbF0hPWQmJm8oYixsLHUpLHYmJnhbbF0hPWQmJih4W2xdPWQpfTtuLmNvcmU9cixoLkY9MSxoLkc9MixoLlM9NCxoLlA9OCxoLkI9MTYsaC5XPTMyLGguVT02NCxoLlI9MTI4LHQuZXhwb3J0cz1ofSwiNWQ1OCI6ZnVuY3Rpb24odCxlLGkpe3QuZXhwb3J0cz1pKCJkOGQ2Iil9LCI1ZDY3IjpmdW5jdGlvbih0KXt0LmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2luX2RldGFpbHMiOnsibWNhcF9yYW5rIjoiQ2xhc3NpZmljYcOnw6NvIGRhIGNhcGl0YWxpemHDp8OjbyBkZSBtZXJjYWRvIiwibWNhcCI6IkNhcGl0YWxpemHDp8OjbyBkZSBtZXJjYWRvIiwiMjRoX3ZvbHVtZSI6IlZvbHVtZSBlbSAyNCBIIiwiMjRoX2hpZ2hfbG93IjoiMjRIIEFsdGEvQmFpeGEifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiJDb21wYXJhw6fDo28gZGUgUHJlw6dvcyBkZSBDcmlwdG8iLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoiQ29tcGFyYcOnw6NvIGRlIENhcGl0YWxpemHDp8OjbyBkZSBNZXJjYWRvIGRlIENyaXB0byJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IkRlc2Vudm9sdmlkbyBwb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6IkFsdGEgZGUgMjQgaCIsIjI0aF9sb3ciOiJCYWl4YSBkZSAyNCBoIiwidmlld19wcmljZV9jaGFydCI6IlZlciBHcsOhZmljbyBkZSBQcmXDp29zICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IkRlc2Vudm9sdmlkbyBwb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJEZXNlbnZvbHZpZG8gcG9yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IkRlc2Vudm9sdmlkbyBwb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiJBbHRhIGRlIDI0IGgiLCIyNGhfbG93IjoiQmFpeGEgZGUgMjQgaCIsInZpZXdfcHJpY2VfY2hhcnQiOiJWZXIgR3LDoWZpY28gZGUgUHJlw6dvcyAle2NvaW59IiwicG93ZXJlZF9ieSI6IkRlc2Vudm9sdmlkbyBwb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6IlZlciBHcsOhZmljbyBkZSBQcmXDp29zICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJNYXBhIGRlIMOhcnZvcmUgZGUgY3JpcHRvbW9lZGFzIiwic3VidGl0bGUiOiIoUHJpbmNpcGFpcyAle3RvcH0gTW9lZGFzIHBvciBDYXBpdGFsaXphw6fDo28gZGUgTWVyY2FkbykiLCJwb3dlcmVkX2J5IjoiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sInJhbmRvbV9jb2luX3dpZGdldCI6eyJkaXNjbGFpbWVyIjoiQXRlbsOnw6NvOiBFc3RhcyBmZXJyYW1lbnRhcyBzw6NvIHBhcmEgZmlucyBkZSBlbnRyZXRlbmltZW50byBlIG7Do28gY29uc3RpdHVlbSBjb25zZWxob3MgZmluYW5jZWlyb3MuIiwic3BpbiI6IkdpcmFyIiwiYXZhaWxhYmxlX2NvaW5zIjoiTW9lZGFzIERpc3BvbsOtdmVpcyJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkF0dWFsaXphw6fDo28gZG8gUHJlw6dvcyBDb2luR2Vja28iLCJ0b3RhbF9tY2FwIjoiQ2FwaXRhbGl6YcOnw6NvIFRvdGFsIGRlIE1lcmNhZG8iLCIyNGhfdm9sIjoiVm9sdW1lIGVtIDI0IGgiLCJkb20iOiJEb20ifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoiQ8OibWJpbyIsInBhaXIiOiJQYXIiLCJwcmljZSI6IlByZcOnbyIsInZvbHVtZSI6IlZvbHVtZSIsInRydXN0X3Njb3JlIjoiUGxhY2FyIGRlIENvbmZpYW7Dp2EiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiVmVyIEdyw6FmaWNvIGRlIFByZcOnb3MiLCJwb3dlcmVkX2J5IjoiRGVzZW52b2x2aWRvIHBvciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9Iiwidmlld19hbGwiOiJWZXIgdG9kb3Mgb3MgbWVyY2Fkb3MgJXtjb2lufSJ9fScpfSwiNWRiYyI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImQzZjQiKSxyPWkoIjhiOTciKS5zZXQ7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbyxhPWUuY29uc3RydWN0b3I7cmV0dXJuIGEhPT1pJiYiZnVuY3Rpb24iPT10eXBlb2YgYSYmKG89YS5wcm90b3R5cGUpIT09aS5wcm90b3R5cGUmJm4obykmJnImJnIodCxvKSx0fX0sIjVkZjMiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiMDJmNCIpKCEwKTtpKCIwMWY5IikoU3RyaW5nLCJTdHJpbmciLChmdW5jdGlvbih0KXt0aGlzLl90PVN0cmluZyh0KSx0aGlzLl9pPTB9KSwoZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMuX3QsaT10aGlzLl9pO3JldHVybiBpPj1lLmxlbmd0aD97dmFsdWU6dm9pZCAwLGRvbmU6ITB9Oih0PW4oZSxpKSx0aGlzLl9pKz10Lmxlbmd0aCx7dmFsdWU6dCxkb25lOiExfSl9KSl9LCI1ZWRhIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiNWNhMSIpLHI9aSgiODM3OCIpLG89aSgiNzllNSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBpPShyLk9iamVjdHx8e30pW3RdfHxPYmplY3RbdF0sYT17fTthW3RdPWUoaSksbihuLlMrbi5GKm8oKGZ1bmN0aW9uKCl7aSgxKX0pKSwiT2JqZWN0IixhKX19LCI1ZjE3IjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsaT10Ll9zZWxmLl9jfHxlO3JldHVybiBpKCJHZWNrb1dpZGdldCIse3N0eWxlOnttYXhXaWR0aDp0LndpZHRoUGl4ZWxzfSxhdHRyczp7ImRhcmstbW9kZSI6dC5kYXJrTW9kZSwidHJhbnNwYXJlbnQtYmFja2dyb3VuZCI6dC50cmFuc3BhcmVudEJhY2tncm91bmQsb3V0bGluZWQ6dC5vdXRsaW5lZCxsb2NhbGU6dC5sb2NhbGV9fSxbaSgiR2Vja29Db2luRGV0YWlscyIse2F0dHJzOntjdXJyZW5jeTp0LmFjdGl2ZUN1cnJlbmN5LCJjb2luLWRhdGEiOnQuY29pbkRhdGEsbG9jYWxlOnQubG9jYWxlLCJzaG93LXN0YXRzIjohMSwic2hvdy13YXRlcm1hcmsiOiExfX0pLGkoImRpdiIse3N0YXRpY0NsYXNzOiJnZWNrby1jaGFydCIsc3R5bGU6e2hlaWdodDp0LmhlaWdodFBpeGVsc319LFt0LmZhaWxlZD9pKCJkaXYiLHtzdGF0aWNDbGFzczoiZ2Vja28tbG9hZGluZyIsc3RhdGljU3R5bGU6e3dpZHRoOiJmaXQtY29udGVudCIsImZsZXgtZGlyZWN0aW9uIjoiY29sdW1uIixyaWdodDoiMCIsbWFyZ2luOiIwIGF1dG8iLHBhZGRpbmc6IjAgMjRweCJ9fSxbaSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLWJvbGQgZ2Vja28tdGV4dC0zeGwiLHN0YXRpY1N0eWxlOnt3aWR0aDoiMTAwJSIsIm1hcmdpbi1ib3R0b20iOiIxMnB4In19LFt0Ll92KCI6KCIpXSksaSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLXJlZ3VsYXIgZ2Vja28tdGV4dC1yZWd1bGFyIixzdGF0aWNTdHlsZTp7d2lkdGg6IjEwMCUifX0sW3QuX3YoIlxuICAgICAgICAiK3QuX3ModC50KCJhcGlfZXJyb3IiKSkrIlxuICAgICAgIildKV0pOnQuY2hhcnREYXRhP3QuX2UoKTppKCJkaXYiLHtzdGF0aWNDbGFzczoiZ2Vja28tbG9hZGluZyBnZWNrby1za2VsZXRvbiJ9KSxpKCJkaXYiLHtzdGF0aWNDbGFzczoiZ2Vja28tY2hhcnQtdGFyZ2V0In0pXSksaSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLXdhdGVybWFyayBnZWNrby10ZXh0LWxpZ2h0IGdlY2tvLXRleHQteHMifSxbaSgiR2Vja29XYXRlcm1hcmsiKV0sMSldLDEpfSxyPVtdLG89KGkoIjdmN2YiKSxpKCJhYzRkIiksaSgiOGE4MSIpLGkoImFjNmEiKSxpKCJjNGJlIikpLGE9aSgiZGVhNiIpLHM9aSgiZGZjYyIpLGM9aSgiYzA0YSIpLGg9aSgiZTlhZSIpLGw9aSgiYzk1ZSIpLHA9aSgiZTU5MSIpLGQ9aS5uKHApLHU9aSgiZThiYSIpLGY9e3NpZ25pZmljYW50RmlndXJlczo0LG1heGltdW1EZWNpbWFsVHJhaWxpbmdaZXJvZXM6NH0sbT17bmFtZToiR2Vja29Db2luUHJpY2VDaGFydFdpZGdldCIsY29tcG9uZW50czp7R2Vja29Db2luRGV0YWlsczpsWyJhIl0sR2Vja29XaWRnZXQ6aFsiYSJdLEdlY2tvV2F0ZXJtYXJrOmNbImEiXSxHZWNrb1ByaWNlOnNbImEiXSxHZWNrb1BlcmNlbnRDaGFuZ2U6YVsiYSJdfSxtaXhpbnM6W29bImEiXV0scHJvcHM6e2NvaW5JZDp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiYml0Y29pbiJ9fSxtZXRob2RzOntmZXRjaERhdGE6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9bmV3IFVSTCgiaHR0cHM6Ly9hcGkuY29pbmdlY2tvLmNvbS9hcGkvdjMvY29pbnMvIi5jb25jYXQodGhpcy5jb2luSWQudG9Mb3dlckNhc2UoKSkpO2Uuc2VhcmNoUGFyYW1zLnNldCgiZGV2ZWxvcGVyX2RhdGEiLCJmYWxzZSIpLGUuc2VhcmNoUGFyYW1zLnNldCgiY29tbXVuaXR5X2RhdGEiLCJmYWxzZSIpLGUuc2VhcmNoUGFyYW1zLnNldCgidGlja2VycyIsImZhbHNlIiksZS5zZWFyY2hQYXJhbXMuc2V0KCJsb2NhbGl6YXRpb24iLCJmYWxzZSIpO3ZhciBpPW5ldyBVUkwoImh0dHBzOi8vYXBpLmNvaW5nZWNrby5jb20vYXBpL3YzL2NvaW5zLyIuY29uY2F0KHRoaXMuY29pbklkLnRvTG93ZXJDYXNlKCksIi9tYXJrZXRfY2hhcnQiKSk7aS5zZWFyY2hQYXJhbXMuc2V0KCJkYXlzIiwiMSIpLGkuc2VhcmNoUGFyYW1zLnNldCgidnNfY3VycmVuY3kiLHRoaXMuYWN0aXZlQ3VycmVuY3kpLHRoaXMuX2dldEFwaURhdGEoZSw2MDApLnRoZW4oKGZ1bmN0aW9uKGUpe3JldHVybiB0LmNvaW5EYXRhPWV9KSksdGhpcy5fZ2V0QXBpRGF0YShpKS50aGVuKChmdW5jdGlvbihlKXtyZXR1cm4gdC5jaGFydERhdGE9ZX0pKS5jYXRjaCgoZnVuY3Rpb24oKXtyZXR1cm4gdC5mYWlsZWQ9ITB9KSl9fSxkYXRhOmZ1bmN0aW9uKCl7cmV0dXJue2NvaW5EYXRhOm51bGwsY2hhcnREYXRhOm51bGwsZmFpbGVkOiExfX0sY3JlYXRlZDpmdW5jdGlvbigpe3RoaXMuZmV0Y2hEYXRhKCl9LHdhdGNoOntjaGFydERhdGE6ZnVuY3Rpb24odCl7aWYodCl7dmFyIGU9dC5wcmljZXMsaT1lP2VbMF1bMV06MCxuPWU/ZVtlLmxlbmd0aC0xXVsxXTowLHI9dGhpcy5hY3RpdmVDdXJyZW5jeSxvPXRoaXMubG9jYWxlLGE9bmV3IEludGwuRGF0ZVRpbWVGb3JtYXQobyx7eWVhcjoibnVtZXJpYyIsbW9udGg6InNob3J0IixkYXk6Im51bWVyaWMiLGhvdXI6Im51bWVyaWMiLG1pbnV0ZToibnVtZXJpYyIsc2Vjb25kOiJudW1lcmljIixob3VyQ3ljbGU6ImgyMyIsdGltZVpvbmVOYW1lOiJzaG9ydCJ9KSxzPXRoaXMuJGVsLnF1ZXJ5U2VsZWN0b3IoIi5nZWNrby1jaGFydC10YXJnZXQiKTtkLmEuc3RvY2tDaGFydChzLHt0aXRsZTohMSxleHBvcnRpbmc6ITEsbmF2aWdhdG9yOiExLHJhbmdlU2VsZWN0b3I6ITEsc2Nyb2xsYmFyOiExLGNyZWRpdHM6ITEsY2hhcnQ6e21hcmdpbjpbMTIsMCw0LDBdLHN0eWxlZE1vZGU6ITB9LHhBeGlzOnt2aXNpYmxlOiExLGNyb3NzaGFpcjohMX0seUF4aXM6e3Zpc2libGU6ITEsdGlja1BpeGVsSW50ZXJ2YWw6LjUsbWluUGFkZGluZzowLG1heFBhZGRpbmc6MH0sc2VyaWVzOlt7bmFtZTp0aGlzLnQoImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldC5wcmljZSIpLHR5cGU6ImFyZWEiLGRhdGE6ZSxjb2xvckluZGV4Om4+PWk/InBvc2l0aXZlIjoibmVnYXRpdmUiLHRocmVzaG9sZDotMS8wfV0sdG9vbHRpcDp7dXNlSFRNTDohMCxib3JkZXJSYWRpdXM6MTYscGFkZGluZzouNSxmb3JtYXR0ZXI6ZnVuY3Rpb24oKXt2YXIgdD0nPGRpdiBjbGFzcz0idGl0bGUiPicuY29uY2F0KGEuZm9ybWF0KHRoaXMueCksIjwvZGl2PiAiKSxlPSEwLGk9ITEsbj12b2lkIDA7dHJ5e2Zvcih2YXIgcyxjPXRoaXMucG9pbnRzW1N5bWJvbC5pdGVyYXRvcl0oKTshKGU9KHM9Yy5uZXh0KCkpLmRvbmUpO2U9ITApe3ZhciBoPXMudmFsdWUsbD1oLnk+MCYmaC55PDEmJmYscD1PYmplY3QodVsiZm9ybWF0Q3VycmVuY3kiXSkoaC55LHIsbywhMSxsKTt0Kz0iPGRpdj4iLmNvbmNhdChoLnNlcmllcy5uYW1lLCc6IDxzcGFuIGNsYXNzPSJ2YWx1ZSI+JykuY29uY2F0KHAsIjwvc3Bhbj48L2Rpdj4iKX19Y2F0Y2goZCl7aT0hMCxuPWR9ZmluYWxseXt0cnl7ZXx8bnVsbD09Yy5yZXR1cm58fGMucmV0dXJuKCl9ZmluYWxseXtpZihpKXRocm93IG59fXJldHVybiB0fX0sZGVmczp7Z3JhZGllbnQwOnt0YWdOYW1lOiJsaW5lYXJHcmFkaWVudCIsaWQ6ImdlY2tvLWNoYXJ0LXBvc2l0aXZlLWdyYWRpZW50Iix4MTowLHkxOjAseDI6MCx5MjoxLGNoaWxkcmVuOlt7dGFnTmFtZToic3RvcCIsb2Zmc2V0OjAsc3R5bGU6InN0b3AtY29sb3I6ICMwMEE4M0U7IHN0b3Atb3BhY2l0eTogMC40OyJ9LHt0YWdOYW1lOiJzdG9wIixvZmZzZXQ6MSxzdHlsZToic3RvcC1jb2xvcjogIzAwQTgzRTsgc3RvcC1vcGFjaXR5OiAwOyJ9XX0sZ3JhZGllbnQxOnt0YWdOYW1lOiJsaW5lYXJHcmFkaWVudCIsaWQ6ImdlY2tvLWNoYXJ0LW5lZ2F0aXZlLWdyYWRpZW50Iix4MTowLHkxOjAseDI6MCx5MjoxLGNoaWxkcmVuOlt7dGFnTmFtZToic3RvcCIsb2Zmc2V0OjAsc3R5bGU6InN0b3AtY29sb3I6ICNGRjNBMzM7IHN0b3Atb3BhY2l0eTogMC40OyJ9LHt0YWdOYW1lOiJzdG9wIixvZmZzZXQ6MSxzdHlsZToic3RvcC1jb2xvcjogI0ZGM0EzMzsgc3RvcC1vcGFjaXR5OiAwOyJ9XX19fSl9fX19LGc9bSx2PWkoIjI4NzciKSx5PU9iamVjdCh2WyJhIl0pKGcsbixyLCExLG51bGwsbnVsbCxudWxsKTtlWyJhIl09eS5leHBvcnRzfSwiNWYxYiI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCIyM2M2Iikscj1SZWdFeHAucHJvdG90eXBlLmV4ZWM7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dC5leGVjO2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgaSl7dmFyIG89aS5jYWxsKHQsZSk7aWYoIm9iamVjdCIhPT10eXBlb2Ygbyl0aHJvdyBuZXcgVHlwZUVycm9yKCJSZWdFeHAgZXhlYyBtZXRob2QgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gT2JqZWN0IG9yIG51bGwiKTtyZXR1cm4gb31pZigiUmVnRXhwIiE9PW4odCkpdGhyb3cgbmV3IFR5cGVFcnJvcigiUmVnRXhwI2V4ZWMgY2FsbGVkIG9uIGluY29tcGF0aWJsZSByZWNlaXZlciIpO3JldHVybiByLmNhbGwodCxlKX19LDYwNDU6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6IlJpbmtvcyBrYXBpdGFsaXphY2lqb3MgcmVpdGluZ2FzIiwibWNhcCI6IlJpbmtvcyBrYXBpdGFsaXphY2lqYSIsIjI0aF92b2x1bWUiOiIyNCB2YWwuIGFwaW10aXMiLCIyNGhfaGlnaF9sb3ciOiJBdWvFocSNaWF1c2lhIC8gbWHFvmlhdXNpYSBwZXIgMjQgdmFsLiJ9LCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLErmRpZWd0YSBwYWdhbCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiJLcmlwdG92YWxpdXTFsyBrYWluxbMgcGFseWdpbmltYXMiLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoiS3JpcHRvdmFsaXV0xbMgcmlua29zIHRhbHBvcyBwYWx5Z2luaW1hcyJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IsSuZGllZ3RhIHBhZ2FsICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiJEaWTFvmlhdXNpYSBwZXIgMjQgdmFsLiIsIjI0aF9sb3ciOiLFvWVtaWF1c2lhIHBlciAyNCB2YWwuIiwidmlld19wcmljZV9jaGFydCI6IlBlcsW+acWrcsSXdGkgJXtjb2lufSBLYWluxbMgZGlhZ3JhbWEiLCJwb3dlcmVkX2J5IjoixK5kaWVndGEgcGFnYWwgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLErmRpZWd0YSBwYWdhbCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IsSuZGllZ3RhIHBhZ2FsICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IsSuZGllZ3RhIHBhZ2FsICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl90aWNrZXJfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiRGlkxb5pYXVzaWEgcGVyIDI0IHZhbC4iLCIyNGhfbG93Ijoixb1lbWlhdXNpYSBwZXIgMjQgdmFsLiIsInZpZXdfcHJpY2VfY2hhcnQiOiJQZXLFvmnFq3LEl3RpICV7Y29pbn0gS2FpbsWzIGRpYWdyYW1hIiwicG93ZXJlZF9ieSI6IsSuZGllZ3RhIHBhZ2FsICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiJQZXLFvmnFq3LEl3RpICV7Y29pbn0gS2FpbsWzIGRpYWdyYW1hIiwicG93ZXJlZF9ieSI6IsSuZGllZ3RhIHBhZ2FsICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6IktyaXB0b3ZhbGl1dMWzIG1lZGlzIiwic3VidGl0bGUiOiIoUG9wdWxpYXJpYXVzaW9zICAle3RvcH0gcGFnYWwgcmlua29zIGthcGl0YWxpemFjaWrEhSkiLCJwb3dlcmVkX2J5IjoixK5kaWVndGEgcGFnYWwgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsiZGlzY2xhaW1lciI6IkF0c2Frb215YsSXcyBhcHJpYm9qaW1hczogxaBpZSDEr3JhbmtpYWkgc2tpcnRpIHByYW1vZ2FpIGlyIG7El3JhIGZpbmFuc2luxJdzIGtvbnN1bHRhY2lqb3MuIiwic3BpbiI6IlN1a3RpIiwiYXZhaWxhYmxlX2NvaW5zIjoiUHJpZWluYW1vcyBtb25ldG9zIn0sImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0Ijp7InRpdGxlIjoiQ29pbkdlY2tvIEthaW7FsyBBdG5hdWppbmltYXMiLCJ0b3RhbF9tY2FwIjoiQmVuZHJhIE0gcmliYSIsIjI0aF92b2wiOiJBcGltdGlzIHBlciAyNCB2YWwuIiwiZG9tIjoiRG9taW5hdmltYXMifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoiS2VpdHlrbGEiLCJwYWlyIjoiUG9yYSIsInByaWNlIjoiS2FpbmEiLCJ2b2x1bWUiOiJBcGltdGlzIiwidHJ1c3Rfc2NvcmUiOiJQYXNpdGlrxJdqaW1vIGJhbGFzIiwidmlld19wcmljZV9jaGFydCI6IlBlcsW+acWrcsSXdGkgS2FpbsWzIGRpYWdyYW3EhSIsInBvd2VyZWRfYnkiOiLErmRpZWd0YSBwYWdhbCAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9Iiwidmlld19hbGwiOiJQZXLFvmnFq3LEl3RpIHZpc2FzICV7Y29pbn0gcmlua2FzIn19Jyl9LCI2MTNiIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiNTUzNyIpKCJrZXlzIikscj1pKCJjYTVhIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBuW3RdfHwoblt0XT1yKHQpKX19LCI2MjZhIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiMmQ5NSIpO3QuZXhwb3J0cz1PYmplY3QoInoiKS5wcm9wZXJ0eUlzRW51bWVyYWJsZSgwKT9PYmplY3Q6ZnVuY3Rpb24odCl7cmV0dXJuIlN0cmluZyI9PW4odCk/dC5zcGxpdCgiIik6T2JqZWN0KHQpfX0sIjYyYTAiOmZ1bmN0aW9uKHQsZSl7dmFyIGk9MCxuPU1hdGgucmFuZG9tKCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJTeW1ib2woIi5jb25jYXQodm9pZCAwPT09dD8iIjp0LCIpXyIsKCsraStuKS50b1N0cmluZygzNikpfX0sIjYyZWEiOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiLQoNC10LnRgtC40L3QsyDRgNC40L3QutC+0LLQvtGXINC60LDQv9GW0YLQsNC70ZbQt9Cw0YbRltGXIiwibWNhcCI6ItCg0LjQvdC60L7QstCwINC60LDQv9GW0YLQsNC70ZbQt9Cw0YbRltGPIiwiMjRoX3ZvbHVtZSI6ItCe0LHRgdGP0LMg0LfQsCAyNCDQs9C+0LTQuNC90LgiLCIyNGhfaGlnaF9sb3ciOiLQnNCw0LrRgS4v0LzRltC9LiDQt9CwIDI0INCz0L7QtNC40L3QuCJ9LCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLQn9GA0LDRhtGO0ZQg0L3QsCDQv9C70LDRgtGE0L7RgNC80ZYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsImNyeXB0b19wcmljZV9jb21wYXJpc29uIjoi0J/QvtGA0ZbQstC90Y/QvdC90Y8g0YbRltC9INC60YDQuNC/0YLQvtCy0LDQu9GO0YIiLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoi0J/QvtGA0ZbQstC90Y/QvdC90Y8g0YDQuNC90LrQvtCy0L7RlyDQutCw0L/RltGC0LDQu9GW0LfQsNGG0ZbRlyDQutGA0LjQv9GC0L7QstCw0LvRjtGCIn0sImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi0J/RgNCw0YbRjtGUINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNGWICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiLQnNCw0LrRgdC40LzRg9C8INC30LAgMjQg0LPQvtC00LjQvdC4IiwiMjRoX2xvdyI6ItCc0ZbQvdGW0LzRg9C8INC30LAgMjQg0LPQvtC00LjQvdC4Iiwidmlld19wcmljZV9jaGFydCI6ItCf0LXRgNC10LPQu9GP0L3Rg9GC0Lgg0LPRgNCw0YTRltC6INGG0ZbQvdC4ICV7Y29pbn0iLCJwb3dlcmVkX2J5Ijoi0J/RgNCw0YbRjtGUINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNGWICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi0J/RgNCw0YbRjtGUINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNGWICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9saXN0X3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi0J/RgNCw0YbRjtGUINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNGWICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6ItCf0YDQsNGG0Y7RlCDQvdCwINC/0LvQsNGC0YTQvtGA0LzRliAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6ItCc0LDQutGB0LjQvNGD0Lwg0LfQsCAyNCDQs9C+0LTQuNC90LgiLCIyNGhfbG93Ijoi0JzRltC90ZbQvNGD0Lwg0LfQsCAyNCDQs9C+0LTQuNC90LgiLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi0J/QtdGA0LXQs9C70Y/QvdGD0YLQuCDQs9GA0LDRhNGW0Log0YbRltC90LggJXtjb2lufSIsInBvd2VyZWRfYnkiOiLQn9GA0LDRhtGO0ZQg0L3QsCDQv9C70LDRgtGE0L7RgNC80ZYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6ItCf0LXRgNC10LPQu9GP0L3Rg9GC0Lgg0LPRgNCw0YTRltC6INGG0ZbQvdC4ICV7Y29pbn0iLCJwb3dlcmVkX2J5Ijoi0J/RgNCw0YbRjtGUINC90LAg0L/Qu9Cw0YLRhNC+0YDQvNGWICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6ItCa0LDRgNGC0LAg0LTQtdGA0LXQstCwINC60YDQuNC/0YLQvtCy0LDQu9GO0YLQuCIsInN1YnRpdGxlIjoiKNCa0YDQsNGJ0ZYgJXt0b3B9INC30LAg0YDQuNC90LrQvtCy0L7RjiDQutCw0L/RltGC0LDQu9GW0LfQsNGG0ZbRlNGOKSIsInBvd2VyZWRfYnkiOiLQn9GA0LDRhtGO0ZQg0L3QsCDQv9C70LDRgtGE0L7RgNC80ZYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsiZGlzY2xhaW1lciI6ItCS0ZbQtNC80L7QstCwINCy0ZbQtCDQstGW0LTQv9C+0LLRltC00LDQu9GM0L3QvtGB0YLRljog0KbRliDRltC90YHRgtGA0YPQvNC10L3RgtC4INC00LDQvdGWINGP0Log0YDQvtC30LLQsNC20LDQu9GM0L3RliDQuSDQvdC1INGUINGE0ZbQvdCw0L3RgdC+0LLQuNC80Lgg0YDQtdC60L7QvNC10L3QtNCw0YbRltGP0LzQuC4iLCJzcGluIjoi0KHQv9GW0L0iLCJhdmFpbGFibGVfY29pbnMiOiLQlNC+0YHRgtGD0L/QvdGWINC80L7QvdC10YLQuCJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6ItCe0L3QvtCy0LvQtdC90L3RjyDRhtGW0L3QuCBDb2luR2Vja28iLCJ0b3RhbF9tY2FwIjoi0JfQsNCz0LDQu9GM0L3QsCDRgNC40L0uINC60LDQvy4iLCIyNGhfdm9sIjoi0J7QsdGB0Y/QsyDRgtC+0YDQs9GW0LIg0LfQsCAyNCDQs9C+0LTQuNC90LgiLCJkb20iOiLQlNC+0LzRltC90YPQstCw0L3QvdGPIn0sImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldCI6eyJleGNoYW5nZSI6ItCR0ZbRgNC20LAiLCJwYWlyIjoi0J/QsNGA0LAiLCJwcmljZSI6ItCm0ZbQvdCwIiwidm9sdW1lIjoi0J7QsdGB0Y/QsyIsInRydXN0X3Njb3JlIjoi0J/QvtC60LDQt9C90LjQuiDQvdCw0LTRltC50L3QvtGB0YLRliIsInZpZXdfcHJpY2VfY2hhcnQiOiLQn9C10YDQtdCz0LvRj9C90YPRgtC4INCz0YDQsNGE0ZbQuiDRhtGW0L3QuCIsInBvd2VyZWRfYnkiOiLQn9GA0LDRhtGO0ZQg0L3QsCDQv9C70LDRgtGE0L7RgNC80ZYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsInZpZXdfYWxsIjoi0J/QtdGA0LXQs9C70Y/QvdGD0YLQuCDQstGB0ZYg0YDQuNC90LrQuCAle2NvaW59In19Jyl9LCI2M2I2IjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZTUzZCIpLHI9aSgiNTg0YSIpLG89aSgiZDg2NCIpLGE9aSgiMzVlOCIpLHM9aSgiMDdlMyIpLGM9InByb3RvdHlwZSIsaD1mdW5jdGlvbih0LGUsaSl7dmFyIGwscCxkLHU9dCZoLkYsZj10JmguRyxtPXQmaC5TLGc9dCZoLlAsdj10JmguQix5PXQmaC5XLF89Zj9yOnJbZV18fChyW2VdPXt9KSxiPV9bY10seD1mP246bT9uW2VdOihuW2VdfHx7fSlbY107Zm9yKGwgaW4gZiYmKGk9ZSksaSlwPSF1JiZ4JiZ2b2lkIDAhPT14W2xdLHAmJnMoXyxsKXx8KGQ9cD94W2xdOmlbbF0sX1tsXT1mJiYiZnVuY3Rpb24iIT10eXBlb2YgeFtsXT9pW2xdOnYmJnA/byhkLG4pOnkmJnhbbF09PWQ/ZnVuY3Rpb24odCl7dmFyIGU9ZnVuY3Rpb24oZSxpLG4pe2lmKHRoaXMgaW5zdGFuY2VvZiB0KXtzd2l0Y2goYXJndW1lbnRzLmxlbmd0aCl7Y2FzZSAwOnJldHVybiBuZXcgdDtjYXNlIDE6cmV0dXJuIG5ldyB0KGUpO2Nhc2UgMjpyZXR1cm4gbmV3IHQoZSxpKX1yZXR1cm4gbmV3IHQoZSxpLG4pfXJldHVybiB0LmFwcGx5KHRoaXMsYXJndW1lbnRzKX07cmV0dXJuIGVbY109dFtjXSxlfShkKTpnJiYiZnVuY3Rpb24iPT10eXBlb2YgZD9vKEZ1bmN0aW9uLmNhbGwsZCk6ZCxnJiYoKF8udmlydHVhbHx8KF8udmlydHVhbD17fSkpW2xdPWQsdCZoLlImJmImJiFiW2xdJiZhKGIsbCxkKSkpfTtoLkY9MSxoLkc9MixoLlM9NCxoLlA9OCxoLkI9MTYsaC5XPTMyLGguVT02NCxoLlI9MTI4LHQuZXhwb3J0cz1ofSwiNjU2ZSI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCI3OWFhIik7ZnVuY3Rpb24gcih0KXt2YXIgZSxpO3RoaXMucHJvbWlzZT1uZXcgdCgoZnVuY3Rpb24odCxuKXtpZih2b2lkIDAhPT1lfHx2b2lkIDAhPT1pKXRocm93IFR5cGVFcnJvcigiQmFkIFByb21pc2UgY29uc3RydWN0b3IiKTtlPXQsaT1ufSkpLHRoaXMucmVzb2x2ZT1uKGUpLHRoaXMucmVqZWN0PW4oaSl9dC5leHBvcnRzLmY9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyByKHQpfX0sNjcxODpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZTUzZCIpLHI9aSgiNTg0YSIpLG89aSgiYjhlMyIpLGE9aSgiY2NiOSIpLHM9aSgiZDlmNiIpLmY7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXIuU3ltYm9sfHwoci5TeW1ib2w9bz97fTpuLlN5bWJvbHx8e30pOyJfIj09dC5jaGFyQXQoMCl8fHQgaW4gZXx8cyhlLHQse3ZhbHVlOmEuZih0KX0pfX0sNjc2MjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoIjVjYTEiKSxyPWkoImMzNjYiKSghMCk7bihuLlAsIkFycmF5Iix7aW5jbHVkZXM6ZnVuY3Rpb24odCl7cmV0dXJuIHIodGhpcyx0LGFyZ3VtZW50cy5sZW5ndGg+MT9hcmd1bWVudHNbMV06dm9pZCAwKX19KSxpKCI5YzZjIikoImluY2x1ZGVzIil9LCI2N2FiIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiY2E1YSIpKCJtZXRhIikscj1pKCJkM2Y0Iiksbz1pKCI2OWE4IiksYT1pKCI4NmNjIikuZixzPTAsYz1PYmplY3QuaXNFeHRlbnNpYmxlfHxmdW5jdGlvbigpe3JldHVybiEwfSxoPSFpKCI3OWU1IikoKGZ1bmN0aW9uKCl7cmV0dXJuIGMoT2JqZWN0LnByZXZlbnRFeHRlbnNpb25zKHt9KSl9KSksbD1mdW5jdGlvbih0KXthKHQsbix7dmFsdWU6e2k6Ik8iKyArK3Msdzp7fX19KX0scD1mdW5jdGlvbih0LGUpe2lmKCFyKHQpKXJldHVybiJzeW1ib2wiPT10eXBlb2YgdD90Oigic3RyaW5nIj09dHlwZW9mIHQ/IlMiOiJQIikrdDtpZighbyh0LG4pKXtpZighYyh0KSlyZXR1cm4iRiI7aWYoIWUpcmV0dXJuIkUiO2wodCl9cmV0dXJuIHRbbl0uaX0sZD1mdW5jdGlvbih0LGUpe2lmKCFvKHQsbikpe2lmKCFjKHQpKXJldHVybiEwO2lmKCFlKXJldHVybiExO2wodCl9cmV0dXJuIHRbbl0ud30sdT1mdW5jdGlvbih0KXtyZXR1cm4gaCYmZi5ORUVEJiZjKHQpJiYhbyh0LG4pJiZsKHQpLHR9LGY9dC5leHBvcnRzPXtLRVk6bixORUVEOiExLGZhc3RLZXk6cCxnZXRXZWFrOmQsb25GcmVlemU6dX19LCI2N2JiIjpmdW5jdGlvbih0LGUsaSl7dC5leHBvcnRzPWkoImY5MjEiKX0sNjgyMTpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiNjI2YSIpLHI9aSgiYmUxMyIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gbihyKHQpKX19LCI2ODhjIjpmdW5jdGlvbih0LGUsaSl7ZT10LmV4cG9ydHM9aSgiMjRmYiIpKCExKSxlLmkoaSgiZDJmZiIpLCIiKSxlLmkoaSgiYmRkNSIpLCIiKSxlLmkoaSgiOWE0YiIpLCIiKSxlLnB1c2goW3QuaSwiLyoqIERlZmF1bHQgc3R5bGUgb3ZlcnJpZGVzICoqL1xuLmdlY2tvLW91dGxpbmUsIC5nZWNrby13aWRnZXQ6bm90KC5nZWNrby10cmFuc3BhcmVudC1iYWNrZ3JvdW5kKSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5nZWNrby1jb2luLWRldGFpbHMge1xuICBwYWRkaW5nOiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbn1cblxuLmdlY2tvLXdhdGVybWFyayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZW5kO1xuICBwYWRkaW5nOiA4cHggMTZweDtcbn1cblxuLmdlY2tvLWNoYXJ0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICBtYXJnaW4tdG9wOiAxMnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5nZWNrby1jaGFydC10YXJnZXQge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5nZWNrby1sb2FkaW5nIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cblxuLmhpZ2hjaGFydHMtY29udGFpbmVyIHtcbiAgZm9udDogdW5zZXQ7XG59XG5cbi5oaWdoY2hhcnRzLWJhY2tncm91bmQge1xuICBmaWxsOiB3aGl0ZTtcbn1cblxuLmdlY2tvLWRhcmsgLmhpZ2hjaGFydHMtYmFja2dyb3VuZCB7XG4gIGZpbGw6IHZhcigtLWNvbG9yLW1vb24tOTAwKTtcbn1cblxuLmdlY2tvLXdpZGdldC5nZWNrby10cmFuc3BhcmVudC1iYWNrZ3JvdW5kIC5oaWdoY2hhcnRzLWJhY2tncm91bmQge1xuICBmaWxsOiB0cmFuc3BhcmVudDtcbn1cblxuLmhpZ2hjaGFydHMtY29sb3ItcG9zaXRpdmUge1xuICBmaWxsOiB2YXIoLS1jb2xvci1zdWNjZXNzLTUwMCk7XG4gIHN0cm9rZTogdmFyKC0tY29sb3Itc3VjY2Vzcy01MDApO1xufVxuXG4uZ2Vja28tZGFyayAuaGlnaGNoYXJ0cy1jb2xvci1wb3NpdGl2ZSB7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtNDAwKTtcbiAgc3Ryb2tlOiB2YXIoLS1jb2xvci1zdWNjZXNzLTQwMCk7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yLW5lZ2F0aXZlIHtcbiAgZmlsbDogdmFyKC0tY29sb3ItZGFuZ2VyLTUwMCk7XG4gIHN0cm9rZTogdmFyKC0tY29sb3ItZGFuZ2VyLTUwMCk7XG59XG5cbi5oaWdoY2hhcnRzLWFyZWEtc2VyaWVzLmhpZ2hjaGFydHMtY29sb3ItbmVnYXRpdmUsIC5oaWdoY2hhcnRzLWFyZWEuem9uZS1uZWdhdGl2ZSB7XG4gIGZpbGw6IHVybCgjZ2Vja28tY2hhcnQtbmVnYXRpdmUtZ3JhZGllbnQpO1xufVxuXG4uaGlnaGNoYXJ0cy1hcmVhLXNlcmllcy5oaWdoY2hhcnRzLWNvbG9yLXBvc2l0aXZlLCAuaGlnaGNoYXJ0cy1hcmVhLnpvbmUtcG9zaXRpdmV7XG4gIGZpbGw6IHVybCgjZ2Vja28tY2hhcnQtcG9zaXRpdmUtZ3JhZGllbnQpO1xufVxuXG4uaGlnaGNoYXJ0cy10b29sdGlwIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS01MDApO1xufVxuXG4uZ2Vja28tZGFyayAuaGlnaGNoYXJ0cy10b29sdGlwIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1vb24tMjAwKTtcbn1cblxuLmhpZ2hjaGFydHMtdG9vbHRpcCAudGl0bGUge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS03MDApO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTZweDtcbiAgcGFkZGluZy10b3A6IDA7XG59XG5cbi5nZWNrby1kYXJrIC5oaWdoY2hhcnRzLXRvb2x0aXAgLnRpdGxlIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1vb24tMTAwKTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLmhpZ2hjaGFydHMtdG9vbHRpcCAudmFsdWUge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZ3JheS05MDApO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uZ2Vja28tZGFyayAuaGlnaGNoYXJ0cy10b29sdGlwIC52YWx1ZSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1tb29uLTUwKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmhpZ2hjaGFydHMtdG9vbHRpcC1ib3gsXG4uaGlnaGNoYXJ0cy10b29sdGlwLWJveCAuaGlnaGNoYXJ0cy1sYWJlbC1ib3gge1xuICBmaWxsOiB3aGl0ZTtcbiAgZmlsbC1vcGFjaXR5OiAxO1xuICBzdHJva2U6IHZhcigtLWNvbG9yLWdyYXktMTAwKTtcbn1cblxuLmdlY2tvLWRhcmsgLmhpZ2hjaGFydHMtdG9vbHRpcC1ib3gsXG4uZ2Vja28tZGFyayAuaGlnaGNoYXJ0cy10b29sdGlwLWJveCAuaGlnaGNoYXJ0cy1sYWJlbC1ib3gge1xuICBmaWxsOiB2YXIoLS1jb2xvci1tb29uLTgwMCk7XG4gIHN0cm9rZTogdmFyKC0tY29sb3ItbW9vbi03MDApO1xufVxuXG5kaXYuaGlnaGNoYXJ0cy10b29sdGlwLWJveCA+IHNwYW4ge1xuICB6LWluZGV4OiA1MDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgcGFkZGluZzogMTZweDtcbn1cblxuLmdlY2tvLWRhcmsgZGl2LmhpZ2hjaGFydHMtdG9vbHRpcC1ib3ggPiBzcGFuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbW9vbi04MDApO1xufVxuIiwiIl0pfSwiNjg4ZSI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj0iRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQgY2FsbGVkIG9uIGluY29tcGF0aWJsZSAiLHI9QXJyYXkucHJvdG90eXBlLnNsaWNlLG89T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxhPSJbb2JqZWN0IEZ1bmN0aW9uXSI7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7aWYoImZ1bmN0aW9uIiE9PXR5cGVvZiBlfHxvLmNhbGwoZSkhPT1hKXRocm93IG5ldyBUeXBlRXJyb3IobitlKTtmb3IodmFyIGkscz1yLmNhbGwoYXJndW1lbnRzLDEpLGM9ZnVuY3Rpb24oKXtpZih0aGlzIGluc3RhbmNlb2YgaSl7dmFyIG49ZS5hcHBseSh0aGlzLHMuY29uY2F0KHIuY2FsbChhcmd1bWVudHMpKSk7cmV0dXJuIE9iamVjdChuKT09PW4/bjp0aGlzfXJldHVybiBlLmFwcGx5KHQscy5jb25jYXQoci5jYWxsKGFyZ3VtZW50cykpKX0saD1NYXRoLm1heCgwLGUubGVuZ3RoLXMubGVuZ3RoKSxsPVtdLHA9MDtwPGg7cCsrKWwucHVzaCgiJCIrcCk7aWYoaT1GdW5jdGlvbigiYmluZGVyIiwicmV0dXJuIGZ1bmN0aW9uICgiK2wuam9pbigiLCIpKyIpeyByZXR1cm4gYmluZGVyLmFwcGx5KHRoaXMsYXJndW1lbnRzKTsgfSIpKGMpLGUucHJvdG90eXBlKXt2YXIgZD1mdW5jdGlvbigpe307ZC5wcm90b3R5cGU9ZS5wcm90b3R5cGUsaS5wcm90b3R5cGU9bmV3IGQsZC5wcm90b3R5cGU9bnVsbH1yZXR1cm4gaX19LCI2OTZlIjpmdW5jdGlvbih0LGUsaSl7aSgiYzIwNyIpLGkoIjE2NTQiKSxpKCI2YzFjIiksaSgiMjRjNSIpLGkoIjNjMTEiKSxpKCI0M2ZjIiksdC5leHBvcnRzPWkoIjU4NGEiKS5Qcm9taXNlfSwiNjlhOCI6ZnVuY3Rpb24odCxlKXt2YXIgaT17fS5oYXNPd25Qcm9wZXJ0eTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaS5jYWxsKHQsZSl9fSwiNjlkMyI6ZnVuY3Rpb24odCxlLGkpe2koIjY3MTgiKSgiYXN5bmNJdGVyYXRvciIpfSwiNmE5OSI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImQzZjQiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZighbih0KSlyZXR1cm4gdDt2YXIgaSxyO2lmKGUmJiJmdW5jdGlvbiI9PXR5cGVvZihpPXQudG9TdHJpbmcpJiYhbihyPWkuY2FsbCh0KSkpcmV0dXJuIHI7aWYoImZ1bmN0aW9uIj09dHlwZW9mKGk9dC52YWx1ZU9mKSYmIW4ocj1pLmNhbGwodCkpKXJldHVybiByO2lmKCFlJiYiZnVuY3Rpb24iPT10eXBlb2YoaT10LnRvU3RyaW5nKSYmIW4ocj1pLmNhbGwodCkpKXJldHVybiByO3Rocm93IFR5cGVFcnJvcigiQ2FuJ3QgY29udmVydCBvYmplY3QgdG8gcHJpbWl0aXZlIHZhbHVlIil9fSwiNmFiZiI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImU2ZjMiKSxyPWkoIjE2OTEiKS5jb25jYXQoImxlbmd0aCIsInByb3RvdHlwZSIpO2UuZj1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lc3x8ZnVuY3Rpb24odCl7cmV0dXJuIG4odCxyKX19LCI2YjRjIjpmdW5jdGlvbih0LGUpe3ZhciBpPXt9LnRvU3RyaW5nO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gaS5jYWxsKHQpLnNsaWNlKDgsLTEpfX0sIjZiNTQiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7aSgiMzg0NiIpO3ZhciBuPWkoImNiN2MiKSxyPWkoIjBiZmIiKSxvPWkoIjllMWUiKSxhPSJ0b1N0cmluZyIscz0vLi9bYV0sYz1mdW5jdGlvbih0KXtpKCIyYWJhIikoUmVnRXhwLnByb3RvdHlwZSxhLHQsITApfTtpKCI3OWU1IikoKGZ1bmN0aW9uKCl7cmV0dXJuIi9hL2IiIT1zLmNhbGwoe3NvdXJjZToiYSIsZmxhZ3M6ImIifSl9KSk/YygoZnVuY3Rpb24oKXt2YXIgdD1uKHRoaXMpO3JldHVybiIvIi5jb25jYXQodC5zb3VyY2UsIi8iLCJmbGFncyJpbiB0P3QuZmxhZ3M6IW8mJnQgaW5zdGFuY2VvZiBSZWdFeHA/ci5jYWxsKHQpOnZvaWQgMCl9KSk6cy5uYW1lIT1hJiZjKChmdW5jdGlvbigpe3JldHVybiBzLmNhbGwodGhpcyl9KSl9LCI2YzFjIjpmdW5jdGlvbih0LGUsaSl7aSgiYzM2NyIpO2Zvcih2YXIgbj1pKCJlNTNkIikscj1pKCIzNWU4Iiksbz1pKCI0ODFiIiksYT1pKCI1MTY4IikoInRvU3RyaW5nVGFnIikscz0iQ1NTUnVsZUxpc3QsQ1NTU3R5bGVEZWNsYXJhdGlvbixDU1NWYWx1ZUxpc3QsQ2xpZW50UmVjdExpc3QsRE9NUmVjdExpc3QsRE9NU3RyaW5nTGlzdCxET01Ub2tlbkxpc3QsRGF0YVRyYW5zZmVySXRlbUxpc3QsRmlsZUxpc3QsSFRNTEFsbENvbGxlY3Rpb24sSFRNTENvbGxlY3Rpb24sSFRNTEZvcm1FbGVtZW50LEhUTUxTZWxlY3RFbGVtZW50LE1lZGlhTGlzdCxNaW1lVHlwZUFycmF5LE5hbWVkTm9kZU1hcCxOb2RlTGlzdCxQYWludFJlcXVlc3RMaXN0LFBsdWdpbixQbHVnaW5BcnJheSxTVkdMZW5ndGhMaXN0LFNWR051bWJlckxpc3QsU1ZHUGF0aFNlZ0xpc3QsU1ZHUG9pbnRMaXN0LFNWR1N0cmluZ0xpc3QsU1ZHVHJhbnNmb3JtTGlzdCxTb3VyY2VCdWZmZXJMaXN0LFN0eWxlU2hlZXRMaXN0LFRleHRUcmFja0N1ZUxpc3QsVGV4dFRyYWNrTGlzdCxUb3VjaExpc3QiLnNwbGl0KCIsIiksYz0wO2M8cy5sZW5ndGg7YysrKXt2YXIgaD1zW2NdLGw9bltoXSxwPWwmJmwucHJvdG90eXBlO3AmJiFwW2FdJiZyKHAsYSxoKSxvW2hdPW8uQXJyYXl9fSwiNmNlMiI6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6Ik1hcmt0a2FwaXRhbGlzaWVydW5nc3JhbmciLCJtY2FwIjoiTWFya3RrYXBpdGFsaXNpZXJ1bmciLCIyNGhfdm9sdW1lIjoiMjQtU3R1bmRlbiBWb2x1bWVuIiwiMjRoX2hpZ2hfbG93IjoiMjQtU3R1bmRlbi1Ib2NoLy1UaWVmIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlVudGVyc3TDvHR6dCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsImNyeXB0b19wcmljZV9jb21wYXJpc29uIjoiS3J5cHRvLUt1cnN2ZXJnbGVpY2giLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoiS3J5cHRvLU1hcmt0a2FwaXRhbGlzaWVydW5nc3ZlcmdsZWljaCJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlVudGVyc3TDvHR6dCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0LVN0dW5kZW4tSG9jaCIsIjI0aF9sb3ciOiIyNC1TdHVuZGVuLVRpZWYiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiJXtjb2lufSBLdXJzZGlhZ3JhbW0gYW56ZWlnZW4iLCJwb3dlcmVkX2J5IjoiVW50ZXJzdMO8dHp0IHZvbiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlVudGVyc3TDvHR6dCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJVbnRlcnN0w7x0enQgdm9uICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlVudGVyc3TDvHR6dCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNC1TdHVuZGVuLUhvY2giLCIyNGhfbG93IjoiMjQtU3R1bmRlbi1UaWVmIiwidmlld19wcmljZV9jaGFydCI6IiV7Y29pbn0gS3Vyc2RpYWdyYW1tIGFuemVpZ2VuIiwicG93ZXJlZF9ieSI6IlVudGVyc3TDvHR6dCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6IiV7Y29pbn0gS3Vyc2RpYWdyYW1tIGFuemVpZ2VuIiwicG93ZXJlZF9ieSI6IlVudGVyc3TDvHR6dCB2b24gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2hlYXRtYXBfd2lkZ2V0Ijp7InRpdGxlIjoiS3J5cHRvd8OkaHJ1bmdzLVRyZWUtTWFwIiwic3VidGl0bGUiOiIoVG9wLSV7dG9wfSBuYWNoIE1hcmt0a2FwaXRhbGlzaWVydW5nKSIsInBvd2VyZWRfYnkiOiJVbnRlcnN0w7x0enQgdm9uICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiJEaXNjbGFpbWVyOiBEaWVzZSBXZXJremV1Z2UgZGllbmVuIGFscyBVbnRlcmhhbHR1bmcgdW5kIHN0ZWxsZW4ga2VpbmUgZmluYW56aWVsbGUgQmVyYXR1bmcgZGFyLiIsInNwaW4iOiJEcmVoZW4iLCJhdmFpbGFibGVfY29pbnMiOiJWZXJmw7xnYmFyZSBDb2lucyJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkNvaW5HZWNrbyBLdXJzYWt0dWFsaXNpZXJ1bmciLCJ0b3RhbF9tY2FwIjoiTWFya3RrYXBpdGFsaXNpZXJ1bmcgaW5zZ2VzYW10IiwiMjRoX3ZvbCI6IjI0LVN0dW5kZW4tVm9sdW1lbiIsImRvbSI6IkRvbWluYW56In0sImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldCI6eyJleGNoYW5nZSI6IkLDtnJzZSIsInBhaXIiOiJQYWFyIiwicHJpY2UiOiJLdXJzIiwidm9sdW1lIjoiVm9sdW1lbiIsInRydXN0X3Njb3JlIjoiVmVydHJhdWVuc3dlcnQiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiIEt1cnNkaWFncmFtbSBhbnplaWdlbiIsInBvd2VyZWRfYnkiOiJVbnRlcnN0w7x0enQgdm9uICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJ2aWV3X2FsbCI6IkFsbGUgJXtjb2lufS1Nw6Rya3RlIGFuemVpZ2VuIn19Jyl9LCI3MWMxIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiM2EzOCIpLHI9aSgiMjVlYiIpO3QuZXhwb3J0cz1mdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSxpKXt2YXIgbyxhLHM9U3RyaW5nKHIoZSkpLGM9bihpKSxoPXMubGVuZ3RoO3JldHVybiBjPDB8fGM+PWg/dD8iIjp2b2lkIDA6KG89cy5jaGFyQ29kZUF0KGMpLG88NTUyOTZ8fG8+NTYzMTl8fGMrMT09PWh8fChhPXMuY2hhckNvZGVBdChjKzEpKTw1NjMyMHx8YT41NzM0Mz90P3MuY2hhckF0KGMpOm86dD9zLnNsaWNlKGMsYysyKTphLTU2MzIwKyhvLTU1Mjk2PDwxMCkrNjU1MzYpfX19LDc2MTg6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIHN9KSk7dmFyIG49aSgiNWQ1OCIpLHI9aS5uKG4pLG89aSgiNjdiYiIpLGE9aS5uKG8pO2Z1bmN0aW9uIHModCl7cmV0dXJuIHM9ImZ1bmN0aW9uIj09PXR5cGVvZiBhLmEmJiJzeW1ib2wiPT09dHlwZW9mIHIuYT9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT09dHlwZW9mIGEuYSYmdC5jb25zdHJ1Y3Rvcj09PWEuYSYmdCE9PWEuYS5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIHR9LHModCl9fSwiNzY1ZCI6ZnVuY3Rpb24odCxlLGkpe2koIjY3MTgiKSgib2JzZXJ2YWJsZSIpfSw3NzA0OmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiLQn9C+0LfQuNGG0LjRjyDQsiDRgNC10LnRgtC40L3Qs9C1INC/0L4g0YDRi9C90L7Rh9C90L7QuSDQutCw0L/QuNGC0LDQu9C40LfQsNGG0LjQuCIsIm1jYXAiOiLQoNGL0L3QvtGH0L3QsNGPINC60LDQv9C40YLQsNC70LjQt9Cw0YbQuNGPIiwiMjRoX3ZvbHVtZSI6ItCe0LHRitC10Lwg0LfQsCAyNCDRh9Cw0YHQsCIsIjI0aF9oaWdoX2xvdyI6ItCc0LDQutGBLi/QvNC40L0uINC30LAgMjQg0YfQsNGB0LAifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi0J/RgNC4INC/0L7QtNC00LXRgNC20LrQtSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiLQodGA0LDQstC90LXQvdC40LUg0YbQtdC9INC60YDQuNC/0YLQvtCy0LDQu9GO0YIiLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoi0KHRgNCw0LLQvdC10L3QuNC1INGA0YvQvdC+0YfQvdC+0Lkg0LrQsNC/0LjRgtCw0LvQuNC30LDRhtC40Lgg0LrRgNC40L/RgtC+0LLQsNC70Y7RgiJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6ItCf0YDQuCDQv9C+0LTQtNC10YDQttC60LUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6ItCc0LDQutGBLiDQt9CwIDI0INGH0LDRgdCwIiwiMjRoX2xvdyI6ItCc0LjQvS4g0LfQsCAyNMKg0YfQsNGB0LAiLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi0J/QvtGB0LzQvtGC0YDQtdGC0Ywg0LPRgNCw0YTQuNC6INGG0LXQvSAle2NvaW59IiwicG93ZXJlZF9ieSI6ItCf0YDQuCDQv9C+0LTQtNC10YDQttC60LUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLQn9GA0Lgg0L/QvtC00LTQtdGA0LbQutC1ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9saXN0X3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi0J/RgNC4INC/0L7QtNC00LXRgNC20LrQtSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImJlYW1fd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLQn9GA0Lgg0L/QvtC00LTQtdGA0LbQutC1ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl90aWNrZXJfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoi0JzQsNC60YEuINC30LAgMjTCoNGH0LDRgdCwIiwiMjRoX2xvdyI6ItCc0LjQvS4g0LfQsCAyNMKg0YfQsNGB0LAiLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi0J/QvtGB0LzQvtGC0YDQtdGC0Ywg0LPRgNCw0YTQuNC6INGG0LXQvSAle2NvaW59IiwicG93ZXJlZF9ieSI6ItCf0YDQuCDQv9C+0LTQtNC10YDQttC60LUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6ItCf0L7RgdC80L7RgtGA0LXRgtGMINCz0YDQsNGE0LjQuiDRhtC10L0gJXtjb2lufSIsInBvd2VyZWRfYnkiOiLQn9GA0Lgg0L/QvtC00LTQtdGA0LbQutC1ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6ItCa0LDRgNGC0LAg0LTQtdGA0LXQstCwINC60YDQuNC/0YLQvtCy0LDQu9GO0YIiLCJzdWJ0aXRsZSI6IijQm9GD0YfRiNC40LUg0LzQvtC90LXRgtGLICV7dG9wfSDQv9C+INGA0YvQvdC+0YfQvdC+0Lkg0LrQsNC/0LjRgtCw0LvQuNC30LDRhtC40LgpIiwicG93ZXJlZF9ieSI6ItCf0YDQuCDQv9C+0LTQtNC10YDQttC60LUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsiZGlzY2xhaW1lciI6ItCe0YLQutCw0Lcg0L7RgiDQvtGC0LLQtdGC0YHRgtCy0LXQvdC90L7RgdGC0Lg6INCt0YLQuCDQuNC90YHRgtGA0YPQvNC10L3RgtGLINC00LDQvdGLINCyINC60LDRh9C10YHRgtCy0LUg0YDQsNC30LLQu9C10LrQsNGC0LXQu9GM0L3Ri9GFINC4INC90LUg0Y/QstC70Y/RjtGC0YHRjyDRhNC40L3QsNC90YHQvtCy0YvQvNC4INGA0LXQutC+0LzQtdC90LTQsNGG0LjRj9C80LguIiwic3BpbiI6ItCh0L/QuNC9IiwiYXZhaWxhYmxlX2NvaW5zIjoi0JTQvtGB0YLRg9C/0L3Ri9C1INC80L7QvdC10YLRiyJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6ItCe0LHQvdC+0LLQu9C10L3QuNC1INGG0LXQvdGLIENvaW5HZWNrbyIsInRvdGFsX21jYXAiOiLQoNGL0L0u0LrQsNC/LiDQstGB0LXQs9C+IiwiMjRoX3ZvbCI6ItCe0LHRitC10Lwg0YLQvtGA0LPQvtCyINC30LAgMjQg0YfQsNGB0LAiLCJkb20iOiLQlNC+0LzQuNC90LjRgNC+0LLQsNC90LjQtSJ9LCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXQiOnsiZXhjaGFuZ2UiOiLQkdC40YDQttCwIiwicGFpciI6ItCf0LDRgNCwIiwicHJpY2UiOiLQptC10L3QsCIsInZvbHVtZSI6ItCe0LHQvtGA0L7RgiIsInRydXN0X3Njb3JlIjoi0J/QvtC60LDQt9Cw0YLQtdC70Ywg0L3QsNC00LXQttC90L7RgdGC0LgiLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi0J/QvtGB0LzQvtGC0YDQtdGC0Ywg0LPRgNCw0YTQuNC6INGG0LXQvSIsInBvd2VyZWRfYnkiOiLQn9GA0Lgg0L/QvtC00LTQtdGA0LbQutC1ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJ2aWV3X2FsbCI6ItCf0L7RgdC80L7RgtGA0LXRgtGMINCy0YHQtSDRgNGL0L3QutC4ICV7Y29pbn0ifX0nKX0sNzcyNjpmdW5jdGlvbih0LGUpe3ZhciBpPXQuZXhwb3J0cz0idW5kZWZpbmVkIiE9dHlwZW9mIHdpbmRvdyYmd2luZG93Lk1hdGg9PU1hdGg/d2luZG93OiJ1bmRlZmluZWQiIT10eXBlb2Ygc2VsZiYmc2VsZi5NYXRoPT1NYXRoP3NlbGY6RnVuY3Rpb24oInJldHVybiB0aGlzIikoKTsibnVtYmVyIj09dHlwZW9mIF9fZyYmKF9fZz1pKX0sIjc3ZjEiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI0NTg4Iikscj1NYXRoLm1heCxvPU1hdGgubWluO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybiB0PW4odCksdDwwP3IodCtlLDApOm8odCxlKX19LCI3OTRiIjpmdW5jdGlvbih0LGUsaSl7dC5leHBvcnRzPSFpKCI4ZTYwIikmJiFpKCIyOTRjIikoKGZ1bmN0aW9uKCl7cmV0dXJuIDchPU9iamVjdC5kZWZpbmVQcm9wZXJ0eShpKCIxZWM5IikoImRpdiIpLCJhIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSkuYX0pKX0sIjc5NWIiOmZ1bmN0aW9uKHQsZSxpKXt0LmV4cG9ydHM9aSgiNjk2ZSIpfSwiNzlhYSI6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgVHlwZUVycm9yKHQrIiBpcyBub3QgYSBmdW5jdGlvbiEiKTtyZXR1cm4gdH19LCI3OWU1IjpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0KXt0cnl7cmV0dXJuISF0KCl9Y2F0Y2goZSl7cmV0dXJuITB9fX0sIjdhMDMiOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiLgpK7gpL7gpLDgpY3gpJXgpYfgpJ8g4KSV4KWI4KSqIOCksOCliOCkguCklSIsIm1jYXAiOiLgpK7gpL7gpLDgpY3gpJXgpYfgpJ8g4KSV4KWI4KSqIiwiMjRoX3ZvbHVtZSI6IjI04KSY4KSCIOCkleCkviDgpLXgpL7gpLLgpY3gpK/gpYLgpK4iLCIyNGhfaGlnaF9sb3ciOiIyNOCkmOCkgiDgpJXgpL4g4KS54KS+4KSIL+CksuCliyJ9LCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOCkpuCljeCkteCkvuCksOCkviDgpLjgpILgpJrgpL7gpLLgpL/gpKQiLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IuCkleCljeCksOCkv+CkquCljeCkn+CliyDgpKrgpY3gpLDgpL7gpIfgpLgg4KSV4KWAIOCkpOClgeCksuCkqOCkviIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiLgpJXgpY3gpLDgpL/gpKrgpY3gpJ/gpYsg4KSu4KS+4KSw4KWN4KSV4KWH4KSfIOCkleCliOCkqiDgpJXgpYAg4KSk4KWB4KSy4KSo4KS+In0sImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDgpKbgpY3gpLXgpL7gpLDgpL4g4KS44KSC4KSa4KS+4KSy4KS/4KSkIn0sImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjTgpJjgpIIg4KSV4KS+IOCkueCkvuCkiCIsIjI0aF9sb3ciOiIyNOCkmOCkgiDgpJXgpL4g4KSy4KWLIiwidmlld19wcmljZV9jaGFydCI6IiV7Y29pbn0g4KSV4KS+IOCkquCljeCksOCkvuCkh+CkuCDgpJrgpL7gpLDgpY3gpJ8g4KSm4KWH4KSW4KWH4KSCIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g4KSm4KWN4KS14KS+4KSw4KS+IOCkuOCkguCkmuCkvuCksuCkv+CkpCJ9LCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOCkpuCljeCkteCkvuCksOCkviDgpLjgpILgpJrgpL7gpLLgpL/gpKQifSwiY29pbl9saXN0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDgpKbgpY3gpLXgpL7gpLDgpL4g4KS44KSC4KSa4KS+4KSy4KS/4KSkIn0sImJlYW1fd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOCkpuCljeCkteCkvuCksOCkviDgpLjgpILgpJrgpL7gpLLgpL/gpKQifSwiY29pbl90aWNrZXJfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjTgpJjgpIIg4KSV4KS+IOCkueCkvuCkiCIsIjI0aF9sb3ciOiIyNOCkmOCkgiDgpJXgpL4g4KSy4KWLIiwidmlld19wcmljZV9jaGFydCI6IiV7Y29pbn0g4KSV4KS+IOCkquCljeCksOCkvuCkh+CkuCDgpJrgpL7gpLDgpY3gpJ8g4KSm4KWH4KSW4KWH4KSCIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g4KSm4KWN4KS14KS+4KSw4KS+IOCkuOCkguCkmuCkvuCksuCkv+CkpCJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6IiV7Y29pbn0g4KSV4KS+IOCkquCljeCksOCkvuCkh+CkuCDgpJrgpL7gpLDgpY3gpJ8g4KSm4KWH4KSW4KWH4KSCIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g4KSm4KWN4KS14KS+4KSw4KS+IOCkuOCkguCkmuCkvuCksuCkv+CkpCJ9LCJjb2luX2hlYXRtYXBfd2lkZ2V0Ijp7InRpdGxlIjoi4KSV4KWN4KSw4KS/4KSq4KWN4KSf4KWL4KSV4KSw4KSC4KS44KWAIOCkn+CljeCksOClgCDgpK7gpYjgpKoiLCJzdWJ0aXRsZSI6IijgpK7gpL7gpLDgpY3gpJXgpYfgpJ8g4KSV4KWI4KSqIOCkleClhyDgpIbgpKfgpL7gpLAg4KSq4KSwIOCkn+ClieCkqiAle3RvcH0pIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g4KSm4KWN4KS14KS+4KSw4KS+IOCkuOCkguCkmuCkvuCksuCkv+CkpCJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsiZGlzY2xhaW1lciI6IuCkoeCkv+CkuOCljeCkleCljeCksuClh+CkruCksDog4KSv4KS5IOCkruCkqOCli+CksOCkguCknOCkqCDgpJXgpLDgpKjgpYcg4KSV4KWHIOCksuCkv+CkjyDgpJXgpL7gpK4g4KSV4KSw4KSk4KS+IOCkueCliCDgpJTgpLAg4KSH4KS44KSu4KWH4KSCIOCkleCli+CkiCDgpIbgpLDgpY3gpKXgpL/gpJUg4KS44KSy4KS+4KS5IOCkqOCkueClgOCkgiDgpKbgpYAg4KSc4KS+4KSk4KWAIOCkueCliOClpCIsInNwaW4iOiLgpLjgpY3gpKrgpL/gpKgg4KSV4KSw4KWH4KSCIiwiYXZhaWxhYmxlX2NvaW5zIjoi4KSu4KWM4KSc4KWC4KSmIOCkleClieCkh+CkqCJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkNvaW5HZWNrbyDgpKrgpY3gpLDgpL7gpIfgpLgg4KSF4KSq4KSh4KWH4KSfIiwidG90YWxfbWNhcCI6IuCkleClgeCksiDgpK7gpL7gpLDgpY3gpJXgpYfgpJ8g4KSV4KWI4KSqIiwiMjRoX3ZvbCI6IjI04KSY4KSC4KSf4KWHIOCkleCkviDgpLXgpL7gpLLgpY3gpK/gpYLgpK4iLCJkb20iOiLgpLXgpLDgpY3gpJrgpLjgpY3gpLUifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoi4KSP4KSV4KWN4KS44KSa4KWH4KSC4KScIiwicGFpciI6IuCkquClh+Ckr+CksCIsInByaWNlIjoi4KSq4KWN4KSw4KS+4KSH4KS4Iiwidm9sdW1lIjoi4KS14KS+4KSy4KWN4KSv4KWC4KSuIiwidHJ1c3Rfc2NvcmUiOiLgpJ/gpY3gpLDgpLjgpY3gpJ8g4KS44KWN4KSV4KWL4KSwIiwidmlld19wcmljZV9jaGFydCI6IuCkquCljeCksOCkvuCkh+CkuCDgpJrgpL7gpLDgpY3gpJ8g4KSm4KWH4KSV4KWH4KSCIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g4KSm4KWN4KS14KS+4KSw4KS+IOCkuOCkguCkmuCkvuCksuCkv+CkpCIsInZpZXdfYWxsIjoi4KS44KSt4KWAICV7Y29pbn0g4KSu4KS+4KSw4KWN4KSV4KWH4KSf4KWL4KSCIOCkleCliyDgpKbgpYfgpJbgpYfgpIIifX0nKX0sIjdiYmMiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI2ODIxIikscj1pKCI5MDkzIikuZixvPXt9LnRvU3RyaW5nLGE9Im9iamVjdCI9PXR5cGVvZiB3aW5kb3cmJndpbmRvdyYmT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM/T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXMod2luZG93KTpbXSxzPWZ1bmN0aW9uKHQpe3RyeXtyZXR1cm4gcih0KX1jYXRjaChlKXtyZXR1cm4gYS5zbGljZSgpfX07dC5leHBvcnRzLmY9ZnVuY3Rpb24odCl7cmV0dXJuIGEmJiJbb2JqZWN0IFdpbmRvd10iPT1vLmNhbGwodCk/cyh0KTpyKG4odCkpfX0sIjdjZDYiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI0MGMzIikscj1pKCI1MTY4IikoIml0ZXJhdG9yIiksbz1pKCI0ODFiIik7dC5leHBvcnRzPWkoIjU4NGEiKS5nZXRJdGVyYXRvck1ldGhvZD1mdW5jdGlvbih0KXtpZih2b2lkIDAhPXQpcmV0dXJuIHRbcl18fHRbIkBAaXRlcmF0b3IiXXx8b1tuKHQpXX19LCI3ZGFiIjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gcn0pKSxpLmQoZSwiYSIsKGZ1bmN0aW9uKCl7cmV0dXJuIG99KSk7aSgiYWM2YSIpLGkoIjQ1NmQiKTt2YXIgbj17QlRDOiEwLEVUSDohMCxVU0Q6ITAsQUVEOiEwLEFSUzohMCxBVUQ6ITAsQlJMOiEwLENBRDohMCxDSEY6ITAsQ0xQOiEwLENOWTohMCxDWks6ITAsREtLOiEwLEVVUjohMCxHQlA6ITAsSEtEOiEwLEhVRjohMCxJRFI6ITAsSUxTOiEwLElOUjohMCxKUFk6ITAsS1JXOiEwLEtXRDohMCxMS1I6ITAsTVhOOiEwLE1ZUjohMCxOT0s6ITAsTlpEOiEwLFBIUDohMCxQS1I6ITAsUExOOiEwLFJVQjohMCxTQVI6ITAsU0VLOiEwLFNHRDohMCxUSEI6ITAsVFJZOiEwLFRXRDohMCxaQVI6ITB9O2Z1bmN0aW9uIHIoKXtyZXR1cm4gT2JqZWN0LmtleXMobil9dmFyIG89WyJBRUQiLCJBUlMiLCJBVUQiLCJCQ0giLCJCRFQiLCJCSEQiLCJCSVRTIiwiQk1EIiwiQk5CIiwiQlJMIiwiQlRDIiwiQ0FEIiwiQ0hGIiwiQ0xQIiwiQ05ZIiwiQ1pLIiwiREtLIiwiRE9UIiwiRU9TIiwiRVRIIiwiRVVSIiwiR0JQIiwiR0VMIiwiSEtEIiwiSFVGIiwiSURSIiwiSUxTIiwiSU5SIiwiSlBZIiwiS1JXIiwiS1dEIiwiTElOSyIsIkxLUiIsIkxUQyIsIk1NSyIsIk1YTiIsIk1ZUiIsIk5HTiIsIk5PSyIsIk5aRCIsIlBIUCIsIlBLUiIsIlBMTiIsIlJVQiIsIlNBUiIsIlNBVFMiLCJTRUsiLCJTR0QiLCJUSEIiLCJUUlkiLCJUV0QiLCJVQUgiLCJVU0QiLCJWRUYiLCJWTkQiLCJYQUciLCJYQVUiLCJYRFIiLCJYTE0iLCJYUlAiLCJZRkkiLCJaQVIiXX0sIjdlOTAiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCJkOWY2Iikscj1pKCJlNGFlIiksbz1pKCJjM2ExIik7dC5leHBvcnRzPWkoIjhlNjAiKT9PYmplY3QuZGVmaW5lUHJvcGVydGllczpmdW5jdGlvbih0LGUpe3IodCk7dmFyIGksYT1vKGUpLHM9YS5sZW5ndGgsYz0wO3doaWxlKHM+YyluLmYodCxpPWFbYysrXSxlW2ldKTtyZXR1cm4gdH19LCI3ZjIwIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiODZjYyIpLmYscj1pKCI2OWE4Iiksbz1pKCIyYjRjIikoInRvU3RyaW5nVGFnIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxpKXt0JiYhcih0PWk/dDp0LnByb3RvdHlwZSxvKSYmbih0LG8se2NvbmZpZ3VyYWJsZTohMCx2YWx1ZTplfSl9fSwiN2Y3ZiI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoIjg2Y2MiKS5mLHI9RnVuY3Rpb24ucHJvdG90eXBlLG89L15ccypmdW5jdGlvbiAoW14gKF0qKS8sYT0ibmFtZSI7YSBpbiByfHxpKCI5ZTFlIikmJm4ocixhLHtjb25maWd1cmFibGU6ITAsZ2V0OmZ1bmN0aW9uKCl7dHJ5e3JldHVybigiIit0aGlzKS5tYXRjaChvKVsxXX1jYXRjaCh0KXtyZXR1cm4iIn19fSl9LDgzNzg6ZnVuY3Rpb24odCxlKXt2YXIgaT10LmV4cG9ydHM9e3ZlcnNpb246IjIuNi4xMSJ9OyJudW1iZXIiPT10eXBlb2YgX19lJiYoX19lPWkpfSwiODNjMiI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbixyPVR5cGVFcnJvcixvPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7aWYobyl0cnl7byh7fSwiIil9Y2F0Y2goUyl7bz1udWxsfXZhciBhLHMsYyxoPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IHJ9LGw9bz9mdW5jdGlvbigpe3RyeXtyZXR1cm4gYXJndW1lbnRzLmNhbGxlZSxofWNhdGNoKHQpe3RyeXtyZXR1cm4gbyhhcmd1bWVudHMsImNhbGxlZSIpLmdldH1jYXRjaChlKXtyZXR1cm4gaH19fSgpOmgscD1pKCI5ZDNjIikoKSxkPU9iamVjdC5nZXRQcm90b3R5cGVPZnx8ZnVuY3Rpb24odCl7cmV0dXJuIHQuX19wcm90b19ffSx1PWE/ZChhKTpuLGY9cz9zLmNvbnN0cnVjdG9yOm4sbT1jP2QoYyk6bixnPWM/YygpOm4sdj0idW5kZWZpbmVkIj09PXR5cGVvZiBVaW50OEFycmF5P246ZChVaW50OEFycmF5KSx5PXsiJUFycmF5JSI6QXJyYXksIiVBcnJheUJ1ZmZlciUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIEFycmF5QnVmZmVyP246QXJyYXlCdWZmZXIsIiVBcnJheUJ1ZmZlclByb3RvdHlwZSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIEFycmF5QnVmZmVyP246QXJyYXlCdWZmZXIucHJvdG90eXBlLCIlQXJyYXlJdGVyYXRvclByb3RvdHlwZSUiOnA/ZChbXVtTeW1ib2wuaXRlcmF0b3JdKCkpOm4sIiVBcnJheVByb3RvdHlwZSUiOkFycmF5LnByb3RvdHlwZSwiJUFycmF5UHJvdG9fZW50cmllcyUiOkFycmF5LnByb3RvdHlwZS5lbnRyaWVzLCIlQXJyYXlQcm90b19mb3JFYWNoJSI6QXJyYXkucHJvdG90eXBlLmZvckVhY2gsIiVBcnJheVByb3RvX2tleXMlIjpBcnJheS5wcm90b3R5cGUua2V5cywiJUFycmF5UHJvdG9fdmFsdWVzJSI6QXJyYXkucHJvdG90eXBlLnZhbHVlcywiJUFzeW5jRnJvbVN5bmNJdGVyYXRvclByb3RvdHlwZSUiOm4sIiVBc3luY0Z1bmN0aW9uJSI6ZiwiJUFzeW5jRnVuY3Rpb25Qcm90b3R5cGUlIjpmP2YucHJvdG90eXBlOm4sIiVBc3luY0dlbmVyYXRvciUiOmM/ZChnKTpuLCIlQXN5bmNHZW5lcmF0b3JGdW5jdGlvbiUiOm0sIiVBc3luY0dlbmVyYXRvclByb3RvdHlwZSUiOm0/bS5wcm90b3R5cGU6biwiJUFzeW5jSXRlcmF0b3JQcm90b3R5cGUlIjpnJiZwJiZTeW1ib2wuYXN5bmNJdGVyYXRvcj9nW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpOm4sIiVBdG9taWNzJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgQXRvbWljcz9uOkF0b21pY3MsIiVCb29sZWFuJSI6Qm9vbGVhbiwiJUJvb2xlYW5Qcm90b3R5cGUlIjpCb29sZWFuLnByb3RvdHlwZSwiJURhdGFWaWV3JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgRGF0YVZpZXc/bjpEYXRhVmlldywiJURhdGFWaWV3UHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgRGF0YVZpZXc/bjpEYXRhVmlldy5wcm90b3R5cGUsIiVEYXRlJSI6RGF0ZSwiJURhdGVQcm90b3R5cGUlIjpEYXRlLnByb3RvdHlwZSwiJWRlY29kZVVSSSUiOmRlY29kZVVSSSwiJWRlY29kZVVSSUNvbXBvbmVudCUiOmRlY29kZVVSSUNvbXBvbmVudCwiJWVuY29kZVVSSSUiOmVuY29kZVVSSSwiJWVuY29kZVVSSUNvbXBvbmVudCUiOmVuY29kZVVSSUNvbXBvbmVudCwiJUVycm9yJSI6RXJyb3IsIiVFcnJvclByb3RvdHlwZSUiOkVycm9yLnByb3RvdHlwZSwiJWV2YWwlIjpldmFsLCIlRXZhbEVycm9yJSI6RXZhbEVycm9yLCIlRXZhbEVycm9yUHJvdG90eXBlJSI6RXZhbEVycm9yLnByb3RvdHlwZSwiJUZsb2F0MzJBcnJheSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIEZsb2F0MzJBcnJheT9uOkZsb2F0MzJBcnJheSwiJUZsb2F0MzJBcnJheVByb3RvdHlwZSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIEZsb2F0MzJBcnJheT9uOkZsb2F0MzJBcnJheS5wcm90b3R5cGUsIiVGbG9hdDY0QXJyYXklIjoidW5kZWZpbmVkIj09PXR5cGVvZiBGbG9hdDY0QXJyYXk/bjpGbG9hdDY0QXJyYXksIiVGbG9hdDY0QXJyYXlQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBGbG9hdDY0QXJyYXk/bjpGbG9hdDY0QXJyYXkucHJvdG90eXBlLCIlRnVuY3Rpb24lIjpGdW5jdGlvbiwiJUZ1bmN0aW9uUHJvdG90eXBlJSI6RnVuY3Rpb24ucHJvdG90eXBlLCIlR2VuZXJhdG9yJSI6YT9kKGEoKSk6biwiJUdlbmVyYXRvckZ1bmN0aW9uJSI6dSwiJUdlbmVyYXRvclByb3RvdHlwZSUiOnU/dS5wcm90b3R5cGU6biwiJUludDhBcnJheSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIEludDhBcnJheT9uOkludDhBcnJheSwiJUludDhBcnJheVByb3RvdHlwZSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIEludDhBcnJheT9uOkludDhBcnJheS5wcm90b3R5cGUsIiVJbnQxNkFycmF5JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgSW50MTZBcnJheT9uOkludDE2QXJyYXksIiVJbnQxNkFycmF5UHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgSW50MTZBcnJheT9uOkludDhBcnJheS5wcm90b3R5cGUsIiVJbnQzMkFycmF5JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgSW50MzJBcnJheT9uOkludDMyQXJyYXksIiVJbnQzMkFycmF5UHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgSW50MzJBcnJheT9uOkludDMyQXJyYXkucHJvdG90eXBlLCIlaXNGaW5pdGUlIjppc0Zpbml0ZSwiJWlzTmFOJSI6aXNOYU4sIiVJdGVyYXRvclByb3RvdHlwZSUiOnA/ZChkKFtdW1N5bWJvbC5pdGVyYXRvcl0oKSkpOm4sIiVKU09OJSI6Im9iamVjdCI9PT10eXBlb2YgSlNPTj9KU09OOm4sIiVKU09OUGFyc2UlIjoib2JqZWN0Ij09PXR5cGVvZiBKU09OP0pTT04ucGFyc2U6biwiJU1hcCUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIE1hcD9uOk1hcCwiJU1hcEl0ZXJhdG9yUHJvdG90eXBlJSI6InVuZGVmaW5lZCIhPT10eXBlb2YgTWFwJiZwP2QoKG5ldyBNYXApW1N5bWJvbC5pdGVyYXRvcl0oKSk6biwiJU1hcFByb3RvdHlwZSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIE1hcD9uOk1hcC5wcm90b3R5cGUsIiVNYXRoJSI6TWF0aCwiJU51bWJlciUiOk51bWJlciwiJU51bWJlclByb3RvdHlwZSUiOk51bWJlci5wcm90b3R5cGUsIiVPYmplY3QlIjpPYmplY3QsIiVPYmplY3RQcm90b3R5cGUlIjpPYmplY3QucHJvdG90eXBlLCIlT2JqUHJvdG9fdG9TdHJpbmclIjpPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLCIlT2JqUHJvdG9fdmFsdWVPZiUiOk9iamVjdC5wcm90b3R5cGUudmFsdWVPZiwiJXBhcnNlRmxvYXQlIjpwYXJzZUZsb2F0LCIlcGFyc2VJbnQlIjpwYXJzZUludCwiJVByb21pc2UlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBQcm9taXNlP246UHJvbWlzZSwiJVByb21pc2VQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBQcm9taXNlP246UHJvbWlzZS5wcm90b3R5cGUsIiVQcm9taXNlUHJvdG9fdGhlbiUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFByb21pc2U/bjpQcm9taXNlLnByb3RvdHlwZS50aGVuLCIlUHJvbWlzZV9hbGwlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBQcm9taXNlP246UHJvbWlzZS5hbGwsIiVQcm9taXNlX3JlamVjdCUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFByb21pc2U/bjpQcm9taXNlLnJlamVjdCwiJVByb21pc2VfcmVzb2x2ZSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFByb21pc2U/bjpQcm9taXNlLnJlc29sdmUsIiVQcm94eSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFByb3h5P246UHJveHksIiVSYW5nZUVycm9yJSI6UmFuZ2VFcnJvciwiJVJhbmdlRXJyb3JQcm90b3R5cGUlIjpSYW5nZUVycm9yLnByb3RvdHlwZSwiJVJlZmVyZW5jZUVycm9yJSI6UmVmZXJlbmNlRXJyb3IsIiVSZWZlcmVuY2VFcnJvclByb3RvdHlwZSUiOlJlZmVyZW5jZUVycm9yLnByb3RvdHlwZSwiJVJlZmxlY3QlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBSZWZsZWN0P246UmVmbGVjdCwiJVJlZ0V4cCUiOlJlZ0V4cCwiJVJlZ0V4cFByb3RvdHlwZSUiOlJlZ0V4cC5wcm90b3R5cGUsIiVTZXQlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBTZXQ/bjpTZXQsIiVTZXRJdGVyYXRvclByb3RvdHlwZSUiOiJ1bmRlZmluZWQiIT09dHlwZW9mIFNldCYmcD9kKChuZXcgU2V0KVtTeW1ib2wuaXRlcmF0b3JdKCkpOm4sIiVTZXRQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBTZXQ/bjpTZXQucHJvdG90eXBlLCIlU2hhcmVkQXJyYXlCdWZmZXIlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlcj9uOlNoYXJlZEFycmF5QnVmZmVyLCIlU2hhcmVkQXJyYXlCdWZmZXJQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBTaGFyZWRBcnJheUJ1ZmZlcj9uOlNoYXJlZEFycmF5QnVmZmVyLnByb3RvdHlwZSwiJVN0cmluZyUiOlN0cmluZywiJVN0cmluZ0l0ZXJhdG9yUHJvdG90eXBlJSI6cD9kKCIiW1N5bWJvbC5pdGVyYXRvcl0oKSk6biwiJVN0cmluZ1Byb3RvdHlwZSUiOlN0cmluZy5wcm90b3R5cGUsIiVTeW1ib2wlIjpwP1N5bWJvbDpuLCIlU3ltYm9sUHJvdG90eXBlJSI6cD9TeW1ib2wucHJvdG90eXBlOm4sIiVTeW50YXhFcnJvciUiOlN5bnRheEVycm9yLCIlU3ludGF4RXJyb3JQcm90b3R5cGUlIjpTeW50YXhFcnJvci5wcm90b3R5cGUsIiVUaHJvd1R5cGVFcnJvciUiOmwsIiVUeXBlZEFycmF5JSI6diwiJVR5cGVkQXJyYXlQcm90b3R5cGUlIjp2P3YucHJvdG90eXBlOm4sIiVUeXBlRXJyb3IlIjpyLCIlVHlwZUVycm9yUHJvdG90eXBlJSI6ci5wcm90b3R5cGUsIiVVaW50OEFycmF5JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgVWludDhBcnJheT9uOlVpbnQ4QXJyYXksIiVVaW50OEFycmF5UHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgVWludDhBcnJheT9uOlVpbnQ4QXJyYXkucHJvdG90eXBlLCIlVWludDhDbGFtcGVkQXJyYXklIjoidW5kZWZpbmVkIj09PXR5cGVvZiBVaW50OENsYW1wZWRBcnJheT9uOlVpbnQ4Q2xhbXBlZEFycmF5LCIlVWludDhDbGFtcGVkQXJyYXlQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBVaW50OENsYW1wZWRBcnJheT9uOlVpbnQ4Q2xhbXBlZEFycmF5LnByb3RvdHlwZSwiJVVpbnQxNkFycmF5JSI6InVuZGVmaW5lZCI9PT10eXBlb2YgVWludDE2QXJyYXk/bjpVaW50MTZBcnJheSwiJVVpbnQxNkFycmF5UHJvdG90eXBlJSI6InVuZGVmaW5lZCI9PT10eXBlb2YgVWludDE2QXJyYXk/bjpVaW50MTZBcnJheS5wcm90b3R5cGUsIiVVaW50MzJBcnJheSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFVpbnQzMkFycmF5P246VWludDMyQXJyYXksIiVVaW50MzJBcnJheVByb3RvdHlwZSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFVpbnQzMkFycmF5P246VWludDMyQXJyYXkucHJvdG90eXBlLCIlVVJJRXJyb3IlIjpVUklFcnJvciwiJVVSSUVycm9yUHJvdG90eXBlJSI6VVJJRXJyb3IucHJvdG90eXBlLCIlV2Vha01hcCUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFdlYWtNYXA/bjpXZWFrTWFwLCIlV2Vha01hcFByb3RvdHlwZSUiOiJ1bmRlZmluZWQiPT09dHlwZW9mIFdlYWtNYXA/bjpXZWFrTWFwLnByb3RvdHlwZSwiJVdlYWtTZXQlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBXZWFrU2V0P246V2Vha1NldCwiJVdlYWtTZXRQcm90b3R5cGUlIjoidW5kZWZpbmVkIj09PXR5cGVvZiBXZWFrU2V0P246V2Vha1NldC5wcm90b3R5cGV9LF89aSgiMGY3YyIpLGI9Xy5jYWxsKEZ1bmN0aW9uLmNhbGwsU3RyaW5nLnByb3RvdHlwZS5yZXBsYWNlKSx4PS9bXiUuW1xdXSt8XFsoPzooLT9cZCsoPzpcLlxkKyk/KXwoWyInXSkoKD86KD8hXDIpW15cXF18XFwuKSo/KVwyKVxdfCg/PSg/OlwufFxbXF0pKD86XC58XFtcXXwlJCkpL2csdz0vXFwoXFwpPy9nLGs9ZnVuY3Rpb24odCl7dmFyIGU9W107cmV0dXJuIGIodCx4LChmdW5jdGlvbih0LGksbixyKXtlW2UubGVuZ3RoXT1uP2Iocix3LCIkMSIpOml8fHR9KSksZX0sQz1mdW5jdGlvbih0LGUpe2lmKCEodCBpbiB5KSl0aHJvdyBuZXcgU3ludGF4RXJyb3IoImludHJpbnNpYyAiK3QrIiBkb2VzIG5vdCBleGlzdCEiKTtpZigidW5kZWZpbmVkIj09PXR5cGVvZiB5W3RdJiYhZSl0aHJvdyBuZXcgcigiaW50cmluc2ljICIrdCsiIGV4aXN0cywgYnV0IGlzIG5vdCBhdmFpbGFibGUuIFBsZWFzZSBmaWxlIGFuIGlzc3VlISIpO3JldHVybiB5W3RdfTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtpZigic3RyaW5nIiE9PXR5cGVvZiB0fHwwPT09dC5sZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcigiaW50cmluc2ljIG5hbWUgbXVzdCBiZSBhIG5vbi1lbXB0eSBzdHJpbmciKTtpZihhcmd1bWVudHMubGVuZ3RoPjEmJiJib29sZWFuIiE9PXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoJyJhbGxvd01pc3NpbmciIGFyZ3VtZW50IG11c3QgYmUgYSBib29sZWFuJyk7Zm9yKHZhciBpPWsodCksbj1DKCIlIisoaS5sZW5ndGg+MD9pWzBdOiIiKSsiJSIsZSksYT0xO2E8aS5sZW5ndGg7YSs9MSlpZihudWxsIT1uKWlmKG8mJmErMT49aS5sZW5ndGgpe3ZhciBzPW8obixpW2FdKTtpZighZSYmIShpW2FdaW4gbikpdGhyb3cgbmV3IHIoImJhc2UgaW50cmluc2ljIGZvciAiK3QrIiBleGlzdHMsIGJ1dCB0aGUgcHJvcGVydHkgaXMgbm90IGF2YWlsYWJsZS4iKTtuPXM/cy5nZXR8fHMudmFsdWU6bltpW2FdXX1lbHNlIG49bltpW2FdXTtyZXR1cm4gbn19LDg0MzY6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24oKXt9fSwiODRmMiI6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9e319LCI4NWYyIjpmdW5jdGlvbih0LGUsaSl7dC5leHBvcnRzPWkoIjQ1NGYiKX0sODY4MDpmdW5jdGlvbih0KXt0LmV4cG9ydHM9SlNPTi5wYXJzZSgneyJjb2luX2RldGFpbHMiOnsibWNhcF9yYW5rIjoi4Lit4Lix4LiZ4LiU4Lix4Lia4Lih4Li54Lil4LiE4LmI4Liy4LiV4Liy4Lih4Lij4Liy4LiE4Liy4LiV4Lil4Liy4LiUIiwibWNhcCI6IuC4oeC4ueC4peC4hOC5iOC4suC4leC4suC4oeC4o+C4suC4hOC4suC4leC4peC4suC4lCIsIjI0aF92b2x1bWUiOiLguJvguKPguLTguKHguLLguJMgMjQg4LiK4Lix4LmI4Lin4LmC4Lih4LiHIiwiMjRoX2hpZ2hfbG93Ijoi4Liq4Li54LiHIC8g4LiV4LmI4LizIDI0IOC4iuC4oS4ifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi4LiC4Lix4Lia4LmA4LiE4Lil4Li34LmI4Lit4LiZ4LmC4LiU4LiiICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IuC4geC4suC4o+C5gOC4m+C4o+C4teC4ouC4muC5gOC4l+C4teC4ouC4muC4o+C4suC4hOC4suC4hOC4o+C4tOC4m+C5guC4lSIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiLguIHguLLguKPguYDguJvguKPguLXguKLguJrguYDguJfguLXguKLguJrguKHguLnguKXguITguYjguLLguJXguKXguLLguJTguITguKPguLTguJvguYLguJUifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLguILguLHguJrguYDguITguKXguLfguYjguK3guJnguYLguJTguKIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0IOC4iuC4oS4g4Liq4Li54LiH4Liq4Li44LiUIiwiMjRoX2xvdyI6IjI0IOC4iuC4oS4g4LiV4LmI4Liz4Liq4Li44LiUIiwidmlld19wcmljZV9jaGFydCI6IuC4lOC4ueC4geC4o+C4suC4n+C4o+C4suC4hOC4siAle2NvaW59IiwicG93ZXJlZF9ieSI6IuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC5guC4lOC4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC5guC4lOC4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC5guC4lOC4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImJlYW1fd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLguILguLHguJrguYDguITguKXguLfguYjguK3guJnguYLguJTguKIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNCDguIrguKEuIOC4quC4ueC4h+C4quC4uOC4lCIsIjI0aF9sb3ciOiIyNCDguIrguKEuIOC4leC5iOC4s+C4quC4uOC4lCIsInZpZXdfcHJpY2VfY2hhcnQiOiLguJTguLnguIHguKPguLLguJ/guKPguLLguITguLIgJXtjb2lufSIsInBvd2VyZWRfYnkiOiLguILguLHguJrguYDguITguKXguLfguYjguK3guJnguYLguJTguKIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6IuC4lOC4ueC4geC4o+C4suC4n+C4o+C4suC4hOC4siAle2NvaW59IiwicG93ZXJlZF9ieSI6IuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC5guC4lOC4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiLguYHguJzguJnguJfguLXguYjguKPguLnguJvguJXguYnguJnguYTguKHguYkgQ3J5cHRvY3VycmVuY3kiLCJzdWJ0aXRsZSI6Iigle3RvcH0g4Liq4Li54LiH4Liq4Li44LiU4LiV4Liy4Lih4Lih4Li54Lil4LiE4LmI4Liy4LiV4Lil4Liy4LiUKSIsInBvd2VyZWRfYnkiOiLguILguLHguJrguYDguITguKXguLfguYjguK3guJnguYLguJTguKIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsiZGlzY2xhaW1lciI6IuC4guC5ieC4reC4iOC4s+C4geC4seC4lOC4hOC4p+C4suC4oeC4o+C4seC4muC4nOC4tOC4lOC4iuC4reC4mjog4LmA4LiE4Lij4Li34LmI4Lit4LiH4Lih4Li34Lit4LiZ4Li14LmJ4LiX4Liz4Lir4LiZ4LmJ4Liy4LiX4Li14LmI4LmA4Lib4LmH4LiZ4LiE4Lin4Liy4Lih4Lia4Lix4LiZ4LmA4LiX4Li04LiH4LmB4Lil4Liw4LmE4Lih4LmI4LmD4LiK4LmI4LiE4Liz4LmB4LiZ4Liw4LiZ4Liz4LiX4Liy4LiH4LiB4Liy4Lij4LmA4LiH4Li04LiZIiwic3BpbiI6IuC4q+C4oeC4uOC4mSIsImF2YWlsYWJsZV9jb2lucyI6IuC5gOC4q+C4o+C4teC4ouC4jeC4l+C4teC5iOC4oeC4teC4reC4ouC4ueC5iCJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IuC4reC4seC4nuC5gOC4lOC4l+C4o+C4suC4hOC4siBDb2luR2Vja28iLCJ0b3RhbF9tY2FwIjoi4LiE4Lin4Liy4Lih4LiI4Li44LiX4Lix4LmJ4LiH4Lir4Lih4LiU4LiC4Lit4LiHIE0iLCIyNGhfdm9sIjoi4Lib4Lij4Li04Lih4Liy4LiTIDI0IOC4iuC4oS4iLCJkb20iOiLguIHguLLguKPguITguKPguK3guIfguKrguYjguKfguJnguYHguJrguYjguIfguYPguJnguJXguKXguLLguJQifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoi4LiV4Lil4Liy4LiU4LmB4Lil4LiB4LmA4Lib4Lil4Li14LmI4Lii4LiZIiwicGFpciI6IuC4hOC4ueC5iCIsInByaWNlIjoi4Lij4Liy4LiE4LiyIiwidm9sdW1lIjoi4Lib4Lij4Li04Lih4Liy4LiTIiwidHJ1c3Rfc2NvcmUiOiLguITguLDguYHguJnguJnguITguKfguLLguKHguJnguYjguLLguYDguIrguLfguYjguK3guJbguLfguK0iLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi4LiU4Li54LiB4Lij4Liy4Lif4Lij4Liy4LiE4LiyIiwicG93ZXJlZF9ieSI6IuC4guC4seC4muC5gOC4hOC4peC4t+C5iOC4reC4meC5guC4lOC4oiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9Iiwidmlld19hbGwiOiLguJTguLnguJXguKXguLLguJQgJXtjb2lufSDguJfguLHguYnguIfguKvguKHguJQifX0nKX0sIjg2Y2MiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCJjYjdjIikscj1pKCJjNjlhIiksbz1pKCI2YTk5IiksYT1PYmplY3QuZGVmaW5lUHJvcGVydHk7ZS5mPWkoIjllMWUiKT9PYmplY3QuZGVmaW5lUHJvcGVydHk6ZnVuY3Rpb24odCxlLGkpe2lmKG4odCksZT1vKGUsITApLG4oaSkscil0cnl7cmV0dXJuIGEodCxlLGkpfWNhdGNoKHMpe31pZigiZ2V0ImluIGl8fCJzZXQiaW4gaSl0aHJvdyBUeXBlRXJyb3IoIkFjY2Vzc29ycyBub3Qgc3VwcG9ydGVkISIpO3JldHVybiJ2YWx1ZSJpbiBpJiYodFtlXT1pLnZhbHVlKSx0fX0sIjg5YjIiOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiJPY2VuYSB3Zy4ga2FwaXRhbGl6YWNqaSByeW5rdSIsIm1jYXAiOiJLYXBpdGFsaXphY2phIHJ5bmtvd2EiLCIyNGhfdm9sdW1lIjoiV29sdW1lbiDigJMgMjQgZ29kei4iLCIyNGhfaGlnaF9sb3ciOiIyNCBoIOKAkyBtYWtzLi9taW4uIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6Ik9ic8WCdWdpd2FuZSBwcnpleiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiJQb3LDs3duYW5pZSBrdXJzdSBrcnlwdG8iLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoiUG9yw7N3bmFuaWUga2FwaXRhbGl6YWNqaSByeW5rb3dlaiBrcnlwdG8ifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0IGdvZHouIOKAkyB3eXNva28iLCIyNGhfbG93IjoiMjQgZ29kei4g4oCTIG5pc2tvIiwidmlld19wcmljZV9jaGFydCI6Ild5xZt3aWV0bCB3eWtyZXMga3Vyc3UgJXtjb2lufSIsInBvd2VyZWRfYnkiOiJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJiZWFtX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiT2JzxYJ1Z2l3YW5lIHByemV6ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl90aWNrZXJfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjQgZ29kei4g4oCTIHd5c29rbyIsIjI0aF9sb3ciOiIyNCBnb2R6LiDigJMgbmlza28iLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiV3nFm3dpZXRsIHd5a3JlcyBrdXJzdSAle2NvaW59IiwicG93ZXJlZF9ieSI6Ik9ic8WCdWdpd2FuZSBwcnpleiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fY29udmVydGVyX3dpZGdldCI6eyJ2aWV3X3ByaWNlX2NoYXJ0IjoiV3nFm3dpZXRsIHd5a3JlcyBrdXJzdSAle2NvaW59IiwicG93ZXJlZF9ieSI6Ik9ic8WCdWdpd2FuZSBwcnpleiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJEcnpld28ga3J5cHRvd2FsdXQiLCJzdWJ0aXRsZSI6IihUb3AgJXt0b3B9IHdlZMWCdWcga2FwaXRhbGl6YWNqaSByeW5rb3dlaikiLCJwb3dlcmVkX2J5IjoiT2JzxYJ1Z2l3YW5lIHByemV6ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiJPxZt3aWFkY3plbmllOiBOYXJ6xJlkemlhIHRlIHPFgnXFvMSFIHJvenJ5d2NlIGkgbmllIHN0YW5vd2nEhSBwb3JhZHkgZmluYW5zb3dlai4iLCJzcGluIjoiWmFrcsSZxIciLCJhdmFpbGFibGVfY29pbnMiOiJEb3N0xJlwbmUgd2FsdXR5In0sImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0Ijp7InRpdGxlIjoiQWt0dWFsaXphY2phIGt1cnN1IENvaW5HZWNrbyIsInRvdGFsX21jYXAiOiJDYcWCa293aXRhIGthcGl0YWxpemFjamEgcnlua293YSIsIjI0aF92b2wiOiJXb2x1bWVuIOKAkyAyNCBnb2R6LiIsImRvbSI6IkRvbWluYWNqYSJ9LCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXQiOnsiZXhjaGFuZ2UiOiJHaWXFgmRhIiwicGFpciI6IlBhcmEiLCJwcmljZSI6Ikt1cnMiLCJ2b2x1bWUiOiJXb2x1bWVuIiwidHJ1c3Rfc2NvcmUiOiJXc2thxbpuaWsgemF1ZmFuaWEiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiV3nFm3dpZXRsIHd5a3JlcyBrdXJzdSIsInBvd2VyZWRfYnkiOiJPYnPFgnVnaXdhbmUgcHJ6ZXogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsInZpZXdfYWxsIjoiWm9iYWN6IHdzenlzdGtpZSByeW5raSAle2NvaW59In19Jyl9LCI4YTgxIjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoIjc3MjYiKSxyPWkoIjY5YTgiKSxvPWkoIjllMWUiKSxhPWkoIjVjYTEiKSxzPWkoIjJhYmEiKSxjPWkoIjY3YWIiKS5LRVksaD1pKCI3OWU1IiksbD1pKCI1NTM3IikscD1pKCI3ZjIwIiksZD1pKCJjYTVhIiksdT1pKCIyYjRjIiksZj1pKCIzN2M4IiksbT1pKCIzYTcyIiksZz1pKCJkNGMwIiksdj1pKCIxMTY5IikseT1pKCJjYjdjIiksXz1pKCJkM2Y0IiksYj1pKCI0YmY4IikseD1pKCI2ODIxIiksdz1pKCI2YTk5Iiksaz1pKCI0NjMwIiksQz1pKCIyYWViIiksUz1pKCI3YmJjIiksQT1pKCIxMWU5IiksTT1pKCIyNjIxIiksUD1pKCI4NmNjIiksTz1pKCIwZDU4IiksVD1BLmYsRT1QLmYsTD1TLmYsaj1uLlN5bWJvbCxEPW4uSlNPTixJPUQmJkQuc3RyaW5naWZ5LHo9InByb3RvdHlwZSIsQj11KCJfaGlkZGVuIiksUj11KCJ0b1ByaW1pdGl2ZSIpLE49e30ucHJvcGVydHlJc0VudW1lcmFibGUsRz1sKCJzeW1ib2wtcmVnaXN0cnkiKSxGPWwoInN5bWJvbHMiKSxIPWwoIm9wLXN5bWJvbHMiKSxXPU9iamVjdFt6XSxVPSJmdW5jdGlvbiI9PXR5cGVvZiBqJiYhIU0uZixYPW4uUU9iamVjdCxWPSFYfHwhWFt6XXx8IVhbel0uZmluZENoaWxkLFk9byYmaCgoZnVuY3Rpb24oKXtyZXR1cm4gNyE9QyhFKHt9LCJhIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEUodGhpcywiYSIse3ZhbHVlOjd9KS5hfX0pKS5hfSkpP2Z1bmN0aW9uKHQsZSxpKXt2YXIgbj1UKFcsZSk7biYmZGVsZXRlIFdbZV0sRSh0LGUsaSksbiYmdCE9PVcmJkUoVyxlLG4pfTpFLCQ9ZnVuY3Rpb24odCl7dmFyIGU9Rlt0XT1DKGpbel0pO3JldHVybiBlLl9rPXQsZX0sSz1VJiYic3ltYm9sIj09dHlwZW9mIGouaXRlcmF0b3I/ZnVuY3Rpb24odCl7cmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0fTpmdW5jdGlvbih0KXtyZXR1cm4gdCBpbnN0YW5jZW9mIGp9LFo9ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0PT09VyYmWihILGUsaSkseSh0KSxlPXcoZSwhMCkseShpKSxyKEYsZSk/KGkuZW51bWVyYWJsZT8ocih0LEIpJiZ0W0JdW2VdJiYodFtCXVtlXT0hMSksaT1DKGkse2VudW1lcmFibGU6aygwLCExKX0pKToocih0LEIpfHxFKHQsQixrKDEse30pKSx0W0JdW2VdPSEwKSxZKHQsZSxpKSk6RSh0LGUsaSl9LHE9ZnVuY3Rpb24odCxlKXt5KHQpO3ZhciBpLG49ZyhlPXgoZSkpLHI9MCxvPW4ubGVuZ3RoO3doaWxlKG8+cilaKHQsaT1uW3IrK10sZVtpXSk7cmV0dXJuIHR9LEo9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdm9pZCAwPT09ZT9DKHQpOnEoQyh0KSxlKX0sUT1mdW5jdGlvbih0KXt2YXIgZT1OLmNhbGwodGhpcyx0PXcodCwhMCkpO3JldHVybiEodGhpcz09PVcmJnIoRix0KSYmIXIoSCx0KSkmJighKGV8fCFyKHRoaXMsdCl8fCFyKEYsdCl8fHIodGhpcyxCKSYmdGhpc1tCXVt0XSl8fGUpfSx0dD1mdW5jdGlvbih0LGUpe2lmKHQ9eCh0KSxlPXcoZSwhMCksdCE9PVd8fCFyKEYsZSl8fHIoSCxlKSl7dmFyIGk9VCh0LGUpO3JldHVybiFpfHwhcihGLGUpfHxyKHQsQikmJnRbQl1bZV18fChpLmVudW1lcmFibGU9ITApLGl9fSxldD1mdW5jdGlvbih0KXt2YXIgZSxpPUwoeCh0KSksbj1bXSxvPTA7d2hpbGUoaS5sZW5ndGg+bylyKEYsZT1pW28rK10pfHxlPT1CfHxlPT1jfHxuLnB1c2goZSk7cmV0dXJuIG59LGl0PWZ1bmN0aW9uKHQpe3ZhciBlLGk9dD09PVcsbj1MKGk/SDp4KHQpKSxvPVtdLGE9MDt3aGlsZShuLmxlbmd0aD5hKSFyKEYsZT1uW2ErK10pfHxpJiYhcihXLGUpfHxvLnB1c2goRltlXSk7cmV0dXJuIG99O1V8fChqPWZ1bmN0aW9uKCl7aWYodGhpcyBpbnN0YW5jZW9mIGopdGhyb3cgVHlwZUVycm9yKCJTeW1ib2wgaXMgbm90IGEgY29uc3RydWN0b3IhIik7dmFyIHQ9ZChhcmd1bWVudHMubGVuZ3RoPjA/YXJndW1lbnRzWzBdOnZvaWQgMCksZT1mdW5jdGlvbihpKXt0aGlzPT09VyYmZS5jYWxsKEgsaSkscih0aGlzLEIpJiZyKHRoaXNbQl0sdCkmJih0aGlzW0JdW3RdPSExKSxZKHRoaXMsdCxrKDEsaSkpfTtyZXR1cm4gbyYmViYmWShXLHQse2NvbmZpZ3VyYWJsZTohMCxzZXQ6ZX0pLCQodCl9LHMoalt6XSwidG9TdHJpbmciLChmdW5jdGlvbigpe3JldHVybiB0aGlzLl9rfSkpLEEuZj10dCxQLmY9WixpKCI5MDkzIikuZj1TLmY9ZXQsaSgiNTJhNyIpLmY9USxNLmY9aXQsbyYmIWkoIjJkMDAiKSYmcyhXLCJwcm9wZXJ0eUlzRW51bWVyYWJsZSIsUSwhMCksZi5mPWZ1bmN0aW9uKHQpe3JldHVybiAkKHUodCkpfSksYShhLkcrYS5XK2EuRiohVSx7U3ltYm9sOmp9KTtmb3IodmFyIG50PSJoYXNJbnN0YW5jZSxpc0NvbmNhdFNwcmVhZGFibGUsaXRlcmF0b3IsbWF0Y2gscmVwbGFjZSxzZWFyY2gsc3BlY2llcyxzcGxpdCx0b1ByaW1pdGl2ZSx0b1N0cmluZ1RhZyx1bnNjb3BhYmxlcyIuc3BsaXQoIiwiKSxydD0wO250Lmxlbmd0aD5ydDspdShudFtydCsrXSk7Zm9yKHZhciBvdD1PKHUuc3RvcmUpLGF0PTA7b3QubGVuZ3RoPmF0OyltKG90W2F0KytdKTthKGEuUythLkYqIVUsIlN5bWJvbCIse2ZvcjpmdW5jdGlvbih0KXtyZXR1cm4gcihHLHQrPSIiKT9HW3RdOkdbdF09aih0KX0sa2V5Rm9yOmZ1bmN0aW9uKHQpe2lmKCFLKHQpKXRocm93IFR5cGVFcnJvcih0KyIgaXMgbm90IGEgc3ltYm9sISIpO2Zvcih2YXIgZSBpbiBHKWlmKEdbZV09PT10KXJldHVybiBlfSx1c2VTZXR0ZXI6ZnVuY3Rpb24oKXtWPSEwfSx1c2VTaW1wbGU6ZnVuY3Rpb24oKXtWPSExfX0pLGEoYS5TK2EuRiohVSwiT2JqZWN0Iix7Y3JlYXRlOkosZGVmaW5lUHJvcGVydHk6WixkZWZpbmVQcm9wZXJ0aWVzOnEsZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yOnR0LGdldE93blByb3BlcnR5TmFtZXM6ZXQsZ2V0T3duUHJvcGVydHlTeW1ib2xzOml0fSk7dmFyIHN0PWgoKGZ1bmN0aW9uKCl7TS5mKDEpfSkpO2EoYS5TK2EuRipzdCwiT2JqZWN0Iix7Z2V0T3duUHJvcGVydHlTeW1ib2xzOmZ1bmN0aW9uKHQpe3JldHVybiBNLmYoYih0KSl9fSksRCYmYShhLlMrYS5GKighVXx8aCgoZnVuY3Rpb24oKXt2YXIgdD1qKCk7cmV0dXJuIltudWxsXSIhPUkoW3RdKXx8Int9IiE9SSh7YTp0fSl8fCJ7fSIhPUkoT2JqZWN0KHQpKX0pKSksIkpTT04iLHtzdHJpbmdpZnk6ZnVuY3Rpb24odCl7dmFyIGUsaSxuPVt0XSxyPTE7d2hpbGUoYXJndW1lbnRzLmxlbmd0aD5yKW4ucHVzaChhcmd1bWVudHNbcisrXSk7aWYoaT1lPW5bMV0sKF8oZSl8fHZvaWQgMCE9PXQpJiYhSyh0KSlyZXR1cm4gdihlKXx8KGU9ZnVuY3Rpb24odCxlKXtpZigiZnVuY3Rpb24iPT10eXBlb2YgaSYmKGU9aS5jYWxsKHRoaXMsdCxlKSksIUsoZSkpcmV0dXJuIGV9KSxuWzFdPWUsSS5hcHBseShELG4pfX0pLGpbel1bUl18fGkoIjMyZTkiKShqW3pdLFIsalt6XS52YWx1ZU9mKSxwKGosIlN5bWJvbCIpLHAoTWF0aCwiTWF0aCIsITApLHAobi5KU09OLCJKU09OIiwhMCl9LCI4YWI1IjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoIjgzYzIiKSxyPWkoIjRkMDEiKSxvPXIobigiU3RyaW5nLnByb3RvdHlwZS5pbmRleE9mIikpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBpPW4odCwhIWUpO3JldHVybiJmdW5jdGlvbiI9PT10eXBlb2YgaSYmbyh0LCIucHJvdG90eXBlLiIpP3IoaSk6aX19LCI4Yjk3IjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZDNmNCIpLHI9aSgiY2I3YyIpLG89ZnVuY3Rpb24odCxlKXtpZihyKHQpLCFuKGUpJiZudWxsIT09ZSl0aHJvdyBUeXBlRXJyb3IoZSsiOiBjYW4ndCBzZXQgYXMgcHJvdG90eXBlISIpfTt0LmV4cG9ydHM9e3NldDpPYmplY3Quc2V0UHJvdG90eXBlT2Z8fCgiX19wcm90b19fImlue30/ZnVuY3Rpb24odCxlLG4pe3RyeXtuPWkoIjliNDMiKShGdW5jdGlvbi5jYWxsLGkoIjExZTkiKS5mKE9iamVjdC5wcm90b3R5cGUsIl9fcHJvdG9fXyIpLnNldCwyKSxuKHQsW10pLGU9ISh0IGluc3RhbmNlb2YgQXJyYXkpfWNhdGNoKHIpe2U9ITB9cmV0dXJuIGZ1bmN0aW9uKHQsaSl7cmV0dXJuIG8odCxpKSxlP3QuX19wcm90b19fPWk6bih0LGkpLHR9fSh7fSwhMSk6dm9pZCAwKSxjaGVjazpvfX0sIjhlNjAiOmZ1bmN0aW9uKHQsZSxpKXt0LmV4cG9ydHM9IWkoIjI5NGMiKSgoZnVuY3Rpb24oKXtyZXR1cm4gNyE9T2JqZWN0LmRlZmluZVByb3BlcnR5KHt9LCJhIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSkuYX0pKX0sIjhlNmUiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI1Y2ExIikscj1pKCI5OTBiIiksbz1pKCI2ODIxIiksYT1pKCIxMWU5Iikscz1pKCJmMWFlIik7bihuLlMsIk9iamVjdCIse2dldE93blByb3BlcnR5RGVzY3JpcHRvcnM6ZnVuY3Rpb24odCl7dmFyIGUsaSxuPW8odCksYz1hLmYsaD1yKG4pLGw9e30scD0wO3doaWxlKGgubGVuZ3RoPnApaT1jKG4sZT1oW3ArK10pLHZvaWQgMCE9PWkmJnMobCxlLGkpO3JldHVybiBsfX0pfSwiOGY2MCI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCJhMTU5Iikscj1pKCJhZWJkIiksbz1pKCI0NWYyIiksYT17fTtpKCIzNWU4IikoYSxpKCI1MTY4IikoIml0ZXJhdG9yIiksKGZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KSksdC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxpKXt0LnByb3RvdHlwZT1uKGEse25leHQ6cigxLGkpfSksbyh0LGUrIiBJdGVyYXRvciIpfX0sOTAwMzpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiNmI0YyIpO3QuZXhwb3J0cz1BcnJheS5pc0FycmF5fHxmdW5jdGlvbih0KXtyZXR1cm4iQXJyYXkiPT1uKHQpfX0sOTA5MzpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiY2UxMCIpLHI9aSgiZTExZSIpLmNvbmNhdCgibGVuZ3RoIiwicHJvdG90eXBlIik7ZS5mPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzfHxmdW5jdGlvbih0KXtyZXR1cm4gbih0LHIpfX0sOTEzODpmdW5jdGlvbih0LGUsaSl7dC5leHBvcnRzPWkoIjM1ZTgiKX0sIjkyZDciOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiJSYW5nIHByZW1hIHRyxb5pxaFub2oga2FwaXQuIiwibWNhcCI6IlRyxb5pxaFuYSBrYXBpdC4iLCIyNGhfdm9sdW1lIjoiVm9sdW1lbiB1IDI0IGgiLCIyNGhfaGlnaF9sb3ciOiJWaXNva2Evbmlza2EgdSAyNCBoIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlBva3JlxIdlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IlVzcG9yZWRiYSBjaWplbmUga3JpcHRvdmFsdXRhIiwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvbiI6IlVzcG9yZWRiYSB0csW+acWhbmUga2FwaXRhbGl6YWNpamUga3JpcHRvdmFsdXRhIn0sImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUG9rcmXEh2UgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6IlZpc29rYSB1IDI0IGgiLCIyNGhfbG93IjoiTmlza2EgdSAyNCBoIiwidmlld19wcmljZV9jaGFydCI6IlByaWthxb5pIGdyYWZpa29uIGNpamVuZSAle2NvaW59IiwicG93ZXJlZF9ieSI6IlBva3JlxIdlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUG9rcmXEh2UgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJQb2tyZcSHZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImJlYW1fd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJQb2tyZcSHZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6IlZpc29rYSB1IDI0IGgiLCIyNGhfbG93IjoiTmlza2EgdSAyNCBoIiwidmlld19wcmljZV9jaGFydCI6IlByaWthxb5pIGdyYWZpa29uIGNpamVuZSAle2NvaW59IiwicG93ZXJlZF9ieSI6IlBva3JlxIdlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiJQcmlrYcW+aSBncmFmaWtvbiBjaWplbmUgJXtjb2lufSIsInBvd2VyZWRfYnkiOiJQb2tyZcSHZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJLYXJ0YSBzYSBzdGFibG9tIGtyaXB0b3ZhbHV0YSIsInN1YnRpdGxlIjoiKE5hanZlxIdpaCAle3RvcH0gcHJlbWEgdHLFvmnFoW5vaiBrYXBpdGFsaXphY2lqaSkiLCJwb3dlcmVkX2J5IjoiUG9rcmXEh2UgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsiZGlzY2xhaW1lciI6Ikl6amF2YSBvIG9kcmljYW5qdSBvZGdvdm9ybm9zdGk6IG92aSBhbGF0aSB6YWJhdm5vZyBzdSBrYXJha3RlcmEgaSBuZSBwcmVkc3RhdmxqYWp1IGZpbmFuY2lqc2tpIHNhdmpldC4iLCJzcGluIjoiU3BpbiIsImF2YWlsYWJsZV9jb2lucyI6IkRvc3R1cG5pIG5vdsSNacSHaSJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkHFvnVyaXJhbmplIGNpamVuZSBuYSBwbGF0Zm9ybWkgQ29pbkdlY2tvIiwidG90YWxfbWNhcCI6IlVrdXBuYSB0csW+LiBrYXBpdGFsaXphY2lqYSIsIjI0aF92b2wiOiJWb2x1bWVuIHUgMjQgaCIsImRvbSI6IkRvbWluYW50bm9zdCJ9LCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXQiOnsiZXhjaGFuZ2UiOiJCdXJ6YSIsInBhaXIiOiJQYXIiLCJwcmljZSI6IkNpamVuYSIsInZvbHVtZSI6IlZvbHVtZW4iLCJ0cnVzdF9zY29yZSI6Ik9jamVuYSBwb3V6ZGFub3N0aSIsInZpZXdfcHJpY2VfY2hhcnQiOiJQcmlrYcW+aSBncmFmaWtvbiBjaWplbmUiLCJwb3dlcmVkX2J5IjoiUG9rcmXEh2UgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsInZpZXdfYWxsIjoiUHJpa2HFvmkgc3ZhIHRyxb5pxaF0YSB6YSAle2NvaW59In19Jyl9LDk1NDI6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6IlJhbmcgY2FwaXRhbGl6YXJlIGxhIGJ1cnPEgyIsIm1jYXAiOiJDYXBpdGFsaXphcmUgbGEgYnVyc8SDIiwiMjRoX3ZvbHVtZSI6IlZvbHVtIMOubiB1bHRpbWVsZSAyNCBvcmUiLCIyNGhfaGlnaF9sb3ciOiJNYXhpbS9NaW5pbSDDrm4gMjRoIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlN1c8ibaW51dCBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiJDb21wYXJhcmVhIHByZcibdXJpbG9yIENyaXB0byIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiJDb21wYXJhcmUgY2FwaXRhbGl6YXJlYSBsYSBidXJzYSBjcmlwdG8ifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJTdXPIm2ludXQgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6Ik1heGltIMOubiB1bHRpbWVsZSAyNCBvcmUiLCIyNGhfbG93IjoiTWluaW0gw65uIHVsdGltZWxlIDI0IG9yZSIsInZpZXdfcHJpY2VfY2hhcnQiOiJWZXppIGdyYWZpY3VsIGRlIHByZcibdXJpICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiU3VzyJtpbnV0IGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiU3VzyJtpbnV0IGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9saXN0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiU3VzyJtpbnV0IGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlN1c8ibaW51dCBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6Ik1heGltIMOubiB1bHRpbWVsZSAyNCBvcmUiLCIyNGhfbG93IjoiTWluaW0gw65uIHVsdGltZWxlIDI0IG9yZSIsInZpZXdfcHJpY2VfY2hhcnQiOiJWZXppIGdyYWZpY3VsIGRlIHByZcibdXJpICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiU3VzyJtpbnV0IGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiJWZXppIGdyYWZpY3VsIGRlIHByZcibdXJpICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiU3VzyJtpbnV0IGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6IkhhcnRhIGFyYm9yZXNjZW50xIMgYSBjcmlwdG9tb25lZGVsb3IiLCJzdWJ0aXRsZSI6IihUb3AgJXt0b3B9IGR1cMSDIGNhcGl0YWxpemFyZWEgYnVyc2llcsSDKSIsInBvd2VyZWRfYnkiOiJTdXPIm2ludXQgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsiZGlzY2xhaW1lciI6IkF2ZXJ0aXNtZW50OiBBY2VzdCBpbnN0cnVtZW50IGVzdGUgcGVudHJ1IGRpdmVydGlzbWVudCDImWkgbnUgYXJlIHJvbHVsIGRlIGNvbnNpbGllcmUgZmluYW5jaWFyxIMuIiwic3BpbiI6IlJvdGlyZSIsImF2YWlsYWJsZV9jb2lucyI6Ik1vbmVkZSBkaXNwb25pYmlsZSJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkFjdHVhbGl6YXJlIFByZcibIENvaW5HZWNrbyIsInRvdGFsX21jYXAiOiJUb3RhbCBjYXBpdGFsaXphcmUgbGEgYnVyc8SDIiwiMjRoX3ZvbCI6IlZvbHVtIMOubiB1bHRpbWVsZSAyNCBvcmUiLCJkb20iOiJEb21pbmHIm2llIn0sImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldCI6eyJleGNoYW5nZSI6IlNjaGltYiIsInBhaXIiOiJQZXJlY2hlIiwicHJpY2UiOiJQcmXImyIsInZvbHVtZSI6IlZvbHVtIiwidHJ1c3Rfc2NvcmUiOiJTY29yIGRlIMOubmNyZWRlcmUiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiVmV6aSBncmFmaWN1bCBkZSBwcmXIm3VyaSIsInBvd2VyZWRfYnkiOiJTdXPIm2ludXQgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsInZpZXdfYWxsIjoiVmV6aSB0b2F0ZSBwaWXIm2VsZSAle2NvaW59In19Jyl9LCI5NmNmIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49ZnVuY3Rpb24odCl7InVzZSBzdHJpY3QiO3ZhciBlLGk9T2JqZWN0LnByb3RvdHlwZSxuPWkuaGFzT3duUHJvcGVydHkscj0iZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbD9TeW1ib2w6e30sbz1yLml0ZXJhdG9yfHwiQEBpdGVyYXRvciIsYT1yLmFzeW5jSXRlcmF0b3J8fCJAQGFzeW5jSXRlcmF0b3IiLHM9ci50b1N0cmluZ1RhZ3x8IkBAdG9TdHJpbmdUYWciO2Z1bmN0aW9uIGModCxlLGksbil7dmFyIHI9ZSYmZS5wcm90b3R5cGUgaW5zdGFuY2VvZiBtP2U6bSxvPU9iamVjdC5jcmVhdGUoci5wcm90b3R5cGUpLGE9bmV3IFAobnx8W10pO3JldHVybiBvLl9pbnZva2U9Qyh0LGksYSksb31mdW5jdGlvbiBoKHQsZSxpKXt0cnl7cmV0dXJue3R5cGU6Im5vcm1hbCIsYXJnOnQuY2FsbChlLGkpfX1jYXRjaChuKXtyZXR1cm57dHlwZToidGhyb3ciLGFyZzpufX19dC53cmFwPWM7dmFyIGw9InN1c3BlbmRlZFN0YXJ0IixwPSJzdXNwZW5kZWRZaWVsZCIsZD0iZXhlY3V0aW5nIix1PSJjb21wbGV0ZWQiLGY9e307ZnVuY3Rpb24gbSgpe31mdW5jdGlvbiBnKCl7fWZ1bmN0aW9uIHYoKXt9dmFyIHk9e307eVtvXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfTt2YXIgXz1PYmplY3QuZ2V0UHJvdG90eXBlT2YsYj1fJiZfKF8oTyhbXSkpKTtiJiZiIT09aSYmbi5jYWxsKGIsbykmJih5PWIpO3ZhciB4PXYucHJvdG90eXBlPW0ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeSk7ZnVuY3Rpb24gdyh0KXtbIm5leHQiLCJ0aHJvdyIsInJldHVybiJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RbZV09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX2ludm9rZShlLHQpfX0pKX1mdW5jdGlvbiBrKHQpe2Z1bmN0aW9uIGUoaSxyLG8sYSl7dmFyIHM9aCh0W2ldLHQscik7aWYoInRocm93IiE9PXMudHlwZSl7dmFyIGM9cy5hcmcsbD1jLnZhbHVlO3JldHVybiBsJiYib2JqZWN0Ij09PXR5cGVvZiBsJiZuLmNhbGwobCwiX19hd2FpdCIpP1Byb21pc2UucmVzb2x2ZShsLl9fYXdhaXQpLnRoZW4oKGZ1bmN0aW9uKHQpe2UoIm5leHQiLHQsbyxhKX0pLChmdW5jdGlvbih0KXtlKCJ0aHJvdyIsdCxvLGEpfSkpOlByb21pc2UucmVzb2x2ZShsKS50aGVuKChmdW5jdGlvbih0KXtjLnZhbHVlPXQsbyhjKX0pLChmdW5jdGlvbih0KXtyZXR1cm4gZSgidGhyb3ciLHQsbyxhKX0pKX1hKHMuYXJnKX12YXIgaTtmdW5jdGlvbiByKHQsbil7ZnVuY3Rpb24gcigpe3JldHVybiBuZXcgUHJvbWlzZSgoZnVuY3Rpb24oaSxyKXtlKHQsbixpLHIpfSkpfXJldHVybiBpPWk/aS50aGVuKHIscik6cigpfXRoaXMuX2ludm9rZT1yfWZ1bmN0aW9uIEModCxlLGkpe3ZhciBuPWw7cmV0dXJuIGZ1bmN0aW9uKHIsbyl7aWYobj09PWQpdGhyb3cgbmV3IEVycm9yKCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBydW5uaW5nIik7aWYobj09PXUpe2lmKCJ0aHJvdyI9PT1yKXRocm93IG87cmV0dXJuIFQoKX1pLm1ldGhvZD1yLGkuYXJnPW87d2hpbGUoMSl7dmFyIGE9aS5kZWxlZ2F0ZTtpZihhKXt2YXIgcz1TKGEsaSk7aWYocyl7aWYocz09PWYpY29udGludWU7cmV0dXJuIHN9fWlmKCJuZXh0Ij09PWkubWV0aG9kKWkuc2VudD1pLl9zZW50PWkuYXJnO2Vsc2UgaWYoInRocm93Ij09PWkubWV0aG9kKXtpZihuPT09bCl0aHJvdyBuPXUsaS5hcmc7aS5kaXNwYXRjaEV4Y2VwdGlvbihpLmFyZyl9ZWxzZSJyZXR1cm4iPT09aS5tZXRob2QmJmkuYWJydXB0KCJyZXR1cm4iLGkuYXJnKTtuPWQ7dmFyIGM9aCh0LGUsaSk7aWYoIm5vcm1hbCI9PT1jLnR5cGUpe2lmKG49aS5kb25lP3U6cCxjLmFyZz09PWYpY29udGludWU7cmV0dXJue3ZhbHVlOmMuYXJnLGRvbmU6aS5kb25lfX0idGhyb3ciPT09Yy50eXBlJiYobj11LGkubWV0aG9kPSJ0aHJvdyIsaS5hcmc9Yy5hcmcpfX19ZnVuY3Rpb24gUyh0LGkpe3ZhciBuPXQuaXRlcmF0b3JbaS5tZXRob2RdO2lmKG49PT1lKXtpZihpLmRlbGVnYXRlPW51bGwsInRocm93Ij09PWkubWV0aG9kKXtpZih0Lml0ZXJhdG9yWyJyZXR1cm4iXSYmKGkubWV0aG9kPSJyZXR1cm4iLGkuYXJnPWUsUyh0LGkpLCJ0aHJvdyI9PT1pLm1ldGhvZCkpcmV0dXJuIGY7aS5tZXRob2Q9InRocm93IixpLmFyZz1uZXcgVHlwZUVycm9yKCJUaGUgaXRlcmF0b3IgZG9lcyBub3QgcHJvdmlkZSBhICd0aHJvdycgbWV0aG9kIil9cmV0dXJuIGZ9dmFyIHI9aChuLHQuaXRlcmF0b3IsaS5hcmcpO2lmKCJ0aHJvdyI9PT1yLnR5cGUpcmV0dXJuIGkubWV0aG9kPSJ0aHJvdyIsaS5hcmc9ci5hcmcsaS5kZWxlZ2F0ZT1udWxsLGY7dmFyIG89ci5hcmc7cmV0dXJuIG8/by5kb25lPyhpW3QucmVzdWx0TmFtZV09by52YWx1ZSxpLm5leHQ9dC5uZXh0TG9jLCJyZXR1cm4iIT09aS5tZXRob2QmJihpLm1ldGhvZD0ibmV4dCIsaS5hcmc9ZSksaS5kZWxlZ2F0ZT1udWxsLGYpOm86KGkubWV0aG9kPSJ0aHJvdyIsaS5hcmc9bmV3IFR5cGVFcnJvcigiaXRlcmF0b3IgcmVzdWx0IGlzIG5vdCBhbiBvYmplY3QiKSxpLmRlbGVnYXRlPW51bGwsZil9ZnVuY3Rpb24gQSh0KXt2YXIgZT17dHJ5TG9jOnRbMF19OzEgaW4gdCYmKGUuY2F0Y2hMb2M9dFsxXSksMiBpbiB0JiYoZS5maW5hbGx5TG9jPXRbMl0sZS5hZnRlckxvYz10WzNdKSx0aGlzLnRyeUVudHJpZXMucHVzaChlKX1mdW5jdGlvbiBNKHQpe3ZhciBlPXQuY29tcGxldGlvbnx8e307ZS50eXBlPSJub3JtYWwiLGRlbGV0ZSBlLmFyZyx0LmNvbXBsZXRpb249ZX1mdW5jdGlvbiBQKHQpe3RoaXMudHJ5RW50cmllcz1be3RyeUxvYzoicm9vdCJ9XSx0LmZvckVhY2goQSx0aGlzKSx0aGlzLnJlc2V0KCEwKX1mdW5jdGlvbiBPKHQpe2lmKHQpe3ZhciBpPXRbb107aWYoaSlyZXR1cm4gaS5jYWxsKHQpO2lmKCJmdW5jdGlvbiI9PT10eXBlb2YgdC5uZXh0KXJldHVybiB0O2lmKCFpc05hTih0Lmxlbmd0aCkpe3ZhciByPS0xLGE9ZnVuY3Rpb24gaSgpe3doaWxlKCsrcjx0Lmxlbmd0aClpZihuLmNhbGwodCxyKSlyZXR1cm4gaS52YWx1ZT10W3JdLGkuZG9uZT0hMSxpO3JldHVybiBpLnZhbHVlPWUsaS5kb25lPSEwLGl9O3JldHVybiBhLm5leHQ9YX19cmV0dXJue25leHQ6VH19ZnVuY3Rpb24gVCgpe3JldHVybnt2YWx1ZTplLGRvbmU6ITB9fXJldHVybiBnLnByb3RvdHlwZT14LmNvbnN0cnVjdG9yPXYsdi5jb25zdHJ1Y3Rvcj1nLHZbc109Zy5kaXNwbGF5TmFtZT0iR2VuZXJhdG9yRnVuY3Rpb24iLHQuaXNHZW5lcmF0b3JGdW5jdGlvbj1mdW5jdGlvbih0KXt2YXIgZT0iZnVuY3Rpb24iPT09dHlwZW9mIHQmJnQuY29uc3RydWN0b3I7cmV0dXJuISFlJiYoZT09PWd8fCJHZW5lcmF0b3JGdW5jdGlvbiI9PT0oZS5kaXNwbGF5TmFtZXx8ZS5uYW1lKSl9LHQubWFyaz1mdW5jdGlvbih0KXtyZXR1cm4gT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZih0LHYpOih0Ll9fcHJvdG9fXz12LHMgaW4gdHx8KHRbc109IkdlbmVyYXRvckZ1bmN0aW9uIikpLHQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoeCksdH0sdC5hd3JhcD1mdW5jdGlvbih0KXtyZXR1cm57X19hd2FpdDp0fX0sdyhrLnByb3RvdHlwZSksay5wcm90b3R5cGVbYV09ZnVuY3Rpb24oKXtyZXR1cm4gdGhpc30sdC5Bc3luY0l0ZXJhdG9yPWssdC5hc3luYz1mdW5jdGlvbihlLGksbixyKXt2YXIgbz1uZXcgayhjKGUsaSxuLHIpKTtyZXR1cm4gdC5pc0dlbmVyYXRvckZ1bmN0aW9uKGkpP286by5uZXh0KCkudGhlbigoZnVuY3Rpb24odCl7cmV0dXJuIHQuZG9uZT90LnZhbHVlOm8ubmV4dCgpfSkpfSx3KHgpLHhbc109IkdlbmVyYXRvciIseFtvXT1mdW5jdGlvbigpe3JldHVybiB0aGlzfSx4LnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIltvYmplY3QgR2VuZXJhdG9yXSJ9LHQua2V5cz1mdW5jdGlvbih0KXt2YXIgZT1bXTtmb3IodmFyIGkgaW4gdCllLnB1c2goaSk7cmV0dXJuIGUucmV2ZXJzZSgpLGZ1bmN0aW9uIGkoKXt3aGlsZShlLmxlbmd0aCl7dmFyIG49ZS5wb3AoKTtpZihuIGluIHQpcmV0dXJuIGkudmFsdWU9bixpLmRvbmU9ITEsaX1yZXR1cm4gaS5kb25lPSEwLGl9fSx0LnZhbHVlcz1PLFAucHJvdG90eXBlPXtjb25zdHJ1Y3RvcjpQLHJlc2V0OmZ1bmN0aW9uKHQpe2lmKHRoaXMucHJldj0wLHRoaXMubmV4dD0wLHRoaXMuc2VudD10aGlzLl9zZW50PWUsdGhpcy5kb25lPSExLHRoaXMuZGVsZWdhdGU9bnVsbCx0aGlzLm1ldGhvZD0ibmV4dCIsdGhpcy5hcmc9ZSx0aGlzLnRyeUVudHJpZXMuZm9yRWFjaChNKSwhdClmb3IodmFyIGkgaW4gdGhpcykidCI9PT1pLmNoYXJBdCgwKSYmbi5jYWxsKHRoaXMsaSkmJiFpc05hTigraS5zbGljZSgxKSkmJih0aGlzW2ldPWUpfSxzdG9wOmZ1bmN0aW9uKCl7dGhpcy5kb25lPSEwO3ZhciB0PXRoaXMudHJ5RW50cmllc1swXSxlPXQuY29tcGxldGlvbjtpZigidGhyb3ciPT09ZS50eXBlKXRocm93IGUuYXJnO3JldHVybiB0aGlzLnJ2YWx9LGRpc3BhdGNoRXhjZXB0aW9uOmZ1bmN0aW9uKHQpe2lmKHRoaXMuZG9uZSl0aHJvdyB0O3ZhciBpPXRoaXM7ZnVuY3Rpb24gcihuLHIpe3JldHVybiBzLnR5cGU9InRocm93IixzLmFyZz10LGkubmV4dD1uLHImJihpLm1ldGhvZD0ibmV4dCIsaS5hcmc9ZSksISFyfWZvcih2YXIgbz10aGlzLnRyeUVudHJpZXMubGVuZ3RoLTE7bz49MDstLW8pe3ZhciBhPXRoaXMudHJ5RW50cmllc1tvXSxzPWEuY29tcGxldGlvbjtpZigicm9vdCI9PT1hLnRyeUxvYylyZXR1cm4gcigiZW5kIik7aWYoYS50cnlMb2M8PXRoaXMucHJldil7dmFyIGM9bi5jYWxsKGEsImNhdGNoTG9jIiksaD1uLmNhbGwoYSwiZmluYWxseUxvYyIpO2lmKGMmJmgpe2lmKHRoaXMucHJldjxhLmNhdGNoTG9jKXJldHVybiByKGEuY2F0Y2hMb2MsITApO2lmKHRoaXMucHJldjxhLmZpbmFsbHlMb2MpcmV0dXJuIHIoYS5maW5hbGx5TG9jKX1lbHNlIGlmKGMpe2lmKHRoaXMucHJldjxhLmNhdGNoTG9jKXJldHVybiByKGEuY2F0Y2hMb2MsITApfWVsc2V7aWYoIWgpdGhyb3cgbmV3IEVycm9yKCJ0cnkgc3RhdGVtZW50IHdpdGhvdXQgY2F0Y2ggb3IgZmluYWxseSIpO2lmKHRoaXMucHJldjxhLmZpbmFsbHlMb2MpcmV0dXJuIHIoYS5maW5hbGx5TG9jKX19fX0sYWJydXB0OmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtpPj0wOy0taSl7dmFyIHI9dGhpcy50cnlFbnRyaWVzW2ldO2lmKHIudHJ5TG9jPD10aGlzLnByZXYmJm4uY2FsbChyLCJmaW5hbGx5TG9jIikmJnRoaXMucHJldjxyLmZpbmFsbHlMb2Mpe3ZhciBvPXI7YnJlYWt9fW8mJigiYnJlYWsiPT09dHx8ImNvbnRpbnVlIj09PXQpJiZvLnRyeUxvYzw9ZSYmZTw9by5maW5hbGx5TG9jJiYobz1udWxsKTt2YXIgYT1vP28uY29tcGxldGlvbjp7fTtyZXR1cm4gYS50eXBlPXQsYS5hcmc9ZSxvPyh0aGlzLm1ldGhvZD0ibmV4dCIsdGhpcy5uZXh0PW8uZmluYWxseUxvYyxmKTp0aGlzLmNvbXBsZXRlKGEpfSxjb21wbGV0ZTpmdW5jdGlvbih0LGUpe2lmKCJ0aHJvdyI9PT10LnR5cGUpdGhyb3cgdC5hcmc7cmV0dXJuImJyZWFrIj09PXQudHlwZXx8ImNvbnRpbnVlIj09PXQudHlwZT90aGlzLm5leHQ9dC5hcmc6InJldHVybiI9PT10LnR5cGU/KHRoaXMucnZhbD10aGlzLmFyZz10LmFyZyx0aGlzLm1ldGhvZD0icmV0dXJuIix0aGlzLm5leHQ9ImVuZCIpOiJub3JtYWwiPT09dC50eXBlJiZlJiYodGhpcy5uZXh0PWUpLGZ9LGZpbmlzaDpmdW5jdGlvbih0KXtmb3IodmFyIGU9dGhpcy50cnlFbnRyaWVzLmxlbmd0aC0xO2U+PTA7LS1lKXt2YXIgaT10aGlzLnRyeUVudHJpZXNbZV07aWYoaS5maW5hbGx5TG9jPT09dClyZXR1cm4gdGhpcy5jb21wbGV0ZShpLmNvbXBsZXRpb24saS5hZnRlckxvYyksTShpKSxmfX0sY2F0Y2g6ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMudHJ5RW50cmllcy5sZW5ndGgtMTtlPj0wOy0tZSl7dmFyIGk9dGhpcy50cnlFbnRyaWVzW2VdO2lmKGkudHJ5TG9jPT09dCl7dmFyIG49aS5jb21wbGV0aW9uO2lmKCJ0aHJvdyI9PT1uLnR5cGUpe3ZhciByPW4uYXJnO00oaSl9cmV0dXJuIHJ9fXRocm93IG5ldyBFcnJvcigiaWxsZWdhbCBjYXRjaCBhdHRlbXB0Iil9LGRlbGVnYXRlWWllbGQ6ZnVuY3Rpb24odCxpLG4pe3JldHVybiB0aGlzLmRlbGVnYXRlPXtpdGVyYXRvcjpPKHQpLHJlc3VsdE5hbWU6aSxuZXh0TG9jOm59LCJuZXh0Ij09PXRoaXMubWV0aG9kJiYodGhpcy5hcmc9ZSksZn19LHR9KHQuZXhwb3J0cyk7dHJ5e3JlZ2VuZXJhdG9yUnVudGltZT1ufWNhdGNoKHIpe0Z1bmN0aW9uKCJyIiwicmVnZW5lcmF0b3JSdW50aW1lID0gciIpKG4pfX0sIjk5MGIiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI5MDkzIikscj1pKCIyNjIxIiksbz1pKCJjYjdjIiksYT1pKCI3NzI2IikuUmVmbGVjdDt0LmV4cG9ydHM9YSYmYS5vd25LZXlzfHxmdW5jdGlvbih0KXt2YXIgZT1uLmYobyh0KSksaT1yLmY7cmV0dXJuIGk/ZS5jb25jYXQoaSh0KSk6ZX19LCI5YTRiIjpmdW5jdGlvbih0LGUsaSl7ZT10LmV4cG9ydHM9aSgiMjRmYiIpKCExKSxlLnB1c2goW3QuaSwnLyoqXG4gKiBAbGljZW5zZSBIaWdoY2hhcnRzXG4gKlxuICogKGMpIDIwMDktMjAxNiBUb3JzdGVpbiBIb25zaVxuICpcbiAqIExpY2Vuc2U6IHd3dy5oaWdoY2hhcnRzLmNvbS9saWNlbnNlXG4gKi9cbi5oaWdoY2hhcnRzLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgei1pbmRleDogMDtcbiAgLyogIzEwNzIgKi9cbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApO1xuICBmb250LWZhbWlseTogIkx1Y2lkYSBHcmFuZGUiLCAiTHVjaWRhIFNhbnMgVW5pY29kZSIsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4uaGlnaGNoYXJ0cy1yb290IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5oaWdoY2hhcnRzLXJvb3QgdGV4dCB7XG4gIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmhpZ2hjaGFydHMtc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5oaWdoY2hhcnRzLWVtcGhhc2l6ZWQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5oaWdoY2hhcnRzLWFuY2hvciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmhpZ2hjaGFydHMtYmFja2dyb3VuZCB7XG4gIGZpbGw6ICNmZmZmZmY7XG59XG5cbi5oaWdoY2hhcnRzLXBsb3QtYm9yZGVyLCAuaGlnaGNoYXJ0cy1wbG90LWJhY2tncm91bmQge1xuICBmaWxsOiBub25lO1xufVxuXG4uaGlnaGNoYXJ0cy1sYWJlbC1ib3gge1xuICBmaWxsOiBub25lO1xufVxuXG4uaGlnaGNoYXJ0cy1idXR0b24tYm94IHtcbiAgZmlsbDogaW5oZXJpdDtcbn1cblxuLmhpZ2hjaGFydHMtdHJhY2tlci1saW5lIHtcbiAgc3Ryb2tlLWxpbmVqb2luOiByb3VuZDtcbiAgc3Ryb2tlOiByZ2JhKDE5MiwgMTkyLCAxOTIsIDAuMDAwMSk7XG4gIHN0cm9rZS13aWR0aDogMjI7XG4gIGZpbGw6IG5vbmU7XG59XG5cbi5oaWdoY2hhcnRzLXRyYWNrZXItYXJlYSB7XG4gIGZpbGw6IHJnYmEoMTkyLCAxOTIsIDE5MiwgMC4wMDAxKTtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xufVxuXG4vKiBUaXRsZXMgKi9cbi5oaWdoY2hhcnRzLXRpdGxlIHtcbiAgZmlsbDogIzMzMzMzMztcbiAgZm9udC1zaXplOiAxLjVlbTtcbn1cblxuLmhpZ2hjaGFydHMtc3VidGl0bGUge1xuICBmaWxsOiAjNjY2NjY2O1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogQXhlcyAqL1xuLmhpZ2hjaGFydHMtYXhpcy1saW5lIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiAjY2NkNmViO1xufVxuXG4uaGlnaGNoYXJ0cy15YXhpcyAuaGlnaGNoYXJ0cy1heGlzLWxpbmUge1xuICBzdHJva2Utd2lkdGg6IDA7XG59XG5cbi5oaWdoY2hhcnRzLWF4aXMtdGl0bGUge1xuICBmaWxsOiAjNjY2NjY2O1xufVxuXG4uaGlnaGNoYXJ0cy1heGlzLWxhYmVscyB7XG4gIGZpbGw6ICM2NjY2NjY7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuLmhpZ2hjaGFydHMtZ3JpZC1saW5lIHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiAjZTZlNmU2O1xufVxuXG4uaGlnaGNoYXJ0cy14YXhpcy1ncmlkIC5oaWdoY2hhcnRzLWdyaWQtbGluZSB7XG4gIHN0cm9rZS13aWR0aDogMHB4O1xufVxuXG4uaGlnaGNoYXJ0cy10aWNrIHtcbiAgc3Ryb2tlOiAjY2NkNmViO1xufVxuXG4uaGlnaGNoYXJ0cy15YXhpcyAuaGlnaGNoYXJ0cy10aWNrIHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xufVxuXG4uaGlnaGNoYXJ0cy1taW5vci1ncmlkLWxpbmUge1xuICBzdHJva2U6ICNmMmYyZjI7XG59XG5cbi5oaWdoY2hhcnRzLWNyb3NzaGFpci10aGluIHtcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gIHN0cm9rZTogI2NjY2NjYztcbn1cblxuLmhpZ2hjaGFydHMtY3Jvc3NoYWlyLWNhdGVnb3J5IHtcbiAgc3Ryb2tlOiAjY2NkNmViO1xuICBzdHJva2Utb3BhY2l0eTogMC4yNTtcbn1cblxuLyogQ3JlZGl0cyAqL1xuLmhpZ2hjaGFydHMtY3JlZGl0cyB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmlsbDogIzk5OTk5OTtcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgdHJhbnNpdGlvbjogZmlsbCAyNTBtcywgZm9udC1zaXplIDI1MG1zO1xufVxuXG4uaGlnaGNoYXJ0cy1jcmVkaXRzOmhvdmVyIHtcbiAgZmlsbDogYmxhY2s7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBUb29sdGlwICovXG4uaGlnaGNoYXJ0cy10b29sdGlwIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdHJhbnNpdGlvbjogc3Ryb2tlIDE1MG1zO1xufVxuXG4uaGlnaGNoYXJ0cy10b29sdGlwIHRleHQge1xuICBmaWxsOiAjMzMzMzMzO1xufVxuXG4uaGlnaGNoYXJ0cy10b29sdGlwIC5oaWdoY2hhcnRzLWhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xufVxuXG4uaGlnaGNoYXJ0cy10b29sdGlwLWJveCB7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICBmaWxsOiAjZjdmN2Y3O1xuICBmaWxsLW9wYWNpdHk6IDAuODU7XG59XG5cbi5oaWdoY2hhcnRzLXRvb2x0aXAtYm94IC5oaWdoY2hhcnRzLWxhYmVsLWJveCB7XG4gIGZpbGw6ICNmN2Y3Zjc7XG4gIGZpbGwtb3BhY2l0eTogMC44NTtcbn1cblxuZGl2LmhpZ2hjaGFydHMtdG9vbHRpcCB7XG4gIGZpbHRlcjogbm9uZTtcbn1cblxuLmhpZ2hjaGFydHMtc2VsZWN0aW9uLW1hcmtlciB7XG4gIGZpbGw6ICMzMzVjYWQ7XG4gIGZpbGwtb3BhY2l0eTogMC4yNTtcbn1cblxuLmhpZ2hjaGFydHMtZ3JhcGgge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6IDJweDtcbiAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kO1xuICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xufVxuXG4uaGlnaGNoYXJ0cy1lbXB0eS1zZXJpZXMge1xuICBzdHJva2Utd2lkdGg6IDFweDtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlOiAjY2NjY2NjO1xufVxuXG4uaGlnaGNoYXJ0cy1zdGF0ZS1ob3ZlciAuaGlnaGNoYXJ0cy1ncmFwaCB7XG4gIHN0cm9rZS13aWR0aDogMztcbn1cblxuLmhpZ2hjaGFydHMtcG9pbnQtaW5hY3RpdmUge1xuICBvcGFjaXR5OiAwLjI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgNTBtcztcbiAgLyogcXVpY2sgaW4gKi9cbn1cblxuLmhpZ2hjaGFydHMtc2VyaWVzLWluYWN0aXZlIHtcbiAgb3BhY2l0eTogMC4yO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDUwbXM7XG4gIC8qIHF1aWNrIGluICovXG59XG5cbi5oaWdoY2hhcnRzLXN0YXRlLWhvdmVyIHBhdGgge1xuICB0cmFuc2l0aW9uOiBzdHJva2Utd2lkdGggNTBtcztcbiAgLyogcXVpY2sgaW4gKi9cbn1cblxuLmhpZ2hjaGFydHMtc3RhdGUtbm9ybWFsIHBhdGgge1xuICB0cmFuc2l0aW9uOiBzdHJva2Utd2lkdGggMjUwbXM7XG4gIC8qIHNsb3cgb3V0ICovXG59XG5cbi8qIExlZ2VuZCBob3ZlciBhZmZlY3RzIHBvaW50cyBhbmQgc2VyaWVzICovXG5nLmhpZ2hjaGFydHMtc2VyaWVzLFxuLmhpZ2hjaGFydHMtcG9pbnQsXG4uaGlnaGNoYXJ0cy1tYXJrZXJzLFxuLmhpZ2hjaGFydHMtZGF0YS1sYWJlbHMge1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zO1xufVxuXG4uaGlnaGNoYXJ0cy1sZWdlbmQtc2VyaWVzLWFjdGl2ZSBnLmhpZ2hjaGFydHMtc2VyaWVzOm5vdCguaGlnaGNoYXJ0cy1zZXJpZXMtaG92ZXIpLFxuLmhpZ2hjaGFydHMtbGVnZW5kLXBvaW50LWFjdGl2ZSAuaGlnaGNoYXJ0cy1wb2ludDpub3QoLmhpZ2hjaGFydHMtcG9pbnQtaG92ZXIpLFxuLmhpZ2hjaGFydHMtbGVnZW5kLXNlcmllcy1hY3RpdmUgLmhpZ2hjaGFydHMtbWFya2Vyczpub3QoLmhpZ2hjaGFydHMtc2VyaWVzLWhvdmVyKSxcbi5oaWdoY2hhcnRzLWxlZ2VuZC1zZXJpZXMtYWN0aXZlIC5oaWdoY2hhcnRzLWRhdGEtbGFiZWxzOm5vdCguaGlnaGNoYXJ0cy1zZXJpZXMtaG92ZXIpIHtcbiAgb3BhY2l0eTogMC4yO1xufVxuXG4vKiBTZXJpZXMgb3B0aW9ucyAqL1xuLyogRGVmYXVsdCBjb2xvcnMgKi9cbi5oaWdoY2hhcnRzLWNvbG9yLTAge1xuICBmaWxsOiAjN2NiNWVjO1xuICBzdHJva2U6ICM3Y2I1ZWM7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yLTEge1xuICBmaWxsOiAjNDM0MzQ4O1xuICBzdHJva2U6ICM0MzQzNDg7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yLTIge1xuICBmaWxsOiAjOTBlZDdkO1xuICBzdHJva2U6ICM5MGVkN2Q7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yLTMge1xuICBmaWxsOiAjZjdhMzVjO1xuICBzdHJva2U6ICNmN2EzNWM7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yLTQge1xuICBmaWxsOiAjODA4NWU5O1xuICBzdHJva2U6ICM4MDg1ZTk7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yLTUge1xuICBmaWxsOiAjZjE1YzgwO1xuICBzdHJva2U6ICNmMTVjODA7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yLTYge1xuICBmaWxsOiAjZTRkMzU0O1xuICBzdHJva2U6ICNlNGQzNTQ7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yLTcge1xuICBmaWxsOiAjMmI5MDhmO1xuICBzdHJva2U6ICMyYjkwOGY7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yLTgge1xuICBmaWxsOiAjZjQ1YjViO1xuICBzdHJva2U6ICNmNDViNWI7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yLTkge1xuICBmaWxsOiAjOTFlOGUxO1xuICBzdHJva2U6ICM5MWU4ZTE7XG59XG5cbi5oaWdoY2hhcnRzLWFyZWEge1xuICBmaWxsLW9wYWNpdHk6IDAuNzU7XG4gIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmhpZ2hjaGFydHMtbWFya2VycyB7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICBzdHJva2U6ICNmZmZmZmY7XG59XG5cbi5oaWdoY2hhcnRzLWExMXktbWFya2Vycy1oaWRkZW4gLmhpZ2hjaGFydHMtcG9pbnQ6bm90KC5oaWdoY2hhcnRzLXBvaW50LWhvdmVyKTpub3QoLmhpZ2hjaGFydHMtYTExeS1tYXJrZXItdmlzaWJsZSksXG4uaGlnaGNoYXJ0cy1hMTF5LW1hcmtlci1oaWRkZW4ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uaGlnaGNoYXJ0cy1wb2ludCB7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4uaGlnaGNoYXJ0cy1kZW5zZS1kYXRhIC5oaWdoY2hhcnRzLXBvaW50IHtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xufVxuXG4uaGlnaGNoYXJ0cy1kYXRhLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjllbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5oaWdoY2hhcnRzLWRhdGEtbGFiZWwtYm94IHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xufVxuXG4uaGlnaGNoYXJ0cy1kYXRhLWxhYmVsIHRleHQsIHRleHQuaGlnaGNoYXJ0cy1kYXRhLWxhYmVsIHtcbiAgZmlsbDogIzMzMzMzMztcbn1cblxuLmhpZ2hjaGFydHMtZGF0YS1sYWJlbC1jb25uZWN0b3Ige1xuICBmaWxsOiBub25lO1xufVxuXG4uaGlnaGNoYXJ0cy1kYXRhLWxhYmVsLWhpZGRlbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uaGlnaGNoYXJ0cy1oYWxvIHtcbiAgZmlsbC1vcGFjaXR5OiAwLjI1O1xuICBzdHJva2Utd2lkdGg6IDA7XG59XG5cbi5oaWdoY2hhcnRzLXNlcmllczpub3QoLmhpZ2hjaGFydHMtcGllLXNlcmllcykgLmhpZ2hjaGFydHMtcG9pbnQtc2VsZWN0LFxuLmhpZ2hjaGFydHMtbWFya2VycyAuaGlnaGNoYXJ0cy1wb2ludC1zZWxlY3Qge1xuICBmaWxsOiAjY2NjY2NjO1xuICBzdHJva2U6ICMwMDAwMDA7XG59XG5cbi5oaWdoY2hhcnRzLWNvbHVtbi1zZXJpZXMgcmVjdC5oaWdoY2hhcnRzLXBvaW50IHtcbiAgc3Ryb2tlOiAjZmZmZmZmO1xufVxuXG4uaGlnaGNoYXJ0cy1jb2x1bW4tc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50IHtcbiAgdHJhbnNpdGlvbjogZmlsbC1vcGFjaXR5IDI1MG1zO1xufVxuXG4uaGlnaGNoYXJ0cy1jb2x1bW4tc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50LWhvdmVyIHtcbiAgZmlsbC1vcGFjaXR5OiAwLjc1O1xuICB0cmFuc2l0aW9uOiBmaWxsLW9wYWNpdHkgNTBtcztcbn1cblxuLmhpZ2hjaGFydHMtcGllLXNlcmllcyAuaGlnaGNoYXJ0cy1wb2ludCB7XG4gIHN0cm9rZS1saW5lam9pbjogcm91bmQ7XG4gIHN0cm9rZTogI2ZmZmZmZjtcbn1cblxuLmhpZ2hjaGFydHMtcGllLXNlcmllcyAuaGlnaGNoYXJ0cy1wb2ludC1ob3ZlciB7XG4gIGZpbGwtb3BhY2l0eTogMC43NTtcbiAgdHJhbnNpdGlvbjogZmlsbC1vcGFjaXR5IDUwbXM7XG59XG5cbi5oaWdoY2hhcnRzLWZ1bm5lbC1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQge1xuICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuICBzdHJva2U6ICNmZmZmZmY7XG59XG5cbi5oaWdoY2hhcnRzLWZ1bm5lbC1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQtaG92ZXIge1xuICBmaWxsLW9wYWNpdHk6IDAuNzU7XG4gIHRyYW5zaXRpb246IGZpbGwtb3BhY2l0eSA1MG1zO1xufVxuXG4uaGlnaGNoYXJ0cy1mdW5uZWwtc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50LXNlbGVjdCB7XG4gIGZpbGw6IGluaGVyaXQ7XG4gIHN0cm9rZTogaW5oZXJpdDtcbn1cblxuLmhpZ2hjaGFydHMtcHlyYW1pZC1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQge1xuICBzdHJva2UtbGluZWpvaW46IHJvdW5kO1xuICBzdHJva2U6ICNmZmZmZmY7XG59XG5cbi5oaWdoY2hhcnRzLXB5cmFtaWQtc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50LWhvdmVyIHtcbiAgZmlsbC1vcGFjaXR5OiAwLjc1O1xuICB0cmFuc2l0aW9uOiBmaWxsLW9wYWNpdHkgNTBtcztcbn1cblxuLmhpZ2hjaGFydHMtcHlyYW1pZC1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQtc2VsZWN0IHtcbiAgZmlsbDogaW5oZXJpdDtcbiAgc3Ryb2tlOiBpbmhlcml0O1xufVxuXG4uaGlnaGNoYXJ0cy1zb2xpZGdhdWdlLXNlcmllcyAuaGlnaGNoYXJ0cy1wb2ludCB7XG4gIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmhpZ2hjaGFydHMtdHJlZW1hcC1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQge1xuICBzdHJva2Utd2lkdGg6IDFweDtcbiAgc3Ryb2tlOiAjZTZlNmU2O1xuICB0cmFuc2l0aW9uOiBzdHJva2UgMjUwbXMsIGZpbGwgMjUwbXMsIGZpbGwtb3BhY2l0eSAyNTBtcztcbn1cblxuLmhpZ2hjaGFydHMtdHJlZW1hcC1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQtaG92ZXIge1xuICBzdHJva2U6ICM5OTk5OTk7XG4gIHRyYW5zaXRpb246IHN0cm9rZSAyNW1zLCBmaWxsIDI1bXMsIGZpbGwtb3BhY2l0eSAyNW1zO1xufVxuXG4uaGlnaGNoYXJ0cy10cmVlbWFwLXNlcmllcyAuaGlnaGNoYXJ0cy1hYm92ZS1sZXZlbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5oaWdoY2hhcnRzLXRyZWVtYXAtc2VyaWVzIC5oaWdoY2hhcnRzLWludGVybmFsLW5vZGUge1xuICBmaWxsOiBub25lO1xufVxuXG4uaGlnaGNoYXJ0cy10cmVlbWFwLXNlcmllcyAuaGlnaGNoYXJ0cy1pbnRlcm5hbC1ub2RlLWludGVyYWN0aXZlIHtcbiAgZmlsbC1vcGFjaXR5OiAwLjE1O1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5oaWdoY2hhcnRzLXRyZWVtYXAtc2VyaWVzIC5oaWdoY2hhcnRzLWludGVybmFsLW5vZGUtaW50ZXJhY3RpdmU6aG92ZXIge1xuICBmaWxsLW9wYWNpdHk6IDAuNzU7XG59XG5cbi5oaWdoY2hhcnRzLXZlY3Rvci1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6IDJweDtcbn1cblxuLmhpZ2hjaGFydHMtd2luZGJhcmItc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50IHtcbiAgZmlsbDogbm9uZTtcbiAgc3Ryb2tlLXdpZHRoOiAycHg7XG59XG5cbi5oaWdoY2hhcnRzLWxvbGxpcG9wLXN0ZW0ge1xuICBzdHJva2U6ICMwMDAwMDA7XG59XG5cbi5oaWdoY2hhcnRzLWZvY3VzLWJvcmRlciB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogMnB4O1xufVxuXG4uaGlnaGNoYXJ0cy1sZWdlbmQtaXRlbS1oaWRkZW4gLmhpZ2hjaGFydHMtZm9jdXMtYm9yZGVyIHtcbiAgZmlsbDogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKiBMZWdlbmQgKi9cbi5oaWdoY2hhcnRzLWxlZ2VuZC1ib3gge1xuICBmaWxsOiBub25lO1xuICBzdHJva2Utd2lkdGg6IDA7XG59XG5cbi5oaWdoY2hhcnRzLWxlZ2VuZC1pdGVtID4gdGV4dCB7XG4gIGZpbGw6ICMzMzMzMzM7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDFlbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBzdHJva2Utd2lkdGg6IDA7XG59XG5cbi5oaWdoY2hhcnRzLWxlZ2VuZC1pdGVtOmhvdmVyIHRleHQge1xuICBmaWxsOiAjMDAwMDAwO1xufVxuXG4uaGlnaGNoYXJ0cy1sZWdlbmQtaXRlbS1oaWRkZW4gKiB7XG4gIGZpbGw6ICNjY2NjY2MgIWltcG9ydGFudDtcbiAgc3Ryb2tlOiAjY2NjY2NjICFpbXBvcnRhbnQ7XG4gIHRyYW5zaXRpb246IGZpbGwgMjUwbXM7XG59XG5cbi5oaWdoY2hhcnRzLWxlZ2VuZC1uYXYtYWN0aXZlIHtcbiAgZmlsbDogIzAwMzM5OTtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGlnaGNoYXJ0cy1sZWdlbmQtbmF2LWluYWN0aXZlIHtcbiAgZmlsbDogI2NjY2NjYztcbn1cblxuY2lyY2xlLmhpZ2hjaGFydHMtbGVnZW5kLW5hdi1hY3RpdmUsIGNpcmNsZS5oaWdoY2hhcnRzLWxlZ2VuZC1uYXYtaW5hY3RpdmUge1xuICAvKiB0cmFja2VyICovXG4gIGZpbGw6IHJnYmEoMTkyLCAxOTIsIDE5MiwgMC4wMDAxKTtcbn1cblxuLmhpZ2hjaGFydHMtbGVnZW5kLXRpdGxlLWJveCB7XG4gIGZpbGw6IG5vbmU7XG4gIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLyogQnViYmxlIGxlZ2VuZCAqL1xuLmhpZ2hjaGFydHMtYnViYmxlLWxlZ2VuZC1zeW1ib2wge1xuICBzdHJva2Utd2lkdGg6IDI7XG4gIGZpbGwtb3BhY2l0eTogMC41O1xufVxuXG4uaGlnaGNoYXJ0cy1idWJibGUtbGVnZW5kLWNvbm5lY3RvcnMge1xuICBzdHJva2Utd2lkdGg6IDE7XG59XG5cbi5oaWdoY2hhcnRzLWJ1YmJsZS1sZWdlbmQtbGFiZWxzIHtcbiAgZmlsbDogIzMzMzMzMztcbn1cblxuLyogTG9hZGluZyAqL1xuLmhpZ2hjaGFydHMtbG9hZGluZyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgb3BhY2l0eTogMC41O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zO1xufVxuXG4uaGlnaGNoYXJ0cy1sb2FkaW5nLWhpZGRlbiB7XG4gIGhlaWdodDogMCAhaW1wb3J0YW50O1xuICBvcGFjaXR5OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDI1MG1zLCBoZWlnaHQgMjUwbXMgc3RlcC1lbmQ7XG59XG5cbi5oaWdoY2hhcnRzLWxvYWRpbmctaW5uZXIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDQ1JTtcbn1cblxuLyogUGxvdCBiYW5kcyBhbmQgcG9sYXIgcGFuZSBiYWNrZ3JvdW5kcyAqL1xuLmhpZ2hjaGFydHMtcGxvdC1iYW5kLCAuaGlnaGNoYXJ0cy1wYW5lIHtcbiAgZmlsbDogIzAwMDAwMDtcbiAgZmlsbC1vcGFjaXR5OiAwLjA1O1xufVxuXG4uaGlnaGNoYXJ0cy1wbG90LWxpbmUge1xuICBmaWxsOiBub25lO1xuICBzdHJva2U6ICM5OTk5OTk7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4vKiBIaWdoY2hhcnRzIE1vcmUgYW5kIG1vZHVsZXMgKi9cbi5oaWdoY2hhcnRzLWJveHBsb3QtYm94IHtcbiAgZmlsbDogI2ZmZmZmZjtcbn1cblxuLmhpZ2hjaGFydHMtYm94cGxvdC1tZWRpYW4ge1xuICBzdHJva2Utd2lkdGg6IDJweDtcbn1cblxuLmhpZ2hjaGFydHMtYnViYmxlLXNlcmllcyAuaGlnaGNoYXJ0cy1wb2ludCB7XG4gIGZpbGwtb3BhY2l0eTogMC41O1xufVxuXG4uaGlnaGNoYXJ0cy1lcnJvcmJhci1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQge1xuICBzdHJva2U6ICMwMDAwMDA7XG59XG5cbi5oaWdoY2hhcnRzLWdhdWdlLXNlcmllcyAuaGlnaGNoYXJ0cy1kYXRhLWxhYmVsLWJveCB7XG4gIHN0cm9rZTogI2NjY2NjYztcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5oaWdoY2hhcnRzLWdhdWdlLXNlcmllcyAuaGlnaGNoYXJ0cy1kaWFsIHtcbiAgZmlsbDogIzAwMDAwMDtcbiAgc3Ryb2tlLXdpZHRoOiAwO1xufVxuXG4uaGlnaGNoYXJ0cy1wb2x5Z29uLXNlcmllcyAuaGlnaGNoYXJ0cy1ncmFwaCB7XG4gIGZpbGw6IGluaGVyaXQ7XG4gIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmhpZ2hjaGFydHMtd2F0ZXJmYWxsLXNlcmllcyAuaGlnaGNoYXJ0cy1ncmFwaCB7XG4gIHN0cm9rZTogIzMzMzMzMztcbiAgc3Ryb2tlLWRhc2hhcnJheTogMSwgMztcbn1cblxuLmhpZ2hjaGFydHMtc2Fua2V5LXNlcmllcyAuaGlnaGNoYXJ0cy1wb2ludCB7XG4gIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmhpZ2hjaGFydHMtc2Fua2V5LXNlcmllcyAuaGlnaGNoYXJ0cy1saW5rIHtcbiAgdHJhbnNpdGlvbjogZmlsbCAyNTBtcywgZmlsbC1vcGFjaXR5IDI1MG1zO1xuICBmaWxsLW9wYWNpdHk6IDAuNTtcbn1cblxuLmhpZ2hjaGFydHMtc2Fua2V5LXNlcmllcyAuaGlnaGNoYXJ0cy1wb2ludC1ob3Zlci5oaWdoY2hhcnRzLWxpbmsge1xuICB0cmFuc2l0aW9uOiBmaWxsIDUwbXMsIGZpbGwtb3BhY2l0eSA1MG1zO1xuICBmaWxsLW9wYWNpdHk6IDE7XG59XG5cbi5oaWdoY2hhcnRzLXZlbm4tc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50IHtcbiAgZmlsbC1vcGFjaXR5OiAwLjc1O1xuICBzdHJva2U6ICNjY2NjY2M7XG4gIHRyYW5zaXRpb246IHN0cm9rZSAyNTBtcywgZmlsbC1vcGFjaXR5IDI1MG1zO1xufVxuXG4uaGlnaGNoYXJ0cy12ZW5uLXNlcmllcyAuaGlnaGNoYXJ0cy1wb2ludC1ob3ZlciB7XG4gIGZpbGwtb3BhY2l0eTogMTtcbiAgc3Ryb2tlOiAjY2NjY2NjO1xufVxuXG4vKiBIaWdoc3RvY2sgKi9cbi5oaWdoY2hhcnRzLW5hdmlnYXRvci1tYXNrLW91dHNpZGUge1xuICBmaWxsLW9wYWNpdHk6IDA7XG59XG5cbi5oaWdoY2hhcnRzLW5hdmlnYXRvci1tYXNrLWluc2lkZSB7XG4gIGZpbGw6ICM2Njg1YzI7XG4gIC8qIG5hdmlnYXRvci5tYXNrRmlsbCBvcHRpb24gKi9cbiAgZmlsbC1vcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IGV3LXJlc2l6ZTtcbn1cblxuLmhpZ2hjaGFydHMtbmF2aWdhdG9yLW91dGxpbmUge1xuICBzdHJva2U6ICNjY2NjY2M7XG4gIGZpbGw6IG5vbmU7XG59XG5cbi5oaWdoY2hhcnRzLW5hdmlnYXRvci1oYW5kbGUge1xuICBzdHJva2U6ICNjY2NjY2M7XG4gIGZpbGw6ICNmMmYyZjI7XG4gIGN1cnNvcjogZXctcmVzaXplO1xufVxuXG4uaGlnaGNoYXJ0cy1uYXZpZ2F0b3Itc2VyaWVzIHtcbiAgZmlsbDogIzMzNWNhZDtcbiAgc3Ryb2tlOiAjMzM1Y2FkO1xufVxuXG4uaGlnaGNoYXJ0cy1uYXZpZ2F0b3Itc2VyaWVzIC5oaWdoY2hhcnRzLWdyYXBoIHtcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5oaWdoY2hhcnRzLW5hdmlnYXRvci1zZXJpZXMgLmhpZ2hjaGFydHMtYXJlYSB7XG4gIGZpbGwtb3BhY2l0eTogMC4wNTtcbn1cblxuLmhpZ2hjaGFydHMtbmF2aWdhdG9yLXhheGlzIC5oaWdoY2hhcnRzLWF4aXMtbGluZSB7XG4gIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmhpZ2hjaGFydHMtbmF2aWdhdG9yLXhheGlzIC5oaWdoY2hhcnRzLWdyaWQtbGluZSB7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICBzdHJva2U6ICNlNmU2ZTY7XG59XG5cbi5oaWdoY2hhcnRzLW5hdmlnYXRvci14YXhpcy5oaWdoY2hhcnRzLWF4aXMtbGFiZWxzIHtcbiAgZmlsbDogIzk5OTk5OTtcbn1cblxuLmhpZ2hjaGFydHMtbmF2aWdhdG9yLXlheGlzIC5oaWdoY2hhcnRzLWdyaWQtbGluZSB7XG4gIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmhpZ2hjaGFydHMtc2Nyb2xsYmFyLXRodW1iIHtcbiAgZmlsbDogI2NjY2NjYztcbiAgc3Ryb2tlOiAjY2NjY2NjO1xuICBzdHJva2Utd2lkdGg6IDFweDtcbn1cblxuLmhpZ2hjaGFydHMtc2Nyb2xsYmFyLWJ1dHRvbiB7XG4gIGZpbGw6ICNlNmU2ZTY7XG4gIHN0cm9rZTogI2NjY2NjYztcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG59XG5cbi5oaWdoY2hhcnRzLXNjcm9sbGJhci1hcnJvdyB7XG4gIGZpbGw6ICM2NjY2NjY7XG59XG5cbi5oaWdoY2hhcnRzLXNjcm9sbGJhci1yaWZsZXMge1xuICBzdHJva2U6ICM2NjY2NjY7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4uaGlnaGNoYXJ0cy1zY3JvbGxiYXItdHJhY2sge1xuICBmaWxsOiAjZjJmMmYyO1xuICBzdHJva2U6ICNmMmYyZjI7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4uaGlnaGNoYXJ0cy1idXR0b24ge1xuICBmaWxsOiAjZjdmN2Y3O1xuICBzdHJva2U6ICNjY2NjY2M7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gIHRyYW5zaXRpb246IGZpbGwgMjUwbXM7XG59XG5cbi5oaWdoY2hhcnRzLWJ1dHRvbiB0ZXh0IHtcbiAgZmlsbDogIzMzMzMzMztcbn1cblxuLmhpZ2hjaGFydHMtYnV0dG9uLWhvdmVyIHtcbiAgdHJhbnNpdGlvbjogZmlsbCAwbXM7XG4gIGZpbGw6ICNlNmU2ZTY7XG4gIHN0cm9rZTogI2NjY2NjYztcbn1cblxuLmhpZ2hjaGFydHMtYnV0dG9uLWhvdmVyIHRleHQge1xuICBmaWxsOiAjMzMzMzMzO1xufVxuXG4uaGlnaGNoYXJ0cy1idXR0b24tcHJlc3NlZCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmaWxsOiAjZTZlYmY1O1xuICBzdHJva2U6ICNjY2NjY2M7XG59XG5cbi5oaWdoY2hhcnRzLWJ1dHRvbi1wcmVzc2VkIHRleHQge1xuICBmaWxsOiAjMzMzMzMzO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmhpZ2hjaGFydHMtYnV0dG9uLWRpc2FibGVkIHRleHQge1xuICBmaWxsOiAjMzMzMzMzO1xufVxuXG4uaGlnaGNoYXJ0cy1yYW5nZS1zZWxlY3Rvci1idXR0b25zIC5oaWdoY2hhcnRzLWJ1dHRvbiB7XG4gIHN0cm9rZS13aWR0aDogMHB4O1xufVxuXG4uaGlnaGNoYXJ0cy1yYW5nZS1sYWJlbCByZWN0IHtcbiAgZmlsbDogbm9uZTtcbn1cblxuLmhpZ2hjaGFydHMtcmFuZ2UtbGFiZWwgdGV4dCB7XG4gIGZpbGw6ICM2NjY2NjY7XG59XG5cbi5oaWdoY2hhcnRzLXJhbmdlLWlucHV0IHJlY3Qge1xuICBmaWxsOiBub25lO1xufVxuXG4uaGlnaGNoYXJ0cy1yYW5nZS1pbnB1dCB0ZXh0IHtcbiAgZmlsbDogIzMzMzMzMztcbn1cblxuLmhpZ2hjaGFydHMtcmFuZ2UtaW5wdXQge1xuICBzdHJva2Utd2lkdGg6IDFweDtcbiAgc3Ryb2tlOiAjY2NjY2NjO1xufVxuXG5pbnB1dC5oaWdoY2hhcnRzLXJhbmdlLXNlbGVjdG9yIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIC8qIENocm9tZSBuZWVkcyBhIHBpeGVsIHRvIHNlZSBpdCAqL1xuICBoZWlnaHQ6IDFweDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsZWZ0OiAtOWVtO1xuICAvKiAjNDc5OCAqL1xufVxuXG4uaGlnaGNoYXJ0cy1jcm9zc2hhaXItbGFiZWwgdGV4dCB7XG4gIGZpbGw6ICNmZmZmZmY7XG4gIGZvbnQtc2l6ZTogMS4xZW07XG59XG5cbi5oaWdoY2hhcnRzLWNyb3NzaGFpci1sYWJlbCAuaGlnaGNoYXJ0cy1sYWJlbC1ib3gge1xuICBmaWxsOiBpbmhlcml0O1xufVxuXG4uaGlnaGNoYXJ0cy1jYW5kbGVzdGljay1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQge1xuICBzdHJva2U6ICMwMDAwMDA7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xufVxuXG4uaGlnaGNoYXJ0cy1jYW5kbGVzdGljay1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQtdXAge1xuICBmaWxsOiAjZmZmZmZmO1xufVxuXG4uaGlnaGNoYXJ0cy1ob2xsb3djYW5kbGVzdGljay1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQtZG93biB7XG4gIGZpbGw6ICNmMjEzMTM7XG4gIHN0cm9rZTogI2YyMTMxMztcbn1cblxuLmhpZ2hjaGFydHMtaG9sbG93Y2FuZGxlc3RpY2stc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50LWRvd24tYmVhcmlzaC11cCB7XG4gIGZpbGw6ICMwNmI1MzU7XG4gIHN0cm9rZTogIzA2YjUzNTtcbn1cblxuLmhpZ2hjaGFydHMtaG9sbG93Y2FuZGxlc3RpY2stc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50LXVwIHtcbiAgZmlsbDogdHJhbnNwYXJlbnQ7XG4gIHN0cm9rZTogIzA2YjUzNTtcbn1cblxuLmhpZ2hjaGFydHMtb2hsYy1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQtaG92ZXIge1xuICBzdHJva2Utd2lkdGg6IDNweDtcbn1cblxuLmhpZ2hjaGFydHMtZmxhZ3Mtc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50IC5oaWdoY2hhcnRzLWxhYmVsLWJveCB7XG4gIHN0cm9rZTogIzk5OTk5OTtcbiAgZmlsbDogI2ZmZmZmZjtcbiAgdHJhbnNpdGlvbjogZmlsbCAyNTBtcztcbn1cblxuLmhpZ2hjaGFydHMtZmxhZ3Mtc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50LWhvdmVyIC5oaWdoY2hhcnRzLWxhYmVsLWJveCB7XG4gIHN0cm9rZTogIzAwMDAwMDtcbiAgZmlsbDogI2NjZDZlYjtcbn1cblxuLmhpZ2hjaGFydHMtZmxhZ3Mtc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50IHRleHQge1xuICBmaWxsOiAjMDAwMDAwO1xuICBmb250LXNpemU6IDAuOWVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogSGlnaG1hcHMgKi9cbi5oaWdoY2hhcnRzLW1hcC1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQge1xuICB0cmFuc2l0aW9uOiBmaWxsIDUwMG1zLCBmaWxsLW9wYWNpdHkgNTAwbXMsIHN0cm9rZS13aWR0aCAyNTBtcztcbiAgc3Ryb2tlOiAjY2NjY2NjO1xufVxuXG4uaGlnaGNoYXJ0cy1tYXAtc2VyaWVzIC5oaWdoY2hhcnRzLXBvaW50LWhvdmVyIHtcbiAgdHJhbnNpdGlvbjogZmlsbCAwbXMsIGZpbGwtb3BhY2l0eSAwbXM7XG4gIGZpbGwtb3BhY2l0eTogMC41O1xuICBzdHJva2Utd2lkdGg6IDJweDtcbn1cblxuLmhpZ2hjaGFydHMtbWFwbGluZS1zZXJpZXMgLmhpZ2hjaGFydHMtcG9pbnQge1xuICBmaWxsOiBub25lO1xufVxuXG4uaGlnaGNoYXJ0cy1oZWF0bWFwLXNlcmllcyAuaGlnaGNoYXJ0cy1wb2ludCB7XG4gIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLmhpZ2hjaGFydHMtbWFwLW5hdmlnYXRpb24ge1xuICBmb250LXNpemU6IDEuM2VtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaGlnaGNoYXJ0cy1jb2xvcmF4aXMge1xuICBzdHJva2Utd2lkdGg6IDA7XG59XG5cbi5oaWdoY2hhcnRzLWNvbG9yYXhpcy1tYXJrZXIge1xuICBmaWxsOiAjOTk5OTk5O1xufVxuXG4uaGlnaGNoYXJ0cy1udWxsLXBvaW50IHtcbiAgZmlsbDogI2Y3ZjdmNztcbn1cblxuLyogM2QgY2hhcnRzICovXG4uaGlnaGNoYXJ0cy0zZC1mcmFtZSB7XG4gIGZpbGw6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBFeHBvcnRpbmcgbW9kdWxlICovXG4uaGlnaGNoYXJ0cy1jb250ZXh0YnV0dG9uIHtcbiAgZmlsbDogI2ZmZmZmZjtcbiAgLyogbmVlZGVkIHRvIGNhcHR1cmUgaG92ZXIgKi9cbiAgc3Ryb2tlOiBub25lO1xuICBzdHJva2UtbGluZWNhcDogcm91bmQ7XG59XG5cbi5oaWdoY2hhcnRzLWNvbnRleHRidXR0b246aG92ZXIge1xuICBmaWxsOiAjZTZlNmU2O1xuICBzdHJva2U6ICNlNmU2ZTY7XG59XG5cbi5oaWdoY2hhcnRzLWJ1dHRvbi1zeW1ib2wge1xuICBzdHJva2U6ICM2NjY2NjY7XG4gIHN0cm9rZS13aWR0aDogM3B4O1xufVxuXG4uaGlnaGNoYXJ0cy1tZW51IHtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTk5OTtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgcGFkZGluZzogNXB4IDA7XG4gIGJveC1zaGFkb3c6IDNweCAzcHggMTBweCAjODg4O1xufVxuXG4uaGlnaGNoYXJ0cy1tZW51LWl0ZW0ge1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNvbG9yOiAjMzMzMzMzO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMjUwbXMsIGNvbG9yIDI1MG1zO1xufVxuXG4uaGlnaGNoYXJ0cy1tZW51LWl0ZW06aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMzM1Y2FkO1xuICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLyogRHJpbGxkb3duIG1vZHVsZSAqL1xuLmhpZ2hjaGFydHMtZHJpbGxkb3duLXBvaW50IHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uaGlnaGNoYXJ0cy1kcmlsbGRvd24tZGF0YS1sYWJlbCB0ZXh0LFxudGV4dC5oaWdoY2hhcnRzLWRyaWxsZG93bi1kYXRhLWxhYmVsLFxuLmhpZ2hjaGFydHMtZHJpbGxkb3duLWF4aXMtbGFiZWwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZpbGw6ICMwMDMzOTk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLyogTm8tZGF0YSBtb2R1bGUgKi9cbi5oaWdoY2hhcnRzLW5vLWRhdGEgdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZpbGw6ICM2NjY2NjY7XG59XG5cbi8qIERyYWctcGFuZXMgbW9kdWxlICovXG4uaGlnaGNoYXJ0cy1heGlzLXJlc2l6ZXIge1xuICBjdXJzb3I6IG5zLXJlc2l6ZTtcbiAgc3Ryb2tlOiBibGFjaztcbiAgc3Ryb2tlLXdpZHRoOiAycHg7XG59XG5cbi8qIEJ1bGxldCB0eXBlIHNlcmllcyAqL1xuLmhpZ2hjaGFydHMtYnVsbGV0LXRhcmdldCB7XG4gIHN0cm9rZS13aWR0aDogMDtcbn1cblxuLyogTGluZWFyZ2F1Z2UgdHlwZSBzZXJpZXMgKi9cbi5oaWdoY2hhcnRzLWxpbmVhcmdhdWdlLXRhcmdldCB7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICBzdHJva2U6ICMzMzMzMzM7XG59XG5cbi5oaWdoY2hhcnRzLWxpbmVhcmdhdWdlLXRhcmdldC1saW5lIHtcbiAgc3Ryb2tlLXdpZHRoOiAxcHg7XG4gIHN0cm9rZTogIzMzMzMzMztcbn1cblxuLyogQW5ub3RhdGlvbnMgbW9kdWxlICovXG4uaGlnaGNoYXJ0cy1hbm5vdGF0aW9uLWxhYmVsLWJveCB7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xuICBzdHJva2U6ICMwMDAwMDA7XG4gIGZpbGw6ICMwMDAwMDA7XG4gIGZpbGwtb3BhY2l0eTogMC43NTtcbn1cblxuLmhpZ2hjaGFydHMtYW5ub3RhdGlvbi1sYWJlbCB0ZXh0IHtcbiAgZmlsbDogI2U2ZTZlNjtcbn1cblxuLyogQTExeSBtb2R1bGUgKi9cbi5oaWdoY2hhcnRzLWExMXktcHJveHktYnV0dG9uIHtcbiAgYm9yZGVyLXdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBvcGFjaXR5OiAwLjAwMTtcbiAgei1pbmRleDogOTk5O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5oaWdoY2hhcnRzLWExMXktcHJveHktZ3JvdXAgbGkge1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uaGlnaGNoYXJ0cy12aXN1YWxseS1oaWRkZW4ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG4gIG1hcmdpbi10b3A6IC0zcHg7XG4gIG9wYWNpdHk6IDAuMDE7XG59XG5cbi5oaWdoY2hhcnRzLWExMXktaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uaGlnaGNoYXJ0cy1hMTF5LXByb3h5LWNvbnRhaW5lcixcbi5oaWdoY2hhcnRzLWExMXktcHJveHktY29udGFpbmVyLWJlZm9yZSxcbi5oaWdoY2hhcnRzLWExMXktcHJveHktY29udGFpbmVyLWFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG5nLmhpZ2hjaGFydHMtc2VyaWVzLCAuaGlnaGNoYXJ0cy1tYXJrZXJzLCAuaGlnaGNoYXJ0cy1wb2ludCB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbi8qIEdhbnR0ICovXG4uaGlnaGNoYXJ0cy10cmVlZ3JpZC1ub2RlLWNvbGxhcHNlZCwgLmhpZ2hjaGFydHMtdHJlZWdyaWQtbm9kZS1leHBhbmRlZCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmhpZ2hjaGFydHMtcG9pbnQtY29ubmVjdGluZy1wYXRoIHtcbiAgZmlsbDogbm9uZTtcbn1cblxuLmhpZ2hjaGFydHMtZ3JpZC1heGlzIC5oaWdoY2hhcnRzLXRpY2sge1xuICBzdHJva2Utd2lkdGg6IDFweDtcbn1cblxuLmhpZ2hjaGFydHMtZ3JpZC1heGlzIC5oaWdoY2hhcnRzLWF4aXMtbGluZSB7XG4gIHN0cm9rZS13aWR0aDogMXB4O1xufScsIiJdKX0sIjlhYTkiOmZ1bmN0aW9uKHQsZSl7ZS5mPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHN9LCI5YjQzIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZDhlOCIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsaSl7aWYobih0KSx2b2lkIDA9PT1lKXJldHVybiB0O3N3aXRjaChpKXtjYXNlIDE6cmV0dXJuIGZ1bmN0aW9uKGkpe3JldHVybiB0LmNhbGwoZSxpKX07Y2FzZSAyOnJldHVybiBmdW5jdGlvbihpLG4pe3JldHVybiB0LmNhbGwoZSxpLG4pfTtjYXNlIDM6cmV0dXJuIGZ1bmN0aW9uKGksbixyKXtyZXR1cm4gdC5jYWxsKGUsaSxuLHIpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLGFyZ3VtZW50cyl9fX0sIjliOTAiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI1YmZkIik7InN0cmluZyI9PT10eXBlb2YgbiYmKG49W1t0LmksbiwiIl1dKSxuLmxvY2FscyYmKHQuZXhwb3J0cz1uLmxvY2Fscyk7dmFyIHI9aSgiNDk5ZSIpLmRlZmF1bHQ7cigiNTU5ODcyYmMiLG4sITAse3NvdXJjZU1hcDohMSxzaGFkb3dNb2RlOiExfSl9LCI5YzZjIjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiMmI0YyIpKCJ1bnNjb3BhYmxlcyIpLHI9QXJyYXkucHJvdG90eXBlO3ZvaWQgMD09cltuXSYmaSgiMzJlOSIpKHIsbix7fSksdC5leHBvcnRzPWZ1bmN0aW9uKHQpe3Jbbl1bdF09ITB9fSwiOWQzYyI6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0IjsoZnVuY3Rpb24oZSl7dmFyIG49ZS5TeW1ib2wscj1pKCJkNmRhIik7dC5leHBvcnRzPWZ1bmN0aW9uKCl7cmV0dXJuImZ1bmN0aW9uIj09PXR5cGVvZiBuJiYoImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJigic3ltYm9sIj09PXR5cGVvZiBuKCJmb28iKSYmKCJzeW1ib2wiPT09dHlwZW9mIFN5bWJvbCgiYmFyIikmJnIoKSkpKX19KS5jYWxsKHRoaXMsaSgiYzhiYSIpKX0sIjlkZWYiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI0NTg4Iikscj1NYXRoLm1pbjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQ+MD9yKG4odCksOTAwNzE5OTI1NDc0MDk5MSk6MH19LCI5ZTFlIjpmdW5jdGlvbih0LGUsaSl7dC5leHBvcnRzPSFpKCI3OWU1IikoKGZ1bmN0aW9uKCl7cmV0dXJuIDchPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh7fSwiYSIse2dldDpmdW5jdGlvbigpe3JldHVybiA3fX0pLmF9KSl9LGEwZDM6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCIwZjdjIik7dC5leHBvcnRzPW4uY2FsbChGdW5jdGlvbi5jYWxsLE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpfSxhMTU5OmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCJlNGFlIikscj1pKCI3ZTkwIiksbz1pKCIxNjkxIiksYT1pKCI1NTU5IikoIklFX1BST1RPIikscz1mdW5jdGlvbigpe30sYz0icHJvdG90eXBlIixoPWZ1bmN0aW9uKCl7dmFyIHQsZT1pKCIxZWM5IikoImlmcmFtZSIpLG49by5sZW5ndGgscj0iPCIsYT0iPiI7ZS5zdHlsZS5kaXNwbGF5PSJub25lIixpKCIzMmZjIikuYXBwZW5kQ2hpbGQoZSksZS5zcmM9ImphdmFzY3JpcHQ6Iix0PWUuY29udGVudFdpbmRvdy5kb2N1bWVudCx0Lm9wZW4oKSx0LndyaXRlKHIrInNjcmlwdCIrYSsiZG9jdW1lbnQuRj1PYmplY3QiK3IrIi9zY3JpcHQiK2EpLHQuY2xvc2UoKSxoPXQuRjt3aGlsZShuLS0pZGVsZXRlIGhbY11bb1tuXV07cmV0dXJuIGgoKX07dC5leHBvcnRzPU9iamVjdC5jcmVhdGV8fGZ1bmN0aW9uKHQsZSl7dmFyIGk7cmV0dXJuIG51bGwhPT10PyhzW2NdPW4odCksaT1uZXcgcyxzW2NdPW51bGwsaVthXT10KTppPWgoKSx2b2lkIDA9PT1lP2k6cihpLGUpfX0sYTIyYTpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZDg2NCIpLHI9aSgiYjBkYyIpLG89aSgiMzcwMiIpLGE9aSgiZTRhZSIpLHM9aSgiYjQ0NyIpLGM9aSgiN2NkNiIpLGg9e30sbD17fTtlPXQuZXhwb3J0cz1mdW5jdGlvbih0LGUsaSxwLGQpe3ZhciB1LGYsbSxnLHY9ZD9mdW5jdGlvbigpe3JldHVybiB0fTpjKHQpLHk9bihpLHAsZT8yOjEpLF89MDtpZigiZnVuY3Rpb24iIT10eXBlb2Ygdil0aHJvdyBUeXBlRXJyb3IodCsiIGlzIG5vdCBpdGVyYWJsZSEiKTtpZihvKHYpKXtmb3IodT1zKHQubGVuZ3RoKTt1Pl87XysrKWlmKGc9ZT95KGEoZj10W19dKVswXSxmWzFdKTp5KHRbX10pLGc9PT1ofHxnPT09bClyZXR1cm4gZ31lbHNlIGZvcihtPXYuY2FsbCh0KTshKGY9bS5uZXh0KCkpLmRvbmU7KWlmKGc9cihtLHksZi52YWx1ZSxlKSxnPT09aHx8Zz09PWwpcmV0dXJuIGd9O2UuQlJFQUs9aCxlLlJFVFVSTj1sfSxhMzA2OmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiJDbGFzaWZpY2FjacOzbiBkZSBjYXBpdGFsaXphY2nDs24gZGUgbWVyY2FkbyIsIm1jYXAiOiJDYXAuIGRlIG1lcmNhZG8iLCIyNGhfdm9sdW1lIjoiMjRIIFZvbHVtZW4iLCIyNGhfaGlnaF9sb3ciOiJNw6F4aW1vL23DrW5pbW8gZW4gMjTCoGgifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IkNvbXBhcmFjacOzbiBkZSBwcmVjaW9zIGRlIGNyaXB0b21vbmVkYXMiLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoiQ29tcGFyYWNpw7NuIGRlIGxhIGNhcGl0YWxpemFjacOzbiBkZWwgbWVyY2FkbyBkZSBjcmlwdG9tb25lZGFzIn0sImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiJNw6F4aW1vIGVuIDI0IGgiLCIyNGhfbG93IjoiTcOtbmltbyBlbiAyNCBoIiwidmlld19wcmljZV9jaGFydCI6IlZlciBncsOhZmljbyBkZSBwcmVjaW9zIGRlICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9saXN0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IkNvbiB0ZWNub2xvZ8OtYSBkZSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6Ik3DoXhpbW8gZW4gMjQgaCIsIjI0aF9sb3ciOiJNw61uaW1vIGVuIDI0IGgiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiVmVyIGdyw6FmaWNvIGRlIHByZWNpb3MgZGUgJXtjb2lufSIsInBvd2VyZWRfYnkiOiJDb24gdGVjbm9sb2fDrWEgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6IlZlciBncsOhZmljbyBkZSBwcmVjaW9zIGRlICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6Ik1hcGEgZGUgw6FyYm9sIGRlIGNyaXB0b21vbmVkYXMiLCJzdWJ0aXRsZSI6IihQcmluY2lwYWxlcyAle3RvcH0gc2Vnw7puIGxhIGNhcGl0YWxpemFjacOzbiBkZSBtZXJjYWRvKSIsInBvd2VyZWRfYnkiOiJDb24gdGVjbm9sb2fDrWEgZGUgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsiZGlzY2xhaW1lciI6IkRlc2NhcmdvIGRlIHJlc3BvbnNhYmlsaWRhZDogZXN0YXMgaGVycmFtaWVudGFzIHRpZW5lbiBmaW5lcyBpbmZvcm1hdGl2b3MgeSBubyBjb25zdGl0dXllbiBhc2Vzb3JhbWllbnRvIGZpbmFuY2llcm8uIiwic3BpbiI6IkdpcmFyIiwiYXZhaWxhYmxlX2NvaW5zIjoiTW9uZWRhcyBkaXNwb25pYmxlcyJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkFjdHVhbGl6YWNpw7NuIGRlIHByZWNpbyBkZSBDb2luR2Vja28iLCJ0b3RhbF9tY2FwIjoiQ2FwIE0gdG90YWwiLCIyNGhfdm9sIjoiVm9sdW1lbiBlbiAyNMKgaCIsImRvbSI6IkRvbSJ9LCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXQiOnsiZXhjaGFuZ2UiOiJJbnRlcmNhbWJpb3MiLCJwYWlyIjoiUGFyIiwicHJpY2UiOiJQcmVjaW8iLCJ2b2x1bWUiOiJWb2x1bWVuIiwidHJ1c3Rfc2NvcmUiOiJQdW50dWFjacOzbiBkZSBjb25maWFuemEiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiVmVyIGdyw6FmaWNvIGRlIHByZWNpb3MiLCJwb3dlcmVkX2J5IjoiQ29uIHRlY25vbG9nw61hIGRlICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJ2aWV3X2FsbCI6IlZlciB0b2RvcyBsb3MgbWVyY2Fkb3MgZGUgJXtjb2lufSJ9fScpfSxhNDgxOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiY2I3YyIpLHI9aSgiNGJmOCIpLG89aSgiOWRlZiIpLGE9aSgiNDU4OCIpLHM9aSgiMDM5MCIpLGM9aSgiNWYxYiIpLGg9TWF0aC5tYXgsbD1NYXRoLm1pbixwPU1hdGguZmxvb3IsZD0vXCQoWyQmYCddfFxkXGQ/fDxbXj5dKj4pL2csdT0vXCQoWyQmYCddfFxkXGQ/KS9nLGY9ZnVuY3Rpb24odCl7cmV0dXJuIHZvaWQgMD09PXQ/dDpTdHJpbmcodCl9O2koIjIxNGYiKSgicmVwbGFjZSIsMiwoZnVuY3Rpb24odCxlLGksbSl7cmV0dXJuW2Z1bmN0aW9uKG4scil7dmFyIG89dCh0aGlzKSxhPXZvaWQgMD09bj92b2lkIDA6bltlXTtyZXR1cm4gdm9pZCAwIT09YT9hLmNhbGwobixvLHIpOmkuY2FsbChTdHJpbmcobyksbixyKX0sZnVuY3Rpb24odCxlKXt2YXIgcj1tKGksdCx0aGlzLGUpO2lmKHIuZG9uZSlyZXR1cm4gci52YWx1ZTt2YXIgcD1uKHQpLGQ9U3RyaW5nKHRoaXMpLHU9ImZ1bmN0aW9uIj09PXR5cGVvZiBlO3V8fChlPVN0cmluZyhlKSk7dmFyIHY9cC5nbG9iYWw7aWYodil7dmFyIHk9cC51bmljb2RlO3AubGFzdEluZGV4PTB9dmFyIF89W107d2hpbGUoMSl7dmFyIGI9YyhwLGQpO2lmKG51bGw9PT1iKWJyZWFrO2lmKF8ucHVzaChiKSwhdilicmVhazt2YXIgeD1TdHJpbmcoYlswXSk7IiI9PT14JiYocC5sYXN0SW5kZXg9cyhkLG8ocC5sYXN0SW5kZXgpLHkpKX1mb3IodmFyIHc9IiIsaz0wLEM9MDtDPF8ubGVuZ3RoO0MrKyl7Yj1fW0NdO2Zvcih2YXIgUz1TdHJpbmcoYlswXSksQT1oKGwoYShiLmluZGV4KSxkLmxlbmd0aCksMCksTT1bXSxQPTE7UDxiLmxlbmd0aDtQKyspTS5wdXNoKGYoYltQXSkpO3ZhciBPPWIuZ3JvdXBzO2lmKHUpe3ZhciBUPVtTXS5jb25jYXQoTSxBLGQpO3ZvaWQgMCE9PU8mJlQucHVzaChPKTt2YXIgRT1TdHJpbmcoZS5hcHBseSh2b2lkIDAsVCkpfWVsc2UgRT1nKFMsZCxBLE0sTyxlKTtBPj1rJiYodys9ZC5zbGljZShrLEEpK0Usaz1BK1MubGVuZ3RoKX1yZXR1cm4gdytkLnNsaWNlKGspfV07ZnVuY3Rpb24gZyh0LGUsbixvLGEscyl7dmFyIGM9bit0Lmxlbmd0aCxoPW8ubGVuZ3RoLGw9dTtyZXR1cm4gdm9pZCAwIT09YSYmKGE9cihhKSxsPWQpLGkuY2FsbChzLGwsKGZ1bmN0aW9uKGkscil7dmFyIHM7c3dpdGNoKHIuY2hhckF0KDApKXtjYXNlIiQiOnJldHVybiIkIjtjYXNlIiYiOnJldHVybiB0O2Nhc2UiYCI6cmV0dXJuIGUuc2xpY2UoMCxuKTtjYXNlIiciOnJldHVybiBlLnNsaWNlKGMpO2Nhc2UiPCI6cz1hW3Iuc2xpY2UoMSwtMSldO2JyZWFrO2RlZmF1bHQ6dmFyIGw9K3I7aWYoMD09PWwpcmV0dXJuIGk7aWYobD5oKXt2YXIgZD1wKGwvMTApO3JldHVybiAwPT09ZD9pOmQ8PWg/dm9pZCAwPT09b1tkLTFdP3IuY2hhckF0KDEpOm9bZC0xXStyLmNoYXJBdCgxKTppfXM9b1tsLTFdfXJldHVybiB2b2lkIDA9PT1zPyIiOnN9KSl9fSkpfSxhNjI1OmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiJSYW5nb3JkZSBtYXJrdGthcGl0YWxpc2F0aWUiLCJtY2FwIjoiTWFya3RrYXAuIiwiMjRoX3ZvbHVtZSI6IjI0VSB2b2x1bWUiLCIyNGhfaGlnaF9sb3ciOiIyNC11dXJzIGhvb2cvbGFhZyJ9LCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJNb2dlbGlqayBnZW1hYWt0IGRvb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsImNyeXB0b19wcmljZV9jb21wYXJpc29uIjoiVmVyZ2VsaWpraW5nIHZhbiBjcnlwdG9wcmlqemVuIiwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvbiI6IlZlcmdlbGlqa2luZyB2YW4gY3J5cHRvbWFya3RrYXBpdGFsaXNhdGllcyJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6Ik1vZ2VsaWprIGdlbWFha3QgZG9vciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjRVIGhvb2ciLCIyNGhfbG93IjoiMjRVIGxhYWciLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiS29lcnNncmFmaWVrIHZhbiAle2NvaW59IGJla2lqa2VuIiwicG93ZXJlZF9ieSI6Ik1vZ2VsaWprIGdlbWFha3QgZG9vciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6Ik1vZ2VsaWprIGdlbWFha3QgZG9vciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6Ik1vZ2VsaWprIGdlbWFha3QgZG9vciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImJlYW1fd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJNb2dlbGlqayBnZW1hYWt0IGRvb3IgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNFUgaG9vZyIsIjI0aF9sb3ciOiIyNFUgbGFhZyIsInZpZXdfcHJpY2VfY2hhcnQiOiJLb2Vyc2dyYWZpZWsgdmFuICV7Y29pbn0gYmVraWprZW4iLCJwb3dlcmVkX2J5IjoiTW9nZWxpamsgZ2VtYWFrdCBkb29yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiJLb2Vyc2dyYWZpZWsgdmFuICV7Y29pbn0gYmVraWprZW4iLCJwb3dlcmVkX2J5IjoiTW9nZWxpamsgZ2VtYWFrdCBkb29yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6IkJvb21rYWFydCBjcnlwdG9jdXJyZW5jeVwncyIsInN1YnRpdGxlIjoiKFRvcCAle3RvcH0gbXVudGVuIG9wIG1hcmt0a2FwaXRhbGlzYXRpZSkiLCJwb3dlcmVkX2J5IjoiTW9nZWxpamsgZ2VtYWFrdCBkb29yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiJEaXNjbGFpbWVyOiBEZXplIHRvb2xzIHppam4gYmVkb2VsZCBhbHMgZW50ZXJ0YWlubWVudCBlbiB2b3JtZW4gZ2VlbiBmaW5hbmNpZWVsIGFkdmllcy4iLCJzcGluIjoiRHJhYWllbiIsImF2YWlsYWJsZV9jb2lucyI6IkJlc2NoaWtiYXJlIG11bnRlbiJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkNvaW5HZWNrbyBwcmlqc3VwZGF0ZSIsInRvdGFsX21jYXAiOiJUb3RhbGUgbWFya3RrYXBpdGFsaXNhdGllIiwiMjRoX3ZvbCI6IjI0aCBWb2x1bWUiLCJkb20iOiJEb21pbmFudGllIn0sImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldCI6eyJleGNoYW5nZSI6IkJldXJzIiwicGFpciI6IlBhYXIiLCJwcmljZSI6IlByaWpzIiwidm9sdW1lIjoiVm9sdW1lIiwidHJ1c3Rfc2NvcmUiOiJUcnVzdCBTY29yZSIsInZpZXdfcHJpY2VfY2hhcnQiOiJLb2Vyc2dyYWZpZWsgYmVraWprZW4iLCJwb3dlcmVkX2J5IjoiTW9nZWxpamsgZ2VtYWFrdCBkb29yICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJ2aWV3X2FsbCI6IkJla2lqayBhbGxlICV7Y29pbn0tbWFya3RlbiJ9fScpfSxhYTc3OmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI1Y2ExIikscj1pKCJiZTEzIiksbz1pKCI3OWU1IiksYT1pKCJmZGVmIikscz0iWyIrYSsiXSIsYz0i4oCLwoUiLGg9UmVnRXhwKCJeIitzK3MrIioiKSxsPVJlZ0V4cChzK3MrIiokIikscD1mdW5jdGlvbih0LGUsaSl7dmFyIHI9e30scz1vKChmdW5jdGlvbigpe3JldHVybiEhYVt0XSgpfHxjW3RdKCkhPWN9KSksaD1yW3RdPXM/ZShkKTphW3RdO2kmJihyW2ldPWgpLG4obi5QK24uRipzLCJTdHJpbmciLHIpfSxkPXAudHJpbT1mdW5jdGlvbih0LGUpe3JldHVybiB0PVN0cmluZyhyKHQpKSwxJmUmJih0PXQucmVwbGFjZShoLCIiKSksMiZlJiYodD10LnJlcGxhY2UobCwiIikpLHR9O3QuZXhwb3J0cz1wfSxhYWUzOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCJkM2Y0Iikscj1pKCIyZDk1Iiksbz1pKCIyYjRjIikoIm1hdGNoIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiBuKHQpJiYodm9pZCAwIT09KGU9dFtvXSk/ISFlOiJSZWdFeHAiPT1yKHQpKX19LGFiYTI6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImU1M2QiKSxyPWkoIjQxNzgiKS5zZXQsbz1uLk11dGF0aW9uT2JzZXJ2ZXJ8fG4uV2ViS2l0TXV0YXRpb25PYnNlcnZlcixhPW4ucHJvY2VzcyxzPW4uUHJvbWlzZSxjPSJwcm9jZXNzIj09aSgiNmI0YyIpKGEpO3QuZXhwb3J0cz1mdW5jdGlvbigpe3ZhciB0LGUsaSxoPWZ1bmN0aW9uKCl7dmFyIG4scjtjJiYobj1hLmRvbWFpbikmJm4uZXhpdCgpO3doaWxlKHQpe3I9dC5mbix0PXQubmV4dDt0cnl7cigpfWNhdGNoKG8pe3Rocm93IHQ/aSgpOmU9dm9pZCAwLG99fWU9dm9pZCAwLG4mJm4uZW50ZXIoKX07aWYoYylpPWZ1bmN0aW9uKCl7YS5uZXh0VGljayhoKX07ZWxzZSBpZighb3x8bi5uYXZpZ2F0b3ImJm4ubmF2aWdhdG9yLnN0YW5kYWxvbmUpaWYocyYmcy5yZXNvbHZlKXt2YXIgbD1zLnJlc29sdmUodm9pZCAwKTtpPWZ1bmN0aW9uKCl7bC50aGVuKGgpfX1lbHNlIGk9ZnVuY3Rpb24oKXtyLmNhbGwobixoKX07ZWxzZXt2YXIgcD0hMCxkPWRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIiKTtuZXcgbyhoKS5vYnNlcnZlKGQse2NoYXJhY3RlckRhdGE6ITB9KSxpPWZ1bmN0aW9uKCl7ZC5kYXRhPXA9IXB9fXJldHVybiBmdW5jdGlvbihuKXt2YXIgcj17Zm46bixuZXh0OnZvaWQgMH07ZSYmKGUubmV4dD1yKSx0fHwodD1yLGkoKSksZT1yfX19LGFjNGQ6ZnVuY3Rpb24odCxlLGkpe2koIjNhNzIiKSgiYXN5bmNJdGVyYXRvciIpfSxhYzZhOmZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG49aSgiY2FkZiIpLHI9aSgiMGQ1OCIpLG89aSgiMmFiYSIpLGE9aSgiNzcyNiIpLHM9aSgiMzJlOSIpLGM9aSgiODRmMiIpLGg9aSgiMmI0YyIpLGw9aCgiaXRlcmF0b3IiKSxwPWgoInRvU3RyaW5nVGFnIiksZD1jLkFycmF5LHU9e0NTU1J1bGVMaXN0OiEwLENTU1N0eWxlRGVjbGFyYXRpb246ITEsQ1NTVmFsdWVMaXN0OiExLENsaWVudFJlY3RMaXN0OiExLERPTVJlY3RMaXN0OiExLERPTVN0cmluZ0xpc3Q6ITEsRE9NVG9rZW5MaXN0OiEwLERhdGFUcmFuc2Zlckl0ZW1MaXN0OiExLEZpbGVMaXN0OiExLEhUTUxBbGxDb2xsZWN0aW9uOiExLEhUTUxDb2xsZWN0aW9uOiExLEhUTUxGb3JtRWxlbWVudDohMSxIVE1MU2VsZWN0RWxlbWVudDohMSxNZWRpYUxpc3Q6ITAsTWltZVR5cGVBcnJheTohMSxOYW1lZE5vZGVNYXA6ITEsTm9kZUxpc3Q6ITAsUGFpbnRSZXF1ZXN0TGlzdDohMSxQbHVnaW46ITEsUGx1Z2luQXJyYXk6ITEsU1ZHTGVuZ3RoTGlzdDohMSxTVkdOdW1iZXJMaXN0OiExLFNWR1BhdGhTZWdMaXN0OiExLFNWR1BvaW50TGlzdDohMSxTVkdTdHJpbmdMaXN0OiExLFNWR1RyYW5zZm9ybUxpc3Q6ITEsU291cmNlQnVmZmVyTGlzdDohMSxTdHlsZVNoZWV0TGlzdDohMCxUZXh0VHJhY2tDdWVMaXN0OiExLFRleHRUcmFja0xpc3Q6ITEsVG91Y2hMaXN0OiExfSxmPXIodSksbT0wO208Zi5sZW5ndGg7bSsrKXt2YXIgZyx2PWZbbV0seT11W3ZdLF89YVt2XSxiPV8mJl8ucHJvdG90eXBlO2lmKGImJihiW2xdfHxzKGIsbCxkKSxiW3BdfHxzKGIscCx2KSxjW3ZdPWQseSkpZm9yKGcgaW4gbiliW2ddfHxvKGIsZyxuW2ddLCEwKX19LGFjZWQ6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6Iljhur9wIGjhuqFuZyBW4buRbiBow7NhIHRo4buLIHRyxrDhu51uZyIsIm1jYXAiOiJW4buRbiBow7NhIHRo4buLIHRyxrDhu51uZyIsIjI0aF92b2x1bWUiOiJLaOG7kWkgbMaw4bujbmcgdHJvbmcgMjRoIiwiMjRoX2hpZ2hfbG93IjoiTeG7qWMgY2FvIG5o4bqldC90aOG6pXAgbmjhuqV0IHRyb25nIDI0IGdp4budIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IsSQxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsImNyeXB0b19wcmljZV9jb21wYXJpc29uIjoiU28gc8OhbmggZ2nDoSB0aeG7gW4gbcOjIGjDs2EiLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoiU28gc8OhbmggZ2nDoSB0cuG7iyB24buRbiBow7NhIHRo4buLIHRyxrDhu51uZyBj4bunYSB0aeG7gW4gbcOjIGjDs2EifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLEkMaw4bujYyBo4buXIHRy4bujIGLhu59pICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiJDYW8gdHJvbmcgMjRIIiwiMjRoX2xvdyI6IlRo4bqlcCB0cm9uZyAyNEgiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiWGVtIGJp4buDdSDEkeG7kyBnacOhICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IsSQxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLEkMaw4bujYyBo4buXIHRy4bujIGLhu59pICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IsSQxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiJDYW8gdHJvbmcgMjRIIiwiMjRoX2xvdyI6IlRo4bqlcCB0cm9uZyAyNEgiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiWGVtIGJp4buDdSDEkeG7kyBnacOhICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fY29udmVydGVyX3dpZGdldCI6eyJ2aWV3X3ByaWNlX2NoYXJ0IjoiWGVtIGJp4buDdSDEkeG7kyBnacOhICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJTxqEgxJHhu5MgY8OieSBUaeG7gW4gbcOjIGjDs2EiLCJzdWJ0aXRsZSI6Iigle3RvcH0gaMOgbmcgxJHhuqd1IHRoZW8gZ2nDoSB0cuG7iyB24buRbiBow7NhIHRo4buLIHRyxrDhu51uZykiLCJwb3dlcmVkX2J5IjoixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sInJhbmRvbV9jb2luX3dpZGdldCI6eyJkaXNjbGFpbWVyIjoiVHV5w6puIGLhu5EgbWnhu4VuIHRy4burIHRyw6FjaCBuaGnhu4dtOiBDw7RuZyBj4bulIG7DoHkgxJHGsOG7o2MgZMO5bmcgY2hvIG3hu6VjIMSRw61jaCBnaeG6o2kgdHLDrSB2w6Aga2jDtG5nIGPhuqV1IHRow6BuaCB0aMO0bmcgdGluIHTGsCB24bqlbiB0w6BpIGNow61uaC4iLCJzcGluIjoixJDhu5NuZyBTcGluIiwiYXZhaWxhYmxlX2NvaW5zIjoiVGnhu4FuIOG6o28ga2jhuqMgZOG7pW5nIn0sImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0Ijp7InRpdGxlIjoiQ+G6rXAgbmjhuq10IGdpw6EgdHLDqm4gQ29pbkdlY2tvIiwidG90YWxfbWNhcCI6IlThu5VuZyBnacOhIHRy4buLIHbhu5FuIGjDs2EgdGjhu4sgdHLGsOG7nW5nIiwiMjRoX3ZvbCI6Ikto4buRaSBsxrDhu6NuZyBnaWFvIGThu4tjaCB0cm9uZyAyNCBnaeG7nSIsImRvbSI6IsavdSB0aOG6vyJ9LCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXQiOnsiZXhjaGFuZ2UiOiJTw6BuIGdpYW8gZOG7i2NoIiwicGFpciI6IkPhurdwIiwicHJpY2UiOiJHacOhIiwidm9sdW1lIjoiS2jhu5FpIGzGsOG7o25nIiwidHJ1c3Rfc2NvcmUiOiLEkGnhu4NtIHRpbiBj4bqteSIsInZpZXdfcHJpY2VfY2hhcnQiOiJYZW0gYmnhu4N1IMSR4buTIGdpw6EiLCJwb3dlcmVkX2J5IjoixJDGsOG7o2MgaOG7lyB0cuG7oyBi4bufaSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9Iiwidmlld19hbGwiOiJYZW0gdOG6pXQgY+G6oyBjw6FjIHRo4buLIHRyxrDhu51uZyAle2NvaW59In19Jyl9LGFlYmQ6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtyZXR1cm57ZW51bWVyYWJsZTohKDEmdCksY29uZmlndXJhYmxlOiEoMiZ0KSx3cml0YWJsZTohKDQmdCksdmFsdWU6ZX19fSxhZjA4OmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiLYqti12YbZitmBINin2YTZgtmK2YXYqSDYp9mE2LPZiNmC2YrYqSIsIm1jYXAiOiLYp9mE2YLZitmF2Kkg2KfZhNiz2YjZgtmK2KkgIiwiMjRoX3ZvbHVtZSI6Itit2KzZhSDYp9mE2KrYr9in2YjZhCDYudmE2Ykg2YXYr9in2LEgMjQg2LPYp9i52KkiLCIyNGhfaGlnaF9sb3ciOiLYp9ix2KrZgdin2Lkv2KfZhtiu2YHYp9i2INi52YTZiSDZhdiv2KfYsSAyNCDYs9in2LnYqSJ9LCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLZhdiv2LnZiNmFINmF2YYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsImNyeXB0b19wcmljZV9jb21wYXJpc29uIjoi2YXZgtin2LHZhtipINiz2LnYsSDYp9mE2LnZhdmE2KfYqiDYp9mE2YXYtNmB2LHYqSIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiLZhdmC2KfYsdmG2Kkg2KfZhNmC2YrZhdipINin2YTYs9mI2YLZitipINmE2YTYudmF2YTYp9iqINin2YTZhdi02YHYsdipIn0sImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi2YXYr9i52YjZhSDZhdmGICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiLZhdix2KrZgdi5INi52YTZiSDZhdiv2KfYsSAyNCDYs9in2LnYqSIsIjI0aF9sb3ciOiLZhdmG2K7Zgdi2INi52YTZiSDZhdiv2KfYsSAyNCDYs9in2LnYqSIsInZpZXdfcHJpY2VfY2hhcnQiOiLYudix2LYg2KfZhNix2LPZhSDYp9mE2KjZitin2YbZiiDZhNiz2LnYsSAle2NvaW59IiwicG93ZXJlZF9ieSI6ItmF2K/YudmI2YUg2YXZhiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6ItmF2K/YudmI2YUg2YXZhiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6ItmF2K/YudmI2YUg2YXZhiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImJlYW1fd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLZhdiv2LnZiNmFINmF2YYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiLZhdix2KrZgdi5INi52YTZiSDZhdiv2KfYsSAyNCDYs9in2LnYqSIsIjI0aF9sb3ciOiLZhdmG2K7Zgdi2INi52YTZiSDZhdiv2KfYsSAyNCDYs9in2LnYqSIsInZpZXdfcHJpY2VfY2hhcnQiOiLYudix2LYgJXtjb2lufSDYp9mE2LHYs9mFINin2YTYqNmK2KfZhtmKINmE2YTYs9i52LEiLCJwb3dlcmVkX2J5Ijoi2YXYr9i52YjZhSDZhdmGICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiLYudix2LYgJXtjb2lufSDYp9mE2LHYs9mFINin2YTYqNmK2KfZhtmKINmE2YTYs9i52LEiLCJwb3dlcmVkX2J5Ijoi2YXYr9i52YjZhSDZhdmGICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6Itiu2LHZiti32Kkg2LTYrNix2Kkg2KfZhNi52YXZhNin2Kog2KfZhNmF2LTZgdix2KkiLCJzdWJ0aXRsZSI6IijYo9mB2LbZhCAle3RvcH0g2YjZgdmC2YvYpyDZhNmE2YLZitmF2Kkg2KfZhNiz2YjZgtmK2KkpIiwicG93ZXJlZF9ieSI6ItmF2K/YudmI2YUg2YXZhiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sInJhbmRvbV9jb2luX3dpZGdldCI6eyJkaXNjbGFpbWVyIjoi2KXYrtmE2KfYoSDYp9mE2YXYs9ik2YjZhNmK2Kk6INiq2LPYqtiu2K/ZhSDZh9iw2Ycg2KfZhNij2K/ZiNin2Kog2YPYo9iv2YjYp9iqINiq2LHZgdmK2YfZitipINmI2YTYpyDYqti02YPZkdmEINmF2LTZiNix2Kkg2YXYp9mE2YrYqS4iLCJzcGluIjoi2K/ZiNix2KfZhiIsImF2YWlsYWJsZV9jb2lucyI6Iti52YXZhNin2Kog2YXYqtin2K3YqSJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6Itiq2K3Yr9mK2Ksg2LPYudixIENvaW5HZWNrbyIsInRvdGFsX21jYXAiOiLYpdis2YXYp9mE2Yog2KfZhNmC2YrZhdipINin2YTYs9mI2YLZitipIiwiMjRoX3ZvbCI6Itin2YTYrdis2YUg2LnZhNmJINmF2K/Yp9ixIDI0INiz2KfYudipIiwiZG9tIjoi2KfZhNmH2YrZhdmG2KkifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoi2KjZiNix2LXYqSIsInBhaXIiOiLYstmI2KwiLCJwcmljZSI6Itin2YTYs9i52LEiLCJ2b2x1bWUiOiLYp9mE2K3YrNmFIiwidHJ1c3Rfc2NvcmUiOiLZhtmC2KfYtyDYp9mE2KvZgtipIFRydXN0IFNjb3JlIiwidmlld19wcmljZV9jaGFydCI6Iti52LHYtiDYp9mE2LHYs9mFINin2YTYqNmK2KfZhtmKINmE2YTYs9i52LEiLCJwb3dlcmVkX2J5Ijoi2YXYr9i52YjZhSDZhdmGICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJ2aWV3X2FsbCI6Iti52LHYtiDYrNmF2YrYuSDYo9iz2YjYp9mCICV7Y29pbn0ifX0nKX0sYWYxNDpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gbn0pKTtpKCI3NjE4Iik7ZnVuY3Rpb24gbigpe3JldHVybiBudWxsIT1kb2N1bWVudC5oZWFkLmF0dGFjaFNoYWRvdyYmbnVsbCE9d2luZG93LmN1c3RvbUVsZW1lbnRzJiZudWxsIT13aW5kb3cuZmV0Y2h9fSxiMGM1OmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiNTIwYSIpO2koIjVjYTEiKSh7dGFyZ2V0OiJSZWdFeHAiLHByb3RvOiEwLGZvcmNlZDpuIT09Ly4vLmV4ZWN9LHtleGVjOm59KX0sYjBkYzpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZTRhZSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsaSxyKXt0cnl7cmV0dXJuIHI/ZShuKGkpWzBdLGlbMV0pOmUoaSl9Y2F0Y2goYSl7dmFyIG89dFsicmV0dXJuIl07dGhyb3cgdm9pZCAwIT09byYmbihvLmNhbGwodCkpLGF9fX0sYjNmZDpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoImYzNjciKSxyPWkoIjFiN2YiKTt0LmV4cG9ydHM9ZnVuY3Rpb24oKXt2YXIgdD1yKCk7cmV0dXJuIG4oU3RyaW5nLnByb3RvdHlwZSx7dHJpbTp0fSx7dHJpbTpmdW5jdGlvbigpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnRyaW0hPT10fX0pLHR9fSxiNDQ3OmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCIzYTM4Iikscj1NYXRoLm1pbjt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIHQ+MD9yKG4odCksOTAwNzE5OTI1NDc0MDk5MSk6MH19LGI4ZTM6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ITB9LGJhOGQ6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6IteT16jXkteqINep15XXldeZINep15XXpyIsIm1jYXAiOiLXqdeV15XXmSDXqdeV16ciLCIyNGhfdm9sdW1lIjoi16DXpNeXINee16HXl9eoINeRLTI0INep16LXldeqIiwiMjRoX2hpZ2hfbG93Ijoi16nXmdeQL9ep16TXnCDXkS0yNCDXqdei15XXqiJ9LCJjb2luX2NvbXBhcmVfY2hhcnRfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLXnteV16TXotecINei15wg15nXk9eZICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IteU16nXldeV15DXqiDXnteX15nXqNeZINee15jXkdei15XXqiDXp9eo15nXpNeY15UiLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoi15TXqdeV15XXkNeqINep15XXldeZINep15XXpyDXqdecINee15jXkdei15XXqiDXp9eo15nXpNeY15UifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLXnteV16TXotecINei15wg15nXk9eZICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiLXqdeZ15Ag15EtMjQg16nXoteV16oiLCIyNGhfbG93Ijoi16nXpNecINeRLTI0INep16LXldeqIiwidmlld19wcmljZV9jaGFydCI6IteU16bXkiDXkNeqINeY15HXnNeqINeU157Xl9eZ16jXmdedINep15wgJXtjb2lufSIsInBvd2VyZWRfYnkiOiLXnteV16TXotecINei15wg15nXk9eZICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi157Xldek16LXnCDXotecINeZ15PXmSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6Itee15XXpNei15wg16LXnCDXmdeT15kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJiZWFtX3dpZGdldCI6eyJwb3dlcmVkX2J5Ijoi157Xldek16LXnCDXotecINeZ15PXmSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6Itep15nXkCDXkS0yNCDXqdei15XXqiIsIjI0aF9sb3ciOiLXqdek15wg15EtMjQg16nXoteV16oiLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi15TXpteSINeQ16og15jXkdec16og15TXnteX15nXqNeZ150g16nXnCAle2NvaW59IiwicG93ZXJlZF9ieSI6Itee15XXpNei15wg16LXnCDXmdeT15kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2NvbnZlcnRlcl93aWRnZXQiOnsidmlld19wcmljZV9jaGFydCI6IteU16bXkiDXkNeqINeY15HXnNeqINeU157Xl9eZ16jXmdedINep15wgJXtjb2lufSIsInBvd2VyZWRfYnkiOiLXnteV16TXotecINei15wg15nXk9eZICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6Itee16TXqiDXlNei16Ug16nXnCDXnteY15HXoteV16og16fXqNeZ16TXmNeVIiwic3VidGl0bGUiOiIoJXt0b3B9INee15XXkdeZ15zXmdedINec16TXmSDXqdeV15XXmSDXqdeV16cpIiwicG93ZXJlZF9ieSI6Itee15XXpNei15wg16LXnCDXmdeT15kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsiZGlzY2xhaW1lciI6Iteb16rXkSDXldeZ16rXldeoOiDXm9ec15nXnSDXkNec15Ug157Xqdee16nXmdedINec16bXldeo15og15HXmdeT15XXqCDXldeQ15nXoNedINee15TXldeV15nXnSDXmdeZ16LXldelINek15nXoNeg16HXmS4iLCJzcGluIjoi16HXldeR15EiLCJhdmFpbGFibGVfY29pbnMiOiLXnteY15HXoteV16og15bXnteZ16DXmdedIn0sImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0Ijp7InRpdGxlIjoi16LXk9eb15XXnyDXnteX15nXqNeZIENvaW5HZWNrbyIsInRvdGFsX21jYXAiOiLXqdeV15XXmSDXqdeV16cg15vXldec15wiLCIyNGhfdm9sIjoi16DXpNeXINeRLTI0INep16LXldeqIiwiZG9tIjoi15PXldee15nXoNeg15jXmdeV16oifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoi15HXldeo16HXlCIsInBhaXIiOiLXptee15MiLCJwcmljZSI6Itee15fXmdeo157Xl9eZ16giLCJ2b2x1bWUiOiLXoNek15ciLCJ0cnVzdF9zY29yZSI6Item15nXldefINeQ157Xmdeg15XXqiIsInZpZXdfcHJpY2VfY2hhcnQiOiLXlNem15Ig15jXkdec16og157Xl9eZ16jXmdedIiwicG93ZXJlZF9ieSI6Itee15XXpNei15wg16LXnCDXmdeT15kgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsInZpZXdfYWxsIjoi15TXpteSINeQ16og15vXnCDXlNep15XXlden15nXnSDXqdecICV7Y29pbn0ifX0nKX0sYmMxMzpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZTUzZCIpLHI9bi5uYXZpZ2F0b3I7dC5leHBvcnRzPXImJnIudXNlckFnZW50fHwiIn0sYmQ4NjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gb30pKTt2YXIgbj1pKCI4NWYyIikscj1pLm4obik7ZnVuY3Rpb24gbyh0LGUsaSl7cmV0dXJuIGUgaW4gdD9yKCkodCxlLHt2YWx1ZTppLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwfSk6dFtlXT1pLHR9fSxiZGQ1OmZ1bmN0aW9uKHQsZSxpKXtlPXQuZXhwb3J0cz1pKCIyNGZiIikoITEpLGUucHVzaChbdC5pLCIuZ2Vja28tc3RhdHMge1xuICBtYXJnaW4tdG9wOiAyNHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICByb3ctZ2FwOiAxNHB4O1xufVxuXG4uZ2Vja28tc3RhdHMtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuLmdlY2tvLWRldGFpbHMtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG4uZ2Vja28tZGV0YWlscy1jb2luLWluZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiA4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1O1xuICBwYWRkaW5nOiA4cHg7XG4gIG1hcmdpbjogLThweDtcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxNTBtcyBlYXNlO1xufVxuXG4uZ2Vja28tZGV0YWlscy1jb2luLWluZm86aG92ZXIge1xuICBvcGFjaXR5OiAwLjg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5nZWNrby1kZXRhaWxzLWNvaW4tcHJpY2Uge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZ2Vja28tZGV0YWlscy1jb2luLXByaWNlLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2x1bW4tZ2FwOiA2cHg7XG59XG4iLCIiXSl9LGJlMTM6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYodm9pZCAwPT10KXRocm93IFR5cGVFcnJvcigiQ2FuJ3QgY2FsbCBtZXRob2Qgb24gICIrdCk7cmV0dXJuIHR9fSxiZjBiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCIzNTVkIikscj1pKCJhZWJkIiksbz1pKCIzNmMzIiksYT1pKCIxYmMzIikscz1pKCIwN2UzIiksYz1pKCI3OTRiIiksaD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO2UuZj1pKCI4ZTYwIik/aDpmdW5jdGlvbih0LGUpe2lmKHQ9byh0KSxlPWEoZSwhMCksYyl0cnl7cmV0dXJuIGgodCxlKX1jYXRjaChpKXt9aWYocyh0LGUpKXJldHVybiByKCFuLmYuY2FsbCh0LGUpLHRbZV0pfX0sYmYwZjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO2kuZChlLCJiIiwoZnVuY3Rpb24oKXtyZXR1cm4gTn0pKTt2YXIgbj1pKCI3NjE4Iikscj1pKCJhZjA4Iiksbz1pKCJkY2QwIiksYT1pKCJjNjg2Iikscz1pKCIyMWFhIiksYz1pKCI2Y2UyIiksaD1pKCJmMTg0IiksbD1pKCJlZGQ0IikscD1pKCJhMzA2IiksZD1pKCI1NzU0IiksdT1pKCJmNjkzIiksZj1pKCJiYThkIiksbT1pKCI3YTAzIiksZz1pKCI5MmQ3Iiksdj1pKCI0ZTczIikseT1pKCIyMTBjIiksXz1pKCIwODI1IiksYj1pKCIwNDIzIikseD1pKCJkZDExIiksdz1pKCI2MDQ1Iiksaz1pKCJhNjI1IiksQz1pKCJmOTQ3IiksUz1pKCI4OWIyIiksQT1pKCI1ZDY3IiksTT1pKCI5NTQyIiksUD1pKCI3NzA0IiksTz1pKCIzZGE5IiksVD1pKCJkMzRhIiksRT1pKCI0YzViIiksTD1pKCI4NjgwIiksaj1pKCJmZmViIiksRD1pKCI2MmVhIiksST1pKCJhY2VkIiksej1pKCIzNTA0IiksQj1pKCIwNTZjIiksUj17YXI6cixiZzpvLGNzOmEsZGE6cyxkZTpjLGVsOmgsZW46bCxlczpwLGZpOmQsZnI6dSxoZTpmLGhpOm0saHI6ZyxodTp2LGlkOnksaXQ6XyxqYTpiLGtvOngsbHQ6dyxubDprLG5vOkMscGw6UyxwdDpBLHJvOk0scnU6UCxzazpPLHNsOlQsc3Y6RSx0aDpMLHRyOmosdWs6RCx2aTpJLHpoOnosInpoLXR3IjpCfTtmdW5jdGlvbiBOKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXToiZW4iO3JldHVybiBHKFJbdF0sUltlXSl9ZnVuY3Rpb24gRyh0LGUpe3ZhciBpPUpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoZSkpO2Zvcih2YXIgciBpbiBpKXt2YXIgbz10W3JdLGE9aVtyXTtpZihvJiZhKWlmKCJvYmplY3QiPT09T2JqZWN0KG5bImEiXSkobykmJiJvYmplY3QiPT09T2JqZWN0KG5bImEiXSkoYSkpZm9yKHZhciBzIGluIHRbcl0paVtyXVtzXT10W3JdW3NdO2Vsc2UgaVtyXT10W3JdfXJldHVybiBpfWVbImEiXT1SfSxjMDRhOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxpPXQuX3NlbGYuX2N8fGU7cmV0dXJuIGkoImEiLHtzdGF0aWNDbGFzczoiZ2Vja28tdGV4dC1saWdodCIsYXR0cnM6e2hyZWY6dC5jb2luZ2Vja29VcmwsdGFyZ2V0OiJfYmxhbmsifX0sW2koImRpdiIse3N0YXRpY1N0eWxlOntkaXNwbGF5OiJmbGV4IiwiYWxpZ24taXRlbXMiOiJjZW50ZXIiLCJjb2x1bW4tZ2FwIjoiNHB4In19LFt0LnRleHRDb250ZW50P2koInNwYW4iLHtzdGF0aWNTdHlsZTp7ImxpbmUtaGVpZ2h0IjoiMSJ9fSxbdC5fdih0Ll9zKHQudGV4dENvbnRlbnQpKV0pOnQuX2UoKSxpKCJzdmciLHthdHRyczp7d2lkdGg6dC5zaXplLGhlaWdodDp0LnNpemUsdmlld0JveDoiMCAwIDMyIDMzIixmaWxsOiJub25lIix4bWxuczoiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcifX0sW2koImciLHthdHRyczp7ImNsaXAtcGF0aCI6InVybCgjY2xpcDBfMl83NTUpIn19LFtpKCJwYXRoIix7YXR0cnM6e2Q6Ik0zMS45OTk4IDE2LjIwM0MzMi4wMzk4IDI1LjEwMzIgMjQuOTA4NSAzMi4zNTAzIDE2LjA3MjcgMzIuMzkwNkM3LjIzNTc5IDMyLjQzMDkgMC4wNDAxNzAxIDI1LjI0ODUgMC4wMDAxNjc0NzMgMTYuMzQ4MkMtMC4wMzk4MzUxIDcuNDQ4MDEgNy4wOTE1NCAwLjIwMDg0OCAxNS45Mjg1IDAuMTYwNTU5QzI0Ljc2NDIgMC4xMjE0OTEgMzEuOTU5OCA3LjMwMjcyIDMxLjk5OTggMTYuMjAzWiIsZmlsbDoiI0ZGRTg2NiJ9fSksaSgicGF0aCIse2F0dHJzOntkOiJNMjQuMTE0NSAxMC41MDlDMjIuOTUzMiAxMC4xNzA4IDIxLjc1MDcgOS42ODk3OSAyMC41MzEzIDkuMjA1MUMyMC40NjA5IDguODk3NDMgMjAuMTkwNiA4LjUxNDA4IDE5LjY0MjcgOC4wNDQwNEMxOC44NDYzIDcuMzQ4MTMgMTcuMzUwNCA3LjM2NjQ1IDE2LjA1ODIgNy42NzQxMUMxNC42MzE1IDcuMzM1OTMgMTMuMjIxNyA3LjIxNTA2IDExLjg2ODkgNy41NDIyNUMwLjgwNjMzMyAxMC42MTI4IDcuMDc4MjYgMTguMTAwNCAzLjAxNjE3IDI1LjYyOTZDMy41OTQzOSAyNi44NjM5IDkuOTcxNzIgMzIuNzk0MiAxOC44Mzc4IDMyLjEzNTdDMTguODM3OCAzMi4xMzU3IDE1Ljc1NTIgMjQuNjc0OSAyMi43MTIgMjEuMDkyOEMyOC4zNTQ4IDE4LjE4ODQgMzIuNDMxNCAxMi43OTQ1IDI0LjExMzMgMTAuNTA3OEwyNC4xMTQ1IDEwLjUwOVoiLGZpbGw6IiM0QkNDMDAifX0pLGkoInBhdGgiLHthdHRyczp7ZDoiTTE2LjgyNDMgMTIuMzA0MkMxNi44MjQzIDE0LjAyNTYgMTUuNDM4OCAxNS40MTk5IDEzLjczMDggMTUuNDE5OUMxMi4wMjI4IDE1LjQxOTkgMTAuNjM3MyAxNC4wMjU2IDEwLjYzNzMgMTIuMzA0MkMxMC42MzczIDEwLjU4MjcgMTIuMDIyOCA5LjE4OTcgMTMuNzMwOCA5LjE4OTdDMTUuNDM4OCA5LjE4OTcgMTYuODI0MyAxMC41ODM5IDE2LjgyNDMgMTIuMzA0MloiLGZpbGw6IndoaXRlIn19KSxpKCJwYXRoIix7YXR0cnM6e2Q6Ik0yNy45ODYyIDE2Ljc4ODJDMjUuNDgwNiAxOC41NjcgMjIuNjI4MyAxOS45MTYxIDE4LjU4NTYgMTkuOTE2MUMxNi42OTMzIDE5LjkxNjEgMTYuMzA5MSAxNy44OTA2IDE1LjA1ODEgMTguODgzMkMxNC40MTIgMTkuMzk2IDEyLjEzNTUgMjAuNTQyNCAxMC4zMjgxIDIwLjQ1NTdDOC41MDQ5MyAyMC4zNjc4IDUuNTk0NDQgMTkuMzAwNyA0Ljc3NjIgMTUuNDE3MUM0LjQ1MjU1IDE5LjMwMDcgNC4yODc2OSAyMi4xNjI1IDIuODM5MTEgMjUuNDQxOEM2LjM5NTA1IDMwLjY2NzggMTIuNTk1MSAzMy4yNjc5IDE4LjgzNzcgMzIuMTM3MUMxOC4xNjc0IDI3LjQyMDggMjIuMjU5OCAyMi44MDIyIDI0LjU2NTQgMjAuNDM4NkMyNS40MzgyIDE5LjU0MzcgMjcuMTExIDE4LjA4MjMgMjcuOTg2MiAxNi43ODgyWiIsZmlsbDoiIzRCQ0MwMCJ9fSksaSgiZWxsaXBzZSIse2F0dHJzOntjeDoiMTUuMDM0OCIsY3k6IjEyLjI4MjkiLHJ4OiIxLjgxNTMyIixyeToiMi41NDE0NSIsZmlsbDoiIzBEMTIxNyJ9fSksaSgicGF0aCIse2F0dHJzOntkOiJNMTUuNzYwOSA3LjY2ODJDMTYuNzUxMyA4LjA2NDA2IDIwLjM2ODEgOS4yNjg3MSAyMS45MzMgOS43NDE1OUMyMC4zMzUyIDcuMDkwNTEgMTcuOTE0IDcuMjQzNDkgMTUuNzYwOSA3LjY2ODJaIixmaWxsOiIjMzVBRjAwIn19KSxpKCJwYXRoIix7YXR0cnM6e2Q6Ik0xNS4wMzQ3IDEyLjI4MjZMMTIuODU2MyAxMC44MzAzVjEzLjczNDhMMTUuMDM0NyAxMi4yODI2WiIsZmlsbDoid2hpdGUifX0pXSksaSgiZGVmcyIsW2koImNsaXBQYXRoIix7YXR0cnM6e2lkOiJjbGlwMF8yXzc1NSJ9fSxbaSgicmVjdCIse2F0dHJzOnt3aWR0aDoiMzIiLGhlaWdodDoiMzIuMzM5NiIsZmlsbDoid2hpdGUiLHRyYW5zZm9ybToidHJhbnNsYXRlKDAgMC4xNjA0KSJ9fSldKV0pXSksdC5uYW1lQ29udGVudD9pKCJzcGFuIix7c3RhdGljU3R5bGU6eyJsaW5lLWhlaWdodCI6IjEiLCJtYXJnaW4tdG9wIjoiNHB4In0sZG9tUHJvcHM6e2lubmVySFRNTDp0Ll9zKHQubmFtZUNvbnRlbnQpfX0sW3QuX3YodC5fcyh0Lm5hbWVDb250ZW50KSldKTp0Ll9lKCldKV0pfSxyPVtdLG89KGkoIjZiNTQiKSxpKCI0MmI4IikpLGE9e25hbWU6IkdlY2tvV2F0ZXJtYXJrIixtaXhpbnM6W29bImEiXV0scHJvcHM6e2xvY2FsZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiZW4ifSx1dG1NZWRpdW06e3R5cGU6U3RyaW5nLGRlZmF1bHQ6bnVsbH0sdXRtQ29udGVudDp7dHlwZTpTdHJpbmcsZGVmYXVsdDpudWxsfSx3aXRoVGV4dDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LHdpdGhOYW1lOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMX0sc2l6ZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiMTZweCJ9fSxjb21wdXRlZDp7dGV4dENvbnRlbnQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy53aXRoVGV4dD90aGlzLnQoInBvd2VyZWRfYnkiKTpudWxsfSxuYW1lQ29udGVudDpmdW5jdGlvbigpe3JldHVybiB0aGlzLndpdGhUZXh0fHx0aGlzLndpdGhOYW1lP3RoaXMudGV4dFN2ZzpudWxsfSxjb2luZ2Vja29Vcmw6ZnVuY3Rpb24oKXt2YXIgdD0iZW4iPT09dGhpcy5sb2NhbGUudG9Mb3dlckNhc2UoKT8iIjp0aGlzLmxvY2FsZS50b0xvd2VyQ2FzZSgpLGU9bmV3IFVSTCgiaHR0cHM6Ly93d3cuY29pbmdlY2tvLmNvbS8iLmNvbmNhdCh0KSk7cmV0dXJuIHRoaXMudXRtTWVkaXVtJiYoZS5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fc291cmNlIix3aW5kb3cubG9jYXRpb24uaG9zdCksZS5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fbWVkaXVtIix0aGlzLnV0bU1lZGl1bSksZS5zZWFyY2hQYXJhbXMuc2V0KCJ1dG1fY29udGVudCIsdGhpcy51dG1Db250ZW50KSksZS50b1N0cmluZygpfSx0ZXh0U3ZnOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuJHBhcmVudC5kYXJrTW9kZT8nXG4gICAgICAgICAgPHN2ZyB3aWR0aD0iNjQiIGhlaWdodD0iMTMiIHZpZXdCb3g9IjAgMCAxMDQgMjEiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+XG4gICAgICAgICAgPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzJfNzU5KSI+XG4gICAgICAgICAgICA8cGF0aCBkPSJNOTcuOTQ0OCA1LjI1Qzk5LjYzMzkgNS4yNSAxMDAuOTk2IDUuNzY3MzggMTAyLjAzMSA2LjgwMjE1QzEwMy4wODEgNy44MjE2OSAxMDMuNjA2IDkuMTQ1NTggMTAzLjYwNiAxMC43NzM4QzEwMy42MDYgMTIuNDAyIDEwMy4wODEgMTMuNzMzNSAxMDIuMDMxIDE0Ljc2ODNDMTAwLjk5NiAxNS43ODc5IDk5LjYzMzkgMTYuMjk3NiA5Ny45NDQ4IDE2LjI5NzZDOTYuMjQwNSAxNi4yOTc2IDk0Ljg2MzQgMTUuNzg3OSA5My44MTM0IDE0Ljc2ODNDOTIuNzc4NiAxMy43MzM1IDkyLjI2MTIgMTIuNDAyIDkyLjI2MTIgMTAuNzczOEM5Mi4yNjEyIDkuMTQ1NTggOTIuNzc4NiA3LjgyMTY5IDkzLjgxMzQgNi44MDIxNUM5NC44NjM0IDUuNzY3MzggOTYuMjQwNSA1LjI1IDk3Ljk0NDggNS4yNVpNOTYuMTE4OCAxMi45MTk0Qzk2LjU3NTMgMTMuNDY3MiA5Ny4xODQgMTMuNzQxMiA5Ny45NDQ4IDEzLjc0MTJDOTguNzA1NyAxMy43NDEyIDk5LjMwNjggMTMuNDY3MiA5OS43NDgxIDEyLjkxOTRDMTAwLjIwNSAxMi4zNzE2IDEwMC40MzMgMTEuNjU2NCAxMDAuNDMzIDEwLjc3MzhDMTAwLjQzMyA5Ljg5MTIyIDEwMC4yMDUgOS4xNzYwMiA5OS43NDgxIDguNjI4MkM5OS4zMDY4IDguMDgwMzggOTguNzA1NyA3LjgwNjQ4IDk3Ljk0NDggNy44MDY0OEM5Ny4xODQgNy44MDY0OCA5Ni41NzUzIDguMDgwMzggOTYuMTE4OCA4LjYyODJDOTUuNjYyMyA5LjE3NjAyIDk1LjQzNCA5Ljg5MTIyIDk1LjQzNCAxMC43NzM4Qzk1LjQzNCAxMS42NTY0IDk1LjY2MjMgMTIuMzcxNiA5Ni4xMTg4IDEyLjkxOTRaIiBmaWxsPSJ3aGl0ZSIvPlxuICAgICAgICAgICAgPHBhdGggZD0iTTczLjg2ODcgNS4yNUM3NS4yNTM0IDUuMjUgNzYuMzQ5MSA1LjYxNTIxIDc3LjE1NTYgNi4zNDU2M0M3Ny45NzczIDcuMDYwODQgNzguMzg4MSA3Ljk1ODY1IDc4LjM4ODEgOS4wMzkwNkw3OC4zMTk3IDkuODM3OTZMNzUuNTU3OCA5Ljk5Nzc0Qzc1LjU4ODIgOS45MzY4NyA3NS42MDM0IDkuNzc3MDkgNzUuNjAzNCA5LjUxODRDNzUuNjAzNCA5LjAzMTQ1IDc1LjQ0MzYgOC42MjgyIDc1LjEyNDEgOC4zMDg2NEM3NC44MTk3IDcuOTczODYgNzQuMzg2IDcuODA2NDggNzMuODIzIDcuODA2NDhDNzMuMTA3OCA3LjgwNjQ4IDcyLjUyOTYgOC4wNzI3OCA3Mi4wODgzIDguNjA1MzdDNzEuNjYyMiA5LjEzNzk3IDcxLjQ0OTEgOS44Mzc5NiA3MS40NDkxIDEwLjcwNTNDNzEuNDQ5MSAxMS42NDg4IDcxLjY4NSAxMi4zOTQ0IDcyLjE1NjcgMTIuOTQyM0M3Mi42NDM3IDEzLjQ3NDkgNzMuMzM2MSAxMy43NDEyIDc0LjIzMzkgMTMuNzQxMkM3NS41MTIxIDEzLjc0MTIgNzYuNDkzNiAxMy4zMjI3IDc3LjE3ODQgMTIuNDg1N0w3OC43MDc3IDE0LjQ0ODdDNzguMzEyMSAxNC45NTA5IDc3LjcxMSAxNS4zODQ2IDc2LjkwNDUgMTUuNzQ5OEM3Ni4wOTggMTYuMTE1IDc1LjEzOTMgMTYuMjk3NiA3NC4wMjg0IDE2LjI5NzZDNzIuMjQ4IDE2LjI5NzYgNzAuODQwNSAxNS43OTU1IDY5LjgwNTcgMTQuNzkxMUM2OC43ODYxIDEzLjc3MTYgNjguMjc2NCAxMi40NDc3IDY4LjI3NjQgMTAuODE5NUM2OC4yNzY0IDkuMTYwOCA2OC43OTM4IDcuODIxNjkgNjkuODI4NSA2LjgwMjE1QzcwLjg2MzMgNS43NjczOCA3Mi4yMSA1LjI1IDczLjg2ODcgNS4yNVoiIGZpbGw9IndoaXRlIi8+XG4gICAgICAgICAgICA8cGF0aCBkPSJNNjIuNDkyIDEzLjkyMzhDNjMuNjAyOSAxMy45MjM4IDY0LjUzMTEgMTMuNTEyOSA2NS4yNzY4IDEyLjY5MTJMNjYuNzYwNCAxNC40MDMxQzY2LjM0OTYgMTQuOTM1NyA2NS43NDA5IDE1LjM4NDYgNjQuOTM0NCAxNS43NDk4QzY0LjE0MzEgMTYuMTE1IDYzLjIwNzIgMTYuMjk3NiA2Mi4xMjY4IDE2LjI5NzZDNjAuMzQ2NCAxNi4yOTc2IDU4LjkzMTIgMTUuNzg3OSA1Ny44ODEyIDE0Ljc2ODNDNTYuODQ2NSAxMy43NDg4IDU2LjMyOTEgMTIuNDE3MyA1Ni4zMjkxIDEwLjc3MzhDNTYuMzI5MSA5LjE0NTU4IDU2LjgzMTMgNy44MjE2OSA1Ny44MzU2IDYuODAyMTVDNTguODM5OSA1Ljc2NzM4IDYwLjE3MTQgNS4yNSA2MS44MzAxIDUuMjVDNjMuMzY3IDUuMjUgNjQuNTc2OCA1LjcyMTczIDY1LjQ1OTQgNi42NjUxOUM2Ni4zNDIgNy42MDg2NSA2Ni43ODMzIDguODMzNjMgNjYuNzgzMyAxMC4zNDAxTDY2LjY5MiAxMS40ODE0SDU5LjQzMzRDNTkuNTcwMyAxMi4yMjcgNTkuODk3NSAxMi44MjA1IDYwLjQxNDkgMTMuMjYxOEM2MC45MzIzIDEzLjcwMzEgNjEuNjI0NyAxMy45MjM4IDYyLjQ5MiAxMy45MjM4Wk02MS44MzAxIDcuNjIzODdDNjEuMjA2MiA3LjYyMzg3IDYwLjY3MzYgNy44MjE2OSA2MC4yMzIzIDguMjE3MzRDNTkuODA2MiA4LjU5Nzc3IDU5LjUzOTkgOS4xNDU1OCA1OS40MzM0IDkuODYwNzlINjMuOTMwMUM2My45MTQ4IDkuMjA2NDUgNjMuNzE3IDguNjczODUgNjMuMzM2NiA4LjI2Mjk5QzYyLjk3MTQgNy44MzY5MSA2Mi40NjkyIDcuNjIzODcgNjEuODMwMSA3LjYyMzg3WiIgZmlsbD0id2hpdGUiLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9Ik01MS44NTQ1IDUuMzg2OTVINTQuMzE5N1YxNS43NDk4QzU0LjMxOTcgMTcuMzMyNCA1My43NzE5IDE4LjYwMyA1Mi42NzYzIDE5LjU2MTdDNTEuNTgwNiAyMC41MjA0IDUwLjExMjIgMjAuOTk5NyA0OC4yNzA5IDIwLjk5OTdDNDYuMzA3OSAyMC45OTk3IDQ0LjY5NDkgMjAuNTczNiA0My40MzE5IDE5LjcyMTVMNDMuNzQ0MiAxNy41NjZDNDQuNzMzMyAxOC4zMTE3IDQ2Ljg0ODEgMTguNDg4OSA0OC4yMDI0IDE4LjQ4ODlDNDkuMTE1NSAxOC40ODg5IDQ5LjgzODMgMTguMjYwNiA1MC4zNzA5IDE3LjgwNDFDNTAuOTE4NyAxNy4zNjI4IDUxLjE5MjYgMTYuNzA4NSA1MS4xOTI2IDE1Ljg0MTFWMTQuNTE3MkM1MC40OTI2IDE1LjUzNjggNDkuNDEyMiAxNi4wNDY1IDQ3Ljk1MTMgMTYuMDQ2NUM0Ni41MjA5IDE2LjA0NjUgNDUuMzQ5MiAxNS41NzQ4IDQ0LjQzNjIgMTQuNjMxNEM0My41MjMyIDEzLjY3MjcgNDMuMDY2NyAxMi4zNDEyIDQzLjA2NjcgMTAuNjM2OUM0My4wNjY3IDkuMDA4NjMgNDMuNTAwMyA3LjcwNzU2IDQ0LjM2NzcgNi43MzM2N0M0NS4yMzUxIDUuNzQ0NTYgNDYuNDA2OCA1LjI1IDQ3Ljg4MjkgNS4yNUM0OS42MDI0IDUuMjUgNTAuNzgxNyA1Ljk3MjgxIDUxLjQyMDggNy40MTg0NEg1MS40ODkzQzUxLjQ3NDEgNy4yNTEwNSA1MS41MDQ1IDYuOTQ2NzEgNTEuNTgwNiA2LjUwNTQxQzUxLjY1NjcgNi4wNjQxMiA1MS43NDggNS42OTEzIDUxLjg1NDUgNS4zODY5NVpNNDguNzI3NCAxMy40MjE2QzQ5LjQ3MzEgMTMuNDIxNiA1MC4wNjY1IDEzLjE2MjkgNTAuNTA3OCAxMi42NDU1QzUwLjk2NDMgMTIuMTEyOSA1MS4xOTI2IDExLjUyNzEgNTEuMTkyNiAxMC44ODc5VjEwLjQwODZDNTEuMTkyNiA5LjcyMzgzIDUwLjk2NDMgOS4xMzAzNiA1MC41MDc4IDguNjI4MkM1MC4wNTEzIDguMTI2MDMgNDkuNDM1IDcuODc0OTUgNDguNjU4OSA3Ljg3NDk1QzQ3LjkyODUgNy44NzQ5NSA0Ny4zNDI3IDguMTI2MDMgNDYuOTAxNCA4LjYyODJDNDYuNDYwMSA5LjEzMDM2IDQ2LjIzOTQgOS43OTk5MiA0Ni4yMzk0IDEwLjYzNjlDNDYuMjM5NCAxMS40ODkgNDYuNDYwMSAxMi4xNjYyIDQ2LjkwMTQgMTIuNjY4M0M0Ny4zNTc5IDEzLjE3MDUgNDcuOTY2NiAxMy40MjE2IDQ4LjcyNzQgMTMuNDIxNloiIGZpbGw9IndoaXRlIi8+XG4gICAgICAgICAgICA8cGF0aCBkPSJNMzcuMDk5NiA1LjI1QzM4LjM5MyA1LjI1IDM5LjM4MjEgNS42NDU2NSA0MC4wNjY5IDYuNDM2OTRDNDAuNzY2OSA3LjIyODIzIDQxLjExNjkgOC4yNjI5OSA0MS4xMTY5IDkuNTQxMjNWMTYuMTYwN0gzNy45ODk4VjEwLjA4OUMzNy45ODk4IDkuNDM0NzEgMzcuODIyNCA4LjkxNzMzIDM3LjQ4NzYgOC41MzY5QzM3LjE2OCA4LjE0MTI1IDM2LjcwMzkgNy45NDM0MyAzNi4wOTUyIDcuOTQzNDNDMzUuMzQ5NiA3Ljk0MzQzIDM0Ljc3OSA4LjIwOTczIDM0LjM4MzMgOC43NDIzM0MzNC4wMDI5IDkuMjc0OTMgMzMuODEyNyA5Ljg5MTIyIDMzLjgxMjcgMTAuNTkxMlYxNi4xNjA3SDMwLjY4NTVWNS4zODY5NUwzMy4xMjc5IDUuMjk1NjVDMzMuMzg2NiA2LjEwMjE2IDMzLjUxNTkgNi44NTU0MSAzMy41MTU5IDcuNTU1MzlIMzMuNjA3MkMzNC4yMzExIDYuMDE4NDYgMzUuMzk1MiA1LjI1IDM3LjA5OTYgNS4yNVoiIGZpbGw9IndoaXRlIi8+XG4gICAgICAgICAgICA8cGF0aCBkPSJNMjguNTg1MyAxLjk0MDE4QzI4LjU4NTMgMi41MDMyMSAyOC4zODc1IDIuOTY3MzQgMjcuOTkxOCAzLjMzMjU1QzI3LjU5NjIgMy42OTc3NiAyNy4xMTY5IDMuODgwMzYgMjYuNTUzOCAzLjg4MDM2QzI1Ljk5MDggMy44ODAzNiAyNS41MTE1IDMuNjk3NzYgMjUuMTE1OCAzLjMzMjU1QzI0LjczNTQgMi45NjczNCAyNC41NDUyIDIuNTAzMjEgMjQuNTQ1MiAxLjk0MDE4QzI0LjU0NTIgMS4zOTIzNyAyNC43MzU0IDAuOTM1ODUyIDI1LjExNTggMC41NzA2NDFDMjUuNTExNSAwLjE5MDIxMyAyNS45OTA4IDAgMjYuNTUzOCAwQzI3LjExNjkgMCAyNy41OTYyIDAuMTkwMjEzIDI3Ljk5MTggMC41NzA2NDFDMjguMzg3NSAwLjkzNTg1MiAyOC41ODUzIDEuMzkyMzcgMjguNTg1MyAxLjk0MDE4Wk0yNC45Nzg5IDE2LjE2MDZWNS4zODY4NkwyOC4xMDYgNS4yOTU1NlYxNi4xNjA2SDI0Ljk3ODlaIiBmaWxsPSJ3aGl0ZSIvPlxuICAgICAgICAgICAgPHBhdGggZD0iTTE3LjMxOTMgNS4yNUMxOS4wMDg0IDUuMjUgMjAuMzcwNCA1Ljc2NzM4IDIxLjQwNTEgNi44MDIxNUMyMi40NTUxIDcuODIxNjkgMjIuOTgwMSA5LjE0NTU4IDIyLjk4MDEgMTAuNzczOEMyMi45ODAxIDEyLjQwMiAyMi40NTUxIDEzLjczMzUgMjEuNDA1MSAxNC43NjgzQzIwLjM3MDQgMTUuNzg3OSAxOS4wMDg0IDE2LjI5NzYgMTcuMzE5MyAxNi4yOTc2QzE1LjYxNSAxNi4yOTc2IDE0LjIzNzkgMTUuNzg3OSAxMy4xODc5IDE0Ljc2ODNDMTIuMTUzMSAxMy43MzM1IDExLjYzNTcgMTIuNDAyIDExLjYzNTcgMTAuNzczOEMxMS42MzU3IDkuMTQ1NTggMTIuMTUzMSA3LjgyMTY5IDEzLjE4NzkgNi44MDIxNUMxNC4yMzc5IDUuNzY3MzggMTUuNjE1IDUuMjUgMTcuMzE5MyA1LjI1Wk0xNS40OTMzIDEyLjkxOTRDMTUuOTQ5OCAxMy40NjcyIDE2LjU1ODUgMTMuNzQxMiAxNy4zMTkzIDEzLjc0MTJDMTguMDgwMiAxMy43NDEyIDE4LjY4MTMgMTMuNDY3MiAxOS4xMjI2IDEyLjkxOTRDMTkuNTc5MSAxMi4zNzE2IDE5LjgwNzMgMTEuNjU2NCAxOS44MDczIDEwLjc3MzhDMTkuODA3MyA5Ljg5MTIyIDE5LjU3OTEgOS4xNzYwMiAxOS4xMjI2IDguNjI4MkMxOC42ODEzIDguMDgwMzggMTguMDgwMiA3LjgwNjQ4IDE3LjMxOTMgNy44MDY0OEMxNi41NTg1IDcuODA2NDggMTUuOTQ5OCA4LjA4MDM4IDE1LjQ5MzMgOC42MjgyQzE1LjAzNjggOS4xNzYwMiAxNC44MDg1IDkuODkxMjIgMTQuODA4NSAxMC43NzM4QzE0LjgwODUgMTEuNjU2NCAxNS4wMzY4IDEyLjM3MTYgMTUuNDkzMyAxMi45MTk0WiIgZmlsbD0id2hpdGUiLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9Ik01LjU5MjI5IDUuMjVDNi45NzcwNSA1LjI1IDguMDcyNjggNS42MTUyMSA4Ljg3OTE5IDYuMzQ1NjNDOS43MDA5MSA3LjA2MDg0IDEwLjExMTggNy45NTg2NSAxMC4xMTE4IDkuMDM5MDZMMTAuMDQzMyA5LjgzNzk2TDcuMjgxMzkgOS45OTc3NEM3LjMxMTgzIDkuOTM2ODcgNy4zMjcwNCA5Ljc3NzA5IDcuMzI3MDQgOS41MTg0QzcuMzI3MDQgOS4wMzE0NSA3LjE2NzI2IDguNjI4MiA2Ljg0NzcgOC4zMDg2NEM2LjU0MzM2IDcuOTczODYgNi4xMDk2NyA3LjgwNjQ4IDUuNTQ2NjQgNy44MDY0OEM0LjgzMTQ0IDcuODA2NDggNC4yNTMxOSA4LjA3Mjc4IDMuODExODkgOC42MDUzN0MzLjM4NTgxIDkuMTM3OTcgMy4xNzI3NyA5LjgzNzk2IDMuMTcyNzcgMTAuNzA1M0MzLjE3Mjc3IDExLjY0ODggMy40MDg2MyAxMi4zOTQ0IDMuODgwMzcgMTIuOTQyM0M0LjM2NzMxIDEzLjQ3NDkgNS4wNTk2OSAxMy43NDEyIDUuOTU3NSAxMy43NDEyQzcuMjM1NzQgMTMuNzQxMiA4LjIxNzI1IDEzLjMyMjcgOC45MDIwMiAxMi40ODU3TDEwLjQzMTMgMTQuNDQ4N0MxMC4wMzU3IDE0Ljk1MDkgOS40MzQ2MSAxNS4zODQ2IDguNjI4MTEgMTUuNzQ5OEM3LjgyMTYgMTYuMTE1IDYuODYyOTIgMTYuMjk3NiA1Ljc1MjA3IDE2LjI5NzZDMy45NzE2NyAxNi4yOTc2IDIuNTY0MDkgMTUuNzk1NSAxLjUyOTMyIDE0Ljc5MTFDMC41MDk3NzQgMTMuNzcxNiAwIDEyLjQ0NzcgMCAxMC44MTk1QzAgOS4xNjA4IDAuNTE3MzgyIDcuODIxNjkgMS41NTIxNSA2LjgwMjE1QzIuNTg2OTEgNS43NjczOCAzLjkzMzYzIDUuMjUgNS41OTIyOSA1LjI1WiIgZmlsbD0id2hpdGUiLz5cbiAgICAgICAgICAgIDxwYXRoIGQ9Ik04OC40MTA3IDExLjM2NDdDODkuMDU4OSAxMi40OTk2IDg5LjcwNjMgMTMuNDIzIDkwLjM4MDggMTQuMzg0OEM5MC42NzMzIDE0LjgwMjEgOTAuOTcxIDE1LjIyNjYgOTEuMjc2IDE1LjY3ODhDOTEuNjYzNSAxNi4yNTMzIDkxLjE2MSAxNi45NDE4IDkwLjUyMDYgMTYuNjc2OUM4OC4wMjM1IDE1LjY0MzggODYuMTk5MiAxMy42OTk4IDg0Ljk0OTQgMTEuODY5Nkg4My42MVYxNi4xNjA4SDgwLjQ4MjlWMC4wNDU4OTg0SDgzLjYxVjkuNDI3MjVIODQuOTMzOUM4NS43ODYxIDkuNDI3MjUgODYuNDU1NiA5LjE2ODU2IDg2Ljk0MjYgOC42NTExOEM4Ny40Mjk1IDguMTMzOCA4Ny42NzMgNy4zOTU3NyA4Ny42NzMgNi40MzcwOUM4Ny42NzMgNi4xOTM2MSA4Ny42NDI2IDUuODQzNjIgODcuNTgxNyA1LjM4NzExSDkwLjU3MTlDOTAuNjQ3OSA1LjczNzEgOTAuNjg2IDYuMTA5OTIgOTAuNjg2IDYuNTA1NTdDOTAuNjg2IDguNjI1IDg5LjczOTggMTAuNDQwNyA4OC40MTA3IDExLjM2NDdaIiBmaWxsPSJ3aGl0ZSIvPlxuICAgICAgICAgIDwvZz5cbiAgICAgICAgICA8ZGVmcz5cbiAgICAgICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcDBfMl83NTkiPlxuICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMTA0IiBoZWlnaHQ9IjIxIiBmaWxsPSJ3aGl0ZSIvPlxuICAgICAgICAgICAgPC9jbGlwUGF0aD5cbiAgICAgICAgICA8L2RlZnM+XG4gICAgICAgIDwvc3ZnPlxuICAgICAgICAnOidcbiAgICAgICAgICA8c3ZnIHdpZHRoPSI2NCIgaGVpZ2h0PSIxMyIgdmlld0JveD0iMCAwIDEwNCAyMSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj5cbiAgICAgICAgICAgIDxnIGNsaXAtcGF0aD0idXJsKCNjbGlwMF8yXzc2MCkiPlxuICAgICAgICAgICAgICA8cGF0aCBkPSJNOTcuOTQ0OCA1LjI1Qzk5LjYzMzkgNS4yNSAxMDAuOTk2IDUuNzY3MzggMTAyLjAzMSA2LjgwMjE1QzEwMy4wODEgNy44MjE2OSAxMDMuNjA2IDkuMTQ1NTggMTAzLjYwNiAxMC43NzM4QzEwMy42MDYgMTIuNDAyIDEwMy4wODEgMTMuNzMzNSAxMDIuMDMxIDE0Ljc2ODNDMTAwLjk5NiAxNS43ODc5IDk5LjYzMzkgMTYuMjk3NiA5Ny45NDQ4IDE2LjI5NzZDOTYuMjQwNSAxNi4yOTc2IDk0Ljg2MzQgMTUuNzg3OSA5My44MTM0IDE0Ljc2ODNDOTIuNzc4NiAxMy43MzM1IDkyLjI2MTIgMTIuNDAyIDkyLjI2MTIgMTAuNzczOEM5Mi4yNjEyIDkuMTQ1NTggOTIuNzc4NiA3LjgyMTY5IDkzLjgxMzQgNi44MDIxNUM5NC44NjM0IDUuNzY3MzggOTYuMjQwNSA1LjI1IDk3Ljk0NDggNS4yNVpNOTYuMTE4OCAxMi45MTk0Qzk2LjU3NTMgMTMuNDY3MiA5Ny4xODQgMTMuNzQxMiA5Ny45NDQ4IDEzLjc0MTJDOTguNzA1NyAxMy43NDEyIDk5LjMwNjggMTMuNDY3MiA5OS43NDgxIDEyLjkxOTRDMTAwLjIwNSAxMi4zNzE2IDEwMC40MzMgMTEuNjU2NCAxMDAuNDMzIDEwLjc3MzhDMTAwLjQzMyA5Ljg5MTIyIDEwMC4yMDUgOS4xNzYwMiA5OS43NDgxIDguNjI4MkM5OS4zMDY4IDguMDgwMzggOTguNzA1NyA3LjgwNjQ4IDk3Ljk0NDggNy44MDY0OEM5Ny4xODQgNy44MDY0OCA5Ni41NzUzIDguMDgwMzggOTYuMTE4OCA4LjYyODJDOTUuNjYyMyA5LjE3NjAyIDk1LjQzNCA5Ljg5MTIyIDk1LjQzNCAxMC43NzM4Qzk1LjQzNCAxMS42NTY0IDk1LjY2MjMgMTIuMzcxNiA5Ni4xMTg4IDEyLjkxOTRaIiBmaWxsPSJibGFjayIvPlxuICAgICAgICAgICAgICA8cGF0aCBkPSJNNzMuODY4NyA1LjI1Qzc1LjI1MzQgNS4yNSA3Ni4zNDkxIDUuNjE1MjEgNzcuMTU1NiA2LjM0NTYzQzc3Ljk3NzMgNy4wNjA4NCA3OC4zODgxIDcuOTU4NjUgNzguMzg4MSA5LjAzOTA2TDc4LjMxOTcgOS44Mzc5Nkw3NS41NTc4IDkuOTk3NzRDNzUuNTg4MiA5LjkzNjg3IDc1LjYwMzQgOS43NzcwOSA3NS42MDM0IDkuNTE4NEM3NS42MDM0IDkuMDMxNDUgNzUuNDQzNiA4LjYyODIgNzUuMTI0MSA4LjMwODY0Qzc0LjgxOTcgNy45NzM4NiA3NC4zODYgNy44MDY0OCA3My44MjMgNy44MDY0OEM3My4xMDc4IDcuODA2NDggNzIuNTI5NiA4LjA3Mjc4IDcyLjA4ODMgOC42MDUzN0M3MS42NjIyIDkuMTM3OTcgNzEuNDQ5MSA5LjgzNzk2IDcxLjQ0OTEgMTAuNzA1M0M3MS40NDkxIDExLjY0ODggNzEuNjg1IDEyLjM5NDQgNzIuMTU2NyAxMi45NDIzQzcyLjY0MzcgMTMuNDc0OSA3My4zMzYxIDEzLjc0MTIgNzQuMjMzOSAxMy43NDEyQzc1LjUxMjEgMTMuNzQxMiA3Ni40OTM2IDEzLjMyMjcgNzcuMTc4NCAxMi40ODU3TDc4LjcwNzcgMTQuNDQ4N0M3OC4zMTIxIDE0Ljk1MDkgNzcuNzExIDE1LjM4NDYgNzYuOTA0NSAxNS43NDk4Qzc2LjA5OCAxNi4xMTUgNzUuMTM5MyAxNi4yOTc2IDc0LjAyODQgMTYuMjk3NkM3Mi4yNDggMTYuMjk3NiA3MC44NDA1IDE1Ljc5NTUgNjkuODA1NyAxNC43OTExQzY4Ljc4NjEgMTMuNzcxNiA2OC4yNzY0IDEyLjQ0NzcgNjguMjc2NCAxMC44MTk1QzY4LjI3NjQgOS4xNjA4IDY4Ljc5MzggNy44MjE2OSA2OS44Mjg1IDYuODAyMTVDNzAuODYzMyA1Ljc2NzM4IDcyLjIxIDUuMjUgNzMuODY4NyA1LjI1WiIgZmlsbD0iYmxhY2siLz5cbiAgICAgICAgICAgICAgPHBhdGggZD0iTTYyLjQ5MiAxMy45MjM4QzYzLjYwMjkgMTMuOTIzOCA2NC41MzExIDEzLjUxMjkgNjUuMjc2OCAxMi42OTEyTDY2Ljc2MDQgMTQuNDAzMUM2Ni4zNDk2IDE0LjkzNTcgNjUuNzQwOSAxNS4zODQ2IDY0LjkzNDQgMTUuNzQ5OEM2NC4xNDMxIDE2LjExNSA2My4yMDcyIDE2LjI5NzYgNjIuMTI2OCAxNi4yOTc2QzYwLjM0NjQgMTYuMjk3NiA1OC45MzEyIDE1Ljc4NzkgNTcuODgxMiAxNC43NjgzQzU2Ljg0NjUgMTMuNzQ4OCA1Ni4zMjkxIDEyLjQxNzMgNTYuMzI5MSAxMC43NzM4QzU2LjMyOTEgOS4xNDU1OCA1Ni44MzEzIDcuODIxNjkgNTcuODM1NiA2LjgwMjE1QzU4LjgzOTkgNS43NjczOCA2MC4xNzE0IDUuMjUgNjEuODMwMSA1LjI1QzYzLjM2NyA1LjI1IDY0LjU3NjggNS43MjE3MyA2NS40NTk0IDYuNjY1MTlDNjYuMzQyIDcuNjA4NjUgNjYuNzgzMyA4LjgzMzYzIDY2Ljc4MzMgMTAuMzQwMUw2Ni42OTIgMTEuNDgxNEg1OS40MzM0QzU5LjU3MDMgMTIuMjI3IDU5Ljg5NzUgMTIuODIwNSA2MC40MTQ5IDEzLjI2MThDNjAuOTMyMyAxMy43MDMxIDYxLjYyNDcgMTMuOTIzOCA2Mi40OTIgMTMuOTIzOFpNNjEuODMwMSA3LjYyMzg3QzYxLjIwNjIgNy42MjM4NyA2MC42NzM2IDcuODIxNjkgNjAuMjMyMyA4LjIxNzM0QzU5LjgwNjIgOC41OTc3NyA1OS41Mzk5IDkuMTQ1NTggNTkuNDMzNCA5Ljg2MDc5SDYzLjkzMDFDNjMuOTE0OCA5LjIwNjQ1IDYzLjcxNyA4LjY3Mzg1IDYzLjMzNjYgOC4yNjI5OUM2Mi45NzE0IDcuODM2OTEgNjIuNDY5MiA3LjYyMzg3IDYxLjgzMDEgNy42MjM4N1oiIGZpbGw9ImJsYWNrIi8+XG4gICAgICAgICAgICAgIDxwYXRoIGQ9Ik01MS44NTQ1IDUuMzg2OTVINTQuMzE5N1YxNS43NDk4QzU0LjMxOTcgMTcuMzMyNCA1My43NzE5IDE4LjYwMyA1Mi42NzYzIDE5LjU2MTdDNTEuNTgwNiAyMC41MjA0IDUwLjExMjIgMjAuOTk5NyA0OC4yNzA5IDIwLjk5OTdDNDYuMzA3OSAyMC45OTk3IDQ0LjY5NDkgMjAuNTczNiA0My40MzE5IDE5LjcyMTVMNDMuNzQ0MiAxNy41NjZDNDQuNzMzMyAxOC4zMTE3IDQ2Ljg0ODEgMTguNDg4OSA0OC4yMDI0IDE4LjQ4ODlDNDkuMTE1NSAxOC40ODg5IDQ5LjgzODMgMTguMjYwNiA1MC4zNzA5IDE3LjgwNDFDNTAuOTE4NyAxNy4zNjI4IDUxLjE5MjYgMTYuNzA4NSA1MS4xOTI2IDE1Ljg0MTFWMTQuNTE3MkM1MC40OTI2IDE1LjUzNjggNDkuNDEyMiAxNi4wNDY1IDQ3Ljk1MTMgMTYuMDQ2NUM0Ni41MjA5IDE2LjA0NjUgNDUuMzQ5MiAxNS41NzQ4IDQ0LjQzNjIgMTQuNjMxNEM0My41MjMyIDEzLjY3MjcgNDMuMDY2NyAxMi4zNDEyIDQzLjA2NjcgMTAuNjM2OUM0My4wNjY3IDkuMDA4NjMgNDMuNTAwMyA3LjcwNzU2IDQ0LjM2NzcgNi43MzM2N0M0NS4yMzUxIDUuNzQ0NTYgNDYuNDA2OCA1LjI1IDQ3Ljg4MjkgNS4yNUM0OS42MDI0IDUuMjUgNTAuNzgxNyA1Ljk3MjgxIDUxLjQyMDggNy40MTg0NEg1MS40ODkzQzUxLjQ3NDEgNy4yNTEwNSA1MS41MDQ1IDYuOTQ2NzEgNTEuNTgwNiA2LjUwNTQxQzUxLjY1NjcgNi4wNjQxMiA1MS43NDggNS42OTEzIDUxLjg1NDUgNS4zODY5NVpNNDguNzI3NCAxMy40MjE2QzQ5LjQ3MzEgMTMuNDIxNiA1MC4wNjY1IDEzLjE2MjkgNTAuNTA3OCAxMi42NDU1QzUwLjk2NDMgMTIuMTEyOSA1MS4xOTI2IDExLjUyNzEgNTEuMTkyNiAxMC44ODc5VjEwLjQwODZDNTEuMTkyNiA5LjcyMzgzIDUwLjk2NDMgOS4xMzAzNiA1MC41MDc4IDguNjI4MkM1MC4wNTEzIDguMTI2MDMgNDkuNDM1IDcuODc0OTUgNDguNjU4OSA3Ljg3NDk1QzQ3LjkyODUgNy44NzQ5NSA0Ny4zNDI3IDguMTI2MDMgNDYuOTAxNCA4LjYyODJDNDYuNDYwMSA5LjEzMDM2IDQ2LjIzOTQgOS43OTk5MiA0Ni4yMzk0IDEwLjYzNjlDNDYuMjM5NCAxMS40ODkgNDYuNDYwMSAxMi4xNjYyIDQ2LjkwMTQgMTIuNjY4M0M0Ny4zNTc5IDEzLjE3MDUgNDcuOTY2NiAxMy40MjE2IDQ4LjcyNzQgMTMuNDIxNloiIGZpbGw9ImJsYWNrIi8+XG4gICAgICAgICAgICAgIDxwYXRoIGQ9Ik0zNy4wOTk2IDUuMjVDMzguMzkzIDUuMjUgMzkuMzgyMSA1LjY0NTY1IDQwLjA2NjkgNi40MzY5NEM0MC43NjY5IDcuMjI4MjMgNDEuMTE2OSA4LjI2Mjk5IDQxLjExNjkgOS41NDEyM1YxNi4xNjA3SDM3Ljk4OThWMTAuMDg5QzM3Ljk4OTggOS40MzQ3MSAzNy44MjI0IDguOTE3MzMgMzcuNDg3NiA4LjUzNjlDMzcuMTY4IDguMTQxMjUgMzYuNzAzOSA3Ljk0MzQzIDM2LjA5NTIgNy45NDM0M0MzNS4zNDk2IDcuOTQzNDMgMzQuNzc5IDguMjA5NzMgMzQuMzgzMyA4Ljc0MjMzQzM0LjAwMjkgOS4yNzQ5MyAzMy44MTI3IDkuODkxMjIgMzMuODEyNyAxMC41OTEyVjE2LjE2MDdIMzAuNjg1NVY1LjM4Njk1TDMzLjEyNzkgNS4yOTU2NUMzMy4zODY2IDYuMTAyMTYgMzMuNTE1OSA2Ljg1NTQxIDMzLjUxNTkgNy41NTUzOUgzMy42MDcyQzM0LjIzMTEgNi4wMTg0NiAzNS4zOTUyIDUuMjUgMzcuMDk5NiA1LjI1WiIgZmlsbD0iYmxhY2siLz5cbiAgICAgICAgICAgICAgPHBhdGggZD0iTTI4LjU4NTMgMS45NDAxOEMyOC41ODUzIDIuNTAzMjEgMjguMzg3NSAyLjk2NzM0IDI3Ljk5MTggMy4zMzI1NUMyNy41OTYyIDMuNjk3NzYgMjcuMTE2OSAzLjg4MDM2IDI2LjU1MzggMy44ODAzNkMyNS45OTA4IDMuODgwMzYgMjUuNTExNSAzLjY5Nzc2IDI1LjExNTggMy4zMzI1NUMyNC43MzU0IDIuOTY3MzQgMjQuNTQ1MiAyLjUwMzIxIDI0LjU0NTIgMS45NDAxOEMyNC41NDUyIDEuMzkyMzcgMjQuNzM1NCAwLjkzNTg1MiAyNS4xMTU4IDAuNTcwNjQxQzI1LjUxMTUgMC4xOTAyMTMgMjUuOTkwOCAwIDI2LjU1MzggMEMyNy4xMTY5IDAgMjcuNTk2MiAwLjE5MDIxMyAyNy45OTE4IDAuNTcwNjQxQzI4LjM4NzUgMC45MzU4NTIgMjguNTg1MyAxLjM5MjM3IDI4LjU4NTMgMS45NDAxOFpNMjQuOTc4OSAxNi4xNjA2VjUuMzg2ODZMMjguMTA2IDUuMjk1NTZWMTYuMTYwNkgyNC45Nzg5WiIgZmlsbD0iYmxhY2siLz5cbiAgICAgICAgICAgICAgPHBhdGggZD0iTTE3LjMxOTMgNS4yNUMxOS4wMDg0IDUuMjUgMjAuMzcwNCA1Ljc2NzM4IDIxLjQwNTEgNi44MDIxNUMyMi40NTUxIDcuODIxNjkgMjIuOTgwMSA5LjE0NTU4IDIyLjk4MDEgMTAuNzczOEMyMi45ODAxIDEyLjQwMiAyMi40NTUxIDEzLjczMzUgMjEuNDA1MSAxNC43NjgzQzIwLjM3MDQgMTUuNzg3OSAxOS4wMDg0IDE2LjI5NzYgMTcuMzE5MyAxNi4yOTc2QzE1LjYxNSAxNi4yOTc2IDE0LjIzNzkgMTUuNzg3OSAxMy4xODc5IDE0Ljc2ODNDMTIuMTUzMSAxMy43MzM1IDExLjYzNTcgMTIuNDAyIDExLjYzNTcgMTAuNzczOEMxMS42MzU3IDkuMTQ1NTggMTIuMTUzMSA3LjgyMTY5IDEzLjE4NzkgNi44MDIxNUMxNC4yMzc5IDUuNzY3MzggMTUuNjE1IDUuMjUgMTcuMzE5MyA1LjI1Wk0xNS40OTMzIDEyLjkxOTRDMTUuOTQ5OCAxMy40NjcyIDE2LjU1ODUgMTMuNzQxMiAxNy4zMTkzIDEzLjc0MTJDMTguMDgwMiAxMy43NDEyIDE4LjY4MTMgMTMuNDY3MiAxOS4xMjI2IDEyLjkxOTRDMTkuNTc5MSAxMi4zNzE2IDE5LjgwNzMgMTEuNjU2NCAxOS44MDczIDEwLjc3MzhDMTkuODA3MyA5Ljg5MTIyIDE5LjU3OTEgOS4xNzYwMiAxOS4xMjI2IDguNjI4MkMxOC42ODEzIDguMDgwMzggMTguMDgwMiA3LjgwNjQ4IDE3LjMxOTMgNy44MDY0OEMxNi41NTg1IDcuODA2NDggMTUuOTQ5OCA4LjA4MDM4IDE1LjQ5MzMgOC42MjgyQzE1LjAzNjggOS4xNzYwMiAxNC44MDg1IDkuODkxMjIgMTQuODA4NSAxMC43NzM4QzE0LjgwODUgMTEuNjU2NCAxNS4wMzY4IDEyLjM3MTYgMTUuNDkzMyAxMi45MTk0WiIgZmlsbD0iYmxhY2siLz5cbiAgICAgICAgICAgICAgPHBhdGggZD0iTTUuNTkyMjkgNS4yNUM2Ljk3NzA1IDUuMjUgOC4wNzI2OCA1LjYxNTIxIDguODc5MTkgNi4zNDU2M0M5LjcwMDkxIDcuMDYwODQgMTAuMTExOCA3Ljk1ODY1IDEwLjExMTggOS4wMzkwNkwxMC4wNDMzIDkuODM3OTZMNy4yODEzOSA5Ljk5Nzc0QzcuMzExODMgOS45MzY4NyA3LjMyNzA0IDkuNzc3MDkgNy4zMjcwNCA5LjUxODRDNy4zMjcwNCA5LjAzMTQ1IDcuMTY3MjYgOC42MjgyIDYuODQ3NyA4LjMwODY0QzYuNTQzMzYgNy45NzM4NiA2LjEwOTY3IDcuODA2NDggNS41NDY2NCA3LjgwNjQ4QzQuODMxNDQgNy44MDY0OCA0LjI1MzE5IDguMDcyNzggMy44MTE4OSA4LjYwNTM3QzMuMzg1ODEgOS4xMzc5NyAzLjE3Mjc3IDkuODM3OTYgMy4xNzI3NyAxMC43MDUzQzMuMTcyNzcgMTEuNjQ4OCAzLjQwODYzIDEyLjM5NDQgMy44ODAzNyAxMi45NDIzQzQuMzY3MzEgMTMuNDc0OSA1LjA1OTY5IDEzLjc0MTIgNS45NTc1IDEzLjc0MTJDNy4yMzU3NCAxMy43NDEyIDguMjE3MjUgMTMuMzIyNyA4LjkwMjAyIDEyLjQ4NTdMMTAuNDMxMyAxNC40NDg3QzEwLjAzNTcgMTQuOTUwOSA5LjQzNDYxIDE1LjM4NDYgOC42MjgxMSAxNS43NDk4QzcuODIxNiAxNi4xMTUgNi44NjI5MiAxNi4yOTc2IDUuNzUyMDcgMTYuMjk3NkMzLjk3MTY3IDE2LjI5NzYgMi41NjQwOSAxNS43OTU1IDEuNTI5MzIgMTQuNzkxMUMwLjUwOTc3NCAxMy43NzE2IDAgMTIuNDQ3NyAwIDEwLjgxOTVDMCA5LjE2MDggMC41MTczODIgNy44MjE2OSAxLjU1MjE1IDYuODAyMTVDMi41ODY5MSA1Ljc2NzM4IDMuOTMzNjMgNS4yNSA1LjU5MjI5IDUuMjVaIiBmaWxsPSJibGFjayIvPlxuICAgICAgICAgICAgICA8cGF0aCBkPSJNODguNDEwNyAxMS4zNjQ3Qzg5LjA1ODkgMTIuNDk5NiA4OS43MDYzIDEzLjQyMyA5MC4zODA4IDE0LjM4NDhDOTAuNjczMyAxNC44MDIxIDkwLjk3MSAxNS4yMjY2IDkxLjI3NiAxNS42Nzg4QzkxLjY2MzUgMTYuMjUzMyA5MS4xNjEgMTYuOTQxOCA5MC41MjA2IDE2LjY3NjlDODguMDIzNSAxNS42NDM4IDg2LjE5OTIgMTMuNjk5OCA4NC45NDk0IDExLjg2OTZIODMuNjFWMTYuMTYwOEg4MC40ODI5VjAuMDQ1ODk4NEg4My42MVY5LjQyNzI1SDg0LjkzMzlDODUuNzg2MSA5LjQyNzI1IDg2LjQ1NTYgOS4xNjg1NiA4Ni45NDI2IDguNjUxMThDODcuNDI5NSA4LjEzMzggODcuNjczIDcuMzk1NzcgODcuNjczIDYuNDM3MDlDODcuNjczIDYuMTkzNjEgODcuNjQyNiA1Ljg0MzYyIDg3LjU4MTcgNS4zODcxMUg5MC41NzE5QzkwLjY0NzkgNS43MzcxIDkwLjY4NiA2LjEwOTkyIDkwLjY4NiA2LjUwNTU3QzkwLjY4NiA4LjYyNSA4OS43Mzk4IDEwLjQ0MDcgODguNDEwNyAxMS4zNjQ3WiIgZmlsbD0iYmxhY2siLz5cbiAgICAgICAgICAgIDwvZz5cbiAgICAgICAgICAgIDxkZWZzPlxuICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9ImNsaXAwXzJfNzYwIj5cbiAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD0iMTA0IiBoZWlnaHQ9IjIxIiBmaWxsPSJ3aGl0ZSIvPlxuICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxuICAgICAgICAgICAgPC9kZWZzPlxuICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAnfX19LHM9YSxjPWkoIjI4NzciKSxoPU9iamVjdChjWyJhIl0pKHMsbixyLCExLG51bGwsbnVsbCxudWxsKTtlWyJhIl09aC5leHBvcnRzfSxjMjA3OmZ1bmN0aW9uKHQsZSl7fSxjMzY2OmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI2ODIxIikscj1pKCI5ZGVmIiksbz1pKCI3N2YxIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiBmdW5jdGlvbihlLGksYSl7dmFyIHMsYz1uKGUpLGg9cihjLmxlbmd0aCksbD1vKGEsaCk7aWYodCYmaSE9aSl7d2hpbGUoaD5sKWlmKHM9Y1tsKytdLHMhPXMpcmV0dXJuITB9ZWxzZSBmb3IoO2g+bDtsKyspaWYoKHR8fGwgaW4gYykmJmNbbF09PT1pKXJldHVybiB0fHxsfHwwO3JldHVybiF0JiYtMX19fSxjMzY3OmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiODQzNiIpLHI9aSgiNTBlZCIpLG89aSgiNDgxYiIpLGE9aSgiMzZjMyIpO3QuZXhwb3J0cz1pKCIzMGYxIikoQXJyYXksIkFycmF5IiwoZnVuY3Rpb24odCxlKXt0aGlzLl90PWEodCksdGhpcy5faT0wLHRoaXMuX2s9ZX0pLChmdW5jdGlvbigpe3ZhciB0PXRoaXMuX3QsZT10aGlzLl9rLGk9dGhpcy5faSsrO3JldHVybiF0fHxpPj10Lmxlbmd0aD8odGhpcy5fdD12b2lkIDAscigxKSk6cigwLCJrZXlzIj09ZT9pOiJ2YWx1ZXMiPT1lP3RbaV06W2ksdFtpXV0pfSksInZhbHVlcyIpLG8uQXJndW1lbnRzPW8uQXJyYXksbigia2V5cyIpLG4oInZhbHVlcyIpLG4oImVudHJpZXMiKX0sYzNhMTpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZTZmMyIpLHI9aSgiMTY5MSIpO3QuZXhwb3J0cz1PYmplY3Qua2V5c3x8ZnVuY3Rpb24odCl7cmV0dXJuIG4odCxyKX19LGM0YmU6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0IjtpKCI4ZTZlIiksaSgiYWM2YSIpLGkoIjQ1NmQiKSxpKCI2YjU0IiksaSgiN2Y3ZiIpLGkoIjY3NjIiKSxpKCIyZmRiIiksaSgiYzVmNiIpO3ZhciBuPWkoImJkODYiKSxyPWkoIjQyYjgiKSxvPShpKCI5NmNmIiksaSgiM2I4ZCIpKSxhPShpKCJmNTU5IiksaSgiNTVkZCIpLCJnZWNrby1jYWNoZToiKSxzPSJnZWNrb3dpZGdldHMiO2Z1bmN0aW9uIGModCl7cmV0dXJuIHQuc2VhcmNoUGFyYW1zLnNvcnQoKSwiIi5jb25jYXQoYSkuY29uY2F0KHQudG9TdHJpbmcoKSl9ZnVuY3Rpb24gaCh0LGUpe3JldHVybntleHBpcmVzQXQ6ZT9EYXRlLm5vdygpKzFlMyplOnZvaWQgMCx2YWx1ZTp0fX12YXIgbD17Y3JlYXRlZDpmdW5jdGlvbigpe3ZhciB0PU9iamVjdC5rZXlzKHNlc3Npb25TdG9yYWdlKS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnN0YXJ0c1dpdGgoYSl9KSk7dC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1zZXNzaW9uU3RvcmFnZS5nZXRJdGVtKHQpLGk9ZSYmSlNPTi5wYXJzZShlKTsoIWl8fGkuZXhwaXJlc0F0JiZEYXRlLm5vdygpPj1pLmV4cGlyZXNBdCkmJnNlc3Npb25TdG9yYWdlLnJlbW92ZUl0ZW0odCl9KSl9LG1ldGhvZHM6e19nZXRBcGlEYXRhOmZ1bmN0aW9uKCl7dmFyIHQ9T2JqZWN0KG9bImEiXSkocmVnZW5lcmF0b3JSdW50aW1lLm1hcmsoKGZ1bmN0aW9uIHQoZSl7dmFyIGksbixyLG8sYT1hcmd1bWVudHM7cmV0dXJuIHJlZ2VuZXJhdG9yUnVudGltZS53cmFwKChmdW5jdGlvbih0KXt3aGlsZSgxKXN3aXRjaCh0LnByZXY9dC5uZXh0KXtjYXNlIDA6aWYoaT1hLmxlbmd0aD4xJiZ2b2lkIDAhPT1hWzFdP2FbMV06MzAsZS5zZWFyY2hQYXJhbXMuc2V0KCJzb3VyY2UiLHMpLG49dGhpcy5fcmVhZENhY2hlKGUpLCFuKXt0Lm5leHQ9NTticmVha31yZXR1cm4gdC5hYnJ1cHQoInJldHVybiIsbik7Y2FzZSA1OnJldHVybiB0Lm5leHQ9NyxmZXRjaChlLnRvU3RyaW5nKCkpO2Nhc2UgNzppZihyPXQuc2VudCxyJiZyLm9rKXt0Lm5leHQ9MTA7YnJlYWt9cmV0dXJuIHQuYWJydXB0KCJyZXR1cm4iLHRoaXMuX2Vycm9yKCJDb3VsZG4ndCBsb2FkIGRhdGEgZnJvbSBDb2luR2Vja28gQVBJISBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIpKTtjYXNlIDEwOnJldHVybiB0Lm5leHQ9MTIsci5qc29uKCk7Y2FzZSAxMjpyZXR1cm4gbz10LnNlbnQsdGhpcy5fd3JpdGVDYWNoZShlLG8saSksdC5hYnJ1cHQoInJldHVybiIsbyk7Y2FzZSAxNTpjYXNlImVuZCI6cmV0dXJuIHQuc3RvcCgpfX0pLHQsdGhpcyl9KSkpO2Z1bmN0aW9uIGUoZSl7cmV0dXJuIHQuYXBwbHkodGhpcyxhcmd1bWVudHMpfXJldHVybiBlfSgpLF9yZWFkQ2FjaGU6ZnVuY3Rpb24odCl7dmFyIGU9c2Vzc2lvblN0b3JhZ2UuZ2V0SXRlbShjKHQpKSxpPWUmJkpTT04ucGFyc2UoZSk7cmV0dXJuIWl8fGkuZXhwaXJlc0F0JiZEYXRlLm5vdygpPj1pLmV4cGlyZXNBdD9udWxsOmkudmFsdWV9LF93cml0ZUNhY2hlOmZ1bmN0aW9uKHQsZSl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOjMwO2lmKGkpe3ZhciBuPWModCkscj1KU09OLnN0cmluZ2lmeShoKGUsaSkpO3RyeXtzZXNzaW9uU3RvcmFnZS5zZXRJdGVtKG4scil9Y2F0Y2gobyl7dGhpcy5fd2FybigiQ2FjaGU6IENvdWxkIG5vdCB3cml0ZSB0byBzZXNzaW9uU3RvcmFnZSEiKX19fX19LHA9aSgiN2RhYiIpO2Z1bmN0aW9uIGQodCxlKXt2YXIgaT1PYmplY3Qua2V5cyh0KTtpZihPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXt2YXIgbj1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHQpO2UmJihuPW4uZmlsdGVyKChmdW5jdGlvbihlKXtyZXR1cm4gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LGUpLmVudW1lcmFibGV9KSkpLGkucHVzaC5hcHBseShpLG4pfXJldHVybiBpfWZ1bmN0aW9uIHUodCl7Zm9yKHZhciBlPTE7ZTxhcmd1bWVudHMubGVuZ3RoO2UrKyl7dmFyIGk9bnVsbCE9YXJndW1lbnRzW2VdP2FyZ3VtZW50c1tlXTp7fTtlJTI/ZChPYmplY3QoaSksITApLmZvckVhY2goKGZ1bmN0aW9uKGUpe09iamVjdChuWyJhIl0pKHQsZSxpW2VdKX0pKTpPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycz9PYmplY3QuZGVmaW5lUHJvcGVydGllcyh0LE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKGkpKTpkKE9iamVjdChpKSkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSxPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGksZSkpfSkpfXJldHVybiB0fWkuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gbX0pKTt2YXIgZj0zMDAsbT17bWl4aW5zOltsLHJbImEiXV0scHJvcHM6dSh7ZGFya01vZGU6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxvdXRsaW5lZDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LHRyYW5zcGFyZW50QmFja2dyb3VuZDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9LHdpZHRoOnt0eXBlOk51bWJlcixkZWZhdWx0OjB9LGhlaWdodDp7dHlwZTpOdW1iZXIsZGVmYXVsdDowfSxpbml0aWFsQ3VycmVuY3k6e3R5cGU6U3RyaW5nLGRlZmF1bHQ6InVzZCJ9fSxyWyJhIl0ucHJvcHMpLG1ldGhvZHM6e19jaGFuZ2VDdXJyZW5jeTpmdW5jdGlvbih0KXtpZighcFsiYSJdLmluY2x1ZGVzKHQudG9VcHBlckNhc2UoKSkpcmV0dXJuIHRoaXMuX2Vycm9yKCJUaGUgJyIuY29uY2F0KHQsIicgY3VycmVuY3kgaXMgaW52YWxpZCBhbmQgaXMgdW5zdXBwb3J0ZWQuIikpO3RoaXMuYWN0aXZlQ3VycmVuY3k9dC50b0xvd2VyQ2FzZSgpfSxfd2FybjpmdW5jdGlvbih0KXtjb25zb2xlLndhcm4oIlsiLmNvbmNhdCh0aGlzLiRvcHRpb25zLm5hbWUsIl0gIikuY29uY2F0KHQpKX0sX2Vycm9yOmZ1bmN0aW9uKHQpe2NvbnNvbGUuZXJyb3IoIlsiLmNvbmNhdCh0aGlzLiRvcHRpb25zLm5hbWUsIl0gIikuY29uY2F0KHQpKX19LGRhdGE6ZnVuY3Rpb24oKXtyZXR1cm57YWN0aXZlQ3VycmVuY3k6dGhpcy5pbml0aWFsQ3VycmVuY3l8fCJ1c2QifX0sY29tcHV0ZWQ6e3dpZHRoUGl4ZWxzOmZ1bmN0aW9uKCl7dmFyIHQ9cGFyc2VJbnQodGhpcy53aWR0aCk7cmV0dXJuIGlzTmFOKHQpfHx0PGY/IjEwMCUiOiIiLmNvbmNhdCh0LnRvU3RyaW5nKCksInB4Iil9LGhlaWdodFBpeGVsczpmdW5jdGlvbigpe3ZhciB0PXBhcnNlSW50KHRoaXMuaGVpZ2h0KTtyZXR1cm4gaXNOYU4odCk/InVuc2V0IjoiIi5jb25jYXQodC50b1N0cmluZygpLCJweCIpfX19fSxjNWY2OmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiNzcyNiIpLHI9aSgiNjlhOCIpLG89aSgiMmQ5NSIpLGE9aSgiNWRiYyIpLHM9aSgiNmE5OSIpLGM9aSgiNzllNSIpLGg9aSgiOTA5MyIpLmYsbD1pKCIxMWU5IikuZixwPWkoIjg2Y2MiKS5mLGQ9aSgiYWE3NyIpLnRyaW0sdT0iTnVtYmVyIixmPW5bdV0sbT1mLGc9Zi5wcm90b3R5cGUsdj1vKGkoIjJhZWIiKShnKSk9PXUseT0idHJpbSJpbiBTdHJpbmcucHJvdG90eXBlLF89ZnVuY3Rpb24odCl7dmFyIGU9cyh0LCExKTtpZigic3RyaW5nIj09dHlwZW9mIGUmJmUubGVuZ3RoPjIpe2U9eT9lLnRyaW0oKTpkKGUsMyk7dmFyIGksbixyLG89ZS5jaGFyQ29kZUF0KDApO2lmKDQzPT09b3x8NDU9PT1vKXtpZihpPWUuY2hhckNvZGVBdCgyKSw4OD09PWl8fDEyMD09PWkpcmV0dXJuIE5hTn1lbHNlIGlmKDQ4PT09byl7c3dpdGNoKGUuY2hhckNvZGVBdCgxKSl7Y2FzZSA2NjpjYXNlIDk4Om49MixyPTQ5O2JyZWFrO2Nhc2UgNzk6Y2FzZSAxMTE6bj04LHI9NTU7YnJlYWs7ZGVmYXVsdDpyZXR1cm4rZX1mb3IodmFyIGEsYz1lLnNsaWNlKDIpLGg9MCxsPWMubGVuZ3RoO2g8bDtoKyspaWYoYT1jLmNoYXJDb2RlQXQoaCksYTw0OHx8YT5yKXJldHVybiBOYU47cmV0dXJuIHBhcnNlSW50KGMsbil9fXJldHVybitlfTtpZighZigiIDBvMSIpfHwhZigiMGIxIil8fGYoIisweDEiKSl7Zj1mdW5jdGlvbih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPDE/MDp0LGk9dGhpcztyZXR1cm4gaSBpbnN0YW5jZW9mIGYmJih2P2MoKGZ1bmN0aW9uKCl7Zy52YWx1ZU9mLmNhbGwoaSl9KSk6byhpKSE9dSk/YShuZXcgbShfKGUpKSxpLGYpOl8oZSl9O2Zvcih2YXIgYix4PWkoIjllMWUiKT9oKG0pOiJNQVhfVkFMVUUsTUlOX1ZBTFVFLE5hTixORUdBVElWRV9JTkZJTklUWSxQT1NJVElWRV9JTkZJTklUWSxFUFNJTE9OLGlzRmluaXRlLGlzSW50ZWdlcixpc05hTixpc1NhZmVJbnRlZ2VyLE1BWF9TQUZFX0lOVEVHRVIsTUlOX1NBRkVfSU5URUdFUixwYXJzZUZsb2F0LHBhcnNlSW50LGlzSW50ZWdlciIuc3BsaXQoIiwiKSx3PTA7eC5sZW5ndGg+dzt3KyspcihtLGI9eFt3XSkmJiFyKGYsYikmJnAoZixiLGwobSxiKSk7Zi5wcm90b3R5cGU9ZyxnLmNvbnN0cnVjdG9yPWYsaSgiMmFiYSIpKG4sdSxmKX19LGM2NDk6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0IjtpLmQoZSwiYyIsKGZ1bmN0aW9uKCl7cmV0dXJuIG59KSksaS5kKGUsImIiLChmdW5jdGlvbigpe3JldHVybiBvfSkpLGkuZChlLCJhIiwoZnVuY3Rpb24oKXtyZXR1cm4gYX0pKTtpKCJhNDgxIiksaSgiNWRmMyIpLGkoImFjNmEiKTtmdW5jdGlvbiBuKHQpe3ZhciBlPVtdO3JldHVybiB0LmZvckVhY2goKGZ1bmN0aW9uKHQpe2UucHVzaChuZXcgUHJvbWlzZSgoZnVuY3Rpb24oZSxpKXtyKHQsZSxpKX0pKSl9KSksUHJvbWlzZS5hbGwoZSl9ZnVuY3Rpb24gcih0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06ZnVuY3Rpb24oKXt9LGk9YXJndW1lbnRzLmxlbmd0aD4yJiZ2b2lkIDAhPT1hcmd1bWVudHNbMl0/YXJndW1lbnRzWzJdOmZ1bmN0aW9uKCl7fSxuPWRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNjcmlwdCIpO24uc3JjPXQuc3JjLG4uY3Jvc3NPcmlnaW49ImFub255bW91cyIsbi5pbnRlZ3JpdHk9dC5pbnRlZ3JpdHksbi5vbmxvYWQ9ZSxuLm9uZXJyb3I9ZnVuY3Rpb24oKXtpKG5ldyBFcnJvcigiRmFpbGVkIHRvIGxvYWQgc2NyaXB0ICIrdC5zcmMpKX0sZG9jdW1lbnQuaGVhZC5hcHBlbmRDaGlsZChuKX1mdW5jdGlvbiBvKHQsZSxpKXt2YXIgbjtyZXR1cm4gZnVuY3Rpb24oKXt2YXIgcj10aGlzLG89YXJndW1lbnRzLGE9ZnVuY3Rpb24oKXtuPW51bGwsaXx8dC5hcHBseShyLG8pfSxzPWkmJiFuO2NsZWFyVGltZW91dChuKSxuPXNldFRpbWVvdXQoYSxlKSxzJiZ0LmFwcGx5KHIsbyl9fWZ1bmN0aW9uIGEodCl7dmFyIGU9W10uc2xpY2UsaT0xPD1hcmd1bWVudHMubGVuZ3RoP2UuY2FsbChhcmd1bWVudHMsMCk6W10sbj0vKF58W1xzXG5dfDxbQS1aYS16XSpcLz8+KSgoPzpodHRwcz98ZnRwKTpcL1wvW1wtQS1aMC05K1x1MDAyNlx1MjAxOUAjXC8lPz0oKX5ffCE6LC47XSpbXC1BLVowLTkrXHUwMDI2QCNcLyU9figpX3xdKS9naTtyZXR1cm4gaS5sZW5ndGg+MD90LnJlcGxhY2UobiwoZnVuY3Rpb24odCxlLGkpe3ZhciBuPSc8YSBocmVmPSInK2krJyIgY2xhc3M9ImNnLXByaW1hcnktY29sb3ItZGFyayBjZy1uby11bmRlcmxpbmUiIHRhcmdldD0iX2JsYW5rIj4nK2krIjwvYT4iO3JldHVybiIiK2Urbn0pKTp0LnJlcGxhY2UobiwnJDE8YSBjbGFzcz0iY2ctcHJpbWFyeS1jb2xvci1kYXJrIGNnLW5vLXVuZGVybGluZSIgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9IiQyIj4kMjwvYT4nKX19LGM2ODY6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6IlBvxZlhZMOtIHBvZGxlIHRyxb5uw60ga2FwaXRhbGl6YWNlIiwibWNhcCI6IlRyxb5uw60ga2FwaXRhbGl6YWNlIiwiMjRoX3ZvbHVtZSI6Ik9iamVtIHphIDI0IGhvZC4iLCIyNGhfaGlnaF9sb3ciOiJOZWp2ecWhxaHDrS9uZWpuacW+xaHDrSB6YSAyNCBob2QuIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlZ5dcW+w612w6EgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsImNyeXB0b19wcmljZV9jb21wYXJpc29uIjoiU3Jvdm7DoW7DrSBjZW4ga3J5cHRvbcSbbiIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiJTcm92bsOhbsOtIGthcGl0YWxpemFjZSBrcnlwdG8gdHJodSJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlZ5dcW+w612w6EgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6Ik5lanZ5xaHFocOtIHphIDI0IGhvZC4iLCIyNGhfbG93IjoiTmVqbmnFvsWhw60gemEgMjQgaG9kLiIsInZpZXdfcHJpY2VfY2hhcnQiOiJab2JyYXppdCBjZW5vdsO9IGdyYWYgJXtjb2lufSIsInBvd2VyZWRfYnkiOiJWeXXFvsOtdsOhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiVnl1xb7DrXbDoSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlZ5dcW+w612w6EgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJiZWFtX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiVnl1xb7DrXbDoSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6Ik5lanZ5xaHFocOtIHphIDI0IGhvZC4iLCIyNGhfbG93IjoiTmVqbmnFvsWhw60gemEgMjQgaG9kLiIsInZpZXdfcHJpY2VfY2hhcnQiOiJab2JyYXppdCBjZW5vdsO9IGdyYWYgJXtjb2lufSIsInBvd2VyZWRfYnkiOiJWeXXFvsOtdsOhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiJab2JyYXppdCBjZW5vdsO9IGdyYWYgJXtjb2lufSIsInBvd2VyZWRfYnkiOiJWeXXFvsOtdsOhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6IlN0cm9tb3bDoSBtYXBhIGtyeXB0b23Em24iLCJzdWJ0aXRsZSI6IihOZWogJXt0b3B9IHBvZGxlIHRyxb5uw60ga2FwaXRhbGl6YWNlKSIsInBvd2VyZWRfYnkiOiJWeXXFvsOtdsOhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiJPZG3DrXRudXTDrSBvZHBvdsSbZG5vc3RpOiB0eXRvIG7DoXN0cm9qZSBzbG91xb7DrSBwcm8gesOhYmF2dSBhIG5lcMWZZWRzdGF2dWrDrSBmb3JtdSBmaW5hbsSNbsOtaG8gcG9yYWRlbnN0dsOtLiIsInNwaW4iOiJSb3p0b8SNaXQiLCJhdmFpbGFibGVfY29pbnMiOiJEb3N0dXBuw6kgbWluY2UifSwiY29pbl9kYWlseV9wcmljZV93aWRnZXQiOnsidGl0bGUiOiJBa3R1YWxpemFjZSBjZW55IENvaW5HZWNrbyIsInRvdGFsX21jYXAiOiJDZWxrb3bDoSB0csW+bsOtIGthcC4iLCIyNGhfdm9sIjoiT2JqZW0gKDI0IGguKSIsImRvbSI6IkRvbSJ9LCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXQiOnsiZXhjaGFuZ2UiOiJCdXJ6YSIsInBhaXIiOiJQw6FyIiwicHJpY2UiOiJDZW5hIiwidm9sdW1lIjoiT2JqZW0iLCJ0cnVzdF9zY29yZSI6IlNrw7NyZSBkxa92xJtyeWhvZG5vc3RpIiwidmlld19wcmljZV9jaGFydCI6IlpvYnJheml0IGNlbm92w70gZ3JhZiIsInBvd2VyZWRfYnkiOiJWeXXFvsOtdsOhICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJ2aWV3X2FsbCI6IlpvYnJheml0IHbFoWVjaG55IHRyaHkgcHJvICV7Y29pbn0ifX0nKX0sYzY5YTpmdW5jdGlvbih0LGUsaSl7dC5leHBvcnRzPSFpKCI5ZTFlIikmJiFpKCI3OWU1IikoKGZ1bmN0aW9uKCl7cmV0dXJuIDchPU9iamVjdC5kZWZpbmVQcm9wZXJ0eShpKCIyMzBlIikoImRpdiIpLCJhIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIDd9fSkuYX0pKX0sYzg5NDpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiOwovKioKICAqIHZ1ZS1jdXN0b20tZWxlbWVudCB2My4yLjYKICAqIChjKSAyMDE4IEthcm9sIEZhYmphxYRjenVrCiAgKiBAbGljZW5zZSBNSVQKICAqL2Z1bmN0aW9uIG4odCxlKXtyZXR1cm4gdC5fX3Byb3RvX189ZSx0fU9iamVjdC5zZXRQcm90b3R5cGVPZj1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fG47bi5iaW5kKE9iamVjdCk7ZnVuY3Rpb24gcigpe3JldHVybiJ1bmRlZmluZWQiIT09dHlwZW9mIFN5bWJvbCYmInVuZGVmaW5lZCIhPT10eXBlb2YgUmVmbGVjdCYmInVuZGVmaW5lZCIhPT10eXBlb2YgUHJveHkmJiFPYmplY3QuaXNTZWFsZWQoUHJveHkpfXZhciBvPXIoKSxhPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe2Zvcih2YXIgaT0wO2k8ZS5sZW5ndGg7aSsrKXt2YXIgbj1lW2ldO24uZW51bWVyYWJsZT1uLmVudW1lcmFibGV8fCExLG4uY29uZmlndXJhYmxlPSEwLCJ2YWx1ZSJpbiBuJiYobi53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KHQsbi5rZXksbil9fXJldHVybiBmdW5jdGlvbihlLGksbil7cmV0dXJuIGkmJnQoZS5wcm90b3R5cGUsaSksbiYmdChlLG4pLGV9fSgpO2Z1bmN0aW9uIHModCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb24iKX1mdW5jdGlvbiBjKHQsZSl7aWYoIXQpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWQiKTtyZXR1cm4hZXx8Im9iamVjdCIhPT10eXBlb2YgZSYmImZ1bmN0aW9uIiE9PXR5cGVvZiBlP3Q6ZX1mdW5jdGlvbiBoKHQsZSl7aWYoImZ1bmN0aW9uIiE9PXR5cGVvZiBlJiZudWxsIT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90ICIrdHlwZW9mIGUpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLGUmJihPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsZSk6dC5fX3Byb3RvX189ZSl9ZnVuY3Rpb24gbCgpe3JldHVybiBSZWZsZWN0LmNvbnN0cnVjdChIVE1MRWxlbWVudCxbXSx0aGlzLl9fcHJvdG9fXy5jb25zdHJ1Y3Rvcil9ZnVuY3Rpb24gcCh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPjEmJnZvaWQgMCE9PWFyZ3VtZW50c1sxXT9hcmd1bWVudHNbMV06e307aWYoInVuZGVmaW5lZCIhPT10eXBlb2YgY3VzdG9tRWxlbWVudHMpe2lmKG8pe3ZhciBpPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGkodCl7dmFyIGU7cyh0aGlzLGkpO3ZhciBuPWModGhpcywoaS5fX3Byb3RvX198fE9iamVjdC5nZXRQcm90b3R5cGVPZihpKSkuY2FsbCh0aGlzKSksbz10P0hUTUxFbGVtZW50LmNhbGwodCk6bjtyZXR1cm4gci5jYWxsKG8pLGU9byxjKG4sZSl9cmV0dXJuIGgoaSx0KSxhKGksbnVsbCxbe2tleToib2JzZXJ2ZWRBdHRyaWJ1dGVzIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gZS5vYnNlcnZlZEF0dHJpYnV0ZXN8fFtdfX1dKSxpfShsKTtyZXR1cm4gaS5wcm90b3R5cGUuY29ubmVjdGVkQ2FsbGJhY2s9cCxpLnByb3RvdHlwZS5kaXNjb25uZWN0ZWRDYWxsYmFjaz1kLGkucHJvdG90eXBlLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjaz11LGYodCxpKSxpfXZhciBuPWZ1bmN0aW9uKHQpe3ZhciBlPXQ/SFRNTEVsZW1lbnQuY2FsbCh0KTp0aGlzO3JldHVybiByLmNhbGwoZSksZX07cmV0dXJuIG4ub2JzZXJ2ZWRBdHRyaWJ1dGVzPWUub2JzZXJ2ZWRBdHRyaWJ1dGVzfHxbXSxuLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEhUTUxFbGVtZW50LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTpufX0pLG4ucHJvdG90eXBlLmNvbm5lY3RlZENhbGxiYWNrPXAsbi5wcm90b3R5cGUuZGlzY29ubmVjdGVkQ2FsbGJhY2s9ZCxuLnByb3RvdHlwZS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2s9dSxmKHQsbiksbn1mdW5jdGlvbiByKCl7ITA9PT1lLnNoYWRvdyYmSFRNTEVsZW1lbnQucHJvdG90eXBlLmF0dGFjaFNoYWRvdyYmdGhpcy5hdHRhY2hTaGFkb3coe21vZGU6Im9wZW4ifSksImZ1bmN0aW9uIj09PXR5cGVvZiBlLmNvbnN0cnVjdG9yQ2FsbGJhY2smJmUuY29uc3RydWN0b3JDYWxsYmFjay5jYWxsKHRoaXMpfWZ1bmN0aW9uIHAoKXsiZnVuY3Rpb24iPT09dHlwZW9mIGUuY29ubmVjdGVkQ2FsbGJhY2smJmUuY29ubmVjdGVkQ2FsbGJhY2suY2FsbCh0aGlzKX1mdW5jdGlvbiBkKCl7ImZ1bmN0aW9uIj09PXR5cGVvZiBlLmRpc2Nvbm5lY3RlZENhbGxiYWNrJiZlLmRpc2Nvbm5lY3RlZENhbGxiYWNrLmNhbGwodGhpcyl9ZnVuY3Rpb24gdSh0LGksbil7ImZ1bmN0aW9uIj09PXR5cGVvZiBlLmF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayYmZS5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2suY2FsbCh0aGlzLHQsaSxuKX1mdW5jdGlvbiBmKHQsZSl7dmFyIGk9Y3VzdG9tRWxlbWVudHMuZ2V0KHQpO3JldHVybiJ1bmRlZmluZWQiIT09dHlwZW9mIGk/aTpjdXN0b21FbGVtZW50cy5kZWZpbmUodCxlKX19T2JqZWN0LnNldFByb3RvdHlwZU9mKGwucHJvdG90eXBlLEhUTUxFbGVtZW50LnByb3RvdHlwZSksT2JqZWN0LnNldFByb3RvdHlwZU9mKGwsSFRNTEVsZW1lbnQpO3ZhciBkPS8tKFx3KS9nLHU9ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZShkLChmdW5jdGlvbih0LGUpe3JldHVybiBlP2UudG9VcHBlckNhc2UoKToiIn0pKX0sZj0vKFteLV0pKFtBLVpdKS9nLG09ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZShmLCIkMS0kMiIpLnJlcGxhY2UoZiwiJDEtJDIiKS50b0xvd2VyQ2FzZSgpfTtmdW5jdGlvbiBnKHQpe3ZhciBlPWFyZ3VtZW50cy5sZW5ndGg+MSYmdm9pZCAwIT09YXJndW1lbnRzWzFdP2FyZ3VtZW50c1sxXTowLGk9dC5sZW5ndGgtZSxuPW5ldyBBcnJheShpKTt3aGlsZShpLS0pbltpXT10W2krZV07cmV0dXJuIG59dmFyIHY9ImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiYiZnVuY3Rpb24iPT09dHlwZW9mIFN5bWJvbCYmdC5jb25zdHJ1Y3Rvcj09PVN5bWJvbCYmdCE9PVN5bWJvbC5wcm90b3R5cGU/InN5bWJvbCI6dHlwZW9mIHR9O2Z1bmN0aW9uIHkodCxlKXt2YXIgaT10LG49WyJ0cnVlIiwiZmFsc2UiXS5pbmRleE9mKHQpPi0xLHI9cGFyc2VGbG9hdChpLDEwKSxvPSFpc05hTihyKSYmaXNGaW5pdGUoaSkmJiJzdHJpbmciPT09dHlwZW9mIGkmJiFpLm1hdGNoKC9eMCtbXi5dXGQqJC9nKTtyZXR1cm4gZSYmZSE9PUJvb2xlYW4mJigidW5kZWZpbmVkIj09PXR5cGVvZiBpPyJ1bmRlZmluZWQiOnYoaSkpIT09ZT9pPWUodCk6bnx8ZT09PUJvb2xlYW4/aT0iIj09PWl8fCJ0cnVlIj09PWk6byYmKGk9ciksaX1mdW5jdGlvbiBfKHQsZSl7aWYodCYmdC5sZW5ndGgpdC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgaT11KHQpOy0xPT09ZS5jYW1lbENhc2UuaW5kZXhPZihpKSYmZS5jYW1lbENhc2UucHVzaChpKX0pKTtlbHNlIGlmKHQmJiJvYmplY3QiPT09KCJ1bmRlZmluZWQiPT09dHlwZW9mIHQ/InVuZGVmaW5lZCI6dih0KSkpZm9yKHZhciBpIGluIHQpe3ZhciBuPXUoaSk7LTE9PT1lLmNhbWVsQ2FzZS5pbmRleE9mKG4pJiZlLmNhbWVsQ2FzZS5wdXNoKG4pLHRbbl0mJnRbbl0udHlwZSYmKGUudHlwZXNbaV09W10uY29uY2F0KHRbbl0udHlwZSlbMF0pfX1mdW5jdGlvbiBiKCl7dmFyIHQ9YXJndW1lbnRzLmxlbmd0aD4wJiZ2b2lkIDAhPT1hcmd1bWVudHNbMF0/YXJndW1lbnRzWzBdOnt9LGU9e2NhbWVsQ2FzZTpbXSxoeXBoZW5hdGU6W10sdHlwZXM6e319O2lmKHQubWl4aW5zJiZ0Lm1peGlucy5mb3JFYWNoKChmdW5jdGlvbih0KXtfKHQucHJvcHMsZSl9KSksdC5leHRlbmRzJiZ0LmV4dGVuZHMucHJvcHMpe3ZhciBpPXQuZXh0ZW5kcy5wcm9wcztfKGksZSl9cmV0dXJuIF8odC5wcm9wcyxlKSxlLmNhbWVsQ2FzZS5mb3JFYWNoKChmdW5jdGlvbih0KXtlLmh5cGhlbmF0ZS5wdXNoKG0odCkpfSkpLGV9ZnVuY3Rpb24geCh0LGUpe2UuY2FtZWxDYXNlLmZvckVhY2goKGZ1bmN0aW9uKGksbil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsaSx7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX192dWVfY3VzdG9tX2VsZW1lbnRfX1tpXX0sc2V0OmZ1bmN0aW9uKHQpe2lmKCJvYmplY3QiIT09KCJ1bmRlZmluZWQiPT09dHlwZW9mIHQ/InVuZGVmaW5lZCI6dih0KSkmJiJmdW5jdGlvbiIhPT10eXBlb2YgdHx8IXRoaXMuX192dWVfY3VzdG9tX2VsZW1lbnRfXyl7dmFyIGk9ZS50eXBlc1tlLmNhbWVsQ2FzZVtuXV07dGhpcy5zZXRBdHRyaWJ1dGUoZS5oeXBoZW5hdGVbbl0seSh0LGkpKX1lbHNle3ZhciByPWUuY2FtZWxDYXNlW25dO3RoaXMuX192dWVfY3VzdG9tX2VsZW1lbnRfX1tyXT10fX19KX0pKX1mdW5jdGlvbiB3KHQsZSxpKXt2YXIgbj1lLnByb3BzRGF0YXx8e307cmV0dXJuIGkuaHlwaGVuYXRlLmZvckVhY2goKGZ1bmN0aW9uKGUscil7dmFyIG89aS5jYW1lbENhc2Vbcl0sYT10LmF0dHJpYnV0ZXNbZV18fHRbb10scz1udWxsO2kudHlwZXNbb10mJihzPWkudHlwZXNbb10pLGEgaW5zdGFuY2VvZiBBdHRyP25bb109eShhLnZhbHVlLHMpOiJ1bmRlZmluZWQiIT09dHlwZW9mIGEmJihuW29dPWEpfSkpLG59ZnVuY3Rpb24gayh0KXt2YXIgZT17fTtyZXR1cm4gZyh0LmF0dHJpYnV0ZXMpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VbInZ1ZS1zbG90Ij09PXQubm9kZU5hbWU/InNsb3QiOnQubm9kZU5hbWVdPXQubm9kZVZhbHVlfSkpLGV9ZnVuY3Rpb24gQyh0KXtpZih0LmNoaWxkTm9kZXMubGVuZ3RoKXJldHVybiB0LmNoaWxkTm9kZXM7aWYodC5jb250ZW50JiZ0LmNvbnRlbnQuY2hpbGROb2RlcyYmdC5jb250ZW50LmNoaWxkTm9kZXMubGVuZ3RoKXJldHVybiB0LmNvbnRlbnQuY2hpbGROb2Rlczt2YXIgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTtyZXR1cm4gZS5pbm5lckhUTUw9dC5pbm5lckhUTUwsZS5jaGlsZE5vZGVzfWZ1bmN0aW9uIFModCxlLGkpe3ZhciBuPUMoZSkscj1nKG4pLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIiN0ZXh0Ij09PWUubm9kZU5hbWU/ZS5ub2RlVmFsdWU6dChlLnRhZ05hbWUse2F0dHJzOmsoZSksZG9tUHJvcHM6e2lubmVySFRNTDplLmlubmVySFRNTH19KX0pKTtyZXR1cm4gaS5zbG90PWUuaWQsdCgidGVtcGxhdGUiLGkscil9ZnVuY3Rpb24gQSgpe3ZhciB0PWFyZ3VtZW50cy5sZW5ndGg+MCYmdm9pZCAwIT09YXJndW1lbnRzWzBdP2FyZ3VtZW50c1swXTpbXSxlPWFyZ3VtZW50c1sxXSxpPVtdO3JldHVybiBnKHQpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKCIjdGV4dCI9PT10Lm5vZGVOYW1lKXQubm9kZVZhbHVlLnRyaW0oKSYmaS5wdXNoKGUoInNwYW4iLHQubm9kZVZhbHVlKSk7ZWxzZSBpZigiI2NvbW1lbnQiIT09dC5ub2RlTmFtZSl7dmFyIG49ayh0KSxyPXthdHRyczpuLGRvbVByb3BzOntpbm5lckhUTUw6IiI9PT10LmlubmVySFRNTD90LmlubmVyVGV4dDp0LmlubmVySFRNTH19O24uc2xvdCYmKHIuc2xvdD1uLnNsb3Qsbi5zbG90PXZvaWQgMCk7dmFyIG89IlRFTVBMQVRFIj09PXQudGFnTmFtZT9TKGUsdCxyKTplKHQudGFnTmFtZSxyKTtpLnB1c2gobyl9fSkpLGl9ZnVuY3Rpb24gTSh0LGUpe3ZhciBpPXtidWJibGVzOiExLGNhbmNlbGFibGU6ITEsZGV0YWlsOmV9LG49dm9pZCAwO3JldHVybiJmdW5jdGlvbiI9PT10eXBlb2Ygd2luZG93LkN1c3RvbUV2ZW50P249bmV3IEN1c3RvbUV2ZW50KHQsaSk6KG49ZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50Iiksbi5pbml0Q3VzdG9tRXZlbnQodCxpLmJ1YmJsZXMsaS5jYW5jZWxhYmxlLGkuZGV0YWlsKSksbn1mdW5jdGlvbiBQKHQsZSl7Zm9yKHZhciBpPWFyZ3VtZW50cy5sZW5ndGgsbj1BcnJheShpPjI/aS0yOjApLHI9MjtyPGk7cisrKW5bci0yXT1hcmd1bWVudHNbcl07dmFyIG89TShlLFtdLmNvbmNhdChuKSk7dC5kaXNwYXRjaEV2ZW50KG8pfWZ1bmN0aW9uIE8odCxlLGksbixyKXtpZighdC5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fKXt2YXIgbz1mdW5jdGlvbigpe3RoaXMuJGVtaXQ9ZnVuY3Rpb24oKXtmb3IodmFyIGUsaT1hcmd1bWVudHMubGVuZ3RoLG49QXJyYXkoaSkscj0wO3I8aTtyKyspbltyXT1hcmd1bWVudHNbcl07UC5hcHBseSh2b2lkIDAsW3RdLmNvbmNhdChuKSksdGhpcy5fX3Byb3RvX18mJihlPXRoaXMuX19wcm90b19fLiRlbWl0KS5jYWxsLmFwcGx5KGUsW3RoaXNdLmNvbmNhdChuKSl9fSxhPWUudXRpbC5leHRlbmQoe30saSkscz13KHQsYSxuKSxjPWUudmVyc2lvbiYmcGFyc2VJbnQoZS52ZXJzaW9uLnNwbGl0KCIuIilbMF0sMTApfHwwO2lmKGEuYmVmb3JlQ3JlYXRlPVtdLmNvbmNhdChhLmJlZm9yZUNyZWF0ZXx8W10sbyksYS5fY29tcGlsZWQpe3ZhciBoPXt9O2EuX0N0b3ImJihoPU9iamVjdC52YWx1ZXMoYS5fQ3RvcilbMF0ub3B0aW9ucyksaC5iZWZvcmVDcmVhdGU9YS5iZWZvcmVDcmVhdGV9dmFyIGw9dm9pZCAwO2lmKGM+PTIpe3ZhciBwPXQuY2xvbmVOb2RlKCEwKS5jaGlsZE5vZGVzO2w9e3Byb3BzRGF0YTpzLHByb3BzOm4uY2FtZWxDYXNlLGNvbXB1dGVkOntyZWFjdGl2ZVByb3BzOmZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXt9O3JldHVybiBuLmNhbWVsQ2FzZS5mb3JFYWNoKChmdW5jdGlvbihpKXsidW5kZWZpbmVkIiE9PXR5cGVvZiB0W2ldJiYoZVtpXT10W2ldKX0pKSxlfX0scmVuZGVyOmZ1bmN0aW9uKHQpe3ZhciBlPXtwcm9wczp0aGlzLnJlYWN0aXZlUHJvcHN9O3JldHVybiB0KGEsZSxBKHAsdCkpfX19ZWxzZSBpZigxPT09YylsPWEsbC5wcm9wc0RhdGE9cztlbHNle2w9YTt2YXIgZD17fTtPYmplY3Qua2V5cyhzKS5mb3JFYWNoKChmdW5jdGlvbih0KXtkW3RdPXtkZWZhdWx0OnNbdF19fSkpLGwucHJvcHM9ZH12YXIgdT1jPj0yPyI8ZGl2PjwvZGl2PiI6KCI8ZGl2PiIrdC5pbm5lckhUTUwrIjwvZGl2PiIpLnJlcGxhY2UoL3Z1ZS1zbG90PS9nLCJzbG90PSIpO2lmKHIuc2hhZG93JiZ0LnNoYWRvd1Jvb3Q/KHQuc2hhZG93Um9vdC5pbm5lckhUTUw9dSxsLmVsPXQuc2hhZG93Um9vdC5jaGlsZHJlblswXSk6KHQuaW5uZXJIVE1MPXUsbC5lbD10LmNoaWxkcmVuWzBdKSx4KHQsbiksImZ1bmN0aW9uIj09PXR5cGVvZiByLmJlZm9yZUNyZWF0ZVZ1ZUluc3RhbmNlJiYobD1yLmJlZm9yZUNyZWF0ZVZ1ZUluc3RhbmNlKGwpfHxsKSx0Ll9fdnVlX2N1c3RvbV9lbGVtZW50X189bmV3IGUobCksdC5fX3Z1ZV9jdXN0b21fZWxlbWVudF9wcm9wc19fPW4sdC5nZXRWdWVJbnN0YW5jZT1mdW5jdGlvbigpe3JldHVybiB0Ll9fdnVlX2N1c3RvbV9lbGVtZW50X18uJGNoaWxkcmVuWzBdfSxyLnNoYWRvdyYmci5zaGFkb3dDc3MmJnQuc2hhZG93Um9vdCl7dmFyIGY9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgic3R5bGUiKTtmLnR5cGU9InRleHQvY3NzIixmLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKHIuc2hhZG93Q3NzKSksdC5zaGFkb3dSb290LmFwcGVuZENoaWxkKGYpfXQucmVtb3ZlQXR0cmlidXRlKCJ2Y2UtY2xvYWsiKSx0LnNldEF0dHJpYnV0ZSgidmNlLXJlYWR5IiwiIiksUCh0LCJ2Y2UtcmVhZHkiKX19ZnVuY3Rpb24gVCh0KXt0LmN1c3RvbUVsZW1lbnQ9ZnVuY3Rpb24oZSxpKXt2YXIgbj1hcmd1bWVudHMubGVuZ3RoPjImJnZvaWQgMCE9PWFyZ3VtZW50c1syXT9hcmd1bWVudHNbMl06e30scj0iZnVuY3Rpb24iPT09dHlwZW9mIGksbz1yJiZ7cHJvcHM6bi5wcm9wc3x8W119LGE9YihyP286aSkscz1wKGUse2NvbnN0cnVjdG9yQ2FsbGJhY2s6ZnVuY3Rpb24oKXsiZnVuY3Rpb24iPT09dHlwZW9mIG4uY29uc3RydWN0b3JDYWxsYmFjayYmbi5jb25zdHJ1Y3RvckNhbGxiYWNrLmNhbGwodGhpcyl9LGNvbm5lY3RlZENhbGxiYWNrOmZ1bmN0aW9uKCl7dmFyIG89dGhpcyxzPXImJmkoKSxjPXMmJnMudGhlbiYmImZ1bmN0aW9uIj09PXR5cGVvZiBzLnRoZW47aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBuLmNvbm5lY3RlZENhbGxiYWNrJiZuLmNvbm5lY3RlZENhbGxiYWNrLmNhbGwodGhpcyksciYmIWMpdGhyb3cgbmV3IEVycm9yKCJBc3luYyBjb21wb25lbnQgIitlKyIgZG8gbm90IHJldHVybnMgUHJvbWlzZSIpO3RoaXMuX19kZXRhY2hlZF9ffHwoYz9zLnRoZW4oKGZ1bmN0aW9uKGUpe3ZhciBpPWIoZSk7TyhvLHQsZSxpLG4pLCJmdW5jdGlvbiI9PT10eXBlb2Ygbi52dWVJbnN0YW5jZUNyZWF0ZWRDYWxsYmFjayYmbi52dWVJbnN0YW5jZUNyZWF0ZWRDYWxsYmFjay5jYWxsKG8pfSkpOihPKHRoaXMsdCxpLGEsbiksImZ1bmN0aW9uIj09PXR5cGVvZiBuLnZ1ZUluc3RhbmNlQ3JlYXRlZENhbGxiYWNrJiZuLnZ1ZUluc3RhbmNlQ3JlYXRlZENhbGxiYWNrLmNhbGwodGhpcykpKSx0aGlzLl9fZGV0YWNoZWRfXz0hMX0sZGlzY29ubmVjdGVkQ2FsbGJhY2s6ZnVuY3Rpb24oKXt2YXIgdD10aGlzO3RoaXMuX19kZXRhY2hlZF9fPSEwLCJmdW5jdGlvbiI9PT10eXBlb2Ygbi5kaXNjb25uZWN0ZWRDYWxsYmFjayYmbi5kaXNjb25uZWN0ZWRDYWxsYmFjay5jYWxsKHRoaXMpLHNldFRpbWVvdXQoKGZ1bmN0aW9uKCl7dC5fX2RldGFjaGVkX18mJnQuX192dWVfY3VzdG9tX2VsZW1lbnRfXyYmKHQuX192dWVfY3VzdG9tX2VsZW1lbnRfXy4kZGVzdHJveSghMCksZGVsZXRlIHQuX192dWVfY3VzdG9tX2VsZW1lbnRfXyxkZWxldGUgdC5fX3Z1ZV9jdXN0b21fZWxlbWVudF9wcm9wc19fKX0pLG4uZGVzdHJveVRpbWVvdXR8fDNlMyl9LGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjazpmdW5jdGlvbih0LGUsaSl7aWYodGhpcy5fX3Z1ZV9jdXN0b21fZWxlbWVudF9fJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBpKXt2YXIgcj11KHQpOyJmdW5jdGlvbiI9PT10eXBlb2Ygbi5hdHRyaWJ1dGVDaGFuZ2VkQ2FsbGJhY2smJm4uYXR0cmlidXRlQ2hhbmdlZENhbGxiYWNrLmNhbGwodGhpcyx0LGUsaSk7dmFyIG89dGhpcy5fX3Z1ZV9jdXN0b21fZWxlbWVudF9wcm9wc19fLnR5cGVzW3JdO3RoaXMuX192dWVfY3VzdG9tX2VsZW1lbnRfX1tyXT15KGksbyl9fSxvYnNlcnZlZEF0dHJpYnV0ZXM6YS5oeXBoZW5hdGUsc2hhZG93OiEhbi5zaGFkb3cmJiEhSFRNTEVsZW1lbnQucHJvdG90eXBlLmF0dGFjaFNoYWRvd30pO3JldHVybiBzfX0idW5kZWZpbmVkIiE9PXR5cGVvZiB3aW5kb3cmJndpbmRvdy5WdWUmJih3aW5kb3cuVnVlLnVzZShUKSxULmluc3RhbGxlZCYmKFQuaW5zdGFsbGVkPSExKSksZVsiYSJdPVR9LGM4YmE6ZnVuY3Rpb24odCxlKXt2YXIgaTtpPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXN9KCk7dHJ5e2k9aXx8bmV3IEZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCl9Y2F0Y2gobil7Im9iamVjdCI9PT10eXBlb2Ygd2luZG93JiYoaT13aW5kb3cpfXQuZXhwb3J0cz1pfSxjOTVlOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC4kY3JlYXRlRWxlbWVudCxpPXQuX3NlbGYuX2N8fGU7cmV0dXJuIGkoImRpdiIse3N0YXRpY0NsYXNzOiJnZWNrby1jb2luLWRldGFpbHMifSxbaSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLWRldGFpbHMtaGVhZGVyIn0sW3QuY29pbkRhdGE/aSgiR2Vja29SZWRpcmVjdCIse3N0YXRpY0NsYXNzOiJnZWNrby1kZXRhaWxzLWNvaW4taW5mbyIsYXR0cnM6e3R5cGU6ImNvaW5zIixpZDp0LmNvaW5EYXRhLmlkLGxvY2FsZTp0LmxvY2FsZX19LFtpKCJpbWciLHtzdHlsZTp7Ym9yZGVyUmFkaXVzOiI1MCUiLGhlaWdodDoiMzBweCJ9LGF0dHJzOnthbHQ6dC5jb2luRGF0YS5uYW1lLHNyYzp0LmNvaW5EYXRhLmltYWdlLmxhcmdlfX0pLGkoImRpdiIsW2koImRpdiIse3N0YXRpY0NsYXNzOiJnZWNrby10ZXh0LWRhcmsgZ2Vja28tdGV4dC1iYXNlIGdlY2tvLXNlbWlib2xkIn0sW3QuX3YodC5fcyh0LmNvaW5EYXRhLm5hbWUpKV0pLGkoImRpdiIse3N0YXRpY0NsYXNzOiJnZWNrby10ZXh0LWxpZ2h0IGdlY2tvLXRleHQteHMifSxbdC5fdigiXG4gICAgICAgICAgIit0Ll9zKHQuY29pbkRhdGEuc3ltYm9sLnRvVXBwZXJDYXNlKCkpKyIvIit0Ll9zKHQuY3VycmVuY3kudG9VcHBlckNhc2UoKSkrIlxuICAgICAgICAiKV0pXSldKTppKCJkaXYiLHtzdGF0aWNDbGFzczoiZ2Vja28tc2tlbGV0b24iLHN0YXRpY1N0eWxlOntoZWlnaHQ6IjI4cHgiLG1hcmdpbjoiNnB4IDAiLHdpZHRoOiIyMjBweCJ9fSksdC5zaG93V2F0ZXJtYXJrP2koImRpdiIsW2koIkdlY2tvV2F0ZXJtYXJrIix7YXR0cnM6eyJ3aXRoLXRleHQiOiExLHNpemU6IjI0cHgifX0pXSwxKTp0Ll9lKCldLDEpLGkoImRpdiIse3N0YXRpY0NsYXNzOiJnZWNrby1kZXRhaWxzLWNvaW4tcHJpY2UifSxbdC5jb2luRGF0YT9pKCJkaXYiLHtzdGF0aWNDbGFzczoiZ2Vja28tZGV0YWlscy1jb2luLXByaWNlLWNvbnRlbnQifSxbaSgiR2Vja29QcmljZSIse3N0YXRpY0NsYXNzOiJnZWNrby10ZXh0LWRhcmsgZ2Vja28tYm9sZCIsc3RhdGljU3R5bGU6eyJmb250LXNpemUiOiIzMHB4In0sYXR0cnM6e2N1cnJlbmN5OnQuY3VycmVuY3ksYW1vdW50OnQuY29pbkRhdGEubWFya2V0X2RhdGEuY3VycmVudF9wcmljZVt0LmN1cnJlbmN5XX19KSxpKCJHZWNrb1BlcmNlbnRDaGFuZ2UiLHtzdGF0aWNDbGFzczoiZ2Vja28tc2VtaWJvbGQiLHN0YXRpY1N0eWxlOnsibWFyZ2luLXRvcCI6IjJweCJ9LGF0dHJzOnt2YWx1ZTp0LmNvaW5EYXRhLm1hcmtldF9kYXRhLnByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aF9pbl9jdXJyZW5jeVt0LmN1cnJlbmN5XSwiZm9udC1zaXplIjoiMThweCJ9fSldLDEpOmkoImRpdiIse3N0YXRpY0NsYXNzOiJnZWNrby1za2VsZXRvbiIsc3RhdGljU3R5bGU6e2hlaWdodDoiMjBweCIsbWFyZ2luOiI1cHggMCIsd2lkdGg6IjEwMHB4In19KV0pLHQuc2hvd1N0YXRzP2koImRpdiIse3N0YXRpY0NsYXNzOiJnZWNrby1zdGF0cyJ9LFtpKCJkaXYiLHtzdGF0aWNDbGFzczoiZ2Vja28tc3RhdHMtaXRlbSJ9LFtpKCJzcGFuIixbdC5fdih0Ll9zKHQudCgiY29pbl9kZXRhaWxzLm1jYXBfcmFuayIpKSldKSx0LmNvaW5EYXRhP2koImRpdiIse3N0YXRpY0NsYXNzOiJnZWNrby10ZXh0LWRhcmsgZ2Vja28tc2VtaWJvbGQifSxbdC5fdih0Ll9zKHQubWFya2V0Q2FwUmFuaykpXSk6aSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLXNrZWxldG9uIn0pXSksaSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLWRpdmlkZXIifSksaSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLXN0YXRzLWl0ZW0ifSxbaSgic3BhbiIsW3QuX3YodC5fcyh0LnQoImNvaW5fZGV0YWlscy5tY2FwIikpKV0pLHQuY29pbkRhdGE/aSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLXRleHQtZGFyayBnZWNrby1zZW1pYm9sZCJ9LFtpKCJHZWNrb1ByaWNlIix7YXR0cnM6e2N1cnJlbmN5OnQuY3VycmVuY3ksYW1vdW50OnQuY29pbkRhdGEubWFya2V0X2RhdGEubWFya2V0X2NhcFt0LmN1cnJlbmN5XX19KV0sMSk6aSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLXNrZWxldG9uIn0pXSksaSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLWRpdmlkZXIifSksaSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLXN0YXRzLWl0ZW0ifSxbaSgic3BhbiIsW3QuX3YodC5fcyh0LnQoImNvaW5fZGV0YWlscy4yNGhfdm9sdW1lIikpKV0pLHQuY29pbkRhdGE/aSgiZGl2Iix7c3RhdGljQ2xhc3M6ImdlY2tvLXRleHQtZGFyayBnZWNrby1zZW1pYm9sZCJ9LFtpKCJHZWNrb1ByaWNlIix7YXR0cnM6e2N1cnJlbmN5OnQuY3VycmVuY3ksYW1vdW50OnQuY29pbkRhdGEubWFya2V0X2RhdGEudG90YWxfdm9sdW1lW3QuY3VycmVuY3ldfX0pXSwxKTppKCJkaXYiLHtzdGF0aWNDbGFzczoiZ2Vja28tc2tlbGV0b24ifSldKSxpKCJkaXYiLHtzdGF0aWNDbGFzczoiZ2Vja28tZGl2aWRlciJ9KSxpKCJkaXYiLHtzdGF0aWNDbGFzczoiZ2Vja28tc3RhdHMtaXRlbSJ9LFtpKCJzcGFuIixbdC5fdih0Ll9zKHQudCgiY29pbl9kZXRhaWxzLjI0aF9oaWdoX2xvdyIpKSldKSx0LmNvaW5EYXRhP2koImRpdiIse3N0YXRpY0NsYXNzOiJnZWNrby10ZXh0LWRhcmsgZ2Vja28tc2VtaWJvbGQifSxbaSgiR2Vja29QcmljZSIse2F0dHJzOntjdXJyZW5jeTp0LmN1cnJlbmN5LGFtb3VudDp0LmNvaW5EYXRhLm1hcmtldF9kYXRhLmhpZ2hfMjRoW3QuY3VycmVuY3ldfX0pLHQuX3YoIlxuICAgICAgICAvXG4gICAgICAgICIpLGkoIkdlY2tvUHJpY2UiLHthdHRyczp7Y3VycmVuY3k6dC5jdXJyZW5jeSxhbW91bnQ6dC5jb2luRGF0YS5tYXJrZXRfZGF0YS5sb3dfMjRoW3QuY3VycmVuY3ldfX0pXSwxKTppKCJkaXYiLHtzdGF0aWNDbGFzczoiZ2Vja28tc2tlbGV0b24ifSldKV0pOnQuX2UoKV0pfSxyPVtdLG89aSgiZGVhNiIpLGE9aSgiNGUzOCIpLHM9aSgiYzA0YSIpLGM9aSgiZGZjYyIpLGg9aSgiNDJiOCIpLGw9e25hbWU6IkdlY2tvQ29pbkRldGFpbHMiLGNvbXBvbmVudHM6e0dlY2tvV2F0ZXJtYXJrOnNbImEiXSxHZWNrb1ByaWNlOmNbImEiXSxHZWNrb1BlcmNlbnRDaGFuZ2U6b1siYSJdLEdlY2tvUmVkaXJlY3Q6YVsiYSJdfSxtaXhpbnM6W2hbImEiXV0scHJvcHM6e2NvaW5EYXRhOntkZWZhdWx0Om51bGwscmVxdWlyZWQ6ITB9LGN1cnJlbmN5Ont0eXBlOlN0cmluZyxkZWZhdWx0OiJ1c2QiLHJlcXVpcmVkOiEwfSxzaG93U3RhdHM6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiEwfSxzaG93V2F0ZXJtYXJrOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH19LGNvbXB1dGVkOnttYXJrZXRDYXBSYW5rOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29pbkRhdGEmJnRoaXMuY29pbkRhdGEubWFya2V0X2NhcF9yYW5rPyIjIi5jb25jYXQodGhpcy5jb2luRGF0YS5tYXJrZXRfY2FwX3JhbmspOiJOL0EifX19LHA9bCxkPWkoIjI4NzciKSx1PU9iamVjdChkWyJhIl0pKHAsbixyLCExLG51bGwsbnVsbCxudWxsKTtlWyJhIl09dS5leHBvcnRzfSxjYTVhOmZ1bmN0aW9uKHQsZSl7dmFyIGk9MCxuPU1hdGgucmFuZG9tKCk7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJTeW1ib2woIi5jb25jYXQodm9pZCAwPT09dD8iIjp0LCIpXyIsKCsraStuKS50b1N0cmluZygzNikpfX0sY2E5ZjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoIjRkMDEiKSxyPWkoImYzNjciKSxvPWkoIjU2MmUiKSxhPWkoIjFiN2YiKSxzPWkoImIzZmQiKSxjPW4oYSgpKTtyKGMse2dldFBvbHlmaWxsOmEsaW1wbGVtZW50YXRpb246byxzaGltOnN9KSx0LmV4cG9ydHM9Y30sY2FkZjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWkoIjljNmMiKSxyPWkoImQ1M2IiKSxvPWkoIjg0ZjIiKSxhPWkoIjY4MjEiKTt0LmV4cG9ydHM9aSgiMDFmOSIpKEFycmF5LCJBcnJheSIsKGZ1bmN0aW9uKHQsZSl7dGhpcy5fdD1hKHQpLHRoaXMuX2k9MCx0aGlzLl9rPWV9KSwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLl90LGU9dGhpcy5fayxpPXRoaXMuX2krKztyZXR1cm4hdHx8aT49dC5sZW5ndGg/KHRoaXMuX3Q9dm9pZCAwLHIoMSkpOnIoMCwia2V5cyI9PWU/aToidmFsdWVzIj09ZT90W2ldOltpLHRbaV1dKX0pLCJ2YWx1ZXMiKSxvLkFyZ3VtZW50cz1vLkFycmF5LG4oImtleXMiKSxuKCJ2YWx1ZXMiKSxuKCJlbnRyaWVzIil9LGNiN2M6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImQzZjQiKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoIW4odCkpdGhyb3cgVHlwZUVycm9yKHQrIiBpcyBub3QgYW4gb2JqZWN0ISIpO3JldHVybiB0fX0sY2NiOTpmdW5jdGlvbih0LGUsaSl7ZS5mPWkoIjUxNjgiKX0sY2Q3ODpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiZTRhZSIpLHI9aSgiZjc3MiIpLG89aSgiNjU2ZSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe2lmKG4odCkscihlKSYmZS5jb25zdHJ1Y3Rvcj09PXQpcmV0dXJuIGU7dmFyIGk9by5mKHQpLGE9aS5yZXNvbHZlO3JldHVybiBhKGUpLGkucHJvbWlzZX19LGNlMTA6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoIjY5YTgiKSxyPWkoIjY4MjEiKSxvPWkoImMzNjYiKSghMSksYT1pKCI2MTNiIikoIklFX1BST1RPIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7dmFyIGkscz1yKHQpLGM9MCxoPVtdO2ZvcihpIGluIHMpaSE9YSYmbihzLGkpJiZoLnB1c2goaSk7d2hpbGUoZS5sZW5ndGg+YyluKHMsaT1lW2MrK10pJiYofm8oaCxpKXx8aC5wdXNoKGkpKTtyZXR1cm4gaH19LGQwMjQ6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCIyMWQwIikscj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLG89T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxhPWZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG49MCxyPXQubGVuZ3RoO248cjtuKyspby5jYWxsKHQsbikmJihudWxsPT1pP2UodFtuXSxuLHQpOmUuY2FsbChpLHRbbl0sbix0KSl9LHM9ZnVuY3Rpb24odCxlLGkpe2Zvcih2YXIgbj0wLHI9dC5sZW5ndGg7bjxyO24rKyludWxsPT1pP2UodC5jaGFyQXQobiksbix0KTplLmNhbGwoaSx0LmNoYXJBdChuKSxuLHQpfSxjPWZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4gaW4gdClvLmNhbGwodCxuKSYmKG51bGw9PWk/ZSh0W25dLG4sdCk6ZS5jYWxsKGksdFtuXSxuLHQpKX0saD1mdW5jdGlvbih0LGUsaSl7aWYoIW4oZSkpdGhyb3cgbmV3IFR5cGVFcnJvcigiaXRlcmF0b3IgbXVzdCBiZSBhIGZ1bmN0aW9uIik7dmFyIG87YXJndW1lbnRzLmxlbmd0aD49MyYmKG89aSksIltvYmplY3QgQXJyYXldIj09PXIuY2FsbCh0KT9hKHQsZSxvKToic3RyaW5nIj09PXR5cGVvZiB0P3ModCxlLG8pOmModCxlLG8pfTt0LmV4cG9ydHM9aH0sZDJjODpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiYWFlMyIpLHI9aSgiYmUxMyIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsaSl7aWYobihlKSl0aHJvdyBUeXBlRXJyb3IoIlN0cmluZyMiK2krIiBkb2Vzbid0IGFjY2VwdCByZWdleCEiKTtyZXR1cm4gU3RyaW5nKHIodCkpfX0sZDJmZjpmdW5jdGlvbih0LGUsaSl7ZT10LmV4cG9ydHM9aSgiMjRmYiIpKCExKSxlLnB1c2goW3QuaSwnLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogICAgICAgICAgICAgICBNb29uIERlc2lnbiBjb2xvcnMgICAgICAgICAgICAgICAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmdlY2tvLXdpZGdldCB7XG4gIC0tY29sb3ItbW9vbi01MDogI0RGRTVFQztcbiAgLS1jb2xvci1tb29uLTEwMDogI0JFQ0JEQTtcbiAgLS1jb2xvci1tb29uLTIwMDogIzlFQjBDNztcbiAgLS1jb2xvci1tb29uLTMwMDogIzdEOTZCNTtcbiAgLS1jb2xvci1tb29uLTQwMDogIzVEN0NBMjtcbiAgLS1jb2xvci1tb29uLTUwMDogIzRBNjM4MjtcbiAgLS1jb2xvci1tb29uLTYwMDogIzM4NEE2MTtcbiAgLS1jb2xvci1tb29uLTcwMDogIzIxMkQzQjtcbiAgLS1jb2xvci1tb29uLTgwMDogIzFCMjMyRDtcbiAgLS1jb2xvci1tb29uLTkwMDogIzBEMTIxNztcblxuICAtLWNvbG9yLWdyYXktNTA6ICNGOEZBRkM7XG4gIC0tY29sb3ItZ3JheS0xMDA6ICNGMUY1Rjk7XG4gIC0tY29sb3ItZ3JheS0yMDA6ICNFRkYyRjU7XG4gIC0tY29sb3ItZ3JheS0zMDA6ICNDQkQ1RTE7XG4gIC0tY29sb3ItZ3JheS00MDA6ICM5NEEzQjg7XG4gIC0tY29sb3ItZ3JheS01MDA6ICM2NDc0OGI7XG4gIC0tY29sb3ItZ3JheS02MDA6ICM0NzU1Njk7XG4gIC0tY29sb3ItZ3JheS03MDA6ICMzMzQxNTU7XG4gIC0tY29sb3ItZ3JheS04MDA6ICMxRTI5M0I7XG4gIC0tY29sb3ItZ3JheS05MDA6ICMwRjE3MkE7XG5cbiAgLS1jb2xvci1wcmltYXJ5LTUwOiAjRjNGQ0U1O1xuICAtLWNvbG9yLXByaW1hcnktMTAwOiAjRThGQ0M5O1xuICAtLWNvbG9yLXByaW1hcnktMjAwOiAjQ0RGOTk1O1xuICAtLWNvbG9yLXByaW1hcnktMzAwOiAjQTZFRjVGO1xuICAtLWNvbG9yLXByaW1hcnktNDAwOiAjODBFMDM4O1xuICAtLWNvbG9yLXByaW1hcnktNTAwOiAjNEJDQzAwO1xuICAtLWNvbG9yLXByaW1hcnktNjAwOiAjMzVBRjAwO1xuICAtLWNvbG9yLXByaW1hcnktNzAwOiAjMjM5MjAwO1xuICAtLWNvbG9yLXByaW1hcnktODAwOiAjMTU3NjAwO1xuICAtLWNvbG9yLXByaW1hcnktOTAwOiAjMEI2MTAwO1xuXG4gIC0tY29sb3Itc3VjY2Vzcy00MDA6ICMzMkNBNUI7XG4gIC0tY29sb3Itc3VjY2Vzcy01MDA6ICMwMEE4M0U7XG4gIC0tY29sb3ItZGFuZ2VyLTUwMDogI0ZGM0EzMztcbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAgICAgICAgICAgICAgICBMaWdodCBtb2RlIHN0eWxlcyAgICAgICAgICAgICAgICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIDEuIE1haW4gd2lkZ2V0IHN0eWxpbmcgKi9cbi5nZWNrby13aWRnZXQge1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxICFpbXBvcnRhbnQ7XG5cbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTUwMCk7XG59XG5cbi5nZWNrby13aWRnZXQsXG4uZ2Vja28tZm9udCB7XG4gIGZvbnQtZmFtaWx5OiBJbnRlciwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAiU2Vnb2UgVUkiLCBSb2JvdG8sIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYsICJBcHBsZSBDb2xvciBFbW9qaSIsICJTZWdvZSBVSSBFbW9qaSIsICJTZWdvZSBVSSBTeW1ib2wiO1xufVxuXG4uZ2Vja28tb3V0bGluZSB7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHZhcigtLWNvbG9yLWdyYXktMjAwKTtcbn1cblxuLmdlY2tvLXRyYW5zcGFyZW50LWJhY2tncm91bmQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG5cbi8qIDIuIFNoYXJlZCBjb21wb25lbnRzIHN0eWxpbmcgKi9cbi5nZWNrby1wcmljZSBzdWIge1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmdlY2tvLXBlcmNlbnQtY2hhbmdlIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbHVtbi1nYXA6IDAuMjVyZW07XG59XG5cbi5nZWNrby11cCB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1zdWNjZXNzLTUwMCk7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtNTAwKTtcbn1cblxuLmdlY2tvLWRvd24ge1xuICBjb2xvcjogdmFyKC0tY29sb3ItZGFuZ2VyLTUwMCk7XG4gIGZpbGw6IHZhcigtLWNvbG9yLWRhbmdlci01MDApO1xufVxuXG5hIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuYTp2aXNpdGVkIHtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbmE6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHg7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LTUwMCk7XG59XG5cbi5nZWNrby1za2VsZXRvbiB7XG4gIGFuaW1hdGlvbjogcHVsc2UgMS4ycyBjdWJpYy1iZXppZXIoMC40LCAwLCAwLjYsIDEpIGluZmluaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jb2xvci1ncmF5LTIwMCk7XG4gIG1pbi1oZWlnaHQ6IDEycHg7XG4gIG1pbi13aWR0aDogODBweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG4uZ2Vja28tc2tlbGV0b24uc3R1YmJ5IHtcbiAgbWluLWhlaWdodDogMTZweDtcbiAgbWluLXdpZHRoOiA1NnB4O1xufVxuXG4uZ2Vja28tc3BpbiB7XG4gIGFuaW1hdGlvbjogc3BpbiAxMDAwbXMgaW5maW5pdGUgbGluZWFyO1xufVxuXG5cbi8qIDMuIFV0aWxpdHkgY2xhc3NlcyBzdHlsaW5nICovXG4uZ2Vja28tcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5nZWNrby1tZWRpdW0ge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uZ2Vja28tc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uZ2Vja28tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5nZWNrby10ZXh0LWxpZ2h0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktNTAwKTtcbiAgZmlsbDogdmFyKC0tY29sb3ItZ3JheS01MDApO1xufVxuXG4uZ2Vja28tdGV4dC1kYXJrIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLWdyYXktOTAwKTtcbiAgZmlsbDogdmFyKC0tY29sb3ItZ3JheS05MDApO1xufVxuXG4uZ2Vja28tdGV4dC1wcmltYXJ5IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktNTAwKTtcbiAgZmlsbDogdmFyKC0tY29sb3ItcHJpbWFyeS01MDApO1xufVxuXG4uZ2Vja28tZGl2aWRlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tY29sb3ItZ3JheS0yMDApO1xufVxuXG4uZ2Vja28tdGV4dC14cyB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgLyogMTJweCAqL1xuICBsaW5lLWhlaWdodDogMXJlbTsgLyogMTZweCAqL1xufVxuXG4uZ2Vja28tdGV4dC1iYXNlIHtcbiAgZm9udC1zaXplOiAxcmVtOyAvKiAxNnB4ICovXG4gIGxpbmUtaGVpZ2h0OiAxLjVyZW07IC8qIDI0cHggKi9cbn1cblxuLmdlY2tvLXRleHQtbGcge1xuICBmb250LXNpemU6IDEuMTI1cmVtOyAvKiAxOHB4ICovXG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyAvKiAyOHB4ICovXG59XG5cbi5nZWNrby10ZXh0LXhsIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyAvKiAyMHB4ICovXG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtOyAvKiAyOHB4ICovXG59XG5cbi5nZWNrby10ZXh0LTJ4bCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyAvKiAyNHB4ICovXG4gIGxpbmUtaGVpZ2h0OiAycmVtOyAvKiAzMnB4ICovXG59XG5cbi5nZWNrby10ZXh0LTN4bCB7XG4gIGZvbnQtc2l6ZTogMS44NzVyZW07IC8qIDMwcHggKi9cbiAgbGluZS1oZWlnaHQ6IDIuMjVyZW07IC8qIDM2cHggKi9cbn1cblxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4vKiAgICAgICAgICAgICAgICBEYXJrIG1vZGUgc3R5bGVzICAgICAgICAgICAgICAgICovXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbi8qIDEuIE1haW4gd2lkZ2V0IHN0eWxpbmcgKi9cbi5nZWNrby13aWRnZXQuZ2Vja28tZGFyayB7XG4gIGJhY2tncm91bmQ6IHZhcigtLWNvbG9yLW1vb24tOTAwKTtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1vb24tMjAwKTtcblxuICBmb250LXdlaWdodDogMzAwO1xufVxuXG4uZ2Vja28tb3V0bGluZS5nZWNrby1kYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jb2xvci1tb29uLTYwMCk7XG59XG5cblxuLyogMi4gU2hhcmVkIGNvbXBvbmVudHMgc3R5bGluZyAqL1xuLmdlY2tvLWRhcmsgLmdlY2tvLXVwIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXN1Y2Nlc3MtNDAwKTtcbiAgZmlsbDogdmFyKC0tY29sb3Itc3VjY2Vzcy00MDApO1xufVxuXG4uZ2Vja28tZGFyayBhOmhvdmVyIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLXByaW1hcnktNDAwKTtcbn1cblxuLmdlY2tvLWRhcmsgLmdlY2tvLXNrZWxldG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tY29sb3ItbW9vbi03MDApO1xufVxuXG5cbi8qIDMuIFV0aWxpdHkgY2xhc3NlcyBzdHlsaW5nICovXG4uZ2Vja28tZGFyayAuZ2Vja28tcmVndWxhciB7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG59XG5cbi5nZWNrby1kYXJrIC5nZWNrby1tZWRpdW0ge1xuICBmb250LXdlaWdodDogNDAwO1xufVxuXG4uZ2Vja28tZGFyayAuZ2Vja28tc2VtaWJvbGQge1xuICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uZ2Vja28tZGFyayAuZ2Vja28tYm9sZCB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5nZWNrby1kYXJrIC5nZWNrby10ZXh0LWxpZ2h0IHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1vb24tMjAwKTtcbiAgZmlsbDogdmFyKC0tY29sb3ItbW9vbi0yMDApO1xufVxuXG4uZ2Vja28tZGFyayAuZ2Vja28tdGV4dC1kYXJrIHtcbiAgY29sb3I6IHZhcigtLWNvbG9yLW1vb24tNTApO1xuICBmaWxsOiB2YXIoLS1jb2xvci1tb29uLTUwKTtcbn1cblxuLmdlY2tvLWRhcmsgLmdlY2tvLXRleHQtcHJpbWFyeSB7XG4gIGNvbG9yOiB2YXIoLS1jb2xvci1wcmltYXJ5LTQwMCk7XG4gIGZpbGw6IHZhcigtLWNvbG9yLXByaW1hcnktNDAwKTtcbn1cblxuLmdlY2tvLWRhcmsgLmdlY2tvLWRpdmlkZXIge1xuICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jb2xvci1tb29uLTcwMCk7XG59XG5cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyogICAgICAgICAgICAgICAgICAgIEtleWZyYW1lcyAgICAgICAgICAgICAgICAgICAqL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG5Aa2V5ZnJhbWVzIHB1bHNlIHtcbiAgMCUsIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAuNTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwaW4ge1xuICBmcm9tIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICB0byB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuJywiIl0pfSxkMzRhOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiJSYW5nIHRyxb5uZSBrYXBpdGFsaXphY2lqZSIsIm1jYXAiOiJUcsW+bmEga2FwaXRhbGl6YWNpamEiLCIyNGhfdm9sdW1lIjoiT2JzZWcgdiAyNCBoIiwiMjRoX2hpZ2hfbG93IjoiTmFqdi4vbmFqbS4gdiAyNCBoIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlVwb3JhYmxqYSB0ZWhub2xvZ2lqbyAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiJQcmltZXJqYXZhIGNlbiBrcmlwdG92YWx1dCIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiJQcmltZXJqYXZhIHRyxb5uZSBrYXBpdGFsaXphY2lqZSBrcmlwdG92YWx1dCJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlVwb3JhYmxqYSB0ZWhub2xvZ2lqbyAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiTmFqdi4gdiAyNCBoIiwiMjRoX2xvdyI6Ik5ham0uIHYgMjQgaCIsInZpZXdfcHJpY2VfY2hhcnQiOiJPZ2xlZCBncmFmaWtvbmEga292YW5jYSAle2NvaW59IiwicG93ZXJlZF9ieSI6IlVwb3JhYmxqYSB0ZWhub2xvZ2lqbyAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlVwb3JhYmxqYSB0ZWhub2xvZ2lqbyAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlVwb3JhYmxqYSB0ZWhub2xvZ2lqbyAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImJlYW1fd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJVcG9yYWJsamEgdGVobm9sb2dpam8gJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiJOYWp2LiB2IDI0IGgiLCIyNGhfbG93IjoiTmFqbS4gdiAyNCBoIiwidmlld19wcmljZV9jaGFydCI6Ik9nbGVkIGdyYWZpa29uYSBrb3ZhbmNhICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiVXBvcmFibGphIHRlaG5vbG9naWpvICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiJPZ2xlZCBncmFmaWtvbmEga292YW5jYSAle2NvaW59IiwicG93ZXJlZF9ieSI6IlVwb3JhYmxqYSB0ZWhub2xvZ2lqbyAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJEcmV2ZXNuaSBwb2dsZWQga3JpcHRvdmFsdXQiLCJzdWJ0aXRsZSI6IihUb3AgJXt0b3B9IHBvIHRyxb5uaSBrYXBpdGFsaXphY2lqaSkiLCJwb3dlcmVkX2J5IjoiVXBvcmFibGphIHRlaG5vbG9naWpvICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiJJemphdmEgbyBvbWVqaXR2aSBvZGdvdm9ybm9zdGk6IFRhIG9yb2RqYSBzbyBuYW1lbmplbmEgcmF6dmVkcmlsdSBpbiBuZSBwcmVkc3RhdmxqYWpvIGZpbmFuxI1uZWdhIHN2ZXRvdmFuamEuIiwic3BpbiI6IlphdnJ0aSIsImF2YWlsYWJsZV9jb2lucyI6IlJhenBvbG/FvmxqaXZpIGtvdmFuY2kifSwiY29pbl9kYWlseV9wcmljZV93aWRnZXQiOnsidGl0bGUiOiJQb3NvZG9iaXRldiBjZW5lIENvaW5HZWNrbyIsInRvdGFsX21jYXAiOiJTa3VwLiB0ci4ga2FwLiIsIjI0aF92b2wiOiJPYnNlZyB0cmdvdmFuamEgdiAyNCBoIiwiZG9tIjoiRG9taW5hbnRub3N0In0sImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldCI6eyJleGNoYW5nZSI6IkJvcnphIiwicGFpciI6IlBhciIsInByaWNlIjoiQ2VuYSIsInZvbHVtZSI6Ik9ic2VnIiwidHJ1c3Rfc2NvcmUiOiJPY2VuYSB6YXVwYW5qYSIsInZpZXdfcHJpY2VfY2hhcnQiOiJPZ2xlZCBjZW5pa2EiLCJwb3dlcmVkX2J5IjoiVXBvcmFibGphIHRlaG5vbG9naWpvICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJ2aWV3X2FsbCI6Ik9nbGVkIHZzZWggdHJnb3Yga292YW5jYSAle2NvaW59In19Jyl9LGQzZjQ6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7cmV0dXJuIm9iamVjdCI9PT10eXBlb2YgdD9udWxsIT09dDoiZnVuY3Rpb24iPT09dHlwZW9mIHR9fSxkNGFiOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZzt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7dmFyIGU9bi5jYWxsKHQpLGk9IltvYmplY3QgQXJndW1lbnRzXSI9PT1lO3JldHVybiBpfHwoaT0iW29iamVjdCBBcnJheV0iIT09ZSYmbnVsbCE9PXQmJiJvYmplY3QiPT09dHlwZW9mIHQmJiJudW1iZXIiPT09dHlwZW9mIHQubGVuZ3RoJiZ0Lmxlbmd0aD49MCYmIltvYmplY3QgRnVuY3Rpb25dIj09PW4uY2FsbCh0LmNhbGxlZSkpLGl9fSxkNGMwOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCIwZDU4Iikscj1pKCIyNjIxIiksbz1pKCI1MmE3Iik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3ZhciBlPW4odCksaT1yLmY7aWYoaSl7dmFyIGEscz1pKHQpLGM9by5mLGg9MDt3aGlsZShzLmxlbmd0aD5oKWMuY2FsbCh0LGE9c1toKytdKSYmZS5wdXNoKGEpfXJldHVybiBlfX0sZDUzYjpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3JldHVybnt2YWx1ZTplLGRvbmU6ISF0fX19LGQ2Yzc6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LHI9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyxvPUFycmF5LnByb3RvdHlwZS5zbGljZSxhPWkoImQ0YWIiKSxzPU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUsYz0hcy5jYWxsKHt0b1N0cmluZzpudWxsfSwidG9TdHJpbmciKSxoPXMuY2FsbCgoZnVuY3Rpb24oKXt9KSwicHJvdG90eXBlIiksbD1bInRvU3RyaW5nIiwidG9Mb2NhbGVTdHJpbmciLCJ2YWx1ZU9mIiwiaGFzT3duUHJvcGVydHkiLCJpc1Byb3RvdHlwZU9mIiwicHJvcGVydHlJc0VudW1lcmFibGUiLCJjb25zdHJ1Y3RvciJdLHA9ZnVuY3Rpb24odCl7dmFyIGU9dC5jb25zdHJ1Y3RvcjtyZXR1cm4gZSYmZS5wcm90b3R5cGU9PT10fSxkPXskYXBwbGljYXRpb25DYWNoZTohMCwkY29uc29sZTohMCwkZXh0ZXJuYWw6ITAsJGZyYW1lOiEwLCRmcmFtZUVsZW1lbnQ6ITAsJGZyYW1lczohMCwkaW5uZXJIZWlnaHQ6ITAsJGlubmVyV2lkdGg6ITAsJG91dGVySGVpZ2h0OiEwLCRvdXRlcldpZHRoOiEwLCRwYWdlWE9mZnNldDohMCwkcGFnZVlPZmZzZXQ6ITAsJHBhcmVudDohMCwkc2Nyb2xsTGVmdDohMCwkc2Nyb2xsVG9wOiEwLCRzY3JvbGxYOiEwLCRzY3JvbGxZOiEwLCRzZWxmOiEwLCR3ZWJraXRJbmRleGVkREI6ITAsJHdlYmtpdFN0b3JhZ2VJbmZvOiEwLCR3aW5kb3c6ITB9LHU9ZnVuY3Rpb24oKXtpZigidW5kZWZpbmVkIj09PXR5cGVvZiB3aW5kb3cpcmV0dXJuITE7Zm9yKHZhciB0IGluIHdpbmRvdyl0cnl7aWYoIWRbIiQiK3RdJiZuLmNhbGwod2luZG93LHQpJiZudWxsIT09d2luZG93W3RdJiYib2JqZWN0Ij09PXR5cGVvZiB3aW5kb3dbdF0pdHJ5e3Aod2luZG93W3RdKX1jYXRjaChlKXtyZXR1cm4hMH19Y2F0Y2goZSl7cmV0dXJuITB9cmV0dXJuITF9KCksZj1mdW5jdGlvbih0KXtpZigidW5kZWZpbmVkIj09PXR5cGVvZiB3aW5kb3d8fCF1KXJldHVybiBwKHQpO3RyeXtyZXR1cm4gcCh0KX1jYXRjaChlKXtyZXR1cm4hMX19LG09ZnVuY3Rpb24odCl7dmFyIGU9bnVsbCE9PXQmJiJvYmplY3QiPT09dHlwZW9mIHQsaT0iW29iamVjdCBGdW5jdGlvbl0iPT09ci5jYWxsKHQpLG89YSh0KSxzPWUmJiJbb2JqZWN0IFN0cmluZ10iPT09ci5jYWxsKHQpLHA9W107aWYoIWUmJiFpJiYhbyl0aHJvdyBuZXcgVHlwZUVycm9yKCJPYmplY3Qua2V5cyBjYWxsZWQgb24gYSBub24tb2JqZWN0Iik7dmFyIGQ9aCYmaTtpZihzJiZ0Lmxlbmd0aD4wJiYhbi5jYWxsKHQsMCkpZm9yKHZhciB1PTA7dTx0Lmxlbmd0aDsrK3UpcC5wdXNoKFN0cmluZyh1KSk7aWYobyYmdC5sZW5ndGg+MClmb3IodmFyIG09MDttPHQubGVuZ3RoOysrbSlwLnB1c2goU3RyaW5nKG0pKTtlbHNlIGZvcih2YXIgZyBpbiB0KWQmJiJwcm90b3R5cGUiPT09Z3x8IW4uY2FsbCh0LGcpfHxwLnB1c2goU3RyaW5nKGcpKTtpZihjKWZvcih2YXIgdj1mKHQpLHk9MDt5PGwubGVuZ3RoOysreSl2JiYiY29uc3RydWN0b3IiPT09bFt5XXx8IW4uY2FsbCh0LGxbeV0pfHxwLnB1c2gobFt5XSk7cmV0dXJuIHB9O20uc2hpbT1mdW5jdGlvbigpe2lmKE9iamVjdC5rZXlzKXt2YXIgdD1mdW5jdGlvbigpe3JldHVybiAyPT09KE9iamVjdC5rZXlzKGFyZ3VtZW50cyl8fCIiKS5sZW5ndGh9KDEsMik7aWYoIXQpe3ZhciBlPU9iamVjdC5rZXlzO09iamVjdC5rZXlzPWZ1bmN0aW9uKHQpe3JldHVybiBhKHQpP2Uoby5jYWxsKHQpKTplKHQpfX19ZWxzZSBPYmplY3Qua2V5cz1tO3JldHVybiBPYmplY3Qua2V5c3x8bX0sdC5leHBvcnRzPW19LGQ2ZGE6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt0LmV4cG9ydHM9ZnVuY3Rpb24oKXtpZigiZnVuY3Rpb24iIT09dHlwZW9mIFN5bWJvbHx8ImZ1bmN0aW9uIiE9PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKXJldHVybiExO2lmKCJzeW1ib2wiPT09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcilyZXR1cm4hMDt2YXIgdD17fSxlPVN5bWJvbCgidGVzdCIpLGk9T2JqZWN0KGUpO2lmKCJzdHJpbmciPT09dHlwZW9mIGUpcmV0dXJuITE7aWYoIltvYmplY3QgU3ltYm9sXSIhPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkpcmV0dXJuITE7aWYoIltvYmplY3QgU3ltYm9sXSIhPT1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoaSkpcmV0dXJuITE7dmFyIG49NDI7Zm9yKGUgaW4gdFtlXT1uLHQpcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBPYmplY3Qua2V5cyYmMCE9PU9iamVjdC5rZXlzKHQpLmxlbmd0aClyZXR1cm4hMTtpZigiZnVuY3Rpb24iPT09dHlwZW9mIE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzJiYwIT09T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModCkubGVuZ3RoKXJldHVybiExO3ZhciByPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHModCk7aWYoMSE9PXIubGVuZ3RofHxyWzBdIT09ZSlyZXR1cm4hMTtpZighT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHQsZSkpcmV0dXJuITE7aWYoImZ1bmN0aW9uIj09PXR5cGVvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKXt2YXIgbz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHQsZSk7aWYoby52YWx1ZSE9PW58fCEwIT09by5lbnVtZXJhYmxlKXJldHVybiExfXJldHVybiEwfX0sZDg2NDpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiNzlhYSIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUsaSl7aWYobih0KSx2b2lkIDA9PT1lKXJldHVybiB0O3N3aXRjaChpKXtjYXNlIDE6cmV0dXJuIGZ1bmN0aW9uKGkpe3JldHVybiB0LmNhbGwoZSxpKX07Y2FzZSAyOnJldHVybiBmdW5jdGlvbihpLG4pe3JldHVybiB0LmNhbGwoZSxpLG4pfTtjYXNlIDM6cmV0dXJuIGZ1bmN0aW9uKGksbixyKXtyZXR1cm4gdC5jYWxsKGUsaSxuLHIpfX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gdC5hcHBseShlLGFyZ3VtZW50cyl9fX0sZDhkNjpmdW5jdGlvbih0LGUsaSl7aSgiMTY1NCIpLGkoIjZjMWMiKSx0LmV4cG9ydHM9aSgiY2NiOSIpLmYoIml0ZXJhdG9yIil9LGQ4ZTg6ZnVuY3Rpb24odCxlKXt0LmV4cG9ydHM9ZnVuY3Rpb24odCl7aWYoImZ1bmN0aW9uIiE9dHlwZW9mIHQpdGhyb3cgVHlwZUVycm9yKHQrIiBpcyBub3QgYSBmdW5jdGlvbiEiKTtyZXR1cm4gdH19LGQ5ZjY6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImU0YWUiKSxyPWkoIjc5NGIiKSxvPWkoIjFiYzMiKSxhPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTtlLmY9aSgiOGU2MCIpP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbih0LGUsaSl7aWYobih0KSxlPW8oZSwhMCksbihpKSxyKXRyeXtyZXR1cm4gYSh0LGUsaSl9Y2F0Y2gocyl7fWlmKCJnZXQiaW4gaXx8InNldCJpbiBpKXRocm93IFR5cGVFcnJvcigiQWNjZXNzb3JzIG5vdCBzdXBwb3J0ZWQhIik7cmV0dXJuInZhbHVlImluIGkmJih0W2VdPWkudmFsdWUpLHR9fSxkYmRiOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI1ODRhIikscj1pKCJlNTNkIiksbz0iX19jb3JlLWpzX3NoYXJlZF9fIixhPXJbb118fChyW29dPXt9KTsodC5leHBvcnRzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGFbdF18fChhW3RdPXZvaWQgMCE9PWU/ZTp7fSl9KSgidmVyc2lvbnMiLFtdKS5wdXNoKHt2ZXJzaW9uOm4udmVyc2lvbixtb2RlOmkoImI4ZTMiKT8icHVyZSI6Imdsb2JhbCIsY29weXJpZ2h0OiLCqSAyMDE5IERlbmlzIFB1c2hrYXJldiAoemxvaXJvY2sucnUpIn0pfSxkY2QwOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiLQoNC10LnRgtC40L3QsyDQv9C+INC/0LDQt9Cw0YDQvdCwINC60LDQv9C40YLQsNC70LjQt9Cw0YbQuNGPIiwibWNhcCI6ItCf0LDQt9Cw0YDQvdCwINC60LDQv9C40YLQsNC70LjQt9Cw0YbQuNGPIiwiMjRoX3ZvbHVtZSI6ItCe0LHQtdC8INC30LAgMjQg0YcuIiwiMjRoX2hpZ2hfbG93Ijoi0J3QsNC5LdCy0LjRgdC+0LrQsC/QvdCw0Lkt0L3QuNGB0LrQsCDRgdGC0L7QudC90L7RgdGCINC30LAgMjQg0YcuIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6ItCf0L7QtNC00YrRgNC20LAg0YHQtSDQvtGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6ItCh0YDQsNCy0L3QtdC90LjQtSDQvdCwINGG0LXQvdC40YLQtSDQvdCwINC60YDQuNC/0YLQvtCy0LDQu9GD0YLQuNGC0LUiLCJjcnlwdG9fbWFya2V0X2NhcF9jb21wYXJpc29uIjoi0KHRgNCw0LLQvdC10L3QuNC1INC90LAg0L/QsNC30LDRgNC90LDRgtCwINC60LDQv9C40YLQsNC70LjQt9Cw0YbQuNGPINC90LAg0LrRgNC40L/RgtC+0LLQsNC70YPRgtC40YLQtSJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6ItCf0L7QtNC00YrRgNC20LAg0YHQtSDQvtGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiLQndCw0Lkt0LLQuNGB0L7QutCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCAyNCDRhy4iLCIyNGhfbG93Ijoi0J3QsNC5LdC90LjRgdC60LAg0YHRgtC+0LnQvdC+0YHRgiDQt9CwIDI0INGHLiIsInZpZXdfcHJpY2VfY2hhcnQiOiLQn9GA0LXQs9C70LXQtCDQvdCwINCz0YDQsNGE0LjQutCw0YLQsCDQvdCwINGG0LXQvdC40YLQtSDQvdCwICV7Y29pbn0iLCJwb3dlcmVkX2J5Ijoi0J/QvtC00LTRitGA0LbQsCDRgdC1INC+0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLQn9C+0LTQtNGK0YDQttCwINGB0LUg0L7RgiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6ItCf0L7QtNC00YrRgNC20LAg0YHQtSDQvtGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6ItCf0L7QtNC00YrRgNC20LAg0YHQtSDQvtGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl90aWNrZXJfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoi0J3QsNC5LdCy0LjRgdC+0LrQsCDRgdGC0L7QudC90L7RgdGCINC30LAgMjQg0YcuIiwiMjRoX2xvdyI6ItCd0LDQuS3QvdC40YHQutCwINGB0YLQvtC50L3QvtGB0YIg0LfQsCAyNCDRhy4iLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi0J/RgNC10LPQu9C10LQg0L3QsCDQs9GA0LDRhNC40LrQsNGC0LAg0L3QsCDRhtC10L3QuNGC0LUg0L3QsCAle2NvaW59IiwicG93ZXJlZF9ieSI6ItCf0L7QtNC00YrRgNC20LAg0YHQtSDQvtGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiLQn9GA0LXQs9C70LXQtCDQvdCwINCz0YDQsNGE0LjQutCw0YLQsCDQvdCwINGG0LXQvdC40YLQtSDQvdCwICV7Y29pbn0iLCJwb3dlcmVkX2J5Ijoi0J/QvtC00LTRitGA0LbQsCDRgdC1INC+0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2hlYXRtYXBfd2lkZ2V0Ijp7InRpdGxlIjoi0JTRitGA0LLQvtCy0LjQtNC90LAg0LrQsNGA0YLQsCDQvdCwINC60YDQuNC/0YLQvtCy0LDQu9GD0YLQuNGC0LUiLCJzdWJ0aXRsZSI6IijQotC+0L8gJXt0b3B9INC/0L4g0L/QsNC30LDRgNC90LAg0LrQsNC/0LjRgtCw0LvQuNC30LDRhtC40Y8pIiwicG93ZXJlZF9ieSI6ItCf0L7QtNC00YrRgNC20LAg0YHQtSDQvtGCICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiLQntGC0LrQsNC3INC+0YIg0L7RgtCz0L7QstC+0YDQvdC+0YHRgjog0KLQtdC30Lgg0LjQvdGB0YLRgNGD0LzQtdC90YLQuCDRgdCwINC30LAg0YDQsNC30LLQu9C10YfQtdC90LjQtSDQuCDQvdC1INC/0YDQtdC00YHRgtCw0LLQu9GP0LLQsNGCINGE0LjQvdCw0L3RgdC+0LIg0YHRitCy0LXRgi4iLCJzcGluIjoi0J/Qu9Cw0YLRhNC+0YDQvNCwIFNwaW4iLCJhdmFpbGFibGVfY29pbnMiOiLQndCw0LvQuNGH0L3QuCDQstCw0LvRg9GC0LgifSwiY29pbl9kYWlseV9wcmljZV93aWRnZXQiOnsidGl0bGUiOiLQkNC60YLRg9Cw0LvQuNC30LjRgNCw0L3QtSDQvdCwINGG0LXQvdC40YLQtSDQsiBDb2luR2Vja28iLCJ0b3RhbF9tY2FwIjoi0J7QsdGJ0LAg0L/QsNC30LDRgNC90LAg0LrQsNC/0LjRgtCw0LvQuNC30LDRhtC40Y8iLCIyNGhfdm9sIjoi0J7QsdC10Lwg0LfQsCAyNCDRhy4iLCJkb20iOiLQlNC+0LwuIn0sImNvaW5fbWFya2V0X3RpY2tlcl9saXN0X3dpZGdldCI6eyJleGNoYW5nZSI6ItCR0L7RgNGB0LAiLCJwYWlyIjoi0JTQstC+0LnQutCwIiwicHJpY2UiOiLQptC10L3QsCIsInZvbHVtZSI6ItCe0LHQtdC8IiwidHJ1c3Rfc2NvcmUiOiLQoNC10LfRg9C70YLQsNGCINC30LAg0LTQvtCy0LXRgNC40LUiLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi0J/RgNC10LPQu9C10LQg0L3QsCDQs9GA0LDRhNC40LrQsNGC0LAg0L3QsCDRhtC10L3QuNGC0LUiLCJwb3dlcmVkX2J5Ijoi0J/QvtC00LTRitGA0LbQsCDRgdC1INC+0YIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsInZpZXdfYWxsIjoi0J/RgNC10LPQu9C10LQg0L3QsCDQstGB0LjRh9C60Lgg0L/QsNC30LDRgNC4INC30LAgJXtjb2lufSJ9fScpfSxkZDExOmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiLsi5zqsIDstJ3slaEg7Iic7JyEIiwibWNhcCI6IuyLnOqwgOy0neyVoSIsIjI0aF92b2x1bWUiOiIyNOyLnOqwhCDrs7zrpagiLCIyNGhfaGlnaF9sb3ciOiIyNOyLnOqwhCDqs6DqsIAv7KCA6rCAIn0sImNvaW5fY29tcGFyZV9jaGFydF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g7KCc6rO1IiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiLslZTtmLjtmZTtj5Ag6rCA6rKpIOu5hOq1kCIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiLslZTtmLjtmZTtj5Ag7Iuc6rCA7LSd7JWhIOu5hOq1kCJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g7KCc6rO1In0sImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjTsi5zqsIQg6rOg6rCAIiwiMjRoX2xvdyI6IjI07Iuc6rCEIOyggOqwgCIsInZpZXdfcHJpY2VfY2hhcnQiOiIle2NvaW59IOqwgOqyqSDssKjtirgg7KGw7ZqMIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g7KCc6rO1In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g7KCc6rO1In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g7KCc6rO1In0sImJlYW1fd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IOygnOqztSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNOyLnOqwhCDqs6DqsIAiLCIyNGhfbG93IjoiMjTsi5zqsIQg7KCA6rCAIiwidmlld19wcmljZV9jaGFydCI6IiV7Y29pbn0g6rCA6rKpIOywqO2KuCDsobDtmowiLCJwb3dlcmVkX2J5IjoiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDsoJzqs7UifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiIle2NvaW59IOqwgOqyqSDssKjtirgg7KGw7ZqMIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0g7KCc6rO1In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiLslZTtmLjtmZTtj5Ag64KY66y07KeA64+EIiwic3VidGl0bGUiOiIo7Iuc6rCA7LSd7JWhIOq4sOykgCDsg4HsnIQgJXt0b3B9IOy9lOyduCkiLCJwb3dlcmVkX2J5IjoiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDsoJzqs7UifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiLqs6Dsp4Ag7IKs7ZWtOiDrs7gg64+E6rWs64qUIOyerOuvuOuhnOunjCDtmZzsmqntlaAg7IiYIOyeiOyKteuLiOuLpCwg6riI7Jy17KCB7J24IOyekOusuOydtCDslYTri5nri4jri6QuIiwic3BpbiI6Iu2ajOyghCIsImF2YWlsYWJsZV9jb2lucyI6IuyCrOyaqSDqsIDriqUg7L2U7J24In0sImNvaW5fZGFpbHlfcHJpY2Vfd2lkZ2V0Ijp7InRpdGxlIjoiQ29pbkdlY2tvIOqwgOqyqSDsl4XrjbDsnbTtirgiLCJ0b3RhbF9tY2FwIjoi7LSdIOyLnOqwgOy0neyVoSIsIjI0aF92b2wiOiIyNOyLnOqwhCDqsbDrnpjrn4kiLCJkb20iOiLsp4DrsLDroKUifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoi6rGw656Y7IaMIiwicGFpciI6IuyMjSIsInByaWNlIjoi7Iuc7IS4Iiwidm9sdW1lIjoi6rGw656Y65+JIiwidHJ1c3Rfc2NvcmUiOiLsi6DrorDsp4DsiJgiLCJ2aWV3X3ByaWNlX2NoYXJ0Ijoi6rCA6rKpIOywqO2KuCDsobDtmowiLCJwb3dlcmVkX2J5IjoiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSDsoJzqs7UiLCJ2aWV3X2FsbCI6IuyghOyytCAle2NvaW59IOuniOy8kyDsobDtmowifX0nKX0sZGVhNjpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsaT10Ll9zZWxmLl9jfHxlO3JldHVybiBpKCJzcGFuIix7c3RhdGljQ2xhc3M6ImdlY2tvLXBlcmNlbnQtY2hhbmdlIixjbGFzczp0LnBlcmNlbnRDaGFuZ2VDbGFzcyxzdHlsZTp7Zm9udFNpemU6dGhpcy5mb250U2l6ZX19LFt0LnZhbHVlPj0wP2koIkZhQ2FyZXRVcCIse3N0eWxlOntoZWlnaHQ6dGhpcy5mb250U2l6ZX19KTppKCJGYUNhcmV0RG93biIse3N0eWxlOntoZWlnaHQ6dGhpcy5mb250U2l6ZX19KSx0Ll92KCJcblxuICAiK3QuX3ModC5wZXJjZW50YWdlVGV4dCkrIlxuIildLDEpfSxyPVtdLG89KGkoImM1ZjYiKSxmdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LiRjcmVhdGVFbGVtZW50LGk9dC5fc2VsZi5fY3x8ZTtyZXR1cm4gaSgic3ZnIix7YXR0cnM6e3htbG5zOiJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIsdmlld0JveDoiMCAwIDMyMCA1MTIiLGZpbGw6ImluaGVyaXQifX0sW2koInBhdGgiLHthdHRyczp7ZDoiTTEzNy40IDM3NC42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDEyOC0xMjhjOS4yLTkuMiAxMS45LTIyLjkgNi45LTM0LjlzLTE2LjYtMTkuOC0yOS42LTE5LjhMMzIgMTkyYy0xMi45IDAtMjQuNiA3LjgtMjkuNiAxOS44cy0yLjIgMjUuNyA2LjkgMzQuOWwxMjggMTI4eiJ9fSldKX0pLGE9W10scz1pKCIyODc3IiksYz17fSxoPU9iamVjdChzWyJhIl0pKGMsbyxhLCExLG51bGwsbnVsbCxudWxsKSxsPWguZXhwb3J0cyxwPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsaT10Ll9zZWxmLl9jfHxlO3JldHVybiBpKCJzdmciLHthdHRyczp7eG1sbnM6Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix2aWV3Qm94OiIwIDAgMzIwIDUxMiJ9fSxbaSgicGF0aCIse2F0dHJzOntkOiJNMTgyLjYgMTM3LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwbC0xMjggMTI4Yy05LjIgOS4yLTExLjkgMjIuOS02LjkgMzQuOXMxNi42IDE5LjggMjkuNiAxOS44SDI4OGMxMi45IDAgMjQuNi03LjggMjkuNi0xOS44czIuMi0yNS43LTYuOS0zNC45bC0xMjgtMTI4eiJ9fSldKX0sZD1bXSx1PXt9LGY9T2JqZWN0KHNbImEiXSkodSxwLGQsITEsbnVsbCxudWxsLG51bGwpLG09Zi5leHBvcnRzLGc9e25hbWU6IkdlY2tvUGVyY2VudENoYW5nZSIsY29tcG9uZW50czp7RmFDYXJldFVwOm0sRmFDYXJldERvd246bH0scHJvcHM6e2xvY2FsZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiZW4ifSx2YWx1ZTp7dHlwZTpOdW1iZXIsZGVmYXVsdDowfSxmb250U2l6ZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiMTRweCJ9fSxjb21wdXRlZDp7cGVyY2VudENoYW5nZUNsYXNzOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmFsdWU+PTA/ImdlY2tvLXVwIjoiZ2Vja28tZG93biJ9LHBlcmNlbnRhZ2VUZXh0OmZ1bmN0aW9uKCl7cmV0dXJuIiIuY29uY2F0KE1hdGguYWJzKHRoaXMudmFsdWUpLnRvRml4ZWQoMSksIiUiKX19fSx2PWcseT1PYmplY3Qoc1siYSJdKSh2LG4sciwhMSxudWxsLG51bGwsbnVsbCk7ZVsiYSJdPXkuZXhwb3J0c30sZGZjYzpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsaT10Ll9zZWxmLl9jfHxlO3JldHVybiBpKCJzcGFuIix7c3RhdGljQ2xhc3M6ImdlY2tvLXByaWNlIixkb21Qcm9wczp7aW5uZXJIVE1MOnQuX3ModC5wcmljZVRleHQpfX0pfSxyPVtdLG89aSgiZThiYSIpLGE9e3NpZ25pZmljYW50RmlndXJlczo0LG1heGltdW1EZWNpbWFsVHJhaWxpbmdaZXJvZXM6NH0scz17bmFtZToiR2Vja29QcmljZSIscHJvcHM6e2xvY2FsZTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoiZW4ifSxjdXJyZW5jeTp7dHlwZTpTdHJpbmcsZGVmYXVsdDoidXNkIn0sYW1vdW50OntkZWZhdWx0OjB9LGRlY2ltYWxzOnt0eXBlOkJvb2xlYW4sZGVmYXVsdDohMH19LGNvbXB1dGVkOntwcmljZVRleHQ6ZnVuY3Rpb24oKXtyZXR1cm4gT2JqZWN0KG9bImZvcm1hdEN1cnJlbmN5Il0pKHRoaXMuYW1vdW50LHRoaXMuY3VycmVuY3ksdGhpcy5sb2NhbGUsITEsdGhpcy5hbW91bnQ+MCYmdGhpcy5hbW91bnQ8MT9hOiF0aGlzLmRlY2ltYWxzKX19fSxjPXMsaD1pKCIyODc3IiksbD1PYmplY3QoaFsiYSJdKShjLG4sciwhMSxudWxsLG51bGwsbnVsbCk7ZVsiYSJdPWwuZXhwb3J0c30sZTExZTpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz0iY29uc3RydWN0b3IsaGFzT3duUHJvcGVydHksaXNQcm90b3R5cGVPZixwcm9wZXJ0eUlzRW51bWVyYWJsZSx0b0xvY2FsZVN0cmluZyx0b1N0cmluZyx2YWx1ZU9mIi5zcGxpdCgiLCIpfSxlNGFlOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCJmNzcyIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe2lmKCFuKHQpKXRocm93IFR5cGVFcnJvcih0KyIgaXMgbm90IGFuIG9iamVjdCEiKTtyZXR1cm4gdH19LGU1M2Q6ZnVuY3Rpb24odCxlKXt2YXIgaT10LmV4cG9ydHM9InVuZGVmaW5lZCIhPXR5cGVvZiB3aW5kb3cmJndpbmRvdy5NYXRoPT1NYXRoP3dpbmRvdzoidW5kZWZpbmVkIiE9dHlwZW9mIHNlbGYmJnNlbGYuTWF0aD09TWF0aD9zZWxmOkZ1bmN0aW9uKCJyZXR1cm4gdGhpcyIpKCk7Im51bWJlciI9PXR5cGVvZiBfX2cmJihfX2c9aSl9LGU1OTE6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbjsoZnVuY3Rpb24ocixvKXt0LmV4cG9ydHM/KG9bImRlZmF1bHQiXT1vLHQuZXhwb3J0cz1yLmRvY3VtZW50P28ocik6byk6KG49ZnVuY3Rpb24oKXtyZXR1cm4gbyhyKX0uY2FsbChlLGksZSx0KSx2b2lkIDA9PT1ufHwodC5leHBvcnRzPW4pKX0pKCJ1bmRlZmluZWQiIT09dHlwZW9mIHdpbmRvdz93aW5kb3c6dGhpcywoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUsaSxuKXt0Lmhhc093blByb3BlcnR5KGUpfHwodFtlXT1uLmFwcGx5KG51bGwsaSkpfXZhciBpPXt9O3JldHVybiBlKGksIkNvcmUvR2xvYmFscy5qcyIsW10sKGZ1bmN0aW9uKCl7dmFyIGUsaT0idW5kZWZpbmVkIiE9PXR5cGVvZiB0P3Q6InVuZGVmaW5lZCIhPT10eXBlb2Ygd2luZG93P3dpbmRvdzp7fTtyZXR1cm4gZnVuY3Rpb24odCl7dC5TVkdfTlM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIix0LnByb2R1Y3Q9IkhpZ2hjaGFydHMiLHQudmVyc2lvbj0iOS4zLjMiLHQud2luPWksdC5kb2M9dC53aW4uZG9jdW1lbnQsdC5zdmc9dC5kb2MmJnQuZG9jLmNyZWF0ZUVsZW1lbnROUyYmISF0LmRvYy5jcmVhdGVFbGVtZW50TlModC5TVkdfTlMsInN2ZyIpLmNyZWF0ZVNWR1JlY3QsdC51c2VyQWdlbnQ9dC53aW4ubmF2aWdhdG9yJiZ0Lndpbi5uYXZpZ2F0b3IudXNlckFnZW50fHwiIix0LmlzQ2hyb21lPS0xIT09dC51c2VyQWdlbnQuaW5kZXhPZigiQ2hyb21lIiksdC5pc0ZpcmVmb3g9LTEhPT10LnVzZXJBZ2VudC5pbmRleE9mKCJGaXJlZm94IiksdC5pc01TPS8oZWRnZXxtc2llfHRyaWRlbnQpL2kudGVzdCh0LnVzZXJBZ2VudCkmJiF0Lndpbi5vcGVyYSx0LmlzU2FmYXJpPSF0LmlzQ2hyb21lJiYtMSE9PXQudXNlckFnZW50LmluZGV4T2YoIlNhZmFyaSIpLHQuaXNUb3VjaERldmljZT0vKE1vYmlsZXxBbmRyb2lkfFdpbmRvd3MgUGhvbmUpLy50ZXN0KHQudXNlckFnZW50KSx0LmlzV2ViS2l0PS0xIT09dC51c2VyQWdlbnQuaW5kZXhPZigiQXBwbGVXZWJLaXQiKSx0LmRlZzJyYWQ9MipNYXRoLlBJLzM2MCx0Lmhhc0JpZGlCdWc9dC5pc0ZpcmVmb3gmJjQ+cGFyc2VJbnQodC51c2VyQWdlbnQuc3BsaXQoIkZpcmVmb3gvIilbMV0sMTApLHQuaGFzVG91Y2g9ISF0Lndpbi5Ub3VjaEV2ZW50LHQubWFyZ2luTmFtZXM9WyJwbG90VG9wIiwibWFyZ2luUmlnaHQiLCJtYXJnaW5Cb3R0b20iLCJwbG90TGVmdCJdLHQubm9vcD1mdW5jdGlvbigpe30sdC5zdXBwb3J0c1Bhc3NpdmVFdmVudHM9ZnVuY3Rpb24oKXt2YXIgZT0hMTtpZighdC5pc01TKXt2YXIgaT1PYmplY3QuZGVmaW5lUHJvcGVydHkoe30sInBhc3NpdmUiLHtnZXQ6ZnVuY3Rpb24oKXtlPSEwfX0pO3Qud2luLmFkZEV2ZW50TGlzdGVuZXImJnQud2luLnJlbW92ZUV2ZW50TGlzdGVuZXImJih0Lndpbi5hZGRFdmVudExpc3RlbmVyKCJ0ZXN0UGFzc2l2ZSIsdC5ub29wLGkpLHQud2luLnJlbW92ZUV2ZW50TGlzdGVuZXIoInRlc3RQYXNzaXZlIix0Lm5vb3AsaSkpfXJldHVybiBlfSgpLHQuY2hhcnRzPVtdLHQuZGF0ZUZvcm1hdHM9e30sdC5zZXJpZXNUeXBlcz17fSx0LnN5bWJvbFNpemVzPXt9LHQuY2hhcnRDb3VudD0wfShlfHwoZT17fSkpLGV9KSksZShpLCJDb3JlL1V0aWxpdGllcy5qcyIsW2lbIkNvcmUvR2xvYmFscy5qcyJdXSwoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShpLG4scixvKXt2YXIgYT1uPyJIaWdoY2hhcnRzIGVycm9yIjoiSGlnaGNoYXJ0cyB3YXJuaW5nIjszMj09PWkmJihpPWErIjogRGVwcmVjYXRlZCBtZW1iZXIiKTt2YXIgcz1oKGkpLGM9cz9hKyIgIyIraSsiOiB3d3cuaGlnaGNoYXJ0cy5jb20vZXJyb3JzLyIraSsiLyI6aS50b1N0cmluZygpO2lmKCJ1bmRlZmluZWQiIT09dHlwZW9mIG8pe3ZhciBsPSIiO3MmJihjKz0iPyIpLHYobywoZnVuY3Rpb24odCxlKXtsKz0iXG4gLSAiK2UrIjogIit0LHMmJihjKz1lbmNvZGVVUkkoZSkrIj0iK2VuY29kZVVSSSh0KSl9KSksYys9bH1fKHQsImRpc3BsYXlFcnJvciIse2NoYXJ0OnIsY29kZTppLG1lc3NhZ2U6YyxwYXJhbXM6b30sKGZ1bmN0aW9uKCl7aWYobil0aHJvdyBFcnJvcihjKTt3LmNvbnNvbGUmJi0xPT09ZS5tZXNzYWdlcy5pbmRleE9mKGMpJiZjb25zb2xlLndhcm4oYyl9KSksZS5tZXNzYWdlcy5wdXNoKGMpfWZ1bmN0aW9uIGkodCxlKXt2YXIgbj17fTtyZXR1cm4gdih0LChmdW5jdGlvbihyLG8pe2EodFtvXSwhMCkmJiF0Lm5vZGVUeXBlJiZlW29dPyhyPWkodFtvXSxlW29dKSxPYmplY3Qua2V5cyhyKS5sZW5ndGgmJihuW29dPXIpKTooYSh0W29dKXx8dFtvXSE9PWVbb10pJiYobltvXT10W29dKX0pKSxufWZ1bmN0aW9uIG4odCxlKXtyZXR1cm4gcGFyc2VJbnQodCxlfHwxMCl9ZnVuY3Rpb24gcih0KXtyZXR1cm4ic3RyaW5nIj09PXR5cGVvZiB0fWZ1bmN0aW9uIG8odCl7cmV0dXJuIHQ9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpLCJbb2JqZWN0IEFycmF5XSI9PT10fHwiW29iamVjdCBBcnJheSBJdGVyYXRvcl0iPT09dH1mdW5jdGlvbiBhKHQsZSl7cmV0dXJuISF0JiYib2JqZWN0Ij09PXR5cGVvZiB0JiYoIWV8fCFvKHQpKX1mdW5jdGlvbiBzKHQpe3JldHVybiBhKHQpJiYibnVtYmVyIj09PXR5cGVvZiB0Lm5vZGVUeXBlfWZ1bmN0aW9uIGModCl7dmFyIGU9dCYmdC5jb25zdHJ1Y3RvcjtyZXR1cm4hKCFhKHQsITApfHxzKHQpfHwhZXx8IWUubmFtZXx8Ik9iamVjdCI9PT1lLm5hbWUpfWZ1bmN0aW9uIGgodCl7cmV0dXJuIm51bWJlciI9PT10eXBlb2YgdCYmIWlzTmFOKHQpJiYxLzA+dCYmLTEvMDx0fWZ1bmN0aW9uIGwodCl7cmV0dXJuInVuZGVmaW5lZCIhPT10eXBlb2YgdCYmbnVsbCE9PXR9ZnVuY3Rpb24gcCh0LGUsaSl7dmFyIG47cmV0dXJuIHIoZSk/bChpKT90LnNldEF0dHJpYnV0ZShlLGkpOnQmJnQuZ2V0QXR0cmlidXRlJiYoKG49dC5nZXRBdHRyaWJ1dGUoZSkpfHwiY2xhc3MiIT09ZXx8KG49dC5nZXRBdHRyaWJ1dGUoZSsiTmFtZSIpKSk6dihlLChmdW5jdGlvbihlLGkpe2woZSk/dC5zZXRBdHRyaWJ1dGUoaSxlKTp0LnJlbW92ZUF0dHJpYnV0ZShpKX0pKSxufWZ1bmN0aW9uIGQodCxlKXt2YXIgaTtmb3IoaSBpbiB0fHwodD17fSksZSl0W2ldPWVbaV07cmV0dXJuIHR9ZnVuY3Rpb24gdSgpe2Zvcih2YXIgdD1hcmd1bWVudHMsZT10Lmxlbmd0aCxpPTA7aTxlO2krKyl7dmFyIG49dFtpXTtpZigidW5kZWZpbmVkIiE9PXR5cGVvZiBuJiZudWxsIT09bilyZXR1cm4gbn19ZnVuY3Rpb24gZihlLGkpe3QuaXNNUyYmIXQuc3ZnJiZpJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBpLm9wYWNpdHkmJihpLmZpbHRlcj0iYWxwaGEob3BhY2l0eT0iKzEwMCppLm9wYWNpdHkrIikiKSxkKGUuc3R5bGUsaSl9ZnVuY3Rpb24gbSh0LGUpe3JldHVybiAxZTE0PHQ/dDpwYXJzZUZsb2F0KHQudG9QcmVjaXNpb24oZXx8MTQpKX1mdW5jdGlvbiBnKGkscixvKXt2YXIgYT10LmdldFN0eWxlfHxnO2lmKCJ3aWR0aCI9PT1yKXJldHVybiByPU1hdGgubWluKGkub2Zmc2V0V2lkdGgsaS5zY3JvbGxXaWR0aCksbz1pLmdldEJvdW5kaW5nQ2xpZW50UmVjdCYmaS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCxvPHImJm8+PXItMSYmKHI9TWF0aC5mbG9vcihvKSksTWF0aC5tYXgoMCxyLShhKGksInBhZGRpbmctbGVmdCIsITApfHwwKS0oYShpLCJwYWRkaW5nLXJpZ2h0IiwhMCl8fDApKTtpZigiaGVpZ2h0Ij09PXIpcmV0dXJuIE1hdGgubWF4KDAsTWF0aC5taW4oaS5vZmZzZXRIZWlnaHQsaS5zY3JvbGxIZWlnaHQpLShhKGksInBhZGRpbmctdG9wIiwhMCl8fDApLShhKGksInBhZGRpbmctYm90dG9tIiwhMCl8fDApKTtpZih3LmdldENvbXB1dGVkU3R5bGV8fGUoMjcsITApLGk9dy5nZXRDb21wdXRlZFN0eWxlKGksdm9pZCAwKSl7dmFyIHM9aS5nZXRQcm9wZXJ0eVZhbHVlKHIpO3Uobywib3BhY2l0eSIhPT1yKSYmKHM9bihzKSl9cmV0dXJuIHN9ZnVuY3Rpb24gdih0LGUsaSl7Zm9yKHZhciBuIGluIHQpT2JqZWN0Lmhhc093blByb3BlcnR5LmNhbGwodCxuKSYmZS5jYWxsKGl8fHRbbl0sdFtuXSxuLHQpfWZ1bmN0aW9uIHkoZSxpLG4pe2Z1bmN0aW9uIHIoaSxuKXt2YXIgcj1lLnJlbW92ZUV2ZW50TGlzdGVuZXJ8fHQucmVtb3ZlRXZlbnRMaXN0ZW5lclBvbHlmaWxsO3ImJnIuY2FsbChlLGksbiwhMSl9ZnVuY3Rpb24gbyh0KXt2YXIgbjtpZihlLm5vZGVOYW1lKXtpZihpKXt2YXIgbz17fTtvW2ldPSEwfWVsc2Ugbz10O3YobywoZnVuY3Rpb24oZSxpKXtpZih0W2ldKWZvcihuPXRbaV0ubGVuZ3RoO24tLTspcihpLHRbaV1bbl0uZm4pfSkpfX12YXIgYT0iZnVuY3Rpb24iPT09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxlO2lmKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEsImhjRXZlbnRzIikpe3ZhciBzPWEuaGNFdmVudHM7aT8oYT1zW2ldfHxbXSxuPyhzW2ldPWEuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gbiE9PXQuZm59KSkscihpLG4pKToobyhzKSxzW2ldPVtdKSk6KG8ocyksZGVsZXRlIGEuaGNFdmVudHMpfX1mdW5jdGlvbiBfKGUsaSxuLHIpe2lmKG49bnx8e30seC5jcmVhdGVFdmVudCYmKGUuZGlzcGF0Y2hFdmVudHx8ZS5maXJlRXZlbnQmJmUhPT10KSl7dmFyIG89eC5jcmVhdGVFdmVudCgiRXZlbnRzIik7by5pbml0RXZlbnQoaSwhMCwhMCksbj1kKG8sbiksZS5kaXNwYXRjaEV2ZW50P2UuZGlzcGF0Y2hFdmVudChuKTplLmZpcmVFdmVudChpLG4pfWVsc2UgaWYoZS5oY0V2ZW50cyl7bi50YXJnZXR8fGQobix7cHJldmVudERlZmF1bHQ6ZnVuY3Rpb24oKXtuLmRlZmF1bHRQcmV2ZW50ZWQ9ITB9LHRhcmdldDplLHR5cGU6aX0pLG89W107Zm9yKHZhciBhPWUscz0hMTthLmhjRXZlbnRzOylPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChhLCJoY0V2ZW50cyIpJiZhLmhjRXZlbnRzW2ldJiYoby5sZW5ndGgmJihzPSEwKSxvLnVuc2hpZnQuYXBwbHkobyxhLmhjRXZlbnRzW2ldKSksYT1PYmplY3QuZ2V0UHJvdG90eXBlT2YoYSk7cyYmby5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0Lm9yZGVyLWUub3JkZXJ9KSksby5mb3JFYWNoKChmdW5jdGlvbih0KXshMT09PXQuZm4uY2FsbChlLG4pJiZuLnByZXZlbnREZWZhdWx0KCl9KSl9ciYmIW4uZGVmYXVsdFByZXZlbnRlZCYmci5jYWxsKGUsbil9dmFyIGI9dC5jaGFydHMseD10LmRvYyx3PXQud2luOyhlfHwoZT17fSkpLm1lc3NhZ2VzPVtdLE1hdGguZWFzZUluT3V0U2luZT1mdW5jdGlvbih0KXtyZXR1cm4tLjUqKE1hdGguY29zKE1hdGguUEkqdCktMSl9O3ZhciBrPUFycmF5LnByb3RvdHlwZS5maW5kP2Z1bmN0aW9uKHQsZSl7cmV0dXJuIHQuZmluZChlKX06ZnVuY3Rpb24odCxlKXt2YXIgaSxuPXQubGVuZ3RoO2ZvcihpPTA7aTxuO2krKylpZihlKHRbaV0saSkpcmV0dXJuIHRbaV19O3Yoe21hcDoibWFwIixlYWNoOiJmb3JFYWNoIixncmVwOiJmaWx0ZXIiLHJlZHVjZToicmVkdWNlIixzb21lOiJzb21lIn0sKGZ1bmN0aW9uKGksbil7dFtuXT1mdW5jdGlvbih0KXt2YXIgcjtyZXR1cm4gZSgzMiwhMSx2b2lkIDAsKHI9e30sclsiSGlnaGNoYXJ0cy4iK25dPSJ1c2UgQXJyYXkuIitpLHIpKSxBcnJheS5wcm90b3R5cGVbaV0uYXBwbHkodCxbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSl9fSkpO3ZhciBDLFM9ZnVuY3Rpb24oKXt2YXIgdD1NYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMiw5KSsiLSIsZT0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiJoaWdoY2hhcnRzLSIrKEM/IiI6dCkrZSsrfX0oKTtyZXR1cm4gdy5qUXVlcnkmJih3LmpRdWVyeS5mbi5oaWdoY2hhcnRzPWZ1bmN0aW9uKCl7dmFyIGU9W10uc2xpY2UuY2FsbChhcmd1bWVudHMpO2lmKHRoaXNbMF0pcmV0dXJuIGVbMF0/KG5ldyh0W3IoZVswXSk/ZS5zaGlmdCgpOiJDaGFydCJdKSh0aGlzWzBdLGVbMF0sZVsxXSksdGhpcyk6YltwKHRoaXNbMF0sImRhdGEtaGlnaGNoYXJ0cy1jaGFydCIpXX0pLGs9e2FkZEV2ZW50OmZ1bmN0aW9uKGUsaSxuLHIpe3ZvaWQgMD09PXImJihyPXt9KTt2YXIgbz0iZnVuY3Rpb24iPT09dHlwZW9mIGUmJmUucHJvdG90eXBlfHxlO09iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG8sImhjRXZlbnRzIil8fChvLmhjRXZlbnRzPXt9KSxvPW8uaGNFdmVudHMsdC5Qb2ludCYmZSBpbnN0YW5jZW9mIHQuUG9pbnQmJmUuc2VyaWVzJiZlLnNlcmllcy5jaGFydCYmKGUuc2VyaWVzLmNoYXJ0LnJ1blRyYWNrZXJDbGljaz0hMCk7dmFyIGE9ZS5hZGRFdmVudExpc3RlbmVyfHx0LmFkZEV2ZW50TGlzdGVuZXJQb2x5ZmlsbDtyZXR1cm4gYSYmYS5jYWxsKGUsaSxuLCEhdC5zdXBwb3J0c1Bhc3NpdmVFdmVudHMmJntwYXNzaXZlOnZvaWQgMD09PXIucGFzc2l2ZT8tMSE9PWkuaW5kZXhPZigidG91Y2giKTpyLnBhc3NpdmUsY2FwdHVyZTohMX0pLG9baV18fChvW2ldPVtdKSxvW2ldLnB1c2goe2ZuOm4sb3JkZXI6Im51bWJlciI9PT10eXBlb2Ygci5vcmRlcj9yLm9yZGVyOjEvMH0pLG9baV0uc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC5vcmRlci1lLm9yZGVyfSkpLGZ1bmN0aW9uKCl7eShlLGksbil9fSxhcnJheU1heDpmdW5jdGlvbih0KXtmb3IodmFyIGU9dC5sZW5ndGgsaT10WzBdO2UtLTspdFtlXT5pJiYoaT10W2VdKTtyZXR1cm4gaX0sYXJyYXlNaW46ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXQubGVuZ3RoLGk9dFswXTtlLS07KXRbZV08aSYmKGk9dFtlXSk7cmV0dXJuIGl9LGF0dHI6cCxjbGFtcDpmdW5jdGlvbih0LGUsaSl7cmV0dXJuIHQ+ZT90PGk/dDppOmV9LGNsZWFuUmVjdXJzaXZlbHk6aSxjbGVhclRpbWVvdXQ6ZnVuY3Rpb24odCl7bCh0KSYmY2xlYXJUaW1lb3V0KHQpfSxjb3JyZWN0RmxvYXQ6bSxjcmVhdGVFbGVtZW50OmZ1bmN0aW9uKHQsZSxpLG4scil7cmV0dXJuIHQ9eC5jcmVhdGVFbGVtZW50KHQpLGUmJmQodCxlKSxyJiZmKHQse3BhZGRpbmc6IjAiLGJvcmRlcjoibm9uZSIsbWFyZ2luOiIwIn0pLGkmJmYodCxpKSxuJiZuLmFwcGVuZENoaWxkKHQpLHR9LGNzczpmLGRlZmluZWQ6bCxkZXN0cm95T2JqZWN0UHJvcGVydGllczpmdW5jdGlvbih0LGUpe3YodCwoZnVuY3Rpb24oaSxuKXtpJiZpIT09ZSYmaS5kZXN0cm95JiZpLmRlc3Ryb3koKSxkZWxldGUgdFtuXX0pKX0sZGlzY2FyZEVsZW1lbnQ6ZnVuY3Rpb24odCl7dCYmdC5wYXJlbnRFbGVtZW50JiZ0LnBhcmVudEVsZW1lbnQucmVtb3ZlQ2hpbGQodCl9LGVyYXNlOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpPXQubGVuZ3RoO2ktLTspaWYodFtpXT09PWUpe3Quc3BsaWNlKGksMSk7YnJlYWt9fSxlcnJvcjplLGV4dGVuZDpkLGV4dGVuZENsYXNzOmZ1bmN0aW9uKHQsZSl7dmFyIGk9ZnVuY3Rpb24oKXt9O3JldHVybiBpLnByb3RvdHlwZT1uZXcgdCxkKGkucHJvdG90eXBlLGUpLGl9LGZpbmQ6ayxmaXJlRXZlbnQ6XyxnZXRNYWduaXR1ZGU6ZnVuY3Rpb24odCl7cmV0dXJuIE1hdGgucG93KDEwLE1hdGguZmxvb3IoTWF0aC5sb2codCkvTWF0aC5MTjEwKSl9LGdldE5lc3RlZFByb3BlcnR5OmZ1bmN0aW9uKHQsZSl7Zm9yKHQ9dC5zcGxpdCgiLiIpO3QubGVuZ3RoJiZsKGUpOyl7dmFyIGk9dC5zaGlmdCgpO2lmKCJ1bmRlZmluZWQiPT09dHlwZW9mIGl8fCJfX3Byb3RvX18iPT09aSlyZXR1cm47aWYoZT1lW2ldLCFsKGUpfHwiZnVuY3Rpb24iPT09dHlwZW9mIGV8fCJudW1iZXIiPT09dHlwZW9mIGUubm9kZVR5cGV8fGU9PT13KXJldHVybn1yZXR1cm4gZX0sZ2V0U3R5bGU6ZyxpbkFycmF5OmZ1bmN0aW9uKHQsaSxuKXtyZXR1cm4gZSgzMiwhMSx2b2lkIDAseyJIaWdoY2hhcnRzLmluQXJyYXkiOiJ1c2UgQXJyYXkuaW5kZXhPZiJ9KSxpLmluZGV4T2YodCxuKX0saXNBcnJheTpvLGlzQ2xhc3M6Yyxpc0RPTUVsZW1lbnQ6cyxpc0Z1bmN0aW9uOmZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PT10eXBlb2YgdH0saXNOdW1iZXI6aCxpc09iamVjdDphLGlzU3RyaW5nOnIsa2V5czpmdW5jdGlvbih0KXtyZXR1cm4gZSgzMiwhMSx2b2lkIDAseyJIaWdoY2hhcnRzLmtleXMiOiJ1c2UgT2JqZWN0LmtleXMifSksT2JqZWN0LmtleXModCl9LG1lcmdlOmZ1bmN0aW9uKCl7dmFyIHQsZT1hcmd1bWVudHMsaT17fSxuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIm9iamVjdCIhPT10eXBlb2YgdCYmKHQ9e30pLHYoZSwoZnVuY3Rpb24oaSxyKXsiX19wcm90b19fIiE9PXImJiJjb25zdHJ1Y3RvciIhPT1yJiYoIWEoaSwhMCl8fGMoaSl8fHMoaSk/dFtyXT1lW3JdOnRbcl09bih0W3JdfHx7fSxpKSl9KSksdH07ITA9PT1lWzBdJiYoaT1lWzFdLGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZSwyKSk7dmFyIHI9ZS5sZW5ndGg7Zm9yKHQ9MDt0PHI7dCsrKWk9bihpLGVbdF0pO3JldHVybiBpfSxub3JtYWxpemVUaWNrSW50ZXJ2YWw6ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbz10O2k9dShpLDEpO3ZhciBhPXQvaTtmb3IoZXx8KGU9cj9bMSwxLjIsMS41LDIsMi41LDMsNCw1LDYsOCwxMF06WzEsMiwyLjUsNSwxMF0sITE9PT1uJiYoMT09PWk/ZT1lLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIDA9PT10JTF9KSk6LjE+PWkmJihlPVsxL2ldKSkpLG49MDtuPGUubGVuZ3RoJiYobz1lW25dLCEociYmbyppPj10fHwhciYmYTw9KGVbbl0rKGVbbisxXXx8ZVtuXSkpLzIpKTtuKyspO3JldHVybiBtKG8qaSwtTWF0aC5yb3VuZChNYXRoLmxvZyguMDAxKS9NYXRoLkxOMTApKX0sb2JqZWN0RWFjaDp2LG9mZnNldDpmdW5jdGlvbih0KXt2YXIgZT14LmRvY3VtZW50RWxlbWVudDtyZXR1cm4gdD10LnBhcmVudEVsZW1lbnR8fHQucGFyZW50Tm9kZT90LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpOnt0b3A6MCxsZWZ0OjAsd2lkdGg6MCxoZWlnaHQ6MH0se3RvcDp0LnRvcCsody5wYWdlWU9mZnNldHx8ZS5zY3JvbGxUb3ApLShlLmNsaWVudFRvcHx8MCksbGVmdDp0LmxlZnQrKHcucGFnZVhPZmZzZXR8fGUuc2Nyb2xsTGVmdCktKGUuY2xpZW50TGVmdHx8MCksd2lkdGg6dC53aWR0aCxoZWlnaHQ6dC5oZWlnaHR9fSxwYWQ6ZnVuY3Rpb24odCxlLGkpe3JldHVybiBBcnJheSgoZXx8MikrMS1TdHJpbmcodCkucmVwbGFjZSgiLSIsIiIpLmxlbmd0aCkuam9pbihpfHwiMCIpK3R9LHBpY2s6dSxwSW50Om4scmVsYXRpdmVMZW5ndGg6ZnVuY3Rpb24odCxlLGkpe3JldHVybi8lJC8udGVzdCh0KT9lKnBhcnNlRmxvYXQodCkvMTAwKyhpfHwwKTpwYXJzZUZsb2F0KHQpfSxyZW1vdmVFdmVudDp5LHNwbGF0OmZ1bmN0aW9uKHQpe3JldHVybiBvKHQpP3Q6W3RdfSxzdGFibGVTb3J0OmZ1bmN0aW9uKHQsZSl7dmFyIGksbixyPXQubGVuZ3RoO2ZvcihuPTA7bjxyO24rKyl0W25dLnNhZmVJPW47Zm9yKHQuc29ydCgoZnVuY3Rpb24odCxuKXtyZXR1cm4gaT1lKHQsbiksMD09PWk/dC5zYWZlSS1uLnNhZmVJOml9KSksbj0wO248cjtuKyspZGVsZXRlIHRbbl0uc2FmZUl9LHN5bmNUaW1lb3V0OmZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gMDxlP3NldFRpbWVvdXQodCxlLGkpOih0LmNhbGwoMCxpKSwtMSl9LHRpbWVVbml0czp7bWlsbGlzZWNvbmQ6MSxzZWNvbmQ6MWUzLG1pbnV0ZTo2ZTQsaG91cjozNmU1LGRheTo4NjRlNSx3ZWVrOjYwNDhlNSxtb250aDoyNDE5MmU1LHllYXI6MzE0NDk2ZTV9LHVuaXF1ZUtleTpTLHVzZVNlcmlhbElkczpmdW5jdGlvbih0KXtyZXR1cm4gQz11KHQsQyl9LHdyYXA6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXRbZV07dFtlXT1mdW5jdGlvbigpe3ZhciB0PUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyksZT1hcmd1bWVudHMscj10aGlzO3JldHVybiByLnByb2NlZWQ9ZnVuY3Rpb24oKXtuLmFwcGx5KHIsYXJndW1lbnRzLmxlbmd0aD9hcmd1bWVudHM6ZSl9LHQudW5zaGlmdChuKSx0PWkuYXBwbHkodGhpcyx0KSxyLnByb2NlZWQ9bnVsbCx0fX19LGt9KSksZShpLCJDb3JlL0NoYXJ0L0NoYXJ0RGVmYXVsdHMuanMiLFtdLChmdW5jdGlvbigpe3JldHVybntwYW5uaW5nOntlbmFibGVkOiExLHR5cGU6IngifSxzdHlsZWRNb2RlOiExLGJvcmRlclJhZGl1czowLGNvbG9yQ291bnQ6MTAsZGVmYXVsdFNlcmllc1R5cGU6ImxpbmUiLGlnbm9yZUhpZGRlblNlcmllczohMCxzcGFjaW5nOlsxMCwxMCwxNSwxMF0scmVzZXRab29tQnV0dG9uOnt0aGVtZTp7ekluZGV4OjZ9LHBvc2l0aW9uOnthbGlnbjoicmlnaHQiLHg6LTEwLHk6MTB9fSx6b29tQnlTaW5nbGVUb3VjaDohMSx3aWR0aDpudWxsLGhlaWdodDpudWxsLGJvcmRlckNvbG9yOiIjMzM1Y2FkIixiYWNrZ3JvdW5kQ29sb3I6IiNmZmZmZmYiLHBsb3RCb3JkZXJDb2xvcjoiI2NjY2NjYyJ9fSkpLGUoaSwiQ29yZS9Db2xvci9Db2xvci5qcyIsW2lbIkNvcmUvR2xvYmFscy5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUpe3ZhciBpPWUuaXNOdW1iZXIsbj1lLm1lcmdlLHI9ZS5wSW50O3JldHVybiBlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZShpKXt0aGlzLnJnYmE9W05hTixOYU4sTmFOLE5hTl0sdGhpcy5pbnB1dD1pO3ZhciBuPXQuQ29sb3I7cmV0dXJuIG4mJm4hPT1lP25ldyBuKGkpOnRoaXMgaW5zdGFuY2VvZiBlP3ZvaWQgdGhpcy5pbml0KGkpOm5ldyBlKGkpfXJldHVybiBlLnBhcnNlPWZ1bmN0aW9uKHQpe3JldHVybiB0P25ldyBlKHQpOmUuTm9uZX0sZS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0KXt2YXIgaTtpZigib2JqZWN0Ij09PXR5cGVvZiB0JiYidW5kZWZpbmVkIiE9PXR5cGVvZiB0LnN0b3BzKXRoaXMuc3RvcHM9dC5zdG9wcy5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiBuZXcgZSh0WzFdKX0pKTtlbHNlIGlmKCJzdHJpbmciPT09dHlwZW9mIHQpe2lmKHRoaXMuaW5wdXQ9dD1lLm5hbWVzW3QudG9Mb3dlckNhc2UoKV18fHQsIiMiPT09dC5jaGFyQXQoMCkpe3ZhciBuPXQubGVuZ3RoLHI9cGFyc2VJbnQodC5zdWJzdHIoMSksMTYpOzc9PT1uP2k9WygxNjcxMTY4MCZyKT4+MTYsKDY1MjgwJnIpPj44LDI1NSZyLDFdOjQ9PT1uJiYoaT1bKDM4NDAmcik+PjR8KDM4NDAmcik+PjgsKDI0MCZyKT4+NHwyNDAmciwoMTUmcik8PDR8MTUmciwxXSl9aWYoIWkpZm9yKHI9ZS5wYXJzZXJzLmxlbmd0aDtyLS0mJiFpOyl7dmFyIG89ZS5wYXJzZXJzW3JdOyhuPW8ucmVnZXguZXhlYyh0KSkmJihpPW8ucGFyc2UobikpfX1pJiYodGhpcy5yZ2JhPWkpfSxlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5pbnB1dCxyPXRoaXMucmdiYTtpZigib2JqZWN0Ij09PXR5cGVvZiBlJiYidW5kZWZpbmVkIiE9PXR5cGVvZiB0aGlzLnN0b3BzKXt2YXIgbz1uKGUpO3JldHVybiBvLnN0b3BzPVtdLnNsaWNlLmNhbGwoby5zdG9wcyksdGhpcy5zdG9wcy5mb3JFYWNoKChmdW5jdGlvbihlLGkpe28uc3RvcHNbaV09W28uc3RvcHNbaV1bMF0sZS5nZXQodCldfSkpLG99cmV0dXJuIHImJmkoclswXSk/InJnYiI9PT10fHwhdCYmMT09PXJbM10/InJnYigiK3JbMF0rIiwiK3JbMV0rIiwiK3JbMl0rIikiOiJhIj09PXQ/IiIrclszXToicmdiYSgiK3Iuam9pbigiLCIpKyIpIjplfSxlLnByb3RvdHlwZS5icmlnaHRlbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnJnYmE7aWYodGhpcy5zdG9wcyl0aGlzLnN0b3BzLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UuYnJpZ2h0ZW4odCl9KSk7ZWxzZSBpZihpKHQpJiYwIT09dClmb3IodmFyIG49MDszPm47bisrKWVbbl0rPXIoMjU1KnQpLDA+ZVtuXSYmKGVbbl09MCksMjU1PGVbbl0mJihlW25dPTI1NSk7cmV0dXJuIHRoaXN9LGUucHJvdG90eXBlLnNldE9wYWNpdHk9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMucmdiYVszXT10LHRoaXN9LGUucHJvdG90eXBlLnR3ZWVuVG89ZnVuY3Rpb24odCxlKXt2YXIgbj10aGlzLnJnYmEscj10LnJnYmE7cmV0dXJuIGkoblswXSkmJmkoclswXSk/KHQ9MSE9PXJbM118fDEhPT1uWzNdLCh0PyJyZ2JhKCI6InJnYigiKStNYXRoLnJvdW5kKHJbMF0rKG5bMF0tclswXSkqKDEtZSkpKyIsIitNYXRoLnJvdW5kKHJbMV0rKG5bMV0tclsxXSkqKDEtZSkpKyIsIitNYXRoLnJvdW5kKHJbMl0rKG5bMl0tclsyXSkqKDEtZSkpKyh0PyIsIisoclszXSsoblszXS1yWzNdKSooMS1lKSk6IiIpKyIpIik6dC5pbnB1dHx8Im5vbmUifSxlLm5hbWVzPXt3aGl0ZToiI2ZmZmZmZiIsYmxhY2s6IiMwMDAwMDAifSxlLnBhcnNlcnM9W3tyZWdleDovcmdiYVwoXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XXsxLDN9KVxzKixccyooWzAtOV17MSwzfSlccyosXHMqKFswLTldPyg/OlwuWzAtOV0rKT8pXHMqXCkvLHBhcnNlOmZ1bmN0aW9uKHQpe3JldHVybltyKHRbMV0pLHIodFsyXSkscih0WzNdKSxwYXJzZUZsb2F0KHRbNF0sMTApXX19LHtyZWdleDovcmdiXChccyooWzAtOV17MSwzfSlccyosXHMqKFswLTldezEsM30pXHMqLFxzKihbMC05XXsxLDN9KVxzKlwpLyxwYXJzZTpmdW5jdGlvbih0KXtyZXR1cm5bcih0WzFdKSxyKHRbMl0pLHIodFszXSksMV19fV0sZS5Ob25lPW5ldyBlKCIiKSxlfSgpLGV9KSksZShpLCJDb3JlL0NvbG9yL1BhbGV0dGVzLmpzIixbXSwoZnVuY3Rpb24oKXtyZXR1cm57Y29sb3JzOiIjN2NiNWVjICM0MzQzNDggIzkwZWQ3ZCAjZjdhMzVjICM4MDg1ZTkgI2YxNWM4MCAjZTRkMzU0ICMyYjkwOGYgI2Y0NWI1YiAjOTFlOGUxIi5zcGxpdCgiICIpfX0pKSxlKGksIkNvcmUvVGltZS5qcyIsW2lbIkNvcmUvR2xvYmFscy5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUpe3ZhciBpPXQud2luLG49ZS5kZWZpbmVkLHI9ZS5lcnJvcixvPWUuZXh0ZW5kLGE9ZS5pc09iamVjdCxzPWUubWVyZ2UsYz1lLm9iamVjdEVhY2gsaD1lLnBhZCxsPWUucGljayxwPWUuc3BsYXQsZD1lLnRpbWVVbml0cyx1PXQuaXNTYWZhcmkmJmkuSW50bCYmaS5JbnRsLkRhdGVUaW1lRm9ybWF0LnByb3RvdHlwZS5mb3JtYXRSYW5nZSxmPXQuaXNTYWZhcmkmJmkuSW50bCYmIWkuSW50bC5EYXRlVGltZUZvcm1hdC5wcm90b3R5cGUuZm9ybWF0UmFuZ2U7cmV0dXJuIGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3RoaXMub3B0aW9ucz17fSx0aGlzLnZhcmlhYmxlVGltZXpvbmU9dGhpcy51c2VVVEM9ITEsdGhpcy5EYXRlPWkuRGF0ZSx0aGlzLmdldFRpbWV6b25lT2Zmc2V0PXRoaXMudGltZXpvbmVPZmZzZXRGdW5jdGlvbigpLHRoaXMudXBkYXRlKHQpfXJldHVybiBlLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCxlKXtpZih0aGlzLnZhcmlhYmxlVGltZXpvbmV8fHRoaXMudGltZXpvbmVPZmZzZXQpe3ZhciBpPWUuZ2V0VGltZSgpLG49aS10aGlzLmdldFRpbWV6b25lT2Zmc2V0KGUpO3JldHVybiBlLnNldFRpbWUobiksdD1lWyJnZXRVVEMiK3RdKCksZS5zZXRUaW1lKGkpLHR9cmV0dXJuIHRoaXMudXNlVVRDP2VbImdldFVUQyIrdF0oKTplWyJnZXQiK3RdKCl9LGUucHJvdG90eXBlLnNldD1mdW5jdGlvbih0LGUsaSl7aWYodGhpcy52YXJpYWJsZVRpbWV6b25lfHx0aGlzLnRpbWV6b25lT2Zmc2V0KXtpZigiTWlsbGlzZWNvbmRzIj09PXR8fCJTZWNvbmRzIj09PXR8fCJNaW51dGVzIj09PXQmJjA9PT10aGlzLmdldFRpbWV6b25lT2Zmc2V0KGUpJTM2ZTUpcmV0dXJuIGVbInNldFVUQyIrdF0oaSk7dmFyIG49dGhpcy5nZXRUaW1lem9uZU9mZnNldChlKTtyZXR1cm4gbj1lLmdldFRpbWUoKS1uLGUuc2V0VGltZShuKSxlWyJzZXRVVEMiK3RdKGkpLHQ9dGhpcy5nZXRUaW1lem9uZU9mZnNldChlKSxuPWUuZ2V0VGltZSgpK3QsZS5zZXRUaW1lKG4pfXJldHVybiB0aGlzLnVzZVVUQ3x8dSYmIkZ1bGxZZWFyIj09PXQ/ZVsic2V0VVRDIit0XShpKTplWyJzZXQiK3RdKGkpfSxlLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCl7dmFyIGU9bCh0JiZ0LnVzZVVUQywhMCk7dGhpcy5vcHRpb25zPXQ9cyghMCx0aGlzLm9wdGlvbnN8fHt9LHQpLHRoaXMuRGF0ZT10LkRhdGV8fGkuRGF0ZXx8RGF0ZSx0aGlzLnRpbWV6b25lT2Zmc2V0PSh0aGlzLnVzZVVUQz1lKSYmdC50aW1lem9uZU9mZnNldCx0aGlzLmdldFRpbWV6b25lT2Zmc2V0PXRoaXMudGltZXpvbmVPZmZzZXRGdW5jdGlvbigpLHRoaXMudmFyaWFibGVUaW1lem9uZT1lJiYhKCF0LmdldFRpbWV6b25lT2Zmc2V0JiYhdC50aW1lem9uZSl9LGUucHJvdG90eXBlLm1ha2VUaW1lPWZ1bmN0aW9uKHQsZSxpLG4scixvKXtpZih0aGlzLnVzZVVUQyl7dmFyIGE9dGhpcy5EYXRlLlVUQy5hcHBseSgwLGFyZ3VtZW50cykscz10aGlzLmdldFRpbWV6b25lT2Zmc2V0KGEpO2ErPXM7dmFyIGM9dGhpcy5nZXRUaW1lem9uZU9mZnNldChhKTtzIT09Yz9hKz1jLXM6cy0zNmU1IT09dGhpcy5nZXRUaW1lem9uZU9mZnNldChhLTM2ZTUpfHxmfHwoYS09MzZlNSl9ZWxzZSBhPW5ldyB0aGlzLkRhdGUodCxlLGwoaSwxKSxsKG4sMCksbChyLDApLGwobywwKSkuZ2V0VGltZSgpO3JldHVybiBhfSxlLnByb3RvdHlwZS50aW1lem9uZU9mZnNldEZ1bmN0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMub3B0aW9ucyxuPWUuZ2V0VGltZXpvbmVPZmZzZXQsbz1lLm1vbWVudHx8aS5tb21lbnQ7aWYoIXRoaXMudXNlVVRDKXJldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gNmU0Km5ldyBEYXRlKHQudG9TdHJpbmcoKSkuZ2V0VGltZXpvbmVPZmZzZXQoKX07aWYoZS50aW1lem9uZSl7aWYobylyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIDZlNCotby50eih0LGUudGltZXpvbmUpLnV0Y09mZnNldCgpfTtyKDI1KX1yZXR1cm4gdGhpcy51c2VVVEMmJm4/ZnVuY3Rpb24odCl7cmV0dXJuIDZlNCpuKHQudmFsdWVPZigpKX06ZnVuY3Rpb24oKXtyZXR1cm4gNmU0Kih0LnRpbWV6b25lT2Zmc2V0fHwwKX19LGUucHJvdG90eXBlLmRhdGVGb3JtYXQ9ZnVuY3Rpb24oZSxpLHIpe2lmKCFuKGkpfHxpc05hTihpKSlyZXR1cm4gdC5kZWZhdWx0T3B0aW9ucy5sYW5nJiZ0LmRlZmF1bHRPcHRpb25zLmxhbmcuaW52YWxpZERhdGV8fCIiO2U9bChlLCIlWS0lbS0lZCAlSDolTTolUyIpO3ZhciBhPXRoaXMscz1uZXcgdGhpcy5EYXRlKGkpLHA9dGhpcy5nZXQoIkhvdXJzIixzKSxkPXRoaXMuZ2V0KCJEYXkiLHMpLHU9dGhpcy5nZXQoIkRhdGUiLHMpLGY9dGhpcy5nZXQoIk1vbnRoIixzKSxtPXRoaXMuZ2V0KCJGdWxsWWVhciIscyksZz10LmRlZmF1bHRPcHRpb25zLmxhbmcsdj1nJiZnLndlZWtkYXlzLHk9ZyYmZy5zaG9ydFdlZWtkYXlzO3JldHVybiBzPW8oe2E6eT95W2RdOnZbZF0uc3Vic3RyKDAsMyksQTp2W2RdLGQ6aCh1KSxlOmgodSwyLCIgIiksdzpkLGI6Zy5zaG9ydE1vbnRoc1tmXSxCOmcubW9udGhzW2ZdLG06aChmKzEpLG86ZisxLHk6bS50b1N0cmluZygpLnN1YnN0cigyLDIpLFk6bSxIOmgocCksazpwLEk6aChwJTEyfHwxMiksbDpwJTEyfHwxMixNOmgodGhpcy5nZXQoIk1pbnV0ZXMiLHMpKSxwOjEyPnA/IkFNIjoiUE0iLFA6MTI+cD8iYW0iOiJwbSIsUzpoKHMuZ2V0U2Vjb25kcygpKSxMOmgoTWF0aC5mbG9vcihpJTFlMyksMyl9LHQuZGF0ZUZvcm1hdHMpLGMocywoZnVuY3Rpb24odCxuKXtmb3IoOy0xIT09ZS5pbmRleE9mKCIlIituKTspZT1lLnJlcGxhY2UoIiUiK24sImZ1bmN0aW9uIj09PXR5cGVvZiB0P3QuY2FsbChhLGkpOnQpfSkpLHI/ZS5zdWJzdHIoMCwxKS50b1VwcGVyQ2FzZSgpK2Uuc3Vic3RyKDEpOmV9LGUucHJvdG90eXBlLnJlc29sdmVEVExGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGEodCwhMCk/dDoodD1wKHQpLHttYWluOnRbMF0sZnJvbTp0WzFdLHRvOnRbMl19KX0sZS5wcm90b3R5cGUuZ2V0VGltZVRpY2tzPWZ1bmN0aW9uKHQsZSxpLHIpe3ZhciBhLHM9dGhpcyxjPVtdLGg9e30scD1uZXcgcy5EYXRlKGUpLHU9dC51bml0UmFuZ2UsZj10LmNvdW50fHwxO2lmKHI9bChyLDEpLG4oZSkpe2lmKHMuc2V0KCJNaWxsaXNlY29uZHMiLHAsdT49ZC5zZWNvbmQ/MDpmKk1hdGguZmxvb3Iocy5nZXQoIk1pbGxpc2Vjb25kcyIscCkvZikpLHU+PWQuc2Vjb25kJiZzLnNldCgiU2Vjb25kcyIscCx1Pj1kLm1pbnV0ZT8wOmYqTWF0aC5mbG9vcihzLmdldCgiU2Vjb25kcyIscCkvZikpLHU+PWQubWludXRlJiZzLnNldCgiTWludXRlcyIscCx1Pj1kLmhvdXI/MDpmKk1hdGguZmxvb3Iocy5nZXQoIk1pbnV0ZXMiLHApL2YpKSx1Pj1kLmhvdXImJnMuc2V0KCJIb3VycyIscCx1Pj1kLmRheT8wOmYqTWF0aC5mbG9vcihzLmdldCgiSG91cnMiLHApL2YpKSx1Pj1kLmRheSYmcy5zZXQoIkRhdGUiLHAsdT49ZC5tb250aD8xOk1hdGgubWF4KDEsZipNYXRoLmZsb29yKHMuZ2V0KCJEYXRlIixwKS9mKSkpLHU+PWQubW9udGgpe3Muc2V0KCJNb250aCIscCx1Pj1kLnllYXI/MDpmKk1hdGguZmxvb3Iocy5nZXQoIk1vbnRoIixwKS9mKSk7dmFyIG09cy5nZXQoIkZ1bGxZZWFyIixwKX11Pj1kLnllYXImJnMuc2V0KCJGdWxsWWVhciIscCxtLW0lZiksdT09PWQud2VlayYmKG09cy5nZXQoIkRheSIscCkscy5zZXQoIkRhdGUiLHAscy5nZXQoIkRhdGUiLHApLW0rcisobTxyPy03OjApKSksbT1zLmdldCgiRnVsbFllYXIiLHApLHI9cy5nZXQoIk1vbnRoIixwKTt2YXIgZz1zLmdldCgiRGF0ZSIscCksdj1zLmdldCgiSG91cnMiLHApO2ZvcihlPXAuZ2V0VGltZSgpLCFzLnZhcmlhYmxlVGltZXpvbmUmJnMudXNlVVRDfHwhbihpKXx8KGE9aS1lPjQqZC5tb250aHx8cy5nZXRUaW1lem9uZU9mZnNldChlKSE9PXMuZ2V0VGltZXpvbmVPZmZzZXQoaSkpLGU9cC5nZXRUaW1lKCkscD0xO2U8aTspYy5wdXNoKGUpLGU9dT09PWQueWVhcj9zLm1ha2VUaW1lKG0rcCpmLDApOnU9PT1kLm1vbnRoP3MubWFrZVRpbWUobSxyK3AqZik6IWF8fHUhPT1kLmRheSYmdSE9PWQud2Vlaz9hJiZ1PT09ZC5ob3VyJiYxPGY/cy5tYWtlVGltZShtLHIsZyx2K3AqZik6ZSt1KmY6cy5tYWtlVGltZShtLHIsZytwKmYqKHU9PT1kLmRheT8xOjcpKSxwKys7Yy5wdXNoKGUpLHU8PWQuaG91ciYmMWU0PmMubGVuZ3RoJiZjLmZvckVhY2goKGZ1bmN0aW9uKHQpezA9PT10JTE4ZTUmJiIwMDAwMDAwMDAiPT09cy5kYXRlRm9ybWF0KCIlSCVNJVMlTCIsdCkmJihoW3RdPSJkYXkiKX0pKX1yZXR1cm4gYy5pbmZvPW8odCx7aGlnaGVyUmFua3M6aCx0b3RhbFJhbmdlOnUqZn0pLGN9LGUucHJvdG90eXBlLmdldERhdGVGb3JtYXQ9ZnVuY3Rpb24odCxlLGksbil7dmFyIHI9dGhpcy5kYXRlRm9ybWF0KCIlbS0lZCAlSDolTTolUy4lTCIsZSksbz17bWlsbGlzZWNvbmQ6MTUsc2Vjb25kOjEyLG1pbnV0ZTo5LGhvdXI6NixkYXk6M30sYT0ibWlsbGlzZWNvbmQiO2ZvcihzIGluIGQpe2lmKHQ9PT1kLndlZWsmJit0aGlzLmRhdGVGb3JtYXQoIiV3IixlKT09PWkmJiIwMDowMDowMC4wMDAiPT09ci5zdWJzdHIoNikpe3ZhciBzPSJ3ZWVrIjticmVha31pZihkW3NdPnQpe3M9YTticmVha31pZihvW3NdJiZyLnN1YnN0cihvW3NdKSE9PSIwMS0wMSAwMDowMDowMC4wMDAiLnN1YnN0cihvW3NdKSlicmVhazsid2VlayIhPT1zJiYoYT1zKX1pZihzKXZhciBjPXRoaXMucmVzb2x2ZURUTEZvcm1hdChuW3NdKS5tYWluO3JldHVybiBjfSxlfSgpLGV9KSksZShpLCJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIixbaVsiQ29yZS9DaGFydC9DaGFydERlZmF1bHRzLmpzIl0saVsiQ29yZS9Db2xvci9Db2xvci5qcyJdLGlbIkNvcmUvR2xvYmFscy5qcyJdLGlbIkNvcmUvQ29sb3IvUGFsZXR0ZXMuanMiXSxpWyJDb3JlL1RpbWUuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbixyLG8pe2U9ZS5wYXJzZTt2YXIgYT1vLm1lcmdlLHM9e2NvbG9yczpuLmNvbG9ycyxzeW1ib2xzOlsiY2lyY2xlIiwiZGlhbW9uZCIsInNxdWFyZSIsInRyaWFuZ2xlIiwidHJpYW5nbGUtZG93biJdLGxhbmc6e2xvYWRpbmc6IkxvYWRpbmcuLi4iLG1vbnRoczoiSmFudWFyeSBGZWJydWFyeSBNYXJjaCBBcHJpbCBNYXkgSnVuZSBKdWx5IEF1Z3VzdCBTZXB0ZW1iZXIgT2N0b2JlciBOb3ZlbWJlciBEZWNlbWJlciIuc3BsaXQoIiAiKSxzaG9ydE1vbnRoczoiSmFuIEZlYiBNYXIgQXByIE1heSBKdW4gSnVsIEF1ZyBTZXAgT2N0IE5vdiBEZWMiLnNwbGl0KCIgIiksd2Vla2RheXM6IlN1bmRheSBNb25kYXkgVHVlc2RheSBXZWRuZXNkYXkgVGh1cnNkYXkgRnJpZGF5IFNhdHVyZGF5Ii5zcGxpdCgiICIpLGRlY2ltYWxQb2ludDoiLiIsbnVtZXJpY1N5bWJvbHM6ImtNR1RQRSIuc3BsaXQoIiIpLHJlc2V0Wm9vbToiUmVzZXQgem9vbSIscmVzZXRab29tVGl0bGU6IlJlc2V0IHpvb20gbGV2ZWwgMToxIix0aG91c2FuZHNTZXA6IiAifSxnbG9iYWw6e30sdGltZTp7RGF0ZTp2b2lkIDAsZ2V0VGltZXpvbmVPZmZzZXQ6dm9pZCAwLHRpbWV6b25lOnZvaWQgMCx0aW1lem9uZU9mZnNldDowLHVzZVVUQzohMH0sY2hhcnQ6dCx0aXRsZTp7dGV4dDoiQ2hhcnQgdGl0bGUiLGFsaWduOiJjZW50ZXIiLG1hcmdpbjoxNSx3aWR0aEFkanVzdDotNDR9LHN1YnRpdGxlOnt0ZXh0OiIiLGFsaWduOiJjZW50ZXIiLHdpZHRoQWRqdXN0Oi00NH0sY2FwdGlvbjp7bWFyZ2luOjE1LHRleHQ6IiIsYWxpZ246ImxlZnQiLHZlcnRpY2FsQWxpZ246ImJvdHRvbSJ9LHBsb3RPcHRpb25zOnt9LGxhYmVsczp7c3R5bGU6e3Bvc2l0aW9uOiJhYnNvbHV0ZSIsY29sb3I6IiMzMzMzMzMifX0sbGVnZW5kOntlbmFibGVkOiEwLGFsaWduOiJjZW50ZXIiLGFsaWduQ29sdW1uczohMCxjbGFzc05hbWU6ImhpZ2hjaGFydHMtbm8tdG9vbHRpcCIsbGF5b3V0OiJob3Jpem9udGFsIixsYWJlbEZvcm1hdHRlcjpmdW5jdGlvbigpe3JldHVybiB0aGlzLm5hbWV9LGJvcmRlckNvbG9yOiIjOTk5OTk5Iixib3JkZXJSYWRpdXM6MCxuYXZpZ2F0aW9uOnthY3RpdmVDb2xvcjoiIzAwMzM5OSIsaW5hY3RpdmVDb2xvcjoiI2NjY2NjYyJ9LGl0ZW1TdHlsZTp7Y29sb3I6IiMzMzMzMzMiLGN1cnNvcjoicG9pbnRlciIsZm9udFNpemU6IjEycHgiLGZvbnRXZWlnaHQ6ImJvbGQiLHRleHRPdmVyZmxvdzoiZWxsaXBzaXMifSxpdGVtSG92ZXJTdHlsZTp7Y29sb3I6IiMwMDAwMDAifSxpdGVtSGlkZGVuU3R5bGU6e2NvbG9yOiIjY2NjY2NjIn0sc2hhZG93OiExLGl0ZW1DaGVja2JveFN0eWxlOntwb3NpdGlvbjoiYWJzb2x1dGUiLHdpZHRoOiIxM3B4IixoZWlnaHQ6IjEzcHgifSxzcXVhcmVTeW1ib2w6ITAsc3ltYm9sUGFkZGluZzo1LHZlcnRpY2FsQWxpZ246ImJvdHRvbSIseDowLHk6MCx0aXRsZTp7c3R5bGU6e2ZvbnRXZWlnaHQ6ImJvbGQifX19LGxvYWRpbmc6e2xhYmVsU3R5bGU6e2ZvbnRXZWlnaHQ6ImJvbGQiLHBvc2l0aW9uOiJyZWxhdGl2ZSIsdG9wOiI0NSUifSxzdHlsZTp7cG9zaXRpb246ImFic29sdXRlIixiYWNrZ3JvdW5kQ29sb3I6IiNmZmZmZmYiLG9wYWNpdHk6LjUsdGV4dEFsaWduOiJjZW50ZXIifX0sdG9vbHRpcDp7ZW5hYmxlZDohMCxhbmltYXRpb246aS5zdmcsYm9yZGVyUmFkaXVzOjMsZGF0ZVRpbWVMYWJlbEZvcm1hdHM6e21pbGxpc2Vjb25kOiIlQSwgJWIgJWUsICVIOiVNOiVTLiVMIixzZWNvbmQ6IiVBLCAlYiAlZSwgJUg6JU06JVMiLG1pbnV0ZToiJUEsICViICVlLCAlSDolTSIsaG91cjoiJUEsICViICVlLCAlSDolTSIsZGF5OiIlQSwgJWIgJWUsICVZIix3ZWVrOiJXZWVrIGZyb20gJUEsICViICVlLCAlWSIsbW9udGg6IiVCICVZIix5ZWFyOiIlWSJ9LGZvb3RlckZvcm1hdDoiIixoZWFkZXJTaGFwZToiY2FsbG91dCIsaGlkZURlbGF5OjUwMCxwYWRkaW5nOjgsc2hhcGU6ImNhbGxvdXQiLHNoYXJlZDohMSxzbmFwOmkuaXNUb3VjaERldmljZT8yNToxMCxoZWFkZXJGb3JtYXQ6JzxzcGFuIHN0eWxlPSJmb250LXNpemU6IDEwcHgiPntwb2ludC5rZXl9PC9zcGFuPjxici8+Jyxwb2ludEZvcm1hdDonPHNwYW4gc3R5bGU9ImNvbG9yOntwb2ludC5jb2xvcn0iPuKXjzwvc3Bhbj4ge3Nlcmllcy5uYW1lfTogPGI+e3BvaW50Lnl9PC9iPjxici8+JyxiYWNrZ3JvdW5kQ29sb3I6ZSgiI2Y3ZjdmNyIpLnNldE9wYWNpdHkoLjg1KS5nZXQoKSxib3JkZXJXaWR0aDoxLHNoYWRvdzohMCxzdGlja09uQ29udGFjdDohMSxzdHlsZTp7Y29sb3I6IiMzMzMzMzMiLGN1cnNvcjoiZGVmYXVsdCIsZm9udFNpemU6IjEycHgiLHdoaXRlU3BhY2U6Im5vd3JhcCJ9LHVzZUhUTUw6ITF9LGNyZWRpdHM6e2VuYWJsZWQ6ITAsaHJlZjoiaHR0cHM6Ly93d3cuaGlnaGNoYXJ0cy5jb20/Y3JlZGl0cyIscG9zaXRpb246e2FsaWduOiJyaWdodCIseDotMTAsdmVydGljYWxBbGlnbjoiYm90dG9tIix5Oi01fSxzdHlsZTp7Y3Vyc29yOiJwb2ludGVyIixjb2xvcjoiIzk5OTk5OSIsZm9udFNpemU6IjlweCJ9LHRleHQ6IkhpZ2hjaGFydHMuY29tIn19O3MuY2hhcnQuc3R5bGVkTW9kZT0hMTt2YXIgYz1uZXcgcihhKHMuZ2xvYmFsLHMudGltZSkpO3JldHVybiB0PXtkZWZhdWx0T3B0aW9uczpzLGRlZmF1bHRUaW1lOmMsZ2V0T3B0aW9uczpmdW5jdGlvbigpe3JldHVybiBzfSxzZXRPcHRpb25zOmZ1bmN0aW9uKHQpe3JldHVybiBhKCEwLHMsdCksKHQudGltZXx8dC5nbG9iYWwpJiYoaS50aW1lP2kudGltZS51cGRhdGUoYShzLmdsb2JhbCxzLnRpbWUsdC5nbG9iYWwsdC50aW1lKSk6aS50aW1lPWMpLHN9fSx0fSkpLGUoaSwiQ29yZS9BbmltYXRpb24vRnguanMiLFtpWyJDb3JlL0NvbG9yL0NvbG9yLmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10LnBhcnNlLHI9ZS53aW4sbz1pLmlzTnVtYmVyLGE9aS5vYmplY3RFYWNoO3JldHVybiBmdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlLGkpe3RoaXMucG9zPU5hTix0aGlzLm9wdGlvbnM9ZSx0aGlzLmVsZW09dCx0aGlzLnByb3A9aX1yZXR1cm4gdC5wcm90b3R5cGUuZFNldHRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMucGF0aHMsZT10JiZ0WzBdO3Q9dCYmdFsxXTt2YXIgaT10aGlzLm5vd3x8MCxuPVtdO2lmKDEhPT1pJiZlJiZ0KWlmKGUubGVuZ3RoPT09dC5sZW5ndGgmJjE+aSlmb3IodmFyIHI9MDtyPHQubGVuZ3RoO3IrKyl7Zm9yKHZhciBhPWVbcl0scz10W3JdLGM9W10saD0wO2g8cy5sZW5ndGg7aCsrKXt2YXIgbD1hW2hdLHA9c1toXTtvKGwpJiZvKHApJiYoIkEiIT09c1swXXx8NCE9PWgmJjUhPT1oKT9jW2hdPWwraSoocC1sKTpjW2hdPXB9bi5wdXNoKGMpfWVsc2Ugbj10O2Vsc2Ugbj10aGlzLnRvRHx8W107dGhpcy5lbGVtLmF0dHIoImQiLG4sdm9pZCAwLCEwKX0sdC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5lbGVtLGU9dGhpcy5wcm9wLGk9dGhpcy5ub3csbj10aGlzLm9wdGlvbnMuc3RlcDt0aGlzW2UrIlNldHRlciJdP3RoaXNbZSsiU2V0dGVyIl0oKTp0LmF0dHI/dC5lbGVtZW50JiZ0LmF0dHIoZSxpLG51bGwsITApOnQuc3R5bGVbZV09aSt0aGlzLnVuaXQsbiYmbi5jYWxsKHQsaSx0aGlzKX0sdC5wcm90b3R5cGUucnVuPWZ1bmN0aW9uKGUsaSxuKXt2YXIgbz10aGlzLGE9by5vcHRpb25zLHM9ZnVuY3Rpb24odCl7cmV0dXJuIXMuc3RvcHBlZCYmby5zdGVwKHQpfSxjPXIucmVxdWVzdEFuaW1hdGlvbkZyYW1lfHxmdW5jdGlvbih0KXtzZXRUaW1lb3V0KHQsMTMpfSxoPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPTA7ZTx0LnRpbWVycy5sZW5ndGg7ZSsrKXQudGltZXJzW2VdKCl8fHQudGltZXJzLnNwbGljZShlLS0sMSk7dC50aW1lcnMubGVuZ3RoJiZjKGgpfTtlIT09aXx8dGhpcy5lbGVtWyJmb3JjZUFuaW1hdGU6Iit0aGlzLnByb3BdPyh0aGlzLnN0YXJ0VGltZT0rbmV3IERhdGUsdGhpcy5zdGFydD1lLHRoaXMuZW5kPWksdGhpcy51bml0PW4sdGhpcy5ub3c9dGhpcy5zdGFydCx0aGlzLnBvcz0wLHMuZWxlbT10aGlzLmVsZW0scy5wcm9wPXRoaXMucHJvcCxzKCkmJjE9PT10LnRpbWVycy5wdXNoKHMpJiZjKGgpKTooZGVsZXRlIGEuY3VyQW5pbVt0aGlzLnByb3BdLGEuY29tcGxldGUmJjA9PT1PYmplY3Qua2V5cyhhLmN1ckFuaW0pLmxlbmd0aCYmYS5jb21wbGV0ZS5jYWxsKHRoaXMuZWxlbSkpfSx0LnByb3RvdHlwZS5zdGVwPWZ1bmN0aW9uKHQpe3ZhciBlPStuZXcgRGF0ZSxpPXRoaXMub3B0aW9ucyxuPXRoaXMuZWxlbSxyPWkuY29tcGxldGUsbz1pLmR1cmF0aW9uLHM9aS5jdXJBbmltO2lmKG4uYXR0ciYmIW4uZWxlbWVudCl0PSExO2Vsc2UgaWYodHx8ZT49byt0aGlzLnN0YXJ0VGltZSl7dGhpcy5ub3c9dGhpcy5lbmQsdGhpcy5wb3M9MSx0aGlzLnVwZGF0ZSgpO3ZhciBjPXNbdGhpcy5wcm9wXT0hMDthKHMsKGZ1bmN0aW9uKHQpeyEwIT09dCYmKGM9ITEpfSkpLGMmJnImJnIuY2FsbChuKSx0PSExfWVsc2UgdGhpcy5wb3M9aS5lYXNpbmcoKGUtdGhpcy5zdGFydFRpbWUpL28pLHRoaXMubm93PXRoaXMuc3RhcnQrKHRoaXMuZW5kLXRoaXMuc3RhcnQpKnRoaXMucG9zLHRoaXMudXBkYXRlKCksdD0hMDtyZXR1cm4gdH0sdC5wcm90b3R5cGUuaW5pdFBhdGg9ZnVuY3Rpb24odCxlLGkpe2Z1bmN0aW9uIG4odCxlKXtmb3IoO3QubGVuZ3RoPGQ7KXt2YXIgaT10WzBdLG49ZVtkLXQubGVuZ3RoXTtuJiYiTSI9PT1pWzBdJiYodFswXT0iQyI9PT1uWzBdP1siQyIsaVsxXSxpWzJdLGlbMV0saVsyXSxpWzFdLGlbMl1dOlsiTCIsaVsxXSxpWzJdXSksdC51bnNoaWZ0KGkpLGMmJihpPXQucG9wKCksdC5wdXNoKHRbdC5sZW5ndGgtMV0saSkpfX1mdW5jdGlvbiByKHQsZSl7Zm9yKDt0Lmxlbmd0aDxkOylpZihlPXRbTWF0aC5mbG9vcih0Lmxlbmd0aC9oKS0xXS5zbGljZSgpLCJDIj09PWVbMF0mJihlWzFdPWVbNV0sZVsyXT1lWzZdKSxjKXt2YXIgaT10W01hdGguZmxvb3IodC5sZW5ndGgvaCldLnNsaWNlKCk7dC5zcGxpY2UodC5sZW5ndGgvMiwwLGUsaSl9ZWxzZSB0LnB1c2goZSl9dmFyIGE9dC5zdGFydFgscz10LmVuZFg7aT1pLnNsaWNlKCk7dmFyIGM9dC5pc0FyZWEsaD1jPzI6MTtpZihlPWUmJmUuc2xpY2UoKSwhZSlyZXR1cm5baSxpXTtpZihhJiZzJiZzLmxlbmd0aCl7Zm9yKHQ9MDt0PGEubGVuZ3RoO3QrKyl7aWYoYVt0XT09PXNbMF0pe3ZhciBsPXQ7YnJlYWt9aWYoYVswXT09PXNbcy5sZW5ndGgtYS5sZW5ndGgrdF0pe2w9dDt2YXIgcD0hMDticmVha31pZihhW2EubGVuZ3RoLTFdPT09c1tzLmxlbmd0aC1hLmxlbmd0aCt0XSl7bD1hLmxlbmd0aC10O2JyZWFrfX0idW5kZWZpbmVkIj09PXR5cGVvZiBsJiYoZT1bXSl9aWYoZS5sZW5ndGgmJm8obCkpe3ZhciBkPWkubGVuZ3RoK2wqaDtwPyhuKGUsaSkscihpLGUpKToobihpLGUpLHIoZSxpKSl9cmV0dXJuW2UsaV19LHQucHJvdG90eXBlLmZpbGxTZXR0ZXI9ZnVuY3Rpb24oKXt0LnByb3RvdHlwZS5zdHJva2VTZXR0ZXIuYXBwbHkodGhpcyxhcmd1bWVudHMpfSx0LnByb3RvdHlwZS5zdHJva2VTZXR0ZXI9ZnVuY3Rpb24oKXt0aGlzLmVsZW0uYXR0cih0aGlzLnByb3Asbih0aGlzLnN0YXJ0KS50d2VlblRvKG4odGhpcy5lbmQpLHRoaXMucG9zKSx2b2lkIDAsITApfSx0LnRpbWVycz1bXSx0fSgpfSkpLGUoaSwiQ29yZS9BbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmpzIixbaVsiQ29yZS9BbmltYXRpb24vRnguanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBpKHQpe3JldHVybiBjKHQpP2goe2R1cmF0aW9uOjUwMCxkZWZlcjowfSx0KTp7ZHVyYXRpb246dD81MDA6MCxkZWZlcjowfX1mdW5jdGlvbiBuKGUsaSl7Zm9yKHZhciBuPXQudGltZXJzLmxlbmd0aDtuLS07KXQudGltZXJzW25dLmVsZW0hPT1lfHxpJiZpIT09dC50aW1lcnNbbl0ucHJvcHx8KHQudGltZXJzW25dLnN0b3BwZWQ9ITApfXZhciByPWUuZGVmaW5lZCxvPWUuZ2V0U3R5bGUsYT1lLmlzQXJyYXkscz1lLmlzTnVtYmVyLGM9ZS5pc09iamVjdCxoPWUubWVyZ2UsbD1lLm9iamVjdEVhY2gscD1lLnBpY2s7cmV0dXJue2FuaW1hdGU6ZnVuY3Rpb24oZSxpLHIpe3ZhciBwLGQsdSxmPSIiO2lmKCFjKHIpKXt2YXIgbT1hcmd1bWVudHM7cj17ZHVyYXRpb246bVsyXSxlYXNpbmc6bVszXSxjb21wbGV0ZTptWzRdfX1zKHIuZHVyYXRpb24pfHwoci5kdXJhdGlvbj00MDApLHIuZWFzaW5nPSJmdW5jdGlvbiI9PT10eXBlb2Ygci5lYXNpbmc/ci5lYXNpbmc6TWF0aFtyLmVhc2luZ118fE1hdGguZWFzZUluT3V0U2luZSxyLmN1ckFuaW09aChpKSxsKGksKGZ1bmN0aW9uKHMsYyl7bihlLGMpLHU9bmV3IHQoZSxyLGMpLGQ9dm9pZCAwLCJkIj09PWMmJmEoaS5kKT8odS5wYXRocz11LmluaXRQYXRoKGUsZS5wYXRoQXJyYXksaS5kKSx1LnRvRD1pLmQscD0wLGQ9MSk6ZS5hdHRyP3A9ZS5hdHRyKGMpOihwPXBhcnNlRmxvYXQobyhlLGMpKXx8MCwib3BhY2l0eSIhPT1jJiYoZj0icHgiKSksZHx8KGQ9cyksInN0cmluZyI9PT10eXBlb2YgZCYmZC5tYXRjaCgicHgiKSYmKGQ9ZC5yZXBsYWNlKC9weC9nLCIiKSksdS5ydW4ocCxkLGYpfSkpfSxhbmltT2JqZWN0OmksZ2V0RGVmZXJyZWRBbmltYXRpb246ZnVuY3Rpb24odCxlLG4pe3ZhciBvPWkoZSksYT0wLHM9MDtyZXR1cm4obj9bbl06dC5zZXJpZXMpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Q9aSh0Lm9wdGlvbnMuYW5pbWF0aW9uKSxhPWUmJnIoZS5kZWZlcik/by5kZWZlcjpNYXRoLm1heChhLHQuZHVyYXRpb24rdC5kZWZlcikscz1NYXRoLm1pbihvLmR1cmF0aW9uLHQuZHVyYXRpb24pfSkpLHQucmVuZGVyZXIuZm9yRXhwb3J0JiYoYT0wKSx7ZGVmZXI6TWF0aC5tYXgoMCxhLXMpLGR1cmF0aW9uOk1hdGgubWluKGEscyl9fSxzZXRBbmltYXRpb246ZnVuY3Rpb24odCxlKXtlLnJlbmRlcmVyLmdsb2JhbEFuaW1hdGlvbj1wKHQsZS5vcHRpb25zLmNoYXJ0LmFuaW1hdGlvbiwhMCl9LHN0b3A6bn19KSksZShpLCJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIixbaVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSl7dmFyIGk9dC5TVkdfTlMsbj1lLmF0dHIscj1lLmNyZWF0ZUVsZW1lbnQsbz1lLmVycm9yLGE9ZS5pc0Z1bmN0aW9uLHM9ZS5pc1N0cmluZyxjPWUub2JqZWN0RWFjaCxoPWUuc3BsYXQsbD0oZT10Lndpbi50cnVzdGVkVHlwZXMpJiZhKGUuY3JlYXRlUG9saWN5KSYmZS5jcmVhdGVQb2xpY3koImhpZ2hjaGFydHMiLHtjcmVhdGVIVE1MOmZ1bmN0aW9uKHQpe3JldHVybiB0fX0pLHA9bD9sLmNyZWF0ZUhUTUwoIiIpOiIiO3RyeXt2YXIgZD0hIShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcocCwidGV4dC9odG1sIil9Y2F0Y2godSl7ZD0hMX1yZXR1cm4gYT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCl7dGhpcy5ub2Rlcz0ic3RyaW5nIj09PXR5cGVvZiB0P3RoaXMucGFyc2VNYXJrdXAodCk6dH1yZXR1cm4gZS5maWx0ZXJVc2VyQXR0cmlidXRlcz1mdW5jdGlvbih0KXtyZXR1cm4gYyh0LChmdW5jdGlvbihpLG4pe3ZhciByPSEwOy0xPT09ZS5hbGxvd2VkQXR0cmlidXRlcy5pbmRleE9mKG4pJiYocj0hMSksLTEhPT1bImJhY2tncm91bmQiLCJkeW5zcmMiLCJocmVmIiwibG93c3JjIiwic3JjIl0uaW5kZXhPZihuKSYmKHI9cyhpKSYmZS5hbGxvd2VkUmVmZXJlbmNlcy5zb21lKChmdW5jdGlvbih0KXtyZXR1cm4gMD09PWkuaW5kZXhPZih0KX0pKSkscnx8KG8oIkhpZ2hjaGFydHMgd2FybmluZzogSW52YWxpZCBhdHRyaWJ1dGUgJyIrbisiJyBpbiBjb25maWciKSxkZWxldGUgdFtuXSl9KSksdH0sZS5zZXRFbGVtZW50SFRNTD1mdW5jdGlvbih0LGkpe3QuaW5uZXJIVE1MPWUuZW1wdHlIVE1MLGkmJm5ldyBlKGkpLmFkZFRvRE9NKHQpfSxlLnByb3RvdHlwZS5hZGRUb0RPTT1mdW5jdGlvbihyKXtmdW5jdGlvbiBhKHIscyl7dmFyIGw7cmV0dXJuIGgocikuZm9yRWFjaCgoZnVuY3Rpb24ocil7dmFyIGg9ci50YWdOYW1lLHA9ci50ZXh0Q29udGVudD90LmRvYy5jcmVhdGVUZXh0Tm9kZShyLnRleHRDb250ZW50KTp2b2lkIDA7aWYoaClpZigiI3RleHQiPT09aCl2YXIgZD1wO2Vsc2UgaWYoLTEhPT1lLmFsbG93ZWRUYWdzLmluZGV4T2YoaCkpe2g9dC5kb2MuY3JlYXRlRWxlbWVudE5TKCJzdmciPT09aD9pOnMubmFtZXNwYWNlVVJJfHxpLGgpO3ZhciB1PXIuYXR0cmlidXRlc3x8e307YyhyLChmdW5jdGlvbih0LGUpeyJ0YWdOYW1lIiE9PWUmJiJhdHRyaWJ1dGVzIiE9PWUmJiJjaGlsZHJlbiIhPT1lJiYidGV4dENvbnRlbnQiIT09ZSYmKHVbZV09dCl9KSksbihoLGUuZmlsdGVyVXNlckF0dHJpYnV0ZXModSkpLHAmJmguYXBwZW5kQ2hpbGQocCksYShyLmNoaWxkcmVufHxbXSxoKSxkPWh9ZWxzZSBvKCJIaWdoY2hhcnRzIHdhcm5pbmc6IEludmFsaWQgdGFnTmFtZSAiK2grIiBpbiBjb25maWciKTtkJiZzLmFwcGVuZENoaWxkKGQpLGw9ZH0pKSxsfXJldHVybiBhKHRoaXMubm9kZXMscil9LGUucHJvdG90eXBlLnBhcnNlTWFya3VwPWZ1bmN0aW9uKHQpe3ZhciBlPVtdO2lmKHQ9dC50cmltKCksZCl0PShuZXcgRE9NUGFyc2VyKS5wYXJzZUZyb21TdHJpbmcobD9sLmNyZWF0ZUhUTUwodCk6dCwidGV4dC9odG1sIik7ZWxzZXt2YXIgaT1yKCJkaXYiKTtpLmlubmVySFRNTD10LHQ9e2JvZHk6aX19dmFyIG49ZnVuY3Rpb24odCxlKXt2YXIgaT10Lm5vZGVOYW1lLnRvTG93ZXJDYXNlKCkscj17dGFnTmFtZTppfTtpZigiI3RleHQiPT09aSYmKHIudGV4dENvbnRlbnQ9dC50ZXh0Q29udGVudHx8IiIpLGk9dC5hdHRyaWJ1dGVzKXt2YXIgbz17fTtbXS5mb3JFYWNoLmNhbGwoaSwoZnVuY3Rpb24odCl7b1t0Lm5hbWVdPXQudmFsdWV9KSksci5hdHRyaWJ1dGVzPW99aWYodC5jaGlsZE5vZGVzLmxlbmd0aCl7dmFyIGE9W107W10uZm9yRWFjaC5jYWxsKHQuY2hpbGROb2RlcywoZnVuY3Rpb24odCl7bih0LGEpfSkpLGEubGVuZ3RoJiYoci5jaGlsZHJlbj1hKX1lLnB1c2gocil9O3JldHVybltdLmZvckVhY2guY2FsbCh0LmJvZHkuY2hpbGROb2RlcywoZnVuY3Rpb24odCl7cmV0dXJuIG4odCxlKX0pKSxlfSxlLmFsbG93ZWRBdHRyaWJ1dGVzPSJhcmlhLWNvbnRyb2xzIGFyaWEtZGVzY3JpYmVkYnkgYXJpYS1leHBhbmRlZCBhcmlhLWhhc3BvcHVwIGFyaWEtaGlkZGVuIGFyaWEtbGFiZWwgYXJpYS1sYWJlbGxlZGJ5IGFyaWEtbGl2ZSBhcmlhLXByZXNzZWQgYXJpYS1yZWFkb25seSBhcmlhLXJvbGVkZXNjcmlwdGlvbiBhcmlhLXNlbGVjdGVkIGNsYXNzIGNsaXAtcGF0aCBjb2xvciBjb2xzcGFuIGN4IGN5IGQgZHggZHkgZGlzYWJsZWQgZmlsbCBoZWlnaHQgaHJlZiBpZCBpbiBtYXJrZXJIZWlnaHQgbWFya2VyV2lkdGggb2Zmc2V0IG9wYWNpdHkgb3JpZW50IHBhZGRpbmcgcGFkZGluZ0xlZnQgcGFkZGluZ1JpZ2h0IHBhdHRlcm5Vbml0cyByIHJlZlggcmVmWSByb2xlIHNjb3BlIHNsb3BlIHNyYyBzdGFydE9mZnNldCBzdGREZXZpYXRpb24gc3Ryb2tlIHN0cm9rZS1saW5lY2FwIHN0cm9rZS13aWR0aCBzdHlsZSB0YWJsZVZhbHVlcyByZXN1bHQgcm93c3BhbiBzdW1tYXJ5IHRhcmdldCB0YWJpbmRleCB0ZXh0LWFsaWduIHRleHRBbmNob3IgdGV4dExlbmd0aCB0aXRsZSB0eXBlIHZhbGlnbiB3aWR0aCB4IHgxIHgyIHkgeTEgeTIgekluZGV4Ii5zcGxpdCgiICIpLGUuYWxsb3dlZFJlZmVyZW5jZXM9Imh0dHBzOi8vIGh0dHA6Ly8gbWFpbHRvOiAvIC4uLyAuLyAjIi5zcGxpdCgiICIpLGUuYWxsb3dlZFRhZ3M9ImEgYWJiciBiIGJyIGJ1dHRvbiBjYXB0aW9uIGNpcmNsZSBjbGlwUGF0aCBjb2RlIGRkIGRlZnMgZGl2IGRsIGR0IGVtIGZlQ29tcG9uZW50VHJhbnNmZXIgZmVGdW5jQSBmZUZ1bmNCIGZlRnVuY0cgZmVGdW5jUiBmZUdhdXNzaWFuQmx1ciBmZU9mZnNldCBmZU1lcmdlIGZlTWVyZ2VOb2RlIGZpbHRlciBoMSBoMiBoMyBoNCBoNSBoNiBociBpIGltZyBsaSBsaW5lYXJHcmFkaWVudCBtYXJrZXIgb2wgcCBwYXRoIHBhdHRlcm4gcHJlIHJlY3Qgc21hbGwgc3BhbiBzdG9wIHN0cm9uZyBzdHlsZSBzdWIgc3VwIHN2ZyB0YWJsZSB0ZXh0IHRoZWFkIHRib2R5IHRzcGFuIHRkIHRoIHRyIHUgdWwgI3RleHQiLnNwbGl0KCIgIiksZS5lbXB0eUhUTUw9cCxlfSgpLGF9KSksZShpLCJDb3JlL0Zvcm1hdFV0aWxpdGllcy5qcyIsW2lbIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBpKHQsZSxpLHIpe3Q9K3R8fDAsZT0rZTt2YXIgbz1uLmxhbmcsaD0odC50b1N0cmluZygpLnNwbGl0KCIuIilbMV18fCIiKS5zcGxpdCgiZSIpWzBdLmxlbmd0aCxsPXQudG9TdHJpbmcoKS5zcGxpdCgiZSIpLHA9ZTtpZigtMT09PWUpZT1NYXRoLm1pbihoLDIwKTtlbHNlIGlmKGEoZSkpe2lmKGUmJmxbMV0mJjA+bFsxXSl7dmFyIGQ9ZSsgK2xbMV07MDw9ZD8obFswXT0oK2xbMF0pLnRvRXhwb25lbnRpYWwoZCkuc3BsaXQoImUiKVswXSxlPWQpOihsWzBdPWxbMF0uc3BsaXQoIi4iKVswXXx8MCx0PTIwPmU/KGxbMF0qTWF0aC5wb3coMTAsbFsxXSkpLnRvRml4ZWQoZSk6MCxsWzFdPTApfX1lbHNlIGU9MjtkPShNYXRoLmFicyhsWzFdP2xbMF06dCkrTWF0aC5wb3coMTAsLU1hdGgubWF4KGUsaCktMSkpLnRvRml4ZWQoZSksaD1TdHJpbmcoYyhkKSk7dmFyIHU9MzxoLmxlbmd0aD9oLmxlbmd0aCUzOjA7cmV0dXJuIGk9cyhpLG8uZGVjaW1hbFBvaW50KSxyPXMocixvLnRob3VzYW5kc1NlcCksdD0oMD50PyItIjoiIikrKHU/aC5zdWJzdHIoMCx1KStyOiIiKSx0PTA+K2xbMV0mJiFwPyIwIjp0K2guc3Vic3RyKHUpLnJlcGxhY2UoLyhcZHszfSkoPz1cZCkvZywiJDEiK3IpLGUmJih0Kz1pK2Quc2xpY2UoLWUpKSxsWzFdJiYwIT09K3QmJih0Kz0iZSIrbFsxXSksdH12YXIgbj10LmRlZmF1bHRPcHRpb25zLHI9dC5kZWZhdWx0VGltZSxvPWUuZ2V0TmVzdGVkUHJvcGVydHksYT1lLmlzTnVtYmVyLHM9ZS5waWNrLGM9ZS5wSW50O3JldHVybntkYXRlRm9ybWF0OmZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gci5kYXRlRm9ybWF0KHQsZSxpKX0sZm9ybWF0OmZ1bmN0aW9uKHQsZSxhKXt2YXIgcz0ieyIsYz0hMSxoPS9mJC8sbD0vXC4oWzAtOV0pLyxwPW4ubGFuZyxkPWEmJmEudGltZXx8cjthPWEmJmEubnVtYmVyRm9ybWF0dGVyfHxpO2Zvcih2YXIgdT1bXTt0Oyl7dmFyIGY9dC5pbmRleE9mKHMpO2lmKC0xPT09ZilicmVhazt2YXIgbT10LnNsaWNlKDAsZik7aWYoYyl7aWYobT1tLnNwbGl0KCI6Iikscz1vKG0uc2hpZnQoKXx8IiIsZSksbS5sZW5ndGgmJiJudW1iZXIiPT09dHlwZW9mIHMpaWYobT1tLmpvaW4oIjoiKSxoLnRlc3QobSkpe3ZhciBnPXBhcnNlSW50KChtLm1hdGNoKGwpfHxbIiIsIi0xIl0pWzFdLDEwKTtudWxsIT09cyYmKHM9YShzLGcscC5kZWNpbWFsUG9pbnQsLTE8bS5pbmRleE9mKCIsIik/cC50aG91c2FuZHNTZXA6IiIpKX1lbHNlIHM9ZC5kYXRlRm9ybWF0KG0scyk7dS5wdXNoKHMpfWVsc2UgdS5wdXNoKG0pO3Q9dC5zbGljZShmKzEpLHM9KGM9IWMpPyJ9IjoieyJ9cmV0dXJuIHUucHVzaCh0KSx1LmpvaW4oIiIpfSxudW1iZXJGb3JtYXQ6aX19KSksZShpLCJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyVXRpbGl0aWVzLmpzIixbaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQpe3ZhciBlLGk9dC5jbGFtcCxuPXQucGljayxyPXQuc3RhYmxlU29ydDtyZXR1cm4gZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LG8sYSl7dmFyIHMsYz10LGg9Yy5yZWR1Y2VkTGVufHxvLGw9ZnVuY3Rpb24odCxlKXtyZXR1cm4oZS5yYW5rfHwwKS0odC5yYW5rfHwwKX0scD1mdW5jdGlvbih0LGUpe3JldHVybiB0LnRhcmdldC1lLnRhcmdldH0sZD0hMCx1PVtdLGY9MDtmb3Iocz10Lmxlbmd0aDtzLS07KWYrPXRbc10uc2l6ZTtpZihmPmgpe2ZvcihyKHQsbCksZj1zPTA7Zjw9aDspZis9dFtzXS5zaXplLHMrKzt1PXQuc3BsaWNlKHMtMSx0Lmxlbmd0aCl9Zm9yKHIodCxwKSx0PXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm57c2l6ZTp0LnNpemUsdGFyZ2V0czpbdC50YXJnZXRdLGFsaWduOm4odC5hbGlnbiwuNSl9fSkpO2Q7KXtmb3Iocz10Lmxlbmd0aDtzLS07KWg9dFtzXSxsPShNYXRoLm1pbi5hcHBseSgwLGgudGFyZ2V0cykrTWF0aC5tYXguYXBwbHkoMCxoLnRhcmdldHMpKS8yLGgucG9zPWkobC1oLnNpemUqaC5hbGlnbiwwLG8taC5zaXplKTtmb3Iocz10Lmxlbmd0aCxkPSExO3MtLTspMDxzJiZ0W3MtMV0ucG9zK3Rbcy0xXS5zaXplPnRbc10ucG9zJiYodFtzLTFdLnNpemUrPXRbc10uc2l6ZSx0W3MtMV0udGFyZ2V0cz10W3MtMV0udGFyZ2V0cy5jb25jYXQodFtzXS50YXJnZXRzKSx0W3MtMV0uYWxpZ249LjUsdFtzLTFdLnBvcyt0W3MtMV0uc2l6ZT5vJiYodFtzLTFdLnBvcz1vLXRbcy0xXS5zaXplKSx0LnNwbGljZShzLDEpLGQ9ITApfXJldHVybiBjLnB1c2guYXBwbHkoYyx1KSxzPTAsdC5zb21lKChmdW5jdGlvbih0KXt2YXIgaT0wO3JldHVybih0LnRhcmdldHN8fFtdKS5zb21lKChmdW5jdGlvbigpe3JldHVybiBjW3NdLnBvcz10LnBvcytpLCJ1bmRlZmluZWQiIT09dHlwZW9mIGEmJk1hdGguYWJzKGNbc10ucG9zLWNbc10udGFyZ2V0KT5hPyhjLnNsaWNlKDAscysxKS5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gZGVsZXRlIHQucG9zfSkpLGMucmVkdWNlZExlbj0oYy5yZWR1Y2VkTGVufHxvKS0uMSpvLGMucmVkdWNlZExlbj4uMSpvJiZlKGMsbyxhKSwhMCk6KGkrPWNbc10uc2l6ZSxzKyssITEpfSkpfSkpLHIoYyxwKSxjfXQuZGlzdHJpYnV0ZT1lfShlfHwoZT17fSkpLGV9KSksZShpLCJDb3JlL1JlbmRlcmVyL1NWRy9TVkdFbGVtZW50LmpzIixbaVsiQ29yZS9BbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmpzIl0saVsiQ29yZS9SZW5kZXJlci9IVE1ML0FTVC5qcyJdLGlbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSxpWyJDb3JlL0dsb2JhbHMuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbz10LmFuaW1hdGUsYT10LmFuaW1PYmplY3Qscz10LnN0b3AsYz1uLmRlZzJyYWQsaD1uLmRvYyxsPW4ubm9vcCxwPW4uc3ZnLGQ9bi5TVkdfTlMsdT1uLndpbixmPXIuYWRkRXZlbnQsbT1yLmF0dHIsZz1yLmNyZWF0ZUVsZW1lbnQsdj1yLmNzcyx5PXIuZGVmaW5lZCxfPXIuZXJhc2UsYj1yLmV4dGVuZCx4PXIuZmlyZUV2ZW50LHc9ci5pc0FycmF5LGs9ci5pc0Z1bmN0aW9uLEM9ci5pc051bWJlcixTPXIuaXNTdHJpbmcsQT1yLm1lcmdlLE09ci5vYmplY3RFYWNoLFA9ci5waWNrLE89ci5wSW50LFQ9ci5zeW5jVGltZW91dCxFPXIudW5pcXVlS2V5O3JldHVybiB0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe3RoaXMuZWxlbWVudD12b2lkIDAsdGhpcy5vbkV2ZW50cz17fSx0aGlzLm9wYWNpdHk9MSx0aGlzLnJlbmRlcmVyPXZvaWQgMCx0aGlzLlNWR19OUz1kLHRoaXMuc3ltYm9sQ3VzdG9tQXR0cmlicz0ieCB5IHdpZHRoIGhlaWdodCByIHN0YXJ0IGVuZCBpbm5lclIgYW5jaG9yWCBhbmNob3JZIHJvdW5kZWQiLnNwbGl0KCIgIil9cmV0dXJuIHQucHJvdG90eXBlLl9kZWZhdWx0R2V0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0PVAodGhpc1t0KyJWYWx1ZSJdLHRoaXNbdF0sdGhpcy5lbGVtZW50P3RoaXMuZWxlbWVudC5nZXRBdHRyaWJ1dGUodCk6bnVsbCwwKSwvXltcLTAtOVwuXSskLy50ZXN0KHQpJiYodD1wYXJzZUZsb2F0KHQpKSx0fSx0LnByb3RvdHlwZS5fZGVmYXVsdFNldHRlcj1mdW5jdGlvbih0LGUsaSl7aS5zZXRBdHRyaWJ1dGUoZSx0KX0sdC5wcm90b3R5cGUuYWRkPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMucmVuZGVyZXIsaT10aGlzLmVsZW1lbnQ7aWYodCYmKHRoaXMucGFyZW50R3JvdXA9dCksdGhpcy5wYXJlbnRJbnZlcnRlZD10JiZ0LmludmVydGVkLCJ1bmRlZmluZWQiIT09dHlwZW9mIHRoaXMudGV4dFN0ciYmInRleHQiPT09dGhpcy5lbGVtZW50Lm5vZGVOYW1lJiZlLmJ1aWxkVGV4dCh0aGlzKSx0aGlzLmFkZGVkPSEwLCF0fHx0LmhhbmRsZVp8fHRoaXMuekluZGV4KXZhciBuPXRoaXMuekluZGV4U2V0dGVyKCk7cmV0dXJuIG58fCh0P3QuZWxlbWVudDplLmJveCkuYXBwZW5kQ2hpbGQoaSksdGhpcy5vbkFkZCYmdGhpcy5vbkFkZCgpLHRoaXN9LHQucHJvdG90eXBlLmFkZENsYXNzPWZ1bmN0aW9uKHQsZSl7dmFyIGk9ZT8iIjp0aGlzLmF0dHIoImNsYXNzIil8fCIiO3JldHVybiB0PSh0fHwiIikuc3BsaXQoLyAvZykucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybi0xPT09aS5pbmRleE9mKGUpJiZ0LnB1c2goZSksdH0pLGk/W2ldOltdKS5qb2luKCIgIiksdCE9PWkmJnRoaXMuYXR0cigiY2xhc3MiLHQpLHRoaXN9LHQucHJvdG90eXBlLmFmdGVyU2V0dGVycz1mdW5jdGlvbigpe3RoaXMuZG9UcmFuc2Zvcm0mJih0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpLHRoaXMuZG9UcmFuc2Zvcm09ITEpfSx0LnByb3RvdHlwZS5hbGlnbj1mdW5jdGlvbih0LGUsaSl7dmFyIG4scixvLGE9e30scz10aGlzLnJlbmRlcmVyLGM9cy5hbGlnbmVkT2JqZWN0czt0Pyh0aGlzLmFsaWduT3B0aW9ucz10LHRoaXMuYWxpZ25CeVRyYW5zbGF0ZT1lLCghaXx8UyhpKSkmJih0aGlzLmFsaWduVG89bj1pfHwicmVuZGVyZXIiLF8oYyx0aGlzKSxjLnB1c2godGhpcyksaT12b2lkIDApKToodD10aGlzLmFsaWduT3B0aW9ucyxlPXRoaXMuYWxpZ25CeVRyYW5zbGF0ZSxuPXRoaXMuYWxpZ25UbyksaT1QKGksc1tuXSwic2Nyb2xsYWJsZVBsb3RCb3giPT09bj9zLnBsb3RCb3g6dm9pZCAwLHMpLG49dC5hbGlnbjt2YXIgaD10LnZlcnRpY2FsQWxpZ247cmV0dXJuIHM9KGkueHx8MCkrKHQueHx8MCksYz0oaS55fHwwKSsodC55fHwwKSwicmlnaHQiPT09bj9yPTE6ImNlbnRlciI9PT1uJiYocj0yKSxyJiYocys9KGkud2lkdGgtKHQud2lkdGh8fDApKS9yKSxhW2U/InRyYW5zbGF0ZVgiOiJ4Il09TWF0aC5yb3VuZChzKSwiYm90dG9tIj09PWg/bz0xOiJtaWRkbGUiPT09aCYmKG89MiksbyYmKGMrPShpLmhlaWdodC0odC5oZWlnaHR8fDApKS9vKSxhW2U/InRyYW5zbGF0ZVkiOiJ5Il09TWF0aC5yb3VuZChjKSx0aGlzW3RoaXMucGxhY2VkPyJhbmltYXRlIjoiYXR0ciJdKGEpLHRoaXMucGxhY2VkPSEwLHRoaXMuYWxpZ25BdHRyPWEsdGhpc30sdC5wcm90b3R5cGUuYWxpZ25TZXR0ZXI9ZnVuY3Rpb24odCl7dmFyIGU9e2xlZnQ6InN0YXJ0IixjZW50ZXI6Im1pZGRsZSIscmlnaHQ6ImVuZCJ9O2VbdF0mJih0aGlzLmFsaWduVmFsdWU9dCx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJ0ZXh0LWFuY2hvciIsZVt0XSkpfSx0LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzLHI9YShQKGUsdGhpcy5yZW5kZXJlci5nbG9iYWxBbmltYXRpb24sITApKTtyZXR1cm4gZT1yLmRlZmVyLFAoaC5oaWRkZW4saC5tc0hpZGRlbixoLndlYmtpdEhpZGRlbiwhMSkmJihyLmR1cmF0aW9uPTApLDAhPT1yLmR1cmF0aW9uPyhpJiYoci5jb21wbGV0ZT1pKSxUKChmdW5jdGlvbigpe24uZWxlbWVudCYmbyhuLHQscil9KSxlKSk6KHRoaXMuYXR0cih0LHZvaWQgMCxpKSxNKHQsKGZ1bmN0aW9uKHQsZSl7ci5zdGVwJiZyLnN0ZXAuY2FsbCh0aGlzLHQse3Byb3A6ZSxwb3M6MSxlbGVtOnRoaXN9KX0pLHRoaXMpKSx0aGlzfSx0LnByb3RvdHlwZS5hcHBseVRleHRPdXRsaW5lPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZWxlbWVudDstMSE9PXQuaW5kZXhPZigiY29udHJhc3QiKSYmKHQ9dC5yZXBsYWNlKC9jb250cmFzdC9nLHRoaXMucmVuZGVyZXIuZ2V0Q29udHJhc3QoZS5zdHlsZS5maWxsKSkpO3ZhciBpPXQuc3BsaXQoIiAiKTtpZih0PWlbaS5sZW5ndGgtMV0sKGk9aVswXSkmJiJub25lIiE9PWkmJm4uc3ZnKXt0aGlzLmZha2VUUz0hMCx0aGlzLnlTZXR0ZXI9dGhpcy54U2V0dGVyLGk9aS5yZXBsYWNlKC8oXltcZFwuXSspKC4qPykkL2csKGZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gMipOdW1iZXIoZSkraX0pKSx0aGlzLnJlbW92ZVRleHRPdXRsaW5lKCk7dmFyIHI9aC5jcmVhdGVFbGVtZW50TlMoZCwidHNwYW4iKTttKHIse2NsYXNzOiJoaWdoY2hhcnRzLXRleHQtb3V0bGluZSIsZmlsbDp0LHN0cm9rZTp0LCJzdHJva2Utd2lkdGgiOmksInN0cm9rZS1saW5lam9pbiI6InJvdW5kIn0pLFtdLmZvckVhY2guY2FsbChlLmNoaWxkTm9kZXMsKGZ1bmN0aW9uKHQpe3ZhciBlPXQuY2xvbmVOb2RlKCEwKTtlLnJlbW92ZUF0dHJpYnV0ZSYmWyJmaWxsIiwic3Ryb2tlIiwic3Ryb2tlLXdpZHRoIiwic3Ryb2tlIl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIGUucmVtb3ZlQXR0cmlidXRlKHQpfSkpLHIuYXBwZW5kQ2hpbGQoZSl9KSk7dmFyIG89aC5jcmVhdGVFbGVtZW50TlMoZCwidHNwYW4iKTtvLnRleHRDb250ZW50PSLigIsiLFsieCIsInkiXS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgaT1lLmdldEF0dHJpYnV0ZSh0KTtpJiZvLnNldEF0dHJpYnV0ZSh0LGkpfSkpLHIuYXBwZW5kQ2hpbGQobyksZS5pbnNlcnRCZWZvcmUocixlLmZpcnN0Q2hpbGQpfX0sdC5wcm90b3R5cGUuYXR0cj1mdW5jdGlvbih0LGUsaSxuKXt2YXIgcixvLGEsYz10aGlzLmVsZW1lbnQsaD10aGlzLnN5bWJvbEN1c3RvbUF0dHJpYnMsbD10aGlzO2lmKCJzdHJpbmciPT09dHlwZW9mIHQmJiJ1bmRlZmluZWQiIT09dHlwZW9mIGUpe3ZhciBwPXQ7dD17fSx0W3BdPWV9cmV0dXJuInN0cmluZyI9PT10eXBlb2YgdD9sPSh0aGlzW3QrIkdldHRlciJdfHx0aGlzLl9kZWZhdWx0R2V0dGVyKS5jYWxsKHRoaXMsdCxjKTooTSh0LChmdW5jdGlvbihlLGkpe289ITEsbnx8cyh0aGlzLGkpLHRoaXMuc3ltYm9sTmFtZSYmLTEhPT1oLmluZGV4T2YoaSkmJihyfHwodGhpcy5zeW1ib2xBdHRyKHQpLHI9ITApLG89ITApLCF0aGlzLnJvdGF0aW9ufHwieCIhPT1pJiYieSIhPT1pfHwodGhpcy5kb1RyYW5zZm9ybT0hMCksb3x8KGE9dGhpc1tpKyJTZXR0ZXIiXXx8dGhpcy5fZGVmYXVsdFNldHRlcixhLmNhbGwodGhpcyxlLGksYyksIXRoaXMuc3R5bGVkTW9kZSYmdGhpcy5zaGFkb3dzJiYvXih3aWR0aHxoZWlnaHR8dmlzaWJpbGl0eXx4fHl8ZHx0cmFuc2Zvcm18Y3h8Y3l8cikkLy50ZXN0KGkpJiZ0aGlzLnVwZGF0ZVNoYWRvd3MoaSxlLGEpKX0pLHRoaXMpLHRoaXMuYWZ0ZXJTZXR0ZXJzKCkpLGkmJmkuY2FsbCh0aGlzKSxsfSx0LnByb3RvdHlwZS5jbGlwPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmF0dHIoImNsaXAtcGF0aCIsdD8idXJsKCIrdGhpcy5yZW5kZXJlci51cmwrIiMiK3QuaWQrIikiOiJub25lIil9LHQucHJvdG90eXBlLmNyaXNwPWZ1bmN0aW9uKHQsZSl7ZT1lfHx0LnN0cm9rZVdpZHRofHwwO3ZhciBpPU1hdGgucm91bmQoZSklMi8yO3JldHVybiB0Lng9TWF0aC5mbG9vcih0Lnh8fHRoaXMueHx8MCkraSx0Lnk9TWF0aC5mbG9vcih0Lnl8fHRoaXMueXx8MCkraSx0LndpZHRoPU1hdGguZmxvb3IoKHQud2lkdGh8fHRoaXMud2lkdGh8fDApLTIqaSksdC5oZWlnaHQ9TWF0aC5mbG9vcigodC5oZWlnaHR8fHRoaXMuaGVpZ2h0fHwwKS0yKmkpLHkodC5zdHJva2VXaWR0aCkmJih0LnN0cm9rZVdpZHRoPWUpLHR9LHQucHJvdG90eXBlLmNvbXBsZXhDb2xvcj1mdW5jdGlvbih0LGUsbil7dmFyIHIsbyxhLHMsYyxoLGwscCxkLHUsZixtPXRoaXMucmVuZGVyZXIsZz1bXTt4KHRoaXMucmVuZGVyZXIsImNvbXBsZXhDb2xvciIse2FyZ3M6YXJndW1lbnRzfSwoZnVuY3Rpb24oKXtpZih0LnJhZGlhbEdyYWRpZW50P289InJhZGlhbEdyYWRpZW50Ijp0LmxpbmVhckdyYWRpZW50JiYobz0ibGluZWFyR3JhZGllbnQiKSxvKXtpZihhPXRbb10sYz1tLmdyYWRpZW50cyxoPXQuc3RvcHMsZD1uLnJhZGlhbFJlZmVyZW5jZSx3KGEpJiYodFtvXT1hPXt4MTphWzBdLHkxOmFbMV0seDI6YVsyXSx5MjphWzNdLGdyYWRpZW50VW5pdHM6InVzZXJTcGFjZU9uVXNlIn0pLCJyYWRpYWxHcmFkaWVudCI9PT1vJiZkJiYheShhLmdyYWRpZW50VW5pdHMpJiYocz1hLGE9QShhLG0uZ2V0UmFkaWFsQXR0cihkLHMpLHtncmFkaWVudFVuaXRzOiJ1c2VyU3BhY2VPblVzZSJ9KSksTShhLChmdW5jdGlvbih0LGUpeyJpZCIhPT1lJiZnLnB1c2goZSx0KX0pKSxNKGgsKGZ1bmN0aW9uKHQpe2cucHVzaCh0KX0pKSxnPWcuam9pbigiLCIpLGNbZ10pdT1jW2ddLmF0dHIoImlkIik7ZWxzZXthLmlkPXU9RSgpO3ZhciB2PWNbZ109bS5jcmVhdGVFbGVtZW50KG8pLmF0dHIoYSkuYWRkKG0uZGVmcyk7di5yYWRBdHRyPXMsdi5zdG9wcz1bXSxoLmZvckVhY2goKGZ1bmN0aW9uKHQpezA9PT10WzFdLmluZGV4T2YoInJnYmEiKT8ocj1pLnBhcnNlKHRbMV0pLGw9ci5nZXQoInJnYiIpLHA9ci5nZXQoImEiKSk6KGw9dFsxXSxwPTEpLHQ9bS5jcmVhdGVFbGVtZW50KCJzdG9wIikuYXR0cih7b2Zmc2V0OnRbMF0sInN0b3AtY29sb3IiOmwsInN0b3Atb3BhY2l0eSI6cH0pLmFkZCh2KSx2LnN0b3BzLnB1c2godCl9KSl9Zj0idXJsKCIrbS51cmwrIiMiK3UrIikiLG4uc2V0QXR0cmlidXRlKGUsZiksbi5ncmFkaWVudD1nLHQudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gZn19fSkpfSx0LnByb3RvdHlwZS5jc3M9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zdHlsZXMsaT17fSxuPXRoaXMuZWxlbWVudCxyPVsidGV4dE91dGxpbmUiLCJ0ZXh0T3ZlcmZsb3ciLCJ3aWR0aCJdLG89IiIsYT0hZTtpZih0JiZ0LmNvbG9yJiYodC5maWxsPXQuY29sb3IpLGUmJk0odCwoZnVuY3Rpb24odCxuKXtlJiZlW25dIT09dCYmKGlbbl09dCxhPSEwKX0pKSxhKXtpZihlJiYodD1iKGUsaSkpLHQpaWYobnVsbD09PXQud2lkdGh8fCJhdXRvIj09PXQud2lkdGgpZGVsZXRlIHRoaXMudGV4dFdpZHRoO2Vsc2UgaWYoInRleHQiPT09bi5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpJiZ0LndpZHRoKXZhciBzPXRoaXMudGV4dFdpZHRoPU8odC53aWR0aCk7aWYodGhpcy5zdHlsZXM9dCxzJiYhcCYmdGhpcy5yZW5kZXJlci5mb3JFeHBvcnQmJmRlbGV0ZSB0LndpZHRoLG4ubmFtZXNwYWNlVVJJPT09dGhpcy5TVkdfTlMpe3ZhciBjPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIi0iK2UudG9Mb3dlckNhc2UoKX07TSh0LChmdW5jdGlvbih0LGUpey0xPT09ci5pbmRleE9mKGUpJiYobys9ZS5yZXBsYWNlKC8oW0EtWl0pL2csYykrIjoiK3QrIjsiKX0pKSxvJiZtKG4sInN0eWxlIixvKX1lbHNlIHYobix0KTt0aGlzLmFkZGVkJiYoInRleHQiPT09dGhpcy5lbGVtZW50Lm5vZGVOYW1lJiZ0aGlzLnJlbmRlcmVyLmJ1aWxkVGV4dCh0aGlzKSx0JiZ0LnRleHRPdXRsaW5lJiZ0aGlzLmFwcGx5VGV4dE91dGxpbmUodC50ZXh0T3V0bGluZSkpfXJldHVybiB0aGlzfSx0LnByb3RvdHlwZS5kYXNoc3R5bGVTZXR0ZXI9ZnVuY3Rpb24odCl7dmFyIGU9dGhpc1sic3Ryb2tlLXdpZHRoIl07aWYoImluaGVyaXQiPT09ZSYmKGU9MSksdD10JiZ0LnRvTG93ZXJDYXNlKCkpe3ZhciBpPXQucmVwbGFjZSgic2hvcnRkYXNoZG90ZG90IiwiMywxLDEsMSwxLDEsIikucmVwbGFjZSgic2hvcnRkYXNoZG90IiwiMywxLDEsMSIpLnJlcGxhY2UoInNob3J0ZG90IiwiMSwxLCIpLnJlcGxhY2UoInNob3J0ZGFzaCIsIjMsMSwiKS5yZXBsYWNlKCJsb25nZGFzaCIsIjgsMywiKS5yZXBsYWNlKC9kb3QvZywiMSwzLCIpLnJlcGxhY2UoImRhc2giLCI0LDMsIikucmVwbGFjZSgvLCQvLCIiKS5zcGxpdCgiLCIpO2Zvcih0PWkubGVuZ3RoO3QtLTspaVt0XT0iIitPKGlbdF0pKlAoZSxOYU4pO3Q9aS5qb2luKCIsIikucmVwbGFjZSgvTmFOL2csIm5vbmUiKSx0aGlzLmVsZW1lbnQuc2V0QXR0cmlidXRlKCJzdHJva2UtZGFzaGFycmF5Iix0KX19LHQucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5lbGVtZW50fHx7fSxpPXQucmVuZGVyZXIsbj1lLm93bmVyU1ZHRWxlbWVudCxyPWkuaXNTVkcmJiJTUEFOIj09PWUubm9kZU5hbWUmJnQucGFyZW50R3JvdXB8fHZvaWQgMDtpZihlLm9uY2xpY2s9ZS5vbm1vdXNlb3V0PWUub25tb3VzZW92ZXI9ZS5vbm1vdXNlbW92ZT1lLnBvaW50PW51bGwscyh0KSx0LmNsaXBQYXRoJiZuKXt2YXIgbz10LmNsaXBQYXRoO1tdLmZvckVhY2guY2FsbChuLnF1ZXJ5U2VsZWN0b3JBbGwoIltjbGlwLXBhdGhdLFtDTElQLVBBVEhdIiksKGZ1bmN0aW9uKHQpey0xPHQuZ2V0QXR0cmlidXRlKCJjbGlwLXBhdGgiKS5pbmRleE9mKG8uZWxlbWVudC5pZCkmJnQucmVtb3ZlQXR0cmlidXRlKCJjbGlwLXBhdGgiKX0pKSx0LmNsaXBQYXRoPW8uZGVzdHJveSgpfWlmKHQuc3RvcHMpe2ZvcihuPTA7bjx0LnN0b3BzLmxlbmd0aDtuKyspdC5zdG9wc1tuXS5kZXN0cm95KCk7dC5zdG9wcy5sZW5ndGg9MCx0LnN0b3BzPXZvaWQgMH1mb3IodC5zYWZlUmVtb3ZlQ2hpbGQoZSksaS5zdHlsZWRNb2RlfHx0LmRlc3Ryb3lTaGFkb3dzKCk7ciYmci5kaXYmJjA9PT1yLmRpdi5jaGlsZE5vZGVzLmxlbmd0aDspZT1yLnBhcmVudEdyb3VwLHQuc2FmZVJlbW92ZUNoaWxkKHIuZGl2KSxkZWxldGUgci5kaXYscj1lO3QuYWxpZ25UbyYmXyhpLmFsaWduZWRPYmplY3RzLHQpLE0odCwoZnVuY3Rpb24oZSxpKXt0W2ldJiZ0W2ldLnBhcmVudEdyb3VwPT09dCYmdFtpXS5kZXN0cm95JiZ0W2ldLmRlc3Ryb3koKSxkZWxldGUgdFtpXX0pKX0sdC5wcm90b3R5cGUuZGVzdHJveVNoYWRvd3M9ZnVuY3Rpb24oKXsodGhpcy5zaGFkb3dzfHxbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dGhpcy5zYWZlUmVtb3ZlQ2hpbGQodCl9KSx0aGlzKSx0aGlzLnNoYWRvd3M9dm9pZCAwfSx0LnByb3RvdHlwZS5kZXN0cm95VGV4dFBhdGg9ZnVuY3Rpb24odCxlKXt2YXIgaT10LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZXh0IilbMF07aWYoaSl7aWYoaS5yZW1vdmVBdHRyaWJ1dGUoImR4IiksaS5yZW1vdmVBdHRyaWJ1dGUoImR5IiksZS5lbGVtZW50LnNldEF0dHJpYnV0ZSgiaWQiLCIiKSx0aGlzLnRleHRQYXRoV3JhcHBlciYmaS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGV4dFBhdGgiKS5sZW5ndGgpe2Zvcih0PXRoaXMudGV4dFBhdGhXcmFwcGVyLmVsZW1lbnQuY2hpbGROb2Rlczt0Lmxlbmd0aDspaS5hcHBlbmRDaGlsZCh0WzBdKTtpLnJlbW92ZUNoaWxkKHRoaXMudGV4dFBhdGhXcmFwcGVyLmVsZW1lbnQpfX1lbHNlKHQuZ2V0QXR0cmlidXRlKCJkeCIpfHx0LmdldEF0dHJpYnV0ZSgiZHkiKSkmJih0LnJlbW92ZUF0dHJpYnV0ZSgiZHgiKSx0LnJlbW92ZUF0dHJpYnV0ZSgiZHkiKSk7dGhpcy50ZXh0UGF0aFdyYXBwZXImJih0aGlzLnRleHRQYXRoV3JhcHBlcj10aGlzLnRleHRQYXRoV3JhcHBlci5kZXN0cm95KCkpfSx0LnByb3RvdHlwZS5kU2V0dGVyPWZ1bmN0aW9uKHQsZSxpKXt3KHQpJiYoInN0cmluZyI9PT10eXBlb2YgdFswXSYmKHQ9dGhpcy5yZW5kZXJlci5wYXRoVG9TZWdtZW50cyh0KSksdGhpcy5wYXRoQXJyYXk9dCx0PXQucmVkdWNlKChmdW5jdGlvbih0LGUsaSl7cmV0dXJuIGUmJmUuam9pbj8oaT90KyIgIjoiIikrZS5qb2luKCIgIik6KGV8fCIiKS50b1N0cmluZygpfSksIiIpKSwvKE5hTnwgezJ9fF4kKS8udGVzdCh0KSYmKHQ9Ik0gMCAwIiksdGhpc1tlXSE9PXQmJihpLnNldEF0dHJpYnV0ZShlLHQpLHRoaXNbZV09dCl9LHQucHJvdG90eXBlLmZhZGVPdXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcztlLmFuaW1hdGUoe29wYWNpdHk6MH0se2R1cmF0aW9uOlAodCwxNTApLGNvbXBsZXRlOmZ1bmN0aW9uKCl7ZS5hdHRyKHt5Oi05OTk5fSkuaGlkZSgpfX0pfSx0LnByb3RvdHlwZS5maWxsU2V0dGVyPWZ1bmN0aW9uKHQsZSxpKXsic3RyaW5nIj09PXR5cGVvZiB0P2kuc2V0QXR0cmlidXRlKGUsdCk6dCYmdGhpcy5jb21wbGV4Q29sb3IodCxlLGkpfSx0LnByb3RvdHlwZS5nZXRCQm94PWZ1bmN0aW9uKGUsaSl7dmFyIG49dGhpcy5yZW5kZXJlcixyPXRoaXMuZWxlbWVudCxvPXRoaXMuc3R5bGVzLGE9dGhpcy50ZXh0U3RyLHM9bi5jYWNoZSxoPW4uY2FjaGVLZXlzLGw9ci5uYW1lc3BhY2VVUkk9PT10aGlzLlNWR19OUztpPVAoaSx0aGlzLnJvdGF0aW9uLDApO3ZhciBwLGQ9bi5zdHlsZWRNb2RlP3ImJnQucHJvdG90eXBlLmdldFN0eWxlLmNhbGwociwiZm9udC1zaXplIik6byYmby5mb250U2l6ZTtpZih5KGEpKXt2YXIgdT1hLnRvU3RyaW5nKCk7LTE9PT11LmluZGV4T2YoIjwiKSYmKHU9dS5yZXBsYWNlKC9bMC05XS9nLCIwIikpLHUrPVsiIixpLGQsdGhpcy50ZXh0V2lkdGgsbyYmby50ZXh0T3ZlcmZsb3csbyYmby5mb250V2VpZ2h0XS5qb2luKCl9aWYodSYmIWUmJihwPXNbdV0pLCFwKXtpZihsfHxuLmZvckV4cG9ydCl7dHJ5e3ZhciBmPXRoaXMuZmFrZVRTJiZmdW5jdGlvbih0KXt2YXIgZT1yLnF1ZXJ5U2VsZWN0b3IoIi5oaWdoY2hhcnRzLXRleHQtb3V0bGluZSIpO2UmJnYoZSx7ZGlzcGxheTp0fSl9O2soZikmJmYoIm5vbmUiKSxwPXIuZ2V0QkJveD9iKHt9LHIuZ2V0QkJveCgpKTp7d2lkdGg6ci5vZmZzZXRXaWR0aCxoZWlnaHQ6ci5vZmZzZXRIZWlnaHR9LGsoZikmJmYoIiIpfWNhdGNoKG0pe30oIXB8fDA+cC53aWR0aCkmJihwPXt3aWR0aDowLGhlaWdodDowfSl9ZWxzZSBwPXRoaXMuaHRtbEdldEJCb3goKTtpZihuLmlzU1ZHJiYoZT1wLndpZHRoLG49cC5oZWlnaHQsbCYmKHAuaGVpZ2h0PW49eyIxMXB4LDE3IjoxNCwiMTNweCwyMCI6MTZ9WyhkfHwiIikrIiwiK01hdGgucm91bmQobildfHxuKSxpJiYobD1pKmMscC53aWR0aD1NYXRoLmFicyhuKk1hdGguc2luKGwpKStNYXRoLmFicyhlKk1hdGguY29zKGwpKSxwLmhlaWdodD1NYXRoLmFicyhuKk1hdGguY29zKGwpKStNYXRoLmFicyhlKk1hdGguc2luKGwpKSkpLHUmJigiIj09PWF8fDA8cC5oZWlnaHQpKXtmb3IoOzI1MDxoLmxlbmd0aDspZGVsZXRlIHNbaC5zaGlmdCgpXTtzW3VdfHxoLnB1c2godSksc1t1XT1wfX1yZXR1cm4gcH0sdC5wcm90b3R5cGUuZ2V0U3R5bGU9ZnVuY3Rpb24odCl7cmV0dXJuIHUuZ2V0Q29tcHV0ZWRTdHlsZSh0aGlzLmVsZW1lbnR8fHRoaXMsIiIpLmdldFByb3BlcnR5VmFsdWUodCl9LHQucHJvdG90eXBlLmhhc0NsYXNzPWZ1bmN0aW9uKHQpe3JldHVybi0xIT09KCIiK3RoaXMuYXR0cigiY2xhc3MiKSkuc3BsaXQoIiAiKS5pbmRleE9mKHQpfSx0LnByb3RvdHlwZS5oaWRlPWZ1bmN0aW9uKHQpe3JldHVybiB0P3RoaXMuYXR0cih7eTotOTk5OX0pOnRoaXMuYXR0cih7dmlzaWJpbGl0eToiaGlkZGVuIn0pLHRoaXN9LHQucHJvdG90eXBlLmh0bWxHZXRCQm94PWZ1bmN0aW9uKCl7cmV0dXJue2hlaWdodDowLHdpZHRoOjAseDowLHk6MH19LHQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCxlKXt0aGlzLmVsZW1lbnQ9InNwYW4iPT09ZT9nKGUpOmguY3JlYXRlRWxlbWVudE5TKHRoaXMuU1ZHX05TLGUpLHRoaXMucmVuZGVyZXI9dCx4KHRoaXMsImFmdGVySW5pdCIpfSx0LnByb3RvdHlwZS5pbnZlcnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuaW52ZXJ0ZWQ9dCx0aGlzLnVwZGF0ZVRyYW5zZm9ybSgpLHRoaXN9LHQucHJvdG90eXBlLm9uPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5vbkV2ZW50cztyZXR1cm4gaVt0XSYmaVt0XSgpLGlbdF09Zih0aGlzLmVsZW1lbnQsdCxlKSx0aGlzfSx0LnByb3RvdHlwZS5vcGFjaXR5U2V0dGVyPWZ1bmN0aW9uKHQsZSxpKXt0aGlzLm9wYWNpdHk9dD1OdW1iZXIoTnVtYmVyKHQpLnRvRml4ZWQoMykpLGkuc2V0QXR0cmlidXRlKGUsdCl9LHQucHJvdG90eXBlLnJlbW92ZUNsYXNzPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLmF0dHIoImNsYXNzIiwoIiIrdGhpcy5hdHRyKCJjbGFzcyIpKS5yZXBsYWNlKFModCk/bmV3IFJlZ0V4cCgiKF58ICkiK3QrIiggfCQpIik6dCwiICIpLnJlcGxhY2UoLyArL2csIiAiKS50cmltKCkpfSx0LnByb3RvdHlwZS5yZW1vdmVUZXh0T3V0bGluZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZWxlbWVudC5xdWVyeVNlbGVjdG9yKCJ0c3Bhbi5oaWdoY2hhcnRzLXRleHQtb3V0bGluZSIpO3QmJnRoaXMuc2FmZVJlbW92ZUNoaWxkKHQpfSx0LnByb3RvdHlwZS5zYWZlUmVtb3ZlQ2hpbGQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5wYXJlbnROb2RlO2UmJmUucmVtb3ZlQ2hpbGQodCl9LHQucHJvdG90eXBlLnNldFJhZGlhbFJlZmVyZW5jZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmVsZW1lbnQuZ3JhZGllbnQmJnRoaXMucmVuZGVyZXIuZ3JhZGllbnRzW3RoaXMuZWxlbWVudC5ncmFkaWVudF07cmV0dXJuIHRoaXMuZWxlbWVudC5yYWRpYWxSZWZlcmVuY2U9dCxlJiZlLnJhZEF0dHImJmUuYW5pbWF0ZSh0aGlzLnJlbmRlcmVyLmdldFJhZGlhbEF0dHIodCxlLnJhZEF0dHIpKSx0aGlzfSx0LnByb3RvdHlwZS5zZXRUZXh0UGF0aD1mdW5jdGlvbih0LGkpe3ZhciBuPXRoaXMuZWxlbWVudCxyPXRoaXMudGV4dD90aGlzLnRleHQuZWxlbWVudDpuLG89e3RleHRBbmNob3I6InRleHQtYW5jaG9yIn0sYT0hMSxzPXRoaXMudGV4dFBhdGhXcmFwcGVyLGM9IXM7aT1BKCEwLHtlbmFibGVkOiEwLGF0dHJpYnV0ZXM6e2R5Oi01LHN0YXJ0T2Zmc2V0OiI1MCUiLHRleHRBbmNob3I6Im1pZGRsZSJ9fSxpKTt2YXIgaD1lLmZpbHRlclVzZXJBdHRyaWJ1dGVzKGkuYXR0cmlidXRlcyk7aWYodCYmaSYmaS5lbmFibGVkKXtzJiZudWxsPT09cy5lbGVtZW50LnBhcmVudE5vZGU/KGM9ITAscz1zLmRlc3Ryb3koKSk6cyYmdGhpcy5yZW1vdmVUZXh0T3V0bGluZS5jYWxsKHMucGFyZW50R3JvdXApLHRoaXMub3B0aW9ucyYmdGhpcy5vcHRpb25zLnBhZGRpbmcmJihoLmR4PS10aGlzLm9wdGlvbnMucGFkZGluZyksc3x8KHRoaXMudGV4dFBhdGhXcmFwcGVyPXM9dGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCJ0ZXh0UGF0aCIpLGE9ITApO3ZhciBwPXMuZWxlbWVudDtpZigoaT10LmVsZW1lbnQuZ2V0QXR0cmlidXRlKCJpZCIpKXx8dC5lbGVtZW50LnNldEF0dHJpYnV0ZSgiaWQiLGk9RSgpKSxjKWZvcihyLnNldEF0dHJpYnV0ZSgieSIsMCksQyhoLmR4KSYmci5zZXRBdHRyaWJ1dGUoIngiLC1oLmR4KSx0PVtdLnNsaWNlLmNhbGwoci5jaGlsZE5vZGVzKSxjPTA7Yzx0Lmxlbmd0aDtjKyspe3ZhciBkPXRbY107ZC5ub2RlVHlwZSE9PXUuTm9kZS5URVhUX05PREUmJiJ0c3BhbiIhPT1kLm5vZGVOYW1lfHxwLmFwcGVuZENoaWxkKGQpfWEmJnMmJnMuYWRkKHtlbGVtZW50OnJ9KSxwLnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwiaHJlZiIsdGhpcy5yZW5kZXJlci51cmwrIiMiK2kpLHkoaC5keSkmJihwLnBhcmVudE5vZGUuc2V0QXR0cmlidXRlKCJkeSIsaC5keSksZGVsZXRlIGguZHkpLHkoaC5keCkmJihwLnBhcmVudE5vZGUuc2V0QXR0cmlidXRlKCJkeCIsaC5keCksZGVsZXRlIGguZHgpLE0oaCwoZnVuY3Rpb24odCxlKXtwLnNldEF0dHJpYnV0ZShvW2VdfHxlLHQpfSkpLG4ucmVtb3ZlQXR0cmlidXRlKCJ0cmFuc2Zvcm0iKSx0aGlzLnJlbW92ZVRleHRPdXRsaW5lLmNhbGwocyksdGhpcy50ZXh0JiYhdGhpcy5yZW5kZXJlci5zdHlsZWRNb2RlJiZ0aGlzLmF0dHIoe2ZpbGw6Im5vbmUiLCJzdHJva2Utd2lkdGgiOjB9KSx0aGlzLmFwcGx5VGV4dE91dGxpbmU9dGhpcy51cGRhdGVUcmFuc2Zvcm09bH1lbHNlIHMmJihkZWxldGUgdGhpcy51cGRhdGVUcmFuc2Zvcm0sZGVsZXRlIHRoaXMuYXBwbHlUZXh0T3V0bGluZSx0aGlzLmRlc3Ryb3lUZXh0UGF0aChuLHQpLHRoaXMudXBkYXRlVHJhbnNmb3JtKCksdGhpcy5vcHRpb25zJiZ0aGlzLm9wdGlvbnMucm90YXRpb24mJnRoaXMuYXBwbHlUZXh0T3V0bGluZSh0aGlzLm9wdGlvbnMuc3R5bGUudGV4dE91dGxpbmUpKTtyZXR1cm4gdGhpc30sdC5wcm90b3R5cGUuc2hhZG93PWZ1bmN0aW9uKHQsZSxpKXt2YXIgbixyPVtdLG89dGhpcy5lbGVtZW50LGE9dGhpcy5vbGRTaGFkb3dPcHRpb25zLHM9e2NvbG9yOiIjMDAwMDAwIixvZmZzZXRYOnRoaXMucGFyZW50SW52ZXJ0ZWQ/LTE6MSxvZmZzZXRZOnRoaXMucGFyZW50SW52ZXJ0ZWQ/LTE6MSxvcGFjaXR5Oi4xNSx3aWR0aDozfSxjPSExO2lmKCEwPT09dD9uPXM6Im9iamVjdCI9PT10eXBlb2YgdCYmKG49YihzLHQpKSxuJiYobiYmYSYmTShuLChmdW5jdGlvbih0LGUpe3QhPT1hW2VdJiYoYz0hMCl9KSksYyYmdGhpcy5kZXN0cm95U2hhZG93cygpLHRoaXMub2xkU2hhZG93T3B0aW9ucz1uKSxuKXtpZighdGhpcy5zaGFkb3dzKXt2YXIgaD1uLm9wYWNpdHkvbi53aWR0aCxsPXRoaXMucGFyZW50SW52ZXJ0ZWQ/InRyYW5zbGF0ZSgiK24ub2Zmc2V0WSsiLCAiK24ub2Zmc2V0WCsiKSI6InRyYW5zbGF0ZSgiK24ub2Zmc2V0WCsiLCAiK24ub2Zmc2V0WSsiKSI7Zm9yKHM9MTtzPD1uLndpZHRoO3MrKyl7dmFyIHA9by5jbG9uZU5vZGUoITEpLGQ9MipuLndpZHRoKzEtMipzO20ocCx7c3Ryb2tlOnQuY29sb3J8fCIjMDAwMDAwIiwic3Ryb2tlLW9wYWNpdHkiOmgqcywic3Ryb2tlLXdpZHRoIjpkLHRyYW5zZm9ybTpsLGZpbGw6Im5vbmUifSkscC5zZXRBdHRyaWJ1dGUoImNsYXNzIiwocC5nZXRBdHRyaWJ1dGUoImNsYXNzIil8fCIiKSsiIGhpZ2hjaGFydHMtc2hhZG93IiksaSYmKG0ocCwiaGVpZ2h0IixNYXRoLm1heChtKHAsImhlaWdodCIpLWQsMCkpLHAuY3V0SGVpZ2h0PWQpLGU/ZS5lbGVtZW50LmFwcGVuZENoaWxkKHApOm8ucGFyZW50Tm9kZSYmby5wYXJlbnROb2RlLmluc2VydEJlZm9yZShwLG8pLHIucHVzaChwKX10aGlzLnNoYWRvd3M9cn19ZWxzZSB0aGlzLmRlc3Ryb3lTaGFkb3dzKCk7cmV0dXJuIHRoaXN9LHQucHJvdG90eXBlLnNob3c9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYXR0cih7dmlzaWJpbGl0eTp0PyJpbmhlcml0IjoidmlzaWJsZSJ9KX0sdC5wcm90b3R5cGUuc3Ryb2tlU2V0dGVyPWZ1bmN0aW9uKGUsaSxuKXt0aGlzW2ldPWUsdGhpcy5zdHJva2UmJnRoaXNbInN0cm9rZS13aWR0aCJdPyh0LnByb3RvdHlwZS5maWxsU2V0dGVyLmNhbGwodGhpcyx0aGlzLnN0cm9rZSwic3Ryb2tlIixuKSxuLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIix0aGlzWyJzdHJva2Utd2lkdGgiXSksdGhpcy5oYXNTdHJva2U9ITApOiJzdHJva2Utd2lkdGgiPT09aSYmMD09PWUmJnRoaXMuaGFzU3Ryb2tlPyhuLnJlbW92ZUF0dHJpYnV0ZSgic3Ryb2tlIiksdGhpcy5oYXNTdHJva2U9ITEpOnRoaXMucmVuZGVyZXIuc3R5bGVkTW9kZSYmdGhpc1sic3Ryb2tlLXdpZHRoIl0mJihuLnNldEF0dHJpYnV0ZSgic3Ryb2tlLXdpZHRoIix0aGlzWyJzdHJva2Utd2lkdGgiXSksdGhpcy5oYXNTdHJva2U9ITApfSx0LnByb3RvdHlwZS5zdHJva2VXaWR0aD1mdW5jdGlvbigpe2lmKCF0aGlzLnJlbmRlcmVyLnN0eWxlZE1vZGUpcmV0dXJuIHRoaXNbInN0cm9rZS13aWR0aCJdfHwwO3ZhciB0PXRoaXMuZ2V0U3R5bGUoInN0cm9rZS13aWR0aCIpLGU9MDtpZih0LmluZGV4T2YoInB4Iik9PT10Lmxlbmd0aC0yKWU9Tyh0KTtlbHNlIGlmKCIiIT09dCl7dmFyIGk9aC5jcmVhdGVFbGVtZW50TlMoZCwicmVjdCIpO20oaSx7d2lkdGg6dCwic3Ryb2tlLXdpZHRoIjowfSksdGhpcy5lbGVtZW50LnBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoaSksZT1pLmdldEJCb3goKS53aWR0aCxpLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQoaSl9cmV0dXJuIGV9LHQucHJvdG90eXBlLnN5bWJvbEF0dHI9ZnVuY3Rpb24odCl7dmFyIGU9dGhpczsieCB5IHIgc3RhcnQgZW5kIHdpZHRoIGhlaWdodCBpbm5lclIgYW5jaG9yWCBhbmNob3JZIGNsb2Nrd2lzZSIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbihpKXtlW2ldPVAodFtpXSxlW2ldKX0pKSxlLmF0dHIoe2Q6ZS5yZW5kZXJlci5zeW1ib2xzW2Uuc3ltYm9sTmFtZV0oZS54LGUueSxlLndpZHRoLGUuaGVpZ2h0LGUpfSl9LHQucHJvdG90eXBlLnRleHRTZXR0ZXI9ZnVuY3Rpb24odCl7dCE9PXRoaXMudGV4dFN0ciYmKGRlbGV0ZSB0aGlzLnRleHRQeExlbmd0aCx0aGlzLnRleHRTdHI9dCx0aGlzLmFkZGVkJiZ0aGlzLnJlbmRlcmVyLmJ1aWxkVGV4dCh0aGlzKSl9LHQucHJvdG90eXBlLnRpdGxlU2V0dGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuZWxlbWVudCxpPWUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRpdGxlIilbMF18fGguY3JlYXRlRWxlbWVudE5TKHRoaXMuU1ZHX05TLCJ0aXRsZSIpO2UuaW5zZXJ0QmVmb3JlP2UuaW5zZXJ0QmVmb3JlKGksZS5maXJzdENoaWxkKTplLmFwcGVuZENoaWxkKGkpLGkudGV4dENvbnRlbnQ9U3RyaW5nKFAodCwiIikpLnJlcGxhY2UoLzxbXj5dKj4vZywiIikucmVwbGFjZSgvJmx0Oy9nLCI8IikucmVwbGFjZSgvJmd0Oy9nLCI+Iil9LHQucHJvdG90eXBlLnRvRnJvbnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQ7cmV0dXJuIHQucGFyZW50Tm9kZS5hcHBlbmRDaGlsZCh0KSx0aGlzfSx0LnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5hdHRyKHt0cmFuc2xhdGVYOnQsdHJhbnNsYXRlWTplfSl9LHQucHJvdG90eXBlLnVwZGF0ZVNoYWRvd3M9ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXRoaXMuc2hhZG93cztpZihuKWZvcih2YXIgcj1uLmxlbmd0aDtyLS07KWkuY2FsbChuW3JdLCJoZWlnaHQiPT09dD9NYXRoLm1heChlLShuW3JdLmN1dEhlaWdodHx8MCksMCk6ImQiPT09dD90aGlzLmQ6ZSx0LG5bcl0pfSx0LnByb3RvdHlwZS51cGRhdGVUcmFuc2Zvcm09ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNjYWxlWCxlPXRoaXMuc2NhbGVZLGk9dGhpcy5pbnZlcnRlZCxuPXRoaXMucm90YXRpb24scj10aGlzLm1hdHJpeCxvPXRoaXMuZWxlbWVudCxhPXRoaXMudHJhbnNsYXRlWHx8MCxzPXRoaXMudHJhbnNsYXRlWXx8MDtpJiYoYSs9dGhpcy53aWR0aCxzKz10aGlzLmhlaWdodCksYT1bInRyYW5zbGF0ZSgiK2ErIiwiK3MrIikiXSx5KHIpJiZhLnB1c2goIm1hdHJpeCgiK3Iuam9pbigiLCIpKyIpIiksaT9hLnB1c2goInJvdGF0ZSg5MCkgc2NhbGUoLTEsMSkiKTpuJiZhLnB1c2goInJvdGF0ZSgiK24rIiAiK1AodGhpcy5yb3RhdGlvbk9yaWdpblgsby5nZXRBdHRyaWJ1dGUoIngiKSwwKSsiICIrUCh0aGlzLnJvdGF0aW9uT3JpZ2luWSxvLmdldEF0dHJpYnV0ZSgieSIpfHwwKSsiKSIpLCh5KHQpfHx5KGUpKSYmYS5wdXNoKCJzY2FsZSgiK1AodCwxKSsiICIrUChlLDEpKyIpIiksYS5sZW5ndGgmJm8uc2V0QXR0cmlidXRlKCJ0cmFuc2Zvcm0iLGEuam9pbigiICIpKX0sdC5wcm90b3R5cGUudmlzaWJpbGl0eVNldHRlcj1mdW5jdGlvbih0LGUsaSl7ImluaGVyaXQiPT09dD9pLnJlbW92ZUF0dHJpYnV0ZShlKTp0aGlzW2VdIT09dCYmaS5zZXRBdHRyaWJ1dGUoZSx0KSx0aGlzW2VdPXR9LHQucHJvdG90eXBlLnhHZXR0ZXI9ZnVuY3Rpb24odCl7cmV0dXJuImNpcmNsZSI9PT10aGlzLmVsZW1lbnQubm9kZU5hbWUmJigieCI9PT10P3Q9ImN4IjoieSI9PT10JiYodD0iY3kiKSksdGhpcy5fZGVmYXVsdEdldHRlcih0KX0sdC5wcm90b3R5cGUuekluZGV4U2V0dGVyPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5yZW5kZXJlcixuPXRoaXMucGFyZW50R3JvdXAscj0obnx8aSkuZWxlbWVudHx8aS5ib3gsbz10aGlzLmVsZW1lbnQ7aT1yPT09aS5ib3g7dmFyIGEscz0hMSxjPXRoaXMuYWRkZWQ7aWYoeSh0KT8oby5zZXRBdHRyaWJ1dGUoImRhdGEtei1pbmRleCIsdCksdD0rdCx0aGlzW2VdPT09dCYmKGM9ITEpKTp5KHRoaXNbZV0pJiZvLnJlbW92ZUF0dHJpYnV0ZSgiZGF0YS16LWluZGV4IiksdGhpc1tlXT10LGMpe2ZvcigodD10aGlzLnpJbmRleCkmJm4mJihuLmhhbmRsZVo9ITApLGU9ci5jaGlsZE5vZGVzLGE9ZS5sZW5ndGgtMTswPD1hJiYhczthLS0pe249ZVthXSxjPW4uZ2V0QXR0cmlidXRlKCJkYXRhLXotaW5kZXgiKTt2YXIgaD0heShjKTtuIT09byYmKDA+dCYmaCYmIWkmJiFhPyhyLmluc2VydEJlZm9yZShvLGVbYV0pLHM9ITApOihPKGMpPD10fHxoJiYoIXkodCl8fDA8PXQpKSYmKHIuaW5zZXJ0QmVmb3JlKG8sZVthKzFdfHxudWxsKSxzPSEwKSl9c3x8KHIuaW5zZXJ0QmVmb3JlKG8sZVtpPzM6MF18fG51bGwpLHM9ITApfXJldHVybiBzfSx0fSgpLHQucHJvdG90eXBlWyJzdHJva2Utd2lkdGhTZXR0ZXIiXT10LnByb3RvdHlwZS5zdHJva2VTZXR0ZXIsdC5wcm90b3R5cGUueUdldHRlcj10LnByb3RvdHlwZS54R2V0dGVyLHQucHJvdG90eXBlLm1hdHJpeFNldHRlcj10LnByb3RvdHlwZS5yb3RhdGlvbk9yaWdpblhTZXR0ZXI9dC5wcm90b3R5cGUucm90YXRpb25PcmlnaW5ZU2V0dGVyPXQucHJvdG90eXBlLnJvdGF0aW9uU2V0dGVyPXQucHJvdG90eXBlLnNjYWxlWFNldHRlcj10LnByb3RvdHlwZS5zY2FsZVlTZXR0ZXI9dC5wcm90b3R5cGUudHJhbnNsYXRlWFNldHRlcj10LnByb3RvdHlwZS50cmFuc2xhdGVZU2V0dGVyPXQucHJvdG90eXBlLnZlcnRpY2FsQWxpZ25TZXR0ZXI9ZnVuY3Rpb24odCxlKXt0aGlzW2VdPXQsdGhpcy5kb1RyYW5zZm9ybT0hMH0sdH0pKSxlKGksIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJSZWdpc3RyeS5qcyIsW2lbIkNvcmUvR2xvYmFscy5qcyJdXSwoZnVuY3Rpb24odCl7dmFyIGU7cmV0dXJuIGZ1bmN0aW9uKGUpe3ZhciBpO2UucmVuZGVyZXJUeXBlcz17fSxlLmdldFJlbmRlcmVyVHlwZT1mdW5jdGlvbih0KXtyZXR1cm4gdm9pZCAwPT09dCYmKHQ9aSksZS5yZW5kZXJlclR5cGVzW3RdfHxlLnJlbmRlcmVyVHlwZXNbaV19LGUucmVnaXN0ZXJSZW5kZXJlclR5cGU9ZnVuY3Rpb24obixyLG8pe2UucmVuZGVyZXJUeXBlc1tuXT1yLGkmJiFvfHwoaT1uLHQuUmVuZGVyZXI9cil9fShlfHwoZT17fSkpLGV9KSksZShpLCJDb3JlL1JlbmRlcmVyL1NWRy9TVkdMYWJlbC5qcyIsW2lbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR0VsZW1lbnQuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbihlLGkpe3JldHVybiB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHkoaSkmJih0W2ldPWVbaV0pfSx0KGUsaSl9O3JldHVybiBmdW5jdGlvbihlLGkpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLGkpLGUucHJvdG90eXBlPW51bGw9PT1pP09iamVjdC5jcmVhdGUoaSk6KG4ucHJvdG90eXBlPWkucHJvdG90eXBlLG5ldyBuKX19KCksbj1lLmRlZmluZWQscj1lLmV4dGVuZCxvPWUuaXNOdW1iZXIsYT1lLm1lcmdlLHM9ZS5waWNrLGM9ZS5yZW1vdmVFdmVudDtyZXR1cm4gZnVuY3Rpb24oZSl7ZnVuY3Rpb24gaCh0LGksbixyLG8sYSxzLGMsbCxwKXt2YXIgZCx1PWUuY2FsbCh0aGlzKXx8dGhpcztyZXR1cm4gdS5wYWRkaW5nTGVmdFNldHRlcj11LnBhZGRpbmdTZXR0ZXIsdS5wYWRkaW5nUmlnaHRTZXR0ZXI9dS5wYWRkaW5nU2V0dGVyLHUuaW5pdCh0LCJnIiksdS50ZXh0U3RyPWksdS54PW4sdS55PXIsdS5hbmNob3JYPWEsdS5hbmNob3JZPXMsdS5iYXNlbGluZT1sLHUuY2xhc3NOYW1lPXAsdS5hZGRDbGFzcygiYnV0dG9uIj09PXA/ImhpZ2hjaGFydHMtbm8tdG9vbHRpcCI6ImhpZ2hjaGFydHMtbGFiZWwiKSxwJiZ1LmFkZENsYXNzKCJoaWdoY2hhcnRzLSIrcCksdS50ZXh0PXQudGV4dCh2b2lkIDAsMCwwLGMpLmF0dHIoe3pJbmRleDoxfSksInN0cmluZyI9PT10eXBlb2YgbyYmKChkPS9edXJsXCgoLio/KVwpJC8udGVzdChvKSl8fHUucmVuZGVyZXIuc3ltYm9sc1tvXSkmJih1LnN5bWJvbEtleT1vKSx1LmJCb3g9aC5lbXB0eUJCb3gsdS5wYWRkaW5nPTMsdS5iYXNlbGluZU9mZnNldD0wLHUubmVlZHNCb3g9dC5zdHlsZWRNb2RlfHxkLHUuZGVmZXJyZWRBdHRyPXt9LHUuYWxpZ25GYWN0b3I9MCx1fXJldHVybiBpKGgsZSksaC5wcm90b3R5cGUuYWxpZ25TZXR0ZXI9ZnVuY3Rpb24odCl7dD17bGVmdDowLGNlbnRlcjouNSxyaWdodDoxfVt0XSx0IT09dGhpcy5hbGlnbkZhY3RvciYmKHRoaXMuYWxpZ25GYWN0b3I9dCx0aGlzLmJCb3gmJm8odGhpcy54U2V0dGluZykmJnRoaXMuYXR0cih7eDp0aGlzLnhTZXR0aW5nfSkpfSxoLnByb3RvdHlwZS5hbmNob3JYU2V0dGVyPWZ1bmN0aW9uKHQsZSl7dGhpcy5hbmNob3JYPXQsdGhpcy5ib3hBdHRyKGUsTWF0aC5yb3VuZCh0KS10aGlzLmdldENyaXNwQWRqdXN0KCktdGhpcy54U2V0dGluZyl9LGgucHJvdG90eXBlLmFuY2hvcllTZXR0ZXI9ZnVuY3Rpb24odCxlKXt0aGlzLmFuY2hvclk9dCx0aGlzLmJveEF0dHIoZSx0LXRoaXMueVNldHRpbmcpfSxoLnByb3RvdHlwZS5ib3hBdHRyPWZ1bmN0aW9uKHQsZSl7dGhpcy5ib3g/dGhpcy5ib3guYXR0cih0LGUpOnRoaXMuZGVmZXJyZWRBdHRyW3RdPWV9LGgucHJvdG90eXBlLmNzcz1mdW5jdGlvbihlKXtpZihlKXt2YXIgaT17fTtlPWEoZSksaC50ZXh0UHJvcHMuZm9yRWFjaCgoZnVuY3Rpb24odCl7InVuZGVmaW5lZCIhPT10eXBlb2YgZVt0XSYmKGlbdF09ZVt0XSxkZWxldGUgZVt0XSl9KSksdGhpcy50ZXh0LmNzcyhpKTt2YXIgbj0id2lkdGgiaW4gaTsiZm9udFNpemUiaW4gaXx8ImZvbnRXZWlnaHQiaW4gaT90aGlzLnVwZGF0ZVRleHRQYWRkaW5nKCk6biYmdGhpcy51cGRhdGVCb3hTaXplKCl9cmV0dXJuIHQucHJvdG90eXBlLmNzcy5jYWxsKHRoaXMsZSl9LGgucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtjKHRoaXMuZWxlbWVudCwibW91c2VlbnRlciIpLGModGhpcy5lbGVtZW50LCJtb3VzZWxlYXZlIiksdGhpcy50ZXh0JiZ0aGlzLnRleHQuZGVzdHJveSgpLHRoaXMuYm94JiYodGhpcy5ib3g9dGhpcy5ib3guZGVzdHJveSgpKSx0LnByb3RvdHlwZS5kZXN0cm95LmNhbGwodGhpcyl9LGgucHJvdG90eXBlLmZpbGxTZXR0ZXI9ZnVuY3Rpb24odCxlKXt0JiYodGhpcy5uZWVkc0JveD0hMCksdGhpcy5maWxsPXQsdGhpcy5ib3hBdHRyKGUsdCl9LGgucHJvdG90eXBlLmdldEJCb3g9ZnVuY3Rpb24oKXt0aGlzLnRleHRTdHImJjA9PT10aGlzLmJCb3gud2lkdGgmJjA9PT10aGlzLmJCb3guaGVpZ2h0JiZ0aGlzLnVwZGF0ZUJveFNpemUoKTt2YXIgdD10aGlzLnBhZGRpbmcsZT1zKHRoaXMucGFkZGluZ0xlZnQsdCk7cmV0dXJue3dpZHRoOnRoaXMud2lkdGgsaGVpZ2h0OnRoaXMuaGVpZ2h0LHg6dGhpcy5iQm94LngtZSx5OnRoaXMuYkJveC55LXR9fSxoLnByb3RvdHlwZS5nZXRDcmlzcEFkanVzdD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJlbmRlcmVyLnN0eWxlZE1vZGUmJnRoaXMuYm94P3RoaXMuYm94LnN0cm9rZVdpZHRoKCklMi8yOih0aGlzWyJzdHJva2Utd2lkdGgiXT9wYXJzZUludCh0aGlzWyJzdHJva2Utd2lkdGgiXSwxMCk6MCklMi8yfSxoLnByb3RvdHlwZS5oZWlnaHRTZXR0ZXI9ZnVuY3Rpb24odCl7dGhpcy5oZWlnaHRTZXR0aW5nPXR9LGgucHJvdG90eXBlLm9uQWRkPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50ZXh0U3RyO3RoaXMudGV4dC5hZGQodGhpcyksdGhpcy5hdHRyKHt0ZXh0Om4odCk/dDoiIix4OnRoaXMueCx5OnRoaXMueX0pLHRoaXMuYm94JiZuKHRoaXMuYW5jaG9yWCkmJnRoaXMuYXR0cih7YW5jaG9yWDp0aGlzLmFuY2hvclgsYW5jaG9yWTp0aGlzLmFuY2hvcll9KX0saC5wcm90b3R5cGUucGFkZGluZ1NldHRlcj1mdW5jdGlvbih0LGUpe28odCk/dCE9PXRoaXNbZV0mJih0aGlzW2VdPXQsdGhpcy51cGRhdGVUZXh0UGFkZGluZygpKTp0aGlzW2VdPXZvaWQgMH0saC5wcm90b3R5cGUuclNldHRlcj1mdW5jdGlvbih0LGUpe3RoaXMuYm94QXR0cihlLHQpfSxoLnByb3RvdHlwZS5zaGFkb3c9ZnVuY3Rpb24odCl7cmV0dXJuIHQmJiF0aGlzLnJlbmRlcmVyLnN0eWxlZE1vZGUmJih0aGlzLnVwZGF0ZUJveFNpemUoKSx0aGlzLmJveCYmdGhpcy5ib3guc2hhZG93KHQpKSx0aGlzfSxoLnByb3RvdHlwZS5zdHJva2VTZXR0ZXI9ZnVuY3Rpb24odCxlKXt0aGlzLnN0cm9rZT10LHRoaXMuYm94QXR0cihlLHQpfSxoLnByb3RvdHlwZVsic3Ryb2tlLXdpZHRoU2V0dGVyIl09ZnVuY3Rpb24odCxlKXt0JiYodGhpcy5uZWVkc0JveD0hMCksdGhpc1sic3Ryb2tlLXdpZHRoIl09dCx0aGlzLmJveEF0dHIoZSx0KX0saC5wcm90b3R5cGVbInRleHQtYWxpZ25TZXR0ZXIiXT1mdW5jdGlvbih0KXt0aGlzLnRleHRBbGlnbj10fSxoLnByb3RvdHlwZS50ZXh0U2V0dGVyPWZ1bmN0aW9uKHQpeyJ1bmRlZmluZWQiIT09dHlwZW9mIHQmJnRoaXMudGV4dC5hdHRyKHt0ZXh0OnR9KSx0aGlzLnVwZGF0ZVRleHRQYWRkaW5nKCl9LGgucHJvdG90eXBlLnVwZGF0ZUJveFNpemU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnRleHQuZWxlbWVudC5zdHlsZSxlPXt9LGk9dGhpcy5wYWRkaW5nLGE9dGhpcy5iQm94PW8odGhpcy53aWR0aFNldHRpbmcpJiZvKHRoaXMuaGVpZ2h0U2V0dGluZykmJiF0aGlzLnRleHRBbGlnbnx8IW4odGhpcy50ZXh0LnRleHRTdHIpP2guZW1wdHlCQm94OnRoaXMudGV4dC5nZXRCQm94KCk7dGhpcy53aWR0aD10aGlzLmdldFBhZGRlZFdpZHRoKCksdGhpcy5oZWlnaHQ9KHRoaXMuaGVpZ2h0U2V0dGluZ3x8YS5oZWlnaHR8fDApKzIqaSx0PXRoaXMucmVuZGVyZXIuZm9udE1ldHJpY3ModCYmdC5mb250U2l6ZSx0aGlzLnRleHQpLHRoaXMuYmFzZWxpbmVPZmZzZXQ9aStNYXRoLm1pbigodGhpcy50ZXh0LmZpcnN0TGluZU1ldHJpY3N8fHQpLmIsYS5oZWlnaHR8fDEvMCksdGhpcy5oZWlnaHRTZXR0aW5nJiYodGhpcy5iYXNlbGluZU9mZnNldCs9KHRoaXMuaGVpZ2h0U2V0dGluZy10LmgpLzIpLHRoaXMubmVlZHNCb3gmJih0aGlzLmJveHx8KGk9dGhpcy5ib3g9dGhpcy5zeW1ib2xLZXk/dGhpcy5yZW5kZXJlci5zeW1ib2wodGhpcy5zeW1ib2xLZXkpOnRoaXMucmVuZGVyZXIucmVjdCgpLGkuYWRkQ2xhc3MoKCJidXR0b24iPT09dGhpcy5jbGFzc05hbWU/IiI6ImhpZ2hjaGFydHMtbGFiZWwtYm94IikrKHRoaXMuY2xhc3NOYW1lPyIgaGlnaGNoYXJ0cy0iK3RoaXMuY2xhc3NOYW1lKyItYm94IjoiIikpLGkuYWRkKHRoaXMpKSxpPXRoaXMuZ2V0Q3Jpc3BBZGp1c3QoKSxlLng9aSxlLnk9KHRoaXMuYmFzZWxpbmU/LXRoaXMuYmFzZWxpbmVPZmZzZXQ6MCkraSxlLndpZHRoPU1hdGgucm91bmQodGhpcy53aWR0aCksZS5oZWlnaHQ9TWF0aC5yb3VuZCh0aGlzLmhlaWdodCksdGhpcy5ib3guYXR0cihyKGUsdGhpcy5kZWZlcnJlZEF0dHIpKSx0aGlzLmRlZmVycmVkQXR0cj17fSl9LGgucHJvdG90eXBlLnVwZGF0ZVRleHRQYWRkaW5nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy50ZXh0O3RoaXMudXBkYXRlQm94U2l6ZSgpO3ZhciBlPXRoaXMuYmFzZWxpbmU/MDp0aGlzLmJhc2VsaW5lT2Zmc2V0LGk9cyh0aGlzLnBhZGRpbmdMZWZ0LHRoaXMucGFkZGluZyk7bih0aGlzLndpZHRoU2V0dGluZykmJnRoaXMuYkJveCYmKCJjZW50ZXIiPT09dGhpcy50ZXh0QWxpZ258fCJyaWdodCI9PT10aGlzLnRleHRBbGlnbikmJihpKz17Y2VudGVyOi41LHJpZ2h0OjF9W3RoaXMudGV4dEFsaWduXSoodGhpcy53aWR0aFNldHRpbmctdGhpcy5iQm94LndpZHRoKSksaT09PXQueCYmZT09PXQueXx8KHQuYXR0cigieCIsaSksdC5oYXNCb3hXaWR0aENoYW5nZWQmJih0aGlzLmJCb3g9dC5nZXRCQm94KCEwKSksInVuZGVmaW5lZCIhPT10eXBlb2YgZSYmdC5hdHRyKCJ5IixlKSksdC54PWksdC55PWV9LGgucHJvdG90eXBlLndpZHRoU2V0dGVyPWZ1bmN0aW9uKHQpe3RoaXMud2lkdGhTZXR0aW5nPW8odCk/dDp2b2lkIDB9LGgucHJvdG90eXBlLmdldFBhZGRlZFdpZHRoPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5wYWRkaW5nLGU9cyh0aGlzLnBhZGRpbmdMZWZ0LHQpO3JldHVybiB0PXModGhpcy5wYWRkaW5nUmlnaHQsdCksKHRoaXMud2lkdGhTZXR0aW5nfHx0aGlzLmJCb3gud2lkdGh8fDApK2UrdH0saC5wcm90b3R5cGUueFNldHRlcj1mdW5jdGlvbih0KXt0aGlzLng9dCx0aGlzLmFsaWduRmFjdG9yJiYodC09dGhpcy5hbGlnbkZhY3Rvcip0aGlzLmdldFBhZGRlZFdpZHRoKCksdGhpc1siZm9yY2VBbmltYXRlOngiXT0hMCksdGhpcy54U2V0dGluZz1NYXRoLnJvdW5kKHQpLHRoaXMuYXR0cigidHJhbnNsYXRlWCIsdGhpcy54U2V0dGluZyl9LGgucHJvdG90eXBlLnlTZXR0ZXI9ZnVuY3Rpb24odCl7dGhpcy55U2V0dGluZz10aGlzLnk9TWF0aC5yb3VuZCh0KSx0aGlzLmF0dHIoInRyYW5zbGF0ZVkiLHRoaXMueVNldHRpbmcpfSxoLmVtcHR5QkJveD17d2lkdGg6MCxoZWlnaHQ6MCx4OjAseTowfSxoLnRleHRQcm9wcz0iY29sb3IgZGlyZWN0aW9uIGZvbnRGYW1pbHkgZm9udFNpemUgZm9udFN0eWxlIGZvbnRXZWlnaHQgbGluZUhlaWdodCB0ZXh0QWxpZ24gdGV4dERlY29yYXRpb24gdGV4dE91dGxpbmUgdGV4dE92ZXJmbG93IHdpZHRoIi5zcGxpdCgiICIpLGh9KHQpfSkpLGUoaSwiQ29yZS9SZW5kZXJlci9TVkcvU3ltYm9scy5qcyIsW2lbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0KXtmdW5jdGlvbiBlKHQsZSxpLG4sbyl7dmFyIHM9W107aWYobyl7dmFyIGM9by5zdGFydHx8MCxoPWEoby5yLGkpO2k9YShvLnIsbnx8aSk7dmFyIGw9KG8uZW5kfHwwKS0uMDAxO249by5pbm5lclI7dmFyIHA9YShvLm9wZW4sLjAwMT5NYXRoLmFicygoby5lbmR8fDApLWMtMipNYXRoLlBJKSksZD1NYXRoLmNvcyhjKSx1PU1hdGguc2luKGMpLGY9TWF0aC5jb3MobCksbT1NYXRoLnNpbihsKTtjPWEoby5sb25nQXJjLC4wMDE+bC1jLU1hdGguUEk/MDoxKSxzLnB1c2goWyJNIix0K2gqZCxlK2kqdV0sWyJBIixoLGksMCxjLGEoby5jbG9ja3dpc2UsMSksdCtoKmYsZStpKm1dKSxyKG4pJiZzLnB1c2gocD9bIk0iLHQrbipmLGUrbiptXTpbIkwiLHQrbipmLGUrbiptXSxbIkEiLG4sbiwwLGMscihvLmNsb2Nrd2lzZSk/MS1vLmNsb2Nrd2lzZTowLHQrbipkLGUrbip1XSkscHx8cy5wdXNoKFsiWiJdKX1yZXR1cm4gc31mdW5jdGlvbiBpKHQsZSxpLHIsbyl7cmV0dXJuIG8mJm8ucj9uKHQsZSxpLHIsbyk6W1siTSIsdCxlXSxbIkwiLHQraSxlXSxbIkwiLHQraSxlK3JdLFsiTCIsdCxlK3JdLFsiWiJdXX1mdW5jdGlvbiBuKHQsZSxpLG4scil7cmV0dXJuIHI9ciYmci5yfHwwLFtbIk0iLHQrcixlXSxbIkwiLHQraS1yLGVdLFsiQyIsdCtpLGUsdCtpLGUsdCtpLGUrcl0sWyJMIix0K2ksZStuLXJdLFsiQyIsdCtpLGUrbix0K2ksZStuLHQraS1yLGUrbl0sWyJMIix0K3IsZStuXSxbIkMiLHQsZStuLHQsZStuLHQsZStuLXJdLFsiTCIsdCxlK3JdLFsiQyIsdCxlLHQsZSx0K3IsZV1dfXZhciByPXQuZGVmaW5lZCxvPXQuaXNOdW1iZXIsYT10LnBpY2s7cmV0dXJue2FyYzplLGNhbGxvdXQ6ZnVuY3Rpb24odCxlLGkscixhKXt2YXIgcz1NYXRoLm1pbihhJiZhLnJ8fDAsaSxyKSxjPXMrNixoPWEmJmEuYW5jaG9yWDthPWEmJmEuYW5jaG9yWXx8MDt2YXIgbD1uKHQsZSxpLHIse3I6c30pO3JldHVybiBvKGgpPyh0K2g+PWk/YT5lK2MmJmE8ZStyLWM/bC5zcGxpY2UoMywxLFsiTCIsdCtpLGEtNl0sWyJMIix0K2krNixhXSxbIkwiLHQraSxhKzZdLFsiTCIsdCtpLGUrci1zXSk6bC5zcGxpY2UoMywxLFsiTCIsdCtpLHIvMl0sWyJMIixoLGFdLFsiTCIsdCtpLHIvMl0sWyJMIix0K2ksZStyLXNdKTowPj10K2g/YT5lK2MmJmE8ZStyLWM/bC5zcGxpY2UoNywxLFsiTCIsdCxhKzZdLFsiTCIsdC02LGFdLFsiTCIsdCxhLTZdLFsiTCIsdCxlK3NdKTpsLnNwbGljZSg3LDEsWyJMIix0LHIvMl0sWyJMIixoLGFdLFsiTCIsdCxyLzJdLFsiTCIsdCxlK3NdKTphJiZhPnImJmg+dCtjJiZoPHQraS1jP2wuc3BsaWNlKDUsMSxbIkwiLGgrNixlK3JdLFsiTCIsaCxlK3IrNl0sWyJMIixoLTYsZStyXSxbIkwiLHQrcyxlK3JdKTphJiYwPmEmJmg+dCtjJiZoPHQraS1jJiZsLnNwbGljZSgxLDEsWyJMIixoLTYsZV0sWyJMIixoLGUtNl0sWyJMIixoKzYsZV0sWyJMIixpLXMsZV0pLGwpOmx9LGNpcmNsZTpmdW5jdGlvbih0LGksbixyKXtyZXR1cm4gZSh0K24vMixpK3IvMixuLzIsci8yLHtzdGFydDouNSpNYXRoLlBJLGVuZDoyLjUqTWF0aC5QSSxvcGVuOiExfSl9LGRpYW1vbmQ6ZnVuY3Rpb24odCxlLGksbil7cmV0dXJuW1siTSIsdCtpLzIsZV0sWyJMIix0K2ksZStuLzJdLFsiTCIsdCtpLzIsZStuXSxbIkwiLHQsZStuLzJdLFsiWiJdXX0scmVjdDppLHJvdW5kZWRSZWN0Om4sc3F1YXJlOmksdHJpYW5nbGU6ZnVuY3Rpb24odCxlLGksbil7cmV0dXJuW1siTSIsdCtpLzIsZV0sWyJMIix0K2ksZStuXSxbIkwiLHQsZStuXSxbIloiXV19LCJ0cmlhbmdsZS1kb3duIjpmdW5jdGlvbih0LGUsaSxuKXtyZXR1cm5bWyJNIix0LGVdLFsiTCIsdCtpLGVdLFsiTCIsdCtpLzIsZStuXSxbIloiXV19fX0pKSxlKGksIkNvcmUvUmVuZGVyZXIvU1ZHL1RleHRCdWlsZGVyLmpzIixbaVsiQ29yZS9SZW5kZXJlci9IVE1ML0FTVC5qcyJdLGlbIkNvcmUvR2xvYmFscy5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSl7dmFyIG49ZS5kb2Mscj1lLlNWR19OUyxvPWUud2luLGE9aS5hdHRyLHM9aS5pc1N0cmluZyxjPWkub2JqZWN0RWFjaCxoPWkucGljaztyZXR1cm4gZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3ZhciBlPXQuc3R5bGVzO3RoaXMucmVuZGVyZXI9dC5yZW5kZXJlcix0aGlzLnN2Z0VsZW1lbnQ9dCx0aGlzLndpZHRoPXQudGV4dFdpZHRoLHRoaXMudGV4dExpbmVIZWlnaHQ9ZSYmZS5saW5lSGVpZ2h0LHRoaXMudGV4dE91dGxpbmU9ZSYmZS50ZXh0T3V0bGluZSx0aGlzLmVsbGlwc2lzPSEoIWV8fCJlbGxpcHNpcyIhPT1lLnRleHRPdmVyZmxvdyksdGhpcy5ub1dyYXA9ISghZXx8Im5vd3JhcCIhPT1lLndoaXRlU3BhY2UpLHRoaXMuZm9udFNpemU9ZSYmZS5mb250U2l6ZX1yZXR1cm4gZS5wcm90b3R5cGUuYnVpbGRTVkc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnN2Z0VsZW1lbnQsaT1lLmVsZW1lbnQscj1lLnJlbmRlcmVyLG89aChlLnRleHRTdHIsIiIpLnRvU3RyaW5nKCksYT0tMSE9PW8uaW5kZXhPZigiPCIpLGM9aS5jaGlsZE5vZGVzO3I9dGhpcy53aWR0aCYmIWUuYWRkZWQmJnIuYm94O3ZhciBsPS88YnIuKj8+L2cscD1bbyx0aGlzLmVsbGlwc2lzLHRoaXMubm9XcmFwLHRoaXMudGV4dExpbmVIZWlnaHQsdGhpcy50ZXh0T3V0bGluZSx0aGlzLmZvbnRTaXplLHRoaXMud2lkdGhdLmpvaW4oKTtpZihwIT09ZS50ZXh0Q2FjaGUpe2ZvcihlLnRleHRDYWNoZT1wLGRlbGV0ZSBlLmFjdHVhbFdpZHRoLHA9Yy5sZW5ndGg7cC0tOylpLnJlbW92ZUNoaWxkKGNbcF0pO2F8fHRoaXMuZWxsaXBzaXN8fHRoaXMud2lkdGh8fC0xIT09by5pbmRleE9mKCIgIikmJighdGhpcy5ub1dyYXB8fGwudGVzdChvKSk/IiIhPT1vJiYociYmci5hcHBlbmRDaGlsZChpKSxvPW5ldyB0KG8pLHRoaXMubW9kaWZ5VHJlZShvLm5vZGVzKSxvLmFkZFRvRE9NKGUuZWxlbWVudCksdGhpcy5tb2RpZnlET00oKSx0aGlzLmVsbGlwc2lzJiYtMSE9PShpLnRleHRDb250ZW50fHwiIikuaW5kZXhPZigi4oCmIikmJmUuYXR0cigidGl0bGUiLHRoaXMudW5lc2NhcGVFbnRpdGllcyhlLnRleHRTdHJ8fCIiLFsiJmx0OyIsIiZndDsiXSkpLHImJnIucmVtb3ZlQ2hpbGQoaSkpOmkuYXBwZW5kQ2hpbGQobi5jcmVhdGVUZXh0Tm9kZSh0aGlzLnVuZXNjYXBlRW50aXRpZXMobykpKSxzKHRoaXMudGV4dE91dGxpbmUpJiZlLmFwcGx5VGV4dE91dGxpbmUmJmUuYXBwbHlUZXh0T3V0bGluZSh0aGlzLnRleHRPdXRsaW5lKX19LGUucHJvdG90eXBlLm1vZGlmeURPTT1mdW5jdGlvbigpe3ZhciB0LGU9dGhpcyxpPXRoaXMuc3ZnRWxlbWVudCxzPWEoaS5lbGVtZW50LCJ4Iik7Zm9yKGkuZmlyc3RMaW5lTWV0cmljcz12b2lkIDA7dD1pLmVsZW1lbnQuZmlyc3RDaGlsZDspe2lmKCEvXltcc1x1MjAwQl0qJC8udGVzdCh0LnRleHRDb250ZW50fHwiICIpKWJyZWFrO2kuZWxlbWVudC5yZW1vdmVDaGlsZCh0KX1bXS5mb3JFYWNoLmNhbGwoaS5lbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoInRzcGFuLmhpZ2hjaGFydHMtYnIiKSwoZnVuY3Rpb24odCxuKXt0Lm5leHRTaWJsaW5nJiZ0LnByZXZpb3VzU2libGluZyYmKDA9PT1uJiYxPT09dC5wcmV2aW91c1NpYmxpbmcubm9kZVR5cGUmJihpLmZpcnN0TGluZU1ldHJpY3M9aS5yZW5kZXJlci5mb250TWV0cmljcyh2b2lkIDAsdC5wcmV2aW91c1NpYmxpbmcpKSxhKHQse2R5OmUuZ2V0TGluZUhlaWdodCh0Lm5leHRTaWJsaW5nKSx4OnN9KSl9KSk7dmFyIGM9dGhpcy53aWR0aHx8MDtpZihjKXt2YXIgaD1mdW5jdGlvbih0LG8pe3ZhciBoPXQudGV4dENvbnRlbnR8fCIiLGw9aC5yZXBsYWNlKC8oW15cXl0pLS9nLCIkMS0gIikuc3BsaXQoIiAiKSxwPSFlLm5vV3JhcCYmKDE8bC5sZW5ndGh8fDE8aS5lbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoKSxkPWUuZ2V0TGluZUhlaWdodChvKSx1PTAsZj1pLmFjdHVhbFdpZHRoO2lmKGUuZWxsaXBzaXMpaCYmZS50cnVuY2F0ZSh0LGgsdm9pZCAwLDAsTWF0aC5tYXgoMCxjLXBhcnNlSW50KGUuZm9udFNpemV8fDEyLDEwKSksKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQuc3Vic3RyaW5nKDAsZSkrIuKApiJ9KSk7ZWxzZSBpZihwKXtmb3IoaD1bXSxwPVtdO28uZmlyc3RDaGlsZCYmby5maXJzdENoaWxkIT09dDspcC5wdXNoKG8uZmlyc3RDaGlsZCksby5yZW1vdmVDaGlsZChvLmZpcnN0Q2hpbGQpO2Zvcig7bC5sZW5ndGg7KWwubGVuZ3RoJiYhZS5ub1dyYXAmJjA8dSYmKGgucHVzaCh0LnRleHRDb250ZW50fHwiIiksdC50ZXh0Q29udGVudD1sLmpvaW4oIiAiKS5yZXBsYWNlKC8tIC9nLCItIikpLGUudHJ1bmNhdGUodCx2b2lkIDAsbCwwPT09dSYmZnx8MCxjLChmdW5jdGlvbih0LGUpe3JldHVybiBsLnNsaWNlKDAsZSkuam9pbigiICIpLnJlcGxhY2UoLy0gL2csIi0iKX0pKSxmPWkuYWN0dWFsV2lkdGgsdSsrO3AuZm9yRWFjaCgoZnVuY3Rpb24oZSl7by5pbnNlcnRCZWZvcmUoZSx0KX0pKSxoLmZvckVhY2goKGZ1bmN0aW9uKGUpe28uaW5zZXJ0QmVmb3JlKG4uY3JlYXRlVGV4dE5vZGUoZSksdCksZT1uLmNyZWF0ZUVsZW1lbnROUyhyLCJ0c3BhbiIpLGUudGV4dENvbnRlbnQ9IuKAiyIsYShlLHtkeTpkLHg6c30pLG8uaW5zZXJ0QmVmb3JlKGUsdCl9KSl9fSxsPWZ1bmN0aW9uKHQpe1tdLnNsaWNlLmNhbGwodC5jaGlsZE5vZGVzKS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLm5vZGVUeXBlPT09by5Ob2RlLlRFWFRfTk9ERT9oKGUsdCk6KC0xIT09ZS5jbGFzc05hbWUuYmFzZVZhbC5pbmRleE9mKCJoaWdoY2hhcnRzLWJyIikmJihpLmFjdHVhbFdpZHRoPTApLGwoZSkpfSkpfTtsKGkuZWxlbWVudCl9fSxlLnByb3RvdHlwZS5nZXRMaW5lSGVpZ2h0PWZ1bmN0aW9uKHQpe3ZhciBlO3JldHVybiB0PXQubm9kZVR5cGU9PT1vLk5vZGUuVEVYVF9OT0RFP3QucGFyZW50RWxlbWVudDp0LHRoaXMucmVuZGVyZXIuc3R5bGVkTW9kZXx8KGU9dCYmLyhweHxlbSkkLy50ZXN0KHQuc3R5bGUuZm9udFNpemUpP3Quc3R5bGUuZm9udFNpemU6dGhpcy5mb250U2l6ZXx8dGhpcy5yZW5kZXJlci5zdHlsZS5mb250U2l6ZXx8MTIpLHRoaXMudGV4dExpbmVIZWlnaHQ/cGFyc2VJbnQodGhpcy50ZXh0TGluZUhlaWdodC50b1N0cmluZygpLDEwKTp0aGlzLnJlbmRlcmVyLmZvbnRNZXRyaWNzKGUsdHx8dGhpcy5zdmdFbGVtZW50LmVsZW1lbnQpLmh9LGUucHJvdG90eXBlLm1vZGlmeVRyZWU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPWZ1bmN0aW9uKG4scil7dmFyIG89bi5hdHRyaWJ1dGVzO289dm9pZCAwPT09bz97fTpvO3ZhciBhPW4uY2hpbGRyZW4sYz1uLnRhZ05hbWUsaD1lLnJlbmRlcmVyLnN0eWxlZE1vZGU7ImIiPT09Y3x8InN0cm9uZyI9PT1jP2g/b1siY2xhc3MiXT0iaGlnaGNoYXJ0cy1zdHJvbmciOm8uc3R5bGU9ImZvbnQtd2VpZ2h0OmJvbGQ7Iisoby5zdHlsZXx8IiIpOiJpIiE9PWMmJiJlbSIhPT1jfHwoaD9vWyJjbGFzcyJdPSJoaWdoY2hhcnRzLWVtcGhhc2l6ZWQiOm8uc3R5bGU9ImZvbnQtc3R5bGU6aXRhbGljOyIrKG8uc3R5bGV8fCIiKSkscyhvLnN0eWxlKSYmKG8uc3R5bGU9by5zdHlsZS5yZXBsYWNlKC8oO3wgfF4pY29sb3IoWyA6XSkvLCIkMWZpbGwkMiIpKSwiYnIiPT09Yz8ob1siY2xhc3MiXT0iaGlnaGNoYXJ0cy1iciIsbi50ZXh0Q29udGVudD0i4oCLIiwocj10W3IrMV0pJiZyLnRleHRDb250ZW50JiYoci50ZXh0Q29udGVudD1yLnRleHRDb250ZW50LnJlcGxhY2UoL14gKy9nbSwiIikpKToiYSI9PT1jJiZhJiZhLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiIjdGV4dCI9PT10LnRhZ05hbWV9KSkmJihuLmNoaWxkcmVuPVt7Y2hpbGRyZW46YSx0YWdOYW1lOiJ0c3BhbiJ9XSksIiN0ZXh0IiE9PWMmJiJhIiE9PWMmJihuLnRhZ05hbWU9InRzcGFuIiksbi5hdHRyaWJ1dGVzPW8sYSYmYS5maWx0ZXIoKGZ1bmN0aW9uKHQpe3JldHVybiIjdGV4dCIhPT10LnRhZ05hbWV9KSkuZm9yRWFjaChpKX07dC5mb3JFYWNoKGkpfSxlLnByb3RvdHlwZS50cnVuY2F0ZT1mdW5jdGlvbih0LGUsaSxuLHIsbyl7dmFyIGEscz10aGlzLnN2Z0VsZW1lbnQsYz1zLnJlbmRlcmVyLGg9cy5yb3RhdGlvbixsPVtdLHA9aT8xOjAsZD0oZXx8aXx8IiIpLmxlbmd0aCx1PWQsZj1mdW5jdGlvbihyLGEpe2E9YXx8cjt2YXIgaD10LnBhcmVudE5vZGU7aWYoaCYmInVuZGVmaW5lZCI9PT10eXBlb2YgbFthXSlpZihoLmdldFN1YlN0cmluZ0xlbmd0aCl0cnl7bFthXT1uK2guZ2V0U3ViU3RyaW5nTGVuZ3RoKDAsaT9hKzE6YSl9Y2F0Y2gocCl7fWVsc2UgYy5nZXRTcGFuV2lkdGgmJih0LnRleHRDb250ZW50PW8oZXx8aSxyKSxsW2FdPW4rYy5nZXRTcGFuV2lkdGgocyx0KSk7cmV0dXJuIGxbYV19O3Mucm90YXRpb249MDt2YXIgbT1mKHQudGV4dENvbnRlbnQubGVuZ3RoKTtpZihuK20+cil7Zm9yKDtwPD1kOyl1PU1hdGguY2VpbCgocCtkKS8yKSxpJiYoYT1vKGksdSkpLG09Zih1LGEmJmEubGVuZ3RoLTEpLHA9PT1kP3A9ZCsxOm0+cj9kPXUtMTpwPXU7MD09PWQ/dC50ZXh0Q29udGVudD0iIjplJiZkPT09ZS5sZW5ndGgtMXx8KHQudGV4dENvbnRlbnQ9YXx8byhlfHxpLHUpKX1pJiZpLnNwbGljZSgwLHUpLHMuYWN0dWFsV2lkdGg9bSxzLnJvdGF0aW9uPWh9LGUucHJvdG90eXBlLnVuZXNjYXBlRW50aXRpZXM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gYyh0aGlzLnJlbmRlcmVyLmVzY2FwZXMsKGZ1bmN0aW9uKGksbil7ZSYmLTEhPT1lLmluZGV4T2YoaSl8fCh0PXQudG9TdHJpbmcoKS5yZXBsYWNlKG5ldyBSZWdFeHAoaSwiZyIpLG4pKX0pKSx0fSxlfSgpfSkpLGUoaSwiQ29yZS9SZW5kZXJlci9TVkcvU1ZHUmVuZGVyZXIuanMiLFtpWyJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIl0saVsiQ29yZS9Db2xvci9Db2xvci5qcyJdLGlbIkNvcmUvR2xvYmFscy5qcyJdLGlbIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJSZWdpc3RyeS5qcyJdLGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR0VsZW1lbnQuanMiXSxpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdMYWJlbC5qcyJdLGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1N5bWJvbHMuanMiXSxpWyJDb3JlL1JlbmRlcmVyL1NWRy9UZXh0QnVpbGRlci5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSxuLHIsbyxhLHMsYyl7dmFyIGgsbD1pLmNoYXJ0cyxwPWkuZGVnMnJhZCxkPWkuZG9jLHU9aS5pc0ZpcmVmb3gsZj1pLmlzTVMsbT1pLmlzV2ViS2l0LGc9aS5ub29wLHY9aS5TVkdfTlMseT1pLnN5bWJvbFNpemVzLF89aS53aW4sYj1jLmFkZEV2ZW50LHg9Yy5hdHRyLHc9Yy5jcmVhdGVFbGVtZW50LGs9Yy5jc3MsQz1jLmRlZmluZWQsUz1jLmRlc3Ryb3lPYmplY3RQcm9wZXJ0aWVzLEE9Yy5leHRlbmQsTT1jLmlzQXJyYXksUD1jLmlzTnVtYmVyLE89Yy5pc09iamVjdCxUPWMuaXNTdHJpbmcsRT1jLm1lcmdlLEw9Yy5waWNrLGo9Yy5wSW50LEQ9Yy51bmlxdWVLZXk7cmV0dXJuIGk9ZnVuY3Rpb24oKXtmdW5jdGlvbiBpKHQsZSxpLG4scixvLGEpe3RoaXMud2lkdGg9dGhpcy51cmw9dGhpcy5zdHlsZT10aGlzLmlzU1ZHPXRoaXMuaW1nQ291bnQ9dGhpcy5oZWlnaHQ9dGhpcy5ncmFkaWVudHM9dGhpcy5nbG9iYWxBbmltYXRpb249dGhpcy5kZWZzPXRoaXMuY2hhcnRJbmRleD10aGlzLmNhY2hlS2V5cz10aGlzLmNhY2hlPXRoaXMuYm94V3JhcHBlcj10aGlzLmJveD10aGlzLmFsaWduZWRPYmplY3RzPXZvaWQgMCx0aGlzLmluaXQodCxlLGksbixyLG8sYSl9cmV0dXJuIGkucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCxlLGksbixyLG8sYSl7dmFyIHMsYz10aGlzLmNyZWF0ZUVsZW1lbnQoInN2ZyIpLmF0dHIoe3ZlcnNpb246IjEuMSIsY2xhc3M6ImhpZ2hjaGFydHMtcm9vdCJ9KSxoPWMuZWxlbWVudDthfHxjLmNzcyh0aGlzLmdldFN0eWxlKG4pKSx0LmFwcGVuZENoaWxkKGgpLHgodCwiZGlyIiwibHRyIiksLTE9PT10LmlubmVySFRNTC5pbmRleE9mKCJ4bWxucyIpJiZ4KGgsInhtbG5zIix0aGlzLlNWR19OUyksdGhpcy5pc1NWRz0hMCx0aGlzLmJveD1oLHRoaXMuYm94V3JhcHBlcj1jLHRoaXMuYWxpZ25lZE9iamVjdHM9W10sdGhpcy51cmw9dGhpcy5nZXRSZWZlcmVuY2VVUkwoKSx0aGlzLmNyZWF0ZUVsZW1lbnQoImRlc2MiKS5hZGQoKS5lbGVtZW50LmFwcGVuZENoaWxkKGQuY3JlYXRlVGV4dE5vZGUoIkNyZWF0ZWQgd2l0aCBIaWdoY2hhcnRzIDkuMy4zIikpLHRoaXMuZGVmcz10aGlzLmNyZWF0ZUVsZW1lbnQoImRlZnMiKS5hZGQoKSx0aGlzLmFsbG93SFRNTD1vLHRoaXMuZm9yRXhwb3J0PXIsdGhpcy5zdHlsZWRNb2RlPWEsdGhpcy5ncmFkaWVudHM9e30sdGhpcy5jYWNoZT17fSx0aGlzLmNhY2hlS2V5cz1bXSx0aGlzLmltZ0NvdW50PTAsdGhpcy5zZXRTaXplKGUsaSwhMSksdSYmdC5nZXRCb3VuZGluZ0NsaWVudFJlY3QmJihlPWZ1bmN0aW9uKCl7ayh0LHtsZWZ0OjAsdG9wOjB9KSxzPXQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCksayh0LHtsZWZ0Ok1hdGguY2VpbChzLmxlZnQpLXMubGVmdCsicHgiLHRvcDpNYXRoLmNlaWwocy50b3ApLXMudG9wKyJweCJ9KX0sZSgpLHRoaXMudW5TdWJQaXhlbEZpeD1iKF8sInJlc2l6ZSIsZSkpfSxpLnByb3RvdHlwZS5kZWZpbml0aW9uPWZ1bmN0aW9uKGUpe3JldHVybiBuZXcgdChbZV0pLmFkZFRvRE9NKHRoaXMuZGVmcy5lbGVtZW50KX0saS5wcm90b3R5cGUuZ2V0UmVmZXJlbmNlVVJMPWZ1bmN0aW9uKCl7aWYoKHV8fG0pJiZkLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJiYXNlIikubGVuZ3RoKXtpZighQyhoKSl7dmFyIGU9RCgpO2U9bmV3IHQoW3t0YWdOYW1lOiJzdmciLGF0dHJpYnV0ZXM6e3dpZHRoOjgsaGVpZ2h0Ojh9LGNoaWxkcmVuOlt7dGFnTmFtZToiZGVmcyIsY2hpbGRyZW46W3t0YWdOYW1lOiJjbGlwUGF0aCIsYXR0cmlidXRlczp7aWQ6ZX0sY2hpbGRyZW46W3t0YWdOYW1lOiJyZWN0IixhdHRyaWJ1dGVzOnt3aWR0aDo0LGhlaWdodDo0fX1dfV19LHt0YWdOYW1lOiJyZWN0IixhdHRyaWJ1dGVzOntpZDoiaGl0bWUiLHdpZHRoOjgsaGVpZ2h0OjgsImNsaXAtcGF0aCI6InVybCgjIitlKyIpIixmaWxsOiJyZ2JhKDAsMCwwLDAuMDAxKSJ9fV19XSkuYWRkVG9ET00oZC5ib2R5KSxrKGUse3Bvc2l0aW9uOiJmaXhlZCIsdG9wOjAsbGVmdDowLHpJbmRleDo5ZTV9KTt2YXIgaT1kLmVsZW1lbnRGcm9tUG9pbnQoNiw2KTtoPSJoaXRtZSI9PT0oaSYmaS5pZCksZC5ib2R5LnJlbW92ZUNoaWxkKGUpfWlmKGgpcmV0dXJuIF8ubG9jYXRpb24uaHJlZi5zcGxpdCgiIyIpWzBdLnJlcGxhY2UoLzxbXj5dKj4vZywiIikucmVwbGFjZSgvKFtcKCdcKV0pL2csIlxcJDEiKS5yZXBsYWNlKC8gL2csIiUyMCIpfXJldHVybiIifSxpLnByb3RvdHlwZS5nZXRTdHlsZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5zdHlsZT1BKHtmb250RmFtaWx5OiciTHVjaWRhIEdyYW5kZSIsICJMdWNpZGEgU2FucyBVbmljb2RlIiwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZicsZm9udFNpemU6IjEycHgifSx0KX0saS5wcm90b3R5cGUuc2V0U3R5bGU9ZnVuY3Rpb24odCl7dGhpcy5ib3hXcmFwcGVyLmNzcyh0aGlzLmdldFN0eWxlKHQpKX0saS5wcm90b3R5cGUuaXNIaWRkZW49ZnVuY3Rpb24oKXtyZXR1cm4hdGhpcy5ib3hXcmFwcGVyLmdldEJCb3goKS53aWR0aH0saS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZGVmcztyZXR1cm4gdGhpcy5ib3g9bnVsbCx0aGlzLmJveFdyYXBwZXI9dGhpcy5ib3hXcmFwcGVyLmRlc3Ryb3koKSxTKHRoaXMuZ3JhZGllbnRzfHx7fSksdGhpcy5ncmFkaWVudHM9bnVsbCx0JiYodGhpcy5kZWZzPXQuZGVzdHJveSgpKSx0aGlzLnVuU3ViUGl4ZWxGaXgmJnRoaXMudW5TdWJQaXhlbEZpeCgpLHRoaXMuYWxpZ25lZE9iamVjdHM9bnVsbH0saS5wcm90b3R5cGUuY3JlYXRlRWxlbWVudD1mdW5jdGlvbih0KXt2YXIgZT1uZXcgdGhpcy5FbGVtZW50O3JldHVybiBlLmluaXQodGhpcyx0KSxlfSxpLnByb3RvdHlwZS5nZXRSYWRpYWxBdHRyPWZ1bmN0aW9uKHQsZSl7cmV0dXJue2N4OnRbMF0tdFsyXS8yKyhlLmN4fHwwKSp0WzJdLGN5OnRbMV0tdFsyXS8yKyhlLmN5fHwwKSp0WzJdLHI6KGUucnx8MCkqdFsyXX19LGkucHJvdG90eXBlLmJ1aWxkVGV4dD1mdW5jdGlvbih0KXtuZXcgcyh0KS5idWlsZFNWRygpfSxpLnByb3RvdHlwZS5nZXRDb250cmFzdD1mdW5jdGlvbih0KXtyZXR1cm4gdD1lLnBhcnNlKHQpLnJnYmEsdFswXSo9MSx0WzFdKj0xLjIsdFsyXSo9LjUsNDU5PHRbMF0rdFsxXSt0WzJdPyIjMDAwMDAwIjoiI0ZGRkZGRiJ9LGkucHJvdG90eXBlLmJ1dHRvbj1mdW5jdGlvbihlLGksbixyLG8sYSxzLGMsaCxsKXt2YXIgcD10aGlzLmxhYmVsKGUsaSxuLGgsdm9pZCAwLHZvaWQgMCxsLHZvaWQgMCwiYnV0dG9uIiksZD10aGlzLnN0eWxlZE1vZGUsdT0wLG09bz9FKG8pOnt9O2lmKGU9bSYmbS5zdHlsZXx8e30sbT10LmZpbHRlclVzZXJBdHRyaWJ1dGVzKG0pLHAuYXR0cihFKHtwYWRkaW5nOjgscjoyfSxtKSksIWQpe209RSh7ZmlsbDoiI2Y3ZjdmNyIsc3Ryb2tlOiIjY2NjY2NjIiwic3Ryb2tlLXdpZHRoIjoxLHN0eWxlOntjb2xvcjoiIzMzMzMzMyIsY3Vyc29yOiJwb2ludGVyIixmb250V2VpZ2h0OiJub3JtYWwifX0se3N0eWxlOmV9LG0pO3ZhciBnPW0uc3R5bGU7ZGVsZXRlIG0uc3R5bGUsYT1FKG0se2ZpbGw6IiNlNmU2ZTYifSx0LmZpbHRlclVzZXJBdHRyaWJ1dGVzKGF8fHt9KSk7dmFyIHY9YS5zdHlsZTtkZWxldGUgYS5zdHlsZSxzPUUobSx7ZmlsbDoiI2U2ZWJmNSIsc3R5bGU6e2NvbG9yOiIjMDAwMDAwIixmb250V2VpZ2h0OiJib2xkIn19LHQuZmlsdGVyVXNlckF0dHJpYnV0ZXMoc3x8e30pKTt2YXIgeT1zLnN0eWxlO2RlbGV0ZSBzLnN0eWxlLGM9RShtLHtzdHlsZTp7Y29sb3I6IiNjY2NjY2MifX0sdC5maWx0ZXJVc2VyQXR0cmlidXRlcyhjfHx7fSkpO3ZhciBfPWMuc3R5bGU7ZGVsZXRlIGMuc3R5bGV9cmV0dXJuIGIocC5lbGVtZW50LGY/Im1vdXNlb3ZlciI6Im1vdXNlZW50ZXIiLChmdW5jdGlvbigpezMhPT11JiZwLnNldFN0YXRlKDEpfSkpLGIocC5lbGVtZW50LGY/Im1vdXNlb3V0IjoibW91c2VsZWF2ZSIsKGZ1bmN0aW9uKCl7MyE9PXUmJnAuc2V0U3RhdGUodSl9KSkscC5zZXRTdGF0ZT1mdW5jdGlvbih0KXsxIT09dCYmKHAuc3RhdGU9dT10KSxwLnJlbW92ZUNsYXNzKC9oaWdoY2hhcnRzLWJ1dHRvbi0obm9ybWFsfGhvdmVyfHByZXNzZWR8ZGlzYWJsZWQpLykuYWRkQ2xhc3MoImhpZ2hjaGFydHMtYnV0dG9uLSIrWyJub3JtYWwiLCJob3ZlciIsInByZXNzZWQiLCJkaXNhYmxlZCJdW3R8fDBdKSxkfHxwLmF0dHIoW20sYSxzLGNdW3R8fDBdKS5jc3MoW2csdix5LF9dW3R8fDBdKX0sZHx8cC5hdHRyKG0pLmNzcyhBKHtjdXJzb3I6ImRlZmF1bHQifSxnKSkscC5vbigidG91Y2hzdGFydCIsKGZ1bmN0aW9uKHQpe3JldHVybiB0LnN0b3BQcm9wYWdhdGlvbigpfSkpLm9uKCJjbGljayIsKGZ1bmN0aW9uKHQpezMhPT11JiZyLmNhbGwocCx0KX0pKX0saS5wcm90b3R5cGUuY3Jpc3BMaW5lPWZ1bmN0aW9uKHQsZSxpKXt2b2lkIDA9PT1pJiYoaT0icm91bmQiKTt2YXIgbj10WzBdLHI9dFsxXTtyZXR1cm4gQyhuWzFdKSYmblsxXT09PXJbMV0mJihuWzFdPXJbMV09TWF0aFtpXShuWzFdKS1lJTIvMiksQyhuWzJdKSYmblsyXT09PXJbMl0mJihuWzJdPXJbMl09TWF0aFtpXShuWzJdKStlJTIvMiksdH0saS5wcm90b3R5cGUucGF0aD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnN0eWxlZE1vZGU/e306e2ZpbGw6Im5vbmUifTtyZXR1cm4gTSh0KT9lLmQ9dDpPKHQpJiZBKGUsdCksdGhpcy5jcmVhdGVFbGVtZW50KCJwYXRoIikuYXR0cihlKX0saS5wcm90b3R5cGUuY2lyY2xlPWZ1bmN0aW9uKHQsZSxpKXtyZXR1cm4gdD1PKHQpP3Q6InVuZGVmaW5lZCI9PT10eXBlb2YgdD97fTp7eDp0LHk6ZSxyOml9LGU9dGhpcy5jcmVhdGVFbGVtZW50KCJjaXJjbGUiKSxlLnhTZXR0ZXI9ZS55U2V0dGVyPWZ1bmN0aW9uKHQsZSxpKXtpLnNldEF0dHJpYnV0ZSgiYyIrZSx0KX0sZS5hdHRyKHQpfSxpLnByb3RvdHlwZS5hcmM9ZnVuY3Rpb24odCxlLGksbixyLG8pe3JldHVybiBPKHQpPyhuPXQsZT1uLnksaT1uLnIsdD1uLngpOm49e2lubmVyUjpuLHN0YXJ0OnIsZW5kOm99LHQ9dGhpcy5zeW1ib2woImFyYyIsdCxlLGksaSxuKSx0LnI9aSx0fSxpLnByb3RvdHlwZS5yZWN0PWZ1bmN0aW9uKHQsZSxpLG4scixvKXtyPU8odCk/dC5yOnI7dmFyIGE9dGhpcy5jcmVhdGVFbGVtZW50KCJyZWN0Iik7cmV0dXJuIHQ9Tyh0KT90OiJ1bmRlZmluZWQiPT09dHlwZW9mIHQ/e306e3g6dCx5OmUsd2lkdGg6TWF0aC5tYXgoaSwwKSxoZWlnaHQ6TWF0aC5tYXgobiwwKX0sdGhpcy5zdHlsZWRNb2RlfHwoInVuZGVmaW5lZCIhPT10eXBlb2YgbyYmKHRbInN0cm9rZS13aWR0aCJdPW8sdD1hLmNyaXNwKHQpKSx0LmZpbGw9Im5vbmUiKSxyJiYodC5yPXIpLGEuclNldHRlcj1mdW5jdGlvbih0LGUsaSl7YS5yPXQseChpLHtyeDp0LHJ5OnR9KX0sYS5yR2V0dGVyPWZ1bmN0aW9uKCl7cmV0dXJuIGEucnx8MH0sYS5hdHRyKHQpfSxpLnByb3RvdHlwZS5zZXRTaXplPWZ1bmN0aW9uKHQsZSxpKXt0aGlzLndpZHRoPXQsdGhpcy5oZWlnaHQ9ZSx0aGlzLmJveFdyYXBwZXIuYW5pbWF0ZSh7d2lkdGg6dCxoZWlnaHQ6ZX0se3N0ZXA6ZnVuY3Rpb24oKXt0aGlzLmF0dHIoe3ZpZXdCb3g6IjAgMCAiK3RoaXMuYXR0cigid2lkdGgiKSsiICIrdGhpcy5hdHRyKCJoZWlnaHQiKX0pfSxkdXJhdGlvbjpMKGksITApP3ZvaWQgMDowfSksdGhpcy5hbGlnbkVsZW1lbnRzKCl9LGkucHJvdG90eXBlLmc9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jcmVhdGVFbGVtZW50KCJnIik7cmV0dXJuIHQ/ZS5hdHRyKHtjbGFzczoiaGlnaGNoYXJ0cy0iK3R9KTplfSxpLnByb3RvdHlwZS5pbWFnZT1mdW5jdGlvbih0LGUsaSxuLHIsbyl7dmFyIGE9e3ByZXNlcnZlQXNwZWN0UmF0aW86Im5vbmUifSxzPWZ1bmN0aW9uKHQsZSl7dC5zZXRBdHRyaWJ1dGVOUz90LnNldEF0dHJpYnV0ZU5TKCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiwiaHJlZiIsZSk6dC5zZXRBdHRyaWJ1dGUoImhjLXN2Zy1ocmVmIixlKX07UChlKSYmKGEueD1lKSxQKGkpJiYoYS55PWkpLFAobikmJihhLndpZHRoPW4pLFAocikmJihhLmhlaWdodD1yKTt2YXIgYz10aGlzLmNyZWF0ZUVsZW1lbnQoImltYWdlIikuYXR0cihhKTtyZXR1cm4gZT1mdW5jdGlvbihlKXtzKGMuZWxlbWVudCx0KSxvLmNhbGwoYyxlKX0sbz8ocyhjLmVsZW1lbnQsImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBQUFBQUNINUJBRUtBQUVBTEFBQUFBQUJBQUVBQUFJQ1RBRUFPdz09IiksaT1uZXcgXy5JbWFnZSxiKGksImxvYWQiLGUpLGkuc3JjPXQsaS5jb21wbGV0ZSYmZSh7fSkpOnMoYy5lbGVtZW50LHQpLGN9LGkucHJvdG90eXBlLnN5bWJvbD1mdW5jdGlvbih0LGUsaSxuLHIsbyl7dmFyIGEscz10aGlzLGM9L151cmxcKCguKj8pXCkkLyxoPWMudGVzdCh0KSxwPSFoJiYodGhpcy5zeW1ib2xzW3RdP3Q6ImNpcmNsZSIpLHU9cCYmdGhpcy5zeW1ib2xzW3BdO2lmKHUpeyJudW1iZXIiPT09dHlwZW9mIGUmJihhPXUuY2FsbCh0aGlzLnN5bWJvbHMsTWF0aC5yb3VuZChlfHwwKSxNYXRoLnJvdW5kKGl8fDApLG58fDAscnx8MCxvKSk7dmFyIGY9dGhpcy5wYXRoKGEpO3Muc3R5bGVkTW9kZXx8Zi5hdHRyKCJmaWxsIiwibm9uZSIpLEEoZix7c3ltYm9sTmFtZTpwfHx2b2lkIDAseDplLHk6aSx3aWR0aDpuLGhlaWdodDpyfSksbyYmQShmLG8pfWVsc2UgaWYoaCl7dmFyIG09dC5tYXRjaChjKVsxXSxnPWY9dGhpcy5pbWFnZShtKTtnLmltZ3dpZHRoPUwoeVttXSYmeVttXS53aWR0aCxvJiZvLndpZHRoKSxnLmltZ2hlaWdodD1MKHlbbV0mJnlbbV0uaGVpZ2h0LG8mJm8uaGVpZ2h0KTt2YXIgdj1mdW5jdGlvbih0KXtyZXR1cm4gdC5hdHRyKHt3aWR0aDp0LndpZHRoLGhlaWdodDp0LmhlaWdodH0pfTtbIndpZHRoIiwiaGVpZ2h0Il0uZm9yRWFjaCgoZnVuY3Rpb24odCl7Z1t0KyJTZXR0ZXIiXT1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXNbImltZyIrZV07dGhpc1tlXT10LEMoaSkmJihvJiYid2l0aGluIj09PW8uYmFja2dyb3VuZFNpemUmJnRoaXMud2lkdGgmJnRoaXMuaGVpZ2h0JiYoaT1NYXRoLnJvdW5kKGkqTWF0aC5taW4odGhpcy53aWR0aC90aGlzLmltZ3dpZHRoLHRoaXMuaGVpZ2h0L3RoaXMuaW1naGVpZ2h0KSkpLHRoaXMuZWxlbWVudCYmdGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZShlLGkpLHRoaXMuYWxpZ25CeVRyYW5zbGF0ZXx8KHQ9KCh0aGlzW2VdfHwwKS1pKS8yLHRoaXMuYXR0cigid2lkdGgiPT09ZT97dHJhbnNsYXRlWDp0fTp7dHJhbnNsYXRlWTp0fSkpKX19KSksQyhlKSYmZy5hdHRyKHt4OmUseTppfSksZy5pc0ltZz0hMCxDKGcuaW1nd2lkdGgpJiZDKGcuaW1naGVpZ2h0KT92KGcpOihnLmF0dHIoe3dpZHRoOjAsaGVpZ2h0OjB9KSx3KCJpbWciLHtvbmxvYWQ6ZnVuY3Rpb24oKXt2YXIgdD1sW3MuY2hhcnRJbmRleF07MD09PXRoaXMud2lkdGgmJihrKHRoaXMse3Bvc2l0aW9uOiJhYnNvbHV0ZSIsdG9wOiItOTk5ZW0ifSksZC5ib2R5LmFwcGVuZENoaWxkKHRoaXMpKSx5W21dPXt3aWR0aDp0aGlzLndpZHRoLGhlaWdodDp0aGlzLmhlaWdodH0sZy5pbWd3aWR0aD10aGlzLndpZHRoLGcuaW1naGVpZ2h0PXRoaXMuaGVpZ2h0LGcuZWxlbWVudCYmdihnKSx0aGlzLnBhcmVudE5vZGUmJnRoaXMucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGlzKSxzLmltZ0NvdW50LS0scy5pbWdDb3VudHx8IXR8fHQuaGFzTG9hZGVkfHx0Lm9ubG9hZCgpfSxzcmM6bX0pLHRoaXMuaW1nQ291bnQrKyl9cmV0dXJuIGZ9LGkucHJvdG90eXBlLmNsaXBSZWN0PWZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByPUQoKSsiLSIsbz10aGlzLmNyZWF0ZUVsZW1lbnQoImNsaXBQYXRoIikuYXR0cih7aWQ6cn0pLmFkZCh0aGlzLmRlZnMpO3JldHVybiB0PXRoaXMucmVjdCh0LGUsaSxuLDApLmFkZChvKSx0LmlkPXIsdC5jbGlwUGF0aD1vLHQuY291bnQ9MCx0fSxpLnByb3RvdHlwZS50ZXh0PWZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByPXt9O3JldHVybiFufHwhdGhpcy5hbGxvd0hUTUwmJnRoaXMuZm9yRXhwb3J0PyhyLng9TWF0aC5yb3VuZChlfHwwKSxpJiYoci55PU1hdGgucm91bmQoaSkpLEModCkmJihyLnRleHQ9dCksdD10aGlzLmNyZWF0ZUVsZW1lbnQoInRleHQiKS5hdHRyKHIpLCghbnx8dGhpcy5mb3JFeHBvcnQmJiF0aGlzLmFsbG93SFRNTCkmJih0LnhTZXR0ZXI9ZnVuY3Rpb24odCxlLGkpe2Zvcih2YXIgbixyPWkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRzcGFuIiksbz1pLmdldEF0dHJpYnV0ZShlKSxhPTA7YTxyLmxlbmd0aDthKyspbj1yW2FdLG4uZ2V0QXR0cmlidXRlKGUpPT09byYmbi5zZXRBdHRyaWJ1dGUoZSx0KTtpLnNldEF0dHJpYnV0ZShlLHQpfSksdCk6dGhpcy5odG1sKHQsZSxpKX0saS5wcm90b3R5cGUuZm9udE1ldHJpY3M9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD0hdGhpcy5zdHlsZWRNb2RlJiYvcHgvLnRlc3QodCl8fCFfLmdldENvbXB1dGVkU3R5bGU/dHx8ZSYmZS5zdHlsZSYmZS5zdHlsZS5mb250U2l6ZXx8dGhpcy5zdHlsZSYmdGhpcy5zdHlsZS5mb250U2l6ZTplJiZyLnByb3RvdHlwZS5nZXRTdHlsZS5jYWxsKGUsImZvbnQtc2l6ZSIpLHQ9L3B4Ly50ZXN0KHQpP2oodCk6MTIsZT0yND50P3QrMzpNYXRoLnJvdW5kKDEuMip0KSx7aDplLGI6TWF0aC5yb3VuZCguOCplKSxmOnR9fSxpLnByb3RvdHlwZS5yb3RDb3JyPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10O3JldHVybiBlJiZpJiYobj1NYXRoLm1heChuKk1hdGguY29zKGUqcCksNCkpLHt4Oi10LzMqTWF0aC5zaW4oZSpwKSx5Om59fSxpLnByb3RvdHlwZS5wYXRoVG9TZWdtZW50cz1mdW5jdGlvbih0KXtmb3IodmFyIGU9W10saT1bXSxuPXtBOjgsQzo3LEg6MixMOjMsTTozLFE6NSxTOjUsVDozLFY6Mn0scj0wO3I8dC5sZW5ndGg7cisrKVQoaVswXSkmJlAodFtyXSkmJmkubGVuZ3RoPT09bltpWzBdLnRvVXBwZXJDYXNlKCldJiZ0LnNwbGljZShyLDAsaVswXS5yZXBsYWNlKCJNIiwiTCIpLnJlcGxhY2UoIm0iLCJsIikpLCJzdHJpbmciPT09dHlwZW9mIHRbcl0mJihpLmxlbmd0aCYmZS5wdXNoKGkuc2xpY2UoMCkpLGkubGVuZ3RoPTApLGkucHVzaCh0W3JdKTtyZXR1cm4gZS5wdXNoKGkuc2xpY2UoMCkpLGV9LGkucHJvdG90eXBlLmxhYmVsPWZ1bmN0aW9uKHQsZSxpLG4scixhLHMsYyxoKXtyZXR1cm4gbmV3IG8odGhpcyx0LGUsaSxuLHIsYSxzLGMsaCl9LGkucHJvdG90eXBlLmFsaWduRWxlbWVudHM9ZnVuY3Rpb24oKXt0aGlzLmFsaWduZWRPYmplY3RzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiB0LmFsaWduKCl9KSl9LGl9KCksQShpLnByb3RvdHlwZSx7RWxlbWVudDpyLFNWR19OUzp2LGVzY2FwZXM6eyImIjoiJmFtcDsiLCI8IjoiJmx0OyIsIj4iOiImZ3Q7IiwiJyI6IiYjMzk7IiwnIic6IiZxdW90OyJ9LHN5bWJvbHM6YSxkcmF3Omd9KSxuLnJlZ2lzdGVyUmVuZGVyZXJUeXBlKCJzdmciLGksITApLGl9KSksZShpLCJDb3JlL1JlbmRlcmVyL0hUTUwvSFRNTEVsZW1lbnQuanMiLFtpWyJDb3JlL0dsb2JhbHMuanMiXSxpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdFbGVtZW50LmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbihlLGkpe3JldHVybiB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHkoaSkmJih0W2ldPWVbaV0pfSx0KGUsaSl9O3JldHVybiBmdW5jdGlvbihlLGkpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLGkpLGUucHJvdG90eXBlPW51bGw9PT1pP09iamVjdC5jcmVhdGUoaSk6KG4ucHJvdG90eXBlPWkucHJvdG90eXBlLG5ldyBuKX19KCkscj10LmlzRmlyZWZveCxvPXQuaXNNUyxhPXQuaXNXZWJLaXQscz10LndpbixjPWkuY3NzLGg9aS5kZWZpbmVkLGw9aS5leHRlbmQscD1pLnBpY2ssZD1pLnBJbnQ7cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gbnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiBuKGUsdCksZS5jb21wb3NlPWZ1bmN0aW9uKHQpe2lmKC0xPT09ZS5jb21wb3NlZENsYXNzZXMuaW5kZXhPZih0KSl7ZS5jb21wb3NlZENsYXNzZXMucHVzaCh0KTt2YXIgaT1lLnByb3RvdHlwZSxuPXQucHJvdG90eXBlO24uZ2V0U3BhbkNvcnJlY3Rpb249aS5nZXRTcGFuQ29ycmVjdGlvbixuLmh0bWxDc3M9aS5odG1sQ3NzLG4uaHRtbEdldEJCb3g9aS5odG1sR2V0QkJveCxuLmh0bWxVcGRhdGVUcmFuc2Zvcm09aS5odG1sVXBkYXRlVHJhbnNmb3JtLG4uc2V0U3BhblJvdGF0aW9uPWkuc2V0U3BhblJvdGF0aW9ufXJldHVybiB0fSxlLnByb3RvdHlwZS5nZXRTcGFuQ29ycmVjdGlvbj1mdW5jdGlvbih0LGUsaSl7dGhpcy54Q29ycj0tdCppLHRoaXMueUNvcnI9LWV9LGUucHJvdG90eXBlLmh0bWxDc3M9ZnVuY3Rpb24odCl7dmFyIGU9IlNQQU4iPT09dGhpcy5lbGVtZW50LnRhZ05hbWUmJnQmJiJ3aWR0aCJpbiB0LGk9cChlJiZ0LndpZHRoLHZvaWQgMCk7aWYoZSl7ZGVsZXRlIHQud2lkdGgsdGhpcy50ZXh0V2lkdGg9aTt2YXIgbj0hMH1yZXR1cm4gdCYmImVsbGlwc2lzIj09PXQudGV4dE92ZXJmbG93JiYodC53aGl0ZVNwYWNlPSJub3dyYXAiLHQub3ZlcmZsb3c9ImhpZGRlbiIpLHRoaXMuc3R5bGVzPWwodGhpcy5zdHlsZXMsdCksYyh0aGlzLmVsZW1lbnQsdCksbiYmdGhpcy5odG1sVXBkYXRlVHJhbnNmb3JtKCksdGhpc30sZS5wcm90b3R5cGUuaHRtbEdldEJCb3g9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmVsZW1lbnQ7cmV0dXJue3g6dC5vZmZzZXRMZWZ0LHk6dC5vZmZzZXRUb3Asd2lkdGg6dC5vZmZzZXRXaWR0aCxoZWlnaHQ6dC5vZmZzZXRIZWlnaHR9fSxlLnByb3RvdHlwZS5odG1sVXBkYXRlVHJhbnNmb3JtPWZ1bmN0aW9uKCl7aWYodGhpcy5hZGRlZCl7dmFyIHQ9dGhpcy5yZW5kZXJlcixlPXRoaXMuZWxlbWVudCxpPXRoaXMudHJhbnNsYXRlWHx8MCxuPXRoaXMudHJhbnNsYXRlWXx8MCxyPXRoaXMueHx8MCxvPXRoaXMueXx8MCxhPXRoaXMudGV4dEFsaWdufHwibGVmdCIscz17bGVmdDowLGNlbnRlcjouNSxyaWdodDoxfVthXSxsPXRoaXMuc3R5bGVzO2lmKGw9bCYmbC53aGl0ZVNwYWNlLGMoZSx7bWFyZ2luTGVmdDppLG1hcmdpblRvcDpufSksIXQuc3R5bGVkTW9kZSYmdGhpcy5zaGFkb3dzJiZ0aGlzLnNoYWRvd3MuZm9yRWFjaCgoZnVuY3Rpb24odCl7Yyh0LHttYXJnaW5MZWZ0OmkrMSxtYXJnaW5Ub3A6bisxfSl9KSksdGhpcy5pbnZlcnRlZCYmW10uZm9yRWFjaC5jYWxsKGUuY2hpbGROb2RlcywoZnVuY3Rpb24oaSl7dC5pbnZlcnRDaGlsZChpLGUpfSkpLCJTUEFOIj09PWUudGFnTmFtZSl7dmFyIHA9dGhpcy5yb3RhdGlvbix1PXRoaXMudGV4dFdpZHRoJiZkKHRoaXMudGV4dFdpZHRoKSxmPVtwLGEsZS5pbm5lckhUTUwsdGhpcy50ZXh0V2lkdGgsdGhpcy50ZXh0QWxpZ25dLmpvaW4oKSxtPXZvaWQgMDtpZihtPSExLHUhPT10aGlzLm9sZFRleHRXaWR0aCl7aWYodGhpcy50ZXh0UHhMZW5ndGgpdmFyIGc9dGhpcy50ZXh0UHhMZW5ndGg7ZWxzZSBjKGUse3dpZHRoOiIiLHdoaXRlU3BhY2U6bHx8Im5vd3JhcCJ9KSxnPWUub2Zmc2V0V2lkdGg7KHU+dGhpcy5vbGRUZXh0V2lkdGh8fGc+dSkmJigvWyBcLV0vLnRlc3QoZS50ZXh0Q29udGVudHx8ZS5pbm5lclRleHQpfHwiZWxsaXBzaXMiPT09ZS5zdHlsZS50ZXh0T3ZlcmZsb3cpJiYoYyhlLHt3aWR0aDpnPnV8fHA/dSsicHgiOiJhdXRvIixkaXNwbGF5OiJibG9jayIsd2hpdGVTcGFjZTpsfHwibm9ybWFsIn0pLHRoaXMub2xkVGV4dFdpZHRoPXUsbT0hMCl9dGhpcy5oYXNCb3hXaWR0aENoYW5nZWQ9bSxmIT09dGhpcy5jVFQmJihtPXQuZm9udE1ldHJpY3MoZS5zdHlsZS5mb250U2l6ZSxlKS5iLCFoKHApfHxwPT09KHRoaXMub2xkUm90YXRpb258fDApJiZhPT09dGhpcy5vbGRBbGlnbnx8dGhpcy5zZXRTcGFuUm90YXRpb24ocCxzLG0pLHRoaXMuZ2V0U3BhbkNvcnJlY3Rpb24oIWgocCkmJnRoaXMudGV4dFB4TGVuZ3RofHxlLm9mZnNldFdpZHRoLG0scyxwLGEpKSxjKGUse2xlZnQ6cisodGhpcy54Q29ycnx8MCkrInB4Iix0b3A6bysodGhpcy55Q29ycnx8MCkrInB4In0pLHRoaXMuY1RUPWYsdGhpcy5vbGRSb3RhdGlvbj1wLHRoaXMub2xkQWxpZ249YX19ZWxzZSB0aGlzLmFsaWduT25BZGQ9ITB9LGUucHJvdG90eXBlLnNldFNwYW5Sb3RhdGlvbj1mdW5jdGlvbih0LGUsaSl7dmFyIG49e30saD1vJiYhL0VkZ2UvLnRlc3Qocy5uYXZpZ2F0b3IudXNlckFnZW50KT8iLW1zLXRyYW5zZm9ybSI6YT8iLXdlYmtpdC10cmFuc2Zvcm0iOnI/Ik1velRyYW5zZm9ybSI6cy5vcGVyYT8iLW8tdHJhbnNmb3JtIjp2b2lkIDA7aCYmKG5baF09bi50cmFuc2Zvcm09InJvdGF0ZSgiK3QrImRlZykiLG5baCsocj8iT3JpZ2luIjoiLW9yaWdpbiIpXT1uLnRyYW5zZm9ybU9yaWdpbj0xMDAqZSsiJSAiK2krInB4IixjKHRoaXMuZWxlbWVudCxuKSl9LGUuY29tcG9zZWRDbGFzc2VzPVtdLGV9KGUpfSkpLGUoaSwiQ29yZS9SZW5kZXJlci9IVE1ML0hUTUxSZW5kZXJlci5qcyIsW2lbIkNvcmUvUmVuZGVyZXIvSFRNTC9BU1QuanMiXSxpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdFbGVtZW50LmpzIl0saVsiQ29yZS9SZW5kZXJlci9TVkcvU1ZHUmVuZGVyZXIuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbil7dmFyIHI9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gZSllLmhhc093blByb3BlcnR5KGkpJiYodFtpXT1lW2ldKX0sdChlLGkpfTtyZXR1cm4gZnVuY3Rpb24oZSxpKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXQoZSxpKSxlLnByb3RvdHlwZT1udWxsPT09aT9PYmplY3QuY3JlYXRlKGkpOihuLnByb3RvdHlwZT1pLnByb3RvdHlwZSxuZXcgbil9fSgpLG89bi5hdHRyLGE9bi5jcmVhdGVFbGVtZW50LHM9bi5leHRlbmQsYz1uLnBpY2s7cmV0dXJuIGZ1bmN0aW9uKGkpe2Z1bmN0aW9uIG4oKXtyZXR1cm4gbnVsbCE9PWkmJmkuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzfXJldHVybiByKG4saSksbi5jb21wb3NlPWZ1bmN0aW9uKHQpe3JldHVybi0xPT09bi5jb21wb3NlZENsYXNzZXMuaW5kZXhPZih0KSYmKG4uY29tcG9zZWRDbGFzc2VzLnB1c2godCksdC5wcm90b3R5cGUuaHRtbD1uLnByb3RvdHlwZS5odG1sKSx0fSxuLnByb3RvdHlwZS5odG1sPWZ1bmN0aW9uKGksbixyKXt2YXIgaD10aGlzLmNyZWF0ZUVsZW1lbnQoInNwYW4iKSxsPWguZWxlbWVudCxwPWgucmVuZGVyZXIsZD1wLmlzU1ZHLHU9ZnVuY3Rpb24odCxpKXtbIm9wYWNpdHkiLCJ2aXNpYmlsaXR5Il0uZm9yRWFjaCgoZnVuY3Rpb24obil7dFtuKyJTZXR0ZXIiXT1mdW5jdGlvbihyLG8sYSl7dmFyIHM9dC5kaXY/dC5kaXYuc3R5bGU6aTtlLnByb3RvdHlwZVtuKyJTZXR0ZXIiXS5jYWxsKHRoaXMscixvLGEpLHMmJihzW29dPXIpfX0pKSx0LmFkZGVkU2V0dGVycz0hMH07cmV0dXJuIGgudGV4dFNldHRlcj1mdW5jdGlvbihlKXtlIT09dGhpcy50ZXh0U3RyJiYoZGVsZXRlIHRoaXMuYkJveCxkZWxldGUgdGhpcy5vbGRUZXh0V2lkdGgsdC5zZXRFbGVtZW50SFRNTCh0aGlzLmVsZW1lbnQsYyhlLCIiKSksdGhpcy50ZXh0U3RyPWUsaC5kb1RyYW5zZm9ybT0hMCl9LGQmJnUoaCxoLmVsZW1lbnQuc3R5bGUpLGgueFNldHRlcj1oLnlTZXR0ZXI9aC5hbGlnblNldHRlcj1oLnJvdGF0aW9uU2V0dGVyPWZ1bmN0aW9uKHQsZSl7ImFsaWduIj09PWU/aC5hbGlnblZhbHVlPWgudGV4dEFsaWduPXQ6aFtlXT10LGguZG9UcmFuc2Zvcm09ITB9LGguYWZ0ZXJTZXR0ZXJzPWZ1bmN0aW9uKCl7dGhpcy5kb1RyYW5zZm9ybSYmKHRoaXMuaHRtbFVwZGF0ZVRyYW5zZm9ybSgpLHRoaXMuZG9UcmFuc2Zvcm09ITEpfSxoLmF0dHIoe3RleHQ6aSx4Ok1hdGgucm91bmQobikseTpNYXRoLnJvdW5kKHIpfSkuY3NzKHtwb3NpdGlvbjoiYWJzb2x1dGUifSkscC5zdHlsZWRNb2RlfHxoLmNzcyh7Zm9udEZhbWlseTp0aGlzLnN0eWxlLmZvbnRGYW1pbHksZm9udFNpemU6dGhpcy5zdHlsZS5mb250U2l6ZX0pLGwuc3R5bGUud2hpdGVTcGFjZT0ibm93cmFwIixoLmNzcz1oLmh0bWxDc3MsZCYmKGguYWRkPWZ1bmN0aW9uKHQpe3ZhciBlPXAuYm94LnBhcmVudE5vZGUsaT1bXTtpZih0aGlzLnBhcmVudEdyb3VwPXQpe3ZhciBuPXQuZGl2O2lmKCFuKXtmb3IoO3Q7KWkucHVzaCh0KSx0PXQucGFyZW50R3JvdXA7aS5yZXZlcnNlKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZnVuY3Rpb24gcihlLGkpe3RbaV09ZSwidHJhbnNsYXRlWCI9PT1pP3AubGVmdD1lKyJweCI6cC50b3A9ZSsicHgiLHQuZG9UcmFuc2Zvcm09ITB9dmFyIGM9byh0LmVsZW1lbnQsImNsYXNzIiksbD10LnN0eWxlc3x8e307bj10LmRpdj10LmRpdnx8YSgiZGl2IixjP3tjbGFzc05hbWU6Y306dm9pZCAwLHtwb3NpdGlvbjoiYWJzb2x1dGUiLGxlZnQ6KHQudHJhbnNsYXRlWHx8MCkrInB4Iix0b3A6KHQudHJhbnNsYXRlWXx8MCkrInB4IixkaXNwbGF5OnQuZGlzcGxheSxvcGFjaXR5OnQub3BhY2l0eSxjdXJzb3I6bC5jdXJzb3IscG9pbnRlckV2ZW50czpsLnBvaW50ZXJFdmVudHMsdmlzaWJpbGl0eTp0LnZpc2liaWxpdHl9LG58fGUpO3ZhciBwPW4uc3R5bGU7cyh0LHtjbGFzc1NldHRlcjpmdW5jdGlvbih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dGhpcy5lbGVtZW50LnNldEF0dHJpYnV0ZSgiY2xhc3MiLGUpLHQuY2xhc3NOYW1lPWV9fShuKSxvbjpmdW5jdGlvbigpe3JldHVybiBpWzBdLmRpdiYmaC5vbi5hcHBseSh7ZWxlbWVudDppWzBdLmRpdixvbkV2ZW50czp0Lm9uRXZlbnRzfSxhcmd1bWVudHMpLHR9LHRyYW5zbGF0ZVhTZXR0ZXI6cix0cmFuc2xhdGVZU2V0dGVyOnJ9KSx0LmFkZGVkU2V0dGVyc3x8dSh0KX0pKX19ZWxzZSBuPWU7cmV0dXJuIG4uYXBwZW5kQ2hpbGQobCksaC5hZGRlZD0hMCxoLmFsaWduT25BZGQmJmguaHRtbFVwZGF0ZVRyYW5zZm9ybSgpLGh9KSxofSxuLmNvbXBvc2VkQ2xhc3Nlcz1bXSxufShpKX0pKSxlKGksIkNvcmUvQXhpcy9BeGlzRGVmYXVsdHMuanMiLFtdLChmdW5jdGlvbigpe3ZhciB0O3JldHVybiBmdW5jdGlvbih0KXt0LmRlZmF1bHRYQXhpc09wdGlvbnM9e2FsaWduVGlja3M6ITAsYWxsb3dEZWNpbWFsczp2b2lkIDAscGFubmluZ0VuYWJsZWQ6ITAsekluZGV4OjIsem9vbUVuYWJsZWQ6ITAsZGF0ZVRpbWVMYWJlbEZvcm1hdHM6e21pbGxpc2Vjb25kOnttYWluOiIlSDolTTolUy4lTCIscmFuZ2U6ITF9LHNlY29uZDp7bWFpbjoiJUg6JU06JVMiLHJhbmdlOiExfSxtaW51dGU6e21haW46IiVIOiVNIixyYW5nZTohMX0saG91cjp7bWFpbjoiJUg6JU0iLHJhbmdlOiExfSxkYXk6e21haW46IiVlLiAlYiJ9LHdlZWs6e21haW46IiVlLiAlYiJ9LG1vbnRoOnttYWluOiIlYiAnJXkifSx5ZWFyOnttYWluOiIlWSJ9fSxlbmRPblRpY2s6ITEsZ3JpZExpbmVEYXNoU3R5bGU6IlNvbGlkIixncmlkWkluZGV4OjEsbGFiZWxzOnthdXRvUm90YXRpb246dm9pZCAwLGF1dG9Sb3RhdGlvbkxpbWl0OjgwLGRpc3RhbmNlOnZvaWQgMCxlbmFibGVkOiEwLGluZGVudGF0aW9uOjEwLG92ZXJmbG93OiJqdXN0aWZ5IixwYWRkaW5nOjUscmVzZXJ2ZVNwYWNlOnZvaWQgMCxyb3RhdGlvbjp2b2lkIDAsc3RhZ2dlckxpbmVzOjAsc3RlcDowLHVzZUhUTUw6ITEseDowLHpJbmRleDo3LHN0eWxlOntjb2xvcjoiIzY2NjY2NiIsY3Vyc29yOiJkZWZhdWx0Iixmb250U2l6ZToiMTFweCJ9fSxtYXhQYWRkaW5nOi4wMSxtaW5vckdyaWRMaW5lRGFzaFN0eWxlOiJTb2xpZCIsbWlub3JUaWNrTGVuZ3RoOjIsbWlub3JUaWNrUG9zaXRpb246Im91dHNpZGUiLG1pblBhZGRpbmc6LjAxLG9mZnNldDp2b2lkIDAsb3Bwb3NpdGU6ITEscmV2ZXJzZWQ6dm9pZCAwLHJldmVyc2VkU3RhY2tzOiExLHNob3dFbXB0eTohMCxzaG93Rmlyc3RMYWJlbDohMCxzaG93TGFzdExhYmVsOiEwLHN0YXJ0T2ZXZWVrOjEsc3RhcnRPblRpY2s6ITEsdGlja0xlbmd0aDoxMCx0aWNrUGl4ZWxJbnRlcnZhbDoxMDAsdGlja21hcmtQbGFjZW1lbnQ6ImJldHdlZW4iLHRpY2tQb3NpdGlvbjoib3V0c2lkZSIsdGl0bGU6e2FsaWduOiJtaWRkbGUiLHJvdGF0aW9uOjAsdXNlSFRNTDohMSx4OjAseTowLHN0eWxlOntjb2xvcjoiIzY2NjY2NiJ9fSx0eXBlOiJsaW5lYXIiLHVuaXF1ZU5hbWVzOiEwLHZpc2libGU6ITAsbWlub3JHcmlkTGluZUNvbG9yOiIjZjJmMmYyIixtaW5vckdyaWRMaW5lV2lkdGg6MSxtaW5vclRpY2tDb2xvcjoiIzk5OTk5OSIsbGluZUNvbG9yOiIjY2NkNmViIixsaW5lV2lkdGg6MSxncmlkTGluZUNvbG9yOiIjZTZlNmU2IixncmlkTGluZVdpZHRoOnZvaWQgMCx0aWNrQ29sb3I6IiNjY2Q2ZWIifSx0LmRlZmF1bHRZQXhpc09wdGlvbnM9e3JldmVyc2VkU3RhY2tzOiEwLGVuZE9uVGljazohMCxtYXhQYWRkaW5nOi4wNSxtaW5QYWRkaW5nOi4wNSx0aWNrUGl4ZWxJbnRlcnZhbDo3MixzaG93TGFzdExhYmVsOiEwLGxhYmVsczp7eDotOH0sc3RhcnRPblRpY2s6ITAsdGl0bGU6e3JvdGF0aW9uOjI3MCx0ZXh0OiJWYWx1ZXMifSxzdGFja0xhYmVsczp7YW5pbWF0aW9uOnt9LGFsbG93T3ZlcmxhcDohMSxlbmFibGVkOiExLGNyb3A6ITAsb3ZlcmZsb3c6Imp1c3RpZnkiLGZvcm1hdHRlcjpmdW5jdGlvbigpe3ZhciB0PXRoaXMuYXhpcy5jaGFydC5udW1iZXJGb3JtYXR0ZXI7cmV0dXJuIHQodGhpcy50b3RhbCwtMSl9LHN0eWxlOntjb2xvcjoiIzAwMDAwMCIsZm9udFNpemU6IjExcHgiLGZvbnRXZWlnaHQ6ImJvbGQiLHRleHRPdXRsaW5lOiIxcHggY29udHJhc3QifX0sZ3JpZExpbmVXaWR0aDoxLGxpbmVXaWR0aDowfSx0LmRlZmF1bHRMZWZ0QXhpc09wdGlvbnM9e2xhYmVsczp7eDotMTV9LHRpdGxlOntyb3RhdGlvbjoyNzB9fSx0LmRlZmF1bHRSaWdodEF4aXNPcHRpb25zPXtsYWJlbHM6e3g6MTV9LHRpdGxlOntyb3RhdGlvbjo5MH19LHQuZGVmYXVsdEJvdHRvbUF4aXNPcHRpb25zPXtsYWJlbHM6e2F1dG9Sb3RhdGlvbjpbLTQ1XSx4OjB9LG1hcmdpbjoxNSx0aXRsZTp7cm90YXRpb246MH19LHQuZGVmYXVsdFRvcEF4aXNPcHRpb25zPXtsYWJlbHM6e2F1dG9Sb3RhdGlvbjpbLTQ1XSx4OjB9LG1hcmdpbjoxNSx0aXRsZTp7cm90YXRpb246MH19fSh0fHwodD17fSkpLHR9KSksZShpLCJDb3JlL0ZvdW5kYXRpb24uanMiLFtpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCl7dmFyIGUsaT10LmFkZEV2ZW50LG49dC5pc0Z1bmN0aW9uLHI9dC5vYmplY3RFYWNoLG89dC5yZW1vdmVFdmVudDtyZXR1cm4gZnVuY3Rpb24odCl7dC5yZWdpc3RlckV2ZW50T3B0aW9ucz1mdW5jdGlvbih0LGUpe3QuZXZlbnRPcHRpb25zPXQuZXZlbnRPcHRpb25zfHx7fSxyKGUuZXZlbnRzLChmdW5jdGlvbihlLHIpe3QuZXZlbnRPcHRpb25zW3JdIT09ZSYmKHQuZXZlbnRPcHRpb25zW3JdJiYobyh0LHIsdC5ldmVudE9wdGlvbnNbcl0pLGRlbGV0ZSB0LmV2ZW50T3B0aW9uc1tyXSksbihlKSYmKHQuZXZlbnRPcHRpb25zW3JdPWUsaSh0LHIsZSkpKX0pKX19KGV8fChlPXt9KSksZX0pKSxlKGksIkNvcmUvQXhpcy9UaWNrLmpzIixbaVsiQ29yZS9Gb3JtYXRVdGlsaXRpZXMuanMiXSxpWyJDb3JlL0dsb2JhbHMuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGkpe3ZhciBuPWUuZGVnMnJhZCxyPWkuY2xhbXAsbz1pLmNvcnJlY3RGbG9hdCxhPWkuZGVmaW5lZCxzPWkuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsYz1pLmV4dGVuZCxoPWkuZmlyZUV2ZW50LGw9aS5pc051bWJlcixwPWkubWVyZ2UsZD1pLm9iamVjdEVhY2gsdT1pLnBpY2s7cmV0dXJuIGU9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQsZSxpLG4scil7dGhpcy5pc05ld0xhYmVsPXRoaXMuaXNOZXc9ITAsdGhpcy5heGlzPXQsdGhpcy5wb3M9ZSx0aGlzLnR5cGU9aXx8IiIsdGhpcy5wYXJhbWV0ZXJzPXJ8fHt9LHRoaXMudGlja21hcmtPZmZzZXQ9dGhpcy5wYXJhbWV0ZXJzLnRpY2ttYXJrT2Zmc2V0LHRoaXMub3B0aW9ucz10aGlzLnBhcmFtZXRlcnMub3B0aW9ucyxoKHRoaXMsImluaXQiKSxpfHxufHx0aGlzLmFkZExhYmVsKCl9cmV0dXJuIGUucHJvdG90eXBlLmFkZExhYmVsPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxpPWUuYXhpcyxuPWkub3B0aW9ucyxyPWkuY2hhcnQscz1pLmNhdGVnb3JpZXMscD1pLmxvZ2FyaXRobWljLGQ9aS5uYW1lcyxmPWUucG9zLG09dShlLm9wdGlvbnMmJmUub3B0aW9ucy5sYWJlbHMsbi5sYWJlbHMpLGc9aS50aWNrUG9zaXRpb25zLHY9Zj09PWdbMF0seT1mPT09Z1tnLmxlbmd0aC0xXSxfPSghbS5zdGVwfHwxPT09bS5zdGVwKSYmMT09PWkudGlja0ludGVydmFsO2c9Zy5pbmZvO3ZhciBiLHg9ZS5sYWJlbDtpZihzPXRoaXMucGFyYW1ldGVycy5jYXRlZ29yeXx8KHM/dShzW2ZdLGRbZl0sZik6ZikscCYmbChzKSYmKHM9byhwLmxpbjJsb2cocykpKSxpLmRhdGVUaW1lKWlmKGcpdmFyIHc9ci50aW1lLnJlc29sdmVEVExGb3JtYXQobi5kYXRlVGltZUxhYmVsRm9ybWF0c1shbi5ncmlkJiZnLmhpZ2hlclJhbmtzW2ZdfHxnLnVuaXROYW1lXSksaz13Lm1haW47ZWxzZSBsKHMpJiYoaz1pLmRhdGVUaW1lLmdldFhEYXRlRm9ybWF0KHMsbi5kYXRlVGltZUxhYmVsRm9ybWF0c3x8e30pKTtlLmlzRmlyc3Q9dixlLmlzTGFzdD15O3ZhciBDPXtheGlzOmksY2hhcnQ6cixkYXRlVGltZUxhYmVsRm9ybWF0OmssaXNGaXJzdDp2LGlzTGFzdDp5LHBvczpmLHRpY2s6ZSx0aWNrUG9zaXRpb25JbmZvOmcsdmFsdWU6c307aCh0aGlzLCJsYWJlbEZvcm1hdCIsQyk7dmFyIFM9ZnVuY3Rpb24oZSl7cmV0dXJuIG0uZm9ybWF0dGVyP20uZm9ybWF0dGVyLmNhbGwoZSxlKTptLmZvcm1hdD8oZS50ZXh0PWkuZGVmYXVsdExhYmVsRm9ybWF0dGVyLmNhbGwoZSksdC5mb3JtYXQobS5mb3JtYXQsZSxyKSk6aS5kZWZhdWx0TGFiZWxGb3JtYXR0ZXIuY2FsbChlLGUpfTtuPVMuY2FsbChDLEMpO3ZhciBBPXcmJncubGlzdDtlLnNob3J0ZW5MYWJlbD1BP2Z1bmN0aW9uKCl7Zm9yKGI9MDtiPEEubGVuZ3RoO2IrKylpZihjKEMse2RhdGVUaW1lTGFiZWxGb3JtYXQ6QVtiXX0pLHguYXR0cih7dGV4dDpTLmNhbGwoQyxDKX0pLHguZ2V0QkJveCgpLndpZHRoPGkuZ2V0U2xvdFdpZHRoKGUpLTIqbS5wYWRkaW5nKXJldHVybjt4LmF0dHIoe3RleHQ6IiJ9KX06dm9pZCAwLF8mJmkuX2FkZGVkUGxvdExCJiZlLm1vdmVMYWJlbChuLG0pLGEoeCl8fGUubW92ZWRMYWJlbD94JiZ4LnRleHRTdHIhPT1uJiYhXyYmKCF4LnRleHRXaWR0aHx8bS5zdHlsZS53aWR0aHx8eC5zdHlsZXMud2lkdGh8fHguY3NzKHt3aWR0aDpudWxsfSkseC5hdHRyKHt0ZXh0Om59KSx4LnRleHRQeExlbmd0aD14LmdldEJCb3goKS53aWR0aCk6KGUubGFiZWw9eD1lLmNyZWF0ZUxhYmVsKHt4OjAseTowfSxuLG0pLGUucm90YXRpb249MCl9LGUucHJvdG90eXBlLmNyZWF0ZUxhYmVsPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzLmF4aXMscj1uLmNoYXJ0O3JldHVybih0PWEoZSkmJmkuZW5hYmxlZD9yLnJlbmRlcmVyLnRleHQoZSx0LngsdC55LGkudXNlSFRNTCkuYWRkKG4ubGFiZWxHcm91cCk6bnVsbCkmJihyLnN0eWxlZE1vZGV8fHQuY3NzKHAoaS5zdHlsZSkpLHQudGV4dFB4TGVuZ3RoPXQuZ2V0QkJveCgpLndpZHRoKSx0fSxlLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7cyh0aGlzLHRoaXMuYXhpcyl9LGUucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKHQsZSxpLG4pe3ZhciBhPXRoaXMuYXhpcyxzPWEuY2hhcnQsYz1uJiZzLm9sZENoYXJ0SGVpZ2h0fHxzLmNoYXJ0SGVpZ2h0O3JldHVybiB0PXt4OnQ/byhhLnRyYW5zbGF0ZShlK2ksbnVsbCxudWxsLG4pK2EudHJhbnNCKTphLmxlZnQrYS5vZmZzZXQrKGEub3Bwb3NpdGU/KG4mJnMub2xkQ2hhcnRXaWR0aHx8cy5jaGFydFdpZHRoKS1hLnJpZ2h0LWEubGVmdDowKSx5OnQ/Yy1hLmJvdHRvbSthLm9mZnNldC0oYS5vcHBvc2l0ZT9hLmhlaWdodDowKTpvKGMtYS50cmFuc2xhdGUoZStpLG51bGwsbnVsbCxuKS1hLnRyYW5zQil9LHQueT1yKHQueSwtMWU1LDFlNSksaCh0aGlzLCJhZnRlckdldFBvc2l0aW9uIix7cG9zOnR9KSx0fSxlLnByb3RvdHlwZS5nZXRMYWJlbFBvc2l0aW9uPWZ1bmN0aW9uKHQsZSxpLHIsbyxzLGMsbCl7dmFyIHA9dGhpcy5heGlzLGQ9cC50cmFuc0EsdT1wLmlzTGlua2VkJiZwLmxpbmtlZFBhcmVudD9wLmxpbmtlZFBhcmVudC5yZXZlcnNlZDpwLnJldmVyc2VkLGY9cC5zdGFnZ2VyTGluZXMsbT1wLnRpY2tSb3RDb3JyfHx7eDowLHk6MH0sZz1yfHxwLnJlc2VydmVTcGFjZURlZmF1bHQ/MDotcC5sYWJlbE9mZnNldCooImNlbnRlciI9PT1wLmxhYmVsQWxpZ24/LjU6MSksdj17fSx5PW8ueTtyZXR1cm4gYSh5KXx8KHk9MD09PXAuc2lkZT9pLnJvdGF0aW9uPy04Oi1pLmdldEJCb3goKS5oZWlnaHQ6Mj09PXAuc2lkZT9tLnkrODpNYXRoLmNvcyhpLnJvdGF0aW9uKm4pKihtLnktaS5nZXRCQm94KCExLDApLmhlaWdodC8yKSksdD10K28ueCtnK20ueC0ocyYmcj9zKmQqKHU/LTE6MSk6MCksZT1lK3ktKHMmJiFyP3MqZCoodT8xOi0xKTowKSxmJiYoaT1jLyhsfHwxKSVmLHAub3Bwb3NpdGUmJihpPWYtaS0xKSxlKz1wLmxhYmVsT2Zmc2V0L2YqaSksdi54PXQsdi55PU1hdGgucm91bmQoZSksaCh0aGlzLCJhZnRlckdldExhYmVsUG9zaXRpb24iLHtwb3M6dix0aWNrbWFya09mZnNldDpzLGluZGV4OmN9KSx2fSxlLnByb3RvdHlwZS5nZXRMYWJlbFNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5sYWJlbD90aGlzLmxhYmVsLmdldEJCb3goKVt0aGlzLmF4aXMuaG9yaXo/ImhlaWdodCI6IndpZHRoIl06MH0sZS5wcm90b3R5cGUuZ2V0TWFya1BhdGg9ZnVuY3Rpb24odCxlLGksbixyLG8pe3JldHVybiBvLmNyaXNwTGluZShbWyJNIix0LGVdLFsiTCIsdCsocj8wOi1pKSxlKyhyP2k6MCldXSxuKX0sZS5wcm90b3R5cGUuaGFuZGxlT3ZlcmZsb3c9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5heGlzLGk9ZS5vcHRpb25zLmxhYmVscyxyPXQueCxvPWUuY2hhcnQuY2hhcnRXaWR0aCxhPWUuY2hhcnQuc3BhY2luZyxzPXUoZS5sYWJlbExlZnQsTWF0aC5taW4oZS5wb3MsYVszXSkpO2E9dShlLmxhYmVsUmlnaHQsTWF0aC5tYXgoZS5pc1JhZGlhbD8wOmUucG9zK2UubGVuLG8tYVsxXSkpO3ZhciBjLGg9dGhpcy5sYWJlbCxsPXRoaXMucm90YXRpb24scD17bGVmdDowLGNlbnRlcjouNSxyaWdodDoxfVtlLmxhYmVsQWxpZ258fGguYXR0cigiYWxpZ24iKV0sZD1oLmdldEJCb3goKS53aWR0aCxmPWUuZ2V0U2xvdFdpZHRoKHRoaXMpLG09e30sZz1mLHY9MTtsfHwianVzdGlmeSIhPT1pLm92ZXJmbG93PzA+bCYmci1wKmQ8cz9jPU1hdGgucm91bmQoci9NYXRoLmNvcyhsKm4pLXMpOjA8bCYmcitwKmQ+YSYmKGM9TWF0aC5yb3VuZCgoby1yKS9NYXRoLmNvcyhsKm4pKSk6KG89cisoMS1wKSpkLHItcCpkPHM/Zz10LngrZyooMS1wKS1zOm8+YSYmKGc9YS10LngrZypwLHY9LTEpLGc9TWF0aC5taW4oZixnKSxnPGYmJiJjZW50ZXIiPT09ZS5sYWJlbEFsaWduJiYodC54Kz12KihmLWctcCooZi1NYXRoLm1pbihkLGcpKSkpLChkPmd8fGUuYXV0b1JvdGF0aW9uJiYoaC5zdHlsZXN8fHt9KS53aWR0aCkmJihjPWcpKSxjJiYodGhpcy5zaG9ydGVuTGFiZWw/dGhpcy5zaG9ydGVuTGFiZWwoKToobS53aWR0aD1NYXRoLmZsb29yKGMpKyJweCIsKGkuc3R5bGV8fHt9KS50ZXh0T3ZlcmZsb3d8fChtLnRleHRPdmVyZmxvdz0iZWxsaXBzaXMiKSxoLmNzcyhtKSkpfSxlLnByb3RvdHlwZS5tb3ZlTGFiZWw9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLG49aS5sYWJlbCxyPWkuYXhpcyxvPXIucmV2ZXJzZWQsYT0hMTtpZihuJiZuLnRleHRTdHI9PT10PyhpLm1vdmVkTGFiZWw9bixhPSEwLGRlbGV0ZSBpLmxhYmVsKTpkKHIudGlja3MsKGZ1bmN0aW9uKGUpe2F8fGUuaXNOZXd8fGU9PT1pfHwhZS5sYWJlbHx8ZS5sYWJlbC50ZXh0U3RyIT09dHx8KGkubW92ZWRMYWJlbD1lLmxhYmVsLGE9ITAsZS5sYWJlbFBvcz1pLm1vdmVkTGFiZWwueHksZGVsZXRlIGUubGFiZWwpfSkpLCFhJiYoaS5sYWJlbFBvc3x8bikpe3ZhciBzPWkubGFiZWxQb3N8fG4ueHk7bj1yLmhvcml6P28/MDpyLndpZHRoK3IubGVmdDpzLngscj1yLmhvcml6P3MueTpvP3Iud2lkdGgrci5sZWZ0OjAsaS5tb3ZlZExhYmVsPWkuY3JlYXRlTGFiZWwoe3g6bix5OnJ9LHQsZSksaS5tb3ZlZExhYmVsJiZpLm1vdmVkTGFiZWwuYXR0cih7b3BhY2l0eTowfSl9fSxlLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXRoaXMuYXhpcyxyPW4uaG9yaXosbz10aGlzLnBvcyxhPXUodGhpcy50aWNrbWFya09mZnNldCxuLnRpY2ttYXJrT2Zmc2V0KTtvPXRoaXMuZ2V0UG9zaXRpb24ocixvLGEsZSksYT1vLng7dmFyIHM9by55O249ciYmYT09PW4ucG9zK24ubGVufHwhciYmcz09PW4ucG9zPy0xOjEscj11KGksdGhpcy5sYWJlbCYmdGhpcy5sYWJlbC5uZXdPcGFjaXR5LDEpLGk9dShpLDEpLHRoaXMuaXNBY3RpdmU9ITAsdGhpcy5yZW5kZXJHcmlkTGluZShlLGksbiksdGhpcy5yZW5kZXJNYXJrKG8saSxuKSx0aGlzLnJlbmRlckxhYmVsKG8sZSxyLHQpLHRoaXMuaXNOZXc9ITEsaCh0aGlzLCJhZnRlclJlbmRlciIpfSxlLnByb3RvdHlwZS5yZW5kZXJHcmlkTGluZT1mdW5jdGlvbih0LGUsaSl7dmFyIG49dGhpcy5heGlzLHI9bi5vcHRpb25zLG89e30sYT10aGlzLnBvcyxzPXRoaXMudHlwZSxjPXUodGhpcy50aWNrbWFya09mZnNldCxuLnRpY2ttYXJrT2Zmc2V0KSxoPW4uY2hhcnQucmVuZGVyZXIsbD10aGlzLmdyaWRMaW5lLHA9ci5ncmlkTGluZVdpZHRoLGQ9ci5ncmlkTGluZUNvbG9yLGY9ci5ncmlkTGluZURhc2hTdHlsZTsibWlub3IiPT09dGhpcy50eXBlJiYocD1yLm1pbm9yR3JpZExpbmVXaWR0aCxkPXIubWlub3JHcmlkTGluZUNvbG9yLGY9ci5taW5vckdyaWRMaW5lRGFzaFN0eWxlKSxsfHwobi5jaGFydC5zdHlsZWRNb2RlfHwoby5zdHJva2U9ZCxvWyJzdHJva2Utd2lkdGgiXT1wfHwwLG8uZGFzaHN0eWxlPWYpLHN8fChvLnpJbmRleD0xKSx0JiYoZT0wKSx0aGlzLmdyaWRMaW5lPWw9aC5wYXRoKCkuYXR0cihvKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy0iKyhzP3MrIi0iOiIiKSsiZ3JpZC1saW5lIikuYWRkKG4uZ3JpZEdyb3VwKSksbCYmKGk9bi5nZXRQbG90TGluZVBhdGgoe3ZhbHVlOmErYyxsaW5lV2lkdGg6bC5zdHJva2VXaWR0aCgpKmksZm9yY2U6InBhc3MiLG9sZDp0fSkpJiZsW3R8fHRoaXMuaXNOZXc/ImF0dHIiOiJhbmltYXRlIl0oe2Q6aSxvcGFjaXR5OmV9KX0sZS5wcm90b3R5cGUucmVuZGVyTWFyaz1mdW5jdGlvbih0LGUsaSl7dmFyIG49dGhpcy5heGlzLHI9bi5vcHRpb25zLG89bi5jaGFydC5yZW5kZXJlcixhPXRoaXMudHlwZSxzPW4udGlja1NpemUoYT9hKyJUaWNrIjoidGljayIpLGM9dC54O3Q9dC55O3ZhciBoPXUoclsibWlub3IiIT09YT8idGlja1dpZHRoIjoibWlub3JUaWNrV2lkdGgiXSwhYSYmbi5pc1hBeGlzPzE6MCk7cj1yWyJtaW5vciIhPT1hPyJ0aWNrQ29sb3IiOiJtaW5vclRpY2tDb2xvciJdO3ZhciBsPXRoaXMubWFyayxwPSFsO3MmJihuLm9wcG9zaXRlJiYoc1swXT0tc1swXSksbHx8KHRoaXMubWFyaz1sPW8ucGF0aCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIrKGE/YSsiLSI6IiIpKyJ0aWNrIikuYWRkKG4uYXhpc0dyb3VwKSxuLmNoYXJ0LnN0eWxlZE1vZGV8fGwuYXR0cih7c3Ryb2tlOnIsInN0cm9rZS13aWR0aCI6aH0pKSxsW3A/ImF0dHIiOiJhbmltYXRlIl0oe2Q6dGhpcy5nZXRNYXJrUGF0aChjLHQsc1swXSxsLnN0cm9rZVdpZHRoKCkqaSxuLmhvcml6LG8pLG9wYWNpdHk6ZX0pKX0sZS5wcm90b3R5cGUucmVuZGVyTGFiZWw9ZnVuY3Rpb24odCxlLGksbil7dmFyIHI9dGhpcy5heGlzLG89ci5ob3JpeixhPXIub3B0aW9ucyxzPXRoaXMubGFiZWwsYz1hLmxhYmVscyxoPWMuc3RlcDtyPXUodGhpcy50aWNrbWFya09mZnNldCxyLnRpY2ttYXJrT2Zmc2V0KTt2YXIgcD10Lng7dD10Lnk7dmFyIGQ9ITA7cyYmbChwKSYmKHMueHk9dD10aGlzLmdldExhYmVsUG9zaXRpb24ocCx0LHMsbyxjLHIsbixoKSx0aGlzLmlzRmlyc3QmJiF0aGlzLmlzTGFzdCYmIWEuc2hvd0ZpcnN0TGFiZWx8fHRoaXMuaXNMYXN0JiYhdGhpcy5pc0ZpcnN0JiYhYS5zaG93TGFzdExhYmVsP2Q9ITE6IW98fGMuc3RlcHx8Yy5yb3RhdGlvbnx8ZXx8MD09PWl8fHRoaXMuaGFuZGxlT3ZlcmZsb3codCksaCYmbiVoJiYoZD0hMSksZCYmbCh0LnkpPyh0Lm9wYWNpdHk9aSxzW3RoaXMuaXNOZXdMYWJlbD8iYXR0ciI6ImFuaW1hdGUiXSh0KSx0aGlzLmlzTmV3TGFiZWw9ITEpOihzLmF0dHIoInkiLC05OTk5KSx0aGlzLmlzTmV3TGFiZWw9ITApKX0sZS5wcm90b3R5cGUucmVwbGFjZU1vdmVkTGFiZWw9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxhYmVsLGU9dGhpcy5heGlzLGk9ZS5yZXZlcnNlZDtpZih0JiYhdGhpcy5pc05ldyl7dmFyIG49ZS5ob3Jpej9pP2UubGVmdDplLndpZHRoK2UubGVmdDp0Lnh5Lng7aT1lLmhvcml6P3QueHkueTppP2Uud2lkdGgrZS50b3A6ZS50b3AsdC5hbmltYXRlKHt4Om4seTppLG9wYWNpdHk6MH0sdm9pZCAwLHQuZGVzdHJveSksZGVsZXRlIHRoaXMubGFiZWx9ZS5pc0RpcnR5PSEwLHRoaXMubGFiZWw9dGhpcy5tb3ZlZExhYmVsLGRlbGV0ZSB0aGlzLm1vdmVkTGFiZWx9LGV9KCksZX0pKSxlKGksIkNvcmUvQXhpcy9BeGlzLmpzIixbaVsiQ29yZS9BbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmpzIl0saVsiQ29yZS9BeGlzL0F4aXNEZWZhdWx0cy5qcyJdLGlbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSxpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0saVsiQ29yZS9Gb3VuZGF0aW9uLmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9BeGlzL1RpY2suanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbixyLG8sYSxzKXt2YXIgYz10LmFuaW1PYmplY3QsaD1uLmRlZmF1bHRPcHRpb25zLGw9ci5yZWdpc3RlckV2ZW50T3B0aW9ucyxwPW8uZGVnMnJhZCxkPXMuYXJyYXlNYXgsdT1zLmFycmF5TWluLGY9cy5jbGFtcCxtPXMuY29ycmVjdEZsb2F0LGc9cy5kZWZpbmVkLHY9cy5kZXN0cm95T2JqZWN0UHJvcGVydGllcyx5PXMuZXJhc2UsXz1zLmVycm9yLGI9cy5leHRlbmQseD1zLmZpcmVFdmVudCx3PXMuZ2V0TWFnbml0dWRlLGs9cy5pc0FycmF5LEM9cy5pc051bWJlcixTPXMuaXNTdHJpbmcsQT1zLm1lcmdlLE09cy5ub3JtYWxpemVUaWNrSW50ZXJ2YWwsUD1zLm9iamVjdEVhY2gsTz1zLnBpY2ssVD1zLnJlbGF0aXZlTGVuZ3RoLEU9cy5yZW1vdmVFdmVudCxMPXMuc3BsYXQsaj1zLnN5bmNUaW1lb3V0O3JldHVybiB0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3RoaXMuem9vbUVuYWJsZWQ9dGhpcy53aWR0aD10aGlzLnZpc2libGU9dGhpcy51c2VyT3B0aW9ucz10aGlzLnRyYW5zbGF0aW9uU2xvcGU9dGhpcy50cmFuc0I9dGhpcy50cmFuc0E9dGhpcy50b3A9dGhpcy50aWNrcz10aGlzLnRpY2tSb3RDb3JyPXRoaXMudGlja1Bvc2l0aW9ucz10aGlzLnRpY2ttYXJrT2Zmc2V0PXRoaXMudGlja0ludGVydmFsPXRoaXMudGlja0Ftb3VudD10aGlzLnNpZGU9dGhpcy5zZXJpZXM9dGhpcy5yaWdodD10aGlzLnBvc2l0aXZlVmFsdWVzT25seT10aGlzLnBvcz10aGlzLnBvaW50UmFuZ2VQYWRkaW5nPXRoaXMucG9pbnRSYW5nZT10aGlzLnBsb3RMaW5lc0FuZEJhbmRzR3JvdXBzPXRoaXMucGxvdExpbmVzQW5kQmFuZHM9dGhpcy5wYWRkZWRUaWNrcz10aGlzLm92ZXJsYXA9dGhpcy5vcHRpb25zPXRoaXMub2Zmc2V0PXRoaXMubmFtZXM9dGhpcy5taW5QaXhlbFBhZGRpbmc9dGhpcy5taW5vclRpY2tzPXRoaXMubWlub3JUaWNrSW50ZXJ2YWw9dGhpcy5taW49dGhpcy5tYXhMYWJlbExlbmd0aD10aGlzLm1heD10aGlzLmxlbj10aGlzLmxlZnQ9dGhpcy5sYWJlbEZvcm1hdHRlcj10aGlzLmxhYmVsRWRnZT10aGlzLmlzTGlua2VkPXRoaXMuaGVpZ2h0PXRoaXMuaGFzVmlzaWJsZVNlcmllcz10aGlzLmhhc05hbWVzPXRoaXMuZXZlbnRPcHRpb25zPXRoaXMuY29sbD10aGlzLmNsb3Nlc3RQb2ludFJhbmdlPXRoaXMuY2hhcnQ9dGhpcy5jYXRlZ29yaWVzPXRoaXMuYm90dG9tPXRoaXMuYWx0ZXJuYXRlQmFuZHM9dm9pZCAwLHRoaXMuaW5pdCh0LGUpfXJldHVybiB0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSl7dmFyIGk9ZS5pc1g7dGhpcy5jaGFydD10LHRoaXMuaG9yaXo9dC5pbnZlcnRlZCYmIXRoaXMuaXNaQXhpcz8haTppLHRoaXMuaXNYQXhpcz1pLHRoaXMuY29sbD10aGlzLmNvbGx8fChpPyJ4QXhpcyI6InlBeGlzIikseCh0aGlzLCJpbml0Iix7dXNlck9wdGlvbnM6ZX0pLHRoaXMub3Bwb3NpdGU9TyhlLm9wcG9zaXRlLHRoaXMub3Bwb3NpdGUpLHRoaXMuc2lkZT1PKGUuc2lkZSx0aGlzLnNpZGUsdGhpcy5ob3Jpej90aGlzLm9wcG9zaXRlPzA6Mjp0aGlzLm9wcG9zaXRlPzE6MyksdGhpcy5zZXRPcHRpb25zKGUpO3ZhciBuPXRoaXMub3B0aW9ucyxyPW4ubGFiZWxzLG89bi50eXBlO3RoaXMudXNlck9wdGlvbnM9ZSx0aGlzLm1pblBpeGVsUGFkZGluZz0wLHRoaXMucmV2ZXJzZWQ9TyhuLnJldmVyc2VkLHRoaXMucmV2ZXJzZWQpLHRoaXMudmlzaWJsZT1uLnZpc2libGUsdGhpcy56b29tRW5hYmxlZD1uLnpvb21FbmFibGVkLHRoaXMuaGFzTmFtZXM9ImNhdGVnb3J5Ij09PW98fCEwPT09bi5jYXRlZ29yaWVzLHRoaXMuY2F0ZWdvcmllcz1uLmNhdGVnb3JpZXN8fHRoaXMuaGFzTmFtZXMsdGhpcy5uYW1lc3x8KHRoaXMubmFtZXM9W10sdGhpcy5uYW1lcy5rZXlzPXt9KSx0aGlzLnBsb3RMaW5lc0FuZEJhbmRzR3JvdXBzPXt9LHRoaXMucG9zaXRpdmVWYWx1ZXNPbmx5PSEhdGhpcy5sb2dhcml0aG1pYyx0aGlzLmlzTGlua2VkPWcobi5saW5rZWRUbyksdGhpcy50aWNrcz17fSx0aGlzLmxhYmVsRWRnZT1bXSx0aGlzLm1pbm9yVGlja3M9e30sdGhpcy5wbG90TGluZXNBbmRCYW5kcz1bXSx0aGlzLmFsdGVybmF0ZUJhbmRzPXt9LHRoaXMubGVuPTAsdGhpcy5taW5SYW5nZT10aGlzLnVzZXJNaW5SYW5nZT1uLm1pblJhbmdlfHxuLm1heFpvb20sdGhpcy5yYW5nZT1uLnJhbmdlLHRoaXMub2Zmc2V0PW4ub2Zmc2V0fHwwLHRoaXMubWluPXRoaXMubWF4PW51bGwsZT1PKG4uY3Jvc3NoYWlyLEwodC5vcHRpb25zLnRvb2x0aXAuY3Jvc3NoYWlycylbaT8wOjFdKSx0aGlzLmNyb3NzaGFpcj0hMD09PWU/e306ZSwtMT09PXQuYXhlcy5pbmRleE9mKHRoaXMpJiYoaT90LmF4ZXMuc3BsaWNlKHQueEF4aXMubGVuZ3RoLDAsdGhpcyk6dC5heGVzLnB1c2godGhpcyksdFt0aGlzLmNvbGxdLnB1c2godGhpcykpLHRoaXMuc2VyaWVzPXRoaXMuc2VyaWVzfHxbXSx0LmludmVydGVkJiYhdGhpcy5pc1pBeGlzJiZpJiYidW5kZWZpbmVkIj09PXR5cGVvZiB0aGlzLnJldmVyc2VkJiYodGhpcy5yZXZlcnNlZD0hMCksdGhpcy5sYWJlbFJvdGF0aW9uPUMoci5yb3RhdGlvbik/ci5yb3RhdGlvbjp2b2lkIDAsbCh0aGlzLG4pLHgodGhpcywiYWZ0ZXJJbml0Iil9LHQucHJvdG90eXBlLnNldE9wdGlvbnM9ZnVuY3Rpb24odCl7dGhpcy5vcHRpb25zPUEoZS5kZWZhdWx0WEF4aXNPcHRpb25zLCJ5QXhpcyI9PT10aGlzLmNvbGwmJmUuZGVmYXVsdFlBeGlzT3B0aW9ucyxbZS5kZWZhdWx0VG9wQXhpc09wdGlvbnMsZS5kZWZhdWx0UmlnaHRBeGlzT3B0aW9ucyxlLmRlZmF1bHRCb3R0b21BeGlzT3B0aW9ucyxlLmRlZmF1bHRMZWZ0QXhpc09wdGlvbnNdW3RoaXMuc2lkZV0sQShoW3RoaXMuY29sbF0sdCkpLHgodGhpcywiYWZ0ZXJTZXRPcHRpb25zIix7dXNlck9wdGlvbnM6dH0pfSx0LnByb3RvdHlwZS5kZWZhdWx0TGFiZWxGb3JtYXR0ZXI9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5heGlzO3Q9dGhpcy5jaGFydC5udW1iZXJGb3JtYXR0ZXI7dmFyIGk9Qyh0aGlzLnZhbHVlKT90aGlzLnZhbHVlOk5hTixuPWUuY2hhcnQudGltZSxyPXRoaXMuZGF0ZVRpbWVMYWJlbEZvcm1hdCxvPWgubGFuZyxhPW8ubnVtZXJpY1N5bWJvbHM7bz1vLm51bWVyaWNTeW1ib2xNYWduaXR1ZGV8fDFlMzt2YXIgcz1lLmxvZ2FyaXRobWljP01hdGguYWJzKGkpOmUudGlja0ludGVydmFsLGM9YSYmYS5sZW5ndGg7aWYoZS5jYXRlZ29yaWVzKXZhciBsPSIiK3RoaXMudmFsdWU7ZWxzZSBpZihyKWw9bi5kYXRlRm9ybWF0KHIsaSk7ZWxzZSBpZihjJiYxZTM8PXMpZm9yKDtjLS0mJiJ1bmRlZmluZWQiPT09dHlwZW9mIGw7KWU9TWF0aC5wb3cobyxjKzEpLHM+PWUmJjA9PT0xMCppJWUmJm51bGwhPT1hW2NdJiYwIT09aSYmKGw9dChpL2UsLTEpK2FbY10pO3JldHVybiJ1bmRlZmluZWQiPT09dHlwZW9mIGwmJihsPTFlNDw9TWF0aC5hYnMoaSk/dChpLC0xKTp0KGksLTEsdm9pZCAwLCIiKSksbH0sdC5wcm90b3R5cGUuZ2V0U2VyaWVzRXh0cmVtZXM9ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMsaT1lLmNoYXJ0O3godGhpcywiZ2V0U2VyaWVzRXh0cmVtZXMiLG51bGwsKGZ1bmN0aW9uKCl7ZS5oYXNWaXNpYmxlU2VyaWVzPSExLGUuZGF0YU1pbj1lLmRhdGFNYXg9ZS50aHJlc2hvbGQ9bnVsbCxlLnNvZnRUaHJlc2hvbGQ9IWUuaXNYQXhpcyxlLnN0YWNraW5nJiZlLnN0YWNraW5nLmJ1aWxkU3RhY2tzKCksZS5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24obil7aWYobi52aXNpYmxlfHwhaS5vcHRpb25zLmNoYXJ0Lmlnbm9yZUhpZGRlblNlcmllcyl7dmFyIHI9bi5vcHRpb25zLG89ci50aHJlc2hvbGQ7aWYoZS5oYXNWaXNpYmxlU2VyaWVzPSEwLGUucG9zaXRpdmVWYWx1ZXNPbmx5JiYwPj1vJiYobz1udWxsKSxlLmlzWEF4aXMpe2lmKHI9bi54RGF0YSxyLmxlbmd0aCl7cj1lLmxvZ2FyaXRobWljP3IuZmlsdGVyKGUudmFsaWRhdGVQb3NpdGl2ZVZhbHVlKTpyLHQ9bi5nZXRYRXh0cmVtZXMocik7dmFyIGE9dC5taW4scz10Lm1heDtDKGEpfHxhIGluc3RhbmNlb2YgRGF0ZXx8KHI9ci5maWx0ZXIoQyksdD1uLmdldFhFeHRyZW1lcyhyKSxhPXQubWluLHM9dC5tYXgpLHIubGVuZ3RoJiYoZS5kYXRhTWluPU1hdGgubWluKE8oZS5kYXRhTWluLGEpLGEpLGUuZGF0YU1heD1NYXRoLm1heChPKGUuZGF0YU1heCxzKSxzKSl9fWVsc2Ugbj1uLmFwcGx5RXh0cmVtZXMoKSxDKG4uZGF0YU1pbikmJihhPW4uZGF0YU1pbixlLmRhdGFNaW49TWF0aC5taW4oTyhlLmRhdGFNaW4sYSksYSkpLEMobi5kYXRhTWF4KSYmKHM9bi5kYXRhTWF4LGUuZGF0YU1heD1NYXRoLm1heChPKGUuZGF0YU1heCxzKSxzKSksZyhvKSYmKGUudGhyZXNob2xkPW8pLCghci5zb2Z0VGhyZXNob2xkfHxlLnBvc2l0aXZlVmFsdWVzT25seSkmJihlLnNvZnRUaHJlc2hvbGQ9ITEpfX0pKX0pKSx4KHRoaXMsImFmdGVyR2V0U2VyaWVzRXh0cmVtZXMiKX0sdC5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKHQsZSxpLG4scixvKXt2YXIgYT10aGlzLmxpbmtlZFBhcmVudHx8dGhpcyxzPW4mJmEub2xkP2Eub2xkLm1pbjphLm1pbixjPWEubWluUGl4ZWxQYWRkaW5nO3I9KGEuaXNPcmRpbmFsfHxhLmJyb2tlbkF4aXMmJmEuYnJva2VuQXhpcy5oYXNCcmVha3N8fGEubG9nYXJpdGhtaWMmJnIpJiZhLmxpbjJ2YWw7dmFyIGg9MSxsPTA7cmV0dXJuIG49biYmYS5vbGQ/YS5vbGQudHJhbnNBOmEudHJhbnNBLG58fChuPWEudHJhbnNBKSxpJiYoaCo9LTEsbD1hLmxlbiksYS5yZXZlcnNlZCYmKGgqPS0xLGwtPWgqKGEuc2VjdG9yfHxhLmxlbikpLGU/KHQ9KHQqaCtsLWMpL24rcyxyJiYodD1hLmxpbjJ2YWwodCkpKToociYmKHQ9YS52YWwybGluKHQpKSx0PUMocyk/aCoodC1zKSpuK2wraCpjKyhDKG8pP24qbzowKTp2b2lkIDApLHR9LHQucHJvdG90eXBlLnRvUGl4ZWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXMudHJhbnNsYXRlKHQsITEsIXRoaXMuaG9yaXosbnVsbCwhMCkrKGU/MDp0aGlzLnBvcyl9LHQucHJvdG90eXBlLnRvVmFsdWU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy50cmFuc2xhdGUodC0oZT8wOnRoaXMucG9zKSwhMCwhdGhpcy5ob3JpeixudWxsLCEwKX0sdC5wcm90b3R5cGUuZ2V0UGxvdExpbmVQYXRoPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCxlLGkpe3JldHVybigicGFzcyIhPT1fJiZ0PGV8fHQ+aSkmJihfP3Q9Zih0LGUsaSk6YT0hMCksdH12YXIgaSxuLHIsbyxhLHM9dGhpcyxjPXMuY2hhcnQsaD1zLmxlZnQsbD1zLnRvcCxwPXQub2xkLGQ9dC52YWx1ZSx1PXQubGluZVdpZHRoLG09cCYmYy5vbGRDaGFydEhlaWdodHx8Yy5jaGFydEhlaWdodCxnPXAmJmMub2xkQ2hhcnRXaWR0aHx8Yy5jaGFydFdpZHRoLHY9cy50cmFuc0IseT10LnRyYW5zbGF0ZWRWYWx1ZSxfPXQuZm9yY2U7cmV0dXJuIHQ9e3ZhbHVlOmQsbGluZVdpZHRoOnUsb2xkOnAsZm9yY2U6XyxhY3Jvc3NQYW5lczp0LmFjcm9zc1BhbmVzLHRyYW5zbGF0ZWRWYWx1ZTp5fSx4KHRoaXMsImdldFBsb3RMaW5lUGF0aCIsdCwoZnVuY3Rpb24odCl7eT1PKHkscy50cmFuc2xhdGUoZCxudWxsLG51bGwscCkpLHk9Zih5LC0xZTUsMWU1KSxpPXI9TWF0aC5yb3VuZCh5K3YpLG49bz1NYXRoLnJvdW5kKG0teS12KSxDKHkpP3MuaG9yaXo/KG49bCxvPW0tcy5ib3R0b20saT1yPWUoaSxoLGgrcy53aWR0aCkpOihpPWgscj1nLXMucmlnaHQsbj1vPWUobixsLGwrcy5oZWlnaHQpKTooYT0hMCxfPSExKSx0LnBhdGg9YSYmIV8/bnVsbDpjLnJlbmRlcmVyLmNyaXNwTGluZShbWyJNIixpLG5dLFsiTCIscixvXV0sdXx8MSl9KSksdC5wYXRofSx0LnByb3RvdHlwZS5nZXRMaW5lYXJUaWNrUG9zaXRpb25zPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1tKE1hdGguZmxvb3IoZS90KSp0KTtpPW0oTWF0aC5jZWlsKGkvdCkqdCk7dmFyIHIsbz1bXTtpZihtKG4rdCk9PT1uJiYocj0yMCksdGhpcy5zaW5nbGUpcmV0dXJuW2VdO2ZvcihlPW47ZTw9aTspe2lmKG8ucHVzaChlKSxlPW0oZSt0LHIpLGU9PT1hKWJyZWFrO3ZhciBhPWV9cmV0dXJuIG99LHQucHJvdG90eXBlLmdldE1pbm9yVGlja0ludGVydmFsPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zO3JldHVybiEwPT09dC5taW5vclRpY2tzP08odC5taW5vclRpY2tJbnRlcnZhbCwiYXV0byIpOiExPT09dC5taW5vclRpY2tzP251bGw6dC5taW5vclRpY2tJbnRlcnZhbH0sdC5wcm90b3R5cGUuZ2V0TWlub3JUaWNrUG9zaXRpb25zPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGU9dGhpcy50aWNrUG9zaXRpb25zLGk9dGhpcy5taW5vclRpY2tJbnRlcnZhbCxuPXRoaXMucG9pbnRSYW5nZVBhZGRpbmd8fDAscj10aGlzLm1pbi1uO249dGhpcy5tYXgrbjt2YXIgbz1uLXIsYT1bXTtpZihvJiZvL2k8dGhpcy5sZW4vMyl7dmFyIHM9dGhpcy5sb2dhcml0aG1pYztpZihzKXRoaXMucGFkZGVkVGlja3MuZm9yRWFjaCgoZnVuY3Rpb24odCxlLG4pe2UmJmEucHVzaC5hcHBseShhLHMuZ2V0TG9nVGlja1Bvc2l0aW9ucyhpLG5bZS0xXSxuW2VdLCEwKSl9KSk7ZWxzZSBpZih0aGlzLmRhdGVUaW1lJiYiYXV0byI9PT10aGlzLmdldE1pbm9yVGlja0ludGVydmFsKCkpYT1hLmNvbmNhdCh0aGlzLmdldFRpbWVUaWNrcyh0aGlzLmRhdGVUaW1lLm5vcm1hbGl6ZVRpbWVUaWNrSW50ZXJ2YWwoaSkscixuLHQuc3RhcnRPZldlZWspKTtlbHNlIGZvcih0PXIrKGVbMF0tciklaTt0PD1uJiZ0IT09YVswXTt0Kz1pKWEucHVzaCh0KX1yZXR1cm4gMCE9PWEubGVuZ3RoJiZ0aGlzLnRyaW1UaWNrcyhhKSxhfSx0LnByb3RvdHlwZS5hZGp1c3RGb3JNaW5SYW5nZT1mdW5jdGlvbigpe3ZhciB0LGUsaSxuLHI9dGhpcy5vcHRpb25zLG89dGhpcy5sb2dhcml0aG1pYyxhPXRoaXMubWluLHM9dGhpcy5tYXgsYz0wO2lmKHRoaXMuaXNYQXhpcyYmInVuZGVmaW5lZCI9PT10eXBlb2YgdGhpcy5taW5SYW5nZSYmIW8mJihnKHIubWluKXx8ZyhyLm1heCl8fGcoci5mbG9vcil8fGcoci5jZWlsaW5nKT90aGlzLm1pblJhbmdlPW51bGw6KHRoaXMuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHIpe2lmKGk9ci54RGF0YSxuPXIueEluY3JlbWVudD8xOmkubGVuZ3RoLTEsMTxpLmxlbmd0aClmb3IodD1uOzA8dDt0LS0pZT1pW3RdLWlbdC0xXSwoIWN8fGU8YykmJihjPWUpfSkpLHRoaXMubWluUmFuZ2U9TWF0aC5taW4oNSpjLHRoaXMuZGF0YU1heC10aGlzLmRhdGFNaW4pKSkscy1hPHRoaXMubWluUmFuZ2Upe3ZhciBoPXRoaXMuZGF0YU1heC10aGlzLmRhdGFNaW4+PXRoaXMubWluUmFuZ2UsbD10aGlzLm1pblJhbmdlLHA9KGwtcythKS8yO3A9W2EtcCxPKHIubWluLGEtcCldLGgmJihwWzJdPXRoaXMubG9nYXJpdGhtaWM/dGhpcy5sb2dhcml0aG1pYy5sb2cybGluKHRoaXMuZGF0YU1pbik6dGhpcy5kYXRhTWluKSxhPWQocCkscz1bYStsLE8oci5tYXgsYStsKV0saCYmKHNbMl09bz9vLmxvZzJsaW4odGhpcy5kYXRhTWF4KTp0aGlzLmRhdGFNYXgpLHM9dShzKSxzLWE8bCYmKHBbMF09cy1sLHBbMV09TyhyLm1pbixzLWwpLGE9ZChwKSl9dGhpcy5taW49YSx0aGlzLm1heD1zfSx0LnByb3RvdHlwZS5nZXRDbG9zZXN0PWZ1bmN0aW9uKCl7dmFyIHQ7cmV0dXJuIHRoaXMuY2F0ZWdvcmllcz90PTE6dGhpcy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dmFyIGk9ZS5jbG9zZXN0UG9pbnRSYW5nZSxuPWUudmlzaWJsZXx8IWUuY2hhcnQub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXM7IWUubm9TaGFyZWRUb29sdGlwJiZnKGkpJiZuJiYodD1nKHQpP01hdGgubWluKHQsaSk6aSl9KSksdH0sdC5wcm90b3R5cGUubmFtZVRvWD1mdW5jdGlvbih0KXt2YXIgZT1rKHRoaXMuY2F0ZWdvcmllcyksaT1lP3RoaXMuY2F0ZWdvcmllczp0aGlzLm5hbWVzLG49dC5vcHRpb25zLng7aWYodC5zZXJpZXMucmVxdWlyZVNvcnRpbmc9ITEsZyhuKXx8KG49dGhpcy5vcHRpb25zLnVuaXF1ZU5hbWVzP2U/aS5pbmRleE9mKHQubmFtZSk6TyhpLmtleXNbdC5uYW1lXSwtMSk6dC5zZXJpZXMuYXV0b0luY3JlbWVudCgpKSwtMT09PW4pe2lmKCFlKXZhciByPWkubGVuZ3RofWVsc2Ugcj1uO3JldHVybiJ1bmRlZmluZWQiIT09dHlwZW9mIHImJih0aGlzLm5hbWVzW3JdPXQubmFtZSx0aGlzLm5hbWVzLmtleXNbdC5uYW1lXT1yKSxyfSx0LnByb3RvdHlwZS51cGRhdGVOYW1lcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLm5hbWVzOzA8ZS5sZW5ndGgmJihPYmplY3Qua2V5cyhlLmtleXMpLmZvckVhY2goKGZ1bmN0aW9uKHQpe2RlbGV0ZSBlLmtleXNbdF19KSksZS5sZW5ndGg9MCx0aGlzLm1pblJhbmdlPXRoaXMudXNlck1pblJhbmdlLCh0aGlzLnNlcmllc3x8W10pLmZvckVhY2goKGZ1bmN0aW9uKGUpe2UueEluY3JlbWVudD1udWxsLGUucG9pbnRzJiYhZS5pc0RpcnR5RGF0YXx8KHQubWF4PU1hdGgubWF4KHQubWF4LGUueERhdGEubGVuZ3RoLTEpLGUucHJvY2Vzc0RhdGEoKSxlLmdlbmVyYXRlUG9pbnRzKCkpLGUuZGF0YS5mb3JFYWNoKChmdW5jdGlvbihpLG4pe2lmKGkmJmkub3B0aW9ucyYmInVuZGVmaW5lZCIhPT10eXBlb2YgaS5uYW1lKXt2YXIgcj10Lm5hbWVUb1goaSk7InVuZGVmaW5lZCIhPT10eXBlb2YgciYmciE9PWkueCYmKGkueD1yLGUueERhdGFbbl09cil9fSkpfSkpKX0sdC5wcm90b3R5cGUuc2V0QXhpc1RyYW5zbGF0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQubWF4LXQubWluLGk9dC5saW5rZWRQYXJlbnQsbj0hIXQuY2F0ZWdvcmllcyxyPXQuaXNYQXhpcyxvPXQuYXhpc1BvaW50UmFuZ2V8fDAsYT0wLHM9MCxjPXQudHJhbnNBO2lmKHJ8fG58fG8pe3ZhciBoPXQuZ2V0Q2xvc2VzdCgpO2k/KGE9aS5taW5Qb2ludE9mZnNldCxzPWkucG9pbnRSYW5nZVBhZGRpbmcpOnQuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBpPW4/MTpyP08oZS5vcHRpb25zLnBvaW50UmFuZ2UsaCwwKTp0LmF4aXNQb2ludFJhbmdlfHwwLGM9ZS5vcHRpb25zLnBvaW50UGxhY2VtZW50O289TWF0aC5tYXgobyxpKSx0LnNpbmdsZSYmIW58fChlPWUuaXMoInhyYW5nZSIpPyFyOnIsYT1NYXRoLm1heChhLGUmJlMoYyk/MDppLzIpLHM9TWF0aC5tYXgocyxlJiYib24iPT09Yz8wOmkpKX0pKSxpPXQub3JkaW5hbCYmdC5vcmRpbmFsLnNsb3BlJiZoP3Qub3JkaW5hbC5zbG9wZS9oOjEsdC5taW5Qb2ludE9mZnNldD1hKj1pLHQucG9pbnRSYW5nZVBhZGRpbmc9cyo9aSx0LnBvaW50UmFuZ2U9TWF0aC5taW4obyx0LnNpbmdsZSYmbj8xOmUpLHImJih0LmNsb3Nlc3RQb2ludFJhbmdlPWgpfXQudHJhbnNsYXRpb25TbG9wZT10LnRyYW5zQT1jPXQuc3RhdGljU2NhbGV8fHQubGVuLyhlK3N8fDEpLHQudHJhbnNCPXQuaG9yaXo/dC5sZWZ0OnQuYm90dG9tLHQubWluUGl4ZWxQYWRkaW5nPWMqYSx4KHRoaXMsImFmdGVyU2V0QXhpc1RyYW5zbGF0aW9uIil9LHQucHJvdG90eXBlLm1pbkZyb21SYW5nZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1heC10aGlzLnJhbmdlfSx0LnByb3RvdHlwZS5zZXRUaWNrSW50ZXJ2YWw9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jaGFydCxpPXRoaXMubG9nYXJpdGhtaWMsbj10aGlzLm9wdGlvbnMscj10aGlzLmlzWEF4aXMsbz10aGlzLmlzTGlua2VkLGE9bi50aWNrUGl4ZWxJbnRlcnZhbCxzPXRoaXMuY2F0ZWdvcmllcyxjPXRoaXMuc29mdFRocmVzaG9sZCxoPW4ubWF4UGFkZGluZyxsPW4ubWluUGFkZGluZyxwPUMobi50aWNrSW50ZXJ2YWwpJiYwPD1uLnRpY2tJbnRlcnZhbD9uLnRpY2tJbnRlcnZhbDp2b2lkIDAsZD1DKHRoaXMudGhyZXNob2xkKT90aGlzLnRocmVzaG9sZDpudWxsO3RoaXMuZGF0ZVRpbWV8fHN8fG98fHRoaXMuZ2V0VGlja0Ftb3VudCgpO3ZhciB1PU8odGhpcy51c2VyTWluLG4ubWluKSxmPU8odGhpcy51c2VyTWF4LG4ubWF4KTtpZihvKXt0aGlzLmxpbmtlZFBhcmVudD1lW3RoaXMuY29sbF1bbi5saW5rZWRUb107dmFyIHY9dGhpcy5saW5rZWRQYXJlbnQuZ2V0RXh0cmVtZXMoKTt0aGlzLm1pbj1PKHYubWluLHYuZGF0YU1pbiksdGhpcy5tYXg9Tyh2Lm1heCx2LmRhdGFNYXgpLG4udHlwZSE9PXRoaXMubGlua2VkUGFyZW50Lm9wdGlvbnMudHlwZSYmXygxMSwxLGUpfWVsc2V7aWYoYyYmZyhkKSlpZih0aGlzLmRhdGFNaW4+PWQpdj1kLGw9MDtlbHNlIGlmKHRoaXMuZGF0YU1heDw9ZCl7dmFyIHk9ZDtoPTB9dGhpcy5taW49Tyh1LHYsdGhpcy5kYXRhTWluKSx0aGlzLm1heD1PKGYseSx0aGlzLmRhdGFNYXgpfWlmKGkmJih0aGlzLnBvc2l0aXZlVmFsdWVzT25seSYmIXQmJjA+PU1hdGgubWluKHRoaXMubWluLE8odGhpcy5kYXRhTWluLHRoaXMubWluKSkmJl8oMTAsMSxlKSx0aGlzLm1pbj1tKGkubG9nMmxpbih0aGlzLm1pbiksMTYpLHRoaXMubWF4PW0oaS5sb2cybGluKHRoaXMubWF4KSwxNikpLHRoaXMucmFuZ2UmJmcodGhpcy5tYXgpJiYodGhpcy51c2VyTWluPXRoaXMubWluPXU9TWF0aC5tYXgodGhpcy5kYXRhTWluLHRoaXMubWluRnJvbVJhbmdlKCkpLHRoaXMudXNlck1heD1mPXRoaXMubWF4LHRoaXMucmFuZ2U9bnVsbCkseCh0aGlzLCJmb3VuZEV4dHJlbWVzIiksdGhpcy5iZWZvcmVQYWRkaW5nJiZ0aGlzLmJlZm9yZVBhZGRpbmcoKSx0aGlzLmFkanVzdEZvck1pblJhbmdlKCksIShzfHx0aGlzLmF4aXNQb2ludFJhbmdlfHx0aGlzLnN0YWNraW5nJiZ0aGlzLnN0YWNraW5nLnVzZVBlcmNlbnRhZ2V8fG8pJiZnKHRoaXMubWluKSYmZyh0aGlzLm1heCkmJihlPXRoaXMubWF4LXRoaXMubWluKSYmKCFnKHUpJiZsJiYodGhpcy5taW4tPWUqbCksIWcoZikmJmgmJih0aGlzLm1heCs9ZSpoKSksQyh0aGlzLnVzZXJNaW4pfHwoQyhuLnNvZnRNaW4pJiZuLnNvZnRNaW48dGhpcy5taW4mJih0aGlzLm1pbj11PW4uc29mdE1pbiksQyhuLmZsb29yKSYmKHRoaXMubWluPU1hdGgubWF4KHRoaXMubWluLG4uZmxvb3IpKSksQyh0aGlzLnVzZXJNYXgpfHwoQyhuLnNvZnRNYXgpJiZuLnNvZnRNYXg+dGhpcy5tYXgmJih0aGlzLm1heD1mPW4uc29mdE1heCksQyhuLmNlaWxpbmcpJiYodGhpcy5tYXg9TWF0aC5taW4odGhpcy5tYXgsbi5jZWlsaW5nKSkpLGMmJmcodGhpcy5kYXRhTWluKSYmKGQ9ZHx8MCwhZyh1KSYmdGhpcy5taW48ZCYmdGhpcy5kYXRhTWluPj1kP3RoaXMubWluPXRoaXMub3B0aW9ucy5taW5SYW5nZT9NYXRoLm1pbihkLHRoaXMubWF4LXRoaXMubWluUmFuZ2UpOmQ6IWcoZikmJnRoaXMubWF4PmQmJnRoaXMuZGF0YU1heDw9ZCYmKHRoaXMubWF4PXRoaXMub3B0aW9ucy5taW5SYW5nZT9NYXRoLm1heChkLHRoaXMubWluK3RoaXMubWluUmFuZ2UpOmQpKSxDKHRoaXMubWluKSYmQyh0aGlzLm1heCkmJiF0aGlzLmNoYXJ0LnBvbGFyJiZ0aGlzLm1pbj50aGlzLm1heCYmKGcodGhpcy5vcHRpb25zLm1pbik/dGhpcy5tYXg9dGhpcy5taW46Zyh0aGlzLm9wdGlvbnMubWF4KSYmKHRoaXMubWluPXRoaXMubWF4KSksdGhpcy50aWNrSW50ZXJ2YWw9dGhpcy5taW49PT10aGlzLm1heHx8InVuZGVmaW5lZCI9PT10eXBlb2YgdGhpcy5taW58fCJ1bmRlZmluZWQiPT09dHlwZW9mIHRoaXMubWF4PzE6byYmdGhpcy5saW5rZWRQYXJlbnQmJiFwJiZhPT09dGhpcy5saW5rZWRQYXJlbnQub3B0aW9ucy50aWNrUGl4ZWxJbnRlcnZhbD9wPXRoaXMubGlua2VkUGFyZW50LnRpY2tJbnRlcnZhbDpPKHAsdGhpcy50aWNrQW1vdW50Pyh0aGlzLm1heC10aGlzLm1pbikvTWF0aC5tYXgodGhpcy50aWNrQW1vdW50LTEsMSk6dm9pZCAwLHM/MToodGhpcy5tYXgtdGhpcy5taW4pKmEvTWF0aC5tYXgodGhpcy5sZW4sYSkpLHImJiF0KXt2YXIgYj10aGlzLm1pbiE9PSh0aGlzLm9sZCYmdGhpcy5vbGQubWluKXx8dGhpcy5tYXghPT0odGhpcy5vbGQmJnRoaXMub2xkLm1heCk7dGhpcy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5mb3JjZUNyb3A9dC5mb3JjZUNyb3BwaW5nJiZ0LmZvcmNlQ3JvcHBpbmcoKSx0LnByb2Nlc3NEYXRhKGIpfSkpLHgodGhpcywicG9zdFByb2Nlc3NEYXRhIix7aGFzRXh0ZW1lc0NoYW5nZWQ6Yn0pfXRoaXMuc2V0QXhpc1RyYW5zbGF0aW9uKCkseCh0aGlzLCJpbml0aWFsQXhpc1RyYW5zbGF0aW9uIiksdGhpcy5wb2ludFJhbmdlJiYhcCYmKHRoaXMudGlja0ludGVydmFsPU1hdGgubWF4KHRoaXMucG9pbnRSYW5nZSx0aGlzLnRpY2tJbnRlcnZhbCkpLHQ9TyhuLm1pblRpY2tJbnRlcnZhbCx0aGlzLmRhdGVUaW1lJiYhdGhpcy5zZXJpZXMuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQubm9TaGFyZWRUb29sdGlwfSkpP3RoaXMuY2xvc2VzdFBvaW50UmFuZ2U6MCksIXAmJnRoaXMudGlja0ludGVydmFsPHQmJih0aGlzLnRpY2tJbnRlcnZhbD10KSx0aGlzLmRhdGVUaW1lfHx0aGlzLmxvZ2FyaXRobWljfHxwfHwodGhpcy50aWNrSW50ZXJ2YWw9TSh0aGlzLnRpY2tJbnRlcnZhbCx2b2lkIDAsdyh0aGlzLnRpY2tJbnRlcnZhbCksTyhuLmFsbG93RGVjaW1hbHMsLjU+dGhpcy50aWNrSW50ZXJ2YWx8fHZvaWQgMCE9PXRoaXMudGlja0Ftb3VudCksISF0aGlzLnRpY2tBbW91bnQpKSx0aGlzLnRpY2tBbW91bnR8fCh0aGlzLnRpY2tJbnRlcnZhbD10aGlzLnVuc3F1aXNoKCkpLHRoaXMuc2V0VGlja1Bvc2l0aW9ucygpfSx0LnByb3RvdHlwZS5zZXRUaWNrUG9zaXRpb25zPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGU9dC50aWNrUG9zaXRpb25zLGk9dGhpcy5nZXRNaW5vclRpY2tJbnRlcnZhbCgpLG49dGhpcy5oYXNWZXJ0aWNhbFBhbm5pbmcoKSxyPSJjb2xvckF4aXMiPT09dGhpcy5jb2xsLG89KHJ8fCFuKSYmdC5zdGFydE9uVGljaztuPShyfHwhbikmJnQuZW5kT25UaWNrLHI9dC50aWNrUG9zaXRpb25lcix0aGlzLnRpY2ttYXJrT2Zmc2V0PXRoaXMuY2F0ZWdvcmllcyYmImJldHdlZW4iPT09dC50aWNrbWFya1BsYWNlbWVudCYmMT09PXRoaXMudGlja0ludGVydmFsPy41OjAsdGhpcy5taW5vclRpY2tJbnRlcnZhbD0iYXV0byI9PT1pJiZ0aGlzLnRpY2tJbnRlcnZhbD90aGlzLnRpY2tJbnRlcnZhbC81OmksdGhpcy5zaW5nbGU9dGhpcy5taW49PT10aGlzLm1heCYmZyh0aGlzLm1pbikmJiF0aGlzLnRpY2tBbW91bnQmJihwYXJzZUludCh0aGlzLm1pbiwxMCk9PT10aGlzLm1pbnx8ITEhPT10LmFsbG93RGVjaW1hbHMpLHRoaXMudGlja1Bvc2l0aW9ucz1pPWUmJmUuc2xpY2UoKSwhaSYmKHRoaXMub3JkaW5hbCYmdGhpcy5vcmRpbmFsLnBvc2l0aW9uc3x8ISgodGhpcy5tYXgtdGhpcy5taW4pL3RoaXMudGlja0ludGVydmFsPk1hdGgubWF4KDIqdGhpcy5sZW4sMjAwKSk/aT10aGlzLmRhdGVUaW1lP3RoaXMuZ2V0VGltZVRpY2tzKHRoaXMuZGF0ZVRpbWUubm9ybWFsaXplVGltZVRpY2tJbnRlcnZhbCh0aGlzLnRpY2tJbnRlcnZhbCx0LnVuaXRzKSx0aGlzLm1pbix0aGlzLm1heCx0LnN0YXJ0T2ZXZWVrLHRoaXMub3JkaW5hbCYmdGhpcy5vcmRpbmFsLnBvc2l0aW9ucyx0aGlzLmNsb3Nlc3RQb2ludFJhbmdlLCEwKTp0aGlzLmxvZ2FyaXRobWljP3RoaXMubG9nYXJpdGhtaWMuZ2V0TG9nVGlja1Bvc2l0aW9ucyh0aGlzLnRpY2tJbnRlcnZhbCx0aGlzLm1pbix0aGlzLm1heCk6dGhpcy5nZXRMaW5lYXJUaWNrUG9zaXRpb25zKHRoaXMudGlja0ludGVydmFsLHRoaXMubWluLHRoaXMubWF4KTooaT1bdGhpcy5taW4sdGhpcy5tYXhdLF8oMTksITEsdGhpcy5jaGFydCkpLGkubGVuZ3RoPnRoaXMubGVuJiYoaT1baVswXSxpLnBvcCgpXSxpWzBdPT09aVsxXSYmKGkubGVuZ3RoPTEpKSx0aGlzLnRpY2tQb3NpdGlvbnM9aSxyJiYocj1yLmFwcGx5KHRoaXMsW3RoaXMubWluLHRoaXMubWF4XSkpKSYmKHRoaXMudGlja1Bvc2l0aW9ucz1pPXIpLHRoaXMucGFkZGVkVGlja3M9aS5zbGljZSgwKSx0aGlzLnRyaW1UaWNrcyhpLG8sbiksdGhpcy5pc0xpbmtlZHx8KHRoaXMuc2luZ2xlJiYyPmkubGVuZ3RoJiYhdGhpcy5jYXRlZ29yaWVzJiYhdGhpcy5zZXJpZXMuc29tZSgoZnVuY3Rpb24odCl7cmV0dXJuIHQuaXMoImhlYXRtYXAiKSYmImJldHdlZW4iPT09dC5vcHRpb25zLnBvaW50UGxhY2VtZW50fSkpJiYodGhpcy5taW4tPS41LHRoaXMubWF4Kz0uNSksZXx8cnx8dGhpcy5hZGp1c3RUaWNrQW1vdW50KCkpLHgodGhpcywiYWZ0ZXJTZXRUaWNrUG9zaXRpb25zIil9LHQucHJvdG90eXBlLnRyaW1UaWNrcz1mdW5jdGlvbih0LGUsaSl7dmFyIG49dFswXSxyPXRbdC5sZW5ndGgtMV0sbz0hdGhpcy5pc09yZGluYWwmJnRoaXMubWluUG9pbnRPZmZzZXR8fDA7aWYoeCh0aGlzLCJ0cmltVGlja3MiKSwhdGhpcy5pc0xpbmtlZCl7aWYoZSYmLTEvMCE9PW4pdGhpcy5taW49bjtlbHNlIGZvcig7dGhpcy5taW4tbz50WzBdOyl0LnNoaWZ0KCk7aWYoaSl0aGlzLm1heD1yO2Vsc2UgZm9yKDt0aGlzLm1heCtvPHRbdC5sZW5ndGgtMV07KXQucG9wKCk7MD09PXQubGVuZ3RoJiZnKG4pJiYhdGhpcy5vcHRpb25zLnRpY2tQb3NpdGlvbnMmJnQucHVzaCgocituKS8yKX19LHQucHJvdG90eXBlLmFsaWduVG9PdGhlcnM9ZnVuY3Rpb24oKXt2YXIgdCxlPXt9LGk9dGhpcy5vcHRpb25zO3JldHVybiExIT09dGhpcy5jaGFydC5vcHRpb25zLmNoYXJ0LmFsaWduVGlja3MmJmkuYWxpZ25UaWNrcyYmITEhPT1pLnN0YXJ0T25UaWNrJiYhMSE9PWkuZW5kT25UaWNrJiYhdGhpcy5sb2dhcml0aG1pYyYmdGhpcy5jaGFydFt0aGlzLmNvbGxdLmZvckVhY2goKGZ1bmN0aW9uKGkpe3ZhciBuPWkub3B0aW9ucztuPVtpLmhvcml6P24ubGVmdDpuLnRvcCxuLndpZHRoLG4uaGVpZ2h0LG4ucGFuZV0uam9pbigpLGkuc2VyaWVzLmxlbmd0aCYmKGVbbl0/dD0hMDplW25dPTEpfSkpLHR9LHQucHJvdG90eXBlLmdldFRpY2tBbW91bnQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMsZT10LnRpY2tQaXhlbEludGVydmFsLGk9dC50aWNrQW1vdW50OyFnKHQudGlja0ludGVydmFsKSYmIWkmJnRoaXMubGVuPGUmJiF0aGlzLmlzUmFkaWFsJiYhdGhpcy5sb2dhcml0aG1pYyYmdC5zdGFydE9uVGljayYmdC5lbmRPblRpY2smJihpPTIpLCFpJiZ0aGlzLmFsaWduVG9PdGhlcnMoKSYmKGk9TWF0aC5jZWlsKHRoaXMubGVuL2UpKzEpLDQ+aSYmKHRoaXMuZmluYWxUaWNrQW10PWksaT01KSx0aGlzLnRpY2tBbW91bnQ9aX0sdC5wcm90b3R5cGUuYWRqdXN0VGlja0Ftb3VudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucyxlPXRoaXMudGlja0ludGVydmFsLGk9dGhpcy50aWNrUG9zaXRpb25zLG49dGhpcy50aWNrQW1vdW50LHI9dGhpcy5maW5hbFRpY2tBbXQsbz1pJiZpLmxlbmd0aCxhPU8odGhpcy50aHJlc2hvbGQsdGhpcy5zb2Z0VGhyZXNob2xkPzA6bnVsbCk7aWYodGhpcy5oYXNEYXRhKCkmJkModGhpcy5taW4pJiZDKHRoaXMubWF4KSl7aWYobzxuKXtmb3IoO2kubGVuZ3RoPG47KWkubGVuZ3RoJTJ8fHRoaXMubWluPT09YT9pLnB1c2gobShpW2kubGVuZ3RoLTFdK2UpKTppLnVuc2hpZnQobShpWzBdLWUpKTt0aGlzLnRyYW5zQSo9KG8tMSkvKG4tMSksdGhpcy5taW49dC5zdGFydE9uVGljaz9pWzBdOk1hdGgubWluKHRoaXMubWluLGlbMF0pLHRoaXMubWF4PXQuZW5kT25UaWNrP2lbaS5sZW5ndGgtMV06TWF0aC5tYXgodGhpcy5tYXgsaVtpLmxlbmd0aC0xXSl9ZWxzZSBvPm4mJih0aGlzLnRpY2tJbnRlcnZhbCo9Mix0aGlzLnNldFRpY2tQb3NpdGlvbnMoKSk7aWYoZyhyKSl7Zm9yKGU9dD1pLmxlbmd0aDtlLS07KSgzPT09ciYmMT09PWUlMnx8Mj49ciYmMDxlJiZlPHQtMSkmJmkuc3BsaWNlKGUsMSk7dGhpcy5maW5hbFRpY2tBbXQ9dm9pZCAwfX19LHQucHJvdG90eXBlLnNldFNjYWxlPWZ1bmN0aW9uKCl7dmFyIHQ9ITEsZT0hMTt0aGlzLnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihpKXt0PXR8fGkuaXNEaXJ0eURhdGF8fGkuaXNEaXJ0eSxlPWV8fGkueEF4aXMmJmkueEF4aXMuaXNEaXJ0eXx8ITF9KSksdGhpcy5zZXRBeGlzU2l6ZSgpO3ZhciBpPXRoaXMubGVuIT09KHRoaXMub2xkJiZ0aGlzLm9sZC5sZW4pO2l8fHR8fGV8fHRoaXMuaXNMaW5rZWR8fHRoaXMuZm9yY2VSZWRyYXd8fHRoaXMudXNlck1pbiE9PSh0aGlzLm9sZCYmdGhpcy5vbGQudXNlck1pbil8fHRoaXMudXNlck1heCE9PSh0aGlzLm9sZCYmdGhpcy5vbGQudXNlck1heCl8fHRoaXMuYWxpZ25Ub090aGVycygpPyh0aGlzLnN0YWNraW5nJiZ0aGlzLnN0YWNraW5nLnJlc2V0U3RhY2tzKCksdGhpcy5mb3JjZVJlZHJhdz0hMSx0aGlzLmdldFNlcmllc0V4dHJlbWVzKCksdGhpcy5zZXRUaWNrSW50ZXJ2YWwoKSx0aGlzLmlzRGlydHl8fCh0aGlzLmlzRGlydHk9aXx8dGhpcy5taW4hPT0odGhpcy5vbGQmJnRoaXMub2xkLm1pbil8fHRoaXMubWF4IT09KHRoaXMub2xkJiZ0aGlzLm9sZC5tYXgpKSk6dGhpcy5zdGFja2luZyYmdGhpcy5zdGFja2luZy5jbGVhblN0YWNrcygpLHQmJnRoaXMucGFubmluZ1N0YXRlJiYodGhpcy5wYW5uaW5nU3RhdGUuaXNEaXJ0eT0hMCkseCh0aGlzLCJhZnRlclNldFNjYWxlIil9LHQucHJvdG90eXBlLnNldEV4dHJlbWVzPWZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG89dGhpcyxhPW8uY2hhcnQ7aT1PKGksITApLG8uc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2RlbGV0ZSB0LmtkVHJlZX0pKSxyPWIocix7bWluOnQsbWF4OmV9KSx4KG8sInNldEV4dHJlbWVzIixyLChmdW5jdGlvbigpe28udXNlck1pbj10LG8udXNlck1heD1lLG8uZXZlbnRBcmdzPXIsaSYmYS5yZWRyYXcobil9KSl9LHQucHJvdG90eXBlLnpvb209ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLG49dGhpcy5kYXRhTWluLHI9dGhpcy5kYXRhTWF4LG89dGhpcy5vcHRpb25zLGE9TWF0aC5taW4obixPKG8ubWluLG4pKSxzPU1hdGgubWF4KHIsTyhvLm1heCxyKSk7cmV0dXJuIHQ9e25ld01pbjp0LG5ld01heDplfSx4KHRoaXMsInpvb20iLHQsKGZ1bmN0aW9uKHQpe3ZhciBlPXQubmV3TWluLG89dC5uZXdNYXg7ZT09PWkubWluJiZvPT09aS5tYXh8fChpLmFsbG93Wm9vbU91dHNpZGV8fChnKG4pJiYoZTxhJiYoZT1hKSxlPnMmJihlPXMpKSxnKHIpJiYobzxhJiYobz1hKSxvPnMmJihvPXMpKSksaS5kaXNwbGF5QnRuPSJ1bmRlZmluZWQiIT09dHlwZW9mIGV8fCJ1bmRlZmluZWQiIT09dHlwZW9mIG8saS5zZXRFeHRyZW1lcyhlLG8sITEsdm9pZCAwLHt0cmlnZ2VyOiJ6b29tIn0pKSx0Lnpvb21lZD0hMH0pKSx0Lnpvb21lZH0sdC5wcm90b3R5cGUuc2V0QXhpc1NpemU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNoYXJ0LGU9dGhpcy5vcHRpb25zLGk9ZS5vZmZzZXRzfHxbMCwwLDAsMF0sbj10aGlzLmhvcml6LHI9dGhpcy53aWR0aD1NYXRoLnJvdW5kKFQoTyhlLndpZHRoLHQucGxvdFdpZHRoLWlbM10raVsxXSksdC5wbG90V2lkdGgpKSxvPXRoaXMuaGVpZ2h0PU1hdGgucm91bmQoVChPKGUuaGVpZ2h0LHQucGxvdEhlaWdodC1pWzBdK2lbMl0pLHQucGxvdEhlaWdodCkpLGE9dGhpcy50b3A9TWF0aC5yb3VuZChUKE8oZS50b3AsdC5wbG90VG9wK2lbMF0pLHQucGxvdEhlaWdodCx0LnBsb3RUb3ApKTtlPXRoaXMubGVmdD1NYXRoLnJvdW5kKFQoTyhlLmxlZnQsdC5wbG90TGVmdCtpWzNdKSx0LnBsb3RXaWR0aCx0LnBsb3RMZWZ0KSksdGhpcy5ib3R0b209dC5jaGFydEhlaWdodC1vLWEsdGhpcy5yaWdodD10LmNoYXJ0V2lkdGgtci1lLHRoaXMubGVuPU1hdGgubWF4KG4/cjpvLDApLHRoaXMucG9zPW4/ZTphfSx0LnByb3RvdHlwZS5nZXRFeHRyZW1lcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMubG9nYXJpdGhtaWM7cmV0dXJue21pbjp0P20odC5saW4ybG9nKHRoaXMubWluKSk6dGhpcy5taW4sbWF4OnQ/bSh0LmxpbjJsb2codGhpcy5tYXgpKTp0aGlzLm1heCxkYXRhTWluOnRoaXMuZGF0YU1pbixkYXRhTWF4OnRoaXMuZGF0YU1heCx1c2VyTWluOnRoaXMudXNlck1pbix1c2VyTWF4OnRoaXMudXNlck1heH19LHQucHJvdG90eXBlLmdldFRocmVzaG9sZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmxvZ2FyaXRobWljLGk9ZT9lLmxpbjJsb2codGhpcy5taW4pOnRoaXMubWluO3JldHVybiBlPWU/ZS5saW4ybG9nKHRoaXMubWF4KTp0aGlzLm1heCxudWxsPT09dHx8LTEvMD09PXQ/dD1pOjEvMD09PXQ/dD1lOmk+dD90PWk6ZTx0JiYodD1lKSx0aGlzLnRyYW5zbGF0ZSh0LDAsMSwwLDEpfSx0LnByb3RvdHlwZS5hdXRvTGFiZWxBbGlnbj1mdW5jdGlvbih0KXt2YXIgZT0oTyh0LDApLTkwKnRoaXMuc2lkZSs3MjApJTM2MDtyZXR1cm4gdD17YWxpZ246ImNlbnRlciJ9LHgodGhpcywiYXV0b0xhYmVsQWxpZ24iLHQsKGZ1bmN0aW9uKHQpezE1PGUmJjE2NT5lP3QuYWxpZ249InJpZ2h0IjoxOTU8ZSYmMzQ1PmUmJih0LmFsaWduPSJsZWZ0Iil9KSksdC5hbGlnbn0sdC5wcm90b3R5cGUudGlja1NpemU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5vcHRpb25zLGk9TyhlWyJ0aWNrIj09PXQ/InRpY2tXaWR0aCI6Im1pbm9yVGlja1dpZHRoIl0sInRpY2siPT09dCYmdGhpcy5pc1hBeGlzJiYhdGhpcy5jYXRlZ29yaWVzPzE6MCksbj1lWyJ0aWNrIj09PXQ/InRpY2tMZW5ndGgiOiJtaW5vclRpY2tMZW5ndGgiXTtpZihpJiZuKXsiaW5zaWRlIj09PWVbdCsiUG9zaXRpb24iXSYmKG49LW4pO3ZhciByPVtuLGldfXJldHVybiB0PXt0aWNrU2l6ZTpyfSx4KHRoaXMsImFmdGVyVGlja1NpemUiLHQpLHQudGlja1NpemV9LHQucHJvdG90eXBlLmxhYmVsTWV0cmljcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMudGlja1Bvc2l0aW9ucyYmdGhpcy50aWNrUG9zaXRpb25zWzBdfHwwO3JldHVybiB0aGlzLmNoYXJ0LnJlbmRlcmVyLmZvbnRNZXRyaWNzKHRoaXMub3B0aW9ucy5sYWJlbHMuc3R5bGUuZm9udFNpemUsdGhpcy50aWNrc1t0XSYmdGhpcy50aWNrc1t0XS5sYWJlbCl9LHQucHJvdG90eXBlLnVuc3F1aXNoPWZ1bmN0aW9uKCl7dmFyIHQsZSxpPXRoaXMub3B0aW9ucy5sYWJlbHMsbj10aGlzLmhvcml6LHI9dGhpcy50aWNrSW50ZXJ2YWwsbz10aGlzLmxlbi8oKCh0aGlzLmNhdGVnb3JpZXM/MTowKSt0aGlzLm1heC10aGlzLm1pbikvciksYT1pLnJvdGF0aW9uLHM9dGhpcy5sYWJlbE1ldHJpY3MoKSxjPU1hdGgubWF4KHRoaXMubWF4LXRoaXMubWluLDApLGg9ZnVuY3Rpb24odCl7dmFyIGU9dC8ob3x8MSk7cmV0dXJuIGU9MTxlP01hdGguY2VpbChlKToxLGUqcj5jJiYxLzAhPT10JiYxLzAhPT1vJiZjJiYoZT1NYXRoLmNlaWwoYy9yKSksbShlKnIpfSxsPXIsZD1OdW1iZXIuTUFYX1ZBTFVFO2lmKG4pe2lmKCFpLnN0YWdnZXJMaW5lcyYmIWkuc3RlcClpZihDKGEpKXZhciB1PVthXTtlbHNlIG88aS5hdXRvUm90YXRpb25MaW1pdCYmKHU9aS5hdXRvUm90YXRpb24pO3UmJnUuZm9yRWFjaCgoZnVuY3Rpb24oaSl7aWYoaT09PWF8fGkmJi05MDw9aSYmOTA+PWkpe2U9aChNYXRoLmFicyhzLmgvTWF0aC5zaW4ocCppKSkpO3ZhciBuPWUrTWF0aC5hYnMoaS8zNjApO248ZCYmKGQ9bix0PWksbD1lKX19KSl9ZWxzZSBpLnN0ZXB8fChsPWgocy5oKSk7cmV0dXJuIHRoaXMuYXV0b1JvdGF0aW9uPXUsdGhpcy5sYWJlbFJvdGF0aW9uPU8odCxDKGEpP2E6MCksbH0sdC5wcm90b3R5cGUuZ2V0U2xvdFdpZHRoPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQsaT10aGlzLmhvcml6LG49dGhpcy5vcHRpb25zLmxhYmVscyxyPU1hdGgubWF4KHRoaXMudGlja1Bvc2l0aW9ucy5sZW5ndGgtKHRoaXMuY2F0ZWdvcmllcz8wOjEpLDEpLG89ZS5tYXJnaW5bM107aWYodCYmQyh0LnNsb3RXaWR0aCkpcmV0dXJuIHQuc2xvdFdpZHRoO2lmKGkmJjI+bi5zdGVwKXJldHVybiBuLnJvdGF0aW9uPzA6KHRoaXMuc3RhZ2dlckxpbmVzfHwxKSp0aGlzLmxlbi9yO2lmKCFpKXtpZih0PW4uc3R5bGUud2lkdGgsdm9pZCAwIT09dClyZXR1cm4gcGFyc2VJbnQoU3RyaW5nKHQpLDEwKTtpZihvKXJldHVybiBvLWUuc3BhY2luZ1szXX1yZXR1cm4uMzMqZS5jaGFydFdpZHRofSx0LnByb3RvdHlwZS5yZW5kZXJVbnNxdWlzaD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuY2hhcnQsZT10LnJlbmRlcmVyLGk9dGhpcy50aWNrUG9zaXRpb25zLG49dGhpcy50aWNrcyxyPXRoaXMub3B0aW9ucy5sYWJlbHMsbz1yLnN0eWxlLGE9dGhpcy5ob3JpeixzPXRoaXMuZ2V0U2xvdFdpZHRoKCksYz1NYXRoLm1heCgxLE1hdGgucm91bmQocy0yKnIucGFkZGluZykpLGg9e30sbD10aGlzLmxhYmVsTWV0cmljcygpLHA9by50ZXh0T3ZlcmZsb3csZD0wO2lmKFMoci5yb3RhdGlvbil8fChoLnJvdGF0aW9uPXIucm90YXRpb258fDApLGkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dD1uW3RdLHQubW92ZWRMYWJlbCYmdC5yZXBsYWNlTW92ZWRMYWJlbCgpLHQmJnQubGFiZWwmJnQubGFiZWwudGV4dFB4TGVuZ3RoPmQmJihkPXQubGFiZWwudGV4dFB4TGVuZ3RoKX0pKSx0aGlzLm1heExhYmVsTGVuZ3RoPWQsdGhpcy5hdXRvUm90YXRpb24pZD5jJiZkPmwuaD9oLnJvdGF0aW9uPXRoaXMubGFiZWxSb3RhdGlvbjp0aGlzLmxhYmVsUm90YXRpb249MDtlbHNlIGlmKHMpe3ZhciB1PWM7aWYoIXApe3ZhciBmPSJjbGlwIjtmb3IoYz1pLmxlbmd0aDshYSYmYy0tOyl7dmFyIG09aVtjXTsobT1uW21dLmxhYmVsKSYmKG0uc3R5bGVzJiYiZWxsaXBzaXMiPT09bS5zdHlsZXMudGV4dE92ZXJmbG93P20uY3NzKHt0ZXh0T3ZlcmZsb3c6ImNsaXAifSk6bS50ZXh0UHhMZW5ndGg+cyYmbS5jc3Moe3dpZHRoOnMrInB4In0pLG0uZ2V0QkJveCgpLmhlaWdodD50aGlzLmxlbi9pLmxlbmd0aC0obC5oLWwuZikmJihtLnNwZWNpZmljVGV4dE92ZXJmbG93PSJlbGxpcHNpcyIpKX19fWgucm90YXRpb24mJih1PWQ+LjUqdC5jaGFydEhlaWdodD8uMzMqdC5jaGFydEhlaWdodDpkLHB8fChmPSJlbGxpcHNpcyIpKSwodGhpcy5sYWJlbEFsaWduPXIuYWxpZ258fHRoaXMuYXV0b0xhYmVsQWxpZ24odGhpcy5sYWJlbFJvdGF0aW9uKSkmJihoLmFsaWduPXRoaXMubGFiZWxBbGlnbiksaS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT0odD1uW3RdKSYmdC5sYWJlbCxpPW8ud2lkdGgscj17fTtlJiYoZS5hdHRyKGgpLHQuc2hvcnRlbkxhYmVsP3Quc2hvcnRlbkxhYmVsKCk6dSYmIWkmJiJub3dyYXAiIT09by53aGl0ZVNwYWNlJiYodTxlLnRleHRQeExlbmd0aHx8IlNQQU4iPT09ZS5lbGVtZW50LnRhZ05hbWUpPyhyLndpZHRoPXUrInB4IixwfHwoci50ZXh0T3ZlcmZsb3c9ZS5zcGVjaWZpY1RleHRPdmVyZmxvd3x8ZiksZS5jc3MocikpOmUuc3R5bGVzJiZlLnN0eWxlcy53aWR0aCYmIXIud2lkdGgmJiFpJiZlLmNzcyh7d2lkdGg6bnVsbH0pLGRlbGV0ZSBlLnNwZWNpZmljVGV4dE92ZXJmbG93LHQucm90YXRpb249aC5yb3RhdGlvbil9KSx0aGlzKSx0aGlzLnRpY2tSb3RDb3JyPWUucm90Q29ycihsLmIsdGhpcy5sYWJlbFJvdGF0aW9ufHwwLDAhPT10aGlzLnNpZGUpfSx0LnByb3RvdHlwZS5oYXNEYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2VyaWVzLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0Lmhhc0RhdGEoKX0pKXx8dGhpcy5vcHRpb25zLnNob3dFbXB0eSYmZyh0aGlzLm1pbikmJmcodGhpcy5tYXgpfSx0LnByb3RvdHlwZS5hZGRUaXRsZT1mdW5jdGlvbih0KXt2YXIgZSxpPXRoaXMuY2hhcnQucmVuZGVyZXIsbj10aGlzLmhvcml6LHI9dGhpcy5vcHBvc2l0ZSxvPXRoaXMub3B0aW9ucy50aXRsZSxhPXRoaXMuY2hhcnQuc3R5bGVkTW9kZTt0aGlzLmF4aXNUaXRsZXx8KChlPW8udGV4dEFsaWduKXx8KGU9KG4/e2xvdzoibGVmdCIsbWlkZGxlOiJjZW50ZXIiLGhpZ2g6InJpZ2h0In06e2xvdzpyPyJyaWdodCI6ImxlZnQiLG1pZGRsZToiY2VudGVyIixoaWdoOnI/ImxlZnQiOiJyaWdodCJ9KVtvLmFsaWduXSksdGhpcy5heGlzVGl0bGU9aS50ZXh0KG8udGV4dHx8IiIsMCwwLG8udXNlSFRNTCkuYXR0cih7ekluZGV4Ojcscm90YXRpb246by5yb3RhdGlvbixhbGlnbjplfSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtYXhpcy10aXRsZSIpLGF8fHRoaXMuYXhpc1RpdGxlLmNzcyhBKG8uc3R5bGUpKSx0aGlzLmF4aXNUaXRsZS5hZGQodGhpcy5heGlzR3JvdXApLHRoaXMuYXhpc1RpdGxlLmlzTmV3PSEwKSxhfHxvLnN0eWxlLndpZHRofHx0aGlzLmlzUmFkaWFsfHx0aGlzLmF4aXNUaXRsZS5jc3Moe3dpZHRoOnRoaXMubGVuKyJweCJ9KSx0aGlzLmF4aXNUaXRsZVt0PyJzaG93IjoiaGlkZSJdKHQpfSx0LnByb3RvdHlwZS5nZW5lcmF0ZVRpY2s9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy50aWNrcztlW3RdP2VbdF0uYWRkTGFiZWwoKTplW3RdPW5ldyBhKHRoaXMsdCl9LHQucHJvdG90eXBlLmdldE9mZnNldD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLGk9ZS5jaGFydCxuPWUuaG9yaXoscj1lLm9wdGlvbnMsbz1lLnNpZGUsYT1lLnRpY2tzLHM9ZS50aWNrUG9zaXRpb25zLGM9ZS5jb2xsLGg9ZS5heGlzUGFyZW50LGw9aS5yZW5kZXJlcixwPWkuaW52ZXJ0ZWQmJiFlLmlzWkF4aXM/WzEsMCwzLDJdW29dOm8sZD1lLmhhc0RhdGEoKSx1PXIudGl0bGUsZj1yLmxhYmVscyxtPWkuYXhpc09mZnNldDtpPWkuY2xpcE9mZnNldDt2YXIgdix5PVstMSwxLDEsLTFdW29dLF89ci5jbGFzc05hbWUsYj0wLHc9MCxrPTA7aWYoZS5zaG93QXhpcz12PWR8fHIuc2hvd0VtcHR5LGUuc3RhZ2dlckxpbmVzPWUuaG9yaXomJmYuc3RhZ2dlckxpbmVzfHx2b2lkIDAsIWUuYXhpc0dyb3VwKXt2YXIgQz1mdW5jdGlvbihlLGksbil7cmV0dXJuIGwuZyhlKS5hdHRyKHt6SW5kZXg6bn0pLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIrYy50b0xvd2VyQ2FzZSgpK2krIiAiKyh0LmlzUmFkaWFsPyJoaWdoY2hhcnRzLXJhZGlhbC1heGlzIitpKyIgIjoiIikrKF98fCIiKSkuYWRkKGgpfTtlLmdyaWRHcm91cD1DKCJncmlkIiwiLWdyaWQiLHIuZ3JpZFpJbmRleCksZS5heGlzR3JvdXA9QygiYXhpcyIsIiIsci56SW5kZXgpLGUubGFiZWxHcm91cD1DKCJheGlzLWxhYmVscyIsIi1sYWJlbHMiLGYuekluZGV4KX1pZihkfHxlLmlzTGlua2VkPyhzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2UuZ2VuZXJhdGVUaWNrKHQpfSkpLGUucmVuZGVyVW5zcXVpc2goKSxlLnJlc2VydmVTcGFjZURlZmF1bHQ9MD09PW98fDI9PT1vfHx7MToibGVmdCIsMzoicmlnaHQifVtvXT09PWUubGFiZWxBbGlnbixPKGYucmVzZXJ2ZVNwYWNlLCJjZW50ZXIiPT09ZS5sYWJlbEFsaWdufHxudWxsLGUucmVzZXJ2ZVNwYWNlRGVmYXVsdCkmJnMuZm9yRWFjaCgoZnVuY3Rpb24odCl7az1NYXRoLm1heChhW3RdLmdldExhYmVsU2l6ZSgpLGspfSkpLGUuc3RhZ2dlckxpbmVzJiYoayo9ZS5zdGFnZ2VyTGluZXMpLGUubGFiZWxPZmZzZXQ9ayooZS5vcHBvc2l0ZT8tMToxKSk6UChhLChmdW5jdGlvbih0LGUpe3QuZGVzdHJveSgpLGRlbGV0ZSBhW2VdfSkpLHUmJnUudGV4dCYmITEhPT11LmVuYWJsZWQmJihlLmFkZFRpdGxlKHYpLHYmJiExIT09dS5yZXNlcnZlU3BhY2UpKXtlLnRpdGxlT2Zmc2V0PWI9ZS5heGlzVGl0bGUuZ2V0QkJveCgpW24/ImhlaWdodCI6IndpZHRoIl07dmFyIFM9dS5vZmZzZXQ7dz1nKFMpPzA6Tyh1Lm1hcmdpbixuPzU6MTApfWUucmVuZGVyTGluZSgpLGUub2Zmc2V0PXkqTyhyLm9mZnNldCxtW29dP21bb10rKHIubWFyZ2lufHwwKTowKSxlLnRpY2tSb3RDb3JyPWUudGlja1JvdENvcnJ8fHt4OjAseTowfSx1PTA9PT1vPy1lLmxhYmVsTWV0cmljcygpLmg6Mj09PW8/ZS50aWNrUm90Q29yci55OjAsZD1NYXRoLmFicyhrKSt3LGsmJihkPWQtdSt5KihuP08oZi55LGUudGlja1JvdENvcnIueSs4KnkpOmYueCkpLGUuYXhpc1RpdGxlTWFyZ2luPU8oUyxkKSxlLmdldE1heExhYmVsRGltZW5zaW9ucyYmKGUubWF4TGFiZWxEaW1lbnNpb25zPWUuZ2V0TWF4TGFiZWxEaW1lbnNpb25zKGEscykpLCJjb2xvckF4aXMiIT09YyYmKG49dGhpcy50aWNrU2l6ZSgidGljayIpLG1bb109TWF0aC5tYXgobVtvXSwoZS5heGlzVGl0bGVNYXJnaW58fDApK2IreSplLm9mZnNldCxkLHMmJnMubGVuZ3RoJiZuP25bMF0reSplLm9mZnNldDowKSxyPSFlLmF4aXNMaW5lfHxyLm9mZnNldD8wOjIqTWF0aC5mbG9vcihlLmF4aXNMaW5lLnN0cm9rZVdpZHRoKCkvMiksaVtwXT1NYXRoLm1heChpW3BdLHIpKSx4KHRoaXMsImFmdGVyR2V0T2Zmc2V0Iil9LHQucHJvdG90eXBlLmdldExpbmVQYXRoPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQsaT10aGlzLm9wcG9zaXRlLG49dGhpcy5vZmZzZXQscj10aGlzLmhvcml6LG89dGhpcy5sZWZ0KyhpP3RoaXMud2lkdGg6MCkrbjtyZXR1cm4gbj1lLmNoYXJ0SGVpZ2h0LXRoaXMuYm90dG9tLShpP3RoaXMuaGVpZ2h0OjApK24saSYmKHQqPS0xKSxlLnJlbmRlcmVyLmNyaXNwTGluZShbWyJNIixyP3RoaXMubGVmdDpvLHI/bjp0aGlzLnRvcF0sWyJMIixyP2UuY2hhcnRXaWR0aC10aGlzLnJpZ2h0Om8scj9uOmUuY2hhcnRIZWlnaHQtdGhpcy5ib3R0b21dXSx0KX0sdC5wcm90b3R5cGUucmVuZGVyTGluZT1mdW5jdGlvbigpe3RoaXMuYXhpc0xpbmV8fCh0aGlzLmF4aXNMaW5lPXRoaXMuY2hhcnQucmVuZGVyZXIucGF0aCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLWF4aXMtbGluZSIpLmFkZCh0aGlzLmF4aXNHcm91cCksdGhpcy5jaGFydC5zdHlsZWRNb2RlfHx0aGlzLmF4aXNMaW5lLmF0dHIoe3N0cm9rZTp0aGlzLm9wdGlvbnMubGluZUNvbG9yLCJzdHJva2Utd2lkdGgiOnRoaXMub3B0aW9ucy5saW5lV2lkdGgsekluZGV4Ojd9KSl9LHQucHJvdG90eXBlLmdldFRpdGxlUG9zaXRpb249ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmhvcml6LGU9dGhpcy5sZWZ0LGk9dGhpcy50b3Asbj10aGlzLmxlbixyPXRoaXMub3B0aW9ucy50aXRsZSxvPXQ/ZTppLGE9dGhpcy5vcHBvc2l0ZSxzPXRoaXMub2Zmc2V0LGM9ci54LGg9ci55LGw9dGhpcy5heGlzVGl0bGUscD10aGlzLmNoYXJ0LnJlbmRlcmVyLmZvbnRNZXRyaWNzKHIuc3R5bGUuZm9udFNpemUsbCk7cmV0dXJuIGw9TWF0aC5tYXgobC5nZXRCQm94KG51bGwsMCkuaGVpZ2h0LXAuaC0xLDApLG49e2xvdzpvKyh0PzA6biksbWlkZGxlOm8rbi8yLGhpZ2g6bysodD9uOjApfVtyLmFsaWduXSxlPSh0P2krdGhpcy5oZWlnaHQ6ZSkrKHQ/MTotMSkqKGE/LTE6MSkqdGhpcy5heGlzVGl0bGVNYXJnaW4rWy1sLGwscC5mLC1sXVt0aGlzLnNpZGVdLHQ9e3g6dD9uK2M6ZSsoYT90aGlzLndpZHRoOjApK3MrYyx5OnQ/ZStoLShhP3RoaXMuaGVpZ2h0OjApK3M6bitofSx4KHRoaXMsImFmdGVyR2V0VGl0bGVQb3NpdGlvbiIse3RpdGxlUG9zaXRpb246dH0pLHR9LHQucHJvdG90eXBlLnJlbmRlck1pbm9yVGljaz1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMubWlub3JUaWNrcztpW3RdfHwoaVt0XT1uZXcgYSh0aGlzLHQsIm1pbm9yIikpLGUmJmlbdF0uaXNOZXcmJmlbdF0ucmVuZGVyKG51bGwsITApLGlbdF0ucmVuZGVyKG51bGwsITEsMSl9LHQucHJvdG90eXBlLnJlbmRlclRpY2s9ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXRoaXMudGlja3M7KCF0aGlzLmlzTGlua2VkfHx0Pj10aGlzLm1pbiYmdDw9dGhpcy5tYXh8fHRoaXMuZ3JpZCYmdGhpcy5ncmlkLmlzQ29sdW1uKSYmKG5bdF18fChuW3RdPW5ldyBhKHRoaXMsdCkpLGkmJm5bdF0uaXNOZXcmJm5bdF0ucmVuZGVyKGUsITAsLTEpLG5bdF0ucmVuZGVyKGUpKX0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7dmFyIHQsZSxpPXRoaXMsbj1pLmNoYXJ0LHI9aS5sb2dhcml0aG1pYyxzPWkub3B0aW9ucyxoPWkuaXNMaW5rZWQsbD1pLnRpY2tQb3NpdGlvbnMscD1pLmF4aXNUaXRsZSxkPWkudGlja3MsdT1pLm1pbm9yVGlja3MsZj1pLmFsdGVybmF0ZUJhbmRzLG09cy5zdGFja0xhYmVscyxnPXMuYWx0ZXJuYXRlR3JpZENvbG9yLHY9aS50aWNrbWFya09mZnNldCx5PWkuYXhpc0xpbmUsXz1pLnNob3dBeGlzLGI9YyhuLnJlbmRlcmVyLmdsb2JhbEFuaW1hdGlvbik7aWYoaS5sYWJlbEVkZ2UubGVuZ3RoPTAsaS5vdmVybGFwPSExLFtkLHUsZl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7UCh0LChmdW5jdGlvbih0KXt0LmlzQWN0aXZlPSExfSkpfSkpLGkuaGFzRGF0YSgpfHxoKXt2YXIgdz1pLmNoYXJ0Lmhhc1JlbmRlcmVkJiZpLm9sZCYmQyhpLm9sZC5taW4pO2kubWlub3JUaWNrSW50ZXJ2YWwmJiFpLmNhdGVnb3JpZXMmJmkuZ2V0TWlub3JUaWNrUG9zaXRpb25zKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7aS5yZW5kZXJNaW5vclRpY2sodCx3KX0pKSxsLmxlbmd0aCYmKGwuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXtpLnJlbmRlclRpY2sodCxlLHcpfSkpLHYmJigwPT09aS5taW58fGkuc2luZ2xlKSYmKGRbLTFdfHwoZFstMV09bmV3IGEoaSwtMSxudWxsLCEwKSksZFstMV0ucmVuZGVyKC0xKSkpLGcmJmwuZm9yRWFjaCgoZnVuY3Rpb24oYSxzKXtlPSJ1bmRlZmluZWQiIT09dHlwZW9mIGxbcysxXT9sW3MrMV0rdjppLm1heC12LDA9PT1zJTImJmE8aS5tYXgmJmU8PWkubWF4KyhuLnBvbGFyPy12OnYpJiYoZlthXXx8KGZbYV09bmV3IG8uUGxvdExpbmVPckJhbmQoaSkpLHQ9YSt2LGZbYV0ub3B0aW9ucz17ZnJvbTpyP3IubGluMmxvZyh0KTp0LHRvOnI/ci5saW4ybG9nKGUpOmUsY29sb3I6ZyxjbGFzc05hbWU6ImhpZ2hjaGFydHMtYWx0ZXJuYXRlLWdyaWQifSxmW2FdLnJlbmRlcigpLGZbYV0uaXNBY3RpdmU9ITApfSkpLGkuX2FkZGVkUGxvdExCfHwoaS5fYWRkZWRQbG90TEI9ITAsKHMucGxvdExpbmVzfHxbXSkuY29uY2F0KHMucGxvdEJhbmRzfHxbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7aS5hZGRQbG90QmFuZE9yTGluZSh0KX0pKSl9W2QsdSxmXS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT1bXSxpPWIuZHVyYXRpb247UCh0LChmdW5jdGlvbih0LGkpe3QuaXNBY3RpdmV8fCh0LnJlbmRlcihpLCExLDApLHQuaXNBY3RpdmU9ITEsZS5wdXNoKGkpKX0pKSxqKChmdW5jdGlvbigpe2Zvcih2YXIgaT1lLmxlbmd0aDtpLS07KXRbZVtpXV0mJiF0W2VbaV1dLmlzQWN0aXZlJiYodFtlW2ldXS5kZXN0cm95KCksZGVsZXRlIHRbZVtpXV0pfSksdCE9PWYmJm4uaGFzUmVuZGVyZWQmJmk/aTowKX0pKSx5JiYoeVt5LmlzUGxhY2VkPyJhbmltYXRlIjoiYXR0ciJdKHtkOnRoaXMuZ2V0TGluZVBhdGgoeS5zdHJva2VXaWR0aCgpKX0pLHkuaXNQbGFjZWQ9ITAseVtfPyJzaG93IjoiaGlkZSJdKF8pKSxwJiZfJiYocz1pLmdldFRpdGxlUG9zaXRpb24oKSxDKHMueSk/KHBbcC5pc05ldz8iYXR0ciI6ImFuaW1hdGUiXShzKSxwLmlzTmV3PSExKToocC5hdHRyKCJ5IiwtOTk5OSkscC5pc05ldz0hMCkpLG0mJm0uZW5hYmxlZCYmaS5zdGFja2luZyYmaS5zdGFja2luZy5yZW5kZXJTdGFja1RvdGFscygpLGkub2xkPXtsZW46aS5sZW4sbWF4OmkubWF4LG1pbjppLm1pbix0cmFuc0E6aS50cmFuc0EsdXNlck1heDppLnVzZXJNYXgsdXNlck1pbjppLnVzZXJNaW59LGkuaXNEaXJ0eT0hMSx4KHRoaXMsImFmdGVyUmVuZGVyIil9LHQucHJvdG90eXBlLnJlZHJhdz1mdW5jdGlvbigpe3RoaXMudmlzaWJsZSYmKHRoaXMucmVuZGVyKCksdGhpcy5wbG90TGluZXNBbmRCYW5kcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnJlbmRlcigpfSkpKSx0aGlzLnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmlzRGlydHk9ITB9KSl9LHQucHJvdG90eXBlLmdldEtlZXBQcm9wcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmtlZXBQcm9wc3x8dC5rZWVwUHJvcHN9LHQucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPWUucGxvdExpbmVzQW5kQmFuZHMsbj10aGlzLmV2ZW50T3B0aW9ucztpZih4KHRoaXMsImRlc3Ryb3kiLHtrZWVwRXZlbnRzOnR9KSx0fHxFKGUpLFtlLnRpY2tzLGUubWlub3JUaWNrcyxlLmFsdGVybmF0ZUJhbmRzXS5mb3JFYWNoKChmdW5jdGlvbih0KXt2KHQpfSkpLGkpZm9yKHQ9aS5sZW5ndGg7dC0tOylpW3RdLmRlc3Ryb3koKTtmb3IodmFyIHIgaW4iYXhpc0xpbmUgYXhpc1RpdGxlIGF4aXNHcm91cCBncmlkR3JvdXAgbGFiZWxHcm91cCBjcm9zcyBzY3JvbGxiYXIiLnNwbGl0KCIgIikuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZVt0XSYmKGVbdF09ZVt0XS5kZXN0cm95KCkpfSkpLGUucGxvdExpbmVzQW5kQmFuZHNHcm91cHMpZS5wbG90TGluZXNBbmRCYW5kc0dyb3Vwc1tyXT1lLnBsb3RMaW5lc0FuZEJhbmRzR3JvdXBzW3JdLmRlc3Ryb3koKTtQKGUsKGZ1bmN0aW9uKHQsaSl7LTE9PT1lLmdldEtlZXBQcm9wcygpLmluZGV4T2YoaSkmJmRlbGV0ZSBlW2ldfSkpLHRoaXMuZXZlbnRPcHRpb25zPW59LHQucHJvdG90eXBlLmRyYXdDcm9zc2hhaXI9ZnVuY3Rpb24odCxlKXt2YXIgbixyPXRoaXMuY3Jvc3NoYWlyLG89TyhyJiZyLnNuYXAsITApLGE9dGhpcy5jaGFydCxzPXRoaXMuY3Jvc3M7aWYoeCh0aGlzLCJkcmF3Q3Jvc3NoYWlyIix7ZTp0LHBvaW50OmV9KSx0fHwodD10aGlzLmNyb3NzJiZ0aGlzLmNyb3NzLmUpLHImJiExIT09KGcoZSl8fCFvKSl7aWYobz9nKGUpJiYobj1PKCJjb2xvckF4aXMiIT09dGhpcy5jb2xsP2UuY3Jvc3NoYWlyUG9zOm51bGwsdGhpcy5pc1hBeGlzP2UucGxvdFg6dGhpcy5sZW4tZS5wbG90WSkpOm49dCYmKHRoaXMuaG9yaXo/dC5jaGFydFgtdGhpcy5wb3M6dGhpcy5sZW4tdC5jaGFydFkrdGhpcy5wb3MpLGcobikpe3ZhciBjPXt2YWx1ZTplJiYodGhpcy5pc1hBeGlzP2UueDpPKGUuc3RhY2tZLGUueSkpLHRyYW5zbGF0ZWRWYWx1ZTpufTthLnBvbGFyJiZiKGMse2lzQ3Jvc3NoYWlyOiEwLGNoYXJ0WDp0JiZ0LmNoYXJ0WCxjaGFydFk6dCYmdC5jaGFydFkscG9pbnQ6ZX0pLGM9dGhpcy5nZXRQbG90TGluZVBhdGgoYyl8fG51bGx9aWYoIWcoYykpcmV0dXJuIHZvaWQgdGhpcy5oaWRlQ3Jvc3NoYWlyKCk7bz10aGlzLmNhdGVnb3JpZXMmJiF0aGlzLmlzUmFkaWFsLHN8fCh0aGlzLmNyb3NzPXM9YS5yZW5kZXJlci5wYXRoKCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtY3Jvc3NoYWlyIGhpZ2hjaGFydHMtY3Jvc3NoYWlyLSIrKG8/ImNhdGVnb3J5ICI6InRoaW4gIikrKHIuY2xhc3NOYW1lfHwiIikpLmF0dHIoe3pJbmRleDpPKHIuekluZGV4LDIpfSkuYWRkKCksYS5zdHlsZWRNb2RlfHwocy5hdHRyKHtzdHJva2U6ci5jb2xvcnx8KG8/aS5wYXJzZSgiI2NjZDZlYiIpLnNldE9wYWNpdHkoLjI1KS5nZXQoKToiI2NjY2NjYyIpLCJzdHJva2Utd2lkdGgiOk8oci53aWR0aCwxKX0pLmNzcyh7InBvaW50ZXItZXZlbnRzIjoibm9uZSJ9KSxyLmRhc2hTdHlsZSYmcy5hdHRyKHtkYXNoc3R5bGU6ci5kYXNoU3R5bGV9KSkpLHMuc2hvdygpLmF0dHIoe2Q6Y30pLG8mJiFyLndpZHRoJiZzLmF0dHIoeyJzdHJva2Utd2lkdGgiOnRoaXMudHJhbnNBfSksdGhpcy5jcm9zcy5lPXR9ZWxzZSB0aGlzLmhpZGVDcm9zc2hhaXIoKTt4KHRoaXMsImFmdGVyRHJhd0Nyb3NzaGFpciIse2U6dCxwb2ludDplfSl9LHQucHJvdG90eXBlLmhpZGVDcm9zc2hhaXI9ZnVuY3Rpb24oKXt0aGlzLmNyb3NzJiZ0aGlzLmNyb3NzLmhpZGUoKSx4KHRoaXMsImFmdGVySGlkZUNyb3NzaGFpciIpfSx0LnByb3RvdHlwZS5oYXNWZXJ0aWNhbFBhbm5pbmc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNoYXJ0Lm9wdGlvbnMuY2hhcnQucGFubmluZztyZXR1cm4hISh0JiZ0LmVuYWJsZWQmJi95Ly50ZXN0KHQudHlwZSkpfSx0LnByb3RvdHlwZS52YWxpZGF0ZVBvc2l0aXZlVmFsdWU9ZnVuY3Rpb24odCl7cmV0dXJuIEModCkmJjA8dH0sdC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5jaGFydDt0PUEodGhpcy51c2VyT3B0aW9ucyx0KSx0aGlzLmRlc3Ryb3koITApLHRoaXMuaW5pdChpLHQpLGkuaXNEaXJ0eUJveD0hMCxPKGUsITApJiZpLnJlZHJhdygpfSx0LnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPXRoaXMuY2hhcnQsaT10aGlzLmNvbGwsbj10aGlzLnNlcmllcyxyPW4ubGVuZ3RoO3ItLTspbltyXSYmbltyXS5yZW1vdmUoITEpO3koZS5heGVzLHRoaXMpLHkoZVtpXSx0aGlzKSxlW2ldLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dC5vcHRpb25zLmluZGV4PXQudXNlck9wdGlvbnMuaW5kZXg9ZX0pKSx0aGlzLmRlc3Ryb3koKSxlLmlzRGlydHlCb3g9ITAsTyh0LCEwKSYmZS5yZWRyYXcoKX0sdC5wcm90b3R5cGUuc2V0VGl0bGU9ZnVuY3Rpb24odCxlKXt0aGlzLnVwZGF0ZSh7dGl0bGU6dH0sZSl9LHQucHJvdG90eXBlLnNldENhdGVnb3JpZXM9ZnVuY3Rpb24odCxlKXt0aGlzLnVwZGF0ZSh7Y2F0ZWdvcmllczp0fSxlKX0sdC5kZWZhdWx0T3B0aW9ucz1lLmRlZmF1bHRYQXhpc09wdGlvbnMsdC5rZWVwUHJvcHM9ImV4dEtleSBoY0V2ZW50cyBuYW1lcyBzZXJpZXMgdXNlck1heCB1c2VyTWluIi5zcGxpdCgiICIpLHR9KCksdH0pKSxlKGksIkNvcmUvQXhpcy9EYXRlVGltZUF4aXMuanMiLFtpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCl7dmFyIGUsaT10LmFkZEV2ZW50LG49dC5nZXRNYWduaXR1ZGUscj10Lm5vcm1hbGl6ZVRpY2tJbnRlcnZhbCxvPXQudGltZVVuaXRzO3JldHVybiBmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIHRoaXMuY2hhcnQudGltZS5nZXRUaW1lVGlja3MuYXBwbHkodGhpcy5jaGFydC50aW1lLGFyZ3VtZW50cyl9ZnVuY3Rpb24gYSh0KXsiZGF0ZXRpbWUiIT09dC51c2VyT3B0aW9ucy50eXBlP3RoaXMuZGF0ZVRpbWU9dm9pZCAwOnRoaXMuZGF0ZVRpbWV8fCh0aGlzLmRhdGVUaW1lPW5ldyBjKHRoaXMpKX12YXIgcz1bXTt0LmNvbXBvc2U9ZnVuY3Rpb24odCl7cmV0dXJuLTE9PT1zLmluZGV4T2YodCkmJihzLnB1c2godCksdC5rZWVwUHJvcHMucHVzaCgiZGF0ZVRpbWUiKSx0LnByb3RvdHlwZS5nZXRUaW1lVGlja3M9ZSxpKHQsImluaXQiLGEpKSx0fTt2YXIgYz1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5heGlzPXR9cmV0dXJuIHQucHJvdG90eXBlLm5vcm1hbGl6ZVRpbWVUaWNrSW50ZXJ2YWw9ZnVuY3Rpb24odCxlKXt2YXIgaT1lfHxbWyJtaWxsaXNlY29uZCIsWzEsMiw1LDEwLDIwLDI1LDUwLDEwMCwyMDAsNTAwXV0sWyJzZWNvbmQiLFsxLDIsNSwxMCwxNSwzMF1dLFsibWludXRlIixbMSwyLDUsMTAsMTUsMzBdXSxbImhvdXIiLFsxLDIsMyw0LDYsOCwxMl1dLFsiZGF5IixbMSwyXV0sWyJ3ZWVrIixbMSwyXV0sWyJtb250aCIsWzEsMiwzLDQsNl1dLFsieWVhciIsbnVsbF1dO2U9aVtpLmxlbmd0aC0xXTt2YXIgYSxzPW9bZVswXV0sYz1lWzFdO2ZvcihhPTA7YTxpLmxlbmd0aCYmKGU9aVthXSxzPW9bZVswXV0sYz1lWzFdLCEoaVthKzFdJiZ0PD0ocypjW2MubGVuZ3RoLTFdK29baVthKzFdWzBdXSkvMikpO2ErKyk7cmV0dXJuIHM9PT1vLnllYXImJnQ8NSpzJiYoYz1bMSwyLDVdKSx0PXIodC9zLGMsInllYXIiPT09ZVswXT9NYXRoLm1heChuKHQvcyksMSk6MSkse3VuaXRSYW5nZTpzLGNvdW50OnQsdW5pdE5hbWU6ZVswXX19LHQucHJvdG90eXBlLmdldFhEYXRlRm9ybWF0PWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5heGlzO3JldHVybiBpLmNsb3Nlc3RQb2ludFJhbmdlP2kuY2hhcnQudGltZS5nZXREYXRlRm9ybWF0KGkuY2xvc2VzdFBvaW50UmFuZ2UsdCxpLm9wdGlvbnMuc3RhcnRPZldlZWssZSl8fGUueWVhcjplLmRheX0sdH0oKTt0LkFkZGl0aW9ucz1jfShlfHwoZT17fSkpLGV9KSksZShpLCJDb3JlL0F4aXMvTG9nYXJpdGhtaWNBeGlzLmpzIixbaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQpe3ZhciBlLGk9dC5hZGRFdmVudCxuPXQuZ2V0TWFnbml0dWRlLHI9dC5ub3JtYWxpemVUaWNrSW50ZXJ2YWwsbz10LnBpY2s7cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCl7dmFyIGU9dGhpcy5sb2dhcml0aG1pYzsibG9nYXJpdGhtaWMiIT09dC51c2VyT3B0aW9ucy50eXBlP3RoaXMubG9nYXJpdGhtaWM9dm9pZCAwOmV8fCh0aGlzLmxvZ2FyaXRobWljPW5ldyBjKHRoaXMpKX1mdW5jdGlvbiBhKCl7dmFyIHQ9dGhpcy5sb2dhcml0aG1pYzt0JiYodGhpcy5saW4ydmFsPWZ1bmN0aW9uKGUpe3JldHVybiB0LmxpbjJsb2coZSl9LHRoaXMudmFsMmxpbj1mdW5jdGlvbihlKXtyZXR1cm4gdC5sb2cybGluKGUpfSl9dmFyIHM9W107dC5jb21wb3NlPWZ1bmN0aW9uKHQpe3JldHVybi0xPT09cy5pbmRleE9mKHQpJiYocy5wdXNoKHQpLHQua2VlcFByb3BzLnB1c2goImxvZ2FyaXRobWljIiksaSh0LCJpbml0IixlKSxpKHQsImFmdGVySW5pdCIsYSkpLHR9O3ZhciBjPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLmF4aXM9dH1yZXR1cm4gdC5wcm90b3R5cGUuZ2V0TG9nVGlja1Bvc2l0aW9ucz1mdW5jdGlvbih0LGUsaSxhKXt2YXIgcz10aGlzLmF4aXMsYz1zLmxlbixoPXMub3B0aW9ucyxsPVtdO2lmKGF8fCh0aGlzLm1pbm9yQXV0b0ludGVydmFsPXZvaWQgMCksLjU8PXQpdD1NYXRoLnJvdW5kKHQpLGw9cy5nZXRMaW5lYXJUaWNrUG9zaXRpb25zKHQsZSxpKTtlbHNlIGlmKC4wODw9dCl7dmFyIHAsZD1NYXRoLmZsb29yKGUpLHU9aD12b2lkIDA7Zm9yKGM9LjM8dD9bMSwyLDRdOi4xNTx0P1sxLDIsNCw2LDhdOlsxLDIsMyw0LDUsNiw3LDgsOV07ZDxpKzEmJiF1O2QrKyl7dmFyIGY9Yy5sZW5ndGg7Zm9yKHA9MDtwPGYmJiF1O3ArKyl7dmFyIG09dGhpcy5sb2cybGluKHRoaXMubGluMmxvZyhkKSpjW3BdKTttPmUmJighYXx8aDw9aSkmJiJ1bmRlZmluZWQiIT09dHlwZW9mIGgmJmwucHVzaChoKSxoPmkmJih1PSEwKSxoPW19fX1lbHNlIGU9dGhpcy5saW4ybG9nKGUpLGk9dGhpcy5saW4ybG9nKGkpLHQ9YT9zLmdldE1pbm9yVGlja0ludGVydmFsKCk6aC50aWNrSW50ZXJ2YWwsdD1vKCJhdXRvIj09PXQ/bnVsbDp0LHRoaXMubWlub3JBdXRvSW50ZXJ2YWwsaC50aWNrUGl4ZWxJbnRlcnZhbC8oYT81OjEpKihpLWUpLygoYT9jL3MudGlja1Bvc2l0aW9ucy5sZW5ndGg6Yyl8fDEpKSx0PXIodCx2b2lkIDAsbih0KSksbD1zLmdldExpbmVhclRpY2tQb3NpdGlvbnModCxlLGkpLm1hcCh0aGlzLmxvZzJsaW4pLGF8fCh0aGlzLm1pbm9yQXV0b0ludGVydmFsPXQvNSk7cmV0dXJuIGF8fChzLnRpY2tJbnRlcnZhbD10KSxsfSx0LnByb3RvdHlwZS5saW4ybG9nPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnBvdygxMCx0KX0sdC5wcm90b3R5cGUubG9nMmxpbj1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5sb2codCkvTWF0aC5MTjEwfSx0fSgpO3QuQWRkaXRpb25zPWN9KGV8fChlPXt9KSksZX0pKSxlKGksIkNvcmUvQXhpcy9QbG90TGluZU9yQmFuZC9QbG90TGluZU9yQmFuZEF4aXMuanMiLFtpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCl7dmFyIGUsaT10LmVyYXNlLG49dC5leHRlbmQscj10LmlzTnVtYmVyO3JldHVybiBmdW5jdGlvbih0KXt2YXIgZSxvPVtdO3QuY29tcG9zZT1mdW5jdGlvbih0LGkpe3JldHVybiBlfHwoZT10KSwtMT09PW8uaW5kZXhPZihpKSYmKG8ucHVzaChpKSxuKGkucHJvdG90eXBlLGEucHJvdG90eXBlKSksaX07dmFyIGE9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7fXJldHVybiB0LnByb3RvdHlwZS5nZXRQbG90QmFuZFBhdGg9ZnVuY3Rpb24odCxlLGkpe3ZvaWQgMD09PWkmJihpPXRoaXMub3B0aW9ucyk7dmFyIG49dGhpcy5nZXRQbG90TGluZVBhdGgoe3ZhbHVlOmUsZm9yY2U6ITAsYWNyb3NzUGFuZXM6aS5hY3Jvc3NQYW5lc30pLG89W10sYT10aGlzLmhvcml6O2lmKGU9IXIodGhpcy5taW4pfHwhcih0aGlzLm1heCl8fHQ8dGhpcy5taW4mJmU8dGhpcy5taW58fHQ+dGhpcy5tYXgmJmU+dGhpcy5tYXgsdD10aGlzLmdldFBsb3RMaW5lUGF0aCh7dmFsdWU6dCxmb3JjZTohMCxhY3Jvc3NQYW5lczppLmFjcm9zc1BhbmVzfSksaT0xLHQmJm4pe2lmKGUpe3ZhciBzPXQudG9TdHJpbmcoKT09PW4udG9TdHJpbmcoKTtpPTB9Zm9yKGU9MDtlPHQubGVuZ3RoO2UrPTIpe3ZhciBjPXRbZV0saD10W2UrMV0sbD1uW2VdLHA9bltlKzFdOyJNIiE9PWNbMF0mJiJMIiE9PWNbMF18fCJNIiE9PWhbMF0mJiJMIiE9PWhbMF18fCJNIiE9PWxbMF0mJiJMIiE9PWxbMF18fCJNIiE9PXBbMF0mJiJMIiE9PXBbMF18fChhJiZsWzFdPT09Y1sxXT8obFsxXSs9aSxwWzFdKz1pKTphfHxsWzJdIT09Y1syXXx8KGxbMl0rPWkscFsyXSs9aSksby5wdXNoKFsiTSIsY1sxXSxjWzJdXSxbIkwiLGhbMV0saFsyXV0sWyJMIixwWzFdLHBbMl1dLFsiTCIsbFsxXSxsWzJdXSxbIloiXSkpLG8uaXNGbGF0PXN9fXJldHVybiBvfSx0LnByb3RvdHlwZS5hZGRQbG90QmFuZD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5hZGRQbG90QmFuZE9yTGluZSh0LCJwbG90QmFuZHMiKX0sdC5wcm90b3R5cGUuYWRkUGxvdExpbmU9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuYWRkUGxvdEJhbmRPckxpbmUodCwicGxvdExpbmVzIil9LHQucHJvdG90eXBlLmFkZFBsb3RCYW5kT3JMaW5lPWZ1bmN0aW9uKHQsaSl7dmFyIG49dGhpcyxyPXRoaXMudXNlck9wdGlvbnMsbz1uZXcgZSh0aGlzLHQpO2lmKHRoaXMudmlzaWJsZSYmKG89by5yZW5kZXIoKSksbyl7aWYodGhpcy5fYWRkZWRQbG90TEJ8fCh0aGlzLl9hZGRlZFBsb3RMQj0hMCwoci5wbG90TGluZXN8fFtdKS5jb25jYXQoci5wbG90QmFuZHN8fFtdKS5mb3JFYWNoKChmdW5jdGlvbih0KXtuLmFkZFBsb3RCYW5kT3JMaW5lKHQpfSkpKSxpKXt2YXIgYT1yW2ldfHxbXTthLnB1c2godCkscltpXT1hfXRoaXMucGxvdExpbmVzQW5kQmFuZHMucHVzaChvKX1yZXR1cm4gb30sdC5wcm90b3R5cGUucmVtb3ZlUGxvdEJhbmRPckxpbmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5wbG90TGluZXNBbmRCYW5kcyxuPXRoaXMub3B0aW9ucyxyPXRoaXMudXNlck9wdGlvbnM7aWYoZSl7Zm9yKHZhciBvPWUubGVuZ3RoO28tLTspZVtvXS5pZD09PXQmJmVbb10uZGVzdHJveSgpO1tuLnBsb3RMaW5lc3x8W10sci5wbG90TGluZXN8fFtdLG4ucGxvdEJhbmRzfHxbXSxyLnBsb3RCYW5kc3x8W11dLmZvckVhY2goKGZ1bmN0aW9uKGUpe2ZvcihvPWUubGVuZ3RoO28tLTspKGVbb118fHt9KS5pZD09PXQmJmkoZSxlW29dKX0pKX19LHQucHJvdG90eXBlLnJlbW92ZVBsb3RCYW5kPWZ1bmN0aW9uKHQpe3RoaXMucmVtb3ZlUGxvdEJhbmRPckxpbmUodCl9LHQucHJvdG90eXBlLnJlbW92ZVBsb3RMaW5lPWZ1bmN0aW9uKHQpe3RoaXMucmVtb3ZlUGxvdEJhbmRPckxpbmUodCl9LHR9KCl9KGV8fChlPXt9KSksZX0pKSxlKGksIkNvcmUvQXhpcy9QbG90TGluZU9yQmFuZC9QbG90TGluZU9yQmFuZC5qcyIsW2lbIkNvcmUvQXhpcy9QbG90TGluZU9yQmFuZC9QbG90TGluZU9yQmFuZEF4aXMuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlKXt2YXIgaT1lLmFycmF5TWF4LG49ZS5hcnJheU1pbixyPWUuZGVmaW5lZCxvPWUuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsYT1lLmVyYXNlLHM9ZS5maXJlRXZlbnQsYz1lLm1lcmdlLGg9ZS5vYmplY3RFYWNoLGw9ZS5waWNrO3JldHVybiBlPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LGUpe3RoaXMuYXhpcz10LGUmJih0aGlzLm9wdGlvbnM9ZSx0aGlzLmlkPWUuaWQpfXJldHVybiBlLmNvbXBvc2U9ZnVuY3Rpb24oaSl7cmV0dXJuIHQuY29tcG9zZShlLGkpfSxlLnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXtzKHRoaXMsInJlbmRlciIpO3ZhciB0PXRoaXMsZT10LmF4aXMsaT1lLmhvcml6LG49ZS5sb2dhcml0aG1pYyxvPXQub3B0aW9ucyxhPW8uY29sb3IscD1sKG8uekluZGV4LDApLGQ9by5ldmVudHMsdT17fSxmPWUuY2hhcnQucmVuZGVyZXIsbT1vLmxhYmVsLGc9dC5sYWJlbCx2PW8udG8seT1vLmZyb20sXz1vLnZhbHVlLGI9dC5zdmdFbGVtLHg9W10sdz1yKHkpJiZyKHYpO3g9cihfKTt2YXIgaz0hYixDPXtjbGFzczoiaGlnaGNoYXJ0cy1wbG90LSIrKHc/ImJhbmQgIjoibGluZSAiKSsoby5jbGFzc05hbWV8fCIiKX0sUz13PyJiYW5kcyI6ImxpbmVzIjtpZihuJiYoeT1uLmxvZzJsaW4oeSksdj1uLmxvZzJsaW4odiksXz1uLmxvZzJsaW4oXykpLGUuY2hhcnQuc3R5bGVkTW9kZXx8KHg/KEMuc3Ryb2tlPWF8fCIjOTk5OTk5IixDWyJzdHJva2Utd2lkdGgiXT1sKG8ud2lkdGgsMSksby5kYXNoU3R5bGUmJihDLmRhc2hzdHlsZT1vLmRhc2hTdHlsZSkpOncmJihDLmZpbGw9YXx8IiNlNmViZjUiLG8uYm9yZGVyV2lkdGgmJihDLnN0cm9rZT1vLmJvcmRlckNvbG9yLENbInN0cm9rZS13aWR0aCJdPW8uYm9yZGVyV2lkdGgpKSksdS56SW5kZXg9cCxTKz0iLSIrcCwobj1lLnBsb3RMaW5lc0FuZEJhbmRzR3JvdXBzW1NdKXx8KGUucGxvdExpbmVzQW5kQmFuZHNHcm91cHNbU109bj1mLmcoInBsb3QtIitTKS5hdHRyKHUpLmFkZCgpKSxrJiYodC5zdmdFbGVtPWI9Zi5wYXRoKCkuYXR0cihDKS5hZGQobikpLHgpeD1lLmdldFBsb3RMaW5lUGF0aCh7dmFsdWU6XyxsaW5lV2lkdGg6Yi5zdHJva2VXaWR0aCgpLGFjcm9zc1BhbmVzOm8uYWNyb3NzUGFuZXN9KTtlbHNle2lmKCF3KXJldHVybjt4PWUuZ2V0UGxvdEJhbmRQYXRoKHksdixvKX1yZXR1cm4hdC5ldmVudHNBZGRlZCYmZCYmKGgoZCwoZnVuY3Rpb24oZSxpKXtiLm9uKGksKGZ1bmN0aW9uKGUpe2RbaV0uYXBwbHkodCxbZV0pfSkpfSkpLHQuZXZlbnRzQWRkZWQ9ITApLChrfHwhYi5kKSYmeCYmeC5sZW5ndGg/Yi5hdHRyKHtkOnh9KTpiJiYoeD8oYi5zaG93KCEwKSxiLmFuaW1hdGUoe2Q6eH0pKTpiLmQmJihiLmhpZGUoKSxnJiYodC5sYWJlbD1nPWcuZGVzdHJveSgpKSkpLG0mJihyKG0udGV4dCl8fHIobS5mb3JtYXR0ZXIpKSYmeCYmeC5sZW5ndGgmJjA8ZS53aWR0aCYmMDxlLmhlaWdodCYmIXguaXNGbGF0PyhtPWMoe2FsaWduOmkmJncmJiJjZW50ZXIiLHg6aT8hdyYmNDoxMCx2ZXJ0aWNhbEFsaWduOiFpJiZ3JiYibWlkZGxlIix5Omk/dz8xNjoxMDp3PzY6LTQscm90YXRpb246aSYmIXcmJjkwfSxtKSx0aGlzLnJlbmRlckxhYmVsKG0seCx3LHApKTpnJiZnLmhpZGUoKSx0fSxlLnByb3RvdHlwZS5yZW5kZXJMYWJlbD1mdW5jdGlvbih0LGUscixvKXt2YXIgYT10aGlzLmF4aXMscz1hLmNoYXJ0LnJlbmRlcmVyLGg9dGhpcy5sYWJlbDtofHwodGhpcy5sYWJlbD1oPXMudGV4dCh0aGlzLmdldExhYmVsVGV4dCh0KSwwLDAsdC51c2VIVE1MKS5hdHRyKHthbGlnbjp0LnRleHRBbGlnbnx8dC5hbGlnbixyb3RhdGlvbjp0LnJvdGF0aW9uLGNsYXNzOiJoaWdoY2hhcnRzLXBsb3QtIisocj8iYmFuZCI6ImxpbmUiKSsiLWxhYmVsICIrKHQuY2xhc3NOYW1lfHwiIiksekluZGV4Om99KS5hZGQoKSxhLmNoYXJ0LnN0eWxlZE1vZGV8fGguY3NzKGMoe3RleHRPdmVyZmxvdzoiZWxsaXBzaXMifSx0LnN0eWxlKSkpLG89ZS54Qm91bmRzfHxbZVswXVsxXSxlWzFdWzFdLHI/ZVsyXVsxXTplWzBdWzFdXSxlPWUueUJvdW5kc3x8W2VbMF1bMl0sZVsxXVsyXSxyP2VbMl1bMl06ZVswXVsyXV0scj1uKG8pLHM9bihlKSxoLmFsaWduKHQsITEse3g6cix5OnMsd2lkdGg6aShvKS1yLGhlaWdodDppKGUpLXN9KSxoLmFsaWduVmFsdWUmJiJsZWZ0IiE9PWguYWxpZ25WYWx1ZXx8aC5jc3Moe3dpZHRoOig5MD09PWgucm90YXRpb24/YS5oZWlnaHQtKGguYWxpZ25BdHRyLnktYS50b3ApOmEud2lkdGgtKGguYWxpZ25BdHRyLngtYS5sZWZ0KSkrInB4In0pLGguc2hvdyghMCl9LGUucHJvdG90eXBlLmdldExhYmVsVGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gcih0LmZvcm1hdHRlcik/dC5mb3JtYXR0ZXIuY2FsbCh0aGlzKTp0LnRleHR9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXthKHRoaXMuYXhpcy5wbG90TGluZXNBbmRCYW5kcyx0aGlzKSxkZWxldGUgdGhpcy5heGlzLG8odGhpcyl9LGV9KCksZX0pKSxlKGksIkNvcmUvVG9vbHRpcC5qcyIsW2lbIkNvcmUvRm9ybWF0VXRpbGl0aWVzLmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9SZW5kZXJlci9SZW5kZXJlclV0aWxpdGllcy5qcyJdLGlbIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJSZWdpc3RyeS5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBvPXQuZm9ybWF0LGE9ZS5kb2Mscz1pLmRpc3RyaWJ1dGUsYz1yLmFkZEV2ZW50LGg9ci5jbGFtcCxsPXIuY3NzLHA9ci5kZWZpbmVkLGQ9ci5kaXNjYXJkRWxlbWVudCx1PXIuZXh0ZW5kLGY9ci5maXJlRXZlbnQsbT1yLmlzQXJyYXksZz1yLmlzTnVtYmVyLHY9ci5pc1N0cmluZyx5PXIubWVyZ2UsXz1yLnBpY2ssYj1yLnNwbGF0LHg9ci5zeW5jVGltZW91dDtyZXR1cm4gdD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlKXt0aGlzLmFsbG93U2hhcmVkPSEwLHRoaXMuY29udGFpbmVyPXZvaWQgMCx0aGlzLmNyb3NzaGFpcnM9W10sdGhpcy5kaXN0YW5jZT0wLHRoaXMuaXNIaWRkZW49ITAsdGhpcy5pc1N0aWNreT0hMSx0aGlzLm5vdz17fSx0aGlzLm9wdGlvbnM9e30sdGhpcy5vdXRzaWRlPSExLHRoaXMuY2hhcnQ9dCx0aGlzLmluaXQodCxlKX1yZXR1cm4gdC5wcm90b3R5cGUuYXBwbHlGaWx0ZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNoYXJ0O3QucmVuZGVyZXIuZGVmaW5pdGlvbih7dGFnTmFtZToiZmlsdGVyIixhdHRyaWJ1dGVzOntpZDoiZHJvcC1zaGFkb3ctIit0LmluZGV4LG9wYWNpdHk6LjV9LGNoaWxkcmVuOlt7dGFnTmFtZToiZmVHYXVzc2lhbkJsdXIiLGF0dHJpYnV0ZXM6e2luOiJTb3VyY2VBbHBoYSIsc3RkRGV2aWF0aW9uOjF9fSx7dGFnTmFtZToiZmVPZmZzZXQiLGF0dHJpYnV0ZXM6e2R4OjEsZHk6MX19LHt0YWdOYW1lOiJmZUNvbXBvbmVudFRyYW5zZmVyIixjaGlsZHJlbjpbe3RhZ05hbWU6ImZlRnVuY0EiLGF0dHJpYnV0ZXM6e3R5cGU6ImxpbmVhciIsc2xvcGU6LjN9fV19LHt0YWdOYW1lOiJmZU1lcmdlIixjaGlsZHJlbjpbe3RhZ05hbWU6ImZlTWVyZ2VOb2RlIn0se3RhZ05hbWU6ImZlTWVyZ2VOb2RlIixhdHRyaWJ1dGVzOntpbjoiU291cmNlR3JhcGhpYyJ9fV19XX0pfSx0LnByb3RvdHlwZS5ib2R5Rm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3JldHVybiB0Lm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9dC5zZXJpZXMudG9vbHRpcE9wdGlvbnM7cmV0dXJuKGVbKHQucG9pbnQuZm9ybWF0UHJlZml4fHwicG9pbnQiKSsiRm9ybWF0dGVyIl18fHQucG9pbnQudG9vbHRpcEZvcm1hdHRlcikuY2FsbCh0LnBvaW50LGVbKHQucG9pbnQuZm9ybWF0UHJlZml4fHwicG9pbnQiKSsiRm9ybWF0Il18fCIiKX0pKX0sdC5wcm90b3R5cGUuY2xlYW5TcGxpdD1mdW5jdGlvbih0KXt0aGlzLmNoYXJ0LnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgaT1lJiZlLnR0O2kmJighaS5pc0FjdGl2ZXx8dD9lLnR0PWkuZGVzdHJveSgpOmkuaXNBY3RpdmU9ITEpfSkpfSx0LnByb3RvdHlwZS5kZWZhdWx0Rm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMucG9pbnRzfHxiKHRoaXMpLGk9W3QudG9vbHRpcEZvb3RlckhlYWRlckZvcm1hdHRlcihlWzBdKV07cmV0dXJuIGk9aS5jb25jYXQodC5ib2R5Rm9ybWF0dGVyKGUpKSxpLnB1c2godC50b29sdGlwRm9vdGVySGVhZGVyRm9ybWF0dGVyKGVbMF0sITApKSxpfSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5sYWJlbCYmKHRoaXMubGFiZWw9dGhpcy5sYWJlbC5kZXN0cm95KCkpLHRoaXMuc3BsaXQmJnRoaXMudHQmJih0aGlzLmNsZWFuU3BsaXQoITApLHRoaXMudHQ9dGhpcy50dC5kZXN0cm95KCkpLHRoaXMucmVuZGVyZXImJih0aGlzLnJlbmRlcmVyPXRoaXMucmVuZGVyZXIuZGVzdHJveSgpLGQodGhpcy5jb250YWluZXIpKSxyLmNsZWFyVGltZW91dCh0aGlzLmhpZGVUaW1lciksci5jbGVhclRpbWVvdXQodGhpcy50b29sdGlwVGltZW91dCl9LHQucHJvdG90eXBlLmdldEFuY2hvcj1mdW5jdGlvbih0LGUpe3ZhciBpLG4scj10aGlzLmNoYXJ0LG89ci5wb2ludGVyLGE9ci5pbnZlcnRlZCxzPXIucGxvdFRvcCxjPXIucGxvdExlZnQsaD0wLGw9MDtyZXR1cm4gdD1iKHQpLHRoaXMuZm9sbG93UG9pbnRlciYmZT8oInVuZGVmaW5lZCI9PT10eXBlb2YgZS5jaGFydFgmJihlPW8ubm9ybWFsaXplKGUpKSxvPVtlLmNoYXJ0WC1jLGUuY2hhcnRZLXNdKTp0WzBdLnRvb2x0aXBQb3M/bz10WzBdLnRvb2x0aXBQb3M6KHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7aT10LnNlcmllcy55QXhpcyxuPXQuc2VyaWVzLnhBeGlzLGgrPXQucGxvdFh8fDAsbCs9dC5wbG90TG93Pyh0LnBsb3RMb3crKHQucGxvdEhpZ2h8fDApKS8yOnQucGxvdFl8fDAsbiYmaSYmKGE/KGgrPXMrci5wbG90SGVpZ2h0LW4ubGVuLW4ucG9zLGwrPWMrci5wbG90V2lkdGgtaS5sZW4taS5wb3MpOihoKz1uLnBvcy1jLGwrPWkucG9zLXMpKX0pKSxoLz10Lmxlbmd0aCxsLz10Lmxlbmd0aCxvPVthP3IucGxvdFdpZHRoLWw6aCxhP3IucGxvdEhlaWdodC1oOmxdLHRoaXMuc2hhcmVkJiYxPHQubGVuZ3RoJiZlJiYoYT9vWzBdPWUuY2hhcnRYLWM6b1sxXT1lLmNoYXJ0WS1zKSksby5tYXAoTWF0aC5yb3VuZCl9LHQucHJvdG90eXBlLmdldExhYmVsPWZ1bmN0aW9uKCl7dmFyIHQsaT10aGlzLHI9dGhpcy5jaGFydC5zdHlsZWRNb2RlLG89dGhpcy5vcHRpb25zLGE9dGhpcy5zcGxpdCYmdGhpcy5hbGxvd1NoYXJlZCxzPSJ0b29sdGlwIisocChvLmNsYXNzTmFtZSk/IiAiK28uY2xhc3NOYW1lOiIiKSxoPW8uc3R5bGUucG9pbnRlckV2ZW50c3x8KCF0aGlzLmZvbGxvd1BvaW50ZXImJm8uc3RpY2tPbkNvbnRhY3Q/ImF1dG8iOiJub25lIiksZD1mdW5jdGlvbigpe2kuaW5Db250YWN0PSEwfSx1PWZ1bmN0aW9uKHQpe3ZhciBlPWkuY2hhcnQuaG92ZXJTZXJpZXM7aS5pbkNvbnRhY3Q9aS5zaG91bGRTdGlja09uQ29udGFjdCgpJiZpLmNoYXJ0LnBvaW50ZXIuaW5DbGFzcyh0LnJlbGF0ZWRUYXJnZXQsImhpZ2hjaGFydHMtdG9vbHRpcCIpLCFpLmluQ29udGFjdCYmZSYmZS5vbk1vdXNlT3V0JiZlLm9uTW91c2VPdXQoKX0sZj10aGlzLmNoYXJ0LnJlbmRlcmVyO2lmKGkubGFiZWwpe3ZhciBtPSFpLmxhYmVsLmhhc0NsYXNzKCJoaWdoY2hhcnRzLWxhYmVsIik7KGEmJiFtfHwhYSYmbSkmJmkuZGVzdHJveSgpfWlmKCF0aGlzLmxhYmVsKXtpZih0aGlzLm91dHNpZGUpe209dGhpcy5jaGFydC5vcHRpb25zLmNoYXJ0LnN0eWxlO3ZhciBnPW4uZ2V0UmVuZGVyZXJUeXBlKCk7dGhpcy5jb250YWluZXI9dD1lLmRvYy5jcmVhdGVFbGVtZW50KCJkaXYiKSx0LmNsYXNzTmFtZT0iaGlnaGNoYXJ0cy10b29sdGlwLWNvbnRhaW5lciIsbCh0LHtwb3NpdGlvbjoiYWJzb2x1dGUiLHRvcDoiMXB4Iixwb2ludGVyRXZlbnRzOmgsekluZGV4Ok1hdGgubWF4KHRoaXMub3B0aW9ucy5zdHlsZS56SW5kZXh8fDAsKG0mJm0uekluZGV4fHwwKSszKX0pLGModCwibW91c2VlbnRlciIsZCksYyh0LCJtb3VzZWxlYXZlIix1KSxlLmRvYy5ib2R5LmFwcGVuZENoaWxkKHQpLHRoaXMucmVuZGVyZXI9Zj1uZXcgZyh0LDAsMCxtLHZvaWQgMCx2b2lkIDAsZi5zdHlsZWRNb2RlKX1pZihhP3RoaXMubGFiZWw9Zi5nKHMpOih0aGlzLmxhYmVsPWYubGFiZWwoIiIsMCwwLG8uc2hhcGUsdm9pZCAwLHZvaWQgMCxvLnVzZUhUTUwsdm9pZCAwLHMpLmF0dHIoe3BhZGRpbmc6by5wYWRkaW5nLHI6by5ib3JkZXJSYWRpdXN9KSxyfHx0aGlzLmxhYmVsLmF0dHIoe2ZpbGw6by5iYWNrZ3JvdW5kQ29sb3IsInN0cm9rZS13aWR0aCI6by5ib3JkZXJXaWR0aH0pLmNzcyhvLnN0eWxlKS5jc3Moe3BvaW50ZXJFdmVudHM6aH0pLnNoYWRvdyhvLnNoYWRvdykpLHImJm8uc2hhZG93JiYodGhpcy5hcHBseUZpbHRlcigpLHRoaXMubGFiZWwuYXR0cih7ZmlsdGVyOiJ1cmwoI2Ryb3Atc2hhZG93LSIrdGhpcy5jaGFydC5pbmRleCsiKSJ9KSksaS5vdXRzaWRlJiYhaS5zcGxpdCl7dmFyIHY9dGhpcy5sYWJlbCx5PXYueFNldHRlcixfPXYueVNldHRlcjt2LnhTZXR0ZXI9ZnVuY3Rpb24oZSl7eS5jYWxsKHYsaS5kaXN0YW5jZSksdC5zdHlsZS5sZWZ0PWUrInB4In0sdi55U2V0dGVyPWZ1bmN0aW9uKGUpe18uY2FsbCh2LGkuZGlzdGFuY2UpLHQuc3R5bGUudG9wPWUrInB4In19dGhpcy5sYWJlbC5vbigibW91c2VlbnRlciIsZCkub24oIm1vdXNlbGVhdmUiLHUpLmF0dHIoe3pJbmRleDo4fSkuYWRkKCl9cmV0dXJuIHRoaXMubGFiZWx9LHQucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbixyPXRoaXMuY2hhcnQsbz10aGlzLmRpc3RhbmNlLHM9e30sYz1yLmludmVydGVkJiZpLmh8fDAsaD10aGlzLm91dHNpZGUsbD1oP2EuZG9jdW1lbnRFbGVtZW50LmNsaWVudFdpZHRoLTIqbzpyLmNoYXJ0V2lkdGgscD1oP01hdGgubWF4KGEuYm9keS5zY3JvbGxIZWlnaHQsYS5kb2N1bWVudEVsZW1lbnQuc2Nyb2xsSGVpZ2h0LGEuYm9keS5vZmZzZXRIZWlnaHQsYS5kb2N1bWVudEVsZW1lbnQub2Zmc2V0SGVpZ2h0LGEuZG9jdW1lbnRFbGVtZW50LmNsaWVudEhlaWdodCk6ci5jaGFydEhlaWdodCxkPXIucG9pbnRlci5nZXRDaGFydFBvc2l0aW9uKCksdT1mdW5jdGlvbihuKXt2YXIgYT0ieCI9PT1uO3JldHVybltuLGE/bDpwLGE/dDplXS5jb25jYXQoaD9bYT90KmQuc2NhbGVYOmUqZC5zY2FsZVksYT9kLmxlZnQtbysoaS5wbG90WCtyLnBsb3RMZWZ0KSpkLnNjYWxlWDpkLnRvcC1vKyhpLnBsb3RZK3IucGxvdFRvcCkqZC5zY2FsZVksMCxhP2w6cF06W2E/dDplLGE/aS5wbG90WCtyLnBsb3RMZWZ0OmkucGxvdFkrci5wbG90VG9wLGE/ci5wbG90TGVmdDpyLnBsb3RUb3AsYT9yLnBsb3RMZWZ0K3IucGxvdFdpZHRoOnIucGxvdFRvcCtyLnBsb3RIZWlnaHRdKX0sZj11KCJ5IiksbT11KCJ4Iik7dT0hIWkubmVnYXRpdmUsIXIucG9sYXImJnIuaG92ZXJTZXJpZXMmJnIuaG92ZXJTZXJpZXMueUF4aXMmJnIuaG92ZXJTZXJpZXMueUF4aXMucmV2ZXJzZWQmJih1PSF1KTt2YXIgZz0hdGhpcy5mb2xsb3dQb2ludGVyJiZfKGkudHRCZWxvdywhci5pbnZlcnRlZD09PXUpLHY9ZnVuY3Rpb24odCxlLGksbixyLGEsbCl7dmFyIHA9aD8ieSI9PT10P28qZC5zY2FsZVk6bypkLnNjYWxlWDpvLHU9KGktbikvMixmPW48ci1vLG09citvK248ZSx2PXItcC1pK3U7aWYocj1yK3AtdSxnJiZtKXNbdF09cjtlbHNlIGlmKCFnJiZmKXNbdF09djtlbHNlIGlmKGYpc1t0XT1NYXRoLm1pbihsLW4sMD52LWM/djp2LWMpO2Vsc2V7aWYoIW0pcmV0dXJuITE7c1t0XT1NYXRoLm1heChhLHIrYytpPmU/cjpyK2MpfX0seT1mdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBhO3JldHVybiByPG98fHI+ZS1vP2E9ITE6c1t0XT1yPGkvMj8xOnI+ZS1uLzI/ZS1uLTI6ci1pLzIsYX0sYj1mdW5jdGlvbih0KXt2YXIgZT1mO2Y9bSxtPWUsbj10fSx4PWZ1bmN0aW9uKCl7ITEhPT12LmFwcGx5KDAsZik/ITEhPT15LmFwcGx5KDAsbSl8fG58fChiKCEwKSx4KCkpOm4/cy54PXMueT0wOihiKCEwKSx4KCkpfTtyZXR1cm4oci5pbnZlcnRlZHx8MTx0aGlzLmxlbikmJmIoKSx4KCksc30sdC5wcm90b3R5cGUuaGlkZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3IuY2xlYXJUaW1lb3V0KHRoaXMuaGlkZVRpbWVyKSx0PV8odCx0aGlzLm9wdGlvbnMuaGlkZURlbGF5KSx0aGlzLmlzSGlkZGVufHwodGhpcy5oaWRlVGltZXI9eCgoZnVuY3Rpb24oKXtlLmdldExhYmVsKCkuZmFkZU91dCh0P3ZvaWQgMDp0KSxlLmlzSGlkZGVuPSEwfSksdCkpfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSl7dGhpcy5jaGFydD10LHRoaXMub3B0aW9ucz1lLHRoaXMuY3Jvc3NoYWlycz1bXSx0aGlzLm5vdz17eDowLHk6MH0sdGhpcy5pc0hpZGRlbj0hMCx0aGlzLnNwbGl0PWUuc3BsaXQmJiF0LmludmVydGVkJiYhdC5wb2xhcix0aGlzLnNoYXJlZD1lLnNoYXJlZHx8dGhpcy5zcGxpdCx0aGlzLm91dHNpZGU9XyhlLm91dHNpZGUsISghdC5zY3JvbGxhYmxlUGl4ZWxzWCYmIXQuc2Nyb2xsYWJsZVBpeGVsc1kpKX0sdC5wcm90b3R5cGUuc2hvdWxkU3RpY2tPbkNvbnRhY3Q9ZnVuY3Rpb24oKXtyZXR1cm4hKHRoaXMuZm9sbG93UG9pbnRlcnx8IXRoaXMub3B0aW9ucy5zdGlja09uQ29udGFjdCl9LHQucHJvdG90eXBlLmlzU3RpY2t5T25Db250YWN0PWZ1bmN0aW9uKCl7cmV0dXJuISghdGhpcy5zaG91bGRTdGlja09uQ29udGFjdCgpfHwhdGhpcy5pbkNvbnRhY3QpfSx0LnByb3RvdHlwZS5tb3ZlPWZ1bmN0aW9uKHQsZSxpLG4pe3ZhciBvPXRoaXMsYT1vLm5vdyxzPSExIT09by5vcHRpb25zLmFuaW1hdGlvbiYmIW8uaXNIaWRkZW4mJigxPE1hdGguYWJzKHQtYS54KXx8MTxNYXRoLmFicyhlLWEueSkpLGM9by5mb2xsb3dQb2ludGVyfHwxPG8ubGVuO3UoYSx7eDpzPygyKmEueCt0KS8zOnQseTpzPyhhLnkrZSkvMjplLGFuY2hvclg6Yz92b2lkIDA6cz8oMiphLmFuY2hvclgraSkvMzppLGFuY2hvclk6Yz92b2lkIDA6cz8oYS5hbmNob3JZK24pLzI6bn0pLG8uZ2V0TGFiZWwoKS5hdHRyKGEpLG8uZHJhd1RyYWNrZXIoKSxzJiYoci5jbGVhclRpbWVvdXQodGhpcy50b29sdGlwVGltZW91dCksdGhpcy50b29sdGlwVGltZW91dD1zZXRUaW1lb3V0KChmdW5jdGlvbigpe28mJm8ubW92ZSh0LGUsaSxuKX0pLDMyKSl9LHQucHJvdG90eXBlLnJlZnJlc2g9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLmNoYXJ0LG49dGhpcy5vcHRpb25zLG89Yih0KSxhPW9bMF0scz1bXSxjPW4uZm9ybWF0dGVyfHx0aGlzLmRlZmF1bHRGb3JtYXR0ZXIsaD10aGlzLnNoYXJlZCxsPWkuc3R5bGVkTW9kZSxwPXt9O2lmKG4uZW5hYmxlZCl7ci5jbGVhclRpbWVvdXQodGhpcy5oaWRlVGltZXIpLHRoaXMuYWxsb3dTaGFyZWQ9ISghbSh0KSYmdC5zZXJpZXMmJnQuc2VyaWVzLm5vU2hhcmVkVG9vbHRpcCksdGhpcy5mb2xsb3dQb2ludGVyPSF0aGlzLnNwbGl0JiZhLnNlcmllcy50b29sdGlwT3B0aW9ucy5mb2xsb3dQb2ludGVyLHQ9dGhpcy5nZXRBbmNob3IodCxlKTt2YXIgZD10WzBdLHU9dFsxXTtpZihoJiZ0aGlzLmFsbG93U2hhcmVkPyhpLnBvaW50ZXIuYXBwbHlJbmFjdGl2ZVN0YXRlKG8pLG8uZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5zZXRTdGF0ZSgiaG92ZXIiKSxzLnB1c2godC5nZXRMYWJlbENvbmZpZygpKX0pKSxwPXt4OmEuY2F0ZWdvcnkseTphLnl9LHAucG9pbnRzPXMpOnA9YS5nZXRMYWJlbENvbmZpZygpLHRoaXMubGVuPXMubGVuZ3RoLGM9Yy5jYWxsKHAsdGhpcyksaD1hLnNlcmllcyx0aGlzLmRpc3RhbmNlPV8oaC50b29sdGlwT3B0aW9ucy5kaXN0YW5jZSwxNiksITE9PT1jKXRoaXMuaGlkZSgpO2Vsc2V7aWYodGhpcy5zcGxpdCYmdGhpcy5hbGxvd1NoYXJlZCl0aGlzLnJlbmRlclNwbGl0KGMsbyk7ZWxzZXt2YXIgZz1kLHY9dTtpZihlJiZpLnBvaW50ZXIuaXNEaXJlY3RUb3VjaCYmKGc9ZS5jaGFydFgtaS5wbG90TGVmdCx2PWUuY2hhcnRZLWkucGxvdFRvcCksIWkucG9sYXImJiExIT09aC5vcHRpb25zLmNsaXAmJiFvLnNvbWUoKGZ1bmN0aW9uKHQpe3JldHVybiB0LnNlcmllcy5zaG91bGRTaG93VG9vbHRpcChnLHYpfSkpKXJldHVybiB2b2lkIHRoaXMuaGlkZSgpO2U9dGhpcy5nZXRMYWJlbCgpLG4uc3R5bGUud2lkdGgmJiFsfHxlLmNzcyh7d2lkdGg6dGhpcy5jaGFydC5zcGFjaW5nQm94LndpZHRoKyJweCJ9KSxlLmF0dHIoe3RleHQ6YyYmYy5qb2luP2Muam9pbigiIik6Y30pLGUucmVtb3ZlQ2xhc3MoL2hpZ2hjaGFydHMtY29sb3ItW1xkXSsvZykuYWRkQ2xhc3MoImhpZ2hjaGFydHMtY29sb3ItIitfKGEuY29sb3JJbmRleCxoLmNvbG9ySW5kZXgpKSxsfHxlLmF0dHIoe3N0cm9rZTpuLmJvcmRlckNvbG9yfHxhLmNvbG9yfHxoLmNvbG9yfHwiIzY2NjY2NiJ9KSx0aGlzLnVwZGF0ZVBvc2l0aW9uKHtwbG90WDpkLHBsb3RZOnUsbmVnYXRpdmU6YS5uZWdhdGl2ZSx0dEJlbG93OmEudHRCZWxvdyxoOnRbMl18fDB9KX10aGlzLmlzSGlkZGVuJiZ0aGlzLmxhYmVsJiZ0aGlzLmxhYmVsLmF0dHIoe29wYWNpdHk6MX0pLnNob3coKSx0aGlzLmlzSGlkZGVuPSExfWYodGhpcywicmVmcmVzaCIpfX0sdC5wcm90b3R5cGUucmVuZGVyU3BsaXQ9ZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBpKHQsZSxpLHIsbyl7cmV0dXJuIHZvaWQgMD09PW8mJihvPSEwKSxpPyhlPU8/MDpqLHQ9aCh0LXIvMixBLmxlZnQsQS5yaWdodC1yLShuLm91dHNpZGU/VDowKSkpOihlLT1FLHQ9bz90LXItazp0K2ssdD1oKHQsbz90OkEubGVmdCxBLnJpZ2h0KSkse3g6dCx5OmV9fXZhciBuPXRoaXMscj1uLmNoYXJ0LG89bi5jaGFydCxjPW8uY2hhcnRXaWR0aCxsPW8uY2hhcnRIZWlnaHQscD1vLnBsb3RIZWlnaHQsZD1vLnBsb3RMZWZ0LGY9by5wbG90VG9wLG09by5wb2ludGVyLGc9by5zY3JvbGxhYmxlUGl4ZWxzWTtnPXZvaWQgMD09PWc/MDpnO3ZhciB5PW8uc2Nyb2xsYWJsZVBpeGVsc1gsYj1vLnNjcm9sbGluZ0NvbnRhaW5lcjtiPXZvaWQgMD09PWI/e3Njcm9sbExlZnQ6MCxzY3JvbGxUb3A6MH06Yjt2YXIgeD1iLnNjcm9sbExlZnQ7Yj1iLnNjcm9sbFRvcDt2YXIgdz1vLnN0eWxlZE1vZGUsaz1uLmRpc3RhbmNlLEM9bi5vcHRpb25zLFM9bi5vcHRpb25zLnBvc2l0aW9uZXIsQT1uLm91dHNpZGUmJiJudW1iZXIiIT09dHlwZW9mIHk/YS5kb2N1bWVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk6e2xlZnQ6eCxyaWdodDp4K2MsdG9wOmIsYm90dG9tOmIrbH0sTT1uLmdldExhYmVsKCksUD10aGlzLnJlbmRlcmVyfHxyLnJlbmRlcmVyLE89ISghci54QXhpc1swXXx8IXIueEF4aXNbMF0ub3Bwb3NpdGUpO3I9bS5nZXRDaGFydFBvc2l0aW9uKCk7dmFyIFQ9ci5sZWZ0O3I9ci50b3A7dmFyIEU9ZitiLEw9MCxqPXAtZzt2KHQpJiYodD1bITEsdF0pLHQ9dC5zbGljZSgwLGUubGVuZ3RoKzEpLnJlZHVjZSgoZnVuY3Rpb24odCxyLG8pe2lmKCExIT09ciYmIiIhPT1yKXtvPWVbby0xXXx8e2lzSGVhZGVyOiEwLHBsb3RYOmVbMF0ucGxvdFgscGxvdFk6cCxzZXJpZXM6e319O3ZhciBhPW8uaXNIZWFkZXIscz1hP246by5zZXJpZXM7cj1yLnRvU3RyaW5nKCk7dmFyIGM9cy50dCxsPW8uaXNIZWFkZXIsdT1vLnNlcmllcyxtPSJoaWdoY2hhcnRzLWNvbG9yLSIrXyhvLmNvbG9ySW5kZXgsdS5jb2xvckluZGV4LCJub25lIik7aWYoY3x8KGM9e3BhZGRpbmc6Qy5wYWRkaW5nLHI6Qy5ib3JkZXJSYWRpdXN9LHd8fChjLmZpbGw9Qy5iYWNrZ3JvdW5kQ29sb3IsY1sic3Ryb2tlLXdpZHRoIl09Qy5ib3JkZXJXaWR0aCksYz1QLmxhYmVsKCIiLDAsMCxDW2w/ImhlYWRlclNoYXBlIjoic2hhcGUiXSx2b2lkIDAsdm9pZCAwLEMudXNlSFRNTCkuYWRkQ2xhc3MoKGw/ImhpZ2hjaGFydHMtdG9vbHRpcC1oZWFkZXIgIjoiIikrImhpZ2hjaGFydHMtdG9vbHRpcC1ib3ggIittKS5hdHRyKGMpLmFkZChNKSksYy5pc0FjdGl2ZT0hMCxjLmF0dHIoe3RleHQ6cn0pLHd8fGMuY3NzKEMuc3R5bGUpLnNoYWRvdyhDLnNoYWRvdykuYXR0cih7c3Ryb2tlOkMuYm9yZGVyQ29sb3J8fG8uY29sb3J8fHUuY29sb3J8fCIjMzMzMzMzIn0pLHM9cy50dD1jLGw9cy5nZXRCQm94KCkscj1sLndpZHRoK3Muc3Ryb2tlV2lkdGgoKSxhJiYoTD1sLmhlaWdodCxqKz1MLE8mJihFLT1MKSksdT1vLnBsb3RYLHU9dm9pZCAwPT09dT8wOnUsbT1vLnBsb3RZLG09dm9pZCAwPT09bT8wOm0sYz1vLnNlcmllcyxvLmlzSGVhZGVyKXt1PWQrdTt2YXIgZz1mK3AvMn1lbHNle3ZhciB2PWMueEF4aXMseT1jLnlBeGlzO3U9di5wb3MraCh1LC1rLHYubGVuK2spLGMuc2hvdWxkU2hvd1Rvb2x0aXAoMCx5LnBvcy1mK20se2lnbm9yZVg6ITB9KSYmKGc9eS5wb3MrbSl9dT1oKHUsQS5sZWZ0LWssQS5yaWdodCtrKSwibnVtYmVyIj09PXR5cGVvZiBnPyhsPWwuaGVpZ2h0KzEsbT1TP1MuY2FsbChuLHIsbCxvKTppKHUsZyxhLHIpLHQucHVzaCh7YWxpZ246Uz8wOnZvaWQgMCxhbmNob3JYOnUsYW5jaG9yWTpnLGJveFdpZHRoOnIscG9pbnQ6byxyYW5rOl8obS5yYW5rLGE/MTowKSxzaXplOmwsdGFyZ2V0Om0ueSx0dDpzLHg6bS54fSkpOnMuaXNBY3RpdmU9ITF9cmV0dXJuIHR9KSxbXSksIVMmJnQuc29tZSgoZnVuY3Rpb24odCl7dmFyIGU9KG4ub3V0c2lkZT9UOjApK3QuYW5jaG9yWDtyZXR1cm4gZTxBLmxlZnQmJmUrdC5ib3hXaWR0aDxBLnJpZ2h0fHxlPFQtQS5sZWZ0K3QuYm94V2lkdGgmJkEucmlnaHQtZT5lfSkpJiYodD10Lm1hcCgoZnVuY3Rpb24odCl7dmFyIGU9aSh0LmFuY2hvclgsdC5hbmNob3JZLHQucG9pbnQuaXNIZWFkZXIsdC5ib3hXaWR0aCwhMSk7cmV0dXJuIHUodCx7dGFyZ2V0OmUueSx4OmUueH0pfSkpKSxuLmNsZWFuU3BsaXQoKSxzKHQsaik7dmFyIEQ9VCxJPVQ7dC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10LngsaT10LmJveFdpZHRoO3Q9dC5pc0hlYWRlcix0fHwobi5vdXRzaWRlJiZUK2U8RCYmKEQ9VCtlKSwhdCYmbi5vdXRzaWRlJiZEK2k+SSYmKEk9VCtlKSl9KSksdC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZT10LngsaT10LmFuY2hvclgscj10LnBvcyxvPXQucG9pbnQuaXNIZWFkZXI7aWYocj17dmlzaWJpbGl0eToidW5kZWZpbmVkIj09PXR5cGVvZiByPyJoaWRkZW4iOiJpbmhlcml0Iix4OmUseTpyK0UsYW5jaG9yWDppLGFuY2hvclk6dC5hbmNob3JZfSxuLm91dHNpZGUmJmU8aSl7dmFyIGE9VC1EOzA8YSYmKG98fChyLng9ZSthLHIuYW5jaG9yWD1pK2EpLG8mJihyLng9KEktRCkvMixyLmFuY2hvclg9aSthKSl9dC50dC5hdHRyKHIpfSkpLHQ9bi5jb250YWluZXIsZz1uLnJlbmRlcmVyLG4ub3V0c2lkZSYmdCYmZyYmKG89TS5nZXRCQm94KCksZy5zZXRTaXplKG8ud2lkdGgrby54LG8uaGVpZ2h0K28ueSwhMSksdC5zdHlsZS5sZWZ0PUQrInB4Iix0LnN0eWxlLnRvcD1yKyJweCIpfSx0LnByb3RvdHlwZS5kcmF3VHJhY2tlcj1mdW5jdGlvbigpe2lmKHRoaXMuZm9sbG93UG9pbnRlcnx8IXRoaXMub3B0aW9ucy5zdGlja09uQ29udGFjdCl0aGlzLnRyYWNrZXImJnRoaXMudHJhY2tlci5kZXN0cm95KCk7ZWxzZXt2YXIgdD10aGlzLmNoYXJ0LGU9dGhpcy5sYWJlbCxpPXRoaXMuc2hhcmVkP3QuaG92ZXJQb2ludHM6dC5ob3ZlclBvaW50O2lmKGUmJmkpe3ZhciBuPXt4OjAseTowLHdpZHRoOjAsaGVpZ2h0OjB9O2k9dGhpcy5nZXRBbmNob3IoaSk7dmFyIHI9ZS5nZXRCQm94KCk7aVswXSs9dC5wbG90TGVmdC1lLnRyYW5zbGF0ZVgsaVsxXSs9dC5wbG90VG9wLWUudHJhbnNsYXRlWSxuLng9TWF0aC5taW4oMCxpWzBdKSxuLnk9TWF0aC5taW4oMCxpWzFdKSxuLndpZHRoPTA+aVswXT9NYXRoLm1heChNYXRoLmFicyhpWzBdKSxyLndpZHRoLWlbMF0pOk1hdGgubWF4KE1hdGguYWJzKGlbMF0pLHIud2lkdGgpLG4uaGVpZ2h0PTA+aVsxXT9NYXRoLm1heChNYXRoLmFicyhpWzFdKSxyLmhlaWdodC1NYXRoLmFicyhpWzFdKSk6TWF0aC5tYXgoTWF0aC5hYnMoaVsxXSksci5oZWlnaHQpLHRoaXMudHJhY2tlcj90aGlzLnRyYWNrZXIuYXR0cihuKToodGhpcy50cmFja2VyPWUucmVuZGVyZXIucmVjdChuKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy10cmFja2VyIikuYWRkKGUpLHQuc3R5bGVkTW9kZXx8dGhpcy50cmFja2VyLmF0dHIoe2ZpbGw6InJnYmEoMCwwLDAsMCkifSkpfX19LHQucHJvdG90eXBlLnN0eWxlZE1vZGVGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQucmVwbGFjZSgnc3R5bGU9ImZvbnQtc2l6ZTogMTBweCInLCdjbGFzcz0iaGlnaGNoYXJ0cy1oZWFkZXIiJykucmVwbGFjZSgvc3R5bGU9ImNvbG9yOnsocG9pbnR8c2VyaWVzKVwuY29sb3J9Ii9nLCdjbGFzcz0iaGlnaGNoYXJ0cy1jb2xvci17JDEuY29sb3JJbmRleH0iJyl9LHQucHJvdG90eXBlLnRvb2x0aXBGb290ZXJIZWFkZXJGb3JtYXR0ZXI9ZnVuY3Rpb24odCxlKXt2YXIgaT10LnNlcmllcyxuPWkudG9vbHRpcE9wdGlvbnMscj1pLnhBeGlzLGE9ciYmci5kYXRlVGltZTtyPXtpc0Zvb3RlcjplLGxhYmVsQ29uZmlnOnR9O3ZhciBzPW4ueERhdGVGb3JtYXQsYz1uW2U/ImZvb3RlckZvcm1hdCI6ImhlYWRlckZvcm1hdCJdO3JldHVybiBmKHRoaXMsImhlYWRlckZvcm1hdHRlciIsciwoZnVuY3Rpb24oZSl7YSYmIXMmJmcodC5rZXkpJiYocz1hLmdldFhEYXRlRm9ybWF0KHQua2V5LG4uZGF0ZVRpbWVMYWJlbEZvcm1hdHMpKSxhJiZzJiYodC5wb2ludCYmdC5wb2ludC50b29sdGlwRGF0ZUtleXN8fFsia2V5Il0pLmZvckVhY2goKGZ1bmN0aW9uKHQpe2M9Yy5yZXBsYWNlKCJ7cG9pbnQuIit0KyJ9Iiwie3BvaW50LiIrdCsiOiIrcysifSIpfSkpLGkuY2hhcnQuc3R5bGVkTW9kZSYmKGM9dGhpcy5zdHlsZWRNb2RlRm9ybWF0KGMpKSxlLnRleHQ9byhjLHtwb2ludDp0LHNlcmllczppfSx0aGlzLmNoYXJ0KX0pKSxyLnRleHR9LHQucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLmRlc3Ryb3koKSx5KCEwLHRoaXMuY2hhcnQub3B0aW9ucy50b29sdGlwLnVzZXJPcHRpb25zLHQpLHRoaXMuaW5pdCh0aGlzLmNoYXJ0LHkoITAsdGhpcy5vcHRpb25zLHQpKX0sdC5wcm90b3R5cGUudXBkYXRlUG9zaXRpb249ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jaGFydCxpPXRoaXMub3B0aW9ucyxuPWUucG9pbnRlcixyPXRoaXMuZ2V0TGFiZWwoKTtuPW4uZ2V0Q2hhcnRQb3NpdGlvbigpO3ZhciBvPShpLnBvc2l0aW9uZXJ8fHRoaXMuZ2V0UG9zaXRpb24pLmNhbGwodGhpcyxyLndpZHRoLHIuaGVpZ2h0LHQpLGE9dC5wbG90WCtlLnBsb3RMZWZ0O3Q9dC5wbG90WStlLnBsb3RUb3AsdGhpcy5vdXRzaWRlJiYoaT1pLmJvcmRlcldpZHRoKzIqdGhpcy5kaXN0YW5jZSx0aGlzLnJlbmRlcmVyLnNldFNpemUoci53aWR0aCtpLHIuaGVpZ2h0K2ksITEpLDE9PT1uLnNjYWxlWCYmMT09PW4uc2NhbGVZfHwobCh0aGlzLmNvbnRhaW5lcix7dHJhbnNmb3JtOiJzY2FsZSgiK24uc2NhbGVYKyIsICIrbi5zY2FsZVkrIikifSksYSo9bi5zY2FsZVgsdCo9bi5zY2FsZVkpLGErPW4ubGVmdC1vLngsdCs9bi50b3Atby55KSx0aGlzLm1vdmUoTWF0aC5yb3VuZChvLngpLE1hdGgucm91bmQoby55fHwwKSxhLHQpfSx0fSgpLHR9KSksZShpLCJDb3JlL1Nlcmllcy9Qb2ludC5qcyIsW2lbIkNvcmUvUmVuZGVyZXIvSFRNTC9BU1QuanMiXSxpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSxpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0saVsiQ29yZS9Gb3JtYXRVdGlsaXRpZXMuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbz1lLmFuaW1PYmplY3QsYT1pLmRlZmF1bHRPcHRpb25zLHM9bi5mb3JtYXQsYz1yLmFkZEV2ZW50LGg9ci5kZWZpbmVkLGw9ci5lcmFzZSxwPXIuZXh0ZW5kLGQ9ci5maXJlRXZlbnQsdT1yLmdldE5lc3RlZFByb3BlcnR5LGY9ci5pc0FycmF5LG09ci5pc0Z1bmN0aW9uLGc9ci5pc051bWJlcix2PXIuaXNPYmplY3QseT1yLm1lcmdlLF89ci5vYmplY3RFYWNoLGI9ci5waWNrLHg9ci5zeW5jVGltZW91dCx3PXIucmVtb3ZlRXZlbnQsaz1yLnVuaXF1ZUtleTtyZXR1cm4gZT1mdW5jdGlvbigpe2Z1bmN0aW9uIGUoKXt0aGlzLmNvbG9ySW5kZXg9dGhpcy5jYXRlZ29yeT12b2lkIDAsdGhpcy5mb3JtYXRQcmVmaXg9InBvaW50Iix0aGlzLmlkPXZvaWQgMCx0aGlzLmlzTnVsbD0hMSx0aGlzLnBlcmNlbnRhZ2U9dGhpcy5vcHRpb25zPXRoaXMubmFtZT12b2lkIDAsdGhpcy5zZWxlY3RlZD0hMSx0aGlzLnRvdGFsPXRoaXMuc2VyaWVzPXZvaWQgMCx0aGlzLnZpc2libGU9ITAsdGhpcy54PXZvaWQgMH1yZXR1cm4gZS5wcm90b3R5cGUuYW5pbWF0ZUJlZm9yZURlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9e3g6dC5zdGFydFhQb3Msb3BhY2l0eTowfSxpPXQuZ2V0R3JhcGhpY2FsUHJvcHMoKTtpLnNpbmd1bGFyLmZvckVhY2goKGZ1bmN0aW9uKGkpe3RbaV09dFtpXS5hbmltYXRlKCJkYXRhTGFiZWwiPT09aT97eDp0W2ldLnN0YXJ0WFBvcyx5OnRbaV0uc3RhcnRZUG9zLG9wYWNpdHk6MH06ZSl9KSksaS5wbHVyYWwuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dFtlXS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmVsZW1lbnQmJmUuYW5pbWF0ZShwKHt4OnQuc3RhcnRYUG9zfSxlLnN0YXJ0WVBvcz97eDplLnN0YXJ0WFBvcyx5OmUuc3RhcnRZUG9zfTp7fSkpfSkpfSkpfSxlLnByb3RvdHlwZS5hcHBseU9wdGlvbnM9ZnVuY3Rpb24odCxpKXt2YXIgbj10aGlzLnNlcmllcyxyPW4ub3B0aW9ucy5wb2ludFZhbEtleXx8bi5wb2ludFZhbEtleTtyZXR1cm4gdD1lLnByb3RvdHlwZS5vcHRpb25zVG9PYmplY3QuY2FsbCh0aGlzLHQpLHAodGhpcyx0KSx0aGlzLm9wdGlvbnM9dGhpcy5vcHRpb25zP3AodGhpcy5vcHRpb25zLHQpOnQsdC5ncm91cCYmZGVsZXRlIHRoaXMuZ3JvdXAsdC5kYXRhTGFiZWxzJiZkZWxldGUgdGhpcy5kYXRhTGFiZWxzLHImJih0aGlzLnk9ZS5wcm90b3R5cGUuZ2V0TmVzdGVkUHJvcGVydHkuY2FsbCh0aGlzLHIpKSx0aGlzLmZvcm1hdFByZWZpeD0odGhpcy5pc051bGw9Yih0aGlzLmlzVmFsaWQmJiF0aGlzLmlzVmFsaWQoKSxudWxsPT09dGhpcy54fHwhZyh0aGlzLnkpKSk/Im51bGwiOiJwb2ludCIsdGhpcy5zZWxlY3RlZCYmKHRoaXMuc3RhdGU9InNlbGVjdCIpLCJuYW1lImluIHRoaXMmJiJ1bmRlZmluZWQiPT09dHlwZW9mIGkmJm4ueEF4aXMmJm4ueEF4aXMuaGFzTmFtZXMmJih0aGlzLng9bi54QXhpcy5uYW1lVG9YKHRoaXMpKSwidW5kZWZpbmVkIj09PXR5cGVvZiB0aGlzLngmJm4/dGhpcy54PSJ1bmRlZmluZWQiPT09dHlwZW9mIGk/bi5hdXRvSW5jcmVtZW50KCk6aTpnKHQueCkmJm4ub3B0aW9ucy5yZWxhdGl2ZVhWYWx1ZSYmKHRoaXMueD1uLmF1dG9JbmNyZW1lbnQodC54KSksdGhpc30sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXtmb3IociBpbihlLmdyYXBoaWN8fGUuZGF0YUxhYmVsfHxlLmRhdGFMYWJlbHMpJiYodyhlKSxlLmRlc3Ryb3lFbGVtZW50cygpKSxlKWVbcl09bnVsbH12YXIgZT10aGlzLGk9ZS5zZXJpZXMsbj1pLmNoYXJ0O2k9aS5vcHRpb25zLmRhdGFTb3J0aW5nO3ZhciByLGE9bi5ob3ZlclBvaW50cyxzPW8oZS5zZXJpZXMuY2hhcnQucmVuZGVyZXIuZ2xvYmFsQW5pbWF0aW9uKTtlLmxlZ2VuZEl0ZW0mJm4ubGVnZW5kLmRlc3Ryb3lJdGVtKGUpLGEmJihlLnNldFN0YXRlKCksbChhLGUpLGEubGVuZ3RofHwobi5ob3ZlclBvaW50cz1udWxsKSksZT09PW4uaG92ZXJQb2ludCYmZS5vbk1vdXNlT3V0KCksaSYmaS5lbmFibGVkPyh0aGlzLmFuaW1hdGVCZWZvcmVEZXN0cm95KCkseCh0LHMuZHVyYXRpb24pKTp0KCksbi5wb2ludENvdW50LS19LGUucHJvdG90eXBlLmRlc3Ryb3lFbGVtZW50cz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO3Q9ZS5nZXRHcmFwaGljYWxQcm9wcyh0KSx0LnNpbmd1bGFyLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VbdF09ZVt0XS5kZXN0cm95KCl9KSksdC5wbHVyYWwuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZVt0XS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmVsZW1lbnQmJnQuZGVzdHJveSgpfSkpLGRlbGV0ZSBlW3RdfSkpfSxlLnByb3RvdHlwZS5maXJlUG9pbnRFdmVudD1mdW5jdGlvbih0LGUsaSl7dmFyIG49dGhpcyxyPXRoaXMuc2VyaWVzLm9wdGlvbnM7KHIucG9pbnQuZXZlbnRzW3RdfHxuLm9wdGlvbnMmJm4ub3B0aW9ucy5ldmVudHMmJm4ub3B0aW9ucy5ldmVudHNbdF0pJiZuLmltcG9ydEV2ZW50cygpLCJjbGljayI9PT10JiZyLmFsbG93UG9pbnRTZWxlY3QmJihpPWZ1bmN0aW9uKHQpe24uc2VsZWN0JiZuLnNlbGVjdChudWxsLHQuY3RybEtleXx8dC5tZXRhS2V5fHx0LnNoaWZ0S2V5KX0pLGQobix0LGUsaSl9LGUucHJvdG90eXBlLmdldENsYXNzTmFtZT1mdW5jdGlvbigpe3JldHVybiJoaWdoY2hhcnRzLXBvaW50IisodGhpcy5zZWxlY3RlZD8iIGhpZ2hjaGFydHMtcG9pbnQtc2VsZWN0IjoiIikrKHRoaXMubmVnYXRpdmU/IiBoaWdoY2hhcnRzLW5lZ2F0aXZlIjoiIikrKHRoaXMuaXNOdWxsPyIgaGlnaGNoYXJ0cy1udWxsLXBvaW50IjoiIikrKCJ1bmRlZmluZWQiIT09dHlwZW9mIHRoaXMuY29sb3JJbmRleD8iIGhpZ2hjaGFydHMtY29sb3ItIit0aGlzLmNvbG9ySW5kZXg6IiIpKyh0aGlzLm9wdGlvbnMuY2xhc3NOYW1lPyIgIit0aGlzLm9wdGlvbnMuY2xhc3NOYW1lOiIiKSsodGhpcy56b25lJiZ0aGlzLnpvbmUuY2xhc3NOYW1lPyIgIit0aGlzLnpvbmUuY2xhc3NOYW1lLnJlcGxhY2UoImhpZ2hjaGFydHMtbmVnYXRpdmUiLCIiKToiIil9LGUucHJvdG90eXBlLmdldEdyYXBoaWNhbFByb3BzPWZ1bmN0aW9uKHQpe3ZhciBlLGk9dGhpcyxuPVtdLHI9e3Npbmd1bGFyOltdLHBsdXJhbDpbXX07Zm9yKHQ9dHx8e2dyYXBoaWM6MSxkYXRhTGFiZWw6MX0sdC5ncmFwaGljJiZuLnB1c2goImdyYXBoaWMiLCJ1cHBlckdyYXBoaWMiLCJzaGFkb3dHcm91cCIpLHQuZGF0YUxhYmVsJiZuLnB1c2goImRhdGFMYWJlbCIsImRhdGFMYWJlbFVwcGVyIiwiY29ubmVjdG9yIiksZT1uLmxlbmd0aDtlLS07KXt2YXIgbz1uW2VdO2lbb10mJnIuc2luZ3VsYXIucHVzaChvKX1yZXR1cm5bImRhdGFMYWJlbCIsImNvbm5lY3RvciJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBuPWUrInMiO3RbZV0mJmlbbl0mJnIucGx1cmFsLnB1c2gobil9KSkscn0sZS5wcm90b3R5cGUuZ2V0TGFiZWxDb25maWc9ZnVuY3Rpb24oKXtyZXR1cm57eDp0aGlzLmNhdGVnb3J5LHk6dGhpcy55LGNvbG9yOnRoaXMuY29sb3IsY29sb3JJbmRleDp0aGlzLmNvbG9ySW5kZXgsa2V5OnRoaXMubmFtZXx8dGhpcy5jYXRlZ29yeSxzZXJpZXM6dGhpcy5zZXJpZXMscG9pbnQ6dGhpcyxwZXJjZW50YWdlOnRoaXMucGVyY2VudGFnZSx0b3RhbDp0aGlzLnRvdGFsfHx0aGlzLnN0YWNrVG90YWx9fSxlLnByb3RvdHlwZS5nZXROZXN0ZWRQcm9wZXJ0eT1mdW5jdGlvbih0KXtpZih0KXJldHVybiAwPT09dC5pbmRleE9mKCJjdXN0b20uIik/dSh0LHRoaXMub3B0aW9ucyk6dGhpc1t0XX0sZS5wcm90b3R5cGUuZ2V0Wm9uZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuc2VyaWVzLGU9dC56b25lczt0PXQuem9uZUF4aXN8fCJ5Ijt2YXIgaSxuPTA7Zm9yKGk9ZVtuXTt0aGlzW3RdPj1pLnZhbHVlOylpPWVbKytuXTtyZXR1cm4gdGhpcy5ub25ab25lZENvbG9yfHwodGhpcy5ub25ab25lZENvbG9yPXRoaXMuY29sb3IpLHRoaXMuY29sb3I9aSYmaS5jb2xvciYmIXRoaXMub3B0aW9ucy5jb2xvcj9pLmNvbG9yOnRoaXMubm9uWm9uZWRDb2xvcixpfSxlLnByb3RvdHlwZS5oYXNOZXdTaGFwZVR5cGU9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5ncmFwaGljJiYodGhpcy5ncmFwaGljLnN5bWJvbE5hbWV8fHRoaXMuZ3JhcGhpYy5lbGVtZW50Lm5vZGVOYW1lKSkhPT10aGlzLnNoYXBlVHlwZX0sZS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIHRoaXMuc2VyaWVzPXQsdGhpcy5hcHBseU9wdGlvbnMoZSxpKSx0aGlzLmlkPWgodGhpcy5pZCk/dGhpcy5pZDprKCksdGhpcy5yZXNvbHZlQ29sb3IoKSx0LmNoYXJ0LnBvaW50Q291bnQrKyxkKHRoaXMsImFmdGVySW5pdCIpLHRoaXN9LGUucHJvdG90eXBlLm9wdGlvbnNUb09iamVjdD1mdW5jdGlvbih0KXt2YXIgaT10aGlzLnNlcmllcyxuPWkub3B0aW9ucy5rZXlzLHI9bnx8aS5wb2ludEFycmF5TWFwfHxbInkiXSxvPXIubGVuZ3RoLGE9e30scz0wLGM9MDtpZihnKHQpfHxudWxsPT09dClhW3JbMF1dPXQ7ZWxzZSBpZihmKHQpKWZvcighbiYmdC5sZW5ndGg+byYmKGk9dHlwZW9mIHRbMF0sInN0cmluZyI9PT1pP2EubmFtZT10WzBdOiJudW1iZXIiPT09aSYmKGEueD10WzBdKSxzKyspO2M8bzspbiYmInVuZGVmaW5lZCI9PT10eXBlb2YgdFtzXXx8KDA8cltjXS5pbmRleE9mKCIuIik/ZS5wcm90b3R5cGUuc2V0TmVzdGVkUHJvcGVydHkoYSx0W3NdLHJbY10pOmFbcltjXV09dFtzXSkscysrLGMrKztlbHNlIm9iamVjdCI9PT10eXBlb2YgdCYmKGE9dCx0LmRhdGFMYWJlbHMmJihpLl9oYXNQb2ludExhYmVscz0hMCksdC5tYXJrZXImJihpLl9oYXNQb2ludE1hcmtlcnM9ITApKTtyZXR1cm4gYX0sZS5wcm90b3R5cGUucmVzb2x2ZUNvbG9yPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zZXJpZXMsZT10LmNoYXJ0LnN0eWxlZE1vZGUsaT10LmNoYXJ0Lm9wdGlvbnMuY2hhcnQuY29sb3JDb3VudDtpZihkZWxldGUgdGhpcy5ub25ab25lZENvbG9yLHQub3B0aW9ucy5jb2xvckJ5UG9pbnQpe2lmKCFlKXtpPXQub3B0aW9ucy5jb2xvcnN8fHQuY2hhcnQub3B0aW9ucy5jb2xvcnM7dmFyIG49aVt0LmNvbG9yQ291bnRlcl07aT1pLmxlbmd0aH1lPXQuY29sb3JDb3VudGVyLHQuY29sb3JDb3VudGVyKyssdC5jb2xvckNvdW50ZXI9PT1pJiYodC5jb2xvckNvdW50ZXI9MCl9ZWxzZSBlfHwobj10LmNvbG9yKSxlPXQuY29sb3JJbmRleDt0aGlzLmNvbG9ySW5kZXg9Yih0aGlzLm9wdGlvbnMuY29sb3JJbmRleCxlKSx0aGlzLmNvbG9yPWIodGhpcy5vcHRpb25zLmNvbG9yLG4pfSxlLnByb3RvdHlwZS5zZXROZXN0ZWRQcm9wZXJ0eT1mdW5jdGlvbih0LGUsaSl7cmV0dXJuIGkuc3BsaXQoIi4iKS5yZWR1Y2UoKGZ1bmN0aW9uKHQsaSxuLHIpe3JldHVybiB0W2ldPXIubGVuZ3RoLTE9PT1uP2U6dih0W2ldLCEwKT90W2ldOnt9LHRbaV19KSx0KSx0fSxlLnByb3RvdHlwZS50b29sdGlwRm9ybWF0dGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuc2VyaWVzLGk9ZS50b29sdGlwT3B0aW9ucyxuPWIoaS52YWx1ZURlY2ltYWxzLCIiKSxyPWkudmFsdWVQcmVmaXh8fCIiLG89aS52YWx1ZVN1ZmZpeHx8IiI7cmV0dXJuIGUuY2hhcnQuc3R5bGVkTW9kZSYmKHQ9ZS5jaGFydC50b29sdGlwLnN0eWxlZE1vZGVGb3JtYXQodCkpLChlLnBvaW50QXJyYXlNYXB8fFsieSJdKS5mb3JFYWNoKChmdW5jdGlvbihlKXtlPSJ7cG9pbnQuIitlLChyfHxvKSYmKHQ9dC5yZXBsYWNlKFJlZ0V4cChlKyJ9IiwiZyIpLHIrZSsifSIrbykpLHQ9dC5yZXBsYWNlKFJlZ0V4cChlKyJ9IiwiZyIpLGUrIjosLiIrbisiZn0iKX0pKSxzKHQse3BvaW50OnRoaXMsc2VyaWVzOnRoaXMuc2VyaWVzfSxlLmNoYXJ0KX0sZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSxpLG4pe2Z1bmN0aW9uIHIoKXthLmFwcGx5T3B0aW9ucyh0KTt2YXIgbj1jJiZhLmhhc0R1bW15R3JhcGhpYztuPW51bGw9PT1hLnk/IW46bixjJiZuJiYoYS5ncmFwaGljPWMuZGVzdHJveSgpLGRlbGV0ZSBhLmhhc0R1bW15R3JhcGhpYyksdih0LCEwKSYmKGMmJmMuZWxlbWVudCYmdCYmdC5tYXJrZXImJiJ1bmRlZmluZWQiIT09dHlwZW9mIHQubWFya2VyLnN5bWJvbCYmKGEuZ3JhcGhpYz1jLmRlc3Ryb3koKSksdCYmdC5kYXRhTGFiZWxzJiZhLmRhdGFMYWJlbCYmKGEuZGF0YUxhYmVsPWEuZGF0YUxhYmVsLmRlc3Ryb3koKSksYS5jb25uZWN0b3ImJihhLmNvbm5lY3Rvcj1hLmNvbm5lY3Rvci5kZXN0cm95KCkpKSxvPWEuaW5kZXgscy51cGRhdGVQYXJhbGxlbEFycmF5cyhhLG8pLGwuZGF0YVtvXT12KGwuZGF0YVtvXSwhMCl8fHYodCwhMCk/YS5vcHRpb25zOmIodCxsLmRhdGFbb10pLHMuaXNEaXJ0eT1zLmlzRGlydHlEYXRhPSEwLCFzLmZpeGVkQm94JiZzLmhhc0NhcnRlc2lhblNlcmllcyYmKGguaXNEaXJ0eUJveD0hMCksInBvaW50Ij09PWwubGVnZW5kVHlwZSYmKGguaXNEaXJ0eUxlZ2VuZD0hMCksZSYmaC5yZWRyYXcoaSl9dmFyIG8sYT10aGlzLHM9YS5zZXJpZXMsYz1hLmdyYXBoaWMsaD1zLmNoYXJ0LGw9cy5vcHRpb25zO2U9YihlLCEwKSwhMT09PW4/cigpOmEuZmlyZVBvaW50RXZlbnQoInVwZGF0ZSIse29wdGlvbnM6dH0scil9LGUucHJvdG90eXBlLnJlbW92ZT1mdW5jdGlvbih0LGUpe3RoaXMuc2VyaWVzLnJlbW92ZVBvaW50KHRoaXMuc2VyaWVzLmRhdGEuaW5kZXhPZih0aGlzKSx0LGUpfSxlLnByb3RvdHlwZS5zZWxlY3Q9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLG49aS5zZXJpZXMscj1uLmNoYXJ0O3RoaXMuc2VsZWN0ZWRTdGFnaW5nPXQ9Yih0LCFpLnNlbGVjdGVkKSxpLmZpcmVQb2ludEV2ZW50KHQ/InNlbGVjdCI6InVuc2VsZWN0Iix7YWNjdW11bGF0ZTplfSwoZnVuY3Rpb24oKXtpLnNlbGVjdGVkPWkub3B0aW9ucy5zZWxlY3RlZD10LG4ub3B0aW9ucy5kYXRhW24uZGF0YS5pbmRleE9mKGkpXT1pLm9wdGlvbnMsaS5zZXRTdGF0ZSh0JiYic2VsZWN0IiksZXx8ci5nZXRTZWxlY3RlZFBvaW50cygpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXQuc2VyaWVzO3Quc2VsZWN0ZWQmJnQhPT1pJiYodC5zZWxlY3RlZD10Lm9wdGlvbnMuc2VsZWN0ZWQ9ITEsZS5vcHRpb25zLmRhdGFbZS5kYXRhLmluZGV4T2YodCldPXQub3B0aW9ucyx0LnNldFN0YXRlKHIuaG92ZXJQb2ludHMmJmUub3B0aW9ucy5pbmFjdGl2ZU90aGVyUG9pbnRzPyJpbmFjdGl2ZSI6IiIpLHQuZmlyZVBvaW50RXZlbnQoInVuc2VsZWN0IikpfSkpfSkpLGRlbGV0ZSB0aGlzLnNlbGVjdGVkU3RhZ2luZ30sZS5wcm90b3R5cGUub25Nb3VzZU92ZXI9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zZXJpZXMuY2hhcnQsaT1lLnBvaW50ZXI7dD10P2kubm9ybWFsaXplKHQpOmkuZ2V0Q2hhcnRDb29yZGluYXRlc0Zyb21Qb2ludCh0aGlzLGUuaW52ZXJ0ZWQpLGkucnVuUG9pbnRBY3Rpb25zKHQsdGhpcyl9LGUucHJvdG90eXBlLm9uTW91c2VPdXQ9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNlcmllcy5jaGFydDt0aGlzLmZpcmVQb2ludEV2ZW50KCJtb3VzZU91dCIpLHRoaXMuc2VyaWVzLm9wdGlvbnMuaW5hY3RpdmVPdGhlclBvaW50c3x8KHQuaG92ZXJQb2ludHN8fFtdKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnNldFN0YXRlKCl9KSksdC5ob3ZlclBvaW50cz10LmhvdmVyUG9pbnQ9bnVsbH0sZS5wcm90b3R5cGUuaW1wb3J0RXZlbnRzPWZ1bmN0aW9uKCl7aWYoIXRoaXMuaGFzSW1wb3J0ZWRFdmVudHMpe3ZhciB0PXRoaXMsZT15KHQuc2VyaWVzLm9wdGlvbnMucG9pbnQsdC5vcHRpb25zKS5ldmVudHM7dC5ldmVudHM9ZSxfKGUsKGZ1bmN0aW9uKGUsaSl7bShlKSYmYyh0LGksZSl9KSksdGhpcy5oYXNJbXBvcnRlZEV2ZW50cz0hMH19LGUucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKGUsaSl7dmFyIG4scj10aGlzLnNlcmllcyxvPXRoaXMuc3RhdGUscz1yLm9wdGlvbnMuc3RhdGVzW2V8fCJub3JtYWwiXXx8e30sYz1hLnBsb3RPcHRpb25zW3IudHlwZV0ubWFya2VyJiZyLm9wdGlvbnMubWFya2VyLGg9YyYmITE9PT1jLmVuYWJsZWQsbD1jJiZjLnN0YXRlcyYmYy5zdGF0ZXNbZXx8Im5vcm1hbCJdfHx7fSx1PSExPT09bC5lbmFibGVkLGY9dGhpcy5tYXJrZXJ8fHt9LG09ci5jaGFydCx2PWMmJnIubWFya2VyQXR0cmlicyx5PXIuaGFsbyxfPXIuc3RhdGVNYXJrZXJHcmFwaGljO2lmKGU9ZXx8IiIsIShlPT09dGhpcy5zdGF0ZSYmIWl8fHRoaXMuc2VsZWN0ZWQmJiJzZWxlY3QiIT09ZXx8ITE9PT1zLmVuYWJsZWR8fGUmJih1fHxoJiYhMT09PWwuZW5hYmxlZCl8fGUmJmYuc3RhdGVzJiZmLnN0YXRlc1tlXSYmITE9PT1mLnN0YXRlc1tlXS5lbmFibGVkKSl7aWYodGhpcy5zdGF0ZT1lLHYmJihuPXIubWFya2VyQXR0cmlicyh0aGlzLGUpKSx0aGlzLmdyYXBoaWMmJiF0aGlzLmhhc0R1bW15R3JhcGhpYyl7aWYobyYmdGhpcy5ncmFwaGljLnJlbW92ZUNsYXNzKCJoaWdoY2hhcnRzLXBvaW50LSIrbyksZSYmdGhpcy5ncmFwaGljLmFkZENsYXNzKCJoaWdoY2hhcnRzLXBvaW50LSIrZSksIW0uc3R5bGVkTW9kZSl7dmFyIHg9ci5wb2ludEF0dHJpYnModGhpcyxlKSx3PWIobS5vcHRpb25zLmNoYXJ0LmFuaW1hdGlvbixzLmFuaW1hdGlvbik7ci5vcHRpb25zLmluYWN0aXZlT3RoZXJQb2ludHMmJmcoeC5vcGFjaXR5KSYmKCh0aGlzLmRhdGFMYWJlbHN8fFtdKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0JiZ0LmFuaW1hdGUoe29wYWNpdHk6eC5vcGFjaXR5fSx3KX0pKSx0aGlzLmNvbm5lY3RvciYmdGhpcy5jb25uZWN0b3IuYW5pbWF0ZSh7b3BhY2l0eTp4Lm9wYWNpdHl9LHcpKSx0aGlzLmdyYXBoaWMuYW5pbWF0ZSh4LHcpfW4mJnRoaXMuZ3JhcGhpYy5hbmltYXRlKG4sYihtLm9wdGlvbnMuY2hhcnQuYW5pbWF0aW9uLGwuYW5pbWF0aW9uLGMuYW5pbWF0aW9uKSksXyYmXy5oaWRlKCl9ZWxzZSBlJiZsJiYobz1mLnN5bWJvbHx8ci5zeW1ib2wsXyYmXy5jdXJyZW50U3ltYm9sIT09byYmKF89Xy5kZXN0cm95KCkpLG4mJihfP19baT8iYW5pbWF0ZSI6ImF0dHIiXSh7eDpuLngseTpuLnl9KTpvJiYoci5zdGF0ZU1hcmtlckdyYXBoaWM9Xz1tLnJlbmRlcmVyLnN5bWJvbChvLG4ueCxuLnksbi53aWR0aCxuLmhlaWdodCkuYWRkKHIubWFya2VyR3JvdXApLF8uY3VycmVudFN5bWJvbD1vKSksIW0uc3R5bGVkTW9kZSYmXyYmImluYWN0aXZlIiE9PXRoaXMuc3RhdGUmJl8uYXR0cihyLnBvaW50QXR0cmlicyh0aGlzLGUpKSksXyYmKF9bZSYmdGhpcy5pc0luc2lkZT8ic2hvdyI6ImhpZGUiXSgpLF8uZWxlbWVudC5wb2ludD10aGlzLF8uYWRkQ2xhc3ModGhpcy5nZXRDbGFzc05hbWUoKSwhMCkpO3M9cy5oYWxvLG49KF89dGhpcy5ncmFwaGljfHxfKSYmXy52aXNpYmlsaXR5fHwiaW5oZXJpdCIscyYmcy5zaXplJiZfJiYiaGlkZGVuIiE9PW4mJiF0aGlzLmlzQ2x1c3Rlcj8oeXx8KHIuaGFsbz15PW0ucmVuZGVyZXIucGF0aCgpLmFkZChfLnBhcmVudEdyb3VwKSkseS5zaG93KClbaT8iYW5pbWF0ZSI6ImF0dHIiXSh7ZDp0aGlzLmhhbG9QYXRoKHMuc2l6ZSl9KSx5LmF0dHIoe2NsYXNzOiJoaWdoY2hhcnRzLWhhbG8gaGlnaGNoYXJ0cy1jb2xvci0iK2IodGhpcy5jb2xvckluZGV4LHIuY29sb3JJbmRleCkrKHRoaXMuY2xhc3NOYW1lPyIgIit0aGlzLmNsYXNzTmFtZToiIiksdmlzaWJpbGl0eTpuLHpJbmRleDotMX0pLHkucG9pbnQ9dGhpcyxtLnN0eWxlZE1vZGV8fHkuYXR0cihwKHtmaWxsOnRoaXMuY29sb3J8fHIuY29sb3IsImZpbGwtb3BhY2l0eSI6cy5vcGFjaXR5fSx0LmZpbHRlclVzZXJBdHRyaWJ1dGVzKHMuYXR0cmlidXRlc3x8e30pKSkpOnkmJnkucG9pbnQmJnkucG9pbnQuaGFsb1BhdGgmJnkuYW5pbWF0ZSh7ZDp5LnBvaW50LmhhbG9QYXRoKDApfSxudWxsLHkuaGlkZSksZCh0aGlzLCJhZnRlclNldFN0YXRlIix7c3RhdGU6ZX0pfX0sZS5wcm90b3R5cGUuaGFsb1BhdGg9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuc2VyaWVzLmNoYXJ0LnJlbmRlcmVyLnN5bWJvbHMuY2lyY2xlKE1hdGguZmxvb3IodGhpcy5wbG90WCktdCx0aGlzLnBsb3RZLXQsMip0LDIqdCl9LGV9KCksZX0pKSxlKGksIkNvcmUvUG9pbnRlci5qcyIsW2lbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSxpWyJDb3JlL0dsb2JhbHMuanMiXSxpWyJDb3JlL1Rvb2x0aXAuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbil7dmFyIHI9dC5wYXJzZSxvPWUuY2hhcnRzLGE9ZS5ub29wLHM9bi5hZGRFdmVudCxjPW4uYXR0cixoPW4uY3NzLGw9bi5kZWZpbmVkLHA9bi5leHRlbmQsZD1uLmZpbmQsdT1uLmZpcmVFdmVudCxmPW4uaXNOdW1iZXIsbT1uLmlzT2JqZWN0LGc9bi5vYmplY3RFYWNoLHY9bi5vZmZzZXQseT1uLnBpY2ssXz1uLnNwbGF0O3JldHVybiB0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUpe3RoaXMubGFzdFZhbGlkVG91Y2g9e30sdGhpcy5waW5jaERvd249W10sdGhpcy5ydW5DaGFydENsaWNrPSExLHRoaXMuZXZlbnRzVG9VbmJpbmQ9W10sdGhpcy5jaGFydD10LHRoaXMuaGFzRHJhZ2dlZD0hMSx0aGlzLm9wdGlvbnM9ZSx0aGlzLmluaXQodCxlKX1yZXR1cm4gdC5wcm90b3R5cGUuYXBwbHlJbmFjdGl2ZVN0YXRlPWZ1bmN0aW9uKHQpe3ZhciBlLGk9W107KHR8fFtdKS5mb3JFYWNoKChmdW5jdGlvbih0KXtlPXQuc2VyaWVzLGkucHVzaChlKSxlLmxpbmtlZFBhcmVudCYmaS5wdXNoKGUubGlua2VkUGFyZW50KSxlLmxpbmtlZFNlcmllcyYmKGk9aS5jb25jYXQoZS5saW5rZWRTZXJpZXMpKSxlLm5hdmlnYXRvclNlcmllcyYmaS5wdXNoKGUubmF2aWdhdG9yU2VyaWVzKX0pKSx0aGlzLmNoYXJ0LnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbih0KXstMT09PWkuaW5kZXhPZih0KT90LnNldFN0YXRlKCJpbmFjdGl2ZSIsITApOnQub3B0aW9ucy5pbmFjdGl2ZU90aGVyUG9pbnRzJiZ0LnNldEFsbFBvaW50c1RvU3RhdGUoImluYWN0aXZlIil9KSl9LHQucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgaT10aGlzO3RoaXMuZXZlbnRzVG9VbmJpbmQuZm9yRWFjaCgoZnVuY3Rpb24odCl7cmV0dXJuIHQoKX0pKSx0aGlzLmV2ZW50c1RvVW5iaW5kPVtdLGUuY2hhcnRDb3VudHx8KHQudW5iaW5kRG9jdW1lbnRNb3VzZVVwJiYodC51bmJpbmREb2N1bWVudE1vdXNlVXA9dC51bmJpbmREb2N1bWVudE1vdXNlVXAoKSksdC51bmJpbmREb2N1bWVudFRvdWNoRW5kJiYodC51bmJpbmREb2N1bWVudFRvdWNoRW5kPXQudW5iaW5kRG9jdW1lbnRUb3VjaEVuZCgpKSksY2xlYXJJbnRlcnZhbChpLnRvb2x0aXBUaW1lb3V0KSxnKGksKGZ1bmN0aW9uKHQsZSl7aVtlXT12b2lkIDB9KSl9LHQucHJvdG90eXBlLmRyYWc9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jaGFydCxpPWUub3B0aW9ucy5jaGFydCxuPXRoaXMuem9vbUhvcixvPXRoaXMuem9vbVZlcnQsYT1lLnBsb3RMZWZ0LHM9ZS5wbG90VG9wLGM9ZS5wbG90V2lkdGgsaD1lLnBsb3RIZWlnaHQsbD10aGlzLm1vdXNlRG93blh8fDAscD10aGlzLm1vdXNlRG93bll8fDAsZD1tKGkucGFubmluZyk/aS5wYW5uaW5nJiZpLnBhbm5pbmcuZW5hYmxlZDppLnBhbm5pbmcsdT1pLnBhbktleSYmdFtpLnBhbktleSsiS2V5Il0sZj10LmNoYXJ0WCxnPXQuY2hhcnRZLHY9dGhpcy5zZWxlY3Rpb25NYXJrZXI7aWYoKCF2fHwhdi50b3VjaCkmJihmPGE/Zj1hOmY+YStjJiYoZj1hK2MpLGc8cz9nPXM6Zz5zK2gmJihnPXMraCksdGhpcy5oYXNEcmFnZ2VkPU1hdGguc3FydChNYXRoLnBvdyhsLWYsMikrTWF0aC5wb3cocC1nLDIpKSwxMDx0aGlzLmhhc0RyYWdnZWQpKXt2YXIgeT1lLmlzSW5zaWRlUGxvdChsLWEscC1zLHt2aXNpYmxlUGxvdE9ubHk6ITB9KTshZS5oYXNDYXJ0ZXNpYW5TZXJpZXMmJiFlLm1hcFZpZXd8fCF0aGlzLnpvb21YJiYhdGhpcy56b29tWXx8IXl8fHV8fHZ8fCh0aGlzLnNlbGVjdGlvbk1hcmtlcj12PWUucmVuZGVyZXIucmVjdChhLHMsbj8xOmMsbz8xOmgsMCkuYXR0cih7Y2xhc3M6ImhpZ2hjaGFydHMtc2VsZWN0aW9uLW1hcmtlciIsekluZGV4Ojd9KS5hZGQoKSxlLnN0eWxlZE1vZGV8fHYuYXR0cih7ZmlsbDppLnNlbGVjdGlvbk1hcmtlckZpbGx8fHIoIiMzMzVjYWQiKS5zZXRPcGFjaXR5KC4yNSkuZ2V0KCl9KSksdiYmbiYmKG49Zi1sLHYuYXR0cih7d2lkdGg6TWF0aC5hYnMobikseDooMDxuPzA6bikrbH0pKSx2JiZvJiYobj1nLXAsdi5hdHRyKHtoZWlnaHQ6TWF0aC5hYnMobikseTooMDxuPzA6bikrcH0pKSx5JiYhdiYmZCYmZS5wYW4odCxpLnBhbm5pbmcpfX0sdC5wcm90b3R5cGUuZHJhZ1N0YXJ0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQ7ZS5tb3VzZUlzRG93bj10LnR5cGUsZS5jYW5jZWxDbGljaz0hMSxlLm1vdXNlRG93blg9dGhpcy5tb3VzZURvd25YPXQuY2hhcnRYLGUubW91c2VEb3duWT10aGlzLm1vdXNlRG93blk9dC5jaGFydFl9LHQucHJvdG90eXBlLmRyb3A9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPXRoaXMuY2hhcnQsbj10aGlzLmhhc1BpbmNoZWQ7aWYodGhpcy5zZWxlY3Rpb25NYXJrZXIpe3ZhciByPXRoaXMuc2VsZWN0aW9uTWFya2VyLG89ci5hdHRyP3IuYXR0cigieCIpOnIueCxhPXIuYXR0cj9yLmF0dHIoInkiKTpyLnkscz1yLmF0dHI/ci5hdHRyKCJ3aWR0aCIpOnIud2lkdGgsYz1yLmF0dHI/ci5hdHRyKCJoZWlnaHQiKTpyLmhlaWdodCxkPXtvcmlnaW5hbEV2ZW50OnQseEF4aXM6W10seUF4aXM6W10seDpvLHk6YSx3aWR0aDpzLGhlaWdodDpjfSxtPSEhaS5tYXBWaWV3Oyh0aGlzLmhhc0RyYWdnZWR8fG4pJiYoaS5heGVzLmZvckVhY2goKGZ1bmN0aW9uKGkpe2lmKGkuem9vbUVuYWJsZWQmJmwoaS5taW4pJiYobnx8ZVt7eEF4aXM6Inpvb21YIix5QXhpczoiem9vbVkifVtpLmNvbGxdXSkmJmYobykmJmYoYSkpe3ZhciByPWkuaG9yaXosaD0idG91Y2hlbmQiPT09dC50eXBlP2kubWluUGl4ZWxQYWRkaW5nOjAscD1pLnRvVmFsdWUoKHI/bzphKStoKTtyPWkudG9WYWx1ZSgocj9vK3M6YStjKS1oKSxkW2kuY29sbF0ucHVzaCh7YXhpczppLG1pbjpNYXRoLm1pbihwLHIpLG1heDpNYXRoLm1heChwLHIpfSksbT0hMH19KSksbSYmdShpLCJzZWxlY3Rpb24iLGQsKGZ1bmN0aW9uKHQpe2kuem9vbShwKHQsbj97YW5pbWF0aW9uOiExfTpudWxsKSl9KSkpLGYoaS5pbmRleCkmJih0aGlzLnNlbGVjdGlvbk1hcmtlcj10aGlzLnNlbGVjdGlvbk1hcmtlci5kZXN0cm95KCkpLG4mJnRoaXMuc2NhbGVHcm91cHMoKX1pJiZmKGkuaW5kZXgpJiYoaChpLmNvbnRhaW5lcix7Y3Vyc29yOmkuX2N1cnNvcn0pLGkuY2FuY2VsQ2xpY2s9MTA8dGhpcy5oYXNEcmFnZ2VkLGkubW91c2VJc0Rvd249dGhpcy5oYXNEcmFnZ2VkPXRoaXMuaGFzUGluY2hlZD0hMSx0aGlzLnBpbmNoRG93bj1bXSl9LHQucHJvdG90eXBlLmZpbmROZWFyZXN0S0RQb2ludD1mdW5jdGlvbih0LGUsaSl7dmFyIG4scj10aGlzLmNoYXJ0LG89ci5ob3ZlclBvaW50O3JldHVybiByPXIudG9vbHRpcCxvJiZyJiZyLmlzU3RpY2t5T25Db250YWN0KCk/bzoodC5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgcj0hKHQubm9TaGFyZWRUb29sdGlwJiZlKSYmMD50Lm9wdGlvbnMuZmluZE5lYXJlc3RQb2ludEJ5LmluZGV4T2YoInkiKTtpZih0PXQuc2VhcmNoUG9pbnQoaSxyKSwocj1tKHQsITApJiZ0LnNlcmllcykmJiEocj0hbShuLCEwKSkpe3I9bi5kaXN0WC10LmRpc3RYO3ZhciBvPW4uZGlzdC10LmRpc3QsYT0odC5zZXJpZXMuZ3JvdXAmJnQuc2VyaWVzLmdyb3VwLnpJbmRleCktKG4uc2VyaWVzLmdyb3VwJiZuLnNlcmllcy5ncm91cC56SW5kZXgpO3I9MDwoMCE9PXImJmU/cjowIT09bz9vOjAhPT1hP2E6bi5zZXJpZXMuaW5kZXg+dC5zZXJpZXMuaW5kZXg/LTE6MSl9ciYmKG49dCl9KSksbil9LHQucHJvdG90eXBlLmdldENoYXJ0Q29vcmRpbmF0ZXNGcm9tUG9pbnQ9ZnVuY3Rpb24odCxlKXt2YXIgaT10LnNlcmllcyxuPWkueEF4aXM7aT1pLnlBeGlzO3ZhciByPXQuc2hhcGVBcmdzO2lmKG4mJmkpe3ZhciBvPXkodC5jbGllbnRYLHQucGxvdFgpLGE9dC5wbG90WXx8MDtyZXR1cm4gdC5pc05vZGUmJnImJmYoci54KSYmZihyLnkpJiYobz1yLngsYT1yLnkpLGU/e2NoYXJ0WDppLmxlbitpLnBvcy1hLGNoYXJ0WTpuLmxlbituLnBvcy1vfTp7Y2hhcnRYOm8rbi5wb3MsY2hhcnRZOmEraS5wb3N9fWlmKHImJnIueCYmci55KXJldHVybntjaGFydFg6ci54LGNoYXJ0WTpyLnl9fSx0LnByb3RvdHlwZS5nZXRDaGFydFBvc2l0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy5jaGFydFBvc2l0aW9uKXJldHVybiB0aGlzLmNoYXJ0UG9zaXRpb247dmFyIHQ9dGhpcy5jaGFydC5jb250YWluZXIsZT12KHQpO3RoaXMuY2hhcnRQb3NpdGlvbj17bGVmdDplLmxlZnQsdG9wOmUudG9wLHNjYWxlWDoxLHNjYWxlWToxfTt2YXIgaT10Lm9mZnNldFdpZHRoO3JldHVybiB0PXQub2Zmc2V0SGVpZ2h0LDI8aSYmMjx0JiYodGhpcy5jaGFydFBvc2l0aW9uLnNjYWxlWD1lLndpZHRoL2ksdGhpcy5jaGFydFBvc2l0aW9uLnNjYWxlWT1lLmhlaWdodC90KSx0aGlzLmNoYXJ0UG9zaXRpb259LHQucHJvdG90eXBlLmdldENvb3JkaW5hdGVzPWZ1bmN0aW9uKHQpe3ZhciBlPXt4QXhpczpbXSx5QXhpczpbXX07cmV0dXJuIHRoaXMuY2hhcnQuYXhlcy5mb3JFYWNoKChmdW5jdGlvbihpKXtlW2kuaXNYQXhpcz8ieEF4aXMiOiJ5QXhpcyJdLnB1c2goe2F4aXM6aSx2YWx1ZTppLnRvVmFsdWUodFtpLmhvcml6PyJjaGFydFgiOiJjaGFydFkiXSl9KX0pKSxlfSx0LnByb3RvdHlwZS5nZXRIb3ZlckRhdGE9ZnVuY3Rpb24odCxlLGksbixyLG8pe3ZhciBhPVtdO249ISghbnx8IXQpO3ZhciBzPXtjaGFydFg6bz9vLmNoYXJ0WDp2b2lkIDAsY2hhcnRZOm8/by5jaGFydFk6dm9pZCAwLHNoYXJlZDpyfTt1KHRoaXMsImJlZm9yZUdldEhvdmVyRGF0YSIscyk7dmFyIGM9ZSYmIWUuc3RpY2t5VHJhY2tpbmc/W2VdOmkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gcy5maWx0ZXI/cy5maWx0ZXIodCk6dC52aXNpYmxlJiYhKCFyJiZ0LmRpcmVjdFRvdWNoKSYmeSh0Lm9wdGlvbnMuZW5hYmxlTW91c2VUcmFja2luZywhMCkmJnQuc3RpY2t5VHJhY2tpbmd9KSksaD1ufHwhbz90OnRoaXMuZmluZE5lYXJlc3RLRFBvaW50KGMscixvKTtyZXR1cm4gZT1oJiZoLnNlcmllcyxoJiYociYmIWUubm9TaGFyZWRUb29sdGlwPyhjPWkuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gcy5maWx0ZXI/cy5maWx0ZXIodCk6dC52aXNpYmxlJiYhKCFyJiZ0LmRpcmVjdFRvdWNoKSYmeSh0Lm9wdGlvbnMuZW5hYmxlTW91c2VUcmFja2luZywhMCkmJiF0Lm5vU2hhcmVkVG9vbHRpcH0pKSxjLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPWQodC5wb2ludHMsKGZ1bmN0aW9uKHQpe3JldHVybiB0Lng9PT1oLngmJiF0LmlzTnVsbH0pKTttKGUpJiYodC5jaGFydC5pc0Jvb3N0aW5nJiYoZT10LmdldFBvaW50KGUpKSxhLnB1c2goZSkpfSkpKTphLnB1c2goaCkpLHM9e2hvdmVyUG9pbnQ6aH0sdSh0aGlzLCJhZnRlckdldEhvdmVyRGF0YSIscykse2hvdmVyUG9pbnQ6cy5ob3ZlclBvaW50LGhvdmVyU2VyaWVzOmUsaG92ZXJQb2ludHM6YX19LHQucHJvdG90eXBlLmdldFBvaW50RnJvbUV2ZW50PWZ1bmN0aW9uKHQpe3Q9dC50YXJnZXQ7Zm9yKHZhciBlO3QmJiFlOyllPXQucG9pbnQsdD10LnBhcmVudE5vZGU7cmV0dXJuIGV9LHQucHJvdG90eXBlLm9uVHJhY2tlck1vdXNlT3V0PWZ1bmN0aW9uKHQpe3Q9dC5yZWxhdGVkVGFyZ2V0fHx0LnRvRWxlbWVudDt2YXIgZT10aGlzLmNoYXJ0LmhvdmVyU2VyaWVzO3RoaXMuaXNEaXJlY3RUb3VjaD0hMSwhZXx8IXR8fGUuc3RpY2t5VHJhY2tpbmd8fHRoaXMuaW5DbGFzcyh0LCJoaWdoY2hhcnRzLXRvb2x0aXAiKXx8dGhpcy5pbkNsYXNzKHQsImhpZ2hjaGFydHMtc2VyaWVzLSIrZS5pbmRleCkmJnRoaXMuaW5DbGFzcyh0LCJoaWdoY2hhcnRzLXRyYWNrZXIiKXx8ZS5vbk1vdXNlT3V0KCl9LHQucHJvdG90eXBlLmluQ2xhc3M9ZnVuY3Rpb24odCxlKXtmb3IodmFyIGk7dDspe2lmKGk9Yyh0LCJjbGFzcyIpKXtpZigtMSE9PWkuaW5kZXhPZihlKSlyZXR1cm4hMDtpZigtMSE9PWkuaW5kZXhPZigiaGlnaGNoYXJ0cy1jb250YWluZXIiKSlyZXR1cm4hMX10PXQucGFyZW50Tm9kZX19LHQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCxlKXt0aGlzLm9wdGlvbnM9ZSx0aGlzLmNoYXJ0PXQsdGhpcy5ydW5DaGFydENsaWNrPSEoIWUuY2hhcnQuZXZlbnRzfHwhZS5jaGFydC5ldmVudHMuY2xpY2spLHRoaXMucGluY2hEb3duPVtdLHRoaXMubGFzdFZhbGlkVG91Y2g9e30saSYmKHQudG9vbHRpcD1uZXcgaSh0LGUudG9vbHRpcCksdGhpcy5mb2xsb3dUb3VjaE1vdmU9eShlLnRvb2x0aXAuZm9sbG93VG91Y2hNb3ZlLCEwKSksdGhpcy5zZXRET01FdmVudHMoKX0sdC5wcm90b3R5cGUubm9ybWFsaXplPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dC50b3VjaGVzLG49aT9pLmxlbmd0aD9pLml0ZW0oMCk6eShpLmNoYW5nZWRUb3VjaGVzLHQuY2hhbmdlZFRvdWNoZXMpWzBdOnQ7cmV0dXJuIGV8fChlPXRoaXMuZ2V0Q2hhcnRQb3NpdGlvbigpKSxpPW4ucGFnZVgtZS5sZWZ0LG49bi5wYWdlWS1lLnRvcCxpLz1lLnNjYWxlWCxuLz1lLnNjYWxlWSxwKHQse2NoYXJ0WDpNYXRoLnJvdW5kKGkpLGNoYXJ0WTpNYXRoLnJvdW5kKG4pfSl9LHQucHJvdG90eXBlLm9uQ29udGFpbmVyQ2xpY2s9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jaGFydCxpPWUuaG92ZXJQb2ludDt0PXRoaXMubm9ybWFsaXplKHQpO3ZhciBuPWUucGxvdExlZnQscj1lLnBsb3RUb3A7ZS5jYW5jZWxDbGlja3x8KGkmJnRoaXMuaW5DbGFzcyh0LnRhcmdldCwiaGlnaGNoYXJ0cy10cmFja2VyIik/KHUoaS5zZXJpZXMsImNsaWNrIixwKHQse3BvaW50Oml9KSksZS5ob3ZlclBvaW50JiZpLmZpcmVQb2ludEV2ZW50KCJjbGljayIsdCkpOihwKHQsdGhpcy5nZXRDb29yZGluYXRlcyh0KSksZS5pc0luc2lkZVBsb3QodC5jaGFydFgtbix0LmNoYXJ0WS1yLHt2aXNpYmxlUGxvdE9ubHk6ITB9KSYmdShlLCJjbGljayIsdCkpKX0sdC5wcm90b3R5cGUub25Db250YWluZXJNb3VzZURvd249ZnVuY3Rpb24odCl7dmFyIGk9MT09PSgxJih0LmJ1dHRvbnN8fHQuYnV0dG9uKSk7dD10aGlzLm5vcm1hbGl6ZSh0KSxlLmlzRmlyZWZveCYmMCE9PXQuYnV0dG9uJiZ0aGlzLm9uQ29udGFpbmVyTW91c2VNb3ZlKHQpLCgidW5kZWZpbmVkIj09PXR5cGVvZiB0LmJ1dHRvbnx8aSkmJih0aGlzLnpvb21PcHRpb24odCksaSYmdC5wcmV2ZW50RGVmYXVsdCYmdC5wcmV2ZW50RGVmYXVsdCgpLHRoaXMuZHJhZ1N0YXJ0KHQpKX0sdC5wcm90b3R5cGUub25Db250YWluZXJNb3VzZUxlYXZlPWZ1bmN0aW9uKGUpe3ZhciBpPW9beSh0LmhvdmVyQ2hhcnRJbmRleCwtMSldLG49dGhpcy5jaGFydC50b29sdGlwO24mJm4uc2hvdWxkU3RpY2tPbkNvbnRhY3QoKSYmdGhpcy5pbkNsYXNzKGUucmVsYXRlZFRhcmdldCwiaGlnaGNoYXJ0cy10b29sdGlwLWNvbnRhaW5lciIpfHwoZT10aGlzLm5vcm1hbGl6ZShlKSxpJiYoZS5yZWxhdGVkVGFyZ2V0fHxlLnRvRWxlbWVudCkmJihpLnBvaW50ZXIucmVzZXQoKSxpLnBvaW50ZXIuY2hhcnRQb3NpdGlvbj12b2lkIDApLG4mJiFuLmlzSGlkZGVuJiZ0aGlzLnJlc2V0KCkpfSx0LnByb3RvdHlwZS5vbkNvbnRhaW5lck1vdXNlRW50ZXI9ZnVuY3Rpb24odCl7ZGVsZXRlIHRoaXMuY2hhcnRQb3NpdGlvbn0sdC5wcm90b3R5cGUub25Db250YWluZXJNb3VzZU1vdmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jaGFydDt0PXRoaXMubm9ybWFsaXplKHQpLHRoaXMuc2V0SG92ZXJDaGFydEluZGV4KCksdC5wcmV2ZW50RGVmYXVsdHx8KHQucmV0dXJuVmFsdWU9ITEpLCgibW91c2Vkb3duIj09PWUubW91c2VJc0Rvd258fHRoaXMudG91Y2hTZWxlY3QodCkpJiZ0aGlzLmRyYWcodCksZS5vcGVuTWVudXx8IXRoaXMuaW5DbGFzcyh0LnRhcmdldCwiaGlnaGNoYXJ0cy10cmFja2VyIikmJiFlLmlzSW5zaWRlUGxvdCh0LmNoYXJ0WC1lLnBsb3RMZWZ0LHQuY2hhcnRZLWUucGxvdFRvcCx7dmlzaWJsZVBsb3RPbmx5OiEwfSl8fCh0aGlzLmluQ2xhc3ModC50YXJnZXQsImhpZ2hjaGFydHMtbm8tdG9vbHRpcCIpP3RoaXMucmVzZXQoITEsMCk6dGhpcy5ydW5Qb2ludEFjdGlvbnModCkpfSx0LnByb3RvdHlwZS5vbkRvY3VtZW50VG91Y2hFbmQ9ZnVuY3Rpb24oZSl7dmFyIGk9b1t5KHQuaG92ZXJDaGFydEluZGV4LC0xKV07aSYmaS5wb2ludGVyLmRyb3AoZSl9LHQucHJvdG90eXBlLm9uQ29udGFpbmVyVG91Y2hNb3ZlPWZ1bmN0aW9uKHQpe3RoaXMudG91Y2hTZWxlY3QodCk/dGhpcy5vbkNvbnRhaW5lck1vdXNlTW92ZSh0KTp0aGlzLnRvdWNoKHQpfSx0LnByb3RvdHlwZS5vbkNvbnRhaW5lclRvdWNoU3RhcnQ9ZnVuY3Rpb24odCl7dGhpcy50b3VjaFNlbGVjdCh0KT90aGlzLm9uQ29udGFpbmVyTW91c2VEb3duKHQpOih0aGlzLnpvb21PcHRpb24odCksdGhpcy50b3VjaCh0LCEwKSl9LHQucHJvdG90eXBlLm9uRG9jdW1lbnRNb3VzZU1vdmU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jaGFydCxpPXRoaXMuY2hhcnRQb3NpdGlvbjt0PXRoaXMubm9ybWFsaXplKHQsaSk7dmFyIG49ZS50b29sdGlwOyFpfHxuJiZuLmlzU3RpY2t5T25Db250YWN0KCl8fGUuaXNJbnNpZGVQbG90KHQuY2hhcnRYLWUucGxvdExlZnQsdC5jaGFydFktZS5wbG90VG9wLHt2aXNpYmxlUGxvdE9ubHk6ITB9KXx8dGhpcy5pbkNsYXNzKHQudGFyZ2V0LCJoaWdoY2hhcnRzLXRyYWNrZXIiKXx8dGhpcy5yZXNldCgpfSx0LnByb3RvdHlwZS5vbkRvY3VtZW50TW91c2VVcD1mdW5jdGlvbihlKXt2YXIgaT1vW3kodC5ob3ZlckNoYXJ0SW5kZXgsLTEpXTtpJiZpLnBvaW50ZXIuZHJvcChlKX0sdC5wcm90b3R5cGUucGluY2g9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPWUuY2hhcnQsbj1lLnBpbmNoRG93bixyPXQudG91Y2hlc3x8W10sbz1yLmxlbmd0aCxzPWUubGFzdFZhbGlkVG91Y2gsYz1lLmhhc1pvb20saD17fSxsPTE9PT1vJiYoZS5pbkNsYXNzKHQudGFyZ2V0LCJoaWdoY2hhcnRzLXRyYWNrZXIiKSYmaS5ydW5UcmFja2VyQ2xpY2t8fGUucnVuQ2hhcnRDbGljayksZD17fSxmPWUuc2VsZWN0aW9uTWFya2VyOzE8bz9lLmluaXRpYXRlZD0hMDoxPT09byYmdGhpcy5mb2xsb3dUb3VjaE1vdmUmJihlLmluaXRpYXRlZD0hMSksYyYmZS5pbml0aWF0ZWQmJiFsJiYhMSE9PXQuY2FuY2VsYWJsZSYmdC5wcmV2ZW50RGVmYXVsdCgpLFtdLm1hcC5jYWxsKHIsKGZ1bmN0aW9uKHQpe3JldHVybiBlLm5vcm1hbGl6ZSh0KX0pKSwidG91Y2hzdGFydCI9PT10LnR5cGU/KFtdLmZvckVhY2guY2FsbChyLChmdW5jdGlvbih0LGUpe25bZV09e2NoYXJ0WDp0LmNoYXJ0WCxjaGFydFk6dC5jaGFydFl9fSkpLHMueD1bblswXS5jaGFydFgsblsxXSYmblsxXS5jaGFydFhdLHMueT1bblswXS5jaGFydFksblsxXSYmblsxXS5jaGFydFldLGkuYXhlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtpZih0Lnpvb21FbmFibGVkKXt2YXIgZT1pLmJvdW5kc1t0Lmhvcml6PyJoIjoidiJdLG49dC5taW5QaXhlbFBhZGRpbmcscj10LnRvUGl4ZWxzKE1hdGgubWluKHkodC5vcHRpb25zLm1pbix0LmRhdGFNaW4pLHQuZGF0YU1pbikpLG89dC50b1BpeGVscyhNYXRoLm1heCh5KHQub3B0aW9ucy5tYXgsdC5kYXRhTWF4KSx0LmRhdGFNYXgpKSxhPU1hdGgubWF4KHIsbyk7ZS5taW49TWF0aC5taW4odC5wb3MsTWF0aC5taW4ocixvKS1uKSxlLm1heD1NYXRoLm1heCh0LnBvcyt0LmxlbixhK24pfX0pKSxlLnJlcz0hMCk6ZS5mb2xsb3dUb3VjaE1vdmUmJjE9PT1vP3RoaXMucnVuUG9pbnRBY3Rpb25zKGUubm9ybWFsaXplKHQpKTpuLmxlbmd0aCYmKHUoaSwidG91Y2hwYW4iLHtvcmlnaW5hbEV2ZW50OnR9LChmdW5jdGlvbigpe2Z8fChlLnNlbGVjdGlvbk1hcmtlcj1mPXAoe2Rlc3Ryb3k6YSx0b3VjaDohMH0saS5wbG90Qm94KSksZS5waW5jaFRyYW5zbGF0ZShuLHIsaCxmLGQscyksZS5oYXNQaW5jaGVkPWMsZS5zY2FsZUdyb3VwcyhoLGQpfSkpLGUucmVzJiYoZS5yZXM9ITEsdGhpcy5yZXNldCghMSwwKSkpfSx0LnByb3RvdHlwZS5waW5jaFRyYW5zbGF0ZT1mdW5jdGlvbih0LGUsaSxuLHIsbyl7dGhpcy56b29tSG9yJiZ0aGlzLnBpbmNoVHJhbnNsYXRlRGlyZWN0aW9uKCEwLHQsZSxpLG4scixvKSx0aGlzLnpvb21WZXJ0JiZ0aGlzLnBpbmNoVHJhbnNsYXRlRGlyZWN0aW9uKCExLHQsZSxpLG4scixvKX0sdC5wcm90b3R5cGUucGluY2hUcmFuc2xhdGVEaXJlY3Rpb249ZnVuY3Rpb24odCxlLGksbixyLG8sYSxzKXt2YXIgYz10aGlzLmNoYXJ0LGg9dD8ieCI6InkiLGw9dD8iWCI6IlkiLHA9ImNoYXJ0IitsLGQ9dD8id2lkdGgiOiJoZWlnaHQiLHU9Y1sicGxvdCIrKHQ/IkxlZnQiOiJUb3AiKV0sZj1jLmludmVydGVkLG09Yy5ib3VuZHNbdD8iaCI6InYiXSxnPTE9PT1lLmxlbmd0aCx2PWVbMF1bcF0seT0hZyYmZVsxXVtwXTtlPWZ1bmN0aW9uKCl7Im51bWJlciI9PT10eXBlb2YgayYmMjA8TWF0aC5hYnModi15KSYmKHg9c3x8TWF0aC5hYnMody1rKS9NYXRoLmFicyh2LXkpKSxiPSh1LXcpL3grdixfPWNbInBsb3QiKyh0PyJXaWR0aCI6IkhlaWdodCIpXS94fTt2YXIgXyxiLHg9c3x8MSx3PWlbMF1bcF0saz0hZyYmaVsxXVtwXTtpZihlKCksaT1iLGk8bS5taW4pe2k9bS5taW47dmFyIEM9ITB9ZWxzZSBpK18+bS5tYXgmJihpPW0ubWF4LV8sQz0hMCk7Qz8ody09LjgqKHctYVtoXVswXSksIm51bWJlciI9PT10eXBlb2YgayYmKGstPS44KihrLWFbaF1bMV0pKSxlKCkpOmFbaF09W3csa10sZnx8KG9baF09Yi11LG9bZF09Xyksbz1mPzEveDp4LHJbZF09XyxyW2hdPWksbltmP3Q/InNjYWxlWSI6InNjYWxlWCI6InNjYWxlIitsXT14LG5bInRyYW5zbGF0ZSIrbF09byp1Kyh3LW8qdil9LHQucHJvdG90eXBlLnJlc2V0PWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5jaGFydCxuPWkuaG92ZXJTZXJpZXMscj1pLmhvdmVyUG9pbnQsbz1pLmhvdmVyUG9pbnRzLGE9aS50b29sdGlwLHM9YSYmYS5zaGFyZWQ/bzpyO3QmJnMmJl8ocykuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5zZXJpZXMuaXNDYXJ0ZXNpYW4mJiJ1bmRlZmluZWQiPT09dHlwZW9mIGUucGxvdFgmJih0PSExKX0pKSx0P2EmJnMmJl8ocykubGVuZ3RoJiYoYS5yZWZyZXNoKHMpLGEuc2hhcmVkJiZvP28uZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5zZXRTdGF0ZSh0LnN0YXRlLCEwKSx0LnNlcmllcy5pc0NhcnRlc2lhbiYmKHQuc2VyaWVzLnhBeGlzLmNyb3NzaGFpciYmdC5zZXJpZXMueEF4aXMuZHJhd0Nyb3NzaGFpcihudWxsLHQpLHQuc2VyaWVzLnlBeGlzLmNyb3NzaGFpciYmdC5zZXJpZXMueUF4aXMuZHJhd0Nyb3NzaGFpcihudWxsLHQpKX0pKTpyJiYoci5zZXRTdGF0ZShyLnN0YXRlLCEwKSxpLmF4ZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jcm9zc2hhaXImJnIuc2VyaWVzW3QuY29sbF09PT10JiZ0LmRyYXdDcm9zc2hhaXIobnVsbCxyKX0pKSkpOihyJiZyLm9uTW91c2VPdXQoKSxvJiZvLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Quc2V0U3RhdGUoKX0pKSxuJiZuLm9uTW91c2VPdXQoKSxhJiZhLmhpZGUoZSksdGhpcy51bkRvY01vdXNlTW92ZSYmKHRoaXMudW5Eb2NNb3VzZU1vdmU9dGhpcy51bkRvY01vdXNlTW92ZSgpKSxpLmF4ZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5oaWRlQ3Jvc3NoYWlyKCl9KSksdGhpcy5ob3Zlclg9aS5ob3ZlclBvaW50cz1pLmhvdmVyUG9pbnQ9bnVsbCl9LHQucHJvdG90eXBlLnJ1blBvaW50QWN0aW9ucz1mdW5jdGlvbihlLGkpe3ZhciBuPXRoaXMuY2hhcnQscj1uLnRvb2x0aXAmJm4udG9vbHRpcC5vcHRpb25zLmVuYWJsZWQ/bi50b29sdGlwOnZvaWQgMCxhPSEhciYmci5zaGFyZWQsYz1pfHxuLmhvdmVyUG9pbnQsaD1jJiZjLnNlcmllc3x8bi5ob3ZlclNlcmllcztpPXRoaXMuZ2V0SG92ZXJEYXRhKGMsaCxuLnNlcmllcywoIWV8fCJ0b3VjaG1vdmUiIT09ZS50eXBlKSYmKCEhaXx8aCYmaC5kaXJlY3RUb3VjaCYmdGhpcy5pc0RpcmVjdFRvdWNoKSxhLGUpLGM9aS5ob3ZlclBvaW50LGg9aS5ob3ZlclNlcmllczt2YXIgbD1pLmhvdmVyUG9pbnRzO2lmKGk9aCYmaC50b29sdGlwT3B0aW9ucy5mb2xsb3dQb2ludGVyJiYhaC50b29sdGlwT3B0aW9ucy5zcGxpdCxhPWEmJmgmJiFoLm5vU2hhcmVkVG9vbHRpcCxjJiYoYyE9PW4uaG92ZXJQb2ludHx8ciYmci5pc0hpZGRlbikpe2lmKChuLmhvdmVyUG9pbnRzfHxbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7LTE9PT1sLmluZGV4T2YodCkmJnQuc2V0U3RhdGUoKX0pKSxuLmhvdmVyU2VyaWVzIT09aCYmaC5vbk1vdXNlT3ZlcigpLHRoaXMuYXBwbHlJbmFjdGl2ZVN0YXRlKGwpLChsfHxbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5zZXRTdGF0ZSgiaG92ZXIiKX0pKSxuLmhvdmVyUG9pbnQmJm4uaG92ZXJQb2ludC5maXJlUG9pbnRFdmVudCgibW91c2VPdXQiKSwhYy5zZXJpZXMpcmV0dXJuO24uaG92ZXJQb2ludHM9bCxuLmhvdmVyUG9pbnQ9YyxjLmZpcmVQb2ludEV2ZW50KCJtb3VzZU92ZXIiKSxyJiZyLnJlZnJlc2goYT9sOmMsZSl9ZWxzZSBpJiZyJiYhci5pc0hpZGRlbiYmKGM9ci5nZXRBbmNob3IoW3t9XSxlKSxuLmlzSW5zaWRlUGxvdChjWzBdLGNbMV0se3Zpc2libGVQbG90T25seTohMH0pJiZyLnVwZGF0ZVBvc2l0aW9uKHtwbG90WDpjWzBdLHBsb3RZOmNbMV19KSk7dGhpcy51bkRvY01vdXNlTW92ZXx8KHRoaXMudW5Eb2NNb3VzZU1vdmU9cyhuLmNvbnRhaW5lci5vd25lckRvY3VtZW50LCJtb3VzZW1vdmUiLChmdW5jdGlvbihlKXt2YXIgaT1vW3QuaG92ZXJDaGFydEluZGV4XTtpJiZpLnBvaW50ZXIub25Eb2N1bWVudE1vdXNlTW92ZShlKX0pKSx0aGlzLmV2ZW50c1RvVW5iaW5kLnB1c2godGhpcy51bkRvY01vdXNlTW92ZSkpLG4uYXhlcy5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgaSxyPXkoKHQuY3Jvc3NoYWlyfHx7fSkuc25hcCwhMCk7ciYmKChpPW4uaG92ZXJQb2ludCkmJmkuc2VyaWVzW3QuY29sbF09PT10fHwoaT1kKGwsKGZ1bmN0aW9uKGUpe3JldHVybiBlLnNlcmllc1t0LmNvbGxdPT09dH0pKSkpLGl8fCFyP3QuZHJhd0Nyb3NzaGFpcihlLGkpOnQuaGlkZUNyb3NzaGFpcigpfSkpfSx0LnByb3RvdHlwZS5zY2FsZUdyb3Vwcz1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuY2hhcnQ7aS5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIHI9dHx8bi5nZXRQbG90Qm94KCk7bi5ncm91cCYmKG4ueEF4aXMmJm4ueEF4aXMuem9vbUVuYWJsZWR8fGkubWFwVmlldykmJihuLmdyb3VwLmF0dHIociksbi5tYXJrZXJHcm91cCYmKG4ubWFya2VyR3JvdXAuYXR0cihyKSxuLm1hcmtlckdyb3VwLmNsaXAoZT9pLmNsaXBSZWN0Om51bGwpKSxuLmRhdGFMYWJlbHNHcm91cCYmbi5kYXRhTGFiZWxzR3JvdXAuYXR0cihyKSl9KSksaS5jbGlwUmVjdC5hdHRyKGV8fGkuY2xpcEJveCl9LHQucHJvdG90eXBlLnNldERPTUV2ZW50cz1mdW5jdGlvbigpe3ZhciBpPXRoaXMsbj10aGlzLmNoYXJ0LmNvbnRhaW5lcixyPW4ub3duZXJEb2N1bWVudDtuLm9ubW91c2Vkb3duPXRoaXMub25Db250YWluZXJNb3VzZURvd24uYmluZCh0aGlzKSxuLm9ubW91c2Vtb3ZlPXRoaXMub25Db250YWluZXJNb3VzZU1vdmUuYmluZCh0aGlzKSxuLm9uY2xpY2s9dGhpcy5vbkNvbnRhaW5lckNsaWNrLmJpbmQodGhpcyksdGhpcy5ldmVudHNUb1VuYmluZC5wdXNoKHMobiwibW91c2VlbnRlciIsdGhpcy5vbkNvbnRhaW5lck1vdXNlRW50ZXIuYmluZCh0aGlzKSkpLHRoaXMuZXZlbnRzVG9VbmJpbmQucHVzaChzKG4sIm1vdXNlbGVhdmUiLHRoaXMub25Db250YWluZXJNb3VzZUxlYXZlLmJpbmQodGhpcykpKSx0LnVuYmluZERvY3VtZW50TW91c2VVcHx8KHQudW5iaW5kRG9jdW1lbnRNb3VzZVVwPXMociwibW91c2V1cCIsdGhpcy5vbkRvY3VtZW50TW91c2VVcC5iaW5kKHRoaXMpKSk7Zm9yKHZhciBvPXRoaXMuY2hhcnQucmVuZGVyVG8ucGFyZW50RWxlbWVudDtvJiYiQk9EWSIhPT1vLnRhZ05hbWU7KXRoaXMuZXZlbnRzVG9VbmJpbmQucHVzaChzKG8sInNjcm9sbCIsKGZ1bmN0aW9uKCl7ZGVsZXRlIGkuY2hhcnRQb3NpdGlvbn0pKSksbz1vLnBhcmVudEVsZW1lbnQ7ZS5oYXNUb3VjaCYmKHRoaXMuZXZlbnRzVG9VbmJpbmQucHVzaChzKG4sInRvdWNoc3RhcnQiLHRoaXMub25Db250YWluZXJUb3VjaFN0YXJ0LmJpbmQodGhpcykse3Bhc3NpdmU6ITF9KSksdGhpcy5ldmVudHNUb1VuYmluZC5wdXNoKHMobiwidG91Y2htb3ZlIix0aGlzLm9uQ29udGFpbmVyVG91Y2hNb3ZlLmJpbmQodGhpcykse3Bhc3NpdmU6ITF9KSksdC51bmJpbmREb2N1bWVudFRvdWNoRW5kfHwodC51bmJpbmREb2N1bWVudFRvdWNoRW5kPXMociwidG91Y2hlbmQiLHRoaXMub25Eb2N1bWVudFRvdWNoRW5kLmJpbmQodGhpcykse3Bhc3NpdmU6ITF9KSkpfSx0LnByb3RvdHlwZS5zZXRIb3ZlckNoYXJ0SW5kZXg9ZnVuY3Rpb24oKXt2YXIgaT10aGlzLmNoYXJ0LG49ZS5jaGFydHNbeSh0LmhvdmVyQ2hhcnRJbmRleCwtMSldO24mJm4hPT1pJiZuLnBvaW50ZXIub25Db250YWluZXJNb3VzZUxlYXZlKHtyZWxhdGVkVGFyZ2V0OiEwfSksbiYmbi5tb3VzZUlzRG93bnx8KHQuaG92ZXJDaGFydEluZGV4PWkuaW5kZXgpfSx0LnByb3RvdHlwZS50b3VjaD1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuY2hhcnQ7aWYodGhpcy5zZXRIb3ZlckNoYXJ0SW5kZXgoKSwxPT09dC50b3VjaGVzLmxlbmd0aClpZih0PXRoaXMubm9ybWFsaXplKHQpLGkuaXNJbnNpZGVQbG90KHQuY2hhcnRYLWkucGxvdExlZnQsdC5jaGFydFktaS5wbG90VG9wLHt2aXNpYmxlUGxvdE9ubHk6ITB9KSYmIWkub3Blbk1lbnUpe2lmKGUmJnRoaXMucnVuUG9pbnRBY3Rpb25zKHQpLCJ0b3VjaG1vdmUiPT09dC50eXBlKXtlPXRoaXMucGluY2hEb3duO3ZhciBuPSEhZVswXSYmNDw9TWF0aC5zcXJ0KE1hdGgucG93KGVbMF0uY2hhcnRYLXQuY2hhcnRYLDIpK01hdGgucG93KGVbMF0uY2hhcnRZLXQuY2hhcnRZLDIpKX15KG4sITApJiZ0aGlzLnBpbmNoKHQpfWVsc2UgZSYmdGhpcy5yZXNldCgpO2Vsc2UgMj09PXQudG91Y2hlcy5sZW5ndGgmJnRoaXMucGluY2godCl9LHQucHJvdG90eXBlLnRvdWNoU2VsZWN0PWZ1bmN0aW9uKHQpe3JldHVybiEoIXRoaXMuY2hhcnQub3B0aW9ucy5jaGFydC56b29tQnlTaW5nbGVUb3VjaHx8IXQudG91Y2hlc3x8MSE9PXQudG91Y2hlcy5sZW5ndGgpfSx0LnByb3RvdHlwZS56b29tT3B0aW9uPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQsaT1lLm9wdGlvbnMuY2hhcnQ7ZT1lLmludmVydGVkO3ZhciBuPWkuem9vbVR5cGV8fCIiOy90b3VjaC8udGVzdCh0LnR5cGUpJiYobj15KGkucGluY2hUeXBlLG4pKSx0aGlzLnpvb21YPXQ9L3gvLnRlc3QobiksdGhpcy56b29tWT1pPS95Ly50ZXN0KG4pLHRoaXMuem9vbUhvcj10JiYhZXx8aSYmZSx0aGlzLnpvb21WZXJ0PWkmJiFlfHx0JiZlLHRoaXMuaGFzWm9vbT10fHxpfSx0fSgpLHR9KSksZShpLCJDb3JlL01TUG9pbnRlci5qcyIsW2lbIkNvcmUvR2xvYmFscy5qcyJdLGlbIkNvcmUvUG9pbnRlci5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSl7ZnVuY3Rpb24gbigpe3ZhciB0PVtdO3JldHVybiB0Lml0ZW09ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXNbdF19LGQoZiwoZnVuY3Rpb24oZSl7dC5wdXNoKHtwYWdlWDplLnBhZ2VYLHBhZ2VZOmUucGFnZVksdGFyZ2V0OmUudGFyZ2V0fSl9KSksdH1mdW5jdGlvbiByKHQsaSxyLG8pe3ZhciBzPWFbZS5ob3ZlckNoYXJ0SW5kZXh8fE5hTl07InRvdWNoIiE9PXQucG9pbnRlclR5cGUmJnQucG9pbnRlclR5cGUhPT10Lk1TUE9JTlRFUl9UWVBFX1RPVUNIfHwhc3x8KHM9cy5wb2ludGVyLG8odCksc1tpXSh7dHlwZTpyLHRhcmdldDp0LmN1cnJlbnRUYXJnZXQscHJldmVudERlZmF1bHQ6Yyx0b3VjaGVzOm4oKX0pKX12YXIgbz10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbihlLGkpe3JldHVybiB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHkoaSkmJih0W2ldPWVbaV0pfSx0KGUsaSl9O3JldHVybiBmdW5jdGlvbihlLGkpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLGkpLGUucHJvdG90eXBlPW51bGw9PT1pP09iamVjdC5jcmVhdGUoaSk6KG4ucHJvdG90eXBlPWkucHJvdG90eXBlLG5ldyBuKX19KCksYT10LmNoYXJ0cyxzPXQuZG9jLGM9dC5ub29wLGg9dC53aW4sbD1pLmFkZEV2ZW50LHA9aS5jc3MsZD1pLm9iamVjdEVhY2gsdT1pLnJlbW92ZUV2ZW50LGY9e30sbT0hIWguUG9pbnRlckV2ZW50O3JldHVybiBmdW5jdGlvbihlKXtmdW5jdGlvbiBpKCl7cmV0dXJuIG51bGwhPT1lJiZlLmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gbyhpLGUpLGkuaXNSZXF1aXJlZD1mdW5jdGlvbigpe3JldHVybiEodC5oYXNUb3VjaHx8IWguUG9pbnRlckV2ZW50JiYhaC5NU1BvaW50ZXJFdmVudCl9LGkucHJvdG90eXBlLmJhdGNoTVNFdmVudHM9ZnVuY3Rpb24odCl7dCh0aGlzLmNoYXJ0LmNvbnRhaW5lcixtPyJwb2ludGVyZG93biI6Ik1TUG9pbnRlckRvd24iLHRoaXMub25Db250YWluZXJQb2ludGVyRG93biksdCh0aGlzLmNoYXJ0LmNvbnRhaW5lcixtPyJwb2ludGVybW92ZSI6Ik1TUG9pbnRlck1vdmUiLHRoaXMub25Db250YWluZXJQb2ludGVyTW92ZSksdChzLG0/InBvaW50ZXJ1cCI6Ik1TUG9pbnRlclVwIix0aGlzLm9uRG9jdW1lbnRQb2ludGVyVXApfSxpLnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dGhpcy5iYXRjaE1TRXZlbnRzKHUpLGUucHJvdG90eXBlLmRlc3Ryb3kuY2FsbCh0aGlzKX0saS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0LGkpe2UucHJvdG90eXBlLmluaXQuY2FsbCh0aGlzLHQsaSksdGhpcy5oYXNab29tJiZwKHQuY29udGFpbmVyLHsiLW1zLXRvdWNoLWFjdGlvbiI6Im5vbmUiLCJ0b3VjaC1hY3Rpb24iOiJub25lIn0pfSxpLnByb3RvdHlwZS5vbkNvbnRhaW5lclBvaW50ZXJEb3duPWZ1bmN0aW9uKHQpe3IodCwib25Db250YWluZXJUb3VjaFN0YXJ0IiwidG91Y2hzdGFydCIsKGZ1bmN0aW9uKHQpe2ZbdC5wb2ludGVySWRdPXtwYWdlWDp0LnBhZ2VYLHBhZ2VZOnQucGFnZVksdGFyZ2V0OnQuY3VycmVudFRhcmdldH19KSl9LGkucHJvdG90eXBlLm9uQ29udGFpbmVyUG9pbnRlck1vdmU9ZnVuY3Rpb24odCl7cih0LCJvbkNvbnRhaW5lclRvdWNoTW92ZSIsInRvdWNobW92ZSIsKGZ1bmN0aW9uKHQpe2ZbdC5wb2ludGVySWRdPXtwYWdlWDp0LnBhZ2VYLHBhZ2VZOnQucGFnZVl9LGZbdC5wb2ludGVySWRdLnRhcmdldHx8KGZbdC5wb2ludGVySWRdLnRhcmdldD10LmN1cnJlbnRUYXJnZXQpfSkpfSxpLnByb3RvdHlwZS5vbkRvY3VtZW50UG9pbnRlclVwPWZ1bmN0aW9uKHQpe3IodCwib25Eb2N1bWVudFRvdWNoRW5kIiwidG91Y2hlbmQiLChmdW5jdGlvbih0KXtkZWxldGUgZlt0LnBvaW50ZXJJZF19KSl9LGkucHJvdG90eXBlLnNldERPTUV2ZW50cz1mdW5jdGlvbigpe2UucHJvdG90eXBlLnNldERPTUV2ZW50cy5jYWxsKHRoaXMpLCh0aGlzLmhhc1pvb218fHRoaXMuZm9sbG93VG91Y2hNb3ZlKSYmdGhpcy5iYXRjaE1TRXZlbnRzKGwpfSxpfShlKX0pKSxlKGksIkNvcmUvTGVnZW5kL0xlZ2VuZC5qcyIsW2lbIkNvcmUvQW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5qcyJdLGlbIkNvcmUvRm9ybWF0VXRpbGl0aWVzLmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9TZXJpZXMvUG9pbnQuanMiXSxpWyJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyVXRpbGl0aWVzLmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpLG4scixvKXt2YXIgYT10LmFuaW1PYmplY3Qscz10LnNldEFuaW1hdGlvbixjPWUuZm9ybWF0O3Q9aS5pc0ZpcmVmb3g7dmFyIGg9aS5tYXJnaW5OYW1lcztpPWkud2luO3ZhciBsPXIuZGlzdHJpYnV0ZSxwPW8uYWRkRXZlbnQsZD1vLmNyZWF0ZUVsZW1lbnQsdT1vLmNzcyxmPW8uZGVmaW5lZCxtPW8uZGlzY2FyZEVsZW1lbnQsZz1vLmZpbmQsdj1vLmZpcmVFdmVudCx5PW8uaXNOdW1iZXIsXz1vLm1lcmdlLGI9by5waWNrLHg9by5yZWxhdGl2ZUxlbmd0aCx3PW8uc3RhYmxlU29ydCxrPW8uc3luY1RpbWVvdXQ7cmV0dXJuIHI9by53cmFwLG89ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSl7dGhpcy5hbGxJdGVtcz1bXSx0aGlzLmNvbnRlbnRHcm91cD10aGlzLmJveD12b2lkIDAsdGhpcy5kaXNwbGF5PSExLHRoaXMuZ3JvdXA9dm9pZCAwLHRoaXMub2Zmc2V0V2lkdGg9dGhpcy5tYXhMZWdlbmRXaWR0aD10aGlzLm1heEl0ZW1XaWR0aD10aGlzLmxlZ2VuZFdpZHRoPXRoaXMubGVnZW5kSGVpZ2h0PXRoaXMubGFzdExpbmVIZWlnaHQ9dGhpcy5sYXN0SXRlbVk9dGhpcy5pdGVtWT10aGlzLml0ZW1YPXRoaXMuaXRlbU1hcmdpblRvcD10aGlzLml0ZW1NYXJnaW5Cb3R0b209dGhpcy5pdGVtSGVpZ2h0PXRoaXMuaW5pdGlhbEl0ZW1ZPTAsdGhpcy5vcHRpb25zPXt9LHRoaXMucGFkZGluZz0wLHRoaXMucGFnZXM9W10sdGhpcy5wcm94aW1hdGU9ITEsdGhpcy5zY3JvbGxHcm91cD12b2lkIDAsdGhpcy53aWR0aE9wdGlvbj10aGlzLnRvdGFsSXRlbVdpZHRoPXRoaXMudGl0bGVIZWlnaHQ9dGhpcy5zeW1ib2xXaWR0aD10aGlzLnN5bWJvbEhlaWdodD0wLHRoaXMuY2hhcnQ9dCx0aGlzLmluaXQodCxlKX1yZXR1cm4gdC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0LGUpe3RoaXMuY2hhcnQ9dCx0aGlzLnNldE9wdGlvbnMoZSksZS5lbmFibGVkJiYodGhpcy5yZW5kZXIoKSxwKHRoaXMuY2hhcnQsImVuZFJlc2l6ZSIsKGZ1bmN0aW9uKCl7dGhpcy5sZWdlbmQucG9zaXRpb25DaGVja2JveGVzKCl9KSksdGhpcy5wcm94aW1hdGU/dGhpcy51bmNoYXJ0cmVuZGVyPXAodGhpcy5jaGFydCwicmVuZGVyIiwoZnVuY3Rpb24oKXt0aGlzLmxlZ2VuZC5wcm94aW1hdGVQb3NpdGlvbnMoKSx0aGlzLmxlZ2VuZC5wb3NpdGlvbkl0ZW1zKCl9KSk6dGhpcy51bmNoYXJ0cmVuZGVyJiZ0aGlzLnVuY2hhcnRyZW5kZXIoKSl9LHQucHJvdG90eXBlLnNldE9wdGlvbnM9ZnVuY3Rpb24odCl7dmFyIGU9Yih0LnBhZGRpbmcsOCk7dGhpcy5vcHRpb25zPXQsdGhpcy5jaGFydC5zdHlsZWRNb2RlfHwodGhpcy5pdGVtU3R5bGU9dC5pdGVtU3R5bGUsdGhpcy5pdGVtSGlkZGVuU3R5bGU9Xyh0aGlzLml0ZW1TdHlsZSx0Lml0ZW1IaWRkZW5TdHlsZSkpLHRoaXMuaXRlbU1hcmdpblRvcD10Lml0ZW1NYXJnaW5Ub3B8fDAsdGhpcy5pdGVtTWFyZ2luQm90dG9tPXQuaXRlbU1hcmdpbkJvdHRvbXx8MCx0aGlzLnBhZGRpbmc9ZSx0aGlzLmluaXRpYWxJdGVtWT1lLTUsdGhpcy5zeW1ib2xXaWR0aD1iKHQuc3ltYm9sV2lkdGgsMTYpLHRoaXMucGFnZXM9W10sdGhpcy5wcm94aW1hdGU9InByb3hpbWF0ZSI9PT10LmxheW91dCYmIXRoaXMuY2hhcnQuaW52ZXJ0ZWQsdGhpcy5iYXNlbGluZT12b2lkIDB9LHQucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuY2hhcnQ7dGhpcy5zZXRPcHRpb25zKF8oITAsdGhpcy5vcHRpb25zLHQpKSx0aGlzLmRlc3Ryb3koKSxpLmlzRGlydHlMZWdlbmQ9aS5pc0RpcnR5Qm94PSEwLGIoZSwhMCkmJmkucmVkcmF3KCksdih0aGlzLCJhZnRlclVwZGF0ZSIpfSx0LnByb3RvdHlwZS5jb2xvcml6ZUl0ZW09ZnVuY3Rpb24odCxlKXtpZih0LmxlZ2VuZEdyb3VwW2U/InJlbW92ZUNsYXNzIjoiYWRkQ2xhc3MiXSgiaGlnaGNoYXJ0cy1sZWdlbmQtaXRlbS1oaWRkZW4iKSwhdGhpcy5jaGFydC5zdHlsZWRNb2RlKXt2YXIgaT10aGlzLm9wdGlvbnMsbj10LmxlZ2VuZEl0ZW0scj10LmxlZ2VuZExpbmUsbz10LmxlZ2VuZFN5bWJvbCxhPXRoaXMuaXRlbUhpZGRlblN0eWxlLmNvbG9yO2k9ZT9pLml0ZW1TdHlsZS5jb2xvcjphO3ZhciBzPWUmJnQuY29sb3J8fGEsYz10Lm9wdGlvbnMmJnQub3B0aW9ucy5tYXJrZXIsaD17ZmlsbDpzfTtuJiZuLmNzcyh7ZmlsbDppLGNvbG9yOml9KSxyJiZyLmF0dHIoe3N0cm9rZTpzfSksbyYmKGMmJm8uaXNNYXJrZXImJihoPXQucG9pbnRBdHRyaWJzKCksZXx8KGguc3Ryb2tlPWguZmlsbD1hKSksby5hdHRyKGgpKX12KHRoaXMsImFmdGVyQ29sb3JpemVJdGVtIix7aXRlbTp0LHZpc2libGU6ZX0pfSx0LnByb3RvdHlwZS5wb3NpdGlvbkl0ZW1zPWZ1bmN0aW9uKCl7dGhpcy5hbGxJdGVtcy5mb3JFYWNoKHRoaXMucG9zaXRpb25JdGVtLHRoaXMpLHRoaXMuY2hhcnQuaXNSZXNpemluZ3x8dGhpcy5wb3NpdGlvbkNoZWNrYm94ZXMoKX0sdC5wcm90b3R5cGUucG9zaXRpb25JdGVtPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsaT10aGlzLm9wdGlvbnMsbj1pLnN5bWJvbFBhZGRpbmcscj0haS5ydGwsbz10Ll9sZWdlbmRJdGVtUG9zO2k9b1swXSxvPW9bMV07dmFyIGE9dC5jaGVja2JveCxzPXQubGVnZW5kR3JvdXA7cyYmcy5lbGVtZW50JiYobj17dHJhbnNsYXRlWDpyP2k6dGhpcy5sZWdlbmRXaWR0aC1pLTIqbi00LHRyYW5zbGF0ZVk6b30scj1mdW5jdGlvbigpe3YoZSwiYWZ0ZXJQb3NpdGlvbkl0ZW0iLHtpdGVtOnR9KX0sZihzLnRyYW5zbGF0ZVkpP3MuYW5pbWF0ZShuLHZvaWQgMCxyKToocy5hdHRyKG4pLHIoKSkpLGEmJihhLng9aSxhLnk9byl9LHQucHJvdG90eXBlLmRlc3Ryb3lJdGVtPWZ1bmN0aW9uKHQpe3ZhciBlPXQuY2hlY2tib3g7WyJsZWdlbmRJdGVtIiwibGVnZW5kTGluZSIsImxlZ2VuZFN5bWJvbCIsImxlZ2VuZEdyb3VwIl0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7dFtlXSYmKHRbZV09dFtlXS5kZXN0cm95KCkpfSkpLGUmJm0odC5jaGVja2JveCl9LHQucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXNbdF0mJih0aGlzW3RdPXRoaXNbdF0uZGVzdHJveSgpKX10aGlzLmdldEFsbEl0ZW1zKCkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7WyJsZWdlbmRJdGVtIiwibGVnZW5kR3JvdXAiXS5mb3JFYWNoKHQsZSl9KSksImNsaXBSZWN0IHVwIGRvd24gcGFnZXIgbmF2IGJveCB0aXRsZSBncm91cCIuc3BsaXQoIiAiKS5mb3JFYWNoKHQsdGhpcyksdGhpcy5kaXNwbGF5PW51bGx9LHQucHJvdG90eXBlLnBvc2l0aW9uQ2hlY2tib3hlcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ3JvdXAmJnRoaXMuZ3JvdXAuYWxpZ25BdHRyLGU9dGhpcy5jbGlwSGVpZ2h0fHx0aGlzLmxlZ2VuZEhlaWdodCxpPXRoaXMudGl0bGVIZWlnaHQ7aWYodCl7dmFyIG49dC50cmFuc2xhdGVZO3RoaXMuYWxsSXRlbXMuZm9yRWFjaCgoZnVuY3Rpb24ocil7dmFyIG89ci5jaGVja2JveDtpZihvKXt2YXIgYT1uK2krby55Kyh0aGlzLnNjcm9sbE9mZnNldHx8MCkrMzt1KG8se2xlZnQ6dC50cmFuc2xhdGVYK3IuY2hlY2tib3hPZmZzZXQrby54LTIwKyJweCIsdG9wOmErInB4IixkaXNwbGF5OnRoaXMucHJveGltYXRlfHxhPm4tNiYmYTxuK2UtNj8iIjoibm9uZSJ9KX19KSx0aGlzKX19LHQucHJvdG90eXBlLnJlbmRlclRpdGxlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGU9dGhpcy5wYWRkaW5nLGk9dC50aXRsZSxuPTA7aS50ZXh0JiYodGhpcy50aXRsZXx8KHRoaXMudGl0bGU9dGhpcy5jaGFydC5yZW5kZXJlci5sYWJlbChpLnRleHQsZS0zLGUtNCxudWxsLG51bGwsbnVsbCx0LnVzZUhUTUwsbnVsbCwibGVnZW5kLXRpdGxlIikuYXR0cih7ekluZGV4OjF9KSx0aGlzLmNoYXJ0LnN0eWxlZE1vZGV8fHRoaXMudGl0bGUuY3NzKGkuc3R5bGUpLHRoaXMudGl0bGUuYWRkKHRoaXMuZ3JvdXApKSxpLndpZHRofHx0aGlzLnRpdGxlLmNzcyh7d2lkdGg6dGhpcy5tYXhMZWdlbmRXaWR0aCsicHgifSksdD10aGlzLnRpdGxlLmdldEJCb3goKSxuPXQuaGVpZ2h0LHRoaXMub2Zmc2V0V2lkdGg9dC53aWR0aCx0aGlzLmNvbnRlbnRHcm91cC5hdHRyKHt0cmFuc2xhdGVZOm59KSksdGhpcy50aXRsZUhlaWdodD1ufSx0LnByb3RvdHlwZS5zZXRUZXh0PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMub3B0aW9uczt0LmxlZ2VuZEl0ZW0uYXR0cih7dGV4dDplLmxhYmVsRm9ybWF0P2MoZS5sYWJlbEZvcm1hdCx0LHRoaXMuY2hhcnQpOmUubGFiZWxGb3JtYXR0ZXIuY2FsbCh0KX0pfSx0LnByb3RvdHlwZS5yZW5kZXJJdGVtPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQsaT1lLnJlbmRlcmVyLG49dGhpcy5vcHRpb25zLHI9dGhpcy5zeW1ib2xXaWR0aCxvPW4uc3ltYm9sUGFkZGluZ3x8MCxhPXRoaXMuaXRlbVN0eWxlLHM9dGhpcy5pdGVtSGlkZGVuU3R5bGUsYz0iaG9yaXpvbnRhbCI9PT1uLmxheW91dD9iKG4uaXRlbURpc3RhbmNlLDIwKTowLGg9IW4ucnRsLGw9IXQuc2VyaWVzLHA9IWwmJnQuc2VyaWVzLmRyYXdMZWdlbmRTeW1ib2w/dC5zZXJpZXM6dCxkPXAub3B0aW9ucyx1PXRoaXMuY3JlYXRlQ2hlY2tib3hGb3JJdGVtJiZkJiZkLnNob3dDaGVja2JveCxmPW4udXNlSFRNTCxtPXQub3B0aW9ucy5jbGFzc05hbWUsZz10LmxlZ2VuZEl0ZW07ZD1yK28rYysodT8yMDowKSxnfHwodC5sZWdlbmRHcm91cD1pLmcoImxlZ2VuZC1pdGVtIikuYWRkQ2xhc3MoImhpZ2hjaGFydHMtIitwLnR5cGUrIi1zZXJpZXMgaGlnaGNoYXJ0cy1jb2xvci0iK3QuY29sb3JJbmRleCsobT8iICIrbToiIikrKGw/IiBoaWdoY2hhcnRzLXNlcmllcy0iK3QuaW5kZXg6IiIpKS5hdHRyKHt6SW5kZXg6MX0pLmFkZCh0aGlzLnNjcm9sbEdyb3VwKSx0LmxlZ2VuZEl0ZW09Zz1pLnRleHQoIiIsaD9yK286LW8sdGhpcy5iYXNlbGluZXx8MCxmKSxlLnN0eWxlZE1vZGV8fGcuY3NzKF8odC52aXNpYmxlP2E6cykpLGcuYXR0cih7YWxpZ246aD8ibGVmdCI6InJpZ2h0Iix6SW5kZXg6Mn0pLmFkZCh0LmxlZ2VuZEdyb3VwKSx0aGlzLmJhc2VsaW5lfHwodGhpcy5mb250TWV0cmljcz1pLmZvbnRNZXRyaWNzKGUuc3R5bGVkTW9kZT8xMjphLmZvbnRTaXplLGcpLHRoaXMuYmFzZWxpbmU9dGhpcy5mb250TWV0cmljcy5mKzMrdGhpcy5pdGVtTWFyZ2luVG9wLGcuYXR0cigieSIsdGhpcy5iYXNlbGluZSksdGhpcy5zeW1ib2xIZWlnaHQ9bi5zeW1ib2xIZWlnaHR8fHRoaXMuZm9udE1ldHJpY3MuZixuLnNxdWFyZVN5bWJvbCYmKHRoaXMuc3ltYm9sV2lkdGg9YihuLnN5bWJvbFdpZHRoLE1hdGgubWF4KHRoaXMuc3ltYm9sSGVpZ2h0LDE2KSksZD10aGlzLnN5bWJvbFdpZHRoK28rYysodT8yMDowKSxoJiZnLmF0dHIoIngiLHRoaXMuc3ltYm9sV2lkdGgrbykpKSxwLmRyYXdMZWdlbmRTeW1ib2wodGhpcyx0KSx0aGlzLnNldEl0ZW1FdmVudHMmJnRoaXMuc2V0SXRlbUV2ZW50cyh0LGcsZikpLHUmJiF0LmNoZWNrYm94JiZ0aGlzLmNyZWF0ZUNoZWNrYm94Rm9ySXRlbSYmdGhpcy5jcmVhdGVDaGVja2JveEZvckl0ZW0odCksdGhpcy5jb2xvcml6ZUl0ZW0odCx0LnZpc2libGUpLCFlLnN0eWxlZE1vZGUmJmEud2lkdGh8fGcuY3NzKHt3aWR0aDoobi5pdGVtV2lkdGh8fHRoaXMud2lkdGhPcHRpb258fGUuc3BhY2luZ0JveC53aWR0aCktZCsicHgifSksdGhpcy5zZXRUZXh0KHQpLGU9Zy5nZXRCQm94KCksaT10aGlzLmZvbnRNZXRyaWNzJiZ0aGlzLmZvbnRNZXRyaWNzLmh8fDAsdC5pdGVtV2lkdGg9dC5jaGVja2JveE9mZnNldD1uLml0ZW1XaWR0aHx8dC5sZWdlbmRJdGVtV2lkdGh8fGUud2lkdGgrZCx0aGlzLm1heEl0ZW1XaWR0aD1NYXRoLm1heCh0aGlzLm1heEl0ZW1XaWR0aCx0Lml0ZW1XaWR0aCksdGhpcy50b3RhbEl0ZW1XaWR0aCs9dC5pdGVtV2lkdGgsdGhpcy5pdGVtSGVpZ2h0PXQuaXRlbUhlaWdodD1NYXRoLnJvdW5kKHQubGVnZW5kSXRlbUhlaWdodHx8KGUuaGVpZ2h0PjEuNSppP2UuaGVpZ2h0OmkpKX0sdC5wcm90b3R5cGUubGF5b3V0SXRlbT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm9wdGlvbnMsaT10aGlzLnBhZGRpbmcsbj0iaG9yaXpvbnRhbCI9PT1lLmxheW91dCxyPXQuaXRlbUhlaWdodCxvPXRoaXMuaXRlbU1hcmdpbkJvdHRvbSxhPXRoaXMuaXRlbU1hcmdpblRvcCxzPW4/YihlLml0ZW1EaXN0YW5jZSwyMCk6MCxjPXRoaXMubWF4TGVnZW5kV2lkdGg7ZT1lLmFsaWduQ29sdW1ucyYmdGhpcy50b3RhbEl0ZW1XaWR0aD5jP3RoaXMubWF4SXRlbVdpZHRoOnQuaXRlbVdpZHRoLG4mJnRoaXMuaXRlbVgtaStlPmMmJih0aGlzLml0ZW1YPWksdGhpcy5sYXN0TGluZUhlaWdodCYmKHRoaXMuaXRlbVkrPWErdGhpcy5sYXN0TGluZUhlaWdodCtvKSx0aGlzLmxhc3RMaW5lSGVpZ2h0PTApLHRoaXMubGFzdEl0ZW1ZPWErdGhpcy5pdGVtWStvLHRoaXMubGFzdExpbmVIZWlnaHQ9TWF0aC5tYXgocix0aGlzLmxhc3RMaW5lSGVpZ2h0KSx0Ll9sZWdlbmRJdGVtUG9zPVt0aGlzLml0ZW1YLHRoaXMuaXRlbVldLG4/dGhpcy5pdGVtWCs9ZToodGhpcy5pdGVtWSs9YStyK28sdGhpcy5sYXN0TGluZUhlaWdodD1yKSx0aGlzLm9mZnNldFdpZHRoPXRoaXMud2lkdGhPcHRpb258fE1hdGgubWF4KChuP3RoaXMuaXRlbVgtaS0odC5jaGVja2JveD8wOnMpOmUpK2ksdGhpcy5vZmZzZXRXaWR0aCl9LHQucHJvdG90eXBlLmdldEFsbEl0ZW1zPWZ1bmN0aW9uKCl7dmFyIHQ9W107cmV0dXJuIHRoaXMuY2hhcnQuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKGUpe3ZhciBpPWUmJmUub3B0aW9ucztlJiZiKGkuc2hvd0luTGVnZW5kLCFmKGkubGlua2VkVG8pJiZ2b2lkIDAsITApJiYodD10LmNvbmNhdChlLmxlZ2VuZEl0ZW1zfHwoInBvaW50Ij09PWkubGVnZW5kVHlwZT9lLmRhdGE6ZSkpKX0pKSx2KHRoaXMsImFmdGVyR2V0QWxsSXRlbXMiLHthbGxJdGVtczp0fSksdH0sdC5wcm90b3R5cGUuZ2V0QWxpZ25tZW50PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zO3JldHVybiB0aGlzLnByb3hpbWF0ZT90LmFsaWduLmNoYXJBdCgwKSsidHYiOnQuZmxvYXRpbmc/IiI6dC5hbGlnbi5jaGFyQXQoMCkrdC52ZXJ0aWNhbEFsaWduLmNoYXJBdCgwKSt0LmxheW91dC5jaGFyQXQoMCl9LHQucHJvdG90eXBlLmFkanVzdE1hcmdpbnM9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLmNoYXJ0LG49dGhpcy5vcHRpb25zLHI9dGhpcy5nZXRBbGlnbm1lbnQoKTtyJiZbLyhsdGh8Y3R8cnRoKS8sLyhydHZ8cm18cmJ2KS8sLyhyYmh8Y2J8bGJoKS8sLyhsYnZ8bG18bHR2KS9dLmZvckVhY2goKGZ1bmN0aW9uKG8sYSl7by50ZXN0KHIpJiYhZih0W2FdKSYmKGlbaFthXV09TWF0aC5tYXgoaVtoW2FdXSxpLmxlZ2VuZFsoYSsxKSUyPyJsZWdlbmRIZWlnaHQiOiJsZWdlbmRXaWR0aCJdK1sxLC0xLC0xLDFdW2FdKm5bYSUyPyJ4IjoieSJdK2Iobi5tYXJnaW4sMTIpK2VbYV0rKGkudGl0bGVPZmZzZXRbYV18fDApKSl9KSl9LHQucHJvdG90eXBlLnByb3hpbWF0ZVBvc2l0aW9ucz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuY2hhcnQsZT1bXSxpPSJsZWZ0Ij09PXRoaXMub3B0aW9ucy5hbGlnbjt0aGlzLmFsbEl0ZW1zLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByLG89aTtpZihuLnlBeGlzKXtuLnhBeGlzLm9wdGlvbnMucmV2ZXJzZWQmJihvPSFvKSxuLnBvaW50cyYmKHI9ZyhvP24ucG9pbnRzOm4ucG9pbnRzLnNsaWNlKDApLnJldmVyc2UoKSwoZnVuY3Rpb24odCl7cmV0dXJuIHkodC5wbG90WSl9KSkpLG89dGhpcy5pdGVtTWFyZ2luVG9wK24ubGVnZW5kSXRlbS5nZXRCQm94KCkuaGVpZ2h0K3RoaXMuaXRlbU1hcmdpbkJvdHRvbTt2YXIgYT1uLnlBeGlzLnRvcC10LnBsb3RUb3A7bi52aXNpYmxlPyhyPXI/ci5wbG90WTpuLnlBeGlzLmhlaWdodCxyKz1hLS4zKm8pOnI9YStuLnlBeGlzLmhlaWdodCxlLnB1c2goe3RhcmdldDpyLHNpemU6byxpdGVtOm59KX19KSx0aGlzKSxsKGUsdC5wbG90SGVpZ2h0KS5mb3JFYWNoKChmdW5jdGlvbihlKXtlLml0ZW0uX2xlZ2VuZEl0ZW1Qb3MmJihlLml0ZW0uX2xlZ2VuZEl0ZW1Qb3NbMV09dC5wbG90VG9wLXQuc3BhY2luZ1swXStlLnBvcyl9KSl9LHQucHJvdG90eXBlLnJlbmRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMuY2hhcnQsZT10LnJlbmRlcmVyLGk9dGhpcy5vcHRpb25zLG49dGhpcy5wYWRkaW5nLHI9dGhpcy5nZXRBbGxJdGVtcygpLG89dGhpcy5ncm91cCxhPXRoaXMuYm94O3RoaXMuaXRlbVg9bix0aGlzLml0ZW1ZPXRoaXMuaW5pdGlhbEl0ZW1ZLHRoaXMubGFzdEl0ZW1ZPXRoaXMub2Zmc2V0V2lkdGg9MCx0aGlzLndpZHRoT3B0aW9uPXgoaS53aWR0aCx0LnNwYWNpbmdCb3gud2lkdGgtbik7dmFyIHM9dC5zcGFjaW5nQm94LndpZHRoLTIqbi1pLng7LTE8WyJybSIsImxtIl0uaW5kZXhPZih0aGlzLmdldEFsaWdubWVudCgpLnN1YnN0cmluZygwLDIpKSYmKHMvPTIpLHRoaXMubWF4TGVnZW5kV2lkdGg9dGhpcy53aWR0aE9wdGlvbnx8cyxvfHwodGhpcy5ncm91cD1vPWUuZygibGVnZW5kIikuYWRkQ2xhc3MoaS5jbGFzc05hbWV8fCIiKS5hdHRyKHt6SW5kZXg6N30pLmFkZCgpLHRoaXMuY29udGVudEdyb3VwPWUuZygpLmF0dHIoe3pJbmRleDoxfSkuYWRkKG8pLHRoaXMuc2Nyb2xsR3JvdXA9ZS5nKCkuYWRkKHRoaXMuY29udGVudEdyb3VwKSksdGhpcy5yZW5kZXJUaXRsZSgpLHcociwoZnVuY3Rpb24odCxlKXtyZXR1cm4odC5vcHRpb25zJiZ0Lm9wdGlvbnMubGVnZW5kSW5kZXh8fDApLShlLm9wdGlvbnMmJmUub3B0aW9ucy5sZWdlbmRJbmRleHx8MCl9KSksaS5yZXZlcnNlZCYmci5yZXZlcnNlKCksdGhpcy5hbGxJdGVtcz1yLHRoaXMuZGlzcGxheT1zPSEhci5sZW5ndGgsdGhpcy5pdGVtSGVpZ2h0PXRoaXMudG90YWxJdGVtV2lkdGg9dGhpcy5tYXhJdGVtV2lkdGg9dGhpcy5sYXN0TGluZUhlaWdodD0wLHIuZm9yRWFjaCh0aGlzLnJlbmRlckl0ZW0sdGhpcyksci5mb3JFYWNoKHRoaXMubGF5b3V0SXRlbSx0aGlzKSxyPSh0aGlzLndpZHRoT3B0aW9ufHx0aGlzLm9mZnNldFdpZHRoKStuO3ZhciBjPXRoaXMubGFzdEl0ZW1ZK3RoaXMubGFzdExpbmVIZWlnaHQrdGhpcy50aXRsZUhlaWdodDtjPXRoaXMuaGFuZGxlT3ZlcmZsb3coYyksYys9bixhfHwodGhpcy5ib3g9YT1lLnJlY3QoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1sZWdlbmQtYm94IikuYXR0cih7cjppLmJvcmRlclJhZGl1c30pLmFkZChvKSxhLmlzTmV3PSEwKSx0LnN0eWxlZE1vZGV8fGEuYXR0cih7c3Ryb2tlOmkuYm9yZGVyQ29sb3IsInN0cm9rZS13aWR0aCI6aS5ib3JkZXJXaWR0aHx8MCxmaWxsOmkuYmFja2dyb3VuZENvbG9yfHwibm9uZSJ9KS5zaGFkb3coaS5zaGFkb3cpLDA8ciYmMDxjJiYoYVthLmlzTmV3PyJhdHRyIjoiYW5pbWF0ZSJdKGEuY3Jpc3AuY2FsbCh7fSx7eDowLHk6MCx3aWR0aDpyLGhlaWdodDpjfSxhLnN0cm9rZVdpZHRoKCkpKSxhLmlzTmV3PSExKSxhW3M/InNob3ciOiJoaWRlIl0oKSx0LnN0eWxlZE1vZGUmJiJub25lIj09PW8uZ2V0U3R5bGUoImRpc3BsYXkiKSYmKHI9Yz0wKSx0aGlzLmxlZ2VuZFdpZHRoPXIsdGhpcy5sZWdlbmRIZWlnaHQ9YyxzJiZ0aGlzLmFsaWduKCksdGhpcy5wcm94aW1hdGV8fHRoaXMucG9zaXRpb25JdGVtcygpLHYodGhpcywiYWZ0ZXJSZW5kZXIiKX0sdC5wcm90b3R5cGUuYWxpZ249ZnVuY3Rpb24odCl7dm9pZCAwPT09dCYmKHQ9dGhpcy5jaGFydC5zcGFjaW5nQm94KTt2YXIgZT10aGlzLmNoYXJ0LGk9dGhpcy5vcHRpb25zLG49dC55Oy8obHRofGN0fHJ0aCkvLnRlc3QodGhpcy5nZXRBbGlnbm1lbnQoKSkmJjA8ZS50aXRsZU9mZnNldFswXT9uKz1lLnRpdGxlT2Zmc2V0WzBdOi8obGJofGNifHJiaCkvLnRlc3QodGhpcy5nZXRBbGlnbm1lbnQoKSkmJjA8ZS50aXRsZU9mZnNldFsyXSYmKG4tPWUudGl0bGVPZmZzZXRbMl0pLG4hPT10LnkmJih0PV8odCx7eTpufSkpLHRoaXMuZ3JvdXAuYWxpZ24oXyhpLHt3aWR0aDp0aGlzLmxlZ2VuZFdpZHRoLGhlaWdodDp0aGlzLmxlZ2VuZEhlaWdodCx2ZXJ0aWNhbEFsaWduOnRoaXMucHJveGltYXRlPyJ0b3AiOmkudmVydGljYWxBbGlnbn0pLCEwLHQpfSx0LnByb3RvdHlwZS5oYW5kbGVPdmVyZmxvdz1mdW5jdGlvbih0KXt2YXIgZSxpLG49dGhpcyxyPXRoaXMuY2hhcnQsbz1yLnJlbmRlcmVyLGE9dGhpcy5vcHRpb25zLHM9YS55LGM9InRvcCI9PT1hLnZlcnRpY2FsQWxpZ24saD10aGlzLnBhZGRpbmcsbD1hLm1heEhlaWdodCxwPWEubmF2aWdhdGlvbixkPWIocC5hbmltYXRpb24sITApLHU9cC5hcnJvd1NpemV8fDEyLGY9dGhpcy5wYWdlcyxtPXRoaXMuYWxsSXRlbXMsZz1mdW5jdGlvbih0KXsibnVtYmVyIj09PXR5cGVvZiB0P18uYXR0cih7aGVpZ2h0OnR9KTpfJiYobi5jbGlwUmVjdD1fLmRlc3Ryb3koKSxuLmNvbnRlbnRHcm91cC5jbGlwKCkpLG4uY29udGVudEdyb3VwLmRpdiYmKG4uY29udGVudEdyb3VwLmRpdi5zdHlsZS5jbGlwPXQ/InJlY3QoIitoKyJweCw5OTk5cHgsIisoaCt0KSsicHgsMCkiOiJhdXRvIil9LHY9ZnVuY3Rpb24odCl7cmV0dXJuIG5bdF09by5jaXJjbGUoMCwwLDEuMyp1KS50cmFuc2xhdGUodS8yLHUvMikuYWRkKHkpLHIuc3R5bGVkTW9kZXx8blt0XS5hdHRyKCJmaWxsIiwicmdiYSgwLDAsMCwwLjAwMDEpIiksblt0XX07cz1yLnNwYWNpbmdCb3guaGVpZ2h0KyhjPy1zOnMpLWg7dmFyIHk9dGhpcy5uYXYsXz10aGlzLmNsaXBSZWN0O3JldHVybiJob3Jpem9udGFsIiE9PWEubGF5b3V0fHwibWlkZGxlIj09PWEudmVydGljYWxBbGlnbnx8YS5mbG9hdGluZ3x8KHMvPTIpLGwmJihzPU1hdGgubWluKHMsbCkpLGYubGVuZ3RoPTAsdCYmMDxzJiZ0PnMmJiExIT09cC5lbmFibGVkPyh0aGlzLmNsaXBIZWlnaHQ9ZT1NYXRoLm1heChzLTIwLXRoaXMudGl0bGVIZWlnaHQtaCwwKSx0aGlzLmN1cnJlbnRQYWdlPWIodGhpcy5jdXJyZW50UGFnZSwxKSx0aGlzLmZ1bGxIZWlnaHQ9dCxtLmZvckVhY2goKGZ1bmN0aW9uKHQsbil7dmFyIHI9dC5fbGVnZW5kSXRlbVBvc1sxXSxvPU1hdGgucm91bmQodC5sZWdlbmRJdGVtLmdldEJCb3goKS5oZWlnaHQpLGE9Zi5sZW5ndGg7KCFhfHxyLWZbYS0xXT5lJiYoaXx8cikhPT1mW2EtMV0pJiYoZi5wdXNoKGl8fHIpLGErKyksdC5wYWdlSXg9YS0xLGkmJihtW24tMV0ucGFnZUl4PWEtMSksbj09PW0ubGVuZ3RoLTEmJnIrby1mW2EtMV0+ZSYmbzw9ZSYmKGYucHVzaChyKSx0LnBhZ2VJeD1hKSxyIT09aSYmKGk9cil9KSksX3x8KF89bi5jbGlwUmVjdD1vLmNsaXBSZWN0KDAsaCw5OTk5LDApLG4uY29udGVudEdyb3VwLmNsaXAoXykpLGcoZSkseXx8KHRoaXMubmF2PXk9by5nKCkuYXR0cih7ekluZGV4OjF9KS5hZGQodGhpcy5ncm91cCksdGhpcy51cD1vLnN5bWJvbCgidHJpYW5nbGUiLDAsMCx1LHUpLmFkZCh5KSx2KCJ1cFRyYWNrZXIiKS5vbigiY2xpY2siLChmdW5jdGlvbigpe24uc2Nyb2xsKC0xLGQpfSkpLHRoaXMucGFnZXI9by50ZXh0KCIiLDE1LDEwKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1sZWdlbmQtbmF2aWdhdGlvbiIpLHIuc3R5bGVkTW9kZXx8dGhpcy5wYWdlci5jc3MocC5zdHlsZSksdGhpcy5wYWdlci5hZGQoeSksdGhpcy5kb3duPW8uc3ltYm9sKCJ0cmlhbmdsZS1kb3duIiwwLDAsdSx1KS5hZGQoeSksdigiZG93blRyYWNrZXIiKS5vbigiY2xpY2siLChmdW5jdGlvbigpe24uc2Nyb2xsKDEsZCl9KSkpLG4uc2Nyb2xsKDApLHQ9cyk6eSYmKGcoKSx0aGlzLm5hdj15LmRlc3Ryb3koKSx0aGlzLnNjcm9sbEdyb3VwLmF0dHIoe3RyYW5zbGF0ZVk6MX0pLHRoaXMuY2xpcEhlaWdodD0wKSx0fSx0LnByb3RvdHlwZS5zY3JvbGw9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLG49dGhpcy5jaGFydCxyPXRoaXMucGFnZXMsbz1yLmxlbmd0aCxjPXRoaXMuY2xpcEhlaWdodCxoPXRoaXMub3B0aW9ucy5uYXZpZ2F0aW9uLGw9dGhpcy5wYWdlcixwPXRoaXMucGFkZGluZyxkPXRoaXMuY3VycmVudFBhZ2UrdDtkPm8mJihkPW8pLDA8ZCYmKCJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJnMoZSxuKSx0aGlzLm5hdi5hdHRyKHt0cmFuc2xhdGVYOnAsdHJhbnNsYXRlWTpjK3RoaXMucGFkZGluZys3K3RoaXMudGl0bGVIZWlnaHQsdmlzaWJpbGl0eToidmlzaWJsZSJ9KSxbdGhpcy51cCx0aGlzLnVwVHJhY2tlcl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5hdHRyKHtjbGFzczoxPT09ZD8iaGlnaGNoYXJ0cy1sZWdlbmQtbmF2LWluYWN0aXZlIjoiaGlnaGNoYXJ0cy1sZWdlbmQtbmF2LWFjdGl2ZSJ9KX0pKSxsLmF0dHIoe3RleHQ6ZCsiLyIrb30pLFt0aGlzLmRvd24sdGhpcy5kb3duVHJhY2tlcl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5hdHRyKHt4OjE4K3RoaXMucGFnZXIuZ2V0QkJveCgpLndpZHRoLGNsYXNzOmQ9PT1vPyJoaWdoY2hhcnRzLWxlZ2VuZC1uYXYtaW5hY3RpdmUiOiJoaWdoY2hhcnRzLWxlZ2VuZC1uYXYtYWN0aXZlIn0pfSksdGhpcyksbi5zdHlsZWRNb2RlfHwodGhpcy51cC5hdHRyKHtmaWxsOjE9PT1kP2guaW5hY3RpdmVDb2xvcjpoLmFjdGl2ZUNvbG9yfSksdGhpcy51cFRyYWNrZXIuY3NzKHtjdXJzb3I6MT09PWQ/ImRlZmF1bHQiOiJwb2ludGVyIn0pLHRoaXMuZG93bi5hdHRyKHtmaWxsOmQ9PT1vP2guaW5hY3RpdmVDb2xvcjpoLmFjdGl2ZUNvbG9yfSksdGhpcy5kb3duVHJhY2tlci5jc3Moe2N1cnNvcjpkPT09bz8iZGVmYXVsdCI6InBvaW50ZXIifSkpLHRoaXMuc2Nyb2xsT2Zmc2V0PS1yW2QtMV0rdGhpcy5pbml0aWFsSXRlbVksdGhpcy5zY3JvbGxHcm91cC5hbmltYXRlKHt0cmFuc2xhdGVZOnRoaXMuc2Nyb2xsT2Zmc2V0fSksdGhpcy5jdXJyZW50UGFnZT1kLHRoaXMucG9zaXRpb25DaGVja2JveGVzKCksdD1hKGIoZSxuLnJlbmRlcmVyLmdsb2JhbEFuaW1hdGlvbiwhMCkpLGsoKGZ1bmN0aW9uKCl7dihpLCJhZnRlclNjcm9sbCIse2N1cnJlbnRQYWdlOmR9KX0pLHQuZHVyYXRpb24pKX0sdC5wcm90b3R5cGUuc2V0SXRlbUV2ZW50cz1mdW5jdGlvbih0LGUsaSl7dmFyIHI9dGhpcyxvPXIuY2hhcnQucmVuZGVyZXIuYm94V3JhcHBlcixhPXQgaW5zdGFuY2VvZiBuLHM9ImhpZ2hjaGFydHMtbGVnZW5kLSIrKGE/InBvaW50Ijoic2VyaWVzIikrIi1hY3RpdmUiLGM9ci5jaGFydC5zdHlsZWRNb2RlLGg9ZnVuY3Rpb24oZSl7ci5hbGxJdGVtcy5mb3JFYWNoKChmdW5jdGlvbihpKXt0IT09aSYmW2ldLmNvbmNhdChpLmxpbmtlZFNlcmllc3x8W10pLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Quc2V0U3RhdGUoZSwhYSl9KSl9KSl9OyhpP1tlLHQubGVnZW5kU3ltYm9sXTpbdC5sZWdlbmRHcm91cF0pLmZvckVhY2goKGZ1bmN0aW9uKGkpe2kmJmkub24oIm1vdXNlb3ZlciIsKGZ1bmN0aW9uKCl7dC52aXNpYmxlJiZoKCJpbmFjdGl2ZSIpLHQuc2V0U3RhdGUoImhvdmVyIiksdC52aXNpYmxlJiZvLmFkZENsYXNzKHMpLGN8fGUuY3NzKHIub3B0aW9ucy5pdGVtSG92ZXJTdHlsZSl9KSkub24oIm1vdXNlb3V0IiwoZnVuY3Rpb24oKXtyLmNoYXJ0LnN0eWxlZE1vZGV8fGUuY3NzKF8odC52aXNpYmxlP3IuaXRlbVN0eWxlOnIuaXRlbUhpZGRlblN0eWxlKSksaCgiIiksby5yZW1vdmVDbGFzcyhzKSx0LnNldFN0YXRlKCl9KSkub24oImNsaWNrIiwoZnVuY3Rpb24oZSl7dmFyIGk9ZnVuY3Rpb24oKXt0LnNldFZpc2libGUmJnQuc2V0VmlzaWJsZSgpLGgodC52aXNpYmxlPyJpbmFjdGl2ZSI6IiIpfTtvLnJlbW92ZUNsYXNzKHMpLGU9e2Jyb3dzZXJFdmVudDplfSx0LmZpcmVQb2ludEV2ZW50P3QuZmlyZVBvaW50RXZlbnQoImxlZ2VuZEl0ZW1DbGljayIsZSxpKTp2KHQsImxlZ2VuZEl0ZW1DbGljayIsZSxpKX0pKX0pKX0sdC5wcm90b3R5cGUuY3JlYXRlQ2hlY2tib3hGb3JJdGVtPWZ1bmN0aW9uKHQpe3QuY2hlY2tib3g9ZCgiaW5wdXQiLHt0eXBlOiJjaGVja2JveCIsY2xhc3NOYW1lOiJoaWdoY2hhcnRzLWxlZ2VuZC1jaGVja2JveCIsY2hlY2tlZDp0LnNlbGVjdGVkLGRlZmF1bHRDaGVja2VkOnQuc2VsZWN0ZWR9LHRoaXMub3B0aW9ucy5pdGVtQ2hlY2tib3hTdHlsZSx0aGlzLmNoYXJ0LmNvbnRhaW5lcikscCh0LmNoZWNrYm94LCJjbGljayIsKGZ1bmN0aW9uKGUpe3YodC5zZXJpZXN8fHQsImNoZWNrYm94Q2xpY2siLHtjaGVja2VkOmUudGFyZ2V0LmNoZWNrZWQsaXRlbTp0fSwoZnVuY3Rpb24oKXt0LnNlbGVjdCgpfSkpfSkpfSx0fSgpLCgvVHJpZGVudFwvN1wuMC8udGVzdChpLm5hdmlnYXRvciYmaS5uYXZpZ2F0b3IudXNlckFnZW50KXx8dCkmJnIoby5wcm90b3R5cGUsInBvc2l0aW9uSXRlbSIsKGZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcyxuPWZ1bmN0aW9uKCl7ZS5fbGVnZW5kSXRlbVBvcyYmdC5jYWxsKGksZSl9O24oKSxpLmJ1YmJsZUxlZ2VuZHx8c2V0VGltZW91dChuKX0pKSxvfSkpLGUoaSwiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiLFtpWyJDb3JlL0dsb2JhbHMuanMiXSxpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0saVsiQ29yZS9TZXJpZXMvUG9pbnQuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbil7dmFyIHIsbz1lLmRlZmF1bHRPcHRpb25zLGE9bi5lcnJvcixzPW4uZXh0ZW5kQ2xhc3MsYz1uLm1lcmdlO3JldHVybiBmdW5jdGlvbihlKXtmdW5jdGlvbiBuKHQsbil7dmFyIHI9by5wbG90T3B0aW9uc3x8e30sYT1uLmRlZmF1bHRPcHRpb25zO24ucHJvdG90eXBlLnBvaW50Q2xhc3N8fChuLnByb3RvdHlwZS5wb2ludENsYXNzPWkpLG4ucHJvdG90eXBlLnR5cGU9dCxhJiYoclt0XT1hKSxlLnNlcmllc1R5cGVzW3RdPW59ZS5zZXJpZXNUeXBlcz10LnNlcmllc1R5cGVzLGUuZ2V0U2VyaWVzPWZ1bmN0aW9uKHQsaSl7dm9pZCAwPT09aSYmKGk9e30pO3ZhciBuPXQub3B0aW9ucy5jaGFydDtuPWkudHlwZXx8bi50eXBlfHxuLmRlZmF1bHRTZXJpZXNUeXBlfHwiIjt2YXIgcj1lLnNlcmllc1R5cGVzW25dO3JldHVybiBlfHxhKDE3LCEwLHQse21pc3NpbmdNb2R1bGVGb3I6bn0pLG49bmV3IHIsImZ1bmN0aW9uIj09PXR5cGVvZiBuLmluaXQmJm4uaW5pdCh0LGkpLG59LGUucmVnaXN0ZXJTZXJpZXNUeXBlPW4sZS5zZXJpZXNUeXBlPWZ1bmN0aW9uKHQscixhLGgsbCl7dmFyIHA9by5wbG90T3B0aW9uc3x8e307cmV0dXJuIHI9cnx8IiIscFt0XT1jKHBbcl0sYSksbih0LHMoZS5zZXJpZXNUeXBlc1tyXXx8ZnVuY3Rpb24oKXt9LGgpKSxlLnNlcmllc1R5cGVzW3RdLnByb3RvdHlwZS50eXBlPXQsbCYmKGUuc2VyaWVzVHlwZXNbdF0ucHJvdG90eXBlLnBvaW50Q2xhc3M9cyhpLGwpKSxlLnNlcmllc1R5cGVzW3RdfX0ocnx8KHI9e30pKSxyfSkpLGUoaSwiQ29yZS9DaGFydC9DaGFydC5qcyIsW2lbIkNvcmUvQW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5qcyJdLGlbIkNvcmUvQXhpcy9BeGlzLmpzIl0saVsiQ29yZS9Gb3JtYXRVdGlsaXRpZXMuanMiXSxpWyJDb3JlL0ZvdW5kYXRpb24uanMiXSxpWyJDb3JlL0dsb2JhbHMuanMiXSxpWyJDb3JlL0xlZ2VuZC9MZWdlbmQuanMiXSxpWyJDb3JlL01TUG9pbnRlci5qcyJdLGlbIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiXSxpWyJDb3JlL1BvaW50ZXIuanMiXSxpWyJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyUmVnaXN0cnkuanMiXSxpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR1JlbmRlcmVyLmpzIl0saVsiQ29yZS9UaW1lLmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXSxpWyJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIl1dLChmdW5jdGlvbih0LGUsaSxuLHIsbyxhLHMsYyxoLGwscCxkLHUsZil7dmFyIG09dC5hbmltYXRlLGc9dC5hbmltT2JqZWN0LHY9dC5zZXRBbmltYXRpb24seT1pLm51bWJlckZvcm1hdCxfPW4ucmVnaXN0ZXJFdmVudE9wdGlvbnMsYj1yLmNoYXJ0cyx4PXIuZG9jLHc9ci5tYXJnaW5OYW1lcyxrPXIuc3ZnLEM9ci53aW4sUz1zLmRlZmF1bHRPcHRpb25zLEE9cy5kZWZhdWx0VGltZSxNPWwuc2VyaWVzVHlwZXMsUD11LmFkZEV2ZW50LE89dS5hdHRyLFQ9dS5jbGVhblJlY3Vyc2l2ZWx5LEU9dS5jcmVhdGVFbGVtZW50LEw9dS5jc3Msaj11LmRlZmluZWQsRD11LmRpc2NhcmRFbGVtZW50LEk9dS5lcmFzZSx6PXUuZXJyb3IsQj11LmV4dGVuZCxSPXUuZmluZCxOPXUuZmlyZUV2ZW50LEc9dS5nZXRTdHlsZSxGPXUuaXNBcnJheSxIPXUuaXNOdW1iZXIsVz11LmlzT2JqZWN0LFU9dS5pc1N0cmluZyxYPXUubWVyZ2UsVj11Lm9iamVjdEVhY2gsWT11LnBpY2ssJD11LnBJbnQsSz11LnJlbGF0aXZlTGVuZ3RoLFo9dS5yZW1vdmVFdmVudCxxPXUuc3BsYXQsSj11LnN5bmNUaW1lb3V0LFE9dS51bmlxdWVLZXk7cmV0dXJuIHQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQsZSxpKXt0aGlzLnNlcmllcz10aGlzLnJlbmRlclRvPXRoaXMucmVuZGVyZXI9dGhpcy5wb2ludGVyPXRoaXMucG9pbnRDb3VudD10aGlzLnBsb3RXaWR0aD10aGlzLnBsb3RUb3A9dGhpcy5wbG90TGVmdD10aGlzLnBsb3RIZWlnaHQ9dGhpcy5wbG90Qm94PXRoaXMub3B0aW9ucz10aGlzLm51bWJlckZvcm1hdHRlcj10aGlzLm1hcmdpbj10aGlzLmxlZ2VuZD10aGlzLmxhYmVsQ29sbGVjdG9ycz10aGlzLmlzUmVzaXppbmc9dGhpcy5pbmRleD10aGlzLmV2ZW50T3B0aW9ucz10aGlzLmNvbnRhaW5lcj10aGlzLmNvbG9yQ291bnRlcj10aGlzLmNsaXBCb3g9dGhpcy5jaGFydFdpZHRoPXRoaXMuY2hhcnRIZWlnaHQ9dGhpcy5ib3VuZHM9dGhpcy5heGlzT2Zmc2V0PXRoaXMuYXhlcz12b2lkIDAsdGhpcy5zaGFyZWRDbGlwcz17fSx0aGlzLnlBeGlzPXRoaXMueEF4aXM9dGhpcy51c2VyT3B0aW9ucz10aGlzLnRpdGxlT2Zmc2V0PXRoaXMudGltZT10aGlzLnN5bWJvbENvdW50ZXI9dGhpcy5zcGFjaW5nQm94PXRoaXMuc3BhY2luZz12b2lkIDAsdGhpcy5nZXRBcmdzKHQsZSxpKX1yZXR1cm4gdC5jaGFydD1mdW5jdGlvbihlLGksbil7cmV0dXJuIG5ldyB0KGUsaSxuKX0sdC5wcm90b3R5cGUuZ2V0QXJncz1mdW5jdGlvbih0LGUsaSl7VSh0KXx8dC5ub2RlTmFtZT8odGhpcy5yZW5kZXJUbz10LHRoaXMuaW5pdChlLGkpKTp0aGlzLmluaXQodCxlKX0sdC5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbih0LGUpe3ZhciBpPXQucGxvdE9wdGlvbnN8fHt9O04odGhpcywiaW5pdCIse2FyZ3M6YXJndW1lbnRzfSwoZnVuY3Rpb24oKXt2YXIgbj1YKFMsdCksbz1uLmNoYXJ0O1Yobi5wbG90T3B0aW9ucywoZnVuY3Rpb24odCxlKXtXKHQpJiYodC50b29sdGlwPWlbZV0mJlgoaVtlXS50b29sdGlwKXx8dm9pZCAwKX0pKSxuLnRvb2x0aXAudXNlck9wdGlvbnM9dC5jaGFydCYmdC5jaGFydC5mb3JFeHBvcnQmJnQudG9vbHRpcC51c2VyT3B0aW9uc3x8dC50b29sdGlwLHRoaXMudXNlck9wdGlvbnM9dCx0aGlzLm1hcmdpbj1bXSx0aGlzLnNwYWNpbmc9W10sdGhpcy5ib3VuZHM9e2g6e30sdjp7fX0sdGhpcy5sYWJlbENvbGxlY3RvcnM9W10sdGhpcy5jYWxsYmFjaz1lLHRoaXMuaXNSZXNpemluZz0wLHRoaXMub3B0aW9ucz1uLHRoaXMuYXhlcz1bXSx0aGlzLnNlcmllcz1bXSx0aGlzLnRpbWU9dC50aW1lJiZPYmplY3Qua2V5cyh0LnRpbWUpLmxlbmd0aD9uZXcgZCh0LnRpbWUpOnIudGltZSx0aGlzLm51bWJlckZvcm1hdHRlcj1vLm51bWJlckZvcm1hdHRlcnx8eSx0aGlzLnN0eWxlZE1vZGU9by5zdHlsZWRNb2RlLHRoaXMuaGFzQ2FydGVzaWFuU2VyaWVzPW8uc2hvd0F4ZXMsdGhpcy5pbmRleD1iLmxlbmd0aCxiLnB1c2godGhpcyksci5jaGFydENvdW50KyssXyh0aGlzLG8pLHRoaXMueEF4aXM9W10sdGhpcy55QXhpcz1bXSx0aGlzLnBvaW50Q291bnQ9dGhpcy5jb2xvckNvdW50ZXI9dGhpcy5zeW1ib2xDb3VudGVyPTAsTih0aGlzLCJhZnRlckluaXQiKSx0aGlzLmZpcnN0UmVuZGVyKCl9KSl9LHQucHJvdG90eXBlLmluaXRTZXJpZXM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5vcHRpb25zLmNoYXJ0O2U9dC50eXBlfHxlLnR5cGV8fGUuZGVmYXVsdFNlcmllc1R5cGU7dmFyIGk9TVtlXTtyZXR1cm4gaXx8eigxNywhMCx0aGlzLHttaXNzaW5nTW9kdWxlRm9yOmV9KSxlPW5ldyBpLCJmdW5jdGlvbiI9PT10eXBlb2YgZS5pbml0JiZlLmluaXQodGhpcyx0KSxlfSx0LnByb3RvdHlwZS5zZXRTZXJpZXNEYXRhPWZ1bmN0aW9uKCl7dGhpcy5nZXRTZXJpZXNPcmRlckJ5TGlua3MoKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnBvaW50c3x8dC5kYXRhfHwhdC5lbmFibGVkRGF0YVNvcnRpbmd8fHQuc2V0RGF0YSh0Lm9wdGlvbnMuZGF0YSwhMSl9KSl9LHQucHJvdG90eXBlLmdldFNlcmllc09yZGVyQnlMaW5rcz1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNlcmllcy5jb25jYXQoKS5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0LmxpbmtlZFNlcmllcy5sZW5ndGh8fGUubGlua2VkU2VyaWVzLmxlbmd0aD9lLmxpbmtlZFNlcmllcy5sZW5ndGgtdC5saW5rZWRTZXJpZXMubGVuZ3RoOjB9KSl9LHQucHJvdG90eXBlLm9yZGVyU2VyaWVzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuc2VyaWVzO3Q9dHx8MDtmb3IodmFyIGk9ZS5sZW5ndGg7dDxpOysrdCllW3RdJiYoZVt0XS5pbmRleD10LGVbdF0ubmFtZT1lW3RdLmdldE5hbWUoKSl9LHQucHJvdG90eXBlLmlzSW5zaWRlUGxvdD1mdW5jdGlvbih0LGUsaSl7dm9pZCAwPT09aSYmKGk9e30pO3ZhciBuPXRoaXMuaW52ZXJ0ZWQscj10aGlzLnBsb3RCb3gsbz10aGlzLnBsb3RMZWZ0LGE9dGhpcy5wbG90VG9wLHM9dGhpcy5zY3JvbGxhYmxlUGxvdEJveCxjPTAsaD0wO2kudmlzaWJsZVBsb3RPbmx5JiZ0aGlzLnNjcm9sbGluZ0NvbnRhaW5lciYmKGg9dGhpcy5zY3JvbGxpbmdDb250YWluZXIsYz1oLnNjcm9sbExlZnQsaD1oLnNjcm9sbFRvcCk7dmFyIGw9aS5zZXJpZXM7aWYocj1pLnZpc2libGVQbG90T25seSYmc3x8cixzPWkuaW52ZXJ0ZWQ/ZTp0LGU9aS5pbnZlcnRlZD90OmUsdD17eDpzLHk6ZSxpc0luc2lkZVBsb3Q6ITB9LCFpLmlnbm9yZVgpe3ZhciBwPWwmJihuP2wueUF4aXM6bC54QXhpcyl8fHtwb3M6byxsZW46MS8wfTtzPWkucGFuZUNvb3JkaW5hdGVzP3AucG9zK3M6bytzLHM+PU1hdGgubWF4KGMrbyxwLnBvcykmJnM8PU1hdGgubWluKGMrbytyLndpZHRoLHAucG9zK3AubGVuKXx8KHQuaXNJbnNpZGVQbG90PSExKX1yZXR1cm4haS5pZ25vcmVZJiZ0LmlzSW5zaWRlUGxvdCYmKG49bCYmKG4/bC54QXhpczpsLnlBeGlzKXx8e3BvczphLGxlbjoxLzB9LGk9aS5wYW5lQ29vcmRpbmF0ZXM/bi5wb3MrZTphK2UsaT49TWF0aC5tYXgoaCthLG4ucG9zKSYmaTw9TWF0aC5taW4oaCthK3IuaGVpZ2h0LG4ucG9zK24ubGVuKXx8KHQuaXNJbnNpZGVQbG90PSExKSksTih0aGlzLCJhZnRlcklzSW5zaWRlUGxvdCIsdCksdC5pc0luc2lkZVBsb3R9LHQucHJvdG90eXBlLnJlZHJhdz1mdW5jdGlvbih0KXtOKHRoaXMsImJlZm9yZVJlZHJhdyIpO3ZhciBlPXRoaXMuaGFzQ2FydGVzaWFuU2VyaWVzP3RoaXMuYXhlczp0aGlzLmNvbG9yQXhpc3x8W10saT10aGlzLnNlcmllcyxuPXRoaXMucG9pbnRlcixyPXRoaXMubGVnZW5kLG89dGhpcy51c2VyT3B0aW9ucy5sZWdlbmQsYT10aGlzLnJlbmRlcmVyLHM9YS5pc0hpZGRlbigpLGM9W10saD10aGlzLmlzRGlydHlCb3gsbD10aGlzLmlzRGlydHlMZWdlbmQ7Zm9yKHRoaXMuc2V0UmVzcG9uc2l2ZSYmdGhpcy5zZXRSZXNwb25zaXZlKCExKSx2KCEhdGhpcy5oYXNSZW5kZXJlZCYmdCx0aGlzKSxzJiZ0aGlzLnRlbXBvcmFyeURpc3BsYXkoKSx0aGlzLmxheU91dFRpdGxlcygpLHQ9aS5sZW5ndGg7dC0tOyl7dmFyIHA9aVt0XTtpZihwLm9wdGlvbnMuc3RhY2tpbmd8fHAub3B0aW9ucy5jZW50ZXJJbkNhdGVnb3J5KXt2YXIgZD0hMDtpZihwLmlzRGlydHkpe3ZhciB1PSEwO2JyZWFrfX19aWYodSlmb3IodD1pLmxlbmd0aDt0LS07KXA9aVt0XSxwLm9wdGlvbnMuc3RhY2tpbmcmJihwLmlzRGlydHk9ITApO2kuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5pc0RpcnR5JiYoInBvaW50Ij09PXQub3B0aW9ucy5sZWdlbmRUeXBlPygiZnVuY3Rpb24iPT09dHlwZW9mIHQudXBkYXRlVG90YWxzJiZ0LnVwZGF0ZVRvdGFscygpLGw9ITApOm8mJihvLmxhYmVsRm9ybWF0dGVyfHxvLmxhYmVsRm9ybWF0KSYmKGw9ITApKSx0LmlzRGlydHlEYXRhJiZOKHQsInVwZGF0ZWREYXRhIil9KSksbCYmciYmci5vcHRpb25zLmVuYWJsZWQmJihyLnJlbmRlcigpLHRoaXMuaXNEaXJ0eUxlZ2VuZD0hMSksZCYmdGhpcy5nZXRTdGFja3MoKSxlLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QudXBkYXRlTmFtZXMoKSx0LnNldFNjYWxlKCl9KSksdGhpcy5nZXRNYXJnaW5zKCksZS5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmlzRGlydHkmJihoPSEwKX0pKSxlLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlPXQubWluKyIsIit0Lm1heDt0LmV4dEtleSE9PWUmJih0LmV4dEtleT1lLGMucHVzaCgoZnVuY3Rpb24oKXtOKHQsImFmdGVyU2V0RXh0cmVtZXMiLEIodC5ldmVudEFyZ3MsdC5nZXRFeHRyZW1lcygpKSksZGVsZXRlIHQuZXZlbnRBcmdzfSkpKSwoaHx8ZCkmJnQucmVkcmF3KCl9KSksaCYmdGhpcy5kcmF3Q2hhcnRCb3goKSxOKHRoaXMsInByZWRyYXciKSxpLmZvckVhY2goKGZ1bmN0aW9uKHQpeyhofHx0LmlzRGlydHkpJiZ0LnZpc2libGUmJnQucmVkcmF3KCksdC5pc0RpcnR5RGF0YT0hMX0pKSxuJiZuLnJlc2V0KCEwKSxhLmRyYXcoKSxOKHRoaXMsInJlZHJhdyIpLE4odGhpcywicmVuZGVyIikscyYmdGhpcy50ZW1wb3JhcnlEaXNwbGF5KCEwKSxjLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuY2FsbCgpfSkpfSx0LnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShlKXtyZXR1cm4gZS5pZD09PXR8fGUub3B0aW9ucyYmZS5vcHRpb25zLmlkPT09dH1mb3IodmFyIGk9dGhpcy5zZXJpZXMsbj1SKHRoaXMuYXhlcyxlKXx8Uih0aGlzLnNlcmllcyxlKSxyPTA7IW4mJnI8aS5sZW5ndGg7cisrKW49UihpW3JdLnBvaW50c3x8W10sZSk7cmV0dXJuIG59LHQucHJvdG90eXBlLmdldEF4ZXM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGk9dGhpcy5vcHRpb25zLG49aS54QXhpcz1xKGkueEF4aXN8fHt9KTtpPWkueUF4aXM9cShpLnlBeGlzfHx7fSksTih0aGlzLCJnZXRBeGVzIiksbi5mb3JFYWNoKChmdW5jdGlvbih0LGUpe3QuaW5kZXg9ZSx0LmlzWD0hMH0pKSxpLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dC5pbmRleD1lfSkpLG4uY29uY2F0KGkpLmZvckVhY2goKGZ1bmN0aW9uKGkpe25ldyBlKHQsaSl9KSksTih0aGlzLCJhZnRlckdldEF4ZXMiKX0sdC5wcm90b3R5cGUuZ2V0U2VsZWN0ZWRQb2ludHM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZXJpZXMucmVkdWNlKChmdW5jdGlvbih0LGUpe3JldHVybiBlLmdldFBvaW50c0NvbGxlY3Rpb24oKS5mb3JFYWNoKChmdW5jdGlvbihlKXtZKGUuc2VsZWN0ZWRTdGFnaW5nLGUuc2VsZWN0ZWQpJiZ0LnB1c2goZSl9KSksdH0pLFtdKX0sdC5wcm90b3R5cGUuZ2V0U2VsZWN0ZWRTZXJpZXM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5zZXJpZXMuZmlsdGVyKChmdW5jdGlvbih0KXtyZXR1cm4gdC5zZWxlY3RlZH0pKX0sdC5wcm90b3R5cGUuc2V0VGl0bGU9ZnVuY3Rpb24odCxlLGkpe3RoaXMuYXBwbHlEZXNjcmlwdGlvbigidGl0bGUiLHQpLHRoaXMuYXBwbHlEZXNjcmlwdGlvbigic3VidGl0bGUiLGUpLHRoaXMuYXBwbHlEZXNjcmlwdGlvbigiY2FwdGlvbiIsdm9pZCAwKSx0aGlzLmxheU91dFRpdGxlcyhpKX0sdC5wcm90b3R5cGUuYXBwbHlEZXNjcmlwdGlvbj1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMsbj0idGl0bGUiPT09dD97Y29sb3I6IiMzMzMzMzMiLGZvbnRTaXplOnRoaXMub3B0aW9ucy5pc1N0b2NrPyIxNnB4IjoiMThweCJ9Ontjb2xvcjoiIzY2NjY2NiJ9O249dGhpcy5vcHRpb25zW3RdPVgoIXRoaXMuc3R5bGVkTW9kZSYme3N0eWxlOm59LHRoaXMub3B0aW9uc1t0XSxlKTt2YXIgcj10aGlzW3RdO3ImJmUmJih0aGlzW3RdPXI9ci5kZXN0cm95KCkpLG4mJiFyJiYocj10aGlzLnJlbmRlcmVyLnRleHQobi50ZXh0LDAsMCxuLnVzZUhUTUwpLmF0dHIoe2FsaWduOm4uYWxpZ24sY2xhc3M6ImhpZ2hjaGFydHMtIit0LHpJbmRleDpuLnpJbmRleHx8NH0pLmFkZCgpLHIudXBkYXRlPWZ1bmN0aW9uKGUpe2lbe3RpdGxlOiJzZXRUaXRsZSIsc3VidGl0bGU6InNldFN1YnRpdGxlIixjYXB0aW9uOiJzZXRDYXB0aW9uIn1bdF1dKGUpfSx0aGlzLnN0eWxlZE1vZGV8fHIuY3NzKG4uc3R5bGUpLHRoaXNbdF09cil9LHQucHJvdG90eXBlLmxheU91dFRpdGxlcz1mdW5jdGlvbih0KXt2YXIgZT1bMCwwLDBdLGk9dGhpcy5yZW5kZXJlcixuPXRoaXMuc3BhY2luZ0JveDtbInRpdGxlIiwic3VidGl0bGUiLCJjYXB0aW9uIl0uZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIHIsbz10aGlzW3RdLGE9dGhpcy5vcHRpb25zW3RdLHM9YS52ZXJ0aWNhbEFsaWdufHwidG9wIjtpZih0PSJ0aXRsZSI9PT10PyJ0b3AiPT09cz8tMzowOiJ0b3AiPT09cz9lWzBdKzI6MCxvKXt0aGlzLnN0eWxlZE1vZGV8fChyPWEuc3R5bGUmJmEuc3R5bGUuZm9udFNpemUpLHI9aS5mb250TWV0cmljcyhyLG8pLmIsby5jc3Moe3dpZHRoOihhLndpZHRofHxuLndpZHRoKyhhLndpZHRoQWRqdXN0fHwwKSkrInB4In0pO3ZhciBjPU1hdGgucm91bmQoby5nZXRCQm94KGEudXNlSFRNTCkuaGVpZ2h0KTtvLmFsaWduKEIoe3k6ImJvdHRvbSI9PT1zP3I6dCtyLGhlaWdodDpjfSxhKSwhMSwic3BhY2luZ0JveCIpLGEuZmxvYXRpbmd8fCgidG9wIj09PXM/ZVswXT1NYXRoLmNlaWwoZVswXStjKToiYm90dG9tIj09PXMmJihlWzJdPU1hdGguY2VpbChlWzJdK2MpKSl9fSksdGhpcyksZVswXSYmInRvcCI9PT0odGhpcy5vcHRpb25zLnRpdGxlLnZlcnRpY2FsQWxpZ258fCJ0b3AiKSYmKGVbMF0rPXRoaXMub3B0aW9ucy50aXRsZS5tYXJnaW4pLGVbMl0mJiJib3R0b20iPT09dGhpcy5vcHRpb25zLmNhcHRpb24udmVydGljYWxBbGlnbiYmKGVbMl0rPXRoaXMub3B0aW9ucy5jYXB0aW9uLm1hcmdpbik7dmFyIHI9IXRoaXMudGl0bGVPZmZzZXR8fHRoaXMudGl0bGVPZmZzZXQuam9pbigiLCIpIT09ZS5qb2luKCIsIik7dGhpcy50aXRsZU9mZnNldD1lLE4odGhpcywiYWZ0ZXJMYXlPdXRUaXRsZXMiKSwhdGhpcy5pc0RpcnR5Qm94JiZyJiYodGhpcy5pc0RpcnR5Qm94PXRoaXMuaXNEaXJ0eUxlZ2VuZD1yLHRoaXMuaGFzUmVuZGVyZWQmJlkodCwhMCkmJnRoaXMuaXNEaXJ0eUJveCYmdGhpcy5yZWRyYXcoKSl9LHQucHJvdG90eXBlLmdldENoYXJ0U2l6ZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5jaGFydCxlPXQud2lkdGg7dD10LmhlaWdodDt2YXIgaT10aGlzLnJlbmRlclRvO2ooZSl8fCh0aGlzLmNvbnRhaW5lcldpZHRoPUcoaSwid2lkdGgiKSksaih0KXx8KHRoaXMuY29udGFpbmVySGVpZ2h0PUcoaSwiaGVpZ2h0IikpLHRoaXMuY2hhcnRXaWR0aD1NYXRoLm1heCgwLGV8fHRoaXMuY29udGFpbmVyV2lkdGh8fDYwMCksdGhpcy5jaGFydEhlaWdodD1NYXRoLm1heCgwLEsodCx0aGlzLmNoYXJ0V2lkdGgpfHwoMTx0aGlzLmNvbnRhaW5lckhlaWdodD90aGlzLmNvbnRhaW5lckhlaWdodDo0MDApKX0sdC5wcm90b3R5cGUudGVtcG9yYXJ5RGlzcGxheT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnJlbmRlclRvO2lmKHQpZm9yKDtlJiZlLnN0eWxlOyllLmhjT3JpZ1N0eWxlJiYoTChlLGUuaGNPcmlnU3R5bGUpLGRlbGV0ZSBlLmhjT3JpZ1N0eWxlKSxlLmhjT3JpZ0RldGFjaGVkJiYoeC5ib2R5LnJlbW92ZUNoaWxkKGUpLGUuaGNPcmlnRGV0YWNoZWQ9ITEpLGU9ZS5wYXJlbnROb2RlO2Vsc2UgZm9yKDtlJiZlLnN0eWxlOylpZih4LmJvZHkuY29udGFpbnMoZSl8fGUucGFyZW50Tm9kZXx8KGUuaGNPcmlnRGV0YWNoZWQ9ITAseC5ib2R5LmFwcGVuZENoaWxkKGUpKSwoIm5vbmUiPT09RyhlLCJkaXNwbGF5IiwhMSl8fGUuaGNPcmljRGV0YWNoZWQpJiYoZS5oY09yaWdTdHlsZT17ZGlzcGxheTplLnN0eWxlLmRpc3BsYXksaGVpZ2h0OmUuc3R5bGUuaGVpZ2h0LG92ZXJmbG93OmUuc3R5bGUub3ZlcmZsb3d9LHQ9e2Rpc3BsYXk6ImJsb2NrIixvdmVyZmxvdzoiaGlkZGVuIn0sZSE9PXRoaXMucmVuZGVyVG8mJih0LmhlaWdodD0wKSxMKGUsdCksZS5vZmZzZXRXaWR0aHx8ZS5zdHlsZS5zZXRQcm9wZXJ0eSgiZGlzcGxheSIsImJsb2NrIiwiaW1wb3J0YW50IikpLGU9ZS5wYXJlbnROb2RlLGU9PT14LmJvZHkpYnJlYWt9LHQucHJvdG90eXBlLnNldENsYXNzTmFtZT1mdW5jdGlvbih0KXt0aGlzLmNvbnRhaW5lci5jbGFzc05hbWU9ImhpZ2hjaGFydHMtY29udGFpbmVyICIrKHR8fCIiKX0sdC5wcm90b3R5cGUuZ2V0Q29udGFpbmVyPWZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLm9wdGlvbnMsaT1lLmNoYXJ0LG49USgpLHI9dGhpcy5yZW5kZXJUbztyfHwodGhpcy5yZW5kZXJUbz1yPWkucmVuZGVyVG8pLFUocikmJih0aGlzLnJlbmRlclRvPXI9eC5nZXRFbGVtZW50QnlJZChyKSkscnx8eigxMywhMCx0aGlzKTt2YXIgbz0kKE8ociwiZGF0YS1oaWdoY2hhcnRzLWNoYXJ0IikpO0gobykmJmJbb10mJmJbb10uaGFzUmVuZGVyZWQmJmJbb10uZGVzdHJveSgpLE8ociwiZGF0YS1oaWdoY2hhcnRzLWNoYXJ0Iix0aGlzLmluZGV4KSxyLmlubmVySFRNTD1mLmVtcHR5SFRNTCxpLnNraXBDbG9uZXx8ci5vZmZzZXRXaWR0aHx8dGhpcy50ZW1wb3JhcnlEaXNwbGF5KCksdGhpcy5nZXRDaGFydFNpemUoKSxvPXRoaXMuY2hhcnRXaWR0aDt2YXIgYT10aGlzLmNoYXJ0SGVpZ2h0O2lmKEwocix7b3ZlcmZsb3c6ImhpZGRlbiJ9KSx0aGlzLnN0eWxlZE1vZGV8fCh0PUIoe3Bvc2l0aW9uOiJyZWxhdGl2ZSIsb3ZlcmZsb3c6ImhpZGRlbiIsd2lkdGg6bysicHgiLGhlaWdodDphKyJweCIsdGV4dEFsaWduOiJsZWZ0IixsaW5lSGVpZ2h0OiJub3JtYWwiLHpJbmRleDowLCItd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3IiOiJyZ2JhKDAsMCwwLDApIix1c2VyU2VsZWN0OiJub25lIiwidG91Y2gtYWN0aW9uIjoibWFuaXB1bGF0aW9uIixvdXRsaW5lOiJub25lIn0saS5zdHlsZXx8e30pKSx0aGlzLmNvbnRhaW5lcj1uPUUoImRpdiIse2lkOm59LHQsciksdGhpcy5fY3Vyc29yPW4uc3R5bGUuY3Vyc29yLHRoaXMucmVuZGVyZXI9bmV3KGkucmVuZGVyZXJ8fCFrP2guZ2V0UmVuZGVyZXJUeXBlKGkucmVuZGVyZXIpOnApKG4sbyxhLHZvaWQgMCxpLmZvckV4cG9ydCxlLmV4cG9ydGluZyYmZS5leHBvcnRpbmcuYWxsb3dIVE1MLHRoaXMuc3R5bGVkTW9kZSksdih2b2lkIDAsdGhpcyksdGhpcy5zZXRDbGFzc05hbWUoaS5jbGFzc05hbWUpLHRoaXMuc3R5bGVkTW9kZSlmb3IodmFyIHMgaW4gZS5kZWZzKXRoaXMucmVuZGVyZXIuZGVmaW5pdGlvbihlLmRlZnNbc10pO2Vsc2UgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShpLnN0eWxlKTt0aGlzLnJlbmRlcmVyLmNoYXJ0SW5kZXg9dGhpcy5pbmRleCxOKHRoaXMsImFmdGVyR2V0Q29udGFpbmVyIil9LHQucHJvdG90eXBlLmdldE1hcmdpbnM9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5zcGFjaW5nLGk9dGhpcy5tYXJnaW4sbj10aGlzLnRpdGxlT2Zmc2V0O3RoaXMucmVzZXRNYXJnaW5zKCksblswXSYmIWooaVswXSkmJih0aGlzLnBsb3RUb3A9TWF0aC5tYXgodGhpcy5wbG90VG9wLG5bMF0rZVswXSkpLG5bMl0mJiFqKGlbMl0pJiYodGhpcy5tYXJnaW5Cb3R0b209TWF0aC5tYXgodGhpcy5tYXJnaW5Cb3R0b20sblsyXStlWzJdKSksdGhpcy5sZWdlbmQmJnRoaXMubGVnZW5kLmRpc3BsYXkmJnRoaXMubGVnZW5kLmFkanVzdE1hcmdpbnMoaSxlKSxOKHRoaXMsImdldE1hcmdpbnMiKSx0fHx0aGlzLmdldEF4aXNNYXJnaW5zKCl9LHQucHJvdG90eXBlLmdldEF4aXNNYXJnaW5zPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuYXhpc09mZnNldD1bMCwwLDAsMF0saT10LmNvbG9yQXhpcyxuPXQubWFyZ2luLHI9ZnVuY3Rpb24odCl7dC5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnZpc2libGUmJnQuZ2V0T2Zmc2V0KCl9KSl9O3QuaGFzQ2FydGVzaWFuU2VyaWVzP3IodC5heGVzKTppJiZpLmxlbmd0aCYmcihpKSx3LmZvckVhY2goKGZ1bmN0aW9uKGkscil7aihuW3JdKXx8KHRbaV0rPWVbcl0pfSkpLHQuc2V0Q2hhcnRTaXplKCl9LHQucHJvdG90eXBlLnJlZmxvdz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLGk9ZS5vcHRpb25zLmNoYXJ0LG49ZS5yZW5kZXJUbyxyPWooaS53aWR0aCkmJmooaS5oZWlnaHQpLG89aS53aWR0aHx8RyhuLCJ3aWR0aCIpO2k9aS5oZWlnaHR8fEcobiwiaGVpZ2h0Iiksbj10P3QudGFyZ2V0OkMsZGVsZXRlIGUucG9pbnRlci5jaGFydFBvc2l0aW9uLHJ8fGUuaXNQcmludGluZ3x8IW98fCFpfHxuIT09QyYmbiE9PXh8fChvPT09ZS5jb250YWluZXJXaWR0aCYmaT09PWUuY29udGFpbmVySGVpZ2h0fHwodS5jbGVhclRpbWVvdXQoZS5yZWZsb3dUaW1lb3V0KSxlLnJlZmxvd1RpbWVvdXQ9SigoZnVuY3Rpb24oKXtlLmNvbnRhaW5lciYmZS5zZXRTaXplKHZvaWQgMCx2b2lkIDAsITEpfSksdD8xMDA6MCkpLGUuY29udGFpbmVyV2lkdGg9byxlLmNvbnRhaW5lckhlaWdodD1pKX0sdC5wcm90b3R5cGUuc2V0UmVmbG93PWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXM7ITE9PT10fHx0aGlzLnVuYmluZFJlZmxvdz8hMT09PXQmJnRoaXMudW5iaW5kUmVmbG93JiYodGhpcy51bmJpbmRSZWZsb3c9dGhpcy51bmJpbmRSZWZsb3coKSk6KHRoaXMudW5iaW5kUmVmbG93PVAoQywicmVzaXplIiwoZnVuY3Rpb24odCl7ZS5vcHRpb25zJiZlLnJlZmxvdyh0KX0pKSxQKHRoaXMsImRlc3Ryb3kiLHRoaXMudW5iaW5kUmVmbG93KSl9LHQucHJvdG90eXBlLnNldFNpemU9ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXRoaXMscj1uLnJlbmRlcmVyO24uaXNSZXNpemluZys9MSx2KGksbiksaT1yLmdsb2JhbEFuaW1hdGlvbixuLm9sZENoYXJ0SGVpZ2h0PW4uY2hhcnRIZWlnaHQsbi5vbGRDaGFydFdpZHRoPW4uY2hhcnRXaWR0aCwidW5kZWZpbmVkIiE9PXR5cGVvZiB0JiYobi5vcHRpb25zLmNoYXJ0LndpZHRoPXQpLCJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJihuLm9wdGlvbnMuY2hhcnQuaGVpZ2h0PWUpLG4uZ2V0Q2hhcnRTaXplKCksbi5zdHlsZWRNb2RlfHwoaT9tOkwpKG4uY29udGFpbmVyLHt3aWR0aDpuLmNoYXJ0V2lkdGgrInB4IixoZWlnaHQ6bi5jaGFydEhlaWdodCsicHgifSxpKSxuLnNldENoYXJ0U2l6ZSghMCksci5zZXRTaXplKG4uY2hhcnRXaWR0aCxuLmNoYXJ0SGVpZ2h0LGkpLG4uYXhlcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmlzRGlydHk9ITAsdC5zZXRTY2FsZSgpfSkpLG4uaXNEaXJ0eUxlZ2VuZD0hMCxuLmlzRGlydHlCb3g9ITAsbi5sYXlPdXRUaXRsZXMoKSxuLmdldE1hcmdpbnMoKSxuLnJlZHJhdyhpKSxuLm9sZENoYXJ0SGVpZ2h0PW51bGwsTihuLCJyZXNpemUiKSxKKChmdW5jdGlvbigpe24mJk4obiwiZW5kUmVzaXplIixudWxsLChmdW5jdGlvbigpey0tbi5pc1Jlc2l6aW5nfSkpfSksZyhpKS5kdXJhdGlvbil9LHQucHJvdG90eXBlLnNldENoYXJ0U2l6ZT1mdW5jdGlvbih0KXt2YXIgZSxpLG4scixvPXRoaXMuaW52ZXJ0ZWQsYT10aGlzLnJlbmRlcmVyLHM9dGhpcy5jaGFydFdpZHRoLGM9dGhpcy5jaGFydEhlaWdodCxoPXRoaXMub3B0aW9ucy5jaGFydCxsPXRoaXMuc3BhY2luZyxwPXRoaXMuY2xpcE9mZnNldDt0aGlzLnBsb3RMZWZ0PWU9TWF0aC5yb3VuZCh0aGlzLnBsb3RMZWZ0KSx0aGlzLnBsb3RUb3A9aT1NYXRoLnJvdW5kKHRoaXMucGxvdFRvcCksdGhpcy5wbG90V2lkdGg9bj1NYXRoLm1heCgwLE1hdGgucm91bmQocy1lLXRoaXMubWFyZ2luUmlnaHQpKSx0aGlzLnBsb3RIZWlnaHQ9cj1NYXRoLm1heCgwLE1hdGgucm91bmQoYy1pLXRoaXMubWFyZ2luQm90dG9tKSksdGhpcy5wbG90U2l6ZVg9bz9yOm4sdGhpcy5wbG90U2l6ZVk9bz9uOnIsdGhpcy5wbG90Qm9yZGVyV2lkdGg9aC5wbG90Qm9yZGVyV2lkdGh8fDAsdGhpcy5zcGFjaW5nQm94PWEuc3BhY2luZ0JveD17eDpsWzNdLHk6bFswXSx3aWR0aDpzLWxbM10tbFsxXSxoZWlnaHQ6Yy1sWzBdLWxbMl19LHRoaXMucGxvdEJveD1hLnBsb3RCb3g9e3g6ZSx5Omksd2lkdGg6bixoZWlnaHQ6cn0sbz0yKk1hdGguZmxvb3IodGhpcy5wbG90Qm9yZGVyV2lkdGgvMikscz1NYXRoLmNlaWwoTWF0aC5tYXgobyxwWzNdKS8yKSxjPU1hdGguY2VpbChNYXRoLm1heChvLHBbMF0pLzIpLHRoaXMuY2xpcEJveD17eDpzLHk6Yyx3aWR0aDpNYXRoLmZsb29yKHRoaXMucGxvdFNpemVYLU1hdGgubWF4KG8scFsxXSkvMi1zKSxoZWlnaHQ6TWF0aC5tYXgoMCxNYXRoLmZsb29yKHRoaXMucGxvdFNpemVZLU1hdGgubWF4KG8scFsyXSkvMi1jKSl9LHR8fCh0aGlzLmF4ZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5zZXRBeGlzU2l6ZSgpLHQuc2V0QXhpc1RyYW5zbGF0aW9uKCl9KSksYS5hbGlnbkVsZW1lbnRzKCkpLE4odGhpcywiYWZ0ZXJTZXRDaGFydFNpemUiLHtza2lwQXhlczp0fSl9LHQucHJvdG90eXBlLnJlc2V0TWFyZ2lucz1mdW5jdGlvbigpe04odGhpcywicmVzZXRNYXJnaW5zIik7dmFyIHQ9dGhpcyxlPXQub3B0aW9ucy5jaGFydDtbIm1hcmdpbiIsInNwYWNpbmciXS5mb3JFYWNoKChmdW5jdGlvbihpKXt2YXIgbj1lW2ldLHI9VyhuKT9uOltuLG4sbixuXTtbIlRvcCIsIlJpZ2h0IiwiQm90dG9tIiwiTGVmdCJdLmZvckVhY2goKGZ1bmN0aW9uKG4sbyl7dFtpXVtvXT1ZKGVbaStuXSxyW29dKX0pKX0pKSx3LmZvckVhY2goKGZ1bmN0aW9uKGUsaSl7dFtlXT1ZKHQubWFyZ2luW2ldLHQuc3BhY2luZ1tpXSl9KSksdC5heGlzT2Zmc2V0PVswLDAsMCwwXSx0LmNsaXBPZmZzZXQ9WzAsMCwwLDBdfSx0LnByb3RvdHlwZS5kcmF3Q2hhcnRCb3g9ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMub3B0aW9ucy5jaGFydCxpPXRoaXMucmVuZGVyZXIsbj10aGlzLmNoYXJ0V2lkdGgscj10aGlzLmNoYXJ0SGVpZ2h0LG89dGhpcy5zdHlsZWRNb2RlLGE9dGhpcy5wbG90QkdJbWFnZSxzPWUuYmFja2dyb3VuZENvbG9yLGM9ZS5wbG90QmFja2dyb3VuZENvbG9yLGg9ZS5wbG90QmFja2dyb3VuZEltYWdlLGw9dGhpcy5wbG90TGVmdCxwPXRoaXMucGxvdFRvcCxkPXRoaXMucGxvdFdpZHRoLHU9dGhpcy5wbG90SGVpZ2h0LGY9dGhpcy5wbG90Qm94LG09dGhpcy5jbGlwUmVjdCxnPXRoaXMuY2xpcEJveCx2PXRoaXMuY2hhcnRCYWNrZ3JvdW5kLHk9dGhpcy5wbG90QmFja2dyb3VuZCxfPXRoaXMucGxvdEJvcmRlcixiPSJhbmltYXRlIjtpZih2fHwodGhpcy5jaGFydEJhY2tncm91bmQ9dj1pLnJlY3QoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1iYWNrZ3JvdW5kIikuYWRkKCksYj0iYXR0ciIpLG8pdmFyIHg9dD12LnN0cm9rZVdpZHRoKCk7ZWxzZSB4PWUuYm9yZGVyV2lkdGh8fDAsdD14KyhlLnNoYWRvdz84OjApLHM9e2ZpbGw6c3x8Im5vbmUifSwoeHx8dlsic3Ryb2tlLXdpZHRoIl0pJiYocy5zdHJva2U9ZS5ib3JkZXJDb2xvcixzWyJzdHJva2Utd2lkdGgiXT14KSx2LmF0dHIocykuc2hhZG93KGUuc2hhZG93KTt2W2JdKHt4OnQvMix5OnQvMix3aWR0aDpuLXQteCUyLGhlaWdodDpyLXQteCUyLHI6ZS5ib3JkZXJSYWRpdXN9KSxiPSJhbmltYXRlIix5fHwoYj0iYXR0ciIsdGhpcy5wbG90QmFja2dyb3VuZD15PWkucmVjdCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXBsb3QtYmFja2dyb3VuZCIpLmFkZCgpKSx5W2JdKGYpLG98fCh5LmF0dHIoe2ZpbGw6Y3x8Im5vbmUifSkuc2hhZG93KGUucGxvdFNoYWRvdyksaCYmKGE/KGghPT1hLmF0dHIoImhyZWYiKSYmYS5hdHRyKCJocmVmIixoKSxhLmFuaW1hdGUoZikpOnRoaXMucGxvdEJHSW1hZ2U9aS5pbWFnZShoLGwscCxkLHUpLmFkZCgpKSksbT9tLmFuaW1hdGUoe3dpZHRoOmcud2lkdGgsaGVpZ2h0OmcuaGVpZ2h0fSk6dGhpcy5jbGlwUmVjdD1pLmNsaXBSZWN0KGcpLGI9ImFuaW1hdGUiLF98fChiPSJhdHRyIix0aGlzLnBsb3RCb3JkZXI9Xz1pLnJlY3QoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1wbG90LWJvcmRlciIpLmF0dHIoe3pJbmRleDoxfSkuYWRkKCkpLG98fF8uYXR0cih7c3Ryb2tlOmUucGxvdEJvcmRlckNvbG9yLCJzdHJva2Utd2lkdGgiOmUucGxvdEJvcmRlcldpZHRofHwwLGZpbGw6Im5vbmUifSksX1tiXShfLmNyaXNwKHt4OmwseTpwLHdpZHRoOmQsaGVpZ2h0OnV9LC1fLnN0cm9rZVdpZHRoKCkpKSx0aGlzLmlzRGlydHlCb3g9ITEsTih0aGlzLCJhZnRlckRyYXdDaGFydEJveCIpfSx0LnByb3RvdHlwZS5wcm9wRnJvbVNlcmllcz1mdW5jdGlvbigpe3ZhciB0LGUsaSxuPXRoaXMscj1uLm9wdGlvbnMuY2hhcnQsbz1uLm9wdGlvbnMuc2VyaWVzO1siaW52ZXJ0ZWQiLCJhbmd1bGFyIiwicG9sYXIiXS5mb3JFYWNoKChmdW5jdGlvbihhKXtmb3IoZT1NW3IudHlwZXx8ci5kZWZhdWx0U2VyaWVzVHlwZV0saT1yW2FdfHxlJiZlLnByb3RvdHlwZVthXSx0PW8mJm8ubGVuZ3RoOyFpJiZ0LS07KShlPU1bb1t0XS50eXBlXSkmJmUucHJvdG90eXBlW2FdJiYoaT0hMCk7blthXT1pfSkpfSx0LnByb3RvdHlwZS5saW5rU2VyaWVzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuc2VyaWVzO2UuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5saW5rZWRTZXJpZXMubGVuZ3RoPTB9KSksZS5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgaT1lLm9wdGlvbnMubGlua2VkVG87VShpKSYmKGk9IjpwcmV2aW91cyI9PT1pP3Quc2VyaWVzW2UuaW5kZXgtMV06dC5nZXQoaSkpJiZpLmxpbmtlZFBhcmVudCE9PWUmJihpLmxpbmtlZFNlcmllcy5wdXNoKGUpLGUubGlua2VkUGFyZW50PWksaS5lbmFibGVkRGF0YVNvcnRpbmcmJmUuc2V0RGF0YVNvcnRpbmdPcHRpb25zKCksZS52aXNpYmxlPVkoZS5vcHRpb25zLnZpc2libGUsaS5vcHRpb25zLnZpc2libGUsZS52aXNpYmxlKSl9KSksTih0aGlzLCJhZnRlckxpbmtTZXJpZXMiKX0sdC5wcm90b3R5cGUucmVuZGVyU2VyaWVzPWZ1bmN0aW9uKCl7dGhpcy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC50cmFuc2xhdGUoKSx0LnJlbmRlcigpfSkpfSx0LnByb3RvdHlwZS5yZW5kZXJMYWJlbHM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5vcHRpb25zLmxhYmVscztlLml0ZW1zJiZlLml0ZW1zLmZvckVhY2goKGZ1bmN0aW9uKGkpe3ZhciBuPUIoZS5zdHlsZSxpLnN0eWxlKSxyPSQobi5sZWZ0KSt0LnBsb3RMZWZ0LG89JChuLnRvcCkrdC5wbG90VG9wKzEyO2RlbGV0ZSBuLmxlZnQsZGVsZXRlIG4udG9wLHQucmVuZGVyZXIudGV4dChpLmh0bWwscixvKS5hdHRyKHt6SW5kZXg6Mn0pLmNzcyhuKS5hZGQoKX0pKX0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5heGVzLGU9dGhpcy5jb2xvckF4aXMsaT10aGlzLnJlbmRlcmVyLG49dGhpcy5vcHRpb25zLHI9ZnVuY3Rpb24odCl7dC5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnZpc2libGUmJnQucmVuZGVyKCl9KSl9LGE9MDt0aGlzLnNldFRpdGxlKCksdGhpcy5sZWdlbmQ9bmV3IG8odGhpcyxuLmxlZ2VuZCksdGhpcy5nZXRTdGFja3MmJnRoaXMuZ2V0U3RhY2tzKCksdGhpcy5nZXRNYXJnaW5zKCEwKSx0aGlzLnNldENoYXJ0U2l6ZSgpLG49dGhpcy5wbG90V2lkdGgsdC5zb21lKChmdW5jdGlvbih0KXtpZih0Lmhvcml6JiZ0LnZpc2libGUmJnQub3B0aW9ucy5sYWJlbHMuZW5hYmxlZCYmdC5zZXJpZXMubGVuZ3RoKXJldHVybiBhPTIxLCEwfSkpO3ZhciBzPXRoaXMucGxvdEhlaWdodD1NYXRoLm1heCh0aGlzLnBsb3RIZWlnaHQtYSwwKTt0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3Quc2V0U2NhbGUoKX0pKSx0aGlzLmdldEF4aXNNYXJnaW5zKCk7dmFyIGM9MS4xPG4vdGhpcy5wbG90V2lkdGgsaD0xLjA1PHMvdGhpcy5wbG90SGVpZ2h0OyhjfHxoKSYmKHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7KHQuaG9yaXomJmN8fCF0Lmhvcml6JiZoKSYmdC5zZXRUaWNrSW50ZXJ2YWwoITApfSkpLHRoaXMuZ2V0TWFyZ2lucygpKSx0aGlzLmRyYXdDaGFydEJveCgpLHRoaXMuaGFzQ2FydGVzaWFuU2VyaWVzP3IodCk6ZSYmZS5sZW5ndGgmJnIoZSksdGhpcy5zZXJpZXNHcm91cHx8KHRoaXMuc2VyaWVzR3JvdXA9aS5nKCJzZXJpZXMtZ3JvdXAiKS5hdHRyKHt6SW5kZXg6M30pLmFkZCgpKSx0aGlzLnJlbmRlclNlcmllcygpLHRoaXMucmVuZGVyTGFiZWxzKCksdGhpcy5hZGRDcmVkaXRzKCksdGhpcy5zZXRSZXNwb25zaXZlJiZ0aGlzLnNldFJlc3BvbnNpdmUoKSx0aGlzLmhhc1JlbmRlcmVkPSEwfSx0LnByb3RvdHlwZS5hZGRDcmVkaXRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsaT1YKCEwLHRoaXMub3B0aW9ucy5jcmVkaXRzLHQpO2kuZW5hYmxlZCYmIXRoaXMuY3JlZGl0cyYmKHRoaXMuY3JlZGl0cz10aGlzLnJlbmRlcmVyLnRleHQoaS50ZXh0Kyh0aGlzLm1hcENyZWRpdHN8fCIiKSwwLDApLmFkZENsYXNzKCJoaWdoY2hhcnRzLWNyZWRpdHMiKS5vbigiY2xpY2siLChmdW5jdGlvbigpe2kuaHJlZiYmKEMubG9jYXRpb24uaHJlZj1pLmhyZWYpfSkpLmF0dHIoe2FsaWduOmkucG9zaXRpb24uYWxpZ24sekluZGV4Ojh9KSxlLnN0eWxlZE1vZGV8fHRoaXMuY3JlZGl0cy5jc3MoaS5zdHlsZSksdGhpcy5jcmVkaXRzLmFkZCgpLmFsaWduKGkucG9zaXRpb24pLHRoaXMuY3JlZGl0cy51cGRhdGU9ZnVuY3Rpb24odCl7ZS5jcmVkaXRzPWUuY3JlZGl0cy5kZXN0cm95KCksZS5hZGRDcmVkaXRzKHQpfSl9LHQucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMsaT1lLmF4ZXMsbj1lLnNlcmllcyxvPWUuY29udGFpbmVyLGE9byYmby5wYXJlbnROb2RlO2ZvcihOKGUsImRlc3Ryb3kiKSxlLnJlbmRlcmVyLmZvckV4cG9ydD9JKGIsZSk6YltlLmluZGV4XT12b2lkIDAsci5jaGFydENvdW50LS0sZS5yZW5kZXJUby5yZW1vdmVBdHRyaWJ1dGUoImRhdGEtaGlnaGNoYXJ0cy1jaGFydCIpLFooZSksdD1pLmxlbmd0aDt0LS07KWlbdF09aVt0XS5kZXN0cm95KCk7Zm9yKHRoaXMuc2Nyb2xsZXImJnRoaXMuc2Nyb2xsZXIuZGVzdHJveSYmdGhpcy5zY3JvbGxlci5kZXN0cm95KCksdD1uLmxlbmd0aDt0LS07KW5bdF09blt0XS5kZXN0cm95KCk7InRpdGxlIHN1YnRpdGxlIGNoYXJ0QmFja2dyb3VuZCBwbG90QmFja2dyb3VuZCBwbG90QkdJbWFnZSBwbG90Qm9yZGVyIHNlcmllc0dyb3VwIGNsaXBSZWN0IGNyZWRpdHMgcG9pbnRlciByYW5nZVNlbGVjdG9yIGxlZ2VuZCByZXNldFpvb21CdXR0b24gdG9vbHRpcCByZW5kZXJlciIuc3BsaXQoIiAiKS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgaT1lW3RdO2kmJmkuZGVzdHJveSYmKGVbdF09aS5kZXN0cm95KCkpfSkpLG8mJihvLmlubmVySFRNTD1mLmVtcHR5SFRNTCxaKG8pLGEmJkQobykpLFYoZSwoZnVuY3Rpb24odCxpKXtkZWxldGUgZVtpXX0pKX0sdC5wcm90b3R5cGUuZmlyc3RSZW5kZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5vcHRpb25zO3QuaXNSZWFkeVRvUmVuZGVyJiYhdC5pc1JlYWR5VG9SZW5kZXIoKXx8KHQuZ2V0Q29udGFpbmVyKCksdC5yZXNldE1hcmdpbnMoKSx0LnNldENoYXJ0U2l6ZSgpLHQucHJvcEZyb21TZXJpZXMoKSx0LmdldEF4ZXMoKSwoRihlLnNlcmllcyk/ZS5zZXJpZXM6W10pLmZvckVhY2goKGZ1bmN0aW9uKGUpe3QuaW5pdFNlcmllcyhlKX0pKSx0LmxpbmtTZXJpZXMoKSx0LnNldFNlcmllc0RhdGEoKSxOKHQsImJlZm9yZVJlbmRlciIpLGMmJihhLmlzUmVxdWlyZWQoKT90LnBvaW50ZXI9bmV3IGEodCxlKTp0LnBvaW50ZXI9bmV3IGModCxlKSksdC5yZW5kZXIoKSx0LnBvaW50ZXIuZ2V0Q2hhcnRQb3NpdGlvbigpLHQucmVuZGVyZXIuaW1nQ291bnR8fHQuaGFzTG9hZGVkfHx0Lm9ubG9hZCgpLHQudGVtcG9yYXJ5RGlzcGxheSghMCkpfSx0LnByb3RvdHlwZS5vbmxvYWQ9ZnVuY3Rpb24oKXt0aGlzLmNhbGxiYWNrcy5jb25jYXQoW3RoaXMuY2FsbGJhY2tdKS5mb3JFYWNoKChmdW5jdGlvbih0KXt0JiYidW5kZWZpbmVkIiE9PXR5cGVvZiB0aGlzLmluZGV4JiZ0LmFwcGx5KHRoaXMsW3RoaXNdKX0pLHRoaXMpLE4odGhpcywibG9hZCIpLE4odGhpcywicmVuZGVyIiksaih0aGlzLmluZGV4KSYmdGhpcy5zZXRSZWZsb3codGhpcy5vcHRpb25zLmNoYXJ0LnJlZmxvdyksdGhpcy5oYXNMb2FkZWQ9ITB9LHQucHJvdG90eXBlLmFkZFNlcmllcz1mdW5jdGlvbih0LGUsaSl7dmFyIG4scj10aGlzO3JldHVybiB0JiYoZT1ZKGUsITApLE4ociwiYWRkU2VyaWVzIix7b3B0aW9uczp0fSwoZnVuY3Rpb24oKXtuPXIuaW5pdFNlcmllcyh0KSxyLmlzRGlydHlMZWdlbmQ9ITAsci5saW5rU2VyaWVzKCksbi5lbmFibGVkRGF0YVNvcnRpbmcmJm4uc2V0RGF0YSh0LmRhdGEsITEpLE4ociwiYWZ0ZXJBZGRTZXJpZXMiLHtzZXJpZXM6bn0pLGUmJnIucmVkcmF3KGkpfSkpKSxufSx0LnByb3RvdHlwZS5hZGRBeGlzPWZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0aGlzLmNyZWF0ZUF4aXMoZT8ieEF4aXMiOiJ5QXhpcyIse2F4aXM6dCxyZWRyYXc6aSxhbmltYXRpb246bn0pfSx0LnByb3RvdHlwZS5hZGRDb2xvckF4aXM9ZnVuY3Rpb24odCxlLGkpe3JldHVybiB0aGlzLmNyZWF0ZUF4aXMoImNvbG9yQXhpcyIse2F4aXM6dCxyZWRyYXc6ZSxhbmltYXRpb246aX0pfSx0LnByb3RvdHlwZS5jcmVhdGVBeGlzPWZ1bmN0aW9uKHQsaSl7cmV0dXJuIHQ9bmV3IGUodGhpcyxYKGkuYXhpcyx7aW5kZXg6dGhpc1t0XS5sZW5ndGgsaXNYOiJ4QXhpcyI9PT10fSkpLFkoaS5yZWRyYXcsITApJiZ0aGlzLnJlZHJhdyhpLmFuaW1hdGlvbiksdH0sdC5wcm90b3R5cGUuc2hvd0xvYWRpbmc9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPWUub3B0aW9ucyxuPWkubG9hZGluZyxyPWZ1bmN0aW9uKCl7byYmTChvLHtsZWZ0OmUucGxvdExlZnQrInB4Iix0b3A6ZS5wbG90VG9wKyJweCIsd2lkdGg6ZS5wbG90V2lkdGgrInB4IixoZWlnaHQ6ZS5wbG90SGVpZ2h0KyJweCJ9KX0sbz1lLmxvYWRpbmdEaXYsYT1lLmxvYWRpbmdTcGFuO298fChlLmxvYWRpbmdEaXY9bz1FKCJkaXYiLHtjbGFzc05hbWU6ImhpZ2hjaGFydHMtbG9hZGluZyBoaWdoY2hhcnRzLWxvYWRpbmctaGlkZGVuIn0sbnVsbCxlLmNvbnRhaW5lcikpLGF8fChlLmxvYWRpbmdTcGFuPWE9RSgic3BhbiIse2NsYXNzTmFtZToiaGlnaGNoYXJ0cy1sb2FkaW5nLWlubmVyIn0sbnVsbCxvKSxQKGUsInJlZHJhdyIscikpLG8uY2xhc3NOYW1lPSJoaWdoY2hhcnRzLWxvYWRpbmciLGYuc2V0RWxlbWVudEhUTUwoYSxZKHQsaS5sYW5nLmxvYWRpbmcsIiIpKSxlLnN0eWxlZE1vZGV8fChMKG8sQihuLnN0eWxlLHt6SW5kZXg6MTB9KSksTChhLG4ubGFiZWxTdHlsZSksZS5sb2FkaW5nU2hvd258fChMKG8se29wYWNpdHk6MCxkaXNwbGF5OiIifSksbShvLHtvcGFjaXR5Om4uc3R5bGUub3BhY2l0eXx8LjV9LHtkdXJhdGlvbjpuLnNob3dEdXJhdGlvbnx8MH0pKSksZS5sb2FkaW5nU2hvd249ITAscigpfSx0LnByb3RvdHlwZS5oaWRlTG9hZGluZz1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucyxlPXRoaXMubG9hZGluZ0RpdjtlJiYoZS5jbGFzc05hbWU9ImhpZ2hjaGFydHMtbG9hZGluZyBoaWdoY2hhcnRzLWxvYWRpbmctaGlkZGVuIix0aGlzLnN0eWxlZE1vZGV8fG0oZSx7b3BhY2l0eTowfSx7ZHVyYXRpb246dC5sb2FkaW5nLmhpZGVEdXJhdGlvbnx8MTAwLGNvbXBsZXRlOmZ1bmN0aW9uKCl7TChlLHtkaXNwbGF5OiJub25lIn0pfX0pKSx0aGlzLmxvYWRpbmdTaG93bj0hMX0sdC5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG8sYT10aGlzLHM9e2NyZWRpdHM6ImFkZENyZWRpdHMiLHRpdGxlOiJzZXRUaXRsZSIsc3VidGl0bGU6InNldFN1YnRpdGxlIixjYXB0aW9uOiJzZXRDYXB0aW9uIn0sYz10LmlzUmVzcG9uc2l2ZU9wdGlvbnMsaD1bXTtOKGEsInVwZGF0ZSIse29wdGlvbnM6dH0pLGN8fGEuc2V0UmVzcG9uc2l2ZSghMSwhMCksdD1UKHQsYS5vcHRpb25zKSxhLnVzZXJPcHRpb25zPVgoYS51c2VyT3B0aW9ucyx0KTt2YXIgbD10LmNoYXJ0O2lmKGwpe2lmKFgoITAsYS5vcHRpb25zLmNoYXJ0LGwpLCJjbGFzc05hbWUiaW4gbCYmYS5zZXRDbGFzc05hbWUobC5jbGFzc05hbWUpLCJyZWZsb3ciaW4gbCYmYS5zZXRSZWZsb3cobC5yZWZsb3cpLCJpbnZlcnRlZCJpbiBsfHwicG9sYXIiaW4gbHx8InR5cGUiaW4gbCl7YS5wcm9wRnJvbVNlcmllcygpO3ZhciBwPSEwfSJhbGlnblRpY2tzImluIGwmJihwPSEwKSwiZXZlbnRzImluIGwmJl8odGhpcyxsKSxWKGwsKGZ1bmN0aW9uKHQsZSl7LTEhPT1hLnByb3BzUmVxdWlyZVVwZGF0ZVNlcmllcy5pbmRleE9mKCJjaGFydC4iK2UpJiYocj0hMCksLTEhPT1hLnByb3BzUmVxdWlyZURpcnR5Qm94LmluZGV4T2YoZSkmJihhLmlzRGlydHlCb3g9ITApLC0xIT09YS5wcm9wc1JlcXVpcmVSZWZsb3cuaW5kZXhPZihlKSYmKGM/YS5pc0RpcnR5Qm94PSEwOm89ITApfSkpLCFhLnN0eWxlZE1vZGUmJmwuc3R5bGUmJmEucmVuZGVyZXIuc2V0U3R5bGUoYS5vcHRpb25zLmNoYXJ0LnN0eWxlfHx7fSl9IWEuc3R5bGVkTW9kZSYmdC5jb2xvcnMmJih0aGlzLm9wdGlvbnMuY29sb3JzPXQuY29sb3JzKSx0LnRpbWUmJih0aGlzLnRpbWU9PT1BJiYodGhpcy50aW1lPW5ldyBkKHQudGltZSkpLFgoITAsYS5vcHRpb25zLnRpbWUsdC50aW1lKSksVih0LChmdW5jdGlvbihlLGkpe2FbaV0mJiJmdW5jdGlvbiI9PT10eXBlb2YgYVtpXS51cGRhdGU/YVtpXS51cGRhdGUoZSwhMSk6ImZ1bmN0aW9uIj09PXR5cGVvZiBhW3NbaV1dP2Fbc1tpXV0oZSk6ImNvbG9ycyIhPT1pJiYtMT09PWEuY29sbGVjdGlvbnNXaXRoVXBkYXRlLmluZGV4T2YoaSkmJlgoITAsYS5vcHRpb25zW2ldLHRbaV0pLCJjaGFydCIhPT1pJiYtMSE9PWEucHJvcHNSZXF1aXJlVXBkYXRlU2VyaWVzLmluZGV4T2YoaSkmJihyPSEwKX0pKSx0aGlzLmNvbGxlY3Rpb25zV2l0aFVwZGF0ZS5mb3JFYWNoKChmdW5jdGlvbihlKXtpZih0W2VdKXt2YXIgbj1bXTthW2VdLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dC5vcHRpb25zLmlzSW50ZXJuYWx8fG4ucHVzaChZKHQub3B0aW9ucy5pbmRleCxlKSl9KSkscSh0W2VdKS5mb3JFYWNoKChmdW5jdGlvbih0LHIpe3ZhciBvLHM9aih0LmlkKTtzJiYobz1hLmdldCh0LmlkKSksIW8mJmFbZV0mJihvPWFbZV1bbj9uW3JdOnJdKSYmcyYmaihvLm9wdGlvbnMuaWQpJiYobz12b2lkIDApLG8mJm8uY29sbD09PWUmJihvLnVwZGF0ZSh0LCExKSxpJiYoby50b3VjaGVkPSEwKSksIW8mJmkmJmEuY29sbGVjdGlvbnNXaXRoSW5pdFtlXSYmKGEuY29sbGVjdGlvbnNXaXRoSW5pdFtlXVswXS5hcHBseShhLFt0XS5jb25jYXQoYS5jb2xsZWN0aW9uc1dpdGhJbml0W2VdWzFdfHxbXSkuY29uY2F0KFshMV0pKS50b3VjaGVkPSEwKX0pKSxpJiZhW2VdLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QudG91Y2hlZHx8dC5vcHRpb25zLmlzSW50ZXJuYWw/ZGVsZXRlIHQudG91Y2hlZDpoLnB1c2godCl9KSl9fSkpLGguZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jaGFydCYmdC5yZW1vdmUmJnQucmVtb3ZlKCExKX0pKSxwJiZhLmF4ZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC51cGRhdGUoe30sITEpfSkpLHImJmEuZ2V0U2VyaWVzT3JkZXJCeUxpbmtzKCkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5jaGFydCYmdC51cGRhdGUoe30sITEpfSksdGhpcykscD1sJiZsLndpZHRoLGw9bCYmKFUobC5oZWlnaHQpP0sobC5oZWlnaHQscHx8YS5jaGFydFdpZHRoKTpsLmhlaWdodCksb3x8SChwKSYmcCE9PWEuY2hhcnRXaWR0aHx8SChsKSYmbCE9PWEuY2hhcnRIZWlnaHQ/YS5zZXRTaXplKHAsbCxuKTpZKGUsITApJiZhLnJlZHJhdyhuKSxOKGEsImFmdGVyVXBkYXRlIix7b3B0aW9uczp0LHJlZHJhdzplLGFuaW1hdGlvbjpufSl9LHQucHJvdG90eXBlLnNldFN1YnRpdGxlPWZ1bmN0aW9uKHQsZSl7dGhpcy5hcHBseURlc2NyaXB0aW9uKCJzdWJ0aXRsZSIsdCksdGhpcy5sYXlPdXRUaXRsZXMoZSl9LHQucHJvdG90eXBlLnNldENhcHRpb249ZnVuY3Rpb24odCxlKXt0aGlzLmFwcGx5RGVzY3JpcHRpb24oImNhcHRpb24iLHQpLHRoaXMubGF5T3V0VGl0bGVzKGUpfSx0LnByb3RvdHlwZS5zaG93UmVzZXRab29tPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe2Uuem9vbU91dCgpfXZhciBlPXRoaXMsaT1TLmxhbmcsbj1lLm9wdGlvbnMuY2hhcnQucmVzZXRab29tQnV0dG9uLHI9bi50aGVtZSxvPXIuc3RhdGVzLGE9ImNoYXJ0Ij09PW4ucmVsYXRpdmVUb3x8InNwYWNpbmdCb3giPT09bi5yZWxhdGl2ZVRvP251bGw6InNjcm9sbGFibGVQbG90Qm94IjtOKHRoaXMsImJlZm9yZVNob3dSZXNldFpvb20iLG51bGwsKGZ1bmN0aW9uKCl7ZS5yZXNldFpvb21CdXR0b249ZS5yZW5kZXJlci5idXR0b24oaS5yZXNldFpvb20sbnVsbCxudWxsLHQscixvJiZvLmhvdmVyKS5hdHRyKHthbGlnbjpuLnBvc2l0aW9uLmFsaWduLHRpdGxlOmkucmVzZXRab29tVGl0bGV9KS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1yZXNldC16b29tIikuYWRkKCkuYWxpZ24obi5wb3NpdGlvbiwhMSxhKX0pKSxOKHRoaXMsImFmdGVyU2hvd1Jlc2V0Wm9vbSIpfSx0LnByb3RvdHlwZS56b29tT3V0PWZ1bmN0aW9uKCl7Tih0aGlzLCJzZWxlY3Rpb24iLHtyZXNldFNlbGVjdGlvbjohMH0sdGhpcy56b29tKX0sdC5wcm90b3R5cGUuem9vbT1mdW5jdGlvbih0KXt2YXIgZSxpPXRoaXMsbj1pLnBvaW50ZXIscj1pLmludmVydGVkP24ubW91c2VEb3duWDpuLm1vdXNlRG93blksbz0hMTshdHx8dC5yZXNldFNlbGVjdGlvbj8oaS5heGVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2U9dC56b29tKCl9KSksbi5pbml0aWF0ZWQ9ITEpOnQueEF4aXMuY29uY2F0KHQueUF4aXMpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBhPXQuYXhpcyxzPWkuaW52ZXJ0ZWQ/YS5sZWZ0OmEudG9wLGM9aS5pbnZlcnRlZD9zK2Eud2lkdGg6cythLmhlaWdodCxoPWEuaXNYQXhpcyxsPSExOyghaCYmcj49cyYmcjw9Y3x8aHx8IWoocikpJiYobD0hMCksbltoPyJ6b29tWCI6Inpvb21ZIl0mJmwmJihlPWEuem9vbSh0Lm1pbix0Lm1heCksYS5kaXNwbGF5QnRuJiYobz0hMCkpfSkpO3ZhciBhPWkucmVzZXRab29tQnV0dG9uO28mJiFhP2kuc2hvd1Jlc2V0Wm9vbSgpOiFvJiZXKGEpJiYoaS5yZXNldFpvb21CdXR0b249YS5kZXN0cm95KCkpLGUmJmkucmVkcmF3KFkoaS5vcHRpb25zLmNoYXJ0LmFuaW1hdGlvbix0JiZ0LmFuaW1hdGlvbiwxMDA+aS5wb2ludENvdW50KSl9LHQucHJvdG90eXBlLnBhbj1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMsbj1pLmhvdmVyUG9pbnRzO2U9Im9iamVjdCI9PT10eXBlb2YgZT9lOntlbmFibGVkOmUsdHlwZToieCJ9O3ZhciByPWkub3B0aW9ucy5jaGFydCxvPWkub3B0aW9ucy5tYXBOYXZpZ2F0aW9uJiZpLm9wdGlvbnMubWFwTmF2aWdhdGlvbi5lbmFibGVkO3ImJnIucGFubmluZyYmKHIucGFubmluZz1lKTt2YXIgYSxzPWUudHlwZTtOKHRoaXMsInBhbiIse29yaWdpbmFsRXZlbnQ6dH0sKGZ1bmN0aW9uKCl7biYmbi5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnNldFN0YXRlKCl9KSk7dmFyIGU9aS54QXhpczsieHkiPT09cz9lPWUuY29uY2F0KGkueUF4aXMpOiJ5Ij09PXMmJihlPWkueUF4aXMpO3ZhciByPXt9O2UuZm9yRWFjaCgoZnVuY3Rpb24oZSl7aWYoZS5vcHRpb25zLnBhbm5pbmdFbmFibGVkJiYhZS5vcHRpb25zLmlzSW50ZXJuYWwpe3ZhciBuPWUuaG9yaXosYz10W24/ImNoYXJ0WCI6ImNoYXJ0WSJdO249bj8ibW91c2VEb3duWCI6Im1vdXNlRG93blkiO3ZhciBoPWlbbl0sbD1lLm1pblBvaW50T2Zmc2V0fHwwLHA9ZS5yZXZlcnNlZCYmIWkuaW52ZXJ0ZWR8fCFlLnJldmVyc2VkJiZpLmludmVydGVkPy0xOjEsZD1lLmdldEV4dHJlbWVzKCksdT1lLnRvVmFsdWUoaC1jLCEwKStsKnAsZj1lLnRvVmFsdWUoaCtlLmxlbi1jLCEwKS0obCpwfHxlLmlzWEF4aXMmJmUucG9pbnRSYW5nZVBhZGRpbmd8fDApLG09Zjx1O3A9ZS5oYXNWZXJ0aWNhbFBhbm5pbmcoKSxoPW0/Zjp1LHU9bT91OmY7dmFyIGc9ZS5wYW5uaW5nU3RhdGU7IXB8fGUuaXNYQXhpc3x8ZyYmIWcuaXNEaXJ0eXx8ZS5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9dC5nZXRQcm9jZXNzZWREYXRhKCEwKTtlPXQuZ2V0RXh0cmVtZXMoZS55RGF0YSwhMCksZ3x8KGc9e3N0YXJ0TWluOk51bWJlci5NQVhfVkFMVUUsc3RhcnRNYXg6LU51bWJlci5NQVhfVkFMVUV9KSxIKGUuZGF0YU1pbikmJkgoZS5kYXRhTWF4KSYmKGcuc3RhcnRNaW49TWF0aC5taW4oWSh0Lm9wdGlvbnMudGhyZXNob2xkLDEvMCksZS5kYXRhTWluLGcuc3RhcnRNaW4pLGcuc3RhcnRNYXg9TWF0aC5tYXgoWSh0Lm9wdGlvbnMudGhyZXNob2xkLC0xLzApLGUuZGF0YU1heCxnLnN0YXJ0TWF4KSl9KSkscD1NYXRoLm1pbihZKGcmJmcuc3RhcnRNaW4sZC5kYXRhTWluKSxsP2QubWluOmUudG9WYWx1ZShlLnRvUGl4ZWxzKGQubWluKS1lLm1pblBpeGVsUGFkZGluZykpLGY9TWF0aC5tYXgoWShnJiZnLnN0YXJ0TWF4LGQuZGF0YU1heCksbD9kLm1heDplLnRvVmFsdWUoZS50b1BpeGVscyhkLm1heCkrZS5taW5QaXhlbFBhZGRpbmcpKSxlLnBhbm5pbmdTdGF0ZT1nLGUuaXNPcmRpbmFsfHwobD1wLWgsMDxsJiYodSs9bCxoPXApLGw9dS1mLDA8bCYmKHU9ZixoLT1sKSxlLnNlcmllcy5sZW5ndGgmJmghPT1kLm1pbiYmdSE9PWQubWF4JiZoPj1wJiZ1PD1mJiYoZS5zZXRFeHRyZW1lcyhoLHUsITEsITEse3RyaWdnZXI6InBhbiJ9KSxpLnJlc2V0Wm9vbUJ1dHRvbnx8b3x8aD09PXB8fHU9PT1mfHwhcy5tYXRjaCgieSIpfHwoaS5zaG93UmVzZXRab29tKCksZS5kaXNwbGF5QnRuPSExKSxhPSEwKSxyW25dPWMpfX0pKSxWKHIsKGZ1bmN0aW9uKHQsZSl7aVtlXT10fSkpLGEmJmkucmVkcmF3KCExKSxMKGkuY29udGFpbmVyLHtjdXJzb3I6Im1vdmUifSl9KSl9LHR9KCksQih0LnByb3RvdHlwZSx7Y2FsbGJhY2tzOltdLGNvbGxlY3Rpb25zV2l0aEluaXQ6e3hBeGlzOlt0LnByb3RvdHlwZS5hZGRBeGlzLFshMF1dLHlBeGlzOlt0LnByb3RvdHlwZS5hZGRBeGlzLFshMV1dLHNlcmllczpbdC5wcm90b3R5cGUuYWRkU2VyaWVzXX0sY29sbGVjdGlvbnNXaXRoVXBkYXRlOlsieEF4aXMiLCJ5QXhpcyIsInNlcmllcyJdLHByb3BzUmVxdWlyZURpcnR5Qm94OiJiYWNrZ3JvdW5kQ29sb3IgYm9yZGVyQ29sb3IgYm9yZGVyV2lkdGggYm9yZGVyUmFkaXVzIHBsb3RCYWNrZ3JvdW5kQ29sb3IgcGxvdEJhY2tncm91bmRJbWFnZSBwbG90Qm9yZGVyQ29sb3IgcGxvdEJvcmRlcldpZHRoIHBsb3RTaGFkb3cgc2hhZG93Ii5zcGxpdCgiICIpLHByb3BzUmVxdWlyZVJlZmxvdzoibWFyZ2luIG1hcmdpblRvcCBtYXJnaW5SaWdodCBtYXJnaW5Cb3R0b20gbWFyZ2luTGVmdCBzcGFjaW5nIHNwYWNpbmdUb3Agc3BhY2luZ1JpZ2h0IHNwYWNpbmdCb3R0b20gc3BhY2luZ0xlZnQiLnNwbGl0KCIgIikscHJvcHNSZXF1aXJlVXBkYXRlU2VyaWVzOiJjaGFydC5pbnZlcnRlZCBjaGFydC5wb2xhciBjaGFydC5pZ25vcmVIaWRkZW5TZXJpZXMgY2hhcnQudHlwZSBjb2xvcnMgcGxvdE9wdGlvbnMgdGltZSB0b29sdGlwIi5zcGxpdCgiICIpfSksdH0pKSxlKGksIkNvcmUvTGVnZW5kL0xlZ2VuZFN5bWJvbC5qcyIsW2lbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0KXt2YXIgZSxpPXQubWVyZ2Usbj10LnBpY2s7cmV0dXJuIGZ1bmN0aW9uKHQpe3QuZHJhd0xpbmVNYXJrZXI9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5vcHRpb25zLHI9dC5zeW1ib2xXaWR0aCxvPXQuc3ltYm9sSGVpZ2h0LGE9by8yLHM9dGhpcy5jaGFydC5yZW5kZXJlcixjPXRoaXMubGVnZW5kR3JvdXA7dD10LmJhc2VsaW5lLU1hdGgucm91bmQoLjMqdC5mb250TWV0cmljcy5iKTt2YXIgaD17fSxsPWUubWFya2VyO3RoaXMuY2hhcnQuc3R5bGVkTW9kZXx8KGg9eyJzdHJva2Utd2lkdGgiOmUubGluZVdpZHRofHwwfSxlLmRhc2hTdHlsZSYmKGguZGFzaHN0eWxlPWUuZGFzaFN0eWxlKSksdGhpcy5sZWdlbmRMaW5lPXMucGF0aChbWyJNIiwwLHRdLFsiTCIscix0XV0pLmFkZENsYXNzKCJoaWdoY2hhcnRzLWdyYXBoIikuYXR0cihoKS5hZGQoYyksbCYmITEhPT1sLmVuYWJsZWQmJnImJihlPU1hdGgubWluKG4obC5yYWRpdXMsYSksYSksMD09PXRoaXMuc3ltYm9sLmluZGV4T2YoInVybCIpJiYobD1pKGwse3dpZHRoOm8saGVpZ2h0Om99KSxlPTApLHRoaXMubGVnZW5kU3ltYm9sPXI9cy5zeW1ib2wodGhpcy5zeW1ib2wsci8yLWUsdC1lLDIqZSwyKmUsbCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtcG9pbnQiKS5hZGQoYyksci5pc01hcmtlcj0hMCl9LHQuZHJhd1JlY3RhbmdsZT1mdW5jdGlvbih0LGUpe3ZhciBpPXQuc3ltYm9sSGVpZ2h0LHI9dC5vcHRpb25zLnNxdWFyZVN5bWJvbDtlLmxlZ2VuZFN5bWJvbD10aGlzLmNoYXJ0LnJlbmRlcmVyLnJlY3Qocj8odC5zeW1ib2xXaWR0aC1pKS8yOjAsdC5iYXNlbGluZS1pKzEscj9pOnQuc3ltYm9sV2lkdGgsaSxuKHQub3B0aW9ucy5zeW1ib2xSYWRpdXMsaS8yKSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtcG9pbnQiKS5hdHRyKHt6SW5kZXg6M30pLmFkZChlLmxlZ2VuZEdyb3VwKX19KGV8fChlPXt9KSksZX0pKSxlKGksIkNvcmUvU2VyaWVzL1Nlcmllc0RlZmF1bHRzLmpzIixbXSwoZnVuY3Rpb24oKXtyZXR1cm57bGluZVdpZHRoOjIsYWxsb3dQb2ludFNlbGVjdDohMSxjcmlzcDohMCxzaG93Q2hlY2tib3g6ITEsYW5pbWF0aW9uOntkdXJhdGlvbjoxZTN9LGV2ZW50czp7fSxtYXJrZXI6e2VuYWJsZWRUaHJlc2hvbGQ6MixsaW5lQ29sb3I6IiNmZmZmZmYiLGxpbmVXaWR0aDowLHJhZGl1czo0LHN0YXRlczp7bm9ybWFsOnthbmltYXRpb246ITB9LGhvdmVyOnthbmltYXRpb246e2R1cmF0aW9uOjUwfSxlbmFibGVkOiEwLHJhZGl1c1BsdXM6MixsaW5lV2lkdGhQbHVzOjF9LHNlbGVjdDp7ZmlsbENvbG9yOiIjY2NjY2NjIixsaW5lQ29sb3I6IiMwMDAwMDAiLGxpbmVXaWR0aDoyfX19LHBvaW50OntldmVudHM6e319LGRhdGFMYWJlbHM6e2FuaW1hdGlvbjp7fSxhbGlnbjoiY2VudGVyIixkZWZlcjohMCxmb3JtYXR0ZXI6ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnNlcmllcy5jaGFydC5udW1iZXJGb3JtYXR0ZXI7cmV0dXJuIm51bWJlciIhPT10eXBlb2YgdGhpcy55PyIiOnQodGhpcy55LC0xKX0scGFkZGluZzo1LHN0eWxlOntmb250U2l6ZToiMTFweCIsZm9udFdlaWdodDoiYm9sZCIsY29sb3I6ImNvbnRyYXN0Iix0ZXh0T3V0bGluZToiMXB4IGNvbnRyYXN0In0sdmVydGljYWxBbGlnbjoiYm90dG9tIix4OjAseTowfSxjcm9wVGhyZXNob2xkOjMwMCxvcGFjaXR5OjEscG9pbnRSYW5nZTowLHNvZnRUaHJlc2hvbGQ6ITAsc3RhdGVzOntub3JtYWw6e2FuaW1hdGlvbjohMH0saG92ZXI6e2FuaW1hdGlvbjp7ZHVyYXRpb246NTB9LGxpbmVXaWR0aFBsdXM6MSxtYXJrZXI6e30saGFsbzp7c2l6ZToxMCxvcGFjaXR5Oi4yNX19LHNlbGVjdDp7YW5pbWF0aW9uOntkdXJhdGlvbjowfX0saW5hY3RpdmU6e2FuaW1hdGlvbjp7ZHVyYXRpb246NTB9LG9wYWNpdHk6LjJ9fSxzdGlja3lUcmFja2luZzohMCx0dXJib1RocmVzaG9sZDoxZTMsZmluZE5lYXJlc3RQb2ludEJ5OiJ4In19KSksZShpLCJDb3JlL1Nlcmllcy9TZXJpZXMuanMiLFtpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSxpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0saVsiQ29yZS9Gb3VuZGF0aW9uLmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9MZWdlbmQvTGVnZW5kU3ltYm9sLmpzIl0saVsiQ29yZS9TZXJpZXMvUG9pbnQuanMiXSxpWyJDb3JlL1Nlcmllcy9TZXJpZXNEZWZhdWx0cy5qcyJdLGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0saVsiQ29yZS9SZW5kZXJlci9TVkcvU1ZHRWxlbWVudC5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSxuLHIsbyxhLHMsYyxoKXt2YXIgbD10LmFuaW1PYmplY3QscD10LnNldEFuaW1hdGlvbixkPWUuZGVmYXVsdE9wdGlvbnMsdT1pLnJlZ2lzdGVyRXZlbnRPcHRpb25zLGY9bi5oYXNUb3VjaCxtPW4uc3ZnLGc9bi53aW4sdj1zLnNlcmllc1R5cGVzLHk9aC5hZGRFdmVudCxfPWguYXJyYXlNYXgsYj1oLmFycmF5TWluLHg9aC5jbGFtcCx3PWguY2xlYW5SZWN1cnNpdmVseSxrPWguY29ycmVjdEZsb2F0LEM9aC5kZWZpbmVkLFM9aC5lcmFzZSxBPWguZXJyb3IsTT1oLmV4dGVuZCxQPWguZmluZCxPPWguZmlyZUV2ZW50LFQ9aC5nZXROZXN0ZWRQcm9wZXJ0eSxFPWguaXNBcnJheSxMPWguaXNOdW1iZXIsaj1oLmlzU3RyaW5nLEQ9aC5tZXJnZSxJPWgub2JqZWN0RWFjaCx6PWgucGljayxCPWgucmVtb3ZlRXZlbnQsUj1oLnNwbGF0LE49aC5zeW5jVGltZW91dDtyZXR1cm4gdD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt0aGlzLnpvbmVzPXRoaXMueUF4aXM9dGhpcy54QXhpcz10aGlzLnVzZXJPcHRpb25zPXRoaXMudG9vbHRpcE9wdGlvbnM9dGhpcy5wcm9jZXNzZWRZRGF0YT10aGlzLnByb2Nlc3NlZFhEYXRhPXRoaXMucG9pbnRzPXRoaXMub3B0aW9ucz10aGlzLmxpbmtlZFNlcmllcz10aGlzLmluZGV4PXRoaXMuZXZlbnRzVG9VbmJpbmQ9dGhpcy5ldmVudE9wdGlvbnM9dGhpcy5kYXRhPXRoaXMuY2hhcnQ9dGhpcy5faT12b2lkIDB9cmV0dXJuIHQucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCxlKXtPKHRoaXMsImluaXQiLHtvcHRpb25zOmV9KTt2YXIgaT10aGlzLG49dC5zZXJpZXM7dGhpcy5ldmVudHNUb1VuYmluZD1bXSxpLmNoYXJ0PXQsaS5vcHRpb25zPWkuc2V0T3B0aW9ucyhlKSxlPWkub3B0aW9ucyxpLmxpbmtlZFNlcmllcz1bXSxpLmJpbmRBeGVzKCksTShpLHtuYW1lOmUubmFtZSxzdGF0ZToiIix2aXNpYmxlOiExIT09ZS52aXNpYmxlLHNlbGVjdGVkOiEwPT09ZS5zZWxlY3RlZH0pLHUodGhpcyxlKTt2YXIgcixvPWUuZXZlbnRzOyhvJiZvLmNsaWNrfHxlLnBvaW50JiZlLnBvaW50LmV2ZW50cyYmZS5wb2ludC5ldmVudHMuY2xpY2t8fGUuYWxsb3dQb2ludFNlbGVjdCkmJih0LnJ1blRyYWNrZXJDbGljaz0hMCksaS5nZXRDb2xvcigpLGkuZ2V0U3ltYm9sKCksaS5wYXJhbGxlbEFycmF5cy5mb3JFYWNoKChmdW5jdGlvbih0KXtpW3QrIkRhdGEiXXx8KGlbdCsiRGF0YSJdPVtdKX0pKSxpLmlzQ2FydGVzaWFuJiYodC5oYXNDYXJ0ZXNpYW5TZXJpZXM9ITApLG4ubGVuZ3RoJiYocj1uW24ubGVuZ3RoLTFdKSxpLl9pPXoociYmci5faSwtMSkrMSxpLm9wYWNpdHk9aS5vcHRpb25zLm9wYWNpdHksdC5vcmRlclNlcmllcyh0aGlzLmluc2VydChuKSksZS5kYXRhU29ydGluZyYmZS5kYXRhU29ydGluZy5lbmFibGVkP2kuc2V0RGF0YVNvcnRpbmdPcHRpb25zKCk6aS5wb2ludHN8fGkuZGF0YXx8aS5zZXREYXRhKGUuZGF0YSwhMSksTyh0aGlzLCJhZnRlckluaXQiKX0sdC5wcm90b3R5cGUuaXM9ZnVuY3Rpb24odCl7cmV0dXJuIHZbdF0mJnRoaXMgaW5zdGFuY2VvZiB2W3RdfSx0LnByb3RvdHlwZS5pbnNlcnQ9ZnVuY3Rpb24odCl7dmFyIGUsaT10aGlzLm9wdGlvbnMuaW5kZXg7aWYoTChpKSl7Zm9yKGU9dC5sZW5ndGg7ZS0tOylpZihpPj16KHRbZV0ub3B0aW9ucy5pbmRleCx0W2VdLl9pKSl7dC5zcGxpY2UoZSsxLDAsdGhpcyk7YnJlYWt9LTE9PT1lJiZ0LnVuc2hpZnQodGhpcyksZSs9MX1lbHNlIHQucHVzaCh0aGlzKTtyZXR1cm4geihlLHQubGVuZ3RoLTEpfSx0LnByb3RvdHlwZS5iaW5kQXhlcz1mdW5jdGlvbigpe3ZhciB0LGU9dGhpcyxpPWUub3B0aW9ucyxuPWUuY2hhcnQ7Tyh0aGlzLCJiaW5kQXhlcyIsbnVsbCwoZnVuY3Rpb24oKXsoZS5heGlzVHlwZXN8fFtdKS5mb3JFYWNoKChmdW5jdGlvbihyKXt2YXIgbz0wO25bcl0uZm9yRWFjaCgoZnVuY3Rpb24obil7dD1uLm9wdGlvbnMsKGlbcl09PT1vJiYhdC5pc0ludGVybmFsfHwidW5kZWZpbmVkIiE9PXR5cGVvZiBpW3JdJiZpW3JdPT09dC5pZHx8InVuZGVmaW5lZCI9PT10eXBlb2YgaVtyXSYmMD09PXQuaW5kZXgpJiYoZS5pbnNlcnQobi5zZXJpZXMpLGVbcl09bixuLmlzRGlydHk9ITApLHQuaXNJbnRlcm5hbHx8bysrfSkpLGVbcl18fGUub3B0aW9uYWxBeGlzPT09cnx8QSgxOCwhMCxuKX0pKX0pKSxPKHRoaXMsImFmdGVyQmluZEF4ZXMiKX0sdC5wcm90b3R5cGUudXBkYXRlUGFyYWxsZWxBcnJheXM9ZnVuY3Rpb24odCxlKXt2YXIgaT10LnNlcmllcyxuPWFyZ3VtZW50cyxyPUwoZSk/ZnVuY3Rpb24obil7dmFyIHI9InkiPT09biYmaS50b1lEYXRhP2kudG9ZRGF0YSh0KTp0W25dO2lbbisiRGF0YSJdW2VdPXJ9OmZ1bmN0aW9uKHQpe0FycmF5LnByb3RvdHlwZVtlXS5hcHBseShpW3QrIkRhdGEiXSxBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChuLDIpKX07aS5wYXJhbGxlbEFycmF5cy5mb3JFYWNoKHIpfSx0LnByb3RvdHlwZS5oYXNEYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudmlzaWJsZSYmInVuZGVmaW5lZCIhPT10eXBlb2YgdGhpcy5kYXRhTWF4JiYidW5kZWZpbmVkIiE9PXR5cGVvZiB0aGlzLmRhdGFNaW58fHRoaXMudmlzaWJsZSYmdGhpcy55RGF0YSYmMDx0aGlzLnlEYXRhLmxlbmd0aH0sdC5wcm90b3R5cGUuYXV0b0luY3JlbWVudD1mdW5jdGlvbih0KXt2YXIgZSxpPXRoaXMub3B0aW9ucyxuPWkucG9pbnRJbnRlcnZhbFVuaXQscj1pLnJlbGF0aXZlWFZhbHVlLG89dGhpcy5jaGFydC50aW1lLGE9dGhpcy54SW5jcmVtZW50O3JldHVybiBhPXooYSxpLnBvaW50U3RhcnQsMCksdGhpcy5wb2ludEludGVydmFsPWU9eih0aGlzLnBvaW50SW50ZXJ2YWwsaS5wb2ludEludGVydmFsLDEpLHImJkwodCkmJihlKj10KSxuJiYoaT1uZXcgby5EYXRlKGEpLCJkYXkiPT09bj9vLnNldCgiRGF0ZSIsaSxvLmdldCgiRGF0ZSIsaSkrZSk6Im1vbnRoIj09PW4/by5zZXQoIk1vbnRoIixpLG8uZ2V0KCJNb250aCIsaSkrZSk6InllYXIiPT09biYmby5zZXQoIkZ1bGxZZWFyIixpLG8uZ2V0KCJGdWxsWWVhciIsaSkrZSksZT1pLmdldFRpbWUoKS1hKSxyJiZMKHQpP2ErZToodGhpcy54SW5jcmVtZW50PWErZSxhKX0sdC5wcm90b3R5cGUuc2V0RGF0YVNvcnRpbmdPcHRpb25zPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zO00odGhpcyx7cmVxdWlyZVNvcnRpbmc6ITEsc29ydGVkOiExLGVuYWJsZWREYXRhU29ydGluZzohMCxhbGxvd0RHOiExfSksQyh0LnBvaW50UmFuZ2UpfHwodC5wb2ludFJhbmdlPTEpfSx0LnByb3RvdHlwZS5zZXRPcHRpb25zPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQsaT1lLm9wdGlvbnMsbj1pLnBsb3RPcHRpb25zLHI9ZS51c2VyT3B0aW9uc3x8e307dD1EKHQpLGU9ZS5zdHlsZWRNb2RlO3ZhciBvPXtwbG90T3B0aW9uczpuLHVzZXJPcHRpb25zOnR9O08odGhpcywic2V0T3B0aW9ucyIsbyk7dmFyIGE9by5wbG90T3B0aW9uc1t0aGlzLnR5cGVdLHM9ci5wbG90T3B0aW9uc3x8e307cmV0dXJuIHRoaXMudXNlck9wdGlvbnM9by51c2VyT3B0aW9ucyxyPUQoYSxuLnNlcmllcyxyLnBsb3RPcHRpb25zJiZyLnBsb3RPcHRpb25zW3RoaXMudHlwZV0sdCksdGhpcy50b29sdGlwT3B0aW9ucz1EKGQudG9vbHRpcCxkLnBsb3RPcHRpb25zLnNlcmllcyYmZC5wbG90T3B0aW9ucy5zZXJpZXMudG9vbHRpcCxkLnBsb3RPcHRpb25zW3RoaXMudHlwZV0udG9vbHRpcCxpLnRvb2x0aXAudXNlck9wdGlvbnMsbi5zZXJpZXMmJm4uc2VyaWVzLnRvb2x0aXAsblt0aGlzLnR5cGVdLnRvb2x0aXAsdC50b29sdGlwKSx0aGlzLnN0aWNreVRyYWNraW5nPXoodC5zdGlja3lUcmFja2luZyxzW3RoaXMudHlwZV0mJnNbdGhpcy50eXBlXS5zdGlja3lUcmFja2luZyxzLnNlcmllcyYmcy5zZXJpZXMuc3RpY2t5VHJhY2tpbmcsISghdGhpcy50b29sdGlwT3B0aW9ucy5zaGFyZWR8fHRoaXMubm9TaGFyZWRUb29sdGlwKXx8ci5zdGlja3lUcmFja2luZyksbnVsbD09PWEubWFya2VyJiZkZWxldGUgci5tYXJrZXIsdGhpcy56b25lQXhpcz1yLnpvbmVBeGlzLG49dGhpcy56b25lcz0oci56b25lc3x8W10pLnNsaWNlKCksIXIubmVnYXRpdmVDb2xvciYmIXIubmVnYXRpdmVGaWxsQ29sb3J8fHIuem9uZXN8fChpPXt2YWx1ZTpyW3RoaXMuem9uZUF4aXMrIlRocmVzaG9sZCJdfHxyLnRocmVzaG9sZHx8MCxjbGFzc05hbWU6ImhpZ2hjaGFydHMtbmVnYXRpdmUifSxlfHwoaS5jb2xvcj1yLm5lZ2F0aXZlQ29sb3IsaS5maWxsQ29sb3I9ci5uZWdhdGl2ZUZpbGxDb2xvciksbi5wdXNoKGkpKSxuLmxlbmd0aCYmQyhuW24ubGVuZ3RoLTFdLnZhbHVlKSYmbi5wdXNoKGU/e306e2NvbG9yOnRoaXMuY29sb3IsZmlsbENvbG9yOnRoaXMuZmlsbENvbG9yfSksTyh0aGlzLCJhZnRlclNldE9wdGlvbnMiLHtvcHRpb25zOnJ9KSxyfSx0LnByb3RvdHlwZS5nZXROYW1lPWZ1bmN0aW9uKCl7cmV0dXJuIHoodGhpcy5vcHRpb25zLm5hbWUsIlNlcmllcyAiKyh0aGlzLmluZGV4KzEpKX0sdC5wcm90b3R5cGUuZ2V0Q3ljbGljPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzLmNoYXJ0LHI9dGhpcy51c2VyT3B0aW9ucyxvPXQrIkluZGV4IixhPXQrIkNvdW50ZXIiLHM9aT9pLmxlbmd0aDp6KG4ub3B0aW9ucy5jaGFydFt0KyJDb3VudCJdLG5bdCsiQ291bnQiXSk7aWYoIWUpe3ZhciBjPXoocltvXSxyWyJfIitvXSk7QyhjKXx8KG4uc2VyaWVzLmxlbmd0aHx8KG5bYV09MCksclsiXyIrb109Yz1uW2FdJXMsblthXSs9MSksaSYmKGU9aVtjXSl9InVuZGVmaW5lZCIhPT10eXBlb2YgYyYmKHRoaXNbb109YyksdGhpc1t0XT1lfSx0LnByb3RvdHlwZS5nZXRDb2xvcj1mdW5jdGlvbigpe3RoaXMuY2hhcnQuc3R5bGVkTW9kZT90aGlzLmdldEN5Y2xpYygiY29sb3IiKTp0aGlzLm9wdGlvbnMuY29sb3JCeVBvaW50P3RoaXMuY29sb3I9IiNjY2NjY2MiOnRoaXMuZ2V0Q3ljbGljKCJjb2xvciIsdGhpcy5vcHRpb25zLmNvbG9yfHxkLnBsb3RPcHRpb25zW3RoaXMudHlwZV0uY29sb3IsdGhpcy5jaGFydC5vcHRpb25zLmNvbG9ycyl9LHQucHJvdG90eXBlLmdldFBvaW50c0NvbGxlY3Rpb249ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5oYXNHcm91cGVkRGF0YT90aGlzLnBvaW50czp0aGlzLmRhdGEpfHxbXX0sdC5wcm90b3R5cGUuZ2V0U3ltYm9sPWZ1bmN0aW9uKCl7dGhpcy5nZXRDeWNsaWMoInN5bWJvbCIsdGhpcy5vcHRpb25zLm1hcmtlci5zeW1ib2wsdGhpcy5jaGFydC5vcHRpb25zLnN5bWJvbHMpfSx0LnByb3RvdHlwZS5maW5kUG9pbnRJbmRleD1mdW5jdGlvbih0LGUpe3ZhciBpLG4scj10LmlkLGE9dC54LHM9dGhpcy5wb2ludHMsYz10aGlzLm9wdGlvbnMuZGF0YVNvcnRpbmc7aWYociljPXRoaXMuY2hhcnQuZ2V0KHIpLGMgaW5zdGFuY2VvZiBvJiYoaT1jKTtlbHNlIGlmKCh0aGlzLmxpbmtlZFBhcmVudHx8dGhpcy5lbmFibGVkRGF0YVNvcnRpbmd8fHRoaXMub3B0aW9ucy5yZWxhdGl2ZVhWYWx1ZSkmJihpPWZ1bmN0aW9uKGUpe3JldHVybiFlLnRvdWNoZWQmJmUuaW5kZXg9PT10LmluZGV4fSxjJiZjLm1hdGNoQnlOYW1lP2k9ZnVuY3Rpb24oZSl7cmV0dXJuIWUudG91Y2hlZCYmZS5uYW1lPT09dC5uYW1lfTp0aGlzLm9wdGlvbnMucmVsYXRpdmVYVmFsdWUmJihpPWZ1bmN0aW9uKGUpe3JldHVybiFlLnRvdWNoZWQmJmUub3B0aW9ucy54PT09dC54fSksaT1QKHMsaSksIWkpKXJldHVybjtpZihpKXt2YXIgaD1pJiZpLmluZGV4OyJ1bmRlZmluZWQiIT09dHlwZW9mIGgmJihuPSEwKX1yZXR1cm4idW5kZWZpbmVkIj09PXR5cGVvZiBoJiZMKGEpJiYoaD10aGlzLnhEYXRhLmluZGV4T2YoYSxlKSksLTEhPT1oJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBoJiZ0aGlzLmNyb3BwZWQmJihoPWg+PXRoaXMuY3JvcFN0YXJ0P2gtdGhpcy5jcm9wU3RhcnQ6aCksIW4mJkwoaCkmJnNbaF0mJnNbaF0udG91Y2hlZCYmKGg9dm9pZCAwKSxofSx0LnByb3RvdHlwZS51cGRhdGVEYXRhPWZ1bmN0aW9uKHQsZSl7dmFyIGksbixyLG89dGhpcy5vcHRpb25zLGE9by5kYXRhU29ydGluZyxzPXRoaXMucG9pbnRzLGM9W10saD10aGlzLnJlcXVpcmVTb3J0aW5nLGw9dC5sZW5ndGg9PT1zLmxlbmd0aCxwPSEwO2lmKHRoaXMueEluY3JlbWVudD1udWxsLHQuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt2YXIgbj1DKHQpJiZ0aGlzLnBvaW50Q2xhc3MucHJvdG90eXBlLm9wdGlvbnNUb09iamVjdC5jYWxsKHtzZXJpZXM6dGhpc30sdCl8fHt9LHA9bi54O24uaWR8fEwocCk/KG49dGhpcy5maW5kUG9pbnRJbmRleChuLHIpLC0xPT09bnx8InVuZGVmaW5lZCI9PT10eXBlb2Ygbj9jLnB1c2godCk6c1tuXSYmdCE9PW8uZGF0YVtuXT8oc1tuXS51cGRhdGUodCwhMSxudWxsLCExKSxzW25dLnRvdWNoZWQ9ITAsaCYmKHI9bisxKSk6c1tuXSYmKHNbbl0udG91Y2hlZD0hMCksKCFsfHxlIT09bnx8YSYmYS5lbmFibGVkfHx0aGlzLmhhc0Rlcml2ZWREYXRhKSYmKGk9ITApKTpjLnB1c2godCl9KSx0aGlzKSxpKWZvcih0PXMubGVuZ3RoO3QtLTspKG49c1t0XSkmJiFuLnRvdWNoZWQmJm4ucmVtb3ZlJiZuLnJlbW92ZSghMSxlKTtlbHNlIWx8fGEmJmEuZW5hYmxlZD9wPSExOih0LmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dCE9PXNbZV0ueSYmc1tlXS51cGRhdGUmJnNbZV0udXBkYXRlKHQsITEsbnVsbCwhMSl9KSksYy5sZW5ndGg9MCk7cmV0dXJuIHMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dCYmKHQudG91Y2hlZD0hMSl9KSksISFwJiYoYy5mb3JFYWNoKChmdW5jdGlvbih0KXt0aGlzLmFkZFBvaW50KHQsITEsbnVsbCxudWxsLCExKX0pLHRoaXMpLG51bGw9PT10aGlzLnhJbmNyZW1lbnQmJnRoaXMueERhdGEmJnRoaXMueERhdGEubGVuZ3RoJiYodGhpcy54SW5jcmVtZW50PV8odGhpcy54RGF0YSksdGhpcy5hdXRvSW5jcmVtZW50KCkpLCEwKX0sdC5wcm90b3R5cGUuc2V0RGF0YT1mdW5jdGlvbih0LGUsaSxuKXt2YXIgcj10aGlzLG89ci5wb2ludHMsYT1vJiZvLmxlbmd0aHx8MCxzPXIub3B0aW9ucyxjPXIuY2hhcnQsaD1zLmRhdGFTb3J0aW5nLGw9ci54QXhpcyxwPXMudHVyYm9UaHJlc2hvbGQsZD10aGlzLnhEYXRhLHU9dGhpcy55RGF0YSxmPXIucG9pbnRBcnJheU1hcDtmPWYmJmYubGVuZ3RoO3ZhciBtLGc9cy5rZXlzLHY9MCx5PTEsXz1udWxsO3Q9dHx8W107dmFyIGI9dC5sZW5ndGg7aWYoZT16KGUsITApLGgmJmguZW5hYmxlZCYmKHQ9dGhpcy5zb3J0RGF0YSh0KSksITEhPT1uJiZiJiZhJiYhci5jcm9wcGVkJiYhci5oYXNHcm91cGVkRGF0YSYmci52aXNpYmxlJiYhci5pc1Nlcmllc0Jvb3N0aW5nJiYobT10aGlzLnVwZGF0ZURhdGEodCxpKSksIW0pe2lmKHIueEluY3JlbWVudD1udWxsLHIuY29sb3JDb3VudGVyPTAsdGhpcy5wYXJhbGxlbEFycmF5cy5mb3JFYWNoKChmdW5jdGlvbih0KXtyW3QrIkRhdGEiXS5sZW5ndGg9MH0pKSxwJiZiPnApaWYoXz1yLmdldEZpcnN0VmFsaWRQb2ludCh0KSxMKF8pKWZvcihpPTA7aTxiO2krKylkW2ldPXRoaXMuYXV0b0luY3JlbWVudCgpLHVbaV09dFtpXTtlbHNlIGlmKEUoXykpaWYoZilpZihfLmxlbmd0aD09PWYpZm9yKGk9MDtpPGI7aSsrKWRbaV09dGhpcy5hdXRvSW5jcmVtZW50KCksdVtpXT10W2ldO2Vsc2UgZm9yKGk9MDtpPGI7aSsrKW49dFtpXSxkW2ldPW5bMF0sdVtpXT1uLnNsaWNlKDEsZisxKTtlbHNlIGlmKGcmJih2PWcuaW5kZXhPZigieCIpLHk9Zy5pbmRleE9mKCJ5Iiksdj0wPD12P3Y6MCx5PTA8PXk/eToxKSwxPT09Xy5sZW5ndGgmJih5PTApLHY9PT15KWZvcihpPTA7aTxiO2krKylkW2ldPXRoaXMuYXV0b0luY3JlbWVudCgpLHVbaV09dFtpXVt5XTtlbHNlIGZvcihpPTA7aTxiO2krKyluPXRbaV0sZFtpXT1uW3ZdLHVbaV09blt5XTtlbHNlIEEoMTIsITEsYyk7ZWxzZSBmb3IoaT0wO2k8YjtpKyspInVuZGVmaW5lZCIhPT10eXBlb2YgdFtpXSYmKG49e3NlcmllczpyfSxyLnBvaW50Q2xhc3MucHJvdG90eXBlLmFwcGx5T3B0aW9ucy5hcHBseShuLFt0W2ldXSksci51cGRhdGVQYXJhbGxlbEFycmF5cyhuLGkpKTtmb3IodSYmaih1WzBdKSYmQSgxNCwhMCxjKSxyLmRhdGE9W10sci5vcHRpb25zLmRhdGE9ci51c2VyT3B0aW9ucy5kYXRhPXQsaT1hO2ktLTspb1tpXSYmb1tpXS5kZXN0cm95JiZvW2ldLmRlc3Ryb3koKTtsJiYobC5taW5SYW5nZT1sLnVzZXJNaW5SYW5nZSksci5pc0RpcnR5PWMuaXNEaXJ0eUJveD0hMCxyLmlzRGlydHlEYXRhPSEhbyxpPSExfSJwb2ludCI9PT1zLmxlZ2VuZFR5cGUmJih0aGlzLnByb2Nlc3NEYXRhKCksdGhpcy5nZW5lcmF0ZVBvaW50cygpKSxlJiZjLnJlZHJhdyhpKX0sdC5wcm90b3R5cGUuc29ydERhdGE9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPWUub3B0aW9ucy5kYXRhU29ydGluZy5zb3J0S2V5fHwieSIsbj1mdW5jdGlvbih0LGUpe3JldHVybiBDKGUpJiZ0LnBvaW50Q2xhc3MucHJvdG90eXBlLm9wdGlvbnNUb09iamVjdC5jYWxsKHtzZXJpZXM6dH0sZSl8fHt9fTtyZXR1cm4gdC5mb3JFYWNoKChmdW5jdGlvbihpLHIpe3Rbcl09bihlLGkpLHRbcl0uaW5kZXg9cn0pLHRoaXMpLHQuY29uY2F0KCkuc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdD1UKGksdCksZT1UKGksZSksZTx0Py0xOmU+dD8xOjB9KSkuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt0Lng9ZX0pLHRoaXMpLGUubGlua2VkU2VyaWVzJiZlLmxpbmtlZFNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgaT1lLm9wdGlvbnMscj1pLmRhdGE7aS5kYXRhU29ydGluZyYmaS5kYXRhU29ydGluZy5lbmFibGVkfHwhcnx8KHIuZm9yRWFjaCgoZnVuY3Rpb24oaSxvKXtyW29dPW4oZSxpKSx0W29dJiYocltvXS54PXRbb10ueCxyW29dLmluZGV4PW8pfSkpLGUuc2V0RGF0YShyLCExKSl9KSksdH0sdC5wcm90b3R5cGUuZ2V0UHJvY2Vzc2VkRGF0YT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnhBeGlzLGk9dGhpcy5vcHRpb25zLG49aS5jcm9wVGhyZXNob2xkLHI9dHx8dGhpcy5nZXRFeHRyZW1lc0Zyb21BbGx8fGkuZ2V0RXh0cmVtZXNGcm9tQWxsLG89dGhpcy5pc0NhcnRlc2lhbjt0PWUmJmUudmFsMmxpbixpPSEoIWV8fCFlLmxvZ2FyaXRobWljKTt2YXIgYT0wLHM9dGhpcy54RGF0YSxjPXRoaXMueURhdGEsaD10aGlzLnJlcXVpcmVTb3J0aW5nLGw9ITEscD1zLmxlbmd0aDtpZihlKXtsPWUuZ2V0RXh0cmVtZXMoKTt2YXIgZD1sLm1pbix1PWwubWF4O2w9ZS5jYXRlZ29yaWVzJiYhZS5uYW1lcy5sZW5ndGh9aWYobyYmdGhpcy5zb3J0ZWQmJiFyJiYoIW58fHA+bnx8dGhpcy5mb3JjZUNyb3ApKWlmKHNbcC0xXTxkfHxzWzBdPnUpcz1bXSxjPVtdO2Vsc2UgaWYodGhpcy55RGF0YSYmKHNbMF08ZHx8c1twLTFdPnUpKXt2YXIgZj10aGlzLmNyb3BEYXRhKHRoaXMueERhdGEsdGhpcy55RGF0YSxkLHUpO3M9Zi54RGF0YSxjPWYueURhdGEsYT1mLnN0YXJ0LGY9ITB9Zm9yKG49cy5sZW5ndGh8fDE7LS1uOylpZihlPWk/dChzW25dKS10KHNbbi0xXSk6c1tuXS1zW24tMV0sMDxlJiYoInVuZGVmaW5lZCI9PT10eXBlb2YgbXx8ZTxtKSl2YXIgbT1lO2Vsc2UgMD5lJiZoJiYhbCYmKEEoMTUsITEsdGhpcy5jaGFydCksaD0hMSk7cmV0dXJue3hEYXRhOnMseURhdGE6Yyxjcm9wcGVkOmYsY3JvcFN0YXJ0OmEsY2xvc2VzdFBvaW50UmFuZ2U6bX19LHQucHJvdG90eXBlLnByb2Nlc3NEYXRhPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMueEF4aXM7aWYodGhpcy5pc0NhcnRlc2lhbiYmIXRoaXMuaXNEaXJ0eSYmIWUuaXNEaXJ0eSYmIXRoaXMueUF4aXMuaXNEaXJ0eSYmIXQpcmV0dXJuITE7dD10aGlzLmdldFByb2Nlc3NlZERhdGEoKSx0aGlzLmNyb3BwZWQ9dC5jcm9wcGVkLHRoaXMuY3JvcFN0YXJ0PXQuY3JvcFN0YXJ0LHRoaXMucHJvY2Vzc2VkWERhdGE9dC54RGF0YSx0aGlzLnByb2Nlc3NlZFlEYXRhPXQueURhdGEsdGhpcy5jbG9zZXN0UG9pbnRSYW5nZT10aGlzLmJhc2VQb2ludFJhbmdlPXQuY2xvc2VzdFBvaW50UmFuZ2UsTyh0aGlzLCJhZnRlclByb2Nlc3NEYXRhIil9LHQucHJvdG90eXBlLmNyb3BEYXRhPWZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8sYT10Lmxlbmd0aCxzPTAsYz1hO2ZvcihyPXoocix0aGlzLmNyb3BTaG91bGRlciksbz0wO288YTtvKyspaWYodFtvXT49aSl7cz1NYXRoLm1heCgwLG8tcik7YnJlYWt9Zm9yKGk9bztpPGE7aSsrKWlmKHRbaV0+bil7Yz1pK3I7YnJlYWt9cmV0dXJue3hEYXRhOnQuc2xpY2UocyxjKSx5RGF0YTplLnNsaWNlKHMsYyksc3RhcnQ6cyxlbmQ6Y319LHQucHJvdG90eXBlLmdlbmVyYXRlUG9pbnRzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGU9dC5kYXRhLGk9dGhpcy5wcm9jZXNzZWRYRGF0YSxuPXRoaXMucHJvY2Vzc2VkWURhdGEscj10aGlzLnBvaW50Q2xhc3Msbz1pLmxlbmd0aCxhPXRoaXMuY3JvcFN0YXJ0fHwwLHM9dGhpcy5oYXNHcm91cGVkRGF0YSxjPXQua2V5cyxoPVtdO3Q9dC5kYXRhR3JvdXBpbmcmJnQuZGF0YUdyb3VwaW5nLmdyb3VwQWxsP2E6MDt2YXIgbCxwLGQ9dGhpcy5kYXRhO2lmKCFkJiYhcyl7dmFyIHU9W107dS5sZW5ndGg9ZS5sZW5ndGgsZD10aGlzLmRhdGE9dX1mb3IoYyYmcyYmKHRoaXMub3B0aW9ucy5rZXlzPSExKSxwPTA7cDxvO3ArKyl7aWYodT1hK3Ascyl7dmFyIGY9KG5ldyByKS5pbml0KHRoaXMsW2lbcF1dLmNvbmNhdChSKG5bcF0pKSk7Zi5kYXRhR3JvdXA9dGhpcy5ncm91cE1hcFt0K3BdLGYuZGF0YUdyb3VwLm9wdGlvbnMmJihmLm9wdGlvbnM9Zi5kYXRhR3JvdXAub3B0aW9ucyxNKGYsZi5kYXRhR3JvdXAub3B0aW9ucyksZGVsZXRlIGYuZGF0YUxhYmVscyl9ZWxzZShmPWRbdV0pfHwidW5kZWZpbmVkIj09PXR5cGVvZiBlW3VdfHwoZFt1XT1mPShuZXcgcikuaW5pdCh0aGlzLGVbdV0saVtwXSkpO2YmJihmLmluZGV4PXM/dCtwOnUsaFtwXT1mKX1pZih0aGlzLm9wdGlvbnMua2V5cz1jLGQmJihvIT09KGw9ZC5sZW5ndGgpfHxzKSlmb3IocD0wO3A8bDtwKyspcCE9PWF8fHN8fChwKz1vKSxkW3BdJiYoZFtwXS5kZXN0cm95RWxlbWVudHMoKSxkW3BdLnBsb3RYPXZvaWQgMCk7dGhpcy5kYXRhPWQsdGhpcy5wb2ludHM9aCxPKHRoaXMsImFmdGVyR2VuZXJhdGVQb2ludHMiKX0sdC5wcm90b3R5cGUuZ2V0WEV4dHJlbWVzPWZ1bmN0aW9uKHQpe3JldHVybnttaW46Yih0KSxtYXg6Xyh0KX19LHQucHJvdG90eXBlLmdldEV4dHJlbWVzPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy54QXhpcyxuPXRoaXMueUF4aXMscj10aGlzLnByb2Nlc3NlZFhEYXRhfHx0aGlzLnhEYXRhLG89W10sYT10aGlzLnJlcXVpcmVTb3J0aW5nP3RoaXMuY3JvcFNob3VsZGVyOjA7bj0hIW4mJm4ucG9zaXRpdmVWYWx1ZXNPbmx5O3ZhciBzLGM9MCxoPTAsbD0wO3Q9dHx8dGhpcy5zdGFja2VkWURhdGF8fHRoaXMucHJvY2Vzc2VkWURhdGF8fFtdO3ZhciBwPXQubGVuZ3RoO2lmKGkpe3ZhciBkPWkuZ2V0RXh0cmVtZXMoKTtjPWQubWluLGg9ZC5tYXh9Zm9yKHM9MDtzPHA7cysrKXt2YXIgdT1yW3NdO2Q9dFtzXTt2YXIgZj0oTChkKXx8RShkKSkmJihkLmxlbmd0aHx8MDxkfHwhbik7aWYodT1lfHx0aGlzLmdldEV4dHJlbWVzRnJvbUFsbHx8dGhpcy5vcHRpb25zLmdldEV4dHJlbWVzRnJvbUFsbHx8dGhpcy5jcm9wcGVkfHwhaXx8KHJbcythXXx8dSk+PWMmJihyW3MtYV18fHUpPD1oLGYmJnUpaWYoZj1kLmxlbmd0aClmb3IoO2YtLTspTChkW2ZdKSYmKG9bbCsrXT1kW2ZdKTtlbHNlIG9bbCsrXT1kfXJldHVybiB0PXthY3RpdmVZRGF0YTpvLGRhdGFNaW46YihvKSxkYXRhTWF4Ol8obyl9LE8odGhpcywiYWZ0ZXJHZXRFeHRyZW1lcyIse2RhdGFFeHRyZW1lczp0fSksdH0sdC5wcm90b3R5cGUuYXBwbHlFeHRyZW1lcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuZ2V0RXh0cmVtZXMoKTtyZXR1cm4gdGhpcy5kYXRhTWluPXQuZGF0YU1pbix0aGlzLmRhdGFNYXg9dC5kYXRhTWF4LHR9LHQucHJvdG90eXBlLmdldEZpcnN0VmFsaWRQb2ludD1mdW5jdGlvbih0KXtmb3IodmFyIGU9dC5sZW5ndGgsaT0wLG49bnVsbDtudWxsPT09biYmaTxlOyluPXRbaV0saSsrO3JldHVybiBufSx0LnByb3RvdHlwZS50cmFuc2xhdGU9ZnVuY3Rpb24oKXt0aGlzLnByb2Nlc3NlZFhEYXRhfHx0aGlzLnByb2Nlc3NEYXRhKCksdGhpcy5nZW5lcmF0ZVBvaW50cygpO3ZhciB0LGUsaT10aGlzLm9wdGlvbnMsbj1pLnN0YWNraW5nLHI9dGhpcy54QXhpcyxvPXIuY2F0ZWdvcmllcyxhPXRoaXMuZW5hYmxlZERhdGFTb3J0aW5nLHM9dGhpcy55QXhpcyxjPXRoaXMucG9pbnRzLGg9Yy5sZW5ndGgsbD10aGlzLnBvaW50UGxhY2VtZW50VG9YVmFsdWUoKSxwPSEhbCxkPWkudGhyZXNob2xkLHU9aS5zdGFydEZyb21UaHJlc2hvbGQ/ZDowLGY9dGhpcy56b25lQXhpc3x8InkiLG09TnVtYmVyLk1BWF9WQUxVRTtmb3IodD0wO3Q8aDt0Kyspe3ZhciBnPWNbdF0sdj1nLngseT12b2lkIDAsXz12b2lkIDAsYj1nLnksdz1nLmxvdyxTPW4mJnMuc3RhY2tpbmcmJnMuc3RhY2tpbmcuc3RhY2tzWyh0aGlzLm5lZ1N0YWNrcyYmYjwodT8wOmQpPyItIjoiIikrdGhpcy5zdGFja0tleV07aWYoKHMucG9zaXRpdmVWYWx1ZXNPbmx5JiYhcy52YWxpZGF0ZVBvc2l0aXZlVmFsdWUoYil8fHIucG9zaXRpdmVWYWx1ZXNPbmx5JiYhci52YWxpZGF0ZVBvc2l0aXZlVmFsdWUodikpJiYoZy5pc051bGw9ITApLGcucGxvdFg9ZT1rKHgoci50cmFuc2xhdGUodiwwLDAsMCwxLGwsImZsYWdzIj09PXRoaXMudHlwZSksLTFlNSwxZTUpKSxuJiZ0aGlzLnZpc2libGUmJlMmJlNbdl0pe3ZhciBBPXRoaXMuZ2V0U3RhY2tJbmRpY2F0b3IoQSx2LHRoaXMuaW5kZXgpO2cuaXNOdWxsfHwoeT1TW3ZdLF89eS5wb2ludHNbQS5rZXldKX1pZihFKF8pJiYodz1fWzBdLGI9X1sxXSx3PT09dSYmQS5rZXk9PT1TW3ZdLmJhc2UmJih3PXooTChkKSYmZCxzLm1pbikpLHMucG9zaXRpdmVWYWx1ZXNPbmx5JiYwPj13JiYodz1udWxsKSxnLnRvdGFsPWcuc3RhY2tUb3RhbD15LnRvdGFsLGcucGVyY2VudGFnZT15LnRvdGFsJiZnLnkveS50b3RhbCoxMDAsZy5zdGFja1k9Yix0aGlzLmlycmVndWxhcldpZHRoc3x8eS5zZXRPZmZzZXQodGhpcy5wb2ludFhPZmZzZXR8fDAsdGhpcy5iYXJXfHwwKSksZy55Qm90dG9tPUModyk/eChzLnRyYW5zbGF0ZSh3LDAsMSwwLDEpLC0xZTUsMWU1KTpudWxsLHRoaXMuZGF0YU1vZGlmeSYmKGI9dGhpcy5kYXRhTW9kaWZ5Lm1vZGlmeVZhbHVlKGIsdCkpLGcucGxvdFk9dm9pZCAwLEwoYikmJih5PXMudHJhbnNsYXRlKGIsITEsITAsITEsITApLCJ1bmRlZmluZWQiIT09dHlwZW9mIHkmJihnLnBsb3RZPXgoeSwtMWU1LDFlNSkpKSxnLmlzSW5zaWRlPXRoaXMuaXNQb2ludEluc2lkZShnKSxnLmNsaWVudFg9cD9rKHIudHJhbnNsYXRlKHYsMCwwLDAsMSxsKSk6ZSxnLm5lZ2F0aXZlPWdbZl08KGlbZisiVGhyZXNob2xkIl18fGR8fDApLGcuY2F0ZWdvcnk9byYmInVuZGVmaW5lZCIhPT10eXBlb2Ygb1tnLnhdP29bZy54XTpnLngsIWcuaXNOdWxsJiYhMSE9PWcudmlzaWJsZSl7InVuZGVmaW5lZCIhPT10eXBlb2YgTSYmKG09TWF0aC5taW4obSxNYXRoLmFicyhlLU0pKSk7dmFyIE09ZX1nLnpvbmU9dGhpcy56b25lcy5sZW5ndGg/Zy5nZXRab25lKCk6dm9pZCAwLCFnLmdyYXBoaWMmJnRoaXMuZ3JvdXAmJmEmJihnLmlzTmV3PSEwKX10aGlzLmNsb3Nlc3RQb2ludFJhbmdlUHg9bSxPKHRoaXMsImFmdGVyVHJhbnNsYXRlIil9LHQucHJvdG90eXBlLmdldFZhbGlkUG9pbnRzPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzLmNoYXJ0O3JldHVybih0fHx0aGlzLnBvaW50c3x8W10pLmZpbHRlcigoZnVuY3Rpb24odCl7cmV0dXJuIShlJiYhbi5pc0luc2lkZVBsb3QodC5wbG90WCx0LnBsb3RZLHtpbnZlcnRlZDpuLmludmVydGVkfSkpJiYoITEhPT10LnZpc2libGUmJihpfHwhdC5pc051bGwpKX0pKX0sdC5wcm90b3R5cGUuZ2V0Q2xpcEJveD1mdW5jdGlvbigpe3ZhciB0PXRoaXMuY2hhcnQsZT10aGlzLnhBeGlzLGk9dGhpcy55QXhpcyxuPUQodC5jbGlwQm94KTtyZXR1cm4gZSYmZS5sZW4hPT10LnBsb3RTaXplWCYmKG4ud2lkdGg9ZS5sZW4pLGkmJmkubGVuIT09dC5wbG90U2l6ZVkmJihuLmhlaWdodD1pLmxlbiksbn0sdC5wcm90b3R5cGUuZ2V0U2hhcmVkQ2xpcEtleT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNoYXJlZENsaXBLZXk9KHRoaXMub3B0aW9ucy54QXhpc3x8MCkrIiwiKyh0aGlzLm9wdGlvbnMueUF4aXN8fDApfSx0LnByb3RvdHlwZS5zZXRDbGlwPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jaGFydCxlPXRoaXMuZ3JvdXAsaT10aGlzLm1hcmtlckdyb3VwLG49dC5zaGFyZWRDbGlwczt0PXQucmVuZGVyZXI7dmFyIHI9dGhpcy5nZXRDbGlwQm94KCksbz10aGlzLmdldFNoYXJlZENsaXBLZXkoKSxhPW5bb107YT9hLmFuaW1hdGUocik6bltvXT1hPXQuY2xpcFJlY3QociksZSYmZS5jbGlwKCExPT09dGhpcy5vcHRpb25zLmNsaXA/dm9pZCAwOmEpLGkmJmkuY2xpcCgpfSx0LnByb3RvdHlwZS5hbmltYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQsaT10aGlzLmdyb3VwLG49dGhpcy5tYXJrZXJHcm91cCxyPWUuaW52ZXJ0ZWQsbz1sKHRoaXMub3B0aW9ucy5hbmltYXRpb24pLGE9W3RoaXMuZ2V0U2hhcmVkQ2xpcEtleSgpLG8uZHVyYXRpb24sby5lYXNpbmcsby5kZWZlcl0uam9pbigpLHM9ZS5zaGFyZWRDbGlwc1thXSxjPWUuc2hhcmVkQ2xpcHNbYSsibSJdO2lmKHQmJmkpbz10aGlzLmdldENsaXBCb3goKSxzP3MuYXR0cigiaGVpZ2h0IixvLmhlaWdodCk6KG8ud2lkdGg9MCxyJiYoby54PWUucGxvdEhlaWdodCkscz1lLnJlbmRlcmVyLmNsaXBSZWN0KG8pLGUuc2hhcmVkQ2xpcHNbYV09cyxjPWUucmVuZGVyZXIuY2xpcFJlY3Qoe3g6cj8oZS5wbG90U2l6ZVh8fDApKzk5Oi05OSx5OnI/LWUucGxvdExlZnQ6LWUucGxvdFRvcCx3aWR0aDo5OSxoZWlnaHQ6cj9lLmNoYXJ0V2lkdGg6ZS5jaGFydEhlaWdodH0pLGUuc2hhcmVkQ2xpcHNbYSsibSJdPWMpLGkuY2xpcChzKSxuJiZuLmNsaXAoYyk7ZWxzZSBpZihzJiYhcy5oYXNDbGFzcygiaGlnaGNoYXJ0cy1hbmltYXRpbmciKSl7ZT10aGlzLmdldENsaXBCb3goKTt2YXIgaD1vLnN0ZXA7biYmbi5lbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoJiYoby5zdGVwPWZ1bmN0aW9uKHQsZSl7aCYmaC5hcHBseShlLGFyZ3VtZW50cyksYyYmYy5lbGVtZW50JiZjLmF0dHIoZS5wcm9wLCJ3aWR0aCI9PT1lLnByb3A/dCs5OTp0KX0pLHMuYWRkQ2xhc3MoImhpZ2hjaGFydHMtYW5pbWF0aW5nIikuYW5pbWF0ZShlLG8pfX0sdC5wcm90b3R5cGUuYWZ0ZXJBbmltYXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpczt0aGlzLnNldENsaXAoKSxJKHRoaXMuY2hhcnQuc2hhcmVkQ2xpcHMsKGZ1bmN0aW9uKGUsaSxuKXtlJiYhdC5jaGFydC5jb250YWluZXIucXVlcnlTZWxlY3RvcignW2NsaXAtcGF0aD0idXJsKCMnK2UuaWQrJykiXScpJiYoZS5kZXN0cm95KCksZGVsZXRlIG5baV0pfSkpLHRoaXMuZmluaXNoZWRBbmltYXRpbmc9ITAsTyh0aGlzLCJhZnRlckFuaW1hdGUiKX0sdC5wcm90b3R5cGUuZHJhd1BvaW50cz1mdW5jdGlvbigpe3ZhciB0LGUsaT10aGlzLnBvaW50cyxuPXRoaXMuY2hhcnQscj10aGlzLm9wdGlvbnMubWFya2VyLG89dGhpc1t0aGlzLnNwZWNpYWxHcm91cF18fHRoaXMubWFya2VyR3JvdXAsYT10aGlzLnhBeGlzLHM9eihyLmVuYWJsZWQsIShhJiYhYS5pc1JhZGlhbCl8fG51bGwsdGhpcy5jbG9zZXN0UG9pbnRSYW5nZVB4Pj1yLmVuYWJsZWRUaHJlc2hvbGQqci5yYWRpdXMpO2lmKCExIT09ci5lbmFibGVkfHx0aGlzLl9oYXNQb2ludE1hcmtlcnMpZm9yKHQ9MDt0PGkubGVuZ3RoO3QrKyl7dmFyIGM9aVt0XSxoPShlPWMuZ3JhcGhpYyk/ImFuaW1hdGUiOiJhdHRyIixsPWMubWFya2VyfHx7fSxwPSEhYy5tYXJrZXI7aWYoKHMmJiJ1bmRlZmluZWQiPT09dHlwZW9mIGwuZW5hYmxlZHx8bC5lbmFibGVkKSYmIWMuaXNOdWxsJiYhMSE9PWMudmlzaWJsZSl7dmFyIGQ9eihsLnN5bWJvbCx0aGlzLnN5bWJvbCwicmVjdCIpLHU9dGhpcy5tYXJrZXJBdHRyaWJzKGMsYy5zZWxlY3RlZCYmInNlbGVjdCIpO3RoaXMuZW5hYmxlZERhdGFTb3J0aW5nJiYoYy5zdGFydFhQb3M9YS5yZXZlcnNlZD8tKHUud2lkdGh8fDApOmEud2lkdGgpO3ZhciBmPSExIT09Yy5pc0luc2lkZTtlP2VbZj8ic2hvdyI6ImhpZGUiXShmKS5hbmltYXRlKHUpOmYmJigwPCh1LndpZHRofHwwKXx8Yy5oYXNJbWFnZSkmJihjLmdyYXBoaWM9ZT1uLnJlbmRlcmVyLnN5bWJvbChkLHUueCx1LnksdS53aWR0aCx1LmhlaWdodCxwP2w6cikuYWRkKG8pLHRoaXMuZW5hYmxlZERhdGFTb3J0aW5nJiZuLmhhc1JlbmRlcmVkJiYoZS5hdHRyKHt4OmMuc3RhcnRYUG9zfSksaD0iYW5pbWF0ZSIpKSxlJiYiYW5pbWF0ZSI9PT1oJiZlW2Y/InNob3ciOiJoaWRlIl0oZikuYW5pbWF0ZSh1KSxlJiYhbi5zdHlsZWRNb2RlJiZlW2hdKHRoaXMucG9pbnRBdHRyaWJzKGMsYy5zZWxlY3RlZCYmInNlbGVjdCIpKSxlJiZlLmFkZENsYXNzKGMuZ2V0Q2xhc3NOYW1lKCksITApfWVsc2UgZSYmKGMuZ3JhcGhpYz1lLmRlc3Ryb3koKSl9fSx0LnByb3RvdHlwZS5tYXJrZXJBdHRyaWJzPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5vcHRpb25zLG49aS5tYXJrZXIscj10Lm1hcmtlcnx8e30sbz1yLnN5bWJvbHx8bi5zeW1ib2wsYT16KHIucmFkaXVzLG4ucmFkaXVzKTtyZXR1cm4gZSYmKG49bi5zdGF0ZXNbZV0sZT1yLnN0YXRlcyYmci5zdGF0ZXNbZV0sYT16KGUmJmUucmFkaXVzLG4mJm4ucmFkaXVzLGErKG4mJm4ucmFkaXVzUGx1c3x8MCkpKSx0Lmhhc0ltYWdlPW8mJjA9PT1vLmluZGV4T2YoInVybCIpLHQuaGFzSW1hZ2UmJihhPTApLHQ9e3g6aS5jcmlzcD9NYXRoLmZsb29yKHQucGxvdFgtYSk6dC5wbG90WC1hLHk6dC5wbG90WS1hfSxhJiYodC53aWR0aD10LmhlaWdodD0yKmEpLHR9LHQucHJvdG90eXBlLnBvaW50QXR0cmlicz1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMub3B0aW9ucy5tYXJrZXIsbj10JiZ0Lm9wdGlvbnMscj1uJiZuLm1hcmtlcnx8e30sbz1uJiZuLmNvbG9yLGE9dCYmdC5jb2xvcixzPXQmJnQuem9uZSYmdC56b25lLmNvbG9yLGM9dGhpcy5jb2xvcjtyZXR1cm4gdD16KHIubGluZVdpZHRoLGkubGluZVdpZHRoKSxuPTEsYz1vfHxzfHxhfHxjLG89ci5maWxsQ29sb3J8fGkuZmlsbENvbG9yfHxjLGE9ci5saW5lQ29sb3J8fGkubGluZUNvbG9yfHxjLGU9ZXx8Im5vcm1hbCIsaT1pLnN0YXRlc1tlXXx8e30sZT1yLnN0YXRlcyYmci5zdGF0ZXNbZV18fHt9LHQ9eihlLmxpbmVXaWR0aCxpLmxpbmVXaWR0aCx0K3ooZS5saW5lV2lkdGhQbHVzLGkubGluZVdpZHRoUGx1cywwKSksbz1lLmZpbGxDb2xvcnx8aS5maWxsQ29sb3J8fG8sYT1lLmxpbmVDb2xvcnx8aS5saW5lQ29sb3J8fGEsbj16KGUub3BhY2l0eSxpLm9wYWNpdHksbikse3N0cm9rZTphLCJzdHJva2Utd2lkdGgiOnQsZmlsbDpvLG9wYWNpdHk6bn19LHQucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24odCl7dmFyIGUsaSxuLHIsbz10aGlzLGE9by5jaGFydCxzPS9BcHBsZVdlYktpdFwvNTMzLy50ZXN0KGcubmF2aWdhdG9yLnVzZXJBZ2VudCksbD1vLmRhdGF8fFtdO2ZvcihPKG8sImRlc3Ryb3kiKSx0aGlzLnJlbW92ZUV2ZW50cyh0KSwoby5heGlzVHlwZXN8fFtdKS5mb3JFYWNoKChmdW5jdGlvbih0KXsocj1vW3RdKSYmci5zZXJpZXMmJihTKHIuc2VyaWVzLG8pLHIuaXNEaXJ0eT1yLmZvcmNlUmVkcmF3PSEwKX0pKSxvLmxlZ2VuZEl0ZW0mJm8uY2hhcnQubGVnZW5kLmRlc3Ryb3lJdGVtKG8pLGk9bC5sZW5ndGg7aS0tOykobj1sW2ldKSYmbi5kZXN0cm95JiZuLmRlc3Ryb3koKTtvLmNsaXBzJiZvLmNsaXBzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiB0LmRlc3Ryb3koKX0pKSxoLmNsZWFyVGltZW91dChvLmFuaW1hdGlvblRpbWVvdXQpLEkobywoZnVuY3Rpb24odCxpKXt0IGluc3RhbmNlb2YgYyYmIXQuc3Vydml2ZSYmKGU9cyYmImdyb3VwIj09PWk/ImhpZGUiOiJkZXN0cm95Iix0W2VdKCkpfSkpLGEuaG92ZXJTZXJpZXM9PT1vJiYoYS5ob3ZlclNlcmllcz12b2lkIDApLFMoYS5zZXJpZXMsbyksYS5vcmRlclNlcmllcygpLEkobywoZnVuY3Rpb24oZSxpKXt0JiYiaGNFdmVudHMiPT09aXx8ZGVsZXRlIG9baV19KSl9LHQucHJvdG90eXBlLmFwcGx5Wm9uZXM9ZnVuY3Rpb24oKXt2YXIgdCxlLGksbixyLG8sYSxzLGM9dGhpcyxoPXRoaXMuY2hhcnQsbD1oLnJlbmRlcmVyLHA9dGhpcy56b25lcyxkPXRoaXMuY2xpcHN8fFtdLHU9dGhpcy5ncmFwaCxmPXRoaXMuYXJlYSxtPU1hdGgubWF4KGguY2hhcnRXaWR0aCxoLmNoYXJ0SGVpZ2h0KSxnPXRoaXNbKHRoaXMuem9uZUF4aXN8fCJ5IikrIkF4aXMiXSx2PWguaW52ZXJ0ZWQseT0hMTtpZihwLmxlbmd0aCYmKHV8fGYpJiZnJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBnLm1pbil7dmFyIF89Zy5yZXZlcnNlZCxiPWcuaG9yaXo7dSYmIXRoaXMuc2hvd0xpbmUmJnUuaGlkZSgpLGYmJmYuaGlkZSgpO3ZhciB3PWcuZ2V0RXh0cmVtZXMoKTtwLmZvckVhY2goKGZ1bmN0aW9uKHAsayl7dD1fP2I/aC5wbG90V2lkdGg6MDpiPzA6Zy50b1BpeGVscyh3Lm1pbil8fDAsdD14KHooZSx0KSwwLG0pLGU9eChNYXRoLnJvdW5kKGcudG9QaXhlbHMoeihwLnZhbHVlLHcubWF4KSwhMCl8fDApLDAsbSkseSYmKHQ9ZT1nLnRvUGl4ZWxzKHcubWF4KSksbj1NYXRoLmFicyh0LWUpLHI9TWF0aC5taW4odCxlKSxvPU1hdGgubWF4KHQsZSksZy5pc1hBeGlzPyhpPXt4OnY/bzpyLHk6MCx3aWR0aDpuLGhlaWdodDptfSxifHwoaS54PWgucGxvdEhlaWdodC1pLngpKTooaT17eDowLHk6dj9vOnIsd2lkdGg6bSxoZWlnaHQ6bn0sYiYmKGkueT1oLnBsb3RXaWR0aC1pLnkpKSx2JiZsLmlzVk1MJiYoaT1nLmlzWEF4aXM/e3g6MCx5Ol8/cjpvLGhlaWdodDppLndpZHRoLHdpZHRoOmguY2hhcnRXaWR0aH06e3g6aS55LWgucGxvdExlZnQtaC5zcGFjaW5nQm94LngseTowLHdpZHRoOmkuaGVpZ2h0LGhlaWdodDpoLmNoYXJ0SGVpZ2h0fSksZFtrXT9kW2tdLmFuaW1hdGUoaSk6ZFtrXT1sLmNsaXBSZWN0KGkpLGE9Y1siem9uZS1hcmVhLSIra10scz1jWyJ6b25lLWdyYXBoLSIra10sdSYmcyYmcy5jbGlwKGRba10pLGYmJmEmJmEuY2xpcChkW2tdKSx5PXAudmFsdWU+dy5tYXgsYy5yZXNldFpvbmVzJiYwPT09ZSYmKGU9dm9pZCAwKX0pKSx0aGlzLmNsaXBzPWR9ZWxzZSBjLnZpc2libGUmJih1JiZ1LnNob3coITApLGYmJmYuc2hvdyghMCkpfSx0LnByb3RvdHlwZS5pbnZlcnRHcm91cHM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe1siZ3JvdXAiLCJtYXJrZXJHcm91cCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2lbZV0mJihuLnJlbmRlcmVyLmlzVk1MJiZpW2VdLmF0dHIoe3dpZHRoOmkueUF4aXMubGVuLGhlaWdodDppLnhBeGlzLmxlbn0pLGlbZV0ud2lkdGg9aS55QXhpcy5sZW4saVtlXS5oZWlnaHQ9aS54QXhpcy5sZW4saVtlXS5pbnZlcnQoIWkuaXNSYWRpYWxTZXJpZXMmJnQpKX0pKX12YXIgaT10aGlzLG49aS5jaGFydDtpLnhBeGlzJiYoaS5ldmVudHNUb1VuYmluZC5wdXNoKHkobiwicmVzaXplIixlKSksZSgpLGkuaW52ZXJ0R3JvdXBzPWUpfSx0LnByb3RvdHlwZS5wbG90R3JvdXA9ZnVuY3Rpb24odCxlLGksbixyKXt2YXIgbz10aGlzW3RdLGE9IW87cmV0dXJuIGk9e3Zpc2liaWxpdHk6aSx6SW5kZXg6bnx8LjF9LCJ1bmRlZmluZWQiPT09dHlwZW9mIHRoaXMub3BhY2l0eXx8dGhpcy5jaGFydC5zdHlsZWRNb2RlfHwiaW5hY3RpdmUiPT09dGhpcy5zdGF0ZXx8KGkub3BhY2l0eT10aGlzLm9wYWNpdHkpLGEmJih0aGlzW3RdPW89dGhpcy5jaGFydC5yZW5kZXJlci5nKCkuYWRkKHIpKSxvLmFkZENsYXNzKCJoaWdoY2hhcnRzLSIrZSsiIGhpZ2hjaGFydHMtc2VyaWVzLSIrdGhpcy5pbmRleCsiIGhpZ2hjaGFydHMtIit0aGlzLnR5cGUrIi1zZXJpZXMgIisoQyh0aGlzLmNvbG9ySW5kZXgpPyJoaWdoY2hhcnRzLWNvbG9yLSIrdGhpcy5jb2xvckluZGV4KyIgIjoiIikrKHRoaXMub3B0aW9ucy5jbGFzc05hbWV8fCIiKSsoby5oYXNDbGFzcygiaGlnaGNoYXJ0cy10cmFja2VyIik/IiBoaWdoY2hhcnRzLXRyYWNrZXIiOiIiKSwhMCksby5hdHRyKGkpW2E/ImF0dHIiOiJhbmltYXRlIl0odGhpcy5nZXRQbG90Qm94KCkpLG99LHQucHJvdG90eXBlLmdldFBsb3RCb3g9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNoYXJ0LGU9dGhpcy54QXhpcyxpPXRoaXMueUF4aXM7cmV0dXJuIHQuaW52ZXJ0ZWQmJihlPWksaT10aGlzLnhBeGlzKSx7dHJhbnNsYXRlWDplP2UubGVmdDp0LnBsb3RMZWZ0LHRyYW5zbGF0ZVk6aT9pLnRvcDp0LnBsb3RUb3Asc2NhbGVYOjEsc2NhbGVZOjF9fSx0LnByb3RvdHlwZS5yZW1vdmVFdmVudHM9ZnVuY3Rpb24odCl7dHx8Qih0aGlzKSx0aGlzLmV2ZW50c1RvVW5iaW5kLmxlbmd0aCYmKHRoaXMuZXZlbnRzVG9VbmJpbmQuZm9yRWFjaCgoZnVuY3Rpb24odCl7dCgpfSkpLHRoaXMuZXZlbnRzVG9VbmJpbmQubGVuZ3RoPTApfSx0LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5jaGFydCxpPXQub3B0aW9ucyxuPWwoaS5hbmltYXRpb24pLHI9dC52aXNpYmxlPyJpbmhlcml0IjoiaGlkZGVuIixvPWkuekluZGV4LGE9dC5oYXNSZW5kZXJlZCxzPWUuc2VyaWVzR3JvdXAsYz1lLmludmVydGVkO2U9IXQuZmluaXNoZWRBbmltYXRpbmcmJmUucmVuZGVyZXIuaXNTVkc/bi5kdXJhdGlvbjowLE8odGhpcywicmVuZGVyIik7dmFyIGg9dC5wbG90R3JvdXAoImdyb3VwIiwic2VyaWVzIixyLG8scyk7dC5tYXJrZXJHcm91cD10LnBsb3RHcm91cCgibWFya2VyR3JvdXAiLCJtYXJrZXJzIixyLG8scyksITEhPT1pLmNsaXAmJnQuc2V0Q2xpcCgpLHQuYW5pbWF0ZSYmZSYmdC5hbmltYXRlKCEwKSxoLmludmVydGVkPSEheih0LmludmVydGlibGUsdC5pc0NhcnRlc2lhbikmJmMsdC5kcmF3R3JhcGgmJih0LmRyYXdHcmFwaCgpLHQuYXBwbHlab25lcygpKSx0LnZpc2libGUmJnQuZHJhd1BvaW50cygpLHQuZHJhd0RhdGFMYWJlbHMmJnQuZHJhd0RhdGFMYWJlbHMoKSx0LnJlZHJhd1BvaW50cyYmdC5yZWRyYXdQb2ludHMoKSx0LmRyYXdUcmFja2VyJiYhMSE9PXQub3B0aW9ucy5lbmFibGVNb3VzZVRyYWNraW5nJiZ0LmRyYXdUcmFja2VyKCksdC5pbnZlcnRHcm91cHMoYyksdC5hbmltYXRlJiZlJiZ0LmFuaW1hdGUoKSxhfHwoZSYmbi5kZWZlciYmKGUrPW4uZGVmZXIpLHQuYW5pbWF0aW9uVGltZW91dD1OKChmdW5jdGlvbigpe3QuYWZ0ZXJBbmltYXRlKCl9KSxlfHwwKSksdC5pc0RpcnR5PSExLHQuaGFzUmVuZGVyZWQ9ITAsTyh0LCJhZnRlclJlbmRlciIpfSx0LnByb3RvdHlwZS5yZWRyYXc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNoYXJ0LGU9dGhpcy5pc0RpcnR5fHx0aGlzLmlzRGlydHlEYXRhLGk9dGhpcy5ncm91cCxuPXRoaXMueEF4aXMscj10aGlzLnlBeGlzO2kmJih0LmludmVydGVkJiZpLmF0dHIoe3dpZHRoOnQucGxvdFdpZHRoLGhlaWdodDp0LnBsb3RIZWlnaHR9KSxpLmFuaW1hdGUoe3RyYW5zbGF0ZVg6eihuJiZuLmxlZnQsdC5wbG90TGVmdCksdHJhbnNsYXRlWTp6KHImJnIudG9wLHQucGxvdFRvcCl9KSksdGhpcy50cmFuc2xhdGUoKSx0aGlzLnJlbmRlcigpLGUmJmRlbGV0ZSB0aGlzLmtkVHJlZX0sdC5wcm90b3R5cGUuc2VhcmNoUG9pbnQ9ZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzLnhBeGlzLG49dGhpcy55QXhpcyxyPXRoaXMuY2hhcnQuaW52ZXJ0ZWQ7cmV0dXJuIHRoaXMuc2VhcmNoS0RUcmVlKHtjbGllbnRYOnI/aS5sZW4tdC5jaGFydFkraS5wb3M6dC5jaGFydFgtaS5wb3MscGxvdFk6cj9uLmxlbi10LmNoYXJ0WCtuLnBvczp0LmNoYXJ0WS1uLnBvc30sZSx0KX0sdC5wcm90b3R5cGUuYnVpbGRLRFRyZWU9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LG4scil7dmFyIG89dCYmdC5sZW5ndGg7aWYobyl7dmFyIGE9aS5rZEF4aXNBcnJheVtuJXJdO3JldHVybiB0LnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRbYV0tZVthXX0pKSxvPU1hdGguZmxvb3Ioby8yKSx7cG9pbnQ6dFtvXSxsZWZ0OmUodC5zbGljZSgwLG8pLG4rMSxyKSxyaWdodDplKHQuc2xpY2UobysxKSxuKzEscil9fX10aGlzLmJ1aWxkaW5nS2RUcmVlPSEwO3ZhciBpPXRoaXMsbj0tMTxpLm9wdGlvbnMuZmluZE5lYXJlc3RQb2ludEJ5LmluZGV4T2YoInkiKT8yOjE7ZGVsZXRlIGkua2RUcmVlLE4oKGZ1bmN0aW9uKCl7aS5rZFRyZWU9ZShpLmdldFZhbGlkUG9pbnRzKG51bGwsIWkuZGlyZWN0VG91Y2gpLG4sbiksaS5idWlsZGluZ0tkVHJlZT0hMX0pLGkub3B0aW9ucy5rZE5vd3x8dCYmInRvdWNoc3RhcnQiPT09dC50eXBlPzA6MSl9LHQucHJvdG90eXBlLnNlYXJjaEtEVHJlZT1mdW5jdGlvbih0LGUsaSl7ZnVuY3Rpb24gbih0LGUsaSxjKXt2YXIgaD1lLnBvaW50LGw9ci5rZEF4aXNBcnJheVtpJWNdLHA9aCxkPUModFtvXSkmJkMoaFtvXSk/TWF0aC5wb3codFtvXS1oW29dLDIpOm51bGwsdT1DKHRbYV0pJiZDKGhbYV0pP01hdGgucG93KHRbYV0taFthXSwyKTpudWxsO3JldHVybiB1PShkfHwwKSsodXx8MCksaC5kaXN0PUModSk/TWF0aC5zcXJ0KHUpOk51bWJlci5NQVhfVkFMVUUsaC5kaXN0WD1DKGQpP01hdGguc3FydChkKTpOdW1iZXIuTUFYX1ZBTFVFLGw9dFtsXS1oW2xdLHU9MD5sPyJsZWZ0IjoicmlnaHQiLGQ9MD5sPyJyaWdodCI6ImxlZnQiLGVbdV0mJih1PW4odCxlW3VdLGkrMSxjKSxwPXVbc108cFtzXT91OmgpLGVbZF0mJk1hdGguc3FydChsKmwpPHBbc10mJih0PW4odCxlW2RdLGkrMSxjKSxwPXRbc108cFtzXT90OnApLHB9dmFyIHI9dGhpcyxvPXRoaXMua2RBeGlzQXJyYXlbMF0sYT10aGlzLmtkQXhpc0FycmF5WzFdLHM9ZT8iZGlzdFgiOiJkaXN0IjtpZihlPS0xPHIub3B0aW9ucy5maW5kTmVhcmVzdFBvaW50QnkuaW5kZXhPZigieSIpPzI6MSx0aGlzLmtkVHJlZXx8dGhpcy5idWlsZGluZ0tkVHJlZXx8dGhpcy5idWlsZEtEVHJlZShpKSx0aGlzLmtkVHJlZSlyZXR1cm4gbih0LHRoaXMua2RUcmVlLGUsZSl9LHQucHJvdG90eXBlLnBvaW50UGxhY2VtZW50VG9YVmFsdWU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMsZT10LnBvaW50UmFuZ2UsaT10aGlzLnhBeGlzO3JldHVybiB0PXQucG9pbnRQbGFjZW1lbnQsImJldHdlZW4iPT09dCYmKHQ9aS5yZXZlcnNlZD8tLjU6LjUpLEwodCk/dCooZXx8aS5wb2ludFJhbmdlKTowfSx0LnByb3RvdHlwZS5pc1BvaW50SW5zaWRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQsaT10aGlzLnhBeGlzLG49dGhpcy55QXhpcztyZXR1cm4idW5kZWZpbmVkIiE9PXR5cGVvZiB0LnBsb3RZJiYidW5kZWZpbmVkIiE9PXR5cGVvZiB0LnBsb3RYJiYwPD10LnBsb3RZJiZ0LnBsb3RZPD0obj9uLmxlbjplLnBsb3RIZWlnaHQpJiYwPD10LnBsb3RYJiZ0LnBsb3RYPD0oaT9pLmxlbjplLnBsb3RXaWR0aCl9LHQucHJvdG90eXBlLmRyYXdUcmFja2VyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQub3B0aW9ucyxpPWUudHJhY2tCeUFyZWEsbj1bXS5jb25jYXQoaT90LmFyZWFQYXRoOnQuZ3JhcGhQYXRoKSxyPXQuY2hhcnQsbz1yLnBvaW50ZXIsYT1yLnJlbmRlcmVyLHM9ci5vcHRpb25zLnRvb2x0aXAuc25hcCxjPXQudHJhY2tlcixoPWZ1bmN0aW9uKGUpe3IuaG92ZXJTZXJpZXMhPT10JiZ0Lm9uTW91c2VPdmVyKCl9LGw9InJnYmEoMTkyLDE5MiwxOTIsIisobT8xZS00Oi4wMDIpKyIpIjtjP2MuYXR0cih7ZDpufSk6dC5ncmFwaCYmKHQudHJhY2tlcj1hLnBhdGgobikuYXR0cih7dmlzaWJpbGl0eTp0LnZpc2libGU/InZpc2libGUiOiJoaWRkZW4iLHpJbmRleDoyfSkuYWRkQ2xhc3MoaT8iaGlnaGNoYXJ0cy10cmFja2VyLWFyZWEiOiJoaWdoY2hhcnRzLXRyYWNrZXItbGluZSIpLmFkZCh0Lmdyb3VwKSxyLnN0eWxlZE1vZGV8fHQudHJhY2tlci5hdHRyKHsic3Ryb2tlLWxpbmVjYXAiOiJyb3VuZCIsInN0cm9rZS1saW5lam9pbiI6InJvdW5kIixzdHJva2U6bCxmaWxsOmk/bDoibm9uZSIsInN0cm9rZS13aWR0aCI6dC5ncmFwaC5zdHJva2VXaWR0aCgpKyhpPzA6MipzKX0pLFt0LnRyYWNrZXIsdC5tYXJrZXJHcm91cCx0LmRhdGFMYWJlbHNHcm91cF0uZm9yRWFjaCgoZnVuY3Rpb24odCl7dCYmKHQuYWRkQ2xhc3MoImhpZ2hjaGFydHMtdHJhY2tlciIpLm9uKCJtb3VzZW92ZXIiLGgpLm9uKCJtb3VzZW91dCIsKGZ1bmN0aW9uKHQpe28ub25UcmFja2VyTW91c2VPdXQodCl9KSksZS5jdXJzb3ImJiFyLnN0eWxlZE1vZGUmJnQuY3NzKHtjdXJzb3I6ZS5jdXJzb3J9KSxmKSYmdC5vbigidG91Y2hzdGFydCIsaCl9KSkpLE8odGhpcywiYWZ0ZXJEcmF3VHJhY2tlciIpfSx0LnByb3RvdHlwZS5hZGRQb2ludD1mdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBvPXRoaXMub3B0aW9ucyxhPXRoaXMuZGF0YSxzPXRoaXMuY2hhcnQsYz10aGlzLnhBeGlzO2M9YyYmYy5oYXNOYW1lcyYmYy5uYW1lczt2YXIgaCxsPW8uZGF0YSxwPXRoaXMueERhdGE7ZT16KGUsITApO3ZhciBkPXtzZXJpZXM6dGhpc307dGhpcy5wb2ludENsYXNzLnByb3RvdHlwZS5hcHBseU9wdGlvbnMuYXBwbHkoZCxbdF0pO3ZhciB1PWQueCxmPXAubGVuZ3RoO2lmKHRoaXMucmVxdWlyZVNvcnRpbmcmJnU8cFtmLTFdKWZvcihoPSEwO2YmJnBbZi0xXT51OylmLS07dGhpcy51cGRhdGVQYXJhbGxlbEFycmF5cyhkLCJzcGxpY2UiLGYsMCwwKSx0aGlzLnVwZGF0ZVBhcmFsbGVsQXJyYXlzKGQsZiksYyYmZC5uYW1lJiYoY1t1XT1kLm5hbWUpLGwuc3BsaWNlKGYsMCx0KSxoJiYodGhpcy5kYXRhLnNwbGljZShmLDAsbnVsbCksdGhpcy5wcm9jZXNzRGF0YSgpKSwicG9pbnQiPT09by5sZWdlbmRUeXBlJiZ0aGlzLmdlbmVyYXRlUG9pbnRzKCksaSYmKGFbMF0mJmFbMF0ucmVtb3ZlP2FbMF0ucmVtb3ZlKCExKTooYS5zaGlmdCgpLHRoaXMudXBkYXRlUGFyYWxsZWxBcnJheXMoZCwic2hpZnQiKSxsLnNoaWZ0KCkpKSwhMSE9PXImJk8odGhpcywiYWRkUG9pbnQiLHtwb2ludDpkfSksdGhpcy5pc0RpcnR5RGF0YT10aGlzLmlzRGlydHk9ITAsZSYmcy5yZWRyYXcobil9LHQucHJvdG90eXBlLnJlbW92ZVBvaW50PWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzLHI9bi5kYXRhLG89clt0XSxhPW4ucG9pbnRzLHM9bi5jaGFydCxjPWZ1bmN0aW9uKCl7YSYmYS5sZW5ndGg9PT1yLmxlbmd0aCYmYS5zcGxpY2UodCwxKSxyLnNwbGljZSh0LDEpLG4ub3B0aW9ucy5kYXRhLnNwbGljZSh0LDEpLG4udXBkYXRlUGFyYWxsZWxBcnJheXMob3x8e3NlcmllczpufSwic3BsaWNlIix0LDEpLG8mJm8uZGVzdHJveSgpLG4uaXNEaXJ0eT0hMCxuLmlzRGlydHlEYXRhPSEwLGUmJnMucmVkcmF3KCl9O3AoaSxzKSxlPXooZSwhMCksbz9vLmZpcmVQb2ludEV2ZW50KCJyZW1vdmUiLG51bGwsYyk6YygpfSx0LnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24odCxlLGksbil7ZnVuY3Rpb24gcigpe28uZGVzdHJveShuKSxhLmlzRGlydHlMZWdlbmQ9YS5pc0RpcnR5Qm94PSEwLGEubGlua1NlcmllcygpLHoodCwhMCkmJmEucmVkcmF3KGUpfXZhciBvPXRoaXMsYT1vLmNoYXJ0OyExIT09aT9PKG8sInJlbW92ZSIsbnVsbCxyKTpyKCl9LHQucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0LGUpe3Q9dyh0LHRoaXMudXNlck9wdGlvbnMpLE8odGhpcywidXBkYXRlIix7b3B0aW9uczp0fSk7dmFyIGksbj10aGlzLHI9bi5jaGFydCxvPW4udXNlck9wdGlvbnMsYT1uLmluaXRpYWxUeXBlfHxuLnR5cGUscz1yLm9wdGlvbnMucGxvdE9wdGlvbnMsYz12W2FdLnByb3RvdHlwZSxoPW4uZmluaXNoZWRBbmltYXRpbmcmJnthbmltYXRpb246ITF9LGw9e30scD1bImV2ZW50T3B0aW9ucyIsIm5hdmlnYXRvclNlcmllcyIsImJhc2VTZXJpZXMiXSxkPXQudHlwZXx8by50eXBlfHxyLm9wdGlvbnMuY2hhcnQudHlwZSx1PSEodGhpcy5oYXNEZXJpdmVkRGF0YXx8ZCYmZCE9PXRoaXMudHlwZXx8InVuZGVmaW5lZCIhPT10eXBlb2YgdC5wb2ludFN0YXJ0fHwidW5kZWZpbmVkIiE9PXR5cGVvZiB0LnBvaW50SW50ZXJ2YWx8fCJ1bmRlZmluZWQiIT09dHlwZW9mIHQucmVsYXRpdmVYVmFsdWV8fG4uaGFzT3B0aW9uQ2hhbmdlZCgiZGF0YUdyb3VwaW5nIil8fG4uaGFzT3B0aW9uQ2hhbmdlZCgicG9pbnRTdGFydCIpfHxuLmhhc09wdGlvbkNoYW5nZWQoInBvaW50SW50ZXJ2YWwiKXx8bi5oYXNPcHRpb25DaGFuZ2VkKCJwb2ludEludGVydmFsVW5pdCIpfHxuLmhhc09wdGlvbkNoYW5nZWQoImtleXMiKSk7aWYoZD1kfHxhLHUmJihwLnB1c2goImRhdGEiLCJpc0RpcnR5RGF0YSIsInBvaW50cyIsInByb2Nlc3NlZFhEYXRhIiwicHJvY2Vzc2VkWURhdGEiLCJ4SW5jcmVtZW50IiwiY3JvcHBlZCIsIl9oYXNQb2ludE1hcmtlcnMiLCJfaGFzUG9pbnRMYWJlbHMiLCJjbGlwcyIsIm5vZGVzIiwibGF5b3V0IiwibWFwTWFwIiwibWFwRGF0YSIsIm1pblkiLCJtYXhZIiwibWluWCIsIm1heFgiKSwhMSE9PXQudmlzaWJsZSYmcC5wdXNoKCJhcmVhIiwiZ3JhcGgiKSxuLnBhcmFsbGVsQXJyYXlzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3AucHVzaCh0KyJEYXRhIil9KSksdC5kYXRhJiYodC5kYXRhU29ydGluZyYmTShuLm9wdGlvbnMuZGF0YVNvcnRpbmcsdC5kYXRhU29ydGluZyksdGhpcy5zZXREYXRhKHQuZGF0YSwhMSkpKSx0PUQobyxoLHtpbmRleDoidW5kZWZpbmVkIj09PXR5cGVvZiBvLmluZGV4P24uaW5kZXg6by5pbmRleCxwb2ludFN0YXJ0OnoocyYmcy5zZXJpZXMmJnMuc2VyaWVzLnBvaW50U3RhcnQsby5wb2ludFN0YXJ0LG4ueERhdGFbMF0pfSwhdSYme2RhdGE6bi5vcHRpb25zLmRhdGF9LHQpLHUmJnQuZGF0YSYmKHQuZGF0YT1uLm9wdGlvbnMuZGF0YSkscD1bImdyb3VwIiwibWFya2VyR3JvdXAiLCJkYXRhTGFiZWxzR3JvdXAiLCJ0cmFuc2Zvcm1Hcm91cCJdLmNvbmNhdChwKSxwLmZvckVhY2goKGZ1bmN0aW9uKHQpe3BbdF09blt0XSxkZWxldGUgblt0XX0pKSxzPSExLHZbZF0pe2lmKHM9ZCE9PW4udHlwZSxuLnJlbW92ZSghMSwhMSwhMSwhMCkscylpZihPYmplY3Quc2V0UHJvdG90eXBlT2YpT2JqZWN0LnNldFByb3RvdHlwZU9mKG4sdltkXS5wcm90b3R5cGUpO2Vsc2V7Zm9yKGkgaW4gaD1PYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChuLCJoY0V2ZW50cyIpJiZuLmhjRXZlbnRzLGMpbltpXT12b2lkIDA7TShuLHZbZF0ucHJvdG90eXBlKSxoP24uaGNFdmVudHM9aDpkZWxldGUgbi5oY0V2ZW50c319ZWxzZSBBKDE3LCEwLHIse21pc3NpbmdNb2R1bGVGb3I6ZH0pO2lmKHAuZm9yRWFjaCgoZnVuY3Rpb24odCl7blt0XT1wW3RdfSkpLG4uaW5pdChyLHQpLHUmJnRoaXMucG9pbnRzKXt2YXIgZj1uLm9wdGlvbnM7ITE9PT1mLnZpc2libGU/KGwuZ3JhcGhpYz0xLGwuZGF0YUxhYmVsPTEpOm4uX2hhc1BvaW50TGFiZWxzfHwodD1mLm1hcmtlcixjPWYuZGF0YUxhYmVscywhdHx8ITEhPT10LmVuYWJsZWQmJihvLm1hcmtlciYmby5tYXJrZXIuc3ltYm9sKT09PXQuc3ltYm9sfHwobC5ncmFwaGljPTEpLGMmJiExPT09Yy5lbmFibGVkJiYobC5kYXRhTGFiZWw9MSkpLHRoaXMucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QmJnQuc2VyaWVzJiYodC5yZXNvbHZlQ29sb3IoKSxPYmplY3Qua2V5cyhsKS5sZW5ndGgmJnQuZGVzdHJveUVsZW1lbnRzKGwpLCExPT09Zi5zaG93SW5MZWdlbmQmJnQubGVnZW5kSXRlbSYmci5sZWdlbmQuZGVzdHJveUl0ZW0odCkpfSksdGhpcyl9bi5pbml0aWFsVHlwZT1hLHIubGlua1NlcmllcygpLHMmJm4ubGlua2VkU2VyaWVzLmxlbmd0aCYmKG4uaXNEaXJ0eURhdGE9ITApLE8odGhpcywiYWZ0ZXJVcGRhdGUiKSx6KGUsITApJiZyLnJlZHJhdyghIXUmJnZvaWQgMCl9LHQucHJvdG90eXBlLnNldE5hbWU9ZnVuY3Rpb24odCl7dGhpcy5uYW1lPXRoaXMub3B0aW9ucy5uYW1lPXRoaXMudXNlck9wdGlvbnMubmFtZT10LHRoaXMuY2hhcnQuaXNEaXJ0eUxlZ2VuZD0hMH0sdC5wcm90b3R5cGUuaGFzT3B0aW9uQ2hhbmdlZD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLm9wdGlvbnNbdF0saT10aGlzLmNoYXJ0Lm9wdGlvbnMucGxvdE9wdGlvbnMsbj10aGlzLnVzZXJPcHRpb25zW3RdO3JldHVybiBuP2UhPT1uOmUhPT16KGkmJmlbdGhpcy50eXBlXSYmaVt0aGlzLnR5cGVdW3RdLGkmJmkuc2VyaWVzJiZpLnNlcmllc1t0XSxlKX0sdC5wcm90b3R5cGUub25Nb3VzZU92ZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmNoYXJ0LGU9dC5ob3ZlclNlcmllczt0LnBvaW50ZXIuc2V0SG92ZXJDaGFydEluZGV4KCksZSYmZSE9PXRoaXMmJmUub25Nb3VzZU91dCgpLHRoaXMub3B0aW9ucy5ldmVudHMubW91c2VPdmVyJiZPKHRoaXMsIm1vdXNlT3ZlciIpLHRoaXMuc2V0U3RhdGUoImhvdmVyIiksdC5ob3ZlclNlcmllcz10aGlzfSx0LnByb3RvdHlwZS5vbk1vdXNlT3V0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGU9dGhpcy5jaGFydCxpPWUudG9vbHRpcCxuPWUuaG92ZXJQb2ludDtlLmhvdmVyU2VyaWVzPW51bGwsbiYmbi5vbk1vdXNlT3V0KCksdGhpcyYmdC5ldmVudHMubW91c2VPdXQmJk8odGhpcywibW91c2VPdXQiKSwhaXx8dGhpcy5zdGlja3lUcmFja2luZ3x8aS5zaGFyZWQmJiF0aGlzLm5vU2hhcmVkVG9vbHRpcHx8aS5oaWRlKCksZS5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5zZXRTdGF0ZSgiIiwhMCl9KSl9LHQucHJvdG90eXBlLnNldFN0YXRlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcyxuPWkub3B0aW9ucyxyPWkuZ3JhcGgsbz1uLmluYWN0aXZlT3RoZXJQb2ludHMsYT1uLnN0YXRlcyxzPXooYVt0fHwibm9ybWFsIl0mJmFbdHx8Im5vcm1hbCJdLmFuaW1hdGlvbixpLmNoYXJ0Lm9wdGlvbnMuY2hhcnQuYW5pbWF0aW9uKSxjPW4ubGluZVdpZHRoLGg9MCxsPW4ub3BhY2l0eTtpZih0PXR8fCIiLGkuc3RhdGUhPT10JiYoW2kuZ3JvdXAsaS5tYXJrZXJHcm91cCxpLmRhdGFMYWJlbHNHcm91cF0uZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZSYmKGkuc3RhdGUmJmUucmVtb3ZlQ2xhc3MoImhpZ2hjaGFydHMtc2VyaWVzLSIraS5zdGF0ZSksdCYmZS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1zZXJpZXMtIit0KSl9KSksaS5zdGF0ZT10LCFpLmNoYXJ0LnN0eWxlZE1vZGUpKXtpZihhW3RdJiYhMT09PWFbdF0uZW5hYmxlZClyZXR1cm47aWYodCYmKGM9YVt0XS5saW5lV2lkdGh8fGMrKGFbdF0ubGluZVdpZHRoUGx1c3x8MCksbD16KGFbdF0ub3BhY2l0eSxsKSksciYmIXIuZGFzaHN0eWxlKWZvcihuPXsic3Ryb2tlLXdpZHRoIjpjfSxyLmFuaW1hdGUobixzKTtpWyJ6b25lLWdyYXBoLSIraF07KWlbInpvbmUtZ3JhcGgtIitoXS5hbmltYXRlKG4scyksaCs9MTtvfHxbaS5ncm91cCxpLm1hcmtlckdyb3VwLGkuZGF0YUxhYmVsc0dyb3VwLGkubGFiZWxCeVNlcmllc10uZm9yRWFjaCgoZnVuY3Rpb24odCl7dCYmdC5hbmltYXRlKHtvcGFjaXR5Omx9LHMpfSkpfWUmJm8mJmkucG9pbnRzJiZpLnNldEFsbFBvaW50c1RvU3RhdGUodHx8dm9pZCAwKX0sdC5wcm90b3R5cGUuc2V0QWxsUG9pbnRzVG9TdGF0ZT1mdW5jdGlvbih0KXt0aGlzLnBvaW50cy5mb3JFYWNoKChmdW5jdGlvbihlKXtlLnNldFN0YXRlJiZlLnNldFN0YXRlKHQpfSkpfSx0LnByb3RvdHlwZS5zZXRWaXNpYmxlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcyxuPWkuY2hhcnQscj1pLmxlZ2VuZEl0ZW0sbz1uLm9wdGlvbnMuY2hhcnQuaWdub3JlSGlkZGVuU2VyaWVzLGE9aS52aXNpYmxlLHM9KGkudmlzaWJsZT10PWkub3B0aW9ucy52aXNpYmxlPWkudXNlck9wdGlvbnMudmlzaWJsZT0idW5kZWZpbmVkIj09PXR5cGVvZiB0PyFhOnQpPyJzaG93IjoiaGlkZSI7WyJncm91cCIsImRhdGFMYWJlbHNHcm91cCIsIm1hcmtlckdyb3VwIiwidHJhY2tlciIsInR0Il0uZm9yRWFjaCgoZnVuY3Rpb24odCl7aVt0XSYmaVt0XVtzXSgpfSkpLG4uaG92ZXJTZXJpZXMhPT1pJiYobi5ob3ZlclBvaW50JiZuLmhvdmVyUG9pbnQuc2VyaWVzKSE9PWl8fGkub25Nb3VzZU91dCgpLHImJm4ubGVnZW5kLmNvbG9yaXplSXRlbShpLHQpLGkuaXNEaXJ0eT0hMCxpLm9wdGlvbnMuc3RhY2tpbmcmJm4uc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3Qub3B0aW9ucy5zdGFja2luZyYmdC52aXNpYmxlJiYodC5pc0RpcnR5PSEwKX0pKSxpLmxpbmtlZFNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihlKXtlLnNldFZpc2libGUodCwhMSl9KSksbyYmKG4uaXNEaXJ0eUJveD0hMCksTyhpLHMpLCExIT09ZSYmbi5yZWRyYXcoKX0sdC5wcm90b3R5cGUuc2hvdz1mdW5jdGlvbigpe3RoaXMuc2V0VmlzaWJsZSghMCl9LHQucHJvdG90eXBlLmhpZGU9ZnVuY3Rpb24oKXt0aGlzLnNldFZpc2libGUoITEpfSx0LnByb3RvdHlwZS5zZWxlY3Q9ZnVuY3Rpb24odCl7dGhpcy5zZWxlY3RlZD10PXRoaXMub3B0aW9ucy5zZWxlY3RlZD0idW5kZWZpbmVkIj09PXR5cGVvZiB0PyF0aGlzLnNlbGVjdGVkOnQsdGhpcy5jaGVja2JveCYmKHRoaXMuY2hlY2tib3guY2hlY2tlZD10KSxPKHRoaXMsdD8ic2VsZWN0IjoidW5zZWxlY3QiKX0sdC5wcm90b3R5cGUuc2hvdWxkU2hvd1Rvb2x0aXA9ZnVuY3Rpb24odCxlLGkpe3JldHVybiB2b2lkIDA9PT1pJiYoaT17fSksaS5zZXJpZXM9dGhpcyxpLnZpc2libGVQbG90T25seT0hMCx0aGlzLmNoYXJ0LmlzSW5zaWRlUGxvdCh0LGUsaSl9LHQuZGVmYXVsdE9wdGlvbnM9YSx0fSgpLE0odC5wcm90b3R5cGUse2F4aXNUeXBlczpbInhBeGlzIiwieUF4aXMiXSxjb2xsOiJzZXJpZXMiLGNvbG9yQ291bnRlcjowLGNyb3BTaG91bGRlcjoxLGRpcmVjdFRvdWNoOiExLGRyYXdMZWdlbmRTeW1ib2w6ci5kcmF3TGluZU1hcmtlcixpc0NhcnRlc2lhbjohMCxrZEF4aXNBcnJheTpbImNsaWVudFgiLCJwbG90WSJdLHBhcmFsbGVsQXJyYXlzOlsieCIsInkiXSxwb2ludENsYXNzOm8scmVxdWlyZVNvcnRpbmc6ITAsc29ydGVkOiEwfSkscy5zZXJpZXM9dCx0fSkpLGUoaSwiRXh0ZW5zaW9ucy9TY3JvbGxhYmxlUGxvdEFyZWEuanMiLFtpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSxpWyJDb3JlL0F4aXMvQXhpcy5qcyJdLGlbIkNvcmUvQ2hhcnQvQ2hhcnQuanMiXSxpWyJDb3JlL1Nlcmllcy9TZXJpZXMuanMiXSxpWyJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyUmVnaXN0cnkuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbixyLG8pe3ZhciBhPXQuc3RvcCxzPW8uYWRkRXZlbnQsYz1vLmNyZWF0ZUVsZW1lbnQsaD1vLm1lcmdlLGw9by5waWNrO3MoaSwiYWZ0ZXJTZXRDaGFydFNpemUiLChmdW5jdGlvbih0KXt2YXIgaT10aGlzLm9wdGlvbnMuY2hhcnQuc2Nyb2xsYWJsZVBsb3RBcmVhLG49aSYmaS5taW5XaWR0aDtpZihpPWkmJmkubWluSGVpZ2h0LCF0aGlzLnJlbmRlcmVyLmZvckV4cG9ydCl7aWYobil7aWYodGhpcy5zY3JvbGxhYmxlUGl4ZWxzWD1uPU1hdGgubWF4KDAsbi10aGlzLmNoYXJ0V2lkdGgpKXt0aGlzLnNjcm9sbGFibGVQbG90Qm94PXRoaXMucmVuZGVyZXIuc2Nyb2xsYWJsZVBsb3RCb3g9aCh0aGlzLnBsb3RCb3gpLHRoaXMucGxvdEJveC53aWR0aD10aGlzLnBsb3RXaWR0aCs9bix0aGlzLmludmVydGVkP3RoaXMuY2xpcEJveC5oZWlnaHQrPW46dGhpcy5jbGlwQm94LndpZHRoKz1uO3ZhciByPXsxOntuYW1lOiJyaWdodCIsdmFsdWU6bn19fX1lbHNlIGkmJih0aGlzLnNjcm9sbGFibGVQaXhlbHNZPW49TWF0aC5tYXgoMCxpLXRoaXMuY2hhcnRIZWlnaHQpKSYmKHRoaXMuc2Nyb2xsYWJsZVBsb3RCb3g9dGhpcy5yZW5kZXJlci5zY3JvbGxhYmxlUGxvdEJveD1oKHRoaXMucGxvdEJveCksdGhpcy5wbG90Qm94LmhlaWdodD10aGlzLnBsb3RIZWlnaHQrPW4sdGhpcy5pbnZlcnRlZD90aGlzLmNsaXBCb3gud2lkdGgrPW46dGhpcy5jbGlwQm94LmhlaWdodCs9bixyPXsyOntuYW1lOiJib3R0b20iLHZhbHVlOm59fSk7ciYmIXQuc2tpcEF4ZXMmJnRoaXMuYXhlcy5mb3JFYWNoKChmdW5jdGlvbih0KXtyW3Quc2lkZV0/dC5nZXRQbG90TGluZVBhdGg9ZnVuY3Rpb24oKXt2YXIgaT1yW3Quc2lkZV0ubmFtZSxuPXRoaXNbaV07dGhpc1tpXT1uLXJbdC5zaWRlXS52YWx1ZTt2YXIgbz1lLnByb3RvdHlwZS5nZXRQbG90TGluZVBhdGguYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiB0aGlzW2ldPW4sb306KHQuc2V0QXhpc1NpemUoKSx0LnNldEF4aXNUcmFuc2xhdGlvbigpKX0pKX19KSkscyhpLCJyZW5kZXIiLChmdW5jdGlvbigpe3RoaXMuc2Nyb2xsYWJsZVBpeGVsc1h8fHRoaXMuc2Nyb2xsYWJsZVBpeGVsc1k/KHRoaXMuc2V0VXBTY3JvbGxpbmcmJnRoaXMuc2V0VXBTY3JvbGxpbmcoKSx0aGlzLmFwcGx5Rml4ZWQoKSk6dGhpcy5maXhlZERpdiYmdGhpcy5hcHBseUZpeGVkKCl9KSksaS5wcm90b3R5cGUuc2V0VXBTY3JvbGxpbmc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9e1dlYmtpdE92ZXJmbG93U2Nyb2xsaW5nOiJ0b3VjaCIsb3ZlcmZsb3dYOiJoaWRkZW4iLG92ZXJmbG93WToiaGlkZGVuIn07dGhpcy5zY3JvbGxhYmxlUGl4ZWxzWCYmKGUub3ZlcmZsb3dYPSJhdXRvIiksdGhpcy5zY3JvbGxhYmxlUGl4ZWxzWSYmKGUub3ZlcmZsb3dZPSJhdXRvIiksdGhpcy5zY3JvbGxpbmdQYXJlbnQ9YygiZGl2Iix7Y2xhc3NOYW1lOiJoaWdoY2hhcnRzLXNjcm9sbGluZy1wYXJlbnQifSx7cG9zaXRpb246InJlbGF0aXZlIn0sdGhpcy5yZW5kZXJUbyksdGhpcy5zY3JvbGxpbmdDb250YWluZXI9YygiZGl2Iix7Y2xhc3NOYW1lOiJoaWdoY2hhcnRzLXNjcm9sbGluZyJ9LGUsdGhpcy5zY3JvbGxpbmdQYXJlbnQpLHModGhpcy5zY3JvbGxpbmdDb250YWluZXIsInNjcm9sbCIsKGZ1bmN0aW9uKCl7dC5wb2ludGVyJiZkZWxldGUgdC5wb2ludGVyLmNoYXJ0UG9zaXRpb259KSksdGhpcy5pbm5lckNvbnRhaW5lcj1jKCJkaXYiLHtjbGFzc05hbWU6ImhpZ2hjaGFydHMtaW5uZXItY29udGFpbmVyIn0sbnVsbCx0aGlzLnNjcm9sbGluZ0NvbnRhaW5lciksdGhpcy5pbm5lckNvbnRhaW5lci5hcHBlbmRDaGlsZCh0aGlzLmNvbnRhaW5lciksdGhpcy5zZXRVcFNjcm9sbGluZz1udWxsfSxpLnByb3RvdHlwZS5tb3ZlRml4ZWRFbGVtZW50cz1mdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5jb250YWluZXIsaT10aGlzLmZpeGVkUmVuZGVyZXIsbj0iLmhpZ2hjaGFydHMtY29udGV4dGJ1dHRvbiAuaGlnaGNoYXJ0cy1jcmVkaXRzIC5oaWdoY2hhcnRzLWxlZ2VuZCAuaGlnaGNoYXJ0cy1sZWdlbmQtY2hlY2tib3ggLmhpZ2hjaGFydHMtbmF2aWdhdG9yLXNlcmllcyAuaGlnaGNoYXJ0cy1uYXZpZ2F0b3IteGF4aXMgLmhpZ2hjaGFydHMtbmF2aWdhdG9yLXlheGlzIC5oaWdoY2hhcnRzLW5hdmlnYXRvciAuaGlnaGNoYXJ0cy1yZXNldC16b29tIC5oaWdoY2hhcnRzLWRyaWxsdXAtYnV0dG9uIC5oaWdoY2hhcnRzLXNjcm9sbGJhciAuaGlnaGNoYXJ0cy1zdWJ0aXRsZSAuaGlnaGNoYXJ0cy10aXRsZSIuc3BsaXQoIiAiKTt0aGlzLnNjcm9sbGFibGVQaXhlbHNYJiYhdGhpcy5pbnZlcnRlZD90PSIuaGlnaGNoYXJ0cy15YXhpcyI6dGhpcy5zY3JvbGxhYmxlUGl4ZWxzWCYmdGhpcy5pbnZlcnRlZD90PSIuaGlnaGNoYXJ0cy14YXhpcyI6dGhpcy5zY3JvbGxhYmxlUGl4ZWxzWSYmIXRoaXMuaW52ZXJ0ZWQ/dD0iLmhpZ2hjaGFydHMteGF4aXMiOnRoaXMuc2Nyb2xsYWJsZVBpeGVsc1kmJnRoaXMuaW52ZXJ0ZWQmJih0PSIuaGlnaGNoYXJ0cy15YXhpcyIpLHQmJm4ucHVzaCh0KyI6bm90KC5oaWdoY2hhcnRzLXJhZGlhbC1heGlzKSIsdCsiLWxhYmVsczpub3QoLmhpZ2hjaGFydHMtcmFkaWFsLWF4aXMtbGFiZWxzKSIpLG4uZm9yRWFjaCgoZnVuY3Rpb24odCl7W10uZm9yRWFjaC5jYWxsKGUucXVlcnlTZWxlY3RvckFsbCh0KSwoZnVuY3Rpb24odCl7KHQubmFtZXNwYWNlVVJJPT09aS5TVkdfTlM/aS5ib3g6aS5ib3gucGFyZW50Tm9kZSkuYXBwZW5kQ2hpbGQodCksdC5zdHlsZS5wb2ludGVyRXZlbnRzPSJhdXRvIn0pKX0pKX0saS5wcm90b3R5cGUuYXBwbHlGaXhlZD1mdW5jdGlvbigpe3ZhciB0PSF0aGlzLmZpeGVkRGl2LGU9dGhpcy5vcHRpb25zLmNoYXJ0LGk9ZS5zY3JvbGxhYmxlUGxvdEFyZWEsbj1yLmdldFJlbmRlcmVyVHlwZSgpO3Q/KHRoaXMuZml4ZWREaXY9YygiZGl2Iix7Y2xhc3NOYW1lOiJoaWdoY2hhcnRzLWZpeGVkIn0se3Bvc2l0aW9uOiJhYnNvbHV0ZSIsb3ZlcmZsb3c6ImhpZGRlbiIscG9pbnRlckV2ZW50czoibm9uZSIsekluZGV4OihlLnN0eWxlJiZlLnN0eWxlLnpJbmRleHx8MCkrMix0b3A6MH0sbnVsbCwhMCksdGhpcy5zY3JvbGxpbmdDb250YWluZXImJnRoaXMuc2Nyb2xsaW5nQ29udGFpbmVyLnBhcmVudE5vZGUuaW5zZXJ0QmVmb3JlKHRoaXMuZml4ZWREaXYsdGhpcy5zY3JvbGxpbmdDb250YWluZXIpLHRoaXMucmVuZGVyVG8uc3R5bGUub3ZlcmZsb3c9InZpc2libGUiLHRoaXMuZml4ZWRSZW5kZXJlcj1lPW5ldyBuKHRoaXMuZml4ZWREaXYsdGhpcy5jaGFydFdpZHRoLHRoaXMuY2hhcnRIZWlnaHQsdGhpcy5vcHRpb25zLmNoYXJ0LnN0eWxlKSx0aGlzLnNjcm9sbGFibGVNYXNrPWUucGF0aCgpLmF0dHIoe2ZpbGw6dGhpcy5vcHRpb25zLmNoYXJ0LmJhY2tncm91bmRDb2xvcnx8IiNmZmYiLCJmaWxsLW9wYWNpdHkiOmwoaS5vcGFjaXR5LC44NSksekluZGV4Oi0xfSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtc2Nyb2xsYWJsZS1tYXNrIikuYWRkKCkscyh0aGlzLCJhZnRlclNob3dSZXNldFpvb20iLHRoaXMubW92ZUZpeGVkRWxlbWVudHMpLHModGhpcywiYWZ0ZXJEcmlsbGRvd24iLHRoaXMubW92ZUZpeGVkRWxlbWVudHMpLHModGhpcywiYWZ0ZXJMYXlPdXRUaXRsZXMiLHRoaXMubW92ZUZpeGVkRWxlbWVudHMpKTp0aGlzLmZpeGVkUmVuZGVyZXIuc2V0U2l6ZSh0aGlzLmNoYXJ0V2lkdGgsdGhpcy5jaGFydEhlaWdodCksKHRoaXMuc2Nyb2xsYWJsZURpcnR5fHx0KSYmKHRoaXMuc2Nyb2xsYWJsZURpcnR5PSExLHRoaXMubW92ZUZpeGVkRWxlbWVudHMoKSksZT10aGlzLmNoYXJ0V2lkdGgrKHRoaXMuc2Nyb2xsYWJsZVBpeGVsc1h8fDApLG49dGhpcy5jaGFydEhlaWdodCsodGhpcy5zY3JvbGxhYmxlUGl4ZWxzWXx8MCksYSh0aGlzLmNvbnRhaW5lciksdGhpcy5jb250YWluZXIuc3R5bGUud2lkdGg9ZSsicHgiLHRoaXMuY29udGFpbmVyLnN0eWxlLmhlaWdodD1uKyJweCIsdGhpcy5yZW5kZXJlci5ib3hXcmFwcGVyLmF0dHIoe3dpZHRoOmUsaGVpZ2h0Om4sdmlld0JveDpbMCwwLGUsbl0uam9pbigiICIpfSksdGhpcy5jaGFydEJhY2tncm91bmQuYXR0cih7d2lkdGg6ZSxoZWlnaHQ6bn0pLHRoaXMuc2Nyb2xsaW5nQ29udGFpbmVyLnN0eWxlLmhlaWdodD10aGlzLmNoYXJ0SGVpZ2h0KyJweCIsdCYmKGkuc2Nyb2xsUG9zaXRpb25YJiYodGhpcy5zY3JvbGxpbmdDb250YWluZXIuc2Nyb2xsTGVmdD10aGlzLnNjcm9sbGFibGVQaXhlbHNYKmkuc2Nyb2xsUG9zaXRpb25YKSxpLnNjcm9sbFBvc2l0aW9uWSYmKHRoaXMuc2Nyb2xsaW5nQ29udGFpbmVyLnNjcm9sbFRvcD10aGlzLnNjcm9sbGFibGVQaXhlbHNZKmkuc2Nyb2xsUG9zaXRpb25ZKSksbj10aGlzLmF4aXNPZmZzZXQsdD10aGlzLnBsb3RUb3AtblswXS0xLGk9dGhpcy5wbG90TGVmdC1uWzNdLTEsZT10aGlzLnBsb3RUb3ArdGhpcy5wbG90SGVpZ2h0K25bMl0rMSxuPXRoaXMucGxvdExlZnQrdGhpcy5wbG90V2lkdGgrblsxXSsxO3ZhciBvPXRoaXMucGxvdExlZnQrdGhpcy5wbG90V2lkdGgtKHRoaXMuc2Nyb2xsYWJsZVBpeGVsc1h8fDApLGg9dGhpcy5wbG90VG9wK3RoaXMucGxvdEhlaWdodC0odGhpcy5zY3JvbGxhYmxlUGl4ZWxzWXx8MCk7dD10aGlzLnNjcm9sbGFibGVQaXhlbHNYP1tbIk0iLDAsdF0sWyJMIix0aGlzLnBsb3RMZWZ0LTEsdF0sWyJMIix0aGlzLnBsb3RMZWZ0LTEsZV0sWyJMIiwwLGVdLFsiWiJdLFsiTSIsbyx0XSxbIkwiLHRoaXMuY2hhcnRXaWR0aCx0XSxbIkwiLHRoaXMuY2hhcnRXaWR0aCxlXSxbIkwiLG8sZV0sWyJaIl1dOnRoaXMuc2Nyb2xsYWJsZVBpeGVsc1k/W1siTSIsaSwwXSxbIkwiLGksdGhpcy5wbG90VG9wLTFdLFsiTCIsbix0aGlzLnBsb3RUb3AtMV0sWyJMIixuLDBdLFsiWiJdLFsiTSIsaSxoXSxbIkwiLGksdGhpcy5jaGFydEhlaWdodF0sWyJMIixuLHRoaXMuY2hhcnRIZWlnaHRdLFsiTCIsbixoXSxbIloiXV06W1siTSIsMCwwXV0sImFkanVzdEhlaWdodCIhPT10aGlzLnJlZHJhd1RyaWdnZXImJnRoaXMuc2Nyb2xsYWJsZU1hc2suYXR0cih7ZDp0fSl9LHMoZSwiYWZ0ZXJJbml0IiwoZnVuY3Rpb24oKXt0aGlzLmNoYXJ0LnNjcm9sbGFibGVEaXJ0eT0hMH0pKSxzKG4sInNob3ciLChmdW5jdGlvbigpe3RoaXMuY2hhcnQuc2Nyb2xsYWJsZURpcnR5PSEwfSkpfSkpLGUoaSwiQ29yZS9BeGlzL1N0YWNraW5nQXhpcy5qcyIsW2lbIkNvcmUvQW5pbWF0aW9uL0FuaW1hdGlvblV0aWxpdGllcy5qcyJdLGlbIkNvcmUvQXhpcy9BeGlzLmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpKXt2YXIgbixyPXQuZ2V0RGVmZXJyZWRBbmltYXRpb24sbz1pLmFkZEV2ZW50LGE9aS5kZXN0cm95T2JqZWN0UHJvcGVydGllcyxzPWkuZmlyZUV2ZW50LGM9aS5pc051bWJlcixoPWkub2JqZWN0RWFjaDtyZXR1cm4gZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciB0PXRoaXMuc3RhY2tpbmc7aWYodCl7dmFyIGU9dC5zdGFja3M7aChlLChmdW5jdGlvbih0LGkpe2EodCksZVtpXT1udWxsfSkpLHQmJnQuc3RhY2tUb3RhbEdyb3VwJiZ0LnN0YWNrVG90YWxHcm91cC5kZXN0cm95KCl9fWZ1bmN0aW9uIGkoKXt0aGlzLnN0YWNraW5nfHwodGhpcy5zdGFja2luZz1uZXcgbCh0aGlzKSl9dmFyIG49W107dC5jb21wb3NlPWZ1bmN0aW9uKHQpe3JldHVybi0xPT09bi5pbmRleE9mKHQpJiYobi5wdXNoKHQpLG8odCwiaW5pdCIsaSksbyh0LCJkZXN0cm95IixlKSksdH07dmFyIGw9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMub2xkU3RhY2tzPXt9LHRoaXMuc3RhY2tzPXt9LHRoaXMuc3RhY2tzVG91Y2hlZD0wLHRoaXMuYXhpcz10fXJldHVybiB0LnByb3RvdHlwZS5idWlsZFN0YWNrcz1mdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5heGlzLGk9ZS5zZXJpZXMsbj1lLm9wdGlvbnMucmV2ZXJzZWRTdGFja3Mscj1pLmxlbmd0aDtpZighZS5pc1hBeGlzKXtmb3IodGhpcy51c2VQZXJjZW50YWdlPSExLHQ9cjt0LS07KXt2YXIgbz1pW24/dDpyLXQtMV07by5zZXRTdGFja2VkUG9pbnRzKCksby5zZXRHcm91cGVkUG9pbnRzKCl9Zm9yKHQ9MDt0PHI7dCsrKWlbdF0ubW9kaWZ5U3RhY2tzKCk7cyhlLCJhZnRlckJ1aWxkU3RhY2tzIil9fSx0LnByb3RvdHlwZS5jbGVhblN0YWNrcz1mdW5jdGlvbigpe2lmKCF0aGlzLmF4aXMuaXNYQXhpcyl7aWYodGhpcy5vbGRTdGFja3MpdmFyIHQ9dGhpcy5zdGFja3M9dGhpcy5vbGRTdGFja3M7aCh0LChmdW5jdGlvbih0KXtoKHQsKGZ1bmN0aW9uKHQpe3QuY3VtdWxhdGl2ZT10LnRvdGFsfSkpfSkpfX0sdC5wcm90b3R5cGUucmVzZXRTdGFja3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5zdGFja3M7dC5heGlzLmlzWEF4aXN8fGgoZSwoZnVuY3Rpb24oZSl7aChlLChmdW5jdGlvbihpLG4pe2MoaS50b3VjaGVkKSYmaS50b3VjaGVkPHQuc3RhY2tzVG91Y2hlZD8oaS5kZXN0cm95KCksZGVsZXRlIGVbbl0pOihpLnRvdGFsPW51bGwsaS5jdW11bGF0aXZlPW51bGwpfSkpfSkpfSx0LnByb3RvdHlwZS5yZW5kZXJTdGFja1RvdGFscz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuYXhpcyxlPXQuY2hhcnQsaT1lLnJlbmRlcmVyLG49dGhpcy5zdGFja3M7dD1yKGUsdC5vcHRpb25zLnN0YWNrTGFiZWxzJiZ0Lm9wdGlvbnMuc3RhY2tMYWJlbHMuYW5pbWF0aW9ufHwhMSk7dmFyIG89dGhpcy5zdGFja1RvdGFsR3JvdXA9dGhpcy5zdGFja1RvdGFsR3JvdXB8fGkuZygic3RhY2stbGFiZWxzIikuYXR0cih7dmlzaWJpbGl0eToidmlzaWJsZSIsekluZGV4OjYsb3BhY2l0eTowfSkuYWRkKCk7by50cmFuc2xhdGUoZS5wbG90TGVmdCxlLnBsb3RUb3ApLGgobiwoZnVuY3Rpb24odCl7aCh0LChmdW5jdGlvbih0KXt0LnJlbmRlcihvKX0pKX0pKSxvLmFuaW1hdGUoe29wYWNpdHk6MX0sdCl9LHR9KCk7dC5BZGRpdGlvbnM9bH0obnx8KG49e30pKSxufSkpLGUoaSwiRXh0ZW5zaW9ucy9TdGFja2luZy5qcyIsW2lbIkNvcmUvQXhpcy9BeGlzLmpzIl0saVsiQ29yZS9DaGFydC9DaGFydC5qcyJdLGlbIkNvcmUvRm9ybWF0VXRpbGl0aWVzLmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzLmpzIl0saVsiQ29yZS9BeGlzL1N0YWNraW5nQXhpcy5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSxuLHIsbyxhKXt2YXIgcz1pLmZvcm1hdCxjPWEuY29ycmVjdEZsb2F0LGg9YS5kZWZpbmVkLGw9YS5kZXN0cm95T2JqZWN0UHJvcGVydGllcyxwPWEuaXNBcnJheSxkPWEuaXNOdW1iZXIsdT1hLm9iamVjdEVhY2gsZj1hLnBpY2ssbT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCxlLGksbixyKXt2YXIgbz10LmNoYXJ0LmludmVydGVkO3RoaXMuYXhpcz10LHRoaXMuaXNOZWdhdGl2ZT1pLHRoaXMub3B0aW9ucz1lPWV8fHt9LHRoaXMueD1uLHRoaXMudG90YWw9bnVsbCx0aGlzLnBvaW50cz17fSx0aGlzLmhhc1ZhbGlkUG9pbnRzPSExLHRoaXMuc3RhY2s9cix0aGlzLnJpZ2h0Q2xpZmY9dGhpcy5sZWZ0Q2xpZmY9MCx0aGlzLmFsaWduT3B0aW9ucz17YWxpZ246ZS5hbGlnbnx8KG8/aT8ibGVmdCI6InJpZ2h0IjoiY2VudGVyIiksdmVydGljYWxBbGlnbjplLnZlcnRpY2FsQWxpZ258fChvPyJtaWRkbGUiOmk/ImJvdHRvbSI6InRvcCIpLHk6ZS55LHg6ZS54fSx0aGlzLnRleHRBbGlnbj1lLnRleHRBbGlnbnx8KG8/aT8icmlnaHQiOiJsZWZ0IjoiY2VudGVyIil9cmV0dXJuIHQucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXtsKHRoaXMsdGhpcy5heGlzKX0sdC5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuYXhpcy5jaGFydCxpPXRoaXMub3B0aW9ucyxuPWkuZm9ybWF0O249bj9zKG4sdGhpcyxlKTppLmZvcm1hdHRlci5jYWxsKHRoaXMpLHRoaXMubGFiZWw/dGhpcy5sYWJlbC5hdHRyKHt0ZXh0Om4sdmlzaWJpbGl0eToiaGlkZGVuIn0pOih0aGlzLmxhYmVsPWUucmVuZGVyZXIubGFiZWwobixudWxsLG51bGwsaS5zaGFwZSxudWxsLG51bGwsaS51c2VIVE1MLCExLCJzdGFjay1sYWJlbHMiKSxuPXtyOmkuYm9yZGVyUmFkaXVzfHwwLHRleHQ6bixyb3RhdGlvbjppLnJvdGF0aW9uLHBhZGRpbmc6ZihpLnBhZGRpbmcsNSksdmlzaWJpbGl0eToiaGlkZGVuIn0sZS5zdHlsZWRNb2RlfHwobi5maWxsPWkuYmFja2dyb3VuZENvbG9yLG4uc3Ryb2tlPWkuYm9yZGVyQ29sb3Isblsic3Ryb2tlLXdpZHRoIl09aS5ib3JkZXJXaWR0aCx0aGlzLmxhYmVsLmNzcyhpLnN0eWxlKSksdGhpcy5sYWJlbC5hdHRyKG4pLHRoaXMubGFiZWwuYWRkZWR8fHRoaXMubGFiZWwuYWRkKHQpKSx0aGlzLmxhYmVsLmxhYmVscmFuaz1lLnBsb3RTaXplWX0sdC5wcm90b3R5cGUuc2V0T2Zmc2V0PWZ1bmN0aW9uKHQsZSxpLG4sbyl7dmFyIGE9dGhpcy5heGlzLHM9YS5jaGFydDtuPWEudHJhbnNsYXRlKGEuc3RhY2tpbmcudXNlUGVyY2VudGFnZT8xMDA6bnx8dGhpcy50b3RhbCwwLDAsMCwxKSxpPWEudHJhbnNsYXRlKGl8fDApLGk9aChuKSYmTWF0aC5hYnMobi1pKSx0PWYobyxzLnhBeGlzWzBdLnRyYW5zbGF0ZSh0aGlzLngpKSt0LGE9aChuKSYmdGhpcy5nZXRTdGFja0JveChzLHRoaXMsdCxuLGUsaSxhKSxlPXRoaXMubGFiZWwsaT10aGlzLmlzTmVnYXRpdmUsdD0ianVzdGlmeSI9PT1mKHRoaXMub3B0aW9ucy5vdmVyZmxvdywianVzdGlmeSIpO3ZhciBjPXRoaXMudGV4dEFsaWduO2UmJmEmJihvPWUuZ2V0QkJveCgpLG49ZS5wYWRkaW5nLGM9ImxlZnQiPT09Yz9zLmludmVydGVkPy1uOm46InJpZ2h0Ij09PWM/by53aWR0aDpzLmludmVydGVkJiYiY2VudGVyIj09PWM/by53aWR0aC8yOnMuaW52ZXJ0ZWQ/aT9vLndpZHRoK246LW46by53aWR0aC8yLGk9cy5pbnZlcnRlZD9vLmhlaWdodC8yOmk/LW46by5oZWlnaHQsdGhpcy5hbGlnbk9wdGlvbnMueD1mKHRoaXMub3B0aW9ucy54LDApLHRoaXMuYWxpZ25PcHRpb25zLnk9Zih0aGlzLm9wdGlvbnMueSwwKSxhLngtPWMsYS55LT1pLGUuYWxpZ24odGhpcy5hbGlnbk9wdGlvbnMsbnVsbCxhKSxzLmlzSW5zaWRlUGxvdChlLmFsaWduQXR0ci54K2MtdGhpcy5hbGlnbk9wdGlvbnMueCxlLmFsaWduQXR0ci55K2ktdGhpcy5hbGlnbk9wdGlvbnMueSk/ZS5zaG93KCk6KGUuYWxpZ25BdHRyLnk9LTk5OTksdD0hMSksdCYmci5wcm90b3R5cGUuanVzdGlmeURhdGFMYWJlbC5jYWxsKHRoaXMuYXhpcyxlLHRoaXMuYWxpZ25PcHRpb25zLGUuYWxpZ25BdHRyLG8sYSksZS5hdHRyKHt4OmUuYWxpZ25BdHRyLngseTplLmFsaWduQXR0ci55fSksZighdCYmdGhpcy5vcHRpb25zLmNyb3AsITApJiYoKHM9ZChlLngpJiZkKGUueSkmJnMuaXNJbnNpZGVQbG90KGUueC1uK2Uud2lkdGgsZS55KSYmcy5pc0luc2lkZVBsb3QoZS54K24sZS55KSl8fGUuaGlkZSgpKSl9LHQucHJvdG90eXBlLmdldFN0YWNrQm94PWZ1bmN0aW9uKHQsZSxpLG4scixvLGEpe3ZhciBzPWUuYXhpcy5yZXZlcnNlZCxjPXQuaW52ZXJ0ZWQsaD1hLmhlaWdodCthLnBvcy0oYz90LnBsb3RMZWZ0OnQucGxvdFRvcCk7cmV0dXJuIGU9ZS5pc05lZ2F0aXZlJiYhc3x8IWUuaXNOZWdhdGl2ZSYmcyx7eDpjP2U/bi1hLnJpZ2h0Om4tbythLnBvcy10LnBsb3RMZWZ0OmkrdC54QXhpc1swXS50cmFuc0ItdC5wbG90TGVmdCx5OmM/YS5oZWlnaHQtaS1yOmU/aC1uLW86aC1uLHdpZHRoOmM/bzpyLGhlaWdodDpjP3I6b319LHR9KCk7cmV0dXJuIGUucHJvdG90eXBlLmdldFN0YWNrcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LmludmVydGVkO3QueUF4aXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5zdGFja2luZyYmdC5zdGFja2luZy5zdGFja3MmJnQuaGFzVmlzaWJsZVNlcmllcyYmKHQuc3RhY2tpbmcub2xkU3RhY2tzPXQuc3RhY2tpbmcuc3RhY2tzKX0pKSx0LnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihpKXt2YXIgbj1pLnhBeGlzJiZpLnhBeGlzLm9wdGlvbnN8fHt9OyFpLm9wdGlvbnMuc3RhY2tpbmd8fCEwIT09aS52aXNpYmxlJiYhMSE9PXQub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXN8fChpLnN0YWNrS2V5PVtpLnR5cGUsZihpLm9wdGlvbnMuc3RhY2ssIiIpLGU/bi50b3A6bi5sZWZ0LGU/bi5oZWlnaHQ6bi53aWR0aF0uam9pbigpKX0pKX0sby5jb21wb3NlKHQpLHIucHJvdG90eXBlLnNldEdyb3VwZWRQb2ludHM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnlBeGlzLnN0YWNraW5nO3RoaXMub3B0aW9ucy5jZW50ZXJJbkNhdGVnb3J5JiYodGhpcy5pcygiY29sdW1uIil8fHRoaXMuaXMoImNvbHVtbnJhbmdlIikpJiYhdGhpcy5vcHRpb25zLnN0YWNraW5nJiYxPHRoaXMuY2hhcnQuc2VyaWVzLmxlbmd0aD9yLnByb3RvdHlwZS5zZXRTdGFja2VkUG9pbnRzLmNhbGwodGhpcywiZ3JvdXAiKTp0JiZ1KHQuc3RhY2tzLChmdW5jdGlvbihlLGkpeyJncm91cCI9PT1pLnNsaWNlKC01KSYmKHUoZSwoZnVuY3Rpb24odCl7cmV0dXJuIHQuZGVzdHJveSgpfSkpLGRlbGV0ZSB0LnN0YWNrc1tpXSl9KSl9LHIucHJvdG90eXBlLnNldFN0YWNrZWRQb2ludHM9ZnVuY3Rpb24odCl7dmFyIGU9dHx8dGhpcy5vcHRpb25zLnN0YWNraW5nO2lmKGUmJighMD09PXRoaXMudmlzaWJsZXx8ITE9PT10aGlzLmNoYXJ0Lm9wdGlvbnMuY2hhcnQuaWdub3JlSGlkZGVuU2VyaWVzKSl7dmFyIGk9dGhpcy5wcm9jZXNzZWRYRGF0YSxuPXRoaXMucHJvY2Vzc2VkWURhdGEscj1bXSxvPW4ubGVuZ3RoLGE9dGhpcy5vcHRpb25zLHM9YS50aHJlc2hvbGQsbD1mKGEuc3RhcnRGcm9tVGhyZXNob2xkJiZzLDApO2E9YS5zdGFjayx0PXQ/dGhpcy50eXBlKyIsIitlOnRoaXMuc3RhY2tLZXk7dmFyIGQsdSxnPSItIit0LHY9dGhpcy5uZWdTdGFja3MseT10aGlzLnlBeGlzLF89eS5zdGFja2luZy5zdGFja3MsYj15LnN0YWNraW5nLm9sZFN0YWNrcztmb3IoeS5zdGFja2luZy5zdGFja3NUb3VjaGVkKz0xLHU9MDt1PG87dSsrKXt2YXIgeD1pW3VdLHc9blt1XSxrPXRoaXMuZ2V0U3RhY2tJbmRpY2F0b3Ioayx4LHRoaXMuaW5kZXgpLEM9ay5rZXksUz0oZD12JiZ3PChsPzA6cykpP2c6dDtfW1NdfHwoX1tTXT17fSksX1tTXVt4XXx8KGJbU10mJmJbU11beF0/KF9bU11beF09YltTXVt4XSxfW1NdW3hdLnRvdGFsPW51bGwpOl9bU11beF09bmV3IG0oeSx5Lm9wdGlvbnMuc3RhY2tMYWJlbHMsZCx4LGEpKSxTPV9bU11beF0sbnVsbCE9PXc/KFMucG9pbnRzW0NdPVMucG9pbnRzW3RoaXMuaW5kZXhdPVtmKFMuY3VtdWxhdGl2ZSxsKV0saChTLmN1bXVsYXRpdmUpfHwoUy5iYXNlPUMpLFMudG91Y2hlZD15LnN0YWNraW5nLnN0YWNrc1RvdWNoZWQsMDxrLmluZGV4JiYhMT09PXRoaXMuc2luZ2xlU3RhY2tzJiYoUy5wb2ludHNbQ11bMF09Uy5wb2ludHNbdGhpcy5pbmRleCsiLCIreCsiLDAiXVswXSkpOlMucG9pbnRzW0NdPVMucG9pbnRzW3RoaXMuaW5kZXhdPW51bGwsInBlcmNlbnQiPT09ZT8oZD1kP3Q6Zyx2JiZfW2RdJiZfW2RdW3hdPyhkPV9bZF1beF0sUy50b3RhbD1kLnRvdGFsPU1hdGgubWF4KGQudG90YWwsUy50b3RhbCkrTWF0aC5hYnModyl8fDApOlMudG90YWw9YyhTLnRvdGFsKyhNYXRoLmFicyh3KXx8MCkpKToiZ3JvdXAiPT09ZT8ocCh3KSYmKHc9d1swXSksbnVsbCE9PXcmJihTLnRvdGFsPShTLnRvdGFsfHwwKSsxKSk6Uy50b3RhbD1jKFMudG90YWwrKHd8fDApKSxTLmN1bXVsYXRpdmU9Imdyb3VwIj09PWU/KFMudG90YWx8fDEpLTE6ZihTLmN1bXVsYXRpdmUsbCkrKHd8fDApLG51bGwhPT13JiYoUy5wb2ludHNbQ10ucHVzaChTLmN1bXVsYXRpdmUpLHJbdV09Uy5jdW11bGF0aXZlLFMuaGFzVmFsaWRQb2ludHM9ITApfSJwZXJjZW50Ij09PWUmJih5LnN0YWNraW5nLnVzZVBlcmNlbnRhZ2U9ITApLCJncm91cCIhPT1lJiYodGhpcy5zdGFja2VkWURhdGE9cikseS5zdGFja2luZy5vbGRTdGFja3M9e319fSxyLnByb3RvdHlwZS5tb2RpZnlTdGFja3M9ZnVuY3Rpb24oKXt2YXIgdCxlPXRoaXMsaT1lLnN0YWNrS2V5LG49ZS55QXhpcy5zdGFja2luZy5zdGFja3Mscj1lLnByb2Nlc3NlZFhEYXRhLG89ZS5vcHRpb25zLnN0YWNraW5nO2VbbysiU3RhY2tlciJdJiZbaSwiLSIraV0uZm9yRWFjaCgoZnVuY3Rpb24oaSl7Zm9yKHZhciBhLHMsYz1yLmxlbmd0aDtjLS07KWE9cltjXSx0PWUuZ2V0U3RhY2tJbmRpY2F0b3IodCxhLGUuaW5kZXgsaSksKHM9KGE9bltpXSYmbltpXVthXSkmJmEucG9pbnRzW3Qua2V5XSkmJmVbbysiU3RhY2tlciJdKHMsYSxjKX0pKX0sci5wcm90b3R5cGUucGVyY2VudFN0YWNrZXI9ZnVuY3Rpb24odCxlLGkpe2U9ZS50b3RhbD8xMDAvZS50b3RhbDowLHRbMF09Yyh0WzBdKmUpLHRbMV09Yyh0WzFdKmUpLHRoaXMuc3RhY2tlZFlEYXRhW2ldPXRbMV19LHIucHJvdG90eXBlLmdldFN0YWNrSW5kaWNhdG9yPWZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiFoKHQpfHx0LnghPT1lfHxuJiZ0LmtleSE9PW4/dD17eDplLGluZGV4OjAsa2V5Om59OnQuaW5kZXgrKyx0LmtleT1baSxlLHQuaW5kZXhdLmpvaW4oKSx0fSxuLlN0YWNrSXRlbT1tLG4uU3RhY2tJdGVtfSkpLGUoaSwiU2VyaWVzL0xpbmUvTGluZVNlcmllcy5qcyIsW2lbIkNvcmUvU2VyaWVzL1Nlcmllcy5qcyJdLGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbihlLGkpe3JldHVybiB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHkoaSkmJih0W2ldPWVbaV0pfSx0KGUsaSl9O3JldHVybiBmdW5jdGlvbihlLGkpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLGkpLGUucHJvdG90eXBlPW51bGw9PT1pP09iamVjdC5jcmVhdGUoaSk6KG4ucHJvdG90eXBlPWkucHJvdG90eXBlLG5ldyBuKX19KCkscj1pLmRlZmluZWQsbz1pLm1lcmdlO3JldHVybiBpPWZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGkoKXt2YXIgdD1udWxsIT09ZSYmZS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIHQuZGF0YT12b2lkIDAsdC5vcHRpb25zPXZvaWQgMCx0LnBvaW50cz12b2lkIDAsdH1yZXR1cm4gbihpLGUpLGkucHJvdG90eXBlLmRyYXdHcmFwaD1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10aGlzLm9wdGlvbnMsaT0odGhpcy5nYXBwZWRQYXRofHx0aGlzLmdldEdyYXBoUGF0aCkuY2FsbCh0aGlzKSxuPXRoaXMuY2hhcnQuc3R5bGVkTW9kZSxyPVtbImdyYXBoIiwiaGlnaGNoYXJ0cy1ncmFwaCJdXTtufHxyWzBdLnB1c2goZS5saW5lQ29sb3J8fHRoaXMuY29sb3J8fCIjY2NjY2NjIixlLmRhc2hTdHlsZSkscj10LmdldFpvbmVzR3JhcGhzKHIpLHIuZm9yRWFjaCgoZnVuY3Rpb24ocixvKXt2YXIgYT1yWzBdLHM9dFthXSxjPXM/ImFuaW1hdGUiOiJhdHRyIjtzPyhzLmVuZFg9dC5wcmV2ZW50R3JhcGhBbmltYXRpb24/bnVsbDppLnhNYXAscy5hbmltYXRlKHtkOml9KSk6aS5sZW5ndGgmJih0W2FdPXM9dC5jaGFydC5yZW5kZXJlci5wYXRoKGkpLmFkZENsYXNzKHJbMV0pLmF0dHIoe3pJbmRleDoxfSkuYWRkKHQuZ3JvdXApKSxzJiYhbiYmKGE9e3N0cm9rZTpyWzJdLCJzdHJva2Utd2lkdGgiOmUubGluZVdpZHRoLGZpbGw6dC5maWxsR3JhcGgmJnQuY29sb3J8fCJub25lIn0sclszXT9hLmRhc2hzdHlsZT1yWzNdOiJzcXVhcmUiIT09ZS5saW5lY2FwJiYoYVsic3Ryb2tlLWxpbmVjYXAiXT1hWyJzdHJva2UtbGluZWpvaW4iXT0icm91bmQiKSxzW2NdKGEpLnNoYWRvdygyPm8mJmUuc2hhZG93KSkscyYmKHMuc3RhcnRYPWkueE1hcCxzLmlzQXJlYT1pLmlzQXJlYSl9KSl9LGkucHJvdG90eXBlLmdldEdyYXBoUGF0aD1mdW5jdGlvbih0LGUsaSl7dmFyIG4sbz10aGlzLGE9by5vcHRpb25zLHM9W10sYz1bXSxoPWEuc3RlcDt0PXR8fG8ucG9pbnRzO3ZhciBsPXQucmV2ZXJzZWQ7cmV0dXJuIGwmJnQucmV2ZXJzZSgpLChoPXtyaWdodDoxLGNlbnRlcjoyfVtoXXx8aCYmMykmJmwmJihoPTQtaCksdD10aGlzLmdldFZhbGlkUG9pbnRzKHQsITEsIShhLmNvbm5lY3ROdWxscyYmIWUmJiFpKSksdC5mb3JFYWNoKChmdW5jdGlvbihsLHApe3ZhciBkPWwucGxvdFgsdT1sLnBsb3RZLGY9dFtwLTFdOyhsLmxlZnRDbGlmZnx8ZiYmZi5yaWdodENsaWZmKSYmIWkmJihuPSEwKSxsLmlzTnVsbCYmIXIoZSkmJjA8cD9uPSFhLmNvbm5lY3ROdWxsczpsLmlzTnVsbCYmIWU/bj0hMDooMD09PXB8fG4/cD1bWyJNIixsLnBsb3RYLGwucGxvdFldXTpvLmdldFBvaW50U3BsaW5lP3A9W28uZ2V0UG9pbnRTcGxpbmUodCxsLHApXTpoPyhwPTE9PT1oP1tbIkwiLGYucGxvdFgsdV1dOjI9PT1oP1tbIkwiLChmLnBsb3RYK2QpLzIsZi5wbG90WV0sWyJMIiwoZi5wbG90WCtkKS8yLHVdXTpbWyJMIixkLGYucGxvdFldXSxwLnB1c2goWyJMIixkLHVdKSk6cD1bWyJMIixkLHVdXSxjLnB1c2gobC54KSxoJiYoYy5wdXNoKGwueCksMj09PWgmJmMucHVzaChsLngpKSxzLnB1c2guYXBwbHkocyxwKSxuPSExKX0pKSxzLnhNYXA9YyxvLmdyYXBoUGF0aD1zfSxpLnByb3RvdHlwZS5nZXRab25lc0dyYXBocz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy56b25lcy5mb3JFYWNoKChmdW5jdGlvbihlLGkpe2k9WyJ6b25lLWdyYXBoLSIraSwiaGlnaGNoYXJ0cy1ncmFwaCBoaWdoY2hhcnRzLXpvbmUtZ3JhcGgtIitpKyIgIisoZS5jbGFzc05hbWV8fCIiKV0sdGhpcy5jaGFydC5zdHlsZWRNb2RlfHxpLnB1c2goZS5jb2xvcnx8dGhpcy5jb2xvcixlLmRhc2hTdHlsZXx8dGhpcy5vcHRpb25zLmRhc2hTdHlsZSksdC5wdXNoKGkpfSksdGhpcyksdH0saS5kZWZhdWx0T3B0aW9ucz1vKHQuZGVmYXVsdE9wdGlvbnMse30pLGl9KHQpLGUucmVnaXN0ZXJTZXJpZXNUeXBlKCJsaW5lIixpKSxpfSkpLGUoaSwiU2VyaWVzL0FyZWEvQXJlYVNlcmllcy5qcyIsW2lbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSxpWyJDb3JlL0xlZ2VuZC9MZWdlbmRTeW1ib2wuanMiXSxpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSxuKXt2YXIgcj10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbihlLGkpe3JldHVybiB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHkoaSkmJih0W2ldPWVbaV0pfSx0KGUsaSl9O3JldHVybiBmdW5jdGlvbihlLGkpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLGkpLGUucHJvdG90eXBlPW51bGw9PT1pP09iamVjdC5jcmVhdGUoaSk6KG4ucHJvdG90eXBlPWkucHJvdG90eXBlLG5ldyBuKX19KCksbz10LnBhcnNlLGE9aS5zZXJpZXNUeXBlcy5saW5lO3Q9bi5leHRlbmQ7dmFyIHM9bi5tZXJnZSxjPW4ub2JqZWN0RWFjaCxoPW4ucGljaztyZXR1cm4gbj1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9bnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiBlLmRhdGE9dm9pZCAwLGUub3B0aW9ucz12b2lkIDAsZS5wb2ludHM9dm9pZCAwLGV9cmV0dXJuIHIoZSx0KSxlLnByb3RvdHlwZS5kcmF3R3JhcGg9ZnVuY3Rpb24oKXt0aGlzLmFyZWFQYXRoPVtdLHQucHJvdG90eXBlLmRyYXdHcmFwaC5hcHBseSh0aGlzKTt2YXIgZT10aGlzLGk9dGhpcy5hcmVhUGF0aCxuPXRoaXMub3B0aW9ucyxyPVtbImFyZWEiLCJoaWdoY2hhcnRzLWFyZWEiLHRoaXMuY29sb3Isbi5maWxsQ29sb3JdXTt0aGlzLnpvbmVzLmZvckVhY2goKGZ1bmN0aW9uKHQsaSl7ci5wdXNoKFsiem9uZS1hcmVhLSIraSwiaGlnaGNoYXJ0cy1hcmVhIGhpZ2hjaGFydHMtem9uZS1hcmVhLSIraSsiICIrdC5jbGFzc05hbWUsdC5jb2xvcnx8ZS5jb2xvcix0LmZpbGxDb2xvcnx8bi5maWxsQ29sb3JdKX0pKSxyLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciByPXRbMF0sYT1lW3JdLHM9YT8iYW5pbWF0ZSI6ImF0dHIiLGM9e307YT8oYS5lbmRYPWUucHJldmVudEdyYXBoQW5pbWF0aW9uP251bGw6aS54TWFwLGEuYW5pbWF0ZSh7ZDppfSkpOihjLnpJbmRleD0wLGE9ZVtyXT1lLmNoYXJ0LnJlbmRlcmVyLnBhdGgoaSkuYWRkQ2xhc3ModFsxXSkuYWRkKGUuZ3JvdXApLGEuaXNBcmVhPSEwKSxlLmNoYXJ0LnN0eWxlZE1vZGV8fChjLmZpbGw9aCh0WzNdLG8odFsyXSkuc2V0T3BhY2l0eShoKG4uZmlsbE9wYWNpdHksLjc1KSkuZ2V0KCkpKSxhW3NdKGMpLGEuc3RhcnRYPWkueE1hcCxhLnNoaWZ0VW5pdD1uLnN0ZXA/MjoxfSkpfSxlLnByb3RvdHlwZS5nZXRHcmFwaFBhdGg9ZnVuY3Rpb24odCl7dmFyIGUsaT1hLnByb3RvdHlwZS5nZXRHcmFwaFBhdGgsbj10aGlzLm9wdGlvbnMscj1uLnN0YWNraW5nLG89dGhpcy55QXhpcyxzPVtdLGM9W10sbD10aGlzLmluZGV4LHA9by5zdGFja2luZy5zdGFja3NbdGhpcy5zdGFja0tleV0sZD1uLnRocmVzaG9sZCx1PU1hdGgucm91bmQoby5nZXRUaHJlc2hvbGQobi50aHJlc2hvbGQpKTtuPWgobi5jb25uZWN0TnVsbHMsInBlcmNlbnQiPT09cik7dmFyIGY9ZnVuY3Rpb24oZSxpLG4pe3ZhciBhPXRbZV07ZT1yJiZwW2EueF0ucG9pbnRzW2xdO3ZhciBoPWFbbisiTnVsbCJdfHwwO2lmKG49YVtuKyJDbGlmZiJdfHwwLGE9ITAsbnx8aCl7dmFyIGY9KGg/ZVswXTplWzFdKStuLG09ZVswXStuO2E9ISFofWVsc2UhciYmdFtpXSYmdFtpXS5pc051bGwmJihmPW09ZCk7InVuZGVmaW5lZCIhPT10eXBlb2YgZiYmKGMucHVzaCh7cGxvdFg6ZyxwbG90WTpudWxsPT09Zj91Om8uZ2V0VGhyZXNob2xkKGYpLGlzTnVsbDphLGlzQ2xpZmY6ITB9KSxzLnB1c2goe3Bsb3RYOmcscGxvdFk6bnVsbD09PW0/dTpvLmdldFRocmVzaG9sZChtKSxkb0N1cnZlOiExfSkpfTtmb3IodD10fHx0aGlzLnBvaW50cyxyJiYodD10aGlzLmdldFN0YWNrUG9pbnRzKHQpKSxlPTA7ZTx0Lmxlbmd0aDtlKyspe3J8fCh0W2VdLmxlZnRDbGlmZj10W2VdLnJpZ2h0Q2xpZmY9dFtlXS5sZWZ0TnVsbD10W2VdLnJpZ2h0TnVsbD12b2lkIDApO3ZhciBtPXRbZV0uaXNOdWxsLGc9aCh0W2VdLnJlY3RQbG90WCx0W2VdLnBsb3RYKSx2PXI/aCh0W2VdLnlCb3R0b20sdSk6dTttJiYhbnx8KG58fGYoZSxlLTEsImxlZnQiKSxtJiYhciYmbnx8KGMucHVzaCh0W2VdKSxzLnB1c2goe3g6ZSxwbG90WDpnLHBsb3RZOnZ9KSksbnx8ZihlLGUrMSwicmlnaHQiKSl9cmV0dXJuIGU9aS5jYWxsKHRoaXMsYywhMCwhMCkscy5yZXZlcnNlZD0hMCxtPWkuY2FsbCh0aGlzLHMsITAsITApLCh2PW1bMF0pJiYiTSI9PT12WzBdJiYobVswXT1bIkwiLHZbMV0sdlsyXV0pLG09ZS5jb25jYXQobSksbS5sZW5ndGgmJm0ucHVzaChbIloiXSksaT1pLmNhbGwodGhpcyxjLCExLG4pLG0ueE1hcD1lLnhNYXAsdGhpcy5hcmVhUGF0aD1tLGl9LGUucHJvdG90eXBlLmdldFN0YWNrUG9pbnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsaT1bXSxuPVtdLHI9dGhpcy54QXhpcyxvPXRoaXMueUF4aXMsYT1vLnN0YWNraW5nLnN0YWNrc1t0aGlzLnN0YWNrS2V5XSxzPXt9LGw9by5zZXJpZXMscD1sLmxlbmd0aCxkPW8ub3B0aW9ucy5yZXZlcnNlZFN0YWNrcz8xOi0xLHU9bC5pbmRleE9mKGUpO2lmKHQ9dHx8dGhpcy5wb2ludHMsdGhpcy5vcHRpb25zLnN0YWNraW5nKXtmb3IodmFyIGY9MDtmPHQubGVuZ3RoO2YrKyl0W2ZdLmxlZnROdWxsPXRbZl0ucmlnaHROdWxsPXZvaWQgMCxzW3RbZl0ueF09dFtmXTtjKGEsKGZ1bmN0aW9uKHQsZSl7bnVsbCE9PXQudG90YWwmJm4ucHVzaChlKX0pKSxuLnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQtZX0pKTt2YXIgbT1sLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHQudmlzaWJsZX0pKTtuLmZvckVhY2goKGZ1bmN0aW9uKHQsYyl7dmFyIGYsZyx2PTA7aWYoc1t0XSYmIXNbdF0uaXNOdWxsKWkucHVzaChzW3RdKSxbLTEsMV0uZm9yRWFjaCgoZnVuY3Rpb24oaSl7dmFyIHI9MT09PWk/InJpZ2h0TnVsbCI6ImxlZnROdWxsIixvPTAsaD1hW25bYytpXV07aWYoaClmb3IodmFyIHY9dTswPD12JiZ2PHA7KXt2YXIgeT1sW3ZdLmluZGV4O2Y9aC5wb2ludHNbeV0sZnx8KHk9PT1lLmluZGV4P3NbdF1bcl09ITA6bVt2XSYmKGc9YVt0XS5wb2ludHNbeV0pJiYoby09Z1sxXS1nWzBdKSksdis9ZH1zW3RdWzE9PT1pPyJyaWdodENsaWZmIjoibGVmdENsaWZmIl09b30pKTtlbHNle2Zvcih2YXIgeT11OzA8PXkmJnk8cDspe2lmKGY9YVt0XS5wb2ludHNbbFt5XS5pbmRleF0pe3Y9ZlsxXTticmVha315Kz1kfXY9aCh2LDApLHY9by50cmFuc2xhdGUodiwwLDEsMCwxKSxpLnB1c2goe2lzTnVsbDohMCxwbG90WDpyLnRyYW5zbGF0ZSh0LDAsMCwwLDEpLHg6dCxwbG90WTp2LHlCb3R0b206dn0pfX0pKX1yZXR1cm4gaX0sZS5kZWZhdWx0T3B0aW9ucz1zKGEuZGVmYXVsdE9wdGlvbnMse3RocmVzaG9sZDowfSksZX0oYSksdChuLnByb3RvdHlwZSx7c2luZ2xlU3RhY2tzOiExLGRyYXdMZWdlbmRTeW1ib2w6ZS5kcmF3UmVjdGFuZ2xlfSksaS5yZWdpc3RlclNlcmllc1R5cGUoImFyZWEiLG4pLG59KSksZShpLCJTZXJpZXMvU3BsaW5lL1NwbGluZVNlcmllcy5qcyIsW2lbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gZSllLmhhc093blByb3BlcnR5KGkpJiYodFtpXT1lW2ldKX0sdChlLGkpfTtyZXR1cm4gZnVuY3Rpb24oZSxpKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXQoZSxpKSxlLnByb3RvdHlwZT1udWxsPT09aT9PYmplY3QuY3JlYXRlKGkpOihuLnByb3RvdHlwZT1pLnByb3RvdHlwZSxuZXcgbil9fSgpLG49dC5zZXJpZXNUeXBlcy5saW5lLHI9ZS5tZXJnZSxvPWUucGljaztyZXR1cm4gZT1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9bnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiBlLmRhdGE9dm9pZCAwLGUub3B0aW9ucz12b2lkIDAsZS5wb2ludHM9dm9pZCAwLGV9cmV0dXJuIGkoZSx0KSxlLnByb3RvdHlwZS5nZXRQb2ludFNwbGluZT1mdW5jdGlvbih0LGUsaSl7dmFyIG49ZS5wbG90WHx8MCxyPWUucGxvdFl8fDAsYT10W2ktMV07aWYoaT10W2krMV0sYSYmIWEuaXNOdWxsJiYhMSE9PWEuZG9DdXJ2ZSYmIWUuaXNDbGlmZiYmaSYmIWkuaXNOdWxsJiYhMSE9PWkuZG9DdXJ2ZSYmIWUuaXNDbGlmZil7dD1hLnBsb3RZfHwwO3ZhciBzPWkucGxvdFh8fDA7aT1pLnBsb3RZfHwwO3ZhciBjPTAsaD0oMS41Km4rKGEucGxvdFh8fDApKS8yLjUsbD0oMS41KnIrdCkvMi41O3M9KDEuNSpuK3MpLzIuNTt2YXIgcD0oMS41KnIraSkvMi41O3MhPT1oJiYoYz0ocC1sKSoocy1uKS8ocy1oKStyLXApLGwrPWMscCs9YyxsPnQmJmw+cj8obD1NYXRoLm1heCh0LHIpLHA9MipyLWwpOmw8dCYmbDxyJiYobD1NYXRoLm1pbih0LHIpLHA9MipyLWwpLHA+aSYmcD5yPyhwPU1hdGgubWF4KGksciksbD0yKnItcCk6cDxpJiZwPHImJihwPU1hdGgubWluKGksciksbD0yKnItcCksZS5yaWdodENvbnRYPXMsZS5yaWdodENvbnRZPXB9cmV0dXJuIGU9WyJDIixvKGEucmlnaHRDb250WCxhLnBsb3RYLDApLG8oYS5yaWdodENvbnRZLGEucGxvdFksMCksbyhoLG4sMCksbyhsLHIsMCksbixyXSxhLnJpZ2h0Q29udFg9YS5yaWdodENvbnRZPXZvaWQgMCxlfSxlLmRlZmF1bHRPcHRpb25zPXIobi5kZWZhdWx0T3B0aW9ucyksZX0obiksdC5yZWdpc3RlclNlcmllc1R5cGUoInNwbGluZSIsZSksZX0pKSxlKGksIlNlcmllcy9BcmVhU3BsaW5lL0FyZWFTcGxpbmVTZXJpZXMuanMiLFtpWyJTZXJpZXMvQXJlYS9BcmVhU2VyaWVzLmpzIl0saVsiU2VyaWVzL1NwbGluZS9TcGxpbmVTZXJpZXMuanMiXSxpWyJDb3JlL0xlZ2VuZC9MZWdlbmRTeW1ib2wuanMiXSxpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSxuLHIpe3ZhciBvPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKGUsaSl7cmV0dXJuIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShpKSYmKHRbaV09ZVtpXSl9LHQoZSxpKX07cmV0dXJuIGZ1bmN0aW9uKGUsaSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9ZX10KGUsaSksZS5wcm90b3R5cGU9bnVsbD09PWk/T2JqZWN0LmNyZWF0ZShpKToobi5wcm90b3R5cGU9aS5wcm90b3R5cGUsbmV3IG4pfX0oKSxhPXQucHJvdG90eXBlLHM9ci5leHRlbmQsYz1yLm1lcmdlO3JldHVybiByPWZ1bmN0aW9uKGkpe2Z1bmN0aW9uIG4oKXt2YXIgdD1udWxsIT09aSYmaS5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIHQuZGF0YT12b2lkIDAsdC5wb2ludHM9dm9pZCAwLHQub3B0aW9ucz12b2lkIDAsdH1yZXR1cm4gbyhuLGkpLG4uZGVmYXVsdE9wdGlvbnM9YyhlLmRlZmF1bHRPcHRpb25zLHQuZGVmYXVsdE9wdGlvbnMpLG59KGUpLHMoci5wcm90b3R5cGUse2dldEdyYXBoUGF0aDphLmdldEdyYXBoUGF0aCxnZXRTdGFja1BvaW50czphLmdldFN0YWNrUG9pbnRzLGRyYXdHcmFwaDphLmRyYXdHcmFwaCxkcmF3TGVnZW5kU3ltYm9sOmkuZHJhd1JlY3RhbmdsZX0pLG4ucmVnaXN0ZXJTZXJpZXNUeXBlKCJhcmVhc3BsaW5lIixyKSxyfSkpLGUoaSwiU2VyaWVzL0NvbHVtbi9Db2x1bW5TZXJpZXMuanMiLFtpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSxpWyJDb3JlL0NvbG9yL0NvbG9yLmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9MZWdlbmQvTGVnZW5kU3ltYm9sLmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzLmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbixyLG8sYSl7dmFyIHM9dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gZSllLmhhc093blByb3BlcnR5KGkpJiYodFtpXT1lW2ldKX0sdChlLGkpfTtyZXR1cm4gZnVuY3Rpb24oZSxpKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXQoZSxpKSxlLnByb3RvdHlwZT1udWxsPT09aT9PYmplY3QuY3JlYXRlKGkpOihuLnByb3RvdHlwZT1pLnByb3RvdHlwZSxuZXcgbil9fSgpLGM9dC5hbmltT2JqZWN0LGg9ZS5wYXJzZSxsPWkuaGFzVG91Y2g7dD1pLm5vb3A7dmFyIHA9YS5jbGFtcCxkPWEuY3NzLHU9YS5kZWZpbmVkLGY9YS5leHRlbmQsbT1hLmZpcmVFdmVudCxnPWEuaXNBcnJheSx2PWEuaXNOdW1iZXIseT1hLm1lcmdlLF89YS5waWNrLGI9YS5vYmplY3RFYWNoO3JldHVybiBhPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT1udWxsIT09dCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIGUuYm9yZGVyV2lkdGg9dm9pZCAwLGUuZGF0YT12b2lkIDAsZS5ncm91cD12b2lkIDAsZS5vcHRpb25zPXZvaWQgMCxlLnBvaW50cz12b2lkIDAsZX1yZXR1cm4gcyhlLHQpLGUucHJvdG90eXBlLmFuaW1hdGU9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPXRoaXMueUF4aXMsbj1lLm9wdGlvbnMscj10aGlzLmNoYXJ0LmludmVydGVkLG89e30sYT1yPyJ0cmFuc2xhdGVYIjoidHJhbnNsYXRlWSI7aWYodClvLnNjYWxlWT0uMDAxLHQ9cChpLnRvUGl4ZWxzKG4udGhyZXNob2xkKSxpLnBvcyxpLnBvcytpLmxlbikscj9vLnRyYW5zbGF0ZVg9dC1pLmxlbjpvLnRyYW5zbGF0ZVk9dCxlLmNsaXBCb3gmJmUuc2V0Q2xpcCgpLGUuZ3JvdXAuYXR0cihvKTtlbHNle3ZhciBzPU51bWJlcihlLmdyb3VwLmF0dHIoYSkpO2UuZ3JvdXAuYW5pbWF0ZSh7c2NhbGVZOjF9LGYoYyhlLm9wdGlvbnMuYW5pbWF0aW9uKSx7c3RlcDpmdW5jdGlvbih0LG4pe2UuZ3JvdXAmJihvW2FdPXMrbi5wb3MqKGkucG9zLXMpLGUuZ3JvdXAuYXR0cihvKSl9fSkpfX0sZS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbihlLGkpe3QucHJvdG90eXBlLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpO3ZhciBuPXRoaXM7ZT1uLmNoYXJ0LGUuaGFzUmVuZGVyZWQmJmUuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QudHlwZT09PW4udHlwZSYmKHQuaXNEaXJ0eT0hMCl9KSl9LGUucHJvdG90eXBlLmdldENvbHVtbk1ldHJpY3M9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5vcHRpb25zLGk9dC54QXhpcyxuPXQueUF4aXMscj1pLm9wdGlvbnMucmV2ZXJzZWRTdGFja3M7cj1pLnJldmVyc2VkJiYhcnx8IWkucmV2ZXJzZWQmJnI7dmFyIG8sYT17fSxzPTA7ITE9PT1lLmdyb3VwaW5nP3M9MTp0LmNoYXJ0LnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihlKXt2YXIgaT1lLnlBeGlzLHI9ZS5vcHRpb25zO2lmKGUudHlwZT09PXQudHlwZSYmKGUudmlzaWJsZXx8IXQuY2hhcnQub3B0aW9ucy5jaGFydC5pZ25vcmVIaWRkZW5TZXJpZXMpJiZuLmxlbj09PWkubGVuJiZuLnBvcz09PWkucG9zKXtpZihyLnN0YWNraW5nJiYiZ3JvdXAiIT09ci5zdGFja2luZyl7bz1lLnN0YWNrS2V5LCJ1bmRlZmluZWQiPT09dHlwZW9mIGFbb10mJihhW29dPXMrKyk7dmFyIGM9YVtvXX1lbHNlITEhPT1yLmdyb3VwaW5nJiYoYz1zKyspO2UuY29sdW1uSW5kZXg9Y319KSk7dmFyIGM9TWF0aC5taW4oTWF0aC5hYnMoaS50cmFuc0EpKihpLm9yZGluYWwmJmkub3JkaW5hbC5zbG9wZXx8ZS5wb2ludFJhbmdlfHxpLmNsb3Nlc3RQb2ludFJhbmdlfHxpLnRpY2tJbnRlcnZhbHx8MSksaS5sZW4pLGg9YyplLmdyb3VwUGFkZGluZyxsPShjLTIqaCkvKHN8fDEpO3JldHVybiBlPU1hdGgubWluKGUubWF4UG9pbnRXaWR0aHx8aS5sZW4sXyhlLnBvaW50V2lkdGgsbCooMS0yKmUucG9pbnRQYWRkaW5nKSkpLHQuY29sdW1uTWV0cmljcz17d2lkdGg6ZSxvZmZzZXQ6KGwtZSkvMisoaCsoKHQuY29sdW1uSW5kZXh8fDApKyhyPzE6MCkpKmwtYy8yKSoocj8tMToxKSxwYWRkZWRXaWR0aDpsLGNvbHVtbkNvdW50OnN9LHQuY29sdW1uTWV0cmljc30sZS5wcm90b3R5cGUuY3Jpc3BDb2w9ZnVuY3Rpb24odCxlLGksbil7dmFyIHI9dGhpcy5jaGFydCxvPXRoaXMuYm9yZGVyV2lkdGgsYT0tKG8lMj8uNTowKTtyZXR1cm4gbz1vJTI/LjU6MSxyLmludmVydGVkJiZyLnJlbmRlcmVyLmlzVk1MJiYobys9MSksdGhpcy5vcHRpb25zLmNyaXNwJiYoaT1NYXRoLnJvdW5kKHQraSkrYSx0PU1hdGgucm91bmQodCkrYSxpLT10KSxuPU1hdGgucm91bmQoZStuKStvLGE9LjU+PU1hdGguYWJzKGUpJiYuNTxuLGU9TWF0aC5yb3VuZChlKStvLG4tPWUsYSYmbiYmKC0tZSxuKz0xKSx7eDp0LHk6ZSx3aWR0aDppLGhlaWdodDpufX0sZS5wcm90b3R5cGUuYWRqdXN0Rm9yTWlzc2luZ0NvbHVtbnM9ZnVuY3Rpb24odCxlLGksbil7dmFyIHI9dGhpcyxvPXRoaXMub3B0aW9ucy5zdGFja2luZztpZighaS5pc051bGwmJjE8bi5jb2x1bW5Db3VudCl7dmFyIGE9MCxzPTA7Yih0aGlzLnlBeGlzLnN0YWNraW5nJiZ0aGlzLnlBeGlzLnN0YWNraW5nLnN0YWNrcywoZnVuY3Rpb24odCl7aWYoIm51bWJlciI9PT10eXBlb2YgaS54JiYodD10W2kueC50b1N0cmluZygpXSkpe3ZhciBlPXQucG9pbnRzW3IuaW5kZXhdLG49dC50b3RhbDtvPyhlJiYoYT1zKSx0Lmhhc1ZhbGlkUG9pbnRzJiZzKyspOmcoZSkmJihhPWVbMV0scz1ufHwwKX19KSksdD0oaS5wbG90WHx8MCkrKChzLTEpKm4ucGFkZGVkV2lkdGgrZSkvMi1lLWEqbi5wYWRkZWRXaWR0aH1yZXR1cm4gdH0sZS5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuY2hhcnQsaT10Lm9wdGlvbnMsbj10LmRlbnNlPTI+dC5jbG9zZXN0UG9pbnRSYW5nZSp0LnhBeGlzLnRyYW5zQTtuPXQuYm9yZGVyV2lkdGg9XyhpLmJvcmRlcldpZHRoLG4/MDoxKTt2YXIgbz10LnhBeGlzLGE9dC55QXhpcyxzPWkudGhyZXNob2xkLGM9dC50cmFuc2xhdGVkVGhyZXNob2xkPWEuZ2V0VGhyZXNob2xkKHMpLGg9XyhpLm1pblBvaW50TGVuZ3RoLDUpLGw9dC5nZXRDb2x1bW5NZXRyaWNzKCksZD1sLndpZHRoLGY9dC5wb2ludFhPZmZzZXQ9bC5vZmZzZXQsbT10LmRhdGFNaW4sZz10LmRhdGFNYXgseT10LmJhclc9TWF0aC5tYXgoZCwxKzIqbik7ZS5pbnZlcnRlZCYmKGMtPS41KSxpLnBvaW50UGFkZGluZyYmKHk9TWF0aC5jZWlsKHkpKSxyLnByb3RvdHlwZS50cmFuc2xhdGUuYXBwbHkodCksdC5wb2ludHMuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIHI9XyhuLnlCb3R0b20sYyksYj05OTkrTWF0aC5hYnMocikseD1uLnBsb3RYfHwwO2I9cChuLnBsb3RZLC1iLGEubGVuK2IpO3ZhciB3PU1hdGgubWluKGIsciksaz1NYXRoLm1heChiLHIpLXcsQz1kLFM9eCtmLEE9eTtoJiZNYXRoLmFicyhrKTxoJiYoaz1oLHg9IWEucmV2ZXJzZWQmJiFuLm5lZ2F0aXZlfHxhLnJldmVyc2VkJiZuLm5lZ2F0aXZlLHYocykmJnYoZykmJm4ueT09PXMmJmc8PXMmJihhLm1pbnx8MCk8cyYmKG0hPT1nfHwoYS5tYXh8fDApPD1zKSYmKHg9IXgpLHc9TWF0aC5hYnMody1jKT5oP3ItaDpjLSh4P2g6MCkpLHUobi5vcHRpb25zLnBvaW50V2lkdGgpJiYoQz1BPU1hdGguY2VpbChuLm9wdGlvbnMucG9pbnRXaWR0aCksUy09TWF0aC5yb3VuZCgoQy1kKS8yKSksaS5jZW50ZXJJbkNhdGVnb3J5JiYoUz10LmFkanVzdEZvck1pc3NpbmdDb2x1bW5zKFMsQyxuLGwpKSxuLmJhclg9UyxuLnBvaW50V2lkdGg9QyxuLnRvb2x0aXBQb3M9ZS5pbnZlcnRlZD9bcChhLmxlbithLnBvcy1lLnBsb3RMZWZ0LWIsYS5wb3MtZS5wbG90TGVmdCxhLmxlbithLnBvcy1lLnBsb3RMZWZ0KSxvLmxlbitvLnBvcy1lLnBsb3RUb3AtUy1BLzIsa106W28ubGVmdC1lLnBsb3RMZWZ0K1MrQS8yLHAoYithLnBvcy1lLnBsb3RUb3AsYS5wb3MtZS5wbG90VG9wLGEubGVuK2EucG9zLWUucGxvdFRvcCksa10sbi5zaGFwZVR5cGU9dC5wb2ludENsYXNzLnByb3RvdHlwZS5zaGFwZVR5cGV8fCJyZWN0IixuLnNoYXBlQXJncz10LmNyaXNwQ29sLmFwcGx5KHQsbi5pc051bGw/W1MsYyxBLDBdOltTLHcsQSxrXSl9KSl9LGUucHJvdG90eXBlLmRyYXdHcmFwaD1mdW5jdGlvbigpe3RoaXMuZ3JvdXBbdGhpcy5kZW5zZT8iYWRkQ2xhc3MiOiJyZW1vdmVDbGFzcyJdKCJoaWdoY2hhcnRzLWRlbnNlLWRhdGEiKX0sZS5wcm90b3R5cGUucG9pbnRBdHRyaWJzPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5vcHRpb25zLG49dGhpcy5wb2ludEF0dHJUb09wdGlvbnN8fHt9LHI9bi5zdHJva2V8fCJib3JkZXJDb2xvciIsbz1uWyJzdHJva2Utd2lkdGgiXXx8ImJvcmRlcldpZHRoIixhPXQmJnQuY29sb3J8fHRoaXMuY29sb3Iscz10JiZ0W3JdfHxpW3JdfHxhO249dCYmdC5vcHRpb25zLmRhc2hTdHlsZXx8aS5kYXNoU3R5bGU7dmFyIGM9dCYmdFtvXXx8aVtvXXx8dGhpc1tvXXx8MCxsPV8odCYmdC5vcGFjaXR5LGkub3BhY2l0eSwxKTtpZih0JiZ0aGlzLnpvbmVzLmxlbmd0aCl7dmFyIHA9dC5nZXRab25lKCk7YT10Lm9wdGlvbnMuY29sb3J8fHAmJihwLmNvbG9yfHx0Lm5vblpvbmVkQ29sb3IpfHx0aGlzLmNvbG9yLHAmJihzPXAuYm9yZGVyQ29sb3J8fHMsbj1wLmRhc2hTdHlsZXx8bixjPXAuYm9yZGVyV2lkdGh8fGMpfXJldHVybiBlJiZ0JiYodD15KGkuc3RhdGVzW2VdLHQub3B0aW9ucy5zdGF0ZXMmJnQub3B0aW9ucy5zdGF0ZXNbZV18fHt9KSxlPXQuYnJpZ2h0bmVzcyxhPXQuY29sb3J8fCJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJmgoYSkuYnJpZ2h0ZW4odC5icmlnaHRuZXNzKS5nZXQoKXx8YSxzPXRbcl18fHMsYz10W29dfHxjLG49dC5kYXNoU3R5bGV8fG4sbD1fKHQub3BhY2l0eSxsKSkscj17ZmlsbDphLHN0cm9rZTpzLCJzdHJva2Utd2lkdGgiOmMsb3BhY2l0eTpsfSxuJiYoci5kYXNoc3R5bGU9bikscn0sZS5wcm90b3R5cGUuZHJhd1BvaW50cz1mdW5jdGlvbigpe3ZhciB0LGU9dGhpcyxpPXRoaXMuY2hhcnQsbj1lLm9wdGlvbnMscj1pLnJlbmRlcmVyLG89bi5hbmltYXRpb25MaW1pdHx8MjUwO2UucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKGEpe3ZhciBzPWEuZ3JhcGhpYyxjPSEhcyxoPXMmJmkucG9pbnRDb3VudDxvPyJhbmltYXRlIjoiYXR0ciI7dihhLnBsb3RZKSYmbnVsbCE9PWEueT8odD1hLnNoYXBlQXJncyxzJiZhLmhhc05ld1NoYXBlVHlwZSgpJiYocz1zLmRlc3Ryb3koKSksZS5lbmFibGVkRGF0YVNvcnRpbmcmJihhLnN0YXJ0WFBvcz1lLnhBeGlzLnJldmVyc2VkPy0odCYmdC53aWR0aHx8MCk6ZS54QXhpcy53aWR0aCksc3x8KGEuZ3JhcGhpYz1zPXJbYS5zaGFwZVR5cGVdKHQpLmFkZChhLmdyb3VwfHxlLmdyb3VwKSkmJmUuZW5hYmxlZERhdGFTb3J0aW5nJiZpLmhhc1JlbmRlcmVkJiZpLnBvaW50Q291bnQ8byYmKHMuYXR0cih7eDphLnN0YXJ0WFBvc30pLGM9ITAsaD0iYW5pbWF0ZSIpLHMmJmMmJnNbaF0oeSh0KSksbi5ib3JkZXJSYWRpdXMmJnNbaF0oe3I6bi5ib3JkZXJSYWRpdXN9KSxpLnN0eWxlZE1vZGV8fHNbaF0oZS5wb2ludEF0dHJpYnMoYSxhLnNlbGVjdGVkJiYic2VsZWN0IikpLnNoYWRvdyghMSE9PWEuYWxsb3dTaGFkb3cmJm4uc2hhZG93LG51bGwsbi5zdGFja2luZyYmIW4uYm9yZGVyUmFkaXVzKSxzJiYocy5hZGRDbGFzcyhhLmdldENsYXNzTmFtZSgpLCEwKSxzLmF0dHIoe3Zpc2liaWxpdHk6YS52aXNpYmxlPyJpbmhlcml0IjoiaGlkZGVuIn0pKSk6cyYmKGEuZ3JhcGhpYz1zLmRlc3Ryb3koKSl9KSl9LGUucHJvdG90eXBlLmRyYXdUcmFja2VyPWZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLGk9ZS5jaGFydCxuPWkucG9pbnRlcixyPWZ1bmN0aW9uKHQpe3ZhciBlPW4uZ2V0UG9pbnRGcm9tRXZlbnQodCk7InVuZGVmaW5lZCIhPT10eXBlb2YgZSYmKG4uaXNEaXJlY3RUb3VjaD0hMCxlLm9uTW91c2VPdmVyKHQpKX07ZS5wb2ludHMuZm9yRWFjaCgoZnVuY3Rpb24oZSl7dD1nKGUuZGF0YUxhYmVscyk/ZS5kYXRhTGFiZWxzOmUuZGF0YUxhYmVsP1tlLmRhdGFMYWJlbF06W10sZS5ncmFwaGljJiYoZS5ncmFwaGljLmVsZW1lbnQucG9pbnQ9ZSksdC5mb3JFYWNoKChmdW5jdGlvbih0KXt0LmRpdj90LmRpdi5wb2ludD1lOnQuZWxlbWVudC5wb2ludD1lfSkpfSkpLGUuX2hhc1RyYWNraW5nfHwoZS50cmFja2VyR3JvdXBzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2VbdF0mJihlW3RdLmFkZENsYXNzKCJoaWdoY2hhcnRzLXRyYWNrZXIiKS5vbigibW91c2VvdmVyIixyKS5vbigibW91c2VvdXQiLChmdW5jdGlvbih0KXtuLm9uVHJhY2tlck1vdXNlT3V0KHQpfSkpLGwmJmVbdF0ub24oInRvdWNoc3RhcnQiLHIpLCFpLnN0eWxlZE1vZGUmJmUub3B0aW9ucy5jdXJzb3ImJmVbdF0uY3NzKGQpLmNzcyh7Y3Vyc29yOmUub3B0aW9ucy5jdXJzb3J9KSl9KSksZS5faGFzVHJhY2tpbmc9ITApLG0odGhpcywiYWZ0ZXJEcmF3VHJhY2tlciIpfSxlLnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5jaGFydDtlLmhhc1JlbmRlcmVkJiZlLnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbihlKXtlLnR5cGU9PT10LnR5cGUmJihlLmlzRGlydHk9ITApfSkpLHIucHJvdG90eXBlLnJlbW92ZS5hcHBseSh0LGFyZ3VtZW50cyl9LGUuZGVmYXVsdE9wdGlvbnM9eShyLmRlZmF1bHRPcHRpb25zLHtib3JkZXJSYWRpdXM6MCxjZW50ZXJJbkNhdGVnb3J5OiExLGdyb3VwUGFkZGluZzouMixtYXJrZXI6bnVsbCxwb2ludFBhZGRpbmc6LjEsbWluUG9pbnRMZW5ndGg6MCxjcm9wVGhyZXNob2xkOjUwLHBvaW50UmFuZ2U6bnVsbCxzdGF0ZXM6e2hvdmVyOntoYWxvOiExLGJyaWdodG5lc3M6LjF9LHNlbGVjdDp7Y29sb3I6IiNjY2NjY2MiLGJvcmRlckNvbG9yOiIjMDAwMDAwIn19LGRhdGFMYWJlbHM6e2FsaWduOnZvaWQgMCx2ZXJ0aWNhbEFsaWduOnZvaWQgMCx5OnZvaWQgMH0sc3RhcnRGcm9tVGhyZXNob2xkOiEwLHN0aWNreVRyYWNraW5nOiExLHRvb2x0aXA6e2Rpc3RhbmNlOjZ9LHRocmVzaG9sZDowLGJvcmRlckNvbG9yOiIjZmZmZmZmIn0pLGV9KHIpLGYoYS5wcm90b3R5cGUse2Nyb3BTaG91bGRlcjowLGRpcmVjdFRvdWNoOiEwLGRyYXdMZWdlbmRTeW1ib2w6bi5kcmF3UmVjdGFuZ2xlLGdldFN5bWJvbDp0LG5lZ1N0YWNrczohMCx0cmFja2VyR3JvdXBzOlsiZ3JvdXAiLCJkYXRhTGFiZWxzR3JvdXAiXX0pLG8ucmVnaXN0ZXJTZXJpZXNUeXBlKCJjb2x1bW4iLGEpLGF9KSksZShpLCJDb3JlL1Nlcmllcy9EYXRhTGFiZWwuanMiLFtpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSxpWyJDb3JlL0Zvcm1hdFV0aWxpdGllcy5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSl7dmFyIG4scj10LmdldERlZmVycmVkQW5pbWF0aW9uLG89ZS5mb3JtYXQsYT1pLmRlZmluZWQscz1pLmV4dGVuZCxjPWkuZmlyZUV2ZW50LGg9aS5pc0FycmF5LGw9aS5tZXJnZSxwPWkub2JqZWN0RWFjaCxkPWkucGljayx1PWkuc3BsYXQ7cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCxlLGksbixyKXt2YXIgbz10aGlzLGE9dGhpcy5jaGFydCxjPXRoaXMuaXNDYXJ0ZXNpYW4mJmEuaW52ZXJ0ZWQsaD10aGlzLmVuYWJsZWREYXRhU29ydGluZyxsPWQodC5kbEJveCYmdC5kbEJveC5jZW50ZXJYLHQucGxvdFgsLTk5OTkpLHA9ZCh0LnBsb3RZLC05OTk5KSx1PWUuZ2V0QkJveCgpLGY9aS5yb3RhdGlvbixtPWkuYWxpZ24sZz1hLmlzSW5zaWRlUGxvdChsLE1hdGgucm91bmQocCkse2ludmVydGVkOmMscGFuZUNvb3JkaW5hdGVzOiEwLHNlcmllczpvfSksdj1mdW5jdGlvbihpKXtoJiZvLnhBeGlzJiYheSYmby5zZXREYXRhTGFiZWxTdGFydFBvcyh0LGUscixnLGkpfSx5PSJqdXN0aWZ5Ij09PWQoaS5vdmVyZmxvdyxoPyJub25lIjoianVzdGlmeSIpLF89dGhpcy52aXNpYmxlJiYhMSE9PXQudmlzaWJsZSYmKHQuc2VyaWVzLmZvcmNlREx8fGgmJiF5fHxnfHxkKGkuaW5zaWRlLCEhdGhpcy5vcHRpb25zLnN0YWNraW5nKSYmbiYmYS5pc0luc2lkZVBsb3QobCxjP24ueCsxOm4ueStuLmhlaWdodC0xLHtpbnZlcnRlZDpjLHBhbmVDb29yZGluYXRlczohMCxzZXJpZXM6b30pKTtpZihfKXt2YXIgYj1hLnJlbmRlcmVyLmZvbnRNZXRyaWNzKGEuc3R5bGVkTW9kZT92b2lkIDA6aS5zdHlsZS5mb250U2l6ZSxlKS5iO249cyh7eDpjP3RoaXMueUF4aXMubGVuLXA6bCx5Ok1hdGgucm91bmQoYz90aGlzLnhBeGlzLmxlbi1sOnApLHdpZHRoOjAsaGVpZ2h0OjB9LG4pLHMoaSx7d2lkdGg6dS53aWR0aCxoZWlnaHQ6dS5oZWlnaHR9KSxmPyh5PSExLGw9YS5yZW5kZXJlci5yb3RDb3JyKGIsZiksbD17eDpuLngrKGkueHx8MCkrbi53aWR0aC8yK2wueCx5Om4ueSsoaS55fHwwKSt7dG9wOjAsbWlkZGxlOi41LGJvdHRvbToxfVtpLnZlcnRpY2FsQWxpZ25dKm4uaGVpZ2h0fSx2KGwpLGVbcj8iYXR0ciI6ImFuaW1hdGUiXShsKS5hdHRyKHthbGlnbjptfSksdj0oZis3MjApJTM2MCx2PTE4MDx2JiYzNjA+diwibGVmdCI9PT1tP2wueS09dj91LmhlaWdodDowOiJjZW50ZXIiPT09bT8obC54LT11LndpZHRoLzIsbC55LT11LmhlaWdodC8yKToicmlnaHQiPT09bSYmKGwueC09dS53aWR0aCxsLnktPXY/MDp1LmhlaWdodCksZS5wbGFjZWQ9ITAsZS5hbGlnbkF0dHI9bCk6KHYobiksZS5hbGlnbihpLHZvaWQgMCxuKSxsPWUuYWxpZ25BdHRyKSx5JiYwPD1uLmhlaWdodD90aGlzLmp1c3RpZnlEYXRhTGFiZWwoZSxpLGwsdSxuLHIpOmQoaS5jcm9wLCEwKSYmKF89YS5pc0luc2lkZVBsb3QobC54LGwueSx7cGFuZUNvb3JkaW5hdGVzOiEwLHNlcmllczpvfSkmJmEuaXNJbnNpZGVQbG90KGwueCt1LndpZHRoLGwueSt1LmhlaWdodCx7cGFuZUNvb3JkaW5hdGVzOiEwLHNlcmllczpvfSkpLGkuc2hhcGUmJiFmJiZlW3I/ImF0dHIiOiJhbmltYXRlIl0oe2FuY2hvclg6Yz9hLnBsb3RXaWR0aC10LnBsb3RZOnQucGxvdFgsYW5jaG9yWTpjP2EucGxvdEhlaWdodC10LnBsb3RYOnQucGxvdFl9KX1yJiZoJiYoZS5wbGFjZWQ9ITEpLF98fGgmJiF5fHwoZS5oaWRlKCEwKSxlLnBsYWNlZD0hMSl9ZnVuY3Rpb24gaSh0LGUpe3ZhciBpPWUuZmlsdGVyO3JldHVybiFpfHwoZT1pLm9wZXJhdG9yLHQ9dFtpLnByb3BlcnR5XSxpPWkudmFsdWUsIj4iPT09ZSYmdD5pfHwiPCI9PT1lJiZ0PGl8fCI+PSI9PT1lJiZ0Pj1pfHwiPD0iPT09ZSYmdDw9aXx8Ij09Ij09PWUmJnQ9PWl8fCI9PT0iPT09ZSYmdD09PWkpfWZ1bmN0aW9uIG4oKXt2YXIgdCxlPXRoaXMsbj1lLmNoYXJ0LHM9ZS5vcHRpb25zLGw9ZS5wb2ludHMsZj1lLmhhc1JlbmRlcmVkfHwwLGc9bi5yZW5kZXJlcix2PXMuZGF0YUxhYmVscyx5PXYuYW5pbWF0aW9uO2lmKHk9di5kZWZlcj9yKG4seSxlKTp7ZGVmZXI6MCxkdXJhdGlvbjowfSx2PW0obShuLm9wdGlvbnMucGxvdE9wdGlvbnMmJm4ub3B0aW9ucy5wbG90T3B0aW9ucy5zZXJpZXMmJm4ub3B0aW9ucy5wbG90T3B0aW9ucy5zZXJpZXMuZGF0YUxhYmVscyxuLm9wdGlvbnMucGxvdE9wdGlvbnMmJm4ub3B0aW9ucy5wbG90T3B0aW9uc1tlLnR5cGVdJiZuLm9wdGlvbnMucGxvdE9wdGlvbnNbZS50eXBlXS5kYXRhTGFiZWxzKSx2KSxjKHRoaXMsImRyYXdEYXRhTGFiZWxzIiksaCh2KXx8di5lbmFibGVkfHxlLl9oYXNQb2ludExhYmVscyl7dmFyIF89ZS5wbG90R3JvdXAoImRhdGFMYWJlbHNHcm91cCIsImRhdGEtbGFiZWxzIixmPyJpbmhlcml0IjoiaGlkZGVuIix2LnpJbmRleHx8Nik7Xy5hdHRyKHtvcGFjaXR5OitmfSksIWYmJihmPWUuZGF0YUxhYmVsc0dyb3VwKSYmKGUudmlzaWJsZSYmXy5zaG93KCEwKSxmW3MuYW5pbWF0aW9uPyJhbmltYXRlIjoiYXR0ciJdKHtvcGFjaXR5OjF9LHkpKSxsLmZvckVhY2goKGZ1bmN0aW9uKHIpe3Q9dShtKHYsci5kbE9wdGlvbnN8fHIub3B0aW9ucyYmci5vcHRpb25zLmRhdGFMYWJlbHMpKSx0LmZvckVhY2goKGZ1bmN0aW9uKHQsYyl7dmFyIGg9dC5lbmFibGVkJiYoIXIuaXNOdWxsfHxyLmRhdGFMYWJlbE9uTnVsbCkmJmkocix0KSxsPXIuY29ubmVjdG9ycz9yLmNvbm5lY3RvcnNbY106ci5jb25uZWN0b3IsdT1yLmRhdGFMYWJlbHM/ci5kYXRhTGFiZWxzW2NdOnIuZGF0YUxhYmVsLGY9ZCh0LmRpc3RhbmNlLHIubGFiZWxEaXN0YW5jZSksbT0hdTtpZihoKXt2YXIgdj1yLmdldExhYmVsQ29uZmlnKCkseT1kKHRbci5mb3JtYXRQcmVmaXgrIkZvcm1hdCJdLHQuZm9ybWF0KTt2PWEoeSk/byh5LHYsbik6KHRbci5mb3JtYXRQcmVmaXgrIkZvcm1hdHRlciJdfHx0LmZvcm1hdHRlcikuY2FsbCh2LHQpLHk9dC5zdHlsZTt2YXIgYj10LnJvdGF0aW9uO24uc3R5bGVkTW9kZXx8KHkuY29sb3I9ZCh0LmNvbG9yLHkuY29sb3IsZS5jb2xvciwiIzAwMDAwMCIpLCJjb250cmFzdCI9PT15LmNvbG9yPyhyLmNvbnRyYXN0Q29sb3I9Zy5nZXRDb250cmFzdChyLmNvbG9yfHxlLmNvbG9yKSx5LmNvbG9yPSFhKGYpJiZ0Lmluc2lkZXx8MD5mfHxzLnN0YWNraW5nP3IuY29udHJhc3RDb2xvcjoiIzAwMDAwMCIpOmRlbGV0ZSByLmNvbnRyYXN0Q29sb3Iscy5jdXJzb3ImJih5LmN1cnNvcj1zLmN1cnNvcikpO3ZhciB4PXtyOnQuYm9yZGVyUmFkaXVzfHwwLHJvdGF0aW9uOmIscGFkZGluZzp0LnBhZGRpbmcsekluZGV4OjF9O24uc3R5bGVkTW9kZXx8KHguZmlsbD10LmJhY2tncm91bmRDb2xvcix4LnN0cm9rZT10LmJvcmRlckNvbG9yLHhbInN0cm9rZS13aWR0aCJdPXQuYm9yZGVyV2lkdGgpLHAoeCwoZnVuY3Rpb24odCxlKXsidW5kZWZpbmVkIj09PXR5cGVvZiB0JiZkZWxldGUgeFtlXX0pKX0hdXx8aCYmYSh2KSYmISF1LmRpdj09PSEhdC51c2VIVE1MfHwoci5kYXRhTGFiZWw9dT1yLmRhdGFMYWJlbCYmci5kYXRhTGFiZWwuZGVzdHJveSgpLHIuZGF0YUxhYmVscyYmKDE9PT1yLmRhdGFMYWJlbHMubGVuZ3RoP2RlbGV0ZSByLmRhdGFMYWJlbHM6ZGVsZXRlIHIuZGF0YUxhYmVsc1tjXSksY3x8ZGVsZXRlIHIuZGF0YUxhYmVsLGwmJihyLmNvbm5lY3Rvcj1yLmNvbm5lY3Rvci5kZXN0cm95KCksci5jb25uZWN0b3JzJiYoMT09PXIuY29ubmVjdG9ycy5sZW5ndGg/ZGVsZXRlIHIuY29ubmVjdG9yczpkZWxldGUgci5jb25uZWN0b3JzW2NdKSkpLGgmJmEodikmJih1P3gudGV4dD12OihyLmRhdGFMYWJlbHM9ci5kYXRhTGFiZWxzfHxbXSx1PXIuZGF0YUxhYmVsc1tjXT1iP2cudGV4dCh2LDAsLTk5OTksdC51c2VIVE1MKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1kYXRhLWxhYmVsIik6Zy5sYWJlbCh2LDAsLTk5OTksdC5zaGFwZSxudWxsLG51bGwsdC51c2VIVE1MLG51bGwsImRhdGEtbGFiZWwiKSxjfHwoci5kYXRhTGFiZWw9dSksdS5hZGRDbGFzcygiIGhpZ2hjaGFydHMtZGF0YS1sYWJlbC1jb2xvci0iK3IuY29sb3JJbmRleCsiICIrKHQuY2xhc3NOYW1lfHwiIikrKHQudXNlSFRNTD8iIGhpZ2hjaGFydHMtdHJhY2tlciI6IiIpKSksdS5vcHRpb25zPXQsdS5hdHRyKHgpLG4uc3R5bGVkTW9kZXx8dS5jc3MoeSkuc2hhZG93KHQuc2hhZG93KSx1LmFkZGVkfHx1LmFkZChfKSx0LnRleHRQYXRoJiYhdC51c2VIVE1MJiYodS5zZXRUZXh0UGF0aChyLmdldERhdGFMYWJlbFBhdGgmJnIuZ2V0RGF0YUxhYmVsUGF0aCh1KXx8ci5ncmFwaGljLHQudGV4dFBhdGgpLHIuZGF0YUxhYmVsUGF0aCYmIXQudGV4dFBhdGguZW5hYmxlZCYmKHIuZGF0YUxhYmVsUGF0aD1yLmRhdGFMYWJlbFBhdGguZGVzdHJveSgpKSksZS5hbGlnbkRhdGFMYWJlbChyLHUsdCxudWxsLG0pKX0pKX0pKX1jKHRoaXMsImFmdGVyRHJhd0RhdGFMYWJlbHMiKX1mdW5jdGlvbiBmKHQsZSxpLG4scixvKXt2YXIgYT10aGlzLmNoYXJ0LHM9ZS5hbGlnbixjPWUudmVydGljYWxBbGlnbixoPXQuYm94PzA6dC5wYWRkaW5nfHwwLGw9ZS54O2w9dm9pZCAwPT09bD8wOmw7dmFyIHA9ZS55O3A9dm9pZCAwPT09cD8wOnA7dmFyIGQ9KGkueHx8MCkraDtpZigwPmQpeyJyaWdodCI9PT1zJiYwPD1sPyhlLmFsaWduPSJsZWZ0IixlLmluc2lkZT0hMCk6bC09ZDt2YXIgdT0hMH1yZXR1cm4gZD0oaS54fHwwKStuLndpZHRoLWgsZD5hLnBsb3RXaWR0aCYmKCJsZWZ0Ij09PXMmJjA+PWw/KGUuYWxpZ249InJpZ2h0IixlLmluc2lkZT0hMCk6bCs9YS5wbG90V2lkdGgtZCx1PSEwKSxkPWkueStoLDA+ZCYmKCJib3R0b20iPT09YyYmMDw9cD8oZS52ZXJ0aWNhbEFsaWduPSJ0b3AiLGUuaW5zaWRlPSEwKTpwLT1kLHU9ITApLGQ9KGkueXx8MCkrbi5oZWlnaHQtaCxkPmEucGxvdEhlaWdodCYmKCJ0b3AiPT09YyYmMD49cD8oZS52ZXJ0aWNhbEFsaWduPSJib3R0b20iLGUuaW5zaWRlPSEwKTpwKz1hLnBsb3RIZWlnaHQtZCx1PSEwKSx1JiYoZS54PWwsZS55PXAsdC5wbGFjZWQ9IW8sdC5hbGlnbihlLHZvaWQgMCxyKSksdX1mdW5jdGlvbiBtKHQsZSl7dmFyIGksbj1bXTtpZihoKHQpJiYhaChlKSluPXQubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gbCh0LGUpfSkpO2Vsc2UgaWYoaChlKSYmIWgodCkpbj1lLm1hcCgoZnVuY3Rpb24oZSl7cmV0dXJuIGwodCxlKX0pKTtlbHNlIGlmKGgodCl8fGgoZSkpZm9yKGk9TWF0aC5tYXgodC5sZW5ndGgsZS5sZW5ndGgpO2ktLTspbltpXT1sKHRbaV0sZVtpXSk7ZWxzZSBuPWwodCxlKTtyZXR1cm4gbn1mdW5jdGlvbiBnKHQsZSxpLG4scil7dmFyIG89dGhpcy5jaGFydCxhPW8uaW52ZXJ0ZWQscz10aGlzLnhBeGlzLGM9cy5yZXZlcnNlZCxoPWE/ZS5oZWlnaHQvMjplLndpZHRoLzI7dD0odD10LnBvaW50V2lkdGgpP3QvMjowLGUuc3RhcnRYUG9zPWE/ci54OmM/LWgtdDpzLndpZHRoLWgrdCxlLnN0YXJ0WVBvcz1hP2M/dGhpcy55QXhpcy5oZWlnaHQtaCt0Oi1oLXQ6ci55LG4/ImhpZGRlbiI9PT1lLnZpc2liaWxpdHkmJihlLnNob3coKSxlLmF0dHIoe29wYWNpdHk6MH0pLmFuaW1hdGUoe29wYWNpdHk6MX0pKTplLmF0dHIoe29wYWNpdHk6MX0pLmFuaW1hdGUoe29wYWNpdHk6MH0sdm9pZCAwLGUuaGlkZSksby5oYXNSZW5kZXJlZCYmKGkmJmUuYXR0cih7eDplLnN0YXJ0WFBvcyx5OmUuc3RhcnRZUG9zfSksZS5wbGFjZWQ9ITApfXZhciB2PVtdO3QuY29tcG9zZT1mdW5jdGlvbih0KXtpZigtMT09PXYuaW5kZXhPZih0KSl7dmFyIGk9dC5wcm90b3R5cGU7di5wdXNoKHQpLGkuYWxpZ25EYXRhTGFiZWw9ZSxpLmRyYXdEYXRhTGFiZWxzPW4saS5qdXN0aWZ5RGF0YUxhYmVsPWYsaS5zZXREYXRhTGFiZWxTdGFydFBvcz1nfX19KG58fChuPXt9KSksbn0pKSxlKGksIlNlcmllcy9Db2x1bW4vQ29sdW1uRGF0YUxhYmVsLmpzIixbaVsiQ29yZS9TZXJpZXMvRGF0YUxhYmVsLmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGkpe3ZhciBuLHI9ZS5zZXJpZXMsbz1pLm1lcmdlLGE9aS5waWNrO3JldHVybiBmdW5jdGlvbihlKXtmdW5jdGlvbiBpKHQsZSxpLG4scyl7dmFyIGM9dGhpcy5jaGFydC5pbnZlcnRlZCxoPXQuc2VyaWVzLGw9KGgueEF4aXM/aC54QXhpcy5sZW46dGhpcy5jaGFydC5wbG90U2l6ZVgpfHwwO2g9KGgueUF4aXM/aC55QXhpcy5sZW46dGhpcy5jaGFydC5wbG90U2l6ZVkpfHwwO3ZhciBwPXQuZGxCb3h8fHQuc2hhcGVBcmdzLGQ9YSh0LmJlbG93LHQucGxvdFk+YSh0aGlzLnRyYW5zbGF0ZWRUaHJlc2hvbGQsaCkpLHU9YShpLmluc2lkZSwhIXRoaXMub3B0aW9ucy5zdGFja2luZyk7cCYmKG49byhwKSwwPm4ueSYmKG4uaGVpZ2h0Kz1uLnksbi55PTApLHA9bi55K24uaGVpZ2h0LWgsMDxwJiZwPG4uaGVpZ2h0JiYobi5oZWlnaHQtPXApLGMmJihuPXt4Omgtbi55LW4uaGVpZ2h0LHk6bC1uLngtbi53aWR0aCx3aWR0aDpuLmhlaWdodCxoZWlnaHQ6bi53aWR0aH0pLHV8fChjPyhuLngrPWQ/MDpuLndpZHRoLG4ud2lkdGg9MCk6KG4ueSs9ZD9uLmhlaWdodDowLG4uaGVpZ2h0PTApKSksaS5hbGlnbj1hKGkuYWxpZ24sIWN8fHU/ImNlbnRlciI6ZD8icmlnaHQiOiJsZWZ0IiksaS52ZXJ0aWNhbEFsaWduPWEoaS52ZXJ0aWNhbEFsaWduLGN8fHU/Im1pZGRsZSI6ZD8idG9wIjoiYm90dG9tIiksci5wcm90b3R5cGUuYWxpZ25EYXRhTGFiZWwuY2FsbCh0aGlzLHQsZSxpLG4scyksaS5pbnNpZGUmJnQuY29udHJhc3RDb2xvciYmZS5jc3Moe2NvbG9yOnQuY29udHJhc3RDb2xvcn0pfXZhciBuPVtdO2UuY29tcG9zZT1mdW5jdGlvbihlKXt0LmNvbXBvc2UociksLTE9PT1uLmluZGV4T2YoZSkmJihuLnB1c2goZSksZS5wcm90b3R5cGUuYWxpZ25EYXRhTGFiZWw9aSl9fShufHwobj17fSkpLG59KSksZShpLCJTZXJpZXMvQmFyL0JhclNlcmllcy5qcyIsW2lbIlNlcmllcy9Db2x1bW4vQ29sdW1uU2VyaWVzLmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGkpe3ZhciBuPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKGUsaSl7cmV0dXJuIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShpKSYmKHRbaV09ZVtpXSl9LHQoZSxpKX07cmV0dXJuIGZ1bmN0aW9uKGUsaSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9ZX10KGUsaSksZS5wcm90b3R5cGU9bnVsbD09PWk/T2JqZWN0LmNyZWF0ZShpKToobi5wcm90b3R5cGU9aS5wcm90b3R5cGUsbmV3IG4pfX0oKSxyPWkuZXh0ZW5kLG89aS5tZXJnZTtyZXR1cm4gaT1mdW5jdGlvbihlKXtmdW5jdGlvbiBpKCl7dmFyIHQ9bnVsbCE9PWUmJmUuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiB0LmRhdGE9dm9pZCAwLHQub3B0aW9ucz12b2lkIDAsdC5wb2ludHM9dm9pZCAwLHR9cmV0dXJuIG4oaSxlKSxpLmRlZmF1bHRPcHRpb25zPW8odC5kZWZhdWx0T3B0aW9ucyx7fSksaX0odCkscihpLnByb3RvdHlwZSx7aW52ZXJ0ZWQ6ITB9KSxlLnJlZ2lzdGVyU2VyaWVzVHlwZSgiYmFyIixpKSxpfSkpLGUoaSwiU2VyaWVzL1NjYXR0ZXIvU2NhdHRlclNlcmllcy5qcyIsW2lbIlNlcmllcy9Db2x1bW4vQ29sdW1uU2VyaWVzLmpzIl0saVsiU2VyaWVzL0xpbmUvTGluZVNlcmllcy5qcyJdLGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKGUsaSl7cmV0dXJuIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShpKSYmKHRbaV09ZVtpXSl9LHQoZSxpKX07cmV0dXJuIGZ1bmN0aW9uKGUsaSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9ZX10KGUsaSksZS5wcm90b3R5cGU9bnVsbD09PWk/T2JqZWN0LmNyZWF0ZShpKToobi5wcm90b3R5cGU9aS5wcm90b3R5cGUsbmV3IG4pfX0oKSxvPW4uYWRkRXZlbnQsYT1uLmV4dGVuZCxzPW4ubWVyZ2U7cmV0dXJuIG49ZnVuY3Rpb24odCl7ZnVuY3Rpb24gaSgpe3ZhciBlPW51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gZS5kYXRhPXZvaWQgMCxlLm9wdGlvbnM9dm9pZCAwLGUucG9pbnRzPXZvaWQgMCxlfXJldHVybiByKGksdCksaS5wcm90b3R5cGUuYXBwbHlKaXR0ZXI9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5vcHRpb25zLmppdHRlcixpPXRoaXMucG9pbnRzLmxlbmd0aDtlJiZ0aGlzLnBvaW50cy5mb3JFYWNoKChmdW5jdGlvbihuLHIpe1sieCIsInkiXS5mb3JFYWNoKChmdW5jdGlvbihvLGEpe3ZhciBzPSJwbG90IitvLnRvVXBwZXJDYXNlKCk7aWYoZVtvXSYmIW4uaXNOdWxsKXt2YXIgYz10W28rIkF4aXMiXSxoPWVbb10qYy50cmFuc0E7aWYoYyYmIWMuaXNMb2cpe3ZhciBsPU1hdGgubWF4KDAsbltzXS1oKTtjPU1hdGgubWluKGMubGVuLG5bc10raCksYT0xZTQqTWF0aC5zaW4ocithKmkpLG5bc109bCsoYy1sKSooYS1NYXRoLmZsb29yKGEpKSwieCI9PT1vJiYobi5jbGllbnRYPW4ucGxvdFgpfX19KSl9KSl9LGkucHJvdG90eXBlLmRyYXdHcmFwaD1mdW5jdGlvbigpe3RoaXMub3B0aW9ucy5saW5lV2lkdGg/dC5wcm90b3R5cGUuZHJhd0dyYXBoLmNhbGwodGhpcyk6dGhpcy5ncmFwaCYmKHRoaXMuZ3JhcGg9dGhpcy5ncmFwaC5kZXN0cm95KCkpfSxpLmRlZmF1bHRPcHRpb25zPXMoZS5kZWZhdWx0T3B0aW9ucyx7bGluZVdpZHRoOjAsZmluZE5lYXJlc3RQb2ludEJ5OiJ4eSIsaml0dGVyOnt4OjAseTowfSxtYXJrZXI6e2VuYWJsZWQ6ITB9LHRvb2x0aXA6e2hlYWRlckZvcm1hdDonPHNwYW4gc3R5bGU9ImNvbG9yOntwb2ludC5jb2xvcn0iPuKXjzwvc3Bhbj4gPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTogMTBweCI+IHtzZXJpZXMubmFtZX08L3NwYW4+PGJyLz4nLHBvaW50Rm9ybWF0OiJ4OiA8Yj57cG9pbnQueH08L2I+PGJyLz55OiA8Yj57cG9pbnQueX08L2I+PGJyLz4ifX0pLGl9KGUpLGEobi5wcm90b3R5cGUse2RyYXdUcmFja2VyOnQucHJvdG90eXBlLmRyYXdUcmFja2VyLHNvcnRlZDohMSxyZXF1aXJlU29ydGluZzohMSxub1NoYXJlZFRvb2x0aXA6ITAsdHJhY2tlckdyb3VwczpbImdyb3VwIiwibWFya2VyR3JvdXAiLCJkYXRhTGFiZWxzR3JvdXAiXSx0YWtlT3JkaW5hbFBvc2l0aW9uOiExfSksbyhuLCJhZnRlclRyYW5zbGF0ZSIsKGZ1bmN0aW9uKCl7dGhpcy5hcHBseUppdHRlcigpfSkpLGkucmVnaXN0ZXJTZXJpZXNUeXBlKCJzY2F0dGVyIixuKSxufSkpLGUoaSwiU2VyaWVzL0NlbnRlcmVkVXRpbGl0aWVzLmpzIixbaVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzLmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpKXt2YXIgbixyPXQuZGVnMnJhZCxvPWkuaXNOdW1iZXIsYT1pLnBpY2sscz1pLnJlbGF0aXZlTGVuZ3RoO3JldHVybiBmdW5jdGlvbih0KXt0LmdldENlbnRlcj1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucyxpPXRoaXMuY2hhcnQsbj0yKih0LnNsaWNlZE9mZnNldHx8MCkscj1pLnBsb3RXaWR0aC0yKm4sbz1pLnBsb3RIZWlnaHQtMipuLGM9dC5jZW50ZXIsaD1NYXRoLm1pbihyLG8pLGw9dC5zaXplLHA9dC5pbm5lclNpemV8fDA7Zm9yKCJzdHJpbmciPT09dHlwZW9mIGwmJihsPXBhcnNlRmxvYXQobCkpLCJzdHJpbmciPT09dHlwZW9mIHAmJihwPXBhcnNlRmxvYXQocCkpLHQ9W2EoY1swXSwiNTAlIiksYShjWzFdLCI1MCUiKSxhKGwmJjA+bD92b2lkIDA6dC5zaXplLCIxMDAlIiksYShwJiYwPnA/dm9pZCAwOnQuaW5uZXJTaXplfHwwLCIwJSIpXSwhaS5hbmd1bGFyfHx0aGlzIGluc3RhbmNlb2YgZXx8KHRbM109MCksYz0wOzQ+YzsrK2MpbD10W2NdLGk9Mj5jfHwyPT09YyYmLyUkLy50ZXN0KGwpLHRbY109cyhsLFtyLG8saCx0WzJdXVtjXSkrKGk/bjowKTtyZXR1cm4gdFszXT50WzJdJiYodFszXT10WzJdKSx0fSx0LmdldFN0YXJ0QW5kRW5kUmFkaWFucz1mdW5jdGlvbih0LGUpe3JldHVybiB0PW8odCk/dDowLGU9byhlKSYmZT50JiYzNjA+ZS10P2U6dCszNjAse3N0YXJ0OnIqKHQrLTkwKSxlbmQ6ciooZSstOTApfX19KG58fChuPXt9KSksbn0pKSxlKGksIlNlcmllcy9QaWUvUGllUG9pbnQuanMiLFtpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSxpWyJDb3JlL1Nlcmllcy9Qb2ludC5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSl7dmFyIG49dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gZSllLmhhc093blByb3BlcnR5KGkpJiYodFtpXT1lW2ldKX0sdChlLGkpfTtyZXR1cm4gZnVuY3Rpb24oZSxpKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXQoZSxpKSxlLnByb3RvdHlwZT1udWxsPT09aT9PYmplY3QuY3JlYXRlKGkpOihuLnByb3RvdHlwZT1pLnByb3RvdHlwZSxuZXcgbil9fSgpLHI9dC5zZXRBbmltYXRpb24sbz1pLmFkZEV2ZW50LGE9aS5kZWZpbmVkO3Q9aS5leHRlbmQ7dmFyIHM9aS5pc051bWJlcixjPWkucGljayxoPWkucmVsYXRpdmVMZW5ndGg7cmV0dXJuIGU9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPW51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gZS5sYWJlbERpc3RhbmNlPXZvaWQgMCxlLm9wdGlvbnM9dm9pZCAwLGUuc2VyaWVzPXZvaWQgMCxlfXJldHVybiBuKGUsdCksZS5wcm90b3R5cGUuZ2V0Q29ubmVjdG9yUGF0aD1mdW5jdGlvbigpe3ZhciB0PXRoaXMubGFiZWxQb3NpdGlvbixlPXRoaXMuc2VyaWVzLm9wdGlvbnMuZGF0YUxhYmVscyxpPXRoaXMuY29ubmVjdG9yU2hhcGVzLG49ZS5jb25uZWN0b3JTaGFwZTtyZXR1cm4gaVtuXSYmKG49aVtuXSksbi5jYWxsKHRoaXMse3g6dC5maW5hbC54LHk6dC5maW5hbC55LGFsaWdubWVudDp0LmFsaWdubWVudH0sdC5jb25uZWN0b3JQb3NpdGlvbixlKX0sZS5wcm90b3R5cGUuZ2V0VHJhbnNsYXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuc2xpY2VkP3RoaXMuc2xpY2VkVHJhbnNsYXRpb246e3RyYW5zbGF0ZVg6MCx0cmFuc2xhdGVZOjB9fSxlLnByb3RvdHlwZS5oYWxvUGF0aD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLnNoYXBlQXJncztyZXR1cm4gdGhpcy5zbGljZWR8fCF0aGlzLnZpc2libGU/W106dGhpcy5zZXJpZXMuY2hhcnQucmVuZGVyZXIuc3ltYm9scy5hcmMoZS54LGUueSxlLnIrdCxlLnIrdCx7aW5uZXJSOmUuci0xLHN0YXJ0OmUuc3RhcnQsZW5kOmUuZW5kfSl9LGUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzO3QucHJvdG90eXBlLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMubmFtZT1jKHRoaXMubmFtZSwiU2xpY2UiKTt2YXIgaT1mdW5jdGlvbih0KXtlLnNsaWNlKCJzZWxlY3QiPT09dC50eXBlKX07cmV0dXJuIG8odGhpcywic2VsZWN0IixpKSxvKHRoaXMsInVuc2VsZWN0IixpKSx0aGlzfSxlLnByb3RvdHlwZS5pc1ZhbGlkPWZ1bmN0aW9uKCl7cmV0dXJuIHModGhpcy55KSYmMDw9dGhpcy55fSxlLnByb3RvdHlwZS5zZXRWaXNpYmxlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcyxuPXRoaXMuc2VyaWVzLHI9bi5jaGFydCxvPW4ub3B0aW9ucy5pZ25vcmVIaWRkZW5Qb2ludDtlPWMoZSxvKSx0IT09dGhpcy52aXNpYmxlJiYodGhpcy52aXNpYmxlPXRoaXMub3B0aW9ucy52aXNpYmxlPXQ9InVuZGVmaW5lZCI9PT10eXBlb2YgdD8hdGhpcy52aXNpYmxlOnQsbi5vcHRpb25zLmRhdGFbbi5kYXRhLmluZGV4T2YodGhpcyldPXRoaXMub3B0aW9ucyxbImdyYXBoaWMiLCJkYXRhTGFiZWwiLCJjb25uZWN0b3IiLCJzaGFkb3dHcm91cCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe2lbZV0mJmlbZV1bdD8ic2hvdyI6ImhpZGUiXSh0KX0pKSx0aGlzLmxlZ2VuZEl0ZW0mJnIubGVnZW5kLmNvbG9yaXplSXRlbSh0aGlzLHQpLHR8fCJob3ZlciIhPT10aGlzLnN0YXRlfHx0aGlzLnNldFN0YXRlKCIiKSxvJiYobi5pc0RpcnR5PSEwKSxlJiZyLnJlZHJhdygpKX0sZS5wcm90b3R5cGUuc2xpY2U9ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXRoaXMuc2VyaWVzO3IoaSxuLmNoYXJ0KSxjKGUsITApLHRoaXMuc2xpY2VkPXRoaXMub3B0aW9ucy5zbGljZWQ9YSh0KT90OiF0aGlzLnNsaWNlZCxuLm9wdGlvbnMuZGF0YVtuLmRhdGEuaW5kZXhPZih0aGlzKV09dGhpcy5vcHRpb25zLHRoaXMuZ3JhcGhpYyYmdGhpcy5ncmFwaGljLmFuaW1hdGUodGhpcy5nZXRUcmFuc2xhdGUoKSksdGhpcy5zaGFkb3dHcm91cCYmdGhpcy5zaGFkb3dHcm91cC5hbmltYXRlKHRoaXMuZ2V0VHJhbnNsYXRlKCkpfSxlfShlKSx0KGUucHJvdG90eXBlLHtjb25uZWN0b3JTaGFwZXM6e2ZpeGVkT2Zmc2V0OmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1lLmJyZWFrQXQ7cmV0dXJuIGU9ZS50b3VjaGluZ1NsaWNlQXQsW1siTSIsdC54LHQueV0saS5zb2Z0Q29ubmVjdG9yP1siQyIsdC54KygibGVmdCI9PT10LmFsaWdubWVudD8tNTo1KSx0LnksMipuLngtZS54LDIqbi55LWUueSxuLngsbi55XTpbIkwiLG4ueCxuLnldLFsiTCIsZS54LGUueV1dfSxzdHJhaWdodDpmdW5jdGlvbih0LGUpe3JldHVybiBlPWUudG91Y2hpbmdTbGljZUF0LFtbIk0iLHQueCx0LnldLFsiTCIsZS54LGUueV1dfSxjcm9va2VkTGluZTpmdW5jdGlvbih0LGUsaSl7ZT1lLnRvdWNoaW5nU2xpY2VBdDt2YXIgbj10aGlzLnNlcmllcyxyPW4uY2VudGVyWzBdLG89bi5jaGFydC5wbG90V2lkdGgsYT1uLmNoYXJ0LnBsb3RMZWZ0O249dC5hbGlnbm1lbnQ7dmFyIHM9dGhpcy5zaGFwZUFyZ3MucjtyZXR1cm4gaT1oKGkuY3Jvb2tEaXN0YW5jZSwxKSxvPSJsZWZ0Ij09PW4/citzKyhvK2Etci1zKSooMS1pKTphKyhyLXMpKmksaT1bIkwiLG8sdC55XSxyPSEwLCgibGVmdCI9PT1uP28+dC54fHxvPGUueDpvPHQueHx8bz5lLngpJiYocj0hMSksdD1bWyJNIix0LngsdC55XV0sciYmdC5wdXNoKGkpLHQucHVzaChbIkwiLGUueCxlLnldKSx0fX19KSxlfSkpLGUoaSwiU2VyaWVzL1BpZS9QaWVTZXJpZXMuanMiLFtpWyJTZXJpZXMvQ2VudGVyZWRVdGlsaXRpZXMuanMiXSxpWyJTZXJpZXMvQ29sdW1uL0NvbHVtblNlcmllcy5qcyJdLGlbIkNvcmUvR2xvYmFscy5qcyJdLGlbIkNvcmUvTGVnZW5kL0xlZ2VuZFN5bWJvbC5qcyJdLGlbIlNlcmllcy9QaWUvUGllUG9pbnQuanMiXSxpWyJDb3JlL1Nlcmllcy9TZXJpZXMuanMiXSxpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1N5bWJvbHMuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbixyLG8sYSxzLGMpe3ZhciBoPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKGUsaSl7cmV0dXJuIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShpKSYmKHRbaV09ZVtpXSl9LHQoZSxpKX07cmV0dXJuIGZ1bmN0aW9uKGUsaSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9ZX10KGUsaSksZS5wcm90b3R5cGU9bnVsbD09PWk/T2JqZWN0LmNyZWF0ZShpKToobi5wcm90b3R5cGU9aS5wcm90b3R5cGUsbmV3IG4pfX0oKSxsPXQuZ2V0U3RhcnRBbmRFbmRSYWRpYW5zO2k9aS5ub29wO3ZhciBwPWMuY2xhbXAsZD1jLmV4dGVuZCx1PWMuZmlyZUV2ZW50LGY9Yy5tZXJnZSxtPWMucGljayxnPWMucmVsYXRpdmVMZW5ndGg7cmV0dXJuIGM9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPW51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gZS5jZW50ZXI9dm9pZCAwLGUuZGF0YT12b2lkIDAsZS5tYXhMYWJlbERpc3RhbmNlPXZvaWQgMCxlLm9wdGlvbnM9dm9pZCAwLGUucG9pbnRzPXZvaWQgMCxlfXJldHVybiBoKGUsdCksZS5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbih0KXt2YXIgZT10aGlzLGk9ZS5wb2ludHMsbj1lLnN0YXJ0QW5nbGVSYWQ7dHx8aS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgaT10LmdyYXBoaWMscj10LnNoYXBlQXJncztpJiZyJiYoaS5hdHRyKHtyOm0odC5zdGFydFIsZS5jZW50ZXImJmUuY2VudGVyWzNdLzIpLHN0YXJ0Om4sZW5kOm59KSxpLmFuaW1hdGUoe3I6ci5yLHN0YXJ0OnIuc3RhcnQsZW5kOnIuZW5kfSxlLm9wdGlvbnMuYW5pbWF0aW9uKSl9KSl9LGUucHJvdG90eXBlLmRyYXdFbXB0eT1mdW5jdGlvbigpe3ZhciB0PXRoaXMuc3RhcnRBbmdsZVJhZCxlPXRoaXMuZW5kQW5nbGVSYWQsaT10aGlzLm9wdGlvbnM7aWYoMD09PXRoaXMudG90YWwmJnRoaXMuY2VudGVyKXt2YXIgbj10aGlzLmNlbnRlclswXSxyPXRoaXMuY2VudGVyWzFdO3RoaXMuZ3JhcGh8fCh0aGlzLmdyYXBoPXRoaXMuY2hhcnQucmVuZGVyZXIuYXJjKG4scix0aGlzLmNlbnRlclsxXS8yLDAsdCxlKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1lbXB0eS1zZXJpZXMiKS5hZGQodGhpcy5ncm91cCkpLHRoaXMuZ3JhcGguYXR0cih7ZDpzLmFyYyhuLHIsdGhpcy5jZW50ZXJbMl0vMiwwLHtzdGFydDp0LGVuZDplLGlubmVyUjp0aGlzLmNlbnRlclszXS8yfSl9KSx0aGlzLmNoYXJ0LnN0eWxlZE1vZGV8fHRoaXMuZ3JhcGguYXR0cih7InN0cm9rZS13aWR0aCI6aS5ib3JkZXJXaWR0aCxmaWxsOmkuZmlsbENvbG9yfHwibm9uZSIsc3Ryb2tlOmkuY29sb3J8fCIjY2NjY2NjIn0pfWVsc2UgdGhpcy5ncmFwaCYmKHRoaXMuZ3JhcGg9dGhpcy5ncmFwaC5kZXN0cm95KCkpfSxlLnByb3RvdHlwZS5kcmF3UG9pbnRzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jaGFydC5yZW5kZXJlcjt0aGlzLnBvaW50cy5mb3JFYWNoKChmdW5jdGlvbihlKXtlLmdyYXBoaWMmJmUuaGFzTmV3U2hhcGVUeXBlKCkmJihlLmdyYXBoaWM9ZS5ncmFwaGljLmRlc3Ryb3koKSksZS5ncmFwaGljfHwoZS5ncmFwaGljPXRbZS5zaGFwZVR5cGVdKGUuc2hhcGVBcmdzKS5hZGQoZS5zZXJpZXMuZ3JvdXApLGUuZGVsYXllZFJlbmRlcmluZz0hMCl9KSl9LGUucHJvdG90eXBlLmdlbmVyYXRlUG9pbnRzPWZ1bmN0aW9uKCl7dC5wcm90b3R5cGUuZ2VuZXJhdGVQb2ludHMuY2FsbCh0aGlzKSx0aGlzLnVwZGF0ZVRvdGFscygpfSxlLnByb3RvdHlwZS5nZXRYPWZ1bmN0aW9uKHQsZSxpKXt2YXIgbj10aGlzLmNlbnRlcixyPXRoaXMucmFkaWk/dGhpcy5yYWRpaVtpLmluZGV4XXx8MDpuWzJdLzI7cmV0dXJuIHQ9TWF0aC5hc2luKHAoKHQtblsxXSkvKHIraS5sYWJlbERpc3RhbmNlKSwtMSwxKSksblswXSsoZT8tMToxKSpNYXRoLmNvcyh0KSoocitpLmxhYmVsRGlzdGFuY2UpKygwPGkubGFiZWxEaXN0YW5jZT8oZT8tMToxKSp0aGlzLm9wdGlvbnMuZGF0YUxhYmVscy5wYWRkaW5nOjApfSxlLnByb3RvdHlwZS5oYXNEYXRhPWZ1bmN0aW9uKCl7cmV0dXJuISF0aGlzLnByb2Nlc3NlZFhEYXRhLmxlbmd0aH0sZS5wcm90b3R5cGUucmVkcmF3UG9pbnRzPWZ1bmN0aW9uKCl7dmFyIHQsZSxpLG4scj10aGlzLG89ci5jaGFydCxhPW8ucmVuZGVyZXIscz1yLm9wdGlvbnMuc2hhZG93O3RoaXMuZHJhd0VtcHR5KCksIXN8fHIuc2hhZG93R3JvdXB8fG8uc3R5bGVkTW9kZXx8KHIuc2hhZG93R3JvdXA9YS5nKCJzaGFkb3ciKS5hdHRyKHt6SW5kZXg6LTF9KS5hZGQoci5ncm91cCkpLHIucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKGMpe3ZhciBoPXt9O2lmKGU9Yy5ncmFwaGljLCFjLmlzTnVsbCYmZSl7dmFyIGw9dm9pZCAwO249Yy5zaGFwZUFyZ3MsdD1jLmdldFRyYW5zbGF0ZSgpLG8uc3R5bGVkTW9kZXx8KGw9Yy5zaGFkb3dHcm91cCxzJiYhbCYmKGw9Yy5zaGFkb3dHcm91cD1hLmcoInNoYWRvdyIpLmFkZChyLnNoYWRvd0dyb3VwKSksbCYmbC5hdHRyKHQpLGk9ci5wb2ludEF0dHJpYnMoYyxjLnNlbGVjdGVkJiYic2VsZWN0IikpLGMuZGVsYXllZFJlbmRlcmluZz8oZS5zZXRSYWRpYWxSZWZlcmVuY2Uoci5jZW50ZXIpLmF0dHIobikuYXR0cih0KSxvLnN0eWxlZE1vZGV8fGUuYXR0cihpKS5hdHRyKHsic3Ryb2tlLWxpbmVqb2luIjoicm91bmQifSkuc2hhZG93KHMsbCksYy5kZWxheWVkUmVuZGVyaW5nPSExKTooZS5zZXRSYWRpYWxSZWZlcmVuY2Uoci5jZW50ZXIpLG8uc3R5bGVkTW9kZXx8ZighMCxoLGkpLGYoITAsaCxuLHQpLGUuYW5pbWF0ZShoKSksZS5hdHRyKHt2aXNpYmlsaXR5OmMudmlzaWJsZT8iaW5oZXJpdCI6ImhpZGRlbiJ9KSxlLmFkZENsYXNzKGMuZ2V0Q2xhc3NOYW1lKCksITApfWVsc2UgZSYmKGMuZ3JhcGhpYz1lLmRlc3Ryb3koKSl9KSl9LGUucHJvdG90eXBlLnNvcnRCeUFuZ2xlPWZ1bmN0aW9uKHQsZSl7dC5zb3J0KChmdW5jdGlvbih0LGkpe3JldHVybiJ1bmRlZmluZWQiIT09dHlwZW9mIHQuYW5nbGUmJihpLmFuZ2xlLXQuYW5nbGUpKmV9KSl9LGUucHJvdG90eXBlLnRyYW5zbGF0ZT1mdW5jdGlvbih0KXt0aGlzLmdlbmVyYXRlUG9pbnRzKCk7dmFyIGU9dGhpcy5vcHRpb25zLGk9ZS5zbGljZWRPZmZzZXQsbj1pKyhlLmJvcmRlcldpZHRofHwwKSxyPWwoZS5zdGFydEFuZ2xlLGUuZW5kQW5nbGUpLG89dGhpcy5zdGFydEFuZ2xlUmFkPXIuc3RhcnQ7cj0odGhpcy5lbmRBbmdsZVJhZD1yLmVuZCktbzt2YXIgYT10aGlzLnBvaW50cyxzPWUuZGF0YUxhYmVscy5kaXN0YW5jZTtlPWUuaWdub3JlSGlkZGVuUG9pbnQ7dmFyIGMsaD1hLmxlbmd0aCxwPTA7Zm9yKHR8fCh0aGlzLmNlbnRlcj10PXRoaXMuZ2V0Q2VudGVyKCkpLGM9MDtjPGg7YysrKXt2YXIgZD1hW2NdLGY9bytwKnI7IWQuaXNWYWxpZCgpfHxlJiYhZC52aXNpYmxlfHwocCs9ZC5wZXJjZW50YWdlLzEwMCk7dmFyIHY9bytwKnIseT17eDp0WzBdLHk6dFsxXSxyOnRbMl0vMixpbm5lclI6dFszXS8yLHN0YXJ0Ok1hdGgucm91bmQoMWUzKmYpLzFlMyxlbmQ6TWF0aC5yb3VuZCgxZTMqdikvMWUzfTtkLnNoYXBlVHlwZT0iYXJjIixkLnNoYXBlQXJncz15LGQubGFiZWxEaXN0YW5jZT1tKGQub3B0aW9ucy5kYXRhTGFiZWxzJiZkLm9wdGlvbnMuZGF0YUxhYmVscy5kaXN0YW5jZSxzKSxkLmxhYmVsRGlzdGFuY2U9ZyhkLmxhYmVsRGlzdGFuY2UseS5yKSx0aGlzLm1heExhYmVsRGlzdGFuY2U9TWF0aC5tYXgodGhpcy5tYXhMYWJlbERpc3RhbmNlfHwwLGQubGFiZWxEaXN0YW5jZSksdj0oditmKS8yLHY+MS41Kk1hdGguUEk/di09MipNYXRoLlBJOnY8LU1hdGguUEkvMiYmKHYrPTIqTWF0aC5QSSksZC5zbGljZWRUcmFuc2xhdGlvbj17dHJhbnNsYXRlWDpNYXRoLnJvdW5kKE1hdGguY29zKHYpKmkpLHRyYW5zbGF0ZVk6TWF0aC5yb3VuZChNYXRoLnNpbih2KSppKX0seT1NYXRoLmNvcyh2KSp0WzJdLzI7dmFyIF89TWF0aC5zaW4odikqdFsyXS8yO2QudG9vbHRpcFBvcz1bdFswXSsuNyp5LHRbMV0rLjcqX10sZC5oYWxmPXY8LU1hdGguUEkvMnx8dj5NYXRoLlBJLzI/MTowLGQuYW5nbGU9dixmPU1hdGgubWluKG4sZC5sYWJlbERpc3RhbmNlLzUpLGQubGFiZWxQb3NpdGlvbj17bmF0dXJhbDp7eDp0WzBdK3krTWF0aC5jb3ModikqZC5sYWJlbERpc3RhbmNlLHk6dFsxXStfK01hdGguc2luKHYpKmQubGFiZWxEaXN0YW5jZX0sZmluYWw6e30sYWxpZ25tZW50OjA+ZC5sYWJlbERpc3RhbmNlPyJjZW50ZXIiOmQuaGFsZj8icmlnaHQiOiJsZWZ0Iixjb25uZWN0b3JQb3NpdGlvbjp7YnJlYWtBdDp7eDp0WzBdK3krTWF0aC5jb3ModikqZix5OnRbMV0rXytNYXRoLnNpbih2KSpmfSx0b3VjaGluZ1NsaWNlQXQ6e3g6dFswXSt5LHk6dFsxXStffX19fXUodGhpcywiYWZ0ZXJUcmFuc2xhdGUiKX0sZS5wcm90b3R5cGUudXBkYXRlVG90YWxzPWZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLnBvaW50cyxpPWUubGVuZ3RoLG49dGhpcy5vcHRpb25zLmlnbm9yZUhpZGRlblBvaW50LHI9MDtmb3IodD0wO3Q8aTt0Kyspe3ZhciBvPWVbdF07IW8uaXNWYWxpZCgpfHxuJiYhby52aXNpYmxlfHwocis9by55KX1mb3IodGhpcy50b3RhbD1yLHQ9MDt0PGk7dCsrKW89ZVt0XSxvLnBlcmNlbnRhZ2U9MDxyJiYoby52aXNpYmxlfHwhbik/by55L3IqMTAwOjAsby50b3RhbD1yfSxlLmRlZmF1bHRPcHRpb25zPWYoby5kZWZhdWx0T3B0aW9ucyx7Y2VudGVyOltudWxsLG51bGxdLGNsaXA6ITEsY29sb3JCeVBvaW50OiEwLGRhdGFMYWJlbHM6e2FsbG93T3ZlcmxhcDohMCxjb25uZWN0b3JQYWRkaW5nOjUsY29ubmVjdG9yU2hhcGU6ImZpeGVkT2Zmc2V0Iixjcm9va0Rpc3RhbmNlOiI3MCUiLGRpc3RhbmNlOjMwLGVuYWJsZWQ6ITAsZm9ybWF0dGVyOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucG9pbnQuaXNOdWxsP3ZvaWQgMDp0aGlzLnBvaW50Lm5hbWV9LHNvZnRDb25uZWN0b3I6ITAseDowfSxmaWxsQ29sb3I6dm9pZCAwLGlnbm9yZUhpZGRlblBvaW50OiEwLGluYWN0aXZlT3RoZXJQb2ludHM6ITAsbGVnZW5kVHlwZToicG9pbnQiLG1hcmtlcjpudWxsLHNpemU6bnVsbCxzaG93SW5MZWdlbmQ6ITEsc2xpY2VkT2Zmc2V0OjEwLHN0aWNreVRyYWNraW5nOiExLHRvb2x0aXA6e2ZvbGxvd1BvaW50ZXI6ITB9LGJvcmRlckNvbG9yOiIjZmZmZmZmIixib3JkZXJXaWR0aDoxLGxpbmVXaWR0aDp2b2lkIDAsc3RhdGVzOntob3Zlcjp7YnJpZ2h0bmVzczouMX19fSksZX0obyksZChjLnByb3RvdHlwZSx7YXhpc1R5cGVzOltdLGRpcmVjdFRvdWNoOiEwLGRyYXdHcmFwaDp2b2lkIDAsZHJhd0xlZ2VuZFN5bWJvbDpuLmRyYXdSZWN0YW5nbGUsZHJhd1RyYWNrZXI6ZS5wcm90b3R5cGUuZHJhd1RyYWNrZXIsZ2V0Q2VudGVyOnQuZ2V0Q2VudGVyLGdldFN5bWJvbDppLGlzQ2FydGVzaWFuOiExLG5vU2hhcmVkVG9vbHRpcDohMCxwb2ludEF0dHJpYnM6ZS5wcm90b3R5cGUucG9pbnRBdHRyaWJzLHBvaW50Q2xhc3M6cixyZXF1aXJlU29ydGluZzohMSxzZWFyY2hQb2ludDppLHRyYWNrZXJHcm91cHM6WyJncm91cCIsImRhdGFMYWJlbHNHcm91cCJdfSksYS5yZWdpc3RlclNlcmllc1R5cGUoInBpZSIsYyksY30pKSxlKGksIlNlcmllcy9QaWUvUGllRGF0YUxhYmVsLmpzIixbaVsiQ29yZS9TZXJpZXMvRGF0YUxhYmVsLmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9SZW5kZXJlci9SZW5kZXJlclV0aWxpdGllcy5qcyJdLGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG8sYT1lLm5vb3Ascz1pLmRpc3RyaWJ1dGUsYz1uLnNlcmllcyxoPXIuYXJyYXlNYXgsbD1yLmNsYW1wLHA9ci5kZWZpbmVkLGQ9ci5tZXJnZSx1PXIucGljayxmPXIucmVsYXRpdmVMZW5ndGg7cmV0dXJuIGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIGkoKXt2YXIgdCxlLGksbixyLG8sYSxsLGYsbSxnLHYseT10aGlzLF89eS5kYXRhLGI9eS5jaGFydCx4PXkub3B0aW9ucy5kYXRhTGFiZWxzfHx7fSx3PXguY29ubmVjdG9yUGFkZGluZyxrPWIucGxvdFdpZHRoLEM9Yi5wbG90SGVpZ2h0LFM9Yi5wbG90TGVmdCxBPU1hdGgucm91bmQoYi5jaGFydFdpZHRoLzMpLE09eS5jZW50ZXIsUD1NWzJdLzIsTz1NWzFdLFQ9W1tdLFtdXSxFPVswLDAsMCwwXSxMPXkuZGF0YUxhYmVsUG9zaXRpb25lcnM7eS52aXNpYmxlJiYoeC5lbmFibGVkfHx5Ll9oYXNQb2ludExhYmVscykmJihfLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZGF0YUxhYmVsJiZ0LnZpc2libGUmJnQuZGF0YUxhYmVsLnNob3J0ZW5lZCYmKHQuZGF0YUxhYmVsLmF0dHIoe3dpZHRoOiJhdXRvIn0pLmNzcyh7d2lkdGg6ImF1dG8iLHRleHRPdmVyZmxvdzoiY2xpcCJ9KSx0LmRhdGFMYWJlbC5zaG9ydGVuZWQ9ITEpfSkpLGMucHJvdG90eXBlLmRyYXdEYXRhTGFiZWxzLmFwcGx5KHkpLF8uZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5kYXRhTGFiZWwmJih0LnZpc2libGU/KFRbdC5oYWxmXS5wdXNoKHQpLHQuZGF0YUxhYmVsLl9wb3M9bnVsbCwhcCh4LnN0eWxlLndpZHRoKSYmIXAodC5vcHRpb25zLmRhdGFMYWJlbHMmJnQub3B0aW9ucy5kYXRhTGFiZWxzLnN0eWxlJiZ0Lm9wdGlvbnMuZGF0YUxhYmVscy5zdHlsZS53aWR0aCkmJnQuZGF0YUxhYmVsLmdldEJCb3goKS53aWR0aD5BJiYodC5kYXRhTGFiZWwuY3NzKHt3aWR0aDpNYXRoLnJvdW5kKC43KkEpKyJweCJ9KSx0LmRhdGFMYWJlbC5zaG9ydGVuZWQ9ITApKToodC5kYXRhTGFiZWw9dC5kYXRhTGFiZWwuZGVzdHJveSgpLHQuZGF0YUxhYmVscyYmMT09PXQuZGF0YUxhYmVscy5sZW5ndGgmJmRlbGV0ZSB0LmRhdGFMYWJlbHMpKX0pKSxULmZvckVhY2goKGZ1bmN0aW9uKGUsaSl7dmFyIGMsaD1lLmxlbmd0aCxkPVtdO2lmKGgpe2lmKHkuc29ydEJ5QW5nbGUoZSxpLS41KSwwPHkubWF4TGFiZWxEaXN0YW5jZSl7dmFyIF89TWF0aC5tYXgoMCxPLVAteS5tYXhMYWJlbERpc3RhbmNlKSxBPU1hdGgubWluKE8rUCt5Lm1heExhYmVsRGlzdGFuY2UsYi5wbG90SGVpZ2h0KTtlLmZvckVhY2goKGZ1bmN0aW9uKHQpezA8dC5sYWJlbERpc3RhbmNlJiZ0LmRhdGFMYWJlbCYmKHQudG9wPU1hdGgubWF4KDAsTy1QLXQubGFiZWxEaXN0YW5jZSksdC5ib3R0b209TWF0aC5taW4oTytQK3QubGFiZWxEaXN0YW5jZSxiLnBsb3RIZWlnaHQpLGM9dC5kYXRhTGFiZWwuZ2V0QkJveCgpLmhlaWdodHx8MjEsdC5kaXN0cmlidXRlQm94PXt0YXJnZXQ6dC5sYWJlbFBvc2l0aW9uLm5hdHVyYWwueS10LnRvcCtjLzIsc2l6ZTpjLHJhbms6dC55fSxkLnB1c2godC5kaXN0cmlidXRlQm94KSl9KSksXz1BK2MtXyxzKGQsXyxfLzUpfWZvcihnPTA7ZzxoO2crKyl7aWYodD1lW2ddLG89dC5sYWJlbFBvc2l0aW9uLG49dC5kYXRhTGFiZWwsbT0hMT09PXQudmlzaWJsZT8iaGlkZGVuIjoiaW5oZXJpdCIsZj1fPW8ubmF0dXJhbC55LGQmJnAodC5kaXN0cmlidXRlQm94KSYmKCJ1bmRlZmluZWQiPT09dHlwZW9mIHQuZGlzdHJpYnV0ZUJveC5wb3M/bT0iaGlkZGVuIjooYT10LmRpc3RyaWJ1dGVCb3guc2l6ZSxmPUwucmFkaWFsRGlzdHJpYnV0aW9uWSh0KSkpLGRlbGV0ZSB0LnBvc2l0aW9uSW5kZXgseC5qdXN0aWZ5KWw9TC5qdXN0aWZ5KHQsUCxNKTtlbHNlIHN3aXRjaCh4LmFsaWduVG8pe2Nhc2UiY29ubmVjdG9ycyI6bD1MLmFsaWduVG9Db25uZWN0b3JzKGUsaSxrLFMpO2JyZWFrO2Nhc2UicGxvdEVkZ2VzIjpsPUwuYWxpZ25Ub1Bsb3RFZGdlcyhuLGksayxTKTticmVhaztkZWZhdWx0Omw9TC5yYWRpYWxEaXN0cmlidXRpb25YKHksdCxmLF8pfW4uX2F0dHI9e3Zpc2liaWxpdHk6bSxhbGlnbjpvLmFsaWdubWVudH0sdj10Lm9wdGlvbnMuZGF0YUxhYmVsc3x8e30sbi5fcG9zPXt4OmwrdSh2LngseC54KSsoe2xlZnQ6dyxyaWdodDotd31bby5hbGlnbm1lbnRdfHwwKSx5OmYrdSh2LnkseC55KS0xMH0sby5maW5hbC54PWwsby5maW5hbC55PWYsdSh4LmNyb3AsITApJiYocj1uLmdldEJCb3goKS53aWR0aCxfPW51bGwsbC1yPHcmJjE9PT1pPyhfPU1hdGgucm91bmQoci1sK3cpLEVbM109TWF0aC5tYXgoXyxFWzNdKSk6bCtyPmstdyYmMD09PWkmJihfPU1hdGgucm91bmQobCtyLWsrdyksRVsxXT1NYXRoLm1heChfLEVbMV0pKSwwPmYtYS8yP0VbMF09TWF0aC5tYXgoTWF0aC5yb3VuZChhLzItZiksRVswXSk6ZithLzI+QyYmKEVbMl09TWF0aC5tYXgoTWF0aC5yb3VuZChmK2EvMi1DKSxFWzJdKSksbi5zaWRlT3ZlcmZsb3c9Xyl9fX0pKSwwPT09aChFKXx8dGhpcy52ZXJpZnlEYXRhTGFiZWxPdmVyZmxvdyhFKSkmJih0aGlzLnBsYWNlRGF0YUxhYmVscygpLHRoaXMucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciByOyh2PWQoeCx0Lm9wdGlvbnMuZGF0YUxhYmVscyksZT11KHYuY29ubmVjdG9yV2lkdGgsMSkpJiYoaT10LmNvbm5lY3Rvciwobj10LmRhdGFMYWJlbCkmJm4uX3BvcyYmdC52aXNpYmxlJiYwPHQubGFiZWxEaXN0YW5jZT8obT1uLl9hdHRyLnZpc2liaWxpdHksKHI9IWkpJiYodC5jb25uZWN0b3I9aT1iLnJlbmRlcmVyLnBhdGgoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1kYXRhLWxhYmVsLWNvbm5lY3RvciAgaGlnaGNoYXJ0cy1jb2xvci0iK3QuY29sb3JJbmRleCsodC5jbGFzc05hbWU/IiAiK3QuY2xhc3NOYW1lOiIiKSkuYWRkKHkuZGF0YUxhYmVsc0dyb3VwKSxiLnN0eWxlZE1vZGV8fGkuYXR0cih7InN0cm9rZS13aWR0aCI6ZSxzdHJva2U6di5jb25uZWN0b3JDb2xvcnx8dC5jb2xvcnx8IiM2NjY2NjYifSkpLGlbcj8iYXR0ciI6ImFuaW1hdGUiXSh7ZDp0LmdldENvbm5lY3RvclBhdGgoKX0pLGkuYXR0cigidmlzaWJpbGl0eSIsbSkpOmkmJih0LmNvbm5lY3Rvcj1pLmRlc3Ryb3koKSkpfSkpKX1mdW5jdGlvbiBuKCl7dGhpcy5wb2ludHMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGUsaT10LmRhdGFMYWJlbDtpJiZ0LnZpc2libGUmJigoZT1pLl9wb3MpPyhpLnNpZGVPdmVyZmxvdyYmKGkuX2F0dHIud2lkdGg9TWF0aC5tYXgoaS5nZXRCQm94KCkud2lkdGgtaS5zaWRlT3ZlcmZsb3csMCksaS5jc3Moe3dpZHRoOmkuX2F0dHIud2lkdGgrInB4Iix0ZXh0T3ZlcmZsb3c6KHRoaXMub3B0aW9ucy5kYXRhTGFiZWxzLnN0eWxlfHx7fSkudGV4dE92ZXJmbG93fHwiZWxsaXBzaXMifSksaS5zaG9ydGVuZWQ9ITApLGkuYXR0cihpLl9hdHRyKSxpW2kubW92ZWQ/ImFuaW1hdGUiOiJhdHRyIl0oZSksaS5tb3ZlZD0hMCk6aSYmaS5hdHRyKHt5Oi05OTk5fSkpLGRlbGV0ZSB0LmRpc3RyaWJ1dGVCb3h9KSx0aGlzKX1mdW5jdGlvbiByKHQpe3ZhciBlPXRoaXMuY2VudGVyLGk9dGhpcy5vcHRpb25zLG49aS5jZW50ZXIscj1pLm1pblNpemV8fDgwLG89bnVsbCE9PWkuc2l6ZTtpZighbyl7aWYobnVsbCE9PW5bMF0pdmFyIGE9TWF0aC5tYXgoZVsyXS1NYXRoLm1heCh0WzFdLHRbM10pLHIpO2Vsc2UgYT1NYXRoLm1heChlWzJdLXRbMV0tdFszXSxyKSxlWzBdKz0odFszXS10WzFdKS8yO251bGwhPT1uWzFdP2E9bChhLHIsZVsyXS1NYXRoLm1heCh0WzBdLHRbMl0pKTooYT1sKGEscixlWzJdLXRbMF0tdFsyXSksZVsxXSs9KHRbMF0tdFsyXSkvMiksYTxlWzJdPyhlWzJdPWEsZVszXT1NYXRoLm1pbihmKGkuaW5uZXJTaXplfHwwLGEpLGEpLHRoaXMudHJhbnNsYXRlKGUpLHRoaXMuZHJhd0RhdGFMYWJlbHMmJnRoaXMuZHJhd0RhdGFMYWJlbHMoKSk6bz0hMH1yZXR1cm4gb312YXIgbz1bXSxtPXtyYWRpYWxEaXN0cmlidXRpb25ZOmZ1bmN0aW9uKHQpe3JldHVybiB0LnRvcCt0LmRpc3RyaWJ1dGVCb3gucG9zfSxyYWRpYWxEaXN0cmlidXRpb25YOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0LmdldFgoaTxlLnRvcCsyfHxpPmUuYm90dG9tLTI/bjppLGUuaGFsZixlKX0sanVzdGlmeTpmdW5jdGlvbih0LGUsaSl7cmV0dXJuIGlbMF0rKHQuaGFsZj8tMToxKSooZSt0LmxhYmVsRGlzdGFuY2UpfSxhbGlnblRvUGxvdEVkZ2VzOmZ1bmN0aW9uKHQsZSxpLG4pe3JldHVybiB0PXQuZ2V0QkJveCgpLndpZHRoLGU/dCtuOmktdC1ufSxhbGlnblRvQ29ubmVjdG9yczpmdW5jdGlvbih0LGUsaSxuKXt2YXIgcixvPTA7cmV0dXJuIHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7cj10LmRhdGFMYWJlbC5nZXRCQm94KCkud2lkdGgscj5vJiYobz1yKX0pKSxlP28rbjppLW8tbn19O2UuY29tcG9zZT1mdW5jdGlvbihlKXt0LmNvbXBvc2UoYyksLTE9PT1vLmluZGV4T2YoZSkmJihvLnB1c2goZSksZT1lLnByb3RvdHlwZSxlLmRhdGFMYWJlbFBvc2l0aW9uZXJzPW0sZS5hbGlnbkRhdGFMYWJlbD1hLGUuZHJhd0RhdGFMYWJlbHM9aSxlLnBsYWNlRGF0YUxhYmVscz1uLGUudmVyaWZ5RGF0YUxhYmVsT3ZlcmZsb3c9cil9fShvfHwobz17fSkpLG99KSksZShpLCJFeHRlbnNpb25zL092ZXJsYXBwaW5nRGF0YUxhYmVscy5qcyIsW2lbIkNvcmUvQ2hhcnQvQ2hhcnQuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlKXtmdW5jdGlvbiBpKHQsZSl7dmFyIGk9ITE7aWYodCl7dmFyIG49dC5uZXdPcGFjaXR5O3Qub2xkT3BhY2l0eSE9PW4mJih0LmFsaWduQXR0ciYmdC5wbGFjZWQ/KHRbbj8icmVtb3ZlQ2xhc3MiOiJhZGRDbGFzcyJdKCJoaWdoY2hhcnRzLWRhdGEtbGFiZWwtaGlkZGVuIiksaT0hMCx0LmFsaWduQXR0ci5vcGFjaXR5PW4sdFt0LmlzT2xkPyJhbmltYXRlIjoiYXR0ciJdKHQuYWxpZ25BdHRyLG51bGwsKGZ1bmN0aW9uKCl7ZS5zdHlsZWRNb2RlfHx0LmNzcyh7cG9pbnRlckV2ZW50czpuPyJhdXRvIjoibm9uZSJ9KX0pKSxyKGUsImFmdGVySGlkZU92ZXJsYXBwaW5nTGFiZWwiKSk6dC5hdHRyKHtvcGFjaXR5Om59KSksdC5pc09sZD0hMH1yZXR1cm4gaX12YXIgbj1lLmFkZEV2ZW50LHI9ZS5maXJlRXZlbnQsbz1lLmlzQXJyYXksYT1lLmlzTnVtYmVyLHM9ZS5vYmplY3RFYWNoLGM9ZS5waWNrO24odCwicmVuZGVyIiwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9W107KHRoaXMubGFiZWxDb2xsZWN0b3JzfHxbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7ZT1lLmNvbmNhdCh0KCkpfSkpLCh0aGlzLnlBeGlzfHxbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5zdGFja2luZyYmdC5vcHRpb25zLnN0YWNrTGFiZWxzJiYhdC5vcHRpb25zLnN0YWNrTGFiZWxzLmFsbG93T3ZlcmxhcCYmcyh0LnN0YWNraW5nLnN0YWNrcywoZnVuY3Rpb24odCl7cyh0LChmdW5jdGlvbih0KXt0LmxhYmVsJiYiaGlkZGVuIiE9PXQubGFiZWwudmlzaWJpbGl0eSYmZS5wdXNoKHQubGFiZWwpfSkpfSkpfSkpLCh0aGlzLnNlcmllc3x8W10pLmZvckVhY2goKGZ1bmN0aW9uKG4pe3ZhciByPW4ub3B0aW9ucy5kYXRhTGFiZWxzO24udmlzaWJsZSYmKCExIT09ci5lbmFibGVkfHxuLl9oYXNQb2ludExhYmVscykmJihyPWZ1bmN0aW9uKG4pe3JldHVybiBuLmZvckVhY2goKGZ1bmN0aW9uKG4pe24udmlzaWJsZSYmKG8obi5kYXRhTGFiZWxzKT9uLmRhdGFMYWJlbHM6bi5kYXRhTGFiZWw/W24uZGF0YUxhYmVsXTpbXSkuZm9yRWFjaCgoZnVuY3Rpb24ocil7dmFyIG89ci5vcHRpb25zO3IubGFiZWxyYW5rPWMoby5sYWJlbHJhbmssbi5sYWJlbHJhbmssbi5zaGFwZUFyZ3MmJm4uc2hhcGVBcmdzLmhlaWdodCksby5hbGxvd092ZXJsYXA/KHIub2xkT3BhY2l0eT1yLm9wYWNpdHksci5uZXdPcGFjaXR5PTEsaShyLHQpKTplLnB1c2gocil9KSl9KSl9LHIobi5ub2Rlc3x8W10pLHIobi5wb2ludHMpKX0pKSx0aGlzLmhpZGVPdmVybGFwcGluZ0xhYmVscyhlKX0pKSx0LnByb3RvdHlwZS5oaWRlT3ZlcmxhcHBpbmdMYWJlbHM9ZnVuY3Rpb24odCl7dmFyIGUsbixvLHM9dGhpcyxjPXQubGVuZ3RoLGg9cy5yZW5kZXJlcixsPSExLHA9ZnVuY3Rpb24odCl7dmFyIGUsaSxuPXQuYm94PzA6dC5wYWRkaW5nfHwwLHI9ZT0wO2lmKHQmJighdC5hbGlnbkF0dHJ8fHQucGxhY2VkKSl7dmFyIG89dC5hbGlnbkF0dHJ8fHt4OnQuYXR0cigieCIpLHk6dC5hdHRyKCJ5Iil9LHM9dC5wYXJlbnRHcm91cDt0LndpZHRofHwoZT10LmdldEJCb3goKSx0LndpZHRoPWUud2lkdGgsdC5oZWlnaHQ9ZS5oZWlnaHQsZT1oLmZvbnRNZXRyaWNzKG51bGwsdC5lbGVtZW50KS5oKTt2YXIgYz10LndpZHRoLTIqbjtyZXR1cm4oaT17bGVmdDoiMCIsY2VudGVyOiIwLjUiLHJpZ2h0OiIxIn1bdC5hbGlnblZhbHVlXSk/cj0raSpjOmEodC54KSYmTWF0aC5yb3VuZCh0LngpIT09dC50cmFuc2xhdGVYJiYocj10LngtdC50cmFuc2xhdGVYKSx7eDpvLngrKHMudHJhbnNsYXRlWHx8MCkrbi0ocnx8MCkseTpvLnkrKHMudHJhbnNsYXRlWXx8MCkrbi1lLHdpZHRoOnQud2lkdGgtMipuLGhlaWdodDp0LmhlaWdodC0yKm59fX07Zm9yKG49MDtuPGM7bisrKShlPXRbbl0pJiYoZS5vbGRPcGFjaXR5PWUub3BhY2l0eSxlLm5ld09wYWNpdHk9MSxlLmFic29sdXRlQm94PXAoZSkpO2Zvcih0LnNvcnQoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuKGUubGFiZWxyYW5rfHwwKS0odC5sYWJlbHJhbmt8fDApfSkpLG49MDtuPGM7bisrKXt2YXIgZD0ocD10W25dKSYmcC5hYnNvbHV0ZUJveDtmb3IoZT1uKzE7ZTxjOysrZSl7dmFyIHU9KG89dFtlXSkmJm8uYWJzb2x1dGVCb3g7IWR8fCF1fHxwPT09b3x8MD09PXAubmV3T3BhY2l0eXx8MD09PW8ubmV3T3BhY2l0eXx8dS54Pj1kLngrZC53aWR0aHx8dS54K3Uud2lkdGg8PWQueHx8dS55Pj1kLnkrZC5oZWlnaHR8fHUueSt1LmhlaWdodDw9ZC55fHwoKHAubGFiZWxyYW5rPG8ubGFiZWxyYW5rP3A6bykubmV3T3BhY2l0eT0wKX19dC5mb3JFYWNoKChmdW5jdGlvbih0KXtpKHQscykmJihsPSEwKX0pKSxsJiZyKHMsImFmdGVySGlkZUFsbE92ZXJsYXBwaW5nTGFiZWxzIil9fSkpLGUoaSwiQ29yZS9SZXNwb25zaXZlLmpzIixbaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQpe3ZhciBlLGk9dC5leHRlbmQsbj10LmZpbmQscj10LmlzQXJyYXksbz10LmlzT2JqZWN0LGE9dC5tZXJnZSxzPXQub2JqZWN0RWFjaCxjPXQucGljayxoPXQuc3BsYXQsbD10LnVuaXF1ZUtleTtyZXR1cm4gZnVuY3Rpb24odCl7dmFyIGU9W107dC5jb21wb3NlPWZ1bmN0aW9uKHQpe3JldHVybi0xPT09ZS5pbmRleE9mKHQpJiYoZS5wdXNoKHQpLGkodC5wcm90b3R5cGUscC5wcm90b3R5cGUpKSx0fTt2YXIgcD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQucHJvdG90eXBlLmN1cnJlbnRPcHRpb25zPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUodCxuLGEsYyl7dmFyIGw7cyh0LChmdW5jdGlvbih0LHMpe2lmKCFjJiYtMTxpLmNvbGxlY3Rpb25zV2l0aFVwZGF0ZS5pbmRleE9mKHMpJiZuW3NdKWZvcih0PWgodCksYVtzXT1bXSxsPTA7bDxNYXRoLm1heCh0Lmxlbmd0aCxuW3NdLmxlbmd0aCk7bCsrKW5bc11bbF0mJih2b2lkIDA9PT10W2xdP2Fbc11bbF09bltzXVtsXTooYVtzXVtsXT17fSxlKHRbbF0sbltzXVtsXSxhW3NdW2xdLGMrMSkpKTtlbHNlIG8odCk/KGFbc109cih0KT9bXTp7fSxlKHQsbltzXXx8e30sYVtzXSxjKzEpKTphW3NdPSJ1bmRlZmluZWQiPT09dHlwZW9mIG5bc10/bnVsbDpuW3NdfSkpfXZhciBpPXRoaXMsbj17fTtyZXR1cm4gZSh0LHRoaXMub3B0aW9ucyxuLDApLG59LHQucHJvdG90eXBlLm1hdGNoUmVzcG9uc2l2ZVJ1bGU9ZnVuY3Rpb24odCxlKXt2YXIgaT10LmNvbmRpdGlvbjsoaS5jYWxsYmFja3x8ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jaGFydFdpZHRoPD1jKGkubWF4V2lkdGgsTnVtYmVyLk1BWF9WQUxVRSkmJnRoaXMuY2hhcnRIZWlnaHQ8PWMoaS5tYXhIZWlnaHQsTnVtYmVyLk1BWF9WQUxVRSkmJnRoaXMuY2hhcnRXaWR0aD49YyhpLm1pbldpZHRoLDApJiZ0aGlzLmNoYXJ0SGVpZ2h0Pj1jKGkubWluSGVpZ2h0LDApfSkuY2FsbCh0aGlzKSYmZS5wdXNoKHQuX2lkKX0sdC5wcm90b3R5cGUuc2V0UmVzcG9uc2l2ZT1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMscj10aGlzLm9wdGlvbnMucmVzcG9uc2l2ZSxvPXRoaXMuY3VycmVudFJlc3BvbnNpdmUscz1bXTshZSYmciYmci5ydWxlcyYmci5ydWxlcy5mb3JFYWNoKChmdW5jdGlvbih0KXsidW5kZWZpbmVkIj09PXR5cGVvZiB0Ll9pZCYmKHQuX2lkPWwoKSksaS5tYXRjaFJlc3BvbnNpdmVSdWxlKHQscyl9KSx0aGlzKSxlPWEuYXBwbHkodm9pZCAwLHMubWFwKChmdW5jdGlvbih0KXtyZXR1cm4gbigocnx8e30pLnJ1bGVzfHxbXSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUuX2lkPT09dH0pKX0pKS5tYXAoKGZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0LmNoYXJ0T3B0aW9uc30pKSksZS5pc1Jlc3BvbnNpdmVPcHRpb25zPSEwLHM9cy50b1N0cmluZygpfHx2b2lkIDAscyE9PShvJiZvLnJ1bGVJZHMpJiYobyYmdGhpcy51cGRhdGUoby51bmRvT3B0aW9ucyx0LCEwKSxzPyhvPXRoaXMuY3VycmVudE9wdGlvbnMoZSksby5pc1Jlc3BvbnNpdmVPcHRpb25zPSEwLHRoaXMuY3VycmVudFJlc3BvbnNpdmU9e3J1bGVJZHM6cyxtZXJnZWRPcHRpb25zOmUsdW5kb09wdGlvbnM6b30sdGhpcy51cGRhdGUoZSx0LCEwKSk6dGhpcy5jdXJyZW50UmVzcG9uc2l2ZT12b2lkIDApfSx0fSgpfShlfHwoZT17fSkpLGV9KSksZShpLCJtYXN0ZXJzL2hpZ2hjaGFydHMuc3JjLmpzIixbaVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXSxpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0saVsiQ29yZS9BbmltYXRpb24vRnguanMiXSxpWyJDb3JlL0FuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuanMiXSxpWyJDb3JlL1JlbmRlcmVyL0hUTUwvQVNULmpzIl0saVsiQ29yZS9Gb3JtYXRVdGlsaXRpZXMuanMiXSxpWyJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyVXRpbGl0aWVzLmpzIl0saVsiQ29yZS9SZW5kZXJlci9TVkcvU1ZHRWxlbWVudC5qcyJdLGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR1JlbmRlcmVyLmpzIl0saVsiQ29yZS9SZW5kZXJlci9IVE1ML0hUTUxFbGVtZW50LmpzIl0saVsiQ29yZS9SZW5kZXJlci9IVE1ML0hUTUxSZW5kZXJlci5qcyJdLGlbIkNvcmUvQXhpcy9BeGlzLmpzIl0saVsiQ29yZS9BeGlzL0RhdGVUaW1lQXhpcy5qcyJdLGlbIkNvcmUvQXhpcy9Mb2dhcml0aG1pY0F4aXMuanMiXSxpWyJDb3JlL0F4aXMvUGxvdExpbmVPckJhbmQvUGxvdExpbmVPckJhbmQuanMiXSxpWyJDb3JlL0F4aXMvVGljay5qcyJdLGlbIkNvcmUvVG9vbHRpcC5qcyJdLGlbIkNvcmUvU2VyaWVzL1BvaW50LmpzIl0saVsiQ29yZS9Qb2ludGVyLmpzIl0saVsiQ29yZS9NU1BvaW50ZXIuanMiXSxpWyJDb3JlL0xlZ2VuZC9MZWdlbmQuanMiXSxpWyJDb3JlL0NoYXJ0L0NoYXJ0LmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzLmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSxpWyJTZXJpZXMvQ29sdW1uL0NvbHVtblNlcmllcy5qcyJdLGlbIlNlcmllcy9Db2x1bW4vQ29sdW1uRGF0YUxhYmVsLmpzIl0saVsiU2VyaWVzL1BpZS9QaWVTZXJpZXMuanMiXSxpWyJTZXJpZXMvUGllL1BpZURhdGFMYWJlbC5qcyJdLGlbIkNvcmUvU2VyaWVzL0RhdGFMYWJlbC5qcyJdLGlbIkNvcmUvUmVzcG9uc2l2ZS5qcyJdLGlbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSxpWyJDb3JlL1RpbWUuanMiXV0sKGZ1bmN0aW9uKHQsZSxpLG4scixvLGEscyxjLGgsbCxwLGQsdSxmLG0sZyx2LHksXyxiLHgsdyxrLEMsUyxBLE0sUCxPLFQsRSxMKXtyZXR1cm4gdC5hbmltYXRlPXIuYW5pbWF0ZSx0LmFuaW1PYmplY3Q9ci5hbmltT2JqZWN0LHQuZ2V0RGVmZXJyZWRBbmltYXRpb249ci5nZXREZWZlcnJlZEFuaW1hdGlvbix0LnNldEFuaW1hdGlvbj1yLnNldEFuaW1hdGlvbix0LnN0b3A9ci5zdG9wLHQudGltZXJzPW4udGltZXJzLHQuQVNUPW8sdC5BeGlzPWQsdC5DaGFydD13LHQuY2hhcnQ9dy5jaGFydCx0LkZ4PW4sdC5MZWdlbmQ9eCx0LlBsb3RMaW5lT3JCYW5kPW0sdC5Qb2ludD15LHQuUG9pbnRlcj1iLmlzUmVxdWlyZWQoKT9iOl8sdC5TZXJpZXM9ayx0LlNWR0VsZW1lbnQ9Yyx0LlNWR1JlbmRlcmVyPWgsdC5UaWNrPWcsdC5UaW1lPUwsdC5Ub29sdGlwPXYsdC5Db2xvcj1FLHQuY29sb3I9RS5wYXJzZSxwLmNvbXBvc2UoaCksbC5jb21wb3NlKGMpLHQuZGVmYXVsdE9wdGlvbnM9aS5kZWZhdWx0T3B0aW9ucyx0LmdldE9wdGlvbnM9aS5nZXRPcHRpb25zLHQudGltZT1pLmRlZmF1bHRUaW1lLHQuc2V0T3B0aW9ucz1pLnNldE9wdGlvbnMsdC5kYXRlRm9ybWF0PWEuZGF0ZUZvcm1hdCx0LmZvcm1hdD1hLmZvcm1hdCx0Lm51bWJlckZvcm1hdD1hLm51bWJlckZvcm1hdCx0LmFkZEV2ZW50PWUuYWRkRXZlbnQsdC5hcnJheU1heD1lLmFycmF5TWF4LHQuYXJyYXlNaW49ZS5hcnJheU1pbix0LmF0dHI9ZS5hdHRyLHQuY2xlYXJUaW1lb3V0PWUuY2xlYXJUaW1lb3V0LHQuY29ycmVjdEZsb2F0PWUuY29ycmVjdEZsb2F0LHQuY3JlYXRlRWxlbWVudD1lLmNyZWF0ZUVsZW1lbnQsdC5jc3M9ZS5jc3MsdC5kZWZpbmVkPWUuZGVmaW5lZCx0LmRlc3Ryb3lPYmplY3RQcm9wZXJ0aWVzPWUuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsdC5kaXNjYXJkRWxlbWVudD1lLmRpc2NhcmRFbGVtZW50LHQuZGlzdHJpYnV0ZT1zLmRpc3RyaWJ1dGUsdC5lcmFzZT1lLmVyYXNlLHQuZXJyb3I9ZS5lcnJvcix0LmV4dGVuZD1lLmV4dGVuZCx0LmV4dGVuZENsYXNzPWUuZXh0ZW5kQ2xhc3MsdC5maW5kPWUuZmluZCx0LmZpcmVFdmVudD1lLmZpcmVFdmVudCx0LmdldE1hZ25pdHVkZT1lLmdldE1hZ25pdHVkZSx0LmdldFN0eWxlPWUuZ2V0U3R5bGUsdC5pbkFycmF5PWUuaW5BcnJheSx0LmlzQXJyYXk9ZS5pc0FycmF5LHQuaXNDbGFzcz1lLmlzQ2xhc3MsdC5pc0RPTUVsZW1lbnQ9ZS5pc0RPTUVsZW1lbnQsdC5pc0Z1bmN0aW9uPWUuaXNGdW5jdGlvbix0LmlzTnVtYmVyPWUuaXNOdW1iZXIsdC5pc09iamVjdD1lLmlzT2JqZWN0LHQuaXNTdHJpbmc9ZS5pc1N0cmluZyx0LmtleXM9ZS5rZXlzLHQubWVyZ2U9ZS5tZXJnZSx0Lm5vcm1hbGl6ZVRpY2tJbnRlcnZhbD1lLm5vcm1hbGl6ZVRpY2tJbnRlcnZhbCx0Lm9iamVjdEVhY2g9ZS5vYmplY3RFYWNoLHQub2Zmc2V0PWUub2Zmc2V0LHQucGFkPWUucGFkLHQucGljaz1lLnBpY2ssdC5wSW50PWUucEludCx0LnJlbGF0aXZlTGVuZ3RoPWUucmVsYXRpdmVMZW5ndGgsdC5yZW1vdmVFdmVudD1lLnJlbW92ZUV2ZW50LHQuc2VyaWVzVHlwZT1DLnNlcmllc1R5cGUsdC5zcGxhdD1lLnNwbGF0LHQuc3RhYmxlU29ydD1lLnN0YWJsZVNvcnQsdC5zeW5jVGltZW91dD1lLnN5bmNUaW1lb3V0LHQudGltZVVuaXRzPWUudGltZVVuaXRzLHQudW5pcXVlS2V5PWUudW5pcXVlS2V5LHQudXNlU2VyaWFsSWRzPWUudXNlU2VyaWFsSWRzLHQud3JhcD1lLndyYXAsQS5jb21wb3NlKFMpLE8uY29tcG9zZShrKSx1LmNvbXBvc2UoZCksZi5jb21wb3NlKGQpLFAuY29tcG9zZShNKSxtLmNvbXBvc2UoZCksVC5jb21wb3NlKHcpLHR9KSksZShpLCJDb3JlL0F4aXMvT3JkaW5hbEF4aXMuanMiLFtpWyJDb3JlL0F4aXMvQXhpcy5qcyJdLGlbIkNvcmUvR2xvYmFscy5qcyJdLGlbIkNvcmUvU2VyaWVzL1Nlcmllcy5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSxuKXt2YXIgcixvPW4uYWRkRXZlbnQsYT1uLmNvcnJlY3RGbG9hdCxzPW4uY3NzLGM9bi5kZWZpbmVkLGg9bi5lcnJvcixsPW4ucGljayxwPW4udGltZVVuaXRzLGQ9W107cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIG4odCxlLGksbixyLG8sYSl7dm9pZCAwPT09ciYmKHI9W10pLHZvaWQgMD09PW8mJihvPTApO3ZhciBzLGwsZD17fSx1PXRoaXMub3B0aW9ucy50aWNrUGl4ZWxJbnRlcnZhbCxmPXRoaXMuY2hhcnQudGltZSxtPVtdLGc9MCx2PVtdLHk9LU51bWJlci5NQVhfVkFMVUU7aWYoIXRoaXMub3B0aW9ucy5vcmRpbmFsJiYhdGhpcy5vcHRpb25zLmJyZWFrc3x8IXJ8fDM+ci5sZW5ndGh8fCJ1bmRlZmluZWQiPT09dHlwZW9mIGUpcmV0dXJuIGYuZ2V0VGltZVRpY2tzLmFwcGx5KGYsYXJndW1lbnRzKTt2YXIgXz1yLmxlbmd0aDtmb3Iocz0wO3M8XztzKyspe3ZhciBiPXMmJnJbcy0xXT5pO2lmKHJbc108ZSYmKGc9cykscz09PV8tMXx8cltzKzFdLXJbc10+NSpvfHxiKXtpZihyW3NdPnkpe2ZvcihsPWYuZ2V0VGltZVRpY2tzKHQscltnXSxyW3NdLG4pO2wubGVuZ3RoJiZsWzBdPD15OylsLnNoaWZ0KCk7bC5sZW5ndGgmJih5PWxbbC5sZW5ndGgtMV0pLG0ucHVzaCh2Lmxlbmd0aCksdj12LmNvbmNhdChsKX1nPXMrMX1pZihiKWJyZWFrfWlmKGwpe2lmKGw9bC5pbmZvLGEmJmwudW5pdFJhbmdlPD1wLmhvdXIpe2ZvcihzPXYubGVuZ3RoLTEsZz0xO2c8cztnKyspaWYoZi5kYXRlRm9ybWF0KCIlZCIsdltnXSkhPT1mLmRhdGVGb3JtYXQoIiVkIix2W2ctMV0pKXtkW3ZbZ11dPSJkYXkiO3ZhciB4PSEwfXgmJihkW3ZbMF1dPSJkYXkiKSxsLmhpZ2hlclJhbmtzPWR9bC5zZWdtZW50U3RhcnRzPW0sdi5pbmZvPWx9ZWxzZSBoKDEyLCExLHRoaXMuY2hhcnQpO2lmKGEmJmModSkpe2ZvcihsPXYubGVuZ3RoLGY9W10sZz1bXSxzPXZvaWQgMCx4PWw7eC0tOyltPXRoaXMudHJhbnNsYXRlKHZbeF0pLHMmJihnW3hdPXMtbSksZlt4XT1zPW07Zm9yKGcuc29ydCgpLGc9Z1tNYXRoLmZsb29yKGcubGVuZ3RoLzIpXSxnPC42KnUmJihnPW51bGwpLHg9dltsLTFdPmk/bC0xOmwscz12b2lkIDA7eC0tOyltPWZbeF0sbD1NYXRoLmFicyhzLW0pLHMmJmw8LjgqdSYmKG51bGw9PT1nfHxsPC44KmcpPyhkW3ZbeF1dJiYhZFt2W3grMV1dPyhsPXgrMSxzPW0pOmw9eCx2LnNwbGljZShsLDEpKTpzPW19cmV0dXJuIHZ9ZnVuY3Rpb24gcih0KXt2YXIgZT10aGlzLm9yZGluYWwucG9zaXRpb25zO2lmKCFlKXJldHVybiB0O3ZhciBpPWUubGVuZ3RoLTE7aWYoMD50KXQ9ZVswXTtlbHNlIGlmKHQ+aSl0PWVbaV07ZWxzZXtpPU1hdGguZmxvb3IodCk7dmFyIG49dC1pfXJldHVybiJ1bmRlZmluZWQiIT09dHlwZW9mIG4mJiJ1bmRlZmluZWQiIT09dHlwZW9mIGVbaV0/ZVtpXSsobj9uKihlW2krMV0tZVtpXSk6MCk6dH1mdW5jdGlvbiB1KHQpe3ZhciBlPXRoaXMub3JkaW5hbCxpPWUucG9zaXRpb25zO2lmKCFpKXJldHVybiB0O3ZhciBuPSh0LSh0aGlzLm9sZD90aGlzLm9sZC5taW46dGhpcy5taW4pKSoodGhpcy5vbGQ/dGhpcy5vbGQudHJhbnNBOnRoaXMudHJhbnNBKSt0aGlzLm1pblBpeGVsUGFkZGluZztpZigwPG4mJm48dGhpcy5sZWZ0K3RoaXMubGVufHwoZS5leHRlbmRlZE9yZGluYWxQb3NpdGlvbnN8fChlLmV4dGVuZGVkT3JkaW5hbFBvc2l0aW9ucz1lLmdldEV4dGVuZGVkUG9zaXRpb25zKCkpLGk9ZS5leHRlbmRlZE9yZGluYWxQb3NpdGlvbnMpLGkmJmkubGVuZ3RoKXtpZih0PWUuZ2V0SW5kZXhPZlBvaW50KG4saSksZT1hKHQlMSksMDw9dCYmdDxpLmxlbmd0aC0xKXJldHVybiBpW01hdGguZmxvb3IodCldK2UqKGlbTWF0aC5jZWlsKHQpXS1pW01hdGguZmxvb3IodCldKTtlPWkubGVuZ3RoLG49aVswXSxpPWlbZS0xXTt2YXIgcj0oaS1uKS8oZS0xKTtyZXR1cm4gMD50P24rcip0OmkrcioodC1lKX1yZXR1cm4gdH1mdW5jdGlvbiBmKGUsaSl7dmFyIG49dC5BZGRpdGlvbnMuZmluZEluZGV4T2YoZSxpLCEwKTtyZXR1cm4gZVtuXT09PWk/bjpuKyhpLWVbbl0pLyhlW24rMV0tZVtuXSl9ZnVuY3Rpb24gbSgpe3RoaXMub3JkaW5hbHx8KHRoaXMub3JkaW5hbD1uZXcgdC5BZGRpdGlvbnModGhpcykpfWZ1bmN0aW9uIGcoKXt0aGlzLmlzWEF4aXMmJmModGhpcy5vcHRpb25zLm92ZXJzY3JvbGwpJiZ0aGlzLm1heD09PXRoaXMuZGF0YU1heCYmKCF0aGlzLmNoYXJ0Lm1vdXNlSXNEb3dufHx0aGlzLmlzSW50ZXJuYWwpJiYoIXRoaXMuZXZlbnRBcmdzfHx0aGlzLmV2ZW50QXJncyYmIm5hdmlnYXRvciIhPT10aGlzLmV2ZW50QXJncy50cmlnZ2VyKSYmKHRoaXMubWF4Kz10aGlzLm9wdGlvbnMub3ZlcnNjcm9sbCwhdGhpcy5pc0ludGVybmFsJiZjKHRoaXMudXNlck1pbikmJih0aGlzLm1pbis9dGhpcy5vcHRpb25zLm92ZXJzY3JvbGwpKX1mdW5jdGlvbiB2KCl7dGhpcy5ob3JpeiYmIXRoaXMuaXNEaXJ0eSYmKHRoaXMuaXNEaXJ0eT10aGlzLmlzT3JkaW5hbCYmdGhpcy5jaGFydC5uYXZpZ2F0b3ImJiF0aGlzLmNoYXJ0Lm5hdmlnYXRvci5hZGFwdFRvVXBkYXRlZERhdGEpfWZ1bmN0aW9uIHkoKXt0aGlzLm9yZGluYWwmJih0aGlzLm9yZGluYWwuYmVmb3JlU2V0VGlja1Bvc2l0aW9ucygpLHRoaXMudGlja0ludGVydmFsPXRoaXMub3JkaW5hbC5wb3N0UHJvY2Vzc1RpY2tJbnRlcnZhbCh0aGlzLnRpY2tJbnRlcnZhbCkpfWZ1bmN0aW9uIF8odCl7dmFyIGU9dGhpcy54QXhpc1swXSxpPWUub3B0aW9ucy5vdmVyc2Nyb2xsLG49dC5vcmlnaW5hbEV2ZW50LmNoYXJ0WCxyPXRoaXMub3B0aW9ucy5jaGFydC5wYW5uaW5nLG89ITE7aWYociYmInkiIT09ci50eXBlJiZlLm9wdGlvbnMub3JkaW5hbCYmZS5zZXJpZXMubGVuZ3RoKXt2YXIgYT10aGlzLm1vdXNlRG93blgsYz1lLmdldEV4dHJlbWVzKCksaD1jLmRhdGFNYXgsbD1jLm1pbixwPWMubWF4LGQ9dGhpcy5ob3ZlclBvaW50cyx1PWUuY2xvc2VzdFBvaW50UmFuZ2V8fGUub3JkaW5hbCYmZS5vcmRpbmFsLm92ZXJzY3JvbGxQb2ludHNSYW5nZTthPShhLW4pLyhlLnRyYW5zbGF0aW9uU2xvcGUqKGUub3JkaW5hbC5zbG9wZXx8dSkpLHU9e29yZGluYWw6e3Bvc2l0aW9uczplLm9yZGluYWwuZ2V0RXh0ZW5kZWRQb3NpdGlvbnMoKX19O3ZhciBmPWUuaW5kZXgydmFsLG09ZS52YWwybGluLGc9dm9pZCAwLHY9Zz12b2lkIDAseT12b2lkIDA7dS5vcmRpbmFsLnBvc2l0aW9ucz8xPE1hdGguYWJzKGEpJiYoZCYmZC5mb3JFYWNoKChmdW5jdGlvbih0KXt0LnNldFN0YXRlKCl9KSksMD5hPyh2PXUseT1lLm9yZGluYWwucG9zaXRpb25zP2U6dSk6KHY9ZS5vcmRpbmFsLnBvc2l0aW9ucz9lOnUseT11KSxnPXkub3JkaW5hbC5wb3NpdGlvbnMsaD5nW2cubGVuZ3RoLTFdJiZnLnB1c2goaCksdGhpcy5maXhlZFJhbmdlPXAtbCxnPWUubmF2aWdhdG9yQXhpcy50b0ZpeGVkUmFuZ2Uodm9pZCAwLHZvaWQgMCxmLmFwcGx5KHYsW20uYXBwbHkodixbbCwhMF0pK2FdKSxmLmFwcGx5KHksW20uYXBwbHkoeSxbcCwhMF0pK2FdKSksZy5taW4+PU1hdGgubWluKGMuZGF0YU1pbixsKSYmZy5tYXg8PU1hdGgubWF4KGgscCkraSYmZS5zZXRFeHRyZW1lcyhnLm1pbixnLm1heCwhMCwhMSx7dHJpZ2dlcjoicGFuIn0pLHRoaXMubW91c2VEb3duWD1uLHModGhpcy5jb250YWluZXIse2N1cnNvcjoibW92ZSJ9KSk6bz0hMH1lbHNlIG89ITA7b3x8ciYmL3kvLnRlc3Qoci50eXBlKT9pJiYoZS5tYXg9ZS5kYXRhTWF4K2kpOnQucHJldmVudERlZmF1bHQoKX1mdW5jdGlvbiBiKCl7dmFyIHQ9dGhpcy54QXhpczt0JiZ0Lm9wdGlvbnMub3JkaW5hbCYmKGRlbGV0ZSB0Lm9yZGluYWwuaW5kZXgsZGVsZXRlIHQub3JkaW5hbC5leHRlbmRlZE9yZGluYWxQb3NpdGlvbnMpfWZ1bmN0aW9uIHgodCxlKXt2YXIgaT10aGlzLm9yZGluYWwsbj1pLnBvc2l0aW9ucyxyPWkuc2xvcGUsbz1pLmV4dGVuZGVkT3JkaW5hbFBvc2l0aW9ucztpZighbilyZXR1cm4gdDt2YXIgYT1uLmxlbmd0aDtpZihuWzBdPD10JiZuW2EtMV0+PXQpdD1mKG4sdCk7ZWxzZXtpZihvfHwobz1pLmdldEV4dGVuZGVkUG9zaXRpb25zJiZpLmdldEV4dGVuZGVkUG9zaXRpb25zKCksaS5leHRlbmRlZE9yZGluYWxQb3NpdGlvbnM9byksIW98fCFvLmxlbmd0aClyZXR1cm4gdDthPW8ubGVuZ3RoLHJ8fChyPShvW2EtMV0tb1swXSkvYSksbj1mKG8sblswXSksdD49b1swXSYmdDw9b1thLTFdP3Q9ZihvLHQpLW46dDxvWzBdPyh0PW9bMF0tdCx0PS1uLXQvcik6KHQtPW9bYS0xXSx0PXQvcithLW4pfXJldHVybiBlP3Q6cioodHx8MCkraS5vZmZzZXR9dC5jb21wb3NlPWZ1bmN0aW9uKHQsZSxpKXtpZigtMT09PWQuaW5kZXhPZih0KSl7ZC5wdXNoKHQpO3ZhciBhPXQucHJvdG90eXBlO2EuZ2V0VGltZVRpY2tzPW4sYS5pbmRleDJ2YWw9cixhLmxpbjJ2YWw9dSxhLnZhbDJsaW49eCxhLm9yZGluYWwybGluPWEudmFsMmxpbixvKHQsImFmdGVySW5pdCIsbSksbyh0LCJmb3VuZEV4dHJlbWVzIixnKSxvKHQsImFmdGVyU2V0U2NhbGUiLHYpLG8odCwiaW5pdGlhbEF4aXNUcmFuc2xhdGlvbiIseSl9cmV0dXJuLTE9PT1kLmluZGV4T2YoaSkmJihkLnB1c2goaSksbyhpLCJwYW4iLF8pKSwtMT09PWQuaW5kZXhPZihlKSYmKGQucHVzaChlKSxvKGUsInVwZGF0ZWREYXRhIixiKSksdH07dmFyIHc9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMuaW5kZXg9e30sdGhpcy5heGlzPXR9cmV0dXJuIHQucHJvdG90eXBlLmJlZm9yZVNldFRpY2tQb3NpdGlvbnM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmF4aXMsZT10Lm9yZGluYWwsaT10LmdldEV4dHJlbWVzKCksbj1pLm1pbixyPWkubWF4LG89dC5pc1hBeGlzJiYhIXQub3B0aW9ucy5icmVha3M7aT10Lm9wdGlvbnMub3JkaW5hbDt2YXIgYSxzLGM9dC5jaGFydC5vcHRpb25zLmNoYXJ0Lmlnbm9yZUhpZGRlblNlcmllcyxoPVtdLHA9TnVtYmVyLk1BWF9WQUxVRSxkPSExO2lmKGl8fG8pe3Quc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7aWYoYT1bXSwhKGMmJiExPT09dC52aXNpYmxlfHwhMT09PXQudGFrZU9yZGluYWxQb3NpdGlvbiYmIW8pJiYoaD1oLmNvbmNhdCh0LnByb2Nlc3NlZFhEYXRhKSx1PWgubGVuZ3RoLGguc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC1lfSkpLHA9TWF0aC5taW4ocCxsKHQuY2xvc2VzdFBvaW50UmFuZ2UscCkpLHUpKXtmb3IoZT0wO2U8dS0xOyloW2VdIT09aFtlKzFdJiZhLnB1c2goaFtlKzFdKSxlKys7YVswXSE9PWhbMF0mJmEudW5zaGlmdChoWzBdKSxoPWF9fSkpO3ZhciB1PWgubGVuZ3RoO2lmKDI8dSl7dmFyIGY9aFsxXS1oWzBdO2ZvcihzPXUtMTtzLS0mJiFkOyloW3MrMV0taFtzXSE9PWYmJihkPSEwKTshdC5vcHRpb25zLmtlZXBPcmRpbmFsUGFkZGluZyYmKGhbMF0tbj5mfHxyLWhbaC5sZW5ndGgtMV0+ZikmJihkPSEwKX1lbHNlIHQub3B0aW9ucy5vdmVyc2Nyb2xsJiYoMj09PXU/cD1oWzFdLWhbMF06MT09PXU/KHA9dC5vcHRpb25zLm92ZXJzY3JvbGwsaD1baFswXSxoWzBdK3BdKTpwPWUub3ZlcnNjcm9sbFBvaW50c1JhbmdlKTtkfHx0LmZvcmNlT3JkaW5hbD8odC5vcHRpb25zLm92ZXJzY3JvbGwmJihlLm92ZXJzY3JvbGxQb2ludHNSYW5nZT1wLGg9aC5jb25jYXQoZS5nZXRPdmVyc2Nyb2xsUG9zaXRpb25zKCkpKSxlLnBvc2l0aW9ucz1oLGY9dC5vcmRpbmFsMmxpbihNYXRoLm1heChuLGhbMF0pLCEwKSxzPU1hdGgubWF4KHQub3JkaW5hbDJsaW4oTWF0aC5taW4ocixoW2gubGVuZ3RoLTFdKSwhMCksMSksZS5zbG9wZT1yPShyLW4pLyhzLWYpLGUub2Zmc2V0PW4tZipyKTooZS5vdmVyc2Nyb2xsUG9pbnRzUmFuZ2U9bCh0LmNsb3Nlc3RQb2ludFJhbmdlLGUub3ZlcnNjcm9sbFBvaW50c1JhbmdlKSxlLnBvc2l0aW9ucz10Lm9yZGluYWwuc2xvcGU9ZS5vZmZzZXQ9dm9pZCAwKX10LmlzT3JkaW5hbD1pJiZkLGUuZ3JvdXBJbnRlcnZhbEZhY3Rvcj1udWxsfSx0LmZpbmRJbmRleE9mPWZ1bmN0aW9uKHQsZSxpKXtmb3IodmFyIG4scj0wLG89dC5sZW5ndGgtMTtyPG87KW49TWF0aC5jZWlsKChyK28pLzIpLHRbbl08PWU/cj1uOm89bi0xO3JldHVybiB0W3JdPT09ZT9yOmk/cjotMX0sdC5wcm90b3R5cGUuZ2V0RXh0ZW5kZWRQb3NpdGlvbnM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLG49dC5heGlzLHI9bi5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsbz1uLmNoYXJ0LGE9bi5zZXJpZXNbMF0uY3VycmVudERhdGFHcm91cGluZyxzPWE/YS5jb3VudCthLnVuaXROYW1lOiJyYXciLGM9bi5vcHRpb25zLm92ZXJzY3JvbGwsaD1uLmdldEV4dHJlbWVzKCksbD12b2lkIDAscD10LmluZGV4O2lmKHB8fChwPXQuaW5kZXg9e30pLCFwW3NdKXt2YXIgZD17c2VyaWVzOltdLGNoYXJ0Om8sZm9yY2VPcmRpbmFsOiExLGdldEV4dHJlbWVzOmZ1bmN0aW9uKCl7cmV0dXJue21pbjpoLmRhdGFNaW4sbWF4OmguZGF0YU1heCtjfX0sZ2V0R3JvdXBQaXhlbFdpZHRoOnIuZ2V0R3JvdXBQaXhlbFdpZHRoLGdldFRpbWVUaWNrczpyLmdldFRpbWVUaWNrcyxvcHRpb25zOntvcmRpbmFsOiEwfSxvcmRpbmFsOntnZXRHcm91cEludGVydmFsRmFjdG9yOnRoaXMuZ2V0R3JvdXBJbnRlcnZhbEZhY3Rvcn0sb3JkaW5hbDJsaW46ci5vcmRpbmFsMmxpbixnZXRJbmRleE9mUG9pbnQ6ci5nZXRJbmRleE9mUG9pbnQsdmFsMmxpbjpyLnZhbDJsaW59O2Qub3JkaW5hbC5heGlzPWQsbi5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24obil7bD17eEF4aXM6ZCx4RGF0YTpuLnhEYXRhLnNsaWNlKCksY2hhcnQ6byxkZXN0cm95R3JvdXBlZERhdGE6ZS5ub29wLGdldFByb2Nlc3NlZERhdGE6aS5wcm90b3R5cGUuZ2V0UHJvY2Vzc2VkRGF0YSxhcHBseUdyb3VwaW5nOmkucHJvdG90eXBlLmFwcGx5R3JvdXBpbmd9LGwueERhdGE9bC54RGF0YS5jb25jYXQodC5nZXRPdmVyc2Nyb2xsUG9zaXRpb25zKCkpLGwub3B0aW9ucz17ZGF0YUdyb3VwaW5nOmE/e2ZpcnN0QW5jaG9yOiJmaXJzdFBvaW50IixhbmNob3I6Im1pZGRsZSIsbGFzdEFuY2hvcjoibGFzdFBvaW50IixlbmFibGVkOiEwLGZvcmNlZDohMCxhcHByb3hpbWF0aW9uOiJvcGVuIix1bml0czpbW2EudW5pdE5hbWUsW2EuY291bnRdXV19OntlbmFibGVkOiExfX0sZC5zZXJpZXMucHVzaChsKSxuLnByb2Nlc3NEYXRhLmFwcGx5KGwpfSkpLGwuY2xvc2VzdFBvaW50UmFuZ2UhPT1sLmJhc2VQb2ludFJhbmdlJiZsLmN1cnJlbnREYXRhR3JvdXBpbmcmJihkLmZvcmNlT3JkaW5hbD0hMCksbi5vcmRpbmFsLmJlZm9yZVNldFRpY2tQb3NpdGlvbnMuYXBwbHkoe2F4aXM6ZH0pLHBbc109ZC5vcmRpbmFsLnBvc2l0aW9uc31yZXR1cm4gcFtzXX0sdC5wcm90b3R5cGUuZ2V0R3JvdXBJbnRlcnZhbEZhY3Rvcj1mdW5jdGlvbih0LGUsaSl7aT1pLnByb2Nlc3NlZFhEYXRhO3ZhciBuPWkubGVuZ3RoLHI9W10sbz10aGlzLmdyb3VwSW50ZXJ2YWxGYWN0b3I7aWYoIW8pe2ZvcihvPTA7bzxuLTE7bysrKXJbb109aVtvKzFdLWlbb107ci5zb3J0KChmdW5jdGlvbih0LGUpe3JldHVybiB0LWV9KSkscj1yW01hdGguZmxvb3Iobi8yKV0sdD1NYXRoLm1heCh0LGlbMF0pLGU9TWF0aC5taW4oZSxpW24tMV0pLHRoaXMuZ3JvdXBJbnRlcnZhbEZhY3Rvcj1vPW4qci8oZS10KX1yZXR1cm4gb30sdC5wcm90b3R5cGUuZ2V0SW5kZXhPZlBvaW50PWZ1bmN0aW9uKGUsaSl7dmFyIG49dGhpcy5heGlzLHI9dGhpcy5wb3NpdGlvbnM/dGhpcy5wb3NpdGlvbnNbMF06MCxvPW4uc2VyaWVzWzBdLnBvaW50cyYmbi5zZXJpZXNbMF0ucG9pbnRzWzBdJiZuLnNlcmllc1swXS5wb2ludHNbMF0ucGxvdFh8fG4ubWluUGl4ZWxQYWRkaW5nO3JldHVybiAxPG4uc2VyaWVzLmxlbmd0aCYmbi5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5wb2ludHMmJmModC5wb2ludHNbMF0pJiZjKHQucG9pbnRzWzBdLnBsb3RYKSYmdC5wb2ludHNbMF0ucGxvdFg8byYmKG89dC5wb2ludHNbMF0ucGxvdFgpfSkpLGU9KGUtbykvKG4udHJhbnNsYXRpb25TbG9wZSoodGhpcy5zbG9wZXx8bi5jbG9zZXN0UG9pbnRSYW5nZXx8dGhpcy5vdmVyc2Nyb2xsUG9pbnRzUmFuZ2UpKSx0LmZpbmRJbmRleE9mKGkscikrZX0sdC5wcm90b3R5cGUuZ2V0T3ZlcnNjcm9sbFBvc2l0aW9ucz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuYXhpcyxlPXQub3B0aW9ucy5vdmVyc2Nyb2xsLGk9dGhpcy5vdmVyc2Nyb2xsUG9pbnRzUmFuZ2Usbj1bXSxyPXQuZGF0YU1heDtpZihjKGkpKWZvcig7cjw9dC5kYXRhTWF4K2U7KXIrPWksbi5wdXNoKHIpO3JldHVybiBufSx0LnByb3RvdHlwZS5wb3N0UHJvY2Vzc1RpY2tJbnRlcnZhbD1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmF4aXMsaT10aGlzLnNsb3BlO3JldHVybiBpP2Uub3B0aW9ucy5icmVha3M/ZS5jbG9zZXN0UG9pbnRSYW5nZXx8dDp0LyhpL2UuY2xvc2VzdFBvaW50UmFuZ2UpOnR9LHR9KCk7dC5BZGRpdGlvbnM9d30ocnx8KHI9e30pKSxyfSkpLGUoaSwiU2VyaWVzL0RhdGFNb2RpZnlDb21wb3NpdGlvbi5qcyIsW2lbIkNvcmUvQXhpcy9BeGlzLmpzIl0saVsiQ29yZS9TZXJpZXMvUG9pbnQuanMiXSxpWyJDb3JlL1Nlcmllcy9TZXJpZXMuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbil7dmFyIHIsbz1lLnByb3RvdHlwZS50b29sdGlwRm9ybWF0dGVyLGE9bi5hZGRFdmVudCxzPW4uYXJyYXlNYXgsYz1uLmFycmF5TWluLGg9bi5jb3JyZWN0RmxvYXQsbD1uLmRlZmluZWQscD1uLmlzQXJyYXksZD1uLmlzTnVtYmVyLHU9bi5pc1N0cmluZyxmPW4ucGljaztyZXR1cm4gZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0LGUsaSl7dGhpcy5pc1hBeGlzfHwodGhpcy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24oaSl7ImNvbXBhcmUiPT09dCYmImJvb2xlYW4iIT09dHlwZW9mIGU/aS5zZXRDb21wYXJlKGUsITEpOiJjdW11bGF0aXZlIiE9PXR8fHUoZSl8fGkuc2V0Q3VtdWxhdGl2ZShlLCExKX0pKSxmKGksITApJiZ0aGlzLmNoYXJ0LnJlZHJhdygpKX1mdW5jdGlvbiBpKHQpe3ZhciBlPXRoaXMsaT1lLnNlcmllcy5jaGFydC5udW1iZXJGb3JtYXR0ZXIsbj1mdW5jdGlvbihuKXt0PXQucmVwbGFjZSgie3BvaW50LiIrbisifSIsKDA8ZVtuXSYmImNoYW5nZSI9PT1uPyIrIjoiIikraShlW25dLGYoZS5zZXJpZXMudG9vbHRpcE9wdGlvbnMuY2hhbmdlRGVjaW1hbHMsMikpKX07cmV0dXJuIGwoZS5jaGFuZ2UpJiZuKCJjaGFuZ2UiKSxsKGUuY3VtdWxhdGl2ZVN1bSkmJm4oImN1bXVsYXRpdmVTdW0iKSxvLmFwcGx5KHRoaXMsW3RdKX1mdW5jdGlvbiBuKCl7dmFyIHQ9dGhpcy5vcHRpb25zLmNvbXBhcmU7aWYoInBlcmNlbnQiPT09dHx8InZhbHVlIj09PXR8fHRoaXMub3B0aW9ucy5jdW11bGF0aXZlKXt2YXIgZT1uZXcgeCh0aGlzKTsicGVyY2VudCI9PT10fHwidmFsdWUiPT09dD9lLmluaXRDb21wYXJlKHQpOmUuaW5pdEN1bXVsYXRpdmUoKX10aGlzLmRhdGFNb2RpZnk9ZX1mdW5jdGlvbiByKHQpe3Q9dC5kYXRhRXh0cmVtZXM7dmFyIGU9dC5hY3RpdmVZRGF0YTtpZih0aGlzLmRhdGFNb2RpZnkmJnQpe3ZhciBpPXZvaWQgMDt0aGlzLm9wdGlvbnMuY29tcGFyZT9pPVt0aGlzLmRhdGFNb2RpZnkubW9kaWZ5VmFsdWUodC5kYXRhTWluKSx0aGlzLmRhdGFNb2RpZnkubW9kaWZ5VmFsdWUodC5kYXRhTWF4KV06dGhpcy5vcHRpb25zLmN1bXVsYXRpdmUmJnAoZSkmJjI8PWUubGVuZ3RoJiYoaT14LmdldEN1bXVsYXRpdmVFeHRyZW1lcyhlKSksaSYmKHQuZGF0YU1pbj1jKGkpLHQuZGF0YU1heD1zKGkpKX19ZnVuY3Rpb24gbSh0LGUpe3RoaXMub3B0aW9ucy5jb21wYXJlPXRoaXMudXNlck9wdGlvbnMuY29tcGFyZT10LHRoaXMudXBkYXRlKHt9LGYoZSwhMCkpLCF0aGlzLmRhdGFNb2RpZnl8fCJ2YWx1ZSIhPT10JiYicGVyY2VudCIhPT10P3RoaXMucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2RlbGV0ZSB0LmNoYW5nZX0pKTp0aGlzLmRhdGFNb2RpZnkuaW5pdENvbXBhcmUodCl9ZnVuY3Rpb24gZygpe2lmKHRoaXMueEF4aXMmJnRoaXMucHJvY2Vzc2VkWURhdGEmJnRoaXMuZGF0YU1vZGlmeSl7dmFyIHQsZT10aGlzLnByb2Nlc3NlZFhEYXRhLGk9dGhpcy5wcm9jZXNzZWRZRGF0YSxuPWkubGVuZ3RoLHI9ITA9PT10aGlzLm9wdGlvbnMuY29tcGFyZVN0YXJ0PzA6MSxvPS0xO2Zvcih0aGlzLnBvaW50QXJyYXlNYXAmJihvPXRoaXMucG9pbnRBcnJheU1hcC5pbmRleE9mKHRoaXMub3B0aW9ucy5wb2ludFZhbEtleXx8dGhpcy5wb2ludFZhbEtleXx8InkiKSksdD0wO3Q8bi1yO3QrKyl7dmFyIGE9aVt0XSYmLTE8bz9pW3RdW29dOmlbdF07aWYoZChhKSYmMCE9PWEmJmVbdCtyXT49KHRoaXMueEF4aXMubWlufHwwKSl7dGhpcy5kYXRhTW9kaWZ5LmNvbXBhcmVWYWx1ZT1hO2JyZWFrfX19fWZ1bmN0aW9uIHYodCxlKXt0aGlzLnNldE1vZGlmaWVyKCJjb21wYXJlIix0LGUpfWZ1bmN0aW9uIHkodCxlKXt0PWYodCwhMSksdGhpcy5vcHRpb25zLmN1bXVsYXRpdmU9dGhpcy51c2VyT3B0aW9ucy5jdW11bGF0aXZlPXQsdGhpcy51cGRhdGUoe30sZihlLCEwKSksdGhpcy5kYXRhTW9kaWZ5P3RoaXMuZGF0YU1vZGlmeS5pbml0Q3VtdWxhdGl2ZSgpOnRoaXMucG9pbnRzLmZvckVhY2goKGZ1bmN0aW9uKHQpe2RlbGV0ZSB0LmN1bXVsYXRpdmVTdW19KSl9ZnVuY3Rpb24gXyh0LGUpe3RoaXMuc2V0TW9kaWZpZXIoImN1bXVsYXRpdmUiLHQsZSl9dmFyIGI9W107dC5jb21wb3NlPWZ1bmN0aW9uKHQsbyxzKXtpZigtMT09PWIuaW5kZXhPZih0KSl7Yi5wdXNoKHQpO3ZhciBjPXQucHJvdG90eXBlO2Muc2V0Q29tcGFyZT1tLGMuc2V0Q3VtdWxhdGl2ZT15LGEodCwiYWZ0ZXJJbml0IixuKSxhKHQsImFmdGVyR2V0RXh0cmVtZXMiLHIpLGEodCwiYWZ0ZXJQcm9jZXNzRGF0YSIsZyl9cmV0dXJuLTE9PT1iLmluZGV4T2YobykmJihiLnB1c2gobyksbz1vLnByb3RvdHlwZSxvLnNldENvbXBhcmU9dixvLnNldE1vZGlmaWVyPWUsby5zZXRDdW11bGF0aXZlPV8pLC0xPT09Yi5pbmRleE9mKHMpJiYoYi5wdXNoKHMpLHMucHJvdG90eXBlLnRvb2x0aXBGb3JtYXR0ZXI9aSksdH07dmFyIHg9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KHQpe3RoaXMuc2VyaWVzPXR9cmV0dXJuIHQucHJvdG90eXBlLm1vZGlmeVZhbHVlPWZ1bmN0aW9uKCl7cmV0dXJuIDB9LHQuZ2V0Q3VtdWxhdGl2ZUV4dHJlbWVzPWZ1bmN0aW9uKHQpe3ZhciBlPTEvMCxpPS0xLzA7cmV0dXJuIHQucmVkdWNlKChmdW5jdGlvbih0LG4pe3JldHVybiBuPXQrbixlPU1hdGgubWluKGUsbix0KSxpPU1hdGgubWF4KGksbix0KSxufSkpLFtlLGldfSx0LnByb3RvdHlwZS5pbml0Q29tcGFyZT1mdW5jdGlvbih0KXt0aGlzLm1vZGlmeVZhbHVlPWZ1bmN0aW9uKGUsaSl7bnVsbD09PWUmJihlPTApO3ZhciBuPXRoaXMuY29tcGFyZVZhbHVlO3JldHVybiJ1bmRlZmluZWQiIT09dHlwZW9mIGUmJiJ1bmRlZmluZWQiIT09dHlwZW9mIG4/KGU9InZhbHVlIj09PXQ/ZS1uOmUvbioxMDAtKDEwMD09PXRoaXMuc2VyaWVzLm9wdGlvbnMuY29tcGFyZUJhc2U/MDoxMDApLCJ1bmRlZmluZWQiIT09dHlwZW9mIGkmJihpPXRoaXMuc2VyaWVzLnBvaW50c1tpXSkmJihpLmNoYW5nZT1lKSxlKTowfX0sdC5wcm90b3R5cGUuaW5pdEN1bXVsYXRpdmU9ZnVuY3Rpb24oKXt0aGlzLm1vZGlmeVZhbHVlPWZ1bmN0aW9uKHQsZSl7aWYobnVsbD09PXQmJih0PTApLHZvaWQgMCE9PXQmJnZvaWQgMCE9PWUpe3ZhciBpPTA8ZT90aGlzLnNlcmllcy5wb2ludHNbZS0xXTpudWxsO3JldHVybiBpJiZpLmN1bXVsYXRpdmVTdW0mJih0PWgoaS5jdW11bGF0aXZlU3VtK3QpKSwoZT10aGlzLnNlcmllcy5wb2ludHNbZV0pJiYoZS5jdW11bGF0aXZlU3VtPXQpLHR9cmV0dXJuIDB9fSx0fSgpO3QuQWRkaXRpb25zPXh9KHJ8fChyPXt9KSkscn0pKSxlKGksIkNvcmUvQXhpcy9Ccm9rZW5BeGlzLmpzIixbaVsiRXh0ZW5zaW9ucy9TdGFja2luZy5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUpe3ZhciBpLG49ZS5hZGRFdmVudCxyPWUuZmluZCxvPWUuZmlyZUV2ZW50LGE9ZS5pc0FycmF5LHM9ZS5pc051bWJlcixjPWUucGljaztyZXR1cm4gZnVuY3Rpb24oZSl7ZnVuY3Rpb24gaSgpeyJ1bmRlZmluZWQiIT09dHlwZW9mIHRoaXMuYnJva2VuQXhpcyYmdGhpcy5icm9rZW5BeGlzLnNldEJyZWFrcyh0aGlzLm9wdGlvbnMuYnJlYWtzLCExKX1mdW5jdGlvbiBoKCl7dGhpcy5icm9rZW5BeGlzJiZ0aGlzLmJyb2tlbkF4aXMuaGFzQnJlYWtzJiYodGhpcy5vcHRpb25zLm9yZGluYWw9ITEpfWZ1bmN0aW9uIGwoKXt2YXIgdD10aGlzLmJyb2tlbkF4aXM7aWYodCYmdC5oYXNCcmVha3Mpe2Zvcih2YXIgZT10aGlzLnRpY2tQb3NpdGlvbnMsaT10aGlzLnRpY2tQb3NpdGlvbnMuaW5mbyxuPVtdLHI9MDtyPGUubGVuZ3RoO3IrKyl0LmlzSW5BbnlCcmVhayhlW3JdKXx8bi5wdXNoKGVbcl0pO3RoaXMudGlja1Bvc2l0aW9ucz1uLHRoaXMudGlja1Bvc2l0aW9ucy5pbmZvPWl9fWZ1bmN0aW9uIHAoKXt0aGlzLmJyb2tlbkF4aXN8fCh0aGlzLmJyb2tlbkF4aXM9bmV3IHYodGhpcykpfWZ1bmN0aW9uIGQoKXt2YXIgdD10aGlzLm9wdGlvbnMuY29ubmVjdE51bGxzLGU9dGhpcy5wb2ludHMsaT10aGlzLnhBeGlzLG49dGhpcy55QXhpcztpZih0aGlzLmlzRGlydHkpZm9yKHZhciByPWUubGVuZ3RoO3ItLTspe3ZhciBvPWVbcl0sYT0hKG51bGw9PT1vLnkmJiExPT09dCkmJihpJiZpLmJyb2tlbkF4aXMmJmkuYnJva2VuQXhpcy5pc0luQW55QnJlYWsoby54LCEwKXx8biYmbi5icm9rZW5BeGlzJiZuLmJyb2tlbkF4aXMuaXNJbkFueUJyZWFrKG8ueSwhMCkpO28udmlzaWJsZT0hYSYmITEhPT1vLm9wdGlvbnMudmlzaWJsZX19ZnVuY3Rpb24gdSgpe3RoaXMuZHJhd0JyZWFrcyh0aGlzLnhBeGlzLFsieCJdKSx0aGlzLmRyYXdCcmVha3ModGhpcy55QXhpcyxjKHRoaXMucG9pbnRBcnJheU1hcCxbInkiXSkpfWZ1bmN0aW9uIGYodCxlKXt2YXIgaSxuLHIsYSxoPXRoaXMsbD1oLnBvaW50cztpZih0JiZ0LmJyb2tlbkF4aXMmJnQuYnJva2VuQXhpcy5oYXNCcmVha3Mpe3ZhciBwPXQuYnJva2VuQXhpcztlLmZvckVhY2goKGZ1bmN0aW9uKGUpe2k9cCYmcC5icmVha0FycmF5fHxbXSxuPXQuaXNYQXhpcz90Lm1pbjpjKGgub3B0aW9ucy50aHJlc2hvbGQsdC5taW4pLGwuZm9yRWFjaCgoZnVuY3Rpb24oaCl7YT1jKGhbInN0YWNrIitlLnRvVXBwZXJDYXNlKCldLGhbZV0pLGkuZm9yRWFjaCgoZnVuY3Rpb24oZSl7cyhuKSYmcyhhKSYmKHI9ITEsbjxlLmZyb20mJmE+ZS50b3x8bj5lLmZyb20mJmE8ZS5mcm9tP3I9InBvaW50QnJlYWsiOihuPGUuZnJvbSYmYT5lLmZyb20mJmE8ZS50b3x8bj5lLmZyb20mJmE+ZS50byYmYTxlLmZyb20pJiYocj0icG9pbnRJbkJyZWFrIiksciYmbyh0LHIse3BvaW50OmgsYnJrOmV9KSl9KSl9KSl9KSl9fWZ1bmN0aW9uIG0oKXt2YXIgZT10aGlzLmN1cnJlbnREYXRhR3JvdXBpbmcsaT1lJiZlLmdhcFNpemU7ZT10aGlzLnBvaW50cy5zbGljZSgpO3ZhciBuLHI9dGhpcy55QXhpcyxvPXRoaXMub3B0aW9ucy5nYXBTaXplLGE9ZS5sZW5ndGgtMTtpZihvJiYwPGEpZm9yKCJ2YWx1ZSIhPT10aGlzLm9wdGlvbnMuZ2FwVW5pdCYmKG8qPXRoaXMuYmFzZVBvaW50UmFuZ2UpLGkmJmk+byYmaT49dGhpcy5iYXNlUG9pbnRSYW5nZSYmKG89aSksbj12b2lkIDA7YS0tOyluJiYhMSE9PW4udmlzaWJsZXx8KG49ZVthKzFdKSxpPWVbYV0sITEhPT1uLnZpc2libGUmJiExIT09aS52aXNpYmxlJiYobi54LWkueD5vJiYobj0oaS54K24ueCkvMixlLnNwbGljZShhKzEsMCx7aXNOdWxsOiEwLHg6bn0pLHIuc3RhY2tpbmcmJnRoaXMub3B0aW9ucy5zdGFja2luZyYmKG49ci5zdGFja2luZy5zdGFja3NbdGhpcy5zdGFja0tleV1bbl09bmV3IHQocixyLm9wdGlvbnMuc3RhY2tMYWJlbHMsITEsbix0aGlzLnN0YWNrKSxuLnRvdGFsPTApKSxuPWkpO3JldHVybiB0aGlzLmdldEdyYXBoUGF0aChlKX12YXIgZz1bXTtlLmNvbXBvc2U9ZnVuY3Rpb24odCxlKXtpZigtMT09PWcuaW5kZXhPZih0KSYmKGcucHVzaCh0KSx0LmtlZXBQcm9wcy5wdXNoKCJicm9rZW5BeGlzIiksbih0LCJpbml0IixwKSxuKHQsImFmdGVySW5pdCIsaSksbih0LCJhZnRlclNldFRpY2tQb3NpdGlvbnMiLGwpLG4odCwiYWZ0ZXJTZXRPcHRpb25zIixoKSksLTE9PT1nLmluZGV4T2YoZSkpe2cucHVzaChlKTt2YXIgcj1lLnByb3RvdHlwZTtyLmRyYXdCcmVha3M9ZixyLmdhcHBlZFBhdGg9bSxuKGUsImFmdGVyR2VuZXJhdGVQb2ludHMiLGQpLG4oZSwiYWZ0ZXJSZW5kZXIiLHUpfXJldHVybiB0fTt2YXIgdj1mdW5jdGlvbigpe2Z1bmN0aW9uIHQodCl7dGhpcy5oYXNCcmVha3M9ITEsdGhpcy5heGlzPXR9cmV0dXJuIHQuaXNJbkJyZWFrPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dC5yZXBlYXR8fDEvMCxuPXQuZnJvbSxyPXQudG8tdC5mcm9tO3JldHVybiBlPWU+PW4/KGUtbiklaTppLShuLWUpJWksdC5pbmNsdXNpdmU/ZTw9cjplPHImJjAhPT1lfSx0LmxpbjJWYWw9ZnVuY3Rpb24oZSl7dmFyIGksbj10aGlzLmJyb2tlbkF4aXM7aWYobj1uJiZuLmJyZWFrQXJyYXksIW58fCFzKGUpKXJldHVybiBlO2ZvcihpPTA7aTxuLmxlbmd0aDtpKyspe3ZhciByPW5baV07aWYoci5mcm9tPj1lKWJyZWFrO3IudG88ZT9lKz1yLmxlbjp0LmlzSW5CcmVhayhyLGUpJiYoZSs9ci5sZW4pfXJldHVybiBlfSx0LnZhbDJMaW49ZnVuY3Rpb24oZSl7dmFyIGk9dGhpcy5icm9rZW5BeGlzO2lmKGk9aSYmaS5icmVha0FycmF5LCFpfHwhcyhlKSlyZXR1cm4gZTt2YXIgbixyPWU7Zm9yKG49MDtuPGkubGVuZ3RoO24rKyl7dmFyIG89aVtuXTtpZihvLnRvPD1lKXItPW8ubGVuO2Vsc2V7aWYoby5mcm9tPj1lKWJyZWFrO2lmKHQuaXNJbkJyZWFrKG8sZSkpe3ItPWUtby5mcm9tO2JyZWFrfX19cmV0dXJuIHJ9LHQucHJvdG90eXBlLmZpbmRCcmVha0F0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHIoZSwoZnVuY3Rpb24oZSl7cmV0dXJuIGUuZnJvbTx0JiZ0PGUudG99KSl9LHQucHJvdG90eXBlLmlzSW5BbnlCcmVhaz1mdW5jdGlvbihlLGkpe3ZhciBuLHI9dGhpcy5heGlzLG89ci5vcHRpb25zLmJyZWFrc3x8W10sYT1vLmxlbmd0aDtpZihhJiZzKGUpKXtmb3IoO2EtLTspaWYodC5pc0luQnJlYWsob1thXSxlKSl7dmFyIGg9ITA7bnx8KG49YyhvW2FdLnNob3dQb2ludHMsIXIuaXNYQXhpcykpfXZhciBsPWgmJmk/aCYmIW46aH1yZXR1cm4gbH0sdC5wcm90b3R5cGUuc2V0QnJlYWtzPWZ1bmN0aW9uKGUsaSl7dmFyIG49dGhpcyxyPW4uYXhpcyxoPWEoZSkmJiEhZS5sZW5ndGg7ci5pc0RpcnR5PW4uaGFzQnJlYWtzIT09aCxuLmhhc0JyZWFrcz1oLHIub3B0aW9ucy5icmVha3M9ci51c2VyT3B0aW9ucy5icmVha3M9ZSxyLmZvcmNlUmVkcmF3PSEwLHIuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuaXNEaXJ0eT0hMH0pKSxofHxyLnZhbDJsaW4hPT10LnZhbDJMaW58fChkZWxldGUgci52YWwybGluLGRlbGV0ZSByLmxpbjJ2YWwpLGgmJihyLnVzZXJPcHRpb25zLm9yZGluYWw9ITEsci5saW4ydmFsPXQubGluMlZhbCxyLnZhbDJsaW49dC52YWwyTGluLHIuc2V0RXh0cmVtZXM9ZnVuY3Rpb24odCxlLGksbyxhKXtpZihuLmhhc0JyZWFrcyl7Zm9yKHZhciBzLGM9dGhpcy5vcHRpb25zLmJyZWFrc3x8W107cz1uLmZpbmRCcmVha0F0KHQsYyk7KXQ9cy50bztmb3IoO3M9bi5maW5kQnJlYWtBdChlLGMpOyllPXMuZnJvbTtlPHQmJihlPXQpfXIuY29uc3RydWN0b3IucHJvdG90eXBlLnNldEV4dHJlbWVzLmNhbGwodGhpcyx0LGUsaSxvLGEpfSxyLnNldEF4aXNUcmFuc2xhdGlvbj1mdW5jdGlvbigpe2lmKHIuY29uc3RydWN0b3IucHJvdG90eXBlLnNldEF4aXNUcmFuc2xhdGlvbi5jYWxsKHRoaXMpLG4udW5pdExlbmd0aD12b2lkIDAsbi5oYXNCcmVha3Mpe3ZhciBlLGksYT1yLm9wdGlvbnMuYnJlYWtzfHxbXSxoPVtdLGw9W10scD1jKHIucG9pbnRSYW5nZVBhZGRpbmcsMCksZD0wLHU9ci51c2VyTWlufHxyLm1pbixmPXIudXNlck1heHx8ci5tYXg7YS5mb3JFYWNoKChmdW5jdGlvbihpKXtlPWkucmVwZWF0fHwxLzAscyh1KSYmcyhmKSYmKHQuaXNJbkJyZWFrKGksdSkmJih1Kz1pLnRvJWUtdSVlKSx0LmlzSW5CcmVhayhpLGYpJiYoZi09ZiVlLWkuZnJvbSVlKSl9KSksYS5mb3JFYWNoKChmdW5jdGlvbih0KXtpZihnPXQuZnJvbSxlPXQucmVwZWF0fHwxLzAscyh1KSYmcyhmKSl7Zm9yKDtnLWU+dTspZy09ZTtmb3IoO2c8dTspZys9ZTtmb3IoaT1nO2k8ZjtpKz1lKWgucHVzaCh7dmFsdWU6aSxtb3ZlOiJpbiJ9KSxoLnB1c2goe3ZhbHVlOmkrdC50by10LmZyb20sbW92ZToib3V0IixzaXplOnQuYnJlYWtTaXplfSl9fSkpLGguc29ydCgoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC52YWx1ZT09PWUudmFsdWU/KCJpbiI9PT10Lm1vdmU/MDoxKS0oImluIj09PWUubW92ZT8wOjEpOnQudmFsdWUtZS52YWx1ZX0pKTt2YXIgbT0wLGc9dTtoLmZvckVhY2goKGZ1bmN0aW9uKHQpe20rPSJpbiI9PT10Lm1vdmU/MTotMSwxPT09bSYmImluIj09PXQubW92ZSYmKGc9dC52YWx1ZSksMD09PW0mJnMoZykmJihsLnB1c2goe2Zyb206Zyx0bzp0LnZhbHVlLGxlbjp0LnZhbHVlLWctKHQuc2l6ZXx8MCl9KSxkKz10LnZhbHVlLWctKHQuc2l6ZXx8MCkpfSkpLG4uYnJlYWtBcnJheT1sLHModSkmJnMoZikmJnMoci5taW4pJiYobi51bml0TGVuZ3RoPWYtdS1kK3AsbyhyLCJhZnRlckJyZWFrcyIpLHIuc3RhdGljU2NhbGU/ci50cmFuc0E9ci5zdGF0aWNTY2FsZTpuLnVuaXRMZW5ndGgmJihyLnRyYW5zQSo9KGYtci5taW4rcCkvbi51bml0TGVuZ3RoKSxwJiYoci5taW5QaXhlbFBhZGRpbmc9ci50cmFuc0EqKHIubWluUG9pbnRPZmZzZXR8fDApKSxyLm1pbj11LHIubWF4PWYpfX0pLGMoaSwhMCkmJnIuY2hhcnQucmVkcmF3KCl9LHR9KCk7ZS5BZGRpdGlvbnM9dn0oaXx8KGk9e30pKSxpfSkpLGUoaSwibWFzdGVycy9tb2R1bGVzL2Jyb2tlbi1heGlzLnNyYy5qcyIsW2lbIkNvcmUvR2xvYmFscy5qcyJdLGlbIkNvcmUvQXhpcy9Ccm9rZW5BeGlzLmpzIl1dLChmdW5jdGlvbih0LGUpe2UuY29tcG9zZSh0LkF4aXMsdC5TZXJpZXMpfSkpLGUoaSwiRXh0ZW5zaW9ucy9EYXRhR3JvdXBpbmcuanMiLFtpWyJDb3JlL0F4aXMvQXhpcy5qcyJdLGlbIkNvcmUvQXhpcy9EYXRlVGltZUF4aXMuanMiXSxpWyJDb3JlL0Zvcm1hdFV0aWxpdGllcy5qcyJdLGlbIkNvcmUvR2xvYmFscy5qcyJdLGlbIkNvcmUvU2VyaWVzL1BvaW50LmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzLmpzIl0saVsiQ29yZS9Ub29sdGlwLmpzIl0saVsiQ29yZS9EZWZhdWx0T3B0aW9ucy5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSxuLHIsbyxhLHMsYyl7dmFyIGg9aS5mb3JtYXQsbD1vLnByb3RvdHlwZTtpPWMuYWRkRXZlbnQ7dmFyIHA9Yy5hcnJheU1heCxkPWMuYXJyYXlNaW4sdT1jLmNvcnJlY3RGbG9hdCxmPWMuZGVmaW5lZCxtPWMuZXJyb3IsZz1jLmV4dGVuZCx2PWMuaXNOdW1iZXIseT1jLm1lcmdlLF89Yy5waWNrLGI9bi5hcHByb3hpbWF0aW9ucz17c3VtOmZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoO2lmKCFlJiZ0Lmhhc051bGxzKXZhciBpPW51bGw7ZWxzZSBpZihlKWZvcihpPTA7ZS0tOylpKz10W2VdO3JldHVybiBpfSxhdmVyYWdlOmZ1bmN0aW9uKHQpe3ZhciBlPXQubGVuZ3RoO3JldHVybiB0PWIuc3VtKHQpLHYodCkmJmUmJih0PXUodC9lKSksdH0sYXZlcmFnZXM6ZnVuY3Rpb24oKXt2YXIgdD1bXTtyZXR1cm5bXS5mb3JFYWNoLmNhbGwoYXJndW1lbnRzLChmdW5jdGlvbihlKXt0LnB1c2goYi5hdmVyYWdlKGUpKX0pKSwidW5kZWZpbmVkIj09PXR5cGVvZiB0WzBdP3ZvaWQgMDp0fSxvcGVuOmZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aD90WzBdOnQuaGFzTnVsbHM/bnVsbDp2b2lkIDB9LGhpZ2g6ZnVuY3Rpb24odCl7cmV0dXJuIHQubGVuZ3RoP3AodCk6dC5oYXNOdWxscz9udWxsOnZvaWQgMH0sbG93OmZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aD9kKHQpOnQuaGFzTnVsbHM/bnVsbDp2b2lkIDB9LGNsb3NlOmZ1bmN0aW9uKHQpe3JldHVybiB0Lmxlbmd0aD90W3QubGVuZ3RoLTFdOnQuaGFzTnVsbHM/bnVsbDp2b2lkIDB9LGhsYzpmdW5jdGlvbih0LGUsaSl7aWYodD1iLmhpZ2godCksZT1iLmxvdyhlKSxpPWIuY2xvc2UoaSksdih0KXx8dihlKXx8dihpKSlyZXR1cm5bdCxlLGldfSxvaGxjOmZ1bmN0aW9uKHQsZSxpLG4pe2lmKHQ9Yi5vcGVuKHQpLGU9Yi5oaWdoKGUpLGk9Yi5sb3coaSksbj1iLmNsb3NlKG4pLHYodCl8fHYoZSl8fHYoaSl8fHYobikpcmV0dXJuW3QsZSxpLG5dfSxyYW5nZTpmdW5jdGlvbih0LGUpe3JldHVybiB0PWIubG93KHQpLGU9Yi5oaWdoKGUpLHYodCl8fHYoZSk/W3QsZV06bnVsbD09PXQmJm51bGw9PT1lP251bGw6dm9pZCAwfX07Yz1mdW5jdGlvbih0LGUsaSxuKXt2YXIgcixvPXRoaXMsYT1vLmRhdGEscz1vLm9wdGlvbnMmJm8ub3B0aW9ucy5kYXRhLGM9W10saD1bXSxsPVtdLHA9dC5sZW5ndGgsZD0hIWUsdT1bXSxtPW8ucG9pbnRBcnJheU1hcCxnPW0mJm0ubGVuZ3RoLF89WyJ4Il0uY29uY2F0KG18fFsieSJdKSx4PXRoaXMub3B0aW9ucy5kYXRhR3JvdXBpbmcmJnRoaXMub3B0aW9ucy5kYXRhR3JvdXBpbmcuZ3JvdXBBbGwsdz0wLGs9MDtuPSJmdW5jdGlvbiI9PT10eXBlb2Ygbj9uOmJbbl0/YltuXTpiW28uZ2V0REdBcHByb3hpbWF0aW9uJiZvLmdldERHQXBwcm94aW1hdGlvbigpfHwiYXZlcmFnZSJdLGc/bS5mb3JFYWNoKChmdW5jdGlvbigpe3UucHVzaChbXSl9KSk6dS5wdXNoKFtdKTt2YXIgQz1nfHwxO2ZvcihyPTA7cjw9cCYmISh0W3JdPj1pWzBdKTtyKyspO2ZvcihyO3I8PXA7cisrKXtmb3IoOyJ1bmRlZmluZWQiIT09dHlwZW9mIGlbdysxXSYmdFtyXT49aVt3KzFdfHxyPT09cDspe3ZhciBTPWlbd107by5kYXRhR3JvdXBJbmZvPXtzdGFydDp4P2s6by5jcm9wU3RhcnQrayxsZW5ndGg6dVswXS5sZW5ndGh9O3ZhciBBPW4uYXBwbHkobyx1KTtmb3Ioby5wb2ludENsYXNzJiYhZihvLmRhdGFHcm91cEluZm8ub3B0aW9ucykmJihvLmRhdGFHcm91cEluZm8ub3B0aW9ucz15KG8ucG9pbnRDbGFzcy5wcm90b3R5cGUub3B0aW9uc1RvT2JqZWN0LmNhbGwoe3NlcmllczpvfSxvLm9wdGlvbnMuZGF0YVtvLmNyb3BTdGFydCtrXSkpLF8uZm9yRWFjaCgoZnVuY3Rpb24odCl7ZGVsZXRlIG8uZGF0YUdyb3VwSW5mby5vcHRpb25zW3RdfSkpKSwidW5kZWZpbmVkIiE9PXR5cGVvZiBBJiYoYy5wdXNoKFMpLGgucHVzaChBKSxsLnB1c2goby5kYXRhR3JvdXBJbmZvKSksaz1yLFM9MDtTPEM7UysrKXVbU10ubGVuZ3RoPTAsdVtTXS5oYXNOdWxscz0hMTtpZih3Kz0xLHI9PT1wKWJyZWFrfWlmKHI9PT1wKWJyZWFrO2lmKG0pe1M9by5vcHRpb25zLmRhdGFHcm91cGluZyYmby5vcHRpb25zLmRhdGFHcm91cGluZy5ncm91cEFsbD9yOm8uY3JvcFN0YXJ0K3IsQT1hJiZhW1NdfHxvLnBvaW50Q2xhc3MucHJvdG90eXBlLmFwcGx5T3B0aW9ucy5hcHBseSh7c2VyaWVzOm99LFtzW1NdXSk7dmFyIE09dm9pZCAwO2ZvcihTPTA7UzxnO1MrKylNPUFbbVtTXV0sdihNKT91W1NdLnB1c2goTSk6bnVsbD09PU0mJih1W1NdLmhhc051bGxzPSEwKX1lbHNlIFM9ZD9lW3JdOm51bGwsdihTKT91WzBdLnB1c2goUyk6bnVsbD09PVMmJih1WzBdLmhhc051bGxzPSEwKX1yZXR1cm57Z3JvdXBlZFhEYXRhOmMsZ3JvdXBlZFlEYXRhOmgsZ3JvdXBNYXA6bH19O3ZhciB4PXthcHByb3hpbWF0aW9uczpiLGdyb3VwRGF0YTpjfSx3PWwuZ2VuZXJhdGVQb2ludHMsaz17Z3JvdXBQaXhlbFdpZHRoOjIsZGF0ZVRpbWVMYWJlbEZvcm1hdHM6e21pbGxpc2Vjb25kOlsiJUEsICViICVlLCAlSDolTTolUy4lTCIsIiVBLCAlYiAlZSwgJUg6JU06JVMuJUwiLCItJUg6JU06JVMuJUwiXSxzZWNvbmQ6WyIlQSwgJWIgJWUsICVIOiVNOiVTIiwiJUEsICViICVlLCAlSDolTTolUyIsIi0lSDolTTolUyJdLG1pbnV0ZTpbIiVBLCAlYiAlZSwgJUg6JU0iLCIlQSwgJWIgJWUsICVIOiVNIiwiLSVIOiVNIl0saG91cjpbIiVBLCAlYiAlZSwgJUg6JU0iLCIlQSwgJWIgJWUsICVIOiVNIiwiLSVIOiVNIl0sZGF5OlsiJUEsICViICVlLCAlWSIsIiVBLCAlYiAlZSIsIi0lQSwgJWIgJWUsICVZIl0sd2VlazpbIldlZWsgZnJvbSAlQSwgJWIgJWUsICVZIiwiJUEsICViICVlIiwiLSVBLCAlYiAlZSwgJVkiXSxtb250aDpbIiVCICVZIiwiJUIiLCItJUIgJVkiXSx5ZWFyOlsiJVkiLCIlWSIsIi0lWSJdfX0sQz17bGluZTp7fSxzcGxpbmU6e30sYXJlYTp7fSxhcmVhc3BsaW5lOnt9LGFyZWFyYW5nZTp7fSxjb2x1bW46e2dyb3VwUGl4ZWxXaWR0aDoxMH0sY29sdW1ucmFuZ2U6e2dyb3VwUGl4ZWxXaWR0aDoxMH0sY2FuZGxlc3RpY2s6e2dyb3VwUGl4ZWxXaWR0aDoxMH0sb2hsYzp7Z3JvdXBQaXhlbFdpZHRoOjV9LGhsYzp7Z3JvdXBQaXhlbFdpZHRoOjV9LGhlaWtpbmFzaGk6e2dyb3VwUGl4ZWxXaWR0aDoxMH19LFM9bi5kZWZhdWx0RGF0YUdyb3VwaW5nVW5pdHM9W1sibWlsbGlzZWNvbmQiLFsxLDIsNSwxMCwyMCwyNSw1MCwxMDAsMjAwLDUwMF1dLFsic2Vjb25kIixbMSwyLDUsMTAsMTUsMzBdXSxbIm1pbnV0ZSIsWzEsMiw1LDEwLDE1LDMwXV0sWyJob3VyIixbMSwyLDMsNCw2LDgsMTJdXSxbImRheSIsWzFdXSxbIndlZWsiLFsxXV0sWyJtb250aCIsWzEsMyw2XV0sWyJ5ZWFyIixudWxsXV07cmV0dXJuIGwuZ2V0REdBcHByb3hpbWF0aW9uPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXMoImFyZWFyYW5nZSIpPyJyYW5nZSI6dGhpcy5pcygib2hsYyIpPyJvaGxjIjp0aGlzLmlzKCJobGMiKT8iaGxjIjp0aGlzLmlzKCJjb2x1bW4iKT8ic3VtIjoiYXZlcmFnZSJ9LGwuZ3JvdXBEYXRhPWMsbC5hcHBseUdyb3VwaW5nPWZ1bmN0aW9uKHQpe3ZhciBpLG49dGhpcy5jaGFydCxyPXRoaXMub3B0aW9ucy5kYXRhR3JvdXBpbmcsbz0hMSE9PXRoaXMuYWxsb3dERyYmciYmXyhyLmVuYWJsZWQsbi5vcHRpb25zLmlzU3RvY2spLGE9dGhpcy52aXNpYmxlfHwhbi5vcHRpb25zLmNoYXJ0Lmlnbm9yZUhpZGRlblNlcmllcyxzPXRoaXMuY3VycmVudERhdGFHcm91cGluZyxjPSExO2lmKG8mJiF0aGlzLnJlcXVpcmVTb3J0aW5nJiYodGhpcy5yZXF1aXJlU29ydGluZz1jPSEwKSx0PSExPT09ISh0aGlzLmlzQ2FydGVzaWFuJiYhdGhpcy5pc0RpcnR5JiYhdGhpcy54QXhpcy5pc0RpcnR5JiYhdGhpcy55QXhpcy5pc0RpcnR5JiYhdCl8fCFvLGMmJih0aGlzLnJlcXVpcmVTb3J0aW5nPSExKSwhdCl7dGhpcy5kZXN0cm95R3JvdXBlZERhdGEoKSxvPXIuZ3JvdXBBbGw/dGhpcy54RGF0YTp0aGlzLnByb2Nlc3NlZFhEYXRhO3ZhciBoPXIuZ3JvdXBBbGw/dGhpcy55RGF0YTp0aGlzLnByb2Nlc3NlZFlEYXRhO3Q9bi5wbG90U2l6ZVgsYz10aGlzLnhBeGlzO3ZhciBwPWMub3B0aW9ucy5vcmRpbmFsLGQ9dGhpcy5ncm91cFBpeGVsV2lkdGg7aWYoZCYmbyYmby5sZW5ndGgpe3RoaXMuaXNEaXJ0eT1pPSEwLHRoaXMucG9pbnRzPW51bGw7dmFyIHU9Yy5nZXRFeHRyZW1lcygpLGc9dS5taW47dT11Lm1heCxwPXAmJmMub3JkaW5hbCYmYy5vcmRpbmFsLmdldEdyb3VwSW50ZXJ2YWxGYWN0b3IoZyx1LHRoaXMpfHwxLHQ9Yy5nZXRUaW1lVGlja3MoZS5BZGRpdGlvbnMucHJvdG90eXBlLm5vcm1hbGl6ZVRpbWVUaWNrSW50ZXJ2YWwoZCoodS1nKS90KnAsci51bml0c3x8UyksTWF0aC5taW4oZyxvWzBdKSxNYXRoLm1heCh1LG9bby5sZW5ndGgtMV0pLGMub3B0aW9ucy5zdGFydE9mV2VlayxvLHRoaXMuY2xvc2VzdFBvaW50UmFuZ2UpLGQ9bC5ncm91cERhdGEuYXBwbHkodGhpcyxbbyxoLHQsci5hcHByb3hpbWF0aW9uXSksbz1kLmdyb3VwZWRYRGF0YSxoPWQuZ3JvdXBlZFlEYXRhLHA9MCxyJiZyLnNtb290aGVkJiZvLmxlbmd0aCYmKHIuZmlyc3RBbmNob3I9ImZpcnN0UG9pbnQiLHIuYW5jaG9yPSJtaWRkbGUiLHIubGFzdEFuY2hvcj0ibGFzdFBvaW50IixtKDMyLCExLG4seyJkYXRhR3JvdXBpbmcuc21vb3RoZWQiOiJ1c2UgZGF0YUdyb3VwaW5nLmFuY2hvciJ9KSksbj1vO3ZhciB5PXRoaXMub3B0aW9ucy5kYXRhR3JvdXBpbmc7aWYoZz10aGlzLmN1cnJlbnREYXRhR3JvdXBpbmcmJnRoaXMuY3VycmVudERhdGFHcm91cGluZy5nYXBTaXplLHkmJnRoaXMueERhdGEmJmcmJnRoaXMuZ3JvdXBNYXApe3ZhciBiPW4ubGVuZ3RoLTEseD15LmFuY2hvcix3PV8oeS5maXJzdEFuY2hvcix4KTtpZih5PV8oeS5sYXN0QW5jaG9yLHgpLHgmJiJzdGFydCIhPT14KXt2YXIgaz1nKnttaWRkbGU6LjUsZW5kOjF9W3hdO2Zvcih4PW4ubGVuZ3RoLTE7eC0tJiYwPHg7KW5beF0rPWt9aWYodyYmInN0YXJ0IiE9PXcmJnRoaXMueERhdGFbMF0+PW5bMF0pe3g9dGhpcy5ncm91cE1hcFswXS5zdGFydCxrPXRoaXMuZ3JvdXBNYXBbMF0ubGVuZ3RoO3ZhciBDPXZvaWQgMDt2KHgpJiZ2KGspJiYoQz14KyhrLTEpKSxuWzBdPXttaWRkbGU6blswXSsuNSpnLGVuZDpuWzBdK2csZmlyc3RQb2ludDp0aGlzLnhEYXRhWzBdLGxhc3RQb2ludDpDJiZ0aGlzLnhEYXRhW0NdfVt3XX15JiYic3RhcnQiIT09eSYmZyYmbltiXT49dS1nJiYodT10aGlzLmdyb3VwTWFwW3RoaXMuZ3JvdXBNYXAubGVuZ3RoLTFdLnN0YXJ0LG5bYl09e21pZGRsZTpuW2JdKy41KmcsZW5kOm5bYl0rZyxmaXJzdFBvaW50OnUmJnRoaXMueERhdGFbdV0sbGFzdFBvaW50OnRoaXMueERhdGFbdGhpcy54RGF0YS5sZW5ndGgtMV19W3ldKX1mb3IodT0xO3U8dC5sZW5ndGg7dSsrKXQuaW5mby5zZWdtZW50U3RhcnRzJiYtMSE9PXQuaW5mby5zZWdtZW50U3RhcnRzLmluZGV4T2YodSl8fChwPU1hdGgubWF4KHRbdV0tdFt1LTFdLHApKTt1PXQuaW5mbyx1LmdhcFNpemU9cCx0aGlzLmNsb3Nlc3RQb2ludFJhbmdlPXQuaW5mby50b3RhbFJhbmdlLHRoaXMuZ3JvdXBNYXA9ZC5ncm91cE1hcCxhJiYoYT1vLGYoYVswXSkmJnYoYy5taW4pJiZ2KGMuZGF0YU1pbikmJmFbMF08Yy5taW4mJigoIWYoYy5vcHRpb25zLm1pbikmJmMubWluPD1jLmRhdGFNaW58fGMubWluPT09Yy5kYXRhTWluKSYmKGMubWluPU1hdGgubWluKGFbMF0sYy5taW4pKSxjLmRhdGFNaW49TWF0aC5taW4oYVswXSxjLmRhdGFNaW4pKSxmKGFbYS5sZW5ndGgtMV0pJiZ2KGMubWF4KSYmdihjLmRhdGFNYXgpJiZhW2EubGVuZ3RoLTFdPmMubWF4JiYoKCFmKGMub3B0aW9ucy5tYXgpJiZ2KGMuZGF0YU1heCkmJmMubWF4Pj1jLmRhdGFNYXh8fGMubWF4PT09Yy5kYXRhTWF4KSYmKGMubWF4PU1hdGgubWF4KGFbYS5sZW5ndGgtMV0sYy5tYXgpKSxjLmRhdGFNYXg9TWF0aC5tYXgoYVthLmxlbmd0aC0xXSxjLmRhdGFNYXgpKSksci5ncm91cEFsbCYmKHRoaXMuYWxsR3JvdXBlZERhdGE9aCxyPXRoaXMuY3JvcERhdGEobyxoLGMubWluLGMubWF4LDEpLG89ci54RGF0YSxoPXIueURhdGEsdGhpcy5jcm9wU3RhcnQ9ci5zdGFydCksdGhpcy5wcm9jZXNzZWRYRGF0YT1vLHRoaXMucHJvY2Vzc2VkWURhdGE9aH1lbHNlIHRoaXMuZ3JvdXBNYXA9bnVsbDt0aGlzLmhhc0dyb3VwZWREYXRhPWksdGhpcy5jdXJyZW50RGF0YUdyb3VwaW5nPXUsdGhpcy5wcmV2ZW50R3JhcGhBbmltYXRpb249KHMmJnMudG90YWxSYW5nZSkhPT0odSYmdS50b3RhbFJhbmdlKX19LGwuZGVzdHJveUdyb3VwZWREYXRhPWZ1bmN0aW9uKCl7dGhpcy5ncm91cGVkRGF0YSYmKHRoaXMuZ3JvdXBlZERhdGEuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXt0JiYodGhpcy5ncm91cGVkRGF0YVtlXT10LmRlc3Ryb3k/dC5kZXN0cm95KCk6bnVsbCl9KSx0aGlzKSx0aGlzLmdyb3VwZWREYXRhLmxlbmd0aD0wKX0sbC5nZW5lcmF0ZVBvaW50cz1mdW5jdGlvbigpe3cuYXBwbHkodGhpcyksdGhpcy5kZXN0cm95R3JvdXBlZERhdGEoKSx0aGlzLmdyb3VwZWREYXRhPXRoaXMuaGFzR3JvdXBlZERhdGE/dGhpcy5wb2ludHM6bnVsbH0sdC5wcm90b3R5cGUuYXBwbHlHcm91cGluZz1mdW5jdGlvbih0KXt2YXIgZT10aGlzO2Uuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKGkpe2kuZ3JvdXBQaXhlbFdpZHRoPXZvaWQgMCxpLmdyb3VwUGl4ZWxXaWR0aD1lLmdldEdyb3VwUGl4ZWxXaWR0aCYmZS5nZXRHcm91cFBpeGVsV2lkdGgoKSxpLmdyb3VwUGl4ZWxXaWR0aCYmKGkuaGFzUHJvY2Vzc2VkPSEwKSxpLmFwcGx5R3JvdXBpbmcoISF0Lmhhc0V4dGVtZXNDaGFuZ2VkKX0pKX0sdC5wcm90b3R5cGUuZ2V0R3JvdXBQaXhlbFdpZHRoPWZ1bmN0aW9uKCl7dmFyIHQsZSxpPXRoaXMuc2VyaWVzLG49aS5sZW5ndGgscj0wLG89ITE7Zm9yKHQ9bjt0LS07KShlPWlbdF0ub3B0aW9ucy5kYXRhR3JvdXBpbmcpJiYocj1NYXRoLm1heChyLF8oZS5ncm91cFBpeGVsV2lkdGgsay5ncm91cFBpeGVsV2lkdGgpKSk7Zm9yKHQ9bjt0LS07KShlPWlbdF0ub3B0aW9ucy5kYXRhR3JvdXBpbmcpJiYobj0oaVt0XS5wcm9jZXNzZWRYRGF0YXx8aVt0XS5kYXRhKS5sZW5ndGgsKGlbdF0uZ3JvdXBQaXhlbFdpZHRofHxuPnRoaXMuY2hhcnQucGxvdFNpemVYL3J8fG4mJmUuZm9yY2VkKSYmKG89ITApKTtyZXR1cm4gbz9yOjB9LHQucHJvdG90eXBlLnNldERhdGFHcm91cGluZz1mdW5jdGlvbihlLGkpe3ZhciBuO2lmKGk9XyhpLCEwKSxlfHwoZT17Zm9yY2VkOiExLHVuaXRzOm51bGx9KSx0aGlzIGluc3RhbmNlb2YgdClmb3Iobj10aGlzLnNlcmllcy5sZW5ndGg7bi0tOyl0aGlzLnNlcmllc1tuXS51cGRhdGUoe2RhdGFHcm91cGluZzplfSwhMSk7ZWxzZSB0aGlzLmNoYXJ0Lm9wdGlvbnMuc2VyaWVzLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZGF0YUdyb3VwaW5nPWV9KSwhMSk7dGhpcy5vcmRpbmFsJiYodGhpcy5vcmRpbmFsLnNsb3BlPXZvaWQgMCksaSYmdGhpcy5jaGFydC5yZWRyYXcoKX0saSh0LCJwb3N0UHJvY2Vzc0RhdGEiLHQucHJvdG90eXBlLmFwcGx5R3JvdXBpbmcpLGkociwidXBkYXRlIiwoZnVuY3Rpb24oKXtpZih0aGlzLmRhdGFHcm91cClyZXR1cm4gbSgyNCwhMSx0aGlzLnNlcmllcy5jaGFydCksITF9KSksaShhLCJoZWFkZXJGb3JtYXR0ZXIiLChmdW5jdGlvbih0KXt2YXIgZT10aGlzLmNoYXJ0LGk9ZS50aW1lLG49dC5sYWJlbENvbmZpZyxyPW4uc2VyaWVzLG89ci50b29sdGlwT3B0aW9ucyxhPXIub3B0aW9ucy5kYXRhR3JvdXBpbmcscz1vLnhEYXRlRm9ybWF0LGM9ci54QXhpcyxsPW9bdC5pc0Zvb3Rlcj8iZm9vdGVyRm9ybWF0IjoiaGVhZGVyRm9ybWF0Il07aWYoYyYmImRhdGV0aW1lIj09PWMub3B0aW9ucy50eXBlJiZhJiZ2KG4ua2V5KSl7dmFyIHA9ci5jdXJyZW50RGF0YUdyb3VwaW5nO2lmKGE9YS5kYXRlVGltZUxhYmVsRm9ybWF0c3x8ay5kYXRlVGltZUxhYmVsRm9ybWF0cyxwKWlmKG89YVtwLnVuaXROYW1lXSwxPT09cC5jb3VudClzPW9bMF07ZWxzZXtzPW9bMV07dmFyIGQ9b1syXX1lbHNlIXMmJmEmJmMuZGF0ZVRpbWUmJihzPWMuZGF0ZVRpbWUuZ2V0WERhdGVGb3JtYXQobi54LG8uZGF0ZVRpbWVMYWJlbEZvcm1hdHMpKTtzPWkuZGF0ZUZvcm1hdChzLG4ua2V5KSxkJiYocys9aS5kYXRlRm9ybWF0KGQsbi5rZXkrcC50b3RhbFJhbmdlLTEpKSxyLmNoYXJ0LnN0eWxlZE1vZGUmJihsPXRoaXMuc3R5bGVkTW9kZUZvcm1hdChsKSksdC50ZXh0PWgobCx7cG9pbnQ6ZyhuLnBvaW50LHtrZXk6c30pLHNlcmllczpyfSxlKSx0LnByZXZlbnREZWZhdWx0KCl9fSkpLGkobywiZGVzdHJveSIsbC5kZXN0cm95R3JvdXBlZERhdGEpLGkobywiYWZ0ZXJTZXRPcHRpb25zIiwoZnVuY3Rpb24odCl7dD10Lm9wdGlvbnM7dmFyIGU9dGhpcy50eXBlLGk9dGhpcy5jaGFydC5vcHRpb25zLnBsb3RPcHRpb25zLG49cy5kZWZhdWx0T3B0aW9ucy5wbG90T3B0aW9uc1tlXS5kYXRhR3JvdXBpbmcscj10aGlzLnVzZUNvbW1vbkRhdGFHcm91cGluZyYmaztpZihpJiYoQ1tlXXx8cikpe258fChuPXkoayxDW2VdKSk7dmFyIG89dGhpcy5jaGFydC5yYW5nZVNlbGVjdG9yO3QuZGF0YUdyb3VwaW5nPXkocixuLGkuc2VyaWVzJiZpLnNlcmllcy5kYXRhR3JvdXBpbmcsaVtlXS5kYXRhR3JvdXBpbmcsdGhpcy51c2VyT3B0aW9ucy5kYXRhR3JvdXBpbmcsIXQuaXNJbnRlcm5hbCYmbyYmdihvLnNlbGVjdGVkKSYmby5idXR0b25PcHRpb25zW28uc2VsZWN0ZWRdLmRhdGFHcm91cGluZyl9fSkpLGkodCwiYWZ0ZXJTZXRTY2FsZSIsKGZ1bmN0aW9uKCl7dGhpcy5zZXJpZXMuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5oYXNQcm9jZXNzZWQ9ITF9KSl9KSksbi5kYXRhR3JvdXBpbmc9eCx4fSkpLGUoaSwiU2VyaWVzL0hMQy9ITENQb2ludC5qcyIsW2lbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl1dLChmdW5jdGlvbih0KXt2YXIgZT10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbihlLGkpe3JldHVybiB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHkoaSkmJih0W2ldPWVbaV0pfSx0KGUsaSl9O3JldHVybiBmdW5jdGlvbihlLGkpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLGkpLGUucHJvdG90eXBlPW51bGw9PT1pP09iamVjdC5jcmVhdGUoaSk6KG4ucHJvdG90eXBlPWkucHJvdG90eXBlLG5ldyBuKX19KCk7cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGkoKXt2YXIgZT1udWxsIT09dCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIGUuY2xvc2U9dm9pZCAwLGUuaGlnaD12b2lkIDAsZS5sb3c9dm9pZCAwLGUub3B0aW9ucz12b2lkIDAsZS5wbG90Q2xvc2U9dm9pZCAwLGUuc2VyaWVzPXZvaWQgMCxlfXJldHVybiBlKGksdCksaX0odC5zZXJpZXNUeXBlcy5jb2x1bW4ucHJvdG90eXBlLnBvaW50Q2xhc3MpfSkpLGUoaSwiU2VyaWVzL0hMQy9ITENTZXJpZXMuanMiLFtpWyJTZXJpZXMvSExDL0hMQ1BvaW50LmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGkpe3ZhciBuPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKGUsaSl7cmV0dXJuIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShpKSYmKHRbaV09ZVtpXSl9LHQoZSxpKX07cmV0dXJuIGZ1bmN0aW9uKGUsaSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9ZX10KGUsaSksZS5wcm90b3R5cGU9bnVsbD09PWk/T2JqZWN0LmNyZWF0ZShpKToobi5wcm90b3R5cGU9aS5wcm90b3R5cGUsbmV3IG4pfX0oKSxyPWUuc2VyaWVzVHlwZXMuY29sdW1uLG89aS5leHRlbmQsYT1pLm1lcmdlO3JldHVybiBpPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT1udWxsIT09dCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIGUuZGF0YT12b2lkIDAsZS5vcHRpb25zPXZvaWQgMCxlLnBvaW50cz12b2lkIDAsZS55RGF0YT12b2lkIDAsZX1yZXR1cm4gbihlLHQpLGUucHJvdG90eXBlLmV4dGVuZFN0ZW09ZnVuY3Rpb24odCxlLGkpe3ZhciBuPXRbMF07dD10WzFdLCJudW1iZXIiPT09dHlwZW9mIG5bMl0mJihuWzJdPU1hdGgubWF4KGkrZSxuWzJdKSksIm51bWJlciI9PT10eXBlb2YgdFsyXSYmKHRbMl09TWF0aC5taW4oaS1lLHRbMl0pKX0sZS5wcm90b3R5cGUuZ2V0UG9pbnRQYXRoPWZ1bmN0aW9uKHQsZSl7ZT1lLnN0cm9rZVdpZHRoKCk7dmFyIGk9dC5zZXJpZXMsbj1lJTIvMixyPU1hdGgucm91bmQodC5wbG90WCktbixvPU1hdGgucm91bmQodC5zaGFwZUFyZ3Mud2lkdGgvMiksYT1bWyJNIixyLE1hdGgucm91bmQodC55Qm90dG9tKV0sWyJMIixyLE1hdGgucm91bmQodC5wbG90SGlnaCldXTtyZXR1cm4gbnVsbCE9PXQuY2xvc2UmJih0PU1hdGgucm91bmQodC5wbG90Q2xvc2UpK24sYS5wdXNoKFsiTSIscix0XSxbIkwiLHIrbyx0XSksaS5leHRlbmRTdGVtKGEsZS8yLHQpKSxhfSxlLnByb3RvdHlwZS5kcmF3U2luZ2xlUG9pbnQ9ZnVuY3Rpb24odCl7dmFyIGU9dC5zZXJpZXMsaT1lLmNoYXJ0LG49dC5ncmFwaGljLHI9IW47InVuZGVmaW5lZCIhPT10eXBlb2YgdC5wbG90WSYmKG58fCh0LmdyYXBoaWM9bj1pLnJlbmRlcmVyLnBhdGgoKS5hZGQoZS5ncm91cCkpLGkuc3R5bGVkTW9kZXx8bi5hdHRyKGUucG9pbnRBdHRyaWJzKHQsdC5zZWxlY3RlZCYmInNlbGVjdCIpKSxlPWUuZ2V0UG9pbnRQYXRoKHQsbiksbltyPyJhdHRyIjoiYW5pbWF0ZSJdKHtkOmV9KS5hZGRDbGFzcyh0LmdldENsYXNzTmFtZSgpLCEwKSl9LGUucHJvdG90eXBlLmRyYXdQb2ludHM9ZnVuY3Rpb24oKXt0aGlzLnBvaW50cy5mb3JFYWNoKHRoaXMuZHJhd1NpbmdsZVBvaW50KX0sZS5wcm90b3R5cGUuaW5pdD1mdW5jdGlvbigpe3QucHJvdG90eXBlLmluaXQuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMub3B0aW9ucy5zdGFja2luZz12b2lkIDB9LGUucHJvdG90eXBlLnBvaW50QXR0cmlicz1mdW5jdGlvbihlLGkpe3JldHVybiBlPXQucHJvdG90eXBlLnBvaW50QXR0cmlicy5jYWxsKHRoaXMsZSxpKSxkZWxldGUgZS5maWxsLGV9LGUucHJvdG90eXBlLnRvWURhdGE9ZnVuY3Rpb24odCl7cmV0dXJuW3QuaGlnaCx0Lmxvdyx0LmNsb3NlXX0sZS5wcm90b3R5cGUudHJhbnNsYXRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcyxpPWUueUF4aXMsbj10aGlzLnBvaW50QXJyYXlNYXAmJnRoaXMucG9pbnRBcnJheU1hcC5zbGljZSgpfHxbXSxyPW4ubWFwKChmdW5jdGlvbih0KXtyZXR1cm4icGxvdCIrKHQuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrdC5zbGljZSgxKSl9KSk7ci5wdXNoKCJ5Qm90dG9tIiksbi5wdXNoKCJsb3ciKSx0LnByb3RvdHlwZS50cmFuc2xhdGUuYXBwbHkoZSksZS5wb2ludHMuZm9yRWFjaCgoZnVuY3Rpb24odCl7bi5mb3JFYWNoKChmdW5jdGlvbihuLG8pe249dFtuXSxudWxsIT09biYmKGUuZGF0YU1vZGlmeSYmKG49ZS5kYXRhTW9kaWZ5Lm1vZGlmeVZhbHVlKG4pKSx0W3Jbb11dPWkudG9QaXhlbHMobiwhMCkpfSkpLHQudG9vbHRpcFBvc1sxXT10LnBsb3RIaWdoK2kucG9zLWUuY2hhcnQucGxvdFRvcH0pKX0sZS5kZWZhdWx0T3B0aW9ucz1hKHIuZGVmYXVsdE9wdGlvbnMse2xpbmVXaWR0aDoxLHRvb2x0aXA6e3BvaW50Rm9ybWF0Oic8c3BhbiBzdHlsZT0iY29sb3I6e3BvaW50LmNvbG9yfSI+4pePPC9zcGFuPiA8Yj4ge3Nlcmllcy5uYW1lfTwvYj48YnIvPkhpZ2g6IHtwb2ludC5oaWdofTxici8+TG93OiB7cG9pbnQubG93fTxici8+Q2xvc2U6IHtwb2ludC5jbG9zZX08YnIvPid9LHRocmVzaG9sZDpudWxsLHN0YXRlczp7aG92ZXI6e2xpbmVXaWR0aDozfX0sc3RpY2t5VHJhY2tpbmc6ITB9KSxlfShyKSxvKGkucHJvdG90eXBlLHthbmltYXRlOm51bGwsZGlyZWN0VG91Y2g6ITEscG9pbnRBcnJheU1hcDpbImhpZ2giLCJsb3ciLCJjbG9zZSJdLHBvaW50QXR0clRvT3B0aW9uczp7c3Ryb2tlOiJjb2xvciIsInN0cm9rZS13aWR0aCI6ImxpbmVXaWR0aCJ9LHBvaW50VmFsS2V5OiJjbG9zZSJ9KSxpLnByb3RvdHlwZS5wb2ludENsYXNzPXQsZS5yZWdpc3RlclNlcmllc1R5cGUoImhsYyIsaSksaX0pKSxlKGksIlNlcmllcy9PSExDL09ITENQb2ludC5qcyIsW2lbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl1dLChmdW5jdGlvbih0KXt2YXIgZT10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbihlLGkpe3JldHVybiB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHkoaSkmJih0W2ldPWVbaV0pfSx0KGUsaSl9O3JldHVybiBmdW5jdGlvbihlLGkpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLGkpLGUucHJvdG90eXBlPW51bGw9PT1pP09iamVjdC5jcmVhdGUoaSk6KG4ucHJvdG90eXBlPWkucHJvdG90eXBlLG5ldyBuKX19KCk7cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGkoKXt2YXIgZT1udWxsIT09dCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIGUub3Blbj12b2lkIDAsZS5vcHRpb25zPXZvaWQgMCxlLnBsb3RPcGVuPXZvaWQgMCxlLnNlcmllcz12b2lkIDAsZX1yZXR1cm4gZShpLHQpLGkucHJvdG90eXBlLmdldENsYXNzTmFtZT1mdW5jdGlvbigpe3JldHVybiB0LnByb3RvdHlwZS5nZXRDbGFzc05hbWUuY2FsbCh0aGlzKSsodGhpcy5vcGVuPHRoaXMuY2xvc2U/IiBoaWdoY2hhcnRzLXBvaW50LXVwIjoiIGhpZ2hjaGFydHMtcG9pbnQtZG93biIpfSxpLnByb3RvdHlwZS5yZXNvbHZlVXBDb2xvcj1mdW5jdGlvbigpe3RoaXMub3Blbjx0aGlzLmNsb3NlJiYhdGhpcy5vcHRpb25zLmNvbG9yJiZ0aGlzLnNlcmllcy5vcHRpb25zLnVwQ29sb3ImJih0aGlzLmNvbG9yPXRoaXMuc2VyaWVzLm9wdGlvbnMudXBDb2xvcil9LGkucHJvdG90eXBlLnJlc29sdmVDb2xvcj1mdW5jdGlvbigpe3QucHJvdG90eXBlLnJlc29sdmVDb2xvci5jYWxsKHRoaXMpLHRoaXMucmVzb2x2ZVVwQ29sb3IoKX0saS5wcm90b3R5cGUuZ2V0Wm9uZT1mdW5jdGlvbigpe3ZhciBlPXQucHJvdG90eXBlLmdldFpvbmUuY2FsbCh0aGlzKTtyZXR1cm4gdGhpcy5yZXNvbHZlVXBDb2xvcigpLGV9LGkucHJvdG90eXBlLmFwcGx5T3B0aW9ucz1mdW5jdGlvbigpe3JldHVybiB0LnByb3RvdHlwZS5hcHBseU9wdGlvbnMuYXBwbHkodGhpcyxhcmd1bWVudHMpLHRoaXMucmVzb2x2ZUNvbG9yJiZ0aGlzLnJlc29sdmVDb2xvcigpLHRoaXN9LGl9KHQuc2VyaWVzVHlwZXMuaGxjLnByb3RvdHlwZS5wb2ludENsYXNzKX0pKSxlKGksIlNlcmllcy9PSExDL09ITENTZXJpZXMuanMiLFtpWyJTZXJpZXMvT0hMQy9PSExDUG9pbnQuanMiXSxpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSl7dmFyIG49dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gZSllLmhhc093blByb3BlcnR5KGkpJiYodFtpXT1lW2ldKX0sdChlLGkpfTtyZXR1cm4gZnVuY3Rpb24oZSxpKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXQoZSxpKSxlLnByb3RvdHlwZT1udWxsPT09aT9PYmplY3QuY3JlYXRlKGkpOihuLnByb3RvdHlwZT1pLnByb3RvdHlwZSxuZXcgbil9fSgpLHI9ZS5zZXJpZXMsbz1lLnNlcmllc1R5cGVzLmhsYyxhPWkuYWRkRXZlbnQscz1pLmV4dGVuZCxjPWkubWVyZ2UsaD1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9bnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiBlLmRhdGE9dm9pZCAwLGUub3B0aW9ucz12b2lkIDAsZS5wb2ludHM9dm9pZCAwLGV9cmV0dXJuIG4oZSx0KSxlLnByb3RvdHlwZS5nZXRQb2ludFBhdGg9ZnVuY3Rpb24oZSxpKXt2YXIgbj10LnByb3RvdHlwZS5nZXRQb2ludFBhdGguY2FsbCh0aGlzLGUsaSk7aT1pLnN0cm9rZVdpZHRoKCk7dmFyIHI9aSUyLzIsbz1NYXRoLnJvdW5kKGUucGxvdFgpLXIsYT1NYXRoLnJvdW5kKGUuc2hhcGVBcmdzLndpZHRoLzIpO3JldHVybiBudWxsIT09ZS5vcGVuJiYoZT1NYXRoLnJvdW5kKGUucGxvdE9wZW4pK3Isbi5wdXNoKFsiTSIsbyxlXSxbIkwiLG8tYSxlXSksdC5wcm90b3R5cGUuZXh0ZW5kU3RlbS5jYWxsKHRoaXMsbixpLzIsZSkpLG59LGUucHJvdG90eXBlLnBvaW50QXR0cmlicz1mdW5jdGlvbihlLGkpe2k9dC5wcm90b3R5cGUucG9pbnRBdHRyaWJzLmNhbGwodGhpcyxlLGkpO3ZhciBuPXRoaXMub3B0aW9ucztyZXR1cm4gZGVsZXRlIGkuZmlsbCwhZS5vcHRpb25zLmNvbG9yJiZuLnVwQ29sb3ImJmUub3BlbjxlLmNsb3NlJiYoaS5zdHJva2U9bi51cENvbG9yKSxpfSxlLnByb3RvdHlwZS50b1lEYXRhPWZ1bmN0aW9uKHQpe3JldHVyblt0Lm9wZW4sdC5oaWdoLHQubG93LHQuY2xvc2VdfSxlLmRlZmF1bHRPcHRpb25zPWMoby5kZWZhdWx0T3B0aW9ucyx7dG9vbHRpcDp7cG9pbnRGb3JtYXQ6JzxzcGFuIHN0eWxlPSJjb2xvcjp7cG9pbnQuY29sb3J9Ij7il488L3NwYW4+IDxiPiB7c2VyaWVzLm5hbWV9PC9iPjxici8+T3Blbjoge3BvaW50Lm9wZW59PGJyLz5IaWdoOiB7cG9pbnQuaGlnaH08YnIvPkxvdzoge3BvaW50Lmxvd308YnIvPkNsb3NlOiB7cG9pbnQuY2xvc2V9PGJyLz4nfX0pLGV9KG8pO3JldHVybiBzKGgucHJvdG90eXBlLHtwb2ludEFycmF5TWFwOlsib3BlbiIsImhpZ2giLCJsb3ciLCJjbG9zZSJdfSksaC5wcm90b3R5cGUucG9pbnRDbGFzcz10LGUucmVnaXN0ZXJTZXJpZXNUeXBlKCJvaGxjIixoKSxhKHIsImluaXQiLChmdW5jdGlvbih0KXt0PXQub3B0aW9ucyx0LnVzZU9obGNEYXRhJiYiaGlnaGNoYXJ0cy1uYXZpZ2F0b3Itc2VyaWVzIiE9PXQuaWQmJnModGhpcyx7cG9pbnRWYWxLZXk6aC5wcm90b3R5cGUucG9pbnRWYWxLZXkscG9pbnRBcnJheU1hcDpoLnByb3RvdHlwZS5wb2ludEFycmF5TWFwLHRvWURhdGE6aC5wcm90b3R5cGUudG9ZRGF0YX0pfSkpLGEociwiYWZ0ZXJTZXRPcHRpb25zIiwoZnVuY3Rpb24odCl7dD10Lm9wdGlvbnM7dmFyIGU9dC5kYXRhR3JvdXBpbmc7ZSYmdC51c2VPaGxjRGF0YSYmImhpZ2hjaGFydHMtbmF2aWdhdG9yLXNlcmllcyIhPT10LmlkJiYoZS5hcHByb3hpbWF0aW9uPSJvaGxjIil9KSksaH0pKSxlKGksIlNlcmllcy9DYW5kbGVzdGljay9DYW5kbGVzdGlja1Nlcmllcy5qcyIsW2lbIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiXSxpWyJDb3JlL1Nlcmllcy9TZXJpZXNSZWdpc3RyeS5qcyJdLGlbIkNvcmUvVXRpbGl0aWVzLmpzIl1dLChmdW5jdGlvbih0LGUsaSl7dmFyIG49dGhpcyYmdGhpcy5fX2V4dGVuZHN8fGZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24oZSxpKXtyZXR1cm4gdD1PYmplY3Quc2V0UHJvdG90eXBlT2Z8fHtfX3Byb3RvX186W119aW5zdGFuY2VvZiBBcnJheSYmZnVuY3Rpb24odCxlKXt0Ll9fcHJvdG9fXz1lfXx8ZnVuY3Rpb24odCxlKXtmb3IodmFyIGkgaW4gZSllLmhhc093blByb3BlcnR5KGkpJiYodFtpXT1lW2ldKX0sdChlLGkpfTtyZXR1cm4gZnVuY3Rpb24oZSxpKXtmdW5jdGlvbiBuKCl7dGhpcy5jb25zdHJ1Y3Rvcj1lfXQoZSxpKSxlLnByb3RvdHlwZT1udWxsPT09aT9PYmplY3QuY3JlYXRlKGkpOihuLnByb3RvdHlwZT1pLnByb3RvdHlwZSxuZXcgbil9fSgpLHI9dC5kZWZhdWx0T3B0aW9uczt0PWUuc2VyaWVzVHlwZXM7dmFyIG89dC5jb2x1bW4sYT10Lm9obGMscz1pLm1lcmdlO3JldHVybiBpPWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT1udWxsIT09dCYmdC5hcHBseSh0aGlzLGFyZ3VtZW50cyl8fHRoaXM7cmV0dXJuIGUuZGF0YT12b2lkIDAsZS5vcHRpb25zPXZvaWQgMCxlLnBvaW50cz12b2lkIDAsZX1yZXR1cm4gbihlLHQpLGUucHJvdG90eXBlLnBvaW50QXR0cmlicz1mdW5jdGlvbih0LGUpe3ZhciBpPW8ucHJvdG90eXBlLnBvaW50QXR0cmlicy5jYWxsKHRoaXMsdCxlKSxuPXRoaXMub3B0aW9ucyxyPXQub3Blbjx0LmNsb3NlLGE9bi5saW5lQ29sb3J8fHRoaXMuY29sb3Iscz10LmNvbG9yfHx0aGlzLmNvbG9yO3JldHVybiBpWyJzdHJva2Utd2lkdGgiXT1uLmxpbmVXaWR0aCxpLmZpbGw9dC5vcHRpb25zLmNvbG9yfHxyJiZuLnVwQ29sb3J8fHMsaS5zdHJva2U9dC5vcHRpb25zLmxpbmVDb2xvcnx8ciYmbi51cExpbmVDb2xvcnx8YSxlJiYodD1uLnN0YXRlc1tlXSxpLmZpbGw9dC5jb2xvcnx8aS5maWxsLGkuc3Ryb2tlPXQubGluZUNvbG9yfHxpLnN0cm9rZSxpWyJzdHJva2Utd2lkdGgiXT10LmxpbmVXaWR0aHx8aVsic3Ryb2tlLXdpZHRoIl0pLGl9LGUucHJvdG90eXBlLmRyYXdQb2ludHM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dC5jaGFydCxpPXQueUF4aXMucmV2ZXJzZWQ7dC5wb2ludHMuZm9yRWFjaCgoZnVuY3Rpb24obil7dmFyIHI9bi5ncmFwaGljLG89IXI7aWYoInVuZGVmaW5lZCIhPT10eXBlb2Ygbi5wbG90WSl7cnx8KG4uZ3JhcGhpYz1yPWUucmVuZGVyZXIucGF0aCgpLmFkZCh0Lmdyb3VwKSksdC5jaGFydC5zdHlsZWRNb2RlfHxyLmF0dHIodC5wb2ludEF0dHJpYnMobixuLnNlbGVjdGVkJiYic2VsZWN0IikpLnNoYWRvdyh0Lm9wdGlvbnMuc2hhZG93KTt2YXIgYT1yLnN0cm9rZVdpZHRoKCklMi8yLHM9TWF0aC5yb3VuZChuLnBsb3RYKS1hLGM9bi5wbG90T3BlbixoPW4ucGxvdENsb3NlLGw9TWF0aC5taW4oYyxoKTtjPU1hdGgubWF4KGMsaCk7dmFyIHA9TWF0aC5yb3VuZChuLnNoYXBlQXJncy53aWR0aC8yKTtoPWk/YyE9PW4ueUJvdHRvbTpNYXRoLnJvdW5kKGwpIT09TWF0aC5yb3VuZChuLnBsb3RIaWdoKTt2YXIgZD1pP01hdGgucm91bmQobCkhPT1NYXRoLnJvdW5kKG4ucGxvdEhpZ2gpOmMhPT1uLnlCb3R0b207bD1NYXRoLnJvdW5kKGwpK2EsYz1NYXRoLnJvdW5kKGMpK2EsYT1bXSxhLnB1c2goWyJNIixzLXAsY10sWyJMIixzLXAsbF0sWyJMIixzK3AsbF0sWyJMIixzK3AsY10sWyJaIl0sWyJNIixzLGxdLFsiTCIscyxoP01hdGgucm91bmQoaT9uLnlCb3R0b206bi5wbG90SGlnaCk6bF0sWyJNIixzLGNdLFsiTCIscyxkP01hdGgucm91bmQoaT9uLnBsb3RIaWdoOm4ueUJvdHRvbSk6Y10pLHJbbz8iYXR0ciI6ImFuaW1hdGUiXSh7ZDphfSkuYWRkQ2xhc3Mobi5nZXRDbGFzc05hbWUoKSwhMCl9fSkpfSxlLmRlZmF1bHRPcHRpb25zPXMoYS5kZWZhdWx0T3B0aW9ucyxyLnBsb3RPcHRpb25zLHtzdGF0ZXM6e2hvdmVyOntsaW5lV2lkdGg6Mn19LHRvb2x0aXA6ci5wbG90T3B0aW9ucy5vaGxjLnRvb2x0aXAsdGhyZXNob2xkOm51bGwsbGluZUNvbG9yOiIjMDAwMDAwIixsaW5lV2lkdGg6MSx1cENvbG9yOiIjZmZmZmZmIixzdGlja3lUcmFja2luZzohMH0pLGV9KGEpLGUucmVnaXN0ZXJTZXJpZXNUeXBlKCJjYW5kbGVzdGljayIsaSksaX0pKSxlKGksIlNlcmllcy9GbGFncy9GbGFnc1BvaW50LmpzIixbaVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlKXt2YXIgaT10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbihlLGkpe3JldHVybiB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHkoaSkmJih0W2ldPWVbaV0pfSx0KGUsaSl9O3JldHVybiBmdW5jdGlvbihlLGkpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLGkpLGUucHJvdG90eXBlPW51bGw9PT1pP09iamVjdC5jcmVhdGUoaSk6KG4ucHJvdG90eXBlPWkucHJvdG90eXBlLG5ldyBuKX19KCksbj1lLmlzTnVtYmVyO3JldHVybiBmdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7dmFyIGU9bnVsbCE9PXQmJnQuYXBwbHkodGhpcyxhcmd1bWVudHMpfHx0aGlzO3JldHVybiBlLm9wdGlvbnM9dm9pZCAwLGUuc2VyaWVzPXZvaWQgMCxlfXJldHVybiBpKGUsdCksZS5wcm90b3R5cGUuaXNWYWxpZD1mdW5jdGlvbigpe3JldHVybiBuKHRoaXMueSl8fCJ1bmRlZmluZWQiPT09dHlwZW9mIHRoaXMueX0sZS5wcm90b3R5cGUuaGFzTmV3U2hhcGVUeXBlPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLnNoYXBlfHx0aGlzLnNlcmllcy5vcHRpb25zLnNoYXBlO3JldHVybiB0aGlzLmdyYXBoaWMmJnQmJnQhPT10aGlzLmdyYXBoaWMuc3ltYm9sS2V5fSxlfSh0LnNlcmllc1R5cGVzLmNvbHVtbi5wcm90b3R5cGUucG9pbnRDbGFzcyl9KSksZShpLCJTZXJpZXMvT25TZXJpZXNDb21wb3NpdGlvbi5qcyIsW2lbIlNlcmllcy9Db2x1bW4vQ29sdW1uU2VyaWVzLmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzLmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpKXt2YXIgbixyPXQucHJvdG90eXBlLG89ZS5wcm90b3R5cGUsYT1pLmRlZmluZWQscz1pLnN0YWJsZVNvcnQ7cmV0dXJuIGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXtyZXR1cm4gby5nZXRQbG90Qm94LmNhbGwodGhpcy5vcHRpb25zLm9uU2VyaWVzJiZ0aGlzLmNoYXJ0LmdldCh0aGlzLm9wdGlvbnMub25TZXJpZXMpfHx0aGlzKX1mdW5jdGlvbiBpKCl7ci50cmFuc2xhdGUuYXBwbHkodGhpcyk7dmFyIHQsZT10aGlzLGk9ZS5vcHRpb25zLG49ZS5jaGFydCxvPWUucG9pbnRzLGM9aS5vblNlcmllcyxoPShjPWMmJm4uZ2V0KGMpKSYmYy5vcHRpb25zLnN0ZXAsbD1jJiZjLnBvaW50cyxwPW4uaW52ZXJ0ZWQsZD1lLnhBeGlzLHU9ZS55QXhpcztuPW8ubGVuZ3RoLTEsaT1pLm9uS2V5fHwieSI7dmFyIGYsbT1sJiZsLmxlbmd0aCxnPTA7aWYoYyYmYy52aXNpYmxlJiZtKXtnPShjLnBvaW50WE9mZnNldHx8MCkrKGMuYmFyV3x8MCkvMjt2YXIgdj1jLmN1cnJlbnREYXRhR3JvdXBpbmcseT1sW20tMV0ueCsodj92LnRvdGFsUmFuZ2U6MCk7Zm9yKHMobywoZnVuY3Rpb24odCxlKXtyZXR1cm4gdC54LWUueH0pKSxpPSJwbG90IitpWzBdLnRvVXBwZXJDYXNlKCkraS5zdWJzdHIoMSk7bS0tJiZvW25dOyl7dmFyIF89bFttXTtpZih2PW9bbl0sdi55PV8ueSxfLng8PXYueCYmInVuZGVmaW5lZCIhPT10eXBlb2YgX1tpXSl7aWYodi54PD15JiYodi5wbG90WT1fW2ldLF8ueDx2LngmJiFoJiYoZj1sW20rMV0pJiYidW5kZWZpbmVkIiE9PXR5cGVvZiBmW2ldKSl7dmFyIGI9KHYueC1fLngpLyhmLngtXy54KTt2LnBsb3RZKz1iKihmW2ldLV9baV0pLHYueSs9YiooZi55LV8ueSl9aWYobi0tLG0rKywwPm4pYnJlYWt9fX1vLmZvckVhY2goKGZ1bmN0aW9uKGksbil7aWYoaS5wbG90WCs9ZywoInVuZGVmaW5lZCI9PT10eXBlb2YgaS5wbG90WXx8cCkmJigwPD1pLnBsb3RYJiZpLnBsb3RYPD1kLmxlbj9wPyhpLnBsb3RZPWQudHJhbnNsYXRlKGkueCwwLDEsMCwxKSxpLnBsb3RYPWEoaS55KT91LnRyYW5zbGF0ZShpLnksMCwwLDAsMSk6MCk6aS5wbG90WT0oZC5vcHBvc2l0ZT8wOmUueUF4aXMubGVuKStkLm9mZnNldDppLnNoYXBlQXJncz17fSksKHQ9b1tuLTFdKSYmdC5wbG90WD09PWkucGxvdFgpeyJ1bmRlZmluZWQiPT09dHlwZW9mIHQuc3RhY2tJbmRleCYmKHQuc3RhY2tJbmRleD0wKTt2YXIgcj10LnN0YWNrSW5kZXgrMX1pLnN0YWNrSW5kZXg9cn0pKSx0aGlzLm9uU2VyaWVzPWN9dmFyIG49W107dC5jb21wb3NlPWZ1bmN0aW9uKHQpe2lmKC0xPT09bi5pbmRleE9mKHQpKXtuLnB1c2godCk7dmFyIHI9dC5wcm90b3R5cGU7ci5nZXRQbG90Qm94PWUsci50cmFuc2xhdGU9aX1yZXR1cm4gdH0sdC5nZXRQbG90Qm94PWUsdC50cmFuc2xhdGU9aX0obnx8KG49e30pKSxufSkpLGUoaSwiU2VyaWVzL0ZsYWdzL0ZsYWdzU3ltYm9scy5qcyIsW2lbIkNvcmUvUmVuZGVyZXIvUmVuZGVyZXJSZWdpc3RyeS5qcyJdLGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR1JlbmRlcmVyLmpzIl1dLChmdW5jdGlvbih0LGUpe2Z1bmN0aW9uIGkodCl7blt0KyJwaW4iXT1mdW5jdGlvbihlLGkscixvLGEpe3ZhciBzPWEmJmEuYW5jaG9yWDthPWEmJmEuYW5jaG9yWSwiY2lyY2xlIj09PXQmJm8+ciYmKGUtPU1hdGgucm91bmQoKG8tcikvMikscj1vKTt2YXIgYz1uW3RdKGUsaSxyLG8pO2lmKHMmJmEpe3ZhciBoPXM7ImNpcmNsZSI9PT10P2g9ZStyLzI6KGU9Y1swXSxyPWNbMV0sIk0iPT09ZVswXSYmIkwiPT09clswXSYmKGg9KGVbMV0rclsxXSkvMikpLGMucHVzaChbIk0iLGgsaT5hP2k6aStvXSxbIkwiLHMsYV0pLGM9Yy5jb25jYXQobi5jaXJjbGUocy0xLGEtMSwyLDIpKX1yZXR1cm4gY319dmFyIG49ZS5wcm90b3R5cGUuc3ltYm9scztyZXR1cm4gbi5mbGFnPWZ1bmN0aW9uKHQsZSxpLHIsbyl7dmFyIGE9byYmby5hbmNob3JYfHx0O289byYmby5hbmNob3JZfHxlO3ZhciBzPW4uY2lyY2xlKGEtMSxvLTEsMiwyKTtyZXR1cm4gcy5wdXNoKFsiTSIsYSxvXSxbIkwiLHQsZStyXSxbIkwiLHQsZV0sWyJMIix0K2ksZV0sWyJMIix0K2ksZStyXSxbIkwiLHQsZStyXSxbIloiXSksc30saSgiY2lyY2xlIiksaSgic3F1YXJlIiksdD10LmdldFJlbmRlcmVyVHlwZSgpLHQhPT1lJiYodC5wcm90b3R5cGUuc3ltYm9scy5jaXJjbGVwaW49bi5jaXJjbGVwaW4sdC5wcm90b3R5cGUuc3ltYm9scy5mbGFnPW4uZmxhZyx0LnByb3RvdHlwZS5zeW1ib2xzLnNxdWFyZXBpbj1uLnNxdWFyZXBpbiksbn0pKSxlKGksIlNlcmllcy9GbGFncy9GbGFnc1Nlcmllcy5qcyIsW2lbIlNlcmllcy9GbGFncy9GbGFnc1BvaW50LmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiU2VyaWVzL09uU2VyaWVzQ29tcG9zaXRpb24uanMiXSxpWyJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyVXRpbGl0aWVzLmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzUmVnaXN0cnkuanMiXSxpWyJDb3JlL1JlbmRlcmVyL1NWRy9TVkdFbGVtZW50LmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpLG4scixvLGEpe3ZhciBzPXRoaXMmJnRoaXMuX19leHRlbmRzfHxmdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKGUsaSl7cmV0dXJuIHQ9T2JqZWN0LnNldFByb3RvdHlwZU9mfHx7X19wcm90b19fOltdfWluc3RhbmNlb2YgQXJyYXkmJmZ1bmN0aW9uKHQsZSl7dC5fX3Byb3RvX189ZX18fGZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBpIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShpKSYmKHRbaV09ZVtpXSl9LHQoZSxpKX07cmV0dXJuIGZ1bmN0aW9uKGUsaSl7ZnVuY3Rpb24gbigpe3RoaXMuY29uc3RydWN0b3I9ZX10KGUsaSksZS5wcm90b3R5cGU9bnVsbD09PWk/T2JqZWN0LmNyZWF0ZShpKToobi5wcm90b3R5cGU9aS5wcm90b3R5cGUsbmV3IG4pfX0oKTtlPWUubm9vcDt2YXIgYz1uLmRpc3RyaWJ1dGUsaD1yLnNlcmllcyxsPXIuc2VyaWVzVHlwZXMuY29sdW1uLHA9YS5hZGRFdmVudCxkPWEuZGVmaW5lZDtuPWEuZXh0ZW5kO3ZhciB1PWEubWVyZ2UsZj1hLm9iamVjdEVhY2gsbT1hLndyYXA7cmV0dXJuIGE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3ZhciBlPW51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpcztyZXR1cm4gZS5kYXRhPXZvaWQgMCxlLm9wdGlvbnM9dm9pZCAwLGUucG9pbnRzPXZvaWQgMCxlfXJldHVybiBzKGUsdCksZS5wcm90b3R5cGUuYW5pbWF0ZT1mdW5jdGlvbih0KXt0JiZ0aGlzLnNldENsaXAoKX0sZS5wcm90b3R5cGUuZHJhd1BvaW50cz1mdW5jdGlvbigpe3ZhciB0LGU9dGhpcy5wb2ludHMsaT10aGlzLmNoYXJ0LG49aS5yZW5kZXJlcixyPWkuaW52ZXJ0ZWQsYT10aGlzLm9wdGlvbnMscz1hLnksaD10aGlzLnlBeGlzLGw9e30scD1bXTtmb3IodD1lLmxlbmd0aDt0LS07KXt2YXIgZz1lW3RdLHY9KHI/Zy5wbG90WTpnLnBsb3RYKT50aGlzLnhBeGlzLmxlbix5PWcucGxvdFgsXz1nLnN0YWNrSW5kZXgsYj1nLm9wdGlvbnMuc2hhcGV8fGEuc2hhcGUseD1nLnBsb3RZOyJ1bmRlZmluZWQiIT09dHlwZW9mIHgmJih4PWcucGxvdFkrcy0oInVuZGVmaW5lZCIhPT10eXBlb2YgXyYmXyphLnN0YWNrRGlzdGFuY2UpKSxnLmFuY2hvclg9Xz92b2lkIDA6Zy5wbG90WDt2YXIgdz1fP3ZvaWQgMDpnLnBsb3RZLGs9ImZsYWciIT09YjtfPWcuZ3JhcGhpYywidW5kZWZpbmVkIiE9PXR5cGVvZiB4JiYwPD15JiYhdj8oXyYmZy5oYXNOZXdTaGFwZVR5cGUoKSYmKF89Xy5kZXN0cm95KCkpLF98fChfPWcuZ3JhcGhpYz1uLmxhYmVsKCIiLG51bGwsbnVsbCxiLG51bGwsbnVsbCxhLnVzZUhUTUwpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXBvaW50IikuYWRkKHRoaXMubWFya2VyR3JvdXApLGcuZ3JhcGhpYy5kaXYmJihnLmdyYXBoaWMuZGl2LnBvaW50PWcpLF8uaXNOZXc9ITApLF8uYXR0cih7YWxpZ246az8iY2VudGVyIjoibGVmdCIsd2lkdGg6YS53aWR0aCxoZWlnaHQ6YS5oZWlnaHQsInRleHQtYWxpZ24iOmEudGV4dEFsaWdufSksaS5zdHlsZWRNb2RlfHxfLmF0dHIodGhpcy5wb2ludEF0dHJpYnMoZykpLmNzcyh1KGEuc3R5bGUsZy5zdHlsZSkpLnNoYWRvdyhhLnNoYWRvdyksMDx5JiYoeS09Xy5zdHJva2VXaWR0aCgpJTIpLGI9e3k6eCxhbmNob3JZOnd9LGEuYWxsb3dPdmVybGFwWCYmKGIueD15LGIuYW5jaG9yWD1nLmFuY2hvclgpLF8uYXR0cih7dGV4dDpnLm9wdGlvbnMudGl0bGV8fGEudGl0bGV8fCJBIn0pW18uaXNOZXc/ImF0dHIiOiJhbmltYXRlIl0oYiksYS5hbGxvd092ZXJsYXBYfHwobFtnLnBsb3RYXT9sW2cucGxvdFhdLnNpemU9TWF0aC5tYXgobFtnLnBsb3RYXS5zaXplLF8ud2lkdGgpOmxbZy5wbG90WF09e2FsaWduOms/LjU6MCxzaXplOl8ud2lkdGgsdGFyZ2V0OnksYW5jaG9yWDp5fSksZy50b29sdGlwUG9zPVt5LHgraC5wb3MtaS5wbG90VG9wXSk6XyYmKGcuZ3JhcGhpYz1fLmRlc3Ryb3koKSl9aWYoIWEuYWxsb3dPdmVybGFwWCl7dmFyIEM9MTAwO2YobCwoZnVuY3Rpb24odCl7dC5wbG90WD10LmFuY2hvclgscC5wdXNoKHQpLEM9TWF0aC5tYXgodC5zaXplLEMpfSkpLGMocCxyP2gubGVuOnRoaXMueEF4aXMubGVuLEMpLGUuZm9yRWFjaCgoZnVuY3Rpb24odCl7dmFyIGU9dC5ncmFwaGljJiZsW3QucGxvdFhdO2UmJih0LmdyYXBoaWNbdC5ncmFwaGljLmlzTmV3PyJhdHRyIjoiYW5pbWF0ZSJdKHt4OmUucG9zK2UuYWxpZ24qZS5zaXplLGFuY2hvclg6dC5hbmNob3JYfSksZChlLnBvcyk/dC5ncmFwaGljLmlzTmV3PSExOih0LmdyYXBoaWMuYXR0cih7eDotOTk5OSxhbmNob3JYOi05OTk5fSksdC5ncmFwaGljLmlzTmV3PSEwKSl9KSl9YS51c2VIVE1MJiZtKHRoaXMubWFya2VyR3JvdXAsIm9uIiwoZnVuY3Rpb24odCl7cmV0dXJuIG8ucHJvdG90eXBlLm9uLmFwcGx5KHQuYXBwbHkodGhpcyxbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKSksW10uc2xpY2UuY2FsbChhcmd1bWVudHMsMSkpfSkpfSxlLnByb3RvdHlwZS5kcmF3VHJhY2tlcj1mdW5jdGlvbigpe3ZhciBlPXRoaXMucG9pbnRzO3QucHJvdG90eXBlLmRyYXdUcmFja2VyLmNhbGwodGhpcyksZS5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgaT10LmdyYXBoaWM7aSYmKHQudW5iaW5kTW91c2VPdmVyJiZ0LnVuYmluZE1vdXNlT3ZlcigpLHQudW5iaW5kTW91c2VPdmVyPXAoaS5lbGVtZW50LCJtb3VzZW92ZXIiLChmdW5jdGlvbigpezA8dC5zdGFja0luZGV4JiYhdC5yYWlzZWQmJih0Ll95PWkueSxpLmF0dHIoe3k6dC5feS04fSksdC5yYWlzZWQ9ITApLGUuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZSE9PXQmJmUucmFpc2VkJiZlLmdyYXBoaWMmJihlLmdyYXBoaWMuYXR0cih7eTplLl95fSksZS5yYWlzZWQ9ITEpfSkpfSkpKX0pKX0sZS5wcm90b3R5cGUucG9pbnRBdHRyaWJzPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5vcHRpb25zLG49dCYmdC5jb2xvcnx8dGhpcy5jb2xvcixyPWkubGluZUNvbG9yLG89dCYmdC5saW5lV2lkdGg7cmV0dXJuIHQ9dCYmdC5maWxsQ29sb3J8fGkuZmlsbENvbG9yLGUmJih0PWkuc3RhdGVzW2VdLmZpbGxDb2xvcixyPWkuc3RhdGVzW2VdLmxpbmVDb2xvcixvPWkuc3RhdGVzW2VdLmxpbmVXaWR0aCkse2ZpbGw6dHx8bixzdHJva2U6cnx8biwic3Ryb2tlLXdpZHRoIjpvfHxpLmxpbmVXaWR0aHx8MH19LGUucHJvdG90eXBlLnNldENsaXA9ZnVuY3Rpb24oKXtoLnByb3RvdHlwZS5zZXRDbGlwLmFwcGx5KHRoaXMsYXJndW1lbnRzKSwhMSE9PXRoaXMub3B0aW9ucy5jbGlwJiZ0aGlzLnNoYXJlZENsaXBLZXkmJnRoaXMubWFya2VyR3JvdXAmJnRoaXMubWFya2VyR3JvdXAuY2xpcCh0aGlzLmNoYXJ0LnNoYXJlZENsaXBzW3RoaXMuc2hhcmVkQ2xpcEtleV0pfSxlLmRlZmF1bHRPcHRpb25zPXUobC5kZWZhdWx0T3B0aW9ucyx7cG9pbnRSYW5nZTowLGFsbG93T3ZlcmxhcFg6ITEsc2hhcGU6ImZsYWciLHN0YWNrRGlzdGFuY2U6MTIsdGV4dEFsaWduOiJjZW50ZXIiLHRvb2x0aXA6e3BvaW50Rm9ybWF0OiJ7cG9pbnQudGV4dH0ifSx0aHJlc2hvbGQ6bnVsbCx5Oi0zMCxmaWxsQ29sb3I6IiNmZmZmZmYiLGxpbmVXaWR0aDoxLHN0YXRlczp7aG92ZXI6e2xpbmVDb2xvcjoiIzAwMDAwMCIsZmlsbENvbG9yOiIjY2NkNmViIn19LHN0eWxlOntmb250U2l6ZToiMTFweCIsZm9udFdlaWdodDoiYm9sZCJ9fSksZX0obCksaS5jb21wb3NlKGEpLG4oYS5wcm90b3R5cGUse2FsbG93REc6ITEsZm9yY2VDcm9wOiEwLGludmVydGlibGU6ITEsbm9TaGFyZWRUb29sdGlwOiEwLHBvaW50Q2xhc3M6dCxzb3J0ZWQ6ITEsdGFrZU9yZGluYWxQb3NpdGlvbjohMSx0cmFja2VyR3JvdXBzOlsibWFya2VyR3JvdXAiXSxidWlsZEtEVHJlZTplLGluaXQ6aC5wcm90b3R5cGUuaW5pdCxpbnZlcnRHcm91cHM6ZX0pLHIucmVnaXN0ZXJTZXJpZXNUeXBlKCJmbGFncyIsYSksYX0pKSxlKGksIkNvcmUvQXhpcy9TY3JvbGxiYXJBeGlzLmpzIixbaVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQpe3ZhciBlPXQuYWRkRXZlbnQsaT10LmRlZmluZWQsbj10LnBpY2s7cmV0dXJuIGZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCgpe31yZXR1cm4gdC5jb21wb3NlPWZ1bmN0aW9uKHIsbyl7aWYoLTEhPT10LmNvbXBvc2VkLmluZGV4T2YocikpcmV0dXJuIHI7dC5jb21wb3NlZC5wdXNoKHIpO3ZhciBhPWZ1bmN0aW9uKHQpe3ZhciBlPW4odC5vcHRpb25zJiZ0Lm9wdGlvbnMubWluLHQubWluKSxyPW4odC5vcHRpb25zJiZ0Lm9wdGlvbnMubWF4LHQubWF4KTtyZXR1cm57YXhpc01pbjplLGF4aXNNYXg6cixzY3JvbGxNaW46aSh0LmRhdGFNaW4pP01hdGgubWluKGUsdC5taW4sdC5kYXRhTWluLG4odC50aHJlc2hvbGQsMS8wKSk6ZSxzY3JvbGxNYXg6aSh0LmRhdGFNYXgpP01hdGgubWF4KHIsdC5tYXgsdC5kYXRhTWF4LG4odC50aHJlc2hvbGQsLTEvMCkpOnJ9fTtyZXR1cm4gZShyLCJhZnRlckluaXQiLChmdW5jdGlvbigpe3ZhciB0PXRoaXM7dC5vcHRpb25zJiZ0Lm9wdGlvbnMuc2Nyb2xsYmFyJiZ0Lm9wdGlvbnMuc2Nyb2xsYmFyLmVuYWJsZWQmJih0Lm9wdGlvbnMuc2Nyb2xsYmFyLnZlcnRpY2FsPSF0Lmhvcml6LHQub3B0aW9ucy5zdGFydE9uVGljaz10Lm9wdGlvbnMuZW5kT25UaWNrPSExLHQuc2Nyb2xsYmFyPW5ldyBvKHQuY2hhcnQucmVuZGVyZXIsdC5vcHRpb25zLnNjcm9sbGJhcix0LmNoYXJ0KSxlKHQuc2Nyb2xsYmFyLCJjaGFuZ2VkIiwoZnVuY3Rpb24oZSl7dmFyIG49YSh0KSxyPW4uYXhpc01heCxvPW4uc2Nyb2xsTWluLHM9bi5zY3JvbGxNYXgtbztpKG4uYXhpc01pbikmJmkocikmJih0Lmhvcml6JiYhdC5yZXZlcnNlZHx8IXQuaG9yaXomJnQucmV2ZXJzZWQ/KG49bytzKnRoaXMudG8sbys9cyp0aGlzLmZyb20pOihuPW8rcyooMS10aGlzLmZyb20pLG8rPXMqKDEtdGhpcy50bykpLHRoaXMuc2hvdWxkVXBkYXRlRXh0cmVtZXMoZS5ET01UeXBlKT90LnNldEV4dHJlbWVzKG8sbiwhMCwibW91c2Vtb3ZlIiE9PWUuRE9NVHlwZSYmInRvdWNobW92ZSIhPT1lLkRPTVR5cGUsZSk6dGhpcy5zZXRSYW5nZSh0aGlzLmZyb20sdGhpcy50bykpfSkpKX0pKSxlKHIsImFmdGVyUmVuZGVyIiwoZnVuY3Rpb24oKXt2YXIgdD1hKHRoaXMpLGU9dC5zY3JvbGxNaW4sbj10LnNjcm9sbE1heDt0PXRoaXMuc2Nyb2xsYmFyO3ZhciByPXRoaXMuYXhpc1RpdGxlTWFyZ2luKyh0aGlzLnRpdGxlT2Zmc2V0fHwwKSxvPXRoaXMuY2hhcnQuc2Nyb2xsYmFyc09mZnNldHMscz10aGlzLm9wdGlvbnMubWFyZ2lufHwwO3QmJih0aGlzLmhvcml6Pyh0aGlzLm9wcG9zaXRlfHwob1sxXSs9ciksdC5wb3NpdGlvbih0aGlzLmxlZnQsdGhpcy50b3ArdGhpcy5oZWlnaHQrMitvWzFdLSh0aGlzLm9wcG9zaXRlP3M6MCksdGhpcy53aWR0aCx0aGlzLmhlaWdodCksdGhpcy5vcHBvc2l0ZXx8KG9bMV0rPXMpLHI9MSk6KHRoaXMub3Bwb3NpdGUmJihvWzBdKz1yKSx0LnBvc2l0aW9uKHQub3B0aW9ucy5vcHBvc2l0ZT90aGlzLmxlZnQrdGhpcy53aWR0aCsyK29bMF0tKHRoaXMub3Bwb3NpdGU/MDpzKTp0aGlzLm9wcG9zaXRlPzA6cyx0aGlzLnRvcCx0aGlzLndpZHRoLHRoaXMuaGVpZ2h0KSx0aGlzLm9wcG9zaXRlJiYob1swXSs9cykscj0wKSxvW3JdKz10LnNpemUrdC5vcHRpb25zLm1hcmdpbixpc05hTihlKXx8aXNOYU4obil8fCFpKHRoaXMubWluKXx8IWkodGhpcy5tYXgpfHx0aGlzLm1pbj09PXRoaXMubWF4P3Quc2V0UmFuZ2UoMCwxKToobz0odGhpcy5taW4tZSkvKG4tZSksZT0odGhpcy5tYXgtZSkvKG4tZSksdGhpcy5ob3JpeiYmIXRoaXMucmV2ZXJzZWR8fCF0aGlzLmhvcml6JiZ0aGlzLnJldmVyc2VkP3Quc2V0UmFuZ2UobyxlKTp0LnNldFJhbmdlKDEtZSwxLW8pKSl9KSksZShyLCJhZnRlckdldE9mZnNldCIsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5zY3JvbGxiYXImJiF0aGlzLnNjcm9sbGJhci5vcHRpb25zLm9wcG9zaXRlO3Q9dGhpcy5ob3Jpej8yOnQ/MzoxO3ZhciBlPXRoaXMuc2Nyb2xsYmFyO2UmJih0aGlzLmNoYXJ0LnNjcm9sbGJhcnNPZmZzZXRzPVswLDBdLHRoaXMuY2hhcnQuYXhpc09mZnNldFt0XSs9ZS5zaXplK2Uub3B0aW9ucy5tYXJnaW4pfSkpLHJ9LHQuY29tcG9zZWQ9W10sdH0oKX0pKSxlKGksIkNvcmUvU2Nyb2xsYmFyRGVmYXVsdHMuanMiLFtpWyJDb3JlL0dsb2JhbHMuanMiXV0sKGZ1bmN0aW9uKHQpe3JldHVybntoZWlnaHQ6dC5pc1RvdWNoRGV2aWNlPzIwOjE0LGJhckJvcmRlclJhZGl1czowLGJ1dHRvbkJvcmRlclJhZGl1czowLGxpdmVSZWRyYXc6dm9pZCAwLG1hcmdpbjoxMCxtaW5XaWR0aDo2LG9wcG9zaXRlOiEwLHN0ZXA6LjIsekluZGV4OjMsYmFyQmFja2dyb3VuZENvbG9yOiIjY2NjY2NjIixiYXJCb3JkZXJXaWR0aDoxLGJhckJvcmRlckNvbG9yOiIjY2NjY2NjIixidXR0b25BcnJvd0NvbG9yOiIjMzMzMzMzIixidXR0b25CYWNrZ3JvdW5kQ29sb3I6IiNlNmU2ZTYiLGJ1dHRvbkJvcmRlckNvbG9yOiIjY2NjY2NjIixidXR0b25Cb3JkZXJXaWR0aDoxLHJpZmxlQ29sb3I6IiMzMzMzMzMiLHRyYWNrQmFja2dyb3VuZENvbG9yOiIjZjJmMmYyIix0cmFja0JvcmRlckNvbG9yOiIjZjJmMmYyIix0cmFja0JvcmRlcldpZHRoOjF9fSkpLGUoaSwiQ29yZS9TY3JvbGxiYXIuanMiLFtpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9BeGlzL1Njcm9sbGJhckF4aXMuanMiXSxpWyJDb3JlL1Njcm9sbGJhckRlZmF1bHRzLmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpLG4scil7dmFyIG89dC5kZWZhdWx0T3B0aW9ucyxhPXIuYWRkRXZlbnQscz1yLmNvcnJlY3RGbG9hdCxjPXIuZGVmaW5lZCxoPXIuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsbD1yLmZpcmVFdmVudCxwPXIubWVyZ2UsZD1yLnBpY2ssdT1yLnJlbW92ZUV2ZW50O3JldHVybiB0PWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0LGUsaSl7dGhpcy5fZXZlbnRzPVtdLHRoaXMuY2hhcnQ9dm9pZCAwLHRoaXMuZnJvbT10aGlzLmNoYXJ0WT10aGlzLmNoYXJ0WD0wLHRoaXMuc2Nyb2xsYmFyPXRoaXMucmVuZGVyZXI9dGhpcy5vcHRpb25zPXRoaXMuZ3JvdXA9dm9pZCAwLHRoaXMuc2Nyb2xsYmFyQnV0dG9ucz1bXSx0aGlzLnNjcm9sbGJhckdyb3VwPXZvaWQgMCx0aGlzLnNjcm9sbGJhckxlZnQ9MCx0aGlzLnNjcm9sbGJhclJpZmxlcz12b2lkIDAsdGhpcy5zY3JvbGxiYXJTdHJva2VXaWR0aD0xLHRoaXMudG89dGhpcy5zaXplPXRoaXMuc2Nyb2xsYmFyVG9wPTAsdGhpcy50cmFjaz12b2lkIDAsdGhpcy50cmFja0JvcmRlcldpZHRoPTEsdGhpcy51c2VyT3B0aW9ucz12b2lkIDAsdGhpcy55PXRoaXMueD0wLHRoaXMuaW5pdCh0LGUsaSl9cmV0dXJuIHQuY29tcG9zZT1mdW5jdGlvbihlKXtpLmNvbXBvc2UoZSx0KX0sdC5zd2FwWFk9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZSYmdC5mb3JFYWNoKChmdW5jdGlvbih0KXtmb3IodmFyIGUsaT10Lmxlbmd0aCxuPTA7bjxpO24rPTIpZT10W24rMV0sIm51bWJlciI9PT10eXBlb2YgZSYmKHRbbisxXT10W24rMl0sdFtuKzJdPWUpfSkpLHR9LHQucHJvdG90eXBlLmFkZEV2ZW50cz1mdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9ucy5pbnZlcnRlZD9bMSwwXTpbMCwxXSxpPXRoaXMuc2Nyb2xsYmFyQnV0dG9ucyxuPXRoaXMuc2Nyb2xsYmFyR3JvdXAuZWxlbWVudCxyPXRoaXMudHJhY2suZWxlbWVudCxvPXRoaXMubW91c2VEb3duSGFuZGxlci5iaW5kKHRoaXMpLHM9dGhpcy5tb3VzZU1vdmVIYW5kbGVyLmJpbmQodGhpcyksYz10aGlzLm1vdXNlVXBIYW5kbGVyLmJpbmQodGhpcyk7dD1bW2lbdFswXV0uZWxlbWVudCwiY2xpY2siLHRoaXMuYnV0dG9uVG9NaW5DbGljay5iaW5kKHRoaXMpXSxbaVt0WzFdXS5lbGVtZW50LCJjbGljayIsdGhpcy5idXR0b25Ub01heENsaWNrLmJpbmQodGhpcyldLFtyLCJjbGljayIsdGhpcy50cmFja0NsaWNrLmJpbmQodGhpcyldLFtuLCJtb3VzZWRvd24iLG9dLFtuLm93bmVyRG9jdW1lbnQsIm1vdXNlbW92ZSIsc10sW24ub3duZXJEb2N1bWVudCwibW91c2V1cCIsY11dLGUuaGFzVG91Y2gmJnQucHVzaChbbiwidG91Y2hzdGFydCIsb10sW24ub3duZXJEb2N1bWVudCwidG91Y2htb3ZlIixzXSxbbi5vd25lckRvY3VtZW50LCJ0b3VjaGVuZCIsY10pLHQuZm9yRWFjaCgoZnVuY3Rpb24odCl7YS5hcHBseShudWxsLHQpfSkpLHRoaXMuX2V2ZW50cz10fSx0LnByb3RvdHlwZS5idXR0b25Ub01heENsaWNrPWZ1bmN0aW9uKHQpe3ZhciBlPSh0aGlzLnRvLXRoaXMuZnJvbSkqZCh0aGlzLm9wdGlvbnMuc3RlcCwuMik7dGhpcy51cGRhdGVQb3NpdGlvbih0aGlzLmZyb20rZSx0aGlzLnRvK2UpLGwodGhpcywiY2hhbmdlZCIse2Zyb206dGhpcy5mcm9tLHRvOnRoaXMudG8sdHJpZ2dlcjoic2Nyb2xsYmFyIixET01FdmVudDp0fSl9LHQucHJvdG90eXBlLmJ1dHRvblRvTWluQ2xpY2s9ZnVuY3Rpb24odCl7dmFyIGU9cyh0aGlzLnRvLXRoaXMuZnJvbSkqZCh0aGlzLm9wdGlvbnMuc3RlcCwuMik7dGhpcy51cGRhdGVQb3NpdGlvbihzKHRoaXMuZnJvbS1lKSxzKHRoaXMudG8tZSkpLGwodGhpcywiY2hhbmdlZCIse2Zyb206dGhpcy5mcm9tLHRvOnRoaXMudG8sdHJpZ2dlcjoic2Nyb2xsYmFyIixET01FdmVudDp0fSl9LHQucHJvdG90eXBlLmN1cnNvclRvU2Nyb2xsYmFyUG9zaXRpb249ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5vcHRpb25zO3JldHVybiBlPWUubWluV2lkdGg+dGhpcy5jYWxjdWxhdGVkV2lkdGg/ZS5taW5XaWR0aDowLHtjaGFydFg6KHQuY2hhcnRYLXRoaXMueC10aGlzLnhPZmZzZXQpLyh0aGlzLmJhcldpZHRoLWUpLGNoYXJ0WToodC5jaGFydFktdGhpcy55LXRoaXMueU9mZnNldCkvKHRoaXMuYmFyV2lkdGgtZSl9fSx0LnByb3RvdHlwZS5kZXN0cm95PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuY2hhcnQuc2Nyb2xsZXI7dC5yZW1vdmVFdmVudHMoKSxbInRyYWNrIiwic2Nyb2xsYmFyUmlmbGVzIiwic2Nyb2xsYmFyIiwic2Nyb2xsYmFyR3JvdXAiLCJncm91cCJdLmZvckVhY2goKGZ1bmN0aW9uKGUpe3RbZV0mJnRbZV0uZGVzdHJveSYmKHRbZV09dFtlXS5kZXN0cm95KCkpfSkpLGUmJnQ9PT1lLnNjcm9sbGJhciYmKGUuc2Nyb2xsYmFyPW51bGwsaChlLnNjcm9sbGJhckJ1dHRvbnMpKX0sdC5wcm90b3R5cGUuZHJhd1Njcm9sbGJhckJ1dHRvbj1mdW5jdGlvbihlKXt2YXIgaT10aGlzLnJlbmRlcmVyLG49dGhpcy5zY3JvbGxiYXJCdXR0b25zLHI9dGhpcy5vcHRpb25zLG89dGhpcy5zaXplLGE9aS5nKCkuYWRkKHRoaXMuZ3JvdXApO24ucHVzaChhKSxhPWkucmVjdCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXNjcm9sbGJhci1idXR0b24iKS5hZGQoYSksdGhpcy5jaGFydC5zdHlsZWRNb2RlfHxhLmF0dHIoe3N0cm9rZTpyLmJ1dHRvbkJvcmRlckNvbG9yLCJzdHJva2Utd2lkdGgiOnIuYnV0dG9uQm9yZGVyV2lkdGgsZmlsbDpyLmJ1dHRvbkJhY2tncm91bmRDb2xvcn0pLGEuYXR0cihhLmNyaXNwKHt4Oi0uNSx5Oi0uNSx3aWR0aDpvKzEsaGVpZ2h0Om8rMSxyOnIuYnV0dG9uQm9yZGVyUmFkaXVzfSxhLnN0cm9rZVdpZHRoKCkpKSxhPWkucGF0aCh0LnN3YXBYWShbWyJNIixvLzIrKGU/LTE6MSksby8yLTNdLFsiTCIsby8yKyhlPy0xOjEpLG8vMiszXSxbIkwiLG8vMisoZT8yOi0yKSxvLzJdXSxyLnZlcnRpY2FsKSkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtc2Nyb2xsYmFyLWFycm93IikuYWRkKG5bZV0pLHRoaXMuY2hhcnQuc3R5bGVkTW9kZXx8YS5hdHRyKHtmaWxsOnIuYnV0dG9uQXJyb3dDb2xvcn0pfSx0LnByb3RvdHlwZS5pbml0PWZ1bmN0aW9uKHQsZSxpKXt0aGlzLnNjcm9sbGJhckJ1dHRvbnM9W10sdGhpcy5yZW5kZXJlcj10LHRoaXMudXNlck9wdGlvbnM9ZSx0aGlzLm9wdGlvbnM9cChuLG8uc2Nyb2xsYmFyLGUpLHRoaXMuY2hhcnQ9aSx0aGlzLnNpemU9ZCh0aGlzLm9wdGlvbnMuc2l6ZSx0aGlzLm9wdGlvbnMuaGVpZ2h0KSxlLmVuYWJsZWQmJih0aGlzLnJlbmRlcigpLHRoaXMuYWRkRXZlbnRzKCkpfSx0LnByb3RvdHlwZS5tb3VzZURvd25IYW5kbGVyPWZ1bmN0aW9uKHQpe3Q9dGhpcy5jaGFydC5wb2ludGVyLm5vcm1hbGl6ZSh0KSx0PXRoaXMuY3Vyc29yVG9TY3JvbGxiYXJQb3NpdGlvbih0KSx0aGlzLmNoYXJ0WD10LmNoYXJ0WCx0aGlzLmNoYXJ0WT10LmNoYXJ0WSx0aGlzLmluaXRQb3NpdGlvbnM9W3RoaXMuZnJvbSx0aGlzLnRvXSx0aGlzLmdyYWJiZWRDZW50ZXI9ITB9LHQucHJvdG90eXBlLm1vdXNlTW92ZUhhbmRsZXI9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcy5jaGFydC5wb2ludGVyLm5vcm1hbGl6ZSh0KSxpPXRoaXMub3B0aW9ucy52ZXJ0aWNhbD8iY2hhcnRZIjoiY2hhcnRYIixuPXRoaXMuaW5pdFBvc2l0aW9uc3x8W107IXRoaXMuZ3JhYmJlZENlbnRlcnx8dC50b3VjaGVzJiYwPT09dC50b3VjaGVzWzBdW2ldfHwoZT10aGlzLmN1cnNvclRvU2Nyb2xsYmFyUG9zaXRpb24oZSlbaV0saT10aGlzW2ldLGk9ZS1pLHRoaXMuaGFzRHJhZ2dlZD0hMCx0aGlzLnVwZGF0ZVBvc2l0aW9uKG5bMF0raSxuWzFdK2kpLHRoaXMuaGFzRHJhZ2dlZCYmbCh0aGlzLCJjaGFuZ2VkIix7ZnJvbTp0aGlzLmZyb20sdG86dGhpcy50byx0cmlnZ2VyOiJzY3JvbGxiYXIiLERPTVR5cGU6dC50eXBlLERPTUV2ZW50OnR9KSl9LHQucHJvdG90eXBlLm1vdXNlVXBIYW5kbGVyPWZ1bmN0aW9uKHQpe3RoaXMuaGFzRHJhZ2dlZCYmbCh0aGlzLCJjaGFuZ2VkIix7ZnJvbTp0aGlzLmZyb20sdG86dGhpcy50byx0cmlnZ2VyOiJzY3JvbGxiYXIiLERPTVR5cGU6dC50eXBlLERPTUV2ZW50OnR9KSx0aGlzLmdyYWJiZWRDZW50ZXI9dGhpcy5oYXNEcmFnZ2VkPXRoaXMuY2hhcnRYPXRoaXMuY2hhcnRZPW51bGx9LHQucHJvdG90eXBlLnBvc2l0aW9uPWZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByPXRoaXMub3B0aW9ucy52ZXJ0aWNhbCxvPXRoaXMucmVuZGVyZWQ/ImFuaW1hdGUiOiJhdHRyIixhPTA7dGhpcy54PXQsdGhpcy55PWUrdGhpcy50cmFja0JvcmRlcldpZHRoLHRoaXMud2lkdGg9aSx0aGlzLnhPZmZzZXQ9dGhpcy5oZWlnaHQ9bix0aGlzLnlPZmZzZXQ9YSxyPyh0aGlzLndpZHRoPXRoaXMueU9mZnNldD1pPWE9dGhpcy5zaXplLHRoaXMueE9mZnNldD1lPTAsdGhpcy5iYXJXaWR0aD1uLTIqaSx0aGlzLng9dCs9dGhpcy5vcHRpb25zLm1hcmdpbik6KHRoaXMuaGVpZ2h0PXRoaXMueE9mZnNldD1uPWU9dGhpcy5zaXplLHRoaXMuYmFyV2lkdGg9aS0yKm4sdGhpcy55Kz10aGlzLm9wdGlvbnMubWFyZ2luKSx0aGlzLmdyb3VwW29dKHt0cmFuc2xhdGVYOnQsdHJhbnNsYXRlWTp0aGlzLnl9KSx0aGlzLnRyYWNrW29dKHt3aWR0aDppLGhlaWdodDpufSksdGhpcy5zY3JvbGxiYXJCdXR0b25zWzFdW29dKHt0cmFuc2xhdGVYOnI/MDppLWUsdHJhbnNsYXRlWTpyP24tYTowfSl9LHQucHJvdG90eXBlLnJlbW92ZUV2ZW50cz1mdW5jdGlvbigpe3RoaXMuX2V2ZW50cy5mb3JFYWNoKChmdW5jdGlvbih0KXt1LmFwcGx5KG51bGwsdCl9KSksdGhpcy5fZXZlbnRzLmxlbmd0aD0wfSx0LnByb3RvdHlwZS5yZW5kZXI9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnJlbmRlcmVyLGk9dGhpcy5vcHRpb25zLG49dGhpcy5zaXplLHI9dGhpcy5jaGFydC5zdHlsZWRNb2RlLG89ZS5nKCJzY3JvbGxiYXIiKS5hdHRyKHt6SW5kZXg6aS56SW5kZXgsdHJhbnNsYXRlWTotOTk5OTl9KS5hZGQoKTt0aGlzLmdyb3VwPW8sdGhpcy50cmFjaz1lLnJlY3QoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1zY3JvbGxiYXItdHJhY2siKS5hdHRyKHt4OjAscjppLnRyYWNrQm9yZGVyUmFkaXVzfHwwLGhlaWdodDpuLHdpZHRoOm59KS5hZGQobykscnx8dGhpcy50cmFjay5hdHRyKHtmaWxsOmkudHJhY2tCYWNrZ3JvdW5kQ29sb3Isc3Ryb2tlOmkudHJhY2tCb3JkZXJDb2xvciwic3Ryb2tlLXdpZHRoIjppLnRyYWNrQm9yZGVyV2lkdGh9KSx0aGlzLnRyYWNrQm9yZGVyV2lkdGg9dGhpcy50cmFjay5zdHJva2VXaWR0aCgpLHRoaXMudHJhY2suYXR0cih7eTotdGhpcy50cmFja0JvcmRlcldpZHRoJTIvMn0pLHRoaXMuc2Nyb2xsYmFyR3JvdXA9ZS5nKCkuYWRkKG8pLHRoaXMuc2Nyb2xsYmFyPWUucmVjdCgpLmFkZENsYXNzKCJoaWdoY2hhcnRzLXNjcm9sbGJhci10aHVtYiIpLmF0dHIoe2hlaWdodDpuLHdpZHRoOm4scjppLmJhckJvcmRlclJhZGl1c3x8MH0pLmFkZCh0aGlzLnNjcm9sbGJhckdyb3VwKSx0aGlzLnNjcm9sbGJhclJpZmxlcz1lLnBhdGgodC5zd2FwWFkoW1siTSIsLTMsbi80XSxbIkwiLC0zLDIqbi8zXSxbIk0iLDAsbi80XSxbIkwiLDAsMipuLzNdLFsiTSIsMyxuLzRdLFsiTCIsMywyKm4vM11dLGkudmVydGljYWwpKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1zY3JvbGxiYXItcmlmbGVzIikuYWRkKHRoaXMuc2Nyb2xsYmFyR3JvdXApLHJ8fCh0aGlzLnNjcm9sbGJhci5hdHRyKHtmaWxsOmkuYmFyQmFja2dyb3VuZENvbG9yLHN0cm9rZTppLmJhckJvcmRlckNvbG9yLCJzdHJva2Utd2lkdGgiOmkuYmFyQm9yZGVyV2lkdGh9KSx0aGlzLnNjcm9sbGJhclJpZmxlcy5hdHRyKHtzdHJva2U6aS5yaWZsZUNvbG9yLCJzdHJva2Utd2lkdGgiOjF9KSksdGhpcy5zY3JvbGxiYXJTdHJva2VXaWR0aD10aGlzLnNjcm9sbGJhci5zdHJva2VXaWR0aCgpLHRoaXMuc2Nyb2xsYmFyR3JvdXAudHJhbnNsYXRlKC10aGlzLnNjcm9sbGJhclN0cm9rZVdpZHRoJTIvMiwtdGhpcy5zY3JvbGxiYXJTdHJva2VXaWR0aCUyLzIpLHRoaXMuZHJhd1Njcm9sbGJhckJ1dHRvbigwKSx0aGlzLmRyYXdTY3JvbGxiYXJCdXR0b24oMSl9LHQucHJvdG90eXBlLnNldFJhbmdlPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5vcHRpb25zLG49aS52ZXJ0aWNhbCxyPWkubWluV2lkdGgsbz10aGlzLmJhcldpZHRoLGE9IXRoaXMucmVuZGVyZWR8fHRoaXMuaGFzRHJhZ2dlZHx8dGhpcy5jaGFydC5uYXZpZ2F0b3ImJnRoaXMuY2hhcnQubmF2aWdhdG9yLmhhc0RyYWdnZWQ/ImF0dHIiOiJhbmltYXRlIjtpZihjKG8pKXt2YXIgaD1vKk1hdGgubWluKGUsMSk7dD1NYXRoLm1heCh0LDApO3ZhciBsPU1hdGguY2VpbChvKnQpO3RoaXMuY2FsY3VsYXRlZFdpZHRoPWg9cyhoLWwpLGg8ciYmKGw9KG8tcitoKSp0LGg9cikscj1NYXRoLmZsb29yKGwrdGhpcy54T2Zmc2V0K3RoaXMueU9mZnNldCksbz1oLzItLjUsdGhpcy5mcm9tPXQsdGhpcy50bz1lLG4/KHRoaXMuc2Nyb2xsYmFyR3JvdXBbYV0oe3RyYW5zbGF0ZVk6cn0pLHRoaXMuc2Nyb2xsYmFyW2FdKHtoZWlnaHQ6aH0pLHRoaXMuc2Nyb2xsYmFyUmlmbGVzW2FdKHt0cmFuc2xhdGVZOm99KSx0aGlzLnNjcm9sbGJhclRvcD1yLHRoaXMuc2Nyb2xsYmFyTGVmdD0wKToodGhpcy5zY3JvbGxiYXJHcm91cFthXSh7dHJhbnNsYXRlWDpyfSksdGhpcy5zY3JvbGxiYXJbYV0oe3dpZHRoOmh9KSx0aGlzLnNjcm9sbGJhclJpZmxlc1thXSh7dHJhbnNsYXRlWDpvfSksdGhpcy5zY3JvbGxiYXJMZWZ0PXIsdGhpcy5zY3JvbGxiYXJUb3A9MCksMTI+PWg/dGhpcy5zY3JvbGxiYXJSaWZsZXMuaGlkZSgpOnRoaXMuc2Nyb2xsYmFyUmlmbGVzLnNob3coITApLCExPT09aS5zaG93RnVsbCYmKDA+PXQmJjE8PWU/dGhpcy5ncm91cC5oaWRlKCk6dGhpcy5ncm91cC5zaG93KCkpLHRoaXMucmVuZGVyZWQ9ITB9fSx0LnByb3RvdHlwZS5zaG91bGRVcGRhdGVFeHRyZW1lcz1mdW5jdGlvbih0KXtyZXR1cm4gZCh0aGlzLm9wdGlvbnMubGl2ZVJlZHJhdyxlLnN2ZyYmIWUuaXNUb3VjaERldmljZSYmIXRoaXMuY2hhcnQuaXNCb29zdGluZyl8fCJtb3VzZXVwIj09PXR8fCJ0b3VjaGVuZCI9PT10fHwhYyh0KX0sdC5wcm90b3R5cGUudHJhY2tDbGljaz1mdW5jdGlvbih0KXt2YXIgZT10aGlzLmNoYXJ0LnBvaW50ZXIubm9ybWFsaXplKHQpLGk9dGhpcy50by10aGlzLmZyb20sbj10aGlzLnkrdGhpcy5zY3JvbGxiYXJUb3Ascj10aGlzLngrdGhpcy5zY3JvbGxiYXJMZWZ0O3RoaXMub3B0aW9ucy52ZXJ0aWNhbCYmZS5jaGFydFk+bnx8IXRoaXMub3B0aW9ucy52ZXJ0aWNhbCYmZS5jaGFydFg+cj90aGlzLnVwZGF0ZVBvc2l0aW9uKHRoaXMuZnJvbStpLHRoaXMudG8raSk6dGhpcy51cGRhdGVQb3NpdGlvbih0aGlzLmZyb20taSx0aGlzLnRvLWkpLGwodGhpcywiY2hhbmdlZCIse2Zyb206dGhpcy5mcm9tLHRvOnRoaXMudG8sdHJpZ2dlcjoic2Nyb2xsYmFyIixET01FdmVudDp0fSl9LHQucHJvdG90eXBlLnVwZGF0ZT1mdW5jdGlvbih0KXt0aGlzLmRlc3Ryb3koKSx0aGlzLmluaXQodGhpcy5jaGFydC5yZW5kZXJlcixwKCEwLHRoaXMub3B0aW9ucyx0KSx0aGlzLmNoYXJ0KX0sdC5wcm90b3R5cGUudXBkYXRlUG9zaXRpb249ZnVuY3Rpb24odCxlKXsxPGUmJih0PXMoMS1zKGUtdCkpLGU9MSksMD50JiYoZT1zKGUtdCksdD0wKSx0aGlzLmZyb209dCx0aGlzLnRvPWV9LHQuZGVmYXVsdE9wdGlvbnM9bix0fSgpLG8uc2Nyb2xsYmFyPXAoITAsdC5kZWZhdWx0T3B0aW9ucyxvLnNjcm9sbGJhciksdH0pKSxlKGksIkNvcmUvQXhpcy9OYXZpZ2F0b3JBeGlzLmpzIixbaVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSl7dmFyIGk9dC5pc1RvdWNoRGV2aWNlLG49ZS5hZGRFdmVudCxyPWUuY29ycmVjdEZsb2F0LG89ZS5kZWZpbmVkLGE9ZS5pc051bWJlcixzPWUucGljayxjPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdCh0KXt0aGlzLmF4aXM9dH1yZXR1cm4gdC5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3RoaXMuYXhpcz12b2lkIDB9LHQucHJvdG90eXBlLnRvRml4ZWRSYW5nZT1mdW5jdGlvbih0LGUsaSxuKXt2YXIgYz10aGlzLmF4aXMsaD1jLmNoYXJ0O2g9aCYmaC5maXhlZFJhbmdlO3ZhciBsPShjLnBvaW50UmFuZ2V8fDApLzI7cmV0dXJuIHQ9cyhpLGMudHJhbnNsYXRlKHQsITAsIWMuaG9yaXopKSxlPXMobixjLnRyYW5zbGF0ZShlLCEwLCFjLmhvcml6KSksYz1oJiYoZS10KS9oLG8oaSl8fCh0PXIodCtsKSksbyhuKXx8KGU9cihlLWwpKSwuNzxjJiYxLjM+YyYmKG4/dD1lLWg6ZT10K2gpLGEodCkmJmEoZSl8fCh0PWU9dm9pZCAwKSx7bWluOnQsbWF4OmV9fSx0fSgpO3JldHVybiBmdW5jdGlvbigpe2Z1bmN0aW9uIHQoKXt9cmV0dXJuIHQuY29tcG9zZT1mdW5jdGlvbih0KXt0LmtlZXBQcm9wcy5wdXNoKCJuYXZpZ2F0b3JBeGlzIiksbih0LCJpbml0IiwoZnVuY3Rpb24oKXt0aGlzLm5hdmlnYXRvckF4aXN8fCh0aGlzLm5hdmlnYXRvckF4aXM9bmV3IGModGhpcykpfSkpLG4odCwiem9vbSIsKGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQub3B0aW9ucyxuPWUubmF2aWdhdG9yLHI9dGhpcy5uYXZpZ2F0b3JBeGlzLGE9ZS5jaGFydC5waW5jaFR5cGUscz1lLnJhbmdlU2VsZWN0b3I7ZT1lLmNoYXJ0Lnpvb21UeXBlLHRoaXMuaXNYQXhpcyYmKG4mJm4uZW5hYmxlZHx8cyYmcy5lbmFibGVkKSYmKCJ5Ij09PWU/dC56b29tZWQ9ITE6KCFpJiYieHkiPT09ZXx8aSYmInh5Ij09PWEpJiZ0aGlzLm9wdGlvbnMucmFuZ2UmJihuPXIucHJldmlvdXNab29tLG8odC5uZXdNaW4pP3IucHJldmlvdXNab29tPVt0aGlzLm1pbix0aGlzLm1heF06biYmKHQubmV3TWluPW5bMF0sdC5uZXdNYXg9blsxXSxyLnByZXZpb3VzWm9vbT12b2lkIDApKSksInVuZGVmaW5lZCIhPT10eXBlb2YgdC56b29tZWQmJnQucHJldmVudERlZmF1bHQoKX0pKX0sdC5BZGRpdGlvbnNDbGFzcz1jLHR9KCl9KSksZShpLCJDb3JlL05hdmlnYXRvci5qcyIsW2lbIkNvcmUvQXhpcy9BeGlzLmpzIl0saVsiQ29yZS9DaGFydC9DaGFydC5qcyJdLGlbIkNvcmUvQ29sb3IvQ29sb3IuanMiXSxpWyJDb3JlL0dsb2JhbHMuanMiXSxpWyJDb3JlL0F4aXMvTmF2aWdhdG9yQXhpcy5qcyJdLGlbIkNvcmUvRGVmYXVsdE9wdGlvbnMuanMiXSxpWyJDb3JlL1JlbmRlcmVyL1JlbmRlcmVyUmVnaXN0cnkuanMiXSxpWyJDb3JlL1Njcm9sbGJhci5qcyJdLGlbIkNvcmUvU2VyaWVzL1Nlcmllcy5qcyJdLGlbIkNvcmUvU2VyaWVzL1Nlcmllc1JlZ2lzdHJ5LmpzIl0saVsiQ29yZS9VdGlsaXRpZXMuanMiXV0sKGZ1bmN0aW9uKHQsZSxpLG4scixvLGEscyxjLGgsbCl7aT1pLnBhcnNlO3ZhciBwPW4uaGFzVG91Y2gsZD1uLmlzVG91Y2hEZXZpY2UsdT1vLmRlZmF1bHRPcHRpb25zLGY9bC5hZGRFdmVudCxtPWwuY2xhbXAsZz1sLmNvcnJlY3RGbG9hdCx2PWwuZGVmaW5lZCx5PWwuZGVzdHJveU9iamVjdFByb3BlcnRpZXMsXz1sLmVyYXNlLGI9bC5leHRlbmQseD1sLmZpbmQsdz1sLmlzQXJyYXksaz1sLmlzTnVtYmVyLEM9bC5tZXJnZSxTPWwucGljayxBPWwucmVtb3ZlRXZlbnQsTT1sLnNwbGF0LFA9ZnVuY3Rpb24odCl7Zm9yKHZhciBlPVtdLGk9MTtpPGFyZ3VtZW50cy5sZW5ndGg7aSsrKWVbaS0xXT1hcmd1bWVudHNbaV07aWYoZT1bXS5maWx0ZXIuY2FsbChlLGspLGUubGVuZ3RoKXJldHVybiBNYXRoW3RdLmFwcGx5KDAsZSl9O289InVuZGVmaW5lZCI9PT10eXBlb2YgaC5zZXJpZXNUeXBlcy5hcmVhc3BsaW5lPyJsaW5lIjoiYXJlYXNwbGluZSIsYih1LHtuYXZpZ2F0b3I6e2hlaWdodDo0MCxtYXJnaW46MjUsbWFza0luc2lkZTohMCxoYW5kbGVzOnt3aWR0aDo3LGhlaWdodDoxNSxzeW1ib2xzOlsibmF2aWdhdG9yLWhhbmRsZSIsIm5hdmlnYXRvci1oYW5kbGUiXSxlbmFibGVkOiEwLGxpbmVXaWR0aDoxLGJhY2tncm91bmRDb2xvcjoiI2YyZjJmMiIsYm9yZGVyQ29sb3I6IiM5OTk5OTkifSxtYXNrRmlsbDppKCIjNjY4NWMyIikuc2V0T3BhY2l0eSguMykuZ2V0KCksb3V0bGluZUNvbG9yOiIjY2NjY2NjIixvdXRsaW5lV2lkdGg6MSxzZXJpZXM6e3R5cGU6byxmaWxsT3BhY2l0eTouMDUsbGluZVdpZHRoOjEsY29tcGFyZTpudWxsLGRhdGFHcm91cGluZzp7YXBwcm94aW1hdGlvbjoiYXZlcmFnZSIsZW5hYmxlZDohMCxncm91cFBpeGVsV2lkdGg6MixmaXJzdEFuY2hvcjoiZmlyc3RQb2ludCIsYW5jaG9yOiJtaWRkbGUiLGxhc3RBbmNob3I6Imxhc3RQb2ludCIsdW5pdHM6W1sibWlsbGlzZWNvbmQiLFsxLDIsNSwxMCwyMCwyNSw1MCwxMDAsMjAwLDUwMF1dLFsic2Vjb25kIixbMSwyLDUsMTAsMTUsMzBdXSxbIm1pbnV0ZSIsWzEsMiw1LDEwLDE1LDMwXV0sWyJob3VyIixbMSwyLDMsNCw2LDgsMTJdXSxbImRheSIsWzEsMiwzLDRdXSxbIndlZWsiLFsxLDIsM11dLFsibW9udGgiLFsxLDMsNl1dLFsieWVhciIsbnVsbF1dfSxkYXRhTGFiZWxzOntlbmFibGVkOiExLHpJbmRleDoyfSxpZDoiaGlnaGNoYXJ0cy1uYXZpZ2F0b3Itc2VyaWVzIixjbGFzc05hbWU6ImhpZ2hjaGFydHMtbmF2aWdhdG9yLXNlcmllcyIsbGluZUNvbG9yOm51bGwsbWFya2VyOntlbmFibGVkOiExfSx0aHJlc2hvbGQ6bnVsbH0seEF4aXM6e292ZXJzY3JvbGw6MCxjbGFzc05hbWU6ImhpZ2hjaGFydHMtbmF2aWdhdG9yLXhheGlzIix0aWNrTGVuZ3RoOjAsbGluZVdpZHRoOjAsZ3JpZExpbmVDb2xvcjoiI2U2ZTZlNiIsZ3JpZExpbmVXaWR0aDoxLHRpY2tQaXhlbEludGVydmFsOjIwMCxsYWJlbHM6e2FsaWduOiJsZWZ0IixzdHlsZTp7Y29sb3I6IiM5OTk5OTkifSx4OjMseTotNH0sY3Jvc3NoYWlyOiExfSx5QXhpczp7Y2xhc3NOYW1lOiJoaWdoY2hhcnRzLW5hdmlnYXRvci15YXhpcyIsZ3JpZExpbmVXaWR0aDowLHN0YXJ0T25UaWNrOiExLGVuZE9uVGljazohMSxtaW5QYWRkaW5nOi4xLG1heFBhZGRpbmc6LjEsbGFiZWxzOntlbmFibGVkOiExfSxjcm9zc2hhaXI6ITEsdGl0bGU6e3RleHQ6bnVsbH0sdGlja0xlbmd0aDowLHRpY2tXaWR0aDowfX19KSxhLmdldFJlbmRlcmVyVHlwZSgpLnByb3RvdHlwZS5zeW1ib2xzWyJuYXZpZ2F0b3ItaGFuZGxlIl09ZnVuY3Rpb24odCxlLGksbixyKXtyZXR1cm4gdD0ociYmci53aWR0aHx8MCkvMixlPU1hdGgucm91bmQodC8zKSsuNSxyPXImJnIuaGVpZ2h0fHwwLFtbIk0iLC10LTEsLjVdLFsiTCIsdCwuNV0sWyJMIix0LHIrLjVdLFsiTCIsLXQtMSxyKy41XSxbIkwiLC10LTEsLjVdLFsiTSIsLWUsNF0sWyJMIiwtZSxyLTNdLFsiTSIsZS0xLDRdLFsiTCIsZS0xLHItM11dfTt2YXIgTz1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCl7dGhpcy56b29tZWRNaW49dGhpcy56b29tZWRNYXg9dGhpcy55QXhpcz10aGlzLnhBeGlzPXRoaXMudG9wPXRoaXMuc2l6ZT10aGlzLnNoYWRlcz10aGlzLnJlbmRlcmVkPXRoaXMucmFuZ2U9dGhpcy5vdXRsaW5lSGVpZ2h0PXRoaXMub3V0bGluZT10aGlzLm9wcG9zaXRlPXRoaXMubmF2aWdhdG9yU2l6ZT10aGlzLm5hdmlnYXRvclNlcmllcz10aGlzLm5hdmlnYXRvck9wdGlvbnM9dGhpcy5uYXZpZ2F0b3JHcm91cD10aGlzLm5hdmlnYXRvckVuYWJsZWQ9dGhpcy5sZWZ0PXRoaXMuaGVpZ2h0PXRoaXMuaGFuZGxlcz10aGlzLmNoYXJ0PXRoaXMuYmFzZVNlcmllcz12b2lkIDAsdGhpcy5pbml0KHQpfXJldHVybiBlLnByb3RvdHlwZS5kcmF3SGFuZGxlPWZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByPXRoaXMubmF2aWdhdG9yT3B0aW9ucy5oYW5kbGVzLmhlaWdodDt0aGlzLmhhbmRsZXNbZV1bbl0oaT97dHJhbnNsYXRlWDpNYXRoLnJvdW5kKHRoaXMubGVmdCt0aGlzLmhlaWdodC8yKSx0cmFuc2xhdGVZOk1hdGgucm91bmQodGhpcy50b3ArcGFyc2VJbnQodCwxMCkrLjUtcil9Ont0cmFuc2xhdGVYOk1hdGgucm91bmQodGhpcy5sZWZ0K3BhcnNlSW50KHQsMTApKSx0cmFuc2xhdGVZOk1hdGgucm91bmQodGhpcy50b3ArdGhpcy5oZWlnaHQvMi1yLzItMSl9KX0sZS5wcm90b3R5cGUuZHJhd091dGxpbmU9ZnVuY3Rpb24odCxlLGksbil7dmFyIHI9dGhpcy5uYXZpZ2F0b3JPcHRpb25zLm1hc2tJbnNpZGUsbz10aGlzLm91dGxpbmUuc3Ryb2tlV2lkdGgoKSxhPW8vMixzPW8lMi8yO289dGhpcy5vdXRsaW5lSGVpZ2h0O3ZhciBjPXRoaXMuc2Nyb2xsYmFySGVpZ2h0fHwwLGg9dGhpcy5zaXplLGw9dGhpcy5sZWZ0LWMscD10aGlzLnRvcDtpPyhsLT1hLGk9cCtlK3MsZT1wK3QrcyxzPVtbIk0iLGwrbyxwLWMtc10sWyJMIixsK28saV0sWyJMIixsLGldLFsiTCIsbCxlXSxbIkwiLGwrbyxlXSxbIkwiLGwrbyxwK2grY11dLHImJnMucHVzaChbIk0iLGwrbyxpLWFdLFsiTCIsbCtvLGUrYV0pKToodCs9bCtjLXMsZSs9bCtjLXMscCs9YSxzPVtbIk0iLGwscF0sWyJMIix0LHBdLFsiTCIsdCxwK29dLFsiTCIsZSxwK29dLFsiTCIsZSxwXSxbIkwiLGwraCsyKmMscF1dLHImJnMucHVzaChbIk0iLHQtYSxwXSxbIkwiLGUrYSxwXSkpLHRoaXMub3V0bGluZVtuXSh7ZDpzfSl9LGUucHJvdG90eXBlLmRyYXdNYXNrcz1mdW5jdGlvbih0LGUsaSxuKXt2YXIgcj10aGlzLmxlZnQsbz10aGlzLnRvcCxhPXRoaXMuaGVpZ2h0O2lmKGkpdmFyIHM9W3IscixyXSxjPVtvLG8rdCxvK2VdLGg9W2EsYSxhXSxsPVt0LGUtdCx0aGlzLnNpemUtZV07ZWxzZSBzPVtyLHIrdCxyK2VdLGM9W28sbyxvXSxoPVt0LGUtdCx0aGlzLnNpemUtZV0sbD1bYSxhLGFdO3RoaXMuc2hhZGVzLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7dFtuXSh7eDpzW2VdLHk6Y1tlXSx3aWR0aDpoW2VdLGhlaWdodDpsW2VdfSl9KSl9LGUucHJvdG90eXBlLnJlbmRlckVsZW1lbnRzPWZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLGk9ZS5uYXZpZ2F0b3JPcHRpb25zLG49aS5tYXNrSW5zaWRlLHI9ZS5jaGFydCxvPXIucmVuZGVyZXIsYT17Y3Vyc29yOnIuaW52ZXJ0ZWQ/Im5zLXJlc2l6ZSI6ImV3LXJlc2l6ZSJ9O2UubmF2aWdhdG9yR3JvdXA9dD1vLmcoIm5hdmlnYXRvciIpLmF0dHIoe3pJbmRleDo4LHZpc2liaWxpdHk6ImhpZGRlbiJ9KS5hZGQoKSxbIW4sbiwhbl0uZm9yRWFjaCgoZnVuY3Rpb24obixzKXtlLnNoYWRlc1tzXT1vLnJlY3QoKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1uYXZpZ2F0b3ItbWFzayIrKDE9PT1zPyItaW5zaWRlIjoiLW91dHNpZGUiKSkuYWRkKHQpLHIuc3R5bGVkTW9kZXx8ZS5zaGFkZXNbc10uYXR0cih7ZmlsbDpuP2kubWFza0ZpbGw6InJnYmEoMCwwLDAsMCkifSkuY3NzKDE9PT1zJiZhKX0pKSxlLm91dGxpbmU9by5wYXRoKCkuYWRkQ2xhc3MoImhpZ2hjaGFydHMtbmF2aWdhdG9yLW91dGxpbmUiKS5hZGQodCksci5zdHlsZWRNb2RlfHxlLm91dGxpbmUuYXR0cih7InN0cm9rZS13aWR0aCI6aS5vdXRsaW5lV2lkdGgsc3Ryb2tlOmkub3V0bGluZUNvbG9yfSksaS5oYW5kbGVzLmVuYWJsZWQmJlswLDFdLmZvckVhY2goKGZ1bmN0aW9uKG4pe2lmKGkuaGFuZGxlcy5pbnZlcnRlZD1yLmludmVydGVkLGUuaGFuZGxlc1tuXT1vLnN5bWJvbChpLmhhbmRsZXMuc3ltYm9sc1tuXSwtaS5oYW5kbGVzLndpZHRoLzItMSwwLGkuaGFuZGxlcy53aWR0aCxpLmhhbmRsZXMuaGVpZ2h0LGkuaGFuZGxlcyksZS5oYW5kbGVzW25dLmF0dHIoe3pJbmRleDo3LW59KS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1uYXZpZ2F0b3ItaGFuZGxlIGhpZ2hjaGFydHMtbmF2aWdhdG9yLWhhbmRsZS0iK1sibGVmdCIsInJpZ2h0Il1bbl0pLmFkZCh0KSwhci5zdHlsZWRNb2RlKXt2YXIgcz1pLmhhbmRsZXM7ZS5oYW5kbGVzW25dLmF0dHIoe2ZpbGw6cy5iYWNrZ3JvdW5kQ29sb3Isc3Ryb2tlOnMuYm9yZGVyQ29sb3IsInN0cm9rZS13aWR0aCI6cy5saW5lV2lkdGh9KS5jc3MoYSl9fSkpfSxlLnByb3RvdHlwZS51cGRhdGU9ZnVuY3Rpb24odCl7KHRoaXMuc2VyaWVzfHxbXSkuZm9yRWFjaCgoZnVuY3Rpb24odCl7dC5iYXNlU2VyaWVzJiZkZWxldGUgdC5iYXNlU2VyaWVzLm5hdmlnYXRvclNlcmllc30pKSx0aGlzLmRlc3Ryb3koKSxDKCEwLHRoaXMuY2hhcnQub3B0aW9ucy5uYXZpZ2F0b3IsdGhpcy5vcHRpb25zLHQpLHRoaXMuaW5pdCh0aGlzLmNoYXJ0KX0sZS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQsZSxpLG4pe3ZhciByLG8sYT10aGlzLmNoYXJ0LHM9dGhpcy5zY3JvbGxiYXJIZWlnaHQsYz10aGlzLnhBeGlzLGg9Yy5wb2ludFJhbmdlfHwwLGw9Yy5uYXZpZ2F0b3JBeGlzLmZha2U/YS54QXhpc1swXTpjLHA9dGhpcy5uYXZpZ2F0b3JFbmFibGVkLGQ9dGhpcy5yZW5kZXJlZCx1PWEuaW52ZXJ0ZWQsZj1hLnhBeGlzWzBdLm1pblJhbmdlLHk9YS54QXhpc1swXS5vcHRpb25zLm1heFJhbmdlO2lmKCF0aGlzLmhhc0RyYWdnZWR8fHYoaSkpe2lmKHQ9Zyh0LWgvMiksZT1nKGUraC8yKSwhayh0KXx8IWsoZSkpe2lmKCFkKXJldHVybjtpPTAsbj1TKGMud2lkdGgsbC53aWR0aCl9dGhpcy5sZWZ0PVMoYy5sZWZ0LGEucGxvdExlZnQrcysodT9hLnBsb3RXaWR0aDowKSksdGhpcy5zaXplPW89cj1TKGMubGVuLCh1P2EucGxvdEhlaWdodDphLnBsb3RXaWR0aCktMipzKSxhPXU/czpyKzIqcyxpPVMoaSxjLnRvUGl4ZWxzKHQsITApKSxuPVMobixjLnRvUGl4ZWxzKGUsITApKSxrKGkpJiYxLzAhPT1NYXRoLmFicyhpKXx8KGk9MCxuPWEpLHQ9Yy50b1ZhbHVlKGksITApLGU9Yy50b1ZhbHVlKG4sITApO3ZhciBfPU1hdGguYWJzKGcoZS10KSk7XzxmP3RoaXMuZ3JhYmJlZExlZnQ/aT1jLnRvUGl4ZWxzKGUtZi1oLCEwKTp0aGlzLmdyYWJiZWRSaWdodCYmKG49Yy50b1BpeGVscyh0K2YraCwhMCkpOnYoeSkmJmcoXy1oKT55JiYodGhpcy5ncmFiYmVkTGVmdD9pPWMudG9QaXhlbHMoZS15LWgsITApOnRoaXMuZ3JhYmJlZFJpZ2h0JiYobj1jLnRvUGl4ZWxzKHQreStoLCEwKSkpLHRoaXMuem9vbWVkTWF4PW0oTWF0aC5tYXgoaSxuKSwwLG8pLHRoaXMuem9vbWVkTWluPW0odGhpcy5maXhlZFdpZHRoP3RoaXMuem9vbWVkTWF4LXRoaXMuZml4ZWRXaWR0aDpNYXRoLm1pbihpLG4pLDAsbyksdGhpcy5yYW5nZT10aGlzLnpvb21lZE1heC10aGlzLnpvb21lZE1pbixvPU1hdGgucm91bmQodGhpcy56b29tZWRNYXgpLGk9TWF0aC5yb3VuZCh0aGlzLnpvb21lZE1pbikscCYmKHRoaXMubmF2aWdhdG9yR3JvdXAuYXR0cih7dmlzaWJpbGl0eToidmlzaWJsZSJ9KSxkPWQmJiF0aGlzLmhhc0RyYWdnZWQ/ImFuaW1hdGUiOiJhdHRyIix0aGlzLmRyYXdNYXNrcyhpLG8sdSxkKSx0aGlzLmRyYXdPdXRsaW5lKGksbyx1LGQpLHRoaXMubmF2aWdhdG9yT3B0aW9ucy5oYW5kbGVzLmVuYWJsZWQmJih0aGlzLmRyYXdIYW5kbGUoaSwwLHUsZCksdGhpcy5kcmF3SGFuZGxlKG8sMSx1LGQpKSksdGhpcy5zY3JvbGxiYXImJih1Pyh1PXRoaXMudG9wLXMsbD10aGlzLmxlZnQtcysocHx8IWwub3Bwb3NpdGU/MDoobC50aXRsZU9mZnNldHx8MCkrbC5heGlzVGl0bGVNYXJnaW4pLHM9cisyKnMpOih1PXRoaXMudG9wKyhwP3RoaXMuaGVpZ2h0Oi1zKSxsPXRoaXMubGVmdC1zKSx0aGlzLnNjcm9sbGJhci5wb3NpdGlvbihsLHUsYSxzKSx0aGlzLnNjcm9sbGJhci5zZXRSYW5nZSh0aGlzLnpvb21lZE1pbi8ocnx8MSksdGhpcy56b29tZWRNYXgvKHJ8fDEpKSksdGhpcy5yZW5kZXJlZD0hMH19LGUucHJvdG90eXBlLmFkZE1vdXNlRXZlbnRzPWZ1bmN0aW9uKCl7dmFyIHQsZSxpPXRoaXMsbj1pLmNoYXJ0LHI9bi5jb250YWluZXIsbz1bXTtpLm1vdXNlTW92ZUhhbmRsZXI9dD1mdW5jdGlvbih0KXtpLm9uTW91c2VNb3ZlKHQpfSxpLm1vdXNlVXBIYW5kbGVyPWU9ZnVuY3Rpb24odCl7aS5vbk1vdXNlVXAodCl9LG89aS5nZXRQYXJ0c0V2ZW50cygibW91c2Vkb3duIiksby5wdXNoKGYobi5yZW5kZXJUbywibW91c2Vtb3ZlIix0KSxmKHIub3duZXJEb2N1bWVudCwibW91c2V1cCIsZSkpLHAmJihvLnB1c2goZihuLnJlbmRlclRvLCJ0b3VjaG1vdmUiLHQpLGYoci5vd25lckRvY3VtZW50LCJ0b3VjaGVuZCIsZSkpLG8uY29uY2F0KGkuZ2V0UGFydHNFdmVudHMoInRvdWNoc3RhcnQiKSkpLGkuZXZlbnRzVG9VbmJpbmQ9byxpLnNlcmllcyYmaS5zZXJpZXNbMF0mJm8ucHVzaChmKGkuc2VyaWVzWzBdLnhBeGlzLCJmb3VuZEV4dHJlbWVzIiwoZnVuY3Rpb24oKXtuLm5hdmlnYXRvci5tb2RpZnlOYXZpZ2F0b3JBeGlzRXh0cmVtZXMoKX0pKSl9LGUucHJvdG90eXBlLmdldFBhcnRzRXZlbnRzPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsaT1bXTtyZXR1cm5bInNoYWRlcyIsImhhbmRsZXMiXS5mb3JFYWNoKChmdW5jdGlvbihuKXtlW25dLmZvckVhY2goKGZ1bmN0aW9uKHIsbyl7aS5wdXNoKGYoci5lbGVtZW50LHQsKGZ1bmN0aW9uKHQpe2VbbisiTW91c2Vkb3duIl0odCxvKX0pKSl9KSl9KSksaX0sZS5wcm90b3R5cGUuc2hhZGVzTW91c2Vkb3duPWZ1bmN0aW9uKHQsZSl7dD10aGlzLmNoYXJ0LnBvaW50ZXIubm9ybWFsaXplKHQpO3ZhciBpPXRoaXMuY2hhcnQsbj10aGlzLnhBeGlzLHI9dGhpcy56b29tZWRNaW4sbz10aGlzLmxlZnQsYT10aGlzLnNpemUscz10aGlzLnJhbmdlLGM9dC5jaGFydFg7aWYoaS5pbnZlcnRlZCYmKGM9dC5jaGFydFksbz10aGlzLnRvcCksMT09PWUpdGhpcy5ncmFiYmVkQ2VudGVyPWMsdGhpcy5maXhlZFdpZHRoPXMsdGhpcy5kcmFnT2Zmc2V0PWMtcjtlbHNle2lmKHQ9Yy1vLXMvMiwwPT09ZSl0PU1hdGgubWF4KDAsdCk7ZWxzZSBpZigyPT09ZSYmdCtzPj1hKWlmKHQ9YS1zLHRoaXMucmV2ZXJzZWRFeHRyZW1lcyl7dC09czt2YXIgaD10aGlzLmdldFVuaW9uRXh0cmVtZXMoKS5kYXRhTWlufWVsc2UgdmFyIGw9dGhpcy5nZXRVbmlvbkV4dHJlbWVzKCkuZGF0YU1heDt0IT09ciYmKHRoaXMuZml4ZWRXaWR0aD1zLGU9bi5uYXZpZ2F0b3JBeGlzLnRvRml4ZWRSYW5nZSh0LHQrcyxoLGwpLHYoZS5taW4pJiZpLnhBeGlzWzBdLnNldEV4dHJlbWVzKE1hdGgubWluKGUubWluLGUubWF4KSxNYXRoLm1heChlLm1pbixlLm1heCksITAsbnVsbCx7dHJpZ2dlcjoibmF2aWdhdG9yIn0pKX19LGUucHJvdG90eXBlLmhhbmRsZXNNb3VzZWRvd249ZnVuY3Rpb24odCxlKXt0aGlzLmNoYXJ0LnBvaW50ZXIubm9ybWFsaXplKHQpLHQ9dGhpcy5jaGFydDt2YXIgaT10LnhBeGlzWzBdLG49dGhpcy5yZXZlcnNlZEV4dHJlbWVzOzA9PT1lPyh0aGlzLmdyYWJiZWRMZWZ0PSEwLHRoaXMub3RoZXJIYW5kbGVQb3M9dGhpcy56b29tZWRNYXgsdGhpcy5maXhlZEV4dHJlbWU9bj9pLm1pbjppLm1heCk6KHRoaXMuZ3JhYmJlZFJpZ2h0PSEwLHRoaXMub3RoZXJIYW5kbGVQb3M9dGhpcy56b29tZWRNaW4sdGhpcy5maXhlZEV4dHJlbWU9bj9pLm1heDppLm1pbiksdC5maXhlZFJhbmdlPW51bGx9LGUucHJvdG90eXBlLm9uTW91c2VNb3ZlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMsaT1lLmNoYXJ0LHI9ZS5sZWZ0LG89ZS5uYXZpZ2F0b3JTaXplLGE9ZS5yYW5nZSxzPWUuZHJhZ09mZnNldCxjPWkuaW52ZXJ0ZWQ7dC50b3VjaGVzJiYwPT09dC50b3VjaGVzWzBdLnBhZ2VYfHwodD1pLnBvaW50ZXIubm9ybWFsaXplKHQpLGk9dC5jaGFydFgsYyYmKHI9ZS50b3AsaT10LmNoYXJ0WSksZS5ncmFiYmVkTGVmdD8oZS5oYXNEcmFnZ2VkPSEwLGUucmVuZGVyKDAsMCxpLXIsZS5vdGhlckhhbmRsZVBvcykpOmUuZ3JhYmJlZFJpZ2h0PyhlLmhhc0RyYWdnZWQ9ITAsZS5yZW5kZXIoMCwwLGUub3RoZXJIYW5kbGVQb3MsaS1yKSk6ZS5ncmFiYmVkQ2VudGVyJiYoZS5oYXNEcmFnZ2VkPSEwLGk8cz9pPXM6aT5vK3MtYSYmKGk9bytzLWEpLGUucmVuZGVyKDAsMCxpLXMsaS1zK2EpKSxlLmhhc0RyYWdnZWQmJmUuc2Nyb2xsYmFyJiZTKGUuc2Nyb2xsYmFyLm9wdGlvbnMubGl2ZVJlZHJhdyxuLnN2ZyYmIWQmJiF0aGlzLmNoYXJ0LmlzQm9vc3RpbmcpJiYodC5ET01UeXBlPXQudHlwZSxzZXRUaW1lb3V0KChmdW5jdGlvbigpe2Uub25Nb3VzZVVwKHQpfSksMCkpKX0sZS5wcm90b3R5cGUub25Nb3VzZVVwPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQsaT10aGlzLnhBeGlzLG49dGhpcy5zY3JvbGxiYXIscj10LkRPTUV2ZW50fHx0LG89ZS5pbnZlcnRlZCxhPXRoaXMucmVuZGVyZWQmJiF0aGlzLmhhc0RyYWdnZWQ/ImFuaW1hdGUiOiJhdHRyIjtpZih0aGlzLmhhc0RyYWdnZWQmJighbnx8IW4uaGFzRHJhZ2dlZCl8fCJzY3JvbGxiYXIiPT09dC50cmlnZ2VyKXtpZihuPXRoaXMuZ2V0VW5pb25FeHRyZW1lcygpLHRoaXMuem9vbWVkTWluPT09dGhpcy5vdGhlckhhbmRsZVBvcyl2YXIgcz10aGlzLmZpeGVkRXh0cmVtZTtlbHNlIGlmKHRoaXMuem9vbWVkTWF4PT09dGhpcy5vdGhlckhhbmRsZVBvcyl2YXIgYz10aGlzLmZpeGVkRXh0cmVtZTt0aGlzLnpvb21lZE1heD09PXRoaXMuc2l6ZSYmKGM9dGhpcy5yZXZlcnNlZEV4dHJlbWVzP24uZGF0YU1pbjpuLmRhdGFNYXgpLDA9PT10aGlzLnpvb21lZE1pbiYmKHM9dGhpcy5yZXZlcnNlZEV4dHJlbWVzP24uZGF0YU1heDpuLmRhdGFNaW4pLGk9aS5uYXZpZ2F0b3JBeGlzLnRvRml4ZWRSYW5nZSh0aGlzLnpvb21lZE1pbix0aGlzLnpvb21lZE1heCxzLGMpLHYoaS5taW4pJiZlLnhBeGlzWzBdLnNldEV4dHJlbWVzKE1hdGgubWluKGkubWluLGkubWF4KSxNYXRoLm1heChpLm1pbixpLm1heCksITAsIXRoaXMuaGFzRHJhZ2dlZCYmbnVsbCx7dHJpZ2dlcjoibmF2aWdhdG9yIix0cmlnZ2VyT3A6Im5hdmlnYXRvci1kcmFnIixET01FdmVudDpyfSl9Im1vdXNlbW92ZSIhPT10LkRPTVR5cGUmJiJ0b3VjaG1vdmUiIT09dC5ET01UeXBlJiYodGhpcy5ncmFiYmVkTGVmdD10aGlzLmdyYWJiZWRSaWdodD10aGlzLmdyYWJiZWRDZW50ZXI9dGhpcy5maXhlZFdpZHRoPXRoaXMuZml4ZWRFeHRyZW1lPXRoaXMub3RoZXJIYW5kbGVQb3M9dGhpcy5oYXNEcmFnZ2VkPXRoaXMuZHJhZ09mZnNldD1udWxsKSx0aGlzLm5hdmlnYXRvckVuYWJsZWQmJmsodGhpcy56b29tZWRNaW4pJiZrKHRoaXMuem9vbWVkTWF4KSYmKGU9TWF0aC5yb3VuZCh0aGlzLnpvb21lZE1pbiksdD1NYXRoLnJvdW5kKHRoaXMuem9vbWVkTWF4KSx0aGlzLnNoYWRlcyYmdGhpcy5kcmF3TWFza3MoZSx0LG8sYSksdGhpcy5vdXRsaW5lJiZ0aGlzLmRyYXdPdXRsaW5lKGUsdCxvLGEpLHRoaXMubmF2aWdhdG9yT3B0aW9ucy5oYW5kbGVzLmVuYWJsZWQmJk9iamVjdC5rZXlzKHRoaXMuaGFuZGxlcykubGVuZ3RoPT09dGhpcy5oYW5kbGVzLmxlbmd0aCYmKHRoaXMuZHJhd0hhbmRsZShlLDAsbyxhKSx0aGlzLmRyYXdIYW5kbGUodCwxLG8sYSkpKX0sZS5wcm90b3R5cGUucmVtb3ZlRXZlbnRzPWZ1bmN0aW9uKCl7dGhpcy5ldmVudHNUb1VuYmluZCYmKHRoaXMuZXZlbnRzVG9VbmJpbmQuZm9yRWFjaCgoZnVuY3Rpb24odCl7dCgpfSkpLHRoaXMuZXZlbnRzVG9VbmJpbmQ9dm9pZCAwKSx0aGlzLnJlbW92ZUJhc2VTZXJpZXNFdmVudHMoKX0sZS5wcm90b3R5cGUucmVtb3ZlQmFzZVNlcmllc0V2ZW50cz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuYmFzZVNlcmllc3x8W107dGhpcy5uYXZpZ2F0b3JFbmFibGVkJiZ0WzBdJiYoITEhPT10aGlzLm5hdmlnYXRvck9wdGlvbnMuYWRhcHRUb1VwZGF0ZWREYXRhJiZ0LmZvckVhY2goKGZ1bmN0aW9uKHQpe0EodCwidXBkYXRlZERhdGEiLHRoaXMudXBkYXRlZERhdGFIYW5kbGVyKX0pLHRoaXMpLHRbMF0ueEF4aXMmJkEodFswXS54QXhpcywiZm91bmRFeHRyZW1lcyIsdGhpcy5tb2RpZnlCYXNlQXhpc0V4dHJlbWVzKSl9LGUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oZSl7dmFyIGk9ZS5vcHRpb25zLG49aS5uYXZpZ2F0b3Isbz1uLmVuYWJsZWQsYT1pLnNjcm9sbGJhcixjPWEuZW5hYmxlZDtpPW8/bi5oZWlnaHQ6MDt2YXIgaD1jP2EuaGVpZ2h0OjA7dGhpcy5oYW5kbGVzPVtdLHRoaXMuc2hhZGVzPVtdLHRoaXMuY2hhcnQ9ZSx0aGlzLnNldEJhc2VTZXJpZXMoKSx0aGlzLmhlaWdodD1pLHRoaXMuc2Nyb2xsYmFySGVpZ2h0PWgsdGhpcy5zY3JvbGxiYXJFbmFibGVkPWMsdGhpcy5uYXZpZ2F0b3JFbmFibGVkPW8sdGhpcy5uYXZpZ2F0b3JPcHRpb25zPW4sdGhpcy5zY3JvbGxiYXJPcHRpb25zPWEsdGhpcy5vdXRsaW5lSGVpZ2h0PWkraCx0aGlzLm9wcG9zaXRlPVMobi5vcHBvc2l0ZSwhKG98fCFlLmludmVydGVkKSk7dmFyIGw9dGhpcztvPWwuYmFzZVNlcmllcyxhPWUueEF4aXMubGVuZ3RoLGM9ZS55QXhpcy5sZW5ndGg7dmFyIHA9byYmb1swXSYmb1swXS54QXhpc3x8ZS54QXhpc1swXXx8e29wdGlvbnM6e319O2UuaXNEaXJ0eUJveD0hMCxsLm5hdmlnYXRvckVuYWJsZWQ/KGwueEF4aXM9bmV3IHQoZSxDKHticmVha3M6cC5vcHRpb25zLmJyZWFrcyxvcmRpbmFsOnAub3B0aW9ucy5vcmRpbmFsfSxuLnhBeGlzLHtpZDoibmF2aWdhdG9yLXgtYXhpcyIseUF4aXM6Im5hdmlnYXRvci15LWF4aXMiLGlzWDohMCx0eXBlOiJkYXRldGltZSIsaW5kZXg6YSxpc0ludGVybmFsOiEwLG9mZnNldDowLGtlZXBPcmRpbmFsUGFkZGluZzohMCxzdGFydE9uVGljazohMSxlbmRPblRpY2s6ITEsbWluUGFkZGluZzowLG1heFBhZGRpbmc6MCx6b29tRW5hYmxlZDohMX0sZS5pbnZlcnRlZD97b2Zmc2V0czpbaCwwLC1oLDBdLHdpZHRoOml9OntvZmZzZXRzOlswLC1oLDAsaF0saGVpZ2h0Oml9KSksbC55QXhpcz1uZXcgdChlLEMobi55QXhpcyx7aWQ6Im5hdmlnYXRvci15LWF4aXMiLGFsaWduVGlja3M6ITEsb2Zmc2V0OjAsaW5kZXg6Yyxpc0ludGVybmFsOiEwLHJldmVyc2VkOlMobi55QXhpcyYmbi55QXhpcy5yZXZlcnNlZCxlLnlBeGlzWzBdJiZlLnlBeGlzWzBdLnJldmVyc2VkLCExKSx6b29tRW5hYmxlZDohMX0sZS5pbnZlcnRlZD97d2lkdGg6aX06e2hlaWdodDppfSkpLG98fG4uc2VyaWVzLmRhdGE/bC51cGRhdGVOYXZpZ2F0b3JTZXJpZXMoITEpOjA9PT1lLnNlcmllcy5sZW5ndGgmJihsLnVuYmluZFJlZHJhdz1mKGUsImJlZm9yZVJlZHJhdyIsKGZ1bmN0aW9uKCl7MDxlLnNlcmllcy5sZW5ndGgmJiFsLnNlcmllcyYmKGwuc2V0QmFzZVNlcmllcygpLGwudW5iaW5kUmVkcmF3KCkpfSkpKSxsLnJldmVyc2VkRXh0cmVtZXM9ZS5pbnZlcnRlZCYmIWwueEF4aXMucmV2ZXJzZWR8fCFlLmludmVydGVkJiZsLnhBeGlzLnJldmVyc2VkLGwucmVuZGVyRWxlbWVudHMoKSxsLmFkZE1vdXNlRXZlbnRzKCkpOihsLnhBeGlzPXtjaGFydDplLG5hdmlnYXRvckF4aXM6e2Zha2U6ITB9LHRyYW5zbGF0ZTpmdW5jdGlvbih0LGkpe3ZhciBuPWUueEF4aXNbMF0scj1uLmdldEV4dHJlbWVzKCksbz1uLmxlbi0yKmgsYT1QKCJtaW4iLG4ub3B0aW9ucy5taW4sci5kYXRhTWluKTtyZXR1cm4gbj1QKCJtYXgiLG4ub3B0aW9ucy5tYXgsci5kYXRhTWF4KS1hLGk/dCpuL28rYTpvKih0LWEpL259LHRvUGl4ZWxzOmZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLnRyYW5zbGF0ZSh0KX0sdG9WYWx1ZTpmdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50cmFuc2xhdGUodCwhMCl9fSxsLnhBeGlzLm5hdmlnYXRvckF4aXMuYXhpcz1sLnhBeGlzLGwueEF4aXMubmF2aWdhdG9yQXhpcy50b0ZpeGVkUmFuZ2U9ci5BZGRpdGlvbnNDbGFzcy5wcm90b3R5cGUudG9GaXhlZFJhbmdlLmJpbmQobC54QXhpcy5uYXZpZ2F0b3JBeGlzKSksZS5vcHRpb25zLnNjcm9sbGJhci5lbmFibGVkJiYoZS5zY3JvbGxiYXI9bC5zY3JvbGxiYXI9bmV3IHMoZS5yZW5kZXJlcixDKGUub3B0aW9ucy5zY3JvbGxiYXIse21hcmdpbjpsLm5hdmlnYXRvckVuYWJsZWQ/MDoxMCx2ZXJ0aWNhbDplLmludmVydGVkfSksZSksZihsLnNjcm9sbGJhciwiY2hhbmdlZCIsKGZ1bmN0aW9uKHQpe3ZhciBlPWwuc2l6ZSxpPWUqdGhpcy50bztlKj10aGlzLmZyb20sbC5oYXNEcmFnZ2VkPWwuc2Nyb2xsYmFyLmhhc0RyYWdnZWQsbC5yZW5kZXIoMCwwLGUsaSksdGhpcy5zaG91bGRVcGRhdGVFeHRyZW1lcyh0LkRPTVR5cGUpJiZzZXRUaW1lb3V0KChmdW5jdGlvbigpe2wub25Nb3VzZVVwKHQpfSkpfSkpKSxsLmFkZEJhc2VTZXJpZXNFdmVudHMoKSxsLmFkZENoYXJ0RXZlbnRzKCl9LGUucHJvdG90eXBlLmdldFVuaW9uRXh0cmVtZXM9ZnVuY3Rpb24odCl7dmFyIGUsaT10aGlzLmNoYXJ0LnhBeGlzWzBdLG49dGhpcy54QXhpcyxyPW4ub3B0aW9ucyxvPWkub3B0aW9ucztyZXR1cm4gdCYmbnVsbD09PWkuZGF0YU1pbnx8KGU9e2RhdGFNaW46UyhyJiZyLm1pbixQKCJtaW4iLG8ubWluLGkuZGF0YU1pbixuLmRhdGFNaW4sbi5taW4pKSxkYXRhTWF4OlMociYmci5tYXgsUCgibWF4IixvLm1heCxpLmRhdGFNYXgsbi5kYXRhTWF4LG4ubWF4KSl9KSxlfSxlLnByb3RvdHlwZS5zZXRCYXNlU2VyaWVzPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5jaGFydCxuPXRoaXMuYmFzZVNlcmllcz1bXTt0PXR8fGkub3B0aW9ucyYmaS5vcHRpb25zLm5hdmlnYXRvci5iYXNlU2VyaWVzfHwoaS5zZXJpZXMubGVuZ3RoP3goaS5zZXJpZXMsKGZ1bmN0aW9uKHQpe3JldHVybiF0Lm9wdGlvbnMuaXNJbnRlcm5hbH0pKS5pbmRleDowKSwoaS5zZXJpZXN8fFtdKS5mb3JFYWNoKChmdW5jdGlvbihlLGkpe2Uub3B0aW9ucy5pc0ludGVybmFsfHwhZS5vcHRpb25zLnNob3dJbk5hdmlnYXRvciYmKGkhPT10JiZlLm9wdGlvbnMuaWQhPT10fHwhMT09PWUub3B0aW9ucy5zaG93SW5OYXZpZ2F0b3IpfHxuLnB1c2goZSl9KSksdGhpcy54QXhpcyYmIXRoaXMueEF4aXMubmF2aWdhdG9yQXhpcy5mYWtlJiZ0aGlzLnVwZGF0ZU5hdmlnYXRvclNlcmllcyghMCxlKX0sZS5wcm90b3R5cGUudXBkYXRlTmF2aWdhdG9yU2VyaWVzPWZ1bmN0aW9uKHQsZSl7dmFyIGksbixyLG89dGhpcyxhPW8uY2hhcnQscz1vLmJhc2VTZXJpZXMsYz1vLm5hdmlnYXRvck9wdGlvbnMuc2VyaWVzLGg9e2VuYWJsZU1vdXNlVHJhY2tpbmc6ITEsaW5kZXg6bnVsbCxsaW5rZWRUbzpudWxsLGdyb3VwOiJuYXYiLHBhZFhBeGlzOiExLHhBeGlzOiJuYXZpZ2F0b3IteC1heGlzIix5QXhpczoibmF2aWdhdG9yLXktYXhpcyIsc2hvd0luTGVnZW5kOiExLHN0YWNraW5nOnZvaWQgMCxpc0ludGVybmFsOiEwLHN0YXRlczp7aW5hY3RpdmU6e29wYWNpdHk6MX19fSxsPW8uc2VyaWVzPShvLnNlcmllc3x8W10pLmZpbHRlcigoZnVuY3Rpb24odCl7dmFyIGU9dC5iYXNlU2VyaWVzO3JldHVybiEoMD5zLmluZGV4T2YoZSkpfHwoZSYmKEEoZSwidXBkYXRlZERhdGEiLG8udXBkYXRlZERhdGFIYW5kbGVyKSxkZWxldGUgZS5uYXZpZ2F0b3JTZXJpZXMpLHQuY2hhcnQmJnQuZGVzdHJveSgpLCExKX0pKTtzJiZzLmxlbmd0aCYmcy5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgcD10Lm5hdmlnYXRvclNlcmllcyxkPWIoe2NvbG9yOnQuY29sb3IsdmlzaWJsZTp0LnZpc2libGV9LHcoYyk/dS5uYXZpZ2F0b3Iuc2VyaWVzOmMpO3AmJiExPT09by5uYXZpZ2F0b3JPcHRpb25zLmFkYXB0VG9VcGRhdGVkRGF0YXx8KGgubmFtZT0iTmF2aWdhdG9yICIrcy5sZW5ndGgsaT10Lm9wdGlvbnN8fHt9LHI9aS5uYXZpZ2F0b3JPcHRpb25zfHx7fSxkLmRhdGFMYWJlbHM9TShkLmRhdGFMYWJlbHMpLG49QyhpLGgsZCxyKSxuLnBvaW50UmFuZ2U9UyhkLnBvaW50UmFuZ2Usci5wb2ludFJhbmdlLHUucGxvdE9wdGlvbnNbbi50eXBlfHwibGluZSJdLnBvaW50UmFuZ2UpLGQ9ci5kYXRhfHxkLmRhdGEsby5oYXNOYXZpZ2F0b3JEYXRhPW8uaGFzTmF2aWdhdG9yRGF0YXx8ISFkLG4uZGF0YT1kfHxpLmRhdGEmJmkuZGF0YS5zbGljZSgwKSxwJiZwLm9wdGlvbnM/cC51cGRhdGUobixlKToodC5uYXZpZ2F0b3JTZXJpZXM9YS5pbml0U2VyaWVzKG4pLHQubmF2aWdhdG9yU2VyaWVzLmJhc2VTZXJpZXM9dCxsLnB1c2godC5uYXZpZ2F0b3JTZXJpZXMpKSl9KSksKCFjLmRhdGF8fHMmJnMubGVuZ3RoKSYmIXcoYyl8fChvLmhhc05hdmlnYXRvckRhdGE9ITEsYz1NKGMpLGMuZm9yRWFjaCgoZnVuY3Rpb24odCxlKXtoLm5hbWU9Ik5hdmlnYXRvciAiKyhsLmxlbmd0aCsxKSxuPUModS5uYXZpZ2F0b3Iuc2VyaWVzLHtjb2xvcjphLnNlcmllc1tlXSYmIWEuc2VyaWVzW2VdLm9wdGlvbnMuaXNJbnRlcm5hbCYmYS5zZXJpZXNbZV0uY29sb3J8fGEub3B0aW9ucy5jb2xvcnNbZV18fGEub3B0aW9ucy5jb2xvcnNbMF19LGgsdCksbi5kYXRhPXQuZGF0YSxuLmRhdGEmJihvLmhhc05hdmlnYXRvckRhdGE9ITAsbC5wdXNoKGEuaW5pdFNlcmllcyhuKSkpfSkpKSx0JiZ0aGlzLmFkZEJhc2VTZXJpZXNFdmVudHMoKX0sZS5wcm90b3R5cGUuYWRkQmFzZVNlcmllc0V2ZW50cz1mdW5jdGlvbigpe3ZhciB0PXRoaXMsZT10LmJhc2VTZXJpZXN8fFtdO2VbMF0mJmVbMF0ueEF4aXMmJmVbMF0uZXZlbnRzVG9VbmJpbmQucHVzaChmKGVbMF0ueEF4aXMsImZvdW5kRXh0cmVtZXMiLHRoaXMubW9kaWZ5QmFzZUF4aXNFeHRyZW1lcykpLGUuZm9yRWFjaCgoZnVuY3Rpb24oZSl7ZS5ldmVudHNUb1VuYmluZC5wdXNoKGYoZSwic2hvdyIsKGZ1bmN0aW9uKCl7dGhpcy5uYXZpZ2F0b3JTZXJpZXMmJnRoaXMubmF2aWdhdG9yU2VyaWVzLnNldFZpc2libGUoITAsITEpfSkpKSxlLmV2ZW50c1RvVW5iaW5kLnB1c2goZihlLCJoaWRlIiwoZnVuY3Rpb24oKXt0aGlzLm5hdmlnYXRvclNlcmllcyYmdGhpcy5uYXZpZ2F0b3JTZXJpZXMuc2V0VmlzaWJsZSghMSwhMSl9KSkpLCExIT09dGhpcy5uYXZpZ2F0b3JPcHRpb25zLmFkYXB0VG9VcGRhdGVkRGF0YSYmZS54QXhpcyYmZS5ldmVudHNUb1VuYmluZC5wdXNoKGYoZSwidXBkYXRlZERhdGEiLHRoaXMudXBkYXRlZERhdGFIYW5kbGVyKSksZS5ldmVudHNUb1VuYmluZC5wdXNoKGYoZSwicmVtb3ZlIiwoZnVuY3Rpb24oKXt0aGlzLm5hdmlnYXRvclNlcmllcyYmKF8odC5zZXJpZXMsdGhpcy5uYXZpZ2F0b3JTZXJpZXMpLHYodGhpcy5uYXZpZ2F0b3JTZXJpZXMub3B0aW9ucykmJnRoaXMubmF2aWdhdG9yU2VyaWVzLnJlbW92ZSghMSksZGVsZXRlIHRoaXMubmF2aWdhdG9yU2VyaWVzKX0pKSl9KSx0aGlzKX0sZS5wcm90b3R5cGUuZ2V0QmFzZVNlcmllc01pbj1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5iYXNlU2VyaWVzLnJlZHVjZSgoZnVuY3Rpb24odCxlKXtyZXR1cm4gTWF0aC5taW4odCxlLnhEYXRhP2UueERhdGFbMF06dCl9KSx0KX0sZS5wcm90b3R5cGUubW9kaWZ5TmF2aWdhdG9yQXhpc0V4dHJlbWVzPWZ1bmN0aW9uKCl7dmFyIHQsZT10aGlzLnhBeGlzOyJ1bmRlZmluZWQiIT09dHlwZW9mIGUuZ2V0RXh0cmVtZXMmJighKHQ9dGhpcy5nZXRVbmlvbkV4dHJlbWVzKCEwKSl8fHQuZGF0YU1pbj09PWUubWluJiZ0LmRhdGFNYXg9PT1lLm1heHx8KGUubWluPXQuZGF0YU1pbixlLm1heD10LmRhdGFNYXgpKX0sZS5wcm90b3R5cGUubW9kaWZ5QmFzZUF4aXNFeHRyZW1lcz1mdW5jdGlvbigpe3ZhciB0PXRoaXMuY2hhcnQubmF2aWdhdG9yLGU9dGhpcy5nZXRFeHRyZW1lcygpLGk9ZS5kYXRhTWluLG49ZS5kYXRhTWF4O2U9ZS5tYXgtZS5taW47dmFyIHI9dC5zdGlja1RvTWluLG89dC5zdGlja1RvTWF4LGE9Uyh0aGlzLm9wdGlvbnMub3ZlcnNjcm9sbCwwKSxzPXQuc2VyaWVzJiZ0LnNlcmllc1swXSxjPSEhdGhpcy5zZXRFeHRyZW1lcztpZighdGhpcy5ldmVudEFyZ3N8fCJyYW5nZVNlbGVjdG9yQnV0dG9uIiE9PXRoaXMuZXZlbnRBcmdzLnRyaWdnZXIpe2lmKHIpdmFyIGg9aSxsPWgrZTtvJiYobD1uK2Escnx8KGg9TWF0aC5tYXgoaSxsLWUsdC5nZXRCYXNlU2VyaWVzTWluKHMmJnMueERhdGE/cy54RGF0YVswXTotTnVtYmVyLk1BWF9WQUxVRSkpKSksYyYmKHJ8fG8pJiZrKGgpJiYodGhpcy5taW49dGhpcy51c2VyTWluPWgsdGhpcy5tYXg9dGhpcy51c2VyTWF4PWwpfXQuc3RpY2tUb01pbj10LnN0aWNrVG9NYXg9bnVsbH0sZS5wcm90b3R5cGUudXBkYXRlZERhdGFIYW5kbGVyPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jaGFydC5uYXZpZ2F0b3IsZT10aGlzLm5hdmlnYXRvclNlcmllczt0LnN0aWNrVG9NYXg9dC5yZXZlcnNlZEV4dHJlbWVzPzA9PT1NYXRoLnJvdW5kKHQuem9vbWVkTWluKTpNYXRoLnJvdW5kKHQuem9vbWVkTWF4KT49TWF0aC5yb3VuZCh0LnNpemUpLHQuc3RpY2tUb01pbj10LnNob3VsZFN0aWNrVG9NaW4odGhpcyx0KSxlJiYhdC5oYXNOYXZpZ2F0b3JEYXRhJiYoZS5vcHRpb25zLnBvaW50U3RhcnQ9dGhpcy54RGF0YVswXSxlLnNldERhdGEodGhpcy5vcHRpb25zLmRhdGEsITEsbnVsbCwhMSkpfSxlLnByb3RvdHlwZS5zaG91bGRTdGlja1RvTWluPWZ1bmN0aW9uKHQsZSl7ZT1lLmdldEJhc2VTZXJpZXNNaW4odC54RGF0YVswXSk7dmFyIGk9dC54QXhpczt0PWkubWF4O3ZhciBuPWkubWluO3JldHVybiBpPWkub3B0aW9ucy5yYW5nZSwhKCFrKHQpfHwhayhuKSkmJihpJiYwPHQtZT90LWU8aTpuPD1lKX0sZS5wcm90b3R5cGUuYWRkQ2hhcnRFdmVudHM9ZnVuY3Rpb24oKXt0aGlzLmV2ZW50c1RvVW5iaW5kfHwodGhpcy5ldmVudHNUb1VuYmluZD1bXSksdGhpcy5ldmVudHNUb1VuYmluZC5wdXNoKGYodGhpcy5jaGFydCwicmVkcmF3IiwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLm5hdmlnYXRvcixlPXQmJih0LmJhc2VTZXJpZXMmJnQuYmFzZVNlcmllc1swXSYmdC5iYXNlU2VyaWVzWzBdLnhBeGlzfHx0aGlzLnhBeGlzWzBdKTtlJiZ0LnJlbmRlcihlLm1pbixlLm1heCl9KSksZih0aGlzLmNoYXJ0LCJnZXRNYXJnaW5zIiwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLm5hdmlnYXRvcixlPXQub3Bwb3NpdGU/InBsb3RUb3AiOiJtYXJnaW5Cb3R0b20iO3RoaXMuaW52ZXJ0ZWQmJihlPXQub3Bwb3NpdGU/Im1hcmdpblJpZ2h0IjoicGxvdExlZnQiKSx0aGlzW2VdPSh0aGlzW2VdfHwwKSsodC5uYXZpZ2F0b3JFbmFibGVkfHwhdGhpcy5pbnZlcnRlZD90Lm91dGxpbmVIZWlnaHQ6MCkrdC5uYXZpZ2F0b3JPcHRpb25zLm1hcmdpbn0pKSl9LGUucHJvdG90eXBlLmRlc3Ryb3k9ZnVuY3Rpb24oKXt0aGlzLnJlbW92ZUV2ZW50cygpLHRoaXMueEF4aXMmJihfKHRoaXMuY2hhcnQueEF4aXMsdGhpcy54QXhpcyksXyh0aGlzLmNoYXJ0LmF4ZXMsdGhpcy54QXhpcykpLHRoaXMueUF4aXMmJihfKHRoaXMuY2hhcnQueUF4aXMsdGhpcy55QXhpcyksXyh0aGlzLmNoYXJ0LmF4ZXMsdGhpcy55QXhpcykpLCh0aGlzLnNlcmllc3x8W10pLmZvckVhY2goKGZ1bmN0aW9uKHQpe3QuZGVzdHJveSYmdC5kZXN0cm95KCl9KSksInNlcmllcyB4QXhpcyB5QXhpcyBzaGFkZXMgb3V0bGluZSBzY3JvbGxiYXJUcmFjayBzY3JvbGxiYXJSaWZsZXMgc2Nyb2xsYmFyR3JvdXAgc2Nyb2xsYmFyIG5hdmlnYXRvckdyb3VwIHJlbmRlcmVkIi5zcGxpdCgiICIpLmZvckVhY2goKGZ1bmN0aW9uKHQpe3RoaXNbdF0mJnRoaXNbdF0uZGVzdHJveSYmdGhpc1t0XS5kZXN0cm95KCksdGhpc1t0XT1udWxsfSksdGhpcyksW3RoaXMuaGFuZGxlc10uZm9yRWFjaCgoZnVuY3Rpb24odCl7eSh0KX0pLHRoaXMpfSxlfSgpO3JldHVybiBuLk5hdmlnYXRvcnx8KG4uTmF2aWdhdG9yPU8sci5jb21wb3NlKHQpLGYoZSwiYmVmb3JlU2hvd1Jlc2V0Wm9vbSIsKGZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGU9dC5uYXZpZ2F0b3IsaT10LnJhbmdlU2VsZWN0b3I7aWYoKGUmJmUuZW5hYmxlZHx8aSYmaS5lbmFibGVkKSYmKCFkJiYieCI9PT10LmNoYXJ0Lnpvb21UeXBlfHxkJiYieCI9PT10LmNoYXJ0LnBpbmNoVHlwZSkpcmV0dXJuITF9KSksZihlLCJiZWZvcmVSZW5kZXIiLChmdW5jdGlvbigpe3ZhciB0PXRoaXMub3B0aW9uczsodC5uYXZpZ2F0b3IuZW5hYmxlZHx8dC5zY3JvbGxiYXIuZW5hYmxlZCkmJih0aGlzLnNjcm9sbGVyPXRoaXMubmF2aWdhdG9yPW5ldyBPKHRoaXMpKX0pKSxmKGUsImFmdGVyU2V0Q2hhcnRTaXplIiwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLmxlZ2VuZCxlPXRoaXMubmF2aWdhdG9yO2lmKGUpe3ZhciBpPXQmJnQub3B0aW9ucyxuPWUueEF4aXMscj1lLnlBeGlzLG89ZS5zY3JvbGxiYXJIZWlnaHQ7dGhpcy5pbnZlcnRlZD8oZS5sZWZ0PWUub3Bwb3NpdGU/dGhpcy5jaGFydFdpZHRoLW8tZS5oZWlnaHQ6dGhpcy5zcGFjaW5nWzNdK28sZS50b3A9dGhpcy5wbG90VG9wK28pOihlLmxlZnQ9UyhuLmxlZnQsdGhpcy5wbG90TGVmdCtvKSxlLnRvcD1lLm5hdmlnYXRvck9wdGlvbnMudG9wfHx0aGlzLmNoYXJ0SGVpZ2h0LWUuaGVpZ2h0LW8tdGhpcy5zcGFjaW5nWzJdLSh0aGlzLnJhbmdlU2VsZWN0b3ImJnRoaXMuZXh0cmFCb3R0b21NYXJnaW4/dGhpcy5yYW5nZVNlbGVjdG9yLmdldEhlaWdodCgpOjApLShpJiYiYm90dG9tIj09PWkudmVydGljYWxBbGlnbiYmInByb3hpbWF0ZSIhPT1pLmxheW91dCYmaS5lbmFibGVkJiYhaS5mbG9hdGluZz90LmxlZ2VuZEhlaWdodCtTKGkubWFyZ2luLDEwKTowKS0odGhpcy50aXRsZU9mZnNldD90aGlzLnRpdGxlT2Zmc2V0WzJdOjApKSxuJiZyJiYodGhpcy5pbnZlcnRlZD9uLm9wdGlvbnMubGVmdD1yLm9wdGlvbnMubGVmdD1lLmxlZnQ6bi5vcHRpb25zLnRvcD1yLm9wdGlvbnMudG9wPWUudG9wLG4uc2V0QXhpc1NpemUoKSxyLnNldEF4aXNTaXplKCkpfX0pKSxmKGUsInVwZGF0ZSIsKGZ1bmN0aW9uKHQpe3ZhciBlPXQub3B0aW9ucy5uYXZpZ2F0b3J8fHt9LGk9dC5vcHRpb25zLnNjcm9sbGJhcnx8e307dGhpcy5uYXZpZ2F0b3J8fHRoaXMuc2Nyb2xsZXJ8fCFlLmVuYWJsZWQmJiFpLmVuYWJsZWR8fChDKCEwLHRoaXMub3B0aW9ucy5uYXZpZ2F0b3IsZSksQyghMCx0aGlzLm9wdGlvbnMuc2Nyb2xsYmFyLGkpLGRlbGV0ZSB0Lm9wdGlvbnMubmF2aWdhdG9yLGRlbGV0ZSB0Lm9wdGlvbnMuc2Nyb2xsYmFyKX0pKSxmKGUsImFmdGVyVXBkYXRlIiwoZnVuY3Rpb24odCl7dGhpcy5uYXZpZ2F0b3J8fHRoaXMuc2Nyb2xsZXJ8fCF0aGlzLm9wdGlvbnMubmF2aWdhdG9yLmVuYWJsZWQmJiF0aGlzLm9wdGlvbnMuc2Nyb2xsYmFyLmVuYWJsZWR8fCh0aGlzLnNjcm9sbGVyPXRoaXMubmF2aWdhdG9yPW5ldyBPKHRoaXMpLFModC5yZWRyYXcsITApJiZ0aGlzLnJlZHJhdyh0LmFuaW1hdGlvbikpfSkpLGYoZSwiYWZ0ZXJBZGRTZXJpZXMiLChmdW5jdGlvbigpe3RoaXMubmF2aWdhdG9yJiZ0aGlzLm5hdmlnYXRvci5zZXRCYXNlU2VyaWVzKG51bGwsITEpfSkpLGYoYywiYWZ0ZXJVcGRhdGUiLChmdW5jdGlvbigpe3RoaXMuY2hhcnQubmF2aWdhdG9yJiYhdGhpcy5vcHRpb25zLmlzSW50ZXJuYWwmJnRoaXMuY2hhcnQubmF2aWdhdG9yLnNldEJhc2VTZXJpZXMobnVsbCwhMSl9KSksZS5wcm90b3R5cGUuY2FsbGJhY2tzLnB1c2goKGZ1bmN0aW9uKHQpe3ZhciBlPXQubmF2aWdhdG9yO2UmJnQueEF4aXNbMF0mJih0PXQueEF4aXNbMF0uZ2V0RXh0cmVtZXMoKSxlLnJlbmRlcih0Lm1pbix0Lm1heCkpfSkpKSxuLk5hdmlnYXRvcj1PLG4uTmF2aWdhdG9yfSkpLGUoaSwiRXh0ZW5zaW9ucy9SYW5nZVNlbGVjdG9yLmpzIixbaVsiQ29yZS9BeGlzL0F4aXMuanMiXSxpWyJDb3JlL0NoYXJ0L0NoYXJ0LmpzIl0saVsiQ29yZS9HbG9iYWxzLmpzIl0saVsiQ29yZS9EZWZhdWx0T3B0aW9ucy5qcyJdLGlbIkNvcmUvUmVuZGVyZXIvU1ZHL1NWR0VsZW1lbnQuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbixyLG8pe2Z1bmN0aW9uIGEodCl7aWYoLTEhPT10LmluZGV4T2YoIiVMIikpcmV0dXJuInRleHQiO3ZhciBlPSJhQWRld2JCbW95WSIuc3BsaXQoIiIpLnNvbWUoKGZ1bmN0aW9uKGUpe3JldHVybi0xIT09dC5pbmRleE9mKCIlIitlKX0pKSxpPSJIa0lsTVMiLnNwbGl0KCIiKS5zb21lKChmdW5jdGlvbihlKXtyZXR1cm4tMSE9PXQuaW5kZXhPZigiJSIrZSl9KSk7cmV0dXJuIGUmJmk/ImRhdGV0aW1lLWxvY2FsIjplPyJkYXRlIjppPyJ0aW1lIjoidGV4dCJ9dmFyIHM9bi5kZWZhdWx0T3B0aW9ucyxjPW8uYWRkRXZlbnQsaD1vLmNyZWF0ZUVsZW1lbnQsbD1vLmNzcyxwPW8uZGVmaW5lZCxkPW8uZGVzdHJveU9iamVjdFByb3BlcnRpZXMsdT1vLmRpc2NhcmRFbGVtZW50LGY9by5leHRlbmQsbT1vLmZpbmQsZz1vLmZpcmVFdmVudCx2PW8uaXNOdW1iZXIseT1vLm1lcmdlLF89by5vYmplY3RFYWNoLGI9by5wYWQseD1vLnBpY2ssdz1vLnBJbnQsaz1vLnNwbGF0O2Yocyx7cmFuZ2VTZWxlY3Rvcjp7YWxsQnV0dG9uc0VuYWJsZWQ6ITEsYnV0dG9uczp2b2lkIDAsYnV0dG9uU3BhY2luZzo1LGRyb3Bkb3duOiJyZXNwb25zaXZlIixlbmFibGVkOnZvaWQgMCx2ZXJ0aWNhbEFsaWduOiJ0b3AiLGJ1dHRvblRoZW1lOnt3aWR0aDoyOCxoZWlnaHQ6MTgscGFkZGluZzoyLHpJbmRleDo3fSxmbG9hdGluZzohMSx4OjAseTowLGhlaWdodDp2b2lkIDAsaW5wdXRCb3hCb3JkZXJDb2xvcjoibm9uZSIsaW5wdXRCb3hIZWlnaHQ6MTcsaW5wdXRCb3hXaWR0aDp2b2lkIDAsaW5wdXREYXRlRm9ybWF0OiIlYiAlZSwgJVkiLGlucHV0RGF0ZVBhcnNlcjp2b2lkIDAsaW5wdXRFZGl0RGF0ZUZvcm1hdDoiJVktJW0tJWQiLGlucHV0RW5hYmxlZDohMCxpbnB1dFBvc2l0aW9uOnthbGlnbjoicmlnaHQiLHg6MCx5OjB9LGlucHV0U3BhY2luZzo1LHNlbGVjdGVkOnZvaWQgMCxidXR0b25Qb3NpdGlvbjp7YWxpZ246ImxlZnQiLHg6MCx5OjB9LGlucHV0U3R5bGU6e2NvbG9yOiIjMzM1Y2FkIixjdXJzb3I6InBvaW50ZXIifSxsYWJlbFN0eWxlOntjb2xvcjoiIzY2NjY2NiJ9fX0pLGYocy5sYW5nLHtyYW5nZVNlbGVjdG9yWm9vbToiWm9vbSIscmFuZ2VTZWxlY3RvckZyb206IiIscmFuZ2VTZWxlY3RvclRvOiLihpIifSk7dmFyIEM9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQpe3RoaXMuYnV0dG9ucz12b2lkIDAsdGhpcy5idXR0b25PcHRpb25zPWUucHJvdG90eXBlLmRlZmF1bHRCdXR0b25zLHRoaXMuaW5pdGlhbEJ1dHRvbkdyb3VwV2lkdGg9MCx0aGlzLm9wdGlvbnM9dm9pZCAwLHRoaXMuY2hhcnQ9dCx0aGlzLmluaXQodCl9cmV0dXJuIGUucHJvdG90eXBlLmNsaWNrQnV0dG9uPWZ1bmN0aW9uKGUsaSl7dmFyIG49dGhpcy5jaGFydCxyPXRoaXMuYnV0dG9uT3B0aW9uc1tlXSxvPW4ueEF4aXNbMF0sYT1uLnNjcm9sbGVyJiZuLnNjcm9sbGVyLmdldFVuaW9uRXh0cmVtZXMoKXx8b3x8e30scz1hLmRhdGFNaW4saD1hLmRhdGFNYXgsbD1vJiZNYXRoLnJvdW5kKE1hdGgubWluKG8ubWF4LHgoaCxvLm1heCkpKSxkPXIudHlwZTthPXIuX3JhbmdlO3ZhciB1LGY9ci5kYXRhR3JvdXBpbmc7aWYobnVsbCE9PXMmJm51bGwhPT1oKXtpZihuLmZpeGVkUmFuZ2U9YSx0aGlzLnNldFNlbGVjdGVkKGUpLGYmJih0aGlzLmZvcmNlZERhdGFHcm91cGluZz0hMCx0LnByb3RvdHlwZS5zZXREYXRhR3JvdXBpbmcuY2FsbChvfHx7Y2hhcnQ6dGhpcy5jaGFydH0sZiwhMSksdGhpcy5mcm96ZW5TdGF0ZXM9ci5wcmVzZXJ2ZURhdGFHcm91cGluZyksIm1vbnRoIj09PWR8fCJ5ZWFyIj09PWQpaWYobyl7ZD17cmFuZ2U6cixtYXg6bCxjaGFydDpuLGRhdGFNaW46cyxkYXRhTWF4Omh9O3ZhciBtPW8ubWluRnJvbVJhbmdlLmNhbGwoZCk7dihkLm5ld01heCkmJihsPWQubmV3TWF4KX1lbHNlIGE9cjtlbHNlIGlmKGEpbT1NYXRoLm1heChsLWEscyksbD1NYXRoLm1pbihtK2EsaCk7ZWxzZSBpZigieXRkIj09PWQpe2lmKCFvKXJldHVybiB2b2lkKHRoaXMuZGVmZXJyZWRZVERDbGljaz1lKTsidW5kZWZpbmVkIj09PXR5cGVvZiBoJiYocz1OdW1iZXIuTUFYX1ZBTFVFLGg9TnVtYmVyLk1JTl9WQUxVRSxuLnNlcmllcy5mb3JFYWNoKChmdW5jdGlvbih0KXt0PXQueERhdGEscz1NYXRoLm1pbih0WzBdLHMpLGg9TWF0aC5tYXgodFt0Lmxlbmd0aC0xXSxoKX0pKSxpPSExKSxsPXRoaXMuZ2V0WVRERXh0cmVtZXMoaCxzLG4udGltZS51c2VVVEMpLG09dT1sLm1pbixsPWwubWF4fWVsc2UiYWxsIj09PWQmJm8mJihuLm5hdmlnYXRvciYmbi5uYXZpZ2F0b3IuYmFzZVNlcmllc1swXSYmKG4ubmF2aWdhdG9yLmJhc2VTZXJpZXNbMF0ueEF4aXMub3B0aW9ucy5yYW5nZT12b2lkIDApLG09cyxsPWgpO2lmKHAobSkmJihtKz1yLl9vZmZzZXRNaW4pLHAobCkmJihsKz1yLl9vZmZzZXRNYXgpLHRoaXMuZHJvcGRvd24mJih0aGlzLmRyb3Bkb3duLnNlbGVjdGVkSW5kZXg9ZSsxKSxvKW8uc2V0RXh0cmVtZXMobSxsLHgoaSwhMCksdm9pZCAwLHt0cmlnZ2VyOiJyYW5nZVNlbGVjdG9yQnV0dG9uIixyYW5nZVNlbGVjdG9yQnV0dG9uOnJ9KTtlbHNle3ZhciB5PWsobi5vcHRpb25zLnhBeGlzKVswXSxfPXkucmFuZ2U7eS5yYW5nZT1hO3ZhciBiPXkubWluO3kubWluPXUsYyhuLCJsb2FkIiwoZnVuY3Rpb24oKXt5LnJhbmdlPV8seS5taW49Yn0pKX1nKHRoaXMsImFmdGVyQnRuQ2xpY2siKX19LGUucHJvdG90eXBlLnNldFNlbGVjdGVkPWZ1bmN0aW9uKHQpe3RoaXMuc2VsZWN0ZWQ9dGhpcy5vcHRpb25zLnNlbGVjdGVkPXR9LGUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24odCl7dmFyIGU9dGhpcyxpPXQub3B0aW9ucy5yYW5nZVNlbGVjdG9yLG49aS5idXR0b25zfHxlLmRlZmF1bHRCdXR0b25zLnNsaWNlKCkscj1pLnNlbGVjdGVkLG89ZnVuY3Rpb24oKXt2YXIgdD1lLm1pbklucHV0LGk9ZS5tYXhJbnB1dDt0JiZ0LmJsdXImJmcodCwiYmx1ciIpLGkmJmkuYmx1ciYmZyhpLCJibHVyIil9O2UuY2hhcnQ9dCxlLm9wdGlvbnM9aSxlLmJ1dHRvbnM9W10sZS5idXR0b25PcHRpb25zPW4sdGhpcy5ldmVudHNUb1VuYmluZD1bXSx0aGlzLmV2ZW50c1RvVW5iaW5kLnB1c2goYyh0LmNvbnRhaW5lciwibW91c2Vkb3duIixvKSksdGhpcy5ldmVudHNUb1VuYmluZC5wdXNoKGModCwicmVzaXplIixvKSksbi5mb3JFYWNoKGUuY29tcHV0ZUJ1dHRvblJhbmdlKSwidW5kZWZpbmVkIiE9PXR5cGVvZiByJiZuW3JdJiZ0aGlzLmNsaWNrQnV0dG9uKHIsITEpLHRoaXMuZXZlbnRzVG9VbmJpbmQucHVzaChjKHQsImxvYWQiLChmdW5jdGlvbigpe3QueEF4aXMmJnQueEF4aXNbMF0mJmModC54QXhpc1swXSwic2V0RXh0cmVtZXMiLChmdW5jdGlvbihpKXt0aGlzLm1heC10aGlzLm1pbiE9PXQuZml4ZWRSYW5nZSYmInJhbmdlU2VsZWN0b3JCdXR0b24iIT09aS50cmlnZ2VyJiYidXBkYXRlZERhdGEiIT09aS50cmlnZ2VyJiZlLmZvcmNlZERhdGFHcm91cGluZyYmIWUuZnJvemVuU3RhdGVzJiZ0aGlzLnNldERhdGFHcm91cGluZyghMSwhMSl9KSl9KSkpfSxlLnByb3RvdHlwZS51cGRhdGVCdXR0b25TdGF0ZXM9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLGU9dGhpcy5jaGFydCxpPXRoaXMuZHJvcGRvd24sbj1lLnhBeGlzWzBdLHI9TWF0aC5yb3VuZChuLm1heC1uLm1pbiksbz0hbi5oYXNWaXNpYmxlU2VyaWVzLGE9ZS5zY3JvbGxlciYmZS5zY3JvbGxlci5nZXRVbmlvbkV4dHJlbWVzKCl8fG4scz1hLmRhdGFNaW4sYz1hLmRhdGFNYXg7ZT10LmdldFlUREV4dHJlbWVzKGMscyxlLnRpbWUudXNlVVRDKTt2YXIgaD1lLm1pbixsPWUubWF4LHA9dC5zZWxlY3RlZCxkPXYocCksdT10Lm9wdGlvbnMuYWxsQnV0dG9uc0VuYWJsZWQsZj10LmJ1dHRvbnM7dC5idXR0b25PcHRpb25zLmZvckVhY2goKGZ1bmN0aW9uKGUsYSl7dmFyIG09ZS5fcmFuZ2UsZz1lLnR5cGUsdj1lLmNvdW50fHwxLHk9ZlthXSxfPTAsYj1lLl9vZmZzZXRNYXgtZS5fb2Zmc2V0TWluO2U9YT09PXA7dmFyIHg9bT5jLXMsdz1tPG4ubWluUmFuZ2Usaz0hMSxDPSExO209bT09PXIsKCJtb250aCI9PT1nfHwieWVhciI9PT1nKSYmciszNmU1Pj04NjRlNSp7bW9udGg6MjgseWVhcjozNjV9W2ddKnYtYiYmci0zNmU1PD04NjRlNSp7bW9udGg6MzEseWVhcjozNjZ9W2ddKnYrYj9tPSEwOiJ5dGQiPT09Zz8obT1sLWgrYj09PXIsaz0hZSk6ImFsbCI9PT1nJiYobT1uLm1heC1uLm1pbj49Yy1zLEM9IWUmJmQmJm0pLGc9IXUmJih4fHx3fHxDfHxvKSx2PWUmJm18fG0mJiFkJiYha3x8ZSYmdC5mcm96ZW5TdGF0ZXMsZz9fPTM6diYmKGQ9ITAsXz0yKSx5LnN0YXRlIT09XyYmKHkuc2V0U3RhdGUoXyksaSYmKGkub3B0aW9uc1thKzFdLmRpc2FibGVkPWcsMj09PV8mJihpLnNlbGVjdGVkSW5kZXg9YSsxKSksMD09PV8mJnA9PT1hJiZ0LnNldFNlbGVjdGVkKCkpfSkpfSxlLnByb3RvdHlwZS5jb21wdXRlQnV0dG9uUmFuZ2U9ZnVuY3Rpb24odCl7dmFyIGU9dC50eXBlLGk9dC5jb3VudHx8MSxuPXttaWxsaXNlY29uZDoxLHNlY29uZDoxZTMsbWludXRlOjZlNCxob3VyOjM2ZTUsZGF5Ojg2NGU1LHdlZWs6NjA0OGU1fTtuW2VdP3QuX3JhbmdlPW5bZV0qaToibW9udGgiIT09ZSYmInllYXIiIT09ZXx8KHQuX3JhbmdlPTg2NGU1Knttb250aDozMCx5ZWFyOjM2NX1bZV0qaSksdC5fb2Zmc2V0TWluPXgodC5vZmZzZXRNaW4sMCksdC5fb2Zmc2V0TWF4PXgodC5vZmZzZXRNYXgsMCksdC5fcmFuZ2UrPXQuX29mZnNldE1heC10Ll9vZmZzZXRNaW59LGUucHJvdG90eXBlLmdldElucHV0VmFsdWU9ZnVuY3Rpb24odCl7dD0ibWluIj09PXQ/dGhpcy5taW5JbnB1dDp0aGlzLm1heElucHV0O3ZhciBlPXRoaXMuY2hhcnQub3B0aW9ucy5yYW5nZVNlbGVjdG9yLGk9dGhpcy5jaGFydC50aW1lO3JldHVybiB0PygidGV4dCI9PT10LnR5cGUmJmUuaW5wdXREYXRlUGFyc2VyfHx0aGlzLmRlZmF1bHRJbnB1dERhdGVQYXJzZXIpKHQudmFsdWUsaS51c2VVVEMsaSk6MH0sZS5wcm90b3R5cGUuc2V0SW5wdXRWYWx1ZT1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMub3B0aW9ucyxuPXRoaXMuY2hhcnQudGltZSxyPSJtaW4iPT09dD90aGlzLm1pbklucHV0OnRoaXMubWF4SW5wdXQ7aWYodD0ibWluIj09PXQ/dGhpcy5taW5EYXRlQm94OnRoaXMubWF4RGF0ZUJveCxyKXt2YXIgbz1yLmdldEF0dHJpYnV0ZSgiZGF0YS1oYy10aW1lIik7bz1wKG8pP051bWJlcihvKTp2b2lkIDAscChlKSYmKHAobykmJnIuc2V0QXR0cmlidXRlKCJkYXRhLWhjLXRpbWUtcHJldmlvdXMiLG8pLHIuc2V0QXR0cmlidXRlKCJkYXRhLWhjLXRpbWUiLGUpLG89ZSksci52YWx1ZT1uLmRhdGVGb3JtYXQodGhpcy5pbnB1dFR5cGVGb3JtYXRzW3IudHlwZV18fGkuaW5wdXRFZGl0RGF0ZUZvcm1hdCxvKSx0JiZ0LmF0dHIoe3RleHQ6bi5kYXRlRm9ybWF0KGkuaW5wdXREYXRlRm9ybWF0LG8pfSl9fSxlLnByb3RvdHlwZS5zZXRJbnB1dEV4dHJlbWVzPWZ1bmN0aW9uKHQsZSxpKXtpZih0PSJtaW4iPT09dD90aGlzLm1pbklucHV0OnRoaXMubWF4SW5wdXQpe3ZhciBuPXRoaXMuaW5wdXRUeXBlRm9ybWF0c1t0LnR5cGVdLHI9dGhpcy5jaGFydC50aW1lO24mJihlPXIuZGF0ZUZvcm1hdChuLGUpLHQubWluIT09ZSYmKHQubWluPWUpLGk9ci5kYXRlRm9ybWF0KG4saSksdC5tYXghPT1pJiYodC5tYXg9aSkpfX0sZS5wcm90b3R5cGUuc2hvd0lucHV0PWZ1bmN0aW9uKHQpe3ZhciBlPSJtaW4iPT09dD90aGlzLm1pbkRhdGVCb3g6dGhpcy5tYXhEYXRlQm94O2lmKCh0PSJtaW4iPT09dD90aGlzLm1pbklucHV0OnRoaXMubWF4SW5wdXQpJiZlJiZ0aGlzLmlucHV0R3JvdXApe3ZhciBpPSJ0ZXh0Ij09PXQudHlwZSxuPXRoaXMuaW5wdXRHcm91cCxyPW4udHJhbnNsYXRlWDtuPW4udHJhbnNsYXRlWTt2YXIgbz10aGlzLm9wdGlvbnMuaW5wdXRCb3hXaWR0aDtsKHQse3dpZHRoOmk/ZS53aWR0aCsobz8tMjoyMCkrInB4IjoiYXV0byIsaGVpZ2h0Omk/ZS5oZWlnaHQtMisicHgiOiJhdXRvIixib3JkZXI6IjJweCBzb2xpZCBzaWx2ZXIifSksbCh0LGkmJm8/e2xlZnQ6citlLngrInB4Iix0b3A6bisicHgifTp7bGVmdDpNYXRoLm1pbihNYXRoLnJvdW5kKGUueCtyLSh0Lm9mZnNldFdpZHRoLWUud2lkdGgpLzIpLHRoaXMuY2hhcnQuY2hhcnRXaWR0aC10Lm9mZnNldFdpZHRoKSsicHgiLHRvcDpuLSh0Lm9mZnNldEhlaWdodC1lLmhlaWdodCkvMisicHgifSl9fSxlLnByb3RvdHlwZS5oaWRlSW5wdXQ9ZnVuY3Rpb24odCl7KHQ9Im1pbiI9PT10P3RoaXMubWluSW5wdXQ6dGhpcy5tYXhJbnB1dCkmJmwodCx7dG9wOiItOTk5OWVtIixib3JkZXI6MCx3aWR0aDoiMXB4IixoZWlnaHQ6IjFweCJ9KX0sZS5wcm90b3R5cGUuZGVmYXVsdElucHV0RGF0ZVBhcnNlcj1mdW5jdGlvbih0LGUsbil7dmFyIHIsbz10LnNwbGl0KCIvIikuam9pbigiLSIpLnNwbGl0KCIgIikuam9pbigiVCIpOygtMT09PW8uaW5kZXhPZigiVCIpJiYobys9IlQwMDowMCIpLGUpP28rPSJaIjooKHI9aS5pc1NhZmFyaSkmJihyPW8scj0hKDY8ci5sZW5ndGgmJihyLmxhc3RJbmRleE9mKCItIik9PT1yLmxlbmd0aC02fHxyLmxhc3RJbmRleE9mKCIrIik9PT1yLmxlbmd0aC02KSkpLHImJihyPW5ldyBEYXRlKG8pLmdldFRpbWV6b25lT2Zmc2V0KCkvNjAsbys9MD49cj8iKyIrYigtcikrIjowMCI6Ii0iK2IocikrIjowMCIpKTtyZXR1cm4gbz1EYXRlLnBhcnNlKG8pLHYobyl8fCh0PXQuc3BsaXQoIi0iKSxvPURhdGUuVVRDKHcodFswXSksdyh0WzFdKS0xLHcodFsyXSkpKSxuJiZlJiZ2KG8pJiYobys9bi5nZXRUaW1lem9uZU9mZnNldChvKSksb30sZS5wcm90b3R5cGUuZHJhd0lucHV0PWZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt2YXIgZT1jLmdldElucHV0VmFsdWUodCksaT1uLnhBeGlzWzBdLHI9bi5zY3JvbGxlciYmbi5zY3JvbGxlci54QXhpcz9uLnNjcm9sbGVyLnhBeGlzOmksbz1yLmRhdGFNaW47cj1yLmRhdGFNYXg7dmFyIGE9Yy5tYXhJbnB1dCxzPWMubWluSW5wdXQ7ZSE9PU51bWJlcihfLmdldEF0dHJpYnV0ZSgiZGF0YS1oYy10aW1lLXByZXZpb3VzIikpJiZ2KGUpJiYoXy5zZXRBdHRyaWJ1dGUoImRhdGEtaGMtdGltZS1wcmV2aW91cyIsZSksbSYmYSYmdihvKT9lPk51bWJlcihhLmdldEF0dHJpYnV0ZSgiZGF0YS1oYy10aW1lIikpP2U9dm9pZCAwOmU8byYmKGU9byk6cyYmdihyKSYmKGU8TnVtYmVyKHMuZ2V0QXR0cmlidXRlKCJkYXRhLWhjLXRpbWUiKSk/ZT12b2lkIDA6ZT5yJiYoZT1yKSksInVuZGVmaW5lZCIhPT10eXBlb2YgZSYmaS5zZXRFeHRyZW1lcyhtP2U6aS5taW4sbT9pLm1heDplLHZvaWQgMCx2b2lkIDAse3RyaWdnZXI6InJhbmdlU2VsZWN0b3JJbnB1dCJ9KSl9dmFyIG49dGhpcy5jaGFydCxyPXRoaXMuZGl2LG89dGhpcy5pbnB1dEdyb3VwLGM9dGhpcyxwPW4ucmVuZGVyZXIuc3R5bGV8fHt9LGQ9bi5yZW5kZXJlcix1PW4ub3B0aW9ucy5yYW5nZVNlbGVjdG9yLG09Im1pbiI9PT10LGc9cy5sYW5nW20/InJhbmdlU2VsZWN0b3JGcm9tIjoicmFuZ2VTZWxlY3RvclRvIl18fCIiO2c9ZC5sYWJlbChnLDApLmFkZENsYXNzKCJoaWdoY2hhcnRzLXJhbmdlLWxhYmVsIikuYXR0cih7cGFkZGluZzpnPzI6MCxoZWlnaHQ6Zz91LmlucHV0Qm94SGVpZ2h0OjB9KS5hZGQobyksZD1kLmxhYmVsKCIiLDApLmFkZENsYXNzKCJoaWdoY2hhcnRzLXJhbmdlLWlucHV0IikuYXR0cih7cGFkZGluZzoyLHdpZHRoOnUuaW5wdXRCb3hXaWR0aCxoZWlnaHQ6dS5pbnB1dEJveEhlaWdodCwidGV4dC1hbGlnbiI6ImNlbnRlciJ9KS5vbigiY2xpY2siLChmdW5jdGlvbigpe2Muc2hvd0lucHV0KHQpLGNbdCsiSW5wdXQiXS5mb2N1cygpfSkpLG4uc3R5bGVkTW9kZXx8ZC5hdHRyKHtzdHJva2U6dS5pbnB1dEJveEJvcmRlckNvbG9yLCJzdHJva2Utd2lkdGgiOjF9KSxkLmFkZChvKTt2YXIgXz1oKCJpbnB1dCIse25hbWU6dCxjbGFzc05hbWU6ImhpZ2hjaGFydHMtcmFuZ2Utc2VsZWN0b3IifSx2b2lkIDAscik7Xy5zZXRBdHRyaWJ1dGUoInR5cGUiLGEodS5pbnB1dERhdGVGb3JtYXR8fCIlYiAlZSwgJVkiKSksbi5zdHlsZWRNb2RlfHwoZy5jc3MoeShwLHUubGFiZWxTdHlsZSkpLGQuY3NzKHkoe2NvbG9yOiIjMzMzMzMzIn0scCx1LmlucHV0U3R5bGUpKSxsKF8sZih7cG9zaXRpb246ImFic29sdXRlIixib3JkZXI6MCxib3hTaGFkb3c6IjAgMCAxNXB4IHJnYmEoMCwwLDAsMC4zKSIsd2lkdGg6IjFweCIsaGVpZ2h0OiIxcHgiLHBhZGRpbmc6MCx0ZXh0QWxpZ246ImNlbnRlciIsZm9udFNpemU6cC5mb250U2l6ZSxmb250RmFtaWx5OnAuZm9udEZhbWlseSx0b3A6Ii05OTk5ZW0ifSx1LmlucHV0U3R5bGUpKSksXy5vbmZvY3VzPWZ1bmN0aW9uKCl7Yy5zaG93SW5wdXQodCl9LF8ub25ibHVyPWZ1bmN0aW9uKCl7Xz09PWkuZG9jLmFjdGl2ZUVsZW1lbnQmJmUoKSxjLmhpZGVJbnB1dCh0KSxjLnNldElucHV0VmFsdWUodCksXy5ibHVyKCl9O3ZhciBiPSExO3JldHVybiBfLm9uY2hhbmdlPWZ1bmN0aW9uKCl7Ynx8KGUoKSxjLmhpZGVJbnB1dCh0KSxfLmJsdXIoKSl9LF8ub25rZXlwcmVzcz1mdW5jdGlvbih0KXsxMz09PXQua2V5Q29kZSYmZSgpfSxfLm9ua2V5ZG93bj1mdW5jdGlvbih0KXtiPSEwLDM4IT09dC5rZXlDb2RlJiY0MCE9PXQua2V5Q29kZXx8ZSgpfSxfLm9ua2V5dXA9ZnVuY3Rpb24oKXtiPSExfSx7ZGF0ZUJveDpkLGlucHV0Ol8sbGFiZWw6Z319LGUucHJvdG90eXBlLmdldFBvc2l0aW9uPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jaGFydCxlPXQub3B0aW9ucy5yYW5nZVNlbGVjdG9yO3JldHVybiB0PSJ0b3AiPT09ZS52ZXJ0aWNhbEFsaWduP3QucGxvdFRvcC10LmF4aXNPZmZzZXRbMF06MCx7YnV0dG9uVG9wOnQrZS5idXR0b25Qb3NpdGlvbi55LGlucHV0VG9wOnQrZS5pbnB1dFBvc2l0aW9uLnktMTB9fSxlLnByb3RvdHlwZS5nZXRZVERFeHRyZW1lcz1mdW5jdGlvbih0LGUsaSl7dmFyIG49dGhpcy5jaGFydC50aW1lLHI9bmV3IG4uRGF0ZSh0KSxvPW4uZ2V0KCJGdWxsWWVhciIscik7cmV0dXJuIGk9aT9uLkRhdGUuVVRDKG8sMCwxKTorbmV3IG4uRGF0ZShvLDAsMSksZT1NYXRoLm1heChlLGkpLHI9ci5nZXRUaW1lKCkse21heDpNYXRoLm1pbih0fHxyLHIpLG1pbjplfX0sZS5wcm90b3R5cGUucmVuZGVyPWZ1bmN0aW9uKHQsZSl7dmFyIGk9dGhpcy5jaGFydCxuPWkucmVuZGVyZXIscj1pLmNvbnRhaW5lcixvPWkub3B0aW9ucyxhPW8ucmFuZ2VTZWxlY3RvcixzPXgoby5jaGFydC5zdHlsZSYmby5jaGFydC5zdHlsZS56SW5kZXgsMCkrMTtpZihvPWEuaW5wdXRFbmFibGVkLCExIT09YS5lbmFibGVkKXtpZih0aGlzLnJlbmRlcmVkfHwodGhpcy5ncm91cD1uLmcoInJhbmdlLXNlbGVjdG9yLWdyb3VwIikuYXR0cih7ekluZGV4Ojd9KS5hZGQoKSx0aGlzLmRpdj1oKCJkaXYiLHZvaWQgMCx7cG9zaXRpb246InJlbGF0aXZlIixoZWlnaHQ6MCx6SW5kZXg6c30pLHRoaXMuYnV0dG9uT3B0aW9ucy5sZW5ndGgmJnRoaXMucmVuZGVyQnV0dG9ucygpLHIucGFyZW50Tm9kZSYmci5wYXJlbnROb2RlLmluc2VydEJlZm9yZSh0aGlzLmRpdixyKSxvJiYodGhpcy5pbnB1dEdyb3VwPW4uZygiaW5wdXQtZ3JvdXAiKS5hZGQodGhpcy5ncm91cCksbj10aGlzLmRyYXdJbnB1dCgibWluIiksdGhpcy5taW5EYXRlQm94PW4uZGF0ZUJveCx0aGlzLm1pbkxhYmVsPW4ubGFiZWwsdGhpcy5taW5JbnB1dD1uLmlucHV0LG49dGhpcy5kcmF3SW5wdXQoIm1heCIpLHRoaXMubWF4RGF0ZUJveD1uLmRhdGVCb3gsdGhpcy5tYXhMYWJlbD1uLmxhYmVsLHRoaXMubWF4SW5wdXQ9bi5pbnB1dCkpLG8mJih0aGlzLnNldElucHV0VmFsdWUoIm1pbiIsdCksdGhpcy5zZXRJbnB1dFZhbHVlKCJtYXgiLGUpLHQ9aS5zY3JvbGxlciYmaS5zY3JvbGxlci5nZXRVbmlvbkV4dHJlbWVzKCl8fGkueEF4aXNbMF18fHt9LHAodC5kYXRhTWluKSYmcCh0LmRhdGFNYXgpJiYoaT1pLnhBeGlzWzBdLm1pblJhbmdlfHwwLHRoaXMuc2V0SW5wdXRFeHRyZW1lcygibWluIix0LmRhdGFNaW4sTWF0aC5taW4odC5kYXRhTWF4LHRoaXMuZ2V0SW5wdXRWYWx1ZSgibWF4IikpLWkpLHRoaXMuc2V0SW5wdXRFeHRyZW1lcygibWF4IixNYXRoLm1heCh0LmRhdGFNaW4sdGhpcy5nZXRJbnB1dFZhbHVlKCJtaW4iKSkraSx0LmRhdGFNYXgpKSx0aGlzLmlucHV0R3JvdXApKXt2YXIgYz0wO1t0aGlzLm1pbkxhYmVsLHRoaXMubWluRGF0ZUJveCx0aGlzLm1heExhYmVsLHRoaXMubWF4RGF0ZUJveF0uZm9yRWFjaCgoZnVuY3Rpb24odCl7aWYodCl7dmFyIGU9dC5nZXRCQm94KCkud2lkdGg7ZSYmKHQuYXR0cih7eDpjfSksYys9ZSthLmlucHV0U3BhY2luZyl9fSkpfXRoaXMuYWxpZ25FbGVtZW50cygpLHRoaXMucmVuZGVyZWQ9ITB9fSxlLnByb3RvdHlwZS5yZW5kZXJCdXR0b25zPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuYnV0dG9ucyxuPXRoaXMub3B0aW9ucyxyPXMubGFuZyxvPXRoaXMuY2hhcnQucmVuZGVyZXIsYT15KG4uYnV0dG9uVGhlbWUpLGw9YSYmYS5zdGF0ZXMscD1hLndpZHRofHwyODtkZWxldGUgYS53aWR0aCxkZWxldGUgYS5zdGF0ZXMsdGhpcy5idXR0b25Hcm91cD1vLmcoInJhbmdlLXNlbGVjdG9yLWJ1dHRvbnMiKS5hZGQodGhpcy5ncm91cCk7dmFyIGQ9dGhpcy5kcm9wZG93bj1oKCJzZWxlY3QiLHZvaWQgMCx7cG9zaXRpb246ImFic29sdXRlIix3aWR0aDoiMXB4IixoZWlnaHQ6IjFweCIscGFkZGluZzowLGJvcmRlcjowLHRvcDoiLTk5OTllbSIsY3Vyc29yOiJwb2ludGVyIixvcGFjaXR5OjFlLTR9LHRoaXMuZGl2KTtjKGQsInRvdWNoc3RhcnQiLChmdW5jdGlvbigpe2Quc3R5bGUuZm9udFNpemU9IjE2cHgifSkpLFtbaS5pc01TPyJtb3VzZW92ZXIiOiJtb3VzZWVudGVyIl0sW2kuaXNNUz8ibW91c2VvdXQiOiJtb3VzZWxlYXZlIl0sWyJjaGFuZ2UiLCJjbGljayJdXS5mb3JFYWNoKChmdW5jdGlvbihpKXt2YXIgbj1pWzBdLHI9aVsxXTtjKGQsbiwoZnVuY3Rpb24oKXt2YXIgaT1lW3QuY3VycmVudEJ1dHRvbkluZGV4KCldO2kmJmcoaS5lbGVtZW50LHJ8fG4pfSkpfSkpLHRoaXMuem9vbVRleHQ9by5sYWJlbChyJiZyLnJhbmdlU2VsZWN0b3Jab29tfHwiIiwwKS5hdHRyKHtwYWRkaW5nOm4uYnV0dG9uVGhlbWUucGFkZGluZyxoZWlnaHQ6bi5idXR0b25UaGVtZS5oZWlnaHQscGFkZGluZ0xlZnQ6MCxwYWRkaW5nUmlnaHQ6MH0pLmFkZCh0aGlzLmJ1dHRvbkdyb3VwKSx0aGlzLmNoYXJ0LnN0eWxlZE1vZGV8fCh0aGlzLnpvb21UZXh0LmNzcyhuLmxhYmVsU3R5bGUpLGFbInN0cm9rZS13aWR0aCJdPXgoYVsic3Ryb2tlLXdpZHRoIl0sMCkpLGgoIm9wdGlvbiIse3RleHRDb250ZW50OnRoaXMuem9vbVRleHQudGV4dFN0cixkaXNhYmxlZDohMH0sdm9pZCAwLGQpLHRoaXMuYnV0dG9uT3B0aW9ucy5mb3JFYWNoKChmdW5jdGlvbihpLG4pe2goIm9wdGlvbiIse3RleHRDb250ZW50OmkudGl0bGV8fGkudGV4dH0sdm9pZCAwLGQpLGVbbl09by5idXR0b24oaS50ZXh0LDAsMCwoZnVuY3Rpb24oZSl7dmFyIHIsbz1pLmV2ZW50cyYmaS5ldmVudHMuY2xpY2s7byYmKHI9by5jYWxsKGksZSkpLCExIT09ciYmdC5jbGlja0J1dHRvbihuKSx0LmlzQWN0aXZlPSEwfSksYSxsJiZsLmhvdmVyLGwmJmwuc2VsZWN0LGwmJmwuZGlzYWJsZWQpLmF0dHIoeyJ0ZXh0LWFsaWduIjoiY2VudGVyIix3aWR0aDpwfSkuYWRkKHQuYnV0dG9uR3JvdXApLGkudGl0bGUmJmVbbl0uYXR0cigidGl0bGUiLGkudGl0bGUpfSkpfSxlLnByb3RvdHlwZS5hbGlnbkVsZW1lbnRzPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXRoaXMuYnV0dG9uR3JvdXAsaT10aGlzLmJ1dHRvbnMsbj10aGlzLmNoYXJ0LHI9dGhpcy5ncm91cCxvPXRoaXMuaW5wdXRHcm91cCxhPXRoaXMub3B0aW9ucyxzPXRoaXMuem9vbVRleHQsYz1uLm9wdGlvbnMsaD1jLmV4cG9ydGluZyYmITEhPT1jLmV4cG9ydGluZy5lbmFibGVkJiZjLm5hdmlnYXRpb24mJmMubmF2aWdhdGlvbi5idXR0b25PcHRpb25zO2M9YS5idXR0b25Qb3NpdGlvbjt2YXIgbD1hLmlucHV0UG9zaXRpb24scD1hLnZlcnRpY2FsQWxpZ24sZD1mdW5jdGlvbihlLGkpe3JldHVybiBoJiZ0LnRpdGxlQ29sbGlzaW9uKG4pJiYidG9wIj09PXAmJiJyaWdodCI9PT1pLmFsaWduJiZpLnktZS5nZXRCQm94KCkuaGVpZ2h0LTEyPChoLnl8fDApKyhoLmhlaWdodHx8MCkrbi5zcGFjaW5nWzBdPy00MDowfSx1PW4ucGxvdExlZnQ7aWYociYmYyYmbCl7dmFyIGY9Yy54LW4uc3BhY2luZ1szXTtpZihlKXtpZih0aGlzLnBvc2l0aW9uQnV0dG9ucygpLCF0aGlzLmluaXRpYWxCdXR0b25Hcm91cFdpZHRoKXt2YXIgbT0wO3MmJihtKz1zLmdldEJCb3goKS53aWR0aCs1KSxpLmZvckVhY2goKGZ1bmN0aW9uKHQsZSl7bSs9dC53aWR0aCxlIT09aS5sZW5ndGgtMSYmKG0rPWEuYnV0dG9uU3BhY2luZyl9KSksdGhpcy5pbml0aWFsQnV0dG9uR3JvdXBXaWR0aD1tfXUtPW4uc3BhY2luZ1szXSx0aGlzLnVwZGF0ZUJ1dHRvblN0YXRlcygpLHM9ZChlLGMpLHRoaXMuYWxpZ25CdXR0b25Hcm91cChzKSxyLnBsYWNlZD1lLnBsYWNlZD1uLmhhc0xvYWRlZH1lPTAsbyYmKGU9ZChvLGwpLCJsZWZ0Ij09PWwuYWxpZ24/Zj11OiJyaWdodCI9PT1sLmFsaWduJiYoZj0tTWF0aC5tYXgobi5heGlzT2Zmc2V0WzFdLC1lKSksby5hbGlnbih7eTpsLnksd2lkdGg6by5nZXRCQm94KCkud2lkdGgsYWxpZ246bC5hbGlnbix4OmwueCtmLTJ9LCEwLG4uc3BhY2luZ0JveCksby5wbGFjZWQ9bi5oYXNMb2FkZWQpLHRoaXMuaGFuZGxlQ29sbGlzaW9uKGUpLHIuYWxpZ24oe3ZlcnRpY2FsQWxpZ246cH0sITAsbi5zcGFjaW5nQm94KSxvPXIuYWxpZ25BdHRyLnRyYW5zbGF0ZVksZT1yLmdldEJCb3goKS5oZWlnaHQrMjAsZD0wLCJib3R0b20iPT09cCYmKGQ9KGQ9bi5sZWdlbmQmJm4ubGVnZW5kLm9wdGlvbnMpJiYiYm90dG9tIj09PWQudmVydGljYWxBbGlnbiYmZC5lbmFibGVkJiYhZC5mbG9hdGluZz9uLmxlZ2VuZC5sZWdlbmRIZWlnaHQreChkLm1hcmdpbiwxMCk6MCxlPWUrZC0yMCxkPW8tZS0oYS5mbG9hdGluZz8wOmEueSktKG4udGl0bGVPZmZzZXQ/bi50aXRsZU9mZnNldFsyXTowKS0xMCksInRvcCI9PT1wPyhhLmZsb2F0aW5nJiYoZD0wKSxuLnRpdGxlT2Zmc2V0JiZuLnRpdGxlT2Zmc2V0WzBdJiYoZD1uLnRpdGxlT2Zmc2V0WzBdKSxkKz1uLm1hcmdpblswXS1uLnNwYWNpbmdbMF18fDApOiJtaWRkbGUiPT09cCYmKGwueT09PWMueT9kPW86KGwueXx8Yy55KSYmKGQ9MD5sLnl8fDA+Yy55P2QtTWF0aC5taW4obC55LGMueSk6by1lKSksci50cmFuc2xhdGUoYS54LGEueStNYXRoLmZsb29yKGQpKSxjPXRoaXMubWluSW5wdXQsbD10aGlzLm1heElucHV0LG89dGhpcy5kcm9wZG93bixhLmlucHV0RW5hYmxlZCYmYyYmbCYmKGMuc3R5bGUubWFyZ2luVG9wPXIudHJhbnNsYXRlWSsicHgiLGwuc3R5bGUubWFyZ2luVG9wPXIudHJhbnNsYXRlWSsicHgiKSxvJiYoby5zdHlsZS5tYXJnaW5Ub3A9ci50cmFuc2xhdGVZKyJweCIpfX0sZS5wcm90b3R5cGUuYWxpZ25CdXR0b25Hcm91cD1mdW5jdGlvbih0LGUpe3ZhciBpPXRoaXMuY2hhcnQsbj10aGlzLmJ1dHRvbkdyb3VwLHI9dGhpcy5vcHRpb25zLmJ1dHRvblBvc2l0aW9uLG89aS5wbG90TGVmdC1pLnNwYWNpbmdbM10sYT1yLngtaS5zcGFjaW5nWzNdOyJyaWdodCI9PT1yLmFsaWduP2ErPXQtbzoiY2VudGVyIj09PXIuYWxpZ24mJihhLT1vLzIpLG4mJm4uYWxpZ24oe3k6ci55LHdpZHRoOngoZSx0aGlzLmluaXRpYWxCdXR0b25Hcm91cFdpZHRoKSxhbGlnbjpyLmFsaWduLHg6YX0sITAsaS5zcGFjaW5nQm94KX0sZS5wcm90b3R5cGUucG9zaXRpb25CdXR0b25zPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5idXR0b25zLGU9dGhpcy5jaGFydCxpPXRoaXMub3B0aW9ucyxuPXRoaXMuem9vbVRleHQscj1lLmhhc0xvYWRlZD8iYW5pbWF0ZSI6ImF0dHIiLG89aS5idXR0b25Qb3NpdGlvbixhPWUucGxvdExlZnQscz1hO24mJiJoaWRkZW4iIT09bi52aXNpYmlsaXR5JiYobltyXSh7eDp4KGErby54LGEpfSkscys9by54K24uZ2V0QkJveCgpLndpZHRoKzUpLHRoaXMuYnV0dG9uT3B0aW9ucy5mb3JFYWNoKChmdW5jdGlvbihlLG4peyJoaWRkZW4iIT09dFtuXS52aXNpYmlsaXR5Pyh0W25dW3JdKHt4OnN9KSxzKz10W25dLndpZHRoK2kuYnV0dG9uU3BhY2luZyk6dFtuXVtyXSh7eDphfSl9KSl9LGUucHJvdG90eXBlLmhhbmRsZUNvbGxpc2lvbj1mdW5jdGlvbih0KXt2YXIgZT10aGlzLGk9dGhpcy5jaGFydCxuPXRoaXMuYnV0dG9uR3JvdXAscj10aGlzLmlucHV0R3JvdXAsbz10aGlzLm9wdGlvbnMsYT1vLmJ1dHRvblBvc2l0aW9uLHM9by5kcm9wZG93bixjPW8uaW5wdXRQb3NpdGlvbjtvPWZ1bmN0aW9uKCl7dmFyIHQ9MDtyZXR1cm4gZS5idXR0b25zLmZvckVhY2goKGZ1bmN0aW9uKGUpe2U9ZS5nZXRCQm94KCksZS53aWR0aD50JiYodD1lLndpZHRoKX0pKSx0fTt2YXIgaD1mdW5jdGlvbihlKXtpZihyJiZuKXt2YXIgaT1yLmFsaWduQXR0ci50cmFuc2xhdGVYK3IuYWxpZ25PcHRpb25zLngtdCtyLmdldEJCb3goKS54KzIsbz1yLmFsaWduT3B0aW9ucy53aWR0aCxzPW4uYWxpZ25BdHRyLnRyYW5zbGF0ZVgrbi5nZXRCQm94KCkueDtyZXR1cm4gcytlPmkmJmkrbz5zJiZhLnk8Yy55K3IuZ2V0QkJveCgpLmhlaWdodH1yZXR1cm4hMX0sbD1mdW5jdGlvbigpe3ImJm4mJnIuYXR0cih7dHJhbnNsYXRlWDpyLmFsaWduQXR0ci50cmFuc2xhdGVYKyhpLmF4aXNPZmZzZXRbMV0+PS10PzA6LXQpLHRyYW5zbGF0ZVk6ci5hbGlnbkF0dHIudHJhbnNsYXRlWStuLmdldEJCb3goKS5oZWlnaHQrMTB9KX07aWYobil7aWYoImFsd2F5cyI9PT1zKXJldHVybiB0aGlzLmNvbGxhcHNlQnV0dG9ucyh0KSx2b2lkKGgobygpKSYmbCgpKTsibmV2ZXIiPT09cyYmdGhpcy5leHBhbmRCdXR0b25zKCl9ciYmbj9jLmFsaWduPT09YS5hbGlnbnx8aCh0aGlzLmluaXRpYWxCdXR0b25Hcm91cFdpZHRoKzIwKT8icmVzcG9uc2l2ZSI9PT1zPyh0aGlzLmNvbGxhcHNlQnV0dG9ucyh0KSxoKG8oKSkmJmwoKSk6bCgpOiJyZXNwb25zaXZlIj09PXMmJnRoaXMuZXhwYW5kQnV0dG9ucygpOm4mJiJyZXNwb25zaXZlIj09PXMmJih0aGlzLmluaXRpYWxCdXR0b25Hcm91cFdpZHRoPmkucGxvdFdpZHRoP3RoaXMuY29sbGFwc2VCdXR0b25zKHQpOnRoaXMuZXhwYW5kQnV0dG9ucygpKX0sZS5wcm90b3R5cGUuY29sbGFwc2VCdXR0b25zPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuYnV0dG9ucyxpPXRoaXMuYnV0dG9uT3B0aW9ucyxuPXRoaXMuY2hhcnQscj10aGlzLmRyb3Bkb3duLG89dGhpcy5vcHRpb25zLGE9dGhpcy56b29tVGV4dCxzPW4udXNlck9wdGlvbnMucmFuZ2VTZWxlY3RvciYmbi51c2VyT3B0aW9ucy5yYW5nZVNlbGVjdG9yLmJ1dHRvblRoZW1lfHx7fSxjPWZ1bmN0aW9uKHQpe3JldHVybnt0ZXh0OnQ/dCsiIOKWviI6IuKWviIsd2lkdGg6ImF1dG8iLHBhZGRpbmdMZWZ0Ongoby5idXR0b25UaGVtZS5wYWRkaW5nTGVmdCxzLnBhZGRpbmcsOCkscGFkZGluZ1JpZ2h0Ongoby5idXR0b25UaGVtZS5wYWRkaW5nUmlnaHQscy5wYWRkaW5nLDgpfX07YSYmYS5oaWRlKCk7dmFyIGg9ITE7aS5mb3JFYWNoKChmdW5jdGlvbih0LGkpe2k9ZVtpXSwyIT09aS5zdGF0ZT9pLmhpZGUoKTooaS5zaG93KCksaS5hdHRyKGModC50ZXh0KSksaD0hMCl9KSksaHx8KHImJihyLnNlbGVjdGVkSW5kZXg9MCksZVswXS5zaG93KCksZVswXS5hdHRyKGModGhpcy56b29tVGV4dCYmdGhpcy56b29tVGV4dC50ZXh0U3RyKSkpLGk9by5idXR0b25Qb3NpdGlvbi5hbGlnbix0aGlzLnBvc2l0aW9uQnV0dG9ucygpLCJyaWdodCIhPT1pJiYiY2VudGVyIiE9PWl8fHRoaXMuYWxpZ25CdXR0b25Hcm91cCh0LGVbdGhpcy5jdXJyZW50QnV0dG9uSW5kZXgoKV0uZ2V0QkJveCgpLndpZHRoKSx0aGlzLnNob3dEcm9wZG93bigpfSxlLnByb3RvdHlwZS5leHBhbmRCdXR0b25zPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5idXR0b25zLGU9dGhpcy5idXR0b25PcHRpb25zLGk9dGhpcy5vcHRpb25zLG49dGhpcy56b29tVGV4dDt0aGlzLmhpZGVEcm9wZG93bigpLG4mJm4uc2hvdygpLGUuZm9yRWFjaCgoZnVuY3Rpb24oZSxuKXtuPXRbbl0sbi5zaG93KCksbi5hdHRyKHt0ZXh0OmUudGV4dCx3aWR0aDppLmJ1dHRvblRoZW1lLndpZHRofHwyOCxwYWRkaW5nTGVmdDp4KGkuYnV0dG9uVGhlbWUucGFkZGluZ0xlZnQsInVuc2V0IikscGFkZGluZ1JpZ2h0OngoaS5idXR0b25UaGVtZS5wYWRkaW5nUmlnaHQsInVuc2V0Iil9KSwyPm4uc3RhdGUmJm4uc2V0U3RhdGUoMCl9KSksdGhpcy5wb3NpdGlvbkJ1dHRvbnMoKX0sZS5wcm90b3R5cGUuY3VycmVudEJ1dHRvbkluZGV4PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5kcm9wZG93bjtyZXR1cm4gdCYmMDx0LnNlbGVjdGVkSW5kZXg/dC5zZWxlY3RlZEluZGV4LTE6MH0sZS5wcm90b3R5cGUuc2hvd0Ryb3Bkb3duPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5idXR0b25Hcm91cCxlPXRoaXMuYnV0dG9ucyxpPXRoaXMuY2hhcnQsbj10aGlzLmRyb3Bkb3duO2lmKHQmJm4pe3ZhciByPXQudHJhbnNsYXRlWDt0PXQudHJhbnNsYXRlWSxlPWVbdGhpcy5jdXJyZW50QnV0dG9uSW5kZXgoKV0uZ2V0QkJveCgpLGwobix7bGVmdDppLnBsb3RMZWZ0K3IrInB4Iix0b3A6dCsuNSsicHgiLHdpZHRoOmUud2lkdGgrInB4IixoZWlnaHQ6ZS5oZWlnaHQrInB4In0pLHRoaXMuaGFzVmlzaWJsZURyb3Bkb3duPSEwfX0sZS5wcm90b3R5cGUuaGlkZURyb3Bkb3duPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5kcm9wZG93bjt0JiYobCh0LHt0b3A6Ii05OTk5ZW0iLHdpZHRoOiIxcHgiLGhlaWdodDoiMXB4In0pLHRoaXMuaGFzVmlzaWJsZURyb3Bkb3duPSExKX0sZS5wcm90b3R5cGUuZ2V0SGVpZ2h0PWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5vcHRpb25zLGU9dGhpcy5ncm91cCxpPXQueSxuPXQuYnV0dG9uUG9zaXRpb24ueSxyPXQuaW5wdXRQb3NpdGlvbi55O3JldHVybiB0LmhlaWdodD90LmhlaWdodDoodGhpcy5hbGlnbkVsZW1lbnRzKCksdD1lP2UuZ2V0QkJveCghMCkuaGVpZ2h0KzEzK2k6MCxlPU1hdGgubWluKHIsbiksKDA+ciYmMD5ufHwwPHImJjA8bikmJih0Kz1NYXRoLmFicyhlKSksdCl9LGUucHJvdG90eXBlLnRpdGxlQ29sbGlzaW9uPWZ1bmN0aW9uKHQpe3JldHVybiEodC5vcHRpb25zLnRpdGxlLnRleHR8fHQub3B0aW9ucy5zdWJ0aXRsZS50ZXh0KX0sZS5wcm90b3R5cGUudXBkYXRlPWZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQ7eSghMCxlLm9wdGlvbnMucmFuZ2VTZWxlY3Rvcix0KSx0aGlzLmRlc3Ryb3koKSx0aGlzLmluaXQoZSksdGhpcy5yZW5kZXIoKX0sZS5wcm90b3R5cGUuZGVzdHJveT1mdW5jdGlvbigpe3ZhciB0PXRoaXMsaT10Lm1pbklucHV0LG49dC5tYXhJbnB1dDt0LmV2ZW50c1RvVW5iaW5kJiYodC5ldmVudHNUb1VuYmluZC5mb3JFYWNoKChmdW5jdGlvbih0KXtyZXR1cm4gdCgpfSkpLHQuZXZlbnRzVG9VbmJpbmQ9dm9pZCAwKSxkKHQuYnV0dG9ucyksaSYmKGkub25mb2N1cz1pLm9uYmx1cj1pLm9uY2hhbmdlPW51bGwpLG4mJihuLm9uZm9jdXM9bi5vbmJsdXI9bi5vbmNoYW5nZT1udWxsKSxfKHQsKGZ1bmN0aW9uKGksbil7aSYmImNoYXJ0IiE9PW4mJihpIGluc3RhbmNlb2Ygcj9pLmRlc3Ryb3koKTppIGluc3RhbmNlb2Ygd2luZG93LkhUTUxFbGVtZW50JiZ1KGkpKSxpIT09ZS5wcm90b3R5cGVbbl0mJih0W25dPW51bGwpfSksdGhpcyl9LGV9KCk7aWYoQy5wcm90b3R5cGUuZGVmYXVsdEJ1dHRvbnM9W3t0eXBlOiJtb250aCIsY291bnQ6MSx0ZXh0OiIxbSIsdGl0bGU6IlZpZXcgMSBtb250aCJ9LHt0eXBlOiJtb250aCIsY291bnQ6Myx0ZXh0OiIzbSIsdGl0bGU6IlZpZXcgMyBtb250aHMifSx7dHlwZToibW9udGgiLGNvdW50OjYsdGV4dDoiNm0iLHRpdGxlOiJWaWV3IDYgbW9udGhzIn0se3R5cGU6Inl0ZCIsdGV4dDoiWVREIix0aXRsZToiVmlldyB5ZWFyIHRvIGRhdGUifSx7dHlwZToieWVhciIsY291bnQ6MSx0ZXh0OiIxeSIsdGl0bGU6IlZpZXcgMSB5ZWFyIn0se3R5cGU6ImFsbCIsdGV4dDoiQWxsIix0aXRsZToiVmlldyBhbGwifV0sQy5wcm90b3R5cGUuaW5wdXRUeXBlRm9ybWF0cz17ImRhdGV0aW1lLWxvY2FsIjoiJVktJW0tJWRUJUg6JU06JVMiLGRhdGU6IiVZLSVtLSVkIix0aW1lOiIlSDolTTolUyJ9LHQucHJvdG90eXBlLm1pbkZyb21SYW5nZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucmFuZ2UsZT10LnR5cGUsaT10aGlzLm1heCxuPXRoaXMuY2hhcnQudGltZSxyPWZ1bmN0aW9uKHQsaSl7dmFyIHI9InllYXIiPT09ZT8iRnVsbFllYXIiOiJNb250aCIsbz1uZXcgbi5EYXRlKHQpLGE9bi5nZXQocixvKTtyZXR1cm4gbi5zZXQocixvLGEraSksYT09PW4uZ2V0KHIsbykmJm4uc2V0KCJEYXRlIixvLDApLG8uZ2V0VGltZSgpLXR9O2lmKHYodCkpdmFyIG89aS10LGE9dDtlbHNlIG89aStyKGksLXQuY291bnQpLHRoaXMuY2hhcnQmJih0aGlzLmNoYXJ0LmZpeGVkUmFuZ2U9aS1vKTt2YXIgcz14KHRoaXMuZGF0YU1pbixOdW1iZXIuTUlOX1ZBTFVFKTtyZXR1cm4gdihvKXx8KG89cyksbzw9cyYmKG89cywidW5kZWZpbmVkIj09PXR5cGVvZiBhJiYoYT1yKG8sdC5jb3VudCkpLHRoaXMubmV3TWF4PU1hdGgubWluKG8rYSx0aGlzLmRhdGFNYXgpKSx2KGkpfHwobz12b2lkIDApLG99LCFpLlJhbmdlU2VsZWN0b3Ipe3ZhciBTPVtdLEE9ZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe2EmJihpPXQueEF4aXNbMF0uZ2V0RXh0cmVtZXMoKSxuPXQubGVnZW5kLG89YSYmYS5vcHRpb25zLnZlcnRpY2FsQWxpZ24sdihpLm1pbikmJmEucmVuZGVyKGkubWluLGkubWF4KSxuLmRpc3BsYXkmJiJ0b3AiPT09byYmbz09PW4ub3B0aW9ucy52ZXJ0aWNhbEFsaWduJiYocj15KHQuc3BhY2luZ0JveCksci55PSJ2ZXJ0aWNhbCI9PT1uLm9wdGlvbnMubGF5b3V0P3QucGxvdFRvcDpyLnkrYS5nZXRIZWlnaHQoKSxuLmdyb3VwLnBsYWNlZD0hMSxuLmFsaWduKHIpKSl9dmFyIGksbixyLG8sYT10LnJhbmdlU2VsZWN0b3I7YSYmKG0oUywoZnVuY3Rpb24oZSl7cmV0dXJuIGVbMF09PT10fSkpfHxTLnB1c2goW3QsW2ModC54QXhpc1swXSwiYWZ0ZXJTZXRFeHRyZW1lcyIsKGZ1bmN0aW9uKHQpe2EmJmEucmVuZGVyKHQubWluLHQubWF4KX0pKSxjKHQsInJlZHJhdyIsZSldXSksZSgpKX07YyhlLCJhZnRlckdldENvbnRhaW5lciIsKGZ1bmN0aW9uKCl7dGhpcy5vcHRpb25zLnJhbmdlU2VsZWN0b3ImJnRoaXMub3B0aW9ucy5yYW5nZVNlbGVjdG9yLmVuYWJsZWQmJih0aGlzLnJhbmdlU2VsZWN0b3I9bmV3IEModGhpcykpfSkpLGMoZSwiYmVmb3JlUmVuZGVyIiwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLmF4ZXMsZT10aGlzLnJhbmdlU2VsZWN0b3I7ZSYmKHYoZS5kZWZlcnJlZFlURENsaWNrKSYmKGUuY2xpY2tCdXR0b24oZS5kZWZlcnJlZFlURENsaWNrKSxkZWxldGUgZS5kZWZlcnJlZFlURENsaWNrKSx0LmZvckVhY2goKGZ1bmN0aW9uKHQpe3QudXBkYXRlTmFtZXMoKSx0LnNldFNjYWxlKCl9KSksdGhpcy5nZXRBeGlzTWFyZ2lucygpLGUucmVuZGVyKCksdD1lLm9wdGlvbnMudmVydGljYWxBbGlnbixlLm9wdGlvbnMuZmxvYXRpbmd8fCgiYm90dG9tIj09PXQ/dGhpcy5leHRyYUJvdHRvbU1hcmdpbj0hMDoibWlkZGxlIiE9PXQmJih0aGlzLmV4dHJhVG9wTWFyZ2luPSEwKSkpfSkpLGMoZSwidXBkYXRlIiwoZnVuY3Rpb24odCl7dmFyIGU9dC5vcHRpb25zLnJhbmdlU2VsZWN0b3I7dD10aGlzLnJhbmdlU2VsZWN0b3I7dmFyIGk9dGhpcy5leHRyYUJvdHRvbU1hcmdpbixuPXRoaXMuZXh0cmFUb3BNYXJnaW47ZSYmZS5lbmFibGVkJiYhcCh0KSYmdGhpcy5vcHRpb25zLnJhbmdlU2VsZWN0b3ImJih0aGlzLm9wdGlvbnMucmFuZ2VTZWxlY3Rvci5lbmFibGVkPSEwLHRoaXMucmFuZ2VTZWxlY3Rvcj10PW5ldyBDKHRoaXMpKSx0aGlzLmV4dHJhVG9wTWFyZ2luPXRoaXMuZXh0cmFCb3R0b21NYXJnaW49ITEsdCYmKEEodGhpcyksZT1lJiZlLnZlcnRpY2FsQWxpZ258fHQub3B0aW9ucyYmdC5vcHRpb25zLnZlcnRpY2FsQWxpZ24sdC5vcHRpb25zLmZsb2F0aW5nfHwoImJvdHRvbSI9PT1lP3RoaXMuZXh0cmFCb3R0b21NYXJnaW49ITA6Im1pZGRsZSIhPT1lJiYodGhpcy5leHRyYVRvcE1hcmdpbj0hMCkpLHRoaXMuZXh0cmFCb3R0b21NYXJnaW4hPT1pfHx0aGlzLmV4dHJhVG9wTWFyZ2luIT09bikmJih0aGlzLmlzRGlydHlCb3g9ITApfSkpLGMoZSwicmVuZGVyIiwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLnJhbmdlU2VsZWN0b3I7dCYmIXQub3B0aW9ucy5mbG9hdGluZyYmKHQucmVuZGVyKCksdD10Lm9wdGlvbnMudmVydGljYWxBbGlnbiwiYm90dG9tIj09PXQ/dGhpcy5leHRyYUJvdHRvbU1hcmdpbj0hMDoibWlkZGxlIiE9PXQmJih0aGlzLmV4dHJhVG9wTWFyZ2luPSEwKSl9KSksYyhlLCJnZXRNYXJnaW5zIiwoZnVuY3Rpb24oKXt2YXIgdD10aGlzLnJhbmdlU2VsZWN0b3I7dCYmKHQ9dC5nZXRIZWlnaHQoKSx0aGlzLmV4dHJhVG9wTWFyZ2luJiYodGhpcy5wbG90VG9wKz10KSx0aGlzLmV4dHJhQm90dG9tTWFyZ2luJiYodGhpcy5tYXJnaW5Cb3R0b20rPXQpKX0pKSxlLnByb3RvdHlwZS5jYWxsYmFja3MucHVzaChBKSxjKGUsImRlc3Ryb3kiLChmdW5jdGlvbigpe2Zvcih2YXIgdD0wO3Q8Uy5sZW5ndGg7dCsrKXt2YXIgZT1TW3RdO2lmKGVbMF09PT10aGlzKXtlWzFdLmZvckVhY2goKGZ1bmN0aW9uKHQpe3JldHVybiB0KCl9KSksUy5zcGxpY2UodCwxKTticmVha319fSkpLGkuUmFuZ2VTZWxlY3Rvcj1DfXJldHVybiBDfSkpLGUoaSwiQ29yZS9DaGFydC9TdG9ja0NoYXJ0LmpzIixbaVsiQ29yZS9BbmltYXRpb24vQW5pbWF0aW9uVXRpbGl0aWVzLmpzIl0saVsiQ29yZS9BeGlzL0F4aXMuanMiXSxpWyJDb3JlL0NoYXJ0L0NoYXJ0LmpzIl0saVsiQ29yZS9Gb3JtYXRVdGlsaXRpZXMuanMiXSxpWyJDb3JlL0RlZmF1bHRPcHRpb25zLmpzIl0saVsiQ29yZS9TZXJpZXMvU2VyaWVzLmpzIl0saVsiQ29yZS9SZW5kZXJlci9TVkcvU1ZHUmVuZGVyZXIuanMiXSxpWyJDb3JlL1V0aWxpdGllcy5qcyJdXSwoZnVuY3Rpb24odCxlLGksbixyLG8sYSxzKXtmdW5jdGlvbiBjKHQsZSl7cmV0dXJuInhBeGlzIj09PXQ/e21pblBhZGRpbmc6MCxtYXhQYWRkaW5nOjAsb3ZlcnNjcm9sbDowLG9yZGluYWw6ITAsdGl0bGU6e3RleHQ6bnVsbH0sbGFiZWxzOntvdmVyZmxvdzoianVzdGlmeSJ9LHNob3dMYXN0TGFiZWw6ITB9OiJ5QXhpcyI9PT10P3tsYWJlbHM6e3k6LTJ9LG9wcG9zaXRlOmIoZS5vcHBvc2l0ZSwhMCksc2hvd0xhc3RMYWJlbDohKCFlLmNhdGVnb3JpZXMmJiJjYXRlZ29yeSIhPT1lLnR5cGUpLHRpdGxlOnt0ZXh0Om51bGx9fTp7fX1mdW5jdGlvbiBoKHQsZSl7aWYoInhBeGlzIj09PXQpe3Q9ZCgpO3ZhciBpPXt0eXBlOiJkYXRldGltZSIsY2F0ZWdvcmllczp2b2lkIDB9O3JldHVybiBiKGUubmF2aWdhdG9yJiZlLm5hdmlnYXRvci5lbmFibGVkLHQubmF2aWdhdG9yLmVuYWJsZWQsITApJiYoaS5zdGFydE9uVGljaz0hMSxpLmVuZE9uVGljaz0hMSksaX1yZXR1cm57fX12YXIgbD10aGlzJiZ0aGlzLl9fZXh0ZW5kc3x8ZnVuY3Rpb24oKXt2YXIgdD1mdW5jdGlvbihlLGkpe3JldHVybiB0PU9iamVjdC5zZXRQcm90b3R5cGVPZnx8e19fcHJvdG9fXzpbXX1pbnN0YW5jZW9mIEFycmF5JiZmdW5jdGlvbih0LGUpe3QuX19wcm90b19fPWV9fHxmdW5jdGlvbih0LGUpe2Zvcih2YXIgaSBpbiBlKWUuaGFzT3duUHJvcGVydHkoaSkmJih0W2ldPWVbaV0pfSx0KGUsaSl9O3JldHVybiBmdW5jdGlvbihlLGkpe2Z1bmN0aW9uIG4oKXt0aGlzLmNvbnN0cnVjdG9yPWV9dChlLGkpLGUucHJvdG90eXBlPW51bGw9PT1pP09iamVjdC5jcmVhdGUoaSk6KG4ucHJvdG90eXBlPWkucHJvdG90eXBlLG5ldyBuKX19KCkscD1uLmZvcm1hdCxkPXIuZ2V0T3B0aW9uczt0PXMuYWRkRXZlbnQ7dmFyIHU9cy5jbGFtcCxmPXMuZGVmaW5lZCxtPXMuZXh0ZW5kLGc9cy5maW5kLHY9cy5pc051bWJlcix5PXMuaXNTdHJpbmcsXz1zLm1lcmdlLGI9cy5waWNrLHg9cy5zcGxhdDtyZXR1cm4gcz1mdW5jdGlvbih0KXtmdW5jdGlvbiBlKCl7cmV0dXJuIG51bGwhPT10JiZ0LmFwcGx5KHRoaXMsYXJndW1lbnRzKXx8dGhpc31yZXR1cm4gbChlLHQpLGUucHJvdG90eXBlLmluaXQ9ZnVuY3Rpb24oZSxpKXt2YXIgbj1kKCkscj1lLnhBeGlzLG89ZS55QXhpcyxhPWIoZS5uYXZpZ2F0b3ImJmUubmF2aWdhdG9yLmVuYWJsZWQsbi5uYXZpZ2F0b3IuZW5hYmxlZCwhMCk7ZS54QXhpcz1lLnlBeGlzPXZvaWQgMCxhPV8oe2NoYXJ0OntwYW5uaW5nOntlbmFibGVkOiEwLHR5cGU6IngifSxwaW5jaFR5cGU6IngifSxuYXZpZ2F0b3I6e2VuYWJsZWQ6YX0sc2Nyb2xsYmFyOntlbmFibGVkOmIobi5zY3JvbGxiYXImJm4uc2Nyb2xsYmFyLmVuYWJsZWQsITApfSxyYW5nZVNlbGVjdG9yOntlbmFibGVkOmIobi5yYW5nZVNlbGVjdG9yLmVuYWJsZWQsITApfSx0aXRsZTp7dGV4dDpudWxsfSx0b29sdGlwOntzcGxpdDpiKG4udG9vbHRpcC5zcGxpdCwhMCksY3Jvc3NoYWlyczohMH0sbGVnZW5kOntlbmFibGVkOiExfX0sZSx7aXNTdG9jazohMH0pLGUueEF4aXM9cixlLnlBeGlzPW8sYS54QXhpcz14KGUueEF4aXN8fHt9KS5tYXAoKGZ1bmN0aW9uKHQsaSl7cmV0dXJuIF8oYygieEF4aXMiLHQpLG4ueEF4aXMsbi54QXhpcyYmbi54QXhpc1tpXSx0LGgoInhBeGlzIixlKSl9KSksYS55QXhpcz14KGUueUF4aXN8fHt9KS5tYXAoKGZ1bmN0aW9uKHQsZSl7cmV0dXJuIF8oYygieUF4aXMiLHQpLG4ueUF4aXMsbi55QXhpcyYmbi55QXhpc1tlXSx0KX0pKSx0LnByb3RvdHlwZS5pbml0LmNhbGwodGhpcyxhLGkpfSxlLnByb3RvdHlwZS5jcmVhdGVBeGlzPWZ1bmN0aW9uKGUsaSl7cmV0dXJuIGkuYXhpcz1fKGMoZSxpLmF4aXMpLGkuYXhpcyxoKGUsdGhpcy51c2VyT3B0aW9ucykpLHQucHJvdG90eXBlLmNyZWF0ZUF4aXMuY2FsbCh0aGlzLGUsaSl9LGV9KGkpLGZ1bmN0aW9uKHQpe3Quc3RvY2tDaGFydD1mdW5jdGlvbihlLGksbil7cmV0dXJuIG5ldyB0KGUsaSxuKX19KHN8fChzPXt9KSksdChvLCJzZXRPcHRpb25zIiwoZnVuY3Rpb24odCl7dmFyIGU7dGhpcy5jaGFydC5vcHRpb25zLmlzU3RvY2smJih0aGlzLmlzKCJjb2x1bW4iKXx8dGhpcy5pcygiY29sdW1ucmFuZ2UiKT9lPXtib3JkZXJXaWR0aDowLHNoYWRvdzohMX06dGhpcy5pcygic2NhdHRlciIpfHx0aGlzLmlzKCJzbWEiKXx8KGU9e21hcmtlcjp7ZW5hYmxlZDohMSxyYWRpdXM6Mn19KSxlJiYodC5wbG90T3B0aW9uc1t0aGlzLnR5cGVdPV8odC5wbG90T3B0aW9uc1t0aGlzLnR5cGVdLGUpKSl9KSksdChlLCJhdXRvTGFiZWxBbGlnbiIsKGZ1bmN0aW9uKHQpe3ZhciBlPXRoaXMuY2hhcnQsaT10aGlzLm9wdGlvbnM7ZT1lLl9sYWJlbFBhbmVzPWUuX2xhYmVsUGFuZXN8fHt9O3ZhciBuPXRoaXMub3B0aW9ucy5sYWJlbHM7dGhpcy5jaGFydC5vcHRpb25zLmlzU3RvY2smJiJ5QXhpcyI9PT10aGlzLmNvbGwmJihpPWkudG9wKyIsIitpLmhlaWdodCwhZVtpXSYmbi5lbmFibGVkJiYoMTU9PT1uLngmJihuLng9MCksInVuZGVmaW5lZCI9PT10eXBlb2Ygbi5hbGlnbiYmKG4uYWxpZ249InJpZ2h0IiksZVtpXT10aGlzLHQuYWxpZ249InJpZ2h0Iix0LnByZXZlbnREZWZhdWx0KCkpKX0pKSx0KGUsImRlc3Ryb3kiLChmdW5jdGlvbigpe3ZhciB0PXRoaXMuY2hhcnQsZT10aGlzLm9wdGlvbnMmJnRoaXMub3B0aW9ucy50b3ArIiwiK3RoaXMub3B0aW9ucy5oZWlnaHQ7ZSYmdC5fbGFiZWxQYW5lcyYmdC5fbGFiZWxQYW5lc1tlXT09PXRoaXMmJmRlbGV0ZSB0Ll9sYWJlbFBhbmVzW2VdfSkpLHQoZSwiZ2V0UGxvdExpbmVQYXRoIiwoZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSh0KXt2YXIgZT0ieEF4aXMiPT09dD8ieUF4aXMiOiJ4QXhpcyI7cmV0dXJuIHQ9YS5vcHRpb25zW2VdLHYodCk/W2NbZV1bdF1dOnkodCk/W2MuZ2V0KHQpXTpzLm1hcCgoZnVuY3Rpb24odCl7cmV0dXJuIHRbZV19KSl9dmFyIGksbixyLG8sYT10aGlzLHM9dGhpcy5pc0xpbmtlZCYmIXRoaXMuc2VyaWVzP3RoaXMubGlua2VkUGFyZW50LnNlcmllczp0aGlzLnNlcmllcyxjPWEuY2hhcnQsaD1jLnJlbmRlcmVyLGw9YS5sZWZ0LHA9YS50b3AsZD1bXSxtPVtdLF89dC50cmFuc2xhdGVkVmFsdWUseD10LnZhbHVlLHc9dC5mb3JjZTtpZihjLm9wdGlvbnMuaXNTdG9jayYmITEhPT10LmFjcm9zc1BhbmVzJiYieEF4aXMiPT09YS5jb2xsfHwieUF4aXMiPT09YS5jb2xsKXt0LnByZXZlbnREZWZhdWx0KCksbT1lKGEuY29sbCk7dmFyIGs9YS5pc1hBeGlzP2MueUF4aXM6Yy54QXhpcztrLmZvckVhY2goKGZ1bmN0aW9uKHQpe2lmKCFmKHQub3B0aW9ucy5pZCl8fC0xPT09dC5vcHRpb25zLmlkLmluZGV4T2YoIm5hdmlnYXRvciIpKXt2YXIgZT10LmlzWEF4aXM/InlBeGlzIjoieEF4aXMiO2U9Zih0Lm9wdGlvbnNbZV0pP2NbZV1bdC5vcHRpb25zW2VdXTpjW2VdWzBdLGE9PT1lJiZtLnB1c2godCl9fSkpO3ZhciBDPW0ubGVuZ3RoP1tdOlthLmlzWEF4aXM/Yy55QXhpc1swXTpjLnhBeGlzWzBdXTttLmZvckVhY2goKGZ1bmN0aW9uKHQpey0xIT09Qy5pbmRleE9mKHQpfHxnKEMsKGZ1bmN0aW9uKGUpe3JldHVybiBlLnBvcz09PXQucG9zJiZlLmxlbj09PXQubGVufSkpfHxDLnB1c2godCl9KSk7dmFyIFM9YihfLGEudHJhbnNsYXRlKHgsbnVsbCxudWxsLHQub2xkKSk7dihTKSYmKGEuaG9yaXo/Qy5mb3JFYWNoKChmdW5jdGlvbih0KXt2YXIgZTtuPXQucG9zLG89bit0LmxlbixpPXI9TWF0aC5yb3VuZChTK2EudHJhbnNCKSwicGFzcyIhPT13JiYoaTxsfHxpPmwrYS53aWR0aCkmJih3P2k9cj11KGksbCxsK2Eud2lkdGgpOmU9ITApLGV8fGQucHVzaChbIk0iLGksbl0sWyJMIixyLG9dKX0pKTpDLmZvckVhY2goKGZ1bmN0aW9uKHQpe3ZhciBlO2k9dC5wb3Mscj1pK3QubGVuLG49bz1NYXRoLnJvdW5kKHArYS5oZWlnaHQtUyksInBhc3MiIT09dyYmKG48cHx8bj5wK2EuaGVpZ2h0KSYmKHc/bj1vPXUobixwLHArYS5oZWlnaHQpOmU9ITApLGV8fGQucHVzaChbIk0iLGksbl0sWyJMIixyLG9dKX0pKSksdC5wYXRoPTA8ZC5sZW5ndGg/aC5jcmlzcFBvbHlMaW5lKGQsdC5saW5lV2lkdGh8fDEpOm51bGx9fSkpLGEucHJvdG90eXBlLmNyaXNwUG9seUxpbmU9ZnVuY3Rpb24odCxlKXtmb3IodmFyIGk9MDtpPHQubGVuZ3RoO2krPTIpe3ZhciBuPXRbaV0scj10W2krMV07blsxXT09PXJbMV0mJihuWzFdPXJbMV09TWF0aC5yb3VuZChuWzFdKS1lJTIvMiksblsyXT09PXJbMl0mJihuWzJdPXJbMl09TWF0aC5yb3VuZChuWzJdKStlJTIvMil9cmV0dXJuIHR9LHQoZSwiYWZ0ZXJIaWRlQ3Jvc3NoYWlyIiwoZnVuY3Rpb24oKXt0aGlzLmNyb3NzTGFiZWwmJih0aGlzLmNyb3NzTGFiZWw9dGhpcy5jcm9zc0xhYmVsLmhpZGUoKSl9KSksdChlLCJhZnRlckRyYXdDcm9zc2hhaXIiLChmdW5jdGlvbih0KXt2YXIgZSxpO2lmKHRoaXMuY3Jvc3NoYWlyJiZ0aGlzLmNyb3NzaGFpci5sYWJlbCYmdGhpcy5jcm9zc2hhaXIubGFiZWwuZW5hYmxlZCYmdGhpcy5jcm9zcyYmdih0aGlzLm1pbikmJnYodGhpcy5tYXgpKXt2YXIgbj10aGlzLmNoYXJ0LHI9dGhpcy5sb2dhcml0aG1pYyxvPXRoaXMuY3Jvc3NoYWlyLmxhYmVsLGE9dGhpcy5ob3JpeixzPXRoaXMub3Bwb3NpdGUsYz10aGlzLmxlZnQsaD10aGlzLnRvcCxsPXRoaXMuY3Jvc3NMYWJlbCxkPW8uZm9ybWF0LHU9IiIsZj0iaW5zaWRlIj09PXRoaXMub3B0aW9ucy50aWNrUG9zaXRpb24sZz0hMSE9PXRoaXMuY3Jvc3NoYWlyLnNuYXAseT0wLF89dC5lfHx0aGlzLmNyb3NzJiZ0aGlzLmNyb3NzLmU7dD10LnBvaW50O3ZhciB4PXRoaXMubWluLHc9dGhpcy5tYXg7ciYmKHg9ci5saW4ybG9nKHgpLHc9ci5saW4ybG9nKHcpKSxyPWE/ImNlbnRlciI6cz8icmlnaHQiPT09dGhpcy5sYWJlbEFsaWduPyJyaWdodCI6ImxlZnQiOiJsZWZ0Ij09PXRoaXMubGFiZWxBbGlnbj8ibGVmdCI6ImNlbnRlciIsbHx8KGw9dGhpcy5jcm9zc0xhYmVsPW4ucmVuZGVyZXIubGFiZWwoIiIsMCx2b2lkIDAsby5zaGFwZXx8ImNhbGxvdXQiKS5hZGRDbGFzcygiaGlnaGNoYXJ0cy1jcm9zc2hhaXItbGFiZWwgaGlnaGNoYXJ0cy1jb2xvci0iKyh0P3Quc2VyaWVzLmNvbG9ySW5kZXg6dGhpcy5zZXJpZXNbMF0mJnRoaXMuc2VyaWVzWzBdLmNvbG9ySW5kZXgpKS5hdHRyKHthbGlnbjpvLmFsaWdufHxyLHBhZGRpbmc6YihvLnBhZGRpbmcsOCkscjpiKG8uYm9yZGVyUmFkaXVzLDMpLHpJbmRleDoyfSkuYWRkKHRoaXMubGFiZWxHcm91cCksbi5zdHlsZWRNb2RlfHxsLmF0dHIoe2ZpbGw6by5iYWNrZ3JvdW5kQ29sb3J8fHQmJnQuc2VyaWVzJiZ0LnNlcmllcy5jb2xvcnx8IiM2NjY2NjYiLHN0cm9rZTpvLmJvcmRlckNvbG9yfHwiIiwic3Ryb2tlLXdpZHRoIjpvLmJvcmRlcldpZHRofHwwfSkuY3NzKG0oe2NvbG9yOiIjZmZmZmZmIixmb250V2VpZ2h0OiJub3JtYWwiLGZvbnRTaXplOiIxMXB4Iix0ZXh0QWxpZ246ImNlbnRlciJ9LG8uc3R5bGV8fHt9KSkpLGE/KHI9Zz8odC5wbG90WHx8MCkrYzpfLmNoYXJ0WCxoKz1zPzA6dGhpcy5oZWlnaHQpOihyPXM/dGhpcy53aWR0aCtjOjAsaD1nPyh0LnBsb3RZfHwwKStoOl8uY2hhcnRZKSxkfHxvLmZvcm1hdHRlcnx8KHRoaXMuZGF0ZVRpbWUmJih1PSIlYiAlZCwgJVkiKSxkPSJ7dmFsdWUiKyh1PyI6Iit1OiIiKSsifSIpLHU9Zz90aGlzLmlzWEF4aXM/dC54OnQueTp0aGlzLnRvVmFsdWUoYT9fLmNoYXJ0WDpfLmNoYXJ0WSksZz10P3Quc2VyaWVzLmlzUG9pbnRJbnNpZGUodCk6dih1KSYmdT54JiZ1PHcsXz0iIixkP189cChkLHt2YWx1ZTp1fSxuKTpvLmZvcm1hdHRlciYmdih1KSYmKF89by5mb3JtYXR0ZXIuY2FsbCh0aGlzLHUpKSxsLmF0dHIoe3RleHQ6Xyx4OnIseTpoLHZpc2liaWxpdHk6Zz8idmlzaWJsZSI6ImhpZGRlbiJ9KSxvPWwuZ2V0QkJveCgpLHYobC55KSYmKGE/KGYmJiFzfHwhZiYmcykmJihoPWwueS1vLmhlaWdodCk6aD1sLnktby5oZWlnaHQvMiksYT8oZT1jLW8ueCxpPWMrdGhpcy53aWR0aC1vLngpOihlPSJsZWZ0Ij09PXRoaXMubGFiZWxBbGlnbj9jOjAsaT0icmlnaHQiPT09dGhpcy5sYWJlbEFsaWduP2MrdGhpcy53aWR0aDpuLmNoYXJ0V2lkdGgpLGwudHJhbnNsYXRlWDxlJiYoeT1lLWwudHJhbnNsYXRlWCksbC50cmFuc2xhdGVYK28ud2lkdGg+PWkmJih5PS0obC50cmFuc2xhdGVYK28ud2lkdGgtaSkpLGwuYXR0cih7eDpyK3kseTpoLGFuY2hvclg6YT9yOnRoaXMub3Bwb3NpdGU/MDpuLmNoYXJ0V2lkdGgsYW5jaG9yWTphP3RoaXMub3Bwb3NpdGU/bi5jaGFydEhlaWdodDowOmgrby5oZWlnaHQvMn0pfX0pKSxvLnByb3RvdHlwZS5mb3JjZUNyb3BwaW5nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5jaGFydCxlPXRoaXMub3B0aW9ucy5kYXRhR3JvdXBpbmc7cmV0dXJuITEhPT10aGlzLmFsbG93REcmJmUmJmIoZS5lbmFibGVkLHQub3B0aW9ucy5pc1N0b2NrKX0sdChpLCJ1cGRhdGUiLChmdW5jdGlvbih0KXt0PXQub3B0aW9ucywic2Nyb2xsYmFyImluIHQmJnRoaXMubmF2aWdhdG9yJiYoXyghMCx0aGlzLm9wdGlvbnMuc2Nyb2xsYmFyLHQuc2Nyb2xsYmFyKSx0aGlzLm5hdmlnYXRvci51cGRhdGUoe30sITEpLGRlbGV0ZSB0LnNjcm9sbGJhcil9KSksc30pKSxlKGksIm1hc3RlcnMvbW9kdWxlcy9zdG9jay5zcmMuanMiLFtpWyJDb3JlL0dsb2JhbHMuanMiXSxpWyJDb3JlL0F4aXMvT3JkaW5hbEF4aXMuanMiXSxpWyJTZXJpZXMvRGF0YU1vZGlmeUNvbXBvc2l0aW9uLmpzIl0saVsiQ29yZS9TY3JvbGxiYXIuanMiXSxpWyJDb3JlL0NoYXJ0L1N0b2NrQ2hhcnQuanMiXV0sKGZ1bmN0aW9uKHQsZSxpLG4scil7dC5TY3JvbGxiYXI9bix0LlN0b2NrQ2hhcnQ9dC5zdG9ja0NoYXJ0PXIuc3RvY2tDaGFydCxuLmNvbXBvc2UodC5BeGlzKSxlLmNvbXBvc2UodC5BeGlzLHQuU2VyaWVzLHQuQ2hhcnQpLGkuY29tcG9zZSh0LlNlcmllcyx0LkF4aXMsdC5Qb2ludCl9KSksZShpLCJtYXN0ZXJzL2hpZ2hzdG9jay5zcmMuanMiLFtpWyJtYXN0ZXJzL2hpZ2hjaGFydHMuc3JjLmpzIl1dLChmdW5jdGlvbih0KXtyZXR1cm4gdC5wcm9kdWN0PSJIaWdoc3RvY2siLHR9KSksaVsibWFzdGVycy9oaWdoc3RvY2suc3JjLmpzIl0uX21vZHVsZXM9aSxpWyJtYXN0ZXJzL2hpZ2hzdG9jay5zcmMuanMiXX0pKX0sZTZmMzpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiMDdlMyIpLHI9aSgiMzZjMyIpLG89aSgiNWI0ZSIpKCExKSxhPWkoIjU1NTkiKSgiSUVfUFJPVE8iKTt0LmV4cG9ydHM9ZnVuY3Rpb24odCxlKXt2YXIgaSxzPXIodCksYz0wLGg9W107Zm9yKGkgaW4gcylpIT1hJiZuKHMsaSkmJmgucHVzaChpKTt3aGlsZShlLmxlbmd0aD5jKW4ocyxpPWVbYysrXSkmJih+byhoLGkpfHxoLnB1c2goaSkpO3JldHVybiBofX0sZThiYTpmdW5jdGlvbih0LGUsaSl7KGZ1bmN0aW9uKHQsaSl7aShlKX0pKDAsKGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0Ijtjb25zdCBlPXtCVEM6IuKCvyIsRVRIOiLOniIsVVNEOiIkIixDQUQ6IkMkIixHQlA6IsKjIixFVVI6IuKCrCIsQ0hGOiJGci4iLFNFSzoia3IiLEpQWToiwqUiLENOWToiwqUiLElOUjoi4oK5IixSVUI6IuKCvSIsQVVEOiJBJCIsSEtEOiJISyQiLFNHRDoiUyQiLFRXRDoiTlQkIixCUkw6IlIkIixLUlc6IuKCqSIsWkFSOiJSIixNWVI6IlJNIixJRFI6IlJwIixOWkQ6Ik5aJCIsTVhOOiJNWCQiLFBIUDoi4oKxIixES0s6ImtyLiIsUExOOiJ6xYIiLEFFRDoiREgiLEFSUzoiJCIsQ0xQOiJDTFAiLENaSzoiS8SNIixIVUY6IkZ0IixJTFM6IuKCqiIsS1dEOiJLRCIsTEtSOiJScyIsTk9LOiJrciIsUEtSOiLigqgiLFNBUjoiU1IiLFRIQjoi4Li/IixUUlk6IuKCuiIsWEFVOiJYQVUiLFhBRzoiWEFHIixYRFI6IlhEUiJ9LGk9e01ZUjp7bG9jYXRpb246e3N0YXJ0OiEwfSxmb3JMb2NhbGVzOntlbjohMH19LFNHRDp7bG9jYXRpb246e3N0YXJ0OiEwfSxmb3JMb2NhbGVzOntlbjohMH19LFBIUDp7bG9jYXRpb246e3N0YXJ0OiEwfSxmb3JMb2NhbGVzOntlbjohMH19LEJUQzp7bG9jYXRpb246e3N0YXJ0OiEwfSxmb3JMb2NhbGVzOntlbjohMH19LEVUSDp7bG9jYXRpb246e3N0YXJ0OiEwfSxmb3JMb2NhbGVzOntlbjohMH19fTtmdW5jdGlvbiBuKCl7cmV0dXJuISgib2JqZWN0IiE9dHlwZW9mIEludGx8fCFJbnRsfHwiZnVuY3Rpb24iIT10eXBlb2YgSW50bC5OdW1iZXJGb3JtYXQpfWZ1bmN0aW9uIHIodCl7cmV0dXJuIkJUQyI9PT10fHwiRVRIIj09PXR9ZnVuY3Rpb24gbyh0KXtyZXR1cm4gcih0KXx8bnVsbD09ZVt0XX1mdW5jdGlvbiBhKHQsZSl7Y29uc3QgaT1uZXcgUmVnRXhwKGAoXFwufCwpKDB7JHtlKzF9LH0pKD89WzEtOV0/KWApO3JldHVybiB0LnJlcGxhY2UoaSwoZSxpLG4pPT5gJHtpfTA8c3ViIHRpdGxlPSIke3R9Ij4ke24ubGVuZ3RofTwvc3ViPmApfWZ1bmN0aW9uIHModCxuPSJlbiIscil7InVuZGVmaW5lZCIhPT10eXBlb2YgciYmKHQ9YSh0LHIpKTtjb25zdCBvPXQubWF0Y2goL15bQS1aXXszfVxzPy8pO2lmKG51bGwhPW8pe2NvbnN0IHI9b1swXS50cmltKCksYT1pW3JdO3JldHVybiBhJiZhLmxvY2F0aW9uLnN0YXJ0JiZhLmZvckxvY2FsZXNbbl0/dC5yZXBsYWNlKG9bMF0sZVtyXSk6dH1jb25zdCBzPXQubWF0Y2goL1tBLVpdezN9JC8pO2lmKG51bGwhPXMpe2NvbnN0IHI9c1swXSxvPWlbcl07cmV0dXJuIG8mJm8ubG9jYXRpb24uZW5kJiZvLmZvckxvY2FsZXNbbl0/dC5yZXBsYWNlKHIsZVtyXSk6dH1yZXR1cm4gdH1mdW5jdGlvbiBjKHQsZSxpLG4pe3RyeXtjb25zdCByPXtzdHlsZToiY3VycmVuY3kiLGN1cnJlbmN5OnQsY3VycmVuY3lEaXNwbGF5OiJzeW1ib2wifTtyZXR1cm4gdm9pZCAwIT09aT8oci5taW5pbXVtRnJhY3Rpb25EaWdpdHM9aSxyLm1heGltdW1GcmFjdGlvbkRpZ2l0cz1pKTp2b2lkIDAhPT1uJiYoci5tYXhpbXVtU2lnbmlmaWNhbnREaWdpdHM9biksbmV3IEludGwuTnVtYmVyRm9ybWF0KGUscil9Y2F0Y2gocil7cmV0dXJuIGgodCxlLGkpfX1mdW5jdGlvbiBoKHQsZSxpPTIpe3JldHVybiB0PXQudG9VcHBlckNhc2UoKSxpPjI/e2Zvcm1hdDplPT5vKHQpP2Ake2UudG9GaXhlZChpKX0gJHt0fWA6YCR7dH0gJHtlLnRvRml4ZWQoaSl9YH06e2Zvcm1hdDppPT5vKHQpP2Ake2kudG9Mb2NhbGVTdHJpbmcoZSl9ICR7dH1gOmAke3R9ICR7aS50b0xvY2FsZVN0cmluZyhlKX1gfX1mdW5jdGlvbiBsKHQsZSl7aWYoIW4oKSlyZXR1cm4gaCh0LGUsMCk7bGV0IGk9e3N0eWxlOiJkZWNpbWFsIixub3RhdGlvbjoiY29tcGFjdCIsbWluaW11bUZyYWN0aW9uRGlnaXRzOjAsbWF4aW11bUZyYWN0aW9uRGlnaXRzOjN9O3JldHVybiBvKHQpJiYhcih0KXx8KGkuc3R5bGU9ImN1cnJlbmN5IixpLmN1cnJlbmN5PXQpLG5ldyBJbnRsLk51bWJlckZvcm1hdChlLGkpfWZ1bmN0aW9uIHAodCxlLGksYSl7Y29uc3Qgcz1uKCksbD1zJiYoIW8odCl8fHIodCkpO3JldHVybiBsP2ModCxlLGksYSk6aCh0LGUsaSl9bGV0IGQsdSxmLG0sZyx2LHksXyxiLHgsdyxrLEM9e307ZnVuY3Rpb24gUygpe0M9e319ZnVuY3Rpb24gQSh0LGUpe2NvbnN0IGk9YCR7dH0tJHtlfWAsbj1DW2ldO2Y9bj9uLmN1cnJlbmN5Rm9ybWF0dGVyTm9ybWFsOnAodCxlKSxtPW4/bi5jdXJyZW5jeUZvcm1hdHRlck5vRGVjaW1hbDpwKHQsZSwwKSxnPW4/bi5jdXJyZW5jeUZvcm1hdHRlck1lZGl1bTpwKHQsZSwzKSx2PW4/bi5jdXJyZW5jeUZvcm1hdHRlclR3b0RlY2ltYWw6cCh0LGUsMikseT1uP24uY3VycmVuY3lGb3JtYXR0ZXJTbWFsbDpwKHQsZSw2KSxfPW4/bi5jdXJyZW5jeUZvcm1hdHRlclZlcnlTbWFsbDpwKHQsZSw4KSxiPW4/bi5jdXJyZW5jeUZvcm1hdHRlclZlcnlWZXJ5U21hbGw6cCh0LGUsMTIpLHg9bj9uLmN1cnJlbmN5Rm9ybWF0dGVyMTVEUDpwKHQsZSwxNSksdz1uP24uY3VycmVuY3lGb3JtYXR0ZXIxOERQOnAodCxlLDE4KSxrPW4/bi5jdXJyZW5jeUZvcm1hdHRlckFiYnJldmlhdGVkOmwodCxlKSxudWxsPT1uJiYoQ1tpXT17fSxDW2ldLmN1cnJlbmN5Rm9ybWF0dGVyTm9ybWFsPWYsQ1tpXS5jdXJyZW5jeUZvcm1hdHRlck5vRGVjaW1hbD1tLENbaV0uY3VycmVuY3lGb3JtYXR0ZXJNZWRpdW09ZyxDW2ldLmN1cnJlbmN5Rm9ybWF0dGVyVHdvRGVjaW1hbD12LENbaV0uY3VycmVuY3lGb3JtYXR0ZXJTbWFsbD15LENbaV0uY3VycmVuY3lGb3JtYXR0ZXJWZXJ5U21hbGw9XyxDW2ldLmN1cnJlbmN5Rm9ybWF0dGVyVmVyeVZlcnlTbWFsbD1iLENbaV0uY3VycmVuY3lGb3JtYXR0ZXIxNURQPXgsQ1tpXS5jdXJyZW5jeUZvcm1hdHRlcjE4RFA9dyxDW2ldLmN1cnJlbmN5Rm9ybWF0dGVyQWJicmV2aWF0ZWQ9ayl9Y29uc3QgTT01MCxQPTFlMyxPPTFlNTtmdW5jdGlvbiBUKHQsZSxpPSJlbiIsbj0hMSxhPSExLGM9ITEpe2U9ZS50b1VwcGVyQ2FzZSgpO2xldCBoPXZvaWQgMDtpZihkPT09ZSYmdT09aXx8KGQ9ZSx1PWksQShlLGkpKSxjKXtsZXQgbj1rLmZvcm1hdCh0KTtyZXR1cm4gbyhlKSYmIXIoZSkmJihuPWAke259ICR7ZX1gKSxzKG4saSl9aWYoITA9PT1hJiZ0PjEwMClyZXR1cm4gcyhtLmZvcm1hdCh0KSxpKTtpZigib2JqZWN0Ij09PXR5cGVvZiBhJiZudWxsIT09YSl7aWYobil7bGV0IGU9YS5oYXNPd25Qcm9wZXJ0eSgiZGVjaW1hbFBsYWNlcyIpP3QudG9GaXhlZChhLmRlY2ltYWxQbGFjZXMpOnQ7cmV0dXJuYCR7cGFyc2VGbG9hdChlKS50b1ByZWNpc2lvbihhLnNpZ25pZmljYW50RmlndXJlcykvMX1gfWlmKGEuaGFzT3duUHJvcGVydHkoIm1heGltdW1EZWNpbWFsVHJhaWxpbmdaZXJvZXMiKSYmKGg9YS5tYXhpbXVtRGVjaW1hbFRyYWlsaW5nWmVyb2VzKSxhLmhhc093blByb3BlcnR5KCJkZWNpbWFsUGxhY2VzIikmJmEuaGFzT3duUHJvcGVydHkoInNpZ25pZmljYW50RmlndXJlcyIpKXtjb25zdCBuPXAoZSxpLHZvaWQgMCxhLnNpZ25pZmljYW50RmlndXJlcyk7cmV0dXJuIHMobi5mb3JtYXQoTnVtYmVyLnBhcnNlRmxvYXQodC50b0ZpeGVkKGEuZGVjaW1hbFBsYWNlcykpKSxpLGgpfWlmKGEuaGFzT3duUHJvcGVydHkoImRlY2ltYWxQbGFjZXMiKXx8YS5oYXNPd25Qcm9wZXJ0eSgic2lnbmlmaWNhbnRGaWd1cmVzIikpe2NvbnN0IG49cChlLGksYS5kZWNpbWFsUGxhY2VzLGEuc2lnbmlmaWNhbnRGaWd1cmVzKTtyZXR1cm4gcyhuLmZvcm1hdCh0KSxpLGgpfX1pZighbyhlKSl7Y29uc3Qgcj1NYXRoLmFicyh0KTtyZXR1cm4gbj9yPDFlLTEyP3QudG9GaXhlZCgxOCk6cjwxZS05P3QudG9GaXhlZCgxNSk6cjwxZS02P3QudG9GaXhlZCgxMik6cjwuMDAxP3QudG9GaXhlZCg4KTpyPDE/dC50b0ZpeGVkKDYpOnQudG9GaXhlZCgyKTowPT09cj9zKGYuZm9ybWF0KHQpLGksaCk6cjwxZS0xMj9zKHcuZm9ybWF0KHQpLGksaCk6cjwxZS05P3MoeC5mb3JtYXQodCksaSxoKTpyPDFlLTY/cyhiLmZvcm1hdCh0KSxpLGgpOnI8LjA1P3MoXy5mb3JtYXQodCksaSxoKTpyPDE/cyh5LmZvcm1hdCh0KSxpLGgpOiJKUFkiPT09ZSYmcjwxMDA/cyh2LmZvcm1hdCh0KSxpLGgpOnMocj5PP20uZm9ybWF0KHQpOmYuZm9ybWF0KHQpLGkpfXtsZXQgZT1wYXJzZUZsb2F0KHQpO2lmKG4pcmV0dXJuIDA9PT10P2UudG9GaXhlZCgyKTplLnRvUHJlY2lzaW9uKDgpO2lmKDA9PT10KXJldHVybiBzKGYuZm9ybWF0KHQpLGksaCk7aWYoZT49UClyZXR1cm4gcyhtLmZvcm1hdCh0KSxpKTtpZihlPj1NJiZlPFApcmV0dXJuIHMoZy5mb3JtYXQodCksaSxoKTtpZihlPj0xJiZlPE0pcmV0dXJuIHMoeS5mb3JtYXQodCksaSxoKTtpZihlPj0xZS02JiZlPDEpcmV0dXJuIHMoXy5mb3JtYXQodCksaSxoKTtpZihlPj0xZS05JiZlPDFlLTYpcmV0dXJuIHMoYi5mb3JtYXQodCksaSxoKTtpZihlPj0xZS0xMiYmZTwxZS05KXJldHVybiBzKHguZm9ybWF0KHQpLGksaCk7aWYoZTwxZS0xMilyZXR1cm4gcyh3LmZvcm1hdCh0KSxpLGgpfX10LmNsZWFyQ2FjaGU9Uyx0LmZvcm1hdEN1cnJlbmN5PVQsdC5pc0NyeXB0bz1vLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KX0pKX0sZTlhZTpmdW5jdGlvbih0LGUsaSl7InVzZSBzdHJpY3QiO3ZhciBuPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcyxlPXQuJGNyZWF0ZUVsZW1lbnQsaT10Ll9zZWxmLl9jfHxlO3JldHVybiBpKCJkaXYiLHtjbGFzczp0LndpZGdldENsYXNzZXN9LFt0Ll90KCJkZWZhdWx0IildLDIpfSxyPVtdLG89e25hbWU6IkdlY2tvV2lkZ2V0Iixwcm9wczp7ZGFya01vZGU6e3R5cGU6Qm9vbGVhbixkZWZhdWx0OiExfSxvdXRsaW5lZDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITB9LHRyYW5zcGFyZW50QmFja2dyb3VuZDp7dHlwZTpCb29sZWFuLGRlZmF1bHQ6ITF9fSxjb21wdXRlZDp7d2lkZ2V0Q2xhc3NlczpmdW5jdGlvbigpe3JldHVybnsiZ2Vja28td2lkZ2V0IjohMCwiZ2Vja28tZGFyayI6ITA9PT10aGlzLmRhcmtNb2RlLCJnZWNrby1vdXRsaW5lIjohMD09PXRoaXMub3V0bGluZWQsImdlY2tvLXRyYW5zcGFyZW50LWJhY2tncm91bmQiOiEwPT09dGhpcy50cmFuc3BhcmVudEJhY2tncm91bmR9fX19LGE9byxzPShpKCI0OWMzIiksaSgiMjg3NyIpKSxjPU9iamVjdChzWyJhIl0pKGEsbixyLCExLG51bGwsbnVsbCxudWxsKTtlWyJhIl09Yy5leHBvcnRzfSxlYmZkOmZ1bmN0aW9uKHQsZSxpKXt2YXIgbj1pKCI2MmEwIikoIm1ldGEiKSxyPWkoImY3NzIiKSxvPWkoIjA3ZTMiKSxhPWkoImQ5ZjYiKS5mLHM9MCxjPU9iamVjdC5pc0V4dGVuc2libGV8fGZ1bmN0aW9uKCl7cmV0dXJuITB9LGg9IWkoIjI5NGMiKSgoZnVuY3Rpb24oKXtyZXR1cm4gYyhPYmplY3QucHJldmVudEV4dGVuc2lvbnMoe30pKX0pKSxsPWZ1bmN0aW9uKHQpe2EodCxuLHt2YWx1ZTp7aToiTyIrICsrcyx3Ont9fX0pfSxwPWZ1bmN0aW9uKHQsZSl7aWYoIXIodCkpcmV0dXJuInN5bWJvbCI9PXR5cGVvZiB0P3Q6KCJzdHJpbmciPT10eXBlb2YgdD8iUyI6IlAiKSt0O2lmKCFvKHQsbikpe2lmKCFjKHQpKXJldHVybiJGIjtpZighZSlyZXR1cm4iRSI7bCh0KX1yZXR1cm4gdFtuXS5pfSxkPWZ1bmN0aW9uKHQsZSl7aWYoIW8odCxuKSl7aWYoIWModCkpcmV0dXJuITA7aWYoIWUpcmV0dXJuITE7bCh0KX1yZXR1cm4gdFtuXS53fSx1PWZ1bmN0aW9uKHQpe3JldHVybiBoJiZmLk5FRUQmJmModCkmJiFvKHQsbikmJmwodCksdH0sZj10LmV4cG9ydHM9e0tFWTpuLE5FRUQ6ITEsZmFzdEtleTpwLGdldFdlYWs6ZCxvbkZyZWV6ZTp1fX0sZWRkNDpmdW5jdGlvbih0KXt0LmV4cG9ydHM9SlNPTi5wYXJzZSgneyJhcGlfZXJyb3IiOiJDYW5cJ3QgY29ubmVjdCB0byBDb2luR2Vja28gQVBJLiBQbGVhc2UgdHJ5IGFnYWluIGxhdGVyLiIsInBvd2VyZWRfYnkiOiJQb3dlcmVkIGJ5IiwiY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6Ik1hcmtldCBDYXAgUmFuayIsIm1jYXAiOiJNYXJrZXQgQ2FwIiwiMjRoX3ZvbHVtZSI6IjI0aCBWb2x1bWUiLCIyNGhfaGlnaF9sb3ciOiIyNGggSGlnaC9Mb3cifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IiwiY3J5cHRvX3ByaWNlX2NvbXBhcmlzb24iOiJDcnlwdG8gUHJpY2UgQ29tcGFyaXNvbiIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiJDcnlwdG8gTWFya2V0IENhcCBDb21wYXJpc29uIn0sImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfY2hhcnRfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjRIIEhpZ2giLCIyNGhfbG93IjoiMjRIIExvdyIsInZpZXdfcHJpY2VfY2hhcnQiOiJWaWV3ICV7Y29pbn0gUHJpY2UgQ2hhcnQiLCJwb3dlcmVkX2J5IjoiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlBvd2VyZWQgYnkgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNEggSGlnaCIsIjI0aF9sb3ciOiIyNEggTG93Iiwidmlld19wcmljZV9jaGFydCI6IlZpZXcgJXtjb2lufSBQcmljZSBDaGFydCIsInBvd2VyZWRfYnkiOiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiJWaWV3ICV7Y29pbn0gUHJpY2UgQ2hhcnQiLCJwb3dlcmVkX2J5IjoiUG93ZXJlZCBieSAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJDcnlwdG9jdXJyZW5jaWVzIFRyZWUgTWFwIiwic3VidGl0bGUiOiIoVG9wICV7dG9wfSBieSBNYXJrZXQgQ2FwKSIsInBvd2VyZWRfYnkiOiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJwcmljZSI6IlByaWNlIiwibWFya2V0X2NhcCI6Ik1hcmtldCBDYXAiLCIyNGhfY2hhbmdlIjoiMjRoIENoYW5nZSJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsicmFuZG9tX2NvaW5fZ2VuZXJhdG9yIjoiUmFuZG9tIENvaW4gR2VuZXJhdG9yIiwiY29pbnNfZnJvbSI6ImNvaW5zIGZyb20iLCJkaXNjbGFpbWVyIjoiRGlzY2xhaW1lcjogVGhpcyB0b29sIGlzIGNyZWF0ZWQgZm9yIGVudGVydGFpbm1lbnQgcHVycG9zZXMgYW5kIGRvZXMgbm90IGNvbnN0aXR1dGUgZmluYW5jaWFsIGFkdmljZS4iLCJzcGluIjoiU3BpbiIsImF2YWlsYWJsZV9jb2lucyI6IkF2YWlsYWJsZSBDb2lucyJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6IkNvaW5HZWNrbyBQcmljZSBVcGRhdGUiLCJ0b3RhbF9tY2FwIjoiVG90YWwgTSBjYXAiLCIyNGhfdm9sIjoiMjRoIFZvbHVtZSIsImRvbSI6IkRvbSJ9LCJjb2luX21hcmtldF90aWNrZXJfbGlzdF93aWRnZXQiOnsiZXhjaGFuZ2UiOiJFeGNoYW5nZSIsInBhaXIiOiJQYWlyIiwicHJpY2UiOiJQcmljZSIsInZvbHVtZSI6IlZvbHVtZSIsInRydXN0X3Njb3JlIjoiVHJ1c3QgU2NvcmUiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiVmlldyBQcmljZSBDaGFydCIsInBvd2VyZWRfYnkiOiJQb3dlcmVkIGJ5ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJ2aWV3X2FsbCI6IlZpZXcgYWxsICV7Y29pbn0gbWFya2V0cyJ9fScpfSxmMTg0OmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiLOms6xz4TOrM+EzrHOvs63IM66zrXPhs6xzrvOsc65zr/PgM6/zq/Ot8+DzrfPgiIsIm1jYXAiOiLOms61z4bOsc67zrHOuc6/z4DOv86vzrfPg863IiwiMjRoX3ZvbHVtZSI6Is6MzrPOus6/z4IgMjQgz4nPgc+Ozr0iLCIyNGhfaGlnaF9sb3ciOiLOpc+IzrfOu8+Mz4IvzqfOsc68zrfOu8+Mz4IgMjQgz4nPgc+Ozr0ifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoizqDOsc+Bzq3Ph861z4TOsc65IM6xz4DPjDogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsImNyeXB0b19wcmljZV9jb21wYXJpc29uIjoizqPPjc6zzrrPgc65z4POtyDPhM65zrzPjs69IM66z4HPhc+Az4TOv869zr/OvM65z4POvM6sz4TPic69IiwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvbiI6Is6jz43Os866z4HOuc+DzrcgzrrOtc+GzrHOu86xzrnOv8+Azr/Or863z4POt8+CIM66z4HPhc+Az4TOv869zr/OvM65z4POvM6sz4TPic69In0sImNvaW5fcHJpY2Vfc3RhdGljX2hlYWRsaW5lX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoizqDOsc+Bzq3Ph861z4TOsc65IM6xz4DPjDogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6Is6lz4jOt867z4zPgiAyNCDPic+Bz47OvSIsIjI0aF9sb3ciOiLOp86xzrzOt867z4zPgiAyNCDPic+Bz47OvSIsInZpZXdfcHJpY2VfY2hhcnQiOiLOoM+Bzr/Oss6/zrvOriDOs8+BzrHPhs6uzrzOsc+Ezr/PgiDPhM65zrzPjs69ICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoizqDOsc+Bzq3Ph861z4TOsc65IM6xz4DPjDogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiLOoM6xz4HOrc+HzrXPhM6xzrkgzrHPgM+MOiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fbGlzdF93aWRnZXQiOnsicG93ZXJlZF9ieSI6Is6gzrHPgc6tz4fOtc+EzrHOuSDOsc+Az4w6ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6Is6gzrHPgc6tz4fOtc+EzrHOuSDOsc+Az4w6ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl90aWNrZXJfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoizqXPiM63zrvPjM+CIDI0IM+Jz4HPjs69IiwiMjRoX2xvdyI6Is6nzrHOvM63zrvPjM+CIDI0IM+Jz4HPjs69Iiwidmlld19wcmljZV9jaGFydCI6Is6gz4HOv86yzr/Ou86uIM6zz4HOsc+Gzq7OvM6xz4TOv8+CIM+EzrnOvM+Ozr0gJXtjb2lufSIsInBvd2VyZWRfYnkiOiLOoM6xz4HOrc+HzrXPhM6xzrkgzrHPgM+MOiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fY29udmVydGVyX3dpZGdldCI6eyJ2aWV3X3ByaWNlX2NoYXJ0IjoizqDPgc6/zrLOv867zq4gzrPPgc6xz4bOrs68zrHPhM6/z4Igz4TOuc68z47OvSAle2NvaW59IiwicG93ZXJlZF9ieSI6Is6gzrHPgc6tz4fOtc+EzrHOuSDOsc+Az4w6ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9oZWF0bWFwX3dpZGdldCI6eyJ0aXRsZSI6Is6Tz4HOrM+GzrfOvM6xIHRyZWVtYXAgzrrPgc+Fz4DPhM6/zr3Ov868zrnPg868zqzPhM+Jzr0iLCJzdWJ0aXRsZSI6IijOms6/z4HPhc+GzrHOr86xICV7dG9wfSDOus6xz4TOrCDOus61z4bOsc67zrHOuc6/z4DOv86vzrfPg863KSIsInBvd2VyZWRfYnkiOiLOoM6xz4HOrc+HzrXPhM6xzrkgzrHPgM+MOiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sInJhbmRvbV9jb2luX3dpZGdldCI6eyJkaXNjbGFpbWVyIjoizpHPgM6/z4DOv86vzrfPg863IM61z4XOuM+Fzr3Pjs69OiDOkc+Fz4TOrCDPhM6xIM61z4HOs86xzrvOtc6vzrEgz4fPgc63z4POuc68zr/PgM6/zrnOv8+Nzr3PhM6xzrkgzrPOuc6xIM67z4zOs86/z4XPgiDPiM+Fz4fOsc6zz4nOs86vzrHPgiDOus6xzrkgzrTOtc69IM6xz4DOv8+EzrXOu86/z43OvSDPh8+BzrfOvM6xz4TOv86/zrnOus6/zr3Ov868zrnOus6tz4Igz4PPhc68zrLOv8+FzrvOrc+CLiIsInNwaW4iOiJTcGluIiwiYXZhaWxhYmxlX2NvaW5zIjoizpTOuc6xzrjOrc+DzrnOvM6xIM69zr/OvM6vz4POvM6xz4TOsSJ9LCJjb2luX2RhaWx5X3ByaWNlX3dpZGdldCI6eyJ0aXRsZSI6Is6Vzr3Ot868zq3Pgc+Jz4POtyDPhM65zrzPjs69IM6xz4DPjCDPhM6/IENvaW5HZWNrbyIsInRvdGFsX21jYXAiOiLOo8+Fzr3Ov867zrnOus6uIM66zrXPhs6xzrvOsc65zr/PgM6/zq/Ot8+DzrciLCIyNGhfdm9sIjoizozOs866zr/PgiDPhM65z4Igz4TOtc67zrXPhc+EzrHOr861z4IgMjQgz47Pgc61z4IiLCJkb20iOiLOms+Fz4HOuc6xz4HPh86vzrEifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoizpHOvc+EzrHOu867zrHOus+Ezq7Pgc65zr8iLCJwYWlyIjoizpbOtc+NzrPOv8+CIiwicHJpY2UiOiLOpM65zrzOriIsInZvbHVtZSI6Is6MzrPOus6/z4IiLCJ0cnVzdF9zY29yZSI6IlRydXN0IFNjb3JlIiwidmlld19wcmljZV9jaGFydCI6Is6gz4HOv86yzr/Ou86uIM6zz4HOsc+Gzq7OvM6xz4TOv8+CIM+EzrnOvM+Ozr0iLCJwb3dlcmVkX2J5IjoizqDOsc+Bzq3Ph861z4TOsc65IM6xz4DPjDogJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsInZpZXdfYWxsIjoizqDPgc6/zrLOv867zq4gz4zOu8+Jzr0gz4TPic69IM6xzrPOv8+Bz47OvSAle2NvaW59In19Jyl9LGYxYWU6ZnVuY3Rpb24odCxlLGkpeyJ1c2Ugc3RyaWN0Ijt2YXIgbj1pKCI4NmNjIikscj1pKCI0NjMwIik7dC5leHBvcnRzPWZ1bmN0aW9uKHQsZSxpKXtlIGluIHQ/bi5mKHQsZSxyKDAsaSkpOnRbZV09aX19LGYyMDE6ZnVuY3Rpb24odCxlLGkpe3ZhciBuPWkoImU0YWUiKSxyPWkoIjc5YWEiKSxvPWkoIjUxNjgiKSgic3BlY2llcyIpO3QuZXhwb3J0cz1mdW5jdGlvbih0LGUpe3ZhciBpLGE9bih0KS5jb25zdHJ1Y3RvcjtyZXR1cm4gdm9pZCAwPT09YXx8dm9pZCAwPT0oaT1uKGEpW29dKT9lOnIoaSl9fSxmMzY3OmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiZDZjNyIpLHI9ImZ1bmN0aW9uIj09PXR5cGVvZiBTeW1ib2wmJiJzeW1ib2wiPT09dHlwZW9mIFN5bWJvbCgiZm9vIiksbz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLGE9QXJyYXkucHJvdG90eXBlLmNvbmNhdCxzPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxjPWZ1bmN0aW9uKHQpe3JldHVybiJmdW5jdGlvbiI9PT10eXBlb2YgdCYmIltvYmplY3QgRnVuY3Rpb25dIj09PW8uY2FsbCh0KX0saD1mdW5jdGlvbigpe3ZhciB0PXt9O3RyeXtmb3IodmFyIGUgaW4gcyh0LCJ4Iix7ZW51bWVyYWJsZTohMSx2YWx1ZTp0fSksdClyZXR1cm4hMTtyZXR1cm4gdC54PT09dH1jYXRjaChpKXtyZXR1cm4hMX19LGw9cyYmaCgpLHA9ZnVuY3Rpb24odCxlLGksbil7KCEoZSBpbiB0KXx8YyhuKSYmbigpKSYmKGw/cyh0LGUse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHZhbHVlOmksd3JpdGFibGU6ITB9KTp0W2VdPWkpfSxkPWZ1bmN0aW9uKHQsZSl7dmFyIGk9YXJndW1lbnRzLmxlbmd0aD4yP2FyZ3VtZW50c1syXTp7fSxvPW4oZSk7ciYmKG89YS5jYWxsKG8sT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKSkpO2Zvcih2YXIgcz0wO3M8by5sZW5ndGg7cys9MSlwKHQsb1tzXSxlW29bc11dLGlbb1tzXV0pfTtkLnN1cHBvcnRzRGVzY3JpcHRvcnM9ISFsLHQuZXhwb3J0cz1kfSxmNTU5OmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49aSgiNWNhMSIpLHI9aSgiOWRlZiIpLG89aSgiZDJjOCIpLGE9InN0YXJ0c1dpdGgiLHM9IiJbYV07bihuLlArbi5GKmkoIjUxNDciKShhKSwiU3RyaW5nIix7c3RhcnRzV2l0aDpmdW5jdGlvbih0KXt2YXIgZT1vKHRoaXMsdCxhKSxpPXIoTWF0aC5taW4oYXJndW1lbnRzLmxlbmd0aD4xP2FyZ3VtZW50c1sxXTp2b2lkIDAsZS5sZW5ndGgpKSxuPVN0cmluZyh0KTtyZXR1cm4gcz9zLmNhbGwoZSxuLGkpOmUuc2xpY2UoaSxpK24ubGVuZ3RoKT09PW59fSl9LGY2OTM6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6IkNsYXNzZW1lbnQiLCJtY2FwIjoiQ2FwaXRhbGlzYXRpb24gYm91cnNpw6hyZSIsIjI0aF92b2x1bWUiOiJWb2x1bWUgc3VyIDI0wqBoIiwiMjRoX2hpZ2hfbG93IjoiMjRIIEhhdXQgLyBCYXMifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUHJvcG9zw6kgcGFyICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IkNvbXBhcmFpc29uIENvdXJzIENyeXB0b21vbm5haWVzIiwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvbiI6IkNvbXBhcmFpc29uIENhcGl0YWxpc2F0aW9ucyBDcnlwdG8ifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJQcm9wb3PDqSBwYXIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6IkxlIHBsdXMgw6lsZXbDqSBzdXIgMjTCoGgiLCIyNGhfbG93IjoiTGUgcGx1cyBiYXMgc3VyIDI0wqBoIiwidmlld19wcmljZV9jaGFydCI6IlZvaXIgbGUgR3JhcGhpcXVlIGRlIENvdXJzIGRlICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiUHJvcG9zw6kgcGFyICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9wcmljZV9tYXJxdWVlX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUHJvcG9zw6kgcGFyICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9saXN0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiUHJvcG9zw6kgcGFyICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiYmVhbV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IlByb3Bvc8OpIHBhciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fdGlja2VyX3dpZGdldCI6eyIyNGhfaGlnaCI6IkxlIHBsdXMgw6lsZXbDqSBzdXIgMjTCoGgiLCIyNGhfbG93IjoiTGUgcGx1cyBiYXMgc3VyIDI0wqBoIiwidmlld19wcmljZV9jaGFydCI6IlZvaXIgbGUgR3JhcGhpcXVlIGRlIENvdXJzIGRlICV7Y29pbn0iLCJwb3dlcmVkX2J5IjoiUHJvcG9zw6kgcGFyICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl9jb252ZXJ0ZXJfd2lkZ2V0Ijp7InZpZXdfcHJpY2VfY2hhcnQiOiJWb2lyIGxlIEdyYXBoaXF1ZSBkZSBDb3VycyBkZSAle2NvaW59IiwicG93ZXJlZF9ieSI6IlByb3Bvc8OpIHBhciAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJEaWFncmFtbWUgZGVzIGNyeXB0by1tb25uYWllcyIsInN1YnRpdGxlIjoiKFRvcCAle3RvcH0gcGFyIENhcGl0YWxpc2F0aW9uKSIsInBvd2VyZWRfYnkiOiJQcm9wb3PDqSBwYXIgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJyYW5kb21fY29pbl93aWRnZXQiOnsiZGlzY2xhaW1lciI6IkF2ZXJ0aXNzZW1lbnQgOiBDZXMgb3V0aWxzIHNlcnZlbnQgZGUgZGl2ZXJ0aXNzZW1lbnQgZXQgbmUgY29uc3RpdHVlbnQgcGFzIGRlcyBjb25zZWlscyBmaW5hbmNpZXJzLiIsInNwaW4iOiJUb3VybmVyIiwiYXZhaWxhYmxlX2NvaW5zIjoiTW9ubmFpZXMgRGlzcG9uaWJsZXMifSwiY29pbl9kYWlseV9wcmljZV93aWRnZXQiOnsidGl0bGUiOiJNaXNlIMOgIEpvdXIgQ291cnMgQ29pbkdlY2tvIiwidG90YWxfbWNhcCI6IlRvdGFsIENhcGl0YWxpc2F0aW9uIiwiMjRoX3ZvbCI6IlZvbHVtZSBzdXIgMjTCoGgiLCJkb20iOiJEb20ifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoiUGxhdGUtZm9ybWUgZFwnw6ljaGFuZ2UiLCJwYWlyIjoiUGFpcmUiLCJwcmljZSI6IkNvdXJzIiwidm9sdW1lIjoiVm9sdW1lIiwidHJ1c3Rfc2NvcmUiOiJTY29yZSBkZSBjb25maWFuY2UiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiVm9pciBHcmFwaGlxdWUgQ291cnMiLCJwb3dlcmVkX2J5IjoiUHJvcG9zw6kgcGFyICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJ2aWV3X2FsbCI6IlZvaXIgdG91cyBsZXMgbWFyY2jDqXMgJXtjb2lufSJ9fScpfSxmNzcyOmZ1bmN0aW9uKHQsZSl7dC5leHBvcnRzPWZ1bmN0aW9uKHQpe3JldHVybiJvYmplY3QiPT09dHlwZW9mIHQ/bnVsbCE9PXQ6ImZ1bmN0aW9uIj09PXR5cGVvZiB0fX0sZjkyMTpmdW5jdGlvbih0LGUsaSl7aSgiMDE0YiIpLGkoImMyMDciKSxpKCI2OWQzIiksaSgiNzY1ZCIpLHQuZXhwb3J0cz1pKCI1ODRhIikuU3ltYm9sfSxmOTQ3OmZ1bmN0aW9uKHQpe3QuZXhwb3J0cz1KU09OLnBhcnNlKCd7ImNvaW5fZGV0YWlscyI6eyJtY2FwX3JhbmsiOiJSYW5nZXJpbmcgZXR0ZXIgbWFya2Vkc3ZlcmRpIiwibWNhcCI6Ik1hcmtlZHN2ZXJkaSIsIjI0aF92b2x1bWUiOiIyNC10aW1lcnMgVm9sdW0iLCIyNGhfaGlnaF9sb3ciOiIyNC10aW1lcnMgSMO4eS9MYXYifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiRHJldmV0IGF2ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0iLCJjcnlwdG9fcHJpY2VfY29tcGFyaXNvbiI6IktyeXB0b3ByaXMgc2FtbWVubGlnbmluZyIsImNyeXB0b19tYXJrZXRfY2FwX2NvbXBhcmlzb24iOiJLcnlwdG8gbWFya2Vkc3ZlcmRpIHNhbW1lbmxpZ25pbmcifSwiY29pbl9wcmljZV9zdGF0aWNfaGVhZGxpbmVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJEcmV2ZXQgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX2NoYXJ0X3dpZGdldCI6eyIyNGhfaGlnaCI6IjI0LXRpbWVycyBow7h5IiwiMjRoX2xvdyI6IjI0LXRpbWVycyBsYXYiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiU2UgJXtjb2lufSBwcmlzZGlhZ3JhbSIsInBvd2VyZWRfYnkiOiJEcmV2ZXQgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX3ByaWNlX21hcnF1ZWVfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJEcmV2ZXQgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2xpc3Rfd2lkZ2V0Ijp7InBvd2VyZWRfYnkiOiJEcmV2ZXQgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJiZWFtX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiRHJldmV0IGF2ICV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0ifSwiY29pbl90aWNrZXJfd2lkZ2V0Ijp7IjI0aF9oaWdoIjoiMjQtdGltZXJzIGjDuHkiLCIyNGhfbG93IjoiMjQtdGltZXJzIGxhdiIsInZpZXdfcHJpY2VfY2hhcnQiOiJTZSAle2NvaW59IHByaXNkaWFncmFtIiwicG93ZXJlZF9ieSI6IkRyZXZldCBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sImNvaW5fY29udmVydGVyX3dpZGdldCI6eyJ2aWV3X3ByaWNlX2NoYXJ0IjoiU2UgJXtjb2lufSBwcmlzZGlhZ3JhbSIsInBvd2VyZWRfYnkiOiJEcmV2ZXQgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSJ9LCJjb2luX2hlYXRtYXBfd2lkZ2V0Ijp7InRpdGxlIjoiVHJlZGlhZ3JhbSBmb3Iga3J5cHRvdmFsdXRhZXIiLCJzdWJ0aXRsZSI6IihUb3BwICV7dG9wfSBldHRlciBtYXJrZWRzdmVyZGkpIiwicG93ZXJlZF9ieSI6IkRyZXZldCBhdiAle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9In0sInJhbmRvbV9jb2luX3dpZGdldCI6eyJkaXNjbGFpbWVyIjoiQW5zdmFyc2ZyYXNrcml2ZWxzZTogRGV0dGUgZXIgdmVya3TDuHkgc29tIHVuZGVyaG9sZG5pbmcgb2cgdXRnasO4ciBpa2tlIMO4a29ub21pc2tlIHLDpWQuIiwic3BpbiI6IlNudXJyIiwiYXZhaWxhYmxlX2NvaW5zIjoiVGlsZ2plbmdlbGlnZSBteW50ZXIifSwiY29pbl9kYWlseV9wcmljZV93aWRnZXQiOnsidGl0bGUiOiJDb2luR2Vja28gcHJpc29wcGRhdGVyaW5nIiwidG90YWxfbWNhcCI6IlRvdGFsIE0gTWFya2Vkc3ZlcmRpIiwiMjRoX3ZvbCI6IjI0dCBvbXNldG5pbmciLCJkb20iOiJEb20ifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoiQsO4cnMiLCJwYWlyIjoiUGFyIiwicHJpY2UiOiJLdXJzIiwidm9sdW1lIjoiT21zZXRuaW5nIiwidHJ1c3Rfc2NvcmUiOiJUcnVzdC1wb2VuZ3N1bSIsInZpZXdfcHJpY2VfY2hhcnQiOiJTZSBwcmlzZGlhZ3JhbSIsInBvd2VyZWRfYnkiOiJEcmV2ZXQgYXYgJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSIsInZpZXdfYWxsIjoiVmlzIGFsbGUgJXtjb2lufSBtYXJrZWRlciJ9fScpfSxmYTRlOmZ1bmN0aW9uKHQsZSxpKXsidXNlIHN0cmljdCI7dmFyIG49ITEscj1mdW5jdGlvbigpe307aWYobil7dmFyIG89ZnVuY3Rpb24odCxlKXt2YXIgaT1hcmd1bWVudHMubGVuZ3RoO2U9bmV3IEFycmF5KGk+MT9pLTE6MCk7Zm9yKHZhciBuPTE7bjxpO24rKyllW24tMV09YXJndW1lbnRzW25dO3ZhciByPTAsbz0iV2FybmluZzogIit0LnJlcGxhY2UoLyVzL2csKGZ1bmN0aW9uKCl7cmV0dXJuIGVbcisrXX0pKTsidW5kZWZpbmVkIiE9PXR5cGVvZiBjb25zb2xlJiZjb25zb2xlLmVycm9yKG8pO3RyeXt0aHJvdyBuZXcgRXJyb3Iobyl9Y2F0Y2goYSl7fX07cj1mdW5jdGlvbih0LGUsaSl7dmFyIG49YXJndW1lbnRzLmxlbmd0aDtpPW5ldyBBcnJheShuPjI/bi0yOjApO2Zvcih2YXIgcj0yO3I8bjtyKyspaVtyLTJdPWFyZ3VtZW50c1tyXTtpZih2b2lkIDA9PT1lKXRocm93IG5ldyBFcnJvcigiYHdhcm5pbmcoY29uZGl0aW9uLCBmb3JtYXQsIC4uLmFyZ3MpYCByZXF1aXJlcyBhIHdhcm5pbmcgbWVzc2FnZSBhcmd1bWVudCIpO3R8fG8uYXBwbHkobnVsbCxbZV0uY29uY2F0KGkpKX19dC5leHBvcnRzPXJ9LGZhNWI6ZnVuY3Rpb24odCxlLGkpe3QuZXhwb3J0cz1pKCI1NTM3IikoIm5hdGl2ZS1mdW5jdGlvbi10by1zdHJpbmciLEZ1bmN0aW9uLnRvU3RyaW5nKX0sZmFiMjpmdW5jdGlvbih0LGUsaSl7dmFyIG49aSgiNzcyNiIpLmRvY3VtZW50O3QuZXhwb3J0cz1uJiZuLmRvY3VtZW50RWxlbWVudH0sZmRlZjpmdW5jdGlvbih0LGUpe3QuZXhwb3J0cz0iXHRcblx2XGZcciDCoOGagOGgjuKAgOKAgeKAguKAg+KAhOKAheKAhuKAh+KAiOKAieKAiuKAr+KBn+OAgFx1MjAyOFx1MjAyOVx1ZmVmZiJ9LGZmZWI6ZnVuY3Rpb24odCl7dC5leHBvcnRzPUpTT04ucGFyc2UoJ3siY29pbl9kZXRhaWxzIjp7Im1jYXBfcmFuayI6IlBpeWFzYSBEZcSfZXJpIFPEsXJhbGFtYXPEsSIsIm1jYXAiOiJQaXlhc2EgRGXEn2VyaSIsIjI0aF92b2x1bWUiOiIyNCBTYWF0bGlrIEhhY2ltIiwiMjRoX2hpZ2hfbG93IjoiMjRTQSBZw7xrc2VrIC8gRMO8xZ/DvGsifSwiY29pbl9jb21wYXJlX2NoYXJ0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSB0YXJhZsSxbmRhbiBkZXN0ZWtsZW5tZWt0ZWRpciIsImNyeXB0b19wcmljZV9jb21wYXJpc29uIjoiS3JpcHRvIEZpeWF0IEthcsWfxLFsYcWfdMSxcm1hc8SxIiwiY3J5cHRvX21hcmtldF9jYXBfY29tcGFyaXNvbiI6IktyaXB0byBQaXlhc2EgRGXEn2VyaSBLYXLFn8SxbGHFn3TEsXJtYXPEsSJ9LCJjb2luX3ByaWNlX3N0YXRpY19oZWFkbGluZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gdGFyYWbEsW5kYW4gZGVzdGVrbGVubWVrdGVkaXIifSwiY29pbl9wcmljZV9jaGFydF93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNFMgWcO8a3NlayIsIjI0aF9sb3ciOiIyNFMgRMO8xZ/DvGsiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiJXtjb2lufSBGaXlhdCBHcmFmacSfaW5pIEfDtnLDvG50w7xsZSIsInBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IHRhcmFmxLFuZGFuIGRlc3Rla2xlbm1la3RlZGlyIn0sImNvaW5fcHJpY2VfbWFycXVlZV93aWRnZXQiOnsicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gdGFyYWbEsW5kYW4gZGVzdGVrbGVubWVrdGVkaXIifSwiY29pbl9saXN0X3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSB0YXJhZsSxbmRhbiBkZXN0ZWtsZW5tZWt0ZWRpciJ9LCJiZWFtX3dpZGdldCI6eyJwb3dlcmVkX2J5IjoiJXtuYW1lX3N0YXJ0fSV7bmFtZX0le25hbWVfZW5kfSB0YXJhZsSxbmRhbiBkZXN0ZWtsZW5tZWt0ZWRpciJ9LCJjb2luX3RpY2tlcl93aWRnZXQiOnsiMjRoX2hpZ2giOiIyNFMgWcO8a3NlayIsIjI0aF9sb3ciOiIyNFMgRMO8xZ/DvGsiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiJXtjb2lufSBGaXlhdCBHcmFmacSfaW5pIEfDtnLDvG50w7xsZSIsInBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IHRhcmFmxLFuZGFuIGRlc3Rla2xlbm1la3RlZGlyIn0sImNvaW5fY29udmVydGVyX3dpZGdldCI6eyJ2aWV3X3ByaWNlX2NoYXJ0IjoiJXtjb2lufSBGaXlhdCBHcmFmacSfaW5pIEfDtnLDvG50w7xsZSIsInBvd2VyZWRfYnkiOiIle25hbWVfc3RhcnR9JXtuYW1lfSV7bmFtZV9lbmR9IHRhcmFmxLFuZGFuIGRlc3Rla2xlbm1la3RlZGlyIn0sImNvaW5faGVhdG1hcF93aWRnZXQiOnsidGl0bGUiOiJLcmlwdG8gUGFyYSBBxJ9hY8SxIEhhcml0YXPEsSIsInN1YnRpdGxlIjoiKFBpeWFzYSBEZcSfZXJpbmUgR8O2cmUgRW4gxLB5aSAle3RvcH0pIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gdGFyYWbEsW5kYW4gZGVzdGVrbGVubWVrdGVkaXIifSwicmFuZG9tX2NvaW5fd2lkZ2V0Ijp7ImRpc2NsYWltZXIiOiJTb3J1bWx1bHVrIFJlZGRpOiBCdSBhcmHDp2xhciBlxJ9sZW5jZSBhbWHDp2zEsWTEsXIgdmUgZmluYW5zYWwgdGF2c2l5ZSB0ZcWfa2lsIGV0bWV6LiIsInNwaW4iOiJEw7ZuZMO8ciIsImF2YWlsYWJsZV9jb2lucyI6Ik1ldmN1dCBDb2luXCdsZXIifSwiY29pbl9kYWlseV9wcmljZV93aWRnZXQiOnsidGl0bGUiOiJDb2luR2Vja28gRml5YXQgR8O8bmNlbGxlbWVzaSIsInRvdGFsX21jYXAiOiJUb3BsYW0gUCBkZcSfZXJpIiwiMjRoX3ZvbCI6IjI0IFNhYXRsaWsgSGFjaW0iLCJkb20iOiJIa20ifSwiY29pbl9tYXJrZXRfdGlja2VyX2xpc3Rfd2lkZ2V0Ijp7ImV4Y2hhbmdlIjoiQm9yc2EiLCJwYWlyIjoiw4dpZnQiLCJwcmljZSI6IkZpeWF0Iiwidm9sdW1lIjoiSGFjaW0iLCJ0cnVzdF9zY29yZSI6IkfDvHZlbiBQdWFuxLEiLCJ2aWV3X3ByaWNlX2NoYXJ0IjoiIEZpeWF0IEdyYWZpxJ9pbmkgR8O2csO8bnTDvGxlIiwicG93ZXJlZF9ieSI6IiV7bmFtZV9zdGFydH0le25hbWV9JXtuYW1lX2VuZH0gdGFyYWbEsW5kYW4gZGVzdGVrbGVubWVrdGVkaXIiLCJ2aWV3X2FsbCI6IlTDvG0gJXtjb2lufSBwaXlhc2FsYXLEsW7EsSBnw7Zyw7xudMO8bGUifX0nKX19KTs="}},"time_used":66,"timings":{"blocked":-1,"dns":3,"connect":21,"send":0,"wait":13,"receive":28,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/backoffice/uploads/test5.jpg","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.838Z","timestamp":1785133989838,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /backoffice/uploads/test5.jpg HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/jpeg\r\nlast-modified: Thu, 06 Feb 2020 22:05:02 GMT\r\naccept-ranges: bytes\r\ncontent-length: 26654\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":26654,"size_decoded":26842,"mime_type":"image/jpeg","magic":"JPEG image data, Exif standard: [TIFF image data, big-endian, direntries=12, height=960, bps=0, PhotometricInterpretation=RGB, orientation=upper-left, width=640], baseline, precision 8, 150x150, components 3","md5":"2aa671b5c1cde08baa3e68aac9b9eb93","sha1":"fd7d15349d2a2d9e9b94daf5fa307a0bd4ccdb61","sha256":"364a89b001536add1ebc7c757dc246cdc3834b797f55c0a9b8a90c280b8c66a5","sha512":"fdea1778dc934c9ceab849ad769a1c08cdbf1b3fc29f81ad4966ea034718d197249299d7bbd80e9335f75f676479ba72126cd98b2b4402d1cf889d3eeb498fd0","ssdeep":"384:OvO5RE4+mJB+07i7vO5RE4+mJB+rnEEFi/5YNg7HhEMpdJgfmip4TzXG9h:OviRn9Lv78viRn9LuEEkYylbpkfmMYW","tlshash":"f6c29e34bb416f63fae04334e9a6d7c6b201ba8496533347714d2e153bb52e25cac39b","first_seen":"2023-07-09T14:09:00Z","last_seen":"2026-07-27T13:18:12.844496Z","times_seen":26,"resource_available":false,"data":"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AAAAAAAKAAEAAAAAAAAAAThCSU0D9QAAAAAASAAvZmYAAQBsZmYABgAAAAAAAQAvZmYAAQChmZoABgAAAAAAAQAyAAAAAQBaAAAABgAAAAAAAQA1AAAAAQAtAAAABgAAAAAAAThCSU0D+AAAAAAAcAAA/////////////////////////////wPoAAAAAP////////////////////////////8D6AAAAAD/////////////////////////////A+gAAAAA/////////////////////////////wPoAAA4QklNBAgAAAAAABAAAAABAAACQAAAAkAAAAAAOEJJTQQeAAAAAAAEAAAAADhCSU0EGgAAAAADYwAAAAYAAAAAAAAAAAAAAJYAAACWAAAAFwBwAGUAeABlAGwAcwAtAHAAaABvAHQAbwAtADUAOQA1ADUANAAuAGoAcABlAGcAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAJYAAACWAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAEAAAAAAABudWxsAAAAAgAAAAZib3VuZHNPYmpjAAAAAQAAAAAAAFJjdDEAAAAEAAAAAFRvcCBsb25nAAAAAAAAAABMZWZ0bG9uZwAAAAAAAAAAQnRvbWxvbmcAAACWAAAAAFJnaHRsb25nAAAAlgAAAAZzbGljZXNWbExzAAAAAU9iamMAAAABAAAAAAAFc2xpY2UAAAASAAAAB3NsaWNlSURsb25nAAAAAAAAAAdncm91cElEbG9uZwAAAAAAAAAGb3JpZ2luZW51bQAAAAxFU2xpY2VPcmlnaW4AAAANYXV0b0dlbmVyYXRlZAAAAABUeXBlZW51bQAAAApFU2xpY2VUeXBlAAAAAEltZyAAAAAGYm91bmRzT2JqYwAAAAEAAAAAAABSY3QxAAAABAAAAABUb3AgbG9uZwAAAAAAAAAATGVmdGxvbmcAAAAAAAAAAEJ0b21sb25nAAAAlgAAAABSZ2h0bG9uZwAAAJYAAAADdXJsVEVYVAAAAAEAAAAAAABudWxsVEVYVAAAAAEAAAAAAABNc2dlVEVYVAAAAAEAAAAAAAZhbHRUYWdURVhUAAAAAQAAAAAADmNlbGxUZXh0SXNIVE1MYm9vbAEAAAAIY2VsbFRleHRURVhUAAAAAQAAAAAACWhvcnpBbGlnbmVudW0AAAAPRVNsaWNlSG9yekFsaWduAAAAB2RlZmF1bHQAAAAJdmVydEFsaWduZW51bQAAAA9FU2xpY2VWZXJ0QWxpZ24AAAAHZGVmYXVsdAAAAAtiZ0NvbG9yVHlwZWVudW0AAAARRVNsaWNlQkdDb2xvclR5cGUAAAAATm9uZQAAAAl0b3BPdXRzZXRsb25nAAAAAAAAAApsZWZ0T3V0c2V0bG9uZwAAAAAAAAAMYm90dG9tT3V0c2V0bG9uZwAAAAAAAAALcmlnaHRPdXRzZXRsb25nAAAAAAA4QklNBCgAAAAAAAwAAAACP/AAAAAAAAA4QklNBBQAAAAAAAQAAAABOEJJTQQMAAAAABNCAAAAAQAAAJYAAACWAAABxAABCNgAABMmABgAAf/Y/+0ADEFkb2JlX0NNAAH/7gAOQWRvYmUAZIAAAAAB/9sAhAAMCAgICQgMCQkMEQsKCxEVDwwMDxUYExMVExMYEQwMDAwMDBEMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAQ0LCw0ODRAODhAUDg4OFBQODg4OFBEMDAwMDBERDAwMDAwMEQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAz/wAARCACWAJYDASIAAhEBAxEB/90ABAAK/8QBPwAAAQUBAQEBAQEAAAAAAAAAAwABAgQFBgcICQoLAQABBQEBAQEBAQAAAAAAAAABAAIDBAUGBwgJCgsQAAEEAQMCBAIFBwYIBQMMMwEAAhEDBCESMQVBUWETInGBMgYUkaGxQiMkFVLBYjM0coLRQwclklPw4fFjczUWorKDJkSTVGRFwqN0NhfSVeJl8rOEw9N14/NGJ5SkhbSVxNTk9KW1xdXl9VZmdoaWprbG1ub2N0dXZ3eHl6e3x9fn9xEAAgIBAgQEAwQFBgcHBgU1AQACEQMhMRIEQVFhcSITBTKBkRShsUIjwVLR8DMkYuFygpJDUxVjczTxJQYWorKDByY1wtJEk1SjF2RFVTZ0ZeLys4TD03Xj80aUpIW0lcTU5PSltcXV5fVWZnaGlqa2xtbm9ic3R1dnd4eXp7fH/9oADAMBAAIRAxEAPwDgn0nwQXVkLuT9V63DQFAt+qdY8VWHN41whI9Hi9pTisrqj9W6mmCCj1fVWt/Yo/esfdPAXj/RcVJtDiu2/wCaVTRMFV7egMrP0dEPvcOi4Yi81RiuPZa2JguMaLZw+iVxucIaOSeEXJ6j9X+mAssuF17f8DT7zP8AKf8Azdf+cop55TNQBPkvOMAalp1YBCOMKOyp2/XOkEjHwfbMNda+NO7nemFcw/rZ0mwhmU11DiY9RrSa48XOd72KOWLPV8J+iz0nqmZhA9lP9nE9lv4tGPdW22lzbK3CQ9hDhr8FcGGyOFWM5L+B5UdLcToEZnTHfuronYoHZSrxweyHGUiAcNvTHfuqQ6We4XRsx2xwmfjjwSsp9t54dLHgiN6SD2Wv6QDkRrAhZXRx24/7Jb4JLb9MaJJWV3sv/9DqWY7YQ78dvgrVcQh3jQrCdYQiNPByLaW+pwruPQ2BoqVzXG8arSxQQBKJLFijE2T3SPobt4XMfWbrWF0j9G5puyXDcypvA/dNrvzV0HX+ps6T0jIznQXVtipruHWO9tTf85eSPtvyLn5mTYbrXuL3Pdy4n8/+r+41WeUwe4TKXyDT+9JjzzEdI/MfwS5XVOpZZBuucyt/uFQ0AH5u5U/TDtJEaiB4p3Fz3bHDUCSZj70mh9cBw4kCRyP6wWmAAKAoNMknfVlsaB7vadOZP9pQMn6AJHgfJPsbX/OuieIMkD+UifZg97awZJDnT2MDdoipJ0zq+d0vI9bAuONYRtc10OY4fy63r0L6s/XrF6ltw+pmvFz5DWESK7Sfo7Z9tb3fubl5tZW0k1lxMcTyD+chsY9rodoBpuHI8FDm5eGQaipfvDdfDJKJ7js+6v4Pio1FYf1Q667q/SNuQ7dm4Z9LIJ5cI/RZH/XW/wDTW3UQCsicTCRjLcaNmwSCNjq22aprAkxyTyl0X9WrbIciMHCFe7WUzLwBqUOqIyAsNoxISQPtLPFJG19ju//R6qmzRRueCFXrcdspPcVgtzjkRuie2bJVyggBUi8Si12HskoWHiv8YfV3ZPUmdJrfNGIGusaO9zvpb/3vSrXM+uwAbhPZo81Y+sWT6/1gzbW6fpi0Hx2ezd/a2qg5zd4s57x4FbWCIjigNtAfqd2tORMiUgcHkGNupDgDOh7KxTRZa17mtL9kTHZWej9Bz855cG7S8zLtAB4rueh/U7Gw9tlry+08j82Up5ojQGyy4uXnLUio9y8I7BcWNL63kydzneQ3fSQbMTbYNm4Odq3QjXyXsT+mYRYGupa5o01CgeldPawN9Bh1nUJnvV0ZPuwPV8c+y2Ahz2uIHBg6/NRua7VxOrhxEceK9cyen4bmbRW0eGi4r6yfVvIcPXxWD2g+oxnx+m0IR5kGVSHD4rp8kRDiieLwpxPqz1t/SesUZLnEY7j6WSBwa3fvD/g3fpF63W8EBzTLSJBHcFeK5GPbiu9K9mwxzHIP5y9N+qHUHZXQMZz3bnVA1GefZoJ/sqDn8YqOUf3T/wBywYrBMTuHoxdCRvlUvVEwiNdKz7LKbZWOkKjfaWgwYhXXD2rNzdAUggtN2dZ9oa3eO+nySWO6z9eYPM/kSU3B+SzV/9LcpfuaISvMBDxHSwKWRMQsHq2wHPsyIfCtY1heOY81QuYfUWhhsIaAQnyAploU+XdZLP2vm7BDfWftHlK0Pq30lubab7CNtRB2HuUP634wxev5LY2izbaGjwcFZ+qV7m5npzAcIDfFakpE4BKJ/RDXwCPvgSFjie86bW1tY9oEErXqOg/BZmG1wgDha1QAGvKpw3dXKQAmbJ5SeyVJpbHmk6xoGvZT1o1rN6BqXV+SoZFWkI/UetdPwWb8m1rJMAE6/csO/wCuGA/20Mdae5iB/ZcmHFKWoDLHNGGkiA8t9dKXNya7PzCI+YWh9QcojDy6I0a8PB/rD/zFXepjA6liPJewtsaS3cQCHR5/nNcsf6imxmXlUPaRuYHNPjtJaU6Vy5aUSDcK/wCk1c0AOYEgbGS9nr2XkvhaFBLgs2utwsWnjggBZ010xSct9qzs9sMK1PzVRzGbmlNB1Y4xJNPIOqd9vY7wJ/IktU44+0NMd0lP7n5U3PuRr/B4vxf/09TBPsCtvZuCo4DpaFqtaCFgndu1TQOLudwrdNMIzawitaACfASldqMnzf8AxkYbquqY+XB231bC7tuYeP8ANcp/U/BpON9sDZvD3MB8AFvdexqesYF+PlMcb6SbKHMMat7f2lzXRsJ12A24vfTWcgV24zXEMDS70y79/fv+mtLH6sMcZlVHhv8AJeMMsObiIEtDIfx/wXcy+sZhsGJ00FzmD9JYBI3H8xqiK/ryWG0bWV1jc5zyBpx+crGXZk9MxfTxKgHDQEDgeKpX9O6jkXVvpyvXqvra219j49N07rXGufofuqTCcewA4R+lPf8A5quY9y7uRkTtD5Yhu4PVfrDjv/XvTuqH0nVnc4DxhW8v6wU5gGLhuJusEF3DRAlx3fnIGViV4mPl5OPPoV1uczcSSHAfmT+Y5yvX9Cf/AM28YY7QOoYjW21n96wCbKn/AMm33VpXjskxG+nCTw+fCu9dCpHx4gDP+7xPP5GF07FBvyqX5OS2bLbXy4Coafzf9d300SrrmI6u70unBtGPAueAJG76Onv+ktzEx68zFbm1Dc3KrAdW/UQPY+l7P5D2uY9Db0JjaH41NbaqLDuexvc/ynO3PSlkiRrxeQ0itGOXFceHhOp4hxS/5ziZWLjdQxLb8etsemXAwJG0b9D/ACUPoeK7AtzhR7X2msNf3bW9vqba/wC2ulf0+vC6Zk7WhrWUv4/qkLPxax9tdUR7vQrJ+LTsUUpyMOGzVn/uWzCEPdEqFiv+6djGoimvdq6NSrlbIhV67AGhWq3AhZs/mPmWtkNyl5lnoGqnkEaqxY+AVnZN/KauwRuYarmj7Q35/kSQy/8AShySf/B2uHT/AAH/1LfTH7mhbdfC57pT/YF0FBloWFkGpb52TBEahAogKYxuXbjlmY4DlwMfJYGFiend1HpzjBdaS0nsLQLanf2Xrrsqudtg0c0rlOtudg9bryv8HlVNDwOxYdmv3q9hPFE183/dRbvuiUYSPT0S/wCi9HhVM6jh13uGtgiweD2+y1h/q2NVhnSMesTsgcknhZ2H9ncA/Yd1nucWOc2T+87Y5q0G4tb4/RtH9aX/APVlykjwnuiUZjqK7tTqj8a4VdNpcHm6xhu26tbXWfWs3Ob7d1mz0mMWwBvxCPFZuS7HwnNusGjQQCBx47WtUKvrDjOxzsBEaw4EH/NKJkLIKfakQDHXUG/JE5uVgZZfihpx8kl1tTwYFne6pzPoer/hWf8AXFdZfkvAM1VT3ax7z/0yxqzsXrLs68VGo1wZgkEwO7tv0FsbhEIRkunjAqxqexc/Kra/W+x9+0yGvhrAR39KsNZ/n71g4+QW9fySSS2nFLiOdd24LoOoPDanLih1RmJnZ91hk30Gusd5cdoCMQZGXXTRbkkIRjXp1v8A5ruY3UC6BK3MW0uaFwvTMwbgCV2XTL2uYIVPLiqVNKB4m7YxzgsfPrc0zK6INBasnqle1jj4JntNvl5cBtxPX923uksR/VWjq9eOOC4hx+RSUv3efb9Hi/wW3/pDFtfX2/8ACf/VH0ayWNC6XHPtC47od0QF1uK+WhYmfSRb88ZjEEtsFFbJQgitMKJiDJ7ZYQeCuU+uFTXYtNh9rqH7XeO142/wXVPfosbrNDcvDvpgF72ODCYkGPbB/rKxy8jGW25Xe6IRkDrxBzPq9ngVNrsd7mcE+HZdVVcxzd0gDx7LzDp+WH0nd9Jggjx/eXVY2dZf02GOJdEOHEK5KHDL6tnHkEojydnOycS+p7BF2380fveAVbF6c5jTu2tnhpI3CfJ3u2tWbQzqTGAYpqYHiPVeSHfLTaxW8Po+c4PflhttnLTXYdv9slu5yAFnT7SyxB4bJ07D+3hStYMe1xxrq3lx8QNY/wCknPWbashtN9YEzLgeI/8AJKGZ0KsAvvvdjVjXZWdxOn0dz93/AFKz8rHxcPDddUDumQbHbnx8XJEUaNEnsiQ9PECaHdN1/NLKBDo3mNPNYHSMCrqOXlWEbmUtY2f5Rk/99UvrDk73VgOlrwCBPEBaf1FdjWdNySx7XXm8m5ndoA20yP3XNTqrGT30YJkTyCJ23aOV0tuNL6hEcq/0TqdUhrnQRpCs9afVVS9xIEAriK8l3qmxjiNZEKERMwb6dVSgIHTq+sV5jNgMrK63ngY1m3kAwudxet2emA92qo9V60X1ubPIQjjkZVSyeSIB1ec9d3271Z92+Z+aSqep+k3ecpLQ4fypofxt/9bE6U8su2rs+nmWhcbh0vrvkrq+n3DaFjcxEg6u3zEeKIEXYEJ3PACB6wjlCsuUEd2p7EqtnfkbWlch9c+tWYvT/s9Li27LlpcOW18PP9v6C1Ot9Zx+nUl1h33O/m6Afcf5Tv3K/wCUvPesZd+bY/IvMvcRAHDWj6LGfyWrU5TDY4iNHPyCRnrsGGFbbVSHifTcSyR4xK2Mbrnp49gG4WPAbuHPu9r1ldNyKa2Px8kTj3t2vI5a4astZ/UQb2vx7dpcHt5bY36Lh2c1WpRBNEeTLGZjEGJ8D4Pb9I68w0NotiJ2n8g5Wjfl9Vxqy/Dc0tjSfBcH0+5pd7tToZ+C6vpvWRa4MtdDax7Gx4+KgyYalxD6tzBzJMeE/RvY/wC08twfmWF3cMiIWL1vqVvqPpcS1g0I/BaGd1lxY26sho1bLex/N/IuT6jkPfNrnbg4yfmlix+riKuZzenhCF+RbfY2qdxHtb4Ad02B1DK6bnG/CsNbyCPEOaeWvb+cm2ehTufpfeNG92V+f8u7/qFUcf0jXecKyACDpo0ZEgg36hr5Oxn9azOoM22ENnnbwqdQcxRDfBOD7tv3+SHtQqqryXe/kJsm/NKcmxg8ln5GS+x0E6K92UTVU/6TAU4YgNlkpGW7mJLQ+xUTMGPCdEk7hK1//9c+Z00VjcBqq2PkupdtPyW91K3Exsc35lrKKh+c8xPkxv0n/wBlcP1L6yMseW9Orhv+ntGp/qVfm/21HzfKjIBw0JN3luc4D6/VF6W/q2Pi0+rlWCpnaeT5MYPc5c51P635V4NWA049Z09V2th/qj6NX/VrCtstusNtz3WPP5zjJUHbgJZBPgVHh5GENZ+uX/N+xPMfEJ5PTjHtw/58vqycXOcXvcXvdq5zjJJ83FAyG7q3DwEojXuI1aWnzTEax2KttFqU6tU3NkR25hRYNry3wKLyEFKoadw9KwMs/cfoD/Vf9FWR+0q4ipzY13N1n7lVcwFGxMzPoeK8cG6fo1bS8/2dvuTTGR+XXwXxlEfNY8Qla3qdw9NtbgCZM6a/NNbU3BINrhdlH6FXLWfy3rXqw/rXmNIp6eaNw0fYQyPP3qvm/U7r3T8V+fltrfWDNhY/e8T+e8QnR5fMfmgYjt1ktlzGAGoz4pdyflcdxc8l7yXOcZLjyShWCCD5qxtEIWQIakhtM4CnA7odZ9o+CnvjsnKU4QJBUU7iC1IIqUkkkkp//9Dj+qDqX2137WNpyv8Ahp/8C/M2f8Uq6wklIp3Uyw0klO25MfxWKkgp0bY9Y7ee6KIhZKSSnWELuv8AFycRtWUaw2zMcR6wMBzah9D09/0mud9P015ekpuXrjN1sfm/7nha/N/zR33G37X34Nw90hw+BlZ/1nda3ouYaG7z6TtJA0j+VC8RSV6PzD5vr+xzI7jzdHFNoaARLDwfBTyPorLSWX0dp2q52NnwUxysJJFLuu+imCw0kuqnc7pLDSSU/wD/2ThCSU0EIQAAAAAAXQAAAAEBAAAADwBBAGQAbwBiAGUAIABQAGgAbwB0AG8AcwBoAG8AcAAAABcAQQBkAG8AYgBlACAAUABoAG8AdABvAHMAaABvAHAAIABDAEMAIAAyADAAMQA1AAAAAQA4QklNBAYAAAAAAAcABAAAAAEBAP/hDOpodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9IjFEMkM1NkZCRTdCRDZENEZDMDdEOTlDNTMyNUM1N0I5IiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjMwODk3YzNiLTE1YzktY2I0Yy1hOTk5LTA3MTRjM2I5OWYxZiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSIxRDJDNTZGQkU3QkQ2RDRGQzA3RDk5QzUzMjVDNTdCOSIgZGM6Zm9ybWF0PSJpbWFnZS9qcGVnIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiBwaG90b3Nob3A6SUNDUHJvZmlsZT0ic1JHQiBJRUM2MTk2Ni0yLjEiIHhtcDpDcmVhdGVEYXRlPSIyMDE3LTA4LTE3VDEyOjQzOjIzKzA1OjMwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAxNy0wOC0xN1QxMjo1MzoyNCswNTozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAxNy0wOC0xN1QxMjo1MzoyNCswNTozMCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjMwODk3YzNiLTE1YzktY2I0Yy1hOTk5LTA3MTRjM2I5OWYxZiIgc3RFdnQ6d2hlbj0iMjAxNy0wOC0xN1QxMjo1MzoyNCswNTozMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8P3hwYWNrZXQgZW5kPSJ3Ij8+/+IMWElDQ19QUk9GSUxFAAEBAAAMSExpbm8CEAAAbW50clJHQiBYWVogB84AAgAJAAYAMQAAYWNzcE1TRlQAAAAASUVDIHNSR0IAAAAAAAAAAAAAAAAAAPbWAAEAAAAA0y1IUCAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAARY3BydAAAAVAAAAAzZGVzYwAAAYQAAABsd3RwdAAAAfAAAAAUYmtwdAAAAgQAAAAUclhZWgAAAhgAAAAUZ1hZWgAAAiwAAAAUYlhZWgAAAkAAAAAUZG1uZAAAAlQAAABwZG1kZAAAAsQAAACIdnVlZAAAA0wAAACGdmlldwAAA9QAAAAkbHVtaQAAA/gAAAAUbWVhcwAABAwAAAAkdGVjaAAABDAAAAAMclRSQwAABDwAAAgMZ1RSQwAA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"}},"time_used":582,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":578,"receive":4,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/pe-icon-7-stroke.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.909Z","timestamp":1785133989909,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/pe-icon-7-stroke.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/css/style-main.css\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 1696\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":9802,"size_decoded":1926,"mime_type":"text/css","magic":"ASCII text","md5":"874041884753ddcd2c9179ca347880fa","sha1":"f4bc7480d1f6ae4edd1fc499ba6a2496e6030dd4","sha256":"36fa5b50db80911bb5e945a707115721219c59b488a4c08f30a6103650f055d6","sha512":"0978bfe57046222ea6bbe70a94475e5b79dd2e4b8186912f3236bcf4a3e6939b3f76de81a7fb7122c4ca514eb6580423250fd7002d3c84f746e5fa4b428e0c39","ssdeep":"96:wM8jtQ6nzuudOeo9qjwYKoZc3AHdOJz5BJOSTrbI2RLcwR/UGkqmMMO0s+9o/4DA:0jtQKzCTq18t05xpoCr6vHZ","tlshash":"c012dca4fd2f3ca25795e0d16ad82a551f0de26d9f402c79c81a7e7cb3d321ca5806d8","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:33:54.043261Z","times_seen":15,"resource_available":false,"data":"QGZvbnQtZmFjZSB7Cglmb250LWZhbWlseTogJ1BlLWljb24tNy1zdHJva2UnOwoJc3JjOnVybCgnLi4vZm9udHMvUGUtaWNvbi03LXN0cm9rZWJiMWRiYjFkYmIxZC5lb3Q/ZDd5ZjF2Jyk7CglzcmM6dXJsKCcuLi9mb250cy9QZS1pY29uLTctc3Ryb2tlZDQxZGQ0MWRkNDFkLmVvdD8jaWVmaXhkN3lmMXYnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksCgkJdXJsKCcuLi9mb250cy9QZS1pY29uLTctc3Ryb2tlYmIxZGJiMWRiYjFkLndvZmY/ZDd5ZjF2JykgZm9ybWF0KCd3b2ZmJyksCgkJdXJsKCcuLi9mb250cy9QZS1pY29uLTctc3Ryb2tlYmIxZGJiMWRiYjFkLnR0Zj9kN3lmMXYnKSBmb3JtYXQoJ3RydWV0eXBlJyksCgkJdXJsKCcuLi9mb250cy9QZS1pY29uLTctc3Ryb2tlYmIxZGJiMWRiYjFkLnN2Zz9kN3lmMXYjUGUtaWNvbi03LXN0cm9rZScpIGZvcm1hdCgnc3ZnJyk7Cglmb250LXdlaWdodDogbm9ybWFsOwoJZm9udC1zdHlsZTogbm9ybWFsOwp9CgpbY2xhc3NePSJwZS03cy0iXSwgW2NsYXNzKj0iIHBlLTdzLSJdIHsKCWRpc3BsYXk6IGlubGluZS1ibG9jazsKCWZvbnQtZmFtaWx5OiAnUGUtaWNvbi03LXN0cm9rZSc7CglzcGVhazogbm9uZTsKCWZvbnQtc3R5bGU6IG5vcm1hbDsKCWZvbnQtd2VpZ2h0OiBub3JtYWw7Cglmb250LXZhcmlhbnQ6IG5vcm1hbDsKCXRleHQtdHJhbnNmb3JtOiBub25lOwoJbGluZS1oZWlnaHQ6IDE7CgoJLyogQmV0dGVyIEZvbnQgUmVuZGVyaW5nID09PT09PT09PT09ICovCgktd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsKCS1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7Cn0KCi5wZS03cy1hbGJ1bTpiZWZvcmUgewoJY29udGVudDogIlxlNmFhIjsKfQoucGUtN3MtYXJjOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YWIiOwp9Ci5wZS03cy1iYWNrLTI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZhYyI7Cn0KLnBlLTdzLWJhbmRhaWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZhZCI7Cn0KLnBlLTdzLWNhcjpiZWZvcmUgewoJY29udGVudDogIlxlNmFlIjsKfQoucGUtN3MtZGlhbW9uZDpiZWZvcmUgewoJY29udGVudDogIlxlNmFmIjsKfQoucGUtN3MtZG9vci1sb2NrOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YjAiOwp9Ci5wZS03cy1leWVkcm9wcGVyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YjEiOwp9Ci5wZS03cy1mZW1hbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZiMiI7Cn0KLnBlLTdzLWd5bTpiZWZvcmUgewoJY29udGVudDogIlxlNmIzIjsKfQoucGUtN3MtaGFtbWVyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YjQiOwp9Ci5wZS03cy1oZWFkcGhvbmVzOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YjUiOwp9Ci5wZS03cy1oZWxtOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YjYiOwp9Ci5wZS03cy1ob3VyZ2xhc3M6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZiNyI7Cn0KLnBlLTdzLWxlYWY6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZiOCI7Cn0KLnBlLTdzLW1hZ2ljLXdhbmQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZiOSI7Cn0KLnBlLTdzLW1hbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZiYSI7Cn0KLnBlLTdzLW1hcC0yOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YmIiOwp9Ci5wZS03cy1uZXh0LTI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZiYyI7Cn0KLnBlLTdzLXBhaW50LWJ1Y2tldDpiZWZvcmUgewoJY29udGVudDogIlxlNmJkIjsKfQoucGUtN3MtcGVuZHJpdmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZiZSI7Cn0KLnBlLTdzLXBob3RvOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YmYiOwp9Ci5wZS03cy1waWdneTpiZWZvcmUgewoJY29udGVudDogIlxlNmMwIjsKfQoucGUtN3MtcGx1Z2luOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YzEiOwp9Ci5wZS03cy1yZWZyZXNoLTI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZjMiI7Cn0KLnBlLTdzLXJvY2tldDpiZWZvcmUgewoJY29udGVudDogIlxlNmMzIjsKfQoucGUtN3Mtc2V0dGluZ3M6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZjNCI7Cn0KLnBlLTdzLXNoaWVsZDpiZWZvcmUgewoJY29udGVudDogIlxlNmM1IjsKfQoucGUtN3Mtc21pbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZjNiI7Cn0KLnBlLTdzLXVzYjpiZWZvcmUgewoJY29udGVudDogIlxlNmM3IjsKfQoucGUtN3MtdmVjdG9yOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YzgiOwp9Ci5wZS03cy13aW5lOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YzkiOwp9Ci5wZS03cy1jbG91ZC11cGxvYWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY4YSI7Cn0KLnBlLTdzLWNhc2g6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY4YyI7Cn0KLnBlLTdzLWNsb3NlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2ODAiOwp9Ci5wZS03cy1ibHVldG9vdGg6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY4ZCI7Cn0KLnBlLTdzLWNsb3VkLWRvd25sb2FkOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OGIiOwp9Ci5wZS03cy13YXk6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY4ZSI7Cn0KLnBlLTdzLWNsb3NlLWNpcmNsZTpiZWZvcmUgewoJY29udGVudDogIlxlNjgxIjsKfQoucGUtN3MtaWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY4ZiI7Cn0KLnBlLTdzLWFuZ2xlLXVwOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2ODIiOwp9Ci5wZS03cy13cmlzdHdhdGNoOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OTAiOwp9Ci5wZS03cy1hbmdsZS11cC1jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY4MyI7Cn0KLnBlLTdzLXdvcmxkOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OTEiOwp9Ci5wZS03cy1hbmdsZS1yaWdodDpiZWZvcmUgewoJY29udGVudDogIlxlNjg0IjsKfQoucGUtN3Mtdm9sdW1lOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OTIiOwp9Ci5wZS03cy1hbmdsZS1yaWdodC1jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY4NSI7Cn0KLnBlLTdzLXVzZXJzOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OTMiOwp9Ci5wZS03cy1hbmdsZS1sZWZ0OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2ODYiOwp9Ci5wZS03cy11c2VyLWZlbWFsZTpiZWZvcmUgewoJY29udGVudDogIlxlNjk0IjsKfQoucGUtN3MtYW5nbGUtbGVmdC1jaXJjbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY4NyI7Cn0KLnBlLTdzLXVwLWFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OTUiOwp9Ci5wZS03cy1hbmdsZS1kb3duOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2ODgiOwp9Ci5wZS03cy1zd2l0Y2g6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY5NiI7Cn0KLnBlLTdzLWFuZ2xlLWRvd24tY2lyY2xlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2ODkiOwp9Ci5wZS03cy1zY2lzc29yczpiZWZvcmUgewoJY29udGVudDogIlxlNjk3IjsKfQoucGUtN3Mtd2FsbGV0OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MDAiOwp9Ci5wZS03cy1zYWZlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OTgiOwp9Ci5wZS03cy12b2x1bWUyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MDEiOwp9Ci5wZS03cy12b2x1bWUxOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MDIiOwp9Ci5wZS03cy12b2ljZW1haWw6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYwMyI7Cn0KLnBlLTdzLXZpZGVvOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MDQiOwp9Ci5wZS03cy11c2VyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MDUiOwp9Ci5wZS03cy11cGxvYWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYwNiI7Cn0KLnBlLTdzLXVubG9jazpiZWZvcmUgewoJY29udGVudDogIlxlNjA3IjsKfQoucGUtN3MtdW1icmVsbGE6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYwOCI7Cn0KLnBlLTdzLXRyYXNoOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MDkiOwp9Ci5wZS03cy10b29sczpiZWZvcmUgewoJY29udGVudDogIlxlNjBhIjsKfQoucGUtN3MtdGltZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYwYiI7Cn0KLnBlLTdzLXRpY2tldDpiZWZvcmUgewoJY29udGVudDogIlxlNjBjIjsKfQoucGUtN3MtdGFyZ2V0OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MGQiOwp9Ci5wZS03cy1zdW46YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYwZSI7Cn0KLnBlLTdzLXN0dWR5OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MGYiOwp9Ci5wZS03cy1zdG9wd2F0Y2g6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxMCI7Cn0KLnBlLTdzLXN0YXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxMSI7Cn0KLnBlLTdzLXNwZWFrZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxMiI7Cn0KLnBlLTdzLXNpZ25hbDpiZWZvcmUgewoJY29udGVudDogIlxlNjEzIjsKfQoucGUtN3Mtc2h1ZmZsZTpiZWZvcmUgewoJY29udGVudDogIlxlNjE0IjsKfQoucGUtN3Mtc2hvcGJhZzpiZWZvcmUgewoJY29udGVudDogIlxlNjE1IjsKfQoucGUtN3Mtc2hhcmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxNiI7Cn0KLnBlLTdzLXNlcnZlcjpiZWZvcmUgewoJY29udGVudDogIlxlNjE3IjsKfQoucGUtN3Mtc2VhcmNoOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MTgiOwp9Ci5wZS03cy1maWxtOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YTUiOwp9Ci5wZS03cy1zY2llbmNlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MTkiOwp9Ci5wZS03cy1kaXNrOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YTYiOwp9Ci5wZS03cy1yaWJib246YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxYSI7Cn0KLnBlLTdzLXJlcGVhdDpiZWZvcmUgewoJY29udGVudDogIlxlNjFiIjsKfQoucGUtN3MtcmVmcmVzaDpiZWZvcmUgewoJY29udGVudDogIlxlNjFjIjsKfQoucGUtN3MtYWRkLXVzZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZhOSI7Cn0KLnBlLTdzLXJlZnJlc2gtY2xvdWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxZCI7Cn0KLnBlLTdzLXBhcGVyY2xpcDpiZWZvcmUgewoJY29udGVudDogIlxlNjljIjsKfQoucGUtN3MtcmFkaW86YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYxZSI7Cn0KLnBlLTdzLW5vdGUyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2OWQiOwp9Ci5wZS03cy1wcmludDpiZWZvcmUgewoJY29udGVudDogIlxlNjFmIjsKfQoucGUtN3MtbmV0d29yazpiZWZvcmUgewoJY29udGVudDogIlxlNjllIjsKfQoucGUtN3MtcHJldjpiZWZvcmUgewoJY29udGVudDogIlxlNjIwIjsKfQoucGUtN3MtbXV0ZTpiZWZvcmUgewoJY29udGVudDogIlxlNjlmIjsKfQoucGUtN3MtcG93ZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyMSI7Cn0KLnBlLTdzLW1lZGFsOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YTAiOwp9Ci5wZS03cy1wb3J0Zm9saW86YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyMiI7Cn0KLnBlLTdzLWxpa2UyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YTEiOwp9Ci5wZS03cy1wbHVzOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MjMiOwp9Ci5wZS03cy1sZWZ0LWFycm93OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2YTIiOwp9Ci5wZS03cy1wbGF5OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MjQiOwp9Ci5wZS03cy1rZXk6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZhMyI7Cn0KLnBlLTdzLXBsYW5lOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MjUiOwp9Ci5wZS03cy1qb3k6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTZhNCI7Cn0KLnBlLTdzLXBob3RvLWdhbGxlcnk6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyNiI7Cn0KLnBlLTdzLXBpbjpiZWZvcmUgewoJY29udGVudDogIlxlNjliIjsKfQoucGUtN3MtcGhvbmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyNyI7Cn0KLnBlLTdzLXBsdWc6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY5YSI7Cn0KLnBlLTdzLXBlbjpiZWZvcmUgewoJY29udGVudDogIlxlNjI4IjsKfQoucGUtN3MtcmlnaHQtYXJyb3c6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY5OSI7Cn0KLnBlLTdzLXBhcGVyLXBsYW5lOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MjkiOwp9Ci5wZS03cy1kZWxldGUtdXNlcjpiZWZvcmUgewoJY29udGVudDogIlxlNmE3IjsKfQoucGUtN3MtcGFpbnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyYSI7Cn0KLnBlLTdzLWJvdHRvbS1hcnJvdzpiZWZvcmUgewoJY29udGVudDogIlxlNmE4IjsKfQoucGUtN3Mtbm90ZWJvb2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyYiI7Cn0KLnBlLTdzLW5vdGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyYyI7Cn0KLnBlLTdzLW5leHQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyZCI7Cn0KLnBlLTdzLW5ld3MtcGFwZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYyZSI7Cn0KLnBlLTdzLW11c2ljbGlzdDpiZWZvcmUgewoJY29udGVudDogIlxlNjJmIjsKfQoucGUtN3MtbXVzaWM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYzMCI7Cn0KLnBlLTdzLW1vdXNlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MzEiOwp9Ci5wZS03cy1tb3JlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MzIiOwp9Ci5wZS03cy1tb29uOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MzMiOwp9Ci5wZS03cy1tb25pdG9yOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MzQiOwp9Ci5wZS03cy1taWNybzpiZWZvcmUgewoJY29udGVudDogIlxlNjM1IjsKfQoucGUtN3MtbWVudTpiZWZvcmUgewoJY29udGVudDogIlxlNjM2IjsKfQoucGUtN3MtbWFwOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MzciOwp9Ci5wZS03cy1tYXAtbWFya2VyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MzgiOwp9Ci5wZS03cy1tYWlsOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2MzkiOwp9Ci5wZS03cy1tYWlsLW9wZW46YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYzYSI7Cn0KLnBlLTdzLW1haWwtb3Blbi1maWxlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2M2IiOwp9Ci5wZS03cy1tYWduZXQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYzYyI7Cn0KLnBlLTdzLWxvb3A6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYzZCI7Cn0KLnBlLTdzLWxvb2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYzZSI7Cn0KLnBlLTdzLWxvY2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTYzZiI7Cn0KLnBlLTdzLWxpbnRlcm46YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0MCI7Cn0KLnBlLTdzLWxpbms6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0MSI7Cn0KLnBlLTdzLWxpa2U6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0MiI7Cn0KLnBlLTdzLWxpZ2h0OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NDMiOwp9Ci5wZS03cy1sZXNzOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NDQiOwp9Ci5wZS03cy1rZXlwYWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0NSI7Cn0KLnBlLTdzLWp1bms6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0NiI7Cn0KLnBlLTdzLWluZm86YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0NyI7Cn0KLnBlLTdzLWhvbWU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0OCI7Cn0KLnBlLTdzLWhlbHAyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NDkiOwp9Ci5wZS03cy1oZWxwMTpiZWZvcmUgewoJY29udGVudDogIlxlNjRhIjsKfQoucGUtN3MtZ3JhcGgzOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NGIiOwp9Ci5wZS03cy1ncmFwaDI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0YyI7Cn0KLnBlLTdzLWdyYXBoMTpiZWZvcmUgewoJY29udGVudDogIlxlNjRkIjsKfQoucGUtN3MtZ3JhcGg6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY0ZSI7Cn0KLnBlLTdzLWdsb2JhbDpiZWZvcmUgewoJY29udGVudDogIlxlNjRmIjsKfQoucGUtN3MtZ2xlYW06YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY1MCI7Cn0KLnBlLTdzLWdsYXNzZXM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY1MSI7Cn0KLnBlLTdzLWdpZnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY1MiI7Cn0KLnBlLTdzLWZvbGRlcjpiZWZvcmUgewoJY29udGVudDogIlxlNjUzIjsKfQoucGUtN3MtZmxhZzpiZWZvcmUgewoJY29udGVudDogIlxlNjU0IjsKfQoucGUtN3MtZmlsdGVyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NTUiOwp9Ci5wZS03cy1maWxlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NTYiOwp9Ci5wZS03cy1leHBhbmQxOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NTciOwp9Ci5wZS03cy1leGFwbmQyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NTgiOwp9Ci5wZS03cy1lZGl0OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NTkiOwp9Ci5wZS03cy1kcm9wOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NWEiOwp9Ci5wZS03cy1kcmF3ZXI6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY1YiI7Cn0KLnBlLTdzLWRvd25sb2FkOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NWMiOwp9Ci5wZS03cy1kaXNwbGF5MjpiZWZvcmUgewoJY29udGVudDogIlxlNjVkIjsKfQoucGUtN3MtZGlzcGxheTE6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY1ZSI7Cn0KLnBlLTdzLWRpc2tldHRlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NWYiOwp9Ci5wZS03cy1kYXRlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NjAiOwp9Ci5wZS03cy1jdXA6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2MSI7Cn0KLnBlLTdzLWN1bHR1cmU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2MiI7Cn0KLnBlLTdzLWNyb3A6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2MyI7Cn0KLnBlLTdzLWNyZWRpdDpiZWZvcmUgewoJY29udGVudDogIlxlNjY0IjsKfQoucGUtN3MtY29weS1maWxlOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NjUiOwp9Ci5wZS03cy1jb25maWc6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2NiI7Cn0KLnBlLTdzLWNvbXBhc3M6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2NyI7Cn0KLnBlLTdzLWNvbW1lbnQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2OCI7Cn0KLnBlLTdzLWNvZmZlZTpiZWZvcmUgewoJY29udGVudDogIlxlNjY5IjsKfQoucGUtN3MtY2xvdWQ6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY2YSI7Cn0KLnBlLTdzLWNsb2NrOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NmIiOwp9Ci5wZS03cy1jaGVjazpiZWZvcmUgewoJY29udGVudDogIlxlNjZjIjsKfQoucGUtN3MtY2hhdDpiZWZvcmUgewoJY29udGVudDogIlxlNjZkIjsKfQoucGUtN3MtY2FydDpiZWZvcmUgewoJY29udGVudDogIlxlNjZlIjsKfQoucGUtN3MtY2FtZXJhOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NmYiOwp9Ci5wZS03cy1jYWxsOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NzAiOwp9Ci5wZS03cy1jYWxjdWxhdG9yOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NzEiOwp9Ci5wZS03cy1icm93c2VyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NzIiOwp9Ci5wZS03cy1ib3gyOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NzMiOwp9Ci5wZS03cy1ib3gxOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2NzQiOwp9Ci5wZS03cy1ib29rbWFya3M6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY3NSI7Cn0KLnBlLTdzLWJpY3ljbGU6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY3NiI7Cn0KLnBlLTdzLWJlbGw6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY3NyI7Cn0KLnBlLTdzLWJhdHRlcnk6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY3OCI7Cn0KLnBlLTdzLWJhbGw6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY3OSI7Cn0KLnBlLTdzLWJhY2s6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY3YSI7Cn0KLnBlLTdzLWF0dGVudGlvbjpiZWZvcmUgewoJY29udGVudDogIlxlNjdiIjsKfQoucGUtN3MtYW5jaG9yOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2N2MiOwp9Ci5wZS03cy1hbGJ1bXM6YmVmb3JlIHsKCWNvbnRlbnQ6ICJcZTY3ZCI7Cn0KLnBlLTdzLWFsYXJtOmJlZm9yZSB7Cgljb250ZW50OiAiXGU2N2UiOwp9Ci5wZS03cy1haXJwbGF5OmJlZm9yZSB7Cgljb250ZW50OiAiXGU2N2YiOwp9Cg=="}},"time_used":135,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":135,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://cable.coingecko.com/cable","fqdn":"cable.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"","port":0,"asn":0,"as":"","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.661Z","timestamp":1785133990661,"http_version":"","security_state":"insecure","security_info":null,"request":{"raw":"GET /cable HTTP/1.1\r\nHost: cable.coingecko.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\nSec-WebSocket-Version: 13\r\nOrigin: https://frxoptmarkt.com\r\nSec-WebSocket-Protocol: actioncable-v1-json, actioncable-unsupported\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: dE8b+psVZUPH6lAB4xCkuA==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"","headers":null,"cookies":null,"status_code":"","status_text":"","fingerprints":null,"data":{"size":0,"size_decoded":0,"mime_type":"","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T12:30:22.34111Z","times_seen":17708041,"resource_available":true,"data":null}},"time_used":0,"timings":{"blocked":0,"dns":0,"connect":0,"send":0,"wait":0,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":true,"resource_type":"document","requested_by":"","date":"2026-07-27T06:33:08.595Z","timestamp":1785133988595,"http_version":"HTTP/2","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET / HTTP/1.1\r\nHost: frxoptmarkt.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\ncontent-type: text/html; charset=UTF-8\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\nalt-svc: h3=\":443\"; ma=2592000, h3-29=\":443\"; ma=2592000, h3-Q050=\":443\"; ma=2592000, h3-Q046=\":443\"; ma=2592000, h3-Q043=\":443\"; ma=2592000, quic=\":443\"; ma=2592000; v=\"43,46\"\r\nX-Firefox-Spdy: h2\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"YouTube","description":"YouTube is a video sharing service where users can create their own profile, upload videos, watch, like and comment on other videos.","website":"https://www.youtube.com","common_platform_enumeration":"","icon":"YouTube.png","categories":["Video players"]},{"name":"Bootstrap","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":"jQuery:2.2.4","description":"jQuery is a JavaScript library which is a free, open-source software designed to simplify HTML DOM tree traversal and manipulation, as well as event handling, CSS animation, and Ajax.","website":"https://jquery.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery:*:*:*:*:*:*:*:*","icon":"jQuery.svg","categories":["JavaScript libraries"]},{"name":"jQuery UI","description":"jQuery UI is a collection of GUI widgets, animated visual effects, and themes implemented with jQuery, Cascading Style Sheets, and HTML.","website":"https://jqueryui.com","common_platform_enumeration":"cpe:2.3:a:jquery:jquery_ui:*:*:*:*:*:*:*:*","icon":"jQuery UI.svg","categories":["JavaScript libraries"]},{"name":"parallax.js","description":"Simple parallax scrolling effect.","website":"https://github.com/pixelcog/parallax.js","common_platform_enumeration":"","icon":"","categories":["JavaScript libraries"]},{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":57349,"size_decoded":9986,"mime_type":"text/html; charset=UTF-8","magic":"HTML document, Unicode text, UTF-8 text, with very long lines (475), with CRLF, LF line terminators","md5":"b191c8b30b8a9949c5bf259db793841b","sha1":"899ac8cf6f3c22d6e5144e7594cf74ea51c55853","sha256":"4818a4c427fc9e8f85e7c3105be34e4f6e04c3691f01efb4c7edae99b12b48af","sha512":"43c34219ceb8a0d489f2bae7c7b717ab973c7d3f054c178d74a5d484017ade04fd4fe5e67d6dd645e261cb005a973ba62f3798656eef7d190b411b4633c7e4e9","ssdeep":"768:+PYvOX+Ij9HEj+Ey+ZVHFqMAkyp1RyDJETk:PVIj9HA+5+rHFkzCDJek","tlshash":"9f43962076e41122406340eaa6744f19af60f307ee1fc954b6fc0bc66fdad96da1375e","first_seen":"2026-07-27T05:16:56.337464Z","last_seen":"2026-07-27T06:33:54.044252Z","times_seen":2,"resource_available":false,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIGRpcj0ibHRyIiBsYW5nPSJlbiI+CjxoZWFkPg0KPCEtLSBNZXRhIFRhZ3MgLS0+DQo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MS4wIi8+DQo8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPg0KPG1ldGEgbmFtZT0iZGVzY3JpcHRpb24iIGNvbnRlbnQ9IkZvcmV4IE9wdGlvbiBNYXJrZXQgaXMgeW91ciBsZWFkaW5nIGNyeXB0b2N1cnJlbmN5IGludmVzdG1lbnQgYW5kIHRyYWRpbmcgcGxhdGZvcm0gdGhhdCBvZmZlcnMgQml0Y29pbiB0cmFkaW5nIG9wdGlvbnMsIHByb3ZpZGVzIDI0LzcgY3VzdG9tZXIgc3VwcG9ydCwgaGlnaCBsZXZlbCBvZiBzZWN1cml0eSwgYW5kIHN0YWJsZSBkZXBvc2l0cyBhbmQgd2l0aGRyYXdhbHMuIj4NCjxtZXRhIG5hbWU9ImtleXdvcmRzIiBjb250ZW50PSJGb3JleCBPcHRpb24gTWFya2V0LCBCaXRjb2luIEludmVzdG1lbnQsIEJpdGNvaW4gVHJhZGluZyBQbGF0Zm9ybSwgQmluYXJ5IFRyYWRpbmcgUGxhdGZvcm0sIERpZ2l0YWwgT3B0aW9ucyBUcmFkaW5nLCBCVEMsIENyeXB0b2N1cnJlbmN5IEludmVzdG1lbnQiPg0KPG1ldGEgbmFtZT0iYXV0aG9yIiBjb250ZW50PSJGb3JleCBPcHRpb24gTWFya2V0Ij4NCg0KPCEtLSBQYWdlIFRpdGxlIC0tPg0KPHRpdGxlPkhvbWUgUGFnZSAtIEJpdGNvaW4gSW52ZXN0bWVudCwgQml0Y29pbiBUcmFkaW5nLCBFRlRzICYgRGlnaXRhbCBPcHRpb25zIFRyYWRpbmcgLSBGb3JleCBPcHRpb24gTWFya2V0PC90aXRsZT4NCg0KPCEtLSBGYXZpY29uIGFuZCBUb3VjaCBJY29ucyAtLT4NCjxsaW5rIGhyZWY9ImltYWdlcy9mYXZpY29uLnBuZyIgcmVsPSJzaG9ydGN1dCBpY29uIiB0eXBlPSJpbWFnZS9wbmciPg0KDQo8IS0tIFN0eWxlc2hlZXQgLS0+DQo8bGluayBocmVmPSJjc3MvYm9vdHN0cmFwLm1pbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPg0KPGxpbmsgaHJlZj0iY3NzL2pxdWVyeS11aS5taW4uY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4NCjxsaW5rIGhyZWY9ImNzcy9hbmltYXRlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8bGluayBocmVmPSJjc3MvY3NzLXBsdWdpbi1jb2xsZWN0aW9ucy5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KPCEtLSBDU1MgfCBtZW51em9yZCBtZWdhbWVudSBza2lucyAtLT4NCjxsaW5rIGhyZWY9ImNzcy9tZW51em9yZC1tZWdhbWVudS5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KPGxpbmsgaWQ9Im1lbnV6b3JkLW1lbnUtc2tpbnMiIGhyZWY9ImNzcy9tZW51em9yZC1za2lucy9tZW51em9yZC1ib3hlZC5jc3MiIHJlbD0ic3R5bGVzaGVldCIvPg0KPCEtLSBDU1MgfCBNYWluIHN0eWxlIGZpbGUgLS0+DQo8bGluayBocmVmPSJjc3Mvc3R5bGUtbWFpbi5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPg0KPCEtLSBDU1MgfCBQcmVsb2FkZXIgU3R5bGVzIC0tPg0KPGxpbmsgaHJlZj0iY3NzL3ByZWxvYWRlci5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPg0KPCEtLSBDU1MgfCBDdXN0b20gTWFyZ2luIFBhZGRpbmcgQ29sbGVjdGlvbiAtLT4NCjxsaW5rIGhyZWY9ImNzcy9jdXN0b20tYm9vdHN0cmFwLW1hcmdpbi1wYWRkaW5nLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tIENTUyB8IFJlc3BvbnNpdmUgbWVkaWEgcXVlcmllcyAtLT4NCjxsaW5rIGhyZWY9ImNzcy9yZXNwb25zaXZlLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyI+DQo8IS0tIENTUyB8IFN0eWxlIGNzcy4gVGhpcyBpcyB0aGUgZmlsZSB3aGVyZSB5b3UgY2FuIHBsYWNlIHlvdXIgb3duIGN1c3RvbSBjc3MgY29kZS4gSnVzdCB1bmNvbW1lbnQgaXQgYW5kIHVzZSBpdC4gLS0+DQo8IS0tIDxsaW5rIGhyZWY9ImNzcy9zdHlsZS5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiPiAtLT4NCg0KPCEtLSBSZXZvbHV0aW9uIFNsaWRlciA1LnggQ1NTIHNldHRpbmdzIC0tPg0KPGxpbmsgIGhyZWY9ImpzL3Jldm9sdXRpb24tc2xpZGVyL2Nzcy9zZXR0aW5ncy5jc3MiIHJlbD0ic3R5bGVzaGVldCIgdHlwZT0idGV4dC9jc3MiLz4NCjxsaW5rICBocmVmPSJqcy9yZXZvbHV0aW9uLXNsaWRlci9jc3MvbGF5ZXJzLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPg0KPGxpbmsgIGhyZWY9ImpzL3Jldm9sdXRpb24tc2xpZGVyL2Nzcy9uYXZpZ2F0aW9uLmNzcyIgcmVsPSJzdHlsZXNoZWV0IiB0eXBlPSJ0ZXh0L2NzcyIvPg0KDQo8IS0tIENTUyB8IFRoZW1lIENvbG9yIC0tPg0KPGxpbmsgaHJlZj0iY3NzL2NvbG9ycy90aGVtZS1za2luLWNvbG9yLXNldDEuY3NzIiByZWw9InN0eWxlc2hlZXQiIHR5cGU9InRleHQvY3NzIj4NCjxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0ic3dlZXRhbGVydDIvZGlzdC9zd2VldGFsZXJ0Mi5taW4uY3NzIj4NCjwhLS0gZXh0ZXJuYWwgamF2YXNjcmlwdHMgLS0+DQo8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LTIuMi40Lm1pbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0ianMvanF1ZXJ5LXVpLm1pbi5qcyI+PC9zY3JpcHQ+DQo8c2NyaXB0IHNyYz0ianMvYm9vdHN0cmFwLm1pbi5qcyI+PC9zY3JpcHQ+DQo8IS0tIEpTIHwganF1ZXJ5IHBsdWdpbiBjb2xsZWN0aW9uIGZvciB0aGlzIHRoZW1lIC0tPg0KPHNjcmlwdCBzcmM9ImpzL2pxdWVyeS1wbHVnaW4tY29sbGVjdGlvbi5qcyI+PC9zY3JpcHQ+DQoNCjwhLS0gUmV2b2x1dGlvbiBTbGlkZXIgNS54IFNDUklQVFMgLS0+DQo8c2NyaXB0IHNyYz0ianMvcmV2b2x1dGlvbi1zbGlkZXIvanMvanF1ZXJ5LnRoZW1lcHVuY2gudG9vbHMubWluLmpzIj48L3NjcmlwdD4NCjxzY3JpcHQgc3JjPSJqcy9yZXZvbHV0aW9uLXNsaWRlci9qcy9qcXVlcnkudGhlbWVwdW5jaC5yZXZvbHV0aW9uLm1pbi5qcyI+PC9zY3JpcHQ+DQoNCjwhLS0gSFRNTDUgc2hpbSBhbmQgUmVzcG9uZC5qcyBmb3IgSUU4IHN1cHBvcnQgb2YgSFRNTDUgZWxlbWVudHMgYW5kIG1lZGlhIHF1ZXJpZXMgLS0+DQo8IS0tIFdBUk5JTkc6IFJlc3BvbmQuanMgZG9lc24ndCB3b3JrIGlmIHlvdSB2aWV3IHRoZSBwYWdlIHZpYSBmaWxlOi8vIC0tPg0KPCEtLVtpZiBsdCBJRSA5XT4NCiAgPHNjcmlwdCBzcmM9Imh0dHBzOi8vb3NzLm1heGNkbi5jb20vaHRtbDVzaGl2LzMuNy4yL2h0bWw1c2hpdi5taW4uanMiPjwvc2NyaXB0Pg0KICA8c2NyaXB0IHNyYz0iaHR0cHM6Ly9vc3MubWF4Y2RuLmNvbS9yZXNwb25kLzEuNC4yL3Jlc3BvbmQubWluLmpzIj48L3NjcmlwdD4NCjwhW2VuZGlmXS0tPg0KPC9oZWFkPjxib2R5IGNsYXNzPSIiPgo8ZGl2IGlkPSJ3cmFwcGVyIiBjbGFzcz0iY2xlYXJmaXgiPgoKICA8IS0tIHByZWxvYWRlciAtLT4NCiAgPGRpdiBpZD0icHJlbG9hZGVyIj4NCiAgICA8ZGl2IGlkPSJzcGlubmVyIj4NCiAgICAgIDxkaXYgY2xhc3M9InByZWxvYWRlci1kb3QtbG9hZGluZyI+DQogICAgICAgIDxkaXYgY2xhc3M9ImNzc2xvYWQtbG9hZGluZyI+PGk+PC9pPjxpPjwvaT48aT48L2k+PGk+PC9pPjwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9kaXY+DQogIDwvZGl2PiANCiAgDQogIDwhLS0gSGVhZGVyIC0tPg0KICA8aGVhZGVyIGlkPSJoZWFkZXIiIGNsYXNzPSJoZWFkZXIgbW9kZXJuLWhlYWRlciBtb2Rlcm4taGVhZGVyLXRoZW1lLWNvbG9yZWQiPg0KICAgIDxkaXYgY2xhc3M9ImhlYWRlci10b3AgYmctdGhlbWUtY29sb3JlZCBzbS10ZXh0LWNlbnRlciI+DQogICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPg0KICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPg0KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC04Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldCB0ZXh0LXdoaXRlIj4NCiAgICAgICAgICAgICAgPGkgY2xhc3M9ImZhIGZhLWVudmVsb3BlIHRleHQtdGhlbWUtY29sb3JlZDIiPjwvaT4gc3VwcG9ydEBmcnhvcHRtYXJrdC5jb208L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNCI+DQogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ3aWRnZXQiPg0KICAgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3QtaW5saW5lICB0ZXh0LXJpZ2h0IGZsaXAgc20tdGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICAgIDxsaSBjbGFzcz0ibS0wIHBsLTEwIj4gPGEgaHJlZj0ibG9naW4ucGhwIiBjbGFzcz0idGV4dC13aGl0ZSI+PGkgY2xhc3M9ImZhIGZhLXVzZXItbyBtci01IHRleHQtdGhlbWUtY29sb3JlZDIiPjwvaT4gTG9naW4gLzwvYT4gPC9saT4NCiAgICAgICAgICAgICAgICA8bGkgY2xhc3M9Im0tMCBwbC0wIHByLTEwIj4gDQogICAgICAgICAgICAgICAgICA8YSBocmVmPSJyZWdpc3Rlci5waHAiIGNsYXNzPSJ0ZXh0LXdoaXRlIj48aSBjbGFzcz0iZmEgZmEtZWRpdCBtci01IHRleHQtdGhlbWUtY29sb3JlZDIiPjwvaT5SZWdpc3RlcjwvYT4gDQogICAgICAgICAgICAgICAgPC9saT4NCiAgICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICAgIDwvZGl2Pg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImhlYWRlci1taWRkbGUgcC0wIGJnLWxpZ2h0ZXN0IHhzLXRleHQtY2VudGVyIHBiLTMwIj4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBwdC0yMCBwYi0yMCI+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS0xMiBjb2wtbWQtMyI+DQogICAgICAgICAgICA8YSBjbGFzcz0ibWVudXpvcmQtYnJhbmQgcHVsbC1sZWZ0IGZsaXAgc20tcHVsbC1jZW50ZXIgbWItMTUiIGhyZWY9ImluZGV4LnBocCI+PGltZyBzcmM9ImltYWdlcy9sb2dvLXdpZGUucG5nIiBhbHQ9IiI+PC9hPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgIDwvZGl2Pg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImhlYWRlci1uYXYiPg0KICAgICAgPGRpdiBjbGFzcz0iaGVhZGVyLW5hdi13cmFwcGVyIG5hdmJhci1zY3JvbGx0b2ZpeGVkIj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4NCiAgICAgICAgICA8bmF2IGlkPSJtZW51em9yZCIgY2xhc3M9Im1lbnV6b3JkIHllbGxvdyI+DQogICAgICAgICAgICA8dWwgY2xhc3M9Im1lbnV6b3JkLW1lbnUiPg0KICAgICAgICAgICAgICA8bGkgY2xhc3M9ImFjdGl2ZSI+PGEgaHJlZj0iaW5kZXgucGhwIj48aSBjbGFzcz0iZmEgZmEtaG9tZSI+PC9pPiBIb21lPC9hPjwvbGk+DQogICAgICAgICAgICAgIDxsaSBjbGFzcz0iIj48YSBocmVmPSJhYm91dC11cy5waHAiPjxpIGNsYXNzPSJmYSBmYS1hZGRyZXNzLWJvb2stbyIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4gQWJvdXQgVXM8L2E+PC9saT4NCiAgICAgICAgICAgICAgPGxpIGNsYXNzPSIiPjxhIGhyZWY9Im1hcmtldC1kYXRhLnBocCI+PGkgY2xhc3M9ImZhIGZhLWJhci1jaGFydCIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4gTWFya2V0IERhdGE8L2E+PC9saT4NCiAgICAgICAgICAgICAgPGxpIGNsYXNzPSIiPjxhIGhyZWY9ImZhcS5waHAiPjxpIGNsYXNzPSJmYSBmYS1xdWVzdGlvbi1jaXJjbGUiIGFyaWEtaGlkZGVuPSJ0cnVlIj48L2k+IEZBUTwvYT48L2xpPg0KICAgICAgICAgICAgICA8bGkgY2xhc3M9IiI+PGEgaHJlZj0idGVybXMucGhwIj48aSBjbGFzcz0iZmEgZmEtaW5mby1jaXJjbGUiPjwvaT4gVGVybXM8L2E+PC9saT4NCiAgICAgICAgICAgICAgPGxpIGNsYXNzPSIiPjxhIGhyZWY9ImNvbnRhY3QtdXMucGhwIj48aSBjbGFzcz0iZmEgZmEtbWFwLW1hcmtlciIgYXJpYS1oaWRkZW49InRydWUiPjwvaT4gQ29udGFjdCBVczwvYT48L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICA8L25hdj4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCg0KICA8L2hlYWRlcj4gICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9yZXZvbHV0aW9uLXNsaWRlci9qcy9leHRlbnNpb25zL3Jldm9sdXRpb24uZXh0ZW5zaW9uLnNsaWRlYW5pbXMubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvcmV2b2x1dGlvbi1zbGlkZXIvanMvZXh0ZW5zaW9ucy9yZXZvbHV0aW9uLmV4dGVuc2lvbi5sYXllcmFuaW1hdGlvbi5taW4uanMiPjwvc2NyaXB0Pgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJqcy9yZXZvbHV0aW9uLXNsaWRlci9qcy9leHRlbnNpb25zL3Jldm9sdXRpb24uZXh0ZW5zaW9uLm5hdmlnYXRpb24ubWluLmpzIj48L3NjcmlwdD4KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0ianMvcmV2b2x1dGlvbi1zbGlkZXIvanMvZXh0ZW5zaW9ucy9yZXZvbHV0aW9uLmV4dGVuc2lvbi5wYXJhbGxheC5taW4uanMiPjwvc2NyaXB0PiAKICAKICA8IS0tIFN0YXJ0IG1haW4tY29udGVudCAtLT4KICA8ZGl2IGNsYXNzPSJtYWluLWNvbnRlbnQiPgoKICAgIDwhLS0gU2VjdGlvbjogaG9tZSAtLT4KICAgIDxzZWN0aW9uIGlkPSJob21lIiBjbGFzcz0iZGl2aWRlciI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lci1mbHVpZCBwLTAiPgoKICAgICAgICA8IS0tIFNUQVJUIFJFVk9MVVRJT04gU0xJREVSIDUuMC43IC0tPgogICAgICAgIDxkaXYgaWQ9InJldl9zbGlkZXJfaG9tZV93cmFwcGVyIiBjbGFzcz0icmV2X3NsaWRlcl93cmFwcGVyIGZ1bGx3aWR0aGJhbm5lci1jb250YWluZXIiIGRhdGEtYWxpYXM9Im5ld3MtZ2FsbGVyeTM0IiBzdHlsZT0ibWFyZ2luOjBweCBhdXRvO2JhY2tncm91bmQtY29sb3I6I2ZmZmZmZjtwYWRkaW5nOjBweDttYXJnaW4tdG9wOjBweDttYXJnaW4tYm90dG9tOjBweDsiPgogICAgICAgICAgPCEtLSBTVEFSVCBSRVZPTFVUSU9OIFNMSURFUiA1LjAuNyBmdWxsd2lkdGggbW9kZSAtLT4KICAgICAgICAgIDxkaXYgaWQ9InJldl9zbGlkZXJfaG9tZSIgY2xhc3M9InJldl9zbGlkZXIgZnVsbHdpZHRoYWJhbm5lciIgc3R5bGU9ImRpc3BsYXk6bm9uZTsiIGRhdGEtdmVyc2lvbj0iNS4wLjciPgogICAgICAgICAgICA8dWw+CiAgICAgICAgICAgICAgPCEtLSBTTElERSAxIC0tPgogICAgICAgICAgICAgIDxsaSBkYXRhLWluZGV4PSJycy0xIiBkYXRhLXRyYW5zaXRpb249InNsaWRpbmdvdmVybGF5aG9yaXpvbnRhbCIgZGF0YS1zbG90YW1vdW50PSJkZWZhdWx0IiBkYXRhLWVhc2Vpbj0iZGVmYXVsdCIgZGF0YS1lYXNlb3V0PSJkZWZhdWx0IiBkYXRhLW1hc3RlcnNwZWVkPSJkZWZhdWx0IiBkYXRhLXRodW1iPSJpbWFnZXMvYmcvYmcxNy5qcGciIGRhdGEtcm90YXRlPSIwIiAgZGF0YS1mc3RyYW5zaXRpb249ImZhZGUiIGRhdGEtZnNtYXN0ZXJzcGVlZD0iMTUwMCIgZGF0YS1mc3Nsb3RhbW91bnQ9IjciIGRhdGEtc2F2ZXBlcmZvcm1hbmNlPSJvZmYiIGRhdGEtdGl0bGU9Ik1ha2UgYW4gSW1wYWN0Ij4KICAgICAgICAgICAgICAgIDwhLS0gTUFJTiBJTUFHRSAtLT4KICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvYmcvYmcxNy5qcGciIGFsdD0iIiBkYXRhLWJncG9zaXRpb249ImNlbnRlciBjZW50ZXIiIGRhdGEtYmdmaXQ9ImNvdmVyIiBkYXRhLWJncmVwZWF0PSJuby1yZXBlYXQiIGRhdGEtYmdwYXJhbGxheD0iMTAiIGNsYXNzPSJyZXYtc2xpZGViZyIgZGF0YS1uby1yZXRpbmE+CiAgICAgICAgICAgICAgICA8IS0tIExBWUVSUyAtLT4KICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDEgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIHRwLXNoYXBlIHRwLXNoYXBld3JhcHBlciB0cC1yZXNpemVtZSBycy1wYXJhbGxheGxldmVsLTAiIAogICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtMS1sYXllci0xIiAKICAgICAgICAgICAgICAgICAgZGF0YS14PSJbJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlciddIiBkYXRhLWhvZmZzZXQ9IlsnMCcsJzAnLCcwJywnMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS15PSJbJ21pZGRsZScsJ21pZGRsZScsJ21pZGRsZScsJ21pZGRsZSddIiBkYXRhLXZvZmZzZXQ9IlsnMCcsJzAnLCcwJywnMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iZnVsbCIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9ImZ1bGwiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm9ybWFsIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ib3BhY2l0eTowO3M6MTUwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1fb3V0PSJvcGFjaXR5OjA7czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDtzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3RhcnQ9IjEwMDAiIAogICAgICAgICAgICAgICAgICBkYXRhLWJhc2VhbGlnbj0ic2xpZGUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA1O2JhY2tncm91bmQtY29sb3I6cmdiYSgwLCAwLCAwLCAwLjM1KTtib3JkZXItY29sb3I6cmdiYSgwLCAwLCAwLCAxLjAwKTsiPiAKICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBMQVlFUiBOUi4gMiAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gdHAtcmVzaXplbWUgdGV4dC13aGl0ZSBycy1wYXJhbGxheGxldmVsLTAiIAogICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtMS1sYXllci0yIiAKICAgICAgICAgICAgICAgICAgZGF0YS14PSJbJ2xlZnQnLCdsZWZ0JywnbGVmdCcsJ2xlZnQnXSIgZGF0YS1ob2Zmc2V0PSJbJzUwJywnNTAnLCc1MCcsJzMwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLXk9IlsndG9wJywndG9wJywndG9wJywndG9wJ10iIGRhdGEtdm9mZnNldD0iWycxMjAnLCcxMDAnLCc3MCcsJzkwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLWZvbnRzaXplPSJbJzU2JywnNDYnLCc0MCcsJzM2J10iCiAgICAgICAgICAgICAgICAgIGRhdGEtbGluZWhlaWdodD0iWyc3MCcsJzYwJywnNTAnLCc0NSddIgogICAgICAgICAgICAgICAgICBkYXRhLWZvbnR3ZWlnaHQ9IlsnODAwJywnNzAwJywnNzAwJywnNzAwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9IlsnNzAwJywnNjUwJywnNjAwJywnNDIwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJub25lIgogICAgICAgICAgICAgICAgICBkYXRhLXdoaXRlc3BhY2U9Im5vcm1hbCIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faWRsZT0ibzoxOyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faW49Ink6Wy0xMDAlXTt6OjA7clg6MGRlZztyWTowO3JaOjA7c1g6MTtzWToxO3NrWDowO3NrWTowO3M6MTUwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1fb3V0PSJhdXRvOmF1dG87czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfaW49Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1tYXNrX291dD0ieDowO3k6MDtzOmluaGVyaXQ7ZTppbmhlcml0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3RhcnQ9IjEwMDAiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0aW49Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0b3V0PSJub25lIiAKICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIAogICAgICAgICAgICAgICAgICBzdHlsZT0iei1pbmRleDogNjsgbWluLXdpZHRoOiA2MDBweDsgbWF4LXdpZHRoOiA2MDBweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsiPjxzcGFuIGNsYXNzPSJ0ZXh0LXRoZW1lLWNvbG9yZWQyIj5Gb3JleCBPcHRpb24gTWFya2V0PC9zcGFuPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIExBWUVSIE5SLiAzIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1yZXNpemVtZSB0ZXh0LXdoaXRlIHJzLXBhcmFsbGF4bGV2ZWwtMCIgCiAgICAgICAgICAgICAgICAgIGlkPSJzbGlkZS0xLWxheWVyLTMiIAogICAgICAgICAgICAgICAgICBkYXRhLXg9IlsnbGVmdCcsJ2xlZnQnLCdsZWZ0JywnbGVmdCddIiBkYXRhLWhvZmZzZXQ9IlsnNTAnLCc1MCcsJzUwJywnMzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS12b2Zmc2V0PSJbJzI4MCcsJzIyMCcsJzE4MCcsJzE4MCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS1mb250c2l6ZT0iWycxOCcsJzE4JywnMTYnLCcxMyddIgogICAgICAgICAgICAgICAgICBkYXRhLWxpbmVoZWlnaHQ9IlsnMzAnLCczMCcsJzI4JywnMjUnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1mb250d2VpZ2h0PSJbJzYwMCcsJzYwMCcsJzYwMCcsJzYwMCddIgogICAgICAgICAgICAgICAgICBkYXRhLXdpZHRoPSJbJzcwMCcsJzY1MCcsJzYwMCcsJzQyMCddIgogICAgICAgICAgICAgICAgICBkYXRhLWhlaWdodD0ibm9uZSIKICAgICAgICAgICAgICAgICAgZGF0YS13aGl0ZXNwYWNlPSJub3dyYXAiCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX2lkbGU9Im86MTsiCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX2luPSJ5OlstMTAwJV07ejowO3JYOjBkZWc7clk6MDtyWjowO3NYOjE7c1k6MTtza1g6MDtza1k6MDtzOjE1MDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX291dD0iYXV0bzphdXRvO3M6MTAwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1tYXNrX2luPSJ4OjBweDt5OjBweDtzOmluaGVyaXQ7ZTppbmhlcml0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19vdXQ9Ing6MDt5OjA7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXN0YXJ0PSIxMDAwIiAKICAgICAgICAgICAgICAgICAgZGF0YS1zcGxpdGluPSJub25lIiAKICAgICAgICAgICAgICAgICAgZGF0YS1zcGxpdG91dD0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiAKICAgICAgICAgICAgICAgICAgc3R5bGU9InotaW5kZXg6IDc7IHdoaXRlLXNwYWNlOiBub3dyYXA7Ij5BIGZpcm0gZm9yIENyeXB0b2N1cnJlbmN5PGJyPiBJbnZlc3RtZW50IFNvbHV0aW9uLgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIExBWUVSIE5SLiA0IC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1yZXNpemVtZSB0ZXh0LXdoaXRlIHJzLXBhcmFsbGF4bGV2ZWwtMCIgCiAgICAgICAgICAgICAgICAgIGlkPSJzbGlkZS0xLWxheWVyLTQiIAogICAgICAgICAgICAgICAgICBkYXRhLXg9IlsnbGVmdCcsJ2xlZnQnLCdsZWZ0JywnbGVmdCddIiBkYXRhLWhvZmZzZXQ9IlsnNTMnLCc1MycsJzUzJywnMzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS12b2Zmc2V0PSJbJzM2MCcsJzI5MCcsJzI2MCcsJzI2MCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS1mb250c2l6ZT0iWycxOCcsJzE4JywnMTYnLCcxNiddIgogICAgICAgICAgICAgICAgICBkYXRhLWxpbmVoZWlnaHQ9IlsnMzAnLCczMCcsJzMwJywnMzAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1mb250d2VpZ2h0PSJbJzYwMCcsJzYwMCcsJzYwMCcsJzYwMCddIgogICAgICAgICAgICAgICAgICBkYXRhLXdpZHRoPSJbJzcwMCcsJzY1MCcsJzYwMCcsJzQyMCddIgogICAgICAgICAgICAgICAgICBkYXRhLWhlaWdodD0ibm9uZSIKICAgICAgICAgICAgICAgICAgZGF0YS13aGl0ZXNwYWNlPSJub3dyYXAiCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX2lkbGU9Im86MTsiCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX2luPSJ5OlstMTAwJV07ejowO3JYOjBkZWc7clk6MDtyWjowO3NYOjE7c1k6MTtza1g6MDtza1k6MDtzOjE1MDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX291dD0iYXV0bzphdXRvO3M6MTAwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1tYXNrX2luPSJ4OjBweDt5OjBweDtzOmluaGVyaXQ7ZTppbmhlcml0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19vdXQ9Ing6MDt5OjA7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXN0YXJ0PSIxMDAwIiAKICAgICAgICAgICAgICAgICAgZGF0YS1zcGxpdGluPSJub25lIiAKICAgICAgICAgICAgICAgICAgZGF0YS1zcGxpdG91dD0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiAKICAgICAgICAgICAgICAgICAgc3R5bGU9InotaW5kZXg6IDc7IHdoaXRlLXNwYWNlOiBub3dyYXA7Ij4KICAgICAgICAgICAgICAgICAgPGEgaHJlZj0ibG9naW4ucGhwIiBjbGFzcz0iYnRuIGJ0bi1kZWZhdWx0IGJ0bi10aGVtZS1jb2xvcmVkMiBidG4teGwiPkxvZ2luPC9hPgogICAgICAgICAgICAgICAgICA8YSBocmVmPSJyZWdpc3Rlci5waHAiIGNsYXNzPSJidG4gYnRuLWRhcmsgYnRuLXRoZW1lLWNvbG9yZWQgYnRuLXhsIj5SZWdpc3RlciBOb3c8L2E+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2xpPgoKICAgICAgICAgICAgICA8IS0tIFNMSURFIDIgLS0+CiAgICAgICAgICAgICAgPGxpIGRhdGEtaW5kZXg9InJzLTIiIGRhdGEtdHJhbnNpdGlvbj0ic2xpZGluZ292ZXJsYXlob3Jpem9udGFsIiBkYXRhLXNsb3RhbW91bnQ9ImRlZmF1bHQiIGRhdGEtZWFzZWluPSJkZWZhdWx0IiBkYXRhLWVhc2VvdXQ9ImRlZmF1bHQiIGRhdGEtbWFzdGVyc3BlZWQ9ImRlZmF1bHQiIGRhdGEtdGh1bWI9ImltYWdlcy9iZy9iZzE2LmpwZyIgZGF0YS1yb3RhdGU9IjAiICBkYXRhLWZzdHJhbnNpdGlvbj0iZmFkZSIgZGF0YS1mc21hc3RlcnNwZWVkPSIxNTAwIiBkYXRhLWZzc2xvdGFtb3VudD0iNyIgZGF0YS1zYXZlcGVyZm9ybWFuY2U9Im9mZiIgZGF0YS10aXRsZT0iTWFrZSBhbiBJbXBhY3QiPgogICAgICAgICAgICAgICAgPCEtLSBNQUlOIElNQUdFIC0tPgogICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9iZy9iZzE2LmpwZyIgYWx0PSIiIGRhdGEtYmdwb3NpdGlvbj0iY2VudGVyIGNlbnRlciIgZGF0YS1iZ2ZpdD0iY292ZXIiIGRhdGEtYmdyZXBlYXQ9Im5vLXJlcGVhdCIgZGF0YS1iZ3BhcmFsbGF4PSIxMCIgY2xhc3M9InJldi1zbGlkZWJnIiBkYXRhLW5vLXJldGluYT4KICAgICAgICAgICAgICAgIDwhLS0gTEFZRVJTIC0tPgogICAgICAgICAgICAgICAgPCEtLSBMQVlFUiBOUi4gMSAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gdHAtc2hhcGUgdHAtc2hhcGV3cmFwcGVyIHRwLXJlc2l6ZW1lIHJzLXBhcmFsbGF4bGV2ZWwtMCIgCiAgICAgICAgICAgICAgICAgIGlkPSJzbGlkZS0xLWxheWVyLTEiIAogICAgICAgICAgICAgICAgICBkYXRhLXg9IlsnY2VudGVyJywnY2VudGVyJywnY2VudGVyJywnY2VudGVyJ10iIGRhdGEtaG9mZnNldD0iWycwJywnMCcsJzAnLCcwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLXk9IlsnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJywnbWlkZGxlJ10iIGRhdGEtdm9mZnNldD0iWycwJywnMCcsJzAnLCcwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLXdpZHRoPSJmdWxsIgogICAgICAgICAgICAgICAgICBkYXRhLWhlaWdodD0iZnVsbCIKICAgICAgICAgICAgICAgICAgZGF0YS13aGl0ZXNwYWNlPSJub3JtYWwiCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX2lkbGU9Im86MTsiCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX2luPSJvcGFjaXR5OjA7czoxNTAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9vdXQ9Im9wYWNpdHk6MDtzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0O3M6MTAwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtYmFzZWFsaWduPSJzbGlkZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZV9vZmZzZXQ9Im9uIiAKICAgICAgICAgICAgICAgICAgc3R5bGU9InotaW5kZXg6IDU7YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsIDAsIDAsIDAuMzUpO2JvcmRlci1jb2xvcjpyZ2JhKDAsIDAsIDAsIDEuMDApOyI+IAogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIExBWUVSIE5SLiAyIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1yZXNpemVtZSB0ZXh0LXdoaXRlIHJzLXBhcmFsbGF4bGV2ZWwtMCIgCiAgICAgICAgICAgICAgICAgIGlkPSJzbGlkZS0xLWxheWVyLTIiIAogICAgICAgICAgICAgICAgICBkYXRhLXg9IlsnbGVmdCcsJ2xlZnQnLCdsZWZ0JywnbGVmdCddIiBkYXRhLWhvZmZzZXQ9IlsnNTAnLCc1MCcsJzUwJywnMzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS12b2Zmc2V0PSJbJzEyMCcsJzEwMCcsJzcwJywnOTAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHNpemU9IlsnNTYnLCc0NicsJzQwJywnMzYnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1saW5laGVpZ2h0PSJbJzcwJywnNjAnLCc1MCcsJzQ1J10iCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHdlaWdodD0iWyc4MDAnLCc3MDAnLCc3MDAnLCc3MDAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWyc3MDAnLCc2NTAnLCc2MDAnLCc0MjAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm9ybWFsIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ieTpbLTEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7czoxNTAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9vdXQ9ImF1dG86YXV0bztzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19pbj0ieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfb3V0PSJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRpbj0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRvdXQ9Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA2OyBtaW4td2lkdGg6IDYwMHB4OyBtYXgtd2lkdGg6IDYwMHB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyI+V2UgVHJhZGUgPGJyPjxzcGFuIGNsYXNzPSJ0ZXh0LXRoZW1lLWNvbG9yZWQyIj5DcnlwdG9DdXJyZW5jeTwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBMQVlFUiBOUi4gMyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gdHAtcmVzaXplbWUgdGV4dC13aGl0ZSBycy1wYXJhbGxheGxldmVsLTAiIAogICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtMS1sYXllci0zIiAKICAgICAgICAgICAgICAgICAgZGF0YS14PSJbJ2xlZnQnLCdsZWZ0JywnbGVmdCcsJ2xlZnQnXSIgZGF0YS1ob2Zmc2V0PSJbJzUwJywnNTAnLCc1MCcsJzMwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLXk9IlsndG9wJywndG9wJywndG9wJywndG9wJ10iIGRhdGEtdm9mZnNldD0iWycyODAnLCcyMjAnLCcxODAnLCcxODAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHNpemU9IlsnMTgnLCcxOCcsJzE2JywnMTMnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1saW5laGVpZ2h0PSJbJzMwJywnMzAnLCcyOCcsJzI1J10iCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHdlaWdodD0iWyc2MDAnLCc2MDAnLCc2MDAnLCc2MDAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWyc3MDAnLCc2NTAnLCc2MDAnLCc0MjAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm93cmFwIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ieTpbLTEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7czoxNTAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9vdXQ9ImF1dG86YXV0bztzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19pbj0ieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfb3V0PSJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRpbj0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRvdXQ9Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA3OyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+V2UgZG8gdGhlIHRyYWRpbmcgZm9yIHlvdTxicj4gSW4gcmV0dXJuIHlvdSBlYXJuIGd1YXJhbnRlZWQgaGlnaCBwcm9maXQuCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDQgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIHRwLXJlc2l6ZW1lIHRleHQtd2hpdGUgcnMtcGFyYWxsYXhsZXZlbC0wIiAKICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTEtbGF5ZXItNCIgCiAgICAgICAgICAgICAgICAgIGRhdGEteD0iWydsZWZ0JywnbGVmdCcsJ2xlZnQnLCdsZWZ0J10iIGRhdGEtaG9mZnNldD0iWyc1MycsJzUzJywnNTMnLCczMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS15PSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLXZvZmZzZXQ9IlsnMzYwJywnMjkwJywnMjYwJywnMjYwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLWZvbnRzaXplPSJbJzE4JywnMTgnLCcxNicsJzE2J10iCiAgICAgICAgICAgICAgICAgIGRhdGEtbGluZWhlaWdodD0iWyczMCcsJzMwJywnMzAnLCczMCddIgogICAgICAgICAgICAgICAgICBkYXRhLWZvbnR3ZWlnaHQ9IlsnNjAwJywnNjAwJywnNjAwJywnNjAwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9IlsnNzAwJywnNjUwJywnNjAwJywnNDIwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJub25lIgogICAgICAgICAgICAgICAgICBkYXRhLXdoaXRlc3BhY2U9Im5vd3JhcCIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faWRsZT0ibzoxOyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faW49Ink6Wy0xMDAlXTt6OjA7clg6MGRlZztyWTowO3JaOjA7c1g6MTtzWToxO3NrWDowO3NrWTowO3M6MTUwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1fb3V0PSJhdXRvOmF1dG87czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfaW49Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1tYXNrX291dD0ieDowO3k6MDtzOmluaGVyaXQ7ZTppbmhlcml0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3RhcnQ9IjEwMDAiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0aW49Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0b3V0PSJub25lIiAKICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIAogICAgICAgICAgICAgICAgICBzdHlsZT0iei1pbmRleDogNzsgd2hpdGUtc3BhY2U6IG5vd3JhcDsiPgogICAgICAgICAgICAgICAgICA8YSBocmVmPSJsb2dpbi5waHAiIGNsYXNzPSJidG4gYnRuLWRlZmF1bHQgYnRuLXRoZW1lLWNvbG9yZWQyIGJ0bi14bCI+TG9naW48L2E+CiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InJlZ2lzdGVyLnBocCIgY2xhc3M9ImJ0biBidG4tZGFyayBidG4tdGhlbWUtY29sb3JlZCBidG4teGwiPlJlZ2lzdGVyIE5vdzwvYT4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvbGk+CgogICAgICAgICAgICAgIDwhLS0gU0xJREUgMyAtLT4KICAgICAgICAgICAgICA8bGkgZGF0YS1pbmRleD0icnMtMyIgZGF0YS10cmFuc2l0aW9uPSJzbGlkaW5nb3ZlcmxheWhvcml6b250YWwiIGRhdGEtc2xvdGFtb3VudD0iZGVmYXVsdCIgZGF0YS1lYXNlaW49ImRlZmF1bHQiIGRhdGEtZWFzZW91dD0iZGVmYXVsdCIgZGF0YS1tYXN0ZXJzcGVlZD0iZGVmYXVsdCIgZGF0YS10aHVtYj0iaW1hZ2VzL2JnL2JnMTQuanBnIiBkYXRhLXJvdGF0ZT0iMCIgIGRhdGEtZnN0cmFuc2l0aW9uPSJmYWRlIiBkYXRhLWZzbWFzdGVyc3BlZWQ9IjE1MDAiIGRhdGEtZnNzbG90YW1vdW50PSI3IiBkYXRhLXNhdmVwZXJmb3JtYW5jZT0ib2ZmIiBkYXRhLXRpdGxlPSJNYWtlIGFuIEltcGFjdCI+CiAgICAgICAgICAgICAgICA8IS0tIE1BSU4gSU1BR0UgLS0+CiAgICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL2JnL2JnMTQuanBnIiBhbHQ9IiIgZGF0YS1iZ3Bvc2l0aW9uPSJ0b3AgMjAlIiBkYXRhLWJnZml0PSJjb3ZlciIgZGF0YS1iZ3JlcGVhdD0ibm8tcmVwZWF0IiBkYXRhLWJncGFyYWxsYXg9IjEwIiBjbGFzcz0icmV2LXNsaWRlYmciIGRhdGEtbm8tcmV0aW5hPgogICAgICAgICAgICAgICAgPCEtLSBMQVlFUlMgLS0+CiAgICAgICAgICAgICAgICA8IS0tIExBWUVSIE5SLiAxIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1zaGFwZSB0cC1zaGFwZXdyYXBwZXIgdHAtcmVzaXplbWUgcnMtcGFyYWxsYXhsZXZlbC0wIiAKICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTMtbGF5ZXItMSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteD0iWydjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInXSIgZGF0YS1ob2Zmc2V0PSJbJzAnLCcwJywnMCcsJzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWydtaWRkbGUnLCdtaWRkbGUnLCdtaWRkbGUnLCdtaWRkbGUnXSIgZGF0YS12b2Zmc2V0PSJbJzAnLCcwJywnMCcsJzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9ImZ1bGwiCiAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJmdWxsIgogICAgICAgICAgICAgICAgICBkYXRhLXdoaXRlc3BhY2U9Im5vcm1hbCIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faWRsZT0ibzoxOyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faW49Im9wYWNpdHk6MDtzOjE1MDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtdHJhbnNmb3JtX291dD0ib3BhY2l0eTowO3M6MTAwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXN0YXJ0PSIxMDAwIiAKICAgICAgICAgICAgICAgICAgZGF0YS1iYXNlYWxpZ249InNsaWRlIiAKICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIAogICAgICAgICAgICAgICAgICBzdHlsZT0iei1pbmRleDogNTtiYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwgMCwgMCwgMC4yNSk7Ym9yZGVyLWNvbG9yOnJnYmEoMCwgMCwgMCwgMS4wMCk7Ij4gCiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDIgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIHRwLXJlc2l6ZW1lIHRleHQtd2hpdGUgcnMtcGFyYWxsYXhsZXZlbC0wIiAKICAgICAgICAgICAgICAgICAgaWQ9InNsaWRlLTMtbGF5ZXItMiIgCiAgICAgICAgICAgICAgICAgIGRhdGEteD0iWydjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInLCdjZW50ZXInXSIgZGF0YS1ob2Zmc2V0PSJbJzMxMCcsJzIwMCcsJzEwMCcsJzAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEteT0iWyd0b3AnLCd0b3AnLCd0b3AnLCd0b3AnXSIgZGF0YS12b2Zmc2V0PSJbJzEyMCcsJzEwMCcsJzcwJywnOTAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHNpemU9IlsnNTYnLCc0NicsJzQwJywnMzYnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1saW5laGVpZ2h0PSJbJzcwJywnNjAnLCc1MCcsJzQ1J10iCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHdlaWdodD0iWyc4MDAnLCc3MDAnLCc3MDAnLCc3MDAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWyc3MDAnLCc2NTAnLCc1MDAnLCc0MjAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm9ybWFsIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ieTpbLTEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7czoxNTAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9vdXQ9ImF1dG86YXV0bztzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19pbj0ieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfb3V0PSJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRpbj0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRvdXQ9Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA2OyBtaW4td2lkdGg6IDYwMHB4OyBtYXgtd2lkdGg6IDYwMHB4OyB3aGl0ZS1zcGFjZTogbm9ybWFsOyI+V2UgaGVscCB5b3UgZ3JvdyBhbmQ8YnI+CiAgICAgICAgICAgICAgICAgIGV4cGFuZCB5b3VyIDxzcGFuIGNsYXNzPSJ0ZXh0LXRoZW1lLWNvbG9yZWQyIj5idXNpbmVzczwvc3Bhbj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPCEtLSBMQVlFUiBOUi4gMyAtLT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRwLWNhcHRpb24gdHAtcmVzaXplbWUgdGV4dC13aGl0ZSBycy1wYXJhbGxheGxldmVsLTAiIAogICAgICAgICAgICAgICAgICBpZD0ic2xpZGUtMy1sYXllci0zIiAKICAgICAgICAgICAgICAgICAgZGF0YS14PSJbJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlcicsJ2NlbnRlciddIiBkYXRhLWhvZmZzZXQ9IlsnMzEwJywnMjAwJywnMTAwJywnMCddIiAKICAgICAgICAgICAgICAgICAgZGF0YS15PSJbJ3RvcCcsJ3RvcCcsJ3RvcCcsJ3RvcCddIiBkYXRhLXZvZmZzZXQ9IlsnMjgwJywnMjIwJywnMTgwJywnMTgwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLWZvbnRzaXplPSJbJzE4JywnMTgnLCcxNicsJzEzJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtbGluZWhlaWdodD0iWyczMCcsJzMwJywnMjgnLCcyNSddIgogICAgICAgICAgICAgICAgICBkYXRhLWZvbnR3ZWlnaHQ9IlsnNjAwJywnNjAwJywnNjAwJywnNjAwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9IlsnNzAwJywnNjUwJywnNTAwJywnNDIwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJub25lIgogICAgICAgICAgICAgICAgICBkYXRhLXdoaXRlc3BhY2U9Im5vd3JhcCIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faWRsZT0ibzoxOyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faW49Ink6Wy0xMDAlXTt6OjA7clg6MGRlZztyWTowO3JaOjA7c1g6MTtzWToxO3NrWDowO3NrWTowO3M6MTUwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1fb3V0PSJhdXRvOmF1dG87czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfaW49Ing6MHB4O3k6MHB4O3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1tYXNrX291dD0ieDowO3k6MDtzOmluaGVyaXQ7ZTppbmhlcml0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3RhcnQ9IjEwMDAiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0aW49Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXNwbGl0b3V0PSJub25lIiAKICAgICAgICAgICAgICAgICAgZGF0YS1yZXNwb25zaXZlX29mZnNldD0ib24iIAogICAgICAgICAgICAgICAgICBzdHlsZT0iei1pbmRleDogNzsgd2hpdGUtc3BhY2U6IG5vd3JhcDsiPldlIG9mZmVyIHRoZSBiZXN0IHNlcnZpY2VzIHRvIG91ciBjbGllbnRzIGFuZCBhbHdheXM8YnI+IHRyeSB0byBhY2hpZXZlIG91ciBjbGllbnQncyB0cnVzdCBhbmQgc2F0aXNmYWN0aW9uLgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8IS0tIExBWUVSIE5SLiAzIC0tPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtY2FwdGlvbiB0cC1yZXNpemVtZSB0ZXh0LXdoaXRlIHJzLXBhcmFsbGF4bGV2ZWwtMCIgCiAgICAgICAgICAgICAgICAgIGlkPSJzbGlkZS0zLWxheWVyLTQiIAogICAgICAgICAgICAgICAgICBkYXRhLXg9IlsnY2VudGVyJywnY2VudGVyJywnY2VudGVyJywnY2VudGVyJ10iIGRhdGEtaG9mZnNldD0iWyczMTAnLCcyMDAnLCcxMDAnLCcwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLXk9IlsndG9wJywndG9wJywndG9wJywndG9wJ10iIGRhdGEtdm9mZnNldD0iWyczNjAnLCcyOTAnLCcyNjAnLCcyNjAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHNpemU9IlsnMTgnLCcxOCcsJzE2JywnMTYnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1saW5laGVpZ2h0PSJbJzMwJywnMzAnLCczMCcsJzMwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtZm9udHdlaWdodD0iWyc2MDAnLCc2MDAnLCc2MDAnLCc2MDAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS13aWR0aD0iWyc3MDAnLCc2NTAnLCc1MDAnLCc0MjAnXSIKICAgICAgICAgICAgICAgICAgZGF0YS1oZWlnaHQ9Im5vbmUiCiAgICAgICAgICAgICAgICAgIGRhdGEtd2hpdGVzcGFjZT0ibm93cmFwIgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pZGxlPSJvOjE7IgogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9pbj0ieTpbLTEwMCVdO3o6MDtyWDowZGVnO3JZOjA7clo6MDtzWDoxO3NZOjE7c2tYOjA7c2tZOjA7czoxNTAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLXRyYW5zZm9ybV9vdXQ9ImF1dG86YXV0bztzOjEwMDA7ZTpQb3dlcjMuZWFzZUluT3V0OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19pbj0ieDowcHg7eTowcHg7czppbmhlcml0O2U6aW5oZXJpdDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfb3V0PSJ4OjA7eTowO3M6aW5oZXJpdDtlOmluaGVyaXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRpbj0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRvdXQ9Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIHN0eWxlPSJ6LWluZGV4OiA3OyB3aGl0ZS1zcGFjZTogbm93cmFwOyI+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwhLS0gTEFZRVIgTlIuIDQgLS0+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0cC1jYXB0aW9uIHJzLXBhcmFsbGF4bGV2ZWwtMCIgCiAgICAgICAgICAgICAgICAgIGlkPSJzbGlkZS0zLWxheWVyLTUiIAogICAgICAgICAgICAgICAgICBkYXRhLXg9IlsnY2VudGVyJywnY2VudGVyJywnY2VudGVyJywnY2VudGVyJ10iIGRhdGEtaG9mZnNldD0iWyczMTAnLCczMycsJzAnLCcwJ10iIAogICAgICAgICAgICAgICAgICBkYXRhLXk9IlsndG9wJywndG9wJywndG9wJywndG9wJ10iIGRhdGEtdm9mZnNldD0iWyczNjAnLCcyOTAnLCcyNjAnLCcyNjAnXSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtd2lkdGg9IlsnNzAwJywnNjUwJywnNjAwJywnNDIwJ10iCiAgICAgICAgICAgICAgICAgIGRhdGEtaGVpZ2h0PSJub25lIgogICAgICAgICAgICAgICAgICBkYXRhLXdoaXRlc3BhY2U9Im5vd3JhcCIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faWRsZT0ibzoxOyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faG92ZXI9Im86MTtyWDowO3JZOjA7clo6MDt6OjA7czozMDA7ZTpQb3dlcjEuZWFzZUluT3V0OyIKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1faW49Ink6Wy0xMDAlXTt6OjA7clg6MGRlZztyWTowO3JaOjA7c1g6MTtzWToxO3NrWDowO3NrWTowO3M6MTUwMDtlOlBvd2VyMy5lYXNlSW5PdXQ7IiAKICAgICAgICAgICAgICAgICAgZGF0YS10cmFuc2Zvcm1fb3V0PSJhdXRvOmF1dG87czoxMDAwO2U6UG93ZXIzLmVhc2VJbk91dDsiIAogICAgICAgICAgICAgICAgICBkYXRhLW1hc2tfaW49Ing6MHB4O3k6MHB4OyIgCiAgICAgICAgICAgICAgICAgIGRhdGEtbWFza19vdXQ9Ing6MDt5OjA7IiAKICAgICAgICAgICAgICAgICAgZGF0YS1zdGFydD0iMTAwMCIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRpbj0ibm9uZSIgCiAgICAgICAgICAgICAgICAgIGRhdGEtc3BsaXRvdXQ9Im5vbmUiIAogICAgICAgICAgICAgICAgICBkYXRhLXJlc3BvbnNpdmVfb2Zmc2V0PSJvbiIgCiAgICAgICAgICAgICAgICAgIGRhdGEtcmVzcG9uc2l2ZT0ib2ZmIgogICAgICAgICAgICAgICAgICBzdHlsZT0iei1pbmRleDogODsgd2hpdGUtc3BhY2U6IG5vd3JhcDtvdXRsaW5lOm5vbmU7Ym94LXNoYWRvdzpub25lO2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDsiPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9saT4KICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idHAtYmFubmVydGltZXIgdHAtYm90dG9tIiBzdHlsZT0iaGVpZ2h0OiA1cHg7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTY2LCAyMTYsIDIzNiwgMS4wMCk7Ij48L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgoKICAgICAgICA8IS0tIEVORCBSRVZPTFVUSU9OIFNMSURFUiAtLT4KICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgICB2YXIgdHBqPWpRdWVyeTsgICAgICAgICAKICAgICAgICAgIHZhciByZXZhcGkzNDsKICAgICAgICAgIHRwaihkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIGlmKHRwaigiI3Jldl9zbGlkZXJfaG9tZSIpLnJldm9sdXRpb24gPT0gdW5kZWZpbmVkKXsKICAgICAgICAgICAgICByZXZzbGlkZXJfc2hvd0RvdWJsZUpxdWVyeUVycm9yKCIjcmV2X3NsaWRlcl9ob21lIik7CiAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgIHJldmFwaTM0ID0gdHBqKCIjcmV2X3NsaWRlcl9ob21lIikuc2hvdygpLnJldm9sdXRpb24oewogICAgICAgICAgICAgICAgc2xpZGVyVHlwZToic3RhbmRhcmQiLAogICAgICAgICAgICAgICAganNGaWxlTG9jYXRpb246ImpzL3Jldm9sdXRpb24tc2xpZGVyL2pzLyIsCiAgICAgICAgICAgICAgICBzbGlkZXJMYXlvdXQ6ImZ1bGx3aWR0aCIsCiAgICAgICAgICAgICAgICBkb3R0ZWRPdmVybGF5OiJub25lIiwKICAgICAgICAgICAgICAgIGRlbGF5OjkwMDAsCiAgICAgICAgICAgICAgICBuYXZpZ2F0aW9uOiB7CiAgICAgICAgICAgICAgICAgIGtleWJvYXJkTmF2aWdhdGlvbjoib24iLAogICAgICAgICAgICAgICAgICBrZXlib2FyZF9kaXJlY3Rpb246ICJob3Jpem9udGFsIiwKICAgICAgICAgICAgICAgICAgbW91c2VTY3JvbGxOYXZpZ2F0aW9uOiJvZmYiLAogICAgICAgICAgICAgICAgICBvbkhvdmVyU3RvcDoib24iLAogICAgICAgICAgICAgICAgICB0b3VjaDp7CiAgICAgICAgICAgICAgICAgICAgdG91Y2hlbmFibGVkOiJvbiIsCiAgICAgICAgICAgICAgICAgICAgc3dpcGVfdGhyZXNob2xkOiA3NSwKICAgICAgICAgICAgICAgICAgICBzd2lwZV9taW5fdG91Y2hlczogMSwKICAgICAgICAgICAgICAgICAgICBzd2lwZV9kaXJlY3Rpb246ICJob3Jpem9udGFsIiwKICAgICAgICAgICAgICAgICAgICBkcmFnX2Jsb2NrX3ZlcnRpY2FsOiBmYWxzZQogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICwKICAgICAgICAgICAgICAgICAgYXJyb3dzOiB7CiAgICAgICAgICAgICAgICAgICAgc3R5bGU6InpldXMiLAogICAgICAgICAgICAgICAgICAgIGVuYWJsZTp0cnVlLAogICAgICAgICAgICAgICAgICAgIGhpZGVfb25tb2JpbGU6dHJ1ZSwKICAgICAgICAgICAgICAgICAgICBoaWRlX3VuZGVyOjYwMCwKICAgICAgICAgICAgICAgICAgICBoaWRlX29ubGVhdmU6dHJ1ZSwKICAgICAgICAgICAgICAgICAgICBoaWRlX2RlbGF5OjIwMCwKICAgICAgICAgICAgICAgICAgICBoaWRlX2RlbGF5X21vYmlsZToxMjAwLAogICAgICAgICAgICAgICAgICAgIHRtcDonPGRpdiBjbGFzcz0idHAtdGl0bGUtd3JhcCI+PGRpdiBjbGFzcz0idHAtYXJyLWltZ2hvbGRlciI+PC9kaXY+PC9kaXY+JywKICAgICAgICAgICAgICAgICAgICBsZWZ0OiB7CiAgICAgICAgICAgICAgICAgICAgICBoX2FsaWduOiJsZWZ0IiwKICAgICAgICAgICAgICAgICAgICAgIHZfYWxpZ246ImNlbnRlciIsCiAgICAgICAgICAgICAgICAgICAgICBoX29mZnNldDozMCwKICAgICAgICAgICAgICAgICAgICAgIHZfb2Zmc2V0OjAKICAgICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICAgIHJpZ2h0OiB7CiAgICAgICAgICAgICAgICAgICAgICBoX2FsaWduOiJyaWdodCIsCiAgICAgICAgICAgICAgICAgICAgICB2X2FsaWduOiJjZW50ZXIiLAogICAgICAgICAgICAgICAgICAgICAgaF9vZmZzZXQ6MzAsCiAgICAgICAgICAgICAgICAgICAgICB2X29mZnNldDowCiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICAgICBidWxsZXRzOiB7CiAgICAgICAgICAgICAgICAgICAgZW5hYmxlOnRydWUsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9vbm1vYmlsZTp0cnVlLAogICAgICAgICAgICAgICAgICAgIGhpZGVfdW5kZXI6NjAwLAogICAgICAgICAgICAgICAgICAgIHN0eWxlOiJtZXRpcyIsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9vbmxlYXZlOnRydWUsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9kZWxheToyMDAsCiAgICAgICAgICAgICAgICAgICAgaGlkZV9kZWxheV9tb2JpbGU6MTIwMCwKICAgICAgICAgICAgICAgICAgICBkaXJlY3Rpb246Imhvcml6b250YWwiLAogICAgICAgICAgICAgICAgICAgIGhfYWxpZ246ImNlbnRlciIsCiAgICAgICAgICAgICAgICAgICAgdl9hbGlnbjoiYm90dG9tIiwKICAgICAgICAgICAgICAgICAgICBoX29mZnNldDowLAogICAgICAgICAgICAgICAgICAgIHZfb2Zmc2V0OjMwLAogICAgICAgICAgICAgICAgICAgIHNwYWNlOjUsCiAgICAgICAgICAgICAgICAgICAgdG1wOic8c3BhbiBjbGFzcz0idHAtYnVsbGV0LWltZy13cmFwIj48c3BhbiBjbGFzcz0idHAtYnVsbGV0LWltYWdlIj48L3NwYW4+PC9zcGFuPicKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgIHZpZXdQb3J0OiB7CiAgICAgICAgICAgICAgICAgIGVuYWJsZTp0cnVlLAogICAgICAgICAgICAgICAgICBvdXRvZjoicGF1c2UiLAogICAgICAgICAgICAgICAgICB2aXNpYmxlX2FyZWE6IjgwJSIKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICByZXNwb25zaXZlTGV2ZWxzOlsxMjQwLDEwMjQsNzc4LDQ4MF0sCiAgICAgICAgICAgICAgICBncmlkd2lkdGg6WzEyNDAsMTAyNCw3NzgsNDgwXSwKICAgICAgICAgICAgICAgIGdyaWRoZWlnaHQ6WzYwMCw1NTAsNTAwLDQ1MF0sCiAgICAgICAgICAgICAgICBsYXp5VHlwZToibm9uZSIsCiAgICAgICAgICAgICAgICBwYXJhbGxheDogewogICAgICAgICAgICAgICAgICB0eXBlOiJzY3JvbGwiLAogICAgICAgICAgICAgICAgICBvcmlnbzoiZW50ZXJwb2ludCIsCiAgICAgICAgICAgICAgICAgIHNwZWVkOjQwMCwKICAgICAgICAgICAgICAgICAgbGV2ZWxzOls1LDEwLDE1LDIwLDI1LDMwLDM1LDQwLDQ1LDUwXSwKICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICBzaGFkb3c6MCwKICAgICAgICAgICAgICAgIHNwaW5uZXI6Im9mZiIsCiAgICAgICAgICAgICAgICBzdG9wTG9vcDoib2ZmIiwKICAgICAgICAgICAgICAgIHN0b3BBZnRlckxvb3BzOi0xLAogICAgICAgICAgICAgICAgc3RvcEF0U2xpZGU6LTEsCiAgICAgICAgICAgICAgICBzaHVmZmxlOiJvZmYiLAogICAgICAgICAgICAgICAgYXV0b0hlaWdodDoib2ZmIiwKICAgICAgICAgICAgICAgIGhpZGVUaHVtYnNPbk1vYmlsZToib2ZmIiwKICAgICAgICAgICAgICAgIGhpZGVTbGlkZXJBdExpbWl0OjAsCiAgICAgICAgICAgICAgICBoaWRlQ2FwdGlvbkF0TGltaXQ6MCwKICAgICAgICAgICAgICAgIGhpZGVBbGxDYXB0aW9uQXRMaWxtaXQ6MCwKICAgICAgICAgICAgICAgIGRlYnVnTW9kZTpmYWxzZSwKICAgICAgICAgICAgICAgIGZhbGxiYWNrczogewogICAgICAgICAgICAgICAgICBzaW1wbGlmeUFsbDoib2ZmIiwKICAgICAgICAgICAgICAgICAgbmV4dFNsaWRlT25XaW5kb3dGb2N1czoib2ZmIiwKICAgICAgICAgICAgICAgICAgZGlzYWJsZUZvY3VzTGlzdGVuZXI6ZmFsc2UsCiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIH0KICAgICAgICAgIH0pOyAvKnJlYWR5Ki8KICAgICAgICA8L3NjcmlwdD4KICAgICAgPCEtLSBFTkQgUkVWT0xVVElPTiBTTElERVIgLS0+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gQ3J5cHRvIFJhdGVzIFdpZGdldCAtLT4KICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMiI+CiAgICAgICAgPGRpdiBpZD0iYW1rX3JhdGVzIiBjbGFzcz0id293IGZhZGVJbiIgZGF0YS13b3ctZGVsYXk9IjAuMXMiIHN0eWxlPSJtYXJnaW4tdG9wOiAyMHB4OyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJhbWtfd3JhcCI+CiAgICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgICNhbWtfcmF0ZXMgCiAgICAgICAgICAgIHsKICAgICAgICAgICAgcGFkZGluZzoxMHB4IDAgMTVweCAwICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIGJhY2tncm91bmQ6I2ZmZjsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgLmFib3V0Y3VzdHZpZCB7CiAgICAgICAgICAgIG1hcmdpbjo1MHB4IGF1dG8gNTBweCBhdXRvICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIGZsb2F0Om5vbmU7CiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5hYm91dGN1c3R0ZXh0IHsKICAgICAgICAgICAgZmxvYXQ6bm9uZTsKICAgICAgICAgICAgd2lkdGg6MTAwJSAhaW1wb3J0YW50OwogICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlciAhaW1wb3J0YW50OwogICAgICAgICAgICB9CiAgICAgICAgICAgIC5hYm91dGN1c3R0ZXh0IHAgewogICAgICAgICAgICBmbG9hdDpub25lOwogICAgICAgICAgICB3aWR0aDoxMDAlICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyICFpbXBvcnRhbnQ7CiAgICAgICAgICAgIH0KICAgICAgICAgIDwvc3R5bGU+CiAgICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CiAgICAgICAgICAgIGJhc2VVcmwgPSAiaHR0cHM6Ly93aWRnZXRzLmNyeXB0b2NvbXBhcmUuY29tLyI7CiAgICAgICAgICAgIHZhciBzY3JpcHRzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpOwogICAgICAgICAgICB2YXIgZW1iZWRkZXIgPSBzY3JpcHRzWyBzY3JpcHRzLmxlbmd0aCAtIDEgXTsKICAgICAgICAgICAgKGZ1bmN0aW9uICgpewogICAgICAgICAgICB2YXIgYXBwTmFtZSA9IGVuY29kZVVSSUNvbXBvbmVudCh3aW5kb3cubG9jYXRpb24uaG9zdG5hbWUpOwogICAgICAgICAgICBpZihhcHBOYW1lPT0iIil7YXBwTmFtZT0ibG9jYWwiO30KICAgICAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTsKICAgICAgICAgICAgcy50eXBlID0gInRleHQvamF2YXNjcmlwdCI7CiAgICAgICAgICAgIHMuYXN5bmMgPSB0cnVlOwogICAgICAgICAgICB2YXIgdGhlVXJsID0gYmFzZVVybCsnc2VydmUvdjIvY29pbi9oZWFkZXI/ZnN5bXM9QlRDLEVUSCxMVEMsQkNILEVUQyxYUlAmdHN5bXM9VVNEJzsKICAgICAgICAgICAgcy5zcmMgPSB0aGVVcmwgKyAoIHRoZVVybC5pbmRleE9mKCI/IikgPj0gMCA/ICImIiA6ICI/IikgKyAiYXBwPSIgKyBhcHBOYW1lOwogICAgICAgICAgICBlbWJlZGRlci5wYXJlbnROb2RlLmFwcGVuZENoaWxkKHMpOwogICAgICAgICAgICB9KSgpOwogICAgICAgICAgPC9zY3JpcHQ+CgogICAgICAgIDxzY3JpcHQgc3JjPSJqcy9jb2luZ2Vja28tY29pbi1wcmljZS1tYXJxdWVlLXdpZGdldC5qcyI+PC9zY3JpcHQ+CiAgICAgICAgPGNvaW5nZWNrby1jb2luLXByaWNlLW1hcnF1ZWUtd2lkZ2V0IGN1cnJlbmN5PSJ1c2QiIGNvaW4taWRzPSJiaXRjb2luLGV0aGVyZXVtLGVvcyxyaXBwbGUsbGl0ZWNvaW4iIGxvY2FsZT0iZW4iPjwvY29pbmdlY2tvLWNvaW4tcHJpY2UtbWFycXVlZS13aWRnZXQ+ICAgICAgCgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9kaXY+CiAgICA8IS0tIEVuZCBDcnlwdG8gUmF0ZXMgV2lkZ2V0IC0tPgoKCiAgICA8IS0tIFNlY3Rpb246IEFib3V0IC0tPgogICAgPHNlY3Rpb24gc3R5bGU9Im1hcmdpbi10b3A6IDUwcHg7Ij4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIHRleHQtY2VudGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMCBjb2wtbWQtb2Zmc2V0LTEiPgogICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC11cHBlcmNhc2UgbXQtMCI+QWJvdXQgPHNwYW4gY2xhc3M9InRleHQtdGhlbWUtY29sb3JlZDIiPlVzPC9zcGFuPjwvaDI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImFib3V0LWRldGFpbHMgbWItc20tMzAiPgogICAgICAgICAgICAgICAgPHA+Rk9SRVggT1BUSU9OIE1BUktFVCBpcyBvbmUgb2YgdGhlIHJlZ2lzdGVyZWQgbGVhZGluZyBwbGF0Zm9ybXMgb2ZmZXJpbmcgYmluYXJ5IG9wdGlvbnMsIEZvcmV4IGFuZCBzcHJlYWRzLiBSZWd1bGF0ZWQgYnkgdGhlIENGVEMuIEl0IGlzIGFsc28gcmVndWxhdGVkIGJ5IHRoZSBJRlNDLCBhcyB3ZWxsIGFzIHRoZSBDeXBydXMgU2VjdXJpdGllcyBhbmQgRXhjaGFuZ2UgQ29tbWlzc2lvbi4gT3VyIG1pc3Npb24gaXMgdG8gYWN0IGFzIGEgY2F0YWx5c3QgZm9yIHVuaXZlcnNhbCBhZG9wdGlvbiBhbmQgYmxvY2tjaGFpbiBpbm5vdmF0aW9uLiBXZSBmb2N1cyBvbmx5IG9uIGludmVzdGluZyBpbiBibG9ja2NoYWluIHRlY2hub2xvZ2llcy4gT3VyIHRlYW0gaGFzIGV4cGVyaWVuY2UgaW4gYm90aCB0cmFkaXRpb25hbCBmaW5hbmNpbmcgYW5kIGVtZXJnaW5nIGJsb2NrY2hhaW4gdGVjaG5vbG9neS48L3A+CiAgICAgICAgICAgICAgICA8YSBocmVmPSJhYm91dC11cy5waHAiIGNsYXNzPSJidG4gYnRuLWZsYXQgYnRuLWNvbG9yZWQgYnRuLXRoZW1lLWNvbG9yZWQyIG10LTE1IG1yLTE1Ij5SZWFkIE1vcmU8L2E+CiAgICAgICAgICAgICAgIDxicj48YnI+CgoKICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICA8IS0tICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj48L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtOCI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJlbWJlZC1yZXNwb25zaXZlIGVtYmVkLXJlc3BvbnNpdmUtMTZieTkiPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxpZnJhbWUgY2xhc3M9ImVtYmVkLXJlc3BvbnNpdmUtaXRlbSIgc3JjPSJodHRwczovL3d3dy55b3V0dWJlLmNvbS9lbWJlZC9HbU96aWg2STF6cyIgYWxsb3dmdWxsc2NyZWVuPjwvaWZyYW1lPgogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMiI+PC9kaXY+IC0tPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgIDwhLS0gU2VjdGlvbjogQ2hvb3NlIHVzIC0tPgogICAgPHNlY3Rpb24gaWQ9InNlcnZpY2UiIGNsYXNzPSJiZy1saWdodGVyIj4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIHRleHQtY2VudGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMCBjb2wtbWQtb2Zmc2V0LTEiPgogICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC11cHBlcmNhc2UgbXQtMCI+V2h5IENob29zZSA8c3BhbiBjbGFzcz0idGV4dC10aGVtZS1jb2xvcmVkMiI+IEZPUkVYIE9QVElPTiBNQVJLRVQ8L3NwYW4+PC9oMj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLWNvbnRlbnQiPgogICAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS02IGNvbC1tZC00Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWJveCBiZy13aGl0ZSBsZWZ0IG1lZGlhIGJvcmRlci0zcHggYmctaG92ZXItdGhlbWUtY29sb3JlZCBtYi0zMCBwLTMwIHBiLTIwIj4gCiAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0ibWVkaWEtbGVmdCBwdWxsLWxlZnQiPjxpbWcgc3JjPSJpbWFnZXMvZmxhdGljb24tcG5nL3NtYWxsL2YxMy5wbmciIGFsdD0iIiB3aWR0aD0iNjQiPjwvYT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkiPgogICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9Im1lZGlhLWhlYWRpbmcgaGVhZGluZyI+TGVnYWwgQ29tcGFueTwvaDQ+CiAgICAgICAgICAgICAgICAgIDxwPkZPUkVYIE9QVElPTiBNQVJLRVQgTFREIGlzIGEgcmVnaXN0ZXJlZCBjb21wYW55IHByb3ZpZGluZyBpdHMgaW52ZXN0bWVudCBzZXJ2aWNlcyB0byB0aGUgbWVtYmVycyBhbGwgYXJvdW5kIHRoZSB3b3JsZC48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtc20tNiBjb2wtbWQtNCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1ib3ggYmctd2hpdGUgbGVmdCBtZWRpYSBib3JkZXItM3B4IGJnLWhvdmVyLXRoZW1lLWNvbG9yZWQgbWItMzAgcC0zMCBwYi0yMCI+IAogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9Im1lZGlhLWxlZnQgcHVsbC1sZWZ0Ij48aW1nIHNyYz0iaW1hZ2VzL2ZsYXRpY29uLXBuZy9zbWFsbC9mMi5wbmciIGFsdD0iIiB3aWR0aD0iNjQiPjwvYT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkiPgogICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9Im1lZGlhLWhlYWRpbmcgaGVhZGluZyI+SW5zdGFudCBFeGNoYW5nZTwvaDQ+CiAgICAgICAgICAgICAgICAgIDxwPkNoYW5nZSB5b3VyIHdvcmxkIHRvZGF5IGFuZCBtYWtlIHlvdXJzZWxmIGEgZ3JlYXQgdG9tb3Jyb3csIGludmVzdCB3aXRoIHRoZSBsaXR0bGUgbW9uZXkgeW91IGhhdmUgYW5kIG1ha2UgYSBncmVhdCBwcm9maXQgYXQgdGhlIGVuZC48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtc20tNiBjb2wtbWQtNCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1ib3ggYmctd2hpdGUgbGVmdCBtZWRpYSBib3JkZXItM3B4IGJnLWhvdmVyLXRoZW1lLWNvbG9yZWQgbWItMzAgcC0zMCBwYi0yMCI+IAogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9Im1lZGlhLWxlZnQgcHVsbC1sZWZ0Ij48aW1nIHNyYz0iaW1hZ2VzL2ZsYXRpY29uLXBuZy9zbWFsbC9mNC5wbmciIGFsdD0iIiB3aWR0aD0iNjQiPjwvYT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkiPgogICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9Im1lZGlhLWhlYWRpbmcgaGVhZGluZyI+U3Ryb25nIFNlY3VyaXR5PC9oND4KICAgICAgICAgICAgICAgICAgPHA+QWxsIGRhdGEgb24gZmluYW5jaWFsIG9wZXJhdGlvbnMgYXMgd2VsbCBhcyBwZXJzb25hbCBkYXRhIGFyZSBlZmZlY3RpdmVseSBwcm90ZWN0ZWQgd2l0aCBEaWdpQ2VydCBJbmMgU1NMIGNlcnRpZmljYXRlcy48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtc20tNiBjb2wtbWQtNCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaWNvbi1ib3ggYmctd2hpdGUgbGVmdCBtZWRpYSBib3JkZXItM3B4IGJnLWhvdmVyLXRoZW1lLWNvbG9yZWQgbWItMzAgcC0zMCBwYi0yMCI+IAogICAgICAgICAgICAgICAgPGEgaHJlZj0iIyIgY2xhc3M9Im1lZGlhLWxlZnQgcHVsbC1sZWZ0Ij48aW1nIHNyYz0iaW1hZ2VzL2ZsYXRpY29uLXBuZy9zbWFsbC9mNi5wbmciIGFsdD0iIiB3aWR0aD0iNjQiPjwvYT4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1lZGlhLWJvZHkiPgogICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9Im1lZGlhLWhlYWRpbmcgaGVhZGluZyI+UGF5bWVudCBPcHRpb25zPC9oND4KICAgICAgICAgICAgICAgICAgPHA+V2UgcHJvdmlkZSB2YXJpb3VzIHdpdGhkcmF3YWwgbWV0aG9kcyBmb3IgZWFzeSB3aXRoZHJhd2FsIG9mIHlvdXIgZWFybmluZ3MuPC9wPgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTYgY29sLW1kLTQiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9Imljb24tYm94IGJnLXdoaXRlIGxlZnQgbWVkaWEgYm9yZGVyLTNweCBiZy1ob3Zlci10aGVtZS1jb2xvcmVkIG1iLTMwIHAtMzAgcGItMjAiPiAKICAgICAgICAgICAgICAgIDxhIGhyZWY9IiMiIGNsYXNzPSJtZWRpYS1sZWZ0IHB1bGwtbGVmdCI+PGltZyBzcmM9ImltYWdlcy9mbGF0aWNvbi1wbmcvc21hbGwvZjMucG5nIiBhbHQ9IiIgd2lkdGg9IjY0Ij48L2E+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJtZWRpYS1ib2R5Ij4KICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJtZWRpYS1oZWFkaW5nIGhlYWRpbmciPkV4cGVydCBTdXBvcnQ8L2g0PgogICAgICAgICAgICAgICAgICA8cD5PdXIgMjQvNyBzdXBwb3J0IGFsbG93cyB1cyB0byBrZWVwIGluIHRvdWNoIHdpdGggY3VzdG9tZXJzIGluIGFsbCB0aW1lIHpvbmVzIGFuZCByZWdpb25zLjwvcD4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS02IGNvbC1tZC00Ij4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpY29uLWJveCBiZy13aGl0ZSBsZWZ0IG1lZGlhIGJvcmRlci0zcHggYmctaG92ZXItdGhlbWUtY29sb3JlZCBtYi0zMCBwLTMwIHBiLTIwIj4gCiAgICAgICAgICAgICAgICA8YSBocmVmPSIjIiBjbGFzcz0ibWVkaWEtbGVmdCBwdWxsLWxlZnQiPjxpbWcgc3JjPSJpbWFnZXMvZmxhdGljb24tcG5nL3NtYWxsL2Y1LnBuZyIgYWx0PSIiIHdpZHRoPSI2NCI+PC9hPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibWVkaWEtYm9keSI+CiAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0ibWVkaWEtaGVhZGluZyBoZWFkaW5nIj5Xb3JsZCBDb3ZlcmFnZTwvaDQ+CiAgICAgICAgICAgICAgICAgIDxwPk91ciBwbGF0Zm9ybSBpcyB1c2VkIGJ5IGJpdGNvaW4gaW52ZXN0b3JzIGFuZCB0cmFkZXJzIHdvcmxkd2lkZS48L3A+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CgogICAgICAgICAgICAKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICAgCgogICAgPCEtLSBEaXZpZGVyOiBGdW5mYWN0IC0tPgogICAgPHNlY3Rpb24gY2xhc3M9ImRpdmlkZXIgcGFyYWxsYXggbGF5ZXItb3ZlcmxheSBvdmVybGF5LXRoZW1lLWNvbG9yZWQtOCIgZGF0YS1iZy1pbWc9ImltYWdlcy9iZy9iaDcuanBnIiBkYXRhLXBhcmFsbGF4LXJhdGlvPSIwLjciPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTYgY29sLW1kLTMiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmdW5mYWN0IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICA8aDIgZGF0YS1hbmltYXRpb24tZHVyYXRpb249IjIwMDAiIGRhdGEtdmFsdWU9IjM2NjciIGNsYXNzPSJhbmltYXRlLW51bWJlciB0ZXh0LXdoaXRlIGZvbnQtMzggZm9udC13ZWlnaHQtNTAwIj4wPC9oMj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtY29sb3JlZDIiPjwvZGl2PgogICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSB0ZXh0LXVwcGVyY2FzZSBtYi0wIj5SdW5uaW5nIERheXM8L2g0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS02IGNvbC1tZC0zIG1iLW1kLTUwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iZnVuZmFjdCB0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgPGgyIGRhdGEtYW5pbWF0aW9uLWR1cmF0aW9uPSIyMDAwIiBkYXRhLXZhbHVlPSIxNzM4MyIgY2xhc3M9ImFuaW1hdGUtbnVtYmVyIHRleHQtd2hpdGUgZm9udC0zOCBmb250LXdlaWdodC01MDAiPjA8L2gyPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9ImRpYW1vbmQtbGluZS1jZW50ZXJlZC10aGVtZS1jb2xvcmVkMiI+PC9kaXY+CiAgICAgICAgICAgICAgPGg0IGNsYXNzPSJ0ZXh0LXdoaXRlIHRleHQtdXBwZXJjYXNlIG1iLTAiPlRvdGFsIEludmVzdG9yczwvaDQ+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTYgY29sLW1kLTMgbWItbWQtNTAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmdW5mYWN0IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICA8aDIgZGF0YS1hbmltYXRpb24tZHVyYXRpb249IjIwMDAiIGRhdGEtdmFsdWU9IjExNDU0NTM4IiBjbGFzcz0iYW5pbWF0ZS1udW1iZXIgdGV4dC13aGl0ZSBmb250LTM4IGZvbnQtd2VpZ2h0LTUwMCI+MDwvaDI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZGlhbW9uZC1saW5lLWNlbnRlcmVkLXRoZW1lLWNvbG9yZWQyIj48L2Rpdj4KICAgICAgICAgICAgICA8aDQgY2xhc3M9InRleHQtd2hpdGUgdGV4dC11cHBlcmNhc2UgbWItMCI+VG90YWwgSW52ZXN0ZWQ8L2g0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS02IGNvbC1tZC0zIG1iLW1kLTAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJmdW5mYWN0IHRleHQtY2VudGVyIj4KICAgICAgICAgICAgICA8aDIgZGF0YS1hbmltYXRpb24tZHVyYXRpb249IjIwMDAiIGRhdGEtdmFsdWU9IjQyNDEyOTgiIGNsYXNzPSJhbmltYXRlLW51bWJlciB0ZXh0LXdoaXRlIGZvbnQtMzggZm9udC13ZWlnaHQtNTAwIj4wPC9oMj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtY29sb3JlZDIiPjwvZGl2PgogICAgICAgICAgICAgIDxoNCBjbGFzcz0idGV4dC13aGl0ZSB0ZXh0LXVwcGVyY2FzZSBtYi0wIj5Ub3RhbCBXaXRoZHJhd248L2g0PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8IS0tIDxzZWN0aW9uIHN0eWxlPSJiYWNrZ3JvdW5kOiAjZjdmOGZhIWltcG9ydGFudDsgbWFyZ2luLWJvdHRvbTogLTgwcHg7IiBjbGFzcz0iZGl2aWRlciAiPgogICAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIiPgogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMyI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IG1iLW1kLTUwIj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIiPgogICAgICAgICAgICAgIDxpbWcgc3JjPSJpbWFnZXMvdGhvcm4ucG5nIiBzdHlsZT0ibWF4LXdpZHRoOiAxMDAlOyI+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICAKICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC02IG1iLW1kLTAiPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXh0LWNlbnRlciI+CiAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9wcm9maXQuanBlZyIgc3R5bGU9Im1heC13aWR0aDogMTAwJTsiPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4gLS0+CgoKICAgIDwhLS0gU2VjdGlvbjogUHJpY2luZyAtLT4KICAgIDxzZWN0aW9uIGlkPSJwcmljaW5nIiBjbGFzcz0iYmctc2lsdmVyLWxpZ2h0Ij4KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHBiLTkwIHB0LTkwIHBiLXNtLTMwIj4KICAgICAgICA8ZGl2IGNsYXNzPSJzZWN0aW9uLXRpdGxlIHRleHQtY2VudGVyIj4KICAgICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0xMCBjb2wtbWQtb2Zmc2V0LTEiPgogICAgICAgICAgICAgIDxoMiBjbGFzcz0idGV4dC11cHBlcmNhc2UgbXQtMCI+T3VyIDxzcGFuIGNsYXNzPSJ0ZXh0LXRoZW1lLWNvbG9yZWQyIj5QbGFuczwvc3Bhbj48L2gyPgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTYgY29sLW1kLTMgaHZyLWZsb2F0LXNoYWRvdyBtYi1zbS0zMCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2luZy10YWJsZSBiZy13aGl0ZSB0ZXh0LWNlbnRlciBtYXh3aWR0aDQwMCI+CiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InByaWNlIHRleHQtdGhlbWUtY29sb3JlZDIgYmctdGhlbWUtY29sb3JlZCBmb250LTQ0IGJnLXdoaXRlIHBiLTIwIG1iLTAgbXQtMCI+PHNwYW4gY2xhc3M9ImZvbnQtMjYgY3VycmVuY3kiPiQ8L3NwYW4+NTAwIDxzcGFuIGNsYXNzPSJmb250LTE2IHRleHQtd2hpdGUiPi8gTWluaSBQbGFuPC9zcGFuPjwvaDI+CiAgICAgICAgICAgICAgICA8dWwgY2xhc3M9Imxpc3QgcHJpY2UtbGlzdCB0aGVtZS1jb2xvcmVkIHRleHQtbGVmdCBmbGlwIGNoZWNrLWNpcmNsZSBtdC0wIG1iLTIwIj4KICAgICAgICAgICAgICAgICAgPCEtLSA8bGk+TWluaW11bSAtIDxiPiQzMDA8L2I+PC9saT4gLS0+CiAgICAgICAgICAgICAgICAgIDwhLS0gPGxpPk1heGltdW0gLSA8Yj4kNzAwPC9iPjwvbGk+IC0tPgogICAgICAgICAgICAgICAgICA8bGk+MjR4NyBTdXBwb3J0PC9saT4KICAgICAgICAgICAgICAgICAgPGxpPlByb2Zlc3Npb25hbCBDaGFydHM8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+VHJhZGluZyBBbGVydHM8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwhLS0gPGgyIGNsYXNzPSJ0ZXh0LXVwcGVyY2FzZSBtYi0zMCI+PHNwYW4gY2xhc3M9InRleHQtdGhlbWUtY29sb3JlZDIiPlJPSTwvc3Bhbj4gJDIsNzc4IDwvaDI+IC0tPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbGcgYnRuLXRoZW1lLWNvbG9yZWQyIHRleHQtdXBwZXJjYXNlIGJ0bi1ibG9jayBwdC0yMCBwYi0yMCBidG4tZmxhdCIgaHJlZj0icmVnaXN0ZXIucGhwIj5JbnZlc3QgTm93PC9hPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLXhzLTEyIGNvbC1zbS02IGNvbC1tZC0zIGh2ci1mbG9hdC1zaGFkb3cgbWItc20tMzAiPgogICAgICAgICAgICAgIDxkaXYgY2xhc3M9InByaWNpbmctdGFibGUgYmctd2hpdGUgdGV4dC1jZW50ZXIgbWF4d2lkdGg0MDAiPgogICAgICAgICAgICAgICAgPGgyIGNsYXNzPSJwcmljZSB0ZXh0LXRoZW1lLWNvbG9yZWQyIGJnLXRoZW1lLWNvbG9yZWQgZm9udC00NCBiZy13aGl0ZSBwYi0yMCBtYi0wIG10LTAiPjxzcGFuIGNsYXNzPSJmb250LTI2IGN1cnJlbmN5Ij4kPC9zcGFuPjIsMDAwIDxzcGFuIGNsYXNzPSJmb250LTE2IHRleHQtd2hpdGUiPi8gU2lsdmVyIFBsYW48L3NwYW4+PC9oMj4KICAgICAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdCBwcmljZS1saXN0IHRoZW1lLWNvbG9yZWQgdGV4dC1sZWZ0IGZsaXAgY2hlY2stY2lyY2xlIG10LTAgbWItMjAiPgogICAgICAgICAgICAgICAgICA8IS0tIDxsaT5NaW5pbXVtIC0gPGI+JDcwMDwvYj48L2xpPiAtLT4KICAgICAgICAgICAgICAgICAgPCEtLSA8bGk+TWF4aW11bSAtIDxiPiQxLDAwMDwvYj48L2xpPiAtLT4KICAgICAgICAgICAgICAgICAgPGxpPjI0eDcgU3VwcG9ydDwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT5Qcm9mZXNzaW9uYWwgQ2hhcnRzPC9saT4KICAgICAgICAgICAgICAgICAgPGxpPlRyYWRpbmcgQWxlcnRzPC9saT4KICAgICAgICAgICAgICAgIDwvdWw+CiAgICAgICAgICAgICAgICA8IS0tIDxoMiBjbGFzcz0idGV4dC11cHBlcmNhc2UgbWItMzAiPjxzcGFuIGNsYXNzPSJ0ZXh0LXRoZW1lLWNvbG9yZWQyIj5ST0k8L3NwYW4+ICQ0LDI4OSA8L2gyPiAtLT4KICAgICAgICAgICAgICAgIDxhIGNsYXNzPSJidG4gYnRuLWxnIGJ0bi10aGVtZS1jb2xvcmVkMiB0ZXh0LXVwcGVyY2FzZSBidG4tYmxvY2sgcHQtMjAgcGItMjAgYnRuLWZsYXQiIGhyZWY9InJlZ2lzdGVyLnBocCI+SW52ZXN0IE5vdzwvYT4KICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC14cy0xMiBjb2wtc20tNiBjb2wtbWQtMyBodnItZmxvYXQtc2hhZG93IG1iLXNtLTMwIj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcmljaW5nLXRhYmxlIGJnLXdoaXRlIHRleHQtY2VudGVyIG1heHdpZHRoNDAwIj4KICAgICAgICAgICAgICAgIDxoMiBjbGFzcz0icHJpY2UgdGV4dC10aGVtZS1jb2xvcmVkMiBiZy10aGVtZS1jb2xvcmVkIGZvbnQtNDQgYmctd2hpdGUgcGItMjAgbWItMCBtdC0wIj48c3BhbiBjbGFzcz0iZm9udC0yNiBjdXJyZW5jeSI+JDwvc3Bhbj41LDAwMCA8c3BhbiBjbGFzcz0iZm9udC0xNiB0ZXh0LXdoaXRlIj4vIEdvbGQgUGxhbjwvc3Bhbj48L2gyPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0IHByaWNlLWxpc3QgdGhlbWUtY29sb3JlZCB0ZXh0LWxlZnQgZmxpcCBjaGVjay1jaXJjbGUgbXQtMCBtYi0yMCI+CiAgICAgICAgICAgICAgICAgIDwhLS0gPGxpPk1pbmltdW0gLSA8Yj4kMSwwMDA8L2I+PC9saT4gLS0+CiAgICAgICAgICAgICAgICAgIDwhLS0gPGxpPk1heGltdW0gLSA8Yj4kMiwwMDA8L2I+PC9saT4gLS0+CiAgICAgICAgICAgICAgICAgIDxsaT4yNHg3IFN1cHBvcnQ8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+UHJvZmVzc2lvbmFsIENoYXJ0czwvbGk+CiAgICAgICAgICAgICAgICAgIDxsaT5UcmFkaW5nIEFsZXJ0czwvbGk+CiAgICAgICAgICAgICAgICA8L3VsPgogICAgICAgICAgICAgICAgPCEtLSA8aDIgY2xhc3M9InRleHQtdXBwZXJjYXNlIG1iLTMwIj48c3BhbiBjbGFzcz0idGV4dC10aGVtZS1jb2xvcmVkMiI+Uk9JPC9zcGFuPiAkNywxNjcgPC9oMj4gLS0+CiAgICAgICAgICAgICAgICA8YSBjbGFzcz0iYnRuIGJ0bi1sZyBidG4tdGhlbWUtY29sb3JlZDIgdGV4dC11cHBlcmNhc2UgYnRuLWJsb2NrIHB0LTIwIHBiLTIwIGJ0bi1mbGF0IiBocmVmPSJyZWdpc3Rlci5waHAiPkludmVzdCBOb3c8L2E+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wteHMtMTIgY29sLXNtLTYgY29sLW1kLTMgaHZyLWZsb2F0LXNoYWRvdyBtYi1zbS0zMCI+CiAgICAgICAgICAgICAgPGRpdiBjbGFzcz0icHJpY2luZy10YWJsZSBiZy13aGl0ZSB0ZXh0LWNlbnRlciBtYXh3aWR0aDQwMCI+CiAgICAgICAgICAgICAgICA8aDIgY2xhc3M9InByaWNlIHRleHQtdGhlbWUtY29sb3JlZDIgYmctdGhlbWUtY29sb3JlZCBmb250LTQ0IGJnLXdoaXRlIHBiLTIwIG1iLTAgbXQtMCI+PHNwYW4gY2xhc3M9ImZvbnQtMjYgY3VycmVuY3kiPiQ8L3NwYW4+MTAsMDAwIDxzcGFuIGNsYXNzPSJmb250LTE2IHRleHQtd2hpdGUiPi8gUGxhdGludW0gUGxhbjwvc3Bhbj48L2gyPgogICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0IHByaWNlLWxpc3QgdGhlbWUtY29sb3JlZCB0ZXh0LWxlZnQgZmxpcCBjaGVjay1jaXJjbGUgbXQtMCBtYi0yMCI+CiAgICAgICAgICAgICAgICAgIDwhLS0gPGxpPk1pbmltdW0gLSA8Yj4kMiwwMDA8L2I+PC9saT4gLS0+CiAgICAgICAgICAgICAgICAgIDwhLS0gPGxpPk1heGltdW0gLSA8Yj4kVU5MSU1JVEVEPC9iPjwvbGk+IC0tPgogICAgICAgICAgICAgICAgICA8bGk+MjR4NyBTdXBwb3J0PC9saT4KICAgICAgICAgICAgICAgICAgPGxpPlByb2Zlc3Npb25hbCBDaGFydHM8L2xpPgogICAgICAgICAgICAgICAgICA8bGk+VHJhZGluZyBBbGVydHM8L2xpPgogICAgICAgICAgICAgICAgPC91bD4KICAgICAgICAgICAgICAgIDwhLS0gPGgyIGNsYXNzPSJ0ZXh0LXVwcGVyY2FzZSBtYi0zMCI+PHNwYW4gY2xhc3M9InRleHQtdGhlbWUtY29sb3JlZDIiPlJPSTwvc3Bhbj4gJDksNTU2IDwvaDI+IC0tPgogICAgICAgICAgICAgICAgPGEgY2xhc3M9ImJ0biBidG4tbGcgYnRuLXRoZW1lLWNvbG9yZWQyIHRleHQtdXBwZXJjYXNlIGJ0bi1ibG9jayBwdC0yMCBwYi0yMCBidG4tZmxhdCIgaHJlZj0icmVnaXN0ZXIucGhwIj5JbnZlc3QgTm93PC9hPgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8IS0tIERpdmlkZXI6IHRlc3RpbW9uaWFscyAtLT4KICAgIDxzZWN0aW9uIGNsYXNzPSJkaXZpZGVyIHBhcmFsbGF4IGxheWVyLW92ZXJsYXkgb3ZlcmxheS10aGVtZS1jb2xvcmVkLTgiIGRhdGEtYmFja2dyb3VuZC1yYXRpbz0iMC41IiBkYXRhLWJnLWltZz0iaW1hZ2VzL2JnL2JoOSI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBwYi01MCI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSB0ZXh0LWNlbnRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTAgY29sLW1kLW9mZnNldC0xIj4KICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtdXBwZXJjYXNlIHRleHQtd2hpdGUgbXQtMCI+Q2xpZW50IDxzcGFuIGNsYXNzPSJ0ZXh0LXRoZW1lLWNvbG9yZWQyIj5UZXN0aW1vbmlhbHM8L3NwYW4+PC9oMj4KICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJkaWFtb25kLWxpbmUtY2VudGVyZWQtdGhlbWUtY29sb3JlZDIiPjwvZGl2PgogICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIiPgogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJvd2wtY2Fyb3VzZWwtMmNvbCBib3hlZCIgZGF0YS1kb3RzPSJ0cnVlIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Iml0ZW0iPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwgcHQtMTAiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0aHVtYiBwdWxsLWxlZnQgbWItMCBtci0wIj4KICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPSJpbWctdGh1bWJuYWlsIiBzcmM9ImJhY2tvZmZpY2UvdXBsb2Fkcy90ZXN0MS5qcGciIHdpZHRoPSIxMzAiIHN0eWxlPSJ3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7Ij4KICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsLWNvbnRlbnQiPgogICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz0ibXQtMCB0ZXh0LXdoaXRlIGZvbnQtd2VpZ2h0LTMwMCI+SSB3YXMgaW50cm9kdWNlZCB0byB0aGlzIHBsYXRmb3JtIGJ5IGEgZnJpZW5kIGFuZCBJIGhhdmUgbm8gcmVncmV0cyB3aGF0c29ldmVyIGJlY2F1c2UgYXMgZmFyIGFzIGkgYW0gY29uY2VybmVkIHRoaXMgaXMgb25lIG9mIHRoZSBmZXcgbGVnaXQgc2l0ZXMgb3V0IHRoZXJlPC9oND4KICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9Im10LTEwIHRleHQtdGhlbWUtY29sb3JlZDIgZm9udC0xNiBtYi0wIj5KYW5ldGggV2VzdDwvaDU+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJpdGVtIj4KICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRlc3RpbW9uaWFsIHB0LTEwIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGh1bWIgcHVsbC1sZWZ0IG1iLTAgbXItMCI+CiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz0iaW1nLXRodW1ibmFpbCIgc3JjPSJiYWNrb2ZmaWNlL3VwbG9hZHMvdGVzdDQuanBnIiB3aWR0aD0iMTMwIiBzdHlsZT0id2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyI+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbC1jb250ZW50Ij4KICAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9Im10LTAgdGV4dC13aGl0ZSBmb250LXdlaWdodC0zMDAiPkkgYW0gc28gcGxlYXNlZCB0byBiZSBpbnZlc3Rpbmcgd2l0aCB0aGlzIGNvbXBhbnkgYW5kIG5vdyBJJ20gY3VycmVudGx5IGluZGVwZW5kZW50IGFuZCBjYW4gY29uZmlkZW50bHkgcGF5IGFsbCBteSBiaWxscyB3aXRob3V0IHRoZSBmZWFyIG9mIGJlaW5nIGJyb2tlIGFnYWluLjwvaDQ+CiAgICAgICAgICAgICAgICAgICAgPGg1IGNsYXNzPSJtdC0xMCB0ZXh0LXRoZW1lLWNvbG9yZWQyIGZvbnQtMTYgbWItMCI+QW5nZWxhIFdpbHNvbm88L2g1PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbCBwdC0xMCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRodW1iIHB1bGwtbGVmdCBtYi0wIG1yLTAiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImltZy10aHVtYm5haWwiIHNyYz0iYmFja29mZmljZS91cGxvYWRzLzA4ZmIwMmZhNGQyNWQ5ZDRhOTZjMDEwMmQyZDI4YzMzLmpwZyIgd2lkdGg9IjEzMCIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsiPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJtdC0wIHRleHQtd2hpdGUgZm9udC13ZWlnaHQtMzAwIj5JdCBpcyB2ZXJ5IGVhc3kgdG8gbWFrZSBpbnZlc3RtZW50IG9uIHRoaXMgd2Vic2l0ZS4gVGhleSBoYXZlIGRpZmZlcmVudCBwYXltZW50IGdhdGV3YXkgdGhhdCBhcmUgc2VjdXJlZCBhbmQgZWFzeSB0byB1c2UuIEkgdXBncmFkZWQgbXkgbWVtYmVyc2hpcCBwbGFuIHRvIEdvbGQgYW5kIGl0IGhhcyBiZWVuIGZ1biB3aXRoIGxvdHMgb2YgZmVhdHVyZXMgYWRkZWQgdG8gbXkgYWNjb3VudCBPbmUgdGhpbmcgSSBtdXN0IHNheSBpdCBoYXMgYmVlbiBhIHZlcnkgZ3JlYXQgb3Bwb3J0dW5pdHkgZm9yIG1lIGludmVzdGluZyB3aXRoIGZyeG9wdG1hcmt0LmNvbSBUaGV577+9cmUgYSBnZW5pdXMuPC9oND4KICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9Im10LTEwIHRleHQtdGhlbWUtY29sb3JlZDIgZm9udC0xNiBtYi0wIj5NaXRjaGVsbCBQb3dlbGw8L2g1PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbCBwdC0xMCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRodW1iIHB1bGwtbGVmdCBtYi0wIG1yLTAiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImltZy10aHVtYm5haWwiIHNyYz0iYmFja29mZmljZS91cGxvYWRzL3Rlc3QzLmpwZyIgd2lkdGg9IjEzMCIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsiPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJtdC0wIHRleHQtd2hpdGUgZm9udC13ZWlnaHQtMzAwIj50aGlzIGlzIG15IDR0aCB3ZWVrIG9mIHRyYWRpbmcgd2l0aCB0aGVtIGFuZCBJJ20gZ2xhZCBJIGZvdW5kIHRoaXMgcGxhdGZvcm0gYW5kIHRoZXkgYXJlIHdvcnRoeSB0byBoYW5kbGUgeW91ciBpbnZlc3RtZW50cy4gPC9oND4KICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9Im10LTEwIHRleHQtdGhlbWUtY29sb3JlZDIgZm9udC0xNiBtYi0wIj5MdWtlcm1hbiBNYXJ0aW48L2g1PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iaXRlbSI+CiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJ0ZXN0aW1vbmlhbCBwdC0xMCI+CiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InRodW1iIHB1bGwtbGVmdCBtYi0wIG1yLTAiPgogICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9ImltZy10aHVtYm5haWwiIHNyYz0iYmFja29mZmljZS91cGxvYWRzL3Rlc3Q1LmpwZyIgd2lkdGg9IjEzMCIgc3R5bGU9IndpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsiPgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0idGVzdGltb25pYWwtY29udGVudCI+CiAgICAgICAgICAgICAgICAgICAgPGg0IGNsYXNzPSJtdC0wIHRleHQtd2hpdGUgZm9udC13ZWlnaHQtMzAwIj5UaGFua3MgVG8gZnJ4b3B0bWFya3QuY29tIEkgZG9uJ3QgYnV5IGJpdGNvaW4gYWdhaW4gcmF0aGVyLCBJIGVhcm4gdGhlbSBmb3JtIHRyYWRpbmcgYW5kIG1pbmluZyBteSBiaXRjb2lucyB3aXRoIHRoZW0uIFNhZmUgYW5kIFNlY3VyZSBtaW5pbmcgUHJvY2VzcyBndWFyYW50ZWVkLiAgPC9oND4KICAgICAgICAgICAgICAgICAgICA8aDUgY2xhc3M9Im10LTEwIHRleHQtdGhlbWUtY29sb3JlZDIgZm9udC0xNiBtYi0wIj5TdW5kYXkgSmFjb2I8L2g1PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICA8L2Rpdj4KICAgIDwvc2VjdGlvbj4KCiAgICA8IS0tIFNlY3Rpb246IGJsb2cgLS0+CiAgICA8c2VjdGlvbiBpZD0iYmxvZyIgY2xhc3M9ImJnLXNpbHZlci1saWdodCI+CiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CiAgICAgICAgPGRpdiBjbGFzcz0ic2VjdGlvbi10aXRsZSB0ZXh0LWNlbnRlciI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgICAKICAgICAgICAgIDwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InNlY3Rpb24tY29udGVudCI+CiAgICAgICAgICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgICAgICAgIDxkaXYgY2xhc3M9ImNvbC1tZC0yIj48L2Rpdj4KICAgICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTggIiBzdHlsZT0ibWFyZ2luLWJvdHRvbTogNTBweDsiPgogICAgICAgICAgICAgICA8aDIgY2xhc3M9InRleHQtdXBwZXJjYXNlIG10LTAiPkJpdGNvaW4gQ2hhcnQgPHNwYW4gY2xhc3M9InRleHQtdGhlbWUtY29sb3JlZDIiPiAmPC9zcGFuPiBUcmFuc2FjdGlvbnM8L2gyPgogICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iYW1rX3ByaWNlQ2hhcnQiPgogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJidGN3ZGd0LWNoYXJ0IiBidy1jYXNoPSJ0cnVlIiBidy10aGVtZT0ibGlnaHQiPjwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxzY3JpcHQgc3JjPSJodHRwczovL3dpZGdldHMuY29pbmdlY2tvLmNvbS9nZWNrby1jb2luLXByaWNlLWNoYXJ0LXdpZGdldC5qcyI+PC9zY3JpcHQ+CjxnZWNrby1jb2luLXByaWNlLWNoYXJ0LXdpZGdldCBsb2NhbGU9ImVuIiBvdXRsaW5lZD0idHJ1ZSIgaW5pdGlhbC1jdXJyZW5jeT0idXNkIj48L2dlY2tvLWNvaW4tcHJpY2UtY2hhcnQtd2lkZ2V0PgogICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz0iY29sLW1kLTMiPjwvZGl2PiAtLT4KCiAgICAgICAgICAgICAgICA8IS0tIDxkaXYgY2xhc3M9ImNvbC1sZy02IGNvbC1tZC02IG10LTYgIHdvdyBmYWRlSW5MZWZ0IiBkYXRhLXdvdy1kdXJhdGlvbj0iMnMiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxMHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgPGgyIHN0eWxlPSJ0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyBmb250LWZhbWlseTogJ1JvYm90byBTbGFiJywgc2Fucy1zZXJpZjsgY29sb3I6ICMwNDFlMzc7IGZvbnQtd2VpZ2h0OiA3MDA7IGxpbmUtaGVpZ2h0OiAzNHB4OyB0ZXh0LWFsaWduOiBjZW50ZXI7Ij5Db21wYW55IEluZm9ybWF0aW9uPC9oMj4KICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSIiIHN0eWxlPSJtYXJnaW4tYm90dG9tOiAxMHB4Ij4KICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2VudGVyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9ImltYWdlcy9jZXJ0aS5wbmciID4KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NlbnRlcj4KICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPSJib3JkZXItbGVmdDogMTBweCBzb2xpZCAjMDQxZTM3OyBwYWRkaW5nLWxlZnQ6IDEwcHgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNSBzdHlsZT0iZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsgY29sb3I6ICMwNDFlMzc7IGZvbnQtd2VpZ2h0OiA3MDA7ICB0ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMjVweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGFueSBOYW1lCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oNT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aDIgc3R5bGU9InRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmOyBjb2xvcjogIzA0MWUzNzsgZm9udC13ZWlnaHQ6IDcwMDsgdGV4dC1hbGlnbjogbGVmdDsiPkZvcmV4IE9wdGlvbiBNYXJrZXQgTFRECiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnI+PGJyPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoNiBzdHlsZT0iZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjsgY29sb3I6ICMwNDFlMzc7IGZvbnQtd2VpZ2h0OiA3MDA7ICB0ZXh0LWFsaWduOiBsZWZ0OyBsaW5lLWhlaWdodDogMjVweCI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tcGFueSBOdW1iZXIKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2g2PgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMyBzdHlsZT0idGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7IGNvbG9yOiAjMDQxZTM3OyBmb250LXdlaWdodDogNzAwOyB0ZXh0LWFsaWduOiBsZWZ0OyI+MjAxOTIyNDAzMDUwNjUKCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9oMz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAKICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgPC9kaXY+IC0tPgoKCiAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvZGl2PgogICAgPC9zZWN0aW9uPgoKICAgPCEtLSBEaXZpZGVyOiBDbGllbnRzIC0tPg0KICAgIDxzZWN0aW9uIGNsYXNzPSJjbGllbnRzIGJnLXRoZW1lLWNvbG9yZWQiPg0KICAgICAgPGRpdiBjbGFzcz0iY29udGFpbmVyIHB0LTIwIHBiLTIwIj4NCiAgICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtMTIiPg0KICAgICAgICAgICAgPCEtLSBTZWN0aW9uOiBDbGllbnRzIC0tPg0KICAgICAgICAgICAgPGRpdiBjbGFzcz0idGV4dC1jZW50ZXIiPg0KICAgICAgICAgICAgICA8aW1nIHNyYz0iaW1hZ2VzL3BheW1lbnRzLnBuZyIgYWx0PSIiPg0KICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgPC9kaXY+DQogICAgPC9zZWN0aW9uPg0KDQogIDwhLS0gZW5kIG1haW4tY29udGVudCAtLT4NCiAgPC9kaXY+DQoNCiAgPCEtLSBGb290ZXIgLS0+DQogIDxmb290ZXIgaWQ9ImZvb3RlciIgY2xhc3M9ImZvb3RlciIgZGF0YS1iZy1pbWc9ImltYWdlcy9mb290ZXItYmcucG5nIiBkYXRhLWJnLWNvbG9yPSIjMTUyMDI5Ij4NCiAgICA8ZGl2IGNsYXNzPSJjb250YWluZXIgcHQtNzAgcGItNDAiPg0KICAgICAgPGRpdiBjbGFzcz0icm93Ij4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTQiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldCBkYXJrIj4NCiAgICAgICAgICAgIDxpbWcgY2xhc3M9Im10LTUgbWItMjAiIGFsdD0iIiBzcmM9ImltYWdlcy9sb2dvLXdoaXRlLWZvb3Rlci5wbmciPg0KICAgICAgICAgICAgPHA+Rk9SRVggT1BUSU9OIE1BUktFVCBpcyBvbmUgb2YgdGhlIGxlYWRpbmcgcGxhdGZvcm1zIG9mZmVyaW5nIGJpbmFyeSBvcHRpb25zLCBGb3JleCBhbmQgc3ByZWFkcy4gUmVndWxhdGVkIGJ5IHRoZSBDRlRDLiBJdCBpcyBhbHNvIHJlZ3VsYXRlZCBieSB0aGUgSUZTQywgYXMgd2VsbCBhcyB0aGUgQ3lwcnVzIFNlY3VyaXRpZXMgYW5kIEV4Y2hhbmdlIENvbW1pc3Npb24uDQogICAgICAgICAgICA8L3A+DQogICAgICAgICAgPC9kaXY+DQogICAgICAgIDwvZGl2Pg0KICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtc20tNiBjb2wtbWQtNCI+DQogICAgICAgICAgPGRpdiBjbGFzcz0id2lkZ2V0IGRhcmsiPg0KICAgICAgICAgICAgPGg0IGNsYXNzPSJ3aWRnZXQtdGl0bGUiPlF1aWNrIExpbmtzPC9oND4NCiAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdCBhbmdsZS1kb3VibGUtcmlnaHQgbGlzdC1ib3JkZXIiPg0KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iYWJvdXQtdXMucGhwIj5BYm91dCBVczwvYT48L2xpPg0KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0ibWFya2V0LWRhdGEucGhwIj5NYXJrZXQgRGF0YTwvYT48L2xpPg0KICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iZmFxLnBocCI+RkFRPC9hPjwvbGk+DQogICAgICAgICAgICAgIDxsaT48YSBocmVmPSJ0ZXJtcy5waHAiPlRlcm1zPC9hPjwvbGk+ICAgICAgICAgDQogICAgICAgICAgICA8L3VsPg0KICAgICAgICAgIDwvZGl2Pg0KICAgICAgICA8L2Rpdj4NCiAgICAgICAgPGRpdiBjbGFzcz0iY29sLXNtLTYgY29sLW1kLTQiPg0KICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldCBkYXJrIj4NCiAgICAgICAgICAgIDxoNCBjbGFzcz0id2lkZ2V0LXRpdGxlIj5Db250YWN0IEluZm9ybWF0aW9uPC9oND4NCiAgICAgICAgICAgIDx1bCBjbGFzcz0ibGlzdC1pbmxpbmUgbXQtNSI+DQogICAgICAgICAgICAgIDxsaSBjbGFzcz0ibS0wIHBsLTEwIHByLTEwIj4gPGkgY2xhc3M9ImZhIGZhLW1hcC1tYXJrZXIgdGV4dC10aGVtZS1jb2xvcmVkMiBtci01Ij48L2k+IDxhIGNsYXNzPSJ0ZXh0LWdyYXkiIGhyZWY9IiMiPjc3IE1hc3NhY2h1c2V0dHMgQXZlLCBDYW1icmlkZ2UsIE1hc3NhY2h1c2V0dHM8L2E+PC9saT4NCiAgICAgICAgICAgICAgPGxpIGNsYXNzPSJtLTAgcGwtMTAgcHItMTAiPiA8aSBjbGFzcz0iZmEgZmEtZW52ZWxvcGUtbyB0ZXh0LXRoZW1lLWNvbG9yZWQyIG1yLTUiPjwvaT4gPGEgY2xhc3M9InRleHQtZ3JheSIgaHJlZj0ibWFpbHRvOnN1cHBvcnRAZnJ4b3B0bWFya3QuY29tIj5zdXBwb3J0QGZyeG9wdG1hcmt0LmNvbTwvYT4gPC9saT4NCiAgICAgICAgICAgICAgPGxpIGNsYXNzPSJtLTAgcGwtMTAgcHItMTAiPiA8aSBjbGFzcz0iZmEgZmEtcGhvbmUgdGV4dC10aGVtZS1jb2xvcmVkMiBtci01Ij48L2k+IDxhIGNsYXNzPSJ0ZXh0LWdyYXkiIGhyZWY9IiMiPkZvciBWSVAgTWVtYmVycyBPbmx5PC9hPiA8L2xpPg0KICAgICAgICAgICAgPC91bD4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCg0KICAgIDwvZGl2Pg0KICAgIDxkaXYgY2xhc3M9ImZvb3Rlci1ib3R0b20gYmctdGhlbWUtY29sb3JlZC10cmFuc3BhcmVudC01Ij4NCiAgICAgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciBwdC0yMCBwYi0yMCI+DQogICAgICAgIDxkaXYgY2xhc3M9InJvdyI+DQogICAgICAgICAgPGRpdiBjbGFzcz0iY29sLW1kLTYiPg0KICAgICAgICAgICAgPHAgY2xhc3M9ImZvbnQtMTEgdGV4dC1ibGFjay03NzcgbS0wIj5Db3B5cmlnaHQgJmNvcHk7IDIwMjYgRk9SRVggT1BUSU9OIE1BUktFVC4gQWxsIFJpZ2h0cyBSZXNlcnZlZDwvcD4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8ZGl2IGNsYXNzPSJjb2wtbWQtNiB0ZXh0LXJpZ2h0Ij4NCiAgICAgICAgICAgIDxkaXYgY2xhc3M9IndpZGdldCBuby1ib3JkZXIgbS0wIj4NCiAgICAgICAgICAgICAgPHVsIGNsYXNzPSJsaXN0LWlubGluZSBzbS10ZXh0LWNlbnRlciBtdC01IGZvbnQtMTIiPg0KICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImZhcS5waHAiPkZBUTwvYT4NCiAgICAgICAgICAgICAgICA8L2xpPg0KICAgICAgICAgICAgICAgIDxsaT58PC9saT4NCiAgICAgICAgICAgICAgICA8bGk+DQogICAgICAgICAgICAgICAgICA8YSBocmVmPSJ0ZXJtcy5waHAiPlRlcm1zPC9hPg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgICAgPGxpPnw8L2xpPg0KICAgICAgICAgICAgICAgIDxsaT4NCiAgICAgICAgICAgICAgICAgIDxhIGhyZWY9ImNvbnRhY3QtdXMucGhwIj5Db250YWN0IFVzPC9hPg0KICAgICAgICAgICAgICAgIDwvbGk+DQogICAgICAgICAgICAgIDwvdWw+DQogICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgPC9kaXY+DQogICAgICA8L2Rpdj4NCiAgICA8L2Rpdj4NCiAgPC9mb290ZXI+DQogIDxhIGNsYXNzPSJzY3JvbGxUb1RvcCIgaHJlZj0iIyI+PGkgY2xhc3M9ImZhIGZhLWFuZ2xlLXVwIj48L2k+PC9hPg0KPC9kaXY+DQo8IS0tIEdldEJ1dHRvbi5pbyB3aWRnZXQgLS0+DQo8IS0tIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCiAgICAoZnVuY3Rpb24gKCkgew0KICAgICAgICB2YXIgb3B0aW9ucyA9IHsNCiAgICAgICAgICAgIHdoYXRzYXBwOiAiKyIsIC8vIFdoYXRzQXBwIG51bWJlcg0KICAgICAgICAgICAgY2FsbF90b19hY3Rpb246ICJNZXNzYWdlIHVzIiwgLy8gQ2FsbCB0byBhY3Rpb24NCiAgICAgICAgICAgIHBvc2l0aW9uOiAibGVmdCIsIC8vIFBvc2l0aW9uIG1heSBiZSAncmlnaHQnIG9yICdsZWZ0Jw0KICAgICAgICB9Ow0KICAgICAgICB2YXIgcHJvdG8gPSBkb2N1bWVudC5sb2NhdGlvbi5wcm90b2NvbCwgaG9zdCA9ICJnZXRidXR0b24uaW8iLCB1cmwgPSBwcm90byArICIvL3N0YXRpYy4iICsgaG9zdDsNCiAgICAgICAgdmFyIHMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzY3JpcHQnKTsgcy50eXBlID0gJ3RleHQvamF2YXNjcmlwdCc7IHMuYXN5bmMgPSB0cnVlOyBzLnNyYyA9IHVybCArICcvd2lkZ2V0LXNlbmQtYnV0dG9uL2pzL2luaXQuanMnOw0KICAgICAgICBzLm9ubG9hZCA9IGZ1bmN0aW9uICgpIHsgV2hXaWRnZXRTZW5kQnV0dG9uLmluaXQoaG9zdCwgcHJvdG8sIG9wdGlvbnMpOyB9Ow0KICAgICAgICB2YXIgeCA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdzY3JpcHQnKVswXTsgeC5wYXJlbnROb2RlLmluc2VydEJlZm9yZShzLCB4KTsNCiAgICB9KSgpOw0KPC9zY3JpcHQ+IC0tPg0KPCEtLSAvR2V0QnV0dG9uLmlvIHdpZGdldCAtLT4NCg0KPCEtLSBTbWFydHN1cHAgTGl2ZSBDaGF0IHNjcmlwdCAtLT4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCnZhciBfc21hcnRzdXBwID0gX3NtYXJ0c3VwcCB8fCB7fTsNCl9zbWFydHN1cHAua2V5ID0gJzliZjViZWM5ZTA3YWM1YzA5ZThmMDdjYjNhYmEyNDY2ZGM4ZjdhODcnOw0Kd2luZG93LnNtYXJ0c3VwcHx8KGZ1bmN0aW9uKGQpIHsNCiAgdmFyIHMsYyxvPXNtYXJ0c3VwcD1mdW5jdGlvbigpeyBvLl8ucHVzaChhcmd1bWVudHMpfTtvLl89W107DQogIHM9ZC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2NyaXB0JylbMF07Yz1kLmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpOw0KICBjLnR5cGU9J3RleHQvamF2YXNjcmlwdCc7Yy5jaGFyc2V0PSd1dGYtOCc7Yy5hc3luYz10cnVlOw0KICBjLnNyYz0naHR0cHM6Ly93d3cuc21hcnRzdXBwY2hhdC5jb20vbG9hZGVyLmpzPyc7cy5wYXJlbnROb2RlLmluc2VydEJlZm9yZShjLHMpOw0KfSkoZG9jdW1lbnQpOw0KPC9zY3JpcHQ+DQo8bm9zY3JpcHQ+IFBvd2VyZWQgYnkgPGEgaHJlZj3igJxodHRwczovL3d3dy5zbWFydHN1cHAuY29t4oCdIHRhcmdldD3igJxfYmxhbmvigJ0+U21hcnRzdXBwPC9hPjwvbm9zY3JpcHQ+PCEtLSBlbmQgd3JhcHBlciAtLT4KCjwhLS0gRm9vdGVyIFNjcmlwdHMgLS0+CjwhLS0gSlMgfCBDdXN0b20gc2NyaXB0IGZvciBhbGwgcGFnZXMgLS0+CjxzY3JpcHQgc3JjPSJqcy9jdXN0b20uanMiPjwvc2NyaXB0PgoKPC9ib2R5PgoKPC9odG1sPg=="}},"time_used":780,"timings":{"blocked":-1,"dns":183,"connect":135,"send":0,"wait":180,"receive":0,"ssl":281},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/jquery-ui.min.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.577Z","timestamp":1785133989577,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/jquery-ui.min.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 6715\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":29273,"size_decoded":6945,"mime_type":"text/css","magic":"ASCII text, with very long lines (27721)","md5":"503919dcbf40b21eb51253241333fbe3","sha1":"f709905d6aa2e6d0194caa4bd24627f9bf207828","sha256":"134afb716bf1eac3c1bb5480ed983c45f0ca6724dab01e30ed44ff721405ec32","sha512":"db7845a3d06a5a640d57c201f08c5997abc52d322f5510339816c906439d337f38197c34d4395c29f5def0ea1eb8d02f72dca6237263081c1ad88f9035c9cc49","ssdeep":"384:6MxJvLzBIRJ1eU8+4026L/72fZBhVt03R:6KvLzBI9Y02XBhcB","tlshash":"d5d24230a5c2212dfe23d23060e11ff4523bc142eda65f7da09ab75993e98e4c47b971","first_seen":"2023-04-07T09:30:32Z","last_seen":"2026-07-27T14:34:25.242458Z","times_seen":523,"resource_available":false,"data":"LyohIGpRdWVyeSBVSSAtIHYxLjExLjQgLSAyMDE1LTEyLTA5CiogaHR0cDovL2pxdWVyeXVpLmNvbQoqIEluY2x1ZGVzOiBjb3JlLmNzcywgZHJhZ2dhYmxlLmNzcywgcmVzaXphYmxlLmNzcywgc2VsZWN0YWJsZS5jc3MsIHNvcnRhYmxlLmNzcywgYWNjb3JkaW9uLmNzcywgYXV0b2NvbXBsZXRlLmNzcywgYnV0dG9uLmNzcywgZGF0ZXBpY2tlci5jc3MsIGRpYWxvZy5jc3MsIG1lbnUuY3NzLCBwcm9ncmVzc2Jhci5jc3MsIHNlbGVjdG1lbnUuY3NzLCBzbGlkZXIuY3NzLCBzcGlubmVyLmNzcywgdGFicy5jc3MsIHRvb2x0aXAuY3NzLCB0aGVtZS5jc3MKKiBUbyB2aWV3IGFuZCBtb2RpZnkgdGhpcyB0aGVtZSwgdmlzaXQgaHR0cDovL2pxdWVyeXVpLmNvbS90aGVtZXJvbGxlci8/ZmZEZWZhdWx0PUFyaWFsJTJDSGVsdmV0aWNhJTJDc2Fucy1zZXJpZiZmc0RlZmF1bHQ9MWVtJmZ3RGVmYXVsdD1ub3JtYWwmY29ybmVyUmFkaXVzPTNweCZiZ0NvbG9ySGVhZGVyPWU5ZTllOSZiZ1RleHR1cmVIZWFkZXI9ZmxhdCZib3JkZXJDb2xvckhlYWRlcj1kZGRkZGQmZmNIZWFkZXI9MzMzMzMzJmljb25Db2xvckhlYWRlcj00NDQ0NDQmYmdDb2xvckNvbnRlbnQ9ZmZmZmZmJmJnVGV4dHVyZUNvbnRlbnQ9ZmxhdCZib3JkZXJDb2xvckNvbnRlbnQ9ZGRkZGRkJmZjQ29udGVudD0zMzMzMzMmaWNvbkNvbG9yQ29udGVudD00NDQ0NDQmYmdDb2xvckRlZmF1bHQ9ZjZmNmY2JmJnVGV4dHVyZURlZmF1bHQ9ZmxhdCZib3JkZXJDb2xvckRlZmF1bHQ9YzVjNWM1JmZjRGVmYXVsdD00NTQ1NDUmaWNvbkNvbG9yRGVmYXVsdD03Nzc3NzcmYmdDb2xvckhvdmVyPWVkZWRlZCZiZ1RleHR1cmVIb3Zlcj1mbGF0JmJvcmRlckNvbG9ySG92ZXI9Y2NjY2NjJmZjSG92ZXI9MmIyYjJiJmljb25Db2xvckhvdmVyPTU1NTU1NSZiZ0NvbG9yQWN0aXZlPTAwN2ZmZiZiZ1RleHR1cmVBY3RpdmU9ZmxhdCZib3JkZXJDb2xvckFjdGl2ZT0wMDNlZmYmZmNBY3RpdmU9ZmZmZmZmJmljb25Db2xvckFjdGl2ZT1mZmZmZmYmYmdDb2xvckhpZ2hsaWdodD1mZmZhOTAmYmdUZXh0dXJlSGlnaGxpZ2h0PWZsYXQmYm9yZGVyQ29sb3JIaWdobGlnaHQ9ZGFkNTVlJmZjSGlnaGxpZ2h0PTc3NzYyMCZpY29uQ29sb3JIaWdobGlnaHQ9Nzc3NjIwJmJnQ29sb3JFcnJvcj1mZGRmZGYmYmdUZXh0dXJlRXJyb3I9ZmxhdCZib3JkZXJDb2xvckVycm9yPWYxYTg5OSZmY0Vycm9yPTVmM2YzZiZpY29uQ29sb3JFcnJvcj1jYzAwMDAmYmdDb2xvck92ZXJsYXk9YWFhYWFhJmJnVGV4dHVyZU92ZXJsYXk9ZmxhdCZiZ0ltZ09wYWNpdHlPdmVybGF5PTAmb3BhY2l0eU92ZXJsYXk9MzAmYmdDb2xvclNoYWRvdz02NjY2NjYmYmdUZXh0dXJlU2hhZG93PWZsYXQmYmdJbWdPcGFjaXR5U2hhZG93PTAmb3BhY2l0eVNoYWRvdz0zMCZ0aGlja25lc3NTaGFkb3c9NXB4Jm9mZnNldFRvcFNoYWRvdz0wcHgmb2Zmc2V0TGVmdFNoYWRvdz0wcHgmY29ybmVyUmFkaXVzU2hhZG93PThweAoqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzOyBMaWNlbnNlZCBNSVQgKi8KCi51aS1oZWxwZXItaGlkZGVue2Rpc3BsYXk6bm9uZX0udWktaGVscGVyLWhpZGRlbi1hY2Nlc3NpYmxle2JvcmRlcjowO2NsaXA6cmVjdCgwIDAgMCAwKTtoZWlnaHQ6MXB4O21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4fS51aS1oZWxwZXItcmVzZXR7bWFyZ2luOjA7cGFkZGluZzowO2JvcmRlcjowO291dGxpbmU6MDtsaW5lLWhlaWdodDoxLjM7dGV4dC1kZWNvcmF0aW9uOm5vbmU7Zm9udC1zaXplOjEwMCU7bGlzdC1zdHlsZTpub25lfS51aS1oZWxwZXItY2xlYXJmaXg6YmVmb3JlLC51aS1oZWxwZXItY2xlYXJmaXg6YWZ0ZXJ7Y29udGVudDoiIjtkaXNwbGF5OnRhYmxlO2JvcmRlci1jb2xsYXBzZTpjb2xsYXBzZX0udWktaGVscGVyLWNsZWFyZml4OmFmdGVye2NsZWFyOmJvdGh9LnVpLWhlbHBlci1jbGVhcmZpeHttaW4taGVpZ2h0OjB9LnVpLWhlbHBlci16Zml4e3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7dG9wOjA7bGVmdDowO3Bvc2l0aW9uOmFic29sdXRlO29wYWNpdHk6MDtmaWx0ZXI6QWxwaGEoT3BhY2l0eT0wKX0udWktZnJvbnR7ei1pbmRleDoxMDB9LnVpLXN0YXRlLWRpc2FibGVke2N1cnNvcjpkZWZhdWx0IWltcG9ydGFudH0udWktaWNvbntkaXNwbGF5OmJsb2NrO3RleHQtaW5kZW50Oi05OTk5OXB4O292ZXJmbG93OmhpZGRlbjtiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXR9LnVpLXdpZGdldC1vdmVybGF5e3Bvc2l0aW9uOmZpeGVkO3RvcDowO2xlZnQ6MDt3aWR0aDoxMDAlO2hlaWdodDoxMDAlfS51aS1kcmFnZ2FibGUtaGFuZGxley1tcy10b3VjaC1hY3Rpb246bm9uZTt0b3VjaC1hY3Rpb246bm9uZX0udWktcmVzaXphYmxle3Bvc2l0aW9uOnJlbGF0aXZlfS51aS1yZXNpemFibGUtaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO2ZvbnQtc2l6ZTowLjFweDtkaXNwbGF5OmJsb2NrOy1tcy10b3VjaC1hY3Rpb246bm9uZTt0b3VjaC1hY3Rpb246bm9uZX0udWktcmVzaXphYmxlLWRpc2FibGVkIC51aS1yZXNpemFibGUtaGFuZGxlLC51aS1yZXNpemFibGUtYXV0b2hpZGUgLnVpLXJlc2l6YWJsZS1oYW5kbGV7ZGlzcGxheTpub25lfS51aS1yZXNpemFibGUtbntjdXJzb3I6bi1yZXNpemU7aGVpZ2h0OjdweDt3aWR0aDoxMDAlO3RvcDotNXB4O2xlZnQ6MH0udWktcmVzaXphYmxlLXN7Y3Vyc29yOnMtcmVzaXplO2hlaWdodDo3cHg7d2lkdGg6MTAwJTtib3R0b206LTVweDtsZWZ0OjB9LnVpLXJlc2l6YWJsZS1le2N1cnNvcjplLXJlc2l6ZTt3aWR0aDo3cHg7cmlnaHQ6LTVweDt0b3A6MDtoZWlnaHQ6MTAwJX0udWktcmVzaXphYmxlLXd7Y3Vyc29yOnctcmVzaXplO3dpZHRoOjdweDtsZWZ0Oi01cHg7dG9wOjA7aGVpZ2h0OjEwMCV9LnVpLXJlc2l6YWJsZS1zZXtjdXJzb3I6c2UtcmVzaXplO3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7cmlnaHQ6MXB4O2JvdHRvbToxcHh9LnVpLXJlc2l6YWJsZS1zd3tjdXJzb3I6c3ctcmVzaXplO3dpZHRoOjlweDtoZWlnaHQ6OXB4O2xlZnQ6LTVweDtib3R0b206LTVweH0udWktcmVzaXphYmxlLW53e2N1cnNvcjpudy1yZXNpemU7d2lkdGg6OXB4O2hlaWdodDo5cHg7bGVmdDotNXB4O3RvcDotNXB4fS51aS1yZXNpemFibGUtbmV7Y3Vyc29yOm5lLXJlc2l6ZTt3aWR0aDo5cHg7aGVpZ2h0OjlweDtyaWdodDotNXB4O3RvcDotNXB4fS51aS1zZWxlY3RhYmxley1tcy10b3VjaC1hY3Rpb246bm9uZTt0b3VjaC1hY3Rpb246bm9uZX0udWktc2VsZWN0YWJsZS1oZWxwZXJ7cG9zaXRpb246YWJzb2x1dGU7ei1pbmRleDoxMDA7Ym9yZGVyOjFweCBkb3R0ZWQgYmxhY2t9LnVpLXNvcnRhYmxlLWhhbmRsZXstbXMtdG91Y2gtYWN0aW9uOm5vbmU7dG91Y2gtYWN0aW9uOm5vbmV9LnVpLWFjY29yZGlvbiAudWktYWNjb3JkaW9uLWhlYWRlcntkaXNwbGF5OmJsb2NrO2N1cnNvcjpwb2ludGVyO3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjoycHggMCAwIDA7cGFkZGluZzouNWVtIC41ZW0gLjVlbSAuN2VtO21pbi1oZWlnaHQ6MDtmb250LXNpemU6MTAwJX0udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taWNvbnN7cGFkZGluZy1sZWZ0OjIuMmVtfS51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1pY29ucyAudWktYWNjb3JkaW9uLWljb25ze3BhZGRpbmctbGVmdDoyLjJlbX0udWktYWNjb3JkaW9uIC51aS1hY2NvcmRpb24taGVhZGVyIC51aS1hY2NvcmRpb24taGVhZGVyLWljb257cG9zaXRpb246YWJzb2x1dGU7bGVmdDouNWVtO3RvcDo1MCU7bWFyZ2luLXRvcDotOHB4fS51aS1hY2NvcmRpb24gLnVpLWFjY29yZGlvbi1jb250ZW50e3BhZGRpbmc6MWVtIDIuMmVtO2JvcmRlci10b3A6MDtvdmVyZmxvdzphdXRvfS51aS1hdXRvY29tcGxldGV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7bGVmdDowO2N1cnNvcjpkZWZhdWx0fS51aS1idXR0b257ZGlzcGxheTppbmxpbmUtYmxvY2s7cG9zaXRpb246cmVsYXRpdmU7cGFkZGluZzowO2xpbmUtaGVpZ2h0Om5vcm1hbDttYXJnaW4tcmlnaHQ6LjFlbTtjdXJzb3I6cG9pbnRlcjt2ZXJ0aWNhbC1hbGlnbjptaWRkbGU7dGV4dC1hbGlnbjpjZW50ZXI7b3ZlcmZsb3c6dmlzaWJsZX0udWktYnV0dG9uLC51aS1idXR0b246bGluaywudWktYnV0dG9uOnZpc2l0ZWQsLnVpLWJ1dHRvbjpob3ZlciwudWktYnV0dG9uOmFjdGl2ZXt0ZXh0LWRlY29yYXRpb246bm9uZX0udWktYnV0dG9uLWljb24tb25seXt3aWR0aDoyLjJlbX1idXR0b24udWktYnV0dG9uLWljb24tb25seXt3aWR0aDoyLjRlbX0udWktYnV0dG9uLWljb25zLW9ubHl7d2lkdGg6My40ZW19YnV0dG9uLnVpLWJ1dHRvbi1pY29ucy1vbmx5e3dpZHRoOjMuN2VtfS51aS1idXR0b24gLnVpLWJ1dHRvbi10ZXh0e2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6bm9ybWFsfS51aS1idXR0b24tdGV4dC1vbmx5IC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW0gMWVtfS51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0b24tdGV4dCwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi10ZXh0e3BhZGRpbmc6LjRlbTt0ZXh0LWluZGVudDotOTk5OTk5OXB4fS51aS1idXR0b24tdGV4dC1pY29uLXByaW1hcnkgLnVpLWJ1dHRvbi10ZXh0LC51aS1idXR0b24tdGV4dC1pY29ucyAudWktYnV0dG9uLXRleHR7cGFkZGluZzouNGVtIDFlbSAuNGVtIDIuMWVtfS51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktYnV0dG9uLXRleHQsLnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24tdGV4dHtwYWRkaW5nOi40ZW0gMi4xZW0gLjRlbSAxZW19LnVpLWJ1dHRvbi10ZXh0LWljb25zIC51aS1idXR0b24tdGV4dHtwYWRkaW5nLWxlZnQ6Mi4xZW07cGFkZGluZy1yaWdodDoyLjFlbX1pbnB1dC51aS1idXR0b257cGFkZGluZzouNGVtIDFlbX0udWktYnV0dG9uLWljb24tb25seSAudWktaWNvbiwudWktYnV0dG9uLXRleHQtaWNvbi1wcmltYXJ5IC51aS1pY29uLC51aS1idXR0b24tdGV4dC1pY29uLXNlY29uZGFyeSAudWktaWNvbiwudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWljb24sLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO3RvcDo1MCU7bWFyZ2luLXRvcDotOHB4fS51aS1idXR0b24taWNvbi1vbmx5IC51aS1pY29ue2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi04cHh9LnVpLWJ1dHRvbi10ZXh0LWljb24tcHJpbWFyeSAudWktYnV0dG9uLWljb24tcHJpbWFyeSwudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnksLnVpLWJ1dHRvbi1pY29ucy1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5e2xlZnQ6LjVlbX0udWktYnV0dG9uLXRleHQtaWNvbi1zZWNvbmRhcnkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSwudWktYnV0dG9uLXRleHQtaWNvbnMgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeSwudWktYnV0dG9uLWljb25zLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXNlY29uZGFyeXtyaWdodDouNWVtfS51aS1idXR0b25zZXR7bWFyZ2luLXJpZ2h0OjdweH0udWktYnV0dG9uc2V0IC51aS1idXR0b257bWFyZ2luLWxlZnQ6MDttYXJnaW4tcmlnaHQ6LS4zZW19aW5wdXQudWktYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLGJ1dHRvbi51aS1idXR0b246Oi1tb3otZm9jdXMtaW5uZXJ7Ym9yZGVyOjA7cGFkZGluZzowfS51aS1kYXRlcGlja2Vye3dpZHRoOjE3ZW07cGFkZGluZzouMmVtIC4yZW0gMDtkaXNwbGF5Om5vbmV9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItaGVhZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6LjJlbSAwfS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYsLnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dHtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MnB4O3dpZHRoOjEuOGVtO2hlaWdodDoxLjhlbX0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2LWhvdmVyLC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQtaG92ZXJ7dG9wOjFweH0udWktZGF0ZXBpY2tlciAudWktZGF0ZXBpY2tlci1wcmV2e2xlZnQ6MnB4fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHR7cmlnaHQ6MnB4fS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLXByZXYtaG92ZXJ7bGVmdDoxcHh9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItbmV4dC1ob3ZlcntyaWdodDoxcHh9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItcHJldiBzcGFuLC51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLW5leHQgc3BhbntkaXNwbGF5OmJsb2NrO3Bvc2l0aW9uOmFic29sdXRlO2xlZnQ6NTAlO21hcmdpbi1sZWZ0Oi04cHg7dG9wOjUwJTttYXJnaW4tdG9wOi04cHh9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGV7bWFyZ2luOjAgMi4zZW07bGluZS1oZWlnaHQ6MS44ZW07dGV4dC1hbGlnbjpjZW50ZXJ9LnVpLWRhdGVwaWNrZXIgLnVpLWRhdGVwaWNrZXItdGl0bGUgc2VsZWN0e2ZvbnQtc2l6ZToxZW07bWFyZ2luOjFweCAwfS51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLW1vbnRoLC51aS1kYXRlcGlja2VyIHNlbGVjdC51aS1kYXRlcGlja2VyLXllYXJ7d2lkdGg6NDUlfS51aS1kYXRlcGlja2VyIHRhYmxle3dpZHRoOjEwMCU7Zm9udC1zaXplOi45ZW07Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO21hcmdpbjowIDAgLjRlbX0udWktZGF0ZXBpY2tlciB0aHtwYWRkaW5nOi43ZW0gLjNlbTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXdlaWdodDpib2xkO2JvcmRlcjowfS51aS1kYXRlcGlja2VyIHRke2JvcmRlcjowO3BhZGRpbmc6MXB4fS51aS1kYXRlcGlja2VyIHRkIHNwYW4sLnVpLWRhdGVwaWNrZXIgdGQgYXtkaXNwbGF5OmJsb2NrO3BhZGRpbmc6LjJlbTt0ZXh0LWFsaWduOnJpZ2h0O3RleHQtZGVjb3JhdGlvbjpub25lfS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmV7YmFja2dyb3VuZC1pbWFnZTpub25lO21hcmdpbjouN2VtIDAgMCAwO3BhZGRpbmc6MCAuMmVtO2JvcmRlci1sZWZ0OjA7Ym9yZGVyLXJpZ2h0OjA7Ym9yZGVyLWJvdHRvbTowfS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9ue2Zsb2F0OnJpZ2h0O21hcmdpbjouNWVtIC4yZW0gLjRlbTtjdXJzb3I6cG9pbnRlcjtwYWRkaW5nOi4yZW0gLjZlbSAuM2VtIC42ZW07d2lkdGg6YXV0bztvdmVyZmxvdzp2aXNpYmxlfS51aS1kYXRlcGlja2VyIC51aS1kYXRlcGlja2VyLWJ1dHRvbnBhbmUgYnV0dG9uLnVpLWRhdGVwaWNrZXItY3VycmVudHtmbG9hdDpsZWZ0fS51aS1kYXRlcGlja2VyLnVpLWRhdGVwaWNrZXItbXVsdGl7d2lkdGg6YXV0b30udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cHtmbG9hdDpsZWZ0fS51aS1kYXRlcGlja2VyLW11bHRpIC51aS1kYXRlcGlja2VyLWdyb3VwIHRhYmxle3dpZHRoOjk1JTttYXJnaW46MCBhdXRvIC40ZW19LnVpLWRhdGVwaWNrZXItbXVsdGktMiAudWktZGF0ZXBpY2tlci1ncm91cHt3aWR0aDo1MCV9LnVpLWRhdGVwaWNrZXItbXVsdGktMyAudWktZGF0ZXBpY2tlci1ncm91cHt3aWR0aDozMy4zJX0udWktZGF0ZXBpY2tlci1tdWx0aS00IC51aS1kYXRlcGlja2VyLWdyb3Vwe3dpZHRoOjI1JX0udWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1sYXN0IC51aS1kYXRlcGlja2VyLWhlYWRlciwudWktZGF0ZXBpY2tlci1tdWx0aSAudWktZGF0ZXBpY2tlci1ncm91cC1taWRkbGUgLnVpLWRhdGVwaWNrZXItaGVhZGVye2JvcmRlci1sZWZ0LXdpZHRoOjB9LnVpLWRhdGVwaWNrZXItbXVsdGkgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZXtjbGVhcjpsZWZ0fS51aS1kYXRlcGlja2VyLXJvdy1icmVha3tjbGVhcjpib3RoO3dpZHRoOjEwMCU7Zm9udC1zaXplOjB9LnVpLWRhdGVwaWNrZXItcnRse2RpcmVjdGlvbjpydGx9LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLXByZXZ7cmlnaHQ6MnB4O2xlZnQ6YXV0b30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItbmV4dHtsZWZ0OjJweDtyaWdodDphdXRvfS51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1wcmV2OmhvdmVye3JpZ2h0OjFweDtsZWZ0OmF1dG99LnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLW5leHQ6aG92ZXJ7bGVmdDoxcHg7cmlnaHQ6YXV0b30udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZXtjbGVhcjpyaWdodH0udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b257ZmxvYXQ6bGVmdH0udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItYnV0dG9ucGFuZSBidXR0b24udWktZGF0ZXBpY2tlci1jdXJyZW50LC51aS1kYXRlcGlja2VyLXJ0bCAudWktZGF0ZXBpY2tlci1ncm91cHtmbG9hdDpyaWdodH0udWktZGF0ZXBpY2tlci1ydGwgLnVpLWRhdGVwaWNrZXItZ3JvdXAtbGFzdCAudWktZGF0ZXBpY2tlci1oZWFkZXIsLnVpLWRhdGVwaWNrZXItcnRsIC51aS1kYXRlcGlja2VyLWdyb3VwLW1pZGRsZSAudWktZGF0ZXBpY2tlci1oZWFkZXJ7Ym9yZGVyLXJpZ2h0LXdpZHRoOjA7Ym9yZGVyLWxlZnQtd2lkdGg6MXB4fS51aS1kaWFsb2d7b3ZlcmZsb3c6aGlkZGVuO3Bvc2l0aW9uOmFic29sdXRlO3RvcDowO2xlZnQ6MDtwYWRkaW5nOi4yZW07b3V0bGluZTowfS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZWJhcntwYWRkaW5nOi40ZW0gMWVtO3Bvc2l0aW9uOnJlbGF0aXZlfS51aS1kaWFsb2cgLnVpLWRpYWxvZy10aXRsZXtmbG9hdDpsZWZ0O21hcmdpbjouMWVtIDA7d2hpdGUtc3BhY2U6bm93cmFwO3dpZHRoOjkwJTtvdmVyZmxvdzpoaWRkZW47dGV4dC1vdmVyZmxvdzplbGxpcHNpc30udWktZGlhbG9nIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2V7cG9zaXRpb246YWJzb2x1dGU7cmlnaHQ6LjNlbTt0b3A6NTAlO3dpZHRoOjIwcHg7bWFyZ2luOi0xMHB4IDAgMCAwO3BhZGRpbmc6MXB4O2hlaWdodDoyMHB4fS51aS1kaWFsb2cgLnVpLWRpYWxvZy1jb250ZW50e3Bvc2l0aW9uOnJlbGF0aXZlO2JvcmRlcjowO3BhZGRpbmc6LjVlbSAxZW07YmFja2dyb3VuZDpub25lO292ZXJmbG93OmF1dG99LnVpLWRpYWxvZyAudWktZGlhbG9nLWJ1dHRvbnBhbmV7dGV4dC1hbGlnbjpsZWZ0O2JvcmRlci13aWR0aDoxcHggMCAwIDA7YmFja2dyb3VuZC1pbWFnZTpub25lO21hcmdpbi10b3A6LjVlbTtwYWRkaW5nOi4zZW0gMWVtIC41ZW0gLjRlbX0udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSAudWktZGlhbG9nLWJ1dHRvbnNldHtmbG9hdDpyaWdodH0udWktZGlhbG9nIC51aS1kaWFsb2ctYnV0dG9ucGFuZSBidXR0b257bWFyZ2luOi41ZW0gLjRlbSAuNWVtIDA7Y3Vyc29yOnBvaW50ZXJ9LnVpLWRpYWxvZyAudWktcmVzaXphYmxlLXNle3dpZHRoOjEycHg7aGVpZ2h0OjEycHg7cmlnaHQ6LTVweDtib3R0b206LTVweDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjE2cHggMTZweH0udWktZHJhZ2dhYmxlIC51aS1kaWFsb2ctdGl0bGViYXJ7Y3Vyc29yOm1vdmV9LnVpLW1lbnV7bGlzdC1zdHlsZTpub25lO3BhZGRpbmc6MDttYXJnaW46MDtkaXNwbGF5OmJsb2NrO291dGxpbmU6bm9uZX0udWktbWVudSAudWktbWVudXtwb3NpdGlvbjphYnNvbHV0ZX0udWktbWVudSAudWktbWVudS1pdGVte3Bvc2l0aW9uOnJlbGF0aXZlO21hcmdpbjowO3BhZGRpbmc6M3B4IDFlbSAzcHggLjRlbTtjdXJzb3I6cG9pbnRlcjttaW4taGVpZ2h0OjA7bGlzdC1zdHlsZS1pbWFnZTp1cmwoImRhdGE6aW1hZ2UvZ2lmO2Jhc2U2NCxSMGxHT0RsaEFRQUJBSUFBQUFBQUFQLy8veUg1QkFFQUFBQUFMQUFBQUFBQkFBRUFBQUlCUkFBNyIpfS51aS1tZW51IC51aS1tZW51LWRpdmlkZXJ7bWFyZ2luOjVweCAwO2hlaWdodDowO2ZvbnQtc2l6ZTowO2xpbmUtaGVpZ2h0OjA7Ym9yZGVyLXdpZHRoOjFweCAwIDAgMH0udWktbWVudSAudWktc3RhdGUtZm9jdXMsLnVpLW1lbnUgLnVpLXN0YXRlLWFjdGl2ZXttYXJnaW46LTFweH0udWktbWVudS1pY29uc3twb3NpdGlvbjpyZWxhdGl2ZX0udWktbWVudS1pY29ucyAudWktbWVudS1pdGVte3BhZGRpbmctbGVmdDoyZW19LnVpLW1lbnUgLnVpLWljb257cG9zaXRpb246YWJzb2x1dGU7dG9wOjA7Ym90dG9tOjA7bGVmdDouMmVtO21hcmdpbjphdXRvIDB9LnVpLW1lbnUgLnVpLW1lbnUtaWNvbntsZWZ0OmF1dG87cmlnaHQ6MH0udWktcHJvZ3Jlc3NiYXJ7aGVpZ2h0OjJlbTt0ZXh0LWFsaWduOmxlZnQ7b3ZlcmZsb3c6aGlkZGVufS51aS1wcm9ncmVzc2JhciAudWktcHJvZ3Jlc3NiYXItdmFsdWV7bWFyZ2luOi0xcHg7aGVpZ2h0OjEwMCV9LnVpLXByb2dyZXNzYmFyIC51aS1wcm9ncmVzc2Jhci1vdmVybGF5e2JhY2tncm91bmQ6dXJsKCJkYXRhOmltYWdlL2dpZjtiYXNlNjQsUjBsR09EbGhLQUFvQUlBQkFBQUFBUC8vL3lIL0MwNUZWRk5EUVZCRk1pNHdBd0VBQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2tZd05xWHJkQzUyRFMwNmE3TUZaSSs0RkhCQ0tvRGVXS1hxeW1QcUdxeHZKclhaYk14N1R0Yyt3OVhnVTJGQjNsT3lRUldFVDJJRkdpVTltMWZyRFZweFpaYzZiZkh3djRjMVlYUDZrMVZkeTI5MkZiNlVrdXZGdFhwdldTekErSHljWEpIVVhpR1lJaU1nMlI2VzQ1OWduV0dmSE5kaklxRFdWcWVtSDJla3BPYmtwT2xwcFdVcVppcXI2ZWRxcVdRQUFJZmtFQ1FFQUFRQXNBQUFBQUNnQUtBQUFBcFNNZ1puR2ZhcWNnMUUydXV6RG1tSFVCUjhRaWw5NWhpUEtxV24zYXF0THNTMTh5N0cxU3pOZW93V0JFTnRRZCtUMUprdFAwNW56UFRkSlpsUjZ2VXhOV1dqVit2VVdoV05rV0Z3eGw5VnBaUmVkWWNmbElPTGFmYWEyOFhkc0gveW5sY2MxdVBWRFp4UUlSMEsyNStjSUNDbW9xQ2U1bUdoWk9mZVlTVWg1eUpjSnlya1pXV3BhUjhkb0oybzROWXE2MmxBQUFDSDVCQWtCQUFFQUxBQUFBQUFvQUNnQUFBS1ZESTRZeTIyWm5JTlJOcW9zdzBCdjdpMWd5SFVrRmo3b1NhV2x1M292QzhHeE5zbzVmbHV6M3FMVmhCVmVUL0x6N1pUSHl4TDVkRGFsUVdQVk9zUVd0Um51d1hhRlRqOWpWVmg4cG1hOUpqWjR6WVNqNVpPeW1hN3V1b2xmZmgrSVI1YVc5N2NIdUJVWEtHS1hsS2puK0RpSFdNY1lKYWg0TjBsWUNNbEpPWGlwR1JyNXFkZ29TVHJxV1NxNldGbDJ5cG9hVUFBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwYUViNkhMZ2QvaU83Rk5XdGNGV2UrdWZPREdqUmZvaUoyYWtTaGJ1ZWIwd3RJNTB6bTAycGJ2d2ZXRU1XQlExektHbExJaHNraUVQbTlSNnZSWHhWNFp6V1QyeUhPR3BXTXlvcmJsS2xOcDhIbUhFYi9sQ1hqY1c3Ym10WFA4WHQyMjlPVldSMWZvZDJlV3FOZkh1TWpYQ1BrSUdOaWxlT2lJbVZtQ09FbW9TZm4zeVhsSldtb0hHaHFwNmlsWXVXWXBtVHFLVWdBQUlma0VDUUVBQVFBc0FBQUFBQ2dBS0FBQUFwaUVINmtiNThiaVEzRk5XdE1GV1czZU5WY29qdUZHZnFuWnFTZWJ1UzA2dzVWODAvWDAycEtlOHpGd1A2RUZXT1QxbERGazhyR0VSaDFUVE5Pb2NRNjFIbTRYbTJWZXhVSHB6anltVmlIckZiaUVMc2VmVnJuNlhLZm50MlE5Ry8rWGRpZTQ5OVhIZDJnNGg3aW9PR2hYR0pib0dBblhTQm5vQndLWXlmaW91YlpKMkhuMFJ1UlphZmxaT2lsNTZacDZpaW9LU1hwVUFBQWgrUVFKQVFBQkFDd0FBQUFBS0FBb0FBQUNrb1FScVJ2bnh1STdrVTFhMVVVNWJkNXRuU2VPWlhobW41bFdLM3FOVFd2UmRReFA4cXZhQysveWFZUXpYTzdCTXZhVUVtSlJkM1RzaU1BZ3N3bU5ZclNnWmRZclRYNnRTSEdaTzczZXp1QXcydXh1UStCYmVaZk14c2V4WTM1Ky9RZTRKMWluVjBnNHgzV0h1TWhJbDJqWE9LVDJRK1ZVNWZnb1NVSTUyVmZaeWZrSkdraGE2am1ZK2FhWWRpcnErbFFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLV0JJS3BZZTBMM1lOS1RvcXN3VWx2em5pZ2Q0d2lSNEtoWnJLdDlVcHFpcDYxaTlFM3ZNdnhSZEhsYkVGaUVYZms5WUFSWXhPWlpENlZRMnBVdW5CbXRSWG8xTGY4aE1WVmNObDhKYWZWMzhhTTIvRnU1VjE2Qm42M3I2eHQ5N2owOStNWFNGaTRCbmlHRmFlM2h6Ykg5K2hZQnprcHVVaDVhWm1IdWFuWk9aZ0l1dmJHaU5lb21DbmF4eGFwMnVwYUNac3ErMWtBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLWGpJOEJ5NXpmNGtPeFRWclhOVmx2MVgwZDhJR1pHS0xuTnBZdG04THI5Y3FWZXVPU3ZmT1c3OUQ5YURIaXpOaERKaWRGWmhOeWRFYWhPYURINm5vbXRKanAxdHV0S29OV2t2QTZKcWZSVkxIVS9RVWZhdTlsMng3RzU0ZDFmbDk5NXhjSUdBZFhxTWZCTmFkb1lyaEgrTWcyS0JscFZwYmx1Q2lYbU1uWjJTaDRHQnFKK2NrSU9xcUo2TG1LU2xsWm1zb3E2d3BRQUFBaCtRUUpBUUFCQUN3QUFBQUFLQUFvQUFBQ2xZeC9vTHZveHVKRGtVMWExWVVaYko1OW5TZDJaWGhXcWJSYTIvZ0Y4R3UyRFkzaXFzN3lycSt4QllFa1l2RlNNOGFTU09iRStaZ1JsMUJIRlpOcjdwUkNhdlo1QlcyMTQyaFkzQU4veld0c21mMTJwOVh4eEZsMmxwTG4xcnNlenRmWFpqZElXSWYyczVkSXR3allLQmdvOXlnNXBIZ3pKWFRFZUdsWnVlbnB5UG1wR1FvS09Xa1ltU3BhU25xS2lsZUkyRkFBQUNINUJBa0JBQUVBTEFBQUFBQW9BQ2dBQUFLVmpCK2d1K2pHNGtPUlRWclZoUmxzbm4yZEozWmxlRmFwdEZyYitDWG1POU9vemVMNVZmUDk5SHZBV2hwaVVkY3drcEJIMzgyNUF3WWRVOHhUcWxMR2h0Q29zQXJLTXB2ZmExbU1SYWU5VnZXWmZlQjJYZlBrZUxtbTE4bFVjQmorcDVkbk44alhaM1lJR0VoWXVPVW40NWFvQ0RrcDE2aGw1SWpZSnZqV0tjbm9HUXBxeVBscE9ocjNhRWxhcXJxNTZCcTdWQUFBT3c9PSIpO2hlaWdodDoxMDAlO2ZpbHRlcjphbHBoYShvcGFjaXR5PTI1KTtvcGFjaXR5OjAuMjV9LnVpLXByb2dyZXNzYmFyLWluZGV0ZXJtaW5hdGUgLnVpLXByb2dyZXNzYmFyLXZhbHVle2JhY2tncm91bmQtaW1hZ2U6bm9uZX0udWktc2VsZWN0bWVudS1tZW51e3BhZGRpbmc6MDttYXJnaW46MDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6MDtsZWZ0OjA7ZGlzcGxheTpub25lfS51aS1zZWxlY3RtZW51LW1lbnUgLnVpLW1lbnV7b3ZlcmZsb3c6YXV0bztvdmVyZmxvdy14OmhpZGRlbjtwYWRkaW5nLWJvdHRvbToxcHh9LnVpLXNlbGVjdG1lbnUtbWVudSAudWktbWVudSAudWktc2VsZWN0bWVudS1vcHRncm91cHtmb250LXNpemU6MWVtO2ZvbnQtd2VpZ2h0OmJvbGQ7bGluZS1oZWlnaHQ6MS41O3BhZGRpbmc6MnB4IDAuNGVtO21hcmdpbjowLjVlbSAwIDAgMDtoZWlnaHQ6YXV0bztib3JkZXI6MH0udWktc2VsZWN0bWVudS1vcGVue2Rpc3BsYXk6YmxvY2t9LnVpLXNlbGVjdG1lbnUtYnV0dG9ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtwb3NpdGlvbjpyZWxhdGl2ZTt0ZXh0LWRlY29yYXRpb246bm9uZTtjdXJzb3I6cG9pbnRlcn0udWktc2VsZWN0bWVudS1idXR0b24gc3Bhbi51aS1pY29ue3JpZ2h0OjAuNWVtO2xlZnQ6YXV0bzttYXJnaW4tdG9wOi04cHg7cG9zaXRpb246YWJzb2x1dGU7dG9wOjUwJX0udWktc2VsZWN0bWVudS1idXR0b24gc3Bhbi51aS1zZWxlY3RtZW51LXRleHR7dGV4dC1hbGlnbjpsZWZ0O3BhZGRpbmc6MC40ZW0gMi4xZW0gMC40ZW0gMWVtO2Rpc3BsYXk6YmxvY2s7bGluZS1oZWlnaHQ6MS40O292ZXJmbG93OmhpZGRlbjt0ZXh0LW92ZXJmbG93OmVsbGlwc2lzO3doaXRlLXNwYWNlOm5vd3JhcH0udWktc2xpZGVye3Bvc2l0aW9uOnJlbGF0aXZlO3RleHQtYWxpZ246bGVmdH0udWktc2xpZGVyIC51aS1zbGlkZXItaGFuZGxle3Bvc2l0aW9uOmFic29sdXRlO3otaW5kZXg6Mjt3aWR0aDoxLjJlbTtoZWlnaHQ6MS4yZW07Y3Vyc29yOmRlZmF1bHQ7LW1zLXRvdWNoLWFjdGlvbjpub25lO3RvdWNoLWFjdGlvbjpub25lfS51aS1zbGlkZXIgLnVpLXNsaWRlci1yYW5nZXtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4OjE7Zm9udC1zaXplOi43ZW07ZGlzcGxheTpibG9jaztib3JkZXI6MDtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgMH0udWktc2xpZGVyLnVpLXN0YXRlLWRpc2FibGVkIC51aS1zbGlkZXItaGFuZGxlLC51aS1zbGlkZXIudWktc3RhdGUtZGlzYWJsZWQgLnVpLXNsaWRlci1yYW5nZXtmaWx0ZXI6aW5oZXJpdH0udWktc2xpZGVyLWhvcml6b250YWx7aGVpZ2h0Oi44ZW19LnVpLXNsaWRlci1ob3Jpem9udGFsIC51aS1zbGlkZXItaGFuZGxle3RvcDotLjNlbTttYXJnaW4tbGVmdDotLjZlbX0udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZXt0b3A6MDtoZWlnaHQ6MTAwJX0udWktc2xpZGVyLWhvcml6b250YWwgLnVpLXNsaWRlci1yYW5nZS1taW57bGVmdDowfS51aS1zbGlkZXItaG9yaXpvbnRhbCAudWktc2xpZGVyLXJhbmdlLW1heHtyaWdodDowfS51aS1zbGlkZXItdmVydGljYWx7d2lkdGg6LjhlbTtoZWlnaHQ6MTAwcHh9LnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLWhhbmRsZXtsZWZ0Oi0uM2VtO21hcmdpbi1sZWZ0OjA7bWFyZ2luLWJvdHRvbTotLjZlbX0udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2V7bGVmdDowO3dpZHRoOjEwMCV9LnVpLXNsaWRlci12ZXJ0aWNhbCAudWktc2xpZGVyLXJhbmdlLW1pbntib3R0b206MH0udWktc2xpZGVyLXZlcnRpY2FsIC51aS1zbGlkZXItcmFuZ2UtbWF4e3RvcDowfS51aS1zcGlubmVye3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6aW5saW5lLWJsb2NrO292ZXJmbG93OmhpZGRlbjtwYWRkaW5nOjA7dmVydGljYWwtYWxpZ246bWlkZGxlfS51aS1zcGlubmVyLWlucHV0e2JvcmRlcjpub25lO2JhY2tncm91bmQ6bm9uZTtjb2xvcjppbmhlcml0O3BhZGRpbmc6MDttYXJnaW46LjJlbSAwO3ZlcnRpY2FsLWFsaWduOm1pZGRsZTttYXJnaW4tbGVmdDouNGVtO21hcmdpbi1yaWdodDoyMnB4fS51aS1zcGlubmVyLWJ1dHRvbnt3aWR0aDoxNnB4O2hlaWdodDo1MCU7Zm9udC1zaXplOi41ZW07cGFkZGluZzowO21hcmdpbjowO3RleHQtYWxpZ246Y2VudGVyO3Bvc2l0aW9uOmFic29sdXRlO2N1cnNvcjpkZWZhdWx0O2Rpc3BsYXk6YmxvY2s7b3ZlcmZsb3c6aGlkZGVuO3JpZ2h0OjB9LnVpLXNwaW5uZXIgYS51aS1zcGlubmVyLWJ1dHRvbntib3JkZXItdG9wOm5vbmU7Ym9yZGVyLWJvdHRvbTpub25lO2JvcmRlci1yaWdodDpub25lfS51aS1zcGlubmVyIC51aS1pY29ue3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbi10b3A6LThweDt0b3A6NTAlO2xlZnQ6MH0udWktc3Bpbm5lci11cHt0b3A6MH0udWktc3Bpbm5lci1kb3due2JvdHRvbTowfS51aS1zcGlubmVyIC51aS1pY29uLXRyaWFuZ2xlLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NXB4IC0xNnB4fS51aS10YWJze3Bvc2l0aW9uOnJlbGF0aXZlO3BhZGRpbmc6LjJlbX0udWktdGFicyAudWktdGFicy1uYXZ7bWFyZ2luOjA7cGFkZGluZzouMmVtIC4yZW0gMH0udWktdGFicyAudWktdGFicy1uYXYgbGl7bGlzdC1zdHlsZTpub25lO2Zsb2F0OmxlZnQ7cG9zaXRpb246cmVsYXRpdmU7dG9wOjA7bWFyZ2luOjFweCAuMmVtIDAgMDtib3JkZXItYm90dG9tLXdpZHRoOjA7cGFkZGluZzowO3doaXRlLXNwYWNlOm5vd3JhcH0udWktdGFicyAudWktdGFicy1uYXYgLnVpLXRhYnMtYW5jaG9ye2Zsb2F0OmxlZnQ7cGFkZGluZzouNWVtIDFlbTt0ZXh0LWRlY29yYXRpb246bm9uZX0udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmV7bWFyZ2luLWJvdHRvbTotMXB4O3BhZGRpbmctYm90dG9tOjFweH0udWktdGFicyAudWktdGFicy1uYXYgbGkudWktdGFicy1hY3RpdmUgLnVpLXRhYnMtYW5jaG9yLC51aS10YWJzIC51aS10YWJzLW5hdiBsaS51aS1zdGF0ZS1kaXNhYmxlZCAudWktdGFicy1hbmNob3IsLnVpLXRhYnMgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtbG9hZGluZyAudWktdGFicy1hbmNob3J7Y3Vyc29yOnRleHR9LnVpLXRhYnMtY29sbGFwc2libGUgLnVpLXRhYnMtbmF2IGxpLnVpLXRhYnMtYWN0aXZlIC51aS10YWJzLWFuY2hvcntjdXJzb3I6cG9pbnRlcn0udWktdGFicyAudWktdGFicy1wYW5lbHtkaXNwbGF5OmJsb2NrO2JvcmRlci13aWR0aDowO3BhZGRpbmc6MWVtIDEuNGVtO2JhY2tncm91bmQ6bm9uZX0udWktdG9vbHRpcHtwYWRkaW5nOjhweDtwb3NpdGlvbjphYnNvbHV0ZTt6LWluZGV4Ojk5OTk7bWF4LXdpZHRoOjMwMHB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDAgNXB4ICNhYWE7Ym94LXNoYWRvdzowIDAgNXB4ICNhYWF9Ym9keSAudWktdG9vbHRpcHtib3JkZXItd2lkdGg6MnB4fS51aS13aWRnZXR7Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbX0udWktd2lkZ2V0IC51aS13aWRnZXR7Zm9udC1zaXplOjFlbX0udWktd2lkZ2V0IGlucHV0LC51aS13aWRnZXQgc2VsZWN0LC51aS13aWRnZXQgdGV4dGFyZWEsLnVpLXdpZGdldCBidXR0b257Zm9udC1mYW1pbHk6QXJpYWwsSGVsdmV0aWNhLHNhbnMtc2VyaWY7Zm9udC1zaXplOjFlbX0udWktd2lkZ2V0LWNvbnRlbnR7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JhY2tncm91bmQ6I2ZmZjtjb2xvcjojMzMzfS51aS13aWRnZXQtY29udGVudCBhe2NvbG9yOiMzMzN9LnVpLXdpZGdldC1oZWFkZXJ7Ym9yZGVyOjFweCBzb2xpZCAjZGRkO2JhY2tncm91bmQ6I2U5ZTllOTtjb2xvcjojMzMzO2ZvbnQtd2VpZ2h0OmJvbGR9LnVpLXdpZGdldC1oZWFkZXIgYXtjb2xvcjojMzMzfS51aS1zdGF0ZS1kZWZhdWx0LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGVmYXVsdCwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZGVmYXVsdHtib3JkZXI6MXB4IHNvbGlkICNjNWM1YzU7YmFja2dyb3VuZDojZjZmNmY2O2ZvbnQtd2VpZ2h0Om5vcm1hbDtjb2xvcjojNDU0NTQ1fS51aS1zdGF0ZS1kZWZhdWx0IGEsLnVpLXN0YXRlLWRlZmF1bHQgYTpsaW5rLC51aS1zdGF0ZS1kZWZhdWx0IGE6dmlzaXRlZHtjb2xvcjojNDU0NTQ1O3RleHQtZGVjb3JhdGlvbjpub25lfS51aS1zdGF0ZS1ob3ZlciwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhvdmVyLC51aS13aWRnZXQtaGVhZGVyIC51aS1zdGF0ZS1ob3ZlciwudWktc3RhdGUtZm9jdXMsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1mb2N1cywudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZm9jdXN7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JhY2tncm91bmQ6I2VkZWRlZDtmb250LXdlaWdodDpub3JtYWw7Y29sb3I6IzJiMmIyYn0udWktc3RhdGUtaG92ZXIgYSwudWktc3RhdGUtaG92ZXIgYTpob3ZlciwudWktc3RhdGUtaG92ZXIgYTpsaW5rLC51aS1zdGF0ZS1ob3ZlciBhOnZpc2l0ZWQsLnVpLXN0YXRlLWZvY3VzIGEsLnVpLXN0YXRlLWZvY3VzIGE6aG92ZXIsLnVpLXN0YXRlLWZvY3VzIGE6bGluaywudWktc3RhdGUtZm9jdXMgYTp2aXNpdGVke2NvbG9yOiMyYjJiMmI7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnVpLXN0YXRlLWFjdGl2ZSwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWFjdGl2ZSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtYWN0aXZle2JvcmRlcjoxcHggc29saWQgIzAwM2VmZjtiYWNrZ3JvdW5kOiMwMDdmZmY7Zm9udC13ZWlnaHQ6bm9ybWFsO2NvbG9yOiNmZmZ9LnVpLXN0YXRlLWFjdGl2ZSBhLC51aS1zdGF0ZS1hY3RpdmUgYTpsaW5rLC51aS1zdGF0ZS1hY3RpdmUgYTp2aXNpdGVke2NvbG9yOiNmZmY7dGV4dC1kZWNvcmF0aW9uOm5vbmV9LnVpLXN0YXRlLWhpZ2hsaWdodCwudWktd2lkZ2V0LWNvbnRlbnQgLnVpLXN0YXRlLWhpZ2hsaWdodCwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0e2JvcmRlcjoxcHggc29saWQgI2RhZDU1ZTtiYWNrZ3JvdW5kOiNmZmZhOTA7Y29sb3I6Izc3NzYyMH0udWktc3RhdGUtaGlnaGxpZ2h0IGEsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1oaWdobGlnaHQgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtaGlnaGxpZ2h0IGF7Y29sb3I6Izc3NzYyMH0udWktc3RhdGUtZXJyb3IsLnVpLXdpZGdldC1jb250ZW50IC51aS1zdGF0ZS1lcnJvciwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3J7Ym9yZGVyOjFweCBzb2xpZCAjZjFhODk5O2JhY2tncm91bmQ6I2ZkZGZkZjtjb2xvcjojNWYzZjNmfS51aS1zdGF0ZS1lcnJvciBhLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3IgYSwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3IgYXtjb2xvcjojNWYzZjNmfS51aS1zdGF0ZS1lcnJvci10ZXh0LC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZXJyb3ItdGV4dCwudWktd2lkZ2V0LWhlYWRlciAudWktc3RhdGUtZXJyb3ItdGV4dHtjb2xvcjojNWYzZjNmfS51aS1wcmlvcml0eS1wcmltYXJ5LC51aS13aWRnZXQtY29udGVudCAudWktcHJpb3JpdHktcHJpbWFyeSwudWktd2lkZ2V0LWhlYWRlciAudWktcHJpb3JpdHktcHJpbWFyeXtmb250LXdlaWdodDpib2xkfS51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1jb250ZW50IC51aS1wcmlvcml0eS1zZWNvbmRhcnksLnVpLXdpZGdldC1oZWFkZXIgLnVpLXByaW9yaXR5LXNlY29uZGFyeXtvcGFjaXR5Oi43O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTcwKTtmb250LXdlaWdodDpub3JtYWx9LnVpLXN0YXRlLWRpc2FibGVkLC51aS13aWRnZXQtY29udGVudCAudWktc3RhdGUtZGlzYWJsZWQsLnVpLXdpZGdldC1oZWFkZXIgLnVpLXN0YXRlLWRpc2FibGVke29wYWNpdHk6LjM1O2ZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KTtiYWNrZ3JvdW5kLWltYWdlOm5vbmV9LnVpLXN0YXRlLWRpc2FibGVkIC51aS1pY29ue2ZpbHRlcjpBbHBoYShPcGFjaXR5PTM1KX0udWktaWNvbnt3aWR0aDoxNnB4O2hlaWdodDoxNnB4fS51aS1pY29uLC51aS13aWRnZXQtY29udGVudCAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiaW1hZ2VzL3VpLWljb25zXzQ0NDQ0NF8yNTZ4MjQwLnBuZyIpfS51aS13aWRnZXQtaGVhZGVyIC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJpbWFnZXMvdWktaWNvbnNfNDQ0NDQ0XzI1NngyNDAucG5nIil9LnVpLXN0YXRlLWRlZmF1bHQgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImltYWdlcy91aS1pY29uc183Nzc3NzdfMjU2eDI0MC5wbmciKX0udWktc3RhdGUtaG92ZXIgLnVpLWljb24sLnVpLXN0YXRlLWZvY3VzIC51aS1pY29ue2JhY2tncm91bmQtaW1hZ2U6dXJsKCJpbWFnZXMvdWktaWNvbnNfNTU1NTU1XzI1NngyNDAucG5nIil9LnVpLXN0YXRlLWFjdGl2ZSAudWktaWNvbntiYWNrZ3JvdW5kLWltYWdlOnVybCgiaW1hZ2VzL3VpLWljb25zX2ZmZmZmZl8yNTZ4MjQwLnBuZyIpfS51aS1zdGF0ZS1oaWdobGlnaHQgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImltYWdlcy91aS1pY29uc183Nzc2MjBfMjU2eDI0MC5wbmciKX0udWktc3RhdGUtZXJyb3IgLnVpLWljb24sLnVpLXN0YXRlLWVycm9yLXRleHQgLnVpLWljb257YmFja2dyb3VuZC1pbWFnZTp1cmwoImltYWdlcy91aS1pY29uc19jYzAwMDBfMjU2eDI0MC5wbmciKX0udWktaWNvbi1ibGFua3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjE2cHggMTZweH0udWktaWNvbi1jYXJhdC0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIDB9LnVpLWljb24tY2FyYXQtMS1uZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IDB9LnVpLWljb24tY2FyYXQtMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggMH0udWktaWNvbi1jYXJhdC0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggMH0udWktaWNvbi1jYXJhdC0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAwfS51aS1pY29uLWNhcmF0LTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAwfS51aS1pY29uLWNhcmF0LTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IDB9LnVpLWljb24tY2FyYXQtMS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAwfS51aS1pY29uLWNhcmF0LTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IDB9LnVpLWljb24tY2FyYXQtMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggMH0udWktaWNvbi10cmlhbmdsZS0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNnB4fS51aS1pY29uLXRyaWFuZ2xlLTEtbmV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTZweH0udWktaWNvbi10cmlhbmdsZS0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTZweH0udWktaWNvbi10cmlhbmdsZS0xLXNle2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMS1zd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNnB4fS51aS1pY29uLXRyaWFuZ2xlLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xNnB4fS51aS1pY29uLXRyaWFuZ2xlLTEtbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMi1uLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE2cHh9LnVpLWljb24tdHJpYW5nbGUtMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTE2cHh9LnVpLWljb24tYXJyb3ctMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAtMzJweH0udWktaWNvbi1hcnJvdy0xLW5le2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTMycHh9LnVpLWljb24tYXJyb3ctMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTMycHh9LnVpLWljb24tYXJyb3ctMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0zMnB4fS51aS1pY29uLWFycm93LTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0zMnB4fS51aS1pY29uLWFycm93LTEtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMzJweH0udWktaWNvbi1hcnJvdy0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMzJweH0udWktaWNvbi1hcnJvdy0xLW53e2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC0zMnB4fS51aS1pY29uLWFycm93LTItbi1ze2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0zMnB4fS51aS1pY29uLWFycm93LTItbmUtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTMycHh9LnVpLWljb24tYXJyb3ctMi1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTMycHh9LnVpLWljb24tYXJyb3ctMi1zZS1ud3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMzJweH0udWktaWNvbi1hcnJvd3N0b3AtMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0zMnB4fS51aS1pY29uLWFycm93c3RvcC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMjA4cHggLTMycHh9LnVpLWljb24tYXJyb3dzdG9wLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtMzJweH0udWktaWNvbi1hcnJvd3N0b3AtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC0zMnB4fS51aS1pY29uLWFycm93dGhpY2stMS1ue2JhY2tncm91bmQtcG9zaXRpb246MCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTEtbmV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTEtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2stMS1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2stMS1ze2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGljay0xLXN3e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGljay0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTEtbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGljay0yLW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTItbmUtc3d7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGljay0yLWUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrLTItc2Utbnd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTc2cHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC00OHB4fS51aS1pY29uLWFycm93dGhpY2tzdG9wLTEtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtNDhweH0udWktaWNvbi1hcnJvd3RoaWNrc3RvcC0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMjI0cHggLTQ4cHh9LnVpLWljb24tYXJyb3d0aGlja3N0b3AtMS13e2JhY2tncm91bmQtcG9zaXRpb246LTI0MHB4IC00OHB4fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS13e2JhY2tncm91bmQtcG9zaXRpb246MCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybnRoaWNrLTEtbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC02NHB4fS51aS1pY29uLWFycm93cmV0dXJudGhpY2stMS1le2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTY0cHh9LnVpLWljb24tYXJyb3dyZXR1cm50aGljay0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybi0xLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybi0xLW57YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybi0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtNjRweH0udWktaWNvbi1hcnJvd3JldHVybi0xLXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTY0cHh9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMjhweCAtNjRweH0udWktaWNvbi1hcnJvd3JlZnJlc2gtMS1ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC02NHB4fS51aS1pY29uLWFycm93cmVmcmVzaC0xLWV7YmFja2dyb3VuZC1wb3NpdGlvbjotMTYwcHggLTY0cHh9LnVpLWljb24tYXJyb3dyZWZyZXNoLTEtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtNjRweH0udWktaWNvbi1hcnJvdy00e2JhY2tncm91bmQtcG9zaXRpb246MCAtODBweH0udWktaWNvbi1hcnJvdy00LWRpYWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtODBweH0udWktaWNvbi1leHRsaW5re2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTgwcHh9LnVpLWljb24tbmV3d2lue2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTgwcHh9LnVpLWljb24tcmVmcmVzaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC04MHB4fS51aS1pY29uLXNodWZmbGV7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtODBweH0udWktaWNvbi10cmFuc2Zlci1lLXd7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtODBweH0udWktaWNvbi10cmFuc2ZlcnRoaWNrLWUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtODBweH0udWktaWNvbi1mb2xkZXItY29sbGFwc2Vke2JhY2tncm91bmQtcG9zaXRpb246MCAtOTZweH0udWktaWNvbi1mb2xkZXItb3BlbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC05NnB4fS51aS1pY29uLWRvY3VtZW50e2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTk2cHh9LnVpLWljb24tZG9jdW1lbnQtYntiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC05NnB4fS51aS1pY29uLW5vdGV7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtOTZweH0udWktaWNvbi1tYWlsLWNsb3NlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC05NnB4fS51aS1pY29uLW1haWwtb3BlbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC05NnB4fS51aS1pY29uLXN1aXRjYXNle2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC05NnB4fS51aS1pY29uLWNvbW1lbnR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTk2cHh9LnVpLWljb24tcGVyc29ue2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC05NnB4fS51aS1pY29uLXByaW50e2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC05NnB4fS51aS1pY29uLXRyYXNoe2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC05NnB4fS51aS1pY29uLWxvY2tlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xOTJweCAtOTZweH0udWktaWNvbi11bmxvY2tlZHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtOTZweH0udWktaWNvbi1ib29rbWFya3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtOTZweH0udWktaWNvbi10YWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMjQwcHggLTk2cHh9LnVpLWljb24taG9tZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTExMnB4fS51aS1pY29uLWZsYWd7YmFja2dyb3VuZC1wb3NpdGlvbjotMTZweCAtMTEycHh9LnVpLWljb24tY2FsZW5kYXJ7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTEycHh9LnVpLWljb24tY2FydHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xMTJweH0udWktaWNvbi1wZW5jaWx7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTEycHh9LnVpLWljb24tY2xvY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTEycHh9LnVpLWljb24tZGlza3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xMTJweH0udWktaWNvbi1jYWxjdWxhdG9ye2JhY2tncm91bmQtcG9zaXRpb246LTExMnB4IC0xMTJweH0udWktaWNvbi16b29taW57YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTExMnB4fS51aS1pY29uLXpvb21vdXR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTQ0cHggLTExMnB4fS51aS1pY29uLXNlYXJjaHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtMTEycHh9LnVpLWljb24td3JlbmNoe2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC0xMTJweH0udWktaWNvbi1nZWFye2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0xMTJweH0udWktaWNvbi1oZWFydHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTEycHh9LnVpLWljb24tc3RhcntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMjRweCAtMTEycHh9LnVpLWljb24tbGlua3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAtMTEycHh9LnVpLWljb24tY2FuY2Vse2JhY2tncm91bmQtcG9zaXRpb246MCAtMTI4cHh9LnVpLWljb24tcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xMjhweH0udWktaWNvbi1wbHVzdGhpY2t7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTI4cHh9LnVpLWljb24tbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTI4cHh9LnVpLWljb24tbWludXN0aGlja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xMjhweH0udWktaWNvbi1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xMjhweH0udWktaWNvbi1jbG9zZXRoaWNre2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTEyOHB4fS51aS1pY29uLWtleXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTI4cHh9LnVpLWljb24tbGlnaHRidWxie2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0xMjhweH0udWktaWNvbi1zY2lzc29yc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTI4cHh9LnVpLWljb24tY2xpcGJvYXJke2JhY2tncm91bmQtcG9zaXRpb246LTE2MHB4IC0xMjhweH0udWktaWNvbi1jb3B5e2JhY2tncm91bmQtcG9zaXRpb246LTE3NnB4IC0xMjhweH0udWktaWNvbi1jb250YWN0e2JhY2tncm91bmQtcG9zaXRpb246LTE5MnB4IC0xMjhweH0udWktaWNvbi1pbWFnZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTI4cHh9LnVpLWljb24tdmlkZW97YmFja2dyb3VuZC1wb3NpdGlvbjotMjI0cHggLTEyOHB4fS51aS1pY29uLXNjcmlwdHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yNDBweCAtMTI4cHh9LnVpLWljb24tYWxlcnR7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNDRweH0udWktaWNvbi1pbmZve2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTE0NHB4fS51aS1pY29uLW5vdGljZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNDRweH0udWktaWNvbi1oZWxwe2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE0NHB4fS51aS1pY29uLWNoZWNre2JhY2tncm91bmQtcG9zaXRpb246LTY0cHggLTE0NHB4fS51aS1pY29uLWJ1bGxldHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNDRweH0udWktaWNvbi1yYWRpby1vbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xNDRweH0udWktaWNvbi1yYWRpby1vZmZ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTE0NHB4fS51aS1pY29uLXBpbi13e2JhY2tncm91bmQtcG9zaXRpb246LTEyOHB4IC0xNDRweH0udWktaWNvbi1waW4tc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTQ0cHh9LnVpLWljb24tcGxheXtiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTE2MHB4fS51aS1pY29uLXBhdXNle2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTE2MHB4fS51aS1pY29uLXNlZWstbmV4dHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xNjBweH0udWktaWNvbi1zZWVrLXByZXZ7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMTYwcHh9LnVpLWljb24tc2Vlay1lbmR7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMTYwcHh9LnVpLWljb24tc2Vlay1zdGFydHtiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xNjBweH0udWktaWNvbi1zZWVrLWZpcnN0e2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTE2MHB4fS51aS1pY29uLXN0b3B7YmFja2dyb3VuZC1wb3NpdGlvbjotOTZweCAtMTYwcHh9LnVpLWljb24tZWplY3R7YmFja2dyb3VuZC1wb3NpdGlvbjotMTEycHggLTE2MHB4fS51aS1pY29uLXZvbHVtZS1vZmZ7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE2MHB4fS51aS1pY29uLXZvbHVtZS1vbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNDRweCAtMTYwcHh9LnVpLWljb24tcG93ZXJ7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0xNzZweH0udWktaWNvbi1zaWduYWwtZGlhZ3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNnB4IC0xNzZweH0udWktaWNvbi1zaWduYWx7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMTc2cHh9LnVpLWljb24tYmF0dGVyeS0we2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTE3NnB4fS51aS1pY29uLWJhdHRlcnktMXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xNzZweH0udWktaWNvbi1iYXR0ZXJ5LTJ7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMTc2cHh9LnVpLWljb24tYmF0dGVyeS0ze2JhY2tncm91bmQtcG9zaXRpb246LTk2cHggLTE3NnB4fS51aS1pY29uLWNpcmNsZS1wbHVze2JhY2tncm91bmQtcG9zaXRpb246MCAtMTkycHh9LnVpLWljb24tY2lyY2xlLW1pbnVze2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS1jbG9zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0zMnB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi00OHB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtc3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtd3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi04MHB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtdHJpYW5nbGUtbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi05NnB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtYXJyb3ctZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xMTJweCAtMTkycHh9LnVpLWljb24tY2lyY2xlLWFycm93LXN7YmFja2dyb3VuZC1wb3NpdGlvbjotMTI4cHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS1hcnJvdy13e2JhY2tncm91bmQtcG9zaXRpb246LTE0NHB4IC0xOTJweH0udWktaWNvbi1jaXJjbGUtYXJyb3ctbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNjBweCAtMTkycHh9LnVpLWljb24tY2lyY2xlLXpvb21pbntiYWNrZ3JvdW5kLXBvc2l0aW9uOi0xNzZweCAtMTkycHh9LnVpLWljb24tY2lyY2xlLXpvb21vdXR7YmFja2dyb3VuZC1wb3NpdGlvbjotMTkycHggLTE5MnB4fS51aS1pY29uLWNpcmNsZS1jaGVja3tiYWNrZ3JvdW5kLXBvc2l0aW9uOi0yMDhweCAtMTkycHh9LnVpLWljb24tY2lyY2xlc21hbGwtcGx1c3tiYWNrZ3JvdW5kLXBvc2l0aW9uOjAgLTIwOHB4fS51aS1pY29uLWNpcmNsZXNtYWxsLW1pbnVze2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTIwOHB4fS51aS1pY29uLWNpcmNsZXNtYWxsLWNsb3Nle2JhY2tncm91bmQtcG9zaXRpb246LTMycHggLTIwOHB4fS51aS1pY29uLXNxdWFyZXNtYWxsLXBsdXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNDhweCAtMjA4cHh9LnVpLWljb24tc3F1YXJlc21hbGwtbWludXN7YmFja2dyb3VuZC1wb3NpdGlvbjotNjRweCAtMjA4cHh9LnVpLWljb24tc3F1YXJlc21hbGwtY2xvc2V7YmFja2dyb3VuZC1wb3NpdGlvbjotODBweCAtMjA4cHh9LnVpLWljb24tZ3JpcC1kb3R0ZWQtdmVydGljYWx7YmFja2dyb3VuZC1wb3NpdGlvbjowIC0yMjRweH0udWktaWNvbi1ncmlwLWRvdHRlZC1ob3Jpem9udGFse2JhY2tncm91bmQtcG9zaXRpb246LTE2cHggLTIyNHB4fS51aS1pY29uLWdyaXAtc29saWQtdmVydGljYWx7YmFja2dyb3VuZC1wb3NpdGlvbjotMzJweCAtMjI0cHh9LnVpLWljb24tZ3JpcC1zb2xpZC1ob3Jpem9udGFse2JhY2tncm91bmQtcG9zaXRpb246LTQ4cHggLTIyNHB4fS51aS1pY29uLWdyaXBzbWFsbC1kaWFnb25hbC1zZXtiYWNrZ3JvdW5kLXBvc2l0aW9uOi02NHB4IC0yMjRweH0udWktaWNvbi1ncmlwLWRpYWdvbmFsLXNle2JhY2tncm91bmQtcG9zaXRpb246LTgwcHggLTIyNHB4fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItdG9wLC51aS1jb3JuZXItbGVmdCwudWktY29ybmVyLXRse2JvcmRlci10b3AtbGVmdC1yYWRpdXM6M3B4fS51aS1jb3JuZXItYWxsLC51aS1jb3JuZXItdG9wLC51aS1jb3JuZXItcmlnaHQsLnVpLWNvcm5lci10cntib3JkZXItdG9wLXJpZ2h0LXJhZGl1czozcHh9LnVpLWNvcm5lci1hbGwsLnVpLWNvcm5lci1ib3R0b20sLnVpLWNvcm5lci1sZWZ0LC51aS1jb3JuZXItYmx7Ym9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czozcHh9LnVpLWNvcm5lci1hbGwsLnVpLWNvcm5lci1ib3R0b20sLnVpLWNvcm5lci1yaWdodCwudWktY29ybmVyLWJye2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjNweH0udWktd2lkZ2V0LW92ZXJsYXl7YmFja2dyb3VuZDojYWFhO29wYWNpdHk6LjM7ZmlsdGVyOkFscGhhKE9wYWNpdHk9MzApfS51aS13aWRnZXQtc2hhZG93e21hcmdpbjowIDAgMCAwO3BhZGRpbmc6NXB4O2JhY2tncm91bmQ6IzY2NjtvcGFjaXR5Oi4zO2ZpbHRlcjpBbHBoYShPcGFjaXR5PTMwKTtib3JkZXItcmFkaXVzOjhweH0="}},"time_used":267,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":167,"receive":100,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/menuzord-megamenu.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.585Z","timestamp":1785133989585,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/menuzord-megamenu.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2296\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":11843,"size_decoded":2526,"mime_type":"text/css","magic":"ASCII text, with very long lines (11624)","md5":"0e3720a1c9ffc470a819dd9858e979fc","sha1":"1300050e9d7ab2d8fdb9bc8da3da6f6e8ba4b83e","sha256":"03385e8e4e1a6f7a05c16f5e5a1bc0467a8cbfd955fac03dbb80829afce39fad","sha512":"42523b5bc51abfc0adcea914c0d08fa46bc26e34a682c2340e1b74a419ffb0518425c32c95966792bba1501a786f27925791362d5624459a99c6dde722cced29","ssdeep":"192:y/TvbH7o4Z851cII+sn6NA7ul/RyQdkb+sZ7GnfEcDMsdct9U6HFvf4tEhCKabUs:WTG51cII+sn6NA7ul/kQdk6stGnfEcDt","tlshash":"28320e84fdd5603c55eed2859493abf043374379fb0dd4a069d340aeae8972168e3f8a","first_seen":"2023-06-16T06:27:18Z","last_seen":"2026-07-27T14:34:25.265982Z","times_seen":83,"resource_available":false,"data":"LyoKICogCU1lbnV6b3JkLVJlc3BvbnNpdmUtTWVnYW1lbnUKICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKi8KLypJdGVtIG5hbWU6IE1lbnV6b3JkIC0gUmVzcG9uc2l2ZSAKTWVnYW1lbnVBdXRob3I6IG1hcmNvYXJpYiAtIG1hcmNvLmFyaWJAZ21haWwuY29tCkxpY2Vuc2U6IGh0dHA6Ly9jb2RlY2FueW9uLm5ldC9saWNlbnNlcwoqLwoubWVudXpvcmQsLm1lbnV6b3JkICp7Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO2JveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDsgLXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7fS5tZW51em9yZHt3aWR0aDogMTAwJTtwYWRkaW5nOiAwIDMwcHg7ZmxvYXQ6IGxlZnQ7cG9zaXRpb246IHJlbGF0aXZlO2JhY2tncm91bmQ6ICNmZmY7fS5tZW51em9yZCBhey1vLXRyYW5zaXRpb246IGNvbG9yIC4zcyBsaW5lYXIsIGJhY2tncm91bmQgLjNzIGxpbmVhcjstbW96LXRyYW5zaXRpb246IGNvbG9yIC4zcyBsaW5lYXIsIGJhY2tncm91bmQgLjNzIGxpbmVhcjstd2Via2l0LXRyYW5zaXRpb246IGNvbG9yIC4zcyBsaW5lYXIsIGJhY2tncm91bmQgLjNzIGxpbmVhcjt0cmFuc2l0aW9uOiBjb2xvciAuM3MgbGluZWFyLCBiYWNrZ3JvdW5kIC4zcyBsaW5lYXI7fS8qIHNjcm9sbGFibGUgbWVudSAqLy5tZW51em9yZC1tZW51LnNjcm9sbGFibGUgPiAuc2Nyb2xsYWJsZS1maXh7ZGlzcGxheTogbm9uZTt9LyogMiAtIEJSQU5EPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLy5tZW51em9yZC1icmFuZHttYXJnaW46IDE4cHggMzBweCAwIDA7ZmxvYXQ6IGxlZnQ7Y29sb3I6ICM2NjY7dGV4dC1kZWNvcmF0aW9uOiBub25lO2ZvbnQtc2l6ZTogMjRweDtmb250LXdlaWdodDogNjAwO2xpbmUtaGVpZ2h0OiAxLjM7Y3Vyc29yOiBwb2ludGVyO30vKiAzIC0gTUVOVT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8ubWVudXpvcmQtbWVudXttYXJnaW46IDA7cGFkZGluZzogMDtsaXN0LXN0eWxlOiBub25lO30vKiBSaWdodCBhbGlnbm1lbnQgKi8ubWVudXpvcmQtbWVudS5tZW51em9yZC1yaWdodHtmbG9hdDogcmlnaHQ7fS8qIE1lbnUgaXRlbXMgKi8ubWVudXpvcmQtbWVudSA+IGxpe2Rpc3BsYXk6IGlubGluZS1ibG9jaztmbG9hdDogbGVmdDt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IGF7cGFkZGluZzogMjZweCAxNnB4O2Rpc3BsYXk6IGlubGluZS1ibG9jazt0ZXh0LWRlY29yYXRpb246IG5vbmU7Zm9udC1zaXplOiAxNHB4O2ZvbnQtd2VpZ2h0OiA2MDA7Y29sb3I6ICM4ODg7b3V0bGluZTogMDtsaW5lLWhlaWdodDogMS40Mjg1NzE0Mzstd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDt9LyogQWN0aXZlL2hvdmVyIHN0YXRlIChNZW51IGl0ZW1zKSAqLy5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwubWVudXpvcmQtbWVudSA+IGxpOmhvdmVyID4gYXtjb2xvcjogIzMzMzt9LyogNCAtIERST1BET1dOPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qLy5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duLC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpIHVsLmRyb3Bkb3due2xpc3Qtc3R5bGU6IG5vbmU7bWFyZ2luOiAwO3BhZGRpbmc6IDA7ICAgZGlzcGxheTogbm9uZTtwb3NpdGlvbjogYWJzb2x1dGU7ei1pbmRleDogOTk7bWluLXdpZHRoOiAxODBweDt3aGl0ZS1zcGFjZTogbm93cmFwO2JhY2tncm91bmQ6ICNmZmY7fS5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpIHVsLmRyb3Bkb3due2xlZnQ6IDEwMCU7fS8qIERyb3Bkb3duIGl0ZW1zICovLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGl7Y2xlYXI6IGJvdGg7d2lkdGg6IDEwMCU7Ym9yZGVyOiAwIG5vbmU7Zm9udC1zaXplOiAxMnB4O3Bvc2l0aW9uOiByZWxhdGl2ZTt9Lm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGkgYXt3aWR0aDogMTAwJTtiYWNrZ3JvdW5kOiBub25lO3BhZGRpbmc6IDEwcHggMjVweCAxMHB4IDIycHg7Y29sb3I6ICM4ODg7dGV4dC1kZWNvcmF0aW9uOiBub25lO2Rpc3BsYXk6IGlubGluZS1ibG9jaztmbG9hdDogbGVmdDtjbGVhcjogYm90aDtwb3NpdGlvbjogcmVsYXRpdmU7b3V0bGluZTogMDstby10cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBsaW5lYXI7LW1vei10cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBsaW5lYXI7LXdlYmtpdC10cmFuc2l0aW9uOiBwYWRkaW5nIC4ycyBsaW5lYXI7dHJhbnNpdGlvbjogcGFkZGluZyAuMnMgbGluZWFyO30vKiBIb3ZlciBzdGF0ZSAoZHJvcGRvd24gaXRlbXMpICovLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGk6aG92ZXIgPiBhe3BhZGRpbmctbGVmdDogMjhweDtwYWRkaW5nLXJpZ2h0OiAxOXB4O2NvbG9yOiAjMzMzO30vKiBEcm9wZG93biBsZWZ0IGFsaWdubWVudCAqLy5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duLmRyb3Bkb3duLWxlZnR7bGVmdDogbm9uZTt9Lm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGkgdWwuZHJvcGRvd24uZHJvcGRvd24tbGVmdHtsZWZ0OiAtMTAwJTt9LyogNSAtIERST1BET1dOL01FR0FNRU5VIElORElDQVRPUlM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLm1lbnV6b3JkLW1lbnUgbGkgLmluZGljYXRvcnttYXJnaW4tbGVmdDogM3B4O30ubWVudXpvcmQtbWVudSBsaSB1bC5kcm9wZG93biBsaSAuaW5kaWNhdG9ye3Bvc2l0aW9uOiBhYnNvbHV0ZTt0b3A6IDhweDtyaWdodDogMTBweDtmb250LXNpemU6IDE1cHg7fS8qIDYgLSBNRUdBTUVOVT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51e3dpZHRoOiAxMDAlO3BhZGRpbmc6IDIwcHggMzBweDtsZWZ0OiAwO3Bvc2l0aW9uOiBhYnNvbHV0ZTtkaXNwbGF5OiBub25lO3otaW5kZXg6IDk5O2JvcmRlci10b3A6IHNvbGlkIDFweCAjZjBmMGYwO2JhY2tncm91bmQ6ICNmZmY7fS8qIDcgLSBNRUdBTUVOVSBXSURUSFM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLyogSGFsZiB3aWR0aCAqLy5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUubWVnYW1lbnUtaGFsZi13aWR0aHt3aWR0aDogNTAlO2xlZnQ6IGF1dG87fS8qIFF1YXJ0ZXIgd2lkdGggKi8ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51Lm1lZ2FtZW51LXF1YXJ0ZXItd2lkdGh7d2lkdGg6IDI1JTtsZWZ0OiBhdXRvO30vKiA4IC0gR1JJRCBTWVNURU09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93e3dpZHRoOiAxMDAlO21hcmdpbi10b3A6IDE1cHg7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdzpmaXJzdC1jaGlsZCB7bWFyZ2luLXRvcDogMDt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93OmJlZm9yZSwubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3c6YWZ0ZXIge2Rpc3BsYXk6IHRhYmxlO2NvbnRlbnQ6ICIiO2xpbmUtaGVpZ2h0OiAwO30ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3c6YWZ0ZXIge2NsZWFyOiBib3RoO30ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEsLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wyLC5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMywubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDQsLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w1LC5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNiwubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDcsLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w4LC5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sOSwubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDEwLC5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTEsLm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wxMntkaXNwbGF5OiBibG9jazttaW4taGVpZ2h0OiAyMHB4O2Zsb2F0OiBsZWZ0O21hcmdpbi1sZWZ0OiAzJTt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IFtjbGFzcyo9ImNvbCJdOmZpcnN0LWNoaWxkIHttYXJnaW4tbGVmdDogMDt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wxe3dpZHRoOiA1LjU4MzMzMzMzMzMzMyU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMnt3aWR0aDogMTQuMTY2NjY2NjY2NjY2JTt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2wze3dpZHRoOiAyMi43NSU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sNHt3aWR0aDogMzEuMzMzMzMzMzMzMzMzJTt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w1e3dpZHRoOiAzOS45MTY2NjY2NjY2NjclO30ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDZ7d2lkdGg6IDQ4LjUlO30ubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgLmNvbDd7d2lkdGg6IDU3LjA4MzMzMzMzMzMzMyU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sOHt3aWR0aDogNjUuNjY2NjY2NjY2NjY3JTt9Lm1lbnV6b3JkLW1lbnUgPiBsaSA+IC5tZWdhbWVudSAubWVnYW1lbnUtcm93IC5jb2w5e3dpZHRoOiA3NC4yNSU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTB7d2lkdGg6IDgyLjgzMzMzMzMzMzMzNCU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTF7d2lkdGg6IDkxLjQxNjY2NjY2NjY2NyU7fS5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnUgLm1lZ2FtZW51LXJvdyAuY29sMTJ7d2lkdGg6IDEwMCU7fS8qIDkgLSBTSE9XL0hJREUgQlVUVE9OIChNT0JJTEUgTU9ERSk9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLm1lbnV6b3JkIC5zaG93aGlkZXt3aWR0aDogNjBweDtoZWlnaHQ6IDQ2cHg7cGFkZGluZzogMTNweCAwIDA7ZGlzcGxheTogbm9uZTtmbG9hdDogcmlnaHQ7dGV4dC1kZWNvcmF0aW9uOiBub25lO291dGxpbmU6IG5vbmU7LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApOy13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7fS8qIFNob3cvaGlkZSBidXR0b24gaWNvbiAqLy5tZW51em9yZCAuc2hvd2hpZGUgZW17d2lkdGg6IDIwcHg7aGVpZ2h0OiAzcHg7bWFyZ2luOiAzLjVweCAyMHB4IDA7ZmxvYXQ6IHJpZ2h0O2JhY2tncm91bmQ6ICM3Nzc7fS8qIDEwIC0gSUNPTlMgKHBhcmVudCBtZW51IGl0ZW1zKT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8ubWVudXpvcmQtbWVudSA+IGxpID4gYSA+IGl7bWFyZ2luOiAwIDVweCAwIDA7Zm9udC1zaXplOiAxOHB4O2Zsb2F0OiBsZWZ0O2xpbmUtaGVpZ2h0OiAyMHB4O30vKiAxMSAtIFNFQVJDSCBGSUVMRD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki8vKiBGb3JtICovLm1lbnV6b3JkLW1lbnUgPiBsaS5zZWFyY2ggZm9ybXtmbG9hdDogbGVmdDtwYWRkaW5nOiAyMnB4IDE2cHggMTdweDt9LyogSW5wdXQgKi8ubWVudXpvcmQtbWVudSA+IGxpLnNlYXJjaCBmb3JtIGlucHV0W3R5cGU9InRleHQiXXt3aWR0aDogMTYwcHg7cGFkZGluZzogNXB4IDEwcHg7Zm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnLCBzYW5zLXNlcmlmO2JvcmRlcjogbm9uZTtiYWNrZ3JvdW5kOiAjZjBmMGYwO2JvcmRlci1yYWRpdXM6IDJweDtvdXRsaW5lOiAwOy1vLXRyYW5zaXRpb246IHdpZHRoIDFzIGVhc2Utb3V0Oy1tb3otdHJhbnNpdGlvbjogd2lkdGggMXMgZWFzZS1vdXQ7LXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAxcyBlYXNlLW91dDt0cmFuc2l0aW9uOiB3aWR0aCAxcyBlYXNlLW91dDt9Lm1lbnV6b3JkLW1lbnUgPiBsaS5zZWFyY2ggZm9ybTpob3ZlciBpbnB1dFt0eXBlPSJ0ZXh0Il17d2lkdGg6IDE2MHB4O30vKiAxMiAtIFZFUlRJQ0FMIFRBQlM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLm1lbnV6b3JkLXRhYnN7d2lkdGg6IDEwMCU7ZmxvYXQ6IGxlZnQ7fS5tZW51em9yZC10YWJzLW5hdnt3aWR0aDogMjAlO21hcmdpbjogMDtwYWRkaW5nOiAwO2Zsb2F0OiBsZWZ0O2xpc3Qtc3R5bGU6IG5vbmU7fS5tZW51em9yZC10YWJzLW5hdiA+IGxpID4gYXt3aWR0aDogMTAwJTtwYWRkaW5nOiA3cHggMTZweDtmbG9hdDogbGVmdDtmb250LXNpemU6IDEzcHg7dGV4dC1kZWNvcmF0aW9uOiBub25lO2NvbG9yOiAjNjY2O2JvcmRlcjogc29saWQgMXB4ICNmMGYwZjA7b3V0bGluZTogMDt9Lm1lbnV6b3JkLXRhYnMtbmF2IGxpLmFjdGl2ZSBhLC5tZW51em9yZC10YWJzLW5hdiBsaTpob3ZlciBhe2JhY2tncm91bmQ6ICNmMGYwZjA7fS5tZW51em9yZC10YWJzLWNvbnRlbnR7d2lkdGg6IDgwJTttaW4taGVpZ2h0OiAzMHB4O3BhZGRpbmc6IDIwcHg7ZmxvYXQ6IHJpZ2h0O2Rpc3BsYXk6IG5vbmU7Zm9udC1zaXplOiAxM3B4O2JvcmRlcjogc29saWQgMXB4ICNmMGYwZjA7fS5tZW51em9yZC10YWJzLWNvbnRlbnQuYWN0aXZle2Rpc3BsYXk6IGJsb2NrO30vKiAxMyAtIENPTE9SIFNDSEVNRVM9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovLyogYmx1ZSAqLy5tZW51em9yZC5ibHVlIC5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwgLm1lbnV6b3JkLmJsdWUgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIC5tZW51em9yZC5ibHVlIC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpOmhvdmVyID4gYXsgY29sb3I6ICM0QTg5REM7IH0vKiBncmVlbiAqLy5tZW51em9yZC5ncmVlbiAubWVudXpvcmQtbWVudSA+IGxpLmFjdGl2ZSA+IGEsIC5tZW51em9yZC5ncmVlbiAubWVudXpvcmQtbWVudSA+IGxpOmhvdmVyID4gYSwgLm1lbnV6b3JkLmdyZWVuIC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpOmhvdmVyID4gYXsgY29sb3I6ICMzN0JDOUI7IH0vKiByZWQgKi8ubWVudXpvcmQucmVkIC5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwgLm1lbnV6b3JkLnJlZCAubWVudXpvcmQtbWVudSA+IGxpOmhvdmVyID4gYSwgLm1lbnV6b3JkLnJlZCAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IGNvbG9yOiAjRTk1NzNGOyB9Lyogb3JhbmdlICovLm1lbnV6b3JkLm9yYW5nZSAubWVudXpvcmQtbWVudSA+IGxpLmFjdGl2ZSA+IGEsIC5tZW51em9yZC5vcmFuZ2UgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIC5tZW51em9yZC5vcmFuZ2UgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGk6aG92ZXIgPiBheyBjb2xvcjogI2ZmNjcwZjsgfS8qIHllbGxvdyAqLy5tZW51em9yZC55ZWxsb3cgLm1lbnV6b3JkLW1lbnUgPiBsaS5hY3RpdmUgPiBhLCAubWVudXpvcmQueWVsbG93IC5tZW51em9yZC1tZW51ID4gbGk6aG92ZXIgPiBhLCAubWVudXpvcmQueWVsbG93IC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpOmhvdmVyID4gYXsgY29sb3I6ICNGNkJCNDI7IH0vKiBwdXJwbGUgKi8ubWVudXpvcmQucHVycGxlIC5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwgLm1lbnV6b3JkLnB1cnBsZSAubWVudXpvcmQtbWVudSA+IGxpOmhvdmVyID4gYSwgLm1lbnV6b3JkLnB1cnBsZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IGNvbG9yOiAjOTY3QURDOyB9LyogcGluayAqLy5tZW51em9yZC5waW5rIC5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwgLm1lbnV6b3JkLnBpbmsgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIC5tZW51em9yZC5waW5rIC5tZW51em9yZC1tZW51IHVsLmRyb3Bkb3duIGxpOmhvdmVyID4gYXsgY29sb3I6ICNENzcwQUQ7IH0vKiAxNCAtIE1PQklMRSBNT0RFIChSRVNQT05TSVZFIE1PREUpPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL0BtZWRpYSAobWF4LXdpZHRoOiA5MDBweCl7LyogUmVzcG9uc2l2ZSBtZW51IGNvbnRhaW5lciAqLy5tZW51em9yZC1yZXNwb25zaXZlLm1lbnV6b3Jke3BhZGRpbmc6IDA7fS8qIEJyYW5kICovLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLWJyYW5ke21hcmdpbjogOHB4IDMwcHggMTBweCAyMHB4O2ZvbnQtc2l6ZTogMjBweDtsaW5lLWhlaWdodDogMS41NTt9LyogU2hvdy9oaWRlIGJ1dHRvbiAqLy5tZW51em9yZC1yZXNwb25zaXZlIC5zaG93aGlkZXttYXJnaW46IDA7fS8qIE1lbnUgKi8ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudXt3aWR0aDogMTAwJTtmbG9hdDogbGVmdCAhaW1wb3J0YW50O30vKiBzY3JvbGxhYmxlIG1lbnUqLy5tZW51em9yZC1yZXNwb25zaXZlIC5tZW51em9yZC1tZW51LnNjcm9sbGFibGV7b3ZlcmZsb3cteTogYXV0bzstd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7fS5tZW51em9yZC1yZXNwb25zaXZlIC5tZW51em9yZC1tZW51LnNjcm9sbGFibGUgPiAuc2Nyb2xsYWJsZS1maXh7ZGlzcGxheTogYmxvY2s7fS8qIE1lbnUgaXRlbXMgKi8ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpe3dpZHRoOiAxMDAlO2Rpc3BsYXk6IGJsb2NrO3Bvc2l0aW9uOiByZWxhdGl2ZTt9Lm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgPiBsaSA+IGF7d2lkdGg6IDEwMCU7cGFkZGluZzogMTJweCAyMHB4O2Rpc3BsYXk6IGJsb2NrO2JvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZjBmMGYwO30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpOmZpcnN0LWNoaWxkID4gYXtib3JkZXItdG9wOiBzb2xpZCAxcHggI2YwZjBmMDt9LyogRHJvcGRvd24gKi8ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biwubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSB1bC5kcm9wZG93bnt3aWR0aDogMTAwJTtsZWZ0OiAwO3Bvc2l0aW9uOiBzdGF0aWM7Ym9yZGVyOiBub25lO2JhY2tncm91bmQ6ICNmZmY7ZmxvYXQ6IGxlZnQ7fS8qIERyb3Bkb3duIGl0ZW1zICovLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGl7cG9zaXRpb246IHJlbGF0aXZlO30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSBhe2JvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZjBmMGYwO30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudS5tZW51em9yZC1pbmRlbnRlZCA+IGxpID4gdWwuZHJvcGRvd24gPiBsaSA+IGF7IHBhZGRpbmctbGVmdDogNDBweCAhaW1wb3J0YW50OyB9Lm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUubWVudXpvcmQtaW5kZW50ZWQgPiBsaSA+IHVsLmRyb3Bkb3duID4gbGkgPiB1bC5kcm9wZG93biA+IGxpID4gYXsgcGFkZGluZy1sZWZ0OiA2MHB4ICFpbXBvcnRhbnQ7IH0ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudS5tZW51em9yZC1pbmRlbnRlZCA+IGxpID4gdWwuZHJvcGRvd24gPiBsaSA+IHVsLmRyb3Bkb3duID4gbGkgPiB1bC5kcm9wZG93biA+IGxpID4gYXsgcGFkZGluZy1sZWZ0OiA4MHB4ICFpbXBvcnRhbnQ7IH0ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudS5tZW51em9yZC1pbmRlbnRlZCA+IGxpID4gdWwuZHJvcGRvd24gPiBsaTpob3ZlciA+IGF7IHBhZGRpbmctbGVmdDogNTBweCAhaW1wb3J0YW50OyB9Lm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUubWVudXpvcmQtaW5kZW50ZWQgPiBsaSA+IHVsLmRyb3Bkb3duID4gbGkgPiB1bC5kcm9wZG93biA+IGxpOmhvdmVyID4gYXsgcGFkZGluZy1sZWZ0OiA3MHB4ICFpbXBvcnRhbnQ7IH0ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudS5tZW51em9yZC1pbmRlbnRlZCA+IGxpID4gdWwuZHJvcGRvd24gPiBsaSA+IHVsLmRyb3Bkb3duID4gbGkgPiB1bC5kcm9wZG93biA+IGxpOmhvdmVyID4gYXsgcGFkZGluZy1sZWZ0OiA5MHB4ICFpbXBvcnRhbnQ7IH0vKiBEcm9wZG93bi9tZWdhbWVudSBpbmRpY2F0b3JzICovLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgbGkgLmluZGljYXRvcnsJCXdpZHRoOiA2MHB4O2hlaWdodDogNDVweDtwb3NpdGlvbjogYWJzb2x1dGU7cmlnaHQ6IDA7dG9wOiAwO2ZvbnQtc2l6ZTogMjJweDt0ZXh0LWFsaWduOiBjZW50ZXI7bGluZS1oZWlnaHQ6IDQzcHg7Ym9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjZjVmNWY1O30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSBsaSB1bC5kcm9wZG93biBsaSAuaW5kaWNhdG9ye2hlaWdodDogMzhweDtyaWdodDogMDt0b3A6IDA7Zm9udC1zaXplOiAxOHB4O2xpbmUtaGVpZ2h0OiAzNnB4O30vKiBNZWdhbWVudSAqLy5tZW51em9yZC1yZXNwb25zaXZlIC5tZW51em9yZC1tZW51ID4gbGkgPiAubWVnYW1lbnV7d2lkdGg6IDEwMCUgIWltcG9ydGFudDtsZWZ0OiAwICFpbXBvcnRhbnQ7cG9zaXRpb246IHN0YXRpYztib3JkZXItdG9wOiBub25lO2JvcmRlci1ib3R0b206IHNvbGlkIDFweCAjZjBmMGYwO30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3cgW2NsYXNzKj0iY29sIl17ZmxvYXQ6IG5vbmU7ZGlzcGxheTogYmxvY2s7d2lkdGg6IDEwMCUgIWltcG9ydGFudDttYXJnaW4tbGVmdDogMDttYXJnaW4tdG9wOiAxNXB4O30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3c6Zmlyc3QtY2hpbGQgIFtjbGFzcyo9ImNvbCJdOmZpcnN0LWNoaWxkIHttYXJnaW4tdG9wOiAwO30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51IC5tZWdhbWVudS1yb3d7bWFyZ2luLXRvcDogMDt9LyogU2VhcmNoIGZpZWxkICovLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgPiBsaS5zZWFyY2ggZm9ybXt3aWR0aDogMTAwJTttYXJnaW46IDRweCAwO3BhZGRpbmc6IDEwcHggMTZweCAhaW1wb3J0YW50O30ubWVudXpvcmQtcmVzcG9uc2l2ZSAubWVudXpvcmQtbWVudSA+IGxpLnNlYXJjaCBmb3JtIGlucHV0W3R5cGU9InRleHQiXXt3aWR0aDogMTAwJTt9LyogVGFicyAqLy5tZW51em9yZC1yZXNwb25zaXZlIC5tZW51em9yZC10YWJzLW5hdnt3aWR0aDogMTAwJTt9Lm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLXRhYnMtY29udGVudHt3aWR0aDogMTAwJTt9fQo="}},"time_used":277,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":276,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/flaticon-png/small/f13.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.826Z","timestamp":1785133989826,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/flaticon-png/small/f13.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/png\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-length: 14273\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":14273,"size_decoded":14460,"mime_type":"image/png","magic":"PNG image data, 90 x 90, 8-bit/color RGBA, non-interlaced","md5":"1d634b3efc2c01a2145e738d2c699afa","sha1":"f3b9701cf56b7586423def98b8d3c1c522af0a3d","sha256":"ae6499dd549b81a2f3f06b0bb1fb5b36b2942812d9159b7606f6426518c76b79","sha512":"1598accf829bab8c6f8e901470ce03e392fd225361167adfd91c8b6519cd0b5d89648bbce7b635a9cacfb58d440cfedf18e6142f19a8c82fcec7f0123db2975c","ssdeep":"384:zJXE057irpcR/BqztDecgVGuIVgSrCqP58MiyBE:R35+rpcR/Yp+YuIBrCqP58Mo","tlshash":"e452e1ae5d37f1aac5cf224a5dac8d42eb9efd70d6729e2d40c14cec4441c278629a90","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:37:47.045418Z","times_seen":25,"resource_available":false,"data":"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"}},"time_used":570,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":569,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.coingecko.com/api/v3/coins/markets?vs_currency=usd\u0026ids=bitcoin,ethereum,eos,ripple,litecoin\u0026locale=en","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.644Z","timestamp":1785133990644,"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":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/coins/markets?vs_currency=usd\u0026ids=bitcoin,ethereum,eos,ripple,litecoin\u0026locale=en HTTP/1.1\r\nHost: api.coingecko.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://frxoptmarkt.com/\r\nOrigin: https://frxoptmarkt.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\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\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver: cloudflare\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST, PUT, DELETE, GET, OPTIONS\r\naccess-control-expose-headers: link, per-page, total\r\naccess-control-max-age: 7200\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nx-permitted-cross-domain-policies: none\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-data-source: 2.0\r\ntotal: 5\r\nper-page: 100\r\ncache-control: max-age=30, public, must-revalidate, s-maxage=60\r\naccess-control-request-method: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Authorization\r\nvary: Accept-Encoding, Origin\r\ncontent-encoding: gzip\r\netag: W/\"03d4f21f9cd582ef1848c7aaf7054481\"\r\nx-request-id: d7d1e09e-be7c-4b73-beca-a7f85c9581c0\r\nx-runtime: 0.004328\r\ncontent-security-policy-report-only: script-src https://accounts.google.com/gsi/client; frame-src https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;\r\nstrict-transport-security: max-age=600\r\ncf-cache-status: EXPIRED\r\npriority: u=4,i=?0\r\ncf-ray: a2199c71addc49c5-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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":3925,"size_decoded":2406,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"320dc3ccde90d1a5e6ef2ba2fda8813b","sha1":"f63c269a888de42ba9d6ac57c7176dbf7f0be8f1","sha256":"6006132191819813b75f9f7701efe3897432ebdccc203cfcc75bd0a8b1e4ad8f","sha512":"0ab0b804a4890919a7079ac21cf3bb4889ad473f5d610444291e0db058aadd6f0637653da2bcc9a9a0e2e5a211dbd5da37e7fef516ea1dfb3b2b8d91e899cc3f","ssdeep":"","tlshash":"318111920d349cd3c1a1654a695a36100d6effda9cc9cc060f9dcdce44687fa420de4a","first_seen":"2026-07-27T06:33:54.049056Z","last_seen":"2026-07-27T06:33:54.049056Z","times_seen":1,"resource_available":false,"data":"W3siaWQiOiJiaXRjb2luIiwic3ltYm9sIjoiYnRjIiwibmFtZSI6IkJpdGNvaW4iLCJpbWFnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvMS9sYXJnZS9iaXRjb2luLnBuZz8xNjk2NTAxNDAwIiwiY3VycmVudF9wcmljZSI6NjU0MzksIm1hcmtldF9jYXAiOjEzMTI4MzI4MDUwNTksIm1hcmtldF9jYXBfcmFuayI6MSwiZnVsbHlfZGlsdXRlZF92YWx1YXRpb24iOjEzMTI4MzI4MDUwNTksInRvdGFsX3ZvbHVtZSI6MTcyNTg5OTIwOTcsImhpZ2hfMjRoIjo2NTQ4OSwibG93XzI0aCI6NjQzMDAsInByaWNlX2NoYW5nZV8yNGgiOjExMTguMjQsInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MS41LCJtYXJrZXRfY2FwX2NoYW5nZV8yNGgiOjIyNDU4MTgwODE0LCJtYXJrZXRfY2FwX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MS43NDA0NCwiY2lyY3VsYXRpbmdfc3VwcGx5IjoyMDA2MTgwMy4wLCJ0b3RhbF9zdXBwbHkiOjIwMDYxODE1LjAsIm1heF9zdXBwbHkiOjIxMDAwMDAwLjAsImF0aCI6MTI2MDgwLCJhdGhfY2hhbmdlX3BlcmNlbnRhZ2UiOi00OC4wOTY4NiwiYXRoX2RhdGUiOiIyMDI1LTEwLTA2VDEwOjU3OjQyLjAwMFoiLCJhdGwiOjY3LjgxLCJhdGxfY2hhbmdlX3BlcmNlbnRhZ2UiOjk2NDA1LjUxMDk2LCJhdGxfZGF0ZSI6IjIwMTMtMDctMDVUMTY6MDA6MDAuMDAwWiIsInJvaSI6bnVsbCwibGFzdF91cGRhdGVkIjoiMjAyNi0wNy0yN1QwNjozMDozMC4wMDBaIn0seyJpZCI6ImV0aGVyZXVtIiwic3ltYm9sIjoiZXRoIiwibmFtZSI6IkV0aGVyZXVtIiwiaW1hZ2UiOiJodHRwczovL2NvaW4taW1hZ2VzLmNvaW5nZWNrby5jb20vY29pbnMvaW1hZ2VzLzI3OS9sYXJnZS9ldGhlcmV1bS5wbmc/MTY5NjUwMTYyOCIsImN1cnJlbnRfcHJpY2UiOjE5NjQuMDIsIm1hcmtldF9jYXAiOjIzNzAyMjg1NTI3NywibWFya2V0X2NhcF9yYW5rIjoyLCJmdWxseV9kaWx1dGVkX3ZhbHVhdGlvbiI6MjM3MDIyODU1Mjc3LCJ0b3RhbF92b2x1bWUiOjgwMjgxMzY0NzgsImhpZ2hfMjRoIjoxOTY0LjgsImxvd18yNGgiOjE4NzkuMjgsInByaWNlX2NoYW5nZV8yNGgiOjgyLjUyLCJwcmljZV9jaGFuZ2VfcGVyY2VudGFnZV8yNGgiOjQuMiwibWFya2V0X2NhcF9jaGFuZ2VfMjRoIjo5OTU4MDgyNTk3LCJtYXJrZXRfY2FwX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6NC4zODU1NywiY2lyY3VsYXRpbmdfc3VwcGx5IjoxMjA2ODI2MzUuODUzMTAzNzEsInRvdGFsX3N1cHBseSI6MTIwNjgyNjM1Ljg1MzEwMzcsIm1heF9zdXBwbHkiOm51bGwsImF0aCI6NDk0Ni4wNSwiYXRoX2NoYW5nZV9wZXJjZW50YWdlIjotNjAuMjkxMTUsImF0aF9kYXRlIjoiMjAyNS0wOC0yNFQxMToyMTowMy4wMDBaIiwiYXRsIjowLjQzMjk3OSwiYXRsX2NoYW5nZV9wZXJjZW50YWdlIjo0NTM1MDYuMjE1NjgsImF0bF9kYXRlIjoiMjAxNS0xMC0xOVQxNjowMDowMC4wMDBaIiwicm9pIjp7InRpbWVzIjozOS4xNDM1NjkzMjk0OTY4MzUsImN1cnJlbmN5IjoiYnRjIiwicGVyY2VudGFnZSI6MzkxNC4zNTY5MzI5NDk2ODN9LCJsYXN0X3VwZGF0ZWQiOiIyMDI2LTA3LTI3VDA2OjMwOjMwLjAwMFoifSx7ImlkIjoicmlwcGxlIiwic3ltYm9sIjoieHJwIiwibmFtZSI6IlhSUCIsImltYWdlIjoiaHR0cHM6Ly9jb2luLWltYWdlcy5jb2luZ2Vja28uY29tL2NvaW5zL2ltYWdlcy80NC9sYXJnZS94cnAtc3ltYm9sLXdoaXRlLTEyOC5wbmc/MTY5NjUwMTQ0MiIsImN1cnJlbnRfcHJpY2UiOjEuMTEsIm1hcmtldF9jYXAiOjY5MzgyMzkwNDgyLCJtYXJrZXRfY2FwX3JhbmsiOjYsImZ1bGx5X2RpbHV0ZWRfdmFsdWF0aW9uIjoxMTA5MzY4MjEzNDksInRvdGFsX3ZvbHVtZSI6NjI2MDY0NzA0LCJoaWdoXzI0aCI6MS4xMiwibG93XzI0aCI6MS4wOTYsInByaWNlX2NoYW5nZV8yNGgiOjAuMDEwOTkwOTksInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MC44LCJtYXJrZXRfY2FwX2NoYW5nZV8yNGgiOjY4NzMwMzE4NCwibWFya2V0X2NhcF9jaGFuZ2VfcGVyY2VudGFnZV8yNGgiOjEuMDAwNTEsImNpcmN1bGF0aW5nX3N1cHBseSI6NjI1MzMyNzE5NTUuMCwidG90YWxfc3VwcGx5Ijo5OTk4NTYzNTcwNy4wLCJtYXhfc3VwcGx5IjoxMDAwMDAwMDAwMDAuMCwiYXRoIjozLjY1LCJhdGhfY2hhbmdlX3BlcmNlbnRhZ2UiOi02OS41NzE3OSwiYXRoX2RhdGUiOiIyMDI1LTA3LTE3VDE5OjQwOjUzLjAwMFoiLCJhdGwiOjAuMDAyNjg2MjEsImF0bF9jaGFuZ2VfcGVyY2VudGFnZSI6NDEyMDQuNjI0NzIsImF0bF9kYXRlIjoiMjAxNC0wNS0yMVQxNjowMDowMC4wMDBaIiwicm9pIjpudWxsLCJsYXN0X3VwZGF0ZWQiOiIyMDI2LTA3LTI3VDA2OjMwOjMwLjAwMFoifSx7ImlkIjoibGl0ZWNvaW4iLCJzeW1ib2wiOiJsdGMiLCJuYW1lIjoiTGl0ZWNvaW4iLCJpbWFnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvMi9sYXJnZS9saXRlY29pbi5wbmc/MTY5NjUwMTQwMCIsImN1cnJlbnRfcHJpY2UiOjQ3LjM0LCJtYXJrZXRfY2FwIjozNjY1NDk1Mzg3LCJtYXJrZXRfY2FwX3JhbmsiOjI3LCJmdWxseV9kaWx1dGVkX3ZhbHVhdGlvbiI6MzY2NTYxNTgwNywidG90YWxfdm9sdW1lIjoyMzUxMTc3NTYsImhpZ2hfMjRoIjo0OC4yLCJsb3dfMjRoIjo0Ni42MiwicHJpY2VfY2hhbmdlXzI0aCI6MC41Njg4MzQsInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MS41LCJtYXJrZXRfY2FwX2NoYW5nZV8yNGgiOjQ0MjA0NjA3LCJtYXJrZXRfY2FwX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MS4yMjA2OSwiY2lyY3VsYXRpbmdfc3VwcGx5Ijo3NzQyOTU1My45NzM3Njk5OCwidG90YWxfc3VwcGx5Ijo3NzQzMjIwMy45ODA3NDA5MiwibWF4X3N1cHBseSI6ODQwMDAwMDAuMCwiYXRoIjo0MTAuMjYsImF0aF9jaGFuZ2VfcGVyY2VudGFnZSI6LTg4LjQ2MTEyLCJhdGhfZGF0ZSI6IjIwMjEtMDUtMDlUMTk6MTM6MDcuMDAwWiIsImF0bCI6MS4xNSwiYXRsX2NoYW5nZV9wZXJjZW50YWdlIjo0MDIwLjYxNjQ3LCJhdGxfZGF0ZSI6IjIwMTUtMDEtMTNUMTY6MDA6MDAuMDAwWiIsInJvaSI6bnVsbCwibGFzdF91cGRhdGVkIjoiMjAyNi0wNy0yN1QwNjozMDozMC4wMDBaIn0seyJpZCI6ImVvcyIsInN5bWJvbCI6ImVvcyIsIm5hbWUiOiJFT1MiLCJpbWFnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvNzM4L2xhcmdlL0NHX0VPU19JY29uLnBuZz8xNzMxNzA1MjMyIiwiY3VycmVudF9wcmljZSI6MC4wNjQxOTksIm1hcmtldF9jYXAiOjAuMCwibWFya2V0X2NhcF9yYW5rIjpudWxsLCJmdWxseV9kaWx1dGVkX3ZhbHVhdGlvbiI6MTM0ODE3OTY4LCJ0b3RhbF92b2x1bWUiOjMwMjk4LCJoaWdoXzI0aCI6MC4wNjQ2NDEsImxvd18yNGgiOjAuMDYyMTY4LCJwcmljZV9jaGFuZ2VfMjRoIjowLjAwMTAzMjAxLCJwcmljZV9jaGFuZ2VfcGVyY2VudGFnZV8yNGgiOjEuOCwibWFya2V0X2NhcF9jaGFuZ2VfMjRoIjpudWxsLCJtYXJrZXRfY2FwX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6bnVsbCwiY2lyY3VsYXRpbmdfc3VwcGx5IjowLjAsInRvdGFsX3N1cHBseSI6MjEwMDAwMDAwMC4wLCJtYXhfc3VwcGx5IjoyMTAwMDAwMDAwLjAsImF0aCI6MjIuNzEsImF0aF9jaGFuZ2VfcGVyY2VudGFnZSI6LTk5LjcxNzMzLCJhdGhfZGF0ZSI6IjIwMTgtMDQtMjhUMjM6NTA6MzMuMDAwWiIsImF0bCI6MC4wNTgwMDUsImF0bF9jaGFuZ2VfcGVyY2VudGFnZSI6MTAuNjc5MDYsImF0bF9kYXRlIjoiMjAyNi0wNi0wNlQwNDozODo0NS4wMDBaIiwicm9pIjp7InRpbWVzIjotMC45MzUxNTk2Njg5NTg3MDU2LCJjdXJyZW5jeSI6InVzZCIsInBlcmNlbnRhZ2UiOi05My41MTU5NjY4OTU4NzA1Nn0sImxhc3RfdXBkYXRlZCI6IjIwMjYtMDctMjdUMDY6MzA6MzAuMDAwWiJ9XQ=="}},"time_used":172,"timings":{"blocked":0,"dns":3,"connect":12,"send":0,"wait":155,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"api.coingecko.com/api/v3/coins/bitcoin?community_data=false\u0026developer_data=false\u0026localization=false\u0026source=geckowidgets\u0026tickers=false","fqdn":"api.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.66.172.219","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"fetch","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.722Z","timestamp":1785133990722,"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":"api.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Fri, 03 Jul 2026 17:14:13 GMT","end":"Thu, 01 Oct 2026 18:14:10 GMT"},"fingerprint":{"sha1":"FD:68:29:08:59:93:ED:F1:73:C5:56:C8:B7:8C:EA:2D:F8:7E:E5:67","sha256":"28:11:40:A6:0A:FB:70:11:FF:CD:E4:7F:13:40:3F:0F:D5:5F:68:21:26:DF:61:5A:45:A5:EB:B3:33:B2:A9:0B"}}},"request":{"raw":"GET /api/v3/coins/bitcoin?community_data=false\u0026developer_data=false\u0026localization=false\u0026source=geckowidgets\u0026tickers=false HTTP/1.1\r\nHost: api.coingecko.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://frxoptmarkt.com/\r\nOrigin: https://frxoptmarkt.com\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: cors\r\nSec-Fetch-Site: cross-site\r\nPriority: u=4\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\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\ncontent-type: application/json; charset=utf-8\r\nserver: cloudflare\r\naccess-control-allow-origin: *\r\naccess-control-allow-methods: POST, PUT, DELETE, GET, OPTIONS\r\naccess-control-expose-headers: link, per-page, total\r\naccess-control-max-age: 7200\r\nx-frame-options: SAMEORIGIN\r\nx-xss-protection: 0\r\nx-content-type-options: nosniff\r\nx-permitted-cross-domain-policies: none\r\nreferrer-policy: strict-origin-when-cross-origin\r\nx-data-source: 1.0\r\ncache-control: max-age=30, public, must-revalidate, s-maxage=30\r\naccess-control-request-method: *\r\naccess-control-allow-headers: Origin, X-Requested-With, Content-Type, Accept, Authorization\r\nvary: Accept-Encoding, Origin\r\ncontent-encoding: gzip\r\netag: W/\"8200d1f2c30cd1766bbf52af2466220a\"\r\nx-request-id: 50a382fe-ed32-455c-bbe5-fa41d3519de3\r\nx-runtime: 0.040847\r\ncontent-security-policy-report-only: script-src https://accounts.google.com/gsi/client; frame-src https://accounts.google.com/gsi/; connect-src https://accounts.google.com/gsi/;\r\nstrict-transport-security: max-age=600\r\ncf-cache-status: EXPIRED\r\npriority: u=4,i=?0\r\ncf-ray: a2199c720dea49c5-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\nserver-timing: cfExtPri\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":29907,"size_decoded":13008,"mime_type":"application/json; charset=utf-8","magic":"JSON text data","md5":"0405e4ac1e7043ad4e1f001d9010714e","sha1":"197ed217097405903433a3b532f018825f4a2e70","sha256":"01b03bdc1b9e9cced74aaa04f4d4723209005078f733591aab68e9683a09ffa6","sha512":"1552eec4c9532d3ca97fa873dc1f49c54431c1e5c41243a28a212a8c1615105a7041c8ecb1fbe52af3653a2502d9d85aa8da103760f392abca761d4187f2e261","ssdeep":"768:VAqLPAn25RLUdetCfWmerczt/ucdow130:jLH5BUktCfWmerczt/ukNV0","tlshash":"07d20a824f7c60b0e4b86b890e4477817c35f2eb418a0f6732a09b5dd5996bfb606c5f","first_seen":"2026-07-27T06:33:54.05113Z","last_seen":"2026-07-27T06:33:54.05113Z","times_seen":1,"resource_available":false,"data":"eyJpZCI6ImJpdGNvaW4iLCJzeW1ib2wiOiJidGMiLCJuYW1lIjoiQml0Y29pbiIsIndlYl9zbHVnIjoiYml0Y29pbiIsImFzc2V0X3BsYXRmb3JtX2lkIjpudWxsLCJwbGF0Zm9ybXMiOnsiIjoiIn0sImRldGFpbF9wbGF0Zm9ybXMiOnsiIjp7ImRlY2ltYWxfcGxhY2UiOm51bGwsImNvbnRyYWN0X2FkZHJlc3MiOiIifX0sImJsb2NrX3RpbWVfaW5fbWludXRlcyI6MTAsImhhc2hpbmdfYWxnb3JpdGhtIjoiU0hBLTI1NiIsImNhdGVnb3JpZXMiOlsiU21hcnQgQ29udHJhY3QgUGxhdGZvcm0iLCJMYXllciAxIChMMSkiLCJGVFggSG9sZGluZ3MiLCJQcm9vZiBvZiBXb3JrIChQb1cpIiwiQml0Y29pbiBFY29zeXN0ZW0iLCJHTUNJIDMwIEluZGV4IiwiR01DSSBJbmRleCIsIkNvaW5iYXNlIDUwIEluZGV4Il0sInByZXZpZXdfbGlzdGluZyI6ZmFsc2UsInB1YmxpY19ub3RpY2UiOm51bGwsImFkZGl0aW9uYWxfbm90aWNlcyI6W10sImhhc19zdXBwbHlfYnJlYWtkb3duIjpmYWxzZSwiZGVzY3JpcHRpb24iOnsiZW4iOiJCaXRjb2luIGlzIHRoZSB3b3JsZCdzIGZpcnN0IGRlY2VudHJhbGl6ZWQgY3J5cHRvY3VycmVuY3ksIGNyZWF0ZWQgaW4gMjAwOSBieSB0aGUgcHNldWRvbnltb3VzIFNhdG9zaGkgTmFrYW1vdG8uIEl0IGVuYWJsZXMgcGVlci10by1wZWVyIGVsZWN0cm9uaWMgY2FzaCB0cmFuc2FjdGlvbnMgd2l0aG91dCBpbnRlcm1lZGlhcmllcyBsaWtlIGJhbmtzIG9yIGdvdmVybm1lbnRzLCBvcGVyYXRpbmcgb24gYSBibG9ja2NoYWluIHNlY3VyZWQgYnkgUHJvb2Ygb2YgV29yayBtaW5pbmcgYW5kIHRoZSBTSEEtMjU2IGNyeXB0b2dyYXBoaWMgYWxnb3JpdGhtLiBcblxuV2l0aCBhIGZpeGVkIHN1cHBseSBjYXAgb2YgMjEgbWlsbGlvbiBjb2lucyBhbmQgcHJvZ3JhbW1hdGljIGhhbHZpbmdzIGV2ZXJ5IGZvdXIgeWVhcnMgdGhhdCByZWR1Y2UgbWluZXIgcmV3YXJkcywgQml0Y29pbiBpcyBkZXNpZ25lZCBhcyBhIGRlZmxhdGlvbmFyeSBkaWdpdGFsIGFzc2V0IG9mdGVuIGNhbGxlZCBcImRpZ2l0YWwgZ29sZC5cIiBJdHMgdmFsdWUgc3RlbXMgZnJvbSBzb2x2aW5nIHRoZSBkb3VibGUtc3BlbmRpbmcgcHJvYmxlbSB3aXRob3V0IHRydXN0ZWQgaW50ZXJtZWRpYXJpZXMsIGNyZWF0aW5nIHRoZSBmaXJzdCB0cnVseSBzY2FyY2UgZGlnaXRhbCBhc3NldCB3aXRoIGNlbnNvcnNoaXAgcmVzaXN0YW5jZSBhbmQgcGVybWlzc2lvbmxlc3MgYWNjZXNzIHRoYXQgbm8gZ292ZXJubWVudCwgY29ycG9yYXRpb24sIG9yIGluZGl2aWR1YWwgY2FuIGNvbnRyb2wuXG5cbkJpdGNvaW4gb3BlcmF0ZXMgYXMgYSBkZWNlbnRyYWxpemVkIHBlZXItdG8tcGVlciBuZXR3b3JrIHdoZXJlIHRyYW5zYWN0aW9ucyBhcmUgcmVjb3JkZWQgb24gYSBwdWJsaWMgbGVkZ2VyIGNhbGxlZCB0aGUgYmxvY2tjaGFpbiwgZGlzdHJpYnV0ZWQgYWNyb3NzIHRob3VzYW5kcyBvZiBjb21wdXRlcnMgZ2xvYmFsbHkuIFRyYW5zYWN0aW9ucyBhcmUgZ3JvdXBlZCBpbnRvIGJsb2NrcyBhZGRlZCBhcHByb3hpbWF0ZWx5IGV2ZXJ5IDEwIG1pbnV0ZXMgdGhyb3VnaCBtaW5pbmcsIHdoZXJlIHNwZWNpYWxpemVkIGNvbXB1dGVycyBjb21wZXRlIHRvIHNvbHZlIGNvbXBsZXggbWF0aGVtYXRpY2FsIHB1enpsZXMuIFxuXG5CaXRjb2luIGhhcyBhY2hpZXZlZCBtYWluc3RyZWFtIGFkb3B0aW9uIHRocm91Z2ggbXVsdGlwbGUgdmVjdG9ycy4gVGhlIEphbnVhcnkgMjAyNCBTRUMgYXBwcm92YWwgb2YgMTEgc3BvdCBCaXRjb2luIEVURnMgb3BlbmVkIEJpdGNvaW4gaW52ZXN0bWVudCB0byB0cmFkaXRpb25hbCBmaW5hbmNlIHBhcnRpY2lwYW50cywgYW5kIGNvcnBvcmF0aW9ucyBsaWtlIFN0cmF0ZWd5IChmb3JtZXJseSBNaWNyb1N0cmF0ZWd5KSBhcmUgdXNpbmcgQml0Y29pbiBhcyBhIHRyZWFzdXJ5IHJlc2VydmUgYXNzZXQgdG8gcHJvdGVjdCBhZ2FpbnN0IGN1cnJlbmN5IGRlYmFzZW1lbnQsIG9mZmVyaW5nIE1TVFIgaG9sZGVycyBhbXBsaWZpZWQgZXhwb3N1cmUgdG8gQml0Y29pbi4gXG5cblRoZSBCaXRjb2luIGVjb3N5c3RlbSBjb250aW51ZXMgdG8gZXZvbHZlIHdpdGggaW5ub3ZhdGlvbnMgbGlrZSBPcmRpbmFscywgd2hpY2ggZW1lcmdlZCBpbiBKYW51YXJ5IDIwMjMgdG8gZW5hYmxlIE5GVC1saWtlIGZ1bmN0aW9uYWxpdHkgZGlyZWN0bHkgb24gQml0Y29pbiwgYW5kIEJSQy0yMCB0b2tlbnMsIGFuIGV4cGVyaW1lbnRhbCBzdGFuZGFyZCBmb3IgY3JlYXRpbmcgZnVuZ2libGUgdG9rZW5zIHVzaW5nIE9yZGluYWwgaW5zY3JpcHRpb25zLiBCVENGaSAoQml0Y29pbiBGaW5hbmNlKSByZXByZXNlbnRzIGVtZXJnaW5nIGZpbmFuY2lhbCBhcHBsaWNhdGlvbnMgZXh0ZW5kaW5nIGJleW9uZCBCaXRjb2luJ3MgdHJhZGl0aW9uYWwgcm9sZSwgd2l0aCBwcm90b2NvbHMgbGlrZSBCYWJ5bG9uIGFsbG93aW5nIEJpdGNvaW4gaG9sZGVycyB0byBzdGFrZSBCVEMgdG8gc2VjdXJlIFByb29mIG9mIFN0YWtlIGNoYWlucy4gIn0sImxpbmtzIjp7ImhvbWVwYWdlIjpbImh0dHA6Ly93d3cuYml0Y29pbi5vcmciXSwid2hpdGVwYXBlciI6Imh0dHBzOi8vYml0Y29pbi5vcmcvYml0Y29pbi5wZGYiLCJibG9ja2NoYWluX3NpdGUiOlsiaHR0cHM6Ly9tZW1wb29sLnNwYWNlLyIsImh0dHBzOi8vcGxhdGZvcm0uYXJraGFtaW50ZWxsaWdlbmNlLmNvbS9leHBsb3Jlci90b2tlbi9iaXRjb2luIiwiaHR0cHM6Ly9idGMuY29tLyIsImh0dHBzOi8vYnRjLnRva2Vudmlldy5pby8iLCJodHRwczovL3d3dy5va2xpbmsuY29tL2J0YyIsImh0dHBzOi8vM3hwbC5jb20vYml0Y29pbiJdLCJvZmZpY2lhbF9mb3J1bV91cmwiOlsiaHR0cHM6Ly9iaXRjb2ludGFsay5vcmcvIl0sImNoYXRfdXJsIjpbXSwiYW5ub3VuY2VtZW50X3VybCI6W10sInNuYXBzaG90X3VybCI6bnVsbCwidHdpdHRlcl9zY3JlZW5fbmFtZSI6ImJpdGNvaW4iLCJmYWNlYm9va191c2VybmFtZSI6ImJpdGNvaW5zIiwiYml0Y29pbnRhbGtfdGhyZWFkX2lkZW50aWZpZXIiOm51bGwsInRlbGVncmFtX2NoYW5uZWxfaWRlbnRpZmllciI6IiIsInN1YnJlZGRpdF91cmwiOiJodHRwczovL3d3dy5yZWRkaXQuY29tL3IvQml0Y29pbi8iLCJyZXBvc191cmwiOnsiZ2l0aHViIjpbImh0dHBzOi8vZ2l0aHViLmNvbS9iaXRjb2luL2JpdGNvaW4iLCJodHRwczovL2dpdGh1Yi5jb20vYml0Y29pbi9iaXBzIl0sImJpdGJ1Y2tldCI6W119fSwiaW1hZ2UiOnsidGh1bWIiOiJodHRwczovL2NvaW4taW1hZ2VzLmNvaW5nZWNrby5jb20vY29pbnMvaW1hZ2VzLzEvdGh1bWIvYml0Y29pbi5wbmc/MTY5NjUwMTQwMCIsInNtYWxsIjoiaHR0cHM6Ly9jb2luLWltYWdlcy5jb2luZ2Vja28uY29tL2NvaW5zL2ltYWdlcy8xL3NtYWxsL2JpdGNvaW4ucG5nPzE2OTY1MDE0MDAiLCJsYXJnZSI6Imh0dHBzOi8vY29pbi1pbWFnZXMuY29pbmdlY2tvLmNvbS9jb2lucy9pbWFnZXMvMS9sYXJnZS9iaXRjb2luLnBuZz8xNjk2NTAxNDAwIn0sImNvdW50cnlfb3JpZ2luIjoiIiwiZ2VuZXNpc19kYXRlIjoiMjAwOS0wMS0wMyIsInNlbnRpbWVudF92b3Rlc191cF9wZXJjZW50YWdlIjo3Ny41NSwic2VudGltZW50X3ZvdGVzX2Rvd25fcGVyY2VudGFnZSI6MjIuNDUsIndhdGNobGlzdF9wb3J0Zm9saW9fdXNlcnMiOjI0MjE2NjAsIm1hcmtldF9jYXBfcmFuayI6MSwibWFya2V0X2NhcF9yYW5rX3dpdGhfcmVoeXBvdGhlY2F0ZWQiOjEsIm1hcmtldF9kYXRhIjp7ImN1cnJlbnRfcHJpY2UiOnsiYWVkIjoyNDAzMDEsImFycyI6OTc5MjA0MjMsImF1ZCI6OTMzOTEsImJjaCI6MzAxLjA4OCwiYmR0Ijo4MDczNjQxLCJiaGQiOjI0NjM0LCJibWQiOjY1NDMzLCJibmIiOjExMy44NjcsImJybCI6MzMyNzMyLCJidGMiOjEuMCwiY2FkIjo5MjIyMCwiY2hmIjo1MzI2NCwiY2xwIjo2MjA3MDc0MiwiY255Ijo0NDI5NDYsImN6ayI6MTM4Mjc0MCwiZGtrIjo0Mjg1OTgsImRvdCI6ODAxNDksImVvcyI6MTAxOTE0MywiZXRoIjozMy4zMTA1MjcsImV1ciI6NTczMzIsImdicCI6NDg5ODMsImdlbCI6MTcxNzYxLCJoa2QiOjUxMzEzNSwiaHVmIjoyMDU4NjM2MSwiaWRyIjoxMTc3NzA1NDkzLCJpbHMiOjE5ODc0MiwiaW5yIjo2MjkzMDY1LCJqcHkiOjEwNzAyNDg2LCJrcnciOjk2MDcxMjUyLCJrd2QiOjIwMjkwLCJsa3IiOjIxOTk1Njc0LCJsdGMiOjEzODIsIm1tayI6MTM3Mzg3MDE5LCJteG4iOjExNDAxNTEsIm15ciI6MjY3MzI1LCJuZ24iOjg5MzE4ODY5LCJub2siOjYyNzE0OSwibnpkIjoxMTI3MTksInBocCI6NDAzODM0MSwicGtyIjoxODE0Mzc1NywicGxuIjoyNDcxMzksInJ1YiI6NTA5MDg2Miwic2FyIjoyNDUyMTUsInNlayI6NjMyNDQ2LCJzZ2QiOjg0Mzg0LCJzb2wiOjg1NC4wNjksInRoYiI6MjE5MzgyNywidHJ5IjozMDk5MDAyLCJ0d2QiOjIxMTYyMjMsInVhaCI6MjkyNzI2MywidXNkIjo2NTQzMywidmVmIjo2NTUxLjc3LCJ2bmQiOjE3MjE5MTI0MzIsInhhZyI6MTA5OS4xNSwieGF1IjoxNS45NywieGRyIjo0NjgxMiwieGxtIjozNTg4OTMsInhycCI6NTg5NTUsInlmaSI6MzAuNzg2NzQyLCJ6YXIiOjEwOTA1NjgsImJpdHMiOjEwMDAwMTYsImxpbmsiOjc0MTIsInNhdHMiOjEwMDAwMTYwMH0sInRvdGFsX3ZhbHVlX2xvY2tlZCI6bnVsbCwibWNhcF90b190dmxfcmF0aW8iOm51bGwsImZkdl90b190dmxfcmF0aW8iOm51bGwsInJvaSI6bnVsbCwiYXRoIjp7ImFlZCI6NDYzMDkxLCJhcnMiOjE4MDg5NTg3MiwiYXVkIjoxOTA1MzgsImJjaCI6MzMxLjgwNywiYmR0IjoxNTM0ODM1NSwiYmhkIjo0NzUyMSwiYm1kIjoxMjYwODAsImJuYiI6MTQzMDYyLCJicmwiOjY4NTc4MCwiYnRjIjoxLjAwMzMwMSwiY2FkIjoxNzU5MDksImNoZiI6MTAwMjkzLCJjbHAiOjEyMTMzNTUwMSwiY255Ijo4OTc2MzIsImN6ayI6MjY2NTk1MCwiZGtrIjo4MDM2NzAsImRvdCI6ODEzODUsImVvcyI6MTA0NjM5NSwiZXRoIjo2MjQuMjAzLCJldXIiOjEwNzY2MiwiZ2JwIjo5MzUyOSwiZ2VsIjozNDM1NjgsImhrZCI6OTgxMjQ4LCJodWYiOjQzNTgyMzEzLCJpZHIiOjIwOTE0Njg0NTksImlscyI6NDE5NTMzLCJpbnIiOjExMTg3MDEzLCJqcHkiOjE4OTYyNzE1LCJrcnciOjE3Nzg1NDM5NSwia3dkIjozODU5NSwibGtyIjozODExMTU2MiwibHRjIjoxNTA3LCJtbWsiOjI2NDcwNDcyMywibXhuIjoyMzEzMzQ1LCJteXIiOjUzMTQyNywibmduIjoxOTAzMzc5NDAsIm5vayI6MTI2NDAyMCwibnpkIjoyMTU4NDgsInBocCI6NzM0MjEzNiwicGtyIjozNTU2NDg2NSwicGxuIjo0NTgwMzgsInJ1YiI6MTEyNTc3NjIsInNhciI6NDcyODg2LCJzZWsiOjEyMTMwOTksInNnZCI6MTYyODI0LCJzb2wiOjk5MS40NzMsInRoYiI6NDA4NDk4OCwidHJ5Ijo1MjU2MDE3LCJ0d2QiOjM4NDU0MTEsInVhaCI6NTIwNjMxOCwidXNkIjoxMjYwODAsInZlZiI6ODYxODc2ODg1Nywidm5kIjozMzI0MDE0OTQ5LCJ4YWciOjM1ODguMSwieGF1Ijo0MS4wMSwieGRyIjo4Nzc4NSwieGxtIjo3ODk0MjAsInhycCI6MTU5Mjg4LCJ5ZmkiOjM2Ljc5NTEyNywiemFyIjoyMTk4MTQ2LCJiaXRzIjoxMDU4MjM2LCJsaW5rIjo3NDkwNiwic2F0cyI6MTA1ODIzNTc5fSwiYXRoX2NoYW5nZV9wZXJjZW50YWdlIjp7ImFlZCI6LTQ4LjEwOTI4LCJhcnMiOi00NS44NjkxOCwiYXVkIjotNTAuOTg1OCwiYmNoIjotOS4yNTgwMywiYmR0IjotNDcuMzk3MzUsImJoZCI6LTQ4LjE2MTY5LCJibWQiOi00OC4xMDIyMSwiYm5iIjotOTkuOTIwNDEsImJybCI6LTUxLjQ4MTI3LCJidGMiOi0wLjMyODk2LCJjYWQiOi00Ny41NzUwMiwiY2hmIjotNDYuODkxMjYsImNscCI6LTQ4Ljg0MzcxLCJjbnkiOi01MC42NTM4OSwiY3prIjotNDguMTMzMzIsImRrayI6LTQ2LjY2OTgyLCJkb3QiOi0xLjUxNzc4LCJlb3MiOi0yLjYwNDM4LCJldGgiOi05NC42NjM1MSwiZXVyIjotNDYuNzQ3NjksImdicCI6LTQ3LjYyNzgxLCJnZWwiOi01MC4wMDY3MiwiaGtkIjotNDcuNzA1ODUsImh1ZiI6LTUyLjc2NDQxLCJpZHIiOi00My42OTAwMiwiaWxzIjotNTIuNjI3ODUsImluciI6LTQzLjc0NjY5LCJqcHkiOi00My41NjAzNywia3J3IjotNDUuOTgzMiwia3dkIjotNDcuNDI4NDcsImxrciI6LTQyLjI4NjA5LCJsdGMiOi04LjI4ODQzLCJtbWsiOi00OC4wOTgwMSwibXhuIjotNTAuNzE0MTgsIm15ciI6LTQ5LjY5NjcsIm5nbiI6LTUzLjA3MzUzLCJub2siOi01MC4zODQ1OCwibnpkIjotNDcuNzc4NTgsInBocCI6LTQ0Ljk5Nzc0LCJwa3IiOi00OC45ODQwNCwicGxuIjotNDYuMDQ0MDcsInJ1YiI6LTU0Ljc3OTA5LCJzYXIiOi00OC4xNDUwMiwic2VrIjotNDcuODY1MjIsInNnZCI6LTQ4LjE3NDc1LCJzb2wiOi0xMy44NTg1NywidGhiIjotNDYuMjk1NCwidHJ5IjotNDEuMDM4OTUsInR3ZCI6LTQ0Ljk2NzU3LCJ1YWgiOi00My43NzQ3OSwidXNkIjotNDguMTAyMjEsInZlZiI6LTk5Ljk5OTkyLCJ2bmQiOi00OC4xOTc4MSwieGFnIjotNjkuMzY2NjksInhhdSI6LTYxLjA0ODQyLCJ4ZHIiOi00Ni42NzM3OCwieGxtIjotNTQuNTM3MjEsInhycCI6LTYyLjk4ODYyLCJ5ZmkiOi0xNi4zMjkyOSwiemFyIjotNTAuMzg2OTEsImJpdHMiOi01LjUwMTU5LCJsaW5rIjotOTAuMTA0ODUsInNhdHMiOi01LjUwMTU5fSwiYXRoX2RhdGUiOnsiYWVkIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiYXJzIjoiMjAyNS0xMC0wOVQxMzoyNTozMy43ODlaIiwiYXVkIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiYmNoIjoiMjAyNi0wNi0yM1QwODoyNjozNi44MzdaIiwiYmR0IjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiYmhkIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiYm1kIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiYm5iIjoiMjAxNy0xMC0xOVQwMDowMDowMC4wMDBaIiwiYnJsIjoiMjAyNS0wNy0xNFQwNzo1NjowMS45MzdaIiwiYnRjIjoiMjAxOS0xMC0xNVQxNjowMDo1Ni4xMzZaIiwiY2FkIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiY2hmIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiY2xwIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiY255IjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiY3prIjoiMjAyNS0wMS0yMFQwNzoxNjoyNS4yNzFaIiwiZGtrIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiZG90IjoiMjAyNi0wNy0yNFQxMzoyMDowMC4yNDBaIiwiZW9zIjoiMjAyNi0wNy0yNVQxNToyMToxNi42OTFaIiwiZXRoIjoiMjAxNS0xMC0yMFQwMDowMDowMC4wMDBaIiwiZXVyIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiZ2JwIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiZ2VsIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiaGtkIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiaHVmIjoiMjAyNS0wMS0yMFQwOToxMTo1NC40OTRaIiwiaWRyIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwiaWxzIjoiMjAyNS0wOC0xNFQwMDozNzowMi41ODJaIiwiaW5yIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwianB5IjoiMjAyNS0xMC0wOFQxNzo1Njo0NC4yMjRaIiwia3J3IjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwia3dkIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwibGtyIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwibHRjIjoiMjAyNi0wNi0yNFQwNDozNDowMi43OTdaIiwibW1rIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwibXhuIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwibXlyIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwibmduIjoiMjAyNS0wOC0xNFQwMDozNzowMi41ODJaIiwibm9rIjoiMjAyNS0wOC0xNFQwMDozNzowMi41ODJaIiwibnpkIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwicGhwIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwicGtyIjoiMjAyNS0xMC0wNlQxNzoxMzoxMy4wNTZaIiwicGxuIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwicnViIjoiMjAyNC0xMi0xN1QxODoxMDozOC44MDVaIiwic2FyIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwic2VrIjoiMjAyNS0wMS0yMFQwNzoxNjoyNS4yNzFaIiwic2dkIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwic29sIjoiMjAyNi0wNi0wNlQwNTowNzoyNy45MDlaIiwidGhiIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwidHJ5IjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwidHdkIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwidWFoIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwidXNkIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwidmVmIjoiMjAyMS0wMS0wM1QxMjowNDoxNy4zNzJaIiwidm5kIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwieGFnIjoiMjAyNS0wMS0yMFQwOToxMTo1NC40OTRaIiwieGF1IjoiMjAyNC0xMi0xN1QxNTowMjo0MS40MjlaIiwieGRyIjoiMjAyNS0xMC0wNlQxODo1Nzo0Mi41NThaIiwieGxtIjoiMjAyNC0xMS0wNlQyMTowMjowMy43NjdaIiwieHJwIjoiMjAyMS0wMS0wM1QwNzo1NDo0MC4yNDBaIiwieWZpIjoiMjAyNi0wNi0zMFQwMToyMjowMC42ODhaIiwiemFyIjoiMjAyNS0wNy0xNFQwNjoyNTozNS4xMjhaIiwiYml0cyI6IjIwMjEtMDUtMTlUMTY6MDA6MTEuMDcyWiIsImxpbmsiOiIyMDE3LTEyLTEyVDAwOjAwOjAwLjAwMFoiLCJzYXRzIjoiMjAyMS0wNS0xOVQxNjowMDoxMS4wNzJaIn0sImF0bCI6eyJhZWQiOjYzMi4zMSwiYXJzIjoxNDc4Ljk4LCJhdWQiOjcyLjYxLCJiY2giOjMuNTEzODg5LCJiZHQiOjkzOTAuMjUsImJoZCI6NDUuOTEsImJtZCI6MTIxLjc3LCJibmIiOjUyLjE3LCJicmwiOjE0OS42NiwiYnRjIjowLjk5ODk1MTM0LCJjYWQiOjY5LjgxLCJjaGYiOjYzLjI2LCJjbHAiOjEwNzQwOCwiY255Ijo0MDcuMjMsImN6ayI6NDEwMS41NiwiZGtrIjozODIuNDcsImRvdCI6OTkxLjg4MiwiZW9zIjo5MDguMTQxLCJldGgiOjYuNzc5NzM1LCJldXIiOjUxLjMsImdicCI6NDMuOSwiZ2VsIjoxMDIyNzIsImhrZCI6NTE0LjM3LCJodWYiOjQ2NTk4LCJpZHIiOjY1ODc4MCwiaWxzIjo2NzIuMTgsImluciI6Mzk5My40MiwianB5Ijo2NjQxLjgzLCJrcnciOjc1NTk0LCJrd2QiOjUwLjYxLCJsa3IiOjIyNjQ2LCJsdGMiOjIwLjcwNzgzNSwibW1rIjoxMTc1ODgsIm14biI6ODU5LjMyLCJteXIiOjIxMS4xOCwibmduIjoxMDkzMi42NCwibm9rIjoxMzE2LjAzLCJuemQiOjg0Ljg1LCJwaHAiOjI4ODAuNSwicGtyIjoxNzMxNS44NCwicGxuIjoyMjAuMTEsInJ1YiI6MjIwNi40Mywic2FyIjo2NDYuMDQsInNlayI6NDQzLjgxLCJzZ2QiOjg0LjQ3LCJzb2wiOjQ2NS4yMDUsInRoYiI6NTY0NC4zNSwidHJ5IjozOTIuOTEsInR3ZCI6MTk5OC42NiwidWFoIjo1NTMuMzcsInVzZCI6NjcuODEsInZlZiI6NzY2LjE5LCJ2bmQiOjM2NzIzMzksInhhZyI6My4zNywieGF1IjowLjA1MzEsInhkciI6NDQuMzksInhsbSI6MjE2MDgsInhycCI6OTkwOCwieWZpIjowLjIzOTU4MDc1LCJ6YXIiOjY2Ni4yNiwiYml0cyI6OTUwOTkzLCJsaW5rIjo1OTguNDc3LCJzYXRzIjo5NTA5OTI2OH0sImF0bF9jaGFuZ2VfcGVyY2VudGFnZSI6eyJhZWQiOjM3OTAzLjUwMzU5LCJhcnMiOjY2MjA3MjAuNDAwNTksImF1ZCI6MTI4NTIwLjQ2NTYzLCJiY2giOjg0NjguNTE3MDcsImJkdCI6ODU4NzguOTM2MjMsImJoZCI6NTM1NTMuODM1NzksImJtZCI6NTM2MzQuNjQxMDUsImJuYiI6MTE4LjI2MzkzLCJicmwiOjIyMjIyNy4yODY3NiwiYnRjIjowLjEwNDk4LCJjYWQiOjEzMjAwOC42MzcyOSwiY2hmIjo4NDA5Ny41Njg0MSwiY2xwIjo1NzY4OS41NzI0MSwiY255IjoxMDg2NzEuODQ1OTIsImN6ayI6MzM2MTIuNTQ1MTgsImRrayI6MTExOTYxLjQxOTk5LCJkb3QiOjc5ODAuNTM4MjMsImVvcyI6MTEyMTIyLjk2MTg2LCJldGgiOjM5MS4zMjQ5MywiZXVyIjoxMTE2NjIuMzYyNjksImdicCI6MTExNDcyLjkxNDMzLCJnZWwiOjY3Ljk0NTczLCJoa2QiOjk5NjU5LjAyNDc1LCJodWYiOjQ0MDc4LjU5NDkyLCJpZHIiOjE3ODY3MC42ODc2NSwiaWxzIjoyOTQ2Ni41OTU0OCwiaW5yIjoxNTc0ODUuODg0NywianB5IjoxNjEwMzcuNTY4ODcsImtydyI6MTI2OTg4LjgwMTMyLCJrd2QiOjM5OTkwLjE2MDE1LCJsa3IiOjk3MDI3LjAxOTQxLCJsdGMiOjY1NzUuMTM1NzMsIm1tayI6MTE2NzM3LjY2MDY5LCJteG4iOjEzMjU4MC44MzU4NSwibXlyIjoxMjY0ODguODA4OTEsIm5nbiI6ODE2ODkyLjUwNDk4LCJub2siOjQ3NTU0Ljc0MTMsIm56ZCI6MTMyNzM4LjAxODcxLCJwaHAiOjE0MDA5NS43MTgxLCJwa3IiOjEwNDY4MS4yNDE3NCwicGxuIjoxMTIxNzguODM3NDgsInJ1YiI6MjMwNjI4LjEzMiwic2FyIjozNzg1Ni42Njc1Mywic2VrIjoxNDI0MDUuMzMzNTUsInNnZCI6OTk4MDMuMDQ1Miwic29sIjo4My41ODk4OSwidGhiIjozODc2Ny42NzUxNiwidHJ5Ijo3ODg2MzIuMTkyMywidHdkIjoxMDU3ODIuMzU1OTgsInVhaCI6NTI4ODkwLjM2OTEyLCJ1c2QiOjk2Mzk1LjU1NzI0LCJ2ZWYiOjc1NS4xMTEzNiwidm5kIjo0Njc4OC43MDY5OCwieGFnIjozMjUxOC43NjA5OSwieGF1IjoyOTk4My4wMTAwMSwieGRyIjoxMDUzNTMuODI5NzcsInhsbSI6MTU2MC45MDIxOSwieHJwIjo0OTUuMDIyNDIsInlmaSI6MTI3NTAuMjU3MTQsInphciI6MTYzNTgzLjkzMDU0LCJiaXRzIjo1LjE1NDk2LCJsaW5rIjoxMTM4LjQ5MTM3LCJzYXRzIjo1LjE1NDk2fSwiYXRsX2RhdGUiOnsiYWVkIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwiYXJzIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwiYXVkIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiYmNoIjoiMjAxNy0wOC0wMlQwMDowMDowMC4wMDBaIiwiYmR0IjoiMjAxMy0wOS0wOFQwMDowMDowMC4wMDBaIiwiYmhkIjoiMjAxMy0wOS0wOFQwMDowMDowMC4wMDBaIiwiYm1kIjoiMjAxMy0wOS0wOFQwMDowMDowMC4wMDBaIiwiYm5iIjoiMjAyMi0xMS0yN1QwMjozNTowNi4zNDVaIiwiYnJsIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiYnRjIjoiMjAxOS0xMC0yMVQwMDowMDowMC4wMDBaIiwiY2FkIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiY2hmIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiY2xwIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwiY255IjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiY3prIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwiZGtrIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiZG90IjoiMjAyMS0wNS0xOVQxMTowNDo0OC45NzhaIiwiZW9zIjoiMjAxOS0wNC0xMVQwMDowMDowMC4wMDBaIiwiZXRoIjoiMjAxNy0wNi0xMlQwMDowMDowMC4wMDBaIiwiZXVyIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiZ2JwIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiZ2VsIjoiMjAyNC0wMS0yM1QxNDoyNToxNS4wMjRaIiwiaGtkIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiaHVmIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwiaWRyIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiaWxzIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwiaW5yIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwianB5IjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwia3J3IjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwia3dkIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwibGtyIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwibHRjIjoiMjAxMy0xMS0yOFQwMDowMDowMC4wMDBaIiwibW1rIjoiMjAxMy0wOS0wOFQwMDowMDowMC4wMDBaIiwibXhuIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwibXlyIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwibmduIjoiMjAxMy0wNy0wNlQwMDowMDowMC4wMDBaIiwibm9rIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwibnpkIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwicGhwIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwicGtyIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwicGxuIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwicnViIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwic2FyIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwic2VrIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwic2dkIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwic29sIjoiMjAyNS0wOS0xNFQwMzowNzoyMS4wNjRaIiwidGhiIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwidHJ5IjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwidHdkIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwidWFoIjoiMjAxMy0wNy0wNlQwMDowMDowMC4wMDBaIiwidXNkIjoiMjAxMy0wNy0wNlQwMDowMDowMC4wMDBaIiwidmVmIjoiMjAxMy0wOS0wOFQwMDowMDowMC4wMDBaIiwidm5kIjoiMjAxNS0wMS0xNFQwMDowMDowMC4wMDBaIiwieGFnIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwieGF1IjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwieGRyIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwieGxtIjoiMjAxOC0xMS0yMFQwMDowMDowMC4wMDBaIiwieHJwIjoiMjAxOC0xMi0yNVQwMDowMDowMC4wMDBaIiwieWZpIjoiMjAyMC0wOS0xMlQyMDowOTozNi4xMjJaIiwiemFyIjoiMjAxMy0wNy0wNVQwMDowMDowMC4wMDBaIiwiYml0cyI6IjIwMjEtMDUtMTlUMTM6MTQ6MTMuMDcxWiIsImxpbmsiOiIyMDIwLTA4LTE2VDA4OjEzOjEzLjMzOFoiLCJzYXRzIjoiMjAyMS0wNS0xOVQxMzoxNDoxMy4wNzFaIn0sIm1hcmtldF9jYXAiOnsiYWVkIjo0ODIwNDA3MzI3MjE2LCJhcnMiOjE5NjQyNjcxNTgyOTcyMjUsImF1ZCI6MTg3MzM5ODY0MDkxNywiYmNoIjo2MDM5Nzc4OTExLCJiZHQiOjE2MTk1NTg3NjA1ODQ4MCwiYmhkIjo0OTQxNTgzNjM4ODQsImJtZCI6MTMxMjU2ODM2NjgzOSwiYm5iIjoyMjg0MTYwMjQ3LCJicmwiOjY2NzQ1NDE0MDIyMTMsImJ0YyI6MjAwNjE4MTUsImNhZCI6MTg0OTkyNTk4MDgxMywiY2hmIjoxMDY4NDcxMzQwMjI2LCJjbHAiOjEyNDUxMjg2MDQxNTA3MjMsImNueSI6ODg4NTQzMTU1OTMxNiwiY3prIjoyNzczNzUyMjg3MDEzMSwiZGtrIjo4NTk3NjExNTY3ODM2LCJkb3QiOjE2MDc3ODM2MTUxODUsImVvcyI6MjA0NDM4NDIxMDg2MjYsImV0aCI6NjY4MjAzNTQyLCJldXIiOjExNTAwNzYzNDA3MjksImdicCI6OTgyNTg5OTkxOTg0LCJnZWwiOjM0NDU0OTE5NjI5NTIsImhrZCI6MTAyOTM0MDkyMDgxNzIsImh1ZiI6NDEyOTU4OTI5OTQzMTAxLCJpZHIiOjIzNjI0NTczNDYxOTEwOTE2LCJpbHMiOjM5ODY3Mjk1MjkwMTgsImluciI6MTI2MjM3ODI0NjM3MDg4LCJqcHkiOjIxNDY5MDA3MjIxNDI2MCwia3J3IjoxOTI3MTczMTA2MDE3NTMwLCJrd2QiOjQwNzAxNDMyNDg3MywibGtyIjo0NDEyMjk1MDI1Nzc4MjYsImx0YyI6Mjc3MjgyMjU0ODksIm1tayI6Mjc1NTk2MDQyMjgwMDY0MywibXhuIjoyMjg3MTIzNjAyODIyMSwibXlyIjo1MzYyNDk4MDYyNzIwLCJuZ24iOjE3OTE3MjE0NDkxNTM0NDgsIm5vayI6MTI1ODA1MDMxNDY5NDksIm56ZCI6MjI2MTExOTUyMzM2NiwicGhwIjo4MTAwODQzOTQ5Mjk0OSwicGtyIjozNjM5NjA2OTYzNjg1NjUsInBsbiI6NDk1NzU2MTUzMzU3MiwicnViIjoxMDIxMjE4MzAxNDg5OTYsInNhciI6NDkxODk2Njc3MzMxMywic2VrIjoxMjY4Njc2NzM2OTM2MCwic2dkIjoxNjkyNzI0OTE3NzkwLCJzb2wiOjE3MTMyNDg2NTIwLCJ0aGIiOjQ0MDA3NzkyMjAzMzc1LCJ0cnkiOjYyMTY1NDY1MjgyMDA5LCJ0d2QiOjQyNDUxMDg0ODA3NzM2LCJ1YWgiOjU4NzIwMzk4NTkxMjA4LCJ1c2QiOjEzMTI1NjgzNjY4MzksInZlZiI6MTMxNDI3NDcwNTcyLCJ2bmQiOjM0NTQxMjcyODExOTY0NjI4LCJ4YWciOjIyMDQ4ODUxNTY4LCJ4YXUiOjMyMDQzNzMxNSwieGRyIjo5MzkwNDk0NzQxMTksInhsbSI6NzE5OTMyMzE4OTk0MCwieHJwIjoxMTgyNjIxNTY0MDcyLCJ5ZmkiOjYxNzU3Njg1MSwiemFyIjoyMTg3NjYwODQ3MTc0NSwiYml0cyI6MjAwNjAxNTIxODA3ODEsImxpbmsiOjE0ODY4NTIyODE3OCwic2F0cyI6MjAwNjAxNTIxODA3ODA2OX0sIm1hcmtldF9jYXBfcmFuayI6MSwib3V0c3RhbmRpbmdfdG9rZW5fdmFsdWVfdXNkIjpudWxsLCJtYXJrZXRfY2FwX3Jhbmtfd2l0aF9yZWh5cG90aGVjYXRlZCI6MSwiZnVsbHlfZGlsdXRlZF92YWx1YXRpb24iOnsiYWVkIjo0ODIwNDA3MzI3MjE2LCJhcnMiOjE5NjQyNjcxNTgyOTcyMjUsImF1ZCI6MTg3MzM5ODY0MDkxNywiYmNoIjo2MDM5Nzc4OTExLCJiZHQiOjE2MTk1NTg3NjA1ODQ4MCwiYmhkIjo0OTQxNTgzNjM4ODQsImJtZCI6MTMxMjU2ODM2NjgzOSwiYm5iIjoyMjg0MTYwMjQ3LCJicmwiOjY2NzQ1NDE0MDIyMTMsImJ0YyI6MjAwNjE4MTUsImNhZCI6MTg0OTkyNTk4MDgxMywiY2hmIjoxMDY4NDcxMzQwMjI2LCJjbHAiOjEyNDUxMjg2MDQxNTA3MjMsImNueSI6ODg4NTQzMTU1OTMxNiwiY3prIjoyNzczNzUyMjg3MDEzMSwiZGtrIjo4NTk3NjExNTY3ODM2LCJkb3QiOjE2MDc3ODM2MTUxODUsImVvcyI6MjA0NDM4NDIxMDg2MjYsImV0aCI6NjY4MjAzNTQyLCJldXIiOjExNTAwNzYzNDA3MjksImdicCI6OTgyNTg5OTkxOTg0LCJnZWwiOjM0NDU0OTE5NjI5NTIsImhrZCI6MTAyOTM0MDkyMDgxNzIsImh1ZiI6NDEyOTU4OTI5OTQzMTAxLCJpZHIiOjIzNjI0NTczNDYxOTEwOTE2LCJpbHMiOjM5ODY3Mjk1MjkwMTgsImluciI6MTI2MjM3ODI0NjM3MDg4LCJqcHkiOjIxNDY5MDA3MjIxNDI2MCwia3J3IjoxOTI3MTczMTA2MDE3NTMwLCJrd2QiOjQwNzAxNDMyNDg3MywibGtyIjo0NDEyMjk1MDI1Nzc4MjYsImx0YyI6Mjc3MjgyMjU0ODksIm1tayI6Mjc1NTk2MDQyMjgwMDY0MywibXhuIjoyMjg3MTIzNjAyODIyMSwibXlyIjo1MzYyNDk4MDYyNzIwLCJuZ24iOjE3OTE3MjE0NDkxNTM0NDgsIm5vayI6MTI1ODA1MDMxNDY5NDksIm56ZCI6MjI2MTExOTUyMzM2NiwicGhwIjo4MTAwODQzOTQ5Mjk0OSwicGtyIjozNjM5NjA2OTYzNjg1NjUsInBsbiI6NDk1NzU2MTUzMzU3MiwicnViIjoxMDIxMjE4MzAxNDg5OTYsInNhciI6NDkxODk2Njc3MzMxMywic2VrIjoxMjY4Njc2NzM2OTM2MCwic2dkIjoxNjkyNzI0OTE3NzkwLCJzb2wiOjE3MTMyNDg2NTIwLCJ0aGIiOjQ0MDA3NzkyMjAzMzc1LCJ0cnkiOjYyMTY1NDY1MjgyMDA5LCJ0d2QiOjQyNDUxMDg0ODA3NzM2LCJ1YWgiOjU4NzIwMzk4NTkxMjA4LCJ1c2QiOjEzMTI1NjgzNjY4MzksInZlZiI6MTMxNDI3NDcwNTcyLCJ2bmQiOjM0NTQxMjcyODExOTY0NjI4LCJ4YWciOjIyMDQ4ODUxNTY4LCJ4YXUiOjMyMDQzNzMxNSwieGRyIjo5MzkwNDk0NzQxMTksInhsbSI6NzE5OTMyMzE4OTk0MCwieHJwIjoxMTgyNjIxNTY0MDcyLCJ5ZmkiOjYxNzU3Njg1MSwiemFyIjoyMTg3NjYwODQ3MTc0NSwiYml0cyI6MjAwNjAxNTIxODA3ODEsImxpbmsiOjE0ODY4NTIyODE3OCwic2F0cyI6MjAwNjAxNTIxODA3ODA2OX0sIm1hcmtldF9jYXBfZmR2X3JhdGlvIjoxLjAsInRvdGFsX3ZvbHVtZSI6eyJhZWQiOjYwODczMDY1Njg4LCJhcnMiOjI0ODA1MTU3NjYzOTQxLCJhdWQiOjIzNjU3NjUxODkzLCJiY2giOjc2MjcxNTMzLCJiZHQiOjIwNDUyMTExMjI3NjUsImJoZCI6NjI0MDMzMDQzMywiYm1kIjoxNjU3NTM3NTI3MiwiYm5iIjoyODg0NDgzMSwiYnJsIjo4NDI4NzQ0MDc5OCwiYnRjIjoyNTMzMjQsImNhZCI6MjMzNjEyMzQ0NTcsImNoZiI6MTM0OTI4NjkzMDgsImNscCI6MTU3MjM3MzI0OTA5NTksImNueSI6MTEyMjA3MDAyOTA3LCJjemsiOjM1MDI3NDk3NDEwMSwiZGtrIjoxMDg1NzIzNTQ2MTcsImRvdCI6MjAzMDM0MTIzNDIsImVvcyI6MjU4MTY4OTE3OTE5LCJldGgiOjg0MzgyMDgsImV1ciI6MTQ1MjMzOTM1NDAsImdicCI6MTI0MDgzNDI1MDQsImdlbCI6NDM1MTAzNjAwOTAsImhrZCI6MTI5OTg3MjI1NjMzLCJodWYiOjUyMTQ5Mjc3NzczNjYsImlkciI6Mjk4MzM1ODI4MTk0NjAyLCJpbHMiOjUwMzQ1MjE2MDg0LCJpbnIiOjE1OTQxNTY0NDE1MjUsImpweSI6MjcxMTE0OTA3NTQ1Miwia3J3IjoyNDMzNjcyNjU2OTI2OCwia3dkIjo1MTM5ODU4MTE4LCJsa3IiOjU1NzE5MzQyMTAyNzAsImx0YyI6MzUwMTU3NTY1LCJtbWsiOjM0ODAyODE4MTk4MzIxLCJteG4iOjI4ODgyMjUzMjc0NiwibXlyIjo2NzcxODY5NTY3NiwibmduIjoyMjYyNjIxNjAxNTY2OSwibm9rIjoxNTg4NjkxMDQzMDQsIm56ZCI6Mjg1NTM4Njg1NzAsInBocCI6MTAyMjk5MDczOTk1MywicGtyIjo0NTk2MTY4MzA1NzA0LCJwbG4iOjYyNjA1MDc2Mzc2LCJydWIiOjEyODk2MTQ4NTA1NDQsInNhciI6NjIxMTc2OTQwNDIsInNlayI6MTYwMjExMDMwMTEwLCJzZ2QiOjIxMzc2MDY4MDYyLCJzb2wiOjIxNjM1MjQ1OSwidGhiIjo1NTU3MzkxODIxMzUsInRyeSI6Nzg1MDM3OTAxMzE1LCJ0d2QiOjUzNjA4MDc3MDQ4NiwidWFoIjo3NDE1MzI5MTE2NDcsInVzZCI6MTY1NzUzNzUyNzIsInZlZiI6MTY1OTY5MjMyNiwidm5kIjo0MzYxOTQwODYxMjI1NDUsInhhZyI6Mjc4NDM3Mjk4LCJ4YXUiOjQwNDY1NDYsInhkciI6MTE4NTg1MDQxNTYsInhsbSI6OTA5MTQ0ODk5MzksInhycCI6MTQ5MzQzODExMTUsInlmaSI6Nzc5ODg4NCwiemFyIjoyNzYyNjIxNzc0NzUsImJpdHMiOjI1MzMyMzYwNDk0MSwibGluayI6MTg3NzYyNjczMywic2F0cyI6MjUzMzIzNjA0OTQwOTJ9LCJoaWdoXzI0aCI6eyJhZWQiOjI0MDY5MSwiYXJzIjo5ODA3ODAyMCwiYXVkIjo5MzYyMCwiYmNoIjozMDcuNDI2LCJiZHQiOjgwODY3MTksImJoZCI6MjQ2OTUsImJtZCI6NjU1MzksImJuYiI6MTE0LjAzNCwiYnJsIjozMzMzMzYsImJ0YyI6MS4wLCJjYWQiOjkyMzU4LCJjaGYiOjUzNDY2LCJjbHAiOjYyMTIzMzUxLCJjbnkiOjQ0MzY0NCwiY3prIjoxMzg3OTYzLCJka2siOjQyOTY1NiwiZG90Ijo4MDI4MCwiZW9zIjoxMDQwMzE1LCJldGgiOjM0LjI3MDQ2MSwiZXVyIjo1NzQ3MywiZ2JwIjo0OTA2OCwiZ2VsIjoxNzIwMzksImhrZCI6NTEzOTY4LCJodWYiOjIwNzM3MTQzLCJpZHIiOjExNzkxNzQ0NDYsImlscyI6MTk5NDE5LCJpbnIiOjYzMTczMzMsImpweSI6MTA3MTk3NDUsImtydyI6OTYxMTQzMzIsImt3ZCI6MjAzMjQsImxrciI6MjIwMzEzMDMsImx0YyI6MTM4NCwibW1rIjoxMzc2MDk1NjYsIm14biI6MTE0MjcxNCwibXlyIjoyNjc3OTQsIm5nbiI6ODk0OTEzNjQsIm5vayI6NjI3NjczLCJuemQiOjExMjk0OSwicGhwIjo0MDQ2MDMwLCJwa3IiOjE4MTg5MDE2LCJwbG4iOjI0ODA5MiwicnViIjo1MTEyOTMzLCJzYXIiOjI0NjAxNSwic2VrIjo2MzQyMTAsInNnZCI6ODQ1MjIsInNvbCI6ODYyLjc1NCwidGhiIjoyMjA1MDEwLCJ0cnkiOjMxMDM0NDYsInR3ZCI6MjExOTc2MywidWFoIjoyOTM0NTg2LCJ1c2QiOjY1NTM5LCJ2ZWYiOjY1NjIuMzksInZuZCI6MTcyNDcwMTY3MSwieGFnIjoxMTE5LjA0LCJ4YXUiOjE2LjA1LCJ4ZHIiOjQ2OTMwLCJ4bG0iOjM2MzI5MiwieHJwIjo1OTA4NCwieWZpIjozMC45MzY4MjIsInphciI6MTA5NTUyOSwiYml0cyI6MTAwMDQwMywibGluayI6NzY2OSwic2F0cyI6MTAwMDQwMzI4fSwibG93XzI0aCI6eyJhZWQiOjIzNTk5NCwiYXJzIjo5NjE4NDg5OSwiYXVkIjo5MjA2MywiYmNoIjoyOTYuMzA4LCJiZHQiOjc5Mjg5MTcsImJoZCI6MjQyNDIsImJtZCI6NjQyNjAsImJuYiI6MTEyLjQ5OSwiYnJsIjozMjcxNzIsImJ0YyI6MS4wLCJjYWQiOjkwNjIyLCJjaGYiOjUyNjAxLCJjbHAiOjYwNzkzMTg4LCJjbnkiOjQzNTE4MCwiY3prIjoxMzY0NjUyLCJka2siOjQyMjQ2MywiZG90Ijo3NzY3NywiZW9zIjoxMDAyMDUwLCJldGgiOjMzLjI5MTI1NywiZXVyIjo1NjQ4NSwiZ2JwIjo0ODI0NSwiZ2VsIjoxNjg2ODIsImhrZCI6NTAzOTM1LCJodWYiOjIwMzcxNDMzLCJpZHIiOjExNTE2MzU4MzEsImlscyI6MTk1NzYxLCJpbnIiOjYxOTQ3NDYsImpweSI6MTA1MjkyODEsImtydyI6OTM3ODc3NDIsImt3ZCI6MTk4OTMuMiwibGtyIjoyMTYwMTM4NiwibHRjIjoxMzQ4LCJtbWsiOjEzNDkyNDI2MSwibXhuIjoxMTIzNTMwLCJteXIiOjI2Mjg1NCwibmduIjo4NzkyOTE1MSwibm9rIjo2MTU0MTYsIm56ZCI6MTExMDEzLCJwaHAiOjM5NjM4NjIsInBrciI6MTc4NTUyNDQsInBsbiI6MjQzOTc4LCJydWIiOjQ5OTIxNzQsInNhciI6MjQxMzEyLCJzZWsiOjYyNDUzNCwic2dkIjo4MjkzNywic29sIjo4NTEuMDA3LCJ0aGIiOjIxNjY4MDEsInRyeSI6MzA0MjIxNywidHdkIjoyMDc5NDQ1LCJ1YWgiOjI4ODA3MTQsInVzZCI6NjQyNjAsInZlZiI6NjQzNC4zMywidm5kIjoxNjkxNzY2MzMwLCJ4YWciOjEwODMuNiwieGF1IjoxNS44MiwieGRyIjo0NjA2OCwieGxtIjozNTcwNzcsInhycCI6NTg1MTgsInlmaSI6MzAuMTg1MzA4LCJ6YXIiOjEwODE3NjgsImJpdHMiOjk5OTA4MiwibGluayI6NzM5Niwic2F0cyI6OTk5MDgxOTF9LCJwcmljZV9jaGFuZ2VfMjRoIjoxMTczLCJwcmljZV9jaGFuZ2VfcGVyY2VudGFnZV8yNGgiOjEuODI1MjksInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzdkIjoyLjEwMzE4LCJwcmljZV9jaGFuZ2VfcGVyY2VudGFnZV8xNGQiOjQuMzExNzMsInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzMwZCI6OC43NDM2NywicHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfNjBkIjotMTAuMjEzNTgsInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzIwMGQiOi0yNy44NjYwMSwicHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfMXkiOi00NC42NjE1LCJtYXJrZXRfY2FwX2NoYW5nZV8yNGgiOjIzNTMzMDg1MTEyLCJtYXJrZXRfY2FwX2NoYW5nZV9wZXJjZW50YWdlXzI0aCI6MS44MjU2NCwicHJpY2VfY2hhbmdlXzI0aF9pbl9jdXJyZW5jeSI6eyJhZWQiOjQzMDcuNTcsImFycyI6MTczNTUyNCwiYXVkIjoxMzI3Ljg2LCJiY2giOi01LjUzMjg4MTc4NDA2MTk0MiwiYmR0IjoxNDQ3MjQsImJoZCI6MzkxLjc4LCJibWQiOjExNzIuOTMsImJuYiI6MS4xNjU5MzIsImJybCI6NTU1OS42MSwiYnRjIjowLjAsImNhZCI6MTU5OC4xMSwiY2hmIjo2NjIuODcsImNscCI6MTE1OTY2MiwiY255Ijo3NzY2LjYyLCJjemsiOjE4MDg3LjUsImRrayI6NjEzNS41NSwiZG90IjoxODA1LCJlb3MiOi0xMTcyLjMyODI1MzAwOTEyMzcsImV0aCI6LTAuODk4NDE1NDk4MzM2NDQwNSwiZXVyIjo4NDcuNjcsImdicCI6NzM4LjEsImdlbCI6MzA3OC45MywiaGtkIjo5MjAwLjgyLCJodWYiOjIxNDkyOCwiaWRyIjoyNjA2OTY2MiwiaWxzIjoyOTgxLjA0LCJpbnIiOjk4MzIwLCJqcHkiOjE3MzIwNiwia3J3IjoyMjgzNTEwLCJrd2QiOjM1NS42MiwibGtyIjozOTQyODgsImx0YyI6NS41OTUxNDIsIm1tayI6MjQ2Mjc1OSwibXhuIjoxNjYyMC43MiwibXlyIjo0NDcwLjY5LCJuZ24iOjEzODk3MTgsIm5vayI6MTE3MzMuNDIsIm56ZCI6MTY5Ni4zNywicGhwIjo3NDQ3OSwicGtyIjoyODg1MTIsInBsbiI6MzE2MC41NiwicnViIjo5ODY4Nywic2FyIjozOTAyLjY1LCJzZWsiOjc5MTIuMzIsInNnZCI6MTQ0Ni45Nywic29sIjotNS44Mzc3NzU3MjgyOTkxMDcsInRoYiI6MjcwMjYsInRyeSI6NTY3ODUsInR3ZCI6MzY3NzgsInVhaCI6NDY1NDksInVzZCI6MTE3Mi45MywidmVmIjoxMTcuNDUsInZuZCI6MzAxNDYxMDIsInhhZyI6LTUuNjQxNTczMzcwNDU0ODA3NCwieGF1IjowLjEzMjc2NiwieGRyIjo3NDQuNDMsInhsbSI6LTM1MTguNzI2NTE0NzU1NDU3LCJ4cnAiOjMwNi41MzMsInlmaSI6LTAuMDQ3NTEyNjA5ODU4MzgwMDIsInphciI6ODgwMC4wOCwiYml0cyI6NzEuMzEsImxpbmsiOi0yMzMuODQ4MzQ4NjMzMjIyNDksInNhdHMiOjcxMzAuOH0sInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzFoX2luX2N1cnJlbmN5Ijp7ImFlZCI6MC4xMzM2MSwiYXJzIjowLjEzNDU1LCJhdWQiOjAuMDY0MzUsImJjaCI6MC4yOTgwOSwiYmR0IjowLjEzMzYxLCJiaGQiOjAuMTMzNjEsImJtZCI6MC4xMzM2MSwiYm5iIjowLjA1MzgyLCJicmwiOjAuMTM3NTUsImJ0YyI6MC4wLCJjYWQiOjAuMjEyNCwiY2hmIjowLjAwNDM4LCJjbHAiOjAuMjEwODgsImNueSI6MC4xMzIxNCwiY3prIjowLjAzMzUsImRrayI6MC4wNzM1MSwiZG90IjowLjE0Nzk4LCJlb3MiOjAuMzUyMTMsImV0aCI6LTAuMTg0NywiZXVyIjowLjA3NTU5LCJnYnAiOjAuMTA0MzMsImdlbCI6MC4xMzM2MSwiaGtkIjowLjEzMjIsImh1ZiI6LTAuMTA5NzUsImlkciI6MC4xODA5NCwiaWxzIjotMC4wMzA5NSwiaW5yIjowLjA1NTExLCJqcHkiOjAuMTMxMiwia3J3IjowLjI1NTc4LCJrd2QiOjAuMTQwMDcsImxrciI6MC4xMzM2MSwibHRjIjowLjc1MTEzLCJtbWsiOjAuMTMzNjEsIm14biI6MC4xMTE5NCwibXlyIjowLjEzMzYxLCJuZ24iOjAuMTYyMjMsIm5vayI6MC4yNDY1NSwibnpkIjowLjA1NzU4LCJwaHAiOjAuMDk2MzIsInBrciI6MC4xMzM2MSwicGxuIjowLjAzNjIzLCJydWIiOi0wLjEwNzY0LCJzYXIiOjAuMTMzNjEsInNlayI6MC4wODM4Niwic2dkIjowLjExOTU2LCJzb2wiOi0wLjE5MTQ1LCJ0aGIiOjAuMDY3OTUsInRyeSI6MC4xNDY3MSwidHdkIjotMC4wMjA5NiwidWFoIjowLjEzMzYxLCJ1c2QiOjAuMTMzNjEsInZlZiI6MC4xMzM2MSwidm5kIjowLjEzMzYxLCJ4YWciOi0wLjM1ODgzLCJ4YXUiOi0wLjA5NTU1LCJ4ZHIiOjAuMTMzNjEsInhsbSI6LTAuMDkyMTQsInhycCI6LTAuMDU0NiwieWZpIjowLjc4NTQ4LCJ6YXIiOi0wLjA0MTM1LCJiaXRzIjowLjAyMDU5LCJsaW5rIjotMC4yNzg2NSwic2F0cyI6MC4wMjA1OX0sInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzI0aF9pbl9jdXJyZW5jeSI6eyJhZWQiOjEuODI1MjksImFycyI6MS44MDQzNiwiYXVkIjoxLjQ0MjM0LCJiY2giOi0xLjgwNDQ3LCJiZHQiOjEuODI1MjcsImJoZCI6MS42MTYxMSwiYm1kIjoxLjgyNTI5LCJibmIiOjEuMDM0NTMsImJybCI6MS42OTkyOSwiYnRjIjowLjAsImNhZCI6MS43NjM0OCwiY2hmIjoxLjI2MDE3LCJjbHAiOjEuOTAzODYsImNueSI6MS43ODQ2OSwiY3prIjoxLjMyNTQzLCJka2siOjEuNDUyMzMsImRvdCI6Mi4zMDQ1MiwiZW9zIjotMC4xMTQ5LCJldGgiOi0yLjYyNjI2LCJldXIiOjEuNTAwNywiZ2JwIjoxLjUyOTksImdlbCI6MS44MjUyOSwiaGtkIjoxLjgyNTgsImh1ZiI6MS4wNTUwNSwiaWRyIjoyLjI2MzcxLCJpbHMiOjEuNTIyOCwiaW5yIjoxLjU4NzE1LCJqcHkiOjEuNjQ0OTksImtydyI6Mi40MzQ3Niwia3dkIjoxLjc4MzkzLCJsa3IiOjEuODI1MjksImx0YyI6MC40MDY0MiwibW1rIjoxLjgyNTI5LCJteG4iOjEuNDc5MzMsIm15ciI6MS43MDA4MiwibmduIjoxLjU4MDUsIm5vayI6MS45MDY1OCwibnpkIjoxLjUyNzk2LCJwaHAiOjEuODc4OTQsInBrciI6MS42MTU4NCwicGxuIjoxLjI5NTQzLCJydWIiOjEuOTc2ODQsInNhciI6MS42MTcyNiwic2VrIjoxLjI2NjkyLCJzZ2QiOjEuNzQ0NjYsInNvbCI6LTAuNjc4ODgsInRoYiI6MS4yNDcyOCwidHJ5IjoxLjg2NjU4LCJ0d2QiOjEuNzY4NjUsInVhaCI6MS42MTU4OSwidXNkIjoxLjgyNTI5LCJ2ZWYiOjEuODI1MjksInZuZCI6MS43ODE5MywieGFnIjotMC41MTA2NCwieGF1IjowLjgzODEsInhkciI6MS42MTU5MywieGxtIjotMC45NzA5MiwieHJwIjowLjUyMjY2LCJ5ZmkiOi0wLjE1NDA5LCJ6YXIiOjAuODEzNDksImJpdHMiOjAuMDA3MTMsImxpbmsiOi0zLjA1ODQ3LCJzYXRzIjowLjAwNzEzfSwicHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfN2RfaW5fY3VycmVuY3kiOnsiYWVkIjoyLjEwMzE4LCJhcnMiOjMuMzQ3NTksImF1ZCI6MS44OTg1NiwiYmNoIjotMC42MDg1LCJiZHQiOjIuMzIyNTUsImJoZCI6MS45OTgwNiwiYm1kIjoyLjEwMzE4LCJibmIiOjAuMzY3NjksImJybCI6MS41Nzc4MiwiYnRjIjowLjAsImNhZCI6Mi43MTcxMiwiY2hmIjoyLjk2MzY2LCJjbHAiOjMuNjQ4MTQsImNueSI6Mi4wNTk0NSwiY3prIjoxLjk4Njc3LCJka2siOjIuMzY3MjYsImRvdCI6MC44ODU2MiwiZW9zIjo2LjA2Mjg5LCJldGgiOi0zLjYxMzMxLCJldXIiOjIuMzY2NjMsImdicCI6Mi45MzY3MywiZ2VsIjoyLjA1NjUyLCJoa2QiOjIuMTMxNDUsImh1ZiI6MS40ODQ5MiwiaWRyIjoyLjI1MzA2LCJpbHMiOjEuOTA0MDYsImluciI6MS43ODU1MSwianB5IjoyLjg2MDUxLCJrcnciOjEuMzE4NjksImt3ZCI6Mi40NTc3MSwibGtyIjoyLjI1NzY3LCJsdGMiOjEuNDc2MTMsIm1tayI6Mi4wOTYzNywibXhuIjoxLjU5MDc4LCJteXIiOjEuOTc4MzcsIm5nbiI6MS4wMjM0MSwibm9rIjoxLjU2ODQ2LCJuemQiOjIuOTUzOCwicGhwIjoyLjE3MTg3LCJwa3IiOjEuODg0NzgsInBsbiI6MS43NTgwOCwicnViIjoxLjU4NjE0LCJzYXIiOjEuOTQxMTQsInNlayI6Mi4yNjgzMywic2dkIjoyLjAyMTU0LCJzb2wiOjEuMDYwMDYsInRoYiI6MS42ODkxOCwidHJ5IjoyLjQ5ODE0LCJ0d2QiOjEuODY2OTUsInVhaCI6Mi4zMjEwNiwidXNkIjoyLjEwMzE4LCJ2ZWYiOjIuMTAzMTgsInZuZCI6Mi4xODM3OCwieGFnIjotMy4wOTg5MywieGF1IjotMC4xMDI0LCJ4ZHIiOjIuMzc3NjQsInhsbSI6My44ODgyOSwieHJwIjowLjA0ODI2LCJ5ZmkiOjEuMjUzNzMsInphciI6Mi45Nzk5NiwiYml0cyI6MC4wMzM3NiwibGluayI6LTMuNzA3NDMsInNhdHMiOjAuMDMzNzZ9LCJwcmljZV9jaGFuZ2VfcGVyY2VudGFnZV8xNGRfaW5fY3VycmVuY3kiOnsiYWVkIjo0LjMxMTczLCJhcnMiOjQuOTQ1OTYsImF1ZCI6My4xNTg3LCJiY2giOjEzLjM5MDk2LCJiZHQiOjQuMDcxNjcsImJoZCI6My43OTk0NiwiYm1kIjo0LjMxMTczLCJibmIiOjMuMTA3NTksImJybCI6My44MjU3OSwiYnRjIjowLjAsImNhZCI6My44MDk0LCJjaGYiOjQuODQyODgsImNscCI6Ni44NjgzNywiY255Ijo0LjEwMTA1LCJjemsiOjMuNTU0MywiZGtrIjo0LjIwODE1LCJkb3QiOjYuMzc2ODksImVvcyI6MTYuMjgyOTEsImV0aCI6LTUuNDk3NzEsImV1ciI6NC4xOTY4NiwiZ2JwIjo0LjQ3NjgzLCJnZWwiOjMuNTIyOTgsImhrZCI6NC4zNTY3LCJodWYiOjQuNjc5NSwiaWRyIjozLjQ2NzgsImlscyI6NC43NDQsImluciI6NC43ODA2MiwianB5Ijo1LjEzODE3LCJrcnciOjEuNTUxODEsImt3ZCI6NC40MzUzMywibGtyIjo0LjE2MDE0LCJsdGMiOi0zLjU2OTk2LCJtbWsiOjQuMzA0NzgsIm14biI6My43MTI3MywibXlyIjo0LjQ4NTY0LCJuZ24iOjMuMDU3NzIsIm5vayI6Mi4yMTM2LCJuemQiOjMuMzc5NDYsInBocCI6NC40NjE1MSwicGtyIjozLjcwMDUsInBsbiI6My42MDY3LCJydWIiOjUuNzQ5NCwic2FyIjozLjk3NjcxLCJzZWsiOjMuOTc4Mywic2dkIjozLjk0NTY0LCJzb2wiOjMuOTA4MDQsInRoYiI6NC43NzQyMywidHJ5Ijo1LjExNDc1LCJ0d2QiOjUuMjIxNzEsInVhaCI6NC41Mzk1MiwidXNkIjo0LjMxMTczLCJ2ZWYiOjQuMzExNzMsInZuZCI6NC41MDc0NywieGFnIjoxLjc2ODIzLCJ4YXUiOjMuMzQ2NTUsInhkciI6NC4yMzM5MywieGxtIjo0Ljc0NTE3LCJ4cnAiOjEuMDQ1MjMsInlmaSI6MC44NTIyLCJ6YXIiOjYuMDM5MTMsImJpdHMiOjAuMDE1MywibGluayI6LTYuMTYyNzcsInNhdHMiOjAuMDE1M30sInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzMwZF9pbl9jdXJyZW5jeSI6eyJhZWQiOjguNzQzNjcsImFycyI6MTAuMTIwNjcsImF1ZCI6Ny4wMTU0OCwiYmNoIjotMS4zODk4NSwiYmR0Ijo4Ljk4Nzg5LCJiaGQiOjguNDg2MzQsImJtZCI6OC43NDM2NywiYm5iIjo2Ljg1MjE4LCJicmwiOjYuNjEzNTQsImJ0YyI6MC4wLCJjYWQiOjcuOTczMjgsImNoZiI6OS4zMTUyLCJjbHAiOjExLjY3MTM2LCJjbnkiOjguMjg0NTgsImN6ayI6Ny44NDE2OCwiZGtrIjo4LjQ4NTYzLCJkb3QiOjEzLjEwNDYyLCJlb3MiOjQuMjg3LCJldGgiOi0xMi43MTk4NCwiZXVyIjo4LjU0NTgzLCJnYnAiOjcuNDM1MSwiZ2VsIjo3LjkyMTQxLCJoa2QiOjguNzM4NjYsImh1ZiI6MTAuMTYxMTcsImlkciI6OS41ODQ3MSwiaWxzIjoxMC4wMjc4NCwiaW5yIjoxMC44MzYxMiwianB5Ijo5Ljk2MDM5LCJrcnciOjQuMDA1ODEsImt3ZCI6OC44Njc2LCJsa3IiOjguNjUxMzYsImx0YyI6LTIuOTAwMDgsIm1tayI6OC43MzY0MiwibXhuIjo4LjI1MDM4LCJteXIiOjguNjc3MTcsIm5nbiI6Ny44NjgxMSwibm9rIjo0Ljk3MTA0LCJuemQiOjUuNzQ3MywicGhwIjo5LjQ2Mjg3LCJwa3IiOjguMjUxMiwicGxuIjo5LjA5NTg4LCJydWIiOjguODA4MzYsInNhciI6OC43NzAxNywic2VrIjo3LjkzOTU2LCJzZ2QiOjguMzU5NTEsInNvbCI6MS43NTAzOCwidGhiIjo5LjE5MDkxLCJ0cnkiOjEwLjYzMiwidHdkIjoxMC4zODk1MSwidWFoIjo4LjI4NDYyLCJ1c2QiOjguNzQzNjcsInZlZiI6OC43NDM2Nywidm5kIjo4LjgxNTIxLCJ4YWciOjcuNjM2NjIsInhhdSI6OC4xMDE2LCJ4ZHIiOjguNjYzMTcsInhsbSI6NC4zMDQyMywieHJwIjozLjQyOTI2LCJ5ZmkiOi0xNC4yNDg0NCwiemFyIjo2LjY5MDMyLCJiaXRzIjowLjAwMjUzLCJsaW5rIjotOS4zMzI5OCwic2F0cyI6MC4wMDI1M30sInByaWNlX2NoYW5nZV9wZXJjZW50YWdlXzYwZF9pbl9jdXJyZW5jeSI6eyJhZWQiOi0xMC4yMTM1OCwiYXJzIjotNC44NTU0OCwiYXVkIjotOC43Nzg5MywiYmNoIjozNC4zNTE5MSwiYmR0IjotOS44OTk5MSwiYmhkIjotMTAuNTM5ODMsImJtZCI6LTEwLjIxMzU4LCJibmIiOi0wLjk3MDQ2LCJicmwiOi0xMC4wNjQ4NCwiYnRjIjowLjAsImNhZCI6LTguNjc5MTgsImNoZiI6LTcuMzIyLCJjbHAiOi00LjgxNzQsImNueSI6LTEwLjM4MTcxLCJjemsiOi05LjQyNjg5LCJka2siOi04LjcwMTU2LCJkb3QiOjMwLjIwMjkzLCJlb3MiOjEuMTYxMDcsImV0aCI6LTkuNzQ1LCJldXIiOi04LjczNjMsImdicCI6LTkuOTcxNDksImdlbCI6LTExLjM5NDk4LCJoa2QiOi0xMC4wOTA1OSwiaHVmIjotNy43MzgyOSwiaWRyIjotOS40ODI3NiwiaWxzIjotMy43MDE0MSwiaW5yIjotMTAuMTcyMjYsImpweSI6LTcuOTU4MjYsImtydyI6LTEyLjM3NjI1LCJrd2QiOi0xMC4wNjI0NywibGtyIjotOS4yNDI4NSwibHRjIjotNC4zNjIwNSwibW1rIjotMTAuMjE5NTYsIm14biI6LTEwLjEzMjUsIm15ciI6LTcuODQ1MTQsIm5nbiI6LTEwLjc5ODQzLCJub2siOi03LjM5MDYxLCJuemQiOi05LjA3NjE1LCJwaHAiOi0xMC4xMDU4LCJwa3IiOi0xMC42MjgwOCwicGxuIjotNy4xNjY1MSwicnViIjotMS40NzAzNiwic2FyIjotMTAuMTEzOTIsInNlayI6LTYuOTI4NTMsInNnZCI6LTkuNDg0ODMsInNvbCI6LTUuNTUwMTgsInRoYiI6LTcuODY4NTcsInRyeSI6LTcuMzYxNzgsInR3ZCI6LTcuNjg3NTYsInVhaCI6LTkuNDcyNDgsInVzZCI6LTEwLjIxMzU4LCJ2ZWYiOi0xMC4yMTM1OCwidm5kIjotMTAuMjYwODMsInhhZyI6MTAuMzUxNzYsInhhdSI6LTMuNjkyNjIsInhkciI6LTguNDk0NjksInhsbSI6LTE2LjkxNzUsInhycCI6My43MzgzNiwieWZpIjotMi4yNTE3MiwiemFyIjotOS4wMjk4NiwiYml0cyI6MC4wMTU1NCwibGluayI6LTEwLjMwNDA0LCJzYXRzIjowLjAxNTU0fSwicHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfMjAwZF9pbl9jdXJyZW5jeSI6eyJhZWQiOi0yNy44NjYwMSwiYXJzIjotMjYuMDg3MzMsImF1ZCI6LTMwLjk4MTg2LCJiY2giOjExMi41MTMxNywiYmR0IjotMjcuMjUzNDMsImJoZCI6LTI3Ljk1MzI3LCJibWQiOi0yNy44NjYwMSwiYm5iIjoxMi4xODE2NiwiYnJsIjotMzEuODg3MDcsImJ0YyI6MC4wLCJjYWQiOi0yNi42ODY1MSwiY2hmIjotMjYuMzQ1NDcsImNscCI6LTIzLjU2NTc3LCJjbnkiOi0zMC4wNzc0NiwiY3prIjotMjYuNjc5OTMsImRrayI6LTI2LjEyNzAxLCJkb3QiOjg4LjUxOTMsImVvcyI6OTcuNDQ3NTcsImV0aCI6MTUuMzA5MTQsImV1ciI6LTI2LjE2MjQxLCJnYnAiOi0yNy4zMjU4NiwiZ2VsIjotMjkuNDc3OTQsImhrZCI6LTI3LjM2NzM2LCJodWYiOi0zMS4wODMzMywiaWRyIjotMjIuNjgxMjYsImlscyI6LTMwLjg3Nzk1LCJpbnIiOi0yMi44MjQ4NCwianB5IjotMjQuNjkxNjcsImtydyI6LTI2LjkzNjM4LCJrd2QiOi0yNy4yNDU0MywibGtyIjotMjEuOTAzMDQsImx0YyI6MjQuMzY0OSwibW1rIjotMjcuODczOTEsIm14biI6LTMwLjExOTE0LCJteXIiOi0yNy40NzU0NywibmduIjotMzEuMDIyNjgsIm5vayI6LTMxLjQyNjY5LCJuemQiOi0yOC4zOTE2NCwicGhwIjotMjQuNjc2MzQsInBrciI6LTI4LjU4MzU3LCJwbG4iOi0yNC4zODYyMywicnViIjotMzAuMjgyOTUsInNhciI6LTI3LjkxMjc5LCJzZWsiOi0yNC4wOTEwNSwic2dkIjotMjcuNTQzMDYsInNvbCI6MjguNDk5NDcsInRoYiI6LTIzLjE2NDYzLCJ0cnkiOi0yMC42MjU4NSwidHdkIjotMjYuMTgwMTgsInVhaCI6LTI0LjcxNDY0LCJ1c2QiOi0yNy44NjYwMSwidmVmIjotMjcuODY2MDEsInZuZCI6LTI3Ljc0MjYyLCJ4YWciOi03Ljc1MTI4LCJ4YXUiOi0yMi4wNjU1NCwieGRyIjotMjYuMTQ2MywieGxtIjotOC4xMDcyNiwieHJwIjozOS4xOTUsInlmaSI6MjMuNjU3ODUsInphciI6LTI3LjA1MDM2LCJiaXRzIjowLjAxNjU3LCJsaW5rIjo5LjE4OTMxLCJzYXRzIjowLjAxNjU3fSwicHJpY2VfY2hhbmdlX3BlcmNlbnRhZ2VfMXlfaW5fY3VycmVuY3kiOnsiYWVkIjotNDQuNjY5MDQsImFycyI6LTM0LjgzMzg0LCJhdWQiOi00OC4xNTUzMSwiYmNoIjo0NC41NDUwNiwiYmR0IjotNDQuMDUwNTIsImJoZCI6LTQ0Ljc0NzY1LCJibWQiOi00NC42NjE1LCJibmIiOi0yMy4yNzI3NCwiYnJsIjotNDkuNDMwMDEsImJ0YyI6MC4wLCJjYWQiOi00My4wNTk4NywiY2hmIjotNDMuMzcyNjksImNscCI6LTQ1LjEzNjMzLCJjbnkiOi00Ny43NDAyLCJjemsiOi00NC4wOTE5LCJka2siOi00Mi45NDk5MywiZG90IjoxODIuODE5MTIsImVvcyI6Mzk1Ljk1NjcxLCJldGgiOjYuNzQwODMsImV1ciI6LTQzLjA0MzgzLCJnYnAiOi00NC4zNTE4MiwiZ2VsIjotNDYuMzk3MjEsImhrZCI6LTQ0LjcxMTI5LCJodWYiOi00OC40Mzc3MywiaWRyIjotMzkuMTE3NjUsImlscyI6LTQ5Ljg3NjM1LCJpbnIiOi0zOC40NzU2MywianB5IjotMzguNjk5MTgsImtydyI6LTQxLjI2NDc2LCJrd2QiOi00My44MTgxMSwibGtyIjotMzguMjM5OCwibHRjIjozNC4yODc3NCwibW1rIjotNDQuNjQzODQsIm14biI6LTQ3Ljk4NzEsIm15ciI6LTQ2LjQ0NDI5LCJuZ24iOi01MC41NDE2Miwibm9rIjotNDcuNzk0MjYsIm56ZCI6LTQyLjYyMDk4LCJwaHAiOi00MC4yMzg3OCwicGtyIjotNDUuODk0MDEsInBsbiI6LTQyLjIxODY4LCJydWIiOi00NS43NjA5LCJzYXIiOi00NC43Mjk2MSwic2VrIjotNDMuODYyODksInNnZCI6LTQ0LjI1Mzk3LCJzb2wiOjM1LjM1ODI1LCJ0aGIiOi00Mi43MDE1OCwidHJ5IjotMzUuMzc2NTksInR3ZCI6LTM5LjI5NDg2LCJ1YWgiOi00MC44MzcwNCwidXNkIjotNDQuNjYxNSwidmVmIjotNDQuNjYxNSwidm5kIjotNDQuMjk3NDMsInhhZyI6LTY0LjUwNDU0LCJ4YXUiOi01NC45MjIzLCJ4ZHIiOi00Mi45NTU2NywieGxtIjozNS42MDE1MywieHJwIjo2MC4wNzI5OSwieWZpIjo0Ni43NzczNywiemFyIjotNDguMDgyNjEsImJpdHMiOjAuMDAzNTMsImxpbmsiOjE4LjI2NDUsInNhdHMiOjAuMDAzNTN9LCJtYXJrZXRfY2FwX2NoYW5nZV8yNGhfaW5fY3VycmVuY3kiOnsiYWVkIjo4NjQyNTI1NTA3NCwiYXJzIjozNDgyMDg3NjUzMzUyMSwiYXVkIjoyNjY0MjkwOTAyMiwiYmNoIjotMTEzMDQyNTI4LjMxODE3ODE4LCJiZHQiOjI5MDM2ODE3NDczNzYsImJoZCI6Nzg2MDc4MDYwNiwiYm1kIjoyMzUzMzA4NTExMiwiYm5iIjoyMjY3MDczNSwiYnJsIjoxMTE1NDcxNjg4MjksImJ0YyI6NDE1LjAsImNhZCI6MzIwNjM5NzQ3NTcsImNoZiI6MTMzMDA1NzM1MjIsImNscCI6MjMyNjY3Njk3ODM1NDUsImNueSI6MTU1ODI2ODI0NDA2LCJjemsiOjM2MjkyNTEwOTc0MiwiZGtrIjoxMjMxMDY5MTUxNzksImRvdCI6MzU5Njg5Mjc1NDgsImVvcyI6LTI3MjYwMTc0MzIyLjU3MDMxMiwiZXRoIjotMTgyMDg2NzkuMTY5MjcxOTQ2LCJldXIiOjE3MDA3ODgyOTE1LCJnYnAiOjE0ODA5MzcyMjA0LCJnZWwiOjYxNzc0MzQ4NDE5LCJoa2QiOjE4NDYwMTE3MzU3OSwiaHVmIjo0MzEyODA0OTY2MTk0LCJpZHIiOjUyMzAzMTQ2MjMyMDE1NiwiaWxzIjo1OTgxMjQ0Njc2NiwiaW5yIjoxOTcyNjk2NTcwNDE2LCJqcHkiOjM0NzUxOTYxMjY5MjUsImtydyI6NDU4MTMyMjE5ODQ1MzUsImt3ZCI6NzEzNDk1NTkxNywibGtyIjo3OTEwODE5NTA1MDk3LCJsdGMiOjEwNjMyMjgyMSwibW1rIjo0OTQxMTcxMjgxNzQ2MCwibXhuIjozMzM0ODUzNTU0NTQsIm15ciI6ODk2OTkyNDI4MTcsIm5nbiI6Mjc4ODM1MDYwMDA3NDUsIm5vayI6MjM1NDEyMjUzODUyLCJuemQiOjM0MDM2NTA5NjY4LCJwaHAiOjE0OTQyOTk0Mjg2NzAsInBrciI6NTc4ODcyMTM2MDY4NSwicGxuIjo2MzQxNjgyNzY3NiwicnViIjoxOTc5OTk0NTEwMzkwLCJzYXIiOjc4MzAyODUyMjIxLCJzZWsiOjE1ODc2MjM2OTc4Niwic2dkIjoyOTAzMTUzMTQyOSwic29sIjotMTIwMjU3NjMwLjI4MzQxMjkzLCJ0aGIiOjU0MjI4NjkwMTQ3MSwidHJ5IjoxMTM5MzEyNDU2ODYxLCJ0d2QiOjczNzkwMzA5MTA1OCwidWFoIjo5MzM5NjI2NzEyMDAsInVzZCI6MjM1MzMwODUxMTIsInZlZiI6MjM1NjM2NzgxMiwidm5kIjo2MDQ4NDA5NDk5NDQ3NTYsInhhZyI6LTExMzA5Mzc1OC40ODAzOTYyNywieGF1IjoyNjY0MzM4LCJ4ZHIiOjE0OTM2MjEzNTQzLCJ4bG0iOi03MTk5MjQ5MjQ3OC4yMTM4NywieHJwIjo1ODcwNjM4NTQ5LCJ5ZmkiOi0xMDYzOTY1Ljc4OTUwNjMxNjIsInphciI6MTc2NjAxODI4NTcyLCJiaXRzIjotMjIzODMwMTMzNi43MzA0Njg4LCJsaW5rIjotNDcyNjA4MzcyNi4yOTcxMTksInNhdHMiOi0yMjM4MzAxMzM2NzMuMjV9LCJtYXJrZXRfY2FwX2NoYW5nZV9wZXJjZW50YWdlXzI0aF9pbl9jdXJyZW5jeSI6eyJhZWQiOjEuODI1NjQsImFycyI6MS44MDQ3MSwiYXVkIjoxLjQ0MjY5LCJiY2giOi0xLjgzNzI1LCJiZHQiOjEuODI1NjIsImJoZCI6MS42MTY0NSwiYm1kIjoxLjgyNTY0LCJibmIiOjEuMDAyNDcsImJybCI6MS42OTk2NCwiYnRjIjowLjAwMjA3LCJjYWQiOjEuNzYzODMsImNoZiI6MS4yNjA1MSwiY2xwIjoxLjkwNDIxLCJjbnkiOjEuNzg1MDQsImN6ayI6MS4zMjU3NywiZGtrIjoxLjQ1MjY3LCJkb3QiOjIuMjg4MzcsImVvcyI6LTAuMTMzMTYsImV0aCI6LTIuNjUyNzMsImV1ciI6MS41MDEwNSwiZ2JwIjoxLjUzMDI0LCJnZWwiOjEuODI1NjQsImhrZCI6MS44MjYxNCwiaHVmIjoxLjA1NTM5LCJpZHIiOjIuMjY0MDUsImlscyI6MS41MjMxNCwiaW5yIjoxLjU4NzQ5LCJqcHkiOjEuNjQ1MzQsImtydyI6Mi40MzUxMSwia3dkIjoxLjc4NDI4LCJsa3IiOjEuODI1NjQsImx0YyI6MC4zODQ5MiwibW1rIjoxLjgyNTY0LCJteG4iOjEuNDc5NjcsIm15ciI6MS43MDExNywibmduIjoxLjU4MDg0LCJub2siOjEuOTA2OTMsIm56ZCI6MS41MjgzLCJwaHAiOjEuODc5MjksInBrciI6MS42MTYxOCwicGxuIjoxLjI5NTc3LCJydWIiOjEuOTc3MTksInNhciI6MS42MTc2MSwic2VrIjoxLjI2NzI2LCJzZ2QiOjEuNzQ1LCJzb2wiOi0wLjY5NzAzLCJ0aGIiOjEuMjQ3NjMsInRyeSI6MS44NjY5MiwidHdkIjoxLjc2ODk5LCJ1YWgiOjEuNjE2MjMsInVzZCI6MS44MjU2NCwidmVmIjoxLjgyNTY0LCJ2bmQiOjEuNzgyMjgsInhhZyI6LTAuNTEwMzEsInhhdSI6MC44Mzg0NCwieGRyIjoxLjYxNjI4LCJ4bG0iOi0wLjk5MDA5LCJ4cnAiOjAuNDk4ODksInlmaSI6LTAuMTcxOTgsInphciI6MC44MTM4MywiYml0cyI6LTAuMDExMTYsImxpbmsiOi0zLjA4MDY2LCJzYXRzIjotMC4wMTExNn0sInRvdGFsX3N1cHBseSI6MjAwNjE4MTUuMCwibWF4X3N1cHBseSI6MjEwMDAwMDAuMCwibWF4X3N1cHBseV9pbmZpbml0ZSI6ZmFsc2UsImNpcmN1bGF0aW5nX3N1cHBseSI6MjAwNjE4MTUuMCwib3V0c3RhbmRpbmdfc3VwcGx5IjowLjAsImxhc3RfdXBkYXRlZCI6IjIwMjYtMDctMjdUMDY6MzI6NTcuMDk0WiJ9LCJzdGF0dXNfdXBkYXRlcyI6W10sImxhc3RfdXBkYXRlZCI6IjIwMjYtMDctMjdUMDY6MzI6NTcuMDk0WiJ9"}},"time_used":203,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":202,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/backoffice/uploads/08fb02fa4d25d9d4a96c0102d2d28c33.jpg","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.837Z","timestamp":1785133989837,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /backoffice/uploads/08fb02fa4d25d9d4a96c0102d2d28c33.jpg HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\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/3 200 \r\ncontent-type: image/jpeg\r\nlast-modified: Tue, 08 Oct 2019 22:42:40 GMT\r\naccept-ranges: bytes\r\ncontent-length: 22164\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":22164,"size_decoded":22352,"mime_type":"image/jpeg","magic":"JPEG image data, JFIF standard 1.01, aspect ratio, density 1x1, segment length 16, baseline, precision 8, 338x354, components 3","md5":"65c96ad93aab5c41eab506efd6850c0f","sha1":"3b52f6d59e0b8363a92fa010e29766d5e1e5e6b3","sha256":"ea75285f1fb5ec3153589f6f14c7f35bc2c53ec3149ce49a645ea2b2196a174a","sha512":"aa17ba5dbf827fde1a4bb9f5fffe02b59cdaede5bb386d6c2c07f0c2fc42ed13a3dd4473ae5f80bf1c71a15feecb52e383d0cab28d23fa5becf938c9980f925d","ssdeep":"384:a1DSCq15PdJyDOMPUWmf+6Ht0Ub+YM9g0ESTRtzkshbIXw/DBcEERb:a1Tq15PmiMJmfv00+Voazk4BcHF","tlshash":"23a2d0e37bdc9494b3fe653092ed3d6b9beb52f02c82123951e5047328fd94b8d52089","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:33:54.0531Z","times_seen":13,"resource_available":false,"data":"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"}},"time_used":578,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":573,"receive":5,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/utility-classes.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.918Z","timestamp":1785133989918,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/utility-classes.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/css/style-main.css\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 2545\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":19139,"size_decoded":2775,"mime_type":"text/css","magic":"assembler source, ASCII text","md5":"b54ec3e017a42b1f5b274649a23fa561","sha1":"0387df1aa51d2333ac0ad57341150783a5b7ea8c","sha256":"754f31efd736c24405f7f87bc701e66e7749ff98917c0dd9d0e27347a17c0e9e","sha512":"fee9150a36273dd22c3068d176832648ff776b1992a4ed32f492618993aa639db92a61d2d7a54169576478b307564afdea82f2d8adcfb4e250997c59925c37c3","ssdeep":"192:puyZu02WWrMzNVq9qZz00JOMpUUe+d22Z0nI:FMR1cVMszV0nI","tlshash":"af826657fef349047036d56a34a6bbbcbb3d8001860e6e39679032746bc57eaca2d644","first_seen":"2023-05-18T23:45:03Z","last_seen":"2026-07-27T14:34:25.26476Z","times_seen":80,"resource_available":false,"data":"LyogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KQEF1dGhvcjogVGhlbWVNYXNjb3QKQFVSTDogaHR0cDovL3RoZW1lZm9yZXN0Lm5ldC91c2VyL1RoZW1lTWFzY290Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovCi8qCiAqIFV0aWxpdHkgQ2xhc3NlcwogKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoqLwovKiAtLS0tLS0tLSBUZXh0IENvbG9ycyAtLS0tLS0tLS0tICovCi8qIFRleHQgQmxhY2sgJiBHcmF5IENvbG9yKi8KLnRleHQtYmxhY2sgewogIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7Cn0KLnRleHQtYmxhY2stMTExIHsKICBjb2xvcjogIzExMTExMSAhaW1wb3J0YW50Owp9Ci50ZXh0LWJsYWNrLTIyMiB7CiAgY29sb3I6ICMyMjIyMjIgIWltcG9ydGFudDsKfQoudGV4dC1ibGFjay0zMzMgewogIGNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7Cn0KLnRleHQtYmxhY2stNDQ0IHsKICBjb2xvcjogIzQwNDA0MCAhaW1wb3J0YW50Owp9Ci50ZXh0LWJsYWNrLTU1NSB7CiAgY29sb3I6ICM1NTU1NTUgIWltcG9ydGFudDsKfQoudGV4dC1ibGFjay02NjYgewogIGNvbG9yOiAjNjY2NjY2ICFpbXBvcnRhbnQ7Cn0KLnRleHQtYmxhY2stNzc3IHsKICBjb2xvcjogIzc3Nzc3NyAhaW1wb3J0YW50Owp9Ci50ZXh0LWJsYWNrLTg4OCB7CiAgY29sb3I6ICM4MDgwODAgIWltcG9ydGFudDsKfQoudGV4dC1ibGFjay05OTkgewogIGNvbG9yOiAjOTk5OTk5ICFpbXBvcnRhbnQ7Cn0KLnRleHQtZ3JheS1kaW1ncmF5IHsKICBjb2xvcjogIzY2NjY2NiAhaW1wb3J0YW50Owp9Ci50ZXh0LWdyYXktbGlnaHQgewogIGNvbG9yOiAjNzc3Nzc3ICFpbXBvcnRhbnQ7Cn0KLnRleHQtZ3JheSB7CiAgY29sb3I6ICM4MDgwODAgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWRhcmtncmF5IHsKICBjb2xvcjogI2E5YTlhOSAhaW1wb3J0YW50Owp9Ci50ZXh0LWdyYXktc2lsdmVyIHsKICBjb2xvcjogI2MwYzBjMCAhaW1wb3J0YW50Owp9Ci50ZXh0LWdyYXktbGlnaHRncmF5IHsKICBjb2xvcjogI2QzZDNkMyAhaW1wb3J0YW50Owp9Ci50ZXh0LWdyYXktZ2FpbnNib3JvIHsKICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Owp9Ci50ZXh0LWdyYXktbGlnaHRlciB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWFhYSB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWJiYiB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWNjYyB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWRkZCB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQoudGV4dC1ncmF5LWVlZSB7CiAgY29sb3I6ICNlZWVlZWUgIWltcG9ydGFudDsKfQovKiBUZXh0IFdoaXRlIENvbG9yKi8KLnRleHQtd2hpdGUgewogIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjEgewogIGNvbG9yOiAjZjFmMWYxICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjIgewogIGNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjMgewogIGNvbG9yOiAjZjNmM2YzICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjQgewogIGNvbG9yOiAjZjRmNGY0ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjUgewogIGNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjYgewogIGNvbG9yOiAjZjZmNmY2ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjcgewogIGNvbG9yOiAjZjdmN2Y3ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjggewogIGNvbG9yOiAjZjhmOGY4ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZjkgewogIGNvbG9yOiAjZjlmOWY5ICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZmEgewogIGNvbG9yOiAjZmFmYWZhICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZmMgewogIGNvbG9yOiAjZmNmY2ZjICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZmQgewogIGNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7Cn0KLnRleHQtd2hpdGUtZmUgewogIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gU29saWQgQ29sb3IgQmFja2dyb3VuZCAtLS0tLS0tLS0tICovCi5iZy1kZWVwIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxICFpbXBvcnRhbnQ7Cn0KLmJnLWxpZ2h0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7Cn0KLmJnLWxpZ2h0ZXIgewogIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3ZjcgIWltcG9ydGFudDsKfQouYmctbGlnaHRlc3QgewogIGJhY2tncm91bmQtY29sb3I6ICNmY2ZjZmMgIWltcG9ydGFudDsKfQouYmctc2lsdmVyLWxpZ2h0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjdGOEZBICFpbXBvcnRhbnQ7Cn0KLmJnLWJsYWNrIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7Cn0KLmRpdmlkZXItZGFyayB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzI1MjUyNSAhaW1wb3J0YW50Owp9CmZvb3Rlci5iZy1kZWVwIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTkxOTE5ICFpbXBvcnRhbnQ7Cn0KLmJnLWJsYWNrLTExMSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzExMTExMSAhaW1wb3J0YW50Owp9Ci5iZy1ibGFjay0yMjIgewogIGJhY2tncm91bmQtY29sb3I6ICMyMjIyMjIgIWltcG9ydGFudDsKfQouYmctYmxhY2stMzMzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzICFpbXBvcnRhbnQ7Cn0KLmJnLWJsYWNrLTQ0NCB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzQwNDA0MCAhaW1wb3J0YW50Owp9Ci5iZy1ibGFjay01NTUgewogIGJhY2tncm91bmQtY29sb3I6ICM1NTU1NTUgIWltcG9ydGFudDsKfQouYmctZ3JheS1kaW1ncmF5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2ICFpbXBvcnRhbnQ7Cn0KLmJnLWdyYXktbGlnaHQgewogIGJhY2tncm91bmQtY29sb3I6ICM3Nzc3NzcgIWltcG9ydGFudDsKfQouYmctZ3JheSB7CiAgYmFja2dyb3VuZC1jb2xvcjogIzgwODA4MCAhaW1wb3J0YW50Owp9Ci5iZy1ncmF5LWRhcmtncmF5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTlhOWE5ICFpbXBvcnRhbnQ7Cn0KLmJnLWdyYXktc2lsdmVyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzBjMGMwICFpbXBvcnRhbnQ7Cn0KLmJnLWdyYXktbGlnaHRncmF5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDNkM2QzICFpbXBvcnRhbnQ7Cn0KLmJnLWdyYXktZ2FpbnNib3JvIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGNkY2RjICFpbXBvcnRhbnQ7Cn0KLmJnLWdyYXktbGlnaHRlciB7CiAgYmFja2dyb3VuZC1jb2xvcjogI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci8qIEJnIFdoaXRlIENvbG9yKi8KLmJnLXdoaXRlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWYxIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWYyIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWYzIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY0IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY1IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY2IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZmNmY2ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY3IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY4IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWY5IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5ICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWZhIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWZiIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWZjIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWZkIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLWZlIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gVHJhbnNwYXJlbnQgQmFja2dyb3VuZCBDb2xvciAtLS0tLS0tLS0tICovCi5iZy13aGl0ZS10cmFuc3BhcmVudC05IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgIWltcG9ydGFudDsKfQouYmctd2hpdGUtdHJhbnNwYXJlbnQtOCB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLXRyYW5zcGFyZW50LTcgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KSAhaW1wb3J0YW50Owp9Ci5iZy13aGl0ZS10cmFuc3BhcmVudC02IHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNikgIWltcG9ydGFudDsKfQouYmctd2hpdGUtdHJhbnNwYXJlbnQtNSB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLXRyYW5zcGFyZW50LTQgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSAhaW1wb3J0YW50Owp9Ci5iZy13aGl0ZS10cmFuc3BhcmVudC0zIHsKICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgIWltcG9ydGFudDsKfQouYmctd2hpdGUtdHJhbnNwYXJlbnQtMiB7CiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7Cn0KLmJnLXdoaXRlLXRyYW5zcGFyZW50LTEgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTkgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC45KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTggewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTcgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC43KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTYgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTUgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTQgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC40KSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTMgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTIgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKSAhaW1wb3J0YW50Owp9Ci5iZy1kYXJrLXRyYW5zcGFyZW50LTEgewogIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKSAhaW1wb3J0YW50Owp9Ci8qIC0tLS0tLS0tIEZvbnQgV2VpZ2h0IC0tLS0tLS0tLS0gKi8KLmZvbnQtd2VpZ2h0LTEwMCB7CiAgZm9udC13ZWlnaHQ6IDEwMCAhaW1wb3J0YW50Owp9Ci5mb250LXdlaWdodC0yMDAgewogIGZvbnQtd2VpZ2h0OiAyMDAgIWltcG9ydGFudDsKfQouZm9udC13ZWlnaHQtMzAwIHsKICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7Cn0KLmZvbnQtd2VpZ2h0LTQwMCB7CiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50Owp9Ci5mb250LXdlaWdodC01MDAgewogIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDsKfQouZm9udC13ZWlnaHQtNjAwIHsKICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7Cn0KLmZvbnQtd2VpZ2h0LTcwMCB7CiAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50Owp9Ci5mb250LXdlaWdodC04MDAgewogIGZvbnQtd2VpZ2h0OiA4MDAgIWltcG9ydGFudDsKfQouZm9udC13ZWlnaHQtOTAwIHsKICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gRm9udCBTaXplIC0tLS0tLS0tLS0gKi8KLmZvbnQtOSB7CiAgZm9udC1zaXplOiA5cHggIWltcG9ydGFudDsKfQouZm9udC0xMCB7CiAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMTEgewogIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50Owp9Ci5mb250LTEyIHsKICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDsKfQouZm9udC0xMyB7CiAgZm9udC1zaXplOiAxM3B4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMTQgewogIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50Owp9Ci5mb250LTE1IHsKICBmb250LXNpemU6IDE1cHggIWltcG9ydGFudDsKfQouZm9udC0xNiB7CiAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMTcgewogIGZvbnQtc2l6ZTogMTdweCAhaW1wb3J0YW50Owp9Ci5mb250LTE4IHsKICBmb250LXNpemU6IDE4cHggIWltcG9ydGFudDsKfQouZm9udC0xOSB7CiAgZm9udC1zaXplOiAxOXB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMjAgewogIGZvbnQtc2l6ZTogMjBweCAhaW1wb3J0YW50Owp9Ci5mb250LTIxIHsKICBmb250LXNpemU6IDIxcHggIWltcG9ydGFudDsKfQouZm9udC0yMiB7CiAgZm9udC1zaXplOiAyMnB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMjMgewogIGZvbnQtc2l6ZTogMjNweCAhaW1wb3J0YW50Owp9Ci5mb250LTI0IHsKICBmb250LXNpemU6IDI0cHggIWltcG9ydGFudDsKfQouZm9udC0yNSB7CiAgZm9udC1zaXplOiAyNXB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMjYgewogIGZvbnQtc2l6ZTogMjZweCAhaW1wb3J0YW50Owp9Ci5mb250LTI3IHsKICBmb250LXNpemU6IDI3cHggIWltcG9ydGFudDsKfQouZm9udC0yOCB7CiAgZm9udC1zaXplOiAyOHB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMjkgewogIGZvbnQtc2l6ZTogMjlweCAhaW1wb3J0YW50Owp9Ci5mb250LTMwIHsKICBmb250LXNpemU6IDMwcHggIWltcG9ydGFudDsKfQouZm9udC0zMiB7CiAgZm9udC1zaXplOiAzMnB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMzYgewogIGZvbnQtc2l6ZTogMzZweCAhaW1wb3J0YW50Owp9Ci5mb250LTM4IHsKICBmb250LXNpemU6IDM4cHggIWltcG9ydGFudDsKfQouZm9udC00MCB7CiAgZm9udC1zaXplOiA0MHB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtNDIgewogIGZvbnQtc2l6ZTogNDJweCAhaW1wb3J0YW50Owp9Ci5mb250LTQ0IHsKICBmb250LXNpemU6IDQ0cHggIWltcG9ydGFudDsKfQouZm9udC00NiB7CiAgZm9udC1zaXplOiA0NnB4ICFpbXBvcnRhbnQ7Cn0KLmZvbnQtNDggewogIGZvbnQtc2l6ZTogNDhweCAhaW1wb3J0YW50Owp9Ci5mb250LTU0IHsKICBmb250LXNpemU6IDMuODU3MTQyODZyZW0gIWltcG9ydGFudDsKfQouZm9udC02MCB7CiAgZm9udC1zaXplOiA0LjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7Cn0KLmZvbnQtNjQgewogIGZvbnQtc2l6ZTogNC41NzE0Mjg1N3JlbSAhaW1wb3J0YW50Owp9Ci5mb250LTcyIHsKICBmb250LXNpemU6IDUuMTQyODU3MTRyZW0gIWltcG9ydGFudDsKfQouZm9udC03OCB7CiAgZm9udC1zaXplOiA1LjU3MTQyODU3cmVtICFpbXBvcnRhbnQ7Cn0KLmZvbnQtOTAgewogIGZvbnQtc2l6ZTogNi40Mjg1NzE0M3JlbSAhaW1wb3J0YW50Owp9Ci5mb250LTEwMCB7CiAgZm9udC1zaXplOiA3LjE0Mjg1NzE0cmVtICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMTUwIHsKICBmb250LXNpemU6IDEwLjcxNDI4NTcxcmVtICFpbXBvcnRhbnQ7Cn0KLmZvbnQtMjAwIHsKICBmb250LXNpemU6IDE0LjI4NTcxNDI5cmVtICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gTGV0dGVyIFNwYWNpbmcgLS0tLS0tLS0tLSAqLwoubGV0dGVyLXNwYWNlLTAgewogIGxldHRlci1zcGFjaW5nOiAwcHg7Cn0KLmxldHRlci1zcGFjZS0xIHsKICBsZXR0ZXItc3BhY2luZzogMXB4Owp9Ci5sZXR0ZXItc3BhY2UtMiB7CiAgbGV0dGVyLXNwYWNpbmc6IDJweDsKfQoubGV0dGVyLXNwYWNlLTMgewogIGxldHRlci1zcGFjaW5nOiAzcHg7Cn0KLmxldHRlci1zcGFjZS00IHsKICBsZXR0ZXItc3BhY2luZzogNHB4Owp9Ci5sZXR0ZXItc3BhY2UtNSB7CiAgbGV0dGVyLXNwYWNpbmc6IDVweDsKfQoubGV0dGVyLXNwYWNlLTYgewogIGxldHRlci1zcGFjaW5nOiA2cHg7Cn0KLmxldHRlci1zcGFjZS03IHsKICBsZXR0ZXItc3BhY2luZzogN3B4Owp9Ci5sZXR0ZXItc3BhY2UtOCB7CiAgbGV0dGVyLXNwYWNpbmc6IDhweDsKfQoubGV0dGVyLXNwYWNlLTkgewogIGxldHRlci1zcGFjaW5nOiA5cHg7Cn0KLmxldHRlci1zcGFjZS0xMCB7CiAgbGV0dGVyLXNwYWNpbmc6IDEwcHg7Cn0KLyogLS0tLS0tLS0gei1pbmRleCAtLS0tLS0tLS0tICovCi56LWluZGV4LS0xIHsKICB6LWluZGV4OiAtMSAhaW1wb3J0YW50Owp9Ci56LWluZGV4LTAgewogIHotaW5kZXg6IDAgIWltcG9ydGFudDsKfQouei1pbmRleC0xIHsKICB6LWluZGV4OiAxICFpbXBvcnRhbnQ7Cn0KLnotaW5kZXgtMiB7CiAgei1pbmRleDogMiAhaW1wb3J0YW50Owp9Ci56LWluZGV4LTMgewogIHotaW5kZXg6IDMgIWltcG9ydGFudDsKfQouei1pbmRleC00IHsKICB6LWluZGV4OiA0ICFpbXBvcnRhbnQ7Cn0KLnotaW5kZXgtNSB7CiAgei1pbmRleDogNSAhaW1wb3J0YW50Owp9Ci56LWluZGV4LTk5IHsKICB6LWluZGV4OiA5OSAhaW1wb3J0YW50Owp9Ci56LWluZGV4LTExMSB7CiAgei1pbmRleDogMTExICFpbXBvcnRhbnQ7Cn0KLnotaW5kZXgtMTExMSB7CiAgei1pbmRleDogMTExMSAhaW1wb3J0YW50Owp9Ci56LWluZGV4LTk5OTkgewogIHotaW5kZXg6IDk5OTkgIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBMaW5lIEhlaWdodCAtLS0tLS0tLS0tICovCi5saW5lLWhlaWdodC0wIHsKICBsaW5lLWhlaWdodDogMHB4Owp9Ci5saW5lLWhlaWdodC0xIHsKICBsaW5lLWhlaWdodDogMTsKfQoubGluZS1oZWlnaHQtMjAgewogIGxpbmUtaGVpZ2h0OiAyMHB4Owp9Ci5saW5lLWhlaWdodC01MCB7CiAgbGluZS1oZWlnaHQ6IDUwcHg7Cn0KLmxpbmUtaGVpZ2h0LTgwIHsKICBsaW5lLWhlaWdodDogODBweDsKfQoubGluZS1oZWlnaHQtMTAwIHsKICBsaW5lLWhlaWdodDogMTAwcHg7Cn0KLmxpbmUtaGVpZ2h0LTExMCB7CiAgbGluZS1oZWlnaHQ6IDExMHB4Owp9Ci5saW5lLWhlaWdodC0xMjAgewogIGxpbmUtaGVpZ2h0OiAxMjBweDsKfQoubGluZS1oZWlnaHQtMTMwIHsKICBsaW5lLWhlaWdodDogMTMwcHg7Cn0KLmxpbmUtaGVpZ2h0LTE1MCB7CiAgbGluZS1oZWlnaHQ6IDE1MHB4Owp9Ci5saW5lLWhlaWdodC0yMDAgewogIGxpbmUtaGVpZ2h0OiAyMDBweDsKfQoubGluZS1oZWlnaHQtMWVtIHsKICBsaW5lLWhlaWdodDogMWVtOwp9Ci5saW5lLWhlaWdodC0xIHsKICBsaW5lLWhlaWdodDogMSAhaW1wb3J0YW50Owp9Ci8qIC0tLS0tLS0tIEN1c3RvbSBNYXJnaW4gUGFkZGluZyAtLS0tLS0tLS0tICovCi5tYi01IHsKICBtYXJnaW4tYm90dG9tOiA1cHggIWltcG9ydGFudDsKfQoubWwtNSB7CiAgbWFyZ2luLWxlZnQ6IDVweCAhaW1wb3J0YW50Owp9Ci5tci01IHsKICBtYXJnaW4tcmlnaHQ6IDVweCAhaW1wb3J0YW50Owp9Ci5tdC01IHsKICBtYXJnaW4tdG9wOiA1cHggIWltcG9ydGFudDsKfQoubXQtMTIgewogIG1hcmdpbi10b3A6IDEycHggIWltcG9ydGFudDsKfQoubWItMjUgewogIG1hcmdpbi1ib3R0b206IDI1cHggIWltcG9ydGFudDsKfQoucGItNSB7CiAgcGFkZGluZy1ib3R0b206IDVweCAhaW1wb3J0YW50Owp9Ci5wbC01IHsKICBwYWRkaW5nLWxlZnQ6IDVweCAhaW1wb3J0YW50Owp9Ci5wci01IHsKICBwYWRkaW5nLXJpZ2h0OiA1cHggIWltcG9ydGFudDsKfQoucHQtNSB7CiAgcGFkZGluZy10b3A6IDVweCAhaW1wb3J0YW50Owp9Ci5wLTI1IHsKICBwYWRkaW5nOiAyNXB4ICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gQm9yZGVyIC0tLS0tLS0tLS0gKi8KLm5vLWJvcmRlciB7CiAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci0xcHggewogIGJvcmRlcjogMXB4IHNvbGlkICNlZWVlZWUgIWltcG9ydGFudDsKfQouYm9yZGVyLTJweCB7CiAgYm9yZGVyOiAycHggc29saWQgI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItM3B4IHsKICBib3JkZXI6IDNweCBzb2xpZCAjZWVlZWVlICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci00cHggewogIGJvcmRlcjogNHB4IHNvbGlkICNlZWVlZWUgIWltcG9ydGFudDsKfQouYm9yZGVyLTVweCB7CiAgYm9yZGVyOiA1cHggc29saWQgI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItNnB4IHsKICBib3JkZXI6IDZweCBzb2xpZCAjZWVlZWVlICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci03cHggewogIGJvcmRlcjogN3B4IHNvbGlkICNlZWVlZWUgIWltcG9ydGFudDsKfQouYm9yZGVyLThweCB7CiAgYm9yZGVyOiA4cHggc29saWQgI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItOXB4IHsKICBib3JkZXI6IDlweCBzb2xpZCAjZWVlZWVlICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci0xMHB4IHsKICBib3JkZXI6IDEwcHggc29saWQgI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItbGVmdCB7CiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGNkY2RjICFpbXBvcnRhbnQ7Cn0KLmJvcmRlci1yaWdodCB7CiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RjZGNkYyAhaW1wb3J0YW50Owp9Ci5ib3JkZXItdG9wIHsKICBib3JkZXItdG9wOiAxcHggc29saWQgI2RjZGNkYyAhaW1wb3J0YW50Owp9Ci5ib3JkZXItYm90dG9tIHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZWVlZSAhaW1wb3J0YW50Owp9Ci5ib3JkZXItYm90dG9tLTJweCB7CiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlZWVlZWUgIWltcG9ydGFudDsKfQouYm9yZGVyLWJvdHRvbS1ncmF5IHsKICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QzZDNkMyAhaW1wb3J0YW50Owp9Ci5ib3JkZXItZ3JheSB7CiAgYm9yZGVyLWNvbG9yOiAjZWVlZWVlICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gQm9yZGVyIFJhZGl1cyAtLS0tLS0tLS0tICovCi5ib3JkZXItcmFkaXVzLTVweCB7CiAgYm9yZGVyLXJhZGl1czogNXB4Owp9Ci5ib3JkZXItcmFkaXVzLTEwcHggewogIGJvcmRlci1yYWRpdXM6IDEwcHg7Cn0KLmJvcmRlci1yYWRpdXMtMTVweCB7CiAgYm9yZGVyLXJhZGl1czogMTVweDsKfQouYm9yZGVyLXJhZGl1cy0yMHB4IHsKICBib3JkZXItcmFkaXVzOiAyMHB4Owp9Ci5ib3JkZXItcmFkaXVzLTI1cHggewogIGJvcmRlci1yYWRpdXM6IDI1cHg7Cn0KLmJvcmRlci1yYWRpdXMtMzBweCB7CiAgYm9yZGVyLXJhZGl1czogMzBweDsKfQouYm9yZGVyLXJhZGl1cy0zNXB4IHsKICBib3JkZXItcmFkaXVzOiAzNXB4Owp9Ci5ib3JkZXItcmFkaXVzLTQwcHggewogIGJvcmRlci1yYWRpdXM6IDQwcHg7Cn0KLmJvcmRlci1yYWRpdXMtNDVweCB7CiAgYm9yZGVyLXJhZGl1czogNDVweDsKfQouYm9yZGVyLXJhZGl1cy01MHB4IHsKICBib3JkZXItcmFkaXVzOiA1MHB4Owp9Ci8qIC0tLS0tLS0tIFBvc2l0aW9uIC0tLS0tLS0tLS0gKi8KLnJlbGF0aXZlIHsKICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKfQouYWJzb2x1dGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50Owp9Ci5hYnNvbHV0ZS1pbmhlcml0IHsKICBwb3NpdGlvbjogaW5oZXJpdCAhaW1wb3J0YW50Owp9Ci5wb3NpdGlvbi1yZWxhdGl2ZSB7CiAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7Cn0KLnBvc2l0aW9uLWFic29sdXRlIHsKICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKfQoucG9zaXRpb24tc3RhdGljIHsKICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7Cn0KLnBvc2l0aW9uLWZpeGVkIHsKICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDsKfQoucG9zaXRpb24taW5oZXJpdCB7CiAgcG9zaXRpb246IGluaGVyaXQgIWltcG9ydGFudDsKfQoucG9zaXRpb24tdW5zZXQgewogIHBvc2l0aW9uOiB1bnNldCAhaW1wb3J0YW50Owp9Ci8qIC0tLS0tLS0tIEJhY2tncm91bmQgSW1hZ2UgLS0tLS0tLS0tLSAqLwoubm8tYmcgewogIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKfQouYmctbm8tcmVwZWF0IHsKICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0ICFpbXBvcnRhbnQ7Cn0KLmJnLWltZy1maXhlZCB7CiAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZCAhaW1wb3J0YW50Owp9Ci5iZy1pbWctY292ZXIgewogIGJhY2tncm91bmQtc2l6ZTogY292ZXIgIWltcG9ydGFudDsKfQouYmctaW1nLWNlbnRlci10b3AgewogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3AgIWltcG9ydGFudDsKfQouYmctaW1nLWNlbnRlci1ib3R0b20gewogIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBib3R0b20gIWltcG9ydGFudDsKfQouYmctaW1nLWNlbnRlciB7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlciAhaW1wb3J0YW50Owp9Ci5iZy1pbWctbGVmdC10b3AgewogIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7CiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7Cn0KLmJnLWltZy1sZWZ0LWJvdHRvbSB7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGJvdHRvbTsKfQouYmctaW1nLXJpZ2h0LXRvcCB7CiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsKICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCB0b3A7Cn0KLmltZy1mdWxsd2lkdGggewogIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7Cn0KLyogLS0tLS0tLS0gQWJzb2x1dGUgSW1hZ2UgUG9zaXRpb25pbmcgLS0tLS0tLS0tLSAqLwoub3ZlcmZsb3ctdmlzaWJsZSB7CiAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsKfQoub3ZlcmZsb3ctaGlkZGVuIHsKICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7Cn0KLm92ZXJmbG93LXgtaGlkZGVuIHsKICBvdmVyZmxvdy14OiBoaWRkZW4gIWltcG9ydGFudDsKfQoub3ZlcmZsb3cteS1oaWRkZW4gewogIG92ZXJmbG93LXk6IGhpZGRlbiAhaW1wb3J0YW50Owp9Ci5ib3gtYWJzb2x1dGUgewogIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50Owp9Ci5pbWctYWJzb2x1dGUtcGFyZW50IHsKICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsKfQouaW1nLWFic29sdXRlLXBhcmVudCBpbWcuaW1nLWFic29sdXRlIHsKICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDsKfQouaW1nLWFic29sdXRlLXBhcmVudCBpbWcuaW1nLXBvcy1sZWZ0IHsKICBsZWZ0OiAwICFpbXBvcnRhbnQ7Cn0KLmltZy1hYnNvbHV0ZS1wYXJlbnQgaW1nLmltZy1wb3MtdG9wIHsKICB0b3A6IDAgIWltcG9ydGFudDsKfQouaW1nLWFic29sdXRlLXBhcmVudCBpbWcuaW1nLXBvcy1ib3R0b20gewogIGJvdHRvbTogMCAhaW1wb3J0YW50Owp9Ci5pbWctYWJzb2x1dGUtcGFyZW50IGltZy5pbWctcG9zLXJpZ2h0IHsKICByaWdodDogMCAhaW1wb3J0YW50Owp9Ci5pbWctYWJzb2x1dGUtcGFyZW50IGltZy5pbWctcG9zLWNlbnRlciB7CiAgbGVmdDogMCAhaW1wb3J0YW50OwogIHJpZ2h0OiAwICFpbXBvcnRhbnQ7CiAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBSZXNwb25zaXZlIENsYXNzZXMgLS0tLS0tLS0tLSAqLwovKiBTbWFsbCBEZXZpY2VzLCBUYWJsZXRzICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkxcHgpIHsKICAuc20tZGlzcGxheS1ibG9jayB7CiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OwogIH0KICAuc20tdGV4dC1jZW50ZXIgewogICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7CiAgfQogIC5zbS10ZXh0LXJpZ2h0IHsKICAgIHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7CiAgfQogIC5zbS10ZXh0LWxlZnQgewogICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OwogIH0KICAuc20tcHVsbC1ub25lLAogIC5wdWxsLWxlZnQuZmxpcC5zbS1wdWxsLW5vbmUsCiAgLnB1bGwtcmlnaHQuZmxpcC5zbS1wdWxsLW5vbmUgewogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICB9CiAgLnNtLXB1bGwtbGVmdCB7CiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OwogIH0KICAuc20tcHVsbC1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLnNtLXB1bGwtY2VudGVyIHsKICAgIGRpc3BsYXk6IHRhYmxlOwogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLnNtLWZ1bGx3aWR0aCB7CiAgICB3aWR0aDogMTAwJTsKICB9CiAgLnNtLWhlaWdodC1hdXRvIHsKICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLnNtLWhpZGUtYmctaW1nIHsKICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsKICB9CiAgLm1heHdpZHRoNDAwIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgbWF4LXdpZHRoOiA0MDBweDsKICB9CiAgLm1heHdpZHRoNTAwIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgbWF4LXdpZHRoOiA1MDBweDsKICB9CiAgLm1heHdpZHRoNjAwIHsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvOwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvOwogICAgbWF4LXdpZHRoOiA2MDBweDsKICB9Cn0KLyogU21hbGwgRGV2aWNlcywgVGFibGV0cyAqLwpAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7CiAgLnhzLWRpc3BsYXktYmxvY2sgewogICAgZGlzcGxheTogYmxvY2s7CiAgfQogIC54cy10ZXh0LWNlbnRlciB7CiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsKICB9CiAgLnhzLXRleHQtcmlnaHQgewogICAgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLnhzLXRleHQtbGVmdCB7CiAgICB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7CiAgfQogIC54cy1mdWxsd2lkdGggewogICAgd2lkdGg6IDEwMCU7CiAgfQogIC54cy1oZWlnaHQtYXV0byB7CiAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgfQogIC54cy1oaWRlLWJnLWltZyB7CiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7CiAgfQogIC54cy1wdWxsLW5vbmUgewogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICB9CiAgLnhzLXB1bGwtbGVmdCB7CiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OwogIH0KICAueHMtcHVsbC1yaWdodCB7CiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsKICB9CiAgLnhzLXB1bGwtY2VudGVyIHsKICAgIGRpc3BsYXk6IHRhYmxlOwogICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsKICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICB9CiAgLnhzLWxpc3QtaW5saW5lLW5vbmUgbGkgewogICAgZGlzcGxheTogdGFibGU7CiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50OwogICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7CiAgICBtYXJnaW4tdG9wOiAyMHB4ICFpbXBvcnRhbnQ7CiAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDsKICB9Cn0KLyogRXh0cmEgU21hbGwgRGV2aWNlcywgUGhvbmVzICovCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDc5cHgpIHsKICAueHhzLXRleHQtY2VudGVyIHsKICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OwogIH0KICAueHhzLWhlaWdodC1hdXRvIHsKICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsKICB9Cn0KLyogLS0tLS0tLS0gT3BlbmluZyBIb3Vyc2UgLS0tLS0tLS0tLSAqLwoub3BlbmluZy1ob3VycyB1bCBsaSB7CiAgcGFkZGluZy1ib3R0b206IDEwcHggIWltcG9ydGFudDsKfQovKiAtLS0tLS0tLSBNdWx0aSBSb3cgQ2xlYXJmaXggLS0tLS0tLS0tLSAqLwoubXVsdGktcm93LWNsZWFyZml4IC5jb2wteHMtNjpudGgtY2hpbGQoMm4gKyAzKSB7CiAgY2xlYXI6IGxlZnQ7Cn0KLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXhzLTQ6bnRoLWNoaWxkKDNuICsgNCkgewogIGNsZWFyOiBsZWZ0Owp9Ci5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC14cy0zOm50aC1jaGlsZCg0biArIDUpIHsKICBjbGVhcjogbGVmdDsKfQoubXVsdGktcm93LWNsZWFyZml4IC5jb2wteHMtMjpudGgtY2hpbGQoNm4gKyA3KSB7CiAgY2xlYXI6IGxlZnQ7Cn0KLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXhzLTE6bnRoLWNoaWxkKDEybiArIDEzKSB7CiAgY2xlYXI6IGxlZnQ7Cn0KQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7CiAgLyogcmVzZXQgcHJldmlvdXMgZ3JpZCAqLwogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC14cy02Om50aC1jaGlsZCgybiArIDMpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wteHMtNDpudGgtY2hpbGQoM24gKyA0KSB7CiAgICBjbGVhcjogbm9uZTsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXhzLTM6bnRoLWNoaWxkKDRuICsgNSkgewogICAgY2xlYXI6IG5vbmU7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC14cy0yOm50aC1jaGlsZCg2biArIDcpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wteHMtMTpudGgtY2hpbGQoMTJuICsgMTMpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAvKiBjbGVhciBmaXJzdCBpbiByb3cgZm9yIHNtYWxsIGNvbHVtbnMgKi8KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtc20tNjpudGgtY2hpbGQoMm4gKyAzKSB7CiAgICBjbGVhcjogbGVmdDsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXNtLTQ6bnRoLWNoaWxkKDNuICsgNCkgewogICAgY2xlYXI6IGxlZnQ7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1zbS0zOm50aC1jaGlsZCg0biArIDUpIHsKICAgIGNsZWFyOiBsZWZ0OwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtc20tMjpudGgtY2hpbGQoNm4gKyA3KSB7CiAgICBjbGVhcjogbGVmdDsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXNtLTE6bnRoLWNoaWxkKDEybiArIDEzKSB7CiAgICBjbGVhcjogbGVmdDsKICB9Cn0KQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7CiAgLyogcmVzZXQgcHJldmlvdXMgZ3JpZCAqLwogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1zbS02Om50aC1jaGlsZCgybiArIDMpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtc20tNDpudGgtY2hpbGQoM24gKyA0KSB7CiAgICBjbGVhcjogbm9uZTsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLXNtLTM6bnRoLWNoaWxkKDRuICsgNSkgewogICAgY2xlYXI6IG5vbmU7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1zbS0yOm50aC1jaGlsZCg2biArIDcpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtc20tMTpudGgtY2hpbGQoMTJuICsgMTMpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAvKiBjbGVhciBmaXJzdCBpbiByb3cgZm9yIG1lZGl1bSBjb2x1bW5zICovCiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLW1kLTY6bnRoLWNoaWxkKDJuICsgMykgewogICAgY2xlYXI6IGxlZnQ7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1tZC00Om50aC1jaGlsZCgzbiArIDQpIHsKICAgIGNsZWFyOiBsZWZ0OwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtbWQtMzpudGgtY2hpbGQoNG4gKyA1KSB7CiAgICBjbGVhcjogbGVmdDsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLW1kLTI6bnRoLWNoaWxkKDZuICsgNykgewogICAgY2xlYXI6IGxlZnQ7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1tZC0xOm50aC1jaGlsZCgxMm4gKyAxMykgewogICAgY2xlYXI6IGxlZnQ7CiAgfQp9CkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHsKICAvKiByZXNldCBwcmV2aW91cyBncmlkICovCiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLW1kLTY6bnRoLWNoaWxkKDJuICsgMykgewogICAgY2xlYXI6IG5vbmU7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1tZC00Om50aC1jaGlsZCgzbiArIDQpIHsKICAgIGNsZWFyOiBub25lOwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtbWQtMzpudGgtY2hpbGQoNG4gKyA1KSB7CiAgICBjbGVhcjogbm9uZTsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLW1kLTI6bnRoLWNoaWxkKDZuICsgNykgewogICAgY2xlYXI6IG5vbmU7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1tZC0xOm50aC1jaGlsZCgxMm4gKyAxMykgewogICAgY2xlYXI6IG5vbmU7CiAgfQogIC8qIGNsZWFyIGZpcnN0IGluIHJvdyBmb3IgbGFyZ2UgY29sdW1ucyAqLwogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1sZy02Om50aC1jaGlsZCgybiArIDMpIHsKICAgIGNsZWFyOiBsZWZ0OwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtbGctNDpudGgtY2hpbGQoM24gKyA0KSB7CiAgICBjbGVhcjogbGVmdDsKICB9CiAgLm11bHRpLXJvdy1jbGVhcmZpeCAuY29sLWxnLTM6bnRoLWNoaWxkKDRuICsgNSkgewogICAgY2xlYXI6IGxlZnQ7CiAgfQogIC5tdWx0aS1yb3ctY2xlYXJmaXggLmNvbC1sZy0yOm50aC1jaGlsZCg2biArIDcpIHsKICAgIGNsZWFyOiBsZWZ0OwogIH0KICAubXVsdGktcm93LWNsZWFyZml4IC5jb2wtbGctMTpudGgtY2hpbGQoMTJuICsgMTMpIHsKICAgIGNsZWFyOiBsZWZ0OwogIH0KfQo="}},"time_used":142,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":141,"receive":1,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/images/footer-bg.png","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.838Z","timestamp":1785133990838,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /images/footer-bg.png HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: same-origin\r\nPriority: u=4, i\r\nPragma: no-cache\r\nCache-Control: no-cache\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/3 404 \r\ncache-control: private, no-cache, no-store, must-revalidate, max-age=0\r\npragma: no-cache\r\ncontent-type: text/html\r\ncontent-length: 796\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"404","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":796,"size_decoded":1003,"mime_type":"text/html","magic":"HTML document, ASCII text, with CRLF, LF line terminators","md5":"265e51037981a14ed99a5fc8c5ec1b51","sha1":"d12ac588953298fdaf46dd5b4af8eb4cf6b06f0a","sha256":"c4b07931b3fc37bc80d56a367783e7fa7c04ced4befec7f57ed079c38c960400","sha512":"b18aa610811c5f9bc1dd829ad90a95568e81a41e1fd1472983dc00147f65045fd91fbc498b5263ce4f4c88b041be21f186ed2ce357d3bcf86c0429ca18991151","ssdeep":"","tlshash":"1101f12ac182a80fe0231070fa91e37451594212629b4f647b9ff676f6ce1ab56b22cc","first_seen":"2024-02-05T05:35:22Z","last_seen":"2026-08-04T11:50:04.712488Z","times_seen":52943,"resource_available":true,"data":"PCFET0NUWVBFIGh0bWw+CjxodG1sIHN0eWxlPSJoZWlnaHQ6MTAwJSI+CjxoZWFkPgo8bWV0YSBuYW1lPSJ2aWV3cG9ydCIgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLCBpbml0aWFsLXNjYWxlPTEsIHNocmluay10by1maXQ9bm8iIC8+Cjx0aXRsZT4gNDA0IE5vdCBGb3VuZA0KPC90aXRsZT48c3R5bGU+QG1lZGlhIChwcmVmZXJzLWNvbG9yLXNjaGVtZTpkYXJrKXtib2R5e2JhY2tncm91bmQtY29sb3I6IzAwMCFpbXBvcnRhbnR9fTwvc3R5bGU+PC9oZWFkPgo8Ym9keSBzdHlsZT0iY29sb3I6ICM0NDQ7IG1hcmdpbjowO2ZvbnQ6IG5vcm1hbCAxNHB4LzIwcHggQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgaGVpZ2h0OjEwMCU7IGJhY2tncm91bmQtY29sb3I6ICNmZmY7Ij4KPGRpdiBzdHlsZT0iaGVpZ2h0OmF1dG87IG1pbi1oZWlnaHQ6MTAwJTsgIj4gICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgd2lkdGg6ODAwcHg7IG1hcmdpbi1sZWZ0OiAtNDAwcHg7IHBvc2l0aW9uOmFic29sdXRlOyB0b3A6IDMwJTsgbGVmdDo1MCU7Ij4KICAgICAgICA8aDEgc3R5bGU9Im1hcmdpbjowOyBmb250LXNpemU6MTUwcHg7IGxpbmUtaGVpZ2h0OjE1MHB4OyBmb250LXdlaWdodDpib2xkOyI+NDA0PC9oMT4KPGgyIHN0eWxlPSJtYXJnaW4tdG9wOjIwcHg7Zm9udC1zaXplOiAzMHB4OyI+Tm90IEZvdW5kDQo8L2gyPgo8cD5UaGUgcmVzb3VyY2UgcmVxdWVzdGVkIGNvdWxkIG5vdCBiZSBmb3VuZCBvbiB0aGlzIHNlcnZlciE8L3A+CjwvZGl2PjwvZGl2PjwvYm9keT48L2h0bWw+Cg=="}},"time_used":129,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":129,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"coin-images.coingecko.com/coins/images/279/large/ethereum.png?1696501628","fqdn":"coin-images.coingecko.com","domain":"coingecko.com","tld":"com"},"ip":{"addr":"172.67.142.173","port":443,"asn":13335,"as":"CLOUDFLARENET","country":"","country_code":"zz"},"is_navigation_request":false,"resource_type":"img","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:10.867Z","timestamp":1785133990867,"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":"coin-images.coingecko.com","organization":""},"issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validity":{"start":"Thu, 11 Jun 2026 22:42:48 GMT","end":"Wed, 09 Sep 2026 23:41:15 GMT"},"fingerprint":{"sha1":"7A:6C:D0:D5:FD:4F:F2:F6:0E:21:8F:DB:FC:C2:6A:FB:03:26:BA:A8","sha256":"8F:4C:5D:49:64:66:ED:34:00:50:8C:D4:D9:03:C8:38:40:42:53:9D:67:B3:CD:AA:9E:0E:D5:41:02:8E:46:BA"}}},"request":{"raw":"GET /coins/images/279/large/ethereum.png?1696501628 HTTP/1.1\r\nHost: coin-images.coingecko.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\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: image\r\nSec-Fetch-Mode: no-cors\r\nSec-Fetch-Site: cross-site\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/3 200 \r\nx-amz-id-2: AfuKWJd+EqcwweT0VgEm6+/c0BTGHR9A2laflJDnhk0QvXATj/+WqhfB5XSuG2MDc8uRZHMi04g=\r\nx-amz-request-id: 5ZK48BRCW41ZWPT6\r\ndate: Mon, 27 Jul 2026 06:33:10 GMT\r\nlast-modified: Wed, 29 May 2024 02:48:08 GMT\r\netag: \"af87366546180c799987073ac53f0733\"\r\nx-amz-server-side-encryption: AES256\r\nx-amz-version-id: 6vmhZ_PH5UG1O..xRx9fhSAwELb.H8zx\r\naccept-ranges: bytes\r\ncontent-type: image/png\r\nserver-timing: cfExtPri\r\nserver: cloudflare\r\ncf-cache-status: HIT\r\npriority: u=4,i\r\nreport-to: {\"group\":\"cf-nel\",\"max_age\":604800,\"endpoints\":[{\"url\":\"https://a.nel.cloudflare.com/report/v4?s=HaCFoi78Uu%2FTDTyUU6XcHprYfaRxEtOraohvcDdSEpi9VCKs%2FyphgRBY98NkXsyfXTefZ7KNmFmrlgaCpruaeyL%2FJ1ac2yjadIoiKrTgrNdgyZTNUB5ALAN6kLZmf7MUecyi83crq2EKhIPH\"}]}\r\ncf-bgj: h2pri,imgq:85\r\nnel: {\"report_to\":\"cf-nel\",\"success_fraction\":0.0,\"max_age\":604800}\r\ncf-polished: ok, orig_size=13114\r\nage: 270\r\ncf-ray: a2199c730e735699-OSL\r\nalt-svc: h3=\":443\"; ma=86400\r\ncontent-length: 9561\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"Amazon Web Services","description":"Amazon Web Services (AWS) is a comprehensive cloud services platform offering compute power, database storage, content delivery and other functionality.","website":"https://aws.amazon.com/","common_platform_enumeration":"","icon":"Amazon Web Services.svg","categories":["PaaS"]},{"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":9561,"size_decoded":10530,"mime_type":"image/png","magic":"PNG image data, 250 x 250, 8-bit/color RGBA, non-interlaced","md5":"39d54251b232d1e9e8a9665e7c2c5117","sha1":"025f4d72498175bf3219ba5fe2a6341b791d8b24","sha256":"5212de593ffa17b5acc04260fe702e32b3bb815f2eda4d7ca15b085967bd39f3","sha512":"c2f616084a077398dbed12026099332369ae72f8743c1a3acf1603af3a8ce032ac090cf0bc89d11270e8e2e6bd7d79383d556db591d19459bb873aab16daa0db","ssdeep":"96:dFdUh3pppql79CzKT7MLbrbKIgB1lpIRrFjWzR6/KPax4SfPUFvzJ/OWCVe8pabE:ZSfpEAzXzvElkFjy4rNcFvzYJVjaLypt","tlshash":"e112bf6f3030faa4599c8beb653659c09457b5b3868c38230aeee8ddecc54e088813c5","first_seen":"2025-04-01T12:02:22.555194Z","last_seen":"2026-08-02T04:59:47.341909Z","times_seen":1075,"resource_available":false,"data":"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"}},"time_used":27,"timings":{"blocked":11,"dns":0,"connect":0,"send":0,"wait":10,"receive":6,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"wss","addr":"wss://websocket-visitors.smartsupp.com/socket/?EIO=3\u0026transport=websocket","fqdn":"websocket-visitors.smartsupp.com","domain":"smartsupp.com","tld":"com"},"ip":{"addr":"3.126.223.20","port":443,"asn":16509,"as":"AMAZON-02","country":"Germany","country_code":"DE"},"is_navigation_request":false,"resource_type":"websocket","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:21.158Z","timestamp":1785134001158,"http_version":"HTTP/1.1","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.smartsupp.com","organization":""},"issuer":{"commonName":"Amazon RSA 2048 M04","organization":"Amazon"},"validity":{"start":"Wed, 24 Jun 2026 00:00:00 GMT","end":"Thu, 07 Jan 2027 23:59:59 GMT"},"fingerprint":{"sha1":"4F:1A:3B:79:00:E3:DC:1F:92:62:7C:DC:85:3A:BE:8C:D1:68:F2:57","sha256":"7F:93:E6:29:5D:CA:78:BD:30:0D:25:11:3B:E2:01:C9:DC:80:3C:80:90:3F:84:D2:72:1B:0D:42:F1:20:13:D9"}}},"request":{"raw":"GET /socket/?EIO=3\u0026transport=websocket HTTP/1.1\r\nHost: websocket-visitors.smartsupp.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\nSec-WebSocket-Version: 13\r\nOrigin: https://frxoptmarkt.com\r\nSec-WebSocket-Extensions: permessage-deflate\r\nSec-WebSocket-Key: AGTkWevKlbIeOv+HEuf4nQ==\r\nSec-Fetch-Storage-Access: none\r\nSec-GPC: 1\r\nConnection: Upgrade\r\nSec-Fetch-Dest: empty\r\nSec-Fetch-Mode: websocket\r\nSec-Fetch-Site: cross-site\r\nPragma: no-cache\r\nCache-Control: no-cache\r\nUpgrade: websocket\r\n\r\n","headers":null,"cookies":null,"method":"GET"},"response":{"raw":"HTTP/1.1 101 Switching Protocols\r\nDate: Mon, 27 Jul 2026 06:33:21 GMT\r\nConnection: upgrade\r\nUpgrade: websocket\r\nSec-WebSocket-Accept: QX2iCVadUfi0KMwfCweKBNNW47g=\r\nSec-WebSocket-Version: 13\r\nWebSocket-Server: uWebSockets\r\n\r\n","headers":null,"cookies":null,"status_code":"101","status_text":"Switching Protocols","fingerprints":null,"data":{"size":0,"size_decoded":224,"mime_type":"text/plain","magic":"","md5":"d41d8cd98f00b204e9800998ecf8427e","sha1":"da39a3ee5e6b4b0d3255bfef95601890afd80709","sha256":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","sha512":"cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e","ssdeep":"","tlshash":"","first_seen":"0001-01-01T00:00:00Z","last_seen":"2026-08-04T12:30:22.34111Z","times_seen":17708041,"resource_available":true,"data":""}},"time_used":239,"timings":{"blocked":0,"dns":82,"connect":103,"send":0,"wait":27,"receive":0,"ssl":27},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/js/revolution-slider/css/layers.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.594Z","timestamp":1785133989594,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /js/revolution-slider/css/layers.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 9985\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":146597,"size_decoded":10215,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"67b50bc0d49c4b80742a835113b03562","sha1":"29ce5433ed65387f6f6ef97159071e5987ae1599","sha256":"cc830234af8b0e2ac01ad515ff209c43b29ba78d5145505a1088b18beefd2ac9","sha512":"5991d613af7c17ff93728dff20841b8996f8ae8e0b34f891ea6066f76d836ca58140d2ef5774abaa7a6711dc8fef91acc221a0f12a2c55dca2702d01982478e4","ssdeep":"384:0jgGE3ZtaszFwt62cEGrmvNNRLv3A2qsbJNaNT8KiiOSGO2TK5NTXNG6IPXuuK2m:r3TreNNRIzGTTYIv+Yby","tlshash":"77e3ee61f90541c77073d91833729fc8eb690253ae078a35fbad23648f7d2acaa5179c","first_seen":"2023-04-11T01:29:53Z","last_seen":"2026-08-02T18:49:22.847901Z","times_seen":1704,"resource_available":false,"data":"LyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KDQotCVJldm9sdXRpb24gU2xpZGVyIDUuMCBMYXllciBTdHlsZSBTZXR0aW5ncyAtDQoNClNjcmVlbiBTdHlsZXNoZWV0DQoNCnZlcnNpb246ICAgCTUuMC4wDQpkYXRlOiAgICAgIAkxOC8wMy8xNQ0KYXV0aG9yOgkJdGhlbWVwdW5jaA0KZW1haWw6ICAgICAJaW5mb0B0aGVtZXB1bmNoLmNvbQ0Kd2Vic2l0ZTogICAJaHR0cDovL3d3dy50aGVtZXB1bmNoLmNvbQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KDQoqIHsNCiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7DQogICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7DQp9DQoNCi50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhLC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOnZpc2l0ZWQNCnsNCgljb2xvcjojMDA4NEI0IWltcG9ydGFudDsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6aG92ZXINCnsNCgljb2xvcjojMDA4NEI0IWltcG9ydGFudDsNCgl0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lIWltcG9ydGFudDsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2dyZXksLm1lZGl1bV9ncmV5DQp7DQoJYmFja2dyb3VuZC1jb2xvcjojODg4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoycHggNHB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93OjAgMnB4IDVweCByZ2JhKDAsMCwwLDAuNSk7DQoJd2hpdGUtc3BhY2U6bm93cmFwOw0KfQ0KDQoudHAtY2FwdGlvbi5zbWFsbF90ZXh0LC5zbWFsbF90ZXh0DQp7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6MTRweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCgltYXJnaW46MDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzowIDJweCA1cHggcmdiYSgwLDAsMCwwLjUpOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX3RleHQsLm1lZGl1bV90ZXh0DQp7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCgltYXJnaW46MDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzowIDJweCA1cHggcmdiYSgwLDAsMCwwLjUpOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24ubGFyZ2VfdGV4dCwubGFyZ2VfdGV4dA0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjQwcHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJbWFyZ2luOjA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6MCAycHggNXB4IHJnYmEoMCwwLDAsMC41KTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLnZlcnlfbGFyZ2VfdGV4dCwudmVyeV9sYXJnZV90ZXh0DQp7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6NjBweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGV0dGVyLXNwYWNpbmc6LTJweDsNCglsaW5lLWhlaWdodDo2MHB4Ow0KCW1hcmdpbjowOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93OjAgMnB4IDVweCByZ2JhKDAsMCwwLDAuNSk7DQoJd2hpdGUtc3BhY2U6bm93cmFwOw0KfQ0KDQoudHAtY2FwdGlvbi52ZXJ5X2JpZ193aGl0ZSwudmVyeV9iaWdfd2hpdGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpBcmlhbDsNCglmb250LXNpemU6NjBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6NjBweDsNCgltYXJnaW46MDsNCglwYWRkaW5nOjFweCA0cHggMDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24udmVyeV9iaWdfYmxhY2ssLnZlcnlfYmlnX2JsYWNrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjYwcHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoxcHggNHB4IDA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLm1vZGVybl9tZWRpdW1fZmF0LC5tb2Rlcm5fbWVkaXVtX2ZhdA0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyIsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOjI0cHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJbWFyZ2luOjA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLm1vZGVybl9tZWRpdW1fZmF0X3doaXRlLC5tb2Rlcm5fbWVkaXVtX2ZhdF93aGl0ZQ0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyIsIHNhbnMtc2VyaWY7DQoJZm9udC1zaXplOjI0cHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJbWFyZ2luOjA7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCgl3aGl0ZS1zcGFjZTpub3dyYXA7DQp9DQoNCi50cC1jYXB0aW9uLm1vZGVybl9tZWRpdW1fbGlnaHQsLm1vZGVybl9tZWRpdW1fbGlnaHQNCnsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojMDAwOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZToyNHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCW1hcmdpbjowOw0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93Om5vbmU7DQoJd2hpdGUtc3BhY2U6bm93cmFwOw0KfQ0KDQoudHAtY2FwdGlvbi5tb2Rlcm5fYmlnX2JsdWViZywubW9kZXJuX2JpZ19ibHVlYmcNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiM0ZTViNmM7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIiwgc2Fucy1zZXJpZjsNCglmb250LXNpemU6MzBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGV0dGVyLXNwYWNpbmc6MDsNCglsaW5lLWhlaWdodDozNnB4Ow0KCW1hcmdpbjowOw0KCXBhZGRpbmc6M3B4IDEwcHg7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubW9kZXJuX2JpZ19yZWRiZywubW9kZXJuX2JpZ19yZWRiZw0Kew0KCWJhY2tncm91bmQtY29sb3I6I2RlNTQzZTsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiLCBzYW5zLXNlcmlmOw0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsZXR0ZXItc3BhY2luZzowOw0KCWxpbmUtaGVpZ2h0OjM2cHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoxcHggMTBweCAzcHg7DQoJcG9zaXRpb246YWJzb2x1dGU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubW9kZXJuX3NtYWxsX3RleHRfZGFyaywubW9kZXJuX3NtYWxsX3RleHRfZGFyaw0Kew0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiM1NTU7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjE0cHg7DQoJbGluZS1oZWlnaHQ6MjJweDsNCgltYXJnaW46MDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KCXdoaXRlLXNwYWNlOm5vd3JhcDsNCn0NCg0KLnRwLWNhcHRpb24uYm94c2hhZG93LC5ib3hzaGFkb3cNCnsJCQ0KCWJveC1zaGFkb3c6MCAwIDIwcHggcmdiYSgwLDAsMCwwLjUpOw0KfQ0KDQoudHAtY2FwdGlvbi5ibGFjaywuYmxhY2sNCnsNCgljb2xvcjojMDAwOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm5vc2hhZG93LC5ub3NoYWRvdw0Kew0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLnRoaW5oZWFkbGluZV9kYXJrLC50aGluaGVhZGxpbmVfZGFyaw0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJY29sb3I6cmdiYSgwLDAsMCwwLjg1KTsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MzBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi50aGludGV4dF9kYXJrLC50aGludGV4dF9kYXJrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCgljb2xvcjpyZ2JhKDAsMCwwLDAuODUpOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyNnB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLmxhcmdlYmxhY2tiZywubGFyZ2VibGFja2JnDQp7DQoJDQoJDQoJYmFja2dyb3VuZC1jb2xvcjojMDAwOw0KCWJvcmRlci1yYWRpdXM6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTo1MHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDo3MHB4Ow0KCXBhZGRpbmc6MCAyMHB4Ow0KCXBvc2l0aW9uOmFic29sdXRlOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLmxhcmdlcGlua2JnLC5sYXJnZXBpbmtiZw0Kew0KCQ0KCQ0KCWJhY2tncm91bmQtY29sb3I6I2RiNDM2MDsNCglib3JkZXItcmFkaXVzOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NTBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6NzBweDsNCglwYWRkaW5nOjAgMjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZXdoaXRlYmcsLmxhcmdld2hpdGViZw0Kew0KCQ0KCQ0KCWJhY2tncm91bmQtY29sb3I6I2ZmZjsNCglib3JkZXItcmFkaXVzOjA7DQoJY29sb3I6IzAwMDsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NTBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6NzBweDsNCglwYWRkaW5nOjAgMjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZWdyZWVuYmcsLmxhcmdlZ3JlZW5iZw0Kew0KCQ0KCQ0KCWJhY2tncm91bmQtY29sb3I6IzY3YWU3MzsNCglib3JkZXItcmFkaXVzOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NTBweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6NzBweDsNCglwYWRkaW5nOjAgMjBweDsNCglwb3NpdGlvbjphYnNvbHV0ZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5leGNlcnB0LC5leGNlcnB0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDEpOw0KCWJvcmRlci1jb2xvcjojZmZmOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjM2cHg7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWhlaWdodDphdXRvOw0KCWxldHRlci1zcGFjaW5nOi0xLjVweDsNCglsaW5lLWhlaWdodDozNnB4Ow0KCW1hcmdpbjowOw0KCXBhZGRpbmc6MXB4IDRweCAwOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQoJd2hpdGUtc3BhY2U6bm9ybWFsIWltcG9ydGFudDsNCgl3aWR0aDoxNTBweDsNCn0NCg0KLnRwLWNhcHRpb24ubGFyZ2VfYm9sZF9ncmV5LC5sYXJnZV9ib2xkX2dyZXkNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiM2NjY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjYwcHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJbWFyZ2luOjA7DQoJcGFkZGluZzoxcHggNHB4IDA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX3RoaW5fZ3JleSwubWVkaXVtX3RoaW5fZ3JleQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzY2NjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MzRweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCgltYXJnaW46MDsNCglwYWRkaW5nOjFweCA0cHggMDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5zbWFsbF90aGluX2dyZXksLnNtYWxsX3RoaW5fZ3JleQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6Izc1NzU3NTsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MThweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MjZweDsNCgltYXJnaW46MDsNCglwYWRkaW5nOjFweCA0cHggMDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5saWdodGdyZXlfZGl2aWRlciwubGlnaHRncmV5X2RpdmlkZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjM1LDIzNSwyMzUsMSk7DQoJYmFja2dyb3VuZC1wb3NpdGlvbjppbml0aWFsOw0KCWJhY2tncm91bmQtcmVwZWF0OmluaXRpYWw7DQoJYm9yZGVyLWNvbG9yOiMyMjI7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJaGVpZ2h0OjNweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl3aWR0aDozNzBweDsNCn0NCg0KLnRwLWNhcHRpb24ubGFyZ2VfYm9sZF9kYXJrYmx1ZSwubGFyZ2VfYm9sZF9kYXJrYmx1ZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzM0NDk1ZTsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NThweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6NjBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2JnX2RhcmtibHVlLC5tZWRpdW1fYmdfZGFya2JsdWUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMzNDQ5NWU7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjEwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9ib2xkX3JlZCwubWVkaXVtX2JvbGRfcmVkDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZTMzYTBjOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToyNHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2xpZ2h0X3JlZCwubWVkaXVtX2xpZ2h0X3JlZA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2UzM2EwYzsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MjFweDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MjZweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9iZ19yZWQsLm1lZGl1bV9iZ19yZWQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiNlMzNhMGM7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6MjBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjEwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9ib2xkX29yYW5nZSwubWVkaXVtX2JvbGRfb3JhbmdlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZjM5YzEyOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToyNHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW1fYmdfb3JhbmdlLC5tZWRpdW1fYmdfb3JhbmdlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjojZjM5YzEyOw0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzoxMHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5ncmFzc2Zsb29yLC5ncmFzc2Zsb29yDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDE2MCwxNzksMTUxLDEpOw0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWhlaWdodDoxNTBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl3aWR0aDo0MDAwcHg7DQp9DQoNCi50cC1jYXB0aW9uLmxhcmdlX2JvbGRfd2hpdGUsLmxhcmdlX2JvbGRfd2hpdGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjU4cHg7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lZGl1bV9saWdodF93aGl0ZSwubWVkaXVtX2xpZ2h0X3doaXRlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDozNnB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtbGFyZ2VfbGlnaHRfd2hpdGUsLm1lZGl1bWxhcmdlX2xpZ2h0X3doaXRlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTozNHB4Ow0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDo0MHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtbGFyZ2VfbGlnaHRfd2hpdGVfY2VudGVyLC5tZWRpdW1sYXJnZV9saWdodF93aGl0ZV9jZW50ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjM0cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246Y2VudGVyOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW1fYmdfYXNiZXN0b3MsLm1lZGl1bV9iZ19hc2Jlc3Rvcw0Kew0KCWJhY2tncm91bmQtY29sb3I6IzdmOGM4ZDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MTBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWVkaXVtX2xpZ2h0X2JsYWNrLC5tZWRpdW1fbGlnaHRfYmxhY2sNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjMwcHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjM2cHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZV9ib2xkX2JsYWNrLC5sYXJnZV9ib2xkX2JsYWNrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6I2ZmZDY1ODsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojMDAwOw0KCWZvbnQtZmFtaWx5OiJPcGVuIFNhbnMiOw0KCWZvbnQtc2l6ZTo1OHB4Ow0KCWZvbnQtd2VpZ2h0OjgwMDsNCglsaW5lLWhlaWdodDo2MHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW1sYXJnZV9saWdodF9kYXJrYmx1ZSwubWVkaXVtbGFyZ2VfbGlnaHRfZGFya2JsdWUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMzNDQ5NWU7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjM0cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5zbWFsbF9saWdodF93aGl0ZSwuc21hbGxfbGlnaHRfd2hpdGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjojZmZkNjU4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjI4cHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5yb3VuZGVkaW1hZ2UsLnJvdW5kZWRpbWFnZQ0Kew0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KfQ0KDQoudHAtY2FwdGlvbi5sYXJnZV9iZ19ibGFjaywubGFyZ2VfYmdfYmxhY2sNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMwMDA7DQoJYm9yZGVyLWNvbG9yOiNmZmQ2NTg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiT3BlbiBTYW5zIjsNCglmb250LXNpemU6NDBweDsNCglmb250LXdlaWdodDo4MDA7DQoJbGluZS1oZWlnaHQ6NDBweDsNCglwYWRkaW5nOjEwcHggMjBweCAxNXB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tZWRpdW13aGl0ZWJnLC5tZWRpdW13aGl0ZWJnDQp7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJvcmRlci1jb2xvcjojMDAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiMwMDA7DQoJZm9udC1mYW1pbHk6Ik9wZW4gU2FucyI7DQoJZm9udC1zaXplOjMwcHg7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzo1cHggMTVweCAxMHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1haW5jYXB0aW9uLC5tYWluY2FwdGlvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzIxMmE0MDsNCglmb250LWZhbWlseTpyb2JvdG87DQoJZm9udC1zaXplOjMzcHg7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxpbmUtaGVpZ2h0OjQzcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWlhbWlfdGl0bGVfNjBweCwubWlhbWlfdGl0bGVfNjBweA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiU291cmNlIFNhbnMgUHJvIjsNCglmb250LXNpemU6NjBweDsNCglmb250LXdlaWdodDo3MDA7DQoJbGV0dGVyLXNwYWNpbmc6MXB4Ow0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24ubWlhbWlfc3VidGl0bGUsLm1pYW1pX3N1YnRpdGxlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6IzAwMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNjUpOw0KCWZvbnQtZmFtaWx5OiJTb3VyY2UgU2FucyBQcm8iOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MjRweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5kaXZpZGVsaW5lMzBweCwuZGl2aWRlbGluZTMwcHgNCnsNCgliYWNrZ3JvdW5kOiNmZmY7DQoJYmFja2dyb3VuZC1jb2xvcjojZmZmOw0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWhlaWdodDoycHg7DQoJbWluLXdpZHRoOjMwcHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk1pYW1pX25vc3R5bGUsLk1pYW1pX25vc3R5bGUNCnsNCglib3JkZXItY29sb3I6IzIyMjsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCn0NCg0KLnRwLWNhcHRpb24ubWlhbWlfY29udGVudF9saWdodCwubWlhbWlfY29udGVudF9saWdodA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseToiU291cmNlIFNhbnMgUHJvIjsNCglmb250LXNpemU6MjJweDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MDsNCglsaW5lLWhlaWdodDoyOHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1pYW1pX3RpdGxlXzYwcHhfZGFyaywubWlhbWlfdGl0bGVfNjBweF9kYXJrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6IzAwMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojMzMzOw0KCWZvbnQtZmFtaWx5OiJTb3VyY2UgU2FucyBQcm8iOw0KCWZvbnQtc2l6ZTo2MHB4Ow0KCWZvbnQtd2VpZ2h0OjcwMDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJbGluZS1oZWlnaHQ6NjBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5taWFtaV9jb250ZW50X2RhcmssLm1pYW1pX2NvbnRlbnRfZGFyaw0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6IzY2NjsNCglmb250LWZhbWlseToiU291cmNlIFNhbnMgUHJvIjsNCglmb250LXNpemU6MjJweDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MDsNCglsaW5lLWhlaWdodDoyOHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLmRpdmlkZWxpbmUzMHB4X2RhcmssLmRpdmlkZWxpbmUzMHB4X2RhcmsNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOiMzMzM7DQoJYm9yZGVyLWNvbG9yOiMyMjI7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJaGVpZ2h0OjJweDsNCgltaW4td2lkdGg6MzBweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uZWxsaXBzZTcwcHgsLmVsbGlwc2U3MHB4DQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDAuMTQ5MDIpOw0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1yYWRpdXM6NTBweCA1MHB4IDUwcHggNTBweDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljdXJzb3I6cG9pbnRlcjsNCglsaW5lLWhlaWdodDoxcHg7DQoJbWluLWhlaWdodDo3MHB4Ow0KCW1pbi13aWR0aDo3MHB4Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5hcnJvd2ljb24sLmFycm93aWNvbg0Kew0KCWJvcmRlci1jb2xvcjojMjIyOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWxpbmUtaGVpZ2h0OjFweDsNCn0NCg0KLnRwLWNhcHRpb24uTWFya2VyRGlzcGxheSwuTWFya2VyRGlzcGxheQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOiMwMDA7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWZvbnQtZmFtaWx5OiJQZXJtYW5lbnQgTWFya2VyIjsNCglmb250LXN0eWxlOm5vcm1hbDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUmVzdGF1cmFudC1EaXNwbGF5LC5SZXN0YXVyYW50LURpc3BsYXkNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjEyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjcwMDsNCglsaW5lLWhlaWdodDoxMjBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlJlc3RhdXJhbnQtQ3Vyc2l2ZSwuUmVzdGF1cmFudC1DdXJzaXZlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Ik5vdGhpbmcgeW91IGNvdWxkIGRvIjsNCglmb250LXNpemU6MzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5SZXN0YXVyYW50LVNjcm9sbERvd25UZXh0LC5SZXN0YXVyYW50LVNjcm9sbERvd25UZXh0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOiNmZmY7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlJlc3RhdXJhbnQtRGVzY3JpcHRpb24sLlJlc3RhdXJhbnQtRGVzY3JpcHRpb24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6I2ZmZjsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUmVzdGF1cmFudC1QcmljZSwuUmVzdGF1cmFudC1QcmljZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjojZmZmOw0KCWZvbnQtZmFtaWx5OlJvYm90bzsNCglmb250LXNpemU6MzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5SZXN0YXVyYW50LU1lbnVpdGVtLC5SZXN0YXVyYW50LU1lbnVpdGVtDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoxN3B4Ow0KCXBhZGRpbmc6MTBweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRnVybml0dXJlLUxvZ29UZXh0LC5GdXJuaXR1cmUtTG9nb1RleHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyMzAsMjA3LDE2MywxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MTUwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkZ1cm5pdHVyZS1QbHVzLC5GdXJuaXR1cmUtUGx1cw0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWJveC1zaGFkb3c6cmdiYSgwLDAsMCwwLjEpIDAgMXB4IDNweDsNCgljb2xvcjpyZ2JhKDIzMCwyMDcsMTYzLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzo2cHggN3B4IDRweDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GdXJuaXR1cmUtVGl0bGUsLkZ1cm5pdHVyZS1UaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCgl0ZXh0LXNoYWRvdzpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GdXJuaXR1cmUtU3VidGl0bGUsLkZ1cm5pdHVyZS1TdWJ0aXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1EaXNwbGF5LC5HeW0tRGlzcGxheQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjgwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjcwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5HeW0tU3VibGluZSwuR3ltLVN1YmxpbmUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjEwMDsNCglsZXR0ZXItc3BhY2luZzo1cHg7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1TbWFsbFRleHQsLkd5bS1TbWFsbFRleHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyMjsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmFzaGlvbi1TbWFsbFRleHQsLkZhc2hpb24tU21hbGxUZXh0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTJweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GYXNoaW9uLUJpZ0Rpc3BsYXksLkZhc2hpb24tQmlnRGlzcGxheQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjYwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDo2MHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmFzaGlvbi1UZXh0QmxvY2ssLkZhc2hpb24tVGV4dEJsb2NrDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjQwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5TcG9ydHMtRGlzcGxheSwuU3BvcnRzLURpc3BsYXkNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxMzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGV0dGVyLXNwYWNpbmc6MTNweDsNCglsaW5lLWhlaWdodDoxMzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1EaXNwbGF5RmF0LC5TcG9ydHMtRGlzcGxheUZhdA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjEzMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjkwMDsNCglsaW5lLWhlaWdodDoxMzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1TdWJsaW5lLC5TcG9ydHMtU3VibGluZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjMycHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxldHRlci1zcGFjaW5nOjRweDsNCglsaW5lLWhlaWdodDozMnB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uSW5zdGFncmFtLUNhcHRpb24sLkluc3RhZ3JhbS1DYXB0aW9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjkwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3cy1UaXRsZSwuTmV3cy1UaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OiJSb2JvdG8gU2xhYiI7DQoJZm9udC1zaXplOjcwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjYwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5OZXdzLVN1YnRpdGxlLC5OZXdzLVN1YnRpdGxlDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseToiUm9ib3RvIFNsYWIiOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsaW5lLWhlaWdodDoyNHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3cy1TdWJ0aXRsZTpob3ZlciwuTmV3cy1TdWJ0aXRsZTpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNjUpOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1EaXNwbGF5LC5QaG90b2dyYXBoeS1EaXNwbGF5DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6ODBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGV0dGVyLXNwYWNpbmc6NXB4Ow0KCWxpbmUtaGVpZ2h0OjcwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1TdWJsaW5lLC5QaG90b2dyYXBoeS1TdWJsaW5lDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMTE5LDExOSwxMTksMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1JbWFnZUhvdmVyLC5QaG90b2dyYXBoeS1JbWFnZUhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGluZS1oZWlnaHQ6MjI7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1JbWFnZUhvdmVyOmhvdmVyLC5QaG90b2dyYXBoeS1JbWFnZUhvdmVyOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlBob3RvZ3JhcGh5LU1lbnVpdGVtLC5QaG90b2dyYXBoeS1NZW51aXRlbQ0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjY1KTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MjBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzozcHggNXB4IDNweCA4cHg7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlBob3RvZ3JhcGh5LU1lbnVpdGVtOmhvdmVyLC5QaG90b2dyYXBoeS1NZW51aXRlbTpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDI1NSwyMjIsMC42NSk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1UZXh0YmxvY2ssLlBob3RvZ3JhcGh5LVRleHRibG9jaw0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUGhvdG9ncmFwaHktU3VibGluZS0yLC5QaG90b2dyYXBoeS1TdWJsaW5lLTINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjM1KTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjMwMDsNCglsZXR0ZXItc3BhY2luZzozcHg7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlBob3RvZ3JhcGh5LUltYWdlSG92ZXIyLC5QaG90b2dyYXBoeS1JbWFnZUhvdmVyMg0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6QXJpYWw7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjIyOw0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUGhvdG9ncmFwaHktSW1hZ2VIb3ZlcjI6aG92ZXIsLlBob3RvZ3JhcGh5LUltYWdlSG92ZXIyOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLldlYlByb2R1Y3QtVGl0bGUsLldlYlByb2R1Y3QtVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSg1MSw1MSw1MSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZTo5MHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjEwMDsNCglsaW5lLWhlaWdodDo5MHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uV2ViUHJvZHVjdC1TdWJUaXRsZSwuV2ViUHJvZHVjdC1TdWJUaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDE1MywxNTMsMTUzLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LUNvbnRlbnQsLldlYlByb2R1Y3QtQ29udGVudA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDE1MywxNTMsMTUzLDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzowOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LU1lbnVpdGVtLC5XZWJQcm9kdWN0LU1lbnVpdGVtDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDUxLDUxLDUxLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjNweCA1cHggM3B4IDhweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLldlYlByb2R1Y3QtTWVudWl0ZW06aG92ZXIsLldlYlByb2R1Y3QtTWVudWl0ZW06aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDE1MywxNTMsMTUzLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LVRpdGxlLUxpZ2h0LC5XZWJQcm9kdWN0LVRpdGxlLUxpZ2h0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6OTBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGluZS1oZWlnaHQ6OTBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LVN1YlRpdGxlLUxpZ2h0LC5XZWJQcm9kdWN0LVN1YlRpdGxlLUxpZ2h0DQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4zNSk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LUNvbnRlbnQtTGlnaHQsLldlYlByb2R1Y3QtQ29udGVudC1MaWdodA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNjUpOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE2cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxpbmUtaGVpZ2h0OjI0cHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmF0Um91bmRlZCwuRmF0Um91bmRlZA0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwLjUwKTsNCglib3JkZXItY29sb3I6cmdiYSgyMTEsMjExLDIxMSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjUwcHggNTBweCA1MHB4IDUwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZTozMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjkwMDsNCglsaW5lLWhlaWdodDozMHB4Ow0KCXBhZGRpbmc6MjBweCAyMnB4IDIwcHggMjVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmF0Um91bmRlZDpob3ZlciwuRmF0Um91bmRlZDpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgyMTEsMjExLDIxMSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjUwcHggNTBweCA1MHB4IDUwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1UaXRsZSwuTm90R2VuZXJpYy1UaXRsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjcwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6ODAwOw0KCWxpbmUtaGVpZ2h0OjcwcHg7DQoJcGFkZGluZzoxMHB4IDA7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk5vdEdlbmVyaWMtU3ViVGl0bGUsLk5vdEdlbmVyaWMtU3ViVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxM3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzo0cHg7DQoJbGluZS1oZWlnaHQ6MjBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ob3RHZW5lcmljLUNhbGxUb0FjdGlvbiwuTm90R2VuZXJpYy1DYWxsVG9BY3Rpb24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTRweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo1MDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjE0cHg7DQoJcGFkZGluZzoxMHB4IDMwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ob3RHZW5lcmljLUNhbGxUb0FjdGlvbjpob3ZlciwuTm90R2VuZXJpYy1DYWxsVG9BY3Rpb246aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ob3RHZW5lcmljLUljb24sLk5vdEdlbmVyaWMtSWNvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MzBweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGV0dGVyLXNwYWNpbmc6M3B4Ow0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1NZW51aXRlbSwuTm90R2VuZXJpYy1NZW51aXRlbQ0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjE1KTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzozcHg7DQoJbGluZS1oZWlnaHQ6MTRweDsNCglwYWRkaW5nOjI3cHggMzBweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk5vdEdlbmVyaWMtTWVudWl0ZW06aG92ZXIsLk5vdEdlbmVyaWMtTWVudWl0ZW06aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLk1hcmtlclN0eWxlLC5NYXJrZXJTdHlsZQ0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OiJQZXJtYW5lbnQgTWFya2VyIjsNCglmb250LXNpemU6MTdweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDoxMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5HeW0tTWVudWl0ZW0sLkd5bS1NZW51aXRlbQ0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItcmFkaXVzOjNweCAzcHggM3B4IDNweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjIwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6MzAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6M3B4IDVweCAzcHggOHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uR3ltLU1lbnVpdGVtOmhvdmVyLC5HeW0tTWVudWl0ZW06aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7DQoJYm9yZGVyLXJhZGl1czozcHggM3B4IDNweCAzcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbiwuTmV3c3BhcGVyLUJ1dHRvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwLjI1KTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjEzcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoxN3B4Ow0KCXBhZGRpbmc6MTJweCAzNXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbjpob3ZlciwuTmV3c3BhcGVyLUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLVN1YnRpdGxlLC5OZXdzcGFwZXItU3VidGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgxNjgsMjE2LDIzOCwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjIwcHg7DQoJcGFkZGluZzowOw0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLVRpdGxlLC5OZXdzcGFwZXItVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseToiUm9ib3RvIFNsYWIiOw0KCWZvbnQtc2l6ZTo1MHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDo1NXB4Ow0KCXBhZGRpbmc6MCAwIDEwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5OZXdzcGFwZXItVGl0bGUtQ2VudGVyZWQsLk5ld3NwYXBlci1UaXRsZS1DZW50ZXJlZA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OiJSb2JvdG8gU2xhYiI7DQoJZm9udC1zaXplOjUwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NDAwOw0KCWxpbmUtaGVpZ2h0OjU1cHg7DQoJcGFkZGluZzowIDAgMTBweDsNCgl0ZXh0LWFsaWduOmNlbnRlcjsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uSGVyby1CdXR0b24sLkhlcm8tQnV0dG9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNTApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE0cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoxNHB4Ow0KCXBhZGRpbmc6MTBweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uSGVyby1CdXR0b246aG92ZXIsLkhlcm8tQnV0dG9uOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5WaWRlby1UaXRsZSwuVmlkZW8tVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjMwcHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjMwcHg7DQoJcGFkZGluZzo1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5WaWRlby1TdWJUaXRsZSwuVmlkZW8tU3ViVGl0bGUNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMC4zNSk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjEycHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NjAwOw0KCWxldHRlci1zcGFjaW5nOjJweDsNCglsaW5lLWhlaWdodDoxMnB4Ow0KCXBhZGRpbmc6NXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CdXR0b24sLk5vdEdlbmVyaWMtQnV0dG9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuNTApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE0cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoxNHB4Ow0KCXBhZGRpbmc6MTBweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CdXR0b246aG92ZXIsLk5vdEdlbmVyaWMtQnV0dG9uOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CaWdCdXR0b24sLk5vdEdlbmVyaWMtQmlnQnV0dG9uDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJhbGV3YXk7DQoJZm9udC1zaXplOjE0cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxldHRlci1zcGFjaW5nOjNweDsNCglsaW5lLWhlaWdodDoxNHB4Ow0KCXBhZGRpbmc6MjdweCAzMHB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTm90R2VuZXJpYy1CaWdCdXR0b246aG92ZXIsLk5vdEdlbmVyaWMtQmlnQnV0dG9uOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjFweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5XZWJQcm9kdWN0LUJ1dHRvbiwuV2ViUHJvZHVjdC1CdXR0b24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTEsNTEsNTEsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNnB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjYwMDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJbGluZS1oZWlnaHQ6NDhweDsNCglwYWRkaW5nOjAgNDBweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLldlYlByb2R1Y3QtQnV0dG9uOmhvdmVyLC5XZWJQcm9kdWN0LUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDUxLDUxLDUxLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5SZXN0YXVyYW50LUJ1dHRvbiwuUmVzdGF1cmFudC1CdXR0b24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTAsMTAsMTAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsZXR0ZXItc3BhY2luZzozcHg7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjEycHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlJlc3RhdXJhbnQtQnV0dG9uOmhvdmVyLC5SZXN0YXVyYW50LUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjI0LDEyOSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uR3ltLUJ1dHRvbiwuR3ltLUJ1dHRvbg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgxMzksMTkyLDM5LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjYwMDsNCglsZXR0ZXItc3BhY2luZzoxcHg7DQoJbGluZS1oZWlnaHQ6MTVweDsNCglwYWRkaW5nOjEzcHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1CdXR0b246aG92ZXIsLkd5bS1CdXR0b246aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTE0LDE2OCwwLDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uR3ltLUJ1dHRvbi1MaWdodCwuR3ltLUJ1dHRvbi1MaWdodA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGluZS1oZWlnaHQ6MTVweDsNCglwYWRkaW5nOjEycHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkd5bS1CdXR0b24tTGlnaHQ6aG92ZXIsLkd5bS1CdXR0b24tTGlnaHQ6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMTE0LDE2OCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDEzOSwxOTIsMzksMS4wMCk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1CdXR0b24tTGlnaHQsLlNwb3J0cy1CdXR0b24tTGlnaHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MnB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTdweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGV0dGVyLXNwYWNpbmc6MnB4Ow0KCWxpbmUtaGVpZ2h0OjE3cHg7DQoJcGFkZGluZzoxMnB4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5TcG9ydHMtQnV0dG9uLUxpZ2h0OmhvdmVyLC5TcG9ydHMtQnV0dG9uLUxpZ2h0OmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5TcG9ydHMtQnV0dG9uLVJlZCwuU3BvcnRzLUJ1dHRvbi1SZWQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjE5LDI4LDM0LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDIxOSwyOCwzNCwwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSYWxld2F5Ow0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjYwMDsNCglsZXR0ZXItc3BhY2luZzoycHg7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjEycHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlNwb3J0cy1CdXR0b24tUmVkOmhvdmVyLC5TcG9ydHMtQnV0dG9uLVJlZDpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwxLjAwKTsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uUGhvdG9ncmFwaHktQnV0dG9uLC5QaG90b2dyYXBoeS1CdXR0b24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC4yNSk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MXB4Ow0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6UmFsZXdheTsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo2MDA7DQoJbGV0dGVyLXNwYWNpbmc6MXB4Ow0KCWxpbmUtaGVpZ2h0OjE1cHg7DQoJcGFkZGluZzoxM3B4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5QaG90b2dyYXBoeS1CdXR0b246aG92ZXIsLlBob3RvZ3JhcGh5LUJ1dHRvbjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoxcHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbi0yLC5OZXdzcGFwZXItQnV0dG9uLTINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMC41MCk7DQoJYm9yZGVyLXJhZGl1czozcHggM3B4IDNweCAzcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6OTAwOw0KCWxpbmUtaGVpZ2h0OjE1cHg7DQoJcGFkZGluZzoxMHB4IDMwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5OZXdzcGFwZXItQnV0dG9uLTI6aG92ZXIsLk5ld3NwYXBlci1CdXR0b24tMjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItcmFkaXVzOjNweCAzcHggM3B4IDNweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLVRvdXIsLkZlYXR1cmUtVG91cg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgxMzksMTkyLDM5LDEuMDApOw0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjE3cHg7DQoJcGFkZGluZzoxN3B4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLVRvdXI6aG92ZXIsLkZlYXR1cmUtVG91cjpob3Zlcg0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgxMTQsMTY4LDAsMS4wMCk7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMCk7DQoJYm9yZGVyLXJhZGl1czozMHB4IDMwcHggMzBweCAzMHB4Ow0KCWJvcmRlci1zdHlsZTpzb2xpZDsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLUV4YW1wbGVzLC5GZWF0dXJlLUV4YW1wbGVzDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgzMyw0Miw2NCwwLjE1KTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDoycHg7DQoJY29sb3I6cmdiYSgzMyw0Miw2NCwwLjUwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE3cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NzAwOw0KCWxpbmUtaGVpZ2h0OjE3cHg7DQoJcGFkZGluZzoxNXB4IDM1cHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GZWF0dXJlLUV4YW1wbGVzOmhvdmVyLC5GZWF0dXJlLUV4YW1wbGVzOmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItY29sb3I6cmdiYSgxMzksMTkyLDM5LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDEzOSwxOTIsMzksMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLnN1YmNhcHRpb24sLnN1YmNhcHRpb24NCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDExMSwxMjQsMTMwLDEuMDApOw0KCWZvbnQtZmFtaWx5OnJvYm90bzsNCglmb250LXNpemU6MTlweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo0MDA7DQoJbGluZS1oZWlnaHQ6MjRweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lbnV0YWIsLm1lbnV0YWINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDQxLDQ2LDQ5LDEuMDApOw0KCWZvbnQtZmFtaWx5OnJvYm90bzsNCglmb250LXNpemU6MjVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MzBweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1lbnV0YWI6aG92ZXIsLm1lbnV0YWI6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyMTMsMCwwLDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5tYWluY29udGVudCwubWFpbmNvbnRlbnQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDAsMCwwLDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDQxLDQ2LDQ5LDEuMDApOw0KCWZvbnQtZmFtaWx5OnJvYm90bzsNCglmb250LXNpemU6MjFweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDozMDA7DQoJbGluZS1oZWlnaHQ6MjZweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KCXRleHQtc2hhZG93Om5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLm1pbml0ZXh0LC5taW5pdGV4dA0Kew0KCWJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLWNvbG9yOnJnYmEoMCwwLDAsMS4wMCk7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMTg1LDE4NiwxODcsMS4wMCk7DQoJZm9udC1mYW1pbHk6cm9ib3RvOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjQwMDsNCglsaW5lLWhlaWdodDoyMHB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQoJdGV4dC1zaGFkb3c6bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmVhdHVyZS1CdXksLkZlYXR1cmUtQnV5DQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTU0LDIzOCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxN3B4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjcwMDsNCglsaW5lLWhlaWdodDoxN3B4Ow0KCXBhZGRpbmc6MTdweCAzNXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uRmVhdHVyZS1CdXk6aG92ZXIsLkZlYXR1cmUtQnV5OmhvdmVyDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDAsMTMzLDIxNCwxLjAwKTsNCglib3JkZXItY29sb3I6cmdiYSgwLDAsMCwwKTsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOnNvbGlkOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMS4wMCk7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQsLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDAuMTUpOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJvYm90bzsNCglmb250LXNpemU6MTdweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo3MDA7DQoJbGluZS1oZWlnaHQ6MTdweDsNCglwYWRkaW5nOjE1cHggMzVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQ6aG92ZXIsLkZlYXR1cmUtRXhhbXBsZXMtTGlnaHQ6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1yYWRpdXM6MzBweCAzMHB4IDMwcHggMzBweDsNCglib3JkZXItc3R5bGU6c29saWQ7DQoJYm9yZGVyLXdpZHRoOjJweDsNCgljb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5GYWNlYm9vay1MaWtlcywuRmFjZWJvb2stTGlrZXMNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoNTksODksMTUzLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjAgMCAwIDA7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxpbmUtaGVpZ2h0OjIycHg7DQoJcGFkZGluZzo1cHggMTVweDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlR3aXR0ZXItRmF2b3JpdGVzLC5Ud2l0dGVyLUZhdm9yaXRlcw0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoMTM2LDE1MywxNjYsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToxNXB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsaW5lLWhlaWdodDoyMnB4Ow0KCXBhZGRpbmc6MDsNCgl0ZXh0LWFsaWduOmxlZnQ7DQoJdGV4dC1kZWNvcmF0aW9uOm5vbmU7DQp9DQoNCi50cC1jYXB0aW9uLlR3aXR0ZXItTGluaywuVHdpdHRlci1MaW5rDQp7DQoJYmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwyNTUsMjU1LDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgxMzUsMTUzLDE2NSwxLjAwKTsNCglmb250LWZhbWlseTpSb2JvdG87DQoJZm9udC1zaXplOjE1cHg7DQoJZm9udC1zdHlsZTpub3JtYWw7DQoJZm9udC13ZWlnaHQ6NTAwOw0KCWxpbmUtaGVpZ2h0OjE1cHg7DQoJcGFkZGluZzoxMXB4IDExcHggOXB4Ow0KCXRleHQtYWxpZ246bGVmdDsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1MaW5rOmhvdmVyLC5Ud2l0dGVyLUxpbms6aG92ZXINCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMCwxMzIsMTgwLDEuMDApOw0KCWJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCglib3JkZXItcmFkaXVzOjMwcHggMzBweCAzMHB4IDMwcHg7DQoJYm9yZGVyLXN0eWxlOm5vbmU7DQoJYm9yZGVyLXdpZHRoOjA7DQoJY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCgl0ZXh0LWRlY29yYXRpb246bm9uZTsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1SZXR3ZWV0LC5Ud2l0dGVyLVJldHdlZXQNCnsNCgliYWNrZ3JvdW5kLWNvbG9yOnJnYmEoMjU1LDI1NSwyNTUsMCk7DQoJYm9yZGVyLWNvbG9yOnRyYW5zcGFyZW50Ow0KCWJvcmRlci1yYWRpdXM6MCAwIDAgMDsNCglib3JkZXItc3R5bGU6bm9uZTsNCglib3JkZXItd2lkdGg6MDsNCgljb2xvcjpyZ2JhKDEzNiwxNTMsMTY2LDEuMDApOw0KCWZvbnQtZmFtaWx5OlJvYm90bzsNCglmb250LXNpemU6MTVweDsNCglmb250LXN0eWxlOm5vcm1hbDsNCglmb250LXdlaWdodDo1MDA7DQoJbGluZS1oZWlnaHQ6MjJweDsNCglwYWRkaW5nOjA7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQsLlR3aXR0ZXItQ29udGVudA0Kew0KCWJhY2tncm91bmQtY29sb3I6cmdiYSgyNTUsMjU1LDI1NSwxLjAwKTsNCglib3JkZXItY29sb3I6dHJhbnNwYXJlbnQ7DQoJYm9yZGVyLXJhZGl1czowIDAgMCAwOw0KCWJvcmRlci1zdHlsZTpub25lOw0KCWJvcmRlci13aWR0aDowOw0KCWNvbG9yOnJnYmEoNDEsNDcsNTEsMS4wMCk7DQoJZm9udC1mYW1pbHk6Um9ib3RvOw0KCWZvbnQtc2l6ZToyMHB4Ow0KCWZvbnQtc3R5bGU6bm9ybWFsOw0KCWZvbnQtd2VpZ2h0OjUwMDsNCglsaW5lLWhlaWdodDoyOHB4Ow0KCXBhZGRpbmc6MzBweCAzMHB4IDcwcHg7DQoJdGV4dC1hbGlnbjpsZWZ0Ow0KCXRleHQtZGVjb3JhdGlvbjpub25lOw0KfQ0KDQoucmV2dHAtc2VhcmNoZm9ybSBpbnB1dFt0eXBlPSJ0ZXh0Il0sDQoucmV2dHAtc2VhcmNoZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KLnJldnRwLWZvcm0gaW5wdXRbdHlwZT0idGV4dCJdLA0KLnJldnRwLWZvcm0gaW5wdXRbdHlwZT0iZW1haWwiXXsgCQ0KCWZvbnQtZmFtaWx5OiAiQXJpYWwiLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBjb2xvcjogIzAwMDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICAgIHBhZGRpbmc6IDAgMjBweDsNCiAgICBjdXJzb3I6IHRleHQ7DQogICAgYm9yZGVyOiAwOw0KICAgIHdpZHRoOiA0MDBweDsNCiAgICBtYXJnaW4tYm90dG9tOiAwcHg7DQogICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIC1tcy10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIA0KICAgIA0KICAgIGJvcmRlci1yYWRpdXM6IDBweDsNCn0NCg0KDQoudHAtY2FwdGlvbi5CaWdCb2xkLVRpdGxlLA0KLkJpZ0JvbGQtVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTEwcHg7DQogICAgbGluZS1oZWlnaHQ6IDEwMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA4MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDEwcHggMHB4IDEwcHggMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkJpZ0JvbGQtU3ViVGl0bGUsDQouQmlnQm9sZC1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41MCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uQmlnQm9sZC1CdXR0b24sDQouQmlnQm9sZC1CdXR0b24gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICBsaW5lLWhlaWdodDogMTNweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAxNXB4IDUwcHggMTVweCA1MHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxcHgNCn0NCi50cC1jYXB0aW9uLkJpZ0JvbGQtQnV0dG9uOmhvdmVyLA0KLkJpZ0JvbGQtQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQp9DQoudHAtY2FwdGlvbi5Gb29kQ2Fyb3VzZWwtQ29udGVudCwNCi5Gb29kQ2Fyb3VzZWwtQ29udGVudCB7DQogICAgY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxN3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyOHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkZvb2RDYXJvdXNlbC1CdXR0b24sDQouRm9vZENhcm91c2VsLUJ1dHRvbiB7DQogICAgY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxM3B4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDE1cHggNzBweCAxNXB4IDUwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uRm9vZENhcm91c2VsLUJ1dHRvbjpob3ZlciwNCi5Gb29kQ2Fyb3VzZWwtQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLkZvb2RDYXJvdXNlbC1DbG9zZUJ1dHRvbiwNCi5Gb29kQ2Fyb3VzZWwtQ2xvc2VCdXR0b24gew0KICAgIGNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAxNHB4IDE0cHggMTRweCAxNnB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMXB4DQp9DQoudHAtY2FwdGlvbi5Gb29kQ2Fyb3VzZWwtQ2xvc2VCdXR0b246aG92ZXIsDQouRm9vZENhcm91c2VsLUNsb3NlQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4DQp9DQoudHAtY2FwdGlvbi5WaWRlby1TdWJUaXRsZSwNCi5WaWRlby1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA2MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDVweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjM1KTsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgbGV0dGVyLXNwYWNpbmc6IDJweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5WaWRlby1UaXRsZSwNCi5WaWRlby1UaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAzMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDVweCA1cHggNXB4IDVweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVHJhdmVsLUJpZ0NhcHRpb24sDQouVHJhdmVsLUJpZ0NhcHRpb24gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLlRyYXZlbC1TbWFsbENhcHRpb24sDQouVHJhdmVsLVNtYWxsQ2FwdGlvbiB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVHJhdmVsLUNhbGxUb0FjdGlvbiwNCi5UcmF2ZWwtQ2FsbFRvQWN0aW9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDI1cHg7DQogICAgbGluZS1oZWlnaHQ6IDI1cHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAxMnB4IDIwcHggMTJweCAyMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDUpOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMnB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDVweCA1cHggNXB4IDVweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxcHgNCn0NCi50cC1jYXB0aW9uLlRyYXZlbC1DYWxsVG9BY3Rpb246aG92ZXIsDQouVHJhdmVsLUNhbGxUb0FjdGlvbjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCA1cHggNXB4DQp9DQoNCg0KLnRwLWNhcHRpb24uUm90YXRpbmdXb3Jkcy1UaXRsZVdoaXRlLA0KLlJvdGF0aW5nV29yZHMtVGl0bGVXaGl0ZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA3MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA4MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDA7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Sb3RhdGluZ1dvcmRzLUJ1dHRvbiwNCi5Sb3RhdGluZ1dvcmRzLUJ1dHRvbiB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDIwcHggNTBweCAyMHB4IDUwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDNweA0KfQ0KLnRwLWNhcHRpb24uUm90YXRpbmdXb3Jkcy1CdXR0b246aG92ZXIsDQouUm90YXRpbmdXb3Jkcy1CdXR0b246aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDJweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLlJvdGF0aW5nV29yZHMtU21hbGxUZXh0LA0KLlJvdGF0aW5nV29yZHMtU21hbGxUZXh0IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE0cHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICB0ZXh0LXNoYWRvdzogbm9uZQ0KfQ0KDQoNCg0KDQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1TbWFsbFRpdGxlLA0KLkNvbnRlbnRab29tLVNtYWxsVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMzNweDsNCiAgICBsaW5lLWhlaWdodDogNDVweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1TbWFsbFN1YnRpdGxlLA0KLkNvbnRlbnRab29tLVNtYWxsU3VidGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1TbWFsbEljb24sDQouQ29udGVudFpvb20tU21hbGxJY29uIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMTBweCAxMHB4IDEwcHggMTBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkNvbnRlbnRab29tLVNtYWxsSWNvbjpob3ZlciwNCi5Db250ZW50Wm9vbS1TbWFsbEljb246aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHgNCn0NCi50cC1jYXB0aW9uLkNvbnRlbnRab29tLURldGFpbFRpdGxlLA0KLkNvbnRlbnRab29tLURldGFpbFRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDcwcHg7DQogICAgbGluZS1oZWlnaHQ6IDcwcHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uQ29udGVudFpvb20tRGV0YWlsU3ViVGl0bGUsDQouQ29udGVudFpvb20tRGV0YWlsU3ViVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICBsaW5lLWhlaWdodDogMjVweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1EZXRhaWxDb250ZW50LA0KLkNvbnRlbnRab29tLURldGFpbENvbnRlbnQgew0KICAgIGNvbG9yOiByZ2JhKDExMSwgMTI0LCAxMzAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTdweDsNCiAgICBsaW5lLWhlaWdodDogMjhweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUmFsZXdheTsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1CdXR0b24sDQouQ29udGVudFpvb20tQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMTVweCA1MHB4IDE1cHggNTBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMC41MCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMXB4DQp9DQoudHAtY2FwdGlvbi5Db250ZW50Wm9vbS1CdXR0b246aG92ZXIsDQouQ29udGVudFpvb20tQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLkNvbnRlbnRab29tLUJ1dHRvbkNsb3NlLA0KLkNvbnRlbnRab29tLUJ1dHRvbkNsb3NlIHsNCiAgICBjb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMTRweCAxNHB4IDE0cHggMTZweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNDEsIDQ2LCA0OSwgMC41MCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uQ29udGVudFpvb20tQnV0dG9uQ2xvc2U6aG92ZXIsDQouQ29udGVudFpvb20tQnV0dG9uQ2xvc2U6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDQxLCA0NiwgNDksIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSg0MSwgNDYsIDQ5LCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHgNCn0NCi50cC1jYXB0aW9uLk5ld3NwYXBlci1UaXRsZSwNCi5OZXdzcGFwZXItVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTVweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogIlJvYm90byBTbGFiIjsNCiAgICBwYWRkaW5nOiAwIDAgMTBweCAwOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLVN1YnRpdGxlLA0KLk5ld3NwYXBlci1TdWJ0aXRsZSB7DQogICAgY29sb3I6IHJnYmEoMTY4LCAyMTYsIDIzOCwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uTmV3c3BhcGVyLUJ1dHRvbiwNCi5OZXdzcGFwZXItQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDE3cHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAzNXB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLk5ld3NwYXBlci1CdXR0b246aG92ZXIsDQouTmV3c3BhcGVyLUJ1dHRvbjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQp9DQoudHAtY2FwdGlvbi5ydHdoaXRlbWVkaXVtLA0KLnJ0d2hpdGVtZWRpdW0gew0KICAgIGZvbnQtc2l6ZTogMjJweDsNCiAgICBsaW5lLWhlaWdodDogMjZweDsNCiAgICBjb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItY29sb3I6IHJnYigwLCAwLCAwKTsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgdGV4dC1zaGFkb3c6IG5vbmUNCn0NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgew0KCS5yZXZ0cC1zZWFyY2hmb3JtIGlucHV0W3R5cGU9InRleHQiXSwNCgkucmV2dHAtc2VhcmNoZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdLA0KCS5yZXZ0cC1mb3JtIGlucHV0W3R5cGU9InRleHQiXSwNCgkucmV2dHAtZm9ybSBpbnB1dFt0eXBlPSJlbWFpbCJdIHsgd2lkdGg6IDIwMHB4ICFpbXBvcnRhbnQ7IH0NCn0NCg0KLnJldnRwLXNlYXJjaGZvcm0gaW5wdXRbdHlwZT0ic3VibWl0Il0sDQoucmV2dHAtZm9ybSBpbnB1dFt0eXBlPSJzdWJtaXQiXSB7CQ0KCWZvbnQtZmFtaWx5OiAiQXJpYWwiLCBzYW5zLXNlcmlmOw0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBwYWRkaW5nOiAwIDIwcHg7DQogICAgYm9yZGVyOiAwOw0KICAgIGJhY2tncm91bmQ6ICMwMDlhZWU7DQogICAgY29sb3I6ICNmZmY7DQogICAgDQogICAgDQogICAgYm9yZGVyLXJhZGl1czogMHB4Ow0KfQ0KDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYSwNCiAgICAudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICAgICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQ7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1UaXRsZSwNCiAgICAuQ29uY2VwdC1UaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDcwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgICAgICBmb250LXdlaWdodDogNzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiAiUm9ib3RvIENvbmRlbnNlZCI7DQogICAgICAgIHBhZGRpbmc6IDBweCAwcHggMTBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDVweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LVN1YlRpdGxlLA0KICAgIC5Db25jZXB0LVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgICAgICAgZm9udC1mYW1pbHk6ICIiUGxheWZhaXIgRGlzcGxheSIiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDEwcHggMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Db250ZW50LA0KICAgIC5Db25jZXB0LUNvbnRlbnQgew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyMHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlJvYm90byBDb25kZW5zZWQiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LU1vcmVCdG4sDQogICAgLkNvbmNlcHQtTW9yZUJ0biB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDMwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgICAgIHBhZGRpbmc6IDEwcHggOHB4IDdweCAxMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4IDUwcHggNTBweCA1MHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtTW9yZUJ0bjpob3ZlciwNCiAgICAuQ29uY2VwdC1Nb3JlQnRuOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUxlc3NCdG4sDQogICAgLkNvbmNlcHQtTGVzc0J0biB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDMwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgICAgIHBhZGRpbmc6IDEwcHggOHB4IDdweCAxMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHggNTBweCA1MHB4IDUwcHg7DQogICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1MZXNzQnRuOmhvdmVyLA0KICAgIC5Db25jZXB0LUxlc3NCdG46aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4IDUwcHggNTBweCA1MHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtU3ViVGl0bGUtRGFyaywNCiAgICAuQ29uY2VwdC1TdWJUaXRsZS1EYXJrIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42NSk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsNCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAxMHB4IDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtVGl0bGUtRGFyaywNCiAgICAuQ29uY2VwdC1UaXRsZS1EYXJrIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNzBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDcwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJSb2JvdG8gQ29uZGVuc2VkIjsNCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAxMHB4IDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIGxldHRlci1zcGFjaW5nOiA1cHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Nb3JlQnRuLURhcmssDQogICAgLkNvbmNlcHQtTW9yZUJ0bi1EYXJrIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMTBweCA4cHggN3B4IDEwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHggNTBweCA1MHB4IDUwcHg7DQogICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Nb3JlQnRuLURhcms6aG92ZXIsDQogICAgLkNvbmNlcHQtTW9yZUJ0bi1EYXJrOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQtRGFyaywNCiAgICAuQ29uY2VwdC1Db250ZW50LURhcmsgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyMHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlJvYm90byBDb25kZW5zZWQiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LU5vdGljZSwNCiAgICAuQ29uY2VwdC1Ob3RpY2Ugew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlJvYm90byBDb25kZW5zZWQiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDJweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQgYSwNCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICAgICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmYgIWltcG9ydGFudDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQgYTpob3ZlciB7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Db25jZXB0LUNvbnRlbnQtRGFyayBhLA0KICAgIC50cC1jYXB0aW9uLkNvbmNlcHQtQ29udGVudC1EYXJrIGE6dmlzaXRlZCB7DQogICAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwICFpbXBvcnRhbnQ7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDsNCiAgICB9DQogICAgLnRwLWNhcHRpb24uQ29uY2VwdC1Db250ZW50LURhcmsgYTpob3ZlciB7DQogICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhLA0KICAgIC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOnZpc2l0ZWQgew0KICAgICAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOmhvdmVyIHsNCiAgICAgICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgIWltcG9ydGFudA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5DcmVhdGl2ZS1UaXRsZSwNCiAgICAuQ3JlYXRpdmUtVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA3MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNzBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNyZWF0aXZlLVN1YlRpdGxlLA0KICAgIC5DcmVhdGl2ZS1TdWJUaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDIwNSwgMTc2LCAxMzEsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAxNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNyZWF0aXZlLUJ1dHRvbiwNCiAgICAuQ3JlYXRpdmUtQnV0dG9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjA1LCAxNzYsIDEzMSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTNweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDE1cHggNTBweCAxNXB4IDUwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNSwgMTc2LCAxMzEsIDAuMjUpOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkNyZWF0aXZlLUJ1dHRvbjpob3ZlciwNCiAgICAuQ3JlYXRpdmUtQnV0dG9uOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjA1LCAxNzYsIDEzMSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIwNSwgMTc2LCAxMzEsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4DQogICAgfQ0KDQoudHAtY2FwdGlvbi5zdWJjYXB0aW9uLA0KICAgIC5zdWJjYXB0aW9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMTExLCAxMjQsIDEzMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTlweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IHJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uUmVkRG90LA0KICAgIC5SZWREb3Qgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsgICAgICAgIA0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7ICAgICAgICANCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjEzLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDVweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5SZWREb3Q6aG92ZXIsDQogICAgLlJlZERvdDpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMTMsIDAsIDAsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDVweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNTBweCA1MHB4IDUwcHggNTBweA0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLlNsaWRpbmdPdmVybGF5cy1UaXRsZSwNCiAgICAuU2xpZGluZ092ZXJsYXlzLVRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsNCiAgICAgICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uU2xpZGluZ092ZXJsYXlzLVRpdGxlLA0KICAgIC5TbGlkaW5nT3ZlcmxheXMtVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwcHggMHB4IDBweCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCg0KICAgICAudHAtY2FwdGlvbi5Xb28tVGl0bGVMYXJnZSwNCiAgICAuV29vLVRpdGxlTGFyZ2Ugew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA0MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVJhdGluZywNCiAgICAuV29vLVJhdGluZyB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDE0cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVN1YlRpdGxlLA0KICAgIC5Xb28tU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMThweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVByaWNlTGFyZ2UsDQogICAgLldvby1QcmljZUxhcmdlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1Qcm9kdWN0SW5mbywNCiAgICAuV29vLVByb2R1Y3RJbmZvIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMTJweCA3NXB4IDEycHggNTBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjA3LCAxMTQsIDEuMDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDRweCA0cHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Xb28tUHJvZHVjdEluZm86aG92ZXIsDQogICAgLldvby1Qcm9kdWN0SW5mbzpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQzLCAxNjgsIDcxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCA0cHggNHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQsDQogICAgLldvby1BZGRUb0NhcnQgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAzNXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyMDcsIDExNCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweDsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQ6aG92ZXIsDQogICAgLldvby1BZGRUb0NhcnQ6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMTY4LCA3MSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Xb28tVGl0bGVMYXJnZSwNCiAgICAuV29vLVRpdGxlTGFyZ2Ugew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA0MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogIlBsYXlmYWlyIERpc3BsYXkiOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVN1YlRpdGxlLA0KICAgIC5Xb28tU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxOHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMThweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgICAgICANCiAgICB9DQogICAgLnRwLWNhcHRpb24uV29vLVByaWNlTGFyZ2UsDQogICAgLldvby1QcmljZUxhcmdlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1Qcm9kdWN0SW5mbywNCiAgICAuV29vLVByb2R1Y3RJbmZvIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMTJweCA3NXB4IDEycHggNTBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwgMjA3LCAxMTQsIDEuMDApOw0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiA0cHggNHB4IDRweCA0cHg7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5Xb28tUHJvZHVjdEluZm86aG92ZXIsDQogICAgLldvby1Qcm9kdWN0SW5mbzpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQzLCAxNjgsIDcxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCA0cHggNHB4DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQsDQogICAgLldvby1BZGRUb0NhcnQgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxMnB4IDM1cHggMTJweCAzNXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU0LCAyMDcsIDExNCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweDsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLldvby1BZGRUb0NhcnQ6aG92ZXIsDQogICAgLldvby1BZGRUb0NhcnQ6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI0MywgMTY4LCA3MSwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweA0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLkZ1bGxTY3JlZW4tVG9nZ2xlLA0KICAgIC5GdWxsU2NyZWVuLVRvZ2dsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDIwcHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgICAgICBwYWRkaW5nOiAxMXB4IDhweCAxMXB4IDEycHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUwKTsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgICAgICBsZXR0ZXItc3BhY2luZzogM3B4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0DQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTY3JlZW4tVG9nZ2xlOmhvdmVyLA0KICAgIC5GdWxsU2NyZWVuLVRvZ2dsZTpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweA0KICAgIH0NCg0KICAgIC50cC1jYXB0aW9uLkFnZW5jeS1UaXRsZSwNCi5BZ2VuY3ktVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNzBweDsNCiAgICBsaW5lLWhlaWdodDogNzBweDsNCiAgICBmb250LXdlaWdodDogOTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogbGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxMHB4DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU3ViVGl0bGUsDQouQWdlbmN5LVN1YlRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDIwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBpdGFsaWM7DQogICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVBsYXlCdG4sDQouQWdlbmN5LVBsYXlCdG4gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMzBweDsNCiAgICBsaW5lLWhlaWdodDogNzFweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAycHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktUGxheUJ0bjpob3ZlciwNCi5BZ2VuY3ktUGxheUJ0bjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMnB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNtYWxsVGV4dCwNCi5BZ2VuY3ktU21hbGxUZXh0IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDEycHg7DQogICAgZm9udC13ZWlnaHQ6IDkwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IGxhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogNXB4DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU29jaWFsLA0KLkFnZW5jeS1Tb2NpYWwgew0KICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDJweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNvY2lhbDpob3ZlciwNCi5BZ2VuY3ktU29jaWFsOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDJweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LUNsb3NlQnRuLA0KLkFnZW5jeS1DbG9zZUJ0biB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCk7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LUNsb3NlQnRuOmhvdmVyLA0KLkFnZW5jeS1DbG9zZUJ0bjpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoNCi50cC1jYXB0aW9uLkRpbmluZy1UaXRsZSwNCi5EaW5pbmctVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNzBweDsNCiAgICBsaW5lLWhlaWdodDogNzBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogR2VvcmdpYSwgc2VyaWY7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMTBweA0KfQ0KLnRwLWNhcHRpb24uRGluaW5nLVN1YlRpdGxlLA0KLkRpbmluZy1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5EaW5pbmctQnRuTGlnaHQsDQouRGluaW5nLUJ0bkxpZ2h0IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDE1cHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgcGFkZGluZzogMTdweCA3M3B4IDE3cHggNTBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4DQp9DQoudHAtY2FwdGlvbi5EaW5pbmctQnRuTGlnaHQ6aG92ZXIsDQouRGluaW5nLUJ0bkxpZ2h0OmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHgNCn0NCi50cC1jYXB0aW9uLkRpbmluZy1Tb2NpYWwsDQouRGluaW5nLVNvY2lhbCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMXB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5EaW5pbmctU29jaWFsOmhvdmVyLA0KLkRpbmluZy1Tb2NpYWw6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAzMHB4IDMwcHggMzBweCAzMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KdHAtY2FwdGlvbi5UZWFtLVRodW1iLA0KLlRlYW0tVGh1bWIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMjJweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogQXJpYWw7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVGVhbS1UaHVtYjpob3ZlciwNCi5UZWFtLVRodW1iOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uVGVhbS1OYW1lLA0KLlRlYW0tTmFtZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA3MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVGVhbS1Qb3NpdGlvbiwNCi5UZWFtLVBvc2l0aW9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLlRlYW0tRGVzY3JpcHRpb24sDQouVGVhbS1EZXNjcmlwdGlvbiB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxOHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyOHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVGVhbS1Tb2NpYWwsDQouVGVhbS1Tb2NpYWwgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogQXJpYWw7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5UZWFtLVNvY2lhbDpob3ZlciwNCi5UZWFtLVNvY2lhbDpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCg0KLnRwLWNhcHRpb24uVmlkZW9Db250cm9scy1QbGF5LA0KLlZpZGVvQ29udHJvbHMtUGxheSB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxMjBweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDdweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAxMDBweCAxMDBweCAxMDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlZpZGVvQ29udHJvbHMtUGxheTpob3ZlciwNCi5WaWRlb0NvbnRyb2xzLVBsYXk6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uVmlkZW9QbGF5ZXItVGl0bGUsDQouVmlkZW9QbGF5ZXItVGl0bGUgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNDBweDsNCiAgICBsaW5lLWhlaWdodDogNDBweDsNCiAgICBmb250LXdlaWdodDogOTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiAxMHB4DQp9DQoudHAtY2FwdGlvbi5WaWRlb1BsYXllci1TdWJUaXRsZSwNCi5WaWRlb1BsYXllci1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlZpZGVvUGxheWVyLVNvY2lhbCwNCi5WaWRlb1BsYXllci1Tb2NpYWwgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNTBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogQXJpYWw7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5WaWRlb1BsYXllci1Tb2NpYWw6aG92ZXIsDQouVmlkZW9QbGF5ZXItU29jaWFsOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIGN1cnNvcjogcG9pbnRlcg0KfQ0KLnRwLWNhcHRpb24uVmlkZW9Db250cm9scy1NdXRlLA0KLlZpZGVvQ29udHJvbHMtTXV0ZSB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4IDEwMHB4IDEwMHB4IDEwMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uVmlkZW9Db250cm9scy1NdXRlOmhvdmVyLA0KLlZpZGVvQ29udHJvbHMtTXV0ZTpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5WaWRlb0NvbnRyb2xzLVBhdXNlLA0KLlZpZGVvQ29udHJvbHMtUGF1c2Ugew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAxMDBweCAxMDBweCAxMDBweCAxMDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlZpZGVvQ29udHJvbHMtUGF1c2U6aG92ZXIsDQouVmlkZW9Db250cm9scy1QYXVzZTpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMTAwcHggMTAwcHggMTAwcHggMTAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQogfQ0KDQouc291bmRjbG91ZHdyYXBwZXIgaWZyYW1lIHsNCiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5TbGVla0xhbmRpbmctVGl0bGUsDQouU2xlZWtMYW5kaW5nLVRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDM1cHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGxldHRlci1zcGFjaW5nOiA1cHgNCn0NCi50cC1jYXB0aW9uLlNsZWVrTGFuZGluZy1CdXR0b25CRywNCi5TbGVla0xhbmRpbmctQnV0dG9uQkcgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgICAgICANCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgICAgDQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogNXB4IDVweCA1cHggNXB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQ7ICAgIA0KICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAycHggMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMTUpDQp9DQoudHAtY2FwdGlvbi5TbGVla0xhbmRpbmctU21hbGxUaXRsZSwNCi5TbGVla0xhbmRpbmctU21hbGxUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4DQp9DQoudHAtY2FwdGlvbi5TbGVla0xhbmRpbmctQm90dG9tVGV4dCwNCi5TbGVla0xhbmRpbmctQm90dG9tVGV4dCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uU2xlZWtMYW5kaW5nLVNvY2lhbCwNCi5TbGVla0xhbmRpbmctU29jaWFsIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDIycHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IEFyaWFsOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLlNsZWVrTGFuZGluZy1Tb2NpYWw6aG92ZXIsDQouU2xlZWtMYW5kaW5nLVNvY2lhbDpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCiNyZXZfc2xpZGVyXzQyOV8xX3dyYXBwZXIgLnRwLWxvYWRlci5zcGlubmVyMiB7DQogICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTU1NSAhaW1wb3J0YW50Ow0KfQ0KLnRwLWZhdCB7DQogICAgZm9udC13ZWlnaHQ6IDkwMCAhaW1wb3J0YW50Ow0KfQ0KDQoudHAtY2FwdGlvbi5Qb3N0U2xpZGVyLUNhdGVnb3J5LA0KLlBvc3RTbGlkZXItQ2F0ZWdvcnkgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBsaW5lLWhlaWdodDogMTVweDsNCiAgICBmb250LXdlaWdodDogMzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAzcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uUG9zdFNsaWRlci1UaXRsZSwNCi5Qb3N0U2xpZGVyLVRpdGxlIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBmb250LXNpemU6IDQwcHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6ICJQbGF5ZmFpciBEaXNwbGF5IjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Qb3N0U2xpZGVyLUNvbnRlbnQsDQouUG9zdFNsaWRlci1Db250ZW50IHsNCiAgICBjb2xvcjogcmdiYSgxMTksIDExOSwgMTE5LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDIzcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5Qb3N0U2xpZGVyLUJ1dHRvbiwNCi5Qb3N0U2xpZGVyLUJ1dHRvbiB7DQogICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA0MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSb2JvdG87DQogICAgcGFkZGluZzogMXB4IDU2cHggMXB4IDMycHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLlBvc3RTbGlkZXItQnV0dG9uOmhvdmVyLA0KLlBvc3RTbGlkZXItQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzgsIDIzOCwgMjM4LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoNCi8qIG1lZGlhIHF1ZXJpZXMgKi8NCg0KQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5NjBweCkge30gQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge30gLnRwLWNhcHRpb24uTGFuZGluZ1BhZ2UtVGl0bGUsDQouTGFuZGluZ1BhZ2UtVGl0bGUgew0KICAgIGNvbG9yOnJnYmEoMjU1LA0KICAgIDI1NSwNCiAgICAyNTUsDQogICAgMS4wMCk7DQogICAgZm9udC1zaXplOjcwcHg7DQogICAgbGluZS1oZWlnaHQ6ODBweDsNCiAgICBmb250LXdlaWdodDo5MDA7DQogICAgZm9udC1zdHlsZTpub3JtYWw7DQogICAgZm9udC1mYW1pbHk6TGF0bzsNCiAgICBwYWRkaW5nOjAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246bm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjp0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6bm9uZTsNCiAgICBib3JkZXItd2lkdGg6MHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6MCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246bGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzoxMHB4DQp9DQoudHAtY2FwdGlvbi5MYW5kaW5nUGFnZS1TdWJUaXRsZSwNCi5MYW5kaW5nUGFnZS1TdWJUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAzMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogaXRhbGljOw0KICAgIGZvbnQtZmFtaWx5OiBHZW9yZ2lhLCBzZXJpZjsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5MYW5kaW5nUGFnZS1CdXR0b24sDQouTGFuZGluZ1BhZ2UtQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDU0cHg7DQogICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICBwYWRkaW5nOiAwcHggMzVweCAwcHggMzVweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBsZXR0ZXItc3BhY2luZzogM3B4DQp9DQoudHAtY2FwdGlvbi5MYW5kaW5nUGFnZS1CdXR0b246aG92ZXIsDQouTGFuZGluZ1BhZ2UtQnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BcHAtQ29udGVudCBhLA0KLnRwLWNhcHRpb24uQXBwLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogIzg5MTI0ZSAhaW1wb3J0YW50Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50Ow0KICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7DQp9DQoudHAtY2FwdGlvbi5BcHAtQ29udGVudCBhOmhvdmVyIHsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzg5MTI0ZSAhaW1wb3J0YW50Ow0KfQ0KLnRwLWNhcHRpb24uUm9ja0JhbmQtTG9nb1RleHQsDQouUm9ja0JhbmQtTG9nb1RleHQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogNjBweDsNCiAgICBsaW5lLWhlaWdodDogNjBweDsNCiAgICBmb250LXdlaWdodDogNzAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogT3N3YWxkOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7DQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsNCn0NCi5zb3VuZGNsb3Vkd3JhcHBlciBpZnJhbWUgew0KICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQNCn0NCg0KLnRwLWNhcHRpb24uQWdlbmN5LUxvZ29UZXh0LA0KLkFnZW5jeS1Mb2dvVGV4dCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDFweA0KfQ0KLnRwLWNhcHRpb24uQ29taW5nU29vbi1IaWdobGlnaHQsDQouQ29taW5nU29vbi1IaWdobGlnaHQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMzdweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDIwcHggM3B4IDIwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxNTQsIDIzOCwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGxlZnQNCn0NCi50cC1jYXB0aW9uLkNvbWluZ1Nvb24tQ291bnQsDQouQ29taW5nU29vbi1Db3VudCB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA1MHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA1MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogbGVmdA0KfQ0KLnRwLWNhcHRpb24uQ29taW5nU29vbi1Db3VudFVuaXQsDQouQ29taW5nU29vbi1Db3VudFVuaXQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjBweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoudHAtY2FwdGlvbi5Db21pbmdTb29uLU5vdGlmeU1lLA0KLkNvbWluZ1Nvb24tTm90aWZ5TWUgew0KICAgIGNvbG9yOiByZ2JhKDE2NCwgMTU3LCAxNDMsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMjdweDsNCiAgICBsaW5lLWhlaWdodDogMzVweDsNCiAgICBmb250LXdlaWdodDogNjAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyDQp9DQoNCiNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWNlLUVNQUlMIHsNCiAgICBmb250LWZhbWlseTogIkxhdG8iLCBzYW5zLXNlcmlmOw0KICAgIGZvbnQtc2l6ZTogMTVweDsNCiAgICBjb2xvcjogIzAwMDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGxpbmUtaGVpZ2h0OiA0NnB4Ow0KICAgIHBhZGRpbmc6IDAgMjBweDsNCiAgICBjdXJzb3I6IHRleHQ7DQogICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsNCiAgICB3aWR0aDogNDAwcHg7DQogICAgbWFyZ2luLWJvdHRvbTogMHB4Ow0KICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsNCiAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsNCiAgICANCiAgICANCiAgICBib3JkZXItcmFkaXVzOiAwcHg7DQp9DQojbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jZS1FTUFJTFt0eXBlPSJlbWFpbCJdOmZvY3VzIHsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgIGJvcmRlcjogMXB4IHNvbGlkICM2NjY7DQogICAgYm9yZGVyLXJpZ2h0OiAwOw0KfQ0KI21jX2VtYmVkX3NpZ251cCBpbnB1dCNtYy1lbWJlZGRlZC1zdWJzY3JpYmUsDQojbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jLWVtYmVkZGVkLXN1YnNjcmliZTpmb2N1cyB7DQogICAgZm9udC1mYW1pbHk6ICJMYXRvIiwgc2Fucy1zZXJpZjsNCiAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgICBsZXR0ZXItc3BhY2luZzogMXB4Ow0KICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7DQogICAgZm9udC1zaXplOiAxM3B4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgcGFkZGluZzogMCAyMHB4Ow0KICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDlhZWU7DQogICAgYmFja2dyb3VuZDogIzAwOWFlZTsNCiAgICBjb2xvcjogI2ZmZjsNCiAgICANCiAgICANCiAgICBib3JkZXItcmFkaXVzOiAwcHg7DQp9DQojbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jLWVtYmVkZGVkLXN1YnNjcmliZTpob3ZlciB7DQogICAgYmFja2dyb3VuZDogIzAwODNkNDsNCn0NCkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHsNCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0I21jZS1FTUFJTCB7DQogICAgICAgIHdpZHRoOiAyMDBweDsNCiAgICB9DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxUaXRsZSwNCi5BZ2VuY3ktU21hbGxUaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBsYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDZweA0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNtYWxsQ29udGVudCwNCi5BZ2VuY3ktU21hbGxDb250ZW50IHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDE1cHg7DQogICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IGxhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LVNtYWxsTGluaywNCi5BZ2VuY3ktU21hbGxMaW5rIHsNCiAgICBjb2xvcjogcmdiYSgyNDgsIDEyNCwgOSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBsYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwcHggMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDJweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Y4N2MwOSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rOmhvdmVyLA0KLkFnZW5jeS1TbWFsbExpbms6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktTmF2QnV0dG9uLA0KLkFnZW5jeS1OYXZCdXR0b24gew0KICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTdweDsNCiAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICBmb250LXdlaWdodDogNTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCAwcHggMHB4IDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcg0KfQ0KLnRwLWNhcHRpb24uQWdlbmN5LU5hdkJ1dHRvbjpob3ZlciwNCi5BZ2VuY3ktTmF2QnV0dG9uOmhvdmVyIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMS4wMCk7DQogICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rR3JlZW4sDQouQWdlbmN5LVNtYWxsTGlua0dyZWVuIHsNCiAgICBjb2xvcjogcmdiYSgxMDksIDE3NywgMTU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEycHg7DQogICAgbGluZS1oZWlnaHQ6IDIycHg7DQogICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IGxhdG87DQogICAgcGFkZGluZzogMCAwIDBweCAwOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4Ow0KICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjNmRiMTliICFpbXBvcnRhbnQNCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1TbWFsbExpbmtHcmVlbjpob3ZlciwNCi5BZ2VuY3ktU21hbGxMaW5rR3JlZW46aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rQmx1ZSwNCi5BZ2VuY3ktU21hbGxMaW5rQmx1ZSB7DQogICAgY29sb3I6IHJnYmEoMTUzLCAxNTMsIDE1MywgMS4wMCk7DQogICAgZm9udC1zaXplOiAxMnB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMnB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBsYXRvOw0KICAgIHBhZGRpbmc6IDAgMCAwcHggMDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgbGV0dGVyLXNwYWNpbmc6IDJweDsNCiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk5OSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxMaW5rQmx1ZTpob3ZlciwNCi5BZ2VuY3ktU21hbGxMaW5rQmx1ZTpob3ZlciB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1Mb2dvVGV4dCwNCi5BZ2VuY3ktTG9nb1RleHQgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTJweDsNCiAgICBsaW5lLWhlaWdodDogMjBweDsNCiAgICBmb250LXdlaWdodDogNDAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGxldHRlci1zcGFjaW5nOiAxcHgNCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1BcnJvd1Rvb2x0aXAsDQouQWdlbmN5LUFycm93VG9vbHRpcCB7DQogICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA0MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiAiUGVybWFuZW50IE1hcmtlciI7DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0DQp9DQoudHAtY2FwdGlvbi5BZ2VuY3ktU21hbGxTb2NpYWwsDQouQWdlbmN5LVNtYWxsU29jaWFsIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDMwcHg7DQogICAgbGluZS1oZWlnaHQ6IDMwcHg7DQogICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IEFyaWFsOw0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXINCn0NCi50cC1jYXB0aW9uLkFnZW5jeS1TbWFsbFNvY2lhbDpob3ZlciwNCi5BZ2VuY3ktU21hbGxTb2NpYWw6aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwcHggMHB4IDBweCAwcHg7DQogICAgY3Vyc29yOiBwb2ludGVyDQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYSwNCi50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOnZpc2l0ZWQgew0KICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQNCn0NCi50cC1jYXB0aW9uLlR3aXR0ZXItQ29udGVudCBhOmhvdmVyIHsNCiAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQNCn0NCi50cC1jYXB0aW9uLkNyZWF0aXZlRnJvbnRQYWdlLUJ0biwNCi5DcmVhdGl2ZUZyb250UGFnZS1CdG4gew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTRweDsNCiAgICBsaW5lLWhlaWdodDogNjBweDsNCiAgICBmb250LXdlaWdodDogOTAwOw0KICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgIHBhZGRpbmc6IDBweCA1MHB4IDBweCA1MHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMTA0LCA5MiwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCA0cHggNHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAycHgNCn0NCi50cC1jYXB0aW9uLkNyZWF0aXZlRnJvbnRQYWdlLUJ0bjpob3ZlciwNCi5DcmVhdGl2ZUZyb250UGFnZS1CdG46aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDRweCA0cHggNHB4IDRweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCi50cC1jYXB0aW9uLkNyZWF0aXZlRnJvbnRQYWdlLU1lbnUsDQouQ3JlYXRpdmVGcm9udFBhZ2UtTWVudSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiAxNHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAxNHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiByb2JvdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBsZWZ0Ow0KICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBsZXR0ZXItc3BhY2luZzogMnB4DQp9DQoudHAtZmxpcC1pbmRleCB7DQogICAgei1pbmRleDogMTAwMCAhaW1wb3J0YW50Ow0KfQ0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5GdWxsU2NyZWVuTWVudS1DYXRlZ29yeSwNCi5GdWxsU2NyZWVuTWVudS1DYXRlZ29yeSB7DQogICAgY29sb3I6IHJnYmEoMTcsIDE3LCAxNywgMS4wMCk7DQogICAgZm9udC1zaXplOiAyMHB4Ow0KICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBCZW5jaE5pbmU7DQogICAgcGFkZGluZzogMjFweCAzMHB4IDE2cHggMzBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTApOw0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICBsZXR0ZXItc3BhY2luZzogM3B4DQp9DQoudHAtY2FwdGlvbi5GdWxsU2NyZWVuTWVudS1UaXRsZSwNCi5GdWxsU2NyZWVuTWVudS1UaXRsZSB7DQogICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgZm9udC1zaXplOiA2NXB4Ow0KICAgIGxpbmUtaGVpZ2h0OiA3MHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA3MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBCZW5jaE5pbmU7DQogICAgcGFkZGluZzogMjFweCAzMHB4IDE2cHggMzBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3LCAxNywgMTcsIDAuOTApOw0KICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweA0KfQ0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTp2aXNpdGVkIHsNCiAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5Ud2l0dGVyLUNvbnRlbnQgYTpob3ZlciB7DQogICAgY29sb3I6ICMwMDg0QjQgIWltcG9ydGFudDsNCiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQp9DQoudHAtY2FwdGlvbi5UZWNoSm91cm5hbC1CdXR0b24sDQouVGVjaEpvdXJuYWwtQnV0dG9uIHsNCiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxLjAwKTsNCiAgICBmb250LXNpemU6IDEzcHg7DQogICAgbGluZS1oZWlnaHQ6IDQwcHg7DQogICAgZm9udC13ZWlnaHQ6IDkwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IFJhbGV3YXk7DQogICAgcGFkZGluZzogMXB4IDMwcHggMXB4IDMwcHg7DQogICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzgsIDAsIDI1NSwgMS4wMCk7DQogICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIGJvcmRlci1zdHlsZTogc29saWQ7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMHB4IDBweCAwcHggMHB4Ow0KICAgIGxldHRlci1zcGFjaW5nOiAzcHgNCn0NCi50cC1jYXB0aW9uLlRlY2hKb3VybmFsLUJ1dHRvbjpob3ZlciwNCi5UZWNoSm91cm5hbC1CdXR0b246aG92ZXIgew0KICAgIGNvbG9yOiByZ2JhKDAsIDAsIDAsIDEuMDApOw0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAxLjAwKTsNCiAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggMHB4IDBweDsNCiAgICBjdXJzb3I6IHBvaW50ZXINCn0NCi50cC1jYXB0aW9uLlRlY2hKb3VybmFsLUJpZywNCi5UZWNoSm91cm5hbC1CaWcgew0KICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEuMDApOw0KICAgIGZvbnQtc2l6ZTogMTIwcHg7DQogICAgbGluZS1oZWlnaHQ6IDEyMHB4Ow0KICAgIGZvbnQtd2VpZ2h0OiA5MDA7DQogICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgIGZvbnQtZmFtaWx5OiBSYWxld2F5Ow0KICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgbGV0dGVyLXNwYWNpbmc6IDBweA0KfQ0KLnJldl9zbGlkZXIgew0KICAgIG92ZXJmbG93OiBoaWRkZW47DQp9DQouZWZmZWN0X2xheWVyIHsNCiAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgdG9wOiAwcHg7DQogICAgbGVmdDogMHB4Ow0KICAgIHdpZHRoOiAxMDAlOw0KICAgIGhlaWdodDogMTAwJTsNCn0NCg0KLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6dmlzaXRlZCB7DQogICAgICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6aG92ZXIgew0KICAgICAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgICNtZW51X2ZvcmNlZnVsbHdpZHRoIHsNCiAgICAgICAgei1pbmRleDogNTAwMDsNCiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7DQogICAgICAgIHRvcDogMHB4Ow0KICAgICAgICBsZWZ0OiAwcHg7DQogICAgICAgIHdpZHRoOiAxMDAlDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1NXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNjVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stTGluaywNCiAgICAuRnVsbFNpdGVCbG9jay1MaW5rIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDI1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1MaW5rOmhvdmVyLA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbms6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICBjdXJzb3I6IHBvaW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uLA0KICAgIC5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b24gew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxcHggMXB4IDFweCAxcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1NXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNjVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stTGluaywNCiAgICAuRnVsbFNpdGVCbG9jay1MaW5rIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDI1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1MaW5rOmhvdmVyLA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbms6aG92ZXIgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICBjdXJzb3I6IHBvaW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uLA0KICAgIC5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b24gew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzJweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogUm9ib3RvOw0KICAgICAgICBwYWRkaW5nOiAxcHggMXB4IDFweCAxcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMTUwLCAyNTUsIDEuMDApOw0KICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkOw0KICAgICAgICBib3JkZXItd2lkdGg6IDFweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAzMHB4IDMwcHggMzBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiA1NXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNjVweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUsDQogICAgLkZ1bGxTaXRlQmxvY2stU3ViVGl0bGUgew0KICAgICAgICBjb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMzRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbiwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMXB4IDFweCAxcHggMXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b246aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogNTVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDY1cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUxpbmssDQogICAgLkZ1bGxTaXRlQmxvY2stTGluayB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgZm9udC1zaXplOiAyNXB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stTGluazpob3ZlciwNCiAgICAuRnVsbFNpdGVCbG9jay1MaW5rOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC50cC1jYXB0aW9uLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbiwNCiAgICAuRnVsbFNpdGVCbG9jay1Eb3duQnV0dG9uIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IFJvYm90bzsNCiAgICAgICAgcGFkZGluZzogMXB4IDFweCAxcHggMXB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogcmdiYSg1MSwgNTEsIDUxLCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLURvd25CdXR0b246aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stRG93bkJ1dHRvbjpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDMwcHggMzBweCAzMHB4IDMwcHg7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcg0KICAgIH0NCiAgICAucmV2X3NsaWRlciB7DQogICAgICAgIG92ZXJmbG93OiBoaWRkZW47DQogICAgfQ0KICAgIC5lZmZlY3RfbGF5ZXIgew0KICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7DQogICAgICAgIHRvcDogMHB4Ow0KICAgICAgICBsZWZ0OiAwcHg7DQogICAgICAgIHdpZHRoOiAxMDAlOw0KICAgICAgICBoZWlnaHQ6IDEwMCU7DQogICAgfQ0KICAgIC5neWdlcyAudHAtdGh1bWIgew0KICAgICAgICBvcGFjaXR5OiAxDQogICAgfQ0KICAgIC5neWdlcyAudHAtdGh1bWItaW1nLXdyYXAgew0KICAgICAgICBwYWRkaW5nOiAzcHg7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yNSk7DQogICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsNCiAgICAgICAgd2lkdGg6IDEwMCU7DQogICAgICAgIGhlaWdodDogMTAwJTsNCiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOw0KICAgICAgICBtYXJnaW46IDBweDsNCiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDsNCiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3M7DQogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3M7DQogICAgfQ0KICAgIC5neWdlcyAudHAtdGh1bWItaW1hZ2Ugew0KICAgICAgICBwYWRkaW5nOiAzcHg7DQogICAgICAgIGRpc3BsYXk6IGJsb2NrOw0KICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94Ow0KICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7DQogICAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KICAgICAgICAtbW96LWJveC1zaGFkb3c6IGluc2V0IDVweCA1cHggMTBweCAwcHggcmdiYSgwLCAwLCAwLCAwLjI1KTsNCiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgNXB4IDVweCAxMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpOw0KICAgIH0NCiAgICAuZ3lnZXMgLnRwLXRodW1iOmhvdmVyIC50cC10aHVtYi1pbWctd3JhcCwNCiAgICAuZ3lnZXMgLnRwLXRodW1iLnNlbGVjdGVkIC50cC10aHVtYi1pbWctd3JhcCB7DQogICAgICAgIGJhY2tncm91bmQ6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTsNCiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChsZWZ0IHRvcCwgbGVmdCBib3R0b20sIGNvbG9yLXN0b3AoMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkpLCBjb2xvci1zdG9wKDEwMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMSkpKTsNCiAgICAgICAgYmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpOw0KICAgICAgICBiYWNrZ3JvdW5kOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpIDEwMCUpOw0KICAgICAgICBiYWNrZ3JvdW5kOiAtbXMtbGluZWFyLWdyYWRpZW50KHRvcCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTsNCiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAxKSAxMDAlKTsNCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1UaXRsZSwNCiAgICAuRnVsbFNpdGVCbG9jay1UaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDU1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiA2NXB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1TdWJUaXRsZSwNCiAgICAuRnVsbFNpdGVCbG9jay1TdWJUaXRsZSB7DQogICAgICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDI1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAzNHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXINCiAgICB9DQogICAgLnRwLWNhcHRpb24uRnVsbFNpdGVCbG9jay1MaW5rLA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbmsgew0KICAgICAgICBjb2xvcjogcmdiYSgwLCAxNTAsIDI1NSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUxpbms6aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stTGluazpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDUxLCA1MSwgNTEsIDEuMDApOw0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIGN1cnNvcjogcG9pbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUZvb3RlckxpbmssDQogICAgLkZ1bGxTaXRlQmxvY2stRm9vdGVyTGluayB7DQogICAgICAgIGNvbG9yOiByZ2JhKDg1LCA4NSwgODUsIDEuMDApOw0KICAgICAgICBmb250LXNpemU6IDE1cHg7DQogICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4Ow0KICAgICAgICBmb250LXdlaWdodDogMzAwOw0KICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgICAgIGZvbnQtZmFtaWx5OiBMYXRvOw0KICAgICAgICBwYWRkaW5nOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1hbGlnbjogbGVmdA0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUZvb3Rlckxpbms6aG92ZXIsDQogICAgLkZ1bGxTaXRlQmxvY2stRm9vdGVyTGluazpob3ZlciB7DQogICAgICAgIGNvbG9yOiByZ2JhKDAsIDE1MCwgMjU1LCAxLjAwKTsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lOw0KICAgICAgICBib3JkZXItd2lkdGg6IDBweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgICAgICBjdXJzb3I6IHBvaW50ZXINCiAgICB9DQogICAgLmZiLXNoYXJlLWJ1dHRvbi5mYl9pZnJhbWVfd2lkZ2V0IGlmcmFtZSB7DQogICAgICAgIHdpZHRoOiAxMTVweCFpbXBvcnRhbnQ7DQogICAgfQ0KICAgICN0cC1zb2NpYWx3cmFwcGVyIHsNCiAgICAgICAgb3BhY2l0eTogMDsNCiAgICB9DQoNCiAgICAgICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGEsDQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6dmlzaXRlZCB7DQogICAgICAgIGNvbG9yOiAjMDA4NEI0ICFpbXBvcnRhbnQNCiAgICB9DQogICAgLnRwLWNhcHRpb24uVHdpdHRlci1Db250ZW50IGE6aG92ZXIgew0KICAgICAgICBjb2xvcjogIzAwODRCNCAhaW1wb3J0YW50Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSAhaW1wb3J0YW50DQogICAgfQ0KICAgICNtZW51X2ZvcmNlZnVsbHdpZHRoIHsNCiAgICAgICAgei1pbmRleDogNTAwMDsNCiAgICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7DQogICAgICAgIHRvcDogMHB4Ow0KICAgICAgICBsZWZ0OiAwcHg7DQogICAgICAgIHdpZHRoOiAxMDAlDQogICAgfQ0KICAgICN0cC1tZW51Ymcgew0KICAgICAgICBiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC43NSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7DQogICAgICAgIC8qIEZGMy42LTE1ICovDQogICAgICAgIA0KICAgICAgICBiYWNrZ3JvdW5kOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIHJnYmEoMCwgMCwgMCwgMC43NSkgMCUsIHJnYmEoMCwgMCwgMCwgMCkgMTAwJSk7DQogICAgICAgIC8qIENocm9tZTEwLTI1LFNhZmFyaTUuMS02ICovDQogICAgICAgIA0KICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDAsIDAsIDAsIDAuNzUpIDAlLCByZ2JhKDAsIDAsIDAsIDApIDEwMCUpOw0KICAgICAgICAvKiBXM0MsIElFMTArLCBGRjE2KywgQ2hyb21lMjYrLCBPcGVyYTEyKywgU2FmYXJpNysgKi8NCiAgICAgICAgDQogICAgICAgIGZpbHRlcjogcHJvZ2lkOiBEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudCggc3RhcnRDb2xvcnN0cj0nI2Q5MDAwMDAwJywgZW5kQ29sb3JzdHI9JyMwMDAwMDAwMCcsIEdyYWRpZW50VHlwZT0wKTsNCiAgICAgICAgLyogSUU2LTkgKi8NCiAgICB9DQogICAgI21jX2VtYmVkX3NpZ251cCBpbnB1dFt0eXBlPSJlbWFpbCJdIHsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJMYXRvIiwgc2Fucy1zZXJpZjsNCiAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICBmb250LXdlaWdodDogNDAwOw0KICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOw0KICAgICAgICBjb2xvcjogIzg4OCAhaW1wb3J0YW50Ow0KICAgICAgICBsaW5lLWhlaWdodDogNDZweDsNCiAgICAgICAgcGFkZGluZzogMCAyMHB4Ow0KICAgICAgICBjdXJzb3I6IHRleHQ7DQogICAgICAgIGJvcmRlcjogMDsNCiAgICAgICAgd2lkdGg6IDQwMHB4Ow0KICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHg7DQogICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41czsNCiAgICAgICAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgICAgICAtbXMtdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzOw0KICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7DQogICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDNweDsNCiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgIH0NCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl06Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIgew0KICAgICAgICBjb2xvcjogIzg4OCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl06Oi1tb3otcGxhY2Vob2xkZXIgew0KICAgICAgICBjb2xvcjogIzg4OCAhaW1wb3J0YW50Ow0KICAgIH0NCiAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl06LW1zLWlucHV0LXBsYWNlaG9sZGVyIHsNCiAgICAgICAgY29sb3I6ICM4ODggIWltcG9ydGFudDsNCiAgICB9DQogICAgI21jX2VtYmVkX3NpZ251cCBpbnB1dFt0eXBlPSJlbWFpbCJdOmZvY3VzIHsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsNCiAgICAgICAgY29sb3I6ICM0NTQ1NDU7DQogICAgfQ0KICAgICNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWMtZW1iZWRkZWQtc3Vic2NyaWJlLA0KICAgICNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWMtZW1iZWRkZWQtc3Vic2NyaWJlOmZvY3VzIHsNCiAgICAgICAgZm9udC1mYW1pbHk6ICJMYXRvIiwgc2Fucy1zZXJpZjsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7DQogICAgICAgIGZvbnQtc2l6ZTogMTZweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsNCiAgICAgICAgcGFkZGluZzogMCAzMHB4Ow0KICAgICAgICBib3JkZXI6IDA7DQogICAgICAgIGJhY2tncm91bmQ6ICNmMDQ1MzE7DQogICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOw0KICAgICAgICBjb2xvcjogI2ZmZjsNCiAgICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAzcHg7DQogICAgICAgIC1tb3otYm9yZGVyLXJhZGl1czogM3B4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7DQogICAgfQ0KICAgICNtY19lbWJlZF9zaWdudXAgaW5wdXQjbWMtZW1iZWRkZWQtc3Vic2NyaWJlOmhvdmVyIHsNCiAgICAgICAgYmFja2dyb3VuZDogI2UwMzcyNzsNCiAgICB9DQogICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgew0KICAgICAgICAjbWNfZW1iZWRfc2lnbnVwIGlucHV0W3R5cGU9ImVtYWlsIl0gew0KICAgICAgICAgICAgd2lkdGg6IDI2MHB4Ow0KICAgICAgICB9DQogICAgfQ0KICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDgwcHgpIHsNCiAgICAgICAgI21jX2VtYmVkX3NpZ251cCBpbnB1dFt0eXBlPSJlbWFpbCJdIHsNCiAgICAgICAgICAgIHdpZHRoOiAxNjBweDsNCiAgICAgICAgfQ0KICAgIH0NCiAgICAjcmV2X3NsaWRlcl8xNjdfNiAudXJhbnVzLnRwYXJyb3dzIHsNCiAgICAgICAgd2lkdGg6IDUwcHg7DQogICAgICAgIGhlaWdodDogNTBweDsNCiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwKTsNCiAgICB9DQogICAgI3Jldl9zbGlkZXJfMTY3XzYgLnVyYW51cy50cGFycm93czpiZWZvcmUgew0KICAgICAgICB3aWR0aDogNTBweDsNCiAgICAgICAgaGVpZ2h0OiA1MHB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogNTBweDsNCiAgICAgICAgZm9udC1zaXplOiA0MHB4Ow0KICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zczsNCiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zczsNCiAgICB9DQogICAgI3Jldl9zbGlkZXJfMTY3XzYgLnVyYW51cy50cGFycm93czpob3ZlcjpiZWZvcmUgew0KICAgICAgICBvcGFjaXR5OiAwLjc1Ow0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlLA0KICAgIC5GdWxsU2l0ZUJsb2NrLVN1YlRpdGxlIHsNCiAgICAgICAgY29sb3I6IHJnYmEoNTEsIDUxLCA1MSwgMS4wMCk7DQogICAgICAgIGZvbnQtc2l6ZTogMjVweDsNCiAgICAgICAgbGluZS1oZWlnaHQ6IDM0cHg7DQogICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7DQogICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsNCiAgICAgICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgICAgIHBhZGRpbmc6IDAgMCAwIDBweDsNCiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOw0KICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHg7DQogICAgICAgIHRleHQtYWxpZ246IGNlbnRlcg0KICAgIH0NCiAgICAudHAtY2FwdGlvbi5QYXJhbGxheFdlYnNpdGUtRm9vdGVySXRlbSwNCiAgICAuUGFyYWxsYXhXZWJzaXRlLUZvb3Rlckl0ZW0gew0KICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUwKTsNCiAgICAgICAgZm9udC1zaXplOiAxNnB4Ow0KICAgICAgICBsaW5lLWhlaWdodDogMjRweDsNCiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsNCiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOw0KICAgICAgICBmb250LWZhbWlseTogTGF0bzsNCiAgICAgICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7DQogICAgICAgIHRleHQtYWxpZ246IGxlZnQ7DQogICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50Ow0KICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgICAgIGJvcmRlci13aWR0aDogMHB4Ow0KICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwcHgNCiAgICB9DQogICAgLnRwLWNhcHRpb24uUGFyYWxsYXhXZWJzaXRlLUZvb3Rlckl0ZW06aG92ZXIsDQogICAgLlBhcmFsbGF4V2Vic2l0ZS1Gb290ZXJJdGVtOmhvdmVyIHsNCiAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMS4wMCk7DQogICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTsNCiAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDBweDsNCiAgICAgICAgY3Vyc29yOiBwb2ludGVyDQogICAgfQ0KICAgIC5mYi1zaGFyZS1idXR0b24uZmJfaWZyYW1lX3dpZGdldCBpZnJhbWUgew0KICAgICAgICB3aWR0aDogMTE1cHghaW1wb3J0YW50Ow0KICAgIH0NCiAgICBpZnJhbWUudHdpdHRlci1zaGFyZS1idXR0b24gew0KICAgICAgICBkaXNwbGF5OiBub25lOw0KICAgIH0NCiAgICAuZmItc2hhcmUtYnV0dG9uLmZiX2lmcmFtZV93aWRnZXQgaWZyYW1lIHsNCiAgICAgICAgZGlzcGxheTogbm9uZTsNCiAgICB9DQoNCiAgICAudHAtY2FwdGlvbi5GdWxsU2l0ZUJsb2NrLUxpbmssIA0KICAgIC5GdWxsU2l0ZUJsb2NrLUxpbmsgew0KICAgIGNvbG9yOiByZ2JhKDAsMTUwLDI1NSwxLjAwKTsNCiAgICBmb250LXNpemU6IDI1cHg7DQogICAgbGluZS1oZWlnaHQ6IDI0cHg7DQogICAgZm9udC13ZWlnaHQ6IDMwMDsNCiAgICBmb250LXN0eWxlOiBub3JtYWw7DQogICAgZm9udC1mYW1pbHk6IExhdG87DQogICAgcGFkZGluZzogMCAwIDAgMHB4Ow0KICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsNCiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7DQogICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7DQogICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDsNCiAgICBib3JkZXItc3R5bGU6IG5vbmU7DQogICAgYm9yZGVyLXdpZHRoOiAwcHg7DQogICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMHB4Ow0KICAgIHRleHQtYWxpZ246IGNlbnRlcjsNCn0="}},"time_used":327,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":315,"receive":12,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"frxoptmarkt.com/css/menuzord-skins/menuzord-boxed.css","fqdn":"frxoptmarkt.com","domain":"frxoptmarkt.com","tld":"com"},"ip":{"addr":"104.225.130.229","port":443,"asn":395092,"as":"SHOCK-1","country":"United States","country_code":"US"},"is_navigation_request":false,"resource_type":"stylesheet","requested_by":"https://frxoptmarkt.com/","date":"2026-07-27T06:33:09.586Z","timestamp":1785133989586,"http_version":"HTTP/3","security_state":"secure","security_info":{"cipher_suite":"TLS_AES_128_GCM_SHA256","key_group_name":"x25519","signature_name":"RSA-PSS-SHA256","protocol":"TLSv1.3","cert":{"subject":{"commonName":"*.frxoptmarkt.com","organization":""},"issuer":{"commonName":"YR1","organization":"Let's Encrypt"},"validity":{"start":"Wed, 01 Jul 2026 04:07:27 GMT","end":"Tue, 29 Sep 2026 04:07:26 GMT"},"fingerprint":{"sha1":"DF:DF:81:7E:E6:60:9B:BD:64:95:05:89:16:E0:1D:E9:F1:8F:20:A5","sha256":"E2:3B:84:20:02:C2:7B:C2:15:75:D9:F1:DB:7A:60:69:F7:BC:AA:B5:F6:1A:0B:60:85:B7:1A:E0:B6:63:EA:66"}}},"request":{"raw":"GET /css/menuzord-skins/menuzord-boxed.css HTTP/1.1\r\nHost: frxoptmarkt.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\nSec-GPC: 1\r\nConnection: keep-alive\r\nReferer: https://frxoptmarkt.com/\r\nSec-Fetch-Dest: style\r\nSec-Fetch-Mode: no-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/3 200 \r\ncontent-type: text/css\r\nlast-modified: Sun, 22 Sep 2019 23:12:06 GMT\r\naccept-ranges: bytes\r\ncontent-encoding: br\r\nvary: Accept-Encoding\r\ncontent-length: 498\r\ndate: Mon, 27 Jul 2026 06:33:09 GMT\r\nserver: LiteSpeed\r\n\r\n","headers":null,"cookies":null,"status_code":"200","status_text":"","fingerprints":[{"name":"LiteSpeed","description":"LiteSpeed is a high-scalability web server.","website":"https://litespeedtech.com","common_platform_enumeration":"cpe:2.3:a:litespeedtech:litespeed_web_server:*:*:*:*:*:*:*:*","icon":"LiteSpeed.svg","categories":["Web servers"]}],"data":{"size":2402,"size_decoded":727,"mime_type":"text/css","magic":"ASCII text, with CRLF line terminators","md5":"22fdaaa83d95c11b94dcc4870c4f0c5d","sha1":"aacf43c3fb9720e7584e97d925ce3fc5b44a3b37","sha256":"cd6b3a156f5bc87405971d88177da8e1736ec1d9fc75c41edf4cae913ae8b91f","sha512":"4932f554c7925d5a8d90592c94149bd41b8fc00b2bbd491b531926beb6991317d0044897269fbd0626204ce7721a9a7c23606a9787f54ad0f4d3dff0612fcadc","ssdeep":"","tlshash":"64419281f6c9b43922ade8d0017702f05bb7817cce0df9a47ad2449ea744674dde3e94","first_seen":"2023-09-25T11:48:58Z","last_seen":"2026-07-27T06:37:47.019561Z","times_seen":25,"resource_available":false,"data":"LyoNCkJveGVkIFNraW4NCiovDQoNCi8qIE1lbnUgaXRlbXMgKi8NCi5tZW51em9yZC1tZW51ID4gbGl7DQoJcGFkZGluZzogMThweCAwOw0KfQ0KLm1lbnV6b3JkLW1lbnUgPiBsaSA+IGF7DQoJcGFkZGluZzogOHB4IDE2cHg7DQp9DQoNCi8qIEFjdGl2ZS9ob3ZlciBzdGF0ZSAobWVudSBpdGVtcykgKi8NCi5tZW51em9yZC1tZW51ID4gbGkuYWN0aXZlID4gYSwNCi5tZW51em9yZC1tZW51ID4gbGk6aG92ZXIgPiBhew0KCWJhY2tncm91bmQ6ICMzMzM7DQoJY29sb3I6ICNmZmY7DQp9DQoNCi8qIERyb3Bkb3duICovDQoubWVudXpvcmQtbWVudSB1bC5kcm9wZG93bnsNCgl0b3A6IDcxcHg7DQp9DQoubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaSB1bC5kcm9wZG93bnsNCiAgICB0b3A6IDA7DQp9DQoNCi8qIERyb3Bkb3duIGl0ZW1zICovDQoubWVudXpvcmQgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGk6aG92ZXIgPiBhew0KCWJhY2tncm91bmQ6ICMzMzM7DQoJY29sb3I6ICNmZmY7DQp9DQoNCi8qIE1lZ2FtZW51ICovDQoubWVudXpvcmQtbWVudSA+IGxpID4gLm1lZ2FtZW51ew0KCXRvcDogNzFweDsNCn0NCg0KLyogU2VhcmNoIEZpZWxkICovDQoubWVudXpvcmQtbWVudSA+IGxpLnNlYXJjaCBmb3Jtew0KCXBhZGRpbmc6IDJweCAxNnB4Ow0KfQ0KDQovKiBDb2xvciBzY2hlbWVzICovDQovKiBibHVlICovDQoubWVudXpvcmQuYmx1ZSAubWVudXpvcmQtbWVudSA+IGxpLmFjdGl2ZSA+IGEsIA0KLm1lbnV6b3JkLmJsdWUgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLmJsdWUgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGk6aG92ZXIgPiBheyANCgliYWNrZ3JvdW5kOiAjNDVjNGU5Ow0KCWNvbG9yOiAjZmZmOw0KfQ0KLyogZ3JlZW4gKi8NCi5tZW51em9yZC5ncmVlbiAubWVudXpvcmQtbWVudSA+IGxpLmFjdGl2ZSA+IGEsIA0KLm1lbnV6b3JkLmdyZWVuIC5tZW51em9yZC1tZW51ID4gbGk6aG92ZXIgPiBhLCANCi5tZW51em9yZC5ncmVlbiAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IA0KCWJhY2tncm91bmQ6ICM0OENGQUQ7DQoJY29sb3I6ICNmZmY7DQp9DQovKiByZWQgKi8NCi5tZW51em9yZC5yZWQgLm1lbnV6b3JkLW1lbnUgPiBsaS5hY3RpdmUgPiBhLCANCi5tZW51em9yZC5yZWQgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLnJlZCAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IA0KCWJhY2tncm91bmQ6ICNmMjE4NGY7DQoJY29sb3I6ICNmZmY7DQp9DQovKiBvcmFuZ2UgKi8NCi5tZW51em9yZC5vcmFuZ2UgLm1lbnV6b3JkLW1lbnUgPiBsaS5hY3RpdmUgPiBhLCANCi5tZW51em9yZC5vcmFuZ2UgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLm9yYW5nZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IA0KCWJhY2tncm91bmQ6ICNmZjg1M2Y7DQoJY29sb3I6ICNmZmY7DQp9DQovKiB5ZWxsb3cgKi8NCi5tZW51em9yZC55ZWxsb3cgLm1lbnV6b3JkLW1lbnUgPiBsaS5hY3RpdmUgPiBhLCANCi5tZW51em9yZC55ZWxsb3cgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLnllbGxvdyAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IA0KCWJhY2tncm91bmQ6ICMwNzhiMWU7DQoJY29sb3I6ICNmZmY7DQp9DQovKiBwdXJwbGUgKi8NCi5tZW51em9yZC5wdXJwbGUgLm1lbnV6b3JkLW1lbnUgPiBsaS5hY3RpdmUgPiBhLCANCi5tZW51em9yZC5wdXJwbGUgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLnB1cnBsZSAubWVudXpvcmQtbWVudSB1bC5kcm9wZG93biBsaTpob3ZlciA+IGF7IA0KCWJhY2tncm91bmQ6ICNBQzkyRUM7DQoJY29sb3I6ICNmZmY7DQp9DQovKiBwaW5rICovDQoubWVudXpvcmQucGluayAubWVudXpvcmQtbWVudSA+IGxpLmFjdGl2ZSA+IGEsIA0KLm1lbnV6b3JkLnBpbmsgLm1lbnV6b3JkLW1lbnUgPiBsaTpob3ZlciA+IGEsIA0KLm1lbnV6b3JkLnBpbmsgLm1lbnV6b3JkLW1lbnUgdWwuZHJvcGRvd24gbGk6aG92ZXIgPiBheyANCgliYWNrZ3JvdW5kOiAjRUM4N0MwOw0KCWNvbG9yOiAjZmZmOw0KfQ0KDQovKiBNb2JpbGUgbW9kZSAoUmVzcG9uc2l2ZSBtb2RlKSAqLw0KQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KXsNCgkvKiBNZW51IGl0ZW1zICovDQoJLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgPiBsaXsNCgkJcGFkZGluZzogMDsNCgl9DQoJLm1lbnV6b3JkLXJlc3BvbnNpdmUgLm1lbnV6b3JkLW1lbnUgPiBsaSA+IGF7DQoJCXBhZGRpbmc6IDEycHggMjBweCAhaW1wb3J0YW50Ow0KCX0NCn0="}},"time_used":275,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":275,"receive":0,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}},{"url":{"schema":"https","addr":"fonts.gstatic.com/s/ptserif/v19/EJRSQgYoZZY2vCFuvAnt66qSVys.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://frxoptmarkt.com/","date":"2026-07-27T06:33:10.694Z","timestamp":1785133990694,"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/ptserif/v19/EJRSQgYoZZY2vCFuvAnt66qSVys.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://frxoptmarkt.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: 29588\r\nx-content-type-options: nosniff\r\nserver: sffe\r\nx-xss-protection: 0\r\ndate: Wed, 22 Jul 2026 13:10:18 GMT\r\nexpires: Thu, 22 Jul 2027 13:10:18 GMT\r\ncache-control: public, max-age=31536000\r\nlast-modified: Thu, 04 Sep 2025 17:42:06 GMT\r\ncontent-type: font/woff2\r\nage: 408172\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":29588,"size_decoded":30401,"mime_type":"font/woff2","magic":"Web Open Font Format (Version 2), TrueType, length 29588, version 1.0","md5":"cd87c62c9c9c1728e4ce6069e20b1104","sha1":"0480db0094dec698acf12620a246bd9134766119","sha256":"bf23a7a4eebedbb87d4084a69496b29815914a18e339a00f5dc73a03c9c9328f","sha512":"e178b41b16c3d5f417530f28a9a6ba23d7bee8dcf9325ffa06a03fe0edd68654f1f801181c296bc7d81046fa4e8fe2b4f83e8d9c4a3990de397fc390e1c326d1","ssdeep":"768:qtH/eucpHv7uQbBXaNQyIlxW1cfu0Q0bdKSYJ0ZTPIt4eMz:qBeum9B23aTfu0DdLjIt6","tlshash":"fad2e1adb117b13e4c2cc6b66b1b9d65629026ce619ffad031e88134f5f61b11e11c64","first_seen":"2023-05-03T04:45:14Z","last_seen":"2026-08-04T10:00:25.28353Z","times_seen":11075,"resource_available":false,"data":"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"}},"time_used":18,"timings":{"blocked":-1,"dns":0,"connect":0,"send":0,"wait":16,"receive":2,"ssl":0},"alerts":{"ids":null,"analyzer":null,"urlquery":null}}]}
